ES2647039T3 - Técnicas para realizar actualizaciones graduales - Google Patents
Técnicas para realizar actualizaciones graduales Download PDFInfo
- Publication number
- ES2647039T3 ES2647039T3 ES07794562.4T ES07794562T ES2647039T3 ES 2647039 T3 ES2647039 T3 ES 2647039T3 ES 07794562 T ES07794562 T ES 07794562T ES 2647039 T3 ES2647039 T3 ES 2647039T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- version
- segment
- domain name
- application program
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
- G06F8/658—Incremental updates; Differential updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Un procedimiento, que comprende: instalar (202) una nueva versión de un programa de aplicación; convertir (204) un conjunto de datos para una versión previa de dicho programa de aplicación a un esquema de datos usado por dicha nueva versión un segmento de datos cada vez, en el que dicho conjunto de datos comprende una pluralidad de segmentos de datos, siendo cada segmento de datos un subconjunto discreto de dicho conjunto de datos, y en el que dicha conversión comprende convertir un primer segmento de datos de dicha pluralidad de segmentos de datos a dicho esquema de datos; proporcionar acceso a un segundo segmento de datos de dicha pluralidad de segmentos de datos mientras convierte dicho primer segmento de datos; evitar el acceso a dicho primer segmento de datos durante dicha conversión; identificar un nombre de dominio para dicha versión previa; crear un nombre de dominio temporal para dicha versión previa; redirigir las solicitudes de acceso con dicho nombre de dominio a dicho nombre de dominio temporal; y detener la redirección y usar dicho nombre de dominio para dicha nueva versión una vez que se ha convertido dicho conjunto de datos.
Description
descripcion
Tecnicas para realizar actualizaciones graduales Antecedentes
Las aplicaciones de software periodicamente tienen nuevas liberaciones de version con caractensticas mejoradas.
5 Actualizar una aplicacion de software a una nueva version puede implicar convertir datos de usuario desde un esquema de datos existente a un nuevo esquema de datos usado por la nueva version. En algunos casos, el volumen de datos de usuario puede ser tan grande que las operaciones de actualizacion pueden provocar que un dispositivo o red no esten disponibles durante periodos de tiempo extendidos. Por ejemplo, una aplicacion de software basada en servidor puede tener datos de usuario en el orden de terabytes, que puede tomar dfas o incluso 10 semanas para actualizar a un nuevo esquema de datos. Los sistemas empresariales de mision cntica o sistemas de alta disponibilidad pueden hallar inaceptables tales periodos extendidos de tiempo de inactividad. En consecuencia, las mejoras para actualizar las tecnicas pueden ser necesarias para resolver esos y otros problemas. El documento WO 20o4/O49115 A2 desvela un sistema de actualizacion para facilitar la actualizacion de software y conversiones de datos en un dispositivo electronico. El firmware/software se actualiza a traves del uso de informacion de 15 actualizacion recuperada desde un servidor. El servidor soporta conversion de datos asociados con un firmware/software actualizado. Los datos asociados con el firmware/software se convierten a una forma compatible con una version actualizada del firmware/software. Se recupera una lista de utilidades de convertidor y cada una de las utilidades de convertidor se ejecuta en el mismo orden en el que se ejecutan las aplicaciones de software, si fuera necesario.
20 Es por lo tanto el objeto de la presente invencion proporcionar un procedimiento mejorado para instalar una nueva version de un programa de aplicacion y un correspondiente medio y aparato de almacenamiento legible por ordenador.
Este objeto se resuelve mediante la materia objeto de las reivindicaciones independientes.
Se definen realizaciones preferidas en las reivindicaciones dependientes.
25 Sumario
Este resumen se proporciona para introducir una seleccion de conceptos de una forma simplificada que se describen a continuacion en la descripcion detallada. Este resumen no se pretende para identificar caractensticas clave o caractensticas esenciales de la materia objeto reivindicada, ni se pretende que se use para limitar el alcance de la materia objeto reivindicada.
30 Diversas realizaciones pueden dirigirse en general a tecnicas de actualizacion para actualizar gradualmente una aplicacion de software a una nueva version de la aplicacion de software. En algunas realizaciones, una tecnica de actualizacion gradual puede usarse para actualizar porciones de un programa de aplicacion y/o el conjunto de datos para el programa de aplicacion en etapas. En una realizacion, por ejemplo, un programa instalador puede disponerse para instalar una nueva version de un programa de aplicacion en el mismo o plataforma de hardware 35 similar como una version previa del programa de aplicacion. Un motor de actualizacion gradual puede disponerse para convertir un conjunto de datos para una version previa del programa de aplicacion a un nuevo esquema de datos usado por la nueva version del programa de aplicacion. Mas particularmente, el motor de actualizacion gradual
puede convertir el conjunto de datos en fases un segmento de datos cada vez. De esta manera, un cliente puede
acceder a otros segmentos de datos de la version previa durante operaciones de conversion, concediendo de esta 40 manera uso limitado del programa de aplicacion en lugar de hacer al programa de aplicacion completamente no disponible. Se describen y reivindican otras realizaciones.
Pibuios
La Figura 1 ilustra una realizacion ejemplar de una red.
La Figura 2 ilustra una realizacion ejemplar de un primer flujo logico.
45 La Figura 3 ilustra una realizacion ejemplar de un segundo flujo logico.
La Figura 4 ilustra una realizacion ejemplar de un tercer flujo logico.
La Figura 5 ilustra una realizacion ejemplar de un cuarto flujo logico.
Descripcion detallada
Diversas realizaciones pueden dirigirse en general a tecnicas de actualizacion para aplicaciones de software. En 50 particular, diversas realizaciones pueden dirigirse a tecnicas de actualizacion gradual donde un programa de aplicacion puede actualizarse en etapas para reducir el tiempo de interrupcion y el impacto potencial a clientes y/o usuarios. Esto puede ser particularmente importante para redes empresariales a grande escala que usan programas de aplicacion de web basados en servidor, tales como aquellos usados para proporcionar servicios de hospedaje web, por ejemplo. Adicionalmente, las tecnicas de actualizacion gradual pueden permitir que los clientes continuen 55 accediendo a porciones de un programa de aplicacion de web basado en servidor durante el procedimiento de
5
10
15
20
25
30
35
40
45
50
55
60
actualizacion. Tal acceso limitado puede ser particularmente importante para aplicaciones de mision cntica y de alta disponibilidad. Como resultado, los administradores de red pueden experimentar tareas y gastos reducidos cuando se actualizan aplicaciones de software para un dispositivo o red, y los usuarios pueden experimentar una transicion mas sin interrupciones a aplicaciones y servicios actualizados.
La Figura 1 ilustra una realizacion ejemplar de una red. La Figura 1 ilustra un diagrama de bloques para una red 100. La red 100 puede representar una arquitectura de red general adecuada para implementar diversas realizaciones. La red 100 puede comprender multiples elementos. Un elemento puede comprender cualquier estructura ffsica o logica dispuesta para realizar ciertas operaciones. Cada elemento puede implementarse como hardware, software o cualquier combinacion de los mismos, segun se desee para un conjunto dado de parametros de diseno o restricciones de realizacion. Ejemplos de elementos de hardware pueden incluir procesadores, microprocesadores, circuitos, elementos de circuito (por ejemplo, transistores, resistencias, condensadores, inductores y asf sucesivamente), circuitos integrados, circuitos integrados espedficos de la aplicacion (ASIC), dispositivos logicos programables (PLD), procesadores de senales digitales (dSp), campos de matriz de puertas programables (FPGA), unidades de memoria, puertas logicas, registros, dispositivo de semiconductores, chips, microchips, conjuntos de chips y asf sucesivamente. Ejemplos de software pueden incluir cualesquiera componentes de software, programas, aplicaciones, programas informaticos, programas de aplicacion, programas de sistema, programas de maquina, sistema operativo software, software intermedio, firmware, modulos de software, rutinas, subrutinas, funciones, procedimientos, interfaces, interfaces de software, interfaces de programa de aplicacion (API), conjuntos de instrucciones, codigo de programacion, codigo informatico, segmentos de codigo, segmentos de codigo informatico, palabras, valores, s^bolos o cualquier combinacion de los mismos. Aunque la red 100 como se muestra en la Figura 1 tiene un numero limitado de elementos en una cierta topologfa, puede apreciarse que la red 100 puede incluir mas o menos elementos en topologfas alternas segun se desee para una implementacion dada. Las realizaciones no estan limitadas en este contexto.
Como se muestra en la Figura 1, por ejemplo, la red 100 puede comprender diversos elementos tales como un conjunto 140 informatico, un servidor l5o, una red 160, un equilibrador 170 de carga y dispositivos 180-1-s de cliente. En una realizacion, por ejemplo, el servidor 150 puede implementarse como un servidor web. Un servidor web puede comprender un dispositivo informatico que puede aceptar solicitudes del Protocolo de Transferencia de Hipertexto (HTTP) desde dispositivos cliente (por ejemplo, los clientes 180-1-s y/o dispositivos 122-1-n informaticos) para servir paginas web. Las paginas web son tfpicamente documentos generados usando alguna forma de lenguaje de marcas, tal como el Lenguaje de Marcas de Hipertexto (HTML), el Lenguaje de Marcas Extensible (XML), el Lenguaje de Marcas de Hipertexto Extensible (XHTML), Lenguaje de marcas de MICROSOFT WORD® (WordML) y asf sucesivamente. La red 160 puede comprender una red de paquetes que usa uno o mas Protocolos de Internet, tales como el Protocolo de Control de Transmision y el Protocolo de Internet (TCP/IP). El equilibrador 170 de carga puede comprender un dispositivo para asignar cargas de trabajo a un conjunto de servidores informaticos en red (por ejemplo, el conjunto 140 informatico) de tal manera que los recursos informaticos se usan de una manera eficaz. El equilibrador 170 de carga puede implementarse usando, por ejemplo, un ordenador, un servidor, un servidor virtual, un aparato de red y asf sucesivamente.
En diversas realizaciones, el conjunto 140 informatico puede incluir multiples dispositivos 122-1-n informaticos. Ejemplos de dispositivos 122-1-n informaticos pueden incluir, aunque no estan necesariamente limitados a, un ordenador, un sistema informatico, un subsistema de ordenador, una estacion de trabajo, un terminal, un servidor, un servidor web, un servidor virtual, un ordenador personal (PC), un ordenador de sobremesa, un ordenador portatil, un ordenador ultra-portatil, un ordenador portable, un ordenador de mano, un asistente digital personal (pDa), un dispositivo informatico movil y cualquier otro dispositivo electronico, electromecanico o electrico. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, el conjunto 140 informatico puede implementarse como una granja de servidores, en el que los dispositivos 122-1-n informaticos cada uno representa un servidor, servidor virtual, maquina virtual, ordenador en unica placa (SBC), servidor de tipo cuchilla, servidor web y asf sucesivamente. Una granja de servidores es tfpicamente una coleccion de servidores informaticos normalmente mantenidos por una empresa para conseguir las necesidades de servidor mas alia de la capacidad de una maquina. En ocasiones, las granjas de servidores tendran un servidor primario y un servidor de respaldo asignado a una unica tarea, de modo que en el caso del fallo del servidor primario, un servidor de respaldo toma el control de las funciones del servidor primario. Las granjas de servidores se usan comunmente, por ejemplo, para proporcionar servicios de hospedaje web. Un servicio de hospedaje web es un tipo de servidor de hospedaje de Internet que proporciona a los individuos y organizaciones sistemas en imea para almacenar informacion, imagenes, v^deo, audio, texto, animaciones, peKculas, fotograffas o cualquier otra forma de contenido web accesible mediante la Red Informatica Mundial (WWW o “web”). Los hospedadores web son comparuas que proporcionan espacio en un servidor que poseen para uso por sus clientes as^ como proporcionan conectividad de Internet, tipicamente en un centro de datos. Los hospedadores web pueden proporcionar tambien espacio de centro de datos y conectividad a Internet a servidores que no poseen para que se localicen en su centro de datos.
La Figura 1 ilustra adicionalmente un diagrama de bloques mas detallado del dispositivo 122-1 informatico. El dispositivo 122-1 informatico puede ser representativo de cualesquiera dispositivos 122-1-n informaticos. En su configuracion 106 mas basica, el dispositivo 122-1 informatico tfpicamente incluye al menos una unidad 102 de
5
10
15
20
25
30
35
40
45
50
55
60
procesamiento y la memoria 104. La memoria 104 puede implementarse usando cualquier medio legible por maquina o legible por ordenador que pueda almacenar datos, incluyendo tanto memoria volatil como no volatil. Por ejemplo, la memoria 104 puede incluir memoria de solo lectura (rOm), memoria de acceso aleatorio (RAM), RAM dinamica (DRAM), DRAM de Tasa de Datos Doble (DDRAM), DrAM smcrona (SDRAM), RAM estatica (SRAM), ROM programable (PROM), ROM programable borrable (EPROM), ROM electricamente programable borrable (EEPROM), memoria flash, memoria de polfmeros tal como memoria de polfmero ferroelectrico, memoria ovonica, memoria de cambio de fase o ferroelectrica, memoria de silicio-oxido-nitruro-oxido-silicio (SONOS), tarjetas magneticas u opticas, o cualquier otro tipo de medio adecuado para almacenar informacion. Como se muestra en la Figura 1, la memoria 104 puede almacenar diversos programas de software, tal como uno o mas programas 118 de aplicacion, un motor de actualizacion gradual (GUE) 119, un programa 120 instalador y datos adjuntos.
El dispositivo 122-1 informatico puede tener tambien caractensticas adicionales y/o funcionalidad mas alia de la configuracion 106. Por ejemplo, el dispositivo 122-1 informatico puede incluir el almacenamiento 108 extrafble y el almacenamiento 110 no extrafble, que puede comprender tambien diversos tipos de medio legible por maquina o legible por ordenador como se ha descrito anteriormente. El dispositivo 122-1 informatico puede tener tambien uno o mas dispositivos 114 de entrada tales como un teclado, raton, lapiz, dispositivo de entrada de voz, dispositivo de entrada tactil y as^ sucesivamente. Uno o mas dispositivos 1l6 de salida tales como una pantalla, altavoces, impresora y as^ sucesivamente pueden incluirse tambien en el dispositivo 122-1 informatico asimismo.
El dispositivo 122-1 informatico puede incluir adicionalmente una o mas conexiones 112 de comunicaciones que permiten que el dispositivo i22-1 informatico comunique con otros dispositivos. Las conexiones 112 de comunicaciones pueden incluir diversos tipos de elementos de comunicacion convencionales, tales como una o mas interfaces de comunicaciones, interfaces de red, tarjetas de interfaz de red (NIC), radios, transmisores/receptores inalambricos (transceptores), medio de comunicacion alambrica y/o inalambrica, conectores ffsicos y as^ sucesivamente. El medio de comunicacion tfpicamente incorpora instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos en una serial de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluye cualquier medio de entrega de informacion. La expresion “serial de datos modulada” significa una serial que tiene una o mas de sus caractensticas establecida o cambiada de tal manera para codificar informacion en la serial. A modo de ejemplo, y no como limitacion, medio de comunicacion incluye medio de comunicaciones alambricas y medio de comunicaciones inalambricas. Ejemplos de medio de comunicaciones inalambricas pueden incluir un alambre, cable, pistas metalicas, placas de circuitos impresos (PCB), placas base, tejidos de conmutacion, material de semiconductor, cable de par trenzado, cable coaxial, fibra optica, una serial propagada y asf sucesivamente. Ejemplos de medio de comunicaciones inalambricas pueden incluir medios acusticos, de espectro de radio-frecuencia (RF), infrarrojos y otros inalambricos. Las expresiones medio legibles por maquina y medio legible por ordenador como se usan en el presente documento se pretende que incluyan tanto medio de almacenamiento como medio de comunicaciones.
Cada uno de los dispositivos 122-1-h informaticos puede incluir multiples bases de datos. Como se muestra en detalle con respecto al dispositivo 122-1 informatico, el dispositivo 122-1 informatico puede acoplarse a las bases de datos 124a, 124b, 126a, 126b, 128a y 128b. Cada base de datos puede disponerse para almacenar diversos tipos de datos para el dispositivo 122-1 informatico en general, y los programas 1l8a, 118b de aplicacion en particular. En una realizacion, por ejemplo, las bases de datos 124a, l24b de configuracion pueden almacenar datos de configuracion para los programas 118a, 118b de aplicacion. La base de datos l24a de configuracion pueden almacenar datos de configuracion para una primera version de programa 118 de aplicacion (por ejemplo, el programa 118a de aplicacion), mientras que la base de datos 124b de configuracion puede almacenar un conjunto convertido de datos de configuracion para una segunda version de programa 118 de aplicacion (por ejemplo, el programa 118b de aplicacion). En una realizacion, por ejemplo, las bases de datos 126a, 126b de perfiles de usuarios pueden almacenar datos de busqueda y de perfil de usuario para los programas 118a, 118b de aplicacion. La base de datos 126a de perfiles de usuario puede almacenar datos de busqueda y de perfil de usuario para el programa 118a de aplicacion, mientras que la base de datos 126b de perfiles de usuario puede almacenar un conjunto convertido de datos de configuracion para el programa 118b de aplicacion. En una realizacion, por ejemplo, las bases de datos 128a, 128b de contenido pueden almacenar datos de usuario o datos de contenido para los programas 118a, 118b de aplicacion. La base de datos 128a de contenido puede almacenar datos de contenido para el programa 118a de aplicacion, mientras que la base de datos 128b de contenido puede almacenar un conjunto convertido de datos de contenido para el programa 118b de aplicacion. Otros tipos de datos y bases de datos pueden implementarse con el dispositivo 122-1 informatico, y las realizaciones no estan limitadas en este contexto.
En diversas realizaciones, cada version de programa 118 de aplicacion puede usar esquemas de datos diferentes para los datos de configuracion, busqueda y fecha de perfil de usuario y/o datos de contenido. Un esquema de datos puede ser un modelo para definir diversas caractensticas de datos, tales como un tipo de datos, estructura de datos, formato de datos, contenido, semantica, sintaxis y asf sucesivamente. Diferentes versiones de una aplicacion de software puede usar diferentes esquemas de datos. En consecuencia, los datos almacenados por las diversas bases de datos acopladas al dispositivo 122-1 informatico puede ser necesario que se conviertan entre esquemas de datos diferentes durante cualesquiera operacion de actualizacion. Por ejemplo, las bases de datos 124a, 126a y 128a pueden almacenar datos de acuerdo con un primer esquema de datos adecuado para uso con el programa 118a de aplicacion, mientras que las bases de datos 124b, 126b y 128b pueden almacenar datos convertidos de las bases de datos 124a, 126a y 128a, respectivamente, de acuerdo con un segundo esquema de datos adecuado para uso con
5
10
15
20
25
30
35
40
45
50
55
60
el programa 118b de aplicacion. Las realizaciones no estan limitadas en este contexto.
A modo de ejemplo, la base de datos 128a de contenido puede incluir un conjunto 130 de datos para el programa 118a de aplicacion. El conjunto 130 de datos puede comprender multiples subconjuntos de datos denominados como segmentos 132-1-m de datos. Un segmento de datos puede representar cualquier conjunto o subconjunto de datos definido o discreto. Por ejemplo, un segmento de datos puede corresponder a un subconjunto de datos para un portal web dado o conjunto de portales web jerarquicos alojados por WSS Version 2.0. Cada uno de los segmentos 132-1-m de datos puede tener tamanos variables o tamanos uniformes segun se desee para una implementacion dada. El conjunto 130 de datos puede almacenarse tambien de acuerdo con un primer esquema de datos apropiado para el programa 118a de aplicacion.
En la operacion general, la red 100 puede disponerse para realizar operaciones de actualizacion gradual para uno o mas programas de aplicacion almacenados o ejecutados mediante uno o mas dispositivos 122-1-n informaticos del conjunto 140 informatico. Suponiendo que cada dispositivo 122-1-n informatico implementa uno o mas programas 118 de aplicacion, tal como un programa de aplicacion de web basado en servidor. Un ejemplo de un programa de aplicacion de web basado en servidor puede incluir un programa de aplicacion WINDOWS ® SHAREPOINT® SERVICES (WSS) Version 2.0 creado por MICROSOFT® Corporation. WSS Version 2.0 es un conjunto de programas de aplicacion integrados que proporcionan servicios de equipo basico, portal web y funcionalidad de intranet para diversos clientes, tales como los clientes 180-1-s, por ejemplo. Los datos de usuario o datos de contenido para WSS Version 2.0 pueden almacenarse por la base de datos 128a de contenido como se indica por el conjunto 130 de datos. Aunque algunas realizaciones pueden describirse con referenda a un programa de aplicacion WSS o conjunto de programas de aplicacion a modo de ejemplo, puede apreciarse que cualquier programa de aplicacion ejecutado por un unico o multiples dispositivos informaticos puede actualizarse usando las tecnicas de actualizacion gradual descritas en el presente documento. Las realizaciones no estan limitadas en este contexto.
En cualquier momento, suponiendo que el desarrollo para WSS Version 3.0 este completo y se haya liberado para uso general. El administrador para el conjunto 140 informatico puede desear actualizar uno o mas dispositivos 122- 1-n informaticos del conjunto 140 informatico desde WSS Version 2.0 a WSS Version 3.0. Para conseguir esto, un administrador puede seleccionar uno de los dispositivos 122-1-n informaticos tal como el dispositivo 122-1 informatico para acceder al servidor 150 web mediante la red 160 para descargar un paquete de instalacion con WSS Version 3.0, un motor 119 de actualizacion gradual, un instalador 120 y datos e instrucciones adjuntas. Como alternativa, el dispositivo 122-1 informatico puede cargar el paquete de instalacion mediante un dispositivo 114 de entrada, tal como un dispositivo de CD-RoM. El dispositivo 122-1 informatico puede ejecutar el paquete de instalacion para copiar los componentes de instalacion a la memoria 104, que incluye el motor 119 de actualizacion gradual.
La unidad 102 de procesamiento puede ejecutar el programa 120 instalador para instalar una nueva version del programa 118a de aplicacion (por ejemplo, el programa 118b de aplicacion) para uso mediante el dispositivo 122-1 informatico. El programa 118b de aplicacion puede comprender, por ejemplo, WSS Version 3.0. El programa 120 instalador puede instalar adicionalmente el motor 119 de actualizacion gradual como una parte integrada o separada de programa 118b de aplicacion. El motor 119 de actualizacion gradual puede disponerse para gestionar operaciones de actualizacion para el programa 118 de aplicacion. Una interfaz de usuario grafica puede proporcionar un numero de opciones de actualizacion a un administrador mediante el dispositivo de salida 116, tal como un monitor u otro tipo de pantalla. Las opciones de actualizacion pueden incluir, entre otras opciones, una actualizacion in situ o una actualizacion gradual. La actualizacion in situ puede ser el enfoque mas facil puesto que todos los dispositivos 122-1-n informaticos se llevan fuera de lmea, actualizan y a continuacion se colocan de vuelta en la operacion una vez que se han completado las operaciones de actualizacion. El coste de una actualizacion in situ, sin embargo, es que todo el conjunto 140 informatico puede estar fuera de lmea durante un periodo de tiempo relativamente largo. Por ejemplo, suponiendo que el conjunto 140 informatico es una granja de servidores para un proveedor de hospedaje web que hospeda 10.000 sitios web. Suponiendo un tiempo de actualizacion de 1 minuto por sitio, tomana aproximadamente 10.000 minutos o aproximadamente una semana para completar las operaciones de actualizacion. A modo de contraste, la actualizacion gradual puede introducir complejidad adicional en operaciones de actualizacion, pero permitira que las porciones del conjunto 140 informatico mantengan operaciones de WSS durante el ciclo de actualizacion proporcionando de esta manera alguna funcionalidad limitada a los dispositivos 180-1-s cliente.
Para realizar una actualizacion gradual del conjunto 140 informatico, el motor 119 de actualizacion gradual puede realizar inicialmente operaciones de actualizacion gradual para el dispositivo 122-1 informatico. Una vez que las operaciones de actualizacion se completan para el dispositivo 122-1 informatico, el paquete de instalacion puede pasarse al dispositivo 122-2 informatico para realizar operaciones de actualizacion similares. Este procedimiento continua a traves del dispositivo 122-n informatico hasta que se haya actualizado finalmente el ultimo dispositivo informatico en el conjunto 140 informatico.
Como parte de las operaciones de actualizacion para el programa 118 de aplicacion del dispositivo 122-1 informatico, el motor ll9 de actualizacion gradual puede empezar a convertir los diversos tipos de informacion o datos de las diversas bases de datos para uso con la segunda version del programa 118 de aplicacion (por ejemplo,
5
10
15
20
25
30
35
40
45
50
55
60
el programa 118b de aplicacion). Por ejemplo, el motor 119 de actualizacion gradual puede empezar a recuperar y convertlr datos de contenido de la base de datos 128a de contenido segun se representa mediante el conjunto 130 de datos desde un primer esquema de datos usado por el programa 118a de aplicacion a un segundo esquema de datos usado por el programa 1l8b de aplicacion. El conjunto 130 de datos convertido puede almacenarse en la base de datos 128b para uso mediante el programa 118b de aplicacion.
El motor 119 de actualizacion gradual puede convertir el conjunto 130 de datos en porciones o segmentos discretos segun se representa por los segmentos 132-1-m de datos. Mas particularmente, el motor 119 de actualizacion gradual puede convertir el conjunto 130 de datos un segmento de datos cada vez. Por ejemplo, un administrador puede seleccionar uno o mas segmentos 132-1-m de datos para convertir al segundo esquema de datos. Ademas, el administrador puede seleccionar un orden mediante el cual los segmentos 132-1-m de datos se han de convertir. Suponiendo que el administrador selecciona el segmento 132-1 de datos a convertirse en primer lugar, seguido por los segmentos 132-2, 132-3 de datos, y finalmente el segmento 132-m de datos. El motor 119 de actualizacion gradual puede empezar a convertir el segmento 132-1 de datos al segundo esquema de datos de acuerdo con las selecciones y orden de conversion deseados.
El motor 119 de actualizacion gradual y/o el administrador de sitio pueden seleccionar un conjunto dado de segmentos 132-1-m de datos basandose en un numero de factores. Por ejemplo, ciertos segmentos 132-1-m de datos pueden seleccionarse para impactar a tan pocos usuarios como sea posible. Para conseguir esto, los segmentos 132-1-m de datos pueden seleccionarse en una base de coleccion por sitio, que es un grupo de sitios web o portales web jerarquicos que se acceden por el mismo conjunto de usuarios y permisos de comparticion. En otro ejemplo, ciertos segmentos 132-1-m de datos pueden seleccionarse basandose en la prioridad de un grupo de sitios web. Los segmentos de datos para sitios web de prioridad superior pueden actualizarse en primer lugar seguido por sitios web de prioridad inferior, y viceversa. En otro ejemplo mas, ciertos segmentos 132-1-m de datos pueden seleccionarse basandose en trafico. Los segmentos de datos para sitios web de volumen de trafico superior pueden actualizarse en primer lugar seguido por sitios web de volumen de trafico inferior, y viceversa. En otro ejemplo mas, ciertos segmentos 132-1-m de datos pueden seleccionarse basandose en una cantidad de tiempo necesario para operaciones de conversion. Los segmentos de datos que requieren periodos de conversion mas largos pueden seleccionarse para operaciones de conversion durante las horas nocturnas o de fin de semana donde los volumenes de trafico son tfpicamente inferiores, mientras que aquellos con periodos de conversion mas cortos pueden seleccionarse para operaciones de conversion durante las horas del dfa u horas de trabajo donde los volumenes de trafico son tfpicamente mas altos. Puede apreciarse que estos son simplemente unos pocos ejemplos, y cualquier numero de criterios de seleccion puede usarse para seleccionar un orden mediante el cual los segmentos 132-1-m de datos se convierten al nuevo esquema de datos. Las realizaciones no estan limitadas en este contexto.
Mientras se convierte un segmento de datos particular, el motor 119 de actualizacion gradual puede bloquear el segmento de datos para evitar cualquier cambio o modificaciones al segmento de datos. Por ejemplo, mientras se convierte el segmento 132-1 de datos, el motor 119 de actualizacion gradual puede bloquear el segmento 132-1 de datos para evitar cualquier cambio al segmento 132-1 de datos. Si se hacen cambios al segmento 132-1 de datos durante operaciones de conversion, los datos para tales cambios pueden no convertirse al esquema de datos de WSS Version 3.0 o potencialmente crean conflictos de union. Para evitar conflictos de perdida de datos o de union potenciales, el motor 119 de actualizacion gradual puede permitir privilegios de lectura pero no privilegios de escritura al segmento 132-1 de datos. Como alternativa, el motor 119 de actualizacion gradual puede bloquear completamente el acceso al segmento 132-1 de datos durante operaciones de conversion. En cualquier caso, unicamente los usuarios que frecuentan el segmento de datos particular que se convierte debenan verse impactados por las operaciones de conversion. El motor 119 de actualizacion gradual puede liberar el bloque una vez que se completan las operaciones de conversion para un segmento de datos dado.
Aunque el motor 119 de actualizacion gradual puede bloquear un segmento de datos dado durante las operaciones de conversion, sin embargo, el dispositivo 122-1 informatico puede permitir que uno o mas clientes 180-1-s accedan a otros segmentos de datos desde el conjunto 130 de datos. Por ejemplo, supongase que un portal web particular usa datos desde el segmento 132-2 de datos. Un cliente 180-1 puede continuar accediendo al portal web usando el programa de aplicacion WSS Version 2.0 incluso aunque el motor 119 de actualizacion gradual este convirtiendo el segmento 132-1 de datos al nuevo esquema de datos. Esto permite el uso continuado de operaciones de WSS durante las operaciones de conversion. De manera similar, una vez que el segmento 132-1 de datos se ha convertido al nuevo esquema de datos, el dispositivo 122-1 informatico puede permitir que uno o mas clientes 180-1s accedan al portal web usando el programa de aplicacion WSS Version 3.0 y conviertan el segmento 132-1 de datos mientras que otros segmentos de datos se estan convirtiendo. De esta manera, los clientes pueden acceder a las caractensticas de WSS desde WSS Version 2.0 o WSS Version 3.0 basandose en un estado de conversion actual para un segmento 132-1-m de datos dado del conjunto 130 de datos.
Para reducir los problemas de migracion para los clientes 180-1-s, el motor 119 de actualizacion gradual puede redirigir temporalmente las solicitudes de acceso basandose en un estado para operaciones de conversion de un segmento 132-1-m de datos dado. Para preparar las operaciones de actualizacion gradual, el motor 119 de actualizacion gradual puede crear nuevos dominios de Localizador de Recurso Universal (URL) para uso durante las operaciones de actualizacion. Por ejemplo, supongase que WSS Version 2.0 esta localizado en un primer nombre de
5
10
15
20
25
30
35
40
45
50
55
60
dominio “//domain”. El motor 119 de actualizacion gradual puede crear un segundo nombre de dominio
“//domain_old” para uso mediante WSS Version 2.0. Si un cliente 180-1-s envfa una solicitud de acceso para un sitio
web con el URL “//domain/sites/WSS”, el motor 119 de actualizacion gradual puede redirigir automaticamente la solicitud de acceso a 7/domain_old/sites/WSS” hasta que se hayan completado las operaciones de actualizacion. Mientras tanto, el motor 119 de actualizacion gradual puede instalar WSS Version 3.0 al primer dominio “//domain” usado previamente por WSS Version 2.0. Una vez que se han completado y validado las operaciones de
actualizacion para todo el conjunto 140 informatico, el motor 119 de actualizacion gradual puede detener las
operaciones de redireccion proporcionando una transicion sin interrupciones para los clientes 180-1-s a la nueva version de programa 118 de aplicacion. Redirigir las solicitudes de usuario para asegurar que el dominio de URL original pueda explorarse tanto antes como despues de las operaciones de actualizacion reduce potencialmente el impacto para usuarios finales puesto que no tienen que aprender un nuevo domino de URL. El motor 119 de actualizacion gradual actualiza operaciones de redireccion coincidentes con operaciones de actualizacion para asegurar que el usuario siempre explora de manera transparente la localizacion correcta y actual.
Una vez que se han completado las operaciones de actualizacion y el conjunto 130 de datos se ha convertido al nuevo esquema de datos, el motor 119 de actualizacion gradual y/o el administrador pueden realizar diversas comprobaciones de validez o integridad para determinar si la actualizacion se realizo correctamente. La version previa del programa 118 de aplicacion puede permanecer en el nombre de dominio temporal durante las operaciones de validacion. Si la actualizacion no se realizo correctamente, el motor 119 de actualizacion gradual puede reiniciar las operaciones de redireccion para redirigir solicitudes de acceso a la version previa del programa 118 de aplicacion en el nombre de dominio temporal. Las operaciones de redireccion pueden hacerse persistentes hasta que se hayan completado las operaciones de actualizacion y validado para la satisfaccion del administrador del conjunto 140 informatico.
El motor 119 de actualizacion gradual puede operar tambien con diversas API para permitir que otros programas de aplicacion realicen operaciones de actualizacion en conjunto con el programa 1l8 de aplicacion. Por ejemplo, el motor 119 de actualizacion gradual puede operar con diversas API para permitir que programas de aplicacion de terceros conviertan correspondientes conjuntos de datos de acuerdo con operaciones de conversion para el programa 118 de aplicacion y el conjunto 130 de datos. Las API proporcionan un modelo de extensibilidad que permite que se desarrollen aplicaciones de terceros para extender las caractensticas de WSS Version 2.0 para que se creen en las operaciones de actualizacion realizadas por el motor 119 de actualizacion gradual. De esta manera, las aplicaciones de terceros pueden coordinar y crear sus acciones de actualizacion en el procedimiento de actualizacion principal. Un ejemplo de una aplicacion de terceros en la parte superior de WSS Version 2.0 puede incluir un SharePoint Portal Server (SPS) 2003. El SPS 2003 puede realizar sus operaciones de actualizacion coincidentes con las operaciones de actualizacion para wSs Version 2.0, reduciendo de esta manera adicionalmente el tiempo de inactividad para los clientes 180-1-s asf como la sobrecarga administrativa. Por ejemplo, los dispositivos 122-1-n informaticos que usan SPS 2003 pueden actualizar a Office Share-Point Services (OSS) 2006 al mismo tiempo que WSS Version 2.0 actualiza a WSS Version 3.0.
Las operaciones para las realizaciones anteriores pueden describirse adicionalmente con referenda a las siguientes figuras y ejemplos adjuntos. Algunas de las figuras pueden incluir un flujo logico. Aunque tales figuras presentadas en el presente documento puedan incluir un flujo logico particular, puede apreciarse que el flujo logico simplemente proporciona un ejemplo de como puede implementarse la funcionalidad general como se describe en el presente documento. Ademas, el flujo logico dado no tiene que ejecutarse necesariamente en el orden presentado a menos que se indique de otra manera. Ademas, el flujo logico dado puede implementarse por un elemento de hardware, un elemento de software ejecutado por un procesador o cualquier combinacion de los mismos. Las realizaciones no estan limitadas en este contexto.
La Figura 2 ilustra una realizacion de un flujo logico. La Figura 2 ilustra un flujo 200 logico. El flujo 200 logico puede ser representativo de las operaciones ejecutadas mediante una o mas realizaciones descritas en el presente documento, tal como la red 1o0, Ios dispositivos 122 informaticos y/o el motor 119 de actualizacion gradual. Como se muestra en el flujo 200 logico, una nueva version de un programa de aplicacion puede instalarse en el bloque 202. Un conjunto de datos para una version previa del programa de aplicacion puede convertirse a un esquema de datos usado por la nueva version, un segmento de datos cada vez, en el bloque 204. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, un primer segmento de datos para la version previa puede convertirse al esquema de datos. El acceso a un segundo segmento de datos para la version previa puede proporcionarse mientras se convierte el primer segmento de datos. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, un primer segmento de datos para la version previa puede convertirse al esquema de datos. El acceso al primer segmento de datos puede evitarse durante la conversion. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, puede identificarse un nombre de dominio para la version previa. Puede crearse un nombre de dominio temporal para la version previa. El nombre de dominio puede renombrarse al nombre de dominio temporal. Las solicitudes de acceso con el nombre de dominio pueden redirigirse al nombre de dominio temporal.
5
10
15
20
25
30
35
40
45
50
55
Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, puede identificarse un nombre de dominio para la version previa. El nombre de dominio para la nueva version puede usarse una vez que se ha convertido el conjunto de datos. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, otros programas de aplicacion pueden convertir correspondientes conjuntos de datos de acuerdo con la conversion del conjunto de datos para la version previa usando una API. Las realizaciones no estan limitadas en este contexto.
En una realizacion, por ejemplo, puede seleccionarse un segmento de datos que tiene datos desde una o mas bases de datos de contenido usadas por una aplicacion web. Como alternativa, puede seleccionarse un segmento de datos que tiene datos desde una o mas bases de datos de contenido usadas por un grupo de aplicaciones web jerarquicas. Las realizaciones no estan limitadas en este contexto.
La tecnica de actualizacion gradual puede tener diversas ventajas sobre tecnicas de actualizacion convencional. Una ventaja de una tecnica de actualizacion gradual, por ejemplo, es que las operaciones de actualizacion pueden hacerse en piezas que se ajustan en una ventana de interrupcion definida, tal como durante un fin de semana, por ejemplo. La tecnica de actualizacion gradual tambien permite una migracion sin interrupciones desde un entorno de trabajo para una version actual de un programa 118 de aplicacion dado a un entorno de trabajo para una version nueva o actualizada del programa 118 de aplicacion. La tecnica de mejora gradual proporciona adicionalmente algunas herramientas para reducir el impacto potencial en usuarios y cargas de trabajo para administradores.
El rendimiento y eficacia de una tecnica de actualizacion gradual dada esta basado en un conjunto de suposiciones clave. En una realizacion, por ejemplo, la tecnica de mejora gradual supone que las versiones antiguas y nuevas del programa 118 de aplicacion se estan ejecutando en el mismo servidor o servidores simultaneamente. Por ejemplo, WSS Version 2.0 y WSS Version 3.0 pueden ambos ejecutarse mediante el dispositivo 122-1 informatico, mientras que existen diferentes bases de datos y servidores virtuales para contenido de WSS Version 2.0 y WSS Version 3.0. En algunos casos, los servidores virtuales pueden ejecutar diferentes versiones de ASP.Net. Puede haber tambien un numero de sitios servidos por ambas versiones de programa 118 de aplicacion. Los usuarios pueden dirigirse automaticamente al dominio apropiado despues de las operaciones de actualizacion. El administrador actualizara tambien algun numero de colecciones de sitio, cada vez, a la nueva base de datos y version de aplicacion. Finalmente, se mantendran los datos de la version antigua, y sera posible invertir o retroceder cualquier coleccion de sitio a la version de aplicacion previa a la actualizacion y conjunto de datos adjuntos.
Diversos parametros de diseno y restricciones de realizacion pueden usarse para crear un conjunto de requisites de rendimiento para el motor 119 de actualizacion gradual y/o el programa 118 de aplicacion. En una realizacion, por ejemplo, el conjunto de requisites puede incluir posibilitar una instalacion de wSs Version 3.0 en una granja de servidores que esta ejecutando actualmente WSS Version 2.0, sin pausar la instalacion de WSS Version 2.0. En otro ejemplo, el conjunto de requisites puede incluir crear una base de datos administrativa y la base de datos de configuracion de los datos WsS Version 2.0, y a continuacion crear servidores de contenido virtual de WSS Version
3.0 y bases de datos de contenido segun sea necesario para operaciones de actualizacion. En otro ejemplo mas, el conjunto de requisites puede permitir que los administradores actualicen una o mas colecciones de sitio, en lugar del sistema entero o una base de datos cada vez. Los datos podnan transferirse a una base de datos temporal donde se realiza una actualizacion completa, y el resultado moverse en el entorno de WSS Version 3.0 en vivo. Las colecciones de sitio estaran no disponibles o seran de lectura unicamente durante la duracion del procedimiento de actualizacion, y los sitios que se actualizan tendran un nuevo nombre de dominio. En otro ejemplo mas, el conjunto de requisites puede proporcionar herramientas para que los administradores revisen los registros, resultados y el sitio de WSS Version 3.0 actualizado, a continuacion elegir si establecer una redireccion de WSS Version 2.0 a WSS Version 3.0, dejar ambas disponibles temporalmente (por ejemplo, WSS Version 2.0 sena unicamente de lectura) y funcionar en WSS Version 3.0, o reactivar WSS Version 2.0 para todas las actualizaciones y re-actualizar en una fecha posterior. En otro ejemplo mas, el conjunto de requisites puede incluir continuar las operaciones de actualizacion hasta que no queden sitios WSS Version 2.0 en el entorno. En esencia, todos los sitios WSS Version
2.0 se actualizan o mueven a otra granja de servidores. En algunos casos, el administrador puede necesitar indicar manualmente que se complete la actualizacion, y desinstalar WSS Version 2.0 para completar el procedimiento. Pueden usarse informes para mostrar que sitios estan en que estado (por ejemplo, WSS Version 3.0 con redireccion, WSS Version 3.0 y WSS Version 2.0, o unicamente WsS Version 2.0).
Con respecto a actualizar aplicaciones web tales como programas de aplicacion de WSS, las operaciones de actualizacion gradual pueden categorizarse en general en 4 fases. Una primera fase incluye la preparacion de actualizacion WSS VERSION 2.0 y la creacion de granjas de WSS Version 3.0. El codigo para la nueva version de programa 118 de aplicacion se instala, y los elementos globales de WSS Version 2.0 se anaden al entorno de WSS Version 3.0 en cada dispositivo 122-1-n informatico en el conjunto 140 informatico. El administrador debena realizar cualquier trabajo de pre-actualizacion y usar un informe de pre-actualizacion de los sitios y problemas de WSS Version 2.0.
Una segunda fase incluye la preparacion de aplicacion web controlada por administrador. Se crea un nuevo servidor
5
10
15
20
25
30
35
40
45
50
55
60
virtual de aplicacion web. Se crea una nueva base de datos de contenido para almacenar Ios nuevos sitios en el mismo servidor de SQL que la base de datos de contenido WSS Version 2.0. Las partes web desplegadas en el componente para el servidor virtual de WSS Version 2.0 debenan anadirse al servidor virtual WSS Version 3.0 por el administrador.
Una tercera fase incluye actualizaciones de coleccion de sitio controladas por administrador. Un administrador selecciona uno o muchos sitios para mover a WSS Version 3.0. Los sitios WSS Version 2.0 estan fuera de lmea y no disponibles, y todos Ios datos se copian a una base de datos temporal. Se ejecuta una actualizacion in situ en la base de datos temporal, el resultado a continuacion se mueve al entorno WSS Version 3.0 en directo, y Ios sitios se hacen disponibles en WSS Version 3.0. Los sitios WSS Version 2.0 debenan hacerse disponibles de nuevo una vez que se completan las operaciones de actualizacion.
Una cuarta fase incluye revision y redireccion Un administrador revisa el sitio. Si el sitio requiere trabajo significativo o no es actualizable, la redireccion al sitio WSS Version 2.0 se resetea, y el administrador puede crear opcionalmente una copia del sitio WSS Version 3.0 actualizado. La copia de WSS Version 3.0 podna funcionar usando una herramienta de creacion y gestion de sitio web tal como FRONTPAGE® creada por Microsoft Corporation, o herramienta similar, hasta que la interfaz de usuario este correcta dentro del entorno WSS Version 3.0. En ese punto, el sitio WSS Version 2.0 puede re-actualizarse, y Ios cambios unirse manualmente usando Frontpage o una herramienta similar.
La Figura 3 ilustra una realizacion ejemplar de un segundo flujo logico. La Figura 3 ilustra un flujo 300 logico que puede ser representativo de operaciones de configuracion adecuadas para una actualizacion gradual. Como se muestra en el flujo 300 logico, antes de iniciar una actualizacion gradual una herramienta de exploracion de pre- actualizacion puede ejecutarse en preparacion para operaciones de actualizacion. La herramienta de exploracion de pre-actualizacion pueden informar problemas comunes para que un administrador Ios trate, proporcione una lista de todas las definiciones de sitio en uso, actualizar cualquier lista de WSS para que pueden actualizarse y as^ sucesivamente. Durante la ejecucion de la herramienta de exploracion de pre-actualizacion, puede detectarse y transportarse una oportunidad de actualizacion al administrador mediante un mensaje emergente en el bloque 302, o mediante entradas en un fichero de registro. Una lista de opciones de actualizacion puede presentarse al administrador, tal como una actualizacion in situ, una actualizacion gradual, una actualizacion de migracion de contenido y asf sucesivamente. Una actualizacion gradual puede seleccionarse en el bloque 304. El dispositivo 1221 informatico puede recuperar y cargar el motor 119 de actualizacion gradual para empezar a instalar una nueva version del programa 118 de aplicacion en el bloque 306. Las operaciones de configuracion posterior pueden lanzarse en el bloque 308. En este punto, el control puede pasarse al flujo 400 logico como se indica mediante el drculo B.
La Figura 4 ilustra una realizacion ejemplar de un tercer flujo logico. La Figura 4 ilustra un flujo 400 logico que puede ser representativo de operaciones de configuracion posteriores a la configuracion para una actualizacion gradual. Como se muestra en el flujo 400 logico, se realiza una comprobacion para determinar si la herramienta de exploracion de pre-actualizacion se ha usado durante las operaciones de configuracion en el bloque 402. Si la herramienta de exploracion de pre-actualizacion no se han ejecutado, entonces puede generarse un error y se determinan operaciones de actualizacion o se pasa de vuelta el control al flujo 300 logico para volver a ejecutar las operaciones de configuracion. Si la herramienta de exploracion de pre-actualizacion se ha ejecutado, entonces puede crearse una base de datos de configuracion con un nuevo grupo de aplicacion pero con Ios mismos credenciales como WSS Version 2.0 en el bloque 404. Los migradores locales pueden ejecutarse en el bloque 406. Un ejemplo de migradores locales puede incluir ejecutar una actualizacion local de datos y software usado para operaciones de Busqueda. Una pagina de inicio de administracion central puede lanzarse a continuacion en el bloque 408.
En el diamante 410, se realiza una determinacion en cuanto a si las operaciones de configuracion y las operaciones de configuracion de configuracion posterior se han realizado para todos Ios dispositivos 122-1-n informaticos en el conjunto 140 informatico. Si todas las operaciones de configuracion y operaciones de configuracion posterior no se han realizado para todos Ios dispositivos 122-1-n informaticos en el conjunto 140 informatico, entonces el control se pasa al flujo 300 logico como se indica mediante el drculo A. Cuando las operaciones de configuracion y las operaciones de configuracion posterior se han realizado para todos Ios dispositivos 122-1-n informaticos, sin embargo, entonces el control se pasa al flujo 500 logico como se indica mediante el drculo C.
La Figura 5 ilustra una realizacion ejemplar de un cuarto flujo logico. La Figura 5 ilustra un flujo 500 logico que puede ser representativo de las operaciones de administracion central y de actualizacion de programa de aplicacion. Como se muestra en el flujo 500 logico, una aplicacion web puede seleccionarse para actualizacion en el bloque 502. Las operaciones de actualizacion de programa de aplicacion pueden incluir, por ejemplo, mover WSS Version
2.0 a un nuevo dominio de URL, crear o hacer instancias a una aplicacion web WsS Version 3.0 en el dispositivo 122-1 informatico, crear o hacer instancias de diversas bases de datos para WSS Version 3.0 para espejar las bases de datos existentes usadas por WSS Version 2.0, anadir todos Ios sitios de WSS Version 2.0 a la base de datos de configuracion WSS Version 3.0 (por ejemplo, la base de datos 126b de configuracion), crear una redireccion para todos Ios sitios y/u otras operaciones de actualizacion segun se desee para una implementacion dada.
5
10
15
20
25
30
35
40
45
50
55
Continuando con el flujo 500 logico, pueden definirse, modificarse, actualizarse o establecerse diversos ajustes de actualizacion en el bloque 504. Ejemplos de tales ajustes puede incluir unos ajustes Reghost y Partner. El ajuste Reghost puede permitir que un administrador posibilite operaciones de tipo Reghost durante operaciones de actualizacion. Por ejemplo, el administrador puede desear que se posibiliten operaciones de tipo Reghost para aplicar Reghost a paginas web personalizadas durante las operaciones de actualizacion. El ajuste Partner puede posibilitar que los socios y terceros creen elementos de actualizacion por encima de la actualizacion gradual de
wss.
Una vez que se han establecido los ajustes de actualizacion, uno o mas grupos de sitios SharePoint (SPSites) pueden seleccionarse y actualizarse en el bloque 506. Puede realizarse una determinacion en cuanto a si todos los SPSites se han actualizado a WSS Version 3.0 o revertido a WSS Version 2.0 en el diamante 508. Si todos los SPSites no se han actualizado o revertido, entonces el control se pasa al bloque 504. Si todos los SPSites se han actualizado o revertido, sin embargo, puede realizarse una determinacion en cuanto a si todos los programas de aplicacion se han actualizado para el dispositivo 122-1 informatico en el diamante 510. Si todos los programas de aplicacion no se han actualizado, entonces el control se pasa de vuelta al bloque 502. Si todos los programas de aplicacion se han actualizado, sin embargo, entonces las operaciones de actualizacion pueden finalizarse en el bloque 512. Ejemplos de operaciones de finalizacion pueden incluir informar al administrador y/o a usuarios de que la actualizacion es una actualizacion en un sentido, proporcionar una ventana emergente de confirmacion, desconectando la granja de WSS Version 3.0 de la granja de WSS Version 2.0, limpiando datos de funcionamiento de actualizacion y/u otras operaciones de finalizacion deseadas para una implementacion dada.
Se han expuesto numerosos detalles espedficos en el presente documento para proporcionar un entendimiento minucioso de las realizaciones. Sin embargo, se entendera por los expertos en la materia que las realizaciones pueden ponerse en practica sin estos detalles espedficos. En otros casos, operaciones, componentes y circuitos bien conocidos no se han descrito en detalle para no oscurecer las realizaciones. Puede apreciarse que los detalles estructurales y funcionales espedficos desvelados en el presente documento pueden ser representativos y no limitan necesariamente el alcance de las realizaciones.
Merece la pena observar tambien que cualquier referenda a “una realizacion” significa que una caractenstica particular, estructura o caractenstica descrita en relacion con la realizacion se incluye en al menos una realizacion. Las apariciones de la frase “en una realizacion” en diversos lugares en la memoria descriptiva no necesariamente se refieren todas a la misma realizacion.
Algunas realizaciones pueden describirse usando la expresion “acoplado” y “conectado” junto con sus derivados. Debena entenderse que estos terminos no se pretenden como sinonimos entre sl Por ejemplo, algunas realizaciones pueden describirse usando el termino “conectado” para indicar que dos o mas elementos estan en contacto directo ffsico o electrico entre sl En otro ejemplo, algunas realizaciones pueden describirse usando el termino “acoplado” para indicar que dos o mas elementos estan en contacto directo ffsico o electrico. El termino “acoplado”, sin embargo, puede significar tambien que dos o mas elementos no estan en contacto directo entre sf, pero aun cooperan o interactuan entre sl Las realizaciones no estan limitadas en este contexto.
Algunas realizaciones pueden implementarse, por ejemplo, usando un medio o arffculo legible por maquina que puede almacenar una instruccion o un conjunto de instrucciones que, si se ejecuta mediante una maquina, puede provocar que la maquina realice un procedimiento y/u operaciones de acuerdo con las realizaciones. Una maquina de este tipo puede incluir, por ejemplo, cualquier plataforma de procesamiento adecuada, plataforma informatica, dispositivo informatico, dispositivo informatico, sistema informatico, sistema de procesamiento, ordenador, procesador, o similar, y puede implementarse usando cualquier combinacion adecuada de hardware y/o software. El medio o arffculo legible por maquina puede incluir, por ejemplo, cualquier tipo adecuado de unidad de memoria, dispositivo de memoria, arffculo de memoria, medio de memoria, dispositivo de almacenamiento, arffculo de almacenamiento, medio de almacenamiento y/o unidad de almacenamiento, por ejemplo, memoria, medio extrafble o no extrafble, medio borrable o no borrable, medio escribible o re-escribible, medio digital o analogico, disco duro, disco flexible, Disco Compacto Memoria de solo lectura (CD-ROM), Disco Compacto Grabable (CD-R), Disco compacto Re-escribible (CD-RW), disco optico, medio magnetico, medio magneto-optico, tarjetas o discos de memoria extrafble, diversos tipos de Disco Versatil Digital (DVD), una cinta, un casete o similares.
Aunque la materia objeto se ha descrito en lenguaje espedfico a caractensticas estructurales y/o actos metodologicos, se ha de entender que la materia objeto definida en las reivindicaciones adjuntas no esta necesariamente limitada a las caractensticas o actos espedficos anteriormente descritos. En su lugar, las caractensticas y actos espedficos anteriormente descritos se desvelan como formas de ejemplo para implementar las reivindicaciones.
Claims (7)
- 510152025303540455055reivindicaciones1. Un procedimiento, que comprende:instalar (202) una nueva version de un programa de aplicacion;convertir (204) un conjunto de datos para una version previa de dicho programa de aplicacion a un esquema de datos usado por dicha nueva version un segmento de datos cada vez, en el que dicho conjunto de datos comprende una pluralidad de segmentos de datos, siendo cada segmento de datos un subconjunto discreto de dicho conjunto de datos, yen el que dicha conversion comprende convertir un primer segmento de datos de dicha pluralidad de segmentos de datos a dicho esquema de datos;proporcionar acceso a un segundo segmento de datos de dicha pluralidad de segmentos de datos mientras convierte dicho primer segmento de datos;evitar el acceso a dicho primer segmento de datos durante dicha conversion; identificar un nombre de dominio para dicha version previa; crear un nombre de dominio temporal para dicha version previa;redirigir las solicitudes de acceso con dicho nombre de dominio a dicho nombre de dominio temporal; y detener la redireccion y usar dicho nombre de dominio para dicha nueva version una vez que se ha convertido dicho conjunto de datos.
- 2. El procedimiento de la reivindicacion 1, que comprende interconectar con otros programas de aplicacion para convertir correspondientes conjuntos de datos de acuerdo con la conversion de dicho conjunto de datos para dicha version previa.
- 3. El procedimiento de la reivindicacion 1, que comprende seleccionar un segmento de datos que tiene datos desde una o mas bases de datos de contenido usadas por una aplicacion web.
- 4. El procedimiento de la reivindicacion 1, que comprende seleccionar un segmento de datos que tiene datos desde una o mas bases de datos de contenido usadas por un grupo de aplicaciones web jerarquicas.
- 5. Un medio de almacenamiento legible por ordenador que contiene instrucciones que si se ejecutan posibilitan a un sistema:instalar (202) una nueva version de un programa de aplicacion;convertir (204) un conjunto de datos para una version previa de dicho programa de aplicacion a un esquema de datos usado por dicha nueva version un segmento de datos cada vez, en el que dicho conjunto de datos comprende una pluralidad de segmentos de datos, en el que cada segmento de datos es un subconjunto discreto de dicho conjunto de datos, y convertir el conjunto de datos comprende convertir un primer segmento de datos de dicha pluralidad de segmentos de datos a dicho esquema de datos;proporcionar acceso a un segundo segmento de datos de dicha pluralidad de segmentos de datos mientras convierte dicho primer segmento de datos;evitar el acceso a dicho primer segmento de datos durante dicha conversion; identificar un nombre de dominio para dicha version previa; crear un nombre de dominio temporal para dicha version previa;redirigir solicitudes de acceso con dicho nombre de dominio a dicho nombre de dominio temporal; ydetener la redireccion y usar dicho nombre de dominio para dicha nueva version una vez que se ha convertidodicho conjunto de datos.
- 6. Un aparato, que comprende:una base de datos (128) con un conjunto (130) de datos para una primera version de un programa de aplicacion; un dispositivo (122) informatico para acoplarse a dicha base de datos, teniendo dicho dispositivo informatico un procesador (102) y memoria (104), dicha memoria para almacenar una primera version de un programa (118a) de aplicacion, un programa (120) instalador y un motor (119) de actualizacion gradual; ydicho procesador para ejecutar dicho programa instalador para instalar una segunda version de dicho programa (118b) de aplicacion, dicho motor de actualizacion gradual para convertir dicho conjunto de datos a un esquema de datos usado por dicha segunda version un segmento (132) de datos cada vez, en el que dicho conjunto de datos comprende una pluralidad de segmentos de datos, siendo cada segmento de datos un subconjunto discreto de dicho conjunto de datos, y dicho motor de actualizacion gradual para:proporcionar acceso a uno de dicha pluralidad de segmentos de datos mientras convierte otro de dicha pluralidad de segmentos de datos y para evitar el acceso a dicho primer segmento de datos durante dicha conversion,identificar un nombre de dominio para dicha primera version, crear un nombre de dominio temporal para dicha primera version,redirigir solicitudes de acceso con dicho nombre de dominio a dicho nombre de dominio temporal, ydetener la redireccion y usar dicho nombre de dominio para dicha nueva version una vez que se ha convertido dicho conjunto de datos.
- 7. El aparato de la reivindicacion 6, dicho motor de actualizacion gradual para bloquear un segmento de datos durante la conversion para evitar el acceso de escritura a dicho segmento de datos.5 8. El aparato de la reivindicacion 6, dicho motor de actualizacion gradual para seleccionar un segmento de datos quetiene datos desde una o mas bases de datos de contenido usadas por una aplicacion web.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/418,747 US7818740B2 (en) | 2006-05-05 | 2006-05-05 | Techniques to perform gradual upgrades |
US418747 | 2006-05-05 | ||
PCT/US2007/010873 WO2007130594A2 (en) | 2006-05-05 | 2007-05-04 | Techniques to perform gradual upgrades |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2647039T3 true ES2647039T3 (es) | 2017-12-18 |
Family
ID=38662606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07794562.4T Active ES2647039T3 (es) | 2006-05-05 | 2007-05-04 | Técnicas para realizar actualizaciones graduales |
Country Status (6)
Country | Link |
---|---|
US (2) | US7818740B2 (es) |
EP (1) | EP2021937B1 (es) |
KR (1) | KR101376916B1 (es) |
CN (1) | CN101438261B (es) |
ES (1) | ES2647039T3 (es) |
WO (1) | WO2007130594A2 (es) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065671B1 (en) * | 2007-08-20 | 2011-11-22 | United States Automobile Association (USAA) | Systems and methods for product updates with provisioning of data items |
US20090083343A1 (en) * | 2007-09-21 | 2009-03-26 | Oculus Technologies Corporation | Computer method and apparatus for accessing assets in an engineering product management system repository |
US8495571B2 (en) * | 2007-09-21 | 2013-07-23 | Oculus Technologies Corporation | Computer method and apparatus for engineered product management including simultaneous indication of working copy status and repository status |
US11347771B2 (en) * | 2007-11-28 | 2022-05-31 | International Business Machines Corporation | Content engine asynchronous upgrade framework |
US8539468B2 (en) * | 2008-02-18 | 2013-09-17 | International Business Machines Corporation | System and methods for replacing software application classes using transparent object adapters |
JP5571667B2 (ja) * | 2008-08-18 | 2014-08-13 | エフ5 ネットワークス、インコーポレイテッド | 可用性を維持しながらネットワークトラフィック管理装置をアップグレードする方法 |
US8032930B2 (en) * | 2008-10-17 | 2011-10-04 | Intuit Inc. | Segregating anonymous access to dynamic content on a web server, with cached logons |
US9104521B2 (en) * | 2009-03-16 | 2015-08-11 | Tyco Electronics Subsea Communications Llc | System and method for remote device application upgrades |
US8443084B2 (en) * | 2010-02-09 | 2013-05-14 | Accenture Global Services Limited | Enhanced upgrade path |
US20110302217A1 (en) * | 2010-06-08 | 2011-12-08 | Robert Heidasch | Semantic user interface data assembling |
US8689208B2 (en) | 2010-06-24 | 2014-04-01 | Microsoft Corporation | Upgrade management of application components |
US8244698B2 (en) * | 2010-07-23 | 2012-08-14 | Google Inc. | Encoding a schema version in table names |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US20120137278A1 (en) | 2010-11-30 | 2012-05-31 | International Business Machines Corporation | Generating a customized set of tasks for migration of a deployed software solution |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8452817B1 (en) * | 2011-04-21 | 2013-05-28 | Netapp, Inc. | Update of data structure configured to store metadata associated with a database system |
EP2705428A4 (en) * | 2011-05-04 | 2014-10-15 | Apperian Inc | PROCESSING, MODIFICATION AND DISTRIBUTION OF INSTALLATION PACKAGES |
US8732693B2 (en) | 2011-08-04 | 2014-05-20 | Microsoft Corporation | Managing continuous software deployment |
US8943220B2 (en) * | 2011-08-04 | 2015-01-27 | Microsoft Corporation | Continuous deployment of applications |
US9038055B2 (en) | 2011-08-05 | 2015-05-19 | Microsoft Technology Licensing, Llc | Using virtual machines to manage software builds |
CN103186400B (zh) * | 2011-12-31 | 2016-01-13 | 深圳市金蝶中间件有限公司 | Web应用程序升级方法及系统 |
US9720676B2 (en) * | 2012-02-09 | 2017-08-01 | International Business Machines Corporation | Implementing updates to source code executing on a plurality of compute nodes |
US9262149B2 (en) | 2012-04-12 | 2016-02-16 | International Business Machines Corporation | Managing incrementally applied system updates |
JP2013254303A (ja) * | 2012-06-06 | 2013-12-19 | Sony Corp | 情報処理装置、情報処理方法およびプログラム |
CN102779191B (zh) * | 2012-07-03 | 2015-09-02 | 互动在线(北京)科技有限公司 | 一种MySQL数据库平滑升级的实现系统及实现方法 |
US9244914B2 (en) | 2012-09-28 | 2016-01-26 | Apple Inc. | Schema versioning for cloud hosted databases |
US9483245B2 (en) * | 2013-01-23 | 2016-11-01 | Red Hat Israel, Ltd. | Matching database schema with application code using dependency management |
US9244960B2 (en) * | 2013-03-15 | 2016-01-26 | International Business Machines Corporation | Metadata-driven version management service in pervasive environment |
US9229701B2 (en) * | 2013-03-15 | 2016-01-05 | Microsoft Technology Licensing, Llc | Local store data versioning |
US9588750B2 (en) * | 2013-03-22 | 2017-03-07 | International Business Machines Corporation | Pseudo program use during program installation |
US20140289722A1 (en) * | 2013-03-22 | 2014-09-25 | International Business Machines Corporation | Parallel program installation and configuration |
US9497079B2 (en) * | 2013-06-13 | 2016-11-15 | Sap Se | Method and system for establishing, by an upgrading acceleration node, a bypass link to another acceleration node |
US9830142B2 (en) | 2013-09-13 | 2017-11-28 | Microsoft Technology Licensing, Llc | Automatic installation of selected updates in multiple environments |
US10026064B2 (en) | 2013-09-13 | 2018-07-17 | Microsoft Technology Licensing, Llc | Automatically recommending updates based on stored lifecycle information |
US9665359B2 (en) | 2013-09-13 | 2017-05-30 | Microsoft Technology Licensing, Llc | Automatically resolving conflicts after installation of selected updates in a computer system |
US9626176B2 (en) | 2013-09-13 | 2017-04-18 | Microsoft Technology Licensing, Llc | Update installer with technical impact analysis |
CN104572685B (zh) * | 2013-10-17 | 2018-01-30 | 纬创资通股份有限公司 | 数据排序方法 |
US9804835B2 (en) | 2014-06-11 | 2017-10-31 | Microsoft Technology Licensing, Llc | Dynamic pacing for service upgrades |
WO2015192298A1 (en) * | 2014-06-16 | 2015-12-23 | Huawei Technologies Co., Ltd. | Telecommunication device and method for updating software in a telecommunication device |
JP2016071422A (ja) * | 2014-09-26 | 2016-05-09 | ブラザー工業株式会社 | ソフトウエア提供システム及びインストールプログラム |
US9501516B2 (en) * | 2014-12-19 | 2016-11-22 | Sap Se | Zero downtime upgrade of database applications using triggers and calculated fields |
US10320892B2 (en) | 2015-01-02 | 2019-06-11 | Microsoft Technology Licensing, Llc | Rolling capacity upgrade control |
US9898494B2 (en) | 2015-02-23 | 2018-02-20 | Sap Se | Zero downtime upgrade for database applications using tables with sequences |
KR102316868B1 (ko) * | 2015-04-27 | 2021-10-25 | 주식회사 케이티 | 상이한 버전의 웹 어플리케이션을 병용하여 운용하는 방법, 서버 및 시스템 |
US10235267B2 (en) * | 2015-08-13 | 2019-03-19 | Molbase (Shanghai) Biotechnology Co., Ltd. | Online testing system and method thereof |
CN105278962A (zh) * | 2015-11-04 | 2016-01-27 | 北京星网锐捷网络技术有限公司 | 应用程序及数据库的热部署方法及装置 |
US10262054B2 (en) | 2016-01-21 | 2019-04-16 | Microsoft Technology Licensing, Llc | Database and service upgrade without downtime |
CN105677430A (zh) * | 2016-02-18 | 2016-06-15 | 吴伟东 | 手机软件更新方法及系统 |
US9678685B1 (en) * | 2016-03-18 | 2017-06-13 | Storagecraft Technology Corporation | Live updating of a changed block tracking driver |
US10341465B2 (en) | 2016-04-03 | 2019-07-02 | Microsoft Technology Licensing, Llc | Policy driven flight management |
CN107341024B (zh) * | 2016-04-28 | 2020-02-14 | 华为技术有限公司 | 系统升级方法和系统升级装置 |
US10185549B2 (en) * | 2016-06-28 | 2019-01-22 | Microsoft Technology Licensing, Llc | Updating live system with static changes |
US10185626B2 (en) * | 2016-09-07 | 2019-01-22 | Microsoft Technology Licensing, Llc | Automatic application error detection and rollback |
US10146675B1 (en) * | 2016-12-29 | 2018-12-04 | EMC IP Holding Company LLC | Automated code upgrade testing utilizing a copy data manager |
CN107147712B (zh) * | 2017-05-05 | 2018-09-11 | 腾讯科技(深圳)有限公司 | 更新网络应用程序的方法及装置 |
US10796350B2 (en) * | 2017-09-25 | 2020-10-06 | Oracle International Corporation | Systems and methods for using facade API for phased upgrade of core API |
US11347701B2 (en) * | 2018-02-13 | 2022-05-31 | Citrix Systems, Inc. | Live zero downtime migration of databases with disparate schemata |
US11204750B2 (en) * | 2018-03-30 | 2021-12-21 | Intel Corporation | Systems, methods and apparatus for distributed software/firmware update and software versioning system for automated vehicles |
US10452375B1 (en) * | 2018-06-21 | 2019-10-22 | Microsoft Technology Licensing, Llc | Memory-efficient upgrade staging |
US20200104118A1 (en) * | 2018-09-28 | 2020-04-02 | Bose Corporation | Systems and methods for providing staged updates in embedded devices |
KR102703632B1 (ko) * | 2022-06-24 | 2024-09-04 | 현대오토에버 주식회사 | 차량용 mcu에서의 플래시 부트 로더의 펌웨어 업데이트 방법 |
Family Cites Families (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4413317A (en) * | 1980-11-14 | 1983-11-01 | Sperry Corporation | Multiprocessor system with cache/disk subsystem with status routing for plural disk drives |
US4425615A (en) * | 1980-11-14 | 1984-01-10 | Sperry Corporation | Hierarchical memory system having cache/disk subsystem with command queues for plural disks |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5261080A (en) * | 1987-08-21 | 1993-11-09 | Wang Laboratories, Inc. | Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats |
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US5369770A (en) * | 1992-11-02 | 1994-11-29 | Microsoft Corporation | Standardized protected-mode interrupt manager |
CA2128828C (en) * | 1993-08-24 | 2001-01-02 | David Michael Silver | Multilingual standard resources |
US5634114A (en) * | 1993-11-18 | 1997-05-27 | Intel Corporation | Dynamic link library version negotiation |
US5752035A (en) * | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5745906A (en) * | 1995-11-14 | 1998-04-28 | Deltatech Research, Inc. | Method and apparatus for merging delta streams to reconstruct a computer file |
US6098078A (en) * | 1995-12-29 | 2000-08-01 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US5768519A (en) * | 1996-01-18 | 1998-06-16 | Microsoft Corporation | Method and apparatus for merging user accounts from a source security domain into a target security domain |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5838901A (en) * | 1996-08-05 | 1998-11-17 | Xilinx, Inc. | Overridable data protection mechanism for PLDs |
GB9623298D0 (en) | 1996-11-08 | 1997-01-08 | Int Computers Ltd | Updating mechanism for software |
US5933139A (en) * | 1997-01-31 | 1999-08-03 | Microsoft Corporation | Method and apparatus for creating help functions |
WO1998040805A2 (en) | 1997-02-27 | 1998-09-17 | Siebel Systems, Inc. | Method of synchronizing independently distributed software and database schema |
US5920725A (en) * | 1997-07-02 | 1999-07-06 | Adaptivity Inc. | Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors |
DE19734413C1 (de) | 1997-08-08 | 1999-01-07 | Ericsson Telefon Ab L M | Verfahren zum Aufrüsten einer Datenbank |
DE19810784B4 (de) | 1998-03-12 | 2006-03-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Rechnersystem |
US6052531A (en) * | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
WO2000014627A1 (fr) * | 1998-09-04 | 2000-03-16 | Fujitsu Limited | Gestion du passage a une version superieure, et systeme informatique a cet effet |
US6332158B1 (en) * | 1998-12-03 | 2001-12-18 | Chris Risley | Domain name system lookup allowing intelligent correction of searches and presentation of auxiliary information |
US8069407B1 (en) * | 1998-12-08 | 2011-11-29 | Yodlee.Com, Inc. | Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes |
WO2000042510A1 (fr) * | 1999-01-13 | 2000-07-20 | Fujitsu Limited | Procede et appareil de commande exclusive d'informations electroniques et supports d'enregistrement de programme de commande exclusive |
US6377960B1 (en) * | 1999-07-26 | 2002-04-23 | Microsoft Corporation | Transactional configuration store and runtime versus administration isolation with version snapshots and aging |
US6633878B1 (en) * | 1999-07-30 | 2003-10-14 | Accenture Llp | Initializing an ecommerce database framework |
US6704873B1 (en) * | 1999-07-30 | 2004-03-09 | Accenture Llp | Secure gateway interconnection in an e-commerce based environment |
US6976062B1 (en) | 1999-09-22 | 2005-12-13 | Intermec Ip Corp. | Automated software upgrade utility |
US6640334B1 (en) * | 1999-09-27 | 2003-10-28 | Nortel Networks Limited | Method and apparatus of remotely updating firmware of a communication device |
US6779177B1 (en) * | 1999-10-28 | 2004-08-17 | International Business Machines Corporation | Mechanism for cross channel multi-server multi-protocol multi-data model thin clients |
US6681389B1 (en) | 2000-02-28 | 2004-01-20 | Lucent Technologies Inc. | Method for providing scaleable restart and backout of software upgrades for clustered computing |
US6643669B1 (en) * | 2000-03-14 | 2003-11-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for optimization of synchronization between a client's database and a server database |
US6775423B2 (en) * | 2000-05-03 | 2004-08-10 | Microsoft Corporation | Systems and methods for incrementally updating an image in flash memory |
US20020057018A1 (en) * | 2000-05-20 | 2002-05-16 | Equipe Communications Corporation | Network device power distribution scheme |
US6880086B2 (en) * | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
US6751794B1 (en) | 2000-05-25 | 2004-06-15 | Everdream Corporation | Intelligent patch checker |
US7693976B2 (en) * | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US7337217B2 (en) * | 2000-07-21 | 2008-02-26 | Samsung Electronics Co., Ltd. | Architecture for home network on world wide web |
US6832373B2 (en) * | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US20040088333A1 (en) * | 2002-01-25 | 2004-05-06 | David Sidman | Apparatus method and system for tracking information access |
US6754895B1 (en) | 2001-04-26 | 2004-06-22 | Palm Source, Inc. | Method and system for automatic firmware updates in a portable hand-held device |
US6996589B1 (en) * | 2002-01-16 | 2006-02-07 | Convergys Cmg Utah, Inc. | System and method for database conversion |
US7263698B2 (en) | 2002-08-29 | 2007-08-28 | Sap Aktiengesellschaft | Phased upgrade of a computing environment |
US6996818B2 (en) | 2002-11-22 | 2006-02-07 | Bitfone Corporation | Update system for facilitating software update and data conversion in an electronic device |
US20040199786A1 (en) * | 2002-12-02 | 2004-10-07 | Walmsley Simon Robert | Randomisation of the location of secret information on each of a series of integrated circuits |
US7523184B2 (en) | 2002-12-31 | 2009-04-21 | Time Warner Cable, Inc. | System and method for synchronizing the configuration of distributed network management applications |
US7117482B2 (en) * | 2003-03-26 | 2006-10-03 | Sony Corporation | Migration of configuration data from one software installation through an upgrade |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US7386617B2 (en) * | 2003-05-15 | 2008-06-10 | International Business Machines Corporation | Method, system and program product for managing multiple network application versions |
US7356577B2 (en) * | 2003-06-12 | 2008-04-08 | Samsung Electronics Co., Ltd. | System and method for providing an online software upgrade in load sharing servers |
US20050010913A1 (en) * | 2003-07-11 | 2005-01-13 | Chih-Wei Chen | Computer code upgrading method and system |
US7624393B2 (en) | 2003-09-18 | 2009-11-24 | International Business Machines Corporation | Computer application and methods for autonomic upgrade maintenance of computer hardware, operating systems and application software |
US7778962B2 (en) * | 2004-04-30 | 2010-08-17 | Microsoft Corporation | Client store synchronization through intermediary store change packets |
US7533144B2 (en) * | 2004-05-14 | 2009-05-12 | Hisham Kassab | Method of providing a web page with additional content inserted in an intermediate network entity (INE) platform |
US20050262495A1 (en) | 2004-05-18 | 2005-11-24 | Bea Systems, Inc. | Administration mode for server applications |
US7558843B2 (en) | 2004-07-12 | 2009-07-07 | Netsuite, Inc. | Phased rollout of version upgrades in web-based business information systems |
US20060041881A1 (en) | 2004-08-19 | 2006-02-23 | Adkasthala Bheema P | Universal upgrade architecture |
US7562358B2 (en) * | 2004-10-04 | 2009-07-14 | United Parcel Service Of America, Inc. | Controlled deployment of software in a web-based architecture |
US20060080656A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US7603562B2 (en) * | 2005-02-02 | 2009-10-13 | Insyde Software Corporation | System and method for reducing memory requirements of firmware |
JP2006224411A (ja) * | 2005-02-16 | 2006-08-31 | Sharp Corp | 交換部品および画像形成装置 |
US9270732B2 (en) * | 2005-03-14 | 2016-02-23 | Rhapsody International Inc. | System and method for automatically uploading updates |
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US7933881B2 (en) * | 2006-03-17 | 2011-04-26 | Microsoft Corporation | Concurrency control within an enterprise resource planning system |
US8788569B2 (en) * | 2006-03-31 | 2014-07-22 | British Telecommunications Public Limited Company | Server computer system running versions of an application simultaneously |
GB2445764A (en) * | 2007-01-22 | 2008-07-23 | Surfcontrol Plc | Resource access filtering system and database structure for use therewith |
US8418168B2 (en) * | 2008-05-29 | 2013-04-09 | Research In Motion Limited | Method and system for performing a software upgrade on an electronic device connected to a computer |
-
2006
- 2006-05-05 US US11/418,747 patent/US7818740B2/en active Active
-
2007
- 2007-05-04 WO PCT/US2007/010873 patent/WO2007130594A2/en active Application Filing
- 2007-05-04 CN CN2007800159798A patent/CN101438261B/zh active Active
- 2007-05-04 EP EP07794562.4A patent/EP2021937B1/en active Active
- 2007-05-04 KR KR1020087027153A patent/KR101376916B1/ko active IP Right Grant
- 2007-05-04 ES ES07794562.4T patent/ES2647039T3/es active Active
-
2010
- 2010-09-29 US US12/893,263 patent/US8370828B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2021937B1 (en) | 2017-08-16 |
EP2021937A4 (en) | 2009-05-06 |
US20070261049A1 (en) | 2007-11-08 |
CN101438261B (zh) | 2011-06-08 |
US20110016461A1 (en) | 2011-01-20 |
KR101376916B1 (ko) | 2014-03-27 |
CN101438261A (zh) | 2009-05-20 |
US8370828B2 (en) | 2013-02-05 |
US7818740B2 (en) | 2010-10-19 |
WO2007130594A2 (en) | 2007-11-15 |
WO2007130594A3 (en) | 2008-01-03 |
KR20090031669A (ko) | 2009-03-27 |
EP2021937A2 (en) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2647039T3 (es) | Técnicas para realizar actualizaciones graduales | |
US10133804B2 (en) | Content item block replication protocol for multi-premises hosting of digital content items | |
US9852147B2 (en) | Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items | |
US10691718B2 (en) | Synchronization protocol for multi-premises hosting of digital content items | |
JP6643490B2 (ja) | 可変ブラウザ識別子のセッションベースのマッチング | |
US9350610B2 (en) | System and method for configuration management service | |
US8306948B2 (en) | Global deduplication file system | |
WO2021184824A1 (zh) | 基于应用程序接口网关的前后端分离方法及相关设备 | |
Patawari | Getting started with ownCloud | |
KR20070008619A (ko) | 무선 장치 동작 환경에서 비검증된 프로그램들의 실행 | |
US8396969B1 (en) | Domain name buckets in a hosted storage system | |
CN104601666A (zh) | 日志服务方法及云平台 | |
CN110968823A (zh) | 一种应用客户端启动方法,业务服务器和客户端设备 | |
US20210026808A1 (en) | Distributed file cache | |
Millar et al. | dCache, agile adoption of storage technology | |
US8849760B2 (en) | Determining whether predefined data controlled by a server is replicated to a client machine | |
US20120117258A1 (en) | Techniques to deploy and undeploy content to and from web servers | |
CN104320483A (zh) | 辅助应用程序升级的系统及其方法 | |
US8065350B2 (en) | Method and system for flexibly providing shared access to data pools | |
Cisco | Release Note for the Cisco 11000 Series Secure Content Accelerator: SCA2 | |
Cisco | Release Notes for Cisco SN 5420 Storage Router Release 1.1.4 | |
CN111158591A (zh) | 一种存储系统适配流媒体业务的方法、设备及介质 | |
Choi | Cisco IOS-XE Upgrade Tools Development Part 1 | |
Garnaat | boto Documentation | |
Pitt et al. | Deploying Masonite |