专利名称:Java虚拟机的操作的制作方法
技术领域:
本发明涉及一种操作JAVA虚拟机的方法和执行该方法的装置。尤其是,该装置是一个接收数字广播信号的数字接收器。
一个数字接收器,例如机顶合,接收数字广播信号,该信号典型地包括视频,音频和数据成分。数据成分以重复的“圆盘传送带”类型方式被提供,当模块在需要时就由接收器下载下来。该模块典型地包括写在JAVA程序脚本中的交互应用程序。该数字接收器配有JAVA虚拟机(JVM)以及接收链接和通过执行来运行该交互应用程序的JAVA类文件。
但是当前播送设备所用的相对低的数据传输率,造成数据传输中存在可觉察的延迟。例如,用户请求一个特殊的交互应用程序,会经常出现不得不等待几秒应用程序才开始运行的情况,以及在更多情况下,当应用程序运行时将忍受进一步的延迟。
US-A-59966162公开了一个在信息发布系统中伪装等待时间效应的方法和装置。该公开的装置包括一个从系统的服务器请求和接收信息的机顶合终端。该信息通常显示在与机顶合终端相连的普通电视机上。该终端包括一个中央处理单元和一个信息流解码器,该解码器被编程来执行一个程序来,当用户通常经由遥控器来选择某个适合机顶合终端来执行的功能时该程序被执行。执行时,该方法从存储器调出一个预先确定的图形(例如,一个白屏)并且开始将被显示的图形渐变成该预定图形。同时,所放声音也渐变成无声。在机顶合终端中的解码器被重新设置来从存储器中刷掉来自预先解码的视频的任何残留声音或视频信息。最后,一旦新视频流到达并且开始被编码,机顶合终端从预定图形渐强到新视频流以及从预定音频渐强到与该视频流相对应的音频流。在这点上,用户所选择的功能被完全执行而没有显示通常和反应时间延迟相关的不良效果。然而这个专利提出的解决方法仅涉及在接收视频和音频流时的延迟,而不是在任何情况下降低延迟,简单地试图掩盖延迟,因此对用户来说效果不太明显。
因此本发明的一个目标是改进上述的现有技术。
根据本发明的第一个方面,提供一种操作JAVA虚拟机的方法,包括装载一个包括一个父JAVA类文件的模块,识别列在所述的父JAVA类文件中的子JAVA类文件,和预先装载所述的子JAVA类文件。
根据本发明的第二个方面,提供了经设置执行上述方法的装置,包括接收装置,用来接收数字广播信号,和处理装置,用来处理所述的信号,所述的处理装置包括一个JAVA虚拟机。
通过本发明,可能操作JAVA虚拟机来优化JAVA类文件的装载和预先装载,从而能节省时间。当使用时,例如,在数字电视接收器中,这能导致对数字广播信号的数据部分作快速处理。
优选地,装载包括从数字广播信号的数据部分装载模块。最好,预先装载根据优先权来执行,并且包括检查进一步的用于现有识别过的子JAVA类文件的模块和相应的预先装载JAVA类文件。
父JAVA类文件和预先装载同时执行。该方法优选地进一步包括识别列在子JAVA类文件中的次子JAVA类文件。
该装置可以是一个机顶合或数字电视。优选地,JAVA虚拟机包括一个计算机程序或至少部分由硬件实现。
表述词父,子,次子JAVA文件的使用并不意味在不同JAVA文件中有任何等级关系,但是被用来定义一个JAVA文件和它所参照的另一个之间的关系。一个需要指引另一个JAVA类文件来链接和执行那个文件的JAVA类文件可以是一个寻址子JAVA文件的父JAVA,或者可以是一个寻址次子JAVA类文件文件的子JAVA类文件。
接下来,将通过参考附图,仅通过示例的方式对本发明的实施例进行描述,其中
图1是连接到显示设备上的机顶合的结构图,和图2是操作JAVA虚拟机的方法的流程图。
在图1中,机顶合10包括接收装置,形如接收器12用来接收数字广播信号14。该机顶合也包括处理装置,形如CPU16,用来处理信号14。该处理装置16包括一个JAVA虚拟机(JVM)18。该JVM是一个由CPU16运行的计算机程序。JVM16是硬件和独立的操作系统,并且允许JAVA小程序被机顶合10来运行。
另外机顶合包括传统部件,例如解码器20,RAM22和高速缓冲存储器24。该解码器解多路广播信号14。视频成分被输入到显示设备26,以及音频成分被输入到音频扬声器(未示出)。机顶合10的用户经由适合的用户接口选择他们想看的频道,获得适当的内容并提供给用户。
如果用户希望通过他们的机顶合10来访问任何交互的应用程序,那么,通常以遥控的方式,仍然可以通过用户接口实现这些功能。这些交互的应用程序是诸如电子程序向导,“文字电视广播”类型的信息,和与广播事件主题相关的应用程序。这个后面的类型的应用程序将,例如如果用户正在观看高尔夫锦标赛,是过程中各个洞的详细图像,参加的高尔夫选手的统计,实时排行榜等。包括双向通信的应用呈现也有可能,例如购物和赌博。机顶合10配备有后向信道,通常经山电话网络来实现这个双向通信。
但是,运行这些交互应用程序的软件经由广播信号14的数据成分发送到机顶合10,该信号具有有限带宽。构成交互应用程序的JAVA小程序专用于各个广播信道,并且由传输器以圆盘传送带形式重复广播。一旦用户选择一个交互应用程序,机顶合必须开始获取必须的JAVA小程序来执行该应用程序。
当机顶合10请求一个交互应用程序时,图2的方法被启动。该方法首先包括步骤30来下载一个包括至少一个父JAVA小程序的模块。该模块从数字广播信号14的数据部分获得,并且被机顶合10保存在高速缓冲存储器24中。该模块是多个形成被数字电视信号14的播送设备分别传输的圆盘传送带的多个模块中的一个,因此形成信号14的数据成分。
机顶合10所请求的交互应用程序包括多个JAVA类文件,具有一个父JAVA类文件被机顶合10中的JAVA虚拟机(JVM)寻址。该父JAVA类文件可以构成一个完整的模块,或者可以是模块的一部分。一旦该父JAVA类文件被JVM链接和执行,进一步的JAVA类文件将会被寻址。这些子JAVA类文件可以在起始模块中,该模块保存在高速缓冲存储器24中,或者可以在圆盘传送带的不同模块中,因此它们仍旧由被机顶合10加载。
但是为了加快处理的速度,一旦父JAVA类文件被加载,就执行步骤32来识别列在父JAVA类文件中的子JAVA类文件。CPU16检查父JAVA类文件来产生一列可以被父类文件寻址的JAVA文件。子文件可以涉及运行在交互应用程序中被用户选择的下面的选项的JAVA代码,或者可以是进一步的小程序,它被父JAVA文件自动运行。一旦父JAVA类文件被链接和执行,在运行交互应用程序期间子文件可以被请求。
在识别列在父类文件中的子JAVA类文件完成以后,执行步骤34来预先装载子JAVA类文件。该预先装载包括检查进一步的用于现有识别过的子JAVA类文件的模块和相应地预先装载JAVA类文件。当机顶合10接收时,CPU16,经由接收器12盒解码器20,检查各个依次包含在数据圆盘传送带中的模块。当CPU16识别一个包括在被父LAVA类文件寻址时预先被识别的子JAVA类文件的模块时,CPU预先装载这个模块来获得请求的子JAVA小程序。
在预先装载子JAVA类文件的同时,执行父JAVA类文件,这个过程在图2的步骤36中执行。在CPU16执行预先装载被选的交互应用程序的同时,在CPU16上运行的JAVA虚拟机18具有链接和执行父JAVA类文件的功能。在效果上意味着,当机顶合10从数据圆盘传送带获得交互应用程序时,机顶合10执行所选择的交互应用程序。
因此,父JAVA类文件应该请求一个子类文件,例如当用户在交互应用程序中执行一个子选择,然后子文件,如果它以被预先装载,将立即可供CPU16使用。这确保不会在运行交互应用程序时,因为没有任何子类临时文件而导致延迟。能够存储在高速缓冲存储器24或RAM22中的预先装载的文件可以被JVM18,无延时地调用,链接和执行。
在某种环境中,父JAVA类文件可以请求一个还没有被预先装载的子JAVA类文件。当这个发生时,机顶合将从数据圆盘传送带获得模块,直到想要的子文件就位,在很多相同的方式中作为一个传统的机顶合。然后为了减少出现延迟,预先装载根据优先权被执行。这是识别步骤32的智能的特征。
当CPU正在执行步骤32、识别列在父类文件中的子JAVA类文件,处理这个信息来根据优先权将子类文件排成列。这个优先权是基于子文件将被父JAVA类文件需要的次序的可能性之上的。然后这个优先权列表被用来确定预先装载子JAVA类文件。这能确保降低父类文件寻址还没有被预先装载的子文件的机会。
为了进一步改善该JAVA虚拟机18的操作方法,步骤38在子JAVA类文件预装之后执行,或者与其同步执行。步骤38包括识别列在子JAVA类文件中的次子JAVA类文件。通过识别次子文件,一旦一个预先装载JAVA类文件被寻址,JVM18准备立即开始预先装载次子文件。另外这减少了在运行交互应用程序中明显的延迟。
JVM18在这被描述为计算机程序,但同样,它可以至少部分地由硬件实现。
权利要求
1.一种操作JAVA虚拟机的方法,包括装载(30)一个包括一个父JAVA类文件的模块,识别(32)列在所述的父JAVA类文件中的子JAVA类文件,和预先装载(34)所述的子JAVA类文件。
2.如权利要求1所述的方法,其中所述的装载(30)包括从一个数字广播信号的数据部分装载所述的模块。
3.如权利要求1或2所述的方法,其中所述的预先装载(34)根据优先权来执行。
4.如权利要求1,2或3所述的方法,其中所述的父JAVA类文件和所述的预先装载(34)同时执行(36)。
5.如以上任何一个权利要求所述的方法,更进一步包括识别(38)列在子JAVA类文件中的次子JAVA类文件。
6.如以上任何一个权利要求所述的方法,其中所述的预先装载(34)包括检查更进一步的用于现有识别过的子JAVA类文件的模块和相应地预先装载JAVA类文件。
7.用于执行权利要求1-6中任何一个方法的装置,包括接收装置(12),用来接收数字广播信号(14),和处理装置(16),用来处理所述的信号(14),所述的处理装置(16)包括一个JAVA虚拟机(18)。
8.如权利要求7所述的装置,其中所述的装置是一个置顶盒机顶合(10)。
9.如权利要求7所述的装置,其中所述的装置是一个数字电视。
10.如权利要求7,8或9所述的装置,其中所述的JAVA虚拟机(18)包括一个计算机程序。
11.如权利要求7,8或9所述的装置,其中所述的JAVA虚拟机(18)至少部分由硬件实现。
全文摘要
一种操作JAVA虚拟机的方法,包括装载一个包括一个父JAVA类文件的模块,识别列在所述的父JAVA类文件中的子JAVA类文件,和预先装载所述的子JAVA类文件。提供经设置用来执行该方法的装置,包括接收装置用来接收数字广播信号,和处理装置用来处理所述的信号,所述的处理装置包括一个JAVA虚拟机。
文档编号G06F9/445GK1659517SQ03813217
公开日2005年8月24日 申请日期2003年6月4日 优先权日2002年6月8日
发明者R·J·霍尔兹沃斯 申请人:皇家飞利浦电子股份有限公司