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

用于沙箱化應(yīng)用程序的介導(dǎo)數(shù)據(jù)交換的制作方法

文檔序號:9794010閱讀:552來源:國知局
用于沙箱化應(yīng)用程序的介導(dǎo)數(shù)據(jù)交換的制作方法
【技術(shù)領(lǐng)域】
[0001]所述實施例涉及計算設(shè)備。更具體地,所述實施例涉及在計算設(shè)備上執(zhí)行的沙箱應(yīng)用程序之間的介導(dǎo)數(shù)據(jù)交換。
【背景技術(shù)】
[0002]用于計算設(shè)備的一些操作系統(tǒng)支持“沙箱化”。沙箱化是一種用于防止在計算設(shè)備上執(zhí)行的應(yīng)用程序惡意或錯誤地改變數(shù)據(jù)(例如文件)和/或誤用計算設(shè)備上的計算資源的技術(shù)。在被“沙箱化”時,操作系統(tǒng)允許應(yīng)用程序僅訪問計算設(shè)備中的有限的資源集,并被阻止訪問除應(yīng)用程序自身數(shù)據(jù)之外的數(shù)據(jù)。因此,例如在這些計算設(shè)備中,允許應(yīng)用程序自由訪問(即,從其讀取,向其寫入,刪除等)應(yīng)用程序自身的文件,但操作系統(tǒng)阻止應(yīng)用程序訪問屬于其他應(yīng)用程序的文件。
[0003]盡管沙箱化對于阻止應(yīng)用程序惡意或錯誤改變數(shù)據(jù)和/或誤用計算設(shè)備上的計算資源是有用的,但沙箱化大大限制了應(yīng)用程序之間的交互。例如,盡管能夠創(chuàng)建和/或修改其自身的文件,但沙箱化應(yīng)用程序不能夠向另一個應(yīng)用程序傳送那些文件或從另一個應(yīng)用程序接收文件。對沙箱化應(yīng)用程序的交互施加此類限制可能會使用戶感到沮喪,因為用戶們已習(xí)慣了可自由通信的非沙箱化應(yīng)用程序。為了避免使用戶感到沮喪,設(shè)計者們提供了工作區(qū)以使得沙箱化應(yīng)用程序能夠與其他應(yīng)用程序進行交互。例如,設(shè)計者向沙箱化應(yīng)用程序和其他應(yīng)用程序中的一者或兩者以及操作系統(tǒng)增加定制的程序代碼,以使得在給定的沙箱化應(yīng)用程序和一個其他應(yīng)用程序之間能夠?qū)崿F(xiàn)基本的交互。然而,現(xiàn)有工作區(qū)需要根據(jù)每種情況來修改應(yīng)用程序代碼和/或操作系統(tǒng)代碼以啟用工作區(qū)。
【附圖說明】
[0004]圖1呈現(xiàn)了用于示出根據(jù)一些實施例的計算設(shè)備的框圖。
[0005]圖2呈現(xiàn)了根據(jù)一些實施例的操作系統(tǒng)和應(yīng)用程序。
[0006]圖3呈現(xiàn)了用于示出根據(jù)一些實施例的代理應(yīng)用程序和用于應(yīng)用程序的沙箱的框圖。
[0007]圖4示出了根據(jù)一些實施例的在對應(yīng)的注冊操作期間的應(yīng)用程序和代理應(yīng)用程序之間的通信。
[0008]圖5呈現(xiàn)了用于示出根據(jù)一些實施例的在介導(dǎo)數(shù)據(jù)交換期間的應(yīng)用程序和代理應(yīng)用程序之間的通信的框圖。
[0009]圖6呈現(xiàn)了用于示出根據(jù)一些實施例的在計算設(shè)備的顯示器上呈現(xiàn)的交互式圖形用戶界面的框圖。
[0010]圖7呈現(xiàn)了用于示出根據(jù)一些實施例的在計算設(shè)備的顯示器上呈現(xiàn)的具有視圖的幀的框圖。
[0011]圖8呈現(xiàn)了用于示出根據(jù)一些實施例的在介導(dǎo)數(shù)據(jù)交換期間的應(yīng)用程序和代理應(yīng)用程序之間的通信的框圖。
[0012]圖9呈現(xiàn)了用于示出根據(jù)一些實施例的用于執(zhí)行介導(dǎo)數(shù)據(jù)交換的過程的流程圖。
[0013]圖10呈現(xiàn)了用于示出根據(jù)一些實施例的用于執(zhí)行介導(dǎo)數(shù)據(jù)交換的過程的流程圖。
[0014]在整個附圖和說明書中,類似的參考編號是指相同的附圖元件。
【具體實施方式】
[0015]提供以下描述以使得本領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)和使用所述實施例,并且以下描述是以特定應(yīng)用程序及其要求的上下文提供的。各種修改形式對于本領(lǐng)域的技術(shù)人員而言將是顯而易見的,并且本文中所限定的一般性原則可應(yīng)用于其他實施例和應(yīng)用程序,而不脫離所述實施例的實質(zhì)和范圍。因此,所述實施例不限于所示出的實施例,而是要被賦予符合本文所公開的原理和特征的最寬泛的范圍。
[0016]在一些實施例中,計算設(shè)備(例如,圖1的計算設(shè)備100)使用被存儲在計算機可讀存儲介質(zhì)上的代碼和/或數(shù)據(jù)來執(zhí)行本文所述的一些或全部操作。更具體地,計算設(shè)備從計算機可讀存儲介質(zhì)讀取代碼和/或數(shù)據(jù)并在執(zhí)行所述操作時執(zhí)行代碼和/或數(shù)據(jù)或使用數(shù)據(jù)。
[0017]計算機可讀存儲介質(zhì)可以是存儲供計算設(shè)備使用的代碼和/或數(shù)據(jù)的任何設(shè)備或介質(zhì)或其組合。例如,計算機可讀存儲介質(zhì)可包括但不限于易失性存儲器或非易失性存儲器,包括閃存存儲器、隨機存取存儲器(eDRAM、RAM、SRAM、DRAM、DDR、DDR2/DDR3/DDR4 SDRAM等)、只讀存儲器(ROM)和/或磁存儲介質(zhì)或光學(xué)存儲介質(zhì)(例如,磁盤驅(qū)動器、磁帶、CD、DVD)。在所述實施例中,計算機可讀存儲介質(zhì)不包括非法定計算機可讀存儲介質(zhì)諸如晶體管信號。
[0018]在一些實施例中,一個或多個硬件模塊被配置為執(zhí)行本文所述的操作。例如,硬件模塊可包括但不限于一個或多個處理器/處理器內(nèi)核/中央處理單元(CPU)、專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)、高速緩存/高速緩存控制器、嵌入式處理器、圖形處理器(GPU)/圖形處理器內(nèi)核、管線和/或可編程邏輯器件。在激活此類硬件模塊時,硬件模塊執(zhí)行一些或全部操作。在一些實施例中,硬件模塊包括可通過執(zhí)行指令(程序代碼、固件/微代碼等)來進行配置以執(zhí)行操作的一個或多個通用電路。
[0019]在一些實施例中,表示本文所述的一些或全部結(jié)構(gòu)和機構(gòu)(例如,一些或全部計算設(shè)備100(參見圖1))的數(shù)據(jù)結(jié)構(gòu)被存儲在計算機可讀存儲介質(zhì)上,該計算機可讀存儲介質(zhì)包括數(shù)據(jù)庫或其他數(shù)據(jù)結(jié)構(gòu),計算設(shè)備可直接或間接讀取該數(shù)據(jù)庫或其他數(shù)據(jù)結(jié)構(gòu)以制造包括結(jié)構(gòu)和機構(gòu)的硬件。例如,數(shù)據(jù)結(jié)構(gòu)可以是高級設(shè)計語言(HDL)中的硬件功能的行為級別描述或寄存器傳輸級別(RTL)描述諸如Verilog或VHDL。該描述可由合成工具讀取,該合成工具可合成描述以從合成庫產(chǎn)生網(wǎng)表,該網(wǎng)表包括門/電路元件的列表,該合成庫表示包括上述結(jié)構(gòu)和機構(gòu)的硬件的功能。然后可放置并路由網(wǎng)表,以產(chǎn)生用于描述要應(yīng)用到掩模的幾何形狀的數(shù)據(jù)集。然后可在各種半導(dǎo)體制造步驟中使用掩模,以產(chǎn)生與上述結(jié)構(gòu)和機構(gòu)對應(yīng)的一個或多個半導(dǎo)體電路。作為另外一種選擇,計算機可訪問存儲介質(zhì)上的數(shù)據(jù)庫可以是期望的網(wǎng)表(具有或沒有合成庫)或數(shù)據(jù)集,或者是圖形數(shù)據(jù)系統(tǒng)(GDS)II數(shù)據(jù)。
[0020]在以下描述中,在描述一些實施例時可參考功能塊。通常,功能塊包括執(zhí)行所述操作的一個或多個相關(guān)電路(例如,邏輯電路、存儲器電路、控制電路等)。在一些實施例中,功能塊中的電路包括執(zhí)行程序代碼(例如,機器代碼、固件等)以執(zhí)行所述操作的電路。
[0021]
[0022]在所述實施例中,至少一個應(yīng)用程序在由執(zhí)行應(yīng)用程序的計算設(shè)備上的操作系統(tǒng)針對該應(yīng)用程序所維護的“沙箱”中執(zhí)行。在這些實施例中,沙箱通常是計算設(shè)備上的可由沙箱化應(yīng)用程序訪問的數(shù)據(jù)和資源中的限制。例如,在一些實施例中,沙箱化應(yīng)用程序(即,在沙箱的約束內(nèi)工作的應(yīng)用程序)被限于訪問應(yīng)用程序自身的數(shù)據(jù)(例如,文件)和計算設(shè)備中的特定資源(例如,計算設(shè)備的存儲器中的區(qū)域等),從而被阻止訪問位于沙箱外部的文件和/或資源。所述實施例包括代理應(yīng)用程序,該代理應(yīng)用程序?qū)崿F(xiàn)沙箱化應(yīng)用程序和工作于計算設(shè)備上的其他應(yīng)用程序(包括其他沙箱化應(yīng)用程序)之間的介導(dǎo)數(shù)據(jù)交換。
[0023]為了執(zhí)行介導(dǎo)數(shù)據(jù)交換,在一些實施例中,代理應(yīng)用程序從沙箱化應(yīng)用程序接收通信,該通信指示沙箱化應(yīng)用程序希望導(dǎo)入或?qū)С鼋o定類型的數(shù)據(jù)(例如,文本、文檔文件、圖像文件/視頻文件、流傳輸文件等)。代理應(yīng)用程序然后確定計算設(shè)備上的已利用代理注冊的一個或多個其他應(yīng)用程序能夠處理該類型的數(shù)據(jù)。接下來,代理應(yīng)用程序(例如,經(jīng)由計算設(shè)備100的顯示器向用戶)傳送可用的其他應(yīng)用程序的標識符,并接收用于指示要參與數(shù)據(jù)的導(dǎo)入或?qū)С龅钠渌麘?yīng)用程序中的一個其他應(yīng)用程序的響應(yīng)。代理然后激活其他應(yīng)用程序并在應(yīng)用程序之間交換數(shù)據(jù)。例如,在要從另一個應(yīng)用程序向沙箱化應(yīng)用程序中導(dǎo)入數(shù)據(jù)的情況下,代理應(yīng)用程序可從所選擇的其他應(yīng)用程序請求數(shù)據(jù),接收所請求的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)至沙箱化應(yīng)用程序。作為另一個實例,在要從沙箱化應(yīng)用程序向另一個應(yīng)用程序?qū)С鰯?shù)據(jù)的情況下,沙箱化應(yīng)用程序可向代理指示數(shù)據(jù),并且代理可請求(例如,存儲器中的或文件系統(tǒng)的目錄中的)位置,以用于放置來自所選擇的其他應(yīng)用程序的數(shù)據(jù),然后可在該位置中放置該數(shù)據(jù)。
[0024]在所述實施例中,在介導(dǎo)數(shù)據(jù)交換期間,維護用于沙箱化應(yīng)用程序的沙箱;不允許沙箱化應(yīng)用程序直接訪問位于沙箱外部的數(shù)據(jù)或資源。相反,代理應(yīng)用程序(在沙箱內(nèi)部和外都具有許可)從沙箱化應(yīng)用程序接收通信并代表沙箱化通信與所選擇的其他應(yīng)用程序進行通信,包括處理往返于沙箱的數(shù)據(jù)交換。
[0025]如上所述,在所述實施例中,代理應(yīng)用程序進行介導(dǎo)數(shù)據(jù)交換,以用于向計算設(shè)備上的沙箱化應(yīng)用程序?qū)霐?shù)據(jù)或從其導(dǎo)出輸入。因為代理應(yīng)用程序具有簡化并已知的接口,所以所述實施例避免了對應(yīng)用程序和/或操作系統(tǒng)大量定制編程的需求,以使得沙箱化應(yīng)用程序能夠?qū)牖驅(qū)С鰯?shù)據(jù)。
[0026]計算設(shè)備
[0027]圖1呈現(xiàn)了用于示出根據(jù)所述實施例的計算設(shè)備100的框圖。在圖1中可看出,計算設(shè)備100包括處理子系統(tǒng)102、存儲器子系統(tǒng)104、聯(lián)網(wǎng)子系統(tǒng)106和顯示子系統(tǒng)108。
[0028]處理子系統(tǒng)102是被配置為在計算設(shè)備100中執(zhí)行計算操作的功能塊。例如,處理子系統(tǒng)102可包括但不限于一個或多個處理器和/或處理器內(nèi)核(例如,中央處理單元(CPU)內(nèi)核、圖形處理單元(GPU)內(nèi)核等)、專用集成電路(ASIC)、微控制器和/或可編程邏輯器件。
[0029]存儲器子系統(tǒng)104是被配置為存儲供處理子系統(tǒng)102、聯(lián)網(wǎng)子系統(tǒng)106和/或顯示子系統(tǒng)108使用的數(shù)據(jù)和/或指令的功能塊。例如,存儲器子系統(tǒng)104可包括但不限于以下各項中的一者或多者:靜態(tài)隨機存取存儲器(SRAM)、嵌入式動態(tài)隨機存取存儲器(eDRAM)、DRAM、雙倍數(shù)據(jù)速率同步DRAM(DDR SDRAM)、閃存存儲器和/或其他類型的存儲器電路以及用于控制對存儲器的存取的電路。在一些實施例中,存儲器子系統(tǒng)104包括存儲器分級體系,該存儲器分級體系具有耦接到計算設(shè)備100的存儲器的一個或多個高速緩存的布置。在這些實施例中的一些實施例中,處理子系統(tǒng)102還包括一個或多個高速緩存。此外,在一些實施例中,存儲器子系統(tǒng)104連接到一個或多個高容量海量存儲設(shè)備(未示出)。例如,存儲器子系統(tǒng)104可耦接到磁驅(qū)動器或光盤驅(qū)動器、固態(tài)驅(qū)動器、或另一種類型的海量存儲設(shè)備。
[0030]聯(lián)網(wǎng)子系統(tǒng)106是被配置為訪問、耦接到并在一個或多個有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò)上進行通信的功能塊。例如,聯(lián)網(wǎng)子系統(tǒng)106可包括但不限于Bluetooth?聯(lián)網(wǎng)系統(tǒng)、蜂窩聯(lián)網(wǎng)系統(tǒng)(例如EDGE、UMTS、HSDPA、LTE等)、通用串行總線(USB)聯(lián)網(wǎng)系統(tǒng)、基于電氣和電子工程師協(xié)會(IEEE)802.11中所描述的標準的聯(lián)網(wǎng)系統(tǒng)(S卩802.11無線網(wǎng)絡(luò))、以太網(wǎng)聯(lián)網(wǎng)系統(tǒng)、或者有線或無線個人局域網(wǎng)(PAN)系統(tǒng)(例如基于IEEE 802.15中所述的標準的網(wǎng)絡(luò))。聯(lián)網(wǎng)子系統(tǒng)106可包括:控制器、用于無線網(wǎng)絡(luò)連接的無線電收發(fā)設(shè)備/天線、用于硬連線電連接件的插座/插頭、和/或用于耦接到有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò)、在有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò)上通信、以及處理有線網(wǎng)絡(luò)和/或無線網(wǎng)絡(luò)上的數(shù)據(jù)和事件的其他設(shè)備。
[0031]顯示子系統(tǒng)108是被配置為在計算設(shè)備100的一個或多個界面(例如,顯示屏、指示器、發(fā)光二極管等)上顯示信息(例如,用戶界面、圖形等)的功能塊。例如,顯示子系統(tǒng)108可包括但不限于觸敏顯示屏和電路以及用于在顯示屏上顯示信息的機構(gòu)。
[0032]在計算設(shè)備100內(nèi),處理子系統(tǒng)102、存儲器子系統(tǒng)104、聯(lián)網(wǎng)子系統(tǒng)106以及顯示子系統(tǒng)108(統(tǒng)稱為“子系統(tǒng)”)通過總線110耦接在一起。總線110包括一個或多個信號線、控制器等,子系統(tǒng)可使用該總線彼此通信。例如,總線110可包括一個或多個分組總線、專用信號線等。
[0033]計算設(shè)備100可以是若干種不同類型的設(shè)備中的任一種設(shè)備或可并入其中。通常,這些設(shè)備包括可執(zhí)行本文所述的操作的任何設(shè)備。例如,計算設(shè)備100可以臺式計算機、膝上型計算機、服務(wù)器、媒體播放器、家用電器、小型筆記本計算機/上網(wǎng)本、平板電腦、蜂窩電話、一件測試設(shè)備、網(wǎng)絡(luò)家用電器、機頂盒、個人數(shù)字助理(PDA)、智能電話、玩具、控制器、或其他設(shè)備是或者可并入這些設(shè)備中。
[0034]盡管使用特定數(shù)量和布置的子系統(tǒng)描述了實施例,但一些實施例包括不同數(shù)量和/或布置的子系統(tǒng)。例如,一些實施例包括兩個、四個或不同數(shù)量的處理子系統(tǒng)。作為另一個實例,在一些實施例中,計算設(shè)備100包括附加子系統(tǒng)。在這些實施例中,計算設(shè)備100可包括但不限于一個或多個電力子系統(tǒng)(從一個或多個外部電源、電池等向圖示的子系統(tǒng)提供電力)、媒體處理子系統(tǒng)(例如,音頻/處理器視頻處理器等)和/或輸入-輸出子系統(tǒng)(鍵盤
當(dāng)前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1