机器对机器系统中可重用设备管理的制作方法

文档序号:14960132发布日期:2018-07-18 00:21阅读:239来源:国知局

本公开总体上涉及计算机系统领域,并且更具体地涉及数据分析。



背景技术:

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

附图说明

图1示出了包括多个传感器设备和示例数据管理系统的系统的实施例。

图2示出了包括示例数据管理系统的系统的实施例。

图3a是示出了资产抽象和绑定的示例的简化框图。

图3b是示出了资产发现的示例的简化框图。

图3c是示出了使用发现的一组资产的资产抽象和绑定的示例的简化框图。

图4是示出了管理特定机器对机器网络的两个实例之间的设置迁移的示例的简化框图。

图5是示出了在特定机器对机器网络的两个实例之间的设置的共享的简化框图。

图6是示出了用于利用资产抽象来部署示例机器对机器网络的示例技术的流程图。

图7是根据一个实施例的示例性处理器的框图;并且

图8是根据一个实施例的示例性计算系统的框图。

各附图中类似的附图标记和符号指示类似的元件。

具体实施方式

图1是示出了包括在整个环境中部署的一个或多个设备105a-d或资产的系统100的简化表示的框图。每一个设备105a-d可以包括计算机处理器和/或通信模块,以允许每一个设备105a-d与环境中的一个或多个其他设备(例如,105a-d)或系统交互操作。每一个设备可以进一步包括可以在机器对机器或物联网(iot)系统或应用中(例如,由其它设备或软件)利用和采用的各种类型的传感器(例如,110a-c)、致动器(例如,115a-b)、存储装置、电力、计算机处理资源和通信功能的一个或多个实例。传感器能够检测、测量和生成描述它们驻留、安装或接触的环境的特性的传感器数据。例如,给定的传感器(例如,110a-c)可以被配置为检测一个或多个相应的特性,例如运动、重量、物理接触、温度、风、噪声、光、计算机通信、无线信号、位置、湿度、辐射、液体或特定化合物的存在,以及其他若干示例。事实上,如本文所述的传感器(例如,110a-c)预期可能无限制的各种传感器的发展,每一个传感器被设计为并且能够检测并且生成用于新的和已知的环境特性的对应传感器数据。致动器(例如,115a-b)可以允许设备执行某种动作来影响其环境。例如,设备(例如,105b、105d)中的一个或多个可以包括一个或多个相应的致动器,其接受输入并且响应地执行其相应的动作。致动器可包括控制器以激活附加功能,例如用于选择性地切换报警器、照相机(或其他传感器)、加热、通风和空调(hvac)设备、家用电器、车载设备、照明等等的电力或操作的致动器。

在一些实现方式中,设备105a-d上提供的传感器110a-c和致动器115a-b可以被并入和/或包含物联网(iot)或机器对机器(m2m)系统。iot系统可以指代由互操作并协作以传送一个或多个结果或可交付成果的多个不同设备组成的新的或改进的自组织系统和网络。随着越来越多的产品和设备演变成“智能的”,这些自组织系统正在出现,因为它们受计算处理器控制或监控,并且被提供有用于通过计算机实现的机制与其他计算设备(和具有网络通信能力的产品)进行通信的设施。例如,iot系统可以包括由传感器和通信模块构建的网络,这些传感器和通信模块集成在或附接到诸如设备、玩具、工具、车辆等的“事物”,甚至生物(例如植物、动物、人类等)。在一些实例中,iot系统可以有机地或意外地发展,具有传感器集合,传感器监测各种事物和相关环境并且与数据分析系统和/或控制一个或多个其他智能设备的系统互连以实现各种用例和应用,包括以前未知的用例。此外,iot系统可以由迄今彼此未接触的设备形成,其中系统被自发地或实时地(例如,根据定义或控制交互的iot应用)构成和自动配置。此外,iot系统通常可以由复杂且多样化的连接设备(例如105a-d)的集合组成,例如由各种实体组提供或控制并采用各种硬件、操作系统、软件应用和技术的设备。

除了其他示例考虑之外,促进这些不同系统的成功互操作性是构建或定义iot系统时的重要问题。可以开发软件应用以管理iot设备的集合如何交互以实现特定目标或服务。在某些情况下,iot设备最初可能并未建立或打算参与这种服务,或者与一个或多个其他类型的iot设备协作。事实上,物联网的部分承诺是,许多领域的创新者将梦想着包括各种iot设备分组的新应用,因为这些设备变得更加普遍,而新的“智能”或“连接”设备也会出现。然而,许多这些潜在的创新者对这些iot应用的编程或编码行为可能并不熟悉,从而限制了这些新应用被开发和投放市场的能力,以及其他示例和问题。

如图1的示例所示,可以提供多个iot设备(例如105a-d),可以从所述多个iot设备构建一个或多个不同的iot应用。例如,设备(例如,105a-d)可以包括这样的示例,诸如移动个人计算设备(诸如智能电话或平板设备)、可穿戴计算设备(例如,智能手表、智能服装、智能眼镜、智能头盔、耳机等)、诸如家庭、建筑物、车辆自动化设备(例如,智能热通风空调(hvac)控制器和传感器、光检测和控制、能源管理工具等等)的不太常规的计算机增强产品等专用设备、智能电器(例如,智能电视、智能冰箱等)以及其他示例。一些设备可以被专门构建以托管传感器和/或致动器资源,诸如包括与气象监测有关的多个传感器(例如,温度、风、湿度传感器等)的气象传感器设备、交通传感器和控制器、以及许多其他示例。一些设备可以是静态定位的,诸如安装在建筑物内、灯柱上、标志上、水塔上、固定到地板(例如,室内或室外)或其他固定或静态结构的设备。其他设备可以是移动的,例如配备在车辆内部或外部的传感器、封装的传感器(例如用于跟踪货物)、由活动的人类或动物用户佩戴的可穿戴设备、天线、地面或水下无人机等其他示例。事实上,可能期望某些传感器在环境内移动,并且应用可围绕涉及移动主体的用例来构建或者围绕使用此类设备改变环境的用例来构建,包括涉及移动和静态设备的使用案例,等等。

继续图1的示例,可以提供基于软件的iot管理平台以允许开发者和终端用户构建和配置iot应用和系统。iot应用可以提供软件支持来组织和管理针对特定用途或用例的一组iot设备的操作。在一些情况下,可将iot应用体现为在用户计算设备(例如120)的操作系统上的应用或用于在智能电话、平板电脑、智能手表或其他移动设备(例如,125、130)上执行的移动应用。在一些情况下,应用可以具有专用的管理工具,其允许用户配置设置和策略,以管控在应用的上下文中设备组(例如,105a-d)将如何操作。管理实用程序也可用于选择与应用一起使用哪些设备。在其他情况下,可以提供可以管理潜在的多个不同的iot应用或系统的专用iot管理应用。该iot管理应用或系统可以托管在单个系统(例如单个服务器系统(例如140)或单个终端用户设备(例如125、130、135))上。可替代地,可以在多个托管设备(例如,125、130、135、140等)上分布iot管理系统。

在一些情况下,可以利用iot管理系统的接口对应用进行编程,或者以其他方式构建或配置应用。在某些情况下,接口可以采用资产抽象来简化iot应用构建过程。例如,用户可以简单地选择设备的类或分类法,并在逻辑上组装选择设备类的集合以构建iot应用的至少一部分(例如,不必提供关于配置、设备标识、数据传输等等的细节)。此外,使用iot管理系统构建的iot应用系统可以是可共享的,因为用户可以将标识构建系统的数据发送给另一个用户,允许另一个用户简单地将所抽象的系统定义移植到另一个用户的环境中(即使设备型号的组合与原始用户系统的设备型号组合不同)。另外,由给定用户定义的系统或应用设置可被配置为与其他用户共享或在不同环境之间可移植,以及其他示例性特征。

在一些情况下,iot系统可以(通过相对应的iot管理系统或应用或者参与的iot设备中的一个或多个)与托管在基于云和其他远程系统(例如,145)中的远程服务(例如,数据存储、信息服务(例如,媒体服务、天气服务)、地理定位服务和计算服务(例如,数据分析、搜索、诊断等))接合。例如,iot系统可以通过一个或多个网络120连接到远程服务。在一些情况下,远程服务本身可以被认为是iot应用的资产。除了其他示例之外,由远程托管的服务接收的数据可以由管理的iot应用和/或iot设备的组件中的一个或多个消费以引起一个或多个结果或动作的执行,等等。

一个或多个网络(例如120)可以促进传感器设备(例如,105a-d)、终端用户设备(例如123、130、135)和用于在环境中实施和管理iot应用的其他系统(例如140、145)之间的通信。这样的网络可以包括有线和/或无线本地网络、公共网络、广域网、宽带蜂窝网络、因特网等。

通常,示例的计算环境100中的“服务器”、“客户端”、“计算设备”、“网络元件”、“主机”、“系统型系统实体”、“用户设备”、“传感器设备”和“系统”(例如,105a-d、125、130、135、140、145等)可以包括电子计算设备,该电子计算设备能操作以接收、发送、处理、存储或管理与计算环境100相关联的数据和信息。如本文中所使用的,术语“计算机”、“处理器”、“处理器设备”或“处理设备”旨在涵盖任何合适的处理装置。例如,可以使用多个计算设备和处理器(例如包括多个服务器计算机的服务器池)来实现在计算环境100内示为单个设备的元件。此外,任何、全部或部分计算设备可适用于执行任何操作系统,包括linux、unix、microsoftwindows、appleos、appleios、googleandroid、windowsserver等,以及适用于虚拟化特定操作系统的执行的虚拟机,操作系统包括定制操作系统和专有操作系统。

尽管图1被描述为包含多个元素或者与多个元素相关联,但是并不是图1的计算环境100内示出的所有元素都可以用于本公开的每一个替代实现方式中。此外,结合图1的示例描述的元素中的一个或多个可以位于计算环境100的外部,而在其他实例中,某些元素可以被包括在其他所描述的元素以及所示实现方式中没有描述的其它元素中的一个或多个内,或者作为其一部分。此外,图1中示出的某些元件可以与其他组件组合,并且除了本文描述的这些目的之外还用于替代或附加的目的。

随着iot设备和系统的增长,市场上可用的智能设备和连接设备的数量不断增加,所述设备例如能够用于家庭自动化、工厂自动化、智能农业以及其他应用和系统的设备。例如,在家庭自动化系统中,随着更多的iot设备被添加用于感测和控制家庭的其他方面,家庭的自动化典型地提高。然而,随着设备数量和种类的增加,“事物”(或用于包含在iot系统中的设备)的管理变得非常复杂和具有挑战性。

某些设备管理应用可能配置了预设置的设置,被设计为允许用户快速设置其系统,并在配置设备上利用最少的工作。但是,这些设置可能并不普遍适用,可能会限制其灵活性和整体效用。在设置可配置的情况下,用户可能仍然很难弄清楚设置值的理想组合,通过反复试验来确定其系统(例如,智能家居、办公室、汽车等)的最佳设置。事实上,对一个用户理想或最优的设置组合可能是主观的,然而,其他用户可能仍然对产生了这些其他用户期望的结果的由其他人确定的设置值感兴趣。例如,第一用户的客人可以首先观察第一用户系统的配置,并且希望在他们自己的系统中重新创建所观察系统的属性。但是,在传统系统中,由于考虑到系统设置通常与设备的身份相关,所以其通常不具有可移植性。

在传统系统中,每一个iot设备具有其自己的设备的唯一介质访问控制(mac)地址或其他设备标识符。当首次配置设置时,用户自定义设置可以与系统中存在的指定设备关联。然而,在传统系统中,当用户用另一个(例如较新的)替代设备替换该设备时,用户通常需要重新配置应用中的设备设置(包括设备标识符和设备mac地址)。

在一些实现方式中,可以向系统提供改进的iot管理功能以解决上面介绍的示例问题中的至少一些。一般来说,改进的iot管理系统可以通过资产抽取简化iot设备的部署,从而显著减少部署和重新部署期间的人类接触点。例如,iot管理和应用可以采用一种范式,其中,系统可以引用iot设备(或“资产”)的抽象类或分类法,而不是引用和编程为与特定iot设备互操作。可以利用资产抽象来以最小的人为干预自动配置部署的iot系统。事实上,在某些实例中,系统的配置可以在用户不必实际指定要使用哪个设备的情况下进行。相反,系统可以替代地使用部署策略来自动选择和配置系统中的设备的至少一部分。此外,资产抽象可以有助于解决iot应用的可移植性的挑战,传统上它限制了iot应用的通用可扩展性和弹性。

在一些情况下,资产抽象可以与自动化资产绑定耦合,以消除将设备/资产的唯一id包括在iot应用或管理程序中的必要性。被提供了应用或管理程序的资产发现可以提供用于指定策略和限制资产绑定的范围的有效手段。通过资产发现、资产抽象和资产绑定的组合,使得iot应用具有可移植性、可重用性和可共享性。

在一些实现方式中,利用资产抽象,只要资产落入分类中的相同类别,例如占用感测、图像捕获、计算等,资产就被无差别地对待。因此,可以使得iot应用变得可移植、可重用和可共享,因为它可以以仅指定要求的方式编写和存储(例如,对提供要求的抽象设备分类法的引用),而无需指定旨在提供这些要求的兼容设备的准确身份(或身份目录)。资产发现允许搜索所有可用资源以检测满足需求的资源,并在一些实例中,以基于可定制或策略的标准为基础进一步选择资源。

诸如本文所示和所说明的那些系统可以包括以硬件和/或软件实现的机器逻辑,以实现本文中介绍的解决方案并且解决上述(除其他之外)的示例性问题中的至少一些问题。例如,图2示出了说明包括能够用于各种不同的iot应用中的多个iot设备或资产(例如,105a-c)的系统的简化框图200。在图2的示例中,特定iot应用205被托管在端点设备(例如130)上,端点设备本身包括用于识别和部署用于与应用205的应用逻辑210一起使用的iot系统的iot系统管理器215。在其他实现方式中,系统管理器215可以与应用205分开提供。

在图2的具体示例中,系统管理器215可以包括资产发现模块220。资产发现模块220可以包括用于确定哪些iot设备在彼此的范围内或者托管系统管理器215的设备(例如130)的范围内的功能。在一些实现方式中,系统管理器215可以利用主机设备130的无线通信能力来尝试与特定半径内的设备进行通信。例如,从主机设备130的通信模块239(或者资产(例如,105a-c)的通信模块(例如,268、270、272))发射的wifi或蓝牙信号的范围内的设备可被检测到。资产发现模块220可以在确定设备是否适合于包括在用于给定系统或应用的设备列表中时考虑附加属性。在一些实现方式中,可以定义条件以用于确定设备是否应该被包括在列表中。例如,资产发现模块220可以尝试识别它不仅能够联系特定资产,而且还可以确定资产,例如物理位置、语义位置、时间相关性、设备的移动(例如,是否它以与发现模块的主机相同的方向和/或速率移动)、设备的权限或访问级别要求等其它特征。作为示例,为了针对在类似家庭或办公室的环境中的每一个房间部署智能照明控制,应用可以按“每一个房间”部署。相应地,资产发现模块220可以确定(例如,通过设备报告的地理围栏或语义位置数据)被识别为在特定房间内的设备的列表(尽管资产发现模块220能够与期望的语义位置通信并检测落在期望的语义位置之外的其他设备)。用于发现的条件可以在iot应用(例如,205)本身中定义,或者可以是可配置的,使得用户可以定制条件中的至少一些。另外,在一些示例中,可以适当地针对不同的资产类型(或分类法)定义不同的发现条件。例如,对于在应用中使用的一种资产分类法,远程服务可以是要使用的完全可接受的资产,其中服务的主机的邻近度可以被忽略,而对于其他类型的资产(如传感器、致动器等)邻近度可以是(例如,在同一系统中)重要因素。

系统管理器215还可以包括资产抽象模块225。资产抽象模块225可以识别特定的iot设备之间或者更一般地可以包括在各种当前或未来的iot设备中的任何一个中的特定功能与针对设备定义的分类法或资产抽象的集合之间的定义的映射。资产抽象模块225可以针对由资产发现模块220发现的每一个资产(例如,根据一个或多个条件)确定资产“所属”的相应资产抽象或分类。每一个分类法可以与资产的功能能力相对应。已知或确定拥有该能力的资产可以分组在相对应的分类法内。一些多功能资产可能被确定为属于多个分类法。在一些情况下,资产抽象模块225可以基于从资产接收到的信息(例如,在资产发现模块220发现期间)确定要应用于给定资产的抽象。在一些情况下,资产抽象模块可以从每一个资产获得标识符并且查询后端数据库以查找与该资产的品牌和型号相对应的预定抽象分配,以及其他示例。此外,在一些实现方式中,资产抽象模块225可以查询每一个资产(例如,根据定义的协议)以确定资产的能力的列表,资产抽象模块225可以根据资产的能力的列表将资产映射到一个或多个定义的抽象分类法。资产抽象模块225允许应用将落入给定分类法内的每一个资产仅仅看作该分类法的实例,而不是强制系统管理器215专门配置为精确的设备模型。资产抽象模块225可以访问分类框架(基于应用、系统定义或通用定义),该分类框架将精确设备抽象为包括用于感测、致动、计算、存储的较高级和较低级分类法的分类法和其他分类法。通过资产抽象,只要资产属于分类中的同一类别(例如占用感知),资产就会被无差别地对待。通过资产抽象,可以使得iot应用(例如,205)及其设置变得可移植、可重用和可共享,因为应用205可以以仅指定资产需求(即,分类法)的方式编写和存储,而无需其特定身份信息。

系统管理器215还可以包括资产绑定模块230,其可以从所发现的资产中选择要针对系统部署哪些资产。在一些情况下,在选择资产时,资产绑定模块230可以使相对应的资产被配置用于与应用205一起使用。这可以涉及向资产供应相对应的代码(例如,以允许其与应用205和/或其他资产进行通信和互操作)、登录、解锁或以其他方式启用资产,将会话数据发送到资产或请求与资产的会话等等。在已识别同一分类法的多个资产(并且超过分类法的实例的最大期望数量)的情况下,资产绑定模块230可另外评估哪些资产最适合于应用205。例如,应用205可以定义指示在应用205中使用的资产的期望属性的标准。这些标准可以是应用于每一个分类法的实例的全局标准,或者可以是分类法特定的(即,仅应用于相同分类法中的资产之间的判定)。资产绑定可以供应由iot应用(例如,205)指定的资产以供自动部署(在运行时之前或期间)。在一些实现方式中,应用(例如205)的部分可以分布在一个或多个资产上。一旦资源被供应,所部署的资产可以被统一使用以用于实现针对应用(例如,205)设计的目标和功能。

系统管理器215可以附加地提供功能(例如通过设置管理器235)以允许用户定义设置应用于应用210的所选资产分类法(或需求)并且一般地应用于应用210。取决于应用使用的资产集合和应用的总体目标,可以提供各种不同的设置。可以定义默认设置值,并且可以提供进一步的工具以允许用户定义针对该设置的它们自己的值(例如,空调的优选温度设置、锁定智能锁或者锁柜的秒数、用于触发运动传感器和控件的灵敏度设置等)。何种设置构成“理想”可能是主观的并且涉及用户的一些修补。当用户对设置满意时,用户可以将设置保存为配置。在一些实现方式中,这些配置可以被本地存储(例如,在设备130)或者在云端。在一些情况下,可以共享配置,使得用户可以与其他用户(例如,朋友或社交网络联系人等)共享他们发现理想的设置。每当应用要部署其发现的资产时,可以生成配置数据,系统管理器215可以在运行时根据配置数据自动重新采纳。因此,尽管特定设备与用户的应用实例松散地关联(因为它们被抽象掉),但是设置可以与用户紧密关联,使得用户可以在环境之间迁移,包括具有在运行时绑定到应用的不同资产组的环境。无论选择哪种具体设备标识符或实现方式来满足应用的抽象资产需求,都可以应用相同的设置(例如,因为设置也针对资产的抽象(即,而不是特定资产)。达到特定设置不适用于分类法的选定实例的程度,则可以忽略该设置。如果分类法的选定实例拥有用户在配置中未定义的设置(例如,因为它们对于特定资产是唯一的),则可以自动设置这些设置的默认值,或者可以警告用户这些设置是未定义,等等。

设置管理器235可以在运行时使用,以使设置被应用在被选择用于与应用205一起部署的iot设备(资产)处。系统管理器215可以包括使得系统管理器215(及其组合模块)使用各种不同的协议与各种不同的设备进行通信的逻辑。实际上,系统管理器215甚至可以用于在协议之间转换以促进资产到资产的通信。此外,设置管理器235可以将指令发送到每一个选定资产以进行部署以提示每一个资产根据在由用户定义的设置配置中针对资产分类法定义的那些设置来调整设置。其他设置可以解决应用或系统管理器的设置,并且可以在托管应用205和系统管理器215的设备(例如130)处以自动和直接的方式完成应用这些设置,以及其他示例。

托管带有iot系统管理器215的应用205的设备(例如130)可以包括一个或多个处理器、一个或多个存储器元件238以及其他组件。在一些实现方式中,iot应用205是至少部分地在设备(例如130)上托管的若干应用(例如,220)之一。在一些实现方式中,iot系统管理器215可以是与应用205分开的应用。事实上,如上所述,在一些实现方式中,系统管理器215可以托管在与如下设备(例如,130)分离的设备上,所述设备托管系统管理器215将对其自动部署和供应对应的iot系统的应用(例如,205)。

如上所述,资产抽象不仅可以帮助简化系统的部署,而且可以协助对iot应用进行编程。例如,可以提供开发系统240。开发系统240可以包括一个或多个处理器246以及用于实现开发引擎245的一个或多个存储器元件248。开发引擎245可以提供传统编程工具以用于对应用进行编码。在一些情况下,开发引擎245可以替代地或附加地包括声明性编程工具,所述声明性编程工具允许用户(包括初级程序员)指定iot应用的广义或抽象的需求(例如使用需求定义组件250),这些广义或抽象的需求表示为资产分类法集合。用户可以额外声明所选分类法中的两个或多个之间的关系,以指示要在相对应的应用代码中自动定义的输入-输出、传感器-致动器或其他关系。在任一实现方式中,开发引擎245可以允许使用资产抽象(例如,基于分类定义255)来开发iot应用(例如,205)。在一些实现方式中,开发系统的功能可以被并入到系统管理器(例如,215)中,反之亦然。

继续图2的描述,每一个iot设备(例如105a-c)可以包括一个或多个处理器(例如256、258、260)、一个或多个存储器元件(例如262、264、266)以及一个或多个通信模块(例如,268、270、272)以促进他们参与到iot应用中。每一个设备(例如105a-c)可以拥有独特的硬件和其他逻辑(例如275、280、285)以实现设备的预期功能。例如,可以向设备提供诸如变化类型的传感器(例如110a,110c)、变化类型的致动器(例如115a)、能量模块(例如电池、太阳能电池等)、计算资源(例如通过相应的处理器和/或软件逻辑)、安全特征、数据存储和其他资源等资源。

转到图3a中,示出了表示资产抽象的简化示例的简化框图300a。可以在不同层次上定义各种不同的分类法。例如,传感器分类法可以是多种特定传感器类型分类法(例如,用于光感测、运动感测、温度感测、液体感测、噪声感测等的子分类法)等的父项。在图3a的示例中,iot应用已经被定义为包括三个资产需求,由分类法运动感测305a、计算305b和警报305c来表示。在资产发现期间,各种资产(例如,308a-f)可被识别为能够由应用使用(例如,基于资产满足一个或多个定义的发现条件)。可以针对每一个资产308a-f识别一个或多个相对应的分类法或抽象(例如,通过iot管理系统)。抽象中的一些可以与应用的资产要求和功能无关,例如针对恒温器装置308f确定的抽象(例如,温度传感器和/或hvac致动器)。其他资产抽象可以将在应用中指定的抽象(例如,305a-c)匹配为应用的资产需求。事实上,不止一个被发现的资产可以适合资产需求之一。例如,在图3a的示例中,pir传感器308a和相机308b各自被识别为运动感测资产分类法305a的实例。类似地,基于云的计算资源308c和网络网关308d被识别为计算资产分类法305b的实例。在其他实例中,可能仅存在满足应用资产需求的单个发现的设备(例如,警报分类法305c的警笛308e),以及其他示例。

通常,开发了iot和无线传感器网络(wsn)应用以在所确定的一组物理设备之间复杂地定义数据流,其涉及在开发时的设备级发现以获得并硬编码相对应的设备标识符和特性。通过利用资产抽象,可以促进开发以允许在运行时(例如,在启动应用时)发现和确定设备,另外允许应用在系统和分类法实例之间有可移植性。此外,通过允许开发者仅指定资产需求(例如,305a-c),而无需理解无线电协议、网络拓扑和其他技术特征,可以加速开发。

在一个示例中,用于资产抽象的分类法可涉及这样的父分类法,诸如感测资产(例如,光、存在、温度传感器等)、致动(例如,光、hvac、机器控制器等)、电力(例如电池供电的、陆地线供电的、太阳能供电的等)、存储(例如,sd、ssd、云存储等)、计算(例如,微控制器(mcu)、中央处理单元(cpu)、图形处理(gpu)、云等)以及通信(例如,蓝牙、zigbee、wifi、以太网等)以及其他可能的示例。发现哪些设备拥有哪些能力(并且属于哪些分类法)可以使用各种方法执行。例如,可以通过系统管理系统经由公共描述语言(例如,zigbee的配置文件、蓝牙的配置文件和开放互连联盟的规范)从接收自设备的信号直接获得一些功能(例如,感测、致动、通信),而其他特征(例如,电力、存储、计算)可以通过更深层的查询(利用被查询设备的操作系统之上的资源)来获得,以及其他示例。

可以应用资产绑定来确定哪些发现的资产(适合为针对应用定义的资产需求(抽象))将被实际部署。可以由应用的用户在开发时和/或在运行时之前/在运行时定义标准,通过该系统管理器(例如215)可以咨询该标准来执行绑定。例如,如图3a所示,根据针对应用(或针对使用应用的特定会话)提出的标准,可以选择用于所需分类法的多个匹配资产之一。例如,在pir传感器308a和相机308b之间,相对应的标准(例如,应用的所有分类法和/或特定于运动感测分类法305a的分类法中普遍应用的标准)可导致pir传感器308a被选择为被部署以满足应用的运动感测资产需求305a。类似地,可以评估标准以确定网关308d是其与云资源308c之间的更好候选来满足应用的计算需求305b。对于仅发现资产分类法的单个发现实例(例如,308e)的资产需求(例如,305c),资产绑定是直接的。那些已经被选择或绑定的被发现的设备(例如,308a、308d、308e)然后可以被自动供应有来自iot系统管理器(例如,215)的资源或由iot系统管理器配置的资源以部署该应用。未选定资产(例如,308b、308c、308f)可以保留在环境中,但在应用中未被使用。在一些实例中,未选定资产可以被标识为备用资产选择(例如,在所选资产中的一个资产出现故障的情况下),允许资产的快速替换(部署有针对相对应分类法的实例设计的相同设置)。

在一些情况下,资产绑定可以被建模为二部分匹配(或分配)问题,其中二部图可以由g=(r,a,e)表示,其中r表示资产需求,a表示可用资产,而在e中e=(r,a),其中a中的a能够进行r的r。请注意,如果r请求了特定资产的n个实例,则a'可以被定义为:

从中可以计算(最大)(加权)匹配问题。例如,可以应用穷举搜索,因为二部分图中顶点的数量很少,并且只有当a有能力进行r时才存在边(r,a),所以边受约束。

转向图3b的简化框图300b,表示资产发现的示例。资产发现可以允许可用设备的范围基于发现条件或标准被限制,所述发现条件或标准诸如与设备邻近度、房间、建筑物、移动状态、移动方向、安全性、许可以及许多其他潜在(和可配置)条件有关的条件。这种有针对性的发现带来的好处可以涓滴到资产绑定,因为未经检查的发现可能会返回许多可能的绑定,特别是在大规模部署中。例如,在智能工厂中,“部署预测性维护”的行为可能不明确,因为工厂设施中可能有数百个传感器、电机、报警器等。在一些实现方式中,资产发现将从中可以识别一组发现标准的策略或用户输入作为输入。在检测到应用可能操作的资产范围时,可以使用标准来约束该集合,在某些情况下,提供可用资产的所得到的有序列表,其可以表示为f:c×d→d,其中c表示标准,d表示一组设备,并且共域是完全有序的集合。

例如,在图3b的示例中,针对应用识别两个发现标准315a、315b。其他标准可以被定义为仅适用于资产的类别或者分类法中的一些或特定一个,以及其他示例。基于本示例中定义的标准315a-b,根据搜索标准a315a,发现的输出导致环境ls1(310a)、ls2(310b)、gw2(310g)和la1(310h)中的设备的子集的共域,而搜索标准b导致ls2(310b)、ls3(310c)、ts1(310d)、hs1(310e)、gw1(310f)和lai(310h)。基于所定义的发现标准的集合(例如,315a-b),资产发现可以尝试将所标识的资产的总集合缩减为最佳解决方案。此外,确定用于绑定考虑的发现资产的集合可以包括基于应用的资产需求来确定最小的发现设备集合。例如,可以在发现期间选择最小集合,使得如果可能的话,集合中存在每一个所需分类法的至少一个资产。例如,在图3b的示例中,可以识别(例如,由系统管理器的资产发现模块)在发现中仅应用标准b(315b)产生针对应用定义的每一个分类法的至少一个资产。

例如,框图300c,图3c示出了系统管理器的端到端部署确定。例如,基于在图3b的示例中进行的发现,资产(例如,ls2(310b)、ls3(310c)、ts1(310d)、hs1(310e)、gw1(310f)和la1(310h))的子集被“发现”以由应用用于可能的使用(例如,基于它们符合标准b(以及资产非充分表示符合标准))。因此,尽管每一个资产是应用205的资产需求之一的实例(例如,光感测、计算和存储),但是资产lsi和gw2不会绑定到应用205(如虚线(例如,330)所示)。

如上所述,可以在资产绑定期间定义和应用附加标准。在绑定期间,其中,发现的资产集合包含特定所需资产分类法的多于一个的实例(例如,与资产分类法光感测中的资产l2和l3一样),则可以应用标准来自动选择更适合部署在由应用205管理、控制或以其他方式支持的iot系统内的资产。此外,如图3c所示,单个资产实例(例如,gw1)可能属于两个或更多个分类法并且被选择用于绑定到应用以针对两个或更多个对应的资产需求(例如,计算和存储),如图所示。事实上,可以定义绑定标准,以支持可以通过单一资产促进应用的多项资产需求的机会等等。

如通常在图3c中所表示的,资产发现可以提供用于限制资产到应用资产需求映射的范围的第一级。用户或开发者可以指定(在某些情况下,紧接在运行时之前)针对特定应用的资产需求,并且可以评估环境以确定资产是否可用来满足这些资产需求。此外,如果在环境中找到必需的资产组合,则系统管理器实用程序可以自动部署和供应发现的资产以实施该应用。另外,系统管理器实用程序可以根据由与应用相关联的用户定义的配置,自动地在所部署的资产上应用设置值。但是,如果没有发现资产需求(要求的分类法)中的一个或多个的实例,则应用可以被确定为在该环境内不可部署。在这种情况下,系统管理器实用程序可以针对用户生成警报以识别所请求的分类法实例的短缺,包括识别在环境内没有发现资产实例的那些分类法,等等。

转到图4,如上所述,根据资产抽象的原理开发的应用,如本文所述,可以允许用户在各种不同的环境中使用他们的应用实例以及针对用户实例定义的设置。例如,频繁的旅行者可能更喜欢通过在旅行期间随身携带托管iot应用(和/或iot系统管理器)中的至少一部分的设备来创建类似家庭的环境(例如,在酒店、办公室或远离他们家的度假租住处)。然后用户可以利用应用和系统管理器来部署类似的系统(利用潜在的不同设备),同时承载针对系统的家庭设置。在另一种情况下,家庭自动化用户可能希望在用系统内的替代物(例如,由于系统故障、异常、功率损失等)替换任何设备时利用最少的人为干预来继续其现有设置,以及其它示例。

例如,如图4所示,在第一环境405中,托管在智能电话130上的系统管理器和应用(例如205)可以发现资产a1、a2、b1、c1、d1、d2的集合,其中资产a1和a2是分类法a的实例,资产b1是分类法b的实例,等等。在该示例中,应用205可以具有与分类法a、b、c、d和e相对应的资产需求。可以执行资产绑定,导致资产a1、b1、c1、d1和e1被选择和部署,而主机设备130存在于环境a405中。此外,系统管理器可以使设置415被应用于整个部署的系统。

在另一、远程环境,环境b中,可利用应用205和系统管理器的相同实例来部署应用的iot网络的另一实例。例如,当被带入环境b410时,设备130通过系统管理器可以检测到在环境a405内发现(和呈现)的不同资产集合。环境b中的资产中的一些可以是在环境a(例如,a2、ci、d1)中发现的相同资产(例如,相同的设备型号)的实例。一些资产可能不与位置紧密相关,例如基于云的或其他远程服务资产(例如,e1),并且可以在每一个环境中发现和部署相同资产(例如e1)的相同实例。在环境b中,不仅可以发现不同的资产集合,而且可以部署不同的资产集合(例如,a2、b2、c2、d1和e1)以满足应用205的定义的资产需求。尽管在两种环境(例如,405、410)之间的部署是不同的,但是当在资产抽象级别查看时,部署是功能等同的。此外,可以在每一个环境405、410内同等地应用设置415(例如,在资产抽象级别处定义的)。作为示例,在针对分类法实例b的设置415中定义的灵敏度设置值可以同样应用于资产b1和b2中的每一个(并且就此而言,在部署时还有b3),允许应用205的系统管理器尝试利用不同资产集合来实现等效系统。尽管在实践中,所得到的系统可能在功能上不相同(即使在配置了相同设置的情况下,资产实例(例如,b1和b2)之间的差异可能会出现),但是在不同环境中的应用的实现方式可以至少以用户的最小努力来接近。

转到图5,在一些实现方式中,由第一用户针对托管在第一设备处的给定iot应用(例如,205a)的第一用户的实例定义的设置可以在托管在另一用户的设备505上的相同iot程序应用(例如,205b)的第二实例处被共享和应用,以用于在对应的环境515内部署资产(例如,a1、b2、c2、d1)。例如,个人可能想要与他们的朋友分享他们的优选智能家庭/办公室设置。森林,而不是“重新发明轮子”以确定设置的理想平衡,用户可以简单地采用其他用户的设置以用于在他们自己的环境中的应用(例如家庭自动化设置、智能照明设置、健身系统设置、智能农业设置等)。例如,一个人可以通过访问朋友的家(例如,环境510)而受到启发并且希望将类似的设置应用于其家中的iot系统(例如环境515)。

如图5所示,可提供储存库520以存储或传送从潜在的多个不同应用系统收集的设置信息(例如,525)。例如,在一些实现方式中,储存库520可以是基于云的储存库。在其他情况下,除了其他示例之外,设置信息可以在主机设备130、505之间直接共享。在应用的第一实例(例如,205a)处应用的设置的特定集合或配置因此可以被传送给应用的另一个实例(例如,205b)以由应用的其他实例完全采用并应用到其自己的iot部署(例如,在环境515中)。

尽管本文描述和示出的系统和解决方案中的一些已经被描述为包含多个元素或者与多个元素相关联,但是并不是所有明确示出或描述的元素都可以用于本公开的每一个替代实现方式中。另外,本文所描述的元素中的一个或多个可以位于系统外部,而在其他实例中,某些元素可以被包括在其他描述的元素以及在示出的实现方式中未描述的其他元素中的一个或多个或者作为其他描述的元素以及在示出的实现方式中未描述的其他元素的一部分。此外,某些元件可以与其他组件组合,并且除了本文所述的这些目的之外,用于替代或附加的目的。

此外,应该意识到,上面给出的示例是仅为了说明某些原理和特征的目的而提供的非限制性示例,并且不一定限制或约束了本文描述的概念的潜在实施例。例如,可以利用本文描述的特征和组件的各种组合来实现各种不同的实施例,所述各种组合包括通过本文描述的组件的各种实现方式来实现的组合。应该从本说明书的内容中意识到其他实现方式、特征和细节。

图6是示出了用于部署iot系统或其他机器对机器网络的示例技术的简化流程图600。该iot系统可以与托管在特定设备上的相应软件应用(例如,iot应用)互操作、由其控制、或以其他方式与其相关联。可以在与特定设备相关联的环境中发现605多个设备。例如,特定设备可以位于环境内、连接到与环境相关联的网络、是与环境相关联的注册设备、拥有与环境相关联的认证凭证,等等。发现标准可以用于确定应将多个设备视为环境的一部分。也可以在能够访问并与其他设备通信的特定设备上预测发现605。可以针对多个设备中的每一个确定610功能能力。分类法可以被定义为根据其功能能力来对各种设备进行分类。iot应用可以被编程为引用一组分类法的抽象实例或一组不同设备类型中的每一个的通用版本并且与其接合。基于所确定的设备的能力,可以确定615所定义的分类法中的一个或多个以应用于所发现的设备中的每一个。可以标识620针对特定iot系统的一组资产需求,每一个资产需求引用分类法之一以指示具有对应的功能能力的设备的对应实例被包括在特定iot系统的部署中。可以选择625所发现的设备的子集作为资产需求分类的实例,从而选择设备的子集以用于在iot系统的实例中部署。可以确定和部署相同iot系统定义的其他实例(例如,在其他不同的环境中)并且包括针对资产需求的不同设备选择。例如,可以通过将(例如,iot应用将指令从特定设备发送到选定的设备)系统配置信息和指令传送给所选设备中的至少一些来部署630iot系统。部署630可以涉及在所选设备中的一个或多个上供应可执行代码以用于实现iot系统和所选择的设备的子集的互操作性,以及将定义的一组设置值应用于iot系统,以及其它任务。

图7-图8是根据本文公开的实施例的可以使用的示例性计算机架构的框图。也可以使用本领域已知的用于处理器和计算系统的其他计算机架构设计。通常,用于本文公开的实施例的合适的计算机架构可以包括但不限于图7-图8中示出的配置。

图7是根据一个实施例的处理器的示例图示。处理器700是可以结合上述实现方式使用的一类硬件设备的示例。处理器700可以是任何类型的处理器,诸如微处理器、嵌入式处理器、数字信号处理器(dsp)、网络处理器、多核处理器、单核处理器或用于执行代码的其他设备。尽管在图7中仅示出了一个处理器700,但是处理元件可以可选地包括多于一个的图7中所示的处理器700。处理器700可以是单线程核心,或者对于至少一个实施例,处理器700可以是多线程的,因为其可以包括每一个核心的多于一个硬件线程上下文(或“逻辑处理器”)。

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

处理器700可以执行与本文详述的算法、过程或操作相关联的任何类型的指令。通常,处理器700可以将元素或物品(例如,数据)从一种状态或事物转换为另一种状态或事物。

可以是由处理器700执行的一个或多个指令的代码704可以被存储在存储器702中,或者可以被存储在软件、硬件、固件或其任何适当的组合中,或者适当地并且基于特定需求而存储在任何其他内部或外部组件、设备、元件或对象内。在一个示例中,处理器700可以遵循由代码704指示的指令的程序序列。每一个指令进入前端逻辑706并且由一个或多个解码器708处理。解码器可以生成微操作,例如预定义格式的固定宽度的微操作作为其输出,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑706还包括寄存器重命名逻辑710和调度逻辑712,其通常分配资源并将与用于执行的指令对应的操作入队。

处理器700还可以包括具有一组执行单元716a、716b、716n等的执行逻辑714。一些实施例可以包括专用于特定功能或多组功能的多个执行单元。其他实施例可以仅包括一个执行单元或者可以执行特定功能的一个执行单元。执行逻辑714执行由代码指令指定的操作。

在完成由代码指令指定的操作的执行之后,后端逻辑718可以撤回代码704的指令。在一个实施例中,处理器700允许乱序执行但是要求指令的有序引退。引退逻辑720可以采取各种已知形式(例如,重新排序缓冲器等)。以此方式,处理器700在代码704的执行期间至少在由解码器生成的输出、由寄存器重命名逻辑710使用的硬件寄存器和表以及由执行逻辑714修改的任何寄存器(未示出)方面进行变换。

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

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

处理器870和880每一个还可以包括集成存储器控制器逻辑(mc)872和882以与存储器元件832和834进行通信。在替代实施例中,存储器控制器逻辑872和882可以是与处理器870和880分离的离散逻辑。存储器元件832和/或834可以存储要由处理器870和880用来实现本文概述的操作和功能的各种数据。

处理器870和880可以是任何类型的处理器,诸如结合其他附图所讨论的处理器。处理器870和880可以分别使用点对点接口电路878和888经由点对点(ptp)接口850交换数据。处理器870和880中的每一个可以使用点对点接口电路876、886、894和898经由单独的点对点接口852和854与芯片组890交换数据。芯片组890还可以使用可以是ptp接口电路的接口电路892经由高性能图形接口839与高性能图形电路838交换数据。在替代实施例中,图8中所示的ptp链路中的任何或全部可以实现为多点总线而不是ptp链路。

芯片组890可以经由接口电路896与总线820通信。总线820可以具有通过其进行通信的一个或多个设备,诸如总线桥818和i/o设备816。经由总线810,总线桥818可以与诸如用户接口812(诸如键盘、鼠标、触摸屏或其他输入设备)、通信设备826(诸如调制解调器、网络接口设备或可以通过计算机网络860进行通信的其他类型的通信设备)、音频i/o设备814和/或数据存储设备828之类的其它设备进行通信。数据存储设备828可以存储可以由处理器870和/或880执行的代码830。在替代实施例中,总线架构的任何部分都可以用一个或多个ptp链路来实现。

图8中所描绘的计算机系统是可以用来实现本文讨论的各种实施例的计算系统的实施例的示意图。应该意识到的是,图8中所描绘的系统的各种组件可以以片上系统(soc)架构或以能够实现本文提供的示例和实现方式的功能和特征的任何其他合适的配置进行组合。

尽管已经根据某些实施方式和通常相关联的方法描述了本公开,但是这些实施方式和方法的变更和置换对于本领域技术人员而言将是显而易见的。例如,本文描述的动作可以以与所描述的顺序不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或顺序的次序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。此外,还可以支持其他用户界面布局和功能。其他变化在以下权利要求的范围内。

一般而言,本说明书中描述的主题的一个方面可体现在方法和执行的指令中,所述方法和执行的指令包括或导致以下动作识别包括软件代码的样本,生成用于包括在样本中的多个函数中的每一个函数的控制流程图,以及在每一个函数中识别与一组控制流片段类型的实例相对应的特征。识别出的特征可用于根据识别的特征来生成样本的特征集。

这些和其他实施例可以相应可选地包括以下特征中的一个或多个。可以将针对每一个函数标识的特征进行组合以生成样本的合并字符串,并且可以根据合并字符串来生成特征集。可以针对每一个函数生成字符串,每一个字符串描述为针对函数识别的各个特征。组合这些特征可以包括识别多个函数中的特定函数中对多个函数中的另一个函数的调用,并且用另一个函数的字符串的内容替换引用另一个函数的特定函数的字符串的一部分。识别特征可以包括对函数的每一个字符串进行抽象,使得只有该组控制流片段类型的特征才被描述在字符串中。该组控制流片段类型可以包括通过该函数的存储器存取以及通过该函数的函数调用。识别特征可以包括识别每一个函数进行的存储器存取的实例并且识别由每一个函数进行的函数调用的实例。该特征集可以识别为每针对个函数标识的每一个特征。该特征集可以是n图(n-graph)。

此外,这些和其它实施例可以相应可选地包括以下特征中的一个或多个。该特征集可被提供用于对样本进行分类。例如,对样本进行分类可以包括基于样本的对应特征将样本与其他样本聚类。对样本进行分类可以进一步包括确定与样本聚类相关的一组特征。对样本进行分类还可以包括确定是否将样本分类为恶意软件和/或确定样本是否可能是一个或多个系列恶意软件中的一个。识别特征可以包括抽象每一个控制流程图,使得在控制流程图中仅描述该组控制流片段类型的特征。可以接收多个样本,包括该样本。在一些情况下,可以从多个源接收多个样本。该特征集可以识别样本函数的控制流程图中识别的特征子集。特征子集可以与样本代码中的存储器存取和函数调用相对应。

虽然本说明书包含许多具体的实施细节,但这些不应该被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于具体发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求的那样,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。

类似地,尽管在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示出的特定顺序或按顺序的次序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中都要求这种分离,并且应该理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。

以下示例涉及根据本说明书的实施例。一个或多个实施例可以提供具有可执行代码的方法、系统、机器可读存储介质,其用于检测特定设备的范围内的多个设备,确定多个设备中的每一个的能力,针对多个设备中的每一个,基于所确定的设备的能力来确定要与设备相关联的一组分类法中的相应一个,并且识别由特定软件应用所引用的资产抽象的集合,所述特定软件应用被配置为管理特定的机器对机器网络。每一个资产抽象可以与该组分类法中相应的一个相对应,并且该特定机器对机器网络可以由所述资产抽象的集合中的每一个资产抽象的实例构建。可基于与设备的子集相关联的分类法来选择多个设备的子集以用于作为特定机器对机器网络的实例来部署,设备的子集表示资产抽象的集合中的每一个资产抽象的实例,并且可以部署设备的子集来实现特定机器对机器网络的实例。

在一个示例中,该组分类法中的每一个与设备的相应功能能力相对应,并且与分类法的关联指示设备拥有对应的功能能力。

在一个示例中,分类法中的每一个对关联设备上的相对应功能能力的实现细节进行抽象。

在一个示例中,特定设备托管特定应用的至少一部分。

在一个示例中,部署特定机器对机器网络的实例包括向设备的子集中的一个或多个供应代码,包括用于在特定机器对机器网络中使用的代码的一部分。

在一个示例中,检测特定设备的范围内的多个设备包括确定多个设备中的每一个设备能通信地被特定设备访问,并且确定多个设备中的每一个满足针对特定机器对机器网络定义的一组发现标准中的一个或多个发现标准。

在一个示例中,该组发现标准中的至少一个标准对于设备与特定设备的接近度不可知。

在一个示例中,选择设备的子集包括:识别检测到的多个设备中的两个或更多个设备各自同与资产抽象的集合中的特定一个资产抽象相对应的特定分类法相关联,识别针对特定机器对机器网络定义的绑定标准,以及评估两个或更多个中的每一个的属性以确定两个或更多个设备中的哪一个更好地满足绑定标准。

在一个示例中,绑定标准的至少一部分特别用于选择设备以表示特定机器对机器网络中的特定资产抽象。

在一个示例中,该组分类法包括至少一个传感器分类法、至少一个致动器分类法、至少一个计算分类法、至少一个数据存储分类法和至少一个计算机通信。

在一个示例中,部署特定机器对机器网络的实例包括识别针对特定机器对机器网络定义的一组设置值并且使该组设置值被应用于设备的子集。

在一个示例中,特定机器对机器网络的实例包括第一实例,并且设备的子集包括设备的第一子集。

在一个示例中,可以选择设备的不同的、第二子集作为特定机器对机器网络的第二实例来部署,设备的第二子集包括该资产抽象的集合中的每一个资产抽象的实例,并且可以使该组设置值应用于特定机器对机器网络的第二实例的部署。

在一个示例中,多个设备包括第一环境中的第一多个设备,并且第二多个设备可以在不同的第二环境中被检测,设备的第二子集包括第二多个设备的子集。

在一个示例中,该组设置值包括用户定义的设置值。

在一个示例中,通过网络发送识别该组设置值的数据,以供另一系统访问以供其他系统在部署该特定机器对机器网络的另一个实例中使用。

在一个示例中,特定机器对机器网络的其他实例包括不同于设备的第一子集的设备的第二子集。

在一个示例中,特定的机器对机器网络实施iot系统。

一个或多个实施例可以提供一种系统,包括:至少一个处理器、至少一个存储器元件和物联网(iot)系统管理器。iot系统管理器可以由处理器执行以检测特定设备的范围内的多个设备,确定多个设备中的每一个的能力,基于所确定的设备的能力针对多个设备中的每一个确定要与设备相关联的一组分类法中的相应一个分类法,识别由特定软件应用引用的资产抽象的集合,所述特定软件应用被配置为管理特定机器对机器网络,基于与所述设备的子集相关联的分类法选择多个设备的子集作为所述特定机器对机器网络的实例来部署,所述设备的子集包括所述资产抽象的集合中的每一个资产抽象的实例;并与设备的子集中的一个或多个进行通信以部署特定机器对机器网络的实例。每一个资产抽象可以与该组分类法中的相应一个分类法相对应,并且该特定机器对机器网络可以包括所述资产抽象的集合中的每一个资产抽象的实例;

在一个示例中,系统还包括特定软件应用,其中特定软件应用至少部分地托管于特定设备上。

在一个示例中,iot系统管理器也至少部分地托管于特定设备上。

在一个示例中,基于设备的子集满足一组发现标准中的一个或多个发现标准的确定来选择设备的子集。

在一个示例中,系统还包括用于基于资产抽象的集合的用户提供的定义来生成特定应用的iot应用编程工具,其中资产抽象的集合被识别为来自一组分类法的对应分类的子集。

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

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