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