專利名稱:根據(jù)用戶指定的虛擬機(jī)指標(biāo)分配虛擬機(jī)的制作方法
技術(shù)領(lǐng)域:
本申請總的涉及給用戶分配虛擬機(jī)。本申請尤其涉及基于分配給具體用戶的虛擬機(jī)指標(biāo)來分配虛擬機(jī)。
背景技術(shù):
在許多系統(tǒng)中,與虛擬化系統(tǒng)關(guān)聯(lián)的性能指標(biāo)可以被存儲(chǔ)或與一個(gè)或多個(gè)虛擬機(jī)相關(guān)聯(lián)。當(dāng)用戶初始化這些虛擬機(jī)中的一個(gè)時(shí),作出關(guān)于在哪里執(zhí)行虛擬機(jī)的確定。在許多實(shí)例中,這個(gè)確定是部分地基于所存儲(chǔ)的或與虛擬機(jī)關(guān)聯(lián)的性能指標(biāo)而作出的。因此,在這個(gè)實(shí)例以及許多其他系統(tǒng)中,虛擬化系統(tǒng)部分地根據(jù)與虛擬機(jī)關(guān)聯(lián)的性能指標(biāo)確定在哪里執(zhí)行虛擬機(jī)。關(guān)于在哪里執(zhí)行虛擬機(jī)的決定有時(shí)是基于那個(gè)虛擬機(jī)的性能而作出的。這些性能指標(biāo)可包括處理器利用率、內(nèi)存利用率、表示計(jì)算資源的平均利用率的值、帶寬利用率等。 在許多實(shí)例中,這些指標(biāo)不僅是虛擬機(jī)性能而且還是用戶行為的結(jié)果。當(dāng)選擇機(jī)器來執(zhí)行虛擬機(jī)時(shí),可以作這樣的假設(shè)這些性能指標(biāo)表示虛擬機(jī)將施加在機(jī)器上的負(fù)載,所述機(jī)器被選擇用于執(zhí)行虛擬機(jī)。在池化的(pooled)虛擬桌面架構(gòu)(VDI)環(huán)境中,可以從虛擬機(jī)池或組給用戶分配虛擬機(jī)。因此施加在執(zhí)行虛擬機(jī)的機(jī)器上的負(fù)載是登錄到虛擬機(jī)上的用戶和虛擬機(jī)所進(jìn)行的活動(dòng)的共同的結(jié)果。現(xiàn)在需要的是不僅考慮虛擬機(jī)的利用率指標(biāo),而且更具體考慮當(dāng)利用率指標(biāo)被記錄時(shí)哪個(gè)用戶登錄到虛擬機(jī)的系統(tǒng)。針對具體用戶所記錄的利用率指標(biāo)可被用于確定用戶可能施加在虛擬機(jī)上的負(fù)載量。可以根據(jù)施加在虛擬機(jī)上的可能的負(fù)載量來給用戶分配虛擬機(jī)。
發(fā)明內(nèi)容
在一個(gè)方面,此處所描述的是用于確定在哪里執(zhí)行虛擬機(jī)或如何根據(jù)與用戶和被分配給用戶的虛擬機(jī)相關(guān)聯(lián)的指標(biāo)來配置虛擬機(jī)的方法和系統(tǒng)。在許多虛擬化系統(tǒng)中,部分地根據(jù)虛擬機(jī)所關(guān)聯(lián)的歷史的性能指標(biāo)確定在哪里執(zhí)行虛擬機(jī)以及如何配置虛擬機(jī)。 在從虛擬機(jī)池或組中給用戶分配虛擬機(jī)的環(huán)境中,由虛擬機(jī)施加在物理計(jì)算機(jī)器上的工作負(fù)載可能不僅是虛擬機(jī)而且還是訪問虛擬機(jī)的用戶的結(jié)果。此處所描述的方法和系統(tǒng)通過為虛擬機(jī)選擇執(zhí)行環(huán)境以及基于用戶的和被分配給該用戶的虛擬機(jī)的歷史的性能指標(biāo)配置該虛擬機(jī)來解決這個(gè)問題。在又一個(gè)方面,此處所描述的是用于根據(jù)用戶的分類給用戶分配虛擬機(jī)的方法和系統(tǒng),其中用戶的分類是根據(jù)歷史的第一用戶會(huì)話信息和虛擬機(jī)指標(biāo)來確定的。在計(jì)算機(jī)器上執(zhí)行的會(huì)話監(jiān)控器接收第一用戶會(huì)話終止的通知,其中第一用戶會(huì)話訪問第一虛擬機(jī)。響應(yīng)于第一用戶會(huì)話的終止,會(huì)話監(jiān)控器記錄第一用戶會(huì)話信息。接著可以從虛擬機(jī)性能監(jiān)控器獲得用于第一虛擬機(jī)的虛擬機(jī)指標(biāo)。然后,性能監(jiān)控器使用第一用戶會(huì)話信息和第一虛擬機(jī)指標(biāo)來更新第一用戶工作負(fù)載簡檔(profile)。第一用戶工作負(fù)載簡檔對應(yīng)于第一用戶會(huì)話的第一用戶。接著,根據(jù)第一用戶工作負(fù)載簡檔來對第一用戶進(jìn)行分類。然后虛擬桌面架構(gòu)可接收來自第一用戶的對虛擬機(jī)的請求。響應(yīng)于接收這個(gè)請求,根據(jù)第一用戶的分類給第一用戶分配虛擬機(jī)。在一些實(shí)施例中,會(huì)話監(jiān)控器在虛擬桌面架構(gòu)之外執(zhí)行。在其他實(shí)施例中,根據(jù)第一用戶工作負(fù)載簡檔,第一用戶可以被分類為重度用戶、 中度用戶或輕度用戶。在一些實(shí)施例中,性能監(jiān)控器可將所記錄的第一用戶會(huì)話信息映射到所獲得的第一虛擬機(jī)指標(biāo)。在其他實(shí)施例中,第一用戶的分類可被存儲(chǔ)在存儲(chǔ)倉庫中。在一個(gè)實(shí)施例中,在虛擬桌面架構(gòu)之外的計(jì)算機(jī)器上執(zhí)行的分類模塊可以執(zhí)行對第一用戶的分類。在其他實(shí)施例中,會(huì)話監(jiān)控器接收第二用戶會(huì)話終止的通知,其中第二用戶會(huì)話訪問第二虛擬機(jī)。接著,會(huì)話監(jiān)控器可記錄第二用戶會(huì)話信息,以及可獲得用于第二虛擬機(jī)的虛擬機(jī)指標(biāo)。然后,性能監(jiān)控器使用第二用戶會(huì)話信息和第二虛擬機(jī)指標(biāo)來更新第二用戶工作負(fù)載簡檔。第二用戶工作負(fù)載簡檔可對應(yīng)于第二用戶會(huì)話的第二用戶。在一些實(shí)施例中,分類模塊可使用第二用戶工作負(fù)載簡檔來根據(jù)第二用戶工作負(fù)載簡檔對第二用戶進(jìn)行分類。在一些實(shí)施例中,虛擬桌面架構(gòu)可通過從虛擬機(jī)管理器請求虛擬機(jī)來響應(yīng)第一用戶對虛擬機(jī)的請求。虛擬機(jī)管理器響應(yīng)于虛擬桌面架構(gòu)所發(fā)出的請求,可根據(jù)第一用戶的分類給第一用戶分配虛擬機(jī)。在一些實(shí)施例中,分配虛擬機(jī)可包括根據(jù)第一用戶的分類來配置虛擬機(jī)。在其他實(shí)施例中,分配虛擬機(jī)可包括根據(jù)第一用戶的分類來選擇虛擬機(jī)。
在下面的附圖描述了此處描述的系統(tǒng)和方法的某些示意性實(shí)施例,其中相同的附圖標(biāo)記涉及相同的元件。這些所描述的實(shí)施例應(yīng)被理解為對所公開的方法和系統(tǒng)的示意性說明,而不是對于本申請的任何限制。圖IA描述了提供對可執(zhí)行應(yīng)用程序的計(jì)算設(shè)備的遠(yuǎn)程訪問的網(wǎng)絡(luò)環(huán)境的實(shí)施例;圖IB和圖IC是描述計(jì)算設(shè)備的實(shí)施例的框圖;圖2A和圖2B是描述虛擬化環(huán)境的實(shí)施例的框圖;圖3是描述虛擬化環(huán)境和虛擬桌面架構(gòu)環(huán)境的實(shí)施例的框圖;圖4是描述用于記錄虛擬機(jī)利用率指標(biāo)的方法的實(shí)施例的流程圖;圖5A和圖5B是描述用于給用戶分配虛擬機(jī)的方法的實(shí)施例的流程圖;圖6是描述更新用戶工作負(fù)載簡檔的實(shí)施例的流程圖。
具體實(shí)施例方式圖IA描述了計(jì)算環(huán)境101的一個(gè)實(shí)施例,該計(jì)算環(huán)境包括與一個(gè)或多個(gè)服務(wù)器 106A-106N(總的稱為“服務(wù)器106”)通信的一個(gè)或多個(gè)客戶機(jī)102A_102N(總的稱為“客戶機(jī)102”)。網(wǎng)絡(luò)被安裝在客戶機(jī)102與服務(wù)器106之間。在一個(gè)實(shí)施例中,計(jì)算環(huán)境101可包括安裝在服務(wù)器106和客戶機(jī)102之間的設(shè)備。這個(gè)設(shè)備可管理客戶機(jī)/服務(wù)器連接,并且在一些情況下可在多個(gè)后端服務(wù)器之間負(fù)載平衡客戶機(jī)連接。客戶機(jī)102在一些實(shí)施例中可被認(rèn)為是單個(gè)客戶機(jī)102或客戶機(jī)102的一個(gè)組, 而服務(wù)器106可被認(rèn)為是單個(gè)服務(wù)器106或服務(wù)器106的一個(gè)組。在一個(gè)實(shí)施例中,單個(gè)客戶機(jī)102與不只一個(gè)服務(wù)器106通信,而在另一個(gè)實(shí)施例中,單個(gè)服務(wù)器106與不只一個(gè)客戶機(jī)102通信。在另一個(gè)實(shí)施例中,單個(gè)客戶機(jī)102與單個(gè)服務(wù)器106通信。在一些實(shí)施例中,客戶機(jī)102可被稱為下面術(shù)語中的任何一個(gè)客戶機(jī)102、客戶端、客戶計(jì)算機(jī)、客戶設(shè)備、客戶計(jì)算設(shè)備、本地機(jī)器、遠(yuǎn)程機(jī)器、客戶節(jié)點(diǎn)、端點(diǎn)、端節(jié)點(diǎn)或第二機(jī)器。在一些實(shí)施例中,服務(wù)器106可被稱為下列術(shù)語中的任何一個(gè)服務(wù)器、本地機(jī)器、遠(yuǎn)程機(jī)器、服務(wù)器群、主計(jì)算設(shè)備或第一機(jī)器。在一個(gè)實(shí)施例中,客戶機(jī)102可以是虛擬機(jī)102C。虛擬機(jī)102C可以是任何虛擬機(jī),而在一些實(shí)施例中虛擬機(jī)102C可以是由XenSolution、Citrix Systems、IBM、VMware公司開發(fā)的管理程序(hypervisor)或任何其他管理程序管理的任何虛擬機(jī)。在其他實(shí)施例中,虛擬機(jī)102C可以由任何管理程序管理,而在其他實(shí)施例中,虛擬機(jī)102C可由在服務(wù)器 106上執(zhí)行的管理程序或在客戶機(jī)102上執(zhí)行的管理程序管理。在一些實(shí)施例中,客戶機(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,該應(yīng)用可為下列應(yīng)用中的任何一個(gè)軟件、程序、可執(zhí)行指令、虛擬機(jī)、管理程序、web瀏覽器、基于 web的客戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、瘦客戶端計(jì)算客戶機(jī)、ActiveX控件、Java小程序、與類似軟IP電話的網(wǎng)絡(luò)電話(VoIP)通信相關(guān)的軟件、流式傳輸視頻和/或音頻的應(yīng)用、便于實(shí)時(shí)數(shù)據(jù)通信的應(yīng)用、HTTP客戶機(jī)、FTP客戶機(jī)、Oscar客戶機(jī)、Telnet客戶機(jī)或可執(zhí)行指令的任何其他集合。其他實(shí)施例中包括顯示由在服務(wù)器106或其他位于遠(yuǎn)程的機(jī)器上遠(yuǎn)程執(zhí)行的應(yīng)用所產(chǎn)生的應(yīng)用輸出的客戶設(shè)備102。在這些實(shí)施例中,客戶設(shè)備102可以在應(yīng)用窗口、瀏覽器或其他輸出窗口中顯示應(yīng)用輸出。在一個(gè)實(shí)施例中,應(yīng)用是桌面,而在其他實(shí)施例中,應(yīng)用是產(chǎn)生桌面的應(yīng)用。在一些實(shí)施例中,服務(wù)器106執(zhí)行遠(yuǎn)程呈現(xiàn)客戶端或其他客戶端或程序,這些客戶端或程序使用瘦客戶端或遠(yuǎn)程顯示協(xié)議來捕獲由在服務(wù)器106上執(zhí)行的應(yīng)用產(chǎn)生的顯示輸出并且將應(yīng)用顯示輸出傳輸?shù)竭h(yuǎn)程客戶機(jī)102。瘦客戶端或遠(yuǎn)程顯示協(xié)議可以是下列協(xié)議的任何一個(gè)由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司制造的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議;或由位于Washington,Redmond的Microsoft (微軟)公司制造的遠(yuǎn)程桌面協(xié)議(RDP)。計(jì)算環(huán)境可包括不只一個(gè)服務(wù)器106A-106N,這樣的服務(wù)器106A-106N邏輯上一起聚合到服務(wù)器群106中。服務(wù)器群106可包括地理上分散并且邏輯上一起聚合到服務(wù)器群106中的服務(wù)器106,或者互相之間位置接近的并且邏輯上一起聚合到服務(wù)器群106中的服務(wù)器106。在一些實(shí)施例中,服務(wù)器群106中地理上分散的服務(wù)器106A-106N可使用 WAN、MAN或LAN通信,其中不同地理區(qū)域可以被表征為不同大陸、大陸的不同地區(qū)、不同國家、不同州、不同城市、不同校園、不同房間、或前述地理位置的任何組合。在一些實(shí)施例中, 服務(wù)器群106可以作為單個(gè)實(shí)體被管理,而在其它實(shí)施例中,服務(wù)器群106可包括多個(gè)服務(wù)器群106。在一些實(shí)施例中,服務(wù)器群106可包括執(zhí)行實(shí)質(zhì)上類似的類型的操作系統(tǒng)平臺(tái)(例如,由 Washington,Redmond 的 Microsoft 公司制造的 WINDOWS NT,Unix,Linux 或 SNOW LEOPARD)的服務(wù)器106。在其他實(shí)施例中,服務(wù)器群106可包括執(zhí)行第一類型操作系統(tǒng)平臺(tái)的第一組服務(wù)器106和執(zhí)行第二類型操作系統(tǒng)平臺(tái)的第二組服務(wù)器106。在其他實(shí)施例中,服務(wù)器群106可包括執(zhí)行不同類型操作系統(tǒng)平臺(tái)的服務(wù)器106。在一些實(shí)施例中,服務(wù)器106可為任何服務(wù)器類型。在其他實(shí)施例中,服務(wù)器106 可以是下列服務(wù)器類型的任何一個(gè)文件服務(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ù)器106、或者執(zhí)行提供防火墻功能、應(yīng)用功能或負(fù)載平衡功能的應(yīng)用加速程序的服務(wù)器106。在一些實(shí)施例中, 服務(wù)器106可以是包含遠(yuǎn)程認(rèn)證撥入用戶服務(wù)的RADIUS服務(wù)器。在服務(wù)器106包括設(shè)備的實(shí)施例中,服務(wù)器106可以是由下列制造商的任何一個(gè)制造的設(shè)備=Citrix應(yīng)用網(wǎng)絡(luò)組、 Silver Peak Systems 公司、RiVerbed Thechnology 公司、F5Networks 公司、或 Juniper Networks公司。一些實(shí)施例中包括第一服務(wù)器106A,其接收來自客戶機(jī)102的請求、轉(zhuǎn)發(fā)該請求到的第二服務(wù)器106B,以及使用來自第二服務(wù)器106B的響應(yīng)來對客戶機(jī)102所產(chǎn)生的請求進(jìn)行響應(yīng)。第一服務(wù)器106A可獲得客戶機(jī)102可用的應(yīng)用列表,以及與寄載應(yīng)用列表中所識別的應(yīng)用的應(yīng)用服務(wù)器106相關(guān)的地址信息。第一服務(wù)器106A還可使用web接口對客戶機(jī)請求提供響應(yīng),并直接與客戶機(jī)102通信以向客戶機(jī)102提供對所識別應(yīng)用的訪問ο在一些實(shí)施例中,服務(wù)器106可執(zhí)行下列應(yīng)用中的任何一個(gè)使用瘦客戶端協(xié)議傳輸應(yīng)用顯示數(shù)據(jù)到客戶機(jī)的瘦客戶端應(yīng)用、遠(yuǎn)程顯示呈現(xiàn)應(yīng)用、Citrix Systems公司的 CITRIX ACCESS SUITE 的任何部分,諸如 METAFRAM 或者 CITRIX PRESENTATION SERVER ; Microsoft公司制造的MICROSOFT WINDOWS終端服務(wù)或由Citrix Systems公司開發(fā)的ICA 客戶端。另一個(gè)實(shí)施例中包括為諸如下列應(yīng)用服務(wù)器的服務(wù)器106 提供電子郵件服務(wù)的郵件服務(wù)器,例如由Microsoft公司制造的MICROSOFT EXCHANGE ;web或hternet服務(wù)器、 桌面共享服務(wù)器,協(xié)同服務(wù)器或任何其他類型的應(yīng)用服務(wù)器。在其他實(shí)施例中服務(wù)器106 執(zhí)行下列類型的所寄載的服務(wù)器應(yīng)用的任何一個(gè)=CitrixOnline Division公司提供的 G0T0MEETING、位于加利福尼亞州Santa Clara的WebEx公司提供的TOBEX,或者M(jìn)icrosoft 公司提供的 Microsoft Office LIVE MEETING。在一些實(shí)施例中,客戶機(jī)102可以是尋求對服務(wù)器106提供的資源進(jìn)行訪問的客戶機(jī)節(jié)點(diǎn)。在其他實(shí)施例中,服務(wù)器106可為客戶機(jī)102或客戶機(jī)節(jié)點(diǎn)提供對所寄載的資源的訪問。在一些實(shí)施例中,服務(wù)器106作為主節(jié)點(diǎn)運(yùn)行,這樣它可與一個(gè)或多個(gè)客戶機(jī)102 或服務(wù)器106通信。在一些實(shí)施例中,主節(jié)點(diǎn)可識別并且向一個(gè)或多個(gè)客戶機(jī)102或服務(wù)器106提供與寄載所請求的應(yīng)用的服務(wù)器106相關(guān)的地址信息。在其他實(shí)施例中,主節(jié)點(diǎn)可以是服務(wù)器群106、客戶機(jī)102、客戶機(jī)節(jié)點(diǎn)102的集群,或者設(shè)備。一個(gè)或多個(gè)客戶機(jī)102和/或一個(gè)或多個(gè)服務(wù)器106可以在被安裝在計(jì)算環(huán)境 101中的機(jī)器和設(shè)備之間的網(wǎng)絡(luò)104上傳輸數(shù)據(jù)。網(wǎng)絡(luò)104可包括一個(gè)或多個(gè)子網(wǎng),且可被安裝在被包含在計(jì)算環(huán)境101中的客戶機(jī)102、服務(wù)器106、計(jì)算機(jī)器和設(shè)備的任何組合之間。在一些實(shí)施例中網(wǎng)絡(luò)104可以是局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN),包括位于客戶機(jī)102和服務(wù)器106之間的多個(gè)子網(wǎng)104的主網(wǎng)104、具有專用子網(wǎng)104的主公共網(wǎng)104、具有公共子網(wǎng)104的主專用網(wǎng)104或者具有專用子網(wǎng)104的主專用網(wǎng)104。在進(jìn)一步的實(shí)施例中網(wǎng)絡(luò)104可以是任何的下列網(wǎng)絡(luò)類型點(diǎn)對點(diǎn)網(wǎng)絡(luò)、廣播網(wǎng)絡(luò)、電信網(wǎng)絡(luò)、數(shù)據(jù)通信網(wǎng)絡(luò)、計(jì)算機(jī)網(wǎng)絡(luò)、ATM(異步傳輸模式)網(wǎng)絡(luò)、SONET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò)、SDH(同步數(shù)字體系)網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)或包括諸如紅外信道或者衛(wèi)星頻帶無線鏈路的網(wǎng)絡(luò) 104。網(wǎng)絡(luò)104的拓?fù)湓诓煌膶?shí)施例中可以不同,可能的網(wǎng)絡(luò)拓?fù)浒偩€型網(wǎng)絡(luò)拓?fù)洹?星型網(wǎng)絡(luò)拓?fù)?、環(huán)型網(wǎng)絡(luò)拓?fù)?、基于中繼器的網(wǎng)絡(luò)拓?fù)浠蛘叻謱有切途W(wǎng)絡(luò)拓?fù)?。額外的實(shí)施例中包括使用協(xié)議在移動(dòng)設(shè)備間通信的移動(dòng)電話網(wǎng)絡(luò)的網(wǎng)絡(luò)104,其中,協(xié)議可以是下列協(xié)議的任何一個(gè)AMPS、TDMA, CDMA、GSM、GPRS UMTS或可在移動(dòng)設(shè)備間傳輸數(shù)據(jù)的其他任何協(xié)議。圖IB所示是計(jì)算設(shè)備100的實(shí)施例,其中如圖IA所示的客戶機(jī)102和服務(wù)器 106可以被部署為和/或被執(zhí)行在此處所描述和圖示的計(jì)算設(shè)備100的任何實(shí)施例上。被包含在計(jì)算設(shè)備100中的系統(tǒng)總線150可以和下列組件通信中央處理單元121、主存儲(chǔ)器 122、存儲(chǔ)裝置128、輸入輸出(I/O)控制器123、顯示設(shè)備124A-1MN、安裝設(shè)備116和網(wǎng)絡(luò)接口 118。在一個(gè)實(shí)施例中存儲(chǔ)裝置1 包括操作系統(tǒng)、軟件程序和客戶機(jī)代理120。在一些實(shí)施例中,I/O控制器123還連接到鍵盤1 和指示設(shè)備127。其他實(shí)施例中可包括連接到不只一個(gè)輸入輸出設(shè)備130A-130N的I/O控制器123。圖IC描述了計(jì)算設(shè)備100的一個(gè)實(shí)施例,其中如圖IA所示的客戶機(jī)102和服務(wù)器 106可以被部署為和/或被執(zhí)行在此處所描述和圖示的計(jì)算設(shè)備100的任何實(shí)施例上。被包含在計(jì)算設(shè)備100中的系統(tǒng)總線150可以和下列組件通信橋170和第一 I/O設(shè)備130A。 在另一個(gè)實(shí)施例中,橋170還和主中央處理單元121通信,其中中央處理單元121可進(jìn)一步與第二 I/O設(shè)備130B、主存儲(chǔ)器122和高速緩沖存儲(chǔ)器140通信。I/O端口、存儲(chǔ)器端口 103和主處理器被包含在中央處理單元121中。在計(jì)算設(shè)備100的實(shí)施例中可包括被下列組件配置的任何一個(gè)表征的中央處理單元121 響應(yīng)并處理從主存儲(chǔ)器單元122取出的指令的邏輯電路;微處理器單元,諸如由htel公司制造的微處理器單元;由Motorola公司制造的微處理器單元;由加利福尼亞州Santa Clara的Transmeta公司制造的微處理器單元;諸如國際商業(yè)機(jī)器公 W] (International Bussiness Machines) ^it W RS/6000 ^hS^I ; Advanced Micro Devices公司制造的處理器;或邏輯電路的任何其他組合。中央處理單元122的其他實(shí)施例可包括下列任何組合微處理器、微控制器、具有單處理核的中央處理單元、具有兩個(gè)處理核的中央處理單元或具有不只一個(gè)處理核的中央處理單元。盡管圖IC描述了包括單個(gè)中央處理單元121的計(jì)算設(shè)備100,但在一些實(shí)施例中計(jì)算設(shè)備100可包括一個(gè)或多個(gè)處理單元121。在這些實(shí)施例中,計(jì)算設(shè)備100可存儲(chǔ)和執(zhí)行固件或其他可執(zhí)行指令,這些固件或指令在被執(zhí)行時(shí),指引一個(gè)或多個(gè)處理單元121來同時(shí)執(zhí)行指令或同時(shí)在一個(gè)數(shù)據(jù)片上執(zhí)行指令。在其他實(shí)施例中,計(jì)算設(shè)備100可存儲(chǔ)和執(zhí)行固件或其他可執(zhí)行指令,這些固件或指令在被執(zhí)行時(shí),指引一個(gè)或多個(gè)處理單元的每個(gè)執(zhí)行一組指令的一部分。例如每個(gè)處理單元121可被指示執(zhí)行程序的一部分或者程序中的特定模塊。在一些實(shí)施例中,處理單元121可包括一個(gè)或多個(gè)處理核。例如處理單元121可有兩個(gè)核、四個(gè)核、8個(gè)核等。在一個(gè)實(shí)施例中,處理單元121可包括一個(gè)或多個(gè)并行處理核。在一些實(shí)施例中處理單元121的處理核可訪問作為全局地址空間的可用內(nèi)存、或在其他實(shí)施例中,計(jì)算設(shè)備100的存儲(chǔ)器可被分段并分配到處理單元121的特定核。在一個(gè)實(shí)施例中,計(jì)算設(shè)備100中的一個(gè)或多個(gè)處理核或處理器的每個(gè)可訪問本地存儲(chǔ)器。在又一個(gè)實(shí)施例中,計(jì)算設(shè)備100的存儲(chǔ)器可在一個(gè)或多個(gè)處理器或處理核之間共享,而其他存儲(chǔ)器可被特定處理器或處理器子集訪問。在計(jì)算設(shè)備100包括不只一個(gè)處理單元的實(shí)施例中,多個(gè)處理單元可被包含在單個(gè)集成電路(IC)中。在一些實(shí)施例中,這些多個(gè)處理器可通過內(nèi)部高速總線連接在一起,該總線可被稱為元件互聯(lián)總線。在計(jì)算設(shè)備100包括一個(gè)或多個(gè)處理單元121,或處理單元121包括一個(gè)或多個(gè)處理核的實(shí)施例中,處理器可同時(shí)在多片數(shù)據(jù)上執(zhí)行單個(gè)指令(SIMD),或在其他實(shí)施例中處理器可同時(shí)在多片數(shù)據(jù)上執(zhí)行多個(gè)指令(MIMD)。在一些實(shí)施例中,計(jì)算設(shè)備100可包括任意數(shù)量的SIMD和MIMD處理器。在一些實(shí)施例中,計(jì)算設(shè)備100可包括圖像處理器或圖形處理單元(未示出)。圖形處理單元可包括軟件和硬件的任何組合,并且還可輸入圖形數(shù)據(jù)和圖形指令、從所輸入的數(shù)據(jù)和指令渲染圖形和輸出所渲染的圖形。在一些實(shí)施例中,圖形處理單元可被包含在處理單元121的內(nèi)部。在其他實(shí)施例中,計(jì)算設(shè)備100可包括一個(gè)或多個(gè)處理單元121,其中至少一個(gè)處理單元121被專用于處理和渲染圖形。在計(jì)算設(shè)備100的一個(gè)實(shí)施例中包括通過也稱為背側(cè)總線的第二總線與高速緩沖存儲(chǔ)器140通信的中央處理單元,而在計(jì)算設(shè)備100的又一個(gè)實(shí)施例中包括使用系統(tǒng)總線150與高速緩沖存儲(chǔ)器140通信的中央處理單元121。在一些實(shí)施例中,本地系統(tǒng)總線 150也被中央處理單元所使用來與不只一種類型的I/O設(shè)備130A-130N進(jìn)行通信。在一些實(shí)施例中,本地系統(tǒng)總線150可以是下列類型總線的任何一個(gè)VESA VL總線、ISA總線、 EISA總線、微通道體系結(jié)構(gòu)(MCA)總線、PCI總線、PCI-X總線、PCI-Express總線或NuBus。 計(jì)算設(shè)備100的其他實(shí)施例中包括為與中央處理單元121通信的視頻顯示器124的I/O設(shè)備130A-130N。在計(jì)算設(shè)備100的其他形式中包括通過下列連接的任何一個(gè)連接到I/O設(shè)備130A-130N的處理器121,這些連接如下。超傳輸(HyperTransport)、快速I/O或者 InfiniBand.計(jì)算設(shè)備100的進(jìn)一步的實(shí)施例包括處理器121,該處理器使用本地互連總線與一個(gè)I/O設(shè)備130A進(jìn)行通信,并使用直接連接與第二 I/O設(shè)備130B進(jìn)行通信。在一些實(shí)施例中,計(jì)算設(shè)備100包括主存儲(chǔ)器單元122和高速緩沖存儲(chǔ)器140。 高速緩沖存儲(chǔ)器140可以是任何存儲(chǔ)器類型,且在一些實(shí)施例中可以是下列類型存儲(chǔ)器的任何一個(gè)SRAM、BSRAM或EDRAM。其他實(shí)施例中包括的高速緩沖存儲(chǔ)器140和主存儲(chǔ)器單元122,可以是下列類型存儲(chǔ)器的任何一個(gè)靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM)、Burst (脈沖串)SRAM或SynchBurst SRAM (BSRAM)、動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器DRAM、快速頁模式DRAM (FPM DRAM)、增強(qiáng) DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出 RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出 DRAM (EDO DRAM)、 脈沖串?dāng)U展數(shù)據(jù)輸出 DRAM (BEDO DRAM)、增強(qiáng)型 DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PClOO SDRAM、雙數(shù)據(jù)傳輸率 SDRAM (DDR SDRAM)、增強(qiáng) SDRAM (ESDRAM)、同步鏈路 DRAM(SLDRAM)、直接Rambus DRAM(DRDRAM)、鐵電RAM(FRAM)或任何其他類型的存儲(chǔ)器。進(jìn)一步的實(shí)施例包括可通過下列方式訪問主存儲(chǔ)器122的中央處理單元121,這些方式包括 系統(tǒng)總線150、存儲(chǔ)器端口 103、或允許處理器121訪問存儲(chǔ)器122的其他連接、總線或端
計(jì)算設(shè)備100的一個(gè)實(shí)施例支持下列安裝設(shè)備116的任何一個(gè)⑶-ROM驅(qū)動(dòng)器、 ⑶-R/RW驅(qū)動(dòng)器、DVD-ROM驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng)器、USB設(shè)備、可引導(dǎo)介質(zhì)、可引導(dǎo) ⑶、諸如ΚΝ0ΡΡΙΧ 的用于GNU/Linux分發(fā)的可引導(dǎo)⑶、硬盤驅(qū)動(dòng)器或適于安裝應(yīng)用或軟件的任意其它設(shè)備。在一些實(shí)施例中應(yīng)用可包括客戶機(jī)代理120或客戶機(jī)代理120的任意部分。計(jì)算設(shè)備100還可以包括可以為一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器或者一個(gè)或多個(gè)獨(dú)立磁盤冗余陣列的存儲(chǔ)設(shè)備128,這里存儲(chǔ)設(shè)備被配置為存儲(chǔ)操作系統(tǒng)、軟件、程序應(yīng)用、或者至少客戶機(jī)代理120的一部分。計(jì)算設(shè)備100的進(jìn)一步實(shí)施例中包括用作存儲(chǔ)設(shè)備128的安裝設(shè)備 116。計(jì)算設(shè)備100還可包括網(wǎng)絡(luò)接口 118以通過多種連接,包括但不限于標(biāo)準(zhǔn)電話線路、LAN 或 WAN 鏈路(例如 802. 11,Tl,T3、56kb、X. 25、SNA、DECNET)、寬帶連接(如 ISDN、幀中繼、ATM、千兆以太網(wǎng)、SONET上以太網(wǎng)(Ethernet-over-SONET))、無線連接、或上述任意或全部的某個(gè)組合,來連接到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)。使用多種通信協(xié)議(例如 TCP/IP、IPX、SPX、NetBIOS、Ethernet、ARCNET、SONET、SDH、光纖分布數(shù)據(jù)接口 (FDDI)、 RS232、RS485、IEEE802. 1UIEEE802. lla、IEEE802. lib、IEEE802. llg、CDMA、GSM、WiMax 和直接異步連接)也可建立連接。計(jì)算設(shè)備100的一個(gè)形式包括可以通過任意類型和/或形式的網(wǎng)關(guān)或諸如安全套接字層(SSL)或傳輸層安全(TLS),或Citrix Systems公司制造的 Gitrix網(wǎng)關(guān)協(xié)議的隧道協(xié)議來與其他計(jì)算設(shè)備100’通信的網(wǎng)絡(luò)接口 118。網(wǎng)絡(luò)接口 118 的形式可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)卡、卡總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計(jì)算設(shè)備100連接到能夠通信并執(zhí)行這里所描述的方法和系統(tǒng)的網(wǎng)絡(luò)的任意其它設(shè)備中的任何一個(gè)。計(jì)算設(shè)備100的實(shí)施例包括下列1/0設(shè)備130A-130N的任何一個(gè)鍵盤126、指示設(shè)備127、鼠標(biāo)、觸控板、光筆、軌跡球、話筒、繪圖板、視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)、或可執(zhí)行此處描述的方法和系統(tǒng)的任何其他輸入/輸出設(shè)備。在一些實(shí)施例中1/0控制器123可連接多個(gè)1/0設(shè)備130A-130N以便控制一個(gè)或多個(gè)1/0設(shè)備。1/0設(shè)備130A-130N的一些實(shí)施例被配置為提供存儲(chǔ)或安裝介質(zhì)116,而其他實(shí)施例可為接收諸如由Twintech Industry公司制造的設(shè)備的USB閃存驅(qū)動(dòng)線的USB存儲(chǔ)設(shè)備提供通用串行總線(USB)。在其他實(shí)施例中1/0設(shè)備130可以是系統(tǒng)總線150和外部通信總線, 如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、FireWire總線、FireWire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級 HIPPI總線、krialPlus總線、SCI/LAMP總線、光纖信道總線或串行連接的SCSI總線之間的橋。在一些實(shí)施例中,計(jì)算設(shè)備100可以連接多個(gè)顯示設(shè)備124A-1MN,在其他實(shí)施例中計(jì)算設(shè)備100可以連接單個(gè)顯示設(shè)備124,而仍在其他實(shí)施例中計(jì)算設(shè)備100可以連接相同類型或形式的顯示設(shè)備1MA-124N或不同的類型或形式的顯示設(shè)備。顯示設(shè)備 124A-124N的實(shí)施例可被如下方式支持和實(shí)現(xiàn)一個(gè)或多個(gè)1/0設(shè)備130A-130N、1/0控制器123、1/0設(shè)備130A-130N和1/0控制器123的組合、能支持顯示設(shè)備124A-1MN的硬件和軟件的任何組合、任意類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)器和/或庫,以與顯示設(shè)備124A-124N對接、通信、連接或使用顯示設(shè)備。在一些實(shí)施例中,計(jì)算設(shè)備100可被配置為使用一個(gè)或多個(gè)顯示設(shè)備124A-1MN,這些配置包括有多個(gè)連接器以與多個(gè)顯示設(shè)備124A-124N對接;多個(gè)視頻適配器且每個(gè)視頻適配器與顯示設(shè)備124A-1MN中的一個(gè)或多個(gè)連接;有操作系統(tǒng)被配置用于支持多個(gè)顯示設(shè)備124A-124N ;使用被包含在計(jì)算設(shè)備 100內(nèi)部的電路和軟件來連接并使用多個(gè)顯示設(shè)備124A-1MN ;和在主計(jì)算設(shè)備100和多個(gè)次級計(jì)算設(shè)備上的執(zhí)行軟件來使主計(jì)算設(shè)備100能使用次級計(jì)算設(shè)備的顯示設(shè)備作為用于主計(jì)算設(shè)備的顯示設(shè)備124A-1MN。計(jì)算設(shè)備100的其它實(shí)施例可包括由多個(gè)次級計(jì)算設(shè)備提供的多個(gè)顯示設(shè)備124A-1MN,所述多個(gè)顯示設(shè)備124A-124N通過網(wǎng)絡(luò)連接到主計(jì)算設(shè)備100。在一些實(shí)施例中,計(jì)算設(shè)備100可執(zhí)行任意操作系統(tǒng),而在其他實(shí)施例中,計(jì)算設(shè)備100可執(zhí)行下列操作系統(tǒng)的任何一個(gè)諸如WINDOWS 3. X、WINDOWS 95、WINDOWS 98、 WINDOWS 2000、WINDOWS NT 3. 51、WINDOWS NT 4. 0、WINDOWS CE、WINDOWS XP 禾口 WINDOWS VISTA的版本的MICROSOFT WINDOWS的操作系統(tǒng);不同發(fā)行版本的Unix和Linux操作系統(tǒng); 由蘋果計(jì)算機(jī)公司(Apple Computer)出品的MAC OS的任意版本;由國際商業(yè)機(jī)器公司出品的OS/2 ;任意嵌入式操作系統(tǒng);任意實(shí)時(shí)操作系統(tǒng);任意開源操作系統(tǒng);任意專有操作系統(tǒng);任意用于移動(dòng)計(jì)算設(shè)備的操作系統(tǒng),或者任意其它操作系統(tǒng)。在其他實(shí)施例中,計(jì)算設(shè)備100可執(zhí)行多個(gè)操作系統(tǒng)。例如計(jì)算設(shè)備100可執(zhí)行PARALLELS或能執(zhí)行或管理執(zhí)行第一操作系統(tǒng)的虛擬機(jī)的又一個(gè)虛擬化平臺(tái),而計(jì)算設(shè)備100執(zhí)行不同于第一操作系統(tǒng)的第二操作系統(tǒng)。計(jì)算設(shè)備100可以體現(xiàn)為下列計(jì)算設(shè)備的任何一個(gè)計(jì)算工作站、桌面計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、服務(wù)器、手持計(jì)算機(jī)、移動(dòng)電話、便攜通信設(shè)備、媒體播放設(shè)備、游戲系統(tǒng)、移動(dòng)計(jì)算設(shè)備、上網(wǎng)本、由蘋果計(jì)算機(jī)公司出品的IPOD系列設(shè)備、由索尼公司出品的 PLAYSTATION系列設(shè)備的任何一個(gè)、由Nintendo公司出品的Nintendo系列設(shè)備的任何一個(gè);由微軟公司出品的XBOX系列設(shè)備的任何一個(gè)或能夠通信并有足夠的處理器能力和存儲(chǔ)容量以執(zhí)行此處所述的方法和系統(tǒng)的任意其它類型和/或形式的計(jì)算或者電信或媒體設(shè)備。在其它實(shí)施例中,計(jì)算設(shè)備100可以是諸如下列移動(dòng)設(shè)備的任何一個(gè)的移動(dòng)設(shè)備 JAVA使能(java-enabled)蜂窩電話或個(gè)人數(shù)據(jù)助理(PDA),諸如 i55sr、i58sr,i85s,i88s, i90c,i95cl或imllOO,以上這些均由摩托羅拉公司制造;由Kyocera公司制造的6035或 71;35 ;由Samsung電子有限公司制造的i300或i330 ;由Palm公司出品的Treol80、270、 600、650、680、700p、700w或750智能電話;或具有與設(shè)備一致的不同的處理器、操作系統(tǒng)和輸入設(shè)備的任何計(jì)算設(shè)備;或能執(zhí)行此處所述的方法和系統(tǒng)的任何其他移動(dòng)計(jì)算設(shè)備。在其他實(shí)施例中,計(jì)算設(shè)備100可以是下列移動(dòng)計(jì)算設(shè)備中的任何一個(gè)黑莓(BladAenr) 的任一系列,或由Research In Motion Limited公司出品的其他手持設(shè)備;由蘋果計(jì)算機(jī)公司出品的iPhone ;Palm Pre ;掌上電腦;掌上電腦電話或任何其他手持移動(dòng)設(shè)備。圖2A示出虛擬化環(huán)境的一個(gè)實(shí)施例。被包括在計(jì)算設(shè)備201中的硬件層可包括一個(gè)或多個(gè)物理盤204、一個(gè)或多個(gè)物理設(shè)備206、一個(gè)或多個(gè)物理處理器208和物理存儲(chǔ)器216。在一些實(shí)施例中,固件212可被存儲(chǔ)在物理存儲(chǔ)器216的存儲(chǔ)器元件中并且由一個(gè)或多個(gè)物理處理器208執(zhí)行。計(jì)算設(shè)備210還可包括被存儲(chǔ)在物理存儲(chǔ)器216的存儲(chǔ)器元件中并且由一個(gè)或多個(gè)物理處理器208執(zhí)行的操作系統(tǒng)214。進(jìn)一步,管理程序202可被儲(chǔ)在物理存儲(chǔ)器216的存儲(chǔ)器元件中并且由一個(gè)或多個(gè)物理處理器208執(zhí)行。一個(gè)或多個(gè)虛擬機(jī)232A-C(總稱為23 在一個(gè)或多個(gè)物理處理器208上執(zhí)行。每個(gè)虛擬機(jī)232可以有虛擬盤226A-C和虛擬處理器228A-C。在一些實(shí)施例中,第一虛擬機(jī)232A可在虛擬處理器228A上執(zhí)行包括工具堆棧224的控制程序220。在其他實(shí)施例中,一個(gè)或多個(gè)虛擬機(jī) 232B-C可在虛擬處理器228B-C上執(zhí)行客戶操作系統(tǒng)230A-B。進(jìn)一步參考圖2A,在一個(gè)實(shí)施例的更多細(xì)節(jié)中,所描述的虛擬化環(huán)境包括Type2 管理程序202,或執(zhí)行在計(jì)算設(shè)備201上的操作系統(tǒng)214中的管理程序。在一些實(shí)施例中, Type2管理程序在操作系統(tǒng)214環(huán)境中執(zhí)行并且虛擬機(jī)在管理程序之上的層次執(zhí)行。在許多實(shí)施例中,Type2管理程序在用戶的操作系統(tǒng)的上下文中執(zhí)行,這樣Type2管理程序與用戶操作系統(tǒng)進(jìn)行交互。在一些實(shí)施例中,虛擬化環(huán)境包括計(jì)算設(shè)備201。計(jì)算設(shè)備201可以是任何計(jì)算設(shè)備,在一些實(shí)施例中計(jì)算設(shè)備201可以是此處描述的任何計(jì)算機(jī)、設(shè)備或計(jì)算機(jī)器。盡管圖 2A示出了單個(gè)計(jì)算設(shè)備201,在一些實(shí)施例中由計(jì)算設(shè)備201存儲(chǔ)和執(zhí)行的模塊、程序、虛擬機(jī)和命令可以被不只一個(gè)計(jì)算設(shè)備201執(zhí)行。仍在其他實(shí)施例中,計(jì)算設(shè)備201可以是服務(wù)器群。在一個(gè)實(shí)施例中,計(jì)算設(shè)備201可包括硬件層210,該硬件層包括與計(jì)算設(shè)備201 通信的一個(gè)或多個(gè)硬件。在一些實(shí)施例中,硬件層210可包括被包含在計(jì)算設(shè)備201中的任意硬件。在一些實(shí)施例中,硬件層210可包括一個(gè)或多個(gè)物理盤204、一個(gè)或多個(gè)物理設(shè)備206、一個(gè)或多個(gè)物理處理器208和存儲(chǔ)器216。在一些實(shí)施例中,硬件層210可包括一個(gè)或多個(gè)物理盤204。物理盤204可以是任何硬盤,而在一些實(shí)施例中物理盤204可以是此處描述的任何硬盤。在一些實(shí)施例中, 硬件層210可包括一個(gè)物理盤204。在其他實(shí)施例中,硬件層210可包括不只一個(gè)物理盤 204。在一些實(shí)施例中,計(jì)算設(shè)備201可與被包含在硬件層210中作為物理盤204的外部硬
盤通^[曰ο在其他實(shí)施例中,硬件層210可包括處理器208。在一些實(shí)施例中,處理器208可以是任何處理器,而其他實(shí)施例中處理器208可以是此處描述的任何處理器。處理器208可包括一個(gè)或多個(gè)處理核。在其他實(shí)施例中計(jì)算設(shè)備201可包括一個(gè)或多個(gè)處理器208。在一些實(shí)施例中,計(jì)算設(shè)備201可包括一個(gè)或多個(gè)不同處理器,例如處理單元、圖形處理單元或物理引擎。在一些實(shí)施例中,物理設(shè)備206可以是被包含在計(jì)算設(shè)備201中的任何設(shè)備。在一些實(shí)施例中,物理設(shè)備206可以是在計(jì)算設(shè)備201中所包含的設(shè)備和與計(jì)算設(shè)備201通信的外部設(shè)備的任何組合。在一些實(shí)施例中,計(jì)算設(shè)備201可包括一個(gè)或多個(gè)物理設(shè)備206。 物理設(shè)備206可以是下列設(shè)備中的任何一個(gè)網(wǎng)絡(luò)接口卡、視頻卡、鍵盤、鼠標(biāo)、輸入設(shè)備、 顯示器、顯示設(shè)備、揚(yáng)聲器、光驅(qū)、存儲(chǔ)設(shè)備、通用串行總線連接、連接到計(jì)算設(shè)備201的任何設(shè)備、與計(jì)算設(shè)備201通信的任何設(shè)備、打印機(jī)、掃描儀或任何其他設(shè)備或此處所描述的任何設(shè)備。硬件層210還可包括可包含任何類型存儲(chǔ)器的物理存儲(chǔ)器216。在一些實(shí)施例中物理存儲(chǔ)器216可包括此處描述的任何存儲(chǔ)器類型。物理存儲(chǔ)器216可存儲(chǔ)數(shù)據(jù),以及在一些實(shí)施例中可存儲(chǔ)一個(gè)或多個(gè)程序或可執(zhí)行指令集。圖2A所示固件212被存儲(chǔ)在計(jì)算設(shè)備201的物理存儲(chǔ)器216中的實(shí)施例。被存儲(chǔ)在物理存儲(chǔ)器216中的程序或可執(zhí)行指令可由計(jì)算設(shè)備201上的一個(gè)或多個(gè)處理器208所執(zhí)行。
在一些實(shí)施例中,固件212可以是可執(zhí)行指令和硬件的任一組合,其控制與計(jì)算設(shè)備201通信的硬件或被包含在計(jì)算設(shè)備201內(nèi)的硬件。在一些實(shí)施例中,固件212可控制硬件層210內(nèi)的一個(gè)或多個(gè)硬件。在多個(gè)實(shí)施例中,固件212可被計(jì)算設(shè)備201內(nèi)的一個(gè)或多個(gè)處理器208所執(zhí)行。在一些實(shí)施例中,固件212可以是諸如基本輸入/輸出系統(tǒng) (BIOS)的啟動(dòng)固件。在計(jì)算設(shè)備201上執(zhí)行的額外固件212可以與BIOS相接口。在一個(gè)實(shí)施例中,計(jì)算設(shè)備201可包括由一個(gè)或多個(gè)物理處理器208執(zhí)行的操作系統(tǒng)214。在一些實(shí)施例中,操作系統(tǒng)214是能直接訪問硬件層210中硬件設(shè)備的用戶操作系統(tǒng)。操作系統(tǒng)214可以是任何操作系統(tǒng)并且在一些實(shí)施例中,操作系統(tǒng)214可以是此處所述的任何操作系統(tǒng)。圖2A示出了一個(gè)實(shí)施例,其中管理程序202在計(jì)算設(shè)備201上執(zhí)行的操作系統(tǒng)214的上下文中執(zhí)行。在這個(gè)實(shí)施例中,操作系統(tǒng)214可被稱為宿主(host) 操作系統(tǒng)214,而其他操作系統(tǒng)可被稱為客戶(guest)操作系統(tǒng)??蛻舨僮飨到y(tǒng)可包括執(zhí)行在虛擬機(jī)232上的客戶操作系統(tǒng)230A-B,和/或控制程序220。在一些實(shí)施例中,計(jì)算設(shè)備201可包括管理程序202。在一些實(shí)施例中,管理程序 202可以是在計(jì)算設(shè)備201上由處理器208執(zhí)行以便管理任一數(shù)量的虛擬機(jī)的程序。管理程序202可以被稱為虛擬機(jī)監(jiān)控器,或平臺(tái)虛擬化軟件。在一些實(shí)施例中,管理程序202可以是監(jiān)控執(zhí)行在計(jì)算設(shè)備上的虛擬機(jī)的可執(zhí)行指令和硬件的任何組合。盡管圖2A示出了包括Type2管理程序202的虛擬化環(huán)境,計(jì)算設(shè)備201可執(zhí)行任何其他類型的管理程序。例如,計(jì)算設(shè)備201可以執(zhí)行包括Typel管理程序202的虛擬化環(huán)境。在一些實(shí)施例中,計(jì)算設(shè)備201可執(zhí)行一個(gè)或多個(gè)管理程序202。這些一個(gè)或多個(gè)管理程序202可以是相同類型的管理程序,或在其他實(shí)施例中可以是不同類型的管理程序。在一些實(shí)施例中,管理程序202可以以模擬直接訪問系統(tǒng)資源的操作系統(tǒng)230或控制程序220的任何方式向在虛擬機(jī)232上執(zhí)行的操作系統(tǒng)230或控制程序220提供虛擬資源。系統(tǒng)資源可包括物理設(shè)備、物理盤、物理處理器、物理存儲(chǔ)器216和被包含在計(jì)算設(shè)備201硬件層210中的任何其他組件。在這些實(shí)施例中,管理程序202可被用來仿真虛擬硬件、劃分物理硬件、虛擬化物理硬件和執(zhí)行提供對計(jì)算環(huán)境的訪問的虛擬機(jī)。仍在其他實(shí)施例中,管理程序202為在計(jì)算設(shè)備201上執(zhí)行的虛擬機(jī)232控制處理器調(diào)度和存儲(chǔ)器分區(qū)。管理程序202可包括由位于加利福尼亞州I^lo Alto的VMWare公司制造的管理程序; XEN管理程序,其開發(fā)由開源Xen. org團(tuán)體監(jiān)督的開源產(chǎn)品;由微軟公司提供的HyperV、虛擬服務(wù)器和虛擬PC管理程序,或其他。在一些實(shí)施例中,計(jì)算設(shè)備201執(zhí)行管理程序202, 該管理程序創(chuàng)建客戶操作系統(tǒng)可在其上執(zhí)行的虛擬機(jī)平臺(tái)。在這些實(shí)施例中,計(jì)算設(shè)備201 可被稱為宿主服務(wù)器。這樣的計(jì)算設(shè)備的例子是由位于佛羅里達(dá)州i^ort Lauderdale的 Citrix Systems 公司提供的 XEN SERVER。在一個(gè)實(shí)施例中,管理程序202創(chuàng)建操作系統(tǒng)230在其中執(zhí)行的虛擬機(jī) 232A-B (總的表示為23 。例如,在這些實(shí)施例的一個(gè)中,管理程序202加載虛擬機(jī)映像以創(chuàng)建虛擬機(jī)232。在這些實(shí)施例的另一個(gè)中,管理程序202在虛擬機(jī)232中執(zhí)行操作系統(tǒng) 230。仍在這些實(shí)施例的另一個(gè)中,虛擬機(jī)232執(zhí)行操作系統(tǒng)230。在一個(gè)實(shí)施例中,管理程序202控制至少一個(gè)虛擬機(jī)232的執(zhí)行。在又一個(gè)實(shí)施例中,管理程序202將由計(jì)算設(shè)備201提供的至少一個(gè)硬件資源的抽象提供給至少一個(gè)虛擬機(jī)232。這個(gè)抽象還可被稱為計(jì)算設(shè)備201上可利用的硬件、內(nèi)存、處理器和其他系統(tǒng)資源的虛擬化或虛擬視圖。在一些實(shí)施例中,硬件或硬件資源可以是在硬件層210中可利用的任何硬件資源。在其他實(shí)施例中,管理程序202控制虛擬機(jī)232訪問計(jì)算設(shè)備201中可利用的物理處理器208的方式??刂茖ξ锢硖幚砥?08的訪問可包括確定虛擬機(jī)232是否應(yīng)該訪問處理器208以及物理處理器性能如何呈現(xiàn)給虛擬機(jī)232。在一些實(shí)施例中,計(jì)算設(shè)備201可寄載或執(zhí)行一個(gè)或多個(gè)虛擬機(jī)232。虛擬機(jī)232 可被稱為域、客戶和/或DOMAIN U。虛擬機(jī)232是一組可執(zhí)行指令,當(dāng)其被處理器208執(zhí)行時(shí),模擬物理計(jì)算機(jī)的操作,從而虛擬機(jī)232可類似物理計(jì)算設(shè)備執(zhí)行程序或進(jìn)程。盡管圖2A計(jì)算設(shè)備201寄載3個(gè)虛擬機(jī)232的實(shí)施例,在其他實(shí)施例中,計(jì)算設(shè)備201可寄載任何數(shù)量的虛擬機(jī)232。在一些實(shí)施例中,管理程序202為每個(gè)虛擬機(jī)232提供物理硬件、 內(nèi)存、處理器和對該虛擬機(jī)可利用的其他系統(tǒng)資源的唯一的虛擬視圖。在一些實(shí)施例中,該唯一的虛擬視圖可以基于下列的任何一個(gè)虛擬機(jī)許可;向一個(gè)或多個(gè)虛擬機(jī)標(biāo)識符應(yīng)用的策略引擎;訪問虛擬機(jī)的用戶;在虛擬機(jī)上執(zhí)行的應(yīng)用;被虛擬機(jī)訪問的網(wǎng)絡(luò);或任何其他類似標(biāo)準(zhǔn)。在其他實(shí)施例中,管理程序202向每個(gè)虛擬機(jī)232提供物理硬件、存儲(chǔ)器、處理器和對該虛擬機(jī)可利用的其他系統(tǒng)資源的基本上類似的虛擬視圖。每個(gè)虛擬機(jī)232可包括虛擬盤226A-C (總稱為226)和虛擬處理器228A-C (總稱為228)。在一些實(shí)施例中,虛擬盤2 是計(jì)算設(shè)備201的一個(gè)或多個(gè)物理盤204的虛擬化視圖,或計(jì)算設(shè)備201的一個(gè)或多個(gè)物理盤204的一部分的虛擬化視圖。物理盤204的虛擬化視圖可由管理程序202產(chǎn)生、提供和管理。在一些實(shí)施例中,管理程序202可為每個(gè)虛擬機(jī)232提供物理盤204的唯一視圖。因此,在這些實(shí)施例中,當(dāng)與其他虛擬盤2 相比較時(shí),被包含在每個(gè)虛擬機(jī)232中的虛擬盤2 可以是唯一的。虛擬處理器2 可以是計(jì)算設(shè)備201的一個(gè)或多個(gè)物理處理器208的虛擬化視圖。在一些實(shí)施例中,物理處理器208的虛擬化視圖可由管理程序202產(chǎn)生、提供和管理。 在一些實(shí)施例中,虛擬處理器2 基本上具有至少一個(gè)物理處理器208的所有相同特征。在其他實(shí)施例中,虛擬處理器2 提供物理處理器208的經(jīng)修改的視圖,從而虛擬處理器228 的至少一些特征可以不同于相應(yīng)的物理處理器208??刂瞥绦?20可執(zhí)行至少一個(gè)應(yīng)用來管理和配置在虛擬機(jī)232以及在一些實(shí)施例中計(jì)算設(shè)備上執(zhí)行的客戶操作系統(tǒng)。在一些實(shí)施例中,控制程序220可被稱為控制操作系統(tǒng)、控制域、域0或dom 0。在一些實(shí)施例中,控制程序220可以是XEN管理程序的DOMAIN 0或DOM 0??刂瞥绦?20可以執(zhí)行管理應(yīng)用或程序以進(jìn)一步顯示可被管理員用來訪問每個(gè)虛擬機(jī)232的功能和/或管理虛擬機(jī)232的用戶接口。在一些實(shí)施例中,由管理程序產(chǎn)生的用戶接口可被用于終止虛擬機(jī)232的執(zhí)行、為虛擬機(jī)232分配資源、為虛擬機(jī)232指派權(quán)限或者管理與虛擬機(jī)232相關(guān)的安全證書。在一些實(shí)施例中,控制程序220可啟動(dòng)新的虛擬機(jī)232或終止正在執(zhí)行的虛擬機(jī)232。在其他實(shí)施例中,控制程序220可直接訪問硬件層210內(nèi)的硬件和/或資源。仍在又一個(gè)實(shí)施例中,控制程序220可與在計(jì)算設(shè)備210上且在虛擬機(jī)232的上下文之外執(zhí)行的程序和應(yīng)用相接口。類似地,控制程序220可與在虛擬機(jī)232的上下文內(nèi)執(zhí)行的程序和應(yīng)用相接口。在一個(gè)實(shí)施例中,管理程序202可執(zhí)行虛擬機(jī)232內(nèi)的控制程序220。管理程序 202可創(chuàng)建和啟動(dòng)虛擬機(jī)232。在管理程序202執(zhí)行虛擬機(jī)232內(nèi)的控制程序220的實(shí)施例中,該虛擬機(jī)232也可被稱為控制虛擬機(jī)232。仍在又一個(gè)實(shí)施例中,控制程序220執(zhí)行在被授權(quán)直接訪問計(jì)算設(shè)備201上物理資源的虛擬機(jī)232中。在一些實(shí)施例中,在第一計(jì)算設(shè)備201A(未示出)上的控制程序220A(未示出) 可與在第二計(jì)算設(shè)備201B(未示出)上的控制程序220B(未示出)交換數(shù)據(jù)。在這些實(shí)施例中,第一計(jì)算設(shè)備201A可遠(yuǎn)離第二計(jì)算設(shè)備201B。控制程序220A-B可通過在第一計(jì)算設(shè)備201A上執(zhí)行的管理程序202A(未示出)和在第二計(jì)算設(shè)備201B上執(zhí)行的管理程序 202B(未示出)之間的通信鏈路交換數(shù)據(jù)。通過這條通信鏈路,計(jì)算設(shè)備201A-B可交換關(guān)于處理器和資源池中其他可利用的物理資源的數(shù)據(jù)。而且通過管理程序202A-B之間的連接,管理程序202A-B可管理分布在一個(gè)或多個(gè)計(jì)算設(shè)備201A-B上的資源池,例如在第一計(jì)算設(shè)備201A和第二計(jì)算設(shè)備201B上的可利用資源。管理程序202A-B還可虛擬化這些資源并使它們對于在計(jì)算設(shè)備201A-B上執(zhí)行的虛擬機(jī)232成為可利用的。在本實(shí)施例的又一情況下,單個(gè)管理程序202可管理和控制在兩個(gè)計(jì)算設(shè)備201A-B上執(zhí)行的虛擬機(jī)232。在一些實(shí)施例中,控制程序220與一個(gè)或多個(gè)客戶操作系統(tǒng)230A_B(總稱為230) 交互??刂瞥绦?20可通過管理程序202與客戶操作系統(tǒng)230通信。通過管理程序202,客戶操作系統(tǒng)230可請求訪問物理盤204、物理處理器208、存儲(chǔ)器216、物理設(shè)備206和硬件層210中的任何其他組件。仍在其他實(shí)施例中,客戶操作系統(tǒng)230可通過由管理程序202 建立的通信信道與控制程序220通信,諸如,例如通過由管理程序202使之可用的多個(gè)共享內(nèi)存頁。在一些實(shí)施例中,控制程序220包括用于與計(jì)算設(shè)備201所提供的網(wǎng)絡(luò)硬件直接通信的網(wǎng)絡(luò)后端驅(qū)動(dòng)程序。在這些實(shí)施例中的一個(gè),網(wǎng)絡(luò)后端驅(qū)動(dòng)程序處理來自至少一個(gè)客戶操作系統(tǒng)230的至少一個(gè)虛擬機(jī)請求。在其他實(shí)施例中,控制程序220包括用于與計(jì)算設(shè)備201上存儲(chǔ)元件通信的塊后端驅(qū)動(dòng)程序。在這些實(shí)施例的一個(gè),塊后端驅(qū)動(dòng)程序根據(jù)從客戶操作系統(tǒng)230接收到的至少一個(gè)請求從存儲(chǔ)元件中讀數(shù)據(jù)和寫數(shù)據(jù)。在又一個(gè)實(shí)施例中,控制程序220包括工具堆棧224。在又一個(gè)實(shí)施例中,工具堆棧2M提供用于與管理程序202交互、與其他控制程序220 (例如,在第二計(jì)算設(shè)備20IB上) 通信或管理計(jì)算設(shè)備201上的虛擬機(jī)232的功能。在又一個(gè)實(shí)施例中,工具堆棧2M包括用于向虛擬機(jī)群的管理員提供改善的管理功能的經(jīng)定制的應(yīng)用。在一些實(shí)施例中,工具堆棧2M和控制程序220的至少一個(gè)包括提供接口的管理API,所述接口用于遠(yuǎn)程配置和控制在計(jì)算設(shè)備201上運(yùn)行的虛擬機(jī)。在其他實(shí)施例中,控制程序220通過工具堆棧2M與管理程序202通信。在一個(gè)實(shí)施例中,管理程序202在由管理程序202創(chuàng)建的虛擬機(jī)232內(nèi)執(zhí)行客戶操作系統(tǒng)230。在又一個(gè)實(shí)施例中,客戶操作系統(tǒng)230向計(jì)算設(shè)備201的用戶提供對計(jì)算環(huán)境中的資源的訪問。仍在又一個(gè)實(shí)施例中,資源包括程序、應(yīng)用、文檔、文件、多個(gè)應(yīng)用、多個(gè)文件、可執(zhí)行程序文件、桌面環(huán)境、計(jì)算環(huán)境和對計(jì)算設(shè)備201的用戶可用的其他資源。仍在又一個(gè)實(shí)施例中,資源可以通過多種訪問方法傳送到計(jì)算設(shè)備201,這些訪問方法包括但不限于以下方法傳統(tǒng)直接在計(jì)算設(shè)備201上安裝、通過應(yīng)用流的方法傳送到計(jì)算設(shè)備201 上、將第二計(jì)算設(shè)備201’上資源的執(zhí)行所產(chǎn)生的輸出數(shù)據(jù)傳送到計(jì)算設(shè)備201且通過表示層協(xié)議傳達(dá)給計(jì)算設(shè)備201、將通過在第二計(jì)算設(shè)備201,上執(zhí)行的虛擬機(jī)執(zhí)行資源所產(chǎn)生的輸出數(shù)據(jù)傳送到計(jì)算設(shè)備201,或者從連接到計(jì)算設(shè)備201上的諸如USB設(shè)備的可移動(dòng)存儲(chǔ)設(shè)備上執(zhí)行或通過在設(shè)備201上執(zhí)行的虛擬機(jī)執(zhí)行并且產(chǎn)生輸出數(shù)據(jù)。在一些實(shí)施例中,計(jì)算設(shè)備201傳輸由資源的執(zhí)行所產(chǎn)生的輸出數(shù)據(jù)到另一個(gè)計(jì)算設(shè)備201’。在一個(gè)實(shí)施例中,客戶操作系統(tǒng)230與該客戶操作系統(tǒng)230在其上執(zhí)行的虛擬機(jī)結(jié)合在一起,形成意識不到其是虛擬機(jī)的完全虛擬化的虛擬機(jī);這樣的機(jī)器可被稱為 "Domain U HVM(硬件虛擬機(jī))虛擬機(jī)”。在又一個(gè)實(shí)施例中,完全虛擬化機(jī)包括模擬基本輸入/輸出系統(tǒng)(BIOS)的軟件以便在完全虛擬化機(jī)中執(zhí)行操作系統(tǒng)。仍在又一個(gè)實(shí)施例中, 完全虛擬化機(jī)可包括通過與管理程序202通信提供功能的驅(qū)動(dòng)程序。在這樣的實(shí)施例中, 驅(qū)動(dòng)程序典型地意識到自己執(zhí)行在虛擬化的環(huán)境中。在又一個(gè)實(shí)施例中,客戶操作系統(tǒng)230與該客戶操作系統(tǒng)230在其上所執(zhí)行的虛擬機(jī)結(jié)合在一起,形成意識到其是虛擬機(jī)的超虛擬化(paravirtualized)的虛擬機(jī);這樣的機(jī)器可被稱為“Domain U PV虛擬機(jī)”。在又一個(gè)實(shí)施例中,超虛擬化機(jī)包括完全虛擬化機(jī)中所不包含的額外的驅(qū)動(dòng)程序。仍在又一個(gè)實(shí)施例中,超虛擬化機(jī)包括如上所述的被包含在控制程序220中的網(wǎng)絡(luò)后端驅(qū)動(dòng)程序和塊驅(qū)動(dòng)程序。圖2B中所示的是說明Typel管理程序202的虛擬化環(huán)境的又一個(gè)實(shí)施例。在計(jì)算設(shè)備201上執(zhí)行的管理程序202可以直接訪問硬件層210中的硬件和資源。由管理程序 202管理的虛擬機(jī)232可以是不安全的虛擬機(jī)232B和/或安全的虛擬機(jī)232C。盡管圖2A 所描述的虛擬化環(huán)境中圖示了宿主操作系統(tǒng)214,圖2B中的虛擬化環(huán)境的實(shí)施例不執(zhí)行宿主操作系統(tǒng)。進(jìn)一步參考圖2B,更詳細(xì)地,虛擬化環(huán)境包括Typel管理程序202。在一些實(shí)施例中Typel管理程序202執(zhí)行在“裸金屬”上,從而管理程序202可以直接訪問計(jì)算設(shè)備201 上執(zhí)行的所有應(yīng)用和進(jìn)程、計(jì)算設(shè)備201上所有資源和計(jì)算設(shè)備201上所有硬件或與計(jì)算設(shè)備201通信的所有硬件。盡管Type2管理程序202通過宿主操作系統(tǒng)214訪問系統(tǒng)資源, Typel管理程序202可直接訪問所有系統(tǒng)資源。Typel管理程序202可直接執(zhí)行在計(jì)算設(shè)備201的一個(gè)或多個(gè)物理處理器上,并且可包括存儲(chǔ)在物理存儲(chǔ)器216中的程序數(shù)據(jù)。在采用Typel管理程序202配置的虛擬化環(huán)境中,宿主操作系統(tǒng)可被一個(gè)或多個(gè)虛擬機(jī)232所執(zhí)行。這樣計(jì)算設(shè)備201的用戶可以指派一個(gè)或多個(gè)虛擬機(jī)232作為該用戶的個(gè)人機(jī)器。這個(gè)虛擬機(jī)可通過允許用戶以與用戶通過宿主操作系統(tǒng)214與計(jì)算設(shè)備201 交互的基本上相同方式來與計(jì)算設(shè)備201交互來模擬宿主操作系統(tǒng)。虛擬機(jī)232可以是不安全的虛擬機(jī)232B和安全的虛擬機(jī)232C。盡管圖2B示出了安全的虛擬機(jī)和不安全的虛擬機(jī),有時(shí)它們也被稱為有特權(quán)的和無特權(quán)的虛擬機(jī)。在一些實(shí)施例中,可基于虛擬機(jī)與在相同虛擬化環(huán)境中執(zhí)行的其他虛擬機(jī)的比較來確定虛擬機(jī)的安全。例如,要是第一虛擬機(jī)訪問資源池則第二虛擬機(jī)不訪問同樣的資源池;當(dāng)?shù)谝惶摂M機(jī)被認(rèn)為是安全虛擬機(jī)232A時(shí)第二虛擬機(jī)可被認(rèn)為是不安全的虛擬機(jī)232B。在一些實(shí)施例中,虛擬機(jī)323訪問一個(gè)或多個(gè)系統(tǒng)資源的能力可使用由控制程序220或管理程序202產(chǎn)生的配置接口來進(jìn)行配置。在其他實(shí)施例中,虛擬機(jī)232可承受的訪問量可以是查看下列標(biāo)準(zhǔn)的集合的任意的結(jié)果訪問虛擬機(jī)的用戶、在虛擬機(jī)上執(zhí)行的一個(gè)或多個(gè)應(yīng)用、虛擬機(jī)標(biāo)識符、基于一個(gè)或多個(gè)因素指派給虛擬機(jī)的風(fēng)險(xiǎn)等級或任何其他類似標(biāo)準(zhǔn)。在一些實(shí)施例中,不安全虛擬機(jī)232B可被阻止訪問安全虛擬機(jī)232A可以訪問的資源、硬件、存儲(chǔ)器位置和應(yīng)用。例如安全虛擬機(jī)232C可訪問一個(gè)或多個(gè)公司資源,而不安全虛擬機(jī)232B不能訪問任何公司資源。
圖3所示的是包括在虛擬化環(huán)境302執(zhí)行的計(jì)算設(shè)備201和執(zhí)行虛擬桌面架構(gòu) (VDI)平臺(tái)310的計(jì)算設(shè)備203以及性能監(jiān)控系統(tǒng)316的系統(tǒng)的一個(gè)實(shí)施例。在計(jì)算設(shè)備 201上執(zhí)行的虛擬化環(huán)境302可為此處所描述的任一虛擬化環(huán)境。圖示的實(shí)施例描述了包括管理程序202、控制虛擬機(jī)232A、一個(gè)或多個(gè)附加的虛擬機(jī)232B的虛擬化環(huán)境302??刂铺摂M機(jī)232A可包括與包含元數(shù)據(jù)322A的虛擬盤226A通信的控制程序220,并且控制虛擬機(jī)232A可以執(zhí)行VDI客戶端320。附加的虛擬機(jī)232B可執(zhí)行與包含元數(shù)據(jù)322B的虛擬盤226B通信的客戶操作系統(tǒng)230A。計(jì)算設(shè)備201可包括與管理程序202相接口的硬件層210。另一個(gè)計(jì)算設(shè)備203可包括VDI平臺(tái)310,該VDI平臺(tái)310包括一組VDI用戶會(huì)話 314和虛擬桌面代理350,所述一組VDI用戶會(huì)話314包含一個(gè)或多個(gè)用戶會(huì)話304A-N(此處總稱為用戶會(huì)話304)。在一些實(shí)施例中,計(jì)算設(shè)備203還可執(zhí)行能夠訪問一個(gè)或多個(gè)虛擬機(jī)232A-N(此處總稱為虛擬機(jī)23 的虛擬機(jī)池312的虛擬機(jī)管理器352.另一個(gè)計(jì)算設(shè)備203還可執(zhí)行性能監(jiān)控系統(tǒng)316,所述性能監(jiān)控系統(tǒng)316包括分類系統(tǒng)318、用戶工作負(fù)責(zé)簡檔存儲(chǔ)倉庫322、虛擬機(jī)指標(biāo)存儲(chǔ)倉庫324、虛擬機(jī)性能監(jiān)控器326、會(huì)話記錄存儲(chǔ)倉庫 330和會(huì)話監(jiān)控器332。進(jìn)一步參考圖3,在一個(gè)實(shí)施例的更多細(xì)節(jié)中,計(jì)算設(shè)備201和另一個(gè)計(jì)算設(shè)備 203可以是此處所述的任何計(jì)算設(shè)備100。在一些實(shí)施例中,計(jì)算設(shè)備201,203可以是服務(wù)器106、客戶機(jī)102或又一類型的計(jì)算機(jī)器或移動(dòng)設(shè)備。計(jì)算設(shè)備201,203可以被稱為第一計(jì)算機(jī)、第二計(jì)算機(jī)、第三計(jì)算機(jī)等。而且,計(jì)算設(shè)備201,203可在諸如此處所述的任何網(wǎng)絡(luò)104的網(wǎng)絡(luò)上互相通信。正如計(jì)算設(shè)備201,203可以是此處所述的任何計(jì)算機(jī)器100,硬件層210也可以是此處所描述的任何硬件層210并且可包括此處描述的任何計(jì)算機(jī)硬件。執(zhí)行在計(jì)算設(shè)備201上的虛擬化環(huán)境302可以是此處所描述的任何虛擬化環(huán)境。 尤其是,虛擬化環(huán)境302可包括圖2A所示的管理程序配置或圖2B所示的管理程序配置。在一個(gè)實(shí)施例中,被包含在虛擬化環(huán)境302中的管理程序202可以是任何管理程序202,或此處所描述的任何管理程序202。在一些實(shí)施例中,管理程序202可以被包含在諸如圖2A和 2B所描述的那些配置的任何管理程序配置中。圖3示出了包括虛擬化環(huán)境302的計(jì)算設(shè)備302,該虛擬化環(huán)境302包括諸如此處所描述的任一控制虛擬機(jī)232的控制虛擬機(jī)232??刂铺摂M機(jī)232可執(zhí)行諸如此處所述的任一控制程序220的控制程序220,并且可包括諸如此處所述的任一虛擬盤226的虛擬盤 226。盡管圖3圖示了包括控制虛擬機(jī)232A和另一個(gè)虛擬機(jī)232B的虛擬化環(huán)境302,在一些實(shí)施例中,虛擬化環(huán)境302可包括任何數(shù)量的虛擬機(jī)232。虛擬機(jī)232可執(zhí)行諸如此處所描述的任一客戶操作系統(tǒng)230的客戶操作系統(tǒng)230,并且可包括諸如此處所述的任一虛擬盤226的虛擬盤226。在一個(gè)實(shí)施例中,被包含在每個(gè)虛擬機(jī)232中的虛擬盤2 還可包含元數(shù)據(jù) 322A-B (總稱為元數(shù)據(jù)32 或與之相關(guān)聯(lián)。虛擬盤2 可包含、存儲(chǔ)元數(shù)據(jù)322或以其他方式與之相關(guān)聯(lián)。在一些實(shí)施例中,元數(shù)據(jù)322可以是任意形式的元數(shù)據(jù),例如電子信息、電子文件、標(biāo)簽、圖像、文檔、文本文件、表格、列表、或包含信息的電子數(shù)據(jù)的任何其他形式。 元數(shù)據(jù)322可包含關(guān)于虛擬盤226的信息,例如盤的類型、與盤相關(guān)聯(lián)的功能特性、用于盤的壓縮方案,或關(guān)于盤的任何其他信息。VDI客戶端320可由控制虛擬機(jī)232執(zhí)行。在一些實(shí)施例中,VDI客戶端320可由任何虛擬機(jī)執(zhí)行,而在其他實(shí)施例中計(jì)算設(shè)備201或管理程序202可執(zhí)行VDI客戶端320。 VDI客戶端320可以是建立與在遠(yuǎn)程計(jì)算設(shè)備203上執(zhí)行的VDI平臺(tái)310的通信鏈路的程序或應(yīng)用。當(dāng)與VDI平臺(tái)310建立鏈路時(shí),VDI客戶端320可流式傳輸或下載VDI平臺(tái)310 所管理的資源,并且發(fā)送關(guān)于其他虛擬機(jī)232的VDI平臺(tái)310信息,諸如虛擬機(jī)性能指標(biāo)或用戶活動(dòng)數(shù)據(jù)。在一些實(shí)施例中,VDI客戶端320可與VDI平臺(tái)310通信來接收虛擬機(jī)數(shù)據(jù)。使用該虛擬機(jī)數(shù)據(jù),VDI客戶端320可從該虛擬機(jī)數(shù)據(jù)實(shí)例化、執(zhí)行或以其他方式產(chǎn)生虛擬機(jī)。在一個(gè)實(shí)施例中,VDI客戶端320使用虛通道與遠(yuǎn)程計(jì)算機(jī)通信。在其他實(shí)施例中,VDI客戶端320可使用虛通道與在任何遠(yuǎn)程計(jì)算機(jī)上執(zhí)行的任何客戶機(jī)或任何應(yīng)用通信。在一些實(shí)施例中,虛通道可以是通信通道或使用ICA協(xié)議的任何其他通信鏈路。盡管圖3圖示了 VDI客戶端320,但在一些實(shí)施例中虛擬化環(huán)境302可以不包含 VDI客戶端320。在一個(gè)實(shí)施例中,VDI客戶端320也可與虛擬機(jī)管理器352通信。在一些實(shí)施例中,虛擬機(jī)管理器352可以是Citrix Systems發(fā)布的XENSERVER應(yīng)用。在又一個(gè)實(shí)施例中,虛擬化環(huán)境302可以不包括VDI客戶端320,而是包括控制程序220,所述控制程序 220與在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行的虛擬機(jī)部署應(yīng)用或虛擬機(jī)管理器通信。在一些實(shí)施例中,在虛擬化環(huán)境302中執(zhí)行的控制虛擬機(jī)232A或任何其他虛擬機(jī) 232或應(yīng)用可以與性能監(jiān)控系統(tǒng)316通信以便傳輸用于在虛擬化環(huán)境302中執(zhí)行的虛擬機(jī) 232的虛擬機(jī)性能指標(biāo)。在一些實(shí)施例中,虛擬機(jī)性能指標(biāo)可包括任何下列指標(biāo)盤的使用量統(tǒng)計(jì);處理器負(fù)載統(tǒng)計(jì);帶寬使用量統(tǒng)計(jì);平均負(fù)載統(tǒng)計(jì);吞吐量統(tǒng)計(jì);關(guān)于在任何一個(gè)時(shí)間周期的計(jì)算資源的使用量的統(tǒng)計(jì);執(zhí)行具體進(jìn)程所用的時(shí)間;虛擬機(jī)已使用了多長時(shí)間;在任何時(shí)間周期計(jì)算系統(tǒng)資源的可利用性;以及任何其他有關(guān)的虛擬機(jī)性能指標(biāo)。盡管在一些實(shí)施例中,控制虛擬機(jī)232A直接與性能監(jiān)控系統(tǒng)316通信,但在其他實(shí)施例中,控制虛擬機(jī)232A通過虛擬機(jī)管理器352與性能監(jiān)控系統(tǒng)316間接地通信。在其他實(shí)施例中,在虛擬化環(huán)境302中執(zhí)行的控制虛擬機(jī)232A或任何其他虛擬機(jī) 232或應(yīng)用可以與性能監(jiān)控系統(tǒng)316直接地或間接地通信以便向性能監(jiān)控系統(tǒng)316傳輸所記錄的用戶會(huì)話信息。在一些實(shí)施例中,具體用戶可訪問虛擬化環(huán)境302中的一個(gè)或多個(gè)虛擬機(jī)232。該用戶可訪問虛擬機(jī)上可利用的系統(tǒng)資源,可使用與虛擬機(jī)接口的網(wǎng)絡(luò),或以其他方式與虛擬機(jī)交互。在一些實(shí)施例中,通過與虛擬機(jī)交互,用戶可以產(chǎn)生用戶信息、用戶數(shù)據(jù)、用戶統(tǒng)計(jì)或用戶性能信息。該用戶信息可以被捆綁于特定用戶或用戶會(huì)話并且可以通過攔截響應(yīng)于在用戶會(huì)話上下文中的用戶活動(dòng)所產(chǎn)生的信息和數(shù)據(jù)而獲得。用戶信息可以包括在用戶會(huì)話304期間用戶所請求的資源量;用戶所訪問的應(yīng)用數(shù)量;在用戶會(huì)話 304期間由用戶所產(chǎn)生的用戶請求所引起的平均負(fù)載量;用戶標(biāo)識符;滿足用戶請求所需的帶寬數(shù)量;以及任何其他有關(guān)的用戶性能信息。在一些實(shí)施例中,用戶會(huì)話信息可包括記錄用戶會(huì)話的開始時(shí)間和結(jié)束時(shí)間的會(huì)話記錄。被傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316的用戶會(huì)話信息可包括會(huì)話記錄,以及在一些實(shí)施例中可包括任何下列信息用戶訪問或以其他方式使用的時(shí)間周期(例如,日期和時(shí)間);用戶的用戶標(biāo)識符;以及用戶所訪問的虛擬機(jī)的標(biāo)識符。在一些實(shí)施例中,當(dāng)虛擬機(jī)指標(biāo)被傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316時(shí),這些指標(biāo)根據(jù)訪問虛擬機(jī)的用戶而被記錄或存儲(chǔ)。例如當(dāng)用戶終止用戶會(huì)話時(shí),在用戶會(huì)話期間所產(chǎn)生的用戶會(huì)話信息和虛擬機(jī)指標(biāo)可被傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316。在一些實(shí)施例中,虛擬機(jī)指標(biāo)可以以這種方式被映射到用戶會(huì)話信息上,即虛擬機(jī)指標(biāo)可與指示器一起被存儲(chǔ),所述指示器指示指標(biāo)是在用戶會(huì)話信息所描述的會(huì)話期間所產(chǎn)生的。因此,如果虛擬機(jī)指標(biāo)被存儲(chǔ)在數(shù)據(jù)庫中,那么包含虛擬機(jī)指標(biāo)的記錄可包括識別在該用戶會(huì)話期間產(chǎn)生了虛擬機(jī)指標(biāo)的用戶會(huì)話的字段。這個(gè)字段可進(jìn)一步包括關(guān)于用戶或用戶會(huì)話的信息。在一些實(shí)例中, 該字段可指向所存儲(chǔ)的信息的另一個(gè)記錄或集合,其進(jìn)一步描述用戶會(huì)話、用戶、用戶工作負(fù)載簡檔或用戶的分類。在一些實(shí)施例中,所存儲(chǔ)的虛擬機(jī)信息和會(huì)話標(biāo)識符的組合的集合可以被稱為用戶工作負(fù)載簡檔。其他實(shí)施例中,當(dāng)虛擬機(jī)指標(biāo)與用戶會(huì)話信息相結(jié)合以便創(chuàng)建工作負(fù)載簡檔或者產(chǎn)生用戶指定的虛擬機(jī)指標(biāo)的記錄時(shí),虛擬機(jī)指標(biāo)可以根據(jù)用戶會(huì)話信息而被刪減或者被修改。例如,當(dāng)用戶會(huì)話信息指示用戶會(huì)話持續(xù)了從時(shí)間A到時(shí)間B的時(shí)間時(shí),刪除在從時(shí)間A持續(xù)到時(shí)間B的時(shí)間周期之外所產(chǎn)生的任何虛擬機(jī)指標(biāo)。類似地,如果額外的虛擬機(jī)指標(biāo)被識別為在從時(shí)間A持續(xù)到時(shí)間B的時(shí)間周期期間所產(chǎn)生的,則這些指標(biāo)被附加到所存儲(chǔ)的虛擬機(jī)指標(biāo)。對用戶指定的虛擬機(jī)指標(biāo)的工作負(fù)載簡檔或記錄的修改可以發(fā)生在當(dāng)簡檔或記錄產(chǎn)生時(shí)或者稍后的時(shí)刻。在一些實(shí)施例中,工作負(fù)載簡檔存儲(chǔ)322(例如,性能數(shù)據(jù)庫)可在此處所存儲(chǔ)的工作負(fù)載記錄上執(zhí)行修改。在一個(gè)實(shí)施例中,遠(yuǎn)程計(jì)算設(shè)備203可執(zhí)行VDI平臺(tái)310。虛擬桌面架構(gòu)(VDI)平臺(tái)310可以是能實(shí)現(xiàn)和管理虛擬桌面架構(gòu)的任何平臺(tái)。在一個(gè)實(shí)施例中,VDI平臺(tái)310可與在計(jì)算設(shè)備203上執(zhí)行的其他應(yīng)用或程序通信,并且在一些實(shí)施例中,可與性能監(jiān)控系統(tǒng)316通信。在其他實(shí)施例中,VDI平臺(tái)310可與虛擬機(jī)管理器352通信。VDI平臺(tái)310可以是由位于佛羅里達(dá)州的Fort Lauderdale的Citrix Systems公司制造的XEN DESKTOP產(chǎn)品系列提供的任何平臺(tái)。在一個(gè)實(shí)施例中,VDI平臺(tái)310可以是在用戶和VDI平臺(tái)310間建立用戶會(huì)話的平臺(tái)。盡管圖3示出了在VDI平臺(tái)310之外的虛擬機(jī)池,但在一些實(shí)施例中,VDI平臺(tái)310可訪問虛擬機(jī)池312的虛擬機(jī)232并且可以向用戶會(huì)話分配虛擬機(jī)232。在其他實(shí)施例中,VDI平臺(tái)310可以向用戶會(huì)話分配虛擬桌面和其他類似資源。VDI平臺(tái)310也可管理被分配給用戶會(huì)話的虛擬資源并且還可執(zhí)行負(fù)載平衡功能以基于多種標(biāo)準(zhǔn)負(fù)載平衡用戶會(huì)話間的虛擬資源。在一些實(shí)施例中,VDI平臺(tái)310被稱為虛擬桌面架構(gòu)、虛擬桌面架構(gòu)環(huán)境或虛擬桌面架構(gòu)系統(tǒng)。在一些實(shí)施例中,VDI平臺(tái)310可包含虛擬桌面代理350。在一些實(shí)施例中,虛擬桌面代理350可接收來自用戶的對虛擬機(jī)的請求并且通過從虛擬機(jī)池312請求虛擬機(jī)來響應(yīng)那些請求。盡管圖3圖示了其中在VDI平臺(tái)310內(nèi)執(zhí)行虛擬桌面代理350的實(shí)施例,但其他實(shí)施例中,VDI平臺(tái)310可以不包括虛擬桌面代理350。在那些實(shí)施例中,VDI平臺(tái)310 可執(zhí)行虛擬桌面代理350的功能。例如,VDI平臺(tái)310可接收對虛擬機(jī)的請求,并且可以響應(yīng)地為向VDI平臺(tái)310發(fā)出虛擬機(jī)請求的用戶請求虛擬機(jī)。在一個(gè)實(shí)施例中,VDI平臺(tái)310 可向用戶或用戶的用戶會(huì)話傳輸虛擬機(jī),在其他實(shí)施例中虛擬機(jī)管理器352可向用戶或用戶的用戶會(huì)話傳輸虛擬機(jī)。在一些實(shí)施例中,VDI平臺(tái)310可管理用戶會(huì)話池或用戶會(huì)話組314(此處總稱為用戶會(huì)話池314)。用戶會(huì)話池或組314可包括在用戶和VDI平臺(tái)310之間所創(chuàng)建的一個(gè)或多個(gè)用戶會(huì)話304。在一些實(shí)施例中,當(dāng)使用位于遠(yuǎn)離計(jì)算設(shè)備203的客戶端計(jì)算設(shè)備的用戶請求虛擬桌面或虛擬機(jī),或者請求訪問虛擬桌面或虛擬機(jī)時(shí),可產(chǎn)生用戶會(huì)話304。在其他實(shí)施例中,當(dāng)用戶通過遠(yuǎn)程客戶端計(jì)算機(jī)登錄到VDI平臺(tái)310時(shí)可創(chuàng)建用戶會(huì)話304。 仍在其他實(shí)施例中包括當(dāng)用戶請求通過虛擬機(jī)或虛擬桌面訪問可利用的應(yīng)用或資源時(shí)所創(chuàng)建的用戶會(huì)話304。在一些實(shí)施例中,用戶會(huì)話304可以是計(jì)算設(shè)備203和客戶機(jī)的用戶之間的會(huì)話, 或者是VDI平臺(tái)310和客戶機(jī)的用戶之間的會(huì)話。在一個(gè)實(shí)施例中,響應(yīng)于登錄VDI平臺(tái) 310的用戶請求、訪問應(yīng)用或資源的用戶請求,或者對虛擬機(jī)和虛擬桌面的用戶請求,VDI 平臺(tái)310可創(chuàng)建用戶會(huì)話304。用戶可從用戶會(huì)話304中訪問VDI平臺(tái)310的一些方面,類似地,在用戶會(huì)話304中用戶可與被分配給用戶的虛擬機(jī)232交互。計(jì)算設(shè)備203可存儲(chǔ)和/或執(zhí)行虛擬機(jī)的池或組(此處總稱為虛擬機(jī)池31 。這個(gè)虛擬機(jī)池或組可包括一個(gè)、兩個(gè)或多個(gè)虛擬機(jī)232。在一些實(shí)施例中,虛擬機(jī)232可以是虛擬機(jī)模板,當(dāng)虛擬機(jī)模板被流式傳輸或下載到虛擬化環(huán)境302時(shí),虛擬機(jī)模板可被配置和執(zhí)行以便產(chǎn)生或?qū)嵗摂M機(jī)232。在其他實(shí)施例中,虛擬機(jī)232可以是可執(zhí)行指令、應(yīng)用或其他計(jì)算資源的集合,所述集合在被流式傳輸或下載到虛擬化環(huán)境302中時(shí),可以被配置和執(zhí)行以便產(chǎn)生或?qū)嵗摂M機(jī)232。盡管圖3圖示了其中虛擬機(jī)池312不依賴另一個(gè)應(yīng)用而存在的實(shí)施例,但在一些實(shí)施例中虛擬機(jī)池312可被虛擬機(jī)管理器352所管理。仍在其他實(shí)施例中,虛擬機(jī)池312可以在虛擬機(jī)管理器352的上下文中被存儲(chǔ)和被執(zhí)行。仍在其他實(shí)施例中,虛擬機(jī)池312可以在遠(yuǎn)程計(jì)算機(jī)上被維護(hù)。仍在其他實(shí)施例中,虛擬機(jī)池 312可以被在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行的虛擬機(jī)管理器352維護(hù)。例如,虛擬機(jī)池312可以被在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行的XENSERVER應(yīng)用所維護(hù)。仍在其他實(shí)施例中,虛擬機(jī)池312可以被VDI 平臺(tái)310維護(hù)。在這些實(shí)施例的任何一個(gè)中,VDI平臺(tái)310可以與管理虛擬機(jī)池312的應(yīng)用通信并且可以請求該應(yīng)用使虛擬機(jī)池312中的某個(gè)虛擬機(jī)成為可利用的。計(jì)算設(shè)備203還可執(zhí)行虛擬機(jī)管理器352。虛擬機(jī)管理器352可根據(jù)一組標(biāo)準(zhǔn)配置虛擬機(jī)和以其他方式給用戶分配虛擬機(jī)。在一些實(shí)施例中,虛擬機(jī)管理器352可與性能監(jiān)控系統(tǒng)316通信以便獲得用戶工作負(fù)載簡檔、用戶的分類、虛擬機(jī)指標(biāo)、用戶會(huì)話信息或其他用戶指標(biāo)或虛擬機(jī)指標(biāo)。虛擬機(jī)管理器352可使用該信息來確定如何配置虛擬機(jī)、哪個(gè)虛擬機(jī)被分配給用戶或用戶會(huì)話或在哪里執(zhí)行虛擬機(jī)。在一些實(shí)施例中,虛擬機(jī)管理器 352可以管理虛擬機(jī)池312。在其他實(shí)施例中,虛擬機(jī)管理器352可以是Citrix Systems 發(fā)布的XENSERVER應(yīng)用。盡管圖3圖示了與VDI平臺(tái)310和性能監(jiān)控系統(tǒng)316在同一機(jī)器上執(zhí)行的虛擬機(jī)管理器352,但在其他實(shí)施例中虛擬機(jī)管理器352可在遠(yuǎn)程機(jī)器上執(zhí)行。在一些實(shí)施例中,虛擬機(jī)管理器352可以給用戶會(huì)話和用戶會(huì)話的用戶分配虛擬機(jī)。給用戶會(huì)話或用戶分配虛擬機(jī)可包括產(chǎn)生虛擬機(jī)或者選擇虛擬機(jī)。當(dāng)分配包括產(chǎn)生或配置虛擬機(jī)時(shí),虛擬機(jī)管理器352可根據(jù)用戶需求創(chuàng)建虛擬機(jī)。這些需求可以由用戶、用戶會(huì)話、管理員、用戶簡檔或虛擬機(jī)標(biāo)準(zhǔn)的任何其他集合所傳送。在一些實(shí)施例中,虛擬機(jī)的組件可以根據(jù)過去的用戶活動(dòng)而被動(dòng)態(tài)地確定。仍在其他實(shí)施例中,虛擬機(jī)可以至少部分地根據(jù)用戶的分類而被配置或產(chǎn)生,例如用戶分類為重度、中度或輕度用戶。當(dāng)分配包括選擇虛擬機(jī)時(shí),虛擬機(jī)管理器352可從現(xiàn)有虛擬機(jī)的池中選擇虛擬機(jī)。該選擇可以根據(jù)用戶或用戶會(huì)話標(biāo)準(zhǔn)、用戶簡檔、用戶的分類或類似信息而作出。在一些實(shí)施例中,計(jì)算設(shè)備203可以執(zhí)行性能監(jiān)控系統(tǒng)316。在一些實(shí)施例中,VDI平臺(tái)310可以與性能監(jiān)控系統(tǒng)316通信。在其他實(shí)施例中,性能監(jiān)控系統(tǒng)316可以通過VDI 平臺(tái)310所顯露的應(yīng)用接口與VDI平臺(tái)310通信,或者通過VDI平臺(tái)310和性能監(jiān)控系統(tǒng) 316之間所建立的內(nèi)部通信通道與VDI平臺(tái)310通信。在一個(gè)實(shí)施例中,性能監(jiān)控系統(tǒng)316 在VDI平臺(tái)310之外執(zhí)行,使得性能監(jiān)控系統(tǒng)316作為不依賴于VDI平臺(tái)310的獨(dú)立應(yīng)用而執(zhí)行。在其他實(shí)施例中,性能監(jiān)控系統(tǒng)316可以被包含在VDI平臺(tái)310內(nèi)。仍在其他實(shí)施例中,VDI平臺(tái)310和性能監(jiān)控系統(tǒng)316可在分開的計(jì)算機(jī)上執(zhí)行,這樣VDI平臺(tái)310可在一個(gè)計(jì)算機(jī)上執(zhí)行并且性能監(jiān)控系統(tǒng)316在遠(yuǎn)離第一計(jì)算機(jī)的第二計(jì)算機(jī)上執(zhí)行。在這個(gè)實(shí)施例中,VDI平臺(tái)310可通過虛通道和/或VDI平臺(tái)310和/或性能監(jiān)控系統(tǒng)316所展示的應(yīng)用接口與網(wǎng)絡(luò)上的性能監(jiān)控系統(tǒng)316通信。虛擬機(jī)指標(biāo)信息和用戶會(huì)話信息可以在VDI平臺(tái)310和性能監(jiān)控系統(tǒng)316之間共享。在一些實(shí)施例中,當(dāng)VDI平臺(tái)310接收VDI代理306所記錄的會(huì)話信息或虛擬機(jī)指標(biāo)時(shí),VDI平臺(tái)310可將那個(gè)信息轉(zhuǎn)發(fā)到性能監(jiān)控系統(tǒng)316。在其他實(shí)施例中,性能監(jiān)控系統(tǒng) 316可通過應(yīng)用接口或通信信道與VDI平臺(tái)310交互,使得性能監(jiān)控系統(tǒng)316可以基本上自動(dòng)接收VDI代理306所記錄的且被傳輸?shù)絍DI平臺(tái)310的任何虛擬機(jī)指標(biāo)信息或用戶會(huì)話信息。仍在其他實(shí)施例中,VDI代理306可以直接地向遠(yuǎn)程計(jì)算機(jī)203上的性能監(jiān)控系統(tǒng)316傳輸虛擬機(jī)指標(biāo)信息和用戶會(huì)話信息。仍在其他實(shí)施例中,性能監(jiān)控系統(tǒng)316可以直接地從虛擬化環(huán)境302中接收用戶會(huì)話信息和/或虛擬機(jī)指標(biāo)信息。性能監(jiān)控系統(tǒng)316可包括虛擬機(jī)指標(biāo)存儲(chǔ)倉庫3M和會(huì)話記錄存儲(chǔ)倉庫330。在一個(gè)實(shí)施例中,虛擬機(jī)指標(biāo)存儲(chǔ)倉庫3M可以是存儲(chǔ)虛擬機(jī)指標(biāo)的數(shù)據(jù)庫或其他存儲(chǔ)倉庫。虛擬機(jī)指標(biāo)3M可根據(jù)其所對應(yīng)的虛擬機(jī)而被存儲(chǔ),以及在一些實(shí)施例中,也可以根據(jù)訪問虛擬機(jī)的用戶而被存儲(chǔ),例如虛擬機(jī)可針對具體用戶而被存儲(chǔ)。性能監(jiān)控系統(tǒng)316還可包括會(huì)話記錄存儲(chǔ)330。在一些實(shí)施例中,會(huì)話記錄存儲(chǔ)330存儲(chǔ)用戶會(huì)話信息。用戶會(huì)話信息可根據(jù)會(huì)話信息所對應(yīng)的用戶而被存儲(chǔ)。在其他實(shí)施例中,用戶會(huì)話信息可根據(jù)會(huì)話信息所對應(yīng)的用戶和虛擬機(jī)而被存儲(chǔ)。盡管圖3圖示了分開的會(huì)話記錄存儲(chǔ)330和虛擬機(jī)指標(biāo)存儲(chǔ)324,但在一些實(shí)施例中用戶會(huì)話信息和虛擬機(jī)指標(biāo)信息可以被存儲(chǔ)在同一倉庫中。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316可以包括用戶工作負(fù)載簡檔存儲(chǔ)322。用戶工作負(fù)載簡檔存儲(chǔ)322可以存儲(chǔ)從用戶會(huì)話信息和虛擬機(jī)指標(biāo)所產(chǎn)生的用戶工作負(fù)載。在一些實(shí)施例中,用戶工作負(fù)載簡檔存儲(chǔ)322可以是單獨(dú)的存儲(chǔ)倉庫,而在其他實(shí)施例中,用戶工作負(fù)載簡檔存儲(chǔ)322可以與會(huì)話記錄存儲(chǔ)330或虛擬機(jī)指標(biāo)存儲(chǔ)3M組合成為單個(gè)存儲(chǔ)倉庫。仍在其他實(shí)施例中,用戶工作負(fù)載簡檔存儲(chǔ)322可根據(jù)對應(yīng)的用戶和/或虛擬機(jī)存儲(chǔ)用戶工作負(fù)載簡檔。在一些實(shí)施例中,用戶工作負(fù)載簡檔可指用戶指定的虛擬機(jī)指標(biāo)的記錄。這些指標(biāo)可以是與具體用戶或用戶會(huì)話相關(guān)聯(lián)的虛擬機(jī)性能數(shù)據(jù)。在一些實(shí)施例中,用戶工作負(fù)載簡檔可包括指向具體用戶或用戶會(huì)話的指針。這個(gè)指針用于識別在另一記錄、存儲(chǔ)倉庫或數(shù)據(jù)庫中所存儲(chǔ)的用戶信息、用戶會(huì)話信息或者用戶的分類信息。性能監(jiān)控系統(tǒng)316還可包括虛擬機(jī)性能監(jiān)控器3 和會(huì)話監(jiān)控器332。在一些實(shí)施例中,虛擬機(jī)性能監(jiān)控器3 和會(huì)話監(jiān)控器332向虛擬化環(huán)境302中的控制程序220查詢虛擬機(jī)性能指標(biāo)和用戶會(huì)話信息。在其他實(shí)施例中,虛擬機(jī)性能監(jiān)控器3 和會(huì)話監(jiān)控器332可直接從VDI平臺(tái)310獲得虛擬機(jī)性能指標(biāo)和用戶會(huì)話信息。仍在其他實(shí)施例中,虛擬機(jī)性能監(jiān)控器3 和會(huì)話監(jiān)控器332可從在虛擬化環(huán)境302中執(zhí)行的VDI客戶端320 獲得虛擬機(jī)性能指標(biāo)和用戶會(huì)話信息。盡管圖3示出了分開的虛擬機(jī)性能監(jiān)控器3 和會(huì)話監(jiān)控器332,但在一些實(shí)施例中,二者各自的功能可以被單獨(dú)一個(gè)監(jiān)控器處理。在一些實(shí)施例中,虛擬機(jī)性能監(jiān)控器3 可以請求和獲得虛擬機(jī)性能指標(biāo)。當(dāng)收到虛擬機(jī)性能指標(biāo)時(shí),虛擬機(jī)性能監(jiān)控器3 可在虛擬機(jī)存儲(chǔ)倉庫3M中存儲(chǔ)所接收的指標(biāo)。會(huì)話監(jiān)控器332 可請求和獲得用戶會(huì)話信息。當(dāng)收到用戶會(huì)話信息時(shí),會(huì)話監(jiān)控器332可在會(huì)話記錄存儲(chǔ) 330中存儲(chǔ)所接收的會(huì)話信息。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316可包括分類系統(tǒng)318,所述分類系統(tǒng)318可根據(jù)用戶工作負(fù)載簡檔分類用戶,所述用戶工作負(fù)載簡檔可以被存儲(chǔ)在用戶工作負(fù)載簡檔存儲(chǔ)322中。分類系統(tǒng)318可瀏覽用戶工作負(fù)載簡檔數(shù)據(jù)并且使用該數(shù)據(jù)來將用戶分為一個(gè)或多個(gè)類。這些分類可以是預(yù)定義的或者可以根據(jù)用戶工作負(fù)載簡檔存儲(chǔ)322中所存儲(chǔ)的用戶工作負(fù)載簡檔數(shù)據(jù)而動(dòng)態(tài)地產(chǎn)生。例如,分類系統(tǒng)318可根據(jù)每個(gè)用戶的工作負(fù)載簡檔將用戶分類為“輕度”、“中度”或“重度”用戶。在一些實(shí)施例中,分類反映了每個(gè)用戶消耗的資源數(shù)量。例如,分類可反映具體用戶通常所使用的磁盤容量、網(wǎng)絡(luò)帶寬或CPU周期。 在一個(gè)實(shí)施例中,歸類“輕度”、“中度”或“重度”可包括確定用戶的使用份額超過預(yù)先確定的閥值的百分比或倍數(shù)。圖4所示的是用于記錄虛擬機(jī)指標(biāo)并將這些指標(biāo)與用戶相關(guān)聯(lián)的方法400的一個(gè)實(shí)施例。VDI平臺(tái)310或虛擬桌面代理350可接收登錄VDI平臺(tái)310的用戶請求(步驟 402)。作為回應(yīng),VDI平臺(tái)310可初始化用戶會(huì)話(步驟404)并且虛擬機(jī)管理器352可給用戶分配虛擬機(jī)(步驟406)。然后,VDI平臺(tái)310可向性能監(jiān)控系統(tǒng)316傳輸指示已將虛擬機(jī)傳輸?shù)接脩舻男畔?步驟408),接著,性能監(jiān)控系統(tǒng)316可針對用戶標(biāo)識符記錄虛擬機(jī)指標(biāo)(步驟410)。進(jìn)一步參考圖4,且在一些實(shí)施例的更多細(xì)節(jié)中,方法400可包括接收登錄VDI平臺(tái)310的用戶請求(步驟40 。在一些實(shí)施例中,用戶請求是由使用遠(yuǎn)程客戶端計(jì)算機(jī)的用戶所發(fā)出的。用戶請求可以是登錄VDI平臺(tái)310的請求,而在其他實(shí)施例中,請求可以是對虛擬機(jī)的請求、對桌面的請求或執(zhí)行應(yīng)用的請求。在一個(gè)實(shí)施例中,VDI平臺(tái)310攔截用戶請求,而在其他實(shí)施例中虛擬桌面代理350攔截用戶請求。VDI平臺(tái)310或虛擬桌面代理350可通過初始化用戶會(huì)話來對接收用戶請求作出響應(yīng)(步驟404)。在一些實(shí)施例中,這個(gè)用戶會(huì)話可與發(fā)出該請求的用戶相關(guān)聯(lián)或者以其他方式表示發(fā)出該請求的用戶。因此,用戶會(huì)話的用戶會(huì)話信息可以是表示用戶會(huì)話中的用戶活動(dòng)的信息。在一些實(shí)施例中,VDI平臺(tái)310可以為用戶開始新的用戶會(huì)話,而在其他實(shí)施例中VDI平臺(tái)310可以重啟所緩存的與用戶相關(guān)聯(lián)的用戶會(huì)話。在一些實(shí)施例中,當(dāng)初始化用戶會(huì)話時(shí),VDI平臺(tái)310可請求虛擬機(jī)管理器352 給用戶分配或指定虛擬機(jī)(步驟406)。給用戶分配虛擬機(jī)可包括流式、下載或以其他方式向用戶的用戶會(huì)話傳輸虛擬機(jī)。在一些實(shí)施例中,VDI平臺(tái)310在收到對虛擬機(jī)的用戶請求時(shí),傳輸給用戶分配虛擬機(jī)的請求。在其他實(shí)施例中,VDI平臺(tái)310可在初始化用戶會(huì)話時(shí),傳輸給用戶分配虛擬機(jī)的請求。當(dāng)向用戶的用戶會(huì)話傳輸虛擬機(jī)時(shí),可以將指示虛擬機(jī)已經(jīng)被分配給用戶的信息傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)(步驟408)。在一些實(shí)施例中,VDI平臺(tái)310也可被通知虛擬機(jī)已被傳輸?shù)接脩舻挠脩魰?huì)話。仍在其他實(shí)施例中,方法400可不包括通知性能監(jiān)控系統(tǒng)316的步驟;而是,虛擬機(jī)管理器352可為性能監(jiān)控系統(tǒng)316管理獲得用戶會(huì)話信息和虛擬機(jī)指標(biāo)。 向性能監(jiān)控系統(tǒng)316或VDI平臺(tái)傳輸指示已向用戶會(huì)話傳輸虛擬機(jī)的信息可包括傳輸虛擬機(jī)的標(biāo)識符、虛擬機(jī)的特征或其他識別信息。標(biāo)識符可以是虛擬機(jī)ID、虛擬機(jī)名稱、虛擬機(jī)序列號或其他標(biāo)識符。虛擬機(jī)特征可包括被包含在虛擬機(jī)中的虛擬盤的類型和大小、被包含在虛擬機(jī)中的操作系統(tǒng)、被包含在虛擬機(jī)中的虛擬CPU、被包含在虛擬機(jī)中的應(yīng)用以及被傳輸?shù)接脩舻挠脩魰?huì)話的虛擬機(jī)的任何其他特征。記錄響應(yīng)于用戶請求初始化用戶會(huì)話所產(chǎn)生的用戶會(huì)話信息和被分配給用戶會(huì)話的虛擬機(jī)的虛擬機(jī)指標(biāo)(步驟410)。盡管方法400包括記錄用戶會(huì)話信息和虛擬機(jī)指標(biāo)的步驟,但在一些實(shí)施例中該步驟可包括針對用戶標(biāo)識符記錄虛擬機(jī)指標(biāo)。在這些實(shí)施例中,可以不記錄用戶會(huì)話信息。而是,可記錄用戶標(biāo)識符并且使用用戶標(biāo)識符來針對具體用戶存儲(chǔ)虛擬機(jī)指標(biāo)。在一些實(shí)施例中,虛擬機(jī)指標(biāo)可以被在虛擬機(jī)中執(zhí)行的控制程序220、 VDI客戶端320或應(yīng)用的任何一個(gè)所記錄。當(dāng)用戶會(huì)話終止時(shí),虛擬機(jī)指標(biāo)可被傳輸?shù)絍DI 平臺(tái)310、虛擬機(jī)管理器352或性能監(jiān)控系統(tǒng)316的任何一個(gè)。在其他實(shí)施例中,在用戶會(huì)話期間,虛擬機(jī)指標(biāo)可被傳輸或流式傳輸?shù)絍DI平臺(tái)310、虛擬機(jī)管理器352或性能監(jiān)控系統(tǒng)316的任何一個(gè)。類似地,用戶會(huì)話信息可以被在虛擬機(jī)中執(zhí)行的控制程序220、VDI客戶端320或應(yīng)用的任何一個(gè)所記錄。當(dāng)用戶會(huì)話終止時(shí)或在用戶會(huì)話的執(zhí)行期間,用戶會(huì)話信息可被傳輸或流式傳輸?shù)絍DI平臺(tái)310、虛擬機(jī)管理器352或性能監(jiān)控系統(tǒng)316的任何一個(gè)。在用戶會(huì)話和/或虛擬機(jī)指標(biāo)被流式傳輸或傳輸?shù)絍DI平臺(tái)310或虛擬機(jī)管理器 352的實(shí)施例中,該信息和指標(biāo)可以被傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316,這些信息和指標(biāo)被最終存儲(chǔ)在性能監(jiān)控系統(tǒng)316并且用于產(chǎn)生用戶工作負(fù)載簡檔。圖5A所示的是用于給用戶或用戶會(huì)話分配虛擬機(jī)的方法500的一個(gè)實(shí)施例。VDI 平臺(tái)310或虛擬桌面代理350接收對虛擬機(jī)或虛擬桌面的用戶請求(步驟504),接著虛擬桌面代理響應(yīng)地發(fā)出對虛擬機(jī)的請求(步驟508)。給發(fā)出請求的用戶的用戶會(huì)話分配虛擬機(jī)(步驟51 ,以及虛擬桌面代理350接收關(guān)于所分配的虛擬機(jī)的信息(步驟516)。然后,虛擬桌面代理350將所分配的虛擬機(jī)通知性能監(jiān)控系統(tǒng)316(步驟520)。進(jìn)一步參考圖5A,且在一些實(shí)施例的更多細(xì)節(jié)中,VDI平臺(tái)310或虛擬桌面代理 350接收對虛擬機(jī)的請求(步驟504)。該請求可以是由用戶、用戶會(huì)話或者用戶所訪問的客戶端計(jì)算機(jī)或執(zhí)行用戶會(huì)話的客戶端計(jì)算機(jī)所發(fā)出的。在一些實(shí)施例中,這個(gè)請求可使 VDI平臺(tái)310認(rèn)證用戶并初始化用戶會(huì)話。在其他實(shí)施例中,用戶可以在初始化用戶會(huì)話后發(fā)出對虛擬機(jī)的請求。在一些實(shí)施例中,該請求可以包括信息諸如用戶所請求的應(yīng)用;用戶標(biāo)識符;用戶名;用戶會(huì)話標(biāo)識符;用戶所使用以便發(fā)出請求的客戶端計(jì)算機(jī)的硬件配置;在用戶所使用以便發(fā)出請求的客戶端計(jì)算機(jī)上的執(zhí)行的操作系統(tǒng)的類型或管理程序的類型;首選的CPU配置;或其他這樣的信息。當(dāng)收到請求時(shí),VDI平臺(tái)310或虛擬桌面代理350發(fā)出對虛擬機(jī)的請求(步驟 508)。這個(gè)請求可以直接發(fā)送到虛擬機(jī)池312,或者在一些實(shí)施例中可以發(fā)送到虛擬機(jī)管理器352。在一些實(shí)施例中,虛擬桌面代理350可包括關(guān)于用戶、用戶會(huì)話、最初的用戶請求、 用戶所訪問的客戶端計(jì)算機(jī)的信息,或?qū)μ摂M機(jī)請求的其他這樣的信息。在其他實(shí)施例中, 當(dāng)收到來自虛擬桌面代理350的虛擬機(jī)請求時(shí),虛擬機(jī)管理器352可向VDI平臺(tái)310或虛擬桌面代理350查詢關(guān)于用戶所使用的客戶端計(jì)算機(jī)、用戶或者用戶會(huì)話的信息。虛擬機(jī)管理器352響應(yīng)于接收請求,獲得信息并給用戶會(huì)話分配虛擬機(jī)(步驟 512)。在一些實(shí)施例中,虛擬機(jī)管理器352首先從性能監(jiān)控系統(tǒng)316獲得下列任何一個(gè)用于發(fā)出請求的用戶的工作負(fù)載簡檔;或用于發(fā)出請求的用戶的分類。虛擬機(jī)管理器352可通過向性能監(jiān)控系統(tǒng)316傳遞用戶標(biāo)識符,例如,用戶名或用戶ID,來獲得這個(gè)信息。進(jìn)而, 性能監(jiān)控系統(tǒng)316可以使用用戶標(biāo)識符從工作負(fù)載簡檔存儲(chǔ)322檢索用戶工作負(fù)載簡檔, 并且使用用戶標(biāo)識符從分類系統(tǒng)318檢索用戶的分類。在進(jìn)一步的實(shí)施例中,虛擬機(jī)管理器352可從VDI平臺(tái)310獲得關(guān)于用戶所使用的客戶端計(jì)算機(jī)的信息或在請求中用戶所識別的任何具體配置信息。使用從性能監(jiān)控系統(tǒng)316和/或VDI平臺(tái)310所獲得的信息, 虛擬機(jī)管理器352可產(chǎn)生和/或配置虛擬機(jī)或者選擇虛擬機(jī)。在虛擬機(jī)管理器352配置虛擬機(jī)的實(shí)施例中,虛擬機(jī)管理器352根據(jù)所獲得的信息配置虛擬機(jī)并且向用戶的用戶會(huì)話傳輸或流式傳輸該虛擬機(jī)。在虛擬機(jī)管理器352選擇虛擬機(jī)的實(shí)施例中,虛擬機(jī)管理器 352檢索關(guān)于可利用的虛擬機(jī)的信息、選擇能處理用戶的工作負(fù)載的虛擬機(jī),以及可以向用戶的用戶會(huì)話傳輸該虛擬機(jī)。例如,如果工作負(fù)載簡檔指定用戶是重度用戶,那么虛擬機(jī)管理器352可選擇能適應(yīng)重度用戶的虛擬機(jī)。仍在其他實(shí)施例中,虛擬機(jī)管理器352可以選擇虛擬機(jī)并且根據(jù)用戶的規(guī)定配置該虛擬機(jī)。圖5B中所描述的是給用戶會(huì)話分配虛擬機(jī) (步驟512)的進(jìn)一步的實(shí)施例。當(dāng)給用戶會(huì)話分配了虛擬機(jī)時(shí),虛擬機(jī)管理器352可將該虛擬機(jī)通知虛擬桌面代理350或VDI平臺(tái)310(步驟516)。這個(gè)通知可包括指示虛擬機(jī)已被分配給用戶的用戶會(huì)話的消息。其他實(shí)施例中,該通知可包括用戶所分配的虛擬機(jī)的標(biāo)識符。仍在其他實(shí)施例中,該通知可包括虛擬機(jī)的特征的列表。其他實(shí)施例還可包括包含上述任何組合的通知。在一些實(shí)施例中,方法500還包括將所分配的虛擬機(jī)通知性能監(jiān)控系統(tǒng)316的步驟(步驟520)。在其他實(shí)施例中,方法500可以不包括這個(gè)步驟。圖5B所示的是用于根據(jù)用戶的分類或用戶工作負(fù)載簡檔給用戶分配虛擬機(jī)的方法550的一個(gè)實(shí)施例。虛擬機(jī)管理器352可接收對虛擬機(jī)的請求(步驟554)。當(dāng)收到這個(gè)請求時(shí),虛擬機(jī)管理器352可為請求虛擬機(jī)的用戶識別用戶的分類或工作負(fù)載簡檔(步驟陽6),以及虛擬機(jī)管理器352可根據(jù)用戶的分類和/或工作負(fù)載簡檔給用戶分配虛擬機(jī) (步驟558)。進(jìn)一步參考圖5B,且在一些實(shí)施例的更多細(xì)節(jié)中,方法550可由虛擬機(jī)管理器352 執(zhí)行。在其他實(shí)施例中,方法550可由VDI平臺(tái)310執(zhí)行。在一些實(shí)施例中,虛擬機(jī)管理器352可接收對虛擬機(jī)的請求(步驟554)。在其他實(shí)施例中,虛擬機(jī)池可接收對虛擬機(jī)的請求。這個(gè)請求可以是由用戶或用戶會(huì)話發(fā)出的并且可包括用戶識別信息,例如,用戶標(biāo)識符。仍在其他實(shí)施例中,該請求可以是由虛擬桌面代理響應(yīng)于接收來自用戶會(huì)話的請求而發(fā)出的。當(dāng)收到對虛擬機(jī)的請求時(shí),虛擬機(jī)池或虛擬機(jī)管理器352可為用戶識別用戶分類和/或工作負(fù)載簡檔(步驟556)。在虛擬機(jī)管理器352在請求中收到用戶標(biāo)識符的實(shí)施例中,虛擬機(jī)管理器352可使用該用戶標(biāo)識符來為用戶獲得用戶分類和/或工作負(fù)載簡檔。 在其他實(shí)施例中,虛擬機(jī)管理器352可直接向VDI平臺(tái)310或用戶會(huì)話查詢用戶的標(biāo)識符。 獲得用戶分類和/或工作負(fù)載簡檔可包括向性能監(jiān)控系統(tǒng)316、分類系統(tǒng)318或用戶工作負(fù)載簡檔存儲(chǔ)322查詢與具體用戶相關(guān)聯(lián)的信息。通過向分類系統(tǒng)318、性能監(jiān)控系統(tǒng)316 和/或用戶工作負(fù)載簡檔存儲(chǔ)322的任何一個(gè)傳遞用戶標(biāo)識符,這些實(shí)體可以獲得與對應(yīng)于用戶標(biāo)識符的用戶相關(guān)聯(lián)的信息,例如記錄。例如,性能監(jiān)控系統(tǒng)316可接收用戶的用戶標(biāo)識符,并且可以獲得針對該用戶標(biāo)識符所存儲(chǔ)的工作負(fù)載簡檔和/或針對該用戶標(biāo)識符所存儲(chǔ)的用戶分類。針對標(biāo)識符存儲(chǔ)信息可包括使用用戶標(biāo)識符來標(biāo)注或標(biāo)記數(shù)據(jù)或者將用戶標(biāo)識符和其他信息一起存儲(chǔ)在同一記錄中或者作為元數(shù)據(jù)存儲(chǔ)。所獲得的工作負(fù)載簡檔和/或用戶分類接著可以被發(fā)送回到虛擬機(jī)管理器352或虛擬機(jī)池。在其他實(shí)施例中, 虛擬機(jī)管理器352或虛擬機(jī)池可以檢索工作負(fù)載簡檔和/或用戶分類。當(dāng)為用戶識別出工作負(fù)載簡檔和/或用戶分類時(shí),虛擬機(jī)管理器352可給用戶分配虛擬機(jī)(步驟558)。給用戶分配虛擬機(jī)可包括給用戶的用戶會(huì)話分配虛擬機(jī)。在一些實(shí)施例中,虛擬機(jī)管理器352可給發(fā)出請求的用戶分配虛擬機(jī),在其他實(shí)施例中VDI平臺(tái)310 可給用戶分配虛擬機(jī)。在這些實(shí)施例中,虛擬機(jī)管理器352可將虛擬機(jī)信息轉(zhuǎn)發(fā)到VDI平臺(tái)310,接著VDI平臺(tái)310可將該虛擬機(jī)信息傳輸?shù)接脩舻挠脩魰?huì)話。給用戶分配虛擬機(jī)可包括產(chǎn)生和配置新的虛擬機(jī),并接著向用戶的用戶會(huì)話傳輸該虛擬機(jī)。在其他實(shí)施例中給用戶分配虛擬機(jī)可包括從現(xiàn)有的虛擬機(jī)的池中選擇虛擬機(jī),并接著向用戶的用戶會(huì)話傳輸所選擇的虛擬機(jī)。選擇或產(chǎn)生和/或配置虛擬機(jī)可根據(jù)用戶、計(jì)算設(shè)備或虛擬機(jī)標(biāo)準(zhǔn)的任何集合而實(shí)現(xiàn)。在一些實(shí)施例中,給用戶分配虛擬機(jī)可以根據(jù)用戶的分類而實(shí)現(xiàn)。在這些實(shí)施例中,虛擬機(jī)管理器352可使用所獲得的用戶類別來確定將哪個(gè)虛擬機(jī)分配給用戶。例如,如果用戶是輕度用戶,適合輕度用戶的虛擬機(jī)可以被分配給用戶或用戶的用戶會(huì)話。在其他實(shí)施例中,給用戶分配虛擬機(jī)可以根據(jù)對用戶的工作負(fù)載簡檔的分析而實(shí)現(xiàn)。當(dāng)獲得用戶的工作負(fù)載簡檔時(shí),虛擬機(jī)管理器352可分析工作負(fù)載簡檔來確定用戶是否是輕度、中度或重度用戶。當(dāng)用戶的分類被確定時(shí),虛擬機(jī)管理器352可使用所確定的分類來給用戶分配合適的虛擬機(jī)。圖6所示的是用于分類用戶并更新工作負(fù)載簡檔的方法600的一個(gè)實(shí)施例。性能監(jiān)控系統(tǒng)316可接收用戶會(huì)話終止的通知(步驟604)并且響應(yīng)地記錄用戶會(huì)話信息(步驟 608)和記錄虛擬機(jī)指標(biāo)(步驟61 。然后,性能監(jiān)控系統(tǒng)316可使用用戶會(huì)話信息和虛擬機(jī)指標(biāo)更新工作負(fù)載簡檔(步驟616),并使用工作負(fù)載簡檔對用戶進(jìn)行分類(步驟620)。進(jìn)一步參考圖6,且在一些實(shí)施例的更多細(xì)節(jié)中,性能監(jiān)控系統(tǒng)316可可接收用戶會(huì)話終止的通知(步驟604)。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316可從虛擬機(jī)管理器352 接收該通知,而在其他實(shí)施例中,性能監(jiān)控系統(tǒng)316可從VDI平臺(tái)310接收該通知。在一些實(shí)施例中,該通知可包括用戶會(huì)話標(biāo)識符、用戶標(biāo)識符和/或虛擬機(jī)標(biāo)識符。性能監(jiān)控系統(tǒng) 316可使用這些標(biāo)識符來識別、存儲(chǔ)以及之后檢索與該用戶相關(guān)聯(lián)的信息,例如,用戶標(biāo)識符和/或虛擬機(jī)指標(biāo)。在一些實(shí)施例中,在性能監(jiān)控系統(tǒng)316中執(zhí)行的應(yīng)用可接收該通知。 例如,在一個(gè)實(shí)施例中,會(huì)話監(jiān)控器332從性能監(jiān)控系統(tǒng)316或者直接從VDI平臺(tái)310或虛擬機(jī)管理器352接收用戶會(huì)話終止的通知。仍在其他實(shí)施例中,當(dāng)直接終止性能監(jiān)控系統(tǒng) 316的會(huì)話監(jiān)控器332時(shí),可以由用戶會(huì)話發(fā)送該通知。會(huì)話監(jiān)控器332響應(yīng)于接收用戶會(huì)話終止的通知,接著為所終止的會(huì)話記錄用戶會(huì)話信息(步驟608)。記錄用戶會(huì)話信息可包括從下列來源的任何一個(gè)獲得用戶會(huì)話信息虛擬機(jī)管理器352 ;VDI平臺(tái)310 ;VDI客戶端320 ;或從所終止的用戶會(huì)話的用戶所使用的客戶端計(jì)算機(jī)上的存儲(chǔ)倉庫。在一些實(shí)施例中,在用戶會(huì)話的執(zhí)行期間,用戶會(huì)話信息可被流式傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316。在這些實(shí)施例中,記錄用戶會(huì)話信息可包括從臨時(shí)存儲(chǔ)單元檢索用戶會(huì)話信息并且將其存儲(chǔ)在會(huì)話記錄存儲(chǔ)330中或者停止(close out)會(huì)話記錄存儲(chǔ)330中的某條記錄。在許多實(shí)施例中,記錄用戶會(huì)話信息可包括將用戶會(huì)話信息與識別標(biāo)記一起存儲(chǔ)在用戶會(huì)話記錄存儲(chǔ)330中,所述識別標(biāo)記指示用戶會(huì)話信息來自終止通知中所識別的用戶的用戶會(huì)話。盡管在一個(gè)實(shí)施例中會(huì)話監(jiān)控器332記錄用戶會(huì)話信息, 然而在其他實(shí)施例中性能監(jiān)控系統(tǒng)316或在性能監(jiān)控系統(tǒng)316的上下文中執(zhí)行的另一個(gè)應(yīng)用記錄用戶會(huì)話信息。接著,性能監(jiān)控系統(tǒng)316可記錄虛擬機(jī)指標(biāo)(步驟61 。虛擬機(jī)指標(biāo)是用于在用戶會(huì)話(例如,所終止的用戶會(huì)話)期間用戶所訪問的虛擬機(jī)的指標(biāo)或性能數(shù)據(jù)。這些指標(biāo)可包括此處所描述的任何機(jī)器指標(biāo)或性能數(shù)據(jù)。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316或在性能監(jiān)控系統(tǒng)316的上下文中執(zhí)行的任何應(yīng)用可記錄虛擬機(jī)指標(biāo)。在其他實(shí)施例中,虛擬機(jī)性能監(jiān)控器3 可以存儲(chǔ)虛擬機(jī)指標(biāo)。存儲(chǔ)虛擬機(jī)指標(biāo)可包括從下列來源的任何一個(gè)獲得虛擬機(jī)指標(biāo)虛擬機(jī)管理器352 ;VDI平臺(tái)310 ;VDI客戶端320 ;或從所終止的用戶會(huì)話的用戶所使用的客戶端計(jì)算機(jī)上的存儲(chǔ)倉庫。在一些實(shí)施例中,在用戶會(huì)話的執(zhí)行期間,虛擬機(jī)指標(biāo)可被流式傳輸?shù)叫阅鼙O(jiān)控系統(tǒng)316。在這些實(shí)施例中,記錄虛擬機(jī)指標(biāo)可包括從臨時(shí)存儲(chǔ)單元檢索虛擬機(jī)指標(biāo)并且將其存儲(chǔ)在虛擬機(jī)指標(biāo)存儲(chǔ)324中或者停止虛擬機(jī)指標(biāo)存儲(chǔ)324中的某條記錄。在許多實(shí)施例中,記錄虛擬機(jī)指標(biāo)可包括將虛擬機(jī)指標(biāo)與識別標(biāo)記一起存儲(chǔ)在虛擬機(jī)指標(biāo)存儲(chǔ)324中,所述識別標(biāo)記指示虛擬機(jī)指標(biāo)是在終止通知中所識別的用戶的用戶會(huì)話期間所產(chǎn)生的。用戶和/或用戶會(huì)話還可對應(yīng)終止通知中所識別的虛擬機(jī),從而在用戶會(huì)話期間該用戶訪問該虛擬機(jī)。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316可使用所記錄的用戶會(huì)話信息和虛擬機(jī)指標(biāo)來對所終止的用戶會(huì)話的用戶更新用戶工作負(fù)載簡檔(步驟616)。更新用戶工作負(fù)載簡檔可包括存儲(chǔ)在用戶會(huì)話期間所產(chǎn)生的虛擬機(jī)指標(biāo)并且將那些虛擬機(jī)指標(biāo)映射到用戶會(huì)話的用戶。將虛擬機(jī)指標(biāo)映射到用戶可包括標(biāo)注或以其他方式將用戶標(biāo)識符與虛擬機(jī)指標(biāo)相關(guān)聯(lián)。在其他實(shí)施例中,將虛擬機(jī)指標(biāo)映射到用戶可包括將虛擬機(jī)指標(biāo)與用戶會(huì)話記錄相關(guān)聯(lián)。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316使用被包含在終止通知中的用戶標(biāo)識符來從用戶工作負(fù)載簡檔存儲(chǔ)322中獲得用戶工作負(fù)載簡檔。當(dāng)獲得對應(yīng)于所終止的用戶會(huì)話的用戶的用戶工作負(fù)載簡檔時(shí),性能監(jiān)控系統(tǒng)316接著可使用所記錄的虛擬機(jī)指標(biāo)更新所獲得的用戶工作負(fù)載簡檔。在一些實(shí)施例中,性能監(jiān)控系統(tǒng)316接著可以將所更新的用戶工作負(fù)載簡檔存儲(chǔ)在用戶工作負(fù)載簡檔存儲(chǔ)322中。在其他實(shí)施例中,性能監(jiān)控系統(tǒng)316可以在分類系統(tǒng)318對用戶分類之后存儲(chǔ)所更新的用戶工作負(fù)載簡檔。在一個(gè)實(shí)施例中,更新用戶工作負(fù)載簡檔的過程可以由分類系統(tǒng)318執(zhí)行。在性能監(jiān)控系統(tǒng)316的上下文中執(zhí)行的分類系統(tǒng)318可使用所更新的工作負(fù)載簡檔來對用戶進(jìn)行分類(步驟620)。在一些實(shí)施例中,一旦用戶工作負(fù)載簡檔被更新,分類系統(tǒng)318將接收用戶可以被分類的通知。用戶可能已經(jīng)被分類,因而,對用戶進(jìn)行分類可包括使用反映所記錄的虛擬機(jī)指標(biāo)的新的分類來更新用戶的分類。用戶的分類可以是表示用戶會(huì)話期間用戶所使用的資源數(shù)量的任何值。在一些實(shí)施例中,這些值可以是輕度、中度和重度用戶,其中輕度用戶使用非常少的資源而重度用戶使用相當(dāng)大量的資源。資源可包括計(jì)算周期,內(nèi)存使用量和用戶訪問的任何其他計(jì)算資源??苫诠芾韱T指定的一組閥值,或者根據(jù)歷史數(shù)據(jù)經(jīng)驗(yàn)地確定的一組閥值來做出如用戶是否是輕度、中度或重度用戶的確定。 對用戶進(jìn)行分類可包括查看所終止的用戶會(huì)話的用戶的工作負(fù)載簡檔、給用戶指定分類以及將該分類存儲(chǔ)在存儲(chǔ)倉庫中。 盡管已經(jīng)參照附圖描述和示意了一些示例實(shí)施例,應(yīng)該理解這些實(shí)施例僅是說明性的而不限于此處所描述的方法和系統(tǒng)。另外地,可在硬件、可編程設(shè)備、固件、軟件或上述組合中實(shí)現(xiàn)此處描述的方法和系統(tǒng)或它們的部分特征。此處描述的方法和系統(tǒng)或此處描述的方法和系統(tǒng)的一部分也可以在諸如磁介質(zhì)(例如,硬驅(qū)、軟驅(qū))、光介質(zhì)(光盤,數(shù)字通用光盤)或半導(dǎo)體存儲(chǔ)介質(zhì)(易失的和非易失的)的處理器可讀的存儲(chǔ)介質(zhì)或機(jī)器可讀的介質(zhì)中實(shí)現(xiàn)。
權(quán)利要求
1.用于根據(jù)用戶分類分配虛擬機(jī)的方法,其中根據(jù)歷史的第一用戶會(huì)話信息和虛擬機(jī)指標(biāo)對用戶分類,所述方法包括由在計(jì)算機(jī)器上執(zhí)行的會(huì)話監(jiān)控器接收第一用戶會(huì)話終止的通知,第一用戶會(huì)話訪問第一虛擬機(jī);由會(huì)話監(jiān)控器響應(yīng)于第一用戶會(huì)話的終止記錄第一用戶會(huì)話信息; 從虛擬機(jī)性能監(jiān)控器獲得用于第一虛擬機(jī)的虛擬機(jī)指標(biāo);由性能監(jiān)控器使用第一用戶會(huì)話信息和第一虛擬機(jī)指標(biāo)來更新第一用戶工作負(fù)載簡檔;根據(jù)第一用戶工作負(fù)載簡檔對對應(yīng)于第一用戶會(huì)話的第一用戶進(jìn)行分類;由虛擬桌面架構(gòu)從第一用戶接收對虛擬機(jī)的請求;以及響應(yīng)于接收所述請求,根據(jù)第一用戶的分類給第一用戶分配虛擬機(jī)。
2.權(quán)利要求1的方法,其中接收通知還包括由在虛擬桌面架構(gòu)之外執(zhí)行的會(huì)話監(jiān)控器接收。
3.權(quán)利要求1的方法,其中分類還包括根據(jù)第一用戶工作負(fù)載簡檔將第一用戶分類為重度用戶、中度用戶和輕度用戶中的一個(gè)。
4.權(quán)利要求1的方法,其中更新第一用戶工作負(fù)載簡檔還包括將所記錄的第一用戶會(huì)話信息映射到所獲得的第一虛擬機(jī)指標(biāo)上。
5.權(quán)利要求1的方法,還包括將第一用戶的分類存儲(chǔ)在存儲(chǔ)倉庫中。
6.權(quán)利要求1的方法,其中分類還包括由在虛擬桌面架構(gòu)之外的計(jì)算機(jī)器上執(zhí)行的分類模塊分類。
7.權(quán)利要求1的方法,還包括接收第二用戶會(huì)話終止的通知,所述第二用戶會(huì)話訪問第二虛擬機(jī);記錄第二用戶會(huì)話信息;獲得用于第二虛擬機(jī)的虛擬機(jī)指標(biāo);以及使用第二用戶會(huì)話信息和第二虛擬機(jī)指標(biāo)來更新第二用戶工作負(fù)載簡檔。
8.權(quán)利要求7的方法,還包括根據(jù)第二用戶工作負(fù)載簡檔對對應(yīng)于第二用戶會(huì)話的第二用戶進(jìn)行分類。
9.權(quán)利要求1的方法,其中給第一用戶分配虛擬機(jī)還包括由虛擬桌面架構(gòu)從虛擬機(jī)管理器請求虛擬機(jī),所述虛擬機(jī)管理器根據(jù)第一用戶的分類分配虛擬機(jī)。
10.權(quán)利要求1的方法,其中分配虛擬機(jī)還包括根據(jù)第一用戶的分類配置虛擬機(jī)。
11.權(quán)利要求1的方法,其中分配虛擬機(jī)還包括根據(jù)第一用戶的分類選擇虛擬機(jī)。
12.用于根據(jù)用戶的分類分配虛擬機(jī)的系統(tǒng),其中根據(jù)歷史的第一用戶會(huì)話信息和虛擬機(jī)指標(biāo)對用戶分類,所述系統(tǒng)包括在計(jì)算機(jī)器上執(zhí)行的會(huì)話監(jiān)控器,用于接收第一用戶會(huì)話終止的通知,第一用戶會(huì)話訪問第一虛擬機(jī),響應(yīng)于第一用戶會(huì)話的終止來記錄第一用戶會(huì)話信息,以及從虛擬機(jī)性能監(jiān)控器獲得用于第一虛擬機(jī)的虛擬機(jī)指標(biāo);性能監(jiān)控器 使用第一用戶會(huì)話信息和第一虛擬機(jī)指標(biāo)來更新第一用戶工作負(fù)載簡檔, 其中根據(jù)第一用戶工作負(fù)載簡檔對對應(yīng)于第一用戶會(huì)話的第一用戶進(jìn)行分類;以及在計(jì)算機(jī)器上執(zhí)行的虛擬桌面架構(gòu),用于從第一用戶接收對虛擬機(jī)的請求,以及響應(yīng)于接收所述請求,根據(jù)第一用戶的分類來給第一用戶分配虛擬機(jī)。
13.權(quán)利要求12的系統(tǒng),其中會(huì)話監(jiān)控器在虛擬桌面架構(gòu)之外執(zhí)行。
14.權(quán)利要求12的系統(tǒng),其中根據(jù)第一用戶工作負(fù)載簡檔,第一用戶被分類為重度用戶、中度用戶和輕度用戶中的一個(gè)。
15.權(quán)利要求12的系統(tǒng),其中性能監(jiān)控器還將所記錄的第一用戶會(huì)話信息映射到所獲得的第一虛擬機(jī)指標(biāo)上。
16.權(quán)利要求12的系統(tǒng),還包括用于存儲(chǔ)第一用戶分類的存儲(chǔ)倉庫。
17.權(quán)利要求12的系統(tǒng),還包括在虛擬桌面架構(gòu)之外的計(jì)算設(shè)備上執(zhí)行的分類模塊, 其中分類模塊對第一用戶進(jìn)行分類。
18.權(quán)利要求12的系統(tǒng),其中,性能監(jiān)控器接收第二用戶會(huì)話終止的通知,第二用戶會(huì)話訪問第二虛擬機(jī),記錄第二用戶會(huì)話信息,和獲得用于第二虛擬機(jī)的虛擬機(jī)指標(biāo);以及性能監(jiān)控器使用第二用戶會(huì)話信息和第二虛擬機(jī)指標(biāo)來更新第二用戶工作負(fù)載簡檔。
19.權(quán)利要求18的系統(tǒng),還包括根據(jù)第二用戶工作負(fù)載簡檔對對應(yīng)于第二用戶會(huì)話的第二用戶進(jìn)行分類的分類模塊。
20.權(quán)利要求12的系統(tǒng),其中虛擬桌面架構(gòu)通過從虛擬機(jī)管理器請求虛擬機(jī)來給第一用戶分配虛擬機(jī),以及虛擬機(jī)管理器根據(jù)第一用戶的分類給第一用戶分配虛擬機(jī)。
21.權(quán)利要求20的系統(tǒng),其中虛擬機(jī)管理器通過根據(jù)第一用戶的分類配置虛擬機(jī)來給第一用戶分配虛擬機(jī)。
22.權(quán)利要求20的系統(tǒng),其中虛擬機(jī)管理器通過根據(jù)第一用戶的分類選擇虛擬機(jī)來給第一用戶分配虛擬機(jī)。
全文摘要
性能監(jiān)控系統(tǒng)根據(jù)使用用戶會(huì)話信息和虛擬機(jī)指標(biāo)所確定的用戶分類給用戶或用戶會(huì)話分配虛擬機(jī)。性能監(jiān)控系統(tǒng)的會(huì)話監(jiān)控器被通知用戶會(huì)話終止,其中用戶會(huì)話訪問虛擬機(jī)。會(huì)話監(jiān)控器響應(yīng)地記錄用戶會(huì)話信息并且從虛擬機(jī)性能監(jiān)控器獲得用于所述虛擬機(jī)的虛擬機(jī)指標(biāo)。性能監(jiān)控系統(tǒng)使用用戶會(huì)話信息和虛擬機(jī)指標(biāo)更新用戶工作負(fù)載簡檔,并且根據(jù)用戶工作負(fù)載簡檔對用戶會(huì)話的用戶進(jìn)行分類。當(dāng)收到來自用戶的對虛擬機(jī)的請求,虛擬桌面架構(gòu)從虛擬機(jī)管理器請求虛擬機(jī)。虛擬機(jī)管理器響應(yīng)地根據(jù)用戶的分類給用戶分配虛擬機(jī)。
文檔編號G06F9/50GK102446121SQ201110148568
公開日2012年5月9日 申請日期2011年6月1日 優(yōu)先權(quán)日2010年10月12日
發(fā)明者D·斯科特, R·夏普 申請人:思杰系統(tǒng)有限公司