信息处理装置和控制信息处理装置的方法

文档序号:6373284阅读:170来源:国知局
专利名称:信息处理装置和控制信息处理装置的方法
技术领域
本文讨论的实施例涉及一种信息处理装置、信息处理程序和信息处理方法。
背景技术
嵌入式系统中通常使用的操作系统的类型是具有有限的可用应用程序的单任务系统,该特性不限于移动终端。已知一种使用该特性的技术,其中每个应用程序所使用的中央处理单元(CPU)的工作频率通过以下方法来控制,该方法包括:通过测量等获得工作频率,并在开始和退出应用程序时进行检测。适当地控制CPU的工作频率使得能够保证处理能力并抑制电力消耗(例如,参见日本公开专利公布2006-13756、2004-355599、2001-202166 和 2001-273057)。然而,对于智能手机等的操作系统,用户能够以与个人计算机相似的方式自由下载和安装各种类型的应用程序,所以难以预先获得应用程序期望的CPU工作频率。以相同的方式,对于各种各样的终端,应用程序开发者可能会难以了解由开发者他/她自己所创建的应用程序将使用什么等级的CPU功能,并且可能不能提供关于该应用程序将使用的CPU工作频率的信息。对于CPU工作频率控制架构,例如存在这样的架构:该向OS内核指示用于CPU工作频率的控制策略(即,用于利用诸如改变比率、上限/下限频率等的参数来改变CPU工作频率的算法)。内核监视CPU的使用,并基于CPU的使用和控制策略来确定目标CPU工作频率。然后,内核向控制CPU电压和时钟的电路的驱动器通知所确定的目标频率。基于来自内核的通知,驱动器经由基于电路特性的过程来将CPU频率和电压设置成目标值。为了利用这样的架构适当地控制CPU工作频率,期望根据终端的使用目的和状态来选择控制策略。例如,已知一种技术,其中通过利用与诸如应用程序开始或停止、液晶显示器开启或关闭、外部电力供应的开始/停止、低电池等的事件以一对一的方式相关联的控制策略来确定控制策略。然而,对于上述现有技术,存在以下问题:由于诸如智能手机的多功能信息处理装置的应用程序和硬件例如在各种状态下操作,所以难以根据情况来适当设置CPU的工作频率。

发明内容
本发明的实施例的目的是提供能够根据情况来适当设置CPU工作频率的信息处理装置、信息处理程序和信息处理方法,以解决前述常规技术的问题。根据本发明的一方面,一种信息处理装置具有:存储单元,被配置成存储关联信息,在所述关联信息中,用于所述信息处理装置的中央处理单元的工作频率的控制规则与所述信息处理装置的第一元件的状态改变和所述信息处理装置的第二元件的状态的组合相关联,所述第二元件不同于所述第一元件;检测单元,被配置成检测所述第一元件的状态改变;确定单元,被配置成在已经由所述检测单元检测到所述第一元件的状态改变的情况下确定所述第二元件的状态;搜索单元,被配置成从存储在所述存储单元中的关联信息中搜索与由所述检测单元检测到的状态改变和由所述确定单元确定的状态的组合相对应的控制规则;以及控制单元,被配置成基于由所述搜索单元搜索到的控制规则来控制所述中央处理单元的工作频率。


图1是根据实施例的信息处理装置的功能框图。图2是信息处理装置的硬件配置图。图3是根据第一实施例的信息处理装置的功能框图。图4是示出了由信息处理装置进行的工作频率控制的示例的流程图。图5是示出了由策略控制软件进行的处理的示例的流程图。图6是示出了由系统状态检查模块进行的处理的示例的流程图。图7是不出了根据第一实施例的控制策略改变规则表的不例的表。图8A是示出了电力优先的算法和限值的示例的图。图SB是示出了处理优先的算法和限值的示例的图。图9A是示出了根据第一实施例的工作频率控制的示例的图的部分I。图9B是示出了根据第一实施例的工作频率控制的示例的图的部分2。图9C是示出了根据第一实施例的工作频率控制的示例的图的部分3。图10是根据第二实施例的信息处理装置的功能框图。图11是示出了由系统负载监视模块进行的处理的示例的流程图。图12是示出了根据第二实施例的控制策略改变规则表的示例的表。图13A是示出了根据第二实施例的工作频率控制的示例的图的部分I。图13B是示出了根据第二实施例的工作频率控制的示例的图的部分2。图13C是示出了根据第二实施例的工作频率控制的示例的图的部分3。图14是示出了 CPU负载与工作频率之间的关系的示例的图。图15是示出了由系统负载监视模块进行的处理的修改的示例的流程图。图16是示出了图15中示出的负载确定处理的示例的流程图。图17是示出了对图16中示出的负载确定处理的修改的示例的流程图。图18是根据第三实施例的信息处理装置的功能框图。图19是示出了待检查列表的示例的图。图20是示出了由处理监视模块进行的处理的示例的流程图。图21是示出了活动状态检查处理的示例的流程图。图22是示出了改变检测处理的示例的流程图。图23是示出了根据第三实施例的控制策略改变规则表的示例的表。图24是根据第四实施例的信息处理装置的功能框图。图25是示出了由安装器进行的处理的示例的流程图。图26是根据第五实施例的信息处理装置的功能框图。
具体实施方式
下文中,将参照附图详细描述信息处理装置、信息处理程序和信息处理方法的实施例。信息处理装置图1是根据实施例的信息处理装置的功能框图。如图1所示,信息处理装置100例如包括存储单元110、检测单元120、确定单元130、搜索单元140、控制单元150、以及中央处理单元160。存储单元110存储对应信息111。对应信息111是这样的对应信息:在该对应信息中,信息处理装置100的第一元件的状态改变(即,事件)和信息处理装置100的第二元件的状态的各个组合与用于中央处理单元160的工作频率的各个控制规则相关联。稍后将描述第一元件、第二元件和控制规则。检测单元120检测信息处理装置100的第一元件的状态改变。如果检测单元120检测到第一元件的状态改变,则检测单元120向确定单元130和搜索单元140通知已经检测到第一元件的状态改变。当被检测单元120通知已经检测到第一元件的状态改变时,确定单元130确定信息处理装置100的第二元件的状态。确定单元130向搜索单元140通知已经确定的第二元件的状态。搜索单元140在存储在存储单元110中的对应信息111内搜索如下控制规则:该控制规则与由检测单元120通知的第一元件的状态改变和由确定单元130通知的第二元件的状态的组合相对应。搜索单元140向控制单元150通知通过搜索获得的控制规则。控制单元150基于由搜索单元140通知的控制规则来控制中央处理单元160的工作频率。中央处理单元160是信息处理装置100的CPU。中央处理单元160控制信息处理装置100的硬件,执行信息处理装置100的软件等。关于第一元件信息处理装置100的第一元件例如是信息处理装置100具有的硬件。在此情况下,第一元件的状态改变的示例可以包括开启或关闭液晶显示器(LCD)、开始或停止外部电力供应、剩余电池降到阈值以下等。第一元件也可以例如是信息处理装置100的专用软件。在此情况下,第一元件的状态改变的示例在此情况下可以包括开始和停止专用软件。专用软件可以例如是安装在信息处理装置100中的且由中央处理单元160执行的应用程序当中的特定应用程序。关于第二元件信息处理装置100的第二元件是信息处理装置100的不同于第一元件的元件。例如,第二元件是信息处理装置100具有的硬件。第二元件的状态的示例可以包括IXD的开启/关闭状态、外部电力供应的状态、剩余电池的状态等。替代地,第二元件可以是信息处理装置100的专用软件。在此情况下,第二元件的状态的示例可以包括专用软件是否正在运行。控制规则控制规则例如是诸如算法或参数等的、控制中央处理单元160的工作频率的控制策略。中央处理单元160的处理能力和电力消耗根据用于工作频率的控制策略而改变。此夕卜,控制规则可以是用于表示如何改变控制策略的动作等。控制工作频率的算法的示例是这样的算法:该算法基于诸如中央处理单元160的负载的改变(例如,使用、正运行的应用程序的数量等)的情况,来确定中央处理单元160的工作频率要改变的量。用于控制工作频率的参数的示例包括中央处理单元160的工作频率的上限或下限等。例如,当使得中央处理单元160的工作频率变得相对高的控制策略被应用时,中央处理单元160的处理能力和电力消耗变得相对高。另一方面,当使得中央处理单元160的工作频率变得相对低的控制策略被应用时,中央处理单元160的处理能力和电力消耗变得相对低。因此,对于信息处理装置100,不仅参考第一元件的状态改变而且参考第二元件的状态来控制中央处理单元160的控制规则。因此,当信息处理装置100的软件和硬件在各种状态下操作时,可以根据情况来适当控制处理能力和电力消耗。信息处理装置的硬件配置图2是信息处理装置的硬件配置图。图2中示出的信息处理装置100是图1中的信息处理装置100的配置示例。信息处理装置100例如是移动信息终端,诸如智能手机或平板PC。信息处理装置100包括作为硬件模块的CPU 201、主存储器202、辅助存储器203、时钟供应电路204、电压供应电路205、射频(RF)单元206、天线207、以及电池组208。信息处理装置100还包括作为硬件模块的电力供应电路209、摄像模块210、蓝牙接口 211、全球定位系统(GPS)模块212、LCD 213、传感器214、以及外部电力供应单元215。硬件模块例如通过总线相连。CPU 201是对应于图1中示出的中央处理单元160的配置。CPU 201整体上支配信息处理装置100的控制。此外,CPU 201根据从时钟供应电路204供应的时钟信号和从电压供应电路205供应的电压进行操作。主存储器202例如是随机存取存储器(RAM)。主存储器202被用作CPU 201的工作区。辅助存储器203是非易失性存储器,诸如硬盘或闪存。辅助存储器203存储用于操作信息处理装置100的各种类型的程序。存储在辅助存储器203中的程序被加载到主存储器202并且由CPU 201执行。时钟供应电路204将时钟信号供应给CPU 201,该时钟信号的频率可以改变。时钟供应电路204例如可以由诸如晶体振荡器的装置来实现,该晶体振荡器进行振荡以输出时钟信号或实时时钟(RTC)。电压供应电路205根据从电力供应电路209供应的电压将可变电压供应给CPU 201。电压供应电路205例如可以由电压检测器、电压调节器等来实现。RF单元206具有用作发送器的功能,以在CPU 201的控制下将射频信号从天线207发送到其它无线通信装置。RF单元206还具有用作接收器的功能,以将在天线207处接收的射频信号转换成基带信号、从而输出到CPU 201。电池组208向电力供应电路209供应电力。电池组208例如可以由诸如锂离子电池的电池以及用于保护电池的集成电路(IC)等来实现。电力供应电路209将从电池组208供应的电力供应给信息处理装置100的硬件模块。如果外部电力供应单元215连接到电力供应电路209,则电力供应电路209可以将从外部电力供应单元215供应的电力供应给信息处理装置100的硬件模块。电力供应电路209例如可以由开关式调节器和电压调节器来实现。
摄像模块210在CPU 201的控制之下获取通过拍摄对象而获得的图像数据。蓝牙接口 211是通信接口,其在CPU 201的控制之下执行与其它通信装置的蓝牙(Bluetooth,注册商标)无线通信。除了蓝牙接口 211之外,信息处理装置100还可以具有诸如用于无线局域网(LAN)的无线通信接口。GPS模块212在CPU 201的控制之下,通过接收从卫星发射的电波来获得表示信息处理装置100在地球上的当前位置的位置信息。IXD 213是向用户显示图像的图像显示装置,且处于CPU 201的控制之下。IXD213可以是还包括位置输入功能(诸如触摸板等所具有的功能)的触摸面板。传感器214在CPU 201的控制之下获得表示信息处理装置100内的各种状态的信息。传感器214的示例包括加速度传感器、陀螺传感器、亮度传感器、地磁传感器、倾斜传感器、压力传感器、接近度传感器(Proximity Sensor)、温度传感器等。第一实施例根据第一实施例的信息处理装置的配置图3是根据第一实施例的信息处理装置的功能框图。如图3所示,根据第一实施例的信息处理装置100的硬件310包括CPU 311和频率/电压控制电路312。CPU 311的配置对应于图2中示出的CPU 201。频率/电压控制电路312的配置对应于图2中示出的时钟供应电路204和电压供应电路205两者。频率/电压控制电路312基于从内核320输出的控制命令来控制CPU311的工作频率和供应给CPU 311的电压。例如,频率/电压控制电路312在降低CPU 311的工作频率的情况下降低供应给CPU 311的电压。此外,频率/电压控制电路312可以在升高CPU311的工作频率的情况下升高供应到CPU 311的电压。信息处理装置100还包括内核320、硬件监视模块330、作为监视目标的应用程序的列表341、应用程序开始/停止监视模块342和策略控制软件350的功能。信息处理装置100还包括系统状态检查模块360和控制策略改变规则表370的功能。图1中示出的控制单元150例如可以由频率/电压控制电路312、内核320和策略控制软件350来实现。内核320例如是CPU 311所执行的操作系统的一部分。内核320包括CPU调度器(scheduler) 321,目标频率计算模块322、工作频率设置模块323、以及系统状态获得接口324。CPU调度器321周期性地获得CPU 311的使用,并向目标频率计算模块322通知已经获得的CPU 311的使用。目标频率计算模块322基于用于CPU 311的工作频率的控制策略以及由CPU调度器321通知的使用,决定CPU 311的目标工作频率。目标频率计算模块322还根据从策略控制软件350输出的设置改变命令来改变控制策略。目标频率计算模块322向工作频率设置模块323通知已经决定的目标工作频率。工作频率设置模块323是如下驱动器:该驱动器向频率/电压控制电路312输出控制命令,以使得CPU 311的工作频率与由目标频率计算模块322通知的工作频率相同。硬件监视模块330监视从系统状态获得接口 324输出的硬件状态,并检测信息处理装置100的硬件的状态改变。在检测硬件的状态改变时,硬件监视模块330向策略控制软件350通知硬件状态改变事件,从而表示已经检测到的硬件的状态改变。作为监视目标的应用程序的列表341是表示由CPU 311执行的信息处理装置100的应用程序当中要监视的应用程序(即,特定软件)的信息。作为监视目标的应用程序的示例是要求CPU 311的大量处理能力的应用程序,诸如播放音乐或视频的应用程序、进行电话呼叫应用的应用程序等。作为监视目标的应用程序的列表341例如被存储在图2中示出的辅助存储器203中。应用程序开始/停止监视模块342监视从系统状态获得接口 324输出的应用程序/处理状态,并检测作为监视目标的应用程序的列表341中所包括的应用程序(或处理)的开始和停止。在检测到应用程序的开始或停止时,应用程序开始/停止监视模块342向策略控制软件350通知应用程序开始/停止事件,该应用程序开始/停止事件表示已经检测到应用程序的开始或停止。图1中示出的检测单元120可以由硬件监视模块330和应用程序开始/停止监视模块342中的至少一个来实现。策略控制软件350通过向目标频率计算模块322输出设置改变命令来控制用于CPU 311的工作频率的控制策略。具体地,在已被硬件监视模块330通知硬件状态改变事件时,策略控制软件350获得从系统状态获得接口 324输出的、诸如硬件状态和应用程序/处理状态的系统状态。策略控制软件350使用从硬件监视模块330通知的硬件状态改变事件和从系统状态获得接口 324获得的系统状态作为关键字,在控制策略改变规则表370中搜索动作列表。如果被应用程序开始/停止监视模块342通知了应用程序开始/停止事件,则策略控制软件350获得从系统状态获得接口 324输出的、诸如硬件状态和应用程序/处理状态的系统状态。策略控制软件350利用从应用程序开始/停止监视模块342通知的应用程序开始/停止事件和从系统状态获得接口 324获得的系统状态作为关键字,在控制策略改变规则表370中搜索动作列表。策略控制软件350根据所找到的动作列表来向内核320通知设置改变命令,该设置改变命令用于指示对控制策略进行改变。因此,通过内核320的目标频率计算模块322来改变用于CPU 311的工作频率的控制策略。图1中示出的搜索单元140例如可以由策略控制软件350来实现。系统状态检查模块360根据来自策略控制软件350的请求,从系统状态获得接口324获得诸如硬件状态和应用程序/处理状态的系统状态。硬件状态是表示信息处理装置100的硬件的状态的信息。应用程序/处理状态是表示信息处理装置100的特定应用程序或处理是否正在运行的信息。系统状态检查模块360向策略控制软件350输出所获得的系统信息。图1中示出的确定单元130例如可以由系统状态检查模块360来实现。控制策略改变规则表370是关联信息,在该关联信息中,动作列表(即,一个或更多个动作)与第一元件状态改变(即,事件)和第二元件状态的每个组合相关联。第一元件的状态改变包括硬件状态改变事件、应用程序开始/停止事件等。第二元件的状态包括硬件状态、应用程序/处理状态等。动作列表表示的动作的示例包括改变控制工作频率的算法(处理优先、电力优先等)、改变控制工作频率的参数(工作频率可以改变的比例、上限和下限等)等。控制策略改变规则表370例如被存储在图2中示出的辅助存储器203中。表371是控制策略改变规则表370的具体示例。在表371中,动作与事件的每个组合相关联,其可以包括硬件状态改变事件或应用程序开始/停止事件、硬件状态、以及应用程序/处理状态(应用程序状态)。以这种方式,根据第一实施例的信息处理装置100具有系统状态检查模块360,系统状态检查模块360在接收到事件通知时检查系统状态。然后,信息处理装置100利用事件和系统状态的组合作为关键字来搜索多维控制策略改变规则表370,并基于搜索结果来改变控制策略。因此,可以根据当前情况适当地设置CPU 311的工作频率。例如,即使发生了诸如IXD 213被关闭或来自外部电力供应单元215的外部电力供应被中断的事件,如果特定应用程序正在运行,则CPU 311的工作频率的上限也可以比特定应用程序未运行时高。因此,可以改进特定应用程序的响应性。此外,控制策略改变规则表370不存储控制策略本身,而是存储用于改变控制策略的动作,由此可以减小控制策略改变规则表370中的条目的数目(S卩,规则的数目)。例如,与诸如工作频率的上限或下限的参数有关的动作均可以存储在一个条目(一行)中,所以与当前上限或下限中的每一个与改变后的上限或下限相关联的情况相比,条目的数目可以更低。然而,可以进行如下配置:其中控制策略本身被存储在控制策略改变规则表370中。如果这样,则可以根据情况适当地设置CPU 311的工作频率。由信息处理装置进行的工作频率的控制图4是示出了由信息处理装置进行的工作频率的控制的示例的流程图。信息处理装置100例如执行图4中示出的步骤,以控制CPU 311的工作频率。首先,信息处理装置100例如读取存储在辅助存储器203中的设置规则(S401)。例如,设置规则是将信息处理装置100的系统状态与用于CPU 311的工作频率的控制策略相关联的信息。系统状态例如包括信息处理装置100的硬件的状态、以及信息处理装置100的应用程序的开始或停止状态。接着,信息处理装置100获得信息处理装置100的系统状态(S402)。然后,信息处理装置100初始化用于CPU 311的工作频率的控制策略(S403)。具体地,在S401中读取的设置规则中,信息处理装置100利用对应于在S402中获得的系统状态的控制策略作为用于CPU 311的工作频率的控制策略来设置目标频率计算模块322。接着,信息处理装置100确定是否已经发生信息处理装置100的系统事件(S404),并且等待直到不发生系统事件为止(在S404中为“否”循环)。系统事件的示例包括表示特定硬件的状态已经变成给定状态、特定应用程序已经开始或停止等的事件。在S404中,如果发生系统事件(在S404中为“是”),则信息处理装置100确定已发生的系统事件是否是信息处理装置100的关断事件(S405)。如果已发生关断事件(在S405中为“是”),则信息处理装置100结束系列控制。如果事件不是关断事件(在S405中为“否”),则信息处理装置100获得信息处理装置100的系统状态(S406)。接着,信息处理装置100使用在S404中发生的系统事件和在S406中获得的系统状态作为关键字来从控制策略改变规则表370中搜索动作列表(S407)。接着,信息处理装置100执行由在S407中搜索到的动作列表表示的动作(S408),并且流程返回到S404。通过执行以上步骤S,可以基于系统状态初始化用于CPU 311的工作频率的控制策略。此外,如果已经发生系统事件,则可以基于发生的系统事件和该系统事件发生时的系统状态的组合来改变用于CPU 311的工作频率的控制策略。由策略控制软件进行的处理图5是利用策略控制软件进行的处理的示例的流程图。例如,图5中示出的步骤S是对应于图4中的步骤S S404和S406至S408的处理。首先,策略控制软件350确定是否已经从硬件监视模块330或应用程序开始/停止监视模块342通知了系统事件(S501),并等待直到通知了系统事件为止(在S501中为“否”循环)。在S501中通知了系统事件(在S501中为“是”)时,策略控制软件350请求系统状态检查模块360检查系统状态(S502)。接着,策略控制软件350针对在S502中做出的要检查的请求,获得从系统状态检查模块360通知的系统状态(S503)。接着,策略控制软件350利用在S501中通知的系统事件和在S503中获得的系统状态的组合作为关键字,在控制策略改变规则表370中进行搜索(S504)。然后,策略控制软件350确定在控制策略改变规则表370中是否存在与用于S504中的搜索的关键字相匹配的条目(S505)。如果不存在匹配条目(在S505中为“否”),则策略控制软件350返回到S501。如果存在匹配条目(在S505中为“是”),则策略控制软件350从控制策略改变规则表370获得匹配条目的动作列表(S506)。接着,策略控制软件350执行在S506中获得的动作列表的内容(S507),并返回到S501。通过执行以上步骤S,策略控制软件350可以获得系统事件发生时的系统状态,并且可以根据系统事件和系统状态的组合来改变用于CPU 311的工作频率的控制策略。通过执行以上步骤S,当发生系统事件时,用于CPU 311的工作频率的控制策略可以基于发生的系统事件和该系统事件发生时的系统状态的组合而改变。由系统状态检查模块进行的处理图6是示出了由系统状态检查模块进行的处理的示例的流程图。例如,系统状态检查模块360执行图6中示出的步骤S。首先,系统状态检查模块360确定策略控制软件350是否已经请求检查系统状态(S601),并且等待直到请求了检查为止(在S601中为“否”循环)。如果请求检查(在S601中为“是”),系统状态检查模块360从内核320获得要检查的系统状态(S602)。接着,系统状态检查模块360向策略控制软件350通知在S602中获得的系统状态(S603),并且流程返回到S601。通过执行以上步骤S,可以通过从内核320获得要检查的系统状态并向策略控制软件350通知系统状态来处理策略控制软件350所请求的针对系统状态的检查。根据第一实施例的控制策略改变规则表图7是示出了根据第一实施例的控制策略改变规则表370的示例的表。图7中示出的控制策略改变规则表370是图3中的控制策略改变规则表370的示例。如图7所示,动作列表与“事件”(第一元件的状态改变)以及“硬件状态”和“作为监视目标的应用程序的状态”(第二元件的状态)的组合相关联。控制策略改变规则表370中的“任意”表示任选状态。“事件”中的“IXD开启”是表示IXD 213已经从关闭状态开启的事件。“事件”中的“IXD关闭”是表示IXD 213已经从开启状态关闭的事件。“事件”中的“开始作为监视目标的应用程序”是表示作为监视目标的应用程序已经开始的事件。“事件”中的“停止作为监视目标的应用程序”是表示作为监视目标的应用程序已经停止的事件。“硬件状态”表示信息处理装置100的每件硬件的状态。“IXD”表示IXD 213的开启/关闭状态。“剩余电池”表示电池组208中的剩余电力。“外部电力供应的可用性”表示是否正从连接到电力供应电路209的外部电源供应电力。“装置内的温度”表示由传感器214测量的信息处理装置100内的温度。“无线”例如表示诸如蓝牙接口 211和无线LAN等的无线功能的开启/关闭状态。“作为监视目标的应用程序的状态”表示作为监视目标的应用程序处于“活动”状态还是“休眠”状态。“活动”表示作为监视目标的应用程序已经开始。“休眠”表示作为监视目标的应用程序尚未开始。动作列表中的“处理优先的算法”和“电力优先的算法”表示控制CPU 311的工作频率的算法。“性能优先的算法”是如下算法:通过该算法,CPU 311的工作频率和电力消耗变得比针对“电力优先的算法”的CPU 311的工作频率和电力消耗高(例如,参见图8A和8B)。如图7所示,如果IXD 213被开启,则策略控制软件350将控制策略的算法设置为“处理优先的算法”,并且将CPU 311的工作频率的限值设置为“上限值I”和“下限值I”。“上限值I”是比稍后描述的“上限值2”高的上限值。“下限值I”是比稍后描述的“下限值2”高的下限值。如果IXD 213被关闭并且作为监视目标的应用程序的状态变为“休眠”,则策略控制软件350将控制策略的算法设置为“电力优先的算法”。此外,策略控制软件350将CPU311的工作频率的限值设置为“上限值2”和“下限值2”。如果IXD 213被关闭并且作为监视目标的应用程序的状态为“活动”,则策略控制软件350将控制策略的算法设置为“电力优先的算法”。此外,策略控制软件350将CPU 311的工作频率的限值设置为“上限值I”和“下限值I”。如果LCD 213的状态为开启并且作为监视目标的应用程序开始,则策略控制软件350将“作为监视目标的应用程序的状态”设置为“活动”。如果IXD 213为开启并且作为监视目标的应用程序停止,则策略控制软件350将“作为监视目标的应用程序的状态”设置为“休眠”。如果LCD 213的状态为关闭并且作为监视目标的应用程序开始,则策略控制软件350将控制策略的算法设置为“电力优先的算法”。此外,策略控制软件350将CPU 311的工作频率的限值设置为“上限值I”和“下限值1”,并将“作为监视目标的应用程序的状态”设置为“活动”。如果IXD 213的状态为关闭并且作为监视目标的应用程序停止,则策略控制软件350将控制策略的算法设置为“电力优先的算法”。此外,策略控制软件350将CPU 311的工作频率的限值设置为“上限值2”和“下限值2”,并将“作为监视目标的应用程序的状态”设置为“休眠”。算法和限值图8A是示出了电力优先的算法和限值的示例的图。在图8A中,水平轴表示时间,竖直轴表示CPU 311的工作频率。假定从时间tl到时间t2,信息处理装置100正执行的应用程序的数目增加,并且在定时t2之后,信息处理装置100正执行的应用程序的数目减小。上限值811和下限值812表示均在图7中示出的“上限值2 ”和“下限值2 ”。在图8A中,工作频率改变810表示使用“电力优先的算法”时CPU311的工作频率的改变。如由工作频率改变810所表示的,随着由信息处理装置100正执行的应用程序的数目增加,在步骤S中CPU 311的工作频率以相对缓和的方式增加,直到达到上限值811为止。随着由信息处理装置100正执行的应用程序的数目减小,在步骤S中CPU 311的工作频率以相对缓和的方式减小,直到达到下限值812为止。因此,CPU 311的工作频率总体上变低。相应地,CPU 311的电压也会更低,并且CPU 311的电力消耗会减小。注意,CPU311的电力消耗例如与CPU 311的工作频率和电压的平方成比例地改变。相应地,CPU311的电力消耗可以通过降低CPU 311的工作频率和电压而减小。图8B是示出了处理优先的算法和限值的示例的图。将省略图8B中的与图8A中的部分相同的部分的描述。图8B中的上限值821和下限值812表示均在图7中示出的“上限值I”和“下限值I”。因此,上限值821和下限值822与图SB中示出的上限值811和下限值812相比是更高的值。在图8B中,工作频率改变820表示使用“处理优先的算法”时CPU311的工作频率的改变。如由工作频率改变820所表示的,随着由信息处理装置100正执行的应用程序的数目增加,CPU 311的工作频率急剧地增加到上限值821。随着由信息处理装置100正执行的应用程序的数目减小,在步骤S中CPU 311的工作频率以相对缓和的方式减小,直到达到下限值822为止。因此,CPU 311的工作频率总体上较高,并且可以提升CPU 311的处理能力。由此,已经开始的应用程序可以被平滑地执行,并且例如可以改进应用程序的响应性。根据第一实施例的工作频率控制图9A至图9C是示出了根据第一实施例的工作频率控制的示例的图。在图9A至图9C中,水平轴表示时间,竖直轴表示CPU 311的工作频率。假定竖直轴上的频率f5是对应于图7中示出的“上限值I”的频率,并且竖直轴上的频率f3是对应于图7中示出的“上限值2”的频率。在图9A中,工作频率改变910示出了由于针对IXD 213被开启的情况设置的控制策略而导致的CPU 311的工作频率的改变。如果IXD 213被开启,则如在图7中的控制策略改变规则表370中所表示的那样,设置“处理优先的算法”和工作频率的“上限值I”。因此,工作频率的上限值变为相对高的频率f5,并且例如工作频率陡升以开始应用程序。在图9B中,工作频率改变920示出了由于针对IXD 213被关闭并且作为监视目标的应用程序正被执行的情况设置的控制策略而导致的CPU311的工作频率的改变。在此情况下,如在图7中的控制策略改变规则表370中所表示的那样,设置“电力优先的算法”和工作频率的“上限值I”。因此,工作频率的上限值变为相对高的频率f5,并且例如工作频率以相对缓和的方式上升以开始应用程序。在图9C中,工作频率改变930示出了由于针对IXD 213被关闭并且作为监视目标的应用程序没有被执行的情况设置的控制策略而导致的CPU 311的工作频率的改变。在此情况下,如在图7中的控制策略改变规则表370中所表示的那样,设置“电力优先的算法”和工作频率的“上限值2”。因此,工作频率的上限值变为相对低的频率f3,并且例如工作频率以相对缓和的方式上升以开始应用程序。因此,如果例如作为监视目标的应用程序在IXD 213被关闭时运行,则与作为监视目标的应用程序未运行时相比,CPU 311的工作频率的上限值可以被设置得更高。如果作为监视目标的应用程序例如是音乐播放器应用程序,则即使在播放器应用程序正运行的时候IXD 213被关闭,CPU311的工作频率的上限值也可以被设置得相对高。因此,对于播放器应用程序而言,可以保证CPU 311的处理能力,并且可以避免跳过等。以这种方式,利用根据第一实施例的信息处理装置100,可以通过参考第一元件的状态改变以及第二元件的状态来决定用于CPU 311的工作频率的控制规则。因此,甚至在应用程序和硬件在各种状态下操作的情况下,也可以根据情况适当地控制处理能力和电力节省。具体地,在CPU 311需要高处理能力的情况下,可以设置CPU 311的工作频率为高的控制策略。此外,在CPU 311不需要高处理能力或需要电力节省的情况下,可以设置CPU311的工作频率为低的控制策略。例如,用户停止信息处理装置100的操作(即,操作结束状态改变)时的硬件的状态改变是第一元件的状态改变,而特定软件是否正运行的状态是第二元件的状态。在对应信息中,控制规则与操作结束时的状态改变和特定软件正运行的状态的组合相关联,使得CPU311的处理能力与操作结束时的状态改变和特定软件未运行的状态的组合相比更高。用户结束信息处理装置100的操作时的硬件的状态改变例如是LCD213从开启到关闭的改变等。然而,用户结束信息处理装置100的操作时的硬件的状态改变不限于此,并且例如可以是由倾斜传感器检测的信息处理装置100的倾斜的改变(例如,从倾斜状态到水平状态的改变)等。因此,即使用户结束信息处理装置100的操作,在特定软件正运行的情况下也应用工作频率相对高(意味着较高的处理能力)的控制策略,由此特定软件可以被平滑地执行。例如,如果特定软件是音乐播放器或电话呼叫应用程序,则可以避免由于不足的处理能力而导致的跳过等。可以进行如下布置:在该布置中,对于信息处理装置100,停止外部电力的供应等是第一元件的状态改变,而特定软件是否正运行的状态是第二元件的状态。在对应信息中,控制规则与停止电力供应和特定软件正运行的状态的组合相关联,使得CPU 311的处理能力与停止电力供应和特定软件未运行的状态的组合相比更高。因此,即使外部电力供应停止,在特定软件正运行的情况下也应用工作频率相对高(意味着较高的处理能力)的控制策略,并且特定软件可以被平滑地执行。可以进行如下布置:在该布置中,开始要由CPU 311执行的特定软件是第一元件的状态改变,并且信息处理装置100的剩余电池量是否大于或等于阈值的状态是第二元件的状态。在对应信息中,控制规则与开始特定软件和剩余电池量不大于或等于阈值的组合相关联,使得CPU 311的电力消耗与开始特定软件和剩余电池量大于或等于阈值的组合相比更低。因此,即使开始特定软件,也可以应用工作频率相对低的控制策略(意味着较低的电力消耗),所以可以抑制电力消耗。例如,如果开始需要CPU311的大的处理能力的应用程序、同时由于较小的电池剩余而应用电力优先的控制策略,则可以防止应用处理优先的控制策略。
可以进行如下布置:在该布置中,用户开始信息处理装置100的操作时的硬件的状态改变(即,操作开始状态改变)是第一元件的状态改变,并且信息处理装置100的剩余电池量是否大于或等于阈值的状态是第二元件的状态。在对应信息中,控制规则与操作开始状态改变和剩余电池量不大于或等于阈值的组合相关联,使得CPU 311的电力消耗与操作开始状态改变和剩余电池量大于或等于阈值的组合相比更低。用户开始信息处理装置100的操作时的硬件的该状态改变例如是LCD 213从关闭到开启的改变等。然而,用户开始信息处理装置100的操作时的硬件的状态改变不限于此,并且例如可以是由倾斜传感器检测到的信息处理装置100的倾斜的改变(例如,从水平状态到倾斜状态的改变)或触摸面板操作等。因此,例如,即使用户开始信息处理装置100的操作,在剩余电池不大于或等于阈值的情况下也应用工作频率相对低(意味着较低的电力消耗)的控制策略,并且可以抑制电力消耗。作为信息处理装置100的硬件事件,除了已经提到的事件之外,可以使用GPS的开启/关闭、无线LAN的开启/关闭、信息处理装置100内的温度的改变等。作为信息处理装置100的硬件的状态,除了以上提到的之外,可以使用GPS的开启/关闭状态、无线LAN的开启/关闭状态、信息处理装置100内的温度等。对应信息的条目数目(规则数目)可以通过使得与关联信息相关联的控制规则为如下信息而减少:该信息表示用于控制工作频率的算法或参数中的至少一个的改变。因此,用于存储关联信息的存储器容量可以减小。也可以减轻定义关联信息的系统开发者或用户的负担。利用图3所示的信息处理装置100,可以存在如下配置:其中省略了硬件监视模块330或应用程序开始/停止监视模块342中的一个。在此情况下,可以从图7所示的控制策略改变规则表370中省略原本将由被省略的模块(即,硬件监视模块330或应用程序开始/停止监视模块342)检测到的事件。第二实施例根据第二实施例的工作频率控制图10是根据第二实施例的信息处理装置的功能框图。用相同的附图标记表示图10中的与图3中示出的部分相同或等同的部分,并且省略其描述。如图10所示,根据第二实施例的信息处理装置100除了图3所示的配置之外,还具有系统负载监视模块1001。系统负载监视模块1001从系统状态获得接口 324监视系统负载。例如,系统负载是CPU 311的使用(例如,CPU 311执行处理的时间比例)。替选地,系统负载可以是为了由CPU 311进行处理而排队的处理的数目。如果发生系统负载中的给定改变,则系统负载监视模块1001向策略控制软件350通知负载改变事件。如果由系统负载监视模块1001通知了负载改变事件,则策略控制软件350获得从系统状态获得接口 324输出的、诸如硬件状态、应用程序/处理状态等的系统状态。策略控制软件350使用从系统负载监视模块1001通知的负载改变事件和从系统状态获得接口 324获得的系统状态作为关键字而在控制策略改变规则表370中搜索动作列表。由系统负载监视模块进行的处理图11是示出了由系统负载监视模块进行的处理的示例的流程图。例如,系统负载监视模块1001执行图11中示出的步骤S。首先,系统负载监视模块1001等待给定的时间量(S1101)。接着,系统负载监视模块1001从系统状态获得接口 324获得CPU 311的当前负载(S1102)。接着,系统负载监视模块1001将在S1102中获得的负载与阈值进行比较,并且确定CPU 311的负载的大小(S1103)。具体地,如果负载高于阈值,则系统负载监视模块1001将负载确定为“高”,否则将负载确定为“低”。替选地,系统负载监视模块1001可以在负载高于第一阈值的情况下将负载确定为“高”,并且在负载低于第二阈值的情况下将负载确定为“低”(其中第二阈值低于第一阈值)。接着,系统负载监视模块1001将来自SI 103的本次的确定结果存储在信息处理装置100的存储器(例如,辅助存储器203)中(S1104)。接着,系统负载监视模块1001从信息处理装置100的存储器(例如,辅助存储器203)获得来自S1103的前一次的确定结果(S1105)。接着,基于在S1105中获得的前一次的确定结果,系统负载监视模块1001确定来自SI 103的本次的确定结果是否已经改变(SI 106)。在S1106中,如果确定结果未改变(在S1106中为“否”),则系统负载监视模块1001使流程返回到S1101。如果确定结果已经改变(在S1106中为“是”),则系统负载监视模块1001使流程前进到S1107。即,系统负载监视模块1001向策略控制软件350通知负载改变事件,该负载改变事件表示CPU 311的负载已经从“低”变为“高”或从“高”变为“低”(S1107),并且流程返回到SllOl0由策略控制软件350进行的处理例如与图5所示的步骤S相同。然而,在被系统负载监视模块1001通知CPU 311的负载已经改变时,策略控制软件350在S501中确定已经通知了系统事件,并且前进到S502。因此,利用CPU 311的负载的改变作为线索,可以根据CPU 311的负载来改变控制策略。因此,例如,可以避免在通过“电力优先的算法”控制CPU 311的工作频率时的CPU311的过载。根据第二实施例的控制策略改变规则表图12是示出了根据第二实施例的控制策略改变规则表的示例的表。省略了图12中的与图7中示出的部分相同的部分的描述。图12中示出的控制策略改变规则表370包括作为第二元件的状态的信息处理装置100的“操作模式”。该“操作模式”包括“正常模式”和“电力节省模式”。“电力节省模式”是具有比“正常模式”更少的电力消耗的操作模式。当IXD 213被开启时,策略控制软件350将“操作模式”设置为“正常模式”。当LCD 213被关闭时,策略控制软件350将“操作模式”设置为“电力节省模式”。如果IXD 213被关闭并且“操作模式”处于“电力节省模式”状态、并且CPU 311的负载从“低”变为“高”,则策略控制软件350增大CPU311的工作频率的上限值。如果IXD213被关闭并且“操作模式”处于“电力节省模式”状态、并且CPU 311的负载从“高”变为“低”,则策略控制软件350减小CPU 311的工作频率的上限值。因此,甚至当在IXD 213被关闭的状态下模式被设置为“电力节省模式”时,也可以在CPU 311的处理量已经增加的情况下增大CPU 311的工作频率的上限值,从而避免过载状态。根据第二实施例的工作频率控制图13A至图13C是示出了根据第二实施例的工作频率的控制的示例的图。在图13A至图13C中,水平轴表示时间,并且竖直轴表示CPU 311的工作频率。在图13A至图13C中,工作频率改变1310、1320和1330表示由控制策略产生的CPU 311的工作频率的改变,其中“电力优先的算法”的工作频率的上限值分别是频率f3、f4和f5。如在图12中的控制策略改变规则表370中示出的,当CPU 311的负载从“低”变为“高”时,工作频率的上限值增大。因此,如果在使用工作频率改变1310的状态下CPU 311的负载从“低”变为“高”,则转变到使用工作频率改变1320的状态。此外,如果在使用工作频率改变1320的状态下CPU 311的负载从“低”变为“高”,则转变到使用工作频率改变1330的状态。如在图12中的控制策略改变规则表370中示出的,当CPU 311的负载从“高”变为“低”时,工作频率的上限值减小。因此,如果在使用工作频率改变1330的状态下CPU 311的负载从“高”变为“低”,则转变到使用工作频率改变1320的状态。此外,如果在使用工作频率改变1320的状态下CPU 311的负载从“高”变为“低”,则转变到使用工作频率改变1310的状态。因此,可以根据CPU 311的负载改变CPU 311的工作频率的上限值,并且可以避免CPU 311的过载。虽然这里讨论了 CPU 311的工作频率的上限值,但是可以根据CPU 311的负载改变CPU 311的工作频率的下限值。由系统负载监视模块进行的处理的修改图14是示出了 CPU负载与工作频率之间的关系的示例的图。在图14中,水平轴表示时间,左侧的竖直轴表示CPU 311的工作频率,右侧的竖直轴表示CPU 311的使用(gp,负载)。使用改变1410表示由于应用程序开始和停止等而导致的CPU 311的使用的改变。工作频率改变1420表示基于控制策略的CPU 311的工作频率的改变。如通过使用改变1410和工作频率改变1420所示出的,CPU 311的工作频率具有以跟随CPU 311的负载的方式进行改变的性质。使用该性质,系统负载监视模块1001 (计算单元)可以从系统状态获得接口 324获得CPU 311的工作频率,并且基于所获得的工作频率监视CPU 311的负载。具体地,可以通过利用当前控制策略计算CPU 311以工作频率的上限值操作的时间的百分比来计算CPU 311的负载。图15是示出了由系统负载监视模块进行的处理的修改的示例的流程图。例如,系统负载监视模块1001可以执行图15中示出的步骤S。首先,系统负载监视模块1001等待给定的时间量(S1501)。接着,系统负载监视模块1001通过执行负载确定处理来确定CPU311的负载的大小(S1502)。稍后将描述负载确定处理。图15中的步骤S S1503至S1506与图11中示出的步骤S S1104至S1107相同。图16是示出了图15中示出的负载确定处理的示例的流程图。系统负载监视模块1001例如在图15中的S1502中执行图16中示出的步骤S。首先,系统负载监视模块1001从系统状态获得接口 324获得频率使用时间历史(S1601)。频率使用时间历史例如是表示从内核320开始的时间直到当前时间为止CPU 311以每个工作频率操作的时间量的信息。接着,系统负载监视模块1001将在S1601中获得的本次的频率使用时间历史存储在信息处理装置100的存储器(例如,辅助存储器203)中(S1602)。接着,系统负载监视模块1001从信息处理装置100的存储器(例如,辅助存储器203)获得在S1601中获得的前一次的频率使用时间历史(S1603)。
接着,系统负载监视模块1001计算在S1601中获得的本次的频率使用时间历史与在S1603中获得的前一次的频率使用时间历史之间的差(S1604)。具体地,系统负载监视模块1001针对CPU 311的每个工作频率,计算本次的频率使用时间历史所表示的CPU 311的操作时间与由前一次的频率使用时间历史所表示的CPU 311的操作时间之间的差。因此,可以计算在从前一次检查起直到当前时间为止所经过的时间中CPU 311的每个工作频率的操作时间。接着,系统负荷监视模块1001根据S1604中计算出的每个工作频率的操作时间,计算CPU 311在CPU 311当前被设置的上限值处的操作时间相比于从前一次检查起直到当前时间为止所经过的时间的比率(S1605)。接着,系统负载监视模块1001确定在S1605中计算出的比率是否大于阈值(S1606)。在S1606中,如果发现计算出的比率大于阈值(在S1606中为“是”),则系统负载监视模块1001确定CPU 311的负载为“高”(S1607),并且系列处理结束。如果发现计算出的比率等于或低于阈值(在S1606中为“否”),则系统负载监视模块1001确定CPU 311的负载为“低”(S1608),并且系列处理结束。通过以上步骤S,可以基于CPU 311的工作频率来确定CPU 311的负载的大小。因此,可以确定与实际的CPU 311负载符合的负载状态。图17是示出了对图16中示出的负载确定处理的修改的示例的流程图。系统负载监视模块1001例如可以在图15中示出的S1502中执行图17中示出的步骤S。图17中示出的步骤S S1701至S1706与图16中示出的步骤S S1601至S1606相同。然而,在S1705中,系统负载监视模块1001计算在上限频率处的操作时间相对于所经过的时间的第一比率(S1705)。接着,系统负载监视模块1001确定在S1705中计算出的第一比率是否大于第一阈值(S1706)。在S1706中,如果第一比率大于第一阈值(在S1706中为“是”),则系统负载监视模块1001将CPU 311的负载确定为“高”(S1707),并且系列处理结束。如果第一比率小于或等于第一阈值(在S1706中为“否”),则系统负载监视模块1001使流程前进到S1708。即,系统负载监视模块1001根据在S1704中计算出的每个工作频率的操作时间,计算CPU 311在CPU 311当前被设置的下限值处的操作时间相对于从前一次检查时起直到当前时间为止所经过的时间的第二比率(S1708)。接着,系统负载监视模块1001确定在S1605中计算出的第二比率是否大于第二阈值(S1709)。例如,第二阈值是低于第一阈值的值。如果第二比率大于第二阈值(在S1709中为“是”),则系统负载监视模块1001确定CPU 311的负载为“中等” (S1710),并且系列处理结束。如果发现第二比率小于或等于第二阈值(在S1709中为“否”),则系统负载监视模块1001将CPU 311的负载确定为“低”(S1711),并且系列处理结束。通过执行以上步骤S,CPU 311的负载可以被确定为“高”、“中等”或“低”。虽然这里已经描述了使用第一阈值和第二阈值来在三个等级中确定CPU 311的负载的示例,但是可以进行如下布置:在该布置中,使用三个或更多个阈值来在四个或更多个等级中确定CPU 311的负载。因此,利用根据第二实施例的信息处理装置100,CPU 311的负载从低于阈值增加到大于或等于阈值被视作第一元件的状态改变,并且如果检测到增加的负载,则可以增大CPU 311的工作频率的上限值。因此,可以根据CPU 311的负载控制CPU 311的工作频率的上限值,由此可以避免CPU 311的过载。因此,例如,如果应用电力优先的控制策略,并且要求大量的CPU的处理能力,则可以增大CPU 311的工作频率的上限值。此外,当CPU 311的工作频率跟随CPU 311的负载(B卩,使用)时,通过基于CPU 311在工作频率的上限值处操作的时间在给定的时间量内的比例来检测负载的增加,可以准确地检测负载增加。第三实施例图18是根据第三实施例的信息处理装置的功能框图。用相同的附图标记表示图18中的与图10中不出的部分相同的部分,并且省略其描述。如图18所不,根据第三实施例的信息处理装置100除了图10中示出的配置之外,还具有检查目标的列表1801以及处理监视模块1802。在检测到应用程序的开始或停止时,应用程序开始/停止监视模块342向处理监视模块1802通知应用程序开始/停止事件。检查目标的列表1801是表示在作为监视目标的应用程序的列表341当中正被检查的应用程序的信息。检查目标的列表1801例如被存储在图2中示出的辅助存储器203中。在由应用程序开始/停止监视模块342通知应用程序开始事件时,处理监视模块1802将开始的应用程序添加到检查目标的列表1801。在由应用程序开始/停止监视模块342通知应用程序停止事件时,处理监视模块1802从检查目标的列表1801删除停止的应用程序。处理监视模块1802针对检查目标的列表1801中的每个应用程序,从系统状态获得接口 324获得给定的时间量当中的CPU 311的使用时间。然后,处理监视模块1802基于所获得的使用时间来确定检查目标的列表1801中的每个应用程序是否正被实际使用。例如,处理监视模块1802基于所获得的使用时间是否大于或等于阈值来确定应用程序是否正被实际使用。如果确定结果改变,则处理监视模块1802向策略控制软件350通知应用程序操作状态改变事件。因此,如果用户已经开始使用正执行的应用程序,则可以向策略控制软件350通知表示已经开始使用的应用程序操作状态改变事件。此外,如果用户已经结束使用正执行的应用程序,则向策略控制软件350通知表示已经结束使用的应用程序操作状态改变事件。如果由处理监视模块1802通知应用程序操作状态改变事件,则策略控制软件350获得从系统状态获得接口 324输出的、诸如硬件状态和应用程序/处理状态等的系统状态。然后,策略控制软件350使用从处理监视模块1802通知的应用程序操作状态改变事件和从系统状态获得接口 324获得的系统状态两者作为关键字,在控制策略改变规则表370中搜索动作列表。检查目标的列表图19是示出了检查目标的列表的示例的图。图19中示出的检查目标的列表1801是图18中示出的检查目标的列表1801的示例。检查目标的列表1801包括正执行的应用程序(或处理等)。
检查目标的列表1801中的每个应用程序具有相关联的“CPU使用时间”和“活动状态”。“CPU使用时间”是如从系统状态获得接口 324获得的、表示给定时间段内由应用程序导致的CPU 311的累积使用时间的信息。“活动状态”是表示应用程序是否被实际使用的信息。如果“活动状态”为“活动”,则这表示该应用程序被实际使用。如果“活动状态”为“休眠”,则这表示应用程序正运行(即,已经开始但是没有停止),但是没有被实际使用。例如,如果“CPU使用时间”大于或等于阈值,则“活动状态”变为“活动”。如果“CPU使用时间”小于阈值,则“活动状态”变为“休眠”。由处理监视模块进行的处理图20是示出了由处理监视模块进行的处理的示例的流程图。例如,处理监视模块1802执行图20中示出的步骤S。首先,处理监视模块1802确定是否已经由应用程序开始/停止监视模块342通知应用程序开始事件(S2001)。在S2001中,如果已经通知应用程序开始事件(在S2001中为“是”),则处理监视模块1802将来自应用程序开始事件的相关应用程序添加到检查目标的列表1801(S2002),并且流程前进到S2005。如果没有通知应用程序开始事件(在S2001中为“否”),则流程前进到S2003。在S2003中,处理监视模块1802确定是否已经由应用程序开始/停止监视模块342通知应用程序停止事件。在S2003中,如果已经通知应用程序停止事件(在S2003中为“是”),则处理监视模块1802从检查目标的列表1801中删除应用程序停止事件的相关应用程序(S2004),并且流程前进到S2005。如果没有通知应用程序停止事件(在S2003中为“否”),则流程前进到S2005。在S2005中,处理监视模块1802确定是否已经在S2006中处理了检查目标的列表1801的所有应用程序(S2005)。在S2005中,如果不是已经在S2006中处理了检查目标的列表1801的所有应用程序(在S2005中为“否”),则处理监视模块1802使流程前进到S2006。S卩,处理监视模块1802执行活动状态检查处理,以检查包括在检查目标的列表1801中的未处理的应用程序的活动状态(S2006)。例如,在图21中示出了该活动状态检查处理。在S2005中,如果已经在S2006中处理了检查目标的列表1801的所有应用程序(在S2005中为“是”),则处理监视模块1802使流程前进到S2007。即,处理监视模块1802基于检查目标的列表1801,将包括在检查目标的列表1801中的每个应用程序的活动状态存储在信息处理装置100的存储器(例如,辅助存储器203)中(S2007)。接着,处理监视模块1802从信息处理装置100的存储器(例如,辅助存储器203)读出每个应用程序的前一次的活动状态(S2008)。接着,处理监视模块1802基于在S2007中读出的每个应用程序的前一次的活动状态以及检查目标的列表1801来执行改变检测处理(S2009),并且流程返回到S2001。例如,在图22中示出了改变检测处理。图21是示出了活动状态检查处理的示例的流程图。处理监视模块1802例如针对作为检查目标的应用程序执行图21中示出的步骤S,作为在图20中示出的S2006中的活动状态检查处理。首先,处理监视模块1802从系统状态获得接口 324获得作为检查目标的应用程序的当前CPU使用时间(S2101)。接着,处理监视模块1802将本次在S2101中获得的CPU使用时间存储在存储器(例如,辅助存储器203)中(32102)。接着,处理监视模块1802从存储器(例如,辅助存储器203)获得在前一次获得的、作为检查目标的应用程序的CPU使用时间。接着,处理监视模块1802计算S2101中的本次获得的CPU使用时间与S2103中的前一次获得的CPU使用时间之间的差(S2104)。接着,处理监视模块1802从检查目标的列表1801获得作为检查目标的应用程序的活动状态(S2105)。接着,处理监视模块1802确定在S2105中获得的前一次检查时的活动状态是否为活动(S2106)。如果在S2106中确定前一次检查时的活动状态为活动(在S2106中为“是”),则处理监视模块1802确定在S2104中计算出的差是否小于第一阈值(S2107)。如果差小于第一阈值(在S2107中为“是”),则处理监视模块1802将检查目标的列表1801的活动状态设置为休眠(S2108),并且系列处理结束。如果差不小于第一阈值(在S2107中为“否”),则处理监视模块1802结束系列处理。如果在S2106中确定前一次检查时的活动状态不是活动而是休眠(在S2106中为“否”),则处理监视模块1802确定在S2104中计算出的差是否大于第二阈值(S2109)。如果差大于第二阈值(在S2109中为“是”),则处理监视模块1802将检查目标的列表1801中的活动状态设置为活动(S2110),并且系列处理结束。如果差小于或等于第二阈值(在S2109中为“否”),则处理监视模块1802结束系列处理。通过执行以上步骤S,可以检查检查目标的列表1801中的应用程序的活动状态,并且检查结果可以反映在检查目标的列表1801中。图22是示出了改变检测处理的示例的流程图。处理监视模块1802例如执行图22中示出的步骤S,作为在图20中示出的S2009中的改变检测处理。首先,处理监视模块1802确定活动状态为活动的应用是否在检查目标的列表1801中(S2201)。在S2201中,如果活动状态为活动的应用程序不在检查目标的列表1801中(在S2201中为“否”),则处理监视模块1802使流程前进到S2202。即,处理监视模块1802确定S2008中的前一次获得的每个应用程序的活动状态是否为活动(S2202)。在S2202中,如果前一次获得的每个应用程序的活动状态为休眠而非活动(在S2202中为“否”),则处理监视模块1802结束系列处理。如果前一次获得的应用程序的至少一个的活动状态为活动(在S2202中为“是”),则处理监视模块1802使流程前进到S2203。即,处理监视模块1802向策略控制软件350通知表示前一次的活动状态为活动的应用程序现在为休眠的事件(应用程序操作状态改变事件)(S2203),并且结束系列处理。在S2201中,如果活动状态为活动的应用程序在检查目标的列表1801中(在S2201中为“是”),则处理监视模块1802使流程前进到S2204。S卩,处理监视模块1802确定图20中的S2008中的前一次获得的每个应用程序的活动状态是否为休眠(S2204)。在S2204中,如果前一次获得的每个应用程序的活动状态为活动而非休眠(在S2204中为“否”),则处理监视模块1802结束系列处理。如果前一次获得的应用程序的至少一个的活动状态为休眠(在S2204中为“是”),则处理监视模块1802使流程前进到S2205。即,处理监视模块1802向策略控制软件350通知表示前一次的活动状态为休眠的应用程序现在为活动的事件(应用程序操作状态改变事件)(S2205),并且结束系列处理。通过执行以上步骤S,可以针对检查目标的列表1801中的活动状态已经改变的每个应用程序来向策略控制软件350通知应用程序操作状态改变事件。根据第三实施例的控制策略改变规则表图23是示出了根据第三实施例的控制策略改变规则表的示例的表。在图23中,省略与图12中示出的部分相同的部分的描述。图23中示出的控制策略改变规则表370以要监视的应用程序的状态为活动或休眠作为用于控制策略改变规则表370的事件(S卩,第一元件的状态改变),而非以作为监视目标的应用程序的开始和停止作为用于控制策略改变规则表370的事件。如果作为监视目标的应用程序从休眠变为活动(B卩,当已经开始使用时)同时IXD213的状态为开启,则策略控制软件350将“作为监视目标的应用程序的状态”设置为“活动”。如果在LCD 213被开启的状态下作为监视目标的应用程序从活动变为休眠(B卩,当已经结束使用时),则策略控制软件350将“作为监视目标的应用程序的状态”设置为“休眠”。如果作为监视目标的应用程序从休眠变为活动(B卩,当已经开始使用时)同时IXD213的状态为关闭,则策略控制软件350将控制策略的算法设置为“电力优先的算法”。策略控制软件350还将“上限值I”和“下限值I”设置为CPU 311的工作频率的限值,并且将“作为监视目标的应用程序的状态”设置为“活动”。如果在LCD 213处于关闭状态的情况下作为监视目标的应用程序从活动变为休眠(即,使用停止),则策略控制软件350将控制策略的算法设置为“电力优先的算法”。策略控制软件350还将“上限值2”和“下限值2”设置为CPU 311的工作频率的限值,并且将“作为监视目标的应用程序的状态”设置为“休眠”。因此,利用根据第三实施例的信息处理装置100,第一状态的改变是特定应用程序的操作状态的改变,由此可以根据特定应用程序的实际使用状态来改变CPU 311的工作频率的控制策略。此外,可以基于由特定应用程序导致的CPU 311的使用时间来检测特定应用程序的操作状态的改变。例如,如果使信息处理装置100进入应用程序(诸如音乐播放器)已经开始但是未被实际使用(例如,音乐未被播放)的状态,则可以避免处理优先的控制策略继续被应用、因而电力消耗增加的情况。此外,可以在特定应用程序开始时开始用于特定应用程序的状态的改变的检测处理,并且在特定应用程序停止时结束该检测处理。因此,可以防止在特定应用程序未被执行时执行检测处理,从而减少信息处理装置100的处理量。可以进行如下配置:在该配置中,从图18中示出的信息处理装置100省略系统负载监视模块1001。在此情况下,可以省略图23中示出的控制策略改变规则表370中由系统负载监视模块1001检测到的事件。第四实施例根据第四实施例的信息处理装置的配置图24是根据第四实施例的信息处理装置的功能框图。用相同的附图标记表示图24中的与图3中示出的部分相同的部分,并省略其描述。如图24所示,根据第四实施例的信息处理装置100除了图3中示出的配置之外,还具有要监视的访问许可信息的列表2401、安装器(installer) 2402、以及存储装置2403。要监视的访问许可信息的列表2401是表示作为监视目标的应用程序中所包括的访问许可信息的信息。访问许可信息是如下授权的信息:该授权(即,许可)表示由应用程序访问的信息处理装置100的功能(包括外围设备等)和信息(即,个人信息等),并且访问许可信息例如预先被存储在应用程序包内。要监视的访问许可信息的列表2401例如被存储在图2中示出的辅助存储器203中。要安装的应用程序的应用程序包被输入到安装器2402中。安装器2402通过在存储装置2403中进行存储而将所输入的包安装到信息处理装置100上。安装器2402获得要安装的应用程序的包中所存储的访问许可信息。如果所获得的访问许可信息包括在要监视的访问许可信息的列表2401中,则安装器2402将安装的应用程序添加到作为监视目标的应用程序的列表341。如果所获得的访问许可信息没有包括在要监视的访问许可信息的列表2401中,则安装器2402不将安装的应用程序添加到作为监视目标的应用程序的列表341。因此,当安装应用程序时,可以基于访问许可信息来确定是否要监视被安装的应用程序,并且要监视的应用程序可以添加到作为监视目标的应用程序的列表341。例如,对CPU 311的处理能力有高要求的那些应用程序(诸如执行电话呼叫或者播放音乐或者使用传感器或GPS的应用程序)中所包括的访问许可信息(例如,对电话呼叫或GPS功能的访问许可)被预先存储在要监视的访问许可信息的列表2401中。因此,当安装期望高处理能力的应用程序时,该应用程序可以自动地添加到作为监视目标的应用程序的列表341。此外,便利了应用程序到作为监视目标的应用程序的列表341的注册,例如与用户手动执行注册时相比,这可以减轻用户负担。安装器2402可以具有卸载器(uninstaller)功能,以通过删除存储在存储装置2403中的应用程序来卸载应用程序。当卸载作为监视目标的应用程序的列表341中所包括的应用程序时,安装器2402从作为监视目标的应用程序的列表341中删除要卸载的应用程序。因此,可以避免如下情况:在该情况下,应用程序开始/停止监视模块342继续监视已被卸载的应用程序。此外,便利了从作为监视目标的应用程序的列表341删除应用程序,例如与用户手动执行删除时相比,这可以减轻用户负担。由安装器进行的处理图25是示出了由安装器进行的处理的示例的流程图。例如,如果执行安装或卸载应用程序的处理,则安装器2402执行图25中示出的步骤S。首先,安装器2402确定处理内容是否是要安装(S2501)。如果处理内容是要安装(在S2501中为“是”),则安装器2402从信息处理装置100的存储器(例如,辅助存储器203)读取要监视的访问许可信息的列表2401 (S2502)。接着,安装器2402获得要安装的应用程序的访问许可信息(S2503)。然后,安装器2402确定在S2503中的获得的访问许可信息是否处于在S2502中读取的要监视的访问许可信息的列表2401中(S2504)。在S2504中,如果访问许可信息未处于要监视的访问许可信息的列表2401中(在S2504中为“否”),则安装器2402结束系列处理。如果访问许可信息处于要监视的访问许可信息的列表2401中(在S2504中为“是”),则安装器2402将相关应用程序添加到作为监视目标的应用程序的列表341 (S2505),并结束系列处理。
在S2501中,如果处理内容是卸载而非安装(在S2501中为“否”),则安装器2402确定要卸载的应用程序是否处于作为监视目标的应用程序的列表341中(S2506)。在S2506中,如果相关应用程序未处于作为监视目标的应用程序的列表341中(在S2506为“否”),则安装器2402结束系列处理。如果相关应用程序处于作为监视目标的应用程序的列表341中(在S2506为“是”),则安装器2402从作为监视目标的应用程序的列表341删除相关应用程序(S2507),并结束系列处理。通过执行以上步骤S,可以基于要安装的应用程序的访问许可信息,自动地确定是否将要安装的应用程序添加到作为监视目标的应用程序的列表341。此外,可以从作为监视目标的应用程序的列表341自动地删除要卸载的应用程序。根据第四实施例的控制策略改变规则表370例如与图7中示出的控制策略改变规则表370相同。因此,利用根据第四实施例的信息处理装置100,如果要安装的应用程序的访问授权是特定访问授权,则相关应用程序可以被存储为特定应用程序。因此,可以便利特定应用程序的注册,从而减轻用户的负担。此外,利用信息处理装置100,可以从特定应用程序中排除要卸载的应用程序。因此,可以便利特定应用程序的删除,从而减轻用户的负担。第五实施例图26是根据第五实施例的信息处理装置的功能框图。用相同的附图标记表示图26中的与图18或图24中示出的部分相同的部分,并且省略其描述。如图26所示,根据第四实施例的信息处理装置100除了图18中示出的配置之外,还具有要监视的访问许可信息的列表2401、安装器2402和存储装置2403。以这种方式,可以进行如下配置:在该配置中,将根据第三实施例的信息处理装置100的配置和根据第四实施例的信息处理装置100的配置相组合。因此,要监视的访问许可信息的列表2401的工作频率的控制策略可以根据特定应用程序的实际使用状态而改变,同时还减轻用户的负担。如上所述,根据信息处理装置、信息处理程序和信息处理方法,可以根据情况适当地设置CPU的工作频率。因此,例如,可以减少电力消耗同时保证软件的响应性。在以上实施例中描述的信息处理方法可以通过执行利用计算机(诸如个人计算机或工作站等)预先准备的程序来实现。该程序可以被记录在计算机可读记录介质(诸如硬盘、软盘、⑶-ROM、磁光(MO)盘、DVD等)中,并由计算机从记录介质读出以便被执行。此外,介质可以是诸如因特网的传送介质,通过该传送介质程序可以经由网络被分配。这里提到的所有示例和条件性语言旨在教导阐述的目的,以协助读者理解本发明以及发明人为改进技术而贡献的构思,并且应被解释为不限于这些具体提到的示例和条件,而说明书中这些示例的组织也不涉及本发明的优劣的展示。虽然已经详细描述了本发明的实施例,但是应理解在不背离本发明的精神和范围的情况下可以对其做出各种改变、替代和变更。
权利要求
1.一种信息处理装置,包括: 存储单元,被配置成存储关联信息,在所述关联信息中,用于所述信息处理装置的中央处理单元的工作频率的控制规则与所述信息处理装置的第一元件的状态改变和所述信息处理装置的第二元件的状态的组合相关联,所述第二元件不同于所述第一元件; 检测单元,被配置成检测所述第一元件的状态改变; 确定单元,被配置成在已经由所述检测单元检测到所述第一元件的状态改变的情况下确定所述第二元件的状 态; 搜索单元,被配置成从存储在所述存储单元中的关联信息中搜索与由所述检测单元检测到的状态改变和由所述确定单元确定的状态的组合相对应的控制规则;以及 控制单元,被配置成基于由所述搜索单元搜索到的控制规则来控制所述中央处理单元的工作频率。
2.根据权利要求1所述的信息处理装置,其中,所述第一元件的状态改变包括在用户结束所述信息处理装置的操作的情况下的硬件的状态改变,所述第二元件的状态包括由所述中央处理单元执行的特定软件是否正被执行的状态,并且在所述关联信息中,控制规则与在用户结束所述操作的情况下的硬件的状态改变和所述特定软件正被执行的状态的组合相关联,使得相比于控制规则与在用户结束所述操作的情况下的硬件的状态改变和所述特定软件未被执行的状态的组合相关联的情况,所述中央处理单元的处理能力更高。
3.根据权利要求1或2所述的信息处理装置,其中,在用户结束所述操作的情况下的硬件的状态改变包括所述信息处理装置的显示装置从开启到关闭的改变。
4.根据权利要求3所述的信息处理装置,其中,所述第一元件的状态改变包括停止对所述信息处理装置的外部电力的供应,所述第二元件的状态包括由所述中央处理单元执行的特定软件是否正被执行的状态,并且在所述关联信息中,控制规则与所述供应的停止和所述特定软件正被执行的状态的组合相关联,使得相比于控制规则与所述供应的停止和所述特定软件未被执行的状态的组合相关联的情况,所述中央处理单元的处理能力更高。
5.根据权利要求4所述的信息处理装置,其中,所述第一元件的状态改变包括由所述中央处理单元执行的特定软件的开始,所述第二元件的状态包括所述信息处理装置的剩余电池是否大于或等于阈值的状态,并且在所述关联信息中,控制规则与所述特定软件的开始和所述剩余电池不大于或等于阈值的状态的组合相关联,使得相比于控制规则与所述特定软件的开始和所述剩余电池大于或等于阈值的状态的组合相关联的情况,所述中央处理单元的电力消耗更低。
6.根据权利要求5所述的信息处理装置,其中,所述第一元件的状态改变包括在用户开始所述信息处理装置的操作的情况下的硬件的状态改变,所述第二元件的状态包括所述信息处理装置的剩余电池是否大于或等于阈值的状态,并且在所述关联信息中,控制规则与在用户开始所述操作的情况下的硬件的状态改变和所述剩余电池不大于或等于阈值的状态的组合相关联,使得相比于控制规则与在用户开始所述操作的情况下的硬件的状态改变和所述剩余电池大于或等于阈值的状态的组合相关联的情况,所述中央处理单元的电力消耗更低。
7.根据权利要求6所述的信息处理装置处,其中,在用户开始所述操作的情况下的硬件的状态改变包括所述信息理装置的显示装置从关闭到开启的改变。
8.根据权利要求7所述的信息处理装置,其中,所述控制规则是如下信息:该信息表示被所述控制单元用来控制所述工作频率的算法和参数中的至少一个;并且所述控制单元基于由所述搜索单元搜索到的控制规则来改变所述算法和参数中的至少一个。
9.根据权利要求8所述的信息处理装置,其中,所述第一元件的状态改变包括所述中央处理单元上的负载从低于阈值增加到阈值或增加到高于阈值的负载增加,并且所述控制单元在已经由所述检测单元检测到所述负载增加的情况下增加所述工作频率的上限值。
10.根据权利要求9所述的信息处理装置,还包括计算单元,所述计算单元被配置成基于所述中央处理单元在所述工作频率的上限值处操作的时间在预定时间段内的百分比来计算所述负载,其中,所述检测单元基于由所述计算单元计算出的百分比来检测所述负载增加。
11.根据权利要求10所述的信息处理装置,其中,所述第一元件的状态改变包括所述特定软件的操作状态的改变,并且所述检测单元基于由所述特定软件导致的所述中央处理单元的使用时间来检测所述特定软件的操作状态的改变。
12.根据权利要求11所述的信息处理装置,其中,所述检测单元在所述特定软件开始时开始对所述操作状态的改变的检测处理,并且在所述特定软件停止时结束对所述操作状态的改变的检测处理。
13.根据权利要求12所述的信息处理装置,还包括安装器,所述安装器被配置成将应用程序安装在所述信息处理装置中,其中,所述第一元件的状态改变包括由所述中央处理单元执行的特定软件的开 始,或者所述第二元件的状态包括所述特定软件是否正被执行的状态,并且在要安装的应用程序关于所述信息处理装置的访问授权是特定访问授权的情况下,所述安装器将要安装的应用程序存储为所述特定软件。
14.根据权利要求12所述的信息处理装置,还包括卸载器,所述卸载器被配置成从所述信息处理装置卸载应用程序,其中,所述第一元件的状态改变包括由所述中央处理单元执行的特定软件的开始,或者所述第二元件的状态包括所述特定软件是否正被执行的状态,并且所述卸载器使得要卸载的应用程序不作为所述特定软件。
15.一种非瞬时计算机可读存储介质,其存储信息处理程序以使计算机执行处理,所述处理包括: 获得关联信息,在所述关联信息中,用于信息处理装置的中央处理单元的工作频率的控制规则与所述信息处理装置的第一元件的状态改变和所述信息处理装置的第二元件的状态的组合相关联,所述第二元件不同于所述第一元件; 检测所述第一元件的状态改变; 在已经检测到所述第一元件的状态改变的情况下,确定所述第二元件的状态; 从所述关联信息中搜索与所检测到的状态改变和所确定的状态的组合相对应的控制规则;以及 基于所搜索到的控制规则来控制所述中央处理单元的工作频率。
16.一种控制信息处理装置的方法,包括: 获得关联信息,在所述关联信息中,用于信息处理装置的中央处理单元的工作频率的控制规则与所述信息处理装置的第一元件的状态改变和所述信息处理装置的第二元件的状态的组合相关联,所述第二元件不同于所述第一元件;由所述信息处理装置检测所述第一元件的状态改变; 在已经检测到所述第一元件的状态改变的情况下,确定所述第二元件的状态; 从所述关联信息中搜索与所检测到的状态改变和所确定的状态的组合相对应的控制规则;以及 基于所搜索到的控制规则来控制所`述中央处理单元的工作频率。
全文摘要
本发明公开了信息处理装置和控制信息处理装置的方法。该信息处理装置具有存储单元,被配置成存储关联信息,在所述关联信息中,用于所述信息处理装置的中央处理单元的工作频率的控制规则与所述信息处理装置的第一元件的状态改变和所述信息处理装置的第二元件的状态的组合相关联,所述第二元件不同于所述第一元件;检测单元,被配置成检测所述第一元件的状态改变;确定单元,被配置成在已经由所述检测单元检测到所述第一元件的状态改变的情况下确定所述第二元件的状态;搜索单元,被配置成搜索与所述状态改变和所述状态的组合相对应的控制规则;以及控制单元,被配置成控制所述中央处理单元的工作频率。
文档编号G06F1/32GK103150002SQ201210243648
公开日2013年6月12日 申请日期2012年7月13日 优先权日2011年7月28日
发明者野吕正明 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1