物联网中的高效的面向服务实例的能量管理系统和方法
技术领域
本发明涉及物联网领域,具体地说,本发明涉及一种用于物联网中的高效的面向服务实例的能量管理系统和方法。
背景技术
物联网是新一代信息技术的重要组成部分,其英文名称是“TheInternetofThings(IoT)”。由此,顾名思义,物联网就是物物相连的互联网。具体地,物联网是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。物联网目的是实现物与物、物与人、所有的物品与网络的连接,以方便识别、管理和控制。
大多数IoT接入网络是无线的,在某些情况下,用于采集各种信息的传感器甚至可能被部署在野外。在这种情况下,传感器的电力由电池提供,因此其电量是有限的,并且这些传感器几乎不移动。当传感器的电量耗尽时,到野外人工更换传感器的电池可能是不现实的(例如,传感器被部署在探空气球上或者被部署在海底或火山口中的情况)。另外,在传感器非常廉价的情况下,为了更换传感器中的电池而去寻找部署在野外的传感器也是十分费力的。那么,如何保持整个物联网的能量以使之更长久地工作就成为一个极大的挑战。
图2是示出了适于用来实现本发明的物联网能量管理服务器在物联网中的部署位置的示意图。在现有技术中,存在部署在接入网层的应用,用于对单个域内的传感器进行能量管理。然而,这种层级的管理存在局限性。例如,以一个提供北京市的平均温度的服务为例,假定该服务提供的平均温度是基于在物理上位于北京北部的域A中的温度传感器a以及在物理上位于北京南部的域B中的温度传感器b的感测值的平均值。当按照接入网的层级来对传感器进行能量管理时,由于在不同的域之间的能量管理方式可能不同并且这些管理往往并不相关,所以很可能出现以下情况:温度传感器a的电量剩余很多,但温度传感器b的电量已耗尽。这样就得不到北京南部的温度,从而无法继续提供北京市平均温度服务,造成了服务质量(QoS)低下的结果。
这些现有技术例如包括IEEE802.11PowerSaveMode(PSM)。该技术通过使装置定期进入休眠状态来减少装置的空闲监听时间,从而使该装置节电。
另外,在公知的Sensor-MAC(S-MAC)协议中,网络中的节点定期地休眠,并且相邻节点形成虚拟集群从而针对休眠调度进行自动同步。
以上的现有技术均是针对特定网络域或网络协议而设计的,并且不支持提供的服务能力的灵活组合。
发明内容
基于以上的描述,希望提供一种能够在物联网的环境下高效地调度传感器的开关状态从而在长期实现较大程度的节能并且同时满足QoS要求的方法和系统。
为了解决上述的技术问题,本发明的发明人提出了面向服务实例执行能量管理,而不是直接面向传感器执行能量管理。根据本发明的一个方面,提供了一种用于物联网中的面向服务实例的能量管理方法,包括:基于服务实例转移模型预测在随后的时段中要服务的目标服务实例;根据与目标服务实例对应的关键覆盖集、该关键覆盖集中的传感器的使用历史数据以及所述传感器的能量参数,选择为了提供所述目标服务实例所基于的服务而要开启的开启传感器集合;以及响应于所述时段的开始,对物联网中的传感器的开关进行控制,把开启传感器集合中的传感器开启并且关闭开启传感器集合以外的传感器。
根据本发明的另一个方面,提供了一种用于物联网中的面向服务实例的能量管理系统,包括:预测装置,被配置为基于服务实例转移模型预测在随后的时段中要服务的目标服务实例;选择装置,被配置为根据与目标服务实例对应的关键覆盖集、该关键覆盖集中的传感器的使用历史数据以及所述传感器的能量参数,选择为了提供所述目标服务实例所基于的服务而要开启的开启传感器集合;以及控制装置,被配置为响应于所述时段的开始,对物联网中的传感器的开关进行控制,把开启传感器集合中的传感器开启并且关闭开启传感器集合以外的传感器。
本发明的方法和系统不依赖于任何MAC层的协议,对于下层的通信协议是透明的,并且与任何MAC层的协议兼容。本发明的方法和系统支持所提供的服务能力的灵活组合。另外,本发明的方法和系统能够考虑到应用运行的动态变动情况。
附图说明
以下通过结合附图阅读参考下述对说明性实施例的详细描述,将更好地理解本发明本身、实施方式、其它目的及其优点。在附图中:
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。
图2是示出了适于用来实现本发明的物理网能量管理服务器在物联网中的部署位置的示意图。
图3通过简单的例子示出了应用与服务实例之间的关系。
图4示出了基于图3的例子的服务实例状态转移图。
图5示出了基于图3的例子的带有转移概率的服务实例状态转移图。
图6是示出了用于例示传感器与服务实例的部署关系的示意图。
图7是示出了根据本发明的一个实施例的用于物联网中的面向服务实例的能量管理方法的流程图。
图8是示出了传感器与服务实例的部署关系的例子的示意图。
图9是示出了对应于图8中的例子的传感器的使用历史数据和服务实例的执行历史的例子的示意图。
图10是示出了基于图9的例子的传感器开关状态转移图。
图11示出了基于图9的例子的服务实例状态转移图。
图12是示出了根据本发明的另一个实施例的用于物联网中的面向服务实例的能量管理方法的流程图。
图13是示出了根据本发明的用于物联网中的面向服务实例的能量管理系统。
现在参照附图描述优选方法和系统,其中,在附图中相同的附图标号用来指相同的部件。在下面的描述中,为了解释的目的,阐述大量特定的细节,以便帮助完全了解系统及方法等。在其它的例子中,为了简化描述,以框图的形式示出常用的结构和装置。对于本领域技术人员来说,可以想到很多修改和其它实施例,同时拥有在说明书和附图中所教导的益处。因此,应该理解,本发明不局限于所公开的特定实施例,另外可选的实施例应当包含在本发明的范围和范例发明构思内。虽然本文采用了一些特定术语,但是仅仅为了一般的描述意义而非限制目的使用它们。
具体实施方式
下列讨论中,提供大量具体的细节以帮助彻底了解本发明。然而,很显然对于本领域技术人员来说,即使没有这些具体细节,并不影响对本发明的理解。并且应该认识到,使用如下的任何具体术语仅仅是为了方便描述,因此,本发明不应当局限于只用在这样的术语所表示和/或暗示的任何特定应用中。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、ROM103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
在以下的说明中,首先,对本公开中使用的关键术语和概念进行描述。
物联网中的不同的传感器提供不同的感测能力,例如,温度传感器可以感测温度,湿度传感器可以感测湿度,等等。在本发明中,将这些感测能力包装成多种不同的服务(Service)以提供给应用。本发明中的服务指的是能够提供给应用的最基本的服务,例如,“3楼房间301的温度”和“3楼房间301的湿度”。也就是说,本发明中的服务是提供特定物联网感测服务的基本粒度。应用只需要通过对不同的服务进行组合来实现具体的应用场景。
根据本发明的方法和系统实现于物联网应用基础设施层(参见图2)中,例如实现于图2中的IoT能量管理服务器中,该IoT能量管理服务器用于控制物理传感器的占空比以使整个系统的能效最高。IoT应用基础设施是用于支持物联网应用的执行的分布式中间件平台。该应用基础设施平台提供管理物理传感器作为服务的能力。例如,“3楼房间301的温度”和“3楼房间301的湿度”都是通过应用基础设施实现的服务的例子。利用通过基础设施实现的各种服务的灵活组合,物联网应用可以形成适于各种实用场景的应用逻辑。每个服务可能会要求来自不同网络域的物理传感器的参与,例如,上述的北京平均温度的例子。
对于每一种服务,其运行时实例被定义为服务实例(ServiceInstance,SI)。服务实例是基于传感器的组合而能够提供的服务的实例。当一个应用实际使用(调用)一种服务时,该服务的服务实例就在物联网中产生并运行,该运行需要相应的物理传感器工作。根据本发明的方法和系统进行的能量管理基于服务实例而非传感器。这样做的好处有:
1、对于服务而言,每个服务实例可由不同的传感器组合完成,向应用屏蔽了具体的传感器设备管理的细节,从而增强应用开发的灵活性;
2、对于传感设备而言,在管理具体传感设备时能充分考虑到其所提供的服务,从而保证服务的可靠性,因此,基于服务实例的能量管理模式在最小化系统能耗的同时兼顾了灵活性与可靠性,并能方便地移植到其它物联网应用支持平台。
图3通过简单的例子示出了应用与服务实例之间的关系。在图3中,例如,服务实例1是监测房间301的温度,服务实例2是检测房间301的湿度,服务实例3是房间301照明。在图3中,应用1-3分别使用了服务实例1-3构成自身的应用逻辑。参见图3中的状态转移,应用1例如循环执行如下的应用逻辑:检测房间301的温度,然后检测房间301的湿度,然后调节房间301的照明。应用2例如循环执行如下的应用逻辑:检测房间301的温度,然后调节房间301的照明,然后检测房间301的湿度。在应用3中分别循环执行如下的服务实例:检测房间301的温度,检测房间301的湿度,以及调节房间301的照明。图3仅仅是为了简化说明而给出的例子。在实际情况下,应用可以具有由很多不同的服务实例构成的复杂应用逻辑。
对于图3中的例子,当多个物联网应用(应用1-3)同时执行时,在特定时段内,存在如下的状态之一:服务实例1、2、3在单独执行、服务实例(1,2)在执行、服务实例(1,3)在执行、服务实例(2,3)在执行、服务实例(1,2、3)在执行。
图4示出了基于图3的例子的服务实例状态转移图。在图4中,存在7个状态,从每个状态都可以转移到其余6个状态之一。在假定应用1至3出现的概率均为1/3并且应用i(i=1~3)的服务实例j转移到服务实例k的概率均相等的情况下,得到图5中的带有转移概率的服务实例状态转移图。该带有转移概率的服务实例状态转移图在本发明中被称为服务实例转移模型。所述服务实例转移模型是通过对服务实例的执行历史在离线状态下进行学习而得到的,这将在下文中进行详细描述。另外,图5中给出的概率仅仅是示例性的,并不对本发明具有限制性。
下面引入关键覆盖集的概念。关键覆盖集对应于服务实例,其是具有能够提供该服务实例所基于的服务的能力的一个或多个传感器的各种组合的集合。图6是示出了用于例示传感器与服务实例的部署关系的示意图。在图6中,示出了10个传感器(圆形点)和3个服务实例(方形点)。这些传感器可能位于物联网的不同域中。可以根据传感器的信息和服务实例的信息在离线状态下自动生成关键覆盖集。例如,传感器的信息例如可以包括传感器的覆盖范围(射程)以及传感器的坐标,服务实例的信息例如可以包括服务实例的坐标。以图6中的服务实例1为例,根据传感器的信息和服务实例的信息,可以在离线状态下自动生成服务实例1的关键覆盖集S1={{1},{3},{5},{1,3},{1,5},{3,5},{1,3,5}}。该关键覆盖集中的每种组合(即每个元素)都具有能够提供该服务实例所基于的服务的能力。也就是说,单独开启传感器1、3、5,同时开启传感器(1,3)、(1,5)、(3,5)或(1,3,5),均能够提供服务实例1所基于的服务。
除了自动生成关键覆盖集以外,有时考虑到其它复杂因素,可以人工预先设置所述关键覆盖集。例如,对于图6中的例子,可以预先设置如下的各个关键覆盖集:
S1={{1},{3,5}}
S2={{2,4},{2,5},{4,5}}
S3={{6},{5,8},{8,9}}
S{1,2}=S1×S2
S{2,3}=S2×S3
S{1,3}=S1×S3
S{1,2,3}=S1×S2×S3
其中,Si表示服务实例i的关键覆盖集,S{1,2}表示满足服务实例1和2同时执行的关键覆盖集并且其等于S1+S2,这里的“×”算符表示S1与S2的笛卡尔积。例如,这里S{1,2}={{1,2,4},{1,2,5},{1,4,5},{2,3,4,5},{2,3,5},{3,4,5}}。另外,S{2,3}、S{1,3}和S{1,2,3}的定义与S{1,2}类似。
图7是示出了根据本发明的一个实施例的用于物联网中的面向服务实例的能量管理方法的流程图。该能量管理方法是在物联网应用基础设施中的物联网能量管理服务器中执行的,该物联网能量管理服务器用于对整个物联网进行集中式能量管理。图7中的流程图中的处理包括如下步骤:
步骤710:预测步骤。
步骤720:选择步骤。
步骤730:控制步骤。
下面,详细描述图7中的本发明的能量管理方法中的各个步骤。
步骤710:预测步骤
在步骤710中,基于服务实例转移模型预测在随后的时段中要服务的目标服务实例。
下面,结合一个具体的简单例子对本发明的能量管理方法中的各个步骤进行说明。图8是示出了传感器与服务实例的部署关系的例子的示意图。在图8中,存在两个传感器和一个服务实例,即,传感器1、传感器2和服务实例1。根据图8中的拓扑结构,这两个传感器均能够单独满足服务实例1的执行。
步骤710中的服务实例转移模型是通过对服务实例的执行历史在离线状态下进行学习而得到的。图9是示出了对应于图8中的例子的传感器的使用历史数据和服务实例的执行历史的例子的示意图。本发明的能量管理方法例如在图9中的判定点处执行。图9中的下部示出了服务实例1的执行历史。根据图9中的服务实例1的执行历史,可以得出服务实例1的状态转移的如下统计:假定从原点到判定点为45个时间单位,其中,有33单位时间为持续执行(即,前一单位时间在执行,紧接着的后一单位时间也在执行),有4单位时间为从执行到消失,有4单位时间为从消失到执行,有4单位时间为持续消失。
根据以上的对服务实例1的执行历史的统计,可以得出:在下一时段(从判定点开始的预定时段)中,服务实例1持续执行的概率为33/(33+4)=0.89;服务实例1停止的概率为4/(33+4)=0.11;从无服务实例状态转移到服务实例1执行的概率为4/(4+4)=0.5;无服务实例状态继续保持的概率为4/(4+4)=0.5。据此,得出图11所示的状态转移图。
图11示出了基于图9的例子的服务实例状态转移图。带有转移概率的该服务实例状态转移图对应于步骤710中的服务实例转移模型。根据图11中的服务实例转移模型,给定当前为服务实例1被服务(见图9),在步骤710中,预测下一个应被服务的服务实例。本发明采取随机选择的策略,在此,生成一个随机数rand(rand是[0,1]区间中的随机数)并和从服务实例1向外转移的概率进行比较,得到:
如果rand≤0.89,→服务实例1;
如果rand>0.89,→无
其中,“无”表示没有任何服务实例被服务的状态。基于此,根据产生的随机数,对下一时段(周期)中要服务的服务实例进行预测。假定rand=0.3,则在步骤710中,预测出下一时段中要服务的是服务实例1。
以上仅仅为了便于说明而给出了一个最简单的例子。实际上,在物联网中会存在多个服务实例同时执行。根据这些服务实例的执行历史,同样可以得出类似于图5和11的服务实例状态转移图。服务实例越多,转移图将会越复杂。
本发明的发明人提出了面向服务实例执行能量管理,而不是直接面向传感器执行能量管理。在此借助图8和9的例子给出原因。这里,定义图8中的传感器的开关状态为:开:1;关:0,从而得到传感器的四种开关状态(传感器2,传感器1):(0,1)、(1,0)、(1,1)、(0,0)。假定传感器的使用历史数据如图9的上部所示,同样,从原点到判定点为45个时间单位。并且假定从该图中测量得到:传感器1开启总计32单位时间,关闭总计13单位时间;传感器2开启总计20单位时间,关闭总计25单位时间。
根据图9可以计算得到如下的传感器开关的状态转移频度和转移概率:
(0,0)→(0,1):1次=>0.5(1,0)→(0,1):0次=>0
(0,0)→(1,0):1次=>0.5(1,0)→(0,0):0次=>0
(0,0)→(1,1):0次=>0(1,0)→(1,1):2次=>1
(1,1)→(0,1):2次=>0.67(0,1)→(1,1):1次=>0.33
(1,1)→(0,0):0次=>0(0,1)→(0,0):2次=>0.67
(1,1)→(1,0):1次=>0.33(0,1)→(1,0):0次=>0
其中,上述的转移概率是基于相应的状态转移的次数而计算出的。例如,从(0,0)出发的状态转移发生了两次,一次转移到(0,1),另一次转移到(1,0),所以相应的转移概率分别为0.5。
由此,得到图10所示的传感器开关状态转移图。从图10中可知,在当前状态(0,1)下,在判定点处,最有可能(以67%的概率)转移到状态(0,0),而在(0,0)状态下,传感器1和传感器2都将被关闭。但是,另一方面,从图9中可以看到,实际上,服务实例1在判定点后还是在执行,从而根据传感器开关状态转移图执行的传感器开关控制将无法满足未来的服务实例1的执行,因此服务质量得不到满足。
此外,基于传感器开关状态转移图的方法的复杂性过高。假定网络中共有N个传感器、M个服务实例,则基于传感器开关状态转移图的方法需要记录2N种不同状态,计算得到每个状态需要N个比特进行记录,因此总共需要存储N2N个比特,在物联网环境中传感器数量N通常为百万量级,这个数字已经远远超过一般的服务器的存储能力,这在实现上基本不可能。例如,当N=1000时,N2N=1.3e303字节。
而在本发明的基于服务实例转移模型的方法中中只需记录2M种不同状态,存储共需M2M个比特。在物联网的场景中服务实例的个数通常很小(如M=10,这是因为例如在一个工厂中大量部署一类传感器,而它们执行的均为同一任务),因此远远小于基于传感器开关状态转移图的方法中的计算和存储复杂度。例如,当M=20时,M2M=2.6兆字节
另外,需要说明的是,本发明的能量管理方法是实时执行的。在一个实施例中,通过对服务实例的执行历史在离线状态下进行学习而得到(例如,图11中的)服务实例转移模型。所述学习被定期执行从而使所述服务实例转移模型得到定期更新。例如,每当本发明的系统或方法准备上线之前或者按照预定定时或间隔,基于最新的服务实例的执行历史,学习得到当前的服务实例转移模型。然后,本发明的系统或方法在运行时使用该服务实例转移模型进行所述预测。通过这样做,可以考虑到应用运行的动态变动情况。例如,夜间运行的应用所使用的服务实例与白天运行的应用所使用的服务实例可能会有很大不同。
步骤720:选择步骤
在步骤720中,根据与目标服务实例对应的关键覆盖集、该关键覆盖集中的传感器的使用历史数据以及所述传感器的能量参数,选择为了提供所述目标服务实例所基于的服务而要开启的开启传感器集合。
仍然采用图8和9中的情况作为例子进行说明。如上所述,假定按照上面的算法,在步骤710中预测出在下一时段中服务实例1将被服务。与服务实例1对应的关键覆盖集是S{1}={{1},{2},{1,2}},也就是说,传感器1和2能够单独或者共同满足服务实例1。该关键覆盖集可以是自动生成的,也可以是预先设置的。
现在,在步骤720中,需要选择使用哪个或哪些传感器来满足服务实例1。
关键覆盖集S{1}中的传感器(传感器1和2)的使用历史数据如上所述:传感器1开启总计32单位时间,关闭总计13单位时间;传感器2开启总计20单位时间,关闭总计25单位时间。例如,传感器的能量参数至少包括传感器的初始能量、传感器的单位时间消耗的能量以及传感器的单次开关消耗的能量。在图8和9的例子中,假定具有如下的传感器能量参数:
单独开启传感器1:消耗0.1能量单位(E)/单位时间
单独开启传感器2:消耗0.1能量单位/单位时间
每个传感器的初始能量为10E,每次开/关传感器消耗0.1E能量
传感器1和2共同开启时,各自消耗0.1能量单位/单位时间
根据图9中的上部,统计得到:至判定点为止,传感器1开关了6次,消耗了0.6E能量,开启了32单位时间,消耗了3.2E能量,因此剩余10E-0.6E-3.2E=6.2E能量;传感器2开关了4次,消耗了0.4E能量,开启了20单位时间,消耗了2.0E能量,因此剩余10E-0.4E-2.0E=7.6E能量。
在步骤720中,在一个实施例中,所述选择是基于根据与目标服务实例对应的关键覆盖集、该关键覆盖集中的传感器的使用历史数据以及所述传感器的能量参数而计算的在关键覆盖集中的每种组合被选择的情况下的能量消耗率。
在本发明中,每个传感器的能量消耗率被定义为:
其中,是第i个传感器的能量消耗率,是第i个传感器开启总时间,T是统计时段的总时长,ei是第i个传感器的单次开/关消耗的能量,Ei是第i个传感器的剩余能量,γ1和γ2是设置的权重系数。
关键覆盖集中的每种组合被选择的情况下的能量消耗率:
其中,S表示关键覆盖集。
在一个实施例中,例如进行如下设置:γ1=0.2并且γ2=0.8。下面,计算的在关键覆盖集中的每个元素被选择的情况下的能量消耗率。
如果下一时段传感器1单独提供服务(对应于S{1}中的{1}),计算传感器1的能量消耗率,得到:
其中,当前状态为(0,1),传感器1处于开启状态,所以不必开关传感器,因而ei=0;并且T是时间单位。另外,表示S{1}的能量消耗率。
如果下一时段传感器2单独提供服务(对应于S{1}中的{2}),计算传感器2的能量消耗率,得到:
如果下一时段传感器1和2共同提供服务(对应于S{1}中的{1,2}),计算传感器1和2的能量消耗率,得到:
因为基于步骤710中的预测,为了满足服务实例1,不可能把传感器1和2同时关闭,因此不考虑同时关闭传感器1和2的情况。
然后,基于该能量消耗率,选择为了提供所述目标服务实例所基于的服务而要开启的开启传感器集合。具体地,在上面的例子中,比较计算出的三个能量消耗率,选择与最小的能量消耗率所对应的传感器集合。
在当前的例子中,关键覆盖集S{1}中的元素{2}被选择。即,开启传感器集合为{2}。也就是说,在下一时段中,选择开启传感器2。
另一方面,假定在步骤710中预测在下一时段没有任何服务实例将被服务,则在步骤720中,简单地关闭所有传感器。
上面提到的能量消耗率仅仅是本发明给出的一个例子。本领域技术人员可以想到其它量度来比较各种传感器的组合(例如,不考虑开/关消耗的能量),从而同样可以进行要开启的传感器的组合的选择。
步骤730:控制步骤
在步骤730中,在下一时段开始时,对物联网中的传感器的开关进行控制,把开启传感器集合中的传感器开启并且关闭开启传感器集合以外的传感器。
例如,根据以上的例子,在步骤730中,在下一时段开始时(即,在图9中的判定点处),把开启传感器集合{2}中的传感器2开启,并且关闭传感器集合{2}以外的传感器,即,传感器1。
图12是示出了根据本发明的另一个实施例的用于物联网中的面向服务实例的能量管理方法的流程图。图12中的流程图中的处理包括如下步骤:预测步骤1210、选择步骤1220、控制步骤1230和更新步骤1240,其中步骤1210至1230中的处理与图7中的步骤710至730中的处理类似。
在更新步骤1240中,根据下一时段中的传感器的使用情况,更新传感器的使用历史数据。也就是说,按照图9的上部所述的方式,继续累积在下一时段中的传感器1和传感器2的使用历史数据。
在步骤1240之后,处理返回到步骤1220,并且步骤1220至步骤1240被周期性地执行。从第二次执行起,每次执行时在步骤1220中使用的传感器的使用历史数据均是在上一次执行时在步骤1240中进行更新后的传感器的使用历史数据。
以上,通过一个简单的例子说明了本发明的发明构思,但是本发明并不限于所公开的具体实施例或者参数的具体数值。例如,上述的能量消耗率可以用其它的公式给出,γ1和γ2也可被设置为例如0.3和0.7等。
图13是示出了根据本发明的用于物联网中的面向服务实例的能量管理系统1300。该能量管理系统1300包括:预测装置1310、选择装置1320、控制装置1330。该预测装置1310基于服务实例转移模型预测在随后的时段中要服务的目标服务实例。该选择装置1320根据与目标服务实例对应的关键覆盖集、该关键覆盖集中的传感器的使用历史数据以及所述传感器的能量参数,选择为了提供所述目标服务实例所基于的服务而要开启的开启传感器集合。该控制装置1330在所述时段开始时,对物联网中的传感器的开关进行控制,把开启传感器集合中的传感器开启并且关闭开启传感器集合以外的传感器。
在另一个实施例中,能量管理系统1300还可以包括更新装置1340。该更新装置1340根据所述时段中的传感器的使用情况,更新传感器的使用历史数据。
所属技术领域的技术人员知道,本发明的多个方面可以体现为系统、方法或计算机程序产品。因此,本发明的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。
可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是(但不限于)电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括(但不限于)电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括(但不限于)无线、电线、光缆、RF等等,或者任何合适的上述组合。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括(但不限于)无线、电线、光缆、RF等等,或者任何合适的上述组合。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言,诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以上参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。