專利名稱:動態(tài)的操作系統運行前的廣告牌服務的制作方法
技術領域:
本公開涉及在引導前(pre-boot)環(huán)境中動態(tài)內容的顯示。
背景技術:
提供對互聯網的公開訪問的互聯網網吧是很普遍的,尤其是在亞洲國 家中,數以千計的互聯網網吧通過上百萬的計算機提供對互聯網的訪問。 例如,中國有超過BO,OOO個互聯網網吧,其包含超過6百萬臺計算機。通 常,互聯網網吧的顧客買不起個人計算機。顧客支付費用來在互聯網網吧 中使用計算機。
為了支付購買用以提供對互聯網的訪問的計算機的花費,并從而減少 由顧客所付的費用,互聯網網吧的所有者通常提供基于付費的廣告服務。 這些廣告是通過使用在顧客訪問互聯網的運行時刻(run-time)期間進行的彈
出(p叩-up)來遞送的。然而,廣告使用了運行時刻的資源,并引起顧客的厭 煩,因為它們打斷了顧客對互聯網的使用,并且它們持續(xù)進行顯示直到由 用戶將其終止為止。
隨著以下進行的詳細說明,依據對附圖的參考,所要求權利的主題的 實施例的特征會變得顯而易見,在附圖中,相同的數字描述類似的部分, 并且其中
圖1是示出根據本發(fā)明原理的互聯網網吧系統的一個實施例的框圖,
該互聯網網吧系統包含多個客戶系統,其在引導前環(huán)境中顯示動態(tài)內容; 圖2是圖1所示任一客戶系統的一個實施例的框圖; 圖3是可以包含于圖1所示的任一客戶系統中的可擴展固件接口(EFI)
的一種實現(架構)的框圖4是示出具有基于架構的固件的系統在通電或重引導(reboot)時所經過的各個階段的時間線;以及
圖5A-5D是示出廣告牌(billboard)服務的一個實施例的操作的流程圖, 該廣告牌服務用于顯示廣告的動態(tài)內容,所述廣告可以在引導客戶系統的 操作系統之前從服務器下載到客戶系統。
盡管以下詳細說明是參考所要求權利的主題的多個說明性實施例來進 行的,但其許多可選方案、變型和變化對于本領域技術人員都是顯而易見 的。因此,其意圖是所要求權利的主題被認為是概括的,并僅按所附權利 要求中所闡明的來定義。
具體實施例方式
根據本發(fā)明的一個實施例,諸如屏幕圖像之類的動態(tài)內容可以在引導 操作系統之前通過通信網絡取得并在一個可選擇的時間期間內進行顯示。 在一個實施例中,所述屏幕圖像是顯示在互聯網網吧的客戶系統上的廣告。 通過在引導操作系統之前顯示廣告,來限制廣告的時間期間,以便使其不 會使用戶感到厭煩。此外,廣告在運行時刻之前用戶還不能使用計算機系 統時進行顯示。而且,用戶不必終止廣告,因為其借助于操作系統的引導 過程而在所選時間期間之后自動終止。 圖1是示出根據本發(fā)明原理的互聯網網吧系統100的一個實施例的框 圖,該互聯網網吧系統包含多個客戶系統102,所述客戶系統102在引導前 環(huán)境中顯示動態(tài)內容。客戶系統包括耦合到交換機/路由器/集線器104上的 服務器102,交換機/路由器/集線器104提供對通信網絡106的訪問,通信 網絡106可以是局域網(LAN)。服務器102可以建立初始化路徑和遠程開機 /關機,以及重啟所有耦合到通信網絡106上的客戶系統108。
在一個實施例中,每一個客戶系統108都包含存儲在非易失性存儲器 中的固件以及存儲在諸如磁盤驅動器之類的次級存儲設備中的一個或多個 操作系統。所述固件執(zhí)行初始化功能,以允許客戶系統108訪問通信網絡 106。在客戶系統108引導了操作系統之后,服務器102可以通過通信網絡 將應用程序下載到客戶系統中。
圖2是圖1所示任一客戶系統108的一個實施例的框圖。在所示實施 例中,客戶系統108包括處理器(中央處理單元(CPU))200、存儲器202、網絡接口 204、存儲器接口 206和存儲設備208??蛻粝到y108還包括輸入/ 輸出接口 210,其為諸如顯示器212之類的輸出設備和諸如鍵盤214之類的 輸入設備提供接口。操作系統216可以存儲在存儲設備208中。
圖3是可擴展固件接口(EFI)300的一種實現(架構)的框圖,其可以包含 于圖1所示的任何一個客戶系統108中。EFI是可以公開獲得的規(guī)范,其定 義了在固件和操作系統之間的接口。該接口包括數據表,其存儲了與硬件 相關的信息,以及對于操作系統和操作系統裝入程序而言可用的、引導和 運行時刻的服務調用。除了提供引導和運行時刻的服務之外,該架構還提 供有序的EFI驅動器加載和執(zhí)行。
在2002年12月1日的"Extensible Firmware Interface Specification" Versionl.10 中描述了 EFI 的一個版本,該文件可在 www.inter.com/technology/efi.上獲得。硬件層是該架構的最底層。在一個實 施例中,硬件層可以包括CPU模塊308和芯片組模塊310,其提供了圖2 所示的客戶系統108的功能。
"引導(boot)"指的是通過打開電源、按下計算機上的復位(reset)按鈕 或者發(fā)出用于重啟的軟件命令來啟動或復位計算機的過程。該計算機執(zhí)行 用來加載并啟動操作系統且準備操作系統來進行使用的軟件。
EFI架構包括順序執(zhí)行的兩個主要部分,Pre-EFI(PEI)階段306和驅動 器執(zhí)行環(huán)境(DXE)階段304。 Pre-EFI(PEI)階段査找并初始化存儲器。驅動器 執(zhí)行環(huán)境(DXE)初始化客戶系統中的其它部件,并為EFI驅動器302提供支 持。PEI階段306、 DXE階段304和EFI驅動器302 —起提供用于引導操作 系統并運行引導前應用程序的標準環(huán)境。在PEI階段306和DXE階段304 期間所執(zhí)行的代碼可以與驅動器一起存儲在非易失性存儲器中,以訪問存 儲EFI存儲器302的存儲設備。
EFI驅動器302是在DXE階段運行的代碼模塊件(modular piece of code)。 EFI驅動器可以管理客戶系統108中的設備或為引導前環(huán)境提供服 務。EFI驅動器是單線程的,并為控制臺提供基礎支持,為引導前環(huán)境提供 網絡支持,即支持在引導前環(huán)境中引導操作系統并管理客戶系統108。最少 的支持包括對控制單元的支持,例如用戶用以與計算機進行通信的終端(控 制臺)??刂婆_包括諸如鍵盤之類的輸入設備和諸如顯示器之類的輸出設備??刂婆_可以提供陰極射線管(CRT)終端,如在視頻圖形陣列(VGA)或通用圖 形適配器(UGA)設備上的文本支持或圖形支持。還可以提供用于安全、無線 和音頻驅動器的其他EFI驅動器。
圖4是示出具有基于架構的固件的客戶系統在通電或重引導時所經過 的各個階段的時間線。對于重引導,操作系統被再次加載,無需對客戶系 統進行電力重啟(power cycling)。
在以通電為開端的安全(SEC)階段期間,檢査將要在客戶系統中執(zhí)行的 第一個操作碼,以確定固件是否已被篡改。
在pre-EFI初始化環(huán)境(PEI)階段期間,査找在該平臺中的存儲器,并為 DXE階段準備資源圖。
在驅動器執(zhí)行環(huán)境(DXE)階段期間,加載引導管理器和EFI驅動器。 DXE階段提供一組引導服務、運行時刻服務和DXE服務。DXE分派程序 (dispatcher)負責査找并執(zhí)行DXE驅動器和EFI驅動器。這些驅動器可以以 預定義順序執(zhí)行。EFI驅動器可以符合EFIVersionl.lO驅動器模型,其可在 www.inter.com/technology/efi.獲得。引導管理器確定加載什么操作系統以及 所需的引導設備??梢约虞d所有EFI驅動器,或者僅加載引導操作所需的 那些EFI驅動器。引導服務為在引導時刻期間可以使用的設備和系統功能 提供了接口。
在用于網絡的EFI驅動器、控制臺和廣告牌服務驅動器400被初始化 之后,客戶系統108準備好通過通信網絡106接收從服務器102發(fā)送的內 容,并在控制臺的顯示器上顯示該內容。要顯示的內容可以包括文本、圖 形和視頻,即,通常經由可以在互聯網上訪問的萬維網(www)頁面提供的任 何內容。在一個實施例中,除了要顯示的內容之外,所下載的內容還可以 包括音頻,其包括語音和音樂。可以由廣告牌服務驅動器400管理對要顯 示的內容的接收以及在可控制時間期間中對所接收內容的顯示,稍后將結 合圖5更詳細描述廣告牌服務驅動器400。
在顯示器上顯示屏幕圖像的時間期滿之后,引導分派程序402選擇要 在引導設備選擇階段(BDS)期間引導的操作系統。BDS階段定位并加載在引 導前環(huán)境中執(zhí)行的應用程序。例如,該應用程序可以包括操作系統引導裝 入程序,或者擴展的引導前服務,例如設置配置、擴展的診斷程序,快速更新支持和操作系統引導碼。
在該階段的開始,操作系統獲得控制臺設備上的顯示器的控制,并且
通常通過復位存儲屏幕圖像的顯示器緩沖器來清空(blank)顯示器。
過渡系統加載(transient system load)(TSL)階段允許在平臺被操作系統
內核接管之前服務接口對于操作系統裝入程序可用。在過渡系統加載(TSL)
階段期間,操作系統被操作系統引導裝入程序所引導。
運行時刻(RT)階段提供了用于在操作系統執(zhí)行期間提供EFI驅動器的
裝置,以支持操作系統。在運行時刻期間,最終的操作系統環(huán)境運行,且
可以執(zhí)行應用程序??蛻粝到y保持在運行時刻階段中,直到檢測到關機為止。
運行后(afterlife)(AL)階段,即,操作系統運行之后(post operating system),允許固件在操作系統終止之后執(zhí)行(自動的或非自動的)。
圖5A-5D是示出一個廣告牌服務的實施例的操作的流程圖,該廣告牌 服務用于顯示廣告的動態(tài)內容,所述廣告可以在引導客戶系統的操作系統 之前從服務器102下載到客戶系統108。在一個實施例中,廣告牌服務可以 在DXE階段期間由廣告牌服務驅動器400提供。要在控制臺的顯示器上顯 示的內容或部分內容可以在先前的引導前階段中下載完畢,并存儲在非易 失性存儲器中,部分內容可以存儲在非易失性存儲器中,或者可以在當前 引導前階段期間下載新的內容。
在塊500,對客戶系統108通電或重引導。在互聯網網吧環(huán)境中,在給 予用戶對客戶系統的訪問權之前,在常規(guī)基礎上重引導客戶系統。重引導 或"通電"命令可以從服務器102遠程發(fā)送到客戶系統108。通過對客戶系 統108進行電力重啟或重引導,由先前用戶存儲在客戶系統的易失性存儲 器中的任何數據都可以在給予下一個用戶對客戶系統的訪問權之前刪除。
在塊502,客戶系統108中的硬件(平臺)在PEI階段和DXE階段期間 初始化,如在結合圖4所示的時間線所論述的。在初始化期間,對硬件(平 臺)進行診斷測試,以確定其是否是可操作的,以及用于輸入/輸出設備(例 如網絡裝置和控制臺)的固件驅動器是否被初始化。在平臺被初始化之后, 處理繼續(xù)到塊504。
在塊504,檢查設置或配置參數,以確定是否開啟了廣告牌服務。開啟或關閉廣告牌服務可以由終端用戶來定制,例如互聯網網吧所有者。配置
參數可以存儲在非易失性存儲器中,例如客戶系統108的快擦式存儲器中。
可以使用配置實用程序來修改配置參數,以開啟廣告牌服務。如果廣告牌
服務被開啟,處理就繼續(xù)到塊506。如果未開啟,處理就繼續(xù)到塊536。
在塊506,獲得控制臺要顯示的最后更新的廣告并進行顯示。如果這是 第一次初始化平臺,則將會顯示存儲在客戶系統108中的默認標志。如果 廣告以前已經下載過,則其可以存儲在客戶系統108中的非易失性存儲器 或存儲設備上。在此情況下,在控制臺上顯示以前下載并存儲的廣告。存 儲以前下載的、用以在引導前時間期間顯示的廣告,確保了引導前廣告時 間期間的有效使用。該廣告可以在從服務器下載新廣告的同時進行顯示。 處理繼續(xù)到塊508。
在塊50S,設置網絡接口,以允許通過通信網絡從服務器下載要在客戶 系統上顯示的內容。相關的DXE網絡驅動器被加載到存儲器中。在使用傳 輸控制協議/網際協議(TCP/IP)的實施例中,建立網絡堆棧。處理繼續(xù)到塊 510。
在塊510,如果網絡設置失敗,則處理就繼續(xù)到塊536,以顯示存儲在 客戶系統中的標志,并引導操作系統。如果沒有失敗,則處理就繼續(xù)到塊 512,通過通信網絡連接到服務器。
在塊512,客戶系統108通過通信網絡106連接到服務器102,以獲得 要在引導操作系統之前顯示的內容。用于通過通信網絡連接服務器的方法 對于本領域技術人員是公知的。
在塊514,如果到通信網絡的連接失敗,則處理就繼續(xù)到塊536,反之, 則處理繼續(xù)到塊516。
在塊516,以一個默認值初始化計時器,其用于計數在引導操作系統之 前顯示通過通信網絡從服務器接收的內容的時間期間。這個默認值是可控 制的,并可以由客戶系統的終端用戶通過使用配置實用程序進行修改。
在塊518,廣告牌服務進行檢査,以査明是否有可以用于顯示的新內容。 廣告存儲在服務器的數據庫中,并在作為DXE階段一部分的引導前廣告階 段期間被下載到客戶系統。在一個實施例中,廣告是屏幕圖像,其被存儲 在服務器中。如果存在要被下載到該客戶系統中的新廣告,則處理就繼續(xù)到塊520,下載該新廣告,用以在引導前廣告階段期間在客戶系統的控制臺 上進行顯示。如果不存在,則處理繼續(xù)到塊534。
在塊520,廣告牌服務確定是否存在斷點,所述斷點是在廣告的先前下 載期間所存儲的,表示先前的下載還沒有完成。如果由于在引導操作系統 之前用于顯示廣告的時間期間期滿而造成廣告的下載不能完成,就設置斷 點并將其存儲在客戶系統中。斷點表示在廣告文件中的數據偏移,在下一 個引導前階段期間下載應在該數據偏移處開始。斷點存儲了第一次數據傳 輸停止處的數據偏移點,并且下一次數據傳輸從該記錄點開始。例如,如 果廣告存儲在總長度為1024個八比特組的文件中,但第一次數據傳輸僅下 載了 500個八比特組,則就為該文件記錄斷點500。當下一次下載開始時, 下載文件的下一個請求從文件內的偏移501處的下一個八比特組開始。
客戶系統下一次被引導時,對于要在控制臺上顯示的內容的下載從該 斷點繼續(xù)進行。通過減少下載時間,增加了廣告在控制臺上的顯示時間。 從非易失性存儲器中取回廣告的先前下載的部分,以便與廣告的當前下載 的部分一起在控制臺上進行顯示。這減少了在當前引導階段期間該廣告的 下載時間。如果存在先前未完成的下載期間所設置的斷點,則處理就繼續(xù) 到塊523。如果不存在,則處理就繼續(xù)到塊522。
在塊522,獲得與要顯示的廣告相關的名稱。處理繼續(xù)到塊523。
在塊523,通過通信網絡從服務器下載要顯示的廣告。處理繼續(xù)到塊
524。
在塊524,檢查計時器,以確定顯示內容的時間期間是否已經期滿。如 果是,則處理就繼續(xù)到塊528。如果不是,處理就繼續(xù)到塊526。
在塊526,檢査下載過程,以確定要顯示的新廣告的下載是否已完成。 如果是,則處理就繼續(xù)到塊528,以顯示該新廣告。如果不是,則處理就繼 續(xù)到塊523,繼續(xù)下載要顯示的新廣告。
在塊52S,在控制臺上顯示新廣告。處理繼續(xù)到塊530。
在塊530,將新廣告設定為在下一次引導前階段期間要顯示的默認廣 告。處理繼續(xù)到塊532。
在塊532,顯示所下載的內容,直到該時間期間期滿為止。在檢測到該 時間期間已經期滿時,處理就繼續(xù)到塊538,以引導操作系統。在塊534,計時器已經期滿,將所下載的廣告存儲在客戶系統中。廣告 存儲在非易失性存儲器或存儲設備中。設置斷點,以便在下一個重引導或 "通電"重啟期間,能夠從該點處繼續(xù)進行內容的下載。處理繼續(xù)到塊538, 以開始引導操作系統。
在塊536,廣告牌服務對于客戶系統是關閉的,在開始引導操作系統之 前,可以在控制臺上顯示存儲在客戶系統中非易失性存儲器中的靜態(tài)內容。 所述靜態(tài)內容可以是特定標志,即,為易于明確識別而設計的名稱、符號 或商標。在開始塊538的引導過程之前,靜態(tài)內容可以在硬件初始化的同 時進行顯示。
在塊53S,操作系統引導過程開始。這可以通過選擇一個從中引導操作 系統的設備來開始。在控制被傳遞到操作系統引導過程之后,顯示內容就 不再處于廣告牌服務的控制之下。
為了與具體操作系統相適應,例如,為了接收Microsoft windows操作
系統的認證,客戶系統必須在指定時間段內開始操作系統的引導。在計算 機中的固件必須在指定時間期間內開始啟動操作系統,以通過硬件資格測 試,以便接收Microsoft windows操作系統的認證。然而,該時間限制僅用 于在終端用戶購買計算機之前。在售出之后,計算機所有者可以定制引導 前環(huán)境,例如所有者可以改變引導前時間,以允許額外的時間用于動態(tài)內 容(例如廣告)的顯示。
在一個實施例中,該時間期間可以由互聯網網吧的所有者來選擇。該 時間期間可以通過在操作系統運行前(pre-operating system)的配置實用程序
中的設置選項來選擇。例如,設置頁面可以是系統配置實用程序的一部分, 其可以通過選擇鍵盤上的特定功能鍵而在個人計算機上進行調用。
在一個實施例中,用于顯示所下載的廣告的所選時間期間是10秒。在 這10秒期間,廣告吸引了用戶的注意力,但不會引起用戶厭煩,因為它不 是在運行時刻期間出現的。由于該時間期間可以對于每個用戶進行配置, 因此該時間期間可以比10秒更短或更長。例如,該時間期間對于普通用戶 可以是10秒,對于不同類型的用戶可以更短。
廣告的顯示是不依賴于操作系統的,因為它在操作系統的引導之前執(zhí) 行的。此外,因為在系統初始化時間期間顯示廣告,因此它不耗費運行時刻的資源。
可以針對當前訪問客戶系統的特定用戶來制作在引導操作系統之前所 顯示的廣告。例如,在提供對客戶系統的訪問權之前,互聯網網吧運營者 可以以人口統計學信息(例如年齡、職別、或專業(yè))來登記每一個用戶,以便 使所顯示的廣告針對該類用戶。
已經針對EFI接口描述了本發(fā)明的實施例,其包括允許在引導操作系 統之前下載動態(tài)內容的網絡能力。本發(fā)明的實施例還可以包含于支持在引 導操作系統之前通過網絡進行動態(tài)下載的其它系統中。例如, 一個實施例 可以包含于在引導操作系統之前提供網絡能力的一種傳統BIOS系統中。
已經針對在引導操作系統之前下載廣告用以進行顯示而描述了本發(fā)明 的實施例。本發(fā)明的其它實施例可以在引導操作系統之前下載其它要顯示 的內容。例如,在非互聯網網吧的環(huán)境中,可以將公司web頁面下載到公 司內的每一個客戶系統,或者家庭用戶可以選擇在每次系統通電或重置時 要下載到用戶的系統中的特定web頁面。用戶還可以對在開始引導操作系 統之前顯示web頁面的時間期間進行選擇,以便提供足夠的時間來閱讀該 內容。
在引導操作系統之前顯示動態(tài)內容的能力還允許原始設備制造商 (OEM),即銷售為特定應用而定制的計算機的廠商,以及獨立BIOS廠商 (IBV)與用戶交流。
對于本領域普通技術人員顯而易見的是,本發(fā)明的實施例中所涉及的 各種方法可以采用包括計算機可用介質的計算機程序產品來體現。例如這 種計算機可用介質可以包括只讀存儲器設備,例如CD ROM盤片或常規(guī) ROM設備,或者計算機磁盤,其包含存儲在其上的計算機可讀程序代碼。
盡管參考本發(fā)明的各個實施例具體示出并描述了本發(fā)明的實施例,本 領域技術人員會理解,可以在對此做出形式和細節(jié)上的各種變化,而不會 脫離包含于所附權利要求中的本發(fā)明實施例的范圍。
權利要求
1、一種設備,包括廣告牌模塊,其能夠在引導操作系統之前,通過通信網絡取得用于在控制臺上顯示的屏幕圖像。
2、 如權利要求l所述的設備,其中,所述屏幕圖像在可控制的時間期 間內進行顯示。
3、 如權利要求l所述的設備,其中,所述屏幕圖像是從耦合到所述通 信網絡上的服務器取得的。
4、 如權利要求l所述的設備,其中,待取得的所述屏幕圖像可以由服 務提供商通過耦合到所述通信網絡上的服務器來選擇。
5、 如權利要求4所述的設備,其中,所述屏幕圖像是針對用戶制做的。
6、 如權利要求l所述的設備,其中,所述屏幕圖像可由用戶選擇。
7、 如權利要求l所述的設備,其中,所述廣告牌模塊是可擴展固件接 口的一部分。
8、 一種方法,包括 通過通信網絡取得屏幕圖像;以及 在引導操作系統之前,在控制臺上顯示所述屏幕圖像。
9、 如權利要求8所述的方法,其中,所述屏幕圖像在由耦合到所述通 信網絡的系統所控制的時間期間內顯示。
10、 如權利要求8所述的方法,其中,待取得的所述屏幕圖像可以由服務提供商通過耦合到所述網絡的服務器來選擇。
11、 如權利要求10所述的方法,其中,所述屏幕圖像是針對用戶制做的
12、 如權利要求8所述的方法,其中,所述屏幕圖像在可控制的時間 期間內顯示。
13、 一種產品,包括包含相關信息的機器可訪問介質, >其中,所述信息在被訪問時,使得機器執(zhí)行 通過通信網絡取得屏幕圖像;以及 在引導操作系統之前,在控制臺上顯示所述屏幕圖像。
14、 如權利要求13所述的產品,其中,所述屏幕圖像在可控制的時間 期間內顯示。
15、 如權利要求13所述的產品,其中,待取得的所述屏幕圖像可以由 服務提供商選擇。
16、 如權利要求13所述的產品,其中,所述屏幕圖像是針對用戶制做的。
17、 一種系統,包括磁盤驅動器,其能夠存儲操作系統;以及廣告牌模塊,其能夠在引導操作系統之前,通過通信網絡取得用于在 控制臺上顯示的屏幕圖像。
18、 如權利要求17所述的系統,其中,所述屏幕圖像在可控制的時間 期間內顯示。
19、 如權利要求17所述的系統,其中,所述屏幕圖像是針對用戶制做的。
20、 如權利要求17所述的系統,其中,所述屏幕圖像從耦合到所述通 信網絡的服務器取得。
全文摘要
提供了一種方法和設備,用于在引導操作系統之前通過通信網絡取得動態(tài)內容。所述內容可以包括用于在控制臺上顯示的屏幕圖像。用于顯示內容的時間期間可以由耦合到通信網絡的另一個計算機來控制。所述內容可以是廣告,其在引導操作系統之前,在可控制的時間期間內顯示在互聯網網吧的計算機系統上。
文檔編號G06F15/177GK101583941SQ200680038981
公開日2009年11月18日 申請日期2006年11月13日 優(yōu)先權日2005年11月21日
發(fā)明者C·陳, J·趙, M·A·羅思曼, R·李, X·吳 申請人:英特爾公司