Nothing Special   »   [go: up one dir, main page]

ES2247355T3 - Sistema y procedimiento para la descarga sobre el terreno de una seccion de codigos de software de un dispositivo de comunicacion sin hilos. - Google Patents

Sistema y procedimiento para la descarga sobre el terreno de una seccion de codigos de software de un dispositivo de comunicacion sin hilos.

Info

Publication number
ES2247355T3
ES2247355T3 ES02749159T ES02749159T ES2247355T3 ES 2247355 T3 ES2247355 T3 ES 2247355T3 ES 02749159 T ES02749159 T ES 02749159T ES 02749159 T ES02749159 T ES 02749159T ES 2247355 T3 ES2247355 T3 ES 2247355T3
Authority
ES
Spain
Prior art keywords
code
section
symbol
codes
symbols
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.)
Expired - Lifetime
Application number
ES02749159T
Other languages
English (en)
Inventor
Gowri Rajaram
Paul Seckendorf
Diego Kaplan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Wireless Corp
Original Assignee
Kyocera Wireless 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
Priority claimed from US09/916,460 external-priority patent/US7159214B2/en
Priority claimed from US09/916,900 external-priority patent/US7027806B2/en
Priority claimed from US09/917,026 external-priority patent/US7328007B2/en
Priority claimed from US09/927,131 external-priority patent/US7143407B2/en
Priority claimed from US09/969,305 external-priority patent/US7386846B2/en
Application filed by Kyocera Wireless Corp filed Critical Kyocera Wireless Corp
Application granted granted Critical
Publication of ES2247355T3 publication Critical patent/ES2247355T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

Procedimiento para actualizar el software de un sistema almacenado en la memoria de un dispositivo de comunicaciones sin hilos (104), el procedimiento comprendiendo: - el almacenamiento del software del sistema para el dispositivo sin hilos en una pluralidad de secciones de códigos actuales (302); - la recepción de una actualización del software (102) a través de una red de comunicaciones sin hilos, la actualización comprendiendo un conjunto de instrucciones del realizador del parche (200) y una nueva sección de códigos; - el lanzamiento de un motor de instrucciones del tiempo de ejecución configurado para procesar el conjunto de instrucciones del realizador del parche; y - la ejecución del conjunto de instrucciones del realizador del parche en el motor de instrucciones del tiempo de ejecución para disponer la nueva sección de códigos con secciones de códigos actuales para formar el software actualizado del sistema para el dispositivo sin hilos.

Description

Sistema y procedimiento para la descarga sobre el terreno de una sección de códigos de software de un dispositivo de comunicación sin hilos.
Antecedentes de la invención 1. Ámbito de la invención
Esta invención generalmente se refiere a dispositivos de comunicaciones sin hilos y, más particularmente, a un sistema y a un procedimiento para la actualización de las secciones de códigos en el software del sistema de un dispositivo de comunicaciones sin hilos sobre el terreno, a través de una interfaz de conexión aérea.
2. Descripción de la técnica relacionada
No es raro distribuir actualizaciones preparadas de software para teléfonos sobre el terreno. Estas actualizaciones pueden estar relacionadas con problemas que hayan aparecido en el software una vez que los teléfonos han sido fabricados y distribuidos al público. Algunas actualizaciones pueden incluir la utilización de nuevas características del teléfono, o de servicios prestados por el suministrador de los servicios. Todavía otras actualizaciones pueden implicar problemas regionales, o problemas asociados con ciertos portadores. Por ejemplo, en ciertas regiones la distribución en planta de la red de los portadores puede imponer condiciones de interfaz de conexión aérea en el aparato de teléfono que pueden causar que el aparato de teléfono muestre un comportamiento inesperado como por ejemplo la búsqueda de un canal incorrecto, la terminación incorrecta de una llamada, una audición incorrecta, o similares.
El enfoque tradicional de tales actualizaciones ha sido volver a llamar por parte del dispositivo de comunicaciones sin hilos, también referido aquí como dispositivo sin hilos, fono, teléfono o aparato de teléfono, a la toma de corriente al detall/servicio del portador más cercano, o al fabricante para procesar los cambios. Los costes implicados en tales actualizaciones son muy amplios y superan el mínimo aceptable. Además, se causan molestias al cliente y probablemente se irrite. Muchas veces, la solución práctica es distribuir teléfonos nuevos a los clientes.
Un ejemplo de un sistema convencional para configurar el software en un dispositivo de telecomunicaciones se describe en el documento US 5,771,386 (DE 19,502,728) ("Baumbauer"). Baumbauer se refiere a un dispositivo de telecomunicaciones provisto de un software que incluye diversas unidades de programa separadamente compilables. Para reducir el tiempo necesario para la fabricación del dispositivo y el tiempo necesario para la implantación de cambios en el software, Baumbauer muestra que las unidades de programa tienen cada una de ellas una cabecera que contiene direcciones (Ap1, Ap2, Ad) utilizadas para direccionar los procedimientos y los datos combinados en las unidades de programa. Además, está provisto un catálogo que contiene las referencias para direccionar las cabeceras de las unidades de programa. El catálogo está disponible en todas las unidades de programa cargadas. Dentro del ámbito de la fabricación del dispositivo de telecomunicaciones, las unidades de programa previamente definidas no necesitan estar conectadas cuando se implanta el software del dispositivo de telecomunicaciones.
Sería ventajoso que el software del dispositivo de comunicaciones sin hilos pudiera ser mejorado de forma barata y sin causar molestias al cliente.
Sería ventajoso que el software del dispositivo de comunicaciones sin hilos pudiera ser mejorado sin que el cliente pierda la utilización de sus teléfonos durante un periodo de tiempo significativo.
Sería ventajoso que el software del dispositivo de comunicaciones sin hilos pudiera ser actualizado con un mínimo de tiempo de servicio técnico, o sin la necesidad de enviar el dispositivo a las instalaciones del servicio técnico.
Sería ventajoso que el software del dispositivo de comunicaciones sin hilos se pudiera diferenciar en secciones de códigos, de forma que sólo fuera necesario reemplazar secciones de códigos específicas del software del sistema, para actualizar el software del sistema. Sería ventajoso si estas secciones de códigos se pudieran comunicar al dispositivo sin hilos a través de una conexión aérea.
Resumen de la invención
Las actualizaciones del software del dispositivo de comunicaciones sin hilos proporcionan a los clientes el mejor producto posible y la experiencia para el usuario. Un componente caro del negocio implica que los aparatos de teléfonos tengan que volver a llamar para actualizar el software. Es necesario que estas actualizaciones ofrezcan al usuario servicios adicionales o que se dirijan a problemas descubiertos en la utilización del teléfono después de que hayan sido fabricados. La presente invención hace posible mejorar prácticamente el software de los aparatos de teléfonos sobre el terreno, a través de una interfaz de conexión aérea.
De acuerdo con ello, se proporciona un procedimiento como se define en la reivindicación 1 para la actualización del software del sistema almacenado en la memoria de un dispositivo de comunicaciones sin hilos. El procedimiento comprende: la formación del software del sistema en una pluralidad de librerías de símbolos que incluyen una tabla de las direcciones de las secciones de códigos, una tabla de las direcciones del desplazamiento de los símbolos, un código del dispositivo de acceso a los símbolos, una librería del parche, y datos de lectura-escritura para una pluralidad de librerías de símbolos; la disposición de la tabla de direcciones de las secciones de códigos, la tabla de las direcciones del desplazamiento de los símbolos, el código del dispositivo de acceso a los símbolos, la librería del parche, los datos de lectura-escritura y la dirección de los códigos del dispositivo de acceso a los símbolos en una sección de códigos del gestor del parche; el almacenamiento del software del sistema para el dispositivo sin hilos en una pluralidad de secciones de códigos actuales; la recepción de las nuevas secciones de códigos a través de una interfaz aérea del dispositivo de comunicaciones sin hilos; el almacenamiento de las nuevas secciones de códigos en una sección de la memoria del sistema de archivos; identificación de las secciones de códigos actuales para la actualización; la sustitución de las secciones de códigos actuales con secciones de códigos nuevas para formar el software del sistema actualizado para el dispositivo sin hilos; y la ejecución del software actualizado del sistema.
En algunos aspectos de la invención, la recepción de las nuevas secciones de códigos incluye la recepción de una nueva sección de códigos de gestor del parche; y la sustitución de las secciones de códigos actuales con las secciones de códigos nuevas para formar el software del sistema actualizado para el dispositivo sin hilos incluye reemplazar una sección actual de códigos del gestor del parche con una nueva sección de códigos del gestor del parche.
Detalles adicionales del procedimiento anteriormente descrito para la actualización del software del sistema de un dispositivo sin hilos y un sistema del dispositivo sin hilos para la actualización del software del sistema, como se define en la reivindicación 17, se presentan en detalle más adelante.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques esquemático del sistema global de mantenimiento del software del dispositivo sin hilos.
La figura 2 es un diagrama de bloques esquemático del sistema de mantenimiento del software, subrayando la instalación de los conjuntos de instrucciones a través de la interfaz de conexión aérea.
La figura 3 es un diagrama de bloques esquemático que ilustra el sistema de la presente invención para la actualización del software del sistema en un dispositivo de comunicaciones sin hilos.
La figura 4 es un diagrama de bloques esquemático de lla memoria del dispositivo si hilos.
La figura 5 es una tabla que representa la tabla de direcciones de las secciones de códigos de la figura 3.
La figura 6 es una descripción detallada de la librería de símbolos uno de la figura 3, con símbolos.
La figura 7 es una tabla que representa la tabla de las direcciones del desplazamiento de los símbolos de la figura 3.
Las figuras 8a hasta 8c son diagramas de flujo que ilustran el procedimiento de la presente invención para la actualización del software del sistema en una memoria del dispositivo de comunicaciones sin hilos.
Descripción detallada de las realizaciones preferidas
Algunas partes de las descripciones detalladas que siguen están presentadas en términos de procedimientos, pasos, bloques lógicos, códigos, procesamiento y otras representaciones simbólicas de operaciones sobre los bits de datos dentro de un microprocesador o memoria del dispositivo sin hilos. Estas descripciones y representaciones son los medios utilizados por aquellos expertos en la técnica del tratamiento de datos para transferir lo más eficazmente la sustancia de su trabajo a otros expertos en la técnica. Un procedimiento, un paso ejecutado por el microprocesador, una aplicación, un bloque lógico, un proceso, etc, aquí y en general está concebido como una secuencia auto-coherente de pasos o instrucciones que conducen a un resultado deseado. Los pasos son aquellos que requieren manipulaciones físicas de cantidades físicas. Generalmente, aunque no necesariamente, estas cantidades toman la forma de señales eléctricas o magnéticas capaces de ser almacenadas, transferidas, combinadas, comparadas y manipuladas de otro modo en un dispositivo sin hilos basado en microprocesador. Se ha comprobado que es conveniente a veces, principalmente por razones de utilización común, referirse a estas señales como bits, valores, elementos, símbolos, caracteres, términos, números o similares. Cuando se mencionan los dispositivos físicos, como por ejemplo memorias, están conectados a otros dispositivos físicos a través de un bus o bien otra conexión eléctrica. Estos dispositivos físicos pueden ser considerados que interactúan con procesos lógicos o aplicaciones y, por lo tanto, están "conectados" a operaciones lógicas. Por ejemplo, una memoria puede almacenar un código de acceso a una operación lógica adicional.
Se debe tener presente, sin embargo, que todos estos términos y términos similares se asocian con las cantidades físicas apropiadas y son simplemente etiquetas convenientes aplicadas a estas cantidades. A menos que se establezca específicamente de otro modo, como es aparente a partir de las siguientes descripciones, se apreciará que a través de la presente invención, las descripciones que utilizan términos tales como "procesamiento" o "conexión" o "transposición", o "visualización", o "incitación", o "determinación", o "visualización" o "reconocimiento" o similares, se refrieren a la acción y a los procesos de un sistema de microprocesador de un dispositivo sin hilos que manipula y transforma los datos representados como cantidades físicas (electrónicas) dentro de los registros del sistema de ordenador y de las memorias en otros datos igualmente representados como cantidades físicas en el interior de las memorias o de los registros del dispositivo sin hilos o bien otros dispositivos de almacenamiento, transmisión o visualización de una información de este tipo.
La figura 1 es un diagrama de bloques esquemático del sistema global de mantenimiento del software del dispositivo sin hilos 100. La organización del software de sistema de la presente invención se presenta en detalle más adelante, a continuación de una visión general del sistema de mantenimiento del software 100. El sistema general 100 describe un proceso de distribución de las actualizaciones del software del sistema y los conjuntos (programas) de instrucciones y la instalación del software distribuido en un dispositivo sin hilos. Las actualizaciones del software del sistema o el conjunto de instrucciones del realizador del parche (PMIS) están creadas por el fabricante de los aparatos de teléfonos. El software del sistema está organizado en librerías de símbolos. Las librerías de símbolos están dispuestas en secciones de códigos. Cuando se van a actualizar las librerías de símbolos, la actualización del software 102 es transportada como una o más secciones de códigos. La actualización del software es emitida a los dispositivos sin hilos sobre el terreno, de los cuales es representativo el dispositivo de comunicaciones sin hilos 104, o es transmitida en comunicaciones separadas desde la estación base 106 utilizando protocolos aéreos convencionales muy conocidos de transporte de mensajes o datos. La invención no está limitada a ningún formato de transporte particular, puesto que el dispositivo de comunicaciones sin hilos puede ser fácilmente modificado para procesar cualquier protocolo de transporte en el aire disponible con el propósito de recibir actualizaciones del software del sistema y de los conjuntos de instrucciones del realizador del parche.
El software del sistema puede ser visto como una colección de diferentes subsistemas. Los objetos de los códigos pueden estar acoplados compactamente en uno de estos subsistemas abstractos y la colección resultante puede ser etiquetada como una librería de símbolos. Esto proporciona una interrupción lógica de la base de los códigos y los parches del software y los ajustes se pueden asociar con una de estas librerías de símbolos. En muchos casos, una única actualización está asociada con una, o como mucho dos, librerías de símbolos. El resto de bases de códigos, las otras librerías de símbolos, se mantienen sin cambios.
La noción de librerías de símbolos proporciona un mecanismo para gestionar códigos y constantes. Los datos de lectura-escritura (RW), por otra parte, se ajustan a una única librería individual de lectura-escritura que contiene datos en memorias RAM para todas las librerías.
Una vez recibida por el dispositivo sin hilos 104, la sección de códigos transportada debe ser procesada. Este dispositivo sin hilos sobrescribe una sección de códigos específica de una memoria no volátil 108. La memoria no volátil 108 incluye una sección de archivos del sistema (FSS) 110 y una sección de almacenamiento de códigos 112. La sección de códigos está típicamente comprimida antes del transporte a fin de hacer mínima la ocupación en la sección de archivos del sistema 110. A menudo la sección actualizada de códigos estará acompañada por sus datos de lectura-escritura, que es otra clase de librería de símbolos que contiene todos los datos de lectura-escritura para cada librería de símbolos. Aunque están cargados en una memoria de lectura-escritura volátil de acceso aleatorio 114 cuando se ejecuta el software del sistema, los datos de lectura-escritura siempre necesitan ser almacenados en la memoria no volátil 108, de forma que puedan ser cargados en la memoria de lectura-escritura volátil de acceso aleatorio 114 cada vez que se reajusta el dispositivo sin hilos. Esto incluye los datos de lectura-escritura de la primera vez que están cargados en una memoria de lectura-escritura volátil de acceso aleatorio. Como se explica con más detalle más adelante, los datos de lectura-escritura están típicamente dispuestos con una sección de códigos del gestor del parche.
El sistema 100 incluye el concepto de tablas virtuales. Utilizando unas tablas de este tipo, las librerías de símbolos en una sección de códigos puede ser parcheada (reemplazada), sin interrumpir (reemplazar) otras partes del software del sistema (otras secciones de códigos). Las tablas virtuales ejecutan desde la memoria de lectura-escritura volátil de acceso aleatorio 114 con fines del rendimiento. Una tabla de direcciones de las secciones de códigos y una tabla de las direcciones del desplazamiento de los símbolos son tablas virtuales.
Las secciones de códigos actualizadas son recibidas por el dispositivo sin hilos 104 y almacenadas en la sección de archivos del sistema 110. Una interfaz de usuario del dispositivo sin hilos típicamente notificará al usuario que está disponible el nuevo software. En respuesta a la incitación de la interfaz del usuario el usuario conoce la notificación y señala la operación del parcheado o actualización. Alternativamente, la operación de actualización se lleva a cabo automáticamente. El dispositivo sin hilos puede ser incapaz de llevar a cabo tareas de comunicación normales cuando se lleva a cabo el proceso de actualización. La sección de códigos del gestor del parche incluye una librería de símbolos del programa controlador de lectura-escritura no volátil que está también cargada en la memoria de lectura-escritura volátil de acceso aleatorio 114. La librería de símbolos del programa controlador de lectura-escritura no volátil causa que las secciones de códigos sean sobrescritas con secciones de códigos actualizadas. Como se representa en la figura, la sección de códigos n y las secciones de códigos del gestor del parche son sobrescritas con secciones de códigos actualizadas. La sección de códigos del gestor del parche incluye los datos de lectura-escritura, la tabla de direcciones de las secciones de códigos y la tabla de direcciones del desplazamiento de los símbolos, así como el código del dispositivo de acceso a los símbolos y la dirección de los códigos del dispositivo de acceso a los símbolos (descrito más adelante). Parte de estos datos son inválidos cuando se introducen las secciones de códigos actualizadas y una sección actualizada de códigos del gestor del parche incluye los datos de lectura-escritura, una tabla de direcciones de las secciones de códigos y una tabla de direcciones del desplazamiento de los símbolos válidas para las secciones de códigos actualizadas. Una vez las secciones de los códigos actualizadas son cargadas en la sección de almacenamiento de códigos 112, se reajusta el dispositivo sin hilos. A continuación de la operación de reajuste, el dispositivo sin hilos puede ejecutar el software del sistema actualizado. Debe entenderse también que la sección de códigos del gestor del parche puede incluir otras librerías de símbolos que no han sido descritas antes. Estas otras librerías de símbolos no necesitan ser cargadas en la memoria volátil de lectura-escritura 114.
La figura 2 es un diagrama de bloques esquemático del sistema de mantenimiento del software 100, señalando la instalación de los conjuntos de instrucciones a través de una interfaz de conexión aérea. Además de la actualización de las secciones de códigos del software del sistema, el sistema de mantenimiento 100 puede descargar e instalar conjuntos de instrucciones o programas, referidos aquí como conjunto de instrucciones del realizador del parche (PMIS). La sección de códigos del conjunto de instrucciones del realizador del parche 200 es transportada al dispositivo sin hilos 104 de la misma manera que las secciones de códigos del software del sistema descrita antes. Las secciones de códigos de los conjuntos de instrucciones del realizador del parche son inicialmente almacenadas en la sección de archivos del sistema 110. Una sección de códigos de los conjuntos de instrucciones del realizador del parche es típicamente un archivo binario que puede ser visualizado como instrucciones compiladas en el aparato de teléfono. Una sección de códigos de los conjuntos de instrucciones del realizador del parche es lo suficientemente comprensiva como para proporcionar llevar a cabo las operaciones matemáticas básicas y llevar a cabo las operaciones condicionalmente ejecutadas. Por ejemplo, los conjuntos de instrucciones del realizador del parche de la calibración de radiofrecuencia se pueden llevar a cabo siguiendo las siguientes operaciones:
SI EL ELEMENTO DE CALIBRACIÓN DE RADIOFRECUENCIA ES INFERIOR A X
EJECUTAR LA INSTRUCCIÓN
ELSE
EJECUTAR LA INSTRUCCIÓN
Un conjunto de instrucciones del realizador del parche puede soportar operaciones matemáticas básicas, tales como: suma, resta, multiplicación y división. Al igual que con las secciones de códigos del software del sistema, la sección de códigos del conjunto de instrucciones del realizador del parche puede ser cargada en respuesta a una incitación de la interfaz del usuario y el dispositivo sin hilos debe ser reajustado después de que el conjunto de instrucciones del realizador del parche haya sido cargado en la sección de almacenamiento de códigos 112. Entonces se puede ejecutar la sección del conjunto de instrucciones del realizador del parche. Si la sección de códigos del conjunto de instrucciones del realizador del parche está asociada con cualquier tabla virtual o datos de lectura-escritura, una sección actualizada de códigos del gestor del parche será transportada con el conjunto de instrucciones del realizador del parche para la instalación en la sección de almacenamiento de códigos 112. Alternativamente, el conjunto de instrucciones del realizador del parche puede ser guardado y procesado desde la sección de archivos del sistema 110. Después de que el aparato de teléfono 104 haya ejecutado todas las instrucciones en la sección del conjunto de instrucciones del realizador del parche, la sección del conjunto de instrucciones del realizador del parche puede ser borrada de la sección de archivos del sistema 110.
En algunos aspectos de la invención, la organización del software del sistema en librerías de símbolos puede tener impacto en el tamaño de la memoria volátil 114 y de la memoria no volátil 108 requeridas para la ejecución. Esto es debido al hecho de que las secciones de códigos son típicamente mayores que las librerías de símbolos dispuestas en las secciones de códigos. Estas secciones de códigos mayores existen para acomodar secciones de códigos actualizadas. La organización del software del sistema como una colección de librerías tiene impacto en los requisitos del tamaño de la memoria no volátil. Para el mismo tamaño de códigos, la cantidad de memoria no volátil utilizada será más elevada debido al hecho de que las secciones de códigos pueden ser dimensionadas para que sean mayores que las librerías de símbolos dispuestas en su interior.
El conjunto de instrucciones del realizador del parche es un motor de instrucciones del tiempo de ejecución muy potente. El aparato de teléfono puede ejecutar cualquier instrucción distribuida al mismo a través del entorno del conjunto de instrucciones del realizador del parche. Este mecanismo puede ser utilizado para soportar las calibraciones de radiofrecuencia y las actualizaciones de interrupción del procedimiento. Más generalmente, los conjuntos de instrucciones del realizador del parche pueden ser utilizados para depurar remotamente el software del dispositivo sin hilos cuando se reconocen problemas de software por parte del fabricante o suministrador del servicio, típicamente como resultado de quejas de los clientes. Los conjuntos de instrucciones del realizador del parche también pueden necesitar grabar datos para diagnosticar problemas de software. Los conjuntos de instrucciones del realizador del parche pueden lanzar aplicaciones de sistema recientemente descargadas para el análisis de datos, depuración y ajustes. El conjunto de instrucciones del realizador del parche puede proporcionar datos de lectura-escritura basados en actualizaciones para el análisis y un posible ajuste a corto plazo a un problema en lugar de una sección actualizada de códigos del software del sistema. Los conjuntos de instrucciones del realizador del parche pueden proporcionar algoritmos de compactación de la memoria para utilizarlos con el dispositivo sin hilos.
Una vez las actualizaciones del software han sido distribuidas al dispositivo sin hilos, el sistema de mantenimiento del software 100 soporta la compactación de la memoria. La compactación de la memoria es similar a las aplicaciones de de-fragmentación del disco en los ordenadores de sobremesa. El mecanismo de compactación asegura que la memoria se utiliza de forma óptima y está bien equilibrada para futuras actualizaciones de las secciones de códigos, en las que no se puede predecir el tamaño de las secciones de códigos actualizadas. El sistema 100 analiza la sección de almacenamiento de códigos cuando está siendo parcheada (actualizada). El sistema 100 intenta ajustar las secciones de códigos actualizadas dentro del espacio de la memoria ocupado por la sección de códigos que está siendo reemplazada. Si la sección de códigos actualizada es mayor que la sección de códigos que está siendo reemplazada, el sistema 100 compacta las secciones de códigos en la memoria 112. Alternativamente, la compactación puede ser calculada por el fabricante o el suministrador de servicios y las instrucciones de compactación pueden ser transportadas al dispositivo sin hilos 104.
La compactación puede ser un proceso que consume tiempo debido a la complejidad del algoritmo y también al amplio volumen del movimiento de datos. El algoritmo de compactación predice la viabilidad antes de que empiece cualquier proceso. La incitación de la interfaz del usuario puede ser utilizada para solicitar permiso por parte del usuario antes de que se intente la compactación.
En algunos aspectos de la invención, todas las secciones de códigos del software del sistema pueden ser actualizadas simultáneamente. Una mejora completa del software del sistema, sin embargo, requerirá una sección de archivos del sistema mayor 110.
La figura 3 es un diagrama de bloques esquemático que ilustra el sistema de la presente invención para la actualización del software del sistema en un dispositivo de comunicaciones sin hilos. El sistema 300 comprende una sección de almacenamiento de códigos 112 en una memoria 108 que incluye software ejecutable del sistema del dispositivo sin hilos diferenciado en una pluralidad de secciones de códigos actuales. Se representan la sección de códigos uno (302), la sección de códigos dos (304), la sección de códigos n (306) y la sección de códigos del gestor del parche 308. Sin embargo, la invención no está limitada a ningún número particular de secciones de códigos. Adicionalmente, el sistema 300 adicionalmente comprende una primera pluralidad de librerías de símbolos dispuestas dentro de una segunda pluralidad de secciones de códigos. Se representan la librería de símbolos uno (310) dispuesta en la sección de códigos uno (302), las librerías de símbolos dos (312) y tres (314) dispuestas en la sección de códigos dos (304) y la librería de símbolos m (316) dispuesta en la sección de códigos n (306). Cada librería comprende símbolos que tienen una funcionalidad relacionada. Por ejemplo, la librería de símbolos uno (310) puede estar implicada en el funcionamiento del visualizador de cristal líquido del dispositivo sin hilos (LCD). Entonces, los símbolos estarán asociados con las funciones de visualización. Como se explica en detalle más adelante, librerías de símbolos adicionales están dispuestas en la sección de códigos del gestor del parche 308.
La figura 4 es un diagrama de bloques esquemático de la memoria del dispositivo sin hilos. Como se representa, la memoria está en la sección de almacenamiento de códigos 112 de la figura 1. La memoria es una memoria no volátil en la que se puede escribir, como por ejemplo una memoria flash. Debe entenderse que las secciones de códigos no deben estar almacenadas necesariamente en la misma memoria que la sección de archivos del sistema 110. También debe entenderse que la estructura del software del sistema de la presente invención puede estar habilitada con secciones de códigos almacenadas en una pluralidad de memorias cooperantes. La sección de almacenamiento de códigos 112 incluye una segunda pluralidad de bloques de memoria de direcciones contiguas, en la que cada bloque de memoria almacena la correspondiente sección de códigos de la segunda pluralidad de secciones de códigos. Por lo tanto, la sección de códigos uno (302) está almacenada en un primer bloque de memoria 400, la sección de códigos dos (304) en el segundo bloque de memoria 402, la sección de códigos n (306) en el bloque de memoria n-ésimo 404 y la sección de códigos del gestor del parche (308) en el bloque de memoria p-ésimo 406.
Contrastando las figuras 3 y 4, el arranque de cada sección de códigos es almacenado en las direcciones de arranque correspondientes en la memoria y las librerías de símbolos están dispuestas para arrancar en el arranque de las secciones de códigos. Esto es, cada librería de símbolos empieza en una primera dirección y corre a través de una gama de direcciones en secuencia desde la primera dirección. Por ejemplo, la sección de códigos uno (302) arranca en la primera dirección de arranque 408 (marcada con una "S") en la memoria de la sección de almacenamiento de códigos 112. En la figura 3, la librería de símbolos uno (310) arranca en el arranque 318 de la primera sección de códigos. De forma similar, la sección de códigos dos (304) arranca en una segunda dirección de arranque 410 (figura 4) y la librería de símbolos dos arranca en el arranque 320 de la sección de códigos dos (figura 3). La sección de códigos n (306) arranca en una tercera dirección de arranque 412 en la memoria de la sección de almacenamiento de códigos 112 (figura 4) y la librería de símbolos m (316) arranca en el arranque de la sección de códigos n 322 (figura 3). La sección de códigos del gestor del parche arranca en la dirección de arranque p-ésima 414 en la memoria de la sección de almacenamiento de códigos 112 y la primera librería de símbolos en la sección de códigos del gestor del parche 308 arranca en el arranque 324 de la sección de códigos del gestor del parche. Por lo tanto, la librería de símbolos uno (310) es por último almacenada en el primer bloque de memoria 400. Si una sección de códigos incluye una pluralidad de librerías de símbolos, como por ejemplo una sección de códigos dos (304), la pluralidad de librerías de símbolos son almacenadas en el correspondiente bloque de memoria, en este caso el segundo bloque de memoria 402.
En la figura 3, la estructura del software del sistema 300 adicionalmente comprende una tabla de direcciones de las secciones de códigos 326 como un tipo de símbolos incluido en una librería de símbolos dispuesta en la sección de códigos del gestor del parche 308. La tabla de direcciones de las secciones de códigos hace referencias cruzadas de los identificadores de las secciones de códigos con las correspondientes direcciones de arranque de las secciones de códigos en la memoria.
La figura 5 es una tabla que representa la tabla de las direcciones de las secciones de códigos 326 de la figura 3. La tabla de las direcciones de las secciones de códigos 326 es consultada para encontrar la dirección de arranque de la sección de códigos para una librería de símbolos. Por ejemplo, el sistema 300 busca la sección de códigos uno cuando se requiere para la ejecución un símbolo en la librería de símbolos uno. Para encontrar la dirección de arranque de la sección de códigos uno, y por lo tanto localizar el símbolo en la librería de símbolos uno, se consulta la tabla de direcciones de las secciones de códigos 326. La disposición de las librerías de símbolos en las secciones de códigos y la visualización inmediata de las secciones de códigos con una tabla permite mover o expandir las secciones de códigos. Las operaciones de expansión o movimiento pueden ser necesarias para instalar secciones mejoradas de códigos (con librerías de símbolos mejoradas).
Volviendo a la figura 3, debe observarse que no necesariamente cada librería de símbolos arranca en el arranque de una sección de códigos. Como se representa, la librería de símbolos tres (314) está dispuesta en la sección de códigos dos (304), pero no arranca de la dirección de arranque de la sección de códigos 320. Por lo tanto, si para la ejecución se requiere un símbolo en la librería de símbolos tres (314), el sistema 300 consulta la tabla de las direcciones de las secciones de códigos 326 para la dirección de arranque de la sección de códigos dos (304). Como se explica más adelante, una tabla de direcciones del desplazamiento de los símbolos permite localizar los símbolos en la librería de símbolos tres (314). No tiene importancia que los símbolos estén dispersos a través de múltiples librerías, ya que están retenidos con la misma sección de códigos.
Como se ha indicado antes, cada librería de símbolos incluye símbolos funcionalmente relacionados. Un símbolo es un nombre definido por el programador para colocar y utilizar un cuerpo de rutina variable, o estructura de datos. Por lo tanto, un símbolo puede ser una dirección o un valor. Los símbolos pueden ser internos o externos. Los símbolos internos no son visibles más allá del ámbito de la sección de códigos actual. Más específicamente, no son vistos por otras librerías de símbolos en otras secciones de códigos. Los símbolos externos son utilizados e invocados a través de las secciones de códigos y son vistos por las librerías en diferentes secciones de códigos. La tabla de direcciones del desplazamiento de los símbolos típicamente incluye una lista de todos los símbolos externos.
Por ejemplo, la librería de símbolos uno (310) puede generar caracteres en el visualizador de un dispositivo sin hilos. Los símbolos en esta librería generarán, a su vez, números de teléfono, nombres, la hora o bien otras características de visualización. Cada característica es generada por rutinas, referidas aquí las mismas como un símbolo. Por ejemplo, un símbolo en la librería de símbolos uno (310) genera números de teléfono en el visualizador. Este símbolo es representado por una "X" y es externo. Cuando el dispositivo sin hilos recibe una llamada de teléfono y el servicio de identificación de la persona que llama está activado, el sistema ejecutará el símbolo "X" para generar el número en el visualizador. Por lo tanto, el sistema debe localizar el símbolo "X".
La figura 6 es una descripción detallada de la librería de símbolos uno (310) de la figura 3, con los símbolos. Los símbolos están dispuestos para ser desplazados desde sus respectivas direcciones de arranque de la sección de códigos. En muchas circunstancias, el arranque de la librería de símbolos es el arranque de una sección de códigos, pero esto no es cierto si la sección de códigos incluye más de una librería de símbolos. La librería de símbolos uno (310) arranca en el arranque de la sección de códigos uno (véase la figura 3). Como se representa en la figura 6, el símbolo "X" está localizado en un desplazamiento de (03) desde el arranque de la librería de símbolos y el símbolo "Y" está localizado en un desplazamiento de (15). Las direcciones del desplazamiento de los símbolos están almacenadas en una tabla de direcciones del desplazamiento de los símbolos 328 en la sección de códigos del gestor del parche (véase la figura 3).
La figura 7 es una tabla que representa la tabla de direcciones del desplazamiento de los símbolos 328 de la figura 3. La tabla de direcciones del desplazamiento de los símbolos 328 hace referencia cruzada de los identificadores de los símbolos con las correspondientes direcciones del desplazamiento y con los correspondientes identificadores de las secciones de códigos en la memoria. Por lo tanto, cuando el sistema busca ejecutar el símbolo "X" en la librería de símbolos uno, la tabla de direcciones del desplazamiento de los símbolos 328 es consultada para localizar la dirección exacta del símbolo, con respecto a la sección de códigos en la cual está dispuesto.
Volviendo a la figura 3, la primera pluralidad de librerías de símbolos típicamente incluyen todas ellas datos de lectura-escritura que deben ser consultados o establecidos en la ejecución de estas librerías de símbolos. Por ejemplo, una librería de símbolos puede incluir una operación que depende de una sentencia condicional. La sección de datos de lectura-escritura es consultada para determinar el estado requerido para completar la sentencia condicional. La presente invención agrupa los datos de lectura-escritura desde todas las librerías de símbolos en una sección compartida de lectura-escritura. En algunos aspectos de la invención, los datos de lectura-escritura 330 están dispuestos en la sección de códigos del gestor del parche 308. Alternativamente (no representados), los datos de lectura-escritura pueden estar dispuestos en una sección de códigos diferente, la sección de códigos n (306), por ejemplo. La primera pluralidad de librerías de símbolos también incluye códigos del dispositivo de acceso a los símbolos dispuestos en la sección de códigos para calcular la dirección de un símbolo visto. El código del dispositivo de acceso a los símbolos puede estar dispuesto y almacenado en una dirección en una sección de códigos distinta, la sección de códigos dos (304), por ejemplo. Sin embargo, como se representa, el código del dispositivo de acceso a los símbolos 332 está dispuesto y almacenado en una dirección en la sección de códigos del gestor del parche 308. La estructura del software el sistema 300 adicionalmente comprende una primera localización para el almacenamiento de la dirección de los códigos del dispositivo de acceso a los símbolos. La primera localización puede ser una sección de códigos en la sección de almacenamiento de códigos 112, o en una sección de memoria distinta del dispositivo sin hilos (no representada). La primera localización también puede estar dispuesta en la misma sección de códigos que los datos de lectura-escritura. Como se representa, la primera localización 334 está almacenada en la sección de códigos del gestor del parche 308 con los datos de lectura-escritura 330, la tabla de direcciones del desplazamiento de los símbolos 328, la tabla de direcciones de las secciones de códigos 326 y el código del dispositivo de acceso a los símbolos 332 y la librería del parche (librería de símbolos del parche) 336.
El código del dispositivo de acceso a los símbolos accede a la tabla de direcciones de las secciones de códigos y a las tablas de direcciones del desplazamiento de los símbolos para calcular o encontrar la dirección de un símbolo visto en la memoria. Esto es, el código del dispositivo de acceso a los símbolos calcula la dirección del símbolo visto utilizando el correspondiente identificador del símbolo y el correspondiente identificador de la sección de códigos. Por ejemplo, si se ve el símbolo "X" en la librería de símbolos uno, el dispositivo de acceso a los símbolos es invocado para buscar el identificador del símbolo (ID del símbolo) X_1, que corresponde al símbolo "X" (véase la figura 7). El código del dispositivo de acceso a los símbolos consulta la tabla de direcciones del desplazamiento de los símbolos para determinar que el identificador del símbolo X_1 tiene un desplazamiento de (03) desde el arranque de la sección de códigos uno (véase la figura 6). El código del dispositivo de acceso a los símbolos es invocado para buscar el identificador CS_1 de la sección de códigos, que corresponde a la sección de códigos uno. El código del dispositivo de acceso a los símbolos consulta la tabla de direcciones de las secciones de códigos para determinar la dirección de arranque asociada con el identificador de la sección de códigos (ID de la sección de códigos) CS_1. De esta manera, el código del dispositivo de acceso a los símbolos determina que el identificador del símbolo X_1 está desplazado (03) desde la dirección de (00100), o está colocado en la dirección (00103).
El símbolo "X" es un nombre reservado puesto que es parte del código actual. En otras palabras, tiene un dato absoluto asociado con él. El dato puede ser una dirección o un valor. El identificador del símbolo es un alias creado para la visualización inmediata del símbolo. La tabla de direcciones del desplazamiento de los símbolos y la tabla de direcciones de las secciones de códigos trabajan ambas con identificadores para evitar confusiones con los símbolos reservados y los nombres de las secciones de códigos. También es posible que el mismo nombre del símbolo sea utilizado a través de diversas librerías de símbolos. La utilización de identificadores evita la confusión entre estos símbolos. Volviendo a la figura 1, la estructura del software del sistema 300 adicionalmente comprende una memoria volátil de lectura-escritura 114, típicamente una memoria de acceso aleatorio (RAM). Los datos de lectura-escritura 330, la tabla de direcciones de las secciones de códigos 326, la tabla de direcciones del desplazamiento de los símbolos 328, el código del dispositivo de acceso a los símbolos 332 y la dirección del código del dispositivo de acceso a los símbolos 334 son cargados dentro de una memoria volátil de lectura-escritura 114 desde la sección del gestor del parche durante la ejecución del software del sistema. Como es muy conocido, los tiempos de acceso para los códigos almacenados en una RAM es significativamente menor que el acceso a una memoria no volátil como por ejemplo una memoria flash.
Volviendo a la figura 3, debe observarse que las librerías de símbolos no necesariamente necesitan llenar las secciones de códigos dentro de las cuales están dispuestas, aunque los bloques de memoria están dimensionados para acomodar exactamente las correspondientes secciones de códigos almacenadas en su interior. Alternativamente expresado, cada una de las secciones de códigos de la segunda pluralidad tiene un tamaño en bytes que acomoda las librerías de símbolos dispuestas, y cada uno de los bloques de memoria con direcciones contiguas tiene un tamaño en bytes que acomoda las correspondientes secciones de códigos. Por ejemplo, la sección de códigos uno (302) puede ser una sección de 100 bytes para acomodar una librería de símbolos que tenga una longitud de 100 bytes. El primer bloque de memoria será de 100 bytes para acoplar el tamaño en bytes de la sección uno. Sin embargo, la librería de símbolos cargada dentro de la sección de códigos uno puede ser inferior a 100 bytes. Como se representa en la figura 3, la sección de códigos uno (302) tiene una sección sin utilizar 340, ya que la librería de símbolos uno (310) es inferior a 100 bytes. Por lo tanto, cada una de las secciones de códigos de la segunda pluralidad puede tener un tamaño mayor que el tamaño necesario para acomodar las librerías de símbolos dispuestas. "Sobredimensionando" las secciones de códigos, se pueden acomodar librerías de símbolos actualizadas mayores.
Como se ve en la figura 3, el sistema 300 incluye una librería de símbolos del parche, la cual será referida aquí como la librería del parche 336, para disponer nuevas secciones de códigos en la sección de almacenamiento de códigos con las secciones de códigos actuales. La disposición de las nuevas secciones de códigos con las secciones de códigos actuales en la sección de almacenamiento de códigos forma el software del sistema ejecutable actualizado. El gestor del parche 336 no sólo dispone las nuevas secciones de códigos con las secciones de códigos actuales, sino que también remplaza las secciones de códigos con las secciones de códigos actualizadas.
Volviendo a la figura 4, la sección de archivos del sistema 110 de la memoria 108 recibe las nuevas secciones de códigos, como por ejemplo la nueva sección de códigos 450 y la sección actualizada de códigos del gestor del parche 452. La sección de archivos del sistema también recibe un primer conjunto de instrucciones del gestor del parche (PMIS) 454 que incluye instrucciones para disponer las nuevas secciones de códigos con las secciones de códigos actuales. Como se ve en la figura 1, una interfaz de conexión aérea 150 recibe secciones de códigos nuevas, o actualizadas, así como los primeros conjuntos de instrucciones del gestor del parche. Aunque la interfaz de conexión aérea 150 está representada mediante una antena, debe entenderse que la interfaz de conexión aérea puede también incluir cualquier transmisor receptor de radiofrecuencia, circuitos de banda de base y circuitos de desmodulación (no representados). La sección de archivos del sistema 110 almacena las nuevas secciones de códigos recibidas a través de la interfaz de conexión aérea 150. La librería del parche 336, ejecutando desde la memoria volátil de lectura-escritura 114, reemplaza una primera sección de códigos en la sección de almacenamiento de códigos, la sección de códigos n (306) por ejemplo, con la sección de códigos nueva, o actualizada, 450, en respuesta al primer conjunto de instrucciones del gestor del parche 454. Típicamente, la sección de códigos del gestor del parche 308 es reemplazada con la sección de códigos del gestor del parche actualizada 452. Cuando las secciones de códigos están siendo reemplazadas, la librería del parche 336 sobrescribe la primera sección de códigos, la sección de códigos n (306) por ejemplo, en la sección de almacenamiento de códigos 112 con las secciones de códigos actualizadas, por ejemplo la sección de códigos 450, en la sección de archivos del sistema 110. En caso extremo, todas las secciones de códigos en la sección de almacenamiento de códigos 112 son reemplazadas con secciones de códigos actualizadas. Esto es, la sección de archivos del sistema 110 recibe una segunda pluralidad de secciones de códigos actualizadas (no representadas) y la librería del parche 336 reemplaza la segunda pluralidad de secciones de códigos en la sección de almacenamiento de códigos 112 con la segunda pluralidad de secciones de códigos actualizadas. Por supuesto, la sección de archivos del sistema 110 debe ser lo suficientemente grande como para acomodar la segunda pluralidad de secciones de códigos actualizadas recibidas a través de la interfaz de conexión aérea.
Como se ha indicado antes, las secciones de códigos actualizadas que están siendo recibidas pueden incluir secciones de códigos de datos de lectura-escritura, secciones de códigos de tablas de direcciones de secciones de códigos, librerías de símbolos, secciones de códigos de tablas de direcciones del desplazamiento de los símbolos, secciones de códigos del dispositivo de acceso a los símbolos, o una sección de códigos con una nueva librería del parche. Todas estas secciones de códigos, con sus librerías de símbolos y los símbolos asociados, pueden estar almacenadas como secciones de códigos distintas e independientes. Entonces cada una de estas secciones de códigos será reemplazada con una única sección de códigos actualizada. Esto es, una sección de códigos de lectura-escritura actualizada será recibida y reemplazará la sección de códigos de lectura-escritura en la sección de almacenamiento de códigos. Una sección actualizada de códigos de las tablas de direcciones de las secciones de códigos será recibida y remplazará la sección de códigos de las tablas de direcciones de las secciones de códigos en la sección de almacenamiento de códigos. Una sección de códigos de las tablas de direcciones del desplazamiento de los símbolos actualizada será recibida y remplazará la sección de códigos de las tablas de direcciones del desplazamiento de los símbolos en la sección de almacenamiento de los códigos. Una sección de códigos del dispositivo de acceso a los símbolos actualizada será recibida y remplazará la sección de códigos del dispositivo de acceso a los símbolos en la sección de almacenamiento de códigos. De forma similar, una sección de códigos del gestor del parche actualizada (con una librería del parche) será recibida y remplazará la sección de códigos del gestor del parche en la sección de almacenamiento de
códigos.
Sin embargo, las secciones de códigos antes mencionadas están típicamente ligadas juntas en la sección de códigos del gestor del parche. Por lo tanto, la sección de códigos de lectura-escritura en la sección de almacenamiento de códigos es remplazada con la sección de códigos de lectura-escritura actualizada desde la sección de archivos del sistema 110 cuando la sección de códigos del gestor del parche 308 es remplazada con la sección de códigos del gestor del parche actualizada 450. De forma similar, las tablas de direcciones de la sección de códigos, las tablas de direcciones del desplazamiento de los símbolos, las secciones de códigos del dispositivo de acceso a los símbolos, así como la librería del parche son reemplazadas cuando se instala la sección actualizada de códigos del gestor del parche 450. La disposición de los nuevos datos de lectura-escritura, la nueva tabla de las direcciones de las secciones de códigos, la nueva tabla de las direcciones del desplazamiento de los símbolos, el nuevo código del dispositivo de acceso a los símbolos y la nueva librería del parche como la sección de códigos del gestor del parche actualizada 450, junto con las secciones de códigos actuales en la sección de almacenamiento de códigos, forman el software del sistema ejecutable actualizado.
Cuando la sección de archivos del sistema 110 recibe una dirección actualizada de los códigos del dispositivo de acceso a los símbolos, el gestor del parche reemplaza la dirección de los códigos del dispositivo de acceso a los símbolos en la primera localización en la memoria con la dirección actualizada de los códigos del dispositivo de acceso a los símbolos. Como se ha indicado antes, la primera localización en la memoria 334 está típicamente en la sección de códigos del gestor del parche (véase la figura 3).
Las figuras 8a hasta 8c son cuadros de flujo que ilustran el procedimiento de la presente invención para la actualización del software del sistema en una memoria del dispositivo de comunicaciones sin hilos. Aunque el procedimiento está descrito como una secuencia de pasos numerados para mayor claridad, no se debe inferir orden alguno a partir de la numeración, a menos que se indique explícitamente. El procedimiento empieza en el paso 800. El paso 802 forma el software del sistema en una pluralidad de librerías de símbolos, cada librería de símbolos comprendiendo por lo menos un símbolo. Además, la formación del software del sistema en una pluralidad de librerías de símbolos incluye que cada librería de símbolos comprenda símbolos provistos de funcionalidades relacionadas. El paso 804 dispone la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos. El paso 806 almacena el software del sistema para el dispositivo sin hilos en una pluralidad de secciones de códigos actuales. El paso 808 recibe una nueva sección de códigos a través de una interfaz aérea el dispositivo de comunicaciones sin hilos. El paso 810 dispone la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado para el dispositivo sin hilos. El paso 812 ejecuta el software del sistema actualizado.
En algunos aspectos de la invención, el paso 809 identifica una primera sección de códigos para la actualización. Entonces, la disposición de una nueva sección de códigos con las secciones de códigos actuales en el paso 812 se incluye reemplazar la primera sección de códigos con la nueva sección de códigos. La ejecución del software del sistema actualizado en el paso 812 incluye la utilización de la nueva sección de códigos en la ejecución del software del sistema actualizado. Cuando el paso 806 almacena el software del sistema para el dispositivo sin hilos en una segunda pluralidad de secciones de códigos actuales y una segunda pluralidad de secciones de códigos actualizadas son recibidas en el paso 808, entonces el paso 810 incluye la sustitución de la segunda pluralidad de secciones de códigos actuales con la segunda pluralidad de secciones de códigos actualizadas y el paso 812 utiliza la segunda pluralidad de secciones de códigos actualizadas en la ejecución del software del sistema actualizado.
En algunos aspectos, la formación del software del sistema en una primera pluralidad de librerías de símbolos en el paso 802 incluye la formación de datos de lectura-escritura para una pluralidad de librerías de símbolos. Entonces, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de los datos de lectura-escritura en una sección compartida de códigos de lectura-escritura. La recepción de una nueva sección de códigos en el paso 808 incluye la recepción de una sección de códigos de lectura-escritura actualizada y la identificación de una primera sección de códigos para la actualización en el paso 809 incluye la identificación de la sección de códigos de lectura-escritura. La disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado en el paso 810 incluye la sustitución de la sección de códigos de lectura-escritura con la sección de códigos de lectura-escritura actualizada. La ejecución del software del sistema actualizado en el paso 812 incluye la utilización de la sección de códigos de lectura-escritura actualizada en la ejecución del software del sistema actualizado.
En algunos aspectos de la invención, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye el arranque de las librerías de símbolos en el arranque de las secciones de códigos. El almacenamiento del software del sistema para un dispositivo sin hilos en una pluralidad de secciones de códigos actuales en el paso 806 incluye el almacenamiento del arranque de las secciones de códigos en las correspondientes direcciones de arranque. Entonces, un paso adicional, el paso 807a mantiene una tabla de direcciones de las secciones de códigos que hace referencias cruzadas de los identificadores de la sección de códigos con las correspondientes direcciones de arranque.
En algunos aspectos de la invención, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de cada símbolo que se va a desplazar desde su respectiva dirección de arranque de la sección de códigos. Entonces, un paso adicional, el paso 807b mantiene una tabla de direcciones del desplazamiento de los símbolos que hace referencias cruzadas de los identificadores de los símbolos con las correspondientes direcciones del desplazamiento y los correspondientes identificadores de las secciones de códigos.
La disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye subpasos. El paso 804a dispone la tabla de direcciones de las secciones de códigos en una primera sección de códigos de la tabla, el paso 804b dispone la tabla de direcciones del desplazamiento de los símbolos en una segunda sección de códigos de la tabla. La recepción de una sección de códigos actualizada en el paso 808 incluye la recepción de una primera sección de códigos de la tabla actualizada y una segunda sección de códigos de la tabla actualizada. La disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado en el paso 810 incluye la sustitución de la primera sección de códigos de la tabla con la primera sección de códigos de la tabla actualizada y la segunda sección de códigos de la tabla con la segunda sección de códigos de la tabla actualizada. La ejecución del software del sistema actualizado en el paso 812 incluye la utilización de la primera sección de códigos de la tabla actualizada y la segunda sección de códigos de la tabla actualizada en la ejecución del software del sistema actualizado.
En algunos aspectos de la invención la formación del software del sistema en una primera pluralidad de librerías de símbolos en el paso 802 incluye la formación de una librería del parche, o librería de símbolos del parche. La disposición de una primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de una librería del parche en una sección de códigos del gestor del parche. La disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado para el dispositivo sin hilos incluye subpasos. El paso 810a accede a la sección de códigos del gestor del parche. El paso 810b invoca a la librería del parche para almacenar la nueva sección de códigos. La invocación de la librería del parche para almacenar la nueva sección de códigos en el paso 810b típicamente incluye la invocación de la librería del parche para que sobrescriba la primera sección de códigos con la nueva sección de códigos.
En algunos aspectos, el paso 808a, después de recibir la nueva sección de códigos en el paso 808, almacena la nueva sección de códigos en una sección de la memoria del sistema de archivos. La disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado en el paso 810 incluye la invocación de la librería del parche para que sobre escriba la primera sección de códigos con la nueva sección de códigos almacenada en la sección de la memoria del sistema de archivos.
En otros aspectos de la invención, la recepción de una nueva sección de códigos en el paso 808 incluye la recepción de una sección de códigos del gestor del parche actualizada. La disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado en el paso 810 incluye la sustitución de la sección de códigos del gestor del parche con la sección de códigos del gestor del parche actualizada. La ejecución del software del sistema actualizado en el paso 812 incluye la utilización de los códigos del gestor del parche actualizado en la ejecución del software del sistema actualizado.
Típicamente, el paso 804 incluye la disposición de los datos de lectura-escritura, la tabla de direcciones de las secciones de códigos y la tabla de direcciones del desplazamiento de los símbolos en la sección de códigos del gestor del parche. Entonces, la recepción de una sección de códigos del gestor del parche actualizada en el paso 808 incluye la recepción de una tabla de direcciones del desplazamiento de los símbolos actualizada, una tabla de las direcciones de las secciones de códigos actualizada y datos de lectura-escritura actualizados.
En algunos aspectos de la invención la formación del software del sistema en una primera pluralidad de librerías de símbolos en el paso 802 incluye la formación de un código del dispositivo de acceso a los símbolos y la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición del código del dispositivo de acceso a los símbolos en la sección de códigos del gestor del parche. Entonces, un paso adicional, el paso 806a almacena la dirección de los códigos del dispositivo de acceso a los símbolos en una primera localización en la memoria. La ejecución del software del sistema actualizado en el paso 812 incluye subpasos. El paso 812a carga una tercera pluralidad de librerías de símbolos en una memoria volátil de lectura-escritura, típicamente RAM. Debe entenderse que no todas las librerías de símbolos en la sección de códigos del gestor del parche son necesariamente cargadas en la memoria volátil de lectura-escritura. Además, las librerías de símbolos en otras secciones de códigos además de la sección de códigos del gestor del parche pueden ser cargadas dentro de la memoria volátil de lectura-escritura. El paso 812b, en respuesta a la referencia de la primera localización en la memoria, accede al código del dispositivo de acceso a los símbolos. El paso 812c invoca al código del dispositivo de acceso a los símbolos para calcular la dirección de un símbolo visto utilizando el correspondiente identificador de los símbolos. La invocación del código del dispositivo de acceso a los símbolos para calcular la dirección del símbolo visto incluye el acceso a la tabla de direcciones de la sección de códigos y a la tabla de direcciones del desplazamiento de los símbolos para calcular la dirección del símbolo visto. El paso 812d accede a la tercera pluralidad de librerías de símbolos desde la RAM.
Típicamente, la recepción de una sección de códigos de del gestor del parche actualizada en el paso 808 incluye la recepción del código del dispositivo de acceso a los símbolos actualizado. La sustitución de la sección de códigos del gestor del parche con la sección de códigos del gestor del parche actualizada en el paso 810 incluye la sustitución del código del dispositivo de acceso a los símbolos con el código del dispositivo de acceso a los símbolos actualizado. Entonces, la ejecución del software del sistema actualizado en el paso 812 incluye la utilización del código del dispositivo de acceso a los símbolos actualizado en la ejecución del software del sistema actualizado.
Algunos aspectos de la invención incluyen pasos adicionales. El paso 808b recibe una dirección actualizada del código del dispositivo de acceso a los símbolos. El paso 808c almacena la dirección actualizada del código del dispositivo de acceso a los símbolos en la sección de archivos del sistema. El paso 810c sustituye la dirección del código del dispositivo de acceso a los símbolos en la primera localización en la memoria con la dirección actualizada del código del dispositivo de acceso a los símbolos desde la sección de archivos del sistema. Entonces, la ejecución del software del sistema actualizado en el paso 812 incluye la utilización de la dirección actualizada del código del dispositivo de acceso a los símbolos en la ejecución del software del sistema actualizado.
Típicamente, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de la dirección de los códigos del dispositivo de acceso a los símbolos en la sección de códigos del gestor del parche. Entonces, la sustitución de la dirección de los códigos del dispositivo de acceso a los símbolos en la primera localización en la memoria con la dirección actualizada de los códigos del dispositivo de acceso a los símbolos desde la sección de archivos del sistema en el paso 810c incluye la sustitución de la dirección de los códigos del dispositivo de acceso a los símbolos en la sección de códigos del gestor del parche con la dirección actualizada de los códigos del dispositivo de acceso a los símbolos en una sección actualizada de los códigos del gestor del parche.
En algunos aspectos, el paso 812a carga los datos de lectura-escritura, la tabla de direcciones de la sección de códigos, la tabla de direcciones del desplazamiento de los símbolos, la librería del parche, el código del dispositivo de acceso a los símbolos y la dirección de los códigos del dispositivo de acceso a los símbolos desde la sección de códigos del gestor del parche dentro de una memoria volátil de lectura-escritura. El paso 812d accede a los datos de lectura-escritura, la tabla de direcciones de las secciones de códigos, la tabla de direcciones del desplazamiento de los símbolos, la librería del parche, el código del dispositivo de acceso a los símbolos y la dirección de los códigos del dispositivo de acceso a los símbolos desde la memoria volátil de lectura-escritura.
El almacenamiento del arranque de las secciones de códigos en las correspondientes direcciones de arranque en el paso 806 incluye subpasos. El paso 806b crea una segunda pluralidad de bloques de memoria de direcciones contiguas. El paso 806c identifica cada bloque de memoria con la sección de códigos correspondiente. El paso 806d almacena la secciones de códigos en los bloques de memoria identificados.
En algunos aspectos, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de una tercera pluralidad de librerías de símbolos en una primera sección de códigos. La identificación de cada bloque de memoria con la correspondiente sección de códigos en el paso 806c incluye la identificación de un primer bloque de memoria con la primera sección de códigos. El almacenamiento de las secciones de códigos en los bloques de memoria identificados en el paso 806d incluye el almacenamiento de la tercera pluralidad de librerías de símbolos en el primer bloque de memoria. La recepción de una nueva sección de códigos en el paso 808 incluye la recepción de una primera sección de códigos actualizada con la tercera pluralidad de librerías de símbolos dispuestas en su interior. Entonces, la disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado para el dispositivo sin hilos en el paso 810 incluye sobrescribir la primera sección de códigos en el primer bloque de memoria con una primera sección de códigos actualizada.
En otros aspectos, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye la disposición de una primera librería de símbolos en una primera sección de códigos. La identificación de cada bloque de memoria con la correspondiente sección de códigos en el paso 806c incluye la identificación de un primer bloque de memoria con la primera sección de códigos. El almacenamiento de las secciones de códigos en los bloques de memoria identificados en el paso 806d incluye el almacenamiento de la primera librería de símbolos en el primer bloque de memoria. La recepción de una nueva sección de códigos en el paso 808 incluye la recepción de una primera sección de códigos actualizada con una primera librería de símbolos dispuesta en su interior. Entonces, la disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software del sistema actualizado para el dispositivo sin hilos en el paso 810 incluye sobrescribir la primera sección de códigos en el primer bloque de memoria con una primera sección de códigos actualizada.
La disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye dimensionar las secciones de códigos para acomodar las librerías de símbolos dispuestas. Entonces, la creación de una segunda pluralidad de bloques de memoria de direcciones contiguas en el paso 806b incluye dimensionar los bloques de memoria para acomodar las correspondientes secciones de códigos. Alternativamente, la disposición de la primera pluralidad de librerías de símbolos en una segunda pluralidad de secciones de códigos en el paso 804 incluye dimensionar las secciones de códigos para acomodar tamaños mayores que las librerías de símbolos dispuestas.
Se ha proporcionado un sistema y un procedimiento para una estructura actualizable de software de un sistema para utilizarlos en dispositivo de comunicaciones sin hilos. El sistema se puede actualizar fácilmente debido a la disposición de librerías de símbolos en secciones de códigos, con tablas para acceder a las direcciones de arranque de las secciones de códigos en la memoria y las direcciones del desplazamiento de los símbolos en las librerías de símbolos. Aunque se han proporcionado unos pocos ejemplos de estas disposiciones de las librerías y tablas de referencias cruzadas para una función de visualización, la presente invención no está limitada únicamente a estos ejemplos. Otras variaciones y realizaciones de la invención se les ocurrirán a aquellos expertos en la técnica.

Claims (33)

1. Procedimiento para actualizar el software de un sistema almacenado en la memoria de un dispositivo de comunicaciones sin hilos (104), el procedimiento comprendiendo:
- el almacenamiento del software del sistema para el dispositivo sin hilos en una pluralidad de secciones de códigos actuales (302);
- la recepción de una actualización del software (102) a través de una red de comunicaciones sin hilos, la actualización comprendiendo un conjunto de instrucciones del realizador del parche (200) y una nueva sección de códigos;
- el lanzamiento de un motor de instrucciones del tiempo de ejecución configurado para procesar el conjunto de instrucciones del realizador del parche; y
- la ejecución del conjunto de instrucciones del realizador del parche en el motor de instrucciones del tiempo de ejecución para disponer la nueva sección de códigos con secciones de códigos actuales para formar el software actualizado del sistema para el dispositivo sin hilos.
2. El procedimiento de la reivindicación 1 adicionalmente comprendiendo la identificación de una sección de códigos actuales para la actualización y en el que la disposición de la nueva sección de códigos con las secciones de códigos actuales para formar el software actualizado del sistema incluye la sustitución de la sección de códigos actuales con la nueva sección de códigos.
3. El procedimiento de la reivindicación 1 en el que el paso de almacenamiento adicionalmente comprende:
- la formación del software del sistema en una pluralidad de librerías de símbolos, cada librería de símbolos comprendiendo por lo menos un símbolo; y
- la disposición de la pluralidad de librerías de símbolos en una pluralidad de secciones de códigos.
4. El procedimiento de la reivindicación 3 en el que cada símbolo en una librería de símbolos tiene una funcionalidad relacionada.
5. El procedimiento de la reivindicación 4 en el que el paso de la formación adicionalmente comprende la formación de datos lectura-escritura para una pluralidad de librerías y la disposición de los datos de lectura-escritura en una sección compartida de códigos de lectura-escritura.
6. El procedimiento de la reivindicación 5 en el que la actualización del software adicionalmente comprende una sección actualizada de códigos lectura-escritura.
7. El procedimiento de la reivindicación 6 adicionalmente comprendiendo: la identificación de una sección actual de códigos de lectura-escritura que corresponde a la sección actualizada de códigos de lectura-escritura, en el que el paso de la ejecución adicionalmente comprende la sustitución de la sección de códigos de lectura-escritura con la sección actualizada de códigos de lectura-escritura.
8. El procedimiento de la reivindicación 3 en el que el paso de la disposición adicionalmente comprende la disposición de una primera librería de símbolos en el arranque de una sección de códigos, en el que cada arranque de una sección de códigos tiene la correspondiente dirección de arranque; y el mantenimiento de una tabla de direcciones de las secciones de códigos con referencias cruzadas de los identificadores de las secciones de códigos con las correspondientes direcciones de arranque.
9. El procedimiento de la reivindicación 8 en el que el paso de la disposición adicionalmente comprende la disposición de una segunda librería de símbolos para ser desplazada desde el arranque de una sección de códigos; y el mantenimiento de una tabla de direcciones del desplazamiento de los símbolos con referencias cruzadas de un segundo identificador de la librería de símbolos con la correspondiente dirección del desplazamiento y el correspondiente identificador de la sección de códigos.
10. El procedimiento de la reivindicación 9 adicionalmente comprendiendo:
- el almacenamiento de la tabla de las direcciones de las secciones de códigos en una primera sección de códigos de tabla; y
- el almacenamiento de la tabla de las direcciones de los desplazamientos de los símbolos en una segunda sección de códigos de tabla.
11. El procedimiento de la reivindicación 10 en el que la actualización del software adicionalmente comprende una primera sección actualizada de códigos de tabla y una segunda sección actualizada de códigos de tabla.
12. El procedimiento de la reivindicación 10 adicionalmente comprendiendo el acceso a la tabla de direcciones de las secciones de códigos y a la tabla de direcciones del desplazamiento de los símbolos para calcular la dirección de un símbolo a partir de un código del dispositivo de acceso a los símbolos que comprende un identificador del símbolo y un identificador de la sección de códigos.
13. El procedimiento de la reivindicación 12 en el que la actualización del software adicionalmente comprende un código actualizado del dispositivo de acceso a los símbolos y adicionalmente comprendiendo la sustitución del código del dispositivo de acceso a los símbolo con el código actualizado del dispositivo de acceso a los símbolos.
14. El procedimiento de la reivindicación 8 en el que el almacenamiento de las librerías de símbolos al arranque de las correspondientes secciones de códigos adicionalmente comprende:
- la creación de una pluralidad de bloques de memoria con direcciones contiguas;
- la identificación de cada bloque de memoria con la correspondiente sección de códigos; y
- el almacenamiento de las correspondientes secciones de códigos en los bloques de memoria identificados.
15. El procedimiento de la reivindicación 14 en el que el paso de la creación adicionalmente comprende el dimensionado de los bloques de memoria para acomodar las correspondientes secciones de códigos.
16. El procedimiento de la reivindicación 15 en el que el paso del dimensionado adicionalmente comprende el dimensionado de las secciones de códigos para acomodar tamaños mayores que las librerías de símbolos.
17. Sistema de actualización del software para un dispositivo de comunicaciones sin hilos, el sistema comprendiendo:
- un software ejecutable del sistema para el dispositivo sin hilos diferenciado en una pluralidad de secciones actuales de códigos (302), en el que cada sección actual de códigos comprende una o más librerías de símbolos;
- una interfaz de comunicaciones sin hilos (150) configurada para recibir una actualización del software (102) a través de una red de comunicaciones sin hilos, la actualización del software comprendiendo un conjunto de instrucciones del realizador del parche (200) y una nueva librería de símbolos provista de la correspondiente sección de códigos;
- un motor de instrucciones del tiempo de ejecución configurado para procesar la actualización del software y ejecutar el conjunto de instrucciones del realizador del parche para disponer la nueva librería de símbolos en la correspondiente sección de códigos.
18. El sistema de la reivindicación 17 en el que la actualización del software comprende una nueva sección de códigos y el procesado de la actualización sustituye la sección actual de códigos con la nueva sección de códigos.
19. El sistema de la reivindicación 17 en el que cada librería de símbolos comprende símbolos que tienen una funcionalidad relacionada.
20. El sistema de la reivindicación 19 en el que cada sección actual de códigos incluye una sección compartida de códigos de lectura-escritura con los datos de lectura-escritura accesibles a las correspondientes librerías de símbolos.
21. El sistema de la reivindicación 20 en el que la actualización del software comprende una sección actualizada de códigos de lectura-escritura y el procesado de la actualización sustituye la sección compartida de códigos de lectura-escritura con la sección actualizada de códigos de lectura-escritura.
22. El sistema de la reivindicación 21 en el que la librería de símbolos está dispuesta para empezar al arranque de cada sección actual de códigos y en el que cada sección actual de códigos incluye una tabla de direcciones de las secciones de códigos que comprende una pluralidad de identificadores de las secciones de códigos asociados con las direcciones de arranque para la pluralidad de secciones actuales de códigos.
23. El sistema de la reivindicación 22 en el que una sección actual de códigos incluye una tabla de las direcciones del desplazamiento de los símbolos que comprende identificadores de los símbolos asociados con las correspondientes direcciones del desplazamiento y los correspondientes identificadores de las secciones de códigos.
24. El sistema de la reivindicación 23 en el que la actualización del software comprende una tabla actualizada de las direcciones de las secciones de códigos y una tabla actualizada de las direcciones del desplazamiento de los símbolos.
25. El sistema de la reivindicación 17 en el que una sección actual de códigos comprende el motor de instrucciones del tiempo de ejecución.
26. El sistema de la reivindicación 24 en el que la actualización del software comprende una nueva librería de símbolos en la sección de códigos del motor de instrucciones del tiempo de ejecución y el procesado de la actualización sustituye una librería de símbolos en la sección de los códigos del motor de instrucciones del tiempo de ejecución con la nueva librería de símbolos.
27. El sistema de la reivindicación 26 en el que la sección de los códigos del motor de instrucciones del tiempo de ejecución incluye datos de lectura-escritura, una tabla de las direcciones de las secciones de códigos y una tabla de las direcciones del desplazamiento de los símbolos.
28. El sistema de la reivindicación 26 en el que la sección de los códigos del motor de instrucciones del tiempo de ejecución incluye un código del dispositivo de acceso a los símbolos que comprende un identificador de los símbolos y el correspondiente identificador de la sección de códigos.
29. El sistema de la reivindicación 28 en el que el código del dispositivo de acceso a los símbolos calcula la dirección de un símbolo accediendo a la tabla de direcciones de la sección de códigos y a la tabla de direcciones del desplazamiento de los símbolos.
30. El sistema de la reivindicación 29 en el que la actualización del software comprende un código actualizado del dispositivo de acceso a los símbolos.
31. El sistema de la reivindicación 17 adicionalmente comprendiendo una pluralidad de bloques identificados de memoria con direcciones contiguas con la pluralidad de secciones actuales de códigos.
32. El sistema de la reivindicación 31 en el que una sección actual de códigos está dimensionada para acomodar las correspondientes librerías de símbolos dispuestas en el interior y el correspondiente bloque de memoria está dimensionado para acomodar la sección actual de códigos.
33. El sistema de la reivindicación 32 en el que una sección actual de códigos está dimensionada más grande que las correspondientes librerías de símbolos dispuestas en el interior.
ES02749159T 2001-07-26 2002-07-23 Sistema y procedimiento para la descarga sobre el terreno de una seccion de codigos de software de un dispositivo de comunicacion sin hilos. Expired - Lifetime ES2247355T3 (es)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US09/916,460 US7159214B2 (en) 2001-07-26 2001-07-26 System and method for compacting field upgradeable wireless communication device software code sections
US917026 2001-07-26
US916460 2001-07-26
US09/916,900 US7027806B2 (en) 2001-07-26 2001-07-26 System and method for field downloading a wireless communications device software code section
US09/917,026 US7328007B2 (en) 2001-07-26 2001-07-26 System and method for organizing wireless communication device system software
US916900 2001-07-26
US09/927,131 US7143407B2 (en) 2001-07-26 2001-08-10 System and method for executing wireless communications device dynamic instruction sets
US927131 2001-08-10
US969305 2001-10-02
US09/969,305 US7386846B2 (en) 2001-07-26 2001-10-02 System and method for the management of wireless communications device system software downloads in the field
PCT/IB2002/002869 WO2003010662A2 (en) 2001-07-26 2002-07-23 System and method for field downloading a wireless communication device software code section

Publications (1)

Publication Number Publication Date
ES2247355T3 true ES2247355T3 (es) 2006-03-01

Family

ID=27542295

Family Applications (9)

Application Number Title Priority Date Filing Date
ES02749158T Expired - Lifetime ES2300454T3 (es) 2001-07-26 2002-07-22 Sistema y metodo para organizar un software para un dispositivo de comunicacion inalambrica actualizable sobre el terreno.
ES02749163T Expired - Lifetime ES2263796T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para el diagnostico en servicio del software de un sistema de dispositivo de comunicaciones sin cables.
ES02749167T Expired - Lifetime ES2249602T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para actualizar datos persistentes en un dispositivo de comunicaciones sin cables.
ES02749166T Expired - Lifetime ES2299587T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para compactar secciones de codigos en el software de un dispositivo de comunicacion inalambrico actualizable sobre el terreno.
ES02749159T Expired - Lifetime ES2247355T3 (es) 2001-07-26 2002-07-23 Sistema y procedimiento para la descarga sobre el terreno de una seccion de codigos de software de un dispositivo de comunicacion sin hilos.
ES02762622T Expired - Lifetime ES2253553T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para comunicacion bidireccional y ejecucion de conjuntos de instrucciones dinamicas.
ES02741113T Expired - Lifetime ES2248568T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para mejorar la seguridad en el reacondicionamiento y reprogramacion de aparatos telefonicos moviles.
ES02751472T Expired - Lifetime ES2263799T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para comunicacion telefonica punto por punto.
ES05018919T Expired - Lifetime ES2284112T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para mejorar la seguridad en el reacondicionamiento y reprogramacion de aparatos telefonicos moviles.

Family Applications Before (4)

Application Number Title Priority Date Filing Date
ES02749158T Expired - Lifetime ES2300454T3 (es) 2001-07-26 2002-07-22 Sistema y metodo para organizar un software para un dispositivo de comunicacion inalambrica actualizable sobre el terreno.
ES02749163T Expired - Lifetime ES2263796T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para el diagnostico en servicio del software de un sistema de dispositivo de comunicaciones sin cables.
ES02749167T Expired - Lifetime ES2249602T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para actualizar datos persistentes en un dispositivo de comunicaciones sin cables.
ES02749166T Expired - Lifetime ES2299587T3 (es) 2001-07-26 2002-07-23 Sistema y metodo para compactar secciones de codigos en el software de un dispositivo de comunicacion inalambrico actualizable sobre el terreno.

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES02762622T Expired - Lifetime ES2253553T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para comunicacion bidireccional y ejecucion de conjuntos de instrucciones dinamicas.
ES02741113T Expired - Lifetime ES2248568T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para mejorar la seguridad en el reacondicionamiento y reprogramacion de aparatos telefonicos moviles.
ES02751472T Expired - Lifetime ES2263799T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para comunicacion telefonica punto por punto.
ES05018919T Expired - Lifetime ES2284112T3 (es) 2001-07-26 2002-07-25 Sistema y metodo para mejorar la seguridad en el reacondicionamiento y reprogramacion de aparatos telefonicos moviles.

Country Status (9)

Country Link
EP (12) EP1410189B1 (es)
JP (11) JP2004537120A (es)
KR (10) KR100911604B1 (es)
CN (10) CN1275149C (es)
AT (9) ATE387658T1 (es)
AU (9) AU2002319569A1 (es)
DE (7) DE60206389T2 (es)
ES (9) ES2300454T3 (es)
WO (10) WO2003010656A2 (es)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143407B2 (en) * 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
EP1654640B1 (en) 2003-06-04 2018-08-01 Qualcomm Incorporated Network having customizable generators of sofware updates and mobile electronic devices having customizable updating software
US7873956B2 (en) 2003-09-25 2011-01-18 Pantech & Curitel Communications, Inc. Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US7257583B2 (en) 2004-01-09 2007-08-14 Microsoft Corporation System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
KR100620729B1 (ko) * 2004-03-31 2006-09-13 주식회사 팬택앤큐리텔 소프트웨어 이미지 생성 방법
AU2005246830B2 (en) * 2004-05-18 2007-12-13 Kyocera Corporation Modular software components for wireless communication devices
GB2416876B (en) * 2004-08-03 2007-01-10 Nec Technologies Export file processing within a mobile radio communications device
US7512939B2 (en) * 2004-10-05 2009-03-31 Neopost Technologies System and method of secure updating of remote device software
EP1659810B1 (en) * 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
USRE48433E1 (en) 2005-01-27 2021-02-09 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
CN100442708C (zh) * 2005-06-17 2008-12-10 上海华为技术有限公司 一种主备备份的方法及系统
CN100476728C (zh) * 2005-08-19 2009-04-08 光宝科技股份有限公司 应用程序更新方法及使用上述方法的移动通讯装置
CN100410893C (zh) * 2005-09-28 2008-08-13 联想(北京)有限公司 自行修复嵌入式设备的主控应用程序的方法及设备
CN1980447B (zh) * 2005-12-06 2010-06-16 中兴通讯股份有限公司 一种通信系统软件版本的平滑升级方法
KR100963550B1 (ko) * 2006-03-10 2010-06-15 후지쯔 가부시끼가이샤 적용 패치 선별 장치 및 적용 패치 선별 방법
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
WO2008014454A2 (en) 2006-07-27 2008-01-31 Hewlett-Packard Development Company, L.P. User experience and dependency management in a mobile device
CN100403263C (zh) * 2006-08-16 2008-07-16 华为技术有限公司 按配置下载设备软件的方法
KR100924647B1 (ko) * 2008-08-07 2009-11-02 주식회사 케이티 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템
KR20110135989A (ko) 2009-04-07 2011-12-20 센션트 컬러스 엘엘씨 자가-분산 입자 및 그의 제조 및 사용 방법
CN101539885B (zh) * 2009-04-23 2011-06-08 大唐微电子技术有限公司 一种无线通信模块软件自主空中升级的方法、装置及系统
US8402217B2 (en) * 2009-09-15 2013-03-19 Marvell International Ltd. Implementing RAID in solid state memory
CN102253847A (zh) * 2010-05-19 2011-11-23 宏碁股份有限公司 制作系统软件的系统及系统软件的部署方法
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
CN108717387B (zh) * 2012-11-09 2021-09-07 相干逻辑公司 对于多处理器系统的实时分析和控制
US10064251B2 (en) 2013-03-15 2018-08-28 Cree, Inc. Updatable lighting fixtures and related components
CN103345412B (zh) * 2013-07-10 2016-08-24 华为技术有限公司 打补丁的方法及装置
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
BR112020022518A2 (pt) * 2018-05-04 2021-02-09 Herdx, Inc. sistema de rastreamento, autenticação e realimentação de fornecimento de alimentos
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
US11423717B2 (en) 2018-08-01 2022-08-23 The Chamberlain Group Llc Movable barrier operator and transmitter pairing over a network
KR102176204B1 (ko) 2018-10-15 2020-11-09 김용대 유명인 사용물품 기부 중개 서비스 방법
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
JP7461755B2 (ja) * 2020-02-21 2024-04-04 日立Astemo株式会社 情報処理装置、プログラム更新システム、及びプログラム更新方法
US11588924B2 (en) * 2020-10-29 2023-02-21 Hewlett Packard Enterprise Development Lp Storage interface command packets over fibre channel with transport and network headers as payloads

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8901932D0 (en) * 1989-01-28 1989-03-15 Int Computers Ltd Data processing system
FR2662891A1 (fr) * 1990-05-30 1991-12-06 Cit Alcatel Dispositif de telechargement de logiciel pour un terminal de telecommunication.
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
JPH07182178A (ja) * 1993-02-19 1995-07-21 Nec Corp プリロードモジュール修正システム
US5488648A (en) * 1993-08-17 1996-01-30 Telefonaktiebolaget L M Ericsson Behavior monitoring and analyzing system for stored program controlled switching system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
US5734904A (en) * 1994-11-14 1998-03-31 Microsoft Corporation Method and system for calling one of a set of routines designed for direct invocation by programs of a second type when invoked by a program of the first type
JPH08166877A (ja) * 1994-12-13 1996-06-25 Olympus Optical Co Ltd 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ
DE19502728A1 (de) * 1995-01-28 1996-08-01 Philips Patentverwaltung Telekommunikationsvorrichtung
US5673317A (en) * 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
US5699275A (en) * 1995-04-12 1997-12-16 Highwaymaster Communications, Inc. System and method for remote patching of operating code located in a mobile unit
DE19527808C2 (de) * 1995-07-28 1999-04-01 Siemens Ag Verfahren zum Modifizieren der Softwareprozeduren eines Kommunikationssystems
DE19543843C2 (de) * 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
JP2002515999A (ja) * 1996-08-28 2002-05-28 ウィンド リヴァー システムズ インコーポレイテッド 複数プロセッサーで分割されるソフトウエア診断のためのツール
US6247065B1 (en) * 1996-12-26 2001-06-12 At&T Corp. Messaging platform process
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
US5938766A (en) * 1997-03-21 1999-08-17 Apple Computer, Inc. System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
SE512110C2 (sv) * 1997-06-17 2000-01-24 Ericsson Telefon Ab L M System och förfarande för att kundanpassa trådlösa kommunikationsenheter
JPH1115689A (ja) * 1997-06-19 1999-01-22 Nec Corp ソフトウェアのデバッグ方法及びデバッグ・プログラムを記録した記録媒体
US5974312A (en) * 1997-07-10 1999-10-26 Ericsson Inc. System and method for updating a memory in an electronic device via wireless data transfer
US6496979B1 (en) * 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
JPH11141394A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
JPH11146011A (ja) * 1997-11-11 1999-05-28 Nec Corp 電子メールシステム及び電子メールサーバ及び通信端末
JP3337062B2 (ja) * 1997-11-21 2002-10-21 日本電気株式会社 無線データ転送方法及びそのシステム
US6275694B1 (en) * 1997-12-19 2001-08-14 Vlsi Technology, Inc. Method for remotely updating software code for personal handy phone system equipment
US6438711B2 (en) * 1998-07-15 2002-08-20 Intel Corporation Method and apparatus for performing field diagnostics on a computer system
US20020073398A1 (en) * 1998-12-14 2002-06-13 Jeffrey L. Tinker Method and system for modifying executable code to add additional functionality
GB2349485B (en) * 1999-04-23 2003-12-10 Ibm Application management
SE516806C2 (sv) * 1999-05-26 2002-03-05 Ericsson Telefon Ab L M Sätt för inladdning av programvara i en radioterminal, såsom en mobiltelefon, och tillhörande radioterminal
US6282647B1 (en) * 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
FR2800963B1 (fr) * 1999-11-09 2001-12-07 Wavecom Sa Procede de mise a jour d'un programme principal execute par un module de radiocommunication et/ou de donnees associees a ce programme principal, et module de radiocommunication correspondant
US7264532B2 (en) * 2004-12-27 2007-09-04 Tsan-Yao Chen Cup structure

Also Published As

Publication number Publication date
WO2003010658A3 (en) 2003-12-24
KR20040022461A (ko) 2004-03-12
ES2299587T3 (es) 2008-06-01
JP4101752B2 (ja) 2008-06-18
KR100913658B1 (ko) 2009-08-24
WO2003010656A2 (en) 2003-02-06
CN100378661C (zh) 2008-04-02
DE60207429T2 (de) 2006-07-27
JP4104546B2 (ja) 2008-06-18
AU2002328167A1 (en) 2003-02-17
EP1425894A2 (en) 2004-06-09
CN1279447C (zh) 2006-10-11
CN1288553C (zh) 2006-12-06
DE60205755D1 (de) 2005-09-29
WO2003010662A3 (en) 2003-12-24
WO2003010668A3 (en) 2003-09-25
JP2004537209A (ja) 2004-12-09
DE60205755T2 (de) 2006-06-29
ATE305632T1 (de) 2005-10-15
JP2004537925A (ja) 2004-12-16
EP1410190A2 (en) 2004-04-21
KR20040019334A (ko) 2004-03-05
ATE382159T1 (de) 2008-01-15
JP4310186B2 (ja) 2009-08-05
CN1535422A (zh) 2004-10-06
WO2003010932A3 (en) 2004-04-08
ATE327628T1 (de) 2006-06-15
JP2004537120A (ja) 2004-12-09
KR20040017351A (ko) 2004-02-26
KR100984895B1 (ko) 2010-10-01
JP2004537899A (ja) 2004-12-16
CN1535418A (zh) 2004-10-06
DE60206055D1 (de) 2005-10-13
JP2004537121A (ja) 2004-12-09
EP1410192B1 (en) 2007-12-26
JP4278513B2 (ja) 2009-06-17
DE60206389D1 (de) 2006-02-09
KR20040022463A (ko) 2004-03-12
DE60207429D1 (de) 2005-12-22
AU2002319572A1 (en) 2003-02-17
KR20040022462A (ko) 2004-03-12
CN1535529A (zh) 2004-10-06
ES2249602T3 (es) 2006-04-01
AU2002319573A1 (en) 2003-02-17
CN1535423A (zh) 2004-10-06
EP1410193A2 (en) 2004-04-21
EP1410665B1 (en) 2005-09-07
DE60211719D1 (de) 2006-06-29
JP2004538693A (ja) 2004-12-24
EP1601217B1 (en) 2007-04-11
KR100940179B1 (ko) 2010-02-03
WO2003010668A2 (en) 2003-02-06
KR100817387B1 (ko) 2008-03-27
EP1423959B1 (en) 2006-05-24
WO2003010664A3 (en) 2003-12-24
DE60219536D1 (de) 2007-05-24
EP1410190B1 (en) 2005-08-24
CN1535419A (zh) 2004-10-06
EP1410189B1 (en) 2008-02-27
AU2002319569A1 (en) 2003-02-17
JP4176634B2 (ja) 2008-11-05
KR100911604B1 (ko) 2009-08-07
WO2003012639A3 (en) 2003-12-24
JP2008108268A (ja) 2008-05-08
ATE310354T1 (de) 2005-12-15
KR100913659B1 (ko) 2009-08-24
ES2284112T3 (es) 2007-11-01
WO2003010656A3 (en) 2003-11-13
ATE302972T1 (de) 2005-09-15
EP1425894B1 (en) 2005-11-16
ATE327536T1 (de) 2006-06-15
WO2003010942A2 (en) 2003-02-06
CN1535421A (zh) 2004-10-06
DE60211704D1 (de) 2006-06-29
EP1410191A2 (en) 2004-04-21
AU2002355308A1 (en) 2003-02-17
AU2002319570A1 (en) 2003-02-17
CN1288554C (zh) 2006-12-06
JP2005502105A (ja) 2005-01-20
CN1537397A (zh) 2004-10-13
CN1537276A (zh) 2004-10-13
KR20040015823A (ko) 2004-02-19
WO2003013103A3 (en) 2004-04-08
JP4106020B2 (ja) 2008-06-25
KR100932058B1 (ko) 2009-12-15
ATE359681T1 (de) 2007-05-15
ES2300454T3 (es) 2008-06-16
CN1275149C (zh) 2006-09-13
WO2003013103A2 (en) 2003-02-13
EP1610222A2 (en) 2005-12-28
EP1410209A2 (en) 2004-04-21
CN1537272A (zh) 2004-10-13
ES2263796T3 (es) 2006-12-16
EP1410665A2 (en) 2004-04-21
EP1410193B1 (en) 2005-09-28
CN1250035C (zh) 2006-04-05
EP1610222B1 (en) 2011-03-02
WO2003010662A2 (en) 2003-02-06
KR100940180B1 (ko) 2010-02-04
WO2003010664A2 (en) 2003-02-06
ES2263799T3 (es) 2006-12-16
WO2003010663A2 (en) 2003-02-06
EP1601217A3 (en) 2006-05-10
KR100940178B1 (ko) 2010-02-03
WO2003010942A3 (en) 2003-05-15
CN1235137C (zh) 2006-01-04
DE60211704T2 (de) 2007-05-10
ES2248568T3 (es) 2006-03-16
KR20040022464A (ko) 2004-03-12
EP1423959A2 (en) 2004-06-02
EP1410209B1 (en) 2006-05-24
EP1610222A3 (en) 2007-01-31
AU2002319568A1 (en) 2003-02-17
KR20040022460A (ko) 2004-03-12
EP1410188A2 (en) 2004-04-21
EP1410189A2 (en) 2004-04-21
ATE387658T1 (de) 2008-03-15
ES2253553T3 (es) 2006-06-01
WO2003010932A2 (en) 2003-02-06
WO2003010663A3 (en) 2003-12-24
ATE304272T1 (de) 2005-09-15
EP1410192A2 (en) 2004-04-21
CN1275150C (zh) 2006-09-13
DE60206055T2 (de) 2006-06-29
KR20040022459A (ko) 2004-03-12
CN1535420A (zh) 2004-10-06
JP4073399B2 (ja) 2008-04-09
CN1310488C (zh) 2007-04-11
JP2004537895A (ja) 2004-12-16
KR20040017352A (ko) 2004-02-26
EP1601217A2 (en) 2005-11-30
JP2004537123A (ja) 2004-12-09
DE60206389T2 (de) 2006-07-13
DE60211719T2 (de) 2007-01-11
KR100918162B1 (ko) 2009-09-17
CN1235138C (zh) 2006-01-04
AU2002319577A1 (en) 2003-02-17
DE60219536T2 (de) 2008-01-03
WO2003012639A2 (en) 2003-02-13
AU2002319576A1 (en) 2003-02-17
WO2003010658A2 (en) 2003-02-06
JP4077408B2 (ja) 2008-04-16
JP2005505813A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
ES2247355T3 (es) Sistema y procedimiento para la descarga sobre el terreno de una seccion de codigos de software de un dispositivo de comunicacion sin hilos.
US7159214B2 (en) System and method for compacting field upgradeable wireless communication device software code sections
US7542758B2 (en) Field downloading of wireless device software
US7644406B2 (en) Update system capable of updating software across multiple FLASH chips
EP2939121B1 (en) System and method of storing service brand packages on a mobile device
US9214085B2 (en) Vehicle gateway device
US20050010917A9 (en) System and method for executing wireless communications device dynamic instruction sets
KR100697174B1 (ko) 무선 파라메트릭 데이타 및 규제 데이타에 대한 근거리 및원거리 액세스 및 그 방법
US7328007B2 (en) System and method for organizing wireless communication device system software
US20070156976A1 (en) Resource efficient content management and delivery without using a file system
US20030069007A1 (en) System and method for updating persistent data in a wireless communications device
CN112394969B (zh) 一种补丁发布的方法、服务器及终端设备
KR20150120640A (ko) 스마트카드의 펌웨어를 업데이트하는 방법, 장치 및 시스템
CN102984692A (zh) 一种移动终端网络内容的更新方法、系统及移动终端