加速多媒体内容的制作方法

文档序号:6403186阅读:381来源:国知局
专利名称:加速多媒体内容的制作方法
技术领域
本公开内容涉及计算机处理领域。
背景技术
JavaTM语言已在万维网及其它通信介质上发布多媒体内容时广泛地使用。例如,可以使用与可从地处加州圣荷西(San Jose,Ca)的Sun微系统有限公司(Sun Microsystems,Inc)买到的JavaTM语言规范第二版相兼容的Java程序,来把包括图形、声音、文本或其它强制的内容在内的代码传输到访问特定万维网站点的用户。这类内容可以向用户告知特定供应商所提供的产品或服务。在其它的情况下,JavaTM代码可以为那些访问特定万维网站点的用户提供娱乐服务。
通常,JavaTM语言是解释性语言。典型地,应用程序设计者编写可由具备JavaTM虚拟机的设备解释的一般性Java应用字节码,所述虚拟机可以与可从Sun微系统有限公司买到的JavaTM虚拟机规范第二版相兼容。虚拟机(VM)解释JavaTM字节码以便可以在可使用的目标硬件平台上执行所述字节码,所述目标硬件平台例如是Intel奔腾TM4微处理器。令人遗憾的是,被解释的代码往往是非线性的,并且典型地在目标硬件平台上执行得很慢。往往缓慢的性能可能是因被解释的代码与本机代码之间的性能差异而造成的,所述本机代码可以直接由目标平台的处理器来执行。
作为典型的使用,JavaTM小应用程序(applet)以压缩形式下载至用户计算机。用户计算机可以将已下载的文件解压缩到诸如系统RAM之类的易失性存储器当中。接着,用户计算机上所运行的解释器可以以线性方式翻译来自于RAM的每个字节码,然后在用户计算机上执行所述翻译的代码。当每个执行实例结束时,可以丢弃被翻译的代码。这一过程因其特性而典型地使用大量的系统RAM,并且可能由于代码执行速度或易失性存储器使用效率而未被优化。
因此,所需要的就是为高效的Java代码执行及其它好处而提供一种方法和设备。


最好参照下列说明书和附图来理解本发明,这些附图用来举例说明本发明的实施例。在附图中图1是根据本发明实施例的基于处理器的系统的示意性描绘图。
图2图示说明依照本发明实施例的通信链路。
图3是根据本发明实施例的用于生成可执行本机代码的数据流程图。
图4是根据本发明实施例的用于生成具有安全特性的可执行本机代码的流程图。
图5图示说明依照本发明实施例的无线通信链路。
具体实施例方式
在下面的说明中,阐述了许多技术规范细节来提供对本发明的详细理解。然而,本领域普通技术人员将容易领会到,本发明可以在没有这些细节的情况下加以实施。例如,许多描述的代码段可能符合JavaTM程序设计语言的版本。然而,由于同样也可以使用其它的程序设计语言和结构,因而这只是举例说明而非作为限制。
参照图1,基于处理器的系统10可以包含耦合于接口14的处理器12。接口14可以耦合于显示器16或显示器控制器(未示出)和系统存储器18,所述接口可以是桥接器(bridge)。系统存储器18可以包括可有助于存储系统10中的应用程序及其它代码的多个动态随机存取存储器装置(“DRAM”)或其它装置。接口14还可以耦合于一条或多条总线20。
总线20又依次耦合于一个或多个存储装置22,比如像硬盘驱动器(HDD)。硬盘驱动器22或其它存储装置可以存储包括操作系统代码(未示出)、编译器26及其它代码在内的各种软件。在一些实施例中,基本输入/输出系统(BIOS)存储器24还可以耦合于总线20。
当然,也可以使用很多种类的其它基于处理器的系统体系结构。在一些实施例中,可以将编译器26及其它支持代码存储在硬盘22上或其它存储装置上,并且随后可以按照系统10的请求将其载入到系统存储器18中。继而,处理器12执行使编译器26及其它代码工作的指令。
另外,在一些实施例中,网络控制器28也可以耦合于总线20。网络控制器28可以提供到通信网络的接口,作为两个示例,比如像万维网或无线网络。
现在参照图2,宿主站点201可以寄宿用JavaTM编码的多媒体应用。在一些实施例中,可将这些应用传送给诸如万维网之类的通信网203。然后,通信网络203可以将所述多媒体应用从宿主站点201传输到用户平台205上,所述用户平台可能是基于处理器的系统,比如像系统10。
现在参照图5,寄宿站点201可以通过通信网络来传输基于Java的多媒体应用,所述通信网络可以包括将由用户平台205使用的天线207或其它无线设备。在一些实施例中,用户平台205可以是基于处理器的系统,比如像系统10。在其它实施例中,用户平台205可以是例如诸如像蜂窝式电话、个人数字助理(PDA)之类的无线设备,或其它设备。用户平台205可以耦合于天线209。天线209可以是偶极天线、接地天线或其它天线。
现在参照图3,压缩代码301可以是也许已经由通信网络例如23或无线网络接收到的压缩JavaTM源程序。在一些实施例中,压缩代码301可以由解压缩器303来进行解压缩。这个解压缩器303可以是将压缩代码301作为输入而将诸如字节码305之类的解压缩代码作为输出的软件程序。在一些实施例中,字节码305可以是与JavaTM程序设计语言相兼容的源代码。
在一些实施例中,将机器专用编译器集成到虚拟机(VM)307中,消除了间接指示的这一步骤。在这个VM中,307可以把字节码305当作输入。另外,在一些实施例中,解释器307可以动态链接在库309中可能发现的优化后的本机代码,然后在非易失存储器中保存新建的二进制代码,一旦从VM调用下一个实例时可以随时使用它。
在一些实施例中,本机代码311可以从系统10中任何可用的适当存储器那里执行,在未进一步解释的情况下,可以由虚拟机或能提供这一功能的类似模块来调用。结合图3所图示说明并描述的过程可以在受管理执行环境中提供改善的移动式代码执行。
例如,一旦已经生成本机代码311,对于代码的未来调用而言则就不再需要Java代码的进一步解释,这可以在执行速度方面提供显著的改善。另外,编译器307和库309可以包括这样的代码,其提供了为诸如系统10之类的特定平台而生成的本机代码的优化。在一些实施例中,本机代码311可以包含全部应用代码的完整的静态编译,因此在一些实施例中不需要运行时链接和运行时库的利用。
现在参照图4,在一些实施例中,压缩代码301可以由解压缩代码303解压缩成字节码和安全码401。正如结合图3描述的那样,字节码可以是解压缩JavaTM代码。安全码例如可以是已下载的具有JavaTM多媒体应用的安全证书。
在其它实施例中,安全码可以是与JavaTM多媒体应用一起下载的某个其它代码,其可以表明应用代码处于由特定源或提供商提供中或授权中。
安全码可以经受安全检查403,以确保能够信赖所述多媒体应用。这为特定的用户平台授权编译/授权进一步的运行时实例。如果安全检查证实能够信赖所述代码,那么编译器307就可以编译如上面结合图3所述的独立于平台的字节码。
然而,如果安全检查失败的话,那么就将阻止编译器307编译所述字节码。在这种情况下,在一些实施例中,可以通知用户安全检查403已判定用户或平台未被授权来对已压缩的Java多媒体应用301进行编译。
尽管已经相对于有限的实施例而描述了本发明,但是本领域的技术人员将认识到,其中的许多修改和变形都是可以的。例如,尽管编译器和优化器307是作为单个程序加以说明的,但是可以在多个程序、代码段、库或其它编程装置之间分割该编译器和优化器的功能。因此,意图让所附的权利要求涵盖所有这类的修改和变形,而这类修改和变形均落入本发明的精神和范围内。
权利要求
1.一种方法,包括接收压缩的字节码;对接收到的压缩的字节码进行解压缩;和在应用层将解压缩的字节码编译成本机代码,并且将该本机代码存储在非易失存储器中。
2.如权利要求1所述的方法,进一步包括接收安全码;以及部分地根据安全码的内容来将解压缩的字节码编译成本机代码。
3.如权利要求2所述的方法,其中接收安全码包括接收安全证书。
4.如权利要求2所述的方法,其中接收安全码包括接收表明压缩的字节码的源的信息。
5.如权利要求2所述的方法,其中接收安全码包括接收表明压缩的字节码的提供商的信息。
6.如权利要求2所述的方法,其中接收安全码包括接收表明是否可以编译已接收到的字节码的信息。
7.如权利要求1所述的1,其中将解压缩的字节码编译成本机代码包括将解压缩的字节码编译成全部应用代码的静态编译。
8.如权利要求7所述的方法,其中解压缩的字节码的静态编译可以在不使用非本机运行时库的情况下由处理器执行。
9.如权利要求8所述的方法,其中将已下载的字节码的静态编译保存在非易失存储器中。
10.如权利要求1所述的1,进一步包括从通信网络接收压缩的字节代码。
11.一种提供指令的机器可读介质,当所述指令由一个或多个处理器组执行时,使所述处理器组能够执行以下操作,包括接收压缩的字节码;对接收到的压缩的字节码进行解压缩;将解压缩的字节码编译成本机代码;以及在非易失性存储器中存储本机代码。
12.如权利要求11所述的本机可读介质,进一步包括接收安全码;以及部分地根据安全码的内容来将解压缩的字节码编译成本机代码。
13.如权利要求11所述的本机可读介质,其中接收安全码包括接收安全证书。
14.如权利要求11所述的本机可读介质,其中接收安全码包括接收表明压缩的字节码的源的信息。
15.如权利要求11所述的本机可读介质,其中接收安全码包括接收表明压缩的字节码的提供商的信息。
16.如权利要求11所述的本机可读介质,其中接收安全码包括接收表明是否可以编译接收到的字节码的信息。
17.如权利要求11所述的本机可读介质,其中将解压缩的字节码编译成本机代码包括将解压缩的字节码编译成全部应用代码的静态编译。
18.如权利要求11所述的本机可读介质,其中从通信网络接收压缩的字节码。
19.一种设备,包括接收器,用于接收压缩的字节码;耦合于接收器的解压缩器,用于对接收到的压缩的字节码进行解压缩;和耦合于接收器的编译器,用于将解压缩的字节码编译成本机代码。
20.如权利要求21所述的设备,其中所述压缩的字节码是从通信网络接收的。
21.如权利要求21所述的设备,其中所述编译器将解压缩的字节码编译成包括全部应用代码的静态编译的本机代码。
22.如权利要求21所述的设备,进一步包括所述接收器接收安全码;以及所述编译器部分地根据安全码的内容来将解压缩的字节码编译成本机代码。
全文摘要
可以接收压缩的字节码。可以对接收到的字节码进行解压缩。可以在应用层将解压缩的字节码耦合到本机代码。可以在非易失存储器(18)中存储本机代码。
文档编号G06F9/45GK1703675SQ03803412
公开日2005年11月30日 申请日期2003年6月19日 优先权日2002年7月31日
发明者A·坎伯, S·萨克曼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1