用于使用分布式账本提供按需发动机软件的设备,系统和方法
文献发布时间:2023-06-19 11:03:41
技术领域
本公开涉及用于向飞行器发动机管理系统提供按需发动机软件的设备,系统和方法,并且更具体地涉及,用于利用分布式账本来跟踪并向飞行器发动机管理系统提供软件的设备,系统和方法。
背景技术
飞行器部件,特别是飞行器发动机,可以结合多个传感器,这些传感器感测与飞行器部件有关的各种状况,软件可以使用这些传感器实时检测,诊断或预测问题和/或故障,即使飞行器正在操作(例如,飞行)。随着获得关于飞行器部件的操作的更多信息,这种软件会经常更新,使得该软件通过每次连续更新在诊断或预测问题和/或故障中变得更加准确。此外,软件已利用特定功能认证,并且服务适应性仅限于基于ID插件的发动机构造,特定发动机硬件的存在或安装有发动机的飞行器。
当前,软件更新不能被推送到飞行器(或其部件)或自动通信地联接到飞行器的计算机系统。而是,软件由制造商提供在物理介质上,并且只有在接收到相应的服务公告并测试软件时,才由操作者或服务中心安装。这样,飞行器(或其部件)并不总是安装最新的软件。另外,该软件具有基于要应用该软件的零件的固定功能,并且不能适于与其他零件一起使用。
发明内容
在第一方面A1中,一种软件交付系统,包括:飞行器,该飞行器具有被构造为验证并安装飞行器的一个或多个部件所利用的一个或多个软件应用的发动机控制系统。该软件交付系统还包括通信地联接到飞行器的电子分配系统。电子分配系统验证软件的请求,请求软件,并利用发动机控制系统启动安装协议。该软件交付系统还包括通信地联接到电子分配系统的边缘管理器。边缘管理器维护一个或多个软件。该软件交付系统进一步包括用作分布式账本库的节点的多个计算设备,该多个计算设备维护分布式账本。多个计算设备通信地联接到飞行器,电子分配系统和边缘管理器。分布式账本提供记录,该记录包括与软件的请求,电子分配系统对请求的第一次验证,边缘管理器对请求的第二次验证,发动机控制系统对请求的第三次验证,以及软件的安装有关的信息。
第二方面A2包括第一方面A1的软件交付系统,其中,飞行器的一个或多个部件选自飞行器控制机构,飞行器存储器,飞行器处理器,飞行器系统,飞行器传感器和飞行器发动机。
第三方面A3包括第一至第二方面A1-A2中任一项的软件交付系统,其中,飞行器经由地面通信系统通信地联接到电子分配系统和分布式账本库,使得飞行器在飞行时保持通信。
第四方面A4包括第一至第三方面A1-A3中任一项的软件交付系统,其中,发动机控制系统包括全权限数字发动机控制(FADEC)系统以及预测和健康监视系统中的一个或多个。
第五方面A5包括第一至第四方面A1-A4中任一项的软件交付系统,其中,软件包含编程指令,该编程指令在由处理器执行时使处理器从一个或多个飞行器传感器接收数据,从数据中确定与飞行器的一个或多个部件有关的一个或多个故障,并且完成一个或多个处理以解决一个或多个故障。
第六方面A6包括第一到第五方面A1-A5中任一项的软件交付系统,其中,当一个或多个软件更新经由边缘管理器可用时,电子分配系统自动地将一个或多个软件更新推送到发动机控制系统。
第七方面A7包括第一至第六方面A1-A6中任一项的软件交付系统,其中,电子分配系统和边缘管理器中的一个或多个是分布式账本库的节点。
在第八方面A8中,一种向飞行器提供软件的方法,该方法包括经由在分布式账本中生成的记录来接收软件的请求。该记录包括与请求有关的信息,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息。该方法还包括:通过电子分配系统验证软件对应于飞行器;通过电子分配系统利用对应于验证的数据来修改分布式账本中的记录;通过电子分配系统从边缘管理器请求软件。该记录被修改为包括软件的请求,并且可由边缘管理器访问。该方法还包括通过电子分配系统从边缘管理器接收软件。边缘管理器修改分布式账本中的记录,以指示软件向边缘分配系统的传输。该方法还包括通过电子分配系统将软件提供给飞行器的发动机控制系统以进行安装。
第九方面A9包括第八方面A8的方法,该方法还包括接收分布式账本中的记录的更新,该更新指示软件安装已完成。
第十方面A10包括第九方面A9的方法,其中,接收更新发生在软件完成时,或发生在软件安装完成之后发动机控制系统与网络建立数据链路时。
第十一方面A11包括第八至第十方面A8-A10中任一项的方法,其中,验证软件对应于飞行器包括通过电子分配系统访问查找表,该查找表包括软件与有效操作者,有效发动机型号,有效发动机序列号和有效时间约束中的一个或多个之间的交叉引用。验证还包括通过电子分配系统确定飞行器的操作者,飞行器的发动机型号,发动机序列号,从与请求有关的信息中生成记录的时间,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息中的一个或多个。验证还包括通过电子分配系统确定飞行器的操作者,飞行器的发动机型号,发动机序列号,对应于有效操作者生成记录的时间,有效发动机型号,有效发动机序列号以及有效时间约束中的一个或多个。验证进一步包括通过电子分配系统确认用于飞行器的软件。
第十二方面A12包括第八至第十一方面A8-A11中任一项的方法,其中,与飞行器的标识有关的信息包括飞行器操作者,飞行器类型,飞行器型号,飞行器序列号,飞行器标识符以及飞行器的制造商中的一项或多项。
第十三方面A13包括第八至第十二方面A8-A12中任一项的方法,其中,与飞行器的一个或多个飞行器系统有关的信息包括发动机型号,发动机序列号,发动机标识符,发动机制造商,传感器类型和传感器功能中的一项或多项。
第十四方面A14包括第八至第十三方面A8-A13中任一项的方法,其中,软件的请求由发动机制造商或飞行器操作者提供。
第十五方面A15包括第八至第十四方面A8-A14中任一项的方法,其中,接收软件的请求包括:从订阅服务器接收软件更新的自动通知。
在第十六方面A16中,一种向飞行器提供软件的方法,该飞行器在软件交付系统中通信地联接到电子分配系统和边缘管理器,该方法包括经由在分布式账本中生成的记录来接收软件的请求。该记录包括与请求有关的信息,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息。该方法还包括:通过电子分配系统验证软件对应于飞行器;通过电子分配系统利用对应于验证的第一数据来修改分布式账本中的记录;通过电子分配系统请求软件。该记录被修改为包括软件的请求。该方法还包括:通过边缘管理器验证软件的请求是有效请求;通过边缘管理器利用对应于有效请求的第二数据来修改分布式账本中的记录;通过边缘管理器向电子分配系统提供软件;通过电子分配系统启动软件的安装协议;通过飞行器的发动机控制系统验证分布式账本中的记录对应于安装协议;通过飞行器的发动机控制系统安装软件;通过飞行器的发动机控制系统修改记录以指示软件安装已完成。
第十七方面A17包括第十六方面A16的方法,其中,修改记录包括在发动机控制系统与存储分布式账本的分布式账本库之间建立数据连接之后修改记录。
第十八方面A18包括第十六至第十七方面A16-A17中任一项的方法,其中,通过电子分配系统验证软件对应于飞行器包括:通过电子分配系统访问查找表,该查找表包括软件与有效操作者,有效发动机型号,有效发动机序列号和有效时间约束中的一个或多个之间的交叉引用。验证还包括通过电子分配系统确定飞行器的操作者,飞行器的发动机型号,发动机序列号,从与请求有关的信息中生成记录的时间,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息中的一个或多个。验证还包括通过电子分配系统确定飞行器的操作者,飞行器的发动机型号,发动机序列号,对应于有效操作者生成记录的时间,有效发动机型号,有效发动机序列号以及有效时间约束中的一个或多个。验证进一步包括通过电子分配系统验证用于飞行器的软件。
第十九方面A19包括第十六至第十八方面A16-A18中任一项的方法,其中,软件的请求由发动机制造商或飞行器操作者提供。
第二十方面A20包括第十六至第十九方面A16-A19中任一项的方法,进一步包括在通过边缘管理器提供之前:通过边缘管理器从存储库中获取软件;通过边缘管理器测试软件,以确保软件在飞行器中运行。
当参考附图考虑以下描述和所附权利要求时,本技术的这些和其他特征、特性,以及操作方法、相关结构元件的功能、零件和制造经济性的结合将变得更加显而易见,所有附图形成了本说明书的一部分,其中,在各个附图中,相同的附图标记表示相应的部分。然而,应当明确地理解,附图仅出于说明和描述的目的,并且不旨在作为本发明的限制的限定。如说明书和权利要求书中所使用的,除非上下文另外明确指出,否则单数形式“一个”,“一种”和“该”包括复数指代。
附图说明
图1示意性地描绘了根据本文示出和描述的一个或多个实施例的说明性软件交付系统;
图2A描绘了根据本文示出和描述的一个或多个实施例的电子分配系统的说明性内部部件的框图;
图2B描绘了根据本文示出和描述的一个或多个实施例的包含在图2A的电子分配系统的存储器部件内的说明性逻辑模块的框图;
图3A描绘了根据本文示出和描述的一个或多个实施例的边缘管理器的说明性内部部件的框图;
图3B描绘了根据本文示出和描述的一个或多个实施例的包含在图3A的边缘管理器的存储器部件内的说明性逻辑模块的框图;
图3C描绘了根据本文示出和描述的一个或多个实施例的用于分配软件的图3A的边缘管理器的软件生态系统的框图;
图4描绘了根据本文示出和描述的一个或多个实施例的向飞行器和/或其部件分配软件的说明性概述方法的流程图;
图5A描绘了根据本文示出和描述的一个或多个实施例的由电子分配系统完成的用于向飞行器和/或其部件分配软件的说明性方法的流程图;
图5B描绘了根据本文示出和描述的一个或多个实施例的验证软件对应于飞行器的说明性方法的流程图;和
图6描绘了根据本文示出和描述的一个或多个实施例的由边缘管理器完成的检索和验证将要安装在飞行器和/或其部件上的软件的功能的说明性方法的流程图。
具体实施方式
本公开大体涉及为了向飞行器和/或其部件提供软件和/或软件更新的目的而利用分布式账本(诸如区块链等)的设备,系统和方法。本文描述的设备,系统和方法使飞行器部件(例如发动机)软件功能按需启用,包括但不限于用于高级发动机控制或监视发动机健康的发动机上软件和/或机外诊断软件。本文描述的设备,系统和方法确保软件与飞行器部件(例如飞行器发动机)兼容,并且确保飞行器的操作者被授权使用该软件。此外,本文描述的设备,系统和方法允许软件被特定飞行器部件序列号上的特定线路可更换单元(LRU)授权使用。
如上所述,本文描述的设备,系统和方法利用分布式账本技术,例如,区块链技术。区块链是一种软件机制,该软件机制提供可信任资产和交易的分布式系统而无需中央信任授权。为了用作分布式账本,区块链可以由共同遵守用于节点间通信和确认新块的协议的对等网络管理。一旦记录,任何给定块中的数据都不能被追溯性地更改而不更改所有后续块,这需要网络多数的共识。尽管无法更改区块链记录,但可以通过设计将区块链视为安全的,并举例说明具有高拜占庭容错能力的分布式计算系统。因此,已通过区块链声明了分散共识。本文所述的使用基于区块链技术的“智能合约”的设备,系统和方法,启用了允许将功能并入到可以用订阅密钥解锁的软件中的软件,当操作者订阅应用时可以下载应用以及针对特定发动机的高级诊断,以诊断现场问题。
因此,本文所述的设备,系统和方法确保了分布式软件的完整性,确保了分布式软件与其上运行有分布式软件的硬件的兼容性,确保了操作者被授权使用该软件,并启用基于订阅的模型。
以前,发动机软件分配模型包括以固定版本发布软件,该软件已认证用于非常特定的功能。这样,服务中的软件的适配限于基于识别插件(ID插件)的发动机构造,特定发动机硬件的存在和/或安装有发动机的特定飞行器。此外,可以为软件指定零件号,该零件号在飞行器部件零件清单(例如发动机零件清单)上标识。软件的升级像备件一样分配,因为分布式软件具有基于零件的固定功能,并且由操作者或服务中心基于服务公告从固定介质(例如CD,DVD,闪存驱动器)进行安装。因此,该软件具有固定功能,如果不分配新版本,则无法更改该固定功能。
先前的分配软件过程包括以下步骤。首先,程序控制委员会(PCB)审查软件的设计影响和时序,并批准设计变更(CID)。然后,CID被批准并由数字工作台内的工程部门发布。CID从数字工作台流到工程材料清单(eBOM),业务属性由构造平台负责人指定(例如,发运代码是将来的产品,采购代码受到限制,是否控制运输等)。此外,工程团队会向发动机部件测试(ECT)系统(或其他飞行器部件系统)中的软件部件号指定出口控制分类号(ECCN)。有关软件的服务公告是由技术发布者发布的,发布的服务公告信息流到eBOM。然后,航空维护专业人员可以在阅读服务公告后通过完成几个步骤(例如,请求软件,获得批准,联系供应链计划者,寻找购买者,等待实际介质运输等)来获取软件。结果,以前的过程很长且很麻烦,需要几个人共同努力才能甚至在其可以被安装前获得必要的软件。
通过结合使用基于分布式账本(例如,区块链技术)的智能合约,本设备,系统和方法能够激活软件中的功能,该软件可能已经被结合到飞行器硬件部件中,但是未激活直到该软件被启用或下载并在容器中运行。主要软件(例如主发动机软件)仍可以作为飞行器零件进行认证和发布。但是,认证的软件可以结合允许在将软件安装在飞行器部件(例如,发动机)上之后修改功能的特征。在一些实施例中,可以修改软件以使用订阅密钥来解锁功能,当操作者订阅这样的应用时下载另外的应用,和/或针对特定飞行器部件完成高级诊断,以诊断和/或预测现场问题。
如本文所使用的“软件”包括机器可读和/或机器可执行指令(例如,“编程指令”),尤其是发动机控制系统或飞行器系统可读和/或可执行的机器可读和/或机器可执行指令。如本文所使用的,“软件”还包括在执行现有机器可读和/或机器可执行指令时由处理设备利用的信息或数据。即,现有的机器可读和/或机器可执行指令指示处理设备访问数据文件,以获取用于指导特定处理步骤的信息。本文所述的软件可以包括这样的数据文件,该数据文件可以根据需要进行更新。在一些实施例中,本文所使用的软件可以包括代替旧软件或现有软件的新软件,或补充旧软件或现有软件的新软件。在其他实施例中,本文所使用的软件可以包括对现有软件的更新。即,更新可能不是完全可执行的软件,而是可以包括注入到现有软件中以更新软件的一个或多个代码段。
图1描绘了大致用100表示的示例性软件交付系统,该软件交付系统用于根据各种实施例向飞行器130分配软件。如图1所示,软件交付系统100通常包含经由网络110联接的部件的互连性,该网络110可以包括广域网(诸如因特网),局域网(LAN),移动通信网络,公共服务电话网络(PSTN)和/或其他网络,并且可以被构造为以电子方式连接部件。可以经由网络110连接的说明性部件包括但不限于与飞行器130通信的地面系统120(例如,经由地面无线通信链路122和飞行器无线通信链路166),电子分配系统124,边缘管理器170和/或分布式账本库180。
飞行器130通常包括机身132,机翼组件138和一个或多个发动机140。尽管图1将飞行器130描述为具有两个机翼组件138的固定翼飞行器,每个机翼组件138上安装有一个发动机140(总共两个发动机140),但是可以设想其他构造。例如,其他构造可以包括多于两个的机翼组件138,多于两个的发动机140(例如,三喷气发动机,四喷气发动机等),未安装至机翼组件138(例如,安装至机身,安装至尾部,安装至机头等)的发动机140,非固定机翼(例如,旋翼飞行器)等。
如图1所示,飞行器130可以包括联接至机翼组件138和/或机身132的发动机140,定位在机身132中的驾驶舱134,以及从机身132向外延伸的机翼组件138。用于控制飞行器130的控制机构160包括在驾驶舱134中,并且可以由位于其中的飞行员操作。应当理解,本文所使用的术语“控制机构”是用于涵盖所有飞行器控制部件(特别是通常在驾驶舱134中发现的那些)的通用术语。
使飞行器130能够正确操作的多个附加飞行器系统144,以及发动机控制系统136和具有飞行器无线通信链路166的通信系统也可以包括在飞行器130中。附加飞行器系统144通常可以是实现对飞行器130的一个或多个部件的控制(例如,机舱压力控制,升降机控制,方向舵控制,襟翼控制,扰流板控制,起落架控制,热交换器控制等)的任何系统。在一些实施例中,飞行器130的航空电子设备可以被附加飞行器系统144中的一个或多个包围。飞行器无线通信链路166通常可以是现在已知或以后开发的任何空对地通信系统。飞行器无线通信链路166的说明性示例包括但不限于应答器,超高频(VHF)通信系统,飞行器通信寻址和报告系统(ACARS),控制器-飞行员数据链路通信(CPDLC)系统,未来的空中导航系统(FANS)等。发动机控制系统136可以可操作地联接到多个飞行器系统144和发动机140。尽管图1中描绘的实施例具体涉及发动机控制系统136,但是应该理解,飞行器130内还可以包括其他控制器,以控制不与发动机140特别相关的各种其他飞行器系统144。
发动机控制系统136通常包括用于控制每个发动机140的一个或多个部件,例如诊断计算机,安装在一个或多个发动机140或飞行器130上的发动机相关的数字电子单元等。发动机控制系统也可以称为数字发动机控制系统。发动机控制系统内可与发动机控制系统136一起运行并且可能需要软件来操作的说明性其他部件包括但不限于电子发动机控制(EEC),电子发动机控制单元(EECU),分布式控制模块(DCM),数字发动机控制(DEC),发动机监视单元(EMU)和发动机监视系统(EMSC)。这些部件中的任何一个使用的软件可以是如本文所述分配的软件
发动机控制系统136也可与飞行器130的其他控制器连接。在实施例中,发动机控制系统136可包括处理器162和/或存储器164,包括非暂时性存储器。在一些实施例中,存储器164可以包括随机存取存储器(RAM),只读存储器(ROM),闪存或一种或多种不同类型的便携式电子存储器,例如盘,DVD,CD-ROM等,或这些类型的存储器的任何合适组合。处理器162可执行存储在存储器164中的一个或多个编程指令,从而引起发动机控制系统136的操作。即,发动机控制系统136内的处理器162和存储器164可用于执行本文关于发动机控制系统136所述的各种处理,包括操作飞行器130的各种部件(例如发动机140和/或其部件),监视飞行器130的各种部件(例如,发动机140和/或其部件)的健康状况,监视飞行器130和/或其部件的操作,安装软件,安装软件更新,修改分布式账本中的记录以指示已安装和/或更新了软件,根据安装和/或更新的软件来执行处理等。
在一些实施例中,发动机控制系统136可以包括全权限数字发动机控制(FADEC)系统。这种FADEC系统可以包括各种电子部件,一个或多个传感器和/或控制每个发动机140的一个或多个致动器。在特定实施例中,FADEC系统包括电子发动机控制系统(EEC)或发动机控制单元(ECU),以及被构造为控制发动机140的性能的各个方面的一个或多个附加部件。FADEC系统通常具有对发动机140的操作参数的完全权限,并且不能被手动覆盖。FADEC系统通常通过接收当前飞行状况的多个输入变量(包括但不限于空气密度,油门杆位置,发动机温度,发动机压力等)来起作用。输入被接收,分析并用于确定操作参数,例如但不限于燃料流量,定子轮叶位置,引气阀位置等。FADEC系统还可以控制发动机140的启动或重启。可以通过安装和/或更新软件(例如由本文描述的软件交付系统100分配的软件)来修改FADEC的操作参数。这样,可以以编程方式控制FADEC以确定发动机限制,接收发动机健康报告,接收发动机维护报告等,以在某些状况下采取某些措施和/或动作。
在一些实施例中,发动机控制系统136可包括预测和健康监视(PHM)系统。这样的PHM系统可以包括各种电子部件,一个或多个传感器,和/或监视飞行器130中的一个或多个发动机系统的一个或多个致动器。在一些实施例中,PHM系统可以用于通过评估系统与其预期的正常操作状况的偏离和/或退化的程度来预测部件的未来性能。这可以通过分析故障模式,检测磨损和老化的早期迹象以及检测故障状况来完成。这样的动作可以是数据驱动的,并且可以通过利用机器学习等来改进,以更准确地预测状况并确定潜在故障。这样,可以经由本文描述的系统和方法来连续更新由PHM系统实施的软件,以使PHM系统更准确地感测和预测部件性能。
在一些实施例中,发动机控制系统136可以包括一个或多个编程指令,用于诊断和/或预测飞行器130中的一个或多个发动机系统故障。诊断和/或预测的故障可以包括但不限于部件的不正确操作,部件的故障,部件的未来故障的指示器等。如本文所使用的,术语诊断是指故障已经发生之后的确定并且与预测相反,预测是指使得在故障何时发生之前提前知道故障的前瞻性确定。与诊断一起,发动机控制系统136可以检测故障。
由发动机控制系统136运行(例如,由处理器162执行并存储在存储器164内)的软件可以包括计算机程序产品,该计算机程序产品包括用于携带或具有机器可执行指令或数据结构的机器可读介质。这样的机器可读介质可以是任何可用的介质,该介质可以被通用或专用计算机或具有处理器的其他机器访问。通常,这种计算机程序可以包括具有执行特定任务或实施特定抽象数据类型的技术效果的例程,程序,对象,部件,数据结构,算法等。机器可执行指令,关联的数据结构和程序表示用于执行如本文所公开的信息交换的程序代码的示例。机器可执行指令可以包括例如指令和数据,该指令和数据使通用计算机,专用计算机或专用处理机器执行某些功能或一组功能。在一些实施例中,计算机程序产品可以由发动机控制系统136外部的部件提供并且被安装,以供发动机控制系统136使用。例如,计算机程序产品可以由边缘管理器170和/或电子分配系统124提供,如本文更详细地描述的。计算机程序产品通常可以经由从软件交付系统100的一个或多个部件(例如,边缘管理器170和/或电子分配系统124)接收的软件更新来更新,如本文更详细地描述的。发动机控制系统136通常通过安装更新来更新软件,使得该更新补充和/或覆盖计算机程序产品的现有程序代码的一个或多个部分。该软件更新可以允许计算机程序产品更准确地诊断和/或预测故障,提供最初未提供的附加功能等。
在一些实施例中,发动机控制系统136,特别是其处理器162和存储器164,可以通信地联接到分布式账本库180(例如,经由飞行器无线通信链路166和地面系统120的地面无线通信链路122,该地面无线通信链路122经由网络110通信地联接到分布式账本库180),使得发动机控制系统136可以添加或修改存储在分布式账本库的计算设备182上的分布式账本中的记录。在其他实施例中,发动机控制系统136可以用作分布式账本库180中的节点。也就是说,发动机控制系统136与分布式账本库180的计算设备182一起可以包含分布式账本的副本和存储在其上的记录,并且可以用于在记录更新时以与分布式账本库180中的计算设备182类似的方式来确认记录。
在实施例中,每个发动机140可包括风扇142和一个或多个传感器150,用于在发动机140操作期间感测风扇142的各种特性。一个或多个传感器150的说明性示例包括但不限于风扇速度传感器152,温度传感器154和压力传感器156。风扇速度传感器152通常是测量发动机140内的风扇142的转速的传感器。温度传感器154可以是测量发动机140内的流体温度(例如,发动机空气温度),发动机进气口位置处的流体(例如空气)的温度,压缩机内的流体(例如空气)的温度,涡轮内的流体(例如空气)的温度,燃烧室内的流体(例如空气)的温度,发动机排气口位置处的流体(例如空气)的温度,发动机内或周围的热交换器中使用的冷却流体和/或加热流体的温度等的传感器。压力传感器156可以是测量发动机140内和/或周围的各个位置中的流体压力(例如,空气压力),例如发动机进气口处的流体压力(例如,空气压力),压缩机内的流体压力(例如,空气压力),涡轮内的流体压力(例如,空气压力),燃烧室内的流体压力(例如,空气压力),发动机排气口位置处的流体压力(例如,空气压力)等的传感器。
在一些实施例中,每个发动机140可具有与其相关联的多个传感器150(包括一个或多个风扇速度传感器152,一个或多个温度传感器154和/或一个或多个压力传感器156)。即,可以使用多于一种相同类型的传感器150来感测发动机140的特性(例如,用于同一发动机140的每个不同区域的传感器150)。在一些实施例中,传感器150中的一个或多个可用于感测多于一个的发动机140的特性(例如,单个传感器150可用于感测两个发动机140的特性)。在一些实施例中,发动机140可以进一步包括本文未具体描述的附加部件,并且可以包括与这些附加部件结合或被构造为感测这些附加部件的一个或多个附加传感器150。
在实施例中,每个传感器150(包括但不限于风扇速度传感器152,温度传感器154和压力传感器156)可以通信地联接至飞行器130的一个或多个部件,使得从传感器150传输与一个或多个感测特性有关的信号和/或数据,用于根据需要传感器信息的软件确定,检测和/或预测故障,以及完成一个或多个其他动作的目的。如图1描绘的实施例中的在各个传感器150(例如,风扇速度传感器152,温度传感器154和压力传感器156)以及飞行器系统144和发动机控制系统136之间延伸的虚线所示,在一些实施例中,各种传感器150可以通信地联接到飞行器系统144和/或发动机控制系统136。这样,各种传感器150可以经由有线或无线通信地联接到飞行器系统144和/或发动机控制系统136,以将信号和/或数据传输到飞行器系统144和/或发动机控制系统136。
应该理解,飞行器130仅代表一个说明性实施例,其可以被构造为实施本文描述的装置,系统和方法的实施例或实施例的一部分。在操作期间,飞行器130(例如发动机控制系统136和/或另一部件)可以诊断或预测各种飞行器系统144中的一个或多个中的系统故障。作为非限制性示例,当飞行器130正在操作时,控制机构160可用于操作飞行器系统144中的一个或多个。各种传感器150,包括但不限于风扇速度传感器152,温度传感器154和/或压力传感器156,可以输出与发动机140和/或其他飞行器系统144的各种特性有关的数据。发动机控制系统136可以利用来自控制机构160,风扇速度传感器152,温度传感器154,压力传感器156,各种飞行器系统144,一个或多个数据库的输入,和/或来自航空公司控制,飞行操作等的信息,以诊断,检测和/或预测航空公司维修人员可能不知道的故障。除其他事项外,发动机控制系统136可以在一段时间内分析由各种传感器150(例如,风扇速度传感器152,温度传感器154,压力传感器156等)输出的数据,以确定发动机140和/或其他各种飞行器系统144的操作中的漂移,趋势,步骤,或峰值。发动机控制系统136还可以分析系统数据以确定历史压力,历史温度,飞行器130上的多个发动机140之间的压力差,飞行器130上的多个发动机140之间的温度差等,并基于此诊断,检测和/或预测发动机140和/或各种其他飞行器系统144中的故障。一旦已经诊断,检测和/或预测了故障,就可以在飞行器130上和/或在地面系统120上提供指示。可以预期,故障的诊断,检测和/或预测可以在飞行前检查期间完成,可以在飞行期间完成,可以在飞行后完成,或者可以在发生多个飞行之后完成。飞行器无线通信链路166和地面无线通信链路122可以传输数据,使得与故障有关的数据和/或信息可以传输到飞行器130之外。
尽管图1的实施例具体涉及飞行器130内的部件,但是本公开不限于此。即,关于飞行器130描绘的各种部件可以被结合在各种其他类型的飞行器内,并且可以以类似的方式起作用,以将新的软件和/或更新的软件交付和安装到本文所述的发动机控制系统136。例如,在不脱离本公开的范围的情况下,本文关于飞行器130所描述的各种部件可以存在于船只,航天器等中。
仍参考图1,地面系统120通常是位于地面上的传输系统,其能够向飞行器130传输信号和/或从飞行器130接收信号。即,地面系统120可以包括地面无线通信链路122,该地面无线通信链路122通信地联接至飞行器无线通信链路166,以无线方式传输和/或接收信号和/或数据。在一些实施例中,地面系统120可以是空中交通管制(ATC)塔和/或其一个或多个部件或系统。因此,地面无线通信链路122可以是VHF通信系统,ACARS单元,CPDLC系统,FANS等。使用地面系统120和地面无线通信链路122,即使在飞行器130是空中飞行的情况下,图1的实施例中所描绘的各种非飞行器部件也可以通信地联接到飞行器130,从而允许每当可能需要软件和/或软件更新时,就按需传输这种软件和/或软件更新。然而,应理解,图1中描绘的实施例仅是说明性的。在其他实施例中,飞行器130可以在地面上时通信地联接到软件交付系统100的各种其他部件,并且物理联接到软件交付系统100的部件中的一个,例如,边缘管理器170和/或电子分配系统124。
电子分配系统124是计算系统,该计算系统接收软件的请求,验证请求,将验证的请求传输到软件交付系统100的其他部件(例如,传输到边缘管理器170),从软件交付系统100的其他部件接收软件(例如,从边缘管理器170接收),并向飞行器130和/或其部件(例如,发动机控制系统136)提供软件。在一些实施例中,电子分配系统124可以通信地联接到分布式账本库180(包括其计算设备182),以生成和/或修改分布式账本中的记录,但是可以不用作分布式账本库180中的节点。在其他实施例中,在一些实施例中,电子分配系统124可以是分布式账本库的节点。即,电子分配系统124可以存储分布式账本的副本以及包含在其中的各种记录,可以生成分布式账本的新记录,可以修改分布式账本中的记录,和/或可以验证分布式账本的记录。本文将参考图2A-2B讨论允许电子分配系统124执行功能的各种硬件部件。
仍参考图1,边缘管理器170是计算系统或设备网络,该计算系统或设备网络接收软件的请求,验证请求,将软件传输到软件交付系统100的其他部件(例如,电子分配系统124)等。在一些实施例中,边缘管理器170可以通信地联接到分布式账本库180(包括其计算设备182),以生成和/或修改分布式账本中的记录,但是可以不用作分布式账本库180中的节点。在其他实施例中,边缘管理器170可以是一些实施例中的分布式账本库的节点。即,边缘管理器170可以存储分布式账本的副本以及包含在其中的各种记录,可以生成分布式账本的新记录,可以修改分布式账本中的记录,和/或可以验证分布式账本的记录。本文将参考图3A-3C讨论允许边缘管理器170执行功能的各种硬件部件。
尽管图1将电子分配系统124和边缘管理器170描绘为单独的部件,但这是非限制性示例。即,在其他实施例中,单个设备可以包括电子分配系统124和边缘管理器170两者的所有部件(以及相应的功能),而不脱离本公开的范围。
仍参考图1,分布式账本库180是存储在多个计算设备182上的数据库。多个计算设备中的每一个具有存储在分布式账本库180中的数据的副本。当(例如,通过创建新记录,修改现有记录和/或删除记录)修改分布式账本库180中的分布式账本时,存储在每个计算设备182上的每个副本也因此被修改,并且每个计算设备182验证该修改。因此,分布式账本库180用作计算设备182的对等网络,该对等网络遵守用于节点间通信并对生成的新记录,修改的记录和/或删除的记录进行确认的协议。此外,在修改记录时,每个计算设备182将新数据追加到记录的先前版本(例如,在区块链的情况下,在链中创建新的区块)。应当理解,在分布式账本中,在不更改所有随后创建或修改的记录(例如,链中的后续区块)的情况下,无法追溯地更改数据,这需要分布式账本库180中的大多数计算设备182达成共识。在实施例中,可以通过使用对等功能和分布式时间戳服务器,由分布式账本库180中的计算设备182自主地管理分布式账本。
分布式账本中的每个记录(例如,区块链中的每个区块)可以保存一个或多个批次的确认交易,这些确认交易被哈希编码为默克尔(Merkle)树,其中初始记录(父记录)的每个后续记录(子记录)包括出现在初始记录中的标签的加密哈希,以便后续记录返回到初始记录。通过包括父记录的加密哈希,可以将父记录和子记录一起排序。由于链接的迭代处理,链接的记录形成链(例如,区块链)。结果,迭代处理确认先前记录(例如,先前的区块)的完整性,一直追溯到初始起源记录(例如,起源区块)。
如本文所述,软件交付系统100的各种其他部件可以用作分布式账本库180内的节点,从而与计算设备182一起形成分布式账本。例如,在一些实施例中,发动机控制系统136可以是分布式账本库180中的节点。在一些实施例中,电子分配系统124可以是分布式账本库180中的节点。在一些实施例中,边缘管理器170可以是分布式账本库180中的节点。在进一步实施例中,除了计算设备182之外,发动机控制系统136,电子分配系统124和边缘管理器170的任何组合可以是分布式账本库180中的一个或多个节点。在一些实施例中,可以省略计算设备182。相反,软件交付系统100的各个部件可以包括分布式账本库180的各个节点。即,发动机控制系统136(包括多个飞行器130中的多个发动机控制系统136),电子分配系统124和边缘管理器170可以组成托管用于分配软件的分布式账本的分布式账本库180。
组成分布式账本库180的计算设备182通常可以是任何联网的计算设备,该计算设备包含在分布式账本中创建,更新,验证和/或存储记录所必需的计算机部件。这样,计算设备182可各自包括处理器(或多个处理器),包含编程指令的一个或多个存储器设备,一个或多个数据存储设备,通信硬件等。
转到图2A,示出了图1中描绘的电子分配系统124的各种内部部件。特别地,图2A描绘了用于接收软件的请求,验证请求,传输验证的请求,接收软件和/或提供软件的各种系统部件。
如图2A所示,电子分配系统124可包括一个或多个处理设备202,非暂时性存储器部件204,网络接口硬件208,设备接口硬件210和数据存储部件206。本地接口200(诸如总线等)可以互连各种部件。
一个或多个处理设备202(诸如计算机处理单元(CPU))可以是电子分配系统124的中央处理单元,其进行计算和逻辑操作以执行程序。单独的或与其他部件结合的一个或多个处理设备202是说明性的处理设备,计算设备,处理器或其组合。一个或多个处理设备202可以包括被构造为接收和执行指令(诸如来自数据存储部件206和/或存储器部件204的指令)的任何处理部件。
存储器部件204可以被构造为易失性和/或非易失性计算机可读介质,并且因此可以包括随机存取存储器(包括SRAM,DRAM和/或其他类型的随机存取存储器),只读存储器(ROM),闪存,寄存器,光盘(CD),数字多功能盘(DVD)和/或其他类型的存储部件。存储器部件204可以在其上包括一个或多个编程指令,当由一个或多个处理设备202执行时,该编程指令使一个或多个处理设备202完成各种处理,诸如本文关于图4和图5A-5B所描述的处理。
仍然参考图2A,存储在存储器部件204上的编程指令可以体现为多个软件逻辑模块,其中每个逻辑模块提供用于完成一个或多个任务的编程指令。图2B描绘了根据各种实施例的图2A的存储器部件204的各种模块。
如图2B所示,存储器部件204包括多个逻辑模块。作为示例,图2B中所示的每个逻辑模块可以体现为计算机程序,固件或硬件。存在于存储器部件204中的逻辑模块的说明性示例包括但不限于请求接收逻辑252,设备接口逻辑254,账本接口逻辑256,账本修改逻辑258,账本验证逻辑260,安装逻辑262和/或软件接收逻辑264。
参考图2A和2B,请求接收逻辑252通常可以包括一个或多个编程指令,用于与电子分配系统124外部的一个或多个部件进行通信,以接收软件和/或软件更新的请求。也就是说,还参考图1,请求接收逻辑252包含程序,该程序用于从飞行器130或其部件(例如,发动机控制系统136),从边缘管理器170和/或从一个或多个外部计算设备(未显示)(例如由飞行器制造商,飞行器部件制造商(例如发动机制造商),飞行器运营商(例如航空公司),和/或飞行器维修设施拥有和/或操作的计算设备)接收传输。电子分配系统124外部的各种部件通常表示可以传输飞行器130(例如,其发动机控制系统136)的软件的请求,和/或飞行器130(例如,其发动机控制系统136)的软件更新的请求的那些部件。
参考图1,图2A和图2B,设备接口逻辑254包括一个或多个编程指令,用于与电子分配系统124外部的软件交付系统100(图1)的各种设备或部件建立通信连接。例如,在各种实施例中,设备接口逻辑254可以包括可用于从边缘管理器170和/或从一个或多个外部计算设备(未示出)与飞行器130或其部件(例如,发动机控制系统136)建立连接的编程指令。在另一个示例中,设备接口逻辑254可以包含编程指令,用于与请求接收逻辑252,安装逻辑262和/或软件接收逻辑264的编程指令协同工作,以从边缘管理器170和/或从一个或多个外部计算设备(未示出)与飞行器130或其部件(例如,发动机控制系统136)建立连接。
仍参考图1、2A和2B,账本接口逻辑256包括一个或多个编程指令,用于与作为分布式账本库180的节点的一个或多个计算设备182建立通信连接。例如,账本接口逻辑256可以包括可用于与作为分布式账本库180的节点的一个或多个计算设备182建立连接的编程指令。在电子分配系统124是分布式账本库180的节点的实施例中,账本接口逻辑256通常可以包括根据为分布式账本库中的节点建立的协议的编程指令,使得电子分配系统124可以写入新记录,生成加密哈希以引用现有记录(例如,建立与区块链中的父区块相关联的子区块),验证由一个或多个计算设备182生成的加密哈希等。
账本修改逻辑258包括一个或多个编程指令,用于修改账本中的记录。也就是说,账本修改逻辑258可以包括编程指令,用于创建新记录(例如,区块链中的起源区块),更新记录(例如,创建与区块链中的父区块有关的子区块),将信息添加到记录(例如,将信息追加到区块链中的区块),将记录链接在一起(例如,生成加密哈希)等。在电子分配系统124不是分布式账本库180的节点的实施例中,账本修改逻辑258可以包括编程指令,用于将指令传输到一个或多个计算设备182,以创建记录,更新记录,将信息添加到记录,链接记录等。在电子分配系统124是分布式账本库180的节点的实施例中,账本修改逻辑258可以包括编程指令,用于使电子分配系统124直接创建记录,更新记录,将信息添加到记录,链接记录等。在一些实施例中,账本修改逻辑258的编程指令可以遵守为在计算设备182和电子分配系统124之间形成的对等网络建立的协议,以用作分布式账本库180的节点。
在电子分配系统124是分布式账本库180的节点的实施例中,账本验证逻辑260包括一个或多个编程指令,用于验证账本中的记录。即,账本验证逻辑260可以包括编程指令,用于验证记录(例如,验证区块链中的起源区块的创建,子区块的创建等),验证记录被适当地链接在一起(例如验证加密哈希)等。在电子分配系统124不是分布式账本库180的节点的实施例中,可以不使用账本验证逻辑260。在一些实施例中,账本验证逻辑260的编程指令可以符合为在计算设备182和电子分配系统124之间形成的对等网络建立的协议,以用作分布式账本库180的节点。
仍参考图1和2A-2B,安装逻辑262包括一个或多个编程指令,用于将软件提供给飞行器130(例如,发动机控制系统136)以安装软件。也就是说,安装逻辑262可以包括一个或多个编程指令,用于传输安装文件,多个必要的相关文件(例如,安装包),验证软件被成功传输(例如,以避免损坏的文件等)等。在一些实施例中,安装逻辑262可以包括用于完成安装的编程指令。即,安装逻辑262可以包括编程指令,用于从安装包解包文件,将文件写入存储器164,覆盖文件,验证文件已被写入或覆盖等。
软件接收逻辑264包括用于接收要安装在飞行器130或其部件(例如,发动机控制系统136)上的软件的一个或多个编程指令。即,软件接收逻辑264可以包括一个或多个编程指令,用于接收安装文件,多个必要的相关文件(例如,安装包),验证软件被成功接收(例如,以避免损坏的文件等)等。在一些实施例中,软件接收逻辑264可以包括用于连接到包含该软件的设备的编程指令,使得该软件可以被传输到电子分配系统124(例如边缘管理器170或通信地联接到边缘管理器170的设备(例如,存储设备等)),并且被构造为在从边缘管理器170接收到命令时传输软件(例如,被构造为在从边缘管理器170接收到命令时传输的应用商店)。
再次参考图2A,网络接口硬件208可包括任何有线或无线联网硬件,例如调制解调器,LAN端口,无线保真(Wi-Fi)卡,WiMax卡,移动通信硬件和/或用于与其他网络和/或设备通信的其他硬件。例如,参考图1和图2A,网络接口硬件208可以用于促进电子分配系统124经由网络110与外部存储设备,用户计算设备,服务器计算设备,外部控制设备等的通信。在一些实施例中,网络接口硬件208可以包括一个或多个硬件部件,用于促进与边缘管理器170和/或分布式账本库180的各种计算设备182的通信。
仍参考图1和2A,设备接口硬件210可以在本地接口200和飞行器130的一个或多个部件之间通信信息。例如,设备接口硬件210可以用作本地接口200与传感器150,发动机控制系统136,飞行器系统144等之间的接口。在一些实施例中,设备接口硬件210可以向飞行器130和/或其一个或多个部件传输信号和/或数据,或从飞行器130和/或其一个或多个部件接收信号和/或数据。
再次参考图2A,通常可以是存储介质的数据存储部件206可以包含一个或多个数据存储库,用于存储接收和/或生成的数据。数据存储部件206可以是任何物理存储介质,包括但不限于硬盘驱动器(HDD),存储器,可移动存储装置等。尽管数据存储部件206被描述为本地设备,但是应当理解,数据存储部件206可以是远程存储设备,例如服务器计算设备,基于云的存储设备等。可以包含在数据存储部件206内的说明性数据包括但不限于软件数据212,请求数据214,其他数据216和/或账本数据218。软件数据212通常可以是作为分配软件的结果而存储的数据,例如,与软件相关联的文件,与软件相关联的安装包,到存储在其他位置的软件的链接等。请求数据214通常可以是与软件的请求有关的数据,包括但不限于与进行请求的设备有关的数据(例如,设备的标识,设备的位置,与设备的用户相关联的用户登录信息等)。如本文所述,其他数据216通常可以是可用于接收软件的请求,验证请求,验证授权设备,接收软件,分配软件,安装软件等的任何其他数据。可用于验证授权设备的数据可以包括与有效操作者,有效发动机型号,有效发动机序列号,有效时间约束等有关的信息。在一些实施例中,数据可以是查找表等形式。再次参考图1和图2A,账本数据218可以存在于电子分配系统124是分布式账本库180的节点的实施例中。即,账本数据218可以包括特定于作为分布式账本库180的节点的电子分配系统124的操作的数据。这样,账本数据218可以包括一个或多个分布式账本(例如,区块链)的副本,包括存储在其中的每个记录(例如,区块)以及与记录之间的连接有关的信息(例如,加密哈希)。在这样的实施例中,账本数据218可以符合为分布式账本的分布式存储而建立的参数。
应该理解的是,图2A-2B所示的部件仅是示例性的,并不旨在限制本公开的范围。更具体地,尽管图2A-2B中的部件被示为位于电子分配系统124内,但这是非限制性示例。在一些实施例中,部件中的一个或多个可以位于电子分配系统124的外部。
转向图3A,示出了图1中描绘的边缘管理器170的各种内部部件。特别地,图3A描绘了用于接收软件的请求,验证请求,传输验证的请求,接收软件和/或提供软件的各种系统部件。
如图3A所示,边缘管理器170可以包括一个或多个处理设备302,非暂时性存储器部件304,网络接口硬件308,设备接口硬件310和数据存储部件306。本地接口300(诸如总线等)可以互连各个部件。
一个或多个处理设备302(诸如计算机处理单元(CPU))可以是边缘管理器170的中央处理单元,其进行计算和逻辑操作以执行程序(例如,软件)。单独的或与其他部件结合的一个或多个处理设备302是说明性处理设备,计算设备,处理器或其组合。一个或多个处理设备302可以包括被构造为接收和执行指令(诸如来自数据存储部件306和/或存储器部件304的指令)的任何处理部件。
存储器部件304可以被构造为易失性和/或非易失性计算机可读介质,并且因此可以包括随机存取存储器(包括SRAM,DRAM和/或其他类型的随机存取存储器),只读存储器(ROM),闪存,寄存器,光盘(CD),数字多功能盘(DVD)和/或其他类型的存储部件。存储器部件304可在其上包括一个或多个编程指令,当由一个或多个处理设备302执行时,该编程指令使一个或多个处理设备302完成各种处理,诸如本文关于图4和图6描述的处理。
仍然参考图3A,存储在存储器部件304上的编程指令可以体现为多个软件逻辑模块,其中每个逻辑模块提供用于完成一个或多个任务的编程指令。图3B描绘了根据各种实施例的图3A的存储器部件304的各种模块。
如图3B所示,存储器部件304包括多个逻辑模块。作为示例,图3B中所示的每个逻辑模块可以被体现为计算机程序(例如,软件),固件或硬件。存在于存储器部件304中的逻辑模块的说明性示例包括但不限于请求接收逻辑352,设备接口逻辑354,账本接口逻辑356,账本修改逻辑358,账本验证逻辑360,软件提供逻辑362和/或软件接收逻辑364。
参考图3A和3B,请求接收逻辑352通常可以包括一个或多个编程指令,用于与边缘管理器170外部的一个或多个部件进行通信以接收软件和/或软件更新的请求。即,也参考图1,请求接收逻辑352包含用于从飞行器130或其部件(例如,发动机控制系统136)和/或从电子分配系统124接收传输的程序。如本文所述,边缘管理器170外部的各种部件通常表示可以在初始验证已经由电子分配系统124完成之后传输飞行器130(例如,其发动机控制系统136)的软件的请求和/或飞行器130(例如,其发动机控制系统136)的软件更新的请求的那些部件。
参考图1、3A和3B,设备接口逻辑354包括一个或多个编程指令,用于与边缘管理器170外部的软件交付系统100(图1)的各种设备或部件建立通信连接。例如,在各种实施例中,设备接口逻辑354可以包括可用于与飞行器130或其部件(例如,发动机控制系统136),与电子分配系统124和/或与一个或多个外部计算设备(未显示)建立连接的编程指令。在另一个示例中,设备接口逻辑354可以包含编程指令,用于与请求接收逻辑352,软件提供逻辑362和/或软件接收逻辑364的编程指令协同工作,以与飞行器130或其部件(例如,发动机控制系统136),与电子分配系统124和/或与一个或多个外部计算设备(未示出)建立连接。
仍参考图1、3A和3B,账本接口逻辑356包括一个或多个编程指令,用于与作为分布式账本库180的节点的一个或多个计算设备182建立通信连接。例如,账本接口逻辑356可以包括可用于与作为分布式账本库180的节点的一个或多个计算设备182建立连接的编程指令。在边缘管理器170是分布式账本库180的节点的实施例中,账本接口逻辑356通常可以包括根据为分布式账本库180中的节点建立的协议的编程指令,使得边缘管理器170可以写入新记录,生成加密哈希以引用现有记录(例如,建立与区块链中的父区块相关联的子区块),验证由一个或多个计算设备182生成的加密哈希等。
账本修改逻辑358包括用于修改账本中的记录的一个或多个编程指令。也就是说,账本修改逻辑358可以包括编程指令,用于创建新记录(例如,区块链中的起源区块),更新记录(例如,创建与区块链中的父区块相关的子区块),将信息添加到记录(例如,将信息追加到区块链中的区块),将记录链接在一起(例如,生成加密哈希)等。在边缘管理器170不是分布式账本库180的节点的实施例中,账本修改逻辑358可以包括编程指令,用于将指令传输到一个或多个计算设备182,以创建记录,更新记录,将信息添加到记录,链接记录等。在边缘管理器170是分布式账本库180的节点的实施例中,账本修改逻辑358可以包括编程指令,用于使边缘管理器170直接创建记录,更新记录,将信息添加到记录,链接记录等。在一些实施例中,账本修改逻辑358的编程指令可以符合为在计算设备182和边缘管理器170之间形成的对等网络建立的协议,以用作分布式账本库180的节点。
在边缘管理器170是分布式账本库180的节点的实施例中,账本验证逻辑360包括一个或多个编程指令,用于验证账本中的记录。即,账本验证逻辑360可以包括编程指令,用于验证记录(例如,验证区块链中的起源区块的创建,子区块的创建等),验证记录被适当地链接在一起(例如,验证加密哈希)等。在边缘管理器170不是分布式账本库180的节点的实施例中,账本验证逻辑360可以不被使用。在一些实施例中,账本验证逻辑360的编程指令可以符合为在计算设备182和边缘管理器170之间形成的对等网络建立的协议,以用作分布式账本库180的节点。
仍然参考图1和3A-3B,软件提供逻辑362包括一个或多个编程指令,用于向电子分配系统124提供软件,以提供给飞行器130(例如,发动机控制系统136),使得可以安装该软件。也就是说,软件提供逻辑362可以包括一个或多个编程指令,用于传输安装文件,多个必要的相关文件(例如,安装包),验证软件被成功传输(例如,以避免损坏的文件等)等。
软件接收逻辑364包括一个或多个编程指令,用于接收要安装在飞行器130或其部件(例如,发动机控制系统136)上的软件。也就是说,软件接收逻辑364可以包括一个或多个编程指令,用于接收安装文件,多个必要的相关文件(例如,安装包),验证软件被成功接收(例如,以避免损坏的文件等)等。在一些实施例中,软件接收逻辑364可以包括编程指令,用于连接到包含该软件的设备,使得该软件可以被传输到电子分配系统124,例如通信地联接到边缘管理器170的设备(例如,存储设备等)。在这样的实施例中,设备可以是应用商店370等,如本文关于图3C所描述的。
再次参考图3A,网络接口硬件308可包括任何有线或无线联网硬件,例如调制解调器,LAN端口,无线保真(Wi-Fi)卡,WiMax卡,移动通信硬件和/或用于与其他网络和/或设备通信的其他硬件。例如,参考图1和图3A,网络接口硬件308可以用于促进边缘管理器170经由网络110与外部存储设备,用户计算设备,服务器计算设备,外部控制设备等的通信。在一些实施例中,网络接口硬件308可以包括一个或多个硬件部件,用于促进与电子分配系统124和/或分布式账本库180的各种计算设备182的通信。
仍然参考图1和3A,设备接口硬件310可以在本地接口300和容纳可用于安装的软件的一个或多个外部设备(例如应用商店370等)之间通信信息。例如,设备接口硬件310可以用作本地接口300与应用商店370之间的接口。在一些实施例中,设备接口硬件310可以向应用商店370传输信号和/或数据或从应用商店370接收信号和/或数据。将参考图3C描述关于这种通信的附加信息。
再次参考图3A,通常可以是存储介质的数据存储部件306可以包含一个或多个数据存储库,用于存储接收和/或生成的数据。数据存储部件306可以是任何物理存储介质,包括但不限于硬盘驱动器(HDD),存储器,可移动存储装置等。尽管数据存储部件306被描述为本地设备,但是应当理解,数据存储部件306可以是远程存储设备,例如服务器计算设备,基于云的存储设备等。可以包含在数据存储部件306内的说明性数据包括但不限于操作系统数据311,软件数据312,请求数据314,其他数据316和/或账本数据318。操作系统数据311通常可以是由于边缘管理器170的操作而生成的数据和/或用于操作边缘管理器170的数据。软件数据312通常可以是由于分配软件而存储的数据,例如,与软件相关联的文件,与软件相关联的安装包,到存储在其他位置的软件的链接等。请求数据314通常可以是与软件的请求有关的数据,包括但不限于与进行请求的设备有关的数据(例如,设备的标识,设备的位置,与设备的用户相关联的用户登录信息等)。如本文所述,其他数据316通常可以是可用于接收软件的请求,验证请求,验证授权设备,接收软件,分配软件,安装软件等的任何其他数据。可用于验证授权设备的数据可以包括与有效操作者,有效发动机型号,有效发动机序列号,有效时间约束等有关的信息。在一些实施例中,数据可以是查找表等形式。再次参考图1和图3A,在边缘管理器170是分布式账本库180的节点的实施例中,可以存在账本数据318。即,账本数据318可以包括特定于边缘管理器170作为分布式账本库180的节点的操作的数据。这样,账本数据318可以包括一个或多个分布式账本(例如,区块链)的副本,包括存储在其中的每个记录(例如,区块)以及与记录之间的连接有关的信息(例如,加密哈希)。在这样的实施例中,账本数据318可以符合为分布式账本的分布式存储而建立的参数。
图3C描绘了可以存在于边缘管理器170的各个部件内(例如数据存储部件306(图3A),存储器部件304(图3A)等内)的示例性软件生态系统。参考图3A-3C,如本文所述,在接收到请求并完成一个或多个验证步骤之后,边缘管理器170可以通信地联接到应用商店370或其他类似的数据库,该应用商店370或其他类似的数据库包含可以由边缘管理器170传输到软件交付系统100(图1)的一个或多个部件的多个可用软件应用。可以例如在开放式开发者环境380中生成经由应用商店370可用的软件应用,由此一个或多个开发者生成应用并使该应用经由应用商店370可用。
仍然参考图3A-3C,边缘管理器170的各个部件,特别是存储器部件304和/或数据存储部件306可以提供一个或多个应用,小程序等,以提供本文描述的边缘管理器170的功能。例如,边缘管理器170可以包括操作边缘管理器170及其功能的边缘操作系统(OS)383。边缘OS 383可以由一个或多个应用和/或服务382辅助,一个或多个应用和/或服务中的每一个都向边缘管理器170提供特定功能。在边缘OS 383内,一个或多个程序,小程序等也可以向边缘管理器170提供特定功能。说明性示例包括但不限于提供用于连接到一个或多个特定设备的编程的一个或多个设备适配器384,与应用和/或服务382类似的一个或多个应用和/或服务385,优化应用386,提供物理资产的数字副本的数字孪生387,特别用于确定发动机140(图1)寿命的寿命软件388,提供用于开发和部署模块化软件和库的Java框架的开放服务网关倡议(OSGi)389,提供用于运行边缘管理器170的命令行实用程序的边缘代理390,和/或提供用于在分配之前测试和/或运行的软件的基于Linux的安全系统的容器391。在一些实施例中,边缘管理器170可以进一步包括管理程序392,该管理程序392是虚拟机监视器(VMM),该虚拟机监视器(VMM)创建虚拟机,用于运行特定软件,同时隔离发动机控制功能。在一些实施例中,边缘管理器170可以提供实时控制软件393和实时操作系统(RTOS)394,该实时控制软件393和实时操作系统(RTOS)394可以与用户计算设备395接口,以使用模拟的实时控制来测试软件响应,该实时控制软件393和实时操作系统(RTOS)394还可以被用于进一步开发实时控制,以确保软件以适合飞行器130(图1)的方式运行。
应该理解的是,图3A-3C所示的部件仅是示例性的,并不旨在限制本公开的范围。更具体地,尽管图3A-3C中的部件被示为位于边缘管理器170内,但这是非限制性示例。在一些实施例中,部件中的一个或多个可以位于边缘管理器170的外部。
图4描绘了向飞行器130(图1)提供软件的示例性概述方法400的流程图。现在参考图1-4,在框402处,请求软件。在一些实施例中,可以从飞行器130的操作者,维修人员,部件制造商(例如,发动机140的制造商)等接收软件请求。可以从请求者拥有或操作的计算设备(例如,用户计算设备)接收请求。在一些实施例中,可以经由分布式账本库180的节点中的一个或多个(例如,一个或多个计算设备182,一些实施例中的电子分配系统124和/或一些实施例中的边缘管理器170)接收请求,这导致在分布式账本中生成记录以开始交易(例如,交易的起源区块)。在其他实施例中,请求可以由电子分配系统124接收,该电子分配系统124又在分布式账本中生成与该请求相对应的记录。请求通常应标识请求者,所需的软件,飞行器130,飞行器130的各个部件(例如,发动机140),和/或任何其他信息,该任何其他信息可以是确定请求哪个软件,请求者是否被授权获得该软件,以及该软件是否与飞行器130和/或其部件(例如,发动机140)兼容所必需的。
在框404处,电子分配系统124验证该软件与飞行器130和/或其各种部件(例如,发动机140)兼容。这样的验证通常包括查看与在框402处接收到的请求有关的信息以及与该软件有关的附加信息,如本文关于图5B更详细地描述的。
仍然参考图4,在框406处,电子分配系统124修改存储在分布式账本库180上的分布式账本,以指示进行了请求(如果在框402处未完成这样的修改)和/或根据框404验证了该请求。也就是说,电子分配系统124可以在分布式账本中生成记录,修改分布式账本中的记录,和/或在分布式账本中追加记录,以包括与请求和/或验证有关的信息(包括验证的证据)。
在框408处,将请求转发到边缘管理器170。在一些实施例中,可以通过将数据和/或信号从电子分配系统124传输到边缘管理器170来转发请求。在其他实施例中,边缘管理器170可以被构造为监视分布式账本库180中的指示请求的新记录和/或记录的更新(例如,如本文所述,在最初写入或修改记录之后)。
在框410处,边缘管理器170可以完成附加验证,并且可以进一步测试软件以确保该软件可以适当地安装在飞行器130和/或其部件上,可以适当地运行等。在一些实施例中,边缘管理器170还可以验证根据框404完成的验证步骤是正确的。本文将参考图6描述关于验证和测试的附加细节。
在框412处,边缘管理器170修改分布式账本以指示是否已验证请求。例如,可以通过追加记录(例如,向区块链添加另一个区块),修改记录(例如,修改区块链中的现有区块),生成引用现有记录的新记录(例如,加密哈希)等来发生这种指示。在一些实施例中,软件可以由分布式账本锁定,直到使得该软件不能被转移到电子分配系统124和/或飞行器130。即,指示软件已经被验证为对应于飞行器的分布式账本的修改可以使该软件被解锁以进行安装。这样的保障措施可以避免将软件侧载到飞行器130或其部件的情况,从而绕过本文所述的协议。
在框414处,边缘管理器170将软件传输到电子分配系统124。即,边缘管理器170可以将与软件相对应的数据和/或信号传输到电子分配系统124。在一些实施例中,传输可以被记录为分布式账本中的记录的一部分,以确保维护来自边缘管理器170的传输记录,并在软件被传输时保持软件的完整性。
在框416处,电子分配系统124在接收到软件时可与飞行器130一起工作以安装软件。在一些实施例中,电子分配系统124可以通过将软件或其一部分转移到飞行器130和/或其部件来启动安装,并且飞行器130(和/或其部件)执行该安装。在其他实施例中,电子分配系统124可以将软件直接安装到飞行器130或其部件上。
一旦安装了软件,则在框418处修改分布式账本以指示安装完成,从而关闭交易。即,电子分配系统124和/或飞行器130(或其部件,例如发动机控制系统136)可以将信号和/或数据传输到计算设备182中的至少一个,以添加记录,修改记录,追加记录等。替代地,电子分配系统124和/或飞行器130或其部件(例如,发动机控制系统136)可以添加记录,修改记录,追加记录等,以关闭交易。
现在转到图5A和5B,描述了关于电子分配系统124(图1)的功能的附加细节。参考图1和图5A,描绘了由电子分配系统124完成以接收请求并分配软件的说明性方法500的流程图。在框502处,请求软件。在一些实施例中,可以从飞行器130的操作者,维修人员,部件制造商(例如,发动机140的制造商)等接收软件请求。可以从请求者拥有或操作的计算设备(例如,用户计算设备)接收请求。在一些实施例中,可以经由分布式账本库180的节点中的一个或多个(例如,一个或多个计算设备182,一些实施例中的电子分配系统124和/或一些实施例中的边缘管理器170)接收请求,这导致在分布式账本中生成记录以开始交易(例如,交易的起源区块)。在其他实施例中,请求可以由电子分配系统124接收。
请求通常应标识请求者,所需的软件,飞行器130,飞行器130的各个部件(例如,发动机140),和/或任何其他信息,该任何其他信息可能是确定请求哪个软件,请求者是否被授权获得该软件,以及该软件是否与飞行器130和/或其部件(例如,发动机140)兼容所必需的。这样的信息可以包括例如与飞行器130的操作者,飞行器130的发动机型号,发动机序列号等相关的信息。这样,在框504处确定请求中是否存在所有该信息,或者是否需要更多信息。如果需要更多信息,则电子分配系统124可以在框506处传回附加信息的请求。即,电子分配系统124可以将附加信息的请求直接传输到进行软件的请求的设备,和/或可以更新分布式账本中的记录以指示需要附加信息。然后,可以在框504处重复该处理。如果不需要附加信息,则处理可以进行到框508。
在框508处,电子分配系统124验证该软件与飞行器130和/或其各种部件(例如,发动机140)兼容。这样的验证通常包括查看与在框502处接收到的请求有关的信息以及与该软件有关的附加信息,例如所存储的软件描述,软件对其起作用的兼容部件的列表,批准的操作者的列表等。然后可以进行比较,以确定每条获得的信息是否与其他信息相对应,以验证软件与飞行器130匹配。在图5B中提供了关于验证的附加细节。参考图1、2A和5B,电子分配系统124可以访问存储在存储设备(例如,数据存储部件206)中的查找表等。在框552处,电子分配系统124可以在框552处确定关于飞行器130和请求者的信息。信息通常可以从请求中获得,如本文所述。在框554处,可以确定关于飞行器130和请求者的信息是否对应于查找表中的信息,该查找表对应于验证的飞行器和/或其部件和/或请求者。如果对应,则在框556处,可以确认用于飞行器130的软件。如果不对应,则在框558处可以传输错误消息(例如,向请求者),并且在框560处可以更新,追加等分布式账本中的记录。
再次参考图1和图5A,在框510处,账本中的记录由电子分配系统124修改以指示进行了请求(如果这样的修改在框402处未完成)和/或根据框404验证了该请求。也就是说,电子分配系统124可以在分布式账本中生成记录,修改分布式账本中的记录,和/或在分布式账本中追加记录,以包括与请求和/或验证有关的信息(包括验证的证据)。
在框512处,从边缘管理器170请求软件。即,如本文所述,电子分配系统124将信号和/或数据传输到边缘管理器170,以使边缘管理器170完成验证请求,测试软件和分配软件的各个步骤。在一些实施例中,边缘管理器170可以被构造为监视分布式账本库180和/或从电子分配系统124接收信号,以访问分布式账本库180,从而检索指示请求的记录。
一旦边缘管理器170完成了本文描述的步骤,则电子分配系统124在框514处从边缘管理器170接收软件。在一些实施例中,电子分配系统124可以接收与软件相对应的数据。在其他实施例中,电子分配系统124可以从分布式账本中的记录接收代码等(例如,安装密钥,到私有服务器的链接等),并且可以使用该代码等访问软件(例如,通过访问链接,通过输入安装密钥等)。
在框516处,电子分配系统124将软件提供给飞行器130(或其部件,例如发动机控制系统136),和/或将软件安装至飞行器130或其部件(例如,发动机控制系统136)。在一些实施例中,电子分配系统124可以通过将软件或其一部分转移到飞行器130和/或其部件来启动安装,并且飞行器130(和/或其部件)执行该安装。在其他实施例中,电子分配系统124可以将软件直接安装到飞行器130或其部件上。
在框518处可以确定安装是否完成。如果未完成,则可以在框518处重复该处理,直到完成安装为止。一旦完成,则在框520处修改分布式账本以指示安装完成。即,电子分配系统124和/或飞行器130(或其部件,例如发动机控制系统136)可以将信号和/或数据传输到计算设备182中的至少一个,以添加记录,修改记录,追加记录等。替代地,电子分配系统124和/或飞行器130或其部件(例如,发动机控制系统136)可以添加记录,修改记录,追加记录等。
图6描绘了由边缘管理器170响应于软件的请求而完成的说明性方法600。参考图1、5A和6,在框602处,边缘管理器170可以接收由电子分配系统124在框512处提供的请求。即,可以直接从电子分配系统124接收请求(例如,经由信号和/或数据),可以监视分布式账本库180的新记录,记录的更新和/或记录追加,和/或电子分配系统124可以向边缘管理器170传输信号,以指示边缘管理器170访问分布式账本库180以获取与请求有关的信息。
在框604处,边缘管理器170验证软件的请求是有效请求。参考图1、5A-5B和6,这样的验证可以类似于由电子分配系统124在框508和550-560处完成的验证。即,边缘管理器170可以独立地完成与电子分配系统124相同的步骤,以确保软件可用于飞行器和/或其部件(例如,发动机控制系统136)。一旦验证完成,在框606处,边缘管理器170可以修改分布式账本中的记录以指示验证已经完成。也就是说,边缘管理器170可以在分布式账本中生成记录,修改分布式账本中的记录,和/或在分布式账本中追加记录,以包括与请求和/或验证有关的信息(包括验证的证据)。
在框608处,可以由边缘管理器170(例如,从应用商店370)获得软件,并在框610处测试软件。即,边缘管理器170可以利用本文关于图3C描述的一个或多个程序来模拟飞行器中可能发生的状况,以确保软件以适当的方式起作用。如果软件根据框612适当地运行(例如,通过测试),则处理可以进行到框618。如果软件不能适当地运行(例如,未通过测试),则处理可以进行到框614。
在框614处,可以生成错误消息,并且在框616处可以相应地更新分布式账本中的记录以指示软件尚未通过。这样的处理结束,而没有提供用于安装在飞行器130和/或其部件(例如,发动机控制系统136)上的软件。
在框618处,可以提供软件。在一些实施例中,边缘管理器170可以将包含软件的数据直接传输到电子分配系统124。在其他实施例中,边缘管理器170可以更新账本记录(例如,根据框620),以提供到下载软件的服务器的链接,用于解锁软件的密码等。另外,在框620处,可以进一步更新分布式账本上的记录,以指示边缘管理器170已经提供了软件应用。
现在应当理解,本文描述的设备,系统和方法利用分布式账本(例如区块链等),以向飞行器和/或其部件提供软件和/或软件更新。本文所述的设备,系统和方法以允许自动且按需提供软件应用和/或更新而无需任何人工干预的方式来完成该软件分配,但是仍以确保软件应用和/或更新与飞行器和/或其部件兼容,已经在模拟条件下进行了测试,以及确保避免未经授权的软件安装的方式来完成。
尽管本文已经图示和描述了特定的实施例,但是应该理解,在不脱离所要求保护的主题的精神和范围的情况下,可以做出各种其他改变和修改。而且,尽管本文已经描述了所要求保护的主题的各个方面,但是这些方面不需要结合使用。因此,意图是所附权利要求覆盖落入所要求保护的主题的范围内的所有这样的改变和修改。
本发明的进一步方面由以下条项的主题提供。
一种软件交付系统,包括:飞行器,该飞行器包括被构造为验证并安装由飞行器的一个或多个部件利用的一个或多个软件应用的发动机控制系统;电子分配系统,该电子分配系统通信地联接到飞行器,电子分配系统验证软件的请求,请求软件,并利用发动机控制系统启动安装协议;边缘管理器,该边缘管理器通信地联接到电子分配系统,边缘管理器维护一个或多个软件;多个计算设备,该多个计算设备用作分布式账本库的节点,多个计算设备维护分布式账本并通信地联接到飞行器,电子分配系统和边缘管理器,分布式账本提供包括与以下内容有关的信息的记录:软件的请求,电子分配系统对请求的第一次验证,边缘管理器对请求的第二次验证,发动机控制系统对请求的第三次验证,以及软件的安装。
根据任何前述条项所述的软件交付系统,其中,飞行器的一个或多个部件选自飞行器控制机构,飞行器存储器,飞行器处理器,飞行器系统,飞行器传感器和飞行器发动机。
根据任何前述条项所述的软件交付系统,其中,飞行器经由地面通信系统通信地联接到电子分配系统和分布式账本库,使得飞行器在飞行时保持通信。
根据任何前述条项所述的软件交付系统,其中,发动机控制系统包括全权限数字发动机控制(FADEC)系统以及预测和健康监视系统中的一个或多个。
根据任何前述条项所述的软件交付系统,其中,软件包含编程指令,该编程指令在由处理器执行时使处理器从一个或多个飞行器传感器接收数据,从数据中确定与飞行器的一个或多个部件有关的一个或多个故障,并且完成一个或多个处理以解决一个或多个故障。
根据任何前述条项所述的软件交付系统,其中,当一个或多个软件更新经由边缘管理器可用时,电子分配系统自动地将一个或多个软件更新推送到发动机控制系统。
根据任何前述条项所述的软件交付系统,其中,电子分配系统和边缘管理器中的一个或多个是分布式账本库的节点。
一种向飞行器提供软件的方法,该方法包括:经由在分布式账本中生成的记录来接收软件的请求,该记录包括与请求有关的信息,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息;由电子分配系统验证软件对应于飞行器;通过电子分配系统利用对应于验证的数据来修改分布式账本中的记录;由电子分配系统从边缘管理器请求软件,其中,记录被修改为包括软件的请求,并且可由边缘管理器访问;由电子分配系统从边缘管理器接收软件,其中,边缘管理器修改分布式账本中的记录,以指示软件向边缘分配系统的传输;由电子分配系统将软件提供给飞行器的发动机控制系统,以进行安装。
根据任何前述条项所述的方法,进一步包括:接收分布式账本中的记录的更新,该更新指示软件安装已完成。
根据任何前述条项所述的方法,其中,接收更新发生在软件完成时,或发生在软件安装完成之后发动机控制系统与网络建立数据链路时。
根据任何前述条项所述的方法,其中,验证软件对应于飞行器包括:由电子分配系统访问查找表,该查找表包括软件与有效操作者,有效发动机型号,有效发动机序列号和有效时间约束中的一个或多个之间的交叉引用;由所述电子分配系统,从与所述请求有关的信息、与所述飞行器的所述标识有关的信息、以及与所述飞行器的所述一个或多个飞行器系统有关的信息中确定所述飞行器的操作者,所述飞行器的发动机型号,发动机序列号,以及生成所述记录的时间中的一个或多个;由所述电子分配系统确定所述飞行器的所述操作者,所述飞行器的所述发动机型号,所述发动机序列号,以及生成所述记录的所述时间中的一个或多个对应于所述有效操作者,所述有效发动机型号,所述有效发动机序列号以及所述有效时间约束;由电子分配系统确认软件用于飞行器的。
根据任何前述条项所述的方法,其中,与飞行器的标识有关的信息包括飞行器操作者,飞行器类型,飞行器型号,飞行器序列号,飞行器标识符以及飞行器的制造商中的一个或多个。
根据任何前述条项所述的方法,其中,与飞行器的一个或多个飞行器系统有关的信息包括发动机型号,发动机序列号,发动机标识符,发动机制造商,传感器类型和传感器功能中的一个或多个。
根据任何前述条项所述的方法,其中,软件的请求由发动机制造商或飞行器操作者提供。
根据任何前述条项所述的方法,其中,接收软件的请求包括:从订阅服务器接收软件更新的自动通知。
一种向飞行器提供软件的方法,该飞行器在软件交付系统中通信地联接到电子分配系统和边缘管理器,该方法包括:经由在分布式账本中生成的记录来接收软件的请求,该记录包括与请求有关的信息,与飞行器的标识有关的信息,以及与飞行器的一个或多个飞行器系统有关的信息;由电子分配系统验证软件对应于飞行器;由电子分配系统利用对应于验证的第一数据来修改分布式账本中的记录;由电子分配系统请求软件,其中,记录被修改为包括软件的请求;由边缘管理器验证软件的请求是有效请求;由边缘管理器利用对应于有效请求的第二数据来修改分布式账本中的记录;由边缘管理器向电子分配系统提供软件;由电子分配系统启动软件的安装协议;由飞行器的发动机控制系统验证分布式账本中的记录对应于安装协议;由飞行器的发动机控制系统安装软件;由飞行器的发动机控制系统修改记录以指示软件安装已完成。
根据任何前述条项所述的方法,其中,修改记录包括:在发动机控制系统与存储分布式账本的分布式账本库之间建立数据连接之后修改记录。
根据任何前述条项所述的方法,其中,由电子分配系统验证软件对应于飞行器包括:由电子分配系统访问查找表,该查找表包括软件与有效操作者,有效发动机型号,有效发动机序列号和有效时间约束中的一个或多个之间的交叉引用;由所述电子分配系统,从与所述请求有关的所述信息、与所述飞行器的所述标识有关的所述信息,以及与所述飞行器的所述一个或多个飞行器系统有关的所述信息中确定所述飞行器的操作者,所述飞行器的发动机型号,发动机序列号,以及生成所述记录的时间中的一个或多个;由所述电子分配系统确定所述飞行器的所述操作者,所述飞行器的所述发动机型号,所述发动机序列号,以及生成所述记录的所述时间中的一个或多个对应于所述有效操作者,所述有效发动机型号,所述有效发动机序列号以及所述有效时间约束;和由所述电子分配系统确认所述软件用于所述飞行器。
根据任何前述条项所述的方法,其中,软件的请求由发动机制造商或飞行器操作者提供。
根据任何前述条项所述的方法,进一步包括在由边缘管理器提供之前:由过边缘管理器从存储库中获取软件;由边缘管理器测试软件,以确保软件在飞行器中运行。
- 用于使用分布式账本提供按需发动机软件的设备,系统和方法
- 使用上行帧格式按需提供卫星带宽的系统用于平滑和减缓抖动并动态地改变争用信道与数据信道的数目