遠(yuǎn)程計(jì)算機(jī)的連接的聯(lián)網(wǎng)的環(huán)境中操作。終端240可以是個(gè)人計(jì)算機(jī)、移動(dòng)設(shè)備、膝上型計(jì)算機(jī)、平板電腦、或包括以上關(guān)于通用計(jì)算設(shè)備103或201描述的很多或所有元件的服務(wù)器。在圖2中示出的網(wǎng)絡(luò)連接包括局域網(wǎng)(LAN) 225和廣域網(wǎng)(WAN) 229,但是還可以包括其他網(wǎng)絡(luò)。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算設(shè)備201可以通過(guò)網(wǎng)絡(luò)接口或適配器223連接到LAN 225。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算設(shè)備201可以包括調(diào)制解調(diào)器227或用于通過(guò)例如計(jì)算機(jī)網(wǎng)絡(luò)230 (例如互聯(lián)網(wǎng))的WAN 229建立通信的其它廣域網(wǎng)絡(luò)接口。將理解的是,所示出的網(wǎng)絡(luò)連接是說(shuō)明性的,并且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。計(jì)算設(shè)備201和/或終端240還可以是移動(dòng)終端(例如,移動(dòng)電話、智能電話、PDA、筆記本電腦等等),其包括各種其它組件(例如,電池、揚(yáng)聲器和天線(未示出))。
[0043] 本文描述的方面還可以利用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來(lái)操作??梢赃m于與本文描述的方面一起使用的其它計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境等等。
[0044]如圖2中所示,一個(gè)或多個(gè)客戶端設(shè)備240可以與一個(gè)或多個(gè)服務(wù)器206a-206n(在本文通常稱為“服務(wù)器206”)進(jìn)行通信。在一個(gè)實(shí)施例中,計(jì)算環(huán)境200可以包括安裝在服務(wù)器206和客戶端機(jī)器240之間的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備可以管理客戶端/服務(wù)器連接,并且在某些情況下可以在多個(gè)后端服務(wù)器206之間對(duì)客戶端連接進(jìn)行負(fù)載均衡。
[0045]客戶端機(jī)器240可以在某些實(shí)施例中被稱為單客戶端機(jī)器240或單組客戶端機(jī)器240,而服務(wù)器206可以被稱為單服務(wù)器206或單組服務(wù)器206。在一個(gè)實(shí)施例中,單客戶端機(jī)器240與多于一個(gè)服務(wù)器206進(jìn)行通信,而在另一個(gè)實(shí)施例中,單服務(wù)器206與多于一個(gè)客戶端機(jī)器240進(jìn)行通信。在又一實(shí)施例中,單客戶端機(jī)器240與單服務(wù)器206進(jìn)行通信。
[0046]在一些實(shí)施例中,客戶端機(jī)器240可以通過(guò)以下非窮舉術(shù)語(yǔ)中的任何一個(gè)來(lái)引用:客戶端機(jī)器(多個(gè));客戶端(多個(gè));客戶端計(jì)算機(jī)(多個(gè));客戶端設(shè)備(多個(gè));客戶端計(jì)算設(shè)備(多個(gè));本地機(jī)器(多個(gè));遠(yuǎn)程機(jī)器(多個(gè));客戶端節(jié)點(diǎn)(多個(gè));端點(diǎn)(多個(gè));或端點(diǎn)節(jié)點(diǎn)(多個(gè))。在某些實(shí)施例中,服務(wù)器206可以通過(guò)以下非窮舉術(shù)語(yǔ)中的任何一個(gè)來(lái)引用:服務(wù)器(多個(gè));本地機(jī)器;遠(yuǎn)程機(jī)器;服務(wù)器群(多個(gè))或主計(jì)算設(shè)備(多個(gè))。
[0047]在一個(gè)實(shí)施例中,客戶端機(jī)器240可以是虛擬機(jī)。虛擬機(jī)可以是任何虛擬機(jī),而在一些實(shí)施例中,虛擬機(jī)可以是由1型或2型超級(jí)管理器(例如,由Citrix Systems、IBM、VMware開發(fā)的超級(jí)管理器)或任何其它超級(jí)管理器管理的任何虛擬機(jī)。在一些方面中,虛擬機(jī)可以由超級(jí)管理器管理,而在一些方面中,虛擬機(jī)可以由在服務(wù)器206上執(zhí)行的超級(jí)管理器或在客戶端240上執(zhí)行的超級(jí)管理器來(lái)管理。
[0048]一些實(shí)施例包括顯示由在服務(wù)器206或其它位于遠(yuǎn)程的機(jī)器上遠(yuǎn)程執(zhí)行的應(yīng)用生成的應(yīng)用輸出的客戶端設(shè)備240。在這些實(shí)施例中,客戶端設(shè)備240可以執(zhí)行虛擬機(jī)接收器程序或應(yīng)用以在應(yīng)用窗口、瀏覽器或其它輸出窗口中顯示輸出。在一個(gè)示例中,應(yīng)用是桌面,而在其它示例中,應(yīng)用是生成或呈現(xiàn)桌面的應(yīng)用。桌面可以包括為操作系統(tǒng)的實(shí)例提供用戶界面的圖形殼,其中,本地和/或遠(yuǎn)程應(yīng)用可以被集成。如本文使用的應(yīng)用是在操作系統(tǒng)(并且,可選地,也有桌面)的實(shí)例已經(jīng)被加載后執(zhí)行的程序。
[0049]在一些實(shí)施例中,服務(wù)器206使用遠(yuǎn)程表示協(xié)議或其它程序以發(fā)送數(shù)據(jù)到瘦客戶端或在客戶端上執(zhí)行的遠(yuǎn)程顯示應(yīng)用以呈現(xiàn)由在服務(wù)器206上執(zhí)行的應(yīng)用生成的顯示輸出。瘦客戶端或遠(yuǎn)程顯示協(xié)議可以是以下非窮舉列表的協(xié)議中的任何一個(gè):由Ft.Lauderdale,F(xiàn)lorida的Citrix Systems公司開發(fā)的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議;或由Redmond,Washington的微軟公司制作的遠(yuǎn)程桌面協(xié)議(RDP)。
[0050]遠(yuǎn)程計(jì)算環(huán)境可以包括多于一個(gè)服務(wù)器206a-206n,使得服務(wù)器206a-206n被邏輯組合成服務(wù)群206 (例如,在云計(jì)算環(huán)境中)。服務(wù)器群206可以包括在地理上分散然而并且邏輯地組合在一起的服務(wù)器206或彼此靠近定位同時(shí)邏輯地組合在一起的服務(wù)器206。在一些實(shí)施例中,在服務(wù)器群206內(nèi)的地理上分散的服務(wù)器206a-206n可以使用WAN(廣域)、MAN(城域)或LAN(局域)進(jìn)行通信,其中,不同的地理區(qū)域可以被表征為:不同的洲;洲的不同區(qū)域;不同的國(guó)家;不同的州;不同的城市;不同的校園;不同的房間;或前述地理位置的任何組合。在一些實(shí)施例中,服務(wù)器群206可以作為單個(gè)實(shí)體來(lái)管理,而在一些實(shí)施例中,服務(wù)器群206可以包括多個(gè)服務(wù)器群。
[0051]在一些實(shí)施例中,服務(wù)器群可以包括執(zhí)行實(shí)質(zhì)上類似類型的操作系統(tǒng)平臺(tái)(例如,WINDOWS、UNIX、LINUX、1S、ANDROID、SYMBIAN 等等)的服務(wù)器 206。在其它實(shí)施例中,服務(wù)器群206可以包括執(zhí)行第一類型的操作系統(tǒng)平臺(tái)的第一組一個(gè)或多個(gè)服務(wù)器以及執(zhí)行第二類型的操作系統(tǒng)平臺(tái)的第二組一個(gè)或多個(gè)服務(wù)器。
[0052]服務(wù)器206可以根據(jù)需要被配置為任何類型的服務(wù)器(例如,文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器、設(shè)備、網(wǎng)絡(luò)設(shè)備、網(wǎng)關(guān)、應(yīng)用網(wǎng)關(guān)、網(wǎng)關(guān)服務(wù)器、虛擬化服務(wù)器、部署服務(wù)器、SSL VPN服務(wù)器、防火墻、web服務(wù)器、應(yīng)用服務(wù)器)或被配置為主應(yīng)用服務(wù)器、執(zhí)行活動(dòng)目錄的服務(wù)器或執(zhí)行提供防火墻功能、應(yīng)用功能或負(fù)載均衡功能的應(yīng)用加速程序的服務(wù)器。還可以使用其它服務(wù)器類型。
[0053]—些實(shí)施例包括從客戶端機(jī)器240接收請(qǐng)求、向第二服務(wù)器106b轉(zhuǎn)發(fā)請(qǐng)求以及用來(lái)自第二服務(wù)器l〇6b的響應(yīng)來(lái)響應(yīng)于由客戶端機(jī)器240生成的請(qǐng)求的第一服務(wù)器106a。第一服務(wù)器l〇6a可以獲得可用于客戶端機(jī)器240的應(yīng)用的枚舉以及與托管應(yīng)用的枚舉內(nèi)識(shí)別的應(yīng)用的應(yīng)用服務(wù)器206相關(guān)的地址信息。第一服務(wù)器106a可以然后使用web接口呈現(xiàn)對(duì)客戶端的請(qǐng)求的響應(yīng),并且直接與客戶端240進(jìn)行通信以向客戶端240提供對(duì)識(shí)別的應(yīng)用的訪問(wèn)。一個(gè)或多個(gè)客戶端240和/或一個(gè)或多個(gè)服務(wù)器206可以通過(guò)網(wǎng)絡(luò)230 (例如,網(wǎng)絡(luò)101)傳輸數(shù)據(jù)。
[0054]圖2示出說(shuō)明性桌面虛擬化系統(tǒng)的高級(jí)架構(gòu)。如所示出的,桌面虛擬化系統(tǒng)可以是單服務(wù)器或多服務(wù)器系統(tǒng)或云系統(tǒng),其包括被配置為將虛擬桌面和/或虛擬應(yīng)用提供到一個(gè)或多個(gè)客戶端訪問(wèn)設(shè)備240的至少一個(gè)虛擬化服務(wù)器206。如本文所使用的,桌面指的是圖形環(huán)境或空間,其中一個(gè)或多個(gè)應(yīng)用可以被托管和/或執(zhí)行。桌面可以包括為操作系統(tǒng)的實(shí)例提供用戶接口的圖形殼,其中,本地和/或遠(yuǎn)程應(yīng)用可以被集成。應(yīng)用可以包括在操作系統(tǒng)的實(shí)例(并且,可選地,還有桌面)已經(jīng)被加載之后執(zhí)行的程序。操作系統(tǒng)的每個(gè)實(shí)例可以是物理的(例如,每個(gè)設(shè)備一個(gè)操作系統(tǒng))或虛擬的(例如,在單個(gè)設(shè)備上運(yùn)行的0S的很多實(shí)例)。每個(gè)應(yīng)用可以在本地設(shè)備上執(zhí)行,或在位于遠(yuǎn)程的設(shè)備(例如,遠(yuǎn)程的)上執(zhí)行。
[0055]進(jìn)一步參考圖3,計(jì)算機(jī)設(shè)備301可以被配置為在虛擬化環(huán)境(例如,單服務(wù)器、多服務(wù)器或云計(jì)算環(huán)境)中的虛擬化服務(wù)器。在圖3中示出的虛擬化服務(wù)器301可以被部署為圖2中示出的服務(wù)器206的一個(gè)或多個(gè)實(shí)施例或其它已知的計(jì)算設(shè)備和/或由圖2中示出的服務(wù)器206的一個(gè)或多個(gè)實(shí)施例來(lái)實(shí)現(xiàn)或由其它已知的計(jì)算設(shè)備來(lái)實(shí)現(xiàn)。包括在虛擬化服務(wù)器301中的是硬件層,其可以包括一個(gè)或多個(gè)物理磁盤304、一個(gè)或多個(gè)物理設(shè)備306、一個(gè)或多個(gè)物理處理器308和一個(gè)或多個(gè)物理存儲(chǔ)器316。在一些實(shí)施例中,固件312可以被存儲(chǔ)在物理存儲(chǔ)器316中的存儲(chǔ)器元件之內(nèi)并且可以由物理處理器308中的一個(gè)或多個(gè)來(lái)執(zhí)行。虛擬化服務(wù)器301還可以包括操作系統(tǒng)314,其可以被存儲(chǔ)在物理存儲(chǔ)器316中的存儲(chǔ)器元件之內(nèi)并且由物理處理器308中的一個(gè)或多個(gè)來(lái)執(zhí)行。更進(jìn)一步,超級(jí)管理器302可以被存儲(chǔ)在物理存儲(chǔ)器316中的存儲(chǔ)器元件之內(nèi)并且可以由物理處理器308中的一個(gè)或多個(gè)來(lái)執(zhí)行。
[0056]在物理處理器308中的一個(gè)或多個(gè)上執(zhí)行的可以是一個(gè)或多個(gè)虛擬機(jī)332A-C (通常為332)。每個(gè)虛擬機(jī)332可以具有虛擬磁盤326A-C和虛擬處理器328A-C。在一些實(shí)施例中,第一虛擬機(jī)332A可以使用虛擬處理器328A來(lái)執(zhí)行包括工具堆棧324的控制程序320??刂瞥绦?20可以被稱為控制虛擬機(jī)DomO、Domain 0或用于系統(tǒng)管理和/或控制的其它虛擬機(jī)。在一些實(shí)施例中,一個(gè)或多個(gè)虛擬機(jī)332B-C可以使用虛擬處理器328B-C來(lái)執(zhí)行客戶操作系統(tǒng)330A-B。
[0057]虛擬化服務(wù)器301可以包括具有與虛擬化服務(wù)301進(jìn)行通信的一件或多件硬件的硬件層310。在一些實(shí)施例中,硬件層310可以包括一個(gè)或多個(gè)物理磁盤304、一個(gè)或多個(gè)物理設(shè)備306、一個(gè)或多個(gè)物理處理器308和一個(gè)或多個(gè)存儲(chǔ)器216。物理組件304、306、308和316可以包括例如以上描述的組件中的任何一個(gè)。物理設(shè)備306可以包括例如網(wǎng)絡(luò)接口卡、視頻卡、鍵盤、鼠標(biāo)、輸入設(shè)備、監(jiān)控器、顯示設(shè)備、揚(yáng)聲器、光驅(qū)、儲(chǔ)存設(shè)備、通用串行總線連接、打印機(jī)、掃描儀、網(wǎng)絡(luò)元件(例如,路由器、防火墻、網(wǎng)絡(luò)地址轉(zhuǎn)換器、負(fù)載均衡器、虛擬專用網(wǎng)絡(luò)(VPN)網(wǎng)關(guān)、動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)路由器等等)、或連接到虛擬化服務(wù)器301或與虛擬化服務(wù)器301進(jìn)行通信的任何設(shè)備。在硬件層310中的物理存儲(chǔ)器316可以包括任何類型的存儲(chǔ)器。物理存儲(chǔ)器316可以存儲(chǔ)數(shù)據(jù),并且在一些實(shí)施例中,可以存儲(chǔ)一個(gè)或多個(gè)程序或可執(zhí)行指令組。圖3示出了其中固件312被存儲(chǔ)在虛擬化服務(wù)器301的物理存儲(chǔ)器316內(nèi)的實(shí)施例。存儲(chǔ)在物理存儲(chǔ)器316內(nèi)的程序或可執(zhí)行指令可以由虛擬化服務(wù)器301的一個(gè)或多個(gè)處理器308來(lái)執(zhí)行。
[0058]虛擬化服務(wù)器301還可以包括超級(jí)管理器302。在一些實(shí)施例中,超級(jí)管理器302可以是由在虛擬化服務(wù)器301上的處理器308執(zhí)行以創(chuàng)建和管理任何數(shù)量的虛擬機(jī)332的程序。超級(jí)管理器302可以被稱為虛擬機(jī)監(jiān)控器或平臺(tái)虛擬化軟件。在一些實(shí)施例中,超級(jí)管理器302可以是可執(zhí)行指令和監(jiān)控在計(jì)算機(jī)器上執(zhí)行的虛擬機(jī)的硬件的任何組合。超級(jí)管理器302可以是2型超級(jí)管理器,其中,超級(jí)管理器在執(zhí)行在虛擬化服務(wù)器301上的操作系統(tǒng)314之內(nèi)執(zhí)行。虛擬機(jī)然后在超級(jí)管理器之上的層來(lái)執(zhí)行。在一些實(shí)施例中,2型超級(jí)管理器在用戶的操作系統(tǒng)的環(huán)境內(nèi)執(zhí)行,使得2型超級(jí)管理器與用戶的操作系統(tǒng)進(jìn)行交互。在其它實(shí)施例中,在虛擬化環(huán)境中的一個(gè)或多個(gè)虛擬化服務(wù)器201可以相反包括1型超級(jí)管理器(未示出)。1型超級(jí)管理器可以通過(guò)直接訪問(wèn)硬件層310內(nèi)的硬件和資源執(zhí)行在虛擬化服務(wù)器301上。也就是說(shuō),盡管2型超級(jí)管理器302通過(guò)主操作系統(tǒng)314 (如所示)訪問(wèn)系統(tǒng)資源,但是1型超級(jí)管理器可以直接訪問(wèn)所有系統(tǒng)資源而無(wú)需主操作系統(tǒng)314。1型超級(jí)管理器可以直接在虛擬化服務(wù)器301的一個(gè)或多個(gè)物理處理器308上執(zhí)行,并且可以包括存儲(chǔ)在物理存儲(chǔ)器316中的程序數(shù)據(jù)。
[0059]在一些實(shí)施例中,超級(jí)管理器302可以以模擬操作系統(tǒng)330或控制程序320直接訪問(wèn)系統(tǒng)資源的任何方式向執(zhí)行在虛擬機(jī)332上的操作系統(tǒng)330或控制程序320提供虛擬資源。系統(tǒng)資源可以包括但不限于物理設(shè)備306、物理磁盤304、物理處理器308、物理存儲(chǔ)器316和包括在虛擬化服務(wù)器301的硬件層310中的任何其它組件。超級(jí)管理器302可以用于仿真虛擬硬件、對(duì)物理硬件進(jìn)行分區(qū)、虛擬化物理硬件和/或執(zhí)行提供到計(jì)算環(huán)境的訪問(wèn)的虛擬機(jī)。在另外的其它實(shí)施例中,超級(jí)管理器302針對(duì)執(zhí)行在虛擬化服務(wù)器301上的虛擬機(jī)332控制處理器調(diào)度和存儲(chǔ)器分區(qū)。超級(jí)管理器302可以包括由PaloAlto, California的VMffare公司制作的那些;XEN超級(jí)管理器,其開發(fā)由開源Xen.0rg團(tuán)體監(jiān)督的一種開源產(chǎn)品;由微軟提供的HyperV、VirtualServer或虛擬PC超級(jí)管理器或其它超級(jí)管理器。在一些實(shí)施例中,虛擬化服務(wù)器301執(zhí)行超級(jí)管理器302,其創(chuàng)建虛擬機(jī)平臺(tái),在其上可以執(zhí)行客戶操作系統(tǒng)。在這些實(shí)施例中,虛擬化服務(wù)器301可以被稱為主機(jī)服務(wù)器。這樣的虛擬化服務(wù)器的一個(gè)示例是由Fort Lauderdale, FL的Citrix Systems公司提供的 XEN SERVER。
[0060]超級(jí)管理器302可以創(chuàng)建一個(gè)或多個(gè)虛擬機(jī)332B-C(通常為332),客戶操作系統(tǒng)330在其中執(zhí)行。在一些實(shí)施例中,超級(jí)管理器302可以加載虛擬機(jī)鏡像以創(chuàng)建虛擬機(jī)332。在其它實(shí)施例中,超級(jí)管理器302可以在虛擬機(jī)332內(nèi)執(zhí)行客戶操作系統(tǒng)330。在另外的其它實(shí)施例中,虛擬機(jī)332可以執(zhí)行客戶操作系統(tǒng)