專利名稱:用于在計算機系統和輔助顯示器之間交換數據的方法和系統的制作方法
技術領域:
本發明一般涉及計算機系統,尤其涉及用于在計算機系統和輔助設備之間發送信息的系統和方法。
背景技術:
美國專利申請號為“10/429,930”以及“10/429,932”的申請一般涉及具有提供某些輔助計算功能的輔助處理和輔助機制的計算機系統的概念。例如,在蓋板或膝上型計算機邊緣上的小的LCD,甚至當主計算機顯示器不容易看見時,例如,當膝上型計算機的蓋板關閉和/或主計算機關閉電源時,可提供給它的擁有者有用的信息,諸如會議地點和時間。諸如按鈕的控制可被提供以允許用戶與輔助設備交互以查看不同類型的數據,諸如通過在日歷數據中的約會的滾動、讀取郵件消息、讀取指令等。
某些類似于構建進移動主計算機、移動電話、音樂播放設備、袖珍型個人計算機、個人數字助理等的輔助LCD屏幕可作為對于主計算機的輔助設備,當該輔助LCD屏幕被物理地和/或通過無線(例如,藍牙或紅外線)鏈接被連接到主計算機時,只要設備被編程以允許它的顯示器和/或其他功能被主計算機所轉動。一般地,任何具有實際上能以任何方式與計算機系統接口的I/O能力的設備潛在的能作為輔助計算設備。
然而,存在許多可作為計算機系統的輔助顯示器的多種設備。例如,某些設備可通過諸如USB硬連線連接與計算機系統連接,而其他設備可通過諸如802.11、802.16或藍牙的無線協議與計算機系統連接。某些諸如“智能”移動電話以及袖珍型計算設備合理地提供好的圖像、可用的存儲器、以及可已經被排列以某些方式與主計算機系統連接。其他設備是更加被限制的,然而,例如,可僅僅提供單行文本、燈光、和/或音頻。與此同時,存在多種類型的可在主計算機系統上運行并可受益于能輸出信息至輔助顯示器的軟件程序。
需要的是一種用于硬件設備的制造方式,該硬件設備被用于作為以需要對于當前的硬件設備做出很少更改(如果有的話)的方式與主計算機系統接口的輔助顯示器。與此同時,這樣的解決方案應該允許應用程序被寫以不依賴于實際在使用的輔助顯示器的類型而使用輔助顯示器。
發明概要簡要地,本發明提供一種系統和方法,運行在主計算機系統上的應用程序通過該系統和方法與輔助顯示器設備(諸如蜂窩電話機、袖珍型計算機、時鐘、電視機、數字化圖像幀等)通信以在設備、遠程控制能力、以及通知上提供可視的信息。為此,諸如由獨立軟件供應商編寫的應用程序等通過應用編程接口(API)組與輔助顯示器平臺通信,該應用編程接口按需把信息轉換成由輔助計算設備的設備驅動器所理解的格式。設備驅動器按期望過濾信息并且把其格式化以用于它具體的可通過任何有線的或無線連接耦合到系統的硬件設備。設備驅動器把數據轉發至適當的硬件接口用于傳送至輔助設備。也提供從輔助設備至主計算機系統的返回通信路徑。
通過抽象化輔助設備的類型和/或它如何被連接,只需要預定的協議和數據格式用于程序與多種各種可能具有不同能力的設備通信。為了使用輔助顯示器,獨立的軟件供應商僅對輔助顯示器平臺調用API,提供對應于以用于API協議的格式的形式的數據一參數(或多個參數)。此后,數據被轉換成由與輔助顯示器平臺接口的設備驅動器理解的格式,由此設備驅動器可在轉發信息之前按需調整信息以傳輸硬件接口用于傳送到它的相應的輔助設備。
在一可供選擇的實施例中,硬件供應商可選擇實現基于微軟的固件(例如,包括基于TinyCLR的固件棧)并從而保證用戶將接收完整的輔助設備經驗。例如,如果被配置基于TinyCLR的固件棧,那么由于通過API提供的任何程序數據的由輔助設備處理的能力是已知的,則需要很少(如果有的話)的過濾。數據通過協商好的格式/協議所發送,因此設備驅動器和/或API層僅需要把提供應用程序的數據轉換到適當的格式并根據對于硬件傳輸的協議把它轉發。由于輔助設備的類型已知具有適當的固件棧,那么格式可以是專有的。
在另一可供選擇的實施例中,可能減少(但依然是有價值的)的經驗對于那些相對于處理通過相同API提供的程序數據而言具有更簡單的需要以及能力的設備是可用的。為此,運行在主計算機系統上的設備驅動器實現定義的硬件接口以無縫地擴展輔助顯示器平臺至任何類型的輔助設備。以上設備驅動器內的組件可過濾和/或轉換ISV提供的數據,以使數據以設備驅動器理解的預定格式被提供至設備驅動器。設備驅動器也可適當地過濾它的相應于輔助設備的數據,例如,當這樣的設備只能顯示文本時,對于它的相應的輔助設備從數據中移除圖像。能運行代碼的硬件設備可選擇以具有某些或實質上所有運行在設備上而不是主計算機的設備驅動器內的設備驅動器功能。
注意不管使用的連接機制是什么,多數由設備驅動器使用的用以提供數據至硬件傳輸接口的接口/有線協議可被定義為相同的。結果,雖然實際連接機制可能是不同的,但是設備驅動器可共享某些代碼。通過使用這種機制,設備看起來似乎一致地工作而不管它們如何被附加。
除了與諸如移動電話和第二計算機的輔助顯示器一起工作之外,本發明也可用于擴展主計算機的能力以與先前的專用設備通信,該專用設備諸如電視機、收音機、其他媒體播放器、基于圖像的數字圖像幀、包括掛鐘和鬧鐘的時鐘等。通過某些軟件以及少許或沒有硬件附加物,這樣存在的設備可通過允許它們與主計算機系統結合以擴展它們的應用。平臺在硬件和軟件內是可擴展的以使這樣的情況成為可能。與此同時,由于應用程序代碼僅需要被寫一次以使其在多個各種設備上運行而不需要額外的工作以把程序適應于不同的輔助設備,所以與來自獨立軟件供應商的觀點的輔助設備通信的任務被大大簡化。
其他優點將結合附圖從以下詳細的描述中變得明顯,其中
圖1是以傳統的個人計算機系統的形式展現通用計算設備的框圖,本發明可被結合在該計算設備中;圖2A-2E是一般展現了在各種設備上的輔助顯示器的放置的位置的典型說明;圖3是一般展現了根據本發明的一個方面的示例分層架構的框圖,應用程序可通過此架構與任意輔助顯示器設備的固件交換數據;圖4是在一根據本發明的一個方面的實現中,察覺輔助的應用程序如何與輔助顯示器平臺接口以與多個輔助顯示器設備交換數據的實例展現;圖5是在一根據本發明的一個方面的實現中,察覺輔助的應用程序如何與輔助顯示器平臺接口以與基本輔助顯示器設備交換數據的實例展現;以及圖6是在一根據本發明的一個方面的實現中,察覺輔助的應用程序如何與輔助顯示器平臺接口以與增強的輔助顯示器設備交換數據的實例展現。
詳細描述典型操作環境圖1是以個人計算機系統的形式展現計算設備120的框圖,其中本發明可與該計算設備結合。本領域的技術人員可理解圖1所描述的個人計算機系統120僅僅用于說明并且本發明也可結合其他計算機系統配置所實現,包括手持設備、基于微處理器的或可用戶編程的電器、網絡PC、小型機、大型計算機、對等服務器等。本發明也可以在分布的計算環境中實踐,在此由通過通信網絡而連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以定位于包括存儲器儲存設備的本地和遠程計算機存儲介質。
個人計算機系統120的組件包括處理單元121、系統存儲器122、以及將包括該系統存儲器在內的各種系統組件耦合至處理單元121的系統總線123。系統總線123可以是幾種總線結構類型中的任何一種,包括存儲總線或存儲控制器、外圍總線和使用各種總線體系結構的任一種的局域總線。系統存儲器包括只讀存儲器(ROM)124和隨機存取存儲器(RAM)125。包含如在啟動期間幫助在個人計算機120內各元件之間傳送信息的基本例行程序的基本輸入/輸出系統126(BIOS),通常存儲在ROM 124中。個人計算機120還可以包括從硬盤(未示出)讀出或寫入硬盤(未示出)的硬盤驅動器127、從可移動磁盤129讀出或寫入可移動磁盤129的磁盤驅動器128、以及從諸如CD ROM或其它光學介質的可移動光盤131讀出或寫入可移動光盤131的光盤驅動器130。硬盤驅動器127、磁盤驅動器128、以及光盤驅動器130分別通過硬盤驅動器接口132、磁盤驅動器接口133、以及光盤驅動器接口134與系統總線123連接。驅動器及其它們相關的計算機可讀介質為個人計算機120提供了計算機可讀指令、數據結構、程序模塊和其它數據的非易失性存儲。雖然在此描述的典型計算機系統使用硬盤、可移動磁盤129以及可移動光盤131,本領域的技術人員可以理解的是可由計算機訪問的,諸如磁帶、閃存卡、數字視頻磁盤、Bernoulli盒式磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)等也可被用于典型計算機系統內。
多個程序模塊可被存儲在硬盤、磁盤129、光盤131、ROM124或RAM125上,該程序模塊包括操作系統135(諸如Windows XP)、一個或多個應用程序136(諸如Microsoft Outlook)、其他程序模塊137和程序數據138。用戶可通過諸如鍵盤140和定位設備142的輸入設備輸入命令和信息至個人計算機120中。其他輸入設備(未示出)包括麥克風、操縱桿、游戲墊、圓盤式衛星天線、掃描儀等等。這些和其他輸入設備通常由被耦合到系統總線的串行端口接口146連接到處理單元121,但也可由其他接口接連,諸如并行端口、游戲端口或通用串行總線(USB)。監視器147或其它類型顯示設備也可以通過諸如視頻接口148的接口連接到系統總線123。除了監視器147,個人計算機一般包括諸如揚聲器和打印機的其他外圍輸出設備(未示出)。輔助顯示器200是額外的輸出設備,并可以例如,通過輔助顯示器接口155與系統總線123相連。輔助顯示器101也可通過串行接口或其他諸如并行端口、游戲端口、紅外線或無線連接、通用串行總線(USB)或其他外圍設備連接的接口與計算設備120連接。圖1中的輸入設備201可提供一個或多個驅動器以與輔助顯示器200接口和/或控制輔助顯示器200,并且例如可以是輔助顯示器設備的一部分,但是可選擇的是獨立于輔助顯示器設備并且通過輸入設備接口156或其他接口與系統總線123連接,該輸入設備接口可以是串行接口,或其他接口諸如并行端口、游戲端口、紅外線或無線連接、通用串行總線(USB)或其他外圍設備連接。
個人計算機120可以在網絡化的環境中運行,該環境使用與一臺或多臺諸如遠程計算機149的遠程計算機的邏輯連接。遠程計算機149可以是另一臺個人計算機、服務器、路由器、網絡個人計算機、對等設備或其它共用網絡節點,通常包括以上描述的和個人計算機120相關的多個或全部元件,盡管在圖1中只示出了記憶存儲設備150。在圖1中描繪的邏輯連接包括局域網(LAN)151和廣域網(WAN)152。這樣的網絡環境在辦公室、企業范圍的計算機網絡、內聯網和因特網中是普遍的。
當在LAN網絡環境中使用時,個人計算機120通過網絡接口或適配器153連接到LAN151。當在WAN網絡環境中使用時,個人計算機120通常包括調制解調器154或通過諸如因特網的廣域網152建立通信的其他裝置。調制解調器154可以是內置的或外置的,通過串行端口接口146連接到系統總線123。在一網絡化的環境中,所描述的和個人計算機120相關的程序模塊或其中的各個部分可以存儲在遠程存儲器存儲設備內。可以理解的是所示的網絡連接是示例的,也可以使用在計算機間建立通信鏈路的其他裝置。
應該注意的是根據本發明,計算機系統不需要對于輔助設備的工作而言是完全可操作的。實際上,當計算機電源關閉時,輔助設備至少對于默認的程度或對于由用戶配置的程度依然工作,諸如當計算機系統在睡眠狀態或休眠模式和/或當用戶還沒有登錄或通過安全機制被鎖定在系統之外時。
當主顯示器被關閉或不操作(例如,斷開連接)時,輔助設備可補充主顯示器并也可作為代理顯示器以給出用戶某些信息。例如,由于當主顯示器關閉和/或不容易看見(例如,膝上型電腦的蓋板被關閉)時,會議的房間號和/或方向將顯示在連接到移動計算機的用戶可見的輔助顯示器設備上,所以諸如如何給主顯示器加電的信息是有用的。輔助設備可播放音頻和/或視頻、顯示圖像、顯示日歷信息、顯示電子郵件等。
為了在這些電源關閉的模式下能使用通信和控制通信,固件可存在、被存儲于非易失性存儲器內,當由第二處理器加載并由第二處理器在其上執行時,只要某些電源是可用的,非易失性存儲器使輔助顯示器與其他輔助組件可被使用。注意如在此所用的,術語“固件”和“設備硬件”實質上是相等的,并且一般被考慮為展現輔助存儲器、其中的代碼和/或該代碼在其上運行的第二處理器。
如2A-2E示出了分別與用于輔助顯示器屏幕200a-200e的擺放的計算設備上的或與之關聯的典型位置。如圖2A和2B展現的,輔助顯示器屏幕200a可被放置于獨立的(陸上通信線或移動)電話202的前面、后面或其他面(如果是諸如通過藍牙技術的鏈接,那么不需要被物理地耦合),和/或另一個放置于移動計算機204或便攜式計算設備(為示出)邊緣或蓋板的輔助顯示器屏幕200b。另一個輔助顯示器屏幕200c(圖2C)的位置可以在計算機或附加于計算機的諸如監視器206或鍵盤(未示出)的外圍設備的安裝的電話上。圖2D和2E分別示出了在連接到計算機或某些其他外殼(諸如用于主板的外殼)的獨立控制臺208的前面板的輔助顯示器屏幕200d和200e的其他的放置。本領域的技術人員可以理解的是輔助顯示器屏幕可以被放置在任何計算設備或其他具有顯示能力的設備的任何表面,諸如被放置在具有對于計算機無線或其他連接的表、在遠程控制設備上、在遠程壁裝式單元上等。實際上,由于連接可通過LAN或WAN、或甚至通過因特網,所以輔助顯示器不需要物理地接近于主計算機系統。
應該從圖2A-2E中明顯看出,輔助顯示器能以任何數量的諸如一個或多個LED、2線字母數字顯示器、單色顯示器、或彩色顯示器的已知顯示器的形式存在。本領域的技術人員可理解的是本發明也使用其他計算或通信設備的顯示器作為輔助顯示器200。這些其他計算或通信設備包括通用計算機、蜂窩電話、以及諸如尋呼機或個人數字助理(PDA)的手持設備。此外,本發明使用在計算設備120的屏幕上顯示區域內(例如,圖像用戶界面的屏幕保護或組件)實現的虛擬輔助顯示器作為輔助顯示器200,包括在用戶登錄之前。輔助顯示器200可包括以上描述的任何形式的組合,并也可物理地或邏輯地與諸如一個或多個LED和/或與虛擬輔助顯示器結合使用的指示器組合。
輔助設備可在沒有屏幕,或當它的屏幕電源關閉時提供功能。例如,輔助設備可播放音頻、搜集數據(例如,用于稍后對于主計算機的下載)、執行計算等。并且,顯示器可包括一個或多個LED等而不是全屏幕。因此,雖然從具有輔助顯示器屏幕可獲得很多好處和優點,并因此輔助設備在此可稱為輔助顯示器,但是不需要顯示器。一般地,在此稱為的輔助顯示器實質上可由任何可被感知的,包括任何可視的、可聽的、和/或觸覺表示所組成。
與輔助顯示器交換數據本發明一般涉及與輔助設備的通信,諸如提供通知以及其他用于顯示在輔助設備顯示器上的內容,并可能地獲取來自顯示器的返回信息,諸如基于用戶與輔助設備的交互。如可被理解的,有許多類型的可被作為輔助顯示器設備的設備存在,包括那些不是必定具有顯示器但是可提供某些諸如聲音或光線的輸出的設備。雖然在此使用了多個例子,包括在膝上型電腦的蓋板、移動電話、袖珍型個人計算機、基于圖像的數字圖片幀、廚房顯示器、電視機、媒體播放機、包括鬧鐘、掛鐘等的鐘等上的顯示器,本發明不受這些例子中的任何例子的限制,而是預期任何能輸出感覺信息的設備的使用,即使在此稱為輔助“顯示器”。例如,其他類型的設備包括嵌套于消費者電子設備(諸如冰箱、家庭影院接收器、DVD播放機等)內的輔助設備或使用消費者電子設備(諸如冰箱、家庭影院接收器、DVD播放機等)的主顯示器的輔助設備、壁顯示器、自動的、傳送或其他車載單元(例如,使用已經在車/火車/飛機內的顯示器作為輔助顯示器)、鍵盤或其他主計算機系統的輸入設備、PDA(包括非蜂窩電話PDA)等。
類似地,本發明不受任何用于把輔助顯示器耦合至另一計算系統的具體機制的限制,因此不受在此使用的有線的或無線的例子的限制。連接可相對的近或相對的遠,實質上可以是任何位置,諸如通過LAN或WAN,或通過在因特網上的虛擬私密連接。
參考附圖的圖3,顯示了例子結構,該架構通過API組304對包括應用程序302以及其他程序(例如,操作系統組件)的客戶機顯示了輔助設備300和/或301。API 304提供用于各種功能的API,包括使用系統注冊客戶機應用程序306(程序的組件或可能是程序本身)、發送內容至附加的設備、發送通知至附加的設備、以及從附加的設備接收事件。事件可包括導航事件、內容請求事件、內容更改事件等。
為了與本發明的一個方面一致,API組304的使用僅僅對客戶機顯示“輔助顯示器系統”;沒有對單獨設備的直接訪問。結果,對于獨立的軟件供應商,在注冊程序組件作為客戶機應用程序(通過API組304)之后,內容可通過使用另一對于相同API組304的調用而被發送至任何輔助設備,而不管設備的實際類型和能力。雖然用戶經驗可以是不同的,但是程序不需要適應于存在的輔助設備。注意的是盡管應用程序可獲取有關輔助設備的能力信息,并可基于能力選擇不同地執行,但是應用程序不需要這么做以使用設備。這是由于本發明提供處理進一步通信的架構,把應用程序從包括對任何具體設備設計的數據的復雜任務中解放出來。
API層304被寫在便攜式設備API組310上,該便攜式設備API組可通過用戶模式驅動器框架312與設備的驅動器進程通信。便攜式設備API組310把輔助顯示器映射到便攜式設備的分類并且它允許設備的能力的枚舉。這被封裝在用戶模式驅動器內,然而,不顯示給客戶機應用程序306。
一般地,客戶機應用程序306直接發送通知到輔助設備。設備可以顯示通知以及基于由主計算機系統提供的數據生成它自己的通知。圖3顯示的其他組件(可選的)包括可在輔助顯示器上提供通知的通知客戶機316。例如,即使當諸如日歷程序的應用程序不在運行時,提供相應于該程序的計劃好的通知是理想的;通知客戶機316使這樣的情況成為可能。注意如以下結合圖4-6描述的,在應用程序層之下以及在設備驅動器324和325之下的組件一般可稱為“輔助顯示器平臺”。
參考硬件供應商的觀點,一般地,每個輔助顯示器供應商提供相應的輔助設備驅動器324,盡管如果設備以某種方式建立,設備驅動器可通過輔助顯示器平臺的提供者所提供。更具體地,如以下描述的,某種類型的輔助設備被考慮成“增強的”顯示器由于它們與某個固件一起配置,該固件在其他固件中是一般與通過API 304接收的任何信息兼容的固件。對于這樣的設備,設備驅動器325可以是相同的(并因此可由輔助顯示器平臺提供者所提供),一般用于執行某些直接的任務,諸如把API接收到的信息轉換成輔助設備固件可理解的適當的格式。對于在此稱為“基本”顯示器的其他輔助設備,驅動器不需要與設備的能力兼容,并且如此輔助顯示器供應商需要提供對于設備或設備的類的定制的驅動器。
在任何事件中,用戶模式驅動器框架提供用于把設備驅動器(例如,324和325)耦合至輔助顯示器平臺的設備驅動器接口(DDI)。然后,驅動器將相應于API接收到的信息的數據轉發至適當的硬件接口(傳送器)用于對輔助顯示器設備的通信。例如,在圖3中,基本設備驅動器324被顯示成轉發數據(通過先前定義的協議)到遠程棧和驅動器327用于對設備300的無線(例如,藍牙、WiFI、紅外的AM/FM等)通信,而增強的設備驅動器325被顯示成轉發數據至基于USB的硬件328,雖然其他類型的傳送包括諸如基于TCP/IP的傳送的網絡傳送是可行的。如被理解的,這些連接僅僅為了例子的目的而顯示,如同任何設備驅動器可轉發數據用于適當的無線或有線的通信。
注意的是如圖4展現的,多個設備可被耦合到計算機以同時作為輔助顯示器。用戶可配置(例如,通過系統數據提供者組件308的控制面板等)哪個客戶機應用程序的數據被顯示在哪個設備上。系統數據提供者308也提供諸如時間數據、無線信號強度數據、計算機的音量和靜音狀態,和/或電池水平數據的信息給輔助顯示器。在一實現中,只要客戶機應用程序306發送內容,輔助顯示器平臺430控制系統維護的矩陣432以確定哪個或哪些設備接收信息。用于不同設備類型的某些內容解釋可在該級別發生,也可能在如以下描述的其他設備驅動器級別上以及在設備驅動器內的級別上發生。輔助顯示器平臺430的API也可從輔助設備發送事件等到應用客戶機應用程序,再次使用矩陣以適當地發送事件返回至一個客戶機應用程序(或多個客戶機用程序)。
如以下描述的,某些可被下載至輔助設備的內容包括通知。當用戶在一輔助設備上解除通知時,用戶一般要該通知在其他輔助設備(一個選擇是用戶配置的)上被解散。為此,當從輔助設備發送的返回信息指示具體通知被解散時,輔助顯示器平臺發送解散指令到每個通知已經被發送到的其他輔助設備。
參考圖5和6,“增強的”顯示器是運行輔助顯示器平臺已知的具體固件棧的顯示器。例如,在當前的實現中,這樣的固件包括TinyCLR組件并支持TinyCLR對象串行化。基本顯示器是任何不運行輔助顯示器平臺已知的棧的顯示器。
圖5是用于使用基本顯示器500作為輔助顯示器的組件的表示。一般地,程序302做出如上描述的對于輔助顯示器平臺430的API調用。知道哪個設備(或哪些設備)發送輔助信息的輔助顯示器平臺430也知道每個設備是否是增強的顯示器或基本顯示器。在該例子中,設備是基本顯示器500,如此輔助設備傳送以基本內容格式提供的作為任何基本設備驅動器支持的API參數的數據。
這樣的基本內容格式是基于XML的,并且因此基本設備驅動器550需要能夠解析XML。如果理想的,包括對于系統XML解析器的調用的功能的庫552可由設備驅動器所影響。設備驅動器500按需過濾和/或轉變信息以用于它具體的設備,并把它轉發至傳送器用于與基本輔助顯示器設備通信。
如可看到的,平臺是可擴展的以使基本設備在很少或沒有更改的情況下被支持。一般地,僅僅必要的組件是用于特定設備的設備驅動器。
在某些情況下,基本設備在沒有對設備的固件/軟件更改的情況下被運行。例如,某些設備已經響應調制解調器命令(GSM AT)并能輸出數據。因此,設備驅動器550(或可能的較高級組件)可變換數據并插入適當的調制解調器命令,由此輔助設備可在沒有硬件更改或需要重編程的情況下顯示數據。任何其他設備已經支持的其他格式和/或定義的交互機制可被類似地使用。
然而,這不總是可能的,因此某些輔助設備需要額外的固件以作為輔助顯示器。注意的是某些輔助設備允許代碼被下載并且在設備上運行。在任何事件中,為了作為輔助顯示器,由設備供應商決定基本設備提供什么能力,以及在設備驅動器(一般也是由設備供應商提供的)和設備固件之間如何分配功能。
如被理解的,如此至少有兩個級別,數據可在被發送至基本輔助顯示器500之前在該級別上被轉變、過濾和/或轉換,也就是說,在輔助顯示器平臺和設備驅動器550內。正如一個一般的目標是使程序的API調用獨立于任何具體設備類型,從而轉換器需要根據設備的能力而變化,如設備驅動器一般是要被保持相對的小。
如一個例子,通知一般使用來自程序302觀點的相同的通知API而不管設備的能力。如此,標題、文本以及諸如圖像、圖標、按鈕、菜單等的可選信息被指定為參數。不具有圖像能力的設備將具有剝取了除了文本之外的任何信息的信息,并且甚至文本可通過諸如隨著時間交替行而被修改以適應具體的設備顯示器。
如另一個例子,API被提供用于內容下載,諸如填充到設備上的高速緩沖存儲器。在設備不具有高速緩沖存儲器和定義的導航框架的事件中,輔助顯示器平臺可提供導航框架,該框架可在請求后執行諸如取出下一個項的任務、在鏈接被選擇后提供相應于不同頁面的不同位圖等。
參考圖6,對于增強的設備600,本質上而言唯一的請求是建立數據管道和例如通過串行轉換器640發送串行化的對象。用戶模式驅動器可用于所有增強的顯示器而不管連接類型,然而,更直接的是對于每個設備每個連接類型使用一個驅動器。在任何事件中,驅動器660負責把API提供的數據和命令翻譯成某些基于TinyCLR的設備能理解的內容。一般地,由于固件操作對于輔助顯示器平臺的提供者是已知的,被發送的對象本質上可以是任何同意的輔助顯示器平臺、增強的設備驅動器以及增強的設備對象。
內容一般被下載到增強的設備上的高速緩沖存儲器中,并且然后設備本身按所希望地處理內容。注意的是這要考慮到斷開連接的使用以及使多個應用程序在提供內容的系統上運行,使得每次運行一個應用程序以訪問在輔助顯示器上高速緩存的內容。通知將通過設計利用當前運行的應用程序。通知可以任何合適的次序被排列用于表示,諸如以FIFO(先進先出)的方式排列,雖然容易理解的,在通知的類型中依然存在不同的優先級(例如,對于緊急的、當前的通知等相對于普通或舊的通知而言可被給于較高的優先級)。
在一實現中,如圖6展現的,為了導航和顯示被高速緩存的內容,設備應用程序669和外殼程序670運行在TinyCLR框架674和組件676上,該組件解釋、導航、和顯示數據。一般地,外殼程序670提供主頁、非客戶機區域(在設備的屏幕上的區域,當顯示器打開時無論其他何種內容正被顯示在設備上,該區域總是可見的,該區域一般被用以顯示通常需要的對象,諸如時鐘、電池指示符、網絡指示符)、菜單和輔助顯示器設備的一般外觀和感覺。提供的數據可以屏幕的有向圖的形式存在或被修改為屏幕的有向圖,每個有向圖由TinyCLR FORM對象作為根的TinyCLR VIEW對象的可視樹。外殼層從固件的較低層接收按鈕事件、解釋它們、并且在數據內適當地導航。外殼程序670也通過如上描述的輔助顯示器平臺接受來自主計算機系統的通知請求,并且當它從高速緩存管理器672得知內容被需要(例如,丟失)時發出請求至主計算機系統以提供新的內容。外殼程序670也顯示定時的通知,可在主計算機系統不被連接的時候發生。
離線高速緩存管理器672包括寫在TinyCLR 676頂部的匯編,該匯編管理存儲在設備上的數據項的高速緩存。該組件也執行某些存儲器管理,處理系統應用程序可提供比設備能存儲的數據多的數據的事實。如果固件修改數據高速緩存,那么該組件追蹤該信息,并且把事件公布給系統上的應用程序以讓其立即知道當機器恢復上線時,主計算機系統是在線的還是不在線的。高速緩存管理器可通過接口被顯示給驅動器660。
應該注意的是輔助設備可被通過它們的廠商配置以具有在以上描述的能力以上的擴展的能力。為此,一個或多個硬件組件與棧內的驅動器一起被增加以顯示任何新的組件給輔助設備和輔助顯示器平臺的其余。這樣的硬件擴展在與此共同待批的名為“Extensible Architecture for Auxiliary Displays”(輔助顯示器可擴展的架構)的專利申請中被描述,并且在此結合作為引用。
如從以上描述可看出,本發明提供輔助顯示器平臺,應用程序可通過該平臺被寫入以發送信息至輔助顯示器,而獨立于實際正在使用的輔助顯示器設備的類型。與此同時,輔助顯示器平臺使硬件設備的廠商能具有那些在對硬件做很少更改(如果有的話)的情況下被用作輔助顯示器的設備。如此本發明提供在當代計算中需要的多種好處和優點。
盡管本發明容易受多種修改和可供選擇的構造的影響,其中某些示出的實施例在附圖中示出并已經在以上被詳細描述。然而,應該理解的是,沒有要把本發明限制于公開的特定的一種形式或多種形式,相反,是要涵蓋所有在本發明的精神和范圍內的修改、可供選擇的構造、以及同等物。
權利要求
1.在一具有主計算機系統和耦合到所述主計算機系統的輔助設備的計算環境內,一系統包括在主計算機系統上的輔助平臺,所述輔助平臺包括,(a)接收來自運行在主計算機系統上的程序的調用的應用程序接口,包括具有一組至少一個參數的調用,所述參數對應于對輔助設備通信的信息,所述至少一個參數的組獨立于任何特定輔助設備硬件;以及一設備驅動器接口,所述設備驅動器接口把輔助平臺耦合到與輔助設備關聯的設備驅動器;以及其中所述輔助平臺把信息轉換成設備驅動器理解的格式以使設備驅動器把信息轉發用于對輔助設備的通信。
2.根據權利要求1所述的系統,其特征在于,所述輔助設備包括移動通信設備。
3.根據權利要求1所述的系統,其特征在于,所述輔助設備包括來自一組設備類型的設備,包括獨立計算機;移動通信設備;具有按鈕驅動器的第二顯示器屏幕;表;壁顯示器;顯示器屏幕;數字圖像幀;鐘;電視;收音機;媒體播放機;嵌套在消費者電子設備的主顯示器內或使用消費者電子設備的主顯示器的設備;自動的、傳送或其他車載單元;鍵盤或其他主計算機系統的輸入設備;尋呼機;以及個人數字助理。
4.根據權利要求1所述的系統,其特征在于,所述輔助設備包括當信息以合適的格式被接收時能處理信息的固件。
5.根據權利要求1所述的系統,其特征在于,所述輔助平臺把信息轉換成設備驅動器或設備上的固件理解的基于標記語言的格式。
6.根據權利要求1所述的系統,其特征在于,所述設備驅動器基于它相關的輔助設備的能力過濾至少某些信息。
7.根據權利要求1所述的系統,其特征在于,所述信息響應于通知。
8.根據權利要求1所述的系統,其特征在于,所述信息的至少部分信息響應于圖像以在輔助設備上顯示。
9.根據權利要求1所述的系統,其特征在于,所述信息的至少部分信息響應于文本以在輔助設備上顯示。
10.根據權利要求1所述的系統,其特征在于,所述第二輔助設備被連接到計算機系統,以及其中輔助平臺維持包括數據的數據結構作為用于運行在主計算機系統上的程序的信息要被路由至的一個輔助設備或多個設備。
11.根據權利要求10所述的系統,其特征在于,所述數據指示信息要被發送至第二輔助設備,其中第二輔助設備包括用于第二輔助設備相應的設備驅動器,以及其中輔助平臺路由信息到第二輔助設備的設備驅動器。
12.根據權利要求1所述的系統,其特征在于,所述輔助設備通過對于主計算機系統的無線連接被耦合到設備驅動器。
13.根據權利要求1所述的系統,其特征在于,所述輔助設備通過對于主計算機系統的有線連接被耦合到設備驅動器。
14.根據權利要求1所述的系統,其特征在于,所述設備驅動器發送返回信息至輔助平臺以響應于轉發的信息用于對輔助設備的通信。
15.根據權利要求14所述的系統,其特征在于,所述返回信息對應于與輔助設備的用戶交互。
16.在一具有主計算機系統和耦合到所述主計算機系統的輔助設備的計算環境內,一方法包括接收來自運行在主計算機系統上的計算機程序的調用,包括具有一組至少一個相關參數的調用,所述參數對應于對輔助設備通信的信息,至少一個參數的組獨立于任何特定輔助設備硬件;訪問信息以轉換信息至輔助設備可理解的格式;以及把對應于信息的數據發送至輔助設備。
17.根據權利要求16所述的方法,其特征在于,進一步包括在輔助顯示器上顯示信息。
18.根據權利要求16所述的方法,其特征在于,所述調用在輔助平臺上被接收,并進一步包括,做出對于輔助平臺的調用。
19.根據權利要求16所述的方法,其特征在于,所述訪問信息以轉換信息至輔助設備可理解的格式包括把信息轉換成基于標記語言的格式。
20.根據權利要求16所述的方法,其特征在于,所述訪問信息以轉換信息至輔助設備可理解的格式包括把信息轉換成適當的格式。
21.根據權利要求16所述的方法,其特征在于,所述發送對應于信息的數據包括發送通知數據。
22.根據權利要求16所述的方法,其特征在于,所述發送對應于信息的數據至輔助設備包括對與輔助設備關聯的設備驅動器提供信息。
23.根據權利要求22所述的方法,其特征在于,進一步在設備驅動器上基于它的相關輔助設備的能力過濾至少部分信息。
24.根據權利要求23所述的方法,其特征在于,所述過濾包括更改圖像信息。
25.根據權利要求16所述的方法,其特征在于,所述第二輔助設備被連接到計算機系統,并進一步包括,訪問路由信息以確定是否發送對應于信息的數據至第二輔助設備。
26.根據權利要求25所述的方法,其特征在于,所述數據指示數據要被發送至第二輔助設備,其中第二復輔助設備包括設備驅動器,并進一步包括,發送對應于信息的數據至設備驅動器。
27.根據權利要求16所述的方法,其特征在于,進一步包括從輔助設備接收返回信息。
28.根據權利要求27所述的方法,其特征在于,所述返回信息對應于與輔助設備的用戶交互,并進一步包括,基于與輔助設備的用戶交互發送其他數據至輔助設備。
29.根據權利要求16所述的方法,其特征在于,進一步包括接收來自另一輔助設備的返回信息。
30.根據權利要求29所述的方法,其特征在于,所述返回信息對應于在其他輔助設備上的通知的解散,并進一步包括,基于返回的信息發送其他數據至輔助設備以解除相應的在輔助設備上的通知。
31.至少一個計算機可讀介質具有當被實行時執行權利要求16所述的方法的計算機可執行指令。
32.至少一個計算機可讀介質具有當被執行時實行以下步驟的計算機可執行指令,所述步驟包括接收來自運行在主計算機系統上的計算機程序的調用,包括具有一組至少一個參數的調用,所述參數對應于對輔助設備通信的信息,至少一個參數的組獨立于任何特定輔助設備硬件;確定信息應該被發送至多個類型的輔助設備中的哪些設備,并且對于每個這樣的設備(a)訪問信息以把信息轉換成輔助設備或該輔助設備的設備驅動器所理解的格式以及(b)把信息發送至輔助設備。
33.根據權利要求32所述的計算機可讀介質,其特征在于,主計算機系統被耦合到多個輔助顯示器,并且所述輔助顯示器中的至少一個包括增強的輔助顯示器。
34.根據權利要求32所述的計算機可讀介質,其特征在于,主計算機系統被耦合到多個輔助顯示器,并且所述輔助顯示器中的至少一個包括基本輔助顯示器。
35.根據權利要求32所述的計算機可讀介質,其特征在于,主計算機系統被耦合到多個輔助顯示器,并且所述輔助顯示器中的至少一個包括增強的輔助顯示器并且所述輔助顯示器中的至少另外一個包括基本輔助顯示器。
全文摘要
描述的是一種系統和方法,運行在主計算機系統上的應用程序可通過該系統和方法與輔助顯示器設備(諸如蜂窩電話、袖珍型計算機、鬧鐘、電視機、數字化圖像幀等)通信以在設備、遠程控制能力、以及通知上提供可視的信息。通過API調用,程序以相同的格式提供信息而不管設備能力和/或連接類型。輔助顯示器平臺把信息轉換成設備驅動器理解的格式,然后在信息被發送之前如所希望地過濾信息用于它的具體硬件設備。返回通信返回諸如狀態和與顯示的信息的用戶交互的數據。軟件供應商可如此一次書寫代碼以在輔助顯示器上輸出信息,而硬件廠商可具有他們的作為輔助顯示器的設備,該設備具有對于現有硬件很少的修改或沒有修改。
文檔編號G06F9/44GK1782997SQ20051012714
公開日2006年6月7日 申請日期2005年11月22日 優先權日2004年11月23日
發明者A·J·富勒, D·J·波利維, M·P·羅特恩, M·S·伯恩斯坦, R·H·溫 申請人:微軟公司