CN1937822B - 用于控制移动应用中能量利用的系统和方法 - Google Patents
用于控制移动应用中能量利用的系统和方法 Download PDFInfo
- Publication number
- CN1937822B CN1937822B CN2006101001562A CN200610100156A CN1937822B CN 1937822 B CN1937822 B CN 1937822B CN 2006101001562 A CN2006101001562 A CN 2006101001562A CN 200610100156 A CN200610100156 A CN 200610100156A CN 1937822 B CN1937822 B CN 1937822B
- Authority
- CN
- China
- Prior art keywords
- cost
- quota
- software entity
- energy
- account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/81—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephone Function (AREA)
- Stored Programmes (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
一种用于控制电子设备中的资源利用的系统和方法。将能量资源管理器用于监控应用程序或其他软件实体进行操作所用的能量。当用于应用程序的新的操作开始时,确定用于该应用程序的活动操作的能量成本是否超过预先确定的能量成本配额。如果该活动操作的能量成本没有超过配额,则允许该操作进行。如果该活动操作的能量成本超过配额,则不允许该操作进行。
Description
技术领域
本发明总体上涉及移动设备中软件应用的资源管理。更特别地,本发明涉及在移动设备中能量资源以及其它资源的管理。
背景技术
能量管理对于移动终端来说是一个关键的问题领域。电池的寿命是移动电话的区别技术特征,并且是一个影响到移动电话的使用性的非常重要的方面。只要使用第三方开发商不可访问的专用软件平台来构建移动电话,制造商对于其自身内部开发应用的能量使用方式能够在很大程度上进行控制。但是,这种情形在最近这些年中已经发生了很大改变。已经创建了新的广泛采用的软件平台,诸如Symbian操作系统以及基于Java的运行期环境,并且第三方开发商现在能够向移动电话部署他们的应用。于是,制造商可以不再预先测试每个运行于其移动电话中的应用。因此,在移动电话中运行恶意的或者有故障的应用的危险比以前大得多。为了解决这个威胁,制造商必须增强其移动软件平台,以便保护关键硬件资源(一般地),电池寿命(特别地)。
当前移动软件平台的示例是OSGi。OSGi是一种以协作的方式部署并且管理服务的、开放、共用的体系结构,其中OSGi表示“开放服务网关动议”并且在www.osgi.org上对其进行了讨论。OSGi提供了一种通用、安全的、受管理的基于Java的框架,其支持对成为捆(bundle)的可扩展以及可下载的服务应用进行部署。符合OSGi的设备能够下载并且安装OSGi部署实体,并且当不再需要它们时能够将其移除。所安装的和所开始的捆能够注册多个服务,这些服务能够在该框架的严格控制下与其它捆进行共享。
OSGi能够在标准Java虚拟机(VM)的上面运行。与一个Java应用运行于一个VM的常规方法相反,在OSGi中多个捆能够同时运行于同一个VM。OSGi作为一个多应用平台假设了一个主要是协作的环境,其中所安装的应用按照OSGi规范中所描述的规则/指导进行工作。虽然这种假设在其中所有安装的应用都来自受信任源的封闭环境中是可以保持正确,但是如果该平台可以运行任何应用(甚至那些来自于非受信任源的应用)的话,则这种假设可能不再正确。
OSGi当前未批准资源管理解决方案。因此,就资源利用而言,应用不是分离或者受控的。“资源”是指OSGi系统中的物理资源以及逻辑资源,其中物理资源诸如处理器时间、主存储器和辅助存储器、网络带宽、电池能量等,逻辑资源诸如数据库、各种UI组件等。如果该应用资源利用不是受控的,则该平台对于服务拒绝类型的攻击是开放的。在这些情况中,有故障的和恶意的应用利用了资源管理的匮乏,直接威胁到平台的鲁棒性、可靠性和使用性。
随着向移动电话部署OSGi平台的计划,能量管理的问题变得越来越复杂。没有适当的资源管理系统以及对于OSGi应用的能量使用的无限制,行为不良的应用可以通过重复执行能量密集型操作来简单地漏耗电池能量。例如,这种应用能够控制显示器的背光、播放音调、执行网络通信等,通过大幅度地缩减电池寿命来使得电话实际上不可使用。
发明内容
本发明提供了一种用于监控并且限制(如果必要的话)移动电话中运行的应用程序和/或其它软件实体的能量利用的的系统和方法。该应用程序或其它软件实体可以是各种类型的,诸如OSGi或者OSGi移动专家组(MEG)应用程序。
根据本发明的一个方面,该系统命令建立中央实体、能量资源控制器或者ERM作为基础平台的一部分,以便监控和限制(如果必要的话)每个正运行的应用程序的能量利用。每个应用程序接收能量成本配额,其代表了该应用程序在给定时间周期中能够使用的能量的最大值。该时间周期称为配额测量时段。
ERM仅监控能量密集型应用程序操作。利用能量成本函数来描述应用程序可以执行的每个能量密集型操作。能量成本函数描述了在给定时间周期中那个操作的能量成本(尽管没必要以绝对值的方式描述);该函数应该产生比较方式的有意义的值。应用程序可以具有多于一个的正在并行运行的操作。因此,应用程序的能量消耗是由每个在给定时间周期中运行的操作所产生的能量成本的累积值。
ERM借助于成本函数,规律地重新计算在配额测量时段中应用程序的能量利用。如果应用程序已经消耗了规定的能量最大值(即,超过其配额),则ERM对应用程序进一步的动作实行限制。可能的限制包含了从硬限制到比较软的防范措施,其中硬限制诸如整体关断应用程序,软防范措施包括不采取任何措施。通过将每个被计算到该点的应用程序能量利用归零,在每个配额测量时段的起始处重新开始能量利用计算。
为移动电话开发系统软件的电话制造商和/或其它提供商识别应用程序可访问的能量密集型操作,并且利用合适的能量成本函数对其进行描述。制造商还提供策略系统,以便为每个应用程序分配能量成本配额。制造商实现ERM,并且确定ERM可以对其配额耗尽的应用程序采取的纠正动作集。该动作集以及掌控这些动作的执行的条件可以是自动的或者是用户驱动的。
本发明包括多个显著的益处。正如上述所讨论的,包括本发明的设备能够在不得不对电池进行充电之前显著地延长其电池寿命。当前的发明还防止行为不良的应用程序对设备电池的严重消耗。实际上,能够将本发明应用于任何多应用程序的Java平台,以及应用到本地多应用程序的环境,例如Symbian环境。
结合附图根据以下的详细描述,本发明的这些以及其它目的、优点和特征、以及其操作的组织和方式将变得更加清楚,其中相同的单元将在以下所描述的多个附图中具有相同的标号。
附图说明
图1是能够在本发明的实施中使用的移动电话的透视图;
图2是图1中的移动电话的电话电路的示意性表示;
图3是示出在能量资源管理器接收到“操作开始”或“操作结束”通知的情况下能量资源管理器的动作的流程图;以及
图4是示出根据本发明的一个实施例的成本账户维护的示例的表示。
具体实施方式
图1和图2示出了一个具有代表性的移动电话12,在该移动电话中可以实施本发明。然而,应当理解,本发明可以实施到很多种类的电子设备中,包括个人计算机、个人数字助理、集成消息设备以及其他可用或可能可用Java VM和OSGi实施的电子设备。图1和图2中的移动电话12包括外壳30、采取液晶显示屏形式的显示屏32、键盘34、麦克风36、听筒38、电池40、红外端口42、天线44、采取根据本发明的一个实施例的UICC形式的智能卡46、读卡器48、无线接口电路52、编解码器电路54、控制器56以及存储器58。各个电路和单元都是现有技术已知的类型,例如在移动电话的Nokia系列。
本发明提供了一种用于监控并且在必要时限制运行于移动电话上的应用程序或其他软件实体的能量利用的系统和方法。这些应用程序或其他软件实体可以属于各种类型,并且包括例如OSGi和OSGi MEG应用程序。尽管在此特别提到了应用程序,但是应当理解本发明可以结合很多类型的软件实体来使用并且不严格限于应用程序。本发明用于保护移动设备的电池寿命免受恶意或性能不佳的应用程序的影响,这些应用程序会有意或无意地引起对移动电话的拒绝服务(DoS)攻击。
本发明引入了以下关键概念:能量成本账户和能量成本函数,能量成本配额和配额测量时段,能量资源管理器以及纠正动作或防范措施。在此详细地讨论这些概念。
根据本发明的原理,必须用能量成本函数来描述应用程序可能执行的每个能量密集的操作。能量成本函数描述该操作在给定的时间段上的能量成本。尽管能量成本函数不需要严格地对应于经由该操作而消耗的能量数量,但是相对的能量成本函数通常应当与在本发明的一个实施例中的不同操作中使用的能量级别有关,即需要大量能量的操作应当具有比需要少量能量的操作更高的能量成本函数。一个应用程序可以具有多个并行运行的操作。因此,应用程序的能量消耗可以计算为在给定时间段内为该应用程序而运行的每个操作所产生的能量成本的累积值。
安装在平台上的每个应用程序接收一个能量成本配额。能量成本配额代表应用程序在配额测量时段可以使用的能量的最大数量。配额测量时段是计算和总结应用程序的能量使用的时间段。能量使用计算在每个配额测量时段的开头重新开始。
所述系统要求作为基础平台的一部分的中央实体(能量资源管理器或ERM)监控并在必要时限制每个运行的应用程序的能量使用。自配额测量时段的开始之后,ERM有规律地重新计算应用程序的能量使用。在有规律的时间间隔之后,(i)只要应用程序想要执行新的能量密集操作或者(ii)在现有的能量密集操作结束之后或者(iii)如果应用程序部开始新的操作或完成现有的操作,就进行重新计算。ERM使用这些计算出的数字来维护每个应用程序的能量成本账户。能量成本账户保存在配额测量时段内由每个受监控的应用程序所产生的能量耗费。用从成本函数中得到的数字来更新该账户。
如果应用程序已经耗费了预定的最大数量的能量(即,超过了其配额),则ERM对进一步的应用程序动作施加限制。可能的限制包括刚性措施和较柔性的措施。刚性的防范措施通常会拒绝进一步操作的执行,或完全地关闭该应用程序。柔性措施通常会产生用户通知或者不进行任何动作。通过将所计算的达到那一点的每个应用程序的能量使用清零,能量使用计算在每个配额测量时段的开头重新开始。
从制造商的观点来看的使用情况通常如下:制造商在设备中创建一组能量密集操作,这组操作有可能具有争议设备的使用优先权。制造商通过创建描述执行这些操作的能量成本的函数来为这组操作提供配置文件。因此制造商创建了若干策略,并向用户提供选择的可能性。在所创建的策略中,制造商可以创建“能量安全”策略,其保证一旦电池电量级别降至某一百分比,第三方应用程序可以接收较低的能量成本配额,从而延长了电池的使用寿命。
从恶意或另外的行为不良的应用程序的观点来看,应用程序将启动多个能量密集的操作以消耗电池电量。当应用程序开始新的操作时,系统将通过发出异议来拒绝操作的执行。
从用户的观点来看,用户可以下载并安装新的应用程序。在用户想要尽可能地延长电池的使用寿命的情况下,用户可以设定“能量安全”模式策略。一旦电池能量级别降至设定的级别,则行为不良的应用程序将改变其行为,但是其余的设备应用程序将被允许在期望的时段内保持完全可以使用。
下文描述了本发明的实施细节和各种实施例。能量成本函数从在给定时间段内执行特定操作所用的能量方面表示了成本。这些操作可以明确地或不明确地由应用程序来执行。明确的情况包括应用程序使用应用程序接口(API)来进行平台所提供的特定能量密集功能性的操作。例子包括使用显示屏、蓝牙连接、红外连接等等。不明确地情况包括通常由运行应用程序的平台来执行的操作,并且问题是由恶意或错误应用程序行为模式带来的。在Java平台的情况下,这种例子包括Java应用程序对线程调度和垃圾回收的滥用。
在本发明的一个实施例中,能量成本函数的创建由创建移动电话系统软件的制造商和/或其他软件供应商负责。首先,必须选择能量密集操作,即那些未受控的和重复的执行对电池寿命造成威胁的操作。在本发明的一个实施例中,检查所有执行可能是能量密集的或是可访问第三方应用程序的功能的移动软件平台中的系统API。随后用能量成本函数表示每个这种操作的特征。能量成本函数不一定需要是所用能量的实际量。能量成本函数只需要当与其他成本函数相比时在相对的意义上准确即可。例如,使移动电话的显示屏背景灯光打开一段时间可能比在相同时间段上运行线程更耗费能量。
初始的能量成本配额表示在配额测量时段内应用程序允许产生的能量成本的最大量,并且由ERM在整个时段内实行。应用程序的配额始终与属于同一应用程序的能量成本账户的当前状态进行比较。换言之,ERM检查所产生的能量成本的当前总和是否达到配额。如果已达到配额,则采取纠正动作。
基于制造商和/或其他可信赖的供应商所创建的策略系统将能量成本配额分配给应用程序的安装时间。在本发明的一个实施例中,策略系统将设备在下载的应用程序中具有的信赖级别与能量成本配额相匹配。期望具有不同信赖级别的应用程序接收不同的成本配额,信赖度低的应用接收较小的配额。使用从Java的1.1版本开始引入的Java码签名和认证机制来建立信赖级别。在本发明的一个实施例中,配额和策略的创建仍然由制造商或其他可信赖的供应商来负责。
在此所讨论的能量保留策略可以因各种原因而激活。例如,制造商可能决定只有当电池能量级别降到低于某一级别时才实行某一策略。制造商也可以决定使该选择明确地由用户来驱动,其中为用户提供决定何时激活策略的能力。
ERM是由基础平台实施的中央实体,该基础平台拥有并实行能量管理策略。关键ERM动作包括监控在平台上执行的应用程序的能量使用以及在必要时实行能量成本配额。为了监控应用程序的能量使用,ERM维护每个应用程序的能量成本账户。能量成本账户保持应用程序在实际的配额测量时段中迄今为止产生的能量成本的总和。
ERM是事件驱动的,并且希望获得关于应用程序开始或结束能量密集操作的通知。基于这些通知,ERM将重新计算每个受监控应用程序的成本账户中的成本。因此,ERM必需能够识别通知的资源应用。然而,还有可能会发生操作用了很长时间才结束的情况。因此,由于ERM在操作结束之前不会接收到任何事件,所以在这种情况下ERM将不能更新成本账户。为了避免这种情况,在本发明的一个实施例中,ERM使用看门狗计时器(每个应用程序)以更新成本账户。如果ERM收到关于应用程序结束操作或开始新的操作的通知,则ERM重新开始看门狗计时器。
需要用在从前一次更新开始流逝的时间中产生的成本量对成本账户进行更新。ERM通过观察在该时间点运行的应用程序并总计它们各自在所考察的时间段内产生的成本来完成这一动作。ERM通过调用每个运行的操作的成本函数来获得成本,并随后通过将计算出的成本添加到已有的余额中来更新成本账户。
为了确定哪些操作当前正在运行,ERM维护操作注册。只要接收到新的“操作开始”通知就对注册中包含的操作进行注册并允许该操作进行。只要ERM接收到“操作结束”就对操作取消注册。
在配额测量时段期间维护能量成本账户。一旦配额测量时段结束,就将每个应用程序的成本账户清零,并且开始新的配额测量时段。
无论何时针对应用程序对能量成本账户进行更新,ERM都需要检查在当前配额测量时段内应用程序是否达到其配额。如果在配额测量时段内应用程序已经达到其配额,则ERM必须在将来针对应用程序采取纠正动作。可能的动作包括刚性的防范措施和相对柔性的防范措施。在本发明的一个实施例中,ERM用立即有效地关闭应用程序作为纠正动作来拒绝应用程序的执行。柔性的防范措施可以包括拒绝开始该应用程序的任何新的操作,直到配额测量时段结束为止,或者可选地还可以挂起应用程序某些或所有的运行操作。一种更宽容的防范措施包括将动作推迟到下一配额测量时段执行。这可选地通过将较小的配额分配给表现不当的那个应用程序来完成。可由制造商和/或其他可信赖的供应商负责确定纠正动作的确切定时和性质,本发明允许广泛的各种组合。
在本发明的一个实施例中,采取防范措施的过程可以是交互式的,其面向应用、面向移动电话的用户或面向应用和移动电话用户两者。在这一实施例中,将ERM关于影响现有操作或新操作的执行的决定通知应用程序。例如,在基于Java的平台中,这可以通过ERM向应用程序提起异议来完成。用户可以有机会确认或无视某些ERM决定。例如,可以询问用户是否确认ERM的决定以终止行为不良的应用程序。在另一个例子中,用户可以手动地增大应用程序的配额或手动地选择将被关闭的一组操作。在又一个实施例中,ERM仅仅通知用户有关ERM的决定,而不提供确认或无视该决定的机会。
图3是示出ERM在接收到“操作开始”或“操作结束”通知时的动作的流程图。在本发明的这一实施例中,并且在图3的步骤300中,ERM收到应用程序已经开始了一个操作事件的通知。在步骤305中,如有必要,停止看门狗计时器。在步骤310中,确定争议应用程序是否已经拥有了能量成本账户。如果仍没有能量成本账户,则在步骤315中创建能量成本账户。在步骤320中,注册操作的开始。在步骤325中,重启看门狗计时器,并且在步骤330中,允许该操作进行。
如果争议应用程序已经具有能量成本账户,则在步骤335中计算该活动操作的能量成本。在步骤395中,为这一目的调用能量成本函数。在步骤340中,考虑自当前配额时段的初始之后开始的活动操作的能量成本,对能量成本账户进行更新。然后,在步骤345中确定能量成本账户的余额是否还在配额以内。如果能量成本账户的余额在配额以内,则在步骤320中将该操作的开始注册到ERM,在步骤325中重启看门狗计时器,并且在步骤330中允许该操作进行。另一方面,如果能量成本账户已经超过配额,则在步骤350中,重启看门狗计时器,并且在步骤355中,作为纠正动作,例如通过提起异议,拒绝该操作的执行。
在步骤360中,由能量资源管理器接收应用程序的“操作结束”事件。在步骤365中,如有必要,取消看门狗计时器。在步骤370中,考虑调用的能量成本函数,计算活动操作的能量成本。在步骤375中,对能量成本账户进行更新以反映活动操作。在步骤380中,对操作取消注册,并在步骤390中重启看门狗计时器。
图4是示出根据本发明的一个实施例维护成本账户的例子的表示。各种时间标记和每种标记所代表的含义如下:
时刻 | 事件 |
t1 | 配额测量时段开始。能量成本账户归零。 |
t2 | 接收到关于操作A的新操作通知。更新能量成本账户;注册操作A;开始看门狗计时器;允许操作A。 |
t3 | 接收到关于操作B的新操作通知。取消看门狗计时器;更新能量成本账户;注册操作B;开始看门狗计时器;允许操作B。 |
t4 | 操作A结束。接收到操作A结束的通知。取消看门狗计时器;更新能量成本账户;将操作A取消注册;开始看门狗计时器。 |
t5 | 接收到关于操作C的新操作通知。取消看门狗计时器;更新能量成本账户;注册操作C;开始看门狗计时器;允许操作C。 |
t6 | 看门狗计时器达最大值,更新账户;能量成本账户超过配额,但是仍未采取任何动作;开始看门狗计时器 |
t7 | 接收到关于操作D的新操作通知。取消看门狗计时器;更新能量成本账户;由于能量成本账户超过配额,开始看门狗计时器,拒绝操作D。 |
t8 | 接收到操作B结束的通知。取消看门狗计时器;更新能量成本账户;将操作B取消注册;开始看门狗计时器。 |
t9 | 重新开始配额测量时段,能量成本账户归零。 |
t10 | 接收到关于操作D的新操作通知。取消看门狗计时器;更新能量成本账户;注册操作D;开始看门狗计时器;允许操作D。 |
为了实施本发明的系统,ERM必须接收关于每个操作的开始和结束的通知。在基于Java的平台的例子中,如果操作包括通过蓝牙进行的通信会话,则控制蓝牙设备的Java API必须在连接开始时通知ERM,并且如果进行了连接,则必须在连接结束时通知ERM。
此外,本发明的ERM还可以针对那些特征为“不明确”的操作要求较低级别(例如,虚拟机或操作系统)的支持。基于Java的平台的例子包括线程调度。应用程序的处理器时间具有能量价格。在这种情况下,能量消耗直接依赖于该应用程序线程已经成本在运行上的时间量。在这种情况下,“操作开始”事件是正在调度的线程,而“操作结束”事件是正在解除调度的应用程序线程。在虚拟机实施以绿色线程运转的情况下,虚拟机必须能够支持ERM。在虚拟机应用本地线程的情况下,需要操作系统支持。
在此描述的本发明的系统包括独立存在的系统,其专用于控制能量使用。然而,实施本发明的设备还可以包括控制各种其他资源的更复杂的资源管理系统。这些其他的资源可以包括,但不限于主存储器和次级存储器的使用、处理器时间等等。在这种情况下,可以从其他的观点出发来监控某些能量密集的操作。例如,在网络通信的情况下,可用的网络带宽是要控制的重要资源,而这构成网络通信的能量成本。针对这些情况,可以使用单个监控系统来降低监控开销。例如,在网络通信的情况下,可以仅通过检查网络带宽的使用来减小能量成本。
在方法步骤的一般上下文中描述了本发明,在一个实施例中,也可以通过一种包括由网络环境中的计算机执行的计算机可执行指令(诸如程序代码)的程序产品来实施这些方法步骤。
通常,程序模块包括例程、程序、对象、组件、数据结构等,其执行特定的任务或实现特定的抽象数据类型。计算机可执行指令、相关的数据结构以及程序模块代表了用于执行在此公开的方法的步骤的程序代码的例子。这些可执行指令或相关的数据结构的特定序列代表了用于实施在这些步骤中描述的功能的相应动作。
本发明的软件和web实现可以用具有用以完成各种数据库搜索步骤、相关步骤、比较步骤和判断步骤的基于规则的逻辑和其他逻辑的标准的编程技术来实现。还应当注意,在此使用以及在权利要求中使用的术语“组件”和“模块”旨在涵盖使用一行或多行软件代码的实现,和/或硬件实现,和/或用于接收手动输入的设备。
已经出于说明和描述的目的,提供了对本发明的实施例的前面的描述。并不意图穷尽本发明或将本发明限于所公开的形式,并且根据上述启示或从对本发明的实现中可以获得各种修改和变更。选择和描述这些实施例是为了解释本发明的原理及其实际应用,以便本领域的普通技术人员能够以各种实施例并通过适于预期的特定用途的各种修改来利用本发明。
Claims (17)
1.一种用于在电子设备中控制资源利用的方法,包括:
为软件实体维护能量成本账户,以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本;
接收开始事件,该事件指示在该电子设备中对于特定软件实体的新的能量密集型操作的开始;
取消看门狗定时器的操作;
如果该特定软件实体不具有先前创建的能量成本账户,则为该特定软件实体创建能量成本账户;
更新该能量成本账户,以反映对于该特定软件实体先前注册的操作的所计算的能量成本;
通过比较该能量成本账户和成本配额,确定该特定软件实体是否已经超过其成本配额;
如果该特定软件实体已经超过其成本配额,则对于该特定软件发起纠正动作;
如果未发起纠正动作,或者如果所发起的纠正的动作允许进行新的操作,则注册该新的操作;以及
重新开始该看门狗定时器的操作。
2.一种用于在电子设备中控制资源利用的方法,包括:
为软件实体维护能量成本账户,以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本;
接收终结事件,该事件指示在该电子设备中操作的终结;
取消看门狗定时器的操作;
更新该能量成本账户,以反映对于该软件实体活动的操作的所计算的能量成本;
通过比较该能量成本账户和成本配额,确定该软件实体是否已经超过其成本配额;
如果该软件实体已经超过其成本配额,则对于该软件实体发起纠正动作;
取消注册该操作;以及
重新开始该看门狗定时器的操作。
3.一种用于在电子设备中控制资源利用的方法,包括:
为软件实体维护能量成本账户,以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本;
接收看门狗定时器过期事件,该事件指示看门狗定时器操作的终结;
更新该能量成本账户,以反映对于该软件实体的活动操作的所计算的能量成本;
通过比较该能量成本账户和成本配额,确定该软件实体是否已经超过其成本配额;
如果该软件实体已经超过其成本配额,则对于该软件实体发起纠正动作;以及
重新开始该看门狗定时器的操作。
4.根据权利要求1-3中任一所述的方法,进一步包括:
当先前的配额测量时段已经过期时,自动地重新发起新的配额测量时段;以及
当重新发起新的配额测量时段时,重新设置该软件实体的能量成本账户。
5.根据权利要求1-3中任一所述的方法,其中将从最接近的配额测量时段起已经被注册并且正在运行的该软件实体的操作计算到该能量成本账户中。
6.根据权利要求1-3中任一所述的方法,进一步包括使得用户能够调整该配额测量时段的持续时间。
7.根据权利要求1-3中任一所述的方法,其中使用策略系统确定对于该软件实体的成本配额的数量。
8.根据权利要求7所述的方法,其中对于该软件实体的成本配额的大小与对于至少一个其它软件实体的成本配额不同。
9.根据权利要求8所述的方法,进一步包括使得用户能够调整该成本配额的值。
10.根据权利要求1-3中任一所述的方法,其中使用策略系统确定对于已经超过其配额的软件实体的纠正动作。
11.根据权利要求10所述的方法,进一步包括使得用户能够设置对于已经超过其配额的软件实体的纠正动作。
12.一种用于在电子设备中控制资源利用的装置,包括:
用于为软件实体维护能量成本账户以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本的装置;
用于接收开始事件的装置,该事件指示在该电子设备中对于特定软件实体的新的能量密集型操作的开始;
用于取消看门狗定时器的操作的装置;
用于如果该特定软件实体不具有先前创建的能量成本账户,则为该特定软件实体创建能量成本账户的装置;
用于更新该能量成本账户,以反映对于该特定软件实体先前注册的操作的所计算的能量成本的装置;
用于通过比较该能量成本账户和成本配额,确定该特定软件实体是否已经超过其成本配额的装置;
用于如果该特定软件实体已经超过其成本配额,则对于该特定软件发起纠正动作的装置;
用于如果未发起纠正动作,或者如果所发起的纠正的动作允许进行新的操作,则注册该新的操作的装置;以及
用于重新开始该看门狗定时器的操作的装置。
13.一种用于在电子设备中控制资源利用的装置,包括:
用于为软件实体维护能量成本账户,以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本的装置;
用于接收终结事件的装置,该事件指示在该电子设备中操作的终结;
用于取消看门狗定时器的操作的装置;
用于更新该能量成本账户,以反映对于该软件实体活动的操作的所计算的能量成本的装置;
用于通过比较该能量成本账户和成本配额,确定该软件实体是否已经超过其成本配额的装置;
用于如果该软件实体已经超过其成本配额,则对于该软件实体发起纠正动作的装置;
用于取消注册该操作的装置;以及
用于重新开始该看门狗定时器的操作的装置。
14.一种用于在电子设备中控制资源利用的装置,包括:
用于为软件实体维护能量成本账户,以反映在配额测量时段中对于该软件实体执行操作的所计算的能量成本的装置;
用于接收看门狗定时器过期事件的装置,该事件指示看门狗定时器操作的终结;
用于更新该能量成本账户,以反映对于该软件实体的活动操作的所计算的能量成本的装置;
用于通过比较该能量成本账户和成本配额,确定该软件实体是否已经超过其成本配额的装置;
用于如果该软件实体已经超过其成本配额,则对于该软件实体发起纠正动作的装置;以及
用于重新开始该看门狗定时器的操作的装置。
15.根据权利要求12-14中任一所述的用于在电子设备中控制资源利用的装置,进一步包括:
用于当先前的配额测量时段已经过期时自动地重新发起新的配额测量时段的装置;
用于当重新发起新的配额测量时段时重新设置该软件实体的能量成本账户的装置;以及
用于使得用户能够调整该配额测量时段的持续时间的装置。
16.根据权利要求12-14中任一所述的用于在电子设备中控制资源利用的装置,其中使用策略系统确定对于该软件实体的成本配额的账户,以及其中对于该软件实体的成本配额的大小与对于至少一个其它软件实体的成本配额不同。
17.根据权利要求12-14中任一所述的用于在电子设备中控制资源利用的装置,其中使用策略系统确定对于已经超过其配额的软件实体的纠正动作,并且进一步包括用于使得用户能够设置对于已经超过其配额的软件实体的纠正动作的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/173,701 | 2005-06-30 | ||
US11/173,701 US7440751B2 (en) | 2005-06-30 | 2005-06-30 | System and method for controlling energy usage in mobile applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1937822A CN1937822A (zh) | 2007-03-28 |
CN1937822B true CN1937822B (zh) | 2011-06-08 |
Family
ID=37034049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101001562A Active CN1937822B (zh) | 2005-06-30 | 2006-06-30 | 用于控制移动应用中能量利用的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7440751B2 (zh) |
EP (1) | EP1739524B1 (zh) |
KR (1) | KR100781785B1 (zh) |
CN (1) | CN1937822B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100417407B1 (ko) * | 2001-05-25 | 2004-02-05 | 엘지전자 주식회사 | 이동통신 단말기의 전력절감 방법 |
DE102006016994A1 (de) * | 2006-04-11 | 2007-10-18 | Giesecke & Devrient Gmbh | Erfassen des Betriebsmittelverbrauchs |
US20080276299A1 (en) * | 2007-04-02 | 2008-11-06 | Samsung Electronics Co., Ltd. | Wireless terminal apparatus and method of protecting system resources |
KR101506254B1 (ko) * | 2007-04-02 | 2015-03-26 | 삼성전자 주식회사 | 무선 단말 장치 및 시스템 보호 방법 |
US8155520B1 (en) | 2008-04-16 | 2012-04-10 | Cyan, Inc. | Multi-fabric shelf for a transport network |
US8390993B1 (en) * | 2008-04-16 | 2013-03-05 | Cyan, Inc. | Light source in chassis to provide frontal illumination of a faceplate on the chassis |
JP5515650B2 (ja) * | 2008-12-09 | 2014-06-11 | セイコーエプソン株式会社 | 画像記録方法、画像記録システム |
US8386810B2 (en) * | 2009-04-08 | 2013-02-26 | Microsoft Corporation | Determination of software module power consumption by analyzing total system power consumption of operational hardware events at plural times |
US20110072378A1 (en) * | 2009-09-24 | 2011-03-24 | Nokia Corporation | Method and apparatus for visualizing energy consumption of applications and actions |
EP2390756A1 (en) * | 2010-05-25 | 2011-11-30 | Samsung Electronics Co., Ltd. | Method and apparatus for managing an application being executed in a portable terminal |
US8732487B2 (en) | 2010-06-30 | 2014-05-20 | Microsoft Corporation | Predictive computing device power management |
US9032413B2 (en) | 2011-09-01 | 2015-05-12 | Microsoft Technology Licensing, Llc | Decoupling background work and foreground work |
US9063775B2 (en) | 2011-09-01 | 2015-06-23 | Microsoft Technology Licensing, Llc | Event aggregation for background work execution |
CN102369647B (zh) * | 2011-09-14 | 2013-12-04 | 华为技术有限公司 | 移动终端电源管理方法和装置 |
US9176841B2 (en) | 2011-12-28 | 2015-11-03 | Microsoft Technology Licensing, Llc | Estimating application energy usage in a target device |
US9164803B2 (en) | 2012-01-20 | 2015-10-20 | Microsoft Technology Licensing, Llc | Background task resource control |
CN103313359A (zh) * | 2012-03-15 | 2013-09-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种用于移动终端的节电方法、节电装置以及移动终端 |
US8990534B2 (en) | 2012-05-31 | 2015-03-24 | Apple Inc. | Adaptive resource management of a data processing system |
US9489236B2 (en) | 2012-10-31 | 2016-11-08 | Microsoft Technology Licensing, Llc | Application prioritization |
US9195294B2 (en) | 2012-11-13 | 2015-11-24 | International Business Machines Corporation | Cooperatively managing enforcement of energy related policies between virtual machine and application runtime |
US9189619B2 (en) | 2012-11-13 | 2015-11-17 | International Business Machines Corporation | Runtime based application security and regulatory compliance in cloud environment |
US10133329B2 (en) | 2012-11-19 | 2018-11-20 | Qualcomm Incorporated | Sequential feature computation for power efficient classification |
CN103049319A (zh) * | 2012-12-18 | 2013-04-17 | 广东欧珀移动通信有限公司 | 分时段管理后台应用程序的方法及其终端 |
US9690685B2 (en) * | 2014-05-30 | 2017-06-27 | Apple Inc. | Performance management based on resource consumption |
CN110294372B (zh) * | 2018-03-23 | 2023-02-28 | 奥的斯电梯公司 | 一种无线信号装置、电梯服务请求系统和方法 |
US10936039B2 (en) * | 2018-06-19 | 2021-03-02 | Intel Corporation | Multi-tenant edge cloud system power management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527201A (zh) * | 2003-09-23 | 2004-09-08 | 康博科技股份有限公司 | 可执行预约工作项目的计算机系统及其方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311287B1 (en) | 1994-10-11 | 2001-10-30 | Compaq Computer Corporation | Variable frequency clock control for microprocessor-based computer systems |
US6545775B1 (en) * | 1995-07-21 | 2003-04-08 | Canon Kabushiki Kaisha | Control system and units removably attachable to the same |
JP2877116B2 (ja) * | 1996-12-26 | 1999-03-31 | 日本電気株式会社 | 無線通信システム |
US6275712B1 (en) * | 1999-02-26 | 2001-08-14 | Nokia Mobile Phones Ltd | Mobile station control states based on available power |
EP1182556B1 (en) * | 2000-08-21 | 2009-08-19 | Texas Instruments France | Task based adaptive profiling and debugging |
KR100417407B1 (ko) * | 2001-05-25 | 2004-02-05 | 엘지전자 주식회사 | 이동통신 단말기의 전력절감 방법 |
US6898718B2 (en) * | 2001-09-28 | 2005-05-24 | Intel Corporation | Method and apparatus to monitor performance of a process |
US7944839B2 (en) * | 2001-11-30 | 2011-05-17 | British Telecommunications Public Limited Company | Method of resource control in a wireless network |
US7536689B2 (en) | 2003-01-10 | 2009-05-19 | Tricerat, Inc. | Method and system for optimizing thread scheduling using quality objectives |
KR100595586B1 (ko) * | 2003-05-31 | 2006-07-03 | 엘지전자 주식회사 | 휴대단말기의 전원 절약장치 및 방법 |
WO2005008360A2 (en) * | 2003-07-18 | 2005-01-27 | Electronics And Telecommunications Research Institute | Method and device for allocating radio resources in wireless portable network system |
JP4003727B2 (ja) * | 2003-09-22 | 2007-11-07 | ブラザー工業株式会社 | 通信手段を備えた携帯型プリンタ |
KR100664123B1 (ko) * | 2004-05-06 | 2007-01-04 | 엘지전자 주식회사 | 휴대단말기의 전원 운용장치 및 방법 |
JP4455354B2 (ja) * | 2005-01-26 | 2010-04-21 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム |
US20070254628A1 (en) * | 2006-04-27 | 2007-11-01 | Research In Motion Limited | Method, apparatus and system for monitoring and controlling wireless resource usage |
-
2005
- 2005-06-30 US US11/173,701 patent/US7440751B2/en active Active
-
2006
- 2006-06-28 EP EP06116232.7A patent/EP1739524B1/en active Active
- 2006-06-30 KR KR1020060061377A patent/KR100781785B1/ko active IP Right Grant
- 2006-06-30 CN CN2006101001562A patent/CN1937822B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527201A (zh) * | 2003-09-23 | 2004-09-08 | 康博科技股份有限公司 | 可执行预约工作项目的计算机系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100781785B1 (ko) | 2007-12-04 |
US7440751B2 (en) | 2008-10-21 |
EP1739524B1 (en) | 2014-02-26 |
EP1739524A3 (en) | 2008-11-19 |
KR20070003703A (ko) | 2007-01-05 |
US20070004468A1 (en) | 2007-01-04 |
EP1739524A2 (en) | 2007-01-03 |
CN1937822A (zh) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1937822B (zh) | 用于控制移动应用中能量利用的系统和方法 | |
CN109918916B (zh) | 一种双体系可信计算系统及方法 | |
CN101263473B (zh) | 封装了处理单元的操作系统 | |
CN1842031B (zh) | 数据处理方法与系统 | |
CN107688933A (zh) | 资源转移方法、装置及存储介质 | |
WO2006071007A1 (en) | Method and system for authenticating software license | |
CN100390753C (zh) | 终端控制装置以及终端控制方法 | |
KR20060092148A (ko) | 데이터 전송 관리 시스템, 모바일 디바이스 및 이들에이용된 서버 | |
KR20070085779A (ko) | 인도후―수입을 발생시키고 사전 로드된 비활성 상주애플리케이션과 연관된 인도후―활성화를 기록하는 방법 | |
Deville et al. | Smart card operating systems: Past, present and future | |
KR20060111868A (ko) | OSGi 서비스 플랫폼에서 번들 그룹 종료 기능을제공하는 시스템 및 방법 | |
CN101963913B (zh) | 一种基于事务的构件在线演化方法 | |
CN115795477A (zh) | 一种服务器启动方法、装置、计算机设备及存储介质 | |
KR100915533B1 (ko) | 미복귀 대기 리소스 이용량 결정 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
CN112835639A (zh) | 一种Hook实现方法、装置、设备、介质及产品 | |
CN1979413A (zh) | 软件组件和软件组件管理系统 | |
Liu et al. | On trustworthiness of CPU usage metering and accounting | |
KR100456512B1 (ko) | 커널 백도어 탐지 시스템, 이를 이용한 커널 백도어 탐지방법 및 커널 데이터 복구 방법 | |
CN113283893A (zh) | 资源转移处理方法、装置、存储介质及电子设备 | |
CN102354524B (zh) | 防止便携式终端中的异常只读存储器更新的装置和方法 | |
CN101510239A (zh) | 信息处理系统和信息处理方法 | |
CN104820792B (zh) | Android设备及数据通道系统权限管理方法和装置 | |
Kuroda et al. | A memory isolation method for osgi-based home gateways | |
Binder | Secure and reliable java-based middleware-challenges and solutions | |
CN115987701B (zh) | 接入设备的管理方法、装置、终端设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160114 Address after: Espoo, Finland Patentee after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Patentee before: Nokia Oyj |