專利名稱:Pre-os應(yīng)用程序升級(jí)和許可控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例涉及計(jì)算才幾應(yīng)用程序。更具體地說,本發(fā)明的 實(shí)施例涉及用于pre-OS應(yīng)用程序升級(jí)和許可控制的系統(tǒng)和方法。
背景技術(shù):
在計(jì)算機(jī)處理中,基于固件的pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序 已變得越來越普及。在加載操作系統(tǒng)之前,計(jì)算機(jī)系統(tǒng)經(jīng)常在pre-OS 環(huán)境(又稱作"預(yù)引導(dǎo)執(zhí)行環(huán)境")中使用pre-OS應(yīng)用程序來開發(fā) 各種工具。雖然各個(gè)系統(tǒng)中的處理可能不同,但是系統(tǒng)通常會(huì)加載 系統(tǒng)BIOS (基本輸"輸出系統(tǒng)),BIOS將識(shí)別最高優(yōu)先級(jí)的引導(dǎo) 設(shè)備。引導(dǎo)設(shè)備的啟動(dòng)將導(dǎo)致加載引導(dǎo)映像文件。個(gè)人計(jì)算機(jī)制造 商不斷嘗試在pre-OS環(huán)境中提供寬范圍的基礎(chǔ)固件以及附加實(shí)用程 序和應(yīng)用程序,以區(qū)別制造商的硬件并向終端用戶提供增值服務(wù)。 pre-OS應(yīng)用程序可以包括但不局限于諸如Inte應(yīng)平臺(tái)管理技術(shù)和 Intel 系統(tǒng)恢復(fù)工具之類的應(yīng)用程序。
在計(jì)算機(jī)系統(tǒng)中提供的pre-OS應(yīng)用程序通常是在制造階段期間 燒入或加載到板上閃存或其它非易失性存儲(chǔ)器中的,但所用的處理 可能有所改變。這些應(yīng)用程序4妄著能夠在系統(tǒng)啟動(dòng)時(shí)供用戶使用, 并且在修改非易失性存儲(chǔ)器之前基本上是永久性的。
隨著計(jì)算機(jī)系統(tǒng)的發(fā)展,需要對(duì)計(jì)算機(jī)系統(tǒng)中的一個(gè)或多個(gè)pre-OS 應(yīng)用程序進(jìn)行升級(jí)。 升級(jí)可以包括修改現(xiàn)有的應(yīng)用程序、替代現(xiàn) 有的應(yīng)用程序或增加新的應(yīng)用程序。然而,常規(guī)的個(gè)人計(jì)算機(jī)和類 似的計(jì)算機(jī)系統(tǒng)具有有限的升級(jí)操作能力。通常,pre-OS應(yīng)用程序 的升級(jí)是通過OS實(shí)用工具或來自可引導(dǎo)設(shè)備的flash更新工具在本 地進(jìn)行的。這些常規(guī)處理對(duì)于終端用戶來說通常是不便利的,使得
難以升級(jí)到更加新的應(yīng)用程序版本。出于這個(gè)原因,用戶經(jīng)常不會(huì)
修改pre-OS應(yīng)用程序。在這些情況下,可能會(huì)阻礙pre-OS應(yīng)用程序 供應(yīng)商生成新的應(yīng)用程序,原因在于難以從這些新的應(yīng)用程序中產(chǎn) 生訂購收入。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一方面,本發(fā)明涉及一種用于pre-OS應(yīng)用程序升 級(jí)的方法,包括 引導(dǎo)計(jì)算機(jī);
為所述計(jì)算機(jī)建立預(yù)引導(dǎo)執(zhí)行環(huán)境;
在所述預(yù)引導(dǎo)執(zhí)行環(huán)境中執(zhí)行pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序; 啟動(dòng)pre-OS應(yīng)用程序的升級(jí)代理;和
關(guān)于所述pre-OS應(yīng)用程序^f吏用所述升級(jí)代理聯(lián)系遠(yuǎn)程服務(wù)器。 根據(jù)本發(fā)明的又一方面,本發(fā)明涉及一種pre-OS應(yīng)用程序升級(jí)
單元,包括
用來存儲(chǔ)pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序的非易失性存儲(chǔ)器,
所述pre-OS應(yīng)用程序包括許可;
用來存儲(chǔ)所述pre-OS應(yīng)用程序的許可文件的共享存儲(chǔ)器; 檢查代理,所述檢查代理用來獲取所述pre-OS應(yīng)用程序的許可
文件;和
到遠(yuǎn)程服務(wù)器的接口 ,所迷檢查代理關(guān)于所述pre-OS應(yīng)用程序 的應(yīng)用程序升級(jí)、許可或應(yīng)用程序升級(jí)和許可與所述遠(yuǎn)程服務(wù)器進(jìn) 行通信。
根據(jù)本發(fā)明的另一方面,本發(fā)明涉及一種計(jì)算機(jī)系統(tǒng),包括 非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器用來保存BIOS (基本輸
7v/輸出系統(tǒng))映像和pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序映像;
用來執(zhí)行所述BIOS映像和所述pre-OS應(yīng)用程序映像的處理器,
所述pre-OS應(yīng)用程序?qū)⒃S可文件存儲(chǔ)到共享存儲(chǔ)器中;
機(jī)存取存儲(chǔ)器(SDRAM);和
升級(jí)代理,所述升級(jí)代理從所述共享存儲(chǔ)器獲取所述許可,所 述升級(jí)代理利用所述許可來判定pre-OS許可或應(yīng)用程序升級(jí)對(duì)于所 述計(jì)算機(jī)系統(tǒng)是否可用。
在附圖的圖中,舉例而非限制性地示出本發(fā)明的實(shí)施例,其中 相同的附圖標(biāo)記表示類似的元件
圖1是包括pre-OS應(yīng)用程序升級(jí)和許可控制的實(shí)施例的計(jì)算機(jī) 系統(tǒng)的圖示;
圖2示出pre-OS應(yīng)用程序升級(jí)和許可控制的實(shí)施例;
圖3是一個(gè)實(shí)施例中的pre-OS應(yīng)用程序許可文件的圖示;
圖4是示出pre-OS應(yīng)用程序升級(jí)的預(yù)引導(dǎo)過程的實(shí)施例的流程
圖5是一個(gè)實(shí)施例中的許可和應(yīng)用程序操作的圖示; 圖6是示出pre-OS應(yīng)用程序升級(jí)的操作系統(tǒng)過程的實(shí)施例的流 程圖;以及
圖7是可以在本發(fā)明的實(shí)施例中使用的計(jì)算機(jī)系統(tǒng)的圖示。
具體實(shí)施例方式
本發(fā)明的實(shí)施例涉及pre-OS應(yīng)用程序升級(jí)和許可控制。 如這里所使用的 "升級(jí)"是指修改現(xiàn)有的應(yīng)用程序、替代現(xiàn)有的應(yīng)用程序、增 加新的應(yīng)用程序或者對(duì)應(yīng)用程序進(jìn)行其它修改或改進(jìn)。
"pre-OS環(huán)境,,或"預(yù)引導(dǎo)執(zhí)行環(huán)境"是指在加載計(jì)算機(jī)系統(tǒng) 的操作系統(tǒng)之前所運(yùn)行的計(jì)算才幾系統(tǒng)環(huán)境。
在本發(fā)明的一個(gè)實(shí)施例中, 一種系統(tǒng)提供pre-OS應(yīng)用程序的升 級(jí)和許可。在一個(gè)實(shí)施例中, 一種系統(tǒng)從包括網(wǎng)絡(luò)中的服務(wù)器的遠(yuǎn) 程位置提供升級(jí)和許可控制。在一個(gè)實(shí)施例中,pre-OS應(yīng)用程序的
升級(jí)使用用于應(yīng)用程序的許可控制的過程。
在本發(fā)明的一個(gè)實(shí)施例中, 一種系統(tǒng)包括與諸如一個(gè)或多個(gè)升 級(jí)服務(wù)器的外部升級(jí)系統(tǒng)進(jìn)行通信的升級(jí)代理。在一個(gè)實(shí)施例中,
一旦判定系統(tǒng)具有pre-OS應(yīng)用程序升級(jí)的適當(dāng)許可授權(quán),升級(jí)服務(wù) 器就提供升級(jí)后的應(yīng)用程序或許可。在一個(gè)實(shí)施例中,升級(jí)代理包 括OS應(yīng)用程序,但是實(shí)施例并不局限于該實(shí)施方式。代理還可以在 邏輯中實(shí)施,或者可以包括硬件和軟件的任意組合。
在本發(fā)明的一個(gè)實(shí)施例中, 一種計(jì)算機(jī)系統(tǒng)包括用于存儲(chǔ)pre-OS 應(yīng)用程序的非易失性存儲(chǔ)器,如閃存設(shè)備。該非易失性存儲(chǔ)器還可 包括用于初始引導(dǎo)系統(tǒng)的BIOS。然而,實(shí)施方式可以變化,并且在 別處,可以為計(jì)算機(jī)系統(tǒng)將BIOS實(shí)現(xiàn)為包括但不局限于獨(dú)立的非易 失性存儲(chǔ)器。在運(yùn)行中,計(jì)算機(jī)系統(tǒng)通過例如由BIOS進(jìn)行的映像文 件的引導(dǎo)來生成pre-OS環(huán)境,并在該環(huán)境中執(zhí)行存儲(chǔ)在非易失性存 儲(chǔ)器中的一個(gè)或多個(gè)pre-OS應(yīng)用程序。然而,除非釆取一些動(dòng)作來 修改pre-OS應(yīng)用程序,否則計(jì)算機(jī)系統(tǒng)將繼續(xù)加載相同的應(yīng)用程序, 這些應(yīng)用程序可在計(jì)算機(jī)系統(tǒng)第一次制造時(shí)獲得。
在本發(fā)明的一個(gè)實(shí)施例中, 一種計(jì)算機(jī)系統(tǒng)可以包括用于存儲(chǔ) 關(guān)于pre-OS應(yīng)用程序的許可數(shù)據(jù)的共享存儲(chǔ)器。在本發(fā)明的 一個(gè)實(shí) 施例中, 一個(gè)pre-OS應(yīng)用程序可以包4舌一個(gè)許可,并且該pre-OS應(yīng) 用程序可以將許可文件存儲(chǔ)在共享存儲(chǔ)器中。在一個(gè)實(shí)施例中,共 享存儲(chǔ)器包括表,并且許可表的每個(gè)表項(xiàng)均包括一個(gè)pre-OS應(yīng)用程 序許可文件。在一個(gè)實(shí)施例中,共享存儲(chǔ)器可供pre-OS環(huán)境中的 pre-OS應(yīng)用程序和升級(jí)代理訪問。在一個(gè)實(shí)施方式中,共享存儲(chǔ)器 是共享的BI0S/0S存儲(chǔ)器。共享存儲(chǔ)器可以以各種不同的形式來實(shí) 現(xiàn),包括但不局限于諸如SMRAM(系統(tǒng)管理隨機(jī)存取存儲(chǔ)器)或ACPI (高級(jí)配置電源接口 )表的實(shí)現(xiàn)方式。
在本發(fā)明的一個(gè)實(shí)施例中,升級(jí)代理或其它計(jì)算機(jī)元件通過pre-OS 應(yīng)用程序獲取已經(jīng)存儲(chǔ)在共享存儲(chǔ)器中的許可。 這些許可可以指 示系統(tǒng)獲取應(yīng)用程序升級(jí)的權(quán)限。在一個(gè)實(shí)施例中,當(dāng)連接了因特
網(wǎng)或其它網(wǎng)絡(luò)時(shí),檢查代理處理一個(gè)或多個(gè)pre-OS應(yīng)用程序許可文 件,并且與每個(gè)許可文件中定義的下載和許可管理服務(wù)器進(jìn)行通信。 在一個(gè)實(shí)施例中,升級(jí)代理與一個(gè)或多個(gè)實(shí)體聯(lián)系或通信,以判定 pre-OS應(yīng)用程序升級(jí)是否可用,建立這些升級(jí)的許可授權(quán),獲取新 的或經(jīng)過修改的應(yīng)用程序許可,并且獲取pre-OS應(yīng)用程序升級(jí)。所 聯(lián)系的實(shí)體可以包括一個(gè)或多個(gè)升級(jí)服務(wù)器。例如,可以在廣域網(wǎng) (WAN)中聯(lián)系升級(jí)月l務(wù)器。在本發(fā)明的一個(gè)實(shí)施例中,升級(jí)服務(wù) 器可以評(píng)估從升級(jí)代理獲取的 一個(gè)或多個(gè)許可,以確定計(jì)算機(jī)系統(tǒng) 獲取應(yīng)用程序升級(jí)的權(quán)限。
在一個(gè)實(shí)例中,如果pre-OS許可通過由遠(yuǎn)程服務(wù)器進(jìn)行的許可 檢查,并且相關(guān)pre-OS應(yīng)用程序的本地版本比當(dāng)前版本舊(并且由 此指示需要升級(jí)和升級(jí)會(huì)有用),則檢查代理將從遠(yuǎn)程服務(wù)器下載 其中嵌入有許可的pre-OS應(yīng)用^I序升級(jí)映像文件,并通知終端用戶 進(jìn)行更新。在后續(xù)的引導(dǎo)周期期間,將裝入升級(jí)后的pre-OS應(yīng)用程 序。如果需要新的許可文件,例如當(dāng)終端用戶已經(jīng)支付了從pre-OS 應(yīng)用程序供應(yīng)商購買高級(jí)特征的服務(wù)費(fèi)用時(shí),則檢查代理將從遠(yuǎn)程 服務(wù)器下載pre-OS應(yīng)用程序的新許可文件,并將許可存儲(chǔ)到本地 pre-OS應(yīng)用程序固件映像中。當(dāng)在下一個(gè)引導(dǎo)周期中裝入pre-OS應(yīng) 用程序時(shí),新的許可文件將生效。新許可的下載可以與新的或升級(jí) 后的應(yīng)用程序的下載一起進(jìn)行,或者兩者可以分開進(jìn)行。
在本發(fā)明的一個(gè)實(shí)施例中,在包括WAN環(huán)境的網(wǎng)絡(luò)環(huán)境中提供 pre-OS應(yīng)用程序升級(jí)的維護(hù)以及對(duì)pre-OS應(yīng)用程序的版本和許可控 制的處理。在本發(fā)明的一個(gè)實(shí)施例中,升級(jí)代理從諸如升級(jí)服務(wù)器 之類的外部實(shí)體接收一個(gè)或多個(gè)應(yīng)用程序升級(jí)。升級(jí)服務(wù)器經(jīng)由升 級(jí)代理向?qū)⒁?jí)的系統(tǒng)傳送應(yīng)用程序升級(jí)。在一個(gè)實(shí)施例中,升 級(jí)代理用來存儲(chǔ)任意的新許可以及存儲(chǔ)任意的應(yīng)用程序升級(jí)。在一 個(gè)實(shí)施例中,將應(yīng)用程序升級(jí)存儲(chǔ)在非易失性存儲(chǔ)器中以供系統(tǒng)的 下一個(gè)引導(dǎo)周期使用。
在本發(fā)明的一個(gè)實(shí)施例中, 一種裝置提供基于WAN的pre-OS
應(yīng)用程序更新和許可控制機(jī)制。由IBV或由pre-OS應(yīng)用程序供應(yīng)商 提供的任意pre-OS應(yīng)用程序可以通過WAN容易地進(jìn)行更新和控制 許可。在一個(gè)實(shí)施例中, 一種系統(tǒng)提供在WAN環(huán)境中對(duì)pre-OS應(yīng) 用程序進(jìn)行許可控制和更新的靈活性。例如,該系統(tǒng)的關(guān)鍵使用可 以包括但不局限于以下場(chǎng)景
場(chǎng)景#1:受硬件限制的pre-OS應(yīng)用程序提供免費(fèi)的升級(jí)許可。 當(dāng)因特網(wǎng)連接到計(jì)算機(jī)系統(tǒng)時(shí),檢查代理下載新的pre-OS應(yīng)用程序 升級(jí)映像,并且還可以關(guān)于該更新自動(dòng)通知用戶。
場(chǎng)景#2:受硬件限制的pre-OS應(yīng)用程序最初只提供基本特征。 雖然終端用戶享用基本特征,一f旦是希望使用某些高級(jí)特征。在本發(fā) 明的一個(gè)實(shí)施例中,終端用戶支付額外的服務(wù)費(fèi)用來從pre-OS應(yīng)用 程序供應(yīng)商購買高級(jí)pre-OS特征。在一個(gè)實(shí)施例中,檢查代理將自 動(dòng)與遠(yuǎn)程服務(wù)器進(jìn)行通信,下栽新的pre-OS應(yīng)用程序更新映像,并 且將系統(tǒng)升級(jí)為具有高級(jí)特征的新版本。接著,終端用戶只需重啟 計(jì)算機(jī)系統(tǒng)便可享用pre-OS應(yīng)用程序的高級(jí)特征。
場(chǎng)景#3:在該場(chǎng)景中,用戶購買pre-OS應(yīng)用程序的一巻(volume) 許可,該許可支持40次激活。接著,終端用戶經(jīng)由檢查代理升級(jí)pre-OS 應(yīng)用程序。許可管理服務(wù)器接著可以容易地記錄軟件ID和更新狀態(tài)。 當(dāng)許可達(dá)到它的最大支持計(jì)數(shù)時(shí),許可管理服務(wù)器將拒絕下一個(gè)升 級(jí)請(qǐng)求。
在一個(gè)實(shí)施例中, 一種系統(tǒng)提供基于網(wǎng)絡(luò)的升級(jí)和許可控制架 構(gòu),從而為終端用戶升級(jí)系統(tǒng)和pre-OS應(yīng)用程序供應(yīng)商改變和改進(jìn) pre-OS應(yīng)用程序提供操作便利。在一個(gè)實(shí)施例中,可以在計(jì)算機(jī)系 統(tǒng)的運(yùn)行中自動(dòng)提供升級(jí),從而減少系統(tǒng)維護(hù)時(shí)終端用戶所需的操 作。
圖1是包括pre-OS應(yīng)用程序升級(jí)和許可控制的實(shí)施例的計(jì)算機(jī) 系統(tǒng)的圖示。在示例性計(jì)算機(jī)系統(tǒng)102中,可以有一個(gè)或多個(gè)處理 器104來執(zhí)行指令。計(jì)算機(jī)系統(tǒng)102可以'包括BIOS 110,其在計(jì)算 機(jī)系統(tǒng)102開機(jī)或其它系統(tǒng)重啟時(shí)啟動(dòng)。BIOS可以存儲(chǔ)在非易失性
存儲(chǔ)器108 (例如閃存)或其它永久或半永久存儲(chǔ)器中。BIOS可以 啟動(dòng)引導(dǎo)映像,包括啟動(dòng)一個(gè)或多個(gè)pre-OS應(yīng)用程序112-114。計(jì) 算機(jī)系統(tǒng)102可以包括用于執(zhí)行應(yīng)用程序的存儲(chǔ)器,如隨機(jī)存取存 儲(chǔ)器116。 pre-OS應(yīng)用程序112-114可以向計(jì)算機(jī)系統(tǒng)102提供基本 操作和附加功能。
在本發(fā)明的一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)102可以包括可在運(yùn)行 中供多個(gè)系統(tǒng)訪問的共享存儲(chǔ)器。例如,共享存儲(chǔ)器126可以供BIOS IIO和操作系統(tǒng)120訪問。在該圖示中,操作系統(tǒng)120存儲(chǔ)在數(shù)據(jù)存 儲(chǔ)器118中,數(shù)據(jù)存儲(chǔ)器118包括但不局限于磁盤驅(qū)動(dòng)器。用于向 pre-OS應(yīng)用程序提供升級(jí)和許可服務(wù)的檢查代理122也可以存儲(chǔ)在 數(shù)據(jù)存儲(chǔ)器118中,在數(shù)據(jù)存儲(chǔ)器118中還包括其它應(yīng)用程序。在 一個(gè)實(shí)施例中,檢查代理可以使用共享存儲(chǔ)器126來提供對(duì)pre-OS 應(yīng)用程序的許可控制。
在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)102可以使用檢查代理122來與 用于升級(jí)pre-OS應(yīng)用程序的外部系統(tǒng)進(jìn)行通信。例如,計(jì)算機(jī)系統(tǒng) 102可以包括用于與包括WAN 128的網(wǎng)絡(luò)進(jìn)行通信的網(wǎng)紹4妄口 106。 向pre-OS應(yīng)用程序提供升級(jí)服務(wù)的一個(gè)或多個(gè)服務(wù)器130-132也可 以附接到WAN。服務(wù)器130-132可以向計(jì)算機(jī)系統(tǒng)102提供應(yīng)用程 序升級(jí)和應(yīng)用程序的許可。
圖2示出pre-OS應(yīng)用程序升級(jí)和許可控制的實(shí)施例。在本發(fā)明 的一個(gè)實(shí)施例中,升級(jí)過程或單元202可以使用以下組件
(1 )包含pre-OS應(yīng)用程序的許可控制信息的pre-OS許可文件。 在本發(fā)明的一個(gè)實(shí)施例中,可以利用BIOS/OS共享存儲(chǔ)器222來存 儲(chǔ)pre-OS許可表224, pre-OS許可表224包括一個(gè)或多個(gè)pre-OS許 可文件表項(xiàng)226-228;
(2 )在pre-OS可執(zhí)行環(huán)境上工作并且在引導(dǎo)期間將它的嵌入式 許可文件注冊(cè)到BIOS/OS共享存儲(chǔ)器中的pre-OS應(yīng)用程序。在該圖 示中,可以在pre-OS可執(zhí)行環(huán)境210中執(zhí)行一個(gè)或多個(gè)pre-OS應(yīng)用 程序212-214。在運(yùn)行中,計(jì)算才幾硬件(主板、處理器等204)訪問
閃存206或其它可以包括系統(tǒng)BIOS 208和任意pre-OS應(yīng)用程序的非 易失性存儲(chǔ)器。pre-OS應(yīng)用程序212-214可以在許可表224中注冊(cè) 上述一個(gè)或多個(gè)許可文件表項(xiàng)226-228;
(3) 檢查代理220,它可以是例如在OS環(huán)境216中運(yùn)行以便 提供升級(jí)處理的OS應(yīng)用程序;
(4) 對(duì)遠(yuǎn)程服務(wù)器的訪問,其中檢查代理與遠(yuǎn)程服務(wù)器進(jìn)行通 信,以便提供對(duì)pre-OS應(yīng)用程序的升級(jí)和許可控制。在該圖示中, 遠(yuǎn)程下載和許可管理服務(wù)器230經(jīng)由WAN連接到系統(tǒng),并且該服務(wù) 器控制一個(gè)或多個(gè)pre-OS應(yīng)用程序許可并提供升級(jí)后的應(yīng)用程序映 像和許可文件。檢查代理220 4妄著更新閃存206中的一個(gè)或多個(gè)pre-OS 應(yīng)用程序映像或許可文件, 用于在后續(xù)引導(dǎo)周期中啟動(dòng)。
圖3是一個(gè)實(shí)施例中的pre-OS應(yīng)用程序許可文件的圖示。在該 圖示中,許可文件300是為pre-OS應(yīng)用程序注冊(cè)的許可文件的一個(gè) 實(shí)例,但是本發(fā)明的實(shí)施例并不局限于任何特定的許可格式。在該 實(shí)例中,許可文件可以包括以下許可控制信息
(1 )服務(wù)器信息,包括服務(wù)器上的主機(jī)名和服務(wù)器上的TCP/IP 端口號(hào);
(2 )特定pre-OS應(yīng)用程序的包版本;
(3)加密許可控制信息,例如包括軟件ID、特征集、加密許可 的期滿時(shí)間和許可的允許使用計(jì)數(shù)。
許可文件用來控制pre-OS應(yīng)用程序裝入次數(shù)、可用期、激活量、 支持的特征集和其它許可控制用途,如OS應(yīng)用程序許可控制。許可 文件提供由在pre-OS應(yīng)用程序及其遠(yuǎn)程服務(wù)器之間共享的預(yù)定義密 鑰加密的許可管理服務(wù)器信息和許可控制信息。在一個(gè)實(shí)施例中, 許可嵌入在pre-OS應(yīng)用程序映像中,并且可以由檢查代理單獨(dú)進(jìn)行 更新。
圖4是示出pre-OS應(yīng)用程序升級(jí)的預(yù)引導(dǎo)過程的實(shí)施例的流程 圖。在該圖示中,計(jì)算機(jī)可以/人諸如計(jì)算機(jī)開機(jī)的系統(tǒng)引導(dǎo)402開 始。引導(dǎo)過程可以包括從固件映像引導(dǎo)至一個(gè)或多個(gè)pre-OS應(yīng)用程
序404,這些pre-OS應(yīng)用程序在預(yù)引導(dǎo)執(zhí)行環(huán)境中執(zhí)行。
一旦引導(dǎo)了 pre-OS應(yīng)用程序,就可以從固件映像加載許可文件 并嘗試驗(yàn)證相關(guān)許可406。在一個(gè)實(shí)施例中,pre-OS應(yīng)用程序在裝入 應(yīng)用程序的特征之前檢查許可文件,并且基于許可驗(yàn)證結(jié)果執(zhí)行適 當(dāng)?shù)墓δ?。如果許可無效408,則過程直接繼續(xù)將許可文件注冊(cè)到存 儲(chǔ)在BIOS/OS共享存儲(chǔ)器中的pre-OS應(yīng)用程序許可表中412。如果 許可通過驗(yàn)證過程408,則裝入相關(guān)的pre-OS應(yīng)用程序特征410,接 著在許可表中注冊(cè)許可文件412。系統(tǒng)接著引導(dǎo)至操作系統(tǒng)414。
圖5是一個(gè)實(shí)施例中的許可和應(yīng)用程序操作的圖示。在一個(gè)實(shí) 施例中,系統(tǒng)BIOS 502進(jìn)行操作以建立在其中可以執(zhí)行pre-OS應(yīng)用 程序506的預(yù)引導(dǎo)可執(zhí)行環(huán)境504。 BIOS映像522和潛在地包括許 可文件526的pre-OS應(yīng)用程序映像524可以存儲(chǔ)在閃存520中。pre-OS 應(yīng)用程序506進(jìn)行操作以注冊(cè)其許可文件,這里將許可文件示為是 存儲(chǔ)在BIOS/OS共享存儲(chǔ)器514中的pre-OS應(yīng)用程序許可表516的 許可文件表項(xiàng)518。在此之后,可以啟動(dòng)操作系統(tǒng)508,包括執(zhí)行檢 查代理510。在本發(fā)明的一個(gè)實(shí)施例中,許可控制信息由在pre-OS 應(yīng)用程序506及其相關(guān)下載和許可管理服務(wù)器512之間共享的密鑰 進(jìn)行加密。在一個(gè)實(shí)施例中,檢查代理510將許可表516加載到操 作系統(tǒng)508中,并且使用許可文件518來與適當(dāng)?shù)南螺d和許可管理 服務(wù)器512進(jìn)行通信。
如果許可文件518通過遠(yuǎn)程服務(wù)器驗(yàn)證,并且相關(guān)的pre-OS應(yīng) 用程序需要升級(jí),則檢查代理510接著下載pre-OS應(yīng)用程序升級(jí)映 像并將其應(yīng)用到板上閃存520中。如果pre-OS應(yīng)用程序的許可文件 需要更新,例如在終端用戶從pre-OS應(yīng)用程序供應(yīng)商購買了附加的 高級(jí)pre-OS應(yīng)用程序特征的情況下,則檢查代理從遠(yuǎn)程服務(wù)器512 下載新的許可文件,并將它更新到閃存520中的pre-OS應(yīng)用程序固 件映像中。
圖6是示出pre-OS應(yīng)用程序升級(jí)的操作系統(tǒng)過程的實(shí)施例的流 程圖。在該圖示中,引導(dǎo)操作系統(tǒng)602,包括在如圖4所示的預(yù)引導(dǎo)
過程結(jié)束時(shí)發(fā)生的引導(dǎo)操作414。這些過程可以包括初始化升級(jí)代理 604。初始化可以在計(jì)算機(jī)系統(tǒng)中自動(dòng)發(fā)生。升級(jí)代理獲取并加載許 可表606,該許可表包括計(jì)算機(jī)系統(tǒng)的每個(gè)pre-OS應(yīng)用程序的許可 文件。利用每個(gè)許可文件中包舍的數(shù)據(jù),升級(jí)代理經(jīng)由網(wǎng)絡(luò)連接與 相關(guān)下載和許可管理服務(wù)器聯(lián)系608。
在本發(fā)明的一個(gè)實(shí)施例中,遠(yuǎn)程服務(wù)器可以驗(yàn)證pre-OS應(yīng)用程 序的許可。如果許可無效,則存在錯(cuò)誤612,并且系統(tǒng)接著繼續(xù)其它 操作624。如果許可有效,則判定是否需要新的許可文件614 (例如 當(dāng)已經(jīng)購買了新的性能時(shí)),并且如果需要,則下載許可616。還可 判定應(yīng)用程序升級(jí)是否可用618,并且如果可用,則下載應(yīng)用程序 620。升級(jí)代理接著可以更新閃存中的任意pre-OS應(yīng)用程序映像或許 可記錄622,并且繼續(xù)其它操作624,其中上述pre-OS應(yīng)用程序映像 或許可記錄可在新的引導(dǎo)周期中使用。
圖7是可以在本發(fā)明的實(shí)施例中使用的計(jì)算機(jī)系統(tǒng)的圖示。與 本發(fā)明沒有密切關(guān)系的某些標(biāo)準(zhǔn)和已知的組件沒有示出。依據(jù)本發(fā) 明的一個(gè)實(shí)施例,計(jì)算機(jī)700包括總線728或其它用于傳輸信息的 通信部件,以及諸如與總線728耦合的一個(gè)或多個(gè)處理器702之類 的用于處理信息的處理部件。處理器702可以包括一個(gè)或多個(gè)物理 處理器以及一個(gè)或多個(gè)邏輯處理器。此外,每個(gè)處理器702可以包 括多個(gè)處理器核。為簡(jiǎn)明起見,將計(jì)算機(jī)700示為具有單個(gè)總線728, 但是計(jì)算機(jī)可以具有多個(gè)不同的總線,并且到這些總線的組件連接 也可以變化。如圖7所示的總線728是抽象概念,它表示任意的一 個(gè)或多個(gè)獨(dú)立的物理總線、點(diǎn)對(duì)點(diǎn)連接,或者由適當(dāng)?shù)臉?、適配器 或控制器連接的物理總線和點(diǎn)對(duì)點(diǎn)連接。例如,總線728可以包括 系統(tǒng)總線、外圍組件互連(PCI)總線、HyperTransport或工業(yè)標(biāo)準(zhǔn) 架構(gòu)(ISA)總線、小型計(jì)算機(jī)系統(tǒng)接口 (SCSI)總線、通用串行總 線(USB) 、 IIC (I2C)總線或有時(shí)稱作"Firewire"的電氣及電子 工程師協(xié)會(huì)(IEEE )標(biāo)準(zhǔn)1394總線。(1996年8月30日公布的"Standard for a High Performance Serial Bus" 1394-1995, IEEE,及其補(bǔ)充)
在本發(fā)明的一個(gè)實(shí)施例中,可以利用處理器702來支持一個(gè)或 多個(gè)虛擬機(jī)。在本發(fā)明的一個(gè)實(shí)施例中,計(jì)算機(jī)700還包括隨機(jī)存 取存儲(chǔ)器(RAM)或其它動(dòng)態(tài)存儲(chǔ)設(shè)備,作為用于存儲(chǔ)信息和將要 由處理器702執(zhí)行的指令的主存儲(chǔ)器704。主存儲(chǔ)器704還可用于在 處理器702執(zhí)行指令期間存儲(chǔ)臨時(shí)變量或其它中間信息。RAM存儲(chǔ) 器包括需要刷新存儲(chǔ)器內(nèi)容的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)和不 需要刷新內(nèi)容但是成本增加的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM) 。 DRAM 存儲(chǔ)器可以包括同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)和擴(kuò)展數(shù)據(jù)輸 出動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(EDO DRAM),其中同步動(dòng)態(tài)隨機(jī)存取存 儲(chǔ)器包括用來控制信號(hào)的時(shí)鐘信號(hào)。在本發(fā)明的一個(gè)實(shí)施例中,系 統(tǒng)的存儲(chǔ)器可以包括可供計(jì)算機(jī)系統(tǒng)中的多個(gè)代理訪問的共享存儲(chǔ) 器,如共享的BIOS/OS存儲(chǔ)器。計(jì)算機(jī)700還可包括用于存儲(chǔ)靜態(tài) 信息和處理器702的指令的只讀存儲(chǔ)器(ROM) 706或其它靜態(tài)存 儲(chǔ)設(shè)備。計(jì)算機(jī)700可以包括用于存儲(chǔ)某些要素的一個(gè)或多個(gè)非易 失性存儲(chǔ)器設(shè)備708,這些要素包括但不局限于系統(tǒng)BIOS和一個(gè)或 多個(gè)pre-OS應(yīng)用程序。
數(shù)據(jù)存儲(chǔ)器710也可以耦合到計(jì)算機(jī)700的總線728,用于存儲(chǔ) 信息和指令。數(shù)據(jù)存儲(chǔ)器710可以包括磁盤、光盤及其對(duì)應(yīng)的驅(qū)動(dòng) 器、或者其它存儲(chǔ)器設(shè)備。這些元件可以組合在一起或者可以是獨(dú) 立的組件,并且使用計(jì)算機(jī)700的其它元件的部分。在本發(fā)明的一 個(gè)特定實(shí)施例中,數(shù)據(jù)存儲(chǔ)器710可以包括硬盤驅(qū)動(dòng)器712,其可以 提供用于與主存儲(chǔ)器704交換數(shù)據(jù)的永久存儲(chǔ)器。在本發(fā)明的一個(gè) 實(shí)施例中,數(shù)據(jù)存儲(chǔ)器可以包括用于pre-OS應(yīng)用程序的升級(jí)和許可 的升級(jí)代理。
計(jì)算機(jī)700還可以經(jīng)由總線728耦合到用于向終端用戶顯示信 息的顯示設(shè)備714,例如陰極射線管(CRT)顯示器、液晶顯示器 (LCD)、等離子顯示器或任意的其它顯示技術(shù)。在一些環(huán)境中, 顯示設(shè)備可以是觸摸屏,它還用作輸入設(shè)備的至少一部分。在一些 環(huán)境中,顯示設(shè)備714可以是或可以包括音頻設(shè)備,例如用于提供
音頻信息的揚(yáng)聲器。輸入設(shè)備716可以耦合到總線728,用于向處理 器702傳輸信息和/或命令選擇。在各個(gè)實(shí)施方式中,輸入設(shè)備716 可以是鍵盤、小鍵盤、觸摸屏和指示筆、聲音激活系統(tǒng)或其它輸入 設(shè)備,或者這些設(shè)備的組合??梢园ǖ牧硪活愋偷挠脩糨斎朐O(shè)備 是光標(biāo)控制設(shè)備718,例如鼠標(biāo)、軌跡球或光標(biāo)方向鍵,用于向上述 一個(gè)或多個(gè)處理器702傳輸方向信息和命令選擇并控制光標(biāo)在顯示 設(shè)備714上的移動(dòng)。
通信設(shè)備720也可以耦合到總線728 。取決于特定的實(shí)施方式, 通信設(shè)備720可以包括收發(fā)器、無線調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡、主 板上的LAN (局域網(wǎng))或其它接口設(shè)備。通信設(shè)備720的用途可以 包括從無線設(shè)備接收信號(hào)。對(duì)于無線電通信,通信設(shè)備720可以包 括一個(gè)或多個(gè)天線722,按照需要,可以包括偶極或單極天線。在一 個(gè)實(shí)施例中,通信設(shè)備720可以包括防火墻以保護(hù)計(jì)算機(jī)700免受 不適當(dāng)?shù)脑L問。計(jì)算機(jī)700可以使用通信設(shè)備720鏈接到諸如WAN 724的網(wǎng)絡(luò)或其它設(shè)備,這可以包括鏈接到因特網(wǎng)、局域網(wǎng)或其它環(huán) 境。在本發(fā)明的一個(gè)實(shí)施例中,為了升級(jí)和維護(hù)pre-OS應(yīng)用程序和 許可的目的,計(jì)算機(jī)可以經(jīng)由WAN連接到遠(yuǎn)程服務(wù)器。計(jì)算機(jī)700 還可包括供電設(shè)備或系統(tǒng)726,其可以包括電源、電池、太陽能電池、 燃料電池或用于提供或產(chǎn)生電力的其它系統(tǒng)或設(shè)備。由供電設(shè)備或
從本公開內(nèi)容獲益的本領(lǐng)域技術(shù)人員將意識(shí)到,在本發(fā)明的范 圍內(nèi),可以由以上描述和附圖進(jìn)行許多其它的變化。實(shí)際上,本發(fā) 明并不局限于上述細(xì)節(jié)。更適當(dāng)?shù)卣f,限定本發(fā)明的范圍的是包括 對(duì)本發(fā)明的任何改進(jìn)的隨附權(quán)利要求。
在以上描述中,為了解釋的目的,闡述了眾多具體細(xì)節(jié),以便 充分理解本發(fā)明。然而,對(duì)于本領(lǐng)域技術(shù)人員來說顯而易見的是, 可以在沒有這些具體細(xì)節(jié)中的一些細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其 它情況中,以框圖的形式示出已知的結(jié)構(gòu)和設(shè)備。
本發(fā)明可以包括各種過程。本發(fā)明的過程可以由硬件組件執(zhí)行或者可以嵌入在機(jī)器可執(zhí)行指令中,機(jī)器可執(zhí)行指令可以用來使以 這些指令進(jìn)行編程的通用或?qū)S锰幚砥骰蜻壿嬰娐穲?zhí)行這些過程。 或者,這些過程可以由硬件和軟件的組合來執(zhí)行。
本發(fā)明的各部分可以作為計(jì)算機(jī)程序產(chǎn)品提供,該計(jì)算機(jī)程序 產(chǎn)品可以包括其上存儲(chǔ)有指令的機(jī)器可讀介質(zhì),這些指令可以用來 編程計(jì)算機(jī)(或其它電子設(shè)備)以執(zhí)行根據(jù)本發(fā)明的過程。機(jī)器可
讀介質(zhì)可以包括但不局限于軟盤、光盤、CD-ROM (緊密光盤只讀 存儲(chǔ)器)和磁光盤、ROM (只讀存儲(chǔ)器)、RAM (隨機(jī)存取存儲(chǔ)器)、 EPROM (可擦除可編程只讀存儲(chǔ)器)、EEPROM (電可擦除可編程 只讀存儲(chǔ)器)、磁卡或光卡、閃存或適于存儲(chǔ)電子指令的其它類型 的介質(zhì)/機(jī)器可讀介質(zhì)。此外,本發(fā)明還可以作為計(jì)算機(jī)程序產(chǎn)品進(jìn) 行下載,其中可以經(jīng)由通信鏈路(如調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)通過 嵌入在載波或其它傳播介質(zhì)中的數(shù)據(jù)信號(hào)將程序從遠(yuǎn)程計(jì)算機(jī)傳送 至請(qǐng)求計(jì)算機(jī)。
許多方法以其最基本的形式進(jìn)行描述,但是在不背離本發(fā)明的 基本范圍的前提下,可以在任意一種方法中添加過程或從其中刪除 過程,以及在所描述的任意一個(gè)消息中添加信息或從其中去除信息。 對(duì)于本領(lǐng)域技術(shù)人員顯而易見的是,還可進(jìn)行其它修改和改進(jìn)。提 供具體實(shí)施例不是為了限制本發(fā)明,而是為了對(duì)其進(jìn)行說明。本發(fā) 明的范圍并不是由以上提供的具體實(shí)例確定的,而是僅由隨附權(quán)利 要求來確定。
還應(yīng)當(dāng)意識(shí)到,整篇說明書中提到"一個(gè)實(shí)施例"時(shí)是指可以 在本發(fā)明的實(shí)施中包括特定特4正。類似地,應(yīng)當(dāng)意識(shí)到,在以上對(duì) 本發(fā)明的示例性實(shí)施例的描述中,為了使公開內(nèi)容順暢并且有助于 理解各個(gè)發(fā)明方面中的 一個(gè)或多個(gè)發(fā)明方面,本發(fā)明的各個(gè)特征有 時(shí)集中在單個(gè)實(shí)施例、附圖或其描述中。然而,不應(yīng)將本公開方法
解釋為反映所要求的發(fā)明需要比在每個(gè)權(quán)利要求中明確陳述的特征 更多的特征的意圖。而是,如隨附權(quán)利要求所反映,發(fā)明方面在于 比以上公開的單個(gè)實(shí)施例的所有特征更少的特征。因此,權(quán)利要求
由此明確并入本描述中,每個(gè)權(quán)利要求獨(dú)自代表本發(fā)明的獨(dú)立實(shí)施例。
權(quán)利要求
1. 一種用于pre-OS應(yīng)用程序升級(jí)的方法,包括:引導(dǎo)計(jì)算機(jī);為所述計(jì)算機(jī)建立預(yù)引導(dǎo)執(zhí)行環(huán)境;在所述預(yù)引導(dǎo)執(zhí)行環(huán)境中執(zhí)行pre-OS(預(yù)操作系統(tǒng))應(yīng)用程序;啟動(dòng)pre-OS應(yīng)用程序的升級(jí)代理;和關(guān)于所述pre-OS應(yīng)用程序使用所述升級(jí)代理聯(lián)系遠(yuǎn)程服務(wù)器。
2. 如權(quán)利要求l所述的方法,其特征在于,執(zhí)行pre-OS應(yīng)用程 序包括所述pre-OS應(yīng)用程序?qū)⑺鰬?yīng)用程序的許可文件存儲(chǔ)到共享 存儲(chǔ)器。
3. 如權(quán)利要求2所述的方法,其特征在于,所述升級(jí)代理獲取 存儲(chǔ)在所述共享存儲(chǔ)器中的所迷許可文件,以便關(guān)于所述pre-OS應(yīng) 用程序聯(lián)系所述遠(yuǎn)程服務(wù)器。
4. 如權(quán)利要求1所述的方法,還包括從所述服務(wù)器下載pre-OS 應(yīng)用程序升級(jí)。
5. 如權(quán)利要求4所述的方法,還包括將所述升級(jí)存儲(chǔ)到非易失 性存儲(chǔ)器。
6. 如權(quán)利要求5所述的方法,還包括在所述計(jì)算機(jī)的后續(xù)引導(dǎo) 周期中執(zhí)行所述升級(jí)。
7. 如權(quán)利要求6所述的方法,其特征在于,升級(jí)包括修改應(yīng)用 程序、替代應(yīng)用程序或新的應(yīng)用程序。
8. 如權(quán)利要求1所述的方法,還包括從所述服務(wù)器下載所述 pre-OS應(yīng)用程序的許可文件。
9. 如權(quán)利要求8所述的方法,還包括將所述許可文件存儲(chǔ)到非 易失性存儲(chǔ)器。
10..—種pre-OS應(yīng)用程序升級(jí)單元,包括用來存儲(chǔ)pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序的非易失性存儲(chǔ)器, 所述pre-OS應(yīng)用程序包括許可;用來存儲(chǔ)所述pre-OS應(yīng)用程序的許可文件的共享存儲(chǔ)器; 檢查代理,所述檢查代理用來獲取所述pre-OS應(yīng)用程序的許可文件;和到遠(yuǎn)程服務(wù)器的接口,所迷檢查代理關(guān)于所述pre-OS應(yīng)用程序 的應(yīng)用程序升級(jí)、許可或應(yīng)用程序升級(jí)和許可與所述遠(yuǎn)程服務(wù)器進(jìn) 行通信。
11. 如權(quán)利要求10所述的單元,其特征在于,在執(zhí)行所述pre-OS 應(yīng)用程序時(shí),所述pre-OS應(yīng)用程序?qū)⑺鲈S可文件存儲(chǔ)在所述存 儲(chǔ)器中。
12. 如權(quán)利要求10所述的單元,其特征在于,所述遠(yuǎn)程服務(wù)器 驗(yàn)證所述pre-OS應(yīng)用程序的許可。
13. 如權(quán)利要求10所述的單元,其特征在于,所述共享存儲(chǔ)器 是可供所述pre-OS應(yīng)用程序和所述檢查代理訪問的存儲(chǔ)器。
14. 如權(quán)利要求10所述的單元,其特征在于,所述檢查代理從 所述遠(yuǎn)程服務(wù)器接收所述pre-OS應(yīng)用程序的升級(jí)。
15. 如權(quán)利要求10所述的單元,其特征在于,所述檢查代理從 所述遠(yuǎn)程服務(wù)器接收所述pre-OS應(yīng)用程序的新的許可。
16. —種計(jì)算機(jī)系統(tǒng),包4舌非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器用來保存BIOS (基本輸 入/輸出系統(tǒng))映像和pre-OS (預(yù)操作系統(tǒng))應(yīng)用程序映像;用來執(zhí)行所述BIOS映像和所述pre-OS應(yīng)用程序映像的處理器, 所述pre-OS應(yīng)用程序?qū)⒃S可文件存儲(chǔ)到共享存儲(chǔ)器中;用來存儲(chǔ)供所述處理器執(zhí)行應(yīng)用程序時(shí)用的數(shù)據(jù)的同步動(dòng)態(tài)隨 機(jī)存取存儲(chǔ)器(SDRAM);和升級(jí)代理,所述升級(jí)代理^^人所述共享存儲(chǔ)器獲取所述許可,所 迷升級(jí)代理利用所述許可來判定pre-OS許可或應(yīng)用程序升級(jí)對(duì)于所 述計(jì)算機(jī)系統(tǒng)是否可用。
17. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述升級(jí) 代理包括OS應(yīng)用程序。
18. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),還包括通信設(shè)備,其中 所述升級(jí)代理經(jīng)由所述通信設(shè)備來聯(lián)系遠(yuǎn)程服務(wù)器。
19. 如權(quán)利要求16所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述共享 存儲(chǔ)器可供所述BIOS和所述OS訪問。
20. 如權(quán)利要求19所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述服務(wù) 器檢查所述許可文件以判定所述計(jì)算機(jī)系統(tǒng)對(duì)于所述pre-OS許可或 應(yīng)用程序升級(jí)是否被授權(quán)。
21. 如權(quán)利要求20所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述升級(jí) 代理將升級(jí)存儲(chǔ)到所述閃存中,用于在后續(xù)引導(dǎo)周期中進(jìn)行加載。
全文摘要
一種用于pre-OS應(yīng)用程序升級(jí)和許可控制的方法和裝置。方法的實(shí)施例包括引導(dǎo)計(jì)算機(jī)和為該計(jì)算機(jī)建立預(yù)引導(dǎo)執(zhí)行環(huán)境。該方法還提供在預(yù)引導(dǎo)執(zhí)行環(huán)境中執(zhí)行pre-OS(預(yù)操作系統(tǒng))應(yīng)用程序。啟動(dòng)pre-OS應(yīng)用程序的升級(jí)代理,并且關(guān)于pre-OS應(yīng)用程序通過該升級(jí)代理聯(lián)系遠(yuǎn)程服務(wù)器。
文檔編號(hào)G06F9/445GK101382898SQ20071018215
公開日2009年3月11日 申請(qǐng)日期2007年9月4日 優(yōu)先權(quán)日2007年9月4日
發(fā)明者C·宋, F·F·陶, J·王, S·周, W·徐 申請(qǐng)人:英特爾公司