分配信息的制作方法

文档序号:6362076阅读:174来源:国知局
专利名称:分配信息的制作方法
分配信息
背景技术
服务提供商和制造商们受到例如通过提供计算设备中的各种能力来向消费者传送质量和价值的挑战,例如向用户提供特性。这样的特性可为基于收集到的关于计算设备的信息的。例如,像功率信息这样的计算设备的组件信息可用于为该计算设备提供功率效率特性。


下面详细的描述参照多个附图,其中:图1是根据一个示例的计算设备的框图,该计算设备包括分配在该计算设备的低层系统收集到的信息的模块;图2是根据一个示例的从低层系统发布收集到的一组电量使用数据的方法的流程图;图3是根据一个示例的能够分配在低层系统收集到的信息的计算设备的框图;图4是根据一个示例的将一组时间敏感信息分配给程序的方法的流程图;图5是根据一个示例的在低层系统确定、提供以及到期设备数据的方法的流程图;图6是根据一个示例的订阅以及分配设备数据的方法的流程图;以及图7是根据一个示例的根据订阅信息分配在低层系统捕获到的信息的系统的框图。
具体实施例方式如上面所提到的,像制造商和服务提供商这样的企业和消费者可要求计算设备中包括使用该计算设备收集到的信息的特性的功能。例如,可到期数据、电量使用数据、或计算设备的其它时间敏感数据可用于使能该计算设备的各种特性。在一些实施例中,时间敏感数据是这样的数据:一旦条件发生,其效用减小。示例条件可包括特别的事件发生时,例如满足时间阈值、满足倒数计时器时,等等。进一步地,可利用其它事件引发数据到期,例如,读取或不然提供该数据的事件。当读取该可到期数据时,可将该数据标记为到期的。当数据是到期的时,可用新的一组数据重写该数据。此外,如果数据在短时期内是相关的或可用的(例如,未到期的),可将该数据看做是时间敏感的。例如,一旦另一个程序已读取电量使用数据,该电量使用数据对特定的程序而言会变成不相关的。尽管使用电量使用数据描述了各种示例,可以预期的是,在此使用的方法可与低层系统能够收集到的其它类型的信息一起使用。该计算设备的低层系统可用于收集这样的数据。在一些实施例中,该低层系统是该计算设备的组件的集合,在该计算设备中,独立的组件主要与它们的功能有关。该低层系统可包括可用于测量和/或向对测量数据感兴趣的程序或服务提供该测量数据。在此公开的各实施例涉及分配在低层系统收集到的可到期数据。该低层系统可确定涉及计算设备的一组数据。该组数据可包括可到期数据且可由控制逻辑收集并存储在存储器中。控制逻辑可包括处理器、逻辑芯片、芯片组及其组合,等等。该控制逻辑可连接至用于确定该可到期数据的电路(例如,电源电路)。该控制逻辑可将该可到期数据存储在该存储器中,直至该数据到期。进一步地,该数据可基于如上所述的条件或事件到期。以此方式,该控制逻辑可确定是否已读取该数据(例如,基于该数据至该计算设备的另一个组件,例如高层系统组件的发送)。在一些场景中,该数据的到期可引起删除该数据、用标识标记该数据、或不然将该数据标记为到期。一旦该数据到期,可收集另一组数据。高层系统可用于从该低层系统检索该组数据。在一些实施例中,高层系统可利用低层系统组件。例如,该高层系统可利用多个系统组件且可具有对于该多个系统组件执行的各动作的了解。进一步地,在一些示例中,高层系统可包括执行时可包括多个机器语言指令的机器可读指令。例如,该高层系统可包括在比该低层系统更高层上可执行的软件代码。这样的高层系统可运行于该计算设备的操作系统层上。此外,该高层系统可访问比该低层系统更多的组件和/资源。例如,该高层系统能够利用该计算设备的主存储器,而该低层系统可能限制在内部存储器或单独的存储芯片。当该高层系统检索该组数据时,该高层系统可确定一个或多个程序发送该组数据。这可基于标准。例如,该高层系统可追踪程序,以基于表或基于发布/订阅机制提供该组数据。程序可向该高层系统注册,以接收该组数据的消息。然后,该高层系统可在该数据组被检索时或基于另一个事件向程序发布该组数据。该高层系统可提供应用程序接口(API)以允许程序注册或注销订阅该数据,并且提供包括该数据的通知。在一个实施例中,该高层、低层系统结构可用于监视并报告计算设备的电量使用数据。对于根据规则在例如有限的电池供电计算设备(例如,移动电话、膝上型电脑、平板电脑,等等)上执行功能来说,这是有益的。可以以报告电池耗竭的形式进行报告,以使用户可在该电池耗尽之前找到电池充电站。进一步地,为了提高电池寿命,电源管理系统可在组件不使用时,通过关闭个别组件(例如,无线电、硬盘驱动器、屏幕,等等)主动地减少供电。可基于报告确定是否在使用组件或与组件相关的功耗信息。报告可基于电池电量消耗、个别组件的预测模型、个别组件的实际读取,等等。可通过使组件报告由该组件收集的信息或将进行读取的电路附属到该组件来确定个别组件的实际读取。例如,基本输入输出系统(BIOS)可用作从功耗电路或特定组件收集功耗数据的低层系统。该高层系统可将该收集到的数据提供至其它程序。现参考附图,图1是根据一个示例的计算设备的框图,该计算设备包括分配在该计算设备的低层系统收集到的信息的模块。在此示例中,该计算设备100包括事件捕获模块110、抓取模块112、订阅模块114、控制器120以及低层组件122。进一步地,在一些示例中,该计算设备100可包括处理器、电源、存储器、存储器接口、输入/输出接口、操作系统以及其它组件。在一个实施例中,该事件捕获模块110、抓取模块112以及订阅模块114可为该计算设备100的高层系统的一部分。此外,在一个实施例中,该控制器120以及低层组件122可为该计算设备100的低层系统的一部分。该低层系统可进一步包括例如电量监视电路以及保存多组数据的存储器。计算设备100可利用该低层系统收集并存储电量使用数据,并利用该高层系统模块将该电量使用数据和/或基于该电量使用数据的信息分配至像服务或应用这样的程序。
计算设备100可为笔记本电脑、石板计算设备、便携式阅读器、无线电子邮件设备、手机、台式电脑、服务器或任意其它计算设备,对于这些计算设备,关于该计算设备100的组件的信息可有助于与程序和服务的通信。在一些示例中,程序为处理器执行时完成特定任务的一系列指令。这些程序可使用接收到的信息以向该计算设备100提供特性。计算设备100可包括分配设备数据的一系列模块110-114。该模块110-114中的每个可包括例如硬件设备,该硬件设备包括实现下面描述的功能的电子电路。另外或作为一种替代,可将每个模块实现为在计算设备100的机器可读存储介质上编码且由处理器或其它电路执行的一系列指令。应注意到,在一些实施例中,将一些模块实现为硬件设备,而将其它模块实现为可执行指令。处理器可为适合于检索和执行指令的中央处理器(CUP)、图形处理器(GPU)或微处理器,和/或配置为完成模块110-114中的一些或任意一个的功能的电子电路检索。进一步地,可通过以类似的方式执行指令来实现该控制器120。该低层系统可用于确定关于该计算设备100的数据并将该数据存储在该低层系统存储器中。该低层系统存储器可为该控制器120的一部分。此外,该数据可为时间敏感的。在一些示例中,该数据可包括电量使用数据。可使用电量监视电路或该计算设备100的另一个组件来确定电量使用数据。此外或可替代地,该计算设备100的低层组件122(例如,处理器、电源、存储器接口、输入/输出接口、外部设备,等等)可监视该独立组件的电量使用并提供该电量使用数据。在一些场景中,该电量使用数据包括关于可为该计算设备100的一部分的组件的信息,例如输出设备(例如,显不器)、输入设备(例如,键盘)、其它输入/输出设备(例如,网络连接电路、无线电,等等)、存储器,等等。进一步地,该控制器120可用于与该电量监视电路或其它低层组件122结合,以确定并存储该电量使用数据。因此,在一些示例中,该控制器120通过接收来自该电量监视电路或组件本身的电量使用数据来确定该组件的电量使用。与该低层系统相关的该存储器可为受限制的。例如,在膝上型计算设备中,该设备可具有主处理器和包括大量存储量的存储器,个别地,该膝上型计算设备的一些组件不访问该主存储器,但作为替代的,访问可为受限制的单独的存储器(例如,该控制器的内存储器)。由于该存储器可为受限制的,可落实系统解决存储器问题。例如,该低层系统可利用到期方案以在读取时使收集到的数据组到期。这允许该存储器空间的重用。但是,如果使用此方法使该组数据到期,在生成新的一组数据之前,可读取当前组数据。这意味着,如果两个程序想读该存储器,每个程序将得到不同的结果。与该计算设备100关联的程序可对由该低层系统收集到的该电量使用数据感兴趣。这些程序可与该操作系统关联或与其分开。进一步地,这些程序可基于该低层系统集中的信息增加功能。例如,在膝上型计算设备的情况下,电量管理程序可监视电量信息以提供额外的功能。电源可用于向该计算设备100供电。该电源可包括插入式电源、蓄电池电源及其组合,等等。在该计算设备100的电源是基于可耗竭电源(例如,电池)的情况下,该电量管理程序可用于关掉组件以增加电池寿命。在一些场景中,利用同样的信息,不同的程序可提供不同的功能。例如,不同的程序可用于控制该计算设备100的不同的组件(例如,一个程序可与视频接口关联,而另一个程序可与无线电关联)。这些程序可找出用于进行确定的同样的信息(例如,电池使用信息)。
该高层系统可用于在该低层系统和程序之间接口。程序和/或操作系统可通过该订阅模块114向该高层系统注册或订阅。该订阅模块114可发起并监视信息至程序的路由。对于特定信息,程序可基于事件通过发送注册请求来订阅信息。该订阅模块114接收该注册请求并生成、更新或修改数据结构,以链接该程序、该事件、所请求的信息类型或其组合。然后,当该事件发生时和/或如果该事件发生,该高层系统可利用通知模块向该程序发送所请求的信息。在一个示例中,该数据结构可包括订阅信息,该订阅信息可包括各程序感兴趣的事件。当事件触发时,可向订阅该事件的程序发送该组数据。在另一个示例中,该订阅模块114存储订阅信息的数据结构,包括程序中每个的标识符以及各程序感兴趣的相关信息类型。例如,如果收集到与该信息类型相关的一组数据,可确定向其发送的对该信息类型感兴趣的对应的程序。在一些示例中,该事件捕获模块110可确定是否以及什么时候抓取该信息。事件可基于计时器发生(例如,在一定间隔期间从该低层系统拉出数据)或基于其它信息发生(例如,该低层系统可向该高层系统发送中断,以通知该事件捕获模块110该低层系统的该存储器准备好被读取)。该高层系统利用该抓取模块112(例如通过该控制器120)从该低层系统检索信息。这可通过使用各种命令或功能(例如,操作系统功能、设备驱动器,等等)完成。当从该低层系统读取该信息时,该低层系统使例如通过该控制器120收集到的该组信息到期。这样,由该低层系统将该当前电量使用数据组传输到该高层系统,且该低层系统可开始收集另一组信息。当该组数据准备好时,该高层系统读取该新的组数据且该控制器120使该新的组信息到期。当由该抓取模块112抓取了电量使用数据时,该订阅模块114确定什么程序应该接收该电量使用数据或基于该电量使用数据的信息。基于该电量使用数据的信息可包括已处理信息、已过滤信息、原始信息、格式化信息,等等。该订阅模块114可基于注册的程序的数据结构进行这个确定。此外或可替代地,程序可请求并接收该信息。 在一些场景中,处理该电量使用数据。例如,该通知模块可格式化所请求的信息或进行计算和/或提供概要信息。可利用像可扩展标记语言(XML)格式这样的标准格式或可利用专有格式、表,等等。然后,该通知模块可向适当的程序发送该组数据或基于该组数据的信息。通过这些方法,可从低层系统提供该电量使用数据,该低层系统在读取多个程序时使信息到期。此方法的一个优点是:当至其它程序的该信息的存储和分配在高层发生时,该可到期的存储器机制可用在该低层系统。图2是根据一个示例的从低层系统发布收集到的电量使用数据的方法的流程图。该方法200可由计算设备的处理器或其它合适的组件执行。此外,执行该方法200的组件可散布在多个设备(例如,该计算设备的节点)间。可以以在机器可读存储介质上存储的可执行指令的形式和/或以电子电路的形式实现方法200。方法200可始于202并继续进行至204,在204,计算设备的高层系统从低层系统组件检索关于该计算设备的多个低层组件的一组信息(例如,电量使用数据)。该组数据可存储在该低层系统,例如,存储在控制器。进一步地,该组电量使用数据可对应于该计算设备的多个低层组件。低层组件可包括例如网络模块、存储模块、表现模块以及处理器中的至少一个。该电量使用数据可进一步包括部分组件或整个组件的电量使用。例如,该电量使用数据可具有关于该网络模块的无线组件以及有线组件的信息。以类似的方式,该存储模块可包括存储器接口、存储设备及其组合等等的电量使用数据,且该表现模块可包括显示器以及图形处理组件的电量使用数据。在206,该高层系统确定发送数据的多个程序。该数据可为基于该组数据的。例如,该数据可包括基于该组数据的信息,例如已处理信息。程序可基于对该信息感兴趣的服务或程序的订阅信息。可通过处理包括服务、程序等的订阅状态的数据结构来确定该订阅信息。在一个场景中,该订阅信息可包括该服务的标识符、该服务感兴趣的信息类型、触发时引发向该服务发布该信息的相关事件或其组合。事件可包括每次基于计时器收集一组信
届、,O该高层系统基于该订阅信息向程序发布或发送该组数据。因此,如果与服务相关的各订阅表明应向各服务发布该组数据,该高层系统可确定向服务发送该组电量使用数据。可通过API发生该发布,以与服务通信。然后,该方法200继续进行至208,该方法在208结束。图3是根据一个示例的能够分配在低层系统收集到的信息的计算设备的框图。该计算设备300包括例如处理器310以及机器可读存储介质322,该机器可读存储介质322包括检索并分配可到期信息的指令324、326、328。进一步地,指令324、326、328可为该计算设备300的高层系统的一部分。计算设备300可为例如笔记本电脑、石板计算设备、便携式阅读器、无线电子邮件设备、手机、台式电脑、服务器或任意其它计算设备。处理器310可为至少一个CPU、至少一个基于半导体的微处理器、至少一个GPU、其它适用于存储在机器可读存储介质中的指令的检索和执行的硬件设备、或其组合。例如,该处理器310可包括一个芯片上的多核,包括跨多个芯片的多核、跨多个设备的多核(例如,如果该计算设备300包括多个节点设备)、或其组合。处理器310可抓取、解码和执行指令324、326、328以实现可到期信息的检索和/或分配。可替代的或此外,为了检索并执行指令,处理器310可包括至少一个包含完成指令324、326、328的功能的多个电子组件的集成电路(1C)、其它控制逻辑、其它电子电路、或其组合。机器可读存储介质322可为包含或存储可执行指令的任意电的、磁的、光的或其它物理存储设备。因此,机器可读存储介质可为例如随机存取存储器(RAM)、电可擦可编程只读存储器(EEPR0M)、存储驱动器、光盘只读存储器(⑶-R0M),等等。这样,该机器可读存储介质322可为永久的。可用一系列可执行指令324、326、328编码与该高层系统关联的该机器可读存储介质322,以检索并分配可到期数据。进一步地,控制器可用于在该计算设备300的低层系统330收集该可到期数据。该控制器可实现为如上所述的处理器。此外,在一些示例中,该控制器可包括内存储器(例如,高速缓冲存储器、闪存、RAM,等等)。该控制器可从低层组件收集该可到期数据。低层组件可包括网络模块、存储模块、表现模块、处理模块、电量使用模块,等等。进一步地,电量使用模块可与其它模块关联,且可向该控制器报告电量使用信息。因此,该低层系统330的该控制器可读取该电量使用信息(例如,通过模拟或数字信号)。进一步地,可使用其它电路以确定其它类型的可到期数据,例如时间敏感信息、网络信息、处理信息及其组合,等等。进一步地,可利用计算机可读存储介质实现该低层系统330,该计算机可读存储介质包括这样的指令:如果由该控制器执行该指令,引发该可到期数据的捕获和/或与该高层系统交互。因此,该控制器可执行信息捕获指令,以确定一组数据。在一个场景中,信息捕获指令可用于确定来自低层组件(例如,无线电、显示器,等等)、电路(例如,电量使用电路)等的一组数据。进一步地,该控制器可包括用于确定该数据的监视器。可通过从该源检索该数据的子集并将该数据存储在存储器中来确定该数据组。可基于数据结构存储该数据。例如,该数据结构可包括该收集到的数据(例如,功耗信息)的表、与该收集到的数据关联的时间戳、与该收集到的数据关联的组件及其组合,等等。在一些示例中,与该控制器关联的该存储器可变成满的,或者分配给该组数据的存储器空间可变满。那时,该存储器空间可重用于额外的数据。进一步地,可根据接口指令读取该组数据。如果由该控制器执行,接口指令可用于与该高层系统通信。利用接口指令,该控制器可向该高层系统发送该组数据准备被读取的事件通知。此外或可替代地,该控制器可向该高层系统推送该信息或可不发送该通知而读该控制器。检索指令326可用于引发该处理器310确定将引发该高层系统检索该组数据的事件的发生。由于事件已经发生,检索指令326可用于确定从该控制器拉出该组数据。在一些示例中,该事件可基于计时器触发(例如,一定时期后拉出一组数据)、基于来自该低层系统330的事件准备消息触发,等等。进一步地,然后,该处理器310可通过利用检索指令326从该低层系统330检索收集到的该组数据。检索指令326可用于引发该处理器310请求和/或接收该组数据。在一些示例中,检索指令326可利用与该高层系统关联的操作系统的特性。例如,在Windows 环境中,Windows 管理规范(WMI)接口或驱动器可用于与该控制器或其它低层组件通信。当抓取该数据时,该低层系统330接收来自该处理器310的对该组数据的请求。响应该请求,该低层系统330 (例如通过该控制器)可为该高层系统向该处理器310发送该组数据。此外或选择性地,该控制器可利用接口指令推送该组数据而不需要来自该高层系统的请求。当提供该组数据时,可将该组数据标记为到期的或不然标记为到期。在一个示例中,该组数据的到期启动另一组数据的集中的提供。由于使得该处理器的处理需要较小,使该数据到期可为有益的。这样,例如如果该控制器受限于其所能存储的数据量,额外组的数据(例如,实时功耗数据)可存储在存储器中。当在该高层系统接收到该组数据时,订阅指令324可用于确定向其提供该组数据的一个或多个程序。订阅指令324可为基于发布/订阅架构的。这样,订阅指令324可用于注册程序,以接收基于该组数据的信息。数据结构可存储已注册的程序和事件或其它条件之间的关系。发布指令328可由该处理器310执行,以向已注册的程序发布该组数据或基于该组数据的数据。这样,引发该处理器310向已注册的程序发送已注册的程序感兴趣的信息。已注册的程序可以以各种方式利用该可到期数据。例如,在功耗数据的情况下,程序可提供例如组件的动态控制这样的特性。此外,由于已注册的程序可接近实时地接收基于该组数据的信息,程序可同时实现不同的功能目的。图4是根据一个示例的向程序分配一组时间敏感信息的方法的流程图。该方法400可由计算设备的处理器或其它合适的组件执行。此外,执行该方法400的组件可散布在多个设备(例如,该计算设备的节点)中。方法400可以以存储在机器可读存储介质上的可执行指令的形式实现,和/或以电子电路的形式实现。方法400可始于402并继续进行至404,在404,该计算设备的高层系统组件从低层系统组件检索关于该计算设备100的一组信息,例如,时间敏感信息。该高层系统组件可为例如运行于该计算设备的操作系统层的该高层系统的一部分。进一步地,该高层系统组件和该低层系统组件可包括子组件。在一些实施例中,时间敏感信息是短时期内相关或可用(例如,未到期)的数据。当检索该组时间敏感信息时,该组信息从该低层系统组件的存储器到期。如上面所提到的,该时间敏感信息可包括该计算设备的其它组件(例如,电源、显示器、无线电,等等)的电量使用数据。以示例的方式,该组信息可包括组件标识符字段以及与该组件标识符关联的信息。进一步地,该组信息可包括时间戳、信息类型参数或指定该组信息中包括何种信息类型的字段、及其组合,等等。当正在接收来自该低层系统组件的该组信息时,其可转换为报头。在406,该高层系统组件确定发送该组信息的多个程序。这可通过检查基于条件或事件的映射的数据结构(例如,包括程序的订阅信息的数据结构)来实现。进一步地,可基于规则进行确定。例如,该数据结构可包括是否以及何时向特定程序发送该组信息的一组规贝U。该特定程序的规则可包括每次读取该信息向该程序发送该组信息、读取一定次该组信息后向该程序发送多组信息、发送已处理的基于该组信息的信息、及其组合,等等。因此,可向用户程序提供基于该组信息的数据。然后,在408,该高层系统组件向所确定的程序发送该组信息。该组信息可为已处理的或未处理的。例如,该组信息可为格式化的、过滤外部数据点的,等等。进一步地,可通过该高层系统的API向程序发送该组信息。程序可为该计算设备的内部的或外部的(例如,位于另一个计算设备)。然后,该方法继续进行至410,该方法在410结束。图5是根据一个示例的确定、提供以及到期设备数据的方法的流程图。该方法500可由计算设备的处理器或其它合适的组件执行。此外,执行该方法500的组件可散布在多个设备中。方法500可以以存储在机器可读存储介质上的可执行指令的形式实现,和/或以电子电路的形式实现。在一些实施例中,低层系统的控制器可执行该方法500。该控制器可实现为系统BIOS的一部分。进一步地,该控制器可主要关注于另一个功能。例如,该控制器可主要为键盘控制器,用于与来自键盘的输入交互。该键盘控制器可具有额外的可用于实现该方法500的插脚(pin)、存储器或处理能力。方法500可始于502并继续进行至504,在504,该计算设备可确定该计算设备的一组组件数据。如前面所提到的,该组件数据可为时间敏感的或包括电量使用数据的。此夕卜,该组件数据可表明使用率(例如,存储器利用、处理利用、网络利用,等等)或关于该计算设备的组件的其它信息。可通过从计算该信息的该计算设备的一个或多个组件检索信息来确定该组组件数据。进一步地,可通过利用像电量监视电路这样的电路计算该信息来确定该组组件数据。然后,该方法500继续进行至506,在506,该控制器向高层系统提供该组计算设备组件数据。该控制器可响应该高层系统的请求提供该组组件数据。进一步地,该控制器可在信息准备好被读取时向该高层系统发送准备信号。此外或可替代地,该控制器可通过发送该信息而不接收请求来向该高层系统推送该信息。然后,在508,该控制器使该组计算设备组件数据到期。使该组组件数据到期允许收集另一组计算设备组件数据。在510,如果不存在停止条件,该方法500返回至504并用另一组计算设备组件数据继续。如果存在停止条件,该方法500在512结束。在一些场景中,该停止条件可为基于该控制器中表明是否应该执行该方法500的注册的,或为基于收集到的该计算设备组件数据的。因此,该注册可表明不需要实现或继续该方法500。该注册或其它设置可由例如该高层系统设置,以表明没有程序订阅该信息。如果没有程序被订阅,对收集该信息的需求较少。此外,可订阅不同类型的组件或组件数据。这样,当其它类型的组件数据的收集停止时,可继续一些类型的组件数据组的确定。图6是根据一个示例的订阅和分配设备数据的方法的流程图。该方法600可由计算设备的处理器或其它合适的组件执行。此外,执行该方法600的组件可散布在多个设备中。方法600可以以存储在机器可读存储介质上的可执行指令的形式实现,和/或以电子电路的形式实现。方法600可始于602并继续进行至604,在604,计算设备的高层系统为数据检索事件订阅程序。该高层系统向该程序提供API,以允许该程序注册或订阅一定类型的信息。进一步地,订阅可与用于触发是否应基于该用户的订阅来发送在该高层系统检索的该组信息的事件信息相关联。在一个示例中,该高层系统接收来自程序(例如,服务、应用,等等)的订阅请求。该订阅请求可包括待订阅的信息类型、用于触发是否向该用户发送接收到的信息的事件信息、及其组合,等等。待订阅的信息类型可包括计算设备组件数据类型、监视器的特定组件、待订阅的原始信息的格式化,等等。当接收到该请求时,订阅模块可处理该请求。这样,如果之前没有记录或更新该订阅信息,该订阅模块可生成表明该用户订阅该信息的订阅信息。如上面详述的,该组件数据可为时间敏感的、电量使用数据、使用率数据、或与该计算设备关联的其它类型的数据。然后,该方法600继续进行至606,在606,该高层系统接收来自低层系统的一组计算设备组件数据。可在该低层系统确定该组件数据。这样,当接收到该组组件数据时(例如,通过请求以及接收该组组件数据),该组组件数据从该低层系统到期。如前面所述的,该高层系统可请求该组组件数据或使该组组件数据被推送至该高层系统。在608,该高层系统确定发送该计算设备组件数据组的程序。该确定可为基于该订阅信息的。例如,可为特定类型的计算设备组件数据订阅用户程序。进一步地,在一些场景中,可订阅用户程序,以在事件触发时接收这样的信息(例如,该组组件数据、已处理的数据组,等等)。这样,当该通知模块接收该组组件数据时,该通知模块确定已发生的任意事件。如果与订阅关联的事件发生,确定向该关联的用户发送该组组件数据有效性的通知、已处理的数据、基于该组组件数据的信息、或其组合。可基于同一组组件数据对不同的订阅触发不同的事件。一旦进行确定,在610,该高层系统向对该信息感兴趣的用户程序发送设备组件数据(例如,该组组件数据、已处理的数据组,等等)。然后,除非存在停止条件,该方法600可在606继续接收来自该低层系统新的设备组件数据组。如果没有程序订阅该设备组件数据,基于设置或等等,可发生停止条件。如果发生停止条件,该方法600在612结束。
可在该方法600的过程期间或与该方法600异步时,通过该高层系统的API由程序增加或取消订阅程序的订阅。例如,用户可利用取消订阅消息取消订阅接收全部信息或特定订阅。图7是根据一个示例的基于订阅信息分配在低层系统捕获的信息的系统的框图。该系统700包括高层服务710,该高层服务710包括订阅管理器712以及事件管理器714。该高层服务710可运行在例如计算设备的操作系统730上。该高层服务710可从低层系统740检索信息,以提供至客户机750a-750n。如上面详述的,客户机750可(例如,通过客户机订阅模块752)注册760或注销762在该订阅管理器712。根据这些消息,该订阅管理器712可生成并更新可用于确定何时向该客户机750发送通知消息764的订阅消息。这样,该订阅信息可包括各客户机750的标识符、各客户机预订接收信息所根据的一个或多个事件、以及待接收的信息类型。进一步地,发送注册760或注销762消息可包括待订阅的事件标识符或名称以及回叫的位置(例如,与客户机事件处理器754关联的地址和/或端口)。可由订阅管理器712使用这些,以在通知764期间回叫客户机750。这些事件766中的一些可由该操作系统730或低层系统740引发。此外,该高层服务710可接收来自其它程序的事件或可独立确定事件。在一个示例中,该高层服务710从该低层系统740检索信息时引发事件。在另一个示例中,诸如计时器、设备事件(例如,设备状态或输入/输出接口的外围的状态的增加或改变)这样的操作系统事件或软件事件可用于引发通知764。此外,该事件管理器714可基于对该事件管理器714可用的信息确定其它事件。例如,基于检索该低层系统740时的倍数,该客户机750可订阅事件且该事件管理器714可确定事件。进一步的,一些事件可与该高层服务710检索的信息类型相关联。例如,客户机750的订阅可仅与该低层系统740从其检索信息的特定组件关联。当该客户机750接收通知764时,该客户机750在客户机处理756处理该信息。在一个场景中,该客户机750可为该计算设备的电量管理器,且该客户机处理756包括打开或关闭该计算设备的组件、执行其他电量优化、及其组合,等等。在另一个场景中,该客户机750可为另一个应用,例如基于接收到的通知764修改其使用的浏览器应用。
权利要求
1.一种计算设备,包括: 控制器,用于确定所述计算设备的多个低层组件的一组电量使用数据; 事件捕获模块,用于确定事件; 抓取模块,用于基于所述事件抓取所述组电量使用数据;以及订阅模块,用于确定关于多个程序的订阅信息,所述订阅信息表明是否应向各程序发送所述组电量使用数据,其中,所述订阅信息是基于所述事件的,且其中,如果抓取了所述组电量使用数据,所述控制器使所述组电量使用数据到期。
2.如权利要求1所述的计算设备,其中,所述控制器为包括电量监视电路的低层系统的一部分,且其中,所述控制器与所述电量监视电路交互以确定所述电量使用数据。
3.如权利要求1所述的计算 设备, 其中,在所述组电量使用数据到期后,所述控制器确定另一组电量使用数据, 其中,所述事件捕获模块确定与所述另一组电量使用数据关联的另一个事件;且其中,所述订阅模块确定多个其它程序,以基于另一个事件发送所述另一组电量使用数据。
4.如权利要求1所述的计算设备, 其中,所述订阅信息包括所述程序的各自的标识符以及各程序感兴趣的相关的信息类型,且 其中,所述组电量使用数据被确定为发送至对与所述组电量使用数据关联的信息类型感兴趣的所述各程序。
5.一种方法,包括: 从低层系统组件检索关于计算设备的多个低层组件的一组信息, 其中,检索之后,所述组信息到期;以及 确定多个程序,以根据所述组信息发送数据。
6.如权利要求5所述的方法,进一步包括: 接收来自所述程序中的一个的订阅所述信息的请求;以及 更新订阅信息,以表明所述一个程序被订阅以接收所述信息, 其中,所述程序的所述确定是基于所述订阅信息的。
7.如权利要求6所述的方法,其中,所述订阅信息包括事件信息,且其中,所述事件信息表明这样的事件:如果触发所述事件,表明应向所述一个程序发送所述组信息,所述方法进一步包括: 确定已经触发所述事件,其中,所述程序的所述确定进一步基于已触发的事件。
8.如权利要求5所述的方法,其中,所述信息包括电量使用数据。
9.一种永久计算机可读存储介质,存储这样的指令:如果由处理器执行,引发所述处理器执行下述步骤: 从计算设备的低层系统检索关于所述计算设备的多个组件的一组电量使用数据; 为所述电量使用数据确定多个服务的订阅信息;以及 基于所述订阅信息向所述服务发布所述组电量使用数据。
10.如权利要求9所述的永久计算机可读存储介质,进一步包括这样的指令:如果由所述处理器执行,引发所述处理器执行下述步骤:接收来自所述服务中的一个的所述电量使用数据的订阅请求;以及 更新所述订阅信息以表明所述一个服务被订阅以接收所述电量使用数据。
11.如权利要求9所述的永久计算机可读存储介质, 其中,在检索到所述组电量使用数据时,所述低层系统使所述组电量使用数据到期。
12.如权利要求11所述的永久计算机可读存储介质,进一步包括这样的指令:如果由所述处理器执行,引发所述处理器执行下述步骤: 从所述低层系统检索另一组所述电量使用数据;以及 基于所述订阅信息向所述服务发布所述另一组电量使用数据。
13.如权利要求12所述的永久计算机可读存储介质,其中,所述组电量使用数据到期后,所述低层系统收集所述另一组电量使用数据。
14.如权利要求11所述的永久计算机可读存储介质,其中,所述低层系统包括基本输入输出系统(BIOS)以及键盘控制器中的至少一个。
15.如权利要求8所述的永久计算机可读存储介质,其中,所述组件包括网络模块、存储模块、表现模块以及 处理器中的至少一个。
全文摘要
在此公开的示例实施例涉及分配信息。从计算设备的低层系统检索关于该计算设备的组件的一组信息。基于该组信息确定待发数据的程序。
文档编号G06F9/44GK103180824SQ201180051000
公开日2013年6月26日 申请日期2011年1月28日 优先权日2011年1月28日
发明者克里斯托弗·H·斯图尔特, 纳齐·H·哈格, 乔恩·P·斯季斯卡, 詹妮弗·里奥斯 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1