專利名稱:提供基于角色的應(yīng)用體驗的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及提供基于角色的應(yīng)用體驗。
背景技術(shù):
一些計算設(shè)備是能夠用于多種目的和多個位置的移動設(shè)備。例如,雇員可能攜帶膝上型計算機。膝上型計算機的移動性和靈活性可以允許雇員在辦公室、在家、在咖啡店或其他位置處執(zhí)行與工作相關(guān)的職能并且解決個人計算需求。然而,雇員的職業(yè)可能要求雇員通過安全的工作網(wǎng)絡(luò)來訪問業(yè)務(wù)關(guān)鍵數(shù)據(jù)。結(jié)果,雇主可能擔(dān)心這樣的業(yè)務(wù)關(guān)鍵數(shù)據(jù)和工作網(wǎng)絡(luò)的安全性。按常規(guī)而言,雇主可以向雇員分配工作膝上型計算機,并且限制僅僅通過工作膝上型計算機來訪問業(yè)務(wù)關(guān)鍵數(shù)據(jù)和工作網(wǎng)絡(luò)。雇主還可以限制對與工作無關(guān)的個人應(yīng)用的訪問。結(jié)果,雇員可能被迫攜帶單獨的膝上型計算機來解決個人計算需求。尤其是對于具有多個設(shè)備(例如膝上型計算機、智能電話、平板計算機等等)的用戶而言,為了滿足多種目的而攜帶和維護多個計算設(shè)備的這樣的實踐可能是顯著麻煩和高成本的。此處所做出的本發(fā)明正是對于這些和其他考慮事項而提出的。
發(fā)明內(nèi)容
在此描述了用于提供基于角色的應(yīng)用體驗的技術(shù)。應(yīng)用虛擬化提供在計算機上不進行任何安裝的情況下向該計算機遞送具有自己的一組配置的應(yīng)用的能力。該應(yīng)用可以通過具有自己的虛擬文件系統(tǒng)、配置文件等的虛擬環(huán)境來運行在該計算機上。通過這種方式, 該應(yīng)用可以與其他應(yīng)用隔離地運行,由此避免在傳統(tǒng)上所安裝的軟件應(yīng)用中存在的應(yīng)用沖關(guān)。通過充分利用應(yīng)用虛擬化的功能,虛擬化應(yīng)用可以用選自多個角色包的合適角色包來調(diào)整。所述角色包可以包括角色專用的用戶設(shè)定、角色專用的應(yīng)用存儲設(shè)定、以及角色專用的應(yīng)用狀態(tài)設(shè)定。合適的角色包可以基于請求執(zhí)行虛擬化應(yīng)用的用戶的當(dāng)前角色來選擇。通過用所選角色包來調(diào)整虛擬化應(yīng)用,虛擬化應(yīng)用可以根據(jù)用戶的當(dāng)前角色來定制。例如,用戶的角色可以包括工作角色、社區(qū)積極分子角色、學(xué)生角色、家庭角色等等。在一些示例性技術(shù)中,具有存儲器和處理器的計算機被配置為提供基于角色的應(yīng)用體驗。該計算機從虛擬化客戶端接收針對角色包的位置的查詢。在接收到該查詢以后, 該計算機確定請求執(zhí)行虛擬化應(yīng)用的用戶的當(dāng)前角色。該計算機確定與用戶的當(dāng)前角色相對應(yīng)的角色包的位置。該計算機響應(yīng)于該查詢將角色包的位置傳送給虛擬化客戶端。虛擬化客戶端可以被配置為執(zhí)行適用于角色包的虛擬化應(yīng)用。應(yīng)該了解,上文所描述的主題還可以被實現(xiàn)為計算機控制的裝置、計算機進程、計算系統(tǒng)或諸如計算機可讀存儲介質(zhì)之類的制品。通過閱讀下面的詳細(xì)描述并審閱相關(guān)聯(lián)的附圖,這些及各種其他特征將變得顯而易見。提供本發(fā)明內(nèi)容以便以簡化的形式介紹將在以下具體實施方式
中進一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在將本概述用來限制所要求保護的主題的范圍。此外,所要求保護的主題不限于解決在本發(fā)明的任一部分中提及的任何或所有缺點的實現(xiàn)。
圖I是示出了根據(jù)一些實施例的用于提供基于角色的應(yīng)用體驗的網(wǎng)絡(luò)架構(gòu)的框圖;圖2是示出根據(jù)一些實施例的用于提供基于角色的應(yīng)用體驗的方法的流程圖;圖3是示出用于能夠?qū)崿F(xiàn)此處所提出的各實施例的計算系統(tǒng)的說明性計算機硬件架構(gòu)的計算架構(gòu)圖。
具體實施例方式下面的具體描述針對用于提供基于角色的應(yīng)用體驗的技術(shù)。虛擬化應(yīng)用可以包括應(yīng)用層和虛擬化層。虛擬化層可以提供底層執(zhí)行環(huán)境的抽象。虛擬化層可以提供應(yīng)用層在里面操作的隔離虛擬環(huán)境。虛擬環(huán)境可以包括虛擬文件系統(tǒng)、虛擬注冊表和/或類似物。通過利用在此所提出的技術(shù)和概念,虛擬化層可適于基于合適的角色包來定制虛擬化應(yīng)用。當(dāng)用戶請求執(zhí)行虛擬化應(yīng)用時,虛擬化層可以查詢角色提供者,該提供者從多個角色中確定用戶的當(dāng)前角色。然后,角色提供者可以選擇對應(yīng)于當(dāng)前角色的角色配置。在選擇角色配置以后,角色提供者可以從所選角色配置中檢索合適角色包的位置。然后,角色提供者可以向虛擬化層提供合適角色包的位置。虛擬化層可以訪問該位置處的角色包,并且根據(jù)角色包定制虛擬化應(yīng)用。通過這種方式,可以向用戶提供基于角色的應(yīng)用體驗。合適的角色包可以包括角色專用的用戶設(shè)定、角色專用的應(yīng)用存儲設(shè)定、以及角色專用的應(yīng)用狀態(tài)設(shè)定。盡管在結(jié)合計算機系統(tǒng)上的操作系統(tǒng)和應(yīng)用程序的執(zhí)行而執(zhí)行的程序模塊的一般上下文中呈現(xiàn)了此處描述的主題,但是本領(lǐng)域技術(shù)人員將認(rèn)識到,其他實現(xiàn)可以結(jié)合其他類型的程序模塊來執(zhí)行。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其它類型的結(jié)構(gòu)。此外,本領(lǐng)域技術(shù)人員將明白,可以利用其他計算機系統(tǒng)配置來實施此處描述的主題,這些計算機系統(tǒng)配置包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子產(chǎn)品、小型計算機、大型計算機等等。在以下詳細(xì)描述中,將參考構(gòu)成本發(fā)明的一部分并作為說明來示出的附圖、各具體實施方式
、或示例。在若干附圖的范圍內(nèi),相同的附圖標(biāo)記表示相同的元素,現(xiàn)在將參考附圖來描述用于提供基于角色的應(yīng)用體驗的計算系統(tǒng)和方法。具體而言,圖I示出了根據(jù)一些實施例的用于提供基于角色的應(yīng)用體驗的網(wǎng)絡(luò)架構(gòu)100。網(wǎng)絡(luò)架構(gòu)100可以包括客戶端計算機102、應(yīng)用虛擬化服務(wù)器計算機104、角色服務(wù)器計算機106、以及數(shù)據(jù)存儲108。客戶端計算機102、應(yīng)用虛擬化服務(wù)器計算機104、角色服務(wù)器計算機106、以及數(shù)據(jù)存儲108 可以通過通信網(wǎng)絡(luò)110被耦合。通信網(wǎng)絡(luò)110的示例可以包括局域網(wǎng)(“LAN”)、廣域網(wǎng) (“WAN”)以及因特網(wǎng)。客戶端計算機102可以包括虛擬化客戶端112。應(yīng)用虛擬化服務(wù)器計算機104可以包括定序器(sequencer)模塊114和部署模塊116。角色服務(wù)器計算機106可以包括角色提供者118和配置管理器120。在其他實施例中,角色服務(wù)器計算機106和/或數(shù)據(jù)存儲 108中的一個或多個組件可以本地地包含在客戶端計算機102內(nèi)??蛻舳擞嬎銠C102可以被配置為提供一個或多個虛擬化應(yīng)用,比如虛擬化應(yīng)用 122。一般而言,應(yīng)用虛擬化是指使傳統(tǒng)上所安裝的應(yīng)用在不必在客戶端計算機上安裝該應(yīng)用的情況下對該客戶端計算機可用的各種技術(shù)。在應(yīng)用虛擬化中,虛擬化應(yīng)用可以按照需求被流式傳輸給客戶端計算機。每個虛擬化的應(yīng)用都可以在客戶端計算機上運行其自己的自包含虛擬環(huán)境。也就是說,每個虛擬化應(yīng)用都可以彼此隔離,以及同底層操作系統(tǒng)隔離。 結(jié)果,應(yīng)用虛擬化可以減少應(yīng)用沖突,集中和簡化應(yīng)用打補丁和升級,并且加快新應(yīng)用和升級的部署。在一些說明性的實施方式中,定序器模塊114可以將傳統(tǒng)上安裝的應(yīng)用(之后稱為“傳統(tǒng)應(yīng)用”)124虛擬化成虛擬化應(yīng)用122。于是,定序器模塊114可以向部署模塊116 提供虛擬化應(yīng)用122。部署模塊116可以按照需求將虛擬化應(yīng)用122流式傳輸給客戶端計算機102。例如,用戶可以通過在客戶端計算機102所提供的圖形用戶界面(“⑶I”)上選中與虛擬化應(yīng)用122相對應(yīng)的圖標(biāo)來請求執(zhí)行虛擬化應(yīng)用122。虛擬化客戶端122可以接收虛擬化應(yīng)用122以供客戶端計算機102執(zhí)行。應(yīng)當(dāng)理解,本領(lǐng)域技術(shù)人員可以構(gòu)思其他合適的技術(shù)以用于生成虛擬化應(yīng)用122和/或向客戶端計算機102部署虛擬化應(yīng)用122。虛擬化應(yīng)用122可以包括應(yīng)用層126和虛擬化層128。應(yīng)用層126可以包含能夠提供虛擬化應(yīng)用122的各個應(yīng)用相關(guān)任務(wù)的程序代碼其他合適數(shù)據(jù)。虛擬化層128可以提供和管理客戶端計算機102在里面執(zhí)行應(yīng)用層126的底層虛擬環(huán)境。例如,虛擬環(huán)境可以包括虛擬文件系統(tǒng)、虛擬注冊表和/或類似物。當(dāng)建立虛擬環(huán)境時,虛擬化層128可以向角色提供者118查詢與用戶的當(dāng)前角色相關(guān)聯(lián)的合適角色包的位置。在接收到該查詢以后,角色提供者118可以確定用戶的當(dāng)前角色并且選擇與用戶的當(dāng)前角色相對應(yīng)的角色配置。角色提供者118可以包括第一角色配置130A、第二角色配置130B、以及第N角色配置130N。角色配置130A-130N可以統(tǒng)稱為角色配置130。在其他實施例中,角色配置130A-130N可以存儲在遠程數(shù)據(jù)存儲(未示出)中并且由角色提供者118通過網(wǎng)絡(luò)110來檢索。在各個實施例中,角色提供者118可以確定用戶的當(dāng)前角色并且基于角色標(biāo)識信息從角色配置130中選擇相應(yīng)的角色配置。角色配置130可以由用戶、管理員和/或其他人員通過配置管理器120來指定。根據(jù)一些實施例,還可以限制對配置管理器120的訪問。 例如,配置管理器120可以將訪問限于僅僅選擇管理員,由此允許企業(yè)防止雇員修改角色配置130。角色標(biāo)識信息的一些示例可以包括用戶的所建立的憑證、用戶的位置、一天中的時間、用戶的計算機網(wǎng)絡(luò)、用戶姿勢和/或用戶偏好或配置。所建立的憑證可以包括標(biāo)識出用戶的某種形式的標(biāo)識。在這種情況下,角色提供者118可以選擇與所標(biāo)識出的用戶相對應(yīng)的角色配置。用戶的身份可以由用戶來提交(例如通過用戶名和口令)或者通過其他合適手段(例如與客戶端計算機102相關(guān)聯(lián)的介質(zhì)訪問控制(“MAC”)地址)來確定。在這種情況下,角色提供者118可以選擇與用戶的身份相對應(yīng)的角色配置。用戶的身份可以指用戶在其請求執(zhí)行虛擬化應(yīng)用122時所處的位置。用戶的位置可以基于因特網(wǎng)協(xié)議(“IP”)地址、全球定位系統(tǒng)(“GPS”)坐標(biāo)、或者其他合適的位置確定技術(shù)來確定。在這種情況下,角色提供者118可以選擇與用戶的位置相對應(yīng)的角色配置。一天中的時間可以指用戶請求執(zhí)行虛擬化應(yīng)用122時的當(dāng)前時間。在這種情況下,角色提供者118可以選擇與一天中的時間相對應(yīng)的角色配置。計算機網(wǎng)絡(luò)可以指客戶端102所連接到的當(dāng)前計算機網(wǎng)絡(luò)。計算機網(wǎng)絡(luò)可以由IP地址或與客戶端計算機102相關(guān)聯(lián)的其他合適網(wǎng)絡(luò)相關(guān)信息來確定。例如,通過標(biāo)識出計算機網(wǎng)絡(luò),角色提供者118可以確定用戶是在家、在工作、還是其他某個位置。在這種情況下,角色提供者118可以選擇與用戶的計算機網(wǎng)絡(luò)相對應(yīng)的角色配置。用戶姿勢可以指特定的用戶動作。在這種情況下,角色提供者118可以基于用戶的特定動作來選擇或推斷角色配置。例如,如果用戶打開特定的文檔,則角色提供者118可以推斷出與該文檔的類型和/或內(nèi)容相對應(yīng)的角色配置。用戶偏好可以指與角色配置的選擇有關(guān)的用戶定義的偏好和/或配置。在這種情況下,角色提供者118可以基于用戶偏好或配置來選擇角色配置。例如,用戶可以將每個角色配置與各種標(biāo)準(zhǔn)相關(guān)聯(lián),包括之前所述的標(biāo)準(zhǔn)、比如用戶的位置、一天中的時間、用戶的計算機網(wǎng)絡(luò)、用戶姿勢和/或類似物。這樣的用戶偏好可以與管理員的配置分開地或相結(jié)合地運行。每個角色配置130都可以包含相應(yīng)角色包在數(shù)據(jù)存儲108中的位置。數(shù)據(jù)存儲108 可以是數(shù)據(jù)庫或其它數(shù)據(jù)存儲機制。數(shù)據(jù)存儲108可以包括第一角色包132A、第二角色包 132B、以及第N角色包132N。例如,第一角色包132可以對應(yīng)于第一角色配置130A。第二角色包132B可以對應(yīng)于第二角色配置130B。第N角色包132N可以對應(yīng)于第N角色配置 130N。角色包132A-132N可以統(tǒng)稱為角色包132。當(dāng)角色提供者118確定用戶的當(dāng)前位置并且基于角色標(biāo)識信息選擇角色配置時,角色提供者118可以從所選角色配置中檢索相應(yīng)角色包的位置。然后,角色提供者118可以響應(yīng)于該查詢向虛擬化層128提供該角色包的位置。在接收到角色包的位置以后,虛擬化層128可以從數(shù)據(jù)存儲108中訪問該位置處的角色包。然后,虛擬化層128可以根據(jù)角色包調(diào)整虛擬化應(yīng)用122的執(zhí)行,由此向用戶提供基于角色的應(yīng)用體驗。具體而言,虛擬化層128可以訪問包含在角色包中的用戶設(shè)定、應(yīng)用存儲、以及應(yīng)用狀態(tài)。例如,第一角色包132A可以包括第一角色包132A專用的相關(guān)聯(lián)的用戶設(shè)定134A、應(yīng)用存儲設(shè)定136A、以及應(yīng)用狀態(tài)設(shè)定138A。第二角色包132B可以包括第二角色包132B專用的相關(guān)聯(lián)的用戶設(shè)定134B、應(yīng)用存儲設(shè)定136B、以及應(yīng)用狀態(tài)設(shè)定 138B。第N角色包132N可以包括第N角色包132N專用的相關(guān)聯(lián)的用戶設(shè)定134N、應(yīng)用存儲設(shè)定136N、以及應(yīng)用狀態(tài)設(shè)定138N。用戶設(shè)定134A-134N可以統(tǒng)稱為用戶設(shè)定134。應(yīng)用存儲設(shè)定136A-136N可以統(tǒng)稱為應(yīng)用存儲設(shè)定136。應(yīng)用狀態(tài)設(shè)定138A-138N可以統(tǒng)稱為應(yīng)用狀態(tài)設(shè)定138。用戶設(shè)定134可以定義虛擬化應(yīng)用122的用戶專用設(shè)定。在一個實施例中,用戶可以通過選中某個主題、某些圖標(biāo)以及某些工具欄來定制虛擬化應(yīng)用122的GUI。在另一示例中,用戶可以定制虛擬化應(yīng)用122的安全設(shè)定。應(yīng)用存儲設(shè)定136可以定義本地和/或遠程應(yīng)用存儲的位置,其中從該位置處可以檢索應(yīng)用數(shù)據(jù)并且在該位置處可以存儲應(yīng)用數(shù)據(jù)。例如,如果虛擬化應(yīng)用122是文字處理應(yīng)用,則應(yīng)用存儲可以存儲通過虛擬化應(yīng)用122 所創(chuàng)建的文檔。應(yīng)用狀態(tài)設(shè)定138可以定義虛擬化應(yīng)用122在被關(guān)閉以前的最近狀態(tài)。例如,如果虛擬化應(yīng)用122是文字處理應(yīng)用,則應(yīng)用狀態(tài)可以包括由虛擬化應(yīng)用122所訪問的最近文檔的列表、以及被插入到該文檔中的最近符號的列表?,F(xiàn)在將參考圖2來描述關(guān)于虛擬化客戶端112和角色提供者118的操作的附加細(xì)節(jié)。具體而言,圖2是示出根據(jù)一些實施例的用于提供基于角色的應(yīng)用體驗的方法的流程圖。應(yīng)理解,此處所述的邏輯操作被實現(xiàn)為(I) 一系列計算機實現(xiàn)的動作或運行于計算系統(tǒng)上的程序模塊,和/或(2)計算系統(tǒng)內(nèi)的互連的機器邏輯電路或電路模塊。取決于計算系統(tǒng)的性能及其他要求,可以選擇不同的實現(xiàn)。因此,此處描述的邏輯操作被不同地稱為狀態(tài)操作、結(jié)構(gòu)設(shè)備、動作或模塊。這些操作、結(jié)構(gòu)設(shè)備、動作和模塊可以用軟件、固件、專用數(shù)字邏輯,以及其任何組合來實現(xiàn)。應(yīng)該理解,可以執(zhí)行比附圖中示出的和此處所描述的操作更多或更少的操作。這些操作還可以按與此處所描述的不同的次序來執(zhí)行。在圖2中,例程200始于操作202,在操作202,虛擬化層128向角色提供者118發(fā)送針對合適角色包的查詢。虛擬化層128可以在用戶請求執(zhí)行虛擬化應(yīng)用122時發(fā)送該查詢。然后,流程200前進到操作204,在操作204,角色提供者118從虛擬化層128接收針對合適角色包的查詢。當(dāng)角色提供者118從虛擬化層128接收到針對合適角色包的查詢時, 例程200前進到操作206。在操作206,角色提供者118確定請求執(zhí)行虛擬化應(yīng)用122的用戶的當(dāng)前角色。角色提供者118可以基于合適的角色標(biāo)識信息來確定用戶的當(dāng)前角色。角色標(biāo)識信息的一些示例可以包括用戶的所建立的憑證、用戶的位置、一天中的時間、用戶的計算機網(wǎng)絡(luò)、用戶姿勢和/或用戶偏好或用戶配置。當(dāng)角色提供者確定請求執(zhí)行虛擬化應(yīng)用122的用戶的當(dāng)前角色時,例程200前進到操作208。在操作208,角色提供者118確定合適角色包的位置。角色提供者118可以從多個角色配置130中標(biāo)識出和用戶的當(dāng)前角色相對應(yīng)的角色配置。在一說明性示例中,角色提供者118可以標(biāo)識出與用戶的當(dāng)前角色相對應(yīng)的第一角色配置130A。角色提供者118可以檢索第一角色包132A的包含在第一角色配置130A中的位置。當(dāng)角色提供者118確定合適角色包的位置時,例程200前進到操作210。在操作210,角色提供者118可以響應(yīng)于該查詢向虛擬化層128傳送該合適角色包的位置。在該說明性的示例匯總,角色提供者118可以將第一角色包132A的位置傳送給虛擬化層128。然后,例程200前進到操作212,在操作212,虛擬化層128接收該合適角色包的位置。當(dāng)虛擬化層128接收到合適角色包的位置時,例程200前進到操作214。在操作214,虛擬化層128訪問數(shù)據(jù)存儲108中該位置處的角色包。具體而言,虛擬化層128可以訪問包含在合適角色包中的用戶設(shè)定、應(yīng)用存儲設(shè)定、以及應(yīng)用狀態(tài)設(shè)定。 在說明性的示例中,虛擬化層128可以訪問包含在第一角色包132A中的用戶設(shè)定134A、應(yīng)用存儲設(shè)定136A、以及應(yīng)用狀態(tài)設(shè)定128A。當(dāng)虛擬化層128訪問數(shù)據(jù)存儲108中該位置處的角色包時,例程200前進到操作218。在操作218,虛擬化層128執(zhí)行適用于所訪問的用戶設(shè)定、應(yīng)用存儲設(shè)定和應(yīng)用狀態(tài)設(shè)定的虛擬化應(yīng)用122。在該說明性示例中,虛擬化層128可以執(zhí)行適用于所訪問的用戶設(shè)定134A、應(yīng)用存儲設(shè)定136A和應(yīng)用狀態(tài)設(shè)定138A的虛擬化應(yīng)用122。通過這種方式,虛擬化應(yīng)用122的執(zhí)行可以根據(jù)用戶的當(dāng)前角色來定制。當(dāng)虛擬化層128執(zhí)行適用于所訪問的用戶設(shè)定、應(yīng)用存儲設(shè)定以及應(yīng)用狀態(tài)設(shè)定的虛擬化應(yīng)用122時,例程200可以要么重復(fù) (例如周期性地、連續(xù)地或者需要時按照需求)要么終止。
現(xiàn)在轉(zhuǎn)向3,示出了展示出計算機300的示例計算機架構(gòu)圖。計算機300的示例可以包括客戶端計算機102、應(yīng)用虛擬化服務(wù)器計算機104和角色服務(wù)器計算機106。計算機300可以包括中央處理單元302、系統(tǒng)存儲器304、以及將存儲器304耦合到302的系統(tǒng)總線306。計算機300還可以包括用于存儲一個或多個程序模塊314和數(shù)據(jù)存儲316的大容量存儲設(shè)備312。程序模塊314的示例可以包括虛擬化客戶端112、定序器模塊114、部署模塊116、角色提供者118、以及配置管理器120。數(shù)據(jù)存儲316的示例可以包括數(shù)據(jù)存儲108。大容量存儲設(shè)備312可以通過連接到總線306的大容量存儲控制器(未示出)來連接到處理單元302。大容量存儲設(shè)備312以及其相關(guān)聯(lián)的計算機存儲介質(zhì)可以為計算機 300提供非易失性存儲。雖然此處包含的計算機存儲介質(zhì)的描述引用了諸如硬盤或CD-ROM 驅(qū)動器之類的大容量存儲設(shè)備,但是本領(lǐng)域技術(shù)人員應(yīng)該了解,計算機存儲介質(zhì)可以是可由計算機300訪問的任何可用的計算機存儲介質(zhì)。作為示例而非限制,計算機存儲介質(zhì)可以包括以用于非瞬時地存儲諸如計算機存儲指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。例如,計算機存儲介質(zhì)包括,但不僅限于,RAM、R0M、EPR0M、 EEPR0M、閃存或其他固態(tài)存儲器技術(shù),⑶-ROM、數(shù)字多功能盤(“DVD”)、HD_DVD、藍光或其他光學(xué)存儲,磁帶盒、磁帶、磁盤存儲器或其他磁存儲設(shè)備,或可以用來存儲所需信息并可由計算機300訪問的任何其他介質(zhì)。根據(jù)各實施例,計算機300可以在使用通過諸如網(wǎng)絡(luò)110之類的網(wǎng)絡(luò)到遠程計算機的邏輯連接的聯(lián)網(wǎng)環(huán)境中操作。計算機300可以通過連接至總線306的網(wǎng)絡(luò)接口單元 310來連接到網(wǎng)絡(luò)110。應(yīng)當(dāng)理解,網(wǎng)絡(luò)接口單元310還可以被用來連接到其他類型的網(wǎng)絡(luò)和遠程計算機系統(tǒng)。計算機300還可以包括用于接收和處理來自包括鍵盤、鼠標(biāo)、話筒以及游戲控制器的多個輸入設(shè)備(未不出)的輸入的輸入/輸出控制器308。類似地,輸入/輸出控制器308也可以向顯示器或其他類型的輸出設(shè)備(未示出)提供輸出。總線306可以使處理單元302能夠從大容量存儲設(shè)備312或其他計算機存儲介質(zhì)讀取或向其寫入代碼和/或數(shù)據(jù)。計算機存儲介質(zhì)可以表示使用任何合適的技術(shù)來實現(xiàn)的存儲元件形式的裝置,這些技術(shù)包括但不限于,半導(dǎo)體、磁性材料、光學(xué)等等。計算機存儲介質(zhì)可以表示存儲器組件,而無論是被表征為RAM、R0M、閃存還是其他類型的技術(shù)。計算機存儲介質(zhì)還可以表示次級存儲,無論是被實現(xiàn)成硬盤驅(qū)動器還是以其他方式來實現(xiàn)。硬盤驅(qū)動器實現(xiàn)可以被表征為固態(tài),或者可以包括存儲磁編碼信息的旋轉(zhuǎn)介質(zhì)。程序模塊314可以包括軟件指令,這些指令在被加載到處理單元302中并被執(zhí)行時致使計算機300提供基于角色的應(yīng)用體驗。程序模塊314還可以提供計算機300可以使用在整個本說明書中所討論的組件、流程以及數(shù)據(jù)結(jié)構(gòu)來參與到整個系統(tǒng)或操作環(huán)境內(nèi)的各種工具或技術(shù)。例如,程序模塊314可以實現(xiàn)用于提供基于角色的應(yīng)用體驗的接口。一般而言,程序模塊314在被加載到處理單元302中并被執(zhí)行時,可以將處理單元 302和整個計算機300從通用計算系統(tǒng)變換成被定制為生成提供基于角色的應(yīng)用體驗的專用計算系統(tǒng)。處理單元302可以用任意數(shù)量的晶體管或其他分立電路元件(它們可以單獨或共同采取任意數(shù)量的狀態(tài))來構(gòu)造。更具體而言,處理單元302可以響應(yīng)于程序模塊314 中所包含的可執(zhí)行指令,作為有限狀態(tài)機來操作。這些計算機可執(zhí)行指令可以通過指定處理單元302如何在各狀態(tài)之間進行轉(zhuǎn)換來變換處理單元302,由此變換構(gòu)成處理單元302的晶體管或其他分立硬件元件。對程序模塊314進行編碼還可以變換計算機存儲介質(zhì)的物理結(jié)構(gòu)。在本說明書的不同實現(xiàn)中,物理結(jié)構(gòu)的具體變換可取決于各種因素。這些因素的示例包括但不限于用于實現(xiàn)計算機存儲介質(zhì)的技術(shù)、計算機存儲介質(zhì)被表征為主存儲還是次級存儲等等。例如, 如果計算機存儲介質(zhì)被實現(xiàn)為基于半導(dǎo)體的存儲器,則當(dāng)在其中編碼軟件時,程序模塊314 可以變換半導(dǎo)體存儲器的物理狀態(tài)。例如,程序模塊314可以變換構(gòu)成半導(dǎo)體存儲器的晶體管、電容器或其他分立電路元件的狀態(tài)。作為另一示例,計算機存儲介質(zhì)可以使用磁性或光學(xué)技術(shù)來實現(xiàn)。在這樣的實現(xiàn)中,程序模塊314可以在該軟件在磁性或光學(xué)介質(zhì)中編碼時變換該磁性或光學(xué)介質(zhì)的物理狀態(tài)。這些變換可以包括改變給定磁性介質(zhì)內(nèi)的特定位置的磁性。這些變換還可以包括改變給定光學(xué)介質(zhì)內(nèi)的特定位置的物理特征或特性,以改變這些位置的光學(xué)特性。在沒有偏離本說明書的范圍的情況下,物理介質(zhì)的其他變換也是可能的,前面提供的示例只是為了便于這一討論?;谇懊娴拿枋?,應(yīng)當(dāng)理解,此處提出了用于提供基于角色的應(yīng)用體驗的技術(shù)。雖然以計算機結(jié)構(gòu)特征、方法動作、以及計算機可讀介質(zhì)專用的語言描述了本文呈現(xiàn)的主題, 但是應(yīng)該理解,在所附權(quán)利要求書中所限定的本發(fā)明不一定僅限于本文描述的具體特征、 動作、或介質(zhì)。相反,這些具體特征、動作和介質(zhì)是作為實現(xiàn)權(quán)利要求的示例形式來公開的。上述主題僅作為說明提供,并且不應(yīng)被解釋為限制??蓪Υ颂幩龅闹黝}作出各種修改和改變,而不必遵循所示和所述的示例實施例和應(yīng)用,且不背離所附權(quán)利要求書中所述的本發(fā)明的真正精神和范圍。
權(quán)利要求
1.一種用于提供基于角色的應(yīng)用體驗的計算機實現(xiàn)的方法,該方法包括執(zhí)行計算機實現(xiàn)的操作,所述操作用于通過具有處理器(302)和存儲器(304)的計算機(300)從虛擬化客戶端(122)接收針對角色包(132)的位置的查詢;在接收到該查詢以后通過計算機(300)確定請求執(zhí)行虛擬化應(yīng)用(122)的用戶的當(dāng)前角色;通過計算機(300)確定與該用戶的當(dāng)前角色相對應(yīng)的角色包(132)的位置;以及通過計算機(300)、響應(yīng)于該查詢向虛擬化客戶端(122)發(fā)送角色包(132)的位置,虛擬化客戶端(122)被配置為執(zhí)行適用于角色包(132)的虛擬化應(yīng)用(122)。
2.如權(quán)利要求I所述的計算機實現(xiàn)的方法,其特征在于,確定與該用戶的當(dāng)前角色相對應(yīng)的角色包的位置包括通過該計算機、基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包。
3.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括通過該計算機、基于與該用戶相關(guān)聯(lián)的所建立的憑證來選擇角色包。
4.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括通過該計算機、基于該用戶的當(dāng)前角色來選擇角色包。
5.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括基于該用戶請求執(zhí)行虛擬化應(yīng)用時的一天中的時間來選擇角色包。
6.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括通過該計算機、基于發(fā)送該查詢的客戶端計算機的計算機網(wǎng)絡(luò)來選擇角色包。
7.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括通過該計算機、基于用戶偏好或配置來選擇角色包。
8.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,基于與該用戶相關(guān)聯(lián)的角色標(biāo)識信息來選擇角色包包括通過該計算機、基于用戶姿勢來選擇角色包。
9.一種應(yīng)用虛擬化系統(tǒng),包括角色提供者(118),該角色提供者(118)被配置為通過如下方式提供基于角色的應(yīng)用體驗從虛擬化客戶端(122)接收針對角色包(132)的位置的查詢,該角色包(132)包括用戶設(shè)定(134)、應(yīng)用存儲設(shè)定(136)、以及應(yīng)用狀態(tài)設(shè)定(138)中的一個或多個;在接收到該查詢以后,從請求執(zhí)行虛擬化應(yīng)用(122)的用戶的多個角色中確定當(dāng)前角色;確定與該用戶的當(dāng)前角色相對應(yīng)的角色包(132)的位置;以及響應(yīng)于該查詢將角色包(132)的位置傳送給虛擬化客戶端(122)。
10.如權(quán)利要求9所述的應(yīng)用虛擬化系統(tǒng),其特征在于,還包括虛擬化客戶端,該虛擬化客戶端被配置為通過如下方式提供基于角色的應(yīng)用體驗將針對角色包的位置的查詢發(fā)送給該角色提供者;響應(yīng)于該查詢接收角色包的位置;訪問該位置處的設(shè)定、應(yīng)用存儲設(shè)定、以及應(yīng)用狀態(tài)設(shè)定;以及執(zhí)行適用于所述用戶設(shè)定、所述應(yīng)用存儲設(shè)定、以及所述應(yīng)用狀態(tài)設(shè)定的虛擬化應(yīng)用。
全文摘要
本發(fā)明涉及提供基于角色的應(yīng)用體驗。在此描述了用于提供基于角色的應(yīng)用體驗的技術(shù)。從虛擬化客戶端接收針對角色包的位置的查詢。當(dāng)接收到該查詢時,確定請求執(zhí)行虛擬化應(yīng)用的用戶的當(dāng)前角色。確定與該用戶的當(dāng)前角色相對應(yīng)的角色包的位置。響應(yīng)于該查詢將角色包的位置傳送給虛擬化客戶端。虛擬化客戶端被配置為執(zhí)行適用于角色包的虛擬化應(yīng)用。
文檔編號G06F9/455GK102591700SQ20111043101
公開日2012年7月18日 申請日期2011年12月20日 優(yōu)先權(quán)日2010年12月21日
發(fā)明者A·M·安德森, A·沙爾東, D·C·伯格, D·K·帕伊, G·C·亨特, K·H·雷厄森 申請人:微軟公司