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