ES2909593T3 - Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados - Google Patents

Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados Download PDF

Info

Publication number
ES2909593T3
ES2909593T3 ES16184095T ES16184095T ES2909593T3 ES 2909593 T3 ES2909593 T3 ES 2909593T3 ES 16184095 T ES16184095 T ES 16184095T ES 16184095 T ES16184095 T ES 16184095T ES 2909593 T3 ES2909593 T3 ES 2909593T3
Authority
ES
Spain
Prior art keywords
boot
manager
query
query manager
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16184095T
Other languages
English (en)
Inventor
Lilian Planche
Stephan Rafin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alstom Transport Technologies SAS
Original Assignee
Alstom Transport Technologies SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alstom Transport Technologies SAS filed Critical Alstom Transport Technologies SAS
Application granted granted Critical
Publication of ES2909593T3 publication Critical patent/ES2909593T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Abstract

Un dispositivo electrónico (12), tal como un dispositivo de tren, que comprende: - un procesador (22), - una unidad de memoria (24), asociada al procesador (22) y que incluye: + un programa de arranque (25), + al menos una partición de arranque (26), caracterizado porque cada partición de arranque (26) incluye un núcleo (40), un administrador de configuración de red (42) y un administrador de consultas (44), el administrador de consultas (44) se configura para administrar al menos una consulta recibida desde un aparato electrónico (16) exterior al dispositivo electrónico (12), el programa de arranque (25) se configura para ordenar, para la o una de las particiones de arranque (26), la activación del núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44), y porque el administrador de consultas (44) se configura para poder, después de su activación, recibir continuamente al menos una consulta del aparato exterior (16), la unidad de memoria (24) incluye una memoria no volátil (34) y una memoria volátil (36), la memoria no volátil (34) puede almacenar el programa de arranque (25) y la(s) partición(ones) de arranque (26), la memoria volátil (36) incluye una zona de memoria de ejecución (60) configurada para ejecutar el programa de arranque (25), el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44) de la partición de arranque correspondiente, y el dispositivo (12) que comprende además un módulo de asignación (70) configurado para asignar parte (72) de la zona de memoria de ejecución (60) al administrador de consultas (44), luego para reservar dicha parte asignada (72) a la ejecución del administrador de consultas (44) y mantener el administrador de consultas (74) residente en dicha parte asignada (72), el dispositivo (12) que comprende además un módulo de activación primario (46) configurado para crear, en la memoria volátil (36), una zona de almacenamiento de memoria (62) asignada a la correspondiente partición de arranque (26), luego para cargar, en la zona de almacenamiento de memoria (62), el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44) de dicha partición de arranque (26).

Description

DESCRIPCIÓN
Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados
La presente invención se refiere a un dispositivo electrónico, tal como un dispositivo de tren, que comprende un procesador y una unidad de memoria asociada con el procesador, la unidad de memoria incluye un programa de arranque y al menos una partición de arranque.
La presente invención también se refiere a un vehículo ferroviario que comprende un dispositivo electrónico ferroviario de este tipo.
La presente invención también se refiere a un sistema ferroviario que comprende al menos un elemento de entre un servidor de mantenimiento y un aparato de mantenimiento electrónico y al menos un vehículo ferroviario que incluye un dispositivo electrónico ferroviario de este tipo.
Un dispositivo electrónico del tipo antes mencionado se conoce de CN 102945176 A. Este dispositivo electrónico comprende una unidad de almacenamiento de datos que contiene un programa de arranque, así como también una primera y una segunda partición de arranque para mejorar la robustez de arranque del dispositivo electrónico. La primera y la segunda partición de arranque tienen el mismo sistema de ficheros de arranque.
Cuando se recibe un comando de arranque, el programa de arranque carga la primera partición de arranque, verifica la integridad de dicha partición y/o realiza una CRC (verificación de redundancia cíclica). El programa de arranque luego arranca desde esta primera partición si la verificación realizada es correcta. De lo contrario, el programa de arranque carga la segunda partición de arranque y realiza el proceso de arranque desde esta segunda partición. Tener dos particiones de arranque redundantes permite por tanto mejorar la probabilidad de poder arrancar correctamente el dispositivo electrónico.
El documento US 7,487,343 B1 describe un dispositivo electrónico que comprende un procesador y una unidad de memoria asociada con el procesador, la unidad de memoria incluye un programa de arranque y al menos una imagen de arranque. Cada partición de arranque comprende un núcleo de sistema operativo.
Sin embargo, las particiones de arranque generalmente ocupan una cantidad relativamente grande de espacio en la unidad de almacenamiento de datos, y reiniciar un dispositivo de este tipo a veces es delicado.
El objetivo de la invención es, por lo tanto, proponer un dispositivo electrónico con un arranque mejorado, mientras se tiene una o varias particiones de arranque que ocupan una pequeña cantidad de espacio de memoria.
Para este propósito, la invención se refiere a un dispositivo electrónico de acuerdo con la reivindicación 1.
En otros aspectos ventajosos de la invención, el equipo electrónico es de acuerdo con cualquiera de las reivindicaciones 2 a 11.
La invención se refiere además a un vehículo ferroviario de acuerdo con la reivindicación 12.
La invención se refiere además a un sistema ferroviario de acuerdo con la reivindicación 13.
Las características y ventajas de la invención se entenderán mejor al leer la siguiente descripción, proporcionada únicamente a modo de ejemplo no limitativo, y dada con referencia a los dibujos adjuntos, en los que:
- la Figura 1 es una ilustración esquemática de un sistema de mantenimiento de trenes de acuerdo con la invención, que comprende varios dispositivos electrónicos, un servidor de mantenimiento y un dispositivo de mantenimiento electrónico, interconectados a través de una red;
- la Figura 2 es una ilustración esquemática de uno de los dispositivos electrónicos de la Figura 1;
- la Figura 3 es un diagrama de flujo de una secuencia de arranque en el modo normal del dispositivo electrónico de la Figura 2; y
- la Figura 4 es una vista similar a la de la Figura 3 para un arranque en modo degradado.
En la Figura 1, un sistema 10 comprende varios dispositivos electrónicos 12, un servidor de mantenimiento 14 y un aparato de mantenimiento electrónico 16, los dispositivos electrónicos 12, el servidor de mantenimiento 14 y el dispositivo de mantenimiento electrónico 16 se conectan a través de una red 18, tal como una red local.
El sistema 10 es, por ejemplo, un sistema ferroviario y comprende además al menos un vehículo ferroviario, no mostrado. Luego, al menos uno de los dispositivos electrónicos 12 se coloca a bordo de uno de los vehículos ferroviarios y entonces se denomina como un dispositivo electrónico ferroviario. El aparato de mantenimiento 16, conectado al dispositivo de tren 12, se configura entonces para enviar una o varias consultas al dispositivo de tren 12, para mantener el dispositivo de tren dentro del que se ubica el dispositivo de tren 12.
Cada dispositivo electrónico 12 comprende una unidad de procesamiento de información 20, por ejemplo, formada por un procesador 22 y una unidad de memoria 24 asociada con el procesador 22, la unidad de memoria 24 incluye un programa de arranque 25, al menos una partición de arranque 26 y una partición de aplicación 28.
El servidor de mantenimiento 14 se configura para cargar, en cada dispositivo electrónico 12, la partición de arranque 26 y la partición de aplicación 28, cada una en su versión más reciente. El servidor de mantenimiento 14 comprende entonces la partición de arranque 26 y la partición de aplicación 28, así como también un módulo 30 para cargar la partición correspondiente 26, 28 en el dispositivo electrónico 12 correspondiente, como se muestra por la flecha F1 en la Figura 1.
Como una adición opcional, el servidor de mantenimiento 14 también se configura para enviar consultas a un dispositivo electrónico 12 que se encuentra en fase de mantenimiento. El servidor de mantenimiento 14 entonces se configura para recibir, desde el correspondiente dispositivo electrónico 12, los datos enviados en respuesta a cada consulta enviada.
El aparato de mantenimiento 16 comprende un módulo de mantenimiento 32, tal como un módulo de prueba, configurado para intercambiar datos con cada dispositivo electrónico 12 a través de la red 18, como se muestra por la flecha F2 en la Figura 1.
El aparato de mantenimiento 16 se configura en particular para enviar consultas, a través de su módulo de mantenimiento 32, a un dispositivo electrónico 12 que se encuentra en fase de mantenimiento. El módulo de mantenimiento 32 entonces se configura para recibir, desde el correspondiente dispositivo electrónico 12, los datos enviados en respuesta a cada consulta enviada.
Como una adición opcional, el aparato de mantenimiento 16 se configura para cargar, en cada dispositivo electrónico 12, la partición de arranque 26 y la partición de aplicación 28, cada una en su versión más reciente. El aparato de mantenimiento 16 comprende entonces la partición de arranque 26 y la partición de aplicación 28, así como también un módulo para cargar la partición correspondiente 26, 28 en el dispositivo electrónico 12 correspondiente.
El aparato de mantenimiento 16 es un aparato externo a cada dispositivo electrónico 12 y se conoce per se. El aparato de mantenimiento 16 es por ejemplo un ordenador tradicional, por ejemplo, que funcione con el sistema operativo Windows, en el que se instala el módulo de mantenimiento 32, el módulo de mantenimiento 32 por ejemplo es un programa ejecutable por el procesador de ese ordenador. En una variante, el aparato exterior 16 es un dispositivo electrónico integrado que incluye un componente de software dedicado.
La red 18 se conoce per se, y es por ejemplo una red Ethernet. La red 18 es por ejemplo una red ferroviaria.
El procesador 22 se conoce per se, y también se denomina CPU (Unidad Central de Procesamiento). El procesador 22 es por ejemplo un microprocesador. En una variante, el procesador 22 incluye uno o varios componentes lógicos programables.
La unidad de memoria 24 incluye una memoria no volátil 34 y una memoria volátil 36, la memoria no volátil 34 puede almacenar el programa de arranque 25 y la(s) partición(ones) de arranque 26.
En el ejemplo de la Figura 2, la unidad de memoria 24 incluye dos particiones de arranque 26 redundantes. En una variante, la unidad de memoria 24 incluye una única partición de arranque 26. En otra variante, la unidad de memoria 24 incluye al menos tres particiones de arranque 26 redundantes.
Cada partición de arranque 26 incluye un núcleo 40, un administrador de configuración de red 42 y un administrador de consultas 44. Como una adición opcional, cada partición de arranque 26 incluye un módulo de activación primario 46, que puede ejecutarse por el programa de arranque 25.
El programa de arranque 25 se configura entonces para ordenar, para la correspondiente partición de arranque 26, la activación del núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44, por ejemplo, a través de la ejecución del módulo de activación primario 46.
Se dice que las particiones de arranque 26 son redundantes cuando cada una incluye el núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44. Las particiones de arranque 26 redundantes son preferentemente idénticas.
En el ejemplo de la Figura 2, cada partición de arranque 26 se forma por el núcleo 40, el administrador de configuración de red 42, el administrador de consultas 44 y el módulo de activación primario 46.
El programa de arranque 25 se configura además para verificar la integridad de la partición de arranque 26 o al menos una de las particiones de arranque 26. La verificación de integridad se realiza, por ejemplo, mediante el uso de una suma de verificación, tal como un cálculo de verificación de redundancia cíclica, también denominado CRC, o mediante el uso de una función hash.
El programa de arranque 25 también se configura para seleccionar la o una de las particiones de arranque 26 y ordenar, para la partición de arranque 26 seleccionada, la activación del núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44, por ejemplo, a través de la ejecución del módulo de activación primario 46.
La partición de aplicación 28 incluye al menos una aplicación de software 50 y un módulo de activación secundario 52, que se configuran para ejecutar cada aplicación de software 50 mediante el uso del procesador 22. Luego, el módulo de activación primario 46 se configura para ordenar la ejecución del módulo de activación secundario 52, por ejemplo, después de la ejecución del núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44 de la partición de arranque 26 correspondiente. En otras palabras, la(s) aplicación(es) de software 50 se ejecuta(n) a través del procesador 22, por ejemplo, después de la ejecución de los diversos elementos de la partición de arranque 26 seleccionada, en otras palabras, después de la ejecución, a través del procesador 22, del núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44.
En una variante o como una adición opcional, una o varias aplicaciones de software 50 se ejecutan a través del procesador 22 en paralelo con la ejecución de los diferentes elementos de la partición de arranque 26 seleccionada, como se muestra en las Figuras 3 y 4.
La memoria volátil 36 incluye una zona de ejecución de memoria 60 y una zona de almacenamiento de memoria 62, la zona de ejecución de memoria 60 se configura para ejecutar el programa de arranque 25, el núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44 de la partición de arranque correspondiente.
Cada dispositivo 12 comprende además un módulo de asignación 70 configurado para asignar parte 72 de la zona de memoria de ejecución 60 al administrador de consultas 44, luego para reservar dicha parte 72 asignada a la ejecución del administrador de consultas 44 y mantener el administrador de consultas 44 residente en dicha parte 72 asignada. El módulo de asignación 70 preferentemente se incluye directamente en el núcleo 40 y luego, por ejemplo, se implementa mediante un servicio de administración de la memoria volátil 36.
El núcleo 40 es, por ejemplo, un núcleo de Linux. En el ejemplo de la Figura 2, el núcleo 40 es un núcleo que incluye un mínimo de servicios, para ocupar un espacio de memoria mínimo en la memoria no volátil 34.
El núcleo 40 incluye, por ejemplo, los siguientes servicios: administración de memoria volátil, administración de entrada/salida, administración del sistema de ficheros, administración de red, símbolo del sistema.
El administrador de configuración de red 42 es adecuado para configurar una o varias capas de red, no mostradas, para permitir que el dispositivo electrónico 12 se comunique con la red 18.
Como una adición opcional, cada partición de arranque 26 comprende un servidor proxy, también denominado proxy, no mostrado, adecuado para interceptar consultas de carga del módulo de mantenimiento 32. En otras palabras, el proxy se configura para redirigir consultas provenientes del módulo de mantenimiento 32.
En una variante, la redirección de las consultas la realiza el administrador de consultas 44. En otra variante, las consultas del módulo de mantenimiento 32 se envían directamente al destinatario correcto, y no necesitan reorientarse.
De acuerdo con la invención, el administrador de consultas 44 se configura para poder, después que se activa, recibir continuamente al menos una consulta del aparato exterior 16.
El administrador de consultas 44 es, por ejemplo, un proceso informático configurado para ejecutarse en segundo plano, tal como un demonio si el núcleo 40 es un núcleo de Linux.
El administrador de consultas 44 depende además de al menos una biblioteca de funciones 74 que puede almacenarse en la memoria no volátil 34, y el administrador de consultas 44 luego se vincula estáticamente a cada biblioteca 74 de la que depende. Este enlace estático del administrador de consultas 44 a cada biblioteca 74 de la que depende se realiza por ejemplo durante la compilación de los diferentes elementos de la partición de arranque 26, en particular durante la compilación del administrador de consultas 44.
Como una adición opcional, el administrador de consultas 44 incluye además un servidor web, no mostrado, adecuado para enviar y recibir consultas web.
El módulo de activación primario 46 se configura para crear, preferentemente, en la memoria volátil 36, la zona de almacenamiento de memoria 62, esta última se asigna a la partición de arranque 26 correspondiente. El módulo de arranque primario 46 además se configura para cargar posteriormente, en la zona de almacenamiento de memoria 62, el núcleo 40, el administrador de configuración de red 42, el administrador de consultas 44 y, si procede, el proxy de dicha partición de arranque 26.
Como una adición opcional, el módulo de activación primario 46 además se configura para mantener la asignación de dicha zona de almacenamiento de memoria 62 en la memoria volátil 36 durante todo el funcionamiento del dispositivo electrónico 12.
El módulo de activación primario 46 además se configura para ordenar la ejecución de cada uno de los elementos de la partición de arranque 26 correspondiente que no sea él mismo, en otras palabras, para ordenar la ejecución por parte del procesador 22 del núcleo 40, el administrador de configuración de red 42, el administrador de consultas 44 y, si procede, el proxy.
La secuencia de arranque del dispositivo electrónico 12 de acuerdo con la invención se explicará ahora por medio de las Figuras 3 y 4, que muestran un diagrama de flujo de la secuencia de arranque en modo normal y en modo degradado respectivamente.
En la Figura 3, el programa de arranque 25 comienza al verificar, durante la etapa 100, la integridad de la o una de las particiones de arranque 26, al menos de la partición de arranque 26 seleccionada, por ejemplo mediante el uso de un cálculo de suma de verificación. Esto permite garantizar que la partición de arranque 26 que se usará para arrancar el dispositivo electrónico 12 no esté corrupta.
Como se indicó anteriormente, la verificación de la integridad de la o una de las particiones de arranque 26 correspondientes se realiza mediante un cálculo de CRC o mediante la aplicación de una función hash sobre el contenido de dicha partición de arranque 26, con la posterior comparación del valor obtenido por esta función hash con un valor predeterminado.
Durante la etapa de verificación de integridad 100, si el programa de arranque 25 detecta que una primera partición de arranque 26 no se verifica, o en otras palabras, está corrupta, entonces el programa de arranque 25 se arranca desde la siguiente partición de arranque 26.
Si la unidad de memoria 24 incluye una única partición de arranque 26 y el programa de arranque 25 detecta la corrupción de esta única partición de arranque 26, el programa de arranque 25 deja de arrancar el dispositivo electrónico 12 correspondiente e informa de esta corrupción de la partición de arranque 26.
Tener varias particiones de arranque 26 redundantes por tanto permite reducir el riesgo de fallo del dispositivo electrónico 12. Esto permite, en particular, arrancar el dispositivo electrónico 12 a pesar de la corrupción de una o varias particiones de arranque 26, siempre que haya al menos una partición de arranque 26 intacta que permita arrancar el dispositivo electrónico 12.
Un experto en la técnica observará de manera más general que aumentar el número de particiones de arranque 26 redundantes permite aumentar el tiempo de funcionamiento del dispositivo electrónico 12.
Después de verificar la integridad de la(s) partición(ones) de arranque 26, el programa de arranque 25 ordena la activación del núcleo 40 al activar la ejecución, a través del procesador 22, del módulo de activación primario 46. Durante la siguiente etapa 110, el módulo de activación primario 46 comienza entonces al iniciar el núcleo 40 y sus utilidades asociadas. El módulo de activación primario 46 ordena posteriormente la activación de al menos una aplicación de software 50, mediante la activación de la ejecución, a través del procesador 22, del módulo de activación secundario 52.
Durante la etapa 120, el módulo de activación secundario 52 ordena la ejecución de la(s) correspondiente(s) aplicación(es) de software 50, para realizar ciertas tareas, en particular las siguientes tareas: administración de red adicional, administración de hardware específico (coprocesador especializado, sensor, llave de configuración de hardware, conexión serie, monitor, etc.), supervisión del tren (señalización, tracción, información al viajero, etc.). El módulo de activación secundario 52 también ordena la actualización de la red 18 si es necesario. Cuando se han llevado a cabo las diferentes tareas en el nivel de partición de aplicación 28, el módulo de activación secundario 52 le dice al módulo de activación primario 46 que la aplicación de la confirmación de red se ha realizado con éxito. El módulo de activación primario 46 luego continúa su secuencia de arranque en paralelo con el módulo de activación secundario 52.
El módulo de activación primario 46 activa posteriormente, durante la etapa 130, la configuración de red 18 mediante el uso del administrador de configuración de red 42, en particular para configurar la(s) capa(s) de red correspondiente(s).
Cuando se realiza la configuración de red, el módulo de activación primario 46 ordena, durante la siguiente etapa 140, el arranque del administrador de consultas 44, que luego podrá recibir continuamente una o varias consultas del aparato exterior 16 o del servidor de mantenimiento 14, y colocarse en espera para esperar por una o varias solicitudes (etapa 150).
Durante la siguiente etapa 160, en particular después del recibo de una consulta, la(s) aplicación(es) de software 50 realiza(n) diferentes tareas en el nivel de partición de aplicación 28.
Luego, el dispositivo electrónico 12 se arranca y puede recibir continuamente al menos una consulta del aparato electrónico exterior 16 o del servidor de mantenimiento 14, en particular una consulta referida a la implementación de una prueba de mantenimiento, una solicitud de identificación o una solicitud de recuperación guardada, desde el aparato exterior 16 o el servidor de mantenimiento 14. Después de recibir esta consulta del aparato exterior 16, el dispositivo electrónico 12, por supuesto, se configura para procesar esta consulta, preparar una respuesta y, posteriormente, enviar la respuesta correspondiente a la consulta al dispositivo exterior 16.
El diagrama de flujo de la Figura 4 ilustra el escenario de arranque del dispositivo electrónico 12 en modo degradado, si la partición de aplicación 28 no reacciona después de la activación del módulo de activación secundario 52, por medio del módulo de activación primario 46, como se muestra por la etapa de fallo 220 que sigue la etapa de arranque 110 del núcleo.
En el ejemplo de la Figura 4, las etapas 100 y 110 son idénticas a las descritas anteriormente en el ejemplo de la Figura 3 y no se describen de nuevo.
Cuando, después de la etapa de arranque del núcleo 110, el módulo de activación primario 46 ordena la activación de una o varias aplicaciones de software 50 de la partición de aplicación 28 a través del módulo de activación secundario 52, también desencadena un retardo de tiempo máximo Tmáx para realizar la etapa de configuración de red 130 al final de este retardo de tiempo máximo Tmáx a más tardar, en caso de una falta de respuesta de la partición de aplicación 28.
En el ejemplo de la Figura 4, si la activación de la partición de aplicación 28 conduce a una falla (etapa 220), el módulo de activación primario 46 activa, al final del retardo de tiempo máximo Tmáx, la configuración de red 18 durante la etapa 130, la etapa 130 es idéntica a la descrita anteriormente en relación con la Figura 3.
Al final de la etapa de configuración de red 130, el módulo de activación primario 46 también ordena, de manera similar a lo que se describió para la Figura 3, durante la etapa 140, el inicio del administrador de consultas 44, esta etapa de arranque 140 del administrador de consultas es idéntica a la descrita anteriormente. El dispositivo electrónico 12 entonces está en espera mientras espera una o varias consultas (etapa 150), de manera similar a lo descrito anteriormente para la Figura 3.
Por tanto, el dispositivo electrónico 12, después que se arranca, está continuamente disponible para recibir una consulta del aparato exterior 16 o del servidor de mantenimiento 14, y esto mejora su mantenimiento y en particular facilita su actualización. Esta capacidad del dispositivo electrónico 12 de recibir consultas continuamente desde el aparato exterior 16 o el servidor de mantenimiento 14, después de que se arranca, se obtiene mediante la implementación del administrador de consultas 44 que se configura para poder recibir continuamente, después de su activación, al menos una consulta desde el aparato exterior 16 o el servidor de mantenimiento 14.
Esta capacidad del administrador de consultas 44 para recibir continuamente una consulta del aparato exterior 16 o del servidor de mantenimiento 14 se obtiene, por ejemplo, al asignar la parte 72 asignada de la zona de ejecución de memoria 60 al administrador de consultas 44, y luego al reservar esta parte 72 asignada para ejecutar el administrador 44, el administrador de consultas 44 entonces se mantiene residente en la parte 72 asignada durante todo el funcionamiento del dispositivo electrónico 12. En otras palabras, las primitivas de bloqueo de memoria se usan para bloquear parte de la memoria volátil 36, para garantizar que el administrador de consultas 44 no carecerá de espacio de memoria para ejecutarse.
El hecho de que el administrador de consultas 44 sea un proceso informático configurado para ejecutarse en segundo plano permite además garantizar la persistencia del administrador de consultas. En particular, el hecho de que el administrador de consultas 44 tenga la forma de un demonio cuando el núcleo 40 es de tipo Linux permite mejorar además el tiempo de funcionamiento del administrador de consultas 44.
La carga del conjunto de elementos mínimos de la partición de arranque 26, en otras palabras, el núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44 en la zona de almacenamiento de memoria 62, esta zona de almacenamiento de memoria 62 se asigna a la partición de arranque 26 correspondiente, permite mejorar la accesibilidad de estos elementos. La zona de almacenamiento de memoria 62 también se denomina disco RAM.
El hecho de que el núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44 se carguen en la zona de almacenamiento de memoria 62 permite actualizar toda la partición de arranque 26, ya que no es necesario bloquear ningún fichero.
Como una adición opcional, esta zona de almacenamiento de memoria 62 además no se libera durante el funcionamiento del dispositivo electrónico 12 para garantizar mayor accesibilidad del núcleo 40, el administrador de configuración de red 42 y el administrador de consultas 44.
La conexión estática del administrador de consultas 44 a cada biblioteca de funciones 74 de la que depende permite no tener una dependencia dinámica con bibliotecas exteriores, minimizar el espacio de memoria ocupado por el administrador de consultas 44 y reducir además el tiempo de arranque del dispositivo electrónico 12.
Además, el hecho de que el administrador de consultas 44 incluya, como una adición opcional, su propio servidor web, permite no tener dependencia de un servidor web de terceros y reducir además el tiempo de arranque del dispositivo electrónico 12.
Puede verse por tanto que la invención tiene un impacto mínimo en el tiempo de arranque del dispositivo electrónico 12, a pesar de la presencia de una o varias particiones de arranque 26, la invención también tiene un impacto mínimo en la ocupación del espacio de memoria.
Además, si el dispositivo electrónico 12 incluye varias particiones de arranque 26 redundantes, el dispositivo electrónico 12 ofrece además mejor tiempo de funcionamiento y mayor fiabilidad, ya que es posible arrancar o reiniciar el dispositivo electrónico 12, incluso si una de las particiones de arranque 26 falla.

Claims (13)

  1. REIVINDICACIONES
    i. Un dispositivo electrónico (12), tal como un dispositivo de tren, que comprende:
    - un procesador (22),
    - una unidad de memoria (24), asociada al procesador (22) y que incluye:
    un programa de arranque (25),
    al menos una partición de arranque (26),
    caracterizado porque cada partición de arranque (26) incluye un núcleo (40), un administrador de configuración de red (42) y un administrador de consultas (44), el administrador de consultas (44) se configura para administrar al menos una consulta recibida desde un aparato electrónico (16) exterior al dispositivo electrónico (12),
    el programa de arranque (25) se configura para ordenar, para la o una de las particiones de arranque (26), la activación del núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44), y
    porque el administrador de consultas (44) se configura para poder, después de su activación, recibir continuamente al menos una consulta del aparato exterior (16),
    la unidad de memoria (24) incluye una memoria no volátil (34) y una memoria volátil (36), la memoria no volátil (34) puede almacenar el programa de arranque (25) y la(s) partición(ones) de arranque (26), la memoria volátil (36) incluye una zona de memoria de ejecución (60) configurada para ejecutar el programa de arranque (25), el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44) de la partición de arranque correspondiente, y
    el dispositivo (12) que comprende además un módulo de asignación (70) configurado para asignar parte (72) de la zona de memoria de ejecución (60) al administrador de consultas (44), luego para reservar dicha parte asignada (72) a la ejecución del administrador de consultas (44) y mantener el administrador de consultas (74) residente en dicha parte asignada (72),
    el dispositivo (12) que comprende además un módulo de activación primario (46) configurado para crear, en la memoria volátil (36), una zona de almacenamiento de memoria (62) asignada a la correspondiente partición de arranque (26), luego para cargar, en la zona de almacenamiento de memoria (62), el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44) de dicha partición de arranque (26).
  2. 2. El dispositivo (12) de acuerdo con la reivindicación 1, en donde el administrador de consultas (44) es un proceso informático configurado para ejecutarse en segundo plano.
  3. 3. El dispositivo (12) de acuerdo con la reivindicación 1 o 2, en donde el módulo de activación primario (46) se configura además para ordenar la ejecución del núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44) de dicha partición de arranque (26).
  4. 4. El dispositivo (12) de acuerdo con cualquier reivindicación de las reivindicaciones anteriores, en donde el módulo de activación primario (46) se configura además para mantener la asignación de dicha zona de almacenamiento de memoria (62) en la memoria volátil (36) durante todo el funcionamiento del dispositivo
  5. 5. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde cada partición de arranque (26) se forma por el módulo de activación primario (46), el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44).
  6. 6. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde, cuando el administrador de consultas (44) depende de al menos una biblioteca de funciones (74), el administrador de consultas (44) se vincula estáticamente a cada biblioteca (74) de la que depende.
  7. 7. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el administrador de consultas (44) incluye además un servidor web.
  8. 8. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el programa de arranque (25) se configura además para verificar la integridad de la o al menos una de las particiones de arranque (26).
  9. 9. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el programa de arranque (25) se configura para seleccionar la o una de las particiones de arranque (26), y ordenar, para la partición de arranque (26) seleccionada, la activación del núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44), en particular mediante la ejecución de un módulo de activación primario (46), el dispositivo (12) que comprende dicho módulo de activación primario (46).
  10. 10. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde la unidad de memoria (24) incluye además una partición de aplicación (28), la partición de aplicación (28) incluye al menos una aplicación de software (50) y un módulo de activación secundario (52) que se configura para ejecutar al menos una aplicación de software correspondiente (50).
  11. 11. El dispositivo (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde la unidad de memoria (24) incluye al menos dos particiones de arranque (26) redundantes, cada partición de arranque (26) incluye el núcleo (40), el administrador de configuración de red (42) y el administrador de consultas (44).
  12. 12. Un vehículo ferroviario que comprende un dispositivo electrónico ferroviario (12), caracterizado porque el dispositivo electrónico (12) es de acuerdo con cualquiera de las reivindicaciones anteriores.
  13. 13. Un sistema ferroviario (10), que comprende:
    - al menos un elemento de entre un servidor de mantenimiento (14) y un aparato de mantenimiento electrónico (16), y
    - al menos un vehículo ferroviario que incluya un dispositivo electrónico ferroviario (12),
    cada elemento de entre el servidor de mantenimiento (16) y el aparato de mantenimiento (14) se conecta al dispositivo electrónico (12) y se configura para enviar una o varias consultas al dispositivo electrónico (12),
    caracterizado porque el dispositivo electrónico (12) es de acuerdo con cualquiera de las reivindicaciones 1 a la 11.
ES16184095T 2015-08-14 2016-08-12 Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados Active ES2909593T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1557752A FR3040094B1 (fr) 2015-08-14 2015-08-14 Equipement electronique comprenant un programme de demarrage partitionne, vehicule ferroviaire et systeme ferroviaire associes

Publications (1)

Publication Number Publication Date
ES2909593T3 true ES2909593T3 (es) 2022-05-09

Family

ID=54783756

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16184095T Active ES2909593T3 (es) 2015-08-14 2016-08-12 Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados

Country Status (7)

Country Link
EP (1) EP3131005B1 (es)
BR (1) BR102016018545A2 (es)
CA (1) CA2938678C (es)
CL (1) CL2016002029A1 (es)
ES (1) ES2909593T3 (es)
FR (1) FR3040094B1 (es)
SG (1) SG10201606768UA (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933348B (zh) * 2019-01-21 2023-02-14 宁波普瑞均胜汽车电子有限公司 一种电子控制单元中Bootloader的更新方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487343B1 (en) * 2005-03-04 2009-02-03 Netapp, Inc. Method and apparatus for boot image selection and recovery via a remote management module
US8352577B2 (en) * 2008-07-22 2013-01-08 Lockheed Martin Corporation Method and apparatus for updating information on an embedded system
CN106227568A (zh) 2012-11-09 2016-12-14 青岛海信移动通信技术股份有限公司 终端设备开机、升级方法和设备

Also Published As

Publication number Publication date
CA2938678C (fr) 2024-11-19
CL2016002029A1 (es) 2017-08-18
FR3040094B1 (fr) 2017-09-15
CA2938678A1 (fr) 2017-02-14
EP3131005B1 (fr) 2021-12-29
EP3131005A1 (fr) 2017-02-15
BR102016018545A2 (pt) 2017-05-02
SG10201606768UA (en) 2017-03-30
FR3040094A1 (fr) 2017-02-17

Similar Documents

Publication Publication Date Title
AU2020202180B2 (en) Memory allocation techniques at partially-offloaded virtualization managers
US11023589B2 (en) Secure booting of virtualization managers
EP3811202B1 (en) Memory-efficient upgrade staging
US8495618B1 (en) Updating firmware in a high availability enabled computer system
US10127068B2 (en) Performance variability reduction using an opportunistic hypervisor
US20190179628A1 (en) Firmware update
US11210173B2 (en) Fault tolerant device upgrade
US9983988B1 (en) Resuming testing after a destructive event
CN116700801A (zh) 配置信息的管理方法、装置及服务器
WO2020158377A1 (ja) 電子制御装置、電子制御装置のセキュリティ検証方法
ES2909593T3 (es) Dispositivo electrónico integrado en el tren que comprende un programa de arranque con una o más particiones de inicio, y el vehículo y el sistema de tren asociados
WO2017143513A1 (zh) 一种启动Boot的方法、CPU及单板
US10191793B2 (en) Microprocessor device with reset timer
CN114282205B (zh) 固件启动方法及装置、计算机可读存储介质
US20180129554A1 (en) Bitwise sparing in a memory system
WO2016184180A1 (zh) 一种系统安全启动方法及装置
HK1229018A1 (en) Train embedded electronic device comprising a boot program with one or more startpartitions, and the associated train vehicle and system
HK1229018B (en) Train embedded electronic device comprising a boot program with one or more startpartitions, and the associated train vehicle and system
JP7461755B2 (ja) 情報処理装置、プログラム更新システム、及びプログラム更新方法
CN118626105A (zh) 一种车载系统的刷写方法、装置、整车处理器及车辆
CN110928582A (zh) 信息处理设备和配置信息处理设备的目标装置的方法