用于在源节点上的自组织数据处理的无线自组织网络中的软件分布的分布式分类帐的制作方法

文档序号:26057123发布日期:2021-07-27 15:35阅读:449来源:国知局
用于在源节点上的自组织数据处理的无线自组织网络中的软件分布的分布式分类帐的制作方法

本公开通常涉及软件分布,并且特别地,涉及用于在诸如自动机器等源节点上的自组织数据处理的无线自组织网络中的软件分布。



背景技术:

与要求训练有素的操作员安全操作的其他机器相比,许多现代机器的设计具有更大的自主权。这些自主机器包括自主机器人和包括无人地面交通工具(ugv)、无人飞行器(uav)、无人水面交通工具(usv)、无人水下交通工具(uuv)和无人航天器等各种无人驾驶交通工具。这些自主机器中的许多机器都配备有软件模块,以处理数据。该数据由传感器产生或提供。

自主机器经常预先加载有软件模块,使得一旦执行任务,所述软件模块就可以用于基于机器操作要求和任务的目的处理数据。自主机器可以与其他自主机器和/或与诸如地面站等一个或多个集线器直接地或间接地连通,以交换数据和/或报告由其传感器获取的数据。自主机器越来越智能,成为能够确定其不能处理由其传感器中的一个或多个传感器产生或提供的数据的特定模态的学习系统。但是一旦执行任务,分布软件模块以使自主机器能够执行任务和/或处理特定模态的数据变得更加复杂,经常需要人工干预。

因此,具有一种考虑以上讨论的至少一些问题以及其他可能的问题的系统和方法,将是期望的。



技术实现要素:

本公开的示例实施方式涉及软件分布,并且特别地,涉及在用于诸如自主机器等源节点上的自组织(ad-hoc)数据处理的无线自组织网络中的软件分布。示例实施方式提供一种在诸如自主机器的网络等无线自组织网络中获取软件的智能的、事务性的、分布的和联合的方法。所述方法可以包括自动地确定执行任务的需要,如处理数据模态,通过跨所述无线自组织中的节点连通找到可用于执行所述任务的软件模块,获取所述软件模块以及使用它执行所述任务,而无需人工干预。

示例实施方式还可以限定对所述方法、合规性和利用率的管理。可以提供不可变数据条目的分布式分类帐,用于验证与授权、使用情况监控、合同使用合规性、相关值交换、事件监控/可审计性(请求、软件模块到工作流程中的配置、传输、安装、使用、卸载)等相关联的事件。

示例实施方式可以启用无线自组织网络,所述无线自组织网络包括在执行任务,自行描述该任务,找到可用于实现该任务的目标的软件模块以及基于实现那些目标履行该任务的情况下部署的自主机器。在一些示例中,这可以包括对不可变条目的分布式分类帐的查询,所述不可变条目具有关于机器上已安装的软件模块以及已安装的软件模块的版本的信息。动态发现可以包括足够的系统智能,以获知实现期望的功能所需的软件模块、正确/可接收的(一个或多个)配置、当前位置、传输模式以及传输软件的网络能力。

因此,本公开包括但不限于以下示例实施方式。

一些示例实施方式提供了一种在包括多个节点的无线自组织网络中由源节点获取软件的方法,所述方法包括所述源节点:执行从其识别执行任务的需要的应用软件;确定所述源节点不能执行该任务;并且响应于所述确定,访问跨所述多个节点复制、共享和同步的分布式分类帐的相应本地副本,所述分布式分类帐和由此所述相应本地副本包括指定对包括可用于执行所述任务的软件模块的多个软件模块的访问权的不可变条目;在所述相应本地副本的所述不可变条目中搜索指示授权所述源节点访问所述软件模块的不可变条目;以及仅当授权所述源节点时,才在所述源节点的本地模块存储库(mr)中搜索可用于执行任务的软件模块;响应于所述源节点未能将所述软件模块定位在所述本地mr中,向由此是相邻节点的在所述源节点的无线电射程内的所述多个节点中的那些节点,所述多个相邻节点中的一个相邻节点,广播用于所述软件模块的请求,以在所述相邻节点的相应本地mr中搜索所述软件模块,当所述相邻节点未能将所述软件模块定位在所述相应本地mr中时,向由此是进一步相邻节点的在所述一个相邻节点的无线电射程内的所述多个节点中的那些节点重新广播所述请求,并且从所述进一步相邻节点中的一个进一步相邻节点接收所述软件模块;以及所述源节点进一步从所述一个相邻节点接收所述软件模块;以及使用所述软件模块执行所述任务。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述源节点:将所述请求记录在所述分布式分类帐的相应本地副本中的附加不可变条目中;以及向所述相邻节点广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述源节点:响应于所述相邻节点记录从所述源节点广播的所述请求,在所述相邻节点处的所述分布式分类帐的相应副本中,接收从所述相邻节点广播的进一步附加不可变条目;以及将所述进一步附加不可变条目添加到所述分布式分类帐的相应本地副本,以在所述相邻节点处将所述相应本地副本与所述分布式分类帐的相应副本同步。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述源节点:将所述软件模块的接收记录在所述分布式分类帐的所述相应本地副本中的附加不可变条目中;以及向所述相邻节点广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施的任何组合中,所述方法还包括所述源节点:将所述软件模块的使用记录在所述分布式分类帐的所述相应本地副本中的附加不可变条目中;以及向所述相邻节点广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

一些示例实施方式提供了一种在包括多个节点的无线自组织网络中由源节点获取软件的方法,所述多个节点中的在所述源节点的无线电射程内的节点是相邻节点,所述方法包括所述相邻节点中的一个相邻节点:响应于所述源节点未能将所述软件模块定位在本地模块存储库(mr)中,从所述源节点接收用于可用于执行任务的软件模块的请求,所述请求从所述源节点向所述相邻节点广播,所述一个相邻节点响应于所述请求:访问跨所述多个节点复制、共享和同步的分布式分类帐的相应本地副本,所述分布式分类帐和由此所述相应本地副本包括指定对软件模块的访问权的不可变条目;在所述相应本地副本的所述不可变条目中搜索指示授权所述源节点访问所述软件模块的不可变条目;以及仅当授权所述源节点时,才在所述一个相邻节点的相应本地mr中搜索软件模块;响应于所述一个相邻节点未能将所述软件模块定位在所述相应本地mr中,向由此是进一步相邻节点的所述多个节点中在所述一个相邻节点的无线电射程内的那些节点重新广播所述请求;从所述进一步相邻节点中的一个进一步相邻节点接收所述软件模块;以及将所述软件模块返回到使用所述软件模块执行所述任务的所述源节点。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述分布式分类帐和由此所述相应本地副本也包括其中记录了由所述一个相邻节点接收的先前请求的不可变条目,并且其中所述方法还包括所述一个相邻节点搜索所述不可变条目,以验证所述请求是来自所述源节点的用于所述软件模块的新请求。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述一个相邻节点:将所述请求记录在所述分布式分类帐的所述相应本地副本中的附加不可变条目中,以及向所述源节点和所述进一步相邻节点广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述一个相邻节点:响应于所述进一步相邻节点记录从所述一个相邻节点重新广播的所述请求,在所述进一步相邻节点处的所述分布式分类帐的相应副本中,接收从所述进一步相邻节点广播的进一步附加不可变条目;以及将所述进一步附加不可变条目添加到所述分布式分类帐的所述相应本地副本,以在所述进一步相邻节点处将所述相应本地副本与所述分布式分类帐的所述相应副本同步。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述一个相邻节点:将所述软件模块的接收记录在所述分布式分类帐的所述相应本地副本中的附加不可变条目中;以及向所述源节点和所述进一步相邻节点广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

一些示例实施方式提供了一种在包括多个节点的无线自组织网络中由源节点获取软件的方法,所述方法包括所述源节点:执行从其识别执行任务的需要的应用软件;确定所述源节点不能执行所述任务;以及响应于所述确定,访问在跨所述多个节点复制、共享和同步的分布式分类帐中实施的模块存储库(mr)的本地副本,所述分布式分类帐和由此所述mr的所述本地副本包括具有可用于所述多个节点的软件模块的不可变条目;在所述mr的所述本地副本中搜索可用于执行所述任务的软件模块;以及使用所述软件模块执行所述任务。

在任何前述示例实施方式的所述方法的一些示例实施方式和任何前述示例实施方式的任何组合中,搜索所述mr的所述本地副本包括在所述mr的所述本地副本中搜索被具体识别的所述软件模块。

在任何前述示例实施方式的所述方法的一些实施方式和任何前述示例实施方式的任何组合中,搜索所述mr的所述本地副本包括在所述mr的所述本地副本中搜索可用于执行所述任务的任何软件模块,而无需所述软件模块的具体识别。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述分布式分类帐和由此所述mr的所述本地副本还包括指定对包括所述一个软件模块的多个软件模块的访问权的不可变条目,并且其中所述方法还包括在使用软件模块之前所述源节点在所述mr的所述本地副本中搜索指示授权所述源节点访问所述软件模块的不可变条目,仅在授权源节点时源节点才使用软件模块。

在任何前述示例实施方式的所述方法的一些示例实施方式或任何前述示例实施方式的任何组合中,所述方法还包括所述源节点:将所述一个软件模块的使用记录在所述mr的所述本地副本中的附加不可变条目中;以及向在所述源节点的无线电射程内的所述多个节点中的那些节点广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述mr的所述本地副本与所述mr的副本的同步。

一些示例实施方式提供了一种在包括多个节点的无线自组织网络中可操作的源节点,所述源节点包括经配置存储计算机可读程序代码的存储器;和处理电路,所述处理电路经配置访问所述存储器,并且执行所述计算机可读程序代码,以使得所述源节点至少执行任何前述示例实施方式的所述方法或任何前述示例实施方式的任何组合。

一些示例实施方式提供了一种在包括多个节点的无线自组织网络中可操作的一个相邻节点,所述多个节点中在源节点的无线电射程内的节点是相邻节点,所述一个相邻节点包括存储器,所述存储器经配置存储计算机可读程序代码;和处理电路,所述处理电路经配置访问所述存储器,并且执行所述计算机可读程序代码,以使得所述一个相邻节点至少执行任何前述示例实施方式的所述方法或任何前述示例实施方式的任何组合。

通过阅读下面的详细描述以及下面简要描述的附图,本公开的这些和其他特征、方面和优点将变得显而易见。本公开包括在本公开中详细阐述的两个、三个、四个或更多个特征或元件的任何组合,不论此类特征或元件是否明确地组合或在本文描述的具体示例实施方式中叙述。本公开意在整体地阅读,使得在本公开的各方面和示例实施方式中,本公开的任何可分离的特征或元件应该视为可组合的,除非本公开的上下文另外明确指出。

因此,将理解的是,仅出于概述一些示例实施方式,提供了本发明内容,以便提供对本公开的一些方面的基本理解。因此,将理解到,上面描述的示例实施方式仅是示例,并且不应该解释为以任何方式缩小本公开的范围或精神。从与通过示例的方式示出了一些描述的示例实施方式的原理的附图结合进行的以下详细描述,其他示例实施方式、方面和优点将变得显而易见。

附图说明

因此,已经以一般的术语描述了本公开的示例实施方式,现在将参照不一定按比例绘制的附图,并且其中:

图1示出了对于本公开的示例实施方式可以是有用的无线自组织网络;

图2示出了根据本公开的示例实施方式的包括许多无人驾驶车辆和地面站的无线自组织网络;

图3a、图3b、图3c和图3d示出了根据本公开的一些示例实施方式的无人驾驶车辆(源节点)可以通过其获取软件模块的过程;

图4和图5示出了根据本公开的示例实施方式的无线自组织网络;

图6示出了根据示例实施方式的包括多个无线自组织网络的系统;

图7、图8和图9是示出了根据示例实施方式的在包括多个节点的无线自组织网络中由源节点获取软件的方法中的各种操作的流程图;以及

图10示出了根据一些示例实施方式的设备。

具体实施方式

现在将参照附图更全面地描述本公开的一些实施方式,在所述附图中示出了本公开的一些但不是全部的实施方式。实际上,本公开的各种实施方式可以以许多不同形式实施,并且不应该解释为限于本文详细阐述的实施方式;相反,提供这些示例实施方式,使得本公开将是全面和完整的,并且将向本领域技术人员充分传送本公开的范围。例如,除非另外指定或从上下文中清楚得知,否则对第一、第二等的参考不应该解释为暗示特定顺序。一个特征可以描述为在另一个特征之上(除非另外指定或从上下文中清楚得知),可以在另一个特征之下,反之亦然;并且类似地,描述为在另一个特征的左侧的特征也可以在右侧,反之亦然。如本文所用,除非另外指定或从上下文中清楚得知,否则一组操作数的“或”是“包含的或”,并且由此如果且仅如果所述操作数中的一个或多个操作数是真的,所述“包含的或”是真的,与当所有操作数是真的时候为假的“排他的或”相反。因此,例如,如果[a]是真的,或者如果[b]是真的,或者如果[a]和[b]均是真的,则“[a]或[b]”是真的。此外,冠词“一(a)”和“一个(an)”是指“一个或多个”,除非另外指定或从上下文中清楚地指单数形式。贯穿全本,相同的参考标号表示相同的元件。

本公开的示例实施方式通常涉及软件分布,并且特别地,涉及用于在源节点上的自组织数据处理的在无线自组织网络中的软件分布。一些示例实施方式提供了一种在包括多个节点的无线自组织网络中由源节点获取软件的方法。如本文所述,“节点”是物理网络节点,即能够通过通信信道产生、传输或接收信息的有源电子装置。合适的节点的一个示例是一种自主机器,该自主机器是经配置执行独立于人工干预或具有最小人工干预的任务。并且合适的自主机器的示例包括自主机器人和包括无人地面交通工具(ugv)、无人飞行器(uav)、无人水面交通工具(usv)、无人水下交通工具(uuv)和无人航天器等各种无人驾驶交通工具。这些可以包括自动驾驶汽车、飞机、火车、工业车辆、配送中心机器人、供应链机器人、机器人交通工具、扫雷车等。合适的节点的其他示例包括计算机、计算机系统等。

图1示出了对于本公开的示例实施方式可以是有用的无线自组织网络100。如图所示,所述无线自组织网络包括示出为包括执行任务时可部署的各种uav102a、ugv102b、usv102c、uuv102d和无人航天器102e等各种无人驾驶交通工具102的节点。一种任务可以涉及所述无人驾驶交通工具中的一辆无人驾驶交通工具或不止一辆无人驾驶交通工具,在此期间所述无人驾驶交通工具可以彼此连通。在这方面,所述无人驾驶交通工具可以通过相应的通信信道彼此连通,并且可以与地面站104(另一节点)连通。尽管示出为无人驾驶交通工具的网络,但是应当理解的是,除了无人驾驶交通工具外或代替无人驾驶交通工具的是,所述无线自组织网络可以包括一个或多个自主机器人或其他自主机器。并且如下面所解释的,甚至更通常地,无线自组织网络可以简单地包括多个节点。

包括无人驾驶交通工具102和/或地面站104的无线自组织网络100的节点中的一个或多个节点中的每个节点可以包括传感器106、软件模块108、模块存储库(mr)110和模块搜索服务(mss)112(具体地示出用于无人航天器102e)的集合。

在一些示例中,传感器106的集合经配置当所述无人驾驶交通工具在执行任务时收集数据,并且软件模块108用于处理或分析数据,如用于计划、收集、分析、数据分布等。在这方面,无人驾驶交通工具102可以处理原始数据并将其存储在本地,并且如果可能和必要,还可以传输。在一些示例中,软件模块也可以用于将元数据添加到原始数据,元数据可以与原始数据一起被存储和/或传输。

软件模块108是一种计算机程序,该计算机程序经配置获取一个或多个输入数据源(原始或派生的数据)和确定应如何操纵数据并产生数据的一个或多个输出模态的零个或多个配置控件源。软件模块使用一个或多个众所周知的或预定义的接口,以与其主机或其他软件模块或工作流程连通。软件模块可以经由插件端点,如经由api(应用程序编程接口)遵循众所周知的通信协议。例如,软件模块可以将超文本传输协议安全(https)协议与已发布的代表状态传输(rest)api结合使用。

软件模块108中的一个或多个软件模块可以启用工作流程的产生和执行。工作流程包括以执行层次结构组织的软件模块,如dag(有向无环图),以获取数据,或者作为反馈控制系统来改善在工作流程内的输出数据质量。工作流程是一种软件模块的互连,使得一个软件模块的输出用作在dag配置中或在以一些方式改善工作流程的输出的确定性反馈机构中的另一个软件模块的输入或控制。工作流程也可以用作软件模块。软件模块或工作流程可以作为线性程序执行,或者基于设计、实施方式和能力并行。

软件模块108(和工作流程)可以具有类似的或变化的能力。软件模块可以具有读取的权限和当适当时写入数据的权限。软件模块可以读取原始数据,并且可以以派生数据的形式产生进一步的数据。软件可以或不可以具有操纵原始数据或派生数据的权限。在这方面,软件模块可以读取派生数据,并且甚至以进一步的派生数据的形式产生进一步的数据。派生数据可以比从其派生的(源)数据更小或更大。如果更小,派生数据可以是所述源数据的一小部分。

根据可用的通信能力、连接性、连接授权、分布授权和接收授权,部分或完整形式的数据(原始或派生的数据)可以作为一种服务传递到一个或多个目的地。合适的目的地的示例包括其他无人驾驶交通工具102、地面站104、有人驾驶交通工具、移动或固定通信终端等。

合适的软件模块108的示例包括计算机视觉模块、内容管理模块、网络安全模块、数据优化模块、数据缩减模块、数据量化模块、数据分析模块、机器对机器通信模块、机器学习(ml)模块、人工智能(ai)引擎、与同一辆无人驾驶交通工具102或其他无人驾驶交通工具上的其他软件模块连通的客户端软件模块。

除了传感器106和软件模块108,所述无人驾驶交通工具102(以及地面站104)也可以包括mr110和mss112。mr和mss可以以分布的方式在一个或多个计算机上运行。mr和mss也可以在无人驾驶交通工具102上的计算机上运行。

mr110是包含一个或多个软件模块108(软件模块的未安装副本)的存储库。众所周知的商业mr的示例包括dockerhub和amazoncontainerregistry。类似于众所周知的mr,mr将软件模块存储在存储装置上,并且管理在软件模块上的crud(产生、读取、更新和删除)操作、许可、版本控制等。

mss112是一种在无人驾驶交通工具102(或地面站104)上的计算机上运行的服务。mss提供了基于搜索标准可用的软件模块108的列表以及软件模块在其上可用的节点。mss随时间的学习在可用软件模块的能力、来自唯一节点的搜索请求、各种节点的要求、正在发布的新内容和正在删除的旧内容方面与众所周知的搜索引擎相同。

根据本公开的示例实施方式,无人驾驶交通工具102(也许还有地面站104)上的mss112可以形成动态网状网络,其可以以类似于典型域名系统(dns)网络的形式组织。请求和响应可以通过由无人驾驶交通工具上的服务器托管的api处理。跨过连接的无人驾驶交通工具的所述mss网格也可以以类似于内容传递网络(cdn)的形式组织。

在一些特定示例中,无线自组织网络100可以包括布置在地理集群网络中的受限使用的无人驾驶交通工具102。所述无人驾驶交通工具可以放在一起,并且其通信网络同步到所述集群中,加载并输出与无人驾驶交通工具兼容的软件模块108。每个无人驾驶交通工具可以收集数据,并且将其传输到指定为主要交通工具的无人驾驶交通工具中的一个。主要交通工具可以经配置将数据组合到单个系统中,并且将其实时地呈现给诸如地面站104等指定的接收器,用于可操作的处理。

根据本公开的示例实施方式,在无人驾驶交通工具102上运行的mss112可以经配置在其自己的mr110内搜索一个或多个被请求的软件模块108,或者向其他mss广播请求以在其相应的mr中搜索所请求的软件模块。为了避免循环请求,每个请求可以带有唯一标识符,如通用唯一标识符(uuid),该标识符也可以保持或带有时间戳(例如,世界标准时间),请求无人驾驶交通工具标识符、安全令牌、访问控制参数和其他标识符和权限,如可以在基于标准web的安全令牌中找到的那些标识符和权限。

当mss112从请求的mss接收请求时,可以验证其在最近的过去尚未接收和处理相同的请求。为了验证请求,mss可以比较来自先前请求的带有时间戳的令牌。在这方面,通过其无人驾驶交通工具102何时接收到那些请求、请求的无人驾驶交通工具的标识符以及何时做出请求,mss可以对先前的请求进行排序。如果mss在最近的过去已经接收和处理了相同的请求,则mss可以简单地忽略该请求,或者另外地可以将错误返回到请求的mss,以通知请求的mss所述请求是重复请求或潜在的循环请求。

在一些示例实施方式中,包括无人驾驶交通工具102和/或地面站104的无线自组织网络100的节点还可以包括分布式分类帐(dl)114和dl软件服务器(dss)116(具体地示出用于无人航天器102e)。类似于mr110和mss112,dl和dss可以以分布的方式在一台或多台计算机上运行,并且也可以在无人驾驶交通工具、地面站等上的计算机上运行。

dl114和dss116可以实施分布式分类帐技术(dlt)模型,以提供事件级别的可跟踪性、事件触发的活动,并且传达软件模块清单和利用率。可跟踪性可以考虑谁/哪个节点请求了软件模块108,哪个节点(或mss112)广播或重新广播了该请求,哪个节点具有所请求的软件模块等。dlt模型可以提供发送、接收和加载软件模块的授权,这可以产生对传输和授权的验证和确认。然后,可以在软件模块正处于传输时触发api来为软件模块提供空间,调整任何先决条件项目并且一旦验证传输完成,就开始加载或安装软件模块。dlt模型也可以跟踪单个软件模块被请求的次数,这可以使软件模块能够预加载到更接近所请求的情况的某些节点中,并且将其从不积极使用它的节点中移除,从而更好地利用软件模块,减少发现时间,并使不需要软件模块的资源可用。

dl114是一种跨过包括无人驾驶交通工具102和/或地面站104的无线自组织网络的节点被复制、共享和同步的分布式分类帐,每个节点都具有分布式分类帐的本地副本。dss116是一种经配置管理dl或更特别地dl的相应本地副本的服务器。在一些示例中,dss经配置将数字数据记录在dl的本地副本中的附加不可变条目中,并且实施共识算法,以确保跨过节点的数字数据的复制和同步。

dl114是跨过节点传递的经复制、共享和同步的数字数据的共识。在一些示例中,dl作为跨过所述节点传递的数据库实施,每个节点复制并保存dl的相应本地副本并独立地对其进行更新。dl和由此每个相应本地副本包括数字数据的不可变条目,其中不可变被定义为存储在dl中的数字数据的不可更改性。

在一些示例中,dl114可以作为区块链实施,该区块链是使用密码术链接和保护的称为区块的不可变条目(记录)的不断增长的列表。区块链中的每个区块可以包含先前区块的密码散列、时间戳和交易数据。区块链固有地抵抗存储在区块链中的数字数据的修改。区块链可以用作基于用于记录跨过无线自组织网络的节点的交易的基于数字分类帐的分散的、分布的和公共的或私人的权限。

因此,dl114可以包括具有与无线自组织网络100、其节点(例如,无人驾驶交通工具102、地面站104)及其节点的传感器106、软件模块108、mr110和/或mss112相关的许多不同类型的数据的不可变条目。在一些示例中,dl包括不可变条目,该不可变条目指定对可用于包括无人驾驶交通工具(如果没有则包括地面站)的无线自组织网络的节点的软件模块的访问权限。另外地或可替代地,在一些示例中,dl包括节点之间的交易记录在其中的不可变条目。dl可以包括指示从软件模块产生的工作流程的配置的不可变条目。在一些示例中,mr110可以作为dl实施;并且在这些示例中,dl和由此mr可以包括具有可用于无线自组织网络的节点的软件模块的不可变条目。

在一些示例中,无线自组织网络100的节点可以用作用于无线自组织网络的中心节点。例如,在图1中所示的无线自组织网络中,地面站104可以用作中心节点。中心节点可以包括软件模块108以及主mr110’、中心mss112’、主dl114’和中心dss116’。中心节点可以参与类似于无线自组织网络的其他节点的软件分布。另外地或可替代地,在一些示例中,中心节点可以启用初始软件定义,包括主mr和主dl作为用于无线自组织网络的授权的mr和dl,并且提供优化分析用于在无线自组织网络中的软件分布。

在一些示例中,在由无线自组织网络100的节点执行的任务开始时,无人驾驶交通工具102可以加载有关键信息,如来自中心节点(例如,地面站104)的关键信息。这种信息可以包括例如机载传感器106和软件模块108的能力的清单。所述信息可以包括在无线自组织网络中可用的软件模块的清单,以及任选地在与无线自组织网络相同的操作区域中的其他无线自组织网络。所述信息可以包括关于无人驾驶交通工具可以向哪些无人驾驶交通工具请求软件模块和/或向哪些无人驾驶交通工具传输软件模块的权限。所述信息可以包括用于dl114的任何相关的加密算法。此外,例如,加载到无人驾驶交通工具上的所述信息可以包括无人驾驶交通工具可以与所述无线自组织网络内的哪些其他无人驾驶交通工具同步以维护dl的授权的指示。

为了说明本公开的示例实施方式,考虑无人驾驶交通工具102中的第一个(第一无人驾驶交通工具)具有ai引擎,所述ai引擎检测由其一个或多个传感器106收集的数据内的数据的新模式和新模态。ai引擎识别执行诸如处理新的数据模态等任务的需要,但是确定第一无人驾驶交通工具缺少可用于执行所述任务的软件模块108。

在特定示例中,考虑经配置扫描地面之前扫描地雷的ugv102b。所述ugv查看地面干扰并扫描金属。如果地雷由陶瓷材料制成,则ugv可以穿过它。根据示例实施方式,ugv可以请求与其机载传感器106可兼容的软件模块,以确定材料成分。这将使ugv能够检测陶瓷成分,更新其成分表以及在该区域进行未来扫描,以能够识别附加的陶瓷地雷,并根据任务指令标记它们或引爆它们。

第一无人驾驶交通工具102的ai引擎产生问题的描述,并且第一无人驾驶交通工具的mss112(第一mss)广播包括所述问题的描述的请求,并且可以与所述请求一起包括指向第一无人驾驶交通工具和所述请求的唯一令牌(从dl114的本地副本产生的或使用dl114的本地副本的第一令牌)。第一mss可以使用预定义的协议或作为自由形式的内容(在其本地mr110的不成功搜索之后)广播所述请求。所述第一mss可以使用众所周知的协议,如超文本传输协议(http)、传输控制协议/内特网协议(tcp/ip)、用户数据报协议(udp)等,任选地使用加密或其他众所周知的或专有的安全机构来广播所述请求。在这方面,第一mss可以使用打包所述请求并广播所述请求,可选地使用加密或其他众所周知的或专有的安全机构的专有方法。

无人驾驶交通工具102中的第二个(第二无人驾驶交通工具)接收所述请求,并且可以将其与dl114的本地副本比较,以在允许在软件模块108的所述节点和传输之间的通信之前确定授权或拒绝。

无人驾驶交通工具102中的第二个的mss112(第二mss)接收所述请求,并且可以验证所述请求,以查看是否授权第一无人驾驶交通工具和由此授权所述第一mss提出请求并接收软件模块108。第二mss可以请求授权第一无人驾驶交通工具的验证,并且dss116(第二dss)可以访问dl114的相应本地副本并且在相应本地副本中搜索不可变条目,该不可变条目指示第一无人驾驶交通工具被授权,该第一无人驾驶交通工具具有对软件模块的访问权。另外地或可替代地,dss可以将所述请求记录在dl的相应本地副本中的附加不可变条目中,并且将所述相应本地副本与dl的其他本地副本同步,可选地使用加密或其他众所周知的或专有的安全机构。所记录的请求可以包括信息,如所请求的软件模块、所述源节点、记录所述请求的节点(例如,第二无人驾驶交通工具)、与用于启用传输的相关联的必需网络/协议的传输的状态、用于网络使用的授权和/或类似情况。在错误的情况下,第二mss可以返回“被拒绝的权限”,或者可以出于安全原因选择不响应。类似地,第二mss可以检查它是否已经被接收并处理了包含第一令牌的请求;并且如果是,则第二mss可以返回并显示“复制请求”错误消息。

如果所述检查表明所述请求是唯一的,并且所述第一无人驾驶交通工具被授权,则第二mss112可以在其本地mr110中搜索软件模块108(一个或多个),该软件模块发送对所述请求中描述的问题的解决方案。如果第二mss未能定位此类软件模块,则第二mss可以向无人驾驶交通工具102中的其他无人驾驶交通工具的mss重新广播所述请求。另一方面,如果第二mss确实将此类软件模块定位在其本地mr中,则第二mss可以向第一mss发送其具有可以解决所述问题的软件模块的响应。第一mss可以从第二mss接收所述响应。第一无人驾驶交通工具可以请求并且作为响应从第二无人驾驶交通工具的mr接收软件模块。第一无人驾驶交通工具可以验证所述模块(例如,为了完整性和安全性),并且启动软件模块并使用它执行任务(例如,处理新的数据模态)。在错误的情况下,或者如果第一无人驾驶交通工具未能在具体的时间段内接收到响应,则第一无人驾驶交通工具可以重试或放弃请求,如基于机器学习推理引擎决策或编入软件模块的启发式。

在一些示例中,dl114中指定的访问权可以指定对软件模块的某些访问权;并且在这些示例中,第一无人驾驶交通工具可以根据那些某些访问权使用软件模块。访问权可以指定访问权到期,如在有限的时间或有限的使用次数之后。在这些示例中的一些示例中,第一无人驾驶交通工具可以在访问权到期时删除软件模块;并且由第一无人驾驶交通工具进行的软件模块的删除可以记录在dl中并跨过所述节点被同步。

在各种示例中,dss116可以将请求和/或响应记录在dl114中的不可变条目中的所述节点(或更特别地,其mss112)之间,其可以跨过无线自组织网络100的所述节点同步。这可以用于许多不同目的,如验证参与对于软件模式的请求的搜索和满足的节点的功效。类似地,软件模块108的节点使用可以记录在dl中,并且跨过所述节点同步。在其中节点从软件模块配置工作流程的示例中,所述工作流程的配置也可以记录在dl中,并且跨过所述节点同步。

在一些示例中,地面站104可以以与无人驾驶交通工具102中的第二无人驾驶交通工具相同或类似的方式接收所述请求并处理所述请求。该地面站可以简单地是在无线自组织网络100中的另一个节点。但是在一些示例中,该地面站(或甚至第二无人驾驶交通工具本身)可以用作用于无线自组织网络的中心节点。如上所述,在这些示例中,中心节点可以包括软件模块108,以及用于所述无线自组织网络的主mr110’、中心mss112’、主dl114’和中心dss116’。

图2示出了根据本公开的示例实施方式的无线自组织网络200,其包括可以对应于无人驾驶交通工具102的九个无人驾驶交通工具uv1-uv9和可以对应于地面站104的地面站gs1。无人驾驶交通工具uv1-uv9中的一个或多个无人驾驶交通工具中的每个都可以包括传感器206、软件模块208、mr210、mss212、dl214和dss216,其可以对应于传感器106、软件模块108、mr110、mss112、dl114和dss116中相应的一些。地面站gs1也可以包括至少相应的mr、mss、dl和dss。

在这方面,考虑一个示例,其中uv1正在执行任务,其传感器正在捕获数据,并且它具有处理所述数据的ai引擎。ai引擎识别执行任务的需要,如处理新的数据模态,并且它需要搜索可以解决执行所述任务的问题的一个或多个软件模块m。无人驾驶交通工具中的其他无人驾驶交通工具,即uv4和uv7,与地面站gs1一样具有软件模块m。

在无人驾驶交通工具之中,uv2、uv3和uv4在时间t1处在uv1的无线电射程内。无人驾驶交通工具uv2进一步在uv6和uv7的无线电射程内,并且无人驾驶交通工具uv3进一步在uv5、uv6和uv7的无线电射程内。并且无人驾驶交通工具uv7进一步在uv8和uv9以及地面站gs1的无线电射程内。

图3a-3d示出了根据本公开的一些示例实施方式的过程,其中参考图2的无线自组织网络200,无人驾驶交通工具uv1(源节点)可以通过该过程获取软件模块m(而不单独示出传感器206、软件模块208、mr210、mss212、dl214和dss216)。当uv1的ai引擎识别执行任务(例如,处理新模态的数据)的需要时,uv1请求可用于执行所述任务的软件模块m。如图3a中所示,当uv1的mss212未能将软件模块m定位在其本地mr210中时,mss向在uv1的无线电射程内的uv1的相邻部分,即uv2、uv3和uv4广播所述请求。

无人驾驶交通工具uv2、uv3和uv4接收所述请求,并且搜索dl214的相应本地副本,以验证uv1具有对软件模块m的访问权。无人驾驶交通工具uv2、uv3和uv4也可以将请求记录在dl的相应本地副本中,并且跨过无线自组织网络200将其相应本地副本与其他本地副本同步。dl具有指示授权uv1访问软件模块m的不可变条目。

无人驾驶交通工具uv4具有软件模块m,并且发送对所述请求的响应;但是由于连接问题,现在超出了uv1的无线电射程,所以所述响应未到达uv1并且最终超时。无人驾驶交通工具uv2和uv3不具有软件模块m,所以它们重新广播所述请求。特别地,uv3向在uv3的进一步无线电射程内的其进一步的相邻部分,即uv5、uv6和uv7重新广播所述请求。并且无人驾驶交通工具uv2向在uv2的进一步无线电射程内的其进一步的相邻部分,即uv6和uv7重新广播所述请求。

无人驾驶交通工具uv5、uv6和uv7接收(一个或多个)请求,并且搜索dl214的相应本地副本,以验证uv1具有对软件模块m的访问权。无人驾驶交通工具uv5、uv6和uv7也可以将(一个或多个)请求记录在dl的相应本地副本中,并且跨过无线自组织网络200将其相应本地副本与其他本地副本同步。与以前一样,dl具有指示授权uv1访问软件模块的不可变条目。

如图3b中所示,无人驾驶交通工具uv5和uv7不具有软件模块m,并且发送否(no)响应uv3。无人驾驶交通工具uv7具有软件模块m,并且向uv3发送是(yes)响应。由于uv6和uv7已经从uv3接收到请求,它们忽略了由uv2重新广播的请求,或者向uv2发送复制请求错误。因此,无人驾驶交通工具uv2向uv1发送否响应。类似于(一个或多个)请求,这些响应也可以记录在dl214的相应本地副本中,并且跨过无线自组织网络200同步。

如图3c中所示,响应于来自uv7的是响应,无人驾驶交通工具uv3向uv7发送到达模块(getmodule)请求用于软件模块m。作为响应,uv3从uv7接收软件模块m,验证软件模块m并将软件模块m保存在其本地mr210中,并且更新其mss212,以反映它现在具有软件模块m。无人驾驶交通工具uv3也向uv1发送是(确认)响应。getmodule和响应,以及是响应可以记录在dl214中,类似于其他请求和响应。

如图3d中所示,响应于所述是响应,无人驾驶交通工具uv1向uv3发送getmodule用于软件模块m。无人驾驶交通工具uv1从uv3接收软件模块m,验证软件模块m并将软件模块m保存在其本地mr210中,并且更新其mss212,以反映它现在具有软件模块m。同样,getmodule和响应可以记录在dl214中。无人驾驶交通工具uv1通过一组已知规则启动软件模块m,并且初始化软件模块m并连接到软件模块m。无人驾驶交通工具uv1也可以测试软件模块m,并且如果uv1遇到故障,则将其登记(log)并终止软件模块m。否则,uv1准备使用软件模块m。并且在一些示例中,可以进一步接收uv1返回和登记用于汇总和分析。同样,在一些示例中,uv1可以将软件模块m的使用记录在dl中。

简单地返回到图1,为了进一步示出本公开的示例实施方式,考虑了具有传送各种不同模态的数据的传感器106的uav102a的另一示例。例如,特别地,所述传感器可以包括以下中的一个或多个:

(1)经配置以60hz捕获视频的高分辨率、超高清(4k或8kuhd)视频摄像机,

(2)经配置以30hz捕获视频的中等分辨率高清(1080phd)立体摄像机,

(3)具有以2hz单色(黑白色)的大于每帧2000兆像素的有效图像大小的超高分辨率、广域监视多摄像机组件,

(4)具有以2hz近红外(nir)的每帧250兆像素的有效图像大小的超高分辨率的广域监视或广域运动图像(wami)多摄像机组件,

(5)lidar(光检测和测距)传感器,

(6)定位绝对位置和相对位置(俯仰、偏航和侧倾状态)的高精度和可靠的基于卫星的导航(例如,gps)和惯性测量单元(imu)装置,和/或

(7)提供每个摄像机的高精度平移-倾斜变焦状态的一个或多个传感器。

另外,uav可以包括战术通用数据链(tcdl)或通用数据链(cdl)以用于当在视线内时进行空对地通信、satcom(卫星通信)等。

在上面的示例中,高分辨率、超高清视频摄像机可以允许具有可用于每个像素的高精度空间(纬度经度)定位的所述摄像机正在查看的东西的超高时空分辨率的详细放大视图。中等分辨率高清立体摄像机可以允许在具有可用于每个像素(在平均海平面下和高于地面的纬度、经度、高程)的高精度3d定位的摄像机正在查看的区域的中等分辨率下的实时3d模型的产生。

超高分辨率、广域监视多摄像机组件和超高分辨率的广域监视或wami多摄像机组件可以提供在非常宽的区域上的高分辨率的视图,例如,单色传感器像地图一样向下看,考虑从飞机向下看的45000x45000像素的图像,以每像素约25厘米捕获数据,从而覆盖约11公里乘以11公里或120平方公里以上的区域。在以每秒两帧捕获的那种分辨率下,一个可以捕获两个人打网球,并基于亚像素失真和阴影记录网球的存在。nir图像可以是单色传感器的屏幕分辨率的八分之一。

lidar传感器可以提供捕获的每个点的非常精确的位置,但是两个点之间的距离不可以那么短。包括基于卫星的导航和imu装置的各种定位传感器以及提供平移-倾斜-缩放状态的(一个或多个)传感器可以提供从每个传感器的角度知道uav102a位于的位置、如何取向和正在查看的东西的能力。

uav102a可以预先加载有经配置计算数据集中的每一个的乘积的一个或多个软件模块108。因此,uav可以具有足以产生并服务超大单色图像并且然后在超高分辨率单色上内插近红外或nir数据的机载存储和计算资源。因此,uav能够产生具有单色(黑白)和nir这2个波段的单个45000x45000像素图像。uav也可以预先加载有一个或多个软件模块,所述一个或多个软件模块经配置从立体摄像机产生3d模型,使用计算机视觉以通过使用8k摄像机产生2.5d模型,并且从lidar数据“清理”3d网格。

在各种示例中,uav102a可以确定uav缺少软件模块108,该软件模块可用于合并数据集并产生例如从wami数据移动的所有物体的轨迹并识别每个物体的形状和温度。uav可以确定它缺少一软件模块,该软件模块可用于获取此wami温度和位置数据并预测物体是在运动中的交通工具还是在运动中的人。uav可以缺少一软件模块,该软件模块可用于在某些正在移动的物体或例如正在移动的汽车或相对于汽车的房屋或正在该广阔区域内移动的一列动物或人或交通工具的该区域内产生关注的特定区域的非常精确的3d模型,并且然后放大并使用计算机视觉以识别该区域中的交通工具、武器或人员的制造和型号。uav可以缺少训练数据和推理模型,以使用机器学习推断由传感器正在查看的区域中的危险类型。

在这些和类似示例中,uav102a可以缺少适当的软件模块108或执行每个任务但包括必需的计算资源的软件模块。当被授权时,uav可以在其本地mr110中搜索软件模块,并且当uav未能将其定位时,以类似于上面的uav1的方式广播用于软件模块的请求。在一些示例中,多个软件模块可以按执行层次结构,如dag——工作流程进行组织。在这些示例中的一些示例中,dag中的节点可以是由边缘连接的软件模块,所述边缘是软件模块之间的数据和控制路径。

如上指示,虽然主要在无人驾驶交通工具的背景下描述,但是本公开的示例实施方式更通常地可适用于包括多个节点的无线自组织网络。合适的节点的其他示例包括诸如台式计算机、服务器计算机、便携式计算机(例如,膝上型计算机、平板计算机)、移动电话(例如,手机、智能电话)、可佩戴计算机(例如,智能手表)等计算机。这些计算机可以是独立的,或者嵌入较大的机械或电气系统内。

图4示出了根据本公开的示例实施方式的包括多个节点402的无线自组织网络400。多个节点包括源节点402a,源节点经配置执行应用软件(例如,软件模块)408a,从该应用软件识别执行如处理特定模态的数据的任务的需要。在一些示例中,源节点具有传感器406a的集合,传感器406a中的一个传感器经配置向从其识别出执行任务的需要的应用软件408a产生或提供特定模态的数据。

源节点402a经配置确定源节点不能执行任务(例如,处理特定模态的数据)。在一些示例中,确定由应用软件408a做出。在其他示例中,确定从由源节点从诸如地面站等远程终端接收的请求做出。

响应于所述确定,源节点402a经配置访问跨过多个节点402复制、共享和同步的分布式分类帐dl410a的相应本地副本。dl和由此相应的本地副本包括不可变条目,该不可变条目指定对包括可用于执行所述任务的软件模块的多个软件模块的访问权。源节点经配置在相应本地副本的不可变条目中搜索指示授权所述源节点访问软件模块的不可变条目。

源节点经配置仅当授权源节点402a时才在源节点的本地模块存储库mr412a中搜索可用于执行任务的软件模块。源节点经配置响应于源节点未能将软件模块定位在本地mr中,向由此是相邻节点402b、402c的在所述源节点的无线电射程内的多个节点中的那些广播所述软件模块的请求。虽然未单独地示出用于所有节点402,但是在一些示例中,源节点以及无线自组织网络400的其他节点也可以包括本地mss、传感器和/或软件模块。

在一些示例中,源节点402a经配置在本地mr412a中搜索具体识别的软件模块,并且广播具体识别所述软件模块的请求。在其他示例中,源节点经配置在本地mr中搜索可用于执行任务的任何软件模块,而无需所述软件模块的具体识别。在这些其他示例中,源节点经配置广播描述任务或所述任务的对象(例如,特定模态的数据)的所述请求,并且不包括所述软件模块的具体识别。

在一些示例中,源节点402a经配置将请求记录在dl410a的相应本地副本中的附加不可变条目中。在这些示例中的一些示例中,源节点经配置向相邻节点402b、402c广播附加的不可变条目,以可选地使用加密或其他众所周知的或专有的安全机构,在多个节点中的其他节点处发起dl的相应本地副本与dl的副本的同步。

在一些进一步的示例中,源节点402a经配置响应于相邻节点记录从源节点广播的所述请求,在相邻节点处的dl的相应副本中,接收自相邻节点402b(可选地使用加密或另一安全机构)、402c广播的进一步附加的不可变条目。在这些示例中的一些示例中,源节点经配置将进一步附加的不可变条目添加到dl410a的相应本地副本,以在相邻节点处将相应本地副本与dl的相应副本同步。

响应于由源节点402a广播的请求,相邻节点中的一个相邻节点402b经配置访问dl410b的相应本地副本,并且在相应本地副本的不可变条目中搜索指示授权源节点访问软件模块的不可变条目。相邻节点经配置仅当授权所述源节点时才在相邻节点的相应本地mr412b中搜索软件模块。相邻节点经配置响应于相邻节点未能将软件模块定位在相应本地mr中,向由此是进一步相邻节点402d、402e的在相邻节点的无线电射程内的多个节点中的那些节点重新广播所述请求。

相邻节点402b经配置从多个进一步相邻节点中的一个进一步相邻节点402d接收软件模块。源节点402a经配置从相邻节点402b接收软件模块。在一些示例中,这包括源节点402a经配置从相邻节点402b接收指示相邻节点具有软件模块的响应。在这些示例中,源节点经配置向相邻节点单播(unicast)用于所述软件模块的第二请求,并且响应于第二请求,从相邻节点接收软件模块。

在接收到软件模块之后,源节点402a经配置使用软件模块执行所述任务。在一些示例中,源节点经配置执行操作系统级别容器化。这包括源节点经配置在其中使用软件模块的源节点上产生并启动隔离的容器。隔离的容器是一种操作系统级别(os级别)虚拟化。与使用管理程序(而不是容器引擎)产生虚拟机器来模拟节点的硬件虚拟化不同,它通常需要更少的开销(overhead)。从在其中执行的软件应用的角度来看,隔离的容器可显示为真实节点,但是这些应用仅对分配给它的源节点的资源具有可见性,认为这些都是可用的。然后,隔离的容器的产生可以包括源节点经配置将软件模块安装在隔离的容器中。

在一些示例中,源节点402a经配置将软件模块的接收记录在dl410a的相应本地副本中的附加不可变条目中。在这些示例中的一些示例中,源节点经配置向相邻节点402b、402c广播附加不可变条目,以在多个节点中的其他节点(包括dl410b)处发起dl的相应本地副本与分布式分类帐的副本的同步。

在一些示例中,源节点402a经配置将软件模块的使用记录在dl410a的相应本地副本中的附加不可变条目中。在这些示例中的一些示例中,源节点经配置向相邻节点402b、402c广播附加不可变条目,以在多个节点中的其他节点(包括dl410b)处发起dl的相应本地副本与dl的副本的同步。

从另一个角度来看,在一些示例中,相邻节点402b经配置从源节点402a接收用于可用于执行诸如处理特定模态的数据的任务的软件模块的请求。这响应于源节点未能将软件模块定位在本地模块存储库mr412a中,其中所述请求从源节点广播到相邻节点402b、402c。在一些示例中,请求包括唯一标识符,并且相邻节点进一步配置为使用唯一标识符和由相邻节点接收的先前请求的记录,验证所述请求是来自源节点402a的用于软件模块的新请求。在一些示例中,dl410b的相应本地副本包括其中记录了由相邻节点接收的先前请求的不可变条目。在这些示例中的一些示例中,相邻节点经配置搜索不可变条目,以验证所述请求是来自源节点的用于所述软件模块的新请求。

响应于所述请求,相邻节点402b经配置访问包括指定对软件模块的访问权的不可变条目的dl410b的相应本地副本。所述相邻节点经配置在相应本地副本的不可变条目中搜索指示授权源节点402a访问软件模块的不可变条目。

相邻节点402b经配置仅当授权源节点时才在相邻节点的相应本地mr412b中搜索软件模块。相邻节点402b经配置响应于相邻节点未能将软件模块定位在相应本地mr中,向由此是进一步相邻节点402d、402e的在相邻节点的无线电射程内的多个节点中的那些节点重新广播所述请求。

在一些示例中,相邻节点402b经配置在相应mr412b中搜索具体识别的软件模块,并且重新广播具体识别软件模块的请求。在其他示例中,相邻节点经配置在相应mr中搜索可用于执行所述任务(例如,处理特定模态的数据)的任何软件模块,而无需软件模块的具体识别。在这些示例中,相邻节点经配置重新广播描述所述任务或所述任务的对象(例如,特定模态的数据)的请求,并且不包括软件模块的具体识别。

在一些示例中,相邻节点402b经配置将所述请求记录在dl410b的相应本地副本中的附加不可变条目中。在这些示例中的一些示例中,相邻节点经配置向源节点402a和进一步相邻节点402d、402e广播附加不可变条目,以在多个节点的其他节点处发起dl的相应本地副本与dl的副本的同步。

在一些进一步的示例中,相邻节点402b经配置响应于进一步的相邻节点记录从相邻节点重新广播的所述请求,在所述进一步的相邻节点处的dl的相应副本中,接收从所述进一步的相邻节点402d、402e广播的进一步附加不可变条目。在这些示例中的一些示例中,相邻节点经配置将进一步附加不可变条目添加到dl410b的相应本地副本,以在进一步的相邻节点处将相应本地副本与dl的相应副本同步。

相邻节点402b经配置从多个进一步的相邻节点中的一个进一步相邻节点402d接收软件模块。在一些示例中,这可以包括相邻节点经配置从进一步相邻节点接收指示进一步相邻节点具有软件模块的响应。在这些示例中,相邻节点经配置向进一步相邻节点单播用于软件模块的第二请求,并且响应于第二请求从所述进一步相邻节点接收软件模块。

在接收到软件模块之后,相邻节点402b经配置将软件模块返回到使用软件模块执行任务的源节点402a。在一些示例中,这可以包括所述相邻节点经配置向源节点发送指示相邻节点具有软件模块的响应。相邻节点然后经配置接收从源节点单播的用于软件模块的第二请求,并且响应于第二请求将软件模块返回到源节点。

在一些示例中,相邻节点402b经配置将软件模块的接收记录在dl410b的相应本地副本中的附加不可变条目中。在这些示例中的一些示例中,相邻节点经配置向源节点402a和进一步相邻节点402d、402e广播附加不可变条目,以在多个节点中的其他节点处发起dl的相应本地副本与dl的副本的同步。

图5示出了根据其中mr在dl中实施的本公开的其他示例实施方式的包括多个节点502的无线自组织网络500。多个节点包括源节点502a,源节点经配置执行应用软件508a,从该应用软件508a识别出执行诸如处理特定模态的数据的任务的需要。在一些示例中,源节点具有传感器506a的集合,传感器506a中的一个传感器经配置向从其识别出执行任务的需要的应用软件508a产生或提供特定模态的数据。

源节点502a经配置确定源节点不能执行所述任务。在一些示例中,确定由应用软件508a做出。在其他示例中,确定从由源节点从诸如地面站等远程终端接收的请求做出。

响应于所述确定,源节点502a经配置访问跨过多个节点402复制、共享和同步的在dl中实施的模块存储库mr510a的本地副本。dl和由此本地副本包括具有可用于多个节点的软件模块的不可变条目。源节点经配置在所述本地副本的不可变条目中搜索可用于执行所述任务的软件模块。在一些示例中,源节点经配置在mr的本地副本中搜索具体识别出的软件模块。在其他示例中,源节点经配置在mr的本地副本中搜索可用于执行所述任务的任何软件模块,而无需软件模块的具体识别。

源节点502a经配置使用软件模块执行任务。在一些示例中,dl和由此mr510a的相应本地副本还包括不可变条目,该不可变条目指定对包括可用于执行任务的软件模块的多个软件模块的访问权。在这些示例中的一些示例中,源节点经配置在mr的本地副本中搜索指示授权源节点访问软件模块的不可变条目。另外在这些示例中的一些示例中,源节点配置为仅当授权所述源节点时才使用软件模块。

在一些示例中,源节点502a经进一步配置将软件模块的使用记录在mr510a的本地副本中的附加不可变条目中。在这些示例中的一些示例中,源节点经配置向在源节点(例如,相邻节点402b、402c)的无线电射程内的多个节点中的那些节点广播附加不可变条目,以在多个节点中的其他节点(包括mr510b)处发起mr的本地副本与mr的副本的同步。

虽然在包括诸如无人驾驶交通工具102和地面站104的多个节点的无线自组织网络100的背景下描述,但是本公开的示例实施方式可以等价地应用于多个无线自组织网络,所述多个无线自组织网络中的每个包括多个节点。图6示出了根据一些示例实施方式的包括多个无线自组织网络602的系统600,所述多个无线自组织网络中的每个可以包括多个节点604。每个无线自组织网络可以如本文所述构造和操作以用于无线自组织网络100、200、400、500。节点中的每个可以包括相应传感器、软件模块、mr、mss、dl和dss(未单独示出)。节点可以在其相应无线自组织网络内和在一些示例中跨过无线自组织网络分布软件模块。在一些示例中,节点可以在无线自组织网络之间移动。

图7是根据示例实施方式的示出在由源节点402a在包括多个节点402的无线自组织网络400中获取软件的方法700中的各种操作的流程图。如在方框702和方框704处所示,所述方法包括源节点执行从其识别出执行诸如处理特定模态的数据的任务的需要的应用软件408a,以及确定源节点不能执行所述任务。响应于所述确定,方法包括访问跨过所述多个节点复制、共享和同步的分布式分类帐的相应本地副本,如在方框706处所示。分布式分类帐和由此相应本地副本包括不可变条目,该不可变条目指定对包括可用于执行所述任务的软件模块的多个软件模块的访问权。所述方法包括在相应本地副本的不可变条目中搜索指示授权所述源节点访问所述软件模块的不可变条目,如在方框708处所示。

仅当授权所述源节点时,方法700包括源节点402a在源节点的本地模块存储库mr412a中搜索可用于执行所述任务的软件模块,如在方框710处所示。方法包括响应于源节点未能将软件模块定位在本地mr中,源节点向由此是相邻节点402b、402c的在源节点的无线电射程内的多个节点中的那些节点广播用于所述软件模块的请求,如在方框712处所示。

响应于所述请求的多个相邻节点中的一个相邻节点402b在该相邻节点的相应本地mr412b中搜索软件模块。响应于所述相邻节点未能将所述软件模块定位在相应本地mr中,相邻节点向由此是进一步相邻节点402d、402e的在相邻节点的无线电射程内的多个节点中的那些节点重新广播所述请求。并且相邻节点从多个进一步相邻节点中的一个进一步相邻节点402d接收软件模块。所述方法然后还包括源节点从相邻节点接收软件模块,并且使用软件模块执行所述任务,如在方框714和方框716处所示。

图8是根据其他示例实施方式的示出了在由源节点402a在包括多个节点402的无线自组织网络400中获取软件的方法800中的各种操作的流程图,其中多个节点中的那些在源节点的无线电射程内的节点是相邻节点402b、402c。如在方框802处所示,所述方法包括多个相邻节点中的一个相邻节点402b从源节点接收用于可用于执行诸如处理特定模态的数据的任务的软件模块的请求。响应于源节点未能将软件模块定位在本地模块存储库mr412a中接收所述请求,并且所述请求被从所述源节点广播到所述相邻节点。

响应于所述请求,相邻节点402b访问跨多个节点复制、共享和同步的分布式分类帐的相应本地副本,如在方框804处所示。类似于上面,分布式分类帐和由此相应的本地副本包括指定对软件模块的访问权的不可变条目。所述相邻节点在相应本地副本的不可变条目中搜索指示授权源节点402a访问软件模块的不可变条目,如在方框806处所示。

仅当授权源节点402a时,相邻节点402b在相邻节点的相应本地mr412b中搜索软件模块,如在方框808处所示。响应于相邻节点未能将软件模块定位在相应本地mr中,相邻节点向由此是进一步相邻节点402d、402e的在相邻节点的无线电射程内的多个节点中的那些节点重新广播请求,如在方框810处所示。并且相邻节点从多个进一步相邻节点中的一个进一步相邻节点402d接收软件模块,并且将软件模块返回到使用软件模块执行所述任务的源节点402a,如在方框812和方框814处所示。

图9是根据又一其他示例实施方式的示出了在由源节点402a在包括多个节点402的无线自组织网络400中获取软件的方法900中的各种操作的流程图。如在方框902和方框904处所示,所述方法包括源节点执行从其识别执行任务(例如,处理特定模态的数据)的需要的应用软件408a,以及确定所述源节点不能执行所述任务。响应于所述确定,所述方法包括访问作为跨过多个节点复制、共享和同步的分布式分类帐实施的mr412a的本地副本,如在方框906处所示。分布式分类帐和由此mr的本地副本包括具有可用于多个节点的软件模块的不可变条目。所述方法包括在mr的本地副本中搜索可用于执行所述任务的软件模块,以及使用软件模块执行所述任务,如在方框908和方框910处所示。

返回到图1,如上面解释的,包括无人驾驶交通工具102和/或地面站104的无线自组织网络100的节点可以包括mr110、mss112、dl114和dss116,以确定软件配置、软件接近度、软件访问/授权等。由dl和dss实施的dlt模型可以嵌入系统软件层中,系统软件层提供了软件获取、分布、配置和/或使用参数的不可变记录。这些参数可以经由dl连通到中间操作服务器,这可以在中间节点(例如,地面站104)处实施。中间操作服务器可以协调所述节点、无线自组织网络和软件事件活动。另外地或可替代地,dlt模型可以用于管理和控制引入到无线自组织网络中并在其内使用的软件模块108。

dlt模型在无线自组织网络100中的引入可以简化并改进在无线自组织网络内注册和分布的软件模块108的物流管理。dlt模型包括可以增强在所述无线自组织网络内的加密的管理和使用的安全特征。dlt模型也可以在中间节点中使用,以促进由多个软件提供者引入到无线自组织网络中的软件模块的管理。

dlt模型可以用于建立软件配置、使用和可能的其他交通工具事件的机载记录。该数据可以用于确定在无线自组织网络100内的模块来源。在一些示例中,dl114可以在多个dl内实施。第二dl可以启用在节点之间的自主网络逻辑事件的共享,这可以减少逻辑操作开销。该数据可以用于确定软件模块108从相邻节点或进一步相邻节点到源节点的最佳数据传输。在一些示例中,dlt模型可以用作用于软件模块的分布机构。dlt模型可以包括智能签约能力作为决策机构,以确定从传输角度确定所授权的使用和传输的授权。从接收、源节点、来源的确定的角度来看,传输的授权可以确定接收和利用软件模块的授权。

在一些示例中,由dl114和dss116实施的dlt模型可以使用跟踪软件模块108的分布和利用的价值交换机构。从操作角度,dlt模型的各种服务可以进行逻辑分段。与无线自组织网络100相关联使用的dlt模型可以用提高的安全特征进行分段。具有主dl114’和中间dss116’的中间节点可以用于管理仅对授权节点开放的网络中的软件接受和使用。可以分析dlt模型的这些服务,以确定软件模块的有效性和利用率。附加值可以通过相关联的数据分析得出。

如相对于图4在上面解释的,在一些示例中,源节点402a经配置从相邻节点402b接收软件模块。这可以包括源节点经配置从相邻节点402b接收指示相邻节点具有软件模块的响应。所述源节点然后可以向相邻节点单播用于软件模块的第二请求,并且响应于第二请求从相邻节点接收软件模块。

在一些示例中,多个节点402中的若干节点,无论是相邻节点402b、402c还是进一步相邻节点402d、402e,都可以具有软件模块。源节点402a可以从节点接收指示所述节点具有所述软件模块的响应。因此,所述源节点可以具有用于接收所述软件模块的选项。在这些示例中的一些示例中,所述节点可以具有相应的成本和/或条款和条件,用于其向所述源节点提供软件模块。在这些示例中的节点可以被视为“卖方(seller)”节点,并且所述源节点可以选择这些节点中具有最佳“交易”的一个节点。

源节点402a可以向多个节点402中的所选择的卖方节点单播第二请求,可选地具有覆盖费用并遵守任何条款和条件的协议。第二请求可以将无线自组织网络100行进到卖方节点,这可以验证所述交易并且通过无线自组织网络将软件模块发送回到源节点。源节点可以验证、扫描、保护和运行软件模块,并将交易注册为完成的交易。

多个节点402中的源节点402a和所选择的卖方节点可以以许多不同方式同步。在一些示例中,源节点可以向所选择的卖方节点发送消息,以确认软件模块的接收,从而完成所述交易。作为响应,卖方节点可以向源节点发送解锁代码(可选的),以启用软件模块的永久使用。无论为执行交易而交换的消息为何,路径均可以具有分离且无状态的多个请求和响应,与有状态的财务交易不同。因此,所述交易可以获取众所周知的授权,以跟踪所述交易。输入dl410a、410b以跟踪在具有软件模块的卖方节点和请求软件模块的源节点之间的交易。

在一些示例中,所述请求和响应可以由无线自组织网络400中的节点402使用dl410a、410b跟踪,注意对于从源节点402a到多个节点402中的所选择的卖方节点的每个路径,dl管道是在适当位置中。然而,在其中用于交易的无状态对话不太有益的示例中,无线自组织网络可以在源节点和卖方节点之间的最终交易中采用短暂的有状态的方法。

根据本公开的示例实施方式,软件模块108、208、408a、508a、mr110、110’、210、412a、412b、510a、mss112、112’、212、dl114、114’、410a、410b和dss116、116’、216以及节点402、502可以通过各种装置(means)实施或以其他方式执行。这些装置可以包括硬件,单独地或在来自计算机可读存储介质的一个或多个计算机程序的指导下。在一些示例中,一个或多个设备可以经配置充当或以其他方式实施或执行在本文示出和描述的软件模块、mr和mss以及所述节点。

图10示出了根据本公开的一些示例实施方式的设备1000。通常,本公开的示例实施方式的设备可以包括或在一个或多个固定或便携式电子装置中实施。合适的电子装置的示例包括诸如台式计算机、服务器计算机、便携式计算机(例如,膝上型计算机、平板计算机)、移动电话(例如,手机、智能电话)、可佩戴计算机(例如,智能手表)等计算机。所述设备可以包括许多组件中的每个组件中的一个或多个,如例如连接到存储器1004(例如,存储装置)的处理电路1002(例如,处理器单元)。

处理电路1002可以单独地由一个或多个处理器组成,或者与一个或多个存储器结合。处理电路通常是能够处理诸如数据、计算机程序和/或其他合适的电子信息等信息的任何计算机硬件。处理电路由电子电路的集合组成,其中所述电子电路中的一些电子电路可以包装为集成电路或多个互连的集成电路(有时通常更普遍地称为“芯片”的集成电路)。处理电路可以经配置执行计算机程序,所述计算机程序可以存储在处理电路上,或者以其他方式存储在(相同或另一个装置的)存储器1004中。

根据特定实施方式,处理电路1002可以是许多处理器、多芯处理器或一些其他类型的处理器。此外,处理电路可以使用许多异构处理器系统实施,其中主处理器与单个芯片上的一个或多个辅助处理器一起存在。作为另一个说明性示例,处理电路可以是包含相同类型的多个处理器的对称的多处理器系统。在又一示例中,处理电路可以实施为或以其他方式包括一个或多个asic、fpga等。因此,虽然处理电路可能能够执行计算机程序以执行一个或多个功能,但是各种示例的处理电路可能能够执行一个或多个功能,而无计算机程序的帮助。在任一情况下,处理电路可以被适当地编程,以执行根据本公开的示例实施方式的功能或操作。

存储器1004通常是能够在暂时的基础上和/或在永久的基础上存储诸如数据、计算机程序(例如,计算机可读程序代码1006)和/或其他合适的信息等信息的任何计算机硬件。存储器可以包括易失性存储器和/或非易失性存储器,并且可以是固定的或可移动的。合适的存储器的示例包括随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器、闪存、拇指驱动器、可移动计算机磁盘、光盘、磁带或上面的一些组合。光盘可以包括光盘-只读存储器(cd-rom)、光盘-读/写(cd-r/w)、dvd等。在各种情况下,存储器可以被称为计算机可读存储介质。计算机可读存储介质是能够存储信息的非暂时性装置,并且与诸如能够将信息从一个位置携带到另一个位置的电子瞬时信号等计算机可读传输介质区分开。如本文所述的计算机可读介质通常可以指计算机可读存储介质或计算机可读传输介质。

除了存储器1004以外,处理电路1002也可以连接到用于显示、传输和/或接收信息的一个或多个接口。所述接口可以包括通信接口1008(例如,通信单元)和/或一个或多个用户接口。通信接口可以经配置传输和/或接收信息,如传输到其他设备、网络等和/或从其他设备、网络等接收。通信接口可以经配置通过物理(有线)和/或无线通信链路传输和/或接收信息。合适的通信接口的示例包括网络接口控制器(nic)、无线nic(wnic)等。

用户接口可以包括显示器1010和/或一个或多个用户输入接口1012(例如,输入/输出单元)。显示器可以经配置向用户呈现或以其他方式显示信息,其合适的示例包括液晶显示器(lcd)、发光二极管显示器(led)、等离子显示面板(pdp)等。用户输入接口可以是有线的或无线的,并且可以经配置从用户接收信息到所述设备中,如用于处理、存储和/或显示。用户输入接口的合适的示例包括麦克风、图像或视频捕获设备、键盘或键区、操纵杆、触敏表面(与触摸屏分离或集成到触摸屏中)、生物特征传感器等。用户接口还可以包括用于与诸如打印机、扫描仪等外围设备通信的一个或多个接口。

如上面指示的,程序代码指令可以存储在存储器中,并且由由此编程的处理电路执行,以实施本文所述的系统、子系统、工具及其相应元件的功能。如将理解的,任何合适的程序代码指令可以从计算机可读存储介质加载到计算机或其他可编程设备上,以产生特定机器,使得特定机器成为用于实施本文指定的功能的装置。这些程序代码指令也可以存储在计算机可读存储介质中,所述计算机可读存储介质可以以特定的方式引导计算机、处理电路或其他可编程设备发挥作用,从而生成特定机器或特定制品。存储在计算机可读存储介质中的指令可以产生制品,其中所述制品成为用于实施本文所述的功能的装置。所述程序代码指令可以从计算机可读存储介质检索,并加载到计算机、处理电路或其他可编程设备中,以配置所述计算机、处理电路或其他可编程设备,以执行要在计算机、处理电路或其他可编程设备上或由计算机、处理电路或其他可编程设备执行的操作。

程序代码指令的检索、加载和执行可以顺序地执行,以便一次检索、加载和执行一个指令。在一些示例性实施方式中,检索、加载和/或执行可以并行执行,以便一起检索、加载和/或执行多个指令。程序代码指令的执行可以产生计算机实施的过程,使得由计算机、处理电路或其他可编程设备执行的指令提供用于实施本文所述的功能的操作。

由处理电路执行的指令或在计算机可读存储介质中的指令的存储支持用于执行指定的功能的操作的组合。以这种方式,设备1000可以包括处理电路1002和计算机可读存储介质或耦合到处理电路的存储器1004,其中处理电路经配置执行存储在存储器中的计算机可读程序代码1006。还将理解的是,一个或多个功能和功能的组合可以由基于专用硬件的计算机系统和/或执行指定的功能或专用硬件和程序代码指令的组合的处理电路实施。

此外,本公开包括根据以下条款所述的实施例:

第1条、一种在包括多个节点(402)的无线自组织网络(400)中可操作的源节点(402a、1000),所述源节点包括:

存储器(1004),所述存储器经配置存储计算机可读程序代码(1006);和

处理电路(1002),所述处理电路经配置访问所述存储器,并且执行所述计算机可读程序代码,以使得所述源节点至少:

执行(702)从其识别执行任务需要的应用软件;

确定(704)所述源节点不能执行所述任务;以及

响应于所述确定,

访问(706)跨多个节点复制、共享和同步的分布式分类帐(410a)的相应本地副本,分布式分类帐和由此相应本地副本包括指定对包括可用于执行所述任务的软件模块的多个软件模块的访问权的不可变条目;

在所述相应本地副本的不可变条目中搜索(708)指示所述源节点被授权访问所述软件模块的不可变条目;以及仅当授权所述源节点时,

在所述源节点的本地模块存储库(mr)(412a)中搜索(710)可用于执行所述任务的软件模块;

响应于源节点未能将软件模块定位在本地mr(412a)中,向由此是相邻节点(402b、402c)的在所述源节点的无线电射程内的所述多个节点中的那些节点,所述多个相邻节点中的相邻节点(402b),广播(712)用于所述软件模块的请求,以在相邻节点的相应本地mr(412b)中搜索软件模块,当所述相邻节点未能将软件模块定位在相应本地mr(412b)中时,向由此是进一步相邻节点(402d、402e)的在所述相邻节点的无线电射程内的所述多个节点中的那些节点重新广播所述请求,并且从多个进一步相邻节点中的进一步相邻节点接收所述软件模块;以及进一步使得所述源节点:

从相邻节点接收(714)所述软件模块;以及

使用(716)所述软件模块执行所述任务。

第2条、根据第1条所述的源节点(402a、1000),其中处理电路(1002)经配置执行计算机可读程序代码(1006),以进一步使得所述源节点至少:

将所述请求记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第3条、根据第2条所述的源节点(402a、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述源节点至少:

响应于相邻节点记录从所述源节点广播的所述请求,在所述相邻节点处的所述分布式分类帐的相应副本中,接收从所述相邻节点(402b、402c)广播的进一步附加不可变条目;以及

将所述进一步附加不可变条目添加到所述分布式分类帐(410a)的所述相应本地副本,以在所述相邻节点处将所述相应本地副本与所述分布式分类帐的所述相应副本同步。

第4条、根据任何前述条款所述的源节点(402a、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述源节点至少:

将所述软件模块的接收记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第5条、根据任何前述条款所述的源节点(402a、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述源节点至少:

将所述软件模块的使用记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第6条、一种在包括多个节点的无线自组织网络中可操作的相邻节点(402b、1000),所述多个节点中的那些在源节点(402a)的无线电射程内的节点是相邻节点(402b、402c),所述相邻节点包括:

存储器(1004),所述存储器经配置存储计算机可读程序代码(1006);和

处理电路(1002),所述处理电路经配置访问所述存储器,并且执行所述计算机可读程序代码,以使得所述相邻节点至少:

响应于所述源节点未能将所述软件模块定位在本地模块存储库(mr)(412a)中,从所述源节点接收(802)用于可用于执行任务的软件模块的请求,所述请求从所述源节点广播到所述相邻节点,所述相邻节点响应于所述请求:

访问(804)跨所述多个节点复制、共享和同步的分布式分类帐(410b)的相应本地副本,所述分布式分类帐和由此所述相应本地副本包括指定对软件模块的访问权的不可变条目;

在所述相应本地副本的所述不可变条目中搜索(806)指示授权所述源节点访问所述软件模块的不可变条目;以及仅当授权所述源节点时,

在所述相邻节点的相应本地mr(412b)搜索(808)所述软件模块;

响应于所述相邻节点未能将所述软件模块定位在所述相应本地mr(412b)中,向由此是进一步相邻节点(402d、402e)的在所述相邻节点的无线电射程内的所述多个节点中的那些节点重新广播(810)所述请求;

从所述多个进一步相邻节点中的进一步相邻节点接收(812)所述软件模块;以及

将所述软件模块返回(814)到使用所述软件模块执行所述任务的所述源节点。

第7条、根据第6条所述的相邻节点(402b、1000),其中所述分布式分类帐和由此所述相应本地副本(410b)还包括不可变条目,在所述不可变条目中记录了由所述相邻节点接收的先前请求,以及

其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述相邻节点搜索所述不可变条目,以验证所述请求是来自所述源节点(402a)的用于所述软件模块的新请求。

第8条、根据第6条至第7条中的任一项所述的相邻节点(402b、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述相邻节点至少:

将所述请求记录在所述分布式分类帐(410b)的所述相应本地副本中的附加不可变条目中;以及

向所述源节点(402a)和所述进一步相邻节点(402d、402e)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐(410b)的所述相应本地副本与所述分布式分类帐的副本的同步。

第9条、根据第8条所述的相邻节点(402b、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述相邻节点至少:

响应于所述进一步相邻节点记录从所述相邻节点重新广播的所述请求,在所述进一步相邻节点处的所述分布式分类帐的相应副本中,接收从所述进一步相邻节点(402d、402e)广播的进一步附加不可变条目;以及

将所述进一步附加不可变条目添加到所述分布式分类帐(410b)的所述相应本地副本,以在所述进一步相邻节点处将所述相应本地副本与所述分布式分类帐的所述相应副本同步。

第10条、根据第6条至第9条中的任一项所述的相邻节点(402b、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述相邻节点至少:

将所述软件模块的接收记录在所述分布式分类帐(410b)中的所述相应本地副本中的附加不可变条目中;以及

向所述源节点(402a)和所述进一步相邻节点(402d、402e)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第11条、一种在包括多个节点的无线自组织网络中可操作的源节点(502a、1000),所述源节点包括:

存储器(1004),所述存储器经配置存储计算机可读程序代码(1006);和

处理电路(1002),所述处理电路经配置访问所述存储器,并且执行所述计算机可读程序代码,以使得所述源节点至少:

执行(902)从其识别执行任务的需要的应用软件;

确定(904)所述源节点不能执行所述任务;以及

响应于所述确定,

访问(906)在跨所述多个节点复制、共享和同步的分布式分类帐中实施的模块存储库(mr)(510a)的本地副本,所述分布式分类帐和由此所述mr的所述本地副本包括具有可用于所述多个节点的软件模块的不可变条目;

在所述mr的所述本地副本中搜索(908)可用于执行所述任务的软件模块;以及

使用(910)所述软件模块,以执行所述任务。

第12条、根据第11条所述的源节点(502a、1000),其中使得所述源节点搜索所述mr(510a)的所述本地副本包括使得所述源节点在所述mr的所述本地副本中搜索具体识别的所述软件模块。

第13条、根据第11条至第12条中的任一项所述的源节点(502a、1000),其中使得所述源节点搜索所述mr(510a)的所述本地副本包括使得所述源节点在所述mr的所述本地副本中搜索可用于执行所述任务的任何软件模块,而无需所述软件模块的具体识别。

第14条、根据第11条至第13条中的任一项所述的源节点(502a、1000),其中所述分布式分类帐和由此所述mr(510a)的所述本地副本还包括指定对包括所述软件模块的多个软件模块的访问权的不可变条目,以及

其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得在使用所述软件模块之前所述源节点在所述mr的所述本地副本中搜索指示授权所述源节点访问所述软件模块的不可变条目,仅当所述源节点被授权时才使得所述源节点使用所述软件模块。

第15条、根据第11条至第14条中的任一项所述的源节点(502a、1000),其中所述处理电路(1002)经配置执行所述计算机可读程序代码(1006),以进一步使得所述源节点至少:

将所述软件模块的使用记录在所述mr(510a)的所述本地副本中的附加不可变条目中;以及

向在所述源节点的无线电射程内的所述多个节点中的那些节点广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述mr(510a)的所述本地副本与所述mr的副本的同步。

第16条、一种在包括多个节点的无线自组织网络中由源节点(402a)获取软件的方法(700),所述方法包括所述源节点:

执行(702)从其识别执行任务的需要的应用软件;

确定(704)所述源节点不能执行所述任务;以及

响应于所述确定,

访问(706)跨过所述多个节点复制、共享和同步的分布式分类帐的相应本地副本,所述分布式分类帐和由此所述相应本地副本包括指定对包括可用于执行所述任务的软件模块的多个软件模块的访问权的不可变条目;

在所述相应本地副本的所述不可变条目中搜索(708)指示授权所述源节点访问所述软件模块的不可变条目;以及仅当授权所述源节点时,

在所述源节点的本地模块存储库(mr)(412a)中搜索(710)可用于执行所述任务的软件模块;

响应于所述源节点未能将所述软件模块定位在所述本地mr中,向由此是相邻节点(402b、402c)的在所述源节点的无线电射程内的所述多个节点中的那些节点,所述相邻节点中的相邻节点(402b)广播(712)用于所述软件模块的请求,以在所述相邻节点的相应本地mr中搜索软件模块,当所述相邻节点未能将所述软件模块定位在所述相应本地mr中时,向由此是进一步相邻节点(402d、402e)的在所述相邻节点的无线电射程内的所述多个节点中的那些节点重新广播所述请求,并且从所述多个进一步相邻节点中的一个进一步相邻节点接收所述软件模块;以及所述源节点进一步,

从所述相邻节点接收(714)所述软件模块;以及

使用(716)所述软件模块执行所述任务。

第17条、根据第16条所述的方法(700),所述方法还包括所述源节点(402a):

将所述请求记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第18条、根据第17条所述的方法(700),所述方法还包括所述源节点(402a):

响应于所述相邻节点记录从所述源节点广播的所述请求,在所述相邻节点处的所述分布式分类帐的相应副本中,接收从所述相邻节点(402b、402c)广播的进一步附加不可变条目;以及

将所述进一步附加不可变条目添加到所述分布式分类帐(410a)的所述相应本地副本,以在所述相邻节点处将所述相应本地副本与所述分布式分类帐的所述相应副本同步。

第19条、根据第16条至第18条中的任一项所述的方法(700),所述方法还包括所述源节点(402a):

将所述软件模块的接收记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第20条、根据第16条至第19条中的任一项所述的方法(700),所述方法还包括所述源节点(402a):

将所述软件模块的使用记录在所述分布式分类帐(410a)的所述相应本地副本中的附加不可变条目中;以及

向所述相邻节点(402b、402c)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第21条、一种在包括多个节点的无线自组织网络中由源节点(402a)获取软件的方法(800),所述多个节点中的那些在所述源节点的无线电射程内的节点是相邻节点(402b、402c),所述方法包括所述多个相邻节点中的一个相邻节点(402b):

响应于所述源节点未能将所述软件模块定位在本地模块存储库(mr)(412a)中,从所述源节点接收(802)用于可用于执行任务的软件模块的请求,所述请求从所述源节点广播到所述相邻节点,所述相邻节点响应于所述请求:

访问(804)跨所述多个节点复制、共享和同步的分布式分类帐的相应本地副本,所述分布式分类帐和由此所述相应本地副本包括指定对软件模块的访问权的不可变条目;

在所述相应本地副本的所述不可变条目中搜索(806)指示授权所述源节点访问所述软件模块的不可变条目;以及仅当授权所述源节点时,

在所述相邻节点的相应本地mr(412b)中搜索(808)所述软件模块;

响应于所述相邻节点未能将所述软件模块定位在所述相应本地mr中,向由此是进一步相邻节点(402d、402e)的在所述相邻节点的无线电射程内的所述多个节点中的那些节点重新广播(810)所述请求;

从所述多个进一步相邻节点中的进一步相邻节点接收(812)所述软件模块;以及

将所述软件模块返回(814)到使用所述软件模块执行所述任务的所述源节点。

第22条、根据第21条所述的方法(800),其中所述分布式分类帐和由此所述相应本地副本也包括其中记录由所述相邻节点(402b)接收的先前请求的不可变条目,以及

其中所述方法还包括所述相邻节点搜索所述不可变条目,以验证所述请求是来自所述源节点(402a)的用于所述软件模块的新请求。

第23条、根据第21条至第22条中的任一项所述的方法(800),所述方法还包括所述相邻节点(402b):

将所述请求记录在所述分布式分类帐(410b)的所述相应本地副本中的附加不可变条目中;以及

向所述源节点(402a)和所述进一步相邻节点(402d、402e)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第24条、根据第23条所述的方法(800),所述方法还包括所述相邻节点(402b):

响应于所述进一步相邻节点记录从所述相邻节点重新广播的所述请求,在所述进一步相邻节点处的所述分布式分类帐的相应副本中,接收从所述进一步相邻节点(402d、402e)广播的进一步附加不可变条目;以及

将所述进一步附加不可变条目添加到所述分布式分类帐(410b)的所述相应本地副本,以在所述进一步相邻节点处将所述相应本地副本与所述分布式分类帐的所述相应副本同步。

第25条、根据第21条至第24条中的任一项所述的方法(800),所述方法还包括所述相邻节点(402b):

将所述软件模块的接收记录在所述分布式分类帐的所述相应本地副本中的附加不可变条目中;以及

向所述源节点(402a)和所述进一步相邻节点(402d、402e)广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述分布式分类帐的所述相应本地副本与所述分布式分类帐的副本的同步。

第26条、一种在包括多个节点的无线自组织网络中由源节点(502a、1000)获取软件的方法(900),所述方法包括所述源节点:

执行(902)从其识别执行任务的需要的应用软件;

确定(904)所述源节点不能执行所述任务;以及响应于所述确定,

访问(906)在跨所述多个节点复制、共享和同步的分布式分类帐中实施的模块存储库(mr)(510a)的本地副本,所述分布式分类帐和由此所述mr的所述本地副本包括具有可用于所述多个节点的软件模块的不可变条目;

在所述mr的所述本地副本中搜索(908)可用于执行所述任务的软件模块;以及

使用(910)所述软件模块执行所述任务。

第27条、根据第26条所述的方法(900),其中搜索所述mr(510a)的所述本地副本包括在所述mr的所述本地副本中搜索具体识别的所述软件模块。

第28条、根据第26条至第27条中的任一项所述的方法(900),其中搜索所述mr(510a)的所述本地副本包括在所述mr的所述本地副本中搜索可用于执行所述任务的任何软件模块,而无需所述软件模块的具体识别。

第29条、根据第26条至第28条中的任一项所述的方法(900),其中所述分布式分类帐和由此所述mr(510a)的所述本地副本还包括指定对包括所述软件模块的多个软件模块的访问权的不可变条目,以及

其中所述方法还包括在使用所述软件模块之前所述源节点(502a、1000)在所述mr的所述本地副本中搜索指示授权所述源节点访问所述软件模块的不可变条目,仅当授权所述源节点时,所述源节点才使用所述软件模块。

第30条、根据第26条至第29条中的任一项所述的方法(900),所述方法还包括所述源节点(502a、1000):

将所述软件模块的使用记录在所述mr(510a)的所述本地副本中的附加不可变条目中;以及

向在所述源节点的无线电射程内的所述多个节点中的那些节点广播所述附加不可变条目,以在所述多个节点中的其他节点处发起所述mr的所述本地副本与所述mr的副本的同步。

与本公开相关的本领域的技术人员将想到本文详细阐述的本公开的许多修改和其他实施方式,具有在前述描述和相关联附图中呈现的启示的益处。因此,应当理解的是,本公开不限于所公开的具体实施方式,并且修改和其他实施方式意在包括在随附权利要求的范围内。此外,虽然前述描述和相关联附图在元件和/或功能的某些示例组合的背景下描述了示例实施方式,但是应该理解的是元件和/或功能的不同这可以由可替代的实施方式提供,而不背离随附权利要求的范围。例如,在这方面,如可以在随附权利要求中的一些详细阐述,还设想了与上面明确描述的那些不同的元件和/或功能的组合。虽然在本文采用了具体术语,但是这些术语仅以一般性和描述性意义使用,而不是为了限制的目的。

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