应用的高效压缩的制作方法

文档序号:6592835阅读:165来源:国知局
专利名称:应用的高效压缩的制作方法
技术领域
本发明涉及软件应用。更具体地,本发明涉及应用的高效压缩。
背景技术
某些计算设备的资源可能是极有限的。常见示例包括诸如移动电话和个人数字助 理(PDA)之类的移动设备。例如,支持Java应用的移动设备可能仅允许安装直到给定大小 的Java应用。Java应用包括分布在经压缩的容器文件(称为Java ARchive或JAR文件的 压缩文件)中的多个文件。JAR文件包含用于Java应用的类文件和数据文件。JAR格式基 于流行的ZIP文件格式。高效JAR压缩是极必要的,因为其减少了下载Java应用所占用的 带宽量并且还减少了应用在其被操作的设备上的占用资源(footprint)。假设设备具有300千字节的JAR大小限制。还假设应用的文件共计500千字节,但 是,当被压缩为JAR文件时仅产生了 300千字节的大小。因此,设备将接受经压缩的应用。 这产生了 500/300或5/3的压缩比。如果压缩比更好,比如说2/1,则应用的扩展版本,例如 添加了广告的占用600千字节的版本可以被创建,因为该应用可以仍然被压缩为300千字 节。更高效的压缩算法可以用来获得更好的压缩比。然而,这将破坏设备兼容性,因为目标 设备仅支持标准JAR压缩算法,因此不能够解压缩由更高效算法输出的任何数据。因此,提 高标准JAR压缩算法的压缩比是更可取的。

发明内容
在一个实施例中,一种用于向应用插入广告的方法包括从第一输入可执行文件 移除第一应用代码并将其置于输出可执行文件中,其中,第一应用代码表示应用的一部分。 然后,第一组代理被插入第一输入可执行文件中,其中,第一组代理(proxy)在运行时调用 第一应用代码。第二应用代码被添加到输出可执行文件中,其中,第二应用代码表示可执行 来显示广告的代码。压缩输出可执行文件。然后,第一输入可执行文件和输出可执行文件 被提供给设备,以使得设备可以载入并执行这些文件。


图1是图示出根据本发明一个实施例的用于向应用插入广告的方法的流程图。图2是图示出根据本发明另一实施例的用于向应用插入广告的方法的流程图。图3是图示出根据本发明另一实施例的用于向移动设备递送广告的方法的流程 图。图4是图示出根据本发明另一实施例的用于在移动设备上运行具有广告的应用 的方法的流程图。图5是图示出可被本发明各个实施例采用的平台中的一些的示例性网络示图。
具体实施例方式现在将详细参考包括由发明人构想出的用于实现本发明的最佳模式的本发明的 具体实施例。在附图中图示出了这些具体实施例的示例。虽然本发明结合这些具体实施例 来描述,然而将明白,不旨在将本发明局限于所描述的实施例。相反,旨在涵盖可能包括在 如所附权利要求所限定的本发明的精神和范围内的替代、修改和等同物。在下面的描述中, 阐述了具体细节以提供对本发明的透彻理解。没有所有或一些这些具体细节也可以实践本 发明。另外,可能不对公知的特征进行详细描述以避免不必要地使本发明模糊。根据本发明,可以利用各种类型的操作系统、计算平台、计算机程序和/或通用机 器来实现组件、处理步骤和/或数据结构。另外,本领域普通技术人员将认识到,在不脱离 这里描述的发明概念的范围和精神的情况下,也可以使用具有不太通用的性质的设备,例 如硬连线设备、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。在本发明的实施例中,广告被植入包含一个或多个分别被压缩的可执行文件的应 用中。例如,在Java应用的情况中,广告可被植入JAR文件中。当用户例如在移动电话上 启动该Java应用时,广告消息可以在应用运行之前、期间或之后出现。在一个示例中,广告 作为与电视广告类似的短视频出现。在另一示例中,广告在应用本身的操作期间作为图形 广告出现,例如沿着应用顶部或底部的横幅广告。在应用是游戏程序的情况中,广告可以被嵌入到游戏体验本身中而出现。因此,例 如,如果游戏涉及人物跑着穿过城市,则广告可以作为图形广告出现在城市中的建筑侧面上。广告可以通过Java代码来呈现,该Java代码被添加到应用的JAR中并且被挂钩 (hook)到应用的代码中。然而,作为添加该代码的结果,由JAR表示的经压缩应用文件的集 合可能增大为超过设备所支持的最大JAR大小。例如,如果设备具有300千字节的JAR大 小限制并且原始JAR文件的大小已经为300千字节,则添加20千字节的广告代码将导致设 备不能运行得到的实现了广告的Java应用。这样,本发明的实施例利用了如下事实一般而言,大文件比小文件压缩得更好。 假设存在内容类似的文件A、B和C。文件X可以是文件A、B和C的串接。因此,X的大小 简单地是文件A、B和C的大小之和。然而,压缩文件X'的大小比压缩文件A'、B'和C' 的大小之和要小。这是因为压缩包括去除冗余。由于A、B和C的内容类似,因此A的各部 分也将出现在B和C中。因此,与各自单独被获取的A、B和C相比,一起被获取的A、B和C 包含更多的冗余。诸如JAR文件之类的压缩应用文件通常包含多个文件,其中每个文件分别被压 缩。Java应用示例中的许多文件是Java类文件,即文件的内容是类似的。这样,本发明的 实施例将应用的每个Java类文件的大的部分与包含用于将广告显示为单个类文件的代码 的每个Java类文件的大的部分组合起来。假设存在两个输入类文件A和B。出于简化,假定A仅包含单个方法Method-A,该 方法包括数目X个指令(instruction)Method-AO{Instruction-A-I ;Instruction-A-2 ;
…Instruction-A-x ;}B包含另一单个方法,这里Method-B包括数目y个指令Method - B (){Instruction-B-I ;Instruction-B-2 ;…Instruction-B-y ;}本发明的实施例随后创建包含这两种方法的新的类X。因此,X看起来将像如下这 样Method - A (){Instruction-A-I ;Instruction-A-2 ;…Instruction-A-x ;}Method-B(){Instruction-B-I ;Instruction-B-2 ;…Instruction-B-y ;}为了保持该代码的功能,本发明的实施例将保持所输入的类文件但是用代理取代 原始方法。为此,将重写类文件A中的Method-A和类文件B中的Method-B以在经组合的 类文件X中分别调用Method-A和Method-B。于是重写的文件A表现为如下这样Method - A (){X. Method-AO ;}而重写的文件B表现为如下这样Method - B (){X. Method-B ();}
本发明可被扩展为覆盖任意数目个输入类文件。此外,其也可应用于显示广告的 类文件。在创建了输出类文件之后,从应用的输入类文件拷贝来的所包含代码被编组 (instrument)为调用从显示广告的类文件拷贝来的代码。因此,调用触发广告在应用中的 所希望位置处并且在应用生命周期中的所希望时间点处呈现。作为示例,当前的技术状态 包括基于控制流和数据流分析的方法,这些方法可适用于实现这种变换。提高经压缩可执行文件的压缩比允许被添加到原始应用中的代码将广告显示为 功能上更丰富。利用此的一种方式是提高广告呈现的健壮性(robustness)。在许多移动设 备对可安装应用的大小施加了限制的同时,资源约束也出现在应用运行时间上。通常,可用 的堆(heap)存储器的量较小并且执行应用的CPU不是非常强大。就此而言,广告的显示不 与原始应用竞争诸如堆存储器或CPU周期之类的稀有资源可能是重要的。当在应用开始时示出广告时,负责呈现广告的新被插入的代码将在任何其它代码 之前执行,自由使用其所需要的所有资源,并且随后调用原始应用的代码。然而,在应用结 束时示出广告可能是更大的挑战。在此情况中,使原始应用退出的代码将转而被触发对广 告的呈现的代码取代。然而,在此时间点时,应用可能仍然持有资源,例如,其线程可能仍然 在后台运行或者存储器可能仍然被分配,这是因为应用在退出时通常依赖于由操作系统自 动收回资源。因此,向原始应用添加如下的代码是可取的,该代码跟踪资源使用并在广告在 应用结束时被示出之前释放任何所分配资源。平衡利用所添加代码的另一方式是增加用户体验。在不用所公开的优化的情况 下,应用可能仅具有留给呈现仅包含静态图像的简单广告的代码的空间。附加空间可以允 许添加实现虚拟机的代码。于是广告的呈现相当于解译(interpret)程序。广告设计者将 利用这样的编程语言来创作广告程序,该编程语音例如通过提供用于显示、缩放、旋转或移 动图像、播放声音等的命令来明确地定向(target)广告创建。此外,可由响应于用户输入 有条件地执行代码的编程语言结构来支持交互性。更丰富的功能还可以包括实现作为对在应用中呈现广告的补充的数字版权管理 (DRM)。DRM例如可用来迫使用户每十次播放就连接到因特网并下载新的广告。替代地,可 以限制用户可以播放由广告提供资金的游戏版本的次数。在达到限制之后,用户必须获取 全付费版本的游戏以继续玩耍。作为针对原始应用的作者的附加服务,可以添加这样的代码,其截获应用的崩溃 (crash),收集与崩溃时应用的状态有关的信息,并且经由因特网将信息发送给服务器。应 用的作者随后可以访问该信息并且洞察崩溃背后的的原因。替代地,信息可以存储在设备 上并且仅在后来的时间点被发送,因为设备在应用崩溃之后可能不会立即处于稳定状况。图1是图示出根据本发明一个实施例的用于向应用插入广告的方法的流程图。方 法中的每个步骤可以用硬件、软件或其任何组合来体现。在100处,第一应用代码从第一输 入可执行文件被移除并被置于输出可执行文件中,其中,第一输入可执行文件是应用的一 部分。在102处,第一组代理被插入第一输入可执行文件中以取代被移除代码,其中,第一 组代理在运行时调用第一应用代码(现在位于输出可执行文件中)。在104处,第二应用代 码被添加到输出可执行文件中,其中,第二应用代码包括可执行来显示广告的代码并且第 二应用代码在应用的外面。在106处,第一输入可执行文件被压缩。在108处,输出可执行文件被压缩。在110处,第一输入可执行文件和输出可执行文件被提供给设备以使得设备 可以载入并执行它们。例如,第一可执行文件和输出可执行文件可被客户端计算机下载并 且被载入处理器可访问的存储设备中。第一输入可执行文件和输出可执行文件在Java应 用场合中例如可以是JAR文件。设备可以是移动设备,例如移动电话或个人数字助理。设 备的资源可能是有限的,从而使得如果第一应用代码被置于第一压缩文件中并且第二应用 代码被置于第二压缩文件中,则该设备将不能够运行第一和第二压缩文件。于是,得到的文 件产生了比原始文件更好的压缩比,这是因为将代码组合为单个输出文件导致了每个文件 更多的冗余,这些冗余将被JAR或类似JAR的压缩方案(即与其它文件分开地处理每个文 件的方案)所利用。图2是图示出根据本发明另一实施例的用于向应用插入广告的方法的流程图。方 法中的每个步骤可以用硬件、软件或其任何组合来体现。在200处,第一应用代码从第一输 入可执行文件被移除并被置于输出可执行文件中,其中,第一输入可执行文件是应用的一 部分。在202处,第一组代理被插入第一输入可执行文件中以取代被移除代码,其中,第一 组代理在运行时调用第一应用代码(现在位于输出可执行文件中)。在204处,第二应用代 码从第二输入可执行文件被移除并被置于输出可执行文件中,其中,第二应用代码包括可 执行来显示广告的代码并且第二输入可执行文件在应用的外面。在206处,第二组代理被 插入第二输入可执行文件中以取代被移除代码,其中,第二组代理在运行时调用第二应用 代码(现在位于输出可执行文件中)。在208处,第一输入可执行文件被压缩。在210处, 第二输入可执行文件被压缩。在212处,输出可执行文件被压缩。在214处,第一和第二输 入可执行文件以及输出可执行文件被提供给设备以使得该设备可以载入并执行它们。例 如,第一和第二输入可执行文件以及输出可执行文件可以被客户端计算机下载并被载入处 理器可访问的存储设备中。第一和第二输入可执行文件以及输出可执行文件在Java应用 场合中例如可以是JAR文件。设备可以是移动设备,例如移动电话或个人数字助理。设备 的资源可能是有限的,从而使得如果第一应用代码被置于第一压缩文件中并且第二应用代 码被置于第二压缩文件中,则该设备将不能够运行第一和第二压缩文件。于是,得到的文件 产生了比原始文件更好的压缩比,这是因为将来自原始输入文件的代码组合为单个输出文 件导致了每个文件更多的冗余,这些冗余将被JAR或类似JAR的压缩方案(即与其它文件 分开地处理每个文件的方案)所利用。图3是图示出根据本发明另一实施例的用于向移动设备递送广告的方法的流程 图。方法中的每个步骤可以用硬件、软件或其任何组合来体现。在300处,输出可执行文件 被压缩,其中,输出可执行文件包含被设计来执行应用的第一应用代码以及被设计来显示 广告的第二应用代码。在302处,第一输入可执行文件被压缩,其中,第一输入可执行文件 包含针对输出可执行文件中的第一应用代码的方法调用(method call)。在304处,第二输 入可执行文件被压缩,其中,第二输入可执行文件包含针对输出可执行文件中的第二应用 代码的方法调用。第一和第二输入可执行文件以及输出可执行文件在Java应用场合中例 如可以是JAR文件。在306处,第一和第二输入可执行文件以及输出可执行文件被递送给 移动设备。例如,第一和第二输入可执行文件以及输出可执行文件可以被客户端计算机下 载并被载入处理器可访问的存储设备中。设备例如可以是移动电话或个人数字助理。设备 的资源可能是有限的,从而使得如果第一应用代码被置于第一压缩文件中并且第二应用代码被置于第二压缩文件中,则该设备将不能够运行第一和第二压缩文件。图4是图示出根据本发明另一实施例的用于在移动设备上运行具有广告的应用 的方法的流程图。方法中的每个步骤可以用硬件、软件或其任何组合来体现。在400处,第 一和第二压缩输入可执行文件以及压缩输出可执行文件可以被接收。应当注意,尽管这三 个文件被描述为在单个步骤中,实际上,为了解释权利要求的目的,第一和第二压缩输入可 执行文件以及压缩输出可执行文件可在不同时间和/或在不同事务处理(transaction)中 被接收。在402处,第一输入可执行文件被运行,其中,第一输入可执行文件包含当被执行 时调用输出可执行文件中的第一方法的第一组代理,其中,第一方法表示应用的一部分。在 404处,第二输入可执行文件被运行,其中,第二输入可执行文件包含当被执行时调用输出 可执行文件中的第二方法的第二组代理,其中,第二方法表示呈现广告的代码的一部分。应 当注意,短语“应用的一部分”将被解释为是指应用的任何部分,包括整个应用本身。换言 之,当第二方法被运行时,广告被显示给用户。设备例如可以是移动电话或个人数字助理。 设备的资源可能是有限的,从而使得如果第一应用代码被置于第一压缩文件中并且第二应 用代码被置于第二压缩文件中,则该设备将不能够运行第一和第二压缩文件。应当注意,本发明的实施例可以在其中服务结果的呈现是有用功能的任何网络拓 扑中以及任何计算平台上实现。例如,如图5所示,构想出了本发明在如下的网络中实现的 实现方式,该网络包括个人计算机502、媒体计算平台503(例如,具有导航和记录能力的线 缆和卫星机顶盒(例如,Tivo))、手持计算设备(例如PDA) 504、蜂窝电话506,或者任何其 它类型的便携式通信平台。这些设备的用户可以导航网络并且从代理服务器请求流传输视 频。用户可以利用诸如504和506之类的移动设备来执行客户端侧宏指令(macro)并且/ 或者请求服务器运行服务器侧宏指令。代理服务器508(或多种计算平台中的任一者)可 以包括存储器、处理器和通信组件,于是可以利用上述的各种技术。代理服务器508的处理 器可以被配置为例如运行图1-4中描述的所有处理。服务器508可被耦合到数据库510,数 据库510存储与文件的压缩有关的信息。应用例如可以作为浏览器或其它应用的一部分驻 留在这些设备上,或者从远程站点,例如在网页中被提供。本发明还可以在广泛种类的网络 环境(由网络512表示的,例如基于TCP/IP的网络、电信网络、无线网络等)中被实践。本 发明还可以作为可由计算机读取的一系列指令而被有形地体现在一个或多个程序存储设 备中(即,计算机可读介质中)。尽管已参考本发明的具体实施例详细地示出并描述了本发明,然而本领域技术人 员将明白,在不脱离本发明的精神和范围的情况下可以对所公开的实施例的形式和细节作 出改变。另外,尽管已参考各个实施例在此描述了本发明的各个优点、方面和目的,然而将 明白,不应当通过参考这些优点、方面和目的来限制本发明的范围。而是,本发明的范围应 当参考所附权利要求来确定。
权利要求
一种用于向应用插入广告的方法,该方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中;将第一组代理插入所述第一输入可执行文件中,其中,所述第一组代理在运行时调用所述第一应用代码;将第二应用代码添加到所述输出可执行文件中,其中,所述第二应用代码表示可执行来显示所述广告的代码;压缩所述输出可执行文件;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件提供给设备,以使得所述设备可以载入并执行所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件。
2.如权利要求1所述的方法,其中,所述设备是移动电话。
3.如权利要求1所述的方法,其中,所述设备是个人数字助理。
4.如权利要求1所述的方法,其中,所述设备是资源有限的,从而使得如果所述第一应 用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文件中,则所述设备 将不能够运行所述第一压缩文件和所述第二压缩文件。
5.如权利要求1所述的方法,还包括在所述提供之前压缩所述第一输入可执行文件。
6.一种用于向应用插入广告的方法,该方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中; 将第一组代理插入所述第一输入可执行文件中,其中,所述第一组代理在运行时调用 所述第一应用代码;从第二输入可执行文件移除第二应用代码并将其置于所述输出可执行文件中,其中, 所述第二应用代码表示可执行来显示所述广告的代码;将第二组代理插入所述第二输入可执行文件中,其中,所述第二组代理在运行时调用 所述第二应用代码;压缩所述输出可执行文件;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件提 供给设备,以使得所述设备可以载入并执行所述第一输入可执行文件和所述第二输入可执 行文件以及所述输出可执行文件。
7.如权利要求6所述的方法,其中,所述设备是资源有限的,从而使得如果所述第一应 用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文件中,则所述设备 将不能够运行所述第一压缩文件和所述第二压缩文件。
8.一种用于向设备递送应用的方法,所述方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中; 将第一组代理插入所述第一输入可执行文件中,其中,所述第一组代理在运行时调用 所述第一应用代码;从第二输入可执行文件移除第二应用代码并将其置于所述输出可执行文件中; 将第二组代理插入所述第二输入可执行文件中,其中,所述第二组代理在运行时调用 所述第二应用代码;压缩所述输出可执行文件;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件提 供给设备,以使得所述设备可以载入并执行所述第一输入可执行文件和所述第二输入可执 行文件以及所述输出可执行文件。
9.如权利要求8所述的方法,其中,所述设备是资源有限的,从而使得如果所述第一应 用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文件中,则所述设备 将不能够运行所述第一压缩文件和所述第二压缩文件。
10.一种用于向移动设备递送广告的方法,所述方法包括压缩输出可执行文件,其中,所述输出可执行文件包含被设计来执行应用的第一应用 代码以及被设计来显示广告的第二应用代码;压缩第一输入可执行文件,其中,所述第一输入可执行文件包含针对所述输出可执行 文件中的所述第一应用代码的方法调用;压缩第二输入可执行文件,其中,所述第二输入可执行文件包含针对所述输出可执行 文件中的所述第二应用代码的方法调用;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件递 送给所述移动设备。
11.一种用于在移动设备上运行具有广告的应用的方法,该方法包括接收经压缩的第一输入可执行文件和第二输入可执行文件以及经压缩的输出可执行 文件;运行所述第一输入可执行文件,其中,所述输入可执行文件包含当被执行时调用所述 输出可执行文件中的第一方法的第一组代理,其中,所述第一方法表示所述应用的一部分; 以及运行所述第二输入可执行文件,其中,所述第二输入可执行文件包含当被执行时调用 所述输出可执行文件中的第二方法的第二组代理,其中,所述第二方法表示呈现所述广告 的代码的一部分。
12.如权利要求11所述的方法,其中,所述移动设备是资源有限的,从而使得如果所述 第一方法被置于第一压缩文件中并且所述第二方法被置于第二压缩文件中,则所述设备将 不能够运行所述第一压缩文件和所述第二压缩文件。
13.一种用于向移动设备递送广告的装置,该装置包括 接口 ;以及一个或多个处理器,被配置为执行下面的步骤压缩输出可执行文件,其中,所述输出可执行文件包含被设计来执行应用的第一应用 代码以及被设计来显示广告的第二应用代码;压缩第一输入可执行文件,其中,所述第一输入可执行文件包含针对所述输出可执行 文件中的所述第一应用代码的方法调用;压缩第二输入可执行文件,其中,所述第二输入可执行文件包含针对所述输出可执行 文件中的所述第二应用代码的方法调用;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件递 送给所述移动设备。
14.如权利要求13所述的装置,其中,所述设备是移动电话。
15.如权利要求13所述的装置,其中,所述设备是个人数字助理。
16.如权利要求13所述的装置,其中,所述设备是资源有限的,从而使得如果所述第一 应用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文件中,则所述设 备将不能够运行所述第一压缩文件和所述第二压缩文件。
17.—种移动设备,包括接口 ;以及一个或多个处理器,被配置为执行下面的步骤接收经压缩的第一输入可执行文件和第二输入可执行文件以及经压缩的输出可执行 文件;运行所述第一输入可执行文件,其中,所述输入可执行文件包含当被执行时调用所述 输出可执行文件中的第一方法的第一组代理,其中,所述第一方法表示所述应用的一部分; 以及运行所述第二输入可执行文件,其中,所述第二输入可执行文件包含当被执行时调用 所述输出可执行文件中的第二方法的第二组代理,其中,所述第二方法表示呈现所述广告 的代码的一部分。
18.如权利要求17所述的移动设备,其中,所述移动设备是资源有限的,从而使得如果 所述第一方法被置于第一压缩文件中并且所述第二方法被置于第二压缩文件中,则所述设 备将不能够运行所述第一压缩文件和所述第二压缩文件。
19.一种用于向应用插入广告的方法,该方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中;将第一组代理插入所述第一输入可执行文件中,其中,所述第一组代理在运行时调用 所述第一应用代码;将第二应用代码添加到所述输出可执行文件中,其中,所述第二应用代码表示可执行 来显示所述广告的代码;压缩所述输出可执行文件;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件提 供给设备,以使得所述设备可以载入并执行所述第一输入可执行文件和所述第二输入可执 行文件以及所述输出可执行文件。
20.如权利要求19所述的方法,其中,所述设备是移动电话。
21.如权利要求19-20中任一项所述的方法,其中,所述设备是个人数字助理。
22.如权利要求19-21中任一项所述的方法,其中,所述设备是资源有限的,从而使得 如果所述第一应用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文 件中,则所述设备将不能够运行所述第一压缩文件和所述第二压缩文件。
23.如权利要求19-22中任一项所述的方法,还包括在所述提供之前压缩所述第一输 入可执行文件。
24.一种用于向应用插入广告的方法,该方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中;将第一组代理插入所述第一输入可执行文件中,其中,所述第一组代理在运行时调用 所述第一应用代码;从第二输入可执行文件移除第二应用代码并将其置于所述输出可执行文件中,其中, 所述第二应用代码表示可执行来显示所述广告的代码;将第二组代理插入所述第二输入可执行文件中,其中,所述第二组代理在运行时调用 所述第二应用代码;压缩所述输出可执行文件;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件提 供给设备,以使得所述设备可以载入并执行所述第一输入可执行文件和所述第二输入可执 行文件以及所述输出可执行文件。
25.如权利要求19-24中任一项所述的方法,其中,所述设备是资源有限的,从而使得 如果所述第一应用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文 件中,则所述设备将不能够运行所述第一压缩文件和所述第二压缩文件。
26.一种用于向移动设备递送广告的装置,该装置包括接口 ;以及一个或多个处理器,被配置为执行下面的步骤压缩输出可执行文件,其中,所述输出可执行文件包含被设计来执行应用的第一应用 代码以及被设计来显示广告的第二应用代码;压缩第一输入可执行文件,其中,所述第一输入可执行文件包含针对所述输出可执行 文件中的所述第一应用代码的方法调用;压缩第二输入可执行文件,其中,所述第二输入可执行文件包含针对所述输出可执行 文件中的所述第二应用代码的方法调用;以及将所述第一输入可执行文件和所述第二输入可执行文件以及所述输出可执行文件递 送给所述移动设备。
27.如权利要求26所述的装置,其中,所述设备是移动电话。
28.如权利要求26-27中任一项所述的装置,其中,所述设备是个人数字助理。
29.如权利要求26-28中任一项所述的装置,其中,所述设备是资源有限的,从而使得 如果所述第一应用代码被置于第一压缩文件中并且所述第二应用代码被置于第二压缩文 件中,则所述设备将不能够运行所述第一压缩文件和所述第二压缩文件。
全文摘要
在一个实施例中,一种用于向应用插入广告的方法包括从第一输入可执行文件移除第一应用代码并将其置于输出可执行文件中,其中,第一应用代码表示应用的代码部分。然后,第一组代理被插入第一输入可执行文件中,其中,第一组代理在运行时调用第一应用代码。第二应用代码被添加到输出可执行文件中,其中,第二应用代码表示可执行来显示广告的代码。压缩输出可执行文件。然后,第一输入可执行文件和输出可执行文件被提供给设备,以使得设备可以载入并执行这些文件。
文档编号G06Q30/00GK101946251SQ200980105305
公开日2011年1月12日 申请日期2009年1月14日 优先权日2008年2月14日
发明者托马斯·罗帕蒂克 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1