跨IOT网络的模型和过滤器部署的制作方法

文档序号:19943407发布日期:2020-02-14 23:30阅读:255来源:国知局
跨IOT网络的模型和过滤器部署的制作方法



背景技术:

物联网(iot)是指在现有的互联网基础设施内,分散在全球的计算设备之间的互联。iot设备可嵌入各种产品中,如家用电器、制造设备、打印机、汽车、恒温器、智能交通信号灯等。

在一些情况下,iot设备利用与集线器设备的连接成为设备的本地网络的一部分。集线器设备通常是比iot设备更强大的设备,其能够执行更多计算并且速度更快。例如,房屋可具有集线器设备,其形成与多个不同传感器iot设备的无线连接,诸如用于测量不同房间的温度的恒温器或不同房间中的运动传感器。集线器设备可接收温度值或运动数据,并且将温度值或运动数据传输到一个或多个其它端点。如果集线器设备连接到互联网,则这些值可被传输到提供商网络或用户设备,诸如用户的智能电话。

实施一个模型来分析来自多个不同iot设备的数据可能需要大量的网络带宽。例如,当多个恒温器设备在整个建筑物中收集和发送数据时,大量温度数据可通过本地网络传输。此外,除网络流量以外的各种因素可能会导致网络的性能在不同时间点以不同方式受到负面影响。在一些情况下,由集线器设备实施的模型可包括有价值的专有信息,诸如用于分析图像数据的专用分类器。

附图说明

图1示出根据一些实施例的用于在数据源设备处过滤数据并且在集线器设备处处理未丢弃的数据的系统。

图2是根据一些实施例的实施数据过滤器的示例性数据源设备的框图。

图3是示出根据一些实施例的过滤所收集的数据并且将未丢弃的数据路由到集线器设备的流程图。

图4是根据一些实施例的从提供商网络接收数据过滤器并且将数据过滤器部署到数据源设备的集线器设备的框图。

图5是示出根据一些实施例的在集线器设备处获取拓扑数据、确定数据源设备的数据过滤器并且将数据过滤器部署到数据源设备的流程图。

图6a是示出根据一些实施例的在集线器设备处获取拓扑数据、从远程提供商网络接收数据过滤器并且将数据过滤器部署到数据源设备的流程图。

图6b是示出根据一些实施例的在集线器设备处获取拓扑数据、在集线器设备处生成数据过滤器并且将数据过滤器部署到数据源设备的流程图。

图7示出根据一些实施例的用于在边缘设备处更新处理功能的系统。

图8是示出根据一些实施例的在边缘设备处处理数据并且在边缘设备处更新处理功能的流程图。

图9是示出根据一些实施例的生成和部署对处理功能的修改的流程图。

图10示出根据一些实施例的用于生成和部署对处理功能的修改的系统。

图11是示出根据一些实施例的生成和部署对处理功能的修改的流程图。

图12示出根据一些实施例的用于实施模型的安全部分和模型的不安全部分的系统。

图13示出根据一些实施例的用于实施模型的安全部分的设备。

图14是根据一些实施例的集线器设备的框图,该集线器设备从提供商网络接收模型并且将不安全模型部分部署到边缘设备。

图15是示出根据一些实施例的生成模型并且将其传输到远程网络的流程图。

图16是示出根据一些实施例的将模型的不安全部分部署到边缘设备并且使用模型的安全部分对数据执行操作的流程图。

图17是示出根据一些实施例的实施本文描述的一些或所有技术的示例性计算机系统的框图。

虽然本文通过几个实施例和说明性附图的示例描述了实施例,但是本领域技术人员将认识到实施例并不限于所描述的实施例或附图。应当理解,附图及其详细描述并不旨在将实施例限制于所公开的特定形式,而是相反,旨在覆盖落入由所附权利要求限定的精神和范围内的所有修改、等同物和替代物。本文使用的标题仅用于组织目的,并不意味着用来限制说明书或权利要求的范围。如在整个申请中所使用的,词语“可”是在许可的意义上使用的(即,意味着有可能),而不是在强制的意义上使用的(即,意味着必须)。类似地,词语“包括(include)”、“包括(including)”和“包括(includes)”意味着包括但不限于。

具体实施方式

本文描述的系统和方法实施用于配置互联网可连接设备(例如,iot设备)的本地网络以收集和处理数据,同时保持一个或多个目标(例如高效的网络性能)的技术。在实施例中,连接到网络的远程提供商网络和/或集线器设备可用于配置网络以处理由多个iot设备所收集的数据。例如,提供商网络和/或集线器设备可跨多个iot设备部署数据过滤器、部分数据处理模型或其它处理功能,以这种方式来提高网络性能和/或降低边缘设备的功耗。

在一些实施例中,提供商网络和/或集线器设备可基于网络拓扑的变化或网络的性能的变化来配置或改变本地网络的功能。例如,集线器设备可确定网络的性能已经下降,并且作为响应,在边缘设备处部署对各种处理功能的修改。在实施例中,数据处理模型的专有部分在集线器设备上保持安全,而同一数据处理模型的其它部分被部署到边缘设备。

图1示出根据一些实施例的用于在数据源设备处过滤数据并且在集线器设备处处理未丢弃的数据的系统。在实施例中,图1中描述的集线器设备100、提供商网络102、边缘设备和任何其它组件可与图2-16中任何一个中描述的集线器设备、提供商网络、边缘设备以及任何其它组件相同或可包括一个或多个相同的组件。类似地,图2-16中任何一个中描述的提供商网络、集线器设备、边缘设备和其它组件可与图1中描述的集线器设备100、提供商网络102、边缘设备和任何其它组件相同或包括一个或多个相同的组件。

尽管图1-16可描述本地网络的单个集线器设备,但是在各种实施例中,可使用任何数量的集线器设备来代替单个集线器设备。例如,在一些实施例中,多个集线器设备可用作冗余集线器设备,以增加系统的容错性。如果一个或多个集线器设备发生故障,剩余的一个或多个集线器设备可继续如所描述的那样运行。因此,在实施例中,集线器设备可与一个或多个其它集线器设备同步状态(例如,以周期性间隔或在检测到诸如添加新集线器设备或集线器设备故障的事件时)。

在一些实施例中,两个或更多个集线器设备,而不只是一个集线器设备,可共同执行各种描述的操作。因此,两个或更多个集线器设备可各自执行所描述的操作的特定部分(例如,分布式处理)。在其它实施例中,冗余和分布式处理的组合可通过两个或更多个集线器设备来实现。

在所描述的实施例中,集线器设备100包括数据处理模型104,其可从一个或多个源接收数据并且处理该数据。数据处理模型104可包括对接收的数据执行一个或多个操作的软件和/或硬件。在实施例中,一个或多个操作可包括分析数据、基于该分析修改数据和/或基于该分析生成响应(例如,新数据、一个或多个命令或一些其它结果)。

在一些实施例中,集线器设备100和/或数据处理模型104可将响应发送到一个或多个端点,诸如提供商网络102和/或连接到集线器设备100的其它设备。在实施例中,数据处理模型104可以是处理接收到的数据的软件和/或硬件的任何组合,而不管其复杂性如何。在一些情况下,数据处理模型104可简单地将一些或所有接收到的数据转发到一个或多个端点,而不对数据执行任何其它操作或改变数据。

在所描述的实施例中,集线器设备100经由广域网106(例如,互联网)连接到提供商网络102。因此,提供商网络102可被认为是远程提供商网络,并且可位于不同于集线器设备的另一物理位置,诸如另一城市、州或国家。如所示,集线器设备100还经由一个或多个网络组件108连接到本地网络。一个或多个数据源设备110(例如,本地网络边缘处的一类边缘设备)也经由网络组件108连接到本地网络。

尽管网络组件108和数据源设备110的特定配置被示为示例,但是一个或多个网络组件108和一个或多个数据源设备100的任何其它合适的组合可用于形成本地网络。在一些实施例中,一个或多个数据源设备110能够向集线器设备100传输数据,而无需使用任何中间网络组件108。

在实施例中,网络组件108可以是能够从一个设备接收数据并且将接收到的数据发送到另一个设备(例如,将数据从一个设备路由到另一个设备)的任何类型的路由器、计算设备、交换机或其它数据处理设备。因此,集线器设备100、网络组件108和/或数据源设备110可各自连接到相同的本地网络,并且被认为是该相同的本地网络的一部分。在各种实施例中,集线器设备100、网络组件108和/或数据源设备110中的一个或多个能够经由有线和/或无线传输发送数据。

网络组件108中的每一个可根据数据传输能力或约束来操作。例如,数据传输能力或约束可以是阈值限制,该阈值限制是网络组件108在一段时间内能够处理和/或传输而不会出现过载的最大数据量(例如,最大带宽吞吐量约束)。

在一些实施例中,网络组件108中的每一个也可根据功耗约束来操作。例如,功耗约束可以是网络组件108可消耗的电量的阈值限制。在实施例中,功耗约束可基于电池向网络组件108供应能量的能力。

在实施例中,数据源设备110中的每一个可根据功耗约束来操作。例如,功耗约束可以是数据源设备110可消耗的电量的阈值限制。在实施例中,功耗约束可基于电池向数据源设备110供应能量的能力。

在各种实施例中,数据源设备110中的每一个可根据数据传输能力或约束来操作。例如,数据传输能力或约束可以是阈值限制,该阈值限制是数据源设备110在一段时间内能够处理和/或传输而不会出现过载的最大数据量(例如,用于发送未丢弃的数据的最大带宽吞吐量约束)。

如所描述的实施例中所示,每个数据源设备110包括数据收集器112和数据过滤器114。数据收集器112可包括用于收集和/或生成数据并且将数据发送到数据过滤器114的任何合适的设备。例如,数据收集器112可以是检测一个或多个环境条件(例如,温度、湿度等),并且基于检测到的环境条件生成和/或收集环境数据的环境传感器设备。因此,生成的数据可指示数据源设备110或本地网络的一个或多个环境条件。

在实施例中,数据收集器112可以是检测网络的性能和/或其它操作方面(例如,网络带宽或流量、数据源设备或网络组件的功耗等)并且基于检测到的性能生成数据的传感器或其它设备。因此,生成的数据可指示本地网络、数据源设备110和/或一个或多个网络组件108的性能或其它操作方面。

在一些实施例中,数据过滤器114从数据收集器112接收所收集的数据,并且确定待传输到集线器设备100的所收集的数据的一部分(例如,所收集的数据的第一部分)。在实施例中,数据过滤器114确定要从到集线器设备100的传输中滤除的所收集的数据的另一部分(例如,收集数据的第二部分)。所收集的数据的第一部分可以是所收集的数据的任何子集(例如,所收集的数据的连续和/或非连续部分)。在一些情况下,其可能包括所收集的数据的全部。类似地,所收集的数据的第二部分(另一部分)可以是所收集的数据的任何子集(例如,所收集的数据的连续和/或非连续部分)。在一些情况下,其可能包括所收集的数据的全部。

在一些实施例中,所收集的数据是时间序列数据集,并且数据过滤器114对时间序列数据集执行一个或多个操作,以生成待传输到集线器设备100的数据的第一部分。例如,数据过滤器114可基于所收集的数据的两个或更多个数据值来计算平均值,以生成待传输的数据的第一部分。

在一些实施例中,集线器设备100丢弃所收集的数据的另一部分。在实施例中,为了丢弃数据,集线器设备对所收集的数据的另一部分执行一个或多个操作,以防止其被传输到集线器设备100。例如,数据的另一部分可通过元数据被指示为丢弃的数据和/或数据的可被删除的另一部分。

数据过滤器114可经由本地网络(例如,经由一个或多个网络组件108)将所收集的数据的部分(例如,第一部分)发送到集线器设备。在一些实施例中,所收集的数据的部分可以是所收集的数据的未被滤除的任何剩余部分。在实施例中,发送到集线器设备的所收集的数据的部分可仅仅是所收集的数据的未被滤除的剩余部分的子集。

在实施例中,给定的数据过滤器114被配置(例如,由集线器设备100和/或提供商网络102生成)以根据一个或多个网络组件108的数据传输能力或约束和/或根据实施给定数据过滤器114的数据源设备110的功耗约束来过滤所收集的数据。例如,给定数据过滤器114可被配置为滤除所收集的数据的足够部分,以防止一个或多个网络组件108出现网络流量过载。作为另一个示例,给定数据过滤器114可被配置为过滤所收集的数据的足够部分,以防止实施给定数据过滤器114的数据源设备110消耗阈值功率量。

在一些实施例中,对于给定数据过滤器114的配置,还可考虑网络组件108的功耗约束和/或数据源设备110的数据传输能力或约束。例如,给定数据过滤器114还可被配置为关于实施给定数据过滤器114的数据源设备110的数据传输能力或约束和/或关于一个或多个网络组件108的功耗约束来过滤所收集的数据。

通过如上所述过滤所收集的数据的足够部分,可防止本地网络(例如,集线器设备100和/或网络组件108和/或数据源设备110)出现过载,可更有效地运行,和/或可以更少的错误和更少的数据丢失运行。此外,用于操作本地网络(例如,集线器设备100和/或网络组件108和/或数据源设备110)的能量的量可减少并且保持在阈值量以下。通过保持能源成本低或低于阈值,可延长各种设备的电池寿命,并且设备可更有效地运行。

图2是根据一些实施例的实施数据过滤器114的示例性数据源设备110的框图。在所描述的实施例中,数据源设备110包括微控制器200、数据收集器112、电池202和网络接口204。微控制器200包括存储器206和处理器208。

存储器206包括数据过滤器114。在实施例中,数据过滤器114可包括数据划分方案(例如决策树),该方案实施一组规则,用于确定要从到集线器设备100的传输中滤除的所收集的数据的另一部分。在一些实施例中,数据划分方案包括可执行指令,并且处理器208执行指令,以实施规则并且确定要从传输中滤除的数据的另一部分。在各种实施例中,存储器206的任何其它合适的可执行指令可用于实施上述数据过滤器114的过滤功能。

在一些实施例中,两个或更多个不同的数据过滤器114可包括不同的数据划分方案,这些方案实施不同的相应规则,用于确定要从到集线器设备100的传输中滤除的数据的相应部分。在实施例中,两个或更多个不同的数据过滤器114可包括相同的数据划分方案,这些方案实施相同的相应规则,用于确定要从到集线器设备100的传输中滤除的数据的相应部分。

在实施例中,网络接口204将数据源设备110通信耦合到本地网络。因此,数据源设备110经由网络接口204向集线器设备100传输数据。在实施例中,网络接口204可经由有线或无线接口传输数据。

在一些实施例中,与集线器设备100使用的一个或多个微控制器相比,微控制器200及其一个或多个组件可相对较轻。例如,存储器206的尺寸可比集线器设备100使用的存储器(或多个存储器)的尺寸小至少一个数量级。在实施例中,数据源设备110和微控制器200的轻量级特性允许本地网络的较小功率需求。此外,数据过滤器114的相对简单性允许较小的存储器占用空间和较低的处理功率。

图3是示出根据一些实施例的过滤所收集的数据并且将未丢弃的数据路由到集线器设备的流程图。在框302处,数据收集器在数据源设备处收集数据。在框304处,数据过滤器确定所收集的数据的第一部分。例如,数据过滤器确定待传输到集线器设备的所收集数据的一部分。在框306处,数据过滤器确定所收集的数据的第二部分。例如,数据过滤器确定要从到集线器设备的传输中滤除的所收集的数据的另一部分。

在框308处,数据源设备经由本地网络仅向集线器设备发送所收集的数据的第一部分。在框310处,如果存在另一数据源设备,则另一数据源设备也执行上述步骤,以向集线器设备发送附加的未丢弃的数据。在实施例中,数据源设备中的每一个独立于其它数据源设备向集线器设备发送该部分数据(而无需等待从其它设备发送的任何其它数据)。

在框312处,网络组件将数据的各个部分从数据源设备中的一个或多个路由到集线器设备。在框314处,集线器设备接收并且处理数据的部分。如上所述,集线器设备可基于数据的部分的处理向一个或多个端点发送响应或命令。

图4是根据一些实施例的从提供商网络接收数据过滤器并且将数据过滤器部署到数据源设备的集线器设备的框图。提供商网络102包括部署服务402,该部署服务402为数据源设备110生成数据过滤器114,并且将该数据过滤器114传输到集线器设备100。集线器设备100然后将数据过滤器114传输到相应的数据源设备110。

在实施例中,提供商网络102从集线器设备100接收拓扑数据,并且基于接收到的拓扑数据生成数据过滤器114。在图1-16的任一个中,拓扑数据可包括网络的拓扑(例如,设备的标识、设备之间的通信路径等)和/或网络的状态,和/或拓扑数据可包括网络的拓扑和/或网络的状态的变化。在实施例中,网络的状态可包括一个或多个设备的操作状态(例如,操作或故障)、移除的设备或添加的新设备、网络的两个或更多个设备之间使用的带宽、网络的两个或更多个设备消耗的功率、网络和/或网络的一个或多个特定设备的环境条件、或任何其它合适的网络状态信息。

在实施例中,集线器设备100基于从网络的一个或多个组件接收的数据接收和/或生成拓扑数据。例如,集线器设备100可从数据源设备110和/或网络组件108接收数据。拓扑数据可指示一个或多个数据源设备110和/或网络组件108(例如,识别和/或描述设备和/或组件的数据)。

在一些实施例中,拓扑数据可指示本地网络的拓扑和/或性能的一个或多个变化。例如,拓扑数据可指示数据源设备110中的一个或多个和/或网络组件108中的一个或多个的数量和/或性能的变化。集线器设备100可向提供商网络102传输拓扑数据。提供商网络102可基于拓扑数据生成一个或多个新的或更新的数据过滤器114,并且将它们发送到集线器设备100。在一些情况下,提供商网络102替代地生成对现有数据过滤器114的修改。

集线器设备100可接收新的或更新的数据过滤器114(或修改),然后将其部署到相应的数据源设备110。在实施例中,新的或更新的数据过滤器114替换数据源设备110处的相应的现有数据过滤器114。在其它实施例中,修改被用于更新现有的数据过滤器114(而不是替换)。

图5是示出根据一些实施例的在集线器设备处获取拓扑数据、确定数据源设备的数据过滤器并且将数据过滤器部署到数据源设备的流程图。在框502处,集线器设备获取本地网络的拓扑数据(例如,本地网络的拓扑和/或网络状态)。在实施例中,拓扑数据可包括一个或多个特定设备的数据(例如,网络组件和/或数据源设备的数据)。

在框504处,集线器设备为相应的数据源设备确定一个或多个数据过滤器,其中一个或多个数据过滤器的配置基于拓扑数据。如图6a和图6b所解释的,数据过滤器的配置和/或生成可发生在集线器设备处或提供商网络处。在框506处,集线器设备将数据过滤器部署到相应的数据源设备。

图6a是示出根据一些实施例的在集线器设备处获取拓扑数据、从远程提供商网络接收数据过滤器并且将数据过滤器部署到数据源设备的流程图。在框602处,集线器设备获取本地网络的拓扑数据(例如,本地网络的拓扑和/或网络状态)。在实施例中,拓扑数据可包括一个或多个特定设备的数据(例如,网络组件和/或数据源设备的数据)。

在框604处,集线器设备将拓扑数据传输到远程提供商网络。在框606处,远程提供商网络基于拓扑数据生成数据过滤器。在框608处,集线器设备从远程提供商网络接收数据过滤器。在框610处,集线器设备将数据过滤器部署到相应的数据源设备。

图6b是示出根据一些实施例的在集线器设备处获取拓扑数据、在集线器设备处生成数据过滤器并且将数据过滤器部署到数据源设备的流程图。在框612处,集线器设备获取本地网络的拓扑数据(例如,本地网络的拓扑和/或网络状态)。在实施例中,拓扑数据可包括一个或多个特定设备的数据(例如,网络组件和/或数据源设备的数据)。

在框614处,集线器设备分析拓扑数据。在框616处,远程提供商网络基于拓扑数据的分析生成数据过滤器。在框618处,集线器设备将数据过滤器部署到相应的数据源设备。

图7示出根据一些实施例的用于在边缘设备处更新处理功能的系统。在实施例中,图7中描绘的集线器设备700、提供商网络102、边缘设备或任何其它设备可与图1-6b和图8-16中的任一个中描述的集线器设备、提供商网络、边缘设备或任何其它组件相同或包括一个或多个相同的组件。类似地,图1-6b和图8-16中的任一个中描述的提供商网络、集线器设备、边缘设备或其它组件可与图7中描述的集线器设备700、提供商网络102、边缘设备或任何其它组件相同或包括一个或多个相同的组件。集线器设备700可经由网络连接到远程提供商网络102,如上针对集线器设备100所描述的。

在所描述的实施例中,集线器设备700包括数据处理模型104,其可从一个或多个源接收数据并且处理该数据。在实施例中,数据处理模型104可接收已经由一个或多个相应边缘设备704处的一个或多个处理功能702处理的数据。数据处理模型104然后可对接收的数据执行一个或多个操作。

数据处理模型104以以上所述的任何方式运行。例如,数据处理模型104可分析接收到的数据,基于该分析修改接收到的数据,和/或基于该分析生成响应(例如,新数据、一个或多个命令或一些其它结果)。数据收集器112可收集数据并且将所收集的数据发送到每个边缘设备704处的处理功能。

在实施例中,给定的处理功能102可对从数据收集器接收的所收集的数据执行一个或多个操作,并且基于一个或多个操作生成处理后数据。例如,所收集的数据的一些或全部可被修改和/或过滤成生成的处理后数据。然后,处理后数据可经由本地网络706(例如,直接或经由本地网络706的一个或多个组件)传输到集线器设备700。因此,边缘设备704和集线器设备700连接到本地网络700。

在所描述的实施例中,集线器设备700包括功能适配管理器708,其确定对相应处理功能702的一个或多个修改710,并且将它们部署到相应边缘设备704,使得边缘设备704可更新相应处理功能702。如图9和图11所解释的,一个或多个修改710的生成可发生在集线器设备700处和/或提供商网络102处。在实施例中,对给定处理功能702的更新使其改变处理功能处理所收集的数据的方式。

例如,可改变或移除对所收集的数据执行的一个或多个操作,并且可添加一个或多个新操作。因此,给定的一组所收集的数据可以不同的方式修改或以不同的方式被过滤,使得处理后数据在更新处理功能之前和之后是不同的。在一些实施例中,处理后数据保持相同,但是处理功能以不同的方式操作(例如,更快、更有效等)。

在实施例中,一个或多个修改710可增加与一个或多个相应处理功能702相关联的冗余级别。例如,一个或多个附加功能可被添加到对应于其它边缘设备704的一个或多个其它处理功能702的特定处理功能702。因此,特定处理功能702可用作备份或冗余处理功能。因此,可增加本地网络的容错性和冗余水平。

在实施例中,功能适配管理器708从本地网络(例如,一个或多个边缘设备704和/或其它设备)接收拓扑数据(例如,拓扑和/或网络状态),并且基于拓扑数据确定一个或多个修改710。如上所述,拓扑数据可指示网络拓扑的一个或多个变化和/或网络性能的一个或多个变化。

图8是示出根据一些实施例的在边缘设备处处理数据并且在边缘设备处更新处理功能的流程图。在框802处,数据收集器在相应的边缘设备处收集数据,并且将数据发送到每个边缘设备处的相应处理功能。

在框804处,处理功能对相应的收集的数据执行操作。在框806处,处理功能基于操作生成相应的处理后数据。在框808处,处理功能中的每一个将相应的处理后数据传输到集线器设备。

在框810处,集线器设备处的数据处理模型接收处理后数据,并且对处理后数据执行一个或多个操作。在框812处,功能适配管理器接收指示本地网络/网络状态的拓扑或性能变化的拓扑数据。在框814处,功能适配管理器确定对相应边缘设备的处理功能的一个或多个修改,其中修改基于接收到的拓扑数据。如图9和图11所解释的,一个或多个修改的生成可发生在集线器设备处和/或远程提供商网络处。

在框816处,功能适配管理器将一个或多个修改部署到相应的边缘设备,其中这些修改用于更新相应边缘设备处的处理功能。在实施例中,修改可包括在两个或更多个不同的边缘设备处对相同处理功能的不同修改。在一些实施例中,修改包括在两个或更多个不同边缘设备处对相同处理功能的相同修改。

图9是示出根据一些实施例的生成和部署对处理功能的修改的流程图。在框902处,集线器设备处的功能适配管理器接收指示本地网络/网络状态的拓扑或性能的变化的拓扑数据。在实施例中,从收集和/或生成拓扑数据的一个或多个边缘设备和/或一个或多个其它设备接收拓扑数据。

在框904处,功能适配管理器分析拓扑数据。在实施例中,分析包括对拓扑数据执行一个或多个操作。在框906处,功能适配管理器基于拓扑数据的分析生成对相应边缘设备的处理功能的修改。在框908处,功能适配管理器将修改部署到相应的边缘设备。

图10示出根据一些实施例的用于生成和部署对处理功能的修改的系统。在所描述的实施例中,提供商网络102的功能适配服务1002执行与针对图7的功能适配管理器708所描述的相同或相似的功能。

功能适配服务1002可从远程网络的集线器设备700接收拓扑数据。拓扑数据可指示远程网络/网络状态的拓扑或性能的一个或多个变化。在实施例中,拓扑数据可以是与针对图7描述的拓扑数据相同类型的数据,并且可由集线器设备以与针对图7描述的相同或相似的方式获得。

在实施例中,功能适配服务1002分析拓扑数据。该分析可包括对拓扑数据执行一个或多个操作。功能适配服务1002然后可基于拓扑数据的分析生成对处理功能702的一个或多个修改710。在实施例中,一个或多个修改710被配置为用于在连接到网络的相应的一个或多个边缘设备704处更新一个或多个处理功能702。

在一些实施例中,修改710被配置为减少由相应边缘设备704消耗的功率量。因此,可降低能源成本,并且由边缘设备704使用的电池可在更换或再充电之前使用更长的时间段。

在实施例中,修改710被配置为减少由相应边缘设备704消耗的网络带宽量。因此,从边缘设备704向集线器设备700传输数据的边缘设备704和/或其它网络组件可更有效地操作,并且可防止由网络流量而引起的过载。

功能适配服务1002然后将修改710传输到集线器设备700。集线器设备700然后可将修改710部署到相应的边缘设备704。在一些实施例中,功能适配服务1002替代地将修改710中的至少一些直接传输到相应的边缘设备704(例如,经由有线和/或无线传输)。在这种情况下,功能适配服务1002也可直接从相应的边缘设备704而非经由集线器设备700接收拓扑数据。

在实施例中,修改710被配置为替换相应的处理功能702。因此,修改710可包括新的处理功能702来替换现有的处理功能702。在其它实施例中,修改710被配置为仅修改现有处理功能702的一部分。在一些情况下,对于特定的部署,修改710中的一个或多个被配置为替换现有的处理功能,而剩余的修改710仅修改现有处理功能的一部分。

在一些实施例中,在集线器设备700从提供商网络102接收到修改710之后,功能适配管理器708可在将修改710部署到相应的边缘设备704之前对这些修改710中的一个或多个执行附加的改变或更新。例如,功能适配管理器708可分析拓扑数据中的至少一些,并且至少基于分析来更新修改710中的一个或多个。

在实施例中,功能适配管理器708用于执行对修改710的附加改变或更新的拓扑数据可与功能适配服务1002所使用的相同。然而,在其它实施例中,由功能适配管理器708使用的拓扑数据可不同。例如,拓扑数据可以是指示网络的拓扑和/或性能的最近变化的最近获得的数据。因此,对修改710的附加改变或更新可将它们配置为更好地适应网络的当前或最近状态。

在一些实施例中,在更新一个或多个处理功能702之后,集线器设备700接收指示网络的性能的一个或多个附加变化的附加拓扑数据。集线器设备700然后可为一个或多个相应的边缘设备704确定对处理功能702的一个或多个附加修改710,其中一个或多个附加修改基于附加拓扑数据。如上所述,一个或多个附加修改710的生成可由功能适配服务1002和/或功能适配管理器708来执行。功能适配管理器708然后可将一个或多个附加修改710部署到一个或多个相应的边缘设备704。

在实施例中,确定对处理功能702的一个或多个附加修改710以及部署附加修改710的上述过程可重复任意次数。因此,当本地网络的拓扑和/或性能发生变化时,功能适配服务1002和/或功能适配管理器708可连续地适配本地网络以更有效地操作。因此,功能适配服务1002和/或功能适配管理器708可实施增强学习技术来提高本地网络的性能。

例如,如果本地网络的一个或多个特定边缘设备的性能已经降低或以阈值量改变(例如,流量拥塞或网络带宽消耗超过阈值量,丢失数据或网络错误超过阈值量,或者由边缘设备消耗的功率超过阈值量),则功能适配服务1002和/或功能适配管理器708可生成并且部署对特定边缘设备的修改,以提高特定边缘设备的性能(例如,通过增加或减少从特定边缘设备发送到集线器设备的处理数据量)。

在一些实施例中,提供商网络104还包括数据处理模型104,其以与上文针对集线器设备700的数据处理模型104描述的相同或相似的方式执行。因此,提供商网络102的数据处理模型104可从边缘设备704接收数据并且处理接收的数据。此外,在一些实施例中,提供商网络102的数据处理模型104可在尺寸上更大、计算速度更快和/或相对于结果更准确。在一些实施例中,提供商网络102的数据处理模型104可执行额外的计算和/或使用更大的数据集来提供更准确的结果。

图11是示出根据一些实施例的生成和部署对处理功能的修改的流程图。在框1102处,集线器设备接收指示拓扑的变化和/或本地网络/网络状态的性能的变化的拓扑数据。

在框1104处,功能适配管理器将拓扑数据传输到远程提供商网络的功能适配服务。在框1106处,功能适配服务分析拓扑数据。在框1108处,功能适配服务基于拓扑数据的分析生成对处理功能的修改。在框110处,功能适配服务将修改传输到集线器设备。

在框1112处,功能适配管理器确定是否执行混合更新。如果不是,则功能适配管理器将修改部署到相应的边缘设备。然后,这些修改被用于更新相应边缘设备处的处理功能。例如,边缘设备将修改应用于处理功能。

图12示出根据一些实施例的用于实施模型的安全部分和模型的不安全部分的系统。在实施例中,图12中描述的集线器设备1200、提供商网络102、边缘设备或任何其它设备可与图1-11和图13-16中的任一个中描述的集线器设备、提供商网络、边缘设备或任何其它组件相同或包括一个或多个相同组件。类似地,图1-11和图13-16中的任一个中描述的提供商网络、集线器设备、边缘设备或其它组件可与图12中描述的集线器设备1200、提供商网络102、边缘设备或任何其它组件相同或包括一个或多个相同的组件。如上面针对集线器设备100所描述的,集线器设备1200可经由网络连接到远程提供商网络102。

在所描述的实施例中,集线器设备1200包括在安全执行环境1204中实施的数据处理模型的安全模型部分1202,以及在安全执行环境1204的外部实施的模型服务器1206。如下所述,安全执行环境1204防止从安全执行环境1204的外部访问安全模型部分1202。在实施例中,安全执行环境1204包括可信平台模块(tpm)和/或被配置为实施安全模型部分1202并且防止从安全执行环境1204的外部访问安全模型部分1202的另一硬件模块。

数据处理模型的一个或多个不安全模型部分1208位于一个或多个相应的边缘设备704处。数据收集器112可以与以上附图中描述的那些方式相同或相似的方式运行,以便将所收集的数据发送到相应的不安全模型部分1208。在示例性实施例中,不安全模型部分1208是与安全模型部分1202相同的数据处理模型的部分。如下所述,数据处理模型被分成安全模型部分1202和一个或多个不安全模型部分1208。

在实施例中,模型服务器1206从提供商网络102接收数据处理模型的安全模型部分1202和不安全模型部分1208,其中至少安全模型部分1202被加密。在实施例中,模型服务器1206将接收的数据处理模型分成安全模型部分1202和不安全模型部分1208。模型服务器1206将不安全模型部分1208部署到相应的边缘设备704,并且将安全模型部分1202发送到安全执行环境1204,在那里对其进行解密。在实施例中,安全执行环境中的模型管理器1210接收安全模型部分1202并且对其进行解密

在实施例中,模型管理器1210可监测对安全模型部分1202的调用(例如,应用编程接口(api)调用),并且执行一个或多个操作或动作来防止对安全模型部分的模型提取攻击。例如,模型管理器1210可基于监测和/或检测对安全模型部分1202的调用来抑制对安全模型部分的调用或阻止对安全模型部分的一个或多个调用。在实施例中,模型管理器1210可响应于确定在预定时间段内调用的数量超过阈值数量(例如,每秒调用数量)或者响应于确定调用的模式指示模型提取攻击,抑制对安全模型部分的调用或者阻止对安全模型部分的一个或多个调用。在一些实施例中,模型管理器1210可跟踪每个用户进行的调用数量,并且基于每个用户进行的调用数量来确定向单个用户计费的金额。

在边缘设备704处实施不安全模型部分1208之后,数据收集器112收集数据并且将所收集的数据发送到不安全模型部分1208用于处理。不安全模型部分1208在相应的边缘设备704处对所收集的数据执行一个或多个操作,以生成处理后数据。边缘设备704向集线器设备1200发送处理后数据中的一些或全部,用于进一步处理。

在实施例中,安全模型部分1202包括一个或多个较高层的神经网络(例如,深层神经网络),并且一个或多个不安全模型部分包括一个或多个较低层的神经网络。然而,任何其它适于被分成两个或更多个部分的数据处理模型、计算模型、机器学习模型或人工智能模型可用于生成安全模型部分和一个或多个不安全模型部分(例如,深层神经网络、静态或动态神经网络、存储网络等)。此外,在实施例中,任何以上数据处理模型或计算模型可用作图1-16中的任何一个的数据处理模型。

在所描述的实施例中,安全模型部分1202从不安全部分1208接收处理后数据。安全模型部分1202。集线器设备1200在安全执行环境1204中实施和/或执行安全模型部分1202来处理从不安全部分1208接收的数据,以生成结果。安全模型部分1202和/或集线器设备然后可将结果传输到一个或多个端点(例如,提供商网络102、一个或多个边缘设备704和/或一个或多个其它设备)。

在一些实施例中,图1-16中描述的集线器设备的任何数据处理模型可在强化学习过程的环境中操作。例如,提供商网络和/或集线器设备可在多个时间点(例如,周期性地)从本地网络获取拓扑数据,并且基于拓扑数据,周期性地修改或替换数据过滤器、处理功能或不安全模型部分,以提高网络的性能。

在实施例中,强化学习过程用于获取足够量的信息以达成目标,同时还最小化网络流量和/或边缘设备和/或其它网络组件的功耗。例如,强化学习过程的目标可以是将一个或多个房间保持在特定温度范围内,同时最小化网络流量和/或边缘设备和/或其它网络组件的功耗。

智能城市传感器也可利用数据处理模型和/或强化学习技术。例如,麦克风和/或摄像头可部署在整个城市中,以监视和识别事件(例如,识别人,识别诸如枪声的声音或车祸等)。由于可能在整个城市部署大量传感器,因此减少网络流量并且减少感测设备的功耗同时保持阈值监测量(例如,激活阈值数量的感测设备)将是有用的。

在一些实施例中,图1-16中描述的集线器设备的任何数据处理模型可在事件驱动执行环境的环境中操作。例如,数据处理模型的中一个或多个功能可被分配给相应的事件,使得响应于事件驱动执行环境检测到分配给特定功能的事件(例如,从一个或多个特定边缘设备接收数据),触发特定功能。

图13示出根据一些实施例的用于实施模型的安全部分的设备。在所描述的实施例中,集线器设备1200包括一起提供安全执行环境1204的tpm1302和加速器模块1304。在实施例中,一个或多个附加硬件组件(tpm、加速器模块等)也可用于实施安全执行环境1204。在一些实施例中,tpm1302本身或加速器模块1304本身可实施安全执行环境1204。

如所示,模型管理器1210在安全执行环境1204中执行。在实施例中,模型管理器1210通过在除tpm1302和加速器模块1304之外的一个或多个硬件组件(例如,处理器和/或存储器)上执行。在一些实施例中,模型管理器1210的至少一部分可在tpm1302和/或加速器模块1304内执行。

如所示,tpm1302包括存储解密后安全模型部分1202的安全存储器1304和可实施安全模型部分1202的部分或全部的安全处理器1306。例如,安全模型部分1202可包括计算机可执行指令,其中至少一些指令由处理器1306执行。在实施例中,tpm1302被配置为防止从安全执行环境1204的外部(例如,由安全执行环境1204的外部的一个或多个设备)访问安全模型部分1202。

在所描述的实施例中,加速器模块1304包括安全存储器1308和安全处理器1310。加速器模块1304可实施安全模型部分1202中的一些或全部。例如,处理器1310可执行安全模型部分1202的计算机可执行指令中的至少一些,这些指令可存储在存储器1308中。在一些实施例中,加速器模块1304的处理器1310可与tpm共享相同的安全存储器(例如,存储器1304)。

因此,在实施例中,加速器模块1304可用于执行一个或多个操作,以比tpm1302能够更快和/或更有效地根据安全模型部分1202处理数据。加速器模块1304的存储器1308和处理器1310可被配置为防止从安全执行环境1204的外部访问安全模型部分1202。

集线器设备1200还包括存储器1312(包括模型服务器1206)。在实施例中,处理器1314可执行存储在存储器1312中的模型服务器1206的计算机可执行指令。因此,当安全模型部分1202被加密时,模型服务器1206可至少临时地存储该安全模型部分1202、不安全模型部分1208以及在安全执行环境1204中不需要保护的任何其它数据。

在实施例中,网络接口204将集线器设备1200通信耦合到本地网络。因此,集线器设备经由网络接口204从相应的不安全模型部分1208接收处理后数据。在实施例中,网络接口204可经由有线或无线接口接收和/或传输数据。

图14是根据一些实施例的集线器设备的框图,该集线器设备从提供商网络接收模型并且将不安全模型部分部署到边缘设备。如所示,提供商网络102包括生成数据处理模型的部署服务1502,包括安全模型部分1202和一个或多个不安全模型部分1208。部署服务1502将安全模型部分1202和一个或多个不安全模型部分1208传输到集线器设备1200。集线器设备1200将不安全模型部分1208部署到相应的边缘设备704。

在实施例中,提供商网络102从集线器设备1200接收拓扑数据,并且基于接收到的拓扑数据生成安全模型部分1202和一个或多个不安全模型部分1208。在实施例中,集线器设备1200基于从网络的一个或多个组件接收的数据接收和/或生成拓扑数据。例如,集线器设备1200可从边缘设备704和/或网络组件108接收数据。拓扑数据可指示本地网络的拓扑,包括一个或多个边缘设备704、网络组件108和/或集线器设备1200(例如,识别和/或描述设备和/或组件的数据)。

在一些实施例中,拓扑数据可指示本地网络的拓扑和/或性能的一个或多个变化。例如,拓扑数据可指示一个或多个数据源设备110和/或一个或多个网络组件108的数量和/或性能的变化。集线器设备100可向提供商网络102传输拓扑数据。提供商网络102可基于拓扑数据生成安全模型部分1202和一个或多个不安全模型部分1208,并且将它们发送到集线器设备100。

在实施例中,提供商网络102在将安全模型部分1202传输到集线器设备1200之前对其加密。在一些实施例中,在将包括不安全模型部分1208的整个数据处理模型传输到集线器设备1200之前,对其进行加密。

在一些实施例中,部署服务1402在接收拓扑数据之前和/或在将安全模型部分1202和一个或多个不安全模型部分1208传输到集线器设备1200之前认证集线器设备1200。为了认证集线器设备1200,部署服务1402可从集线器设备接收安全数据(例如,证书、令牌、密码和/或其它安全数据),并且至少基于存储在对应于集线器设备1200的提供商网络102处的安全数据和/或安全信息来认证集线器设备1200。

图15是示出根据一些实施例的生成模型并且将其传输到远程网络的流程图。在框1502处,远程提供商网络处的部署服务从本地网络获取拓扑数据。例如,集线器设备从一个或多个网络组件和/或边缘设备收集拓扑数据,并且将其传输到部署服务。

在框1504处,部署服务基于拓扑数据生成数据处理模型。该模型可包括将在集线器设备上实施的安全模型部分和将在相应的边缘设备上实施的一个或多个不安全模型部分。然后,在框1506处,部署服务使用密钥加密安全模型部分。在实施例中,部署服务还可加密不安全模型部分。在一些实施例中,整个数据处理模型可被加密并且作为一个加密包发送。

在框1508处,部署服务将数据处理模型的加密的安全部分和数据处理模型的不安全部分传输到远程网络的集线器设备。在实施例中,加密的安全部分和不安全部分可在不同的时间点以单独的传输方式发送。在一些情况下,加密的安全部分和不安全部分在一次传输中一起发送(例如,作为一个包)。

图16是示出根据一些实施例的将模型的不安全部分部署到边缘设备并且使用模型的安全部分对数据执行操作的流程图。在框1602处,部署管理器接收数据处理模型。如上所述,至少数据处理模型的安全部分被加密。

在框1604处,模型服务器将加密的安全部分发送到安全执行环境。tpm使用密钥解密数据处理模型的安全部分,以获得解密的安全部分。在实施例中,tpm使用存储在tpm存储器中或存储在tpm的任何其它合适部分中的加密密钥来解密安全部分。在一些实施例中,存储在tpm中的密钥是私有密钥,提供商网络也使用该私有密钥在将其发送到集线器设备之前在提供商网络处对安全部分进行加密。

在一些实施例中,安全执行环境接收整个数据处理模型作为加密模型。安全执行环境解密数据处理模型,以生成模型的多个解密部分。安全执行环境然后可将模型的解密部分中的一个识别为要保留在安全执行环境中的安全模型部分。

在实施例中,安全执行环境可基于从提供商网络接收的元数据将模型的解密部分识别为安全模型部分。在一些实施例中,安全执行环境可基于从提供商网络接收的元数据将模型的解密部分识别为一个或多个不安全模型部分。

在各种实施例中,元数据与加密的数据处理模型一起传输到集线器设备。元数据本身可加密或可不加密。在数据处理模型和元数据被解密之后,元数据可识别要在集线器设备上实施的数据处理模型的安全部分和/或要在一个或多个相应边缘设备上实施的数据处理模型的一个或多个不安全部分。

响应于识别安全模型部分和/或一个或多个不安全模型部分,安全执行环境可向模型服务器发送一个或多个不安全模型部分。模型服务器然后可将一个或多个不安全模型部分部署到相应的边缘设备。

在框1606处,模型服务器将不安全模型部分部署到相应的边缘设备。在框1608处,边缘设备处的数据收集器收集相应的数据。在框1610处,边缘设备使用模型的不安全部分对相应的收集的数据执行操作,以生成处理后数据。

在框1612处,不安全模型部分将处理后数据从相应的边缘设备传输到集线器设备(例如,经由一个或多个网络组件)。在框1614处,集线器设备在安全执行环境中使用解密的安全模型部分对处理后数据执行一个或多个操作,以生成结果。在实施例中,解密的安全模型部分在安全执行环境的外部是不可访问的。例如,安全执行环境的外部的一个或多个设备可能无法访问解密的安全模型部分(例如,为了防止模型提取攻击)。在实施例中,tpm的一个或多个硬件特征和/或软件安全特征防止安全执行环境的外部的一个或多个设备访问安全执行环境。

在框1616处,集线器设备和/或安全模型部分将结果传输到一个或多个端点。在实施例中,结果可以是被配置为使一个或多个设备执行动作(例如,发出警报、开灯等)的一个或多个命令。

各种计算机系统中的任何一种可被配置为实施与以上附图的提供商网络、集线器设备、数据源设备、网络组件和边缘设备相关联的过程。例如,图17是示出根据一些实施例的实施本文描述的一些或所有技术的示例性计算机系统的框图。在各种实施例中,图1-16中的任一个的提供商网络、集线器设备、数据源设备、网络组件和边缘设备可各自包括诸如图17中所示的一个或多个计算机系统1700。在实施例中,提供商网络、集线器设备、数据源设备、网络组件和边缘设备可包括计算机系统1700的一个或多个组件,其以与针对计算机系统1700描述的相同或相似的方式运行。

在所示实施例中,计算机系统1700包括一个或多个处理器1710,处理器1710经由输入/输出(i/o)接口1730耦合到系统存储器1720。计算机系统1700还包括耦合到i/o接口1730的网络接口1740。在一些实施例中,计算机系统1700可以是实施企业逻辑或可下载应用的示例性服务器,而在其它实施例中,服务器可包括比计算机系统1700更多、更少或不同的元件。

在各种实施例中,计算机系统1700可以是包括一个处理器1710的单处理器系统,或者包括若干处理器1710(例如,两个、四个、八个或其它合适的数量)的多处理器系统。处理器1710可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器1710可以是实施各种指令集体系架构(isa)中的任何一种的嵌入式处理器,诸如x106、powerpc、sparc或mipsisa,或者任何其它合适的isa。在多处理器系统中,处理器1710中的每一个可共同但不一定实施相同的isa。

系统存储器1720可被配置为存储可由处理器1710访问的指令和数据。在各种实施例中,系统存储器1720可使用任何合适的存储技术来实施,诸如静态随机存取存储器(sram)、同步动态随机存取存储器(sdram)、非易失性/闪存型存储器或任何其它类型的存储器。在示出的实施例中,实施期望功能的程序指令和数据,诸如上面针对文件网关、对象存储系统、客户端设备或服务提供商描述的那些方法和技术,被示为作为程序指令1725存储在系统存储器1720中。在一些实施例中,系统存储器1720可包括数据1735,其可如本文所述进行配置(例如,文件对象、日志对象等)。

在一个实施例中,i/o接口1730可被配置为通过网络接口1740或其它外围接口协调处理器1710、系统存储器1720和系统中的任何外围设备之间的i/o流量。在一些实施例中,i/o接口1730可执行任何必要的协议、定时或其它数据转换,以将来自一个组件(例如,系统存储器1720)的数据信号转换成适合另一个组件(例如,处理器1710)使用的格式。在一些实施例中,i/o接口1730可包括对通过各种类型的外围总线连接的设备的支持,诸如外围组件互连(pci)总线标准或通用串行总线(usb)标准的变体。在一些实施例中,i/o接口1730的功能可分成两个或更多个独立的组件,例如北桥和南桥。此外,在一些实施例中,i/o接口1730的功能中的一些或全部(诸如到系统存储器1720的接口)可直接结合到处理器1710中。

网络接口1740可被配置为允许数据在计算机系统1700和其它计算机系统1700或附接到网络的设备之间交换,例如网络706、网络106或提供商网络内的本地网络。特别地,网络接口1740可被配置为允许计算机系统1700和/或各种i/o设备1750之间的通信。如本文所描述,i/o设备1750可包括扫描设备、显示设备、输入设备和/或其它通信设备。网络接口1740通常可支持一个或多个无线网络协议(例如,wi-fi/ieee802.11或另一种无线网络标准)。然而,在各种实施例中,网络接口1740可支持经由任何合适的有线或无线通用数据网络的通信,例如其它类型的以太网。此外,网络接口1740可支持经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储区域网络(诸如光纤信道san)或经由任何其它合适类型的网络和/或协议的通信。

在一些实施例中,系统存储器1720可以是被配置为如上所述存储程序指令和数据的计算机可访问介质的一个实施例。然而,在其它实施例中,程序指令和/或数据可被接收、发送或存储在不同类型的计算机可访问介质上。一般来说,计算机可访问介质可包括计算机可读存储介质或诸如磁或光介质的存储介质,例如经由i/o接口1730耦合到计算机系统1700的磁盘或dvd/cd-rom。计算机可读存储介质也可包括任何易失性或非易失性介质,诸如随机存取存储器(ram)(例如,sdram、ddrsdram、rdram、sram等),其可作为系统存储器1720或另一种类型的存储器包括在计算机系统1700的一些实施例中。进一步,计算机可访问介质可包括传输介质或信号(诸如电、电磁或数字信号),其经由诸如网络和/或无线链路的通信介质传送,诸如可经由网络接口1740实施。

在一些实施例中,i/o设备1750可以是相对简单或“薄”的客户端设备。例如,i/o设备1750可被配置为具有显示、数据输入和通信能力,但是除此之外几乎没有计算功能的哑终端。然而,在一些实施例中,i/o设备1750可以是类似于计算机系统1700配置的计算机系统,包括一个或多个处理器1710和各种其它设备(尽管在一些实施例中,实现i/o设备1750的计算机系统1700可具有稍微不同的设备或不同类别的设备)。

在各种实施例中,根据各种实施例,i/o设备1750(例如,扫描仪或显示设备以及其它通信设备)可包括但不限于以下一个或多个:手持设备、由人佩戴或附着到人的设备、以及集成到或安装在任何移动或固定装备上的设备。i/o设备1750可进一步包括但不限于以下一个或多个:个人计算机系统、台式计算机、机架式计算机、膝上型或笔记本计算机、工作站、网络计算机、“哑”终端(即,具有很小或没有集成处理能力的计算机终端)、个人数字助理(pda)、移动电话或其它手持设备、专有设备、打印机或任何其它适于与计算机系统1700通信的设备。通常,i/o设备1750(例如,光标控制设备1760、键盘1770或显示器1780)可以是能够与计算系统1700的元件通信的任何设备。

本公开的实施例还可根据以下条款进行描述:

1.一种系统,包括:

多个数据源设备,其连接到收集相应数据的网络,其中所述数据源设备中的至少一个包括至少一个相应的数据过滤器,其中在所述至少一个数据过滤器处接收所述数据时,所述至少一个数据源设备被配置为:

确定所述数据的第一部分;

确定要从到连接到所述网络的至少一个集线器设备的传输中滤除的所述数据的第二部分;

经由所述网络将所述数据的所述第一部分发送到所述至少一个集线器设备;

所述网络的一个或多个网络组件,其被配置为将所述数据的所述第一部分从数据源数据设备中的所述至少一个路由到所述至少一个集线器设备;以及

所述至少一个集线器设备,其包括:

一个或多个处理器;以及

一个或多个存储器,其中所述一个或多个存储器上存储有指令,当由所述一个或多个处理器执行时,所述指令使得所述一个或多个处理器处理来自所述至少一个数据源设备的所述数据的所述第一部分。

2.根据条款1所述的系统,其中所述一个或多个网络组件包括具有数据传输能力的一个或多个无线路由器,并且其中所述至少一个数据过滤器被配置为过滤所述收集的数据的足够部分,以防止所述无线路由器中的一个或多个出现网络流量过载。

3.根据条款1所述的系统,其中,所述至少一个数据源设备由电池供电,并且其中,所述至少一个数据过滤器被配置为过滤所述收集的数据的足够部分,以防止所述至少一个数据源设备消耗阈值电量。

4.根据条款1所述的系统,其中所述至少一个数据源设备包括微控制器,所述微控制器具有实施所述至少一个数据过滤器的处理器和存储器,其中所述存储器的尺寸比所述至少一个集线器设备的所述一个或多个存储器的尺寸小至少一个数量级。

5.根据条款4所述的系统,其中,所述至少一个集线器设备被配置为:

接收指示所述网络的拓扑或性能的一个或多个变化的拓扑数据;

向提供商网络传输所述拓扑数据;

基于所述拓扑数据从所述提供商网络接收一个或多个新数据过滤器;以及

将所述一个或多个新数据过滤器部署到相应的一个或多个数据源设备,其中所述一个或多个新数据过滤器替换所述一个或多个数据源设备处的一个或多个相应数据过滤器。

6.一种方法,包括:

在连接到网络的至少一个集线器设备处获取所述网络的拓扑数据,其中所述拓扑数据至少指示:

连接到所述网络的至少一个数据源设备;以及

连接到所述网络的一个或多个网络组件;

由所述至少一个集线器设备确定用于所述至少一个数据源设备的至少一个数据过滤器,其中所述至少一个数据过滤器的配置至少基于所述拓扑数据,并且其中所述至少一个数据源设备被配置为在所述至少一个数据源设备的所述至少一个数据过滤器处接收数据时执行:

确定所述数据的第一部分;

确定所述数据的第二部分;以及

经由所述一个或多个网络组件将所述数据的所述第一部分发送到所述至少一个集线器设备;以及

将所述至少一个数据过滤器从所述至少一个集线器设备部署到所述至少一个数据源设备中的相应数据源设备。

7.根据条款6所述的方法,其中所述拓扑数据包括所述网络组件中的一个或多个的数据传输能力的指示。

8.根据条款6所述的方法,其中所述拓扑数据包括所述数据源设备中的一个或多个的功耗极限的指示。

9.根据条款6所述的方法,其中,所述一个或多个数据过滤器包括相应的数据划分方案,所述数据划分方案实施相应的规则,用于确定要从到所述至少一个集线器设备的传输中滤除的所述数据的所述相应的第二部分。

10.根据条款6所述的方法,其中至少两个不同的数据过滤器包括不同的数据划分方案,所述不同的数据划分方案实施不同的规则,用于确定要从到至少一个集线器设备的传输中滤除的所述数据的所述相应的第二部分。

11.根据条款6所述的方法,进一步包括:

响应于由所述至少一个集线器设备从所述至少一个数据源设备接收所述数据的所述第一部分:

通过在所述至少一个集线器设备处的数据处理模型分析所述数据的所述第一部分;

基于所述分析生成响应;以及

向一个或多个端点传输所述响应。

12.根据条款11所述的方法,其中生成所述响应包括:

基于对所述数据的所述分析,确定待传输到所述一个或多个端点处的一个或多个设备的一个或多个命令。

13.根据条款6所述的方法,其中,所述由所述至少一个集线器设备确定用于所述至少一个数据源设备的所述一个或多个数据过滤器包括:

将所述拓扑数据从所述至少一个集线器设备传输到远程提供商网络;以及

从所述远程提供商网络接收用于所述至少一个数据源设备的所述至少一个数据过滤器。

14.根据条款6所述的方法,其中,所述由所述至少一个集线器设备确定用于所述至少一个数据源设备的所述至少一个数据过滤器包括:

由所述至少一个集线器设备分析所述拓扑数据;以及

基于所述拓扑数据的所述分析生成所述至少一个数据过滤器。

15.一种方法,包括:

由连接到网络的多个数据源设备中的至少一个来收集相应的数据;

当在所述数据源设备中的至少一个的至少一个数据过滤器处接收所述数据时,由所述至少一个数据源设备执行:

确定所述数据的第一部分;

确定所述数据的第二部分;以及

将所述数据的所述第一部分发送到连接到所述网络的至少一个集线器设备,其中所述至少一个数据过滤器的配置基于所述网络的拓扑数据。

16.根据条款15所述的方法,其中将所述数据的所述第一部分路由到所述至少一个集线器设备的所述网络的一个或多个网络组件包括具有数据传输能力的一个或多个无线路由器,并且进一步包括:

由所述至少一个数据过滤器过滤所收集的数据的足够部分,以防止所述无线路由器中的一个或多个出现网络流量过载。

17.根据条款15所述的方法,其中确定所述数据的所述第一部分包括:

对所述收集的数据的时间序列数据集执行操作以生成所述数据的所述第一部分。

18.根据条款15所述的方法,进一步包括:

在所述至少一个集线器设备处获取所述网络的拓扑数据,其中所述拓扑数据至少指示:

所述至少一个数据源设备;以及

所述网络的一个或多个网络组件;

由所述至少一个集线器设备为所述至少一个数据源设备确定所述至少一个数据过滤器,其中所述至少一个数据过滤器的配置至少基于所述拓扑数据;

将所述至少一个数据过滤器从所述至少一个集线器设备部署到所述至少一个数据源设备。

19.根据条款18所述的方法,进一步包括:

从所述至少一个集线器设备处接收用于所述至少一个数据源设备的所述至少一个数据过滤器。

20.根据条款15所述的方法,其中,所述至少一个数据源设备包括至少一个环境传感器设备,并且进一步包括:

由所述至少一个数据源设备从所述至少一个环境传感器设备收集所述相应数据作为环境数据。

本公开的实施例还可根据以下条款进行描述:

1.一种系统,包括:

至少一个集线器设备,其包括处理器和存储器,所述至少一个集线器设备连接到网络并且被配置为实施数据处理模型的安全部分的安全执行环境,其中所述至少一个集线器设备被配置为:

接收所述数据处理模型,其中至少所述数据处理模型的所述安全部分被加密;

解密所述数据处理模型的至少所述加密的安全部分,以获得所述数据处理模型的所述解密的安全部分;

将所述数据处理模型的一个或多个不安全部分部署到连接到所述网络的一个或多个相应的边缘设备;

从由所述一个或多个相应的边缘设备实施的所述数据处理模型的所述一个或多个不安全部分接收处理后数据;

在所述安全执行环境中使用所述数据处理模型的所述解密的安全部分对所述接收的数据执行一个或多个操作以生成结果,其中所述数据处理模型的所述解密的安全部分不可被所述安全执行环境的外部的一个或多个设备访问;以及

将所述结果传输到一个或多个端点;以及

所述一个或多个边缘设备,其包括所述数据处理模型的所述一个或多个相应的不安全部分,其中所述一个或多个边缘设备中的至少一个被配置为:

在所述边缘设备处收集数据;

使用所述数据处理模型的所述不安全部分对所述收集的数据执行一个或多个操作,以生成所述处理后数据的至少一部分;以及

将所述处理后数据的至少一部分传输到所述至少一个集线器设备。

2.根据条款1所述的系统,其中所述至少一个集线器设备包括可信平台模块,其中所述可信平台模块被配置为防止从所述安全执行环境的外部访问所述数据模型的所述安全部分。

3.根据条款2所述的系统,其中所述至少一个集线器设备包括另一处理器和另一存储器,其中所述另一处理器和存储器被配置为实施所述安全执行环境的一部分,并且其中所述另一处理器和存储器被配置为防止从所述安全执行环境的外部访问所述数据模型的所述安全部分。

4.根据条款1所述的系统,其中所述安全执行环境被配置为使用存储在所述存储器中的加密密钥来解密所述数据处理模型的所述至少加密的安全部分。

5.根据条款1所述的系统,其中所述接收的数据处理模型被加密,并且其中所述安全执行环境被配置为:

解密所述加密的数据处理模型以生成所述数据处理模型的多个解密部分;以及

将所述数据处理模型的所述解密部分中的一部分识别为所述解密的安全部分。

6.一种方法,包括:

在连接到网络的至少一个集线器设备处接收数据处理模型,其中所述数据处理模型的至少一个安全部分被加密;

由所述至少一个集线器设备解密所述数据处理模型的至少所述加密部分,以获得所述数据处理模型的所述解密的安全部分;

将所述数据处理模型的一个或多个不安全部分从所述至少一个集线器设备部署到连接到所述网络的一个或多个相应的边缘设备;

在所述至少一个集线器设备处接收来自所述相应边缘设备中的一个或多个的处理后数据;

在所述至少一个集线器设备的安全执行环境中,使用所述数据处理模型的所述解密的安全部分对所述接收的数据执行一个或多个操作以生成结果,其中所述数据处理模型的所述解密的安全部分不可被所述安全执行环境的外部的一个或多个设备访问;以及

将所述结果从所述至少一个集线器设备传输到一个或多个端点。

7.根据条款6所述的方法,其中,所述至少一个集线器设备包括可信平台模块,并且进一步包括:

由所述可信平台模块防止对所述数据模型的所述安全部分的模型提取攻击。

8.根据条款6所述的方法,其中,所述至少一个集线器设备包括实施所述安全执行环境的一部分的另一处理器和另一存储器,并且进一步包括:

由所述另一处理器和存储器防止从所述安全执行环境的外部访问所述数据模型的所述安全部分。

9.根据条款6所述的方法,进一步包括由所述安全执行环境使用存储在所述至少一个集线器设备的安全存储器中的加密密钥解密所述数据处理模型的所述至少加密部分。

10.根据条款6所述的方法,进一步包括从远程提供商网络接收所述数据处理模型。

11.根据条款10所述的方法,进一步包括:

由所述至少一个集线器设备收集指示所述网络的拓扑的拓扑数据;

向所述提供商网络传输所述拓扑数据;以及

从所述远程提供商网络接收所述数据处理模型,其中所述数据处理模型至少基于所述拓扑数据。

12.根据条款6所述的方法,其中所述接收的数据处理模型被加密,并且进一步包括:

解密所述加密的数据处理模型以生成所述数据处理模型的多个解密部分。

13.根据条款12所述的方法,进一步包括:

基于从所述提供商网络接收的元数据,将所述数据处理模型的所述解密部分中的一个或多个识别为所述数据处理模型的所述一个或多个不安全部分;以及

响应于识别所述数据处理模型的所述一个或多个不安全部分,将所述数据处理模型的所述一个或多个不安全部分部署到所述一个或多个相应的边缘设备。

14.根据条款6所述的方法,其中所述数据处理模型是神经网络,并且其中所述数据处理模型的所述安全部分包括所述神经网络的一个或多个后期层,并且所述数据处理模型的所述一个或多个不安全部分包括神经网络的一个或多个早期层。

15.一种存储程序指令的非暂时性计算机可读存储介质,当由一个或多个计算设备针对提供商网络的部署服务执行时,使得所述一个或多个计算设备实施:

在所述部署服务处获取指示远程网络拓扑的拓扑数据,所述远程网络包括连接到所述远程网络的至少一个集线器设备和连接到所述远程网络的一个或多个边缘设备;

至少基于所述拓扑数据生成数据处理模型,其中所述数据处理模型包括:

安全部分,其将在所述至少一个集线器设备上实施;以及

一个或多个不安全部分,其将在所述相应的边缘设备的一个或多个上实施;

加密所述数据处理模型的至少所述安全部分;以及

将所述数据处理模型的所述加密安全部分和所述数据处理模型的所述一个或多个不安全部分从所述提供商网络传输到所述远程网络的所述至少一个集线器设备。

16.根据条款15所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备进一步实施:

从所述远程网络的所述至少一个集线器设备接收所述拓扑数据。

17.根据条款16所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备进一步实施:

从所述远程网络的所述至少一个集线器设备接收安全数据;以及

基于所述安全数据认证所述至少一个集线器设备。

18.根据条款15所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备进一步实施:

在将所述数据处理模型的所述一个或多个不安全部分传输到所述远程网络的所述至少一个集线器设备之前,加密所述数据处理模型的所述一个或多个不安全部分。

19.根据条款18所述的非暂时性计算机可读存储介质,其中所述程序指令使得所述一个或多个计算设备进一步实施:

将元数据从所述提供商网络传输到所述远程网络的所述至少一个集线器设备,其中所述元数据标识以下一个或多个:

将在所述至少一个集线器设备上实施的所述数据处理模型的所述安全部分,或

将在所述一个或多个相应的边缘设备上实施的所述数据处理模型的所述一个或多个不安全部分。

20.根据条款15所述的非暂时性计算机可读存储介质,其中所述数据处理模型是神经网络,并且其中将在所述至少一个集线器设备上实施的所述安全部分包括所述神经网络的一个或多个后期层,并且将在所述相应的边缘设备中的一个或多个上实施的所述一个或多个不安全部分包括神经网络的一个或多个早期层。

本公开的实施例还可根据以下条款进行描述:

1.一种系统,包括:

多个边缘设备,其连接到收集相应数据的网络,其中所述边缘设备中的一个或多个包括处理功能,所述处理功能被配置为:

对所述数据执行一个或多个操作;

基于所述一个或多个操作生成处理后数据;以及

将所述处理后数据传输到连接到所述网络的至少一个集线器设备;以及

所述至少一个集线器设备,其包括:

一个或多个处理器;以及

一个或多个存储器,其中所述一个或多个存储器上存储有指令,当所述指令由所述一个或多个处理器执行时,使得所述一个或多个处理器实施:

数据处理模型,其中所述数据处理模型被配置为对从所述边缘设备中的一个或多个处接收的处理后数据执行一个或多个操作;以及

功能适配管理器,其中所述功能适配管理器被配置为:

接收指示所述网络的拓扑或性能的一个或多个变化的拓扑数据;

确定对相应的所述边缘设备中的一个或多个的处理功能的一个或多个修改,其中所述修改基于所述接收到的拓扑数据;以及

将所述一个或多个修改部署到所述相应的一个或多个边缘设备,其中所述一个或多个修改用于更新所述相应的一个或多个边缘设备处的一个或多个相应的处理功能。

2.根据条款1所述的系统,其中,所述功能适配管理器被配置为:

将所述拓扑数据传输到远程提供商网络;以及

从所述远程提供商网络接收对处理功能的所述一个或多个修改,其中所述一个或多个修改基于所述拓扑数据。

3.根据条款1所述的系统,其中,所述功能适配管理器被配置为:

分析所述拓扑数据;以及

基于所述拓扑数据的所述分析生成对处理功能的所述一个或多个修改。

4.根据条款1所述的系统,其中为了更新所述一个或多个相应的处理功能,所述一个或多个修改被配置为:

更新所述一个或多个相应的处理功能的一部分,或

用新的相应的处理功能替换所述一个或多个相应的处理功能。

5.根据条款1所述的系统,其中对处理功能的所述修改被配置为:

减少由所述相应的边缘设备消耗的功率量。

6.根据条款1所述的系统,其中对处理功能的所述修改被配置为:

减少由相应的边缘设备传输的数据量。

7.一种系统,包括:

一个或多个处理器;以及

一个或多个存储器,其中所述一个或多个存储器上存储有指令,当所述指令由所述一个或多个处理器执行时,使得所述一个或多个处理器实施提供商网络的功能适配服务,其中所述功能适配服务被配置为:

从远程网络接收指示所述远程网络的拓扑或性能的一个或多个变化的拓扑数据;

分析所述拓扑数据;

基于对所述拓扑数据的所述分析生成对处理功能的一个或多个修改,其中所述一个或多个修改被配置为在连接到所述远程网络的相应的一个或多个边缘设备处更新一个或多个相应的处理功能;以及

将所述一个或多个修改传输到所述远程网络。

8.根据条款7所述的系统,其中,所述功能适配服务被配置为将对处理功能的所述一个或多个修改传输到所述远程网络的所述一个或多个边缘设备。

9.根据条款7所述的系统,其中,所述功能适配服务被配置为将对处理功能的所述一个或多个修改传输到连接到所述远程网络的至少一个集线器设备。

10.根据条款7所述的系统,其中对处理功能的所述一个或多个修改被配置为增加与所述相应的处理功能中的至少一个相关联的冗余级别。

11.根据条款7所述的系统,其中对处理功能的所述一个或多个修改被配置为减少由所述远程网络的所述相应的边缘设备传输的数据量。

12.根据条款7所述的系统,其中,所述功能适配服务被配置为:

基于对所述拓扑数据的所述分析,生成对数据处理模型的一个或多个修改,其中所述一个或多个修改被配置为在处理来自所述一个或多个边缘设备的数据的连接到所述远程网络的至少一个集线器设备处更新所述数据处理模型;以及

将对所述数据处理模型的所述一个或多个修改传输到所述至少一个集线器设备。

13.根据条款7所述的系统,其中,所述一个或多个修改被配置为在所述相应的一个或多个边缘设备处替换所述一个或多个相应的处理功能。

14.一种方法,包括:

通过连接到网络的至少一个集线器设备的数据处理模型,对从连接到所述网络的一个或多个边缘设备接收的处理后数据执行一个或多个操作;

由所述至少一个集线器设备接收拓扑数据,所述拓扑数据指示所述网络的拓扑或性能的一个或多个变化;

由所述至少一个集线器设备确定对相应的所述边缘设备中的一个或多个的处理功能的一个或多个修改,其中所述一个或多个修改基于所述接收到的拓扑数据,并且其中所述一个或多个修改被配置为在相应所述边缘设备中的一个或多个处执行一个或多个相应的处理功能的更新;以及

将所述一个或多个修改部署到所述相应的一个或多个边缘设备。

15.根据条款14所述的方法,进一步包括:

将所述拓扑数据传输到远程提供商网络;以及

从所述远程提供商网络接收对处理功能的所述一个或多个修改。

16.根据条款15所述的方法,进一步包括:

由所述至少一个集线器设备分析所述拓扑数据的至少一部分;以及

由所述至少一个集线器设备至少基于所述拓扑数据的所述分析更新对处理功能的所述一个或多个修改。

17.根据条款14所述的方法,进一步包括:

由所述至少一个集线器设备分析所述拓扑数据;以及

基于所述拓扑数据的所述分析生成对处理功能的所述一个或多个修改。

18.根据条款14所述的方法,进一步包括:

由所述至少一个集线器设备分析所述拓扑数据;

基于所述拓扑数据的所述分析,生成对所述至少一个集线器设备的所述数据处理模型的一个或多个修改;以及

使用对所述数据处理模型的所述一个或多个修改来更新所述数据处理模型。

19.根据条款14所述的方法,进一步包括,其中所述一个或多个修改被配置为减少由所述相应的边缘设备消耗的功率量或者减少由所述相应的边缘设备传输的数据量。

20.根据条款14所述的方法,进一步包括,在更新所述一个或多个相应的处理功能之后:

由所述至少一个集线器设备接收指示所述网络的性能的一个或多个附加变化的附加拓扑数据;

由所述至少一个集线器设备确定对所述相应的边缘设备中的一个或多个的处理功能的一个或多个附加修改,其中所述一个或多个附加修改基于所述附加拓扑数据;以及

将所述一个或多个附加修改部署到所述一个或多个相应的边缘设备。

如图中所示和本文描述的各种方法表示方法的说明性实施例。这些方法可手动、以软件、以硬件或以其组合来实施。任何方法的顺序都可改变,并且可添加、重新排序、组合、省略、修改各种元素等。例如,在一个实施例中,这些方法可由计算机系统实施,该计算机系统包括执行存储在耦合到处理器的计算机可读存储介质上的程序指令的处理器。程序指令可被配置为实施本文描述的功能(例如,数据传输工具、各种服务、数据库、设备和/或其它通信设备等的功能)。

对于受益于本公开的本领域技术人员来说显而易见的是,可进行各种修改和变化。其旨在包含所有这些修改和变化,因此,以上描述被认为是说明性的,而不是限制性的。

各种实施例可进一步包括在计算机可访问介质上接收、发送或存储根据前述描述实施的指令和/或数据。一般来说,计算机可访问介质可以包括存储介质或存储器介质,例如磁或光介质如盘或dvd/cd-rom,易失性或非易失性介质如ram(例如,sdram、ddr、rdram、sram等)、只读存储器(rom)等,以及传输介质或信号如经由通信介质(如网络和/或无线链路)传送的电、电磁或数字信号。

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