欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬化集成調(diào)用以提供對(duì)虛擬命名空間中的資源的訪問(wèn)權(quán)的制作方法

文檔序號(hào):6534045閱讀:295來(lái)源:國(guó)知局
虛擬化集成調(diào)用以提供對(duì)虛擬命名空間中的資源的訪問(wèn)權(quán)的制作方法
【專利摘要】在此揭示的是用于促進(jìn)本機(jī)應(yīng)用和虛擬化應(yīng)用的集成的系統(tǒng)、方法和軟件。從與本機(jī)命名空間相關(guān)聯(lián)的本機(jī)應(yīng)用內(nèi)發(fā)起的調(diào)用被監(jiān)視以尋找集成調(diào)用。集成調(diào)用涉及通過(guò)虛擬命名空間可訪問(wèn)的資源。一旦檢測(cè)到集成調(diào)用,通過(guò)虛擬命名空間的方式向該集成調(diào)用提供對(duì)對(duì)應(yīng)資源的訪問(wèn)權(quán)。
【專利說(shuō)明】虛擬化集成調(diào)用以提供對(duì)虛擬命名空間中的資源的訪問(wèn)權(quán)

【背景技術(shù)】
[0001]應(yīng)用虛擬化作為提供軟件應(yīng)用的有用的技術(shù)已經(jīng)獲得了越來(lái)越多的認(rèn)可。應(yīng)用虛擬化允許應(yīng)用被安裝到虛擬化環(huán)境內(nèi)并從虛擬化環(huán)境內(nèi)運(yùn)行,因此將應(yīng)用與主控操作系統(tǒng)和其它本機(jī)安裝的應(yīng)用隔離開(kāi)。然而,本機(jī)應(yīng)用和虛擬化應(yīng)用之間的交互提供了很多挑戰(zhàn),其中包括本機(jī)應(yīng)用內(nèi)的組件訪問(wèn)虛擬環(huán)境內(nèi)資源的能力。
[0002]當(dāng)軟件組件被加載在本機(jī)應(yīng)用內(nèi)時(shí),該組件具有對(duì)與本機(jī)應(yīng)用相關(guān)聯(lián)的本機(jī)命名空間的可見(jiàn)性。然而,該組件可能需要與通過(guò)本機(jī)命名空間不可用但通過(guò)與虛擬環(huán)境相關(guān)聯(lián)的虛擬命名空間來(lái)訪問(wèn)的資源進(jìn)行交互。在一個(gè)示例中,web瀏覽器內(nèi)的活動(dòng)控件可對(duì)虛擬化應(yīng)用作出調(diào)用,調(diào)用因活動(dòng)控件不具備對(duì)虛擬命名空間(通過(guò)其虛擬化應(yīng)用能夠被訪問(wèn))的訪問(wèn)權(quán)而失敗。
[0003]改善本機(jī)應(yīng)用與虛擬環(huán)境的集成的一種途徑已經(jīng)涉及代替需要虛擬命名空間的訪問(wèn)權(quán)的各組件而注冊(cè)的各代理。調(diào)用特定組件,諸如控件,將啟動(dòng)能夠代替它訪問(wèn)虛擬命名空間的代理。代理將隨后加載虛擬環(huán)境內(nèi)的原始組件。
[0004]概覽
[0005]在此提供了用于促進(jìn)本機(jī)應(yīng)用內(nèi)的組件與虛擬化環(huán)境的集成的系統(tǒng)、方法和軟件。從與本機(jī)命名空間相關(guān)聯(lián)的本機(jī)應(yīng)用內(nèi)發(fā)起的調(diào)用被監(jiān)視以尋找集成調(diào)用。集成調(diào)用涉及通過(guò)虛擬命名空間能夠訪問(wèn)的資源。一旦檢測(cè)到集成調(diào)用,就以虛擬命名空間的方式向集成調(diào)用提供對(duì)對(duì)應(yīng)資源的訪問(wèn)權(quán)。
[0006]提供本概覽以便以簡(jiǎn)化形式介紹將在以下的技術(shù)公開(kāi)中進(jìn)一步描述的概念選擇。本概覽并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。

【專利附圖】

【附圖說(shuō)明】
[0007]參考以下附圖可以更好地理解本發(fā)明的許多方面。雖然結(jié)合這些附圖描述了幾種實(shí)現(xiàn),但所述公開(kāi)并不局限于在此所述的這些實(shí)現(xiàn)。相反,意圖是要覆蓋所有的替換方式、修改和等價(jià)物。
[0008]圖1示出了一個(gè)實(shí)現(xiàn)中的集成環(huán)境,其中采用虛擬化進(jìn)程。
[0009]圖2示出了一個(gè)實(shí)現(xiàn)中的一個(gè)集成環(huán)境內(nèi)采用的虛擬化進(jìn)程。
[0010]圖3示出了用于在集成環(huán)境中實(shí)現(xiàn)虛擬化進(jìn)程的計(jì)算系統(tǒng)。
[0011]圖4示出了一個(gè)實(shí)現(xiàn)中的一個(gè)計(jì)算環(huán)境,其中虛擬化進(jìn)程可被采用。
[0012]圖5示出了一個(gè)實(shí)現(xiàn)中的流程圖,該流程圖描述采用虛擬化進(jìn)程的計(jì)算環(huán)境內(nèi)的各元素之間的交互。
[0013]圖6示出了一個(gè)實(shí)現(xiàn)中的流程圖,該流程圖描述采用虛擬化進(jìn)程的計(jì)算環(huán)境內(nèi)的各元素之間的交互。
[0014]圖7示出了一個(gè)實(shí)現(xiàn)中的流程圖,該流程圖描述采用虛擬化進(jìn)程的計(jì)算環(huán)境內(nèi)的各元素之間的交互。
[0015]技術(shù)公開(kāi)
[0016]在此描述的各實(shí)施例提供了本機(jī)應(yīng)用和虛擬化應(yīng)用之間的改善了的集成。具體而言,虛擬化涉及檢查由在本機(jī)應(yīng)用內(nèi)運(yùn)行的各組件發(fā)起的調(diào)用以標(biāo)識(shí)集成調(diào)用。集成調(diào)用是由加載在本機(jī)命名空間中但是需要對(duì)通過(guò)虛擬命名空間能夠獲得的資源的訪問(wèn)權(quán)的各組件發(fā)起的那些調(diào)用。一旦標(biāo)識(shí)了集成調(diào)用,則給予集成調(diào)用對(duì)虛擬命名空間的訪問(wèn)權(quán),使得資源可為本機(jī)應(yīng)用利用。
[0017]在涉及媒體管理應(yīng)用的示例中,媒體管理應(yīng)用包括用于從通信應(yīng)用(諸如電子郵件)中將聯(lián)系人導(dǎo)入媒體管理應(yīng)用的控件組件。在此示例中,媒體管理應(yīng)用被安裝到本機(jī)環(huán)境和命名空間并在本機(jī)環(huán)境和命名空間內(nèi)運(yùn)行,而通信應(yīng)用被安裝在虛擬化環(huán)境內(nèi)。
[0018]為了讓控件組件獲得對(duì)聯(lián)系人的訪問(wèn)權(quán),該控件組件需要對(duì)虛擬化環(huán)境中的虛擬命名空間的訪問(wèn)權(quán)。然而,該控件組件通常不具備對(duì)虛擬命名空間的可見(jiàn)性。開(kāi)始時(shí),隨著控件組件對(duì)本機(jī)環(huán)境和虛擬環(huán)境兩者內(nèi)的各資源作出調(diào)用,虛擬化進(jìn)程監(jiān)視各調(diào)用以尋找需要對(duì)虛擬環(huán)境內(nèi)的各資源(諸如包含聯(lián)系人的數(shù)據(jù)結(jié)構(gòu))的訪問(wèn)權(quán)的集成調(diào)用。
[0019]一旦檢測(cè)到集成調(diào)用,虛擬化進(jìn)程就提供對(duì)虛擬命名空間的訪問(wèn)權(quán)使得集成調(diào)用可被解決。例如,聯(lián)系人可從虛擬環(huán)境檢索并加載到本機(jī)應(yīng)用中。則虛擬化進(jìn)程可任選地在控件組件將控制交回本機(jī)應(yīng)用時(shí)被終止。此外,在控件組件下一次被調(diào)用時(shí),虛擬化進(jìn)程可被啟用。
[0020]雖然前述示例涉及媒體管理應(yīng)用和控件組件,應(yīng)當(dāng)理解虛擬化進(jìn)程也可應(yīng)用到其它類型的應(yīng)用以及其它類型的組件。具有可虛擬化組件集成其中的其它本機(jī)應(yīng)用的各示例包括:web瀏覽器應(yīng)用、生產(chǎn)力應(yīng)用、社交聯(lián)網(wǎng)應(yīng)用,和游戲應(yīng)用,以及適合在本機(jī)環(huán)境內(nèi)執(zhí)行的任何其它類型的應(yīng)用??商摂M化組件的各示例包括,但不限于,控件組件、接口組件,和驅(qū)動(dòng)器組件,以及許多其它類型的組件。
[0021]現(xiàn)在轉(zhuǎn)到附圖,圖1 一 3示出虛擬化進(jìn)程的一個(gè)實(shí)現(xiàn)。具體而言,圖1示出了虛擬化進(jìn)程可在其內(nèi)實(shí)現(xiàn)的一個(gè)集成環(huán)境。圖2示出了虛擬化進(jìn)程中涉及的各步驟,而圖3示出了其中集成環(huán)境和虛擬化進(jìn)程可被實(shí)現(xiàn)的計(jì)算系統(tǒng)。
[0022]圖4 一 7示出了虛擬化進(jìn)程的另一個(gè)實(shí)現(xiàn)。具體而言,圖4示出了另一個(gè)其內(nèi)可實(shí)現(xiàn)虛擬化進(jìn)程的集成環(huán)境,而圖5 - 7示出了在實(shí)現(xiàn)虛擬化進(jìn)程時(shí)該集成環(huán)境的各元素之間的交互。
[0023]現(xiàn)在詳細(xì)參考圖1,集成環(huán)境100包括本機(jī)命名空間101、虛擬命名空間111和虛擬化組件121。本機(jī)應(yīng)用103和資源107通過(guò)本機(jī)命名空間101能夠被訪問(wèn)。本機(jī)應(yīng)用103包括調(diào)用組件105。包括資源115和資源117的虛擬應(yīng)用113通過(guò)虛擬命名空間111能夠被訪問(wèn)。示為對(duì)于本機(jī)命名空間101而言外部的虛擬化組件121,可以經(jīng)由本機(jī)命名空間101被訪問(wèn)或不可經(jīng)由本機(jī)命名空間101被訪問(wèn)。虛擬化組件121允許調(diào)用組件105訪問(wèn)虛擬命名空間111,如以下結(jié)合圖2將更詳細(xì)討論。
[0024]本機(jī)應(yīng)用103是能夠在本機(jī)命名空間101內(nèi)運(yùn)行并加載可被虛擬化的組件(諸如調(diào)用組件105)的任何應(yīng)用程序。本機(jī)應(yīng)用103的各示例包括媒體管理應(yīng)用、web瀏覽應(yīng)用、生產(chǎn)力應(yīng)用(諸如字處理器、電子表格、和演示應(yīng)用)、通信應(yīng)用(諸如電子郵件、電信、視頻聊天,和即時(shí)消息收發(fā)應(yīng)用),以及游戲應(yīng)用。
[0025]調(diào)用組件105是能夠在本機(jī)應(yīng)用103內(nèi)被集成并被虛擬化以獲得對(duì)虛擬命名空間Ill的訪問(wèn)權(quán)的任何組件。調(diào)用組件105的各示例包括控件組件、接口組件、和驅(qū)動(dòng)器組件、以及許多其它類型的組件。
[0026]資源107是通過(guò)本機(jī)命名空間101能夠被訪問(wèn)的任何資源。資源107的各示例包括其它應(yīng)用程序、操作系統(tǒng)組件、和數(shù)據(jù)文件、以及經(jīng)由本機(jī)命名空間101能夠訪問(wèn)的任何其它類型的資源。
[0027]虛擬應(yīng)用113是通過(guò)虛擬命名空間111訪問(wèn)的任何應(yīng)用程序。應(yīng)當(dāng)理解,虛擬應(yīng)用113可以是任何應(yīng)用程序但是被稱為虛擬是因?yàn)樗赏ㄟ^(guò)虛擬命名空間111來(lái)被訪問(wèn)。虛擬應(yīng)用113的各示例包括媒體管理應(yīng)用、web瀏覽應(yīng)用、生產(chǎn)力應(yīng)用(諸如字處理器、電子表格、和演示應(yīng)用)、通信應(yīng)用(諸如電子郵件、電信、視頻聊天,和即時(shí)消息收發(fā)應(yīng)用),流水線化應(yīng)用、和游戲應(yīng)用、以及它們的任何組合或變型。資源115包括能夠與虛擬應(yīng)用113集成并通過(guò)虛擬命名空間111來(lái)被訪問(wèn)的任何資源。資源115的各實(shí)施例包括虛擬應(yīng)用113的各子組件、與虛擬應(yīng)用113相關(guān)聯(lián)的數(shù)據(jù)文件,和與虛擬應(yīng)用113相關(guān)聯(lián)的通信或?qū)ο蠼M件。
[0028]資源117是通過(guò)虛擬命名空間111能夠被訪問(wèn)的任何資源。資源117的各示例包括其它應(yīng)用程序、操作系統(tǒng)組件(諸如文件系統(tǒng)和注冊(cè)表組件)、和數(shù)據(jù)文件、以及經(jīng)由虛擬命名空間111能夠訪問(wèn)的任何其它類型的資源。
[0029]在操作中,本機(jī)應(yīng)用103可調(diào)用調(diào)用組件105。調(diào)用組件105被如此稱呼是因?yàn)樗軌蜃鞒錾婕捌渌浖M件的調(diào)用以向本機(jī)應(yīng)用103提供服務(wù)。調(diào)用組件105作出的該調(diào)用可能或可能不需要對(duì)虛擬命名空間111的訪問(wèn)權(quán)。例如,某些調(diào)用可能需要通過(guò)本機(jī)命名空間101對(duì)資源107或?qū)ζ渌Y源(未示出)的訪問(wèn)權(quán),而其它調(diào)用可能需要通過(guò)虛擬命名空間111對(duì)諸如那些虛擬應(yīng)用113、資源115,或資源117的訪問(wèn)權(quán)。這些調(diào)用可針對(duì)那些其它組件直接作出,盡管應(yīng)當(dāng)理解,中間層或一系列調(diào)用可被作出以影響組件間通信。
[0030]由調(diào)用組件105作出的對(duì)通過(guò)本機(jī)命名空間101能夠訪問(wèn)的其他各組件的調(diào)用可被容易地執(zhí)行,因?yàn)楸患稍诒緳C(jī)應(yīng)用103中并被本機(jī)應(yīng)用103加載的調(diào)用組件105具有對(duì)本機(jī)命名空間101的可見(jiàn)性。然而,在沒(méi)有對(duì)虛擬命名空間111的可見(jiàn)性的情況下,對(duì)虛擬應(yīng)用113、資源115,或資源117作出的調(diào)用將失敗。
[0031]先前,虛擬化組件121執(zhí)行虛擬化進(jìn)程200以虛擬化由調(diào)用組件105作出的需要對(duì)虛擬命名空間111的訪問(wèn)權(quán)的那些調(diào)用,在本文中稱為集成調(diào)用?,F(xiàn)在參見(jiàn)圖2,虛擬化組件121監(jiān)視由本機(jī)應(yīng)用103作出的調(diào)用并檢測(cè)由調(diào)用組件105發(fā)起的那些調(diào)用141(步驟201)。應(yīng)當(dāng)注意,本機(jī)應(yīng)用103可包括作出調(diào)用的其它組件(未示出)。然而,虛擬化組件121能夠僅監(jiān)視由調(diào)用組件105作出的調(diào)用。換言之,不是集成在本機(jī)應(yīng)用103內(nèi)的全部組件需要為了可被虛擬化的調(diào)用而被監(jiān)視。虛擬化組件121可被排他地與調(diào)用組件105鏈接,盡管應(yīng)當(dāng)理解虛擬化組件121可被鏈接到多個(gè)其它調(diào)用組件。
[0032]接著,虛擬化組件121檢查由調(diào)用組件105發(fā)起的調(diào)用141,尋找可能需要對(duì)虛擬命名空間111的訪問(wèn)權(quán)的任何集成調(diào)用(步驟203)。在一個(gè)示例中,集成調(diào)用由設(shè)置在與調(diào)用相關(guān)聯(lián)的線程上的虛擬化提示來(lái)標(biāo)識(shí),虛擬化提示的出現(xiàn)標(biāo)識(shí)調(diào)用需要虛擬化。應(yīng)當(dāng)理解該提示是可繼承的方面,它可被與調(diào)用相關(guān)聯(lián)的線程創(chuàng)建的其它線程繼承。在另一個(gè)示例中,由調(diào)用本身引用的信息可被處理以確定該調(diào)用是否應(yīng)該被虛擬化。例如,由調(diào)用組件105作出的調(diào)用所引用的特定資源的身份可暗示該資源應(yīng)該被虛擬化。應(yīng)當(dāng)理解,用于標(biāo)識(shí)集成調(diào)用的其他技術(shù)可被采用并且不應(yīng)當(dāng)被限制在此處揭示的那些。
[0033]一旦檢測(cè)到集成調(diào)用142,虛擬化組件121提供通過(guò)虛擬命名空間111對(duì)資源的訪問(wèn)權(quán)以解決集成調(diào)用(步驟205)。提供對(duì)虛擬命名空間111的訪問(wèn)權(quán)可通過(guò)執(zhí)行重命名操作以使得由集成調(diào)用142標(biāo)識(shí)的任何資源可在虛擬命名空間111內(nèi)被定位來(lái)完成。另一個(gè)技術(shù)涉及使集成調(diào)用繞道。用于向集成調(diào)用提供對(duì)虛擬命名空間111的訪問(wèn)權(quán)的其他技術(shù)是可能的,并且不應(yīng)該被限制在此處揭示的那些。不需要對(duì)虛擬命名空間111的訪問(wèn)權(quán)的任何其它調(diào)用143可被轉(zhuǎn)發(fā)到本機(jī)命名空間101用于解決。
[0034]現(xiàn)在參照?qǐng)D3,計(jì)算系統(tǒng)300和相關(guān)聯(lián)的討論旨在提供對(duì)其中可實(shí)現(xiàn)虛擬化進(jìn)程200和集成環(huán)境100的合適計(jì)算環(huán)境的簡(jiǎn)要概括描述。計(jì)算系統(tǒng)300的示例包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、客戶端計(jì)算機(jī)、移動(dòng)計(jì)算機(jī)、媒體設(shè)備、互聯(lián)網(wǎng)用具、桌面計(jì)算機(jī)、膝上計(jì)算機(jī)、平板計(jì)算機(jī)、筆記本電腦、移動(dòng)電話、智能電話、和個(gè)人數(shù)字助理,及其任何組合或變型。
[0035]計(jì)算系統(tǒng)300包括處理系統(tǒng)301、存儲(chǔ)系統(tǒng)303、軟件305、通信接口 307、和用戶接口 309。處理系統(tǒng)301操作地與存儲(chǔ)系統(tǒng)303、通信接口 307和用戶接口 309耦合。處理系統(tǒng)302從存儲(chǔ)系統(tǒng)303加載并執(zhí)行包括虛擬化進(jìn)程200的軟件305。當(dāng)概括而言由計(jì)算系統(tǒng)300執(zhí)行時(shí),且具體而言由處理系統(tǒng)301執(zhí)行時(shí),軟件305指導(dǎo)計(jì)算系統(tǒng)300針對(duì)虛擬化進(jìn)程200如本文所述地那樣操作。
[0036]仍然參考圖3,處理系統(tǒng)301可以包括從存儲(chǔ)系統(tǒng)303中檢索并執(zhí)行軟件305的微處理器以及其他電路。處理系統(tǒng)301可以在單個(gè)處理設(shè)備中實(shí)現(xiàn),但也可以跨在執(zhí)行程序指令中協(xié)作的多個(gè)處理設(shè)備或子系統(tǒng)分布。處理系統(tǒng)301的示例包括通用中央處理單元、專用處理器、和邏輯設(shè)備、以及任何其他類型的處理設(shè)備,處理設(shè)備的組合或其變型。
[0037]存儲(chǔ)系統(tǒng)303可以包括可由處理系統(tǒng)301讀取并能存儲(chǔ)軟件305的任意存儲(chǔ)介質(zhì)。存儲(chǔ)系統(tǒng)303可包括易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì),它們以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的任意方法或技術(shù)來(lái)實(shí)現(xiàn)。存儲(chǔ)系統(tǒng)303可以被實(shí)現(xiàn)為單個(gè)存儲(chǔ)設(shè)備,但也可以跨多個(gè)存儲(chǔ)設(shè)備或子系統(tǒng)來(lái)實(shí)現(xiàn)。存儲(chǔ)系統(tǒng)303可以包括附加元件,諸如能夠與處理系統(tǒng)301通信的控制器。
[0038]存儲(chǔ)介質(zhì)的示例包括隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、磁盤(pán)、光盤(pán)、閃存、虛擬存儲(chǔ)器,和非虛擬存儲(chǔ)器、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可被用于存儲(chǔ)想要的信息并可被指令執(zhí)行系統(tǒng)訪問(wèn)的任何其他介質(zhì),以及它們的任何組合或變型,或任何其它類型的存儲(chǔ)介質(zhì)。在一些實(shí)現(xiàn)中,存儲(chǔ)介質(zhì)可以是非瞬態(tài)存儲(chǔ)介質(zhì)。在一些實(shí)現(xiàn)中,所述存儲(chǔ)介質(zhì)的至少一部分可以是瞬態(tài)的。應(yīng)該理解,存儲(chǔ)介質(zhì)決不是被傳播的信號(hào)。
[0039]軟件305包括來(lái)自圖1的虛擬化組件121,其實(shí)現(xiàn)參考圖2描述的虛擬化進(jìn)程200。虛擬化組件121可用計(jì)算機(jī)程序指令(諸如檢測(cè)指令、標(biāo)識(shí)指令和虛擬化指令)來(lái)實(shí)現(xiàn)。在被計(jì)算系統(tǒng)300執(zhí)行時(shí),檢測(cè)指令可指導(dǎo)計(jì)算系統(tǒng)300以檢測(cè)從與本機(jī)命名空間101相關(guān)聯(lián)的本機(jī)應(yīng)用103內(nèi)發(fā)起的調(diào)用。在被計(jì)算系統(tǒng)300執(zhí)行時(shí),標(biāo)識(shí)指令可接著指導(dǎo)計(jì)算系統(tǒng)300以處理各調(diào)用的每一個(gè)以標(biāo)識(shí)與通過(guò)虛擬命名空間111可訪問(wèn)的資源相關(guān)聯(lián)的至少一個(gè)集成調(diào)用。在被計(jì)算系統(tǒng)300執(zhí)行時(shí),虛擬化指令可指導(dǎo)計(jì)算系統(tǒng)300以向集成調(diào)用提供通過(guò)虛擬命名空間111對(duì)資源的訪問(wèn)權(quán)。
[0040]除了虛擬化組件121之外,軟件305可包括附加的進(jìn)程、程序、或組件,諸如本機(jī)應(yīng)用103、調(diào)用組件105、資源107、虛擬應(yīng)用113、資源115、和資源117,以及操作系統(tǒng)軟件或其它應(yīng)用軟件。軟件305還可包括固件或能夠被處理系統(tǒng)301執(zhí)行的某些其它形式的機(jī)器可讀處理指令。
[0041]一般而言,軟件305在被加載到處理系統(tǒng)301中并被執(zhí)行時(shí),可將處理系統(tǒng)301和計(jì)算系統(tǒng)300整體從通用計(jì)算系統(tǒng)變換成被定制以促進(jìn)本機(jī)應(yīng)用與虛擬化應(yīng)用及在此針對(duì)每個(gè)實(shí)現(xiàn)所描述的經(jīng)由虛擬命名空間可訪問(wèn)的其它資源的集成的專用計(jì)算系統(tǒng)。
[0042]事實(shí)上,存儲(chǔ)系統(tǒng)303上的編碼軟件305可變換存儲(chǔ)系統(tǒng)303的物理結(jié)構(gòu)。在本說(shuō)明書(shū)的不同實(shí)現(xiàn)中,物理結(jié)構(gòu)的具體變換可取決于各種因素。這樣的各因素的示例可以包括,但不僅限于:用于實(shí)現(xiàn)存儲(chǔ)系統(tǒng)303的存儲(chǔ)介質(zhì)以及計(jì)算機(jī)存儲(chǔ)介質(zhì)是作為主存儲(chǔ)還是輔存儲(chǔ)的技術(shù)。
[0043]例如,如果計(jì)算機(jī)存儲(chǔ)介質(zhì)被實(shí)現(xiàn)為基于半導(dǎo)體的存儲(chǔ)器,則當(dāng)在其中編碼程序時(shí),軟件305可以變換半導(dǎo)體存儲(chǔ)器的物理狀態(tài)。例如,軟件305可以變換構(gòu)成半導(dǎo)體存儲(chǔ)器的晶體管、電容器或其它分立電路元件的狀態(tài)。
[0044]一種類似的變換可以相對(duì)于磁性或光學(xué)介質(zhì)發(fā)生。在沒(méi)有偏離本說(shuō)明書(shū)的范圍的情況下,物理介質(zhì)的其他變換也是可能的,前面提供的示例只是為了便于這一討論。
[0045]應(yīng)當(dāng)理解,計(jì)算系統(tǒng)300通常旨在表示虛擬化進(jìn)程200可在其中部署并執(zhí)行的計(jì)算環(huán)境。然而,計(jì)算系統(tǒng)300還可表示至少虛擬化組件121可在其中被分階段,并且虛擬化組件121可從中傳輸、下載,或以其他方式提供給類似于計(jì)算系統(tǒng)300的另一個(gè)計(jì)算系統(tǒng),用于執(zhí)行計(jì)算環(huán)境。
[0046]再次參見(jiàn)圖1和圖2,通過(guò)采用軟件305且具體是虛擬化組件121的計(jì)算系統(tǒng)300的操作,可針對(duì)集成環(huán)境100執(zhí)行變換。作為示例,計(jì)算系統(tǒng)300可被看作通過(guò)處理由虛擬化組件121的操作選擇性觸發(fā)的集成調(diào)用142從一個(gè)狀態(tài)變換到另一個(gè)狀態(tài)。換言之,在第一狀態(tài),調(diào)用組件105不具有對(duì)虛擬命名空間111的訪問(wèn)權(quán)。一旦檢測(cè)到集成調(diào)用142,虛擬化組件121向調(diào)用組件105或至少向集成調(diào)用142提供通過(guò)虛擬命名空間111的對(duì)資源的訪問(wèn)權(quán),從而將計(jì)算系統(tǒng)300改變?yōu)椴煌牡诙顟B(tài)。
[0047]再次參見(jiàn)圖3,通信接口 307可包括允許在計(jì)算系統(tǒng)300和其它計(jì)算系統(tǒng)(未示出)之間通過(guò)通信網(wǎng)絡(luò)的通信的通信連接和設(shè)備。加在一起允許系統(tǒng)間通信的連接和設(shè)備的示例包括網(wǎng)絡(luò)接口卡、天線、功率放大器、RF電路系統(tǒng)、收發(fā)機(jī)以及其它通信電路系統(tǒng)。上述網(wǎng)絡(luò)、連接和設(shè)備在本領(lǐng)域中公知且無(wú)需在此處詳細(xì)討論。
[0048]用戶接口 309可包括,鼠標(biāo)、聲音輸入設(shè)備,用于接收來(lái)自用戶的姿勢(shì)的觸摸輸入設(shè)備、用于檢測(cè)用戶的非接觸姿勢(shì)和其它運(yùn)動(dòng)的運(yùn)動(dòng)輸入設(shè)備,以及其它類似的輸入設(shè)備以及能夠接收來(lái)自用戶的用戶輸入的相關(guān)聯(lián)的處理元件。輸出設(shè)備,諸如顯示器、揚(yáng)聲器、打印機(jī)、觸覺(jué)設(shè)備,和其它類型的輸出設(shè)備也可以被包括在用戶接口 309中。上述用戶輸入設(shè)備在本領(lǐng)域中公知且無(wú)需在此處詳細(xì)討論。
[0049]現(xiàn)在轉(zhuǎn)到圖4 一 7,示出了另一個(gè)虛擬化實(shí)現(xiàn)。具體而言,圖4示出了其內(nèi)可實(shí)現(xiàn)虛擬化進(jìn)程的集成環(huán)境400,而圖5 — 7示出了在該集成環(huán)境400的各個(gè)不同元素之間的交互。
[0050]集成環(huán)境400示出了可在通用計(jì)算系統(tǒng)(諸如圖3所示的計(jì)算系統(tǒng)300)上實(shí)現(xiàn)的各種不同的軟件元素。集成環(huán)境400包括本機(jī)命名空間411,本機(jī)應(yīng)用413可通過(guò)該本機(jī)命名空間411由其它應(yīng)用、進(jìn)程、或組件來(lái)訪問(wèn)。集成環(huán)境400還包括虛擬化組件431,它也可以通過(guò)本機(jī)命名空間411來(lái)被訪問(wèn)。操作系統(tǒng)421的至少某些部分,諸如文件系統(tǒng)423和注冊(cè)表425,也可通過(guò)本機(jī)命名空間411來(lái)被訪問(wèn)。然而,應(yīng)當(dāng)理解,在某些實(shí)現(xiàn)中,操作系統(tǒng)421的某些部分可能不能通過(guò)本機(jī)命名空間411來(lái)被訪問(wèn)。在某些實(shí)現(xiàn)中,集成環(huán)境400可任選地包括攔截模塊418,如以下將更詳細(xì)地討論。
[0051]本機(jī)應(yīng)用413包括調(diào)用組件414和調(diào)用組件415,并可包括許多其它程序模塊、組件、或代碼,它們共同作用來(lái)實(shí)現(xiàn)本機(jī)應(yīng)用413。調(diào)用組件415包括入口模塊416和調(diào)用模塊417。應(yīng)當(dāng)理解,調(diào)用組件415還可包括其它程序模塊、組件,或代碼。還應(yīng)當(dāng)理解,調(diào)用組件414僅僅是可任選的。虛擬化組件431包括檢測(cè)模塊431、標(biāo)識(shí)模塊434,和虛擬化模塊435。應(yīng)當(dāng)理解,虛擬化組件431還可包括其它程序模塊、組件,或代碼。
[0052]集成環(huán)境400還包括虛擬命名空間411,虛擬應(yīng)用462、虛擬應(yīng)用463和資源465通過(guò)該虛擬命名空間411可被訪問(wèn)。應(yīng)用虛擬化器451的至少某些部分,諸如文件系統(tǒng)453和注冊(cè)表455也可通過(guò)虛擬命名空間441來(lái)被訪問(wèn)。然而,應(yīng)當(dāng)理解,在某些實(shí)現(xiàn)中,應(yīng)用虛擬化器451的某些部分可能不能通過(guò)虛擬命名空間441來(lái)被訪問(wèn)。此外,應(yīng)用虛擬化器451的某些部分可能通過(guò)本機(jī)命名空間411是可訪問(wèn)的。
[0053]本機(jī)命名空間411表示在一組應(yīng)用程序、應(yīng)用組件、組件對(duì)象,或可被看成是本機(jī)加載的、安裝的、或以其他方式建立的任何其它軟件元素之間共享的命名上下文,其允許本機(jī)命名空間411內(nèi)的每個(gè)軟件元素以相同方式(諸如使用相同名稱、相同位置,或名稱和位置的相同組合或變型)來(lái)引用本機(jī)命名空間411內(nèi)的其它軟件元素。例如,本機(jī)應(yīng)用413對(duì)文件系統(tǒng)423作出的文件系統(tǒng)調(diào)用將以與虛擬化組件431對(duì)文件系統(tǒng)423作出的文件系統(tǒng)調(diào)用相同的方式來(lái)標(biāo)識(shí)文件系統(tǒng)423。
[0054]相反,虛擬命名空間441表示在一組應(yīng)用程序、應(yīng)用組件、組件對(duì)象,或可被看成是虛擬加載的、虛擬安裝的、或以其他方式虛擬地建立的任何其它軟件元素之間共享的不同命名上下文,其允許虛擬命名空間441內(nèi)的每個(gè)軟件元素使用相同名稱、名稱串、位置,或名稱和位置的組合或變型來(lái)引用虛擬命名空間441內(nèi)的其它元素。例如,虛擬應(yīng)用462對(duì)文件系統(tǒng)453作出的文件系統(tǒng)調(diào)用將以與虛擬化應(yīng)用463對(duì)文件系統(tǒng)453作出的文件系統(tǒng)調(diào)用相同的方式來(lái)標(biāo)識(shí)文件系統(tǒng)453。
[0055]一般而言,各種不同的與本機(jī)命名空間411相關(guān)聯(lián)的應(yīng)用程序、應(yīng)用組件、對(duì)象,和其它軟件元素向注冊(cè)表425注冊(cè),使得每個(gè)軟件元素可找到并利用本機(jī)命名空間411內(nèi)的其它元素。類似,虛擬命名空間441內(nèi)的各種不同軟件元素向注冊(cè)表455注冊(cè),使得每個(gè)軟件元素可找到并利用虛擬命名空間441內(nèi)的其它元素。
[0056]本機(jī)應(yīng)用413是能夠在本機(jī)命名空間411內(nèi)運(yùn)行并加載可被虛擬化的組件(諸如調(diào)用組件414和調(diào)用組件415)的任何應(yīng)用程序。本機(jī)應(yīng)用413的各示例包括媒體管理應(yīng)用、web瀏覽應(yīng)用、生產(chǎn)力應(yīng)用(諸如字處理器、電子表格、和演示應(yīng)用)、通信應(yīng)用(諸如電子郵件、電信、視頻聊天,和即時(shí)消息收發(fā)應(yīng)用),以及游戲應(yīng)用。
[0057]調(diào)用組件414和調(diào)用組件415是能夠在本機(jī)應(yīng)用413內(nèi)被集成并被虛擬化以獲得對(duì)虛擬命名空間441的訪問(wèn)的任何組件軟件元素。調(diào)用組件414和調(diào)用組件415的各示例包括控件組件、接口組件、和驅(qū)動(dòng)器組件、以及許多其它類型的組件。入口模塊416處理進(jìn)入調(diào)用組件415的調(diào)用并可任選地處理從調(diào)用組件415的退出。入口模塊416可能還能夠在由調(diào)用組件415創(chuàng)建的線程上設(shè)置虛擬提示標(biāo)記,向虛擬化組件431指示是否對(duì)由調(diào)用模塊417作出的調(diào)用進(jìn)行虛擬化。調(diào)用模塊416處理出自調(diào)用組件415的對(duì)其它組件或資源(諸如文件、程序、和對(duì)象)的調(diào)用。調(diào)用組件414可包括類似的如調(diào)用組件415的子組件。調(diào)用組件414和調(diào)用組件415的一個(gè)示例是動(dòng)態(tài)鏈接庫(kù)。
[0058]虛擬化組件431是能夠?qū)τ烧{(diào)用組件415作出的集成調(diào)用進(jìn)行虛擬化的任何軟件元素。虛擬化組件431可能是獨(dú)立程序或組件或可集成在其它程序應(yīng)用或甚至本機(jī)應(yīng)用413內(nèi)。虛擬化組件436是能夠?qū)τ烧{(diào)用組件414作出的調(diào)用進(jìn)行虛擬化的任何軟件元素。虛擬化組件436可能是獨(dú)立程序或組件或可集成在其它程序應(yīng)用或甚至本機(jī)應(yīng)用413內(nèi)。虛擬化組件431和虛擬化組件436的一個(gè)示例是動(dòng)態(tài)鏈接庫(kù)。
[0059]應(yīng)當(dāng)理解,當(dāng)兩個(gè)虛擬化組件431和436在圖4被示出時(shí),不需要多個(gè)虛擬化組件。相反,每個(gè)調(diào)用組件414和415被配置用于,一旦被本機(jī)應(yīng)用413調(diào)用,就調(diào)用能夠監(jiān)視來(lái)自那個(gè)調(diào)用組件的調(diào)用的虛擬化組件。在此圖示中,假設(shè)虛擬化組件436被調(diào)用組件414調(diào)用并監(jiān)視來(lái)自調(diào)用組件414的要被虛擬化的調(diào)用,而虛擬化組件431被調(diào)用組件415調(diào)用并監(jiān)視來(lái)自調(diào)用組件415的要被虛擬化的調(diào)用。
[0060]就那一點(diǎn)而言,虛擬化組件431還包括檢測(cè)模塊431、標(biāo)識(shí)模塊434,和虛擬化模塊435。檢測(cè)模塊432檢測(cè)由調(diào)用模塊417發(fā)起的來(lái)自本機(jī)應(yīng)用413內(nèi)的調(diào)用。標(biāo)識(shí)模塊434可隨后處理每個(gè)調(diào)用來(lái)標(biāo)識(shí)與通過(guò)虛擬命名空間441可訪問(wèn)的資源相關(guān)聯(lián)的至少一個(gè)集成調(diào)用。例如,在確定任何特定調(diào)用是否是集成調(diào)用時(shí),標(biāo)識(shí)模塊434可檢查由入口模塊416設(shè)置的虛擬化提示標(biāo)記的值。虛擬化模塊435向被標(biāo)識(shí)為集成調(diào)用的那些調(diào)用提供對(duì)虛擬命名空間441的訪問(wèn)權(quán)。集成調(diào)用可隨后被解決,并且值、響應(yīng),或某個(gè)其它回復(fù)被提供給調(diào)用組件415。虛擬化組件436以與虛擬化組件431類似的方式操作。
[0061]如所述,攔截模塊418可任選地出現(xiàn)在某些實(shí)現(xiàn)中。攔截模塊418能夠代替入口模塊416設(shè)置虛擬提示標(biāo)記。這可通過(guò)由攔截模塊418監(jiān)視本機(jī)應(yīng)用413作出的對(duì)調(diào)用組件415的調(diào)用并由此設(shè)置虛擬提示標(biāo)記來(lái)完成。攔截模塊418可隨后通過(guò)入口模塊416的方式來(lái)對(duì)調(diào)用組件415內(nèi)進(jìn)行調(diào)用。由調(diào)用組件415發(fā)起的調(diào)用可隨后被虛擬化組件431識(shí)別為需要虛擬化。
[0062]應(yīng)當(dāng)理解,無(wú)論是由入口模塊416還是攔截模塊418設(shè)置,對(duì)是否設(shè)置虛擬提示標(biāo)記的確定可被靜態(tài)編程,但還可以被動(dòng)態(tài)確定。例如,調(diào)用組件415可能需要對(duì)最初僅在虛擬命名空間441內(nèi)部可用的資源的訪問(wèn)權(quán)。這可能在許多情況下發(fā)生,包括當(dāng)資源是由應(yīng)用虛擬化器451安裝的虛擬包的一部分時(shí)。然而,該資源可隨后變得通過(guò)本機(jī)命名空間411可用。例如,與虛擬包中的應(yīng)用相同的應(yīng)用或類似的其它應(yīng)用可被安裝到本機(jī)命名空間411。因此,虛擬提示標(biāo)記可最初被設(shè)置以觸發(fā)調(diào)用的虛擬化,而晚些時(shí)候虛擬提示標(biāo)記可被設(shè)置來(lái)將該調(diào)用標(biāo)識(shí)成不需要被虛擬化。
[0063]應(yīng)用虛擬化器451是能夠虛擬地安裝并虛擬地運(yùn)行其它應(yīng)用程序、組件、和代碼的任何應(yīng)用程序或程序的集合。如前所述,應(yīng)用虛擬化器451通過(guò)本機(jī)命名空間411和虛擬命名空間441兩者可訪問(wèn)。以此方式,應(yīng)用虛擬化器45及其子組件可與虛擬命名空間441內(nèi)的軟件元素(諸如虛擬應(yīng)用463)以及本機(jī)命名空間411內(nèi)的軟件元素(諸如虛擬化組件431)進(jìn)行通信。
[0064]虛擬應(yīng)用462和虛擬應(yīng)用463是能夠被應(yīng)用虛擬化器451虛擬化的通過(guò)虛擬命名空間441訪問(wèn)的任何應(yīng)用程序。應(yīng)當(dāng)理解,虛擬應(yīng)用462和虛擬應(yīng)用463可以是任何類型的應(yīng)用程序,但被稱為虛擬是因?yàn)樗鼈兺ㄟ^(guò)虛擬命名空間441來(lái)被訪問(wèn)。虛擬應(yīng)用462和虛擬應(yīng)用463的各示例包括媒體管理應(yīng)用、web瀏覽應(yīng)用、生產(chǎn)力應(yīng)用(諸如字處理器、電子表格、和演示應(yīng)用)、通信應(yīng)用(諸如電子郵件、電信、視頻聊天,和即時(shí)消息收發(fā)應(yīng)用),流水線化應(yīng)用、和游戲應(yīng)用、及它們的任何組合或變型。
[0065]資源465包括能夠與虛擬應(yīng)用463集成并通過(guò)虛擬命名空間441訪問(wèn)的任何資源。資源465的各實(shí)施例包括虛擬應(yīng)用463的各子組件、與虛擬應(yīng)用463相關(guān)聯(lián)的數(shù)據(jù)文件,和與虛擬應(yīng)用463相關(guān)聯(lián)的通信或?qū)ο蠼M件。應(yīng)當(dāng)理解,其它類型的資源是可能的。此夕卜,應(yīng)當(dāng)理解,虛擬應(yīng)用462可包括類似于資源465的資源。
[0066]圖5是示出在一個(gè)實(shí)現(xiàn)中的集成環(huán)境400的各個(gè)不同軟件元素之間的交互的流程圖。在這個(gè)實(shí)現(xiàn)中,入口模塊416執(zhí)行設(shè)置虛擬標(biāo)記提示的任務(wù)。相反,圖6示出了涉及攔截模塊418的實(shí)現(xiàn)。
[0067]參見(jiàn)圖5,調(diào)用組件415可由本機(jī)應(yīng)用413來(lái)調(diào)用。例如,通過(guò)用戶輸入的方式,可選擇調(diào)用組件415的圖形表示。一旦調(diào)用組件415被調(diào)用,入口模塊416從本機(jī)命名空間411內(nèi)被調(diào)用。入口模塊416確定是否設(shè)置虛擬提示標(biāo)記以指示將調(diào)用模塊417的任何結(jié)果調(diào)用虛擬化的需要。在此圖示中,以解說(shuō)的目的假設(shè)虛擬提示標(biāo)記被設(shè)置為肯定,意味著任何結(jié)果調(diào)用將被虛擬化。
[0068]接著,調(diào)用模塊417可能被入口模塊416調(diào)用(invoke)或調(diào)用(call)。調(diào)用模塊417啟動(dòng)由虛擬化組件431檢測(cè)的服務(wù)調(diào)用。虛擬化組件431檢測(cè)或以其它方式檢查服務(wù)調(diào)用以確定它是否應(yīng)當(dāng)被虛擬化。根據(jù)虛擬提示標(biāo)記的值,虛擬化組件431確定調(diào)用應(yīng)當(dāng)被虛擬化并因此被看作集成調(diào)用。
[0069]如果虛擬化組件431已經(jīng)確定了調(diào)用不需要被虛擬化,服務(wù)調(diào)用可被轉(zhuǎn)發(fā)以在本機(jī)命名空間411中執(zhí)行。在此,因?yàn)榉?wù)調(diào)用是集成調(diào)用并且旨在被虛擬化,向服務(wù)調(diào)用提供對(duì)虛擬命名空間441的訪問(wèn)權(quán)。服務(wù)調(diào)用因此可使用僅以虛擬命名空間441的方式可訪問(wèn)的軟件元素(諸如虛擬應(yīng)用463或462,資源465、注冊(cè)表455,或文件系統(tǒng)453)來(lái)解決。服務(wù)回復(fù)被提供給調(diào)用模塊417,或可能給調(diào)用組件415內(nèi)的某個(gè)其它元素??刂瓶蓮恼{(diào)用組件415被返回到本機(jī)應(yīng)用413。
[0070]參見(jiàn)圖6,調(diào)用組件415可由本機(jī)應(yīng)用413來(lái)調(diào)用。例如,通過(guò)用戶輸入的方式,可選擇調(diào)用組件415的圖形表示。一旦調(diào)用組件被調(diào)用,攔截模塊418就攔截調(diào)用并確定是否設(shè)置虛擬提示標(biāo)記來(lái)指示對(duì)調(diào)用模塊417的任何調(diào)用進(jìn)行虛擬化的需求。在此圖示中,以解說(shuō)的目的假設(shè)虛擬提示標(biāo)記被設(shè)置為肯定,意味著任何結(jié)果調(diào)用將被虛擬化。
[0071]攔截模塊418,一旦設(shè)置虛擬提示標(biāo)記,則前進(jìn)至允許調(diào)用前進(jìn)到入口模塊416。接著,調(diào)用模塊417可能被入口模塊416調(diào)用(invoke)或調(diào)用(call)。調(diào)用模塊417啟動(dòng)由虛擬化組件431檢測(cè)的服務(wù)調(diào)用。虛擬化組件431檢測(cè)或以其它方式檢查服務(wù)調(diào)用以確定該調(diào)用是否應(yīng)當(dāng)被虛擬化。根據(jù)虛擬提示標(biāo)記的值,虛擬化組件431確定調(diào)用應(yīng)當(dāng)被虛擬化并因此被看作集成調(diào)用。
[0072]如果虛擬化組件431已經(jīng)確定了調(diào)用不需要被虛擬化,服務(wù)調(diào)用可被轉(zhuǎn)發(fā)以在本機(jī)命名空間411中執(zhí)行。在此,由于服務(wù)調(diào)用要被虛擬化,向服務(wù)調(diào)用提供對(duì)虛擬命名空間441的訪問(wèn)權(quán)。服務(wù)調(diào)用因此可使用僅以虛擬命名空間441的方式可訪問(wèn)的軟件元素(諸如虛擬應(yīng)用463或462,資源465、注冊(cè)表455,或文件系統(tǒng)453)來(lái)解決。服務(wù)回復(fù)被提供給調(diào)用模塊417,或可能給調(diào)用組件415內(nèi)的某個(gè)其它元素。調(diào)用模塊415可接著被終止或以其他方式將控制還給本機(jī)應(yīng)用413。
[0073]參見(jiàn)圖7,所示出的是關(guān)于在調(diào)用組件415和本機(jī)應(yīng)用413之間控制如何被分配的流程圖。一旦本機(jī)應(yīng)用413調(diào)用了調(diào)用組件415,入口模塊416調(diào)用虛擬化組件431。事實(shí)上,由于服務(wù)調(diào)用由調(diào)用模塊417作出,虛擬化組件431確定哪些調(diào)用是集成調(diào)用,而那些調(diào)用可無(wú)需對(duì)虛擬命名空間441的訪問(wèn)而被解決。調(diào)用是服務(wù),且服務(wù)回復(fù)被提供給調(diào)用模塊417,或可能給調(diào)用組件415內(nèi)的某個(gè)其它元素。一旦服務(wù)調(diào)用被解決,入口模塊416則與操作系統(tǒng)421通信,虛擬化組件431應(yīng)當(dāng)被終止或以其他方式將控制轉(zhuǎn)給某個(gè)其它元素??刂苹氐奖緳C(jī)應(yīng)用413或本機(jī)命名空間411內(nèi)的某個(gè)其它軟件元素。
[0074]以此方式,當(dāng)調(diào)用組件415被調(diào)用并運(yùn)行時(shí),虛擬化組件431被初始化,并被動(dòng)態(tài)加載,并且一旦調(diào)用組件415解決任何呼叫時(shí)就不再需要。這阻止了虛擬化組件在調(diào)用組件415不再運(yùn)行的其它時(shí)間段運(yùn)行,從而節(jié)省資源。類似操作可相對(duì)于調(diào)用組件414和虛擬化組件436發(fā)生。S卩,虛擬化組件436可以和調(diào)用組件414并行實(shí)例化,并且在調(diào)用組件414解決時(shí)終止。
[0075]各圖中提供的功能框圖、操作序列和流程圖表示用于執(zhí)行本公開(kāi)的新穎方面的示例性架構(gòu)、環(huán)境和方法。盡管出于解釋簡(jiǎn)明的目的,此處包括的方法可以以功能圖、操作系列或流程圖形式示出并且可被描述為一系列動(dòng)作,但是可以理解和領(lǐng)會(huì),各方法不受動(dòng)作的次序的限制,因?yàn)楦鶕?jù)本發(fā)明,某些動(dòng)作可以按與此處所示并描述的不同的次序和/或與其他動(dòng)作并發(fā)地發(fā)生。例如,本領(lǐng)域的技術(shù)人員將明白并理解,方法可被替換地表示為一系列相互相關(guān)聯(lián)的狀態(tài)或事件,諸如以狀態(tài)圖的形式。此外,并非方法中所示出的所有動(dòng)作都是新穎實(shí)現(xiàn)所必需的。
[0076]所包括的說(shuō)明和附圖描述了用于教導(dǎo)本領(lǐng)域的技術(shù)人員如何做出和使用最佳模式的特定實(shí)現(xiàn)。出于教導(dǎo)創(chuàng)新性原則的目的,一些傳統(tǒng)的方面被簡(jiǎn)化或忽略。本領(lǐng)域的技術(shù)人員將理解來(lái)自這些實(shí)現(xiàn)的變型也落入的本發(fā)明的范圍內(nèi)。本領(lǐng)域的技術(shù)人員還將理解如上所述的特征可以以各種方式組合以形成多個(gè)實(shí)現(xiàn)。因此,本發(fā)明不局限于如上所述的特定實(shí)現(xiàn),僅受限于權(quán)利要求和它們的等價(jià)物。
【權(quán)利要求】
1.一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)能夠由計(jì)算系統(tǒng)(300)執(zhí)行的程序指令,用以促進(jìn)各本機(jī)應(yīng)用內(nèi)的各組件和各虛擬化環(huán)境的集成,其中所述程序指令包括: 檢測(cè)指令(432),當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以檢測(cè)從與本機(jī)命名空間(411)相關(guān)聯(lián)的本機(jī)應(yīng)用(413)內(nèi)發(fā)起的多個(gè)調(diào)用; 標(biāo)識(shí)指令(434),當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以處理所述多個(gè)調(diào)用的每一個(gè)以標(biāo)識(shí)與通過(guò)虛擬命名空間(441)能夠訪問(wèn)的資源(465)相關(guān)聯(lián)的至少一個(gè)集成調(diào)用;以及 虛擬化指令(435),當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以向所述集成調(diào)用提供通過(guò)所述虛擬命名空間對(duì)所述資源的訪問(wèn)權(quán)。
2.如權(quán)利要求1所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述程序指令包括至少第一部分和第二部分,其中所述第二部分包括所述檢測(cè)指令、所述標(biāo)識(shí)指令、和所述虛擬化指令,而其中所述第一部分包括入口指令; 其中所述入口指令,當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以響應(yīng)于在所述本機(jī)應(yīng)用內(nèi)發(fā)生的調(diào)用所述第一部分的事件來(lái)加載所述第二部分,并響應(yīng)于完成所述第一部分來(lái)將控制從所述第二部分返還給所述本機(jī)應(yīng)用。
3.如權(quán)利要求2所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一部分還包括調(diào)用指令,其中所述調(diào)用指令當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以從所述本機(jī)應(yīng)用內(nèi)發(fā)起所述多個(gè)調(diào)用。
4.如權(quán)利要求3所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一部分還包括攔截指令,當(dāng)由所述計(jì)算系統(tǒng)執(zhí)行時(shí),所述攔截指令指導(dǎo)所述計(jì)算系統(tǒng)以攔截并改變由所述調(diào)用指令發(fā)起的所述多個(gè)調(diào)用的至少一個(gè)調(diào)用,以將對(duì)所述標(biāo)識(shí)指令的所述一個(gè)調(diào)用標(biāo)識(shí)為集成調(diào)用,并且所述攔截指令為了修改所述至少一個(gè)調(diào)用,指導(dǎo)所述計(jì)算系統(tǒng)以在與所述一個(gè)調(diào)用相關(guān)聯(lián)的線程上設(shè)置虛擬化提示標(biāo)記。
5.如權(quán)利要求3所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一部分包括集成到所述本機(jī)應(yīng)用中的第一動(dòng)態(tài)鏈接庫(kù),而其中所述第二部分包括第二動(dòng)態(tài)鏈接庫(kù),其中所述資源包括加載到所述虛擬命名空間內(nèi)的虛擬化應(yīng)用的至少一部分,且其中所述虛擬化應(yīng)用的所述部分包括由提供給所述本機(jī)應(yīng)用的所述集成調(diào)用所調(diào)用的服務(wù)。
6.一種用于促進(jìn)本機(jī)應(yīng)用和虛擬化應(yīng)用的集成的方法,所述方法包括: 一旦調(diào)用了加載在本機(jī)應(yīng)用(103)內(nèi)的調(diào)用組件,就加載虛擬化組件(121);以及 在所述虛擬化組件中,監(jiān)視以尋找由所述調(diào)用組件從所述本機(jī)應(yīng)用內(nèi)發(fā)起的集成調(diào)用,所述集成調(diào)用需要解決能夠通過(guò)虛擬命名空間(111)訪問(wèn)的多個(gè)資源的至少一個(gè),以及向所述集成調(diào)用提供通過(guò)所述虛擬命名空間對(duì)所述資源的訪問(wèn)權(quán)。
7.如權(quán)利要求6所述的方法,其特征在于,監(jiān)視以尋找所述集成調(diào)用包括檢查由所述調(diào)用組件發(fā)起的調(diào)用以尋找被設(shè)置成將所述調(diào)用組件發(fā)起的所述調(diào)用的子集標(biāo)識(shí)為所述集成調(diào)用的虛擬化提示標(biāo)記,并且其中所述方法還包括:
8.如權(quán)利要求7所述的方法,其特征在于還包括,在所述調(diào)用組件中,在檢查由所述調(diào)用組件發(fā)起的所述調(diào)用之前,攔截并在每個(gè)調(diào)用的基礎(chǔ)上設(shè)置所述虛擬化提示標(biāo)記。
9.如權(quán)利要求6所述的方法,其特征在于,所述調(diào)用組件包括集成到所述本機(jī)應(yīng)用的第一動(dòng)態(tài)鏈接庫(kù),并且其中所述虛擬化組件包括沒(méi)有集成到所述本機(jī)應(yīng)用中的第二動(dòng)態(tài)鏈接庫(kù)。
10.一種裝置(300),包括: 存儲(chǔ)系統(tǒng)(303); 存儲(chǔ)在所述存儲(chǔ)系統(tǒng)上的程序指令(305),用于促進(jìn)本機(jī)應(yīng)用內(nèi)的各組件與各虛擬化環(huán)境的集成,所述程序指令在被處理系統(tǒng)(301)執(zhí)行時(shí),指導(dǎo)所述計(jì)算系統(tǒng)以至少檢測(cè)從與本機(jī)命名空間(101)相關(guān)聯(lián)的本機(jī)應(yīng)用內(nèi)發(fā)起的多個(gè)調(diào)用(103)、處理所述多個(gè)調(diào)用的每一個(gè)以標(biāo)識(shí)與通過(guò)虛擬命名空間(111)能夠訪問(wèn)的資源(115)相關(guān)聯(lián)的至少一個(gè)集成調(diào)用,并向所述集成調(diào)用提供通過(guò)所述虛擬命名空間對(duì)所述資源的訪問(wèn)權(quán);以及 所述處理系統(tǒng)被配置用于從所述存儲(chǔ)系統(tǒng)獲取所述程序指令并執(zhí)行所述程序指令。
【文檔編號(hào)】G06F9/44GK104350464SQ201380027445
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2013年5月17日 優(yōu)先權(quán)日:2012年5月25日
【發(fā)明者】A·阿加瓦爾, D·曼奇尼, P·戴維斯 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安岳县| 玉山县| 莱阳市| 扎赉特旗| 华坪县| 固始县| 秦皇岛市| 古蔺县| 霍州市| 简阳市| 东兰县| 界首市| 巴青县| 林口县| 绥滨县| 衢州市| 灌南县| 南涧| 台北市| 黄大仙区| 易门县| 上饶市| 庆安县| 高陵县| 遂昌县| 通山县| 丹巴县| 湘潭市| 和林格尔县| 宁津县| 温宿县| 河津市| 突泉县| 南城县| 和龙市| 洪湖市| 出国| 中牟县| 措美县| 城固县| 临高县|