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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004891 communication Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 102
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 38
- 238000006073 displacement reaction Methods 0.000 claims description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000004513 sizing Methods 0.000 claims description 4
- 238000005056 compaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal 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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
2002
- 2002-07-22 AU AU2002319569A patent/AU2002319569A1/en not_active Abandoned
- 2002-07-22 JP JP2003515964A patent/JP2004537120A/ja not_active Withdrawn
- 2002-07-22 EP EP02749158A patent/EP1410189B1/en not_active Expired - Lifetime
- 2002-07-22 EP EP02749157A patent/EP1410188A2/en not_active Withdrawn
- 2002-07-22 CN CNB028148312A patent/CN1275149C/zh not_active Expired - Fee Related
- 2002-07-22 JP JP2003515971A patent/JP2005505813A/ja not_active Withdrawn
- 2002-07-22 KR KR1020047000723A patent/KR100911604B1/ko not_active IP Right Cessation
- 2002-07-22 EP EP02749161A patent/EP1410191A2/en not_active Withdrawn
- 2002-07-22 WO PCT/IB2002/002866 patent/WO2003010656A2/en active Application Filing
- 2002-07-22 CN CNB028148320A patent/CN1288553C/zh not_active Expired - Fee Related
- 2002-07-22 JP JP2003515966A patent/JP4104546B2/ja not_active Expired - Fee Related
- 2002-07-22 KR KR1020047000719A patent/KR100940178B1/ko not_active IP Right Cessation
- 2002-07-22 ES ES02749158T patent/ES2300454T3/es not_active Expired - Lifetime
- 2002-07-22 WO PCT/IB2002/002875 patent/WO2003010663A2/en not_active Application Discontinuation
- 2002-07-22 AU AU2002319572A patent/AU2002319572A1/en not_active Abandoned
- 2002-07-22 KR KR1020047000721A patent/KR100940180B1/ko not_active IP Right Cessation
- 2002-07-22 WO PCT/IB2002/002867 patent/WO2003010658A2/en active IP Right Grant
- 2002-07-22 CN CNB028148339A patent/CN1275150C/zh not_active Expired - Fee Related
- 2002-07-22 AT AT02749158T patent/ATE387658T1/de not_active IP Right Cessation
- 2002-07-22 AU AU2002319568A patent/AU2002319568A1/en not_active Abandoned
- 2002-07-23 KR KR1020047000716A patent/KR100940179B1/ko not_active IP Right Cessation
- 2002-07-23 AU AU2002319573A patent/AU2002319573A1/en not_active Abandoned
- 2002-07-23 KR KR1020047000718A patent/KR100913658B1/ko not_active IP Right Cessation
- 2002-07-23 AT AT02749163T patent/ATE327536T1/de not_active IP Right Cessation
- 2002-07-23 KR KR1020047000725A patent/KR100918162B1/ko not_active IP Right Cessation
- 2002-07-23 DE DE60206389T patent/DE60206389T2/de not_active Expired - Lifetime
- 2002-07-23 KR KR1020047000726A patent/KR100913659B1/ko not_active IP Right Cessation
- 2002-07-23 ES ES02749163T patent/ES2263796T3/es not_active Expired - Lifetime
- 2002-07-23 CN CNB028148371A patent/CN1279447C/zh not_active Expired - Fee Related
- 2002-07-23 AT AT02749167T patent/ATE305632T1/de not_active IP Right Cessation
- 2002-07-23 JP JP2003517749A patent/JP4310186B2/ja not_active Expired - Fee Related
- 2002-07-23 JP JP2003515970A patent/JP4073399B2/ja not_active Expired - Fee Related
- 2002-07-23 CN CNB028148355A patent/CN1235138C/zh not_active Expired - Fee Related
- 2002-07-23 AT AT02749166T patent/ATE382159T1/de not_active IP Right Cessation
- 2002-07-23 ES ES02749167T patent/ES2249602T3/es not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002869 patent/WO2003010662A2/en active IP Right Grant
- 2002-07-23 WO PCT/IB2002/002890 patent/WO2003010664A2/en active IP Right Grant
- 2002-07-23 JP JP2003515972A patent/JP4278513B2/ja not_active Expired - Fee Related
- 2002-07-23 EP EP05021081A patent/EP1610222B1/en not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002889 patent/WO2003012639A2/en active IP Right Grant
- 2002-07-23 EP EP02749166A patent/EP1410192B1/en not_active Expired - Lifetime
- 2002-07-23 AU AU2002319576A patent/AU2002319576A1/en not_active Abandoned
- 2002-07-23 EP EP02749159A patent/EP1410190B1/en not_active Expired - Lifetime
- 2002-07-23 AT AT02749159T patent/ATE302972T1/de not_active IP Right Cessation
- 2002-07-23 ES ES02749166T patent/ES2299587T3/es not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002877 patent/WO2003010668A2/en active IP Right Grant
- 2002-07-23 JP JP2003515976A patent/JP4176634B2/ja not_active Expired - Fee Related
- 2002-07-23 ES ES02749159T patent/ES2247355T3/es not_active Expired - Lifetime
- 2002-07-23 DE DE60205755T patent/DE60205755T2/de not_active Expired - Lifetime
- 2002-07-23 EP EP02749167A patent/EP1410193B1/en not_active Expired - Lifetime
- 2002-07-23 DE DE60211704T patent/DE60211704T2/de not_active Expired - Lifetime
- 2002-07-23 CN CNB02814838XA patent/CN1288554C/zh not_active Expired - Fee Related
- 2002-07-23 CN CNB028148347A patent/CN1235137C/zh not_active Expired - Fee Related
- 2002-07-23 EP EP02749163A patent/EP1410209B1/en not_active Expired - Lifetime
- 2002-07-23 AU AU2002319570A patent/AU2002319570A1/en not_active Abandoned
- 2002-07-23 AU AU2002319577A patent/AU2002319577A1/en not_active Abandoned
- 2002-07-25 WO PCT/IB2002/002912 patent/WO2003013103A2/en active IP Right Grant
- 2002-07-25 JP JP2003518153A patent/JP4101752B2/ja not_active Expired - Fee Related
- 2002-07-25 AT AT05018919T patent/ATE359681T1/de not_active IP Right Cessation
- 2002-07-25 EP EP02762622A patent/EP1425894B1/en not_active Expired - Lifetime
- 2002-07-25 EP EP02751472A patent/EP1423959B1/en not_active Expired - Lifetime
- 2002-07-25 ES ES02762622T patent/ES2253553T3/es not_active Expired - Lifetime
- 2002-07-25 JP JP2003516189A patent/JP4077408B2/ja not_active Expired - Fee Related
- 2002-07-25 DE DE60219536T patent/DE60219536T2/de not_active Expired - Lifetime
- 2002-07-25 KR KR1020047001087A patent/KR100932058B1/ko not_active IP Right Cessation
- 2002-07-25 EP EP02741113A patent/EP1410665B1/en not_active Expired - Lifetime
- 2002-07-25 WO PCT/IB2002/002906 patent/WO2003010942A2/en active IP Right Grant
- 2002-07-25 KR KR1020047001088A patent/KR100984895B1/ko not_active IP Right Cessation
- 2002-07-25 CN CNB028148401A patent/CN1310488C/zh not_active Expired - Fee Related
- 2002-07-25 AT AT02762622T patent/ATE310354T1/de not_active IP Right Cessation
- 2002-07-25 JP JP2003516197A patent/JP4106020B2/ja not_active Expired - Fee Related
- 2002-07-25 AU AU2002328167A patent/AU2002328167A1/en not_active Abandoned
- 2002-07-25 KR KR1020047001086A patent/KR100817387B1/ko not_active IP Right Cessation
- 2002-07-25 DE DE60211719T patent/DE60211719T2/de not_active Expired - Lifetime
- 2002-07-25 AT AT02741113T patent/ATE304272T1/de not_active IP Right Cessation
- 2002-07-25 WO PCT/IB2002/002905 patent/WO2003010932A2/en active IP Right Grant
- 2002-07-25 AT AT02751472T patent/ATE327628T1/de not_active IP Right Cessation
- 2002-07-25 EP EP05018919A patent/EP1601217B1/en not_active Expired - Lifetime
- 2002-07-25 ES ES02741113T patent/ES2248568T3/es not_active Expired - Lifetime
- 2002-07-25 ES ES02751472T patent/ES2263799T3/es not_active Expired - Lifetime
- 2002-07-25 CN CNB028148398A patent/CN100378661C/zh not_active Expired - Fee Related
- 2002-07-25 DE DE60207429T patent/DE60207429T2/de not_active Expired - Lifetime
- 2002-07-25 ES ES05018919T patent/ES2284112T3/es not_active Expired - Lifetime
- 2002-07-25 CN CNB02814841XA patent/CN1250035C/zh not_active Expired - Fee Related
- 2002-07-25 DE DE60206055T patent/DE60206055T2/de not_active Expired - Lifetime
- 2002-07-25 AU AU2002355308A patent/AU2002355308A1/en not_active Abandoned
-
2007
- 2007-11-22 JP JP2007303740A patent/JP2008108268A/ja active Pending
Also Published As
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) | 一种移动终端网络内容的更新方法、系统及移动终端 |