ES2647039T3 - Técnicas para realizar actualizaciones graduales - Google Patents

Técnicas para realizar actualizaciones graduales Download PDF

Info

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
Application number
ES07794562.4T
Other languages
English (en)
Inventor
John Keith Bankston
Ziyi Wang
Corey M. Roussel
Joel M. Fillmore
Kshamta Jerath
Kimon Tsinteris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2647039T3 publication Critical patent/ES2647039T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental 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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    reivindicaciones
    1. 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, y
    en 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. 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. 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. 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. 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; y
    detener la redireccion y usar dicho nombre de dominio para dicha nueva version una vez que se ha convertido
    dicho conjunto de datos.
  6. 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; y
    dicho 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, y
    detener la redireccion y usar dicho nombre de dominio para dicha nueva version una vez que se ha convertido dicho conjunto de datos.
  7. 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 que
    tiene datos desde una o mas bases de datos de contenido usadas por una aplicacion web.
ES07794562.4T 2006-05-05 2007-05-04 Técnicas para realizar actualizaciones graduales Active ES2647039T3 (es)

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 (66)

* Cited by examiner, † Cited by third party
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
WO2010022100A2 (en) * 2008-08-18 2010-02-25 F5 Networks, Inc. Upgrading network traffic management devices while maintaining availability
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
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8386501B2 (en) * 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
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
WO2012151286A1 (en) * 2011-05-04 2012-11-08 Apperian, Inc. Processing, modification, distribution of installation packages
US8943220B2 (en) * 2011-08-04 2015-01-27 Microsoft Corporation Continuous deployment of applications
US8732693B2 (en) 2011-08-04 2014-05-20 Microsoft Corporation Managing continuous software deployment
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
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9626176B2 (en) 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
US9665359B2 (en) 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US9830142B2 (en) 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments
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

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4413317A (en) * 1980-11-14 1983-11-01 Sperry Corporation Multiprocessor system with cache/disk subsystem with status routing for plural disk drives
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
AU6336798A (en) 1997-02-27 1998-09-29 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
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US20020057018A1 (en) * 2000-05-20 2002-05-16 Equipe Communications Corporation Network device power distribution scheme
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
ATE504446T1 (de) * 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
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
CN101023419B (zh) * 2004-05-14 2010-06-16 模比莱普斯有限公司 提供具有嵌入内容的网页的方法
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

Also Published As

Publication number Publication date
EP2021937A4 (en) 2009-05-06
KR101376916B1 (ko) 2014-03-27
WO2007130594A2 (en) 2007-11-15
KR20090031669A (ko) 2009-03-27
EP2021937B1 (en) 2017-08-16
US7818740B2 (en) 2010-10-19
US20070261049A1 (en) 2007-11-08
CN101438261A (zh) 2009-05-20
US20110016461A1 (en) 2011-01-20
US8370828B2 (en) 2013-02-05
EP2021937A2 (en) 2009-02-11
WO2007130594A3 (en) 2008-01-03
CN101438261B (zh) 2011-06-08

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
JP6643490B2 (ja) 可変ブラウザ識別子のセッションベースのマッチング
US10691718B2 (en) Synchronization protocol for multi-premises hosting of digital content items
US9350610B2 (en) System and method for configuration management service
US8306948B2 (en) Global deduplication file system
Saini Squid Proxy Server 3.1: beginner's guide
Patawari Getting started with ownCloud
JP2019530089A (ja) ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置
US11165810B2 (en) Password/sensitive data management in a container based eco system
US20200153889A1 (en) Method for uploading and downloading file, and server for executing the same
Bowen et al. Apache Cookbook: Solutions and Examples for Apache Administration
CN104601666A (zh) 日志服务方法及云平台
CN110968823A (zh) 一种应用客户端启动方法,业务服务器和客户端设备
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
KR20110116460A (ko) 컨텐츠 수신 방법과 그를 위한 시스템 및 장치
Garnaat boto Documentation
Pitt et al. Deploying Masonite