设置时钟的速度的设备和方法转让专利

申请号 : CN201580013653.6

文献号 : CN106104413A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗恩·凯达尔迈克尔·K·巴腾堡

申请人 : 高通股份有限公司

摘要 :

本发明揭示一种用以设置时钟的速度的设备和方法。一种计算装置可包含处理器和所述处理器的调度器,所述调度器可经配置以:从多个不同执行环境接收对于所请求带宽的多个表决;对所述所请求带宽求和;及基于所述所请求带宽的和来设置所述时钟速度。

权利要求 :

1.一种用以设置时钟速度的方法,其包括:从多个不同执行环境接收对于所请求带宽的多个表决;

对所述所请求带宽求和;及

基于所述所请求带宽的和设置所述时钟速度。

2.根据权利要求1所述的方法,其中时钟包含分级速度。

3.根据权利要求2所述的方法,其中如果所述时钟包含分级速度,那么所述方法进一步包括基于所述所请求带宽的所述和来针对所述时钟速度选择下一最高分级速度。

4.根据权利要求1所述的方法,其中所述所请求带宽中的每一者用于通用时钟速度。

5.根据权利要求4所述的方法,其中所述通用时钟速度包含低、中或高中的至少一者的等级。

6.根据权利要求5所述的方法,其进一步包括基于所述所请求的通用时钟速度来针对所述时钟的所述速度选择下一最高级的通用时钟速度。

7.一种包含代码的非暂时性计算机可读媒体,所述代码在由处理器执行时使得所述处理器进行:从多个不同执行环境接收对于所请求带宽的多个表决;

对所述所请求带宽求和;及

基于所述所请求带宽的和设置时钟速度。

8.根据权利要求7所述的计算机可读媒体,其中时钟包含分级速度。

9.根据权利要求8所述的计算机可读媒体,其中如果所述时钟包含分级速度,那么所述计算机可读媒体进一步包括基于所述所请求带宽的所述和针对所述时钟速度选择下一最高分级速度的代码。

10.根据权利要求7所述的计算机可读媒体,其中所述所请求带宽中的每一者用于通用时钟速度。

11.根据权利要求10所述的计算机可读媒体,其中所述通用时钟速度包含低、中或高中的至少一者的等级。

12.根据权利要求11所述的计算机可读媒体,其进一步包括基于所述所请求的通用时钟速度来针对所述时钟的所述速度选择下一最高级的通用时钟速度的代码。

13.一种计算装置,其包括:

处理器;及

所述处理器的调度器,所述调度器经配置以:从多个不同执行环境接收对于所请求带宽的多个表决;

对所述所请求带宽求和;及

基于所述所请求带宽的和设置时钟速度。

14.根据权利要求13所述的计算装置,其中时钟包含分级速度。

15.根据权利要求14所述的计算装置,其中如果所述时钟包含分级速度,那么基于所述所请求带宽的所述和,所述调度器经配置以针对所述时钟速度选择下一最高分级速度。

16.根据权利要求13所述的计算装置,其中所述所请求带宽中的每一者用于通用时钟速度。

17.根据权利要求16所述的计算装置,其中所述通用时钟速度包含低、中或高中的至少一者的等级。

18.根据权利要求17所述的计算装置,其中基于所述所请求的通用时钟速度,所述调度器经配置以针对所述时钟的所述速度选择下一最高级的通用时钟速度。

19.一种计算装置,其包括:

用于从多个不同执行环境接收对于所请求带宽的多个表决的装置;

用于对所述所请求带宽求和的装置;及

用于基于所述所请求带宽的和设置时钟速度的装置。

20.根据权利要求19所述的计算装置,其中时钟包含分级速度。

21.根据权利要求20所述的计算装置,其中如果所述时钟包含分级速度,那么基于所述所请求带宽的所述和,用于针对所述时钟速度选择下一最高分级速度的装置。

22.根据权利要求19所述的计算装置,其中所述所请求带宽中的每一者用于通用时钟速度。

23.根据权利要求22所述的计算装置,其中所述通用时钟速度包含低、中或高中的至少一者的等级。

24.根据权利要求23所述的计算装置,其中基于所述所请求的通用时钟速度,用于针对所述时钟的所述速度选择下一最高级的通用时钟速度的装置。

25.根据权利要求19所述的计算装置,其中所述执行环境中的每一者为数据所有者。

说明书 :

设置时钟的速度的设备和方法

技术领域

[0001] 本发明涉及设置时钟的速度的设备和方法。

背景技术

[0002] 在提供对多个执行环境(EE)的虚拟所有权的硬件环境中,许多EE可拥有命令接口(例如,硬件(HW)命令接口)。每一EE可假设其为HW的单一用户。如果从各种EE发生并发事件/命令,那么所述EE中的每一者可经历性能退化。
[0003] 传统时钟表决机制已经用于HW的多个用户。在此传统的时钟表决机制中,HW的不同EE用户表决以打开HW时钟并且针对特定时钟速度。所述表决的集合器选择最高的表决(即,最受请求的速度)。传统地,每一EE管理其本地表决而不考虑其它EE。不幸的是,对于一些EE,所选速度可过低且所产生的退化量对于特定EE来说可为不可管理的。

发明内容

[0004] 本发明的方面可涉及设置时钟的速度的设备和方法。计算装置可包含处理器和所述处理器的调度器,所述调度器可经配置以:从多个不同执行环境接收对于所请求带宽的多个表决;对所所请求带宽求和;及基于所请求带宽的和来设置时钟速度。

附图说明

[0005] 图1是其中可实践本发明的方面的计算装置的图。
[0006] 图2是包含处理器和设置时钟速度的调度器的计算环境的实例。
[0007] 图3是调度器的时钟表决块的实例。
[0008] 图4是利用来自数据所有者的用于通用时钟速度的所请求带宽的调度器的实例。
[0009] 图5是说明设置时钟速度的过程的实例的流程图。

具体实施方式

[0010] 词语“示范性”或“实例”在本文中用以意味着“充当实例、例子或说明”。本文中描述为“示范性”或“实例”的任何方面或实施例未必应被解释为比其它方面或实施例更优选或更有利。
[0011] 如本文所使用,术语“计算系统或装置”指代任何形式的可编程计算机装置,包含(但不限于)膝上型计算机和桌上型计算机、平板计算机、智能电话、电视机、家用电器、蜂窝电话、个人电视装置、个人数据助理(PDA)、掌上型计算机、无线电子邮件接收器、具备多媒体因特网功能的蜂窝电话、全球定位系统(GPS)接收器、无线游戏控制器、交通工具(例如,汽车)内的接收器、交互式游戏装置、笔记本计算机、智能笔记本计算机、上网本、移动电视装置或任何数据处理设备。
[0012] 图1中说明可用以设置时钟速度的实例计算装置100,其中可实践本发明的方面,如下文中将详细地描述。计算装置100展示为包括可经由总线105电耦合(或可在适当时以其它方式通信)的硬件元件。硬件元件可包含一或多个处理器110,包含(但不限于)一或多个通用处理器和/或一或多个专用处理器(例如,数字信号处理芯片、图形加速处理器、密码处理器和/或类似物);一或多个输入装置115(例如,键盘、小键盘、触摸屏、鼠标等);及一或多个输出装置120,其包含至少显示装置121,并且可以进一步包含(但不限于)扬声器、打印机和/或类似者。
[0013] 计算装置100可进一步包含以下各者(和/或与以下各者通信):一或多个非暂时性存储装置125,所述非暂时性存储装置可包括(但不限于)本地及/或网络可接入的存储体,和/或可包含(但不限于)磁盘驱动器、驱动阵列、光学存储装置、可为可编程的、可快闪更新的固态存储装置(例如,随机接入存储器(储“RAM”)和/或只读存储器(“ROM”)),其,和/或其类似者。此类储存装置可经配置以实施任何适当的数据储存装置,包含但不限于各种文件系统、数据库结构和/或类似者。
[0014] 计算装置100还可包含通信子系统130,其可包含(但不限于)调制解调器、网卡(无线或有线)、红外通信装置、无线通信装置和/或芯片组(例如,蓝牙装置、802.11装置、Wi-Fi装置、WiMax装置、蜂窝通信装置等)和/或类似者。通信子系统130可准许与网络、其它计算机系统和/或本文中所描述的任何其它装置交换数据。在许多实施例中,计算装置100将进一步包括工作存储器135,其可包含RAM或ROM装置,如上文所描述。此外,计算装置100可包含系统存储器管理单元(SMMU),其为存储器参考所经过的计算机硬件单元,并且可用于执行虚拟存储器地址到物理地址的转译以便实施应用程序。计算装置100还可包括展示为当前位于工作存储器135内的软件元件,其包含操作系统140、应用程序145、装置驱动器、可执行库和/或其它代码。
[0015] 仅举例来说,相对于下文论述的方法描述的一或多个程序可以实施为可通过计算装置(和/或计算装置内的处理器)执行的代码和/或指令;随后,在一方面中,这种代码和/或指令可用于配置和/或修改通用计算机(例如计算装置)以根据本发明的实施例执行依据所描述的方法的一或多个操作。作为一个特定实例,如下文将更详细地描述,处理器110可实施本发明的实施例以设置时钟的速度。这些指令和/或代码的集合可存储于非暂时性计算机可读储存媒体上。在一些情况下,存储媒体可能并入计算机装置(例如计算装置100)内。在其它实施例中,存储媒体可能与计算机系统分离(例如,可装卸式媒体(例如,压缩光盘),和/或提供于安装包中,使得存储媒体可用以编程、配置及/或修改其上存储有指令/代码的通用计算机。这些指令可能采用可由计算机化的计算装置100执行的可执行代码的形式,和/或可采用源代码和/或可安装代码的形式,在计算装置100上编译和/或安装(例如,使用多种通常可用编译程序、安装程序、压缩/解压缩实用程序等中的任一者)之后,随后采用可执行代码的形式。
[0016] 参考图2,下文中将描述可由包含用以设置时钟速度的处理器220(例如,密码处理器)的计算装置100实施的其中可实践本发明的方面的计算环境200的实例。如下文将更详细地描述,使用密码处理器220来设置时钟的速度仅为可用以设置时钟的速度的处理器的一个实例,且可利用任何类型的处理器实施本发明的实施例以设置时钟速度。
[0017] 继续本实例,密码处理器220可经由使用密钥而执行信息的计算密集型编码和解码。密码处理器220可以是基于扩展语言针对CPU(或其它处理器)执行信息的计算密集型编码和解码的协处理器,或者可以是加密引擎,其为一件单独的硬件(例如,加速器处理器),由专用软件驱动器运行以用于编码和解码信息。在此实例中,密码处理器220是加密引擎,并且下文中描述的实例将在通过加密引擎实施的上下文中。然而,对于所属领域的技术人员应当显而易见的是,这些相同的实施方案可以类似地通过协处理器执行。在此实例实施方案中,控制密钥以加密和解密数据的各种执行环境密钥所有者(EE1-EEN)202、204、206与各种执行环境数据所有者(EE1-EEN)210、212、214合作操作。利用密钥的执行环境可以安全地传送数据以便由计算装置输入及输出。确切地说,数据可经由存储于密码处理器220的密钥表224中的密钥加密和解密。作为一实例,来自密钥表224的指派到EE数据所有者(210、212、214)的密钥可经发射到其相应命令信道以实施未决命令(例如,加密或解密)。另外,或在替代方案中,存储于密钥表中的密钥可发射到密码库239以供用于加密或解密数据。在任何情况下,执行由密码处理器220执行的来自EE数据所有者(210、212、214)的通过命令信道(230、232、234)用以加密或解密数据的命令,以使得经加密或解密数据可经由SMMU 133提供到输入域240或输出域250。
[0018] 如下文将更详细地描述,在一个实施例中,密码处理器220的调度器236经配置以:从多个不同执行环境(例如,EE数据所有者210、212、214)接收对于所请求带宽(BW请求)的多个表决;对调度器236的时钟表决块237中的所请求带宽求和;及基于所请求带宽的和设置时钟241的速度(例如,时钟速度),例如被称作时钟表决238。基于此,以速度的总和来执行来自EE数据所有者(210、212、214)的加密/解密命令。举例来说,如果存在来自EE数据所有者(210、212、214)的三个EE带宽请求表决[例如,针对100Mhz、100Mhz和200Mhz],那么调度器236将时钟241的速度调度为400Mhz(即,总和)。以此方式,所有EE数据所有者(210、
212、214)的平均性能不需要由于非管理式事件并发而改变。应了解,对时钟表决块237中的所请求带宽请求求和仅为可利用的功能的类型的一个实例,且可利用考虑到所有用户所请求的活动需求的任何类型的功能,其可用于相应地调整时钟241。
[0019] 作为一个实例实施方案,输入域240包含音频数据242、高级操作系统数据(HLOS)244和视频数据246,然而类似地,实例输出域250包含音频数据252、高级操作系统数据(HLOS)254和视频数据256。应了解,这些仅为实例域,且可利用许多不同类型的域(例如,企业、调制解调器等)。此外,可以利用许多不同类型的执行环境,先前所述的执行环境仅为实例。在一个特定实例中,执行环境1可用于视频数据且可包含EE1密钥所有者202和EE1数据所有者1 210。用于数据所有者201的输入视频数据246可需要由密码处理器220使用密钥表
224中与EE1密钥所有者相关联的密钥来解密,以使得其可显示于输出域256中。继续此实例,视频执行环境(例如,EE1密钥所有者202和EE1数据所有者210)可请求加密的视频数据
246由密码处理器220利用用于视频执行环境的密钥表224的相关联密钥解密,以使得视频数据256可以输出到输出域250以供显示。命令信道1 230可包含利用密钥表224的密钥及/或密码库239实施的解密命令。
[0020] 此外,密码处理器220的调度器236可用于从多个不同执行环境(例如,EE数据所有者210、212、214)接收对于所请求带宽(BW请求)(例如,[100Mhz、100Mhz和200Mhz])的多个表决;对时钟表决块237中的所请求带宽求和;及基于所请求带宽的和(例如,400Mhz)设置时钟241的速度(例如,时钟速度),例如被称作时钟表决238。基于此,以速度的总和来执行来自EE数据所有者(210、212、214)的加密/解密命令。因此,作为实例,对于视频执行环境(例如,EE1密钥所有者202和EE1数据所有者210)可具有由密码处理器220以400Mhz的时钟速率解密的经加密视频数据246,以使得视频数据256可输出到输出域250以供显示,而其它执行环境(例如,EE2密钥所有者202/EE2数据所有者210(例如,音频)和EEN密钥所有者206/EEN数据所有者214(例如,HLOS))可同样地具有由密码处理器220以400Mhz的时钟速率所解密的经加密数据,以使得相关数据可输出到输出域250。
[0021] 应了解,此仅为密码处理器(可用于加密或解密数据)的操作的一个实例且许多不同类型的执行环境、不同类型的数据、不同类型的域等可与密码处理器或任何类型的处理器一起使用。另外应了解,使用密码处理器来设置时钟的速度仅为可用以设置时钟的速度的处理器220的一个实例,且可利用任何类型的处理器实施本发明的实施例以设置时钟的速度。
[0022] 另外参考图3,描述调度器236的时钟表决块237的实例。首先,在一个实施例中,应了解,调度器236可使用任何公平分享算法来操作。一个此类实例为轮询方式,其中对于来自用于每一EE数据所有者(例如,210、212、214)的命令信道(例如,230、232、234)的每一命令,调度器将正在起作用之当前命令暂停且接着服务下一命令。举例来说,一旦达到当前命令的任务额(例如,32KB),如果设置了任何未决命令,那么为下一未决命令提供服务。以此方式,每一命令信道接收100%到1/N之间的处理器性能,其中N为处于未决状态的端口/命令信道的数目。以此方式,预防饥饿状态并且可提供对命令信道的公平性。如图3中所展示,调度器的时钟表决块237可从多个不同执行环境数据所有者(例如,210、212和214)接收多个带宽请求(例如,带宽请求1-N 310、312和314)并且通过利用求和功能320可对所请求带宽请求求和以计算总带宽请求[例如,TOTAL_BW_REQ=∑(BW_REQi)]。
[0023] 此外,在一个实施例中,时钟可包含分级速度330,以使得基于带宽请求的和(TOTAL_BW_REQ 332),调度器236的时钟表决块237经配置以选择下一最高级速度。作为一实例,如图3中所展示,可以某些等级(例如,等级0——0Mhz、等级1——200Mhz、等级2——400Mhz、等级3——600Mhz等)来预定义带宽。在此实例中,如果有三个EE数据所有者分别对
100Mhz、100Mhz和150Mhz的带宽请求进行表决,那么时钟表决块237将总带宽请求332计算为350Mhz并选择带宽的下一最高等级340:等级2——400Mhz。因此,选择时钟241的速度的下一最高级速度(例如,400Mhz)。应了解,调度器236的实施例可以硬件或软件来实施。又,应再次了解,对时钟表决块237中的所请求带宽请求求和仅为可利用的功能的类型的一个实例,且可利用考虑到所有用户所请求的活动需求的任何类型的功能,其可用于相应地调整时钟241。
[0024] 另外参考图4,描述了利用来自EE数据所有者的用于通用时钟速度的所请求带宽的调度器236的实例。在此实施例中,每一EE数据所有者(例如,210、212、214)通过其相应命令信道(例如,230、232、234)将对于通用时钟速度(例如,低、中或高)的带宽请求或表决发射到调度器236。基于接收到的所请求的通用时钟速度(例如,低、中或高),调度器236可选择时钟241的下一最高级通用时钟速度(例如,其充当时钟表决)。因此,基于接收到的所请求的通用时钟速度(例如,低、中或高),调度器236可从经组合表决选择下一等级的时钟速度。图4的表400提供不同实例。作为一个实例,如果EE1 410=低、EE2 412=低且EE3 414=低,那么调度器236针对待设置成中的时钟241的速度来设置对于时钟速率416的时钟表决。作为另一实例,如果EE1 410=低、EE2 412=低,且EE3 414=中,那么调度器236针对待设置成高的时钟241的速度来设置对于时钟速率416的时钟表决。作为又一实例,如果EE1 410=低、EE2 412=中且EE3 414=高,那么调度器236针对待设置成高的时钟241的速度来设置对于时钟速率416的时钟表决。
[0025] 如先前所描述,实施先前所描述的调度器236用以设置时钟的速度(例如,时钟速度)的功能性的处理器220可为用于实施编码和解码的密码处理器,或以由调度器236设置的时钟速度来实施处理器的功能的任何其它类型的处理器。因此,用于任何类型的处理器的调度器236可经配置以:从多个不同执行环境(例如,EE数据所有者210、212、214)接收对于所请求带宽(BW请求)的多个表决;对调度器236的时钟表决块237中的所请求带宽求和;及基于所请求带宽的和设置时钟241的速度,例如,被称作时钟表决238。基于此,可针对任何类型的处理器以速度的总和来执行来自EE数据所有者(210、212、214)的任何类型的命令,如先前详细地描述。
[0026] 另外参考图5,图5是说明根据本发明的一个实施例的用以设置时钟的速度的方法过程500的实例的流程图。在框502处,从多个不同执行环境接收对于所请求带宽(BW请求)的多个表决。接下来,在框504处,对所请求带宽求和。在框506处,基于所请求带宽的和来设置时钟速度。基于此,可针对任何类型的处理器以速度的总和来执行来自任何类型的EE数据所有者的任何类型的命令,如先前详细地描述。
[0027] 应了解,先前所描述的本发明的方面可结合由装置(例如,计算装置100)的处理器220(例如,通用处理器、密码处理器或任何类型的处理器)执行指令而实施,如先前所描述。
确切地说,装置的电路(包含但不限于处理器)可在程序、例程或执行根据本发明的实施例的方法或过程(例如,图3至5的过程和功能)的指令的执行的控制下操作。例如,此类程序可在固件或软件(例如,存储于存储器和/或其它位置中)中实施且可由装置的处理器和/或其它电路实施。此外,应了解,术语处理器、微处理器、电路、控制器等是指能够执行逻辑、命令、指令、软件、固件、功能性等的任何类型的逻辑或电路。
[0028] 应了解,当装置为移动或无线装置时,其可经由通过无线网络的一或多个无线通信链路通信,所述无线通信链路基于或以其它方式支持任何合适的无线通信技术。举例来说,在一些方面中,无线装置及其它装置可与包含无线网络的网络相关联。在一些方面中,网络可包括人体局域网或个人局域网(例如,超宽带网络)。在一些方面中,网络可包括局域网或广域网。无线装置可支持或以其它方式使用多种无线通信技术、协议或标准中的一或多个,例如,3G、LTE、先进LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAX及WiFi。类似地,无线装置可支持或以其它方式使用多种对应调制或多路复用方案中的一或多者。无线装置可因此包含适当的组件(例如,空中接口)以使用以上或其它无线通信技术建立一或多个无线通信链路且经由所述一或多个无线通信链路进行通信。例如,装置可包括具有相关联的发射器和接收器组件(例如,发射器和接收器)的无线收发器,其可包含促进无线媒体上的通信的各种组件(例如,信号产生器和信号处理器)。众所周知,移动无线装置因此可以无线方式与其它移动装置、手机、其它有线和无线计算机、因特网网站等通信。
[0029] 本文中的教示可并入到多种设备(例如,装置)中(例如,在其内实施或由其执行)。举例来说,本文中教示的一或多个方面可并入到电话(例如蜂窝电话)、个人数据助理(“PDA”)、平板计算机、移动计算机、膝上型计算机、娱乐装置(例如音乐或视频装置)、头戴式耳机(例如头戴式受话机、耳机等)、医疗装置(例如,生物计量传感器、心率监测仪、步数计、EKG装置等)、用户I/O装置、计算机、有线计算机、固定计算机、桌上型计算机、服务器、销售点装置、机顶盒或任何其它合适的装置中。这些装置可具有不同的功率和数据要求。
[0030] 在一些方面,无线装置可包括用于通信系统的接入装置(例如Wi-Fi接入点)。这种接入装置可提供(例如)经由有线或无线通信链路到另一网络(例如,广域网,例如,因特网或蜂窝网络)的连接性。因此,接入装置可以使得另一装置(例如,Wi-Fi站)能够接入另一网络或某一其它功能性。
[0031] 所属领域的技术人员将理解,可使用多种不同技术及技艺中的任一个来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示可贯穿以上描述参考的数据、指令、命令、信息、信号、位、符号及芯片。
[0032] 所属领域的技术人员将进一步了解,结合本文中所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以实施为电子硬件、计算机软件或两者的组合。为清楚地说明硬件与软件的此互换性,上文已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决策不应被解释为会造成脱离本发明的范围。
[0033] 可使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文中所描述功能的其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块和电路。通用处理器可以为微处理器,但在替代方案中,处理器可以为任何常规的理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置。
[0034] 结合本文所揭示的实施例而描述的方法或算法的步骤可直接体现在硬件、由处理器执行的软件模块或所述两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM,或所属领域中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体。处理器和存储媒体可驻留于ASIC中。ASIC可驻留于用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留在用户终端中。
[0035] 在一或多个示范性实施例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施为计算机程序产品,那么可以将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体发射。计算机可读媒体包含计算机存储媒体与通信媒体两者,通信媒体包含促进计算机程序从一处传递到另一处的任何媒体。存储媒体可为可由计算机接入的任何可用媒体。借助于实例而非限制,此类计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码且可由计算机接入的任何其它媒体。又,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
[0036] 提供所揭示的实施例的先前描述以使得所属领域的任何技术人员能够制作或使用本发明。将容易对所属领域的技术人员显而易见的是对这些实施例的各种修改,且可在不脱离本发明的精神或范围的情况下将本文中定义的一般原理应用到其它实施例。因此,本发明并不希望限于本文中所展示的实施例,而应符合与本文中所揭示的原理和新颖特征相一致的最广泛范围。