CN108572638B - 用于安全系统的fpga不匹配数据包的停止 - Google Patents

用于安全系统的fpga不匹配数据包的停止 Download PDF

Info

Publication number
CN108572638B
CN108572638B CN201810190695.2A CN201810190695A CN108572638B CN 108572638 B CN108572638 B CN 108572638B CN 201810190695 A CN201810190695 A CN 201810190695A CN 108572638 B CN108572638 B CN 108572638B
Authority
CN
China
Prior art keywords
key
data packet
voting module
module
valid
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
CN201810190695.2A
Other languages
English (en)
Other versions
CN108572638A (zh
Inventor
加里·珀金斯
马尔科姆·J·鲁什
安德鲁·波尔特
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.)
Smart Embedded Computing Inc
Original Assignee
Artesyn Embedded Computing Inc
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 Artesyn Embedded Computing Inc filed Critical Artesyn Embedded Computing Inc
Publication of CN108572638A publication Critical patent/CN108572638A/zh
Application granted granted Critical
Publication of CN108572638B publication Critical patent/CN108572638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及用于安全系统的FPGA不匹配数据包的停止。一种容错故障安全计算机表决系统,包括:基于第一数据包与第二数据包的副本之间比较而生成第一密钥的第一表决模块。第一表决模块确定第一密钥和第二密钥是否是有效密钥。第二数据包是第一数据包的副本。第二表决模块基于第二数据包与第一数据包的副本之间的比较而生成第二密钥。处理模块响应于确定第一密钥和第二密钥是否是有效密钥而基于第一数据包生成输出数据包。第一表决模块被禁止生成第二密钥并第二表决模块被禁止生成第一密钥。

Description

用于安全系统的FPGA不匹配数据包的停止
技术领域
本公开涉及容错故障安全(fault-tolerant failsafe)计算机系统。
背景技术
该部分提供与并非必须是现有技术的本公开有关的背景信息。
本文提供的背景描述通常是为了展现本公开上下文的目的。就该在背景部分中所述的程度、以及在递交时可以并未另外承认作为现有技术的说明书的特征而言,本发明所指名的发明人的工作并未明确地或隐含地承认作为与本公开相对的现有技术。
诸如铁路系统的安全应用可以包括被配置为维持安全应用的安全操作的容错故障安全计算机系统。容错故障安全计算机系统可以包括被配置为控制与安全应用相关联的安全关键硬件和软件的控制操作的多个硬件和软件部件。安全关键硬件和软件被配置为控制安全应用的安全相关功能。
例如,行驶在铁路系统上的火车包括制动系统。制动系统被配置为实施至少一个安全相关功能,诸如制动功能。制动系统至少包括制动器和配置用于促动制动器的软件。软件接收指令以促动制动器。例如,火车的操作员可以操作制动系统用户界面以便于指令软件以促动制动器。周期性地,可以由铁路系统的故障部件生成用于促动制动器的错误指令。因此,期望一种被配置为对由外部安全系统接收的指令进行验证的容错故障安全计算机系统。
发明内容
该部分提供了本公开的一般概述,并且并非是其全部范围或其全部特征的全面公开。
一种容错故障安全计算机表决系统,包括:基于第一数据包与第二数据包的副本之间比较而生成第一密钥的第一表决模块。第一表决模块确定第一密钥和第二密钥是否是有效密钥。第二数据包是第一数据包的副本。第二表决模块基于第二数据包与第一数据包的副本之间的比较而生成第二密钥。处理模块响应于确定第一密钥和第二密钥是否是有效密钥而基于第一数据包生成输出数据包。第一表决模块被禁止生成第二密钥并第二表决模块被禁止生成第一密钥。
一种用于容错故障安全计算机的方法,包括:接收第一数据包并且基于第一数据包的副本生成第二数据包。基于第一数据包与第二数据包的副本之间的比较而生成第一密钥。确定第一密钥和第二密钥是否是有效密钥。基于在第二数据包与第一数据包的副本之间的比较而生成第二密钥。响应于确定第一密钥和第二密钥是否是有效密钥而基于第一数据包生成输出数据包。
一种容错故障安全计算机表决系统,包括:接收第一数据包并且基于第一数据包的副本生成第二数据包的开关模块。第一表决模块基于在第一数据包与第二数据包的副本之间的比较而生成第一密钥。第一表决模块确定第一密钥和第二密钥是否是有效密钥。第二表决模块基于第二数据包与第一数据包的副本之间的比较而生成第二密钥。处理模块响应于确定第一密钥和第二密钥是否是有效密钥而基于第一数据包生成输出数据包。
其他可应用领域将从本文提供的描述而变得显而易见。在该发明内容中的描述和特定示例仅意在示意说明的目的并且不意在限制本公开的范围。
附图说明
本文描述的附图仅是为了所选择的实施例而非所有可能实施方式的示意说明的目的,并且不意在限制本公开的范围。
图1是根据本公开原理的容错故障安全计算机系统的功能框图。
图2是根据本公开原理的容错表决系统的示例的功能框图。
图3是根据本公开原理的容错表决系统的可替代的示例的功能框图。
图4是图示根据本公开原理的容错表决方法的流程图。
贯穿附图的几个视图,对应的附图标记指示对应的部件。
具体实施方式
现在将参照附图更全面描述示例实施例。
现在参照图1,通常在100处示出示例性的容错故障安全计算机系统的功能框图。系统被配置为与各种安全应用(SA)和/或安全关键系统(SCS)交互。SA可以包括彼此交互并通信的多个SCS以便于执行SA。通过非限定性示例的方式,SA的一个示例包括铁路系统。铁路系统包括多个SCS。
多个SCS包括但不限于与在铁路系统上运营的火车相关联的系统。与火车相关联的系统可以包括制动系统、加速系统、警报系统、和/或与火车相关联的任何其他合适的系统。系统100控制各个SA和/或SCS的各个部件,诸如铁路系统。各个部件包括SA和SCS的影响SA和SCS的安全的部分。这些部件可以称作安全相关部件并且可以包括安全关键硬件和软件。通过非限定性示例的方式,安全相关部件包括制动系统的部件,诸如制动器以及被配置为控制制动器的软件。
安全关键硬件和软件从SA和/或SC接收数据元素。例如,火车的操作员可以期望应用火车的制动器。操作员与操作员界面交互,诸如通过促动制动杆。响应于促动制动杆,生成信号并将信号传送至控制了制动系统的操作的安全关键硬件和软件。
系统100与安全关键硬件和软件协作以确保铁路系统的诸如制动器的部件安全地操作。例如,安全关键硬件和软件基于制动杆信号而传送数据包。系统100验证数据包。安全关键硬件和软件基于该验证而操作制动系统。用于本文所述实施例的其他可能应用包括但不限于航空系统的部件、医疗系统的部件、石油和天然气控制系统的部件、智能电网系统的部件以及各种制造系统的部件。
在一些实施方式中,系统100从SA和/或SCS(诸如铁路系统)接收多个输入数据包。系统100被配置为基于多个输入数据包而生成多个输出数据包,并将多个输出数据包传送至SA和/或SCS的各个安全相关部件。例如,如以下详细描述的,系统100确定多个输入数据包中的第一数据包是否是有效数据包。当系统100确定第一数据包是有效数据包时,系统100基于第一数据包生成第一输出数据包,并将第一输出包传送至铁路系统的至少一个安全相关部件。
第一输入包包括至少一个安全相关部件的多个数据元素控制操作。数据元素可以包括传感器数据和/或输入/输出(I/O)点状态。至少一个安全相关部件可以是如上所述的火车制动器。多个数据元素也可以控制SA和/或SCS的非安全相关部件的操作。输入数据包根据传输协议传送。例如,铁路系统的部件可以根据预定的包装标准包装或打包输入数据包。铁路系统的部件随后根据传输协议传输和/或传送多个输入数据包。
系统100被配置为接收根据传输协议传送的数据包。进一步,系统100被配置为根据预定的包装标准解释或解包所包装或所打包的数据包。以此方式,系统100从第一数据包提取数据元素并随后基于数据元素生成输出数据包。输出数据包包括基于数据元素的指令集。输出数据包也可包括控制I/O的操作指令、读取输入以便于收集信息的请求、健康消息通信、用于进程间通信的请求、或任何其他合适的指令或元素。指令集包括指示安全关键硬件和软件的至少一个以执行过程的至少一个指令。
例如,指令集可以指示安全关键软件以执行制动过程。制动过程包括硬件制动指令。硬件制动指令被传送至安全关键硬件。安全关键硬件执行制动指令。例如,安全关键硬件应用制动器。
系统100确定是否将包括数据元素的输出数据包传送至安全关键硬件和软件。例如,系统100确保多个输入数据包中的每一个输入数据包满足预定的安全标准。预定的安全标准包括确定铁路系统是否以安全方式在操作。系统100对多个输入数据包中的每一个输入数据包由铁路系统有效地或有意地传输进行验证。
铁路系统可以传送由于铁路系统内的硬件或软件故障引起的错误的输入数据包。系统100被配置为确保不将错误传送的数据包传送至安全关键硬件和软件,并且因此,不根据错误数据包操作安全关键硬件和软件。换言之,系统100确保铁路系统和/或任何其他SA和SCS以安全方式操作。
在一个示例中,安全关键硬件和软件接收多个输入数据包中的第一数据包。响应于来自铁路系统操作员的命令而生成并传送第一数据包。由于铁路系统中的故障,安全关键硬件和软件接收多个输入数据包中的第二数据包。铁路系统中的故障仅通过非限定性示例的方式可以包括硬件故障,硬件故障诸如由于长期暴露至热和湿气导致的退化电连接。
安全关键硬件和软件将包括第一数据包和第二数据包的多个输入数据包传送至系统100。系统100被配置为确定多个输入数据包中的每一个输入数据包是否是有效数据包,或者作为铁路系统中的故障的结果由安全关键硬件和软件接收。
当系统100确定响应于来自操作员的命令而接收了多个输入数据包中的一个输入数据包(也即是有效数据包)时,系统100生成对应于所接收到的输入数据包的输出数据包。例如,如上所述,系统100基于第一数据包生成第一输出数据包。
第一输出数据包包括对应于与第一数据包相关联的数据元素的指令集。系统100将第一输出数据包传送至安全关键硬件和软件。安全关键硬件和软件随后执行包括在第一输出数据包中的指令集。以此方式,系统100确保安全关键硬件和软件仅执行有效的指令和/或数据元素。
相反,当系统100确定响应于铁路系统内的故障而接收了多个输入数据包中的一个输入数据包时,系统100不生成或传送传输数据包至安全关键硬件和软件。例如,系统100确定由于铁路系统中的故障而接收了第二数据包。系统100不生成与第二数据包相对应的输出数据包并且不将其传送至安全关键硬件和软件。因此,安全关键硬件和软件不执行与第二数据包中所包括的数据元素对应的指令。
进一步,响应于确定作为故障结果接收了数据包,系统100生成故障指示。故障指示可以包括如以下详细描述的故障信号。以此方式,由系统100将通过安全关键硬件和软件所执行的数据元素首先验证为有效。验证确保了铁路系统例如以安全方式操作。
当系统确定第一数据包与第二数据包不相同时(也即表决不成功),系统100不理会第一数据包和第二数据包并如上所述生成故障指示。系统100也可以将SA和/或SCS(诸如铁路系统)内的一个或多个部件识别为故障。相反,当系统100确定第一数据包与第二数据包相同时(也即表决成功),如以下详细描述的,系统100将密钥添加至第一数据包和第二数据包。密钥可以是随机生成的字符串或预定的字符串。密钥指示表决成功,并且因此第一数据包和第二数据包是相同的。
系统100随后确定被添加至第一数据包和第二数据包中的每一个的密钥是否是有效密钥。当系统100确定第一数据包中的密钥是有效的时,系统100确定第二数据包中的密钥是否有效。当系统100确定第一数据包中的密钥不是有效的时,系统100不理会第一数据包和第二数据包并如上所述生成故障指示。当系统100确定第二密钥是有效的时,系统100基于第一数据包生成第一输出数据包并将第一输出数据包传送至安全关键硬件和软件的至少一个部件。至少一个部件执行包括在第一输出数据包内的操作数据要素。
当系统100确定第二密钥不是有效的时,系统100不理会第一数据包和第二数据包并如上所述生成故障指示。系统100可以通过将密钥与预定密钥列表进行比较、通过确定密钥是否是复杂密钥(例如复杂的密钥是有效密钥)、或者通过任何其他合适的手段验证密钥。复杂密钥可以是64位或更大的密钥。应该理解的是,系统100可以基于任何合适的复杂性定义而确定密钥是否复杂。
在一些实施方式中,响应于表决失败,系统100生成安全指示。安全指示对系统100或安全关键硬件和软件内已经出现故障进行指示。进一步,系统100指示至少一个部件在预定的安全状态操作,以便于维护SA和/或SCS的整体安全。安全状态可以包括根据被配置为维持铁路系统的安全操作环境的安全状态数据元素集合进行操作的至少一个部件。
安全状态数据元素包括指示SA和/或SCS(诸如铁路系统)而以确保铁路系统整体安全的方式来操作。例如,铁路系统可能会使在铁路系统上运行的火车响应于安全状态数据元素而停止。操作在安全状态也可以包括禁用所有安全相关通信接口。例如,操作在安全状态的故障安全计算机无法与安全关键硬件和软件通信。以此方式,操作在安全状态的故障安全计算机无法错误地指示安全关键硬件和软件。
系统100包括主动故障安全机架(FSC)104和备用FSC 108。为了提高系统100的可应用性和可靠性,主动FSC 104和备用FSC 108是冗余FSC。例如,主动FSC 104以与FSC 108相同的方式执行备用FSC 108的任何和所有操作。以此方式,当主动FSC 104和备用FSC 108中的一个遇到硬件或软件故障时,主动FSC 104和备用FSC 108中的另一个可以取代故障FSC而操作。
主动FSC 104实施二取二(2oo2)表决架构,其检测表决不匹配(voting mismatch)并当出现表决不匹配时执行故障安全操作。2oo2表决架构包括双冗余处理和表决子系统。冗余处理和表决子系统对进入或离开主动FSC 104的数据包表决。例如,主动FSC 104接收多个输入数据包。在一个示例中,主动FSC 104接收多个输入数据包中的第一数据包和第二数据包的两个副本。
主动FSC 104通过如上所述将第一数据包的副本与第二数据包的副本进行比较而确定第一数据包的有效性。换言之,主动FSC 104对第一数据包和第二数据包进行表决。主动FSC 104基于确定第一数据包是否有效(也即表决成功)而连续地生成第一健康状况信号和第二健康状况信号。在一些实施方式中,连续地生成信号可以包括将信号设置为第一预定值。连续生成的信号随后维持在第一预定值直至将信号去断言为第二预定值。
主动FSC 104将第一数据包的两个副本进行比较。当两个副本相同时,主动FSC104确定第一数据包有效。当主动FSC 104确定第一数据包有效时,主动FSC 104连续地生成第一健康状况信号和第二健康状况信号。可以将第一健康状况信号和第二健康状况信号断言为第一数值。在一些实施方式中,第一数值等于1。在另一实施方式中,第一数值可以是指示FSC 104健康的字符串。
相反,当主动FSC 104确定第一数据包的两个副本不相同时,主动FSC 104去断言第一健康状况信号和第二健康状况信号。可以将第一健康状况信号和第二健康状况信号去断言为第二数值。例如,第二数值可以等于0。在另一实施方式中,第二数值可以是指示FC104不健康的字符串。如以下将更详细描述的,主动FSC 104包括第一处理器和第二处理器。当第一处理器确定第一数据包的副本有效时,第一处理器连续地生成第一健康状况信号。类似地,当第二处理器确定第一数据包的第二副本有效时,第二处理器连续地生成第二健康状况信号。
主动FSC 104将第一健康状况信号和第二健康状况信号传送至系统100。系统100监控第一健康状况信号和第二健康状况信号以确定主动FSC 104是否健康。例如,当系统100接收到第一健康状况信号和第二健康状况信号时,系统100确定主动FSC 104是健康的。相反,当系统100未接收到第一健康状况信号和第二健康状况信号中的一个时,系统100确定主动FSC 104不健康。应该理解的是,尽管关于被去断言的第一状况信号和第二状况信号而仅讨论了表决不匹配,但系统100内的任何硬件或软件故障都可以引起去断言第一状况信号和第二状况信号中的一个。
当主动FSC 104确定第一数据包的两个副本不相同时,主动FSC 104确定已经出现了表决不匹配。主动FSC 104如上所述生成故障指示。故障指示可以是基于表决不匹配的故障信号。表决不匹配可以作为系统100、SA和/或SCS中故障的结果而出现。例如,表决不匹配可以是由于系统100或铁路系统内硬件或软件故障。为了可应用的原因,如果主动FSC 104遇到硬件或软件故障,系统100迫使主动FSC 104至预定安全状态。例如,系统100去激活主动FSC 104。备用FSC 108随后作为主动FSC来操作。
主动FSC 104和备用FSC 108中的每一个可以包括多个通信链路。通信链路包括但不限于上行链路、下行链路以及用户接口。上行链路是至较高层级设备的双向通信信道。较高层级设备可以是整个系统架构中包括的系统硬件。例如,较高层级设备可以是如上所述制动系统的部件。
下行链路是至较低层级硬件的双向通信信道。例如,较低层级硬件可以包括与较高层级设备通信的开关和继电器。下行链路可以遵循任何合适的硬件标准而实施。例如,下行链路可以实施为RS-232、RS-422、RS-485、CAN、MVB、以太网、以太网HSR环、或其他合适的技术。用户接口是被设计为允许系统100的用户访问系统100的部件和子系统的接口。仅例如,用户接口可以实施为多个发光二极管(LED)。
通信链路与SA和/或SCS(诸如铁路系统)的硬件和软件部件通信。进一步,系统100接收输入并且将输出传送至现场工程师。例如,现场工程师可以通过与系统100的用户接口通信而选择性地配置系统100。
主动FSC 104和备用FSC 108中的每一个包括处理子系统。主动FSC 104处理子系统包括主中央处理单元(CPU)116a和检验器CPU 120a。类似的,备用FSC 108处理子系统包括主CPU 116b和检验器120b。主CPU 116a和主CPU 116b中的每一个被配置为是相同的。类似的,检验器CPU 120a和检验器CPU 120b中的每一个被配置为是相同的。以此方式,主CPU116a、主CPU 116b、检验器CPU 120a和检验器CPU 120b用于提高系统100的可应用性和可靠性。
为了监视并控制系统100的整体健康和安全性,主CPU 116a和检验器CPU 120a也被配置为是相同的。例如,主CPU 116a和检验器CPU 120a执行相同的软件并实施相同的处理功能。主CPU 116a和检验器CPU 120a被配置为执行相同的功能,以便于维持安全关键硬件和软件的全硬件故障和错误检测覆盖并允许以正确的顺序对输入数据包进行表决。
在一些实施方式中,多个输入数据包包括对于执行由铁路系统的安全关键硬件或软件中的至少一个传送的和/或生成的任务的请求。对于执行任务的请求基于由安全关键硬件和软件从SA和/或SCS的操作员接收到的命令。例如,铁路系统的操作员可以命令行驶在铁路系统上的火车增大速度。操作员可以促动火车内的物理操作杆。物理操作杆被配置为生成指示增大火车的速度的命令的信号。信号被传送至安全关键硬件和软件。
在执行任务或多个任务之前,安全关键硬件和软件以输入数据包的形式将任务传送至系统100。系统100确定是否有效地生成了任务。系统100通过相对于多个输入数据包对如上所述任务进行表决而确定任务的有效性。当系统100确定任务有效时,系统100基于任务生成输出数据包。系统100将输出数据包传送至安全关键硬件和软件。安全关键硬件和软件响应于接收到输出数据包而执行任务。
在一个实施方式中,系统100将接收到的、与所请求的任务相关联的数据包传送至主CPU 116a。这可以称作主数据包。系统100将接收到的数据包的副本传送至检验器CPU120a。这可以称作检验器数据包。主CPU 116a和检验器CPU 120a两者被配置为在安全关键硬件和软件执行与数据包相关联的所请求的任务之前,对主数据包和检验器数据包的有效性进行表决。
主CPU 116a和检验器CPU 120a中的每一个被配置为将数据包的副本传送至主CPU116a和检验器CPU 120a中的另一个。换言之,主CPU 116a从系统100接收主数据包并从检验器CPU 120a接收检验器数据包的副本。类似的,检验器CPU 120a从系统100接收检验器数据包并从主CPU 116a接收主数据包的副本。在主CPU 116a指示安全关键硬件和软件执行与主数据包相关联的所请求的任务之前,主CPU 116a和检验器CPU 120a通过将主数据包与检验器数据包进行比较而对主数据包和检验器数据包进行表决。
例如,主CPU 116a将主数据包与检验器数据包的副本进行比较。主CPU 116a确定主数据包与检验器数据包的副本是否是相同的。类似的,检验器CPU 120a将检验器数据包与主数据包的副本进行比较。检验器CPU 120a确定检验器数据包与主数据包的副本是否是相同的。
当主CPU 116a确定主数据包与检验器数据包的副本相同时,主CPU 116a将密钥添加至主数据包。密钥可以是如上所述预定或随机生成的字符串。当主CPU 116a确定主数据包与检验器数据包的副本不相同时,主CPU 116a丢弃主数据包并如上所述生成故障指示。
当检验器CPU 120a确定检验器数据包与主数据包的副本相同时,检验器CPU 120a将密钥添加至检验器数据包。检验器CPU 120a将具有添加密钥后的检验器数据包传送至主CPU 116a。当检验器CPU 120a确定检验器数据包与主数据包的副本不相同时,检验器CPU120a丢弃检验器数据包并生成故障指示。
主CPU 116a确定与主数据包和检验器数据包中的每一个相关联的密钥是否是有效的。例如,主CPU 116a通过确定密钥是否是复杂密钥而确定主数据包密钥是否有效。当主CPU 116a确定密钥是复杂的时,主CPU 116a确定密钥有效。此外或可替代的地,主CPU 116a可以将密钥与密钥的预定列表进行比较。当主CPU 116a确定主数据包密钥与密钥列表中的各密钥中的一个密钥相同时,主CPU 116a确定主数据包密钥是有效的。
当主CPU 116a确定主数据包密钥不是有效地时(也即发生了表决不匹配),主CPU116a丢弃主数据包。主CPU 116a如上所述生成故障指示。当主CPU 116a确定主数据包密钥是有效密钥时,主CPU 116a随后确定检验器数据包密钥是否是有效密钥。例如,主CPU 116a通过确定密钥是否是复杂密钥而确定检验器数据包密钥是否是有效的。
当主CPU 116a确定密钥是复杂的时,主CPU 116a确定检验器数据包密钥是有效的。此外或可替代的地,主CPU 116a可以将检验器数据包密钥与密钥的预定列表进行比较。当主CPU 116a确定检验器数据包密钥与密钥列表中的各密钥中的一个密钥相同时,主CPU116a确定检验器数据包密钥是有效的。尽管仅公开了有限的示例,但主CPU 116a可以通过任何合适的手段来验证与主数据包和检验器数据包相关联的密钥。
当主CPU 116a确定检验器数据包密钥不是有效的(也即发生了表决不匹配)时,主CPU 116a丢弃检验器数据包。主CPU 116a如上所述生成故障指示。当主CPU 116a确定检验器数据包密钥是有效密钥(并且主数据包密钥是有效密钥)时,主CPU 116a基于主数据包生成输出数据包。
主CPU 116a将输出数据包传送至安全关键硬件和软件。与输出数据包相关联的任务指示安全关键硬件和软件以执行所请求的任务。输出数据包可以包括控制I/O的操作数据元素、读取输入以便于收集信息的请求、健康消息、对于进程间通信的请求、或者与安全关键硬件和软件相关联的其他合适的请求。操作数据元素可以包括指示安全关键硬件和软件中的一个以执行预定过程的指令集。例如,操作数据元素可以指示安全关键软件以执行加速过程。加速过程包括控制至少一个安全关键硬件部件。至少一个硬件部件例如包括火车的节流机构(throttle mechanism)。
如上所述,故障指示可以包括故障信号。故障信号指示故障已经发生在系统100、安全关键硬件和软件、或者SA和/或SCS内。通过对主数据包和检验器数据包进行表决,主CPU 116a验证所请求的任务是来自有效源(也即SA或SCS的部件,诸如铁路系统)的有效请求并且不是错误请求。
仅例如,表决不匹配可以是由主CPU 116a接收到错误请求的结果。主CPU 116a可以由于硬件故障、软件错误、或整体系统故障而接收执行任务的错误请求。通过非限定性示例的方式,主CPU 116a可以响应于与制动器相关联的电气部件的短路而接收到应用制动器的请求。应该理解的是,尽管仅描述了主CPU 116a和检验器CPU 120a,但如上所述的原理也适用于主CPU 116b和检验器CPU 120b。
主动FSC 104和备用FSC 108中的每一个包括多个输入/输出单元(IOU)模块。主动FSC 104包括IOU模块128a-128f。IOU模块128a-128f将在下文中称作IOU模块128。类似的,备用FSC 108包括IOU模块132a-132f,其与IOU模块128a-128f相同。IOU模块132a-132f将在下文中称作IOU模块132。
主动FSC 104和备用FSC 108还每个分别包括开关模块124a和开关模块124b。开关模块124a和开关模块124b被配置为同样地操作。开关模块124a和开关模块124b从I/O子系统接收多个输入数据包并将数据包路由至主CPU 116a和主CPU 116b以及检验器CPU 120a和检验器120b。
开关模块124a也将从主CPU 116a接收到的数据包路由至SA和/或SCS(诸如铁路系统)中的一个或多个部件。例如,如上所述,主CPU 116a生成输出数据包。主CPU 116a将输出数据包传送至开关模块124a。开关模块124a随后将输出数据包路由至系统100、SA或SCS内的一个或多个部件。因此,开关模块124a将输出数据包路由至铁路系统的部件,诸如安全关键硬件和软件。应该知晓的是,尽管仅描述了开关模块124a,但如上所述原理也适用于开关模块124b。
IOU模块128在主动FSC 104内实施I/O子系统。I/O系统被配置为在较低层级网络设备与主CPU 116a和检验器CPU 120a之间提供网关。IOU模块128将主CPU 116a和检验器CPU 120a与由外部硬件和软件所需要的低层级协议隔离。以此方式,IOU模块128在内部以太网上添加安全层以支持在主CPU 116a、检验器CPU 120a与安全关键硬件和软件之间的安全通信。IOU模块128和开关模块124a可以共同地称作前刀片(front blade)124a-128f。类似的,IOU模块132和开关模块124b可以共同地称作前刀片124b-132f。
主动FSC 104和备用FSC 108也包括多个后端转换模块(RTM)。主动FSC 104包括RTM 136a-136i。备用FSC 108包括RTM 140a-140i。应该知晓的是,因为备用FSC 108是主动FSC 104的冗余配置,因此RTM 136a-136i与RTM 140a-140i相同。在一些实施方式中,RTM136a-136i中的每一个可以是可热调换的现场可替换单元(FRU)。
例如,RTM 136a-136i中的每一个可以由现场工程师移除和替换而无需首先对整个系统100断电。RTM 136a-136i允许主动FSC 104与安全关键硬件和软件部件通信。例如,RTM 136a将主CPU 116a电地并逻辑地耦合至铁路系统的部件。类似的,RTM136b将备用FSC108电地并逻辑地耦合至安全关键硬件和软件部件。
前刀片124a-128f每个包括第一存储器位置和第二存储器位置。第一存储器位置和第二存储器位置存储从主动FSC 104的对应硬件部件接收的数值。例如,主CPU 116a连续地生成指示主CPU 116a的模块健康的模块健康信号(如上所述)。当模块健康信号指示主CPU 116a是健康的时,主CPU 116a在第一存储器位置中存储1。
参照图2,示出了容错表决系统的示例实施方式的功能框图。表决系统包括主CPU204和检验器CPU 208。主CPU 204包括处理模块304a、控制模块306和表决模块308a,并且检验器CPU 208包括表决模块308b。表决模块308a包括输入表决模块312a,且表决模块308a包括输入表决模块312b。表决模块308a和表决模块308b可以是现场可编程门阵列(FPGA)。类似的,控制模块306可以是FPGA。
主CPU 204和检验器CPU 208中的每一个从SA和/或SCS(诸如铁路系统)接收多个输入数据包。表决模块308a和表决模块308b被配置为对多个输入数据包进行表决并且如上所述确定多个输入数据包中的每一个的有效性。
通过非限定性示例的方式,SA和/或SCS(诸如铁路系统)的部件将多个输入数据包中的第一数据包传送至开关模块,诸如参照图1所述的开关模块124a。可以响应于从如上所述用户接口接收到的命令而传送第一数据包。开关模块124a生成第一数据包的副本。开关模块124a可以使用端口镜像以便于生成第一数据包的副本。第一数据包以及第一数据包的副本包括相同的报头(header)信息。例如,第一数据包和第一数据包的副本使用同一MAC地址和同一IP地址。
为了使得主CPU 204和检验器CPU 208以同一顺序处理数据包(也即对输入数据包进行表决),主CPU 204和检验器CPU 208基于顺序标识符而处理接收到的数据包。当开关模块124a生成第一数据包的副本时,开关模块124a包括第一数据包的顺序标识符。
开关模块124a将第一数据包传送至输入表决模块312a,并将第一数据包的副本传送至输入表决模块312b。第一数据包可以称作主数据包,并且第一数据包的副本可以称作检验器数据包。输入表决模块312a和输入表决模块312b通过对主数据包和检验器数据包进行表决而确定主数据包和检验器数据包是否是有效数据包。例如,输入表决模块312a和输入表决模块312b将主数据包与检验器数据包进行比较,并且确定主数据包与检验器数据包是否是相同的。
在一些实施方式中,输入表决模块312a被配置为生成主数据包的副本。输入表决模块312a将主数据包的副本传送至输入表决模块312b。类似的,输入表决模块312b被配置为生成检验器数据包的副本。输入表决模块312b将检验器数据包的副本传送至输入表决模块312a。
输入表决模块312a被配置为确定主数据包与检验器数据包的副本是否是有效数据包。例如,输入表决模块312a将主数据包与检验器数据包的副本进行比较。输入表决模块312a基于比较而确定主数据包与检验器数据包的副本是否相同。当输入表决模块312a确定主数据包与检验器数据包的副本不相同时,输入表决模块312a丢弃主数据包并如上所述生成故障指示。当输入表决模块312a确定主数据包和检验器数据包的副本是相同的时,输入表决模块312a生成主密钥。
主密钥可以是随机生成的复杂字符密钥、预定的字符密钥、或任何其他合适的密钥。输入表决模块312a将主密钥添加至主数据包。输入表决模块312a可以通过将密钥附加至主数据包内的报头信息、更新主数据包中的密钥字段、或任何其他合适的手段而将主密钥添加至主数据包。输入表决模块312a将主数据包和主密钥传送至控制模块306。在一些示例中,输入表决模块312a将主数据包和主密钥作为分离数据包或作为单个数据包来传送。
输入表决模块312b被配置为确定检验器数据包与主数据包的副本是否是有效数据包。例如,输入表决模块312b将检验器数据包与主数据包的副本进行比较。输入表决模块312b基于比较而确定检验器数据包与主数据包的副本是否是相同的。当输入表决模块312b确定检验器数据包与主数据包的副本不相同时,输入表决模块312b丢弃检验器数据包并如上所述生成故障指示。当输入表决模块312b确定检验器数据包与主数据包的副本相同时,输入表决模块312b生成检验器密钥。
检验器密钥可以是随机生成的复杂字符密钥、预定的字符密钥、或任何其他合适的密钥。输入表决模块312b将检验器密钥添加至检验器数据包。输入表决模块312b可以通过将密钥附加至检验器数据包内的报头信息、更新检验器数据包中的密钥字段、或任何其他合适的手段而将检验器密钥添加至检验器数据包。输入表决模块312b将检验器数据包和检验器密钥传送至控制模块306。在一些示例中,输入表决模块312b将检验器数据包和检验器密钥作为分离数据包或作为单个数据包来传送。
在示例性的实施方式中,表决可以仅例如由于数据包的丢失副本、错误生成的数据包、或者主数据包和检验器数据包的报头信息不匹配而不成功。当输入表决模块312a和输入表决模块312b中的一个确定主数据包和检验器数据包不相同时(也即表决不成功),丢掉第一数据包并且没有信息转送至控制模块306。
控制模块306被配置为确定对主数据包和检验器数据包的表决是否成功。在一些实施方式中,控制模块306基于与主数据包相关联的密钥(主密钥)以及与检验器数据包相关联的密钥(检验器密钥)的验证,而确定对主数据包和检验器数据包的表决是否成功。例如,控制模块306确定主密钥是否是有效密钥。控制模块306可以通过将主密钥与预定密钥的列表进行比较而确定主密钥的有效性。
当控制模块306确定主密钥与预定密钥列表中的各密钥中的一个密钥相同时,控制模块306确定主密钥是有效密钥。在其他实施方式中,控制模块306确定主密钥是否是复杂密钥。当控制模块306确定主密钥是复杂密钥时,控制模块306确定主密钥是有效密钥。通过非限定性示例的方式,复杂密钥可以定义为是至少64位密钥或者任何合适复杂性定义的密钥。进一步,应该理解,控制模块306可以由除了本文所述那些手段之外的任何合适的验证手段来验证主密钥和检验器密钥。
当控制模块306确定主密钥不是有效密钥时,控制模块306丢弃主数据包并生成故障指示。主密钥由于输入表决模块312a中的表决不匹配可以是无效的,控制模块306可以由于硬件和软件故障、或系统100、SA或SCS内的任何其他失效或故障而接收错误数据包。在一些示例中,表决不匹配可以发生在输入表决模块312a中。
当出现表决不匹配时(也即表决不成功),输入表决模块312a被配置为丢弃主数据包,如上所述。然而,由于输入表决模块312a或系统100内的另一部件内的故障,主数据包可以被错误地传送至控制模块306。通过验证主密钥,控制模块306确保错误生成的数据包不被传送至安全关键硬件和软件。换言之,控制模块306被配置为在安全关键硬件和软件执行与主数据包相关联的数据元素之前提供冗余数据包验证。
相反,当控制模块306确定主密钥是有效密钥时,控制模块306确定检验器密钥是否是有效密钥。如关于主密钥所述,控制模块306基于检验器密钥与预定密钥列表之间的比较、通过确定检验器密钥是否是复杂密钥、或任何其他合适的验证方法而确定检验器密钥是否有效。
当控制模块306确定检验器密钥不是有效密钥时,控制模块306丢弃主数据包并生成故障指示。检验器密钥可以因为如上所述关于无效的主密钥的任何原因而是无效的。相反,当控制模块306确定检验器密钥是有效密钥时,控制模块306从主数据包移除密钥并且将主数据包传送至处理模块304a以用于进一步处理。尽管控制模块306描述成被配置为首先确定主密钥是否有效并且随后确定检验器密钥是否有效,但控制模块306可以首先确定检验器密钥的有效性或同时确定检验器密钥和主密钥的有效性。
处理模块304a基于主数据包生成输出数据包。例如,主数据包包括将要由SA和/或SCS(诸如参照图1所述铁路系统)的至少一个安全相关部件所作用的数据元素。处理模块304a基于数据元素生成输出数据包。
处理模块304a将输出数据包传送至开关模块124a。开关模块124a经由参照图1详细描述的IOU模块128a-128f将输出数据包传送至至少一个安全相关部件。安全相关部件(诸如安全关键硬件和软件的部件)可以随后根据在输出数据包中所包括的数据元素而操作。例如,如上所述,安全关键硬件和软件可以与铁路系统内的制动系统相关联。数据元素可以指示安全关键硬件和软件以应用制动器。
参照图3,示出了可替代的容错表决系统的功能框图。可替代的系统包括主CPU204和检验器CPU 208。主CPU 204包括处理模块304a和表决模块308a,并且检验器CPU 208包括处理模块304b和表决模块308b。表决模块308a包括输入表决模块312a和输出表决模块。表决模块308a包括输入表决模块312b和输出表决模块316b。表决模块308a和表决模块308b可以是FPGA。在各个实施例中,模块304a、304b可以被包括到相应模块308a、308b中。
系统100可以操作在多个模式中的一个模式中。多个模式可以包括正常操作模式、表决模式、或任何其他合适的操作模式。图3图示在可替代的表决系统的部件之间的可能的信号路径。例如,图3图示输入表决模块312b可以与输出表决模块316b通信。然而,当系统100操作在表决模式时,输出表决模块316b和处理模块304b不接收或发送(传送)数据包和/或信号。仅仅示出了输出表决模块316b和处理模块304b以便于图示检验器CPU 208的冗余属性。
主CPU 204和检验器CPU 208中的每一个如上所述接收多个输入数据包。表决模块308a和表决模块308b被配置为对多个输入数据包进行表决,并且参照图2如上所述确定多个输入数据包中的每一个输入数据包的有效性。
如上所述,开关模块124a将主数据包传送至输入表决模块312a并且将检验器数据包传送至输入表决模块312b。输入表决模块312a和输入表决模块312b通过对主数据包和检验器数据包表决而确定主数据包和检验器数据包是否是有效数据包。参照图2如上所述,输入表决模块312a被配置为生成主数据包的副本。输入表决模块312a将主数据包的副本传送至输入表决模块312b。
类似地,输入表决模块312b被配置为生成检验器数据包的副本。输入表决模块312b将检验器数据包的副本传送至输入表决模块312a。输入表决模块312a被配置为确定主数据包和检验器数据包的副本是否是有效数据包。输入表决模块312a将主数据包与检验器数据包的副本进行比较。输入表决模块312a基于比较而确定主数据包与检验器数据包的副本是否是相同的。
当输入表决模块312a确定主数据包与检验器数据包的副本不相同时,输入表决模块312a丢弃主数据包并且如上所述生成故障指示。当输入表决模块312a确定主数据包与检验器数据包的副本相同时,输入表决模块312a如上所述生成主密钥。输入表决模块312a将主密钥添加至主数据包。输入表决模块312a将主数据包和主密钥传送至输出表决模块316a。
输入表决模块312b被配置为确定检验器数据包与主数据包的副本是否是有效数据包。输入表决模块312b将检验器数据包与主数据包的副本进行比较。输入表决模块312b基于比较而确定检验器数据包与主数据包的副本是否相同。
当输入表决模块312a确定检验器数据包与主数据包的副本不相同时,输入表决模块312a丢弃检验器数据包并生成故障指示。当输入表决模块312b确定检验器数据包和主数据包的副本相同时,输入表决模块312b生成检验器密钥。输入表决模块312b将检验器密钥添加至检验器数据包。输入表决模块312b将检验器数据包和检验器密钥传送至输出表决模块316a。
输出表决模块316a被配置为确定对主数据包和检验器数据包的表决是否成功。在一些实施方式中,输出表决模块316a基于与主数据包相关联的密钥(主密钥)和与检验器数据包相关联的密钥(检验器密钥)的验证而确定对主数据包和检验器数据包的表决是否成功。例如,输出表决模块316a确定主密钥是否是有效密钥。输出表决模块316a可以通过将主密钥与预定密钥的列表进行比较而确定主密钥的有效性。
当输出表决模块316a确定主密钥与预定密钥列表中的各密钥中的一个密钥相同时,输出表决模块316a确定主密钥是有效密钥。在其他实施方式中,输出表决模块316a确定主密钥是否是复杂密钥。当输出表决模块316a确定主密钥是复杂密钥时,输出表决模块316a确定主密钥是有效密钥。当输出表决模块316a确定主密钥不是有效密钥时,输出表决模块316a丢弃主数据包并生成故障指示。在一些示例中,表决不匹配可以发生在输入表决模块312a中。当发生表决不匹配(也即表决不成功)时,输入表决模块312a被配置为丢弃主数据包,如上所述。然而,由于输入表决模块312a或系统100内另一部件内的故障,主数据包可能被错误地传送至输出表决模块316a。
通过验证主密钥,输出表决模块316a确保不将错误生成的数据包传送至安全关键硬件和软件。换言之,输出表决模块316a被配置为在安全关键硬件和软件执行与主数据包相关联的数据元素之前提供冗余数据包验证。
当输出表决模块316a确定主密钥是有效密钥时,输出表决模块316a确定检验器密钥是否是有效密钥。如关于主密钥所述,输出表决模块316a基于检验器密钥与预定密钥列表之间的比较、通过确定检验器密钥是否是复杂密钥、或任何其他合适的验证方法而确定检验器密钥是否有效。
当输出表决模块316a确定检验器密钥不是有效密钥时,输出表决模块316a丢弃主数据包并生成故障指示。相反,当输出表决模块316a确定检验器密钥是有效密钥时,输出表决模块316a从主数据包移除密钥并将主数据包传送至处理模块304a以用于进一步处理。尽管输出表决模块316a描述成被配置为首先确定主密钥是否有效并随后确定检验器密钥是否有效,但是输出表决模块316a可以首先确定检验器密钥的有效性或者同时确定检验器密钥和主密钥的有效性。
处理模块304a如上所述基于主数据包生成输出数据包。输出数据包包括与主数据包相关联的数据元素。在各个实施例中,输出数据包可以仅包括与主数据包相关联的数据元素。
处理模块304a将输出数据包传送至开关模块124a。如参照图1详细描述的,开关模块124a经由IOU模块128a-128f将输出数据包传送至至少一个安全相关部件。安全相关部件(诸如安全关键硬件和软件的部件)可以随后根据在输出数据包中所包括的数据元素而操作。例如,如上所述,安全关键硬件和软件可以与铁路系统内的制动系统相关联。数据元素可以指示安全关键硬件和软件以应用制动器。
特别地参照图4,图示了示例容错表决方法400的流程图在404处开始。在408处,方法400接收数据包,诸如如上所述的主数据包。例如,开关模块124a可以接收主数据包。在412处,方法400生成主数据包的副本。主数据包的副本可以称作检验器数据包。开关模块124a可以生成主数据包的副本(也即检验器数据包)。
在416处,方法400确定主数据包和检验器数据包是否有效。如上所述,输入表决模块312a和输入表决模块312b分别交换主数据包的副本和检验器数据包的副本。输入表决模块312a和输入表决模块312b中的每一个确定主数据包和检验器数据包是否相同。
如果是,则方法400在420处继续。如果不是,则方法400在436处继续。在436处,方法400丢弃主数据包和/或检验器数据包。在440处,方法400如上所述生成故障指示。方法400在444处结束。
在420处,方法400如上所述将主密钥添加至主数据包并将检验器密钥添加至检验器数据包。在424处,方法400确定主密钥是否有效。例如,控制模块306可以以上述任何方式确定主密钥是否有效。在可替代的实施方式中,输出表决模块316a以上述任何方式确定主密钥是否有效。如果不是,则方法400在436处继续。如果是,则方法400在428处继续。
在428处,方法400确定检验器密钥是否有效。例如,控制模块306以上述任何方式确定检验器密钥是否有效。在可替代的实施方式中,输出表决模块316a以上述任何方式确定检验器密钥是否有效。如果不是,则方法400在436处继续。如果是,则方法400在432处继续。
在432处,方法400将主数据包传送至处理模块304a。处理模块304a基于主数据包生成输出数据包并将输出数据包传送至开关模块124a。开关模块124a将输出数据模块传送至安全关键硬件和软件。安全关键硬件和软件根据与输出数据包相关联的数据元素而操作。
前面的描述本质上仅是示意性并且绝非意在限制本公开、其应用或用途。本公开的广泛教导可以以各种形式实施。因此,尽管本公开包括特定的示例,但本公开的真实范围不应如此受限,因为一旦研究了附图、说明书和以下权利要求,其他修改将变得显而易见。应该理解的是,方法内的一个或多个步骤可以以不同的顺序(或同时地)执行而不改变本公开的原理。进一步,尽管各实施例中的每一个实施例如上描述为具有某些特征,但关于本公开的任何实施例所述的那些特征的任意一个或多个可以实施在任何其他实施例中和/或与任何其他实施例的特征组合,即使该组合并未明确描述。换言之,所述实施例并非是互斥的,并且一个或多个实施例的彼此排列保持在本公开的范围内。
使用各种术语描述元件之间(例如在模块、电路元件、半导体层等之间)的空间和功能关系,包括“连接”、“接合”、“耦接”、“邻接”、“相邻”、“在顶上”、“在……之上”、“在……之下”和“布置”。除非明确地描述为“直接”,当在以上本公开中描述第一元件与第二元件之间的彼此关系时,该关系可以是直接关系,其中第一元件与第二元件之间不存在其他插入的元件,但是也可以是间接关系,其中第一元件与第二元件之间(空间或功能的)存在一个或多个插入元件。如本文所使用,短语A、B和C中的至少一个应该被理解为意味着使用非排他性逻辑“或”的逻辑(A或B或C),并且不应被理解为意味着“A中的至少一个,B中的至少一个,以及C中的至少一个”。
在附图中,如由箭头所示的箭头方向通常展示了对于图示有意义的信息(诸如数据或指令)的流动。例如,当元件A和元件B交换各种信息但是从元件A发送至元件B的信息与图示相关时,箭头可以从元件A指向元件B。该单向箭头并未暗示没有其他信息从元件B发送至元件A。进一步,针对从元件A发送至元件B的信息,元件B可以向元件A发送针对信息的请求或接收信息的确认。
在该申请中,包括以下定义,术语“模块”或术语“控制器”可以替换为术语“电路”。术语“模块”可以指、是其一部分或包括:专用集成电路(ASIC);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享的、专用的或群组的);存储了由处理器电路执行的代码的存储器电路(共享的、专用的或群组的);提供所述功能的其他合适硬件部件;或者以上的一些或全部的组合,诸如在片上系统中。
模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接至局域网(LAN)、互联网、广域网(WAN)、或其组合的有线或无线接口。本公开的任何给定模块的功能可以分布在经由接口电路连接的多个模块之中。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也已知为远程或云)模块可以实现代表了客户端模块的一些功能。
如上所使用的术语代码可以包括软件、固件、和/或微代码,并且可以指程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路包括执行来自多个模块的一些或全部代码的单个处理器电路。术语群组处理器电路包括与额外的处理器电路组合而执行来自一个或多个模块的一些或全部代码的处理器电路。对多处理器电路的引用包括在分立芯片(die)上的多个处理器电路、在单个芯片上的多个处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程,或者以上的组合。术语共享存储器电路包括存储了来自一个或多个模块的一些或全部代码的单个存储器电路。术语群组存储器电路包括与其他的存储器组合而存储了来自一个或多个模块的一些或全部代码的存储器电路。
术语存储器电路是术语计算机可读介质的子集。如本文所使用,术语计算机可读介质不包括通过介质(诸如在载波上)传播的瞬态电的或电磁的信号;术语计算机可读介质因此可以视作是有形的且非瞬态的。非瞬态、有形计算机可读介质的非限定性示例是非易失性存储器电路(诸如快闪存储器电路、可擦除可编程只读存储器电路、或掩模只读存储器电路)、易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁性存储介质(诸如模拟或数字磁带或硬盘驱动器)、以及光学存储介质(诸如CD、DVD或蓝光盘)。
在本申请中描述的设备和方法可以部分地或全部由专用计算机实施,该专用计算机通过配置通用计算机以执行具体化在计算机程序中的一个或多个特定功能来创建。以上所述的功能框和流程图要素用作软件规范,其可以由熟练的技术人员或程序员的常规操作而转换为计算机程序。
计算机程序包括存储在至少一个非瞬态、有形计算机可读介质上的处理器可执行指令。计算机程序也可以包括或者依赖于存储数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定装置交互的装置驱动器、一个或多个操作系统、用户应用、背景服务、背景应用等。
计算机程序可以包括:(i)待语法分析的描述性文本,诸如HTML(超文本标记语言)或XML(可扩展标记语言),(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)用于由解释器执行的源代码,(v)用于由即时编译器等编译并执行的源代码。仅作为示例,源代码可以使用来自如下语言的语法编写,包括:C、C++、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、
Figure GDA0003138921180000191
Fortran、Perl、Pascal、Curl、OCaml、
Figure GDA0003138921180000192
HTML5(超文本标记语言第五版)、Ada、ASP(动态服务器页面)、PHP(PHP:超文本预处理器)、Scala、Eiffel、Smalltalk、Erlang、Ruby、
Figure GDA0003138921180000195
Visual
Figure GDA0003138921180000194
Lua、MATLAB、SIMULINK以及
Figure GDA0003138921180000193
在35U.S.C.§112(f)的含义内,权利要求中记载的元素没有一个意在设计为装置加功能元素,除非元素明确地使用短语“用于……的装置”或者在方法权利要求的情形中使用短语“用于……的操作”或“用于……的步骤”来记载。

Claims (41)

1.一种容错故障安全计算机表决系统,包括:
第一表决模块,所述第一表决模块基于第一数据包与第二数据包的副本之间的比较而生成第一密钥,并且确定所述第一密钥和第二密钥是否是有效密钥,其中,所述第二数据包是开关模块基于所述第一数据包生成的所述第一数据包的副本;
第二表决模块,所述第二表决模块基于所述第二数据包与所述第一表决模块生成的所述第一数据包的副本之间的比较而生成所述第二密钥;以及
处理模块,所述处理模块响应于所述第一表决模块确定所述第一密钥和所述第二密钥是否是有效密钥而基于所述第一数据包生成输出数据包;并且
其中所述第一表决模块被禁止生成所述第二密钥并且所述第二表决模块被禁止生成所述第一密钥。
2.根据权利要求1所述的系统,其中所述第一表决模块包括第一输入表决模块和输出表决模块,并且其中所述第二表决模块包括第二输入表决模块。
3.根据权利要求2所述的系统,其中所述第一输入表决模块响应于所述第一输入表决模块确定所述第一数据包与所述第二数据包的所述副本相同而生成所述第一密钥,并且其中所述第一输入表决模块将所述第一数据包和所述第一密钥传送至所述输出表决模块。
4.根据权利要求3所述的系统,其中所述第二输入表决模块响应于所述第二输入表决模块确定所述第二数据包与所述第一数据包的所述副本相同而生成所述第二密钥,并且其中所述第二输入表决模块将所述第二数据包和所述第二密钥传送至所述输出表决模块。
5.根据权利要求4所述的系统,其中所述输出表决模块基于所述第一密钥和所述第二密钥而确定所述第一数据包是否有效。
6.根据权利要求4所述的系统,其中所述输出表决模块基于确定所述第一密钥是复杂密钥而确定所述第一密钥是有效密钥,并且其中所述输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
7.根据权利要求4所述的系统,其中所述输出表决模块基于所述第一密钥和所述第二密钥而确定所述第一数据包是否有效。
8.根据权利要求7所述的系统,其中所述输出表决模块基于确定所述第一密钥是复杂密钥而确定所述第一密钥是有效密钥,并且其中所述输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
9.根据权利要求1所述的系统,其中所述处理模块将所述输出数据包传送至安全应用的至少一个安全相关部件。
10.根据权利要求9所述的系统,其中所述至少一个安全相关部件根据与所述输出数据包相关联的一个或多个数据元素而操作。
11.根据权利要求1所述的系统,其中所述第一表决模块基于所述第一表决模块确定所述第一数据包和所述第二数据包的所述副本不相同而丢弃所述第一数据包并且生成故障指示。
12.根据权利要求1所述的系统,其中所述第二表决模块基于所述第二表决模块确定所述第二数据包和所述第一数据包的所述副本不相同而丢弃所述第二数据包并且生成故障指示。
13.根据权利要求1所述的系统,其中所述第一表决模块基于所述第一表决模块确定所述第一密钥和所述第二密钥中的一个不是有效密钥而丢弃所述第一数据包并且生成故障指示。
14.一种用于容错故障安全计算机的方法,包括:
通过开关模块接收第一数据包并且基于所述第一数据包生成所述第一数据包的副本作为第二数据包;
通过第一表决模块基于所述第一数据包与所述第二数据包的副本之间的比较而生成第一密钥并且确定所述第一密钥和第二密钥是否是有效密钥;
通过第二表决模块基于所述第二数据包与所述第一表决模块生成的所述第一数据包的副本之间的比较生成所述第二密钥;以及
通过处理模块响应于确定所述第一密钥和所述第二密钥是否是有效密钥而基于所述第一数据包生成输出数据包。
15.根据权利要求14所述的方法,进一步包括:如果所述第一数据包和所述第二数据包的副本不相同,则禁止生成所述第一密钥,以及如果所述第二数据包和所述第一数据包的副本不相同,则禁止生成所述第二密钥。
16.根据权利要求14所述的方法,进一步包括:响应于确定所述第一数据包与所述第二数据包的所述副本相同而生成所述第一密钥,并且传送所述第一数据包和所述第一密钥。
17.根据权利要求16所述的方法,进一步包括:响应于确定所述第二数据包与所述第一数据包的所述副本相同而生成所述第二密钥,并且传送所述第二数据包和所述第二密钥。
18.根据权利要求17所述的方法,进一步包括:基于所述第一密钥和所述第二密钥确定所述第一数据包是否有效。
19.根据权利要求18所述的方法,进一步包括:基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥,并且其中输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
20.根据权利要求17所述的方法,进一步包括:基于所述第一密钥和所述第二密钥确定所述第一数据包是否有效。
21.根据权利要求20所述的方法,进一步包括:基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥,并且其中输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
22.根据权利要求17所述的方法,进一步包括:基于确定所述第一密钥是复杂密钥而确定所述第一密钥是有效密钥,以及基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
23.根据权利要求14所述的方法,进一步包括:将所述输出数据包传送至所述开关模块,并且其中所述开关模块将所述输出数据包传送至安全应用的至少一个安全相关部件。
24.根据权利要求23所述的方法,进一步包括:根据与所述输出数据包相关联的一个或多个数据元素操作至少一个部件。
25.根据权利要求14所述的方法,进一步包括:基于确定所述第一数据包和所述第二数据包的所述副本不相同而不理会所述第一数据包并且生成故障指示。
26.根据权利要求14所述的方法,进一步包括,基于确定所述第二数据包和所述第一数据包的所述副本不相同而不理会所述第二数据包并生成故障指示。
27.根据权利要求14所述的方法,进一步包括:基于确定所述第一密钥和所述第二密钥中的一个不是有效密钥而不理会所述第一数据包并且生成故障指示。
28.一种容错故障安全计算机表决系统,包括:
开关模块,所述开关模块接收第一数据包并且基于所述第一数据包生成所述第一数据包的副本作为第二数据包;
第一表决模块,所述第一表决模块基于所述第一数据包与所述第二数据包的副本之间的比较而生成第一密钥,并且确定所述第一密钥和第二密钥是否是有效密钥;
第二表决模块,所述第二表决模块基于所述第二数据包与所述第一表决模块生成的所述第一数据包的副本之间的比较而生成所述第二密钥;以及
处理模块,所述处理模块响应于确定所述第一密钥和所述第二密钥是否是有效密钥而基于所述第一数据包生成输出数据包。
29.根据权利要求28所述的系统,其中所述第一表决模块被禁止生成所述第二密钥,并且所述第二表决模块被禁止生成所述第一密钥。
30.根据权利要求28所述的系统,其中所述第一表决模块包括第一输入表决模块和输出表决模块,并且其中所述第二表决模块包括第二输入表决模块。
31.根据权利要求30所述的系统,其中所述第一输入表决模块响应于所述第一输入表决模块确定所述第一数据包与所述第二数据包的所述副本相同而生成所述第一密钥,并且其中所述第一输入表决模块将所述第一数据包和所述第一密钥传送至所述输出表决模块。
32.根据权利要求31所述的系统,其中所述第二输入表决模块响应于所述第二输入表决模块确定所述第二数据包与所述第一数据包的所述副本相同而生成所述第二密钥,并且其中所述第二输入表决模块将所述第二数据包和所述第二密钥传送至所述输出表决模块。
33.根据权利要求32所述的系统,其中所述输出表决模块基于所述第一密钥和所述第二密钥而确定所述第一数据包是否有效。
34.根据权利要求32所述的系统,其中所述输出表决模块基于确定所述第一密钥是复杂密钥而确定所述第一密钥是有效密钥,并且其中所述输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
35.根据权利要求32所述的系统,其中所述输出表决模块基于所述第一密钥和所述第二密钥而确定所述第一数据包是否有效。
36.根据权利要求35所述的系统,其中所述输出表决模块基于确定所述第一密钥是复杂密钥而确定所述第一密钥是有效密钥,并且其中所述输出表决模块基于确定所述第二密钥是复杂密钥而确定所述第二密钥是有效密钥。
37.根据权利要求28所述的系统,其中所述处理模块将所述输出数据包传送至所述开关模块,并且其中所述开关模块将所述输出数据包传送至安全应用的至少一个安全相关部件。
38.根据权利要求37所述的系统,其中所述至少一个安全相关部件根据与所述输出数据包相关联的一个或多个数据元素而操作。
39.根据权利要求28所述的系统,其中所述第一表决模块基于所述第一表决模块确定所述第一数据包和所述第二数据包的所述副本不相同而丢弃所述第一数据包并且生成故障指示。
40.根据权利要求28所述的系统,其中所述第二表决模块基于所述第二表决模块确定所述第二数据包和所述第一数据包的所述副本不相同而丢弃所述第二数据包并且生成故障指示。
41.根据权利要求28所述的系统,其中所述第一表决模块基于所述第一表决模块确定所述第一密钥和所述第二密钥中的一个不是有效密钥而丢弃所述第一数据包并且生成故障指示。
CN201810190695.2A 2017-03-10 2018-03-08 用于安全系统的fpga不匹配数据包的停止 Active CN108572638B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/455,619 2017-03-10
US15/455,619 US10372579B2 (en) 2017-03-10 2017-03-10 FPGA mismatched packet stop for a safety system

Publications (2)

Publication Number Publication Date
CN108572638A CN108572638A (zh) 2018-09-25
CN108572638B true CN108572638B (zh) 2022-02-01

Family

ID=63445279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810190695.2A Active CN108572638B (zh) 2017-03-10 2018-03-08 用于安全系统的fpga不匹配数据包的停止

Country Status (2)

Country Link
US (1) US10372579B2 (zh)
CN (1) CN108572638B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3652905B1 (en) * 2017-07-10 2022-03-02 BGC Partners, L.P. Networks for packet monitoring and replay
CN112306033B (zh) * 2019-07-29 2022-01-28 北京新能源汽车股份有限公司 车载控制器联合测试控制方法、装置及系统
CN113395256B (zh) * 2021-05-08 2022-08-23 浙江众合科技股份有限公司 一种sil4设备保持网口安全输出的方法和系统及电子设备
CN116048085B (zh) * 2023-02-03 2023-11-07 江南大学 一种移动机器人的故障估计和容错迭代学习控制方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450425A (en) * 1993-11-19 1995-09-12 Multi-Tech Systems, Inc. Protocol for communication of a data packet
CN101066674A (zh) * 2007-02-09 2007-11-07 联合汽车电子有限公司 混合动力汽车的扭矩控制安全监控系统的架构及系统
CN101102274A (zh) * 2007-08-13 2008-01-09 中兴通讯股份有限公司 一种组播源端口冗余热备份的方法
CN101272290A (zh) * 2008-05-12 2008-09-24 中国电信股份有限公司 Ip网络中路径拥塞状态的测量方法、测量装置和转发装置
CN101937232A (zh) * 2010-09-07 2011-01-05 北京航空航天大学 基于多路数据总线的嵌入式实时仿真与故障模拟系统
CN101943910A (zh) * 2009-07-07 2011-01-12 华东理工大学 用于容错控制的自校验方法
CN101995879A (zh) * 2010-10-08 2011-03-30 同致电子科技(厦门)有限公司 一种汽车自动点灯系统的调试方法
CN103458046A (zh) * 2013-09-13 2013-12-18 中国科学院信息工程研究所 一种基于核心网络的数据秘密共享系统及方法
CN103612562A (zh) * 2013-12-02 2014-03-05 上海理工大学 一种容错电子离合器系统
CN104977907A (zh) * 2014-04-14 2015-10-14 雅特生嵌入式计算有限公司 直接连接算法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117301B1 (en) * 2001-12-27 2006-10-03 Netlogic Microsystems, Inc. Packet based communication for content addressable memory (CAM) devices and systems
EP1952575B1 (en) * 2005-11-18 2017-12-27 Security First Corp. Secure data parser method and system
US8166156B2 (en) * 2006-11-30 2012-04-24 Nokia Corporation Failure differentiation and recovery in distributed systems
CN101771675B (zh) * 2008-12-31 2013-06-05 深圳市广道高新技术有限公司 一种对数据包进行特征匹配的方法及装置
US9218233B2 (en) * 2012-07-24 2015-12-22 Paul Venditti Systems and methods for control reliability operations
US9747184B2 (en) * 2013-12-16 2017-08-29 Artesyn Embedded Computing, Inc. Operation of I/O in a safe system
US9497099B2 (en) * 2013-12-16 2016-11-15 Artesyn Embedded Computing, Inc. Voting architecture for safety and mission critical systems
US9317359B2 (en) * 2013-12-16 2016-04-19 Artesyn Embedded Computing, Inc. Reliable, low latency hardware and software inter-process communication channel for safety critical system
CN104714853B (zh) * 2013-12-16 2018-05-04 雅特生嵌入式计算有限公司 使用cots组件的容错故障安全计算机系统
CN104714510B (zh) * 2013-12-16 2017-12-26 雅特生嵌入式计算有限公司 用于容错故障安全计算机系统的基于任务的表决

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450425A (en) * 1993-11-19 1995-09-12 Multi-Tech Systems, Inc. Protocol for communication of a data packet
CN101066674A (zh) * 2007-02-09 2007-11-07 联合汽车电子有限公司 混合动力汽车的扭矩控制安全监控系统的架构及系统
CN101102274A (zh) * 2007-08-13 2008-01-09 中兴通讯股份有限公司 一种组播源端口冗余热备份的方法
CN101272290A (zh) * 2008-05-12 2008-09-24 中国电信股份有限公司 Ip网络中路径拥塞状态的测量方法、测量装置和转发装置
CN101943910A (zh) * 2009-07-07 2011-01-12 华东理工大学 用于容错控制的自校验方法
CN101937232A (zh) * 2010-09-07 2011-01-05 北京航空航天大学 基于多路数据总线的嵌入式实时仿真与故障模拟系统
CN101995879A (zh) * 2010-10-08 2011-03-30 同致电子科技(厦门)有限公司 一种汽车自动点灯系统的调试方法
CN103458046A (zh) * 2013-09-13 2013-12-18 中国科学院信息工程研究所 一种基于核心网络的数据秘密共享系统及方法
CN103612562A (zh) * 2013-12-02 2014-03-05 上海理工大学 一种容错电子离合器系统
CN104977907A (zh) * 2014-04-14 2015-10-14 雅特生嵌入式计算有限公司 直接连接算法

Also Published As

Publication number Publication date
US20180260297A1 (en) 2018-09-13
US10372579B2 (en) 2019-08-06
CN108572638A (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
CN108572638B (zh) 用于安全系统的fpga不匹配数据包的停止
US10120772B2 (en) Operation of I/O in a safe system
US9317359B2 (en) Reliable, low latency hardware and software inter-process communication channel for safety critical system
JP5068436B2 (ja) 安全性関連処理のバス結合のための方法と装置
US9367375B2 (en) Direct connect algorithm
KR102284080B1 (ko) 2채널 아키텍처
US9497099B2 (en) Voting architecture for safety and mission critical systems
US10042812B2 (en) Method and system of synchronizing processors to the same computational point
US20040011579A1 (en) Method for actuating a component of distributed security system
CA2952045A1 (en) System, method, and apparatus for generating vital messages on an on-board system of a vehicle
CN108572893B (zh) 用于安全系统的端到端fpga诊断的方法和系统
BR112021003707A2 (pt) arquitetura de controle para um veículo
KR101623510B1 (ko) 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템
RU2491597C2 (ru) Система управления, управляющее вычислительное устройство и способ функционирования системы управления
EP3131804B1 (en) Railway safety critical systems with task redundancy and asymmetric communications capability
US9311212B2 (en) Task based voting for fault-tolerant fail safe computer systems
EP3738113B1 (en) System and method for providing a digital intersection
Debouk et al. Architecture of by-wire systems design elements and comparative methodology
Debouk et al. Design Elements and Comparative Methodology

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant