ES2795015T3 - Server device that operates a software for controlling a function of a rail transport protection system - Google Patents

Server device that operates a software for controlling a function of a rail transport protection system Download PDF

Info

Publication number
ES2795015T3
ES2795015T3 ES17720733T ES17720733T ES2795015T3 ES 2795015 T3 ES2795015 T3 ES 2795015T3 ES 17720733 T ES17720733 T ES 17720733T ES 17720733 T ES17720733 T ES 17720733T ES 2795015 T3 ES2795015 T3 ES 2795015T3
Authority
ES
Spain
Prior art keywords
software
server
srv
server device
processes
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
ES17720733T
Other languages
Spanish (es)
Inventor
Christoph Erdmann
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.)
Thales Management and Services Deutschland GmbH
Original Assignee
Thales Management and Services Deutschland GmbH
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 Thales Management and Services Deutschland GmbH filed Critical Thales Management and Services Deutschland GmbH
Application granted granted Critical
Publication of ES2795015T3 publication Critical patent/ES2795015T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L19/00Arrangements for interlocking between points and signals by means of a single interlocking device, e.g. central control
    • B61L19/06Interlocking devices having electrical operation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/30Trackside multiple control systems, e.g. switch-over between different systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L19/00Arrangements for interlocking between points and signals by means of a single interlocking device, e.g. central control
    • B61L19/06Interlocking devices having electrical operation
    • B61L2019/065Interlocking devices having electrical operation with electronic means

Abstract

Dispositivo de servidor (1; 30) que opera un software para el control de una función de un sistema de protección de transporte sobre carriles, operando el software (11, 12, 13; 31, 32, 33) de manera separada físicamente entre sí al menos dos procesos (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) cuyos resultados se comparan entre sí para realizar el control de la función, caracterizado por que el software (11, 12, 13; 31, 32, 33) se opera en un nivel operativo virtual del dispositivo de servidor (1; 30), por que el dispositivo de servidor (1; 30) comprende al menos dos clústeres de servidores (SC1, SC2, SC3) separados físicamente entre sí, comprendiendo cada uno de los clústeres de servidores (SC1, SC2, SC3) del dispositivo de servidor (1; 30) al menos dos servidores individuales (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2) que permiten una migración de procesos (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) entre sí en el caso de un fallo de un servidor individual (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2), ejecutándose los al menos dos procesos (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) en máquinas virtuales (VM), y por que el software (11, 12, 13; 31, 32, 33) comprende al menos dos partes que están instaladas en clústeres de servidores diferentes de los al menos dos clústeres de servidores (SC1, SC2, SC3) de forma que los al menos dos procesos (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) se operan en clústeres de servidores diferentes de los al menos dos clústeres de servidores (SC1, SC2, SC3).Server device (1; 30) that operates a software for the control of a function of a rail transport protection system, operating the software (11, 12, 13; 31, 32, 33) physically separated from each other at least two processes (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) whose results are compared with each other to control the function, characterized in that the software (11 , 12, 13; 31, 32, 33) is operated at a virtual operating level of the server device (1; 30), because the server device (1; 30) comprises at least two server clusters (SC1, SC2 , SC3) physically separated from each other, each of the server clusters (SC1, SC2, SC3) of the server device (1; 30) comprising at least two individual servers (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2) that allow process migration (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c ; 33a-33c) to each other in the event of an indi server failure vidual (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2), executing the at least two processes (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) in virtual machines (VMs), and because the software (11, 12, 13; 31, 32, 33) comprises at least two parts that are installed in different server clusters of the at least two server clusters (SC1, SC2, SC3) so that the at least two processes (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) are operated on clusters of servers different from the al least two server clusters (SC1, SC2, SC3).

Description

DESCRIPCIÓNDESCRIPTION

Dispositivo de servidor que opera un software para el control de una función de un sistema de protección de transporte sobre carrilesServer device that operates a software for controlling a function of a rail transport protection system

La invención se refiere a un dispositivo de servidor que opera un software para el control de una función de un sistema de protección de transporte sobre carriles,The invention relates to a server device that operates a software for controlling a function of a rail transport protection system,

operando el software al menos dos procesos de forma separada físicamente entre sí cuyos resultados se comparan entre sí para realizar el control de la función.operating the software at least two processes physically separated from each other whose results are compared with each other to perform the function control.

Sistemas de protección de transporte sobre carriles, en particular puestos de enclavamiento y sistemas de protección de trenes, se automatizan cada vez más mediante ordenadores. A este respecto se debe garantizar un alto nivel de fiabilidad, disponibilidad, facilidad de mantenimiento y seguridad de personas (los denominados requisitos RAMS; Reliability Availability Maintainability Safety). Mientras que, por regla general, errores de software (errores de programación) se pueden descubrir y eliminar mediante una planificación y revisión adecuadas de escenarios de prueba hasta la puesta en funcionamiento, errores de hardware (en particular el fallo de componentes constructivos individuales, por ejemplo, transistores) se pueden producir en principio en cualquier momento durante el funcionamiento. Errores de hardware de este tipo se deben descubrir a tiempo de forma que no se produce un riesgo para personas (maquinistas de locomotora, pasajeros) en la protección de transporte sobre carriles y, preferiblemente, tampoco para equipos (locomotoras, vagones) valiosos o carga.Rail transport protection systems, in particular interlocking posts and train protection systems, are increasingly being automated by computers. In this regard, a high level of reliability, availability, ease of maintenance and personal safety (the so-called RAMS requirements; Reliability Availability Maintainability Safety) must be guaranteed. Whereas, as a rule, software errors (programming errors) can be discovered and eliminated by proper planning and review of test scenarios up to commissioning, hardware errors (in particular the failure of individual constructional components, for example example, transistors) can be produced in principle at any time during operation. Hardware errors of this type must be discovered in time so that there is no risk for persons (locomotive drivers, passengers) in the protection of rail transport and preferably also for valuable equipment (locomotives, wagons) or cargo .

Por tanto, en aplicaciones relevantes para la seguridad en sistemas de protección de transporte se realiza habitualmente un procesamiento de múltiples canales y una revisión de componentes relevantes para la seguridad, véase, por ejemplo, M. Schafer, F. Schneider, "Standardisierte Bedienoberflachen für Bahnsteuerungssysteme", Signal Draht (98), 9-2006, páginas 50-52.Therefore, in safety-relevant applications in transport protection systems, multi-channel processing and a review of safety-relevant components is usually carried out, see, for example, M. Schafer, F. Schneider, "Standardisierte Bedienoberflachen für Bahnsteuerungssysteme ", Signal Draht (98), 9-2006, pages 50-52.

En el procesamiento de múltiples canales, varios procesos del mismo tipo se operan en paralelo separados físicamente entre sí, esto es, con hardware diferente, y los resultados se comparan entre sí. En caso de coincidir los resultados, se puede partir de que el hardware implicado funciona correctamente. En el caso de un error en un hardware implicado, se produce una divergencia de los resultados, lo que se puede detectar mediante una comparación de los mismos. La aplicación puede tomar entonces medidas de seguridad adecuadas, por ejemplo, poner de manera preventiva señales en "parada".In multi-channel processing, several processes of the same type are operated in parallel physically separated from each other, that is, with different hardware, and the results are compared with each other. If the results coincide, it can be assumed that the hardware involved is working correctly. In the event of an error in the hardware involved, a divergence of the results occurs, which can be detected by comparing them. The application can then take appropriate safety measures, for example, preventively put signals on "stop".

Software del ámbito de los sistemas de protección de transporte sobre carriles está instalado habitualmente en aparatos individuales en los que se puede asegurar bien la separación física de procesos. Para ello, el software y la arquitectura de aparato se ajustan de manera adecuada entre sí.Software in the field of rail transport protection systems is usually installed in individual devices where the physical separation of processes can be well ensured. For this, the software and the device architecture are appropriately matched to each other.

En el caso de ordenadores con denominados procesadores de múltiples núcleos es posible provocar una asignación fija de procesadores individuales a recursos de ordenador mediante una programación adecuada. Con respecto a la programación en Linux ha demostrado ser eficiente para ello el uso de denominados "cgroups", véase la entrada en inglés de Wikipedia "cgroups" del 31/3/2016. De manera correspondiente, para procesos cuyos resultados se deben comparar se pueden asignar diferentes núcleos de procesador (el denominado "core binding"), por lo que se puede asegurar la separación física de los procesos.In the case of computers with so-called multi-core processors it is possible to cause a fixed allocation of individual processors to computer resources by suitable scheduling. With regard to programming in Linux, the use of so-called "cgroups" has proven to be efficient, see the English Wikipedia entry "cgroups" of 3/31/2016. Correspondingly, for processes whose results are to be compared, different processor cores can be assigned (the so-called "core binding"), whereby the physical separation of the processes can be ensured.

Mediante la virtualización de aplicaciones se puede renunciar a proporcionar aparatos individuales en muchos casos. Asimismo, el desarrollo de software y la integración están simplificados. Por ejemplo, la virtualización de un sistema de control de trenes se ha propuesto en el documento WO 2015/126529 A1.By means of application virtualization, you can forego providing individual appliances in many cases. Also, software development and integration are simplified. For example, the virtualization of a train control system has been proposed in WO 2015/126529 A1.

Además, mediante la virtualización en un clúster de servidores a partir de varios servidores individuales es posible realizar una migración de procesos a otro servidor individual en el caso de un fallo de un servidor individual y, así, mejorar la disponibilidad de una aplicación.Furthermore, by virtualizing a server cluster from several individual servers, it is possible to migrate processes to another individual server in the event of a single server failure, thereby improving the availability of an application.

Sin embargo, en el caso de una operación de un software en un nivel operativo virtualizado de un clúster de servidores, procesos individuales operados por el software ya no se pueden asignar a determinados recursos de ordenador; en particular, se asignan los procesos individuales de forma fundamentalmente aleatoria a uno de los ordenadores individuales. Entonces existe el riesgo (estadísticamente relevante) de que varios procesos, cuyos resultados se deben comparar entre sí, se ejecuten en el mismo hardware de forma que un error de hardware de este hardware genera los mismos cálculos erróneos en estos varios procesos y, de manera correspondiente, el error de hardware ya no se puede encontrar mediante una comparación de los resultados de los procesos. En este caso ya no está garantizada la seguridad operacional en el sistema de protección de transporte sobre carriles.However, in the case of a software operation on a virtualized operational level of a server cluster, individual processes operated by the software can no longer be assigned to certain computer resources; in particular, the individual processes are assigned in a fundamentally random way to one of the individual computers. Then there is the risk (statistically relevant) that several processes, whose results must be compared with each other, are executed on the same hardware so that a hardware error of this hardware generates the same erroneous calculations in these various processes and, in such a way corresponding, the hardware error can no longer be found by comparing the process results. In this case, operational safety in the rail transport protection system is no longer guaranteed.

El documento EP 1085415 A2, que se considera el estado de la técnica más próximo, da a conocer un módulo de programa y un procedimiento para aumentar la seguridad de un sistema controlado por software, en particular de un puesto de enclavamiento electrónico para la técnica de señalización ferroviaria. En el ejemplo de realización de la figura 4 del mismo se emplea un conjunto de ordenadores compuesto por los ordenadores R8, R9, R10, R11 y un comparador V3. Los ordenadores R8 y R9 están conectados en serie y los ordenadores R10 y R11 están conectados en serie. A este respecto, los ordenadores R10 y R11 están conectados en paralelo a los ordenadores R8 y R9. En los ordenadores R8 y R10 está instalada en cada caso la primera parte de programa de un módulo de programa, y en los ordenadores R9 y R11 está instalada en cada caso la segunda parte de programa del módulo de programa. Ambos ordenadores R8 y R10 reciben los mismos datos de entrada. Los datos de salida de los ordenadores R9 y R11 se comprueban por el comparador V3; solo si coinciden los datos de salida de los ordenadores R9 y R11 se libera un trayecto de desplazamiento.Document EP 1085415 A2, which is considered the closest state of the art, discloses a program module and a method to increase the security of a software-controlled system, in particular of an electronic interlocking station for the technique of railway signaling. In the exemplary embodiment of FIG. 4 thereof, a set of computers is used, made up of computers R8, R9, R10, R11 and a comparator V3. Computers R8 and R9 are connected in series and computers R10 and R11 are connected in series. In this regard, computers R10 and R11 are connected in parallel to computers R8 and R9. In computers R8 and R10, the first program part of a program module is installed in each case, and in computers R9 and R11 the second program part of the program module is installed in each case. Both R8 and R10 computers receive the same input data. The output data from computers R9 and R11 is checked by comparator V3; only if the output data from computers R9 and R11 match is a travel path released.

El documento US 2003/0018927 A1 describe un sistema de servidor de clúster de alta disponibilidad. El clúster comprende varios servidores físicos/servidores individuales a los que se hace referencia como "nodes". En cada node se ejecutan uno o varios programas de software a los que se hace referencia como "servidor virtual". Si falla un node, un servidor virtual afectado se transfiere a otro node.US 2003/0018927 A1 describes a high availability cluster server system. The cluster comprises multiple physical servers / individual servers referred to as "nodes". Each node runs one or more software programs referred to as "virtual server". If a node fails, an affected virtual server is transferred to another node.

Objetivo de la invenciónObject of the invention

La invención se basa en el objetivo de proporcionar un dispositivo de servidor en el que se pueda garantizar una disponibilidad mejorada de una aplicación de software con una alta seguridad operacional del tráfico ferroviario al mismo tiempo.The invention is based on the aim of providing a server device in which an improved availability of a software application can be guaranteed with a high operational safety of rail traffic at the same time.

Breve descripción de la invenciónBrief description of the invention

Este objetivo se consigue mediante un dispositivo de servidor del tipo mencionado al inicio con las características de la reivindicación 1 que está caracterizado por que el software se opera en un nivel operativo virtual del dispositivo de servidor,This objective is achieved by means of a server device of the type mentioned at the beginning with the characteristics of claim 1 which is characterized in that the software is operated at a virtual operating level of the server device,

por que el dispositivo de servidor comprende al menos dos clústeres de servidores separados físicamente entre sí, comprendiendo cada uno de los clústeres de servidores del dispositivo de servidor al menos dos servidores individuales que permiten una migración de procesos entre sí en el caso de un fallo de un servidor individual, ejecutándose los al menos dos procesos en máquinas virtuales,because the server device comprises at least two clusters of servers physically separated from each other, each of the server clusters of the server device comprising at least two individual servers that allow a migration of processes between them in the event of a failure of an individual server, with at least two processes running on virtual machines,

y por que el software comprende al menos dos partes que están instaladas en clústeres de servidores diferentes de los al menos dos clústeres de servidores de forma que los al menos dos procesos se operan en clústeres de servidores diferentes de los al menos dos clústeres de servidores.and because the software comprises at least two parts that are installed on different server clusters of the at least two server clusters so that the at least two processes are operated on different server clusters of the at least two server clusters.

Por un lado, la invención permite que una aplicación de software acceda a la disponibilidad aumentada en clústeres de servidores. Sin embargo, por otro lado, asegura que procesos, cuyos resultados se deben comparar entre sí para conservar la seguridad operacional, se ejecutan separados físicamente entre sí. Para ello, el dispositivo de servidor, que se utiliza para la operación del software, se configura con al menos dos clústeres de servidores. Cada uno de los clústeres de servidores del dispositivo de servidor comprende al menos dos servidores individuales que permiten una migración de procesos entre sí en el caso de un fallo de un servidor individual (High Availability Cluster). De esta manera se asegura una alta disponibilidad (disponibilidad operativa). Por otro lado, el software se divide en al menos dos partes que se reparten por los al menos dos clústeres de servidores. En cada caso una parte del software, y, con ello, uno de los procesos, está asignada fijamente a uno de los clústeres de servidores. De esta manera se asegura que los procesos, cuyos resultados se deben comparar entre sí, se ejecutan en diferentes clústeres de servidores y, con ello, en hardware diferente. Esta separación física de los procesos asegura que un error de hardware individual, que provoca un resultado erróneo de un proceso, se puede descubrir mediante una comparación con el resultado de un proceso del mismo tipo calculado con otro hardware (impecable).On the one hand, the invention allows a software application to access increased availability in server clusters. However, on the other hand, it ensures that processes, whose results must be compared with each other to maintain operational safety, are executed physically separated from each other. To do this, the server appliance, which is used for software operation, is configured with at least two server clusters. Each of the server clusters of the server device comprises at least two individual servers that allow a migration of processes between them in the event of a failure of an individual server (High Availability Cluster). This ensures high availability (operational availability). On the other hand, the software is divided into at least two parts that are spread over the at least two server clusters. In each case a part of the software, and thus one of the processes, is permanently assigned to one of the server clusters. This ensures that the processes, the results of which must be compared with each other, are executed on different server clusters and, therefore, on different hardware. This physical separation of processes ensures that an individual hardware error, causing a wrong result of a process, can be discovered by a comparison with the result of a process of the same type calculated with other hardware (flawless).

Los procesos, cuyos resultados se comparan entre sí, pueden ser procesos de verificación especiales que se ejecutan adicionalmente a la función de control de la aplicación de software (por ejemplo, el cálculo de dígitos de verificación/sumas de verificación), o también procesos principales que se usan por sí mismos para la función de control (por ejemplo, el cálculo de un esquema de las vías). Los procesos a comparar entre sí llevan a cabo las mismas operaciones de cálculo en el mismo orden (procesos del mismo tipo) para obtener el respectivo resultado de proceso. En general, los mismos resultados de proceso indican un funcionamiento correcto del dispositivo de servidor; en general, resultados de proceso diferentes indican un fallo.The processes, the results of which are compared with each other, can be special verification processes that run in addition to the control function of the software application (for example, calculation of check digits / checksums), or also main processes which are used by themselves for the control function (for example, the calculation of a layout of the tracks). The processes to be compared with each other carry out the same calculation operations in the same order (processes of the same type) to obtain the respective process result. In general, the same process results indicate correct operation of the server device; in general, different process results indicate a failure.

Por ejemplo, uno de los procesos, cuyos resultados se deben comparar entre sí, es un proceso maestro, y un segundo proceso es un proceso esclavo. Si el resultado del proceso esclavo se diferencia del resultado anteriormente determinado del proceso maestro, el estatus de la aplicación de software se pone en "no seguro" (unsafe) (por ejemplo, mediante la parte de software del proceso maestro y/o la parte de software del proceso esclavo y/o una parte de software adicional para el proceso de comparación) y ya no se fía de ninguno de los resultados de los procesos. Por ejemplo, en una aplicación de puesto de enclavamiento, todas las señales afectadas se pueden poner entonces de manera preventiva en "parada".For example, one of the processes, whose results must be compared with each other, is a master process, and a second process is a slave process. If the result of the slave process differs from the previously determined result of the master process, the status of the software application is set to "unsafe" (for example, by the software part of the master process and / or the slave process software and / or an additional piece of software for the comparison process) and no longer trust any of the process results. For example, in an interlocking station application, all affected signals can then be preemptively put to "stop".

Mediante la comparación de los resultados de los procesos se puede garantizar de manera fiable una operación segura del dispositivo de servidor o de la aplicación de software y, con ello, también de la función controlada del sistema de protección de transporte sobre carriles, por ejemplo, en un puesto de enclavamiento electrónico. Dado que los procesos están asignados en cada caso estrictamente a los clústeres de servidores individuales, la separación física de los mecanismos de verificación está asegurada en cualquier momento. A este respecto, la expresión "separados físicamente entre sí" hace referencia a una separación de los procesos de cálculo con respecto al hardware utilizado.By comparing the process results, a safe operation of the server device or the software application and thus also of the controlled function of the rail transport protection system, for example, can be reliably ensured in an electronic interlocking station. Since the processes are assigned in each case strictly to the individual server clusters, the physical separation of the verification mechanisms is ensured at any time. In this regard, The expression "physically separated from each other" refers to a separation of the calculation processes with respect to the hardware used.

Mediante la virtualización es posible operar el software en gran parte de manera independiente de un hardware local disponible. En particular se pueden remplazar fácilmente componentes individuales (tales como servidores individuales dentro de uno de los clústeres de servidores).Through virtualization it is possible to operate software largely independently of available local hardware. In particular, individual components (such as individual servers within one of the server clusters) can be easily replaced.

Formas de realización preferidas de la invenciónPreferred embodiments of the invention

En una forma de realización preferida del dispositivo de servidor de acuerdo con la invención, el software es una aplicación de puesto de enclavamiento. Debido a la arquitectura de acuerdo con la invención del dispositivo de servidor se puede garantizar un alto nivel de seguridad, tal como se exige habitualmente para aplicaciones de puesto de enclavamiento. Asimismo, es ventajosa la alta disponibilidad para evitar o minimizar retrasos en el funcionamiento del tráfico ferroviario.In a preferred embodiment of the server device according to the invention, the software is an interlocking station application. Due to the architecture according to the invention of the server device a high level of security can be ensured, as is usually required for interlocking station applications. Likewise, high availability is advantageous to avoid or minimize delays in the operation of rail traffic.

Es especialmente preferible un perfeccionamiento en el que el software es una aplicación para operar la interfaz de usuario de un puesto de enclavamiento controlado por ordenador, en particular con una funcionalidad para conectar terminales de operación móviles. Por ejemplo, el software puede ser una aplicación de servidor HIS (HIS = human machine interface for interlocking systems), en particular con función MPT y/o HHT (MPT = mobile possession terminal; HHT = hand held terminal). En esta aplicación ha demostrado ser especialmente eficaz la arquitectura de servidor de acuerdo con la invención. Como procesos a comparar o sus resultados se pueden usar en este caso esquemas calculados de las vías que se indican en terminales de operación, en particular terminales de operación móviles (tal como ordenadores tablet). Dado que el usuario puede encargarse temporalmente de la liberación de tramos de vía, en este caso debería estar disponible un estándar de seguridad elevado que puede proporcionar la invención.An improvement in which the software is an application for operating the user interface of a computer controlled interlocking station is especially preferable, in particular with a functionality for connecting mobile operating terminals. For example, the software can be a HIS server application (HIS = human machine interface for interlocking systems), in particular with MPT and / or HHT function (MPT = mobile possession terminal; HHT = hand held terminal). In this application the server architecture according to the invention has proven to be particularly efficient. As processes to be compared or their results can be used in this case calculated schemes of the paths that are indicated in operating terminals, in particular mobile operating terminals (such as tablet computers). Since the user can temporarily take care of the clearance of track sections, in this case a high safety standard should be available that the invention can provide.

También es preferible una forma de realización en la que el software es una aplicación de protección de trenes. Debido a la arquitectura de acuerdo con la invención del dispositivo de servidor se puede garantizar un alto nivel de seguridad, tal como se exige habitualmente para aplicaciones de puesto de enclavamiento. Aplicaciones de protección de trenes pueden incluir, por ejemplo, sistemas de frenado de emergencia al sobrepasar señales de "parada".An embodiment in which the software is a train protection application is also preferable. Due to the architecture according to the invention of the server device a high level of security can be ensured, as is usually required for interlocking station applications. Train protection applications may include, for example, emergency braking systems when passing "stop" signals.

Además, es ventajosa una forma de realización en la que el software está configurado de acuerdo con el nivel de integridad de seguridad 2 (SIL2) o superior. Este nivel de seguridad SIL2 es suficiente para muchas aplicaciones de sistemas de protección de transporte sobre carriles y se puede alcanzar bien con la arquitectura de servidor de acuerdo con la invención, pudiendo posibilitarse al mismo tiempo una disponibilidad aumentada. El nivel de integridad de seguridad (SIL) viene determinado según la norma EN 61508 (en particular las normas EN 50128 y EN 50129) en la versión vigente del 4/4/2016. El software puede ser, por ejemplo, una aplicación de servidor HIS.Furthermore, an embodiment is advantageous in which the software is configured according to Safety Integrity Level 2 (SIL2) or higher. This SIL2 safety level is sufficient for many applications of rail transport protection systems and can be achieved well with the server architecture according to the invention, while increasing availability can be made possible at the same time. The safety integrity level (SIL) is determined according to the EN 61508 standard (in particular the EN 50128 and EN 50129 standards) in the current version of 4/4/2016. The software can be, for example, a HIS server application.

Es especialmente ventajosa una forma de realización en la que el software está configurado de acuerdo con el nivel de integridad de seguridad 4 (SIL4). Con ello, el software cumple con los requisitos de seguridad más elevados. El nivel de seguridad SIL4 también se puede alcanzar bien con la arquitectura de servidor de acuerdo con la invención, pudiendo posibilitarse al mismo tiempo una disponibilidad aumentada. El nivel de integridad de seguridad (SIL) viene determinado según la norma EN 61508 (en particular las normas EN 50128 y EN 50129) en la versión vigente del 4/4/2016. Por ejemplo, el software puede ser una aplicación de un bloque central de radio (RBC = Radio Block Centre) o de un puesto de enclavamiento electrónico (interlocking module), además también una aplicación SCM (SCM = safe communication module) o una aplicación FEC (FEC = field element controller).An embodiment in which the software is configured in accordance with safety integrity level 4 (SIL4) is particularly advantageous. In doing so, the software meets the highest security requirements. The SIL4 security level can also be achieved well with the server architecture according to the invention, while an increased availability can be made possible at the same time. The safety integrity level (SIL) is determined according to the EN 61508 standard (in particular the EN 50128 and EN 50129 standards) in the current version of 4/4/2016. For example, the software can be an application of a central radio block (RBC = Radio Block Center) or of an electronic interlocking module (interlocking module), in addition also an application SCM (SCM = safe communication module) or an application FEC (FEC = field element controller).

Además, es ventajosa una forma de realización en la que el software opera exactamente dos procesos que están separados físicamente entre sí en exactamente dos clústeres de servidores diferentes. La configuración de dos clústeres de servidores para únicamente dos procesos a comparar entre sí (respectivamente en el caso de una respectiva operación de verificación) es relativamente fácil, aunque aumenta considerablemente la seguridad con una alta disponibilidad al mismo tiempo.Furthermore, an embodiment is advantageous in which the software operates exactly two processes that are physically separated from each other on exactly two different server clusters. The configuration of two server clusters for only two processes to be compared with each other (respectively in the case of a respective verification operation) is relatively easy, although it increases security considerably with high availability at the same time.

Una forma de realización ventajosa alternativa prevé que el dispositivo de servidor comprenda tres clústeres de servidores separados físicamente entre sí, que el software comprenda al menos tres partes que están instaladas en clústeres de servidores diferentes de los clústeres de servidores de forma que el software opera tres procesos en clústeres de servidores diferentes de los tres clústeres de servidores y que los resultados de los procesos se evalúen en el marco de una decisión de 2 de 3 para el control de la función del sistema de protección de transporte sobre carriles. Con la decisión de 2 de 3 es posible identificar aún resultados de proceso correctos también en el caso de un fallo de un hardware (en este caso de un error en uno de los clústeres de servidores), lo que aumenta adicionalmente la disponibilidad.An alternative advantageous embodiment provides that the server device comprises three clusters of servers physically separated from each other, that the software comprises at least three parts that are installed in server clusters different from the server clusters so that the software operates three processes in different server clusters of the three server clusters and that the results of the processes are evaluated within the framework of a 2 out of 3 decision for the function control of the lane transport protection system. With the decision of 2 out of 3 it is possible to still identify correct process results also in the event of a hardware failure (in this case of a failure in one of the server clusters), which further increases availability.

También es preferible una forma de realización en la que el dispositivo de servidor opera al menos un software adicional para el control de una función adicional de un sistema de protección de transporte sobre carriles y que el al menos un software adicional esté instalado y se opere únicamente en uno de los clústeres de servidores. El respectivo software adicional no se divide en partes diferentes que se deben instalar en clústeres de servidores diferentes; de este modo se facilita considerablemente la operación del software adicional. Típicamente, el software adicional está configurado según SILO. Típicamente, en esta forma de realización están instaladas y se operan en cada caso una o varias aplicaciones de software adicionales en cada uno de los clústeres de servidores.Also preferable is an embodiment in which the server device operates at least one additional software for controlling an additional function of a rail transport protection system and that the at least one additional software is installed and operated solely on one of the server clusters. He respective additional software is not divided into different parts to be installed on different server clusters; this greatly facilitates the operation of the additional software. Typically, the additional software is configured according to SILO. Typically, in this embodiment, one or more additional software applications are installed and operated in each case on each of the server clusters.

En un perfeccionamiento preferido de esta forma de realización, el al menos un software adicional comprende una o varias de las siguientes aplicaciones de software:In a preferred development of this embodiment, the at least one additional software comprises one or more of the following software applications:

- un sistema de planificación de horario, en particular ARAMIS-D;- a scheduling system, in particular ARAMIS-D;

- un sistema de gestión de números de tren y dirección de tren, en particular ARAMIS-C;- a train number and train address management system, in particular ARAMIS-C;

- un sistema de análisis de datos y métrica (business intelligence);- a data analysis and metric system (business intelligence);

- un sistema de mantenimiento de trenes (maintenance centre);- a system of maintenance of trains (maintenance center);

- un sistema de registro y control de datos de tren (checkpoint master node);- a train data recording and control system (checkpoint master node);

- un sistema de registro y evaluación de componentes operativos (service management tool). En la práctica, estas aplicaciones armonizan bien con el software repartido por diferentes clústeres de servidores, en particular cuando éste está configurado para la operación de una interfaz de usuario de un puesto de enclavamiento, por ejemplo, con conexión para terminales móviles.- a system for registering and evaluating operational components (service management tool). In practice, these applications harmonize well with the software spread over different server clusters, in particular when it is configured for the operation of a user interface of an interlocking station, for example, with connection for mobile terminals.

Otras ventajas de la invención resultan de la descripción y del dibujo. Asimismo, las características mencionadas anteriormente y desarrolladas aún en mayor medida pueden utilizarse de acuerdo con la invención en cada caso en sí mismas por separado o varias de ellas en combinaciones cualquiera. Las formas de realización mostradas y descritas no han de entenderse como enumeración cerrada, sino que tienen más bien carácter a modo de ejemplo para la descripción de la invención.Other advantages of the invention appear from the description and the drawing. Likewise, the characteristics mentioned above and developed still further can be used according to the invention in each case on their own or several of them in any combination. The embodiments shown and described are not to be construed as closed enumeration, but are rather exemplary in character for the description of the invention.

Descripción detallada de la invención y dibujoDetailed description of the invention and drawing

La invención está representada en el dibujo y se explica en más detalle mediante ejemplos de realización. Muestran: La figura 1 una vista general esquemática de la estructura de una primera forma de realización de un dispositivo de servidor de acuerdo con la invención con dos clústeres de servidores;The invention is represented in the drawing and is explained in more detail by means of exemplary embodiments. They show: FIG. 1 a schematic general view of the structure of a first embodiment of a server device according to the invention with two server clusters;

La figura 2 una vista general esquemática de la estructura de una segunda forma de realización de un dispositivo de servidor de acuerdo con la invención con tres clústeres de servidores.Figure 2 is a schematic general view of the structure of a second embodiment of a server device according to the invention with three server clusters.

Sumario de la invenciónSummary of the invention

La presente invención se basa en el reparto de procesos de un control de software de un sistema de protección de transporte sobre carriles en un nivel operativo virtual por diferentes clústeres de servidores. De esta manera, los procesos se pueden someter a una migración en los servidores individuales de su clúster de servidores para asegurar una alta disponibilidad en el caso de un fallo de servidores individuales. Los procesos son del mismo tipo y los resultados de los procesos se comparan entre sí para fines de seguridad. Mediante el reparto de los procesos por diferentes clústeres de servidores está asegurado que los procesos siempre se ejecutan en diferentes servidores individuales de forma que errores de hardware individuales conducen a resultados de proceso diferentes que se pueden descubrir fácilmente en el marco de verificaciones de seguridad.The present invention is based on the distribution of processes of a software control of a rail transport protection system at a virtual operational level by different clusters of servers. In this way, processes can be migrated across individual servers in your server cluster to ensure high availability in the event of individual server failure. The processes are of the same type and the results of the processes are compared with each other for security purposes. By dividing the processes across different server clusters, it is ensured that the processes always run on different individual servers, so that individual hardware errors lead to different process results that can be easily discovered in the framework of security checks.

Aplicación HIS en el marco de la invenciónHIS application within the framework of the invention

A continuación, la invención se describe en más detalle mediante el ejemplo de la arquitectura de una aplicación HIS, en particular con respecto al reparto de proceso.In the following, the invention is described in more detail by means of the example of the architecture of an HIS application, in particular with regard to process sharing.

La aplicación HIS (HIS = Human machine interface for Interlocking Systems) es una aplicación SIL2 (Safety Integrity Level 2) que está desarrollada especialmente y autorizada según la norma CENELEC EN 50128. Fundamentalmente tiene la función de interfaz de usuario de un puesto de enclavamiento electrónico (ESTW) y puede estar configurada para diferentes mercados o aplicaciones en diferentes diseños para tener en cuenta las respectivas particularidades. Todos los diseños tienen en común la arquitectura básica según la cual un proceso maestro realiza cálculos que finalmente conducen al denominado alumbrado (= representación visual en una pantalla) de estados de los elementos del puesto de enclavamiento. Estos cálculos también se realizan al mismo tiempo mediante uno o varios (según el diseño) proceso(s) esclavo y los resultados del cálculo se comparan de manera cruzada entre sí, es decir, tanto el proceso maestro como el/los proceso(s) esclavo comparan en cada caso el propio resultado de cálculo con los del otro o de los otros. En el caso de que los resultados de cálculo no coincidan, el sistema global se pone en un denominado "estado no seguro" que ya no permite determinadas acciones de operación relevantes para la seguridad.The HIS application (HIS = Human machine interface for Interlocking Systems) is a SIL2 application (Safety Integrity Level 2) that is specially developed and authorized according to the CENELEC EN 50128 standard. It basically has the function of the user interface of an electronic interlocking station (ESTW) and can be configured for different markets or applications in different designs to take into account the respective particularities. All the designs have in common the basic architecture according to which a master process performs calculations that ultimately lead to the so-called lighting (= visual representation on a screen) of the states of the interlocking station elements. These calculations are also performed at the same time by one or more (depending on the design) slave process (s) and the calculation results are cross-compared with each other, that is, both the master process and the process (s) Slaves compare in each case their own calculation result with those of the other or the others. In the event that the calculation results do not match, the overall system is put into a so-called "unsafe state" that no longer allows certain safety-relevant operating actions.

Un diseño especial de la aplicación HIS es el denominado servidor HIS que fundamentalmente sirve para alimentar terminales de operación conectados con los alumbrados o estados calculados de los elementos del puesto de enclavamiento.A special design of the HIS application is the so-called HIS server, which basically serves to supply operating terminals connected to the lighting or calculated states of the elements of the control station. interlocking.

Para cumplir con los requisitos según SIL2 de la norma EN 50128 la arquitectura HIS, según una característica, tiene que ser de tal manera que el proceso maestro y un proceso esclavo se ejecutan en diferentes procesadores (de hardware). En el caso de procesadores de múltiples núcleos, esto se puede conseguir al ligar los procesos fijamente a determinados núcleos de procesador (core binding; processor affinity). Con ello se puede garantizar que un error de cálculo de un procesador (o de un núcleo de procesador) nunca puede conducir al mismo resultado falso en el proceso maestro y en el proceso esclavo (errores dobles simultáneos se excluyen por la norma).To meet the SIL2 requirements of EN 50128 the HIS architecture, according to one characteristic, has to be such that the master process and a slave process run on different (hardware) processors. In the case of multi-core processors, this can be achieved by binding processes firmly to certain processor cores (core binding; processor affinity). This ensures that a calculation error of a processor (or processor core) can never lead to the same false result in the master process and in the slave process (simultaneous double errors are excluded by the standard).

Al portar las aplicaciones de servidor a un nivel operativo virtual común (virtual platform) ya no se puede garantizar de manera sencilla que el proceso maestro y el proceso esclavo no se ejecutan a través del mismo error de cálculo de un procesador, ya que la asignación de un procesador virtual a un (núcleo de) procesador físico no se puede dar y demostrar sin más.By porting the server applications to a common virtual operating level (virtual platform) it can no longer be easily guaranteed that the master process and the slave process do not run through the same computational error of a processor, since the allocation from a virtual processor to a physical processor (core) cannot just be given and demonstrated.

Los inventores han detectado que se pueden formar varios denominados clústeres de servidores a partir de ordenadores de servidor (servidores individuales) que ofrecen las ventajas de un nivel operativo virtual (alta disponibilidad, redundancia) y, al mismo tiempo, garantizan una separación física de procesos. Con dos clústeres de servidores de al menos dos ordenadores de servidor en cada caso, el proceso maestro se puede ejecutar en un clúster de servidores y el proceso esclavo se puede ejecutar en el otro clúster de servidores. A este respecto no se puede predecir qué (núcleo de) procesador se está utilizando en el clúster de servidores por un proceso, pero se puede excluir que los procesos en los diferentes clústeres de servidores vayan a utilizar en algún momento el mismo (núcleo de) procesador.The inventors have found that several so-called server clusters can be formed from server computers (individual servers) that offer the advantages of a virtual operational level (high availability, redundancy) and, at the same time, guarantee a physical separation of processes. . With two server clusters of at least two server computers in each case, the master process can run on one server cluster and the slave process can run on the other server cluster. In this regard, it cannot be predicted which processor (core) is being used in the server cluster by a process, but it can be excluded that the processes in the different server clusters will use the same (core) at some point. processor.

De esta manera también es posible la realización de la característica anteriormente descrita de la arquitectura HIS en el caso de emplear la aplicación HIS en un nivel operativo virtual.In this way, it is also possible to realize the previously described characteristic of the HIS architecture in the case of using the HIS application on a virtual operating level.

Forma de realización de un dispositivo de servidor con dos clústeres de servidoresRealization of a server appliance with two server clusters

En la figura 1 se describe en más detalle una primera forma de realización de un dispositivo de servidor 1 de acuerdo con la invención con dos clústeres de servidores SC1, SC2. El dispositivo de servidor 1 se denomina también clúster virtual (virtual cluster).In figure 1 a first embodiment of a server device 1 according to the invention with two server clusters SC1, SC2 is described in more detail. Server device 1 is also called a virtual cluster.

En este caso, al dispositivo de servidor 1 pertenecen un primer clúster de servidores SC1 y un segundo clúster de servidores SC2 que están configurados separados físicamente entre sí, lo que está ilustrado en la figura 1 mediante un límite físico 2. La expresión "separados físicamente" se refiere a que los ordenadores de servidor (SRV) de los dos clústeres de servidores SC1, SC2 no están compuestos por el mismo hardware sino que son ordenadores independientes. Con ello, la separación local se puede realizar tanto mediante la formación de los clústeres de servidores SC1, SC2 en el mismo bastidor en una sala de servidores o en diferentes bastidores en la misma sala de servidores o en diferentes salas de servidores como en diferentes emplazamientos con una distancia de varios kilómetros. El factor limitador para la distancia máxima entre los clústeres de servidores SC1, SC2 es la velocidad y el tiempo de latencia de la red situada entre los mismos para la sincronización de los clústeres de servidores SC1, SC2. Las conexiones de red están representadas en la figura 1 mediante líneas de conexión sencillas.In this case, to the server device 1 belong a first cluster of servers SC1 and a second cluster of servers SC2 that are configured physically separated from each other, which is illustrated in figure 1 by a physical boundary 2. The expression "physically separated "refers to the fact that the server computers (SRV) of the two server clusters SC1, SC2 are not composed of the same hardware but are independent computers. With this, the local separation can be realized both by forming the server clusters SC1, SC2 in the same rack in a server room or in different racks in the same server room or in different server rooms and in different locations. with a distance of several kilometers. The limiting factor for the maximum distance between the SC1, SC2 server clusters is the speed and latency of the network between them for the synchronization of the SC1, SC2 server clusters. The network connections are represented in Figure 1 by simple connection lines.

En el primer clúster de servidores SC1 están agrupados al menos dos ordenadores de servidor (servidores individuales) SRV-1 -1, SRV-1 -2 de modo que forman un clúster. Asimismo, en el segundo clúster de servidores SC2 están agrupados al menos dos ordenadores de servidor (servidores individuales) SRV-2-1, SRV-2-2 de modo que forman un clúster.In the first server cluster SC1, at least two server computers (individual servers) SRV-1 -1, SRV-1 -2 are grouped together so that they form a cluster. Also, in the second server cluster SC2, at least two server computers (individual servers) SRV-2-1, SRV-2-2 are grouped together so that they form a cluster.

En un clúster de servidores SC1, SC2 se ejecutan diferentes máquinas virtuales VM en las que, a su vez, se ejecutan las aplicaciones más diversas o sus procesos. Éstas pueden ser aplicaciones cuyos procesos están repartidos por los clústeres de servidores individuales, de las que, sin embargo, solo su actuación conjunta da como resultado una funcionalidad común, así como aplicaciones que se ejecutan individualmente en un clúster de servidores y que dan como resultado una funcionalidad independientemente de los otros procesos y aplicaciones. Ejemplos de aplicaciones y procesos de las máquinas virtuales VM son:In a cluster of servers SC1, SC2 different VM virtual machines are running in which, in turn, the most diverse applications or their processes are running. These can be applications whose processes are spread across individual server clusters, of which, however, only their joint action results in common functionality, as well as applications that run individually on a server cluster and result in a functionality independent of the other processes and applications. Examples of applications and processes of VM virtual machines are:

• HIS-Master 11 a (proceso de la aplicación HIS)• HIS-Master 11 a (HIS application process)

• HIS-Slave 11 b (proceso de la aplicación HIS)• HIS-Slave 11 b (HIS application process)

• Proceso de control de puesto de enclavamiento-1 12a (proceso de la aplicación de control de puesto de enclavamiento)• Interlocking station control process-1 12a (Interlocking station control application process)

(Interlocking-Control Process-1 = IL-Ctrl Proc-1)(Interlocking-Control Process-1 = IL-Ctrl Proc-1)

• Proceso de control de puesto de enclavamiento-2 12b (proceso de la aplicación de control de puesto de enclavamiento)• Interlocking station control process-2 12b (Interlocking station control application process)

(Interlocking-Control Process-2 = IL-Ctrl Proc-2) (Interlocking-Control Process-2 = IL-Ctrl Proc-2)

• Proceso de control de protección de trenes-1 13a (proceso de la aplicación de control de protección de trenes) (Train Control-Control Process-1 = TC-Ctrl Proc-1)• Train Protection Control Process-1 13a (Train Protection Control Application Process) (Train Control-Control Process-1 = TC-Ctrl Proc-1)

• Proceso de control de protección de trenes-213b (proceso de la aplicación de control de protección de trenes) (Train Control-Control Process-2 = TC-Ctrl Proc-2)• Train Protection Control Process-213b (Train Protection Control Application Process) (Train Control-Control Process-2 = TC-Ctrl Proc-2)

• Interfaz de usuario A 14 (Human Machine Interface A = HMI A)• User interface A 14 (Human Machine Interface A = HMI A)

• Aplicación B 15 (Application B = App B)• Application B 15 (Application B = App B)

• Interfaz de usuario C 16 (Human Machine Interface C = HMI C)• User interface C 16 (Human Machine Interface C = HMI C)

• Aplicación D 17 (Application D = App D).• Application D 17 (Application D = App D).

El dispositivo de servidor 1 tiene un dispositivo de control de clúster (cluster control) 18 común y un dispositivo de control de memoria (storage control) 19 común para ambos clústeres de servidores SC1, SC2. Cada clúster de servidores SC1, SC2 dispone de un control propio de alta disponibilidad (high availability = HA control) 20a, 20b con el que se pueden desplazar procesos de las aplicaciones entre los ordenadores individuales SRV-1-1, SRV-1-2 o SRV-2-1, SRV-2-2 dentro del respectivo clúster de servidores SC1 o SC2, en particular si se produce un defecto en un ordenador individual. Además, cada clúster de servidores SC1, SC2 dispone en cada caso de una memoria propia (storage vol 1, storage vol 2) 21a, 21b que se puede usar por los servidores individuales del respectivo clúster SC1, SC2.The server device 1 has a common cluster control device 18 and a common storage control device 19 for both server clusters SC1, SC2. Each server cluster SC1, SC2 has its own high availability control (high availability = HA control) 20a, 20b with which application processes can be moved between the individual computers SRV-1-1, SRV-1-2 or SRV-2-1, SRV-2-2 within the respective SC1 or SC2 server cluster, in particular if a defect occurs in an individual computer. Furthermore, each cluster of servers SC1, SC2 has in each case its own memory (storage vol 1, storage vol 2) 21a, 21b that can be used by the individual servers of the respective cluster SC1, SC2.

En el ejemplo de realización mostrado, el software de servidor HIS 11 está dividido en dos partes: El proceso maestro HIS 11a está implementado en el primer clúster de servidores SC1, y el proceso esclavo HIS 11b (del mismo tipo con respecto al proceso maestro HIS 11a) está implementado en el segundo clúster de servidores SC2. Por tanto, el proceso maestro HIS 11a siempre se ejecutará en uno de los servidores individuales SRV-1 -1 o SRV-1 -2 del primer clúster de servidores SC1, pero no en los servidores individuales del segundo clúster de servidores SC2. A la inversa, el proceso esclavo HIS 11b siempre se ejecutará en uno de los servidores individuales SRV-2-1 o SRV-2-2 del segundo clúster de servidores SC2, pero no en los servidores individuales del primer clúster de servidores SC1. De esta manera se asegura que el proceso maestro HIS 11a y el proceso esclavo HIS 11b siempre están separados físicamente entre sí. Si los resultados de proceso coinciden, el resultado de proceso que coincide es fiable.In the exemplary embodiment shown, the HIS 11 server software is divided into two parts: The HIS 11a master process is implemented in the first server cluster SC1, and the HIS 11b slave process (of the same type with respect to the HIS master process 11a) is deployed on the second SC2 server cluster. Therefore, the HIS 11a master process will always run on one of the individual SRV-1 -1 or SRV-1 -2 servers in the first SC1 server cluster, but not on the individual servers in the second SC2 server cluster. Conversely, the HIS 11b slave process will always run on one of the individual SRV-2-1 or SRV-2-2 servers in the second SC2 server cluster, but not on the individual servers in the first SC1 server cluster. In this way it is ensured that the HIS master process 11a and the HIS slave process 11b are always physically separated from each other. If the process results match, the matching process result is reliable.

Asimismo, en este caso, los procesos 12a y 12b del mismo tipo del software de control de puesto de enclavamiento 12 están separados físicamente entre sí, y los procesos 13a y 13b del mismo tipo del software de control de protección de trenes 13 están separados físicamente entre sí; en el caso de resultados de proceso que coinciden, a su vez, el resultado de proceso que coincide es fiable en cada caso. Las aplicaciones de software adicionales 14, 15, 16, 17 o sus procesos existen aquí en cada caso sin una parte complementaria del mismo tipo en el respectivo otro clúster de servidores SC1, SC2, esto es, solo se realizan en cada caso de manera sencilla en uno de los clústeres de servidores SC1, SC2. Esto está previsto sobre todo para aplicaciones no relevantes para la seguridad.Also, in this case, the processes 12a and 12b of the same type of the interlocking station control software 12 are physically separated from each other, and the processes 13a and 13b of the same type of the train protection control software 13 are physically separated. each; in the case of matching process results, in turn, the matching process result is reliable in each case. The additional software applications 14, 15, 16, 17 or their processes exist here in each case without a complementary part of the same type in the respective other server cluster SC1, SC2, that is, they are only carried out in each case in a simple way on one of the server clusters SC1, SC2. This is primarily intended for non-safety-relevant applications.

Forma de realización con tres clústeres de servidoresImplementation with three server clusters

En la figura 2 está representada una forma de realización de un dispositivo de servidor de acuerdo con la invención (virtual cluster) 30 que dispone de tres clústeres de servidores SC1, SC2, SC3. La estructura del dispositivo de servidor 30 con tres clústeres de servidores SC1, SC2, SC3 se corresponde en gran parte con la estructura con dos clústeres de servidores de la figura 1, de forma que, a continuación, solo se explican las diferencias fundamentales. En el dispositivo de servidor 30 con tres clústeres de servidores SC1, SC2, SC3 se pueden ejecutar aplicaciones que siguen al denominado principio de 2 de 3 (2 out of 3 = 2oo3). En estas aplicaciones, tres procesos del mismo tipo realizan los mismos algoritmos de cálculo y, a este respecto, obtienen respectivamente un resultado de cálculo. Estos resultados de cálculo se comparan entre sí por un comparador. Siempre que al menos dos de los tres resultados de cálculo coincidan, este resultado que coincide se considera correcto. Si el comparador detecta tres resultados diferentes, el sistema se marca como "no seguro". Según este principio funcionan, por ejemplo, la aplicación de puesto de enclavamiento o la aplicación de protección de trenes.Figure 2 shows an embodiment of a server device according to the invention (virtual cluster) 30 that has three clusters of servers SC1, SC2, SC3. The structure of the server appliance 30 with three server clusters SC1, SC2, SC3 largely corresponds to the structure with two server clusters in Figure 1, so that only the fundamental differences are explained below. On the server device 30 with three server clusters SC1, SC2, SC3, applications that follow the so-called principle of 2 of 3 (2 out of 3 = 2oo3) can be run. In these applications, three processes of the same type perform the same calculation algorithms and, in this respect, respectively obtain a calculation result. These calculation results are compared with each other by a comparator. As long as at least two of the three calculation results match, this matching result is considered correct. If the comparator detects three different results, the system is marked as "not secure". According to this principle, for example, the interlocking station application or the train protection application work.

Un criterio para la autorización según la norma EN 50128 en los sistemas 2oo3 es que los procesos individuales se ejecuten en hardware diferente. Esto se puede asegurar mediante el dispositivo de servidor 30 de acuerdo con la invención (virtual cluster) que se basa en tres clústeres de servidores SC1, SC2, SC3 separados por límites físicos 2. Por ejemplo, los procesos de la aplicación de puesto de enclavamiento se ejecutan incrustados en cada caso en una máquina virtual VM repartidos en los tres clústeres de servidores y, por tanto, nunca usan los mismos procesadores o núcleos de procesador. Con sistemas 2oo3 también se puede alcanzar el estándar de seguridad según SIL4. Aplicaciones típicas de sistemas 2oo3 o sus procesos son: A criterion for authorization according to EN 50128 in 2oo3 systems is that the individual processes run on different hardware. This can be ensured by the server device 30 according to the invention (virtual cluster) which is based on three server clusters SC1, SC2, SC3 separated by physical boundaries 2. For example, the interlocking post application processes they run embedded in each case in a virtual machine VM spread over the three server clusters and therefore never use the same processors or processor cores. With 2oo3 systems, the safety standard according to SIL4 can also be achieved. Typical applications of 2oo3 systems or their processes are:

Proceso de operación-1 31a (proceso de la interfaz de usuario) (Operation Control Process-1 = OC Proc-1) Operation Process-1 31a (User Interface Process) (Operation Control Process-1 = OC Proc-1)

Proceso de operación-231b (proceso de la interfaz de usuario) (Operation Control Process-2 = OC Proc-2) Operation Process-231b (User Interface Process) (Operation Control Process-2 = OC Proc-2)

Proceso de operación-331c (proceso de la interfaz de usuario) (Operation Control Process-3 = OC Proc-3) Operation Process-331c (User Interface Process) (Operation Control Process-3 = OC Proc-3)

Proceso de puesto de enclavamiento-1 32a (proceso de la aplicación de puesto de enclavamiento) (Interlocking Process-1 = IL Proc-1)Interlocking Station-1 Process 32a (Interlocking Process-1 = IL Proc-1)

Proceso de puesto de enclavamiento-232b (proceso de la aplicación de puesto de enclavamiento) (Interlocking Process-2 = IL Proc-2)Interlocking Station Process-232b (Interlocking Process-2 = IL Proc-2)

Proceso de puesto de enclavamiento-332c (proceso de la aplicación de puesto de enclavamiento) (Interlocking Process-3 = IL Proc-3)Interlocking Station-332c Process (Interlocking Process-3 = IL Proc-3)

Proceso de protección de trenes-1 33a (proceso de la aplicación de protección de trenes) (Train Control Process-1 = TC Proc-1)Train Protection Process-1 33a (Train Protection Application Process) (Train Control Process-1 = TC Proc-1)

Proceso de protección de trenes-233b (proceso de la aplicación de protección de trenes) (Train Control Process-2 = TC Proc-2)Train Protection Process-233b (Train Control Process-2 = TC Proc-2)

Proceso de protección de trenes-333c (proceso de la aplicación de protección de trenes) (Train Control Process-3 = TC Proc-3)Train Protection Process-333c (Train Control Process-3 = TC Proc-3)

En el presente caso, los procesos 31a, 31b, 31c del mismo tipo o partes asociadas del software de operación 31 están repartidos por los tres clústeres de servidores SC1, SC2, SC3 de forma que los procesos 31a, 31b, 31c nunca se ejecutan en el mismo procesador o en el mismo hardware y, con ello, sus resultados de proceso no pueden ser falsos del mismo modo debido a un error de hardware individual. Lo mismo se cumple para los procesos 32a, 32b, 32c del software de puesto de enclavamiento 32 y, además, los procesos 33a, 33b, 33c del software de protección de trenes 33. Asimismo, en un clúster virtual o un dispositivo de servidor 30 con tres clústeres de servidores SC1, SC2, SC3 se pueden ejecutar aplicaciones individuales adicionales o procesos adicionales que son independientes de los sistemas 2oo3, en este caso, las aplicaciones de software HMI A 34, App B 35, HMI C 36, App D 37, HMI E 38, App F 39 adicionales.In the present case, the processes 31a, 31b, 31c of the same type or associated parts of the operation software 31 are distributed among the three server clusters SC1, SC2, SC3 so that the processes 31a, 31b, 31c are never executed in the same processor or on the same hardware and thus your process results cannot be false in the same way due to an individual hardware error. The same is true for processes 32a, 32b, 32c of the interlocking station software 32 and, in addition, processes 33a, 33b, 33c of the train protection software 33. Also, in a virtual cluster or a server device 30 with three server clusters SC1, SC2, SC3 additional individual applications or additional processes that are independent of 2oo3 systems can be run, in this case the software applications HMI A 34, App B 35, HMI C 36, App D 37 , HMI E 38, App F 39 additional.

Lista de referenciasList of references

1 Dispositivo de servidor1 Server device

2 Límite físico2 Physical limit

11a, 11b Procesos del mismo tipo11a, 11b Processes of the same type

11 Software (servidor HIS)11 Software (HIS server)

12a, 12b Procesos del mismo tipo12a, 12b Processes of the same type

12 Software (dispositivo de control de puesto de12 Software (station control device

enclavamiento)interlocking)

13a, 13b Procesos del mismo tipo13a, 13b Processes of the same type

13 Software (dispositivo de control de protección

Figure imgf000008_0001
13 Software (protection control device
Figure imgf000008_0001

14-17 Software adicional14-17 Additional software

18 Dispositivo de control de clústeres18 Cluster control appliance

19 Dispositivo de control de memoria19 Memory control device

20a-20c Dispositivo de control de alta disponibilidad20a-20c High availability control device

21a-21c Memoria21a-21c Report

30 Dispositivo de servidor30 Server device

31a-31c Procesos del mismo tipo31a-31c Processes of the same type

31 Software (operación)31 Software (operation)

32a-32c Procesos del mismo tipo32a-32c Processes of the same type

32 Software (puesto de enclavamiento)32 Software (interlocking station)

33a-33c Procesos del mismo tipo33a-33c Processes of the same type

33 Software (protección de trenes)33 Software (train protection)

34-39 Software adicional34-39 Additional Software

SC1-SC3 Clúster de servidoresSC1-SC3 Server cluster

SRV-1-1 Ordenador de servidor (servidor individual)SRV-1-1 Server computer (single server)

SRV-1-2 Ordenador de servidor (servidor individual)SRV-1-2 Server computer (single server)

SRV-2-1 Ordenador de servidor (servidor individual) SRV-2-1 Server computer (single server)

SRV-2-2 Ordenador de servidor (servidor individual) SRV-3-1 Ordenador de servidor (servidor individual) SRV-3-2 Ordenador de servidor (servidor individual) SRV-2-2 Server computer (single server) SRV-3-1 Server computer (single server) SRV-3-2 Server computer (single server)

Claims (10)

REIVINDICACIONES 1. Dispositivo de servidor (1; 30) que opera un software para el control de una función de un sistema de protección de transporte sobre carriles, operando el software (11, 12, 13; 31, 32, 33) de manera separada físicamente entre sí al menos dos procesos (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) cuyos resultados se comparan entre sí para realizar el control de la función,1. Server device (1; 30) that operates a software for the control of a function of a rail transport protection system, operating the software (11, 12, 13; 31, 32, 33) physically separately with each other at least two processes (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) whose results are compared with each other to perform the function control, caracterizadocharacterized por que el software (11, 12, 13; 31,32, 33) se opera en un nivel operativo virtual del dispositivo de servidor (1; 30), por que el dispositivo de servidor (1; 30) comprende al menos dos clústeres de servidores (SC1, SC2, SC3) separados físicamente entre sí,because the software (11, 12, 13; 31, 32, 33) is operated at a virtual operating level of the server device (1; 30), because the server device (1; 30) comprises at least two clusters servers (SC1, SC2, SC3) physically separated from each other, comprendiendo cada uno de los clústeres de servidores (SC1, SC2, SC3) del dispositivo de servidor (1; 30) al menos dos servidores individuales (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, s Rv -3-2) que permiten una migración de procesos (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) entre sí en el caso de un fallo de un servidor individual (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2),each of the server clusters (SC1, SC2, SC3) of the server device (1; 30) comprising at least two individual servers (SRV-1-1, SRV-1-2, SRV-2-1, SRV- 2-2, SRV-3-1, s Rv -3-2) that allow a migration of processes (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) each other in the event of a single server failure (SRV-1-1, SRV-1-2, SRV-2-1, SRV-2-2, SRV-3-1, SRV-3-2), ejecutándose los al menos dos procesos (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) en máquinas virtuales (VM),running the at least two processes (11 a-11 b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) in virtual machines (VM), y por que el software (11, 12, 13; 31, 32, 33) comprende al menos dos partes que están instaladas en clústeres de servidores diferentes de los al menos dos clústeres de servidores (SC1, SC2, SC3) de forma que los al menos dos procesos (11 a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) se operan en clústeres de servidores diferentes de los al menos dos clústeres de servidores (SC1, SC2, SC3).and because the software (11, 12, 13; 31, 32, 33) comprises at least two parts that are installed in different server clusters of the at least two server clusters (SC1, SC2, SC3) so that the at least two processes (11a-11b; 12a-12b; 13a-13b; 31a-31c; 32a-32c; 33a-33c) are operated on different server clusters from the at least two server clusters (SC1, SC2, SC3). 2. Dispositivo de servidor (1; 30) de acuerdo con la reivindicación 1, caracterizado por que el software (11, 12, 13; 31.32, 33) es una aplicación de puesto de enclavamiento.Server device (1; 30) according to claim 1, characterized in that the software (11, 12, 13; 31.32, 33) is an interlocking station application. 3. Dispositivo de servidor (1; 30) de acuerdo con la reivindicación 2, caracterizado por que el software (11, 12, 13; 31, 32, 33) es una aplicación para operar la interfaz de usuario de un puesto de enclavamiento controlado por ordenador, en particular con una funcionalidad para conectar terminales de operación móviles.3. Server device (1; 30) according to claim 2, characterized in that the software (11, 12, 13; 31, 32, 33) is an application to operate the user interface of a controlled interlocking station by computer, in particular with a functionality for connecting mobile operating terminals. 4. Dispositivo de servidor (1; 30) de acuerdo con la reivindicación 1, caracterizado por que el software (11, 12, 13; 31.32, 33) es una aplicación de protección de trenes.4. Server device (1; 30) according to claim 1, characterized in that the software (11, 12, 13; 31.32, 33) is a train protection application. 5. Dispositivo de servidor (1; 30) de acuerdo con una de las reivindicaciones anteriores, caracterizado por que el software (11, 12, 13; 31, 32, 33) está configurado de acuerdo con el nivel de integridad de seguridad 2 (SIL2) o superior.Server device (1; 30) according to one of the preceding claims, characterized in that the software (11, 12, 13; 31, 32, 33) is configured in accordance with security integrity level 2 ( SIL2) or higher. 6. Dispositivo de servidor (1; 30) de acuerdo con una de las reivindicaciones anteriores, caracterizado por que el software (11, 12, 13; 31,32, 33) está configurado de acuerdo con el nivel de integridad de seguridad 4 (SIL4).Server device (1; 30) according to one of the preceding claims, characterized in that the software (11, 12, 13; 31, 32, 33) is configured according to security integrity level 4 ( SIL4). 7. Dispositivo de servidor (1; 30) de acuerdo con una de las reivindicaciones 1 a 6, caracterizado por que el software (11, 12, 13) opera exactamente dos procesos (11 a-11 b; 12a-12b; 13a-13b) que están separados físicamente entre sí en exactamente dos clústeres de servidores diferentes (SC1, SC2).Server device (1; 30) according to one of claims 1 to 6, characterized in that the software (11, 12, 13) operates exactly two processes (11 a-11 b; 12a-12b; 13a- 13b) that are physically separated from each other in exactly two different server clusters (SC1, SC2). 8. Dispositivo de servidor (1; 30) de acuerdo con una de las reivindicaciones 1 a 7, caracterizado por que el dispositivo de servidor (30) comprende tres clústeres de servidores (SC1, SC2, SC3) separados físicamente entre sí, por que el software (31, 32, 33) comprende al menos tres partes que están instaladas en clústeres de servidores diferentes de los clústeres de servidores (SC1, SC2, SC3) de forma que el software (31, 32, 33) opera tres procesos (31a-31c; 32a-32c; 33a-33c) en clústeres de servidores diferentes de los tres clústeres de servidores (SC1, SC2; SC3), y por que los resultados de los procesos (31a-31c; 32a-32c; 33a-33c) se evalúan en el marco de una decisión de 2 de 3 para el control de la función del sistema de protección de transporte sobre carriles.Server device (1; 30) according to one of claims 1 to 7, characterized in that the server device (30) comprises three server clusters (SC1, SC2, SC3) physically separated from each other, because the software (31, 32, 33) comprises at least three parts that are installed in server clusters different from the server clusters (SC1, SC2, SC3) so that the software (31, 32, 33) operates three processes ( 31a-31c; 32a-32c; 33a-33c) in different server clusters of the three server clusters (SC1, SC2; SC3), and why the results of the processes (31a-31c; 32a-32c; 33a- 33c) are evaluated within the framework of a 2 out of 3 decision for the control of the function of the rail transport protection system. 9. Dispositivo de servidor (1; 30) de acuerdo con una de las reivindicaciones anteriores, caracterizado por que el dispositivo de servidor (1; 30) opera al menos un software adicional (14-17; 34-39) para el control de una función adicional de un sistema de protección de transporte sobre carriles, y por que el al menos un software adicional (14­ 17; 34-39) está instalado y se opera únicamente en uno de los clústeres de servidores (SC1, SC2, SC3).Server device (1; 30) according to one of the preceding claims, characterized in that the server device (1; 30) operates at least one additional software (14-17; 34-39) for the control of an additional function of a rail transport protection system, and because the at least one additional software (14 17; 34-39) is installed and operated only on one of the server clusters (SC1, SC2, SC3) . 10. Dispositivo de servidor (1; 30) de acuerdo con la reivindicación 9, caracterizado por que el al menos un software adicional (14-17; 34-39) comprende una o varias de las siguientes aplicaciones de software:Server device (1; 30) according to claim 9, characterized in that the at least one additional software (14-17; 34-39) comprises one or more of the following software applications: - un sistema de planificación de horario, en particular ARAMIS-D;- a scheduling system, in particular ARAMIS-D; - un sistema de gestión de números de tren y dirección de tren, en particular ARAMIS-C;- a train number and train address management system, in particular ARAMIS-C; - un sistema de análisis de datos y métrica (business intelligence);- a data analysis and metric system (business intelligence); - un sistema de mantenimiento de trenes (maintenance centre);- a system of maintenance of trains (maintenance center); - un sistema de registro y control de datos de tren (checkpoint master node);- a train data recording and control system (checkpoint master node); - un sistema de registro y evaluación de componentes operativos (service management tool). - a system for registering and evaluating operational components (service management tool).
ES17720733T 2016-04-25 2017-04-24 Server device that operates a software for controlling a function of a rail transport protection system Active ES2795015T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016206988.8A DE102016206988A1 (en) 2016-04-25 2016-04-25 Server device operating software for controlling a function of a rail-bound transport security system
PCT/EP2017/059631 WO2017186629A1 (en) 2016-04-25 2017-04-24 Server device operating a piece of software for controlling a function of a rail transport safety system

Publications (1)

Publication Number Publication Date
ES2795015T3 true ES2795015T3 (en) 2020-11-20

Family

ID=58664667

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17720733T Active ES2795015T3 (en) 2016-04-25 2017-04-24 Server device that operates a software for controlling a function of a rail transport protection system

Country Status (8)

Country Link
EP (1) EP3448735B1 (en)
DE (1) DE102016206988A1 (en)
DK (1) DK3448735T3 (en)
ES (1) ES2795015T3 (en)
PL (1) PL3448735T3 (en)
PT (1) PT3448735T (en)
SA (1) SA518400293B1 (en)
WO (1) WO2017186629A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783103B (en) * 2019-03-19 2021-04-16 北京邮电大学 Method and device for realizing human-computer interface of rail transit train control system
EP4028301A4 (en) 2019-09-12 2023-11-08 Thales Canada Inc. Over-speed protection device
DE102021209038A1 (en) * 2021-08-18 2023-02-23 Siemens Mobility GmbH Method for automatically detecting and correcting memory errors in a secure multi-channel computer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243825B1 (en) * 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
DE19942981A1 (en) * 1999-09-09 2001-03-22 Alcatel Sa Program module and method for increasing the security of a software-controlled system
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
ES2696604T3 (en) * 2013-12-13 2019-01-17 Thales Sa Fault tolerant framework architecture with triple software redundancy
US9718487B2 (en) 2014-02-18 2017-08-01 Nabil N. Ghaly Method and apparatus for a train control system

Also Published As

Publication number Publication date
EP3448735A1 (en) 2019-03-06
PT3448735T (en) 2020-07-07
WO2017186629A1 (en) 2017-11-02
SA518400293B1 (en) 2021-10-21
DK3448735T3 (en) 2020-06-22
DE102016206988A1 (en) 2017-10-26
PL3448735T3 (en) 2020-11-02
EP3448735B1 (en) 2020-04-29

Similar Documents

Publication Publication Date Title
ES2795015T3 (en) Server device that operates a software for controlling a function of a rail transport protection system
CN103562873B (en) For processing the method and system of data in computer systems
Stephens et al. Colliding dilemmas: interactions of locally adaptive strategies in a hospital setting
US9434391B2 (en) Braking system
ES2807605T3 (en) Software upgrade of non-critical components in dual security critical distributed systems
CN107508913A (en) ATS systems and processing method based on cloud computing
BR112020021528A2 (en) COMPUTER INTERLOCKING SYSTEM AND SWITCH CONTROL METHOD FOR THE SAME, DEVICE, AND STORAGE MEDIA
CN104765587B (en) For making processor be synchronized to the identical system and method for calculating point
US20120260046A1 (en) Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same
ES2780902T3 (en) Critical rail safety systems with task redundancy and asymmetric communications capability
CN113168134B (en) Aircraft integrated multisystem electronic architecture
US8880868B1 (en) Secure deterministic fabric for safe and secure product design
ES2241743T3 (en) PROCEDURE FOR THE CONTROL OF A CRITICAL SAFETY PROCESS IN THE RAILWAY SERVICE AND INSTALLATION FOR THE PERFORMANCE OF THIS PROCEDURE.
Chandra et al. A fail-safe interlocking system for railways
CN106940667B (en) Method and device for checking calculation results in a system having a plurality of calculation units
CN107430539A (en) Safety-related computer system
CN108910637A (en) security system
Cohen et al. Mixed-criticality in railway systems: A case study on signalling application
CN112513847A (en) Method for operating a computing device
Brandejský et al. Integral railway interlocking system and its assessment according to European standards
US20200388151A1 (en) System and Method for Providing a Digital Intersection
Duarte et al. Deterministic parallel programming for railway applications
CN110979406A (en) Cross multiplexing signal system safety computing platform
CN104411564B (en) Method and assembly for controlling a technical system
Galashi et al. Hybrid redundancy approach to increase the reliability of FPGA based speed controller core for high speed train