MXPA05013575A - Metodo y sistema para descargar actualizaciones. - Google Patents

Metodo y sistema para descargar actualizaciones.

Info

Publication number
MXPA05013575A
MXPA05013575A MXPA05013575A MXPA05013575A MXPA05013575A MX PA05013575 A MXPA05013575 A MX PA05013575A MX PA05013575 A MXPA05013575 A MX PA05013575A MX PA05013575 A MXPA05013575 A MX PA05013575A MX PA05013575 A MXPA05013575 A MX PA05013575A
Authority
MX
Mexico
Prior art keywords
update
list
sub
available
pieces
Prior art date
Application number
MXPA05013575A
Other languages
English (en)
Inventor
Jason F Mackay
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA05013575A publication Critical patent/MXPA05013575A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

Las modalidades de la presente invencion proporcionan la habilidad, a un proveedor de servicio, de distribuir actualizaciones de software a varios diferentes receptores que utilizan en ambiente de par a par. La invencion aqui descrita puede ser utilizada para actualizar cualquier tipo de software, incluyendo, pero no limitandose a software de operacion, software de programacion, software anti-virus, software de base de datos, etc. El uso de un ambiente de par a par con seguridad agregada proporciona la habilidad de reducir al minimo el tiempo de descarga para cada par y tambien reduce la cantidad de anchura de banda de egreso que debe ser provista por el proveedor de software para que los receptores (pares) puedan obtener la actualizacion.

Description

METODO Y SISTEMA PARA DESCARGAR ACTUALIZACIONES CAMPO DE LA INVENCION En general, la presente invención se refiere a actualizaciones de computadora y, en particular, a un sistema y método para obtener e instalar actualizaciones utilizando un ambiente de red de par a par.
ANTECEDENTES DE LA INVENCION Las computadoras, y en particular, el software de computadora, son frecuentemente actualizados por un usuario que descarga un parche de software desde un huésped, tal como el proveedor de software, a través de una red, tal como Internet. Actualmente, los parches son descargados en su totalidad desde una fuente individual e instalados en la máquina de descargar para actualizar el software a un estado actual. Mientras esta técnica es operacional tiene varias desventajas. Primero, el proveedor de software que pone el parche a disponibilidad para descargar debe proporcionar una cantidad suficiente de anchuras de banda de egresos para permitir a múltiples clientes descargar actualizaciones al mismo tiempo. Para los proveedores de software con un gran número de clientes, tal anchura de banda de egreso puede hacerse muy costosa. Segundo, un cliente debe descargar el parche completo desde una fuente antes de instalar el parche y actualizar el software. Mientras este puede ser aceptable para parches de pequeño tamaño, para un parche de mayor tamaño, el tiempo necesario para descargar el parche completo desde una fuente puede ser inaceptable. Tercero, si el software proporcionado no ha hecho amplia la banda de egreso disponible para la descarga (particularmente difícil y costosa cuando un parche de prioridad superior, tal como una actualización de seguridad, es liberado), un cliente puede ser temporalmente prohibido de descargar el parche. Los avances recientes en redes de par a par han proporcionado la habilidad de descargar diferentes partes de un gran archivo desde una pluralidad de pares. Por ejemplo, la Figura 1 ilustra un diagrama de bloque de un ambiente de par a par típico para descargar un archivo específico. Para descargar un archivo específico, un cliente 101 solicita el archivo específico desde un huésped ?03. En respuesta, el huésped transmite una lista de par que identifica una pluralidad de pares que hace disponible descargar diferentes piezas de estos archivos solicitados. Por ejemplo, un archivo de vídeo puede estar subdividido en una pluralidad de piezas, aquellas piezas divididas en sub-piezas, y aquellas piezas divididas en sub-sub-piezas. Cada par que ha descargado previamente el archivo de vídeo, ya sea desde una fuente o desde múltiples otros pares, puede hacer disponible para descarga por otros pares, tal como el cliente 101, una o más de estas sub-sub-piezas del archivo completo. La lista de par transmitida por el huésped 103 al cliente 101 identifica cada una de las sub-sub-piezas del archivo específico solicitado y un par asociado que hace disponible para descargar estas sub-sub-piezas. El cliente 101, con el recibo de la lista de pares del huésped 103, recoge un par para cada una de las sub-sub-piezas de las cuales descarga esa sub-sub-pieza. Con las identificaciones de pares, el cliente 101 descarga cada una de las sub-sub-piezas desde los pares seleccionados hasta que todas sub-sub-piezas del archivo específico han sido descargadas. Al descargar las piezas de diferentes pares, múltiples descargas pueden ser conducidas simultáneamente. Mientras se descarga cada sub-sub-pieza, el cliente 101 puede decidir si desea o no hacerse un par que hace disponible para descargar esa sub-sub-pieza (es decir, compartir esa sub-sub-pieza). Si el cliente decide que desea compartir esa sub-sub-pieza, el cliente 101 identifica al huésped 103 la sub-sub-pieza que está deseando compartir. Aunque los ambientes de par a par, tal como esos descritos con respecto a la Figura 1, proporcionan la habilidad a un cliente para descargar un archivo específico que solicita, tal como un archivo de vídeo, no existe actualmente una técnica para la determinación de que archivo puede necesitar un cliente. Por ejemplo, haciendo referencia de nuevo a descargar parches de software, antes de solicitar un parche, un cliente puede no saber solo que actualizaciones están disponibles, sino que actualizaciones necesita el cliente. Incluso, no existe actualmente característica de seguridad para prometer una computadora de descarga de ser comprometida al identificar que está compartiendo antes de ese material siendo completamente integrado en la computadora de descarga. Además, no existe método a través del cual múltiples parches en una memoria caché local del cliente pueden ser priorizados por el proveedor de software cuando el cliente necesita reclamar el espacio de memoria caché local. Por consiguiente, existe una necesidad de un sistema y método que permitan a un cliente identificar actualización en el software necesarias y descargar de forma segura aquellas actualizaciones utilizando un ambiente de par a par.
COMPENDIO DE LA INVENCION Las modalidades de la presente invención proporcionan la habilidad a un proveedor de software de distribuir actualizaciones de software a varios diferentes clientes que utilizan un ambiente de par a par. La invención aquí descrita puede ser utilizada para actualizar cualquier tipo de software, incluyendo, pero no limitándose a, software de operación, software de programación, software antivirus, software de base datos, etc. El uso de un ambiente de par a par con seguridad agregada proporciona la habilidad de reducir al tiempo mínimo de descarga para cada par y también reducir la cantidad de anchura de banda de egreso que debe ser proporcionada por el proveedor de software para permitir a sus clientes (pares) obtener la actualización. De acuerdo con un primer aspecto de la presente invención, se proporciona un método para actualizar el primer dispositivo de cómputo. El método recibe una lista de actualizaciones disponibles, y determina si cualquiera de las actualizaciones en la lista es necesaria. Si cualquiera de las actualizaciones es necesaria, se recibe una lista de dispositivo de cómputo que identifica piezas de la actualización y dispositivos de cómputo de los cuales se pueden obtener aquellas piezas. Aquellas piezas después son descargadas desde los dispositivos de cómputo, en donde al menos dos de la pluralidad de piezas son descargadas de diferentes dispositivos de cómputo. Una vez que las piezas han sido descargadas, el software del primer dispositivo de cómputo es actualizado utilizando las piezas descargadas. De acuerdo con otro aspecto de la presente invención, se proporciona un método para proporcionar una lista de par a un cliente para descargar actualizaciones de software. El método transmite una lista que identifica una actualización disponible y recibe una solicitud de lista de par para la actualización disponible. En respuesta, se genera una lista par que identifica una pluralidad de pares, en donde cada par identificado se hace disponible para descargar al menos una porción de la actualización disponible. Esa lista par después es transmitida. De acuerdo con otro aspecto de la presente invención, un sistema de computadora que tiene un medio legible por computadora incluyendo un programa ejecutable por computadora en él para realizar el método de obtener una actualización es proporcionado. El sistema de computadora recibe una lista de actualizaciones disponibles e identifica una actualización necesaria de la lista de actualizaciones disponibles. Después una lista de par es solicitada y recibida para actualización necesaria. La lista par recibida identifica una pluralidad de piezas de la actualización necesaria, e identifica para cada pieza, uno o más dispositivos de cómputo que hacen esa pieza disponible para descarga. El sistema de computadora después descarga cada una de las piezas desde los dispositivos de cómputo identificados.
BREVE DESCRIPCION DE LOS DIBUJOS Los aspectos anteriores y muchas de las ventajas pendientes de esta invención se harán más evidentemente apreciadas mientras lo mismo se entiende mejor por referencia a la siguiente descripción detalla, cuando se toma en conjunto con los dibujos acompañantes, en donde: La Figura 1 ilustra un diagrama de bloque de un ambiente de par a par típico para descargar un archivo específico; Las Figuras 2A-2C ilustran un diagrama de estado para descargar una actualización de software que utiliza un ambiente de par a par, de acuerdo con una modalidad de la presente invención; La Figura 3 es un diagrama de bloque de una lista de opciones de actualización que identifican diferentes opciones para actualizaciones necesarias que pueden ser generadas por un huésped, de acuerdo con una modalidad de la presente invención; La Figura 4 ilustra un diagrama de bloque de una lista de par que identifica pares para una actualización necesaria en respuesta a una solicitud para una lista par de un cliente, de acuerdo con una modalidad de la presente invención; La Figura 5 es un diagrama de flujo ilustrativo de una rutina de actualización de software de cliente para actualizar software de un cliente, de acuerdo con una modalidad de la presente invención; La Figura 6 ilustra un diagrama de flujo de una subrutina de descarga que puede ser ejecutada como parte de una rutina de actualización de software de cliente para descargar piezas de una actualización necesaria desde diferentes pares, de acuerdo con una modalidad de la presente invención; La Figura 7 ¡lustra un diagrama de flujo de una subrutina de prioridad para expandir tamaño de memoria caché en un sistema de cliente para permitir una descarga de un parche, de acuerdo con una modalidad de la presente invención; y La Figura 8 ilustra una rutina de huésped para hacer disponibles actualizaciones que utilizan un ambiente de par a par, de acuerdo con una modalidad de la presente invención.
DESCRIPCION DETALLADA DE LA MODALIDAD PREFERIDA Las modalidades de la presente invención proporcionan la habilidad a un proveedor de software denominado aquí como un huésped, para distribuir piezas de actualizaciones de software a varios diferentes receptores (denominados aquí como pares). Un par, como se denomina aquí, incluye cualquier tipo de dispositivo de cómputo que hace disponible para descargar una porción (pieza) de una actualización de software. Por ejemplo, un par puede ser, pero no está limitado a, un dispositivo de cómputo individual, un servidor, un dispositivo de cómputo huésped, un dispositivo de cómputo de cliente, etc. Los pares con piezas de una actualización de software hacen cada pieza disponibles a otros pares para descargarse. Mientras los pares adicionales obtienen las mismas piezas de software, hacen demasiadas piezas disponibles para descargar por otros pares. De esa forma, mientras el número de pares que contienen una pieza crece, el número de sitios de descarga disponibles para pieza aumenta. Las Figuras 2A-2C ilustran un diagrama de estado para descargar una actualización de software que utiliza un ambiente de par a par, de acuerdo con una modalidad de la presente invención. El ambiente de par a par 200 proporciona la habilidad a un cliente 201 de identificar actualizaciones necesarias y obtener una lista de pares desde un huésped 203 desde el cual puede obtener porciones de esas actualizaciones.
Haciendo referencia primero a la Figura 2A, en un estado inicial, el cliente 201 solicita desde un huésped una lista de actualizaciones que están disponibles desde el huésped 203. En una modalidad alternativa, el huésped 203 puede, en tiempos periódicos, publicar una lista de actualización disponible que es obtenida por un cliente 201. El huésped 203, con la recepción de una solicitud de una lista de actualizaciones disponibles, envía lista de actualizaciones disponibles al cliente 201. El cliente 201 se revisa asimismo para determinar su estado actual y compara ese estado con la lista de actualizaciones disponibles para determinar que actualizaciones son necesarias. Con una determinación de actualizaciones necesarias, el cliente 201 solicita una lista de opciones de actualización para las actualizaciones necesarias desde el huésped 203. El huésped 203 con el recibo de una solicitud de opciones de actualización para actualizaciones necesarias construye una lista de opciones de actualización. Para asuntos de privacidad de un cliente, en una modalidad de la presente invención, una cantidad mínima de información de cliente es pasada del cliente al huésped. Por ejemplo, justo como se discutió, el huésped proporciona una lista de actualizaciones disponibles y el cliente decide cuales son necesarias. En una modalidad alternativa, un cliente podría proporcionar un huésped con una identificación de su estado actual, o información que corresponde a varios estados de información, y el huésped podría informar al cliente de actualizaciones necesarias. 1 o Haciendo referencia a la Figura 3, una lista de opciones de actualización que identifica diferentes operaciones para actualizaciones necesarias que puede ser generada por un huésped, de acuerdo con una modalidad de la presente invención, es descrita. La lista de opciones de actualización 300 identifica, para actualización solicitada por el cliente 201, tal como ACTUALIZACION 1 301, las diferentes opciones disponibles para obtener esa actualización. Adicionalmente, la lista de opciones de actualización 300 puede incluir opciones de actualización para diferentes actualizaciones solicitadas. Por ejemplo, asumiendo que el cliente 201 solicitó opciones de actualización para ACTUALIZACION1 301 y ACTUALIZACION? 303, la lista de opciones de actualización 300 podría incluir una identificación para cada una de las actualizaciones solicitadas 301, 303 y una identificación de las opciones diferentes disponibles para obtener esa actualización. Por ejemplo, la ACTUALIZACION 1 301 puede incluir una identificación de un Parche Completo 1 305, un Parche Delta 1.1 307, un Parche Delta 1.2 309, y un Parche Delta 1.3 311. De forma similar, la ACTUALIZACIÓN? 303 puede incluir una identificación de un Parche Completo 7 313, un Parche Delta 7.1 7.1 315, un Parche Delta 7.2 317, un Parche Delta 7.3 319. El Parche Completol 305, es una actualización completa que puede ser instalada para traer el software desde un estado existente a un estado actual. Cada parche delta puede ser utilizado para traer el software desde un estado existente conocido hasta un estado actual sin tener que utilizar el parche completo. El software que va a ser actualizado frecuentemente está en uno de varios diferentes estados conocidos que pueden ser identificados. De esa forma, para cada uno de aquellos estados conocidos un parche delta puede ser utilizado para modificar ese software para traerlo a un estado actual. Por ejemplo, el parche De Ita 1.1 307 puede ser utilizado para traer una versión de software de un estado existente conocido a un estado actual. Con el fin de permitir al cliente 201 determinar si puede utilizar uno de los parches delta para actualizar el software, cada parche delta incluye una lista de archivos y un valor de mezcla esperado para esos archivos. El valor de mezcla esperado puede ser utilizado para determinar si el parche delta es apropiado para el software existente. Por ejemplo, el parche Delta1.1 307 incluye un Archivo 1.1 320 con un valor de mezcla esperado 321, un Archivo1.1 322 con un valor de mezcla esperado 323, y un Archivo 1.3 324 con un valor de mezcla esperado 325. Un cliente, al recibir la lista de opciones de actualización 300, puede mezclar el estado actual de los archivos que van a ser actualizados en el sistema del cliente 201 y determinar si los valores de mezcla concuerdan con los valores de mezcla esperados contenidos en la lista de actualización. Si los valores de mezcla concuerdan, entonces el parche delta correspondiente puede ser utilizado para actualizar el sistema del cliente. Al utilizar un parche delta, tal como Delta1.1 307, en vez de utilizar un parche completo, tal como Parche Completol 305, resulta en una descarga más pequeña debido a que es una actualización parcial en vez de una actualización completa. Haciendo referencia ahora a la Figura 2B, una vez que el huésped 203 ha generado la lista de opciones de actualización solicitada, la lista de opciones de actualización es transmitida al cliente 201. El cliente 201, selecciona de la lista de opciones de actualización el parche para cada actualización que traerá el estado del cliente 201 a un estado actual. Como se discutió anteriormente, el cliente puede seleccionar un parche completo o un parche delta apropiado para las actualizaciones que son necesarias. Como se apreciará por un experto en la técnica, una o más actualizaciones necesarias pueden ser seleccionadas de la lista de opciones de actualización. Con la selección de cada uno de los parches apropiados, el cliente 201 solicita una lista par para las actualizaciones necesarias. El huésped 203, en respuesta a recibir una solicitud para una lista par para actualizaciones necesarias, construye la lista de par solicitada y transmite esa lista par al cliente 20 . El huésped mantiene una lista par maestra que identifica cada par que hace porciones de actualización disponibles para descarga. Si una actualización nunca ha sido descargada desde el huésped, una lista par inicial puede solo identificar el huésped como siendo un par disponible. En tal situación, el cliente sería el primero en descargar la actualización y seleccionaría el huésped como parche y descargaría el archivo completo desde el huésped. Como se discute más adelante, una vez que el cliente ha descargado e instalado la actualización, identifica al huésped que está siendo disponible para descargar (compartir) una o más de las porciones de la actualización. De esa forma, el huésped agregaría ese a la lista par maestra para las porciones de la actualización que el cliente compartirá. Mientras los clientes adicionales descargan la actualización desde el huésped, el par, o ambos, y los identifica como ahora haciendo porciones de la actualización disponible para descarga, el número disponible de pares crece. La Figura 4 ¡lustra un diagrama de bloque de una lista par que identifica pares para una actualización necesaria en respuesta a una solicitud por una lista par desde un cliente, de acuerdo con una modalidad de la presente invención. Continuando con el ejemplo anterior, asumiendo que un cliente 201 solicitó el parche Delta1.1 401, y Parche Completo7 403, la lista par 400 incluirá detalles de cada uno de esos parches e identificación de pares para aquellos parches. Los valores de mezcla también son incluidos para verificar la autenticidad de parches descargados. Por ejemplo, el parche Delta1.1 401 incluye una mezcla delta y un valor de prioridad para ese parche. Como se discutirá en detalle más adelante, el valor de mezcla para el parche puede ser utilizado para confirmar la validez de la mezcla antes de la instalación. Adicionalmente, para cada archivo de un parche, tal como Archivo1.1 405 y Archivo1.2 407, se incluye una mezcla delta. Similar a la mezcla delta del parche, la mezcla delta para el archivo puede ser utilizada para verificar la autenticidad del archivo. El valor de prioridad del parche puede ser utilizado para determinar si las piezas de un parche van a ser mantenidas en una memoria caché de la computadora de cliente o eliminadas. En una modalidad alternativa, el valor de prioridad puede no estar incluido en el parche. En tal modalidad, las piezas son guardadas a la memoria caché y mientras el espacio de almacenamiento adicional se hace necesario, la computadora de cliente puede solicitar una lista de prioridad para las piezas que actualmente están localizadas en la memoria caché (ver Figura 7). Esto proporciona la habilidad al huésped de controlar dinámicamente las prioridades de piezas con el tiempo. Adicionalmente, cada archivo, tal como Archivo1.1 405, puede estar dividido en piezas, tal como Piezal 409 y Pieza2 411. Cada pieza de un archivo además puede estar dividida en sub-piezas, y esas sub-piezas divididas en sub-sub-piezas. Por ejemplo, la Piezal 409 puede estar dividida en sub-piezas, tal como Subpieza1.1 413 y Subpieza1.2 415. De forma similar, esas sub-piezas además pueden estar divididas en sub-sub-piezas, tal como Subsubpiezal .1.1 417 y Subsubpiezal .1.2 419. Como se apreciará por un experto en la técnica, la división en piezas, sub-piezas, y sub-sub-piezas, puede ser tomada en cualquier nivel de división, y la granularidad de sub-sub-pieza como se describe aquí, es solo para propósitos de explicación. El nivel más pequeño de división, tal como sub-sub-pieza, incluye una identificación de uno o más pares que hacen la pieza disponible para descarga. Por ejemplo, la Subsubpiezal 417 incluye una identificación de dos pares que hacen esa pieza disponible para descarga. En particular, la Subsubpieza 1.1.1 417 puede ser descarga desde el Parí 421 o Par4 425. Cada par que hace una sub-sub-pieza disponible para descarga es identificado por una dirección, tal como una dirección de protocolo de Internet. La lista de par 400 puede incluir una identificación de todos los pares que hacen una sub-sub-pieza disponible para descarga, una porción de los pares que hace sub-sub-pieza disponible para descarga, o un par para cada sub-sub-pieza. Adicionalmente, para cada par enlistado en la lista de par, se puede proporcionar información adicional. Por ejemplo, la información adicional sobre un par puede incluir, pero no está limitada, la banda de egreso del par, la clasificación del par (que tan confiable es el par), las afiliaciones de pares de compañías u organizaciones, la historia de uso de pares del sistema de descarga de par a par, etc. La lista de par también puede incluir un grupo de comandos de actualización 427, que proporciona instrucciones como cómo instalar el mismo parche delta. Haciendo referencia de nuevo a la Figura 2B, el cliente 201, con el recibo de una lista de par, selecciona pares de las sub-sub-piezas identificadas en la lista de par. La selección de par y piezas será descrita en mayor detalle más adelante con respecto a la Figura 6. Con la selección de sub-sub-piezas y pares de los cuales aquellas piezas van a ser descargadas, el cliente 201 abre varios canales de comunicaciones con los diferentes pares y comienza a descargar las diferentes piezas de las actualizaciones simultáneamente. La técnica de descargar diferentes piezas de una actualización de diferentes pares aumenta la velocidad con la cual una actualización puede ser obtenida y con ello disminuye el tiempo de descarga total. Adicionalmente, al proporcionar actualizaciones a través de un ambiente de par a par, se reduce la anchura de la banda de egreso necesaria por el huésped 203. Utilizando las modalidades de la presente invención, mientras el cliente contacta al huésped, descarga una actualización, y comienza a compartir piezas de aquellas actualizaciones con otros clientes (es decir, otros pares), la anchura de banda de egresos fuera del huésped 203 reduce mientras los clientes están obteniendo piezas de la actualización desde otros pares en vez del huésped. La técnica controla púas extremas a demanda de contenido específico mucho más efectivas que servicios de archivo tradicional que puede ser más costoso y con peor falla completamente bajo la carga. Haciendo referencia ahora a la Figura 2C, mientras se completa la descarga de cada sub-sub-pieza, esa sub-sub-pieza es mezclada y comparada con el valor de mezcla incluido en la lista de par para confirmar que la sub-sub-pieza no ha sido alterada. Una vez que todas las sub-sub-piezas para un parche particular han sido descargas y autentificadas, aquellas piezas son ensambladas para recrear el parche. Adicionalmente, una copia de una o más de las sub-sub-piezas descargadas es mantenida en una memoria caché. Aquellas copias pueden ser hechas disponibles para descargarse por otros pares. El parche ensamblado es instalado para actualizar el cliente a un estado actual. Con el término de la instalación, el sistema de computadora de cliente puede ser reiniciado si es necesario. Una vez que la instalación de los parches y o inicio de la computadora de cliente 201 (si es necesario) han sido completados, el cliente 201 transmite al huésped 203 una identificación de la sub-sub-pieza que están almacenadas en la memoria caché. Tal identificación puede ser un valor de mezcla de cada sub-sub-pieza almacenada. El huésped 203, con la recepción de una identificación de sub-sub-pieza guarda en memoria caché, actualiza la lista par maestra agregando al cliente como un par que hace aquellas piezas disponibles para descarga. La lista de par maestra incluye una lista de cada par que mantiene una pieza de un parche está hecha disponible para descarga por otros clientes. La Figura 5 es un diagrama de flujo que ilustra una rutina de actualización de software de cliente para actualizar software de un cliente, de acuerdo con una modalidad de la presente invención. La rutina de actualización de software de cliente 500 comienza en el bloque 501 y en el bloque 503 la solicitud del cliente y obtiene una lista de actualización. Como se discutió anteriormente, la lista de actualización incluye una identificación de actualizaciones que son disponibles para descarga. Utilizando esa lista, en el bloque 505, el cliente compara el estado de su sistema existente con las actualizaciones disponibles. Basándose en esa comparación en el bloque de decisión 507, se hace una determinación de que actualizaciones son necesarias para traer al sistema existente al cliente a un estado actual. Si se determina en el bloque de decisión 507 que las actualización son necesarias, en el bloque de decisión 509, se hace una determinación de si un parche delta para la actualización necesaria está disponible. Como se discutió anteriormente, una determinación de si un parche delta está disponible para una actualización necesaria puede ser averiguado al solicitar opciones de actualización para una actualización necesaria y recibir una lista de diferentes opciones de actualización. La lista de diferentes opciones de actualización incluye una identificación de parches delta y valores de mezcla esperados para archivos que serán actualizados por el parche delta. Al comparar los valores de mezcla esperados del parche delta con los valores de mezcla de los archivos en el cliente, se puede hacer una determinación por el cliente de si un parche delta .está disponible. En una modalidad alternativa, la lista de actualizaciones disponibles también puede incluir opciones de actualización para cada actualización disponible, con ello removiendo la necesidad de obtener subsecuentemente opciones de actualización. Al permitir a un cliente determinar si un parche delta está disponible, como opuesto al cliente que proporciona valores de mezcla de su sistema existente a un huésped, permite al cliente mantener la privacidad con respecto a sí mismo. Si se determina en el bloque de decisión 509 que un parche delta está disponible, el parche delta es agregado a una lista de descarga, como se ilustró por el bloque 511. Sin embargo, si se determina en el bloque 509 que un parche delta no está disponible, en el bloque 513 una identificación de un parche completo para la actualización es agregada a la lista de descarga. En el bloque de decisión 515, se hace una determinación de si las actualizaciones adicionales son necesarias para traer al cliente a un estado actual. Si se determina en el bloque de decisión 515 que las actualizaciones adicionales son necesarias, la rutina de actualización de software de cliente 500 regresa al bloque de decisión 509 y la rutina continúa. Sin embargo, si se determina en el bloque de decisión 515 que las actualizaciones adicionales no son necesarias, en el bloque 517 el cliente solicita una lista par para los parches identificados en la lista de descarga. En respuesta a la solicitud de una lista de par en el bloque 517, en el bloque 519, el cliente recibe una lista de par que incluye una identificación de pares que hace disponible para descargar cada sub-sub-pieza de cada parche identificado en la lista de descarga. Con la recepción de una lista de par, la subrutina de descarga, ilustrada por el bloque 521, es realizada. La subrutina de descarga será descrita en más detalle con respecto a la Figura 6. Con el término de la subrutina de descarga, en el bloque 523, las sub-su b-piezas descargadas son ensambladas para recrear los parches solicitados y aquellos parches son instalados en el sistema de cliente para traer al sistema de cliente a un estado actual. Una vez que la instalación de parches descargados ha sido completada y el sistema de cliente es reinlciado, si es necesario, la rutina de actualización de software de cliente 500 transmite una mezcla de su b-su b-piezas guardadas en memoria caché, como se ¡lustró por el bloque 525. Las sub-sub-piezas guardadas en memoria caché son aquellas piezas que están almacenadas en una memoria caché de un cliente que el cliente hará disponibles para descargar por otros pares. En una modalidad de la presente invención, un cliente es requerido para compartir piezas que ha descargado desde otros pares para asegurar que se mantenga el ambiente de par a par.
Por ejemplo, si un cliente descarga 50 MB de actualizaciones a través de un ambiente de par a par, el cliente puede ser requerido para hacer disponibles para descarga la misma cantidad de datos que por sí mismo ha descargado. En un ambiente real de la presente invención, la mezcla de sub-sub-pieza guardadas en memoria caché no puede ser transmitida, con ello identificando que la participación está disponible, hasta que cada una de las piezas haya sido verificada e instalada. Verificar e instalar parches antes de compartir esos parches puede ser necesario debido a que cuando una lista par es proporcionada a otros pares desde un huésped, la dirección de un par podría ser utilizada con el conocimiento de una falta de par de un parche particular, tal ' como uno siendo descargado, para comprometer la máquina de par. Una vez que la mezcla de sub-sub-piezas guardadas en memoria caché ha sido transmitida al bloque 525, o si es transmitida en el bloque de decisión 507 que ninguna de las actualizaciones son necesarias, la rutina de actualización de software de cliente 500 se completa en el bloque 527. La rutina de actualización de software de cliente 500 puede ser manualmente iniciada, o en la alternativa, programada para correr en una base periódica para asegurar que el cliente es mantenido en un estado actual. Por ejemplo, la rutina de actualización de software de cliente 500 puede ser programada para correr en la tarde o cuando el dispositivo de cómputo de cliente no está siendo utilizado. Adicionalmente, mientras se agrega una característica de seguridad, la lista de actualización disponible, la lista de opciones de actualización, y la lista de par cada uno puede ser digitalmente marcada por el huésped para que no puedan ser alteradas. Los documentos marcados digitalmente son conocidos en la técnica y de esa forma no serán descritos aquí en mayor detalle. La Figura 6 ilustra un diagrama de flujo de una subrutina de descarga que puede ser ejecutada como parte de una rutina de actualización de software de cliente para descargar piezas de un parche desde diferentes pares, de acuerdo con una modalidad de la presente invención. Aunque la subrutina de descarga 600 es descrita con respecto a descargar un parche, se apreciará que cualquier número de parches pueden ser descargados ya sea simultáneamente o en diferentes momentos utilizando la subrutina de descarga 600. La subrutina de descarga 600 comienza en el bloque 601 y en el bloque 603 una lista de par para cada una de las sub-sub-piezas de uno o más parches es recibida. Como se discutió anteriormente, ia lista de par identifica las direcciones de pares que hacen disponibles para descargar diferentes sub-sub-piezas de un parche. Durante la descarga de sub-sub-piezas, la lista de par puede ser periódicamente actualizada (por ejemplo, cada dos minutos) para asegurar que el cliente está solicitando descargas para pares disponibles. Al utilizar esta lista de par, en el bloque de decisión 605, se hace una determinación de si la memoria caché adicional será necesaria para almacenar la sub-sub-piezas del parche antes de la instalación. Se determina en el bloque de decisión 605 que la memoria caché adicional será necesaria, una subrutina de prioridad es ejecutada, como se ilustró por el bloque 607. La subrutina de prioridad para obtener memoria caché adicional será descrita en mayor detalle con respecto a la Figura 7. Sin embargo, si se determina en el bloque de decisión 605 que la memoria caché adicional no es necesaria, en el bloque 609 un archivo de parche que está siendo descargado es seleccionado. En el bloque 611, una pieza del archivo seleccionado es elegida para qué descarga va a comenzar. Al utilizar esta pieza seleccionada, en el bloque de decisión 613 se hace una determinación de si una de las sub-piezas de esa pieza ha terminado de descargarse. Si se determina que una de las sub-piezas de esa pieza no ha terminado de descargar, en el bloque de decisión 615 se hace una determinación si una de las sub-sub-piezas de la sub-pieza ha sido descargada. Si se determina en el bloque de decisión 615 que una de las sub-sub-piezas de una sub-pieza no ha sido descargada, en el bloque 617, una sub-sub-pieza de sub-pieza es aleatoriamente seleccionada. En el bloque 619, un par que hace disponible para descarga la sub-sub-pieza aleatoriamente seleccionada también es aleatoriamente seleccionado. Con la selección de una sub-sub-pieza y un par, en el bloque 621, la descarga de la sub-sub-pieza del par seleccionado comienza. Una vez que ha comenzado la descarga de sub-sub-pieza, la subrutina de descarga 600 regresa al bloque 613 y continúa. Haciendo referencia de nuevo al bloque de decisión 615, si se determina que una de las sub-sub-piezas ha completado su descarga, en el bloque 623 una sub-subpieza de una sub-pieza que tiene al menos cantidad de pares para las cuales la sub-pieza está disponible para descarga es seleccionada. Adicionalmente, en el bloque 625, uno de los pares para la sub-sub-pieza seleccionada es aleatoriamente elegido. En el bloque 627, la descarga de la sub-sub-pieza seleccionada del par elegido aleatoriamente es iniciada. Una vez que la descarga de la sub-sub-pieza seleccionada ha comenzado, en el bloque 627, la subrutina de descarga 600 regresa al bloque 613 y continúa. Debido a que múltiples sub-sub-piezas pueden ser descargas al mismo tiempo, con ello disminuyendo el tiempo total necesario para descargar un parche, o múltiples parches, una vez que la descarga ha comenzado en el bloque 621 o bloque 627, la subrutina de descarga 600 continúa al elegir otra pieza y otro par e iniciar esa descarga. De esa forma, una facturación total de banda de egreso para un cliente que está descargando una actualización puede ser realizada y la descarga de una actualización puede ser completada rápidamente. Adicionalmente, mientras la descarga de cada sub-sub-pieza se completa, la autenticidad de esas piezas puede ser verificada al mezclar la sub-sub-pieza y comparar el valor de mezcla con el valor de mezcla incluido en la lista de par. Haciendo referencia ahora al bloque de decisión 613, si se determina que una sub-pieza de una pieza ha terminado de descargarse, en el bloque de decisión 629 se hace una determinación de si todas las piezas de un archivo han determinado de descargarse. Si se determina en el bloque de decisión 629 que todas las piezas de un archivo no han terminado de descargarse, la subrutina de descarga 600 regresa al bloque 611 y recoge otra pieza y el procedimiento continúa. Sin embargo, si se determina en el bloque de decisión 629 que todas las piezas de un archivo han terminado de descargarse, en el bloque de ' decisión 631, una determinación se hace de si todos los archivos para el parche han terminado de descargarse. Si se determina en el bloque de decisión 631 que todos los archivos para el parche no han terminado de descargarse, la subrutina de descarga 600 regresa al bloque 609 y otro archivo que va a ser descargado es seleccionado. Sin embargo, si se determina en el bloque de decisión 631 que todos loa archivos del parche han sido descargados y de esa forma, todas las piezas, sub-piezas y sub-sub-piezas del parche también han sido descargadas la rutina se completa en el bloque 633 y regresa el control a la rutina de actualización de software de cliente 500 (Figura 5). La Figura 7 ilustra un diagrama de flujo de una subrutina de prioridad para expandir el tamaño de memoria caché en un sistema de cliente para habilitar una descarga de un parche, de acuerdo con una modalidad de la presente invención. Una subrutina de prioridad 700 comienza en el bloque 701 y en bloque 703 una lista de todas las sub-sub-piezas guardadas en memoria caché actualmente que son compartidas es transmitida a un huésped. En respuesta a la transmisión de una lista de sub-sub-piezas guardadas en memoria caché que son compartidas, en el bloque 705, las prioridades para cada una de esas sub-sub-piezas es recibida. Las sub-sub-piezas pueden ser asignadas con prioridades basadas en la frecuencia con la que están siendo solicitadas para descarga. Por ejemplo, si se ha publicado una nueva actualización para proporcionar una defensa contra un nuevo virus de computadora, los parches, y de esa forma, las sub-sub-piezas, para esa actualización pueden ser descargados en una frecuencia muy alta. De esa forma, las sub-sub-piezas de esa actualización pueden recibir una prioridad superior. Al recibir las prioridades para sub-sub-piezas guardadas en memoria caché, en el bloque 707, una sub-sub-pieza guardada en memoria caché con una prioridad inferior es eliminada de la memoria caché. En el bloque de decisión 709, se hace una determinación de si está disponible el espacio suficiente en la memoria caché para la actualización una vez que sea eliminado una sub-sub-pieza compartida. Si se determina en el bloque de decisión 709 que está disponible el espacio suficiente, la rutina regresa el control a la subrutina de descarga 600 (Figura 6), Como se ilustro por el bloque 723. Sin embargo, si se determina en el bloque de decisión 709 que no está disponible aún el espacio suficiente, en el bloque de decisión 711, se hace una determinación de si existen otras sub-sub-piezas guardas en memoria caché compartidas que aún no han sido eliminadas. Si se determina en el bloque decisión 711 que aún existen sub-sub-piezas guardas en memoria caché restantes que están compartidas, la subrutina de prioridad 700 regresa al bloque 707 y elimina la siguiente prioridad inferior y el procedimiento continúa. En una modalidad real de la presente invención, algunas sub-sub-piezas guardadas en memoria caché asociadas con partes para actualizaciones particulares pueden ser identificadas mientras no sean eliminables. Por ejemplo, si la sub-sub-pieza está asociada con una actualización que es descargada frecuentemente en extremo, puede ser identificada mientras no es eliminable para asegurar que existen suficientes pares de los cuales la sub-sub-pieza puede ser descargada. Si se determina en el bloque de decisión 711 que no existen sub-sub-piezas guardadas en memoria caché restantes que pueden ser eliminadas, en el bloque de decisión 713 se hace una determinación de si cualquier parche ha sido completamente descargado. Como se discutió anteriormente, múltiples parches pueden ser descargados simultáneamente, de acuerdo con una modalidad de la presente invención. Si uno de esos parches ha sido completamente descargo, en el bloque de decisión 713, se identifica y en el bloque 717 el parche es instalado. La instalación puede resultar en el resto de las descargas siendo pausadas mientras esa actualización está siendo instalada. Sin embargo, la tecnología existente permite las descargas pausadas ser resumidas sin tener que reiniciarse. De esa forma, no existe pérdida sustancial de datos de descargados que resultan de una pausa/reinicio de una descarga. Una vez que el parche descargado ha sido instalado, en el bloque 717, la sub-sub-piezas de ese parche son eliminadas de la memoria caché, como se ilustró por el bloque 719, a menos que estén identificados como no eliminables. Con la eliminación de las descargas, en el bloque de decisión 721, se hace una determinación de si existe espacio suficiente en la memoria caché para descargar la actualización. Si se determina en el bloque de decisión 721 que no existe espacio suficiente en la memoria caché, la subrutina de prioridad 700 regresa al bloque de decisión 713 y determina si existen otros parches que tienen descargas completas y el procedimiento continúa. Regresando de nuevo al bloque de decisión 713, si se determina que no existen parches que tengan descarga completa, en el bloque 715 el tamaño de memoria caché es expandido. Un tamaño de memoria caché puede ser expandido al solicitar a un usuario del sistema de cliente expandir el tamaño de memoria caché. Alternativamente, el tamaño de memoria caché puede ser automáticamente expandido. Una vez que es espacio suficiente en la memoria caché ha sido preparado para descargar actualizaciones, ya sea al eliminar piezas existentes de la memoria caché o expandir el tamaño de memoria caché, la subrutina de prioridad 700 se completa en el bloque 723, regresando el control a la subrutina de descarga 600. La Figura 8 ilustra una rutina de huésped para ser disponibles las actualizaciones al utilizar un ambiente de par a par, de acuerdo con una modalidad de la presente invención. La rutina de huésped 800 comienza en bloque 801 y en el bloque 803 el huésped recibe una solicitud para una lista de actualización. Como se discutió anteriormente, la lista de actualización es una lista de actualizaciones disponibles que es proporcionada por ese huésped para descarga. En el bloque 805, el huésped trasmite la lista de actualización que identifica descargas disponibles. Una vez que la lista de actualización ha sido transmitida, en algún punto posterior en el tiempo, una solicitud para actualizar opciones para una o más actualizaciones disponibles identificadas en la lista de actualización es recibida de un cliente, como se ilustró por el bloque 807. En el bloque 809, una lista de opciones de actualización es generada para las actualizaciones identificadas en la solicitud recibida en el bloque 807. Como se discutió anteriormente, la listade opciones de actualización incluye una identificación de parche que puede ser utilizado para obtener la actualización. Después esa lista es transmitida al cliente que solicitó las opciones de actualización. En el bloque 811, una solicitud de lista de par es recibida para solicitar una lista de par para uno o más de los parches identificados en la lista de opciones transmitida en el bloque 809. El huésped, en el bloque 813, genera y transmite una lista para los parches solicitados. Como se discutió anteriormente, la lista de par identifica, para cada parche, las piezas, sub-piezas, y sub-sub-piezas. Adicionalmente, para cada una de esas sub-sub-piezas uno o más pares y la dirección de esos pares están incluidos para identificar de donde se pueden obtener esas sub-sub-piezas. La lista de par después es transmitida al cliente, y en el bloque 815, una identificación de las sub-sub-piezas que han sido descargadas y almacenadas por ese cliente que ahora está disponible para compartir con otros pares es recibida. La lista recibida es utilizada para actualizar una lista de par maestra 817 que incluye una identificación de todas las sub-sub-piezas para actualizaciones disponibles y los pares que tienen esas sub-sub-piezas disponibles para descarga. La rutina de huésped 800 se completa en el bloque 819. Aunque las modalidades de la invención han sido ilustradas y descritas, se apreciará que varios cambios pueden ser hechos en ella sin apartase del espíritu y alcance de la invención.

Claims (23)

  1. REIVINDICACIONES 1. - Un método para actualizar un primer dispositivo de cómputo, el método comprende: recibir una lista de actualizaciones disponibles; determinar una actualización necesaria de lista de actualizaciones disponibles, en donde la actualización necesaria está segmentada en una pluralidad de piezas; recibir una lista de dispositivos de cómputo, en donde la lista de dispositivos de cómputo identifica, para cada pieza de la pluralidad de piezas, al menos un dispositivo de cómputo que hace la pieza disponible para descarga; descargar cada pieza de la pluralidad de piezas de la pluralidad de dispositivos de cómputo, en donde al menos dos de la pluralidad son descargadas de diferentes dispositivos de cómputo; y actualizar el software del primer dispositivo de cómputo utilizando las piezas descargadas. 2. - El método de acuerdo con la reivindicación 1, que además comprende: recibir una lista de opciones de actualización para la actualización necesaria, en donde cada opción de autorización es segmentada en una pluralidad de piezas; seleccionar una opción de actualización de la lista de opciones de actualización; y en donde recibir una lista de dispositivos de cómputo, incluye recibir una lista de dispositivos de cómputo que identifican, para cada pieza de la opción de actualización seleccionada, al menos un dispositivo de cómputo. 3. - El método de acuerdo con la reivindicación 2, en donde la lista de opciones de actualización incluye, para la actualización necesaria, un parche completo, y al menos y parche delta. 4. - El método de acuerdo con la reivindicación 3, en donde el parche delta incluye un nombre de archivo y un valor de mezclado esperado para un archivo. 5.- El método de acuerdo con la reivindicación 1, en donde determinar una actualización necesaria incluye escanear el primer dispositivo de cómputo para determinar su estado actual, y comparar el estado actual con la lista de actualizaciones disponibles. 6. - El método de acuerdo con la reivindicación 1, en donde la lista de dispositivos de cómputo incluye, para al menos uno de la pluralidad de piezas, una identificación de una pluralidad de dispositivos de cómputo. 7. - El método de acuerdo con la reivindicación 1, en donde los dispositivos de cómputo son identificados por una dirección de protocolo Internet. 8. - El método de acuerdo con la reivindicación 1, en donde actualizar el software incluye: ensamblar las piezas descargadas en un parche; e instalar el parche. 9.- El método de acuerdo con la reivindicación 1, en donde cada pieza descargada es confirmada basándose en una mezcla de la pieza . 10. - El método de acuerdo con la reivindicación 1, que además comprende: proporcionar una identificación de piezas descargadas; y compartir las piezas descargadas identificadas con otros dispositivos de cómputo. 11. - El método de acuerdo con la reivindicación 10, en donde la identificación de piezas descargadas incluye un valor de mezcla de cada pieza descargada. 12. - El método de acuerdo con la reivindicación 1, en donde con un punto predeterminado, las piezas descargadas identificadas no son compartidas. 13. - Un método para proporcionar una lista par a un cliente para descargar actualizaciones de software, el método comprende: transmitir una lista que identifica una actualización disponible; recibir una solicitud de lista par para la actualización disponible; generar una lista par que identifica una pluralidad de pares, en donde cada par identificado se hace disponible para descargar al menos una porción de la actualización disponible; y transmitir la lista par. 14. - El método de acuerdo con la reivindicación 13, en donde la lista que identifica una actualización disponible, identifica una pluralidad de actualizaciones disponibles. 15. - El método de acuerdo con la reivindicación 13, en donde la lista identifica, para la actualización disponible, una pluralidad de opciones de actualización. 16. - El método de acuerdo con. la reivindicación 15, en donde la pluralidad de opciones de actualización incluye un parche completo y al menos un parche delta. 17. -. El método de acuerdo con la reivindicación 13, que además comprende: en respuesta a transmitir una lista que identifica una actualización disponible, recibir una solicitud para opciones de actualización para la actualización disponible; generar una lista que identifica una pluralidad de opciones de actualización para la actualización disponible; y transmitir la lista que identifica una pluralidad de opciones de actualización. 18. - El método de acuerdo con la reivindicación 17, en donde recibir una solicitud de lista de par incluye, recibir una solicitud de lista de par para una de la pluralidad de opciones de actualización. 19. - El método de acuerdo con la reivindicación 13, que además comprende: recibir una identificación de una pieza guardada en memoria caché de la actualización disponible; y actualizar una lista de par maestra para la actualización disponible. 20.- El método de acuerdo con la reivindicación 13, en donde la actualización disponible está dividida en una pluralidad de piezas y en donde la lista de par identifica al menos un par para cada una de la pluralidad de piezas. 21. - El método de acuerdo con la reivindicación 20, en donde un de los pares Identificados es una computadora huésped. 22. - En un sistema de computadora que tiene un medio legible por computadora incluyendo un programa ejecutable por computadora en él para realizar el método para obtener una actualización, el método comprende: recibir una lista de actualizaciones disponibles; identificar una actualización necesaria de la lista de actualizaciones disponibles; solicitar una lista de par para la actualización necesaria; recibir una lista de par para la actualización necesaria, en donde la lista de par identifica una pluralidad de piezas de la actualización necesaria e identifica para cada pieza, un dispositivo de cómputo que hace la pieza disponible para descarga; y descargar cada una de las piezas de los dispositivos de cómputo identificados. 23.- El sistema de computadora de acuerdo con la reivindicación 22, en donde la lista de par identifica para cada una de la pluralidad de piezas, una pluralidad de sub-piezas e identifica para cada sub-pieza, un dispositivo de cómputo que hace esa sub-pleza disponible para descarga. 24.- El sistema de computadora acuerdo con la reivindicación 23, en donde la lista de par identifica para cada una de la pluralidad de subpiezas como una pluralidad de sub-sub-piezas, e identifica para sub-subpieza, un dispositivo de cómputo que hace sub-sub-pieza disponible para descarga. 25.- El sistema de computadora acuerdo con la reivindicación 22, en donde la lista de par identifica un valor de mezcla para cada pieza. 26. - El sistema de computadora acuerdo con la reivindicación 25, en donde descargar incluye: mezclar la pieza descargada para obtener un segundo valor de mezcla; y comparar el primer valor de mezcla y el segundo valor de mezcla para confirmar la validez de la pieza descargada. 27. - El sistema de computadora acuerdo con la reivindicación 22, que además comprende: ensamblar cada una de las piezas descargadas; y instalar la actualización. 28. - El sistema de computadora acuerdo con la reivindicación 27, en donde la lista de par incluye un primer valor de mezcla para la actualización; y en donde el método además incluye: mezclar las piezas ensambladas para obtener un segundo valor de mezcla; y comparar el primer valor de mezcla con el segundo valor de mezcla para confirmar la validez de la actualización. 29.- El sistema de computadora acuerdo con la reivindicación 22, que además comprende: almacenar al menos una de las piezas descargadas en una memoria caché; transmitir una identificación de la pieza guardada en memoria caché; y hacer la pieza guardada en memoria caché disponible para descarga. 30. - El sistema de computadora acuerdo con la reivindicación 22, en donde descargar cada una de las piezas desde los dispositivos de cómputo identificados incluye: confirmar la autenticidad de una pieza descargada. 31. El sistema de computadora acuerdo con la reivindicación 22, en donde descargar cada una de las piezas incluye: elegir aleatoriamente una pieza para descargar; y elegir aleatoriamente un dispositivo de cómputo del cual descargar la pieza. 32. - El sistema de computadora acuerdo con la reivindicación 22, en donde descargar cada una de las piezas incluye: identificar una pieza con un número menor de dispositivo de cómputo que hace a esa pieza disponible para descarga; y descargar la pieza con el número menor de dispositivos de cómputo que hace esa pieza disponible para descarga.
MXPA05013575A 2004-12-14 2005-12-13 Metodo y sistema para descargar actualizaciones. MXPA05013575A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/012,367 US7716660B2 (en) 2004-12-14 2004-12-14 Method and system for downloading updates

Publications (1)

Publication Number Publication Date
MXPA05013575A true MXPA05013575A (es) 2006-06-15

Family

ID=35695926

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05013575A MXPA05013575A (es) 2004-12-14 2005-12-13 Metodo y sistema para descargar actualizaciones.

Country Status (10)

Country Link
US (1) US7716660B2 (es)
EP (1) EP1672490B1 (es)
JP (1) JP5349733B2 (es)
KR (1) KR101201147B1 (es)
CN (1) CN1790266B (es)
AU (1) AU2005239708B2 (es)
BR (1) BRPI0505512B1 (es)
CA (1) CA2529966C (es)
MX (1) MXPA05013575A (es)
RU (1) RU2405260C2 (es)

Families Citing this family (293)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2449534A1 (en) * 2003-11-14 2005-05-14 Ibm Canada Limited - Ibm Canada Limitee On-demand software module deployment
US7549169B1 (en) 2004-08-26 2009-06-16 Symantec Corporation Alternated update system and method
US7516150B1 (en) * 2004-10-29 2009-04-07 Symantec Corporation Update protection system and method
WO2006119070A1 (en) * 2005-04-29 2006-11-09 Wms Gaming Inc. Asset management of downloadable gaming components in a gaming system
KR100735372B1 (ko) * 2005-08-17 2007-07-04 삼성전자주식회사 지상파 dmb 수신 단말기에서 소프트웨어 다운로드를통한 업그레이드 방법
TWI329270B (en) * 2005-08-29 2010-08-21 Inventec Appliances Corp System, method and device for downloading information
US8812558B1 (en) * 2005-11-14 2014-08-19 Trend Micro Incorporated Push notification of updates to antivirus programs
US8291093B2 (en) 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
US7680825B2 (en) * 2005-12-30 2010-03-16 Sap Ag Systems and methods for generating tenant-specific properties for use in a provider-tenant environment
US20070156901A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Generation and use of table links in a provider-tenant environment
US7917607B2 (en) 2005-12-30 2011-03-29 Sap Ag Software management systems and methods, including use of such systems and methods in a provider-tenant environment
US20070156849A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Systems and methods for delivering software upgrades in a provider-tenant environment
US7689593B2 (en) * 2005-12-30 2010-03-30 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment
JP4946088B2 (ja) * 2006-02-17 2012-06-06 株式会社日立製作所 業務運用環境の構築方法
JP2007264697A (ja) * 2006-03-27 2007-10-11 Seiko Epson Corp 処理システム、プロジェクタ、プログラムおよび情報記憶媒体
WO2008033424A2 (en) * 2006-09-12 2008-03-20 Foleeo, Inc. Hive-based peer-to-peer network
US8595360B2 (en) * 2006-11-07 2013-11-26 Motorola Mobility Llc Method, system and apparatus for distributing digital information including digital rights management information to a plurality of devices
KR100779100B1 (ko) * 2006-12-05 2007-11-27 한국전자통신연구원 액티브 센서를 이용하는 액티브 네트워크 노드의 호스트관리 방법 및 그 시스템
JP2008146601A (ja) * 2006-12-13 2008-06-26 Canon Inc 情報処理装置及び情報処理方法
US10019501B2 (en) * 2006-12-18 2018-07-10 International Business Machines Corporation Data store synchronization utilizing synchronization logs
EP1936497A3 (en) 2006-12-20 2009-04-08 NCR Corporation Automated wide area software distribution with reduced network bandwidth requirements
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
US7739348B2 (en) * 2006-12-29 2010-06-15 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment by using middleware
US8069184B2 (en) * 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US8316364B2 (en) * 2007-02-28 2012-11-20 Red Hat, Inc. Peer-to-peer software update distribution network
JP2008226167A (ja) * 2007-03-15 2008-09-25 Toshiba Corp データ配布システム及びデータ配布プログラム
KR101409991B1 (ko) * 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
US8473938B1 (en) 2007-06-21 2013-06-25 Open Invention Network Llc Security patch update processor
US8468977B2 (en) * 2007-08-07 2013-06-25 The Kong Company, Llc Pet toy with noise making instrument
US8271969B2 (en) * 2007-08-09 2012-09-18 Research In Motion Limited Method and apparatus for determining the state of a computing device
EP2026204A1 (en) * 2007-08-09 2009-02-18 Research In Motion Limited Method and apparatus for updating the state of a computing device
JP5007624B2 (ja) * 2007-08-10 2012-08-22 ブラザー工業株式会社 コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
US8078729B2 (en) * 2007-08-21 2011-12-13 Ntt Docomo, Inc. Media streaming with online caching and peer-to-peer forwarding
US8266260B2 (en) * 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
CN101478556B (zh) * 2007-12-31 2014-12-17 突触计算机系统(上海)有限公司 用于下载点对点传输数据分片的方法和装置
US9588861B2 (en) * 2008-01-08 2017-03-07 Oracle International Corporation Method and apparatus for automatically identifying components to monitor in an enterprise environment
US8521145B2 (en) * 2008-01-08 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) Software distribution between radio base stations
US8756700B2 (en) 2008-01-16 2014-06-17 Verizon Patent And Licensing Inc. Custom data image building
US8291406B2 (en) * 2008-01-16 2012-10-16 Verizon Patent And Licensing Inc. Data imaging system and methods
US9442850B1 (en) * 2008-03-25 2016-09-13 Blue Coat Systems, Inc. Efficient directory refresh operations in wide area file systems
WO2009132261A1 (en) 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
JP2009294777A (ja) * 2008-06-03 2009-12-17 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、コンテンツ再生システム
US20090305778A1 (en) * 2008-06-06 2009-12-10 Turbine, Inc. Installed game software sharing via peer-to-peer network
US20100011060A1 (en) * 2008-07-08 2010-01-14 Solid State Networks, Inc. Methods and apparatus for distributing content
KR100980606B1 (ko) * 2008-09-08 2010-09-07 주식회사 하이닉스반도체 워드라인 구동회로 및 구동방법
US8402544B1 (en) * 2008-12-22 2013-03-19 Trend Micro Incorporated Incremental scanning of computer files for malicious codes
US8892699B2 (en) * 2008-12-31 2014-11-18 Schneider Electric USA, Inc. Automatic firmware updates for intelligent electronic devices
EP2252031A1 (en) * 2009-05-15 2010-11-17 Thomson Licensing Device and method for controlling dissemination of data by transfer of sets of instructions between peers having wireless communication capacities
JP5440009B2 (ja) * 2009-07-31 2014-03-12 富士通株式会社 マルチクラスタシステムのプログラム更新方法及びマルチクラスタシステム
US20110113422A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Programmatic Creation Of Task Sequences From Manifests
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US20110113420A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US8972974B2 (en) 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US9122558B2 (en) 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US8671402B2 (en) 2009-11-09 2014-03-11 Bank Of America Corporation Network-enhanced control of software updates received via removable computer-readable medium
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
CN102782650B (zh) * 2009-12-10 2016-01-20 国际商业机器公司 用于管理分布式环境中系统管理代理的配置的方法与系统
US8893112B2 (en) * 2009-12-21 2014-11-18 Intel Corporation Providing software distribution and update services regardless of the state or physical location of an end point machine
US8224828B2 (en) * 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields
US20110161468A1 (en) * 2009-12-31 2011-06-30 Schneider Electric USA, Inc. Method and system for cascading peer-to-peer configuration of large systems of ieds
EP2360581A1 (en) 2010-01-18 2011-08-24 Thomson Licensing Method, system and device for execution of a software application
CN102263805A (zh) * 2010-05-25 2011-11-30 腾讯科技(北京)有限公司 一种动态资源下载的方法和装置
US9258231B2 (en) * 2010-09-08 2016-02-09 International Business Machines Corporation Bandwidth allocation management
KR20120041384A (ko) * 2010-10-21 2012-05-02 삼성전자주식회사 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
US7962959B1 (en) 2010-12-01 2011-06-14 Kaspersky Lab Zao Computer resource optimization during malware detection using antivirus cache
US8424093B2 (en) 2010-11-01 2013-04-16 Kaspersky Lab Zao System and method for updating antivirus cache
US9158605B2 (en) 2010-12-01 2015-10-13 Microsoft Technology Licensing, Llc Method, system and device for validating repair files and repairing corrupt software
US9378007B2 (en) * 2010-12-01 2016-06-28 Apple Inc. Pre-heated software installation
KR101242830B1 (ko) * 2011-01-20 2013-03-12 엔에이치엔비즈니스플랫폼 주식회사 P2p 기반의 스트리밍 서비스에서 버퍼링을 수행하는 시스템 및 방법 그리고 클라이언트에서 버퍼링을 처리하는 어플리케이션을 배포하는 시스템
US8918776B2 (en) 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US20130060558A1 (en) * 2011-09-07 2013-03-07 Jason Schultz Updating of interfaces in non-emulated environments by programs in the emulated environment
US8543543B2 (en) * 2011-09-13 2013-09-24 Microsoft Corporation Hash-based file comparison
US8843914B1 (en) * 2011-09-19 2014-09-23 Amazon Technologies, Inc. Distributed update service
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8898244B2 (en) * 2011-10-20 2014-11-25 Allen Miglore System and method for transporting files between networked or connected systems and devices
CN103135879B (zh) * 2011-11-28 2016-07-06 联想(北京)有限公司 显示方法、显示装置和电子设备
US8918474B2 (en) * 2012-03-26 2014-12-23 International Business Machines Corporation Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth
US9658841B2 (en) * 2012-08-30 2017-05-23 Avaya Inc. System and method for efficient software replication
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9851980B1 (en) 2012-10-22 2017-12-26 Amazon Technologies, Inc. Distributed update service enabling update requests
CN102945175A (zh) * 2012-11-09 2013-02-27 杭州易和网络有限公司 一种基于云计算环境的终端软件在线升级系统及其方法
US9342291B1 (en) 2012-11-14 2016-05-17 Amazon Technologies, Inc. Distributed update service
JP5803886B2 (ja) * 2012-11-28 2015-11-04 コニカミノルタ株式会社 画像形成装置およびプログラム
US9113347B2 (en) 2012-12-05 2015-08-18 At&T Intellectual Property I, Lp Backhaul link for distributed antenna system
US10009065B2 (en) 2012-12-05 2018-06-26 At&T Intellectual Property I, L.P. Backhaul link for distributed antenna system
CN103019795A (zh) * 2012-12-27 2013-04-03 福建榕基软件股份有限公司 一种软件基础数据升级方法及系统
US9420065B2 (en) * 2013-01-18 2016-08-16 Google Inc. Peer-to-peer software updates
US9542172B2 (en) * 2013-02-05 2017-01-10 Apple Inc. Automatic updating of applications
US9525524B2 (en) 2013-05-31 2016-12-20 At&T Intellectual Property I, L.P. Remote distributed antenna system
US9999038B2 (en) 2013-05-31 2018-06-12 At&T Intellectual Property I, L.P. Remote distributed antenna system
JP2015082149A (ja) 2013-10-21 2015-04-27 株式会社リコー 通信システム、通信方法及び通信プログラム
WO2015059041A1 (en) * 2013-10-25 2015-04-30 Peerialism AB Aggressive prefetching
US8897697B1 (en) 2013-11-06 2014-11-25 At&T Intellectual Property I, Lp Millimeter-wave surface-wave communications
US9209902B2 (en) 2013-12-10 2015-12-08 At&T Intellectual Property I, L.P. Quasi-optical coupler
CN103677933A (zh) * 2013-12-19 2014-03-26 大唐微电子技术有限公司 一种为智能卡打补丁的方法和系统
US9830141B2 (en) * 2013-12-23 2017-11-28 Google Llc Providing a software update to computing devices on the same network
US9390120B1 (en) 2013-12-31 2016-07-12 Google Inc. System and methods for organizing hierarchical database replication
CN104780189A (zh) * 2014-01-13 2015-07-15 中兴通讯股份有限公司 一种软件升级方法及装置
BR102014017796A2 (pt) * 2014-07-18 2016-02-23 Cielo S A sistema de comunicação, método para determinar a localização de dispositivos, método para gerar uma lista de dispositivos vizinhos, método para determinar a localização de uma pluralidade de dispositivos, método de comunicação via enlace alternativo, método para escolher a forma de comunicação entre um dispositivo e um dentre um credenciador e um provedor de serviços e método para atualizar aplicações em dispositivos pos
US9514211B2 (en) * 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
FR3024253B1 (fr) 2014-07-28 2016-08-19 Easyworldcom Procede automatique de mise a jour a distance d'un logiciel contenu dans un dispositif emetteur radio autonome du type beacon.
US9692101B2 (en) 2014-08-26 2017-06-27 At&T Intellectual Property I, L.P. Guided wave couplers for coupling electromagnetic waves between a waveguide surface and a surface of a wire
US9768833B2 (en) 2014-09-15 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for sensing a condition in a transmission medium of electromagnetic waves
US10063280B2 (en) 2014-09-17 2018-08-28 At&T Intellectual Property I, L.P. Monitoring and mitigating conditions in a communication network
US9615269B2 (en) 2014-10-02 2017-04-04 At&T Intellectual Property I, L.P. Method and apparatus that provides fault tolerance in a communication network
US9685992B2 (en) 2014-10-03 2017-06-20 At&T Intellectual Property I, L.P. Circuit panel network and methods thereof
US9503189B2 (en) 2014-10-10 2016-11-22 At&T Intellectual Property I, L.P. Method and apparatus for arranging communication sessions in a communication system
US9973299B2 (en) 2014-10-14 2018-05-15 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a mode of communication in a communication network
US9762289B2 (en) 2014-10-14 2017-09-12 At&T Intellectual Property I, L.P. Method and apparatus for transmitting or receiving signals in a transportation system
US9627768B2 (en) 2014-10-21 2017-04-18 At&T Intellectual Property I, L.P. Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9312919B1 (en) 2014-10-21 2016-04-12 At&T Intellectual Property I, Lp Transmission device with impairment compensation and methods for use therewith
US9577306B2 (en) 2014-10-21 2017-02-21 At&T Intellectual Property I, L.P. Guided-wave transmission device and methods for use therewith
US9780834B2 (en) 2014-10-21 2017-10-03 At&T Intellectual Property I, L.P. Method and apparatus for transmitting electromagnetic waves
US9653770B2 (en) 2014-10-21 2017-05-16 At&T Intellectual Property I, L.P. Guided wave coupler, coupling module and methods for use therewith
US9520945B2 (en) 2014-10-21 2016-12-13 At&T Intellectual Property I, L.P. Apparatus for providing communication services and methods thereof
US9564947B2 (en) 2014-10-21 2017-02-07 At&T Intellectual Property I, L.P. Guided-wave transmission device with diversity and methods for use therewith
US9769020B2 (en) 2014-10-21 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for responding to events affecting communications in a communication network
US9544006B2 (en) 2014-11-20 2017-01-10 At&T Intellectual Property I, L.P. Transmission device with mode division multiplexing and methods for use therewith
US10243784B2 (en) 2014-11-20 2019-03-26 At&T Intellectual Property I, L.P. System for generating topology information and methods thereof
US9680670B2 (en) 2014-11-20 2017-06-13 At&T Intellectual Property I, L.P. Transmission device with channel equalization and control and methods for use therewith
US10340573B2 (en) 2016-10-26 2019-07-02 At&T Intellectual Property I, L.P. Launcher with cylindrical coupling device and methods for use therewith
US9997819B2 (en) 2015-06-09 2018-06-12 At&T Intellectual Property I, L.P. Transmission medium and method for facilitating propagation of electromagnetic waves via a core
US9461706B1 (en) 2015-07-31 2016-10-04 At&T Intellectual Property I, Lp Method and apparatus for exchanging communication signals
US9742462B2 (en) 2014-12-04 2017-08-22 At&T Intellectual Property I, L.P. Transmission medium and communication interfaces and methods for use therewith
US10009067B2 (en) 2014-12-04 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for configuring a communication interface
US9654173B2 (en) 2014-11-20 2017-05-16 At&T Intellectual Property I, L.P. Apparatus for powering a communication device and methods thereof
US9800327B2 (en) 2014-11-20 2017-10-24 At&T Intellectual Property I, L.P. Apparatus for controlling operations of a communication device and methods thereof
US9954287B2 (en) 2014-11-20 2018-04-24 At&T Intellectual Property I, L.P. Apparatus for converting wireless signals and electromagnetic waves and methods thereof
US10144036B2 (en) 2015-01-30 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for mitigating interference affecting a propagation of electromagnetic waves guided by a transmission medium
US9876570B2 (en) 2015-02-20 2018-01-23 At&T Intellectual Property I, Lp Guided-wave transmission device with non-fundamental mode propagation and methods for use therewith
US9952851B2 (en) * 2015-03-10 2018-04-24 International Business Machines Corporation Intelligent mobile application update
US9934020B2 (en) * 2015-03-10 2018-04-03 International Business Machines Corporation Intelligent mobile application update
US9749013B2 (en) 2015-03-17 2017-08-29 At&T Intellectual Property I, L.P. Method and apparatus for reducing attenuation of electromagnetic waves guided by a transmission medium
US9705561B2 (en) 2015-04-24 2017-07-11 At&T Intellectual Property I, L.P. Directional coupling device and methods for use therewith
US10224981B2 (en) 2015-04-24 2019-03-05 At&T Intellectual Property I, Lp Passive electrical coupling device and methods for use therewith
CN106155734B (zh) * 2015-04-27 2020-09-18 南京中兴软件有限责任公司 一种软件版本的下载方法及装置
US9793954B2 (en) 2015-04-28 2017-10-17 At&T Intellectual Property I, L.P. Magnetic coupling device and methods for use therewith
US9948354B2 (en) 2015-04-28 2018-04-17 At&T Intellectual Property I, L.P. Magnetic coupling device with reflective plate and methods for use therewith
US9490869B1 (en) 2015-05-14 2016-11-08 At&T Intellectual Property I, L.P. Transmission medium having multiple cores and methods for use therewith
US9748626B2 (en) 2015-05-14 2017-08-29 At&T Intellectual Property I, L.P. Plurality of cables having different cross-sectional shapes which are bundled together to form a transmission medium
US9871282B2 (en) 2015-05-14 2018-01-16 At&T Intellectual Property I, L.P. At least one transmission medium having a dielectric surface that is covered at least in part by a second dielectric
US10650940B2 (en) 2015-05-15 2020-05-12 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
US10679767B2 (en) 2015-05-15 2020-06-09 At&T Intellectual Property I, L.P. Transmission medium having a conductive material and methods for use therewith
CN104866351B (zh) * 2015-05-27 2018-03-09 百富计算机技术(深圳)有限公司 一种数据传输方法、服务端及客户端
US9917341B2 (en) 2015-05-27 2018-03-13 At&T Intellectual Property I, L.P. Apparatus and method for launching electromagnetic waves and for modifying radial dimensions of the propagating electromagnetic waves
US10142411B2 (en) * 2015-05-29 2018-11-27 Microsoft Technology Licensing, Llc Dynamic swarm segmentation
US10154493B2 (en) 2015-06-03 2018-12-11 At&T Intellectual Property I, L.P. Network termination and methods for use therewith
US9912381B2 (en) 2015-06-03 2018-03-06 At&T Intellectual Property I, Lp Network termination and methods for use therewith
US10103801B2 (en) 2015-06-03 2018-10-16 At&T Intellectual Property I, L.P. Host node device and methods for use therewith
US10812174B2 (en) 2015-06-03 2020-10-20 At&T Intellectual Property I, L.P. Client node device and methods for use therewith
US9866309B2 (en) 2015-06-03 2018-01-09 At&T Intellectual Property I, Lp Host node device and methods for use therewith
US10348391B2 (en) 2015-06-03 2019-07-09 At&T Intellectual Property I, L.P. Client node device with frequency conversion and methods for use therewith
US9913139B2 (en) 2015-06-09 2018-03-06 At&T Intellectual Property I, L.P. Signal fingerprinting for authentication of communicating devices
US9608692B2 (en) 2015-06-11 2017-03-28 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US10142086B2 (en) 2015-06-11 2018-11-27 At&T Intellectual Property I, L.P. Repeater and methods for use therewith
US9820146B2 (en) 2015-06-12 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US9667317B2 (en) 2015-06-15 2017-05-30 At&T Intellectual Property I, L.P. Method and apparatus for providing security using network traffic adjustments
US9640850B2 (en) 2015-06-25 2017-05-02 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a non-fundamental wave mode on a transmission medium
US9509415B1 (en) 2015-06-25 2016-11-29 At&T Intellectual Property I, L.P. Methods and apparatus for inducing a fundamental wave mode on a transmission medium
US9865911B2 (en) 2015-06-25 2018-01-09 At&T Intellectual Property I, L.P. Waveguide system for slot radiating first electromagnetic waves that are combined into a non-fundamental wave mode second electromagnetic wave on a transmission medium
US10148016B2 (en) 2015-07-14 2018-12-04 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array
US9847566B2 (en) 2015-07-14 2017-12-19 At&T Intellectual Property I, L.P. Method and apparatus for adjusting a field of a signal to mitigate interference
US9836957B2 (en) 2015-07-14 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for communicating with premises equipment
US10033108B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave having a wave mode that mitigates interference
US10205655B2 (en) 2015-07-14 2019-02-12 At&T Intellectual Property I, L.P. Apparatus and methods for communicating utilizing an antenna array and multiple communication paths
US10044409B2 (en) 2015-07-14 2018-08-07 At&T Intellectual Property I, L.P. Transmission medium and methods for use therewith
US10320586B2 (en) 2015-07-14 2019-06-11 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an insulated transmission medium
US9853342B2 (en) 2015-07-14 2017-12-26 At&T Intellectual Property I, L.P. Dielectric transmission medium connector and methods for use therewith
US9722318B2 (en) 2015-07-14 2017-08-01 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US10170840B2 (en) 2015-07-14 2019-01-01 At&T Intellectual Property I, L.P. Apparatus and methods for sending or receiving electromagnetic signals
US10033107B2 (en) 2015-07-14 2018-07-24 At&T Intellectual Property I, L.P. Method and apparatus for coupling an antenna to a device
US9882257B2 (en) 2015-07-14 2018-01-30 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9628116B2 (en) 2015-07-14 2017-04-18 At&T Intellectual Property I, L.P. Apparatus and methods for transmitting wireless signals
US10341142B2 (en) 2015-07-14 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for generating non-interfering electromagnetic waves on an uninsulated conductor
US10090606B2 (en) 2015-07-15 2018-10-02 At&T Intellectual Property I, L.P. Antenna system with dielectric array and methods for use therewith
US9793951B2 (en) 2015-07-15 2017-10-17 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9608740B2 (en) 2015-07-15 2017-03-28 At&T Intellectual Property I, L.P. Method and apparatus for launching a wave mode that mitigates interference
US9871283B2 (en) 2015-07-23 2018-01-16 At&T Intellectual Property I, Lp Transmission medium having a dielectric core comprised of plural members connected by a ball and socket configuration
US9749053B2 (en) 2015-07-23 2017-08-29 At&T Intellectual Property I, L.P. Node device, repeater and methods for use therewith
US10784670B2 (en) 2015-07-23 2020-09-22 At&T Intellectual Property I, L.P. Antenna support for aligning an antenna
US9912027B2 (en) 2015-07-23 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for exchanging communication signals
US9948333B2 (en) 2015-07-23 2018-04-17 At&T Intellectual Property I, L.P. Method and apparatus for wireless communications to mitigate interference
US9967173B2 (en) 2015-07-31 2018-05-08 At&T Intellectual Property I, L.P. Method and apparatus for authentication and identity management of communicating devices
US10020587B2 (en) 2015-07-31 2018-07-10 At&T Intellectual Property I, L.P. Radial antenna and methods for use therewith
US9735833B2 (en) 2015-07-31 2017-08-15 At&T Intellectual Property I, L.P. Method and apparatus for communications management in a neighborhood network
US10572248B2 (en) 2015-08-12 2020-02-25 Blackberry Limited Groups of endpoints and targeting of releases and packages to endpoints
US10229137B2 (en) 2015-08-12 2019-03-12 Blackberry Limited Management of upgradeable endpoints
US10365912B2 (en) * 2015-08-12 2019-07-30 Blackberry Limited Delivery mechanisms for deployment of releases of packages to endpoints
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
KR102346689B1 (ko) * 2015-08-28 2022-01-04 한국전자통신연구원 P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템
US9904535B2 (en) 2015-09-14 2018-02-27 At&T Intellectual Property I, L.P. Method and apparatus for distributing software
US10079661B2 (en) 2015-09-16 2018-09-18 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a clock reference
US10051629B2 (en) 2015-09-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an in-band reference signal
US9705571B2 (en) 2015-09-16 2017-07-11 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system
US10009063B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an out-of-band reference signal
US10136434B2 (en) 2015-09-16 2018-11-20 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having an ultra-wideband control channel
US10009901B2 (en) 2015-09-16 2018-06-26 At&T Intellectual Property I, L.P. Method, apparatus, and computer-readable storage medium for managing utilization of wireless resources between base stations
US9769128B2 (en) 2015-09-28 2017-09-19 At&T Intellectual Property I, L.P. Method and apparatus for encryption of communications over a network
US9792109B2 (en) * 2015-09-30 2017-10-17 Apple Inc. Software updating
US9729197B2 (en) 2015-10-01 2017-08-08 At&T Intellectual Property I, L.P. Method and apparatus for communicating network management traffic over a network
US10074890B2 (en) 2015-10-02 2018-09-11 At&T Intellectual Property I, L.P. Communication device and antenna with integrated light assembly
US9876264B2 (en) 2015-10-02 2018-01-23 At&T Intellectual Property I, Lp Communication system, guided wave switch and methods for use therewith
US9882277B2 (en) 2015-10-02 2018-01-30 At&T Intellectual Property I, Lp Communication device and antenna assembly with actuated gimbal mount
US10355367B2 (en) 2015-10-16 2019-07-16 At&T Intellectual Property I, L.P. Antenna structure for exchanging wireless signals
US10665942B2 (en) 2015-10-16 2020-05-26 At&T Intellectual Property I, L.P. Method and apparatus for adjusting wireless communications
US10051483B2 (en) 2015-10-16 2018-08-14 At&T Intellectual Property I, L.P. Method and apparatus for directing wireless signals
CN106066872B (zh) * 2016-05-27 2019-07-26 维沃移动通信有限公司 一种数据更新管理方法和电子设备
RU2649292C2 (ru) * 2016-06-24 2018-03-30 Акционерное общество "Лаборатория Касперского" Способ формирования списка агентов обновлений
US9912419B1 (en) 2016-08-24 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for managing a fault in a distributed antenna system
US9860075B1 (en) 2016-08-26 2018-01-02 At&T Intellectual Property I, L.P. Method and communication node for broadband distribution
US10291311B2 (en) 2016-09-09 2019-05-14 At&T Intellectual Property I, L.P. Method and apparatus for mitigating a fault in a distributed antenna system
US11032819B2 (en) 2016-09-15 2021-06-08 At&T Intellectual Property I, L.P. Method and apparatus for use with a radio distributed antenna system having a control channel reference signal
US10135146B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via circuits
US10135147B2 (en) 2016-10-18 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via an antenna
US10340600B2 (en) 2016-10-18 2019-07-02 At&T Intellectual Property I, L.P. Apparatus and methods for launching guided waves via plural waveguide systems
US10374316B2 (en) 2016-10-21 2019-08-06 At&T Intellectual Property I, L.P. System and dielectric antenna with non-uniform dielectric
US10811767B2 (en) 2016-10-21 2020-10-20 At&T Intellectual Property I, L.P. System and dielectric antenna with convex dielectric radome
US9876605B1 (en) 2016-10-21 2018-01-23 At&T Intellectual Property I, L.P. Launcher and coupling system to support desired guided wave mode
US9991580B2 (en) 2016-10-21 2018-06-05 At&T Intellectual Property I, L.P. Launcher and coupling system for guided wave mode cancellation
US10312567B2 (en) 2016-10-26 2019-06-04 At&T Intellectual Property I, L.P. Launcher with planar strip antenna and methods for use therewith
US10224634B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Methods and apparatus for adjusting an operational characteristic of an antenna
US10291334B2 (en) 2016-11-03 2019-05-14 At&T Intellectual Property I, L.P. System for detecting a fault in a communication system
US10498044B2 (en) 2016-11-03 2019-12-03 At&T Intellectual Property I, L.P. Apparatus for configuring a surface of an antenna
US10225025B2 (en) 2016-11-03 2019-03-05 At&T Intellectual Property I, L.P. Method and apparatus for detecting a fault in a communication system
US10090594B2 (en) 2016-11-23 2018-10-02 At&T Intellectual Property I, L.P. Antenna system having structural configurations for assembly
US10535928B2 (en) 2016-11-23 2020-01-14 At&T Intellectual Property I, L.P. Antenna system and methods for use therewith
US10178445B2 (en) 2016-11-23 2019-01-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for load balancing between a plurality of waveguides
US10340601B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Multi-antenna system and methods for use therewith
US10340603B2 (en) 2016-11-23 2019-07-02 At&T Intellectual Property I, L.P. Antenna system having shielded structural configurations for assembly
US10305190B2 (en) 2016-12-01 2019-05-28 At&T Intellectual Property I, L.P. Reflecting dielectric antenna system and methods for use therewith
US10361489B2 (en) 2016-12-01 2019-07-23 At&T Intellectual Property I, L.P. Dielectric dish antenna system and methods for use therewith
US9927517B1 (en) 2016-12-06 2018-03-27 At&T Intellectual Property I, L.P. Apparatus and methods for sensing rainfall
US10326494B2 (en) 2016-12-06 2019-06-18 At&T Intellectual Property I, L.P. Apparatus for measurement de-embedding and methods for use therewith
US10819035B2 (en) 2016-12-06 2020-10-27 At&T Intellectual Property I, L.P. Launcher with helical antenna and methods for use therewith
US10382976B2 (en) 2016-12-06 2019-08-13 At&T Intellectual Property I, L.P. Method and apparatus for managing wireless communications based on communication paths and network device positions
US10020844B2 (en) 2016-12-06 2018-07-10 T&T Intellectual Property I, L.P. Method and apparatus for broadcast communication via guided waves
US10135145B2 (en) 2016-12-06 2018-11-20 At&T Intellectual Property I, L.P. Apparatus and methods for generating an electromagnetic wave along a transmission medium
US10439675B2 (en) 2016-12-06 2019-10-08 At&T Intellectual Property I, L.P. Method and apparatus for repeating guided wave communication signals
US10755542B2 (en) 2016-12-06 2020-08-25 At&T Intellectual Property I, L.P. Method and apparatus for surveillance via guided wave communication
US10637149B2 (en) 2016-12-06 2020-04-28 At&T Intellectual Property I, L.P. Injection molded dielectric antenna and methods for use therewith
US10727599B2 (en) 2016-12-06 2020-07-28 At&T Intellectual Property I, L.P. Launcher with slot antenna and methods for use therewith
US10694379B2 (en) 2016-12-06 2020-06-23 At&T Intellectual Property I, L.P. Waveguide system with device-based authentication and methods for use therewith
US10547348B2 (en) 2016-12-07 2020-01-28 At&T Intellectual Property I, L.P. Method and apparatus for switching transmission mediums in a communication system
US9893795B1 (en) 2016-12-07 2018-02-13 At&T Intellectual Property I, Lp Method and repeater for broadband distribution
US10243270B2 (en) 2016-12-07 2019-03-26 At&T Intellectual Property I, L.P. Beam adaptive multi-feed dielectric antenna system and methods for use therewith
US10139820B2 (en) 2016-12-07 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for deploying equipment of a communication system
US10359749B2 (en) 2016-12-07 2019-07-23 At&T Intellectual Property I, L.P. Method and apparatus for utilities management via guided wave communication
US10168695B2 (en) 2016-12-07 2019-01-01 At&T Intellectual Property I, L.P. Method and apparatus for controlling an unmanned aircraft
US10027397B2 (en) 2016-12-07 2018-07-17 At&T Intellectual Property I, L.P. Distributed antenna system and methods for use therewith
US10446936B2 (en) 2016-12-07 2019-10-15 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system and methods for use therewith
US10389029B2 (en) 2016-12-07 2019-08-20 At&T Intellectual Property I, L.P. Multi-feed dielectric antenna system with core selection and methods for use therewith
US10530505B2 (en) 2016-12-08 2020-01-07 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves along a transmission medium
US10777873B2 (en) 2016-12-08 2020-09-15 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10326689B2 (en) 2016-12-08 2019-06-18 At&T Intellectual Property I, L.P. Method and system for providing alternative communication paths
US10938108B2 (en) 2016-12-08 2021-03-02 At&T Intellectual Property I, L.P. Frequency selective multi-feed dielectric antenna system and methods for use therewith
US10601494B2 (en) 2016-12-08 2020-03-24 At&T Intellectual Property I, L.P. Dual-band communication device and method for use therewith
US10069535B2 (en) 2016-12-08 2018-09-04 At&T Intellectual Property I, L.P. Apparatus and methods for launching electromagnetic waves having a certain electric field structure
US10103422B2 (en) 2016-12-08 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for mounting network devices
US10411356B2 (en) 2016-12-08 2019-09-10 At&T Intellectual Property I, L.P. Apparatus and methods for selectively targeting communication devices with an antenna array
US10916969B2 (en) 2016-12-08 2021-02-09 At&T Intellectual Property I, L.P. Method and apparatus for providing power using an inductive coupling
US9911020B1 (en) 2016-12-08 2018-03-06 At&T Intellectual Property I, L.P. Method and apparatus for tracking via a radio frequency identification device
US10389037B2 (en) 2016-12-08 2019-08-20 At&T Intellectual Property I, L.P. Apparatus and methods for selecting sections of an antenna array and use therewith
US9998870B1 (en) 2016-12-08 2018-06-12 At&T Intellectual Property I, L.P. Method and apparatus for proximity sensing
US10340983B2 (en) 2016-12-09 2019-07-02 At&T Intellectual Property I, L.P. Method and apparatus for surveying remote sites via guided wave communications
US10264586B2 (en) 2016-12-09 2019-04-16 At&T Mobility Ii Llc Cloud-based packet controller and methods for use therewith
US9838896B1 (en) 2016-12-09 2017-12-05 At&T Intellectual Property I, L.P. Method and apparatus for assessing network coverage
US9973940B1 (en) 2017-02-27 2018-05-15 At&T Intellectual Property I, L.P. Apparatus and methods for dynamic impedance matching of a guided wave launcher
US10298293B2 (en) 2017-03-13 2019-05-21 At&T Intellectual Property I, L.P. Apparatus of communication utilizing wireless network devices
US10635426B2 (en) * 2017-03-17 2020-04-28 Microsoft Technology Licensing, Llc Runtime deployment of payloads in a cloud service
CN106909427B (zh) * 2017-03-23 2020-09-22 北京奇虎科技有限公司 一种软件更新方法、装置和软件更新数据发布方法、系统
US10693720B2 (en) * 2017-04-10 2020-06-23 Cisco Technology, Inc. Distribution of updates in an IoT network
US10733173B2 (en) 2017-10-09 2020-08-04 Citrix Systems, Inc. Detecting and reporting changes in data values
US20190155598A1 (en) * 2017-11-17 2019-05-23 Apple Inc. Techniques for updating a file using a multi-version patch file
KR102420667B1 (ko) * 2017-12-15 2022-07-14 현대자동차주식회사 단말기, 차량 및 그 제어방법
CN108804121A (zh) * 2018-05-28 2018-11-13 泰康保险集团股份有限公司 分布式系统中的版本管理方法、装置、介质及电子设备
US20200104118A1 (en) * 2018-09-28 2020-04-02 Bose Corporation Systems and methods for providing staged updates in embedded devices
CN110147380B (zh) * 2019-05-23 2023-11-24 腾讯科技(成都)有限公司 数据更新方法、装置、服务器以及存储介质
US11301232B2 (en) 2019-05-29 2022-04-12 Microsoft Technology Licensing, Llc Update management service for enterprise computing environments
CN110300189A (zh) * 2019-07-25 2019-10-01 北京达佳互联信息技术有限公司 一种资源下载方法、装置及电子设备
US11099855B2 (en) * 2019-10-23 2021-08-24 American Megatrends International, Llc System and method for updating files through a peer-to-peer network
US11182147B2 (en) * 2020-04-02 2021-11-23 Vmware, Inc. Deploying virtualization software in a remote cluster
FR3109000B1 (fr) * 2020-04-02 2023-03-24 Vitesco Technologies Structure de données et procédé pour la mise à jour d’un logiciel de calculateur
US11361354B2 (en) 2020-04-27 2022-06-14 Swiftly Systems, Inc. Method, computer-readable non-transitory storage media, and system for distributing and updating product catalogs to wireless devices
US11868754B2 (en) * 2020-07-17 2024-01-09 Sensia Llc Systems and methods for edge device management
US11825308B2 (en) 2020-07-17 2023-11-21 Sensia Llc Systems and methods for security of a hydrocarbon system
US11709820B2 (en) 2021-09-03 2023-07-25 Bank Of America Corporation System for implementing intelligent data analysis
US11748089B2 (en) * 2021-12-02 2023-09-05 Vmware, Inc. Obtaining software updates from neighboring hosts in a virtualized computing system
CN114245319B (zh) * 2021-12-03 2023-06-23 南京矽力微电子技术有限公司 基于蓝牙Mesh的增强广播并发式OTA固件升级方法
US11836484B1 (en) * 2022-08-31 2023-12-05 Confluent, Inc. Docker image registry synchronization service

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701427A (en) 1989-09-19 1997-12-23 Digital Equipment Corp. Information transfer arrangement for distributed computer system
WO1995008809A2 (en) 1993-09-24 1995-03-30 Oracle Corporation Method and apparatus for data replication
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6035423A (en) 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6205551B1 (en) 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
EP1119809B1 (en) 1998-10-09 2003-05-07 Sun Microsystems, Inc. Process monitoring in a computer system
US6453404B1 (en) 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US6754664B1 (en) 1999-07-02 2004-06-22 Microsoft Corporation Schema-based computer system health monitoring
US6493871B1 (en) 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6892317B1 (en) 1999-12-16 2005-05-10 Xerox Corporation Systems and methods for failure prediction, diagnosis and remediation using data acquisition and feedback for a distributed electronic system
WO2001084313A2 (en) 2000-05-02 2001-11-08 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
US20020049760A1 (en) 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
WO2002065282A2 (en) 2001-02-09 2002-08-22 Microsoft Corporation Distribution of binary executables and content from peer locations/machines
US20030115251A1 (en) 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
CN1178131C (zh) * 2001-03-14 2004-12-01 明基电通股份有限公司 以模块化方式更新执行中应用软件的系统及其方法
US7222187B2 (en) 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
WO2003015341A2 (en) * 2001-08-04 2003-02-20 Kontiki, Inc. Method and apparatus for facilitating secure distributed content delivery across a computer network
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US7191469B2 (en) 2002-05-13 2007-03-13 Green Border Technologies Methods and systems for providing a secure application environment using derived user accounts
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
US7555750B1 (en) * 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
JP2004126912A (ja) * 2002-10-02 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> 分割ダウンロード方法、それに用いるリスト記述装置と方法およびそのプログラム。
US7188369B2 (en) 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities
US7278019B2 (en) 2002-11-04 2007-10-02 Hewlett-Packard Development Company, L.P. Method of hindering the propagation of a computer virus
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
JP4233328B2 (ja) * 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム
EP1593228B8 (en) 2003-02-14 2017-09-20 McAfee, LLC Network audit policy assurance system
US20040205419A1 (en) 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
US7437763B2 (en) 2003-06-05 2008-10-14 Microsoft Corporation In-context security advisor in a computing environment
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
US7523493B2 (en) 2003-08-29 2009-04-21 Trend Micro Incorporated Virus monitor and methods of use thereof
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
US20050076325A1 (en) * 2003-10-02 2005-04-07 International Business Machines Corporation Automatic software update of nodes in a network data processing system
US7448070B2 (en) 2003-10-17 2008-11-04 Microsoft Corporation Network fingerprinting
US20050086526A1 (en) 2003-10-17 2005-04-21 Panda Software S.L. (Sociedad Unipersonal) Computer implemented method providing software virus infection information in real time
US7509636B2 (en) 2003-12-15 2009-03-24 Microsoft Corporation System and method for updating files utilizing delta compression patching
US20050166198A1 (en) 2004-01-22 2005-07-28 Autonomic Software, Inc., A California Corporation Distributed policy driven software delivery
US8291093B2 (en) 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation

Also Published As

Publication number Publication date
AU2005239708B2 (en) 2010-07-01
CA2529966C (en) 2014-02-11
RU2405260C2 (ru) 2010-11-27
BRPI0505512B1 (pt) 2017-10-10
JP2006172472A (ja) 2006-06-29
EP1672490A2 (en) 2006-06-21
CA2529966A1 (en) 2006-06-14
CN1790266A (zh) 2006-06-21
US20060130037A1 (en) 2006-06-15
KR20060067842A (ko) 2006-06-20
BRPI0505512A (pt) 2006-09-12
RU2005138840A (ru) 2007-06-20
EP1672490A3 (en) 2008-01-23
CN1790266B (zh) 2010-12-08
US7716660B2 (en) 2010-05-11
KR101201147B1 (ko) 2012-11-13
AU2005239708A1 (en) 2006-06-29
EP1672490B1 (en) 2015-01-14
JP5349733B2 (ja) 2013-11-20

Similar Documents

Publication Publication Date Title
MXPA05013575A (es) Metodo y sistema para descargar actualizaciones.
US7676448B2 (en) Controlling installation update behaviors on a client computer
AU2004279202B2 (en) System and method for updating installation components in a networked environment
US7574706B2 (en) System and method for managing and communicating software updates
AU2004279173B2 (en) System and method for updating files utilizing delta compression patching
US7721110B2 (en) System and method for secure and verified sharing of resources in a peer-to-peer network environment
US7478381B2 (en) Managing software updates and a software distribution service
US9164757B2 (en) Image forming apparatus, tracking apparatus, managing apparatus and method of updating firmware of image forming apparatus
US7627653B2 (en) Method and apparatus for distributing computer files across a network
US20070038681A1 (en) System and method of remote storage of data through connection from a server to a client
US20030070089A1 (en) Method and apparatus to facilitate cross-domain push deployment of software in an enterprise environment
KR20050091999A (ko) 소프트웨어를 배포하는 업데이트 배포 시스템 아키텍처 및방법
CN101478446A (zh) 网络设备版本加载方法、装置和系统
CN111046383B (zh) 终端攻击防御方法、装置、终端及云服务器
US20030076786A1 (en) Peer to peer network
US11930231B2 (en) Digital display method and system, digital display device and digital display server
CN117354301A (zh) 文件下载方法、装置、设备及存储介质
CN116483405A (zh) 软件更新策略的配置方法及其装置、电子设备及存储介质
WO2024086665A1 (en) Software application management in heterogeneous managed networks

Legal Events

Date Code Title Description
FG Grant or registration