动态监测
1.本发明是在美国国家核安全管理局的能源部(doe/nnsa)授予的协议号de-ac52-07na27344的政府支持下完成的。美国政府对本发明享有一定的权利。
背景技术:2.可以执行系统管理以响应于事件(例如,如恶意软件攻击、故障或错误等的安全事件)来控制各种电子设备或者实现目标操作目标。可以执行系统监测来收集数据,以用于确定计算环境的操作特性。
附图说明
3.关于以下附图描述了本公开的一些实施方式。
4.图1是根据一些示例的包括监测系统管理器的布置的框图。
5.图2是根据一些示例的监测框架的框图。
6.图3是根据一些示例的存储有机器可读指令的存储介质的框图。
7.图4是根据一些示例的系统的框图。
8.图5是根据一些示例的过程的流程图。
9.在所有附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定是成比例的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
10.在本公开中,除非上下文另外明确指示,否则使用术语“一个/一种(a/an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”、“具有(have/having)”指明存在所述元素,但不排除存在或添加其他元素。
11.用于计算环境的监测系统可以包括执行监测数据收集的代理。“代理”可以指收集计算环境的监测数据的实体。代理可以包括一个或多个设备。设备可以指用于组织传感器的(逻辑或物理)实体。传感器是指获取与计算环境有关的测量数据(也称为“传感器数据”)的实体。传感器可以是硬件传感器或使用机器可读指令来实施的传感器。传感器可以收集的测量数据的示例包括以下各项中的任一项或某种组合:资源使用(如处理资源、通信资源、存储资源等的使用)、事件信息(例如,与如数据错误、程序故障、硬件失效等异常有关的信息、指示如恶意软件或人等未经授权的实体进行的攻击的信息、温度超过阈值、资源性能低于阈值等)、环境数据(例如,温度、压力、与系统基础设施(如冷却设备等)有关的信息等)等等。
12.在一些示例中,监测系统可以采用静态配置,在所述静态配置中,数据收集的特性是静态地设置的和/或用于收集传感器数据的代理是静态的。例如,代理的数量可以是固定的,或者监测系统可以指定由特定实体(例如,公司、个人、组织等)提供代理。监测系统可能
不能接受来自不是由指定实体提供的代理的监测数据。
13.此外,不同类型的代理可以采用不同的传感器数据格式,这可能会引起与监测系统的兼容性问题。
14.根据本公开的一些实施方式,动态监测系统动态地配置包括用于监测计算环境的相应传感器的代理,所述计算环境可以包括电子设备。计算环境可以包括电子设备所耦接到的网络。网络的示例包括局域网、广域网、存储区域网、公用网络等等。电子设备的示例包括计算机(例如,台式计算机、笔记本计算机、服务器计算机、平板计算机等)、存储系统、通信节点、车辆、车辆控制器、电器等等。在一些示例中,计算环境还可以包括支持性基础设施,诸如冷却系统、电力输送系统等等。
15.计算环境可以包括云计算环境、数据中心或包括电子设备的任何其他类型的环境。
16.动态监测系统接收传感器数据以及与所述传感器数据分开的元数据。“传感器数据”是指作为监测计算环境一部分而收集的任何数据。传感器数据可以包括来自传感器的原始测量数据或基于所述原始测量数据的经转换/经处理的数据。传感器数据还可以包括已检测到的事件的信息。
17.传感器数据与元数据的分开允许一次或不频繁地传送元数据,使得更频繁地传输的传感器数据不必包括元数据。与包含传感器数据和元数据两者的消息相比,包含传感器数据而没有元数据的消息可以具有更小的尺寸。此外,在一些示例中,传感器数据可以根据按照语法的指定格式,所述语法管理(govern)由与动态监测系统交互的各种代理传输的传感器数据的格式化。
18.图1是包括监测系统管理器102的示例布置的框图,所述监测系统管理器能够与代理104进行交互,所述代理收集与计算环境106的各种方面有关的传感器数据。注意,代理104可以被部署为计算环境106的一部分,如机器可读指令和/或作为电子设备105和/或计算环境106的其他设备的一部分或与之耦接的硬件部件。在其他示例中,代理104可以与计算环境106分开,并且可以通过网络(例如,108)耦接到计算环境106。
19.监测系统管理器102包括可以通过网络108与代理104进行通信的多个计算设备。如这里所使用的,“多个”元件可以指一个或多个元件。
20.在根据图1的示例中,每个代理104包括多个设备110。设备110是组织多个传感器112的逻辑实体或物理实体。作为示例,设备可以包括可以具有多个传感器的恒温器。作为另一示例,设备可以包括具有多个端口的网卡,其中,每个端口可以连接到相应传感器。作为进一步示例,设备可以是一组传感器。
21.在根据图1的示例中,虽然设备110和传感器112被描绘为作为每个相应代理104的一部分,但是应注意,设备和/或传感器可以在代理104的外部但通信地耦接到代理104。
22.在其他示例中,没有采用用于组织多个传感器112的设备110的概念。在这种示例中,传感器112可以是代理104的一部分或者可以通信地耦接到代理104。
23.监测系统管理器102包括动态配置引擎114。如这里所使用的,“引擎”可以指硬件处理电路,所述硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或另一个硬件处理电路中的任何一项或某种组合。可替代地,“引擎”可以指硬件处理电路和可在硬件处理电路上执行的机器可读指令(软件和/或固件)的组
合。
24.动态配置引擎114能够动态地配置与由多个代理104执行的监测相关联的多个属性,诸如以满足不断变化的规范(例如,来自客户或监测框架本身)。这种动态地配置的属性是监测配置的一部分。
25.可以由动态配置引擎114动态地配置的属性的示例包括以下任何一项或某种集合:传感器数据的收集频率、要收集的传感器数据的数量、要采用的特定传感器(可以包括启用和/或禁用传感器和/或移除或添加新传感器)等等。
26.在一些示例中,改变传感器数据的收集频率或数量允许动态配置引擎114调整传入传感器数据的进入速率,以满足例如由客户设置的要求。改变由代理104执行的监测的属性也可以改变置于与传感器数据收集相关联的资源上的负荷。例如,传入传感器数据的进入速率的提高可能导致存储资源和通信资源的使用增加。同样地,必须处理较大量的传入传感器数据也可能导致处理资源的使用增加。处理传感器数据可以包括将所述传感器数据转换为另一形式,如人类可读的形式、能够被查询的数据库格式等等。
27.由动态配置引擎114执行的动态配置可以针对要由监测系统管理器102执行的每个特定监测作业。监测作业可以指涉及针对特定数量的电子设备105和/或计算环境106的其他设备、在指定时间、针对指定数量的度量(例如,资源使用度量等)、响应于(多个)指定事件等等进行传感器数据收集的操作。
28.可以使用由作业调度器120从消费者118接收的作业请求116来请求监测作业。可以使用多个计算设备来实施作业调度器120。作业调度器120可以被包括作为监测系统管理器102的一部分和/或可以在监测系统管理器102的外部。
[0029]“消费者”可以指电子设备、程序(包括机器可读指令)或用户。作业请求116通过网络(例如108)从消费者118发送到作业调度器120,或者在作业调度器120的用户接口处被接收。
[0030]
作业请求可以指定与监测作业有关的信息,如要监测的多个度量、要监测的多个电子设备和/或其他设备、与要发生监测的时间有关的时间表、触发传感器数据收集的(多个)事件等等。
[0031]
作业调度器120用于调度监测作业以供执行。在一些情况下,作业调度器120可以从一个消费者118或从多个消费者118接收多个作业请求。由作业调度器120接收的作业请求可以存储在作业调度器120的作业请求队列(例如,包含在存储器中)中。然后,该作业调度器120可以根据指定顺序(如基于接收作业请求的时间、作业请求的优先级、和/或基于任何其他因素或因素的组合)针对相应作业请求执行监测作业。
[0032]
针对由作业调度器调度的监测作业,监测系统管理器102的动态配置引擎114可以动态地配置与由代理104执行的监测相关联的多个属性。可以在任何给定监测作业开始之前执行动态配置,和/或可以在给定监测作业期间执行动态配置。
[0033]
在一些示例中,不同的事件122(例如,时间事件、异常事件或另一事件)可以使动态配置引擎114改变监测作业的监测配置。例如,动态配置引擎114可以在不同时间改变监测作业的监测配置。作为另一示例,动态配置引擎114可以针对不同程度的异常(例如,数据错误、程序故障、硬件失效、攻击等)改变监测作业的监测配置。
[0034]
在进一步的示例中,监测系统管理器102可以触发在来自消费者118的任何作业请
求中都没有请求的监测作业。例如,监测系统管理器102可以响应于某些事件122(如异常)来触发监测作业。针对由事件122触发的这种监测作业,动态配置引擎114可以响应于事件122来动态地配置与由代理104执行的监测相关联的多个属性。
[0035]
针对第一监测作业来动态地改变监测配置可以导致在监测中使用的资源的使用发生变化。例如,增加传感器的数据收集频率可能会导致数据存储增加、数据通信增加以及第一监测作业的处理工作负荷增加。如果多个监测作业正在竞争同一组资源,则可以通过改变第二监测作业的监测配置,减少第二监测作业的资源分配来抵消为第一监测作业增加的资源分配。
[0036]
除了能够执行监测作业的动态配置之外,监测系统管理器102提供的监测框架还支持元数据与传感器数据的分离,以使得代理104可以在不将元数据包括在包含传感器数据的消息中的情况下向监测系统管理器102发送传感器数据。“消息”可以指用于携带传感器数据的任何数据单位,如包、帧等。可能存在大量与传感器数据相关联的元数据,使得必须将元数据包括在包含传感器数据的消息中会增加每个消息的整体大小,从而会消耗网络带宽。
[0037]
数据收集实体(例如,代理104、设备110和/或传感器112)的元数据可以仅被传送到监测系统管理器102一次或比来自数据收集实体的传感器数据更少的频率。例如,作为注册过程(以下进一步讨论)的一部分,可以向监测系统管理器102传送元数据。
[0038]
监测系统管理器102可以将监测系统管理器102接收的元数据128存储在存储库130中。存储库130可以使用多个存储设备(如基于磁盘的存储设备、固态存储设备等中的任一者或某种组合)来实施。存储库130可以是监测系统管理器102的一部分或在其外部。
[0039]
在一些示例中,映射信息132可以将不同数据收集实体标识符(id)134与相应元数据128相关联。在一些示例中,映射信息132可以采用查找表的形式,所述查找表具有各自将相应id 134与相应元数据128相关联的表项。标识符可以指用于唯一标识对应数据收集实体(如代理104、设备110和/或传感器112)的数字、字符串(例如,数字、字母等)。id的示例是通用唯一标识符(uuid)。
[0040]
在一些示例中,由代理104传输给监测系统管理器102的携带传感器数据的消息可以进一步包括数据收集实体id,所述数据收集实体id可以由监测系统管理器102用来基于将消息中的数据收集实体id与对应元数据128相关联的映射信息132来检索对应元数据128。
[0041]
进一步地,携带传感器数据的消息具有根据由模式信息124定义的一个模式(或多个模式)的通用格式。具有通用格式的这种消息可以被称为监测系统管理器102可以预期从代理104接收的“标准化消息”。模式信息124可以存储在存储库126中。可以使用多个存储设备来实施存储库126。存储库126耦接到网络108,使得网络108上的实体(包括代理104和监测系统管理器102)可以访问模式信息124。
[0042]
在其他示例中,模式信息124可以存储在监测系统管理器102的存储装置中,如存储在存储库130中。
[0043]
在一些示例中,根据apache avro
tm
,模式信息124可以是模式注册表的一部分。avro
tm
提供数据序列化系统,用于传送具有指定格式的数据。在其他示例中,对于携带传感器数据的消息,可以采用其他类型的模式。
[0044]
在一些示例中,模式信息124可以被扩展或修改为支持携带传感器数据的消息的改变的格式,以满足新的规范而不会失去向后或向前兼容性。由于能够扩展或修改模式信息124,在监测框架的生命周期内启用动态数据模型,从而可以适应客户对数据监测的不断变化的规范。
[0045]
此外,可以将来自任何来源的任何代理104添加到由监测系统管理器102提供的监测框架中。因此,监测框架不必将数据收集限制于来自特定来源的代理,而是可以将来自任何来源的任何代理添加到监测框架,只要所述代理支持根据模式信息124的消息格式化即可。
[0046]
在一些示例中,通过使用标准化消息,来自不同来源的代理可以对监测系统管理器102透明(换言之,监测系统管理器102不必知道代理104的任何特定规范并且仍然能够从代理104接收携带传感器数据的消息)。以这种方式,监测系统管理器102可以与新添加的代理104一起工作而不必改变监测框架(例如,不必改变监测框架以支持新添加的代理的新格式)。
[0047]
图2是根据本公开的一些实施方式的监测框架200的示例的框图。监测框架200支持通过控制信道202提供的控制数据、由代理104通过消息总线206传输的传感器数据204以及由监测系统管理器102通过消息总线206传输的元数据208。
[0048]
如这里所使用的,“消息总线”是指具有由协议决定的特性的通信链路,所述协议可以是标准化协议、开源协议或专有协议。例如,消息总线206可以是由提供开源平台的apache kafka
tm
提供的软件总线。使用这种消息总线206,接收方(例如,消费者118或监测系统管理器102)可以订阅由生产者(例如,代理104)提供的数据馈送(包含传感器数据)。
[0049]
可以使用的另一个基于消息的系统包括rabbitmq
tm
,其提供面向消息的中间件以允许代理104与其他实体(如消费者118和监测系统管理器102)之间的消息(包括传感器数据)的传送。
[0050]
在其他示例中,可以采用其他类型的通信链路。接口(如kafka
tm
的基于订阅的接口或rabbitmq
tm
的面向消息的经纪人)可以与通信链路相关联,以允许接收方(例如,消费者118或监测系统管理器102)从代理104接收传感器数据。
[0051]“控制信道”202可以指可以通过其(如从代理104到监测系统管理器102,反之亦然)发送控制消息的任何接口。控制信道202能够实现代理104对系统监测的动态配置,并有助于减小监测数据传输的大小。
[0052]
例如,代理104可以在发送任何传感器数据之前通过控制信道202向监测系统管理器102执行注册(210)。注册过程允许代理104向监测框架标识其自身,并允许代理104注册其(多个)设备110和(多个)传感器112。注册可以向监测系统管理器102提供关于代理104的元数据(例如,代理的类型、标识符、描述等)、所述代理连接的(多个)设备110的元数据(例如,位置、标识符、类型等)以及(多个)设备传感器112的元数据(例如,标识符、最小数据收集频率、最大数据收集频率、默认数据收集频率、传感器112收集的度量的有效值范围、测量单位、测量的度量类型等)。
[0053]
尽管上面给出了元数据的示例,但应注意,在其他示例中,代理104可以在注册期间提供附加的或替代的元数据。
[0054]
元数据可以由监测系统管理器102用来动态地控制所连接的代理104(例如,改变
代理104、特定设备110或特定传感器112的收集频率,禁用或启用传感器112,对收集的传感器数据执行自动检查等)。
[0055]
作为注册的一部分,传感器112可以与相应元数据相关联,如基于监测系统管理器102更新例如可以将传感器id与元数据相关联的图1的映射信息132。通过这种关联,传感器112可以发送具有传感器数据但没有元数据(从而减小消息大小)的消息,作为代理注册的一部分,所述元数据已经被提供给监测系统管理器102。
[0056]
作为示例,携带传感器112的传感器数据并由代理104传输的消息可以具有以下三元组形式:{时间戳、传感器id和值},其中,“值”表示传感器112的传感器测量结果。当监测系统管理器102接收到消息时,使用传感器id来检索对应的元数据,然后监测系统管理器102可以使用所述元数据来控制监测操作或其他任务。
[0057]
在其他示例中,携带传感器数据的消息可以具有不同的形式。
[0058]
如图2进一步所示,代理104可以通过控制信道202向监测系统管理器102执行注销(212)。注销可以使(多个)传感器112、(多个)设备110或整个代理104在监测框架中不再处于活动状态——即,注销后的(多个)传感器112、(多个)设备110或代理104将不再传输传感器数据。
[0059]
监测系统管理器102还可以执行关于代理104或代理所连接的(多个)设备110或(多个)传感器112的其他配置操作。例如,监测系统管理器102可以激活或去激活(214)一个传感器112或多个传感器112,如通过发送(多个)激活或去激活消息。激活传感器112导致传感器准备好收集数据,而去激活传感器112导致传感器不再能够收集数据。
[0060]
作为另一示例,监测系统管理器102可以(如通过发送启动消息或停止消息来)启动或停止传感器112的数据收集(216)。启动消息可以使活动的传感器112启动数据收集。停止消息可以使活动的传感器112停止数据收集。
[0061]
作为另一示例,监测系统管理器102可以(如通过改变(多个)传感器112收集数据的频率、改变(多个)传感器112收集数据的时间间隔、改变收集的(多个)度量等等来)改变传感器收集行为(218)。
[0062]
作为进一步的示例,监测系统管理器102可以更新代理104或代理所连接的(多个)设备110或(多个)传感器112的监测配置(218)。这可以通过向代理104发送配置更新消息来执行。注意,激活或去激活传感器(214)、启动或停止传感器收集(216)以及改变传感器行为(218)是配置更新的示例。注意,并非是单独地列出配置操作214、216和218,而是这些配置操作可以被包括作为配置更新218的一部分。
[0063]
在一些示例中,代理104还可以利用监测系统管理器102启动配置操作(214、216、218和220中的任何一个)。例如,代理104可以将其监测配置发送到监测系统管理器102,以便监测系统管理器102可以为代理104设置监测配置。作为另一示例,代理104可以更新监测配置并将更新的监测配置(例如,传感器已被激活或去激活,传感器已启动或停止等)发送到监测系统管理器102。
[0064]
代理104可以存储其配置数据的副本(其也可以由监测系统管理器102存储)。配置数据可以包括定义监测配置的信息。如果代理104由于任何原因(例如,由于失效、故障或数据错误)而要丢失其配置数据,则代理104可以从监测系统管理器102请求配置数据(220)。类似地,监测系统管理器102可以从代理104请求配置数据。
[0065]
由监测系统管理器102通过消息总线206发送的元数据208可以存储在持久性存储装置224中(例如,存储在图1的存储库130中)。由代理104通过消息总线206发送的传感器数据204也可以由监测系统管理器102存储在持久性存储装置224中,所述传感器数据可以在以后诸如由消费者118检索。另外,监测系统管理器102可以将传感器数据转发到另一实体,如消费者118。
[0066]
下面描述示例场景。消费者118可以提交指示要对计算环境106(图1)执行的监测的频率的作业请求。作业调度器120处理作业请求并调度所请求的作业以供在标识的资源(例如,一个或多个计算节点)上执行。
[0067]
例如,作业调度器120可以通知监测系统管理器102在要以指定频率发生数据收集的地方(例如,在计算节点的列表中)请求监测作业。从作业调度器120到监测系统管理器102的作业通知可以进一步指示,例如,要使用的选定的(多个)传感器112、(多个)传感器112的类别(例如,温度传感器、功耗传感器、用于跟踪处理器的使用的传感器等)、所指示的特定传感器、类别(例如,功率读数和能量读数)、要收集的(多个)度量等等。
[0068]
作为响应,监测系统管理器102可以联系列表中的(多个)计算节点处的(已经在运行的)代理104以启动数据监测。此外,监测系统管理器102可以启动(多个)计算节点处的代理104。监测系统管理器102可以向所联系的和/或启动的代理104提供针对监测作业的配置数据,其中,配置数据可以标识要用于数据收集的(多个)传感器112、数据收集频率等等。
[0069]
在一些示例中,提交作业请求的消费者118可以在监测框架中指定作业特定主题的生成。作业特定主题可以指要收集的数据类别,例如,与传感器进行的测量相关的主题、与事件相关的主题等等。每个作业特定主题可以与用于存储相应数据的对应队列相关联。
[0070]
在代理和适用的设备和/或传感器的配置成功完成之后,监测系统管理器102可以通知作业调度器120。
[0071]
在成功动态设置监测基础设施之后,启动监测作业。如果使用作业特定主题,则代理104可以将所述主题的数据写入相应队列。提交该作业请求的消费者118可以(可能在相应队列中)访问所收集的传感器数据。
[0072]
在另一示例场景中,监测框架对数据收集的动态改变可以基于检测到指定事件,如异常。例如,如果程序的性能(表示为每时间间隔的输入/输出(i/o)事务的数量)小于指定阈值,则将与异常有关的信息提供给监测系统管理器102。
[0073]
监测系统管理器102检索与在其上执行程序的资源有关的信息,并检索与异常相关联的监测配置。例如,监测配置可以针对与程序的i/o事务有关的度量指定增加的收集频率。
[0074]
监测系统管理器102可以将监测配置发送到(多个)适当的代理104以收集与异常有关的数据。(多个)代理104收集数据,所述数据然后被提供给监测系统管理器102和/或消费者118。例如,可以对所收集的数据进行根本原因分析以识别异常的根本原因。
[0075]
在一些示例中,本文讨论的动态监测框架可以提供以下示例中的一些。通过使用模式对框架消息进行标准化使得消费者能够使用接口方便地与监测框架进行交互。动态监测框架能够适应客户需求,而无需对底层框架进行更改。
[0076]
另外,分配给正在由监测框架执行的监测的资源可以随着监测负荷的变化而调整。例如,最初可以将相对少量的资源分配给监测框架,并且随着监测负荷的增加,可以指
派附加的资源。
[0077]
此外,来自各种不同来源的代理可以被动态地添加到监测框架中或从监测框架中移除,只要代理支持根据(多个)指定模式的消息即可。
[0078]
监测框架的动态配置还可以为被监测的度量提供灵活性,以支持添加可能基于某些度量的新服务。
[0079]
传感器数据和元数据的分开允许监测框架更高效地传送由代理收集的大量传感器数据。同样地,在一些示例中,发布-订阅通信模型(其中,消费者订阅由代理发布的传感器数据)允许更高效的向消费者传送数据的技术。可扩展或可修改模式允许消息格式随时间变化以支持新设备和/或传感器,同时仍提供向后或向前兼容性。
[0080]
图3是存储有机器可读指令的非暂态机器可读或计算机可读存储介质300的框图,所述机器可读指令在执行时使控制器执行各种任务。例如,控制器可以包括图1的监测系统管理器102。
[0081]
机器可读指令包括用于动态地配置与由代理(例如,图1中的104)执行的监测相关联的属性的动态配置指令302。动态地配置属性可以指动态地配置一个或多个属性。动态配置可以针对由消费者请求的监测作业,也可以针对响应指定事件而发起的监测作业。
[0082]
机器可读指令包括用于将与代理有关的元数据存储在存储库(例如,130)中的元数据存储指令304。在一些示例中,所述元数据包括作为所述代理的一部分或耦接到所述代理的传感器的属性的信息。所述元数据还可以包括与设备和所述代理有关的信息。传感器的属性涉及传感器的操作特性(例如,传感器的数据收集频率等)或由传感器收集的数据的数据特性(例如,有效值范围)。
[0083]
机器可读指令包括用于从代理接收不包括元数据的第一传感器数据的传感器数据接收指令306。在一些示例中,第一传感器数据根据由语法定义的格式,所述语法决定来自与控制器交互的代理的传感器数据的格式化。作为代理向控制器进行的注册的一部分,可以从所述代理接收元数据。
[0084]
机器可读指令包括用于使用第一传感器数据中的索引信息(例如,传感器或另一数据收集实体的标识符)来从存储库检索元数据的元数据检索指令308。检索到的元数据可以用于确定监测配置和与传感器数据相关联的其他细节,如对应代理104和设备110的标识符和位置。
[0085]
图4是根据一些示例的系统400的框图。例如,系统400可以是监测系统管理器102。系统400包括硬件处理器402(或多个硬件处理器)。硬件处理器可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、或另一硬件处理电路。
[0086]
系统400进一步包括存储介质404,所述存储介质存储可在硬件处理器402上执行以执行各种任务的机器可读指令。可在硬件处理器上执行的机器可读指令可以指可在单个硬件处理器上执行的指令或可在多个硬件处理器上执行的指令。
[0087]
机器可读指令包括用于作为代理执行的注册的一部分从所述代理接收与所述代理有关的元数据的元数据接收指令406。由系统400接收的元数据可以存储在包含将传感器标识符(或其他数据收集实体的标识符)与对应元数据相关联的映射信息(例如,132)的存储库(例如,图1中的130)中。
[0088]
机器可读指令包括用于基于元数据确定代理的监测配置的监测配置确定指令
408。监测配置指定与由代理进行的传感器数据收集相关联的属性。
[0089]
机器可读指令包括用于从所述代理接收不包括所述元数据的传感器数据的传感器数据接收指令,其中,所述传感器数据是根据所述监测配置而被收集的。传感器数据被包括在不包括元数据的消息中。因此,可以减小消息大小。
[0090]
图5是根据一些示例的过程500的流程图。
[0091]
过程500包括控制器(例如,图1的监测系统管理器102)从代理接收(在502处)元数据。例如,可以在代理向控制器注册时接收元数据。
[0092]
控制器确定(在504处)与由同代理相关联的传感器进行的传感器数据收集有关的监测配置。监测配置可以由控制器基于元数据动态地设置,或者监测配置也可以基于代理发送给控制器的配置数据进行设置。
[0093]
控制器从代理接收(在506处)根据监测配置收集的第一传感器数据。第一传感器数据被包括在不包括元数据的第一消息中。
[0094]
控制器更新(在508处)监测配置。监测配置的更新可以由控制器发起,或者也可以由代理请求。
[0095]
控制器从代理接收(在510处)根据更新的监测配置收集的第二传感器数据。第二传感器数据包括在不包括元数据的第二消息中。
[0096]
存储介质(例如,图3中的300或图4中的404)可以包括以下各项的任一项或某种组合:半导体存储器设备,如动态或静态随机存取存储器(dram或sram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)和闪速存储器或其他类型的非易失性存储器设备;磁盘,如固定的软盘和可移动盘;另一种磁介质,包括磁带;光学介质,如光盘(cd)或数字视频盘(dvd);或另一类型的存储设备。注意,上文讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者可替代地,可以在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单个部件或多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中、或者位于远程站点处,可以通过网络从所述远程站点下载机器可读指令以供执行。
[0097]
在前述描述中,阐述了许多细节以使得理解本文中所公开的主题。然而,可以在没有这些细节中的一些细节的情况下实践实施方式。其他实施方式可以包括上文所讨论的细节的修改和变化。所附权利要求旨在覆盖这样的修改和变化。