本申請案要求2014年9月22日提交的、題目為“COMPUTING ENVIRONMENT SELECTION TECHNIQUES”的共同未決的美國專利申請?zhí)?4/492,648的優(yōu)先權(quán),所述申請的全部內(nèi)容以引用的方式并入本文。
背景技術(shù):
通常使用虛擬計算環(huán)境來提供對生產(chǎn)力和其他應(yīng)用的訪問。例如,用戶可以與服務(wù)器建立連接以便訪問在服務(wù)器上執(zhí)行的應(yīng)用。可使用各種技術(shù)來提供如同應(yīng)用在本地執(zhí)行的可用性。例如,用戶裝置的顯示器可以根據(jù)桌面隱喻提供圖形用戶接口,由此使得用戶能夠打開遠程執(zhí)行的應(yīng)用并且與其交互。在一些實例中,使用組織的自身硬件(諸如在組織的數(shù)據(jù)中心中托管的服務(wù)器)來提供這種功能。在其他實例中,計算資源服務(wù)提供者利用其硬件來代表客戶托管虛擬計算環(huán)境。此類系統(tǒng)有時通常被稱為“虛擬桌面基礎(chǔ)設(shè)施”(VDI)。
客戶端計算裝置和其對應(yīng)虛擬計算系統(tǒng)環(huán)境可各自具有各種安裝的應(yīng)用,所述應(yīng)用可用于訪問存儲在客戶端計算裝置或虛擬計算系統(tǒng)環(huán)境內(nèi)的一個或多個數(shù)據(jù)文件。用于提供虛擬計算系統(tǒng)環(huán)境的常規(guī)配置通常是不靈活的,通常使得難以在一個環(huán)境與另一個環(huán)境之間切換。此外,在一些情況下,允許應(yīng)用的本地執(zhí)行可增加安全風(fēng)險,諸如當客戶端計算裝置是便攜式計算機(例如,筆記本或平板計算機)并且應(yīng)用訪問敏感數(shù)據(jù)時。在其他情況下,特定文件類型的文件可在一個環(huán)境中是可用的,但沒有可操作以打開和處理文件的適當應(yīng)用。
附圖簡述
將參考附圖描述根據(jù)本公開的各個實施方案,在附圖中:
圖1示出其中可實現(xiàn)各種實施方案的環(huán)境的說明性實例;
圖2示出根據(jù)至少一個實施方案的環(huán)境的說明性實例,其中虛擬計算環(huán)境服務(wù)的一個或多個部件被配置來使得用戶能夠訪問虛擬計算環(huán)境;
圖3示出根據(jù)至少一個實施方案的環(huán)境的說明性實例,其中用戶的計算裝置的一個或多個部件被配置來啟用與虛擬計算環(huán)境服務(wù)的通信和訪問;
圖4示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境的說明性實例,其中用戶可以選擇存儲在計算裝置內(nèi)的一個或多個數(shù)據(jù)文件;
圖5示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境的說明性實例,其中響應(yīng)于策略實現(xiàn)通過接口在虛擬計算環(huán)境內(nèi)利用所選擇的數(shù)據(jù)文件;
圖6示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境的說明性實例,其中通過在計算裝置環(huán)境內(nèi)執(zhí)行應(yīng)用來利用所選擇的數(shù)據(jù)文件;
圖7示出根據(jù)至少一個實施方案的用于確定計算環(huán)境的過程的說明性實例,其中可使用應(yīng)用來利用所選擇的數(shù)據(jù)文件;
圖8示出根據(jù)至少一個實施方案的用于利用一個或多個策略來確定計算環(huán)境的過程的說明性實例,其中可以利用所選擇的數(shù)據(jù)文件;
圖9示出根據(jù)至少一個實施方案的用于響應(yīng)于確定應(yīng)用不可用于使用數(shù)據(jù)文件而將數(shù)據(jù)文件轉(zhuǎn)移到不同的計算環(huán)境的過程的說明性實例;以及
圖10示出其中可實現(xiàn)各種實施方案的環(huán)境。
詳細描述
在以下描述中,將描述各種實施方案。出于解釋的目的,將闡述具體的配置和細節(jié),以便提供對實施方案的透徹理解。然而,對本領(lǐng)域的技術(shù)人員將明顯的是,在沒有具體細節(jié)的情況下也可以實踐實施方案。此外,為了不使所描述的實施方案晦澀,可省略或簡化眾所周知的特征。
本文描述和建議的技術(shù)涉及選擇計算環(huán)境,其中訪問用于利用位于本地計算環(huán)境中或虛擬計算系統(tǒng)環(huán)境中的一個或多個數(shù)據(jù)文件的應(yīng)用。在實施方案中,實體使用計算裝置(例如,膝上型計算機、臺式計算機、移動裝置等)以便利用存儲在計算裝置上的數(shù)據(jù)文件。數(shù)據(jù)文件可以與安裝在計算裝置上的各種應(yīng)用相關(guān)聯(lián)。例如,當實體選擇數(shù)據(jù)文件時,計算裝置可以啟動安裝在計算裝置上的相關(guān)聯(lián)應(yīng)用以便使得用戶能夠為他/她的目的而利用數(shù)據(jù)文件。在一些實例中,實體是組織的雇員并且被配給計算裝置以便支持組織的商業(yè)需求。然而,本文描述的技術(shù)適用于其中使用虛擬計算系統(tǒng)環(huán)境的其他上下文。
在實施方案中,組織可以在計算裝置上安裝位置確定應(yīng)用,其可以被配置來用作各種數(shù)據(jù)文件類型的默認應(yīng)用。例如,當實體選擇特定數(shù)據(jù)文件而不是執(zhí)行可用于訪問數(shù)據(jù)文件的應(yīng)用時,計算裝置可執(zhí)行此位置確定應(yīng)用。位置確定應(yīng)用可以被配置來評估由組織提供并且在計算裝置的注冊表或其他機構(gòu)中編碼的策略,以便確定策略是否指定將在本地計算裝置環(huán)境內(nèi)利用數(shù)據(jù)文件,或是否將在虛擬計算系統(tǒng)環(huán)境內(nèi)使用數(shù)據(jù)文件。例如,如果策略指定可以在本地計算裝置環(huán)境內(nèi)利用數(shù)據(jù)文件,則位置確定應(yīng)用可以致使計算裝置執(zhí)行安裝在裝置上的應(yīng)用,所述應(yīng)用可以被實體用來利用所選擇的數(shù)據(jù)文件。
如果位置確定應(yīng)用基于在計算裝置的注冊表文件中編碼的策略確定將在虛擬計算系統(tǒng)環(huán)境內(nèi)使用數(shù)據(jù)文件,則位置確定應(yīng)用可以致使計算裝置發(fā)起與虛擬計算環(huán)境服務(wù)的通信會話以便啟動虛擬計算環(huán)境接口。此接口可以是圖形用戶接口(GUI),其可以使得實體能夠與包括可與各種數(shù)據(jù)文件類型相關(guān)聯(lián)的各種應(yīng)用的虛擬機實例交互。在實施方案中,位置確定應(yīng)用致使計算裝置將所選擇的數(shù)據(jù)文件發(fā)送到由虛擬計算環(huán)境服務(wù)提供的物理主機(即物理計算機系統(tǒng)),以便將數(shù)據(jù)文件存儲在物理主機內(nèi)的數(shù)據(jù)存儲庫內(nèi)。這可使得能夠在虛擬計算環(huán)境內(nèi)使用此數(shù)據(jù)文件。
一旦數(shù)據(jù)文件已經(jīng)被傳輸?shù)教摂M計算環(huán)境服務(wù)內(nèi)的物理主機,位置確定應(yīng)用就可向虛擬計算環(huán)境內(nèi)的應(yīng)用傳輸一個或多個可執(zhí)行指令,以便致使在環(huán)境中啟動應(yīng)用以及致使應(yīng)用訪問數(shù)據(jù)文件。這可使得實體能夠利用接口與此應(yīng)用和在虛擬計算環(huán)境內(nèi)訪問的數(shù)據(jù)文件交互。當實體已經(jīng)在此環(huán)境中完成利用數(shù)據(jù)文件時,應(yīng)用可將數(shù)據(jù)文件存儲在與用戶的計算裝置不同的位置中。此外,虛擬計算環(huán)境服務(wù)可將更新的數(shù)據(jù)文件傳輸?shù)狡渲兴梢员煌胶痛鎯Φ膶嶓w的計算裝置。
在替代性實施方案中,實體通過可通過他/她的計算裝置訪問的接口在虛擬計算環(huán)境內(nèi)選擇數(shù)據(jù)文件。如果訪問所選擇的數(shù)據(jù)文件所需的應(yīng)用在虛擬計算環(huán)境中是不可用的,則虛擬計算環(huán)境服務(wù)可訪問實體配置文件或?qū)嶓w的計算裝置,以便確定配置文件中的信息是否指示在實體的計算裝置上安裝了合適的應(yīng)用。如果在實體的計算裝置上安裝了合適的應(yīng)用,則虛擬計算環(huán)境服務(wù)可將所選擇的數(shù)據(jù)文件傳輸?shù)綄嶓w的計算裝置并且致使在計算裝置內(nèi)啟動應(yīng)用,從而使得實體能夠利用本地(例如,從實體角度來看)計算環(huán)境內(nèi)的數(shù)據(jù)文件。
以這種方式,可以基于應(yīng)用可用性和策略定義,在最優(yōu)計算環(huán)境中訪問和利用由實體選擇的數(shù)據(jù)文件。另外,本文描述和建議的技術(shù)促進另外的技術(shù)優(yōu)點。例如,因為在一些實施方案中,虛擬計算環(huán)境服務(wù)可將數(shù)據(jù)文件傳輸?shù)狡渲袘?yīng)用對實體可以是可用的以便訪問此數(shù)據(jù)文件的環(huán)境,所以實體可以能夠從任何合適的環(huán)境訪問數(shù)據(jù)文件而不需要手動地將數(shù)據(jù)文件轉(zhuǎn)移到另一個位置或環(huán)境以便訪問數(shù)據(jù)文件或在能夠利用數(shù)據(jù)文件的他/她的計算裝置或虛擬計算環(huán)境內(nèi)安裝應(yīng)用。
圖1示出其中可實現(xiàn)各種實施方案的環(huán)境100的說明性實例。在環(huán)境100中,用戶通過計算裝置102(例如,膝上型計算機、臺式計算機、移動裝置等)可以與操作系統(tǒng)接口104交互,以便訪問存儲在計算裝置102內(nèi)的一個或多個數(shù)據(jù)文件106。操作系統(tǒng)接口104可以是圖形用戶接口,用戶通過安裝在計算裝置102上的一個或多個用戶輸入裝置可以利用所述圖形用戶接口,以便與存儲在計算裝置102內(nèi)的應(yīng)用、文件結(jié)構(gòu)和數(shù)據(jù)文件的一個或多個圖標圖形表示交互。例如,如圖1所示,用戶可以利用他/她的計算裝置102來與操作系統(tǒng)接口104內(nèi)的光標108交互,以便選擇計算機圖標110、垃圾圖標112和一個或多個數(shù)據(jù)文件圖標106。可利用這些圖標106、110、112以便通過接口104訪問操作系統(tǒng)、應(yīng)用、文件結(jié)構(gòu)和數(shù)據(jù)文件自身的各種功能。
當用戶利用光標108來選擇數(shù)據(jù)文件圖標106以便利用相關(guān)聯(lián)的數(shù)據(jù)文件時,安裝在計算裝置102上的操作系統(tǒng)可確定所選擇的數(shù)據(jù)文件是否與安裝在計算裝置102上的一個或多個應(yīng)用相關(guān)聯(lián)。例如,響應(yīng)于用戶利用光標108來選擇數(shù)據(jù)文件圖標106,操作系統(tǒng)可訪問注冊表文件以便確定特定數(shù)據(jù)文件類型是否與安裝在計算裝置102上的一個或多個應(yīng)用相關(guān)聯(lián)。如果特定數(shù)據(jù)文件類型與特定應(yīng)用相關(guān)聯(lián),則操作系統(tǒng)可執(zhí)行應(yīng)用并且使得能夠通過此應(yīng)用來使用數(shù)據(jù)文件。例如,如果特定數(shù)據(jù)文件是文字處理文檔,則可使用任何合適的文字處理應(yīng)用來打開文檔。在另一個實例中,如果特定數(shù)據(jù)文件是電子表格文檔,則可使用任何合適的電子表格應(yīng)用來打開文檔。雖然為了說明的目的在本公開中自始至終使用注冊表文件,但是可以在其他機構(gòu)中編碼一個或多個策略,所述其他機構(gòu)可用于確定特定數(shù)據(jù)文件類型是否與安裝在計算裝置102上的一個或多個應(yīng)用相關(guān)聯(lián)。例如,一些操作系統(tǒng)可以被配置來利用除注冊表文件以外的設(shè)置,以便對存儲在用戶的計算裝置102內(nèi)的這些一個或多個策略進行編碼。
在實施方案中,所選擇的數(shù)據(jù)文件可以與用戶的計算裝置102的管理員或別的監(jiān)督實體安裝在計算裝置102上的位置確定應(yīng)用相關(guān)聯(lián),而不是通過計算裝置102與用戶安裝和可訪問的應(yīng)用相關(guān)聯(lián)。位置確定應(yīng)用可以被配置來訪問安裝在計算裝置102上的一個或多個注冊表文件,以便識別可以與所選擇的數(shù)據(jù)文件類型相關(guān)聯(lián)的一個或多個策略。這些策略可指定是通過安裝在計算裝置102上的應(yīng)用,還是通過單獨計算環(huán)境中可用的應(yīng)用來利用特定類型的數(shù)據(jù)文件。如果一個或多個策略指定可使用安裝在計算裝置102上的應(yīng)用訪問特定類型的數(shù)據(jù)文件,則位置確定應(yīng)用可致使操作系統(tǒng)執(zhí)行適當?shù)膽?yīng)用,并且通過計算裝置102和操作系統(tǒng)接口104使得用戶能夠利用應(yīng)用以便與所選擇的數(shù)據(jù)文件交互。
然而,如果一個或多個策略指定不利用安裝在計算設(shè)備102上的任何應(yīng)用來使用所選擇的數(shù)據(jù)文件,則位置確定應(yīng)用可致使操作系統(tǒng)發(fā)起與一個或多個虛擬計算環(huán)境服務(wù)器114的通信會話,以便訪問其中可以利用所選擇的數(shù)據(jù)文件的虛擬計算環(huán)境。虛擬計算環(huán)境服務(wù)器114可包括一個或多個物理主機,其可用于例示一個或多個虛擬機圖像。此外,虛擬計算環(huán)境可以是可不采用桌面隱喻的單租戶(例如,一次僅可由單個用戶使用)桌面或其他單租戶虛擬計算環(huán)境。這些一個或多個虛擬機圖像可包括操作系統(tǒng)和一個或多個應(yīng)用,其在被例示時可以安裝在這些虛擬計算環(huán)境服務(wù)器114內(nèi)的一個或多個物理主機上。與計算裝置102一樣,虛擬計算環(huán)境服務(wù)器114可以給用戶提供虛擬計算環(huán)境接口116,所述虛擬計算環(huán)境接口116可用于與虛擬計算環(huán)境內(nèi)可用的一個或多個應(yīng)用交互。
位置確定應(yīng)用可致使安裝在計算裝置102上的操作系統(tǒng)啟動用戶客戶端,所述用戶客戶端可用于訪問此虛擬計算環(huán)境接口116。附加地,位置確定應(yīng)用可將所選擇的數(shù)據(jù)文件傳輸?shù)竭@些虛擬計算環(huán)境服務(wù)器114,其中數(shù)據(jù)文件可以存儲在與用戶的計算裝置102不同的位置內(nèi),在所述位置中特定用戶的虛擬機圖像已經(jīng)被例示。在實施方案中,位置確定應(yīng)用向虛擬計算環(huán)境服務(wù)器114傳輸一個或多個憑證集以便啟用對用戶的驗證。如果虛擬計算環(huán)境服務(wù)器114不能夠驗證用戶,則服務(wù)器114可以拒絕對通過用戶的計算裝置102訪問虛擬計算環(huán)境接口116的位置確定應(yīng)用請求。
如果一個或多個虛擬計算環(huán)境服務(wù)器114能夠驗證用戶,則位置確定應(yīng)用可以向虛擬計算環(huán)境的操作系統(tǒng)傳輸一個或多個可執(zhí)行指令,以便致使在虛擬計算環(huán)境內(nèi)執(zhí)行應(yīng)用118以使得能夠使用所選擇的數(shù)據(jù)文件。用戶通過可通過操作系統(tǒng)接口104可用的用戶客戶端,可以能夠利用虛擬計算環(huán)境接口116與應(yīng)用118和所選擇的數(shù)據(jù)文件交互。當用戶完成在虛擬計算環(huán)境內(nèi)利用數(shù)據(jù)文件時,一個或多個虛擬計算環(huán)境服務(wù)器114可將更新的數(shù)據(jù)文件存儲在其中可以例示虛擬機圖像的物理主機內(nèi)。附加地,虛擬計算環(huán)境服務(wù)器114可將更新的數(shù)據(jù)文件傳輸?shù)接脩粲嬎阊b置102,所述用戶計算裝置102可使此更新的數(shù)據(jù)文件與存儲在其中的數(shù)據(jù)文件同步。
在替代性環(huán)境中,用戶通過虛擬計算環(huán)境接口118選擇用于在虛擬計算環(huán)境內(nèi)使用的數(shù)據(jù)文件。當用戶選擇數(shù)據(jù)文件時,一個或多個虛擬計算環(huán)境服務(wù)器114可確定特定虛擬機圖像是否包括適當?shù)膽?yīng)用以使得能夠使用數(shù)據(jù)文件。如果虛擬計算環(huán)境服務(wù)器114確定在虛擬計算環(huán)境內(nèi)沒有適當?shù)膽?yīng)用是可用的,則虛擬計算環(huán)境服務(wù)器114可以諸如通過對裝置102的一個或多個應(yīng)用編程接口(API)調(diào)用與用戶的計算裝置102通信,以便確定能夠用來使得能夠使用數(shù)據(jù)文件的應(yīng)用在計算裝置102的操作系統(tǒng)環(huán)境內(nèi)是否是可用的。如果識別了應(yīng)用,則虛擬計算環(huán)境服務(wù)器114可訪問用戶賬戶信息數(shù)據(jù)存儲內(nèi)的用戶的賬戶信息,以便確定是否可使用用戶的計算裝置102來訪問所選擇的數(shù)據(jù)文件類型。
如果可使用安裝在用戶的計算裝置102上的應(yīng)用來訪問數(shù)據(jù)文件,則虛擬計算環(huán)境服務(wù)器114可將所選擇的數(shù)據(jù)文件從其中虛擬機圖像被例示的物理主機傳輸?shù)接脩舻挠嬎阊b置102。此外,虛擬計算環(huán)境服務(wù)器114可將可執(zhí)行指令傳輸?shù)桨惭b在用戶的計算裝置102上的操作系統(tǒng),以便執(zhí)行特定應(yīng)用并且使得能夠通過應(yīng)用使用數(shù)據(jù)文件。因此,用戶可以能夠通過操作系統(tǒng)接口104利用此應(yīng)用來使用所選擇的數(shù)據(jù)文件。一旦用戶已經(jīng)完成使用數(shù)據(jù)文件,用戶的計算裝置102就可將更新的數(shù)據(jù)文件傳輸?shù)教摂M計算環(huán)境服務(wù)器114,所述虛擬計算環(huán)境服務(wù)器114可使更新的數(shù)據(jù)文件與存儲在與用戶的計算裝置102不同的位置內(nèi)的現(xiàn)有數(shù)據(jù)文件同步。
如上所述,如果位置確定應(yīng)用至少部分地基于存儲在用戶的計算裝置內(nèi)的注冊表文件中編碼的一個或多個策略來確定將在虛擬計算環(huán)境內(nèi)利用所選擇的數(shù)據(jù)文件,則位置確定應(yīng)用可致使用戶的計算裝置發(fā)起與虛擬計算環(huán)境服務(wù)的通信會話以便訪問此環(huán)境。此外,位置確定應(yīng)用可將一個或多個可執(zhí)行指令傳輸?shù)教摂M計算環(huán)境服務(wù),其可致使在此環(huán)境內(nèi)啟動特定應(yīng)用,從而使得能夠在虛擬計算環(huán)境內(nèi)使用所選擇的數(shù)據(jù)文件。因此,圖2示出根據(jù)至少一個實施方案的環(huán)境200的說明性實例,其中虛擬計算環(huán)境服務(wù)202的一個或多個部件被配置來使得用戶能夠訪問虛擬計算環(huán)境。
在環(huán)境200中,虛擬計算環(huán)境服務(wù)202可以給用戶提供接口204,所述接口204可以使得用戶能夠通過他/她的計算裝置206訪問虛擬計算環(huán)境服務(wù)202。用戶可通過一個或多個通信網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))來利用接口204。接口204可包含某些安全保護,以便確保用戶具有訪問虛擬計算環(huán)境服務(wù)202的授權(quán)。例如,為了訪問虛擬計算環(huán)境服務(wù)202,用戶在使用接口204時可能需要提供用戶名和對應(yīng)的密碼或加密密鑰。另外,提交到接口204的請求(例如,API調(diào)用)可能需要使用密碼密鑰生成的電子簽名,以使得所述電子簽名可由虛擬計算環(huán)境服務(wù)202驗證,諸如通過授權(quán)系統(tǒng)(未示出)。
一旦用戶已經(jīng)通過他/她的計算裝置206接口204獲得對虛擬計算環(huán)境服務(wù)202的訪問,虛擬計算環(huán)境服務(wù)202就可允許用戶通過接口204與管理子系統(tǒng)208交互。例如,管理子系統(tǒng)206可使得用戶能夠遠程管理和維持一個或多個虛擬機圖像。這些虛擬機圖像可以被維持在虛擬機圖像數(shù)據(jù)存儲210內(nèi)的數(shù)據(jù)存儲裝置中。當用戶提交對設(shè)置虛擬機實例的請求時,虛擬計算環(huán)境服務(wù)202可識別用戶已經(jīng)請求的機器圖像,并且分配對于處理機器圖像所必要的資源(例如,操作機器圖像的組件所需要的處理器和隨機存取存儲器(RAM))。機器圖像可在例如可充當所述實例的物理主機212的一個或多個物理存儲裝置(例如,一個或多個服務(wù)器或硬盤驅(qū)動器)上被例示。
虛擬計算環(huán)境服務(wù)202還可以為服務(wù)202的每個用戶維持可以在用戶配置文件數(shù)據(jù)存儲214內(nèi)記錄的用戶賬戶。每個用戶配置文件可包括一個或多個策略,所述一個或多個策略可指定是否可以在用戶的虛擬計算環(huán)境內(nèi)、在用戶的計算裝置206內(nèi)、或在任何其他環(huán)境中啟動可用于使得用戶能夠利用特定數(shù)據(jù)文件類型的應(yīng)用。例如,用戶的計算裝置206的管理員可以生成可應(yīng)用于用戶的賬戶的策略,所述策略指定僅可以在用戶的虛擬計算環(huán)境內(nèi)打開某些數(shù)據(jù)文件。還可以在用戶的計算裝置206上的一個或多個注冊表文件中編碼此策略。
當用戶使用他/她的計算裝置206試圖打開存儲在裝置206上的特定數(shù)據(jù)文件時,安裝在裝置206上的操作系統(tǒng)可確定安裝在裝置206上的哪個應(yīng)用與所選擇的數(shù)據(jù)文件相關(guān)聯(lián)。例如,在實施方案中,操作系統(tǒng)至少部分地基于存儲在計算裝置206內(nèi)的一個或多個注冊表文件來確定所選擇的數(shù)據(jù)文件與位置確定應(yīng)用相關(guān)聯(lián)。此應(yīng)用可以不是用戶可訪問的,并且可以被裝置206的上述管理員安裝在計算裝置206上。位置確定應(yīng)用可以被配置來在用戶選擇數(shù)據(jù)文件時訪問一個或多個注冊表文件,以便識別與特定數(shù)據(jù)文件類型有關(guān)的任何策略。例如,策略可指定使用安裝在用戶的計算裝置206上的應(yīng)用將打不開特定類型的數(shù)據(jù)文件。此外,這些策略可指定將在特定虛擬計算環(huán)境內(nèi)打開特定類型的數(shù)據(jù)文件。策略還可指定其中可以打開數(shù)據(jù)文件的一個或多個虛擬計算環(huán)境的排序??梢灾辽俨糠值鼗谶@些虛擬計算環(huán)境的一個或多個安全方面來創(chuàng)建排序。例如,可以在這些一個或多個虛擬計算環(huán)境的排序內(nèi)的較高位置中指定具有重要安全保護(例如,數(shù)據(jù)加密、防火墻實現(xiàn)、病毒掃描等)的虛擬計算環(huán)境。
如果位置確定應(yīng)用至少部分地基于這些一個或多個策略確定在本地(例如,相對于用戶的計算裝置206)內(nèi)打不開所選擇的數(shù)據(jù)文件,則位置確定應(yīng)用可致使用戶的計算裝置206發(fā)起與虛擬計算環(huán)境服務(wù)202的通信會話,以便使得用戶能夠通過接口204訪問他/她的虛擬計算環(huán)境。在一些實施方案中,位置確定應(yīng)用可以向虛擬計算環(huán)境服務(wù)202提供訪問服務(wù)202所需的用戶憑證。響應(yīng)于由位置確定應(yīng)用提供的用戶訪問他/她的虛擬計算環(huán)境的請求,管理子系統(tǒng)208可訪問用戶配置文件數(shù)據(jù)存儲214內(nèi)的用戶的賬戶,以便識別已經(jīng)為用戶的虛擬計算環(huán)境例示了特定虛擬機圖像的特定物理主機212。一旦管理子系統(tǒng)208已經(jīng)識別物理主機212,管理子系統(tǒng)208就可以使得用戶能夠通過接口204訪問他/她的虛擬計算環(huán)境。另外,位置確定應(yīng)用可將選擇的數(shù)據(jù)文件傳輸?shù)教摂M計算環(huán)境服務(wù)202,其中管理子系統(tǒng)208可將數(shù)據(jù)文件存儲在除用戶的計算裝置206之外的不同位置內(nèi)。
一旦數(shù)據(jù)文件已經(jīng)被存儲在除用戶的計算裝置206之外的不同位置內(nèi),并且用戶通過接口204已經(jīng)獲得對他/她的虛擬計算環(huán)境的訪問,位置確定應(yīng)用就可以將一個或多個可執(zhí)行指令傳輸?shù)焦芾碜酉到y(tǒng)208,以致使應(yīng)用可用于使得能夠使用將在虛擬計算環(huán)境內(nèi)啟動的所選擇的數(shù)據(jù)文件。這可以使得用戶能夠通過他的用戶計算裝置206來使用此虛擬計算環(huán)境內(nèi)的數(shù)據(jù)文件。當用戶已經(jīng)在虛擬計算環(huán)境內(nèi)完成使用所選擇的數(shù)據(jù)文件時,管理子系統(tǒng)208可將更新的數(shù)據(jù)文件傳輸?shù)接脩舻挠嬎阊b置206,以便使用戶的計算裝置206內(nèi)的數(shù)據(jù)文件和虛擬計算環(huán)境同步。
在實施方案中,用戶通過接口204選擇將在虛擬計算環(huán)境內(nèi)打開的一個或多個數(shù)據(jù)文件。響應(yīng)于此選擇,管理子系統(tǒng)208可確定用戶所利用的特定虛擬機實例是否包括打開這些數(shù)據(jù)文件所需的一個或多個應(yīng)用。如果管理子系統(tǒng)208不能夠識別能夠打開所選擇的數(shù)據(jù)文件的任何應(yīng)用,則管理子系統(tǒng)208可訪問用戶配置文件數(shù)據(jù)存儲214以便識別關(guān)于這些特定數(shù)據(jù)文件的任何策略。例如,如上所述,用戶的計算裝置206的管理員可以在特定策略中指定:用戶的計算裝置206具有打開數(shù)據(jù)文件所需的一個或多個應(yīng)用,并且用戶被授權(quán)在本地(例如,在用戶的計算裝置206環(huán)境內(nèi))使用這些應(yīng)用。
如果管理子系統(tǒng)208不能夠識別可用于打開所選擇的一個或多個數(shù)據(jù)文件的應(yīng)用,則管理子系統(tǒng)208可以拒絕用戶打開這些數(shù)據(jù)文件的請求,無論所述應(yīng)用通過所述虛擬機實例提供,通過對于用戶可用的其他虛擬機實例提供,還是安裝在用戶的計算裝置206上。然而,如果管理子系統(tǒng)208能夠識別其中應(yīng)用可用于打開所選擇的數(shù)據(jù)文件的替代性環(huán)境,則管理子系統(tǒng)208可將數(shù)據(jù)文件和可執(zhí)行指令傳輸?shù)剿x擇的環(huán)境,以便致使啟動應(yīng)用并且使得能夠使用該環(huán)境內(nèi)的數(shù)據(jù)文件。例如,如果在用戶的計算裝置206內(nèi)可以找到打開所選擇的數(shù)據(jù)文件所需的應(yīng)用,則管理子系統(tǒng)208可以從物理軟管212獲得所選擇的數(shù)據(jù)文件,并且將這些數(shù)據(jù)文件和可執(zhí)行指令傳輸?shù)接脩舻挠嬎阊b置206,以便致使用戶的計算裝置206啟動所選擇的應(yīng)用并且使得能夠使用這些數(shù)據(jù)文件。一旦用戶已經(jīng)完成利用用戶的計算裝置206內(nèi)的應(yīng)用和數(shù)據(jù)文件,用戶的計算裝置206就可將更新的數(shù)據(jù)文件傳輸?shù)教摂M計算環(huán)境服務(wù)202,所述虛擬計算環(huán)境服務(wù)202通過管理子系統(tǒng)208可以使這些獲得的數(shù)據(jù)文件與存儲在除用戶的計算裝置206之外的不同位置內(nèi)的數(shù)據(jù)文件同步。
如上所述,用戶可以利用計算裝置來啟動一個或多個應(yīng)用以便打開一個或多個數(shù)據(jù)文件。在一些實施方案中,所選擇的數(shù)據(jù)文件可以與位置確定應(yīng)用相關(guān)聯(lián),所述位置確定應(yīng)用可用于確定是否可使用安裝在計算裝置上的應(yīng)用來打開數(shù)據(jù)文件,或者是否僅可以在虛擬計算環(huán)境內(nèi)打開數(shù)據(jù)文件。因此,圖3示出根據(jù)至少一個實施方案的環(huán)境300的說明性實例,其中用戶的計算裝置304的一個或多個部件被配置來啟用與虛擬計算環(huán)境服務(wù)314的通信和訪問。如圖3所示,計算裝置304可包括一個或多個處理器312(例如,中央處理單元(CPU)),所述一個或多個處理器312可以被配置來通過總線子系統(tǒng)與多個外圍子系統(tǒng)通信并且可操作地耦接到多個外圍子系統(tǒng)。這些外圍子系統(tǒng)可包括存儲子系統(tǒng)306,所述存儲子系統(tǒng)306包括用于利用一個或多個應(yīng)用308的存儲器子系統(tǒng)和文件存儲子系統(tǒng)310、一個或多個用戶接口輸入裝置、一個或多個用戶接口輸出裝置、網(wǎng)絡(luò)接口子系統(tǒng)等。除了輸入裝置的傳感器之外,外圍子系統(tǒng)還可包括一個或多個傳感器。此類傳感器可包括但不限于全球定位系統(tǒng)(GPS)傳感器、加速度計、溫度傳感器等。
存儲子系統(tǒng)306可提供計算機可讀存儲介質(zhì),其用于存儲可提供本公開的至少一個實施方案的功能的基本編程和數(shù)據(jù)結(jié)構(gòu)。在被一個或多個處理器執(zhí)行時可提供本公開的一個或多個實施方案的功能的應(yīng)用或其部件(程序、代碼模塊(即編程模塊)、指令)可以存儲在存儲子系統(tǒng)306中。這些應(yīng)用模塊或指令可以由一個或多個處理器312執(zhí)行。存儲子系統(tǒng)306可附加地提供用于存儲根據(jù)本公開使用的數(shù)據(jù)的存儲庫。存儲子系統(tǒng)306可包括存儲器子系統(tǒng)和文件/盤存儲子系統(tǒng)310。
當用戶302利用用戶計算裝置304來打開存儲在文件存儲子系統(tǒng)310內(nèi)的一個或多個數(shù)據(jù)文件時,一個或多個處理器312可訪問文件存儲子系統(tǒng)310內(nèi)的一個或多個注冊表文件,以便識別可用于打開所選擇的一個或多個數(shù)據(jù)文件的一個或多個應(yīng)用308。例如,一個或多個注冊表文件可指定將使用安裝在計算裝置304上的位置確定應(yīng)用來打開所選擇的一個或多個數(shù)據(jù)文件。存儲在文件存儲子系統(tǒng)內(nèi)的一個或多個注冊表文件可以由一個或多個管理員提供,所述一個或多個管理員的任務(wù)為在利用計算裝置304時建立用戶302權(quán)限。
這些一個或多個注冊表文件可以進一步編碼一個或多個策略,其中策略可指定由計算裝置304的用戶302選擇的所選擇的一個或多個數(shù)據(jù)文件是否可使用安裝在計算裝置304上的應(yīng)用308來打開這些數(shù)據(jù)文件。位置確定應(yīng)用可訪問在一個或多個注冊表文件中編碼的這些一個或多個策略,以便確定是否將在計算裝置304環(huán)境內(nèi)打開所選擇的數(shù)據(jù)文件。如果位置確定應(yīng)用至少部分地基于這些策略確定使用安裝在計算裝置304上的應(yīng)用308將打不開一個或多個數(shù)據(jù)文件,而是必須使用虛擬計算環(huán)境內(nèi)的應(yīng)用來打開所述一個或多個數(shù)據(jù)文件,則位置確定應(yīng)用可以致使一個或多個處理器312將一個或多個可執(zhí)行指令傳輸?shù)骄W(wǎng)絡(luò)接口子系統(tǒng),所述網(wǎng)絡(luò)接口子系統(tǒng)可提供到虛擬計算環(huán)境服務(wù)314的接口。網(wǎng)絡(luò)接口子系統(tǒng)可以使得能夠傳輸應(yīng)用308數(shù)據(jù)和其他信息(諸如訪問系統(tǒng)(例如,接收網(wǎng)頁)的電子請求),并且可以使得能夠接收對請求的響應(yīng)(諸如網(wǎng)頁或其他信息)。
一旦已經(jīng)在計算裝置304與虛擬計算環(huán)境服務(wù)314之間建立通信信道,則一個或多個處理器312可將可執(zhí)行指令傳輸?shù)轿募鎯ψ酉到y(tǒng)306,以便將一個或多個所選擇的數(shù)據(jù)文件傳輸?shù)教摂M計算環(huán)境服務(wù)314。另外,一個或多個處理器312可執(zhí)行用戶客戶端應(yīng)用,以便使得用戶302能夠利用計算裝置304來與虛擬計算環(huán)境服務(wù)314所提供的虛擬計算環(huán)境交互。例如,在實施方案中,一個或多個處理器312將可執(zhí)行指令傳輸?shù)教摂M計算環(huán)境服務(wù)314,所述虛擬計算環(huán)境服務(wù)314可致使服務(wù)在用戶302的虛擬計算環(huán)境內(nèi)啟動應(yīng)用并且打開一個或多個提供的數(shù)據(jù)文件。當用戶302完成在虛擬計算環(huán)境內(nèi)使用一個或多個數(shù)據(jù)文件時,虛擬計算環(huán)境服務(wù)314可將更新的數(shù)據(jù)文件傳輸?shù)接嬎阊b置304,其中一個或多個處理器312可以使這些接收的數(shù)據(jù)文件與存儲在文件存儲子系統(tǒng)310內(nèi)的數(shù)據(jù)文件同步。
在實施方案中,響應(yīng)于用戶302在他/她的虛擬計算環(huán)境內(nèi)選擇了一個或多個數(shù)據(jù)文件,虛擬計算環(huán)境服務(wù)314確定在此環(huán)境中沒有應(yīng)用可用來打開所選擇的數(shù)據(jù)文件。虛擬計算環(huán)境服務(wù)314還可至少部分地基于在用戶302的配置文件內(nèi)指定的信息,確定計算裝置304包括打開所選擇的數(shù)據(jù)文件所需的一個或多個應(yīng)用308。因此,虛擬計算環(huán)境服務(wù)314可將一個或多個數(shù)據(jù)文件傳輸?shù)接嬎阊b置304,其中一個或多個處理器312可將接收到的數(shù)據(jù)文件存儲在文件存儲子系統(tǒng)310內(nèi)。此外,一個或多個處理器312可以啟動由虛擬計算環(huán)境服務(wù)314指定的應(yīng)用308,并致使應(yīng)用308打開所接收的一個或多個數(shù)據(jù)文件以供使用。
如上所述,用戶通過計算裝置可以與操作系統(tǒng)接口交互以便打開存儲在計算裝置內(nèi)的一個或多個數(shù)據(jù)文件。操作系統(tǒng)接口可以是GUI,用戶通過安裝在計算裝置上的一個或多個用戶輸入裝置可以利用所述GUI,以便與存儲在計算裝置內(nèi)的應(yīng)用、文件結(jié)構(gòu)和數(shù)據(jù)文件的一個或多個圖標圖形表示交互。因此,圖4示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境400的說明性實例,其中用戶可以選擇存儲在計算裝置內(nèi)的一個或多個數(shù)據(jù)文件412。計算裝置環(huán)境400可以是可用于與在其中可執(zhí)行的一個或多個數(shù)據(jù)文件和應(yīng)用交互的操作系統(tǒng)接口。
計算裝置環(huán)境400可包括一個或多個圖標,所述一個或多個圖標可以表示可在計算裝置環(huán)境400內(nèi)執(zhí)行的一個或多個功能。例如,如圖4所示,計算裝置環(huán)境400可包括計算機圖標402,所述計算機圖標402可用于訪問各種存儲裝置(例如,硬盤驅(qū)動器等)、外圍裝置(例如,CD-ROM驅(qū)動器、DVD驅(qū)動器等)和網(wǎng)絡(luò)裝置。計算裝置環(huán)境400還可包括垃圾圖標404,所述垃圾圖標404可以啟用對可用于將一個或多個數(shù)據(jù)文件從計算裝置環(huán)境400移除的應(yīng)用的訪問。計算裝置環(huán)境400還可包括文件夾圖標406,所述文件夾圖標406可用于訪問計算裝置的文件結(jié)構(gòu)內(nèi)的特定數(shù)據(jù)文件容器。應(yīng)當注意,圖4中所示的圖標不是可在計算裝置環(huán)境400內(nèi)可用的僅有圖標,并且可以為計算裝置環(huán)境400內(nèi)的各種功能提供附加圖標和/或替代圖標。
計算裝置環(huán)境400還可包括應(yīng)用按鈕416,所述應(yīng)用按鈕416可用于訪問安裝在計算裝置上的一個或多個應(yīng)用。當用戶在接合應(yīng)用按鈕416后選擇應(yīng)用時,計算裝置可以在可在計算裝置環(huán)境400上顯示的新環(huán)境面板內(nèi)啟動應(yīng)用。這可以使得用戶能夠與應(yīng)用交互,并且請求從此環(huán)境面板的內(nèi)部打開一個或多個數(shù)據(jù)文件。
當用戶使用用戶接口裝置(例如,光標414)選擇文件夾圖標406時,計算裝置的一個或多個處理器可致使計算裝置環(huán)境400顯示環(huán)境面板408,所述環(huán)境面板408可包括存儲在計算裝置內(nèi)的一個或多個數(shù)據(jù)文件410、412的一個或多個圖標表示。從一個或多個數(shù)據(jù)文件410、412的這些一個或多個圖標表示,用戶可以利用光標414來選擇特定數(shù)據(jù)文件412并且請求在計算裝置環(huán)境400內(nèi)打開數(shù)據(jù)文件412。響應(yīng)于此請求,計算裝置可以至少部分地基于與所選擇的數(shù)據(jù)文件412相關(guān)聯(lián)的一個或多個注冊表文件來確定哪個應(yīng)用可用于打開所選擇的數(shù)據(jù)文件412。如以下將結(jié)合圖5和圖6更詳細描述的,所選擇的數(shù)據(jù)文件412可以與位置確定應(yīng)用相關(guān)聯(lián),所述位置確定應(yīng)用可確定將在計算裝置環(huán)境400內(nèi)打開,還是在虛擬計算環(huán)境內(nèi)打開所選擇的數(shù)據(jù)文件412。應(yīng)當注意,在一些實施方案中,計算裝置環(huán)境400還可以是每次僅可以被單個用戶使用的單租戶桌面。
如上所述,當用戶選擇一個或多個數(shù)據(jù)文件時,計算裝置可以至少部分地基于與一個或多個數(shù)據(jù)文件相關(guān)聯(lián)的一個或多個注冊表文件,確定可以啟動哪個應(yīng)用以便打開所選擇的一個或多個的數(shù)據(jù)文件。例如,管理員可以在一個或多個注冊表文件內(nèi)指定在可打開一個或多個數(shù)據(jù)文件之前,計算裝置將啟動位置確定應(yīng)用。在一些實施方案中,此應(yīng)用可以至少部分地基于在一個或多個注冊表文件中編碼的一個或多個策略,確定將在遠程虛擬計算環(huán)境中打開一個或多個所選擇的數(shù)據(jù)文件。因此,圖5示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境500的說明性實例,其中響應(yīng)于策略實現(xiàn)通過接口502在虛擬計算環(huán)境內(nèi)利用所選擇的數(shù)據(jù)文件。
當位置確定應(yīng)用至少部分地基于在一個或多個注冊表文件中編碼的一個或多個策略,確定將在遠程虛擬計算環(huán)境內(nèi)打開一個或多個所選擇的數(shù)據(jù)文件時,計算裝置可以啟動可由用戶使用以便與虛擬計算環(huán)境交互的虛擬計算環(huán)境接口502。如上所述,位置確定應(yīng)用可致使計算裝置建立與虛擬計算環(huán)境服務(wù)的通信信道,以便使得用戶能夠訪問他/她的虛擬計算環(huán)境。例如,虛擬計算環(huán)境服務(wù)可以從計算裝置接收將在虛擬計算環(huán)境內(nèi)打開的一個或多個數(shù)據(jù)文件。此外,虛擬計算環(huán)境服務(wù)可以從計算裝置接收可執(zhí)行指令,這可致使虛擬計算環(huán)境服務(wù)啟動可用于打開所選擇的一個或多個數(shù)據(jù)文件的應(yīng)用。
一旦已經(jīng)建立虛擬計算環(huán)境服務(wù)與計算裝置之間的連接,虛擬計算環(huán)境服務(wù)可以使得用戶能夠利用計算裝置環(huán)境500內(nèi)的虛擬計算環(huán)境接口502來訪問用戶的虛擬計算環(huán)境。虛擬計算環(huán)境可包括計算裝置環(huán)境500內(nèi)包括的許多特征。例如,虛擬計算環(huán)境可類似地包括應(yīng)用按鈕504,所述應(yīng)用按鈕504可以由用戶通過虛擬計算環(huán)境接口502使用,以便選擇可以在虛擬計算環(huán)境內(nèi)啟動的一個或多個應(yīng)用。另外,虛擬計算環(huán)境可以基于與安裝在計算裝置上的操作系統(tǒng)類似的操作系統(tǒng),盡管在一些情況下,虛擬計算環(huán)境可以利用仍能夠處理一個或多個所選擇的數(shù)據(jù)文件的不同操作系統(tǒng)。
虛擬計算環(huán)境在此環(huán)境內(nèi)執(zhí)行應(yīng)用時可以創(chuàng)建應(yīng)用面板506,所述應(yīng)用面板506可以使得用戶能夠通過虛擬計算環(huán)境接口502與應(yīng)用交互。一個或多個數(shù)據(jù)文件508可以在此應(yīng)用面板506內(nèi)呈現(xiàn)給用戶,這可以使得用戶能夠創(chuàng)建、刪除、修改和以其他方式更改一個或多個數(shù)據(jù)文件508的內(nèi)容。當用戶已經(jīng)完成使用一個或多個數(shù)據(jù)文件508時,用戶可以通過關(guān)閉應(yīng)用面板506來終止應(yīng)用。虛擬計算環(huán)境服務(wù)可將更新的數(shù)據(jù)文件發(fā)送到計算裝置,所述計算裝置可使接收的數(shù)據(jù)文件與存儲在其中的一個或多個數(shù)據(jù)文件同步。
如上所述,用戶可以利用他/她的計算裝置,以便使用安裝在計算裝置上或虛擬計算環(huán)境內(nèi)的一個或多個應(yīng)用來打開一個或多個數(shù)據(jù)文件。例如,當用戶在計算裝置環(huán)境內(nèi)選擇數(shù)據(jù)文件時,計算裝置可以至少部分地基于在一個或多個注冊表文件中編碼的關(guān)聯(lián),確定序可使用哪個應(yīng)用程以便打開一個或多個數(shù)據(jù)文件??商娲兀@些一個或多個注冊表文件可指定一個或多個數(shù)據(jù)文件將由位置確定應(yīng)用分析,以便確定將在計算裝置環(huán)境內(nèi)打開,還是在遠程虛擬計算環(huán)境中打開一個或多個數(shù)據(jù)文件。如果一個或多個數(shù)據(jù)文件與除了位置確定應(yīng)用之外的應(yīng)用相關(guān)聯(lián),或位置確定應(yīng)用確定將在計算裝置環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件,則計算裝置可以啟動計算裝置環(huán)境內(nèi)的應(yīng)用并且使得應(yīng)用能夠打開這些選擇的數(shù)據(jù)文件。因此,圖6示出根據(jù)至少一個實施方案的用戶的計算裝置環(huán)境600的說明性實例,其中通過在計算裝置環(huán)境600內(nèi)執(zhí)行應(yīng)用來利用所選擇的數(shù)據(jù)文件。計算裝置環(huán)境600可以類似于上面結(jié)合圖4描述的計算裝置環(huán)境。
當位置確定應(yīng)用確定將使用安裝在計算裝置上的應(yīng)用打開由用戶選擇的一個或多個數(shù)據(jù)文件,或一個或多個數(shù)據(jù)文件與除了位置確定應(yīng)用之外的應(yīng)用相關(guān)聯(lián)時,計算裝置可在計算裝置環(huán)境600內(nèi)啟動可以用于打開所選擇的一個或多個數(shù)據(jù)文件的應(yīng)用。例如,在啟動之后,應(yīng)用可在計算裝置環(huán)境600內(nèi)生成應(yīng)用面板602,所述應(yīng)用面板602可以使得用戶能夠利用一個或多個用戶接口裝置(例如,光標)以便與應(yīng)用交互。應(yīng)用可以用一個或多個所選擇的數(shù)據(jù)文件604的內(nèi)容來填充應(yīng)用面板602,這可以使得計算裝置的用戶能夠按需修改這些內(nèi)容。一旦用戶已經(jīng)完成他/她對一個或多個數(shù)據(jù)文件604的使用,用戶就可以通過關(guān)閉應(yīng)用面板602來終止應(yīng)用。這可致使計算裝置保存對這些一個或多個數(shù)據(jù)文件的任何改變。
如上所述,當用戶選擇存儲在他/她的計算裝置內(nèi)的一個或多個數(shù)據(jù)文件時,計算裝置可以至少部分地基于一個或多個注冊表文件來確定這些一個或多個數(shù)據(jù)文件是否可能需要通過位置確定應(yīng)用的附加分析,以便確定是否將通過計算裝置環(huán)境或通過遠程虛擬計算環(huán)境來訪問這些一個或多個數(shù)據(jù)文件??商娲?,如果一個或多個數(shù)據(jù)文件不與位置確定應(yīng)用相關(guān)聯(lián),則計算裝置可以啟動安裝在計算裝置上的應(yīng)用以百年打開一個或多個數(shù)據(jù)文件并且使得能夠通過計算裝置環(huán)境使用它們。因此,圖7示出根據(jù)至少一個實施方案的用于確定計算環(huán)境的過程700的說明性實例,其中可使用應(yīng)用來利用所選擇的數(shù)據(jù)文件。過程700可以由計算裝置的一個或多個處理器執(zhí)行,其中可以存儲由用戶選擇的一個或多個數(shù)據(jù)文件。
當用戶通過計算裝置環(huán)境(例如,操作系統(tǒng)接口)選擇他/她想要打開和使用的一個或多個數(shù)據(jù)文件時,一個或多個處理器可以檢測702用戶對這些一個或多個數(shù)據(jù)文件的選擇,并且確定704這些一個或多個數(shù)據(jù)文件是否與位置確定應(yīng)用相關(guān)聯(lián)。例如,一個或多個處理器可致使計算裝置訪問與所選擇的一個或多個文件相關(guān)聯(lián)的一個或多個注冊表文件,以確定哪些應(yīng)用可用于訪問這些一個或多個數(shù)據(jù)文件。此外,注冊表文件可指定將用于一個或多個數(shù)據(jù)文件的默認應(yīng)用。在實施方案中,計算裝置的管理員生成一個或多個注冊表文件,并且在這些注冊表文件內(nèi)編碼一個或多個數(shù)據(jù)文件默認與位置確定應(yīng)用相關(guān)聯(lián)。
在替代性實施方案中,用戶選擇可具有不同文件類型的一批一個或多個數(shù)據(jù)文件。一個或多個處理器響應(yīng)于檢測到用戶對此批一個或多個文件的選擇,可以為該批一個或多個文件中的每個文件確定704數(shù)據(jù)文件是否與位置確定應(yīng)用相關(guān)聯(lián)。例如,一個或多個處理器可以評估與該批一個或多個數(shù)據(jù)文件中的每個數(shù)據(jù)文件相關(guān)聯(lián)的一個或多個注冊表文件,以便確定哪些應(yīng)用將用于訪問這些一個或多個數(shù)據(jù)文件。至少部分地基于這些一個或多個注冊表文件,一個或多個處理器可以為該批一個或多個數(shù)據(jù)文件中的每個數(shù)據(jù)文件而在本地計算環(huán)境內(nèi)啟動位置確定應(yīng)用和/或其他應(yīng)用。
如果一個或多個處理器確定所選擇的一個或多個數(shù)據(jù)文件不與位置確定應(yīng)用相關(guān)聯(lián),則一個或多個處理器可致使計算裝置通過使用安裝在計算裝置上的本地(例如,相對于計算裝置)應(yīng)用來打開706所選擇的一個或多個數(shù)據(jù)文件。例如,一個或多個處理器可致使計算裝置啟動安裝在計算裝置上的應(yīng)用,并且使得用戶能夠利用應(yīng)用來訪問所選擇的一個或多個數(shù)據(jù)文件。然而,如果一個或多個數(shù)據(jù)文件與位置確定應(yīng)用相關(guān)聯(lián),則一個或多個處理器可致使計算裝置啟動708位置確定應(yīng)用,以便確定710是否使用安裝在計算裝置上的應(yīng)用來本地打開所選擇的一個或多個數(shù)據(jù)文件。
如上所述,位置確定應(yīng)用可以被配置來評估在與所選擇的一個或多個數(shù)據(jù)文件相關(guān)聯(lián)的一個或多個注冊表文件中編碼的一個或多個策略,以便確定是否將在計算裝置環(huán)境內(nèi)本地打開這些數(shù)據(jù)文件,或是否僅可以在遠程虛擬計算環(huán)境中打開這些數(shù)據(jù)文件。如果位置確定應(yīng)用確定將本地打開一個或多個數(shù)據(jù)文件,則應(yīng)用可將此確定發(fā)送到一個或多個進程,作為響應(yīng),所述進程可致使計算裝置通過使用安裝在計算裝置上的本地應(yīng)用來打開706所選擇的一個或多個數(shù)據(jù)文件。
如果不能本地打開一個或多個數(shù)據(jù)文件,則一個或多個處理器可以啟動712虛擬計算環(huán)境接口(諸如圖5所示的接口),以便訪問虛擬計算環(huán)境服務(wù)并且使得用戶能夠訪問其中可以打開一個或多個數(shù)據(jù)文件的他/她的虛擬計算環(huán)境。例如,一個或多個處理器可以將可執(zhí)行指令傳輸?shù)接嬎阊b置的網(wǎng)絡(luò)接口子系統(tǒng),這可致使網(wǎng)絡(luò)接口子系統(tǒng)與虛擬計算環(huán)境服務(wù)建立通信信道。隨后,一個或多個處理器可以給虛擬計算環(huán)境服務(wù)提供訪問用戶的虛擬計算環(huán)境所需的一個或多個用戶證書。這可以使得虛擬計算環(huán)境服務(wù)能夠驗證用戶并且提供對用戶的虛擬計算環(huán)境的訪問。另外,一個或多個處理器可將所選擇的一個或多個數(shù)據(jù)文件傳輸?shù)教摂M計算環(huán)境服務(wù),以便使得能夠在虛擬計算環(huán)境內(nèi)使用它們。在替代性實施方案中,一個或多個處理器將請求傳輸?shù)教摂M計算環(huán)境服務(wù)以便供應(yīng)可用于生成虛擬計算環(huán)境的虛擬機實例。
一旦已經(jīng)啟動虛擬計算環(huán)境接口,則一個或多個處理器可以將可執(zhí)行指令傳輸714到虛擬計算環(huán)境服務(wù)器,以便在虛擬計算環(huán)境內(nèi)啟動適當?shù)膽?yīng)用來打開一個或多個數(shù)據(jù)文件。這可致使虛擬計算環(huán)境服務(wù)啟動應(yīng)用并且在虛擬計算環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件。此外,這可以使得用戶能夠通過虛擬計算環(huán)境接口與此遠程應(yīng)用交互并且利用一個或多個打開的數(shù)據(jù)文件。
如上所述,存儲在用戶的計算裝置內(nèi)的一個或多個數(shù)據(jù)文件可以與位置確定應(yīng)用相關(guān)聯(lián),所述位置確定應(yīng)用可以被配置來確定將在計算裝置環(huán)境內(nèi)本地打開,還是在遠程虛擬計算環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件。因此,圖8示出根據(jù)至少一個實施方案的用于利用一個或多個策略來確定計算環(huán)境的過程800的說明性實例,其中可以打開所選擇的數(shù)據(jù)文件。過程800可以由上述位置確定應(yīng)用執(zhí)行,所述位置確定應(yīng)用可以被配置來訪問與所選擇的一個或多個數(shù)據(jù)文件和用戶策略相關(guān)聯(lián)的一個或多個注冊表文件,以便確定將在何處打開一個或多個數(shù)據(jù)文件。此外,位置確定應(yīng)用可以被配置來與計算裝置的一個或多個處理器交互,以便利用本地計算裝置環(huán)境啟動其他應(yīng)用或啟動虛擬計算環(huán)境接口,以便使得能夠在遠程虛擬計算環(huán)境內(nèi)訪問一個或多個數(shù)據(jù)文件。
如以上結(jié)合圖7所描述的,計算裝置的一個或多個處理器在檢測到用戶已經(jīng)選擇一個或多個數(shù)據(jù)文件之后,可確定一個或多個數(shù)據(jù)文件是否將由位置確定應(yīng)用分析。例如,一個或多個處理器可致使計算裝置訪問與所選擇的一個或多個數(shù)據(jù)文件相關(guān)聯(lián)的一個或多個注冊表文件,以便確定在選擇一個或多個數(shù)據(jù)文件時將啟動的默認應(yīng)用。如果一個或多個注冊表文件指定待啟動的默認應(yīng)用是位置確定應(yīng)用,則一個或多個處理器可以啟動此應(yīng)用以便執(zhí)行對一個或多個數(shù)據(jù)文件的分析。
當啟動位置確定應(yīng)用時,應(yīng)用可以從一個或多個處理器接收802用戶信息和/或所選擇的一個或多個數(shù)據(jù)文件的標識符。所選擇的一個或多個數(shù)據(jù)文件的用戶信息和/或標識符可以使得位置確定應(yīng)用能夠識別存儲在計算裝置內(nèi)的可以與所選擇的一個或多個數(shù)據(jù)文件相關(guān)聯(lián)的一個或多個注冊表文件。此外,所選擇的一個或多個數(shù)據(jù)文件的用戶信息和/或標識符可以使得位置確定應(yīng)用能夠識別804在這些一個或多個注冊表文件中編碼的關(guān)于特定用戶和所選擇的一個或多個數(shù)據(jù)文件的文件格式的任何相關(guān)策略。例如,一個或多個策略可指定是否可以在用戶的計算機裝置內(nèi)使用特定數(shù)據(jù)文件格式。另外,一個或多個策略可對于特定用戶指定使用安裝在計算裝置上的任何應(yīng)用不能打開一個或多個數(shù)據(jù)文件,而是僅可以通過虛擬計算環(huán)境來訪問一個或多個數(shù)據(jù)文件。通過評估這些一個或多個策略,位置確定應(yīng)用可以能夠確定806是否將本地打開所選擇的一個或多個數(shù)據(jù)文件。
如果位置確定應(yīng)用至少部分地基于一個或多個策略確定將本地打開一個或多個數(shù)據(jù)文件,則位置確定應(yīng)用可致使一個或多個處理器在計算裝置環(huán)境內(nèi)啟動808本地應(yīng)用,以使得本地應(yīng)用可以打開一個或多個數(shù)據(jù)文件并且使得用戶能夠通過本地應(yīng)用來利用這些一個或多個數(shù)據(jù)文件??商娲?,如果位置確定應(yīng)用確定將在遠程虛擬計算環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件,則位置確定應(yīng)用可致使一個或多個處理器啟動(810)虛擬計算環(huán)境接口,這可以使得用戶能夠利用他/她的計算裝置來訪問他/她的虛擬計算環(huán)境并且在虛擬計算環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件。
如上所述,用戶可以利用虛擬計算環(huán)境接口來選擇存儲在虛擬計算環(huán)境內(nèi)的一個或多個數(shù)據(jù)文件。虛擬計算環(huán)境可包括可用于打開一個或多個數(shù)據(jù)文件的一個或多個應(yīng)用。然而,在一些實施方案中,虛擬計算環(huán)境可不包括打開所選擇的一個或多個數(shù)據(jù)文件所需的應(yīng)用。在這種情況下,虛擬計算環(huán)境服務(wù)的管理子系統(tǒng)可能需要確定用戶的計算裝置或其他計算環(huán)境是否包括合適的應(yīng)用。此外,服務(wù)可能需要確定用戶是否被授權(quán)在這些環(huán)境中的任何環(huán)境中打開這些數(shù)據(jù)文件。因此,圖9示出根據(jù)至少一個實施方案的用于響應(yīng)于確定應(yīng)用不可用于使用數(shù)據(jù)文件而將數(shù)據(jù)文件轉(zhuǎn)移到不同的計算環(huán)境的過程900的說明性實例。過程900可以由上述虛擬計算環(huán)境服務(wù)執(zhí)行,所述虛擬計算環(huán)境服務(wù)可以被配置來評估適用于用戶的一個或多個策略并且與一個或多個計算環(huán)境交互。
當用戶與虛擬計算環(huán)境交互時,他/她可以選擇可以存儲在此環(huán)境內(nèi)的一個或多個數(shù)據(jù)文件。這可以使得虛擬計算環(huán)境服務(wù)能夠檢測902虛擬計算環(huán)境內(nèi)的一個或多個數(shù)據(jù)文件的用戶選擇,并且確定904可以被啟動以便打開所選擇的數(shù)據(jù)文件的應(yīng)用在此環(huán)境內(nèi)是否可用。例如,虛擬計算系統(tǒng)服務(wù)可以評估用于生成虛擬計算環(huán)境的虛擬機圖像,以便確定哪些應(yīng)用包括在環(huán)境內(nèi)。如果可用于打開所選擇的一個或多個數(shù)據(jù)文件的應(yīng)用在虛擬計算環(huán)境內(nèi)是可用的,則虛擬計算環(huán)境服務(wù)可以啟動906適當?shù)膽?yīng)用并且使得能夠通過虛擬計算環(huán)境接口使用一個或多個數(shù)據(jù)文件。
如果在虛擬計算環(huán)境內(nèi)沒有應(yīng)用是可用的,則虛擬計算環(huán)境服務(wù)可確定(908)用戶的計算裝置(例如,本地計算裝置環(huán)境)是否包括可用于打開所選擇的一個或多個數(shù)據(jù)文件的一個或多個應(yīng)用。例如,虛擬計算環(huán)境服務(wù)可訪問用戶配置文件數(shù)據(jù)存儲,以便識別與虛擬計算環(huán)境的用戶相關(guān)聯(lián)的用戶配置文件。此用戶配置文件可指定可以安裝在用戶的計算裝置上的一個或多個應(yīng)用??商娲兀摂M計算環(huán)境服務(wù)可以將一個或多個API調(diào)用傳輸?shù)接脩舻挠嬎阊b置,以便請求有關(guān)安裝在計算裝置上的一個或多個應(yīng)用的信息。任一方法可以使得虛擬計算環(huán)境服務(wù)能夠確定910所需的應(yīng)用是否安裝在用戶的計算裝置上。
如果計算裝置不包括可用于打開一個或多個數(shù)據(jù)文件的應(yīng)用,則虛擬計算環(huán)境服務(wù)可以向用戶通知912用于打開一個或多個數(shù)據(jù)文件的任何附加選項。例如,在一些實施方案中,虛擬計算系統(tǒng)服務(wù)可以通知用戶可包括用于打開所選擇的一個或多個數(shù)據(jù)文件的一個或多個合適的應(yīng)用的其他虛擬機圖像,并且允許用戶確定他/她是否希望在物理主機上例示此特定虛擬機圖像。可替代地,由于沒有應(yīng)用可以被定位,虛擬計算環(huán)境服務(wù)可以拒絕用戶打開一個或多個數(shù)據(jù)文件的請求。在替代性實施方案中,虛擬計算環(huán)境服務(wù)可以使得用戶能夠訪問虛擬計算環(huán)境應(yīng)用市場,其中用戶可以能夠獲得打開一個或多個數(shù)據(jù)文件所需的一個或多個應(yīng)用的許可。在從此市場獲得許可之后,虛擬計算環(huán)境服務(wù)可以通過安裝一個或多個應(yīng)用并且只要許可是有效的就使得用戶能夠利用這些一個或多個應(yīng)用,增補用戶的虛擬計算環(huán)境。
可替代地,如果打開一個或多個數(shù)據(jù)文件所需的一個或多個應(yīng)用在用戶的計算裝置內(nèi)是可用的,則虛擬計算環(huán)境服務(wù)可識別914用于在用戶的計算裝置環(huán)境內(nèi)打開所選擇的一個或多個數(shù)據(jù)文件的一個或多個策略。例如,虛擬計算環(huán)境服務(wù)可訪問用戶配置文件數(shù)據(jù)存儲內(nèi)的用戶配置文件,以便識別由計算裝置或其他監(jiān)督機構(gòu)的管理員定義的這些一個或多個策略。一個或多個策略可指定哪些數(shù)據(jù)文件類型或格式可以在用戶的計算裝置環(huán)境中打開和/或不能在此環(huán)境內(nèi)打開。至少部分地基于這些一個或多個策略,虛擬計算環(huán)境服務(wù)可確定916是否可使用安裝在用戶的計算裝置上的應(yīng)用來打開所選擇的一個或多個數(shù)據(jù)文件。
因為確定在用戶的計算裝置環(huán)境內(nèi)會打不開一個或多個數(shù)據(jù)文件,虛擬計算環(huán)境服務(wù)可以向用戶通知912用于打開一個或多個數(shù)據(jù)文件的任何附加選項。然而,如果可以在用戶的計算裝置環(huán)境內(nèi)打開一個或多個數(shù)據(jù)文件,則虛擬計算環(huán)境服務(wù)可以向用戶的計算裝置提供918所選擇的一個或多個數(shù)據(jù)文件并且將一個或多個可執(zhí)行指令傳輸?shù)接嬎阊b置,所述可執(zhí)行指令在被執(zhí)行時可致使計算裝置啟動使得能夠在用戶的計算裝置環(huán)境內(nèi)使用一個或多個數(shù)據(jù)文件所需的一個或多個應(yīng)用。
圖10示出用于實現(xiàn)根據(jù)各種實施方案的各方面的示例環(huán)境1000的各方面。如將了解,盡管出于解釋目的使用基于web的環(huán)境,但是可視情況使用不同環(huán)境來實現(xiàn)各種實施方案。環(huán)境包括電子客戶端裝置1002,其可包括可操作來通過適當網(wǎng)絡(luò)1004發(fā)送和/或接收請求、消息或信息并且在一些實施方案中將信息傳送回裝置的用戶的任何適當裝置。這類客戶端裝置的實例包括個人計算機、手機、手持式消息傳送裝置、膝上型計算機、平板計算機、機頂盒、個人數(shù)據(jù)助理、嵌入式計算機系統(tǒng)、電子書閱讀器等。網(wǎng)絡(luò)可包括任何適當網(wǎng)絡(luò),包括內(nèi)部網(wǎng)、互聯(lián)網(wǎng)、蜂窩網(wǎng)、局域網(wǎng)、衛(wèi)星網(wǎng)絡(luò),或任何其他這類網(wǎng)絡(luò)和/或上述網(wǎng)絡(luò)的組合。用于這種系統(tǒng)的部件可至少部分地取決于所選擇的網(wǎng)絡(luò)和/或環(huán)境的類型。用于通過這種網(wǎng)絡(luò)通信的協(xié)議和部件是眾所周知的,因而本文將不再詳細討論。通過網(wǎng)路進行的通信可通過有線或無線連接及其組合來實現(xiàn)。在這個實例中,網(wǎng)絡(luò)包括互聯(lián)網(wǎng),因為環(huán)境包括用于接收請求并且響應(yīng)于所述請求而提供內(nèi)容的web服務(wù)器1006,但是對于其他網(wǎng)絡(luò)來說,可使用服務(wù)類似目的的替代裝置,如本領(lǐng)域普通技術(shù)人員所顯而易見的。
說明性環(huán)境包括至少一個應(yīng)用服務(wù)器1008和一個數(shù)據(jù)存儲1010。應(yīng)理解,可存在可鏈接起來或以其他方式來配置的若干應(yīng)用服務(wù)器、層或其他元件、進程或部件,它們可交互以執(zhí)行諸如從適當數(shù)據(jù)存儲獲得數(shù)據(jù)的任務(wù)。如本文所使用的服務(wù)器可用各種方式來實現(xiàn),諸如硬件裝置或虛擬計算機系統(tǒng)。在一些上下文中,服務(wù)器可以是指正在計算機系統(tǒng)上執(zhí)行的編程模塊。如本文所使用的,除非另行說明或從上下文清楚地看出,否則術(shù)語“數(shù)據(jù)存儲”是指能夠存儲、訪問和檢索數(shù)據(jù)的任何裝置或裝置組合,其可包括任何標準、分布式、虛擬或集群式環(huán)境中的任何組合和任何數(shù)目的數(shù)據(jù)服務(wù)器、數(shù)據(jù)庫、數(shù)據(jù)存儲裝置和數(shù)據(jù)存儲介質(zhì)。應(yīng)用服務(wù)器可包括任何適當硬件、軟件和固件,所述硬件、軟件和固件用于視執(zhí)行客戶端裝置的一個或多個應(yīng)用的各方面的需要而與數(shù)據(jù)存儲集成,從而處理應(yīng)用的一些或所有的數(shù)據(jù)訪問和業(yè)務(wù)邏輯。應(yīng)用服務(wù)器可與數(shù)據(jù)存儲協(xié)作提供訪問控制服務(wù),并且能夠生成可用于向用戶提供的內(nèi)容,包括但不限于文本、圖形、音頻、視頻和/或其他內(nèi)容,所述內(nèi)容可以超文本標記語言(“HTML”)、可擴展標記語言(“XML”)、JavaScript、級聯(lián)樣式表(“CSS”)或另一種合適的客戶端側(cè)結(jié)構(gòu)化語言的形式通過web服務(wù)器向用戶提供。傳遞到客戶端裝置的內(nèi)容可由客戶端裝置處理,以便提供呈一種或多種形式的內(nèi)容,所述形式包括但不限于用戶可通過聽覺、視覺和/或通過其他感覺(包括觸覺、味覺和/或嗅覺)來感知的形式。所有請求和響應(yīng)的處理以及客戶端裝置1002與應(yīng)用服務(wù)器1008之間的內(nèi)容遞送可由使用以下PHP的web服務(wù)器來處理:超文本預(yù)處理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML或此實例中的其他合適的服務(wù)器側(cè)結(jié)構(gòu)化語言。應(yīng)理解,web服務(wù)器和應(yīng)用服務(wù)器不是必要的且僅僅是示例性部件,因為本文所討論的結(jié)構(gòu)化代碼可在如本文其他地方所討論的任何適當裝置或主機上執(zhí)行。此外,除非從上下文清楚地看出,否則如由單個裝置執(zhí)行的本文所述的操作可由可形成分布式和/或虛擬系統(tǒng)的多個裝置共同執(zhí)行。
數(shù)據(jù)存儲1010可包括用于存儲與本公開的特定方面相關(guān)的數(shù)據(jù)的若干單獨數(shù)據(jù)表、數(shù)據(jù)庫、數(shù)據(jù)文檔、動態(tài)數(shù)據(jù)存儲方案和/或其他數(shù)據(jù)存儲機構(gòu)和介質(zhì)。例如,所示數(shù)據(jù)存儲可包括用于存儲生成數(shù)據(jù)1012和用戶信息1016的機構(gòu),所述生成數(shù)據(jù)1012和用戶信息1016可用于提供用于生成側(cè)的內(nèi)容。數(shù)據(jù)存儲還被示出為包括用于存儲日志數(shù)據(jù)1014的機構(gòu),所述日志數(shù)據(jù)1014可用于報告、分析或其他這類目的。應(yīng)理解,可能存在可能需要存儲在數(shù)據(jù)存儲中的許多其他方面,諸如頁面圖像信息和訪問權(quán)信息,所述方面可視情況存儲在上文列出的機構(gòu)中的任何機構(gòu)中或存儲在數(shù)據(jù)存儲1010中的另外機構(gòu)中。數(shù)據(jù)存儲1010可通過與其相關(guān)聯(lián)的邏輯來操作,以便從應(yīng)用服務(wù)器1008接收指令,并且響應(yīng)于所述指令獲得數(shù)據(jù)、更新數(shù)據(jù)或以其他方式處理數(shù)據(jù)。應(yīng)用服務(wù)器1008可響應(yīng)于所接收指令提供靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)或靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)的組合。動態(tài)數(shù)據(jù)(諸如web日志(博客)、購物應(yīng)用、新聞服務(wù)以及其他這類應(yīng)用中使用的數(shù)據(jù))可由如本文所描述的服務(wù)器側(cè)結(jié)構(gòu)化語言生成,或可由在應(yīng)用服務(wù)器上操作或在其控制下的內(nèi)容管理系統(tǒng)(“CMS”)提供。在一個實例中,用戶可通過由用戶操作的裝置提交對某種類型的項目的搜索請求。在這種情況下,數(shù)據(jù)存儲可訪問用戶信息以核實用戶的身份,并且可訪問目錄詳細信息以獲得關(guān)于所述類型的項目的信息。接著可將信息以諸如網(wǎng)頁上的結(jié)果列表的形式返回給用戶,用戶能夠通過用戶裝置1002上的瀏覽器來查看所述網(wǎng)頁??稍趯S脼g覽器頁面或窗口中查看感興趣的特定項目的信息。然而,應(yīng)當指出的是,本公開的實施方案未必限于網(wǎng)頁背景,但可更一般地應(yīng)用于大體上處理請求,其中所述請求未必是對內(nèi)容的請求。
每個服務(wù)器通常將包括提供用于所述服務(wù)器的一般管理和操作的可執(zhí)行程序指令的操作系統(tǒng),并且通常將包括存儲指令的計算機可讀存儲介質(zhì)(例如,硬盤、隨機存取存儲器、只讀存儲器等),所述指令在由服務(wù)器的處理器執(zhí)行時允許所述服務(wù)器執(zhí)行其預(yù)期的功能。操作系統(tǒng)的適合實現(xiàn)方式和服務(wù)器的一般功能是眾所周知的或可商購的,并且易于由本領(lǐng)域普通技術(shù)人員實現(xiàn),尤其是根據(jù)本文中的公開內(nèi)容來實現(xiàn)。
在一個實施方案中,環(huán)境是分布式和/或虛擬計算環(huán)境,所述環(huán)境利用通過通信鏈路、使用一個或多個計算機網(wǎng)絡(luò)或直接連接來互連的若干計算機系統(tǒng)和部件。但是,本領(lǐng)域普通技術(shù)人員應(yīng)理解,這種系統(tǒng)可在具有比圖10所示更少或更多部件的系統(tǒng)中同樣順利地操作。因此,對圖10中的系統(tǒng)1000的描繪本質(zhì)上應(yīng)視為說明性的,并且不限制本公開的范圍。
可鑒于以下條款對本公開的實施方案進行描述:
1.一種計算機實現(xiàn)的方法,其包括:
在配置有可執(zhí)行指令的計算裝置的控制下,
檢測所述計算裝置的輸入裝置中的指示打開數(shù)據(jù)文件的命令的輸入,可使用安裝在所述計算裝置上的至少一個應(yīng)用來訪問所述數(shù)據(jù)文件,并且所述數(shù)據(jù)文件具有對應(yīng)的文件類型;
至少部分地基于與所述文件類型相關(guān)聯(lián)的策略,確定將在與所述計算裝置的所述環(huán)境不同的虛擬計算環(huán)境中打開所述數(shù)據(jù)文件;
將所述數(shù)據(jù)文件傳輸?shù)剿鎏摂M計算環(huán)境;以及
傳輸一個或多個可執(zhí)行指令,以便致使服務(wù)器啟動可用于在所述虛擬計算環(huán)境內(nèi)打開所述數(shù)據(jù)文件的應(yīng)用。
2.如條款1所述的計算機實現(xiàn)的方法,其還包括:
從所述服務(wù)器接收修改的數(shù)據(jù)文件,所述修改的數(shù)據(jù)文件由于在所述虛擬計算環(huán)境內(nèi)使用所述應(yīng)用來打開所述數(shù)據(jù)文件而創(chuàng)建;以及
使所述數(shù)據(jù)文件和所述修改的數(shù)據(jù)文件同步。
3.如條款1或2所述的計算機實現(xiàn)的方法,其中在所述計算機系統(tǒng)的操作系統(tǒng)的注冊表文件中編碼所述策略,所述注冊表文件指定具有所述對應(yīng)文件類型的數(shù)據(jù)文件將與位置確定應(yīng)用相關(guān)聯(lián),所述位置確定應(yīng)用被配置來確定將在所述虛擬計算環(huán)境中打開所述數(shù)據(jù)文件。
4.如條款1-3中任一項所述的計算機實現(xiàn)的方法,其還包括由于確定將在所述虛擬計算環(huán)境中打開所述數(shù)據(jù)文件,提供與所述計算裝置的用戶相關(guān)聯(lián)的一個或多個憑證以便使得所述計算裝置能夠用于訪問所述虛擬計算環(huán)境。
5.一種系統(tǒng),其包括:
一個或多個處理器;
包括指令的存儲器,當由所述一個或多個處理器執(zhí)行時,所述指令致使所述系統(tǒng):
在第一計算環(huán)境中檢測打開數(shù)據(jù)文件的命令;
至少部分地基于與所述數(shù)據(jù)文件相關(guān)聯(lián)的策略,確定將在第二計算環(huán)境中打開所述數(shù)據(jù)文件,所述第一計算環(huán)境和所述第二計算環(huán)境被網(wǎng)絡(luò)分開;以及
將致使在所述第二計算環(huán)境內(nèi)打開所述數(shù)據(jù)文件的信息傳輸?shù)剿龅诙嬎悱h(huán)境。
6.如條款5所述的系統(tǒng),其中可使用在所述第一計算環(huán)境內(nèi)可用的至少一個應(yīng)用來訪問所述數(shù)據(jù)文件。
7.如條款5或6所述的系統(tǒng),其中在與所述數(shù)據(jù)文件相關(guān)聯(lián)的注冊表文件中編碼所述策略。
8.如條款5-7中任一項所述的系統(tǒng),其中所述第二計算環(huán)境是可通過所述第一計算環(huán)境的網(wǎng)絡(luò)接口訪問的單租戶虛擬計算環(huán)境。
9.如條款5-8中任一項所述的系統(tǒng),其中所述指令在被所述一個或多個處理器執(zhí)行時還致使所述系統(tǒng):
在所述第一計算環(huán)境中檢測打開第二數(shù)據(jù)文件的命令;
至少部分地基于與所述第二數(shù)據(jù)文件相關(guān)聯(lián)的策略,確定將在所述第一計算環(huán)境內(nèi)使用應(yīng)用來打開所述第二數(shù)據(jù)文件;以及
啟動所述應(yīng)用以便使得能夠使用所述第二數(shù)據(jù)文件。
10.如條款5-9中任一項所述的系統(tǒng),其中所述第一計算環(huán)境是通過所述網(wǎng)絡(luò)流式傳輸?shù)剿鱿到y(tǒng)的單租戶虛擬計算環(huán)境。
11.如條款5-10中任一項所述的系統(tǒng),其中所述指令在被所述一個或多個處理器執(zhí)行時還致使所述系統(tǒng):
從所述第二計算環(huán)境接收修改的數(shù)據(jù)文件,所述修改的數(shù)據(jù)文件由于在所述第二計算環(huán)境內(nèi)使用所述應(yīng)用來打開所述數(shù)據(jù)文件而創(chuàng)建;以及
在所述第一計算環(huán)境內(nèi)使所述數(shù)據(jù)文件和所述修改的數(shù)據(jù)文件同步。
12.如條款5-11中任一項所述的系統(tǒng),其中由于確定將在所述第二計算環(huán)境中打開所述數(shù)據(jù)文件,所述指令在被所述一個或多個處理器執(zhí)行時還致使所述系統(tǒng)提供與所述第一計算環(huán)境的用戶計算裝置相關(guān)聯(lián)的一個或多個憑證,以便使得所述用戶計算裝置能夠訪問所述第二計算環(huán)境。
13.一種非暫時性計算機可讀存儲介質(zhì),其具有存儲在其上的可執(zhí)行指令,當由計算機系統(tǒng)的一個或多個處理器執(zhí)行時,所述指令致使所述計算機系統(tǒng)至少:
響應(yīng)于在第一計算環(huán)境內(nèi)檢測到打開具有對應(yīng)文件類型的數(shù)據(jù)文件的命令,
至少部分地基于與所述文件類型相關(guān)聯(lián)的策略,從所述計算機系統(tǒng)可訪問的多個單租戶虛擬計算環(huán)境中選擇單租戶虛擬計算環(huán)境;以及
將致使在所述選擇的單租戶虛擬計算環(huán)境內(nèi)打開所述數(shù)據(jù)文件的信息傳輸?shù)剿鲞x擇的計算環(huán)境。
14.如條款13所述的非暫時性計算機可讀存儲介質(zhì),其中所述多個單租戶虛擬計算環(huán)境包括所述第一計算環(huán)境。
15.如條款13或14所述的非暫時性計算機可讀存儲介質(zhì),其中所述指令還包括以下指令:其在被所述一個或多個處理器執(zhí)行時,致使所述計算機系統(tǒng)提供與所述第一計算環(huán)境的用戶計算裝置相關(guān)聯(lián)的一個或多個憑證,以便使得所述用戶計算裝置能夠訪問所述選擇的單租戶虛擬計算環(huán)境。
16.如條款13-15中任一項所述的非暫時性計算機可讀存儲介質(zhì),其中所述第一計算環(huán)境包括與所述選擇的單租戶虛擬計算環(huán)境的操作系統(tǒng)不同的操作系統(tǒng)。
17.如條款13-16中任一項所述的非暫時性計算機可讀存儲介質(zhì),其中所述指令還包括以下指令:其在被所述一個或多個處理器執(zhí)行時,由于從所述多個單租戶虛擬計算環(huán)境選擇所述單租戶虛擬計算環(huán)境,致使所述計算機系統(tǒng)傳輸致使供應(yīng)所述選擇的單租戶虛擬計算環(huán)境的信息。
18.如條款13-17中任一項所述的非暫時性計算機可讀存儲介質(zhì),其中與所述文件類型相關(guān)聯(lián)的所述策略至少部分地基于所述多個單租戶虛擬計算環(huán)境中的每個單租戶虛擬環(huán)境的一個或多個安全方面,指定所述單租戶虛擬計算環(huán)境的排序。
19.如條款13-18中任一項所述的非暫時性計算機可讀存儲介質(zhì),其中在所述第一計算環(huán)境的操作系統(tǒng)的注冊表文件中編碼所述策略,所述注冊表文件指定具有所述對應(yīng)文件類型的數(shù)據(jù)文件將與位置確定應(yīng)用相關(guān)聯(lián),所述位置確定應(yīng)用被配置來確定將在所述選擇的單租戶虛擬計算環(huán)境中打開所述數(shù)據(jù)文件。
20.如條款13-19中任一項所述的非暫時性計算機可讀存儲介質(zhì),其中可使用在所述第一計算環(huán)境內(nèi)可用的至少一個應(yīng)用來訪問所述數(shù)據(jù)文件。
可在廣泛多種操作環(huán)境中進一步實現(xiàn)各個實施方案,所述操作環(huán)境在一些情況下可包括一個或多個用戶計算機、計算裝置或者可用于操作多個應(yīng)用中的任何一個的處理裝置。用戶或客戶端裝置可包括多個通用個人計算機中的任一種,諸如運行標準操作系統(tǒng)的臺式機、膝上型計算機或平板計算機,以及運行移動軟件并且能夠支持多種網(wǎng)絡(luò)連接協(xié)議和消息傳送協(xié)議的蜂窩裝置、無線裝置和手持式裝置。這種系統(tǒng)還可包括多個工作站,所述工作站運行多種可商購得的操作系統(tǒng)和用于諸如開發(fā)和數(shù)據(jù)庫管理目的的其他已知應(yīng)用中的任一種。這些裝置還可包括其他電子裝置,諸如虛擬終端、瘦客戶端、游戲系統(tǒng)和能夠通過網(wǎng)絡(luò)通信的其他裝置。這些裝置還可包括虛擬裝置,諸如虛擬機、管理程序以及能夠通過網(wǎng)絡(luò)通信的其他虛擬裝置。
本公開的各種實施方案利用本領(lǐng)域技術(shù)人員可能熟悉的至少一種網(wǎng)絡(luò)來支持使用多種可商購得的協(xié)議中的任一種進行通信,所述協(xié)議諸如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(“TCP/IP”)、用戶數(shù)據(jù)報協(xié)議(“UDP”)、在開放系統(tǒng)互連(“OSI”)模型的各個層中操作的協(xié)議、文件傳送協(xié)議(“FTP”)、通用即插即用(“UpnP”)、網(wǎng)絡(luò)文件系統(tǒng)(“NFS”)、公共互聯(lián)網(wǎng)文件系統(tǒng)(“CIFS”)以及AppleTalk。網(wǎng)絡(luò)可以是例如局域網(wǎng)、廣域網(wǎng)、虛擬專用網(wǎng)、互聯(lián)網(wǎng)、內(nèi)部網(wǎng)、外部網(wǎng)、公共交換電話網(wǎng)、紅外網(wǎng)、無線網(wǎng)、衛(wèi)星網(wǎng)絡(luò)以及上述網(wǎng)絡(luò)的任何組合。
在利用web服務(wù)器的實施方案中,web服務(wù)器可以運行多種服務(wù)器或中間層級應(yīng)用中的任一種,包括超文本傳送協(xié)議(“HTTP”)服務(wù)器、FTP服務(wù)器、通用網(wǎng)關(guān)接口(“CGI”)服務(wù)器、數(shù)據(jù)服務(wù)器、Java服務(wù)器、Apache服務(wù)器和業(yè)務(wù)應(yīng)用服務(wù)器。所述服務(wù)器還能夠響應(yīng)來自用戶裝置的請求而執(zhí)行程序或腳本,如通過執(zhí)行一個或多個可以實施為一個或多個以任何編程語言(諸如C、C#或C++)或任何腳本語言(諸如Ruby、PHP、Perl、Python或TCL)及其組合撰寫的腳本或程序的web應(yīng)用。所述服務(wù)器還可包括數(shù)據(jù)庫服務(wù)器,包括但不限于可從和商購得的服務(wù)器以及開源服務(wù)器(諸如MySQL、Postgres、SQLite、MongoDB),以及能夠存儲、檢索和訪問結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)的任何其他服務(wù)器。數(shù)據(jù)庫服務(wù)器可包括基于表格的服務(wù)器、基于文件的服務(wù)器、非結(jié)構(gòu)化服務(wù)器、關(guān)系式服務(wù)器、非關(guān)系式服務(wù)器或這些和/或其他數(shù)據(jù)庫服務(wù)器的組合。
環(huán)境可包括如上文討論的多種數(shù)據(jù)存儲以及其他存儲器和存儲介質(zhì)。這些可駐留在多種位置中,諸如在一個或多個計算機本地(和/或駐留在一個或多個計算機中)的存儲介質(zhì)上,或遠離網(wǎng)絡(luò)上的計算機中的任何或所有計算機。在一組特定實施方案中,信息可駐留于在本領(lǐng)域技術(shù)人員熟悉的存儲區(qū)域網(wǎng)(“SAN”)中。類似地,用于執(zhí)行屬于計算機、服務(wù)器或其他網(wǎng)絡(luò)裝置的功能的任何必要的文件可視情況存儲在本地或遠程。在系統(tǒng)包括計算機化裝置的情況下,每個這種裝置可包括可通過總線電耦合的硬件元件,所述元件包括例如至少一個中央處理單元(“CPU”或“處理器”)、至少一個輸入裝置(例如,鼠標、鍵盤、控制器、觸摸屏或小鍵盤)和至少一個輸出裝置(例如,顯示裝置、打印機或揚聲器)。這種系統(tǒng)還可以包括一個或多個存儲裝置,諸如磁盤驅(qū)動器、光存儲裝置和固態(tài)存儲裝置(諸如隨機存取存儲器(“RAM”)或只讀存儲器(“ROM”)),以及可移動介質(zhì)裝置、存儲卡、閃存卡等。
這類裝置還可包括計算機可讀存儲介質(zhì)讀取器、通信裝置(例如,調(diào)制解調(diào)器、網(wǎng)卡(無線或有線)、紅外線通信裝置等)和工作存儲器,如上文所討論。計算機可讀存儲介質(zhì)讀取器可與計算機可讀存儲介質(zhì)連接或被配置來接收計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)表示遠程、本地、固定和/或可移動存儲裝置以及用于暫時和/或更永久地含有、存儲、傳輸和檢索計算機可讀信息的存儲介質(zhì)。系統(tǒng)和各種裝置通常還將包括位于至少一個工作存儲器裝置內(nèi)的多個軟件應(yīng)用、模塊、服務(wù)或其他元件,包括操作系統(tǒng)和應(yīng)用程序,諸如客戶端應(yīng)用或web瀏覽器。應(yīng)了解,替代性實施方案相比上文描述的實施方案可具有眾多變化。例如,也可使用定制硬件,和/或特定元件可以硬件、軟件(包括可移植軟件,諸如小應(yīng)用程序)或兩者來實現(xiàn)。此外,可以采用與其他計算裝置諸如網(wǎng)絡(luò)輸入/輸出裝置的連接。
用于包含代碼或部分代碼的存儲介質(zhì)和計算機可讀介質(zhì)可包括本領(lǐng)域已知或已使用的任何適當介質(zhì),包括存儲介質(zhì)和通信介質(zhì),諸如但不限于以用于存儲和/或傳輸信息(諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任何方法或技術(shù)所實現(xiàn)的易失性和非易失性、可移動和不可移動的介質(zhì),包括RAM、ROM、電可擦除可編程只讀存儲器(“EEPROM”)、閃存或其他存儲器技術(shù)、光盤只讀存儲器(“CD-ROM”)、數(shù)字通用光盤(DVD)或其他光學(xué)存儲裝置、磁盒、磁帶、磁盤存儲裝置或其他磁性存儲裝置,或可用于存儲所需信息且可由系統(tǒng)裝置訪問的任何其他介質(zhì)。基于本文所提供的公開內(nèi)容和教義,本領(lǐng)域普通技術(shù)人員將了解實現(xiàn)各種實施方案的其他方式和/或方法。
因此,應(yīng)以說明性意義而不是限制性意義來理解本說明書和附圖。然而,將明顯的是:在不脫離如權(quán)利要求書中闡述的本發(fā)明的更寬廣精神和范圍的情況下,可以對本發(fā)明做出各種修改和改變。
其他變型在本公開的精神內(nèi)。因此,盡管所公開的技術(shù)可容許各種修改和替代構(gòu)造,但在附圖中已示出并且在上文中詳細描述所示的其某些實施方案。然而,應(yīng)理解,并不意圖將本發(fā)明局限于所公開的一種或多種具體形式,但相反,意圖涵蓋落在本發(fā)明的精神和范圍內(nèi)的所有修改、替代構(gòu)造和等效物,如所附權(quán)利要求書中所限定。
在描述所公開實施方案的上下文中(尤其是在以下權(quán)利要求書的上下文中),術(shù)語“一個(a/an)”和“所述”以及類似指稱對象的使用應(yīng)解釋為涵蓋單數(shù)和復(fù)數(shù)兩者,除非本文另外指示或以其他方式明顯地與上下文矛盾。術(shù)語“包含”、“具有”、“包括”和“含有”應(yīng)解釋為開放式術(shù)語(即,意味著“包括但不限于”),除非另外注解。當無修飾并且指代物理連接時,術(shù)語“連接的”應(yīng)解釋為部分地或全部地納入在以下解釋內(nèi):附接到或連結(jié)在一起,即使存在介入物。除非本文另外指示,否則本文中對值范圍的列舉僅僅意圖用作單獨地表示落入所述范圍的各單獨值的速記方法,并且猶如本文單獨描述地那樣將各單獨值并入本說明書中。除非本文另外指示或與上下文矛盾,否則術(shù)語“集”(例如,“項目集”)或“子集”的使用解釋為包括一個或多個成員的非空集合。此外,除非本文另外指示或與上下文矛盾,否則術(shù)語對應(yīng)集的“子集”不一定指對應(yīng)集的真子集,而是子集和對應(yīng)集可以相等。
除非另外指出或另外由上下文明確否定,諸如以下形式的短語:“A、B、和C中的至少一個”或“A、B和C中的至少一個”的連接性語言另外應(yīng)通過如通常用于呈現(xiàn)一個項目、項目等的上下文理解,可以是A或B或C、或所述組A和B和C的任何非空子組。例如,在具有三個成員的組的說明性實例中,連接性短語“A、B、和C中的至少一個”或“A、B和C中的至少一個”是指以下組中的任一個:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。因此,此類連接性語言一般并非意圖暗示某些實施方案需要A中的至少一個、B中的至少一個以及C中的至少一個每個存在。
可按任何合適的順序來執(zhí)行本文描述的過程的操作,除非本文另外指示或以其他方式明顯地與上下文矛盾。本文描述的過程(或變型和/或其組合)可在配置有可執(zhí)行指令的一個或多個計算機系統(tǒng)的控制下實行,并且可作為共同地在一個或多個處理器上執(zhí)行的代碼(例如,可執(zhí)行指令、一個或多個計算機程序或一個或多個應(yīng)用)、由硬件或其組合來實現(xiàn)。代碼可以(例如)計算機程序的形式存儲在計算機可讀存儲介質(zhì)上,所述計算機程序包括可由一個或多個處理器執(zhí)行的多個指令。計算機可讀存儲介質(zhì)可以是非暫時性的。
本文所提供的任何以及所有實例或示例性語言(例如,“如”)的使用僅意圖更好地說明本發(fā)明的實施方案,并且除非另外要求,否則不會對本發(fā)明的范圍施加限制。本說明書中的語言不應(yīng)解釋為將任何非要求的元素指示為實踐本發(fā)明所必需。
本文中描述了本公開的實施方案,包括發(fā)明人已知用于執(zhí)行本發(fā)明的最佳模式。在閱讀了上述描述后,這些所述實施方案的變化對本領(lǐng)域的技術(shù)人員將變得顯而易見。發(fā)明人希望技術(shù)人員視情況采用此類變型,并且發(fā)明人意圖以不同于如本文具體描述的方式來實踐本公開的實施方案。因此,經(jīng)適用的法律許可,本公開的范圍包括在此所附的權(quán)利要求書中敘述的主題的所有修改和等效物。此外,本公開的范圍涵蓋其所有可能變型中的上述元素的任意組合,除非本文另外指示或以其他形式明顯地與上下文矛盾。
本文所引用的所有參考文件,包括公開案、專利申請和專利,特此按如下程度以引用方式并入本文中:如同每一個參考文件都個別地和特別地表示為以引用方式并入到本文中并且其全部內(nèi)容都進行了陳述。