專利名稱:虛擬化嵌入式設備的制作方法
技術領域:
本發(fā)明涉及虛擬化嵌入式設備。
背景技術:
當今在家庭、工作場所、商場等到處都有嵌入式設備。嵌入式設備包括從有線電視的機頂盒、到游戲控制臺、冰箱、醫(yī)療設備、電源監(jiān)視設備、自動售貨機、問訊臺等等。嵌入式設備通常包括與臺式計算機相似的組件中央處理單元(CPU)、存儲器、存儲設備、有時的圖形處理單元(GPU)、以及設備專用的外圍設備。例如,數(shù)字視頻記錄(DVR)機頂盒可包括調諧器外圍設備,而醫(yī)用X光機可包括X射線捕捉外圍設備。嵌入式設備是功能強大的,但在用途上常常受限制。嵌入式設備制造商常常為降低商品成本(COG)和減少用來構建設備的材料單(BOM)作出多種折衷。更新嵌入式設備可涉及刷新固件,這是許多用戶感到不舒服的任務。因而,嵌入式設備常常以一次用于單一用途的方式銷售,并且如果制造商想要實現(xiàn)新功能或更快的處理,則制造商常常嘗試向用戶銷售更新版本的替換嵌入式設備。嵌入式設備產生大量浪費,因為用戶常常在其不再適合其特定用途時丟棄該設備。例如,DVR可用具有更大存儲容量的新DVR替換,或者醫(yī)院可用包括彩色打印機或三維成像的超聲波機器替換超聲波機器。如果在嵌入式設備中發(fā)現(xiàn)差錯,則標識有問題的所有實例并提供固件更新來修理該差錯是耗時并困難的。因而,嵌入式設備的管理和控制常常是一個問題。此外,一些設備的配置和安裝可超過普通用戶的技術水平,使得在設備的初始設立中涉及昂貴的技術人員耗時。
發(fā)明內容
本文中描述了一種設備虛擬化系統(tǒng),該設備虛擬化系統(tǒng)將嵌入式設備的普通計算機處理任務與嵌入式設備的專用外圍設備分離開以允許設備的至少某些功能能被卸載到服務器或其他計算設備。一個極端是,使用該系統(tǒng)的虛擬嵌入式設備僅僅是在用戶的場所上運行的一組遠程外圍設備,這些遠程外圍設備提供向在另一場所上運行的虛擬服務器傳達的輸入和輸出。設備虛擬化系統(tǒng)大大簡化虛擬嵌入式設備的管理、配置和控制。因為許多設備的軟件在虛擬化服務器上運行,所以可指派信息技術(IT)人員管理虛擬化服務器并應用任何更新并診斷發(fā)生的任何問題。此外,單個服務器或服務器群組可用來向各種各樣的用戶提供各種各樣虛擬化嵌入式設備的虛擬化服務。IT人員可應用更新、診斷配置問題、幫助設立設備以在用戶環(huán)境中工作等等。此外,當標識出問題時,設備制造商可通過監(jiān)視對使設備虛擬化的數(shù)據(jù)中心的輸入和輸出,具有對數(shù)量大得多的設備的訪問權。這大大簡化了問題的測試和診斷。此外,制造商可將便宜得多的設備運送到用戶的場所,并可基于預訂模型針對虛擬化服務器提供的給予虛擬化嵌入式設備其核心功能的服務向用戶收取費用。這使得用戶受益于定期更新, 而沒有刷新固件更新的維護和技術困難。通過在多個場所安裝更便宜、更緊湊的設備,多個用戶還可共享單個虛擬化設備的處理能力以節(jié)約成本。因而,系統(tǒng)增強嵌入式設備的有用性,并且允許比當今的嵌入式設備更長的壽命和更寬泛的用途。提供本發(fā)明內容以便以簡化的形式介紹將在以下具體實施方式
中進一步描述的一些概念。本發(fā)明內容既不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于限制所要求保護的主題的范圍。
圖I是示出一個實施例中的設備虛擬化系統(tǒng)的各組件的框圖。圖2是示出一個實施例中的設備虛擬化系統(tǒng)的用于在虛擬嵌入式設備處捕捉信息以供遠程處理的處理的流程圖。圖3是示出一個實施例中的設備虛擬化系統(tǒng)的用于在普通虛擬化設施處處理虛擬設備信息的處理的流程圖。圖4是示出一個實施例中的設備虛擬化系統(tǒng)的示例性操作環(huán)境的框圖。
具體實施例方式本文中描述了一種設備虛擬化系統(tǒng),該設備虛擬化系統(tǒng)將嵌入式設備的普通計算機處理任務與嵌入式設備的專用外圍設備分離開以允許設備的至少某些功能能被卸載到服務器或其他計算設備(即虛擬設備)。一個極端是,使用該系統(tǒng)的虛擬嵌入式設備僅僅是在用戶的場所上運行的一組遠程外圍設備,這些遠程外圍設備提供向在另一場所上運行的虛擬服務器傳達的輸入和輸出。例如,數(shù)據(jù)中心可向多個虛擬嵌入式設備提供處理和存儲能力。作為一個實例,考慮具有DVR功能的機頂盒。當今,DVR基于安裝在設備中的本地硬盤具有固定量的存儲。如果硬盤將要填滿,則DVR被編程為開始刪除舊的記錄節(jié)目和/或避免記錄新的節(jié)目。當今的DVR是具有單一用途的獨立設備。通過使DVR虛擬化,一些組件和功能可被移動到數(shù)據(jù)中心或其他場所。例如,設備的存儲和處理能力可被卸載到數(shù)據(jù)中心,而保留調諧器和至家中視聽設備的連接。用戶可為數(shù)據(jù)中心中的實質上不受限制的存儲支付,以使虛擬化DVR不會用完存儲空間。此外,設備虛擬化系統(tǒng)大大簡化虛擬嵌入式設備的管理、配置和控制。因為許多設備的軟件在虛擬化服務器上運行,所以可指派信息技術(IT)人員管理虛擬化服務器并應用任何更新并診斷發(fā)生的任何問題。此外,單個服務器或服務器群組可用來向各種各樣的用戶提供各種各樣虛擬化嵌入式設備的虛擬化服務。IT人員可應用更新、診斷配置問題、幫助設立設備以在用戶環(huán)境中工作等等。此外,當標識出問題時,設備制造商可通過監(jiān)視對使設備虛擬化的數(shù)據(jù)中心的輸入和輸出,具有對數(shù)量大得多的設備的訪問權。這大大簡化了問題的測試和診斷。此外,制造商可將便宜得多的設備運送到用戶的場所,并可基于預訂模型針對虛擬化服務器提供的給予虛擬化嵌入式設備其核心功能的服務向用戶收取費用。這使得用戶受益于定期更新,而沒有刷新固件更新的維護和技術困難。通過在多個場所安裝更便宜、更緊湊的設備,多個用戶還可共享單個虛擬化設備的處理能力以節(jié)約成本。例如, 醫(yī)院可在各個場所給予醫(yī)生顯示設備,該顯示設備提供來自位于一家醫(yī)院的單個共享的磁共振成像(MRI)或其他診斷機器的輸出。因而,系統(tǒng)增強嵌入式設備的有用性,并且允許比當今的嵌入式設備更長的壽命和更寬泛的用途。
設備虛擬化系統(tǒng)充分利用服務器的能力、多功能性、場所和費用結構來傳遞各個嵌入式設備的功能性。目前許多公司正在構建很好地適于執(zhí)行當今嵌入式設備的一些任務的數(shù)據(jù)中心。在一些實施例中,虛擬嵌入式設備包括手持式屏幕或監(jiān)視器,而整個處理能力駐留于位于遠程某處的虛擬化服務器中。用戶無縫地感受到他們就像在使用真正的嵌入式設備或虛擬設備??紤]例如MRI、超聲波、或其他醫(yī)療診斷機器坐落于遠程某處,而醫(yī)生/護士僅帶有可輕松攜帶的手持式掃描儀的情況。此診斷機器是足夠強大、從而能夠同時處理多個請求的。以此方式,維護成本下降,因為僅有在一個場所的由多家醫(yī)院共用的單個團隊所維護的一臺功能強大的機器,因此維護費用也被分攤。設備的虛擬化通過在就像桌面客戶機和服務器的操作系統(tǒng)級別的虛擬化來實現(xiàn)。與多個分布式設備相反,任何更新都被推送至中央設備。與使用虛擬機器相反,這真正虛擬化了嵌入式設備本身以能夠獲得虛擬化的所有益處。與重復銷售經(jīng)改進的物理設備相反,這允許設備的基于服務模型。如果例如任一醫(yī)院僅僅需要使用來自該設備的一項特定服務,則他們可只支付該一項服務。在一些實施例中,每個嵌入式設備像啞終端,而所有處理能力被推送至遠程虛擬機器。這意味著,與當今嵌入式設備相比,這些嵌入式設備可顯現(xiàn)為處理多得多的信息,并且設備制造商不必擔心處理能力以及覆蓋范圍,因為虛擬機器可與臺式機、服務器或大型機一樣功能強大。該系統(tǒng)使得設備能更像桌面客戶機和服務器地得到管理。與當今為嵌入式設備構建專用知識相反,該系統(tǒng)為所有設備實現(xiàn)途徑的通用化和標準化。這有助于構建更為一致的設備體驗,并且使得跨設備地編寫應用程序、且只對在啞終端級別可控制的分辨率/顯示器和特定外圍設備有改變更為容易。此時,嵌入式設備與桌面客戶機和服務器更為無縫地相像。為一個設備編寫的應用程序可被許多嵌入式設備無縫且互換地利用。位于這些嵌入式設備之后的虛擬機器可標識任何應用程序、操作系統(tǒng)、或安全補丁更新,并且能夠基于所設立的策略在有/無用戶許可的情況下下載和/或調度它們。這使得設備體驗跨設備地簡單、無縫、集成、功能強大、以及標準,而不管正在使用來自制造商的哪個設備。 不同制造商仍可基于他們所創(chuàng)建的體驗以及他們能夠以虛擬機器的支持和服務提供的處理能力來控制其市場。這通過使用設備的基于服務模型來允許更大的靈活性,其中各個設備大都駐留在云中。虛擬設備可為各種各樣的用途提供服務。例如,實現(xiàn)系統(tǒng)的電視可將視頻數(shù)據(jù)的處理卸載到數(shù)據(jù)中心。視頻回放通常涉及使用一個或多個編解碼器來解壓縮視頻和音頻數(shù)據(jù),并將其從存儲格式解釋成回放格式。編解碼器隨著時間改變以添加更多壓縮、附加特征 (例如更多的揚聲器聲道、三維數(shù)據(jù)等等)等等。通常嵌入式設備難以跟上編解碼器更新, 這可導致不能回放特定類型的內容。當今,如果制造商使得一個固件更新可用,則這通過固件更新來處理,或者在制造商沒有固件更新的情況下通過購買新設備來處理。設備虛擬化系統(tǒng)可在遠程數(shù)據(jù)中心或用新的編解碼器和/或其他改進頻繁和自動更新的其他場所執(zhí)行處理。此外,設備虛擬化系統(tǒng)允許一個嵌入式設備有可能通過預訂附加遠程服務來用于多個功能。例如,游戲控制臺可包括光驅和至用戶家中的視聽設備的連接,以供玩游戲之用。用戶可在后來為附加服務支付,諸如使用游戲控制臺的光驅播放電影的能力、瀏覽因特網(wǎng)的能力等等。該設備包括用于這些服務的硬件,并可充分利用用以添加附加功能的處理和遠程存儲邏輯。用戶甚至可停止將設備用作游戲控制臺的支付,以使設備對用戶的用途隨時間而改變。圖I是示出一個實施例中的設備虛擬化系統(tǒng)的各組件的框圖。系統(tǒng)100包括遠程輸入組件110、遠程輸出組件120、設備標識組件130、通信組件140、虛擬設備處理組件150、 虛擬設備存儲組件160、以及專用軟件組件170。此處進一步詳細地描述這些組件中的每一個。遠程輸入組件110從安裝在嵌入式設備中的一個或多個輸入設備中捕捉嵌入式設備處的輸入。輸入的類型取決于嵌入式設備的用途而改變。對于DVR,輸入可包括表示電視節(jié)目的壓縮視聽數(shù)據(jù)形式的調諧器輸入、或來自用戶通過其請求錄制節(jié)目或改變頻道的遙控器的輸入。對于醫(yī)用X射線機器,輸入可包括X射線成像數(shù)據(jù)。嵌入式設備的數(shù)量和變體是相當多的,并且本領域普通技術人員將理解,有能夠向遠程輸入組件110提供輸入的許多類設備。然而,與先前的系統(tǒng)不同,遠程輸入組件110封裝輸入以供經(jīng)由通信組件 140傳輸給遠程虛擬化設備。遠程輸出組件120接收嵌入式設備上的輸出,并向用戶或其他組件提供輸出。該輸出可包括諸如向屏幕或監(jiān)視器的顯示的視覺輸出、諸如通過揚聲器播放聲音的音頻輸出、諸如用機械臂或其他外圍設備移動物體的機械輸出、等等。輸出的類型取決于嵌入式設備的用途而改變。遠程輸出組件120通過通信組件140接收經(jīng)由遠程虛擬化設備處理后的輸出。與傳統(tǒng)嵌入式設備不同,對輸入的部分或全部的處理在遠程虛擬化設備上進行,并且本地嵌入式設備主要負責捕捉輸入并提供輸出。設備標識組件130標識特定嵌入式設備并通知虛擬設備處理組件150,以使虛擬設備能提供任何專用處理。虛擬化設備可針對各種嵌入式設備執(zhí)行處理和/或存儲,并且設備標識組件130使得虛擬化設備能夠理解虛擬化設備對其執(zhí)行處理的嵌入式設備的類型和實例兩者。設備的類型將幫助虛擬化設備經(jīng)由專用軟件組件170加載任何專用軟件代碼,并執(zhí)行任何專用處理。設備的實例可幫助虛擬設備監(jiān)視預訂或支付的狀態(tài),以確定特定嵌入式設備是否獲得授權來請求虛擬化設備的服務。通信組件140提供嵌入式設備與虛擬化設備之間的通信信道。該信道可包括諸如因特網(wǎng)的公共網(wǎng)絡,以及諸如企業(yè)局域網(wǎng)(LAN)的專用網(wǎng)絡。該信道可使用各種公知協(xié)議來傳輸數(shù)據(jù),諸如傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報協(xié)議(UDP)。通信組件140可包括安裝在嵌入式設備中用于創(chuàng)建與設備的連接的硬件、以及用于監(jiān)視連接并處理任何所接收到的輸出的少量不頻繁改變的軟件。虛擬設備處理組件150提供虛擬設備上的處理資源,用于執(zhí)行與嵌入式設備的用途相關的動作。例如,如果嵌入式設備是冰箱,則處理組件150可監(jiān)視溫度并指示壓縮機運行、直到達到指定溫度。虛擬設備處理組件150從設備標識組件130接收設備標識信息,并調用專用軟件組件170以加載所標識嵌入式設備的操作專用的任何應用軟件代碼。如果應用軟件代碼已被經(jīng)更新版本所取代,則虛擬設備處理組件150可在執(zhí)行任何處理之前透明地更新應用軟件代碼,或者執(zhí)行自動地或由管理虛擬化設備的IT人員確定的任何其他維護任務。虛擬設備處理組件150還可將處理任務輸出給云計算服務,諸如在預訂或其他基礎上提供靈活的處理資源的MICROSOFT TM AZURE TM或Amazon EC2。整個系統(tǒng)100可在云平臺上安裝,以使用戶位置處的本地嵌入式設備捕捉輸入并提供輸出,同時云平臺提供處理、存儲和其他資源。這產生了可極度縮放的模型,并降低制造商發(fā)行新嵌入式設備的價格。有了既使嵌入式設備本身更便宜、又避免在線服務的昂貴擴建成本的能力,制造商可集中解決特定問題。隨著設備/解決方案的流行度增加,制造商可快速地制造更多的嵌入式設備,并利用更多的云平臺資源來平滑地縮放。虛擬設備存儲組件160在虛擬化設備上提供存儲資源,以供代表嵌入式設備持久地存儲數(shù)據(jù)。存儲資源可包括一個或多個存儲器內的數(shù)據(jù)結構、文件、文件系統(tǒng)、硬盤驅動器、外部存儲設備、數(shù)據(jù)庫、存儲區(qū)域網(wǎng)絡(SAN)、基于云的存儲服務、或用于在與嵌入式設備的通信之間持久地存儲數(shù)據(jù)的其他設施。例如,如果嵌入式設備提供對諸如DVR或備用設備的內容的訪問權,則虛擬設備存儲組件160可代表嵌入式設備存儲視聽文件或備份數(shù)據(jù)。替代購買具有固定大小的傳統(tǒng)備用設備,用戶可購買與虛擬設備通信以向用戶提供用戶需要或想要支付的那么多的存儲的備用設備。隨著時間的流逝用戶的需要可改變,從而所需要的存儲可以更多或者更少,但是用戶能繼續(xù)從同一嵌入式設備中取得價值、并基于改變的需要來調節(jié)用戶的預訂計劃。專用軟件組件170管理為之設計嵌入式設備的應用專用的任何進程。組件170可包括在虛擬化設備的場所并遠離嵌入式設備地集中安裝并使用的軟件代碼和硬件組件。在專用軟件組件170表示軟件代碼時,軟件代碼可通過在虛擬化設備上更新軟件而無需訪問甚至知道在各個場所存在的各個嵌入式設備來集中地更新和管理。在更新之后用戶下一次使用嵌入式設備時,用戶可簡單地發(fā)現(xiàn),已基于在虛擬化設備上進行的更新用新功能或經(jīng)糾正差錯更新了設備。特定虛擬化服務器通過按需存儲并加載多個專用軟件組件170,可向各種類型的嵌入式設備和用途提供處理和存儲服務。其上實現(xiàn)設備虛擬化系統(tǒng)的計算設備可包括中央處理單元、存儲器、輸入設備 (例如,鍵盤和定點設備)、輸出設備(例如,顯示設備)和存儲設備(例如,盤驅動器或其他非易失性存儲介質)。存儲器和存儲設備是可用實現(xiàn)或啟用該系統(tǒng)的計算機可執(zhí)行指令 (例如,軟件)來編碼的計算機可讀存儲介質。另外,數(shù)據(jù)結構和消息結構可被存儲或經(jīng)由數(shù)據(jù)傳送介質傳送,諸如通信鏈路上的信號??墒褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點對點撥號連接、蜂窩電話網(wǎng)絡等。該系統(tǒng)的實施例可在各種操作環(huán)境中實現(xiàn),這些操作環(huán)境包括個人計算機、服務器計算機、手持式或膝上型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產品、數(shù)碼相機、網(wǎng)絡PC、小型計算機、大型計算機、包括以上系統(tǒng)或設備中的任一種的分布式計算環(huán)境、機頂盒、片上系統(tǒng)(SOC)等。計算機系統(tǒng)可以是蜂窩電話、個人數(shù)字助理、智能電話、個人計算機、可編程消費電子設備、數(shù)碼相機等。該系統(tǒng)可在由一個或多個計算機或其他設備執(zhí)行的計算機可執(zhí)行指令(諸如程序模塊)的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等。通常,程序模塊的功能可在各個實施例中按需進行組合或分布。圖2是示出一個實施例中的設備虛擬化系統(tǒng)的用于在虛擬嵌入式設備處捕捉信息以供遠程處理的處理的流程圖。從框210開始,系統(tǒng)在嵌入式設備上接收來自附連至嵌入式設備的一個或多個傳感器或外圍設備的輸入。嵌入式設備向位于數(shù)據(jù)中心、其他集中場所、或與嵌入式設備共位的計算系統(tǒng)的虛擬設備提供感覺輸入,以向嵌入式設備和可能的一個或多個其他嵌入式設備提供處理、存儲或其他資源。該嵌入式設備可經(jīng)由因特網(wǎng)或專用網(wǎng)絡連接至虛擬設備,以提供對虛擬設備的輸入并接收來自該虛擬設備的輸出。安裝在嵌入式設備內的傳感器或外圍設備捕捉來自嵌入式設備周圍的環(huán)境的一種或多種類型的輸入數(shù)據(jù),并向虛擬設備提供輸入。例如,該數(shù)據(jù)可包括調諧器輸入、溫度輸入、音頻輸入、視頻輸入、機械輸入等等。在框220繼續(xù),系統(tǒng)標識接收到其輸入的嵌入式設備。該嵌入式設備可包括存儲在只讀存儲器(ROM)或其他本地存儲內的標識設備的類型和/或實例的設備標識符。該類型可指定嵌入式設備的用途,而實例可指定用于區(qū)分相同類型設備的序列號或其他基本上唯一的標識符。嵌入式設備向虛擬設備提供設備標識符,以使虛擬設備知道如何處理接收到的輸入。在框230繼續(xù),系統(tǒng)向虛擬設備發(fā)送設備標識以供處理。嵌入式設備經(jīng)由所連接的網(wǎng)絡發(fā)送設備標識符并可執(zhí)行設立階段,在該設立階段期間嵌入式設備打開與虛擬設備通信的信道并標識自己一次,以供在一個或多個后續(xù)通信中用來向虛擬設備提供輸入并接收來自該虛擬設備的輸出?;诮邮盏降脑O備標識,虛擬設備加載任何專用指令以供處理來自嵌入式設備的輸入。在框240繼續(xù),系統(tǒng)向虛擬設備發(fā)送接收到的輸入以供處理。虛擬設備對接收到的輸入執(zhí)行任何專用處理并產生結果或其他輸出。該處理的類型可隨著可用嵌入式設備的類型而寬泛地改變。對于捕捉記錄的DVR,虛擬設備可接收來自嵌入式設備的調諧器輸入、壓縮/編碼該輸入、并將輸入存儲在與虛擬設備相關聯(lián)的存儲中。對于執(zhí)行回放的DVR, 虛擬設備可接收諸如播放、暫停、和快進的控制請求,并提供經(jīng)編碼的視聽數(shù)據(jù)作為可在嵌入式設備的顯示器上回放的輸出。其他類型的設備可向虛擬設備請求不同類型的處理,其最終結果是與當今的以顯著硬件成本在嵌入式設備本身上執(zhí)行基本上所有功能的設備相比,嵌入式設備將相當量的處理和其他資源消耗卸載到虛擬設備。在框250繼續(xù),系統(tǒng)在嵌入式設備上接收來自虛擬設備的遠程處理結果。該遠程處理結果可包括指示處理所發(fā)送輸入是失敗還是成功的結果代碼、以及由虛擬設備提供的任何輸出,作為由虛擬設備執(zhí)行的處理的結果。在一些情形中,虛擬設備僅僅代表嵌入式設備存儲數(shù)據(jù),并且處理結果可包括嵌入式設備從虛擬設備請求的數(shù)據(jù)。在其他情形中,處理結果可包括由虛擬設備代表嵌入式設備執(zhí)行的實質計算的結果。在框260繼續(xù),系統(tǒng)在嵌入式設備上提供從虛擬設備接收的輸出。該輸出可包括在屏幕或揚聲器組合上回放的視聽數(shù)據(jù)、提供給諸如機械臂的機械外圍設備的機械數(shù)據(jù)、 諸如存儲至虛擬設備的先前備份數(shù)據(jù)的二進制數(shù)據(jù)、或任何其他類型的數(shù)據(jù)。在框260之后,這些步驟結束。圖3是示出一個實施例中的設備虛擬化系統(tǒng)的用于在普通虛擬化設施處處理虛擬設備信息的處理的流程圖。從框310開始,系統(tǒng)在虛擬設備上接收標識嵌入式設備的信息,該嵌入式設備依賴于用于處理的虛擬設備或其他資源以執(zhí)行嵌入式設備的功能。嵌入式設備可發(fā)送標識設備的類型和/或實例的設備標識符、以及接收到的輸入。該類型可指定嵌入式設備的用途,而實例可指定用于區(qū)分相同類型設備的序列號或其他基本上唯一的標識符。虛擬設備確定嵌入式設備的設備類型,并從與虛擬設備相關聯(lián)的數(shù)據(jù)存儲加載任何專用處理信息。嵌入式設備的制造商可向虛擬設備的操作者提供初始的專用軟件代碼或用于管理嵌入式設備的其他信息,以及用于隨著時間的流逝修復差錯或升級功能的周期性更新。在框230繼續(xù),系統(tǒng)基于接收到的設備信息加載與嵌入式設備相關的專用信息。 虛擬設備可包括具有存儲量的數(shù)據(jù)存儲,其包含供虛擬設備代表各種嵌入式設備動作的各種專用處理指令。虛擬設備可向嵌入式設備提供處理、存儲或其他資源,從而使嵌入式設備能減少或消除某些組件和成本。在框330繼續(xù),系統(tǒng)在虛擬設備上接收來自安裝在嵌入式設備中的一個或多個外圍設備的嵌入式輸入。所接收到的輸入形成先前在嵌入式設備上處理但現(xiàn)在改為在虛擬設備上進行處理的輸入。該輸入可包括調諧器輸入、溫度輸入、音頻輸入、視頻輸入、機械輸入等等。嵌入式設備經(jīng)由將嵌入式設備連接至虛擬設備的網(wǎng)絡發(fā)送一個或多個輸入消息,并且虛擬設備接收輸入并執(zhí)行指定處理。在框340繼續(xù),系統(tǒng)基于專用信息在虛擬設備上處理接收到的嵌入式輸入。該處理可包括代表虛擬設備存儲數(shù)據(jù)、對該輸入執(zhí)行計算、采集來自其他源(例如公共數(shù)據(jù)庫) 的附加數(shù)據(jù)等等。虛擬設備提供處理器、存儲和其他資源來對嵌入式設備所提供的輸入動作。這使得嵌入式設備能忽略這些資源或者使用更簡單版本的資源來減少嵌入式設備成本并簡化嵌入式設備配置和維護。在框350繼續(xù),系統(tǒng)標識處理嵌入式輸入的一個或多個結果。結果可包括錯碼、成功碼、輸出數(shù)據(jù)、導出信息等等。虛擬設備的處理產生先前在過去系統(tǒng)中的嵌入式設備上生成的輸出。虛擬設備然后向嵌入式設備提供所產生的輸出,以使嵌入式設備的用戶可能不知道嵌入式設備本身不執(zhí)行所有操作。使得設備虛擬化系統(tǒng)成為可能,其部分是通過各種計算設備之間的快速聯(lián)網(wǎng)連接的近乎無所不在的可用性。在框360繼續(xù),系統(tǒng)將來自虛擬設備的所標識結果發(fā)送至嵌入式設備作為輸出, 以提供給嵌入式設備的用戶。結果可包括用于在監(jiān)視器上回放的嵌入式設備的視頻數(shù)據(jù)、 供在揚聲器上回放的聲音數(shù)據(jù)、用于控制嵌入式設備的機械外圍設備的機械數(shù)據(jù)等等。在框360之后,這些步驟結束。圖4是示出一個實施例中的設備虛擬化系統(tǒng)的示例性操作環(huán)境的框圖。該框圖包括通過網(wǎng)絡440連接的嵌入式設備410和虛擬設備450。嵌入式設備410可安裝在家里、小型辦公室內或包括本地信息且用戶已購買嵌入式設備410以實現(xiàn)某用途的其他環(huán)境中。嵌入式設備包括從嵌入式設備410的本地環(huán)境采集數(shù)據(jù)并提供反饋的一個或多個嵌入式輸入外圍設備420和一個或多個嵌入式輸出外圍設備430。連接嵌入式設備410和虛擬設備 450的網(wǎng)絡440可包括足夠快以使虛擬設備450能夠代表嵌入式設備410執(zhí)行一個或多個功能并沒有過度延遲地將數(shù)據(jù)返回給用戶的因特網(wǎng)或任何其他網(wǎng)絡。虛擬設備450可遠程地位于數(shù)據(jù)中心或其他處理設施,或者可以是在嵌入式設備 410所處場所中的服務器或其他可用資源。虛擬設備450包括由嵌入式設備410用來執(zhí)行通常由嵌入式設備410執(zhí)行的一個或多個功能的至少一個虛擬資源460。虛擬資源460可包括處理器、存儲設備、聯(lián)網(wǎng)設備、或代表嵌入式設備410動作的其他資源、以及可能的其他嵌入式設備(未示出)。虛擬設備450實現(xiàn)與嵌入式設備410相關聯(lián)的應用程序代碼的集中管理,以及實現(xiàn)虛擬資源460的共享和更便宜的嵌入式設備410的組件成本。在一些實施例中,設備虛擬化系統(tǒng)使用虛擬設備模擬一個或多個嵌入式設備,以幫助嵌入式設備制造商測試與嵌入式設備相關的軟件代碼或其他信息。替代設立硬件的復雜測試階段,制造商可測試許多情形,包括通過模擬嵌入式設備的輸入和輸出、并對虛擬設備監(jiān)視差錯和性能問題來測試系統(tǒng)向許多設備的可縮放性。該系統(tǒng)大大地簡化了原先用物理設備將難以重現(xiàn)的實際情形的測試和重建。在一些實施例中,設備虛擬化系統(tǒng)基于一個或多個虛擬設備可用的共享數(shù)據(jù)向設備制造商提供報告。因為嵌入式設備的存儲大多集中在虛擬設備,所以設備制造商可挖掘用先前的嵌入式設備難以獲得的數(shù)據(jù)財富。例如,通過訪問與虛擬設備相關聯(lián)的中央數(shù)據(jù)存儲,每個用戶已配置設備的方式、最常使用的功能、以及其他有價值的信息都可能是可獲得的。此外,制造商可通過在嵌入式設備請求出現(xiàn)時對其記流水賬和記日志,請求收集附加數(shù)據(jù)。這樣,制造商可確定關于最常用特征、典型配置、共同問題等等的信息。在一些實施例中,設備虛擬化系統(tǒng)向嵌入式設備的用戶提供預訂模型,用于針對虛擬設備的使用補償設備制造商。例如,虛擬設備可基于用戶購買的預訂等級提供可縮放的處理或存儲量。用戶可通過移動至更為特征豐富的預訂計劃來從嵌入式設備獲取更多功能,從而使得制造商在虛擬設備上實現(xiàn)不同特征。在一些實施例中,設備虛擬化系統(tǒng)在虛擬設備上執(zhí)行自動更新,這將嵌入式設備的用戶從嵌入式設備的維護和更新中解放出來。通過更新在虛擬設備上使用的軟件和其他信息,嵌入式設備行為改變,并且用戶從所提供的任何更新獲益。從前面的描述中可以看出,可以理解,此處描述的虛擬化系統(tǒng)的特定實施例只是為了說明,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進行各種修改。因此,本發(fā)明只受所附權利要求限制。
權利要求
1.一種用于在嵌入式設備上捕捉信息以供在代表所述嵌入式設備動作的虛擬設備上遠程處理的計算機實現(xiàn)的方法,所述方法包括在嵌入式設備上接收(210)來自附連至所述嵌入式設備的一個或多個傳感器或外圍設備的輸入;標識(220)接收到其輸入的所述嵌入式設備;將所述設備標識發(fā)送(230)給所述虛擬設備以供處理;將所接收到的輸入發(fā)送(240)給所述虛擬設備以供處理;在所述嵌入式設備上接收(250)來自所述虛擬設備的遠程處理結果;以及在所述嵌入式設備上提供(260)從所述虛擬設備接收的輸出,其中先前步驟由至少一個處理器執(zhí)行。
2.如權利要求I所述的方法,其特征在于,接收嵌入式設備輸入包括捕捉來自所述嵌入式設備周圍的環(huán)境的一種或多種類型的輸入數(shù)據(jù),并向所述虛擬設備提供輸入。
3.如權利要求I所述的方法,其特征在于,標識所述嵌入式設備包括確定所述嵌入式設備的類型和實例標識符,其中所述實例標識符區(qū)分相同類型設備的不同實例。
4.如權利要求I所述的方法,其特征在于,向所述虛擬設備發(fā)送所述設備標識包括經(jīng)由將所述嵌入式設備連接至所述虛擬設備的網(wǎng)絡發(fā)送所述標識,以使所述虛擬設備能遠程地處理來自所述嵌入式設備的輸入。
5.如權利要求I所述的方法,其特征在于,向所述虛擬設備發(fā)送所述設備標識包括執(zhí)行打開與所述虛擬設備的通信信道的設立階段,以供在一個或多個后續(xù)通信中用來向所述虛擬設備提供輸入并接收來自所述虛擬設備的輸出。
6.如權利要求I所述的方法,其特征在于,發(fā)送所接收到的輸入包括請求所述虛擬設備對所接收到的輸入執(zhí)行專用處理,并產生結果以提供給所述嵌入式設備。
7.如權利要求I所述的方法,其特征在于,接收遠程處理結果包括接收指示處理所發(fā)送的輸入是失敗還是成功的結果代碼。
8.如權利要求I所述的方法,其特征在于,接收遠程處理結果包括接收輸出以供向所述嵌入式設備的用戶顯示。
9.如權利要求I所述的方法,其特征在于,提供輸出包括向所述嵌入式設備的一個或多個輸出外圍設備提供所述輸出以在所述嵌入式設備周圍的環(huán)境中執(zhí)行動作。
10.一種用于通過將嵌入式設備的至少一些功能卸載到虛擬設備來虛擬化所述嵌入式設備的計算機系統(tǒng),所述系統(tǒng)包括被配置成執(zhí)行包含在以下組件內的軟件指令的處理器和存儲器;遠程輸入組件(110),從安裝在所述嵌入式設備中的一個或多個輸入設備中捕捉所述嵌入式設備處的輸入;遠程輸出組件(120),接收所述嵌入式設備上的輸出,并向用戶或其他組件提供所述輸出;設備標識組件(130),標識特定嵌入設備并通知所述虛擬設備處理組件,以使所述虛擬設備能提供任何專用處理;通信組件(140),提供所述嵌入式設備與所述虛擬設備之間的通信信道;虛擬設備處理組件(150),提供所述虛擬設備上的處理資源,用于執(zhí)行與所述嵌入式設備的用途相關的動作;虛擬設備存儲組件(160),在所述虛擬設備上提供存儲資源,以供代表所述嵌入式設備持久地存儲數(shù)據(jù);以及專用軟件組件(170),管理為之設計所述嵌入式設備的應用所專用的一個或多個進程。
11.如權利要求10所述的系統(tǒng),其特征在于,所述遠程輸入組件封裝所接收到的輸入以供經(jīng)由所述通信組件傳輸至處理所述輸入的遠程虛擬設備。
12.如權利要求10所述的系統(tǒng),其特征在于,所述設備標識組件使所述虛擬設備能監(jiān)視預訂或支付的狀態(tài)以確定所述嵌入式設備是否獲得授權以從所述虛擬設備請求一個或多個所標識的服務。
13.如權利要求10所述的系統(tǒng),其特征在于,所述通信組件包括安裝在所述嵌入式設備中用于創(chuàng)建與所述設備的連接的硬件、以及用于監(jiān)視所述連接并處理任何從所述虛擬設備接收到的輸出的少量不頻繁改變的軟件。
14.如權利要求10所述的系統(tǒng),其特征在于,所述虛擬設備處理組件從所述設備標識組件接收設備標識信息,并調用所述專用軟件組件以加載所標識嵌入設備的操作專用的任何應用軟件代碼。
15.如權利要求10所述的系統(tǒng),其特征在于,所述專用軟件組件包括在所述虛擬設備的場所并遠離所述嵌入式設備地集中安裝并使用的軟件代碼,以使所述軟件代碼能通過在所述虛擬設備上更新所述軟件而無需涉及所述嵌入式設備來集中地更新和管理。
全文摘要
本發(fā)明涉及虛擬化嵌入式設備。本文中描述了一種設備虛擬化系統(tǒng),該設備虛擬化系統(tǒng)將嵌入式設備的普通計算機處理任務與嵌入式設備的專用外圍設備分離開以使設備的至少某些功能能被卸載到服務器或其他計算設備。設備虛擬化系統(tǒng)大大簡化虛擬嵌入式設備的管理、配置和控制。因為許多設備的軟件在虛擬化服務器上,所以可指派信息技術(IT)人員管理虛擬化服務器并應用任何更新并診斷發(fā)生的任何問題。此外,單個服務器或服務器群組可用來向各種各樣的用戶提供各種各樣虛擬化嵌入式設備的虛擬化服務。因而,系統(tǒng)增強嵌入式設備的有用性,并且允許比當今的嵌入式設備更長的壽命和更寬泛的用途。
文檔編號G06F9/455GK102609297SQ20111044602
公開日2012年7月25日 申請日期2011年12月27日 優(yōu)先權日2010年12月28日
發(fā)明者D·福蒂爾, P·西格羅哈 申請人:微軟公司