專利名稱:對應用的多租戶訪問的制作方法
技術領域:
本發(fā)明涉及對單租戶應用的多用戶使用。
背景技術:
一種日益流行的聯(lián)網形式一般被稱為遠程呈現(xiàn)系統(tǒng),其能使用諸如遠程桌面協(xié)議 (RDP)以及獨立計算體系結構(ICA)等協(xié)議來與遠程客戶端共享桌面和在服務器上執(zhí)行的 其他應用。云計算指的是用于允許對共享的計算資源池進行按需網絡訪問的計算環(huán)境。許 多云計算服務涉及諸如上文所述的那些虛擬化的資源,并且可以采取用戶能夠通過web瀏 覽器來訪問和使用的基于web的工具或應用的形式,就好像它們是本地地安裝在用戶自己 的計算機上的程序那樣。許多應用被設計成供單個用戶使用。例如,AutoCAD被設計為單租戶應用并且旨 在由單個用戶使用,而不是由多個用戶同時使用。相反,諸如Bing等基于web的多租戶應 用旨在由數(shù)百萬個用戶同時訪問。
發(fā)明內容
在云計算系統(tǒng)中,經常期望提供對未被設計成在這一環(huán)境中執(zhí)行的軟件應用的訪 問。公開了用于向云計算環(huán)境中的多個用戶呈現(xiàn)軟件應用的方法和系統(tǒng)。例如,在基于云 的平臺中提供被設計成供單個用戶使用的應用,而不重建該應用。使用基于web的界面,多 個云用戶可啟動和執(zhí)行該應用。向云用戶呈現(xiàn)該應用的各種實例,就像該應用被設計成多 用戶應用那樣。
參考附圖來進一步描述根據(jù)本說明書的用于向虛擬化的計算環(huán)境中的多個用戶 部署軟件應用的系統(tǒng)、方法和計算機可讀介質,在附圖中圖1描繪了其中可實現(xiàn)本發(fā)明的各方面的示例計算環(huán)境。圖2描繪了其中可實現(xiàn)本發(fā)明的各方面的示例計算環(huán)境。圖3描繪了包括數(shù)據(jù)中心的示例計算環(huán)境。圖4描繪了數(shù)據(jù)中心的操作環(huán)境。圖5描繪了用于實施本發(fā)明的各方面的操作環(huán)境。圖6示出了用于實施此處所公開的某些方法的示例體系結構。圖7示出了描繪此處所公開的某些方法的示例框圖。圖8示出了描繪云數(shù)據(jù)服務的計算組件的示例框圖。圖9示出了描繪云數(shù)據(jù)服務的存儲組件的示例框圖。圖10示出了描繪云數(shù)據(jù)服務的結構控制器組件的示例框圖。圖11示出了描繪云數(shù)據(jù)服務的⑶N組件的示例框圖。圖12示出了描繪云數(shù)據(jù)服務的連接組件的示例框圖。
圖13示出了此處所公開的方法的示例實施例。圖14示出了此處所公開的方法的示例實施例。圖15示出了用于實施本公開的各方面的操作過程的示例。圖16示出了用于實施本發(fā)明的各方面的示例系統(tǒng)。圖17示出了用戶數(shù)據(jù)裝載場景的示例實施例。圖18示出了此處所公開的方法的示例實施例。
具體實施例方式在以下描述和附圖中闡明了某些具體細節(jié),以提供對本公開的各個實施例的全面理解。通常與計算和軟件技術相關聯(lián)的某些公知細節(jié)不在以下公開中描述,以避免不必要地使本公開的各實施例晦澀難懂。此外,相關領域的普通技術人員會理解,他們可以無需以下描述的細節(jié)中的一個或多個而實現(xiàn)本公開的其它實施例。最后,盡管在以下公開中參考了步驟和序列來描述各個方法,但是如此的描述是為了提供本公開的實施例的清楚實現(xiàn),且步驟以及步驟序列不應被認為是實現(xiàn)本公開所必需的。應該理解,此處描述的各種技術可以結合硬件或軟件,或在適當時結合兩者的組合來實現(xiàn)。因此,本公開的方法和裝置或其某些方面或部分,可以采用包含在諸如軟盤、CD-ROM、硬盤驅動器或任何其它機器可讀存儲介質等有形介質中的程序代碼(S卩,指令)的形式,其中,當程序代碼被加載至諸如計算機等機器并由其運行時,該機器成為用于實現(xiàn)本公開的裝置。在程序代碼在可編程計算機上執(zhí)行的情況下,計算設備通常包括處理器、該處理器可讀的存儲介質(包括易失性和非易失性存儲器和/或存儲元件)、至少一個輸入設備、以及至少一個輸出設備。一個或多個程序可以例如,通過使用應用編程接口(API)、可重用控件等來實現(xiàn)或利用結合本發(fā)明描述的過程。這樣的程序優(yōu)選地用高級過程語言或面向對象編程語言來實現(xiàn),以與計算機系統(tǒng)通信。然而,如果需要,該程序可以用匯編語言或機器語言來實現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實現(xiàn)相結合。遠程桌面系統(tǒng)是維護可由客戶端計算機系統(tǒng)遠程地執(zhí)行的應用的計算機系統(tǒng)。輸入是在客戶計算機系統(tǒng)處被輸入的,并通過網絡(例如,使用基于國際電信聯(lián)盟(ITU)T. 120系列協(xié)議等協(xié)議,如遠程桌面協(xié)議(RDP))傳送到終端服務器上的應用。該應用如同該輸入是在終端服務器處輸入的那樣來處理該輸入。該應用響應于所接收到的輸入來生成輸出,并且通過網絡將該輸出傳送到客戶端。各實施例可以在一個或多個計算機系統(tǒng)上執(zhí)行。圖I和以下討論旨在提供其中可以實現(xiàn)所公開的主題的適當計算環(huán)境的簡要描述。本領域的技術人員可以理解,計算機系統(tǒng)200、300可具有相對于圖I的計算機100描述的組件中的一部分或全部。貫穿本公開使用的術語電路可包括諸如硬件中斷控制器、硬盤驅動器、網絡適配器、圖形處理器、基于硬件的視頻/音頻編解碼器等硬件組件,以及用于操作這些硬件的固件/軟件。術語電路還可包括被配置成通過固件或通過開關集來以特定方式執(zhí)行功能的微處理器,或一個或多個邏輯處理器,例如,多核通用處理單元的一個或多個核。此示例中的邏輯處理器可以通過從存儲器,例如,RAM、ROM、固件和/或虛擬存儲器中加載的體現(xiàn)可操作以執(zhí)行功能的邏輯的軟件指令來配置。在其中電路包括硬件和軟件的組合的示例實施例中,實現(xiàn)者可以編寫具體化邏輯的源代碼,該源代碼隨后被編譯成可由邏輯處理器執(zhí)行的機器可讀代碼。因為本領域技術人員可以明白現(xiàn)有技術已經進化到硬件、軟件或硬件/軟件的組合之間幾乎沒有差別的地步,因而選擇硬件還是軟件來實現(xiàn)功能只是一個設計選擇。因此,由于本領域的技術人員可以理解軟件進程可被變換成等效的硬件結構,且硬件結構本身可被變換成等效的軟件進程,因此選擇硬件實現(xiàn)或是軟件實現(xiàn)是無足輕重的且留給了實現(xiàn)者。圖I描繪了以本公開的各方面來配置的計算系統(tǒng)的示例。計算系統(tǒng)可包括計算機20等等,其中包括處理單元21、系統(tǒng)存儲器22,以及將包括系統(tǒng)存儲器在內的各種系統(tǒng)組件耦合到處理單元21的系統(tǒng)總線23。系統(tǒng)總線23可以是若干類型的總線結構中的任一種,包括使用各種總線體系結構中的任一種的存儲器總線或存儲器控制器、外圍總線、以及局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM) 24和隨機存取存儲器(RAM) 25?;据斎?輸出系統(tǒng)26 (BIOS)被存儲在ROM 24中,該基本輸入/輸出系統(tǒng)26包含了諸如在啟動期間幫助在計算機20內的元件之間傳輸信息的基本例程。計算機20還可以包括用于讀寫硬盤(未示出)的硬盤驅動器27、用于讀寫可移動磁盤29的磁盤驅動器28,以及用于讀寫諸如CD ROM或其他光學介質之類的可移動光盤31的光盤驅動器30。在一些示例實施例中,實施本公開的各方面的計算機可執(zhí)行指令可存儲在ROM 24、硬盤(未示出)、RAM 25、可移動磁盤29、光盤31和/或處理單元21的高速緩存中。硬盤驅動器27、磁盤驅動器28,以及光盤驅動器30分別通過硬盤驅動器接口 32、磁盤驅動器接口 33,以及光盤驅動器接口 34連接到系統(tǒng)總線23。驅動器以及它們相關聯(lián)的計算機可讀介質為計算機20提供了計算機可讀指令、數(shù)據(jù)結構、程序模塊,及其他數(shù)據(jù)的非易失存儲器。雖然此處所描述的環(huán)境使用了硬盤、可移動磁盤29、以及可移動光盤31,但是,那些本領域普通技術人員應該理解,在操作環(huán)境中也可以使用諸如盒式磁帶、閃存卡、數(shù)字視頻盤、伯努利磁帶盒、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等之類的可以存儲可由計算機進行訪問的數(shù)據(jù)的其他類型的計算機可讀介質??梢杂腥舾蓚€程序模塊存儲在硬盤、磁盤29、光盤31、R0M 24或RAM25上,包括操作系統(tǒng)35、一個或多個應用程序36、其他程序模塊37、以及程序數(shù)據(jù)38。用戶可以通過諸如鍵盤40和定點設備42之類的輸入設備向計算機20中輸入命令和信息。其他輸入設備(未示出)可包括話筒、游戲桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等等。這些及其他輸入設備常常通過耦合到系統(tǒng)總線的串行端口接口 46連接到處理單元21,但是,也可以通過諸如并行端口、游戲端口、通用串行總線(USB)之類的其他接口來連接。顯示器47或其他類型的顯示設備也可以通過諸如視頻適配器48之類的接口連接到系統(tǒng)總線23。除了顯示器47之外,計算機通常包括其他外圍輸出設備(未示出),如揚聲器和打印機。圖I的系統(tǒng)也包括主機適配器55、小型計算機系統(tǒng)接口(SCSI)總線56,以及連接到SCSI總線56的外部存儲設備62。計算機20可使用到一個或多個遠程計算機(諸如,遠程計算機49)的邏輯連接而在聯(lián)網環(huán)境中操作。遠程計算機49可以是另一計算機、服務器、路由器、網絡PC、對等設備或其他常見的網絡節(jié)點、虛擬機,并通常包括上文相對于計算機20所描述的許多或全部元件,但是在圖I中只示出了存儲器存儲設備50。圖I中所描繪的邏輯連接可包括局域網(LAN) 51和廣域網(WAN) 52。這樣的聯(lián)網環(huán)境在辦公室、企業(yè)范圍的計算機網絡、內聯(lián)網和因特網中是普遍的。
6
當用于LAN聯(lián)網環(huán)境中時,計算機20可通過網絡接口或適配器53連接到LAN 51。當用于WAN聯(lián)網環(huán)境中時,計算機20可通常包括調制解調器54,或用于通過諸如因特網之類的廣域網52建立通信的其他手段??梢允莾戎玫幕蛲庵玫恼{制解調器54可通過串行端口接口 46連接到系統(tǒng)總線23。在聯(lián)網環(huán)境中,相對于計算機20所示的程序模塊或其部分可被存儲在遠程存儲器存儲設備中??梢岳斫?,所示出的網絡連接只是示例,也可以使用用于在計算機之間建立通信鏈路的其他手段。此外,雖然可構想本發(fā)明的許多實施例尤其適用于計算機系統(tǒng),然而在本文中不意味著將本公開限于這些實施例?,F(xiàn)在參考圖2,所描繪的是被配置成實現(xiàn)虛擬機的計算機系統(tǒng)的高級框圖。如圖所示,計算機系統(tǒng)100可包括圖I和2中所描述的元件,以及可用于實現(xiàn)虛擬機的組件。一個這樣的組件是在本領域中也可被稱為虛擬機監(jiān)控程序的系統(tǒng)管理程序(hypervisor) 202。所描繪的實施例中的系統(tǒng)管理程序202可被配置成控制并仲裁對計算機系統(tǒng)100的硬件的訪問。廣泛而言,系統(tǒng)管理程序202可以生成稱為分區(qū)的執(zhí)行環(huán)境,如子分區(qū)I到子分區(qū)N(其中N是大于或等于I的整數(shù))。在各實施例中,子分區(qū)可被認為是系統(tǒng)管理程序202所支持的基本隔離單位,即,每一子分區(qū)可被映射到在系統(tǒng)管理程序202和/或父分區(qū)的控制下的一組硬件資源,例如存儲器、設備、邏輯處理器周期等,并且系統(tǒng)管理程序202可以隔離一個分區(qū)使其無法訪問另一分區(qū)的資源。在各實施例中,系統(tǒng)管理程序202可以是獨立軟件產品,操作系統(tǒng)的一部分、被嵌入在主板的固件內、專門的集成電路,或其組合。在以上示例中,計算機系統(tǒng)100包括父分區(qū)204,父分區(qū)在開源社區(qū)中也可被認為是域O。父分區(qū)204可被配置成通過使用虛擬化服務向在子分區(qū)I-N中執(zhí)行的客操作系統(tǒng)提供資源。每一子分區(qū)可包括一個或多個虛擬處理器,例如客操作系統(tǒng)220到222可管理并調度線程在其上執(zhí)行的虛擬處理器230到232。一般而言,虛擬處理器230到232是提供帶有特定體系結構的物理處理器的表示的可執(zhí)行指令和相關聯(lián)狀態(tài)信息。例如,一個虛擬機可具有帶有英特爾x86處理器特性的虛擬處理器,而另一虛擬處理器可具有PowerPC處理器的特性。本示例中的虛擬處理器可被映射到計算機系統(tǒng)的邏輯處理器,使得實現(xiàn)虛擬處理器的指令將受到邏輯處理器的支持。如此,在這些示例實施例中,多個虛擬處理器可以同時執(zhí)行,而同時例如另一邏輯處理器正執(zhí)行系統(tǒng)管理程序指令。一般而言,且如圖所示,分區(qū)中的虛擬處理器以及存儲器的組合可被認為是虛擬機,如虛擬機240或242。一般而言,客操作系統(tǒng)220到222可包括諸如,例如,來自Microsoft Appie 、幵放源代碼社區(qū)等等的操作系統(tǒng)之類的任何操作系統(tǒng)??筒僮飨到y(tǒng)可包括用戶/內核操作模式,并且可具有包括調度器、存儲器管理器等的內核。內核模式可包括邏輯處理器中的執(zhí)行模式,該執(zhí)行模式授予對至少特權處理器指令的訪問。每一客操作系統(tǒng)220到222可具有相關聯(lián)的文件系統(tǒng),該文件系統(tǒng)上存儲有諸如終端服務器、電子商務服務器、電子郵件服務器等應用以及客操作系統(tǒng)本身??筒僮飨到y(tǒng)220-222可以調度線程來在虛擬處理器230-232上執(zhí)行,并可以實現(xiàn)這樣的應用程序的實例。圖3和以下描述旨在提供其中可實現(xiàn)此處描述的各實施例的示例計算環(huán)境的簡要概括描述。具體地,圖3描繪了包括用于提供計算資源的數(shù)據(jù)中心308的說明性操作環(huán)境300。數(shù)據(jù)中心308可提供用于執(zhí)行應用的計算資源并且在連續(xù)的或按需的基礎上提供數(shù)據(jù)服務。數(shù)據(jù)中心308所提供的計算資源可包括各種類型的資源,諸如數(shù)據(jù)處理資源、數(shù)據(jù)存儲資源、數(shù)據(jù)通信資源等。每一種類型的計算資源可以是通用的或者可以在多個特定配置上可用。例如,數(shù)據(jù)處理資源可供用作虛擬機實例。虛擬機實例可被配置成執(zhí)行應用,包括Web服務器、應用服務器、媒體服務器、數(shù)據(jù)庫服務器等。數(shù)據(jù)存儲資源可包括文件存儲設備、塊存儲設備等。數(shù)據(jù)中心不僅僅包括虛擬機計算資源,還包括多個物理計算設備,所述物理計算設備可被配置成運行一個或多個虛擬機,所述虛擬機可以跨物理資源被遷移以進行負載平衡。數(shù)據(jù)中心308所提供的計算資源可由一個或多個單獨的數(shù)據(jù)中心來啟用。數(shù)據(jù)中心308是用于容納和操作計算機系統(tǒng)和相關聯(lián)的組件的架構。數(shù)據(jù)中心308通常包括冗余且備用的供電、通信、冷卻和安全系統(tǒng)。數(shù)據(jù)中心302還可位于在地理上不同的位置。下文將參考圖3來描述實現(xiàn)此處所公開的概念和技術以便可縮放地部署虛擬化的計算基礎架構的數(shù)據(jù)中心308的一個說明性配置。數(shù)據(jù)中心308的客戶和其他使用者可通過網絡306訪問數(shù)據(jù)中心302所提供的計算資源。應該理解,可使用將數(shù)據(jù)中心308連接到遠程使用者的局域網(“LAN”)、因特網或本領域已知的任何其他聯(lián)網拓撲結構。還應該理解,還可使用此類網絡的組合。用戶計算機304可以是數(shù)據(jù)中心308的客戶或其他使用者所使用的計算機。例如,用戶計算機304可以是服務器計算機、臺式機或膝上型個人計算機、瘦客戶機、平板計算機、無線電話、個人數(shù)字助理(“PDA”)、電子閱讀器、游戲控制臺、機頂盒或能夠訪問數(shù)據(jù)中心308的任何其他計算設備。用戶計算機304用于配置數(shù)據(jù)中心308所提供的計算資源的各方面。在這一點上,數(shù)據(jù)中心308可提供Web界面,該數(shù)據(jù)中心的操作的各方面可通過使用在客戶計算系統(tǒng)304上執(zhí)行的Web瀏覽器應用程序來配置。另選地,在客戶計算系統(tǒng)304上執(zhí)行的獨立應用程序可訪問由數(shù)據(jù)中心308展示的應用編程接口(“API”)來執(zhí)行配置操作。還可使用用于配置數(shù)據(jù)中心308的操作的其他機制,包括向應用部署更新。圖4描繪了一計算系統(tǒng)圖,該圖食醋了數(shù)據(jù)中心308的一種配置,包括此處所公開的用于可縮放地部署虛擬化的計算基礎架構的概念和技術。圖2包括用于提供計算資源以供執(zhí)行應用的服務器計算機402。服務器計算機402可以是被合適地配置為提供上述計算資源的標準服務器計算機。例如,在一種實現(xiàn)中,服務器計算機402被配置成提供進程406。在一實施例中,進程406可以是虛擬機實例。虛擬機實例可以是非常像物理機執(zhí)行程序那樣執(zhí)行程序的機器(即計算機)的軟件實現(xiàn)的實例。在虛擬機實例的示例中,每一個服務器402都可被配置成執(zhí)行能夠執(zhí)行實例的實例管理器。實例管理器可以是系統(tǒng)管理程序、或者是被配置成例如在單個服務器402上實現(xiàn)多個進程406的執(zhí)行的另一類型的程序。應該理解,盡管此處所公開的某些實施例在虛擬機實例的上下文中進行討論,但還可將其他類型的實例用于此處所公開的概念和技術。例如,此處所公開的技術可用于存儲資源、處理資源、數(shù)據(jù)通信資源的實例以及用于其他類型的資源的實例。此處所公開的各實施例還可用于不利用虛擬機實例的計算系統(tǒng),即使用物理機和虛擬機的組合的計算系統(tǒng)。在圖4所示的示例數(shù)據(jù)中心中,LAN 401被用來與服務器計算機402互連。LAN401還可連接到圖3所示的WAN 306。應該理解,圖3和4所示的網絡拓撲結構已經被極大地簡化,并且可利用多得多的網絡和聯(lián)網設備來互連此處所公開的各種計算系統(tǒng)。合適的負載平衡設備或軟件模塊還可用于在數(shù)據(jù)中心之間、在每一個數(shù)據(jù)中心中的每一個服務器計算機402之間、以及在由數(shù)據(jù)中心的每一個客戶購買的實例406之間進行負載平衡。這些網絡拓撲結構和設備對于本領域技術人員而言應該是顯而易見的。云計算一般指的是用于實現(xiàn)對諸如上文所述的計算資源(例如,應用、服務器和存儲)的共享池的按需網絡訪問的計算環(huán)境。此類計算環(huán)境可用最少的管理工作或服務提供者交互來快速地供應和釋放。云計算服務通常不要求終端用戶知曉遞送服務的系統(tǒng)的物理位置以及配置。服務可以是基于消耗的并且經由因特網來遞送。許多云計算服務涉及諸如上文所述的那些虛擬化的資源,并且可以采取用戶能夠通過web瀏覽器來訪問和使用的基于web的工具或應用的形式,就好像它們是本地地安裝在用戶自己的計算機上的程序那樣。云計算服務通常構建在某種類型的平臺上。對于諸如在組織的數(shù)據(jù)中心內部運行的某些應用而言,此類平臺可包括操作系統(tǒng)以及被配置成存儲數(shù)據(jù)的數(shù)據(jù)存儲服務。運行在云中的應用可使用類似的基礎。圖5提供了圖3所示的實例環(huán)境的進一步細節(jié)。用戶計算機304處的管理員可建立桌面配置501,包括標識操作系統(tǒng)、應用、策略和存儲設置。此類偏好可由管理員改變,并且服務的提供者可針對提供所請求的配置向管理員收費。在一實施例中并且如圖6進一步描述的,云服務可實現(xiàn)如下包括四層棧的體系結構·云計算平臺601,被配置成提供資源以支持云服務·桌面供應和管理層602,用于創(chuàng)建和管理云計算資產,所述云計算資產使得應用提供者能夠提供應用、企業(yè)桌面提供者和桌面零售商能夠創(chuàng)建和管理桌面、用戶能夠連接到他們的桌面等。這一層可將應用和桌面的邏輯視圖轉換成云計算平臺的物理資產。 應用提供者/企業(yè)桌面提供者/桌面零售商/用戶體驗層603,為上述四種類型的實體中的每一種實體提供獨特的端到端體驗?!ご怪睂?04,為特定的用戶組提供由桌面零售商提供的一組自定義體驗。在云計算平臺的一個實施例中,可實現(xiàn)戳記(stamp)并使用戳記來定義隔離單元,并且可將戳記配置成定義傳統(tǒng)的遠程桌面部署。可提供維護顧客人工制品和憑證、跨戳記管理負載、以及供應戳記并調整戳記的大小的遠程桌面控制器組件。遠程桌面控制器還可創(chuàng)建并管理應用和桌面。特定端點提供用戶桌面的虛擬等價物,一個(或多個)戳記提供公司的計算基礎架構的虛擬等價物。上文所述的各層可涉及多個組件。此類組件可包括在下文中進一步描述的下列組件?!び嬎憬M件(例如,圖8),運行云中的應用?!ご鎯M件(例如,圖9),存儲云中的二進制和結構化數(shù)據(jù)·結構控制器組件(例如,圖10),部署、管理和監(jiān)控應用。結構控制器還處理整個平臺上對系統(tǒng)軟件的更新·內容遞送網絡(⑶N)組件(例如,圖11),通過在全世界范圍內維護云存儲中的數(shù)據(jù)的高速緩存的副本來提高該數(shù)據(jù)的全球訪問速度?!みB接組件(例如,圖12),允許在本地計算機和云應用之間創(chuàng)建IP層連接。
參考描繪計算組件810的圖8,應用可被實現(xiàn)為如上所述的一個或多個角色800801 802。云服務可通過使用負載平衡來跨角色地傳播請求來運行每一個角色的多個實例??上蜷_發(fā)者提供門戶以將應用提交給云服務。門戶可被配置成接收配置信息,該配置信息通知云平臺每一個角色要運行多少實例。結構控制器組件可為每一個實例創(chuàng)建虛擬機(VM)并且在該VM中為合適的角色運行代碼。來自應用的用戶的請求可使用諸如HTTP、HTTPS和TCP之類的協(xié)議作出。請求可跨一角色的全部實例來進行負載平衡。參考描繪存儲組件910的圖9,云平臺可提供使用多個數(shù)據(jù)結構和格式的數(shù)據(jù)存儲。例如,數(shù)據(jù)存儲可作為二進制數(shù)據(jù)的未結構化團塊來提供。元數(shù)據(jù)可用于提供關于內容的信息。為了允許應用以更結構化的方式來對數(shù)據(jù)進行操作,云存儲服務可將存儲作為與屬性相關聯(lián)的實體組來提供。還可向應用提供查詢數(shù)據(jù)的裝置,諸如例如包括搜索參數(shù)的API。另外,云存儲可提供一種供web角色實例與工作者角色實例異步通信的方式。例如,用戶可提交請求以經由由web角色實現(xiàn)的web界面來執(zhí)行某種計算密集的任務。接收這一請求的web角色實例可將消息寫入描述要完成的工作的隊列902。在這一隊列上等待的工作者角色實例隨后可讀取該消息并執(zhí)行指定的任務。結果可經由另一隊列返回。云存儲服務可復制數(shù)據(jù)以便提供容錯。此外,數(shù)據(jù)可被備份復制在位于不同物理位置的另一數(shù)據(jù)中心中以實現(xiàn)冗余和增強的可用性。參考圖10,結構控制器組件1000可以是跨一組機器而復制的分布式應用。結構控制器組件可被配置成擁有其環(huán)境中的全部資源,諸如計算機、交換機和負載平衡器。結構控制器組件1000還可監(jiān)控正在運行的應用,確定新應用應該在哪里運行,以及選擇物理服務器來優(yōu)化硬件利用。結構控制器組件還可被配置成啟動、監(jiān)控和終止虛擬機。在一實施例中并且參考圖11,云服務可將數(shù)據(jù)副本存儲在離使用該數(shù)據(jù)的客戶機1000較近的站點處。例如,用戶第一次訪問特定數(shù)據(jù)片時,內容遞送網絡組件可將該數(shù)據(jù)的副本存儲(即高速緩存)在地理上離該用戶較近的位置處。下一次訪問該數(shù)據(jù)時,內容可從高速緩存而非從更遠的源來遞送。在一實施例中并且參照圖11,為了支持組織內使用的應用和數(shù)據(jù),本地環(huán)境可與云服務連接。在一實施例中,此類組合可通過在云應用以及在云外部運行的機器之間提供IP層連通性來實現(xiàn)。端點代理1201可被安裝在連接到云應用的每一本地計算機1202上。云應用還可被配置成與云連接組件1200 —起工作。代理可使用諸如IPsec之類的協(xié)議來與該應用中的特定角色交互。通過使用此類代理,配置諸如IPsec協(xié)議1203之類的協(xié)議的潛在復雜性對于用戶而言可能是透明的,同時提供了比諸如虛擬專用網絡(VPN)之類的方法更簡單的連接。一旦建立了連接,云應用中的角色可顯得像在本地機器上一樣地在同一IP網絡上。通過建立此類連接,云應用可直接訪問本地數(shù)據(jù)庫。云應用還可域加入(domain-join)到本地環(huán)境中,從而允許本地用戶到云應用的單次登錄,并且使用用于訪問控制的現(xiàn)有的活動目錄賬戶和組。在各實施例中,可提供遠程桌面計算體驗,其中桌面提供者可提供靈活的桌面池,管理員可以幾乎與供應和管理單個用戶桌面相同的方式從該池中容易地供應和管理多個用戶桌面。遠程桌面用戶因此可被提供總是可用、無需管理過程并且基于消費來計費的桌面體驗。對于應用提供者,此類服務可使得應用提供者以最小的工作用web應用形式向用戶提供的傳統(tǒng)桌面應用。隨著企業(yè)開始采用遠程或虛擬桌面作為集中化對安全和兼容的員工桌面的管理的手段,對于IT管理員而言能夠提供同構的桌面環(huán)境以便控制和最小化成本將是有利的。因此,能提供多個遠程或虛擬桌面的平臺能以低成本提供可縮放的且同構的計算環(huán)境。通過以與同構的計算模型類似的方式在云平臺上構建托管桌面解決方案,IT管理員可被提供與傳統(tǒng)的“作為服務的桌面”的替換方案相比能夠極大地降低成本的環(huán)境。云計算平臺可被配置成與多個用戶和提供者一起操作并且向該多個用戶和提供者提供益處。例如,對于向企業(yè)桌面提供者或桌面零售商提供應用的應用提供者而言,云計算平臺可被配置成在可縮放的云模型中供應和銷售傳統(tǒng)的桌面應用??墒沟脩锰峁┱吣軌騽?chuàng)建帶有支出賬戶信息的應用提供者賬戶、上傳應用包、在所選操作系統(tǒng)上測試所上傳的應用、在云上的應用市場上發(fā)布應用、監(jiān)控應用使用和設置每個用戶的用戶收費。參考圖13,示出了描繪用于在云計算框架中提供遠程桌面服務的過程的示例框圖。用戶可經由瀏覽器來訪問提供到遠程桌面服務的接入點的網頁,所述遠程桌面服務根據(jù)用戶的IT部門要求來對用戶可訪問和配置。用戶可使用提供給用戶的憑證來登錄系統(tǒng)。憑證可以是諸如Windows Live ID或OpenID (開放ID)之類的持久ID。用戶隨后將被重定向至認證服務器,該認證服務器可要求通過安全連接輸入用戶名和口令。一旦通過認證,用戶可被發(fā)放對于該用戶而言持久的口令,所述口令被提供給其他服務以使得不再需要附加的授權。在一實施例中,即使桌面會話結束,口令對于該用戶而言可能是持久的,除非用戶顯式地從會話登出??梢蕴峁┮环N用于自動地登錄到基于云的系統(tǒng)的機制,在所述基于云的系統(tǒng)中,單次用戶認證和授權過程準許用戶訪問用戶具有訪問許可的基于云的系統(tǒng)中的資源而無需輸入多次口令。提供單次登錄允許用戶登錄一次并且訪問多個應用而無需輸入更多次的口令。單次登錄通過經由減少必須被維護的口令數(shù)量來提升安全性和效率,對于企業(yè)而言是合乎需要的。對于云服務提供者而言,單次登錄通過允許用戶更大的訪問權而無需附加的認證工作來提供更好的用戶體驗?;谠频姆湛赡懿唤邮苡蓡未蔚卿浄账傻牧钆频卿洃{證。例如,web-ID提供者或單次登錄服務可向用戶提示單次憑證,并且服務可生成可用于連接到其他服務的權證或令牌。此類系統(tǒng)的示例包括Windows、Linux和iOS。給予本地企業(yè)域中的用戶例如對在云服務中運行的應用的單次登錄是合乎需要的。在一實施例中,當用戶登錄到基于云的桌面并提供認證憑證時,可自動地生成和保持一次性口令。所生成的一次性口令可用于自動地登錄到基于云的系統(tǒng)中的其他過程。在一實施例中,所生成的一次性口令可被保持到用戶顯式地登出為止。因此,即使在桌面會話被意外終止的情況下,口令也可被保持。在另一實施例中,用戶可具有用于提供諸如Windows Live或Yahoo之類的集成在線服務的服務的賬戶。此類服務可提供諸如能使用單個用戶ID和口令來訪問的電子郵件和多媒體服務之類的服務和軟件產品集。在一實施例中,此類集成服務的用戶也可被提供如上所述地訪問基于云的計算服務的選項。因此,當用戶選擇了基于云的計算服務作為此類集成服務的一部分時,一旦用戶登錄了服務,則可向用戶呈現(xiàn)訪問基于云的計算服務并請求遠程桌面會話的選項。因為例如遠程桌面之類的基于云的服務可能不接受來自集成服務的憑證,所以基于云的服務可生成帶有允許用戶訪問桌面會話的一次性口令的賬戶。一次性口令的細節(jié)不必提供給用戶,因為該口令僅在會話期間存在或者僅存在至用戶登出為止。在一實施例中,一次性口令可被保持以使得在桌面被無意地斷開連接的情況下用戶可返回至桌面而不必重啟登錄過程。在圖14所不的一實施例中,客戶機1404可輸入他的公司的基于云的服務主頁1400的URL。另選地,用戶可輸入集成在線服務的URL。用戶可被定向至向用戶提示認證憑證的在線認證服務1404。在線認證服務1401可以是用戶的管理員所使用的服務,并且用戶的憑證信息可由管理員提供給云服務,從而授權服務創(chuàng)建用戶簡檔并允許用戶啟動和訪問桌面。另選地,在線認證服務1401可由集成在線服務提供。一旦用戶經過認證,該用戶被定向至主頁1402,該用戶可使用由在線認證服務所提供的憑證來訪問云服務1410。云服務1410生成一次性口令1405和/或臨時用戶賬戶,并且用戶的一次性口令被發(fā)送140至端點1407。如上所述,端點1407可以是用戶桌面會話。一次性口令可基于在線認證服務接收到的憑證來生成。在一實施例中,口令可被存儲在主存用戶會話的虛擬機中的本地憑證存儲中。因此,口令不隨著用戶被保持在用戶簡檔中,從而允許增強的安全性并避免了對云服務為每一個用戶維護口令的需要??上蛴脩舫尸F(xiàn)可被選擇和登錄的多個桌面,例如,工程桌面、財務桌面等。例如,每一個桌面可針對特定的功能來定制??苫陬A定義的授權來向用戶呈現(xiàn)特定的桌面。一旦用戶選擇了桌面,可為該用戶實例化新的桌面實例。如果先前的桌面實例被選擇,則可恢復與先前的桌面實例相關聯(lián)的會話。該用戶的會話以及其他用戶的會話可作為主存多個此類會話的虛擬機內的端點而被啟動。所保存的簡檔可與被創(chuàng)建的或被恢復的每一個端點相關聯(lián),所述簡檔包括來自先前會話的用戶偏好和狀態(tài)信息以及用于維護用戶狀態(tài)所需的其他信息,從而用戶的會話可被保持、暫停和恢復。一般地,桌面可由操作系統(tǒng)、應用和設置構成。桌面實例一般指的是桌面加上特定的用戶簡檔。在某些情況下,桌面實例和桌面會話可互換地使用。在一實施例中,可為額外的用戶啟動多個會話。參考圖14所示的示例實施例,當額外的用戶登錄到系統(tǒng)時,可實例化對應于多個端點的多個會話。此外,用戶可包括如用戶組的管理員所定義的多個用戶類型。例如,如圖所示,類型I和類型2的多個用戶可登錄到系統(tǒng)并開始會話。例如,類型I可以是財務類型桌面而類型2可以是工程類型桌面。當然,其它示例也是可能的。虛擬機可被配置成主存一個或多個類型的多個會話。在一實施例中,會話數(shù)量可獨立于主存各個用戶會話的底層虛擬機配置。當在虛擬機上實例化額外的用戶會話時,可啟動額外的虛擬機。在一實施例中,一組多個遠程桌面會話可被配置成在虛擬機上執(zhí)行。在需要更多的遠程桌面會話時,可啟動另一虛擬機??商峁椥缘奶摂M機池,以使得可在任何時候動態(tài)地添加會話而無需終端用戶或管理員理解提供服務的結構的底層細節(jié)。因為用戶可被分配來自可用虛擬機(VM)端點池的VM端點,因此下一次用戶登錄時,用戶可連接到該池中的任何一個VM端點。為了為用戶創(chuàng)建自定義的桌面體驗,可保存用戶偏好和狀態(tài)數(shù)據(jù)。在一實施例中,用戶偏好和狀態(tài)數(shù)據(jù)可被保存到可與用戶相關聯(lián)的數(shù)據(jù)集,以使得任何時候用戶登錄并被分配桌面時,可獲得用戶偏好和狀態(tài)數(shù)據(jù)從而可恢復用戶先前的桌面狀態(tài)。因此,例如,如果用戶與第一虛擬機上的會話(即端點)相關聯(lián)并且稍后被分配到不同虛擬機上的不同會話,則來自第一虛擬機的用戶桌面狀態(tài)對于第二虛擬機上的會話而言一般將不可用。然而,根據(jù)本發(fā)明的一方面,用戶狀態(tài)獨立于會話和特定的VM端點而被保存。如本發(fā)明中所述的,此類用戶數(shù)據(jù)集可被成為虛擬簡檔。在各實施例中,虛擬簡檔可被實現(xiàn)并且被成為虛擬硬盤驅動器或虛擬硬盤(VHD)。由此,當用戶與不同虛擬機上的會話連接時,先前的用戶狀態(tài)可被遷移至新的會話。此特征允許被設計成提供特定類型以對每一個特定用戶而言具有自定義的感覺的單個主機桌面。結果是其他方面通用的會話環(huán)境的用戶被用戶感知為具有個人桌面外觀和感覺。如上所討論的,在用戶會話的過程期間,客戶機可打開和關閉到云服務的遠程訪問連接,并且在任何給定的連接期間,客戶機可改變會話中的設置和偏好。此處描述了一種用于在基于云的基礎架構中供應遠程桌面同時維護用戶個性化的機制。在基于云的系統(tǒng)中,用戶可能無法一直重新連接到同一個虛擬桌面。在一實施例中,分配給用戶的虛擬簡檔可被裝載到分配給用戶的端點。虛擬簡檔可包括諸如用戶個人數(shù)據(jù)和個性化信息(例如,設置、簡檔、文件、應用數(shù)據(jù)等)之類的信息。當用戶從遠程桌面斷開連接或者從遠程桌面登出時,虛擬簡檔從該端點被卸載并且被保存以供后續(xù)用戶會話。虛擬簡檔因此保存了關于用戶斷開連接時的用戶狀態(tài)的信息并且按需提供該信息以用于啟動下一次用戶會話。因為用戶可被分配來自可用VM端點池的VM端點,因此下一次用戶登錄時,用戶可連接到該池中的任何一個VM端點。為了為用戶創(chuàng)建自定義的桌面體驗,用戶的被保存的偏好和狀態(tài)數(shù)據(jù)可用于提供自定義的桌面體驗,而不管用戶連接到的特定VM端點。盡管術語虛擬簡檔和VHD用于描述用于保存用戶偏好和狀態(tài)信息的數(shù)據(jù)結構,但應該理解,本發(fā)明不旨在限于任何特定的文件或數(shù)據(jù)格式。在一實施例中,虛擬簡檔或VHD可以是被配置為通常在物理數(shù)據(jù)盤驅動器上找到的數(shù)據(jù)的虛擬硬盤文件格式。最初,虛擬簡檔或VHD可用可用于根據(jù)由例如公司IT管理員所定義的標準桌面配置來配置用戶桌面的數(shù)據(jù)來填充。因此,虛擬簡檔或VHD可包括定義桌面的“黃金映像”(即,對于用戶角色而言標準的桌面配置)的數(shù)據(jù)。然而,當用戶使用特定的遠程桌面并開始通過例如改變墻紙、添加音樂、保存本地文檔等來自定義桌面時,該信息被存儲到虛擬簡檔或VHD,并且之后每一次用戶連接到標準遠程桌面時,就用來自虛擬簡檔或VHD的數(shù)據(jù)來進行填充以提供自定義用戶體驗的外觀和感覺。可在單個云服務邊界的界限內定義用戶類型(即桌面類型)的任意組合。例如,云服務邊界1410可定義單個服務邊界,所述單個服務邊界如所定義的并且被配置成用于提供給特定公司并且可使用預先確定的URL來訪問的服務集,當經由瀏覽器輸入所述URL時,可提供用于登錄到服務并且訪問被配置成用于服務的桌面的web界面。在一實施例中,在請求用戶會話時,最初可請求到連接代理的連接。連接代理可確定與所請求的用戶會話相關聯(lián)的戳記,并且選擇正主存所標識的戳記內的用戶會話的虛擬機。例如,如果請求指示需要一用戶會話,則連接代理可搜索包括IP地址端口號組合或網絡標識符的數(shù)據(jù)庫以尋找正被主存在云服務器上的合適的虛擬機。連接代理可生成重定向請求,所述重定向請求使得用戶會話與所標識的虛擬機相關聯(lián)。參考圖17所述的實施例,端點可被通知1700用戶已經登錄了系統(tǒng)。系統(tǒng)搜索虛擬簡檔1701并確定用戶的虛擬簡檔已經存在1702。如果不存在用戶的虛擬簡檔,則創(chuàng)建虛擬簡檔1703。如果用戶的虛擬簡檔已經存在或者如果虛擬簡檔被創(chuàng)建,則用戶虛擬簡檔被移動至端點1704。用戶桌面會話可被啟動1705。當確定用戶已經登出時1706,虛擬簡檔從端點被卸載1707并且被保存以供后續(xù)使用。對多租戶應用的訪問現(xiàn)在描述一種用于向云計算環(huán)境中的多個用戶呈現(xiàn)軟件應用的機制。例如,在基于云的平臺中提供被設計成供單個用戶使用的應用,而不重建該應用。使用基于web的界面,多個云用戶可啟動和執(zhí)行該應用。向云用戶呈現(xiàn)該應用的各種實例,就像該應用被設計成多用于應用那樣。在一實施例中,針對單個用戶構建的應用可以在基于云的平臺上提供。應用提供者可訪問網站或其他用戶界面以上傳單用戶應用,并請求該單用戶應用經由基于云的平臺對多個用戶是可訪問的。盡管該應用并非針對多用戶訪問而設計,但本發(fā)明提供了一種可用于在無需應用提供者重建應用的情況下使得這一應用可由無限數(shù)量的用戶訪問的機制。在云計算環(huán)境中,執(zhí)行針對單個用戶設計的應用可能導致其中處理能力/硬件是容易地可用的情況,但在這種情況下軟件體系結構使得應用無法呈現(xiàn)給多個用戶或多個用戶會話。例如,在單個用戶的情況下,可根據(jù)單用戶應用的需求來為該應用分配資源,并且該應用可以在單個資源集上執(zhí)行。在一實施例中,可解析單用戶應用的一個或多個部分,并且可以在正在一個或多個虛擬機中運行的一個或多個端點中實例化該軟件的該一個或多個部分的多個實例。該軟件的一個或多個部分中的每一個然后可以與一個或多個用戶會話相關聯(lián)并被交付以便呈現(xiàn)給每一個用戶會話。該一個或多個用戶會話中的每一個都可以與該軟件的一個或多個部分的對應實例進行通信,并且可收發(fā)指示與該應用的進程相關聯(lián)的指令的數(shù)據(jù)。由此,與該一個或多個用戶會話相關聯(lián)的軟件的一個或多個部分可經由用戶會話向用戶發(fā)送數(shù)據(jù)以及從用戶接收數(shù)據(jù)。該軟件的一個或多個部分的實例接收到的請求可以在一個或多個虛擬機上執(zhí)行。在另一實施例中,針對單個用戶構建的應用的單個實例可以在虛擬機中執(zhí)行。多租戶應用管理器可以與多個用戶會話通信,并且對于每一個用戶會話,該多租戶應用管理器可維護用戶會話與應用的交互的狀態(tài)。該應用可接收和處理來自用戶會話的請求。對于每一個用戶會話,可呈現(xiàn)用戶顯示畫面的快照。在一個實施例中,多租戶應用管理器可以在對應用可用的資源池中添加和/或移除資源。此外,多租戶應用管理器可使得每一個用戶會話的請求排隊。在另一實施例中,可實例化應用的多個實例,每一個實例都與一用戶會話相關聯(lián)應用的每一個實例然后可維護其自己的對應于它們各自的用戶會話的狀態(tài)。在一實施例中,應用提供者可訪問云數(shù)據(jù)服務,并且使用web或其他用戶界面可上傳該提供者希望變得對多個用戶可用的單用戶應用。提供者可選擇各選項,諸如URL(例如,www.mysingleapp.com)以及用戶為了使用該單用戶應用而應支付的費用。通常,這一單用戶應用將會是復雜的應用,該復雜的應用最初針對單個用戶設計并且在按使用的基礎上重新構建以作為多用戶應用提供將會是昂貴的。用戶可能經常希望為對這一應用的單次使用支付固定費用,而不是付出購買可能不頻繁地使用的復雜應用的高成本。應用提供者可將軟件上傳至云并選擇例如基于使用或日、月或周訪問的費用。用戶可通過信用卡或賬單等來付費。云服務提供者可主存可通過應用提供者選擇的URL訪問的網站??梢韵蛴脩籼峁┚W頁,該網頁提供關于單用戶應用的信息??梢韵蛴脩籼峁┯糜谶x擇費用支付選項的選項。參考圖18,用戶可被定向到支付和認證服務1801,該服務提示用戶以獲取支付信息。一旦用戶經過認證,該用戶就被定向至歡迎主頁1802。云服務1810生成一次性口令1805和/或臨時用戶賬戶,并且用戶的一次性口令被發(fā)送1806至端點1807。如上所述,端點1807可以是用戶桌面會話。用戶桌面會話然后開始單用戶應用1807的實例并且根據(jù)上述實施例中的一個。經由用戶的屏幕來向用戶呈現(xiàn)單用戶應用的圖形表示,對于該用戶就像是該單用戶應用的實例。在另一實施例中,從用戶會話的觀點來看,在經由網頁登錄到云計算系統(tǒng)后,可以向用戶呈現(xiàn)還可包括選擇單用戶應用的選項的桌面。用戶可選擇單用戶應用,并且表示單用戶應用的實際用戶界面的外觀和感覺的界面可經由該用戶的web瀏覽器來呈現(xiàn)給用戶,就像該單用戶應用正在本地的計算資源集上本地地執(zhí)行那樣。多個用戶可以在并行用戶會話中訪問單用戶應用,每一個會話都看上去是獨立訪問和執(zhí)行該單用戶應用。如上所述,用戶偏好和狀態(tài)數(shù)據(jù)可被保存到可與用戶相關聯(lián)的數(shù)據(jù)結構,以使得任何時候用戶登錄并被分配桌面時,都可獲得用戶偏好和狀態(tài)數(shù)據(jù)并且可恢復用戶先前的桌面狀態(tài)。根據(jù)本發(fā)明的一方面,關于單用戶應用的用戶狀態(tài)是獨立于特定會話和特定虛擬機主機而保存的。這一用戶數(shù)據(jù)集可被稱為如上所述的VHD。因此,當用戶重新訪問網站以經由遠程桌面會話訪問單用戶應用或重新啟動該單用戶應用時,可將先前的用戶數(shù)據(jù)和保存的數(shù)據(jù)文件以及關于單用戶應用的任何偏好轉移到新會話。圖15描繪了用于向虛擬化的計算環(huán)境中的多個用戶部署軟件應用的示例性操作過程,包括操作1500、1502、1504、1506、1508和1510。參考圖15,操作1500開始該操作過程并且操作1502示出實例化虛擬化的計算基礎架構,該虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于web的用戶界面對多個用戶可用。該用戶遠程桌面配置可包括所保存的關于操作環(huán)境和在該操作環(huán)境中執(zhí)行的軟件應用的狀態(tài)信息。遠程桌面配置可各自對應于一用戶角色。例如,管理員可使用用戶界面來為中等大小的公司定義兩個桌面環(huán)境。管理員可定義用于工程人員的第一桌面環(huán)境,并且可選擇操作系統(tǒng)和版本、電子郵件和日歷應用、瀏覽器應用、辦公應用以及制圖應用。管理員可進一步指定一次可使用最多五十個這樣的桌面。管理員還可定義用于財務人員的第二桌面環(huán)境,并且可選擇操作系統(tǒng)和版本、電子郵件和日歷應用、瀏覽器應用、辦公應用以及數(shù)據(jù)庫應用。管理員可進一步指定一次可使用最多二十五個這樣的桌面。遠程桌面配置可經由因特網通過使用URL來訪問。例如,在配置桌面環(huán)境之后,桌面環(huán)境可由各個用戶通過輸入例如 WWW. company, com/tech 和 www. company, com/finance 來訪問。操作1504示出經由一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問。操作1506示出經由一個或多個用戶遠程桌面操作環(huán)境來接收訪問單用戶應用的請求。操作1508示出對于每一個請求,在一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化單用戶應用,并允許多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個。操作1510示出維護關于實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得該實例化的單用戶應用能夠在后續(xù)會話中恢復。圖16描繪了用于如上所述地向虛擬化的計算環(huán)境中的多個用戶部署軟件應用的示例性系統(tǒng)。參考圖16,系統(tǒng)1600包括處理器1610和存儲器1620。存儲器1620還包括用于向虛擬化的計算環(huán)境中的多個用戶部署軟件應用的計算機指令???622示出實例化虛擬化的計算基礎架構,該虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于web的用戶界面對多個用戶可用???624示出經由一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問???626示出經由一個或多個用戶遠程桌面操作環(huán)境來接收訪問單用戶應用的請求???628示出對于每一個請求,在一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化單用戶應用,并允許多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個???630示出維護關于實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得該實例化的單用戶應用能夠在后續(xù)會話中恢復。上文所提及的方面中的任何一個方面都可以以方法、系統(tǒng)、計算機可讀介質或任何類型的產品來實現(xiàn)。例如,計算機可讀介質可以在其上存儲用于向虛擬化的計算環(huán)境中的多個用戶部署軟件應用的計算機可執(zhí)行指令。這一介質可包括用于實例化虛擬化的計算基礎架構的第一指令子集,該虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于web的用戶界面對多個用戶可用;用于經由一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問的第二指令子集;用于經由一個或多個用戶遠程桌面操作環(huán)境來接收訪問單用戶應用的請求的第三指令子集;用于執(zhí)行以下操作的第四指令子集對于每一個請求,在一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化單用戶應用,并允許多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個;以及用于維護關于實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得該實例化的單用戶應用能夠在后續(xù)會話中恢復的第五指令子集。本領域技術人員可以理解,可以使用附加指令集來捕捉此處所公開的各其他方面,且根據(jù)本發(fā)明,目前所公開的五個指令子集可以在細節(jié)方面不同。
權利要求
1.一種向虛擬化的計算環(huán)境中的多個用戶部署軟件應用的方法,所述方法包括 實例化虛擬化的計算基礎架構,所述虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于Web的用戶界面對多個用戶可用; 經由所述一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問; 經由所述一個或多個用戶遠程桌面操作環(huán)境來接收訪問所述單用戶應用的請求;以及對于每一個請求,在所述一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化所述單用戶應用,并允許所述多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個。
2.如權利要求I所述的方法,其特征在于,還包括維護關于所述實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得所述實例化的單用戶應用能夠在后續(xù)會話中恢復。
3.如權利要求I所述的方法,其特征在于,還包括為多個用戶呈現(xiàn)和維護關于所述單用戶應用的多個實例的狀態(tài)數(shù)據(jù)。
4.如權利要求I所述的方法,其特征在于,所述實例化的單用戶應用是在虛擬機上實例化的。
5.如權利要求I所述的方法,其特征在于,所述實例化包括實例化所述單用戶應用的單個副本的各部分。
6.如權利要求I所述的方法,其特征在于,所述維護是由被配置成管理對所述實例化的單用戶應用的訪問的多租戶應用管理器來執(zhí)行的。
7.如權利要求5所述的方法,其特征在于,所述維護是由被配置成管理對所述單個副本的實例化的各部分的訪問的多租戶應用管理器來執(zhí)行的。
8.一種計算系統(tǒng),包括 包括至少一個處理器的計算設備; 在所述系統(tǒng)運行時通信地耦合到所述處理器的存儲器,所述存儲器具有存儲于其中的計算機指令,所述計算機指令在由所述至少一個處理器執(zhí)行時致使 實例化虛擬化的計算基礎架構,所述虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于web的用戶界面對多個用戶可用; 經由所述一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問; 經由所述一個或多個用戶遠程桌面操作環(huán)境來接收訪問所述單用戶應用的請求; 對于每一個請求,在所述一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化所述單用戶應用,并允許所述多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個;以及 維護關于所述實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得所述實例化的單用戶應用能夠在后續(xù)會話中恢復。
9.如權利要求8所述的計算系統(tǒng),其特征在于,還包括為多個用戶呈現(xiàn)和維護關于所述單用戶應用的多個實例的狀態(tài)數(shù)據(jù)。
10.一種其上存儲計算機可執(zhí)行指令的計算機可讀存儲介質,所述計算機可執(zhí)行指令用于向虛擬化的計算環(huán)境中的多個用戶部署軟件應用,所述計算機可讀存儲介質包括用于實例化虛擬化的計算基礎架構的指令,所述虛擬化的計算基礎架構經由遠程網絡連接使得一個或多個用戶遠程桌面操作環(huán)境經由基于web的用戶界面對多個用戶可用;用于經由所述一個或多個用戶遠程桌面操作環(huán)境來提供對能夠接受來自單個用戶的輸入的應用的指示的訪問的指令; 用于經由所述一個或多個用戶遠程桌面操作環(huán)境來接收訪問所述單用戶應用的請求的指令; 對于每一個請求,在所述一個或多個用戶遠程桌面操作環(huán)境中的每一個上實例化所述單用戶應用,并允許所述多個用戶中的每一個基本上同時訪問實例化的單用戶應用中的一個;以及 維護關于所述實例化的單用戶應用的狀態(tài)數(shù)據(jù)以使得所述實例化的單用戶應用能夠在后續(xù)會話中恢復。
全文摘要
本發(fā)明公開了對應用的多租戶訪問。提供一種用于向云計算環(huán)境中的多個用戶呈現(xiàn)軟件應用的機制。例如,在基于云的平臺中提供被設計成供單個用戶使用的應用,而不重建該應用。使用基于web的界面,多個云用戶可啟動和執(zhí)行該應用。向云用戶提供該應用的各種實例,就像該應用被設計成多用戶應用那樣。
文檔編號G06F17/30GK102932405SQ20121033953
公開日2013年2月13日 申請日期2012年9月13日 優(yōu)先權日2011年9月14日
發(fā)明者M·達斯, S·亞達夫, A·坎德哈雷, S·馬爾帕尼, R·K·巴拉錢德拉, A·赫歇爾, N·K·斯里尼瓦斯, R·米特爾 申請人:微軟公司