两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

隔離由插件代碼主存的應(yīng)用程序的制作方法

文檔序號:6595774閱讀:169來源:國知局
專利名稱:隔離由插件代碼主存的應(yīng)用程序的制作方法
隔離由插件代碼主存的應(yīng)用程序
背景技術(shù)
當(dāng)代瀏覽器允許插件,插件通常包括主存的軟件代碼,這些主存的軟件代碼與主存瀏覽器/應(yīng)用程序交互以提供一些所需功能。一個這樣的插件是Microsoft Silverlight ,其提供允許開發(fā)和主存(host)豐富的web應(yīng)用的平臺,其中web應(yīng)用通常包括動畫、矢量圖形和/或媒體(例如,音頻/視頻)內(nèi)容回放。插件能主存第三方應(yīng)用程序。通常,這涉及現(xiàn)代應(yīng)用程序開發(fā)的重要功能,即組件化。組件化背后的總體概念是將大的應(yīng)用程序分解成較小的組件,這些較小的組件執(zhí)行較大任務(wù)中的較小部分、是可重用的并且具有已知的接口。組件化帶來的是外部(例如,第二或第三)方為現(xiàn)有應(yīng)用程序創(chuàng)作組件的能力;例如,對這個概念的一個現(xiàn)代的基于web的具體化是web混搭(mashup)。然而,當(dāng)非第一方組件用于諸如由插件主存的應(yīng)用程序之類的應(yīng)用程序中時,組件和應(yīng)用程序之間的信任邊界變得重要。組件不應(yīng)當(dāng)能夠更改用戶界面(UI)代碼的外觀和功能,或者監(jiān)視應(yīng)用程序數(shù)據(jù),等等,除非主存應(yīng)用程序?qū)iT為此而設(shè)計且期望如此。MM提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的詳細(xì)描述中進(jìn)一步描述的一些代表性概念。本發(fā)明內(nèi)容不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在以限制所要求保護(hù)的主題的范圍的任何方式來使用。簡言之,此處所描述的主題的各個方面涉及在瀏覽器中運(yùn)行的一個應(yīng)用程序能主存另一個應(yīng)用程序的技術(shù),其中上述主存過程是以防止被主存的應(yīng)用程序訪問主存應(yīng)用程序數(shù)據(jù)或任何其它被主存的應(yīng)用程序的數(shù)據(jù)的方式進(jìn)行的。在一個方面,主存應(yīng)用程序是瀏覽器插件(例如,Microsoft Silverlight )應(yīng)用程序,瀏覽器插件應(yīng)用程序?qū)g覽器隱藏的另一個插件實(shí)例化并且通過將該另一個插件實(shí)例化為禁止其訪問瀏覽器/被主存的應(yīng)用程序數(shù)據(jù)(例如,元素)或其它應(yīng)用程序數(shù)據(jù)來防止被主存的應(yīng)用程序訪問數(shù)據(jù)。在一個方面,標(biāo)簽元素標(biāo)識與主存應(yīng)用程序相關(guān)聯(lián)的代碼(例如,XAML)內(nèi)的主存的應(yīng)用程序。主存元素被添加到主存應(yīng)用程序的元素樹中以表示被主存的應(yīng)用程序。標(biāo)簽元素可指定被主存的應(yīng)用程序的呈現(xiàn)區(qū)域。結(jié)合(例如,合成的)來自主存應(yīng)用程序的內(nèi)容呈現(xiàn)來自被主存的應(yīng)用程序的內(nèi)容。在一個方面,被主存的應(yīng)用程序可以是廣告。主存應(yīng)用程序可向被主存的應(yīng)用程序提供諸如與頁面內(nèi)容對應(yīng)的關(guān)鍵詞,被主存的應(yīng)用程序藉此可選擇相關(guān)廣告。被主存的應(yīng)用程序可被允許執(zhí)行一些特權(quán)操作,諸如允許被主存的應(yīng)用程序打開瀏覽器窗口以顯示網(wǎng)站內(nèi)容(例如,當(dāng)用戶點(diǎn)擊被主存的應(yīng)用程序的呈現(xiàn)區(qū)域中的廣告時調(diào)出網(wǎng)站)。結(jié)合附圖閱讀以下具體實(shí)施方式
,本發(fā)明的其他優(yōu)點(diǎn)會變得顯而易見。


作為示例而非限制,在附圖中示出了本發(fā)明,附圖中相同的附圖標(biāo)記指示相同或相似的元素,附圖中
圖1是示出用于隔離由主存(瀏覽器插件)應(yīng)用程序主存的應(yīng)用程序的示例組件的框圖。圖2是示出隔離被主存的應(yīng)用程序所采用的示例步驟的流程圖。圖3是示出用于在主存應(yīng)用程序和被隔離的插件應(yīng)用程序之間的附加通信的示例組件的框圖。圖4示出可以將本發(fā)明的各方面并入其中的計算環(huán)境的說明性示例。
具體實(shí)施例方式此處所描述的技術(shù)的各個方面一般涉及隔離模型,其中第一應(yīng)用程序(例如,瀏覽器插件等)以隔離的方式主存第二(通常是不可信的、第三方的)應(yīng)用程序。通常,這通過實(shí)例化對web瀏覽器是未知的單獨(dú)的存儲器中(in-memory)插件實(shí)例以隔離第二應(yīng)用程序來完成。同時,第二應(yīng)用程序(例如,廣告)在計算機(jī)用戶看來是作為被主存的應(yīng)用程序的一部分運(yùn)行的,因為例如它的可見輸出是與主存應(yīng)用程序的可見輸出一起呈現(xiàn)的。然而, 可以理解,被主存的應(yīng)用程序不能訪問與主存應(yīng)用程序或web瀏覽器相關(guān)的信息,除非主存應(yīng)用程序希望提供某些信息。盡管使用Microsoft SilverlightTM(跨平臺、跨瀏覽器插件)作為主存應(yīng)用程序的示例,應(yīng)當(dāng)理解此處所述的任何示例都是非限制性的示例。如此,本發(fā)明不限于此處所描述的任何特定實(shí)施例、方面、概念、結(jié)構(gòu)、功能或示例。相反,此處所描述的實(shí)施例、方面、 概念、結(jié)構(gòu)、功能或示例中的任一個都是非限制性的,并且本發(fā)明一般能夠以在計算和主存應(yīng)用程序方面提供好處和優(yōu)點(diǎn)的各種方式來使用。圖1示出與此處所描述的應(yīng)用程序隔離相關(guān)的各個方面。通常,利用諸如 Microsoft ; Silverlight 插件之類的主存應(yīng)用程序104來加載瀏覽器102。在一個實(shí)現(xiàn)中,主存應(yīng)用程序104對應(yīng)于諸如用XAML(可擴(kuò)展應(yīng)用程序標(biāo)記語言)編寫的用戶界面應(yīng)用程序代碼106,該用戶界面應(yīng)用程序代碼106被解析器108解析成與樹110相對應(yīng)的各種元素。如所知道的,這些元素被處理以在瀏覽器頁面上的可見輸出中呈現(xiàn)。在一個實(shí)現(xiàn)中,諸如第三方廣告之類的應(yīng)用程序111由主存應(yīng)用程序104主存為隱藏(對瀏覽器而言是單獨(dú)的,不可發(fā)現(xiàn)的)插件112的一部分,使得將隱藏插件112與瀏覽器102以及與主存應(yīng)用程序的數(shù)據(jù)在程序上隔離,但是允許被主存的應(yīng)用程序111參與主存應(yīng)用程序的呈現(xiàn)、輸入和布局。呈現(xiàn)、輸入和布局由隱藏插件112管理,從而例如可見輸出限于為被主存的應(yīng)用程序的輸出所保留的用戶界面區(qū)域。注意,隱藏插件112可以是另一個Silverlight 插件,即由主存Silverlight 插件私下創(chuàng)建(對瀏覽器是未知的) 的另一個實(shí)例。此外,注意可使用其它類型的插件,只要它們能被實(shí)例化或者以其它方式配置為防止它們與HTML瀏覽器發(fā)生任何直接通信,例如將插件實(shí)例化以使其不能訪問瀏覽器文檔對象模型(DOM)。為此,在一個示例實(shí)現(xiàn)中,(例如,在XAML應(yīng)用程序代碼106中)提供了標(biāo)識被主存的應(yīng)用程序的源且表示隔離邊界的標(biāo)簽元素,在該隔離邊界中將隱藏插件112實(shí)例化以用于加載被主存的(隔離的)應(yīng)用程序111 <Canvas>< ! 一主存應(yīng)用程序的一部分一><XapHost Source =,,http //www. advertisements. com/ad. xap,,Height= ”300”Width =”350”/X ! 一隔離邊界一></Canvas>標(biāo)簽元素在圖1中由XapHost元素114來表示。除其它操作以外,XapHost元素 114負(fù)責(zé)在存儲器中在瀏覽器102不可發(fā)現(xiàn)的位置將隱藏插件112實(shí)例化和初始化;這可經(jīng)由專用API等來完成。被主存的應(yīng)用程序111除非經(jīng)由用作隔離隱藏插件112的代理的 XapHost元素114才能參與主存應(yīng)用程序104的樹110。例如,被主存的應(yīng)用程序111除了遍歷至它自己的最頂層節(jié)點(diǎn)以外不能遍歷樹,其最頂層節(jié)點(diǎn)對應(yīng)于它的應(yīng)用程序的根節(jié)點(diǎn)。注意,它不能訪問駐留在主存應(yīng)用程序樹中的XapHost元素。相反,被主存的應(yīng)用程序 111被限于僅僅經(jīng)由XapHost元素114提供輸出116用于呈現(xiàn),(盡管XapHost元素114可提供諸如初始化參數(shù)之類的附加數(shù)據(jù)和/或允許對被主存的應(yīng)用程序111的某些特權(quán),如以下參考圖3所述)。從XapHost元素114傳達(dá)到隱藏插件112/被主存的應(yīng)用程序111的這些數(shù)據(jù)以及任何其它數(shù)據(jù)在圖1中被表示為輸入117。如經(jīng)由圖2的示例步驟所一般地表示的,當(dāng)XAML應(yīng)用程序代碼106被解析時或者當(dāng)XapHost元素114被程序地添加到樹110時(步驟202),在步驟204和206處XapHost元素114初始化隱藏插件112并且加載由“源(Source)”屬性所指定的相應(yīng)的被主存的應(yīng)用程序111 (例如,XAP),(其在上述示例XAML語言中被標(biāo)識為“http://www. advertisements, com/ad. xap”)。被主存的應(yīng)用程序111不能訪問瀏覽器的HTML域?qū)ο竽P?例如,啟用 Html訪問(EnableHtmlAccess)特性被設(shè)置為錯誤)并且被加載在它自己的應(yīng)用域中,例如,(公共語言運(yùn)行時,或CLR應(yīng)用域),它自己可訪問全局靜態(tài)變量等;注意,Silverlight 包含它自己的微型CLR 118。在沒有域?qū)ο竽P?DomBridge)訪問的情況下,被主存的應(yīng)用程序111不能訪問頁面上的任何其它內(nèi)容,包括頁面自身,或者其它插件。同樣如在圖2中經(jīng)由步驟208和210所示,除了實(shí)例化和初始化隱藏插件112且加載應(yīng)用程序111以外,XapHost元素114將輸入和布局通知從主存應(yīng)用程序104引導(dǎo)至被主存的應(yīng)用程序111。此外,XapHost元素114處理被主存的應(yīng)用程序111的輸出,使得該輸出能由主存應(yīng)用程序的插件來合成;(注意,諸如音頻和/或觸覺輸出之類的任何其它輸出可被類似地混合)。步驟212表示在適當(dāng)時間拆卸被主存的應(yīng)用程序,例如,在關(guān)閉之后或者當(dāng)XapHost元素114上的相應(yīng)的引用計數(shù)變?yōu)榱銜r(例如,當(dāng)用戶界面的該部分不再被呈現(xiàn)時)。
在一個方面,通常在圖3中表示的,XapHost元素114可包括一個或多個接口(例如,API 330 (多個),以及上述其它專用API),這些接口允許主存應(yīng)用程序104與被主存的應(yīng)用程序111通信,例如傳遞初始化參數(shù)332。例如,在廣告情形中,初始化參數(shù)可包括在主存頁面上呈現(xiàn)的關(guān)鍵詞的集合,由此廣告應(yīng)用程序可服務(wù)與這些關(guān)鍵詞中的一個或多個相對應(yīng)的相關(guān)廣告。在同樣通常在圖3中表示的另一個方面,經(jīng)由API 330,XapHost元素114可允許被主存的應(yīng)用程序執(zhí)行某些特權(quán)操作,(或者根據(jù)適當(dāng)?shù)恼{(diào)用334代表其自身執(zhí)行操作)。 一個示例是響應(yīng)于用戶發(fā)起的動作打開新的瀏覽器窗口,諸如調(diào)出與被點(diǎn)擊廣告相對應(yīng)的網(wǎng)站。另一個優(yōu)點(diǎn)是控制功耗的能力。例如,在現(xiàn)代計算機(jī)使用中廣告可能是較大的功耗源。利用插件主存(例如,XapHost)模型,降低的功率模式可諸如通過禁用動畫以及其它功率消耗操作來節(jié)省功率。示例性操作環(huán)境 圖4示出了其上可實(shí)現(xiàn)圖1-3的示例的合適的計算和聯(lián)網(wǎng)環(huán)境400的示例。計算系統(tǒng)環(huán)境400只是合適計算環(huán)境的一個示例,而非意在暗示對本發(fā)明使用范圍或功能有任何限制。也不應(yīng)該將計算環(huán)境400解釋為對示例性操作環(huán)境400中示出的任一組件或其組合有任何依賴性或要求。本發(fā)明可用各種其他通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作。適用于本發(fā)明的公知計算系統(tǒng)、環(huán)境、和/或配置的示例包括但不限于個人計算機(jī)、服務(wù)器計算機(jī)、手持式或膝上型設(shè)備、平板設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、微型計算機(jī)、大型計算機(jī)、包括任何以上系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。本發(fā)明可在諸如程序模塊等由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、 組件、數(shù)據(jù)結(jié)構(gòu)等等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實(shí)現(xiàn)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備在內(nèi)的本地和/或遠(yuǎn)程計算機(jī)存儲介質(zhì)中。參考圖4,用于實(shí)現(xiàn)本發(fā)明的各方面的示例性系統(tǒng)可包括計算機(jī)410形式的通用計算設(shè)備。計算機(jī)410的組件可以包括但不限于處理單元420、系統(tǒng)存儲器430和將包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合至處理單元420的系統(tǒng)總線421。系統(tǒng)總線421可以是若干類型的總線結(jié)構(gòu)中的任一種,包括使用各種總線體系結(jié)構(gòu)中的任一種的存儲器總線或存儲器控制器、外圍總線,以及局部總線。作為示例而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA) 局部總線、以及也稱為夾層(Mezzanine)總線的外圍組件互連(PCI)總線。計算機(jī)410通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是能由計算機(jī) 410訪問的任何可用介質(zhì),并包含易失性和非易失性介質(zhì)以及可移動、不可移動介質(zhì)。作為示例而非限制,計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以存儲諸如計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括,但不僅限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光盤存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備,或可以用來存儲所需信息并可以被計算機(jī) 410訪問的任何其他介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指的是一個或多個特征以在信號中編碼信息的方式被設(shè)定或更改的信號。 作為示例而非限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接線連接,以及如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上面各項中的任何項的組合也包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲器430包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM) 431和隨機(jī)存取存儲器(RAM) 432。基本輸入/輸出系統(tǒng)433 (BIOS)包括如在啟動時幫助在計算機(jī)410內(nèi)的元件之間傳輸信息的基本例程,它通常儲存在ROM 431中。 RAM 432通常包含處理單元420可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖4示出了操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436和程序數(shù)據(jù) 437。計 算機(jī)410還可以包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作為示例,圖4示出了從不可移動、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動器 441,從可移動、非易失性磁盤452中讀取或向其寫入的磁盤驅(qū)動器451,以及從諸如⑶ROM 或其他光學(xué)介質(zhì)等可移動、非易失性光盤456中讀取或向其寫入的光盤驅(qū)動器455。可以在示例性操作環(huán)境中使用的其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器441通常由不可移動存儲器接口,諸如接口 440連接至系統(tǒng)總線421,磁盤驅(qū)動器451和光盤驅(qū)動器455通常由可移動存儲器接口,諸如接口 450連接至系統(tǒng)總線421。以上描述并在圖4中示出的驅(qū)動器及其相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)410提供了對計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲。例如,在圖4中,硬盤驅(qū)動器441被示為存儲操作系統(tǒng)444、應(yīng)用程序445、其他程序模塊446和程序數(shù)據(jù)447。注意, 這些組件可以與操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436和程序數(shù)據(jù)437相同,也可以與它們不同。操作系統(tǒng)444、應(yīng)用程序445、其他程序模塊446和程序數(shù)據(jù)447在這里被標(biāo)注了不同的附圖標(biāo)記是為了說明至少它們是不同的副本。用戶可通過諸如平板或電子數(shù)字化儀464、話筒463、鍵盤462和定點(diǎn)設(shè)備461 (通常指的是鼠標(biāo)、跟蹤球或觸摸墊)等輸入設(shè)備向計算機(jī)410輸入命令和信息。圖4中未示出的其他輸入設(shè)備可以包括操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些和其他輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口 460連接至處理單元420,但也可以由其他接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)視器491或其他類型的顯示設(shè)備也通過接口,諸如視頻接口 490,連接至系統(tǒng)總線421。監(jiān)視器491也可以與觸摸屏面板等集成。注意,監(jiān)視器和/或觸摸屏面板可以在物理上耦合至其中包括計算設(shè)備410的外殼,諸如在平板型個人計算機(jī)中。此外,諸如計算設(shè)備410等計算機(jī)還可以包括其他外圍輸出設(shè)備,諸如揚(yáng)聲器 495和打印機(jī)496,它們可以通過輸出外圍接口 494等連接。計算機(jī)410可以使用到一個或多個遠(yuǎn)程計算機(jī)(如遠(yuǎn)程計算機(jī)480)的邏輯連接來在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計算機(jī)480可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他常見網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多或所有以上關(guān)于計算機(jī)410所描述的元件,盡管在圖4中僅示出了存儲器存儲設(shè)備481。圖4中所示的邏輯連接包括一個或多個局域網(wǎng) (LAN)471和一個或多個廣域網(wǎng)(WAN)473,但也可以包括其他網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)410通過網(wǎng)絡(luò)接口或適配器471連接至LAN 470。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機(jī)410通常包括調(diào)制解調(diào)器472或用于通過諸如因特網(wǎng)等WAN 473建立通信的其他裝置??蔀閮?nèi)置或可為外置的調(diào)制解調(diào)器472可以經(jīng)由用戶輸入接口 460或其他合適的機(jī)制連接至系統(tǒng)總線421。諸如包括接口和天線的無線聯(lián)網(wǎng)組件474可以通過諸如接入點(diǎn)或?qū)Φ扔嬎銠C(jī)等合適的設(shè)備耦合到WAN或LAN。在聯(lián)網(wǎng)環(huán)境中,參考計算機(jī)410所描述的程序模塊,或其部分,可以存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖4示出遠(yuǎn)程應(yīng)用程序485駐留在存儲器設(shè)備481上??梢岳斫?,所示的網(wǎng)絡(luò)連接是示例性的,也可以使用在計算機(jī)之間建立通信鏈路的其他手段。
輔助子系統(tǒng)499(例如,用于內(nèi)容的輔助顯示)可經(jīng)由用戶接口 460連接,從而即使計算機(jī)系統(tǒng)的主要部分處于低功率狀態(tài)中,也允許諸如程序內(nèi)容、系統(tǒng)狀態(tài)和事件通知等數(shù)據(jù)被提供給用戶。輔助子系統(tǒng)499可連接至調(diào)制解調(diào)器472和/或網(wǎng)絡(luò)接口 470,從而在主處理單元420處于低功率狀態(tài)中時,也允許在這些系統(tǒng)之間進(jìn)行通信。結(jié) 論盡管本發(fā)明易于作出各種修改和替換構(gòu)造,但其某些說明性實(shí)施例在附圖中示出并在上面被詳細(xì)地描述。然而應(yīng)當(dāng)了解,這不旨在將本發(fā)明限于所公開的具體形式,而是相反地,旨在覆蓋落入本發(fā)明的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。
權(quán)利要求
1.在計算環(huán)境中,一種方法包括,在與瀏覽器(10 中運(yùn)行的插件(104)相對應(yīng)的主存應(yīng)用程序內(nèi)主存(20 被主存的應(yīng)用程序(111),包括防止被主存的應(yīng)用程序訪問所述瀏覽器的數(shù)據(jù)或者任何其它被主存的應(yīng)用程序的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,主存被主存的應(yīng)用程序包括實(shí)例化對所述瀏覽器隱藏的另一個插件并且將所述被主存的應(yīng)用程序加載到該另一個插件中。
3.如權(quán)利要求2所述的方法,其特征在于,防止被主存的應(yīng)用程序訪問數(shù)據(jù)包括將該另一個插件實(shí)例化為禁止其訪問瀏覽器數(shù)據(jù)或者在所述瀏覽器中運(yùn)行的任何其它應(yīng)用程序的數(shù)據(jù)。
4.如權(quán)利要求1所述的方法,其特征在于,還包括提供標(biāo)簽元素用于在與所述主存應(yīng)用程序相關(guān)聯(lián)的代碼內(nèi)標(biāo)識所述被主存的應(yīng)用程序,檢測所述標(biāo)簽,并且作為響應(yīng),實(shí)例化隱藏插件,并將所述被主存的應(yīng)用程序加載到所述隱藏插件中。
5.如權(quán)利要求1所述的方法,其特征在于,主存被主存的應(yīng)用程序包括檢測與所述被主存的應(yīng)用程序相對應(yīng)的主存元素何時被程序地添加到樹中,并且作為響應(yīng),實(shí)例化隱藏插件,并將所述被主存的應(yīng)用程序加載到被主存于插件中的所述隱藏插件中。
6.如權(quán)利要求1所述的方法,其特征在于,還包括將來自所述主存應(yīng)用程序的輸出與來自所述被主存的應(yīng)用程序的輸出合成。
7.如權(quán)利要求1所述的方法,其特征在于,還包括將參數(shù)從所述主存應(yīng)用程序傳達(dá)到所述被主存的應(yīng)用程序,或者控制所述被主存的應(yīng)用程序的動作以嘗試控制功耗,或者既將參數(shù)從所述主存應(yīng)用程序傳達(dá)到所述被主存的應(yīng)用程序,又控制所述被主存的應(yīng)用程序的動作以嘗試控制功耗。
8.如權(quán)利要求7所述的方法,其特征在于,傳達(dá)所述參數(shù)包括提供信息,其中所述被主存的應(yīng)用程序能通過所述信息選擇至少一個相關(guān)廣告。
9.如權(quán)利要求1所述的方法,其特征在于,還包括允許所述被主存的應(yīng)用程序執(zhí)行至少一個特權(quán)操作。
10.在計算環(huán)境中,一種系統(tǒng)包括,在瀏覽器(10 中運(yùn)行的第一插件(104),與所述第一插件相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)(110),所述數(shù)據(jù)結(jié)構(gòu)對應(yīng)于包括所述第一插件的用戶界面元素的元素樹,由所述第一插件(104)實(shí)例化為禁止訪問瀏覽器元素或其它瀏覽器主存的應(yīng)用程序元素的第二插件(112),所述第二插件對應(yīng)于所述樹中的主存元素(114),該主存元素與所述第二插件中加載的被主存的應(yīng)用程序相關(guān)聯(lián)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一插件與XAML代碼相關(guān)聯(lián),當(dāng)在解析所述XAML代碼的過程中檢測到所述XAML代碼中的與所述第二插件相對應(yīng)的標(biāo)簽元素時,將所述第二插件實(shí)例化,并且所述標(biāo)簽元素標(biāo)識被主存的應(yīng)用程序的源以及該被主存的應(yīng)用程序的呈現(xiàn)區(qū)域。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,還包括與所述第一插件相關(guān)聯(lián)的專用 API,其中所述第二插件由所述第一插件實(shí)例化并經(jīng)由所述專用API與所述第一插件通信。
13.—個或多個具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì),所述計算機(jī)可執(zhí)行指令在被執(zhí)行時執(zhí)行以下步驟,包括運(yùn)行第一應(yīng)用程序(104)作為在瀏覽器(10 中的第一插件,包括創(chuàng)建表示所述第一應(yīng)用程序的元素的元素樹(110);在所述第一插件(104)內(nèi)主存第二應(yīng)用程序(111),包括通過在所述元素樹中包含用于所述第一插件的主存元素(114),從而實(shí)例化(204)被禁止訪問所述瀏覽器的數(shù)據(jù)或所述第一插件的數(shù)據(jù)的第二插件,以及加載(206)第二應(yīng)用程序以在所述第二插件中運(yùn)行, 其中所述第二應(yīng)用程序提供用戶界面元素;以及通過處理所述第一應(yīng)用程序的用戶界面元素和所述第二應(yīng)用程序的用戶界面元素來呈現(xiàn)O10)可見輸出。
14.如權(quán)利要求13所述的一個或多個計算機(jī)可讀介質(zhì),其特征在于,所述第二應(yīng)用程序?qū)?yīng)于廣告,并且具有包括向所述第二應(yīng)用程序提供與頁面內(nèi)容相對應(yīng)的一個或多個關(guān)鍵詞的其它計算機(jī)可執(zhí)行指令。
15.如權(quán)利要求13所述的一個或多個計算機(jī)可讀介質(zhì),其特征在于,具有包括允許所述第二應(yīng)用程序打開瀏覽器窗口以顯示網(wǎng)站內(nèi)容的其它計算機(jī)可執(zhí)行指令。
全文摘要
本文描述了一種技術(shù),其中在瀏覽器中運(yùn)行的一個應(yīng)用程序能以防止被主存的應(yīng)用程序訪問瀏覽器數(shù)據(jù)或任何其它被主存的應(yīng)用程序(包括主存)的數(shù)據(jù)的隔離方式主存另一個應(yīng)用程序(例如,廣告)。主存和/或被主存的應(yīng)用程序可以是瀏覽器插件(例如,MicrosoftSilverlightTM)應(yīng)用程序。主存應(yīng)用程序私下將隱藏插件實(shí)例化以禁止隱藏插件訪問瀏覽器數(shù)據(jù),并且將被主存的應(yīng)用程序加載在隱藏插件中。XAML標(biāo)簽元素可用于標(biāo)識被主存的應(yīng)用程序以及被主存的應(yīng)用程序的呈現(xiàn)區(qū)域。來自被主存的應(yīng)用程序的內(nèi)容在呈現(xiàn)時與來自主存應(yīng)用程序的內(nèi)容合成。主存應(yīng)用程序可向被主存的應(yīng)用程序提供諸如用于選擇相關(guān)廣告的關(guān)鍵詞,和/或可允許被主存的應(yīng)用程序打開瀏覽器窗口以顯示相關(guān)聯(lián)的網(wǎng)站內(nèi)容。
文檔編號G06F17/30GK102246157SQ200980150141
公開日2011年11月16日 申請日期2009年11月11日 優(yōu)先權(quán)日2008年12月9日
發(fā)明者A·卡扎, M·R·哈什, S·喬治 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
瓦房店市| 宜章县| 弥渡县| 清水县| 临夏县| 南投县| 济南市| 逊克县| 宜兴市| 长垣县| 固始县| 宜兴市| 鄱阳县| 电白县| 沾化县| 巨鹿县| 新绛县| 韩城市| 章丘市| 达尔| 闻喜县| 永吉县| 历史| 旌德县| 荔波县| 青川县| 临沂市| 永济市| 丰原市| 溧水县| 陇川县| 平果县| 霍山县| 通州市| 泸州市| 合肥市| 周宁县| 阆中市| 临桂县| 南澳县| 尖扎县|