捆绑包生成的制作方法

文档序号:9620852阅读:563来源:国知局
捆绑包生成的制作方法
【专利说明】
【背景技术】
[0001]很多用户利用应用来执行各种行为,例如检查电子邮件,播放视频游戏,共享照片,经由社交网络交互,银行业务和/或繁多的其它行为。因为用户可通过各种设备和/或计算环境执行这样的应用,应用开发者可创建支持多个处理器、操作系统、语言、显示比例、分辨率、图形卡等的应用部署包。因此,应用部署包可包括相对大量的数据,所有这些数据可能不被特定设备或计算环境使用。例如,用户可从app商店下载绘图应用到平板设备上。绘图应用可能包括可以与平板设备一起工作良好的中等分辨率纹理,但是还可包括打算用于较小智能电话的低分辨率纹理和打算用于个人计算机的高分辨率纹理。绘图应用可包括对10个语言的支持。平板设备可利用中等分辨率纹理以及由用户使用的语言,但是可能不利用低分辨率纹理、高分辨率纹理和其它9个语言。绘图应用的这样的未使用特征可能在绘图应用在平板设备上的下载、部署和执行期间不必要地消耗下载带宽、存储空间和计算资源。

【发明内容】

[0002]该
【发明内容】
被提供来介绍简化形式的一系列概念,其在下文在【具体实施方式】中被进一步描述。该
【发明内容】
非打算识别所主张的主题的关键因素或必要特征,其也不打算用于限制所主张的主题的范围。
[0003]除了别的之外,本文提供了用于生成用于应用的捆绑包、对捆绑包进行数字化签名;选择性取得捆绑包的部分;为与应用相关联的资源包标引;以及分布和安装用于游戏的游戏捆绑包的一个或多个系统和/或技术。
[0004]在生成用于应用的捆绑包的一些实施例中,一个或多个app包可被识别为包括在用于应用的捆绑包中。第一 app包可包括第一应用代码(例如可执行二进制文件),其配置为在第一计算环境上执行,第一计算环境例如是特殊计算机架构(例如第一处理器架构、第二不同处理器架构等)和/或特殊操作系统(例如平板操作系统、桌面操作系统、基于云的操作系统等)。一个或多个资源包可被识别为包括在捆绑包内。资源包可包括用于应用的可选用户体验功能(例如分辨率纹理数据,语言数据,多媒体应用程序接口(API)版本数据,如DirectX?,可由现代资源技术(MRT)下载的区域相关数据和/或可被用于促进修改用户的体验等的任何其他资源、数据等)。例如,第一资源包可包括用于提供用于应用的第一用户体验功能的第一补充数据。捆绑包可被生成以包括一个或多个app包和一个或多个资源包。以该方式,app包和/或一个或多个资源包可被选择性下载用于应用的安装(例如平板设备可下载第一处理器架构app包和中等分辨率纹理资源包)。
[0005]在对捆绑包进行数字签名的一些实施例中,针对与应用相关联的捆绑包执行第一数字签名操作。捆绑包包括第一 app包和第一资源包。在示例中,捆绑包包括一个或多个app包和/或一个或多个资源包。可执行数字签名操作(例如被执行为使用单个数字签名证书的单个签名操作)以将第一 app包、第一资源包和捆绑包进行数字签名。例如,利用数字签名证书以第一 app包签名对第一 app包进行签名,利用数字签名证书以第一资源包签名对第一资源包进行签名,并且利用数字签名证书以捆绑包签名对捆绑包进行签名。因为数字签名操作使用相同数字签名证书(例如和/或通过单个签名操作)对第一 app包、第一资源包和捆绑包进行数字操作签名,可通过第一 app包签名、第一资源包签名和/或捆绑包签名(例如数字签名证书拥有者、授权链证明、密钥使用、签名有效日期、加密强度和/或时间戳)来共享一组签名特性。以该方式,捆绑包和/或其部分可由客户端设备选择性地和/或单独地下载,并且由客户端设备基于共享的签名属性以有效方式认证。
[0006]在与应用相关联的捆绑包的选择性取得部分的一些实施例中,可识别与用于安装的应用相关联的捆绑包。例如,捆绑包可以与可用于经由app商店下载的照片共享应用相关联。可确定用于在客户端设备上执行的应用的适用性上下文。例如,适用性上下文可指定分辨率、屏幕比例、一组感兴趣语言、多媒体API特征集、图形处理单元(GPU)或客户端设备的其它用户体验上下文(例如讲德语的用户的智能手机的适用性上下文可基于语言、硬件能力、显示能力等不同于讲英语的用户的桌面计算机的适用性上下文)。可基于第一 app包包括对应于由适用性上下文指定的计算环境上下文(例如处理器架构、操作系统类型等)的应用代码来从捆绑包选择性取得第一 app包。响应于适用性上下文对应于在捆绑包的一组资源包内的第一资源包,可从捆绑包选择性取得第一资源包(例如可针对智能电话取得德语资源包)。以该方式,可选择性取得对应于适用性上下文的一个或多个资源包,同时不取得不对应于适用性上下文的资源包(例如可针对智能电话不取得高分辨率游戏纹理,其如果被取得,可能不必要地消费下载带宽和/或要求由智能电话不可使用的应用的部分/特征的存储)。
[0007]在客户端设备上对用于应用的资源包标引的一些实施例中,在客户端设备上识别第一资源包和第二资源包。在示例中,第一资源包和第二资源包可已被选择性和/或单独下载用于应用,并且因此可被最初存储在客户端设备上,而不具有指定第一资源包和第二资源包可如何用于提供应用的定制用户体验的逻辑关系。第一资源包包括用于提供应用的第一可选用户体验功能的第一补充数据(例如用于提供社交网络app的德语用户界面体验的一个或多个德语文本串)。第二资源包包括用于提供应用的第二可选用户体验功能的第二补充数据(例如用于提供社交网络app的法语用户界面体验的一个或多个法语文本串)。
[0008]第一资源包的第一资源索引可描述第一资源包的第一资源数据(例如一个或多个德语串)和/或第一资源适用性数据(例如使用德语数据来显示用于讲德语用户的文本)。第二资源包的第二资源索引可描述第二资源包的第二资源数据(例如一个或多个法语串)和/或第二资源适用性数据(例如使用法语数据来显示用于讲法语用户的文本)。第一资源索引和第二资源索引可被合并到合并资源索引中。合并资源索引可描述在第一资源包和/或第二资源包内的个体资源,例如德语文本串和/或法语文本串。合并资源索引可被评估以选择性利用一个或多个资源用于应用的执行。在示例中,可在用于社交网络app的app包内建立对合并索引的引用。在使用app包的社交网络app的执行时,可使用该引用来查阅合并索引以识别哪些资源是可用的和/或是相关的以执行社交网络app (例如在第一资源包内的德语的欢迎消息文本串可以对于讲德语的当前用户的欢迎消息窗来说是相关的;当当前显示设定被设定为高对比度模式时,高对比度显示资源包内的高对比度用户界面元件可以是相关的;等等)。
[0009]在经由游戏捆绑包分布游戏的一些实施例中,可生成用于游戏的游戏捆绑包。游戏捆绑包可包括一个或多个核心游戏包。第一核心游戏包包括被配置为在第一计算环境(例如x86处理器)上执行的游戏代码(例如可执行二进制文件)。游戏捆绑包可包括一个或多个资源游戏包。第一资源游戏包可包括用于提供游戏的第一可选用户体验功能的第一补充硬件感知数据(例如纹理图像、地形数据、角色几何形状、和/或在特定显示质量下的其它游戏可视化数据)。一个或多个核心游戏包和/或一个或多个资源游戏包可以被暴露用于游戏的选择性下载和/或安装。以该方式,客户端设备可选择性下载某些资源游戏包,其可提供在客户端设备上的期望游戏体验(例如平板设备可下载中等质量纹理以保存下载带宽和/或存储空间,而PC可下载高质量纹理)。
[0010]为了上述和相关目的的完成,以下描述和附图陈述了某些说明性方面和实施方式。这些是指示其中可采用一个或多个方面的各个方式中的仅一些。根据当结合附图考虑的以下详细描述,本公开的其它方面、优点和新颖特性将变得清楚。
【附图说明】
[0011]图1是图示生成用于应用的捆绑包的示例性方法的流程图。
[0012]图2是图示用于生成捆绑包的示例性系统的部件框图。
[0013]图3是促进资源包建立交易的示例的图示。
[0014]图4是图示用于选择性分布捆绑包的部分的示例性系统的部件框图。
[0015]图5是图示对捆绑包进行数字签名的示例性方法的流程图。
[0016]图6是图示利用提取技术对捆绑包进行签名的示例性系统的部件框图。
[0017]图7是图示用于从新捆绑包建立签名捆绑包的示例性系统的部件框图。
[0018]图8是图示用于对原位捆绑包内的包进行数字签名的示例性系统的部件框图。
[0019]图9是图示用于分布签名的捆绑包和/或其内的签名包的示例性系统的部件框图。
[0020]图10是图示选择性取得与应用相关联的捆绑包的部分的示例性方法的流程图。
[0021]图11是图示用于选择性取得与应用相关联的捆绑包的部分的示例性系统的部件框图。
[0022]图12是图示用于选择性取得与应用相关联的捆绑包的部分的示例性系统的部件框图。
[0023]图13是图示对用于客户端设备上的应用的资源包进行标引的示例性方法的流程图。
[0024]图14是图示对用于客户端设备上的应用的资源包进行标引的示例性系统的部件框图。
[0025]图15是图示在应用的执行期间利用合并索引的示例性系统的部件框图。
[0026]图16是图示经由游戏捆绑包分布游戏的示例性方法的流程图。
[0027]图17是图示经由游戏捆绑包安装游戏的示例性方法的流程图。
[0028]图18是图示用于经由游戏捆绑包分布游戏的示例性系统的部件框图。
[0029]图19是示例性计算机可读介质的图示,其中可包括被配置为体现本文陈述的提议中的一个或多个的处理器可执行指令。
[0030]图20图示示例性计算环境,其中可实施一个或多个本文陈述的提议。
【具体实施方式】
[0031]现在参考附图描述所主张的主题,其中相同参考数字一般用于自始至终指代相同元件。在下面描述中,为了解释的目的,陈述若干具体细节,以便提供对所主张的主题的理解。然而,可能明显的是,所主张的主题可以在不具有这些具体细节的情况下实践。在其它实例中,以框图形式图示结构和设备,以便促进描述所主张的主题。
[0032]如本文提供的,可以选择性提供软件部件,例如资源包、app包等给(具有少量至不重复)最终用户机器,使得最终用户机器仅被提供有由最终用户机器使用的软件部件,而最终用户机器不必下载、存储和/或安装非必要软件部件。例如,最终用户机器,例如客户端设备,可包括宽泛的各种各样的软件和/或硬件特性(例如平板可包括不同于桌面游戏设备的处理器、操作系统、图像处理单元和/或各种特性)。为了提供在这样的客户端设备上的期望体验,很多app可定制用于相应客户端设备的应用资产(例如纹理、串、图像、用户界面元素和/或特定app的其它软件部件)。遗憾的是,这可能对于开发者和/或用户是成问题的,因为开发者可能花费大量时间和/或资源,建立用于这样的大量的各种客户端设备的独立安装包。替代地,开发者可建立包括所有应用资产的单个安装包,这可将负担放在用户和/或客户端设备上以下载和/或存储丰富的应用资产,其中仅一(例如小)部分应用资产被客户端设备利用。
[0033]相应地,如本文提供的,对于app的相应应用资产(例如在资源包和/或app包内的资产),开发者可识别可用于选择用于下载到客户端设备的软件部件(例如选择性下载的资源包和/或app包)的客户端设备的特性。在示例中,app包可包括可取决于客户端设备中的CPU的架构(例如x86、x64等)的app 二进制和/或可执行文件
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1