資源包索引的制作方法
【專利說明】
【背景技術(shù)】
[0001]許多用戶使用應(yīng)用來執(zhí)行多種活動(諸如檢查電子郵件、玩視頻游戲、分享照片、通過社交網(wǎng)絡(luò)交互、銀行業(yè)務(wù)和/或繁多的其它活動)。因為用戶可以通過各種設(shè)備和/或計算環(huán)境執(zhí)行這樣的應(yīng)用,所以應(yīng)用開發(fā)者可以創(chuàng)建支持多個處理器、操作系統(tǒng)、語言、顯示比例、分辨率、圖形卡等的應(yīng)用部署包。因此,應(yīng)用部署包可以包括相對大量的數(shù)據(jù),所有數(shù)據(jù)可能未被特定的設(shè)備或計算環(huán)境使用。例如,用戶可以將繪圖應(yīng)用從應(yīng)用市場下載到平板設(shè)備上。繪圖應(yīng)用可以包括可以很好地與平板設(shè)備協(xié)同工作的中等分辨率紋理,但也可以包括意圖用于較小的智能電話的低分辨率紋理和意圖用于個人計算機(jī)的高分辨率紋理。繪圖應(yīng)用可以包括對10種語言的支持。平板設(shè)備可以利用中等分辨率紋理和由用戶使用的語言,但是可以不利用低分辨率紋理、高分辨率紋理和其它9種語言。繪圖應(yīng)用的這種未使用的特征可以在平板設(shè)備上下載、部署和執(zhí)行繪圖應(yīng)用期間不必消耗下載帶寬、存儲空間和計算資源。
【發(fā)明內(nèi)容】
[0002]提供本
【發(fā)明內(nèi)容】
以便以簡化的形式介紹下文在【具體實施方式】中進(jìn)一步描述的概念的選擇。該
【發(fā)明內(nèi)容】
不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵因素或必要特征,也不旨在用于限制所要求保護(hù)的主題的范圍。
[0003]其中,本文中提供了一種或多種系統(tǒng)和/或技術(shù),用于生成用于應(yīng)用的捆綁包;數(shù)字簽名捆綁包;選擇性地檢索捆綁包的部分;對與應(yīng)用相關(guān)聯(lián)的資源包做索引;以及分布和安裝用于游戲的游戲捆綁包。
[0004]在一些生成用于應(yīng)用的捆綁包的實施例中,一個或多個應(yīng)用包可以被標(biāo)識以包括在用于應(yīng)用的捆綁包內(nèi)。第一應(yīng)用包可以包括被配置成在諸如特定的計算機(jī)體系結(jié)構(gòu)(例如,第一處理器體系結(jié)構(gòu)、第二不同的處理器體系結(jié)構(gòu)等)和/或特定的操作系統(tǒng)(例如,平板操作系統(tǒng)、臺式操作系統(tǒng)、基于云的操作系統(tǒng)等)之類的第一計算環(huán)境上執(zhí)行的第一應(yīng)用代碼(例如,可執(zhí)行的二進(jìn)制文件)。一個或多個資源包可以被標(biāo)識以包括在捆綁包內(nèi)。資源包可以包括用于應(yīng)用的可選的用戶體驗功能性(例如,分辨率紋理數(shù)據(jù)、語言數(shù)據(jù)、諸如DirectX?之類的多媒體應(yīng)用程序接口(API)版本數(shù)據(jù)、可以由現(xiàn)代資源技術(shù)(MRT)加載的區(qū)域有關(guān)的數(shù)據(jù)和/或可以用于促進(jìn)定制用戶體驗的任何其它資源、數(shù)據(jù)等,等等)。例如,第一資源包可以包括用于提供用于應(yīng)用的第一用戶體驗功能性的第一補(bǔ)充數(shù)據(jù)??梢陨衫壈园ㄋ鲆粋€或多個應(yīng)用包和所述一個或多個資源包。這樣,可以選擇性地下載應(yīng)用包和/或一個或多個資源包用于安裝應(yīng)用(例如,平板設(shè)備可以下載第一處理器體系結(jié)構(gòu)應(yīng)用包和中等分辨率紋理資源包)。
[0005]在一些數(shù)字簽名捆綁包的實施例中,對與應(yīng)用相關(guān)聯(lián)的捆綁包執(zhí)行第一數(shù)字簽名操作。捆綁包包括第一應(yīng)用包和第一資源包。在示例中,捆綁包包括一個或多個應(yīng)用包和/或一個或多個資源包??梢詧?zhí)行數(shù)字簽名操作(例如,使用單個數(shù)字簽名證書作為單個簽名操作執(zhí)行)以對第一應(yīng)用包、第一資源包和捆綁包進(jìn)行數(shù)字簽名。例如,第一應(yīng)用包利用數(shù)字簽名證書用第一應(yīng)用包簽名進(jìn)行簽名,第一資源包利用數(shù)字簽名證書用第一資源包簽名進(jìn)行簽名,以及捆綁包利用數(shù)字簽名證書用捆綁包簽名進(jìn)行簽名。因為數(shù)字簽名操作使用相同的數(shù)字簽名證書(例如,和/或通過單個簽名操作)來對第一應(yīng)用包、第一資源包和捆綁包進(jìn)行簽名,所以簽名屬性的集合可以被第一應(yīng)用包簽名、第一資源包簽名和/或捆綁包簽名(例如,數(shù)字簽名證書所有者、機(jī)構(gòu)的連鎖認(rèn)證(chain certificat1n ofauthority)、密鑰用途、簽名確認(rèn)日期、加密強(qiáng)度、和/或時間戳)共享。這樣,捆綁包和/或其部分可以被客戶端設(shè)備選擇性地和/或分開地下載,并且基于所共享的簽名屬性以有效的方式被客戶端設(shè)備認(rèn)證。
[0006]在一些選擇性地檢索與應(yīng)用相關(guān)聯(lián)的捆綁包的部分的實施例中,可以標(biāo)識與用于安裝的應(yīng)用相關(guān)聯(lián)的捆綁包。例如,捆綁包可以通過應(yīng)用市場與可供下載的可適用的相片共享相關(guān)聯(lián)。可以確定在客戶端設(shè)備上執(zhí)行的用于應(yīng)用的適用性上下文。例如,適用性上下文可以指定分辨率、屏幕比例、感興趣的語言集合、多媒體API特征集合、圖形處理單元(GPU)、或用于客戶端設(shè)備的其它用戶體驗上下文(例如,基于語言、硬件能力、顯示能力等,用于講德語的用戶的智能電話的適用性上下文可以與用于講英語的用戶的臺式機(jī)的適用性上下文不同)。可以基于包括對應(yīng)于由適用性上下文指定的計算環(huán)境上下文(例如,處理器體系結(jié)構(gòu)、操作系統(tǒng)類型等)的應(yīng)用代碼的第一應(yīng)用包從捆綁包中選擇性地檢索到第一應(yīng)用包。響應(yīng)于捆綁包的資源包集合內(nèi)的對應(yīng)于第一資源包的適用性上下文,可以從捆綁包中選擇性地檢索到第一資源包(例如,可以針對智能電話檢索到德語語言資源包)。這樣,可以選擇性地檢索到對應(yīng)于適用性上下文的一個或多個資源包,同時沒有檢索到與適用性上下文不對應(yīng)的資源包(例如,可能無法針對智能電話檢索到高分辨率游戲紋理,如果檢索到,則其可以不必消耗下載帶寬和/或需要存儲不能被智能電話使用的應(yīng)用的部分/特征)。
[0007]在一些在客戶端設(shè)備上對用于應(yīng)用的資源包進(jìn)行索引的實施例中,在客戶端設(shè)備上標(biāo)識第一資源包和第二資源包。在示例中,可以已經(jīng)針對應(yīng)用選擇性地和/或單獨地下載第一資源包和第二資源包,并且因此可以最初被存儲在客戶端設(shè)備上,而沒有指定可以如何使用第一資源包和第二資源來提供所定制的用于應(yīng)用的用戶體驗的邏輯關(guān)系。第一資源包包括用于提供用于應(yīng)用的第一可選的用戶體驗功能性的第一補(bǔ)充數(shù)據(jù)(例如,用于提供用于社交網(wǎng)絡(luò)應(yīng)用的德語語言用戶接口體驗的一個或多個德語文本串)。第二資源包包括用于提供用于應(yīng)用的第二可選的用戶體驗功能性的第二補(bǔ)充數(shù)據(jù)(例如,用于提供用于社交網(wǎng)絡(luò)應(yīng)用的法語語言用戶接口體驗的一個或多個法語文本串)。
[0008]用于第一資源包的第一資源索引可以描述用于第一資源包的第一資源數(shù)據(jù)(例如,所述一個或多個德語語言串)和/或第一資源適用性數(shù)據(jù)(例如,使用德語語言數(shù)據(jù)為講德語的用戶顯示文本)。用于第二資源包的第二資源索引可以描述用于第二資源包的第二資源數(shù)據(jù)(例如,一個或多個法語語言串)和/或第二資源適用性數(shù)據(jù)(例如,使用法語語言數(shù)據(jù)為講法語的用戶顯示文本)。第一資源索引和第二資源索引可以被合并成合并資源索引。合并資源索引可以描述第一資源包和/或第二資源包內(nèi)的諸如德語文本串和/或法語文本串之類的單獨資源??梢栽u估合并資源索引以選擇性地利用用于執(zhí)行的應(yīng)用的一個或多個資源。在示例中,在用于社交網(wǎng)絡(luò)應(yīng)用的應(yīng)用包內(nèi)可以創(chuàng)建對合并索引的引用。在使用應(yīng)用包執(zhí)行社交網(wǎng)絡(luò)應(yīng)用時,可以使用該引用來查詢合并索引,以標(biāo)識哪些資源是可用的和/或相關(guān)的以執(zhí)行社交網(wǎng)絡(luò)應(yīng)用(例如,針對講德語的當(dāng)前用戶的歡迎消息窗口,第一資源包內(nèi)的德語歡迎消息文本串可以是相關(guān)的;當(dāng)當(dāng)前顯示設(shè)置被設(shè)定為高對比度模式時,尚對比度顯不資源包內(nèi)的尚對比度用戶接口兀素可能是相關(guān)的,等等。)。
[0009]在一些經(jīng)由游戲捆綁包分布游戲的實施例中,可以生成用于游戲的游戲捆綁包。游戲捆綁包可以包括一個或多個核心游戲包。第一核心游戲包包括被配置成在第一計算環(huán)境(例如,X86處理器)上執(zhí)行的游戲代碼(例如,可執(zhí)行的二進(jìn)制文件)。游戲捆綁包可以包括一個或多個資源游戲包。第一資源游戲包可以包括用于提供用于游戲的第一可選的用戶體驗功能性的第一補(bǔ)充硬件感知數(shù)據(jù)(例如,紋理圖像、地形數(shù)據(jù)、字符幾何形狀和/或特定的顯示品質(zhì)的其它游戲可視化數(shù)據(jù))??梢员┞端鲆粋€或多個核心游戲包和/或所述一個或多個資源游戲包以供選擇性下載和/或安裝游戲。這樣,客戶端設(shè)備可以選擇性地下載可以在客戶端設(shè)備上提供合意的游戲體驗的某些資源游戲包(例如,平板設(shè)備可以下載中等品質(zhì)紋理以節(jié)省下載帶寬和/或存儲空間,而PC可以下載高品質(zhì)紋理)。
[0010]為了達(dá)到前述和相關(guān)目的,以下描述和附圖陳述某些說明性方面和實施方式。這些僅指示可以采用一個或多個方面的各種方式中的幾種。在結(jié)合附圖進(jìn)行考慮時,本公開的其它方面、優(yōu)點和新穎特征從以下詳細(xì)描述中將變得顯而易見。
【附圖說明】
[0011]圖1是圖示了生成用于應(yīng)用的捆綁包的示例性方法的流程圖。
[0012]圖2是圖示了用于生成捆綁包的示例性系統(tǒng)的組件框圖。
[0013]圖3是促進(jìn)資源包創(chuàng)建業(yè)務(wù)的示例的圖示。
[0014]圖4是圖示了用于選擇性地分布捆綁包的部分的示例性系統(tǒng)的組件框圖。
[0015]圖5是圖示了對捆綁包進(jìn)行數(shù)字簽名的示例性方法的流程圖。
[0016]圖6是圖示了用于利用提取技術(shù)對捆綁包進(jìn)行簽名的示例性系統(tǒng)的組件框圖。
[0017]圖7是圖示了用于由新捆綁包創(chuàng)建已簽名的捆綁包的示例性系統(tǒng)的組件框圖。
[0018]圖8是圖示了用于就地對捆綁包內(nèi)的包進(jìn)行數(shù)字簽名的示例性系統(tǒng)的組件框圖。
[0019]圖9是圖示了用于分布已簽名的捆綁包和/或其中的已簽名的包的示例性系統(tǒng)的組件框圖。
[0020]圖10是圖示了選擇性地檢索與應(yīng)用相關(guān)聯(lián)的捆綁包的部分的示例性方法的流程圖。
[0021]圖11是圖示了用于選擇性地檢索與應(yīng)用相關(guān)聯(lián)的捆綁包的部分的示例性系統(tǒng)的組件框圖。
[0022]圖12是圖示了用于選擇性地檢索與應(yīng)用相關(guān)聯(lián)的捆綁包的部分的示例性系統(tǒng)的組件框圖。
[0023]圖13是圖示了在客戶端設(shè)備上對用于應(yīng)用的資源包進(jìn)行索引的示例性方法的流程圖。
[0024]圖14是圖示了用于在客戶端設(shè)備上對用于應(yīng)用的資源包進(jìn)行索引的示例性系統(tǒng)的組件框圖。
[0025]圖15是圖示了用于在執(zhí)行應(yīng)用期間利用合并索引的示例性系統(tǒng)的組件框圖。
[0026]圖16是圖示了經(jīng)由游戲捆綁包分布游戲的示例性方法的流程圖。
[0027]圖17是圖示了經(jīng)由游戲捆綁包安裝游戲的示例性方法的流程圖。
[0028]圖18是圖示了經(jīng)由游戲捆綁包分布游戲的示例性系統(tǒng)的組件框圖。
[0029]圖19是示例性計算機(jī)可讀介質(zhì)的圖示,其中可以包括被配置成體現(xiàn)本文中所陳述的提供事項(provis1n)中的一個或多個的處理器可執(zhí)行指令。
[0030]圖20圖示了示例性計算環(huán)境,其中可以實現(xiàn)本文中所陳述的提供事項中的一個或多個。
【具體實施方式】
[0031]現(xiàn)在,參照附圖對所要求保護(hù)的主題進(jìn)行描述,其中,相同的附圖標(biāo)記在全文中通常用來指代相同的元件。在以下描述中,出于解釋的目的,陳述了許多具體細(xì)節(jié),以便提供對所要求保護(hù)的主題的理解。然而,明顯的是,所要求保護(hù)的主題可以在沒有這些具體細(xì)節(jié)的情況下實施。在其它實例中,結(jié)構(gòu)和設(shè)備以框圖形式進(jìn)行示出以促進(jìn)對所要求保護(hù)的主題進(jìn)行描述。
[0032]如本文中所提供的,可以向終端用戶機(jī)器選擇性地提供諸如資源包、應(yīng)用包等之類的軟件組件,很少乃至沒有重復(fù),使得終端用戶機(jī)器僅提供有由終端用戶機(jī)器使用的軟件組件,無需終端用戶機(jī)器必須下載、存儲和/或安裝不必要的軟件組件。例如,諸如客戶端設(shè)備之類的終端用戶機(jī)器可以包括廣泛多種的軟件和/或硬件特點(例如,平板可以包括處理器、操作系統(tǒng)、圖形處理單元和/或與臺式游戲設(shè)備不同的多種特點)。為了提供這樣的客戶端設(shè)備上的合意的體驗,許多應(yīng)用可以針對相應(yīng)的客戶端設(shè)備定制應(yīng)用資產(chǎn)(例如,紋理、串、圖像、用戶接口元素和/或特定應(yīng)用的其它軟件組件)。不幸的是,因為開發(fā)者可能花費創(chuàng)建用于這樣的大量多種客戶端設(shè)備的分開的安裝包的大量時間和/或資源,所以這對開發(fā)者和/或用戶來說可能是有問題的。可替代地,開發(fā)者可以創(chuàng)建包括所有應(yīng)用資產(chǎn)的單個安裝包,其可以給用戶和/或客戶端設(shè)備下載和/或存儲充足的應(yīng)用資產(chǎn)帶來負(fù)擔(dān),其中客戶端設(shè)備僅利用應(yīng)用資產(chǎn)的一(例如,小)部分。
[0033]因此,如本文中所提供的,對于應(yīng)用的相應(yīng)的應(yīng)用資產(chǎn)(例如,資源包和/或應(yīng)用包內(nèi)的資產(chǎn))開發(fā)者可以標(biāo)識可以用來選擇用于下載到客戶端設(shè)備的軟件組件(例如,選擇性地下載資源包和/或應(yīng)用包)的客戶端設(shè)備的特點。在示例中,應(yīng)用包可以包括可以取決于客戶端設(shè)備中的CPU (例如,X86、X64,等等)的體系結(jié)構(gòu)的應(yīng)用二進(jìn)制項和/或可執(zhí)行文件。在另一示例中,圖形資源包可以包括可以取決于客戶端設(shè)備中的圖形處理單元(例如,