TWI336861B - Method and apparatus for virtualization of appliances - Google Patents

Method and apparatus for virtualization of appliances Download PDF

Info

Publication number
TWI336861B
TWI336861B TW096125126A TW96125126A TWI336861B TW I336861 B TWI336861 B TW I336861B TW 096125126 A TW096125126 A TW 096125126A TW 96125126 A TW96125126 A TW 96125126A TW I336861 B TWI336861 B TW I336861B
Authority
TW
Taiwan
Prior art keywords
appliance
application
server
user
virtual
Prior art date
Application number
TW096125126A
Other languages
English (en)
Other versions
TW200818011A (en
Inventor
Benedict T Chong
Mark M Lee
Phillip Sheu
Robert P Ha
Thomas Deng
Victor E Chin
Wenchi Fang
Xun Fang
Yuchung Lu
Original Assignee
Devicevm Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38924040&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TWI336861(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Devicevm Inc filed Critical Devicevm Inc
Publication of TW200818011A publication Critical patent/TW200818011A/zh
Application granted granted Critical
Publication of TWI336861B publication Critical patent/TWI336861B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

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

Description

1336861 九、發明說明: 【發明所屬之技術領域】 本發明是有關於虛擬化。更特別地,本發明是有關 一種用以器具虛擬化的方法及設備。 【先前技術】 在計算領域裡,虛擬化係一廣泛詞彙,這是指電腦 源的抽象化。一適用定義係一用以將計算資源之實體特 隱藏於其他與該等資源進行互動之系統、應用程式或末 使用者的方式之技術。這包含令一單一實體資源,像是 伺服器、一作業系統、一應用程式或儲存裝置,以運作 多個邏輯資源;或者可包含令多個實體資源,像是儲存 置或伺服器,看似一單一邏輯資源。請參見Wikipedia。 然而,此詞彙係一舊有者:自從60年代或更早即已 泛使用,並且既已施用於眾多不同方面及範圍的計算 業,從整台電腦系統至個別功能或元件。所有虛擬化技 的共同主題係透過裹封處理以隱藏技術細節。虛擬化可 生一外部介面,而這可即如藉由多工存取、藉由合併位 不同實體位置處的資源,或是藉由簡化一控制系統,以 藏一底層的實作項目。而新式虛擬化平台及技術的近來 展既已重新聚焦於此一成熟概念。 存在有多種平台虛擬化的方式,可依據如何實作完 一硬體模擬而如後文所列。下列詞彙並非經普遍認可者 於
資 徵 端 如 裝 廣 產 術 產 在 隱 發 成 6 1336861 然確可在文獻中尋得所有底層概念。 遂A:虛擬機器模擬整個硬體,這可讓一全然不同之 CPU的未經修改客訪〇s能夠運行。而在實體地可用之前, 此方式長久以來即運用以產生用於新處理器的軟體。範例 包含 Bochs' PearPC、Virtual PV 的 PowerPC 版本、QEMU, 而無須加迷作業,和Hercules模擬器。可利用各種技術以 實作模擬作業,從狀態機至一完全虛擬化平台上之動態再 編譯應用。
原生虛擬及完整虛擬:虛擬機器模擬足夠的硬趙以讓 一未經修改客訪0S,亦即為相同CPU所設計者,能夠隔 離運行。通常,可同時運行多個實例。這種方式首先是於 1 966年在CP-40及CP[-67]*CMS上開發,而等為IBM之 VM 家族的先驅。範例包含 VirtualBox、Virtual Iron'Virtual PC、VMware Workstation、VMware Server (前稱為 GSX Server)、VMware ESX Server、QEMU、Parallels Desktop、 Adeos、Mac-on-Linux、Win4BSD、Win4Lin Pro 及 z/VM。 部分虛擬化,包含位址空間虛擬化:虛擬機器模擬一 底層硬體環境之多項,尤其是位址空間,的多個實例,然 非所有者。此一環境支援資源共享及處理程序隔離,然並 不准允個別客訪作業系統實例。在本質上,一般雖並不將 此視為虚擬機器範疇,然在歷史上此曾為一重要方式,並 且在像是CTSS之系統,此為實驗性IBM M44/44X,以及 像是0S/VS1、OS/VS2及MVS之系統,中所運用。而許多 新近系統,像是Microsoft Windows和Linux以及下列的 7 1336861 其他領域,亦皆採用此一基本方式》 生處擬t :虛擬機器並不必然地模擬硬體,而是可另 替或另增地提供一特殊API,此者可僅藉由修改該客訪0S 所使用。此一系統對該超管理器的呼叫在Xen、Parallels Workstation及Enomalism裡是稱為一超呼叫;這在IBM 的CMS是在VM下之透過一 DIAG (「診斷j )硬體指令所 實作’此為該「超管理器」之詞彙為起源。範例包含Win4Lin 9x、Sun 的 Logical Domains,以及 z/VM。
姓Jl系ϋ層級虛擬化:在作業系統層級處將一實體伺 服器虛擬化,可讓多個經隔離且確護之虛擬化伺服器能夠 運行於一單—實趙伺服器上。客訪os環境共享與該主置 系統相同的〇 s,亦即利用相同的〇 s核心以實作該等客訪 環境。在一給定客訪環境内運行的應用程式視之如一單立 式系統。範例為 Linux VServer、Virtuozzo (用於 Windows 或 Linux)、OpenVZ、Solaris Containers 以及 FreeBSD Jails. :在一適當的虛擬機器裡,利用本地 資源而按本地方式運行一桌上型電腦或伺服器應用程式。 這是相對於按如傳統的本地軟體方式,亦即軟體既經安裝 於該系統上’以運行應用程式。此一虛擬化應用程式運行 於一小型虛擬環境下,此環境含有為執行所需要的元件, 像是註冊項目/檔案、環境變數、使用者介面構件以及整體 物件。此虛擬環境可作為一在該應用程式與該作業系統之 間的疊層’並且消除應用程式衝突及應用程式_〇S衝突。 知例包含 Sun Java Virtual Machine、Softricity、Thinstall、 1336861
Altiris 以及 Trigence. 而有鑒於對虛擬化的興趣,提供一種 的方法及設備會為有利。 【發明内容】 本發明是有關於一種用以器具虛擬化 在一現有較佳具體實施例裡,係將一嵌入 納入在一個人電腦的系統開機載入ROM 0 S快速地開機載入並且安裝對於網路存 顯示為必要的驅動程式。該開機載入程序: 一即時開動外觀。' 然後該嵌入式0S立即 以擷取一虚擬器具並予執行,或是該者可 或其他儲存媒體擷取一虛擬器具。正常惰 ROM虛擬器具係一電子程式導引(EPG)。 經供置於一機頂盒者,原因在於使用上具 性。當該系統開機載入時,該EPG係一使 一個影像。該EPG可顯示例如來自於下列 虛擬器具:本地 USB、快閃卡,即如 CDROM/DVD -或其他儲存媒體;本地硬 及網際網路,即如一器具伺服器。在本揭 情況下,該使用者自該EPG以選擇一器具 時即載入該器具並予啟動。若該所選定器 地儲存裝置上,則會即如自一器具伺服器 進行下載。經下載的器具可經快取於本地 用於器具虛擬化
的方法及設備。 式作業系統(0S) 之内。該嵌入式 取及潛在的圖形 時〜3秒以具備 地存取該網路, 自該 BIOS ROM 況下,該 BIOS 该EPG係類似於 有簡易性及直觀 用者所見到的第 位置的所有可用 SD 、 xD 、 CF 、 碟儲存裝置;以 之嵌入式0S的 以供使用,而此 具並非位在一本 並透過網際網路 儲存媒體,使得 9 1336861 下一次需要時,即無須自該器具伺服器下載。該使用者亦 可選擇自該硬碟開機載入一作業系統,若既已安裝有一作 業系統及硬碟,或者是將該系統關機。 【實施方式】 術語 下列詞彙在本文中係按如下定義所使用:
BIOS : —個人電腦上的初始開機啟動程式碼 VA:虛擬器具或應用程式 ROM : —個人電腦主機板上的裝置,其中含有該BIOS VoIP : IP上語音 P2P :端對端 EPG:電子程式導引,亦即一圖形使用者介面,此者 顯示出一虛擬器具列表 NTFS :由例如Windows XP所使用的檔案系統格式 MBR:主開機載入記錄,一硬碟機的前處,即如 63 個,區段。該第一區段含有初始開機載入程式碼及一分割 表。 討論 本發明之一具體實施例可供以按一類似於一器具的方 式使用一個人電腦。藉由下載並運行一虛擬器具,可提供 該個人電腦一器具狀功能與介面。此者可成為一具有一便 捷且易於使用之使用者介面的專屬功能裝置。此一本發明 10 1336861 具體實施例對一個人電腦提供一器具組態,而能夠進行例 如下列項目: - 下載一電視器具以播放串流視訊、電影及TV内 容; - 下載一音訊播放器器具以播放串流音訊内容; - 下載一 CD/VCD/DVD播放器器具以播放本地音 訊/視訊内容;以及
- 下載運用於下列應用程式的廣泛各種個人計算器 具: - VOIP,即如Skype等等 - 網頁瀏覽 - 一般辦公室工作,即如文書處理、試算表 - 一般生產工作,即如行事曆、工作記錄 - 電子通訊,即如即時傳訊、電子郵件等等 - 一般個人電腦維護工作,即如B10 S更新、診 斷、系統備份及復原 - 複雜電腦服務,即如遠端複雜診斷、連接至 一支援中心,以及系統之技術支援控制 - 一般產品支援工作,即如更新、除錯 - 電子娛樂,即如線上遊戲 - 全展式0S,像是Windows,而經裹裝於一虛 擬化分層内,因此該0S可按與DVM嵌入式0S 平行的方式運行 - 當主os在背景下開機載入時,可供使用瞬時 11 1336861 啟動環境 ' —旦經完全開機載入並且使用者切換至主os 之後,主OS即能專屬地存取至硬體 & A ’此一本發明具體實施例提供一種對於數位家庭 ’、 而σ真正的媒體、娛樂及生產力中心。因此,任何即如在 , 該開機栽入R〇μ裡經預載有本揭之發明技術的個人電腦 都能夠運作如—器具,無論是否安裝有硬碟或作業系統皆 然。 實作/安裝
可將—電子程式導引(EPG)納入在系統開機載入ROM 之内°該E P G係類似於經供置於一機頂盒之内者,原因在 於*這對蚀 B0 k J 1之用者而言具有簡易性及直觀性。在一具體實施 例’該EPG包含一切換機制,像是一塢站面板、應用程式 啟動棒 '捲轉棒、軟式點鍵或實體按鍵,此者讓使用者能 勺建立出對於EPG的單按式個人設定(personality)。 Φ 當系統開機載入或者在一倒數逾時並且其他使用者選 擇瞬時啟動之前,即啟動該嵌入式0S。此者自例如下列位 置尋找所有的可用虛擬器具並在該EPG中加以顯示: • 本地USB、快閃卡,即如SD、xD、CF、CDROM/ DVD,或其他儲存媒體 ^ · 本地硬碟儲存裝置 - 網際網路,即如一器具伺服器 在—典型機頂盒内的〇s裡,使用者選擇τν或電影内 12 1336861 容以進行播放。在本文的EPG情況下,使用者選擇一欲使 用之器具,而此刻即載入且啟動該器具。若所選定器具並 不在一本地儲存裝置上,則將即如透過網際網路自一器具 伺服器下載。所下載之器具可經快取於本地儲存媒體内, ,、 使得下一次需要時,即無須自該器具伺服器下載。該使用 者亦可選擇自該硬碟開機載入一作業系統,若既已安裝有 ·) 一作業系統及硬碟,或者是將該系統關機。 ® 何為「器具」? 一器具,或虛擬器具,係一自含式(self-contained)二 進位套件(package),此者包含所有為執行一特定工作所必 要的項目。例如,一 VoIP器具包含所有讓一使用者連接至 網際網路,然後與另一方交談所需要的軟體。此器具可包 含一作業系統、網路堆疊、裝置驅動程式、使用者介面及 一 VoIP應用程式。
硬體相關性 此項討論係針對於支援不同硬體平台的需要。目前可 有兩種解決方案,而該等並不具互斥性。 第一種解決方案是將必要的裝置驅動程式儲存在該開 機載入ROM裡。例如,多數的典型主機板含有視訊、音 訊及網路裝置。用於這些裝置的裝置驅動程式可經儲存在 該開機載入ROM裡。當啟動一器具並且其底層作業系統 需要裝置驅動程式時,此者即可自該開機載入ROM載入 13 1336861 這些驅動程式》 第二種解決方案是在一虛擬機器内運行該器具。所有 的虛擬機器具有正好相同的虛擬硬體,並因此所有器具皆 經開發為使用相同的虛擬硬體。然而,該超管理器,亦即 該虚擬機器作業系統,仍需要與實際的硬體交談。在此情 況下’該超管理器可回復至前述之第一解決方案,其中是 自該開機載入ROM載入裝置驅動程式。 個人化體驗 該EPG可包含個人化器(personalizer)。這可讓使用 者能夠選擇其偏好器具’或另改善對於常用器具的存取簡 便性。例如,最常用的器具出現在第一螢幕上,或是在一 可用器具列表的頂端處。這可避免不必要的使用者巡覽以 啟動這些器具。該個人化器亦可對使用者按整合方式建議 器具。這類似於提議類似書籍或產品的Amazon.com系統。 為將器具個人化’會將紐態資料發送至DVM伺服器。 該祠服器利用該項資訊以僅選擇與該使用者之系統相容的 VA。另外,該伺服器利用此項資訊以將VA最佳化,或者 在診斷作業的情況下’設定正確的組態。 在一具體實施例裡’亦對於該個人電腦的多個使用者 提供複數種個人設疋。這可藉由在軟體容器内運行以提供 更佳的隔離結果,而該軟體容器係自底層平台所抽象化。 這些容器具有降低病毒/郵件濫發交叉污染,在各種應用程 式、驅動程式& os版本中於dll與其他程式庫間之衝突 14 1336861
的效果。個人設定之安裝及卸載作業係經設計為更加 (減少檔案拷貝/刪除操作)。 可藉由讓每當消費者存取至一 pc時獲用相同的 以進一步強化使用該個人設定的使用者體驗。藉虛擬 術在容器裡提供個人設定可有助於將容器放置在像是 驅動程式之行動裝置上,然後在任何具有一 USB連接 適當的虛擬化支援之PC上打開該容器。例如,該系 含有一個人設定,主要是用以自線上下載媒體内容, 透過各式介面對該使用者重播該等媒體内容。該媒體 可具有國家或文化特定性。 另一具體實施例提供有保留插槽及資源以供替換 設定。此具體實施例自動地編譯使用者基本資料及使 興趣。而依據該使用者的個人設定選擇,可建立一基 料而可施用於向消費者推薦其他的加值服務,即如額 人設定、内容、產品等等。該系統可自動地搜尋、上 訊,並且根據一使用者基本資料及用途而提議相關的 設定。對消費者的折扣;對OEM的補助;由内容、 或軟體供應商基於使用情況,即如依據量值,對一應 式供應商服務所支付的收益,亦可經併入在此系統内 另一具體實施例為含有基本資料式組態、個人設 個人設定套件,亦即經預組態設定的套件。在此具體 例裡,對於某一基本資料之所推薦客訂化作業可為簡 在一瀏覽器内、一個人設定,即如一應用程式集合、 一個人設定群組内之偏好集合的組態設定。使用者基 俐落 體驗 化技 USB 埠與 統可 並且 内容 個人 用者 本資 外個 載資 個人 服務 用程 〇 定及 實施 單如 或是 本資 15 1336861 料可為基於來自其他線上公司/社群的人口統計數據、興趣 或資料’例如像是: 人口統計數據:年齡、性別、種族背景、職業, 即如學生、家庭主婦等等
興趣基礎:使用者特定或是連結於其他興趣基礎 連結於 Netflix、Google、A9、Amazon、Yah00、 MSN ' mySpace、del.icio.us、RSS/部落格訂閱 個人設定群組或單一個人設定 基於使用者基本資料、資料或行為以提供購物個 人設定。若一使用者選擇一個人設定束集,此者 含有一購物個人設定,則可依據基本資料將該購 物個人設定進一步客訂化’藉以對該顧客增加價 值,即如鏈結至 Pottery Bam/Crate & Barrell 而 不是 Home Depot/Lowe’s 亦提供有多項工具以運用於使用者偏好、組態、底圖 及愛好,即如依照基本資料而予預組態設定且個人化。對 於不同基本資料的個人設定可具有相同的應用程式集合’ 然具有即如對於愛好 '底圖、使用者偏好及組態的不同設 定。其一範例即為瀏覽器個人設定,此者對於一青少年, 纣於一大學學生’的背景資料’具有連接至不同網站的 la,餘設定鏈結°工具可有助於建立設定值樓案’並且將 ^設定值佈署至個人設定。 路明亦考量到一驅動程式及週邊裝置整合工具包。 本贫 a棚人設定束集於一週邊裝置,即如—經束集有一 16 1336861
VoIP個人設定的藍芽頭戴式耳機。該驅動程式及週邊裝置 整合工具包提供必要工具以供一週邊裝置及一裝置驅動程 式能夠在一虛擬機器内適當地且最佳地運作。該等工具可 服務一虛擬機器以在複數個虛擬機器之間適當地加以協 調,即如令搖桿僅可由一遊戲個人設定獲用,然對一生產 力個人設定則否。
多層EPG
在一極度微少之BIOS ROM容量的情況下,並不會將 一 EPG納入在嵌入式0S内。或者,若儲存空間不是問題, 則可運用一單一完整EPG。 一般說來,該開機載入ROM具有極微少的容量。因 此,可採用多階段EPG。若該系統離線,則初始EPG可介 接並顯示經儲存在該系統上的所有可用VA »否則,對於一 線上系統,在啟動該初始EPG之後,該嵌入式OS即擷取 一具有更多選項及較佳圖形的第二層EPG。 為藉一多層EPG以建立一更佳地瞬時啟動外觀,一旦 該初始EPG上線並且既已接觸到該器具伺服器之後,該者 可下載更完整的EPG。然而,在此一程序過程中該EPG的 外觀與感受可能並不會無法改變。因此,該使用者並不會 注意到既已將該EPG升級。 虛擬器具下載 簡介 17 1336861
該 EPG對該使用者呈現出一份可用虛 表。該使用者選擇一虛擬器具以供使用。若; 預快取於即如硬碟機或 USB快閃裝置的 内,則將此者載入至記憶體内並予執行。否 具伺服器(DAS)下載該VA。 最佳化 一種縮短開機啟動時間的方式是將虛擬 程式分割成多個可按片段方式載入的區塊。 機載入必要區塊,而非整個虛擬機器及應用; 亦可對於特定的個人設定要求運用驅動 業。例如,一具體實施例考量到驅動程式重 如對於現有驅動程式的袠裝器。特定個人設 可透過標準虛擬化I/O裝置而獲用者而要求 通量。其一範例為遊戲個人設定,這需要較 往返I/O產通量。該遊戲個人設定可利用一 程式,而非泛用虛擬圖形驅動程式,以供直 存取至該I/O子系統及圖形晶片。 另一最佳化作業則可藉由共享核心程式 人設定的碟片空間要求。例如,利用相同客 設定可僅含有共同客訪0S以外的額外應用 式。可按唯讀方式儲存僅單一份客訪0S拷 個個人設定共享。 亦可運用經最佳化之0 S影像,即如並無 擬器具(VA)列 L既已將該VA t地儲存裝置 則,即自一器 機器及其應用 最初僅自硬碟 昆式碼。 程式最佳化作 新使用性,即 定可能會比起 更高的I/O產 两的圖形晶片 特殊圖形驅動 接地或優先地 碼以減少各個 訪0S的個人 程式及驅動程 貝,並且由多 記憶體管理、 18
1336861 單一工作、無POST等等。 此具體實施例是將一客訪0 S剝分,以僅含有對 個人設定之應用程式運作所必需的服務。這可使得該 設定較微小並且較快速。一個人設定開發工具包可含 助個人設定開發者產生或剝分一 0 S的工具。 網路最佳化 本發明人所面臨的另一項挑戰係為下載一虛擬器 需要的時間。顯然地,使用者期望能夠立即地使用一 下載時間係依據網路速度及該VA的大小所決定。下 討論係針對於各種下載情境及最佳化作業。現有各種 實施例至針對於網路最佳化: 第一種方式是該 DVM 器具伺服器(DAS)為本地 如,若該使用者位於台灣而該DAS為在美國,則下載 為缓慢。因此,總是會將該EPG重新導引至一位於本 該國之内的伺服器。該EPG存取該主DAS,而該者又 看其上運行該EPG之個人電腦的IP位址,然後決定 國家或地區。可在各個本地伺服器上支援所有的語言 此,該伺服器可利用使用者/登入資訊以顯示出所欲語 而無論一使用者所獲重新導引至之本地伺服器如何皆 接著,將一含有該國内或本地伺服器之IP位址的重新 封包發送至該EPG,此者再利用經包含在該重新導引 之内的-資訊以連接至該本地伺服器。 第二種方式是透過一台以上的伺服器下載該VA。 於該 個人 有協 具所 VA。 列的 具體 。例 將極 地或 會查 起源 。如 言, 然。 導引 封包 19 1336861 另一種方式則是利用端對端(P 2 P)下載處理。這假定所 下載之VA係經快取至本地,即如位在一硬碟機或U S B快 閃裝置上。一常用VA係經快取至多台個人電腦上。因此, 當在一給定個人電腦上的EPG需要一常用VA時,該者可 自所有既已具有一該VA之經快取拷貝的個人電腦處獲得 該VA。而藉由從不同個人電腦處共時地攫取該VA的不同 部分,該E P G即可縮短下載時間。該E P G亦可藉由查核 至該個人電腦之跳躍數目等等,以按智慧方式選擇應自其 下載的個人電腦。 此外,該初始EPG螢幕雖等待來自該使用者的輸入, 然該嵌入式0S會將VA預先取得並預先下載至RAM内。 因此,在該使用者作出選擇之後,該資料應已位在 RAM 内並可瞬時啟動。 虛擬器具下載 共時性 在多數的基本情境裡是會下載VA。然後再予以解壓且 執行。 一種最佳化方式是牽涉到藉由在當下載該VA時,執 行解壓及執行的操作以改善共時性。為此,可採用一種對 於串流傳送媒體所最佳化的壓縮演算法。在最頂層級處, 該VA被串流傳送至該個人電腦。該串流是由經壓縮團塊 所組成。各個團塊可按獨立於其他團塊之方式所解壓。這 種方式可良好運作於先前討論的P2P方式,因為各個團塊 20 1336861 可來自不同的端處個人電腦。
確認該VA係經高度模組化,使得能夠獨立於 下載、解壓並執行/初始化各個模組,藉此進一 時性方式。例如,若一 VA是由—作“統加 式所組成,則該作業系統(0S)可為一模組並 式可為其他模組。一種智慧型下载機制可確定 解壓並執行該0S模組。可同時地下載並解壓 模組,然稍後再予執行。一較複雜範例牵涉到 器VA,這包含一作業系統、GUI、一基本HTML 、一 JavaScript 引擎、一 Macr〇mediaFiash 播 i 構件各者可組成__個別模組。為改善
模組化 可藉由 其他模組以 步強化該共 上一應用程 且該應用程 會先下載、 該應用程式 一網頁瀏覽 網頁瀏覽器 放器加上字 使用者體驗 權》按此方 及使用者介 完全不下載 OS GUI及基本割覽器具有争交高的下載優先 式該使用者可極為快速地看到該網頁瀏覽器 面其他模組則按一較低優先權而下載,或者 即如:¾該使用者從未前往一要求Macr〇niedia FUsh的網站。字型可位在僅當需要時方予下載的另外模 組内’即如若該使用者僅需要簡體中文字型,則不會下載 正體中文字型。
Linux最佳化 本節討論若在一 VA之内的〇s係以Linux為基礎的最 佳化課題。 21 1336861
Linux模組化
一基本的Linux式下載作業包含一核心標案及 R 碟片影像’像是initrd或initramfs。應用程式則疋包5在 該RAM碟片影像内。將整個應用程式放置在該initrd之内 的一項問題是在於稍後此者會變得非常龐大,亦即達數十 個百萬位元組(Megabyte)的數階。藉一模組化方式’該 initrd檔案可僅含有一基本RAM碟片檔案系統,而具一些 開機啟動文稿檔及公用程式,然僅為如此。應用程式及任 何其他的必要檔案,即如X-Windows、C程式庫、公用程 式、字型等等,則按如分別模組而下載。按此方式,核心 及initrd檔案兩者可為微小,即如各者不到2 MB,並因此 可較快速地下載。 下載及執行處理程序最好是按下列的優先次序進行: - Linux核心及基底initrd - 將GUI下載至該RAM碟片檔案系統内 - 將基底應用程式下載至該RAM碟片檔案系統内
第1圖係一流程圖,此圖顯示一根據本發明之下載及 執行處理流程。在步驟1 (1 〇 〇 ),啟動一下載核心1 0及一 下載initrd 1 1 »在步驟2 (102),啟動開機載入Linuxl2。 熟諳本項技藝之人士將能瞭解本發明在此適用於除Linux 以外的作業系統。在步驟3 (104),啟動下載GUI 13、下 載程式庫14及下載基底應用程式檔案15。而在步驟4 (106),該等下載基底應用程式檔案繼續為待予啟動,而該 GUI 13為經啟動。最後’當應用程式17啟動並且先行應 22 1336861
用程式檔案18既經下載時’即在步驟5 (108)完 處理程序。
Linux下载管理器 —智慧型Linux下載管理器需實作出前文所 權下載及執行機制。對此之一項理由是該EPG僅 及initrd檔案。一旦UnuX已開始啟動之後,就 載其餘的模組。下載管理器亦必須能夠: • 恢復先前中斷的下載 * 在本地储存裝置裡尋找模組,即如經1 .組’並且將該等自本地儲存裝置直接地 進行下載 ' 在本地儲存裝置裸管理經下載之模組, 會期簡易地加以識別及擷取 模組重新传用 模組化及分離化各式應用程式模組的一項優 對不同VA重新使用相同楳組的能力《例如,一 器VA需要該作業系統核心及GUI。一 Vo IP虛擬 要一作業系統核心及GUI。該網頁瀏覽器VA及該 兩者可共享部分的相同模組。若該使用者既已使 瀏覽器VA ’則既已下載過作業系統核心、initrd 因此,若該使用者接著選擇使用一 VoIP VA,則 VoIP應用程式。這可縮短開機啟動時間,並因此 者體驗。 成該init 述的優先 下載核心 必須要下 决取之模 載入而非 以供稍後 點在於可 網頁瀏覽 器具亦需 VoIP VA 用一網頁 及 GUI。 僅需下載 改善使用 23 1336861
Linux裝置驅動程式
Linux核心可含有一基本的裝置驅動程式集合。不 過,用於特定於主機板之硬體的驅動程式則必須與核心分 離。這是為避免兩項問題: - 對每一需予支援之主機板具備一核心的需求 - 含有對於每一需予支援之主機板的驅動程式之龐 大核心
該核心可自兩項來源獲得驅動程式。第一,可藉由嵌 入式0S下載驅動程式。第二,可將驅動程式納入在該開 機載入ROM之内。至少,必須由該嵌入式0S下載網路裝 置驅動程式。而其他的驅動程式,即如特殊硬碟機控制器、 音訊等等,則可由作業系統透過該下載管理器下載。一旦 下載過驅動程式之後,該Linux開機載入文稿檔即利用命 令,像是insmod,以將驅動程式載入到該核心内。然而, 由於是由嵌入式0S將驅動程式載入至一另外的空間裡, 即如RAM碟片,因此在該insmod命令可工作之前,必須 先執行部分的額外步驟,即如架置該RAM碟片。而這會 減緩該開機載入序列。然接著當Linux既已成功地載入且 啟動該應用程式之後,一背景處理程序即可將該initrd重 新裝封,並且將裝置驅動程式包含在該initrd檔案之内。 此經重新裝封之initrd係按本地方式儲存在該快取裡。而 當下一次該使用者選擇一 Linux式VA時,即可利用該經 重新裝封的initrd。此initrd仍可獲致較快速的開機載入 時間,這是因為裝置驅動程式既已位在該檔案系統内。亦 24 1336861 可能重新建構該Linux核心以納入新的裝置驅動程式。 快取 在本發明之快取處理裡具有多項特點。一第一特點是 使用者想要使用之檔案' 模組及VA的快取。一第二特點 使用者或會有意使用之VA的預取得及預快取。例如,若 需實作下列特性: - 所推薦之VA :根據使用者到目前為止所下載以供
使用者以推薦VA。 - 所建議之VA :根據其他類似使用者已下載者以建 議VA。 - 所贊助之VA。 藉由預取得至RAM内以及將VA預快取至本地儲存裝 置内,即可保證一較佳的使用者體驗。可由嵌入式0S或 在該VA内完成預取得及預快取處理。
若假定存在有一用於下載模組的快取,則會有必要決 定該快取位在何處。在目前的較佳具體實施例裡,該快取 可位在: - 硬碟機上的一特殊分割裡 - 檔案系統上之一檔案裡,即如NTFS上的檔案 - 一 USB快閃裝置上 - 一個人電腦主機板上之其他快閃儲存裝置裡 25 1336861 - 硬碟MBR,即如用於驅動程式檔案者 若欲將該快取放置在硬碟之一分割上,則會需要自動 地且無憂地建立起此分割。此即為該EPG最好是含有一組 態設定器(configurator)功能的原因。例如,當該EPG首次 開機啟動並且偵測到運用所有的附接硬碟機時,亦即未經 分割及/或未經格式化,則此者將詢問使用者是否應在該硬 碟機上建立一快取分割。若該使用者回覆為肯定,則該E P G 在該第一硬碟機上建立一微小分割。
更新/維護/安全 本發明考量到更新、維護及安全特性,例如: - 自動更新内容,即如刷新前1 〇 0項列表等等:媒 體相關之個人設定可含有可獲益於常規性更新的 内容。例如,一電子伴唱個人設定可每週下載新 的歌曲及MTV。一電影個人設定可自 Netflix下 載符合消費者興趣的新電影。 - 自動個人設定更新,即如補丁等等:個人設定可 在其一般說來發佈之後進行特性改良或錯誤修 正。該服務VM可自動地更新在消費者之PC上 的現有個人設定,而同時保持所有的消費者資料 及設定不動。 - 用於内容及個人設定的 P2P/BitTorrent :對於將 大型内容及補丁下載至消費者PC來說,此具體 實施例可充分發揮P2P/BitTorrent以改善下載速 26 1336861 度並且降低伺服器基礎建設要求。内容及更新可 片段地來自於其他的使用者。更新器可常駐於一 個別的虛擬機器内,因而不致影響到該個人設定。 用於新近及/或替換個人設定的P2P/BitT〇rrent : 即如前述’然係用於下載新近或替換個人設定。 或可設有不同的前端以區分維護及新進特性》
中央下載管理器,即如用於媒體、新個人設定、 安全更新等等的BitTorrent等等:用以將大型内 容及補丁下載至消費者的PC處,可充分發揮p2p/ BitTorrent以改善下載速度,並且降低伺服器基 礎建設要求。内容及更新可片段地來自於其他的 使用者。一更新器可常駐於一個別的虛擬機器 内,因而不致影響到該個人設定。 中央病毒掃描及復原:提供一開放原始碼解決方 案’或是由例如Symantec/McAfee所提供的解決 方案。
在一具體實施例裡,一服務虛擬機器可提供基於 開放原始碼而運用於防毒、間諜軟體、防火牆等 等的内定安全模組。使用者可擁有升級至由例如
Symantec、McAfee、Trend Micro 等等所提供之 啟動式商業解決方案的選項。 系统記憶髋使用模型 一具體實施例是盡可能有效率地運用系統非揮發性記 27 1336861 憶體,以透過瞬時啟動體驗來改善使用者體驗。第2圖係 一區塊略圖,此圖顯示一根據本發明,用以儲存並快取資 料/應用轉式片段的模型。在第2圖裡,一 BIOS快閃ROM 20,一 CMOS區域19,含有一「延伸系統組態資料(ES CD)」 21、一開機載入器23及該BIOS 25;内建儲存裝置22含 有一或更多虛擬器具27、内容28及驅動程式與常用的虛 擬器具元件29;可移除儲存裝置24含有一或更多虛擬器 具27和内容28 ;並且線上儲存裝置26含有像是使用者歷 史、cookies與基本資料的資訊30。 DVM後端 第3圖係一區塊略圖,此圖顯示一根據本發明的系統 伺服器後端。在第3圖裡,一位在一個人電腦3 1處的使用 者尋求存取至該器具伺服器33。本發明所提供之供以瞬時 啟動體驗的一項特點會需要正確的後端模型,藉以支援必 要的帶寬及速度。一項具體實施例是令所有具備DVM功 能之系族首先皆初始地存取一單一伺服器簇集。此伺服器 基本上是一重新導引伺服器3 2,此者處置驗誼及防釣魚安 全協定。在此之後,該重新導引伺服器將該DVM使用者 重新導引至一本地伺服器簇集3 8,以減少通過不同地理跳 躍的延遲。此外,不以一本地簇集,該重新導引伺服器可 重新導引至一夥伴伺服器 37,藉以供應夥伴特定應用程 式。 在該本地/夥伴伺服器簇集處有必要進行驗證作業。另 28 1336861 些 系 用 案 的 主 主 可 是 程 始 版 的 程 製 供 一具體實施例提供一自該重新導引伺服器傳通驗證資訊 或是僅由該本地/夥伴伺服器處置該驗證作業的方法。這 伺服器係經設定以支援高帶寬交易。其主要工作為處置 統資訊上載、EPG應用程式下載、VA應用程式下載、使 者登入以及斷接。 各個本地/夥伴伺服器簇集3 7、3 8、3 9含有一些檔 伺服器3 5及内容伺服器3 6。該等檔案伺服器含有全部 VA,而該等内容伺服器含有用以更新BIOS、具BIOS及 機板特定性之手冊等等的支援資料。此内容可為一來自 機板OEM之經重新格式化版本的OEM支援資料,或者 為實際的 OEM伺服器。這是依據支援模型而定,亦即 將規格文件提供予該等OEM,使得該等能夠撰寫其應用 式以符合這些規格,或者是需要向該等供應某數量的原 碼以供進行作業。一具體實施例是維持一經重新格式化 本的OEM伺服器,藉以在跨於所有的OEM上提供標準 使用者體驗。另一選項為令該支援模型即為一 VA應用 式。 該使用者及硬體(H/W)資料庫更為集中,而這與複 檔案伺服器及内容伺服器相反。其原因在於為獲更佳的 致性與安全性。該使用者資料庫的目的係為儲存資訊以 更佳的使用者體驗。該資料庫含有像是偏好/最愛的資訊 即如最近使用過的VA等等、頁面組態、所欲語言等等。 開機載入器 29 1336861 一具有一 VM開機載入器的個人電腦包含末端使用者 的個人電腦3 1。一第二個人電腦3 3則作為一 D V Μ伺服 器。第4圖係一區塊略圖,此圖說一根據本發明之較佳系 統架構,其中是透過一乙太網路連接42進行網路通訊。熟 諳本項技藝之人士將能瞭解本發明亦涵蓋其他通訊架構。
該開機載入器係自一 ROM/快閃碟片所開機載入。一 網路堆疊係經納入,並且最好是支援D H C P。提供有一簡 單的電子程式指南應用程式,以顯示出一份可用以供下載 之VM應用程式的列表。在本具體實施例中該應用程式列 表為固定。 該EPG應用程式可提供使用者多項選擇: - 選擇運行VM應用程式之其一者
- 開機載入至硬碟機上的内定0S
- 系統關閉,假設在硬體裡可支援APM/ACPI 當該使用者選擇DVM應用程式之其一者時,該EPG 即下載該應用程式並予執行。 VM應用程式 BUDS升級公用程式 該系統下載該BIOS二進位程式碼及升級公用程式, 並將其等寫入至一模擬軟碟。然後系統運行該升級公用程 式。 診斷公用程式 該系統將診斷公用程式至一模擬軟碟或模擬硬碟機。 30 1336861 以快閃9開機載入Linux 此具雜實施例利用一 linux開機載入器以啟動
Linux 〇 VM執行環境 簡介 本發明之此一特點可建立一可 %境可供在一個人電腦下載及執行廣 R〇M化執行環境,此 泛各種應用程式。
網路傳送速度足夠地快速,目而可自—錢器快 速地下载應用程式以供本地執行。 當下載應用程式時,會有足夠的RAM以配入該 等應用程式。 °在Ram内運行應用程式而無須自碟片進行分 頁切換。 vm軟體堆叠 « 第5圖係一區塊略圖,圖中顯示一根據本發明位在一 使用者之電腦31虎的VM赴*. 堤的VM軟體堆疊。在第5圖裡,該軟體 堆疊包含-經維持在BI〇s快閃記憶體2〇内之局部以及
一經下載之局部5〇。該堆疊包含非VM應用程式51及VM 、應用程式52兩者。傳統的個人電腦bi〇s 25及bi〇s開機 , 載入器2 3 b則維持未變: 按照内定,該BIOS載入器23b自該硬碟機22載 入並執行該「主開機載入範圍(MBR)」。 31 1336861 " 若出現有一 HPA (隱藏分割區域)並由該BIOS所 支援’則該BIOS可執行該ΗΡΑ内容。 一用以將控制權交遞給該DVM開機載入器的第二選 項係將該ΡΧΕ協定併入到該VM開機載入器内,並且將該 標準NIC選項ROM (此者含有ρΧΕ協定)替換以DVM選項 ROM。這可降低Bi〇s客訂化及所需要之整體空間的 量值。 一熱鍵、計時器或其他機制可讓該Bi〇s開機載入器 能夠啟動該VM開機載入器23a。該VM開機載入器23a 透過乙太網路42而連接至一VM應用程式伺服器33以下 載一 EPG 53。該ΕΡσ係—使用者最先遭遇到的第一個圖 形使用者介面(GUI)。該GUI顯示在該系統本地或是在網 際網路遠端處可用之應用程式的選擇。該FpG實際上僅為 另一種類型的VM應用程式。在一具體實施例裡,該epg 係於快閃BI 〇 S内而位在本地,即相對於一經下載之VA。 然而,對於潛在的大小限制及可擴充性,該EPG可另為由 兩個層級的E P G所組成。基本e p G係經儲存在該快閃BI 〇 s 内’強化版本則是如與其他VA而經下載〇雖有一強化版 本然就以外觀及體驗而言對於使用者則是透明未見。該 使用者在初始螢幕或是經隱藏於較低層級選單上可有更多 選項該等基本或強化EPG的顯示畫面對使用者來說為透 月未見’並係依據網路連接性而更新。 在叫用該EPG之後,接著對末端使用者呈現以一町用 之應用程式的列表。應用程式可例如包含下列項目: 32 1336861 非虛擬機器應用程式,該等可自該VM應用程式 伺服器33下載。 虛擬機器應用程式,該等可自該VM應用程式伺 服器33下載。這些會要求下載一超管理器54或 VM播放器。 DVM應用程式常駐於一 USB快閃裝置24或一硬 碟ΗΡΑ 22上。
VM開機載入器 模組
第6圖係一區塊略圖,圖中顯示一根據本發明之VM 開機載入器2 3 a及相關模組。該V Μ開機載入器常駐於一 使用者之個人電腦3 1内,該者在本具體實施例裡係透過該 使用者的區域網路63而通訊連接於一 DHCP伺服器62或 一閘道器61。該使用者之個人電腦包含一 GUI 13、檔案 系統85、USB驅動程式86及NIC遞送器87。一網際網路 連接42將該使用者連接至該DVM伺服器33。在本具體實 施例裡,該V Μ開機載入器包含下列模組: 應用程式列舉器64:尋找一 USB插鎖裡或該VM伺服 器上的可用 VM應用程式。此者係一較基本版本的 EPG,藉以配入一微小空間。完整版本的EPG亦可充 分運用此一模組。 應用程式啟動器6 5 :執行既經載入至記憶體内的應用 程式。如何進行則是依照該應用程式之執行環境要求 33 1336861 而定。 下載器 6 6 :將應用程式自該 V Μ伺服器下載至記憶 體。而該應用程式在記憶體内如何開展則是依照其執 行環境要求而定。該下載器亦可即如透過M D 5等等以 檢查所下載之酬載的整體性。 驗證67 :對該VM伺服器進行驗證作業。 網路組態GUI 68:提供一使用者介面,因此該末端使 用者可組態設定該V Μ開機載入器以存取網際網路。 網路組態載入器6 9 :載入網路組態。 軟碟模擬器74:模擬一自軟碟開機載入的處理。該軟 碟影像位在延伸記憶體内。該模擬是藉由勾連ΙΝΤ 1 4h 及/或INT13h所完成。此元件係一軟碟1.44M在延伸 記憶體之内的影像,而需要為其開發出協定與握手處 理,藉此供以自該記憶體區段開機載入而即如一軟碟 般。 系統組態備份及復原7 5 :在運行任何項目之前先儲存 該系統組態,並且在此之後復原蹿系統組態。這些主 要是系統、中斷向量等等。這是在該VM開機載入器 運行之前及之後、一應用程式運行之前及之後等等加 以運用。在其他具體實施例裡,該系統組態運行一復 原功能,然後執行該應用程式載入器》 裝置驅動程式管理器76:此為存放特定於硬體平台的 Linux裝置驅動程式之處。若該應用程式具有一 Linux OS,則該者可自此擷取裝置驅動程式並載入至核心。 34
1336861 使用者登入管理器77:可讓使用者能夠登入VM 器。然後該者可供使用以伺服器為基礎的永久儲 能。 GUI程式庫:提供標準的外觀及體驗。 具DHCP 78的網路/TCP/IP堆疊。 CPU模式切換器79:將x86 CPU從真實切換至保 式並且返回。 0 S開機載入器8 1 :自硬碟機開機載入該主0 S。 系統資訊管理器8 2 :即如自S Μ B10 S 8 3取得系 訊,並且傳送至該VM伺服器。 記憶體資源管理器84 :管理記憶體資源,即如延 憶體,以供下載應用程式並予佈置在適當位置處 多數的前揭模組可由應用程式重新使用。例如,該 利用該下載器以下載一選定應用程式。然後該者再利 應用程式載入器以啟動所下載的應用程式。 一較佳具體實施例的功能性 該嵌入式0 S之一較佳具體實施例具備下列功能 網路 - NIC驅動程式可用性 - NIC驅動程式的簡易開發性 - 具DHCP的TCP/IP堆疊 - 代理器支援
HDD 伺服 存功 護模 統資 伸記 〇 EPG 用該 35 1336861 - NTFS讀/寫 - 用於USB快閃碟機之USB驅動程式,或是 - 對USB快閃碟機的INT13h存取 - 存取至該u S B快閃碟機上的檔案系統 o FAT 16 o FAT32 - ΗΡΑ存取 〇 FAT32
- 文字 - 圖形 - 加速化 音訊 - 非必要 輸入 - 滑鼠
記憶體存取 - 對於所下載之應用程式可存取超過1ΜΒ 伺服器介面功能 - 數位簽章 - 對伺服器進行驗證 預開機載入及後開機載入程式碼插入 - 以備份中斷向量 36 1336861 以復原中斷向量 VM應用程式 該VM應用程式係一完全自含式的二進位程式碼 酬載,此者係: - 自該V Μ應用程式伺服器所下載 - 自一 U S Β快閃碟機所載入 - 自一硬碟ΗΡΑ所載入
所謂「完全自含式」的意思是該應用程式含有其本身 的執行環境。例如,一網頁瀏覽器應用程式含有一作業系 統、該網業瀏覽器應用程式以及任何其他支援檔案或公用 程式。 應用程式類型 可根據下列項目將應用程式加以分類: - 該等是否為VM應用程式
- 執行環境類型 這些分類並不具互斥性。 VM應用程式 虛擬機器應用程式要求一超管理器以供運行。 執行環境 可有數種可能的執行環境。本揭討論僅考量其中的四 項,然本發明確亦慮及他者: - 真實模式而具模擬碟片 37 1336861 - 真實模式而具固定記憶體位址 - 真實模式而具模擬碟片及大型後開機載入酬載 - 真實模式而具固定記憶體位址及大型後開機載入 酬載 並不需要考量保護模式環境,這是由於可將一真實模 式至保護模式切換器配入上述四種情況的任一者。 真實模式而具模擬碟片
第7圖係一根據本發明,具一模擬碟片而用於真實模 式操作之記憶體堆疊的略圖表示。為處置本項,我們是模 擬D 0 S開機載入處理程序。所下載之應用程式酬載係經儲 存在延伸記憶體72内,而非真實記憶體73,這是由於一 碟片影像7 0的大小,亦即1 · 4 4 Μ B或以上,之故。利用一 軟碟模擬器以自該碟片影像進行開機載入。此情境之一範 例即為其中是在一 DOS版本上運行該應用程式。所下載之 應用程式酬載係一含有該應用程式及 DOS檔案系統的軟 碟機影像。 真實模式而具固定記憶體位址 第8圖係一根據本發明,具一固定記憶體位址而用於 真實模式操作之記憶體堆疊的略圖表示。此一情況係所下 載的應用程式酬載80為足夠地微小,而可供配入該真實模 式/D0S位址空間之内。該應用程式在真實記憶體内係經佈 置於一特定於該應用程式之固定記憶體位址處,並且是自 該位址處執行。 真實模式而具模擬碟片及大型後開機載入酬載 38 1336861 開 表 〇 碟 OS 體 農 大 疊 式 程 公 \ ° 伸 並 識 應 〇 此 第9圖係一根據本發明’具一模擬碟片及—大型後 機裁入酬載而用於真實模式操作之記憶體堆曼的略圖 示。此係一其中是希望開機載入一大型應用程式的模式 一範例為開機載入一 Linux為基礎之應用程式》該模擬 片含有一些像是SYSLINUX的項.目。該應用程式及該 酬載90之實際經gzip壓縮影像70亦被載入延伸記憶 内。 直實模毛_两具固定記憶體位址及大增後間^載人酬 Φ 第1 〇圖係—根據本發明,具一固定記憶體位址及一 塑後開機載入酬載90而用於真實模式操作之記憶體堆 的略圖表示。此亦為其中是希望開機載入一大型應用程 的模式。其一範例為開機載入一 Linux為基礎之應用 式。不以利用S Y S LIN U X的軟碟影像,我們設有一自訂 用程式,並將此載入至一固定真實模式記憶體位置91處 該應用程式以及該OS酬載的經壓縮影像是被栽入至延 記憶體内。該真實模式公用程式將該0S酬載解壓縮, 且載入/開機載入Linux核心。 執行環境連帶意義 該等連帶意義如下:
-該VM開機載入器/應用程式啟動器必須能夠 - 別各種類型的執行環境。此項關聯於各個VM , 用程式之資訊係可由該V Μ伺服器提供。 - 該VM開機載入器必須能夠存取到延伸記憶體 - 必須建立多項工具以封裝該應用程式酬載,藉 39 1336861 配入该荨執行環境之其—者。 VM應用程式要求 要求項目如下: -必須包含其本身的執行環境,即如作業系統 _ 必須能夠在RAM中完整地常駐且執行 - 必須不需本地永久儲存。可在網路上,即如在一
伺服器上,提供永久儲存。 在BIOS POST之後的操作序列
第1 1圖係一流程圖,此圖顯示根據本發明,在B10 S POST(llO)之後的處理程序。在第π圖裡,若一使用者選 擇一熱鍵(π 2)’則該處理程序將狀態加以儲存(丨1 4 )並進 行。該開機載入器啟動(1 1 6)並且決定該網路是否既經組態 設定(118)。若否,則該GUI讓使用者對該網路介面(120) 進行組態設定;否則,該系統連接至該伺服器(1 2 2)。該系 統對該伺服器進行驗證(1 24),並且系統確認建妥一與該伺 服器的連接(1 26)。若偵測到一連接,則將系統資訊發送至 該伺服器(128),並且下載一應用程式列表(130)。若並未 建立一連接(126),則該系統搜尋USB裝置(132);同樣地, 在下載該應用程式列表(1 3 0)之後,在此偵測到一網路連 接,該系統搜尋USB裝置(132)。將一來自於該USB裝置 之VM應用程式列表加以編譯(134),並且建立一應用程式 列表(1 3 6)。若V Μ應用程式為可用(1 3 8 ),則該使用者可選 40 1336861 擇一應用程式(1 44)。回應於此,該系統將該應用程式載入 至系統記憶體内(146),技且關閉該開機載入器(148)。然 後載入該應用程式(150),並且該使用者可使用該應用程式 (152)。當關閉該應用程式時(154),將狀態加以儲存(114)。 而在BIOS POST之後(110)並未按下熱鍵的情況下(1丨2), 將狀態加以復原(1 4 0)’並且自硬碟機開機載入内定的〇 g (142)。如此’若網路連接並不成功,同時若在任何USB 快閃裝置上並無可用的VM應用程式,則該系統開機載入 在該硬碟機上的内定OS。 本發明在此雖係參照於較佳具體實施例所說明,然熟 諳本項技藝之人士將即能瞭解其他應用確可取代該等前述 項目,而不致悖離本發明的精神與範圍。從而,本發明應 僅由後載之申請專利範圍所限制。 【圖式簡單說明】 第1圖係一流程圖,此圖顯示根據本發明’可按片段 方式下載並執行一虛擬器具以縮短使用者等待時間的處理 流程; 第2圖係一區塊略圖’此圖顯示—根據本發明’用以 儲存並快取資料/應用程式片段的模型; 第3圖係一區塊略圖’此圖顯示一根據本發明之系統 伺服器後端; 第4圖係一區塊略圖,此圖顯示一根據本發明之較佳 系統架構; 41 1336861 第 5圖係一區塊略圖,此圖顯示一根據本發明,VM 軟體堆疊以及該等堆疊片段的常駐之處; 第 6圖係一略圖表示,此圖顯示一根據本發明,VM 開機載入器及相關模組; 第7圖係一根據本發明,具一模擬碟片而用於真實模 式操作之記憶體堆疊的略圖表示; 第8圖係一根據本發明,具一固定記憶體位址而用於 真實模式操作之記憶體堆疊的略圖表示; 第9圖係一根據本發明,具一模擬碟片及一大型後開 機載入酬載而用於真實模式操作之記憶體堆疊的略圖表 示; 第1 0圖係一根據本發明,具一固定記憶體位址及一大 型後開機載入酬載而用於真實模式操作之記憶體堆疊的略 圖表示; 第11圖係一流程圖,此圖顯示在BIOS POST之後的 處理程序,包含根據本發明在客戶端與伺服器之間為以下 載虛擬器具的握手處理。 【主要元件符號說明】
13 GUI 19 CMOS區域
20 BIOS 快閃 ROM 21 延伸系統組態資料(ESCD) 22 内建儲存裝置 42 1336861 23 開機載入器 23a VΜ開機載入器 23b BIOS開機載入器 2 4 可移除儲存裝置
25 BIOS 26 線上儲存裝置 27 虛擬器具 28 内容
29 虛擬器具元件 30 資訊(歷史、cookies與基本資料) 3 1 個人電腦 32 重新導引伺服器 33 器具伺服器 35 檔案伺服器 36 内容伺服器 37 夥伴伺服器
38 本地伺服器簇集 39 伺服器簇集 42 乙太網路連接 50 經下載局部 51 非VM應用程式 52 VM應用程式
53 EPG 54 超管理器 43 •4 閘道器 DHCP伺服器 使用者的區域網路 應用程式列舉器 應用程式啟動器 應用程式下載器 驗證
網路組態GUI 網路組態載入器 碟片影像 記憶體堆疊 延伸記憶體 真實記憶體 軟碟模擬器 系統組態備份及復原 裝置驅動程式管理器 使用者登入管理器 DHCP CPU模式切換器 應用程式酬載 Ο S開機載入器 系統資訊管理器 SMBIOS資料 記憶體資源管理器 44 1336861 85 檔案 系統 86 USB 驅動 程 式 87 NIC 遞送 器 90 後開 機載 入 酬 載 91 固定 記憶 體 位 址

Claims (1)

  1. 1336861 十、申請專利範圍: 1. 一種用以器具虛擬化之電腦實作方法,其中包含下 步驟: 將一嵌入式作業系統(0S)儲存在一個人電腦之系統 機載入ROM内; 在啟動該個人電腦的作業系統之前,當該個人電腦 機載入時立即地啟動該0S,並且暫止啟動至少一部分該 人電腦的作業系統; 一旦一初始0S上線(online)並且已連上一器具伺服 之後,即下載一更完整之0S,其中在此處理程序過程裡 0S的外觀及體驗並不改變; 在啟動該0 S之後,該0 S在一本地儲存媒體及一網 位置之任何一處尋找可用的虛擬器具,一器具包含一自 式二進位程式碼套件,此者含有為執行一特定工作所必 的全部項目; 該0S在該個人電腦處顯示至少某些的該等可用虛 器具以供選擇; 從該0S所顯示之可用虛擬器具中選擇至少一器具 供在該個人電腦處使用;以及 在該個人電腦處下載並啟動該選定器具; 其中該應用程式包含其本身的執行環境,在RAM 完整地常駐且執行,同時並不需要本地永久儲存。 列 開 開 個 器 該 路 含 要 擬 以 内 46 1336861 2. 如申請專利範圍第1項所述之方法,進一步包含下列 步驟: 若一選定器具並不在一本地儲存裝置上,則自一器具 伺服器進行下載該所選定器具。 3. 如申請專利範圍第1項所述之方法,進一步包含下列 步驟:
    自一本地儲存媒體選擇以開機載入一個人電腦作業系 統;以及 該個人電腦開機載入該作業系統。 4. 如申請專利範圍第2項所述之方法,進一步包含下列 步驟: 在一本地儲存媒體内快取一器具,其係自該器具伺服 器所下載;以及 其中當下一次需要該器具時,即不需要自該器具伺服 器下載。 5. 如申請專利範圍第1項所述之方法,進一步包含下列 步驟: 提供一個人化器,以供選擇最愛器具及/或存取最常用 之器具,並以智慧方式向使用者建議器具; 其中最常用器具是出現在一第一螢幕上,或是在一可 47 1336861 用器具列表的頂端處。 6. 如申請專利範圍第1項所述之方法,進一步包含下列 任何步驟: 重新導引該0 S至一位於本地或國内的伺服器,以進 行器具下載;
    自一個以上伺服器處下載一器具;以及 利用端對端(P2P)進行器具下載。 7. 如申請專利範圍第1項所述之方法,進一步包含下列 步驟: 當正在下載一器具時,將該器具解壓縮並予以執行。 8. 如申請專利範圍第1項所述之方法,進一步包含下列 步驟: 模組化至少一器具,該器具包含複數個個別模組,其 中該器具的各個模組係按獨立於其他模組各者之方式所下 載、解壓縮與執行/初始化。 9. 如申請專利範圍第8項所述之方法,進一步包含下列 步驟: 提供一智慧型下載機制,藉以確保會先下載、解壓縮 並執行一具有一較高優先權的模組。 48 1336861 10.如申請專利範圍第8項所述之方法,進一步包含下列 步驟: 對於不同的器具重新使用相同的模組。 11.如申請專利範圍第1項所述之方法,進一步包含下列 任一步驟:
    快取檔案、模組及一使用者意欲使用之項目;以及 當等待在該OS端之使用者輸入時,從本地端儲存裝 置預先提取(pre-fetching)器具到RAM中;以及 將一使用者意欲使用的器具自網路預先預取至本地儲 存裝置内。 12.如申請專利範圍第11項所述之方法,其中該快取是位 在一硬碟之一特殊分割内、一檔案系統上之檔案内、一 USB 快閃裝置上、在一個人電腦主機板上之其他快閃儲存裝置 上、或是在一硬碟MBR上。 13.如申請專利範圍第12項所述之方法,進一步包含下列 步驟: 該0 S提供一組態設定器功能,此者在當該0 S首次啟 動並且偵測到所有附接之硬碟機為空白時,即詢問使用者 是否應在一第一硬碟機上建立一快取分割; 49 1336861 其中若該使用者回覆為肯定,則該os在一第一硬碟 機上建立一分割。 14. 一種用於器具虛擬化的設備,其中包含:
    一電腦,此者包含一記憶體以供儲存一軟體堆疊,該 軟體堆疊包含一第一局部,此局部係維護於一 BI 〇 S快閃 記憶體内,以及一第二局部,此局部係被下載至該記憶體 内,該堆疊包含非虛擬應用程式及虛擬應用程式兩者; 一嵌入式作業系統(0 S); 一虛擬器具開機載入器; 一 BIOS開機載入器; 啟動構件,其用以利用該B 10 S開機載入器以啟動該 虛擬器具開機載入器; 該器具開機載入器包含連接構件,其用以透過一網路 連接至一 NC伺服器,以將該0S下載至該記憶體; 該0S進一步包含顯現構件,其用以對一末端使用者 呈現一可用之應用程式的列表: 其中該應用程式包含下列任何項目: 可自該應用程式伺服器下載的非虛擬機器應用程 式, 可自該應用程式伺服器下載的虛擬機器應用程 式;以及 常駐於與該電腦相關聯之 USB快閃裝置或硬碟 50 1336861 機之任一者上的應用程式。 1 5 .如申請專利範圍第1 4項所述之設備,該虛擬器具開機 載入器進一步包含下列任何項目: 一應用程式列舉器(enumerator),以供搜尋可用的虛擬 機器應用程式;
    一應用程式起啟動器,以供自執行一先前已載入至該 記憶體之内的應用程式; 一下載器,其用以將應用程式自該器具伺服器下載至 該記憶體; 一驗證構件,其用以對該器具伺服器驗證該電腦; 一網路組態,其用以提供一使用者介面,而讓一末端 使用者能夠組態設定該虛擬器具開機載入器以進行網路存 取; 一網路組態設定載入器,以供載入一網路組態; 一軟碟模擬器,其用以模擬一自軟碟開機載入 (boot-from-floppy)程序; 一系統組態備份及復原模組,其用以在運行任何項目 之前先儲存一系統組態,並且在此之後復原該系統組態; 一裝置驅動程式管理器,其用以儲存特定於該電腦的 裝置驅動程式模組; 一使用者登入管理器,其用以讓一使用者能夠登入該 器具伺服器; 51 1336861 一 GUI程式庫,以提供一標準外觀及體驗; 一具DHCP之網路/TCP/IP堆疊; 一 CPU模式切換器,其用以將一 x86 CPU從真實模式 切換至保護模式並再次返回; 一 0 S開機載入器,其用以自一電腦硬碟開機載入一 主作業系統;
    一系統資訊管理器,其用以自一 BIO S擷取出系統資 訊,並且將該所取出資訊傳送至該器具伺服器;以及 一記憶體資源管理器,其用以供管理記憶體資源以允 許將應用程式下載且佈置於適當位置處。 16.如申請專利範圍第14項所述之設備,該應用程式包含 下列任何項目: 虛擬機器應用程式,此者要求一超管理器(hypervisor) 以供運行;而執行環境包含下列任何項目: - 具模擬碟片之真實模式; - 具固定記憶體位址之真實模式; - 具模擬碟片及大型後開機載入酬載之真實模 式;以及 - 具固定記憶體位址及大型後開機載入酬載之 真實模式。 17. 一種用以器具虛擬化之電腦實作方法,其中包含下列 52 1336861 步驟: 將一嵌入式作業系統(os)儲存在一個人電腦的系統開 機載入ROM之内; 在啟動該個人電腦的作業系統之前,當該個人電腦開 機載入時立即地啟動該0S,並且暫止啟動至少一部分該個 人電腦的作業系統;
    一旦一初始0 S上線並且已連上一器具伺服器之後, 即下載一更完整0S,其中在此處理程序過程裡該0S的外 觀及體驗並不改變; 對於該個人電腦的多個使用者提供複數個個人設定' 各個個人設定運行於一軟體容器内,此者係自一底層平台 所抽象化; 在啟動該0S之後,該0S在一本地儲存媒體及一網路 位置之任者處搜尋可用虛擬器具及個人設定,一器具含有 一自含式二進位碼套件,此者含有為執行一特定工作所必 要的所有項目; 該0S在該個人電腦處顯示至少某些的該等可用虛擬 器具以供選擇; 自該等所顯示之可用虛擬器具選擇至少一器具以供在 該個人電腦處使用;以及 在該個人電腦處下載並啟動該選定器具; 其中該應用程式含有其本身的執行環境,可完全地在 RAM中常駐且執行,並且不需要本地永久儲存。 53
    1336861 18.如申請專利範圍第17項所述之方法,進一步包含下 步驟: 提供以基本資料為基礎之組態、個人設定及個人設 之套件。 19.如申請專利範圍第17項所述之方法,進一步包含下 自動更新内容;以及 自動更新個人設定。 20. 如申請專利範圍第19項所述之方法,進一步包含下 步驟: 利用P2P及/或BitTorrent以更新内容及個人設定, /或用於新近及/或替換之個人設定。 21. 如申請專利範圍第17項所述之方法,進一步包含下 步驟: 提供一驅動程式及週邊裝置整合工具組,其用於將 人設定隨附於一週邊裝置,以提供必要工具而讓一週邊 置及一裝置驅動程式能夠適當地且最佳化地在一虛擬機 的内部運作。 列 定 列 列 且 列 個 裝 器 54
TW096125126A 2006-07-10 2007-07-10 Method and apparatus for virtualization of appliances TWI336861B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US80691506P 2006-07-10 2006-07-10
US89012107P 2007-02-15 2007-02-15
US11/772,700 US7441113B2 (en) 2006-07-10 2007-07-02 Method and apparatus for virtualization of appliances

Publications (2)

Publication Number Publication Date
TW200818011A TW200818011A (en) 2008-04-16
TWI336861B true TWI336861B (en) 2011-02-01

Family

ID=38924040

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096125126A TWI336861B (en) 2006-07-10 2007-07-10 Method and apparatus for virtualization of appliances

Country Status (5)

Country Link
US (2) US7441113B2 (zh)
EP (1) EP2038740A4 (zh)
JP (1) JP2009544072A (zh)
TW (1) TWI336861B (zh)
WO (1) WO2008008675A2 (zh)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2002075525A1 (ja) * 2001-03-19 2004-07-08 ソニー株式会社 ソフトウエア更新システム、ソフトウエア更新方法、およびソフトウエア更新プログラム
US20070283391A1 (en) * 2006-06-02 2007-12-06 Jay Connelly Method and system for partitioning television channels in a platform
US20090083375A1 (en) * 2006-07-10 2009-03-26 Chong Benedict T Installation of a Virtualization Environment
US20090199132A1 (en) * 2006-07-10 2009-08-06 Devicevm, Inc. Quick access to virtual applications
US7441113B2 (en) * 2006-07-10 2008-10-21 Devicevm, Inc. Method and apparatus for virtualization of appliances
US8769528B2 (en) * 2006-07-14 2014-07-01 Moka5, Inc. Fixed-function consumer-electronics device providing general-computing functions with virtual machines
KR100801014B1 (ko) * 2006-08-21 2008-02-04 삼성전자주식회사 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체
US7840753B1 (en) * 2006-09-07 2010-11-23 Marvell International Ltd. Hard disk drive as hybrid drive
US8875271B2 (en) * 2006-12-08 2014-10-28 Microsoft Corporation Executing unsigned content and securing access in a closed system
US8095630B1 (en) * 2007-03-20 2012-01-10 Hewlett-Packard Development Company, L.P. Network booting
US7861038B2 (en) * 2007-07-17 2010-12-28 International Business Machines Corporation Method and apparatus for managing data in a hybrid drive system
US20090043557A1 (en) * 2007-08-08 2009-02-12 Branda Steven J Method, System, and Apparatus for Emulating Functionality of a Network Appliance in a Logically Partitioned Environment
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8677352B2 (en) * 2007-10-31 2014-03-18 Vmware, Inc. Interchangeable guest and host execution environments
US20090138691A1 (en) * 2007-11-27 2009-05-28 Harold Lee Peterson Method, system and computer-readable medium for personalized computational device configuration
US10460085B2 (en) 2008-03-13 2019-10-29 Mattel, Inc. Tablet computer
US20090287571A1 (en) * 2008-03-26 2009-11-19 Robb Fujioka Hypervisor and virtual machine ware
US20090248793A1 (en) * 2008-03-25 2009-10-01 Contribio Ab Providing Content In a Network
US7979260B1 (en) * 2008-03-31 2011-07-12 Symantec Corporation Simulating PXE booting for virtualized machines
US8745601B1 (en) * 2008-07-17 2014-06-03 Apple Inc. Methods and systems for using data structures for operating systems
US8694989B1 (en) 2008-07-17 2014-04-08 Apple Inc. Virtual installation environment
US8578146B2 (en) * 2008-07-17 2013-11-05 Lsi Corporation Systems and methods for booting a bootable virtual storage appliance on a virtualized server platform using a hidden boot partition
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
WO2010037022A1 (en) * 2008-09-26 2010-04-01 Fuhu, Inc. Hypervisor and webtop in a set top box environment
JP4909332B2 (ja) * 2008-10-07 2012-04-04 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置およびデバイス認識方法
US9176786B2 (en) * 2008-11-04 2015-11-03 Novell, Inc. Dynamic and automatic colocation and combining of service providers and service clients in a grid of resources for performing a data backup function
CN101754466B (zh) * 2008-12-10 2012-09-05 运软网络科技(上海)有限公司 移动虚拟化的基础设施以及基础平台
US8706836B2 (en) * 2008-12-15 2014-04-22 Shara Susznnah Vincent Live streaming media and data communication hub
US8108485B1 (en) 2008-12-17 2012-01-31 Sprint Communications Company L.P. Method and system for operating a communication system
US20100211769A1 (en) * 2009-02-19 2010-08-19 Subramonian Shankar Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
JP5709359B2 (ja) * 2009-04-07 2015-04-30 ソニー株式会社 通信装置、通信方法、及び通信システム
US20100306774A1 (en) * 2009-05-28 2010-12-02 Subash Kalbarga Instant-On Computing System
US9277021B2 (en) * 2009-08-21 2016-03-01 Avaya Inc. Sending a user associated telecommunication address
US8887144B1 (en) * 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US10177934B1 (en) 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US8266290B2 (en) * 2009-10-26 2012-09-11 Microsoft Corporation Scalable queues on a scalable structured storage system
US8370614B2 (en) * 2009-10-29 2013-02-05 Hewlett-Packard Development Company, L.P. Booting a computer device
US8516137B2 (en) * 2009-11-16 2013-08-20 Microsoft Corporation Managing virtual hard drives as blobs
US8266419B2 (en) 2009-11-25 2012-09-11 Sprint Communications Company L.P. Fast restart on a virtual machine
WO2011069784A1 (en) 2009-12-11 2011-06-16 International Business Machines Corporation System and method of managing software content in virtual desktop environments
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) * 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8166244B2 (en) * 2010-03-12 2012-04-24 Sandisk Il Ltd. Emulating a computer system on a removable storage device
FR2957700B1 (fr) * 2010-03-22 2012-04-13 Bull Sas Procede, programme d'ordinateur et dispositif d'optimisation de chargement et de demarrage d'un systeme d'exploitation dans un systeme informatique via un reseau de communication
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US8589702B2 (en) 2010-05-28 2013-11-19 Dell Products, Lp System and method for pre-boot authentication of a secure client hosted virtualization in an information handling system
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8639923B2 (en) 2010-05-28 2014-01-28 Dell Products, Lp System and method for component authentication of a secure client hosted virtualization in an information handling system
US8527761B2 (en) 2010-05-28 2013-09-03 Dell Products, Lp System and method for fuse enablement of a secure client hosted virtualization in an information handling system
US8719557B2 (en) 2010-05-28 2014-05-06 Dell Products, Lp System and method for secure client hosted virtualization in an information handling system
US8751781B2 (en) 2010-05-28 2014-06-10 Dell Products, Lp System and method for supporting secure subsystems in a client hosted virtualization system
US8938774B2 (en) 2010-05-28 2015-01-20 Dell Products, Lp System and method for I/O port assignment and security policy application in a client hosted virtualization system
US8990584B2 (en) 2010-05-28 2015-03-24 Dell Products, Lp System and method for supporting task oriented devices in a client hosted virtualization system
US9134990B2 (en) 2010-05-28 2015-09-15 Dell Products, Lp System and method for implementing a secure client hosted virtualization service layer in an information handling system
US8819321B2 (en) * 2010-06-03 2014-08-26 Dell Products L.P. Systems and methods for providing instant-on functionality on an embedded controller
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
CN102135866B (zh) * 2010-10-29 2013-07-17 华南理工大学 一种基于Xen安全计算机显示优化的方法
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
CN102075710B (zh) * 2010-12-09 2013-02-13 青岛海信信芯科技有限公司 一种电视机的启动运行方法及电视机
KR20120066529A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 가상 전자제품 제공 시스템
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
GB2503384A (en) * 2011-04-01 2013-12-25 Hewlett Packard Development Co Booting a computing device to have a predefined functionality
US9021245B2 (en) 2011-07-15 2015-04-28 International Business Machines Corporation Applying settings in a cloud computing environment based on geographical region
CN103843006B (zh) * 2011-09-30 2017-05-10 国际商业机器公司 用于向用户终端配备操作系统的方法和设备
US9245095B2 (en) 2011-10-25 2016-01-26 Ca, Inc. System and method for license management of virtual machines at a virtual machine manager
US8977735B2 (en) * 2011-12-12 2015-03-10 Rackspace Us, Inc. Providing a database as a service in a multi-tenant environment
US10310878B2 (en) * 2011-12-16 2019-06-04 Vmware, Inc. Execution of an application in a runtime environment installed in a virtual appliance
US9069607B1 (en) 2012-01-31 2015-06-30 Vmware, Inc. Selective migration of virtualized applications and configuration settings thereof
KR20130101648A (ko) * 2012-02-22 2013-09-16 한국전자통신연구원 가상화를 위한 보안 제공 장치 및 방법
US9043903B2 (en) 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US9292881B2 (en) 2012-06-29 2016-03-22 Crowdstrike, Inc. Social sharing of security information in a group
US8914785B2 (en) * 2012-07-30 2014-12-16 International Business Machines Corporation Providing virtual appliance system firmware images
CN103096167B (zh) * 2012-12-24 2018-11-30 康佳集团股份有限公司 一种智能电视的启动方法及系统
WO2014136451A1 (ja) * 2013-03-08 2014-09-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報共有方法
US9348608B2 (en) 2013-04-24 2016-05-24 QRC, Inc. System and method for registering application and application transforms on a radiofrequency digitization and collection device
US9189345B1 (en) * 2013-09-25 2015-11-17 Emc Corporation Method to perform instant restore of physical machines
US10289405B2 (en) 2014-03-20 2019-05-14 Crowdstrike, Inc. Integrity assurance and rebootless updating during runtime
US10339316B2 (en) * 2015-07-28 2019-07-02 Crowdstrike, Inc. Integrity assurance through early loading in the boot phase
US9898307B2 (en) * 2015-12-21 2018-02-20 Intel Corporation Starting application processors of a virtual machine
US10432650B2 (en) 2016-03-31 2019-10-01 Stuart Staniford System and method to protect a webserver against application exploits and attacks
US10127049B2 (en) 2016-05-09 2018-11-13 International Business Machines Corporation Kernel-integrated instance-specific operational resources with virtualization
WO2017205223A1 (en) * 2016-05-23 2017-11-30 William Turner Hyperconverged system including a user interface, a services layer and a core layer equipped with an operating system kernel
US10387228B2 (en) 2017-02-21 2019-08-20 Crowdstrike, Inc. Symmetric bridge component for communications between kernel mode and user mode
US10693972B2 (en) * 2017-08-25 2020-06-23 Salesforce.Com, Inc. Secure cross-domain session storage
US10644948B1 (en) * 2017-08-29 2020-05-05 Juniper Networks, Inc. Hypervisor detection of virtual machine and network interface compatibility
CN109522088A (zh) * 2018-09-30 2019-03-26 华为技术有限公司 一种虚拟机迁移方法及装置
BR112022002984A2 (pt) * 2019-08-21 2022-05-10 Bosch Ltd Sistema e método para desenvolvimento e distribuição de soluções de mobilidade
US11605166B2 (en) 2019-10-16 2023-03-14 Parsons Corporation GPU accelerated image segmentation
US11303306B2 (en) 2020-01-20 2022-04-12 Parsons Corporation Narrowband IQ extraction and storage
US11619700B2 (en) 2020-04-07 2023-04-04 Parsons Corporation Retrospective interferometry direction finding
US11569848B2 (en) 2020-04-17 2023-01-31 Parsons Corporation Software-defined radio linking systems
US11575407B2 (en) 2020-04-27 2023-02-07 Parsons Corporation Narrowband IQ signal obfuscation
US11849347B2 (en) 2021-01-05 2023-12-19 Parsons Corporation Time axis correlation of pulsed electromagnetic transmissions
CN114527883A (zh) * 2021-12-21 2022-05-24 统信软件技术有限公司 一种快捷键实现方法、计算设备及存储介质
CN114595461B (zh) * 2022-02-15 2024-07-16 阿里云计算有限公司 一种数据处理的方法和装置

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029077A (en) * 1986-01-17 1991-07-02 International Business Machines Corporation System and method for controlling physical resources allocated to a virtual terminal
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
JP4251669B2 (ja) * 1995-07-14 2009-04-08 ソニー株式会社 データ処理方法および装置
US6678712B1 (en) * 1996-01-19 2004-01-13 International Business Machines Corporation Method and system for executing a program under one of a plurality of mutually exclusive operating environments
JPH1165996A (ja) * 1997-08-11 1999-03-09 Toshiba Corp ネットワークコンピュータおよびその初期化処理方法
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
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
US6119157A (en) * 1998-05-14 2000-09-12 Sun Microsystems, Inc. Protocol for exchanging configuration data in a computer network
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6356284B1 (en) * 1999-03-29 2002-03-12 Powerware Corporation Operating system-independent graphical user interface with sliding panel
US6538665B2 (en) * 1999-04-15 2003-03-25 Apple Computer, Inc. User interface for presenting media information
US6791572B1 (en) * 1999-06-18 2004-09-14 Phoenix Technologies Ltd. Generating media output during BIOS boot-up
JP2001160036A (ja) * 1999-09-22 2001-06-12 Mitsubishi Electric Corp クライアントの汎用システムツール
US6763458B1 (en) * 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
JP3330569B2 (ja) * 1999-09-28 2002-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータの制御方法、コンピュータ及び記録媒体
US6847959B1 (en) * 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
IT1320001B1 (it) * 2000-03-30 2003-11-12 Sab Wabco Spa Sistema di controllo e comunicazione per convogli ferroviari.
US7260564B1 (en) * 2000-04-07 2007-08-21 Virage, Inc. Network video guide and spidering
JP2001306327A (ja) * 2000-04-24 2001-11-02 I-O Data Device Inc Os起動前のアプリケーション実行方法及びデータ処理システム
JP3827936B2 (ja) * 2000-10-18 2006-09-27 シャープ株式会社 情報提供制御装置、情報提供方法、情報提供プログラムを記録した記録媒体および情報提供システム
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
JP2002196934A (ja) * 2000-12-26 2002-07-12 Toshiba Corp 端末装置、携帯可能電子装置の取扱システムおよび携帯可能電子装置の取扱方法
US20030014476A1 (en) * 2001-01-03 2003-01-16 Peterson David Allen Thin client computer operating system
US6839836B2 (en) * 2001-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Portable computing device with specialized operating system
JP2003032762A (ja) * 2001-07-19 2003-01-31 Mitsubishi Electric Corp 家電機器のチューンアップシステム及び家電機器のチューンアップ方法
EP1470482A2 (en) * 2001-10-02 2004-10-27 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US7356677B1 (en) * 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
US6943065B2 (en) * 2002-03-25 2005-09-13 Micron Technology Inc. Scalable high performance antifuse structure and process
US7343484B2 (en) * 2002-03-28 2008-03-11 O2Micro International Limited Personal computer integrated with personal digital assistant
JP4180834B2 (ja) * 2002-05-01 2008-11-12 富士通株式会社 情報処理装置および情報処理プログラム
US6948058B2 (en) 2002-07-26 2005-09-20 Mitac Technology Corp. Method and device for playing multimedia files in semi-power on state of a computer
TW591478B (en) 2002-11-12 2004-06-11 Mitac Technology Corp Apparatus and method of using personal computer to integrate functions of home electronics
TW577010B (en) 2002-11-12 2004-02-21 Mitac Technology Corp Device and method using software to implement hot key function of no embedded controller
TW588284B (en) 2002-11-12 2004-05-21 Mitac Technology Corp Computer real-time power-on system and method
US7082526B2 (en) * 2003-03-14 2006-07-25 Elegent Technologies, Inc. Mechanism for intuitively invoking one or more auxiliary programs during a computer booting process
US7822962B2 (en) * 2003-05-05 2010-10-26 Peter Ar-Fu Lam Application software configured to work with two operating systems
US7941659B2 (en) * 2003-05-05 2011-05-10 Peter Ar-Fu Lam External memory enabling a user to select an application program to be launched before launching an operating system
US20040268400A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Quick starting video content
US7793227B2 (en) * 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US7076646B2 (en) 2003-11-05 2006-07-11 Mitac Technology Corp. Selective quick booting a partial set of devices corresponding to an event code via the BIOS
JP2007519096A (ja) * 2003-12-19 2007-07-12 レーラー,ダニエル,ルイーズ デジタルデータのダウンロードおよび追跡方法及びシステム
JP2005202105A (ja) * 2004-01-15 2005-07-28 Ricoh Co Ltd 電子装置
TWI308721B (en) * 2004-01-16 2009-04-11 Wistron Corp Remote boot method and device thereof and server device using remote boot method
TWI253014B (en) 2004-02-10 2006-04-11 Intervideo Digital Technology Architecture for sharing application programs between operation systems with power-saving effect and method thereof
TWI276950B (en) 2004-02-12 2007-03-21 Intervideo Digital Technology Computer power management architecture and method thereof
TW200532550A (en) 2004-03-17 2005-10-01 Intervideo Digital Technology Corp Computer system for executing multimedia player system and the method thereof
US7827558B2 (en) * 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
US20060023638A1 (en) 2004-07-29 2006-02-02 Solutions4Networks Proactive network analysis system
US7421421B2 (en) * 2004-08-04 2008-09-02 International Business Machines Corporation Method for providing multi-variable dynamic search results visualizations
US7467293B2 (en) * 2004-11-12 2008-12-16 Tsinghua University Method and computing system for transparence computing on the computer network
US20080215968A1 (en) * 2004-11-24 2008-09-04 Dynamic Flash Ltd. System and Method for Managing Content of Rich Media
US8126843B2 (en) 2004-11-30 2012-02-28 International Business Machines Corporation Cluster-wide read-copy update system and method
US20060129531A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Method and system for suggesting search engine keywords
US20060179165A1 (en) * 2005-02-01 2006-08-10 Ming-Chun Chen Multipurpose charging system with transmission function
US20060174302A1 (en) * 2005-02-01 2006-08-03 Bryan Mattern Automated remote monitoring system for construction sites
US7536391B2 (en) * 2005-05-20 2009-05-19 Microsoft Corporation System and method for URL virtualization and mapping
CN100454240C (zh) 2005-07-04 2009-01-21 英特维数位科技股份有限公司 电脑系统处理事件的架构及其方法
CN1716162A (zh) 2005-07-04 2006-01-04 英特维数位科技股份有限公司 休眠状态下多重作业系统切换方法及其切换装置
CN100432934C (zh) 2005-07-04 2008-11-12 英特维数位科技股份有限公司 电脑系统启动应用程式的架构及其方法
US20070048714A1 (en) * 2005-08-12 2007-03-01 Microsoft Corporation Media player service library
US20080009268A1 (en) * 2005-09-14 2008-01-10 Jorey Ramer Authorized mobile content search results
US20070113062A1 (en) * 2005-11-15 2007-05-17 Colin Osburn Bootable computer system circumventing compromised instructions
US7506144B2 (en) * 2005-11-21 2009-03-17 Intel Corporation Dynamic pre-operating system billboard service
US7487466B2 (en) * 2005-12-29 2009-02-03 Sap Ag Command line provided within context menu of icon-based computer interface
DE102006036597A1 (de) 2006-01-11 2007-07-19 Intervideo Digital Technology Corp. Elektronische Vorrichtung mit beschleunigtem Boot-Prozess und Verfahren zum Beschleunigen des Boot-Prozesses für elektronische Vorrichtungen
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8001471B2 (en) * 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
US20070214345A1 (en) * 2006-03-10 2007-09-13 Fleming John C System and method for porting an operating system
US7441113B2 (en) * 2006-07-10 2008-10-21 Devicevm, Inc. Method and apparatus for virtualization of appliances
US20090083375A1 (en) * 2006-07-10 2009-03-26 Chong Benedict T Installation of a Virtualization Environment
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
WO2009032445A1 (en) * 2007-08-01 2009-03-12 Devicevm, Inc. Integration model for instant-on environment

Also Published As

Publication number Publication date
US8086836B2 (en) 2011-12-27
JP2009544072A (ja) 2009-12-10
US7441113B2 (en) 2008-10-21
US20080320295A1 (en) 2008-12-25
US20080126785A1 (en) 2008-05-29
EP2038740A2 (en) 2009-03-25
EP2038740A4 (en) 2009-07-29
TW200818011A (en) 2008-04-16
WO2008008675A3 (en) 2008-10-09
WO2008008675A2 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
TWI336861B (en) Method and apparatus for virtualization of appliances
WO2008073618A2 (en) Instant on platform
US9361147B2 (en) Guest customization
US9519472B2 (en) Automation of virtual machine installation by splitting an installation into a minimal installation and customization
US8522235B2 (en) Portable virtual machine
US20090077551A1 (en) Virtual machine image builder for automated installation of fully-virtualized operating system
US20090083375A1 (en) Installation of a Virtualization Environment
CN101490645A (zh) 用以设备虚拟化的方法及设备
US20100107163A1 (en) Movable virtual machine image
EP2339494A1 (en) Automated modular and secure boot firmware update
CN102387197A (zh) 从服务器到主机的流虚拟机技术
JP2009524121A (ja) システム動作前の動的広告板サービス
US11307907B2 (en) Information handling system and method to automatically synchronize operating system and boot firmware languages
US20160154668A1 (en) Selecting a virtual basic input output system based on information about a software stack
Zhang et al. Automatic software deployment using user-level virtualization for cloud-computing
US20080077784A1 (en) Electronic marketing on a computing device during select time windows
TW201403476A (zh) 使用者特定之漫遊設定
WO2016177261A1 (zh) 在线升级基于内核虚拟机模块的设备和方法
Ming Analysis and a case study of transparent computing implementation with UEFI
US11119748B2 (en) Method and apparatus for operating a mobile application store
CN102959513B (zh) 虚拟机器合并方法和系统
US9804872B1 (en) Method for emulation of a virtual OS bookmark on a host desktop
US9229763B2 (en) Virtual media shelf
Ward et al. Inside SQL Server Containers
CN117555558A (zh) 一种在嵌入式Linux操作系统上运行Android应用的方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees