用于软件通信的系统和方法与流程

文档序号:11432141阅读:271来源:国知局
用于软件通信的系统和方法与流程

本公开总体上涉及软件通信。



背景技术:

技术上的改进导致了日益增多的计算机化的交通工具(诸如飞行器、汽车、轮船等等)上系统。通过对计算系统的使用的自动化改进了特定的控制系统。随着技术持续改进,可以升级或替换这种计算系统上的软件。由于交通工具内的这样的计算系统的重要性,确保用来升级或替换现有控制系统软件的软件的真实性很重要。



技术实现要素:

在特定的实现方式中,一种交通工具包括至少一个可编程计算设备,所述可编程计算设备包括配置成存储能由处理器执行的指令的存储器。交通工具还包括配置成基于可加载软件部分修改或替换指令的软件加载器。交通工具包括数据接口和可加载软件部分存储器。交通工具还包括连接到数据接口、可加载软件部分存储器、以及软件加载器的切换器。当切换器处于第一位置时,启用数据接口与可加载软件部分存储器之间的第一数据路径,并且禁用可加载软件部分存储器与软件加载器之间的第二数据路径。当切换器处于第二位置时,启用第二数据路径并且禁用第一数据路径。

在另一特定的实现方式中,一种方法包括:当交通工具的切换器处于第一位置时,经由交通工具的第一数据接口与交通工具的可加载软件部分存储器之间的第一数据路径接收对应于可加载软件部分的数据。当切换器处于第一位置时,禁用可加载软件部分存储器与交通工具的软件加载器之间的第二数据路径。方法还包括当交通工具的切换器处于第一位置时将数据存储在可加载软件部分存储器处。方法还包括当切换器处于第二位置时经由第二数据路径将数据发送到软件加载器。当切换器处于第二位置时禁用第一数据路径。

所描述的特征、功能和优点可以在不同的实现方式中独立地实现,或者可以在其他实现方式中组合,其进一步的细节将参照以下描述和附图公开。

附图说明

图1是例示了用于软件交付的系统的第一配置的示图;

图2是例示了用于软件交付的系统的第二配置的示图;

图3是通信软件的方法的示例的流程图;

图4是操作用于软件交付的系统的方法的示例的流程图;并且

图5是包括用于软件交付的系统的部件的交通工具的例示性实现方式的框图。

具体实施方式

在此公开的实现方式使升级(例如,添加新软件)、修复(例如,修改现有软件)、或替换在交通工具上的可编程计算设备的软件的软件安全改进成为可能。如在此使用的,软件部分可以指的是可由可编程计算设备执行的软件的一部分或其整体。具体来说,在此描述的一个或多个系统包括在交通工具上的可切换软件存储器(例如,连接到切换器的软件存储器)。例如,当切换器处于第一位置时,软件存储器可以经由接口对于外部系统是可访问的。为了例示,当切换器处于第一位置时,可以经由接口从外部系统接收数据(例如,软件部分),并且可以将数据存储在软件存储器处。当切换器处于第二位置时,软件存储器对于在交通工具上的软件加载器可以是可访问的,并且不可以经由接口可访问。因此,当切换器处于第二位置时,软件加载器可以访问在软件存储器处的数据,但是软件存储器无法经由接口接收其他数据。

可以在向可编程计算设备提供之前由软件加载器检查在软件加载器处接收到的软件部分。例如,软件加载器可以配置成使用安全检验(例如,完整性检验或数字签名检验)来检查软件部分。为了例示,软件加载器可以对来自软件存储器的数据执行一个或多个安全检验以检验(或测试)数据(例如,软件部分)的完整性、真实性、或其组合。当部分数据已由软件加载器验证时或者在全部数据已由软件加载器验证之后,软件加载器可以提供已验证数据安装在交通工具上的可编程计算设备处以升级、修复或替换可编程计算设备的现有软件。因此,可切换软件存储器(例如,切换器和软件存储器)使得软件加载器能够执行安全检验而无需软件加载器包括具有存储全部数据(例如,整个软件部分)的足够容量的存储器(诸如缓冲器)。另外,可切换软件存储器可以缓解与并行操作相关联的读取/写入竞争状态和危害。为了例示,可切换软件存储器可以通过对于在软件加载器从存储器中读取以便执行安全检验的同时尝试向交通工具提供软件部分(例如,向存储器写入)的外部系统不可访问来阻止并行的读取和写入操作。因此,可切换软件存储器可以不允许并行的读取和写入操作,从而阻止可以由并行的读取和写入操作造成的数据损坏。

另外地或替选地,交通工具可以包括可配置成检查和过滤非软件数据(诸如非软件数据包)的网络防护。软件数据包可以由于软件可变性而不具有可检查的格式,所述软件可变性可以使软件数据包与非软件数据包相比更加难以检查和过滤。网络防护可以许可向交通工具的一个或多个设备(诸如可编程计算设备)传送非软件数据。

在一些实现方式中,可切换软件存储器可以经由第一端口从外部系统(例如,在交通工具外的系统)接收数据,并且网络防护可以经由不同的端口与第二外部系统通信。在其他实现方式中,网络防护134可以经由第一端口与第二外部系统通信。因此,可以经由网络防护执行交通工具与外部系统之间的数据通信,所述网络防护可以配置成检查和过滤非软件数据包。因此,可以经由与用于数据通信的端口不同的端口发送软件部分,并且可以在安装在可编程计算设备之前检查软件部分。

图1例示了包括交通工具102的系统100的示例。交通工具102可以从一个或多个外部系统、一个或多个内部系统、或其组合接收软件和/或数据。在系统100的特定的实现方式中,如例示性、非限制性示例,交通工具102可以包括或对应于飞行器、汽车、火车、摩托车、公交车、轮船或船只、火箭、航天器、无人驾驶车辆、或另外的交通工具。

交通工具102包括可编程计算设备140、软件加载器150、切换器124、可加载软件部分存储器126、以及第一数据接口120。交通工具102还可以包括网络防护134和第二数据接口130。虽然将交通工具102例示为包括网络防护134和第二数据接口130,但是在其他实现方式中网络防护134和第二数据接口130可以省略。

可编程计算设备140可以包括处理器142和存储器144。存储器144可以存储指令146(例如,软件部分),指令是可由处理器142执行的以执行可编程计算设备140的各种操作。例如,如例示性、非限制性示例,操作可以包括交通工具控制操作、交通工具监控或分析操作、通信操作、交通工具子系统监控或分析操作、应急操作、或其组合。可编程计算设备140可以包括或对应于交通工具102的线路可更换单元(lru)或者lru的部件。lru可以是交通工具102的模块化、可更换的硬件部件。例如,如例示性、非限制性示例,lru可以包括或对应于飞行管理系统、应答器、引擎部件、传感器、或其组合。

可编程计算设备140可以经由第一总线148连接到软件加载器150,并且可以经由第二总线136连接到网络防护134。可编程计算设备140可以配置成经由第一数据接口120从第一系统的第一外部设备接收数据(例如,数据170)——诸如软件部分,并且可以配置成经由第二数据接口130从第二系统的第二外部设备接收数据包(例如,数据包180)。如在此进一步描述的,第一外部设备和第二外部设备可以是相同的设备或不同的设备。另外,第一系统和第二系统可以是相同的系统或不同的系统。

软件加载器150还可以经由第三总线128连接到切换器124。软件加载器150可以配置成经由第三总线128访问数据并且检查数据。软件加载器150可以配置成经由第一总线148提供要安装在可编程计算设备140的存储器144处的数据。例如,如参照图2进一步描述的,软件加载器150可以基于存储在可加载软件部分存储器126处的数据(例如,数据170)经由第一总线148升级、修复或替换指令146。

切换器124可以经由第四总线129连接到可加载软件部分存储器126,并且可以经由第五总线122连接到第一数据接口120。切换器124可以是在多个位置之间可切换的——诸如接收软件位置(例如,第一位置)和加载软件位置(例如,第二位置)。切换器124可以配置成将可加载软件部分存储器126选择性地连接到软件加载器150或第一数据接口120中的一个。例如,当切换器124处于接收软件位置时,在第一数据接口120和可加载软件部分存储器126之间提供(例如,启用)第一数据路径164。因此,可以经由第一数据路径164向可加载软件部分存储器126提供在第一数据接口120处或经由第一数据接口120从外部系统接收的数据170。第一数据接口120可以包括或对应于硬件接口、软件接口、或其组合。另外,当切换器124处于接收软件位置时,禁用从可加载软件部分存储器126到软件加载器150的第二数据路径166。因此,当切换器124处于接收软件位置时,软件加载器150可以不能够访问在可加载软件部分存储器126处的数据170。如参照图2描述的,当切换器124处于加载软件位置时,软件加载器150可以能够访问在可加载软件部分存储器126处的数据170。

切换器124可以位于交通工具102上,并且可以对于授权人员(例如,维护人员)是可访问的,并且对于未授权人员是不可访问的。例如,切换器124可以位于交通工具102的驾驶舱中、在交通工具102的外表面上、或者在交通工具102的维护区中。另外,切换器124可以不位于一般公众或乘客可访问的交通工具102的一部分中(诸如交通工具102的乘客舱)。在一些实现方式中,切换器124可以锁定在或可以位于限制区中。例如,切换器124在没有密钥或密码的情况下可以是不可访问的,或者切换器124所位于的交通工具102的区域在没有密钥或密码的情况下可以是不可访问的。

可以手动地(例如,物理地并且独立于软件)操作切换器124。接收软件位置(例如,第一位置)在图1中例示为由位置指示器162示出的。在图1中例示的特定的实现方式中,切换器124可以包括可转动的拨盘160。可以在接收软件位置(例如,第一位置)与加载软件位置(例如,第二位置)之间手动地操作可转动的拨盘160。虽然切换器124在图1中例示为包括可转动的拨盘160,但是切换器124可以包括或对应于手动双位切换器(诸如拨动切换器或按钮切换器)。在特定的实现方式中,切换器124可以包括机械部件,所述机械部件可操作为经由手动致动在第一位置与第二位置之间移动。

另外,在故障的情况下(例如,电短路或断电),切换器124可以是无法移动的并且可以阻止在多个位置之间切换。因此,软件部分可以不存储在可加载软件部分存储器126处并且加载到可编程计算设备,直到切换器124已修复或已替换为止。在一些实现方式中,在切换器124已损坏或已篡改的情况下,切换器124可以回复到默认位置(诸如接收软件位置或加载软件位置)。例如,切换器124可以被密封,并且可以包括检验切换器124的密封是否完整无缺或者未受损害的电路。在密封已破损或已损坏的情况下,切换器124可以回复到默认位置。为了例示,切换器124可以响应于检测到密封已破损或已损坏而回复到接收软件位置。

可加载软件部分存储器126可以配置成存储数据。可加载软件部分存储器126可以包括或对应于易失性存储器、非易失性存储器、或其组合。在特定的实现方式中,可加载软件部分存储器126可以包括或对应于存储设备。当切换器124处于接收软件位置(例如,第一位置)时,可加载软件部分存储器126可以接收数据170。在特定的实现方式中,当切换器124处于加载软件位置(例如,第二位置)时,可加载软件部分存储器126不能够接收数据。在一些实现方式中,可加载软件部分存储器126可以包括控制器(诸如可加载软件部分存储器控制器188)。可加载软件部分存储器控制器188可以配置成控制可加载软件部分存储器126。例如,可加载软件部分存储器控制器188可以配置成在可加载软件部分存储器126处接收数据、存储数据、擦除数据、并且从可加载软件部分存储器126发送数据。虽然可加载软件部分存储器126例示为单一存储器,但是可加载软件部分存储器126可以包括多个存储器。

第一数据接口120可以位于交通工具102上。在特定的实现方式中,第一数据接口120可以位于交通工具102的安全区中。在另一实现方式中,第一数据接口可以位于交通工具102的非安全区中。第一数据接口120(例如,第一端口)可以配置成经由连接110连接到分布端点104。例如,连接110可以包括有线连接、无线连接、或其组合。如例示性、非限制性示例,连接110可以包括wi-fi连接、usb连接、以太网连接、电气和电子工程师协会(ieee)1394连接(例如,火线连接)、移动adhoc网络(manet)连接、光学连接、或其组合中的一个或多个。

第一数据接口120可以配置成从一个或多个外部系统、一个或多个内部系统、或其组合接收数据,并且向可加载软件部分存储器126提供数据。例如,当切换器124处于接收软件位置时,第一数据接口120可以从分布端点104接收数据170,并且可以向可加载软件部分存储器126提供数据170。

虽然分布端点104在图1中例示为在交通工具102外部,但是在一些实现方式中,分布端点104可以位于交通工具102上。如例示性、非限制性示例,分布端点104可以包括或对应于计算机、路由器、或网关。分布端点104可以包括存储器106,存储器106配置成存储从一个或多个外部系统(例如,it系统112)、从一个或多个内部系统、直接经由端口(未示出)、或其组合接收的数据(例如,数据170)。存储器106可以包括或对应于易失性存储器、非易失性存储器、或其组合。虽然存储器106例示为单一存储器,但是存储器106可以包括多个存储器。在一些实现方式中,分布端点104可以配置成对存储在存储器106处的数据执行安全检验(诸如数字签名检验)。

分布端点可以经由连接108连接到it系统112(例如,it系统112的设备)。连接108可以是有线连接、无线连接、或其组合。例如,如例示性、非限制性示例,连接108可以是wi-fi连接、usb连接、以太网连接、ieee1394连接(例如,火线连接)、manet连接、光学连接、或其组合。分布端点104可以经由广域网(wan)——诸如互联网——从it系统112获取(或接收)数据(例如,数据170)。如另一示例,分布端点104可以经由移动互联网协议(mip)网络、manet、局域网(lan)、虚拟专用网络(vpn)、或航空电信网(atn)从it系统112获取(或接收)数据。因此,it系统112可以接近交通工具102,或者可以远离交通工具102。

网络防护134可以连接到可编程计算设备140和第二数据接口130(例如,第二端口)。例如,网络防护134可以经由第二总线136连接到可编程计算设备140。另外,在图1中例示的示例中,网络防护134经由第六总线132连接到第二数据接口130。网络防护134可以使交通工具102的系统(诸如可编程计算设备140)能够经由数据包(诸如数据包180)与一个或多个外部系统通信。网络防护134可以包括防火墙182、检查模块(诸如深度包检查模块184)、或其组合。

网络防护134可以配置成检查从交通工具102外接收的数据包180。如例示性、非限制性示例,数据包180的示例可以包括与交通工具102的状态报告相关联的、与交通工具102的仪表相关联的、或者与到或从交通工具102的通信相关联的、或其组合相关联的数据包。在一些实现方式中,网络防护134可以检查数据包180以确定数据包180是否满足存储在网络防护134的存储器(未示出)处的各种标准。如例示性、非限制性示例,标准可以包括数据包180是否包含可执行数据、数据包180是否与经许可的发送者或源相关联、或者数据包180是否具有经许可的格式。例如,网络防护134可以检查数据包180的一个或多个头部以确定数据包180是否满足标准。为了例示,网络防护134可以配置成检查数据包180(或者数据包180的一部分)的一个或多个头部并且识别与数据包180相关联的源互联网协议(ip)地址。网络防护134可以在许可数据包180之前确定源ip地址是否匹配可信的或已验证的ip地址的列表(存储在网络防护134的存储器处)。

另外地或替选地,网络防护134可以执行深度包检查,并且对于不兼容的协议或恶意软件(例如,计算机病毒)检查数据包180的数据。为了例示,深度包检查模块184可以检查数据包180的数据以使用存储在网络防护134的存储器处的标准来识别任何过时的协议、可执行数据、恶意软件、或其组合。网络防护134可以许可不包含符合所存储的标准中的一个或多个的数据的数据包。

网络防护134可以向交通工具102的系统(诸如可编程计算设备140)提供经许可的数据包180。例如,网络防护134可以向可编程计算设备140提供经许可的数据包186。因此,网络防护134可以为交通工具102的部件(例如,可编程计算设备)提供经由第二数据接口130从一个或多个外部系统接收的经许可的数据包186。网络防护134可以通过在防火墙182或者深度包检查模块184处阻挡(例如,不许可软件数据包)软件而不经由第二数据接口130向可编程计算设备140提供软件用于安装。

第二数据接口130可以位于交通工具102上。在特定的实现方式中,第二数据接口130可以位于交通工具102的安全区中。第二数据接口130可以配置成从一个或多个外部系统、一个或多个内部系统、或其组合接收数据,并且向网络防护134提供数据。例如,第二数据接口130可以从it系统112(例如,空中交通管理系统)接收数据包180,并且向网络防护134提供数据包180。

第二数据接口134可以经由连接114连接到it系统112。连接114可以是有线连接、无线连接、或其组合。例如,如例示性、非限制性示例,连接114可以是wi-fi连接、usb连接、以太网连接、ieee1394连接(例如,火线连接)、manet连接、光学连接、或其组合。it系统112可以能够经由第二数据接口130向网络防护134发送数据包180。在特定的实现方式中,it系统112响应于从交通工具102接收数据发送数据包180。

因此,交通工具102可以直接地(例如,经由到第二数据接口130的连接114)、经由分布端点104(例如,经由到第一数据接口120的连接110)、或其组合连接到it系统112。

虽然系统110例示为具有连接到第一数据接口120的分布端点140,并且例示为具有连接到第二数据接口130的it系统112,但是第一数据接口120和第二数据接口130可以连接到分布端点104、it系统112、另一系统、或其组合。例如,it系统112可以连接到独立于分布端点104的第一数据接口120。在一些实现方式中,it系统112(或分布端点104)可以配置成基于数据类型(诸如软件数据或通信数据)将数据路由到第一数据接口120或者第二数据接口130。在特定的实现方式中,分布端点104可以是it系统112的一部分(或者包含在it系统112中)。因此,交通工具102可以经由第一数据接口120、第二数据接口130、或其组合从一个或多个外部系统、一个或多个内部系统、或其组合接收数据。在一些实现方式中,第一数据接口120和第二数据接口130可以是单一接口。例如,网络防护134可以连接到单一接口,并且可以配置成将软件数据路由到可加载软件部分存储器126。如另一示例,路由设备(未示出)可以连接到单一接口,并且可以配置成将软件数据路由到可加载软件部分存储器126并且将通信数据路由到网络防护134。

在系统100的操作期间,切换器124可以设置为接收软件位置。it系统112可以经由连接108将数据170发送到分布端点104。分布端点104可以经由连接110将数据170路由或转发到第一数据接口120。在一些实现方式中,分布端点104可以在向可加载软件部分存储器126提供数据170之前对数据170执行数字签名检验。在特定的实现方式中,分布端点104可以响应于接收数据170来转发或路由数据170。在其他实现方式中,分布端点104可以直接经由端口或连接(诸如经由闪存驱动)接收数据。

当切换器124设置为接收软件位置时,启用第一数据路径164,并且可加载软件部分存储器126可以存储经由第五总线122从第一数据接口120接收到的数据170。因为切换器124设置为接收软件位置,所以禁用第二数据路径166(例如,不可以从可加载软件部分存储器126向软件加载器150提供数据)。

与切换器124的位置无关或独立于切换器124的位置,it系统112可以将数据包180通信到可编程计算设备140。网络防护134可以确定数据包180是否满足安全检验。例如,网络防护134可以使用防火墙182过滤数据包(一个或多个)180、可以使用深度包检查模块184对数据包180执行深度包检查、或者两者都有。网络防护134可以许可通过安全检验的数据包(一个或多个)180,并且可以向可编程计算设备140提供经许可的数据包186。

在一些实现方式中,在启用数据路径(例如,第一数据路径164或第二数据路径166)并且激活数据传输时,当切换器124从第一位置移动到第二位置时切断数据传输。例如,当切换器124从接收软件位置移动到加载软件位置、同时数据170正在从分布端点104传输到可加载软件部分存储器126时,禁用第一数据路径164,并且终止数据170的传输。由于可以在完成之前终止数据170的传输,可加载软件部分存储器126、可加载软件部分存储器控制器188、软件加载器150、或其组合可以对于突然的和意外的中断是能复原的以在中断的情况下阻止数据丢失或损坏。

在一些实现方式中,当切换器124从一个位置移动到下一个时,在数据路径终止之前可以存在延迟。例如,在切换器124从接收软件位置移动到加载软件位置之后,第一数据路径164可以禁用10毫秒。另外,当切换器124从一个位置移动到另一个时,可以由交通工具102的电子部件生成延迟信号,并且可以将即将发生的中断告知系统100的部件。例如,切换器124可以将延迟信号发送到可加载软件部分存储器126、分布端点104、或两者,指示第一数据路径164即将禁用。延迟信号可以向可加载软件部分存储器126、分布端点104、或两者提供足够的时间以停止数据传输并且可阻止数据丢失或损坏。

在一些实现方式中,在任何时刻可以启用仅一个数据路径。例如,在启用第二数据路径166时可以不启用第一数据路径164。在启用第一数据路径164或者启用第二数据路径166之前,第一数据路径164和第二数据路径166两者可以都被禁用一段时间。在特定的实现方式中,切换器124可以具有待命位置(例如,第三位置)。待命位置可以在接收软件位置(例如,第一位置)和加载软件位置(例如,第二位置)之间。因此,当从第一位置切换到第二位置或者从第二位置切换到第一位置时,切换器124可以进入待命位置。在切换器124处于待命位置时,第一数据路径164和第二数据路径166两者可以都被禁用。

在一些实现方式中,切换器124可以包括在软件加载面板(未示出)中。软件加载面板可以阻止对切换器124的访问。例如,在利用密钥或密码打开软件加载面板之后,切换器124可以是可访问的。软件加载面板可以位于交通工具102的安全区或限制区中。例如,软件加载面板可以对于维护人员是可访问的,并且可以对于乘客不是可访问的。如例示性、非限制性示例,软件加载面板可以位于交通工具102的飞行甲板中。在特定的实现方式中,软件加载面板可以在交通工具102的外表面上。

虽然总线(例如,第一总线、第二总线等)在图1中例示为多通道(例如,四个通道),但是每个总线可以具有多于或少于四个通道。在特定的实现方式中,至少一个总线可以具有单一通道。

虽然系统100例示为具有仅一个可编程计算设备140和一个软件加载器150,但是系统100可以具有多个可编程计算设备、多个软件加载器、或两者。例如,系统100可以包括多个可编程计算设备(例如,lru)。每个可编程计算设备可以具有其自己专用的软件加载器。如另一示例,可存在一个或多个软件加载器,并且每个软件加载器可以对应于(例如,加载软件用于)一个或多个可编程计算设备的集合。

在一些实现方式中,数据170可以指示多个可编程计算设备中的哪一个特定的可编程计算设备要利用数据170令其软件升级、修复、或替换。例如,数据170可以指示软件加载器150要利用数据170修改或升级多个可编程计算设备中的第一可编程计算设备和第二可编程计算设备。

因此,图1例示了具有使软件部分的安全检验能够加载到交通工具102的可编程计算设备中的软件部分存储器(诸如可加载软件部分存储器126)的交通工具102。另外,交通工具102能够经由网络防护134经由数据包与在交通工具102外的系统通信其他数据。网络防护134在能够扫描具有特定的格式的数据包(例如,数据包180)时可以不擅长于扫描和过滤特定类型的数据包(诸如软件部分)。例如,软件部分数据包可以过于复杂而不能扫描,或者软件部分数据包之间的变化性可以过大而不能过滤。如另一示例,网络防护134可以不具有缓冲整个软件部分以检验数字签名的足够存储器。因此,通过将软件部分的检查或检验卸载到软件加载器150的安全检验,可以简化网络防护134。另外,通过提供切换器124,可以通过确保维护人员基于切换器124的位置有意地上传待加载到可编程计算设备140的软件来维护交通工具安全完整性。此外,软件加载器150相对于经由网络连接接收软件的软件加载器可以具有降低的尺寸和复杂度,因为软件加载器150可以从本地存储器中读取而不是执行联网操作。

图2包括系统100的另一例示,其中切换器124处于对应于加载软件位置的第二位置。例如,切换器124可以在数据170已经存储在可加载软件部分存储器126之后从接收软件位置移动到加载软件位置。在切换器124处于加载软件位置时,禁用第一数据路径164。因此,可加载软件部分存储器126对于(或经由)第一数据接口120是不可访问的。然而,在切换器124处于加载软件位置时,启用第二数据路径166。因此,软件加载器150能够从可加载软件部分存储器126访问和获取数据170。

另外,在切换器124处于加载软件位置时,可加载软件部分存储器126(例如,可加载软件部分存储器控制器188)可以经由第四总线129或者经由不同的通信路径(未示出)(诸如专用数据加载使能信号路径)将数据加载使能信号发送到软件加载器150。数据加载使能信号通知软件加载器150数据在可加载软件部分存储器126处可用于由软件加载器150加载到交通工具102的系统(诸如交通工具102的可编程计算设备140)。响应于接收数据加载使能信号,软件加载器150可以访问可加载软件部分存储器126以访问、获取、或既访问又获取数据170或数据170的一部分。另外,可以响应于数据加载信号和切换器124的位置来启用数据路径。例如,可以响应于在软件加载器150处接收到数据加载使能信号和切换器124处于加载软件位置来启用第二数据路径166。在其他实现方式中,可以由切换器124或另一源生成数据加载使能信号。另外,数据加载使能信号可以导致切换器124启用或禁用数据路径。例如,切换器124可以响应于接收(或生成)数据加载使能信号来禁用第一数据路径164、启用第二数据路径166、或两者。

软件加载器150可以对可加载软件部分存储器126中的数据170或数据170的一部分执行安全检验202。例如,安全检验202可以包括与数据170相关联的完整性检验、数字签名检验、或其组合。软件加载器150可以缓冲全部数据170以执行完整性检验或数字签名检验。在一些实现方式中,完整性检验可以包括加密完整性检验。例如,可以在执行加密完整性检验之前利用密钥初始化软件加载器150。密钥可以是公钥,并且密钥可以包含在数字证书中。在其他实现方式中,密钥可以是私钥。软件加载器150可以使用密钥来对数据170执行加密完整性检验。由于在软件加载器150访问数据170之前在可加载软件部分存储器126中加载数据170,所以不存在读取/写入失控状态或竞争状态的问题,在所述失控状态或竞争状态下分布端点104在软件加载器150试图访问或修改数据170的同时试图访问或修改数据170。

在执行安全检验202、并且数据170被许可或满足安全检验之后,软件加载器150可以使用或安装数据170或数据170的一部分来升级、修复或替换可编程计算设备140的指令146。当数据170(或其一部分)未被许可或者不满足安全检验时,可以删除、重写、或者否则丢弃数据170(或其一部分)。另外,当数据170(或其一部分)未被许可或者不满足安全检验时,软件加载器150可以生成报告。报告可以指示数据加载故障或错误。软件加载器150可以经由网络防护134将报告发送到外部系统。

响应于基于数据170升级或替换指令146,软件加载器150或可编程计算设备140可以将确认204发送到在交通工具102外的一个或多个外部系统,指示软件已经正确安装在可编程计算设备140。虽然确认204在图2中例示为到达it系统112,但是在其他实现方式中,可以将确认204直接发送到分布端点104。替选地,当确认204发送到it系统112时,it系统112可以将确认204或关于确认204的信息经由网络防护134转发到分布端点104。

在系统100的操作期间,切换器124可以从接收软件位置设置为加载软件位置。例如,切换器124可以由飞行器或维护人员手动地激活。如参照图1描述的,在切换器124先前设置为接收软件位置时,数据170存储在可加载软件部分存储器126中。由于切换器124设置为加载软件位置,所以可以启用第二数据路径166,并且软件加载器150可以经由第三总线128访问(例如,只读访问)在可加载软件部分存储器126处的数据170。软件加载器150可以对在可加载软件部分存储器126处的数据170执行安全检验202。例如,软件加载器150可以缓冲数据170或数据170的一部分,并且对缓冲的数据执行数字签名检验。如另一示例,软件加载器150可以使用存储的密钥(诸如在初始化过程期间获得的密钥)对数据170执行完整性检验。

软件加载器150可以响应于执行安全检验202许可数据170。软件加载器150可以使用或安装数据170或数据170的一部分来升级、修复、或替换可编程计算设备140的指令146。在一些实现方式中,数据170可以包括多个软件部分。软件加载器可以配置成基于数据170选择多个软件部分中要安装的特定的可加载软件部分(例如,数据170的一部分)。

响应于指令146基于数据170或数据170的一部分已更新或已替换,软件加载器150或可编程计算设备140可以经由第二数据接口130将确认204发送到it系统112。

另外,it系统112可以经由连接108将第二数据(未示出)发送到分布端点104。分布端点104可以尝试经由连接110将第二数据路由或转发到第一数据接口120。由于切换器124设置为加载软件位置,所以禁用第一数据路径164,并且分布端点104可以不能够发送第二数据(例如,可以不具有写入访问)。因此,可加载软件部分存储器126可以不能够存储第二数据。在特定的实现方式中,分布端点104可以在存储器106处存储第二数据。例如,分布端点104可以配置成存储从it系统112接收的任何数据。如另一示例,当可加载软件部分存储器126对于分布端点104不可访问时,分布端点104可以在存储器106处存储第二数据。为了例示,在切换器124处于加载软件位置时,分布端点104可以在存储器106处存储第二数据。

图3例示了通信软件的方法300的特定示例。方法300可以图1和2的系统100、图1和2的交通工具102执行。例如,方法300可以由可编程计算设备140、软件加载器150、切换器124、可加载软件部分存储器126、第一数据接口、或其组合执行。

方法300包括:在302,在交通工具的切换器处于第一位置时,经由交通工具的第一数据接口与交通工具的可加载软件部分存储器之间的第一数据路径接收对应于可加载软件部分的数据。例如,参照图1,在交通工具102的切换器124处于接收软件位置时,可加载软件部分存储器126可以经由第一数据路径164从第一数据接口120接收数据170。在一些实现方式中,切换器可以包括经由手动致动在第一位置与第二位置之间移动以使能软件加载操作的交通工具的机械部件。

方法300包括:在304,在交通工具的切换器处于第一位置时,在可加载软件部分存储器处存储数据。例如,第一位置可以包括或对应于由如图1中描绘的位置指示器162指示的接收软件位置。

方法300可以包括:在306,在交通工具的切换器处于第二位置时,响应于切换器置于第二位置将数据加载使能信号发送到软件加载器。例如,第二位置可以包括或对应于由如图2中描绘的位置指示器162指示的加载软件位置。切换器124可以响应于切换器124放置在加载软件位置将数据加载使能信号发送到软件加载器150。

方法300包括:在308,在交通工具的切换器处于第二位置时,经由第二数据路径将数据发送到软件加载器。在切换器处于第二位置时,禁用第一数据路径。例如,第二数据路径可以包括或对应于图1和2的第二数据路径166。如参照图1和2描述的,在切换器124处于加载软件位置时,可以禁用第一数据路径164。在一些实现方式中,第一数据路径可以对应于第一数据总线,并且第二数据路径可以对应于第二数据总线。例如,第一数据路径164可以对应于第五总线122,并且第二数据路径166可以对应于第三总线128。

方法300可以包括:在310,在软件加载器处对数据执行完整性检验。例如,如参照图2描述的,软件加载器150可以对数据170执行安全检验202。

方法300可以包括:在312,当数据满足完整性检验时,基于数据修改或替换存储在交通工具的线路可更换单元的存储器处的指令。例如,指令可以包括或对应于图1和2的指令146,并且存储器可以包括或对应于图1和2的存储器144。线路可更换单元可以包括或对应于可编程计算设备140。为了例示,可以利用数据170修改或替换可编程计算设备140的指令146。

方法300可以包括:在314,经由交通工具的第二数据接口将确认发送到计算设备。确认可以指示可加载软件部分已安装。例如,确认可以包括或对应于图2的ack204,并且可以经由第二数据接口(诸如图1和2的第二数据接口130)被发送到it系统112。

在一些实现方式中,方法300可以包括经由交通工具的第二数据接口从计算设备接收多个数据包。例如,数据包可以包括或对应于图1的数据包180。第二数据接口可以不同于第一数据接口。方法300还可以包括在交通工具的网络防护设备处执行多个数据包的包分析。例如,网络防护可以包括或对应于图1和2的网络防护。在一些实现方式中,包分析可以包括多个数据包的深度包检查以确定多个数据包是否包括可执行指令。方法300还可以包括在多个数据包中的一个或多个数据包满足包分析的条件下,将数据包中的所述一个或多个从网络防护设备发送到线路可更换单元。在一些实现方式中,当一个或多个数据包中的每一个具有预期格式或预期净荷类型中的至少一个时,一个或多个数据包可以满足包分析。例如,满足包分析的数据包可以包括或对应于图1的经许可的数据包186。

参照图4和5,在如由图4的流程图例示的交通工具制造和服务方法400以及如由图5的框图例示的交通工具系统500的背景下描述了公开的示例。如例示性、非限制性示例,由图4的交通工具制造和服务方法400生产的交通工具、以及图5的交通工具502可以包括飞行器、汽车、火车、摩托车、公交车、轮船或船只、火箭、航天器、无人驾驶车辆、或另外的交通工具。

参照图4,示出了操作用于软件交付的系统的方法的例示性示例的流程图,并且定名为400。在预生产期间,示例性方法400包括:在402,交通工具(诸如图1的交通工具102或参照图5描述的交通工具502)的规格和设计。在交通工具的规格和设计期间,方法400可以包括:可切换软件部分存储器、切换器、或其组合。可切换软件部分存储器和切换器可以分别包括或者可以分别对应于可加载软件部分存储器126和切换器124。在404,方法400包括材料采购。例如,方法400可以包括采购用于软件交付系统的材料(诸如图1和2的可加载软件部分存储器126、图1和2的软件加载器150、图1和2的切换器124、或其组合)。

在生产期间,方法400包括在406,部件和子组件制造,并且在408,交通工具的系统整合。方法400可以包括飞行管理系统的部件和子组件制造(例如,生产图1和2的可加载软件部分存储器126)和用于软件交付的系统的系统整合(例如,将软件加载器150连接到切换器124)。在410,方法400包括交通工具的认证和交付,并且在412包括将交通工具置于服务中。认证和交付可以包括认证用于软件交付的系统。方法400可以包括将用于软件交付的系统置于服务中。当服务于客户时,可以为交通工具安排常规维护和服务(其还包括修改、重配置、翻新、以及诸如此类的)。在414,方法400包括对交通工具执行维护和服务。方法400可以包括执行用于软件交付的系统的维护和服务。例如,用于软件交付的系统的维护和服务可以包括替换图1和2的可加载软件部分存储器126、图1和2的软件加载器150、图1和2的切换器124、或其组合中的一个或多个。如另一示例,系统的维护和服务还可以包括升级、修复、或替换软件。可以由系统集成商、第三方、和/或操作者(例如,客户)执行或实行方法400的过程中的每一个。出于该描述的目的,系统集成商可以在不受限制的情况下包括任何数量的交通工具制造商和主要系统分包商;第三方可以在不受限制的情况下包括任何数量的供货商、分包商、供应商;并且操作者可以是航空公司、租赁公司、军事实体、服务组织、以及诸如此类的。

图3和4的方法中的一个的第一部分可以至少与图3和4的方法中的另一个的第二部分结合。例如,图3的方法300的第一部分可以与图3的方法300、图4的方法400、或其组合中的一个的第二部分结合。

参照图5,示出了包括用于软件交付的系统的部件的交通工具的例示性实现方式的框图,并且定名为500。例如,交通工具502可以包括或对应于图1的交通工具102。为了例示,如例示性、非限制性示例,交通工具502可以包括飞行器。交通工具可以由图4的方法400的至少一部分生产。如图5中示出的,交通工具502(例如,飞行器)可以包括机身518、内部522、和包含控制系统501的多个系统520。多个系统520可以另外包括推进系统524、电子系统526、环境系统528、或液压系统530中的一个或多个。控制系统501可以包括参照图1描述的系统100的部件,并且可以包括lru540(例如,飞行管理计算机)、软件存储器544、切换器560、和软件加载器550。lru540可以包括或对应于图1的可编程计算设备140。软件存储器544可以包括或对应于图1的可加载软件部分存储器126。切换器560可以包括或对应于图1的切换器124。软件加载器550可以包括或对应于图1的软件加载器150。可以包括任何数量的其他系统——诸如连接到存储器(未示出)的处理器。处理器可以配置成执行存储在存储器中的计算机可执行指令(例如,一个或多个指令的程序)。指令可以包括或对应于当执行时导致处理器执行图3的方法的一个或多个操作的指令。虽然示出了航天示例,但是在此描述的实现方法可以应用于其他工业(诸如汽车工业)。

可以在图4的方法400中的一个或多个阶段期间采用在此包括的装置和方法。例如,例如在412并且不受限制的情况下,可以以相似于在交通工具502在服务中时生产的部件或子组件的方式生产或制造对应于生产过程408的部件和子组件。同样地,例如通过实质上促进交通工具502的组装或者降低交通工具502的成本,可以在生产阶段(例如,方法400的元素402-410)期间使用一个或多个装置实现方式、方法实现方式、或其组合。相似地,在交通工具502在服务中时,例如在412并且不受限制的情况下,可以使用装置实现方式、方法实现方式、或其组合中的一个或多个来在414维护和服务。

在此描述的示例的例示意图提供对不同的实现方式的结构的一般理解。例示不意图用作对使用在此描述的结构或方法的装置和系统的全部元素和特征的完整描述。基于回顾本公开,很多其他实现方式可以对于本领域的技术人员显而易见。可以使用并且从本公开中推导其他实现方式,以便在不背离本公开的范围的情况下可以做出结构上和逻辑上的替代和改变。例如,可以以与附图中示出的不同的顺序执行方法操作,或者可以省略一个或多个方法操作。因此,本公开和附图被认为是示例性的而不是限制性的。

此外,虽然在此例示和描述了特定示例,但是应该理解的是,任何为实现相同或相似结果设计的后续布置可以代替所示出的特定实现方式。本公开意图覆盖不同实现方式的任何和全部后续改变或变化。基于回顾本描述,上述实现方式的组合以及没有在此特别描述的其他实现方式对于本领域的技术人员将显而易见。

在理解其将不用于解释或限制权利要求的范围或意义的情况下,提交本公开的摘要。此外,在前述的具体实施方式中,不同的特征可以组合在一起或者为了精简公开的目的在单一实现方式中描述。上面描述的示例例示但不限制本公开。还应该理解的是,根据本公开的原理,许多修改和变化是可能的。如所附权利要求体现的,所要求的主题可以针对少于任何所公开的示例的全部特征。因此,公开的范围由所附权利要求和它们的等效限定。

另外,本公开包括根据以下条款的实施方式:

条款1、一种交通工具,所述交通工具包括:

至少一个可编程计算设备,所述至少一个可编程计算设备包括配置成存储可由处理器执行的指令的存储器;

软件加载器,所述软件加载器配置成基于可加载软件部分修改或替换所述指令;

数据接口;

可加载软件部分存储器;以及

切换器,所述切换器连接到所述数据接口、所述可加载软件部分存储器、以及所述软件加载器,使得:

当所述切换器处于第一位置时,启用所述数据接口与所述可加载软件部分存储器之间的第一数据路径,并且禁用所述可加载软件部分存储器与所述软件加载器之间的第二数据路径,并且

当所述切换器处于第二位置时,启用所述第二数据路径并且禁用所述第一数据路径。

条款2、根据条款1所述的交通工具,其中所述交通工具是飞行器并且所述至少一个可编程计算设备是所述飞行器的线路可更换单元的部件。

条款3、根据条款1所述的交通工具,其中所述切换器包括可操作为经由手动致动在所述第一位置与所述第二位置之间移动的机械部件。

条款4、根据条款1所述的交通工具,其中所述切换器配置成响应于所述切换器置于所述第二位置导致将数据加载使能信号发送到所述软件加载器。

条款5、根据条款1所述的交通工具,其中第一数据路径对应于第一数据总线,并且所述第二数据路径对应于第二数据总线。

条款6、根据条款1所述的交通工具,所述交通工具还包括可加载软件部分存储器控制器,所述可加载软件部分存储器控制器配置成在所述切换器处于所述第一位置时从所述数据接口接收对应于特定可加载软件部分的数据并且在所述可加载软件部分存储器中存储所述数据。

条款7、根据条款6所述的交通工具,其中,当所述切换器处于所述第一位置时,所述数据对于所述数据软件加载器是不可访问的。

条款8、根据条款6所述的交通工具,其中所述可加载软件部分存储器控制器还配置成在所述切换器处于所述第二位置时,从所述可加载软件部分存储器获取所述数据并且经由所述第二数据路径将所述数据发送到所述软件加载器。

条款9、根据条款8所述的交通工具,其中在所述切换器处于所述第二位置时连接到所述数据接口的设备不能够访问所述可加载软件部分存储器并且不能够与所述可加载软件部分存储器控制器通信。

条款10、根据条款8所述的交通工具,其中所述软件加载器配置成执行所述数据的安全检验。

条款11、根据条款10所述的交通工具,其中所述软件加载器还配置成在确定所述数据通过安全检验的条件下,使用所述数据修改或替换所述指令。

条款12、根据条款1所述的交通工具,其中,在所述切换器处于所述第一位置时,连接到数据接口的设备对于所述可加载软件部分存储器具有写入访问权;并且在所述切换器处于所述第二位置时,所述软件加载器对于所述可加载软件部分存储器具有只读访问权。

条款13、一种方法,所述方法包括:

当交通工具的切换器处于第一位置时:

经由所述交通工具的第一数据接口与所述交通工具的可加载软件部分存储器之间的第一数据路径接收对应于可加载软件部分的数据,其中当所述切换器处于所述第一位置时禁用所述可加载软件部分存储器与所述交通工具的软件加载器之间的第二数据路径;并且

在所述可加载软件部分存储器处存储所述数据;并且

当所述切换器处于第二位置时,经由所述第二数据路径将所述数据发送到所述软件加载器,其中当所述切换器处于所述第二位置时禁用所述第一数据路径。

条款14、根据条款13所述的方法,所述方法还包括,在将所述数据发送到所述软件加载器之后,对所述数据执行完整性检验,并且当所述数据满足所述完整性检验时,基于所述数据修改或替换存储在所述交通工具的线路可更换单元的存储器处的指令。

条款15、根据条款13所述的方法,其中所述切换器包括经由手动致动在所述第一位置与所述第二位置之间移动以使能软件加载操作的所述交通工具的机械部件。

条款16、根据条款13所述的方法,所述方法还包括响应于所述切换器置于所述第二位置将数据加载使能信号发送到所述软件加载器。

条款17、根据条款13所述的方法,所述方法还包括,在所述软件加载器将所述可加载软件部分提供到线路可更换单元之后,经由所述交通工具的第二数据接口将所述可加载软件部分已安装的确认发送到计算设备。

条款18、根据条款13所述的方法,所述方法还包括:

经由所述交通工具的第二数据接口从计算设备接收多个数据包,所述第二数据接口与所述第一数据接口不同;

在所述交通工具的网络防护设备处执行所述多个数据包的包分析;并且

在所述多个数据包中的一个或多个数据包满足所述包分析的条件下,将所述数据包中的所述一个或多个从所述网络防护设备发送到线路可更换单元。

条款19、根据条款18所述的方法,其中所述包分析包括所述多个数据包的深度包检查以确定所述多个数据包是否包括可执行指令。

条款20、根据条款18所述的方法,其中当所述一个或多个数据包中的每一个具有预期格式或预期净荷类型中的至少一个时,所述一个或多个数据包满足所述包分析。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1