用于物联网的资源编排代理的制作方法

文档序号:16811056发布日期:2019-02-10 13:39阅读:242来源:国知局
用于物联网的资源编排代理的制作方法

本公开一般涉及计算机系统领域,并且更具体地涉及用于物联网的资源编排代理。



背景技术:

因特网已允许不同的计算机网络在全世界范围内互连。虽然之前因特网连通性限于常规的通用计算系统,但是正在对数量和类型不断增加的产品进行重新设计以适应在计算机网络(包括因特网)上与其他设备的连通性。例如,智能电话、平板计算机、可穿戴设备以及其他移动计算设备已变得十分流行,甚至取代了较大、较传统的通用计算设备,诸如近年来的传统台式计算机。传统上在通用计算机上执行的任务越来越多地使用具有较小形状因子以及更多约束特征集和操作系统的移动计算设备来执行。此外,传统的器具和设备正变得“更智能”,如它们无处不在并且装备有连接到因特网或消费来自因特网的内容的功能。例如,设备(诸如,电视、游戏系统、家用器具、恒温器、汽车、手表)已配备有网络适配器以允许该设备直接地或通过与连接至网络的另一计算机的连接来与因特网(或另一设备)连接。另外,互连设备的这种不断增加的范围也促进了计算机控制的传感器的增多,这些计算机控制的传感器同样地被互连并收集新的和大的数据集。相信越来越大量的设备(或“事物”)的互连预示了高级自动化和互连性(其有时被称为物联网(iot))的新纪元。

附图说明

图1例示出通信系统的示例实施例。

图2例示出认知边缘设备的简化框图。

图3例示出认知边缘设备的示例实施例。

图4例示出用于认知边缘处理的示例实施例的流程图。

图5例示出集中式资源编排代理的示例实施例。

图6例示出分布式资源编排代理的示例实施例。

图7例示出联合资源编排代理的示例实施例。

图8例示出用于资源编排代理的示例实施例的流程图。

图9例示出处理器的示例实施例的框图。

图10例示出计算系统的示例实施例的框图。

示例实施例的详细描述

图1例示出通信系统100的示例实施例。通信系统100包括边缘设备120、网络140、以及云服务180。边缘设备120包括部署于通信系统100的“边缘”处的各种设备,包括传感器和/或致动器设备105、终端用户设备130(例如,移动设备、膝上型计算机)、资源代理器(broker)160、以及网关170。边缘设备120可通过后传(back-haul)网络(诸如,广域网(wan)140a)来与其他远程网络和/或服务(例如,云服务180)通信以连接至因特网。

边缘设备120的传感器/致动器设备105可包括可在机器-机器(m2m)或物联网(iot)通信系统100内使用和利用的一种或多种类型的传感器(例如,110)和/或致动器(例如,115),以及其他资源(诸如,处理器、存储、功率、和/或通信功能)。例如,传感器/致动器设备105可包括计算机处理器和/或通信接口,用于根据需要(例如,如果这些设备不在网关170的邻近处)允许与其他边缘设备120(例如,终端用户设备130、代理器160、和/或网关170)或网络服务(例如,云服务180、iot管理服务190)的互操作。

每个设备105的传感器110可包括内部传感器和/或外部传感器。内部传感器110(也被称为“软”传感器)可被配置成感测或监视与设备105自身的内部操作环境(诸如,处理器使用、设备工作负载、存储器容量、电池容量、网络使用、内部温度(例如,处理器的发热)、软件安全警报、软件错误和异常、以及其他属性和事件)有关的上下文信息。外部传感器110(也被称为硬件或物理传感器)可被配置成检测、测量和生成描述设备105驻留的外部操作环境的特性和上下文信息的传感器数据。例如,给定传感器110可被配置成检测设备105的上下文信息,诸如移动、重量、物理接触、温度、风、噪声、光、计算机通信、无线信号、位置、湿度、辐射的存在、液体或特定化合物,以及若干其他示例。实际上,如本文所述的设备传感器110构想了各种传感器的潜在无限范围,每个传感器被设计成检测并生成用于新的和未知的操作环境特性的对应传感器数据。

每个设备105的致动器115是被配置成执行影响设备环境的特定动作的组件。例如,设备(例如,105b、d)可包括接受输入并执行相应动作来作为响应的致动器115。致动器可包括用于激活附加功能的控制器,诸如用于选择性地切换报警器、相机(或其他传感器)、供热-通风-空气调节(hvac)器具、家用器具、车载设备、和/或发光体的功率或操作的致动器,以及其他示例。

如上所述,设备105的传感器110和致动器115可被合并入物联网(iot)和/或机器-机器(m2m)系统。iot或m2m系统(两者在本文中可互换地使用)可指由协同操作以递送一个或多个结果、服务或可递送事物的多个不同设备组成的新的或改进的自组织(ad-hoc)系统和网络。随着越来越多的产品和装备演变成变得“智能”,此类自组织系统正在兴起,这意味着这些自组织系统由计算处理器控制和/或监视,并且配备有用于通过计算机实现机制来与其他计算设备(以及具有网络通信能力的产品)通信的设施。例如,iot系统可包括从集成在“物体”中或附连至“物体”的传感器和通信模块建立的网络,该“物体”诸如装备、玩具、工具、车辆、甚至活物(例如,植物、动物、人)。传感器和/或致动器设备105可以是从头开发出iot能力的“绿场”(“greenfield”)设备、或通过将iot能力集成到最初并没有开发出iot能力的现有传统设备中而创建的“棕场”(“brownfield”)设备。在一些实例中,iot系统可有组织地或意外地发展,其中传感器集合监视其操作环境的各种上下文属性,然后该传感器集合与数据分析系统和/或控制一个或多个其他智能设备的系统互连,以实现各种新颖用例和应用。此外,可从最初彼此没有关系或通信的设备形成iot系统,其中该系统自发地或者在运行中被自动配置(例如,根据限定或控制交互的iot应用)。此外,iot系统常常可由所连接设备(例如,边缘设备120)的复杂和多样的集合(诸如,由各种实体组供能或控制以及采用各种硬件、操作系统、软件应用、和技术的设备)组成。

当建立或定义iot系统时,促进此类多样系统的成功的互操作性以及其他示例考虑是重要的问题。可开发软件应用来对iot设备集合可如何交互以达到特定目标或服务进行管理。在一些情形中,iot设备可能最初没有被建成为或最初不旨在参与到此类服务中或者与一个或多个其他类型的iot设备进行协作。实际上,物联网的承诺的一部分是,随着此类设备变得更加普遍并且新的“智能”设备或“连接”设备出现,许多领域中的革新者将创造涉及多种多样的iot设备组的新的应用。

如图1的示例所示,iot系统100可包括各种iot边缘设备120,包括传感器/致动器设备105、终端用户设备130、资源代理器160、和/或网关170,以及其他示例。例如,iot设备120可包括此类示例,诸如:移动个人计算设备(例如,130a)(诸如,智能电话或平板设备)、可穿戴计算设备(例如,智能手表、智能服装、智能眼镜、智能头盔、耳机等等)、较小的常规计算机增强产品(诸如,房屋、建筑物和车辆自动化设备(例如,智能供热-通风-空气调节(hvac)控制器以及传感器、光检测和控制、以及能源管理工具))、智能器具(例如,智能电视、智能冰箱等)、以及其他示例。某些设备可被有目的地构建成主机传感器和/或致动器资源(即,“绿场”设备)(诸如,包括与天气监视(例如,温度传感器、风传感器、湿度传感器等)相关的多个传感器的天气传感器设备、交通传感器和控制器、以及许多的其他示例)。某些设备可被静态定位(诸如:安装在建筑物内的设备;安装在灯柱、标志、水塔上的设备;固定于地面上(例如,室内或室外)的设备;或者其他固定的或静态的结构)。其他设备可以是可移动的(诸如:预设在车辆的内部或外部的传感器;封装内的传感器(例如,用于跟踪货物);由活动的人类用户或动物穿戴的可穿戴设备;和/或空中的、基于地面的、或水下的无人机;以及其他示例)。实际上,可期望某些传感器在环境内移动,并且应用可围绕涉及移动设备、移动用户和/或改变环境的用例来构建。

继续图1的示例,可提供iot管理平台190以允许开发者和终端用户建立和配置iot应用和系统。iot应用可以提供软件支持以针对特定目的或用例组织和管理iot设备集合的操作。在一些情形中,iot应用可被具体化为用户计算设备(例如,膝上型计算机130b)的操作系统上的应用;用于在智能电话、平板、智能手表、或其他移动设备(例如,130a)上执行的移动应用;和/或另一边缘设备(例如,网关170)上的iot应用。在一些情形中,iot管理系统190可在具有适当(诸)iot应用的iot系统中预设一个或多个部署的设备。

在一些情形中,iot应用可利用专用或通用管理实用程序或管理工具190,该专用或通用管理实用程序或管理工具190允许用户配置设置和政策来对设备集合(例如,iot边缘设备120)在部署于iot系统中时如何操作进行管理。iot管理实用程序190还可被用于选择哪个iot设备将与特定iot应用一起使用。在其他情形中,可提供专用iot管理应用,该专用iot管理应用可管理潜在的多个不同的iot应用或系统。iot管理实用程序190或系统可被主存在单个系统(诸如,单个服务器系统(例如,180)或单个设备(例如,105、130、160、170))上,或者替代地,iot管理系统可跨边缘处的多个主存设备(例如,180、105、130、160、170)而分布。

在一些情形中,iot系统可(通过对应的iot管理系统或应用,或者通过参与的iot设备中的一个或多个iot设备)与主存在基于云的系统和其他远程系统中的远程服务(诸如,数据存储、信息服务(例如,媒体服务、天气服务)、地理位置服务、和计算服务(例如,数据分析、搜索、诊断等))接口。例如,iot系统可通过一个或多个网络140连接至远程服务。在一些情形中,可将远程服务自身认为是iot应用和系统的资产。由远程主存的服务接收的数据可由管理iot应用和/或部件iot设备中的一个或多个设备消耗以导致一个或多个结果或动作被执行等等。

一个或多个网络140可促进iot设备120与其他远程网络或服务(诸如,云服务180和/或iot管理服务190)之间的通信以实现或管理iot应用和设备。此类网络可包括有线的和/或无线的本地网络、公共网络、广域网、宽带蜂窝网络、因特网等。在一些实现中,可利用一个或多个网关设备170来促进与给定iot系统100内的iot设备120(例如,传感器/致动器设备105和终端用户设备130)的通信或者iot设备120之间的通信。例如,可利用网关170来扩展iot系统的地理范围,以提供与拥有有限或专用通信能力的iot设备(例如,传感器/致动器105)通信的机制,或者形成iot系统部署内的设备的子组。例如,在一些情形中,网关170可通过使用其原生通信能力将前传(front-haul)提供给构建有短距通信能力的iot设备(例如,蓝牙、zigbee设备)并且通过wi-fi、以太网、蜂窝和/或任何其他有线或无线通信介质将后传提供给云来扩展那些iot设备的范围。

随着iot设备和系统的发展,存在越来越大量的市场中可获得的智能设备和连接设备(诸如,能够用于家庭自动化、工厂自动化、智能农业以及其他iot应用和系统中的设备)。例如,在家庭自动化系统中,家庭的自动化典型地随着添加更多的iot设备以用于感测和控制家庭的附加方面而增加。然而,由于设备的数量和种类增加,因此对“事物”(或iot系统中包含的设备)的管理变得极其复杂和具有挑战性。

此外,iot系统正产生空前大量且各种各样的数据。现有iot边缘设备典型地将此数据卸载至云以供处理和/或存储。然而,现有的基于云的服务不适配于iot数据的快速增长的量、种类和增长的速度。基于云的服务在某些情况下可能不是理想的,例如,当处理时间敏感数据或高度机密的数据时,或者当面对网络带宽约束时,等等。例如,当时间敏感数据最终到达云以供分析时,对此数据动作的机会可能早已过去。

在一些实施例中,“边缘”处理可被用于弥补基于云的处理的不足(例如,当基于云的处理低效、无效和/或不安全时)、更好地处理iot数据的增长量、种类和速度、以及保存网络和因特网资源。边缘处理是在网络边缘处(在网络边缘附近,数据被生成)处理某些iot数据而不是简单地将大量数据汇集至云以供处理和存储的办法。在一些情形中,靠近iot数据的源而不是在云中处理iot数据可改进性能并避免系统故障或灾难。边缘处理也可保存网络带宽,当面对带宽约束和/或受限的网络连通性时这是特别有益的。然而,某些数据仍旧可被发送至云以供历史分析和长期存储。边缘处理可被称为“雾”,因为它们用于将“云”扩展至网络的边缘,由此在网络边缘上形成“雾”。雾可视为大规模互连的网络,其中大量iot设备120例如通过无线电链路彼此通信。在一些实施例中,这可以使用由开放连通性基金会tm(ocf)于2015年12月23日发布的开放互连联盟(oic)标准规范1.0来进行。该标准允许设备发现彼此并建立通信以用于互连。另一可用于智能家庭和类似部署中的协议是thread——用于物联网(iot)“智能”家庭自动化设备的联网协议,其已由名称为“threadgroup(线程组)”的组织联盟开发。也可使用其他互连协议,包括例如,最优链路状态路由(olsr)协议、或至移动自组织联网的更好方式(b.a.t.m.a.n)等等。

在一些实施例中,边缘设备120可被实现为具有认知边缘处理能力以促进智能网络管理决策。认知边缘设备120可基于来自传感器110、其他边缘设备120(例如,终端用户设备130、代理器160、网关170)、云服务180、和/或其他网络资源的信息来检测和利用关于其操作环境的上下文信息。边缘设备120的此上下文信息可被用于各种用途,包括认知边缘处理和服务递送、资源编排、和/或智能网络配置。认知边缘设备120可利用上下文信息,例如来决定应该在哪里(例如,云或边缘)处理和/或存储数据,以及由哪些网络实体(例如,网关170、终端用户设备130、云190)来处理和存储数据。这些认知决策可基于例如与需要处理的数据有关的上下文信息(例如,数据的类型、量、和/或年龄)、期望响应时间、网络资源可用性和带宽约束、满足服务递送需求(例如,来自服务级协议(sla)或其他服务递送规范)的能力、边缘设备120(例如,网关170、终端用户设备130)的可用性和健康、云服务190的可用性和健康、边缘设备120的物理位置、以及其他示例。认知边缘设备120可包括利用认知和/或上下文知晓处理能力(例如,基于本地或边缘的数据聚合、处理和存储能力)增强的任何类型的边缘设备、组件、和/或节点,包括网关170、代理器160(或其他编排节点)、终端用户计算设备130、传感器/致动器设备105、本地服务器、边缘服务器、以及边缘(或雾)iot应用,以及其他示例。在一些实施例中,可从作为单个设备来有效操作的多个互连边缘设备120形成认知边缘设备120。例如,如果边缘设备120的上下文信息指示其资源不足,则边缘设备可与一个或多个附加边缘设备互连,使得边缘设备120随后包括当多个互连的边缘设备。

在一些实施例中,认知和/或上下文知晓边缘处理能力还可被资源编排代理器160利用。例如,资源代理器160可为由代理器160管理的边缘设备120提供资源编排和工作负载分布服务。资源代理器160可使用来自认知边缘设备120的上下文信息来作出使性能最大化并保证服务递送的智能工作负载分布决策。资源代理器160可被实现为独立边缘设备、现有边缘设备中的功能、和/或跨多个边缘设备和/或网络组件分布的功能。在一些实施例中,资源代理器160自身可以是认知边缘设备120。

在一些实施例中,还可利用认知和/或上下文知晓边缘处理能力来提供智能iot配置和部署,包括例如自主网关170配置。在一些实施例中,可通过促进自主网络配置和管理的认知上下文知晓边缘设备120来显著地改进iot系统的部署、配置和管理,这显著地减少了复杂和演进的iot系统中所需的人类干预和劳动。例如,iot管理和应用可采用一范例,其中系统可利用与认知iot设备120的操作环境有关的上下文信息来自主地配置和部署(和重新部署)iot系统,并且以最少的人为干预来智能地管理iot系统,而不是被编程和/或配置成在静态环境和/或用例中与特定的iot设备120和/或云服务180一起操作。例如,上下文知晓的网关170可基于其用例以及关于其操作环境的上下文信息来自主地配置它们自己,从而随着它们的操作环境和/或用例改变而自主地更新此配置。

在一些实施例中,iot管理系统190可被用于促进iot设备和应用(诸如,iot网关170)的自主配置和/或部署。例如,iot管理系统190可利用资产抽象化来简化iot设备配置和部署过程。例如,用户可简单地选择iot设备120的用例、类别或分类,并且在逻辑上组装选择设备类别集合,以建立和/或部署iot系统或应用的至少一部分(例如,在不必提供关于配置、设备标识、数据转移等的细节的情况下)。实际上,在一些情形中,可基于来自iot设备120(诸如,上下文知晓的iot网关170)的上下文信息来自动地确定特定iot设备或应用的用例。

除促进自主和高效的iot网络管理之外,上下文知晓的iot设备120还可改进iot系统的弹性,iot系统常常被预期为提供高水平的可靠性和弹性。实际上,在一些实现中,此类特性可能是至关重要的,其中iot系统的增加的故障甚至会导致昂贵的损害或者甚至生命的潜在损失。在iot系统中提供这种可靠性和弹性可能具有挑战性,特别是在给定iot系统的动态和演进性质、iot系统中设备的数量和多样性、以及iot设备的移动性和不断变化的环境的情况下。特别是在大型iot系统(具有数打或数百个以上的设备)中,管理每个设备的健康和可靠性对于人类管理者而言可能过于复杂。单个设备的持续故障可能导致整个系统的故障。管理大量潜在的故障点可能令人生畏。实际上,给定潜在的各种设备(和设备制造商),可以预期某些设备具有比其他设备更高的固有弹性和可靠性的水平。此外,由于许多设备可由电池提供功率,因此各种功率源的可信度也可以是个体设备和集体iot系统如何执行的因素。

在一个实现中,提供了用于弹性物联网(iot)系统的可缩放系统管理框架,其促进iot设备120(例如,网关170)动态适应系统中的改变(例如,电池电平改变、微处理器空闲时间、网络拓扑、设备工作负载改变等)并以分布式和成本高效的方式这样做的能力。此外,系统管理框架可通过实现系统的自动化自我修复和自我优化来提高系统级和设备级两者的系统弹性。例如,可通过连续收集个体组件设备的操作状态并使其在适当时重新启动或复位来实现自我修复。这种自我修复动作可在设备级进行。自我修复可涉及在设备上执行任务和进程以使设备返回其健康的操作状态。此外,给定在后台收集操作状态,框架可利用机器学习技术来从数据导出含义并学习系统内的模式。可基于此学习开发模型,其可用来规定用于单独地重新启动或重新配置组件的动作,或者整体地重新部署系统的全部或部分。重新配置可指对iot系统内的给定设备上运行的应用/服务进行操作改变。重新部署可指将应用/服务从设备移动至其他邻近但兼容的设备(例如,用其他兼容设备替换iot系统中的设备等),或者替代地到移动至新操作环境的设备。

iot系统的可靠性可指系统在面对内在影响因素时递送期望结果或成果的可靠性。系统弹性可指系统维持可接受服务水平而不管运行时挑战(诸如,硬件和软件故障、通信中断、安全威胁或其他外部问题)的能力。在某些情况下,弹性可构想系统维持降级但可接受的服务水平。

随着iot系统的规模和动态变得越来越难以管理,iot系统的弹性变得越来越重要,特别是在寻求大规模推出经济可行的iot解决方案的实现中。许多常规的iot解决方案已被证明易受现实世界条件的影响。例如,某些当前iot技术在动态和具有挑战性的操作环境中的静态性质和不可靠操作使得某些iot部署成本过高(从而在某种程度上阻碍了在某些情况下采用类似系统的未来尝试)。

在一些实施例中,可以过利用遥测来远程监控每个设备的物理上下文和条件(例如,来自设备的传感器和致动器的资源利用、环境传感器观察和仪器)来实现改进的管理框架,以确保维持设备的适当工作环境。在某些实例中,此类监视可进行可能的自我修复和自我优化。此外,通过资源抽象化,可在应用和系统中无差别地处理特定用例、类别或分类内的设备。因此,在此类实现中,iot设备和应用可在其被写入和存储时自动配置、部署和重新部署,以仅指定资源需求(通过对应的用例或分类学),而无需每个部署的设备的特定身份信息。此外,用于增强系统中的弹性和可靠性的机器学习任务可以是分布式的,使得部署的设备使用设备本地的数据来处理任务的至少一部分。这可利用改进的管理框架来促进系统的扩展。

如上所述并且贯穿以下附图进一步解释,认知和/或上下文知晓设备120可在iot系统中提供许多益处,包括改进的性能和服务递送、智能资源编排、和/或智能网络配置。

一般来说,示例iot系统100中的系统、服务器、客户端、计算设备、网络元件、主机、终端用户设备130、传感器/致动器设备105和/或任何其他iot边缘设备120或网络服务(例如,云服务180、iot管理服务190)可包括可操作用于接收、传送、处理、存储或管理与iot系统100相关联的数据和信息的电子计算设备。如在本文中所使用的,术语“计算机”、“处理器”、“处理器设备”或“处理设备”旨在涵盖任何合适的处理设备。例如,被示出为iot系统100内的单个设备的元件可以用多个计算设备和处理器来实现,诸如具有多个服务器计算机的服务器池。而且,计算设备中的任一、全部或一些可适合于执行任何操作系统(包括linux、unix、微软视窗、苹果macos、苹果ios、谷歌安卓、windows服务器等)以及适合于虚拟化特定操作系统(包括定制的和专用的操作系统)的执行的虚拟机。

系统(诸如,本文所示和所例示的那些系统)可包括以硬件和/或软件实现的机器逻辑、和/或在计算机可读介质中具体化的机器逻辑,以实现贯穿本公开描述的解决方案。

尽管图1被描述为包含或关联于多个元件,但并非图1的通信系统100内示出的所有元件可被用于本公开的每一替换实现中。此外,结合图1示例所述元件中的一个或多个元件可以位于通信系统100外部,而在其他实施例中,特定元件可包括其他所述元件的一个或多个元件内或者作为该一个或多个元件的一部分、以及例示实现方式中未描述的其他元件。而且,图1所示的特定元件可以与其他组件组合,以及用于除了这里所述的那些目的以外替代的或附加的目的。

图2例示出认知边缘设备220的简化框图200。在一些实施例中,认知边缘设备220可与图1的认知边缘设备120类似。

现有(非认知)边缘设备具有有限的利用,诸如简单的数据聚合任务和静态操作方法。例如,现有的iot网关解决方案主要用于聚合来自iot传感器和设备的数据,而没有对此数据进行任何认知处理或分析。这些现有的iot网关遵循缺乏平台、网络和数据知晓的静态操作方法。iot系统正在推动对无线边缘网络基础结构的需求,以处理更靠近其源的大数据、实现并保证实时操作(例如,对于时间敏感数据)、并避免可能由将大量数据汇集(funneling)到云而产生的接入网络瓶颈。例如,在iot边缘设备(例如,iot网关)上需要认知特征以在iot系统中的边缘设备之间实施用于数据存储、处理和传输、工作负载分布以及自主网络配置的管理策略。贯穿本公开描述的解决方案使iot网关和其他边缘设备(诸如,认知边缘设备220)的认知特征(例如,平台知晓、网络知晓和数据知晓)能够允许关于数据存储、处理和传输、工作负载分布、以及网络配置的上下文知晓决策。

在所例示的实施例中,认知边缘设备220包括操作系统230、传感器210、认知模块221、以及接口240a-e。认知边缘设备220可以是利用认知和/或上下文知晓处理能力(例如,基于本地或边缘的数据聚合、处理和存储能力)增强的任何类型的边缘设备(即,部署在网络的“边缘”)、组件、和/或节点,包括网关、代理器(或其他编排节点)、终端用户计算设备(例如,移动设备、膝上型计算机)、传感器/致动器设备、本地服务器、边缘服务器、以及边缘(或雾)iot应用,以及其他示例。在一些实施例中,认知边缘设备220可被实现为物理设备或在物理设备上运行的虚拟机。认知边缘设备220的认知特征例如可以是在物理设备(例如,网关或其他边缘设备)、微控制器单元(mcu)、具有运行网关的虚拟机的路由器、物理设备(例如,网关或路由器)中的现场可编程门阵列(fpga)等中实现的功能集。

认知边缘设备220可适合于执行任何操作系统230(包括linux、unix、微软视窗、苹果macos、苹果ios、谷歌安卓、windows服务器等)以及适合于虚拟化特定操作系统(包括定制的和专用的操作系统)的执行的虚拟机。

认知边缘设备220可被实现为具有认知边缘处理能力以促进智能网络管理决策。例如,认知边缘设备220可基于来自传感器210、来自其他边缘设备220(例如,终端用户设备、代理器、网关)、来自云服务、和/或来自其他网络资源的信息来检测和利用关于其操作环境的上下文信息。可为各种目的来利用此上下文信息,包括认知边缘处理和服务递送、资源编排、和/或智能网络配置。认知边缘设备220可利用上下文信息,例如来决定应该在哪里(例如,云或边缘)处理和/或存储数据,以及由哪些网络实体(例如,网关、终端用户设备、云)来处理和存储数据。这些认知决策可基于例如关于需要处理的数据的上下文信息(例如,数据的类型、量、和/或年龄)、期望响应时间、网络资源可用性和带宽约束、满足服务递送需求(例如,来自服务级协议(sla)或其他服务递送规范)的能力、其他边缘设备(例如,网关、终端用户设备)的可用性和健康、云服务的可用性和健康、边缘设备的物理位置、以及其他示例。

认知边缘设备220可利用来自其自己的传感器和/或来自其他iot设备的传感器的上下文信息。在一些实施例中,传感器可以是内部传感器或外部传感器。内部传感器例如可感测或监视与设备自身的内部操作环境(诸如,处理器使用、设备工作负载、存储器容量、电池容量、网络使用、内部温度(例如,处理器的发热)、软件安全警报、以及软件错误和异常,以及其他属性和事件)有关的上下文信息。外部传感器例如可检测、测量和生成描述设备驻留的外部操作环境的特性和上下文信息的传感器数据。例如,外部传感器可被配置成检测设备的上下文信息,诸如移动、重量、物理接触、温度、风、噪声、光、计算机通信、无线信号、位置、湿度、辐射的存在、液体或特定化合物,以及若干其他示例。实际上,如本文所述的设备传感器构想了各种传感器的潜在无限范围,每个传感器被设计成检测并生成用于新的和未知的操作环境特性的对应传感器数据。来自传感器的上下文信息可由认知边缘设备220利用以促进智能网络管理决策,如贯穿本公开所描述的。例如,认知网关设备可利用关于需要处理的数据(例如,数据的类型、量和/或年龄)、网络连通性(例如,wi-fi、蜂窝)、网络带宽、处理和存储器可用性、电池寿命、物理位置之类的上下文信息来确定是否自己处理数据、将数据发送到其他边缘设备以供处理、和/或将数据发送到云以供处理。

认知边缘设备220可被用于弥补基于云的处理的不足(例如,当基于云的处理低效、无效和/或不安全时)、以及更好地处理iot数据的增长量、种类和速度。认知边缘设备220可在网络边缘处(在网络边缘附近,数据被生成)智能地处理某些iot数据而不是简单地将大量数据汇集至云以供处理和存储的办法。边缘处理可被称为“雾”,因为它们用于将“云”扩展至网络的边缘,由此在网络边缘上形成“雾”。在一些情形中,靠近iot数据的源而不是在云中处理iot数据可改进性能并避免系统故障或灾难。认知边缘处理也可保存网络带宽,当面对带宽约束和/或受限的网络连通性时这是特别有益的。另外,认知边缘处理允许最大程度地利用iot设备资源(例如,iot网关的通信、处理和存储资源)。

认知边缘设备220的认知处理能力提供平台知晓、网络知晓和数据知晓。例如,平台知晓可指设备对其自己的操作平台的知晓,包括资源能力和可用性(例如,处理、存储和通信能力,以及那些资源的当前利用)。例如,网络知晓可指设备对可用通信网络、带宽限制、网络连通性或可用性、流量模式、连通性范围等的知晓。例如,数据知晓可指设备关于需要处理的数据(诸如,数据的类型、量和/或年龄)、处理数据的时间敏感度、数据的存储策略(例如,长期或短期存储)等的知晓。

这些认知功能促进由认知边缘设备220进行的智能决策制定。例如,认知处理能力可促进关于来自传感器和iot设备的数据的数据处理、存储和传输、及工作负载分布、以及自主网络配置的智能决策制定。此外,改进的边缘分析可例如基于对网络描述、数据描述以及iot网关和其他边缘设备的资源/能力的描述的学习或了解来提供对数据的最佳处理的洞察。认知处理能力还可以扩展网关和其他边缘设备上的大数据的概念,以考虑关于网络描述、数据描述和/或边缘设备及其相邻边缘设备的资源/能力的描述的元数据。认知处理能力还可允许工作负载分布管理和资源编排针对来自传感器和其他iot设备的传入数据在认知边缘设备220之间智能地分布工作负载(例如,通过资源编排代理,诸如贯穿本公开结合其他附图描述的那些)。认知处理能力还可促进网关和其他边缘设备之间的自主网络设置。

现有的边缘设备和网关仅使用北向通信(即,简单上传)与云进行通信,而没有南向控制/致动或者数据与动作之间的可追溯性/互易性。这种静态处理和通信模型不适合iot系统的动态服务需求。然而,认知边缘节点220的认知处理能力可促进跟踪和跟踪能力,允许在服务递送链(上游和下游两者)内标识每个边缘设备220的位置以及其资源可用性/利用。这在某些情况下实现了认知边缘设备220之间的多跳服务递送和对等通信(即,不经过后传网络的设备之间的通信)。跟踪和跟踪能力可提供对递送特定服务(上游和下游)所涉及的网络资源的洞察,这可允许标识和隔离服务中断源以及允许使网络适于消除或最小化服务中断。例如,跟踪和跟踪功能可允许iot系统标识影响视频会议会话性能的瓶颈,并相应地调整网络以减轻中断(例如,通过利用服务递送链中较少拥塞的节点,或消除完全拥塞的起因)。跟踪和跟踪能力可改进遵守服务交付要求的能力(例如,来自服务水平协议(sla)或其他服务递送规范)。

在所例示的实施例中,认知边缘设备220的认知处理能力由认知模块221实现。在一些实施例中,认知模块221可被实现为认知边缘设备220中的软件模块。认知模块221包括智能决策制定(sdm)模块222、可管理性代理方223、上下文引擎224、以及上下文知晓模块225。

如贯穿本公开描述的,上下文知晓模块225是提供关于认知边缘设备220的操作环境的上下文信息的上下文传感器。可使用物理传感器210(例如,提供位置信息的gps芯片组、示出网络接口类型的网络接口卡、示出剩余电池寿命的电池、等等)或软传感器210(例如,数据分组中示出服务类型的元数据、示出可用带宽的带宽估计方法、等等)来提供上下文知晓模块225。

如贯穿本公开描述的,上下文引擎224从上下文知晓模块实时收集上下文信息、聚合上下文信息、并且基于上下文信息进行关于认知边缘设备220的操作环境的推断。

可管理性代理方223基于实时上下文信息以及任何服务递送需求(例如,来自服务水平协议(sla)或其他服务递送规范)来实施用于数据处理、分布和传输的策略。此模块还将边缘设备220的上下文信息实时地传达至近邻边缘设备或网关,并且从近邻边缘设备接收类似上下文信息。

如贯穿本公开描述的,智能决策制定(sdm)模块222实现智能网络管理和工作负载分布决策。例如,此模块可促进关于以下的决策:是本地地处理数据还是在另一边缘设备或网关中远程地处理数据、是本地地存储数据还是远程地存储数据(例如,基于数据的存储策略和/或设备的本地存储容量)、使用哪个网络接口来传输数据、等等

认知边缘设备220还包括多个接口240a-e。如贯穿本公开所描述的,出于管理和编排的目的,带外接口240e可被用于例如与其他网关或边缘设备的可靠通信(例如,共享关于资源能力和/或可用性的信息、交换控制信号等等)。带内接口240d可被用于例如iot网关与其他边缘设备之间的数据传输以用于工作负载分布。例如,在一些情况下,ib接口240d可利用短距通信协议,诸如wi-fi、蓝牙、zigbee等。网络接口240c可被用于例如向云的数据传输。在某些情况下,联网接口240c可利用长距通信,诸如以太网、蜂窝、wi-fi等。在一些实施例中,网络接口240c和带内接口240d可以是以双模式(例如,用于与近邻边缘设备和网关通信的短距通信以及用于与云通信的长距通信)操作的同一接口。iot设备接口240a可被用于例如与其他iot设备的通信,并且iotapi接口240b可被用作例如边缘设备或网关220与iot应用之间的接口。

图3例示出认知边缘设备230的示例实施例300。在一些实施例中,认知边缘设备320可与图2的认知边缘设备220类似。

在所例示的实施例中,认知边缘设备230的用户空间包括认知模块321和驱动器api352。认知边缘设备320的内核空间包括存储器驱动器350a-d,该存储器驱动器350a-d可与传感器310和/或认知边缘设备320的其他内部和/或外部组件(诸如,gps芯片组、电池、存储器模块和网络接口卡)接口。

对应于所示实施例中的“内核空间”的操作系统可利用驱动器api350a-d来提供关于认知边缘设备320的电池水平、位置、存储器状态和可用网络接口的信息。驱动器api352可用作内核空间中的相关联驱动器350的用户登陆接口。驱动器350可用作操作系统内核与每个驱动器的相关联硬件组件和/或传感器310(诸如,设备电池、gps芯片组、存储器模块和网络接口卡)之间的接口。

上下文引擎324在用户空间中并且它经由驱动器api352连续地提取上述上下文信息。上下文引擎包括用于处理电池上下文信息325a、位置上下文信息325b、存储器上下文信息325c和网络接口上下文信息325d的上下文模块325。上下文引擎324可使用如贯穿本公开所描述的上下文信息例如来执行智能网络管理决策,诸如关于数据存储、处理和传输以及工作负载分布等的决策。

可管理性代理方323在上下文引擎324的上方实现,并将所提供的上下文信息实时地用于:(i)与近邻网关或其他边缘设备共享上下文信息,以及(ii)通过调度器子模块326(或在一些实施例中,资源编排代理)设置用于工作负载分布的规则,无论是在同一边缘设备中本地地分布还是在云中的其他网关或边缘设备之中外部地分布。

如贯穿本公开所描述的,智能决策制定(sdm)模块322由可管理性代理方323触发,以设置关于数据的存储、处理和传输的策略(例如,将低吞吐量网络接口用于非实时数据、将硬件加速用于海量分析、将数据存储在在存储器中、固态驱动器中或云中)。

图4例示出用于认知边缘处理的示例实施例的流程图400。流程图400可例如由认知边缘设备实现,诸如贯穿本公开描述的那些认知边缘设备(例如,图1的120、图2的220和图3的320)。

流程图400可始于框402处,其中检测第一边缘设备的上下文信息。如贯穿本公开所描述的,第一边缘设备可以是例如认知边缘设备,诸如认知网关。另外,第一边缘设备可被配置成在通信网络的边缘处连接至通信网络。如贯穿本公开所描述的,上下文信息可基于来自一个或多个传感器的信息来标识第一边缘设备的操作环境。

流程图随后可进行至框404,其中第一边缘设备将其上下文信息传送至近邻边缘设备。近邻边缘设备还可以是认知边缘设备,例如诸如认知网关。

流程图随后可进行至框406,其中第一边缘设备从其近邻边缘设备接收上下文信息。来自近邻边缘设备的上下文信息可基于来自一个或多个传感器的信息来标识近邻边缘设备的操作环境。最后,流程图随后可进行至框408,其中第一边缘设备基于第一边缘设备和近邻边缘设备的上下文信息来执行网络管理功能。如贯穿本公开所描述的,网络管理功能可以是例如数据处理、存储和/或传输功能、资源编排和/或工作负载分布功能、和/或自主网络配置功能。

此时,流程图400可完成,但在特定实施例中,流程图可在框402处重新开始以继续检测更新的上下文信息并执行网络管理功能。

图5-7例示出不同代理配置中的资源编排代理器的示例实施例。

资源编排代理器可通过在由代理器管理的网关和其他边缘设备之间分布工作负载来为iot传感器/致动器设备提供资源编排和工作负载分布服务。例如,iot传感器/致动器设备可从一个或多个传感器生成iot数据,并且资源代理器可在由代理器管理的其他边缘设备(例如,边缘网关)之间分布针对所生成的iot数据的数据处理工作负载。在一些情况下,iot设备本身可以是由代理器管理的边缘设备,使得iot设备既提供用于由代理器进行工作负载分布的iot数据,又从代理器接收工作负载分布指派。在一些实施例中,代理器可与认知边缘设备一起使用,诸如贯穿本公开描述的那些认知边缘设备(例如,图1的认知边缘设备120、图2的220和图3的320)。例如,当与认知边缘设备(诸如,认知网关)一起使用时,资源代理器可使用来自认知边缘设备的上下文信息来作出使性能和服务递送最佳化的智能工作负载分布决策。在一些实施例中,资源代理器自身可以是认知边缘设备。

在一些实施例中,资源代理器可被实现为独立边缘设备、现有边缘设备中的功能、和/或跨多个边缘设备和/或网络组件分布的功能。例如,在一些实施例中,代理器可被实现为另一物理边缘设备中的软件组件(例如,嵌入在边缘设备“绿场”中或附接到边缘设备“棕场”的控制器)、实现为边缘设备的操作系统的部分(例如,服务绿场和棕场设备)、或者通过边缘设备上的虚拟机实现。例如,代理特征可以是在物理设备(例如,网关或其他边缘设备)、微控制器单元(mcu)、具有运行网关的虚拟机的路由器、物理设备(例如,网关或路由器)中的现场可编程门阵列(fpga)等中实现的功能集。

通常,“代理器”是仲裁器,该仲裁器除了简单地促进特定任务或过程之外,还涉及用于促进适当的最终结果和/或目标的任务或过程。因此,代理器被认为在整个过程中都在制定和交互。

可在iot系统中引入代理器,以自动化网络边缘的资源编排和动态工作负载分布的过程。代理器提供:(i)用于iot网关和其他边缘设备的分布式可管理性,这扩展了云资源以实现边缘或雾计算;(ii)针对来自传感器和iot设备的数据的iot网关与其他边缘设备之间的工作负载分布;以及(iii)对针对服务递送链中涉及的资源的所有服务水平规范的访问,由此改进遵守服务递送需求(例如,来自服务水平协议(sla)或其他服务递送规范)的能力。

在一些实施例中,iot边缘网络可驻留在接入网络之前(例如,在wi-fi接入点或蜂窝基站之前),充当用于iot传感器/致动器设备的后传以及用于接入网络的前传网络。资源编排代理器可部署在iot系统中作为iot边缘网络的上一英里节点(即,iot边缘网络中的iot传感器/设备的第一英里节点)。

资源编排代理器能以各种配置部署,包括集中式代理器系统、分布式代理器系统、边缘间代理器系统、以及联合代理器系统。例如,图5例示出集中式代理器系统500的示例,图6例示出分布式代理器系统600的示例,而图7例示出联合代理器系统700(其包括边缘间代理器)的示例。

集中式代理器系统(诸如,图5的代理器系统500)其中子网中的所有网关和其他边缘设备连接至集中式代理器560以进行资源编排和工作负载分布的一种代理器系统。集中式代理器560向云、因特网或其他后传网络提供永久服务,并将来自云的所有控制和管理信号中继到其管理的边缘设备520。根据实施例,iot传感器/致动器设备510可周期性地(即,进栈模式)或者基于代理器的请求(即,进栈模式)将它们的iot数据传送至代理器560。代理器560扮演仲裁器的角色,并基于资源可用性和其他上下文信息,在存在于同一管理域中的认知边缘设备520(诸如,网关)之间分布工作负载。这可被称为群集内分布,因为仅存在由代理器560管理的单个设备群集。

每个认知网关和认知边缘设备520通过带外通道向代理器560发布关于其平台和资源的上下文信息。代理器560基于由那些认知设备520定期提供给代理器560的上下文信息来跟踪关于认知网关和其他认知边缘设备520的资源的信息。代理器560还从iot传感器/致动器设备510接收数据处理工作负载,然后在认知网关与边缘设备520之间分布工作负载指派。

分布式代理器系统(诸如,图6的代理器系统600)是其中若干分布式代理器660存在于同一管理域中的一种代理器系统,该管理域可包括单个子网或多个子网,并且每个代理器660负责管理用于资源编排和工作负载分布的多个iot网关和边缘设备620。每个代理器660向云、因特网或其他后传网络提供永久服务,并将来自云的所有控制和管理信号中继到其管理的边缘设备620。每个分布式代理器660还保证与用于其他子网中的工作负载分布的其他分布式代理器660的连接,这允许增加管理域大小。

认知网关和边缘设备620形成分布式群集,其中分布式代理器660管理每个群集。每个认知网关和认知边缘设备620通过带外通道向其群集的分布式代理器660发布关于其平台和资源的上下文信息。此群集的代理器660基于由那些认知设备620定期提供给代理器660的上下文信息来跟踪与其认知网关和边缘设备620的资源有关的信息。每个群集的分布式代理器660还从iot传感器/致动器设备610接收数据处理工作负载,然后基于它们的资源可用性在同一管理域内的所有认知网关和边缘设备620(由各种分布式代理器660管理)之间分布工作负载指派。这被视为群集之间的群集内工作负载分布。这些群集必须位于同一管理域内,并且具有彼此接近的服务,以便可指派或收集资源来匹配服务水平协议。如果卸载代理器660在其自己的群集中缺少必要资源而另一群集的代理器660具有可用资源,则每个群集的代理器660可将工作负载卸载到其他群集的代理器660。可通过群集的代理器660与其他群集的代理器660之间的直接通信(例如,通过查询每个群集的资源可用性)来执行群集之间的这种卸载。基于每个群集的资源可用性,卸载群集的代理器660将工作负载分布给近邻群集的代理器660,然后资源分布过程遵循上述群集内工作负载分布办法。

边缘间代理器系统是其中分布式代理器作为不与后传网络(例如,云、因特网)通信的边缘间代理器(例如,图7的边缘间代理器760-1)存在的系统,而且边缘间代理器中的一个被选为当选领导者来协调其他代理器之间的资源代理功能,而不是仅驻留在网络边缘或雾中。

联合代理器系统(诸如,图7的代理器系统700)是其中代理器760跨多个管理域790a-c中分布的一种代理器系统,提供跨多个主要所有者的资源编排和工作负载分布服务。联合代理器系统700使用边缘间代理器760-1跨不同管理域790a-c扩展分布式代理器系统以在不同管理域790a-c之间进行协调。例如,在联合代理器系统700中,边缘间代理器760-1经由带外接口连接到它们自己的群集的代理器760-2并且连接到管理其他群集的边缘间代理器760-1,以不断获取所有群集资源的信息。在其自己的管理域790中找不到资源的每个群集的代理器760-2(无论是在其自己的群集中还是在其管理域中的其他群集中)都希望将工作负载卸载到其他管理域790,并向其边缘间代理器760-1查询资源可用性。边缘间代理器760-1将工作负载卸载请求发送到其他边缘间代理器760-1,该代理器760-1通过与其群集的代理器760-2的通信在其自己的群集上分布工作负载,然后资源分布过程遵循上述的群集内工作负载分布过程。

图8例示出用于资源编排代理的示例实施例的流程图800。流程图800可例如由资源编排代理器实现,诸如贯穿本公开描述的那些认知边缘设备(例如,图1的160、图5的560、图6的660、图7的760)。

流程图800可始于框802,其中资源编排代理器接收第一边缘设备集的上下文信息。如贯穿本公开所描述的,第一边缘设备集可以是例如认知边缘设备,诸如认知网关。另外,第一边缘设备集可被配置成在通信网络的边缘处连接至通信网络。如贯穿本公开所描述的,上下文信息可基于来自一个或多个传感器的信息来标识第一边缘设备集的操作环境。

然后,流程图可进行至框804,其中资源编排代理器接收第二边缘设备集的工作负载信息。如贯穿本公开所描述的,第二边缘设备集可以是例如iot传感器设备,该iot传感器设备使用传感器来生成可能需要进一步处理的数据。工作负载信息可以是例如需要进一步处理的关于由iot传感器设备生成的数据的量、类型和年龄等的信息。在一些实施例中,第二边缘设备集也可以是认知边缘设备。

流程图随后可进行至框806,其中资源编排代理器基于第一边缘设备集的上下文信息并基于第二边缘设备集的工作负载信息来确定第一边缘设备集的工作负载指派。例如,资源编排代理器可基于其资源可用性和关于其操作环境的其他上下文信息以及需要处理的工作负载的大小来确定第一边缘设备集的工作负载指派。

然后,流程图可进行至框808,其中资源编排代理器将工作负载指派传送至第一边缘设备集。

此时,流程图800可完成,但在特定实施例中,流程图可以在框802处重新开始以继续接收上下文信息和工作负载信息、确定工作负载指派并传送工作负载指派。

图9-10是根据本文中所公开的实施例的、可以使用的示例性计算机架构的框图。也可以使用处理器和计算系统技术中已知的其他计算机架构设计。一般而言,适用于本文所公开的各实施例的合适的计算机架构可包括但不限于图9-10中所示的配置。

图9例示出处理器900的示例实施例的框图。处理器900是可结合上述各实现方案使用的硬件设备的类型的示例。处理器900可以是任何类型的处理器,诸如,微处理器、嵌入式处理器、数字信号处理器(dsp)、网络处理器、多核处理器,单核处理器,或用于执行代码的其他设备。虽然在图9中示出仅一个处理器900,但是,处理元件可替代地包括多余一个的图9中所示的处理器900。处理器900可以是单线程核,或对于至少一个实施例,处理器900可以是多线程的,体现在对于每一个核,处理器900可包括多于一个的硬件线程上下文(或“逻辑处理器”)。

图9还例示出根据实施例的存储器902,此存储器902耦合到处理器900。存储器902可以是为本领域技术人员所知或以其他方式对本领域技术人员可用的各种存储器(包括存储器层次结构的各个层)中的任何一种。此类存储器元件可包括但不仅限于,随机存取存储器(ram)、只读存储器(rom)、现场可编程门阵列(fpga)的逻辑块、可擦可编程只读存储器(eprom)以及电可擦可编程序只读存储器(eeprom)。

处理器900可执行与本文中详细描述的多个算法、过程或操作相关联的任何类型的指令。一般而言,处理器900可以将要素或制品(例如,数据)从一种状态或事物转换为另一种状态或事物。

可将代码904(其可以是由处理器900执行的一条或多条指令)存储在存储器902中;或者可将代码904存储在软件、硬件、固件或者软件、硬件和固件的任意合适的组合中;或者可基于特定的需求,在适当的情况下,将代码存储在任何其他内部或外部的组件、设备、元件或对象中。在一个示例中,处理器900可以遵循由代码904指示的指令的程序序列。每一条指令都进入前端逻辑906,并且由一个或多个解码器908处理。解码器可以生成微操作(诸如,按预定义格式的固定宽度的微操作)或可以生成反映原始的代码指令的其他指令、微指令或控制信号以作为其输出。前端逻辑906还可包括寄存器重命名逻辑和调度逻辑,它们一般分布资源,并对应于供执行的指令对操作排队列。

处理器900可也包括执行逻辑914,该执行逻辑914具有执行单元916a、916b、916n等的集合。一些实施例可以包括专用于特定功能或功能集的多个执行单元。其他实施例可包括仅一个执行单元或可执行特定的功能的仅一个执行单元。执行逻辑914执行由代码指令指定的操作。

在完成了对由代码指令指定的操作的执行之后,后端逻辑918可引退代码904的指令。在一个实施例中,处理器900允许乱序的执行,但是要求有序的指令引退。引退逻辑920可以采取各种已知的形式(例如,重排序缓冲器等)。以此方式,至少对于由解码器生成的输出、硬件寄存器和由寄存器重命名逻辑910利用的表以及由执行逻辑914修改的任何寄存器(未示出)而言,处理器900在代码904的执行期间被转换。

虽然在图9中未示出,但是处理元件可在与处理器900一起的芯片上包括其他元件。例如,处理元件可包括与处理器900一起的存储器控制逻辑。处理元件可包括i/o控制逻辑和/或可包括与存储器控制逻辑集成的i/o控制逻辑。处理元件还可包括一个或多个高速缓存。在一些实施例中,非易失性存储器(诸如,闪存或熔丝)也可以与处理器900一起被包括在芯片上。

图10例示出计算系统1000的示例实施例的框图。计算系统1000根据实施例来按点对点(ptp)配置布置。具体而言,图10示出处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。一般而言,能以与计算系统1000相同或类似的方式配置本文所描述的一个或多个计算系统。

处理器1070和1080也可各自包括集成存储器控制器逻辑(mc)1072和1082,以便与存储器元件1032和1034通信。在替代实施例中,存储器控制器逻辑1072和1082可以是与处理器1070和1080分开的分立逻辑。存储器元件1032和/或1034可存储由处理器1070和1080用于实现本文所概括的操作和功能的各种数据。

处理器1070和1080可以是任何类型的处理器,例如,结合其他附图所讨论的那些处理器。处理器1070和1080可分别使用点对点(ptp)接口电路1078和1088,经由点对点接口1050来交换数据。处理器1070、1080可各自使用点对点接口电路1076、1086、1094和1098,经由各个点对点接口1052和1054与芯片组1090交换数据。芯片组1090也可使用接口电路1092(其可以是ptp接口电路),经由高性能图形接口1038,与高性能图形电路1039交换数据。在替代实施例中,可将图10中所示的ptp链路中的任何一个或全部实现为多点总线而不是ptp链路。

芯片组1090可经由接口电路1096与总线1020通信。总线1020可具有通过它进行通信的一个或多个设备,诸如总线桥1018和i/o设备1016。经由总线1010,总线桥1018可与其他设备进行通信,这些设备诸如用户接口1012(诸如,键盘、鼠标、触摸屏、或其他输入设备)、通信设备1026(诸如,调制解调器、网络接口设备或可通过计算机网络1060进行通信的其他类型的通信设备)、音频i/o设备1014和/或数据存储设备1028。数据存储设备1028可存储代码1030,该代码1030可由处理器1070和/或1080执行。在替代实施例中,可以利用一个或多个ptp链路来实现总线架构的任何部分。

图10中描绘的计算机系统是可用于实现本文所讨论的各实施例的计算系统的实施例的示意图。应当理解,可将图10中描绘的系统的各个组件结合在芯片上系统(soc)架构中,或者结合在能够实现本文所提供的示例和实现方案的功能和特征的任何合适的配置中。

尽管已经用特定实现方式和一般相关联的方法描述了本公开案,但是这些实现方式和方法的更改和替换对于本领域技术人员是显而易见的。例如,此处描述的动作可以以和所述次序不同的次序执行,且仍能实现期望的结果。作为一示例,附图中描述的过程不必要要求所示的特定次序或顺序来实现期望的结果。在某些实现方案中,多任务处理和并行处理可能是有利的。另外,其他用户界面布局和功能可能被支持。其它变型落在所附权利要求的范围之内。

通常,本说明书中描述的主题的一个方面可在包括或导致以下动作的方法和经执行指令中具体化:标识包括软件代码的样本、为包括在样本中的多个功能中的每一个生成控制流图、以及在每一个功能中标识与控制流片段类型集的实例相对应的特征。所标识的特征可被用于从所标识的特征生成样本的特征集。

这些和其他实施例可各自可任选地包括以下特征中的一个或多个。可将针对所述功能中的每个功能标识的特征进行组合以生成样本的合并字符串,并且可以从合并字符串生成特征集。可针对所述功能中的每个功能来生成字符串,每个字符串描述了针对所述功能标识的相应特征。将特征组合可包括:将多个功能中的特定的一个功能中的调用标识为多个功能中的另一个,并且将引用另一功能的特定功能的字符串的一部分替换为另一个功能的字符串的内容。标识特征可包括对功能的字符串中的每个字符串进行抽象使得在字符串中仅描述控制流片段类型集的特征。控制流片段类型集可包括由功能进行的存储器访问以及由功能调用的功能。标识特征可包括标识由功能中的每一个进行的存储器访问的实例以及标识由功能中的每一个进行的功能调用的实例。特征集可标识针对功能中的每一个来标识的特征中的每一个。特征集可以是n图。

进一步,这些和其他实施例可各自任选地包括以下特征中的一个或多个。可提供特征集以用于对样本进行分类。例如,对样本进行分类可包括基于样本的对应的特征将样本与其他样本聚类。对样本进行分类可进一步包括确定与样本的聚类相关的特征集。对样本进行分类还可包括确定是否将样本分类为恶意软件和/或确定样本是否可能是恶意软件的一个或多个族中的一个。标识特征可包括对控制流图中的每一个进行抽象化使得在控制流图中仅描述控制流片段类型集的特征。可接收多个样本,包括所述样本。在一些情形中,可从多个源中接收多个样本。特征集可标识在样本的功能的控制流图中标识的特征的子集。特征的子集可对应于样本代码中的存储器访问和功能调用。

尽管该说明书包含许多具体的实现方式细节,这些不应视为对本发明或可要求保护的范围的限制,而是描述对特定发明的特定实施例专用的特征。该说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各个特征也可以单独地或以任何适当子组合在多个实施例中实现。此外,尽管特征可以在以上被描述为用在特定组合中且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征可以在一些情况下自该组合去除,且所要求保护的组合可以针对子组合或者子组合的变化。

类似地,虽然在附图中以特定次序描绘了诸操作,但这不应当被理解为要求此类操作以所示的特定次序或按顺序次序来执行、或要执行所有所解说的操作才能达成期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,将上文所描述的各实施例中的各种系统组件分开不应当被理解为在所有实施例中都要求进行此类分开,并且应当理解,所描述的程序组件和系统一般可以一起被集成在单个软件产品中或一起被封装进多个软件产品。

下列示例涉及根据本说明书的实施例。

一个或多个实施例可提供至少一种机器可访问存储介质,具有存储于其上的指令,当在机器上执行指令时,该指令使机器:经由通信网络接收针对一个或多个边缘设备的第一集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第一边缘设备集合的操作环境;经由通信网络接收针对一个或多个边缘设备的第二集合的工作负载信息;基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派;以及经由通信网络将工作负载指派传送至第一边缘设备集合。

在一个示例中,第一边缘设备集合和第二边缘设备集合被配置成在通信网络的边缘处连接至通信网络。

在一个示例中,第一边缘设备集合的上下文信息包括边缘设备资源可用性。

在一个示例中,第一边缘设备集合的上下文信息包括边缘设备资源容量。

在一个示例中,指令进一步使机器用于:从管理一个或多个边缘设备的第三集合的代理器接收第三边缘设备集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第三边缘设备集合的操作环境;基于第三边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第三边缘设备集合的工作负载指派;以及将第三边缘设备集合的工作负载指派传送至管理第三边缘设备集合的代理器。

在一个示例中,指令进一步使机器用于经由带外接口将一个或多个边缘设备的第三集合的工作负载指派传送至管理第三边缘设备集合的代理器。

在一个示例中,代理器管理第一边缘设备集合以及第二边缘设备集合。

在一个示例中,代理器是集中式代理器。

在一个示例中,代理器是分布式代理器。

在一个示例中,代理器是边缘间代理器。

在一个示例中,代理器是联合代理器。

在一个示例中,使机器基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派的指令进一步使机器用于基于服务水平协议来确定第一边缘设备集合的工作负载指派。

一个或多个实施例可提供一种装置,包括电路系统,其中电路系统被配置成:经由通信网络接收针对一个或多个边缘设备的第一集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第一边缘设备集合的操作环境;经由通信网络接收针对一个或多个边缘设备的第二集合的工作负载信息;基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派;以及经由通信网络将工作负载指派传送至第一边缘设备集合。

在一个示例中,第一边缘设备集合和第二边缘设备集合被配置成在通信网络的边缘处连接至通信网络。

在一个示例中,第一边缘设备集合的上下文信息包括边缘设备资源可用性。

在一个示例中,第一边缘设备集合的上下文信息包括边缘设备资源容量。

在一个示例中,电路系统进一步被配置成:从管理一个或多个边缘设备的第三集合的代理器接收第三边缘设备集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第三边缘设备集合的操作环境;基于第三边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第三边缘设备集合的工作负载指派;以及将第三边缘设备集合的工作负载指派传送至管理第三边缘设备集合的代理器。

在一个示例中,电路系统进一步被配置成经由带外接口将一个或多个边缘设备的第三集合的工作负载指派传送至管理第三边缘设备集合的代理器。

在一个示例中,代理器管理第一边缘设备集合以及第二边缘设备集合。

在一个示例中,被配置成基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派的电路系统进一步被配置成基于服务水平协议来确定第一边缘设备集合的工作负载指派。

一个或多个实施例可提供一种系统,包括:处理器;存储器;逻辑,该逻辑当由处理器执行时,被配置成:经由通信网络接收针对一个或多个边缘设备的第一集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第一边缘设备集合的操作环境;经由通信网络接收针对一个或多个边缘设备的第二集合的工作负载信息;基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派;以及经由通信网络将工作负载指派传送至第一边缘设备集合。

在一个示例中,第一边缘设备集合和第二边缘设备集合被配置成在通信网络的边缘处连接至通信网络。

在一个示例中,逻辑进一步被配置成:从管理一个或多个边缘设备的第三集合的代理器接收第三边缘设备集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第三边缘设备集合的操作环境;基于第三边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第三边缘设备集合的工作负载指派;以及将第三边缘设备集合的工作负载指派传送至管理第三边缘设备集合的代理器。

一个或多个实施例可提供一种方法,包括:经由通信网络接收针对一个或多个边缘设备的第一集合的上下文信息,其中上下文信息基于来自一个或多个传感器的信息来标识第一边缘设备集合的操作环境;经由通信网络接收针对一个或多个边缘设备的第二集合的工作负载信息;基于第一边缘设备集合的上下文信息并基于第二边缘设备集合的工作负载信息来确定第一边缘设备集合的工作负载指派;以及经由通信网络将工作负载指派传送至第一边缘设备集合。

在一个示例中,第一边缘设备集合和第二边缘设备集合被配置成在通信网络的边缘处连接至通信网络。

因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同次序被执行,并且仍能实现期望的结果。另外,在所附附图中描绘的多个过程不一定要求所示出的特定顺序或要求顺序地来实现期望的结果。

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