專利名稱:按過程的連網(wǎng)能力的制作方法
按過程的連網(wǎng)能力
背景技術(shù):
用戶可以獲得用于由計算設(shè)備來執(zhí)行的可執(zhí)行代碼(例如,軟件)的方式在不斷增力口。例如,用戶傳統(tǒng)上敢于去“實體”商店來查找(locate)并購買應(yīng)用,所述應(yīng)用隨后由用戶來手動安裝。因此,由于商店自身的聲譽以及軟件開發(fā)者的聲譽,用戶通常能信任該軟件。然而,隨著應(yīng)用賣場(marketplace)的出現(xiàn),用戶可以從成百甚至上千個不同開發(fā)者獲得數(shù)以千計的不同類型的應(yīng)用。因此,用戶可以在計算設(shè)備上安裝來自廣泛的源的眾多應(yīng)用,其中一些源可以甚至導(dǎo)致一個應(yīng)用危害另一應(yīng)用。因此,用戶甚至賣場自身難以確定這些應(yīng)用是否是可信賴的,并且因而應(yīng)該被允許訪問用戶的計算設(shè)備的功能。該困難可能被惡意方進(jìn)一步加劇,該惡意方可以攻擊應(yīng)用以訪問應(yīng)用所支持的功能,例如訪問甚至是用于源自可信賴源的應(yīng)用的敏感數(shù)據(jù)。
發(fā)明內(nèi)容
描述了按過程的連網(wǎng)能力技術(shù)。在一個或多個實施方式中,基于與在計算設(shè)備上執(zhí)行的過程相關(guān)的標(biāo)記,確定關(guān)于是否允許該過程訪問網(wǎng)絡(luò)能力。該標(biāo)記具有一個或多個安全標(biāo)識符,其引用一個或多個在清單(manifest)中描述的網(wǎng)絡(luò)能力?;谠摯_定來管理對網(wǎng)絡(luò)能力的訪問。在一個或多個實施方式中,網(wǎng)絡(luò)被探測以識別代理服務(wù)器、子網(wǎng)或遠(yuǎn)程可訪問網(wǎng)絡(luò)?;诖矸?wù)器或子網(wǎng)的識別以及對與在計算設(shè)備上執(zhí)行的過程相關(guān)的標(biāo)記的審查來管理該過程對網(wǎng)絡(luò)的網(wǎng)絡(luò)能力的訪問。標(biāo)記具有一個或多個安全標(biāo)識符,其引用允許該過程所使用的、在清單中描述的網(wǎng)絡(luò)能力。這可以以安全的方式來執(zhí)行,該安全的方式?jīng)]有被配置為受該過程影響。在一個或多個實施方式中,一個或多個計算機可讀存儲介質(zhì)包括存儲在其上的指令,響應(yīng)于在計算設(shè)備上的執(zhí)行,該指令使得計算設(shè)備執(zhí)行操作系統(tǒng)以形成具有一個或多個安全標(biāo)識符的標(biāo)記,所述一個或多個安全標(biāo)識符引用清單中描述的網(wǎng)絡(luò)能力,該清單對應(yīng)于通過由計算設(shè)備對執(zhí)行代碼的執(zhí)行來形成的過程,所述執(zhí)行代碼和清單從包(package)被安裝在計算設(shè)備上,標(biāo)記可由操作系統(tǒng)使用來管理過程對網(wǎng)絡(luò)能力的訪問。提供此發(fā)明內(nèi)容來以簡要形式介紹一些概念選集,其將在以下具體實施例中進(jìn)一步介紹。此發(fā)明內(nèi)容不旨在標(biāo)識要求保護主題的關(guān)鍵特征或必要特征,也不旨在用來幫助確定要求保護主題的范圍。
參考附圖來描述具體實施例。在圖中,附圖標(biāo)記的最左邊的一個或多個數(shù)字標(biāo)識該附圖標(biāo)記首次出現(xiàn)在哪個圖中。說明書和附圖中的不同實例中使用的相同附圖標(biāo)記指示相似或相同的項。圖I是可用于執(zhí)行按過程連網(wǎng)能力技術(shù)的示例實施方式中的環(huán)境的圖示。
圖2是示出按過程連網(wǎng)能力技術(shù)的示例實施方式的示例實施方式中的系統(tǒng)的圖
/Jn ο圖3是示出按過程連網(wǎng)能力技術(shù)的示例實施方式的示例實施方式中的系統(tǒng)的另
一圖示。圖4是描繪具有可執(zhí)行代碼的包和清單被安裝在計算設(shè)備上并用以響應(yīng)于發(fā)起執(zhí)行代碼的執(zhí)行來形成標(biāo)記的示例實施方式中的過程的流程圖。圖5是描繪計算設(shè)備使用在圖4中形成的標(biāo)記來管理對能力的訪問的示例實施方式中的過程的流程圖。圖6是描繪探測連同標(biāo)記被一起使用來管理對網(wǎng)絡(luò)能力的按過程訪問的示例實 施方式中的過程的流程圖。圖7圖示了包括如參考圖I所述的計算設(shè)備的示例系統(tǒng)。圖8圖示了示例設(shè)備的各種組件,該示例設(shè)備可以實現(xiàn)為如參考圖1-3和7所述的任意類型的計算設(shè)備以實現(xiàn)本文中描述的技術(shù)的實施例。
具體實施例概覽
傳統(tǒng)上,執(zhí)行在計算設(shè)備上的應(yīng)用被允許訪問計算設(shè)備的大多數(shù)(如果不是全部的話)功能,甚至不管是否期望該訪問。這可以包括對網(wǎng)絡(luò)的不受約束的訪問。然而,在一些實例中,這些同樣的應(yīng)用可能被惡意方所利用。這些惡意方因而可以使用不受約束的訪問來訪問互聯(lián)網(wǎng)上的資源、接收未經(jīng)同意的連接、訪問聯(lián)網(wǎng)功能等等。因此,給予這些應(yīng)用的寬泛的訪問現(xiàn)在可能給用戶的計算設(shè)備以及計算設(shè)備可訪問的設(shè)備呈現(xiàn)顯著的風(fēng)險。描述了按過程網(wǎng)絡(luò)能力技術(shù)。在一個或多個實施方式中,使用能力模型來確保應(yīng)用能夠訪問開發(fā)者限定的網(wǎng)絡(luò)資源,而不能訪問開發(fā)者沒有限定的其他網(wǎng)絡(luò)資源。因而,該能力模型可以防止被利用的應(yīng)用利用通常不被該應(yīng)用所使用的網(wǎng)絡(luò)資源。通過此方式,模型可以用來確保被盜用(compiOmised)的應(yīng)用被限制于訪問限定的網(wǎng)絡(luò)能力并且限制利用被開發(fā)者限定為應(yīng)用不可訪問的網(wǎng)絡(luò)能力。還設(shè)想了各種其他示例,可以參考以下章節(jié)找到對于這些示例的進(jìn)一步討論。在以下討論中,首先描述可以采用本文中描述的網(wǎng)絡(luò)能力技術(shù)的示例環(huán)境。隨后,描述可以在示例環(huán)境和其他環(huán)境中執(zhí)行的示例過程。因此,執(zhí)行所述示例過程不限于示例環(huán)境并且示例環(huán)境不限于執(zhí)行示例過程。示例環(huán)境
圖I圖示了根據(jù)一個或多個實施例的操作環(huán)境,通常在100處。環(huán)境100包括計算設(shè)備102,其具有可以包括一個或多個處理器的處理系統(tǒng)104、示出為存儲器106的計算機可讀存儲介質(zhì)的示例、操作系統(tǒng)108和一個或多個應(yīng)用108。計算設(shè)備102可以體現(xiàn)為任意合適的計算設(shè)備,例如,以示例而非限制的方式,桌面計算機、便攜式計算機、諸如個人數(shù)字助理(PDA)的手持計算機、移動電話、平板計算機等等。下面在圖6和7中示出和描述了計算設(shè)備102的不同示例。計算設(shè)備102還包括操作系統(tǒng)108,其被圖示為在處理系統(tǒng)104上執(zhí)行并且可以存儲在存儲器106中。計算設(shè)備102進(jìn)一步包括應(yīng)用110,其被圖示為存儲在存儲器106中并且也可以在處理系統(tǒng)104上執(zhí)行。操作系統(tǒng)108代表計算設(shè)備102的功能,該功能可以抽象底層的硬件和軟件資源以供應(yīng)用110使用。例如,操作系統(tǒng)108可以抽象數(shù)據(jù)如何顯示在顯示設(shè)備112上的功能,而應(yīng)用110不必“知曉”如何實現(xiàn)該顯示。還設(shè)想了各種其他示例,例如抽象計算設(shè)備102的處理系統(tǒng)104和存儲器106資源、網(wǎng)絡(luò)資源等。計算設(shè)備102還被圖示為包括過程管理器模塊114。過程管理器模塊114代表計算設(shè)備102管理可執(zhí)行代碼訪問計算設(shè)備102的能力的功能。例如,計算設(shè)備102可以接收具有可執(zhí)行代碼118 (例如,應(yīng)用)的包116以用于安裝在計算設(shè)備102上。包116還可以包括由可執(zhí)行代碼118的開發(fā)者生成的清單120,其描述了計算設(shè)備102的一個或多個能力122,所述一個或多個能力122可以包括計算設(shè)備102訪問網(wǎng)絡(luò)124的能力。因而,該描述可以描述允許和/或不允許通過執(zhí)行可執(zhí)行代碼118形成的過程訪問計算設(shè)備102的哪些能力。例如,清單120可以列出將使得過程可以訪問的能力和/或可以列出將使得該過程不可以訪問的能力。通過這樣的方式,可執(zhí)行代碼118的開發(fā)者可以在清單120中指定能力以有助于降低或甚至消除惡意方盜用應(yīng)用來訪問可執(zhí)行代碼118通常不訪問的能力 的本領(lǐng)(ability)。過程管理器模塊114例如可以將防火墻功能利用為該模塊自身的一部分,或者與另一模塊,例如專用防火墻模塊進(jìn)行通信。該功能可以用來允許或拒絕訪問網(wǎng)絡(luò)124,如包116的清單所指定的那樣。因而,可執(zhí)行代碼118可以如代碼的開發(fā)者設(shè)想的那樣工作,并從而有助于降低惡意方盜用代碼的機會。可以從各種不同的源接收包116以用于安裝在計算設(shè)備102上。例如,應(yīng)用服務(wù)126 (例如,應(yīng)用商店)可由計算設(shè)備102經(jīng)由網(wǎng)絡(luò)124 (例如,因特網(wǎng))來訪問。在購買時,包括可執(zhí)行代碼118和清單120的包116可以經(jīng)由網(wǎng)絡(luò)124傳輸以用于安裝在計算設(shè)備102上。在另一示例中,用戶可以獲取包含包116的計算機可讀存儲介質(zhì)(例如,光盤)??梢詤⒖紙D2找到對于在計算設(shè)備上安裝包括可執(zhí)行代碼118和清單的包116的進(jìn)一步討論。通常,本文中描述的任意功能都可以使用軟件、固件、硬件(例如,固定的邏輯電路)或這些實施方式的組合來實現(xiàn)。本文中使用的術(shù)語“模塊”、“功能”和“邏輯”通常代表軟件、固件、硬件或其組合。在軟件實施方式的情況下,模塊、功能或邏輯代表在處理器(如一個或多個CPU)上被執(zhí)行時執(zhí)行指定任務(wù)的程序代碼。該程序代碼可以存儲在一個或多個計算機可讀存儲器設(shè)備中。下述技術(shù)的特征是平臺獨立的,意指該技術(shù)可以實現(xiàn)在具有各種處理器的各種商業(yè)計算平臺上。例如,計算設(shè)備102還可以包括這樣的實體(例如,軟件),其使得計算設(shè)備102的硬件執(zhí)行操作,例如處理器、功能塊等。例如,計算設(shè)備102可以包括這樣的計算機可讀媒介,其被配置為維護使得計算設(shè)備,更具體地計算設(shè)備102的硬件來執(zhí)行操作的指令。因而,所述指令工作以配置硬件來執(zhí)行操作,并且通過這樣的方式導(dǎo)致變換硬件來執(zhí)行功能。計算機可讀媒介可以通過各種不同的配置來將指令提供給計算設(shè)備102。一種這樣的計算機可讀媒介的配置為信號承載媒介,并因而被配置為比如經(jīng)由網(wǎng)絡(luò)將指令(例如作為載波)發(fā)送到計算設(shè)備的硬件。計算機可讀媒介還可以被配置為計算機可讀存儲媒介,并因而不是信號承載媒介。計算機可讀存儲媒介的示例包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、光盤、快閃存儲器、硬盤存儲器以及可以使用磁、光學(xué)和其他技術(shù)來存儲指令和其他數(shù)據(jù)的其他存儲器設(shè)備。
圖2是示例實施方式中的系統(tǒng)200的圖示,該示例實施方式示出包116安裝在計算設(shè)備102上和形成管理過程對計算設(shè)備的網(wǎng)絡(luò)能力的訪問的標(biāo)記。如前所述,當(dāng)開發(fā)者創(chuàng)建可執(zhí)行代碼118時,還可以創(chuàng)建清單120,其包含被聲明用于通過執(zhí)行代碼實現(xiàn)的過程的能力122的集合。這些能力122可以在安裝期間注冊,這被圖示為圖2中的包部署202。例如,可以經(jīng)由應(yīng)用目錄204安裝可執(zhí)行代碼118以用于使用。清單中描述的能力122可以安裝在能力存儲裝置206中并且與包116和/或可執(zhí)行代碼118本身的身份相關(guān)。在一個或多個實施方式中,能力存儲裝置206被配置為防篡改的(例如物理和/或電子地),使得惡意方不能訪問或修改其中描述的能力122,以便防止過程自身的訪問。在源自于執(zhí)行可執(zhí)行代碼118的過程創(chuàng)建208期間,獲取可由過程管理器模塊114 使用的標(biāo)識符來定位針對過程210描述的能力,例如,上述包116、可執(zhí)行代碼118等的標(biāo)識符。這些能力122隨后被用作過程創(chuàng)建208的部分以形成標(biāo)記212,過程管理器模塊114可以使用該標(biāo)記212來控制對計算設(shè)備102的能力的訪問。標(biāo)記212例如可以包括一個或多個安全標(biāo)識符214,其對應(yīng)于針對該過程在能力存儲裝置206中描述的能力212的一個或多個。換言之,標(biāo)記212被填充有與包116關(guān)聯(lián)的相關(guān)能力,作為安全標(biāo)識符214。因而,過程管理器模塊114可以使用標(biāo)記212在過程210請求訪問能力時確定是否將允許該過程210的訪問。在一個或多個實施方式中,過程210不能操縱標(biāo)記212。標(biāo)記212還可以允許過程210參與針對能力(例如資源的ACL)的訪問使用驗證檢查。進(jìn)一步地,過程管理器模塊114還可以實現(xiàn)這些技術(shù),其中包括在授權(quán)訪問能力之前基于能力(或能力組合)的存在的決定。因為過程210不能直接訪問標(biāo)記,所以過程管理器模塊114可以充當(dāng)代理,其利用標(biāo)記212的不變性來確保適當(dāng)?shù)脑L問被授權(quán)給過程210。安全標(biāo)識符214可以引用各種不同的能力122。另外,安全標(biāo)識符214可以以各種方式來引用這些能力。例如,開發(fā)者可以創(chuàng)建可執(zhí)行代碼118 (例如應(yīng)用)和清單120,該清單120包含針對包116中的每個過程聲明的能力的集合,該過程通過執(zhí)行可執(zhí)行代碼118來實現(xiàn)。該包116還可以具有“強身份”,其中在安裝包116時使用該身份將網(wǎng)絡(luò)能力注冊到操作系統(tǒng)108。因此,當(dāng)后續(xù)啟動過程210 (其將包身份包括作為過程創(chuàng)建參數(shù))時,標(biāo)記212填充有過程身份和網(wǎng)絡(luò)能力,它們可以被填充為安全標(biāo)識符214。進(jìn)一步地,操作系統(tǒng)108可以防止過程210修改標(biāo)記212。在一個或多個實施方式中,子過程可以繼承身份和網(wǎng)絡(luò)能力的子集,其中該子集由父過程定義??梢酝ㄟ^清單120來指定各種不同的能力122以用于管理過程210的訪問使用,例如,從預(yù)定義的網(wǎng)絡(luò)能力到豐富的防火墻類型規(guī)則。例如,可以定義“互聯(lián)網(wǎng)-客戶端”能力來管理過程210對網(wǎng)絡(luò)124 (例如,互聯(lián)網(wǎng))的向外連接的訪問。在另一示例中,可以定義“互聯(lián)網(wǎng)客戶端/服務(wù)器”能力來允許向內(nèi)(incoming)和向外(outgoing)的網(wǎng)絡(luò)124連接。該能力例如可以用來允許過程接受來自因特網(wǎng)的未經(jīng)同意的連接,以及通過防火墻發(fā)送和接收數(shù)據(jù)。在進(jìn)一步的示例中,可以定義“私有網(wǎng)絡(luò)客戶端服務(wù)器(PrivateNetworkCl i entServer ) ”能力來允許在同樣定義的網(wǎng)絡(luò)124 (例如,家庭網(wǎng)絡(luò)、工作網(wǎng)絡(luò)、內(nèi)部網(wǎng)等等)上與計算設(shè)備來回通信。還設(shè)想了各種其他示例,以使得可以創(chuàng)建豐富的引用能力的防火墻規(guī)則,這些能力可以變得甚至更加特定和豐富,例如訪問特定的端口。通過這樣的方式,使用標(biāo)記212中的安全標(biāo)識符214可以允許過程管理器模塊114管理過程210對網(wǎng)絡(luò)能力的訪問,其示例參考下圖描述。圖3描繪了示例實施方式中的系統(tǒng),其示出通過圖I的過程管理器模塊來管理過程對網(wǎng)絡(luò)能力的訪問。當(dāng)過程210請求訪問網(wǎng)絡(luò)124時,過程管理器模塊114驗證應(yīng)用身份(例如,包ID 302),并確保由標(biāo)記212指定的網(wǎng)絡(luò)能力304、306是能力存儲裝置206中的在安裝時注冊的網(wǎng)絡(luò)能力的子集。如果剩余的能力對于網(wǎng)絡(luò)通信是足夠的 ,則允許通信。否則,阻塞通信。因而,過程管理器模塊114可以充當(dāng)防火墻的一部 分來允許和/或拒絕訪問計算設(shè)備102的網(wǎng)絡(luò)能力。在一個或多個實施方式中,可以允許應(yīng)用訪問在能力存儲裝置206中注冊的能力的全集。然而,過程210還可能創(chuàng)建子過程,其中該子過程不具有父過程可用的訪問權(quán)限的全集。如前所述,可以聲明各種不同的能力。進(jìn)一步地,這些能力可以組合來給予過程210對于出站連接(例如客戶端)或入站(inbound)和出站(outbound)連接(例如客戶端&服務(wù)器)的互聯(lián)網(wǎng)和內(nèi)部網(wǎng)(例如,私有網(wǎng)絡(luò))訪問?;ヂ?lián)網(wǎng)能力還可以允許訪問HTTP代理。例如,過程管理器模塊114可以主動地探測網(wǎng)絡(luò)來確定是否存在代理服務(wù)器或子網(wǎng),因此綁定到私有網(wǎng)絡(luò)(例如內(nèi)部網(wǎng))或互聯(lián)網(wǎng)的連網(wǎng)能力可以被正確地利用。如果活動目錄(Active Directory)服務(wù)器包含有關(guān)子網(wǎng)定義的特定信息,則過程管理器模塊114還可以利用該信息來幫助確定子網(wǎng)的邊緣(edge)。還可以采用這樣的機制,其中通過行政(administrative)管理工具預(yù)先定義子網(wǎng)和代理,并因而不涉及探測。在沒有這樣的通過探測和/或使用行政管理工具規(guī)定的情況下,可能會給一些設(shè)備分配不正確的網(wǎng)絡(luò)類型,并且因而過程管理器模塊114可能會不正確地允許或拒絕訪問。因而,過程管理器模塊114可以基于該標(biāo)識(例如,經(jīng)由內(nèi)部網(wǎng)或因特網(wǎng)是否可用)來正確地管理能力。在一個或多個實施方式中,被認(rèn)為是至關(guān)重要的端口被阻塞未經(jīng)同意的入站訪問來防止使用相同機制的常見攻擊向量。這些設(shè)置也可以經(jīng)由策略(policy)人工地配置。也可以保護回路(例如,使用127. 0. 0. I的到同一機器的連接),從而防止過程210 “繞過”(working around)對該過程所限定的能力。例如,回路可以綁定到上述“私有網(wǎng)絡(luò)客戶端服務(wù)器”能力,但是明顯的是,在另一示例中,可以使用模型將其指定為單獨的能力。因而,這些技術(shù)還可以用來支持按過程限制網(wǎng)絡(luò)訪問和提供如上所述的不同程度的粒度的機制。如上所述,按過程連網(wǎng)能力可以綁定到過程的強身份。該身份還可以由子過程繼承,這確保過程不能繞過已由父過程授權(quán)該過程的連網(wǎng)能力。與防火墻規(guī)則具有相同靈活性的高保真度連網(wǎng)能力還可以由過程管理器模塊114來支持。連網(wǎng)能力例如可以在安裝時注冊到防火墻,并且可以具有針對防火墻規(guī)則找到的靈活性,其可以包括網(wǎng)絡(luò)類型、連接類型和入站/出站連接。流量方向還可以與防火墻所定義的網(wǎng)絡(luò)簡檔相關(guān)。進(jìn)一步地,聲明的連網(wǎng)能力還可以組合來提供作為不同能力的聯(lián)合(union)的訪問。例如,可以針對過程210組合網(wǎng)絡(luò)能力來提供不同網(wǎng)絡(luò)訪問的組合,例如私有網(wǎng)絡(luò)(例如,內(nèi)部網(wǎng))訪問以及出站互聯(lián)網(wǎng)訪問。還設(shè)想了各種其他示例,可以參考以下過程找到對于它們的進(jìn)一步討論。再進(jìn)一步地,用來強制實施能力的防火墻規(guī)則可以例如由“高度正直”的系統(tǒng)在運行時動態(tài)地修改或強制實施或微調(diào),以提供可以具有增加的有用性的能力。所限定的能力可以與系統(tǒng)中的其他防火墻組件隔離和/或被傳遞給所述其他防火墻組件,以進(jìn)一步地正確管理網(wǎng)絡(luò)中的應(yīng)用。示例討稈
以下討論描述了可以使用前述系統(tǒng)和設(shè)備實現(xiàn)的按過程連網(wǎng)能力技術(shù)。過程的每一個的各方面可以在硬件、固件或軟件或其組合中實現(xiàn)。該過程被示出為指定通過一個或多個設(shè)備執(zhí)行的操作的框的集合,并且不必限于所示出的順序來執(zhí)行各個框的操作。在以下討論的各部分中,將分別參考圖I的環(huán)境100和圖2和3的系統(tǒng)200、300。圖4描繪了示例實施方式中的過程400,其中具有可執(zhí)行代碼和清單的包被安裝在計算設(shè)備上并用來形成標(biāo)記。在計算設(shè)備處接收包括可執(zhí)行代碼和清單的包,該清單描述了可執(zhí)行代碼的能力(框402)。包116例如可以存儲在計算機可讀存儲介質(zhì)上,通過網(wǎng)絡(luò)124從應(yīng)用服務(wù)126下載等等。如前所述,清單120可以描述計算設(shè)備102在執(zhí)行代碼期間所使用的網(wǎng)絡(luò)能力,如可執(zhí)行代碼122的開發(fā)者所設(shè)想的那樣??蓤?zhí)行代碼安裝在用于執(zhí)行的計算設(shè)備上(框404)??蓤?zhí)行代碼122例如可以被配置為要被安裝在計算設(shè)備上以用于通過應(yīng)用目錄、第三方插件模塊等訪問的應(yīng)用。由清單針對可執(zhí)行代碼描述的網(wǎng)絡(luò)能力被保存在計算設(shè)備上的能力存儲裝置中,所保存的能力可用以形成標(biāo)記來管理(通過執(zhí)行可執(zhí)行代碼形成的)一個或多個過程對計算設(shè)備的能力的訪問(框406)。能力存儲裝置206例如可以被配置為防篡改的,例如物理地和/或電子地。通過這樣的方式,其中描述的能力不能被未授權(quán)的實體所訪問,不能被在計算設(shè)備102上執(zhí)行的過程所訪問,等等。因而,能力的描述可以被認(rèn)為是“可信賴的”并因此用以形成可以用來通過過程管理訪問的標(biāo)記。隨后,可以接收輸入以發(fā)起安裝在計算設(shè)備上的可執(zhí)行代碼的執(zhí)行(框408 )。該輸入例如可以通過用戶對代碼的表示(例如圖標(biāo)、區(qū)塊(tile)等)的選擇來接收。該輸入也可以源自代碼自身(例如,以預(yù)定的時間間隔喚醒),源自在計算設(shè)備102上執(zhí)行的其他代碼,
坐坐寸寸ο形成具有一個或多個安全標(biāo)識符的標(biāo)記,所述一個或多個安全標(biāo)識符引用針對可執(zhí)行代碼的在清單中描述的網(wǎng)絡(luò)能力(框410)。如前所述,安全標(biāo)識符122可以枚舉在能力存儲裝置206中描述的能力。標(biāo)記212例如可以包括與可執(zhí)行代碼118和/或包116的標(biāo)識符相匹配的標(biāo)識符,可以在請求對能力的訪問時由可執(zhí)行代碼118自身來傳遞(例如標(biāo)記自身和/或可用來找到標(biāo)記212的標(biāo)識符),等等。隨后,標(biāo)記212可以用來管理過程210對計算設(shè)備102的一個或多個網(wǎng)絡(luò)能力的訪問,可以參考下圖來找到其示例。圖5描繪了示例 實施方式中的過程500,其中計算設(shè)備使用圖4中形成的標(biāo)記來管理對網(wǎng)絡(luò)能力的訪問?;谂c過程相關(guān)的標(biāo)記確定是否允許在計算設(shè)備上執(zhí)行的過程訪問網(wǎng)絡(luò)能力,該標(biāo)記具有引用清單中描述的一個或多個網(wǎng)絡(luò)能力的一個或多個安全標(biāo)識符(502)。例如,過程管理器模塊114可以從過程接收請求。過程210可以由計算設(shè)備102通過執(zhí)行可執(zhí)行代碼118來實現(xiàn),如前所述。隨后,過程管理器模塊114可以例如使用如前所述的包116標(biāo)識符、“強類型”等來定位標(biāo)記212??梢孕纬蓸?biāo)記212來描述所允許的訪問(例如引用所允許的能力)和/或描述所不允許的訪問,例如引用不允許相應(yīng)的過程210所訪問的能力。
基于所述確定來管理對網(wǎng)絡(luò)能力的訪問(框504)。過程管理器模塊114例如可以接收來自過程210的訪問網(wǎng)絡(luò)能力的請求,例如請求使用向外網(wǎng)絡(luò)連接。隨后,過程管理器模塊114可以審查標(biāo)記212來確定是否允許該網(wǎng)絡(luò)訪問,例如定位引用向外網(wǎng)絡(luò)連接的安全標(biāo)識符。因而,過程管理器模塊114可以輕易地確定什么訪問被允許并相應(yīng)地達(dá)到。如前所述,還設(shè)想了各種其他示例,例如確定基于通過標(biāo)記212的枚舉來確定允許哪個訪問。圖6描繪了示例實施方式的過程600,其中探測網(wǎng)絡(luò)來識別代理服務(wù)器或子網(wǎng),該過程用來輔助管理給予過程的網(wǎng)絡(luò)能力訪問。網(wǎng)絡(luò)被探測來識別代理服務(wù)器或子網(wǎng)(框602)。這可以通過形 成一個或多個將被發(fā)送到服務(wù)器的傳輸、檢測網(wǎng)絡(luò)設(shè)置等來執(zhí)行?;趯Υ矸?wù)器或子網(wǎng)的識別以及與在計算設(shè)備上執(zhí)行的過程相關(guān)的標(biāo)記的審查來管理該過程對網(wǎng)絡(luò)的網(wǎng)絡(luò)能力的訪問,所述標(biāo)記具有一個或多個安全標(biāo)識符,該一個或多個安全標(biāo)識符引用在清單中描述的允許過程使用的網(wǎng)絡(luò)能力(框604)。如前,過程管理器模塊114可以通過使用標(biāo)記來管理訪問,該標(biāo)記“指明”允許與該標(biāo)記相關(guān)的過程訪問哪些能力。進(jìn)一步地,該標(biāo)記可以用來確保對網(wǎng)絡(luò)的訪問與該枚舉相一致,例如該訪問準(zhǔn)確地反映處設(shè)備是否經(jīng)由子網(wǎng)或因特網(wǎng)等可訪問的。還設(shè)想了各種其他示例。示例系統(tǒng)和設(shè)各
圖7示出了包括如參考圖I描述的計算設(shè)備102的示例系統(tǒng)700。當(dāng)在個人計算機(PC)、電視設(shè)備和/或移動設(shè)備上運行應(yīng)用時,示例系統(tǒng)700實現(xiàn)了用于無縫用戶體驗過的普適環(huán)境。當(dāng)使用應(yīng)用、播放視頻游戲、觀看視頻等等時,服務(wù)和應(yīng)用在所有三個環(huán)境中運行基本類似以用于在從一個設(shè)備轉(zhuǎn)變到下一個設(shè)備時的共同的用戶體驗。在示例系統(tǒng)700中,多個設(shè)備通過中央計算設(shè)備互連。該中央計算設(shè)備可以是多個設(shè)備本地的,或者可以遠(yuǎn)離所述多個設(shè)備。在一個實施例中,中央計算設(shè)備可以是一個或多個服務(wù)器計算機的云,其通過網(wǎng)絡(luò)、因特網(wǎng)或其他數(shù)據(jù)通信鏈路連接到多個設(shè)備。在一個實施例中,該互連架構(gòu)使得功能能夠跨多個設(shè)備遞送來向多個設(shè)備的用戶提供共同的和無縫的體驗。多個設(shè)備的每一個可以具有不同的物理要求和能力,并且中央計算設(shè)備使用平臺來實現(xiàn)對設(shè)備的體驗的遞送,該體驗既對該設(shè)備是定制的又對所有設(shè)備是共同的。在一個實施例中,創(chuàng)建一類目標(biāo)設(shè)備并且對設(shè)備通用類定制體驗。一類設(shè)備可以由設(shè)備的物理特征、使用類型或其他共同特征來定義。在各種實施方式中,計算設(shè)備102可以采取各種不同的配置,例如以用于計算機702、移動裝置704和電視706。這些配置的每一個包括可以具有一般不同的構(gòu)造和能力的設(shè)備,并且因而計算設(shè)備102可以根據(jù)不同設(shè)備類的一個或多個來配置。例如,計算設(shè)備102可以實現(xiàn)為設(shè)備的計算機702類,其包括個人計算機、桌面計算機、多屏幕計算機、膝上計算機、上網(wǎng)本、等等。計算設(shè)備102還可以被實現(xiàn)為設(shè)備的移動裝置704類,其包括諸如移動電話、便攜式音樂播放器、便攜式游戲設(shè)備、平板計算機、多屏幕計算機等的移動設(shè)備。計算設(shè)備102還可以實現(xiàn)為設(shè)備的電視706類,其包括具有或連接到隨意查看環(huán)境中的通常較大的屏幕的設(shè)備。這些設(shè)備包括電視、機頂盒、游戲機、等等。本文中描述的技術(shù)可以得到計算設(shè)備102的這些各種配置的支持并且不限于本文中描述的技術(shù)的特定示例。云708包括和/或代表用于內(nèi)容服務(wù)712的平臺710。該平臺710抽象云708的硬件(例如服務(wù)器)和軟件資源的底層功能。內(nèi)容服務(wù)712可以包括可以被使用的應(yīng)用和/或數(shù)據(jù),同時計算機處理在遠(yuǎn)離計算設(shè)備102的服務(wù)器上執(zhí)行。內(nèi)容服務(wù)712可以被提供為通過因特網(wǎng)和/或用戶網(wǎng)絡(luò)(例如蜂窩網(wǎng)絡(luò)或Wi-Fi網(wǎng)絡(luò))的服務(wù)。平臺710可以抽象資源和功能來將計算設(shè)備102與其他計算設(shè)備相連接。平臺710還可以用來抽象資源的縮放(scaling)以提供對于所遇到的經(jīng)由平臺710實現(xiàn)的內(nèi)容服務(wù)712的需求的相應(yīng)規(guī)模(scale)等級。相應(yīng)地,在互連的設(shè)備實施例中,對于本文中描述的功能的功能實現(xiàn)可以遍及系統(tǒng)700分布。例如,功能可以部分實現(xiàn)在計算設(shè)備102上以及部分經(jīng)由抽象云708的功能的平臺710實現(xiàn)。圖8示出示例設(shè)備800的各種組件,該示例設(shè)備800可以實現(xiàn)為如參考圖1、2和7所述的任意類型的計算設(shè)備以實現(xiàn)本文中描述的技術(shù)的實施例。設(shè)備800包括通信設(shè)備802,其使得能夠有線和/或無線地傳輸設(shè)備數(shù)據(jù)804 (例如,已接收的數(shù)據(jù),正在被接收的數(shù)據(jù)、計劃用于廣播的數(shù)據(jù)、數(shù)據(jù)的數(shù)據(jù)分組等)。設(shè)備數(shù)據(jù)804或其他設(shè)備內(nèi)容可以包括設(shè)備的配置設(shè)置、存儲在設(shè)備上的媒體內(nèi)容和/或與設(shè)備的用戶相關(guān)的信息。存儲在設(shè)備800上的媒體內(nèi)容可以包括任意類型的音頻、視頻和/或圖像數(shù)據(jù)。設(shè)備800包括一個或多個數(shù)據(jù)輸入806,經(jīng)由其可以接收任意類型的數(shù)據(jù)、媒體內(nèi)容和/或輸入,例如用戶可選的輸入、 消息、音樂、電視媒體內(nèi)容、記錄的視頻內(nèi)容和從任意內(nèi)容和/或數(shù)據(jù)源接收的任意其他類型的音頻、視頻和/或圖像數(shù)據(jù)。設(shè)備800還包括通信接口 808,其可以實現(xiàn)為串行和/或并行接口、無線接口、任意類型的網(wǎng)絡(luò)接口、調(diào)制解調(diào)器的任意一個或多個,或?qū)崿F(xiàn)為任意其他類型的通信接口。通信接口 808提供了設(shè)備800和通信網(wǎng)絡(luò)之間的連接和/或通信鏈路,其他電子、計算和通信設(shè)備通過該連接和/或通信鏈路與設(shè)備800進(jìn)行通信。設(shè)備800包括一個或多個處理器810 (例如,任意微處理器、控制器等),其處理各種計算機可執(zhí)行指令來控制設(shè)備800的操作并實現(xiàn)本文中描述的技術(shù)的實施例??商鎿Q地或附加地,設(shè)備800可以用硬件、固件或固定邏輯電路的任意一個或組合來實現(xiàn),該固定邏輯電路通常與在812處標(biāo)識的處理和控制電路相連接。雖然未示出,但是設(shè)備800可以包括耦接設(shè)備中各種組件的系統(tǒng)總線或數(shù)據(jù)傳送系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)的任意一個或組合,例如存儲器總線或存儲器控制器、外圍總線、通用串行總線和/或使用任意各種架構(gòu)的處理器或局部總線。設(shè)備800還包括計算機可讀介質(zhì)814,例如一個或多個存儲器組件,其示例包括隨機存取存儲器(RAM)、非易失性存儲器(例如,只讀存儲器(ROM)、閃存存儲器、EPR0M、EEPROM等的任意一個或多個)以及磁盤存儲設(shè)備。磁盤存儲設(shè)備可以實現(xiàn)為任意類型的磁或光學(xué)存儲設(shè)備,例如硬盤驅(qū)動器、可記錄和/或可重寫光盤(CD)、任意類型的數(shù)字化通用盤(DVD),等等。設(shè)備800還可以包括大規(guī)模存儲介質(zhì)設(shè)備816。計算機可讀介質(zhì)814提供數(shù)據(jù)存儲機制來存儲設(shè)備數(shù)據(jù)804,以及各種設(shè)備應(yīng)用818和任意其他類型的與設(shè)備800的操作方面相關(guān)的信息和/或數(shù)據(jù)。例如,操作系統(tǒng)820可以被維護為具有計算機可讀介質(zhì)814的計算機應(yīng)用并在處理器810上執(zhí)行。設(shè)備應(yīng)用818可以包括設(shè)備管理器(例如控制應(yīng)用、軟件應(yīng)用、信號處理和控制模塊、特定設(shè)備本地的代碼、特定設(shè)備的硬件抽象層等)。設(shè)備應(yīng)用818還包括任意系統(tǒng)組件或模塊來實現(xiàn)本文中描述的技術(shù)的實施例。在此示例中,設(shè)備應(yīng)用818包括接口應(yīng)用822和輸入/輸出模塊824,它們被示出為軟件模塊和/或計算機應(yīng)用。輸入/輸出模塊824代表用來向被配置為捕獲輸入的設(shè)備(例如觸摸屏、跟蹤板、攝像頭、麥克風(fēng)等)提供接口的軟件??商鎿Q地或附加地,接口應(yīng)用822和輸入/輸出模塊824可以實現(xiàn)為硬件、軟件、固件或其任意組合。另夕卜,輸入/輸出模塊824可以被配置為支持多個輸入設(shè)備,例如單獨的設(shè)備來分別捕獲視覺和音頻輸入。設(shè)備800還包括音頻和/或視頻輸入-輸出系統(tǒng)826,其向音頻系統(tǒng)828提供音頻數(shù)據(jù)和/或向顯示系統(tǒng)830提供視頻數(shù)據(jù)。音頻系統(tǒng)828和/或顯示系統(tǒng)830可以包括處理、顯示和/或用其他方式再現(xiàn)音頻、視頻和圖像數(shù)據(jù)的任意設(shè)備。視頻信號和音頻信號可以經(jīng)由RF (射頻)鏈路、S-視頻鏈路、混合視頻鏈路、分量視頻鏈路、DVI (數(shù)字視頻接口)、模擬視頻連接或其他類似的通信鏈路從設(shè)備800傳輸?shù)揭纛l設(shè)備和/或顯示設(shè)備。在實施例中,首頻系統(tǒng)828和/或顯不系統(tǒng)830被頭現(xiàn)為設(shè)備800的外部組件??商鎿Q地,首頻系統(tǒng)828和/或顯示系統(tǒng)830被實現(xiàn)為示例設(shè)備800的集成組件。結(jié)論 雖然以特定于結(jié)構(gòu)化特征和/或方法學(xué)上的行為的語言描述本發(fā)明,但是要理解的是,所附權(quán)利要求中限定的本發(fā)明不必限于所描述的具體特征和行為。相反,這些具體特征和行為以實現(xiàn)所要求保護的發(fā)明的示例形式來公開。
權(quán)利要求
1.一種通過計算設(shè)備實現(xiàn)的方法,該方法包括 基于與在計算設(shè)備上執(zhí)行的過程相關(guān)的標(biāo)記,確定是否允許該過程訪問網(wǎng)絡(luò)能力,該標(biāo)記具有一個或多個安全標(biāo)識符,其引用在清單中描述的一個或多個網(wǎng)絡(luò)能力(502);以及 基于該確定來管理對網(wǎng)絡(luò)能力的訪問(504)。
2.如權(quán)利要求I所述的方法,其中清單存儲在計算設(shè)備上作為可執(zhí)行代碼的安裝部分,當(dāng)被執(zhí)行時,可執(zhí)行代碼實現(xiàn)所述過程。
3.如權(quán)利要求2所述的方法,其中網(wǎng)絡(luò)能力的描述存儲在防篡改的位置中作為計算設(shè)備上的可執(zhí)行代碼的安裝部分。
4.如權(quán)利要求I所述的方法,其中通過訪問在所述過程不能訪問的計算設(shè)備的防篡改位置中存儲的能力的描述來形成標(biāo)記。
5.如權(quán)利要求I所述的方法,其中所述確定和管理通過在計算設(shè)備上執(zhí)行操作系統(tǒng)來進(jìn)行。
6.如權(quán)利要求I所述的方法,其中清單中描述的至少一個所述網(wǎng)絡(luò)能力指示是否允許通過過程的回路。
7.如權(quán)利要求I所述的方法,其中清單中描述的至少一個所述網(wǎng)絡(luò)能力指示是否允許通過網(wǎng)絡(luò)的向外連接供所述過程使用。
8.如權(quán)利要求I所述的方法,其中清單中描述的至少一個所述網(wǎng)絡(luò)能力指示是否允許通過網(wǎng)絡(luò)的向內(nèi)和向外連接供所述過程使用。
9.如權(quán)利要求8所述的方法,其中向內(nèi)連接允許所述過程接受未經(jīng)同意的連接。
10.如權(quán)利要求I所述的方法,其中清單中描述的至少一個所述網(wǎng)絡(luò)能力指示是否允許私有網(wǎng)絡(luò)訪問供所述過程使用。
11.一個或多個存儲指令的計算機可讀存儲介質(zhì),當(dāng)由計算設(shè)備執(zhí)行時,導(dǎo)致所述計算設(shè)備執(zhí)行如前述權(quán)利要求中任一項所述的方法。
全文摘要
本發(fā)明描述了按過程的連網(wǎng)能力技術(shù)。在一個或多個實施方式中,基于與在計算設(shè)備上執(zhí)行的過程相關(guān)的標(biāo)記,確定關(guān)于是否允許該過程訪問網(wǎng)絡(luò)能力。該標(biāo)記具有一個或多個安全標(biāo)識符,其引用在清單中描述的一個或多個網(wǎng)絡(luò)能力?;谠摯_定來管理對網(wǎng)絡(luò)能力的訪問。
文檔編號H04L29/06GK102882855SQ20121032688
公開日2013年1月16日 申請日期2012年9月6日 優(yōu)先權(quán)日2011年9月6日
發(fā)明者G.迪亞斯-克拉, S.伊斯金, J.P.C.科羅內(nèi)爾門多扎, S.B.格雷厄姆, N.D.伍德 申請人:微軟公司