虚拟机功率管理的制作方法

文档序号:11142228阅读:258来源:国知局
虚拟机功率管理的制造方法与工艺

本发明的实施例大体上涉及数据处理的技术领域,并且更具体地涉及可操作用于执行具有智能虚拟机功率管理的虚拟机的计算装置。



背景技术:

在此提供的背景描述用于大体上呈现本公开的上下文的目的。目前列出的发明人的工作,就其在该背景技术部分描述的程度,以及不可以以其他方式有资格作为提交时的现有技术的描述的方面,都既未明示也未暗示地承认作为针对本公开的现有技术。除非在此另有所指,否则在该部分中描述的方法不是本公开中的权利要求的现有技术并且不因它们包括在该部分中而承认是现有技术。

计算装置可以适于执行模拟真实计算装置的虚拟机。虚拟机进行的模拟将基于真实计算装置的架构、模型等来操作,并且将因此允许应用在类似于真实计算装置的虚拟机内执行。因此,虚拟机可以促进为应用提供平台的宾客操作系统的执行。

宾客操作系统仍然消耗计算资源来执行功能,即使在应用在虚拟机上不活跃时也是如此。例如,宾客操作系统可以要求处理器周期来执行指令。指令的执行可以遵循传统策略,诸如先进先出或循环法。在功率消耗受到关注的真实世界场景中,这样的策略对于执行虚拟机的计算装置的用户来说可能是不可接受的。

附图说明

本发明的实施例通过示例的方式而非通过限制的方式图示在附图中的各个图中,在附图中类似标记指示相似元件。应注意,在本公开中提及本发明的“一”或“一个”实施例并不必然是提及相同实施例,并且它们可以意味着至少一个。

图1是根据各种实施例的图示计算装置的方框图,该计算装置包括用于管理在计算装置上操作的虚拟机的功率消耗的虚拟机功率管理特征。

图2是根据各种实施例的图示通信模块的方框图,该通信模块用于无线地接收和传输可以防止虚拟机转变到空闲状态的数据。

图3是根据各种实施例的图示便携式电子装置的方框图,该便携式电子装置包括用于管理由便携式电子装置上的虚拟机的功率消耗的虚拟机功率管理特征。

图4是根据各种实施例的图示包括智能虚拟机功率管理器的系统的方框图。

图5是根据各种实施例的图示包括智能虚拟机功率管理器的系统的另一实施例的方框图。

图6是根据各种实施例的图示用于管理计算装置上的虚拟机的功率消耗的方法的流程图。

图7是根据各种实施例的图示用于管理计算装置上的虚拟机的功率消耗的方法的另一实施例的流程图。

具体实施方式

在以下具体实施方式中,参照形成其一部分的附图,贯穿附图中类似标记指明类似部分,并且其中通过说明方式示出可以实践的实施例。应理解,可以利用其他实施例,并且在不偏离本公开的范围的情况下可以做出结构或逻辑改变。因此,以下具体实施方式不应以限制性意义来考虑,并且实施例的范围由所附权利要求和它们的等同物来限定。

可以以最有助于理解要求保护的主题的方式把各种操作描述为依次的多个分立动作或操作。然而,描述的顺序不应当解释为暗示这些操作一定是顺序相关的。具体来说,可以不按照呈现顺序来执行这些操作。所描述的操作可以以与所描述的实施例不同的顺序执行。在附加实施例中可以执行各种附加操作和/或所描述的操作可以省略。

出于本公开的目的,短语“A或B”以及“A和/或B”意指(A)、(B)或(A和B)。出于本公开的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。

描述可以使用短语“在一实施例中”或“在实施例中”,它们均可以指代相同或不同实施例中的一个或多个。此外,如关于本公开的实施例所使用的,措辞“包括”、“包含”、“具有”等是同义的。

如在此使用的,术语“模块”和/或“逻辑”可以指代以下、作为以下的部分或包括以下:专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或组)和/或存储器(共享、专用或组)、组合逻辑电路,和/或提供所描述的功能性的其他合适硬件组件。

如在此描述的,计算装置可以配置为执行虚拟机。在各种实施例中,计算装置可以具有包括相当有限的资源(例如,屏幕实际使用面积、电池功率等)的种类,诸如便携式电子装置。计算装置可以包括用于管理虚拟机的一个或多个组件,诸如虚拟机监视器或管理程序。为了节约计算装置的资源,计算装置可以包括虚拟机功率管理特征。虚拟机功率管理特征可以允许计算装置“冻结”虚拟机——即,使由虚拟机消耗的处理器周期减少。相应地,虚拟机功率管理特征可以允许计算装置“解冻”虚拟机——即,使由虚拟机消耗的处理器周期增加。

在各种实施例中,虚拟机功率管理特征可以是依据影响虚拟机的状态的一个或多个事件而定的。在一个实施例中,在虚拟机不再处于前台状态时,计算装置可以冻结虚拟机。例如,计算装置可以检测事件,诸如来自用户的输入,或者来自计算装置的主机操作系统的事件,其使虚拟机从前台状态转变到计算装置处的后台状态。在虚拟机不再处于前台状态时,虚拟机功率管理特征可以允许计算装置冻结虚拟机。如果另一事件使虚拟机从后台状态转变到前台状态,虚拟机功率管理特征可以允许计算装置解冻虚拟机。

根据一些实施例,在虚拟机处于空闲状态时,计算装置可以冻结虚拟机。例如,由于缺少一个或多个事件,诸如缺少检测到的用户与虚拟机的交互、缺少用于虚拟机的数据分组的接收、或者缺少对于虚拟机的语音呼叫的接收,计算装置可以确定虚拟机处于空闲状态。响应于与虚拟机相关联的至少一个事件,计算装置可以解冻虚拟机,使得虚拟机可以执行处置事件的一个或多个处理。例如,涉及虚拟机的网络数据分组或用户交互可以通过计算装置来检测到,并且相应地,计算装置可以解冻虚拟机,使得虚拟机可以处理网络数据分组,对用户交互做出响应等。

首先从图1开始,根据各种实施例,方框图示出计算装置100,其包括用于管理在计算装置上操作的虚拟机的功率消耗的虚拟机功率管理特征。在各种实施例中,除了本公开的虚拟机功率管理特征以外,计算装置100可以是适于操作和管理虚拟机的任意类型的便携式计算装置,诸如上网本、平板计算机、手持计算装置、便携式web使能器材、游戏装置、移动电话、智能电话、电子书阅读器、个人数据助理等。

计算装置100可以包括但不限于电源105、主存储器110、存储装置120、处理器118、用户接口122、显示器124以及通信模块130。具体地,存储器110可以包括智能虚拟机功率管理器111,其配置为管理虚拟机115的功率消耗,从而继而减少计算装置100的功率消耗,这将在以下更全面地描述。这些组件可以通过总线119通信地耦合。总线119可以是适于在计算装置100内传送数据的任意子系统。总线119可以包括多个计算机总线以及适于在计算装置100内传送数据的附加电路。

为了与另一计算装置(未示出)传递数据,计算装置100可以包括通信模块130。通信模块130可以跨网络(未示出)接受来自外部计算装置的要由计算装置100处理的数据。通信模块可以配置为通过多个网络进行通信,所述网络诸如公共或私有网络、不同类型网络的组合、局域网(“LAN”)、诸如因特网的广域网(“WAN”)、个域网(“PAN”)、点对点网络、无线蜂窝网络(例如,蜂窝数据网络)、公开交换电话网络(“PSTN”)或其组合。因此,通信模块130可以配置为传递数据(例如网络分组)和/或语音呼叫(例如,模拟语音数据)。通信模块130可以以硬件、软件或两者组合来实施,并且可以例如包括诸如网卡、网络访问控制器和/或(多个)其他网络接口控制器的组件。通信模块130与处理器118通信地耦合,处理器118执行用于计算装置100的指令。在一个实施例中,处理器118执行用于通信模块130的指令中的一些或全部。

作为接收数据的附加手段,计算装置100可以包括用于接收来自用户的输入的用户接口122。根据不同实施例,用户接口122可以允许用户通过各种手段与计算装置100交互——例如,用户接口122可以在显示器124上作为图形用户界面呈现给用户,或者通过命令行界面呈现给用户。为了接收用户输入,用户接口122可以以硬件、软件或两者的组合来实施,并且可以包括或者可以与适合于用户输入的一个或多个硬件装置(例如,键盘、鼠标、触摸屏幕或姿势识别)通信地耦合。此外,处理器118可以执行用于用户接口122的指令中的一些或全部。

处理器118可以是适合于执行诸如来自主存储器110的指令的指令的任意处理器。因此,处理器118可以是例如中央处理单元(CPU)、微处理器、或另一相似处理器。在一些实施例中,处理器118包括多个处理器,诸如专用处理器(例如,图形处理单元)、网络处理器,或者适合于执行计算装置100的操作的任意处理器。在各种实施例中,处理器118可以包括多个处理器。在一个实施例中,处理器118可以是具有多个CPU(例如,核心)的多核处理器。

与处理器118耦合的是主存储器110。主存储器110可以提供短期和长期的存储并且可以事实上划分为若干单元(包括位于处理器118处的单元)。主存储器110可以是易失性的,诸如静态随机存取存储器(“SRAM”)和/或动态随机存取存储器(“DRAM”),并且可以(至少暂时地)提供计算机可读指令、数据结构、软件应用和用于计算装置100的其他数据的存储。这样的数据可以从存储装置120加载。主存储器110还可以包括高速缓冲存储器,诸如位于处理器118处的高速缓存。主存储器110可以包括但不限于,要由处理器118执行的与元件111-116有关的指令:用于提供虚拟机功率管理特征的较早描述的智能虚拟机功率管理器111、用于管理虚拟机115的虚拟机监视器(“VMM”)112、主机操作系统114、虚拟机115以及宾客操作系统116。

在各种实施例中,主机操作系统114可以配置为发起诸如由智能虚拟机功率管理器111、虚拟机监视器112、虚拟机115和/或宾客操作系统116提供的指令的指令的执行。具体地,主机操作系统114可以适于用作用于运行智能虚拟机功率管理器111、虚拟机监视器112和/或虚拟机115的平台。主机操作系统114可以适于执行跨计算装置100的组件的其他操作,包括线程处理、资源管理、数据存储控制和其他相似功能性。在各种实施例中,主机操作系统114和/或VMM 112可以包括操作系统功率管理(“OSPM”)和/或与操作系统功率管理(“OSPM”)通信地耦合,操作系统功率管理(“OSPM”)可以包括用于管理与计算装置100相关联的各种功率状态的电路。

也可以实施为管理程序的VMM 112可以可操作地创建、管理、运行和/或终止虚拟机。在各种实施例中,VMM 112可以具有1型,还已知为原生的、无主机的和/或裸机的。在这样的实施例中,VMM 112可以直接在计算装置100的硬件(例如,主存储器110和处理器118)上运行。相应地,VMM 112可以可操作地控制这样的硬件,同时管理虚拟机115和/或宾客操作系统116。在一个实施例中,主机操作系统114可以是服务操作系统、驱动器域或专有虚拟机——例如其中主机操作系统114在VMM 112上运行。根据另一实施例,主机操作系统114的操作和功能性可以与VMM 112集成在一起,如可以在计算装置100的硬件上直接运行的1型管理程序中找到的。在其他实施例中,VMM 112可以具有2型,也称为有主机的。在2型实施例中,VMM 112可以由主机操作系统114来执行(例如,VMM 112可以包括在主机操作系统114中,或者与主机操作系统114通信地耦合)。如图1中图示的,VMM 112可以是要由处理器118执行的主存储器110内的指令。然而,在其他实施例中,VMM 112可以为固件和/或硬件。

VMM 112可以诸如通过控制由宾客操作系统116消耗的资源(例如,处理器118的周期)的调度来管理虚拟机115。根据实施例,VMM 112可以包括适于分配用于虚拟机115的资源的一个或多个组件,或者可以与该一个或多个组件通信地耦合。例如,VMM 112可以包括调度器(未示出)和/或存储器管理器(未示出),或者与调度器(未示出)和/或存储器管理器(未示出)通信地耦合。调度器可以基于例如调度策略和/或资源可用性来分配用于一个或多个处理(例如线程)的时隙。类似地,存储器管理器基于例如存储器分配策略和/或资源可用性来处理对于存储器(例如主存储器110)的请求并且分配存储器。

虚拟机115可以是物理计算装置的模拟(例如类似于计算装置100的计算装置的模拟)。因此,虚拟机115可以具有与物理计算装置类似的架构和功能性。虚拟机115可以扩展以使用虚拟化软件组件,如可以在出于各种目的(诸如性能、安全性、功率和/或简单性)的准虚拟化中找到的。为此,宾客操作系统116可以在虚拟机115上运行。宾客操作系统116可以类似于主机操作系统114,和/或执行与主机操作系统114类似的功能。然而,宾客操作系统116可以具有与主机操作系统114不同的类型。例如,宾客操作系统116可以根据与主机操作系统114不同的方案来管理资源、存储器分配等。在各种实施例中,宾客操作系统116可以适于请求一个或多个虚拟功率状态,诸如C状态(即,处理器操作状态)、P状态(即,处理器性能状态)、D状态(即,装置状态)和/或T状态(即,处理器节流状态)。在一个实施例中,功率状态可以与芯片上系统相关联,诸如S0i1和/或S0i3——S0i1状态可以在显示器开启但用户未与装置主动交互时使用,使得相对微量的功率被消耗(例如,毫瓦级)并且可以在微秒内进入/离开,并且S0i3状态可以在显示器124关闭时使用,使得相对少量功率被消耗(例如微瓦级)并且可以在毫米内进入/离开。宾客操作系统116的C、P、D和/或T状态可以不同于物理计算装置100的C、P、D和/或T状态——例如,宾客操作系统116可以仅在C0或C1状态下操作,但是物理计算装置100可以在C0状态下操作,或者在诸如C1-C9的更深C状态下操作。在替代实施例中,宾客操作系统116可以实施偏离物理计算装置100实施的功率状态的不同概念。在又一实施例中,宾客操作系统116可以使用准虚拟化来与VMM 112协作地工作,以寻求不同功率状态操作。因为宾客操作系统116在虚拟机115上操作,对于一个或多个虚拟功率状态的一个或多个请求可以是针对处理器118的,但由VMM 112管理。

在各种实施例中,计算装置100可以包括多个虚拟机。附加虚拟机可以具有与虚拟机115类似的架构和功能性。此外,类似于宾客操作系统116的附加宾客操作系统可以在附加虚拟机上运行。

作为操作系统,宾客操作系统116可以导致与例如应用、用户输入、网络通信等相关联的指令的执行。根据各种实施例,宾客操作系统116可以响应于在用户接口112处接收的用户输入来执行指令。附加地,宾客操作系统116可以响应于通过网络接收并且在通信模块130处处理的一个或多个数据分组来执行指令。具体地,在其中计算装置100是便携式通信装置(例如智能电话)的实施例中,宾客操作系统116可以适于响应于语音呼叫,诸如响应于所接收的在通信模块130处处理的模拟语音数据,来执行指令。在各种实施例中,由宾客操作系统116来进行指令的执行可以例如通过请求较低的C状态(例如C1状态)和/或向虚拟机监视器112表现得空闲,来防止宾客操作系统116进入空闲状态。

在各种实施例中,具有各自的宾客操作系统的多个虚拟机,包括具有宾客操作系统116的虚拟机115,可以包括在主存储器110中。在这样的实施例中,VMM 112可以适于管理多个虚拟机中的每一个虚拟机的创建和执行。例如,VMM 112可以根据调度策略将物理资源(例如,处理器118的周期)分配给多个虚拟机中的每一个。

在实施例中,计算装置100可以包括智能虚拟机功率管理器111。虽然这里图示在主存储器110中,但智能虚拟机功率管理器111可以以硬件、软件、固件或组合来实施。根据实施例,计算装置100处的虚拟化操作对于计算装置100的一个或多个资源,诸如电源105(例如,电池或其他便携式电源)而言可能是昂贵的。智能虚拟机功率管理器111可以适于试图节省计算装置100的一个或多个资源,诸如电源105。为了实现该节省,智能虚拟机功率管理器111可以影响与虚拟机115相关联的指令的执行。

智能虚拟机功率管理器111可以与虚拟机115和/或宾客操作系统116通信地耦合。在各种实施例中,智能虚拟机功率管理器111可以适于通过冻结虚拟机115来节省计算装置100的资源(例如电源105)。在实施例中,通过智能虚拟机功率管理器111冻结虚拟机115使由虚拟机115消耗的处理器118的周期减少。由虚拟机115消耗的处理器118周期的该减少可以是例如由宾客操作系统116通过虚拟机消耗的处理器118周期的减少,该减少诸如是通过要由虚拟机115的宾客操作系统116执行的一个或多个进程的挂起或终止,和/或通过与虚拟机115相关联的中断的频率的降低。由虚拟机115消耗的处理器118周期的减少可以增加低功率C状态(例如C7状态)的驻留和/或促进处理器118进入更深C状态(例如C9),这可以减少处理器118的功率消耗。例如,由虚拟机115消耗的处理器118周期的减少可以包括与虚拟机115相关联的中断的频率的减少,这可以促进处理器118进入低功率状态(例如,从C1到C7)。

相应地,智能虚拟机功率管理器111可以适于解冻虚拟机115。在实施例中,通过智能虚拟机功率管理器111解冻虚拟机115使由虚拟机115消耗的处理器118的周期增加。由虚拟机115消耗的处理器118周期的该增加可以是例如由宾客操作系统116通过虚拟机115消耗的处理器118周期的增加,该增加诸如是通过要由虚拟机115的宾客操作系统116执行的一个或多个进程(例如,可能已经基于处理器118周期的减少而挂起或终止的一个或多个进程)的重启或恢复,和/或通过与虚拟机115相关联的中断的频率的增加。在其中计算装置100包括多个虚拟机的实施例中,智能虚拟功率管理器111可以适于以与在此描述的方式类似的方式来冻结和/或解冻一个或多个附加虚拟机和/或宾客操作系统。

根据实施例,智能虚拟机功率管理器111可以与VMM 112通信地耦合。因为VMM 112可以适于管理虚拟机115(包括通过物理资源的分配),智能虚拟机功率管理器111可以向VMM 112发出请求以使由虚拟机115消耗的处理器118周期减少。在一个实施例中,该请求可以使VMM 112防止调度器将物理资源分配给虚拟机115。在其中VMM 112是管理程序的实施例中,来自智能虚拟机功率管理器111的对于管理程序112的请求可以是超调用。在许多实施例中,来自智能虚拟机功率管理器111的用于使由虚拟机115消耗的处理器118周期减少的请求可以是针对VMM 112的,而无需主机操作系统114进行相称的操作。在这样的实施例中,VMM 112可以是1型的(例如,原生的、无主机的和/或裸机的)。

在一个实施例中,智能虚拟机功率管理器111可以基于对于主机操作系统114的一个或多个请求而使由虚拟机115消耗的处理器118周期减少。主机操作系统114可以包括例如应用编程接口(“API”),其呈现接口和/或包括协议,所述接口和/或协议适于从智能虚拟机功率管理器111接收一个或多个请求,以使由虚拟机115消耗的处理器118周期减少。在各种实施例中,主机操作系统114可以包括VMM 112或可以与VMM 112通信地耦合,使得主机操作系统114可以参与虚拟机115的管理和执行。在这样的实施例中,智能虚拟机功率管理器111可以向主机操作系统114发出请求,诸如向包括在主机操作系统中或与主机操作系统通信地耦合的调度器发出请求,并且主机操作系统114可以减少(或终止)与虚拟机115相关联的资源分配(例如处理器118周期)。在其中智能虚拟机功率管理器111适于经由对于主机操作系统114的请求而使由虚拟机115消耗的处理器118周期减少的许多实施例中,VMM 112可以为2型的(例如,有主机的)。

在各种实施例中,VMM 112可以适于将虚拟机115从前台状态转变为计算装置100处的后台状态——例如,主机操作系统114和/或由此执行的应用可以从后台状态转变为前台状态。根据实施例,VMM 112可以通过用户接口122检测使VMM 112从前台状态转变为后台状态的输入——例如,VMM 112可以通过用户接口122检测与虚拟机115从前台状态至后台状态的转变相关联的触觉按钮的按压或者姿势的识别。作为响应,智能虚拟机功率管理器111可以适于基于虚拟机115不再处于计算装置100的前台状态——例如,虚拟机115处于后台状态或正从前台状态转变到后台状态的检测,而使由虚拟机115消耗的处理器118周期减少。

在各种实施例中,智能虚拟机功率管理器111可以适于确定虚拟机115处于空闲状态。根据实施例,智能虚拟机功率管理器111可以检测用于虚拟机115的事件的缺少。例如,智能虚拟机功率管理器111可以基于由VMM 112检测到的用于虚拟机115的用户输入的缺少,诸如要通过用户接口122检测的触觉按钮的按压的缺少和/或姿势的识别的缺少,而确定虚拟机115处于空闲状态。在另一示例中,智能虚拟机功率管理器111可以基于由VMM 112检测到的用于虚拟机115的通信事件的缺少,诸如通过通信模块130的数据分组和/或模拟语言数据的接收的缺少,而确定虚拟机115处于空闲状态。在另一实施例中,智能虚拟机功率管理器111可以确定虚拟机115请求更加不活跃的功率状态(例如,宾客操作系统116可以请求更深的C状态),和/或虚拟机115处于更加不活跃的功率状态预定量或百分比的时间(例如,对于C1或更加不活跃的功率状态的至少百分之九十五(95)的驻留比率)。在第三实施例中,智能虚拟机功率管理器111可以确定在虚拟机115不再处于前台状态时虚拟机115处于空闲状态。

相应的,智能虚拟机功率管理器111可以使处理器118周期增加。在一个实施例中,智能虚拟机功率管理器111可以基于虚拟机115不再处于后台状态的检测而使处理器118周期增加。在另一实施例中,智能虚拟机功率管理器111可以基于虚拟机115不再空闲——例如,VMM 112可以接收用户输入、通信事件和/或对于更加活跃的功率状态的请求(例如,对于C0状态的请求)的检测,而使处理器118周期增加。

在由于虚拟机115(和/或其他虚拟机)造成处理器118周期减少的情况下,与主机操作系统114相关联的OSPM(未示出)可以转变一个或多个操作。例如,如果一个或多个虚拟机(包括虚拟机115)被确定为是空闲的,则OSPM可以将计算装置100转变到更深功率状态,诸如用于处理器118的C9状态。在一个或多个虚拟机(包括虚拟机115)被冻结的情况下,由一个或多个虚拟机(包括虚拟机115)消耗的输入/输出(I/O)资源(例如,相机装置、块装置等)可以减少并且还通过OSPM转变到较低功率状态(例如,D3)。

关于图2, 方框图图示根据各种实施例的通信模块200,其用于可以防止虚拟机转变到空闲状态的文件在计算装置之间的无线接收和传输。通信模块200可以是图1的通信模块130,或者可以包括在图1的通信模块130中。通信模块200可以包括但不限于:至少如所示的彼此耦合的发射器电路205、接收器电路210、通信电路215和/或一个或多个天线220。

简言之,通信电路215可以与天线220耦合以促进信号往/来于通信模块200的空中通信。通信电路215的操作可以包括但不限于滤波、放大、存储、调制、解调、变换等。

发射器电路205可以与通信电路215耦合,并且可以配置为将信号提供给通信电路215以供由天线220传输。在各种实施例中,发射器电路205可以配置为提供对信号的各种信号处理操作,以将具有合适特性的信号提供给通信电路。在一些实施例中,发射器电路205可以配置为无线地传输与虚拟机相关联的一个或多个数据分组和/或模拟语音数据。发射器电路205的这样的活动可以防止虚拟机被确定为是空闲的。

发射器电路205可以配置为接收信号以供由通信电路215传输(例如,来自与通信模块200通信地耦合的虚拟机(未示出)的信号)。在一些实施例中,发射器电路205可以适于生成信号。此外,发射器电路205可以适于在由通信电路215传输之前对各种信号进行扰频、复用和/或调制。

接收器电路210可以与通信电路215耦合并且可以配置为接收用于和/或来自通信电路215的信号,诸如由一个或多个天线220检测到的信号。在一些实施例中,接收器电路210可以适于生成、适配或以其他方式改变信号。此外,接收器电路210可以适于将所接收的信号发送至另一模块或组件(未示出),诸如与通信模块200通信地耦合的虚拟机,使得从具有通信模块200的装置外部接收的数据可以利用在装置处的该数据。在一些实施例中,接收器电路210可以接收与虚拟机相关联的一个或多个数据分组和/或模拟语音数据。接收器电路210的这样的活动可以防止虚拟机被确定为是空闲的。结果,虚拟机将继续消耗功率,这例如对于便携式计算装置可能不是期望的。

通信电路215、发射器电路205和/或接收器电路210中的一些或全部可以包括在例如通信芯片中和/或与印刷电路板通信地耦合。

图3示出根据各种实施例的便携式电子装置300的方框图,其包括用于管理虚拟机的功率消耗的虚拟机功率管理特征。便携式电子装置300可以是图1的计算装置100或可以包括在图1的计算装置100中。相应地,虚拟机305可以是虚拟机115,宾客操作系统310可以是宾客操作系统116,和/或主机操作系统315可以是主机操作系统114。

便携式电子装置300可以表征一个或多个特性,该一个或多个特性可以约束多个元件在显示器302处的同时呈现。例如,显示器302的大小可能具有相当有限的大小,处理器(未示出)可能具有相当有限的功率,存储器(未示出)可能具有相当有限的大小,和/或电源可能具有相当有限的容量,从而如果仅仅一个元件处于前台状态,则便携式电子装置300的性能可以改进。在实施例中,虚拟机305或主机操作系统114中的一个可以处于便携式电子装置300处的前台状态。在实施例中,前台状态可以指示由该前台操作系统(即,主机操作系统315或宾客操作系统310)发出的指令与调度器(未示出)中的高优先级相关联——例如,显示器302上的最上方窗口、具有聚焦的组件(例如,被选择用于通过姿势识别显示器302接收输入的操作系统的窗口)。剩余元件(例如,操作系统310、315中未处于前台状态的另一个)将处于后台状态。

在所图示的实施例中,虚拟机305可以处于前台状态,这可以使宾客操作系统310呈现在显示器302上和/或在显示器302上具有聚焦。因此,主机操作系统315可以处于后台状态。在各种实施例中,事件或事件的缺少可以使虚拟机315从前台状态转变到后台状态——例如,用于使主机操作系统315转变到前台状态的用户输入的检测(例如,触觉按钮320的选择)和/或用于虚拟机305的诸如网络通信的活动的缺少。在这样的实施例中,宾客操作系统310可以不再在显示器302处具有聚焦。作为响应地,便携式电子装置300的虚拟机功率管理特征可以使由虚拟机305消耗的处理器周期减少(例如,基于由宾客操作系统310发出的指令而消耗的处理器周期可以挂起或终止,和/或与虚拟机305相关联的中断的频率可以降低或完全消除)。相应地,在虚拟机305从后台状态转变到前台状态时,便携式电子装置300的虚拟机功率管理特征可以使由虚拟机305消耗的处理器周期(例如,基于由宾客操作系统310发出的指令而消耗的处理器周期)增加。

关于图4,方框图示出根据各种实施例的包括智能虚拟机功率管理器421的系统400。系统400可以包括在图1的计算装置100中。因此,虚拟机430可以是虚拟机115、宾客操作系统432可以是宾客操作系统116、主机操作系统410可以是主机操作系统114,智能虚拟机功率管理器421可以是智能虚拟机功率管理器111,和/或VMM 440可以是VMM 112。根据各种实施例,系统400可以是利用虚拟机430的完全虚拟化、准虚拟化或硬件辅助虚拟化。

在实施例中,系统400的主机操作系统410可以包括主机操作系统内核(内核)420和/或可以与主机操作系统内核(内核)420通信地耦合。内核420可以适于诸如通过将请求转译为用于系统400的硬件(未示出)(例如,处理器、存储器等)的一个或多个指令,来管理从系统400的组件接收的一个或多个请求。

此外,系统400可以包括调度器441,其可以包括在VMM 440中或通信地耦合于VMM 440(虽然在其他实施例中,调度器441可以包括在主机操作系统410中)。在用于执行一个或多个线程或进程的一个或多个指令被接收时,调度器441可以将一个或多个线程或进程添加到队列。调度器441可以选择用于消耗一个或多个处理器周期的线程或进程,诸如与宾客操作系统432相关联的线程或进程。调度器441可以根据计及例如时延、公平性(例如线程或进程优先级)、吞吐量和/或等待时间的预定调度算法来操作。

根据实施例,宾客操作系统432可以发出用于要求系统400的硬件的一个或多个线程或进程的一个或多个指令。一个或多个指令可以在内核420处被接收并且由调度器441调度,使得可以一致地管理硬件访问。可以包括在内核420中或可以与内核420通信地耦合的智能虚拟机功率管理器421可以接收这些一个或多个指令的指示。附加地,智能虚拟机功率管理器421可以从VMM 440接收与宾客操作系统432相关联的一个或多个事件的指示,诸如虚拟机430从前台状态转变到后台状态的检测、用于宾客操作系统432的用户输入的检测、与宾客操作系统432相关联的通信事件(数据分组的接收和/或模拟语音数据的通信)的检测,和/或宾客操作系统432的功率状态的检测。

在各种实施例中,智能虚拟机功率管理器421可以接收事件的指示,或基于使智能虚拟机功率管理器421确定虚拟机430应该被冻结的事件的缺少,而确定虚拟机430处于空闲状态。因此,智能虚拟机功率管理器421可以向调度器441发信号,以从队列中移除与虚拟机430相关联的一个或多个线程或进程。因为与虚拟机430相关联的一个或多个线程或进程可以不再被调度器441选择,要由虚拟机430消耗的处理器周期的量可以减少并且可以事实上完全消除。在一些实施例中,智能虚拟机功率管理器421可以防止与宾客操作系统432相关联的一个或多个指令使调度器441将一个或多个线程或进程添加到队列。

相应地,智能虚拟机功率管理器421可以接收事件的指示,或基于使智能虚拟机功率管理器421确定虚拟机430应该被解冻的事件的检测,而确定虚拟机430不再处于空闲状态。因此,智能虚拟机功率管理器421可以向调度器441发信号,以开始或恢复将与虚拟机430相关联的一个或多个线程或进程添加到队列。因为与虚拟机430相关联的一个或多个线程或进程可以由调度器441选择,要由虚拟机430消耗的处理器周期的量可以增加。在一些实施例中,智能虚拟机功率管理器421可以允许与宾客操作系统432相关联的一个或多个指令使调度器441将一个或多个线程或进程添加到队列。

根据实施例,由智能虚拟机功率管理器421对虚拟机430的冻结可以影响与宾客操作系统432相关联的一个或多个定时器。结合由虚拟机430消耗的处理器周期的减少,智能虚拟机功率管理器421可以使宾客操作系统432停止或暂停运行或者递增一个或多个定时器,诸如可编程间隔定时器、时间戳计数器和/或高精度事件定时器、真实时间时钟,和/或另一挂钟。在智能虚拟机功率管理器421解冻——即,使由虚拟机430消耗的处理器周期增加时——智能虚拟机功率管理器421可以使宾客操作系统432调整和/或恢复一个或多个定时器——例如,真实时间时钟可以调整到与主机操作系统410相关联的真实时间时钟一致。

关于图5,方框图示出根据各种实施例的包括智能虚拟机功率管理器521的系统500。系统500可以包括图4的系统400的另一实施例。相应地,虚拟机530可以是虚拟机430,宾客操作系统532可以是宾客操作系统432,主机操作系统510可以是主机操作系统421,智能虚拟机功率管理器521可以是智能虚拟机功率管理器421,和/或VMM 540可以是VMM 440。

在各种实施例中,宾客操作系统532可以包括模拟的原生装置驱动器536,其可以接收例如来自宾客操作系统532的读和/或写指令。此外,宾客操作系统532可以包括一个或多个前端驱动器535,用于向宾客操作系统532提供对于一个或多个通用虚拟装置的访问。在实施例中,来自宾客操作系统532的指令可以发出给一个或多个前端驱动器535,所述指令由可以允许来自宾客操作系统532的指令的二进制转译和/或原生执行的后端服务522和/或装置模型511来管理。因此,即使被虚拟化(或准虚拟化),宾客操作系统532可以适于接收和/或响应一个或多个事件,诸如通信事件和/或用户输入的检测。通过后端服务522,由宾客操作系统532通过前端驱动器535发出的一个或多个指令可以添加到调度器541的队列。因此,一个或多个处理器周期可以使要执行指令至原生装置驱动器523(例如,系统500的物理硬件)。

智能虚拟机功率管理器521可以接收要由后端服务522管理的一个或多个指令的指示,诸如事件的接收或对事件的响应。在各种实施例中,智能虚拟机功率管理器521可以接收事件的指示,或基于事件的缺少而确定虚拟机530处于空闲状态,所述事件的缺少基于由后端服务522指示的信号。作为响应,智能虚拟机功率管理器521可以确定虚拟机530应该被冻结。因此,智能虚拟机功率管理器521可以向调度器541发信号以从队列中移除与虚拟机530相关联的一个或多个线程或进程。因为与虚拟机530相关联的一个或多个线程或进程不再被调度器541选择,要由虚拟机530消耗的处理器周期的量可以减少并且可以事实上完全消除。在一些实施例中,智能虚拟机功率管理器521可以防止与宾客操作系统532相关联的一个或多个指令使调度器541将一个或多个线程或进程添加到队列。

相应地,智能虚拟机功率管理器521可以接收事件的指示,或基于由后端服务522指示的信号而确定虚拟机530不再处于空闲状态。作为响应,智能虚拟机功率管理器521可以确定虚拟机530应该被解冻。因此,智能虚拟机功率管理器521可以向调度器541发信号以开始或恢复将与虚拟机530相关联的一个或多个线程或进程添加到队列。因为与虚拟机530相关联的一个或多个线程或进程可以由调度器541选择,要由虚拟机530消耗的处理器周期的量可以增加。在一些实施例中,智能虚拟机功率管理器521可以允许与宾客操作系统532相关联的一个或多个指令使调度器541将一个或多个线程或进程添加到队列。

关于图6,流程图图示根据各种实施例的用于管理虚拟机的功率消耗的方法600。方法600可以由计算装置执行,诸如图1的计算装置100。虽然图6图示了多个顺序的操作,但普通技术人员将理解,方法600的一个或多个操作可以调换和/或同时执行。

开始时,方法600可以包括操作605,用于检测用于使虚拟机从前台移动到后台的第一预定义事件。在一个实施例中,该第一预定义事件可以例如是用户交互的检测,所述用户交互诸如触觉按钮的按压和/或姿势的识别。基于第一预定义事件的检测,方法600可以包括操作610,用于使由虚拟机消耗的处理器周期减少。相应地,在虚拟机不再处于前台时,由虚拟机消耗的处理器周期可以减少。在实施例中,操作610可以包括降低与虚拟机相关联的中断的频率,这可以促进处理器进入低功率状态(例如从C1到C7)。

在实施例中,方法600可以包括操作615,用于检测用于使虚拟机从后台移动到前台的第二预定义事件。在一个实施例中,该第二预定义事件可以例如是用户交互的检测,所述用户交互诸如触觉按钮的按压和/或姿势的识别。基于第二预定义事件的检测,方法600可以包括操作620,用于使由虚拟机消耗的处理器周期增加。相应地,在虚拟机不再处于后台时,由虚拟机消耗的处理器周期可以增加。

转到图7,流程图示出根据各种实施例的用于管理虚拟机的功率消耗的方法700。方法700可以由计算装置来执行,诸如图1的计算装置100。虽然图7图示了多个顺序的操作,但普通技术人员将理解,方法700的一个或多个操作可以调换和/或同时执行。

在实施例中,方法700可以包括创建虚拟机的操作705。对此进一步地,方法700可以包括操作710,用于在虚拟机上执行宾客操作系统。操作715可以包括确定虚拟机处于空闲状态。根据各种实施例,操作715可以包括与确定用户交互、网络活动或处理器活动在预定时间段内的缺少(例如,对于C1或更加不活跃的功率状态的与宾客操作系统相关联的至少百分之九十五(95)的驻留比率)相关联的操作。在另一实施例中,操作715可以包括与从宾客操作系统接收对于更加不活跃功率状态的一个或多个请求相关联的操作(例如,宾客操作系统可以请求C1状态)。在一个实施例中,操作715可以包括与确定虚拟机不再处于前台状态并且因此处于空闲状态相关联的操作。基于确定虚拟机处于空闲状态,方法700可以包括操作720,用于使由虚拟机消耗的处理器周期减少。该操作720可以包括与以下相关联的操作:挂起或终止被调度用于执行的一个或多个线程和/或降低(例如消除)与虚拟机相关联的中断频率。相应地,在虚拟机处于空闲状态时,由虚拟机消耗的处理器周期可以减少。在实施例中,操作720可以包括降低与虚拟机相关联的中断的频率,这可以促进处理器进入低功率状态(例如从C1到C7)。

在实施例中,方法700可以包括操作725,用于确定已经接收到用于使在虚拟机上执行的宾客操作系统执行至少一个指令的至少一个输入。在一个实施例中,该至少一个输入可以例如是用户交互(例如,触觉按钮的按压和/或姿势的识别)、网络事件(例如,网络数据分组的接收和/或模拟语音数据的接收)和/或对于更加活跃的功率状态的请求(例如,对于C0功率状态的请求)。基于确定已经接收到所述至少一个输入,方法700可以包括操作730,用于使由虚拟机消耗的处理器周期增加。相应地,在虚拟机不再处于空闲状态时,可以诸如通过重启或恢复与虚拟机相关联的一个或多个线程和/或增加(例如,重启或恢复)与虚拟机相关联的中断,来增加由虚拟机消耗的处理器周期。

在各种实施例中,示例1可以是一种计算装置,其包括虚拟机功率管理特征,所述计算装置包括:虚拟机监视器,用于管理在所述计算装置上执行虚拟机,并且用于将虚拟机从前台状态转变为后台状态;以及智能虚拟机功率管理器,与虚拟机监视器耦合,用于检测虚拟机不再处于前台状态,并且用于响应于虚拟机不再处于前台状态的检测而使由虚拟机消耗的处理器周期减少。示例2可以包括示例1的计算装置,其中,所述计算装置是便携式电子装置。示例3可以包括示例1的计算装置,其中,智能虚拟机功率管理器用于通过使虚拟机的宾客操作系统的处理器周期消耗减少,或者通过与虚拟机相关联的中断的频率的降低,而使由虚拟机消耗的处理器周期减少。示例4可以包括示例3的计算装置,其中,智能虚拟机功率管理器用于通过防止宾客操作系统执行任意指令,而使由虚拟机的宾客操作系统的处理器周期消耗减少。示例5可以包括示例1至4中的任一项的计算装置,其中,智能虚拟机功率管理器用于检测虚拟机不再处于后台状态,并且用于响应于虚拟机不再处于后台状态的检测而使由虚拟机消耗的处理器周期增加。示例6可以包括示例5的计算装置,其中,智能虚拟机功率管理器用于通过要由虚拟机的宾客操作系统执行的一个或多个进程的挂起或结束,而使由虚拟机消耗的处理器周期减少,并且进一步地,其中,智能虚拟机功率管理器用于通过恢复或重启在减少之前要由虚拟机的宾客操作系统执行的一个或多个进程,而使由虚拟机消耗的处理器周期增加。示例7可以包括示例1至4中的任一项的计算装置,其中,虚拟机监视器是管理程序,并且智能虚拟机功率管理器用于使用对于管理程序的超调用而使由虚拟机消耗的处理器周期减少。示例8可以包括示例1至4中的任一项的计算装置,其中,智能虚拟机功率管理器用于基于用户输入的检测来检测虚拟机不再处于前台状态。示例9可以包括示例8的计算装置,其中,虚拟机监视器用于通过用户接口来检测用户输入,并且用于响应于用户输入而将虚拟机从前台状态转变为后台状态,并且所述计算装置还包括:用户接口,与虚拟机监视器耦合,用于检测对于所述计算装置的用户输入。示例10可以包括示例9的计算装置,其中,用户接口是触摸屏、触觉按钮或姿势识别装置。

在各种实施例中,示例11可以是一种计算装置,其包括虚拟机功率管理特征,所述计算装置包括:虚拟机监视器,用于管理在所述计算装置上执行具有宾客操作系统的虚拟机,并且用于检测用于使宾客操作系统执行一个或多个指令的至少一个事件;以及智能虚拟机功率管理器,与虚拟机监视器耦合,用于确定虚拟机处于空闲状态、用于基于虚拟机处于空闲状态的确定而使由虚拟机消耗的处理器周期减少,以及用于响应于所述至少一个事件的检测而使由虚拟机消耗的处理器周期增加。示例12可以包括示例11的计算装置,其中,所述计算装置是便携式电子装置。示例13可以包括示例11的计算装置,其中,智能虚拟机功率管理器用于基于对于所述计算装置的调度器的请求而使由虚拟机消耗的处理器周期减少,所述请求用于从与调度器相关联的队列中移除与虚拟机相关联的至少一个进程。示例14可以包括示例11的计算装置,其中,智能虚拟机功率管理器用于在虚拟机处于所述计算装置处的前台状态时确定虚拟机处于空闲状态。示例15可以包括示例11至14中的任一项的计算装置,其中,智能虚拟机功率管理器用于基于将虚拟机转变到后台状态的指令而确定虚拟机处于空闲状态。示例16可以包括示例11至14中的任一项的计算装置,其中,智能虚拟机功率管理器用于基于网络分组在预定间隔内的缺少而确定虚拟机处于空闲状态,并且所述至少一个事件包括分组通过网络的接收,并且所述计算装置还包括:接收器,与虚拟机监视器耦合,用于处理要通过网络接收的分组。示例17可以包括示例16的计算装置,其中,智能虚拟机功率管理器用于基于语音呼叫在另一预定间隔内的缺少而确定虚拟机处于空闲状态,并且所述至少一个事件包括语音呼叫的接收,并且进一步地,其中,接收器用于处理所接收的语音呼叫。示例18可以包括示例11至14中的任一项的计算装置,其中,智能虚拟机功率管理器用于基于用户交互的缺少而确定虚拟机处于空闲状态,并且所述至少一个事件包括用户交互的接收,并且所述计算装置还包括:用户接口,与虚拟机监视器耦合,用于检测用户交互的接收。示例19可以包括示例11至14中的任一项的计算装置,其中,智能虚拟机功率管理器用于基于要由宾客操作系统指示的虚拟C状态而确定虚拟机处于空闲状态。

在各种实施例中,示例20可以是一个或多个非暂时性计算机系统可读介质,其包括计算装置可执行指令,其中所述指令响应于由计算装置的执行而使计算装置:检测第一预定义事件,第一预定义事件使在计算装置上操作的虚拟机从计算装置的前台移动到计算装置的后台;基于第一预定义事件的检测,使由虚拟机消耗的处理器周期减少;检测第二预定义事件,第二预定义事件使虚拟机从后台移动到前台;以及基于第二预定义事件的检测,使由虚拟机消耗的处理器周期增加。示例21可以包括示例20的一个或多个非暂时性计算机系统可读介质,其中计算装置是智能电话、平板计算机、便携式媒体播放器或者膝上型计算机。示例22可以包括示例20至21中的任一项的一个或多个非暂时性计算机系统可读介质,其中,第一预定义事件是与便携式电子装置的用户接口的第一用户交互的接收,并且第二预定义事件是与用户接口的第二用户交互的接收。

在各种实施例中,示例23可以是一个或多个非暂时性计算机系统可读介质,其包括计算装置可执行指令,其中所述指令响应于由便携式电子装置的执行而使便携式电子装置:确定在便携式电子装置处执行的虚拟机处于空闲状态;基于虚拟机处于空闲状态的确定,使由虚拟机消耗的处理器周期减少;确定便携式电子装置已经接收到用于使与虚拟机相关联的宾客操作系统执行至少一个指令的至少一个输入;以及响应于所述至少一个输入已经被接收到的确定,而使由虚拟机消耗的处理器周期增加。示例24可以包括示例23的一个或多个非暂时性计算机系统可读介质,其中所述指令响应于由计算装置的执行,进一步使计算装置:创建虚拟机;以及在所创建的虚拟机上执行宾客操作系统。示例25可以包括示例23至24中的任一项的一个或多个非暂时性计算机系统可读介质,其中,虚拟机处于空闲状态的确定包括用户交互、网络活动或处理器活动在预定时间段内的缺少的确定。

在各种实施例中,示例26可以是用于实施虚拟机功率管理特征的计算机实施的方法,所述方法包括:通过计算装置来检测第一预定义事件,第一预定义事件使在计算装置上操作的虚拟机从计算装置的前台移动到计算装置的后台;通过计算装置基于第一预定义事件的检测,使由虚拟机消耗的处理器周期减少;通过计算装置来检测第二预定义事件,第二预定义事件使虚拟机从后台移动到前台;通过计算装置基于第二预定义事件的检测,使由虚拟机消耗的处理器周期增加。示例27可以包括示例26的计算机实施的方法,其中计算装置是智能电话、平板计算机、便携式媒体播放器以及膝上型计算机。示例28可以包括示例26的计算机实施的方法,其中,第一预定义事件是与计算装置的用户接口的第一用户交互的接收,并且第二预定义事件是与用户接口的第二用户交互的接收。示例29可以包括示例26至28中的任一项的计算机实施的方法,其中,使处理器周期减少包括:通过计算装置来挂起要由虚拟机的宾客操作系统执行的一个或多个进程。示例30可以包括示例26至28中的任一项的计算机实施的方法,并且其中,使处理器周期增加包括:通过计算装置恢复在使处理器周期减少之前要由虚拟机的宾客操作系统执行的一个或多个进程。示例31可以包括示例26至28中的任一项的计算机实施的方法,其中,使处理器周期减少包括:通过计算装置来使用对于与计算装置相关联的管理程序的超调用,以使由虚拟机消耗的处理器周期减少。

在各种实施例中,示例32可以是用于实施虚拟机功率管理特征的计算机实施的方法,所述方法包括:通过便携式电子装置来确定虚拟机处于空闲状态;通过便携式电子装置基于虚拟机处于空闲状态的确定,使由虚拟机消耗的处理器周期减少;通过便携式电子装置来接收用于使与虚拟机相关联的宾客操作系统执行至少一个指令的至少一个输入;以及通过便携式电子装置响应于所述至少一个输入已经被接收到的确定,而使由虚拟机消耗的处理器周期增加。示例33可以包括示例32的计算机实施的方法,所述方法还包括:通过便携式电子装置来创建虚拟机;以及通过便携式电子装置在所创建的虚拟机上执行宾客操作系统。示例34可以包括示例32至33中的任一项的计算机实施的方法,其中,确定虚拟机处于空闲状态包括:通过便携式电子装置来确定用户交互、网络活动或处理器活动在预定时间段内的缺少。示例35可以包括示例32至33中的任一项的计算机实施的方法,其中,确定虚拟机处于空闲状态包括:通过便携式电子装置来确定虚拟机不再处于前台。示例36可以包括示例32至33中的任一项的计算机实施的方法,其中,使处理器周期减少包括:通过便携式电子装置来使用对于与便携式电子装置相关联的管理程序的超调用,以使由虚拟机消耗的处理器周期减少。示例37可以包括示例32至33中的任一项的计算机实施的方法,其中,使处理器周期减少包括:通过便携式电子装置来使用对于与便携式电子装置相关联的调度器的请求,所述请求用于从与调度器相关联的队列中移除与虚拟机相关联的至少一个进程。示例38可以包括示例32至33中的任一项的计算机实施的方法,其中,便携式电子装置是智能电话、平板计算机、便携式媒体播放器或者膝上型计算机。

在各种实施例中,示例39可以是一种设备,所述设备包括:用于检测第一预定义事件的构件,第一预定义事件使在计算装置上操作的虚拟机从计算装置的前台移动到计算装置的后台;用于基于第一预定义事件的检测,使由虚拟机消耗的计算装置的处理器周期减少的构件;用于检测第二预定义事件的构件,第二预定义事件使虚拟机从后台移动到前台;以及用于基于第二预定义事件的检测,使由虚拟机消耗的计算装置的处理器周期增加的构件。

在各种实施例中,示例40可以是一种设备,所述设备包括:用于确定与便携式电子装置相关联的虚拟机处于空闲状态的构件;用于基于虚拟机处于空闲状态的确定,使由虚拟机消耗的便携式电子装置的处理器周期减少的构件;用于接收用于使与虚拟机相关联的宾客操作系统执行至少一个指令的至少一个输入的构件;以及用于响应于至少一个输入已经被接收到的确定,而使由虚拟机消耗的便携式电子装置的处理器周期增加的构件。

已经在对计算机存储器内的数据比特的操作的算法和符号表示方面,给出了前述具体实施方式的一些部分。这些算法描述和表示是数据处理领域的技术人员使用的方式,该方式用于最有效地将他们的工作的实质传达给本领域的其他技术人员。算法在这里,并且普遍地,被认为是导致所期望结果的自我一致的(self-consistent)操作序列。这些操作是要求物理量的物理操纵的那些。

然而,应该铭记,所有这些和类似的术语都是与适当的物理量相关联的,并且仅仅是应用于这些量的简便标记。若非另有具体声明,否则如从上文讨论中清楚的是,应当意识到,贯穿说明书,利用诸如在所附权利要求中阐述的那些的术语进行的讨论是指计算机系统或类似的电子计算装置的动作和/或处理,其将计算机系统的寄存器和存储器中被表示为物理(例如,电子)量的数据操纵和/或变换为计算机系统的存储器、寄存器或其他这样的信息存储、传输或显示装置中被类似地表示为物理量的其他数据。

本发明的实施例还涉及用于执行在此的操作的设备。这样的计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于存储机器(例如计算机)可读形式的信息的任何介质。例如,机器可读(例如计算机可读)介质包括机器(例如计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、闪速存储器装置)。

在前述图中描绘的过程或方法可以通过处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。虽然以上在一些顺序操作方面描述了过程或方法,但应理解,所描述的一些操作可以以不同顺序执行。此外,一些操作可以并行而不是顺序地执行。

本发明的实施例并未参照任何特定的编程语言来描述。应理解,各种编程语言可以用于实施如在此描述的发明的实施例的教导。

在前述说明书中,已经参照其具体的示例性实施例描述了本发明的实施例。清楚的是,在不偏离如在所附权利要求中阐述的本发明的较宽精神和范围的情况下,可以做出各种修改。说明书和各图相应地应认为是说明性意义而不是限制性意义的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1