背景技術(shù):
隨著移動計算設(shè)備逐漸變得能夠進(jìn)行高級處理,它們的處理水平受設(shè)備的散熱能力的限制。為了降低被設(shè)備生成的熱量的量,可以應(yīng)用多種不同的熱修復(fù)。這些修復(fù)可以包括限制cpu核頻率、降低屏幕亮度等。熱修復(fù)典型地在應(yīng)用已運(yùn)行一時間段之后被應(yīng)用,所述時間段足夠長以便導(dǎo)致設(shè)備達(dá)到熱門限。發(fā)熱和隨后的熱修復(fù)通過使其變得反應(yīng)較慢、降低幀率、毛刺化等而負(fù)面地影響用戶體驗。此外,一旦設(shè)備隨后達(dá)到穩(wěn)定狀態(tài)(熱平衡),作為結(jié)果的性能可能實際上比如果已在應(yīng)用被啟動時啟用(以某個較低的強(qiáng)度)修復(fù)的情況下是更差的。
技術(shù)實現(xiàn)要素:
本文中描述的實施例針對:捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù),對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動,以及,關(guān)于在所述計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信。在一個實施例中,一種計算機(jī)系統(tǒng)確定哪些熱修復(fù)當(dāng)前正在被監(jiān)控的計算設(shè)備上被實施。所述熱修復(fù)可以包括降低cpu或者其它硬件構(gòu)件時鐘頻率、在cpu核之間移動工作項、使顯示器變暗、防止電池充電、降低網(wǎng)卡上的傳輸速率、禁用天線、禁用端口、降低照相機(jī)幀率、降低照相機(jī)分辨率、改變硬件構(gòu)件或者平臺空閑狀態(tài)或者其它的修復(fù)。所述熱修復(fù)是基于所述被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境的,所述操作環(huán)境可以包括物理熱環(huán)境和當(dāng)前的軟件執(zhí)行環(huán)境兩者。
所述計算機(jī)系統(tǒng)進(jìn)一步跟蹤當(dāng)前正在所述被監(jiān)控的計算設(shè)備上被實施的那些熱修復(fù)的熱修復(fù)水平。所述熱修復(fù)水平指示每個熱修復(fù)被實施的程度。所述計算機(jī)系統(tǒng)還針對被跟蹤的熱修復(fù)信息的包括與被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境有關(guān)的信息的那些部分過濾被跟蹤的熱修復(fù)水平,并且將所述經(jīng)過濾的熱修復(fù)水平存儲在數(shù)據(jù)儲存器中。跟蹤并且識別哪些熱修復(fù)正在被實施和它們正被實施的程度,并且然后對所述修復(fù)進(jìn)行過濾以便確定哪些是與所述計算設(shè)備的當(dāng)前的操作環(huán)境最相關(guān)的可以允許改變被實施,所述改變節(jié)約所述設(shè)備的壽命,并且改進(jìn)處理性能。事實上,通過識別與所述計算設(shè)備的當(dāng)前的操作環(huán)境最相關(guān)的修復(fù),可以提高或者降低那些修復(fù)的水平以便降低所述設(shè)備的溫度,并且從而提高處理速度和硬件構(gòu)件性能。
在另一個實施例中,一種計算機(jī)系統(tǒng)對熱修復(fù)未來進(jìn)行預(yù)測并且對其采取行動。所述計算機(jī)系統(tǒng)確定被監(jiān)控的計算系統(tǒng)的當(dāng)前的操作狀態(tài)。所述計算系統(tǒng)確定至少一個操作狀態(tài)特性已在所述被監(jiān)控的計算系統(tǒng)上改變。所述計算機(jī)系統(tǒng)進(jìn)一步訪問之前的熱修復(fù)水平的指示,所述之前的熱修復(fù)水平指示每個熱修復(fù)被實施的程度。所述計算機(jī)系統(tǒng)還回應(yīng)于所述計算系統(tǒng)的操作狀態(tài)特性的所述改變生成哪些熱修復(fù)將被實施的預(yù)測,并且實施在所生成的預(yù)測中被識別的可持續(xù)的熱修復(fù)。
在又另一個實施例中,一種計算機(jī)系統(tǒng)關(guān)于在被監(jiān)控的計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信。所述計算機(jī)系統(tǒng)從在所述被監(jiān)控的計算機(jī)系統(tǒng)上運(yùn)行的應(yīng)用接收提示,其中,所述提示提供所述應(yīng)用的未來處理行為的指示。所述計算機(jī)系統(tǒng)回應(yīng)于所接收的指示所述應(yīng)用的未來處理行為的提示生成指示哪些熱修復(fù)將被應(yīng)用的預(yù)測,并且實施在所生成的預(yù)測中被識別的可持續(xù)的熱修復(fù)。所述實施可以由操作系統(tǒng)或者由所述被監(jiān)控的計算系統(tǒng)自身上硬件或者固件執(zhí)行。
提供本概要以便以簡化形式介紹下面在詳細(xì)說明中進(jìn)一步描述的概念的選擇。本概要不旨在識別所要求保護(hù)的主題的關(guān)鍵特征或者必要特征,其也不旨在被用作在確定所要求保護(hù)的主題的范圍時的輔助。
附加的特征和優(yōu)點將在隨后的說明中被闡述,并且對于本領(lǐng)域的技術(shù)人員來說將從本說明中部分地是明顯的,或者可以通過實踐本文中的教導(dǎo)被習(xí)得。本文中描述的實施例的特征和優(yōu)點可以借助于在所附權(quán)利要求中特別指出的設(shè)施和組合來實現(xiàn)和獲得。從下面的說明和所附的權(quán)利要求中,本文中描述的實施例的特征將變得更明顯。
附圖說明
為進(jìn)一步澄清本文中描述的實施例的以上的和其它的特征,將參考附圖再現(xiàn)更具體的說明。應(yīng)當(dāng)領(lǐng)會到,這些圖僅描繪了本文中描述的實施例的示例,并且因此不被認(rèn)為限制其范圍。將通過使用附圖以附加的特異性和細(xì)節(jié)地描述和闡述實施例,其中:
圖1圖示了包括捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù)的本文中描述的實施例可以在其中操作的計算機(jī)架構(gòu)。
圖2圖示了用于捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù)的示例方法的流程圖。
圖3圖示了用于對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動的示例方法的流程圖。
圖4圖示了用于關(guān)于在計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信的示例方法的流程圖。
圖5圖示了在其中熱修復(fù)被操作系統(tǒng)、被硬件或者固件或者被兩者的組合實施的實施例。
圖6圖示了示出熱修復(fù)類型和它們的對應(yīng)的實施水平的顯示的實施例。
具體實施方式
本文中描述的實施例針對:捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù),對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動,以及關(guān)于在計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信。應(yīng)當(dāng)理解,當(dāng)在本文中提到“應(yīng)用”時,該術(shù)語指應(yīng)用或者諸如是函數(shù)或者方法這樣的軟件的其它片段。在一個實施例中,一種計算機(jī)系統(tǒng)確定哪些熱修復(fù)當(dāng)前正在被監(jiān)控的計算設(shè)備上被實施。熱修復(fù)可以包括降低cpu或者其它硬件構(gòu)件時鐘頻率、在cpu核之間移動工作項、使顯示器變暗、防止電池充電、降低網(wǎng)卡上的傳輸速率、禁用天線、禁用端口、降低照相機(jī)幀率、降低照相機(jī)分辨率、改變硬件構(gòu)件或者平臺空閑狀態(tài)或者其它修復(fù)。熱修復(fù)是基于被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境的,所述操作環(huán)境可以包括物理熱環(huán)境和當(dāng)前的軟件執(zhí)行環(huán)境兩者。
計算機(jī)系統(tǒng)進(jìn)一步跟蹤當(dāng)前正在被監(jiān)控的計算設(shè)備上被實施的那些熱修復(fù)的熱修復(fù)水平。熱修復(fù)水平指示每個熱修復(fù)被實施的程度。計算機(jī)系統(tǒng)還針對被跟蹤的熱修復(fù)信息的包括與被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境有關(guān)的信息的那些部分過濾被跟蹤的熱修復(fù)水平,并且將經(jīng)過濾的熱修復(fù)水平存儲在數(shù)據(jù)儲存器中。跟蹤并且識別哪些熱修復(fù)正在被實施和它們正被實施的程度,并且然后對修復(fù)進(jìn)行過濾以便確定哪些是與計算設(shè)備的當(dāng)前的操作環(huán)境最相關(guān)的可以允許改變被實施,所述改變節(jié)約設(shè)備的壽命并且改進(jìn)處理性能。事實上,通過識別與計算設(shè)備的當(dāng)前的操作環(huán)境最相關(guān)的修復(fù),可以提高或者降低那些修復(fù)的水平以便降低設(shè)備的溫度,并且從而提高處理速度和硬件構(gòu)件性能。
在另一個實施例中,一種計算機(jī)系統(tǒng)對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動。計算機(jī)系統(tǒng)確定被監(jiān)控的計算系統(tǒng)的當(dāng)前的操作狀態(tài)。計算系統(tǒng)確定至少一個操作狀態(tài)特性已在被監(jiān)控的計算系統(tǒng)上改變。計算機(jī)系統(tǒng)進(jìn)一步訪問之前的熱修復(fù)水平的指示,所述之前的熱修復(fù)水平指示每個熱修復(fù)被實施例的程度。計算機(jī)系統(tǒng)還回應(yīng)于計算系統(tǒng)的操作狀態(tài)特性的改變生成哪些熱修復(fù)將被應(yīng)用的預(yù)測,并且實施在所生成的預(yù)測中被識別的可持續(xù)的熱修復(fù)。
在又另一個實施例中,一種計算機(jī)系統(tǒng)關(guān)于在被監(jiān)控的計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信。計算機(jī)系統(tǒng)從在被監(jiān)控的計算機(jī)系統(tǒng)上運(yùn)行的應(yīng)用接收提示,其中,提示提供應(yīng)用的未來處理行為的指示。計算機(jī)系統(tǒng)回應(yīng)于所接收的指示應(yīng)用的未來處理行為的提示生成指示哪些熱修復(fù)將被應(yīng)用的預(yù)測,并且實施在所生成的預(yù)測中被識別的可持續(xù)的熱修復(fù)。所述實施可以由操作系統(tǒng)或者由被監(jiān)控的計算系統(tǒng)自身上的硬件或者固件執(zhí)行。
下面的討論現(xiàn)在涉及可以被執(zhí)行的一些方法和方法動作。應(yīng)當(dāng)指出,盡管方法動作可能按照特定的次序被討論或者在流程圖中被圖示為按照特定的次序發(fā)生,但除非具體指出或者由于一個動作在該動作被執(zhí)行之前取決于另一個動作被完成而是必需的,特定的排序不必然是必需的。
本文中描述的實施例可以實施各種類型的計算系統(tǒng)。這些計算系統(tǒng)現(xiàn)在正逐漸采用多種多樣的形式。計算系統(tǒng)例如可以是諸如是智能電話或者功能電話這樣的手持型設(shè)備、電器、膝上型計算機(jī)、可穿戴設(shè)備、臺式計算機(jī)、大型機(jī)、分布式計算系統(tǒng)或者甚至常規(guī)上還未被看作計算系統(tǒng)的設(shè)備。在本說明和權(quán)利要求中,術(shù)語“計算系統(tǒng)”被寬泛地定義為包括任何設(shè)備或者系統(tǒng)(或者其組合),其包括至少一個物理的并且有形的硬件處理器和能夠在其上具有可以被處理器執(zhí)行的計算機(jī)可執(zhí)行指令的物理的并且有形的硬件或者固件存儲器。計算系統(tǒng)可以是分布在網(wǎng)絡(luò)環(huán)境上的,并且可以包括多個成分計算系統(tǒng)。
如圖1中所圖示的,計算系統(tǒng)101典型地包括至少一個處理單元102和存儲器103。存儲器103可以是物理系統(tǒng)存儲器,其可以是易失性的、非易失性的或者這兩者的某種組合。術(shù)語“存儲器”還可以在本文中被用于指諸如是物理存儲介質(zhì)或者物理存儲設(shè)備這樣的非易失性大容量存儲裝置。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。
如本文中使用的,術(shù)語“可執(zhí)行模塊”或者“可執(zhí)行構(gòu)件”可以指可以在計算系統(tǒng)上被執(zhí)行的軟件對象、例程或者方法。本文中描述的不同的構(gòu)件、模塊、引擎和服務(wù)可以被實施為在計算系統(tǒng)上執(zhí)行的對象或者進(jìn)程(例如,實施為單獨的線程)。
在隨后的說明中,參考被一個或多個計算系統(tǒng)執(zhí)行的動作描述了實施例。如果這樣的動作用軟件來實施,則執(zhí)行動作的關(guān)聯(lián)的計算系統(tǒng)的一個或多個處理器響應(yīng)于已執(zhí)行計算機(jī)可執(zhí)行指令而指導(dǎo)計算系統(tǒng)的操作。例如,這樣的計算機(jī)可執(zhí)行指令可以被體現(xiàn)在形成計算機(jī)程序產(chǎn)品的一個或多個計算機(jī)可讀介質(zhì)或者計算機(jī)可讀硬件存儲設(shè)備上。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計算機(jī)可執(zhí)行指令(和被操縱的數(shù)據(jù))可以被存儲在計算系統(tǒng)101的存儲器103中。計算系統(tǒng)101還可以包含允許計算系統(tǒng)101通過有線或者無線網(wǎng)絡(luò)與其它消息處理器通信的通信信道。這樣的通信信道可以包括被配置為接收數(shù)據(jù)、發(fā)射數(shù)據(jù)或者執(zhí)行這兩者的基于硬件的接收器、發(fā)射器或者收發(fā)器。
本文中描述的實施例可以包括或者使用專用或者通用計算機(jī)系統(tǒng),所述計算機(jī)系統(tǒng)包括如下面更詳細(xì)討論的諸如例如是一個或多個處理器和系統(tǒng)存儲器這樣的計算機(jī)硬件。系統(tǒng)存儲器可以被包括在總存儲器103內(nèi)。系統(tǒng)存儲器也可以被稱為“主存儲器”,并且包括可以由至少一個處理單元102通過存儲器總線進(jìn)行尋址的存儲器位置,在此情況下,在存儲器總線自身上宣稱地址位置。系統(tǒng)存儲器傳統(tǒng)上已是易失性的,但本文中描述的原理在其中系統(tǒng)存儲器部分地或者甚至完全是非易失性的的情況下也適用。
本文中描述的實施例還包括用于攜帶或者存儲計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理的和其它的計算機(jī)可讀介質(zhì)。這樣的計算機(jī)可讀介質(zhì)可以是任何可以被通用或者專用計算機(jī)系統(tǒng)訪問的可用介質(zhì)。存儲計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀介質(zhì)或者存儲設(shè)備是計算機(jī)存儲介質(zhì)或者計算機(jī)存儲設(shè)備。攜帶計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀介質(zhì)是傳輸介質(zhì)。因此,作為示例而非限制,本文中描述的實施例可以包括至少兩種明顯不同種類的計算機(jī)可讀介質(zhì):計算機(jī)存儲介質(zhì)和傳輸介質(zhì)。
計算機(jī)存儲介質(zhì)是存儲計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理硬件存儲介質(zhì)。物理硬件存儲介質(zhì)包括計算機(jī)硬件,諸如ram、rom、eeprom、固態(tài)驅(qū)動器(“ssd”)、閃存、相變存儲器(“pcm”)、光盤存儲裝置、磁盤存儲裝置或者其它磁性存儲設(shè)備或者任何其它的硬件存儲設(shè)備,所述硬件存儲設(shè)備可以被用于存儲采用計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的形式的、可以被通用或者專用計算機(jī)系統(tǒng)訪問并且執(zhí)行以便實施本文中所描述的實施例的公開的功能性的程序代碼。
傳輸介質(zhì)可以包括網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路,其可以被用于攜帶采用計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的形式的并且可以被通用或者專用計算機(jī)系統(tǒng)訪問的程序代碼。“網(wǎng)絡(luò)”被定義為使能夠在計算機(jī)系統(tǒng)和/或模塊和/或其它電子設(shè)備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。在信息通過網(wǎng)絡(luò)或者另一個通信連接(硬連線的、無線的或者硬連線或者無線的組合)被傳輸或者提供給計算機(jī)系統(tǒng)時,計算機(jī)系統(tǒng)可以將該連接看作傳輸介質(zhì)。以上各項的組合也應(yīng)當(dāng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。
進(jìn)一步地,在到達(dá)各種計算機(jī)系統(tǒng)構(gòu)件時,采用計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼可以自動地從傳輸介質(zhì)被傳輸?shù)接嬎銠C(jī)存儲介質(zhì)(或者反之)。例如,通過網(wǎng)絡(luò)或者數(shù)據(jù)鏈路被接收的計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)可以被緩沖在網(wǎng)絡(luò)接口模塊(例如,“nic”)內(nèi)的ram中,并且然后最終被傳輸給計算機(jī)系統(tǒng)ram和/或計算機(jī)系統(tǒng)處的少易失性的計算機(jī)存儲介質(zhì)。因此,應(yīng)當(dāng)理解,計算機(jī)存儲介質(zhì)可以被包括在也(或者甚至主要地)使用傳輸介質(zhì)的計算機(jī)系統(tǒng)構(gòu)件中。
計算機(jī)可執(zhí)行指令例如包括當(dāng)在一個或多個處理器處被執(zhí)行時導(dǎo)致通用計算機(jī)系統(tǒng)、專用計算機(jī)系統(tǒng)或者專用處理設(shè)備執(zhí)行特定的功能或者功能的組的指令和數(shù)據(jù)。計算機(jī)可執(zhí)行指令例如可以是二進(jìn)制文件、諸如是匯編語言這樣的中間格式指令或者甚至源代碼。
本領(lǐng)域的技術(shù)人員將領(lǐng)會到,本文中描述的原理可以在具有許多類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中被實踐,所述計算機(jī)系統(tǒng)配置包括個人計算機(jī)、臺式計算機(jī)、膝上型計算機(jī)、消息處理器、手持型設(shè)備、多處理器系統(tǒng)、基于微處理器的或者可編程的消費電子、網(wǎng)絡(luò)pc、小型計算機(jī)、大型計算機(jī)、移動電話、pda、平板、尋呼機(jī)、路由器、交換機(jī)等。本文中的實施例也可以在分布式系統(tǒng)環(huán)境中被實踐,在所述分布式系統(tǒng)環(huán)境中,通過網(wǎng)絡(luò)被鏈接(例如,通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計算機(jī)系統(tǒng)兩者執(zhí)行任務(wù)。因此,在分布式系統(tǒng)環(huán)境中,計算機(jī)系統(tǒng)可以包括多個成分計算機(jī)系統(tǒng)。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備兩者處。
本領(lǐng)域的技術(shù)人員還將領(lǐng)會到,本文中的實施例可以在云計算環(huán)境中被實踐。云計算環(huán)境可以是分布式的,但這不是必需的。在是分布式的時,云計算環(huán)境可以在一個組織內(nèi)被國際化地分布和/或具有跨多個組織被擁有的構(gòu)件。在本說明和后面的權(quán)利要求中,“云計算”被定義為用于使能實現(xiàn)對可配置的計算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲裝置、應(yīng)用和服務(wù))的共享池的按需網(wǎng)絡(luò)訪問的模型?!霸朴嬎恪钡亩x不限于在被恰當(dāng)?shù)夭渴饡r可以從這樣的模型中獲得的其它許多優(yōu)點中的任一個優(yōu)點。
仍然進(jìn)一步地,本文中描述的系統(tǒng)架構(gòu)可以包括每個都對作為整體的系統(tǒng)的功能性作出貢獻(xiàn)的多個獨立的構(gòu)件。該模塊化在接近平臺可擴(kuò)展性的問題時允許提高的靈活性,并且為此,提供各種優(yōu)點??梢酝ㄟ^使用具有有限的功能范圍的較小規(guī)模的部件更容易地管理系統(tǒng)復(fù)雜性和增長。通過使用這些松耦合的模塊增強(qiáng)了平臺容錯。單獨的構(gòu)件可以隨業(yè)務(wù)需求指示被遞增地增長。模塊化開發(fā)還意味著針對新功能性的減少了的上市時間??梢蕴砑踊蛘邷p除新功能性而不影響核心系統(tǒng)。
圖1圖示了至少一個實施例可以在其中被使用的計算機(jī)架構(gòu)100。計算機(jī)架構(gòu)100包括計算機(jī)系統(tǒng)101。計算機(jī)系統(tǒng)101可以是任何類型的本地或者分布式計算機(jī)系統(tǒng),包括云計算系統(tǒng)。計算機(jī)系統(tǒng)101包括用于執(zhí)行多種不同的功能的模塊。例如,通信模塊104可以被配置為與其它計算系統(tǒng)通信。通信模塊104可以包括任何可以向或者從其它計算系統(tǒng)接收和/或發(fā)射數(shù)據(jù)的有線或者無線通信裝置。通信模塊104可以被配置為與數(shù)據(jù)庫、移動計算設(shè)備(諸如移動電話或者平板)、嵌入式或者其它類型的計算系統(tǒng)交互。
計算機(jī)系統(tǒng)101進(jìn)一步包括用于執(zhí)行功能性的其它模塊,所述功能性包括:捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù),對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動,以及,關(guān)于在計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信。如上面提到的,計算系統(tǒng)在諸如是執(zhí)行軟件、與其它計算機(jī)系統(tǒng)通信、為它們的電池充電、為顯示器供電或者執(zhí)行其它任務(wù)這樣地執(zhí)行功能時生成熱量。因此,在計算機(jī)系統(tǒng)(諸如移動設(shè)備)對應(yīng)用進(jìn)行處理、為它的電池充電或者執(zhí)行其它功能時,該系統(tǒng)可能開始變熱。
在計算設(shè)備過熱時,不論它是數(shù)據(jù)中心中的服務(wù)器、pc、膝上型電腦、平板、電話、可穿戴設(shè)備、一體機(jī)還是其它設(shè)備,熱傳感器都可以觸發(fā)該平臺上的一個或多個熱修復(fù)?!盁嵝迯?fù)”,當(dāng)該術(shù)語在本文中被使用時,指被采取來冷卻設(shè)備或者降低設(shè)備的進(jìn)一步的發(fā)熱的行動。在較大的或者ac供電的平臺上,這樣的修復(fù)可以包括增加任何主動的冷卻活動(例如,開啟風(fēng)扇或者使其加速),其可能對設(shè)備的總體性能沒有影響。在較小的設(shè)備上,可能不存在任何可用的主動的冷卻修復(fù)或者這樣的冷卻修復(fù)的不太強(qiáng)大的版本。相應(yīng)地,可以實施可能影響設(shè)備的總體性能的附加的修復(fù)。
由于設(shè)備典型地花費某個時間量來變熱(其可以是可基于設(shè)備的當(dāng)前的操作環(huán)境變化的),并且由于直到設(shè)備已經(jīng)是熱的才可能實施熱修復(fù),所以可能存在平臺的用戶感知的性能的不連續(xù)性。如上面指示的,熱修復(fù)的實施可以降低設(shè)備上的操作性能,這可以導(dǎo)致體驗的負(fù)面影響。對于資源密集的或者長期運(yùn)行的應(yīng)用,由于它們的熱斜升特性,該可能性被增加。
此外,平臺的電池壽命可能被影響,或者修復(fù)之后產(chǎn)生的穩(wěn)定態(tài)性能可能實際上比如果在導(dǎo)致熱門限被達(dá)到的特定應(yīng)用或者其它軟件的啟動時某個較低水平的修復(fù)已被生效(kicked)是更差的。此外,即使在某些情況下在應(yīng)用被啟動時足夠的熱修復(fù)不能被啟動,諸如為了保證用戶體驗將是一致的,早期參加熱修復(fù)也可以增加用戶體驗降級之前的時間量。
熱修復(fù)的類型和強(qiáng)度或者水平取決于許多因素,包括特定的設(shè)備的特性、設(shè)備周圍的環(huán)境溫度或者光水平(其可以被與地理區(qū)域或者用戶行為的模式相關(guān),諸如在被明亮地照亮的室內(nèi)的有空調(diào)的環(huán)境或者其它區(qū)域中的典型用途)、由特定用戶在運(yùn)行特定應(yīng)用的特定設(shè)備上使用的典型的時間長度和類型、由該用戶體驗的網(wǎng)絡(luò)的典型的信號強(qiáng)度或者類型、針對網(wǎng)絡(luò)密集的應(yīng)用的設(shè)備或者應(yīng)用組合或者其它因素,所述其它因素包括設(shè)備位于其中的外殼的類型(諸如箱體的類型或者其缺失)或者用戶是否正在觸摸或者握持設(shè)備。
本文中描述的實施例可以被配置為跟蹤應(yīng)用性能和熱歷史,并且在達(dá)到熱門限之前強(qiáng)加修復(fù)??梢詫τ诰哂忻袩衢T限的歷史的應(yīng)用(或者唯一軟件的其它片段)完成此,熱門限導(dǎo)致特定設(shè)備上的非平凡的修復(fù)。這樣的應(yīng)用可以包括游戲應(yīng)用、視頻會議應(yīng)用、視頻捕獲或者顯示應(yīng)用或者需要相對大量的處理或者其它硬件資源力量的其它應(yīng)用或者服務(wù)。
在本文中描述了包括這樣的實施例的多個實施例,所述實施例包括以下各項中的任意一項或者多項:1)跟蹤每應(yīng)用熱修復(fù)歷史,2)基于熱修復(fù)歷史和當(dāng)前的系統(tǒng)狀態(tài)提供對未來熱修復(fù)的預(yù)測,3)使用預(yù)測來前攝地設(shè)置熱修復(fù),4)使應(yīng)用能夠參與該過程,以及5)使設(shè)備之外的實體能夠參與該過程。
跟蹤每應(yīng)用熱修復(fù)歷史可以涉及軟件、固件和/或硬件的部分。軟件、固件或者硬件的這些片段可以負(fù)責(zé)基于每應(yīng)用跟蹤熱修復(fù)歷史。這樣的跟蹤可以識別哪些熱修復(fù)被實施、它們何時被實施、它們被實施了多久和每個修復(fù)被實施的程度。計算機(jī)系統(tǒng)101的熱修復(fù)跟蹤模塊106可以使用軟件、固件和/或硬件執(zhí)行該跟蹤。由于存儲資源(例如,主存儲器或者物理存儲裝置)固有地是有限的,所以被存儲在設(shè)備上的歷史的量將是有限的。
因此,歷史的元素可以在它們的值被認(rèn)為是降低了的(例如,通過是“舊的”或者不再相關(guān)的)時被刪除或者減少。可以將較舊的數(shù)據(jù)移到諸如是存儲區(qū)域網(wǎng)絡(luò)(san)或者云存儲裝置這樣的外部數(shù)據(jù)儲存器。可以用可能更反映當(dāng)前的情形(例如,典型的環(huán)境溫度或者亮度、典型的使用模式、典型的網(wǎng)絡(luò)信號強(qiáng)度等)的“較新的”元素替換歷史的“較舊的”元素??梢杂捎脩艋蛘哂绍浖O(shè)置定義歷史的元素是較舊的還是較新的。
將被存儲在歷史元素中的熱修復(fù)信息可以被周期性地地輪詢,或者可以被特定的事件觸發(fā)。例如,這些事件可以包括熱修復(fù)水平的改變、切換應(yīng)用、開始或者停止特定的后臺活動、對接或者取消對接平臺、改變電池充電水平、改變?nèi)魏沃鲃拥睦鋮s的水平、打開或者關(guān)閉屏幕、改變屏幕亮度、進(jìn)入或者退出特定的低功率模式、應(yīng)用請求特定的熱修復(fù)改變或者其它的事件。在某些情況下,觸發(fā)熱修復(fù)歷史跟蹤的事件可以是由用戶指定的。
可以從被分派任務(wù)來監(jiān)控、觀察和/或控制設(shè)備(例如,被監(jiān)控的計算設(shè)備118)上的熱修復(fù)活動的軟件的片段、固件或者硬件獲得熱修復(fù)信息(例如,圖1的126)。熱修復(fù)信息和被存儲的歷史元素在復(fù)雜性上的范圍可以從單個信息比特(例如,指示熱修復(fù)是否被參加)到復(fù)雜的信息集合(例如,如在圖6中被一般地示出的針對硬件構(gòu)件的集合中的每個硬件構(gòu)件的熱修復(fù)的特定水平)。
在某些實施例中,可以通過多種信息為歷史元素加標(biāo)簽,這樣的信息包括主要的運(yùn)行應(yīng)用(例如,與特定的活動相關(guān)聯(lián)的進(jìn)程、線程或者任務(wù)的某個集合)、不與主要的運(yùn)行應(yīng)用相關(guān)聯(lián)的任何后臺系統(tǒng)活動、任何其它的運(yùn)行應(yīng)用、關(guān)于主要的或者其它的應(yīng)用或者后臺活動的任何特定階段信息、任何相關(guān)的系統(tǒng)狀態(tài)(例如,對接狀態(tài)、充電狀態(tài)、主動冷卻狀態(tài)、屏幕狀態(tài)、硬件或者固件或者軟件功率模式、應(yīng)用請求、被硬件構(gòu)件的某個集合消耗的資源的量等)和任何其它的幫助將歷史元素放入合適的上下文(潛在地用于稍后使用)中的信息的片段。對于給定的情形來說高度相關(guān)或者最相關(guān)的信息的那些部分可以是指示設(shè)備將如何在其當(dāng)前的環(huán)境中作出反應(yīng)和環(huán)境將如何影響設(shè)備分散或者管理熱量的能力的信息的部分。
歷史元素可以基于它們是否滿足準(zhǔn)則的某個集合而被刪除(或者根本不被寫),準(zhǔn)則的所述集合確定元素在某個稍后的點是否將是可用的。例如,如果應(yīng)用的運(yùn)行時間對于任何熱修復(fù)被啟用不是足夠的,則對應(yīng)的歷史元素可以在內(nèi)容層面上被丟棄或者被減弱,或者元素可以由于主動冷卻在對應(yīng)的時間間隔期間或者時間點處被參加而被丟棄,或者與特定的應(yīng)用相對應(yīng)的元素中的每個元素如果卸載或者用新版本更新該應(yīng)用則可以被丟棄。其它變型也是可能的。
基于熱修復(fù)歷史和當(dāng)前的系統(tǒng)狀態(tài)提供對未來熱修復(fù)的預(yù)測可以涉及軟件、固件和/或硬件的部分。這些軟件、固件或者硬件的片段可以負(fù)責(zé)使用上面描述的熱修復(fù)歷史元素和任何相關(guān)的系統(tǒng)狀態(tài)信息來作出關(guān)于哪些熱修復(fù)最適合于被監(jiān)控的設(shè)備118的預(yù)測。應(yīng)當(dāng)指出,盡管被監(jiān)控的設(shè)備118被示為是與計算機(jī)系統(tǒng)101分離的,但計算機(jī)系統(tǒng)101可以被配置為如在本文中一般地描述的那樣監(jiān)控其自身。
本文中描述的實施例可以存在于軟件、固件或者硬件的相同的片段中,或者可以駐留于這些片段的組合中。這樣的實施例可以合并當(dāng)前的相關(guān)狀態(tài)信息,諸如主要的運(yùn)行應(yīng)用(例如,與特定的活動相關(guān)聯(lián)的進(jìn)程、線程或者任務(wù)的某個集合)、不與主要的運(yùn)行應(yīng)用相關(guān)聯(lián)的任何后臺系統(tǒng)活動、任何其它的運(yùn)行應(yīng)用、關(guān)于主要的或者其它的應(yīng)用或者后臺活動的任何特定階段信息、任何相關(guān)的系統(tǒng)狀態(tài)(例如,對接狀態(tài)、充電狀態(tài)、主動冷卻狀態(tài)、屏幕狀態(tài)、硬件或者固件或者軟件功率模式、應(yīng)用請求、被硬件構(gòu)件的某個集合消耗的資源的量等)和其它的幫助選擇適用于當(dāng)前決策的歷史元素的正確集合的信息的片段。還可以考慮歷史元素的年齡,因為更年輕的元素可能是更相關(guān)或者適用的。類似地,具有與當(dāng)前的天、周或者年中的時間相匹配的天、周或者年中的特定的時間的元素可能是比不相匹配的元素更相關(guān)的。
如上面提到的,預(yù)測(例如,圖1的110)的內(nèi)容在復(fù)雜性上的范圍可以從單個信息比特(例如,參加還是脫離熱修復(fù))到復(fù)雜的信息集合(例如,針對硬件構(gòu)件的集合中的每個硬件構(gòu)件的可持續(xù)的熱修復(fù)的特定的被預(yù)測水平)。預(yù)測可以被周期性地作出或者可以被特定的事件觸發(fā)(例如,熱修復(fù)水平的改變、切換應(yīng)用、開始或者停止特定的后臺活動、對接或者取消對接平臺、改變電池充電水平、改變?nèi)魏沃鲃拥睦鋮s的水平、打開或者關(guān)閉屏幕或者改變其亮度、進(jìn)入或者退出特定的低功率模式、應(yīng)用請求特定的熱修復(fù)改變等)。預(yù)測的結(jié)果(如果被對其采取行動的話)可以被設(shè)計為具有多個正面的好處,諸如降低某個稍后的時間點處的用戶體驗的負(fù)面改變的可能性、改進(jìn)電池壽命、改進(jìn)系統(tǒng)的總體性能、延遲通過增加熱修復(fù)導(dǎo)致的用戶體驗的負(fù)面改變的時間點或者減少所述負(fù)面改變的影響。
如果針對給定應(yīng)用的歷史數(shù)據(jù)的量已被認(rèn)為對于決策是不足夠的,或者如果可以通過咨詢來改進(jìn)預(yù)測,則任何關(guān)于應(yīng)用的資源使用模式的信息(通過觀察、先前的分析被獲得的,或者基于應(yīng)用類型(例如,游戲應(yīng)用或者視頻會議應(yīng)用)被先驗地提供的)可以被用于找到其它相關(guān)歷史元素,并且將該信息并入決策制定過程。
使用用于前攝地設(shè)置熱修復(fù)的預(yù)測可以涉及軟件、固件和/或硬件的部分。軟件、固件或者硬件的這些片段可以負(fù)責(zé)使用在上面描述的過程中被生成的預(yù)測和任何相關(guān)系統(tǒng)狀態(tài)信息(例如,熱傳感器)來作出對受該片段控制的熱修復(fù)的水平的改變。受控制的熱修復(fù)在復(fù)雜性上的范圍可以從單個信息比特(例如,參加還是脫離熱修復(fù))到復(fù)雜的信息集合(例如,針對硬件構(gòu)件的集合中的每個硬件構(gòu)件的參加的熱修復(fù)的特定的水平)。可以被熱緩解的構(gòu)件的類型可以包括cpu核、gpu核、網(wǎng)絡(luò)控制器、顯示控制器、嵌入式控制器或者功能單元、主存儲器、存儲裝置、i/o接口或者其它硬件構(gòu)件。對預(yù)測的使用可以被維持直到新預(yù)測被提供或者在決定合適的緩解水平時的它們的值可能隨時間被降級。對預(yù)測的使用可以是嚴(yán)格的,或者可以被看作提示,或許為在其中預(yù)測可能不是完全準(zhǔn)確的那些情形留下凈空,或者隨時間提供某種水平的減少修復(fù)以便查明所預(yù)測的可持續(xù)的水平是否是太過激進(jìn)的。
(通過合并預(yù)測)產(chǎn)生的熱修復(fù)水平的設(shè)置可以被設(shè)計為具有正面的好處,諸如降低某個稍后的時間點處的用戶體驗的負(fù)面改變的可能性、改進(jìn)電池壽命、改進(jìn)系統(tǒng)的總體性能或者延遲通過增加熱修復(fù)導(dǎo)致的用戶體驗的負(fù)面改變的時間點或者減少所述負(fù)面改變的影響。
使應(yīng)用能夠參與上面描述的過程可以包括讓應(yīng)用提供關(guān)于它們打算將多少處理或者其它硬件資源力量用于特定的任務(wù)的提示。應(yīng)用或者其它的可唯一地識別的軟件的片段也可以通過被用引導(dǎo)預(yù)測過程的標(biāo)識符加標(biāo)簽來參與熱修復(fù)決策的過程。例如,可以以這樣的方式為具有重的資源使用和網(wǎng)絡(luò)活動的應(yīng)用加標(biāo)簽,使得預(yù)測機(jī)制將甚至在足夠的應(yīng)用執(zhí)行歷史已被搜集之前參加非平凡的熱修復(fù)。
類似地,應(yīng)用可以在其運(yùn)行時期間動態(tài)地提供加標(biāo)簽信息,其指示在其運(yùn)行時期間出現(xiàn)的活動水平的多個階段。應(yīng)用加標(biāo)簽在復(fù)雜性上的范圍可以從單個信息比特(例如,重或輕強(qiáng)度應(yīng)用)到復(fù)雜的信息集合(例如,針對硬件構(gòu)件的集合中的每個硬件構(gòu)件的參加的熱修復(fù)的特定水平或者針對不同的硬件構(gòu)件被預(yù)期的使用的特定水平)。構(gòu)件的類型可以包括cpu核、gpu核、網(wǎng)絡(luò)控制器、顯示控制器、嵌入式控制器或者功能單元、主存儲器、存儲裝置、i/o接口等。期望最高水平的性能的應(yīng)用(例如,基準(zhǔn)應(yīng)用或者游戲)可以指定將通知上面描述的系統(tǒng)和進(jìn)程避免參加熱修復(fù)或者降低修復(fù)被參加的程度的標(biāo)簽,即使這表示未來的熱緩解的可能性增大??梢酝ㄖ獞?yīng)用熱修復(fù)的預(yù)測(即,未來的水平)和/或當(dāng)前的水平,使得它們可以恰當(dāng)?shù)卣{(diào)整它們自己的行為以便作出對當(dāng)前可用的資源的最佳使用。
使設(shè)備之外的實體能夠參與該過程可以涉及諸如是數(shù)據(jù)或者服務(wù)提供商這樣的第三方。本文中描述的系統(tǒng)之外的軟件、固件或者硬件也可以參與預(yù)測過程。例如,可以將熱修復(fù)歷史信息傳遞給外部實體。外部實體可以在其分析中包括將歷史信息放入上下文中的其它信息,諸如每個系統(tǒng)的特性(例如,制造商和模型編號)、每個系統(tǒng)的地理位置或者天氣狀況、在每個系統(tǒng)上運(yùn)行的工作負(fù)荷的特性等。外部實體可以在應(yīng)用或者其它的可唯一地識別的軟件片段的實際運(yùn)行時之前對從一個或多個被監(jiān)控的計算機(jī)系統(tǒng)(例如,圖1的118)收集的信息進(jìn)行分析以便提供預(yù)測。外部實體可以周期性地或者在特定的事件時(例如,于在工廠創(chuàng)建系統(tǒng)期間、在用戶第一次使用系統(tǒng)時、在更新被下載到該系統(tǒng)時、在應(yīng)用被安裝時、在用戶改變地理區(qū)域時、在天氣狀況改變時等)將其分析或者預(yù)測提供給系統(tǒng)。
在一個實施例中,可以實施資源管理器和功率管理器。資源管理器內(nèi)的狀態(tài)機(jī)可以具有被用于預(yù)測未來的情形的啟發(fā)法和算法的集合,在所述未來的情形中,很有可能非平凡的熱修復(fù)將被生效,并且因此以可能顯著破壞用戶體驗的方式降低性能。該狀態(tài)機(jī)可以被若干源饋入,所述若干源為:指示哪些應(yīng)用在前臺或者后臺中主動的應(yīng)用狀態(tài)數(shù)據(jù)、對屏幕是打開的還是關(guān)閉的、系統(tǒng)是否是以備用方式被連接的、應(yīng)用中的任何應(yīng)用是否已請求持續(xù)的熱模式的指示等。至少在某些情況下,資源管理器可以具有對這樣的信息的訪問,并且將其提供給狀態(tài)機(jī)。數(shù)據(jù)例如可以包括百分比的數(shù)組。例如,一個數(shù)據(jù)元素可以是針對cpu核的已被參加的頻率節(jié)流的百分比。
每應(yīng)用熱歷史(path)描述自從被安裝或者自每應(yīng)用信息從設(shè)備之外的實體被獲得起已至少一次在持續(xù)的持續(xù)時間內(nèi)被運(yùn)行的那些應(yīng)用的熱歷史。包括熱修復(fù)百分比的數(shù)據(jù)數(shù)組的歷史可以被用于計算應(yīng)當(dāng)參加到創(chuàng)建最佳的用戶體驗的熱修復(fù)的很可能的未來的水平。path數(shù)據(jù)可以周期性地或者在特定的事件的時間處(例如,在熱修復(fù)水平改變時、從應(yīng)用切換走時、參加硬件對接或者主動冷卻時)通過調(diào)用被配置為檢索熱修復(fù)狀態(tài)并且將它們存儲在熱修復(fù)百分比的數(shù)組中的方法而被更新,由負(fù)責(zé)參加熱修復(fù)的應(yīng)用鍵入(keyed)。path可以附加地由包括地理位置、天氣狀況、對接/取消對接狀態(tài)等的環(huán)境因素鍵入。在某些情況下,可以實施通過移除陳舊的數(shù)據(jù)來將path保持在合理的大小處的機(jī)制,這允許凈空,使得如果典型環(huán)境已改變,則提示水平可以被放寬等。對哪個應(yīng)用被指定為“負(fù)責(zé)的”的確定可以是基于多個因素(例如,哪個應(yīng)用處在前臺中、多少和什么類型的后臺活動正在進(jìn)行等)的。
狀態(tài)機(jī)還可以對針對給定的應(yīng)用(在它被啟動時(以及可能在切換到它時))的path數(shù)據(jù)進(jìn)行解析。狀態(tài)機(jī)可以生成適合于經(jīng)由被配置為設(shè)置熱修復(fù)提示的方法來傳遞的熱修復(fù)百分比的所建議的數(shù)組。還可以實施用于輪詢和/或提示硬件熱修復(fù)引擎狀態(tài)信息并且制作向其它應(yīng)用方法的合適內(nèi)部映射的應(yīng)用編程接口(api)。這些api可以進(jìn)一步允許資源管理器輪詢或者被通知諸如是硬件對接參加/脫離、主動冷卻(針對混合設(shè)計)參加/脫離或者其它改變這樣的特定的熱環(huán)境改變。
功率管理器可以負(fù)責(zé)管理針對任何已暴露冷卻算法或者熱地帶的構(gòu)件的熱修復(fù)的水平。在熱門限針對一個或多個熱傳感器被達(dá)到時,功率管理器可以參加專用于每個相關(guān)的硬件構(gòu)件的代碼。因此,功率管理器可以變得知道針對已給出合適的控制的構(gòu)件的集合的硬件修復(fù)的水平。因此,可以實施用于在逐個構(gòu)件的基礎(chǔ)上選擇熱修復(fù)水平的算法或者應(yīng)用功能??梢韵蚰切┧惴ㄌ峁┡c即將到來的應(yīng)用處理行為有關(guān)的提示。提示可以采用建議的熱修復(fù)水平(百分比)的數(shù)組的形式。至少在某些情況下,來自資源管理器的最新的先前的提示可以被維持為算法輸入,直到下一個提示被接收為止。
為了資源管理器識別合適的提示,其可以偶爾地輪詢被監(jiān)控的設(shè)備(例如,118)以得到其當(dāng)前的熱修復(fù)水平。預(yù)期的時間表可以是分或者秒,或者可以甚至是動態(tài)的或者針對不同的平臺基于它們的熱特性(例如,針對在持續(xù)的負(fù)載下快速變熱的較便宜的平臺)被不同地設(shè)置。如果硬件熱修復(fù)引擎是可用的,則硬件提供商可以提供api,所述api允許被監(jiān)控的設(shè)備通知它持續(xù)的活動的周期何時即將到來,使得硬件熱修復(fù)引擎可以在實際活動跳脫熱門限之前節(jié)制資源使用。
在某些實施例中,可以創(chuàng)造另一個api,其允許熱修復(fù)引擎以與被監(jiān)控的設(shè)備118的類似的方式向資源管理器發(fā)送其熱修復(fù)水平。假設(shè)數(shù)據(jù)遵循與來自被監(jiān)控的設(shè)備的數(shù)據(jù)相似或者等同的格式,則資源管理器可以執(zhí)行準(zhǔn)備要向熱修復(fù)引擎發(fā)送的提示的類似的過程。應(yīng)當(dāng)指出,資源管理器可能不需要實際上知道哪些單獨的熱修復(fù)水平與特定的硬件或者固件構(gòu)件相對應(yīng)。相反,資源管理器可以基于由熱修復(fù)引擎提供的數(shù)組中的每個水平的歷史執(zhí)行其預(yù)測。
對于諸如是計算密集和/或網(wǎng)絡(luò)密集的游戲這樣的特定的應(yīng)用,存在熱門限可能在玩游戲的過程期間被命中的可能性,其最終結(jié)果是性能的突然下降以及因此由于實施熱修復(fù)產(chǎn)生的使人不愉快的用戶體驗。通過跟蹤這樣的場景的熱修復(fù)歷史,可以在熱門限被命中之前將熱修復(fù)的合適的集合付諸實施。這不僅降低性能突然下降的可能性,其還可以因為不太引人注目的動態(tài)修復(fù)被實施而導(dǎo)致更高的性能水平。將在下面分別關(guān)于圖2、3和4的方法200、300和400進(jìn)一步闡述這些概念。
圖2圖示了用于捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù)的方法200的流程圖?,F(xiàn)在將頻繁參考環(huán)境100的構(gòu)件和數(shù)據(jù)描述方法200。
方法200包括確定哪些熱修復(fù)當(dāng)前正在被監(jiān)控的計算設(shè)備上被實施,熱修復(fù)是基于被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境的(210)。例如,計算機(jī)系統(tǒng)101的確定模塊105可以確定哪些熱修復(fù)126正在被監(jiān)控的計算設(shè)備118上被實施。如上面指示的,熱修復(fù)126可以是被設(shè)備采取來冷卻設(shè)備或者降低設(shè)備的進(jìn)一步的發(fā)熱或者降低進(jìn)一步的發(fā)熱的速率的任何行動。被監(jiān)控的計算設(shè)備118如計算機(jī)系統(tǒng)101那樣可以是任何類型的計算設(shè)備,包括電話、膝上型電腦、臺式設(shè)備、平板、可穿戴設(shè)備、服務(wù)器或者任何其它的在它們中具有電子構(gòu)件的設(shè)備(包括電視機(jī)、電纜或者衛(wèi)星電視盒、諸如是路由器和防火墻這樣的網(wǎng)絡(luò)設(shè)備、dvd播放器、立體聲設(shè)備等)。實際上,應(yīng)當(dāng)理解,本文中描述的原理和實施例可以被應(yīng)用于任何合并了電子并且具有過熱的潛能的設(shè)備或者系統(tǒng)。此外,應(yīng)當(dāng)理解,盡管在圖1中被示為單獨的設(shè)備,但計算系統(tǒng)101可以監(jiān)控其自身,并且因此,計算機(jī)系統(tǒng)101可以自身是被監(jiān)控的設(shè)備。
熱修復(fù)126可以包括以下各項中的任意一項或者多項:降低cpu或者其它硬件構(gòu)件時鐘頻率、在cpu核之間移動工作項、使顯示器變暗、防止電池充電、降低網(wǎng)卡上的傳輸速率、禁用天線、禁用端口、降低照相機(jī)幀率、降低照相機(jī)分辨率、改變硬件構(gòu)件或者平臺空閑狀態(tài)或者采取用于減少硬件構(gòu)件的活動從而降低熱量的其它措施。如在本文中被使用的術(shù)語“當(dāng)前的操作環(huán)境”(例如,圖1中的元素127)包括物理熱環(huán)境和/或當(dāng)前的軟件執(zhí)行環(huán)境。
因此,當(dāng)前的操作環(huán)境可以包括什么正在設(shè)備的硬件構(gòu)件中的每個(或者至少一些)硬件構(gòu)件上發(fā)生的畫面或者指示。當(dāng)前的操作環(huán)境還可以包括哪些應(yīng)用、服務(wù)和/或進(jìn)程正在被監(jiān)控的設(shè)備上被執(zhí)行(或者最近被執(zhí)行過)的畫面或者指示。附加地或者替換地,計算設(shè)備的當(dāng)前的操作環(huán)境127可以包括環(huán)境溫度和亮度、用戶是否正在主動地使用系統(tǒng)、顯示屏是否是打開的、圖形處理單元(gpu)或者其它硬件構(gòu)件是否是打開的、天線是否是打開的以及每個構(gòu)件正以其操作的水平(即,高負(fù)載或者低負(fù)載)的指示。
方法200進(jìn)一步包括跟蹤針對當(dāng)前正在被監(jiān)控的計算設(shè)備上被實施的那些熱修復(fù)的熱修復(fù)水平,熱修復(fù)水平指示每個熱修復(fù)被實施的程度(220)。計算機(jī)系統(tǒng)101的熱修復(fù)跟蹤模塊106可以跟蹤熱修復(fù)水平116,熱修復(fù)水平116可以作為跟蹤數(shù)據(jù)115的部分被發(fā)射給計算機(jī)系統(tǒng)101。熱修復(fù)水平116可以指示每個熱修復(fù)正在被監(jiān)控的設(shè)備118上被實施的程度。
如圖6中所示,可以實施許多不同類型的熱修復(fù)601。每個熱修復(fù)類型602可以具有對應(yīng)的實施水平603。實施水平可以按照1-10的尺度被示出(如圖6中所示),或者可以通過條形圖或者傳達(dá)實施程度的其它手段被示出。按照1-10的尺度,1可以指示特定的熱修復(fù)類型根本不被實施或者僅非常輕量地被實施。另一方面,9或者10可以指示給定的熱修復(fù)被完全地或者接近完全地實施。因此,例如,如圖6中所示,由于針對“降低照相機(jī)幀率”的實施水平位于9處,所以照相機(jī)幀率已針對該被監(jiān)控的設(shè)備被嚴(yán)重降低。同時,由于降低“數(shù)據(jù)傳輸速率”和“禁用天線”兩者位于水平1處,所以它們都不被實施或者僅被最小量地實施??梢曰旧弦匀魏嗡綀?zhí)行熱修復(fù)的實施,并且可以將水平劃分成更少的粒度劃分(例如,高、中和低)或者更多的粒度劃分(例如,1-100的實施尺度)。此外,應(yīng)當(dāng)理解,每個熱修復(fù)類型602可以具有其自己的可單獨地調(diào)整的實施水平。
返回圖2,方法200接下來包括:針對被跟蹤的熱修復(fù)信息的包括關(guān)于被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境的最相關(guān)的信息的那些部分,對被跟蹤的熱修復(fù)水平進(jìn)行過濾(230)。例如,計算機(jī)系統(tǒng)101的過濾模塊107可以對被跟蹤的熱修復(fù)水平116(圖6的603)進(jìn)行過濾,以便識別熱修復(fù)信息的關(guān)于被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境127最相關(guān)的那些片段。該過濾可以是對于每個被監(jiān)控的設(shè)備來說唯一的,因為每個設(shè)備可以具有不同的構(gòu)件、可以是處在不同的環(huán)境溫度或者亮度中的、可以正在處理不同的應(yīng)用、可以具有不同地實施的設(shè)置(例如,屏幕亮度設(shè)置),或者其它因素可以對每個被監(jiān)控的設(shè)備作出貢獻(xiàn)。因此,與每個設(shè)備最相關(guān)的熱修復(fù)信息可以是唯一的或者基本上唯一的。
圖1的被監(jiān)控的計算設(shè)備118包括多個硬件和軟件構(gòu)件。并非這些構(gòu)件中的全部構(gòu)件將存在于每種類型的被監(jiān)控的計算設(shè)備上(或者附加的構(gòu)件可以存在)。設(shè)備118包括硬件處理器119、存儲器120、諸如是wifi、藍(lán)牙、cdma、gps等這樣的天線、電池122、可以是觸摸屏或者其它類型的顯示器的顯示器123、諸如是閃存、磁性存儲裝置或者基于盤的光學(xué)存儲裝置這樣的數(shù)據(jù)存儲裝置124、操作系統(tǒng)125和被安裝在其上的應(yīng)用129。因為每個被監(jiān)控的計算設(shè)備具有其自己的硬件、應(yīng)用、設(shè)置、使用模式和物理環(huán)境(例如,溫度和濕度)的集合,所以與該被監(jiān)控的設(shè)備最相關(guān)的熱修復(fù)信息的經(jīng)過濾的集合很可能是與全部其它設(shè)備不同的。
與被監(jiān)控的設(shè)備118最相關(guān)的熱修復(fù)信息的經(jīng)過濾的集合可以包括信息,所述信息指示在仍然提供足夠的功能性(即,不大量降低用戶體驗)的同時對降低設(shè)備的溫度最有效的那些熱修復(fù)。知道哪些熱修復(fù)正在被實施和它們正被實施的程度可以允許在降低設(shè)備的溫度并且因此節(jié)約設(shè)備的壽命的同時改進(jìn)處理性能的改變被實施。通過識別與計算設(shè)備的當(dāng)前的操作環(huán)境最相關(guān)的修復(fù),可以提高或者降低那些修復(fù)的水平,以便降低設(shè)備的溫度,并且因此提高處理速度和硬件構(gòu)件性能。
方法200還包括:將經(jīng)過濾的熱修復(fù)水平存儲在數(shù)據(jù)儲存器中(240)。例如,可以將經(jīng)過濾的熱修復(fù)水平113存儲在數(shù)據(jù)儲存器112中。數(shù)據(jù)儲存器112可以位于計算機(jī)系統(tǒng)101的外部或者內(nèi)部。數(shù)據(jù)儲存器112可以是任何類型的本地或者分布式存儲裝置,包括存儲區(qū)域網(wǎng)絡(luò)(san)或者云存儲裝置。在某些情況下,計算機(jī)系統(tǒng)101的確定模塊105可以確定熱修復(fù)數(shù)據(jù)是由操作系統(tǒng)(os)還是由計算機(jī)系統(tǒng)硬件獲得的。例如,熱修復(fù)水平數(shù)據(jù)116可以是由操作系統(tǒng)125或者由被監(jiān)控的計算機(jī)系統(tǒng)118上的硬件或者固件獲得的。該熱修復(fù)數(shù)據(jù)可以被存儲在數(shù)據(jù)儲存器112上,直到其被確定為是不再相關(guān)的為止。在那時,其可以被手動地或者自動地刪除。
例如,在應(yīng)用從被監(jiān)控的設(shè)備被刪除或者不再被使用時,與該應(yīng)用的執(zhí)行相關(guān)的熱修復(fù)數(shù)據(jù)可以被認(rèn)為是廢棄的,并且可以被刪除。在某些情況下,已存儲的熱修復(fù)水平113可以按照應(yīng)用名稱或者按照應(yīng)用類型被編制索引,使得在應(yīng)用被刪除或者不再被使用時,用戶或者軟件維護(hù)模塊130可以容易地挑出與那些應(yīng)用相對應(yīng)的數(shù)據(jù),并且移除它。此外,按照應(yīng)用名稱或者應(yīng)用類型為信息編制索引可以允許用戶(或者預(yù)測生成模塊109)確定哪些熱修復(fù)是在僅提供對用戶體驗的最小量的入侵的同時對于降低設(shè)備溫度最有效的。
現(xiàn)在轉(zhuǎn)向圖3,圖示了用于對修復(fù)未來進(jìn)行預(yù)測并且對其采取行動的方法300的流程圖?,F(xiàn)在將頻繁參考環(huán)境100的構(gòu)件和數(shù)據(jù)描述方法300。
方法300包括:確定被監(jiān)控的計算系統(tǒng)的當(dāng)前的操作狀態(tài)(310)。計算機(jī)系統(tǒng)101的確定模塊105可以確定被監(jiān)控的計算機(jī)系統(tǒng)118的當(dāng)前的操作狀態(tài)127。如上面那樣,當(dāng)前的操作狀態(tài)可以包括設(shè)備的物理環(huán)境以及當(dāng)前執(zhí)行的應(yīng)用和當(dāng)前操作的硬件或者固件構(gòu)件的指示。確定模塊105還可以確定至少一個操作狀態(tài)特性128已在被監(jiān)控的計算系統(tǒng)上改變(320)。操作狀態(tài)特性可以包括任意類型的設(shè)置改變、應(yīng)用執(zhí)行改變、硬件或者固件構(gòu)件操作改變、物理環(huán)境改變或者將影響被監(jiān)控的設(shè)備的當(dāng)前的操作狀態(tài)127的其它的改變。
在某些情況下,基于指定的事件的發(fā)生或者基于輪詢發(fā)起確定至少一個操作狀態(tài)特性已在被監(jiān)控的計算系統(tǒng)上改變。例如,導(dǎo)致熱修復(fù)跟蹤模塊106確定(其它)操作狀態(tài)特性是否已改變的諸如是設(shè)備溫度的升高這樣的事件可能發(fā)生。替換地,跟蹤模塊106可以被配置為周期性地輪詢被監(jiān)控的設(shè)備118以便確定任何操作狀態(tài)特性是否已改變。
方法300進(jìn)一步包括:訪問之前的熱修復(fù)水平的指示,之前的熱修復(fù)水平指示每個熱修復(fù)被實施的程度(330)。計算機(jī)系統(tǒng)101的訪問模塊108可以訪問之前的熱修復(fù)水平114的指示(即,上面描述的每應(yīng)用熱歷史(path))。這些之前的熱修復(fù)水平114指示每個熱修復(fù)在被監(jiān)控的設(shè)備118上被實施的水平或者程度。預(yù)測生成模塊109可以回應(yīng)于計算系統(tǒng)的操作狀態(tài)特性的改變生成哪些熱修復(fù)將被應(yīng)用的預(yù)測110(340)。該預(yù)測可以基于一個或多個事件發(fā)生被動態(tài)地更新。事件可以指示應(yīng)用即將被執(zhí)行或者大量數(shù)據(jù)即將被發(fā)射或者處理密集的游戲即將被運(yùn)行。
預(yù)測110是基于之前的熱修復(fù)水平(即,該事件最后一次發(fā)生時發(fā)生了什么)的。預(yù)測因此示出由于事件(例如,高分辨率游戲的啟動)哪些熱修復(fù)將被實施。預(yù)測可以是與先前所觀察的內(nèi)容(例如,path中的)不同的,因為較早(即,在熱門限事件發(fā)生之前)應(yīng)用熱修復(fù)可以導(dǎo)致性能與溫度之間的不同的穩(wěn)定態(tài)平衡,或者延長持續(xù)的應(yīng)用執(zhí)行之后熱門限事件發(fā)生之前的時間的量。因此,預(yù)測110可以涉及多于僅僅復(fù)制先前的熱修復(fù)水平。
在某些實施例中,可以使用啟發(fā)法來對熱修復(fù)歷史114進(jìn)行分析并且預(yù)測與熱修復(fù)有關(guān)的未來行為。啟發(fā)法可以對許多不同的進(jìn)程、服務(wù)、硬件交互和其它的在執(zhí)行設(shè)備功能時所涉及的構(gòu)件進(jìn)行分析,并且可以隨時間學(xué)習(xí)設(shè)備如何作出響應(yīng),因此識別由于特定的激勵哪些熱修復(fù)被實施。這個被生成的預(yù)測可以是指示熱修復(fù)將被提高還是降低的單個信息比特,或者可以包括更復(fù)雜或者詳細(xì)的信息,所述信息識別針對硬件的將基于所生成的預(yù)測以特定方式或者在特定程度上被節(jié)流的不同片段的熱修復(fù)。
方法300還包括:實施在所生成的預(yù)測中被識別的一個或多個可持續(xù)的熱修復(fù)(350)。熱修復(fù)實施模塊111可以實施在預(yù)測110中被識別的熱修復(fù)。這些修復(fù)可以由被監(jiān)控的計算設(shè)備118的操作系統(tǒng)125實施,或者可以由被監(jiān)控的設(shè)備118的硬件或者固件構(gòu)件基于所生成的預(yù)測實施?;谒傻念A(yù)測110實施熱修復(fù)126可以包括:改變熱修復(fù)中的任何一個或多個熱修復(fù)在被監(jiān)控的計算設(shè)備上被應(yīng)用的水平(例如,圖6的603)。至少在某些實施例中,可以在被監(jiān)控的計算系統(tǒng)118上的可允許的溫度被超過之前實施熱修復(fù)126。因此,以這種方式,可以通過在設(shè)備的主動冷卻特征生效之前實施熱修復(fù)來預(yù)測并且防止過熱。
在確定將對熱修復(fù)作出什么水平的改變時,可以在生成哪些熱修復(fù)將被應(yīng)用的預(yù)測110時給予最近的被監(jiān)控的計算設(shè)備使用更多權(quán)重。因此,可以在生成預(yù)測110并且對其采取行動時給予已更近地被執(zhí)行的應(yīng)用或者已更近地被執(zhí)行的其它功能更多的權(quán)重。
圖4圖示了用于關(guān)于在計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信的方法400的流程圖?,F(xiàn)在將頻繁參考環(huán)境100的構(gòu)件和數(shù)據(jù)描述方法400。
方法400包括:從在計算機(jī)系統(tǒng)上運(yùn)行的應(yīng)用接收一個或多個提示,所述提示提供應(yīng)用的未來處理行為的指示(410)。計算機(jī)系統(tǒng)101的預(yù)測生成模塊109可以從在被監(jiān)控的計算設(shè)備118上運(yùn)行的應(yīng)用接收提示117,其中,提示提供應(yīng)用的未來處理行為的指示。應(yīng)用129(或者其它服務(wù)或者軟件功能)可能知道它們?yōu)榱苏_地起作用將需要的處理、存儲裝置、存儲器或者其它資源的量。例如,諸如是視頻會議應(yīng)用這樣的某些應(yīng)用使用預(yù)先的一陣處理來建立連接,但稍后使用較少的處理,而其它應(yīng)用使用穩(wěn)定量的處理和其它資源。這些應(yīng)用可以是能夠向預(yù)測生成模塊109提供提示117使得它將知道什么即將在被監(jiān)控的設(shè)備118上發(fā)生。
方法400包括:回應(yīng)于所接收的指示應(yīng)用的未來處理行為的提示,生成指示哪些熱修復(fù)將被應(yīng)用的預(yù)測(420)。因此,預(yù)測生成模塊109可以使用所接收的提示來生成與被監(jiān)控的設(shè)備118上的未來的硬件、軟件和固件使用有關(guān)的預(yù)測110。一旦預(yù)測已被生成,則熱修復(fù)實施模塊111可以實施在所生成的預(yù)測中被識別的可持續(xù)的熱修復(fù)(430)。如圖5中所示,提示501和預(yù)測502可以每個進(jìn)入到基于設(shè)備的當(dāng)前的操作環(huán)境127對在給定的情形下哪些熱修復(fù)503將針對給定的設(shè)備被選擇的確定。一旦熱修復(fù)503已被識別,則操作系統(tǒng)504可以實施熱修復(fù)506,設(shè)備的硬件/固件505可以實施熱修復(fù)506或者操作系統(tǒng)504和硬件/固件505的組合可以實施熱修復(fù)506。
在某些實施例中,計算機(jī)系統(tǒng)101可以將諸如是提示這樣的數(shù)據(jù)發(fā)回在被監(jiān)控的設(shè)備118上運(yùn)行的應(yīng)用129。這些提示可以指示哪些熱修復(fù)將在被監(jiān)控的設(shè)備上被實施。因此,應(yīng)用可能能夠?qū)?shù)據(jù)作出響應(yīng)并且以某種方式修改其執(zhí)行。例如,應(yīng)用可以修改其執(zhí)行行為以便對較低的cpu頻率或者對較低的數(shù)據(jù)傳輸速率等進(jìn)行補(bǔ)償。被發(fā)送給應(yīng)用的提示可以向應(yīng)用指示熱修復(fù)將如何被實施以及熱修復(fù)將被實施的程度,從而允許應(yīng)用相應(yīng)地作出響應(yīng)。與被監(jiān)控的計算機(jī)系統(tǒng)的環(huán)境有關(guān)的提示可以由諸如是第三方實體這樣的外部實體提供。
仍然進(jìn)一步地,可以將操作信息傳遞給云服務(wù),云服務(wù)回應(yīng)于所接收的指示應(yīng)用的未來處理行為的提示生成哪些熱修復(fù)將被應(yīng)用的預(yù)測。因此,云服務(wù)可以被實施來生成預(yù)測,其然后在被監(jiān)控的計算設(shè)備118上被實施。這些熱修復(fù)可以在被監(jiān)控的計算機(jī)系統(tǒng)命中任何預(yù)定義的熱門限之前被實施。因此,熱修復(fù)可以在設(shè)備過熱之前以經(jīng)測量的方式被實施,從而允許應(yīng)用和硬件兩者對被熱修復(fù)采取的行動進(jìn)行補(bǔ)償。以這種方式,被監(jiān)控的設(shè)備可以在減少硬件構(gòu)件的功耗的同時為用戶提供增強(qiáng)了的性能。
權(quán)利要求支持:一個實施例描述了一種在包括至少一個處理器的計算機(jī)系統(tǒng)處被實施的用于捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù)的方法。所述方法包括:確定哪些熱修復(fù)126當(dāng)前正在被監(jiān)控的計算設(shè)備118上被實施,其中,熱修復(fù)是基于被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境127的;跟蹤當(dāng)前正在被監(jiān)控的計算設(shè)備118上被實施的那些熱修復(fù)126的熱修復(fù)水平116,其中,熱修復(fù)水平指示每個熱修復(fù)被實施的程度;針對被跟蹤的熱修復(fù)信息的包括與被監(jiān)控的計算設(shè)備的當(dāng)前的操作環(huán)境127有關(guān)的信息的那些部分過濾被跟蹤的熱修復(fù)水平;以及,將經(jīng)過濾的熱修復(fù)水平113存儲在數(shù)據(jù)儲存器112中。
在某些情況下,熱修復(fù)包括以下各項中的至少一項:降低cpu時鐘頻率、在cpu核之間移動工作項、使顯示器變暗、防止電池充電、降低網(wǎng)卡上的傳輸速率、禁用天線、禁用端口、降低照相機(jī)幀率、降低照相機(jī)分辨率或者改變硬件構(gòu)件或者平臺空閑狀態(tài)。所述方法還包括:確定熱修復(fù)數(shù)據(jù)是由操作系統(tǒng)(os)還是由計算機(jī)系統(tǒng)硬件獲得的。
在另一個實施例中,提供了一種計算機(jī)程序產(chǎn)品。所述計算機(jī)程序產(chǎn)品實施用于對熱修復(fù)未來進(jìn)行預(yù)測并且對其采取行動的方法。所述計算機(jī)程序產(chǎn)品包括具有被存儲在其上的計算機(jī)可執(zhí)行指令的一個或多個計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可執(zhí)行指令在被計算系統(tǒng)的一個或多個處理器執(zhí)行時,導(dǎo)致計算系統(tǒng)執(zhí)行方法,所述方法包括:確定被監(jiān)控的計算系統(tǒng)118的當(dāng)前的操作狀態(tài)127;確定至少一個操作狀態(tài)特性128已在被監(jiān)控的計算設(shè)備118上改變;訪問之前的熱修復(fù)水平114的指示,之前的熱修復(fù)水平指示每個熱修復(fù)126被實施的程度;回應(yīng)于被監(jiān)控的計算系統(tǒng)118的操作狀態(tài)特性128的改變生成哪些熱修復(fù)將被應(yīng)用的預(yù)測110;以及,實施在所生成的預(yù)測110中被識別的一個或多個可持續(xù)的熱修復(fù)。
在某些情況下,基于所生成的預(yù)測實施熱修復(fù)包括:改變一個或多個熱修復(fù)在被監(jiān)控的計算系統(tǒng)上被應(yīng)用的水平。確定至少一個操作狀態(tài)特性已在被監(jiān)控的計算系統(tǒng)上改變基于輪詢或者基于指定的事件的發(fā)生而發(fā)生。啟發(fā)法可以被用于對熱修復(fù)歷史進(jìn)行分析并且預(yù)測與熱修復(fù)有關(guān)的未來行為。被監(jiān)控的計算系統(tǒng)的操作系統(tǒng)基于所生成的預(yù)測實施一個或多個熱修復(fù)?;谝粋€或多個事件發(fā)生動態(tài)地更新所生成的預(yù)測。計算系統(tǒng)硬件或者固件的部分基于所生成的預(yù)測實施熱修復(fù)。所生成的預(yù)測包括指示針對將基于所生成的預(yù)測以特定方式被節(jié)流的多個的硬件片段的熱修復(fù)的信息。可持續(xù)的熱修復(fù)在被監(jiān)控的計算系統(tǒng)上的可允許的溫度被超過之前被應(yīng)用。
在另一個實施例中,提供了一種計算機(jī)系統(tǒng),其包括:一個或多個處理器102;用于從在被監(jiān)控的計算機(jī)系統(tǒng)118上運(yùn)行的應(yīng)用129接收一個或多個提示117的接收模塊104,提示提供應(yīng)用的未來處理行為的指示;預(yù)測生成模塊109,其用于回應(yīng)于所接收的指示應(yīng)用的未來處理行為的提示生成指示哪些熱修復(fù)126將被應(yīng)用的預(yù)測110;以及,用于實施在所生成的預(yù)測110中被識別的一個或多個可持續(xù)的熱修復(fù)的熱修復(fù)實施模塊111。
所述計算機(jī)系統(tǒng)進(jìn)一步將指示哪些熱修復(fù)將被實施的信息的部分發(fā)回應(yīng)用,并且信息的所述部分向應(yīng)用指示熱修復(fù)將如何被實施以及熱修復(fù)將被實施的程度,從而允許應(yīng)用相應(yīng)地作出響應(yīng)。
因此,提供了捕獲并且存儲與熱修復(fù)有關(guān)的歷史數(shù)據(jù)的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品。此外,提供了對熱修復(fù)進(jìn)行預(yù)測并且對其采取行動并且關(guān)于在計算機(jī)系統(tǒng)上被實施的熱修復(fù)與應(yīng)用通信的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品。
本文中描述的概念和特征可以以其它特定的形式被體現(xiàn),而不脫離它們的精神或者描述特性。所描述的實施例將在所有方面僅被認(rèn)為是說明性的而非限制性的。因此,本公開內(nèi)容的范圍由所附權(quán)利要求而非由前述說明指示。落在權(quán)利要求的等同項的意義和范圍內(nèi)的全部改變將被包括在它們的范圍內(nèi)。