專利名稱:處理輔助計算設(shè)備接收的信息的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機(jī)系統(tǒng),并且特別涉及一種改進(jìn)的用于顯示一種計算設(shè)備的信息的方法和系統(tǒng)。
背景技術(shù):
膝上型電腦和其它移動設(shè)備允許用戶在不同地點工作,這就為用戶提供了很大的便利。但是,當(dāng)用戶在不同地點間移動時,這些移動設(shè)備就經(jīng)常被關(guān)機(jī),特別是膝上型電腦在合上蓋子移動時。結(jié)果,訪問該設(shè)備上的相關(guān)數(shù)據(jù)就需要打開膝上型電腦蓋,等待啟動并定位到需要的信息。這是一種耗費時間并且是用戶所不想要的經(jīng)歷,特別是當(dāng)想要的數(shù)據(jù)是如同會議房間號碼這樣簡單的事情。
序列號為10/429,930和10/429,932的美國專利申請主要涉及具有輔助處理和輔助機(jī)制的計算機(jī)系統(tǒng)的概念,特別涉及相關(guān)顯示機(jī)制,該顯示機(jī)制提供了某種計算功能。例如,蓋子或膝上型電腦側(cè)邊上的小型LCD可向其所有者提供有用信息,例如,會議地點和時間。
但是,在以前這樣的輔助顯示器僅限于小范圍的、有限的業(yè)務(wù),其中針對可被顯示的信息定制一個專用的輔助顯示程序。例如,如果想要會議信息,要是編程輔助顯示程序來顯示特殊類型的數(shù)據(jù),象有關(guān)用于當(dāng)前會議的數(shù)據(jù)一樣的特殊類型的數(shù)據(jù),用戶將僅僅看到該信息。此外,任何顯示的數(shù)據(jù)都是靜態(tài)的;對數(shù)據(jù)的任何改變都需要將計算機(jī)返回到開機(jī)狀態(tài),從而進(jìn)行改變。
這就需要一種針對應(yīng)用程序的方法,這些應(yīng)用程序運行在計算機(jī)系統(tǒng)的主操作系統(tǒng)下,提供在計算機(jī)系統(tǒng)的輔助顯示器上顯示的適當(dāng)數(shù)據(jù),這包括當(dāng)有時新數(shù)據(jù)可以使用并且主顯示器不容易訪問或者根本不能訪問時,例如當(dāng)計算機(jī)系統(tǒng)實際上關(guān)機(jī)的時候。
發(fā)明內(nèi)容
簡要地說,本發(fā)明提供了一種機(jī)制,其用于在一個與主計算機(jī)系統(tǒng)相連的輔助設(shè)備處接收新的數(shù)據(jù),并且在輔助系統(tǒng)的固件內(nèi)處理此新數(shù)據(jù)以便采取某種動作。數(shù)據(jù)的接收和處理不受主計算機(jī)系統(tǒng)處于開機(jī)狀態(tài)(聯(lián)機(jī))還是關(guān)機(jī)狀態(tài)(脫機(jī))的限制。例如,輔助顯示設(shè)備可以將來自緩存的數(shù)據(jù)顯示給用戶,并且新數(shù)據(jù)可用于更新或擴(kuò)充緩存中的數(shù)據(jù)。這可以在主計算機(jī)系統(tǒng)聯(lián)機(jī)并且提供可在輔助設(shè)備上顯示的其他數(shù)據(jù)時完成,或者在主計算機(jī)系統(tǒng)脫機(jī)并且僅僅緩存可以用作主系統(tǒng)應(yīng)用程序數(shù)據(jù)源的子集時完成。其實,輔助設(shè)備從多個信源接收數(shù)據(jù),并且將主計算機(jī)系統(tǒng)也作為一個信源。
在脫機(jī)運行中,緩存保留與結(jié)構(gòu)化導(dǎo)航信息有關(guān)的用戶應(yīng)用程序數(shù)據(jù),因此,用戶可以在這些數(shù)據(jù)中導(dǎo)航,例如,看數(shù)據(jù)頁面。當(dāng)主CPU、操作系統(tǒng)和應(yīng)用程序聯(lián)機(jī)時,它們可以構(gòu)建數(shù)據(jù)緩存并將其傳給輔助設(shè)備可以訪問的介質(zhì),例如,固件中的輔助存儲器。
緩存可以用輔助設(shè)備接收的新數(shù)據(jù)更新,所述輔助設(shè)備不包括主CPU、操作系統(tǒng)和應(yīng)用程序。由于數(shù)據(jù)是在輔助程序中處理的,因此不依賴于主CPU、操作系統(tǒng)和應(yīng)用程序是否正在運行,對于該輔助設(shè)備來說該新數(shù)據(jù)是可用的。因此,在聯(lián)機(jī)狀態(tài)下,新數(shù)據(jù)可以補(bǔ)充應(yīng)用程序數(shù)據(jù),在脫機(jī)狀態(tài)下添加到緩存應(yīng)用程序數(shù)據(jù)的樹中,和/或替換或移除樹中的一些內(nèi)容。在一個實施中,緩存可被安排為一個樹結(jié)構(gòu),因此如果一個新的分支不涉及使其數(shù)據(jù)緩存的程序,那么新的信息可以添加到一個新的分支,或者如果相關(guān)數(shù)據(jù)已經(jīng)在緩存中了,就更新緩存的數(shù)據(jù)。
新數(shù)據(jù)的源包括通過無線或有線連接到固件接收的遠(yuǎn)程數(shù)據(jù)。數(shù)據(jù)源的其它例子包括任何主計算機(jī)硬件件,例如電池控制器或網(wǎng)卡,這種部件當(dāng)主計算機(jī)系統(tǒng)部件(CPU、操作系統(tǒng)等等)脫機(jī)時仍繼續(xù)運行。處理接收的數(shù)據(jù),來更新輔助顯示器,或者執(zhí)行其他動作,例如,喚醒主計算機(jī)系統(tǒng)。
當(dāng)結(jié)合附圖時,根據(jù)下面的詳細(xì)說明,其他優(yōu)點將更加顯而易見,其中圖1是一個表示可結(jié)合本發(fā)明的傳統(tǒng)個人計算機(jī)形式的通用計算設(shè)備的方框圖;圖2A-2E是一般表示安裝在各種設(shè)備上的輔助顯示器的位置的示例性圖示;圖3是一般表示分層結(jié)構(gòu)的方框圖,通過此分層結(jié)構(gòu)應(yīng)用程序可以與根據(jù)本發(fā)明一方面的任意輔助顯示設(shè)備的固件交換數(shù)據(jù);圖4表示根據(jù)本發(fā)明的一個方面,在一個實施中,具有輔助顯示設(shè)備服務(wù)的輔助-獲知應(yīng)用程序接口如何與輔助設(shè)備交換數(shù)據(jù);圖5是一般表示根據(jù)本發(fā)明的一個方面提供脫機(jī)導(dǎo)航的部件的方框圖;圖6表示根據(jù)本發(fā)明一個方面樹形的導(dǎo)航結(jié)構(gòu)的一個實例,該樹用于緩存用戶數(shù)據(jù)來提供脫機(jī)導(dǎo)航;圖7表示根據(jù)本發(fā)明的一個方面,在一個實施中一個輔助顯示服務(wù)可以如何調(diào)整與多種顯示設(shè)備一起工作;圖8表示根據(jù)本發(fā)明的一個方面,當(dāng)主計算機(jī)系統(tǒng)處于聯(lián)機(jī)狀態(tài)時,數(shù)據(jù)如何流入輔助設(shè)備中;圖9表示根據(jù)本發(fā)明的一個方面,當(dāng)主計算機(jī)系統(tǒng)處于脫機(jī)狀態(tài)時,數(shù)據(jù)如何流入輔助設(shè)備中;圖10表示根據(jù)本發(fā)明的一個方面,可用輔助數(shù)據(jù)更新的樹形的結(jié)構(gòu)化緩存數(shù)據(jù);圖11A-11C表示根據(jù)本發(fā)明的一個方面,用脫機(jī)狀態(tài)下主計算機(jī)系統(tǒng)接收的輔助數(shù)據(jù)更新的樹形的結(jié)構(gòu)化緩存數(shù)據(jù)。
具體實施例方式
示例操作環(huán)境圖1是一個表示可結(jié)合本發(fā)明的個人計算機(jī)形式的計算設(shè)備120的方框圖。本領(lǐng)域的技術(shù)人員會理解,圖1所示的個人計算機(jī)系統(tǒng)120僅僅是說明性的,并且本發(fā)明可以用其他計算機(jī)系統(tǒng)配置實施,包括掌上設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費電子設(shè)備、網(wǎng)絡(luò)PC、迷你計算機(jī)、大型計算機(jī)、無頭服務(wù)器(headless server)等等。本發(fā)明也可以在分布式計算環(huán)境中實施,在該環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊既可以位于本地存儲器設(shè)備中也可以位于遠(yuǎn)程存儲器設(shè)備中。
個人計算機(jī)系統(tǒng)120包括處理單元121、系統(tǒng)存儲器122以及系統(tǒng)總線123,該系統(tǒng)總線123將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)部件耦合到處理單元121。系統(tǒng)總線123可以是任意類型的總線結(jié)構(gòu),這包括存儲器總線或者存儲器控制器、外圍總線,以及使用任意總線結(jié)構(gòu)的局域總線。系統(tǒng)存儲器包括只讀存儲器(ROM)124和隨機(jī)存儲器(RAM)125?;据斎?輸出系統(tǒng)126(BIOS)被存儲在ROM124中,該基本輸入/輸出系統(tǒng)126包含有助于在個人計算機(jī)120中的單元之間傳輸信息的基本程序,例如在啟動期間。個人計算機(jī)120可進(jìn)一步包括用于從硬盤讀取和寫入其中的硬盤驅(qū)動器127,硬盤沒有圖示,用于從可移動磁盤129讀取和寫入其中的磁盤驅(qū)動器128,以及用于從諸如CD-ROM或其他光介質(zhì)的可移動光盤131讀取或?qū)懭肫渲械墓獗P驅(qū)動器130。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別通過硬盤驅(qū)動器接口132、磁盤驅(qū)動器接口133和光盤驅(qū)動器借口134連接到系統(tǒng)總線123。驅(qū)動器及其相關(guān)計算機(jī)可讀介質(zhì)提供了計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和用于個人計算機(jī)120的其他數(shù)據(jù)的非易失存儲器。盡管這里描述的示例性計算機(jī)系統(tǒng)使用了一個硬盤驅(qū)動器、一個可移動磁盤129以及一個可移動光盤131,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)意識到在示例性計算機(jī)系統(tǒng)中也可以使用其他類型的計算機(jī)可讀介質(zhì),這些介質(zhì)能存儲計算機(jī)可訪問數(shù)據(jù),例如盒式磁帶、閃存卡、數(shù)字視頻光盤、伯努里式盒式磁盤、隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)等等。
在硬盤、磁盤129、光盤131、ROM124或RAM125中可存儲許多程序模塊,包括操作系統(tǒng)135(例如WindowsXP)、一個或多個應(yīng)用程序136(例如MicrosoftOutlook)、其他程序模塊137和程序數(shù)據(jù)138。用戶可以通過例如鍵盤140和指示設(shè)備142的輸入設(shè)備向個人計算機(jī)120中輸入命令和信息。其他的輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊(game pad)、衛(wèi)星天線、掃描儀等等。這些和其他輸入設(shè)備通常通過與系統(tǒng)總線耦合的串行接口146連接到處理單元121,但是也可以通過其他接口連接,例如,并行端口、游戲端口或者通用串行總線(USB)。監(jiān)視器147或者其他類型的顯示設(shè)備通過諸如視頻適配器148的接口連接到系統(tǒng)總線123。除了監(jiān)視器147之外,個人計算機(jī)一般還包括其他外圍輸出設(shè)備(未示出),例如,揚(yáng)聲器和打印機(jī)。輔助顯示器200是一個附加的輸出設(shè)備,并且,例如可以通過輔助顯示器接口155連接到系統(tǒng)總線123。輔助顯示器101也可以通過串行接口和其他接口連接到計算設(shè)備20,其他接口例如是并行端口、游戲端口、紅外或無線連接、通用串行總線(USB)或其他外圍設(shè)備連接。圖1中的輸入設(shè)備201可以提供一個或多個操作件(actuator),以便與輔助顯示器200界面連接和/或控制該輔助顯示器200,并且例如可以通過輸入設(shè)備接口156連接到系統(tǒng)總線123,該輸入設(shè)備接口156可以是串行接口或者其他接口,例如,并行端口、游戲端口、紅外或無線連接、通用串行總線(USB)或其他外圍設(shè)備連接。
利用到諸如遠(yuǎn)程計算機(jī)149的一個或多個遠(yuǎn)程計算機(jī)的邏輯連接,個人計算機(jī)120可以工作在網(wǎng)絡(luò)環(huán)境中。遠(yuǎn)程計算機(jī)149可以是另一臺個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點,并且盡管在圖1中僅僅示出了一個存儲器設(shè)備150,但是遠(yuǎn)程計算機(jī)一般包括上述有關(guān)個人計算機(jī)120的許多或所有的元件。圖1描述的邏輯連接包括一個局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。此網(wǎng)絡(luò)環(huán)境在辦公室、公司級計算機(jī)環(huán)境、內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中是很普遍的。
當(dāng)使用在一個LAN網(wǎng)絡(luò)環(huán)境中時,個人計算機(jī)120通過網(wǎng)絡(luò)接口或適配器153連接到局域網(wǎng)151。當(dāng)使用在一個WAN網(wǎng)絡(luò)環(huán)境中時,個人計算機(jī)120一般包括一個調(diào)制解調(diào)器154,或者用于在諸如互聯(lián)網(wǎng)的廣域網(wǎng)152上建立通信的其他裝置。調(diào)制解調(diào)器154可以是內(nèi)置的或是外置的,并通過串行端口接口146連接到系統(tǒng)總線123。在網(wǎng)絡(luò)環(huán)境中,描述的涉及個人計算機(jī)120的程序模塊或者其部分程序模塊可以存儲在遠(yuǎn)程存儲器設(shè)備中。應(yīng)當(dāng)理解的是,所示的網(wǎng)絡(luò)連接是示例性的,并且可以使用用于在計算機(jī)間建立通信的其他手段。
應(yīng)當(dāng)注意的是,根據(jù)本發(fā)明,輔助顯示器的運行不需要計算機(jī)系統(tǒng)完全可運行。實際上,正如下面將參照圖6所述的,當(dāng)計算機(jī)關(guān)機(jī),至少達(dá)到一種默認(rèn)程度或者用戶配制的程度,例如,當(dāng)計算機(jī)系統(tǒng)處于睡眠狀態(tài)或者休眠模式時,并且/或者當(dāng)用戶尚未登錄或通過安全機(jī)制鎖定系統(tǒng)時,輔助顯示器仍然可以工作。例如,當(dāng)計算機(jī)系統(tǒng)關(guān)機(jī)時,用戶可能需要一個聽筒和揚(yáng)聲器電話,而該聽筒和揚(yáng)聲器電話又是集成到個人計算機(jī)系統(tǒng),象常規(guī)應(yīng)用程序一樣工作,就可以將輔助顯示器作為主叫-ID設(shè)備。此設(shè)備也可以存儲數(shù)據(jù),以便當(dāng)計算機(jī)系統(tǒng)再次啟動時,例如記錄接收的呼叫時,包括計算機(jī)系統(tǒng)并沒有完全啟動時,用于隨后向計算機(jī)系統(tǒng)傳輸。
輔助顯示器也可以補(bǔ)充主顯示器,并且當(dāng)主顯示器關(guān)閉或者不能運行(例如未連接時),而不能向用戶提供某些信息時,也可以作為替代顯示器。例如,諸如如何啟動主顯示器的信息將是有用的,當(dāng)主顯示器關(guān)閉和/或不容易觀看(例如膝上型電腦的上蓋關(guān)閉)時,這可以是連接到用戶可以觀看的移動計算機(jī)的輔助顯示設(shè)備上的會議房間號和/或方位。注意,即使在一個具有連續(xù)(continually)可視屏幕的平板PC上,主顯示器也可能為了省電而關(guān)閉,因此輔助顯示器具有實際意義的益處。注意,用戶可能會根據(jù)計算機(jī)系統(tǒng)的狀態(tài)限制顯示范圍,例如,當(dāng)用戶沒有登錄時,僅僅可以顯示某些非敏感或者特別控制的信息等等。
為了在關(guān)機(jī)模式中可用和控制通信,在非易失性存儲器中可具有固件,當(dāng)?shù)诙幚砥骷虞d并且操作該固件時,只要一些電源可用,該固件就可以使輔助顯示器和其他可用的輔助部件可用。注意,正如這里所用的,術(shù)語“固件”一般可以被認(rèn)為表示輔助存儲器、其中的代碼和/或在其上運行的第二處理器。
圖2A-2E分別表示用于在計算設(shè)備上安裝或與計算設(shè)備有關(guān)的輔助顯示屏200a-200e的位置。如圖2A和2B所示,輔助顯示屏200a可安裝在獨立(陸上通信或移動)電話202(其不需要物理連接,例如通過藍(lán)牙技術(shù))的前面、后面或其他表面,和/或另一輔助顯示器200b可安裝在移動計算機(jī)204或圖形輸入計算設(shè)備(未示出)的側(cè)面或上蓋上。另一個用于輔助顯示200c(圖2C)的位置可以在一臺計算機(jī)上的電話上或者附加在一計算機(jī)上的外圍設(shè)備上,例如監(jiān)視器206或鍵盤上(未示出)。圖2D和2E分別表示在獨立控制臺208前面板或某種其他外殼210(例如主板的外殼)上的輔助顯示器200d和200e的其他位置,該獨立控制臺208連接到一臺計算機(jī)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,輔助顯示屏可以位于任何計算設(shè)備或其他具顯示能力的設(shè)備的任何表面上,例如位于以無線或其他連接方式連接到一臺計算機(jī)的手表上、一臺遠(yuǎn)程控制設(shè)備上、一臺遠(yuǎn)程壁式單元等等。
從圖2A-2E看應(yīng)該更明顯,輔助顯示器可以是任何數(shù)量的已知類型的顯示器,例如一個或多個LED、一個2-行字母數(shù)字顯示器、一個單色顯示器或一個彩色顯示器。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明也可以將其他計算設(shè)備或通信設(shè)備的顯示器用作輔助顯示器200。這些其他計算設(shè)備或通信設(shè)備包括通用計算機(jī)、蜂窩電話以及諸如尋呼機(jī)或個人數(shù)字助理(PDA)的掌上設(shè)備。此外,本發(fā)明可以在計算設(shè)備120屏幕顯示的一個區(qū)域內(nèi)實現(xiàn)虛擬輔助顯示器作為輔助顯示器200(例如屏幕保護(hù)程序或者用戶圖形接口的一個部件),包括在用戶登錄之前實現(xiàn)。輔助顯示器200可包括上述形式的任意組合,并且也可以與指示器物理或邏輯組合,和/或與一虛擬輔助顯示器結(jié)合使用,所述指示器諸如一個或多個LED。
即使缺少顯示器,也可以方便地將一個或多個LED用作通知有關(guān)活動事件的輔助顯示器200。可以低成本并且低能耗的實現(xiàn)這種輔助顯示器,并以一種不引人注目的方式提供通知。其可用有效地用于具有非常緊密波形系數(shù)的系統(tǒng),或者用于由他人管理的用戶通信的系統(tǒng)。當(dāng)需要從遠(yuǎn)距離觀看通知時,輔助顯示器200也是很有效果的。當(dāng)具有與活動有關(guān)的信息內(nèi)容時,諸如新郵件消息的通知,輔助顯示器也可以與屏幕虛擬輔助顯示器結(jié)合使用。在這種情況下,郵件的內(nèi)容也可以顯示在虛擬輔助顯示器200上。進(jìn)一步地,當(dāng)不期望內(nèi)容的顯示時,輔助顯示器200可以有效用于公共系統(tǒng)(圖書館或信息站)或共享的計算機(jī)。
可選擇地,當(dāng)成本或空間緊缺但通知和基本內(nèi)容又是期望的時候,2-行字母數(shù)字顯示器可方便地用作輔助顯示器200。2-行字母數(shù)字顯示器可以有效地用于平板PC、膝上型電腦、廉價(budget)PC、電話連接站、監(jiān)視器熒光屏以及小型或低成本PC裝置或外圍設(shè)備,例如耳機(jī)、鍵盤或遠(yuǎn)程控制。其也可以有效用作呼叫者ID單元(box)的替代品。
進(jìn)一步地,單色或彩色多行顯示器可以方便地用作富有媒體應(yīng)用程序、高端用戶系統(tǒng)或媒體中心系統(tǒng)的輔助顯示器200。單色或彩色多行顯示器可以有效地用作具有大量波形因數(shù)或者著重于通信的高端膝上型電腦、著重于重大商務(wù)或通信的全功能PC、媒體中心或高端媒體裝置(包括具有便攜媒體功能的遠(yuǎn)程、控制臺系統(tǒng))以及移動輔助顯示。此外,另一計算或通信設(shè)備的顯示器可方便地用作輔助顯示器200,當(dāng)用戶使用他們的PC時,用戶可以在該顯示器處擴(kuò)展那些補(bǔ)充設(shè)備的功能。這些其他計算或通信設(shè)備包括通用計算機(jī)、蜂窩電話和諸如尋呼機(jī)或個人數(shù)字助理(PDA)的掌上設(shè)備。進(jìn)一步,要注意,輔助顯示器不需要是一個實際的顯示器,其可以是信息的投影(例如,投影在墻上)。這里所指的輔助顯示器基本上可以由可感知的任何東西組成,包括任何可視的、可聽到的和/或可觸知的表示。
正如前面所述的,當(dāng)內(nèi)容顯示是不需要的時候,虛擬輔助顯示器可被用作公共系統(tǒng)(圖書館或信息站)或共享計算機(jī)的輔助顯示器200。虛擬輔助顯示器也可以有效地用于低成本系統(tǒng),或者用于具有最小波形因數(shù)的設(shè)備,該最小波形因數(shù)正好使LED不可用。虛擬輔助顯示器可以被實施為屏幕保護(hù)或者圖形用戶接口的一個部件。
這里被稱為操作件的輸入設(shè)備201(多個,甚至僅僅是單個諸如一個按鍵或指示設(shè)備的機(jī)構(gòu))向用戶提供了一種在應(yīng)用程序數(shù)據(jù)或通知的不同種類之間轉(zhuǎn)換的機(jī)制,該通知例如是電子郵件通知、語音郵件通知、日程通知、系統(tǒng)狀態(tài)通知、呼叫者ID列表及其他類型的通知消息。伴隨這樣的轉(zhuǎn)換按鈕的也可以是一個向上按鈕和一個向下按鈕,以便允許用戶在特定種類的通知消息中向前或向后翻滾。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以使用任何類型的操作件,例如,鍵盤、麥克風(fēng)、操縱桿、游戲墊或包含一種器件的其他設(shè)備,該器件包括生物統(tǒng)計傳感器、環(huán)境傳感器、位置傳感器或其他類型的傳感器。圖1所示的計算設(shè)備120的任何輸入設(shè)備都可以用作輸入設(shè)備(操作件)201,并且可以與獨立操作件結(jié)合使用。
脫機(jī)輔助顯示器操作的緩存應(yīng)當(dāng)理解,本發(fā)明為用戶簡單并快捷瀏覽輔助信息而提供了一個輔助顯示器200。與本發(fā)明一致,通過使用操作件201在可在輔助顯示器上表示的應(yīng)用程序數(shù)據(jù)中選擇,用戶可以在一個范圍內(nèi)選擇在輔助顯示器上顯示什么信息。盡管程序數(shù)據(jù)和事件通知將用于說明信息的輔助顯示,但是應(yīng)當(dāng)理解,本發(fā)明可提供其他類型的信息的輔助顯示,例如來自有關(guān)互聯(lián)網(wǎng)服務(wù)器的數(shù)據(jù),該服務(wù)器包括事務(wù)服務(wù)器、拍賣服務(wù)器、廣告服務(wù)器、娛樂服務(wù)器以及定位服務(wù)器。這些服務(wù)器可提供包括金融事務(wù)信息、標(biāo)題或其他新聞、股票報價、體育得分、拍賣或其他投標(biāo)狀態(tài)、天氣數(shù)據(jù)以及其他信息,其他信息包括用戶請求的特殊信息和主動提供的信息。應(yīng)當(dāng)理解,輔助顯示器200可以利用任何數(shù)量的已知類型的顯示器實施,例如,一組通知燈光、一個2-行字母數(shù)字顯示器、一個單色顯示器或一個彩色顯示器。注意,正如這里所使用的,簡稱的“輔助顯示器設(shè)備”一般是指輔助顯示屏和/或操作件,該操作件與該屏幕以及該設(shè)備中的任何其他硬件、固件或軟件相關(guān)聯(lián),但是應(yīng)當(dāng)理解,該屏幕和操作件可以是獨立機(jī)構(gòu),和/或應(yīng)當(dāng)理解,可以不需要物理接觸輸入數(shù)據(jù)的操作件。進(jìn)一步地,要注意,輔助顯示設(shè)備可被認(rèn)為是可能包含的指示器(例如,單個LED),該指示器替代或補(bǔ)充了像素類型的顯示屏。
根據(jù)本發(fā)明的一個方面,本發(fā)明有助于在主CPU/操作系統(tǒng)和應(yīng)用程序不運行時使用輔助顯示器,也就是在系統(tǒng)脫機(jī)時,但輔助設(shè)備保持運行。注意,脫機(jī)輔助系統(tǒng)部件用固件來實施,該固件包括輔助處理器和保存了可執(zhí)行代碼和數(shù)據(jù)的輔助存儲器。為了實現(xiàn)脫機(jī)運行,當(dāng)聯(lián)機(jī)時,主CPU/操作系統(tǒng)和應(yīng)用程序準(zhǔn)備好了數(shù)據(jù)緩存和其他信息,然后將其傳輸給固件中的輔助存儲器,用于脫機(jī)使用。
該傳輸可以是關(guān)斷電源(例如,關(guān)閉/睡眠/休眠時)時緩存的完全傳輸,或者可以由后臺處理等部分執(zhí)行,這樣在關(guān)斷電源時僅僅需要同步(代替了完全數(shù)據(jù)傳輸)。此外,諸如臺式計算機(jī)的計算設(shè)備可以不進(jìn)入關(guān)斷電源狀態(tài)來進(jìn)行這樣的緩存訪問。例如,通過后臺處理或者人工初始操作,就可以構(gòu)建緩存。如果要遠(yuǎn)程訪問緩存,那么用戶將遠(yuǎn)程訪問緩存的輔助信息,并且不需要關(guān)斷計算機(jī)設(shè)備的電源就可以進(jìn)行遠(yuǎn)程設(shè)備的傳輸。這樣,假設(shè)一個用戶沒有攜帶計算機(jī)而出席一個會議,那么其就可以將諸如智能電話的另一個設(shè)備配制為遠(yuǎn)程訪問主計算機(jī)的緩存數(shù)據(jù)。由于這種緩存,遠(yuǎn)程用戶可以通過遠(yuǎn)程設(shè)備遠(yuǎn)程瀏覽并導(dǎo)航緩存,由于該緩存,該遠(yuǎn)程設(shè)備就成為系統(tǒng)的輔助顯示器。
正如圖3所表示的,還提供了一種分層的結(jié)構(gòu),通過該結(jié)構(gòu),一個或多個應(yīng)用程序302可以與任何類型的輔助顯示設(shè)備實際連接,以便向其顯示器200輸出數(shù)據(jù)和/或通過操作件201與用戶交互。這樣,就提供了一種具有獨立軟件結(jié)構(gòu)層的結(jié)構(gòu),正如在前述相關(guān)美國專利申請“輔助顯示系統(tǒng)結(jié)構(gòu)”中所描述的。注意,在相關(guān)的美國專利申請中,盡管稍微有些獨立的分組部件可能與本發(fā)明的圖3有略微的不同,但是所示的各層一般與圖3的順序相同。在任何情況下,在圖3中服務(wù)可以被看作是獨立的層304,應(yīng)用程序?qū)?02位于服務(wù)層304上,協(xié)議層306在服務(wù)層304下。
在圖3所示的實施中,出現(xiàn)了四個層,每層都通過接口相分離。更具體地,除了應(yīng)用程序?qū)?02、服務(wù)層304和協(xié)議層306,還具有一個圖3所示的固件層308。如下將描述的,這些層提供了一個簡明的機(jī)制,通過該機(jī)制應(yīng)用程序可以以結(jié)構(gòu)化的方式提供用于緩存的輔助數(shù)據(jù),這種結(jié)構(gòu)方式向用戶提供了對相關(guān)緩存信息的簡單訪問,而無須接通計算機(jī)的電源(和/或,如果是膝上型電腦或蓋上的平板設(shè)備,打開設(shè)備查看主顯示屏)。
圖4詳細(xì)示出了一些層和各種接口。通常,應(yīng)用程序?qū)?02提供作為應(yīng)用程序接口(API)的控制和自帶接口,應(yīng)用程序接口將在下面描述,應(yīng)用程序?qū)?02便于結(jié)構(gòu)化緩存的創(chuàng)建,例如,以一種樹形格式或其他適合的結(jié)構(gòu)。應(yīng)用程序?qū)?02的一個目的是提供對結(jié)構(gòu)化緩存的細(xì)節(jié)的提取,從而使應(yīng)用程序僅僅需要提供數(shù)據(jù),而不是使其與一種特定的結(jié)構(gòu)相一致。
當(dāng)服務(wù)層編址表示輔助信息的某些方面時,即裁決、中斷和緩存創(chuàng)建時,應(yīng)用程序?qū)?02為開發(fā)者提供了構(gòu)建解決方案的一個接口。裁決(如在前述的美國相關(guān)專利申請“輔助顯示系統(tǒng)結(jié)構(gòu)”中一般性的描述)和中斷支持提供一種允許共享資源的框架。
根據(jù)本發(fā)明的一個方面,緩存創(chuàng)建是結(jié)構(gòu)化脫機(jī)使用的應(yīng)用程序數(shù)據(jù)的機(jī)制。正如下面參照圖5的描述,服務(wù)層以保存內(nèi)容和結(jié)構(gòu)信息的方式創(chuàng)建緩存,從而當(dāng)與聯(lián)機(jī)操作狀態(tài)完全隔離的時候,固件可以導(dǎo)航數(shù)據(jù)。正如隨后將進(jìn)一步描述的,在一個實施中,服務(wù)層也負(fù)責(zé)修改其內(nèi)容大小超出了為輔助設(shè)備固件分配的存儲容量的數(shù)據(jù)結(jié)構(gòu)。
如圖4中所示,應(yīng)用程序?qū)?02和輔助顯示服務(wù)層304可以使用不同的結(jié)構(gòu)和功能,包括輔助登記,應(yīng)用程序402(相關(guān)程序插件)通過該輔助登記向輔助顯示層304的服務(wù)登記部件404登記其本身。在圖4的實施例中,為了此目的,服務(wù)登記部件404提供了一個IAuxAppReg接口。其他應(yīng)用程序可以同樣地通過此接口登記。
一旦登記了,輔助應(yīng)用程序402就具有了從相關(guān)輔助顯示設(shè)備和/或相關(guān)信源接收事件的能力。例如,一旦輔助設(shè)備可以使用了,事件就可以被發(fā)送到輔助應(yīng)用程序部件402,而另一個事件將可以對應(yīng)于與輔助設(shè)備操作件的用戶交互。在圖4的實施例中,應(yīng)用程序?qū)嵤┎⒄故玖擞糜诮邮沾耸录腎AuxAppSink接口。
應(yīng)用程序402也具有列舉可用的輔助硬件設(shè)備或可用的設(shè)備的能力。在圖4的實施例中,輔助設(shè)備服務(wù)306中的介體部件406通過IAuxMediator接口提供了列舉功能。在此方式中,設(shè)備或與該設(shè)備有關(guān)的某些數(shù)據(jù)(例如,相應(yīng)的XML文件)可向應(yīng)用程序402報告設(shè)備顯示屏等和/或其操作件的性能。然后應(yīng)用程序402可根據(jù)顯示器調(diào)整輸入和輸出,例如可為設(shè)備特性修改的色彩方案、分辨率、導(dǎo)航命令等等。
通過IAuxMediator接口也可以在服務(wù)層的介體部件406中提供裁決,以便提供確定哪個應(yīng)用程序402應(yīng)當(dāng)使其數(shù)據(jù)當(dāng)前被顯示和應(yīng)當(dāng)接收導(dǎo)航命令的機(jī)制。注意,多個應(yīng)用程序可以合理地依次共享顯示器;換句話說,介體的裁決功能管理輔助應(yīng)用程序和/或插件程序的優(yōu)先權(quán)(z軸次序)。
協(xié)議層306創(chuàng)建了一種提取功能,通過該提取功能,服務(wù)層304可從輔助設(shè)備那里發(fā)送和接收數(shù)據(jù)。這樣,協(xié)議層306就方便地維持硬件獨立性的等級。為了與設(shè)備通信數(shù)據(jù),服務(wù)層可通過IAuxDevice接口寫入顯示器或者設(shè)置指示器的狀態(tài)。
一旦允許程序通過其操作件寫入顯示器并且接收命令,輔助系統(tǒng)參考是一種提供blit/提交到一提取的存儲器緩沖器的能力的機(jī)制,該緩沖器允許當(dāng)前選擇的輔助應(yīng)用程序(例如插件程序)部件402使用顯示器資源。在不允許脫機(jī)緩存的實施中,介體可以將參考指針傳給輔助應(yīng)用程序的輔助設(shè)備接口,并且使應(yīng)用程序此后調(diào)用該接口,以便直接向顯示器和/或指示器提供顯示數(shù)據(jù)。這在可脫機(jī)模式中也是可行的,但是隨后應(yīng)用程序?qū)⒇?fù)責(zé)構(gòu)建數(shù)據(jù),該數(shù)據(jù)不是這里通常需要的完全相同的提取等級。這樣,在圖4的實施例中,應(yīng)用程序通過服務(wù)層(介體接口)傳送其數(shù)據(jù),從而服務(wù)層可以構(gòu)建代碼用于脫機(jī)緩存。注意,當(dāng)聯(lián)機(jī)運行時,可以使用與緩存相同的結(jié)構(gòu),盡管聯(lián)機(jī)時不是發(fā)送緩存,但是可以將到緩存的指針發(fā)送給協(xié)議/固件層,這樣輔助設(shè)備就可以僅僅獲得在當(dāng)前時刻需要顯示的數(shù)據(jù),而不是接收所有組的緩存數(shù)據(jù)或者定期地同步一個緩存復(fù)本。
很容易理解,各種層都以一種綜合的和可擴(kuò)展的結(jié)構(gòu)提供了輔助功能??刹迦虢Y(jié)構(gòu)方便了應(yīng)用程序的寫入,該應(yīng)用程序無需理解或處理低級需求就可以使用輔助資源。
根據(jù)本發(fā)明的一個方面,相關(guān)程序數(shù)據(jù)和其他信息被緩存用于輔助顯示設(shè)備使用。一個一般目的是將信息緩存到一個快速可存取存儲器,并且為應(yīng)用程序提供了一種直接方法,以便來提供要緩存的信息。為此,在一個實施中,數(shù)據(jù)被構(gòu)造為樹形格式(被稱為結(jié)構(gòu)緩存樹),并且為構(gòu)建結(jié)構(gòu)緩存樹提供了簡單圖元。在此實施中,結(jié)構(gòu)緩存樹的集合(或樹子集)、到固件的該樹的傳輸以及主計算機(jī)關(guān)斷電源時固件與樹數(shù)據(jù)交互提供了一個方便脫機(jī)使用輔助顯示器的機(jī)制。
圖5表示僅僅聯(lián)機(jī)部件和數(shù)據(jù)以及脫機(jī)(固件)部件和數(shù)據(jù)之間的劃分,該脫機(jī)部件和數(shù)據(jù)當(dāng)主系統(tǒng)聯(lián)機(jī)時可以與聯(lián)機(jī)部件和數(shù)據(jù)一起使用,并且當(dāng)主系統(tǒng)脫機(jī)也可以運行輔助顯示器。注意,當(dāng)聯(lián)機(jī)時,圖5中所示的脫機(jī)部件和數(shù)據(jù)不需要存在或激活。例如,當(dāng)聯(lián)機(jī)時,聯(lián)機(jī)交互管理器(未示出)通過發(fā)送大量運行應(yīng)用程序的用戶輸入(例如,導(dǎo)航命令),來處理借助操作件的用戶交互,因此脫機(jī)交互管理器508不需要激活。同時,圖5中所示的緩存和其他傳輸數(shù)據(jù)不被傳輸?shù)捷o助存儲器510,直到從聯(lián)機(jī)變換到脫機(jī),盡管為了速度而不傳輸所有的數(shù)據(jù),如上所述一些數(shù)據(jù)有時可以被復(fù)制到輔助存儲器中,并且在聯(lián)機(jī)到脫機(jī)轉(zhuǎn)換時被同步。
如圖5中所示的,聯(lián)機(jī)應(yīng)用程序數(shù)據(jù)502由緩存機(jī)構(gòu)504收集,例如通過向每個使用輔助顯示器的應(yīng)用程序輪詢其數(shù)據(jù);(一應(yīng)用程序可以被啟動來獲得數(shù)據(jù),該應(yīng)用程序沒有運行,但用戶已經(jīng)為其指示了一個用于與其數(shù)據(jù)脫機(jī)交互的需要)。注意,當(dāng)聯(lián)機(jī)時使用輔助顯示設(shè)備的應(yīng)用程序可以在脫機(jī)時配置為不使用該輔助設(shè)備,或者,當(dāng)脫機(jī)時可以不同地使用該輔助設(shè)備,諸如當(dāng)為了脫機(jī)數(shù)據(jù)瀏覽而配置應(yīng)用程序時通過設(shè)置脫機(jī)限制而實現(xiàn)。例如當(dāng)聯(lián)機(jī)時,輔助顯示器可以在任何數(shù)量的消息中滾動,但是,應(yīng)用程序可以為脫機(jī)滾動生成不超出某些默認(rèn)或用戶配置的(例如,20)的消息。
用戶可以配置系統(tǒng)來控制哪個應(yīng)用程序可以為脫機(jī)瀏覽向緩存提供數(shù)據(jù)。例如,用戶可能想要用于在輔助顯示器上脫機(jī)瀏覽的電話號碼、電子郵件消息、任務(wù)和行程數(shù)據(jù),但不需要其他程序數(shù)據(jù)。例如,即使聯(lián)機(jī)應(yīng)用程序可能使用了該輔助顯示器顯示股票報價,由于當(dāng)數(shù)據(jù)將快速作廢時,緩存此數(shù)據(jù)將浪費存儲空間,因此用戶可能不想要為輔助瀏覽緩存的股票報價。
用戶也可以把每個應(yīng)用程序都配置得到其數(shù)據(jù)的存儲器的數(shù)量,并且可以給應(yīng)用程序配置脫機(jī)存儲的規(guī)則??蛇x擇地,如果應(yīng)用程序提供了太多的要緩存的數(shù)據(jù),當(dāng)另一個應(yīng)用程序使用了超過其可用的存儲器,而具有來自用于另一個應(yīng)用程序數(shù)據(jù)的一個應(yīng)用程序配置的任何過剩數(shù)據(jù)時,一個算法(后面描述)就從樹中刪除數(shù)據(jù)。過剩數(shù)據(jù)的再分配就轉(zhuǎn)到了基于用戶特定優(yōu)先權(quán)順序的應(yīng)用程序,例如再主頁上所列的第一個應(yīng)用程序(列表順序可用戶配置),然后如果不是所有的都需要,就轉(zhuǎn)到所列的下一個應(yīng)用程序,等等。
正如先前所描述的,收集操作可在關(guān)斷電源的時候進(jìn)行,或者可以借助在轉(zhuǎn)換到脫機(jī)時執(zhí)行的同步來進(jìn)行一些擴(kuò)展。當(dāng)需要時,利用數(shù)據(jù)修除機(jī)構(gòu)506進(jìn)行修除,以將可用存儲劃分為應(yīng)用程序和修整數(shù)據(jù),以將可用存儲器在應(yīng)用程序和所需的整理數(shù)據(jù)之間分配,用于每個都匹配可用的大量空間。在任何情況下,在圖5的實施例中,結(jié)果就是脫機(jī)數(shù)據(jù)的結(jié)構(gòu)化緩存508,可以通過樹結(jié)構(gòu)導(dǎo)航該脫機(jī)數(shù)據(jù)。
應(yīng)用程序可能想要向用戶提供不僅僅是可導(dǎo)航的數(shù)據(jù)。例如,日程程序可能想要提供諸如在某一特定日期和時間出現(xiàn)的會議提醒的數(shù)據(jù)。根據(jù)一個規(guī)則遍歷脫機(jī)緩存樹來查找這樣的事件是效率低下的,諸如基于中斷觸發(fā)一時間的信息可以被傳輸給固件,其信息作為時間和采取行動的列表(可能通過樹,隨后該樹將被遍歷一次而查找到它,但優(yōu)選作為獨立數(shù)據(jù))。如圖5所示的,固件可設(shè)置這樣的基于時間的中斷514,并且當(dāng)出現(xiàn)每個標(biāo)識的定時器中斷時,也以一種定時器ID存儲到動作表516或者要采取類似動作。在這種方式下,例如,特定提醒可在正確的時候顯示,一個或多個指示器會發(fā)光或閃爍等等。
一旦設(shè)置并且傳輸并且主計算機(jī)被關(guān)斷電源,微控制器520和輔助存儲器接管輔助顯示器200和操作件201的單獨控制。脫機(jī)命令解釋程序520可提供基于其導(dǎo)航數(shù)據(jù)的主頁,以及提供處理基于定時器的事件的邏輯等等。與脫機(jī)交互管理器508結(jié)合的脫機(jī)外殼程序(shell program)520處理遍歷脫機(jī)緩存的導(dǎo)航,并且響應(yīng)于非人工操作件可能改變顯示器的狀態(tài),例如在電池電力低時,顯示一特定消息。
圖6示出了一種簡化的樹結(jié)構(gòu),該節(jié)點表示在外殼(主)節(jié)點604下三個應(yīng)用程序601-603。盡管示出了三個應(yīng)用程序,但是任何實際數(shù)量(與可用存儲空間相關(guān))的應(yīng)用程序都是可行的??梢钥吹?,由于這種結(jié)構(gòu)(即使結(jié)構(gòu)本身一般并不是將被顯示的事情),通過節(jié)點的人工導(dǎo)航是相對直觀和直接的。例如,在一個數(shù)形結(jié)構(gòu)中,僅僅需要向上和向下導(dǎo)航,因此,例如僅僅需要一個兩按鈕控制器,(盡管一個或兩個按鈕可以具有其他功能,諸如關(guān)閉定時器事件驅(qū)動顯示屏)。
通常,主頁可以簡單地提供應(yīng)用程序的菜單,(如果需要可以滾動的)盡管取決于操作件的排列,反映分級的更復(fù)雜的菜單也是可行的,例如四向?qū)Ш桨粹o可以使用向上和向下按鈕翻滾,以及向左和向右按鈕用于擴(kuò)展和伸縮當(dāng)前高亮的菜單項,以便顯示表示任何子樹的數(shù)據(jù)。當(dāng)用戶在主頁菜單中選擇一個頁面時,例如在一個頁面上通過按壓一個選擇操作件按鈕,外殼節(jié)點基本上移到那個節(jié)點,其中獲得該頁面的信息,同時提供那個頁面。信息頁面可包括從位圖到標(biāo)記語言(例如HTML或XAML)的任何事情,所述標(biāo)記語言適于在一個給定設(shè)備上提供,這取決于該給定設(shè)備上安裝的代碼。注意,用于解釋緩存數(shù)據(jù)的代碼可以被傳輸?shù)交蛘呦螺d到固件中。
如圖6所示,在樹結(jié)構(gòu)中可以具有多個子等級。例如,所示的個人信息管理器節(jié)點620在它下面可具有聯(lián)系、指定和任務(wù)節(jié)點(分別是620-622),在它之下,每個節(jié)點使其自己的對應(yīng)于顯示屏和各自的子節(jié)點C1-Ci、A1-Aj以及T1-Tk。應(yīng)用程序節(jié)點可以在其下面僅僅具有一級,如消息節(jié)點M1-Mn所示。通常,每個節(jié)點都相應(yīng)于一個可滾動的頁面,該頁面顯示了其數(shù)據(jù)以及可以導(dǎo)航的任何子節(jié)點。
注意,在圖6中,為了完全顯示中間的播放器應(yīng)用程序603,以便指示在某種實施中,當(dāng)聯(lián)機(jī)或脫機(jī)時為確定要提供的下一個屏幕,可以使用同樣的導(dǎo)航樹,盡管媒體應(yīng)用程序可以不運行在脫機(jī)狀態(tài)中。當(dāng)在這種實施中聯(lián)機(jī)時,僅僅聯(lián)機(jī)媒體播放器應(yīng)用程序?qū)⒃跇渲芯哂幸粋€顯示屏節(jié)點,用戶可以在該樹中導(dǎo)航,以便查看輔助顯示器上的當(dāng)前路徑和定時器數(shù)據(jù)。當(dāng)脫機(jī)時,表示此顯示屏的節(jié)點(被稱為終端或原始節(jié)點)可以從樹中修除,以便節(jié)省存儲器空間。可選擇地,當(dāng)諸如MP3播放器的媒體播放器作為輔助顯示器時,如所期望地,此節(jié)點將允許MP3播放器使用該屏幕,然而在具有其他應(yīng)用程序數(shù)據(jù)的導(dǎo)航框架中也要這樣。
圖7一般表示當(dāng)處于兩種情況中的任一種情況時,也就是僅僅可以聯(lián)機(jī)或者可以聯(lián)機(jī)/脫機(jī)時,應(yīng)用程序302A和302B(在此例中具有各自的輔助插件402A和402B)與交互管理器之間的關(guān)系。當(dāng)僅僅聯(lián)機(jī)時,聯(lián)機(jī)交互管理器5011(運行在主CPU操作系統(tǒng)中)接收用戶輸入,以及通過輔助顯示服務(wù)306,可以將相應(yīng)的數(shù)據(jù)傳遞給當(dāng)前選擇的應(yīng)用程序和/或顯示控制器7301,以便進(jìn)行處理。注意,這與上述關(guān)于圖5的描述同樣是重要的。進(jìn)一步地,要注意,即使設(shè)備可以脫機(jī),由于處理功率和存儲器在聯(lián)機(jī)狀態(tài)下通常都較大,并且由于應(yīng)用程序使用實時數(shù)據(jù)而不是經(jīng)緩存的數(shù)據(jù)來運行,所以只要主系統(tǒng)聯(lián)機(jī),這些聯(lián)機(jī)部件就可以運行。
當(dāng)脫機(jī)時,使用不同的脫機(jī)交互管理器5012。正如所應(yīng)當(dāng)理解的,脫機(jī)交互管理器5012借助輔助微處理器/以及脫機(jī)(例如閃存或可選擇地供電)存儲器而運行。
處理在輔助計算設(shè)備接收的數(shù)據(jù)根據(jù)本發(fā)明的一個方面,固件也可以不依賴于主計算機(jī)系統(tǒng)的聯(lián)機(jī)或脫機(jī)狀態(tài)就可以接收和處理附加的數(shù)據(jù)。從輔助設(shè)備的角度來說,主計算機(jī)系統(tǒng)僅僅是一個信息源,這種信息可以由該設(shè)備來移交,實際上,除了通過在獨立存儲介質(zhì)上存儲一個緩存外,主計算機(jī)系統(tǒng)甚至可以不與輔助設(shè)備連接。通過使用其他可用的數(shù)據(jù)源,包括當(dāng)主計算機(jī)系統(tǒng)脫機(jī)時接收的數(shù)據(jù),運行在輔助顯示器上的固件可以不依賴于主計算機(jī)系統(tǒng)是否可用而執(zhí)行動作。這樣的動作包括更新緩存應(yīng)用程序信息、向緩存中增補(bǔ)新數(shù)據(jù)或者否則提供一種向用戶提供信息的機(jī)制、產(chǎn)生一個事件、改變已經(jīng)登記的事件、登記隨后啟動的新事件、下載代碼(包括說明其他新接收數(shù)據(jù)的代碼)等等。這就允許輔助顯示器具有更多當(dāng)前的信息,并且因此向用戶顯示更多的有價值的信息。
不依賴于主計算機(jī)系統(tǒng)是聯(lián)機(jī)還是脫機(jī),假定具有硬件的輔助顯示設(shè)備,該硬件能從某些其他數(shù)據(jù)源接收無線或有線通信??山邮者@種信息的實例包括電子郵件、日程、任務(wù)、天氣、新聞、電池壽命、網(wǎng)絡(luò)狀態(tài)??梢愿淖?nèi)魏晤愋偷男畔?,并且可以存取于輔助設(shè)備硬件的這種信息都是輔助處理的候選者,而不依賴于主計算機(jī)系統(tǒng)是聯(lián)機(jī)還是脫機(jī)。
圖8和9有助于解釋輔助設(shè)備如何接收信息,該信息表示了包括從主計算機(jī)系統(tǒng)外部接收的信息。通常如圖8所示,當(dāng)聯(lián)機(jī)時,主計算機(jī)系統(tǒng)部件802(例如包括CPU和存儲器)是在輔助顯示器800上顯示的信息的主要信息源,數(shù)據(jù)傳輸通常通過如上所述的服務(wù)和協(xié)議層,其在圖8中由塊804表示。注意,在圖8中,陰影箭頭表示流入輔助顯示設(shè)備固件810的主數(shù)據(jù)流,其將電池控制器806用作數(shù)據(jù)如何通過主計算機(jī)系統(tǒng)的CPU和存儲器802到達(dá)輔助顯示器800的特定實例,諸如通過一種樹結(jié)構(gòu),或者響應(yīng)于來自輔助設(shè)備固件810的請求的需要。注意如下面參照圖9所描述,由于此數(shù)據(jù)路徑要通過主計算機(jī)系統(tǒng)的CPU和存儲器802以及服務(wù)和協(xié)議層804,所以,當(dāng)主計算機(jī)系統(tǒng)(即,部件802)脫機(jī)時,此數(shù)據(jù)路徑就不可用。盡管是可以理解的,但當(dāng)主計算機(jī)系統(tǒng)802處于脫機(jī)狀態(tài)時,輔助設(shè)備固件810仍然給出數(shù)據(jù)。
新數(shù)據(jù)的另一個數(shù)據(jù)源可以包括與主計算機(jī)系統(tǒng)802相連的現(xiàn)有硬件,例如,相應(yīng)于電池控制器806的硬件。通常,可以訪問主計算機(jī)系統(tǒng)部件802的任何硬件都很可能是數(shù)據(jù)源,如圖8中方框818和820所示。
新數(shù)據(jù)的數(shù)據(jù)源可以不耦合到主計算機(jī)系統(tǒng),并且可以特別與輔助顯示硬件/固件810相關(guān)聯(lián),并且不被主計算機(jī)系統(tǒng)所使用。例如,當(dāng)聯(lián)機(jī)時(如果脫機(jī)當(dāng)然不能向前傳送),通過無線天線/網(wǎng)絡(luò)接口接收并且固件可以使用的股票出價就不需要傳送到主計算機(jī)系統(tǒng)。例如,一個這樣的數(shù)據(jù)源是一個與SPOT無線電芯片相連的SPOT(智能個人對象技術(shù)),該芯片可以向輔助固件提供信息;如果固件知道如何處理該數(shù)據(jù),就可以從其中提取出某些內(nèi)容,以便啟動一個基于內(nèi)容的動作。
可用于為輔助設(shè)備處理提供數(shù)據(jù)的其他數(shù)據(jù)源的例子包括可以通過其他無線裝置獲得數(shù)據(jù)的部件,例如,無線LAN和藍(lán)牙,另一種FM副載波或其他無線電數(shù)據(jù)接收機(jī)、蜂窩數(shù)據(jù)硬件和/或字母數(shù)字分頁硬件。這樣的其他數(shù)據(jù)源在圖8中由方框814表示。
數(shù)據(jù)源的其他例子還包括可以通過機(jī)器本身獲得數(shù)據(jù)的部件,例如,無線LAN無線電(例如,提供信號強(qiáng)度信息)、電池控制器和/或藍(lán)牙收發(fā)機(jī)。更一般的數(shù)據(jù)源實際上包括任何類型基于輸入的傳感器,例如溫度計、光傳感器、加速度計、麥克風(fēng)、GPS接收器等等。
注意,輔助硬件的一個實施給微處理器810提供了計算機(jī)系統(tǒng)到SMBus816的訪問,因此任何附加硬件都可以由輔助顯示微控制器和固件810重復(fù)使用。圖9示出了硬件如何給微處理器810提供到計算機(jī)系統(tǒng)的SMBus816的訪問,從而任何可以通過SMBus816訪問的硬件都很有可能成為一個數(shù)據(jù)源。注意,在圖9中主計算機(jī)系統(tǒng)部件802是脫機(jī)的,因此數(shù)據(jù)流通過SMBus816,而不通過如圖8中的方框802和804。由于輔助固件可以直接訪問數(shù)據(jù)源,所以主計算機(jī)部件802可以被關(guān)閉,而數(shù)據(jù)仍然可以輸入到固件,例如緩存。
在一個實施中,正如上面所描述的,存儲在固件存儲器的脫機(jī)緩存中的信息基本上被存儲為一個樹,該樹就相應(yīng)于可顯示的數(shù)據(jù),例如,位圖或者為再現(xiàn)而結(jié)構(gòu)化的文擋(例如,HTML或XAML)。根據(jù)導(dǎo)航命令或事件訪問此緩存,以便定位要顯示的內(nèi)容。
根據(jù)本發(fā)明的一個方面,提供了一種機(jī)制,通過該機(jī)制,緩存(例如,樹)可以被輔助固件修改,而不是一個只讀緩存。為此,如果如圖8和9輔助設(shè)備硬件可以從一個或多個新數(shù)據(jù)源接收數(shù)據(jù),并且將數(shù)據(jù)提供給輔助顯示固件810,那么固件就可以為更新緩存而處理該新數(shù)據(jù),從而改變用戶導(dǎo)航(或事件)將導(dǎo)致被顯示,以及根據(jù)數(shù)據(jù)的內(nèi)容采取其他的動作。注意,新數(shù)據(jù)可以刪除緩存中的信息,但是如果它在緩存種增加大量的數(shù)據(jù),就需要可用于增加此新數(shù)據(jù)的有效存儲器,或者(例如)某種使附加存儲器可用的機(jī)制(例如,脫機(jī)修除)。
進(jìn)一步地如上所述,改變緩存的信息可以從其他數(shù)據(jù)源接收,并且增加到主計算機(jī)系統(tǒng)的應(yīng)用程序數(shù)據(jù)中。注意,通過使用樹結(jié)構(gòu)等,不管主計算機(jī)系統(tǒng)是脫機(jī)(在此情況下,緩存保留了所有的應(yīng)用程序數(shù)據(jù))還是聯(lián)機(jī)(在此情況下,緩存可以保留所有的應(yīng)用程序數(shù)據(jù)或者指向主應(yīng)用程序存儲器中的數(shù)據(jù)的參考指針),這樣的數(shù)據(jù)可以被合并。
舉例來說,假設(shè)圖10中所示的樹1000。在此例中,“體育新聞”分支包括不需要通過主處理器和存儲器獲得(例如,通過與固件連接的SPOT天線)的數(shù)據(jù),甚至是在主計算機(jī)系統(tǒng)聯(lián)機(jī)時。當(dāng)接收到這樣的數(shù)據(jù)時,該數(shù)據(jù)就作為節(jié)點1020添加到樹1000中(連同其任何子節(jié)點),并且由固件將“體育新聞”入口1050添加到主頁列表中。在這種方式中,如果用戶在主頁中選擇了入口1050,就可以顯示該輔助設(shè)備收集的數(shù)據(jù),就如同該數(shù)據(jù)是來自主計算機(jī)系統(tǒng)的正在運行的應(yīng)用程序一樣。
圖11A-11C示出了在另一個實施例中如何構(gòu)建樹1110。圖11A示出了在新信息的接收之前,樹結(jié)構(gòu)形式的輔助顯示數(shù)據(jù)緩存。在圖11B中,固件與電池控制器通信(例如響應(yīng)于一個事件或?qū)Ш矫疃{(diào)用),并獲得指示插入該機(jī)器和充電95%的數(shù)據(jù)。在圖11C中,固件根據(jù)該信息構(gòu)件一個分支,將新子樹寫到緩存樹中一個正確位置上?,F(xiàn)在該信息就可以顯示給用戶,注意,該樹可以在任何用戶或者初始事件請求察看該新數(shù)據(jù)之前構(gòu)建。
在這種方式中,任何接收的數(shù)據(jù),例如電子郵件消息或者日程設(shè)置的改變,都可以用于修改緩存中的樹(或者其他結(jié)構(gòu))。這可以改變現(xiàn)有的數(shù)據(jù),或者如前面的例子那樣向樹中添加新的數(shù)據(jù),其中此樹可以隨著新數(shù)據(jù)的接收而有規(guī)律地更新。這使用戶通過輔助顯示器可看到的信息更實時并且因此而更有價值,并且由于不需要主計算機(jī)啟動來獲得新數(shù)據(jù),也不需要在主顯示器上查看,或者僅僅重新配制樹結(jié)構(gòu)并將新數(shù)據(jù)發(fā)送到輔助顯示器上,這種方式也有助于幫助用戶節(jié)省時間和電池壽命。
應(yīng)當(dāng)注意,除了更新脫機(jī)有關(guān)導(dǎo)航的緩存數(shù)據(jù),可以處理接收的數(shù)據(jù)來執(zhí)行其它動作。例如,SMBus或其他集成電路可以包括與外部數(shù)據(jù)接收有關(guān)的其他PC硬件部件(以及例如操作系統(tǒng)的其他相關(guān)軟件)。例如,為了請求機(jī)器從無線網(wǎng)絡(luò)更新設(shè)備的數(shù)據(jù),在某一SSID上無線強(qiáng)度很強(qiáng)的硬件通知可以被處理和識別,以喚醒機(jī)器(例如從ACPI睡眠狀態(tài)S3轉(zhuǎn)換到S0)。注意,與其他喚醒機(jī)制不同,根據(jù)數(shù)據(jù)的內(nèi)容而不是檢測到新數(shù)據(jù)的任何時候自動喚醒機(jī)器,輔助處理器處理該數(shù)據(jù)來確定某個動作。
作為另一個實例,假定具有數(shù)據(jù)被盜的危險,固件可以處理SPOT“消除信號”,以便請求操作系統(tǒng)限制對主計算機(jī)系統(tǒng)的訪問。
注意,當(dāng)主計算機(jī)系統(tǒng)脫機(jī)接收到數(shù)據(jù)時,使輔助設(shè)備訪問新數(shù)據(jù)是可行的,例如當(dāng)主計算機(jī)系統(tǒng)返回聯(lián)機(jī)狀態(tài)時,通過聯(lián)機(jī)同步機(jī)制,使主計算機(jī)系統(tǒng)更新其數(shù)據(jù)。例如由于要處理新數(shù)據(jù)而不是簡單地接收數(shù)據(jù),當(dāng)主計算機(jī)系統(tǒng)返回聯(lián)機(jī)狀態(tài)時便于進(jìn)行一些事情,例如向主計算機(jī)系統(tǒng)報告數(shù)據(jù)類型(例如,電子郵件數(shù)據(jù)),可以調(diào)用適當(dāng)?shù)耐綑C(jī)制。
進(jìn)一步地,又由于要處理數(shù)據(jù),當(dāng)主計算機(jī)系統(tǒng)處于睡眠狀態(tài)時,可以喚醒某個硬件而不是其他的硬件。例如,輔助處理器可以啟動硬件驅(qū)動器,并且將新數(shù)據(jù)(或者基于該新數(shù)據(jù)的某些信息)寫入到硬件驅(qū)動器中,以便當(dāng)硬件驅(qū)動器重新啟動時,通過主操作系統(tǒng)讀取數(shù)據(jù)。
正如可以從上述描述中所看出的,本發(fā)明提供了一種更新數(shù)據(jù)的機(jī)制,其中包括新數(shù)據(jù)可用以及主計算機(jī)系統(tǒng)處于關(guān)閉(脫機(jī))狀態(tài)時,該數(shù)據(jù)都可以在輔助顯示器上顯示。因此本發(fā)明提供了當(dāng)前計算領(lǐng)域所需的有益效果和優(yōu)點。
雖然本發(fā)明可以作出各種修改和可替換的構(gòu)造,但是在附圖中示出了某些說明性實施例,并且這些實施例已經(jīng)被詳細(xì)描述。但是應(yīng)當(dāng)理解,這并不意于將本發(fā)明限制到特定的形式或所公開的形式,相反,本發(fā)明涵蓋了所有落入本發(fā)明的精神和范圍的修改、替換、構(gòu)造和等同物。
權(quán)利要求
1.在一種具有主計算機(jī)系統(tǒng)和獨立于該主計算機(jī)系統(tǒng)運行的輔助設(shè)備固件的計算環(huán)境中,一種方法包括所述輔助設(shè)備固件從一個數(shù)據(jù)源而不是所述主計算機(jī)系統(tǒng)接收數(shù)據(jù);根據(jù)所述數(shù)據(jù)在所述輔助設(shè)備中處理所述數(shù)據(jù),以便采取一種動作,從而不依賴于所述主計算機(jī)系統(tǒng)是否聯(lián)機(jī),來確定所采取的動作。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述輔助設(shè)備接收數(shù)據(jù)的步驟包括連接到所述主計算機(jī)系統(tǒng)并且正在運行的硬件那里接收數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述輔助設(shè)備接收數(shù)據(jù)的步驟包括從遠(yuǎn)離所述主計算機(jī)系統(tǒng)的數(shù)據(jù)源那里接收數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括更新從所述主計算機(jī)系統(tǒng)那里獲得數(shù)據(jù)的緩存。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述緩存包括一種樹結(jié)構(gòu),并且其中更新所述緩存的步驟包括向所述樹結(jié)構(gòu)中添加一個新分支。
6.根據(jù)權(quán)利要求4所述的方法,其中,所述緩存包括一種樹結(jié)構(gòu),并且其中更新所述緩存的步驟包括修改所述樹結(jié)構(gòu)中的數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括喚醒所述主計算機(jī)系統(tǒng)。
8.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括產(chǎn)生一個事件。
9.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括登記一個隨后要啟動事件。
10.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括改變一個登記的事件。
11.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括在一個輔助設(shè)備上顯示有關(guān)電池的信息。
12.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括處理有關(guān)網(wǎng)絡(luò)的數(shù)據(jù)。
13.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括,向所述主計算機(jī)系統(tǒng)提供對從其他數(shù)據(jù)源接收的數(shù)據(jù)的訪問。
14.根據(jù)權(quán)利要求1所述的方法,其中,處理所述數(shù)據(jù)以便采取一種動作的步驟包括在存儲器中保存至少一些所述數(shù)據(jù),用于當(dāng)所述主計算機(jī)系統(tǒng)聯(lián)機(jī)時,與所述主計算機(jī)系統(tǒng)同步。
15.一種具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì),當(dāng)執(zhí)行所述介質(zhì)時運行權(quán)利要求1所述的方法。
16.在一種具有一主計算機(jī)系統(tǒng)的計算環(huán)境中,一種系統(tǒng)包括一種輔助設(shè)備,所述輔助設(shè)備被配置為不依賴所述主計算機(jī)系統(tǒng)是否聯(lián)機(jī)而運行;一種耦合到所述輔助設(shè)備的機(jī)制,所述機(jī)制從一種數(shù)據(jù)源而不是所述主計算機(jī)系統(tǒng)接收數(shù)據(jù);其中,所述輔助設(shè)備處理從所述其他數(shù)據(jù)源接收的數(shù)據(jù),以便不依賴于所述主計算機(jī)系統(tǒng)是否聯(lián)機(jī)而采取一種動作。
17.如權(quán)利要求16所述的系統(tǒng),其中,所述其他數(shù)據(jù)源包括連接到所述主計算機(jī)系統(tǒng)并且正在運行的硬件。
18.如權(quán)利要求16所述的系統(tǒng),其中,所述其他數(shù)據(jù)源遠(yuǎn)離所述主計算機(jī)系統(tǒng)。
19.如權(quán)利要求16所述的系統(tǒng),其中,所述輔助設(shè)備通過更新數(shù)據(jù)緩存來采取動作,并且其中從所述主計算機(jī)系統(tǒng)獲得至少一部分所述緩存。
20.如權(quán)利要求19所述的系統(tǒng),其中,所述緩存包括一種樹結(jié)構(gòu),所述輔助設(shè)備根據(jù)從所述其他數(shù)據(jù)源接收的數(shù)據(jù)擴(kuò)展所述樹結(jié)構(gòu)。
21.如權(quán)利要求19所述的系統(tǒng),其中,所述緩存包括一種樹結(jié)構(gòu),所述輔助設(shè)備根據(jù)從所述其他數(shù)據(jù)源接收的數(shù)據(jù)修改所述樹結(jié)構(gòu)。
22.如權(quán)利要求16所述的系統(tǒng),其中,所述輔助設(shè)備通過喚醒所述主計算機(jī)系統(tǒng)來采取動作。
23.如權(quán)利要求16所述的系統(tǒng),其中,所述輔助設(shè)備通過登記、產(chǎn)生或改變一個登記的事件來采取動作。
24.如權(quán)利要求16所述的系統(tǒng),其中,所述輔助設(shè)備通過在所述輔助設(shè)備的顯示器上顯示信息來采取動作。
25.如權(quán)利要求16所述的系統(tǒng),其中,所述輔助設(shè)備通過在存儲器中保存至少一些所述數(shù)據(jù)來采取動作,用于當(dāng)所述主計算機(jī)系統(tǒng)聯(lián)機(jī)時,與所述主計算機(jī)系統(tǒng)同步。
26.在一種具有一主計算機(jī)系統(tǒng)的計算環(huán)境中,一種系統(tǒng)包括一種輔助設(shè)備,所述輔助設(shè)備根據(jù)一個脫機(jī)緩存中的數(shù)據(jù)向一個用戶顯示信息,所述數(shù)據(jù)來自主計算機(jī),用于當(dāng)所述主計算機(jī)脫機(jī)時使用;一種耦合到所述輔助設(shè)備的機(jī)制,所述機(jī)制從一種數(shù)據(jù)源而不是所述主計算機(jī)系統(tǒng)接收數(shù)據(jù);其中,所述輔助設(shè)備處理從所述其他數(shù)據(jù)源接收的數(shù)據(jù),以便更新所述脫機(jī)緩存,這樣所述新信息可在所述輔助設(shè)備上顯示。
27.如權(quán)利要求26所述的系統(tǒng),其中,所述輔助設(shè)備顯示一個包括至少一些所述新信息的圖像。
28.如權(quán)利要求26所述的系統(tǒng),其中,所述新信息包括有關(guān)電池的信息。
29.如權(quán)利要求26所述的系統(tǒng),其中,所述新信息包括網(wǎng)絡(luò)信息。
30.如權(quán)利要求26所述的系統(tǒng),其中,所述新信息包括可以頻繁改變的內(nèi)容。
31.如權(quán)利要求26所述的系統(tǒng),其中,所述新信息包括一組內(nèi)容數(shù)據(jù)中的至少一類內(nèi)容數(shù)據(jù),所述一組內(nèi)容數(shù)據(jù)包括新聞數(shù)據(jù)、體育數(shù)據(jù)、天氣數(shù)據(jù)、金融數(shù)據(jù)以及有關(guān)出價的數(shù)據(jù)。
全文摘要
描述了一種機(jī)制,該機(jī)制用于在與一個主計算機(jī)系統(tǒng)相聯(lián)系的輔助設(shè)備那里接收新數(shù)據(jù),并且在該輔助設(shè)備固件中處理該新數(shù)據(jù),以便采取某種動作。數(shù)據(jù)的接收和處理依賴于主計算機(jī)系統(tǒng)是處于開機(jī)(聯(lián)機(jī))狀態(tài)還是關(guān)機(jī)(脫機(jī))狀態(tài)。為脫機(jī)導(dǎo)航數(shù)據(jù)保存用戶應(yīng)用程序數(shù)據(jù)的緩存可以用新數(shù)據(jù)更新,或者改變緩存中現(xiàn)有的數(shù)據(jù)或者添加新的導(dǎo)航路徑。根據(jù)輔助處理所確定的數(shù)據(jù)內(nèi)容,可以處理所接收的數(shù)據(jù),以便執(zhí)行其他動作。
文檔編號G06F1/16GK1716177SQ200510089609
公開日2006年1月4日 申請日期2005年5月8日 優(yōu)先權(quán)日2004年5月3日
發(fā)明者A·J·福勒, C·A·邵帕, C·A·斯蒂, J·佩雷斯, M·P·羅頓, N·V·多根, S·歐塔 申請人:微軟公司