ES2249602T3 - Sistema y metodo para actualizar datos persistentes en un dispositivo de comunicaciones sin cables. - Google Patents
Sistema y metodo para actualizar datos persistentes en un dispositivo de comunicaciones sin cables.Info
- Publication number
- ES2249602T3 ES2249602T3 ES02749167T ES02749167T ES2249602T3 ES 2249602 T3 ES2249602 T3 ES 2249602T3 ES 02749167 T ES02749167 T ES 02749167T ES 02749167 T ES02749167 T ES 02749167T ES 2249602 T3 ES2249602 T3 ES 2249602T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- code
- section
- persistent
- elements
- 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
- 230000002085 persistent effect Effects 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000004540 process dynamic Methods 0.000 claims abstract 3
- 230000015654 memory Effects 0.000 claims description 115
- 230000006870 function Effects 0.000 claims description 18
- 238000007792 addition Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000006467 substitution reaction Methods 0.000 claims description 10
- 230000010287 polarization Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 64
- 230000011218 segmentation Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 12
- 238000005056 compaction Methods 0.000 description 9
- 239000000654 additive Substances 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000000996 additive effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 208000011380 COVID-19–associated multisystem inflammatory syndrome in children Diseases 0.000 description 1
- 108091006625 SLC10A6 Proteins 0.000 description 1
- 102100021993 Sterol O-acyltransferase 1 Human genes 0.000 description 1
- 230000009471 action Effects 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
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/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/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
- 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
- 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (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)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
- Selective Calling Equipment (AREA)
Abstract
Método para la actualización de datos persistentes en un dispositivo de comunicaciones sin cables, cuyo método comprende: ejecución de software del sistema (2102); lanzar un sistema de tiempo de ejecución (2104); procesar conjuntos de instrucciones dinámicas (2106); y, como respuesta al proceso de los conjuntos de instrucciones dinámicas, actualizar selectivamente datos persistentes en el software del sistema (2110).
Description
Sistema y método para actualizar datos
persistentes en un dispositivo de comunicaciones sin cables.
La presente invención se refiere, de modo
general, a dispositivos de comunicaciones sin cables y, más
particularmente, se refiere a un sistema y método para utilizar
conjuntos o juegos de instrucciones dinámicas para actualizar
elementos de datos persistentes en el software del sistema de
dispositivos de comunicaciones sin cables.
No es inhabitual realizar actualizaciones de
software para teléfonos que se encuentran ya en servicio. Estas
actualizaciones se pueden referir a problemas que han aparecido en
el software una vez que los teléfonos han sido fabricados y
distribuidos al público. Algunas actualizaciones pueden comportar la
utilización de nuevas características en el teléfono, o nuevos
servicios proporcionados por el proveedor del servicio. Otras
actualizaciones pueden hacer referencia a problemas regionales o de
zona, o a problemas asociados con determinados portadores. Por
ejemplo, en ciertas zonas, la disposición de la red de portadores
puede imponer condiciones de interfaz aéreo en el aparato telefónico
que provocan que éste muestre un comportamiento inesperado, tal como
búsqueda no apropiada de canales, terminación impropia de la
llamada, audio defectuoso, o similares.
El enfoque tradicional para estas actualizaciones
ha sido hacer que el dispositivo de comunicaciones sin cables, al
cual se hará referencia como dispositivo sin cables, teléfono, o
aparato manual, sea llevado a la tienda de venta al público/taller
de servicio más próximo, o al propio fabricante para llevar a cabo
los cambios. Los costes que se generan en este tipo de
actualizaciones son importantes y afectan a línea de beneficios
mínimos empresariales. Además, el cliente debe sufrir ciertas
incomodidades y es posible que se sienta irritado. Frecuentemente,
la solución práctica consiste en enviar nuevos teléfonos a los
clientes.
Los dispositivos sin cables son utilizados en una
serie de entornos con diferentes servicios para suscriptores, para
un distinto número de aplicaciones de cliente. Por lo tanto, aunque
el software del dispositivo sin cables puede ser actualizado para
mejorar el servicio, es improbable que la actualización proporcione
una mejora uniforme para todos los usuarios.
Sería por lo tanto ventajoso si se pudiera
actualizar de manera económica el software del dispositivo de
comunicaciones sin cables, y ello sin provocar incomodidades al
cliente.
Sería ventajoso que se pudiera actualizar el
software del dispositivo de comunicación sin cables sin necesidad de
que el cliente dejara de tener la posibilidad de utilizar su
teléfono durante un período de tiempo significativo.
Sería ventajoso que el software del aparato de
comunicaciones sin cables pudiera ser actualizado con un mínimo de
tiempo de servicio técnico, o sin necesidad de enviar el dispositivo
a un taller de servicio.
Sería ventajoso que el software del sistema del
dispositivo sin cables pudiera ser diferenciado en secciones de
código, de manera que se tendría la necesidad de sustituir solamente
determinadas secciones de código, en la actualización del software
del sistema. Sería ventajoso que estas secciones de código pudieran
ser comunicadas al dispositivo sin cables mediante enlace aéreo.
Sería ventajoso que el dispositivo sin cables
pudiera funcionar con juegos de instrucciones cargadas de forma
dinámica, que ayudarían en la actualización en servicio de datos
persistentes del software del sistema. Sería ventajoso que estos
datos persistentes pudieran ser actualizados de manera selectiva
para adecuarse a las necesidades, o encaminarse a la solución de
problemas de determinados usuarios.
La solicitud de patente europea publicada
EP-A-1014263 (28 de junio de 2000,
de Applied Microsystems Corporation) es representativa del estado de
la técnica actual. Este documento describe un sistema para modificar
un archivo de código ejecutable compilado al añadir zonas o
segmentos que añaden funcionalidad cuando se ejecuta el archivo de
código ejecutable modificado. La añadidura de un segmento
("patch") comporta la creación de un manipulador del segmento
que, cuando se ejecuta, provoca la ejecución de las afirmaciones del
segmento, y puede comportar la sustitución de una o varias
instrucciones compiladas existentes en el archivo con instrucciones
de segmentación para transferir flujo de ejecución al manipulador
apropiado del segmento. Las especificaciones de los segmentos o
añadiduras pueden incluir variables y expresiones que serán
evaluadas en el contexto del ámbito variable actual apropiado, con
independencia de si el ámbito está definido dentro del segmento o
por instrucciones compiladas existentes. Después de que los
segmentos han sido añadidos, pueden ser desactivados a efectos de
impedir su ejecución sin eliminar las instrucciones de añadidura del
archivo ejecutable compilado.
Las actualizaciones del software de dispositivos
de comunicaciones sin cables proporcionan a los clientes el mejor
producto posible y las experiencias de los usuarios. Una componente
onerosa de este negocio es la que se refiere a las llamadas para
servicio ("recall") de los aparatos manuales para actualizar el
software. Estas actualizaciones pueden ser necesarias para ofrecer
al usuario servicios adicionales o para solucionar problemas que han
aparecido en la utilización del teléfono después de su fabricación.
La presente invención hace posible reactualizar de manera práctica
el software de los equipos manuales en servicio, a través del
interfaz aéreo. De manera más específica, la presente invención
permite que el dispositivo de comunicación sin cables ejecute juegos
o conjuntos de instrucciones de tipo dinámico. Estas instrucciones
de tipo dinámico permiten que el dispositivo sin cables reactualice
de manera "inteligente", o condicionalmente, el software del
sistema y los datos del mismo. Además, los juegos de instrucciones
dinámicas permiten que el dispositivo sin cables pueda realizar
selectivamente cambios en los elementos de datos persistentes que
son utilizados por el software del sistema.
De acuerdo con ello, se da a conocer un método
para la actualización de datos persistentes en un dispositivo de
comunicaciones sin cables. El método comprende: ejecución del
software del sistema; lanzamiento de un dispositivo de medición de
tiempo de ejecución; recibir las instrucciones de tiempo de
ejecución del dispositivo de control de segmentos añadidos con
conjuntos de instrucciones de tipo dinámico y nuevas secciones de
código, incluyendo los datos persistentes actualizados, en una
sección del sistema de archivo en memoria no volátil; procesar los
juegos de instrucciones dinámicas; en respuesta al proceso de los
juegos de instrucciones dinámicas, actualizar selectivamente datos
persistentes en el software del sistema seleccionado del grupo que
incluye datos de calibración de radiofrecuencia (RF), datos no
volátiles del sistema y de configuración de usuario, datos de
recursos, datos de sistema no volátil y de aplicación del usuario, y
datos arbitrarios; y ejecutar el software del sistema con los datos
persistentes actualizados.
A continuación se indicarán detalles del método
de actualización de datos persistentes que se ha descrito, así como
un sistema para la actualización de datos persistentes en un
dispositivo de comunicaciones sin cables.
La figura 1 es un diagrama esquemático de bloques
del sistema de mantenimiento de software del dispositivo sin cables
en su conjunto.
La figura 2 es un diagrama esquemático de bloques
del sistema de mantenimiento del software, destacando la instalación
de juegos de instrucciones con intermedio del interfaz aéreo.
La figura 3 es un diagrama esquemático de bloques
que muestra el sistema de la presente invención para la ejecución de
juegos de instrucciones dinámicas en un dispositivo de
comunicaciones sin cables.
La figura 4 es un diagrama de bloques esquemático
de la memoria del dispositivo sin cables.
La figura 5 es una tabla que representa la tabla
de direcciones de la sección de código de la figura 3.
La figura 6 es una representación detallada de la
biblioteca de símbolos de la figura 3, con símbolos.
La figura 7 es una tabla representativa de la
tabla de direcciones de desplazamiento de símbolos de la figura
3.
Las figuras 8a y 8b son representaciones del
código operativo (OP-CODE) al que se tiene acceso
por el dispositivo contador del tiempo de ejecución.
La figura 9 es un diagrama de bloques esquemático
que muestra el sistema de la presente invención de actualización de
datos persistentes en el software del sistema de un dispositivo de
comunicaciones sin cables.
La figura 10 es un diagrama esquemático de
bloques que muestra una expresión general del sistema de la figura
9.
Las figuras 11a y 11b son diagramas de bloques
esquemáticos que muestran el aspecto de la sección de código de
sustitución del sistema de la presente invención según la figura
10.
La figura 12 es un diagrama esquemático de
bloques que muestra el aspecto lógico condicional del sistema de la
presente invención.
La figura 13 es un diagrama esquemático
ilustrativo del funcionamiento de las instrucciones de datos
persistentes condicionales.
La figura 14 es un diagrama esquemático de
bloques que muestra el aspecto de directorio del sistema de la
presente invención. Las figuras 15a y 15b son diagramas de flujo que
muestran el método de la presente invención para realizar juegos o
conjuntos de instrucciones dinámicas en un dispositivo de
comunicaciones sin cables.
\newpage
La figura 16 es un diagrama de flujo que muestra
el funcionamiento de un conjunto de instrucciones dinámicas a título
de ejemplo.
La figura 17 es un diagrama de flujo que muestra
el funcionamiento de otro conjunto de instrucciones dinámicas a
título de ejemplo.
La figura 18 es un diagrama de flujo que muestra
el funcionamiento de un tercer conjunto de instrucciones dinámicas a
título de ejemplo.
La figura 19 es un diagrama de flujo que muestra
el funcionamiento de un cuarto conjunto de instrucciones dinámicas a
título de ejemplo.
La figura 20 es un diagrama de flujo que muestra
el funcionamiento de un quinto conjunto de instrucciones dinámicas a
título de ejemplo.
La figura 21 es un diagrama de flujo que muestra
el método de la presente invención para actualizar datos
persistentes en el software del sistema de un dispositivo de
comunicaciones sin cables.
La figura 22 es un diagrama de flujo
sustancialmente igual al de la figura 21, mostrando el proceso de
actualización de elementos de datos de sustitución.
La figura 23 es un diagrama de flujo
sustancialmente igual al de la figura 21, mostrando el proceso de
actualización de elementos de datos lógicos condicionales.
La figura 24 es un diagrama de flujo
sustancialmente igual al de la figura 21, mostrando el proceso de
actualización de elementos de datos de directorio.
Ciertas partes de las descripciones detalladas
que siguen están presentadas en términos de procesos, pasos, bloques
lógicos, códigos, trabajo de proceso y otras representaciones
simbólicas de operaciones en bits de datos dentro de un
microprocesador o memoria de un dispositivo sin cables. Estas
descripciones y representaciones son los medios utilizados por los
técnicos en las técnicas de procesos de datos para explicar de
manera efectiva las características de su trabajo a otros técnicos
en la materia. Un procedimiento, etapa ejecutada por
microprocesador, elemento de datos, aplicación, bloque lógico,
proceso, etc., es en esta descripción y, de manera general está
concebido para consistir en una secuencia de etapas o instrucciones
autocontenida que conduce al resultado deseado. Las etapas son las
que requieren manipulaciones físicas de cantidades físicas.
Usualmente, si bien no de manera indispensable, estas cantidades
adoptan la forma de señales eléctricas o magnéticas capaces de ser
almacenadas, transferidas, combinadas, comparadas y manipuladas de
otros modos, en un dispositivo sin cables basado en un
microprocesador. Se ha demostrado conveniente en ciertos casos,
principalmente por razones de utilización común, hacer referencia a
estas señales como bits, valores, elementos, símbolos, caracteres,
términos, elementos de datos, números, o similares. En el caso de
que se mencionen dispositivos físicos, tales como una memoria, están
conectados a otros dispositivos físicos a través de un bus u otra
conexión eléctrica. Estos dispositivos físicos se puede considerar
que interaccionan con procesos o aplicaciones lógicas y, por lo
tanto, están "conectados" a operaciones lógicas. Por ejemplo,
una memoria puede almacenar o tener acceso a código para llevar a
cabo una operación lógica, o una aplicación puede requerir una
sección de código de la memoria para su ejecución. Además, una
aplicación de software puede funcionar con una instrucción
utilizando un elemento de datos.
No obstante, se debe tener en cuenta que todos
estos términos y otros términos similares se deben asociar con las
cantidades físicas apropiadas y que son solamente etiquetas para
mayor comodidad aplicadas a estas cantidades. Si no se indica de
otro modo específicamente, tal como es evidente de las explicaciones
anteriores, se observará que en la totalidad de la presente
invención, las explicaciones que utilizan términos tales como
"realizar un proceso" o "conectar" o "trasladar" o
"visualizar" o "requerir" o "determinar" o "mostrar
en pantalla" o "reconocer" o "comparar" o
"sustituir" o "direccionar" o "recuperar" o
similares, se refieren a la acción y operaciones de un sistema
microprocesador de un dispositivo sin cables que manipula y
transforma datos representados en forma de cantidades físicas
(electrónicas) dentro de los registros y memoria del sistema del
ordenador en otros datos representados de manera similar como
cantidades físicas dentro de las memorias o registros del
dispositivo sin cables u otros dispositivos de almacenamiento,
transmisión o visualización de este tipo de informaciones.
La figura 1 es un diagrama de bloques esquemático
de un sistema (100) de mantenimiento de software de un dispositivo
sin cables en su conjunto. La organización del software del sistema
de la presente invención se presenta en detalle más adelante,
siguiendo la disposición general del sistema (100) de mantenimiento
del software. El sistema general (100) describe un proceso para
suministrar actualizaciones y conjuntos de instrucciones (programas)
de software del sistema, y para la instalación del software
facilitado en un dispositivo sin cables. Las actualizaciones del
software del sistema y el controlador de segmentos funcionan con
instrucciones de tiempo (PMRTI), que son conocidas de manera más
general como conjuntos de instrucciones o conjuntos de instrucciones
dinámicas, siendo creados por el fabricante de los equipos manuales.
El software del sistema está organizado en bibliotecas de símbolos.
Las bibliotecas de símbolos están dispuestas en secciones de código.
Cuando se tienen que actualizar las bibliotecas de símbolos, se
transporta la actualización (102) del software en forma de una o
varias secciones de código. La actualización del software es enviada
por radio a dispositivos sin cables en servicio, de los cuales es
representativo el dispositivo de comunicación sin cables (104), o se
transmiten en comunicaciones separadas desde una estación de base
(106), utilizando protocolos de transporte convencionales aéreos, de
datos o de mensaje. La invención no está limitada a ningún formato
de transporte específico, puesto que el dispositivo de
comunicaciones sin cables puede ser modificado fácilmente para
procesar cualquier protocolo de transporte disponible en el aire con
el objetivo de recibir actualizaciones de software del sistema y
actualizaciones PMRTI.
El software del sistema puede ser considerado
como una serie de diferentes subsistemas. Los objetos del código
pueden ser acoplados de manera íntima en uno de estos subsistemas
abstractos, y la conexión resultante puede ser etiquetada como
biblioteca de símbolos. Esto proporciona una descomposición lógica
de la base del código y se pueden asociar añadidos del software y
fijaciones del mismo con una de estas bibliotecas de símbolos. En la
mayor parte de casos, una sola actualización está asociada con una
o, como máximo, dos bibliotecas de símbolos. El resto de la base de
código, las otras bibliotecas de símbolos, permanece sin
cambios.
La noción de bibliotecas de símbolos proporciona
un mecanismo para tratar con códigos y constantes. Los datos de
lectura-escritura (RW), por otra parte, se acoplan
en bibliotecas individuales únicas RW que contienen datos basados en
RAM para todas las bibliotecas.
Una vez recibida por el dispositivo sin cables
(104), la sección de código transportada debe ser sometida a
proceso. Este dispositivo sin cables sobre-escribe
una sección de código específica de memoria no volátil (108). La
memoria no volátil (108) comprende una sección de sistema de archivo
(FSS) (110) y una sección (112) de almacenamiento de código. La
sección de código es típicamente comprimida antes de transporte a
efectos de minimizar la ocupación en el FSS (110). Frecuentemente,
la sección de código actualizada será acompañada por sus datos RW,
que son otro tipo de biblioteca de símbolos que contiene todos los
datos RW para cada biblioteca de símbolos. Si bien se han cargado en
la memoria de acceso al azar de tipo volátil de
lectura-escritura (114) cuando el software del
sistema está en ejecución, los datos RW necesitan siempre ser
almacenados en la memoria no volátil (108), de manera que pueden ser
cargados en una memoria de acceso al azar, volátil, de
lectura-escritura (114) cada vez que se efectúa la
reposición del dispositivo sin cables. Esto incluye la primera vez
que los datos RW son cargados en la memoria de
lectura-escritura de tipo volátil y de acceso al
azar. Tal como se explica a continuación de manera más detallada,
los datos RW están dispuestos de manera típica con una sección de
código de control de los segmentos añadidos.
El sistema (100) incluye el concepto de tablas
virtuales. Utilizando estas tablas, las bibliotecas de símbolos de
una sección de código pueden ser parcheadas (sustituidas), sin
rotura (sustitución) de otras partes del software del sistema (otras
secciones del código). Las tablas virtuales ejecutan, por
consideraciones de eficacia, desde la memoria de acceso al azar,
volátil, de lectura-escritura (114). Una tabla de
direccionamiento de sección de código y una tabla de
direccionamiento con desplazamiento de símbolos son tablas
virtuales.
Las secciones de código actualizadas son
recibidas por el dispositivo sin cables (104) y son almacenadas en
la FSS (110). Un interfaz de usuario del dispositivo sin cables (UI)
notificará de manera típica al usuario que se tiene a disposición
nuevo software. Como respuesta al UI, requiere al usuario el
reconocimiento de la notificación y señala la operación de añadidura
o de actualización de segmentos. De manera alternativa, la operación
de actualización es llevada a cabo automáticamente. El dispositivo
sin cables puede ser incapaz de llevar a cabo tareas de comunicación
estándar al ser realizado el proceso de actualización. La sección de
código de gestión de añadidura de segmentos sustitutivos incluye una
biblioteca de símbolos de control no volátil de
lectura-escritura que se ha cargado también en la
memoria de acceso al azar, volátil, de
lectura-escritura (114). La biblioteca de símbolos
de control no volátil de lectura-escritura provoca
la sobreescritura de secciones de código con secciones de código
actualizadas. La sección de código de gestión de la añadidura de
segmentos de sustitución incluye los datos de
lectura-escritura, tabla de direcciones de sección
de código y tabla de direcciones de símbolos desplazados, así como
un código de acceso de símbolos y la dirección del código de acceso
de símbolos (se explica más adelante). Partes de estos datos no son
válidos cuando se introducen secciones de código actualizadas, y las
secciones de código de gestión de añadidura de segmentos
actualizados incluyen datos de lectura-escritura,
tabla de direcciones de sección de código y tablas de direcciones de
símbolos desplazados válidas para las secciones de código
actualizadas. Una vez que las secciones de código actualizadas son
cargadas en la sección de almacenamiento de código (112), el
dispositivo sin cables es repuesto o reseteado. Después de la
operación de reposición, el dispositivo sin cables puede ejecutar el
software del sistema actualizado. También se debe comprender que la
sección de código de control de la añadidura de segmentos puede
incluir otras bibliotecas de símbolos que no se han explicado
anteriormente. Estas otras bibliotecas de símbolos no es necesario
que sean cargadas en la memoria volátil de
lectura-escritura (114).
La figura 2 es un diagrama esquemático de bloques
del sistema de mantenimiento de software (100), destacando la
instalación de conjuntos de instrucciones mediante el interfaz
aéreo. Además de actualizar secciones de código de software del
sistema, el sistema de mantenimiento (100) puede descargar e
instalar conjuntos de instrucciones dinámicas, programas o conjuntos
de instrucciones de gestión de añadidura de segmentos de sustitución
(PMIS), a las que se hará referencia como instrucciones de tiempo de
funcionamiento del control de la añadidura de segmentos (PMRTI). La
sección de código PMRTI (200) es transportada al dispositivo sin
cables (104) de la misma manera que las secciones de código de
software de sistema antes descritas. Las secciones de código PMRTI
son almacenadas inicialmente en la FSS (110). Una sección de código
PMRTI es típicamente un archivo binario que puede ser visualizado en
forma de instrucciones compiladas al equipo manual. Una sección de
código PMRTI es suficientemente capaz para proporcionar la
realización de operaciones matemáticas básicas y la realización de
operaciones ejecutadas de forma condicional. Por ejemplo, una PMRTI
de calibración de RF podría llevar a cabo las siguientes
operaciones:
- SI EL ELEMENTO DE CÁLCULO RF ES MENOR A X,
- EJECUTAR INSTRUCCIÓN
- O BIEN
- EJECUTAR INSTRUCCIÓN
Una PMRTI puede soportar operaciones matemáticas
básicas, tales como: adición, resta, multiplicación y división.
Igual que en las secciones de código de software del sistema, la
sección de código PMRTI puede ser cargada como respuesta a los
requerimientos UI, y el dispositivo sin cables debe ser reseteado
después de que la PMRTI es cargada en la sección de almacenamiento
de código (112). A continuación, se puede ejecutar la sección PMRTI.
Si la sección de código PMRTI está asociada con cualesquiera tablas
o datos de lectura-escritura virtuales, se
transportará una sección de código de gestión de los segmentos de
añadidura actualizados con la PMRTI para instalación en la sección
de almacenamiento de código (112). De manera alternativa, la PMRTI
puede ser mantenida y procesada desde la FSS (110). Después de que
el aparato manual (104) ha ejecutado todas las instrucciones de la
sección PMRTI, la sección PMRTI puede ser borrada de la FSS (110).
De manera alternativa, la sección PMRTI es mantenida para
operaciones futuras. Por ejemplo, la PMRTI puede ser ejecutada cada
vez que se activa el dispositivo sin cables.
La PMRTI es un sistema de instrucciones de tiempo
de ejecución muy potente. El aparato manual puede ejecutar cualquier
instrucción que se facilite al mismo a través del entorno PMRTI.
Este mecanismo puede ser utilizado para el soporte de calibraciones
de RF. De modo más general, la PMRTI puede ser utilizada para
eliminar problemas desde una posición remota en el software de un
dispositivo sin cables cuando se han identificado problemas de
software por el fabricante o proveedor del servicio, de manera
típica como resultado de quejas de los usuarios. La PMRTI puede
también registrar datos necesarios para diagnosticar los problemas
del software. La PMRTI puede lanzar aplicaciones de sistema de nueva
introducción para análisis de datos, eliminación de problemas y
reparaciones. La PMRTI puede proporcionar actualizaciones basadas en
datos RW para análisis y posible solución a corto plazo de un
problema en lugar de una sección de código de software de sistema
actualizado. La PMRTI puede proporcionar algoritmos de compactado de
memoria para utilización con el dispositivo sin cables.
En algunos aspectos de la invención, la
organización del software del sistema en bibliotecas de símbolos
puede impactar en las dimensiones de la memoria volátil (114) y de
la memoria no volátil (108) necesarias para ejecución. Esto es
debido al hecho de que las secciones de código son típicamente más
grandes que las bibliotecas de símbolos dispuestas en las secciones
de código. Estas secciones de código más grandes existen para
recibir secciones de código actualizadas. La organización del
software del sistema como una colección de bibliotecas impacta la
exigencia de dimensiones de memoria no volátil. Para las mismas
dimensiones de código, la cantidad de memoria no volátil utilizada
será mayor debido al hecho de que las secciones de código se pueden
dimensionar más grandes que las bibliotecas de símbolos dispuestas
en su interior.
Una vez que las actualizaciones de software han
sido facilitadas al dispositivo sin cables, el sistema de
mantenimiento (100) del software soporta el compactado de la
memoria. El compactado de la memoria es similar a las aplicaciones
de desfragmentación de disco en los ordenadores de sobremesa. El
mecanismo de compactado asegura que se utiliza la memoria de forma
óptima y que está bien equilibrada para futuras actualizaciones de
la sección de código, de manera que las dimensiones de las secciones
de código actualizadas son impredictibles. El sistema (100) analiza
la sección de almacenamiento de código al ser ésta objeto de
añadiduras (actualización). El sistema (100) está destinado a
acoplar secciones de código actualizadas en el espacio de memoria
ocupado por la sección de código que es sustituida. Si la sección de
código actualizada es mayor que la sección de código que está siendo
sustituida, el sistema (100) compacta las secciones de código en la
memoria (112). De manera alternativa, el compactado se puede
calcular por el fabricante o proveedor del servicio, y las
instrucciones de compactado se pueden transportar al dispositivo sin
cables (104).
El compactado puede ser un proceso engorroso por
la necesidad de tiempo, debido a la complejidad del algoritmo y
asimismo al vasto volumen de movimiento de datos. El algoritmo de
compactado efectúa la predicción de la factibilidad antes de que
empiece cualquier proceso. Los procedimientos de UI pueden ser
utilizados para pedir permiso del usuario antes de intentar el
compactado.
En algunos aspectos de la invención, todas las
secciones de código de software del sistema pueden ser actualizadas
simultáneamente. No obstante, una actualización de la totalidad del
software del sistema requeriría una FSS (110) mayor.
La figura 3 es un diagrama de bloques esquemático
que ilustra la ejecución del conjunto de instrucciones dinámicas de
la presente invención, en un dispositivo de comunicaciones sin
cables. El sistema (300) comprende una sección (112) de
almacenamiento de código en la memoria (108) incluyendo software de
sistema ejecutable en el dispositivo sin cables, diferenciado en una
serie de secciones de código actuales. Se han mostrado la sección de
código uno (302), sección de código dos (304), sección de código n
(306), y una sección de código de gestión de los segmentos de
añadidura (308). No obstante, la invención no está limitada a ningún
número específico de secciones de código. Además, el sistema (300)
comprende adicionalmente una primera serie de bibliotecas de
símbolos dispuestas en una segunda serie de secciones de código. Se
han mostrado la biblioteca de símbolos uno (310) dispuesta en la
sección de código uno (302), las bibliotecas de símbolos dos (312) y
tres (314) dispuestas en la sección de código dos (304), y la
biblioteca de símbolos m (316) dispuesta en la sección de códigos n
(306). Cada una de las bibliotecas comprende símbolos con
funcionalidades relacionadas. Por ejemplo, la biblioteca de símbolos
uno (310) puede estar involucrada en el funcionamiento en la
pantalla de cristal líquido (LCD) del dispositivo sin cables.
Entonces, los símbolos serían asociados a funciones de
visualización. Tal como se ha indicado en detalle más adelante, las
bibliotecas de símbolos adicionales están dispuestas en la sección
(308) de código de gestión de los segmentos de adición.
La figura 4 es un diagrama esquemático de bloques
de la memoria del dispositivo sin cables. Tal como se ha mostrado,
la memoria es la sección de almacenamiento de código (112) de la
figura 1. La memoria es una memoria no volátil, con capacidad de
recibir escritura, tal como una memoria Flash. Se debe comprender
que las secciones de código no necesitan de manera indispensable ser
almacenadas en la misma memoria que la FSS (110). También se debe
comprender que la estructura de software de sistema de la presente
invención puede ser activada con secciones de código almacenadas en
una serie de memorias que cooperan. La sección de almacenamiento de
código (112) comprende una segunda serie de bloques de memoria
direccionados de forma contigua, en la que cada bloque de memoria
almacena una correspondiente sección de código desde la segunda
serie de secciones de código. De este modo, la sección de código uno
(302) está almacenada en un primer bloque de memoria (400), la
sección de código dos (304) en el segundo bloque de memoria (402),
la sección de código n (306) en el bloque de memoria de orden n
(404), y la sección de código (308) de gestión de segmentos de
añadidura en el bloque de memoria de orden p (406).
Comparando las figuras 3 y 4, el inicio de cada
sección de código está almacenado en direcciones de inicio
correspondientes de la memoria, y las bibliotecas de símbolos están
dispuestas para su inicio en el inicio de las secciones de código.
Es decir, cada una de las bibliotecas de símbolos empieza en una
primera dirección y discurre por una gama de direcciones de modo
secuencial desde la primera dirección. Por ejemplo, la sección de
código uno (302) se inicia en la primera dirección de inicio (408)
(marcada con "S") en la memoria (112) de la sección de
almacenamiento de código. En la figura 3, la biblioteca de símbolos
uno (310) empieza en el inicio (318) de la primera sección de
código. De manera similar, la sección de código dos (304) empieza en
una segunda dirección de inicio (410) (figura 4), y la biblioteca de
símbolos dos empieza en el inicio (320) de la sección de código dos
(figura 3). La sección de código n (306) empieza en una tercera
dirección de inicio (412) de la memoria de la sección de
almacenamiento de código (112) (figura 4), y la biblioteca de
símbolos m (316) empieza en el inicio de la sección de código n
(322) (figura 3). La sección de código de gestión de segmentos de
añadidos empieza en la dirección de inicio de orden p (414) en la
memoria (112) de la sección de almacenamiento de código, y la
primera biblioteca de símbolos de la sección (308) del código de
sección de gestión de segmentos añadidos empieza en el inicio (324)
de la sección de código de la gestión de segmentos añadidos. De este
modo, la biblioteca de símbolos uno (310) está almacenada finalmente
en el primer bloque de memoria (400). Si una sección de código
incluye una serie de bibliotecas de símbolos, tal como la sección de
código dos (304), la serie de bibliotecas de símbolos son
almacenadas en el correspondiente bloque de memoria, en este caso,
el segundo bloque de memoria (402).
En la figura 3, el sistema (300) comprende además
una tabla (326) de dirección de la sección de código como un tipo de
símbolo incluido en una biblioteca de símbolos dispuesta en la
sección (308) de código de gestión de segmentos añadidos. La sección
de código direcciona identificadores de sección de código de
referencias cruzadas de la tabla con direcciones de inicio de
sección de código correspondientes de la memoria.
La figura 5 es una tabla representativa de la
tabla de direcciones de la sección de códigos (326) de la figura 3.
La tabla (326) de direcciones de la sección de códigos es consultada
para encontrar la dirección de inicio de la sección de código para
una biblioteca de símbolos. Por ejemplo, el sistema (300) busca la
sección de código uno cuando se requiere para ejecución un símbolo
de la biblioteca de símbolos. Para encontrar la dirección de inicio
de la sección de código uno, y localizar por lo tanto el símbolo en
la biblioteca de símbolos uno, se consulta la tabla de direcciones
(326) de la sección de código. La disposición de bibliotecas de
símbolos en secciones de código y el seguimiento de las secciones de
código con una tabla permiten que las secciones de código puedan ser
desplazadas o expansionadas. Las operaciones de expansión o de
movimiento pueden ser necesarias para instalar secciones de código
actualizadas (con bibliotecas de símbolos actualizadas).
Haciendo referencia nuevamente a la figura 3 se
debe observar que no todas las bibliotecas de símbolos empiezan al
inicio de una sección de código. Tal como se ha mostrado, la
biblioteca de símbolos tres (314) está dispuesta en la sección de
código dos (304), pero no empieza en la dirección (320) de inicio de
la sección de código. Por lo tanto, si se requiere para ejecución un
símbolo de la biblioteca de símbolos tres (314), el sistema (300)
consulta la tabla (326) de direcciones de la sección de código para
encontrar la dirección de inicio de la sección de códigos dos (304).
Tal como se explica más adelante, una tabla de direcciones de
desplazamiento de símbolos permite que los símbolos de la biblioteca
de símbolos tres (314) puedan ser localizados. No importa que los
símbolos se extiendan a múltiples bibliotecas, siempre que queden
retenidos con la misma sección de código.
Tal como se ha observado anteriormente, cada una
de las bibliotecas de símbolos incluye símbolos relacionados
funcionalmente. Un símbolo es un nombre definido por el programador
para localizar y utilizar una rutina, una variable o bien una
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 alcance de la
sección de código corriente. De manera más específica, no son
buscados por otras bibliotecas de símbolos, en otras secciones de
código. Se utilizan símbolos externos y se invocan en las secciones
de código y son buscados por bibliotecas de diferentes secciones de
código. La dirección de desplazamiento de símbolos incluye de manera
típica una lista de todos los símbolos externos.
Por ejemplo, la biblioteca de símbolos uno (310)
puede generar caracteres en la pantalla de un dispositivo sin
cables. Los símbolos de esta biblioteca generarían, por su parte,
números de teléfono, nombres, hora y otras características de la
pantalla. Cada una de las características es generada con rutinas, a
las que se hará referencia en esta descripción como símbolo. Por
ejemplo, un símbolo de la biblioteca de símbolos uno (310) genera
números de teléfono en la pantalla. Este símbolo es representado por
una "X", y es externo. Cuando el dispositivo sin cables recibe
una llamada telefónica y se activa el servicio de ID del que efectúa
la llamada, el sistema debe ejecutar el símbolo "X" para
generar el número en la pantalla. Por lo tanto, el sistema debe
localizar el símbolo "X".
La figura 6 es una representación detallada de la
biblioteca de símbolos uno (310) de la figura 3, con símbolos. Los
símbolos están dispuestos para su desplazamiento con respecto a las
direcciones de inicio correspondientes de la sección de código. En
muchas circunstancias, el inicio de la biblioteca de símbolo es el
inicio de la sección de código pero ello no es cierto si una sección
de código, comprende más de una biblioteca de símbolos. La
biblioteca de símbolos uno (310) empieza en el inicio de la sección
de código uno (ver figura 3). Tal como se ha mostrado en la figura
6, el símbolo "X" está situado en un desplazamiento de (03)
desde el inicio de la biblioteca de símbolos y el símbolo "Y"
está situado en un desplazamiento de (15). Las direcciones de
desplazamiento de los símbolos están almacenadas en una tabla de
direcciones de desplazamiento de símbolos (328) en la sección de
código de gestión de segmentos añadidos (ver figura 3).
La figura 7 es una tabla que representa la tabla
de direcciones de desplazamiento de símbolos (328) de la figura 3.
La tabla (328) de direcciones de desplazamientos de símbolos efectúa
el cruzamiento de referencias de identificadores de símbolos con
correspondientes direcciones de desplazamiento, y con
identificadores correspondientes de la sección de código de la
memoria. De este modo, cuando el sistema intenta ejecutar el símbolo
"X" en la biblioteca de símbolos uno, se consulta la tabla
(328) de dirección de desplazamiento de símbolos para localizar la
dirección exacta del símbolo, con respecto a la sección de código en
la que está dispuesto.
Haciendo referencia nuevamente a la figura 3, la
totalidad de la primera serie de bibliotecas de símbolos incluye de
manera típica datos de lectura-escritura que deben
ser consultados o determinados en la ejecución de estas bibliotecas
de símbolos. Por ejemplo, una biblioteca de símbolos puede incluir
una operación dependiente de una declaración condicional. La sección
de datos de la lectura-escritura es consultada para
determinar la situación requerida para completar la declaración
condicional. La presente invención agrupa los datos de
lectura-escritura procedentes de todas las
bibliotecas 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ódigo (308) de gestión de
segmentos añadidos. De manera alternativa (no mostrado), los datos
de lectura-escritura pueden ser dispuestos en una
sección de código distinta, tal como, por ejemplo, la sección de
código n (306).
La primera serie de bibliotecas de símbolos
incluye también un código de acceso de símbolo dispuesto en la
sección de código para calcular la dirección de un símbolo deseado.
El código de acceso de símbolo puede ser dispuesto y almacenado en
una dirección en una sección de código separada, por ejemplo, la
sección de código dos (304). No obstante, tal como se ha mostrado,
el código de acceso de símbolos (332) está dispuesto y es almacenado
en una dirección de la sección de código (308) de gestión de
segmentos añadidos. El sistema (300) comprende además una primera
localización para almacenamiento de la dirección de código de acceso
de símbolo. La primera localización puede ser una sección de código
en la sección de almacenamiento de código (112), o en una sección de
memoria separada del dispositivo sin cables (no mostrado). La
primera localización puede ser dispuesta también en la misma sección
de código que los datos de lectura-escritura. Tal
como se ha mostrado, la primera localización (334) está almacenada
en la sección de código (308) de gestión de segmentos añadidos con
los datos (330) de lectura-escritura, la tabla (328)
de direcciones de desplazamiento de símbolos, la tabla (326) de
dirección de sección de código, y el código de acceso de símbolos
(332) y la biblioteca de segmentos añadidos (biblioteca de símbolos
de segmentos añadidos) (336).
El código de acceso de símbolo accede a la tabla
de direcciones de la sección de código y a las tablas de direcciones
de desplazamiento de símbolos para calcular o hallar las direcciones
de un símbolo deseado en la memoria. Es decir, el código de acceso
de símbolo calcula la dirección del símbolo deseado utilizando un
identificador de símbolo correspondiente y un identificador de
sección de código correspondiente. Por ejemplo, si se busca el
símbolo "X" en la biblioteca de símbolos uno, se acude al
acceso de símbolos para buscar el identificador de símbolos (ID del
símbolo) "X_1", correspondiente al símbolo "X" (ver figura
7). El código de acceso del símbolo consulta la tabla de direcciones
de desplazamiento de símbolos para determinar que el identificador
de símbolos "X_1" tiene un desplazamiento de (03) desde el
inicio de la sección de código uno (ver figura 6). El código de
acceso de símbolo es invocado para buscar el identificador de
sección de código "CS_1", que corresponde a la sección de
código uno. El código de acceso de símbolo consulta la tabla de
direcciones de la sección de código para determinar la dirección de
inicio asociada con el identificador de sección de código (ID de la
sección de código) "CS_1". De este modo, el código de acceso de
símbolo determina que el identificador de símbolo "X_1" está
desplazado (03) con respecto a la dirección (00100), o está situado
en la dirección (00103).
El símbolo "X" es un nombre reservado dado
que es una parte del código actual. En otras palabras, tiene un dato
absoluto asociado con el mismo. Los datos pueden ser una dirección o
un valor. El identificador de símbolo es un nombre supuesto creado
para el seguimiento del símbolo. La tabla de direcciones de
desplazamiento de símbolos y la tabla de direcciones de sección de
código funcionan ambas con identificadores para evitar confusión con
nombres de símbolo y de sección de código reservados. También es
posible que el mismo nombre de símbolo sea utilizado en muchas
bibliotecas de símbolos. La utilización de identificadores impide la
confusión entre estos símbolos.
Haciendo referencia nuevamente a la figura 1, el
sistema (300) comprende además una memoria volátil de
lectura-escritura (114), de manera típica, una
memoria de acceso al azar (RAM). Los datos de
lectura-escritura (330), la tabla (326) de
direcciones de las secciones de código, la tabla (328) de
direcciones de desplazamiento de símbolos, el código de acceso de
símbolos (332), y la dirección de código de acceso de símbolos (334)
son cargados en la memoria volátil de
lectura-escritura (114) desde la sección de código
de gestión de segmentos añadidos para acceso durante la ejecución
del software del sistema. Como es bien sabido, los tiempos de acceso
para códigos almacenados en una RAM son significativamente menores
que el acceso a una memoria no volátil tal como Flash.
Haciendo nuevamente referencia a la figura 3, se
puede observar que las bibliotecas de símbolos no necesariamente
deben llenar las secciones de código en las que están dispuestas, si
bien los bloques de memoria están dimensionados para adaptarse
exactamente en las correspondientes secciones de código almacenadas
en su interior. Dicho de otro modo, cada una de la segunda serie de
secciones de código tiene unas dimensiones en bites que se adaptan a
las bibliotecas de símbolos dispuestas, y cada uno de los bloques de
memoria direccionados de forma contigua tiene unas dimensiones en
bites que se adaptan a las correspondientes secciones de código. Por
ejemplo, la sección de código uno (302) puede ser una sección de 100
bites para recibir una biblioteca de símbolos que tiene una longitud
de 100 bites. El primer bloque de memoria sería de 100 bites para
adaptarse a las dimensiones de bites de la sección de código uno. No
obstante, la biblioteca de símbolos dispuesta en la sección de
código uno puede ser menor de 100 bites. Tal como se ha mostrado en
la figura 3, la sección de código uno (302) tiene una sección no
utilizada (340), dado que la biblioteca de símbolos uno (310) es
menor de 100 bites. Por lo tanto, cada una de la segunda serie de
secciones de código puede tener unas dimensiones mayores que las
necesarias para recibir las bibliotecas de símbolos dispuestas. Al
"redimensionar" las secciones de código, se pueden recibir o
adoptar bibliotecas de símbolos actualizadas más grandes.
Los bloques de memoria direccionados de forma
contigua se refieren a la división del espacio de memoria física en
bloques lógicos de dimensiones variables. Las secciones de código y
los bloques de memoria son términos esencialmente intercambiables
cuando la sección de código está almacenada en memoria. El concepto
de una sección de código es utilizado para identificar una sección
de código que quizás es mayor que la biblioteca de símbolos, o la
colección de bibliotecas de símbolos en la sección de código al ser
desplazada y manipulada.
Tal como se aprecia en la figura 3, el sistema
(300) comprende una biblioteca de símbolos de segmentos añadidos, a
la que se hará referencia en esta descripción como biblioteca de
segmentos añadidos (336), para disponer nuevas secciones de código
en la sección de almacenamiento de código con las secciones de
código corrientes. La disposición de nuevas secciones de código con
secciones de código corrientes en la sección de almacenamiento de
código forma software del sistema ejecutable actualizado. La gestión
(336) de segmentos añadidos no solamente dispone nuevas secciones de
código con las secciones de código corrientes, también sustituye
secciones de código con secciones de código actualizadas.
Haciendo referencia nuevamente a la figura 4, la
sección (110) de sistema de archivos de la memoria (108) recibe
nuevas secciones de código, tales como la nueva sección de código
(450) y la sección de código (452) de gestión de segmentos añadidos
actualizada. La sección del sistema de archivos recibe también una
primera instrucción de tiempo de ejecución de la gestión de
segmentos añadidos (PMRTI) (454) incluyendo instrucciones para
disponer las nuevas secciones de código con secciones de código
corrientes. Tal como se aprecia en la figura 1, un interfaz aéreo
(150) recibe secciones de código nuevas o actualizadas, así como la
primera PMRTI. Si bien el interfaz aéreo (150) ha sido representado
por una antena, se debe comprender que el interfaz aéreo podría
incluir también un transceptor RF, circuitos de banda base y
circuitos de demodulación (no mostrados). La sección (110) de
sistema de archivo almacena las nuevas secciones de código recibidas
con intermedio del interfaz aéreo (150). La biblioteca de segmentos
añadidos (336), que ejecuta desde la memoria volátil de
lectura-escritura (114), sustituye una primera
sección de código en la sección de almacenamiento de códigos, por
ejemplo, la sección de código n (306), con una nueva sección de
código nueva o actualizada (450), como respuesta a la primera PMRTI
(454). De manera típica, la sección de código (308) de gestión de
segmentos añadidos es sustituida con la sección de código (452) de
la gestión de segmentos añadidos actualizada. Cuando se sustituyen
las secciones de código, la biblioteca de segmentos añadidos (336)
sobreescribe la primera sección de código, por ejemplo, la sección
de código n (306), en la sección de almacenamiento de código (112)
con las secciones de código actualizadas, por ejemplo, la sección de
código (450), en la sección del sistema de archivo (110). En un caso
extremo, todas las secciones de código de la sección de
almacenamiento de códigos (112) son sustituidas por secciones de
código actualizadas. Es decir, la FSS (110) recibe una segunda serie
de secciones de código actualizadas (no mostrado), y la biblioteca
(336) de segmentos añadidos sustituye a la segunda serie de
secciones de código en la sección de almacenamiento de código (112)
con la segunda serie de secciones de código actualizadas. Desde
luego, la FSS (110) debe ser suficientemente grande para recibir la
segunda serie de secciones de código actualizadas recibidas por
medio del interfaz aéreo.
Tal como se ha indicado anteriormente, las
secciones de código actualizadas recibidas pueden incluir secciones
de código de datos de lectura-escritura, secciones
de código de tablas de direcciones de sección de código, bibliotecas
de símbolos, secciones de código de tablas de direcciones de
desplazamiento de símbolos, secciones de código de acceso de
símbolos, o una sección de código con una nueva biblioteca de
segmentos añadidos. Todas estas secciones de código, con sus
bibliotecas de símbolos asociadas y símbolos, se pueden almacenar en
forma de secciones de código distintas e independientes. Entonces,
cada una de estas secciones de código sería sustituida por una
sección de código actualizada única. Es decir, una sección de código
de escritura-lectura actualizada sería recibida y
sustituiría la sección de código de
lectura-escritura en la sección de almacenamiento de
código. Una sección de código de tablas de direcciones de secciones
de código actualizadas sería recibida y sustituiría la sección de
código de tabla de direcciones de sección de códigos en la sección
de almacenamiento de códigos. Una sección de código de la tabla de
direcciones de desplazamiento de símbolos actualizada sería recibida
y sustituiría la sección de código de la tabla de direcciones de
desplazamiento de símbolos en la sección de almacenamiento de
código. Una sección de código de acceso de símbolos actualizada
sería recibida y sustituiría la sección de código de acceso de
símbolos en la sección de almacenamiento de códigos. De manera
similar, una sección de códigos de gestión de segmentos añadidos
actualizada (con una biblioteca de segmentos añadidos) sería
recibida y sustituiría la sección de código de gestión de segmentos
añadidos en la sección de almacenamiento de códigos.
No obstante, las secciones de código
anteriormente mencionadas son asociadas de manera típica entre sí en
la sección de código de la gestión de segmentos añadidos. De este
modo, la sección de código de lectura-escritura de
la sección de almacenamiento de códigos es sustituida por la sección
de códigos de lectura-escritura actualizada de la
sección (110) del sistema de archivo cuando la sección (308) del
código de gestión de segmentos añadidos es sustituida por la sección
de código (450) de segmentos añadidos actualizada. De manera
similar, la tabla de direcciones de la sección de códigos, la tabla
de direcciones de desplazamiento de símbolos, las secciones de
código de acceso de símbolos, así como la biblioteca de segmentos de
símbolos son sustituidos cuando se instala la sección de código
(450) de gestión de segmentos añadidos actualizada. La disposición
de nuevos datos de lectura-escritura, la nueva tabla
de direcciones de la sección de códigos, la nueva tabla de
direcciones de desplazamiento de símbolos, el nuevo código de acceso
de símbolos y la nueva biblioteca de segmentos añadidos como la
nueva sección de código (450) de gestión de segmentos añadidos
actualizada, junto con las secciones de código corrientes en la
sección de almacenamiento de códigos, forman el software del sistema
ejecutable actualizado.
Cuando la sección (110) del sistema de archivo
recibe una dirección de código de acceso de símbolo actualizada, la
gestión de segmentos añadidos sustituye la dirección de código de
acceso de símbolo en la primera localización en la memoria por la
dirección de código de acceso de símbolo actualizada. Tal como se ha
mencionado anteriormente, la primera localización en la memoria
(334) está, de manera típica, en la sección de código de gestión de
segmentos añadidos (ver figura 3).
Tal como se aprecia en la figura 3, la biblioteca
de segmentos añadidos (308) comprende además un compactador o una
biblioteca de símbolos del compactador (342). El compactador (342)
puede estar dispuesto asimismo como una sección de código
independiente y distinta, sin embargo, tal como se ha mencionado
anteriormente, resulta útil y eficaz agrupar las funciones asociadas
con actualizaciones de software del sistema en una única sección de
código de gestión de segmento. Generalmente, se puede decir que el
compactador (342) redimensiona las secciones de código, de manera
que las secciones nuevas pueden ser dispuestas con secciones de
código actuales en la sección de almacenamiento de código (112).
Con los aspectos de organización, descarga y
compactación de la invención ya establecidos, la descripción
siguiente se centrará en el sistema (300) de ejecución del conjunto
de instrucciones dinámicas del dispositivo de comunicaciones sin
cables. El sistema (300) comprende software del sistema ejecutable y
datos del sistema diferenciados en secciones de código, tal como se
ha mencionado en gran detalle anteriormente. Además, el sistema
(300) comprende conjuntos de instrucciones dinámicas para hacer
funcionar con los datos del sistema y el software del sistema, y
controlando la ejecución del software del sistema. Tal como se
observa en la figura 4, un conjunto de instrucción dinámica (470)
está organizado en una primera PMRTI (454). Tal como se observa en
la figura 3, el sistema comprende además un dispositivo de tiempo de
ejecución para el proceso de conjuntos de instrucciones dinámicas,
provisto como biblioteca de tiempo de ejecución (370). Como en el
caso de la biblioteca del compactador (342) y la biblioteca de
segmentos añadidos (336) mencionadas anteriormente, la biblioteca de
tiempo de ejecución (370) está dispuesta típicamente en la sección
de código de gestión de segmentos añadidos (308). Sin embargo, la
biblioteca de tiempo de ejecución (370) podría estar situada
alternativamente en otra sección, por ejemplo, la primera sección de
código (304).
Los conjuntos de instrucciones dinámicas son
conjuntos únicos o múltiples de instrucciones que comprenden código
de operación condicional, y generalmente comprenden elementos de
datos. El dispositivo de tiempo de ejecución lee el código de
operación y determina qué operaciones es necesario llevar a cabo. El
código de operación puede ser condicional, matemático, de proceso o
lógico. El dispositivo de tiempo de ejecución o la biblioteca de
tiempo de ejecución (370) procesa los conjuntos de instrucciones
dinámicas para llevar a cabo operaciones tales como operaciones
matemáticas o lógicas. Es decir, el dispositivo de tiempo de
ejecución lee el conjunto de instrucciones dinámicas (470) y lleva a
cabo una secuencia de operaciones como respuesta al código de
operación. A pesar de que los conjuntos de instrucciones dinámicas
no están limitados a ningún lenguaje específico, el código de
operación es típicamente una forma de código de máquina, dado que la
memoria del dispositivo sin cables está limitada y la velocidad de
ejecución es un factor importante. El código de operación es
considerado como condicional en la medida que analiza un elemento de
datos y toma una decisión como resultado de dicho análisis. El
dispositivo de tiempo de ejecución también puede determinar que una
operación sea llevada a cabo sobre los datos antes de ser
analizada.
Por ejemplo, el código de operación puede
especificar que un elemento de datos de una memoria de dispositivo
sin cables sea comparado con un valor predeterminado. En el caso que
dicho elemento de datos es menor que un valor predeterminado, el
elemento de datos permanece inalterado, y en el caso que dicho
elemento de datos es mayor que el mencionado valor predeterminado,
es sustituido con el valor predeterminado. De forma alternativa, el
código de operación puede añadir un segundo valor predeterminado a
un elemento de datos desde la memoria del dispositivo sin cables,
antes de que la operación de comparación mencionada anteriormente
sea llevada a cabo.
Tal como ha sido mencionado anteriormente, la
memoria no volátil de la sección del sistema de archivos (110)
recibe los conjuntos de instrucciones dinámicas a través de una
interfaz, tal como un enlace de comunicaciones aéreo (150). Tal como
se muestra en la figura 1, la interfaz también puede ser una línea
fija (160) de radiofrecuencia (RF). Entonces, la PMRTI puede ser
recibida por el FSS (110) sin que el software de sistema sea
operacional, tal como en un ambiente de calibración de fábrica. La
PMRTI también puede ser recibida mediante una interfaz de puerto
lógico (162) o un módulo de memoria instalable (164). El módulo de
memoria (164) puede ser instalado en el dispositivo sin cables (104)
en el momento de la calibración inicial, instalado en el servicio, o
instalado durante la recalibración en fábrica. A pesar de que no se
muestra de forma específica, la PMRTI puede ser recibida mediante
interfaces infrarrojas o tecnología Bluetooth.
Las figuras 8a y 8b muestran las instrucciones
que son accedidas por el dispositivo de tiempo de ejecución (370).
Se muestra en la figura 8a una primera instrucción (800), una
segunda instrucción (802), y una instrucción de orden j (804), sin
embargo, el conjunto de instrucciones dinámicas no está limitado a
ninguna cantidad específica de instrucciones. La longitud del código
de operación en cada instrucción es fija. El dispositivo de tiempo
de ejecución (370) captura la longitud de la instrucción, como una
medida de bits o bytes, para determinar si la instrucción incluye
elementos de datos. El resto de la longitud de la instrucción, una
vez que ha sido eliminado el código de operación, incluye elementos
de datos. El dispositivo de tiempo de ejecución extrae los elementos
de datos de la instrucción. Tal como se muestra, se mide la longitud
(806) de la primera instrucción (800) y son extraídos los elementos
de datos (808). Se debe observar que no todas las instrucciones
incluyen necesariamente elementos de datos que serán extraídos. El
dispositivo de tiempo de ejecución (370) utiliza los datos extraídos
(808) para llevar a cabo la secuencia de operaciones en respuesta al
código de operación (810) en la instrucción (800).
La figura 8b es un gráfico más detallado de la
primera instrucción (800) de la figura 8a. Utilizando la primera
instrucción (800) como ejemplo, la instrucción incluye código de
operación (810) y datos (808). La instrucción, y de forma más
específica, la sección de elementos de datos (808) incluye
identificadores de símbolos, que actúan como enlace con los símbolos
en las secciones de código del dispositivo sin cables. Tal como ha
sido descrito anteriormente en detalle, los identificadores de
símbolos son utilizados con la tabla de direcciones de secciones de
código (326) (ver figura 5) y la tabla de direcciones de
desplazamiento de símbolos (328) (ver figura 7) para localizar el
símbolo correspondiente al identificador de símbolo. Tal como se
muestra, un identificador de símbolo "X_1" es mostrado en la
primera instrucción (800). La tabla de direcciones de desplazamiento
de símbolos (328) localiza el símbolo correspondiente en una sección
de código con el identificador "CS_1" y un desplazamiento de
"3". La tabla de direcciones de sección de código (326) dispone
la dirección de inicio de la sección de código número uno (302). De
esta manera, es encontrado el símbolo "X" (ver figura 6).
Después de que el dispositivo de tiempo de
ejecución encuentra los símbolos correspondientes con los
identificadores de símbolos recibidos utilizado la tabla de
direcciones de secciones de código y la tabla de direcciones de
desplazamiento de símbolos, extrae datos cuando los símbolos
localizados son elementos de datos. Por ejemplo, si el símbolo
"X" es un elemento de datos en la biblioteca de símbolos uno
(310), el dispositivo de tiempo de ejecución lo extrae. De manera
alternativa, el símbolo "X" puede ser código de operación, y el
dispositivo de tiempo de ejecución ejecuta el símbolo "X"
cuando es encontrado.
La PMRTI puede ser utilizada para llevar a cabo
la actualización de los datos de sistema, o elementos de datos de
sistema. En algunos aspectos de la invención, los datos de sistema
son almacenados en una sección de código en la sección de sistema de
archivos (110), por ejemplo, la sección de código (472), ver figura
4. El dispositivo de tiempo de ejecución accede a los datos de
sistema desde la sección de código (472) y analiza los datos de
sistema. El dispositivo de tiempo de ejecución procesa el código de
operación de los conjuntos de instrucciones dinámicas para llevar a
cabo operaciones matemáticas o lógicas sobre los elementos de datos,
del modo que ha sido descrito anteriormente. Después de la
operación, el dispositivo de tiempo de ejecución procesa las
instrucciones para crear datos de sistema actualizados. Se debe
observar que los datos de sistema actualizados pueden incluir
elementos de datos no alterados en algunas circunstancias. Los datos
de sistema en la segunda sección de código (472) son sustituidos por
los datos de sistema actualizados como respuesta al código de
operación. De este modo, mediante el procesamiento de la instrucción
llevado a cabo por el dispositivo de tiempo de ejecución, se
controla la ejecución del software de sistema utilizando los datos
de sistema actualizados en la sección de código (472). De este modo,
pueden ser actualizados los símbolos objetivados de forma específica
en el software de sistema, sin sustituir secciones de código
completas. Mediante el mismo proceso, los datos de sistema pueden
ser sustituidos en una sección de código en la sección de
almacenamiento de código (112). Por ejemplo, los datos de sistema
pueden ser almacenados en la tercera sección de código (344), y el
dispositivo de tiempo de ejecución puede sustituir los datos de
sistema en la tercera sección de código por datos de sistema
actualizados como respuesta al código de operación.
La PMRTI se puede utilizar asimismo para
actualizar elementos de datos en la memoria volátil (114). A modo de
ejemplo, la memoria volátil (114) acepta datos de
lectura-escritura (330), ver figura 1. Los datos de
lectura-escritura pueden ser de una, o de una serie
de secciones de código en la sección de almacenamiento de código
(112) y/o el FSS (110). El dispositivo de tiempo de ejecución accede
a los datos de lectura-escritura, analiza dichos
datos de lectura-escritura (330), crea los datos de
lectura-escritura actualizados, y reemplaza los
datos de lectura-escritura (330) de la memoria
volátil (114) por los datos de lectura-escritura
actualizados como respuesta al código de operación. Entonces, el
software de sistema está controlado para ejecutarse utilizando los
datos de lectura-escritura actualizados en la
memoria volátil (114).
En algunos aspectos de la presente invención, el
dispositivo de tiempo de ejecución controla la ejecución del
software de sistema. El control del rendimiento está definido de
forma amplia para incluir una gran cantidad de actividades del
dispositivo sin cables. Por ejemplo, pueden ser controlados los
datos correspondientes a los parámetros de canal, características de
canal, apilamiento del sistema, condiciones de error, o un registro
de elementos de datos de la RAM a través de una secuencia de
operaciones que conducen a una situación de fallo específico o una
situación de rendimiento reducido. Además, resulta posible utilizar
conjuntos de instrucciones dinámicas para analizar datos recogidos
del rendimiento, proporcionar variantes de datos actualizados, y
recapturar datos para estudiar posibles soluciones al problema.
Arreglos temporarios también pueden ser provistos utilizando
procesos PMRTI.
De manera más específica, el dispositivo de
tiempo de ejecución recoge datos de rendimiento, y almacena dichos
datos de rendimiento en la sección de sistema de archivos como
respuesta al código de operación. Entonces, el software de sistema
es controlado para ser ejecutado recogiendo los datos de rendimiento
para la evaluación del software de sistema. La evaluación puede
ocurrir como una forma de análisis llevada a cabo por el código de
operación del conjunto de instrucciones dinámicas, o puede ser
llevada a cabo fuera del dispositivo sin cables. En algunos aspectos
de la presente invención, el dispositivo de tiempo de ejecución
accede a los datos de rendimiento que han sido recogidos de la
sección de sistema de archivos y transmite dichos datos de
rendimiento a través de una interfaz de enlace aéreo como respuesta
al código de operación. La recogida de datos de rendimiento de los
dispositivos sin cables en el servicio permite al fabricante
analizar totalmente los problemas, de forma local o global, sin
necesidad de hacer que dichos dispositivos vayan a un agente oficial
("recalling").
En algunos aspectos de la presente invención, la
sección de sistema de archivos (110) recibe una instrucción de
tiempo de ejecución de gestión de segmentación que incluye una nueva
sección de código. Por ejemplo, en la figura 4 se muestra una nueva
sección de código (474). De manera alternativa, la nueva sección de
código puede ser independiente de la PMRTI, como una nueva sección
de código n (450). Por ejemplo, la nueva sección de código n
(450) puede haber sido recibida mediante comunicaciones de enlace
aéreo previas, o haber sido instalada durante la calibración en
fábrica. El dispositivo de tiempo de ejecución añade la nueva
sección de código (474) (450) a la sección de almacenamiento de
código como respuesta al código de operación. En algunos aspectos de
la presente invención, la nueva sección de código es añadida al
bloque no utilizado en la sección de almacenamiento de código (112).
De forma alternativa, se requiere una operación de compactación.
Entonces, el software de sistema está controlado para la ejecución
utilizando la nueva sección de código (474) (450). En otros aspectos
de la invención, la PMRTI (454) incluye una sección de código
actualizado (474). De manera alternativa, la nueva sección de código
(450) es una sección de código actualizado independiente de la
PMRTI. El dispositivo de tiempo de ejecución reemplaza una sección
de código en la sección de almacenamiento de código, por ejemplo, la
sección de código dos (304), por la sección de código actualizado
(474) (450) como respuesta al código de operación. El software del
sistema está controlado para ejecutarse utilizando la sección de
código actualizada (474) (450). En algunos aspectos de la invención,
es necesaria una operación de compactado para localizar la sección
de código actualizada. De manera alternativa, la sección de código
actualizada es añadida a una sección no utilizada o vacante de la
sección de almacenamiento de código.
Tal como ha sido descrito anteriormente, la
adición de una nueva sección de código o la actualización de una
sección de código requiere de manera típica la generación de una
nueva tabla de direcciones de secciones de código, dado que dicha
operación incluye direcciones de inicio de secciones de código
nuevas y/o modificadas. Además, una operación de compactación
requiere asimismo una nueva tabla de direcciones de secciones de
código. Las operaciones de compactación pueden ser el resultado de
la operación del compactador (342), explicada anteriormente, o el
resultado de instrucciones PMRTI que suministran detalles del modo
en que debe llevarse a cabo dicha compactación. Cuando la PMRTI
incluye instrucciones de descarga y compactación, la PMRTI incluye
también de forma típica una nueva tabla de direcciones de secciones
de código que se hace válida después de que las operaciones de
descarga y compactación han sido completadas.
La figura 9 es un diagrama de bloques esquemático
que muestra el sistema de la presente invención para la
actualización de los datos persistentes en el software de sistema de
un dispositivo de comunicaciones inalámbricas. Dicho sistema (900)
comprende una interfaz de enlace aéreo (902), equivalente a la
interfaz de enlace aéreo (150) de la figura 1, y un software de
sistema ejecutable y datos de sistema separados en secciones de
código almacenadas en un dispositivo de almacenamiento permanente de
memoria no volátil (904), equivalente a la memoria (108) de la
figura 1. El sistema (900) es substancialmente el mismo que el
sistema (100) descrito anteriormente, y las características
similares no serán repetidas a efectos de brevedad. El dispositivo
de almacenamiento permanente no volátil (904) incluye una sección de
sistema de archivos (906) y una sección de almacenamiento de código
(908).
Los conjuntos de instrucciones dinámicas (910)
para la actualización selectiva de los datos persistentes en el
software de sistema son recibidos a través de la interfaz de enlace
aéreo (902). Los datos persistentes deben entenderse como elementos
de datos del software de sistema que, de manera general, se
mantienen fijos o con valor constante. Por ejemplo, los datos
persistentes pueden ser un número fijo que es utilizado en un
cálculo de un valor atenuador de RF, determinado como respuesta a la
recepción de una orden nivel de potencia de transmisión por una
estación base. El cambio en los datos persistentes puede tener en
cuenta diferencias regionales de temperatura o variaciones de los
lotes de transistores de energía de RF. Un cambio de este tipo
permite que el dispositivo sin cables corrija de manera permanente
su proceso de calibración. Además de los datos de calibración RF,
los datos del sistema no volátil y de configuración de usuario,
datos de recursos, datos de sistema no volátil y datos de aplicación
de usuario, y datos arbitrarios son todos tipos de datos
persistentes que pueden ser actualizados. Los datos del sistema no
volátil y de configuración de usuario, los datos de recursos, los
datos de sistema no volátil y datos de aplicación de usuario son
descritos con mayor detalle posteriormente. Los datos arbitrarios
deben entenderse como cualquier tipo de elemento de datos de
software de sistema que no queda cubierto por las categorías de
datos anteriormente mencionadas.
Se entiende que el sistema actualiza los datos
persistentes de forma selectiva porque no todos los elementos de
datos en una sección de código o biblioteca de símbolos necesitan
ser sustituidos de forma global, como en algunos procesos
pertenecientes a la técnica anterior. Es decir, pueden actualizarse
elementos de datos únicos o múltiples en una sección de código. La
actualización es más selectiva dado que utiliza de manera potencial
operaciones lógicas o matemáticas condicionales para determinar los
elementos de datos que deben ser sustituidos, y el valor que será
utilizado como sustituto. Finalmente, el sistema es capaz de llevar
a cabo la actualización de datos persistentes actualizados a partir
de una gran variedad de clases de datos mencionadas
anteriormente.
Los conjuntos de instrucciones dinámicas (910),
así como nuevas secciones de código (912), son parte de las
instrucciones de tiempo de ejecución de gestión de segmentación
(914). De manera típica, los conjuntos de instrucciones dinámicas
(910) son almacenados en la sección del sistema de archivos (906).
Un dispositivo de tiempo de ejecución, o biblioteca de tiempo de
ejecución (916) procesa los conjuntos de instrucciones dinámicas
(910). Tal como se ha mencionado anteriormente, la biblioteca de
tiempo de ejecución (916) forma parte, de manera típica, es parte de
la sección de código de gestión de segmentación (918). El software
de sistema ejecutable y los datos de sistema (secciones de código en
la memoria permanente (904)) son actualizados como respuesta al
procesamiento de los conjuntos de instrucciones dinámicas. El
software de sistema es ejecutado siguiendo las actualizaciones de
datos persistentes del software de sistema, llevadas a cabo por los
conjuntos de instrucciones dinámicas (910).
Tal como se ha mencionado anteriormente en
detalle, el software de sistema forma bibliotecas de símbolos. Cada
biblioteca de símbolos comprende símbolos que tienen una
funcionalidad relacionada, que son dispuestos en secciones de código
en la memoria no volátil (904) (o bien la sección de almacenamiento
de código (908) o bien la sección de sistema de archivos (904)). La
sección de sistema de archivos (906) de la memoria no volátil recibe
las instrucciones de tiempo de ejecución de gestión de segmentación
(PMRTI) (914), incluyendo los conjuntos de instrucciones dinámicas
(910) y las nuevas secciones de código (se muestra la nueva sección
de código (912)). Dichos conjuntos de instrucciones dinámicas y las
nuevas secciones de código pueden incluir datos persistentes e
instrucciones de datos persistentes actualizados.
El sistema (900) puede comprender otro tipo de
interfaces, además de la interfaz de enlace aéreo (902). Por
ejemplo, un teclado o teclado numérico del dispositivo de
comunicaciones sin cables (950), un módulo de memoria instalable
(952), una interfaz de infrarrojos (954), un puerto lógico (956), y
una interfaz de línea fija de RF (958). La sección de sistema de
archivos (906) es capaz de recibir datos persistentes actualizados a
través de cualquiera de dichas interfaces.
La figura 10 es un diagrama de bloques
esquemático que muestra de manera general el sistema (900) de la
figura 9. La sección de sistema de archivos (906) recibe conjuntos
de instrucciones dinámicas que incluyen instrucciones de datos
persistentes (910). El software de sistema incluye una serie de
elementos de datos persistentes en una primera sección de código
(1000). Un elemento de datos persistente "X_1" es mostrado con
la referencia (1002). Además, debe entenderse que una sección de
código normalmente incluiría numerosos elementos de datos
persistentes. Las instrucciones de datos persistentes (910) hacen
que los elementos de datos persistentes en la primera sección de
código (1000) sean sustituidos con los elementos de datos
persistentes actualizados. Tal como se muestra, el elemento de datos
persistentes actualizado "Y_1" (1004) está reemplazando al
elemento de datos "X_1" (1002), ver la flecha punteada con la
referencia "1". Tal como se describe a continuación, los datos
persistentes actualizados son actualizados a través de una variedad
de medios. A pesar de que la primera sección de código se muestra
localizada en la sección de almacenamiento de código (908), debe
entenderse que la primera sección de código podría estar localizada
de forma alternativa en la sección de sistema de archivos (906) y
que el sistema de la presente invención puede actualizar los
elementos de datos persistentes en la sección del sistema de
archivos (906) de la memoria permanente (904).
Las figuras 11a y 11b son diagramas de bloques
esquemáticos que muestran el aspecto de la sección de código de
sustitución del sistema de la presente invención (900) de la figura
10. La figura 11a muestra un aspecto del proceso de sustitución de
elementos de datos. La sección del sistema de archivos (906) recibe
una sección de código de sustitución (912), típicamente con una
serie de elementos de datos, pero dicha sección de código (912)
podría incluir tan solo un único elemento de datos. De forma
alternativa, los elementos de datos de sustitución podrían ser
distribuidos en una serie de secciones de código de sustitución. Las
instrucciones de datos persistentes (910) reemplazan los elementos
de datos persistentes en la primera sección de código (1000) con los
elementos de datos suministrados por la sección de código de
sustitución. Tal como se muestra, el elemento de datos "X_1"
(1002) está siendo sustituido con el elemento de datos "Y_1"
(1004) a partir de la sección de código de sustitución (912), ver
flecha punteada con la referencia "1".
La figura 11b es un diagrama de bloques
esquemático que muestra una variación del aspecto de la sección de
código de sustitución del sistema de la presente invención (900). En
algunos aspectos de la presente invención, la sección de sistema de
archivos (906) recibe los elementos de datos de sustitución alojados
junto con las instrucciones de datos persistentes (910). Las
instrucciones de datos persistentes (910) reemplazan a los elementos
de datos persistentes en la primera sección de código (1000) con los
elementos de datos alojados en las instrucciones de datos
persistentes. Tal como se muestra, el elemento de datos "X_1"
(1002) está siendo sustituido con el elemento de datos "Y_1"
(1004) a partir de los conjuntos de instrucciones persistentes
(910), ver la flecha punteada con la referencia "1". A pesar de
que la primera sección de código se muestra localizada en la sección
de almacenamiento de código (908), debe entenderse que la primera
sección de código podría estar localizada de forma alternativa en la
sección del sistema de archivos (906) y que la característica de
sustitución del sistema de la presente invención puede actualizar
elementos de datos persistentes en la sección del sistema de
archivos (906) de la memoria permanente (904).
La figura 12 es un diagrama de bloques
esquemático que muestra el aspecto lógico condicional del sistema de
la presente invención (900). La sección del sistema de archivos
(906) recibe una serie de elementos de datos de restricción e
instrucciones de datos persistentes condicionales (1200). Las
instrucciones de datos persistentes condicionales (1200) pueden ser
consideradas como un subconjunto del conjunto de instrucciones
persistentes que utilizan de forma específica operaciones lógicas o
matemáticas para llevar a cabo las sustituciones de elementos de
datos. Las instrucciones de datos persistentes condicionales (1220)
llevan a cabo la comparación de los elementos de datos persistentes
en la primera sección de código (1000) con los elementos de datos de
restricción. Como respuesta a dicha comparación, los elementos de
datos persistentes en la primera sección de código (100) con los
elementos de datos de restricción, las instrucciones de datos
persistentes condicionales (1200) sustituyen a los elementos de
datos persistentes en la primera sección de código (1000).
En un aspecto de la presente invención, la
sección del sistema de archivos (906) recibe una sección de código
de restricción (1202) con una serie de elementos de datos. Se
muestran los elementos de datos "Y_1" (1024), "Y_2" (1026)
e "Y_3" (1028). Las instrucciones de datos persistentes
condicionales (1200) sustituyen los elementos de datos persistentes
en la primera sección de código (1000) con elementos de datos a
partir de la sección de código de restricción (1202), como respuesta
a la comparación de los elementos de datos persistentes en la
primera sección de código (1000) con los elementos de datos en la
sección de código de restricción (1202).
La figura 13 es un diagrama esquemático que
muestra el funcionamiento de las instrucciones de datos persistentes
condicionales. Tal como se muestra en este ejemplo, las
instrucciones de datos persistentes condicionales (1200) pueden
comparar el elemento de datos "X_1" (1002) de la primera
sección de código (1000) con el elemento de datos "Y_1" (1204)
de la sección de datos de restricción (1202). La operación
condicional puede ser: es (Y_1 > X_1)? Como resultado de esta
operación, las instrucciones de datos persistentes condicionales
(1200) pueden decidir el dejar "X_1" (1002) en su lugar,
sustituir "X_1" (1200) por "Y_1" (1204), sustituir
"X_1" (1002) por "Y_2" (1206), o sustituir "X_1"
(1002) por un valor calculado, para mencionar unas pocas
posibilidades. De este modo, las instrucciones de datos persistentes
condicionales (1200) pueden sustituir elementos de datos
persistentes en la primera sección de código (1000) con elementos de
datos calculados mediante las instrucciones de datos persistentes
condicionales (1202), como respuesta a la comparación de elementos
de datos persistentes (es decir, "X_1") en la primera sección
de código (1000) con los elementos de datos de restricción (es
decir, "Y_1"). Por ejemplo (como se muestra), el cálculo puede
detectar la diferencia entre "Y_1" y "X_1", añadir dicha
diferencia a "Y_1", y utilizar dicho resultado para sustituir
"X_1".
De forma alternativa, las instrucciones de datos
persistentes condicionales (1200) utilizan los elementos de datos de
restricción como operandos en los cálculos para obtener productos o
resultados de elementos de datos. Los elementos de datos
persistentes en la primera sección de código son reemplazados con
los productos de elementos de datos. Por ejemplo, si "Y_1" es
mayor que "X_1", el cálculo puede ser el de multiplicar el
operando "Y_1" por 3, y utilizar dicho resultado para sustituir
"X_1". En otra variante, si "Y_1" es mayor que "X_1",
el cálculo puede ser la multiplicación del operando "Y_2" por
3, y utilizar dicho resultado para sustituir "X_1". Debe
entenderse además que las operaciones condicionales lógicas o
matemáticas son procesadas utilizando operaciones de software
convencional, y por lo tanto puede ser cualquier operación que pueda
ser llevada a cabo utilizando software.
Haciendo referencia nuevamente a la figura 12, en
algunos aspectos de la presente invención, la sección de sistema de
archivos (906) recibe elementos de datos de restricción, tal como el
elemento de datos "Z_1" (1210) alojado junto con las
instrucciones de datos persistentes condicionales (1200). Entonces,
las instrucciones de datos persistentes condicionales (1200)
sustituyen elementos de datos persistentes en la primera sección de
código (1000) con elementos de datos de restricción alojados en las
instrucciones de datos persistentes condicionales (1200), como
respuesta a la comparación de los elementos de datos persistentes en
la primera sección de código (1000) con los elementos de datos de
restricción. A pesar de que no se muestra de forma específica, las
instrucciones de datos persistentes condicionales (1200) llevarían a
cabo una operación condicional lógica o matemática, comparando
"X_1" (1002) con "Z_1" (1210), por ejemplo, y se tomaría
una decisión de sustitución como resultado de dicha comparación.
Además, el elemento de datos podría ser sustituido simplemente con
un elemento de datos incorporado, o el elemento de datos de
sustitución puede ser generado como un producto de una operación
matemática utilizando un elemento de datos incorporado en las
instrucciones de datos persistentes condicionales (1200). A pesar de
que la primera sección de código podría estar localizada de forma
alternativa en la sección de almacenamiento de código (908), debe
comprenderse que la primera sección de código puede estar localizada
de manera alternativa en la sección del sistema de archivos (906) y
que el aspecto lógico condicional del sistema de la presente
invención puede actualizar elementos de datos persistentes en la
sección del sistema de archivos (906) de la memoria permanente
(904).
La figura 14 es un diagrama de bloques
esquemático que muestra el aspecto directorio o de direccionamiento
del sistema de la presente invención (900). La sección de sistema de
archivos (906) recibe una sección de código directorio (1400) con
una serie de direcciones de elementos de datos, tales como los
elementos "A_1" (1402), "A_2" (1404), y "A_3" (1406).
Las instrucciones de datos persistentes (910) localizan elementos de
datos de sustitución como respuesta a las direcciones de elementos
de datos de la sección de código directorio. Las instrucciones de
datos persistentes (910) llevan a cabo la sustitución de los
elementos de datos persistentes en la primera sección de código
(1000) con el elemento de datos de sustitución localizado. Tal como
se muestra, las instrucciones de datos persistentes (910) utilizan
la dirección de elemento de datos "A_1" (1402), ver flecha
punteada con la referencia "1". La dirección "A_1" (1402)
dirige las instrucciones de datos persistentes (910) al elemento de
datos "Y_1" (1004) en la nueva sección de código (912), ver
flecha punteada con la referencia "2". Una vez que ha sido
localizado, el elemento de datos "X_1" (1002) en la primera
sección de código (1000) es sustituido por el elemento de datos
"Y_1" (1004), ver flecha punteada con la referencia
"3".
En una variante más compleja del proceso
directorio o de direccionamiento, la sección del sistema de archivos
(906) recibe instrucciones de datos persistentes condicionales,
representadas con el indicador de referencia (910), y una sección de
código de direccionamiento (1400) con una serie de direcciones de
restricción, representadas por "A_1" (1402), "A_2" (1404),
y "A_3" (1406). Las instrucciones de datos persistentes
condicionales (910) localizan los elementos de datos de restricción
utilizando las direcciones de restricción en la sección de código de
direccionamiento (1400). Entonces, las instrucciones de datos
persistentes condicionales (910) llevan a cabo la comparación de los
elementos de datos persistentes en la primera sección de código
(1000) con las restricciones localizadas utilizando las direcciones
de restricción. Como respuesta a dicha comparación, las
instrucciones de datos persistentes condicionales (910) sustituyen
los elementos de datos persistentes en la primera sección de código
(1000). Por ejemplo (no mostrado), las instrucciones de datos
persistentes condicionales (910) utilizan la dirección "A_1"
(1402) para localizar la restricción "Y_1" (1004) en la nueva
sección de código (912). Entonces, de un modo similar al descrito
anteriormente haciendo referencia a la figura 13, las instrucciones
de datos persistentes condicionales (910) llevan a cabo una
operación condicional lógica o matemática utilizando la restricción
"Y_1" (1004). Nuevamente, tal como ha sido descrito
anteriormente, el elemento de datos de sustitución puede ser un
valor de sustitución simple o generado como resultado de un cálculo.
A pesar de que la primera sección de código se muestra localizada en
la sección de almacenamiento de código (908), debe entenderse además
que la primera sección de código podría estar localizada de forma
alternativa en la sección del sistema de archivos (906) y que el
aspecto de direccionamiento del sistema de la presente invención
puede actualizar elementos de datos persistentes en la sección del
sistema de archivos (906) de la memoria permanente (904).
Tal como ha sido mencionado anteriormente, una
utilización importante de la presente invención es para llevar a
cabo la actualización de elementos de datos que soportan operaciones
de calibración de RF. Haciendo referencia a la figura 9, el software
de sistema incluye elementos de datos de calibración de RF
dispuestos en la primera sección de código (1000). Los elementos de
datos de calibración RF son utilizados para funciones tales como
ajuste de frecuencia, polarización de amplificador, ajustes de
atenuador, y ajustes de temperatura, para nombrar unas pocas
posibilidades. Entonces, la sección del sistema de archivos (906)
recibe una instrucción de tiempo de ejecución de gestión de
segmentación (914), como mínimo, con un elemento de datos de
calibración RF actualizado. De forma típica, la actualización de los
datos persistentes implica la recepción de más de un elemento de
datos actualizado, y la sustitución de más de un elemento de datos.
Tal como se ha observado anteriormente, el elemento de datos puede
ser actualizado a través de una variedad de medios (de sustitución,
condicionales, de direccionamiento, o una combinación de los tres)
asociados con la PMRTI (914). Entonces, exponiéndolo de forma
general, las instrucciones de datos persistentes (910) pueden
utilizarse para referenciar elementos de datos de calibración RF
actualizados en la instrucción de tiempo de ejecución de gestión de
segmentación (914) cuando se lleva a cabo la sustitución de los
elementos de datos de calibración RF en la primera sección de código
(1000).
En algunos aspectos de la presente invención, la
sección del sistema de archivos (906) recibe una instrucción de
tiempo de ejecución de gestión de segmentación (914) como mínimo con
un elemento de datos actualizado del sistema no volátil y de
configuración de usuario. Nuevamente, pueden existir una serie de
fuentes de elementos de datos. El software de sistema incluye
elementos de datos de sistema no volátil y de configuración de
usuario dispuestos en la primera sección de código (1000) para
funciones como los archivos de configuración del sistema para la
identificación de la región local del dispositivo sin cables,
identificación de regiones de itinerancia ("roaming")
permisibles, identificación de si el dispositivo sin cables funciona
en modos digital o analógico e, identificación del modo de
funcionamiento preferente del dispositivo sin cables. Las
instrucciones de datos persistentes (910) hacen referencia a los
elementos de datos actualizados del sistema no volátil y de
configuración de usuario en la instrucción de tiempo de ejecución de
gestión de segmentación (914), cuando se sustituyen elementos de
datos del sistema no volátil y de configuración de usuario en la
primera sección de código (1000). Los elementos de datos son
actualizados utilizando un proceso de sustitución, operaciones
lógicas condicionales, o un proceso de direccionamiento.
En algunos aspectos de la presente invención, la
sección de sistema de archivos (906) recibe una instrucción de
tiempo de ejecución de gestión de segmentación (914), como mínimo,
con un elemento de datos actualizados del sistema no volátil y de
aplicación de usuario. El software de sistema incluye elementos de
datos del sistema no volátil y de aplicación de usuario, dispuestos
en la primera sección de código (1000) para ser utilizados en
funciones tales como la gestión de archivos de registros telefónicos
y la gestión de archivos de planeamiento o programación de
calendario. Las instrucciones de datos persistentes (910) hacen
referencia a los elementos de datos actualizados del sistema no
volátil y de aplicación de usuario en la instrucción de tiempo de
ejecución de gestión de segmentación (914) cuando se sustituyen
elementos de datos del sistema no volátil y de aplicación de usuario
en la primera sección de código (1000). Tal como se ha explicado
anteriormente, los elementos de datos del sistema no volátil y de
aplicación de usuario son actualizados utilizando un procedimiento
de sustitución, operaciones lógicas condicionales, un proceso de
direccionamiento, o combinaciones de dichos procesos básicos.
En algunos aspectos de la presente invención, la
sección del sistema de archivos (906) recibe una instrucción de
tiempo de ejecución de gestión de segmentación (914) como mínimo con
un elemento de datos de recursos actualizado. El software de sistema
incluye elementos de datos de recursos, dispuestos en la primera
sección de código (1000) para diálogos de interfaz con el usuario,
menús de interfaz con el usuario y lenguajes de interfaz con el
usuario. Las instrucciones de datos persistentes (910) hacen
referencia a los elementos de datos de recursos actualizados en la
instrucción de tiempo de ejecución de gestión de segmentación (914)
cuando se sustituyen elementos de datos de recursos en la primera
sección de código (1000). Los elementos de datos de recursos son
actualizados utilizando un proceso de sustitución, operaciones
lógicas condicionales, un proceso de direccionamiento, o
combinaciones de dichos procesos básicos.
Las figuras 15a y 15b son diagramas de flujo de
la presente invención, que muestran un método para la ejecución de
conjuntos de instrucciones dinámicas en un dispositivo de
comunicaciones sin cables. A pesar de que se muestra como una
secuencia de etapas numeradas a efectos de claridad de exposición,
no debe inferir un orden determinado de dicha numeración (y de la
numeración en los métodos presentados a continuación) a menos que se
estipule de forma explícita. El método inicia en la etapa (1500). La
etapa (1501a) organiza al software del sistema en bibliotecas de
símbolos, cada una de dichas bibliotecas de símbolos comprendiendo
símbolos que tienen una funcionalidad relacionada. La etapa (1501b)
dispone las bibliotecas de símbolos en secciones de código. La etapa
(1502) ejecuta el software de sistema. La etapa (1503) lanza un
dispositivo de tiempo de ejecución. De forma típica, el lanzamiento
de un dispositivo de tiempo de ejecución incluye la invocación a una
biblioteca de tiempo de ejecución de una primera sección de código.
El dispositivo de tiempo de ejecución puede ser lanzado desde
memoria volátil o desde memoria no volátil. La etapa (1504), a
continuación de la etapa (1503), recibe los conjuntos de
instrucciones dinámicas. La recepción de dichos conjuntos de
instrucciones dinámicas en la etapa (1504) incluye la recepción de
conjuntos de instrucciones dinámicas a través de una interfaz
seleccionada del grupo que incluye un enlace aéreo, una línea física
de radiofrecuencia (RF), un módulo de memoria instalable,
infrarrojos e interfaces de puertos lógicos. En algunos aspectos de
la presente invención, la recepción del conjunto de instrucciones
dinámicas en la etapa (1504) incluye la recepción de una instrucción
de tiempo de ejecución de gestión de segmentación (PMRTI) en una
memoria no volátil de la sección del sistema de archivos.
La etapa (1506) procesa los conjuntos de
instrucciones dinámicas. El procesamiento de dichos conjuntos de
instrucciones dinámicas incluye el procesamiento de instrucciones en
respuesta a operaciones matemáticas y lógicas. En algunos aspectos
de la presente invención, la etapa (1507) (no mostrada), que sigue
al procesamiento de los conjuntos de instrucciones dinámicas,
elimina dichos conjuntos de instrucciones dinámicas. La etapa (1508)
opera sobre los datos del sistema y el software de sistema. La etapa
(1510), en respuesta a dicha operación sobre los datos del sistema y
el software de sistema, controla la ejecución del software de
sistema.
De manera típica, la recepción de instrucciones
de tiempo de ejecución de gestión de segmentación en la etapa (1504)
incluye la recepción de código de operación condicional y elementos
de datos. Entonces, el procesamiento de los conjuntos de
instrucciones dinámicas en la etapa (1506) incluye subetapas. La
etapa (1506a) utiliza el dispositivo de tiempo de ejecución para
leer el código de operación de la instrucción de tiempo de ejecución
de gestión de segmentación. La etapa (1506b) lleva a cabo una
secuencia de operaciones en respuesta a dicho código de
operación.
En algunos aspectos, la disposición de las
bibliotecas de símbolos en secciones de código en la etapa (1501b)
incluye el inicio de dichas bibliotecas de símbolos en el inicia de
las secciones de código y la disposición de símbolos que estarán
desplazados con respecto a sus respectivas direcciones de inicio de
sección de código. Entonces, el método comprende etapas adicionales.
La etapa (1501c) almacena el inicio de las secciones de código en
las correspondientes direcciones de inicio. La etapa (1501d)
mantiene una tabla de direcciones de secciones de código (CSAT) con
referencias cruzadas a identificadores de sección de código con las
correspondientes direcciones de inicio. La etapa (1501e) mantiene
una tabla de direcciones de desplazamiento de símbolos (SOAT) con
referencias cruzadas a identificadores de símbolos con las
correspondientes direcciones de desplazamiento, y los
correspondientes identificadores de sección de código.
En algunos aspectos de la presente invención, la
recepción de la instrucción de tiempo de ejecución de gestión de
segmentación en la etapa (1504) incluye la recepción de
identificadores de símbolos. Entonces, el método comprende una etapa
adicional. La etapa (1506a2) localiza los símbolos correspondientes
a los identificadores de símbolos recibidos utilizando la tabla de
direcciones de secciones de código y la tabla de direcciones de
desplazamiento de símbolos. La realización de una secuencia de
operaciones como respuesta al código de operación en la etapa
(1506b) incluye subetapas. La etapa (1506b1) extrae los datos cuando
los símbolos localizados son elementos de datos. La etapa (1506b2)
ejecuta los símbolos cuando los símbolos localizados son
instrucciones.
En algunos aspectos de la presente invención, el
procesamiento de conjunto de instrucciones dinámicas en la etapa
(1506b1) incluye subetapas adicionales. La etapa (1506b1a) utiliza
el dispositivo de tiempo de ejecución para capturar la longitud de
la instrucción de tiempo de ejecución de gestión de segmentación. La
etapa (1506b1b) extrae los elementos de datos de la instrucción de
tiempo de ejecución de gestión de segmentación, como respuesta al
código de operación. La etapa (1506b1c) utiliza los datos extraídos
para llevar a cabo la secuencia de operaciones que responden al
código de operación.
La figura 16 es un diagrama de flujo que muestra
una operación del conjunto de instrucciones dinámicas a modo de
ejemplo. Varias de las etapas de la figura 16 son las mismas que las
de la figura 15, y por lo tanto no serán repetidas en la presente
descripción a efectos de brevedad. El procesamiento de conjuntos de
instrucciones dinámicas en la etapa (1606) incluye subetapas. La
etapa (1606a) accede a los datos de sistema almacenados en una
segunda sección de código en la sección del sistema de archivos. La
etapa (1606b) analiza los datos del sistema. La etapa (1606c) crea
datos de sistema actualizados. Entonces, la operación sobre los
datos de sistema y el software de sistema en la etapa (1608) incluye
la sustitución de datos de sistema en la segunda sección con los
datos de sistema actualizados, y el control de ejecución del
software de sistema en la etapa (1610) incluye la utilización de
datos de sistema actualizados en la ejecución del software de
sistema.
La figura 17 es un diagrama de flujo que muestra
otra operación del conjunto de instrucciones dinámicas a modo de
ejemplo. Varias de las etapas en la figura 17 son las mismas que las
de la figura 15, y por lo tanto no serán repetidas en la presente
descripción a efectos de brevedad. La etapa (1701c) almacena una
serie de secciones de código en una memoria no volátil de
almacenamiento de código. El procesamiento de conjuntos de
instrucciones dinámicas en la etapa (1706) incluye subetapas. La
etapa (1706a) accede a los datos del sistema almacenados en una
tercera sección de código en la sección de almacenamiento de código
(CSS). La etapa (1706b) analiza los datos del sistema. La etapa
(1706c) crea datos de sistema actualizados. La operación sobre datos
del sistema y el software de sistema en la etapa (1708) incluye la
sustitución de los datos de sistema en la tercera sección de código
por los datos de sistema actualizados. El control de la ejecución
del software de sistema en la etapa (1710) incluye la utilización de
los datos de sistema actualizados en la ejecución del software de
sistema.
La figura 18 es un diagrama de flujo que muestra
una tercera operación del conjunto de instrucciones dinámicas a modo
de ejemplo. Varias de las etapas de la figura 18 son las mismas que
las de la figura 15, y por lo tanto no serán repetidas en la
presente descripción a efectos de brevedad. La etapa (1801c)
almacena una serie de secciones de código en una memoria no volátil
de la sección de almacenamiento de código. La etapa (1801d) carga
datos de lectura-escritura en la memoria no volátil.
El procesamiento de conjuntos de instrucciones dinámicas en la etapa
(1806) incluye subetapas. La etapa (1806a) accede a los datos de
lectura-escritura de la memoria no volátil. La etapa
(1806b) analiza dichos datos de lectura-escritura.
La etapa (1806c) crea datos de lectura-escritura
actualizados. La operación sobre los datos de sistema y el software
de sistema en la etapa (1808) incluye la sustitución de los datos de
lectura-escritura en la memoria no volátil con los
datos de lectura-escritura actualizados. El control
de la ejecución del software de sistema en la etapa (1810) incluye
la utilización de los datos de lectura-escritura
actualizados en la ejecución del software de sistema.
La figura 19 es un diagrama de flujo que muestra
una cuarta operación de un conjunto de instrucciones dinámicas a
modo de ejemplo. Varias de las etapas de la figura 19 son las mismas
que las de la figura 15, y por lo tanto no serán repetidas en la
presente descripción a efectos de brevedad. El procesamiento de
conjuntos de instrucciones dinámicas incluye subetapas. La etapa
(1906a), como respuesta al código de operación, controla la
ejecución del software de sistema. La etapa (1906b) recoge datos de
rendimiento. La etapa (1906c) almacena los datos de rendimiento. La
etapa (1906d) transmite los datos almacenados a través de una
interfaz de enlace aéreo. La operación sobre los datos del sistema y
el software de sistema en la etapa (1908) incluye la utilización de
los datos de rendimiento para la evaluación del software de sistema.
La etapa (1910) controla la ejecución del software de sistema.
La figura 20 es un diagrama de flujo que muestra
una quinta operación de un conjunto de instrucciones dinámicas, a
modo de ejemplo. Varias de las etapas de la figura 20 son las mismas
que las de la figura 15, y por lo tanto no serán repetidas en la
presente descripción a efectos de brevedad. La etapa (2001c)
almacena una serie de secciones de código en una memoria no volátil
de la sección de almacenamiento de código. La recepción de las
instrucciones de tiempo de ejecución de gestión de segmentación en
la etapa (2003) incluye la recepción de una nueva sección de código.
La operación sobre los datos de sistema y el software de sistema en
la etapa (2008) incluye la añadidura de la nueva sección de código a
la sección de almacenamiento de código, y el control de la ejecución
del software de sistema en la etapa (2010) incluye la utilización de
la nueva sección de código para la ejecución del software de
sistema.
De manera alternativa, la recepción de una nueva
sección de código en la etapa (2003) incluye la recepción de una
sección de código actualizada. Entonces, la operación sobre los
datos del sistema y el software de sistema en la etapa (2008)
incluye la sustitución de una cuarta sección de código en la sección
de almacenamiento de código con la sección de código
actualizada.
La figura 21 es un diagrama de flujo que muestra
el método de la presente invención para llevar a cabo la
actualización de datos persistentes en el software de sistema de un
dispositivo de comunicaciones sin cables. El método inicia en la
etapa (2100). Tal como se ha descrito en detalle anteriormente, y
por lo tanto no se ha mostrado de forma específica en la figura, la
etapa (2101a) dispone el software de sistema en bibliotecas de
símbolos, cada comprendiendo biblioteca de símbolos con
funcionalidad relacionada. La etapa (2101b) dispone las bibliotecas
de símbolos en secciones de código en la memoria no volátil (en la
sección de almacenamiento de código de la sección de sistema de
archivos). La etapa (2102) ejecuta el software del sistema. La etapa
(2104) lanza un dispositivo de tiempo de ejecución. La etapa (2106)
recibe instrucciones de tiempo de ejecución de gestión de
segmentación con conjuntos de instrucciones dinámicas y nuevas
secciones de código, incluyendo datos persistentes actualizados, en
una sección del sistema de archivos en la memoria no volátil. La
etapa (2108) procesa los conjuntos de instrucciones dinámicas. La
etapa (2110), en respuesta al procesamiento de dichos conjuntos de
instrucciones dinámicas, actualiza de forma selectiva los datos
persistentes en el software del sistema.
La actualización de los datos persistentes en el
software del sistema en la etapa (2110) incluye la actualización de
datos persistentes tales como datos de calibración de
radiofrecuencia (RF), datos del sistema no volátil y de
configuración de usuario, datos de recursos, datos del sistema no
volátil y datos de aplicación de usuario, y datos arbitrarios. Un
nuevo punto (entre otros) en la presente invención es la capacidad
de sustitución de algunos elementos de datos en una sección del
software del sistema sin la necesidad de llevar a cabo una
sustitución masiva de todos los elementos de datos. La etapa (2112)
ejecuta el software del sistema con los datos persistentes
actualizados.
La figura 22 es un diagrama de flujo
sustancialmente idéntico al de la figura 21, que muestra el proceso
de actualización de elementos de datos de sustitución. La mayor
parte de las etapas de la figura 22 son las mismas que las etapas de
la figura 21, y por lo tanto no son explicadas nuevamente a efectos
de brevedad. La recepción de conjuntos de instrucciones dinámicas en
la etapa (2206) incluye la recepción de instrucciones de datos
persistentes, y la disposición de las bibliotecas de símbolos en
secciones de código en la etapa (2201b) (no mostrada) incluye la
disposición de una serie de elementos de datos persistentes en una
primera sección de código. Entonces, la actualización de datos
persistentes en la etapa (2210) incluye la sustitución de elementos
de datos persistentes en la primera sección de código por elementos
de datos persistentes actualizados, en respuesta a las instrucciones
de datos persistentes.
En algunos aspectos, la recepción de datos
persistentes actualizados en una sección del sistema de archivos en
la memoria no volátil en la etapa (2206) incluye la recepción de una
sección de código de sustitución con una serie de elementos de
datos. Entonces, la sustitución de elementos de datos persistentes
en la primera sección de código por elementos de datos persistentes
actualizados (etapa (2210)), en respuesta a las instrucciones de
datos persistentes, incluye la sustitución de elementos de datos
persistentes en la primera sección de código por elementos de datos
de la sección de código de sustitución.
En algunos aspectos, la recepción de
instrucciones de datos persistentes en la etapa (2206) incluye la
recepción de elementos de datos de sustitución incorporados en las
instrucciones de datos persistentes. Entonces, la sustitución de
elementos de datos persistentes en la primera sección de código por
elementos de datos persistentes actualizados, etapa (2210), en
respuesta a instrucciones de datos persistentes, incluye la
sustitución de elementos de datos persistentes en la primera sección
de código por elementos de datos incorporados en las instrucciones
de datos persistentes.
La figura 23 es un diagrama de flujo
substancialmente idéntico al de la figura 21, que muestra el proceso
lógico-condicional de actualización de elementos de
datos. La mayoría de las etapas de la figura 23 son las mismas que
las etapas de la figura 21, y por lo tanto no serán explicadas
nuevamente a efectos de brevedad. La recepción de datos persistentes
actualizados en una sección del sistema de archivos en la memoria no
volátil en la etapa (2306) incluye la recepción de una serie de
elementos de datos de restricción e instrucciones condicionales de
datos persistentes. Entonces, la sustitución de elementos de datos
persistentes en la primera sección de código por elementos de datos
persistentes actualizados (etapa (2310)), en respuesta a las
instrucciones condicionales de datos persistentes, incluye
subetapas. La etapa (2310a), que utiliza instrucciones condicionales
de datos persistentes, compara los elementos de datos persistentes
en la primera sección de código con los elementos de datos de
restricción. La etapa (2310b), en respuesta a dicha comparación,
sustituye los elementos de datos persistentes en la primera sección
de código.
En algunos aspectos, la recepción de datos
persistentes actualizados en una sección del sistema de archivos en
memoria no volátil en la etapa (2306) incluye la recepción de una
sección de código de restricción con una serie de elementos de
datos. Entonces, la sustitución de los elementos de datos
persistentes en la primera sección de código (etapa (2310b)), en
respuesta a dicha comparación, incluye la sustitución de elementos
de datos persistentes en la primera sección de código por elementos
de datos de la sección de código de restricción.
En algunos aspectos, la recepción de
instrucciones condicionales de datos persistentes en la etapa (2306)
incluye la recepción de elementos de datos de restricción
incorporados con las instrucciones condicionales de datos
persistentes. Entonces, la sustitución de elementos de datos
persistentes en la primera sección de código (etapa (2310b)), en
respuesta a dicha comparación, incluye la sustitución de elementos
de datos persistentes en la primera sección de código por elementos
de datos de restricción incorporados en las instrucciones de datos
persistentes.
En algunos aspectos de la presente invención, la
sustitución de elementos de datos persistentes en la primera sección
de código (etapa (2310b)), en respuesta a la mencionada comparación,
incluye la sustitución de elementos de datos persistentes en la
primera sección de código por elementos de datos calculados por las
instrucciones condicionales de datos persistentes. En otros
aspectos, la sustitución de los elementos de datos persistentes en
la primera sección de código (etapa (2310b)), en respuesta a la
comparación, incluye subetapas. La etapa (2310b1) utiliza los
elementos de datos de restricción como operandos en cálculos
realizados por las instrucciones condicionales de datos persistentes
para obtener productos o resultados de elementos de datos. La etapa
(2310b2) sustituye los elementos de datos persistentes en la primera
sección de código por los productos de elementos de datos
obtenidos.
La figura 24 es un diagrama de flujo
substancialmente idéntico al de la figura 21, que muestra el proceso
de actualización de elementos de datos por direccionamiento. La
mayor parte de las etapas de la figura 24 son las mismas que las
etapas de la figura 21, y por lo tanto no serán descritas nuevamente
a efectos de brevedad. La recepción de datos persistentes
actualizados en una sección del sistema de archivos en memoria no
volátil en la etapa (2406) incluye la recepción de una sección de
código directorio o de direccionamiento con una serie de direcciones
de elementos de datos. Entonces, la sustitución de elementos de
datos persistentes en la primera sección de código por elementos de
datos persistentes actualizados (etapa (2410)), en respuesta a las
instrucciones de datos persistentes, incluye subetapas. La etapa
(2410a) localiza elementos de datos de sustitución como respuesta a
las direcciones de elementos de datos de la sección de código
directorio. La etapa (2410b) sustituye los elementos de datos
persistentes en la primera sección de código por el elemento de
datos de sustitución localizado.
En algunos aspectos, la recepción de datos
persistentes actualizados en una sección del sistema de archivos en
memoria no volátil en la etapa (2406) incluye la recepción de una
sección de código directorio con una serie de direcciones de
restricción. Entonces, la sustitución de elementos de datos
persistentes en la primera sección de código por elementos de datos
persistentes (etapa (2410)), en respuesta a las instrucciones de
datos persistentes, incluye subetapas. La etapa (2410c) localiza
elementos de datos de restricción utilizado las direcciones de
restricción en la sección de código directorio. La etapa (2410d),
utilizando las instrucciones de datos persistentes condicionales,
compara los elementos de datos persistentes en la primera sección de
código con las mencionadas restricciones. La etapa (2410e), en
respuesta a dicha comparación, sustituye los elementos de datos
persistentes en la primera sección de código.
Haciendo referencia nuevamente a la figura 21, la
recepción de datos persistentes actualizados en la etapa (2106)
incluye la recepción de datos persistentes actualizados a través de
una interfaz seleccionada a partir del grupo que comprende un enlace
aéreo, un teclado del dispositivo de comunicaciones sin cables, un
módulo de memoria instalable, infrarrojos, puerto lógico e
interfaces de línea física RF.
En algunos aspectos, la recepción de datos
persistentes actualizados en la etapa (2106) incluye la recepción de
una instrucción de tiempo de ejecución de gestión de segmentación
como mínimo con un elemento de datos de calibración RF actualizado.
La disposición de las bibliotecas de símbolos en secciones de código
en la etapa (2101b) (no mostrada) incluye la disposición de los
elementos de datos de calibración RF en una primera sección de
código, y la ejecución del software de sistema en la etapa (2102)
incluye la utilización de dichos datos de calibración RF de la
primera sección de código para funciones que incluyen, por no están
limitadas a, ajustes de frecuencia, polarización de amplificador,
ajustes de atenuador, y ajustes de temperatura. Entonces, la
actualización de los datos persistentes en el software de sistema
(2110) incluye el referenciado de los elementos de datos de
calibración RF actualizados en la instrucción de tiempo de ejecución
de gestión de segmentación cuando se lleva a cabo la sustitución de
elementos de datos de calibración RF en la primera sección de
código. Tal como ha sido mostrado anteriormente, los elementos de
datos actualizados son referenciados para la utilización de procesos
de actualización de sustitución, lógicos condicionales o de
direccionamiento.
En algunos aspectos de la presente invención, la
recepción de datos persistentes actualizados en la etapa (2106)
incluye la recepción de una instrucción de tiempo de ejecución de
gestión de segmentación, como mínimo, con un elemento de datos del
sistema no volátil y de configuración de usuario. La disposición de
las bibliotecas de símbolos en secciones de código en la etapa
(2101b) (no mostrada) incluye la disposición de elementos de datos
del sistema no volátil y de configuración de usuario en una primera
sección de código. La ejecución del software de sistema en la etapa
(2102) incluye la utilización de elementos de datos del sistema no
volátil y de configuración de usuario de dicha primera sección de
código para funciones, que incluyen, pero no están limitadas a los
mismos, archivos de configuración del sistema para la identificación
de la región local del dispositivo sin cables, identificación de
regiones de itinerancia ("roaming") permisibles, la
identificación de si el modo de operación del dispositivo sin cables
es digital o analógico y la identificación del modo de
funcionamiento preferente del dispositivo sin cables. Entonces, la
actualización de los datos persistentes en el software de sistema en
la etapa (2110) incluye el referenciado de elementos de datos
actualizados del sistema no volátil y de configuración de usuario en
la instrucción de tiempo de ejecución de gestión de segmentación,
cuando se lleva a cabo la sustitución de elementos de datos del
sistema no volátil y de configuración de usuario en la primera
sección de código.
En algunos aspectos, la recepción de datos
persistentes actualizados en la etapa (2106) incluye la recepción de
una instrucción de tiempo de ejecución de gestión de segmentación,
como mínimo, con un elemento de datos actualizado del sistema no
volátil y de aplicación de usuario. La disposición de las
bibliotecas de símbolos en secciones de código en la etapa (2101b)
(no mostrada) incluye la disposición de elementos de datos del
sistema no volátil y de aplicación de usuario en una primera sección
de código. La ejecución del software de sistema en la etapa (2102)
incluye la utilización de dichos elementos de datos no volátiles del
sistema y de aplicación de usuario de dicha primera sección de
código para funciones que incluyen, pero no están limitadas a las
mismas, la gestión de archivos de registros telefónicos y la gestión
de archivos de planeamiento o programación de calendario. Entonces,
la actualización de datos persistentes en el software de sistema en
la etapa (2110) incluye el referenciado de los elementos de datos
actualizados del sistema no volátil y de aplicación de usuario en la
instrucción de tiempo de ejecución de gestión de segmentación cuando
se lleva a cabo la sustitución de dichos elementos de datos del
sistema no volátil y de aplicación de usuario en la primera sección
de código.
En algunos aspectos, la recepción de nuevas
secciones de código en la etapa (2106) incluye la recepción de una
instrucción de tiempo de ejecución de gestión de segmentación, como
mínimo, con un elemento de datos de recurso actualizado. La
disposición de las bibliotecas de símbolos en secciones de código en
la etapa (2101b) (no mostrada) incluye la disposición de elementos
de datos de recurso en una primera sección de código. La ejecución
del software de sistema en la etapa (2102) incluye la utilización de
los datos de recursos de la primera sección de código para funciones
que incluyen, pero no están limitadas a los mismos, diálogos de
interfaz con el usuario, menús de interfaz con el usuario y
lenguajes de interfaz con el usuario. La actualización de los datos
persistentes en el software de sistema en la etapa (2110) incluye el
referenciado de elementos de datos de recursos actualizados en la
instrucción de tiempo de ejecución de gestión de segmentación cuando
se lleva a cabo la sustitución de elementos de datos de recursos en
la primera sección de código.
Se han dado a conocer un sistema y un método para
la ejecución de conjuntos de instrucciones dinámicas en un
dispositivo de comunicaciones sin cables, para asistir la
actualización y la resolución de problemas del software de sistema.
Dicho sistema puede ser actualizado de forma sencilla debido a la
disposición de bibliotecas de símbolos en secciones de código, con
tablas para el acceso a las direcciones de inicio de las secciones
de código en memoria y de direcciones de desplazamiento de símbolos
en las bibliotecas de símbolos. La utilización de conjuntos de
instrucciones dinámicas permite la aplicación de modificaciones a
medida en cada dispositivo sin cables, basándose en características
específicas de dicho dispositivo. Unos pocos ejemplos generales han
sido dados para mostrar los posibles usos de los conjuntos de
instrucciones dinámicas para la actualización de datos persistentes
del software de sistema. Sin embardo, la presente invención no está
limitada a dichos ejemplos. Otras variaciones y realizaciones de la
presente invención serán evidentes para las personas especializadas
en la técnica.
Claims (39)
1. Método para la actualización de datos
persistentes en un dispositivo de comunicaciones sin cables, cuyo
método comprende:
- ejecución de software del sistema (2102);
- lanzar un sistema de tiempo de ejecución (2104);
- procesar conjuntos de instrucciones dinámicas (2106); y,
como respuesta al proceso de los conjuntos de
instrucciones dinámicas, actualizar selectivamente datos
persistentes en el software del sistema (2110).
2. Método, según la reivindicación 1, que
comprende además:
ejecutar el software del sistema con los datos
persistentes actualizados (2112).
3. Método, según la reivindicación 2, en el que
la actualización de datos persistentes en el software del sistema
comprende la actualización de datos persistentes seleccionados entre
el grupo que incluye datos de calibración de radiofrecuencia (RF),
sistema no volátil y datos de configuración de usuario, datos de
recursos, sistema no volátil y datos de aplicación de usuario, así
como datos arbitrarios.
4. Método, según la reivindicación 3, que
comprende además:
formar el software de sistema en bibliotecas de
símbolos, comprendiendo cada biblioteca de símbolos, símbolos que
tienen funcionalidades relacionadas;
disponer las bibliotecas de símbolos en secciones
de código en memoria no volátil; y
recibir instrucciones de tiempo de ejecución de
la gestión de segmentos añadidos con conjuntos de instrucciones
dinámicas y nuevas secciones de código, incluyendo datos
persistentes actualizados, en una sección de sistema de archivo en
memoria no volátil.
5. Método, según la reivindicación 4, en el que
la recepción de los juegos de instrucciones dinámicas comprende la
recepción de instrucciones de datos persistentes (2206);
de manera que la disposición de bibliotecas de
símbolos en secciones de código comprende una serie de elementos de
datos persistentes en una primera sección de código; y,
en el que la actualización de datos persistentes
comprende la sustitución de datos persistentes en la primera sección
de código con elementos de datos persistentes actualizados, como
respuesta a las instrucciones de datos persistentes (2210).
6. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados en una sección de un
sistema de archivo en una memoria no volátil comprende la recepción
de una sección de código de sustitución con una serie de elementos
de datos; y,
en el que la sustitución de elementos de datos
persistentes en la primera sección de código con elementos de datos
persistentes actualizados, como respuesta a las instrucciones de
datos persistentes, comprende la sustitución de los elementos de
datos persistentes en la primera sección de código con los elementos
de datos de la sección de código de sustitución.
7. Método, según la reivindicación 5, en el que
la recepción de instrucciones de datos persistentes incluye la
recepción de elementos de datos de sustitución incorporados con las
instrucciones de datos persistentes; y,
en el que la sustitución de elementos de datos
persistentes en la primera sección de código con elementos de datos
persistentes actualizados, como respuesta a las instrucciones de
datos persistentes, incluye la sustitución de los elementos de datos
persistentes en la primera sección de código con los elementos de
datos incorporados en las instrucciones de datos persistentes.
8. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados en una sección de un
sistema de archivo en una memoria no volátil comprende la recepción
de una serie de elementos de datos limitativos e instrucciones de
datos persistentes condicionales (2306);
en el que la sustitución de elementos de datos
persistentes en la primera sección de código con elementos de datos
persistentes actualizados, en respuesta a las instrucciones de datos
persistentes condicionales, comprende:
utilización de las instrucciones de datos
persistentes condicionales, comparación de los elementos de datos
persistentes en la primera sección de código con los elementos de
datos limitativos (2310a); y,
como respuesta a la comparación, sustituir los
elementos de datos persistentes en la primera sección de código
(2310b).
9. Método, según la reivindicación 8, en el que
la recepción de datos persistentes actualizados en una sección de un
sistema de archivo en una memoria no volátil comprende la recepción
de una sección de código limitativo con una serie de elementos de
datos; y,
en el que la sustitución de elementos de datos
persistentes en la primera sección de código, como respuesta a la
comparación, incluye la sustitución de elementos de datos
persistentes en la primera sección de código con elementos de datos
de la sección de código de limitación.
10. Método, según la reivindicación 8, en el que
la recepción de instrucciones de datos persistentes condicionales
incluye la recepción de elementos de datos de limitación
incorporados con las instrucciones de datos persistentes
condicionales;
de manera que la sustitución de elementos de
datos persistentes en la primera sección de código, como respuesta a
la comparación, incluye la sustitución de elementos de datos
persistentes en la primera sección de código con elementos de datos
de limitación incorporados en las instrucciones de datos
persistentes condicionales.
11. Método, según la reivindicación 8, en el que
la sustitución de elementos de datos persistentes en la primera
sección de código, como respuesta a la comparación, incluye la
sustitución de elementos de datos persistes en la primera sección de
código con elementos de datos calculados por las instrucciones de
datos persistentes condicionales.
12. Método, según la reivindicación 8, en el que
la sustitución de los elementos de datos persistentes en la primera
sección de código, como respuesta a la comparación, comprende:
utilizar los elementos de datos de limitación
como operandos en cálculos llevados a cabo por las instrucciones de
datos persistentes condicionales para crear productos de elementos
de datos (2310(b)1); y,
sustituir elementos de datos persistentes en la
primera sección de código con los productos de elementos de datos
(2310(b)2).
13. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados en una sección de un
sistema de archivo en memoria no volátil comprende la recepción de
una sección de código directorio con una serie de direcciones de
elementos de datos (2406);
de manera que la sustitución de elementos de
datos persistentes en la primera sección de código con elementos de
datos persistentes actualizados, como respuesta a instrucciones de
datos persistentes, incluye:
colocación de elementos de datos en sustitución
como respuesta a las direcciones de elementos de datos de la sección
de código de directorio (2410a); y,
sustituir los elementos de datos persistentes en
la primera sección de código con los elementos de datos de
sustitución localizados (2410b).
14. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados en una sección de un
sistema de archivo en una memoria no volátil comprende la recepción
de una sección de código directorio con una serie de direcciones de
limitación (2406);
de manera que la sustitución de elementos de
datos persistentes en la primera sección de código con elementos de
datos persistentes, en respuesta a las instrucciones de datos
persistentes, incluye:
localizar elementos de datos de limitación
utilizando las direcciones de limitación en la sección de código de
directorio (2410c); y,
utilizar las instrucciones de datos persistentes
condicionales, comparando los elementos de datos persistentes de la
primera sección de código con limitaciones (2410d); y,
como respuesta a la comparación, sustituir los
elementos de datos persistentes en la primera sección de código
(2410e).
15. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados comprende la
recepción de datos persistentes actualizados con intermedio de un
interfaz seleccionado del grupo que incluye enlace aéreo (150, 902),
teclado de un dispositivo de comunicaciones sin cables (104, 950),
módulo de memoria instalable (164, 952), infrarrojos (954), puerta
lógica (162, 956), e interfaces de línea RF (160, 958).
16. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados comprende la
recepción de una instrucción de tiempo de ejecución de gestión de
segmentos añadidos ("patch manager") con, como mínimo, un
elemento de datos de calibración actualizado RF,
de manera que la disposición de bibliotecas de
símbolos en secciones de código incluye la disposición de elementos
de datos de calibración RF en una primera sección de código;
de manera que la ejecución del software del
sistema comprende la utilización de los datos de calibración de los
datos RF de la primera sección de código para funciones
seleccionadas del grupo que incluye ajuste de frecuencia,
polarización de amplificador, ajustes de atenuador y ajustes de
temperatura; y,
en el que la actualización de datos persistentes
en el software de sistema comprende el referenciado de los elementos
de datos de calibrado RF en la instrucción de tiempo de ejecución de
la gestión de segmentos añadidos cuando se sustituyen elementos de
datos de calibrado RF en la primera sección de código.
17. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados incluye la recepción
de una instrucción de tiempo de ejecución de gestión de segmentos
añadidos que tiene como mínimo un sistema no volátil actualizado y
un elemento de datos de configuración de usuario;
en el que la disposición de bibliotecas de
símbolos en secciones de código comprende la disposición de
elementos de datos de configuración del sistema no volátil y de
usuario en una primera sección de código;
en el que la ejecución del software del sistema
comprende la utilización de elementos de datos del sistema no
volátil y de configuración de usuario de la primera sección de
código para funciones seleccionadas del grupo que incluye archivos
de configuración de sistema para identificación de la zona propia
del dispositivo de comunicación sin cables, identificación de zonas
de derivación permisibles ("roaming"), identificar si el
dispositivo de comunicación sin cables funciona en modalidades
digital y analógica e, identificar la modalidad operativa preferente
del dispositivo de comunicación sin cables; y
en el que la actualización de los datos
persistentes en el software del sistema comprende el referenciado de
los elementos de datos del sistema no volátil actualizado y de la
configuración de usuario en una instrucción de tiempo de ejecución
de gestión de segmentos añadidos cuando se efectúa la sustitución de
elementos de datos de configuración de usuario y de sistema no
volátil en la segunda sección de código.
18. Método, según la reivindicación 5, en el que
la recepción de datos persistentes actualizados incluye la recepción
de una instrucción de tiempo de ejecución de gestión de segmentos
añadidos con, como mínimo, un elemento de datos de aplicación de
usuario y de sistema no volátil actualizado;
en el que la disposición de bibliotecas de
símbolos en secciones de código comprende la disposición de
elementos de datos de aplicación de usuario y de sistema no volátil
en una primera sección de código;
en el que la ejecución del software del sistema
incluye la utilización de elementos de datos de aplicación de
usuario y de sistema no volátil de la primera sección de código para
funciones seleccionadas del grupo que incluye gestión de archivos de
listín telefónico y gestión de archivos de programación de
calendario; y,
en el que la actualización de los datos
persistentes en el software del sistema incluye el referenciado del
sistema no volátil actualizado y de elementos de datos de aplicación
de usuario en la instrucción de tiempo de ejecución de gestión de
segmentos añadidos cuando se efectúa la sustitución de los elementos
de datos del sistema no volátil de aplicación de usuario en la
primera sección de código.
19. Método, según la reivindicación 5, en el que
la recepción de nuevas secciones de código incluye la recepción de
una instrucción de tiempo de ejecución de gestión de segmentos
añadidos que tiene como mínimo un elemento de datos de recursos
actualizado;
en el que la disposición de bibliotecas de
símbolos en secciones de código incluye la disposición de elementos
de datos de recursos en una primera sección de código;
en el que la ejecución del software del sistema
comprende la utilización de datos de recursos de la primera sección
de código para funciones seleccionadas entre el grupo que comprende
diálogos de interfaz de usuario, menús de interfaz de usuario y
lenguajes de interfaz de usuario; y
en el que la actualización de datos persistentes
en el software del sistema comprende el referenciado de los
elementos de datos de recursos actualizados en la instrucción de
tiempo de ejecución de gestión de segmentos añadidos cuando se
efectúa la sustitución de los elementos de datos de recursos en la
primera sección de código.
20. Sistema para la actualización de datos
persistentes, en un dispositivo de comunicaciones sin cables, cuyo
sistema comprende:
datos de software de sistema ejecutable y de
sistema, diferenciados en secciones de código almacenadas en
almacenamiento permanente en memoria no volátil (108, 918);
juegos de instrucciones dinámicas (470, 910) para
actualizar selectivamente datos persistentes en el software del
sistema; y,
un dispositivo de control del tiempo de ejecución
(370, 916) para procesar los juegos de instrucciones dinámicas (470,
910).
21. Sistema, según la reivindicación 20, en el
que software de sistema ejecutable y datos de sistema son
actualizados como respuesta al proceso de los juegos de
instrucciones dinámicas (470, 910).
22. Sistema, según la reivindicación 21, en el
que el software del sistema ejecutable está formado en bibliotecas
de símbolos (310, 312, 314, 316), comprendiendo cada biblioteca de
símbolos, símbolos que tienen funcionalidad relacionada, dispuestos
en secciones de código almacenadas en una sección de almacenamiento
de código (112);
comprendiendo además el sistema:
un interfaz aéreo (150, 902); y,
una sección de sistema de archivo (110, 906) de
memoria permanente no volátil (108, 918) que recibe las
instrucciones (454, 914) (PMRTI) del tiempo de ejecución de gestión
de segmentos añadidos con intermedio del interfaz aéreo (150, 192),
incluyendo las instrucciones (454, 914) de tiempo de ejecución de
control de segmentos añadidos juegos de instrucciones dinámicas
(470, 910) y nuevas secciones de código (912).
23. Sistema, según la reivindicación 22, en el
que los juegos de instrucciones dinámicas (470, 910) actualizan
datos persistentes en el software del sistema seleccionado del grupo
que incluye datos de calibración de radiofrecuencia (RF), datos de
sistema no volátil y de configuración de usuario, datos de recursos,
datos de sistema no volátil y de aplicación de usuario, y datos
arbitrarios.
24. Sistema, según la reivindicación 23, en el
que el software del sistema está formado en bibliotecas de símbolos
(310, 312, 314, 316), comprendiendo cada una de las bibliotecas de
símbolos, símbolos que tienen funcionalidad relacionada, y que están
dispuestos en secciones de código en memoria permanente no volátil;
y,
en el que la sección (110, 906) de sistema de
archivo recibe juegos de instrucciones dinámicas (470, 910) y nuevas
secciones de código, incluyendo datos persistentes actualizados.
25. Sistema, según la reivindicación 24, en el
que la sección de sistema de archivo (110, 906) recibe conjuntos de
instrucciones dinámicas (470, 910) incluyendo instrucciones de datos
persistentes;
en el que el software del sistema comprende una
serie de elementos de datos persistentes en una primeras sección de
código; y,
en el que las instrucciones de datos persistentes
sustituyen elementos de datos persistentes en la primera sección de
código con elementos de datos persistentes actualizados.
26. Sistema, según la reivindicación 25, en el
que la sección (110, 906) de sistema de archivo recibe una sección
de código de sustitución con una serie de elementos de datos; y,
en el que las instrucciones de datos persistentes
sustituyen los elementos de datos persistentes en la primera sección
de código con los elementos de datos con la sección de código de
sustitución.
27. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo (110, 906) recibe elementos de
datos de sustitución incorporados con las instrucciones de datos
persistentes; y,
en el que las instrucciones de datos persistentes
sustituyen los elementos de datos persistentes en la primera sección
de código con los elementos de datos incorporados en las
instrucciones de datos persistentes.
28. Sistema, según la reivindicación 25, en el
que la sección de sistema de archivo recibe una serie de elementos
de datos de limitación (1210) e instrucciones de datos persistentes
condicionales;
en el que las instrucciones de datos persistentes
condicionales comparan los elementos de datos persistentes en la
primera sección de código con los elementos de datos de limitación
(1210) y, como respuesta a la comparación de los elementos de datos
persistentes en la primera sección de código con los elementos de
datos de limitación (1210), sustituyen los elementos de datos
persistentes en la primera sección de código.
29. Sistema, según la reivindicación 28, en el
que la sección del sistema de archivo recibe una sección de código
de limitación con una serie de elementos de datos; y,
en el que las instrucciones de datos persistentes
condicionales sustituyen elementos de datos persistentes en la
primera sección de código con elementos de datos procedentes de la
sección de código de limitación, como respuesta a la comparación de
elementos de datos persistentes de la primera sección de código con
los elementos de datos de limitación (1210).
30. Sistema, según la reivindicación 28, en el
que la sección de sistema de archivo recibe elementos de datos de
limitación (1210) incorporados con las instrucciones de datos
persistentes condicionales;
en el que las instrucciones de datos persistentes
condicionales sustituyen los elementos de datos persistentes de la
primera sección de código con elementos de datos de limitación
(1210) incorporados en las instrucciones de datos persistentes
condicionales, como respuesta a la comparación de elementos de datos
persistentes de la primera sección de código con los elementos de
datos de limitación (1210).
31. Sistema, según la reivindicación 28, en el
que las instrucciones de datos persistentes condicionales sustituyen
elementos de datos persistentes de la primera sección de código con
elementos de datos calculados por las instrucciones de datos
persistentes condicionales, como respuesta a la comparación de los
elementos de datos persistentes de la primera sección de código con
los elementos de datos de limitación (1210).
32. Sistema, según la reivindicación 28, en el
que las instrucciones de datos persistentes condicionales utilizan
los elementos de datos de limitación (1210) como operandos en
cálculos para crear productos de elementos de datos, para sustituir
elementos de datos persistentes en la primera sección de código con
los productos de elementos de
datos.
datos.
33. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo recibe una sección de código
de directorio (1400) con una serie de direcciones de elementos de
datos (1402, 1404, 1406);
en el que las instrucciones de datos persistentes
sitúan los elementos de datos de sustitución como respuesta a las
direcciones de los elementos de datos de la sección de código de
directorio (1400) y sustituye los elementos de datos persistentes de
la primera sección de código con los elementos de datos de
sustitución localizados.
34. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo recibe instrucciones de datos
persistentes condicionales y una sección de código de directorio
(1400) con una serie de direcciones de limitación;
en el que las instrucciones de datos persistentes
condicionales (1200) localizan elementos de datos de limitación
(1210) utilizando las direcciones de limitación de la sección de
código de directorio (1400), comparan los elementos de datos
persistentes de la primera sección de código con las limitaciones
localizadas, y, como respuesta a la comparación, sustituyen los
elementos de datos persistentes de la primera sección de código.
35. Sistema, según la reivindicación 25, que
comprende además:
interfaces seleccionados del grupo que incluye un
teclado (104, 950) de un dispositivo de comunicaciones sin cables,
un módulo de memoria instalable (164, 952), infrarrojos (954), una
puerta lógica (162, 956), e interfaces de línea (160, 958); y,
en el que la sección de sistema de archivo (110,
906) recibe datos de sistema persistentes actualizados a través de
un interfaz seleccionado a partir del grupo que comprende enlace
aéreo (150, 902), teclado de dispositivo de comunicaciones sin
cables (104, 950), módulo de memoria instalable (164, 952),
infrarrojos (954), puerta lógica (162, 956), e interfaces de línea
RF (160, 958).
36. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo (110, 906) recibe una
instrucción de tiempo de ejecución (454, 914) de la gestión de
segmentos añadidos con un mínimo de un elemento de datos de
calibración RF;
en el que el software del sistema comprende
elementos de datos de calibración RF dispuestos en una primera
sección de código para funciones seleccionadas del grupo que
comprende ajustes de frecuencia, polarización de amplificador,
ajustes de alternador y ajustes de temperatura; y,
en el que las instrucciones de datos persistentes
referencian los elementos de datos de calibración RF actualizados en
la instrucción de tiempo de ejecución de gestión de segmentos
añadidos cuando se sustituyen elementos de datos de calibración RF
en la primera sección de código.
37. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo (110, 906) recibe una
instrucción (454, 914) de tiempo de ejecución de gestión de
segmentos añadidos con un mínimo de un elemento de datos de sistema
no volátil actualizado y de configuración de usuario;
en el que el software del sistema comprende
elementos de datos de sistema no volátil y de configuración de
usuario dispuestos en una primera sección de código para funciones
seleccionadas entre el grupo que comprende archivos de configuración
de sistema para identificar la zona doméstica del dispositivo sin
cables, identificación de zonas de acceso permisible, identificación
de si el dispositivo sin cables funciona en modalidad digital y
analógica e, identificando el modo operativo preferente del
dispositivo sin cables; y
en el que las instrucciones de datos persistentes
referencian los elementos de datos del sistema no volátil
actualizado y de configuración de usuario en la instrucción de
tiempo de ejecución de control de segmentos añadidos cuando se
efectúa la sustitución de elementos de datos de sistema no volátil y
de configuración de usuario en la primera sección de código.
38. Sistema, según la reivindicación 25, en el
que la sección del sistema de archivo (110, 906) recibe una
instrucción (454, 914) de tiempo de ejecución de control de
segmentos añadidos con un mínimo de un elemento de datos de sistema
no volátil actualizado y de aplicación de usuario.
en el que el software del sistema comprende
elementos de datos del sistema no volátil y de aplicación de usuario
dispuestos en una primera sección de código para funciones
seleccionadas del grupo que comprende la gestión de archivos de
listín telefónico y gestión de archivos de programas de calendario;
y,
en el que las instrucciones de datos persistentes
referencian los elementos de datos del sistema no volátil
actualizado y de aplicación de usuario en la instrucción de tiempo
de ejecución de gestión de segmentos añadidos cuando se sustituyen
los elementos de datos del sistema no volátil y de aplicación de
usuario en la primera sección de código.
39. Sistema, según la reivindicación 25, en el
que la sección (110, 906) del sistema de archivo recibe una
instrucción (454, 914) de tiempo de ejecución de control de
segmentos añadidos con un mínimo de elementos de datos de recursos
actualizado;
en el que el software de sistema comprende
elementos de datos de recursos dispuestos en una primera sección de
código para funciones seleccionadas entre el grupo que comprende
diálogos de interfaz, menús de interfaz de usuario y lenguajes de
interfaz de usuario; y,
en el que las instrucciones datos persistentes
referencian los elementos de datos de recursos actualizados en la
instrucción de tiempo de ejecución de control de segmentos añadidos
cuando se sustituyen los elementos de datos de recursos en la
primera sección de código.
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US917026 | 2001-07-26 | ||
US09/916,460 US7159214B2 (en) | 2001-07-26 | 2001-07-26 | System and method for compacting field upgradeable wireless communication device software code sections |
US916460 | 2001-07-26 | ||
US916900 | 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 |
US927131 | 2001-08-10 | ||
US09/927,131 US7143407B2 (en) | 2001-07-26 | 2001-08-10 | System and method for executing wireless communications device dynamic instruction sets |
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 |
US969305 | 2001-10-02 | ||
PCT/IB2002/002890 WO2003010664A2 (en) | 2001-07-26 | 2002-07-23 | System and method for updating persistent data in a wireless communications device |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2249602T3 true ES2249602T3 (es) | 2006-04-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. |
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. |
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. |
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. |
ES02751472T Expired - Lifetime ES2263799T3 (es) | 2001-07-26 | 2002-07-25 | Sistema y metodo para comunicacion telefonica punto por punto. |
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. |
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. |
ES02762622T Expired - Lifetime ES2253553T3 (es) | 2001-07-26 | 2002-07-25 | Sistema y metodo para comunicacion bidireccional y ejecucion de conjuntos de instrucciones dinamicas. |
Family Applications Before (1)
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. |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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. |
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. |
ES02751472T Expired - Lifetime ES2263799T3 (es) | 2001-07-26 | 2002-07-25 | Sistema y metodo para comunicacion telefonica punto por punto. |
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. |
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. |
ES02762622T Expired - Lifetime ES2253553T3 (es) | 2001-07-26 | 2002-07-25 | Sistema y metodo para comunicacion bidireccional y ejecucion de conjuntos de instrucciones dinamicas. |
Country Status (9)
Country | Link |
---|---|
EP (12) | EP1410189B1 (es) |
JP (11) | JP2005505813A (es) |
KR (10) | KR100940180B1 (es) |
CN (10) | CN1275149C (es) |
AT (9) | ATE387658T1 (es) |
AU (9) | AU2002319569A1 (es) |
DE (7) | DE60206389T2 (es) |
ES (9) | ES2300454T3 (es) |
WO (10) | WO2003010658A2 (es) |
Families Citing this family (38)
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 | 주식회사 팬택앤큐리텔 | 소프트웨어 이미지 생성 방법 |
JP4528328B2 (ja) * | 2004-05-18 | 2010-08-18 | キョウセラ ワイヤレス コープ. | 無線通信機器用のモジュラデータコンポーネント |
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 |
USRE48433E1 (en) | 2005-01-27 | 2021-02-09 | The Chamberlain Group, Inc. | Method and apparatus to facilitate transmission of an encrypted rolling code |
US8422667B2 (en) | 2005-01-27 | 2013-04-16 | 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 | 中兴通讯股份有限公司 | 一种通信系统软件版本的平滑升级方法 |
WO2007105274A1 (ja) * | 2006-03-10 | 2007-09-20 | Fujitsu Limited | 適用パッチ選別装置及び適用パッチ選別方法 |
EP2025095A2 (en) | 2006-06-08 | 2009-02-18 | Hewlett-Packard Development Company, L.P. | Device management in a network |
EP2047420A4 (en) | 2006-07-27 | 2009-11-18 | Hewlett Packard Development Co | USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE |
CN100403263C (zh) * | 2006-08-16 | 2008-07-16 | 华为技术有限公司 | 按配置下载设备软件的方法 |
KR100924647B1 (ko) * | 2008-08-07 | 2009-11-02 | 주식회사 케이티 | 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템 |
US9221986B2 (en) | 2009-04-07 | 2015-12-29 | Sensient Colors Llc | Self-dispersing particles and methods for making and using the same |
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 |
JP6290913B2 (ja) * | 2012-11-09 | 2018-03-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 |
WO2019213672A1 (en) * | 2018-05-04 | 2019-11-07 | Herdx, Inc. | Food supply tracking, verification, and feedback system |
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株式会社 | 情報処理装置、プログラム更新システム、及びプログラム更新方法 |
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 |
EP0979449A4 (en) * | 1996-08-28 | 2005-08-24 | Wind River Systems Inc | TOOL FOR DIAGNOSING SOFTWARE DISTRIBUTED BETWEEN SEVERAL PROCESSORS |
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 KR KR1020047000721A patent/KR100940180B1/ko not_active IP Right Cessation
- 2002-07-22 AU AU2002319569A patent/AU2002319569A1/en not_active Abandoned
- 2002-07-22 ES ES02749158T patent/ES2300454T3/es not_active Expired - Lifetime
- 2002-07-22 AU AU2002319572A patent/AU2002319572A1/en not_active Abandoned
- 2002-07-22 EP EP02749158A patent/EP1410189B1/en not_active Expired - Lifetime
- 2002-07-22 JP JP2003515971A patent/JP2005505813A/ja not_active Withdrawn
- 2002-07-22 JP JP2003515964A patent/JP2004537120A/ja not_active Withdrawn
- 2002-07-22 CN CNB028148312A patent/CN1275149C/zh not_active Expired - Fee Related
- 2002-07-22 JP JP2003515966A patent/JP4104546B2/ja not_active Expired - Fee Related
- 2002-07-22 EP EP02749161A patent/EP1410191A2/en not_active Withdrawn
- 2002-07-22 WO PCT/IB2002/002867 patent/WO2003010658A2/en active IP Right Grant
- 2002-07-22 KR KR1020047000723A patent/KR100911604B1/ko not_active IP Right Cessation
- 2002-07-22 AT AT02749158T patent/ATE387658T1/de not_active IP Right Cessation
- 2002-07-22 EP EP02749157A patent/EP1410188A2/en not_active Withdrawn
- 2002-07-22 WO PCT/IB2002/002866 patent/WO2003010656A2/en active Application Filing
- 2002-07-22 KR KR1020047000719A patent/KR100940178B1/ko not_active IP Right Cessation
- 2002-07-22 AU AU2002319568A patent/AU2002319568A1/en not_active Abandoned
- 2002-07-22 WO PCT/IB2002/002875 patent/WO2003010663A2/en not_active Application Discontinuation
- 2002-07-22 CN CNB028148320A patent/CN1288553C/zh not_active Expired - Fee Related
- 2002-07-22 CN CNB028148339A patent/CN1275150C/zh not_active Expired - Fee Related
- 2002-07-23 DE DE60206389T patent/DE60206389T2/de not_active Expired - Lifetime
- 2002-07-23 EP EP02749166A patent/EP1410192B1/en not_active Expired - Lifetime
- 2002-07-23 JP JP2003515976A patent/JP4176634B2/ja not_active Expired - Fee Related
- 2002-07-23 AT AT02749159T patent/ATE302972T1/de not_active IP Right Cessation
- 2002-07-23 JP JP2003517749A patent/JP4310186B2/ja not_active Expired - Fee Related
- 2002-07-23 AU AU2002319576A patent/AU2002319576A1/en not_active Abandoned
- 2002-07-23 JP JP2003515972A patent/JP4278513B2/ja not_active Expired - Fee Related
- 2002-07-23 DE DE60211704T patent/DE60211704T2/de not_active Expired - Lifetime
- 2002-07-23 CN CNB028148347A patent/CN1235137C/zh not_active Expired - Fee Related
- 2002-07-23 ES ES02749167T patent/ES2249602T3/es not_active Expired - Lifetime
- 2002-07-23 AT AT02749167T patent/ATE305632T1/de not_active IP Right Cessation
- 2002-07-23 AU AU2002319570A patent/AU2002319570A1/en not_active Abandoned
- 2002-07-23 EP EP02749159A patent/EP1410190B1/en not_active Expired - Lifetime
- 2002-07-23 EP EP02749167A patent/EP1410193B1/en not_active Expired - Lifetime
- 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 CN CNB02814838XA patent/CN1288554C/zh not_active Expired - Fee Related
- 2002-07-23 WO PCT/IB2002/002877 patent/WO2003010668A2/en active IP Right Grant
- 2002-07-23 ES ES02749166T patent/ES2299587T3/es not_active Expired - Lifetime
- 2002-07-23 WO PCT/IB2002/002869 patent/WO2003010662A2/en active IP Right Grant
- 2002-07-23 AU AU2002319573A patent/AU2002319573A1/en not_active Abandoned
- 2002-07-23 AU AU2002319577A patent/AU2002319577A1/en not_active Abandoned
- 2002-07-23 AT AT02749163T patent/ATE327536T1/de not_active IP Right Cessation
- 2002-07-23 WO PCT/IB2002/002890 patent/WO2003010664A2/en active IP Right Grant
- 2002-07-23 EP EP02749163A patent/EP1410209B1/en not_active Expired - Lifetime
- 2002-07-23 KR KR1020047000716A patent/KR100940179B1/ko not_active IP Right Cessation
- 2002-07-23 KR KR1020047000718A patent/KR100913658B1/ko not_active IP Right Cessation
- 2002-07-23 CN CNB028148355A patent/CN1235138C/zh not_active Expired - Fee Related
- 2002-07-23 KR KR1020047000725A patent/KR100918162B1/ko not_active IP Right Cessation
- 2002-07-23 EP EP05021081A patent/EP1610222B1/en not_active Expired - Fee Related
- 2002-07-23 ES ES02749159T patent/ES2247355T3/es not_active Expired - Lifetime
- 2002-07-23 JP JP2003515970A patent/JP4073399B2/ja not_active Expired - Fee Related
- 2002-07-23 DE DE60205755T patent/DE60205755T2/de not_active Expired - Lifetime
- 2002-07-23 KR KR1020047000726A patent/KR100913659B1/ko not_active IP Right Cessation
- 2002-07-23 AT AT02749166T patent/ATE382159T1/de not_active IP Right Cessation
- 2002-07-23 WO PCT/IB2002/002889 patent/WO2003012639A2/en active IP Right Grant
- 2002-07-25 DE DE60206055T patent/DE60206055T2/de not_active Expired - Lifetime
- 2002-07-25 WO PCT/IB2002/002912 patent/WO2003013103A2/en active IP Right Grant
- 2002-07-25 ES ES02751472T patent/ES2263799T3/es not_active Expired - Lifetime
- 2002-07-25 EP EP02751472A patent/EP1423959B1/en not_active Expired - Lifetime
- 2002-07-25 JP JP2003516189A patent/JP4077408B2/ja not_active Expired - Fee Related
- 2002-07-25 AU AU2002355308A patent/AU2002355308A1/en not_active Abandoned
- 2002-07-25 WO PCT/IB2002/002906 patent/WO2003010942A2/en active IP Right Grant
- 2002-07-25 CN CNB028148398A patent/CN100378661C/zh not_active Expired - Fee Related
- 2002-07-25 DE DE60211719T patent/DE60211719T2/de not_active Expired - Lifetime
- 2002-07-25 JP JP2003518153A patent/JP4101752B2/ja not_active Expired - Fee Related
- 2002-07-25 EP EP02741113A patent/EP1410665B1/en not_active Expired - Lifetime
- 2002-07-25 AT AT02741113T patent/ATE304272T1/de not_active IP Right Cessation
- 2002-07-25 AT AT02751472T patent/ATE327628T1/de not_active IP Right Cessation
- 2002-07-25 CN CNB028148401A patent/CN1310488C/zh not_active Expired - Fee Related
- 2002-07-25 AU AU2002328167A patent/AU2002328167A1/en not_active Abandoned
- 2002-07-25 AT AT02762622T patent/ATE310354T1/de not_active IP Right Cessation
- 2002-07-25 DE DE60219536T patent/DE60219536T2/de not_active Expired - Lifetime
- 2002-07-25 EP EP02762622A patent/EP1425894B1/en not_active Expired - Lifetime
- 2002-07-25 CN CNB02814841XA patent/CN1250035C/zh not_active Expired - Fee Related
- 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 ES05018919T patent/ES2284112T3/es not_active Expired - Lifetime
- 2002-07-25 JP JP2003516197A patent/JP4106020B2/ja not_active Expired - Fee Related
- 2002-07-25 ES ES02762622T patent/ES2253553T3/es not_active Expired - Lifetime
- 2002-07-25 KR KR1020047001087A patent/KR100932058B1/ko not_active IP Right Cessation
- 2002-07-25 WO PCT/IB2002/002905 patent/WO2003010932A2/en active IP Right Grant
- 2002-07-25 KR KR1020047001086A patent/KR100817387B1/ko not_active IP Right Cessation
- 2002-07-25 KR KR1020047001088A patent/KR100984895B1/ko not_active IP Right Cessation
- 2002-07-25 DE DE60207429T patent/DE60207429T2/de not_active Expired - Lifetime
- 2002-07-25 AT AT05018919T patent/ATE359681T1/de not_active IP Right Cessation
-
2007
- 2007-11-22 JP JP2007303740A patent/JP2008108268A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2249602T3 (es) | Sistema y metodo para actualizar datos persistentes en un dispositivo de comunicaciones sin cables. | |
EP1973035B1 (en) | System and method for the management of wireless communications device system software downloads in the field | |
CN103049692B (zh) | 一种应用安装方法、装置和设备 | |
US8909291B1 (en) | Dynamic remotely managed SIM profile | |
US7386846B2 (en) | System and method for the management of wireless communications device system software downloads in the field | |
JP5072992B2 (ja) | 無線によるエリアコード更新のためのシステムおよび方法 | |
US20060223517A1 (en) | Field downloading of wireless device software | |
JPWO2008050439A1 (ja) | アプリケーション管理装置及びアプリケーション管理方法 | |
Badenhop et al. | Extraction and analysis of non-volatile memory of the ZW0301 module, a Z-Wave transceiver | |
US7328007B2 (en) | System and method for organizing wireless communication device system software | |
KR100662291B1 (ko) | 휴대장치에서의 모듈 프로그램 구현 방법 | |
KR100575780B1 (ko) | Ota를 이용한 바이너리 데이터 업데이트 모듈 실행 방법 | |
JP2014182467A (ja) | 情報記憶媒体、データ選択処理プログラム、及びデータ選択処理方法 |