專利名稱:公布固件組件狀態(tài)并更新固件組件的制作方法
技術(shù)領(lǐng)域:
相關(guān)申請(qǐng)本發(fā)明要求遵守35U.S.C.§119(e)的于2005年2月1日提交的標(biāo)題為“MEANS FOR PUBLISHING THE STATUS OF AND UPDATING FIRMWARECOMPONENTS”的美國(guó)臨時(shí)專利申請(qǐng)(序列號(hào)為No.60/648,887)的優(yōu)先權(quán)。該申請(qǐng)全文合并在此作為參考。
背景技術(shù):
計(jì)算設(shè)備,特別是諸如膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)和蜂窩電話的便攜計(jì)算設(shè)備,通常都包括一組計(jì)算機(jī)可讀指令或代碼。這些指令通常被存儲(chǔ)在計(jì)算設(shè)備的非易失性存儲(chǔ)區(qū)域內(nèi),諸如閃存或只讀存儲(chǔ)器(ROM)。通過(guò)在諸如ROM的非易失性存儲(chǔ)區(qū)域內(nèi)存儲(chǔ)指令,就可在即使該設(shè)備的電源供應(yīng)斷開的情況下仍然保存該設(shè)備的操作指令。在諸如ROM那樣的非易失性存儲(chǔ)器中存儲(chǔ)的代碼有時(shí)稱為固件。
這些計(jì)算設(shè)備的生產(chǎn)商、擁有者和用戶有時(shí)需要或期望改變存儲(chǔ)在ROM內(nèi)的代碼。做出這些改變的原因包括改變功能或安全,或者校正代碼中的缺陷。為參與這一任務(wù),業(yè)已開發(fā)了諸如版本編號(hào)、模塊化和通信協(xié)議的方法和設(shè)備。然而由于存在不同的和潛在的不兼容的更新固件的方法和設(shè)備使得執(zhí)行更新的任務(wù)變得復(fù)雜。現(xiàn)有用于更新固件的系統(tǒng)和方法不考慮固件更新系統(tǒng)或?qū)崿F(xiàn)的根本不同,并且不能夠?yàn)榭缭讲煌到y(tǒng)或?qū)崿F(xiàn)的固件提供統(tǒng)一的更新方案。
發(fā)明內(nèi)容
下文給出了一個(gè)簡(jiǎn)化概要以提供基本的理解。本概述不是一個(gè)廣泛的綜述。它即不旨在識(shí)別關(guān)鍵要素也不想要描繪范圍。它唯一的目的是以簡(jiǎn)化的形式提出某些概念以作為后續(xù)詳細(xì)描述的序言。此外,僅為了方便提供在此使用的段落標(biāo)題并且不應(yīng)該認(rèn)為這些標(biāo)題具有任何限制意義。
創(chuàng)建一個(gè)只讀管理對(duì)象,它包含有涉及可更新的固件組件的信息。該信息包括組件ID、組件版本和該組件的用戶友好名。該信息還包括狀態(tài)標(biāo)識(shí)符,它表示了包括有固件組件的設(shè)備的狀態(tài)。來(lái)自該管理對(duì)象的信息可作為固件更新進(jìn)程的部分被其他組件使用。
創(chuàng)建一個(gè)將被發(fā)送至移動(dòng)計(jì)算設(shè)備的更新對(duì)象。該更新對(duì)象包括涉及可用固件組件更新分組的信息,并且通常包括版本、名稱和位置信息。通常以統(tǒng)一源標(biāo)識(shí)符的形式提供位置信息。一個(gè)更新對(duì)象可以包括關(guān)于多于一個(gè)的可用固件組件更新分組的信息。
一個(gè)更新服務(wù)器可以訪問(wèn)來(lái)自管理對(duì)象的信息并且識(shí)別可以用來(lái)更新移動(dòng)計(jì)算設(shè)備固件的固件組件更新分組。該更新服務(wù)器創(chuàng)建一個(gè)更新對(duì)象并且把該對(duì)象發(fā)送給所述移動(dòng)計(jì)算設(shè)備。包含在該更新對(duì)象內(nèi)的信息為所述移動(dòng)計(jì)算設(shè)備提供所述固件組件更新分組的一個(gè)位置。
所揭示和描述的組件和方法包括將在隨后詳盡描述并在權(quán)利要求中特別指出的特性。隨后的描述和附圖將詳細(xì)闡述特定的典型方面。然而這些方面僅指出了使用所揭示的組件和方法的少數(shù)方法。所揭示和描述的組件和方法的具體實(shí)現(xiàn)可以包括這些方面以及等效物的部分、多數(shù)或全部。通過(guò)結(jié)合附圖閱讀隨后的詳細(xì)描述,就使得在此給出的特定實(shí)現(xiàn)和實(shí)例的變化變得顯而易見。
圖1是固件更新系統(tǒng)的系統(tǒng)框圖。
圖2是用于一管理對(duì)象的方案示意圖。
圖3是用于一更新對(duì)象的方案示意圖。
圖4是包括有定位特征的ROM更新系統(tǒng)的系統(tǒng)框圖。
圖5是基于對(duì)等的ROM更新系統(tǒng)的系統(tǒng)框圖。
圖6是安全ROM更新系統(tǒng)的系統(tǒng)框圖。
圖7是描述一種可使用的方法中的動(dòng)作的流程圖。
圖8是描述一種可使用的方法中的動(dòng)作的流程圖。
圖9是描述一種可使用的方法的過(guò)程的流程圖。
圖10是描述一種可使用的方法的過(guò)程的流程圖。
圖11示出了一種示例的網(wǎng)絡(luò)環(huán)境。
圖12示出了一種示例的操作環(huán)境。
具體實(shí)施例方式
在本申請(qǐng)中使用的術(shù)語(yǔ)“組件”、“系統(tǒng)”和“模塊”等等意在指涉及計(jì)算機(jī)的實(shí)體,諸如硬件、軟件(例如在執(zhí)行中的軟件)和/或固件。例如,組件可以是在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行碼、程序和/或計(jì)算機(jī)。而且在服務(wù)器上運(yùn)行的應(yīng)用程序和服務(wù)器本身都是組件。在一進(jìn)程內(nèi)可有一個(gè)或多個(gè)組件并且一個(gè)組件可以位于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或更多的計(jì)算機(jī)之間。
對(duì)揭示的組件和方法參考附圖加以描述,其中類似的編號(hào)始終用于表示類似的要素。在隨后的描述中,出于解釋的目的,為了提供對(duì)揭示主題的透徹理解闡述了許多具體的細(xì)節(jié)。盡管如此,可以顯見能夠省略這些具體細(xì)節(jié)中的某一些或者將其在具體實(shí)現(xiàn)中與其他細(xì)節(jié)相結(jié)合。在其他實(shí)例中,將以框圖的形式示出特定的結(jié)構(gòu)和設(shè)備以方便描述。此外,雖然所闡述的具體實(shí)施例可以使用與客戶機(jī)/服務(wù)器相一致的術(shù)語(yǔ)或者甚至成為客戶機(jī)/服務(wù)器實(shí)現(xiàn)的實(shí)例,但是本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識(shí)到客戶機(jī)和服務(wù)器之間的角色是可以顛倒的,并且揭示并描述的組件和方法不限于客戶機(jī)/服務(wù)器體系結(jié)構(gòu)并可方便地用于特別包括對(duì)等(P2P)體系結(jié)構(gòu)的其他的體系結(jié)構(gòu)而不背離揭示并描述的組件和方法的精神或范圍。此外,應(yīng)該認(rèn)識(shí)到雖然在此呈現(xiàn)的特定實(shí)施例包括或參考了特定的組件,但是在此揭示并描述的組件和方法的實(shí)現(xiàn)并不限于這些特定的組件并且可以用于其他的場(chǎng)合。
圖1是根據(jù)本發(fā)明一個(gè)方面的固件更新系統(tǒng)100的系統(tǒng)框圖。該系統(tǒng)包括訪問(wèn)固件代碼數(shù)據(jù)存儲(chǔ)120的更新服務(wù)器110。該更新服務(wù)器可以是為提供固件更新而特別設(shè)計(jì)的專用服務(wù)器或者可以是諸如Web服務(wù)器的更通用的信息服務(wù)器的部分。固件代碼數(shù)據(jù)存儲(chǔ)120可包括涉及固件代碼版本的信息以及任何更新代碼版本本身。更新服務(wù)器110可連接至包括有無(wú)線通信組件的網(wǎng)絡(luò)130。通信信道140把更新服務(wù)器110耦合至網(wǎng)絡(luò)130并且可以是有線或無(wú)線信道。
移動(dòng)計(jì)算設(shè)備150包括固件160形式的機(jī)器可讀指令。移動(dòng)計(jì)算設(shè)備150還可包括無(wú)線通信組件,諸如發(fā)射機(jī)、接收機(jī)或組合收發(fā)機(jī)等等。移動(dòng)計(jì)算設(shè)備150是通過(guò)無(wú)線通信信道170耦合至網(wǎng)絡(luò)130。無(wú)線通信信道170可以是基于IEEE802.11x(WiFi)的無(wú)線連接或者可以是另一個(gè)合適的無(wú)線通信信道。這些預(yù)期的無(wú)線信道包括IEEE 802.16(WiMax)、藍(lán)牙、紅外線(IrDa)、碼分多址(CDMA)、時(shí)分多址(TDMA)以及蜂窩電話連接的全球移動(dòng)通信系統(tǒng)(GSM)。
下面是將在操作中的固件更新系統(tǒng)100的一個(gè)實(shí)例。移動(dòng)計(jì)算設(shè)備150建立與網(wǎng)絡(luò)130的無(wú)線連接170。網(wǎng)絡(luò)130提供與更新服務(wù)器110的連接140。更新服務(wù)器使用已建立的連接訪問(wèn)關(guān)于當(dāng)前出現(xiàn)在移動(dòng)計(jì)算設(shè)備150上的固件160的信息。
更新服務(wù)器110將當(dāng)前安裝在移動(dòng)計(jì)算設(shè)備150上的固件160的各個(gè)組件和存儲(chǔ)在固件代碼數(shù)據(jù)存儲(chǔ)120內(nèi)對(duì)該設(shè)備的固件組件的版本作比較。如果安裝在移動(dòng)計(jì)算設(shè)備150上的固件160的組件是最新版本,就不采取任何動(dòng)作。如果存儲(chǔ)在固件代碼數(shù)據(jù)存儲(chǔ)120內(nèi)的關(guān)于移動(dòng)計(jì)算設(shè)備150的至少一個(gè)固件組件是存儲(chǔ)在移動(dòng)計(jì)算設(shè)備150上的固件160的組件的升級(jí)更新的版本,則移動(dòng)計(jì)算設(shè)備150從服務(wù)器上下載該升級(jí)或更新版本并代替當(dāng)前安裝的組件。如下將進(jìn)一步討論該方案的細(xì)節(jié)。
通常將固件分成若干數(shù)目的獨(dú)立分組或組件,每一個(gè)都可被獨(dú)立更新、刪除或代替。每個(gè)分組通常包括分組標(biāo)識(shí)符、版本標(biāo)識(shí)符和更新狀態(tài)標(biāo)識(shí)符。在簡(jiǎn)單可能更新方案中,每個(gè)描述的固件組件為用戶或?yàn)楦路?wù)器提供狀態(tài)信息并且提供用于下載的更新或者在ROM內(nèi)合適的位置更新或代替特定的組件。盡管如此,固件更新頻繁請(qǐng)求更新或替換ROM映像的若干各別區(qū)域,正常情況下每個(gè)區(qū)域都是分開記版本號(hào)的。在此方案中,使用標(biāo)準(zhǔn)化實(shí)現(xiàn)(諸如由開放移動(dòng)聯(lián)盟(OMA)固件更新(FUMO)規(guī)范所預(yù)見的實(shí)現(xiàn))的更新請(qǐng)求多次下載和更新循環(huán)以獨(dú)立更新所述ROM映像的每個(gè)受影響部分。該進(jìn)程導(dǎo)致固件分組的“不同步,因?yàn)樵谏形刺娲渌纸M時(shí)就已更新了某些分組。
解決方法是拆分來(lái)自下載和更新行為的狀態(tài)。該邏輯拆分準(zhǔn)許由移動(dòng)算子基本結(jié)構(gòu)進(jìn)行的標(biāo)準(zhǔn)化查詢用于在檢測(cè)需要更新的固件組件,而同時(shí)仍然允許對(duì)包括擬施加到ROM映像的代碼更新的聚合的修補(bǔ)。一個(gè)可能的實(shí)現(xiàn)包括使用標(biāo)準(zhǔn)化移動(dòng)算子基本結(jié)構(gòu)。在此方案中,能夠公布只讀管理對(duì)象用于描述可被更新的ROM映像或固件組件的區(qū)域。可以按照?qǐng)D2所示的方案實(shí)現(xiàn)所示管理對(duì)象。
圖2描述了用于只讀管理對(duì)象200的方案。此類對(duì)象可被管理作為諸如OMA FUMO設(shè)備管理樹之類的設(shè)備管理樹的部分。只讀管理對(duì)象200包括在根層處的ROMPackage節(jié)點(diǎn)210。根據(jù)此特定方案,只可以有一個(gè)根層節(jié)點(diǎn)。本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到在根層具有不同數(shù)目節(jié)點(diǎn)的其他方案也是可行的。
在此實(shí)例中,ROMPackage節(jié)點(diǎn)210是在組成ROM分組標(biāo)識(shí)符以及版本和名稱信息的根層處的父節(jié)點(diǎn),其中所述ROM分組標(biāo)識(shí)符是全球唯一標(biāo)識(shí)符(“GUID”)。所述GUID可以是文字?jǐn)?shù)字標(biāo)識(shí)符、二進(jìn)制標(biāo)識(shí)符、十六進(jìn)制標(biāo)識(shí)符或其他合適的標(biāo)識(shí)符。正如在此具體方案中所示,ROMPackage節(jié)點(diǎn)210被要求并限定于位于根層的單個(gè)實(shí)例。應(yīng)該注意到對(duì)該方案進(jìn)一步的討論有時(shí)會(huì)涉及以某些方式要求和限定的某些組件。當(dāng)做出該參考時(shí),這些參考僅用于該特定的實(shí)例而非意味著不允許偏離提供作為實(shí)例的特定實(shí)現(xiàn)。
下一層包括至少一個(gè)包含有分組標(biāo)識(shí)符的x+節(jié)點(diǎn)220。所述分組標(biāo)識(shí)符可以是文字?jǐn)?shù)字標(biāo)識(shí)符、二進(jìn)制標(biāo)識(shí)符、十六進(jìn)制標(biāo)識(shí)符或其他合適的標(biāo)識(shí)符。為了明確起見僅示出了單個(gè)x+節(jié)點(diǎn)220。盡管如此,多個(gè)x+節(jié)點(diǎn)220不僅是可能的,還是可以現(xiàn)象的。在此實(shí)例中的每個(gè)x+節(jié)點(diǎn)220都包括一個(gè)PkgVersion節(jié)點(diǎn)230、一個(gè)PkgName節(jié)點(diǎn)240以及一個(gè)State節(jié)點(diǎn)250。如下將進(jìn)一步討論這些組件。
每個(gè)x+節(jié)點(diǎn)220都表示一個(gè)特定ROM分組的標(biāo)識(shí)符。包括在x+節(jié)點(diǎn)220內(nèi)的值是GUID,它可以是文字?jǐn)?shù)字標(biāo)識(shí)符、二進(jìn)制標(biāo)識(shí)符、十六進(jìn)制標(biāo)識(shí)符或其他合適的標(biāo)識(shí)符。x+節(jié)點(diǎn)220用于組合包括關(guān)于其涉及的ROM映像的進(jìn)一步描述信息的其他更低層節(jié)點(diǎn)。更具體地,每個(gè)x+節(jié)點(diǎn)220可以作為一個(gè)標(biāo)識(shí)符用于除了完整映像之外可被處理成單個(gè)或可分單元的ROM映像的離散部分。
PkgVersion節(jié)點(diǎn)230包括關(guān)于所述ROM映像的一部分(更具體地,關(guān)于所述ROM映像的一個(gè)分組)的版本信息。能夠以任何合適的格式提供版本信息,更具體地可以包括文字?jǐn)?shù)字串、二進(jìn)制標(biāo)識(shí)符或者十六進(jìn)制標(biāo)識(shí)符。在此特定實(shí)施例中,在由x+節(jié)點(diǎn)220指定的一個(gè)組中僅允許一個(gè)PkgVersion節(jié)點(diǎn)230。盡管如此,本領(lǐng)域普通技術(shù)人員仍可輕易地認(rèn)識(shí)到其他方案也是可行的。這些構(gòu)想的方案可以是在一個(gè)分組可以代替多于一個(gè)現(xiàn)存分組的情況下包括了多個(gè)版本標(biāo)識(shí)符的那些方案,以及包括了子版本或者特殊版本(例如具有諸如游戲或視頻會(huì)議之類特定用途的版本)的那些方案。在具有子版本或特殊版本組件的情況下,可以使用與子版本或特殊版本相關(guān)聯(lián)的特殊格式標(biāo)識(shí)符。附加地或可選地,可以擴(kuò)展提出的實(shí)例方案以包括有關(guān)于子版本或特殊版本標(biāo)識(shí)的節(jié)點(diǎn)。
在此給出的方案的一大優(yōu)點(diǎn)在于它的可擴(kuò)展性。在此給出的實(shí)例方案提供了可基于其進(jìn)行進(jìn)一步發(fā)展(包括擴(kuò)展發(fā)展)的基礎(chǔ)層框架。應(yīng)該意識(shí)到能夠以普遍可用的、由高度按實(shí)施情況確定的或介于兩者之間的多種方式擴(kuò)展該基礎(chǔ)方案。
PkgName節(jié)點(diǎn)240包括所述ROM分組的名稱。在此實(shí)例中,所述名稱是人類可讀的,并且是一個(gè)字符或文字?jǐn)?shù)字串。然而能以另外可選的方式表示所述ROM分組的名稱,具體地包括非人類可讀的文字?jǐn)?shù)字標(biāo)識(shí)符、二進(jìn)制標(biāo)識(shí)符、十六進(jìn)制標(biāo)識(shí)符或其他合適的標(biāo)識(shí)符。雖然在此實(shí)施例中為每個(gè)x+節(jié)點(diǎn)220僅提供了一個(gè)PkgName節(jié)點(diǎn)240,也是在具體實(shí)現(xiàn)中也可使用多于一個(gè)的節(jié)點(diǎn)。
State節(jié)點(diǎn)250包括關(guān)于分組的移動(dòng)設(shè)備狀態(tài)的值。該值可以是由按實(shí)現(xiàn)情況確定的并且可用于為該移動(dòng)計(jì)算設(shè)備存儲(chǔ)狀態(tài)信息。例如,能夠在State節(jié)點(diǎn)250內(nèi)設(shè)置可以指明更新成功并且舊有數(shù)據(jù)已被刪除的值。類似地,可以設(shè)置指明了更新嘗試已失敗并且保留舊有數(shù)據(jù)的值??梢詣?chuàng)建并使用多種其他狀態(tài)描述符和值。
圖3是根據(jù)本發(fā)明的一個(gè)方面的更新對(duì)象300的方案示意圖。在此實(shí)例中,依賴被施加的具體更新在運(yùn)行時(shí)間動(dòng)態(tài)地創(chuàng)建一個(gè)更新對(duì)象300的實(shí)例。如上參考圖2討論的對(duì)象方案,也可根據(jù)OMA FUMO系統(tǒng)或其他合適的系統(tǒng)來(lái)處理該更新對(duì)象。該對(duì)象300包括在根層處的FwUpdate節(jié)點(diǎn)310。根據(jù)此特定方案,只可以有一個(gè)根層節(jié)點(diǎn)。盡管如此,在其他實(shí)施例中也可使用多于一個(gè)根層的節(jié)點(diǎn)。本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識(shí)到,為了具體實(shí)施的特定需要如何修改給出的方案。
下一層包括一個(gè)包含有分組標(biāo)識(shí)符的x*節(jié)點(diǎn)320。為了明確起見僅示出了單個(gè)x*節(jié)點(diǎn)320。盡管如此,仍可想像能夠并且將要使用多個(gè)x*節(jié)點(diǎn)320。在此實(shí)例中,x*節(jié)點(diǎn)320的分組標(biāo)識(shí)符是映像更新分組的GUID。所述GUID可以是文字?jǐn)?shù)字標(biāo)識(shí)符、二進(jìn)制標(biāo)識(shí)符、十六進(jìn)制標(biāo)識(shí)符或其他合適的標(biāo)識(shí)符。
每個(gè)x*節(jié)點(diǎn)320都表示ROM映像的一個(gè)更新分組。所表示的更新分組可以包括用于更新多個(gè)ROM分組的信息。
每個(gè)x*節(jié)點(diǎn)320都包括DownloadAndUpdate節(jié)點(diǎn)330,其自身包含PkgURL節(jié)點(diǎn)340。所述DownloadAndUpdate節(jié)點(diǎn)330可包括布爾數(shù)據(jù)。PkgURL節(jié)點(diǎn)340可以包括諸如統(tǒng)一資源定位器(“URL”)的位置信息用于擬被下載并應(yīng)用作為固件更新的分組。
x*節(jié)點(diǎn)320還可包括PkgVersion節(jié)點(diǎn)350。PkgVersion節(jié)點(diǎn)350包括用于映像更新分組的版本信息。該版本信息可以是人類可讀的(諸如字符串),或者可以是諸如二進(jìn)制碼的機(jī)器可讀格式。其他合適的格式也可用于該版本信息。此外,子版本或者特殊版本信息可被包括作為提出的方案的部分或者作為該方案的擴(kuò)展。
x*節(jié)點(diǎn)320還可包括一個(gè)PkgName節(jié)點(diǎn)360。在此實(shí)例中,PkgName節(jié)點(diǎn)360包括ROM分組的用戶友好名稱。參考在此給出的其他實(shí)例,能夠以其自身根據(jù)特定實(shí)現(xiàn)而變化的各種格式表示該名稱。
State節(jié)點(diǎn)370可被附加包括在x*節(jié)點(diǎn)320內(nèi)。State節(jié)點(diǎn)370包括在嘗試更新ROM分組之后對(duì)所述移動(dòng)設(shè)備的狀態(tài)值。該值可以是由實(shí)現(xiàn)決定的并且可用于為該移動(dòng)計(jì)算設(shè)備存儲(chǔ)狀態(tài)信息。例如,能夠在State節(jié)點(diǎn)370內(nèi)設(shè)置可以指明更新成功并且舊有數(shù)據(jù)已被刪除的值。類似地,可以設(shè)置指明更新嘗試已失敗并且保留舊有數(shù)據(jù)的值??梢詣?chuàng)建并使用多種其他的描述符和值。
圖4是根據(jù)本發(fā)明的另一個(gè)方面包括有定位特征的ROM更新系統(tǒng)400的系統(tǒng)框圖。定位通常描述改編計(jì)算設(shè)備的組件(尤其包括軟件字符)以適應(yīng)反映特定地理位置的需要的過(guò)程。定位通常涉及諸如使用特定領(lǐng)域內(nèi)的語(yǔ)言改寫軟件的事件。正如在此使用的,定位還包括改變操作層以使得計(jì)算設(shè)備在一個(gè)地理區(qū)域內(nèi)的操作與另一個(gè)地理區(qū)域內(nèi)的操作不同。
該功能性改變的一個(gè)實(shí)例發(fā)生在通信協(xié)議內(nèi)。移動(dòng)計(jì)算設(shè)備可以包括支持多個(gè)通信協(xié)議的硬件。在美國(guó)境內(nèi)的設(shè)備可使用TDMA協(xié)議對(duì)通信設(shè)施進(jìn)行無(wú)線接入。然而在歐洲卻主要使用GSM協(xié)議。因此,移動(dòng)計(jì)算設(shè)備的ROM內(nèi)的改變能夠使得在該移動(dòng)設(shè)備在歐洲工作時(shí)使用GSM代替TDMA。
類似地,移動(dòng)計(jì)算設(shè)備可以支持IEEE 802.11x(WiFi)通信以及其他通信協(xié)議。當(dāng)該移動(dòng)計(jì)算設(shè)備進(jìn)入WiFi熱區(qū)或進(jìn)入由WiFi接入點(diǎn)服務(wù)的另一區(qū)域時(shí),該移動(dòng)計(jì)算設(shè)備可以更新它的ROM以使得該設(shè)備使用所述WiFi接入點(diǎn)。在通信協(xié)議間進(jìn)行該切換的其他實(shí)例對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是顯而易見的。
其他的實(shí)例包括根據(jù)地理位置添加或移除(或者類似地,啟用或禁用)移動(dòng)計(jì)算設(shè)備的功能。在美國(guó),可以使用強(qiáng)有力的加密技術(shù)來(lái)保證電子通信的安全。對(duì)該技術(shù)的支持通常不是在每個(gè)地理位置上都可用的。該移動(dòng)計(jì)算設(shè)備可以通過(guò)更新其內(nèi)部的ROM映像添加或移除(或者啟用或禁用)加密特征。該功能性修改的其他實(shí)例對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是顯而易見的。
所述ROM更新系統(tǒng)400旨在根據(jù)該移動(dòng)計(jì)算設(shè)備的地理位置啟用對(duì)該移動(dòng)計(jì)算設(shè)備的ROM映像的更新。ROM更新系統(tǒng)400包括移動(dòng)計(jì)算設(shè)備410,后者自身包括被定位固件420。該移動(dòng)計(jì)算設(shè)備410可以是蜂窩電話、個(gè)人信息管理器、個(gè)人數(shù)字助理或者其他設(shè)備。全球定位系統(tǒng)(GPS)模塊430可被耦合至該移動(dòng)計(jì)算設(shè)備并且可以訪問(wèn)GPS衛(wèi)星440。GPS模塊430可以使用來(lái)自GPS衛(wèi)星440的信息來(lái)確定移動(dòng)計(jì)算設(shè)備410的地理位置。
移動(dòng)計(jì)算設(shè)備410可以訪問(wèn)網(wǎng)絡(luò)450。網(wǎng)絡(luò)450可以是有線或無(wú)線網(wǎng)絡(luò),尤其可以是因特網(wǎng)。網(wǎng)絡(luò)450可以連接至更新服務(wù)器460。更新服務(wù)器可以是專用文件服務(wù)器、適用于固件更新任務(wù)的Web服務(wù)器或者其他合適種類的服務(wù)器。然而一旦被實(shí)現(xiàn),所述更新服務(wù)器460能夠與移動(dòng)計(jì)算設(shè)備410通信,特別可以發(fā)送更新信息給所述移動(dòng)計(jì)算設(shè)備410。
更新服務(wù)器460可以訪問(wèn)定位模塊470。定位模塊470可以使用來(lái)自GPS模塊430的信息來(lái)確定將被送至移動(dòng)計(jì)算設(shè)備410的恰當(dāng)定位信息(諸如被定位的ROM映像或其部分)。更新服務(wù)器460可以訪問(wèn)由定位模塊470指定來(lái)自ROM代碼數(shù)據(jù)存儲(chǔ)480的合適ROM組件。所述來(lái)自ROM代碼數(shù)據(jù)存儲(chǔ)480的ROM組件可由更新服務(wù)器460使用網(wǎng)絡(luò)450發(fā)送至移動(dòng)計(jì)算設(shè)備410。
揭示和描述的組件(例如與定位或識(shí)別任務(wù)相連的組件)可以使用各種基于人工智能的方案來(lái)執(zhí)行它的各個(gè)方面。例如可以通過(guò)神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、基于規(guī)則的處理組件或SVM來(lái)進(jìn)行對(duì)被定位ROM組件的識(shí)別。此外,當(dāng)使用多于一個(gè)組件時(shí),神經(jīng)網(wǎng)絡(luò)其他的基于人工智能的組件可以幫助識(shí)別基于預(yù)定因素而提供“最適”的被定位的ROM組件。
分類器是把輸入屬性向量X=(x1,x2,x3,x4,...xn)映射到該輸入屬于一個(gè)分類的置信度的函數(shù),即f(X)=confidence(class)。這一分類可以是使用基于概率和/或統(tǒng)計(jì)的分析(例如分解至分析效用和成本)來(lái)預(yù)測(cè)和推斷用戶期望被自動(dòng)執(zhí)行的動(dòng)作。例如,在ROM組件代替系統(tǒng)的情況下,屬性可以是文件描述符,諸如文件名、簽名、散列函數(shù)、更新代碼、兼容性代碼、版本號(hào)、建立號(hào)、發(fā)布日期或者從ROM文件中導(dǎo)出的其他特定數(shù)據(jù)屬性,而所述分類是感興趣的范疇或區(qū)域,例如該設(shè)備可使用的其他ROM組件的描述符。
支持矢量機(jī)(SVM)是一個(gè)可采用的分類器的實(shí)例。SVM通過(guò)在可能的輸入空間內(nèi)尋找超曲面進(jìn)行操作,其中超曲面試圖將觸發(fā)準(zhǔn)則從非觸發(fā)事件分隔出來(lái)。直觀地,這就使得對(duì)接近但不等同于培訓(xùn)數(shù)據(jù)的測(cè)試數(shù)據(jù)的分類正確??梢圆捎闷渌邢蚝蜔o(wú)向的模型分類方法例如包括如 Bayes、Bayesian網(wǎng)絡(luò)和決策樹和提供不同獨(dú)立模式的概率分類模型。在此使用的分類還可包括用于發(fā)展優(yōu)先權(quán)模塊的統(tǒng)計(jì)回歸。
正如可從主題說(shuō)明中所輕易認(rèn)識(shí)的那樣,本主題發(fā)明可采用被明確訓(xùn)練(例如通過(guò)一般訓(xùn)練數(shù)據(jù))或被隱含訓(xùn)練(例如通過(guò)觀察用戶行為,接收外來(lái)信息)的分類器。例如,可以通過(guò)在分類器構(gòu)造器和特征選擇模塊內(nèi)的學(xué)習(xí)或訓(xùn)練階段來(lái)配置SVM。這樣就可使用分類器自動(dòng)執(zhí)行多個(gè)函數(shù),包括但不限于確定一設(shè)備是否應(yīng)發(fā)送數(shù)據(jù)。
隨后是ROM更新系統(tǒng)400操作的一個(gè)實(shí)例。移動(dòng)計(jì)算設(shè)備410在使用中訪問(wèn)GPS模塊430來(lái)獲取關(guān)于其地理位置的信息。為了獲取此信息,GPS模塊430訪問(wèn)GPS衛(wèi)星440并且基于來(lái)自該GPS衛(wèi)星的信息計(jì)算它的地理位置。移動(dòng)計(jì)算設(shè)備也以結(jié)合先前附圖的上述方案或?qū)ο笾械囊粋€(gè)形式訪問(wèn)關(guān)于被定位固件420的信息。
移動(dòng)計(jì)算設(shè)備410經(jīng)由網(wǎng)絡(luò)450發(fā)送關(guān)于其地理位置和被定位固件420的信息。該信息由更新服務(wù)器460接收。更新服務(wù)器460把地理信息以及關(guān)于被定位固件420的信息發(fā)送給定位模塊470。定位模塊470使用所述地理信息以及關(guān)于被定位固件420的信息來(lái)確定替換的被定位ROM組件是否存在以及是否將應(yīng)用該替換的被定位ROM組件。
如果替換被定位ROM組件存在并且應(yīng)被應(yīng)用,則定位模塊470把關(guān)于該替換的ROM組件的信息提供給更新服務(wù)器460。更新服務(wù)器460從ROM代碼數(shù)據(jù)存儲(chǔ)中獲取所述組件并經(jīng)由網(wǎng)絡(luò)450發(fā)送該組件。移動(dòng)計(jì)算設(shè)備410接收來(lái)自網(wǎng)絡(luò)450的替換組件并且使用該替換組件進(jìn)行對(duì)被定位固件420的更新。
圖5是根據(jù)本發(fā)明又一個(gè)方面的基于對(duì)等的ROM更新系統(tǒng)500的系統(tǒng)框圖。該基于對(duì)等的ROM更新系統(tǒng)旨在提供一種措施,其中移動(dòng)通信設(shè)備通過(guò)該措施在對(duì)等的基礎(chǔ)上直接從第二移動(dòng)計(jì)算設(shè)備中獲取替換ROM組件。該對(duì)等功能在移動(dòng)計(jì)算設(shè)備無(wú)法連接網(wǎng)絡(luò)以獲取ROM更新的情況下(諸如當(dāng)移動(dòng)計(jì)算設(shè)備的固件的一部分被破壞或出現(xiàn)故障時(shí)等)十分有用。
基于對(duì)等的ROM更新系統(tǒng)500包括移動(dòng)計(jì)算設(shè)備510和520。每個(gè)移動(dòng)計(jì)算設(shè)備510和520都包括一組固件530和540。每個(gè)移動(dòng)計(jì)算設(shè)備510和520還可訪問(wèn)相關(guān)聯(lián)的對(duì)等更新管理器550和560。對(duì)等更新管理器550和560可以獲取關(guān)于移動(dòng)計(jì)算設(shè)備510和520的固件530和540的描述信息。該描述信息可由對(duì)等更新管理器550和560公布給其他移動(dòng)計(jì)算設(shè)備。與移動(dòng)計(jì)算設(shè)備相關(guān)聯(lián)的對(duì)等更新管理器(諸如對(duì)等更新管理器550和560)可使用所述公布的信息以確定諸如固件530和540的固件是否應(yīng)使用該公布的移動(dòng)計(jì)算設(shè)備作為源而進(jìn)行更新。
移動(dòng)計(jì)算設(shè)備510和520都還可訪問(wèn)網(wǎng)絡(luò)570。每個(gè)移動(dòng)計(jì)算設(shè)備510和520也可使用網(wǎng)絡(luò)570訪問(wèn)更新服務(wù)器580。提供訪問(wèn)更新服務(wù)器580作為獲取更新另外的或附加的途徑??梢粤舷敫路?wù)器580總是具有用于安裝入移動(dòng)計(jì)算設(shè)備的固件內(nèi)的最新版本的ROM組件,但那不是必須的。
也存在那樣的情況,更新服務(wù)器580可以獲取來(lái)自移動(dòng)計(jì)算設(shè)備的ROM組件以分配給訪問(wèn)該更新服務(wù)器的其他移動(dòng)計(jì)算設(shè)備。
隨后是一個(gè)可能操作情況的實(shí)例。移動(dòng)計(jì)算設(shè)備510使用網(wǎng)絡(luò)570來(lái)訪問(wèn)更新服務(wù)器580以獲取用于安裝入固件530的已更新的ROM組件。更新服務(wù)器580確定一更新可用并將該更新發(fā)送給移動(dòng)計(jì)算設(shè)備510。移動(dòng)計(jì)算設(shè)備510使用所述新的組件來(lái)更新固件530并且繼續(xù)其操作。
移動(dòng)計(jì)算設(shè)備510使用該對(duì)等更新管理器550來(lái)公布關(guān)于其ROM組件的信息給移動(dòng)計(jì)算設(shè)備520。移動(dòng)計(jì)算設(shè)備520的對(duì)等更新管理器560將由移動(dòng)計(jì)算設(shè)備510公布的信息與關(guān)于移動(dòng)計(jì)算設(shè)備520的固件540的ROM組件的信息相比較。對(duì)等更新管理器560使用該信息確定來(lái)自所述移動(dòng)計(jì)算設(shè)備510的ROM組件的已更新版本是否可用。如果可用,則對(duì)等更新管理器560獲取所述已更新的組件或者來(lái)自移動(dòng)計(jì)算設(shè)備510的組件并且更新移動(dòng)計(jì)算設(shè)備520的固件540。
圖6是根據(jù)揭示的本發(fā)明的再一個(gè)方面的安全ROM更新系統(tǒng)600的系統(tǒng)框圖。安全ROM更新系統(tǒng)600旨在提供一個(gè)能夠保護(hù)用于更新移動(dòng)計(jì)算設(shè)備固件的ROM組件內(nèi)容的平臺(tái),并且驗(yàn)證這些ROM組件的一個(gè)源的等同??墒褂迷S多方法來(lái)確保和驗(yàn)證ROM組件。如下將進(jìn)一步討論一些實(shí)例。
安全ROM更新系統(tǒng)600包括一個(gè)更新服務(wù)器610。更新服務(wù)器610可以訪問(wèn)為該更新服務(wù)器610提供安全和認(rèn)證功能的安全模塊620。此安全和認(rèn)證功能可包括將數(shù)字簽名應(yīng)用到電子通信并加密那些電子通信??衫枚鄠€(gè)技術(shù)以數(shù)字地簽署或加密電子通信。這些技術(shù)包括使用對(duì)稱私鑰加密算法、不對(duì)稱私鑰-公鑰算法或者其他合適的加密方案。
更新服務(wù)器可以訪問(wèn)網(wǎng)絡(luò)630來(lái)與移動(dòng)計(jì)算設(shè)備650通信。移動(dòng)計(jì)算設(shè)備650可以訪問(wèn)能夠解釋由與更新服務(wù)器610相關(guān)聯(lián)的安全模塊620簽署或加密的電子通信的移動(dòng)安全模塊640。由移動(dòng)安全模塊640解釋的電子通信可被轉(zhuǎn)發(fā)給移動(dòng)計(jì)算設(shè)備650來(lái)使用。
在操作中,移動(dòng)計(jì)算設(shè)備650可以發(fā)送一個(gè)更新請(qǐng)求給移動(dòng)安全模塊640。移動(dòng)安全模塊640加密并數(shù)字簽署該請(qǐng)求并且將其轉(zhuǎn)發(fā)給網(wǎng)絡(luò)630用于遞交。網(wǎng)絡(luò)630將該請(qǐng)求轉(zhuǎn)發(fā)給驗(yàn)證該數(shù)字簽名并解密該請(qǐng)求的安全模塊620。隨后該安全模塊620就把該請(qǐng)求轉(zhuǎn)發(fā)給更新服務(wù)器610。
更新服務(wù)器識(shí)別一個(gè)更新分組并把該分組發(fā)送給安全模塊620。安全模塊620加密并數(shù)字簽署該更新分組并且隨后將該更新分組轉(zhuǎn)發(fā)給網(wǎng)絡(luò)630。網(wǎng)絡(luò)630把該更新分組轉(zhuǎn)發(fā)給驗(yàn)證該更新分組的數(shù)字簽名并解密該分組的移動(dòng)安全模塊640。隨后該移動(dòng)安全模塊640就把所述更新分組轉(zhuǎn)發(fā)給要使用該分組更新其固件的移動(dòng)計(jì)算設(shè)備650。
參考圖7至圖12,給出了根據(jù)各種方法或過(guò)程的流程圖。雖然為了解釋簡(jiǎn)單的目的,在此例如以流程圖的形式示出的一種或多種方法是作為一系列的動(dòng)作被示出和描述的,但應(yīng)該理解并認(rèn)識(shí)到示出的和描述的方法和過(guò)程以及這些方法和過(guò)程要用到的任何組件都不限于這些動(dòng)作的順序,因?yàn)橛行﹦?dòng)作能夠以不同的順序發(fā)生和/或與在此示出并描述的其他動(dòng)作一起發(fā)生。例如,本領(lǐng)域普通技術(shù)人員應(yīng)該理解并認(rèn)識(shí)到,能夠另外地以一系列相關(guān)狀態(tài)或事件的方式表示一種方法,諸如以狀態(tài)圖的形式。此外,為實(shí)現(xiàn)一種方法或過(guò)程并不是所有示出的動(dòng)作都是必需的。
圖7是描述根據(jù)在此已揭示或描述的組件,可采用的通用處理方法700中使用的動(dòng)作的流程圖。處理在起始框710處開始并且繼續(xù)到進(jìn)程框720,其中管理對(duì)象被公布。在進(jìn)程框730處,識(shí)別擬被更新的ROM部分。隨后處理進(jìn)行到進(jìn)程框740處,在其中獲取一個(gè)更新對(duì)象。在進(jìn)程框750處下載實(shí)際的更新并將其應(yīng)用于一設(shè)備的ROM映像。隨后在進(jìn)程框760處設(shè)置表示跟隨更新嘗試的設(shè)備狀態(tài)的狀態(tài)標(biāo)識(shí)符并且處理在終止框770處結(jié)束。
圖8是描述按照在此已揭示或描述的組件,可采用的通用處理方法800中使用的動(dòng)作的流程圖。方法800旨在提供一種能定位移動(dòng)計(jì)算設(shè)備固件的方法。處理在起始框810處開始并且繼續(xù)到進(jìn)程框820。在進(jìn)程框820處,獲取移動(dòng)計(jì)算設(shè)備的地理位置??墒褂肎PS系統(tǒng)自動(dòng)獲取地理位置信息。附加地或另選地,這些信息可由用戶通過(guò)鍵入一位置、從地圖中選擇一位置、從菜單中的一組位置中選擇一位置或者通過(guò)其他合適的方法手動(dòng)地輸入。
處理行進(jìn)到進(jìn)程框830處,在其中獲取安裝在所述移動(dòng)計(jì)算設(shè)備上的固件的描述符。該描述符可以是結(jié)合了以前附圖描述的描述符或者可以是其他合適的描述符。在進(jìn)程框840處,將一個(gè)包括了該移動(dòng)計(jì)算設(shè)備的固件描述符和地理信息的更新請(qǐng)求發(fā)送給更新服務(wù)器。這兩部分信息可作為單個(gè)單元被一起發(fā)送或者可被分開發(fā)送。
在進(jìn)程框850處,更新服務(wù)器從組件數(shù)據(jù)存儲(chǔ)中識(shí)別一個(gè)恰當(dāng)?shù)谋欢ㄎ坏墓碳陆M件。該被定位的固件更新可以是一個(gè)完整的ROM映射或者可以是ROM映象的一個(gè)組件。而且該被定位的固件更新能夠以結(jié)合其他附圖以前討論的任何方式調(diào)整所述移動(dòng)計(jì)算設(shè)備的功能。處理行進(jìn)到進(jìn)程框860處,其中所述更新服務(wù)器將被定位的固件更新組件發(fā)送給該移動(dòng)計(jì)算設(shè)備。所述移動(dòng)計(jì)算設(shè)備使用該被定位的更新組件來(lái)更新其固件的至少一部分。處理在終止框880處結(jié)束。
圖9是描述結(jié)合在此已揭示或描述的組件,可采用的通用處理方法900中使用的過(guò)程的流程圖。方法900旨在提供一種可通過(guò)訪問(wèn)另一個(gè),諸如使用對(duì)等通信的移動(dòng)計(jì)算設(shè)備來(lái)更新一移動(dòng)計(jì)算設(shè)備固件的方法。方法900的處理在起始框910處開始并且繼續(xù)到進(jìn)程框920,其中一移動(dòng)計(jì)算設(shè)備公布安裝在其固件內(nèi)的ROM映象的描述符。該描述符可以是結(jié)合了前面附圖描述的描述符或者可以是其他合適的描述符。
處理行進(jìn)到進(jìn)程框930處,其中第二移動(dòng)計(jì)算設(shè)備將已公布的ROM描述符和當(dāng)前安裝在所述第二移動(dòng)計(jì)算設(shè)備內(nèi)的ROM映射描述符比較。當(dāng)前安裝在第二移動(dòng)計(jì)算設(shè)備內(nèi)的ROM映象的描述符可以是結(jié)合了前面附圖描述的描述符中的一個(gè)或者可以是其他合適的描述符。在決定框940處,做出該已公布的描述符是否與能夠更新第二移動(dòng)計(jì)算設(shè)備的ROM組件相關(guān)聯(lián)的決定。
如果在決定框940處做出的決定是肯定的,則處理行進(jìn)到?jīng)Q定框950,其中從所述第一移動(dòng)計(jì)算設(shè)備中獲取可用于升級(jí)的ROM組件。設(shè)備之間組件的傳送連同描述符的公布是可以使用該移動(dòng)計(jì)算設(shè)備能夠支持的任何有線或無(wú)線的通信設(shè)備??善谕挠芯€系統(tǒng)有通用串行總線(“USB”)、IEEE 1394(Fire Wire)、串行和并行連接等等。可使用的無(wú)線系統(tǒng)包括WiFi、WiMax、CDMA、TDMA、GSM和藍(lán)牙等等。
處理行進(jìn)到進(jìn)程框960處,其中獲取的更新組件被安裝入第二移動(dòng)計(jì)算設(shè)備的固件中。安裝可以包括一次或多次檢查以確保更新進(jìn)程的成功完成。處理在終止框970處結(jié)束。類似地,如果在決定框940處做出的決定指明來(lái)自其他移動(dòng)計(jì)算設(shè)備的更新組件是不可用的,則處理在終止框970處結(jié)束。
圖10是描述結(jié)合在此已揭示或描述的組件,描述了可在通用處理方法1000中使用的動(dòng)作的流程圖。方法1000旨在提供一種方法來(lái)安全地更新安裝在移動(dòng)計(jì)算設(shè)備的固件內(nèi)的ROM組件。方法1000的處理在起始框1010處開始并且繼續(xù)到進(jìn)程框1020。在進(jìn)程框1020處,移動(dòng)計(jì)算設(shè)備構(gòu)造一個(gè)被加密和數(shù)字簽署的更新請(qǐng)求。如同在討論加密和數(shù)字簽署的其他地方這里應(yīng)該注意到,兩種技術(shù)可單獨(dú)使用或結(jié)合一起使用。
處理行進(jìn)到進(jìn)程框1030處,其中把當(dāng)前簽署并被加密的更新請(qǐng)求發(fā)送給更新服務(wù)器??梢酝ㄟ^(guò)直接連接更新服務(wù)器、通過(guò)一網(wǎng)絡(luò)連接至更新服務(wù)器或者通過(guò)連接至能夠代替更新服務(wù)器的對(duì)等物來(lái)完成對(duì)該請(qǐng)求的發(fā)送。在進(jìn)程框1040處,服務(wù)器接收到該更新請(qǐng)求并對(duì)該更新請(qǐng)求的數(shù)字簽名進(jìn)行識(shí)別,然后解密該更新請(qǐng)求的內(nèi)容。在該點(diǎn)處,可以實(shí)行一系列的檢查(未示出)來(lái)確保該數(shù)字簽名指明該請(qǐng)求是可信的,并且表示該請(qǐng)求在發(fā)送至更新服務(wù)器的過(guò)程中未被篡改。如果這些檢查中出現(xiàn)任何失敗,就結(jié)束該處理。
在進(jìn)程框1050處,更新服務(wù)器根據(jù)在更新請(qǐng)求內(nèi)提供的信息來(lái)識(shí)別可用于更新該移動(dòng)計(jì)算設(shè)備固件的ROM組件。在進(jìn)程框1060處,所述更新服務(wù)器加密并數(shù)字簽署該更新組件。附加地,該更新服務(wù)器把所述被簽署和加密的ROM組件發(fā)送給移動(dòng)計(jì)算設(shè)備。
在進(jìn)程框1070處,移動(dòng)計(jì)算設(shè)備接收該被簽署和加密的ROM組件,并進(jìn)行驗(yàn)證該簽名和解密該組件。如前類似的進(jìn)程,可以實(shí)行一系列的檢查(未示出)來(lái)確保該數(shù)字簽名指明該請(qǐng)求是可信的,并且表示該請(qǐng)求在發(fā)送至更新服務(wù)器的過(guò)程中未被篡改。如果這些檢查中出現(xiàn)任何失敗,就結(jié)束該處理。
在進(jìn)程框1080處,移動(dòng)計(jì)算設(shè)備安裝該ROM組件以更新其固件。安裝可以包括檢查(未示出)以確保該組件被合適安裝并且是可運(yùn)行的。這些檢查中出現(xiàn)任何失敗就可導(dǎo)致另一次更新嘗試或者可以導(dǎo)致處理的終止等等。方法1000的處理在終止框1090處結(jié)束。
為了提供用于實(shí)行的附加情況,圖11和圖12以及隨后的討論旨在提供對(duì)在其中可實(shí)現(xiàn)揭示或描述的組件和方法的合適計(jì)算環(huán)境的簡(jiǎn)明和通用的描述。雖然上述各種特定實(shí)現(xiàn)是在本地計(jì)算機(jī)和/或遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行指令的背景中討論的,但是本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識(shí)到單獨(dú)的或結(jié)合其他的程序模塊的實(shí)現(xiàn)也是可能的。通常的程序模塊包括執(zhí)行特定任務(wù)和/或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等等。
此外,本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識(shí)到上述討論的組件和方法可以使用其他計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)現(xiàn),包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型機(jī)、大型機(jī)、以及個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器和/或可編程電子消費(fèi)品等等,它們都可操作地與其他相關(guān)的設(shè)備連接。揭示和描述的組件或方法的某些示出部分也可在分布式計(jì)算環(huán)境中實(shí)現(xiàn),其中某些的任務(wù)可由通過(guò)通信網(wǎng)絡(luò)或其他數(shù)據(jù)連接而鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行。盡管如此,這些方面的部分(如果不是全部的話)可在獨(dú)立的計(jì)算機(jī)上實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和/或遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
圖11是在其中可使用揭示和描述的組件和方法的采樣計(jì)算環(huán)境1100的示意框圖。系統(tǒng)1100包括一個(gè)或多個(gè)客戶機(jī)1110??蛻魴C(jī)1110可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。系統(tǒng)1100也包括一個(gè)或多個(gè)服務(wù)器1120。例如,服務(wù)器1120可以容納通過(guò)使用被揭示和描述的組件或方法來(lái)執(zhí)行轉(zhuǎn)換的線程或進(jìn)程。特別地,可在服務(wù)區(qū)1120上實(shí)現(xiàn)的一個(gè)組件是一個(gè)更新服務(wù)器,諸如圖1的更新服務(wù)器110。另一個(gè)可被實(shí)現(xiàn)的組件是圖4的定位模塊470。此外,諸如結(jié)合圖6討論的安全模塊620的各安全模塊也可作為服務(wù)器1120的組件實(shí)現(xiàn)。揭示和討論的各其他組件也可在服務(wù)器1120上的實(shí)現(xiàn)。
客戶機(jī)1110和服務(wù)器1120之間的一種可能的通信方法可以是以適于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包的形式。系統(tǒng)1100包括可以被用來(lái)促進(jìn)客戶機(jī)1110和服務(wù)器1120之間通信的通信架構(gòu)1140??蛻魴C(jī)1110可操作地連接至可用來(lái)存儲(chǔ)對(duì)客戶機(jī)1110本地的信息的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)1150。類似地,服務(wù)器1120可操作地連接至可被用來(lái)存儲(chǔ)對(duì)服務(wù)器1140本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)1130。
參考圖12,用于實(shí)現(xiàn)本發(fā)明各個(gè)組件的示例性環(huán)境1210包括計(jì)算機(jī)1212。計(jì)算機(jī)1212包括處理單元1214、系統(tǒng)存儲(chǔ)器1216和系統(tǒng)總線1218。系統(tǒng)總線1218將包括但不限于系統(tǒng)存儲(chǔ)器1216的系統(tǒng)組件耦合至處理單元1214。處理單元1214可以是任何各種可用的處理器。也可以使用雙微處理器和其它多處理器體系結(jié)構(gòu)作為處理單元1214。
系統(tǒng)總線1218可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線或外部總線和/或使用各種可用的總線體系結(jié)構(gòu)中的任一種的局部總線,可用的總線體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系結(jié)構(gòu)(MCA)、擴(kuò)展的ISA(EISA)、智能驅(qū)動(dòng)器電子接口(IDE)、VESA局部總線(VLB)、外圍部件互連(PCI)、外圍部件互連表示(PCI Express)、ExpressCard、插件總線、通用串行總線(USB)、高級(jí)圖形接口(AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)總線(PCMCIA)、火線(IEEE1394)、串行先進(jìn)技術(shù)附件(SATA)以及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。
系統(tǒng)存儲(chǔ)器1216包括易失性存儲(chǔ)器1220和非易失性存儲(chǔ)器1222?;据斎?輸出系統(tǒng)(BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)1212中元件之間傳遞信息的基本例程,它通常存儲(chǔ)在非易失性存儲(chǔ)器1222中。作為說(shuō)明,而非限制,非易失性存儲(chǔ)器1222可以包括只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除ROM(EEPROM)或閃存。易失性存儲(chǔ)器1220包括用作外部高速緩存的隨機(jī)存取存儲(chǔ)器(RAM)。作為說(shuō)明,而非限制,RAM可以有多種形式,諸如同步RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍數(shù)據(jù)速率SDRAM(DDR SDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。
計(jì)算機(jī)1212也包括可移動(dòng)/不可以移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。例如,圖12示出磁盤存儲(chǔ)1224。磁盤存儲(chǔ)1224包括,但不限于,如磁盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、LS-100驅(qū)動(dòng)器、閃存卡或記憶棒的設(shè)備。另外,磁盤存儲(chǔ)1224可以包括獨(dú)立的存儲(chǔ)介質(zhì)或與其它存儲(chǔ)介質(zhì)結(jié)合,包括但不限于,諸如光盤ROM設(shè)備(CD-ROM)、CD可記錄驅(qū)動(dòng)器(CD-R驅(qū)動(dòng)器)、CD可重寫驅(qū)動(dòng)器(CD-RW驅(qū)動(dòng)器)或數(shù)字多功能盤ROM驅(qū)動(dòng)器(DVD-ROM)等的光盤驅(qū)動(dòng)器。為了便于將磁盤存儲(chǔ)設(shè)備1224連接至系統(tǒng)總線1218,一般使用諸如接口1226等可移動(dòng)或不可移動(dòng)接口。
提供給計(jì)算機(jī)1212的各種類型的易失性和非易失性存儲(chǔ)器或存儲(chǔ)裝置可用于存儲(chǔ)在此揭示和描述的數(shù)據(jù)端口信令系統(tǒng)的各種實(shí)現(xiàn)的組件。例如參考圖1,固件160可作為存儲(chǔ)在非易失性存儲(chǔ)器1222內(nèi)的軟件模塊來(lái)實(shí)現(xiàn)。在運(yùn)行時(shí)間中,固件160可被載入易失性存儲(chǔ)器1220,而處理單元1214從中訪問(wèn)固件160的機(jī)器可解釋代碼并將其放入處理單元中執(zhí)行。
可以理解,圖12描述了作為用戶和在合適的操作環(huán)境1200中描述的基本計(jì)算機(jī)資源之間的中介的軟件。這樣的軟件包括操作系統(tǒng)1228??杀淮鎯?chǔ)在磁盤存儲(chǔ)1224上的操作系統(tǒng)1228用來(lái)控制和分配計(jì)算機(jī)系統(tǒng)1212的資源。系統(tǒng)應(yīng)用程序1230利用了操作系統(tǒng)1228通過(guò)存儲(chǔ)在系統(tǒng)存儲(chǔ)器1216或者磁盤存儲(chǔ)1224上的程序模塊1232和程序數(shù)據(jù)1234執(zhí)行的資源管理??梢岳斫?,所揭示的組件和方法可以使用各種操作系統(tǒng)或操作系統(tǒng)的組合來(lái)實(shí)現(xiàn)。
用戶通過(guò)輸入設(shè)備1236向計(jì)算機(jī)1212輸入命令或信息。輸入設(shè)備1236包括但不限于,諸如鼠標(biāo)、跟蹤球、輸入筆等定點(diǎn)設(shè)備、觸摸墊、鍵盤、麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、TV調(diào)諧器卡、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、Web攝像頭等。這些和其它輸入設(shè)備經(jīng)由接口端口1238通過(guò)系統(tǒng)總線1218連接至處理單元1214。接口端口1238例如包括串行端口、并行端口、游戲端口和通用串行總線(USB)。輸出設(shè)備1240使用某些與輸入設(shè)備1236相同類型的端口。因此,例如USB端口可以用于向計(jì)算機(jī)1212提供輸入,并向輸出設(shè)備1240輸出來(lái)自計(jì)算機(jī)1212的信息。接口端口1238可具體地包括可用于在此揭示和描述的組件的各種數(shù)據(jù)連接端口。
提供輸出適配器1242來(lái)示出,存在類似監(jiān)視器、揚(yáng)聲器和打印機(jī)的輸出設(shè)備1240以及其它需要專用適配器的某些輸出設(shè)備1240。作為說(shuō)明而非限制,輸出適配器1242包括提供輸出設(shè)備1240和系統(tǒng)總線1218之間的連接手段的顯卡和聲卡。應(yīng)該注意,諸如遠(yuǎn)程計(jì)算機(jī)1244等其它設(shè)備和/或設(shè)備系統(tǒng)同時(shí)提供輸入和輸出能力兩者。
計(jì)算機(jī)1212可使用至一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)1244的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1244可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的裝置、對(duì)等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn)等,且通常包括相對(duì)于計(jì)算機(jī)1212描述的許多或所有元件。為簡(jiǎn)潔起見,對(duì)于遠(yuǎn)程計(jì)算機(jī)1244僅示出存儲(chǔ)器存儲(chǔ)設(shè)備1246。遠(yuǎn)程計(jì)算機(jī)1244通過(guò)網(wǎng)絡(luò)接口1248被邏輯連接至計(jì)算機(jī)1212,并且然后通過(guò)通信連接1250被物理地連接。網(wǎng)絡(luò)接口1248包括諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)的有線和/或無(wú)線通信網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅線分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)和令牌環(huán)等。WAN技術(shù)包括,但不限于,點(diǎn)對(duì)點(diǎn)鏈路、類似綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)及其變體的電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)和數(shù)字用戶線(DSL)。
通信連接1250指的是用來(lái)將網(wǎng)絡(luò)接口1248連接至總線1218的硬件/軟件。盡管為說(shuō)明清楚,將通信連接1250示為位于計(jì)算機(jī)1212內(nèi),然而通信連接1250也可以在計(jì)算機(jī)1212外部。僅為示例的目的,連接至網(wǎng)絡(luò)接口1248所必需的硬件/軟件包括內(nèi)部和外部技術(shù),諸如包括常規(guī)電話級(jí)調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和DSL調(diào)制解調(diào)器等的調(diào)制解調(diào)器、ISDN適配器以及以太網(wǎng)卡。
以上的描述包括某些組件和方法的示出實(shí)例。當(dāng)然不可能描述組件和方法的每一種能夠想到的組合,但是本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識(shí)到許多其他的組合和排列都是可能的。因此所有這些改變、修改和變化都旨在落于所附權(quán)利要求的精神和范圍之內(nèi)。
特別地關(guān)于由上述組件、設(shè)備、電路和系統(tǒng)等等執(zhí)行的各種功能,用于描述這些組件的術(shù)語(yǔ)(包括對(duì)“裝置”的參考)除非另行指出,旨在對(duì)應(yīng)于執(zhí)行被描述組件的特定功能的任何組件(例如功能等效物),即使這些組件執(zhí)行在此揭示的實(shí)例中的功能但在結(jié)構(gòu)上并不等效于已被揭示的結(jié)構(gòu)。在這點(diǎn)上,應(yīng)該認(rèn)識(shí)到所揭示和描述的組件和方法可以包括一個(gè)系統(tǒng)以及含有用于執(zhí)行在此揭示并描述的方法的動(dòng)作和/或事件的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
此外,雖然僅結(jié)合了各種實(shí)現(xiàn)中的一個(gè)來(lái)揭示某些特性,但是這些特性也組合按照需要的其他實(shí)現(xiàn)的一個(gè)或多個(gè)其他特性以及對(duì)任何給定或特定應(yīng)用的優(yōu)點(diǎn)。而且對(duì)詳細(xì)描述和權(quán)利要求書中都使用的術(shù)語(yǔ)“包括”而言,當(dāng)被用作權(quán)利要求書中的過(guò)渡詞時(shí),這樣的術(shù)語(yǔ)旨在是包含性的,類似于術(shù)語(yǔ)“包含”。
權(quán)利要求
1.一種用于描述移動(dòng)計(jì)算設(shè)備的固件的系統(tǒng),包括只讀管理對(duì)象,它包含有關(guān)于一固件組件的標(biāo)識(shí)和版本信息;以及更新對(duì)象,它包含有關(guān)于該固件組件的更新分組的標(biāo)識(shí)和版本信息。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括更新模塊,所述模塊訪問(wèn)關(guān)于該固件組件的標(biāo)識(shí)和版本信息以確定固件組件的更新分組是否可用。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述更新對(duì)象還包括所述固件組件更新分組的位置。
4.如權(quán)利要求3所述的方法,其特征在于,所述固件組件更新分組的位置是統(tǒng)一資源標(biāo)識(shí)符。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,還包括使用所述管理對(duì)象以提供所述更新對(duì)象的更新服務(wù)器。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述更新對(duì)象參考一被定位的組件。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括能夠從移動(dòng)計(jì)算設(shè)備中獲取所述更新對(duì)象的對(duì)等更新模塊。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括能夠識(shí)別參考了被定位內(nèi)容的更新對(duì)象的定位模塊。
9.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括能夠使更新對(duì)象安全傳輸?shù)陌踩K。
10.一種管理便攜計(jì)算設(shè)備的固件組件的計(jì)算機(jī)實(shí)現(xiàn)方法,包括至少部分基于被存取信息,使用只讀管理對(duì)象來(lái)識(shí)別可用的固件組件更新分組;以及創(chuàng)建一個(gè)包含有涉及固件組件更新分組的信息的更新對(duì)象。
11.如權(quán)利要求10所述的方法,其特征在于,創(chuàng)建更新對(duì)象包括提供一更新組件的位置。
12.如權(quán)利要求11所述的方法,其特征在于,還包括把所述更新對(duì)象發(fā)送給移動(dòng)計(jì)算設(shè)備。
13.如權(quán)利要求12所述的方法,其特征在于,把所述更新對(duì)象發(fā)送給移動(dòng)計(jì)算設(shè)備包括數(shù)字簽署所述更新對(duì)象和加密所述更新對(duì)象中的至少一個(gè)。
14.如權(quán)利要求12所述的方法,其特征在于,還包括把所述固件組件分組發(fā)送給所述移動(dòng)計(jì)算設(shè)備。
15.如權(quán)利要求11所述的方法,其特征在于,創(chuàng)建更新對(duì)象包括使用定位信息。
16.一種用于管理便攜計(jì)算設(shè)備的固件組件的系統(tǒng),包括用于至少部分基于被存取信息,使用只讀管理對(duì)象來(lái)識(shí)別可用的固件組件更新分組的裝置;以及用于創(chuàng)建一個(gè)包含有涉及固件組件更新分組的信息的更新對(duì)象的裝置。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,用于創(chuàng)建更新對(duì)象的裝置包括用于提供一更新組件的位置的裝置。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,還包括用于把所述更新對(duì)象發(fā)送給移動(dòng)計(jì)算設(shè)備的裝置。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,用于把所述更新對(duì)象發(fā)送給移動(dòng)計(jì)算設(shè)備的裝置包括數(shù)字簽署所述更新對(duì)象的裝置和加密所述更新對(duì)象的裝置中的至少一個(gè)。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括用于把所述固件組件分組發(fā)送給所述移動(dòng)計(jì)算設(shè)備的裝置。
21.如權(quán)利要求17所述的系統(tǒng),其特征在于,用于創(chuàng)建更新對(duì)象的裝置包括用于使用定位信息的裝置。
全文摘要
創(chuàng)建一個(gè)只讀管理對(duì)象,它包含有涉及可被更新的固件組件的信息。該信息包括組件標(biāo)識(shí)符、組件版本和該組件的用戶友好名。該信息還包括狀態(tài)標(biāo)識(shí)符,它表示了包括有固件組件的設(shè)備的狀態(tài)。來(lái)自該管理對(duì)象的信息可作為固件更新進(jìn)程的部分被其他組件使用。動(dòng)態(tài)地創(chuàng)建一個(gè)更新管理對(duì)象以把更新分組遞交給所述設(shè)備。所述更新分組可以包括多個(gè)固件組件的更新。
文檔編號(hào)G06F9/445GK1825282SQ20061000432
公開日2006年8月30日 申請(qǐng)日期2006年1月24日 優(yōu)先權(quán)日2005年2月1日
發(fā)明者J·M·鮑爾, Y·朱 申請(qǐng)人:微軟公司