ES2955790T3 - Habilitación de la actualización del firmware de un dispositivo objetivo - Google Patents
Habilitación de la actualización del firmware de un dispositivo objetivo Download PDFInfo
- Publication number
- ES2955790T3 ES2955790T3 ES20727226T ES20727226T ES2955790T3 ES 2955790 T3 ES2955790 T3 ES 2955790T3 ES 20727226 T ES20727226 T ES 20727226T ES 20727226 T ES20727226 T ES 20727226T ES 2955790 T3 ES2955790 T3 ES 2955790T3
- Authority
- ES
- Spain
- Prior art keywords
- firmware
- target device
- updater
- portable
- sections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012546 transfer Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C2009/00753—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
- G07C2009/00769—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Se proporciona un método para permitir la actualización del firmware de un dispositivo de destino. El método se realiza en un actualizador portátil y comprende los pasos de: descargar una pluralidad de secciones de firmware desde un servidor, formando las secciones de firmware colectivamente un firmware completo para su implementación en el dispositivo de destino; determinar que se establece una conexión con el dispositivo objetivo a través de un enlace inalámbrico de corto alcance; determinar una sección de firmware para transferir al dispositivo de destino; y transferir la sección de firmware determinada al dispositivo objetivo a través del enlace inalámbrico de corto alcance. Los pasos de determinar una sección de firmware y transferir se repiten hasta que se haya transferido un número predeterminado de secciones de firmware, que son un subconjunto estricto de todas las secciones de firmware. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Habilitación de la actualización del firmware de un dispositivo objetivo
CAMPO TÉCNICO
La presente divulgación se relaciona con el campo del firmware y, en particular, con la actualización del firmware de un dispositivo objetivo.
ANTECEDENTES
Muchos tipos de dispositivos dependen de un firmware estable y funcional para funcionar correctamente. Estos dispositivos se denominan dispositivos objetivos en el presente documento. Los dispositivos objetivos pueden ser dispositivos conectados, en cuyo caso se pueden lograr actualizaciones de firmware mediante la transferencia de una nueva versión de firmware desde un servidor de actualización de firmware al dispositivo objetivo.
Sin embargo, cuando los dispositivos objetivos no están conectados a la red, las actualizaciones de firmware son más engorrosas. Se sabe que se utiliza un dispositivo de actualización específico, en el que se transfiere una nueva versión de firmware al dispositivo objetivo y se aplica el firmware al dispositivo objetivo.
Es más, considere un caso donde hay una gran cantidad de dispositivos objetivos para los que se debe actualizar el firmware. El uso de un dispositivo de actualización para actualizar el firmware en muchos casos toma de 10 a 20 minutos para cada dispositivo objetivo. Con una gran cantidad de dispositivos objetivos, esta tarea se convierte en una carga excesivamente grande. Es más, cuando se produce la actualización del firmware, se impide que el dispositivo objetivo realice su función habitual. En un ejemplo, puede haber dispositivos objetivos en forma de cerraduras electrónicas que se utilizan para el acceso a la atención domiciliaria. Normalmente, un grupo de solo un puñado de personas en una empresa de atención domiciliaria tiene la tarea de mantener el entorno técnico en funcionamiento y actualizado. Una sola empresa de atención domiciliaria puede ser responsable de miles de cerraduras electrónicas de este tipo, por lo que existe una carga sustancial cada vez que se necesita aplicar una nueva versión de firmware.
El documento US 2016/013934 A1 divulga la verificación de actualización de software del vehículo.
Idealmente, la actualización del firmware debe proporcionarse sin la participación deliberada del operario. Es más, la actualización debería mantener bajo el impacto en la comunicación regular.
SUMARIO
Un objetivo es mejorar la forma en que se proporciona el firmware a los dispositivos objetivos.
De acuerdo con un primer aspecto, se proporciona un método para habilitar la actualización del firmware de un dispositivo objetivo. El método se realiza en un actualizador portátil y comprende las etapas de: descargar una pluralidad de secciones de firmware desde un servidor, constituyendo colectivamente las secciones de firmware un firmware completo para su implementación en el dispositivo objetivo; determinar que se establece una conexión con el dispositivo objetivo a través de un enlace inalámbrico de corto alcance; determinar una sección de firmware para su transferencia al dispositivo objetivo; y transferir la sección de firmware determinada al dispositivo objetivo a través del enlace inalámbrico de corto alcance. Las etapas para determinar una sección de firmware y transferir pueden repetirse hasta que se haya transferido un número predeterminado de secciones de firmware, que son un subconjunto estricto de todas las secciones de firmware.
El método puede comprender además la etapa de interrumpir la conexión con el dispositivo objetivo después de que se haya transferido el subconjunto estricto de todas las secciones de firmware.
La conexión con el dispositivo objetivo puede limitarse a transferir solo el subconjunto estricto de todas las secciones de firmware.
El método puede comprender además la etapa, antes de la etapa de descarga, de transmitir un identificador del dispositivo objetivo al servidor.
La etapa de determinar una sección de firmware para transferir puede basarse en un indicador de sección recibido desde el dispositivo objetivo a través del enlace inalámbrico de corto alcance.
El indicador de sección puede especificar una sección de firmware para su transferencia.
El indicador de sección puede especificar una versión de firmware.
El actualizador portátil puede ser un teléfono inteligente.
El enlace inalámbrico de corto alcance puede estar basado en Bluetooth o Bluetooth de baja energía.
El dispositivo objetivo puede ser una cerradura electrónica.
De acuerdo con un segundo aspecto, se proporciona un actualizador portátil para habilitar la actualización del firmware de un dispositivo objetivo. El actualizador portátil comprende: un procesador; y una memoria que almacena instrucciones que, cuando son ejecutadas por el procesador, hacen que el actualizador portátil: descargue una pluralidad de secciones de firmware de un servidor, constituyendo colectivamente las secciones de firmware un firmware completo para su implementación en el dispositivo objetivo; determinar que se establece una conexión con el dispositivo objetivo a través de un enlace inalámbrico de corto alcance; determinar una sección de firmware para su transferencia al dispositivo objetivo; transferir la sección de firmware determinada al dispositivo objetivo a través del enlace inalámbrico de corto alcance; y repetir las instrucciones para determinar una sección de firmware y transferir hasta que se haya transferido un número predeterminado de secciones de firmware, que es un subconjunto estricto de todas las secciones de firmware.
El actualizador portátil puede comprender además instrucciones que, cuando las ejecuta el procesador, hacen que el actualizador portátil interrumpa la conexión con el dispositivo objetivo después de que se haya transferido el subconjunto estricto de todas las secciones de firmware.
La conexión con el dispositivo objetivo puede limitarse a transferir solo el subconjunto estricto de todas las secciones de firmware.
El actualizador portátil puede ser un teléfono inteligente.
De acuerdo con un tercer aspecto, se proporciona un programa informático para habilitar la actualización del firmware de un dispositivo objetivo. El programa informático comprende un código de programa informático que, cuando se ejecuta en un actualizador portátil, hace que el actualizador portátil: descargue una pluralidad de secciones de firmware de un servidor, conformando colectivamente las secciones de firmware un firmware completo para su implementación en el dispositivo objetivo; determinar que se establece una conexión con el dispositivo objetivo a través de un enlace inalámbrico de corto alcance; determinar una sección de firmware para su transferencia al dispositivo objetivo; transferir la sección de firmware determinada al dispositivo objetivo a través del enlace inalámbrico de corto alcance; y repetir el código de programa informático para determinar una sección de firmware y transferir hasta que se haya transferido un número predeterminado de secciones de firmware, que es un subconjunto estricto de todas las secciones de firmware.
De acuerdo con un cuarto aspecto, se proporciona un producto de programa informático que comprende un programa informático de acuerdo con el tercer aspecto y un medio legible por ordenador en el que se almacena el programa informático.
En general, todos los términos usados en las reivindicaciones deben interpretarse según su significado ordinario en el campo técnico, a no ser que se defina explícitamente de otra manera en este documento. Todas las referencias a "un/una/el elemento, aparato, componente, medios, etapa, etc." se interpretarán de forma abierta como haciendo referencia a al menos una instancia del elemento, aparato, componente, medios, etapa, etc., a no ser que se indique explícitamente de otra manera. Las etapas de cualquier método divulgado en este documento no tienen que realizarse en el orden exacto divulgado, a no ser que se indique explícitamente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los aspectos y realizaciones se describen ahora, a modo de ejemplo, con referencia a los dibujos adjuntos, en los que:
la Figura 1 es un diagrama esquemático que ilustra un entorno en el que se pueden aplicar las realizaciones presentadas en este documento;
la Figura 2 es un diagrama esquemático que ilustra las secciones del firmware;
la Figura 3 es un diagrama de flujo para habilitar la actualización del firmware de un dispositivo objetivo;
la Figura 4 es un diagrama de secuencia que ilustra la comunicación entre diferentes entidades para actualizar el firmware de un dispositivo objetivo;
la Figura 5 es un diagrama esquemático que ilustra los componentes del actualizador portátil de la Figura 1; y
la Figura 6 muestra un ejemplo de un producto de programa informático que comprende medios legibles por ordenador.
DESCRIPCIÓN DETALLADA
Los aspectos de la presente divulgación se describirán ahora más completamente en lo sucesivo con referencia a los dibujos adjuntos, en los que se muestran ciertas realizaciones de la invención. Sin embargo, estos aspectos pueden
incorporarse de muchas formas diferentes y no deben interpretarse como limitantes; en su lugar, estas realizaciones se proporcionan a modo de ejemplo de modo que esta divulgación será exhaustiva y completa, y para transmitir completamente el alcance de todos los aspectos de la invención a los expertos en la materia. Números de referencia similares se refieren a elementos similares a lo largo de la descripción.
La Figura 1 es un diagrama esquemático que ilustra un entorno en el que se pueden aplicar las realizaciones presentadas en este documento. Un dispositivo objetivo 2 es un dispositivo electrónico con un propósito específico. Por ejemplo, el dispositivo objetivo 2 puede ser una cerradura electrónica, un dispositivo de puente de comunicación, un dispositivo de notificación de emergencia personal, etc. En una realización, el dispositivo objetivo 2 no está permanentemente conectado a una red de comunicación.
Un actualizador portátil 1 está configurado para comunicarse con el dispositivo objetivo 2 a través de un enlace inalámbrico de corto alcance 5. El enlace inalámbrico de corto alcance 5 puede basarse en cualquier protocolo de comunicación actual o futuro adecuado para la comunicación inalámbrica local, por ejemplo, Bluetooth y/o Bluetooth de baja energía (BLE).
El actualizador portátil 1 está además configurado para comunicarse con un servidor 3 a través de una red de comunicación 4. La red de comunicación 4 puede, p. ej. estar basado en Internet y/o en una red de comunicación celular. El actualizador portátil 1 se puede implementar como un teléfono inteligente, es decir, un teléfono móvil multipropósito con capacidad para instalar aplicaciones de software seleccionadas por el usuario, también conocidas como aplicaciones. Alternativamente, el actualizador es una tarjeta de acceso, por ejemplo, basada en RFID (identificación por radiofrecuencia).
Como se explica con más detalle a continuación, el actualizador portátil 1 se utiliza para actualizar el firmware del dispositivo objetivo 2. En concreto, el firmware no se actualiza en una sola operación; en cambio, el firmware se divide en secciones de firmware y se transfiere progresivamente al dispositivo objetivo 2. El actualizador portátil 1 también se puede usar para comunicarse con el dispositivo objetivo 2 para su propósito previsto, por ejemplo, para desbloquear el dispositivo objetivo 2 cuando se trata de una cerradura electrónica.
La Figura 2 es un diagrama esquemático que ilustra las secciones de firmware 10a-n. Un firmware completo 11 se divide en secciones de firmware 10a-n. El número de secciones puede variar en diferentes implementaciones y se puede seleccionar en función del tamaño del firmware completo 11. Cada sección de firmware 10a-n es una cantidad significativa de datos, por ejemplo, al menos un kilobyte o incluso al menos un megabyte. En cualquier caso, cada sección de firmware es mayor que un solo paquete de datos, un solo byte o un solo bit. Por lo tanto, la sección de firmware es mayor que la que se puede transferir en un solo paquete de datos entre el actualizador portátil y el dispositivo objetivo. Esto simplifica el seguimiento de qué secciones de firmware se han transferido y qué secciones de firmware deben transferirse.
Para actualizar el firmware en un dispositivo objetivo 2, el firmware completo, es decir, todas las secciones de firmware 10a-n, deben transferirse al dispositivo objetivo. El firmware completo 11 es una versión específica del firmware completo que se puede aplicar a un dispositivo objetivo. Diferentes modelos de dispositivos objetivos pueden (pero no necesariamente necesitan) tener diferentes tipos de firmware. El servidor puede determinar el firmware (incluida su versión) que se aplicará a un dispositivo objetivo en particular, p. ej. basado en un número de serie del dispositivo objetivo o un número de modelo del dispositivo objetivo.
La Figura 3 es un diagrama de flujo para habilitar la actualización del firmware de un dispositivo objetivo. El método se realiza en un actualizador portátil, tal como el actualizador portátil que se muestra en la Figura 1 y se describe anteriormente. El actualizador portátil puede ser un teléfono inteligente. El dispositivo objetivo puede ser una cerradura electrónica.
en una etapa opcional de transmitiridentificador(es) 40, el actualizador portátil transmite un identificador (por ejemplo, un número de serie) del dispositivo objetivo al servidor. En una realización, el dispositivo actualizador transmite una lista de identificadores de dispositivos objetivo con los que ha interactuado el dispositivo portátil. Cuando se realiza, esta etapa se realiza antes de la etapa 42.
en una etapa de descargar secciones de firmware 42, el actualizador portátil descarga una pluralidad de secciones de firmware desde un servidor. Como se ha explicado anteriormente, las secciones de firmware forman colectivamente un firmware completo para su implementación en el dispositivo objetivo. Cuando se realiza la etapa 40, el servidor determina la versión completa del firmware para descargar y se comunica al actualizador portátil. Después, el servidor realiza un seguimiento de qué versión de firmware es aplicable a qué dispositivo objetivo, utilizando el identificador del dispositivo objetivo. Cabe señalar que, en algunos casos, es posible que no sea necesario actualizar el firmware, en cuyo caso el método finaliza antes de realizar la etapa 42.
En una etapa de determinar conexión 44, el actualizador portátil determina que se ha establecido una conexión con el dispositivo objetivo a través de un enlace inalámbrico de corto alcance. Opcionalmente, esta etapa comprende establecer la conexión con el dispositivo objetivo a través del enlace inalámbrico de corto alcance. El enlace inalámbrico de corto alcance puede, por ejemplo, basarse en Bluetooth o Bluetooth de baja energía o cualquier otro enlace inalámbrico de corto alcance adecuado. La conexión se puede establecer también para otro propósito, por ejemplo, para controlar el
dispositivo objetivo de acuerdo con su propósito específico, por ejemplo, desbloquear el dispositivo objetivo 2 cuando el dispositivo objetivo es una cerradura electrónica. Como parte de esta etapa, el actualizador portátil puede informar al dispositivo objetivo de la versión de firmware que tiene disponible para el dispositivo objetivo, basándose en la identidad del dispositivo objetivo.
En una etapa de determinar sección de firmware 46, el actualizador portátil determina una sección de firmware para su transferencia al dispositivo objetivo. La sección de firmware a transferir se puede determinar basándose en un indicador de sección recibido del dispositivo objetivo a través del enlace inalámbrico de corto alcance. Esto implementa una transferencia de firmware basada en extracción al dispositivo objetivo, es decir, el dispositivo objetivo, en efecto, solicita que se transfieran secciones de firmware, basándose en la comunicación desde el dispositivo actualizador en la etapa 44. El dispositivo objetivo entonces tiene el control de qué sección de firmware transferir. Por ejemplo, si las secciones de firmware 0 a n de una versión en particular se transfirieron previamente, el dispositivo objetivo puede decidir solicitar la sección de firmware n + 1. Por otro lado, si hay una nueva versión de firmware disponible (comunicado en la etapa 44), el dispositivo objetivo podría decidir solicitar la sección de firmware o de esa versión de firmware. Cabe señalar que las secciones de firmware no necesitan solicitarse secuencialmente. Esta transferencia basada en extracción le da al dispositivo objetivo el control de la progresión de la transferencia o las secciones de firmware, lo que permite que diferentes actualizadores portátiles suministren diferentes secciones de firmware (a lo largo del tiempo) del mismo firmware. El indicador de sección puede especificar una sección de firmware específica a transferir. Opcionalmente, el indicador de sección especifica también una versión de firmware, ya sea especificando la versión actual en el dispositivo objetivo o especificando un número de versión a actualizar.
En una etapa de transferir 48, el actualizador portátil transfiere la sección de firmware determinada al dispositivo objetivo a través del enlace inalámbrico de corto alcance. Opcionalmente, el actualizador portátil transmite un mensaje de estado al servidor para informar el resultado de la transferencia de la sección de firmware determinada a un dispositivo objetivo específico. De esta forma, el servidor sabe cuándo una determinada sección de firmware se ha transferido con éxito al dispositivo objetivo y puede determinar cuándo se han transferido todas las secciones de firmware de un firmware completo.
En una etapa de realizado 49 condicional, se determina si se ha transferido un número predeterminado (también denominado número de transferencia) de secciones de firmware, que es un subconjunto estricto de todas las secciones de firmware. Si esto no es cierto, el método vuelve a la etapa 46 de la sección de determinación del firmware. De lo contrario, el método finaliza para esta sesión, opcionalmente a través de una etapa de interrupción de la conexión 50.
En la etapa de interrumpir conexión opcional 50, el actualizador portátil interrumpe la conexión con el dispositivo objetivo, lo que ocurre después de que se haya transferido el subconjunto estricto de todas las secciones de firmware. Esta etapa se puede realizar cuando se confirma que otros datos (por ejemplo, datos de control de acceso) se han comunicado correctamente con el dispositivo objetivo.
La conexión (es decir, la sesión de comunicación) con el dispositivo objetivo puede limitarse a transferir solo el subconjunto estricto de todas las secciones de firmware. Si bien no se transfieren más secciones de firmware a través de la conexión, se pueden transferir otros datos (por ejemplo, datos de control de acceso).
En otras palabras, después de transferir el número de transferencia de secciones de firmware, no se transfieren más secciones de firmware en esta sesión, incluso si el dispositivo objetivo aún no tiene secciones de firmware disponibles en el actualizador. Cabe señalar que el número de transferencia es deliberadamente menor que el número total de secciones, para dividir la transferencia de secciones en múltiples sesiones, para así reducir el tiempo que se utiliza para cada sesión de transferencia. Por ende, el ancho de banda utilizado en cada sesión para transferir secciones de firmware es limitado para reducir los efectos negativos en otras comunicaciones con el dispositivo objetivo. Después de una serie de conexiones, posiblemente de diferentes actualizadores, se habrá transferido una cantidad suficiente de secciones de firmware para formar el firmware completo, sin ocupar demasiado ancho de banda que afectaría a otras comunicaciones.
El número de transferencia de secciones de firmware se puede configurar para controlar qué tan agresiva debe ser la transferencia de secciones. Si el número de transferencia es relativamente alto, el firmware se transferirá más rápido (menos sesiones de transferencia), a costa de un poco más de perturbaciones en otras comunicaciones. Por otro lado, si el número de transferencia es relativamente bajo, la transferencia de firmware llevará más tiempo (más sesiones de transferencia), pero se reduce la perturbación de otras comunicaciones.
En una realización, el actualizador está configurado para transferir siempre al menos un primer número de secciones, cuando se establece una conexión con el dispositivo objetivo. Como alternativa o adicionalmente, el actualizador está configurado para transferir siempre al menos un segundo número de secciones cuando se produce una desconexión (o se activa para que se produzca) con el dispositivo objetivo. En este caso, la transferencia se produce antes de la desconexión real. El primer número y el segundo número pueden diferir entre sí o ser el mismo.
Opcionalmente, la transferencia solo ocurre si ha pasado una duración de interrupción desde la última desconexión. Esto evita que la transferencia de secciones de firmware ocupe demasiado ancho de banda, lo que podría interrumpir la comunicación regular con el dispositivo objetivo, con el actualizador o con otros dispositivos.
Los parámetros del número de transferencia, el primer número, el segundo número y la duración de la interrupción se pueden controlar de forma centralizada (desde el servidor) para equilibrar la rapidez con la que se deben transferir las secciones de firmware al dispositivo objetivo. En una realización, uno o más de los parámetros se reconfiguran con el tiempo para transferir secciones de firmware de manera más agresiva si el firmware no se ha transferido después de un período determinado, por ejemplo, una cierta cantidad de días o meses, a un dispositivo objetivo específico. Opcionalmente, los parámetros se configuran progresivamente de forma más agresiva con el tiempo para garantizar que el firmware finalmente se transfiera y aplique.
Las etapas 44, 46 y 48 se realizan cada vez que un dispositivo actualizador establece contacto con un dispositivo objetivo. De esta forma, no es necesario que el firmware completo se transfiera al dispositivo objetivo en una sesión de comunicación cuando el actualizador está en contacto con el dispositivo objetivo. En su lugar, se pueden transferir una (o unas pocas) secciones de firmware cada vez.
Además, la transferencia de secciones de firmware a un dispositivo objetivo puede ocurrir desde diferentes actualizaciones portátiles. Siempre que las secciones de firmware se definan de forma consistente y las secciones de firmware se refieran a la misma versión del firmware completo, no hay nada que impida que diferentes actualizadores portátiles transfieran diferentes secciones de firmware al dispositivo objetivo.
Esta flexibilidad en el uso de múltiples actualizadores es de gran beneficio en muchas situaciones. Por ejemplo, considere el caso de la atención domiciliaria donde el dispositivo objetivo es una cerradura electrónica. Cualquier cuidador que visite al paciente puede transferir una o más secciones durante una visita, por lo que eventualmente se transferirán todas las secciones, incluso cuando los cuidadores pueden variar con el tiempo. Asimismo, puede haber varios cuidadores durante una sola visita, en cuyo caso ambos cuidadores pueden necesitar interactuar con la cerradura electrónica. En tal caso, las secciones deben ser lo suficientemente pequeñas para no perturbar la comunicación regular entre el actualizador (por ejemplo, un teléfono inteligente) y el dispositivo objetivo.
Por ende, para esta y otras realizaciones, cada sección puede tener un tamaño máximo, que puede determinarse basándose en la velocidad de transferencia esperada y/o el tipo de dispositivo objetivo. En una realización, el tamaño máximo de cada sección también depende del actualizador. Por ejemplo, la memoria disponible para las secciones de firmware puede estar limitada en el actualizador, particularmente si el actualizador es una tarjeta de acceso (por ejemplo, RFID).
No es necesario que el usuario realice una acción deliberada para que comience la transferencia de secciones de firmware desde un dispositivo actualizador portátil. Por ende, cualquiera de varios usuarios que acceden al dispositivo objetivo con un dispositivo de actualización permite que su dispositivo de actualización actúe como portador de secciones de firmware. Esto automatiza el proceso de actualización del firmware, simplificando la transferencia de secciones de firmware. De esta manera, la actualización del firmware se puede aplicar con un uso regular y no necesita, por ejemplo, personal de mantenimiento para aplicar la actualización del firmware. Esto libera al personal de mantenimiento de la ardua tarea de visitar cada dispositivo objetivo para actualizar el firmware. Como se ha explicado anteriormente, refiriéndose al ejemplo de una situación de atención domiciliaria, una sola empresa de atención domiciliaria puede ser responsable del funcionamiento de miles de dichos dispositivos objetivos. Cada actualización de este tipo suele tardar entre 10 y 20 minutos de tiempo dedicado. Esta actualización deliberada se elimina por completo mediante el uso de las realizaciones presentadas en este documento.
Una vez que todas las secciones de firmware de un firmware completo se han transferido al dispositivo objetivo, el dispositivo objetivo se reinicia y aplica la actualización de firmware, p. ej. utilizando un gestor de arranque. De esta manera, el dispositivo objetivo tiene el control total de cuándo está listo para aplicar la actualización, lo que minimiza el riesgo de que cualquier problema de transferencia afecte la estabilidad del dispositivo objetivo durante la actualización del firmware. El actualizador portátil puede recibir un mensaje de éxito del dispositivo objetivo, lo que indica que el dispositivo objetivo ha aplicado con éxito un firmware completo. Una vez que se ha recibido el mensaje de éxito, el actualizador portátil puede enviar un mensaje de éxito correspondiente al servidor, lo que permite que el servidor realice un seguimiento del firmware aplicado actualmente en el dispositivo objetivo.
La Figura 4 es un diagrama de secuencia que ilustra la comunicación entre diferentes entidades para actualizar el firmware de un dispositivo objetivo. El diagrama de secuencia corresponde al método de la Figura 3, pero ilustra mejor la interacción entre diferentes entidades.
En primer lugar, el actualizador portátil 1 transmite al servidor los identificadores 20 de los dispositivos objetivos con los que ha interactuado. Esto corresponde a la etapa 40.
basándose en los identificadores 20, el servidor 3 determina qué secciones de firmware 21 debe almacenar el actualizador para permitir la actualización del firmware del dispositivo objetivo, y el actualizador descarga estas secciones de firmware 21. Esto corresponde a la etapa 42.
Se establece una conexión 22 entre el actualizador portátil 1 y el dispositivo objetivo 2, correspondiente a la etapa 44. El
actualizador portátil 1 determina 46 después qué sección de firmware transferir y transfiere la sección de firmware determinada 23, correspondiente a la etapa 48.
El dispositivo objetivo puede indicar 24 opcionalmente al actualizador cuando se completa la transferencia, después de lo que el actualizador portátil 1 puede enviar una indicación correspondiente 24' (que incluye un identificador del dispositivo objetivo 2 y un identificador de la sección de firmware transferida) al servidor. 3, lo que indica que se completó la transferencia de esa sección de firmware particular. Esto permite que el servidor 3 realice un seguimiento de las secciones de firmware que se han transferido a cada dispositivo objetivo individual. En esta realización, tanto el dispositivo objetivo 2 como el servidor 3 tienen esta información.
Las etapas de secuencia 22, 46, 23 y las etapas de secuencia opcionales 24, 24' se repiten 26 por uno o más actualizadores portátiles 1 hasta que todas las secciones de firmware de un firmware completo se hayan transferido a un dispositivo objetivo particular 2. El dispositivo objetivo 2 aplica el firmware completo y envía un mensaje de éxito 27, cuando el firmware completo se ha aplicado con éxito, al actualizador portátil 1. El actualizador portátil 1 transmite después un mensaje de éxito correspondiente 27' al servidor, lo que permite que el servidor realice un seguimiento del firmware aplicado actualmente en el dispositivo objetivo 2.
La Figura 5 es un diagrama esquemático que ilustra los componentes del actualizador portátil 1 de la Figura 1. Se proporciona un procesador 60 usando cualquier combinación de uno o más de una unidad central de procesamiento (CPU), multiprocesador, microcontrolador, procesador de señal digital (DSP), etc., capaz de ejecutar instrucciones de software 67 almacenadas en una memoria 64, que puede por lo tanto ser un producto de programa informático. El procesador 60 podría implementarse alternativamente utilizando un circuito integrado de aplicación específica (ASIC), una matriz de puertas programables en campo (FPGA), etc. El procesador 60 puede configurarse para ejecutar el método descrito con referencia a la Figura 3 anterior.
La memoria 64 puede ser cualquier combinación de memoria de acceso aleatorio (RAM) y/o memoria de sólo lectura (ROM). La memoria 64 también comprende almacenamiento persistente que, por ejemplo, puede ser cualquiera o una combinación de memoria magnética, memoria óptica, memoria de estado sólido o incluso memoria montada remotamente.
También se proporciona una memoria de datos 66 para leer y/o almacenar datos durante la ejecución de instrucciones de software en el procesador 60. La memoria de datos 66 puede ser cualquier combinación de RAM y/o ROM.
El actualizador portátil 1 comprende además una interfaz de E/S 62 para comunicarse con entidades externas y/o internas. Opcionalmente, la interfaz de E/S 62 incluye también una interfaz de usuario.
Un transceptor 61 comprende componentes analógicos y digitales adecuados para permitir la transmisión y recepción de señales con un dispositivo inalámbrico que utiliza una o más antenas 63.
Se omiten otros componentes del actualizador portátil 1 para no oscurecer los conceptos presentados aquí.
La Figura 6 muestra un ejemplo de un producto de programa informático 90 que comprende medios legibles por ordenador. En estos medios legibles por ordenador, se puede almacenar un programa informático 91, cuyo programa informático puede hacer que un procesador ejecute un método de acuerdo con las realizaciones descritas en este documento. En este ejemplo, el producto del programa informático es un disco óptico, tal como un CD (disco compacto) o un DVD (disco versátil digital) o un disco Blu-Ray. Como se explicó anteriormente, el producto de programa informático también podría incorporarse en una memoria de un dispositivo, tal como el producto de programa informático 64 de la Figura 5. Si bien el programa informático 91 se muestra aquí esquemáticamente como una pista en el disco óptico representado, el programa informático se puede almacenar de cualquier manera que sea adecuada para el producto del programa informático, tal como una memoria de estado sólido extraíble, por ejemplo, una unidad de bus serie universal (USB).
Los aspectos de la presente divulgación se han descrito principalmente anteriormente con referencia a unas pocas realizaciones. Sin embargo, tal como se aprecia fácilmente por un experto en la materia, otras realizaciones distintas de las divulgadas anteriormente son igualmente posibles dentro del alcance de la invención, según se define mediante las reivindicaciones adjuntas. Por tanto, aunque en el presente documento se han descrito varios aspectos y realizaciones, otros aspectos y realizaciones resultarán evidentes para los expertos en la materia. Los diversos aspectos y realizaciones divulgados en este documento tienen fines ilustrativos y no pretenden ser limitativos.
Claims (14)
1. Un método para habilitar la actualización del firmware de un dispositivo objetivo (2), realizándose el método en un actualizador portátil (1) y comprende las etapas de:
descargar (42) una pluralidad de secciones de firmware (10a-h) desde un servidor (3), formando las secciones de firmware (10a-n) colectivamente un firmware completo (11) para su implementación en el dispositivo objetivo (2); determinar (44) que se establece una conexión con el dispositivo objetivo (2) a través de un enlace inalámbrico de corto alcance;
determinar (46) una sección de firmware para su transferencia al dispositivo objetivo (2); y
transferir (48) la sección de firmware determinada al dispositivo objetivo (2) a través del enlace inalámbrico de corto alcance;
caracterizado por que las etapas de determinar (46) una sección de firmware y transferir (48) se repiten hasta que se haya transferido un número predeterminado de secciones de firmware, que son un subconjunto estricto de todas las secciones de firmware;
en donde el método comprende además interrumpir la conexión con el dispositivo objetivo después de que se haya transferido el subconjunto estricto de todas las secciones de firmware.
2. El método de acuerdo con la reivindicación 1, en donde la conexión con el dispositivo objetivo (2) se limita a transferir solo el subconjunto estricto de todas las secciones de firmware.
3. El método de acuerdo con cualquiera de las reivindicaciones anteriores, que comprende además la etapa, antes de la etapa de descarga, de transmitir (40) un identificador del dispositivo objetivo al servidor.
4. El método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde la etapa de determinar (46) una sección de firmware para transferir se basa en un indicador de sección recibido del dispositivo objetivo (2) a través del enlace inalámbrico de corto alcance.
5. El método de acuerdo con la reivindicación 4, en donde el indicador de sección especifica una sección de firmware a transferir.
6. El método de acuerdo con la reivindicación 5, en donde el indicador de sección especifica una sección de versión de firmware.
7. El método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde el actualizador portátil (1) es un teléfono inteligente.
8. El método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde el enlace inalámbrico de corto alcance se basa en Bluetooth o Bluetooth de baja energía.
9. El método de acuerdo con una cualquiera de las reivindicaciones anteriores, en donde el dispositivo objetivo es una cerradura electrónica.
10. Un actualizador portátil (1) para habilitar la actualización del firmware de un dispositivo objetivo (2), comprendiendo el actualizador portátil (2):
un procesador (60); y
una memoria (64) que almacena instrucciones (67) que, cuando son ejecutadas por el procesador, hacen que el actualizador portátil (1):
descargue una pluralidad de secciones de firmware (10a-h) desde un servidor (3), conformando colectivamente las secciones de firmware (10a-n) un firmware completo (11) para su implementación en el dispositivo objetivo (2); determine que se establezca una conexión con el dispositivo objetivo (2) a través de un enlace inalámbrico de corto alcance;
determine una sección de firmware para su transferencia al dispositivo objetivo (2);
transfiera la sección de firmware determinada al dispositivo objetivo (2) a través del enlace inalámbrico de corto alcance; y
caracterizado por que el actualizador portátil comprende además instrucciones (67) que, cuando son ejecutadas por el procesador, hacen que el actualizador portátil (1) repita las instrucciones para determinar una sección de firmware y transferir hasta que un número predeterminado de secciones de firmware, que es un subconjunto estricto de todas las secciones de firmware, se haya transferido
en donde el actualizador portátil comprende además instrucciones (67) que, cuando las ejecuta el procesador, hacen que el actualizador portátil (1) interrumpa la conexión con el dispositivo objetivo después de que se haya transferido el subconjunto estricto de todas las secciones de firmware.
11. El actualizador portátil (1) de acuerdo con la reivindicación 10, en donde la conexión con el dispositivo objetivo (2) se limita a transferir solo el subconjunto estricto de todas las secciones de firmware.
12. El actualizador portátil (1) de acuerdo con una cualquiera de las reivindicaciones 10 a 11, en donde el actualizador portátil (1) es un teléfono inteligente.
13. Un programa informático (67, 91) para habilitar la actualización del firmware de un dispositivo objetivo (2), comprendiendo el programa informático un código de programa informático que, cuando se ejecuta en un actualizador portátil (1) hace que el actualizador portátil (1):
descargue una pluralidad de secciones de firmware (10a-h) desde un servidor (3), conformando colectivamente las secciones de firmware (10a-n) un firmware completo (11) para su implementación en el dispositivo objetivo (2); determine que se establezca una conexión con el dispositivo objetivo (2) a través de un enlace inalámbrico de corto alcance;
determine una sección de firmware para su transferencia al dispositivo objetivo (2); y
transfiera la sección de firmware determinada al dispositivo objetivo (2) a través del enlace inalámbrico de corto alcance; caracterizado por que el programa informático comprende además un código de programa informático que, cuando se ejecuta en un actualizador portátil (1) hace que el actualizador portátil (1) repita el código de programa informático para determinar una sección de firmware y transferir hasta que un número predeterminado de secciones de firmware, que es un subconjunto estricto de todas las secciones de firmware, se haya transferido; y
en donde el programa informático comprende además un código de programa informático que, cuando se ejecuta en un actualizador portátil (1), hace que el actualizador portátil (1) interrumpa la conexión con el dispositivo objetivo después de que se haya transferido el subconjunto estricto de todas las secciones de firmware.
14. Un producto de programa informático (64, 90) que comprende un programa informático de acuerdo con la reivindicación 13 y un medio legible por ordenador en el que se almacena el programa informático.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1950618 | 2019-05-24 | ||
PCT/EP2020/063817 WO2020239499A1 (en) | 2019-05-24 | 2020-05-18 | Enabling upgrading firmware of a target device |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2955790T3 true ES2955790T3 (es) | 2023-12-07 |
Family
ID=70779734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20727226T Active ES2955790T3 (es) | 2019-05-24 | 2020-05-18 | Habilitación de la actualización del firmware de un dispositivo objetivo |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220229654A1 (es) |
EP (1) | EP3977269B1 (es) |
CN (1) | CN113874835A (es) |
ES (1) | ES2955790T3 (es) |
WO (1) | WO2020239499A1 (es) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110892741A (zh) * | 2017-08-15 | 2020-03-17 | 通用电气公司 | 智能装备、智能装备使用的方法以及智能灯 |
EP3977269B1 (en) | 2019-05-24 | 2023-06-07 | Assa Abloy Ab | Enabling upgrading firmware of a target device |
US11676437B1 (en) * | 2021-11-15 | 2023-06-13 | Latch Systems, Inc. | Smart access control device |
TWI823599B (zh) * | 2022-10-06 | 2023-11-21 | 新唐科技股份有限公司 | 韌體更新方法、電子裝置及伺服器 |
US11941389B1 (en) | 2023-10-12 | 2024-03-26 | Lockmasters, Inc. | Systems and methods for providing customized firmware packages to a locking device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040237082A1 (en) | 2003-05-22 | 2004-11-25 | Alcazar Mark A. | System, method, and API for progressively installing software application |
US7593344B2 (en) | 2004-10-14 | 2009-09-22 | Temic Automotive Of North America, Inc. | System and method for reprogramming nodes in an automotive switch fabric network |
US8543996B2 (en) * | 2005-11-18 | 2013-09-24 | General Electric Company | System and method for updating wind farm software |
NZ702710A (en) * | 2012-05-08 | 2017-07-28 | Schlage Lock Co Llc | Remote management of electronic products |
US10140110B2 (en) | 2014-04-02 | 2018-11-27 | Ford Global Technologies, Llc | Multiple chunk software updates |
US9722781B2 (en) * | 2014-07-09 | 2017-08-01 | Livio, Inc. | Vehicle software update verification |
US20160299753A1 (en) | 2015-04-09 | 2016-10-13 | Rex Poway Tseng | Firmware upgrading method for bluetooth electronic scales |
JP6713056B2 (ja) | 2016-03-30 | 2020-06-24 | スクエア, インコーポレイテッド | 圧縮ファームウエア更新 |
US10223098B2 (en) | 2017-03-31 | 2019-03-05 | Intel Corporation | Method and system to accelerate IoT patch propagation and reduce security vulnerabilities exposure time |
US10452381B2 (en) | 2017-04-04 | 2019-10-22 | OpenPath Security Inc. | Fragmented updating of a distributed device using multiple clients |
CN110892741A (zh) | 2017-08-15 | 2020-03-17 | 通用电气公司 | 智能装备、智能装备使用的方法以及智能灯 |
EP3977269B1 (en) | 2019-05-24 | 2023-06-07 | Assa Abloy Ab | Enabling upgrading firmware of a target device |
-
2020
- 2020-05-18 EP EP20727226.1A patent/EP3977269B1/en active Active
- 2020-05-18 CN CN202080037803.8A patent/CN113874835A/zh active Pending
- 2020-05-18 ES ES20727226T patent/ES2955790T3/es active Active
- 2020-05-18 WO PCT/EP2020/063817 patent/WO2020239499A1/en active Search and Examination
- 2020-05-18 US US17/612,930 patent/US20220229654A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2020239499A1 (en) | 2020-12-03 |
EP3977269C0 (en) | 2023-06-07 |
EP3977269A1 (en) | 2022-04-06 |
EP3977269B1 (en) | 2023-06-07 |
CN113874835A (zh) | 2021-12-31 |
US20220229654A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2955790T3 (es) | Habilitación de la actualización del firmware de un dispositivo objetivo | |
ES2473415A2 (es) | Establecimiento de políticas de enrutamiento basadas en aplicaciones en un equipo de usuario multimodo. | |
US8386589B2 (en) | System that provides embedded software to an embedded system | |
ES2867025T3 (es) | Método, servidores y sistema para descargar un perfil actualizado | |
ES2876311T3 (es) | Replicación de estado de instancias de función de red virtual | |
ES2928106T3 (es) | Método y dispositivo para solicitar la recuperación de la conexión | |
ES2745227T3 (es) | Provisión de servicio de red a un dispositivo electrónico externo | |
ES2764707T3 (es) | Procedimiento y dispositivo para llamar en estado de congestión de celda de red | |
BR112013011706B1 (pt) | Método para resolver conflitos de parâmetros de configuração, aparelho e sistema relacionados | |
ES2912977T3 (es) | Procedimiento y dispositivo de comunicación | |
US20190044939A1 (en) | Secure Type-Enforced Actions | |
ES2891029T3 (es) | Procedimientos de carga de un perfil en un elemento seguro, administrador y elemento seguro personalizable | |
ES2969686T3 (es) | Método de adquisición de información del sistema, método de control de transmisión y equipo relacionado | |
US20170235564A1 (en) | Software upgrade method and device | |
Ray et al. | Patching the internet of things | |
ES2921983T3 (es) | Método y aparato para procesar datos de mensaje | |
ES2792860T3 (es) | Método, dispositivo y terminal de procesamiento de camino | |
ES2908953T3 (es) | Método de transmisión de información de respuesta de realimentación y producto relacionado | |
KR101881717B1 (ko) | 정책 제어 기능 관리 메커니즘에 대한 시스템 및 방법 | |
JP6502808B2 (ja) | 無線通信装置、システム及び方法 | |
US10082974B2 (en) | Information processing system, wireless communication apparatus, method and program | |
ES2355426T3 (es) | Provisión de prefijos de ip. | |
KR20180043042A (ko) | 사물인터넷 디바이스 및 이를 위한 관리 플랫폼 등록 방법 | |
FI129622B (en) | Establishing application-based routing policies on multi-mode user devices | |
ES2542142T3 (es) | Procedimiento y dispositivos para la transmisión de contenidos autenticables de un servidor de proveedor a un terminal móvil |