專利名稱:喚醒主計算機系統(tǒng)以預(yù)取輔助計算設(shè)備的數(shù)據(jù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機系統(tǒng),尤其涉及用于在計算設(shè)備之間傳送信息的改進系統(tǒng)和方法。
背景技術(shù):
美國專利申請第10/429,930和10/429,932號一般針對具有用于提供某種輔助計算功能的輔助處理和輔助機制的計算機系統(tǒng)的概念。例如,在膝上型計算機的蓋子或邊上的小LCD可以為它的擁有者提供諸如會議位置和時間等有用信息,即使是在主計算機顯示器不容易可見時,如當膝上型計算機的蓋子關(guān)閉和/或主計算機斷電時。可提供諸如按鈕之類的控件以使用戶能夠與輔助設(shè)備交互來查看不同類型的數(shù)據(jù),諸如查看日程表數(shù)據(jù)中的附加約會、閱讀電子郵件消息、閱讀說明書、播放媒體等等。
與內(nèi)建在移動主機計算機中的輔助LCD屏幕有某種程度的相似,移動電話、音樂播放設(shè)備、袖珍型個人計算機、個人數(shù)字助理等等,在以物理方式和/或通過無線(例如藍牙或紅外)鏈路耦合到主計算機時,可以用作主計算機的輔助設(shè)備,只要將該設(shè)備編程為使它的顯示器和/或其它功能能夠和發(fā)自主計算機系統(tǒng)的數(shù)據(jù)一起使用。通常,具有實質(zhì)上能以任何方式與計算機系統(tǒng)接口的I/O能力的任何設(shè)備都有可能可以用作輔助計算設(shè)備。
主計算機系統(tǒng)具有輔助設(shè)備的一個顯著優(yōu)點在于即使主計算機完全被關(guān)閉或者處在各種睡眠狀態(tài)(例如,有可能是由ACPI,即高級配置和電源接口規(guī)范標準化的那些睡眠狀態(tài))之一中時仍可使某種信息可用。要理解這為什么是有利的,考慮在主計算機運行時,消耗了相當多的電源。電源消耗在處理如膝上型和基于圖形輸入板的計算設(shè)備等移動個人計算機時是個重要問題,因為用戶希望在重新充電之間有較長的電池壽命。通常,PC處在完全供電狀態(tài)(例如,對應(yīng)于ACPI的SO)中越長,則電池壽命越短。輔助設(shè)備通過使用戶能夠在訪問某些類型的信息時保持主計算機關(guān)閉來保存電源。輔助顯示的其它好處包括對信息的快速存取,例如,膝上型計算機不必打開它的蓋子來為用戶呈現(xiàn)信息、退出睡眠狀態(tài)、旋轉(zhuǎn)盤片等等。
然而,與不完全供電的主計算機相關(guān)聯(lián)的輔助設(shè)備被限制在用從主計算機系統(tǒng)最后一次開啟時高速緩存的數(shù)據(jù)和/或獨立于主計算機系統(tǒng)獲得的數(shù)據(jù)來操作。結(jié)果,高速緩存的數(shù)據(jù)可能是過時的,和/或高速緩存的數(shù)據(jù)可能不足以完成用戶想要執(zhí)行的某些任務(wù),諸如因為在輔助設(shè)備上的有限存儲器。所需要的是使輔助設(shè)備能夠訪問來自主計算機系統(tǒng)的數(shù)據(jù),同時以保存主計算機系統(tǒng)的電源的方式來這么做的方法。
發(fā)明內(nèi)容
簡言之,本發(fā)明提供用于輔助計算設(shè)備在需要時喚醒相關(guān)聯(lián)的主計算機系統(tǒng)以獲得數(shù)據(jù)的系統(tǒng)和方法。在輔助設(shè)備處對數(shù)據(jù)的需求可以是在需要時和/或在預(yù)期有需要的時候。主計算機系統(tǒng)的喚醒一般是臨時的,因此主計算機系統(tǒng)只消耗相對少量的電源,例如,通常對應(yīng)于喚醒主計算機系統(tǒng)至足以獲得數(shù)據(jù)的某種電源狀態(tài)的工作循環(huán)的電源量。
在一個實現(xiàn)中,當輔助設(shè)備需要數(shù)據(jù)時,輔助設(shè)備與主計算機系統(tǒng)之間的控制信道上的信號數(shù)據(jù)可用于喚醒主計算機系統(tǒng)。當將主計算機系統(tǒng)喚醒至足以獲得和發(fā)送數(shù)據(jù)的電源狀態(tài)時,主數(shù)據(jù)信道用于請求和接收數(shù)據(jù)。主計算機系統(tǒng)隨后或者通過它自己的機制,或者按照輔助設(shè)備的指示,返回至低功耗睡眠狀態(tài)。通過自動化喚醒主計算機系統(tǒng)以取得相關(guān)數(shù)據(jù)并且使主計算機系統(tǒng)恢復(fù)到低功耗狀態(tài)的過程,輔助設(shè)備可以有效地擁有當前數(shù)據(jù)并且能夠訪問比輔助設(shè)備可以局部高速緩存的大得多的數(shù)據(jù)量。
而且,可以充分利用主計算機系統(tǒng)的操作系統(tǒng)和/或應(yīng)用程序的全部能力,諸如使用主計算機系統(tǒng)的數(shù)字權(quán)限管理機制來訪問受保護的介質(zhì)數(shù)據(jù)。因而,在適當?shù)臅r候,充分利用而不是繞過包括操作系統(tǒng)、程序和其它組件的能力強大的主計算機系統(tǒng),使用主計算機系統(tǒng)獲得數(shù)據(jù)。
除了取得需要的數(shù)據(jù)之外,輔助設(shè)備在主計算機系統(tǒng)通電時可智能地請求附加的數(shù)據(jù)。例如,當播放音頻時,輔助設(shè)備可喚醒主計算機系統(tǒng)以接收下一組音軌。同時,輔助設(shè)備可在進一步的智能預(yù)取操作中請求日程表數(shù)據(jù)、電子郵件數(shù)據(jù)等等,即使該數(shù)據(jù)不是明確需要的。這樣的附加數(shù)據(jù)已經(jīng)被調(diào)度用于同步;如果是這樣,結(jié)合對其它數(shù)據(jù)的基于需求的需要獲得附加數(shù)據(jù)可以在下一個調(diào)度時間復(fù)位,從而進一步減少電源消耗。
通過結(jié)合附圖閱讀下面的詳細描述時,其它優(yōu)點將是顯而易見的,附圖中
圖1是表示可結(jié)合本發(fā)明的常規(guī)個人計算機系統(tǒng)形式的通用計算設(shè)備的框圖;圖2A-2E是概括地表示在各種設(shè)備上放置輔助顯示器的位置的示例性圖示;圖3是概括地表示按照本發(fā)明的一個方面的示例分層體系結(jié)構(gòu)的框圖,通過該體系結(jié)構(gòu),應(yīng)用程序可以與任意輔助顯示設(shè)備的固件交換數(shù)據(jù);圖4是概括地表示示例體系結(jié)構(gòu)的框圖,它示出輔助顯示平臺、設(shè)備固件/硬件,并且是按照本發(fā)明的一個方面構(gòu)造的;圖5和6表示在按照本發(fā)明的一個方面的替換示例實現(xiàn)中,有輔助意識的設(shè)備如何喚醒主計算機系統(tǒng);圖7是概括地表示按照本發(fā)明的一個方面,在已經(jīng)喚醒主計算機系統(tǒng)時提供輔助數(shù)據(jù)的應(yīng)用程序。
具體實施例方式
示例性操作環(huán)境圖1是表示其中可結(jié)合本發(fā)明的主個人計算機系統(tǒng)形式的計算設(shè)備120的框圖。本領(lǐng)域的技術(shù)人員將意識到,圖1所示的個人計算機系統(tǒng)120的目的只是說明性的,并且本發(fā)明可用其它計算機系統(tǒng)配置來實施,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機、大型機、無頭服務(wù)器等等。本發(fā)明還可在分布式計算環(huán)境中實施,其中任務(wù)是由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備來執(zhí)行的。在分布式計算環(huán)境中,程序模塊可位于本地或遠程存儲器存儲設(shè)備中。
個人計算機系統(tǒng)120包括處理單元121、系統(tǒng)存儲器122和將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合到處理單元121的系統(tǒng)總線123。系統(tǒng)總線123可以是若干種總線結(jié)構(gòu)中的任一種,包括存儲器總線或存儲器控制器、外設(shè)總線以及使用任何各種總線體系結(jié)構(gòu)的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM)124和隨機存取存儲器(RAM)125。基本輸入/輸出系統(tǒng)126(BIOS)包含諸如在啟動時幫助在個人計算機120內(nèi)的元素之間傳送信息的基本例程,存儲在ROM 124中。個人計算機120還可包括用于讀寫硬盤(未示出)的硬盤驅(qū)動器127、讀寫可移動磁盤129的磁盤驅(qū)動器128以及讀寫可移動光盤131如CD-ROM或其它光介質(zhì)的光盤驅(qū)動器130。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別通過硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器134連接到系統(tǒng)總線123。驅(qū)動器及其相關(guān)聯(lián)的計算機可讀介質(zhì)為個人計算機120提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。盡管在此描述的示例性計算機系統(tǒng)使用硬盤、可移動磁盤129和可移動光盤131,但本領(lǐng)域的技術(shù)人員應(yīng)該意識到,可存儲由計算機訪問的數(shù)據(jù)的其它類型的計算機可讀介質(zhì),諸如磁帶盒、閃存卡、數(shù)字視頻盤、Bernoulli盒、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等也可用于示例性計算機系統(tǒng)。
多個程序模塊可存儲在硬盤、磁盤129、光盤131、ROM 124或RAM 125上,包括操作系統(tǒng)135(諸如WindowsXP)、一個或多個應(yīng)用程序136(諸如MicrosoftOutlook)、其它程序模塊137和程序數(shù)據(jù)138。用戶可通過鍵盤140和定點設(shè)備142將命令和信息輸入到個人計算機120中。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備常常通過串行端口接口146(它耦合到系統(tǒng)總線)連接到處理單元121,但也可通過其它接口,如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)示器147或其它類型的顯示設(shè)備也通過接口,如視頻適配器148連接到系統(tǒng)總線123。除監(jiān)示器147外,個人計算機一般包括其它外圍輸出設(shè)備(未示出),諸如揚聲器和打印機。輔助顯示器/設(shè)備200是附加輸出設(shè)備,并且可以例如通過輔助顯示器接口155連接到系統(tǒng)總線123。
輔助顯示器也可通過串行接口或通過其它接口,如并行端口、游戲端口、紅外或無線連接、串行通用總線或其它外圍設(shè)備連接來連接到主計算設(shè)備120。圖1中的輸入設(shè)備201可提供一個或多個激勵器以與輔助顯示器200接口和/或控制輔助顯示器200,并且例如可以是輔助顯示設(shè)備的一部分,但可替換地,可獨立于它并且通過輸入設(shè)備接口156(可以是串行接口)或者通過其它接口,如并行端口、游戲端口、紅線或紅外連接、通用串行總線(USB)或其它外圍設(shè)備連接來連接到系統(tǒng)總線123。
個人計算機120可使用到一個或多個遠程計算機,如遠程計算機149的邏輯連接在網(wǎng)絡(luò)化環(huán)境中運行。遠程計算機149可以是另一個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,并且一般包括上面相對于個人計算機120所述的許多或全部元件,盡管在圖1中只例示了存儲器存儲設(shè)備150。圖1所示的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是很常見的。
當在LAN網(wǎng)絡(luò)環(huán)境中使用時,個人計算機120通過網(wǎng)絡(luò)接口或適配器153連接到本地網(wǎng)絡(luò)151。當在WAN網(wǎng)絡(luò)環(huán)境中使用時,個人計算機120一般包括調(diào)制解調(diào)器154或用于通過廣域網(wǎng)152如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器154可以是內(nèi)置或外置的,它通過串行端口接口146連接到系統(tǒng)總線123。在網(wǎng)絡(luò)化環(huán)境中,相對于個人計算機120描述的程序模塊或其部分可存儲在遠程存儲器存儲設(shè)備中。將意識到,所示的網(wǎng)絡(luò)連接是示例性的,并且可以使用在計算機之間建立通信鏈路的其它手段。
應(yīng)該注意,按照本發(fā)明,計算機系統(tǒng)不需要輔助設(shè)備運行所需的全部功能。實際上,輔助設(shè)備在計算機斷電時仍可運行,至少在默認的程度或者由用戶配置的程度上,諸如當計算機系統(tǒng)處于睡眠狀態(tài)或冬眠模式中時,和/或當用戶還沒有登錄上來或通過安全機制被鎖在系統(tǒng)之外時。
輔助顯示器/設(shè)備200可在主顯示器關(guān)閉或者不運行(例如,斷開)時補充主顯示器并且也可用作代用顯示器,以向用戶給予一些信息。例如,諸如當主顯示器關(guān)閉和/或不太容易看見(例如,膝上型計算機的蓋子關(guān)閉著)時,關(guān)于如何給主顯示器通電的信息可能是有幫助的,如用戶可以查看到的連接到移動計算機的輔助顯示器上顯示會議的房間號和/或方向。輔助設(shè)備可播放音頻和/或視頻、顯示圖象、顯示日程表信息、顯示電子郵件等等。
為在這些斷電模式下啟用和控制通信,可以有存儲在非易失性存儲器中的固件,它在被載入并由次級處理器操作時啟用輔助顯示器以及要使用的其它輔助組件,只要有部分電源可用即可。注意,如在此使用的術(shù)語“固件”和“設(shè)備硬件”實質(zhì)上是等價的,并且通??梢砸暈楸硎据o助存儲器、其中的代碼和/或運行代碼的輔助處理器。
圖2A-2E分別示出用于放置輔助顯示器屏幕200a-200e的、在計算設(shè)備上或者與計算設(shè)備相關(guān)聯(lián)的示例性位置。如圖2A和2B所示,輔助顯示器屏幕200a可放在獨立(陸線或移動)電話202的前面、后面或其它面上,(這不需要物理地耦合,如果諸如通過藍牙技術(shù)進行了連接),和/或其它輔助顯示器屏幕200b放在移動計算機204或圖形輸入板計算設(shè)備(未示出)的邊緣或蓋子上。用于輔助顯示器屏幕200c的另一位置(圖2C)可以是在安裝在計算機上的電話或者在附著到計算機的外圍設(shè)備,如監(jiān)示器206上或鍵盤(未示出)上。圖2D和2E示出輔助顯示器屏幕200d和200e的其它放置,分別是放在連接到計算機的獨立控制臺208的前面板上,或者放在某種其它機殼210(諸如用于主板的機殼)上。本領(lǐng)域的技術(shù)人員將意識到,輔助顯示器屏幕可放在任何計算設(shè)備或者具有顯示能力的其它設(shè)備的任何表面上,諸如放在具有與計算機的無線或其它連接的表上、放在遠程控制設(shè)備上、放在遠程裝在墻上的單元上等等。實際上,輔助顯示器不需要物理地靠近主計算機系統(tǒng),因為連接可以通過LAN或WAN,甚至是通過因特網(wǎng)。
如通過圖2A-2E應(yīng)該明白的,輔助顯示器可以是許多已知類型顯示器的形式,諸如一個或多個LED,2行字母數(shù)字顯示器、單色顯示器或者彩色顯示器。本領(lǐng)域的技術(shù)人員將意識到,本發(fā)明也可使用其它計算或通信設(shè)備的顯示器,如輔助顯示器200。這些其它計算或通信設(shè)備包括通用計算機、蜂窩電話和諸如尋呼機或個人數(shù)字助理(PDA)等手持設(shè)備。另外,本發(fā)明可使用在計算設(shè)備120的屏幕上顯示區(qū)域內(nèi)實現(xiàn)的虛擬輔助顯示器(例如,圖形用戶界面的屏幕保護程序或組件)作為輔助顯示器200,包括在用戶登錄之前。輔助顯示器200可包括任何上述形式的組合,并且也可在物理上或邏輯上與如一個或多個LED等指示器組合和/或結(jié)合虛擬輔助顯示器使用。
輔助設(shè)備可甚至在沒有屏幕或者當它的屏幕斷電時提供功能。例如,輔助設(shè)備可播放音頻、收集數(shù)據(jù)(例如,用于以后傳送回主計算機系統(tǒng))、執(zhí)行計算等等。而且,顯示器可包括一個或多個LED等等而不是包括完整的屏幕。因而,盡管因擁有輔助顯示器屏幕而帶來許多好處和優(yōu)點,且因此輔助設(shè)備在此可稱為輔助顯示器,但顯示器不是必需的。通常,如在此所指的輔助顯示器實際上可由可以感知的任何東西構(gòu)成,包括任何可視的、可聽到的和/或可觸知的表示。
喚醒以為輔助設(shè)備預(yù)取數(shù)據(jù)如將理解的,本發(fā)明為用戶提供輔助設(shè)備200以簡單和快速地與輔助信息交互。按照本發(fā)明,輔助設(shè)備連接到的主計算機系統(tǒng)(例如圖1的計算機系統(tǒng)120)在這樣的用戶與輔助設(shè)備200交互期間可處在睡眠狀態(tài)中,諸如為了保存電源。注意,如在此使用的,睡眠狀態(tài)可以是輔助設(shè)備可以將計算機系統(tǒng)從中喚醒的任何狀態(tài),它可對應(yīng)于允許計算機系統(tǒng)進入減少功率狀態(tài)的任何體系結(jié)構(gòu),包括但非必要地,ACPI類型的體系結(jié)構(gòu)。
按照本發(fā)明各種方面,當輔助設(shè)備200需要附加數(shù)據(jù)時,輔助設(shè)備200喚醒主計算機系統(tǒng)120并且獲得附加數(shù)據(jù),在此之后主計算機系統(tǒng)120一般返回到睡眠狀態(tài)。盡管在此將使用可視數(shù)據(jù)、音頻節(jié)目數(shù)據(jù)和通知來說明信息的輔助演示,但應(yīng)該理解,本發(fā)明不限于輸出任何特定類型的數(shù)據(jù)。也將意識到,輔助顯示器200可使用任何數(shù)量的已知類型的顯示器,諸如一組通知燈、2行字母數(shù)字顯示器、單色顯示器或彩色顯示器來運行。注意,如在此使用的,為了簡明起見,“輔助顯示設(shè)備”一般指輔助顯示屏幕和/或與該屏幕以及設(shè)備中的任何其它硬件、固件或軟件相關(guān)聯(lián)的激勵器,然而應(yīng)該注意,屏幕和激勵器可以是獨立的機制,和/或可以沒有要求物理接觸來輸入數(shù)據(jù)的激勵器。此外注意到,輔助顯示設(shè)備200可被視為有可能包含除像素型的顯示屏幕之外的指示器(例如獨立的LED),或者代替像素型顯示屏幕。
而且,如將理解的,有許多類型的設(shè)備可以用作輔助顯示設(shè)備,包括不必有顯示器但可以提供某種輸出,如聲音或光的那些設(shè)備。盡管在此使用了許多示例,包括在膝上型計算機蓋子上的顯示器、移動電話、袖珍型個人計算機、基于數(shù)字圖象的相框、廚房顯示器、電視機、媒體播放器、包括鬧鐘的時鐘、表等等,但本發(fā)明不限于任何這些示例,而是預(yù)期使用能夠輸出感覺信息的任何設(shè)備,即使是在被稱為輔助“顯示器”時。例如,其它類型的設(shè)備包括嵌入在消費者電子設(shè)備(諸如冰箱、家庭影院接收器、DVD播放器等等)中的主顯示器、墻面顯示器、汽車、運輸或其它車輛單元(例如,使用已經(jīng)在汽車/火車/飛機內(nèi)的顯示器作為輔助顯示器)、主計算機系統(tǒng)的鍵盤或其它輸入設(shè)備、PDA(包括非蜂窩電話PDA)等等內(nèi)或使用它們的輔助設(shè)備。
同樣,本發(fā)明不限于用于將輔助顯示器耦合到另一計算機系統(tǒng)的任何特定機制,并且因此不限于在此使用的有線或無線示例。連接可相對接近或者相對遠,實質(zhì)上可在任何地方,諸如通過因特網(wǎng)的虛擬專用連接。
轉(zhuǎn)到附3,示出了一個示例實現(xiàn),它通過輔助顯示器API集304向客戶機程序揭示了輔助設(shè)備300和/或301,客戶機程序包括在主計算機系統(tǒng)(例如120)上運行的應(yīng)用程序302和其它程序(例如操作系統(tǒng)組件)。API集304提供各種功能的API,包括向系統(tǒng)注冊客戶機應(yīng)用程序306(程序的組件或者有可能是程序本身)、發(fā)送內(nèi)容至附加設(shè)備、發(fā)送通知至附加設(shè)備、以及從附加設(shè)備接收事件。事件可包括導(dǎo)航事件、內(nèi)容請求事件、內(nèi)容改變事件等等。
按照本發(fā)明的一個方面,API集304的使用只向客戶機程序揭示了“輔助顯示系統(tǒng)”;沒有對各個設(shè)備的直接訪問。結(jié)果,對于各個軟件銷售商,在將程序組件注冊為客戶機應(yīng)用程序306(通過API集304)之后,可使用對同一API集304的另一個調(diào)用將內(nèi)容發(fā)送到任何輔助設(shè)備,而不管設(shè)備的實際類型和性能如何。盡管用戶經(jīng)歷可能不同,但程序不需要為現(xiàn)有的輔助設(shè)備進行調(diào)整。注意,盡管應(yīng)用程序可以獲得有關(guān)輔助設(shè)備的性能信息,并且可基于性能選擇不同的行為,但應(yīng)用程序不需要為了使用設(shè)備而這么做。這是因為體系結(jié)構(gòu)處理進一步的通信,使應(yīng)用程序免于復(fù)雜任務(wù),包括調(diào)整數(shù)據(jù)以適合特定設(shè)備。
API層304被寫在便攜設(shè)備API集310上,它通過用戶模式驅(qū)動程序框架312與設(shè)備的驅(qū)動程序過程通信。便攜設(shè)備API集310將輔助顯示器映射到便攜設(shè)備的類別,并且它允許枚舉設(shè)備的性能。這被封裝在用戶模式驅(qū)動程序內(nèi),且沒有必要向客戶機應(yīng)用程序306揭示。
通常,客戶機應(yīng)用程序306將通知直接發(fā)送到輔助設(shè)備300(和/或設(shè)備301)。輔助設(shè)備能夠顯示通知,并且能夠基于從主計算機系統(tǒng)提供的數(shù)據(jù)生成它自己的通知。圖3中所示的其它(可任選的)組件包括可以在輔助顯示器上提供通知的通知客戶機程序316。例如,即使當如日程表程序等應(yīng)用程序不在運行時,也可能希望提供對應(yīng)于該程序的已調(diào)度通知;通知客戶機程序316允許這樣的情況。輔助設(shè)備還可以高速緩存和輸出與主計算機系統(tǒng)狀態(tài)無關(guān)的通知。注意,通常在應(yīng)用層之下和在設(shè)備驅(qū)動程序324與325之上的組件一般稱為“輔助顯示器平臺”。
通常,每個輔助設(shè)備銷售商提供對應(yīng)的輔助設(shè)備驅(qū)動程序324,盡管如果以某種方式構(gòu)建設(shè)備,則設(shè)備驅(qū)動程序可由輔助顯示器平臺的供應(yīng)商提供。更具體地,如下所述,某些類型的輔助設(shè)備被視為“增強型”設(shè)備,因為它們是用通常尤其與可以通過API集304接收的任何信息兼容的某種固件來配置的。對于這樣的設(shè)備,設(shè)備驅(qū)動程序325可以是一般的,(且因此可由輔助顯示器平臺供應(yīng)商提供),通常用于完成某種直截了當?shù)娜蝿?wù),諸如將API接收的信息轉(zhuǎn)換成輔助設(shè)備固件所理解的專用格式。對于其它輔助設(shè)備,在此稱為“基本”設(shè)備,驅(qū)動程序需要與設(shè)備的性能兼容,并且因此輔助設(shè)備銷售商需要提供為該設(shè)備或該類設(shè)備定制的驅(qū)動程序。
在任何情況下,用戶模式驅(qū)動程序框架提供設(shè)備驅(qū)動程序接口(DDI),用于將設(shè)備驅(qū)動程序(例如324和325)耦合到輔助顯示器平臺。驅(qū)動程序隨后將對應(yīng)于API接收信息的數(shù)據(jù)轉(zhuǎn)發(fā)(和返回)到合適的硬件接口(傳送器),用于發(fā)送到輔助顯示設(shè)備。例如,在圖3中,基本設(shè)備驅(qū)動程序324被示為將數(shù)據(jù)(通過預(yù)定義的協(xié)議)轉(zhuǎn)發(fā)到用于與設(shè)備300的無線(例如,藍牙、Wi-Fi、AM/FM紅外等等)通信的遠程堆棧和驅(qū)動程序327,而增強型設(shè)備驅(qū)動程序325被示為將數(shù)據(jù)轉(zhuǎn)發(fā)至基于USB的硬件328,盡管包括如基于TCP/IP的傳送器等網(wǎng)絡(luò)傳送器的其它類型的傳送器是可行的。注意,用戶模式驅(qū)動程序可為所有增強型顯示器工作,而不管連接類型如何,然而,有可能更直截了當?shù)貙γ吭O(shè)備每連接類型使用一種驅(qū)動程序。如理解的,這些連接只為了示例目的而示出,因為任何設(shè)備驅(qū)動程序?qū)⑥D(zhuǎn)發(fā)(和返回)數(shù)據(jù)用于在適當時候的無線或有線通信。
還要注意到,如圖3所示,多個設(shè)備可耦合到計算機,同時用作輔助顯示器。用戶可配置(例如通過系統(tǒng)數(shù)據(jù)提供者308的控制面板等)哪個客戶機應(yīng)用程序的數(shù)據(jù)在哪些設(shè)備上顯示。系統(tǒng)數(shù)據(jù)提供者308還向輔助顯示器提供系統(tǒng)信息,諸如時間數(shù)據(jù)、無線信號強度數(shù)據(jù)、計算機的音頻音量和靜音狀態(tài)和/或電池電量數(shù)據(jù)。在一個實現(xiàn)中,每當客戶機應(yīng)用程序306發(fā)送內(nèi)容時,輔助顯示器平臺咨詢系統(tǒng)維護的矩陣以確定哪個或哪些設(shè)備要接收信息。不同設(shè)備類型的內(nèi)容的某種轉(zhuǎn)換可在這個層次發(fā)生,并且有可能在設(shè)備驅(qū)動程序?qū)哟沃系钠渌鼘哟魏驮谠O(shè)備驅(qū)動程序中發(fā)生,如下文所描述的。輔助顯示器平臺的API也將事件等從輔助設(shè)備發(fā)送到應(yīng)用客戶機應(yīng)用程序,再次在合適的時候使用矩陣將事件路由回客戶機應(yīng)用程序(或多個客戶機應(yīng)用程序)。
如也在圖3所示的,“增強型”顯示器301是運行在此稱為輔助顯示器平臺的特定固件堆棧的顯示器。例如,在一個當前的實現(xiàn)中,這一固件堆棧包括TinyCLR組件并且支持TinyCLR對象串行化。
在圖3所示的示例實現(xiàn)中,為導(dǎo)航和顯示高速緩存的內(nèi)容,設(shè)備應(yīng)用程序369和外殼370在TinyCLR框架374和組件376上運行,它解釋、導(dǎo)航和顯示數(shù)據(jù)。通常,外殼370提供主頁、非客戶機區(qū)域(當顯示器開著時,在設(shè)備屏幕上的一個始終可見的區(qū)域,不管什么其它內(nèi)容正在設(shè)備上顯示,一般用于顯示普通需要的東西,諸如時鐘、電池指示器、網(wǎng)絡(luò)指示器)、菜單和輔助顯示設(shè)備的普通觀感。提供的數(shù)據(jù)可以是屏幕的有向圖形式的,或者被修改成屏幕的有向圖,其每一個是由TinyCLR表單對象為根的TinyCLR視圖對象的可視樹。外殼層從固件的較低層接收按鈕事件、解釋它們、并且在適當?shù)臅r候在數(shù)據(jù)中導(dǎo)航。外殼370還如上所述通過輔助顯示器平臺從主計算機系統(tǒng)接受通知請求,并且當它從高速緩存管理器372了解到需要內(nèi)容時(例如缺少時)發(fā)出請求至主計算機系統(tǒng)以提供新內(nèi)容。外殼370還顯示定時通知,它可以在不連接主計算機系統(tǒng)時發(fā)生。注意,呈現(xiàn)引擎370是可擴展的,使得應(yīng)用程序可提供設(shè)備應(yīng)用程序369形式的自定義代碼,它能夠呈現(xiàn)該應(yīng)用程序的數(shù)據(jù)。
離線高速緩存管理器372包括寫在TinyCLR 376之上的程序集,它管理存儲在設(shè)備上的數(shù)據(jù)項的高速緩存。這個組件還執(zhí)行某種存儲器管理,處理系統(tǒng)應(yīng)用程序可提供比設(shè)備能存儲的更多數(shù)據(jù)的事實。如果固件修改了數(shù)據(jù)高速緩存,則這個組件跟蹤該信息,并且發(fā)送事件至系統(tǒng)上的應(yīng)用程序,以使如果主計算機系統(tǒng)在線則讓它立即知道,或者如果沒有在線,當機器回到在線時讓它知道。高速緩存管理器372可通過接口被展示給驅(qū)動程序360。
圖4示出設(shè)備固件和硬件,包括顯示面板和控制器490、輔助處理器491和存儲器492。注意,制造商可添加其它組件。在硬件組件之上,HAL 479(即硬件抽象層)允許以硬件無關(guān)方式來編寫較高層代碼。如在此使用的,術(shù)語“高層”和“低層”、“上面”和“下面”等在涉及代碼堆棧時與在其它計算場景中使用的相似,其中,通常軟件組件相對于較高組件越低,則較低組件離硬件越近。圖4通常相應(yīng)于圖3的大部分固件堆棧,不同之處在于例如獨立的HAL 479和圖4的驅(qū)動程序4771-4772之一一起在圖3中被示為組件378,并且另一個應(yīng)用程序400也在圖4中示出。
在HAL上面是驅(qū)動程序4771-4772,盡管可能有更多(或更少)的驅(qū)動程序。在驅(qū)動程序上面,其它設(shè)備軟件包括公共語言運行庫(CLR),如TinyCLR 376,它包括.NET公共語言運行時環(huán)境的相對較小規(guī)模的實現(xiàn)。在公共語言運行庫上運行的受管代碼將在公共語言運行庫運行所在的任何平臺上運行,由用于該平臺的HAL(硬件抽象層)例如,用于基于ARM7芯片的平臺的HAL,使該平臺成為可能。因為大部分固件是受管代碼編寫的,所以它也獨立于它運行所在的硬件類型。通過控制設(shè)備固件的大部分并且在體系結(jié)構(gòu)中包括HAL和CLR,設(shè)備制造商可重復(fù)使用現(xiàn)有軟件而沒有任何修改,這對于在用作輔助顯示器的各種類型設(shè)備之間提供高質(zhì)量、一致的體驗是重要的。
應(yīng)用程序402可以是用高速緩存的數(shù)據(jù)工作的應(yīng)用程序。某些諸如為了性能原因不能用受管代碼編寫的應(yīng)用程序可以用諸如C或C++等本機代碼來編寫,并且實質(zhì)上擴展了CLR。例如,如果通過CLR從應(yīng)用程序級緩沖區(qū)復(fù)制到低層數(shù)字信號處理緩沖區(qū)的話,高速介質(zhì)緩沖不能足夠快地完成。為了避免這樣一個復(fù)制損失,CLR中的本機代碼可填充單一的緩沖區(qū)組。輔助外殼370和框架庫374也在圖4中示出。
如在此所述的,內(nèi)容因此可被下載到輔助設(shè)備上的高速緩存中,并且輔助設(shè)備本身隨后將在需要時處理該內(nèi)容。注意,這允許斷開的使用,并且允許使在系統(tǒng)上運行的多個應(yīng)用程序提供內(nèi)容,通常一次運行一個應(yīng)用程序以訪問在輔助顯示器上高速緩存的內(nèi)容。
按照本發(fā)明的各種方面,為保存功率,主計算機系統(tǒng)120可維持在減少功率的睡眠狀態(tài)中,并且只有在需要給輔助設(shè)備(例如設(shè)備301)提供數(shù)據(jù)時才被喚醒。注意,輔助設(shè)備301可具有獨立的電源,或者可與主計算機系統(tǒng)共享同一電源,諸如在內(nèi)建在膝上型計算機蓋子中的LCD輔助顯示器的情況下。無論如何,即使共享,輔助設(shè)備301通常也比主計算機系統(tǒng)120在進入睡眠狀態(tài)時所消耗的功率要少得多,例如,在睡眠狀態(tài)中,主計算機系統(tǒng)的大多數(shù)組件設(shè)備被關(guān)閉。只有在輔助設(shè)備301需要時才喚醒主計算機系統(tǒng)120結(jié)果比在那些組件設(shè)備運行時消耗明顯少的功率。
在一個實現(xiàn)中,上面一般地參考圖3和4描述的輔助體系結(jié)構(gòu)可用于使輔助設(shè)備301在主計算機系統(tǒng)的CPU/操作系統(tǒng)和應(yīng)用程序處在睡眠狀態(tài)中時保持運行。為準備這樣的獨立操作,當被喚醒并連接到輔助顯示器301時,主計算機的操作系統(tǒng)和應(yīng)用程序可準備數(shù)據(jù)高速緩存和其它信息,隨后將它們傳送到輔助存儲492(圖4)以在主計算機系統(tǒng)120處在睡眠狀態(tài)中時使用。可壓縮所傳送的數(shù)據(jù)以減少其尺寸,這在連接具有有限帶寬時特別有價值。注意,按照本發(fā)明的各種方面,盡管在其它示例中完全獨立的操作是有可能的,但在這里描述的本例中,主計算機系統(tǒng)120和輔助設(shè)備301保持連接(或者至少不時重新連接)。因此,在填充高速緩存之后的某個時候,主計算機系統(tǒng)120進入睡眠狀態(tài)。
通過高速緩存的數(shù)據(jù),輔助設(shè)備301可在主計算機系統(tǒng)120處在睡眠狀態(tài)中的同時完成輔助計算功能。在某個稍后的時候,輔助計算機系統(tǒng)301可能需要比當前高速緩存的更多的信息。一個典型的示例是當輔助設(shè)備正在快速地處理相對大量的數(shù)據(jù)的時候,諸如當從相對有限尺寸的高速緩存播放媒體的時候。然而,其它典型示例包括由于任何原因,諸如更新日程表數(shù)據(jù)、下一個電子郵件消息等等,處理對在輔助設(shè)備上沒有高速緩存的相當少量數(shù)據(jù)的請求。
按照本發(fā)明,當這樣一個數(shù)據(jù)需求發(fā)生時,輔助設(shè)備301喚醒主計算機系統(tǒng)120。為此,并且如在圖5和6中一般所示的,輔助設(shè)備(例如501或601)以這樣一種方式耦合到主計算機系統(tǒng)120,即允許輔助設(shè)備301喚醒主計算機系統(tǒng)120至某種操作狀態(tài),其中可以將所請求的數(shù)據(jù)傳送到輔助設(shè)備用于高速緩存。如可以容易地意識到的,輔助設(shè)備也可喚醒主計算機系統(tǒng)120來向其傳送數(shù)據(jù),即,主要在其它方向上傳送數(shù)據(jù),諸如如果輔助設(shè)備正在存儲數(shù)據(jù)到主計算機系統(tǒng)上,(如果從如到輔助設(shè)備的網(wǎng)絡(luò)連接等另一個源接收到數(shù)據(jù)時,這是需要的)。
注意,請求數(shù)據(jù)以重新填充(部分或全部)高速緩存可不基于實際需求,而是基于預(yù)期的需求,并且可請求比實際需要的更多的數(shù)據(jù)。例如,可在音頻數(shù)據(jù)實際將要被處理成輸出音頻之前適當?shù)卣埱笠纛l數(shù)據(jù)流,即,預(yù)先緩沖數(shù)據(jù)以提供不中斷的音頻。同樣,如果用戶請求日程表數(shù)據(jù)或電子郵件消息,則對于預(yù)期的可能需求,可請求接近所請求數(shù)據(jù)的其它數(shù)據(jù)(例如,所請求日期前后的日程表數(shù)據(jù),同一時間附近接收的電子郵件等等)。相似的時間標記不是預(yù)期需求的唯一準則,例如,用戶可按照某種其它準則,如發(fā)送者身份來過濾電子郵件消息或日程表,并且智能預(yù)取可以獲得那些發(fā)送者的電子郵件。本領(lǐng)域的技術(shù)人員將認識到,可使用任何高速緩存算法/機制,并且本發(fā)明不限于任何特定的方法(或多個方法)來高速緩存數(shù)據(jù),包括在此例示的一切。
在如圖5概括地表示的一個實現(xiàn)中,當需要更多數(shù)據(jù)時,輔助設(shè)備(在本例中標簽為501)喚醒主計算機系統(tǒng)120的一種方法是通過將主計算機系統(tǒng)120中的喚醒機制552耦合到輔助設(shè)備501中的喚醒機制554的控制信道。如圖5所示,控制信道可與用于發(fā)送所請求數(shù)據(jù)的通信信道分開。
作為示例,當一個閉合的物理連接存在時,SMBUS(已經(jīng)用于如打開膝上型計算機的蓋子等喚醒事件)可耦合到輔助設(shè)備501作為控制信道,通過該控制信道,輔助設(shè)備通常可控制主計算機系統(tǒng)120的睡眠狀態(tài)。使用SMBUS的優(yōu)點是,對于基于ACPI的當代主計算體系結(jié)構(gòu),喚醒機制552已經(jīng)被內(nèi)建在主計算機系統(tǒng)120中,通過它可控制睡眠狀態(tài),包括將主計算機系統(tǒng)120置于睡眠狀態(tài)中,在睡眠狀態(tài)中,大多數(shù)組件如網(wǎng)卡、調(diào)制解調(diào)器、USB控制器等等都斷電。這種解決方案的一個缺點是,要求到SMBUS的某種物理連接,對于被設(shè)計成與遠程使用的計算機系統(tǒng)耦合和去耦合的許多類型的輔助顯示設(shè)備,諸如移動電話、遠程音頻播放器和數(shù)字相框并不能起很好的作用;這是通過有線協(xié)議(例如USB設(shè)備等)或無線協(xié)議(例如,藍牙,AM/FM,802.11或802.16,紅外等)耦合的情況。
對于這樣的可分開設(shè)備,提供將喚醒信息傳遞至主計算機系統(tǒng)的喚醒機制的另一種方法。這可以是有線或無線的,和/或通過用作主數(shù)據(jù)信道的同一連接。換言之,到喚醒機制的控制信道可與數(shù)據(jù)信道分開,但可通過同一類型的連接。圖6表示共享一種連接類型的主數(shù)據(jù)信道和控制信道。
例如,USB連接、藍牙連接、電話連接、紅外信號、有關(guān)的網(wǎng)絡(luò)活動等可用于喚醒主計算機系統(tǒng),與喚醒連接(控制信道)是否也是用作主數(shù)據(jù)信道的同一連接無關(guān),主數(shù)據(jù)信道用于在主計算機系統(tǒng)120與輔助設(shè)備(在本例中標簽為601)之間傳送數(shù)據(jù)。注意,如果這些機制之一用于具有當前基于ACPI的體系結(jié)構(gòu)的控制信道,則不能將主計算機置于睡眠狀態(tài)中,這將在適當?shù)臅r候關(guān)閉控制信道,例如,USB控制器、藍牙無線電、網(wǎng)卡和/或調(diào)制解調(diào)器。但是,本發(fā)明在這樣的情況下仍節(jié)省功率,并且此外,不限于任何當代的(例如基于ACPI的)體系結(jié)構(gòu)相對于它的睡眠狀態(tài);計算體系結(jié)構(gòu)將有可能擴展到允許其它類型的喚醒機制。
例如,主計算機系統(tǒng)體系結(jié)構(gòu)可被(包括由用戶)配置為進入睡眠狀態(tài),在該狀態(tài)中,喚醒機制是唯一消耗功率的組件,但仍可由(例如非SMBUS)信號喚醒,進而喚醒整個機器。注意,即使控制信道不是SMBUS,喚醒機制可接收這樣的喚醒相關(guān)的信號,且隨后使用到SMBUS的連接來喚醒機器。而且,即使先前在主計算機系統(tǒng)進入睡眠時沒有耦合到輔助設(shè)備,只要控制信道在運行并且喚醒機制開著(或者可以通過如接近感應(yīng)來通電),輔助設(shè)備仍可喚醒它的主計算機系統(tǒng)。如無線電等在非常低功耗狀態(tài)中醒來或保持在這種狀態(tài)中(諸如等待檢測輔助設(shè)備的低供電藍牙堆棧)的自我供電機制可用于喚醒機器,如可具有低供電控制器,它檢測輔助設(shè)備到主計算機系統(tǒng)的物理耦合。
無論如何,當主計算機系統(tǒng)醒著時,所需要的數(shù)據(jù)通過數(shù)據(jù)信道傳送到輔助設(shè)備(反之亦然)。對于輔助設(shè)備請求的數(shù)據(jù),可高速緩存和所需要的一樣多的數(shù)據(jù),加上在智能高速緩存用于預(yù)期需求時有可能更多的數(shù)據(jù)。
本發(fā)明的另一個方面是輔助設(shè)備可充分利用主計算機系統(tǒng)在醒著時的全部能力。例如,輔助設(shè)備(例如301)不需要具有它自己的硬盤驅(qū)動器來控制相對大量的數(shù)據(jù),而是可在需要時使用主計算機系統(tǒng)的硬盤驅(qū)動器。而且,輔助顯示器301可使用主計算機系統(tǒng)120的全部數(shù)字權(quán)限管理組件。如可以容易地意識到,當耦合到主計算機系統(tǒng)102時,功能強大的媒體播放器因此可內(nèi)建到輔助設(shè)備301中,而沒有硬盤驅(qū)動器和數(shù)字權(quán)限管理組件的花費,這在當今這樣的便攜設(shè)備中是相當大的花費。同時,只要輔助設(shè)備301具有相對合理數(shù)量的緩沖空間,主計算機系統(tǒng)可在部分時間睡著,從而為媒體播放器提供相對長壽命的電源。預(yù)先取計算或操作是有用的。作為示例,考慮歌曲列表,即使預(yù)先被打亂。如果預(yù)先知道這個列表且輔助設(shè)備可以處理多個音軌,則不需要每個音軌地取,而是盡可能地取以最小化所需要的喚醒數(shù)量(除非用戶交互和改變排序)。
如可以容易地意識到的,節(jié)省的功率的量對應(yīng)于喚醒主計算機系統(tǒng)120的工作循環(huán);即,CPU醒著、盤旋轉(zhuǎn)等的時間百分比越小,則節(jié)省越多功率。因而,主計算機系統(tǒng)120可以被配置成在進入睡眠狀態(tài)時維持某種電源給它的主存儲器或其它高速緩存,或者使用某種數(shù)量的非易失性存儲如閃存,使得不太頻繁地旋轉(zhuǎn)盤驅(qū)動器,但仍按需提供所需要的數(shù)據(jù)。通電的硬件越少,節(jié)省的功率也就越多,例如,只要有可能,檢索所需數(shù)據(jù)的某個最小值,避免給顯示器、網(wǎng)卡、LED和/或其它類似組件通電,這一般是希望的。
按照本發(fā)明的另一個方面,不僅可響應(yīng)于實際或預(yù)期的需要來取與請求有關(guān)的數(shù)據(jù),而且可在已經(jīng)為所需數(shù)據(jù)喚醒了主計算機系統(tǒng)的時候取認為有可能需要的無關(guān)數(shù)據(jù)??紤]一個示例,在其中播放音頻的輔助設(shè)備301已經(jīng)喚醒了主計算機系統(tǒng)來取某個數(shù)量的數(shù)據(jù),并且在高速緩存中仍有空間,(這可以是故意的)。也可在這時取與所請求的音頻數(shù)據(jù)無關(guān)的其它數(shù)據(jù),因為主計算機系統(tǒng)120在某種程度上用于提供數(shù)據(jù)。注意,可以排序數(shù)據(jù)請求,諸如取最先需要的內(nèi)容,然后如果允許或可能,例如在一個時間窗口內(nèi)、如果存儲器可用、如果到計算機系統(tǒng)120的網(wǎng)絡(luò)可用等等,就取額外的數(shù)據(jù)。
作為示例,圖7示出在喚醒機器以取音頻數(shù)據(jù)的同時,如何使用合適的應(yīng)用程序702-705來更新日程表數(shù)據(jù)、電子郵件數(shù)據(jù)等。如上所述,媒體應(yīng)用程序702可通過一個或多個DRM組件710來利用數(shù)字權(quán)限管理,從而不要求輔助顯示設(shè)備進行數(shù)字權(quán)限管理。注意,按這種部分喚醒狀態(tài)取附加數(shù)據(jù)通常將比不取數(shù)據(jù)要消耗更多功率,因為通常傳送更多數(shù)據(jù)將比其它情況喚醒機器較長時間,并且例如,如果必須給網(wǎng)卡通電以獲得經(jīng)更新的日程表和電子郵件數(shù)據(jù)、需要載入應(yīng)用程序等等,這也將喚醒機器較長的時間。然而,消耗的總功率可通過減少喚醒主計算機系統(tǒng)的工作循環(huán)來降低。例如,可調(diào)度主計算機系統(tǒng)短暫地醒來以取這些其它類型的數(shù)據(jù),并且因此也可結(jié)合當前的需要來取得它。換言之,盡管有關(guān)允許什么和在什么時候的一切可以是用戶可配置的,但可將輔助設(shè)備設(shè)置成每半小時喚醒主計算機系統(tǒng),但如果機器醒著且輔助設(shè)備因其它原因已經(jīng)在下載內(nèi)容,則現(xiàn)在可檢索其它內(nèi)容,并且定時器復(fù)位。
當已經(jīng)檢索了數(shù)據(jù)時,輔助設(shè)備可使用控制信道來將主計算機系統(tǒng)置回睡眠狀態(tài)中。由于計算機系統(tǒng)120醒著并且通過數(shù)據(jù)信道與輔助設(shè)備通信,因此它可以發(fā)送數(shù)據(jù)至設(shè)備,使得睡眠狀態(tài)數(shù)據(jù)對于輔助設(shè)備是已知的。例如,如果用戶現(xiàn)在已經(jīng)開始使用主計算機系統(tǒng)120,這是在用戶注意到設(shè)備醒著,諸如聽見盤驅(qū)動器旋轉(zhuǎn)時是通常發(fā)生的事,則主計算機系統(tǒng)120將不會被置回睡眠狀態(tài)。為此,主計算機系統(tǒng)可感測到,例如蓋子開關(guān)的打開、鼠標活動或觸摸屏或電磁數(shù)字化儀活動(例如,如果基于圖形輸入板的PC),以便將這個信息提供給輔助顯示設(shè)備。而且,主計算機系統(tǒng)可自己返回到睡眠狀態(tài)。另外,非SMBUS喚醒機制可在主計算機系統(tǒng)醒著的時候與其通信(例如,通過API調(diào)用)來獲得這樣的信息。
實質(zhì)上任何合適的機制和/或準則可用于檢測何時數(shù)據(jù)已經(jīng)檢索到且沒有更多數(shù)據(jù)要來臨或不允許更多數(shù)據(jù),從而可使主計算機系統(tǒng)返回到睡眠狀態(tài)。這通常發(fā)生在每個應(yīng)用程序發(fā)信號表示已經(jīng)完成提供它所請求的數(shù)據(jù)的時候。對于其它情況,超時機制可用于處理沒有正確響應(yīng)的程序等,存儲器滿條件不允許更多的數(shù)據(jù),以及諸如熱傳感器、低電池壽命檢測器等其它組件可用于控制主計算機系統(tǒng)的電源狀態(tài)。信號強度數(shù)據(jù)可用于取消請求,例如,如果沒有網(wǎng)絡(luò)連接,則不等待任何網(wǎng)絡(luò)數(shù)據(jù)。
注意,應(yīng)用程序,包括那些將提供當前所需要的內(nèi)容以外的數(shù)據(jù)的應(yīng)用程序,可注冊對應(yīng)于在喚醒主計算機系統(tǒng)以請求它們的數(shù)據(jù)類型之前需要滿足的某個準則的資源相關(guān)元數(shù)據(jù)。例如,如果程序需要某個資源(例如,網(wǎng)絡(luò)連通性、指紋讀取器等)且該資源的可用性狀態(tài)對于輔助設(shè)備是已知的,則設(shè)備可以決定不請求該程序的數(shù)據(jù),這可導(dǎo)致不喚醒主計算機系統(tǒng),因為不需要數(shù)據(jù)。而且注意,不管任何應(yīng)用程序?qū)λ栀Y源的注冊,輔助設(shè)備都可以獨立地基于與主計算機的系統(tǒng)狀態(tài)有關(guān)的和/或甚至與輔助設(shè)備的狀態(tài)(諸如任一方的電池電平,或者某種其它狀態(tài),如無線網(wǎng)絡(luò)的存在與否)有關(guān)的某種準則來選擇不喚醒主計算機系統(tǒng)。因而,盡管設(shè)備可能有對更多數(shù)據(jù)的需求和/或機會,但不需要請求數(shù)據(jù),直到達到與取得數(shù)據(jù)的能力有關(guān)的某個閾值可能性和/或邏輯上要這么做為止。應(yīng)用程序?qū)Y源的這樣的注冊的范圍從非常有限的細節(jié)到全部細節(jié)。
而且,資源狀態(tài)改變可以引起喚醒發(fā)生。例如,如果先前的數(shù)據(jù)同步因為沒有網(wǎng)絡(luò)連通(例如,沒有wi-fi信號)而失敗,無論是主計算機系統(tǒng)上運行的應(yīng)用程序失敗還是因為輔助設(shè)備甚至沒有嘗試同步,當檢測到連通時,信號的存在可用作喚醒主計算機系統(tǒng)的基礎(chǔ)。
如可以從前述看到,本發(fā)明能夠使輔助設(shè)備基于實際或預(yù)期需求喚醒主計算機系統(tǒng)來獲得數(shù)據(jù),并且隨后使主計算設(shè)備循環(huán)回到睡眠狀態(tài)中。這保存了主計算設(shè)備上的功率,同時讓輔助設(shè)備在需要的時候充分利用主計算機系統(tǒng)的全部能力。本發(fā)明因而提供在當代計算中所需的眾多好處和優(yōu)點。
盡管本發(fā)明容許各種修改和替換結(jié)構(gòu),但在附圖中示出了本發(fā)明的某些例示實施例并且在上面詳細地描述了這些實施例。然而應(yīng)該理解,不是想要將本發(fā)明限于所揭示的(多種)特定形式,而是相反,本發(fā)明是要覆蓋落在本發(fā)明的精神和范圍內(nèi)的所有修改、替換結(jié)構(gòu)及等價方案。
權(quán)利要求
1.在具有計算機系統(tǒng)的計算環(huán)境中,一種系統(tǒng),包括輔助設(shè)備,它被配置成提供輔助信息,所述輔助信息的至少一部分是所述計算機系統(tǒng)提供的;所述輔助設(shè)備中的喚醒機制,用于喚醒主計算機系統(tǒng)至一狀態(tài),在所述狀態(tài)中,所述主計算機系統(tǒng)能夠訪問和傳送數(shù)據(jù);以及通信機制,用于在喚醒所述主計算機系統(tǒng)之后在所述輔助計算設(shè)備與所述主計算機系統(tǒng)之間傳送數(shù)據(jù)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括所述喚醒機制用于喚醒所述主計算機系統(tǒng)的控制信道,所述控制信道與用于傳送數(shù)據(jù)的通信機制是分開的。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括所述喚醒機制用于喚醒所述主計算機系統(tǒng)的控制信道,其中,用于傳送數(shù)據(jù)的通信機制還用于通過所述控制信道傳送信息。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括所述喚醒機制用于喚醒所述主計算機系統(tǒng)的控制信道,其中,所述控制信道對應(yīng)于一個集合的至少一個元素,所述集合包括無線電接收器;SPOT無線電;藍牙無線電;USB連接;基于SMBUS的連接;串行連接;并行連接;紅外連接;網(wǎng)絡(luò)連接;以及電話連接。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輔助設(shè)備包括連接到所述主計算機系統(tǒng)的基于SMBUS的喚醒機制的顯示屏幕。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輔助設(shè)備中的喚醒機制使所述主計算機系統(tǒng)返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比被喚醒狀態(tài)中消耗更少的功率。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,在所述通信機制傳送數(shù)據(jù)之后,所述主計算機系統(tǒng)使自己返回到睡眠狀態(tài)中,所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比被喚醒狀態(tài)消耗更少的功率。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述主計算機系統(tǒng)包括至少一個數(shù)字權(quán)限管理組件和向所述通信機制提供媒體數(shù)據(jù)的媒體應(yīng)用程序。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輔助設(shè)備包括一設(shè)備類型集合中的設(shè)備,所述集合包括獨立的計算機;移動通信設(shè)備;具有按鈕激勵器的輔助顯示屏幕;表;墻面顯示器;顯示屏幕;數(shù)字相框;鐘;電視機;收音機;媒體播放器;嵌入在消費電子產(chǎn)品設(shè)備的主顯示器中或者使用該主顯示器的設(shè)備;汽車、運輸或其它車輛單元;主計算機系統(tǒng)的鍵盤或其它輸入設(shè)備;尋呼機;以及個人數(shù)字助理。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述通信機制對應(yīng)于一個組件集合中的至少一個組件,所述集合包括無線電接收器;SPOT無線電;藍牙無線電;USB連接;串行連接;并行連接;紅外連接;網(wǎng)絡(luò)連接;以及電視連接。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括所述輔助顯示系統(tǒng)上耦合到所述喚醒機制的高速緩存管理器,用于在檢測到對要從主計算機系統(tǒng)傳送的數(shù)據(jù)量的需求時,喚醒所述主計算機系統(tǒng)到被喚醒狀態(tài)中。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述高速緩存管理器請求與對應(yīng)于檢測到的需求的數(shù)據(jù)量無關(guān)的附加數(shù)據(jù)。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述高速緩存管理器請求要傳送的數(shù)據(jù)量、檢測滿足所述請求的數(shù)據(jù)、并且與喚醒管理器通信以使所述主計算機系統(tǒng)返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比被喚醒狀態(tài)中消耗更少的功率。
14.在具有主計算機系統(tǒng)和耦合到所述計算機系統(tǒng)的輔助設(shè)備的計算環(huán)境中,一種方法,包括通過所述輔助設(shè)備處理用于輸出的數(shù)據(jù);在所述輔助設(shè)備處檢測對其它數(shù)據(jù)的需求;將所述主計算機系統(tǒng)從睡眠狀態(tài)喚醒到所述主計算機系統(tǒng)能夠訪問和傳送其它數(shù)據(jù)的狀態(tài);以及從所述主計算機系統(tǒng)接收其它數(shù)據(jù)。
15.如權(quán)利要求14所述的方法其特征在于,還包括使所述主計算機系統(tǒng)返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比被喚醒狀態(tài)中消耗更少的功率。
16.如權(quán)利要求14所述的方法,其特征在于,還包括在所述輔助顯示器上確定當在被喚醒狀態(tài)中時所述主計算機系統(tǒng)是否已經(jīng)用喚醒它的方式來使用,并且如果是,則保持所述計算機系統(tǒng)在當前狀態(tài)中,而如果否,則使所述主計算機系統(tǒng)返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比在被喚醒狀態(tài)中消耗更少的功率。
17.如權(quán)利要求14所述的方法,其特征在于,還包括在所述主計算機系統(tǒng)上確定當在被喚醒狀態(tài)中時所述主計算機系統(tǒng)是否已經(jīng)用喚醒它的方式來使用,并且如果是,所述主計算機系統(tǒng)使自己保持在當前狀態(tài)中,而如果否,所述主計算機系統(tǒng)使自己返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比在被喚醒狀態(tài)中消耗更少的功率。
18.如權(quán)利要求14所述的方法,其特征在于,喚醒所述主計算機系統(tǒng)包括在控制信道上發(fā)送信號。
19.如權(quán)利要求18所述的方法,其特征在于,還包括在所述輔助設(shè)備處監(jiān)聽所述控制信道上的數(shù)據(jù)。
20.如權(quán)利要求14所述的方法,其特征在于,從所述主計算機系統(tǒng)接收其它數(shù)據(jù)包括接收媒體數(shù)據(jù)。
21.如權(quán)利要求14所述的方法,其特征在于,還包括在喚醒所述主計算機系統(tǒng)之后請求其它數(shù)據(jù)并且請求所述其它數(shù)據(jù)以外的附加數(shù)據(jù)。
22.如權(quán)利要求21所述的方法,其特征在于,所述附加數(shù)據(jù)是從與所述其它數(shù)據(jù)的源分離的源獲得的。
23.如權(quán)利要求22所述的方法,其特征在于,還包括在接收所述附加數(shù)據(jù)之后重新調(diào)度對所述附加數(shù)據(jù)的定時檢索。
24.如權(quán)利要求14所述的方法,其特征在于,還包括在從所述主計算機系統(tǒng)接收所述其它數(shù)據(jù)之后檢測到目前不需要更多的數(shù)據(jù)。
25.至少一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當所述指令被執(zhí)行時,完成如權(quán)利要求14所述的方法。
26.至少一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當所述指令被執(zhí)行時,完成下列步驟當主計算機系統(tǒng)處于睡眠狀態(tài)中時,在所述主計算機的輔助設(shè)備處處理數(shù)據(jù);喚醒所述主計算機系統(tǒng)到被喚醒狀態(tài),在所述被喚醒狀態(tài)中,所述主計算機系統(tǒng)至少能夠訪問和傳送數(shù)據(jù);當在被喚醒狀態(tài)中與所述主計算機系統(tǒng)通信以交換數(shù)據(jù);以及使所述主計算機系統(tǒng)返回到睡眠狀態(tài),所述主計算機系統(tǒng)在所述睡眠狀態(tài)中比在被喚醒狀態(tài)中消耗更少的功率。
27.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,喚醒所述主計算機系統(tǒng)包括在控制信道上發(fā)送信號。
28.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,還包括在所述輔助設(shè)備處監(jiān)聽控制信道上的數(shù)據(jù)。
29.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,與所述主計算機系統(tǒng)通信包括發(fā)送用于存儲在所述主計算機系統(tǒng)上的數(shù)據(jù)。
30.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,與所述主計算機系統(tǒng)通信包括接收所請求的數(shù)據(jù)。
31.如權(quán)利要求30所述的計算機可讀介質(zhì),其特征在于,從所述主計算機系統(tǒng)接收所請求的數(shù)據(jù)包括接收媒體數(shù)據(jù)。
32.如權(quán)利要求30所述的計算機可讀介質(zhì),其特征在于,從所述主計算機系統(tǒng)接收所請求的數(shù)據(jù)包括接收可顯示內(nèi)容。
33.如權(quán)利要求30所述的方法,其特征在于,還包括檢測到在從所述主計算機系統(tǒng)接收所請求數(shù)據(jù)之后目前不需要更多的數(shù)據(jù)。
34.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,還包括檢測對數(shù)據(jù)的需求并請求所述數(shù)據(jù),并且其中,與所述主計算機系統(tǒng)通信包括接收所請求的數(shù)據(jù)。
35.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,還包括檢測對數(shù)據(jù)的需求并請求被確定為需要的數(shù)據(jù),并請求所需要的以外的附加數(shù)據(jù)。
36.如權(quán)利要求35所述的計算機可讀介質(zhì),其特征在于,所述附加數(shù)據(jù)是從與被確定為需要的數(shù)據(jù)的源分離的源獲得的。
37.如權(quán)利要求26所述的計算機可讀介質(zhì),其特征在于,還包括在喚醒所述主計算機系統(tǒng)之前評估一個或多個狀態(tài)準則以決定是否喚醒所述主計算機系統(tǒng)。
全文摘要
輔助計算設(shè)備在需要時、按需要和/或按預(yù)期的需要喚醒相關(guān)聯(lián)的主計算機系統(tǒng)來獲得數(shù)據(jù)。喚醒操作通常是臨時取數(shù)據(jù),從而主計算機系統(tǒng)消耗較少的功率。在一個實現(xiàn)中,在輔助設(shè)備與主計算機系統(tǒng)之間的控制信道用于發(fā)喚醒信號。主數(shù)據(jù)信道用于獲得數(shù)據(jù),從而輔助設(shè)備有權(quán)訪問比它能夠高速緩存的更多的數(shù)據(jù)量。而且,可以充分利用主計算機系統(tǒng)的組件,諸如使用主計算機系統(tǒng)的數(shù)字權(quán)限管理機制。輔助設(shè)備在主計算機系統(tǒng)通電時可智能地請求附加的數(shù)據(jù),例如用于緩沖媒體,和/或請求日程表數(shù)據(jù)、電子郵件數(shù)據(jù)等的同步。
文檔編號G06F1/32GK1782956SQ20051012714
公開日2006年6月7日 申請日期2005年11月22日 優(yōu)先權(quán)日2004年11月23日
發(fā)明者A·J·富勒, D·J·波利維, M·P·羅特恩, M·S·伯恩斯坦, O·G·貝爾克斯, R·H·溫 申請人:微軟公司