TWI430174B - 使用基本輸入輸出系統來安裝軟體之方法 - Google Patents

使用基本輸入輸出系統來安裝軟體之方法 Download PDF

Info

Publication number
TWI430174B
TWI430174B TW099136813A TW99136813A TWI430174B TW I430174 B TWI430174 B TW I430174B TW 099136813 A TW099136813 A TW 099136813A TW 99136813 A TW99136813 A TW 99136813A TW I430174 B TWI430174 B TW I430174B
Authority
TW
Taiwan
Prior art keywords
client
program
operating system
software
user
Prior art date
Application number
TW099136813A
Other languages
English (en)
Other versions
TW201145168A (en
Inventor
Gaurav Banga
Original Assignee
Insyde Software Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Insyde Software Corp filed Critical Insyde Software Corp
Publication of TW201145168A publication Critical patent/TW201145168A/zh
Application granted granted Critical
Publication of TWI430174B publication Critical patent/TWI430174B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

使用基本輸入輸出系統來安裝軟體之方法
本發明係關於使用常駐於一機器上之BIOS來安裝軟體於該機器上之方法。
本申請案主張由Dr. Gaurav Banga於2009年10月28日申請之美國臨時專利申請案第61/255,751號之優先權,該案之揭示內容為了如同本文中完全闡述之所有目的而以引用方式併入。
電腦(尤其諸如膝上型電腦或個人數位助理(PDA)之可攜式電腦)之使用在近年來已成為流行。許多公司給他們的員工提供一電腦以輔助他們的工作職責之效能。一公司確保他們的員工所使用之電腦安裝有一組已批准軟體係所欲的。舉例而言,一公司可能希望確保各公司膝上型電腦執行一病毒保護程式、一資產追蹤程式及經選擇以輔助該員工之職責之效能之一或多個軟體程式。雖然一公司可發佈公司指引,要求員工不移除、停用或擦除安裝於公司電腦上之公司軟體,但是某些員工不管有意或無意可能未能遵守此一策略。不幸地是,此未經授權之竄改可導致他們的電腦之操作問題,諸如防止(a)對軟體之修補程式或更新之自動安裝或(b)諸如病毒保護及公司資產追蹤程式之某些軟體程式之所欲執行。
預先安裝於一器件上之軟體之未經授權移除或竄改可導致原始設備製造商(OEM)之收入損失,該等原始設備製造商基於藉由該OEM供應之具有稱為「售後市場軟體」或「OEMware」之某些軟體之電腦數目而接收補償。該OEMware之此移除或竄改可導致一電腦系統之最佳操作所必需之OEM或機器特定驅動程式及/或公用程式之移除。此等OEM或機器特定驅動程式及/或公用程式可不存在於安裝於該電腦系統上之操作系統之現成的售後市場版本中。因此,若該電腦上之該操作系統係使用一標準泛用操作系統而重新安裝,則該等OEM或機器特定驅動程式及/或公用程式將無法安裝於該電腦系統上係有可能的。
雖然存在於操作系統級工作以保護對一電腦之系統組態之改變(諸如,以上所述之若干類型非所欲改變)的方法,但是此等方法係相當脆弱且一般而言容易變通,舉例而言,對一電腦系統具有管理許可權之一使用者可一般而言對該電腦系統之組態作出任意改變。
本發明提供使用常駐於一機器上之BIOS來安裝軟體、多媒體內容及/或組態改變於該機器上之方法。使用本發明之實施例來安裝於該機器上之軟體可係用於任何目的。舉例而言,該BIOS可使用針對以下之一或多者之某些實施例來安裝軟體:安全、資產追蹤及庫存、使用者應用程式、操作系統及應用程式更新、病毒保護及電子內容(諸如購買之音樂、書籍、視訊等)。藉由本發明之實施例而作出之組態改變可對應於對安裝於該機器上之軟體之組態之一或多個改變或對該機器之硬體組件之組態之若干改變。本發明之實施例亦可用於組態網頁瀏覽器之較佳搜索引擎,及使用本發明之實施例來安裝包含但不限於視訊、音樂、廣告、遊戲及書籍之各種多媒體內容至機器。
術語BIOS係代表基本輸入/輸出系統之一縮寫。BIOS可(但未必)包含統一可擴展韌體介面(UEFI)/可擴展韌體介面(EFI)韌體。執行於一機器(或「用戶端」)上之BIOS可含有一注入器模組。一注入器模組係一組件,該組件可(a)偵測該用戶端上是否安裝一自我啟動程式,及(b)在偵測該用戶端上未安裝該自我啟動程式之後,除該自我啟動程式不存在之一有效理由以外,安裝該自我啟動程式於該用戶端上。BIOS儲存該注入器模組安裝該自我啟動程式於該用戶端上所必需之所有資料。以此方式,保證該用戶端擁有一自我啟動程式。舉例而言,即使該用戶端係藉由重新安裝一新操作系統於該用戶端上而重新成像,此後該注入器模組將偵測當前未安裝該自我啟動程式,且隨後將安裝該自我啟動程式於該用戶端上。
該自我啟動程式係藉由該操作系統而儲存之一軟體程式,其負責(a)判定是否安裝本文中稱為OS組件程式之一軟體組件且正執行於該用戶端上,及(b)在判定該用戶端上未執行該OS組件程式之後,除該OS組件程式不存在之一有效理由以外,安裝該OS組件程式於該用戶端上。該自我啟動程式可自一伺服器或藉由一網路(諸如網際網路)可存取之其他外部位置下載安裝該OS組件程式所必需之資料。
該OS組件程式監視該用戶端之使用者之動作以確定是否已對安裝於該用戶端上之軟體程式作出任何合法改變。另外,在一實施例中,該OS組件程式安裝應安裝之任何額外軟體程式於該用戶端上。為了執行此功能,該OS組件程式可定期聯繫一伺服器以判定該用戶端是否應安裝任何額外軟體程式。從而,該伺服器可提供該用戶端(a)若有的話,關於應藉由該用戶端安裝什麼額外軟體程式的資訊,及(b)安裝此等軟體程式所必需之任何資料。為了解決某些隱私關注,該用戶端之使用者之身份不需識別給該伺服器。此外,該OS組件程式不需重新安裝合法解除安裝之任何軟體程式。在本發明之某些實施例中,該OS組件程式可經組態以安裝代替軟體程式或除了軟體程式以外之組態改變及/或多媒體內容至該用戶端。
有利地是,當以一非法或未經授權之方式移除、停用或擦除安裝於該用戶端上之一軟體程式時,該軟體程式可自動重新安裝於該器件上。因此,即使一惡意使用者藉由安裝一新硬碟機於一用戶端中,安裝一新操作系統於該現有硬碟機上或解除安裝或停用安裝於該用戶端上之單獨軟體程式而試圖阻止該用戶端所提供之安全,本發明之實施例將有利地可重新安裝該等軟體程式於該用戶端上。已合法解除安裝之軟體程式不需藉由本發明之實施例而重新安裝。此外,本發明之實施例可用於自動及遠端安裝一或多個軟體程式於複數個用戶端上。
本文中所述之方法並不意為描述本發明之所有實施例,這是因為本發明之其他實施例相比於此節次中所討論之繪示性方法在其等之操作上可能不同。
本發明之實施例係以舉例方式而不是以限制方式而在伴隨圖式之圖中繪示,且其中相同參考數字是指類似元件。
本發明描述使用常駐於一機器上之BIOS來安裝軟體、組態改變及/或多媒體內容於該機器上之方法。在以下描述中,為了解釋之目的,闡述許多特定細節以便提供本文中所呈現之本發明之實施例之一徹底理解。應明白,然而,本文中所呈現之本發明之實施例可在無此等特定細節的情況下實踐。在其他例子下,眾所周知之結構及器件係以方塊圖形式而顯示,以便避免不必要混淆本文中所呈現之本發明之實施例。
系統概述
在解釋藉由本發明之一實施例所執行之功能步驟之前,將提供一繪示性系統內之組件之一描述。圖1係根據本發明之一實施例之使用用戶端110之BIOS 120來安裝軟體之系統100之一方塊圖。雖然為了清晰,系統100繪示一單一用戶端,但是本發明之其他實施例可包含任何數目之用戶端。
如本文中廣泛使用之用戶端110是指可執行BIOS 120及操作系統130之任何電腦化器件或機器。通常,雖然一用戶端將係一可攜式器件,諸如一膝上型電腦、一個人數位助理(PDA)、一蜂巢式電話、一遊戲系統(諸如可從華盛頓(Washington)州雷蒙(Redmond)之微軟公司購得之一Xbox 或可從新澤西(New Jersey)州帕克里奇(Park Ridge)之索尼公司購得之一PlayStation 3)或一平板型電腦,但是可構成一用戶端之器件沒有大小或重量限制。因此,一用戶端可使用諸如一自動販賣機、一電腦化汽油分配器或一自動櫃員機(ATM)之一相對較大、固定或笨重之電腦化器件而實施。一用戶端可執行任何類型操作系統,諸如來自華盛頓(Washington)州雷蒙(Redmond)之微軟公司之Vista或Linux。
操作系統130將提供一檔案系統(未繪示)以儲存及管理該檔案系統上之檔案及相關聯資料。藉由操作系統130提供之該檔案系統負責儲存及檢索檔案及相關聯資料,因此,當操作系統130據說儲存資料時,它可藉由指導藉此提供之該檔案系統而儲存資料。
用戶端110之BIOS 120可藉由設計成當用戶端110電力開啟時藉由用戶端110執行之第一代碼之韌體而實施。BIOS 120之最初功能可係用於識別、測試及起始化諸如視訊顯示卡、硬碟、軟碟及用戶端110之其他硬體之系統器件。BIOS 120可為用戶端110準備一已知狀態,使得藉由用戶端110而儲存於一機器可讀媒體上之軟體可被載入、執行及給予用戶端110之控制。BIOS 120可使用可從加利福尼亞(California)州苗必達(Milpitas)之鳳凰(Phoenix)科技有限公司購得之BIOS技術(諸如Phoenix SecureCoreTM)而實施。
BIOS 120可含有注入器模組122。注入器模組122係BIOS 120之一組件,其可(a)偵測用戶端110上是否安裝自我啟動程式132,及(b)在偵測用戶端110上未安裝自我啟動程式132之後,除用戶端110上不存在自我啟動程式132之一有效理由以外,安裝自我啟動程式132於用戶端110上。用戶端110上不存在自我啟動程式132之一有效理由可包含給予用戶端110之擁有者之一例外(其可在該擁有者不想用戶端110執行以下所解釋之圖2之步驟時使用)。BIOS 120儲存注入器模組122所必需之所有資料以安裝自我啟動程式132於用戶端110上。以此方式,若用戶端110因任何原因而缺乏自我啟動程式132(若用戶端110之硬碟機已藉由重新安裝一新操作系統於用戶端110上而重新成像,或若用戶端110上已安裝一新硬碟機,則將係該情況),則注入器模組122將偵測當前未安裝自我啟動程式132,且將隨後安裝自我啟動程式132於用戶端110上。
自我啟動程式132係一軟體程式,其負責(a)判定是否安裝本文中稱為OS組件程式134之一軟體組件且正執行於用戶端110上,及(b)在判定用戶端110上未執行OS組件程式134之後,除OS組件程式134不存在之一有效理由以外,安裝OS組件程式134於用戶端110上。自我啟動程式132可設計成於各種不同檔案系統中操作且適應各種不同檔案系統,諸如NTFS及ext3。自我啟動程式132可自伺服器180或在通信鏈路190上(諸如網際網路)可存取之其他外部位置下載安裝OS組件程式134所必需之資料。自我啟動程式132及OS組件程式134可藉由操作系統130而儲存及執行。
在一實施例中,OS組件程式134之一版本可附隨有自我啟動程式132。以此方式,注入器模組122可將自我啟動程式132及OS組件程式134一起作為一單位而檢索。在此一實施例中,自我啟動程式132及OS組件程式134兩者可對應於相同功能及/或結構組件。
OS組件程式134監視及追蹤用戶端110之使用者之動作以確定是否對安裝於用戶端110上之軟體程式作出任何合法改變。另外,OS組件程式134負責重新安裝應重新安裝於用戶端110上之任何軟體程式於用戶端110上。為了執行此功能,OS組件程式134可在通信鏈路190上定期聯繫伺服器180以判定用戶端110是否應安裝任何軟體程式。從而,若有的話,則伺服器180可告知用戶端110應藉由用戶端110安裝什麼軟體程式,以及提供予用戶端110安裝此等軟體程式所必需之任何資料。OS組件程式134不需重新安裝合法移除之任何軟體程式。
如本文中廣泛使用之伺服器180可藉由可與用戶端110通信之任何機構而實施。伺服器180可用於將用戶端110應已安裝之哪些軟體程式識別給用戶端110,以及將安裝用戶端110應已安裝之程式所必需之任何資料提供給用戶端110。
用戶端110之擁有者或用戶端之廠商(即,在開放市場銷售用戶端110之原始設備製造商(通常縮寫為OEM)(其通常將不同於用戶端110之擁有者,用戶端110之擁有者係用戶端110之購買者))可與伺服器180互動以定義一設定檔(以下簡稱用戶端110之一「安裝設定檔」)。一用戶端之一安裝設定檔識別該用戶端應已安裝之該等軟體程式、組態改變及/或多媒體內容項目。因此,若用戶端110之擁有者希望更新安裝於用戶端110上之哪些軟體程式,則該擁有者將聯繫伺服器180(例如,經由一GUI,諸如一網頁)且更新用戶端110之該安裝設定檔。一用戶端之一安裝設定檔可維護於伺服器180上且於設定檔儲存庫182中。設定檔儲存庫182代表在伺服器180處或可存取伺服器180之任何儲存媒體。雖然設定檔儲存庫在圖1中係繪示為伺服器180之一部分或實施於伺服器180上,但是設定檔儲存庫182可整體或部分實施於與伺服器180不同之一實體機器上。設定檔儲存庫182可儲存系統100中之任何數目用戶端之軟體安裝設定檔。
用戶端110之擁有者或廠商可在一安裝設定檔內建立伺服器180用以判定應安裝什麼於一特別用戶端上之一或多個規則。該一或多個規則可考慮關於一用戶端之各種資訊。各用戶端發送關於自身之可藉由一安裝設定檔之一規則而參考之資訊至伺服器180。關於一用戶端之此資訊可組織成一或多個設定檔或用其他方式與一或多個設定檔(諸如,一用戶端硬體設定檔、一用戶端軟體設定檔、一用戶端使用者設定檔及一用戶端定制設定檔)相關聯。
自用戶端110發送至伺服器180之資訊可使用一或多個設定檔管理器而監視、收集及/或維護於用戶端110處。一設定檔管理器係可或可不常駐於OS組件程式134內之一可選組件。一設定檔管理器負責發送關於其常駐之該用戶端之某一類型資訊至伺服器180。舉例而言,在一實施例中,OS組件程式134可包括硬體設定檔管理器140。硬體設定檔管理器140係負責監視、收集及/或維護關於用戶端110之硬體之資訊的一可選軟體組件。舉例而言,硬體設定檔管理器140可提供關於用戶端110內或附接至用戶端110之所有硬體之一描述的資訊,包含用戶端110之硬體之版本資訊、設定及/或組態資訊。
在一實施例中,OS組件程式134可包括軟體設定檔管理器142。軟體設定檔管理器142係負責監視、收集及/或維護關於安裝於用戶端110上之軟體之資訊的一可選軟體組件,包含關於安裝於用戶端110上之軟體之版本資訊、設定及/或組態資訊。
在一實施例中,OS組件程式134可包括使用者設定檔管理器144。使用者設定檔管理器144係負責監視、收集及/或維護關於用戶端110之使用者之資訊的一可選軟體組件,且更特定言之,該使用者如何使用用戶端110,例如,使用者設定檔管理器144可收集關於一使用者於用戶端110上執行哪些應用程式及/或硬體組件之統計量或資訊及用戶端110之效能以回應於該使用者之請求。
在一實施例中,OS組件程式134可包括定制設定檔管理器146。定制設定檔管理器146係負責監視、收集及/或維護關於用戶端110之一組定制資訊的一可選軟體組件。定制設定檔管理器146發送至伺服器180之該組定制資訊可藉由用戶端110之廠商或OEM而組態,且此資訊可包含任何類型資訊(甚至可用其他方式藉由一不同類型設定檔管理器收集之資訊)。用戶端110之廠商或OEM可定期更新藉由定制設定檔管理器146監視、收集及/或維護之該組定制資訊。
應指出,雖然圖1中繪示四個設定檔管理器(即,140、142、144及146),但是各者係可選的,且因此本發明之實施例可包括任何數目之設定檔管理器或設定檔管理器之任何組合,其包含全無、全部或其間之任何數目。此外,本文中所討論之設定檔管理器僅係繪示性,本發明之其他實施例可利用發送關於一用戶端之不同資訊至伺服器180之設定檔管理器,或可將本文中所討論之多個設定檔管理器組合為一單一設定檔管理器。
通信鏈路190可藉由提供介於一用戶端110與伺服器180之間之資料之交換的任何媒體或機構而實施。通信鏈路190之非限制性、繪示性實例包含但不限於一網路,諸如一區域網路(LAN)、廣域網路(WAN)、乙太網或網際網路、一或多個地面、衛星或無線鏈路及串列或並行印表機電纜。
使用常駐於一用戶端上之BIOS來安裝一軟體程式於該用戶端上
圖2係繪示根據本發明之一實施例之使用BIOS 120來安裝一軟體程式、組態設定及/或多媒體內容於用戶端110上之功能步驟之一流程圖。在步驟210中,OS組件程式134監視及追蹤用戶端110之使用者之活動以判定該使用者是否已移除或解除安裝一軟體程式、驅動程式、代碼組件或任何可執行指令集。如圖2所示,OS組件程式134可連續及/或重複執行步驟210。
在一實施例中,若用戶端110之使用者合法地自用戶端110刪除一特別軟體程式,則自動重新安裝該特別軟體程式可能係非所欲的,而是尊重用戶端110之使用者之意願。另一方面,若(a)一惡意使用者自用戶端110刪除或解除安裝一或多個軟體程式,或(b)用戶端110之意欲使用者違反公司策略或以一未經授權方式而故意刪除一軟體程式,則復原或重新安裝該等軟體程式於用戶端110上可能係所欲的。
為了區分以一授權方式動作之用戶端110之一使用者與以一未經授權方式動作之用戶端110之一使用者,不論何時該使用者請求安裝於用戶端110上之一軟體程式之移除或組態更新,本發明之某些實施例可致能或要求用戶端110之一使用者提交一「停用密鑰」至OS組件程式134,這是為了告知OS組件程式134當前使用者係一經授權之使用者且正對用戶端110執行一合法動作。該停用密鑰可藉由該OEM提供至用戶端110之擁有者,該擁有者可從而傳達該停用密鑰至用戶端110之一經授權之使用者。該停用密鑰可以各種方式實施,例如,該停用密鑰可係一密碼、代碼、符記及其類似物。據推測,一惡意使用者(例如,一小偷)不會知道或擁有該停用密鑰,且因此無法告知OS組件程式134該使用者將採取之動作係藉由一經授權之使用者之一合法動作。類似地,用戶端110之意欲使用者之一員工在不知道用戶端110之擁有者的情況下亦不會知道或擁有該停用密鑰(因為用戶端110之擁有者係藉由該OEM而提供該停用密鑰,且因此將需要與用戶端110之意欲使用者共用該停用密鑰),藉此最小化用戶端110之意欲使用者將違反用戶端110之擁有者之意願而修改用戶端110的可能性。OS組件程式134可監視及記錄一軟體程式之任何改變或移除係藉由一經授權之使用者(即,該使用者成功提供該停用密鑰至OS組件程式134)或一未經授權之使用者(即,該使用者不提供該停用密鑰至OS組件程式134)而執行。應指出,一停用密鑰之使用係可選的,這是因為並不是本發明之所有實施例可利用一停用密鑰。
在一實施例中,當用戶端110之一使用者刪除或解除安裝安裝於用戶端110上之一特別軟體程式時,OS組件程式134持續儲存一記錄,該記錄證明用戶端110之該使用者已移除或解除安裝該特別軟體程式。有若干種可完成此之方式。在一方法中,OS組件程式134可在BIOS 120內持續儲存用戶端110之一使用者移除或解除安裝一特別軟體程式之一記錄。此一記錄可實施為一旗標,例如與一特別軟體程式相關聯之一旗標可最初具有一值「0」,但是若一使用者移除或解除安裝與該旗標相關聯之該軟體程式,則該旗標之值更新為「1」。或者,OS組件程式134可在通信鏈路190上將用戶端110之一使用者已自用戶端110移除或解除安裝一特別軟體程式的告示發送至伺服器180。在此一方法中,伺服器180可持續儲存一記錄,該記錄指示用戶端110之一使用者移除或解除安裝該特別軟體程式。
為了解決某些隱私關注,本發明之實施例可在操作期間保留用戶端110之該使用者之一致。因此,指示一使用者移除或解除安裝一軟體程式之任何記錄可識別該特別用戶端及移除或解除安裝之該軟體程式,而不是請求該移除之該特別使用者。類似地,於用戶端110與伺服器180之間交換之任何通信不會識別用戶端110之人類使用者之身份,而是僅識別該特別用戶端110。在沒有識別用戶端110之人類使用者的情況下識別用戶端110可以各種不同方式而執行,諸如識別與用戶端110相關聯之一通用唯一識別符(UUID)。
在某些實施例中,在步驟210中,OS組件程式134之任何設定檔管理器可監視、收集及/或維護指導該設定檔管理器如此做的資訊。以此方式,在步驟210中可監視、收集及/或維護關於用戶端110之各種特性之資訊。在一實施例中,一設定檔管理器(諸如,使用者設定檔管理器144)可監視指示用戶端110之使用者之合法動作的記錄。
在步驟220中,若有的話,OS組件程式134發送一訊息至伺服器180以判定用戶端110應已安裝於其上什麼額外軟體程式、組態設定及/或多媒體內容。OS組件程式134可在通信鏈路190上聯繫伺服器180。若當OS組件程式134最初試圖聯繫伺服器180時,OS組件程式134不可在通信鏈路190上聯繫伺服器180,則OS組件程式134可定期重新試圖在通信鏈路190上聯繫伺服器180,直到建立通信。
對於步驟220之效能有各種不同觸發事件。為了繪示一實施例可如何操作,考慮圖3,圖3係根據本發明之一實施例之一用戶端之操作狀態之一繪示。如圖3中所示,狀態310對應於用戶端110運行及完全操作時,狀態320對應於用戶端110之操作暫時中止時,狀態330對應於用戶端110電力關閉時,及狀態340對應於用戶端110處於休眠模式中時。在狀態330及340中,用戶端110未接收電力,而在狀態310及320中,用戶端110確實接收電力。在狀態320中,用戶端110接收一些電力以將用戶端110之當前狀態儲存於記憶體中。圖3中所示之狀態可對應於公認工業標準系統電力狀態,例如狀態310可對應於S0,狀態320可對應於S3,狀態340可對應於S4,及狀態330可對應於S5。
在一實施例中,不論何時用戶端110自狀態340轉變為狀態310,執行步驟220。因此,不論何時用戶端110自一電力閉關狀態電力開啟,若有的話,OS組件程式134聯繫伺服器180以判定用戶端110應已安裝於其上除了該等已安裝以外之什麼軟體程式、組態設定及/或多媒體內容。在此一實施例中,當用戶端110自狀態320轉變為狀態310或自狀態330轉變為狀態310時,步驟220係不藉由用戶端110而執行。
在關於藉由用戶端110之使用者已移除或解除安裝哪些軟體程式之記錄係儲存於BIOS 120中之一實施例中,當執行步驟220時,OS組件程式134可將唯一識別用戶端110以及自用戶端110已刪除或解除安裝什麼軟體程式之資訊發送至伺服器180。應指出,由於隱私原因,用戶端110之使用者可能不在自用戶端110至伺服器180之此通信中識別。
在關於藉由用戶端110之使用者已移除或解除安裝哪些軟體程式之記錄係儲存於伺服器180處之另一實施例中,當執行步驟220時,OS組件程式134可將在由於隱私原因而未識別用戶端110之使用者的情況下唯一識別用戶端110之資訊發送至伺服器180。
在步驟230中,若有的話,伺服器180將識別用戶端110應安裝什麼額外軟體程式、組態設定及/或多媒體內容之資料以及用戶端110安裝用戶端110應安裝之該等軟體程式、組態設定及/或多媒體內容所必需之任何資料發送至用戶端110。伺服器180可維護使一安裝設定檔與系統100中之複數個用戶端之各者相關聯之記錄。在執行步驟230中,伺服器180可查閱與用戶端110相關聯之安裝設定檔。一用戶端之安裝設定檔識別該用戶端應已安裝之該等軟體程式、組態改變及/或多媒體內容。
當伺服器180判定用戶端110應安裝什麼額外軟體程式、組態改變及/或多媒體內容時,伺服器180將考慮什麼軟體程式、組態改變及/或多媒體內容已藉由用戶端110之使用者而合法(即,該停止密鑰係藉由該使用者提供)移除、改變或解除安裝。若用戶端110之該使用者已合法移除或解除安裝該軟體程式或多媒體內容,則伺服器180不會要求用戶端110安裝藉由其之相關聯安裝設定檔識別之任何軟體程式或多媒體內容。類似地,若一使用者已對一組態設定作出一合法改變(改變該組態設定之請求係伴隨一有效停用密鑰),則伺服器180可不要求用戶端110改變如該安裝設定檔中所指示之組態設定。
若用戶端110之擁有者希望更新於用戶端110上應安裝或實施哪些軟體程式、組態設定及/或多媒體內容,則該擁有者將聯繫伺服器180(例如,經由一GUI,諸如一網頁)及更新用戶端110之安裝設定檔以包含該特別軟體程式、組態設定及/或多媒體內容。另外,該擁有者將伺服器180將需要傳達至用戶端110之資料提供至伺服器180以致能用戶端110安裝或實施該特別軟體程式、組態設定及/或多媒體內容。以此方式,複數個用戶端之擁有者可更新與該複數個用戶端之各者相關聯之安裝設定檔以快速及有效率更新安裝於該複數個用戶端之各者上之該等軟體程式、組態設定及/或多媒體內容。本發明之實施例可提供一GUI以容許擁有者立即更新多個用戶端之安裝設定檔。
在一實施例中,用戶端110之OEM(或原始設備製造商)亦可更新用戶端110之安裝設定檔。如下文中將更詳細解釋,該OEM可希望對用戶端作出一改變,諸如更新作為OEMware安裝於用戶端110上之特別軟體程式。為了執行此任務,該OEM將聯繫伺服器180及更新與用戶端110相關聯之安裝設定檔以反映所需之該組OEMware。
雖然本發明之實施例已主要參考安裝一軟體程式於用戶端110上而描述,但是本發明之其他實施例可用於更新已安裝於用戶端110上之一軟體程式之組態設定。舉例而言,在步驟230中自伺服器180發送至用戶端110之資料可識別一經安裝之軟體程式之新組態設定。在接收此資料之後,OS組件程式134可利用該等新組態設定來更新安裝於用戶端110上之該軟體程式。在此一實施例中,與各用戶端相關聯之軟體設定檔可經更新以描述待安裝於一用戶端上之各軟體程式之組態設定。
此外,雖然本發明之實施例已主要參考安裝一軟體程式於用戶端110上而描述,但是本發明之其他實施例可用於解除安裝已安裝於用戶端110上之一軟體程式。舉例而言,在步驟230中自伺服器180發送至用戶端110之資料可識別待自用戶端110移除或解除安裝之一特別軟體程式。在接收此資料之後,OS組件程式134可自用戶端110移除或解除安裝該軟體程式。在此一實施例中,若用戶端110具有安裝於其上之不包含於該軟體設定檔(其儲存於伺服器180上,與用戶端110相關聯)中之一軟體程式,則伺服器180指示應自用戶端110移除或解除安裝該軟體程式。
安全儲存注入器模組於BIOS中
由於軟體程式可藉由一惡意使用者以一未經授權之方式而自用戶端110刪除、解除安裝或停用,所以提供使一方難以阻止、停用或解除用以安裝應安裝於用戶端110上之軟體之本發明之實施例之能力的機構係有利的。
BIOS 120負責啟動用戶端110及開始用戶端110及其組件,諸如CPU及記憶體。BIOS 120具有兩個部分,一啟動部分及一運行時間部分。BIOS 120之啟動部分負責啟動用戶端110中所涉及之活動,而BIOS 120之運行時間部分負責在用戶端110已啟動之後進行中之活動。在一實施例中,注入器模組122與BIOS 120之運行時間部分通信及互動。
藉由實施注入器模組122於系統100之各用戶端之BIOS 120內,一方很難阻止、停用或解除藉由本發明之實施例所提供之保護。保全注入器模組122不受來自未經授權之使用者之竄改及干擾可係有利的。在一實施例中,BIOS 120(以及因此注入器模組122)可儲存於位於用戶端110之母板上之一特殊微晶片上。該微晶片設計成確保BIOS 120不可藉由未經授權方存取。為了達成此目的,該微晶片可經設計,使得儲存於該微晶片上之資料係(a)加密的,及(b)不可覆寫。
在一實施例中,注入器模組122以藉由電力循環、磁碟重新格式化、軟體重新安裝、BIOS重新快閃及其類似物保留資料之方式而安全儲存某些類型資料。為此目的,注入器模組122可將稱為一安全資料記憶體(SDM)之一小型資料庫維護於BIOS快閃記憶體(EEPROM)中。儲存於該SDM中之資訊可包含關於自製造程序、自我啟動程式132安裝程序及與伺服器180之注入器模組122註冊程序提供之用戶端之資訊,該資訊包含但不限於藉由伺服器180產生之一唯一用戶端識別符以及用於鑑認之密碼及會話密鑰、一伺服器識別符。另外,該SDM可儲存關於已藉由一授權使用者自用戶端110合法刪除或移除之軟體程式之資訊以及關於已以一非法方式自用戶端110刪除或移除之軟體程式之資訊。
為了維護安全,該SDM中之資料必須經保護以不受有意或無意揭示。注入器模組122可加密儲存於該SDM中之不可揭示之資料。類似地,儲存於該SDM中之資料都不可藉由一流行軟體程式而改變。BIOS快閃記憶體符合此等要求,這是因為其係僅可藉由授權之BIOS程式存取及改變之一安全資料儲存區域。
SDM可實施於快閃記憶體之一預留區域中且承擔它提供之保護。快閃記憶體在兩個重要方面係不同於正規RAM記憶體。第一,記憶體存取係慢得多。第二,快閃記憶體可被重寫有限次數。為了補償,某些快閃記憶體微晶片具有內建構件以將資料「移動」至記憶體之不同區域。在一實施例中,注入器模組122可進一步解決對可重寫快閃記憶體之次數之限制,其藉由分配多個記錄,且當在一第一記錄中將達到該限制時,該第一記錄之內容被複製至一第二記錄,且當前記錄指標經更新以參考該第二記錄。
在一實施例中,為了確保實施注入器模組122使得(a)防止注入器模組122被覆寫及/或刪除,及(b)注入器模組122加密資料以防止未經授權方讀取包括注入器模組122之代碼及/或資料,注入器模組122可使用稱為「SecurePhlash」之一方法而實施,該方法於Andrew Cottrell等人於2004年12月28日申請之題為「安全韌體更新」之美國專利第11/026,813號中描述,該案之內容如同本文中完全闡述以引用方式併入本文中。SecurePhlash可用於確保在沒有手動變化或改變注入器模組122上之用戶端之實體組件的情況下不可停用該注入器模組122。SecurePhlash要求一使用者不僅提供待快閃之內容(即,位元型樣),而且提供適當簽署憑證以確保BIOS僅可藉由授權方而快閃。通過此障礙容許在僅可用於該BIOS之一系統/晶片模式中處理重新快閃,且因此,應用程式無法獲得所需存取以覆寫快閃記憶體之一部分之內容。SecurePhlash亦提供排除BIOS快閃記憶體之若干區塊不受重新快閃之能力,藉此提供僅一次之快閃能力。
在本發明之另一實施例中,BIOS 120且藉由擴展為注入器模組122可使用由可信賴計算小組稱為可信賴平臺模組(TPM)之一公開說明書而加密。本發明之其他實施例可利用加密BIOS中之資料之不同方法,如可利用SecurePhlash、TPM,或熟習此項技術者眾所周知之其他方法。
可安裝之軟體及資料之類型
本發明之實施例可用於安裝各種不同類型軟體、資料、組態設定及多媒體內容。為了繪示,實施例可用於安裝驅動程式更新、軟體更新及/或對BIOS 120或操作系統130之更新。
可藉由實施例安裝之軟體之類型之另一實例係OEMware。如本文中所使用,OEMware係用於指由用戶端110之製造商或原始設備製造商(或「OEM」)所提供之在製造用戶端110時安裝於用戶端110上之任何軟體程式之一術語。OEMware亦可稱為「售後市場軟體」。OEM通常係藉由為了安裝軟體程式於一用戶端上之服務而作為OEMware安裝於該用戶端上之軟體程式之供應商而得以補償。因此,用戶端110之製造商可驗證及確保OEMware當前安裝於用戶端110上係有利的,這是因為用戶端110之製造商可接收來自提供作為OEMware安裝於用戶端110上之軟體程式之各種軟體廠商之補償。
隨著時間推移,用戶端110之製造商可希望改變或更新作為OEMware安裝於用戶端110上之該組特別軟體程式。舉例而言,軟體程式A、B及C可作為OEMware安裝於用戶端110上。然而,用戶端110之製造商可希望更新用戶端110使得用戶端110具有安裝之軟體程式A、B、D及E。用戶端110之製造商可更新由伺服器180儲存之用戶端110之安裝設定檔以反映期望作為OEMware安裝於用戶端110上之經修訂之該組軟體程式。
企業基礎軟體係可藉由實施例安裝之軟體之類型之另一實例。如本文中所使用,企業基礎軟體係用於指藉由用戶端110之擁有者安裝於用戶端110上之任何軟體程式之一術語。舉例而言,通常,一公司或其他大型組織可希望安裝一組標準軟體程式(諸如防毒軟體、文字處理應用程式、試算表應用程式等)於大量膝上型電腦或電腦化器件上。以此方式,一公司可確保符合其員工之需要,同時亦確保安裝於該等用戶端上之軟體可藉由該公司之IT部門而支援。
可使用本發明之實施例來安裝之其他實例包含該電腦上存在之「內定搜索引擎」及一或多個網頁瀏覽器之其他組態設定。此係有價值的,這是因為什麼網頁瀏覽器組態於一電腦系統上之選擇通常係介於搜索引擎操作者與電腦經銷商或製造商之間之一收入共用配置的基礎。
可使用本發明之實施例來安裝及/或組態之軟體之類型之其他實例包含針對安全、資產追蹤及庫存、使用者應用程式、操作系統及應用程式更新及病毒保護之軟體。
作為另一實例,資料及/或組態設定可使用本發明之實施例而下載、安裝或更新。舉例而言,若一設定檔管理器發送關於用戶端110之資訊至伺服器180,及若在用戶端110之一安裝設定檔中已定義一規則,該規則指示用戶端110將下載一資料檔案及/或對用戶端110之硬體或軟體作出一組態改變,且在該規則如此指導的情況下(該規則可指定必須滿足之一或多個條件以便制定),則本發明之實施例可下載此資訊。以此方式,用戶端110之廠商或OEM可確保用戶端110上之某些硬體或軟體對用戶端110之使用者之當前使用保持最佳化。為了繪示一特定實例,若一軟體安裝設定檔指示在符合一條件的情況下應調整一搜索引擎之組態設定,及若自用戶端110上之一設定檔管理器接收之資訊指示符合該條件,則實施例可根據該軟體安裝設定檔而自伺服器180發送致能用戶端110更新該搜索引擎之組態設定之資料至用戶端110。本發明之實施例可藉由直接下載該等組態改變或藉由下載施加該等組態改變至用戶端110之一程式而致能對該等組態設定作出更新。
另外,本發明之實施例可用於檢查電子內容(諸如,購買之音樂、書籍、視訊等)之存在,及若該用戶端110當前沒有該電子內容之一拷貝,則隨後下載此內容至用戶端110。舉例而言,一設定檔管理器可監視描述購買之媒體內容項目之一列表之一組資料,及若購買之媒體內容不常駐於用戶端上(例如,一購買之電視演出、電影、音樂或電子書變得可用),則伺服器180可自身或指導另一個體發送該購買之媒體內容至用戶端110。以此方式可藉由該用戶端獲得任何類型之多媒體內容,該等多媒體內容包含但不限於視訊、音樂、廣告、遊戲及書籍。類似地,OS組件程式134可經組態以刪除未合法獲得或一相關聯安裝設定檔中之一規則指示應刪除的任何多媒體內容。
經由一插件之部署
本發明之實施例可將注入器模組122實施為一插件。在此一實施例中,注入器模組122將需要經設計使得它可「插入」或安裝於實施BIOS 120之特別BIOS中。舉例而言,注入器模組122將需要經組態使得無論何時BIOS 120指示該用戶端正從圖3之狀態340轉變為狀態310,執行圖2之步驟220。在一實施例中,注入器模組122可使用任何標準或工業接受之方法或框架而實施為一插件以實施插件,諸如但不限於來自英代爾(Intel)公司之可擴展韌體介面(EFI)及藉由統一EFI論壇之統一可擴展韌體介面(UEFI)版本2.0或之後版本。舉例而言,在硬體級,UEFI說明書提供開發者一標準介面,所以他們可創建一韌體驅動程式插件以處置其等之特定啟動硬體。系統開發者可接著採用基於UEFI之韌體且在不需作出任何額外程式開發的情況下添加它們硬體之驅動程式。
實施機構
在一實施例中,用戶端110以及系統100內之任何用戶端可使用一電腦系統而實施。圖4係繪示其上可實施本發明之一實施例之一電腦系統400之一方塊圖。在一實施例中,電腦系統400包含處理器404、主記憶體406、ROM 408、儲存器件410及通信介面418。電腦系統400包含至少一處理器404以處理資訊。電腦系統400亦包含一主記憶體406,諸如一隨機存取記憶體(RAM)或其他動態儲存器件,以儲存待由處理器404執行之資訊及指令。主記憶體406亦可用於儲存在待由處理器404執行之指令之執行期間之暫時變數或其他中間資訊。電腦系統400進一步包含一唯讀記憶體(ROM)408或其他靜態儲存器件以儲存用於處理器404之靜態資訊及指令。一儲存器件410(諸如一磁碟或光碟)係提供用於儲存資訊及指令。
電腦系統400可耦合至一顯示器412,諸如一陰極射線管(CRT)、一LCD監視器及一電視機,以顯示資訊給一使用者。包含文數字及其他鍵之一輸入器件414係耦合至電腦系統400以傳達資訊及命令選擇至處理器404。輸入器件414之其他非限制、繪示性實例包含一滑鼠、一軌跡球或游標方向鍵以傳達方向資訊及命令選擇至處理器404及控制顯示器142上之游標移動。雖然圖4中僅繪示一輸入器件414,但是本發明之實施例可包含耦合至電腦系統400之任何數目之輸入器件141。
本發明之實施例係關於電腦系統400用於實施本文中所述之技術之使用。根據本發明之一實施例,該等技術係回應於處理器404執行主記憶體406中所含之一或多個指令之一或多個序列而藉由電腦系統400執行。此等指令可自諸如儲存器件410之另一機器可讀媒體讀取至主記憶體406中。主記憶體406中所含之指令之序列之執行促使處理器404執行本文中所述之程序步驟。在替代實施例中,硬佈線電路可取代軟體指令或與軟體指令組合使用以實施本發明之實施例。因此,本發明之實施例並不限於硬體電路及軟體之任何特定組合。
如本文中所使用之術語「機器可讀儲存媒體」是指參與儲存可提供至處理器404以執行之指令之任何媒體。此一媒體可採用許多形式,該等形式包含但不限於非揮發性媒體及揮發性媒體。非揮發性媒體包含例如光碟或磁碟,諸如儲存器件410。揮發性媒體包含動態記憶體,諸如主記憶體406。
機器可讀媒體之非限制、繪示性實例包含例如一軟碟、一彈性碟、硬碟、磁帶或任何其他磁性媒體、一CD-ROM、任何其他光學媒體、一RAM、一PROM及EPROM、一快閃EPROM、任何其他記憶體晶片或匣、或一電腦可自其中讀取之任何其他媒體。
機器可讀媒體之各種形式可涉及攜帶一或多個指令之一或多個序列至處理器404以執行。舉例而言,該等指令可最初於一遠端電腦之一磁碟上攜帶。該遠端電腦可載入該等指令至其之動態記憶體中且在一網路鏈路420上發送該等指令至電腦系統400。
通信介面418提供一雙向資料通信,其耦合至一網路鏈路420,該網路鏈路420連接至一本端網路。舉例而言,通信介面418可係一整體服務數位網路(ISDN)卡或一數據機以提供一資料通信連接至一相對應類型之電話線。作為另一實例,通信介面418可係一區域網路(LAN)卡以提供一資料通信連接至一可相容LAN。亦可實施無線鏈路。在任何此實施中,通信介面418發送及接收攜帶代表各種資訊類型之數位資料流之電子、電磁或光學信號。
網路鏈路420通常透過一或多個網路提供資料通信至其他資料器件。舉例而言,網路鏈路420可透過一本端網路提供一連接至一主機電腦或至藉由一網際網路服務提供商(ISP)操作之資料設備。
電腦系統400可透過該(該等)網路、網路鏈路420及通信介面418發送訊息及接收包含程式碼之資料。舉例而言,一伺服器可將一應用程式之一請求代碼透過網際網路、一本端ISP、一本端網路隨後傳送至通信介面418。接收之代碼可在其被接收時藉由處理器404執行,及/或儲存於儲存器件410或其他非揮發性儲存器中以待以後執行。
在前述說明書中,本發明之實施例已參考可隨著實施而變化之許多特定細節而描述。因此,本發明係什麼及申請者意欲本發明係什麼之唯一及排他指示項係以公布此申請專利範圍之特定形式從本申請案公布之該組申請專利範圍(包含任何隨後校正)。本文中明確闡述之此申請專利範圍中所含之術語之任何定義應操縱如該申請專利範圍中所使用之此等術語之含義。因此,一請求項中明確敍述之限制、元件、性質、特徵、優點或屬性不應以任何方式限制此請求項之範圍。本說明書及圖式因此視為一繪示之意而不是一限制之意。
100...系統
110...用戶端
120...基本輸入輸出系統
122...注入器模組
130...操作系統
132...自我啟動程式
134...操作系統組件程式
140...硬體設定檔管理器
142...軟體設定檔管理器
144...使用者設定檔管理器
146...定制設定檔管理器
180...伺服器
182...設定檔儲存庫
190...通信鏈路
310...狀態
320...狀態
330...狀態
340...狀態
400...電腦系統
404...處理器
406...主記憶體
408...唯讀記憶體
410...儲存器件
412...顯示器
414...輸入器件
418...通信介面
420...網路鏈路
圖1係根據本發明之一實施例之一種使用一器件之BIOS來安裝軟體之系統之一方塊圖;
圖2係根據本發明之一實施例之執行狀態之一繪示;
圖3係根據本發明之一實施例之一用戶端之操作狀態之一繪示;及
圖4係繪示可實施本發明之一實施例之一電腦系統之一方塊圖。
100...系統
110...用戶端
120...基本輸入輸出系統
122...注入器模組
130...操作系統
132...自我啟動程式
134...操作系統組件程式
140...硬體設定檔管理器
142...軟體設定檔管理器
144...使用者設定檔管理器
146...定制設定檔管理器
180...伺服器
182...設定檔儲存庫
190...通信鏈路

Claims (29)

  1. 一種儲存指令之一或多個序列之機器可讀儲存媒體,該等指令之一或多個序列當執行時促使:於一用戶端之基本輸入/輸出系統(BIOS)內執行之一注入器模組判定是否藉由該用戶端之一操作系統提供之一檔案系統儲存一自我啟動程式;及回應於該注入器模組判定該自我啟動程式不係藉由該檔案系統儲存,該注入器模組安裝該自我啟動程式於該檔案系統上;其中該自我啟動程式經組態以判定一操作系統組件程式是否係藉由該檔案系統儲存,其中該操作系統組件程式係一或多個軟體模組,該一或多個軟體模組經組態以(a)監視該用戶端之一使用者之動作以判定該等動作是否包含對安裝於該用戶端上之一軟體程式之任何合法改變,及(b)按一伺服器之請求,安裝一組之一或多個軟體程式;其中判定該等動作是否包含任何的合法改變是根據該客戶端的使用者是否送出一停用密鑰決定。
  2. 如申請專利範圍第1項之機器可讀儲存媒體,其中對該軟體程式之一合法改變係解除安裝該軟體程式之一請求,該請求伴隨一停用密鑰。
  3. 如申請專利範圍第1項之機器可讀儲存媒體,其中對該軟體程式之一合法改變係改變該軟體程式之一組態設定之一請求,該請求伴隨一停用密鑰。
  4. 如申請專利範圍第1項之機器可讀儲存媒體,其中該注入器模組係已安裝於該用戶端之BIOS中之一插件。
  5. 一種儲存指令之一或多個序列之機器可讀儲存媒體,該等指令之一或多個序列當執行時促使:一操作系統儲存一操作系統組件程式,該操作系統組件程式經組態以(a)監視一用戶端之一使用者之動作以判定該等動作是否包含對安裝於該用戶端上之一軟體程式之任何合法改變,及(b)按一伺服器之請求,安裝一組之一或多個軟體程式、組態改變或多媒體內容;及在該操作系統組件程式判定該使用者已執行對安裝於該用戶端上之一軟體程式之一改變之後,該操作系統組件程式持續儲存識別該改變之一記錄;其中判定該等動作是否包含任何的合法改變是根據該客戶端的使用者是否送出一停用密鑰決定。
  6. 如申請專利範圍第5項之機器可讀儲存媒體,其中該使用者提交該停用密鑰至該操作系統組件程式,使得該操作系統組件程式判定該改變係為合法改變。
  7. 如申請專利範圍第5項之機器可讀儲存媒體,其中該操作系統組件程式將該記錄持續儲存於該用戶端之基本輸入/輸出系統(BIOS)中。
  8. 如申請專利範圍第5項之機器可讀儲存媒體,其中該操作系統組件程式藉由在一通信鏈路上傳達描述該記錄之資料至一伺服器而持續儲存該記錄。
  9. 如申請專利範圍第5項之機器可讀儲存媒體,其中指令之該一或多個序列之執行進一步促使:該操作系統組件程式發送一訊息至一伺服器,請求該伺服器識別該用戶端應安裝之一組軟體程式。
  10. 如申請專利範圍第9項之機器可讀儲存媒體,其中該訊息識別該用戶端而不會識別該用戶端之該使用者。
  11. 如申請專利範圍第9項之機器可讀儲存媒體,其中該訊息識別藉由該用戶端之該使用者對安裝於該用戶端上之軟體程式作出之改變。
  12. 如申請專利範圍第5項之機器可讀儲存媒體,其中該操作系統組件程式經進一步組態以回應於來自該伺服器之一請求而改變安裝於該用戶端上之一軟體程式之一組態設定。
  13. 如申請專利範圍第5項之機器可讀儲存媒體,其中該一或多個軟體程式之至少一者當在該用戶端處執行時更新以下之一組態設定:(a)常駐於該用戶端上之一軟體應用程式,或(b)該用戶端之一硬體組件。
  14. 如申請專利範圍第5項之機器可讀儲存媒體,其中該多媒體內容包括以下之一或多者:視訊、音樂、廣告、遊戲及書籍。
  15. 一種更新一操作系統之方法,該方法包括:於一用戶端之一基本輸入/輸出系統(BIOS)內執行之一注入器模組判定是否藉由該用戶端之一操作系統提供之一檔案系統儲存一自我啟動程式;及 回應於該注入器模組判定該自我啟動程式不係藉由該檔案系統儲存,該注入器模組安裝該自我啟動程式於該檔案系統上;其中該自我啟動程式經組態以判定一操作系統組件程式是否係藉由該檔案系統儲存,其中該操作系統組件程式係一或多個軟體模組,該一或多個軟體模組經組態以(a)監視該用戶端之一使用者之動作以判定該等動作是否包含對安裝於該用戶端上之一軟體程式之任何合法改變,及(b)應一伺服器之請求,安裝一組之一或多個軟體程式;其中判定該等動作是否包含任何的合法改變是根據該客戶端的使用者是否送出一停用密鑰決定。
  16. 如申請專利範圍第15項之方法,其中對該軟體程式之一合法改變係解除安裝該軟體程式之一請求,該請求伴隨一停用密鑰。
  17. 如申請專利範圍第15項之方法,其中對該軟體程式之一合法改變係改變該軟體程式之一組態設定之一請求,該請求伴隨一停用密鑰。
  18. 如申請專利範圍第15項之方法,其中該注入器模組係已安裝於該用戶端之該BIOS中之一插件。
  19. 一種更新一用戶端之方法,該方法包括:一操作系統儲存一操作系統組件程式,該操作系統組件程式經組態以(a)監視該用戶端之一使用者之動作以判定該等動作是否包含對安裝於該用戶端上之一軟體 程式之任何合法改變,及(b)按一伺服器之請求,安裝一組之一或多個軟體程式、組態改變或多媒體內容;及在該操作系統組件程式判定該使用者已執行對安裝於該用戶端上之一軟體程式之一改變之後,該操作系統組件程式持續儲存識別該改變之一記錄;其中判定該等動作是否包含任何的合法改變是根據該客戶端的使用者是否送出一停用密鑰決定。
  20. 如申請專利範圍第19項之方法,其中該操作系統組件程式判定該改變係一合法改變,這是因為該使用者提交一停用密鑰至該操作系統組件程式。
  21. 如申請專利範圍第19項之方法,其中該操作系統組件程式將該記錄持續儲存於該用戶端之一基本輸入/輸出系統(BIOS)中。
  22. 如申請專利範圍第19項之方法,其中該操作系統組件程式藉由在一通信鏈路上傳達描述該記錄之資料至一伺服器而持續儲存該記錄。
  23. 如申請專利範圍第19項之方法,其中指令之該一或多個序列之執行進一步促使:該操作系統組件程式發送一訊息至一伺服器,請求該伺服器識別該用戶端應安裝之一組軟體程式。
  24. 如申請專利範圍第23項之方法,其中該訊息識別該用戶端而不會識別該用戶端之該使用者。
  25. 如申請專利範圍第23項之方法,其中該訊息識別藉由 該用戶端之該使用者對安裝於該用戶端上之軟體程式作出之改變。
  26. 如申請專利範圍第19項之方法,其中該操作系統組件程式經進一步組態以回應於來自該伺服器之一請求而改變安裝於該用戶端上之一軟體程式之一組態設定。
  27. 如申請專利範圍第19項之方法,其中該一或多個軟體程式之至少一者當在該用戶端處執行時更新以下之一組態設定:(a)常駐於該用戶端上之一軟體應用程式,或(b)該用戶端之一硬體組件。
  28. 如申請專利範圍第19項之方法,其中該多媒體內容包括以下之一或多者:視訊、音樂、廣告、遊戲及書籍。
  29. 一種儲存指令之一或多個序列之機器可讀儲存媒體,該等指令之一或多個序列當執行時促使:一操作系統執行於一用戶端上,該操作系統包括一操作系統組件程式,該操作系統組件程式包含一或多個設定檔管理器,其中該一或多個設定檔管理器之各者經組態以獲得關於該用戶端之特性之資訊且隨後將關於該用戶端之該等特性之該資訊傳達至一伺服器,及其中該操作系統組件程式經組態以按該伺服器之請求而安裝一組之一或多個軟體程式、組態改變或多媒體內容於該用戶端上;及在該操作系統組件程式判定該用戶端之一使用者已對該用戶端執行一合法動作之後,該操作系統組件程式持續儲存識別該合法動作之一記錄; 其中該一或多個設定檔管理器之至少一設定檔管理器監視識別藉由該使用者執行之合法動作之記錄;其中判定該等動作是否包含任何的合法改變是根據該客戶端的使用者是否送出一停用密鑰決定。
TW099136813A 2009-10-28 2010-10-27 使用基本輸入輸出系統來安裝軟體之方法 TWI430174B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25575109P 2009-10-28 2009-10-28
US12/827,056 US20110099547A1 (en) 2009-10-28 2010-06-30 Approaches for installing software using bios

Publications (2)

Publication Number Publication Date
TW201145168A TW201145168A (en) 2011-12-16
TWI430174B true TWI430174B (zh) 2014-03-11

Family

ID=43899483

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099136813A TWI430174B (zh) 2009-10-28 2010-10-27 使用基本輸入輸出系統來安裝軟體之方法

Country Status (2)

Country Link
US (1) US20110099547A1 (zh)
TW (1) TWI430174B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
CA2808078C (en) 2010-08-24 2018-10-23 Exxonmobil Upstream Research Company System and method for planning a well path
JP5800685B2 (ja) * 2010-11-26 2015-10-28 キヤノン株式会社 情報処理装置及びサーバ、制御方法、プログラム及び記録媒体
EP2668641B1 (en) 2011-01-26 2020-04-15 Exxonmobil Upstream Research Company Method of reservoir compartment analysis using topological structure in 3d earth model
AU2011360212B2 (en) 2011-02-21 2017-02-02 Exxonmobil Upstream Research Company Reservoir connectivity analysis in a 3D earth model
WO2013006226A1 (en) * 2011-07-01 2013-01-10 Exxonmobil Upstream Research Company Plug-in installer framework
US10067754B2 (en) * 2011-08-11 2018-09-04 International Business Machines Corporation Software service notifications based upon software usage, configuration, and deployment topology
KR20130024667A (ko) * 2011-08-31 2013-03-08 삼성전자주식회사 소프트웨어를 자동으로 설치하는 방법 및 장치
US9275225B2 (en) * 2013-03-15 2016-03-01 Intel Corporation Linear address mapping protection
EP3008281A2 (en) 2013-06-10 2016-04-20 Exxonmobil Upstream Research Company Interactively planning a well site
US9864098B2 (en) 2013-09-30 2018-01-09 Exxonmobil Upstream Research Company Method and system of interactive drill center and well planning evaluation and optimization
US9898311B1 (en) * 2013-12-30 2018-02-20 Amplify Education Holding, Inc. Software installation through bootloader management
US10002007B2 (en) * 2014-05-29 2018-06-19 Ncr Corporation Operating system (OS) independent device drivers
US9410712B2 (en) 2014-10-08 2016-08-09 Google Inc. Data management profile for a fabric network
US9921819B2 (en) * 2014-12-29 2018-03-20 Airwatch Llc Persistent mobile device enrollment
WO2016114799A1 (en) * 2015-01-16 2016-07-21 Hewlett-Packard Development Company, L.P. Communicating a data image for installing an operating system
US9734312B1 (en) * 2015-08-12 2017-08-15 Symantec Corporation Systems and methods for detecting when users are uninstalling applications
WO2018136041A1 (en) * 2017-01-18 2018-07-26 Hewlett-Packard Development Company, L.P. Software package installations with proximity tags
US10740109B2 (en) 2017-03-22 2020-08-11 Vmware, Inc. Configuring a computing device using managed operating system images
US10620965B2 (en) 2017-03-22 2020-04-14 Vmware, Inc. Internet recovery of a windows configuration
US10445106B2 (en) 2017-03-22 2019-10-15 Vmware, Inc. Persistent enrollment of a computing device using a BIOS
US10409619B2 (en) 2017-03-22 2019-09-10 Vmware, Inc. Persistent enrollment of a computing device using vendor autodsicovery
EP3596595B1 (en) * 2017-03-22 2023-05-03 VMware, Inc. Persistent enrollment of a computing device using vendor autodiscovery
US10635819B2 (en) * 2017-03-22 2020-04-28 Vmware, Inc. Persistent enrollment of a computing device based on a temporary user
WO2019005073A1 (en) 2017-06-29 2019-01-03 Hewlett-Packard Development Company, L.P. COMPUTER DEVICE MONITORING VIA AGENT APPLICATIONS

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6457122B1 (en) * 1999-06-18 2002-09-24 Phoenix Technologies Ltd. Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware
US6405309B1 (en) * 1999-06-18 2002-06-11 Phoenix Technologies Ltd. Method and apparatus for creating and deploying smaller Microsoft Windows applications for automatic configuration of a computing device
US6449682B1 (en) * 1999-06-18 2002-09-10 Phoenix Technologies Ltd. System and method for inserting one or more files onto mass storage
US6578142B1 (en) * 1999-06-18 2003-06-10 Phoenix Technologies, Ltd. Method and apparatus for automatically installing and configuring software on a computer
US7320052B2 (en) * 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US8245315B2 (en) * 2008-09-10 2012-08-14 Qualcomm Incorporated Remote diagnosis of unauthorized hardware change

Also Published As

Publication number Publication date
TW201145168A (en) 2011-12-16
US20110099547A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
TWI430174B (zh) 使用基本輸入輸出系統來安裝軟體之方法
US9424431B2 (en) Protecting operating system configuration values using a policy identifying operating system configuration settings
US8510825B2 (en) Secure computing environment to address theft and unauthorized access
AU2010315412B2 (en) Approaches for ensuring data security
US9117092B2 (en) Approaches for a location aware client
US8028172B2 (en) Systems and methods for updating a secure boot process on a computer with a hardware security module
US7506380B2 (en) Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US9858422B2 (en) Securely booting a computer from a user trusted device
JP4850949B2 (ja) シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
US11269655B2 (en) Bare metal device management
TWI720313B (zh) 基本輸入輸出系統活動之本地監督及供應
US9690944B2 (en) System and method updating disk encryption software and performing pre-boot compatibility verification
CN111052117A (zh) 在没有多元化创作的情况下安全地定义操作系统组成
US7409575B2 (en) Recovery of computer systems
JP2011150499A (ja) シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
US11281472B2 (en) System and method for securing compromised information handling systems
Storage Opal Integration Guidelines