掌桥专利:专业的专利平台
掌桥专利
首页

传感器事件覆盖和能量节约

文献发布时间:2023-06-19 19:38:38


传感器事件覆盖和能量节约

背景技术

本公开总体上涉及传感器网络,并且具体地涉及管理传感器网络以提供事件覆盖同时最小化能量消耗。

相关计算设备,也称为物联网(IoT)设备,通常是电池供电的,并且部署在对电气基础设施的访问受限或不能访问的偏远地区。电池供电的IoT设备能够捕捉传感器数据并经由网络将该传感器数据发送给远程设备以用于评估。由于电池供电的IoT设备没有连接到电气基础设施,因此需要周期性地更换电池或再充电以确保数据被捕捉以及事件被注册。尽管IoT设备可以通过太阳能和风从环境中收集能量以周期性地对电池再充电,但是连续充电循环在电池的预期寿命内降低了电池容量。

发明内容

根据本发明的实施例公开了一种用于传感器事件覆盖和能量节约的方法、计算机程序产品和计算机系统,该方法、计算机程序产品和计算机系统可以接收用于传感器网络中的多个传感器的设备传感器数据。该方法、计算机程序产品和计算机系统可以接收用于传感器网络中的多个传感器的设备传感器数据。该方法、计算机程序产品和计算机系统可以识别设备传感器数据中的一个或多个异常,该一个或多个异常指示来自多个传感器的一个或多个传感器在特定时间点的事件期间获取数据。该方法、计算机程序产品和计算机系统可以基于该一个或多个异常来识别用于多个传感器的移动模式。该方法、计算机程序产品和计算机系统可以响应于基于一个或多个异常和移动模式更新用于多个传感器的基本参与轮廓,基于更新的基本参与轮廓激活来自多个传感器的第一传感器。

附图说明

图1是示出根据本发明的实施例的分布式数据处理环境的功能框图。

图2是描绘根据本发明的实施例的图1的分布式数据处理环境内的服务器计算机上的、用于提供传感器网络事件覆盖的传感器事件覆盖程序的操作步骤的流程图。

图3A示出了根据本发明的实施例的由传感器事件覆盖程序进行的传感器网络事件覆盖的时间(n)处的活动参与模式的示例。

图3B示出了根据本发明的实施例的由传感器事件覆盖程序进行的传感器网络事件覆盖的时间(n+50)处的主动参与模式的示例。

图3C示出了根据本发明的实施例的针对不同季节的由传感器事件覆盖程序进行的传感器网络事件覆盖的时间(n+100)处的主动参与模式的示例。

图4示出了根据本发明的实施例的由传感器事件覆盖程序进行的传感器网络事件覆盖的时间(n)处的主动参与模式的示例。

图5描绘了根据本发明的实施例的在图1的分布式数据处理环境中执行传感器事件覆盖程序的服务器计算机的组件的框图。

图6描绘了根据本发明的实施例的云计算环境;以及

图7描绘了根据本发明的实施例的抽象模型层。

具体实施方式

物联网(IoT)传感器网络利用多个相关计算设备来提供事件覆盖以捕捉数据,其中并非IoT传感器网络中的每个IoT传感器都被要求捕捉和发送数据,因此消耗能量。本发明的实施例基于参与轮廓来管理IoT传感器网络以激活事件覆盖区域中的一部分传感器,以捕捉和发送数据来提供事件覆盖。在其中来自IoT传感器网络的一部分传感器不需要基于参与轮廓来提供事件覆盖的实例中,该部分传感器被置于低能耗状态(例如,睡眠模式)。在低能耗状态中,IoT网络传感器的该部分传感器可接收激活指令但不需要捕捉和发送数据,因为该部分传感器在事件覆盖区域之外。

图1是示出根据本发明一个实施例的分布式数据处理环境的功能框图。分布式数据处理环境包括服务器计算机102、客户端设备104和传感器网络122,它们都通过网络106互连。

服务器计算机102可以是台式计算机、膝上型计算机、平板计算机、专用计算机服务器、智能电话、或能够执行传感器事件覆盖程序108的各种实施例的任何计算机系统。在某些实施例中,服务器计算机102表示利用集群计算机和组件的计算机系统,当通过网络106访问时,集群计算机和组件充当单个无缝资源池,因为这在数据中心中以及与云计算应用是常见的。通常,服务器计算机102表示能够执行机器可读程序指令并经由网络与其他计算机设备通信的任何可编程电子设备或可编程电子设备的组合。服务器计算机102具有与其它计算机设备(图1中未示出)通信以向计算机设备查询信息的能力。在该实施例中,服务器计算机102包括能够与数据库110通信的传感器事件覆盖程序108,其中数据库110包括设备参与轮廓112、传感器数据114、异常数据116和移动模式数据118。

客户端设备104可以是蜂窝电话、智能电话、智能手表、膝上型计算机、平板计算机或能够经由网络106通信的任何其他电子设备。通常,客户端设备104表示能够执行机器可读程序指令并经由诸如网络106的网络与分布式数据处理环境内的其他计算设备(未示出)通信的一个或多个可编程电子设备或可编程电子设备的组合。在一个实施例中,客户端计算设备104表示与用户相关联的一个或多个设备。客户端设备104包括用户接口120,其中用户接口120使得客户端设备104的用户能够与服务器计算机102上的传感器事件覆盖程序108交互。

传感器事件覆盖程序108利用传感器网络122中被指定为传感器124A、124B和124N的多个传感器的参与轮廓112来确定何时激活和去激活传感器网络122中的特定传感器以提供事件覆盖。在该实施例中,来自多个参与轮廓112的一个或多个参与轮廓112与来自多个传感器的传感器(例如,传感器124A)相关联。应当注意,传感器124A表示第一传感器,传感器124B表示第二传感器,传感器124N表示传感器网络122中的最后一个传感器,其中传感器124N例如可以表示传感器网络122中的第二十传感器或第四十五传感器。事件覆盖表示其中传感器事件覆盖程序108要激活传感器网络122中的一个或多个传感器以在事件发生期间捕捉并发送数据的实例。传感器事件覆盖程序108利用传感器124A、124B和124N的已知位置和所确定的事件覆盖区域来建立参与轮廓112。

传感器事件覆盖程序108确定传感器网络122中的传感器124A、124B和124N的基本参与轮廓112,其中传感器事件覆盖程序108利用传感器124A、124B和124N的基于时间的激活时间表和/或用户定义的激活偏好。传感器事件覆盖程序108从传感器网络122中的每个传感器(例如,传感器124B)接收设备传感器数据114,其中设备传感器数据114指示针对每个传感器124A、124B和124N的所捕获的数据的时间、所捕获的数据的原因、所捕获的一个或多个数据类型以及所发送的一个或多个数据类型。传感器事件覆盖程序108识别所接收的设备传感器数据114中的异常,并基于所识别的异常来识别移动模式。随后,传感器事件覆盖程序108存储设备传感器数据114,将所识别的异常存储为异常数据116,并且将所识别的移动模式存储为移动模式数据118。传感器事件覆盖程序108基于所接收的设备传感器数据114、异常数据116和移动模式数据118,通过机器学习过程的迭代来更新传感器网络122的基本参与轮廓112。

传感器事件覆盖程序108确定是否初始化传感器网络122中的传感器124A、124B和124N的参与轮廓112。响应于传感器事件覆盖程序108确定初始化参与轮廓112,传感器事件覆盖程序108基于参与轮廓112来激活传感器网络122中的每个传感器。响应于传感器事件覆盖程序108确定不初始化传感器事件覆盖程序108,传感器事件覆盖程序108返回到接收附加设备传感器数据114以执行机器学习过程的另一迭代,从而进一步更新参与轮廓112。当传感器事件覆盖程序108激活和去激活传感器网络122中的每个传感器时,传感器事件覆盖程序108基于所接收的设备传感器数据114更新传感器网络122的参与轮廓112。

数据库110是由传感器事件覆盖程序108使用的数据的储存库,所述数据诸如参与轮廓112、设备传感器数据114、异常数据116和移动模式数据118。在所描绘的实施例中,数据库110驻留在服务器计算机102上。在另一实施例中,数据库110可驻留在客户端设备104上或分布式数据处理环境内的被提供为传感器事件覆盖程序108可访问数据库110的其它地方。数据库110可以用能够存储可由所生成的设计程序108访问和利用的数据和配置文件的任何类型的存储设备来实现,诸如数据库服务器、硬盘驱动器或闪存。

传感器124A、124B和124N的参与轮廓112提供用于传感器124A、124B和124N的激活和去激活的指令,其中传感器的激活指示传感器正在捕获数据和发送数据,传感器的去激活指示传感器处于低功耗状态(例如,睡眠模式)。设备传感器数据114包括每个传感器124A、124B和124N的信息,诸如所捕获的数据的时间、所捕获的数据的原因、所捕获的一个或多个数据类型以及所发送的一个或多个数据类型。异常数据116包括由传感器网络122中的特定传感器(例如,传感器124A)捕获的数据,传感器事件覆盖程序108将该数据识别为相对于由传感器网络122中的其他传感器(例如,传感器124B和124N)捕获的数据是不规则的。移动模式数据118包括传感器事件覆盖程序108基于设备传感器数据114和异常数据116识别的跨传感器网络122的移动模式或变化。

通常,网络106可以是将支持服务器计算机102、客户端设备104和传感器网络122之间的通信的连接和协议的任何组合。网络106可以包括例如局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络或前述的任何组合,并且还可以包括有线、无线和/或光纤连接。在一个实施例中,传感器事件覆盖程序108可以是客户端设备104的用户能够经由网络106访问的web服务。在另一实施例中,传感器事件覆盖程序108可由服务器计算机102的用户直接操作。传感器网络122可以是将支持传感器124A、124B和124N与网络106之间的通信的连接和协议的任意组合。传感器网络122可包括例如局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络或前述网络的任何组合,并且还可包括独立于网络106的有线、无线和/或光纤连接。

图2是描绘根据本发明的实施例的图1的分布式数据处理环境内的服务器计算机上的、用于提供传感器网络事件覆盖的传感器事件覆盖程序的操作步骤的流程图。

对于训练阶段,传感器网络中的每个传感器连续地捕获传感器数据,并且基于对所捕获的传感器数据的分析,传感器事件覆盖程序识别所捕获的传感器数据中的异常。传感器网络中的每个传感器包括唯一的识别标记,并且每个捕获的传感器数据的相应证书被存储在数据库中。当具有传感器事件覆盖程序的服务器计算机从传感器网络中的每个传感器接收传感器数据时,用于每个传感器的唯一识别标记被包括用于将特定传感器与所捕捉的传感器数据相关联。传感器事件覆盖程序可以基于所识别的异常来识别移动模式。针对不同时间点(n)的传感器数据值矩阵被馈送到传感器事件覆盖程序的神经网络模型。在一个实施例中,值可被归一化为“0”和“1”,分别表示非活动传感器和活动传感器。非活动传感器可表示在特定时间点(n)不获取数据的传感器,而活动传感器可表示在特定时间点(n)获取数据的传感器。在另一实施例中,传感器数据值矩阵中的值可包括特定传感器的传感器读数(例如,25℃)。在又一实施例中,传感器数据值矩阵中的值可以指示特定传感器是在正常状态下操作还是在异常检测状态下操作。关于图3A-图3C更详细地讨论了示例传感器数据值矩阵的视觉表示。

传感器事件覆盖程序可以通过减少冗余特征来部署降维,以使分类更容易,并将输入特征馈送到神经网络模型。维度缩减无监督学习方法(例如,蒙特卡罗方法)可实现随时间减少或消除特征,或在此示例中,减少对传感器读数中的一个或多个的依赖性。降维无监督学习方法获得了更高的准确度,并且加快了调整权重和更快地训练模型的过程。当训练过程中的另一次迭代时,神经网络输出与时间(n+1)的传感器值数据进行比较,并且当神经网络在每次迭代(即,时间(n+2)、时间(n+3)……)中被训练时,权重被调整。传感器事件覆盖程序确定神经网络何时已被充分训练以递送预期活动传感器集合应当与活动传感器集合的当前时间片段进行比较的内容。

对于操作阶段,当传感器网络不收集数据(即,没有事件发生)时,神经网络没有数据来推断模式,并且覆盖在预测框架的顶部的情况是侦察模式。侦察模式激活传感器网络中的最小传感器集合以收集数据,其中最小传感器集合表示传感器网络中的传感器子集。传感器网络中的传感器子集可以基于用户定义的指定侦察传感器、具有最多活动的传感器、作为异常检测点的传感器来选择,并且可以随机地选择。在操作模式期间,侦察数据信号表示对于传感器网络中的至少一个传感器存在偶数和时间(n)数据。传感器事件覆盖程序的神经网络输入时间(n)的传感器值数据,具有经训练的权重的内部层计算输出值,并且传感器事件覆盖程序的神经网络输出时间(n+1)传感器激活集合。传感器事件覆盖程序利用传感器激活集合来发送唤醒信号以激活传感器,并相应地发送休眠信号以去激活传感器。

传感器事件覆盖程序108确定用于传感器网络的基本参与轮廓(202)。在该实施例中,传感器事件覆盖程序108通过识别传感器网络中的任何传感器是否利用基于时间的激活时间表和/或用户定义的激活偏好来确定用于传感器网络的基本参与轮廓。在基于时间的激活时间表的一个示例中,传感器事件覆盖程序108识别传感器网络中的传感器可以基于设定的时间间隔(例如,每二十分钟)来激活和去激活,其中传感器在第一时间间隔处激活以获取数据,并且随后去激活直到达到第二时间间隔。在基于时间的激活时间表的另一示例中,传感器事件覆盖程序108识别传感器网络中的传感器可在一天中的某些小时(例如,营业时间)内是活动的和去激活的,其中传感器在8AM和6PM的小时之间是活动的而在所有其他小时内是非活动的。在用户定义的激活偏好的一个示例中,传感器事件覆盖程序108识别用户已经将传感器网络中的传感器子集分组,其中在子集中激活的传感器导致子集中剩余传感器的激活,并且在子集中去激活的传感器导致子集中剩余传感器的去激活。在用户定义的激活偏好的另一示例中,传感器事件覆盖程序108识别用户针对给定范围(例如,X>15℃)内的读数已经指定传感器保持激活,其中如果传感器的读数不再处于给定范围(例如,X≤15℃)内,传感器可以去激活。传感器事件覆盖程序108利用所识别的基于时间的激活时间表和用户定义的激活偏好来确定传感器轮廓中的每个传感器的基本参与轮廓,以提供事件覆盖。

传感器事件覆盖程序108从传感器网络中的每个传感器接收数据(204)。传感器网络中的每个传感器包括用于识别传感器类型和已知位置的唯一识别标记,其中唯一识别标记和由每个传感器捕获的设备传感器数据的相应证书被存储在数据库中。设备传感器数据可以包括所获取的读数(例如,温度、湿度、声音)、激活指示(即,激活的或去激活的)、操作状态(即,正常状态、异常状态、错误状态)、所获取的读数的时间戳,以及所获取的读数的位置。传感器事件覆盖程序108以数据值矩阵的形式接收时间(n)的设备传感器数据,其中数据值矩阵中的每个值由传感器网络中的单个传感器的所获取的读数来表示。传感器事件覆盖程序108从传感器网络中的每个传感器接收具有唯一识别标记的设备传感器数据,并利用所接收的传感器数据来识别异常。传感器事件覆盖程序108可以利用所获取的读数的位置来创建地图上的视觉覆盖,其中传感器事件覆盖程序108可以在与用户相关联的客户端设备上显示地图上的具有传感器位置的覆盖。用户可以选择传感器网络中的一个或多个传感器以排除随后更新基本参与轮廓,这将关于(212)进一步详细讨论。

传感器事件覆盖程序108识别所接收的数据中的异常(206)。在该实施例中,传感器事件覆盖程序108通过将传感器网络中的单个传感器的所接收的设备传感器数据与传感器网络中的其余传感器针对时间(n)进行比较来识别传感器网络中的一个或多个传感器的异常。传感器事件覆盖程序108在传感器网络中的传感器的所接收的设备传感器数据中识别的异常指示传感器是活动的并且在时间(n)的事件期间获取数据。事件表示在传感器附近(即,事件覆盖区域)的发生,其需要传感器的激活以获取数据和/或执行动作。在一个示例中,多个相机设备位于零售位置,其中来自多个相机设备的每个相机设备包括用于激活相应相机的运动传感器。传感器事件覆盖程序108识别多个相机设备中的异常,该异常指示第一相机设备在时间(n)处结合第二相机设备激活。然而,在接收设备传感器数据的后续迭代中,传感器事件覆盖程序108识别多个相机设备中的异常,该异常指示第一相机设备在时间(n+1)处结合第三相机设备激活,但是第二相机设备保持非活动。传感器事件覆盖程序108识别并遵守在零售位置的多个相机在多个时间点(即,时间(n+1)、时间(n+2)、时间(n+3)……)的识别的异常。

在另一示例中,多个温度传感器定位在作物田(crop field)中,其中来自多个温度传感器的每个温度获取时间(n)处的温度读数和温度阈值(例如,x>25℃)以激活温度传感器附近的灌溉系统的一部分。灌溉系统的一部分的激活可以包括打开电子控制水阀,以确保温度传感器附近的作物田的一部分中的土壤在读数高于温度阈值的情况下保持特定湿度水平。传感器事件覆盖程序108识别多个温度传感器数据中的异常,该异常指示第一温度传感器在时间(n)处记录了高于温度阈值的第一读数。然而,在接收温度传感器数据的后续迭代中,传感器事件覆盖程序108识别多个温度传感器数据中的异常,该异常指示第一、第二和第三温度传感器在时间(n+1)处记录了高于温度阈值的第一、第二和第三读数。传感器事件覆盖程序108识别并遵守在多个时间点(即,时间(n+1)、时间(n+2)、时间(n+3)……)处定位在作物田中的多个温度传感器的所识别的异常。

传感器事件覆盖程序108基于所识别的异常来识别移动模式(208)。传感器事件覆盖程序108基于在时间(n)处接收到的设备传感器数据的所识别的异常与在时间(n-1)、时间(n-2)处接收到的设备传感器的任何先前识别的异常的比较来识别移动模式。出于讨论的目的,移动模式表示传感器网络中的传感器的子集的激活的实例,其中来自传感器网络的活动传感器的子集可以在不同的时间点(例如,时间(n-1)vs时间(n)vs时间(n+1))改变。在一个示例中,在多个相机设备位于零售位置的情况下,传感器事件覆盖程序108识别多个相机设备中的异常,该异常指示第一相机设备在时间(n)处结合第二相机设备激活。传感器事件覆盖程序108还预先识别多个相机设备中的异常,该异常指示第一相机设备在时间(n-1)处结合第三相机设备激活,并且第一相机设备在时间(n-2)处结合第四相机设备激活。传感器事件覆盖程序108将时间(n)处的识别的异常与时间(n-1)和时间(n-2)处的先前识别的异常进行比较,以识别传感器网络中的传感器的移动模式。传感器事件覆盖程序108利用传感器网络中具有运动传感器的每个相机设备的已知位置来确定传感器网络中的每个运动传感器何时以及如何关于彼此激活和去激活。

在另一示例中,在多个温度传感器位于作物田中的情况下,传感器事件覆盖程序108识别多个温度传感器中的异常,该异常指示第一温度传感器在时间(n)处记录了高于温度阈值的第一读数。传感器事件覆盖程序108还预先识别了多个温度传感器中的异常,其指示第二温度传感器在时间(n-1)处记录了高于温度阈值的第二读数,第三温度传感器在时间(n-2)处记录了高于温度阈值的第三读数,并且第四温度传感器在时间(n-3)处记录了高于温度阈值的第四读数。传感器事件覆盖程序108将时间(n)处的识别的异常与时间(n-1)、时间(n-2)和时间(n-3)处的先前识别的异常进行比较,以识别传感器网络中的传感器的移动模式。传感器事件覆盖程序108利用传感器网络中的每个温度传感器的已知位置来确定传感器网络中的每个温度传感器何时以及如何关于彼此激活和去激活。

传感器事件覆盖程序108存储所接收的数据、所识别的异常和所识别的移动模式(210)。利用传感器网络中的每个传感器的唯一识别标记和相关联的时间戳,传感器事件覆盖程序108将传感器网络在时间(n)处的移动模式数据、异常数据和所接收的传感器数据存储在数据库中。在时间(n)存储传感器网络的组合数据表示编译用于机器学习过程的数据的单次迭代,以更新在(202)中建立的传感器网络的基本参与轮廓。在时间(n-1)处存储传感器网络的组合数据的先前实例和在时间(n+1)处存储传感器网络的组合数据的后续实例,每个表示编译用于机器学习过程的数据的另一迭代,用于连续更新在(202)中建立的传感器网络的基本参与轮廓。

传感器事件覆盖程序108更新用于传感器网络的基本参与轮廓(212)。传感器事件覆盖程序108基于所接收的传感器数据、异常数据和传感器网络中的每个传感器的移动模式数据来更新传感器网络的基本参与轮廓。如前所述,参与轮廓提供用于激活和去激活传感器网络中的每个传感器的指令,用于在特定时间点提供事件覆盖,其中传感器的激活指示传感器正在捕获数据和发送数据,而传感器的去激活指示传感器处于低功耗状态(例如,睡眠模式)。在一个示例中,传感器事件覆盖程序108基于与传感器网络中的相机设备相关联的运动传感器的基于时间的激活时间表来预先确定基本参与轮廓,激活和去激活一天中的某些小时,其中运动传感器在8AM和6PM之间是活动的,并且在所有其它小时是非活动的。然而,基于机器学习过程的多次迭代,传感器事件覆盖程序108识别传感器网络中的运动传感器的移动模式,该移动模式指示传感器网络中的运动传感器中的仅一部分在一天中的某个小时期间的特定时间点(例如,时间(n-1)、时间(n+1))主动地获取数据。传感器事件覆盖程序108通过将基于时间的激活调度与传感器网络中的传感器的所识别的移动模式组合来更新基本参与轮廓。结果,在8AM和6PM小时之间的特定时间点,仅激活传感器网络中的一部分运动传感器。应当注意,传感器事件覆盖程序108还识别在特定时间点激活了运动传感器的哪个部分,其中在时间(n-1)处传感器网络中的运动传感器的第一部分被激活,并且在时间(n)处传感器网络中的运动传感器的运动的第二部分被激活。运动传感器的第一部分中的一个或多个传感器可以与运动传感器的第二部分中的一个或多个传感器相同。

在另一示例中,传感器事件覆盖程序108基于基于时间的激活时间表和用于激活传感器网络中的温度传感器的用户定义的激活偏好两者来预先确定基本参与轮廓。先前确定基于时间的激活时间表的传感器事件覆盖程序108要求每30分钟要激活温度传感器网络中的每个温度以获取温度读数。传感器事件覆盖程序108预先确定用户定义的激活偏好包括当来自传感器网络中的温度传感器子集中的特定温度传感器的温度读数在给定范围内(例如,X>15℃)时激活该子集,并且当来自该子集中的特定温度传感器的温度读数在给定范围之外(例如,X≤15℃)时去激活该子集。基于机器学习过程的多次迭代,传感器事件覆盖程序108识别传感器网络中的温度传感器的移动模式,该移动模式指示传感器网络中的温度传感器仅在环境温度处于给定范围中的白天时间期间获取数据。此外,传感器事件覆盖程序108识别传感器网络中的温度传感器的移动模式,该移动模式指示温度传感器的子集中的仅一部分正在获取给定范围内的数据,并且温度传感器的子集中的剩余部分正在获取给定范围之外的数据。传感器事件覆盖程序108基于所识别的移动模式更新用于传感器网络的基本参与轮廓,以进一步减少温度传感器何时被激活以用于获取数据(即,在白天期间),并且进一步将温度传感器的子集减少到温度传感器的子集中的将被激活以获取温度读数数据的所识别的部分。

传感器事件覆盖程序108确定是否初始化用于传感器网络的参与轮廓(判断214)。在一个实施例中,传感器事件覆盖程序108利用机器学习过程的总迭代计数(例如,一百次迭代)来确定是否针对各个时间点接收到足够的设备传感器数据,以建立用于传感器网络中的传感器的参与轮廓。在另一实施例中,传感器事件覆盖程序108利用针对机器学习过程的稳定迭代计数(例如,十次迭代),其中稳定迭代计数表示在没有对参与轮廓的更新的各个时间点收集的数据量。在传感器事件覆盖程序108确定要初始化用于传感器网络的参与轮廓(判断214,“是”分支)的情况下,传感器事件覆盖程序108基于参与轮廓来激活传感器网络中的每个传感器(216)。在传感器事件覆盖程序108确定不初始化用于传感器网络的参与轮廓(判断214,“否”分支)的情况下,传感器事件覆盖程序108执行机器学习过程的另一迭代,并返回到在时间(n+1)处从传感器网络中的每个传感器接收附加数据,以进一步更新具有调整的传感器网络的参与轮廓。

传感器事件覆盖程序108基于参与轮廓来激活传感器网络中的每个传感器(216)。对于每个时间点,传感器事件覆盖程序108基于参与轮廓激活传感器网络中的每个传感器,并且类似地基于参与轮廓去激活任何传感器。参与轮廓跨越各种持续时间并且取决于传感器网络的预期使用。在一个示例中,传感器事件覆盖程序108根据创建七天的参与轮廓来激活和去激活与零售位置中的相机设备相关联的运动传感器,其中在七天之后,参与轮廓每七天连续循环一次。在另一示例中,传感器事件覆盖程序108根据针对一年中的每一天创建的参与轮廓来激活和去激活作物田中的温度传感器,因为季节性和太阳能模式每天改变影响作物田中的温度传感器的激活。

传感器事件覆盖程序108更新用于传感器网络的参与轮廓(218)。在一个示例中,传感器事件覆盖程序108根据创建七天的参与轮廓来激活和去激活与零售位置中的相机设备相关联的运动传感器,其中在七天之后,参与轮廓每七天连续循环一次。当传感器事件覆盖程序108利用用于运动传感器的参与轮廓时,传感器事件覆盖程序108可以连续地从每个活动传感器接收设备传感器数据,以识别附加异常和移动模式,从而进一步更新参与轮廓。这种连续的机器学习过程允许传感器事件覆盖程序108更新一年中不同时间的参与轮廓,其中一年中的不同时间可以影响传感器网络中的传感器如何被激活和被去激活以提供所需的事件覆盖,同时保持能量节约。在另一示例中,传感器事件覆盖程序108根据针对一年中的每一天创建的参与轮廓来激活和去激活作物田中的温度传感器,因为季节性和太阳能模式每天改变影响作物田中的温度传感器的激活。当传感器事件覆盖程序108利用用于温度传感器的参与轮廓时,传感器事件覆盖程序108可以连续地从每个活动传感器接收设备传感器数据,以识别附加异常和移动模式,以进一步更新参与轮廓。这个连续的机器学习过程允许传感器事件覆盖程序108更新环境(即,作物田)中的任何新引入的变量(例如,影响太阳能模式的结构)的参与轮廓,该新引入的变量可以影响由温度传感器获取的数据。

图3A示出了根据本发明的实施例的有传感器事件覆盖程序进行的传感器网络事件覆盖的时间(n)处的活动参与模式的示例。在该实施例中,传感器事件覆盖程序108激活传感器网络中的各个温度传感器,其中每个温度传感器与激活灌溉系统中的电子控制水阀相关联。如果温度传感器的温度读数处于或高于阈值(例如,X≥25℃),则与温度传感器相关联的电子控制水阀打开,以确保温度传感器附近的作物田的一部分中的土壤在温度读数高于阈值的情况下保持某一湿度水平。如果温度传感器的温度读数低于阈值(例如,X<25℃),则与温度传感器相关联的电子控制水阀关闭。为了确保传感器网络中的温度传感器不会通过获取数据而连续地消耗功率,传感器事件覆盖程序108利用参与轮廓来激活和去激活数据值矩阵302的传感器网络中的温度传感器。在该示例中,激活温度传感器由“1”表示,非激活温度传感器由“0”表示。通过机器学习过程的多次迭代,传感器事件覆盖程序108建立针对时间(n)的参与轮廓304、针对时间(n+1)的参与轮廓306、以及针对时间(n+2)的参与轮廓308。

传感器事件覆盖程序108预先识别传感器网络中的温度传感器的异常和移动模式。在该示例中,参与轮廓304、306和308各自表示传感器网络的移动模式,并且数据值矩阵302表示作物田,其中每个移动模式与作物田上的太阳能模式相关联。在时间(n)(例如,六月1日的8AM),作物田上的太阳能模式的边缘由参与轮廓304表示,其中位于由参与轮廓304表示的太阳能模式的边缘内的温度传感器是活动的,而位于由参与轮廓304表示的太阳能模式的边缘外的温度传感器是非活动的。先前确定移动模式的传感器事件覆盖程序108与太阳能模式相关联,其中暴露于太阳光线(直接或间接)的温度传感器经历温度读数的快速增加。结果,一旦被太阳能模式覆盖并暴露于太阳射线,温度可迅速超过(例如,5分钟)阈值(例如,X<25℃)。对于位于参与轮廓304的边缘上的温度传感器310,传感器事件覆盖程序108考虑温度传感器310的初始化和校准周期(例如,30秒),并指示温度传感器310在暴露于太阳能模式下的太阳光线之前是活动的。

图3B示出了根据本发明的实施例的由传感器事件覆盖程序进行的对传感器网络事件覆盖的在时间(n+50)处的活动参与模式的示例。在时间(n+50)(例如,六月一日的12PM)处,作物田上的太阳能模式的边缘由参与轮廓306表示,其中位于由参与轮廓306表示的太阳能模式的边缘内的温度传感器是活动的,并且位于由参与轮廓306表示的太阳能模式的边缘外的温度传感器是非活动的。尽管在图3B中未示出,但是在时间(n)和时间(n+50)之间存在多个参与轮廓,其中多个参与轮廓提供参与轮廓304到参与轮廓306之间的过渡。

图3C示出了根据本发明的实施例的在时间(n+100)处的针对不同季节的由传感器事件覆盖程序进行的传感器网络事件覆盖的活动参与模式的示例。在时间(n+100)(例如,六月一日4PM),作物田上的太阳能模式的边缘由参与轮廓308表示,其中位于由参与轮廓308表示的太阳能模式的边缘内的温度传感器是活动的,并且位于由参与轮廓308表示的太阳能模式的边缘外的温度传感器是非活动的。应当注意,由参与轮廓304和306指示为活动的传感器网络中的温度传感器的一部分不再由参与轮廓308指示为活动的。尽管在图3C中未示出,但是在时间(n+50)和时间(n+100)之间存在多个参与轮廓,其中多个参与轮廓提供参与轮廓306到参与轮廓308之间的过渡。

图4示出了根据本发明的实施例的传感器事件覆盖程序的传感器网络事件覆盖的时间(n)处的活动参与模式的示例。传感器事件覆盖程序108利用参与轮廓来激活和去激活来自图3A-图3C的数据值矩阵302的传感器网络中的温度传感器,但是在一年中的不同时间期间,此时太阳能模式与图3A-图3C中的太阳能模式不同。激活温度传感器由“1”表示,非激活温度传感器由“0”表示。通过机器学习过程的多次迭代,传感器事件覆盖程序108针对一年中的不同时间建立针对时间(n)的参与轮廓402、针对时间(n+1)的参与轮廓404和针对时间(n+2)的参与轮廓406。传感器事件覆盖程序108预先识别传感器网络中的温度传感器的异常和移动模式。在该示例中,参与轮廓402、404和406各自表示传感器网络的移动模式,并且数据值矩阵302表示作物田,其中每个移动模式与作物田上的太阳能模式相关联。

在时间(n)(例如,十月一日8AM),作物田上的太阳能模式的边缘由参与轮廓402表示,其中位于由参与轮廓402表示的太阳能模式的边缘内的温度传感器是活动的,位于由参与轮廓402表示的太阳能模式的边缘外的温度传感器是非活动的。在时间(n+50)(例如,十月一日12PM),作物田上的太阳能模式的边缘由参与轮廓404表示,其中位于由参与轮廓404表示的太阳能模式的边缘内的温度传感器是活动的,而位于由参与轮廓404表示的太阳能模式的边缘外的温度传感器是非活动的。在时间(n+100)(例如,十月一日4PM),作物田上的太阳能模式的边缘由参与轮廓406表示,其中位于由参与轮廓406表示的太阳能模式的边缘内的温度传感器是活动的,而位于由参与轮廓406表示的太阳能模式的边缘外的温度传感器是非活动的。通过迭代机器学习的传感器事件覆盖程序108具有识别关于时间的移动模式并相应地为传感器网络参与轮廓304、306、308、402、404和406中的每个温度传感器建立的能力。

图5描绘了计算机系统,其中服务器计算机102是可包括传感器事件覆盖程序108的计算机系统的示例。计算机系统包括处理器504、高速缓存516、存储器506、永久性存储装置508、通信单元510、(多个)输入/输出(I/O)接口512和通信结构502。通信结构502提供高速缓存516、存储器506、永久性存储装置508、通信单元510和输入/输出(I/O)接口512之间的通信。通信结构502可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何体系结构来实现。例如,通信结构502可以用一个或多个总线或交叉开关来实现。

存储器506和永久性存储装置508是计算机可读存储介质。在该实施例中,存储器506包括随机存取存储器(RAM)。通常,存储器506可以包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存516是通过保持来自存储器506的最近访问的数据和最近访问的数据附近的数据来增强处理器504的性能的快速存储器。

用于实践本发明的实施例的程序指令和数据可以存储在永久性存储装置508和存储器506中,以用于由一个或多个相应的处理器504经由高速缓存516执行。在实施例中,永久性存储装置508包括磁性硬盘驱动器。作为磁性硬盘驱动器的替代或补充,永久性存储装置508可包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其它计算机可读存储介质。

由永久性存储装置508使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置508。其它示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便传送到也是永久性存储装置508的一部分的另一计算机可读存储介质上。

在这些示例中,通信单元510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元510包括一个或多个网络接口卡。通信单元510可以通过使用物理和无线通信链路中的一种或两种来提供通信。用于实践本发明的实施例的程序指令和数据可以通过通信单元510下载到永久性存储装置508。

(多个)I/O接口512允许与可以连接到每个计算机系统的其它设备输入和输出数据。例如,I/O接口512可以提供到外部设备518的连接,所述外部设备518诸如键盘、小键盘、触摸屏和/或一些其它合适的输入设备。外部设备518还可以包括便携式计算机可读存储介质,例如拇指驱动器、便携式光盘或磁盘以及存储卡。用于实践本发明的实施例的软件和数据可以存储在这样的便携式计算机可读存储介质上,并且可以经由(多个)I/O接口512加载到永久性存储装置508上。(多个)I/O接口512也连接到显示器520。

显示器520提供向用户显示数据的机制,并且可以是例如计算机监视器。

应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。

云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。

特性如下:

按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。

广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。

资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如,国家、州或数据中心)指定位置。

快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。

测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。

服务模型如下:

软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等薄客户端界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。

平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。

基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择联网组件(例如,主机防火墙)的有限控制。

部署模型如下:

私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。

公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。

混合云:云基础设施是两个或更多云(私有、社区或公有)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。

云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。

现在参考图6,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图6中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。

现在参考图7,示出了由云计算环境50(图6)提供的一组功能抽象层。应当预先理解,图7中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:

硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。

虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。

在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。

工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育递送93;数据分析处理94;交易处理95;以及传感器事件覆盖程序108。

这里描述的程序是基于在本发明的特定实施例中实现它们的应用来标识的。然而,应当理解,这里的任何特定程序术语仅是为了方便而使用,因此本发明不应当限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。

计算机可读存储介质可以是能够保持和存储由指令执行设备使用的指令的任何有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲),或通过导线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)以及常规的过程式编程语言(诸如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。

附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离本发明范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。

相关技术
  • 一种能量节约型无线传感器网络的构造和维护方法
  • 一种事件驱动型无线传感器网络能量监测方法
技术分类

06120115980069