亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于虛擬化的擴(kuò)展點(diǎn)聲明性注冊(cè)的制作方法

文檔序號(hào):6359554閱讀:206來源:國知局
專利名稱:用于虛擬化的擴(kuò)展點(diǎn)聲明性注冊(cè)的制作方法
用于虛擬化的擴(kuò)展點(diǎn)聲明性注冊(cè)
背景技術(shù)
虛擬化指的是通過物理硬件的虛擬機(jī)的執(zhí)行然后在虛擬機(jī)上虛擬地運(yùn)行操作系統(tǒng)和/或應(yīng)用。虛擬機(jī)可以表示硬件功能的最小公分母或者可以表示易于為其準(zhǔn)備操作系統(tǒng)和應(yīng)用的公知配置。隨著資源需求增長,許多數(shù)據(jù)中心使用虛擬化以能夠容易地將虛擬機(jī)移動(dòng)到新的物理硬件,從而維護(hù)循環(huán)并且平衡物理服務(wù)器負(fù)載。虛擬化對(duì)于許多情形是有用的,但也可能施加由于許多虛擬機(jī)爭(zhēng)用相同資源(例如,中央處理單元(CPU)、存儲(chǔ)器和網(wǎng)絡(luò)接ロ卡(NIC))而出現(xiàn)的限制。應(yīng)用虛擬化在單個(gè)應(yīng)用級(jí)別提供了虛擬機(jī)。例如,主操作系統(tǒng)可以本機(jī)地運(yùn)行ー些應(yīng)用,同時(shí)提供用于運(yùn)行其它應(yīng)用的虛擬環(huán)境。這可以允許操作系統(tǒng),例如,運(yùn)行為不同操作系統(tǒng)所設(shè)計(jì)的應(yīng)用。應(yīng)用虛擬化在主操作系統(tǒng)中本機(jī)運(yùn)行的應(yīng)用和在虛擬機(jī)中運(yùn)行的應(yīng)用之間模糊對(duì)用戶的區(qū)別。例如,兩類應(yīng)用可以并排出現(xiàn)在操作系統(tǒng)外殼所提供的任務(wù)欄或菜單中。MICROSOFT應(yīng)用虛擬化(Application Virtualization,App-V)將應(yīng)用轉(zhuǎn)換成未安裝且與其他應(yīng)用不沖突的集中管理的虛擬服務(wù)。在物理環(huán)境中,每ー應(yīng)用取決于其對(duì)于服務(wù)范圍的操作系統(tǒng)(OS),包括存儲(chǔ)器分配、設(shè)備驅(qū)動(dòng)程序及更多。應(yīng)用及其操作系統(tǒng)之間的不兼容性可通過服務(wù)器虛擬化或是呈現(xiàn)虛擬化來解決一但對(duì)于OS的同一實(shí)例上所安裝的兩個(gè)應(yīng)用之間的不兼容性是通過應(yīng)用虛擬化來解決的。操作系統(tǒng)需要修改其表現(xiàn)來適應(yīng)顧客的需要。例如,用戶可安裝文件類型關(guān)聯(lián)進(jìn)行注冊(cè)的MICROSOFT Word (微軟字處理)。該文件類型關(guān)聯(lián)改變操作系統(tǒng)如何表現(xiàn)。當(dāng)用戶點(diǎn)擊帶有Word文件類型關(guān)聯(lián)的文檔時(shí),操作系統(tǒng)調(diào)用MICROSOFTWord。文件類型關(guān)聯(lián)是操作系統(tǒng)擴(kuò)展點(diǎn)的一具體示例。虛擬化的一部分是隔離,這意味著一個(gè)應(yīng)用不能看見另ー應(yīng)用,且ー個(gè)應(yīng)用的動(dòng)作不影響操作系統(tǒng),或只通過代理影響操作系統(tǒng)。在文件類型關(guān)聯(lián)的情況下,代理的一個(gè)示例是作為代表該應(yīng)用的代理來檢測(cè)并注冊(cè)文件類型關(guān)聯(lián)的MICROSOFTApp-V客戶機(jī)。以此方式,MICR0S0FTApp-V知曉操作系統(tǒng)修改,且可在虛擬化應(yīng)用被移除時(shí)使該修改倒退。不幸的是,為每一操作系統(tǒng)擴(kuò)展點(diǎn)建立自定義代理是不切實(shí)際或不可縮放的。MICR0S0FTWIND0WS(微軟視窗)中有超過3000個(gè)擴(kuò)展點(diǎn),從而使得幾乎不可能為每ー個(gè)擴(kuò)展點(diǎn)編寫ー代理。此外,具備對(duì)每一新操作系統(tǒng)的支持,額外的擴(kuò)展點(diǎn)需要被檢測(cè)并管理,以便使應(yīng)用虛擬化保持如預(yù)期的那樣工作。數(shù)量持續(xù)擴(kuò)展的擴(kuò)展點(diǎn)消耗了開發(fā)和測(cè)試時(shí)間,且拿走了給其他新特征的時(shí)間。概述本文描述了擴(kuò)展點(diǎn)虛擬化系統(tǒng),該擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用操作系統(tǒng)提供的重解析點(diǎn)來提供最小擴(kuò)展點(diǎn)注冊(cè)。重解析點(diǎn)在消除為每ー擴(kuò)展點(diǎn)編寫自定義擴(kuò)展點(diǎn)代理的縮放問題時(shí)保留應(yīng)用隔離??赏ㄟ^將操作系統(tǒng)從應(yīng)用資源的典型位置重定向至該應(yīng)用資源的虛擬化安全位置來處理許多擴(kuò)展點(diǎn)。擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用重解析點(diǎn)來消除每ー擴(kuò)展點(diǎn)對(duì)自定義代理的需求。作為替代,系統(tǒng)可使用一般地處理應(yīng)用虛擬化重解析點(diǎn)的單個(gè)文件系統(tǒng)過濾器,并為需要重定向的擴(kuò)展點(diǎn)存儲(chǔ)重解析點(diǎn)數(shù)據(jù)。由此,系統(tǒng)通過允許應(yīng)用虛擬化系統(tǒng)僅注冊(cè)可以用重解析點(diǎn)來處理的新位置井隨后一般地處理經(jīng)注冊(cè)的位置,來簡化處理新擴(kuò)展點(diǎn)的進(jìn)程。提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的ー些概念。本概述并不g在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不g在用于限制所要求保護(hù)主題的范圍。附圖
簡述圖I是示出在一個(gè)實(shí)施例中的擴(kuò)展點(diǎn)虛擬化系統(tǒng)的各組件的框圖。圖2是示出在一個(gè)實(shí)施例中的擴(kuò)展點(diǎn)虛擬化系統(tǒng)用于標(biāo)識(shí)擴(kuò)展點(diǎn)并為所標(biāo)識(shí)的擴(kuò)展點(diǎn)設(shè)置應(yīng)用重定向的處理的流程圖。 圖3是在ー個(gè)實(shí)施例中的虛擬化系統(tǒng)用于對(duì)通過擴(kuò)展點(diǎn)來訪問資源的請(qǐng)求作出響應(yīng)的處理的流程圖。詳細(xì)描述本文描述了擴(kuò)展點(diǎn)虛擬化系統(tǒng),該擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用操作系統(tǒng)提供的重解析點(diǎn)來提供最小擴(kuò)展點(diǎn)注冊(cè)。重解析點(diǎn)在消除為每ー擴(kuò)展點(diǎn)編寫自定義擴(kuò)展點(diǎn)代理的縮放問題的同時(shí)保留應(yīng)用隔離??赏ㄟ^將操作系統(tǒng)從應(yīng)用資源的典型位置重定向至該應(yīng)用資源的虛擬化安全位置來處理許多擴(kuò)展點(diǎn)。例如,可對(duì)先前將文件安裝到操作系統(tǒng)目錄的應(yīng)用進(jìn)行重定向,以便將那些文件安裝到此應(yīng)用的自己的目錄(即使應(yīng)用虛擬化欺騙該應(yīng)用使其認(rèn)為文件仍在操作系統(tǒng)目錄中)。文件或目錄可包含重解析點(diǎn),該重解析點(diǎn)是用戶定義的數(shù)據(jù)的集合。這ー數(shù)據(jù)的格式被存儲(chǔ)該數(shù)據(jù)的應(yīng)用以及文件系統(tǒng)過濾器理解,應(yīng)用開發(fā)者安裝該文件系統(tǒng)過濾器以便解釋該數(shù)據(jù)并處理該文件。當(dāng)應(yīng)用設(shè)置重解析點(diǎn)時(shí),該應(yīng)用存儲(chǔ)這ー數(shù)據(jù)、加上唯一標(biāo)識(shí)其正存儲(chǔ)的數(shù)據(jù)的重解析標(biāo)簽。當(dāng)文件系統(tǒng)打開帶有重解析點(diǎn)的文件時(shí),該文件系統(tǒng)嘗試找到與重解析標(biāo)簽所標(biāo)識(shí)的數(shù)據(jù)格式相關(guān)聯(lián)的文件系統(tǒng)過濾器。如果文件系統(tǒng)過濾器被找至IJ,則過濾器將文件作為被重解析數(shù)據(jù)定向來處理。如果文件系統(tǒng)過濾器未被找到,則文件打開操作失敗。例如,重解析點(diǎn)用來實(shí)現(xiàn)NTFS文件系統(tǒng)鏈接以及MICROSOFT遠(yuǎn)程存儲(chǔ)服務(wù)器(RSS)。RSS使用管理員定義的規(guī)則集來將不頻繁使用的文件移至諸如磁帶或光學(xué)介質(zhì)之類的長期存儲(chǔ)中。RSS使用重解析點(diǎn)來將與文件有關(guān)的信息存儲(chǔ)在文件系統(tǒng)中。這一信息被存儲(chǔ)在存根文件中,該存根文件包含其數(shù)據(jù)指向?qū)嶋H文件所位于的設(shè)備的重解析點(diǎn)。文件系統(tǒng)過濾器可使用這一信息來檢索文件。重解析點(diǎn)還用來實(shí)現(xiàn)掛載的文件夾。擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用重解析點(diǎn)來消除每ー擴(kuò)展點(diǎn)對(duì)自定義代理的需求。作為替代,系統(tǒng)可創(chuàng)建一般地處理應(yīng)用虛擬化重解析點(diǎn)的單個(gè)文件系統(tǒng)過濾器,并為需要重定向的擴(kuò)展點(diǎn)存儲(chǔ)重解析點(diǎn)數(shù)據(jù)。例如,系統(tǒng)可將重解析點(diǎn)與文件或注冊(cè)表項(xiàng)相關(guān)聯(lián),而不管該文件或注冊(cè)表項(xiàng)的具體擴(kuò)展目的。由此,系統(tǒng)通過允許應(yīng)用虛擬化系統(tǒng)僅注冊(cè)可以用重解析點(diǎn)來處理的新位置井隨后一般地處理經(jīng)注冊(cè)的位置,來簡化處理新擴(kuò)展點(diǎn)的進(jìn)程。應(yīng)用虛擬化收集一應(yīng)用的文件和注冊(cè)數(shù)據(jù),并將其放置在被稱為包的存儲(chǔ)中,使得該應(yīng)用認(rèn)為文件和注冊(cè)條目是本地安裝的,即使它們并不是這樣。注冊(cè)擴(kuò)展點(diǎn)的先前方法為每ー擴(kuò)展點(diǎn)創(chuàng)建了代理。這ー代理會(huì)檢測(cè)到系統(tǒng)上存在過該包,并解析足夠的元數(shù)據(jù)以便向操作系統(tǒng)注冊(cè)擴(kuò)展點(diǎn)。在擴(kuò)展點(diǎn)被調(diào)用時(shí),代理會(huì)被調(diào)用、找到正確的包、并將工作移交給該包。作為對(duì)比,文本描述的擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用操作系統(tǒng)設(shè)施、重解析點(diǎn)(或UNIX中的符號(hào)鏈接)來最小化注冊(cè)擴(kuò)展點(diǎn)。重解析點(diǎn)是ー操作系統(tǒng)設(shè)施,該操作系統(tǒng)設(shè)施告知操作系統(tǒng)當(dāng)特定路徑在操作系統(tǒng)應(yīng)用編程接ロ(API)中被使用時(shí),操作系統(tǒng)應(yīng)改為尋找數(shù)據(jù)的替代路徑。擴(kuò)展點(diǎn)虛擬化系統(tǒng)導(dǎo)致發(fā)生重定向到虛擬包中的位置。通過這樣做,系統(tǒng)提供這樣ー種方式允許添加新擴(kuò)展點(diǎn)而無需代理,同時(shí)繼續(xù)將應(yīng)用與操作系統(tǒng)隔離。采用“.txt”文件類型關(guān)聯(lián)的示例,實(shí)現(xiàn)這一技術(shù)對(duì)其他類型的擴(kuò)展點(diǎn)起作用。文件類型關(guān)聯(lián)具有注冊(cè)表項(xiàng),該注冊(cè)表項(xiàng)使得操作系統(tǒng)運(yùn)行當(dāng)用戶從操作系統(tǒng)外殼(shell)(例如MICR0S0FTWIND0WS瀏覽器(Explorer))點(diǎn)擊這一文件類型關(guān)聯(lián)時(shí)指定至可執(zhí)行文件的路徑的命令行。在默認(rèn)情況下,注冊(cè)表項(xiàng)數(shù)據(jù)是“HKEY_CLASSES_ROOT\txtfile\shell\open\command=%SystemRoot%\system32\N0TEPAD. EXE%1 ”,該注冊(cè)■表項(xiàng)數(shù)據(jù)使得操作系統(tǒng)運(yùn)行記事本(Not印ad)以打開文件。擴(kuò)展點(diǎn)虛擬化系統(tǒng)檢測(cè)到注冊(cè)“.txt”文件類型關(guān)聯(lián)的包在系統(tǒng)上,并將重解析點(diǎn)放在該注冊(cè)表中,使得當(dāng)外殼打開HKEY_CLASSES_ROOT\txtfile\shell\open\command 時(shí),該命令將被重解析成 HKCR\[APP GUID] \txtfile\shell\open\command。在這一情況下,[APP⑶ID]是包專用的全局卩隹一標(biāo)識(shí)符(⑶ID)。這ー技術(shù)可被推廣至其他擴(kuò)展點(diǎn),以及那些不包括單個(gè)注冊(cè)表?xiàng)l目而是包括跨多個(gè)位置以及文件和目錄的多個(gè)注冊(cè)表?xiàng)l目的擴(kuò)展點(diǎn)。擴(kuò)展點(diǎn)虛擬化系統(tǒng)用包(該包為數(shù)據(jù))、代表包來執(zhí)行注冊(cè)的應(yīng)用虛擬化環(huán)境(例如MICROSOFTApp-V客戶機(jī))、以及ー組擴(kuò)展點(diǎn)來工作。擴(kuò)展點(diǎn)可按聲明性可擴(kuò)展標(biāo)記語言(XML)句法來表示,使得應(yīng)用虛擬化環(huán)境可容易地添加新擴(kuò)展點(diǎn),而不要求改變?cè)摥h(huán)境或包。圖I是示出在一個(gè)實(shí)施例中的擴(kuò)展點(diǎn)虛擬化系統(tǒng)的各組件的框圖。系統(tǒng)100包括擴(kuò)展點(diǎn)標(biāo)識(shí)組件110、擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)120、應(yīng)用虛擬化環(huán)境130、擴(kuò)展點(diǎn)注冊(cè)組件140、重解析點(diǎn)創(chuàng)建組件150、擴(kuò)展點(diǎn)訪問組件160、以及擴(kuò)展點(diǎn)重定向組件170。這些組件中的姆ー個(gè)都在此處進(jìn)一步詳細(xì)討論。擴(kuò)展點(diǎn)標(biāo)識(shí)組件110標(biāo)識(shí)擴(kuò)展點(diǎn),第三方編程代碼可通過擴(kuò)展點(diǎn)來擴(kuò)展操作系統(tǒng)或應(yīng)用。例如,該組件可檢測(cè)注冊(cè)表項(xiàng),通過注冊(cè)表項(xiàng)可注冊(cè)應(yīng)用插件以便由應(yīng)用來調(diào)用。在某些情況下,通過管理員用來監(jiān)視應(yīng)用運(yùn)行時(shí)該應(yīng)用的表現(xiàn)的進(jìn)程監(jiān)視或其他工具,可手動(dòng)地標(biāo)識(shí)擴(kuò)展點(diǎn)。例如,管理員可使用注冊(cè)表監(jiān)視位置來確定應(yīng)用或操作系統(tǒng)讀取的注冊(cè)■表位置。擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)120以聲明性格式來存儲(chǔ)所標(biāo)識(shí)的擴(kuò)展點(diǎn)。擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)120可包括文件(例如XML文件)、數(shù)據(jù)塊、基于網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)、基于云的存儲(chǔ)服務(wù)、或可從中檢索所標(biāo)識(shí)的擴(kuò)展點(diǎn)列表的其他存儲(chǔ)介質(zhì)。隨著新擴(kuò)展點(diǎn)被發(fā)現(xiàn),管理員或應(yīng)用環(huán)境作者可隨時(shí)間推移添加新擴(kuò)展點(diǎn),使得甚至先前所部署的虛擬化應(yīng)用都可通過免受應(yīng)用環(huán)境先前未檢測(cè)到的對(duì)操作系統(tǒng)的修改而受益于增加的操作系統(tǒng)隔離。另外,獨(dú)立軟件供應(yīng)商(ISV)可貢獻(xiàn)其自身的應(yīng)用擴(kuò)展點(diǎn)以供添加到數(shù)據(jù)存儲(chǔ)120,使得可以更容易地對(duì)那些修改其應(yīng)用的應(yīng)用進(jìn)行虛擬化和隔離。應(yīng)用虛擬化環(huán)境130提供了虛擬應(yīng)用和主操作系統(tǒng)之間的間接級(jí)別。包裝器可以非常痩,從而允許應(yīng)用接近本機(jī)地運(yùn)行,諸如在應(yīng)用被設(shè)計(jì)成在主操作系統(tǒng)上運(yùn)行的情況 下。另選地或另外地,包裝器可提供API,并且滿足為其它操作系統(tǒng)或操作系統(tǒng)版本設(shè)計(jì)的應(yīng)用所預(yù)期的其它約束條件。因此,應(yīng)用虛擬化環(huán)境130向虛擬應(yīng)用提供這樣的環(huán)境使用主操作系統(tǒng)的可用資源來為該環(huán)境設(shè)計(jì)應(yīng)用。擴(kuò)展點(diǎn)注冊(cè)組件140檢測(cè)引用所標(biāo)識(shí)的擴(kuò)展點(diǎn)的虛擬應(yīng)用包的安裝。組件140訪問擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)120來加載所標(biāo)識(shí)的擴(kuò)展點(diǎn)列表,并將該列表與用戶調(diào)用的包作比較。如果找到匹配,則組件140調(diào)用重解析點(diǎn)創(chuàng)建組件150來創(chuàng)建重解析點(diǎn),該重解析點(diǎn)重定向該應(yīng)用以便在應(yīng)用包內(nèi)尋找擴(kuò)展點(diǎn)數(shù)據(jù)。重解析點(diǎn)創(chuàng)建組件150為所標(biāo)識(shí)的擴(kuò)展點(diǎn)以及引用所標(biāo)識(shí)的擴(kuò)展點(diǎn)的檢測(cè)到的虛擬應(yīng)用包創(chuàng)建重解析點(diǎn)。例如,如果擴(kuò)展點(diǎn)注冊(cè)組件140檢測(cè)到注冊(cè)文件類型關(guān)聯(lián)的包,則重解析點(diǎn)創(chuàng)建組件150為文件類型關(guān)聯(lián)內(nèi)描述 該應(yīng)用的注冊(cè)表?xiàng)l目創(chuàng)建重解析點(diǎn),以便在文件類型關(guān)聯(lián)被調(diào)用時(shí)啟動(dòng)該應(yīng)用。所創(chuàng)建的重解析點(diǎn)將注冊(cè)表?xiàng)l目重定向至檢測(cè)到的虛擬應(yīng)用包內(nèi)的一位置。擴(kuò)展點(diǎn)訪問組件160檢測(cè)對(duì)所創(chuàng)建的重解析點(diǎn)的訪問,并且調(diào)用擴(kuò)展點(diǎn)重定向組件170,以便使得操作系統(tǒng)在與檢測(cè)到的虛擬應(yīng)用包相關(guān)聯(lián)的位置中尋找指定的數(shù)據(jù)。盡管作為單獨(dú)組件來描述,但擴(kuò)展點(diǎn)虛擬化系統(tǒng)100可依靠默認(rèn)操作系統(tǒng)行為來允許操作系統(tǒng)執(zhí)行重定向,而無需通知擴(kuò)展點(diǎn)虛擬化系統(tǒng)100。然而,操作系統(tǒng)確實(shí)允許文件系統(tǒng)過濾器的注冊(cè),該文件系統(tǒng)過濾器在重解析點(diǎn)被訪問時(shí)被調(diào)用,且在某些實(shí)施例中系統(tǒng)可使用這一功能來檢測(cè)訪問并執(zhí)行自定義處理。例如,這對(duì)于其中應(yīng)用請(qǐng)求正被重定向的調(diào)試和審計(jì)可能是有用的。擴(kuò)展點(diǎn)重定向組件170使得操作系統(tǒng)或應(yīng)用在與檢測(cè)到的虛擬應(yīng)用包相關(guān)聯(lián)的位置中尋找由重解析點(diǎn)引用的指定數(shù)據(jù)。如先前注意到的,擴(kuò)展點(diǎn)虛擬化系統(tǒng)100可依靠操作系統(tǒng)的默認(rèn)行為來根據(jù)重解析點(diǎn)執(zhí)行重定向,而無需涉及擴(kuò)展點(diǎn)虛擬化系統(tǒng)100。其上實(shí)現(xiàn)擴(kuò)展點(diǎn)虛擬化系統(tǒng)的計(jì)算設(shè)備可包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(例如,鍵盤和定點(diǎn)設(shè)備)、輸出設(shè)備(例如,顯示設(shè)備)和存儲(chǔ)設(shè)備(例如,盤驅(qū)動(dòng)器或其他非易失性存儲(chǔ)介質(zhì))。存儲(chǔ)器和存儲(chǔ)設(shè)備是可以用實(shí)現(xiàn)或啟用該系統(tǒng)的計(jì)算機(jī)可執(zhí)行指令(例如,軟件)來編碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲(chǔ)或經(jīng)由諸如通信鏈路上的信號(hào)等數(shù)據(jù)傳送介質(zhì)發(fā)送??梢允褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點(diǎn)對(duì)點(diǎn)撥號(hào)連接、蜂窩電話網(wǎng)絡(luò)等。該系統(tǒng)的實(shí)施例可以在各種操作環(huán)境中實(shí)現(xiàn),這些操作環(huán)境包括個(gè)人計(jì)算機(jī)、月艮務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、數(shù)碼照相機(jī)、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何上述系統(tǒng)或設(shè)備中任ー種的分布式計(jì)算環(huán)境等。計(jì)算機(jī)系統(tǒng)可以是蜂窩電話、個(gè)人數(shù)字助理、智能電話、個(gè)人計(jì)算機(jī)、可編程消費(fèi)電子設(shè)備、數(shù)碼相機(jī)等。該系統(tǒng)可以在由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可在各個(gè)實(shí)施例中按需進(jìn)行組合或分布。圖2是示出在一個(gè)實(shí)施例中的擴(kuò)展點(diǎn)虛擬化系統(tǒng)用于標(biāo)識(shí)擴(kuò)展點(diǎn)并為所標(biāo)識(shí)的擴(kuò)展點(diǎn)設(shè)置應(yīng)用重定向的處理的流程圖。在框210中開始,系統(tǒng)標(biāo)識(shí)擴(kuò)展點(diǎn)。例如,系統(tǒng)可從操作系統(tǒng)供應(yīng)商或ISV接收擴(kuò)展點(diǎn)列表以供添加到擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)。另選地或另外地,使用應(yīng)用虛擬化的虛擬化系統(tǒng)開發(fā)者或系統(tǒng)管理員可手動(dòng)地標(biāo)識(shí)擴(kuò)展點(diǎn),諸如通過進(jìn)程監(jiān)視工具。在框220中繼 續(xù),系統(tǒng)將所標(biāo)識(shí)的擴(kuò)展點(diǎn)添加到擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)。擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)可包括列出已知擴(kuò)展點(diǎn)及相關(guān)聯(lián)的資源路徑的聲明性格式,諸如XML文件。當(dāng)系統(tǒng)在應(yīng)用包中檢測(cè)到對(duì)擴(kuò)展點(diǎn)路徑的引用時(shí),系統(tǒng)執(zhí)行本文描述的步驟來隔離和重定向應(yīng)用對(duì)操作系統(tǒng)的修改。在判定框230中繼續(xù),如果存在更多要標(biāo)識(shí)的擴(kuò)展點(diǎn),則系統(tǒng)循環(huán)到框210,否則系統(tǒng)在框240處繼續(xù)。注意到,盡管出于解釋方便在同一流程圖中示出,但前述步驟可與以下步驟分開地發(fā)生,且可在新擴(kuò)展點(diǎn)被發(fā)現(xiàn)時(shí)在進(jìn)行的基礎(chǔ)上發(fā)生。同樣,以下步驟可在每一虛擬化應(yīng)用由系統(tǒng)執(zhí)行時(shí)對(duì)許多應(yīng)用重復(fù)地發(fā)生。在框240中繼續(xù),系統(tǒng)接收指定虛擬應(yīng)用包的應(yīng)用執(zhí)行請(qǐng)求。通常,這在用戶運(yùn)行來自操作系統(tǒng)外殼的應(yīng)用時(shí)發(fā)生,該應(yīng)用已由管理員設(shè)置成要被虛擬化。一般地,該應(yīng)用甚至沒有被安裝在用戶的計(jì)算機(jī)上,但用戶的計(jì)算機(jī)包含足夠的引用來定位和運(yùn)行集中存儲(chǔ)(例如,在網(wǎng)絡(luò)上)的虛擬應(yīng)用包。當(dāng)虛擬應(yīng)用包被調(diào)用時(shí),系統(tǒng)作為客戶機(jī)運(yùn)行本文描述的應(yīng)用虛擬化環(huán)境來引導(dǎo)應(yīng)用虛擬化進(jìn)程。在框250中繼續(xù),系統(tǒng)通過將虛擬應(yīng)用包所引用的一個(gè)或多個(gè)路徑與那些在擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)中的路徑作比較,來在所指定的虛擬應(yīng)用包內(nèi)標(biāo)識(shí)ー個(gè)或多個(gè)應(yīng)用擴(kuò)展點(diǎn)引用。例如,應(yīng)用可通過基于注冊(cè)的擴(kuò)展點(diǎn)來注冊(cè)文件類型關(guān)聯(lián)或文字處理應(yīng)用插件。如果注冊(cè)位置在擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)所存儲(chǔ)的列表上,則系統(tǒng)確定應(yīng)用包引用擴(kuò)展點(diǎn)。在判定框260中繼續(xù),如果系統(tǒng)檢測(cè)到擴(kuò)展點(diǎn)引用,則系統(tǒng)在框270處繼續(xù),否則系統(tǒng)完成。在判定框270中繼續(xù),系統(tǒng)創(chuàng)建重解析點(diǎn),以便將所標(biāo)識(shí)的應(yīng)用擴(kuò)展點(diǎn)引用重定向至所指定的虛擬應(yīng)用包內(nèi)的已隔離的位置。重解析點(diǎn)使得對(duì)擴(kuò)展點(diǎn)的訪問在應(yīng)用包內(nèi)尋找數(shù)據(jù),并阻止應(yīng)用包直接修改操作系統(tǒng)。在判定框280中繼續(xù),如果系統(tǒng)檢測(cè)到額外的應(yīng)用擴(kuò)展點(diǎn)引用,則系統(tǒng)循環(huán)到框270以便為每ー額外引用創(chuàng)建重解析點(diǎn),否則系統(tǒng)完成。在框280之后,這些步驟結(jié)束。圖3是在ー個(gè)實(shí)施例中、虛擬化系統(tǒng)對(duì)通過擴(kuò)展點(diǎn)訪問資源的請(qǐng)求作出響應(yīng)的處理的流程圖。在框310中開始,系統(tǒng)接收引用資源路徑的資源訪問請(qǐng)求。例如,應(yīng)用可以調(diào)用操作系統(tǒng)所提供的文件開式API,并且指定到應(yīng)用請(qǐng)求打開的文件的路徑。另選地或另外地,諸如操作系統(tǒng)外殼之類的其他應(yīng)用可嘗試訪問資源位置,應(yīng)用可通過該資源位置來擴(kuò)展操作系統(tǒng)或應(yīng)用的功能。在框320中繼續(xù),擴(kuò)展點(diǎn)虛擬化系統(tǒng)檢測(cè)該路徑所引用的資源是否包括相關(guān)聯(lián)的重解析點(diǎn)。例如,操作系統(tǒng)可尋找與其中存儲(chǔ)重解析點(diǎn)數(shù)據(jù)的資源相關(guān)聯(lián)的數(shù)據(jù)。在判定框330中繼續(xù),如果系統(tǒng)檢測(cè)到重解析點(diǎn),則系統(tǒng)在框340處繼續(xù),否則系統(tǒng)完成。在框340中繼續(xù),擴(kuò)展點(diǎn)虛擬化系統(tǒng)標(biāo)識(shí)與所引用的路徑相關(guān)聯(lián)的虛擬應(yīng)用包。例如,重解析點(diǎn)可包括標(biāo)識(shí)應(yīng)用包的應(yīng)用⑶ID (全局唯一標(biāo)識(shí)符)。系統(tǒng)可包括將應(yīng)用⑶ID映射到應(yīng)用包的常見方法,諸如使用應(yīng)用GUID來將應(yīng)用包存儲(chǔ)在已知位置。在框350中繼續(xù),擴(kuò)展點(diǎn)虛擬化系統(tǒng)將資源請(qǐng)求重定向至所標(biāo)識(shí)的虛擬應(yīng)用包。例如,操作系統(tǒng)可在檢測(cè)到重解析點(diǎn)之后將資源請(qǐng)求轉(zhuǎn)發(fā)至所注冊(cè)的文件系統(tǒng)驅(qū)動(dòng)程序,或以默認(rèn)方式來處理請(qǐng)求,諸如通過將請(qǐng)求重定向至指定的位置。作為示例,系統(tǒng)可以用與虛擬應(yīng)用包相關(guān)聯(lián)的文件路徑來替換接收到的請(qǐng)求中所包含的文件路徑。在框360中繼續(xù),擴(kuò)展點(diǎn)虛擬化系統(tǒng)通過提供對(duì)所請(qǐng)求的資源的訪問來對(duì)重定向的資源請(qǐng)求作出響應(yīng)。例如,操作系統(tǒng)可以打開所標(biāo)識(shí)的文件并且響應(yīng)于請(qǐng)求來提供文件數(shù)據(jù)。應(yīng)用就像數(shù)據(jù)還在應(yīng)用正常存儲(chǔ)它的位置處那樣進(jìn)行運(yùn)作,且虛擬化系統(tǒng)修改請(qǐng)求以指向數(shù)據(jù)被實(shí)際存儲(chǔ)的位置。由于重解析點(diǎn)所執(zhí)行的重定向,因此無論資源請(qǐng)求來自應(yīng)用、另ー進(jìn)程、還是其他資源,應(yīng)用虛擬化都正確地工作。在框360之后,這些步驟結(jié)束。 在一些實(shí)施例中,擴(kuò)展點(diǎn)虛擬化系統(tǒng)以包文件格式來存儲(chǔ)應(yīng)用數(shù)據(jù)。包文件可以是能存儲(chǔ)多個(gè)其他文件和數(shù)據(jù)類型的任何文件格式。例如,常見的現(xiàn)有包文件格式包括ZIP、CAB、RAR、SFT及其他類似的格式。除了允許以ー個(gè)存檔格式來存儲(chǔ)多個(gè)文件以外,包文件通常包括用于減小文件大小的壓縮和其他特征(例如加密)。虛擬化應(yīng)用的包文件可以包括由虛擬應(yīng)用所使用的注冊(cè)表單元、文件、數(shù)據(jù)庫和其他類型的數(shù)據(jù)。操作系統(tǒng)可以掛載像目錄、卷、盤驅(qū)動(dòng)器和其他資源這樣的包文件,使得虛擬應(yīng)用可以用文件和其他資源操縱的常見操作系統(tǒng)API來引用包文件內(nèi)存儲(chǔ)的項(xiàng)。在一些實(shí)施例中,擴(kuò)展點(diǎn)虛擬化系統(tǒng)可以包括在虛擬引用的可執(zhí)行文件中的虛擬應(yīng)用數(shù)據(jù),使得應(yīng)用可以作為具有自提取數(shù)據(jù)的單個(gè)EXE文件而被分布。盡管文本描述了若干示例,但是擴(kuò)展點(diǎn)虛擬化系統(tǒng)不限于存儲(chǔ)應(yīng)用數(shù)據(jù)的任何特定方式,可以使用除上述以外的存儲(chǔ)機(jī)制來實(shí)現(xiàn)相似的結(jié)果。從前面的描述中可以看出,可以理解,此處描述的擴(kuò)展點(diǎn)虛擬化系統(tǒng)的特定實(shí)施例只是出于說明目的,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種修改。因此,本發(fā)明只受所附權(quán)利要求限制。
權(quán)利要求
1.一種計(jì)算機(jī)執(zhí)行的用于標(biāo)識(shí)擴(kuò)展點(diǎn)并隔離對(duì)擴(kuò)展點(diǎn)的應(yīng)用使用的方法,所述方法包括 標(biāo)識(shí)擴(kuò)展點(diǎn),所述擴(kuò)展點(diǎn)提供通過第三方擴(kuò)展來擴(kuò)展操作系統(tǒng)或應(yīng)用的方式; 將所標(biāo)識(shí)的擴(kuò)展點(diǎn)添加到擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ); 接收指定虛擬應(yīng)用包的應(yīng)用執(zhí)行請(qǐng)求; 通過將所述虛擬應(yīng)用包所引用的一個(gè)或多個(gè)路徑與那些在所述擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)中的路徑作比較,來在所指定的虛擬應(yīng)用包內(nèi)標(biāo)識(shí)一個(gè)或多個(gè)應(yīng)用擴(kuò)展點(diǎn)引用;以及 創(chuàng)建重解析點(diǎn),以便將所標(biāo)識(shí)的應(yīng)用擴(kuò)展點(diǎn)引用重定向至所指定的虛擬應(yīng)用包內(nèi)的已隔離的位置, 其中,前面的步驟由至少一個(gè)處理器來執(zhí)行。
2.如權(quán)利要求I所述的方法,其特征在于,標(biāo)識(shí)擴(kuò)展點(diǎn)包括從操作系統(tǒng)供應(yīng)商或獨(dú)立軟件供應(yīng)商(ISV)接收擴(kuò)展點(diǎn)列表。
3.如權(quán)利要求I所述的方法,其特征在于,標(biāo)識(shí)擴(kuò)展點(diǎn)包括通過檢測(cè)應(yīng)用對(duì)操作系統(tǒng)資源的使用的進(jìn)程監(jiān)視工具來自動(dòng)地標(biāo)識(shí)所述擴(kuò)展點(diǎn)。
4.如權(quán)利要求I所述的方法,其特征在于,所述擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)包括列出已知擴(kuò)展點(diǎn)和相關(guān)聯(lián)的資源路徑的聲明性格式。
5.如權(quán)利要求I所述的方法,其特征在于,接收應(yīng)用執(zhí)行請(qǐng)求包括接收對(duì)運(yùn)行虛擬化應(yīng)用的用戶請(qǐng)求。
6.如權(quán)利要求I所述的方法,其特征在于,接收應(yīng)用執(zhí)行請(qǐng)求包括接收對(duì)執(zhí)行應(yīng)用的請(qǐng)求,所述應(yīng)用未被本機(jī)地安裝在從其接收所述請(qǐng)求的計(jì)算機(jī)系統(tǒng)中。
7.如權(quán)利要求I所述的方法,其特征在于,還包括在接收到所述應(yīng)用執(zhí)行請(qǐng)求之后,調(diào)用在其中運(yùn)行所請(qǐng)求的應(yīng)用的應(yīng)用虛擬化環(huán)境。
8.如權(quán)利要求I所述的方法,其特征在于,標(biāo)識(shí)擴(kuò)展點(diǎn)引用包括標(biāo)識(shí)對(duì)注冊(cè)文件類型關(guān)聯(lián)的請(qǐng)求。
9.如權(quán)利要求I所述的方法,其特征在于,創(chuàng)建重解析點(diǎn)包括指定應(yīng)用標(biāo)識(shí)符和替換路徑用于訪問所標(biāo)識(shí)的應(yīng)用擴(kuò)展點(diǎn)引用。
10.如權(quán)利要求I所述的方法,其特征在于,創(chuàng)建重解析點(diǎn)還包括阻止所指定的虛擬應(yīng)用直接修改執(zhí)行所述虛擬應(yīng)用的主操作系統(tǒng)。
11.一種一般地處理操作系統(tǒng)的虛擬化以及應(yīng)用擴(kuò)展點(diǎn)的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括 被配置成執(zhí)行軟件指令的處理器和存儲(chǔ)器; 被配置成標(biāo)識(shí)擴(kuò)展點(diǎn)的擴(kuò)展點(diǎn)標(biāo)識(shí)組件,通過所述擴(kuò)展點(diǎn)操作系統(tǒng)或應(yīng)用能被第三方編程代碼擴(kuò)展; 擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ),被配置成以聲明性格式存儲(chǔ)所標(biāo)識(shí)的擴(kuò)展點(diǎn); 應(yīng)用虛擬化環(huán)境,被配置成提供虛擬應(yīng)用與主操作系統(tǒng)之間的間接級(jí)別; 擴(kuò)展點(diǎn)注冊(cè)組件,被配置成檢測(cè)引用所標(biāo)識(shí)的擴(kuò)展點(diǎn)的虛擬應(yīng)用包的安裝; 重解析點(diǎn)創(chuàng)建組件,被配置成為所標(biāo)識(shí)的擴(kuò)展點(diǎn)創(chuàng)建重解析點(diǎn),所標(biāo)識(shí)的擴(kuò)展點(diǎn)指向引用所標(biāo)識(shí)的擴(kuò)展點(diǎn)的檢測(cè)到的虛擬應(yīng)用包; 擴(kuò)展點(diǎn)訪問組件,被配置成檢測(cè)對(duì)所創(chuàng)建的重解析點(diǎn)的訪問并調(diào)用擴(kuò)展點(diǎn)重定向組件;以及 擴(kuò)展點(diǎn)重定向組件,被配置成使得所述主操作系統(tǒng)或應(yīng)用在與檢測(cè)到的虛擬應(yīng)用包相關(guān)聯(lián)的位置中尋找由重解析點(diǎn)弓I用的指定數(shù)據(jù)。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述擴(kuò)展點(diǎn)標(biāo)識(shí)組件還被配置成基于進(jìn)程監(jiān)視來自動(dòng)地標(biāo)識(shí)擴(kuò)展點(diǎn)以便在執(zhí)行期間檢測(cè)由應(yīng)用所訪問的路徑。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)包括XML文件,所述XML文件包括所標(biāo)識(shí)的擴(kuò)展點(diǎn)的列表。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述擴(kuò)展點(diǎn)數(shù)據(jù)存儲(chǔ)還被配置成隨時(shí)間推移當(dāng)新擴(kuò)展點(diǎn)被發(fā)現(xiàn)時(shí)接收所述新擴(kuò)展點(diǎn),使得先前部署的虛擬化應(yīng)用能夠通過免受應(yīng)用環(huán)境先前未檢測(cè)到的對(duì)所述操作系統(tǒng)的修改而受益于增加的操作系統(tǒng)隔離。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述應(yīng)用虛擬環(huán)境還被配置成向所述虛擬應(yīng)用提供使用所述主操作系統(tǒng)的可用資源來為其設(shè)計(jì)所述應(yīng)用的環(huán)境。
全文摘要
擴(kuò)展點(diǎn)虛擬化系統(tǒng)使用操作系統(tǒng)提供的重解析點(diǎn)來提供最小擴(kuò)展點(diǎn)注冊(cè)。重解析點(diǎn)在消除為每一擴(kuò)展點(diǎn)編寫自定義擴(kuò)展點(diǎn)代理的縮放問題的同時(shí)保留應(yīng)用隔離。作為替代,該系統(tǒng)可使用一般地處理應(yīng)用虛擬化重解析點(diǎn)的單個(gè)文件系統(tǒng)過濾器,并存儲(chǔ)為需要重定向的擴(kuò)展點(diǎn)存儲(chǔ)重解析點(diǎn)數(shù)據(jù)??赏ㄟ^將操作系統(tǒng)從應(yīng)用資源的典型位置重定向至該應(yīng)用資源的虛擬化安全位置來處理許多擴(kuò)展點(diǎn)。由此,系統(tǒng)通過允許應(yīng)用虛擬化系統(tǒng)僅注冊(cè)應(yīng)當(dāng)用重解析點(diǎn)來處理的新位置并隨后一般地處理經(jīng)注冊(cè)的位置,來簡化處理新擴(kuò)展點(diǎn)的進(jìn)程。
文檔編號(hào)G06F9/44GK102754073SQ201180008320
公開日2012年10月24日 申請(qǐng)日期2011年2月4日 優(yōu)先權(quán)日2010年2月5日
發(fā)明者J·M·希恩 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1