對個人虛擬磁盤的系統(tǒng)更新的制作方法
【專利說明】對個人虛擬磁盤的系統(tǒng)更新
[0001] 本申請要求2013年2月11日提交的標題為"對個人虛擬磁盤的系統(tǒng)更新(System Updateswith化rsonalVirtualDisks)"且指定WilliamDeForeest等人為發(fā)明人的編 號為13/764,295的美國專利申請的優(yōu)先權(quán),該申請通過引用被全部并入本文。
[000引 領(lǐng)域
[0003] 本申請總體上設(shè)及計算機虛擬化和創(chuàng)建并管理虛擬機。特別是,其中的各個方面 設(shè)及在桌面虛擬化系統(tǒng)中的虛擬機的更新的管理。
[0004] 背景
[0005] 在傳統(tǒng)上,個人計算機配置包括操作系統(tǒng)、應(yīng)用和用戶設(shè)置的組合,其中的每個都 由所有者或管理員持續(xù)不斷的進行單獨的管理。然而,很多組織現(xiàn)在使用桌面虛擬化系統(tǒng) 來提供更靈活的選擇W處理他們的用戶的變化的需要。在桌面虛擬化系統(tǒng)中,用戶的計算 環(huán)境(例如,操作系統(tǒng)、應(yīng)用和/或用戶設(shè)置)可與用戶的物理計算設(shè)備(例如,智能電話、 膝上型計算機、臺式計算機)分離。使用客戶端-服務(wù)器技術(shù),"虛擬化桌面"可存儲在遠程 服務(wù)器中并由遠程服務(wù)器管理,而不是存儲在客戶端計算設(shè)備的本地存儲器中。
[0006] 存在幾種不同類型的桌面虛擬化系統(tǒng)。作為例子,虛擬桌面基礎(chǔ)架構(gòu)(VDI)指運 行存在于服務(wù)器上的虛擬機內(nèi)部的用戶桌面的過程。VDI和其它基于服務(wù)器的桌面虛擬化 系統(tǒng)可為每個用戶提供個性化桌面,同時允許集中式管理和安全。在該樣的系統(tǒng)中的服務(wù) 器可包括虛擬桌面鏡像和系統(tǒng)配置信息的存儲器W及提供虛擬機并允許用戶互連到它們 的軟件部件。例如,VDI服務(wù)器可包括一個或多個超級管理器(虛擬機管理器)W創(chuàng)建并 維護多個虛擬機、管理超級管理器的軟件、連接中間人和提供并管理虛擬桌面的軟件。VDI 管理是復雜和冗長乏味的過程。
[0007] 桌面虛擬化系統(tǒng)可包括一個或多個虛擬磁盤層,其包括磁盤層或"磁盤樹"的分級 結(jié)構(gòu)。在磁盤層的分級結(jié)構(gòu)中的每個磁盤層由一個或多個虛擬磁盤組成。該些磁盤層的構(gòu) 造可通過各種裝置而發(fā)生。磁盤樹牽設(shè)在操作系統(tǒng)引導期間執(zhí)行的運行時的融合,其提供 與包含在每個磁盤樹中的數(shù)據(jù)有關(guān)的信息,并導致一個或多個虛擬機的產(chǎn)生用于由最終用 戶使用。
[000引 概述
[0009] 根據(jù)前述背景,下文介紹了本公開的簡化概述,W便提供對本文描述的一些方面 的基本理解。該概述并不是廣泛概述,且并不打算識別關(guān)鍵或重要元件或描繪權(quán)利要求的 范圍。下面的概述僅僅介紹W簡化形式描述的各個方面,W作為下面提供的更詳細描述的 序言。
[0010] 更新VDI系統(tǒng)中的計算機系統(tǒng)在現(xiàn)代計算中即便不是每星期一次或每日一次的 事件,也是每月一次的事件。最新發(fā)現(xiàn)的安全威脅、軟件的新版本和增加新應(yīng)用都可能需要 改變存儲在計算機磁盤中的數(shù)據(jù)。例如,在通常都部署了VDI系統(tǒng)的信息技術(shù)部口中,可能 存在管理可用更新并使用算法和由操作人員做出的選擇的結(jié)合來將它們發(fā)布到目標計算 機系統(tǒng)的中央更新管理系統(tǒng)。然而,目標系統(tǒng)設(shè)置的選擇可能是非常廣泛和不精確的。此 夕F,操作人員或許可能W各種可能的系統(tǒng)作為目標,且依賴于針對系統(tǒng)的過濾過程來防止 系統(tǒng)誤差。因此,本文描述的方面提供用于更新在虛擬桌面基礎(chǔ)架構(gòu)系統(tǒng)中的一批軟件資 源的改進的系統(tǒng)和方法。如本文所使用的,更新可包括補了、軟件更新和可能需要應(yīng)用于一 個或多個軟件資源的任何其它軟件維護。
[0011] 根據(jù)本公開的某些方面,配置成接收一個或多個軟件資源的多個更新的更新管理 數(shù)據(jù)庫將一個或多個更新發(fā)布到磁盤層的分級結(jié)構(gòu)??刂破鞣?wù)器將一個或多個更新記錄 在數(shù)據(jù)存儲裝置中。控制器服務(wù)器接著識別磁盤層的分級結(jié)構(gòu)中的每個磁盤層的多個虛擬 機,并將一個或多個更新應(yīng)用于在磁盤層的分級結(jié)構(gòu)中的預定磁盤層中的一個或多個虛擬 機。應(yīng)用一個或多個更新的嘗試的結(jié)果存儲在控制器服務(wù)器處。如果對給定目標虛擬機的 更新是成功的,則一個或多個所發(fā)布的更新對與磁盤層的分級結(jié)構(gòu)中的后續(xù)磁盤層相關(guān)的 多個虛擬機中的每個虛擬機的應(yīng)用被暫停。如果對給定目標虛擬機的更新是不成功的,貝U 一個或多個所發(fā)布的更新應(yīng)用于與緊接著預定磁盤層的后代磁盤層相關(guān)的多個虛擬機中 的每個虛擬機。該個迭代的過程繼續(xù),直到所有虛擬機都已經(jīng)作為了所發(fā)布的更新的目標 或作為一個或多個所發(fā)布的更新的目標的所有剩余的虛擬機都是已經(jīng)成功地被更新的系 統(tǒng)的后代為止。
[0012] 根據(jù)本公開的另外的各個方面,更新管理數(shù)據(jù)庫可接收一個或多個軟件資源的更 新??刂破鞣?wù)器將該個新的更新記錄在數(shù)據(jù)倉庫中,并識別可作為更新的目標的一個或 多個可用軟件資源。此外,控制器服務(wù)器識別在具有作為更新的目標的一個或多個識別出 的軟件資源的磁盤層的分級結(jié)構(gòu)中的每個磁盤層??刂破鞣?wù)器還確定和識別在具有一個 或多個識別出的軟件資源的磁盤層的分級結(jié)構(gòu)中的最低磁盤層。之后,控制器服務(wù)器可將 在識別出的磁盤層中的適當?shù)奶摂M機作為目標W接收更新,且每個后代虛擬機一-如果有 的話一-可在將更新應(yīng)用于后代磁盤層的后續(xù)迭代期間接收更新。
[0013] 附圖的簡要說明
[0014] 在W通用術(shù)語如此描述了本公開的各個方面之后,現(xiàn)在將參考附圖,附圖不一定 按比例繪制,且其中:
[0015] 圖1示出了示例操作環(huán)境,本公開的各個方面可在其中被實現(xiàn)。
[0016] 圖2示出了可根據(jù)本文描述的一個或多個例證性方面使用的計算設(shè)備。
[0017] 圖3示出了可根據(jù)本文描述的一個或多個例證性方面使用的計算設(shè)備。
[001引圖4是描繪根據(jù)本文描述的一個或多個例證性方面的虛擬化服務(wù)器的實施方式 的方框圖。
[0019] 圖5示出了描繪根據(jù)本文描述的一個或多個例證性方面的虛擬桌面基礎(chǔ)架構(gòu)系 統(tǒng)的實施方式的方框圖。
[0020] 圖6是示出根據(jù)本文描述的一個或多個例證性方面的用于監(jiān)控并管理在虛擬桌 面基礎(chǔ)架構(gòu)系統(tǒng)中的軟件資源的更新的某些部件的方框圖。
[0021] 圖7是示出根據(jù)本文描述的一個或多個例證性方面,更新虛擬桌面基礎(chǔ)架構(gòu)系統(tǒng) 中的一批軟件資源的示例過程的流程圖。
[0022] 詳細描述
[0023] 在下面關(guān)于各種實施方式的描述中,參考了構(gòu)成其中的一部分的附圖,且在附圖 中通過例證的方式示出了各個實施方式,而本文所述的各個方面可在所述各個實施方式中 實施。應(yīng)理解,可利用其它實施方式,且可做出結(jié)構(gòu)和功能修改,而不偏離本公開的范圍和 精神。
[0024] 如本領(lǐng)域中的技術(shù)人員在閱讀下面的公開時將認識到的,本文描述的各個方面可 體現(xiàn)為方法、數(shù)據(jù)處理系統(tǒng)或計算機程序產(chǎn)品。因此,該些方面可采取全硬件的實施方式、 全軟件的實施方式或組合軟件和硬件的各個方面的實施方式的形式。此外,該些方面可采 取由具有計算機可讀程序代碼或指令的一個或多個計算機可讀存儲介質(zhì)存儲、實現(xiàn)在存儲 介質(zhì)中或存儲介質(zhì)上的計算機程序產(chǎn)品的形式??衫萌魏芜m當?shù)挠嬎銠C可讀存儲介質(zhì), 其中包括硬盤、CD-ROM、光學存儲設(shè)備、磁性存儲設(shè)備和/或其任何組合。此外,表示如本文 所述的數(shù)據(jù)或事件的各種信號可在源和目的地之間W通過信號傳導介質(zhì)例如金屬線、光纖 和/或無線傳輸介質(zhì)(例如,空氣和/或空間)傳播的電磁波的形式被傳送。
[0025] 此外,應(yīng)理解,本文使用的措辭和術(shù)語是為了描述的目的,且不應(yīng)被視為限 制性的。更確切地,本文使用的短語和術(shù)語應(yīng)被給予其最廣泛的解釋和含義。"包括 (including)"和"包括komprising)"及其變形的使用意欲包括在其后列出的項及其等同 項W及另外的項及其等同項。
[0026] 圖1示出可根據(jù)本公開的一個或多個例證性實施方式使用的示例計算環(huán)境100中 的通用計算設(shè)備1〇1(例如計算服務(wù)器106a)的示例方框圖。根據(jù)一個或多個方面,通用計 算設(shè)備101可W是在配置成為客戶端訪問設(shè)備提供虛擬機的單服務(wù)器或多服務(wù)器桌面虛 擬化系統(tǒng)(例如云系統(tǒng))中的服務(wù)器106a。通用計算設(shè)備101可具有用于控制服務(wù)器及其 相關(guān)部件(包括隨機存取存儲器(RAM) 105、只讀存儲器(ROM) 107、輸入/輸出(I/O)模塊 109和存儲器115)的整體操作的處理器103。
[0027] I/O模塊109可包括鼠標、鍵盤、觸摸屏、掃描儀、光學閱讀器和/或手寫筆(或其 它輸入設(shè)備),通用計算設(shè)備101的用戶可通過該些輸入設(shè)備提供輸入,并且也可包括用于 提供音頻輸出的揚聲器和用于提供文本、視聽和/或圖形輸出的視頻顯示設(shè)備中的一個或 多個。軟件可存儲在存儲器115和/或其它存儲裝置內(nèi)W向處理器103提供用于使通用計 算設(shè)備101能夠執(zhí)行各種功能的指令。例如,存儲器115可存儲由通用計算設(shè)備101使用 的軟件,例如操作系統(tǒng)117、應(yīng)用程序119和相關(guān)數(shù)據(jù)庫121??蛇x地,通用計算設(shè)備101的 一些或所有計算機可執(zhí)行指令可實現(xiàn)在硬件或固件(未示出)中。
[002引通用計算設(shè)備101可在支持連接到例如終端140 (也被稱為客戶端設(shè)備)的一個 或多個遠程計算機的連接的聯(lián)網(wǎng)環(huán)境中操作。終端140可W是包括上面關(guān)于通用計算設(shè)備 101描述的很多或全部元件的個人計算機或服務(wù)器。在圖1中描繪的網(wǎng)絡(luò)連接包括局域網(wǎng) (LAN) 125和廣域網(wǎng)(WAN) 129,但還可包括其它網(wǎng)絡(luò)。當在LAN聯(lián)網(wǎng)環(huán)境中使用時,通用計 算設(shè)備101可通過網(wǎng)絡(luò)接口或適配器123連接到LAN125。當在WAN聯(lián)網(wǎng)環(huán)境中使用時,通 用計算設(shè)備101可包括調(diào)制解調(diào)器127或用于建立例如計算機網(wǎng)絡(luò)130 (例如互聯(lián)網(wǎng))的 WAN129上的通信的其它網(wǎng)絡(luò)接口。將理解的是,所述網(wǎng)絡(luò)連接是例證性的,且可使用建立 計算機之間的通信鏈路的其它裝置。
[0029] 通用計算設(shè)備101和/或終端140也可W是包括各種其它部件例如電池、揚聲器 和天線(未示出)的移動終端(例如,移動電話、智能電話、PDA、筆記本計算機等)。
[0030] 本公開接合很多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置進行操作。可能適合于接合 本公開使用的公知的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個人計算機、服務(wù)器 計算機、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子 設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括上述系統(tǒng)或設(shè)備中的任何一個的分布式計算 環(huán)境等。
[0031] 如圖1所示,一個或多個客戶端設(shè)備140可與一個或多個服務(wù)器106a-106n(在本 文通稱為"服務(wù)器106")通信。在一個實施方式中,計算環(huán)境100可包括安裝在服務(wù)器106 和客戶端機器140之間的器具。該器具可管理客戶端/服務(wù)器連接,且在一些情況下可使 在多個后端服務(wù)器106當中的客戶端連接負載平衡。
[0032] 客戶端機器140可在一些實施方式中被稱為單個客戶端機器140或單組客戶端機 器140,而服務(wù)器106可被稱為單個服務(wù)器106或單組服務(wù)器106。在一個實施方式中,單 個客戶端機器140與多于一個服務(wù)器106通信,而在另一實施方式中,單個服務(wù)器106與多 于一個客戶端機器140通信。在又一實施方式中,單個客戶端機器140與單個服務(wù)器106 通信。
[0033] 客戶端機器140在一些實施方式中可通過下列項中的任何一項引用;客戶端機器 140、客戶端、客戶端計算機、客戶端設(shè)備、客戶端計算設(shè)備、本地機器、遠程機器、客戶端節(jié) 點、端點、端點節(jié)點或第二機器。服務(wù)器106在一些實施方式中可通過下列項中的任何一項 引用;服務(wù)器、本地機器、遠程機器、服務(wù)器群、主機計算設(shè)備或第一機器。
[0034] 在一個實施方式中,客戶端機器140可W是虛擬機。虛擬機可W是任何虛擬機,而 在一些實施方式中,虛擬機可W是由Citrix系統(tǒng)、IBM、VMware開發(fā)的超級管理器或任何其 它超級管理器管理的任何虛擬機。在一些方面中,虛擬機可由超級管理器管理,而在其它方 面中,虛擬機可由在服務(wù)器106上執(zhí)行的超級管理器或在客戶端140上執(zhí)行的超級管理器 管理。
[0035] 客戶端機器140可執(zhí)行、操作或W另外的方式提供應(yīng)用,所述應(yīng)用可W是下列項 中的任何一項:軟件、程序、可執(zhí)行指令、虛擬機、超級管理器、網(wǎng)絡(luò)瀏覽器、基于網(wǎng)絡(luò)的客戶 端、客戶端-服務(wù)器應(yīng)用、瘦客戶端計算客戶端、ActiveX控件、Java小應(yīng)用程序、與軟IP電 話等互聯(lián)網(wǎng)語音協(xié)議(Vol巧通信有關(guān)的軟件、用于流式傳送視頻和/或音頻的應(yīng)用、用于 便于實時數(shù)據(jù)通信的應(yīng)用、HTTP客戶端、FTP客戶端、Oscar客戶端、Telnet客戶端或任何 其它可執(zhí)行指令集。又一些其它實施方式包括顯示由在服務(wù)器106或其它位于遠處的機器 上遠程地執(zhí)行的應(yīng)用程序所產(chǎn)生的應(yīng)用程序輸出的客戶端設(shè)備140。在該些實施方式中, 客戶端設(shè)備140可在應(yīng)用程序窗口、瀏覽器或其它輸出窗口中顯示應(yīng)用程序的輸出。在一 個例子中