CN101261587B - 程序置换方法及装置 - Google Patents
程序置换方法及装置 Download PDFInfo
- Publication number
- CN101261587B CN101261587B CN2008100824561A CN200810082456A CN101261587B CN 101261587 B CN101261587 B CN 101261587B CN 2008100824561 A CN2008100824561 A CN 2008100824561A CN 200810082456 A CN200810082456 A CN 200810082456A CN 101261587 B CN101261587 B CN 101261587B
- Authority
- CN
- China
- Prior art keywords
- program
- message
- pod
- java applet
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明提供一种程序置换方法,通过不消除原有的程序,临时取代执行下载的程序,从而在可进行程序更新的同时,也可以容易地返回原有的程序。此外,在追加原有的程序中没有的功能时,将程序下载保存,以便可与原有的程序同时执行。
Description
本发明申请是本申请人于2004年6月4日提交的申请号为200410071429.6的分案申请。
技术领域
本发明涉及下载程序并可置换原有的程序的更新方法,特别涉及在数字电视中,将原有的程序临时置换成下载的程序并执行。
背景技术
在(日本)特开平10-326192号公报和特开2003-122578号公报中公开了现有的数字电视中的下载程序并更新的功能。图1是现有的下载程序并执行的数字有线电视系统的构成图,该系统由头端器(headend)4110、两台终端装置4120和4130构成。头端器4110保存三个程序A4111、程序B4112、程序C4113,供给终端装置4120和4130。终端装置4120有预先保存的三个程序A4121、程序B4122、程序C4123和执行这些程序的处理器4124。同样,终端装置4130也有预先保存的三个程序A4131、程序B4132、程序C4133和执行这些程序的处理器4134。如果从头端器4110发送新的程序,则终端装置4120和4130将其与原有的程序置换并保存,以后执行更新过的程序。例如,如果从头端器4110将新的程序4111传送到终端装置4120和4130,则终端装置4120和4130将程序A4121和4131置换为程序A4111。以后,处理器4124和4134执行更新过的程序A4111,取代程序A4121和4131。这样,通过更新终端装置保存的程序,可以实现终端装置的功能的更新和追加新的功能。
但是,在现有的技术中,由于更新原有的程序,所以不能简单地返回到更新前的程序。在期间和时间限定上,在想要提供特定的功能
的情况下,需要再次从头端器下载程序来返回到原来的程序。一般来说,下载需要时间,同时不能使用终端装置的其他功能,所以如果增加下载次数,则产生用户不能使用终端装置的问题。
发明内容
本发明的目的在于提供一种程序置换方法,可进行广播接收终端装置内的程序更新,还可容易地返回原有的程序。
为了实现上述目的,本发明提供一种程序置换方法,在可拆装地安装于广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换被注册成可以与所述POD进行消息的发送接收的所述广播接收终端装置内的程序,其特征在于,该方法包括:通知步骤,通知第一程序停止与所述POD的消息的发送接收,所述第一程序具有用于特定程序种类的识别符、并且被注册成可以与所述POD进行消息的发送接收;停止步骤,停止所述第一程序与所述POD的消息的发送接收;以及注册步骤,对已经存在于所述广播接收终端装置内的第二程序进行注册,以使所述第二程序可以与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序的识别符相同内容的识别符。
另外,具有通知所述第二程序可以与所述POD进行消息的发送接收的步骤。
这里,停止所述第一程序与所述POD的消息的发送接收是使被注册成可以与所述POD进行消息的发送接收的所述第一程序成为非注册的。
而且,将所述第一程序作为广播波的一部分而进行传送。
而且,接收了停止与所述POD的消息的发送接收的通知的所述第一程序结束内部处理,该内部处理是在使被注册成可以与所述POD进行消息的发送接收的所述第一程序成为非注册之前要结束的
处理。
在所述程序置换方法中,所述POD与所述广播接收终端装置内的程序间的消息的发送接收是利用特定用于消息的发送接收的通信路径的消息路径ID来进行的,而且当所述第二程序被注册成可以与所述POD进行消息的发送接收时,所述第二程序利用第二消息路径ID来进行与所述POD的发送接收,该第二消息路径ID是已被分配给用于所述第二程序与所述POD进行消息发送接收的通信路径的。
一种程序置换装置,在可拆装地安装于广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换被注册成可以与所述POD进行消息的发送接收的所述广播接收终端装置内的程序,其特征在于,该装置包括:通知部,通知第一程序停止与所述POD进行消息的发送接收,所述第一程序具有用于特定程序种类的识别符、并且被注册成可以与所述POD进行消息的发送接收;停止部,在所述通知部的通知后,停止所述第一程序与所述POD的消息的发送接收,以及注册部,在所述停止部的停止后,对已经存在于所述广播接收终端装置内的第二程序进行注册以使可以与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序的识别符相同内容的识别符。
一种由广播接收终端装置执行的程序置换方法,在可拆/装地安装于所述广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换以能进行和所述POD的消息的发送接收而被注册的所述广播接收终端装置内的程序,其特征在于,该方法包括:
注册步骤,注册第一程序,从而使所述第一程序可以与所述POD进行消息的发送接受,所述第一程序具有用于识别程序种类的识别符;通知步骤,通知已经在所述广播接收终端装置内的第二程序停止与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序
的识别符的内容相同的识别符;以及,停止步骤,停止所述第二程序与所述POD的消息的发送接收。
由此,即使是下载用于更新(置换)的新的第一程序的情况,由于保存原有的第二程序而不消除,所以可以简单地返回到更新前的状态。再有,POD例如是进行被称为CableCard(TM)的解扰等的卡。
这里,也可以具有向所述第一程序通知所述第一程序可进行与所述POD的消息的发送接收的步骤。
由此,第一程序知道可进行与POD的消息的发送接收,可以开始与POD的消息的发送接收。
再有,停止所述第二程序与所述POD的消息的发送接收是使通过被注册从而可以与所述POD进行消息的发送接收的所述第二程序成为非注册。
此外,也可以将所述第一程序作为广播波的一部分进行传送。
此外,接收了停止与所述POD的消息的发送接收的通知的所述第二程序执行必要处理,使通过被注册从而可以与所述POD进行消息的发送接收的所述第二程序成为非注册。由此,第二程序可以执行更新后的后处理等。
再有,一种程序置换装置,在可拆/装地安装于广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换以能进行和所述POD的消息的发送接收而被注册的所述广播接收终端装置内的程序,其特征在于,该装置包括:
注册单元,用于注册第一程序,从而使所述第一程序可以与所述POD进行消息的发送接受,所述第一程序具有用于识别程序种类的识别符;通知单元,用于通知已经在所述广播接收终端装置内的第二程序停止与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序的识别符的内容相同的识别符;以及,停止单元,停止所述第二程序与所述POD的消息的发送接收。
此外,也可以包括:停止所述第一程序与所述POD的消息的发送接收的步骤;以及,
以使停止了与所述POD的消息的发送接收的所述第二程序可再次发送接收的方式进行注册的步骤。
由此,在由第二程序更新为第一程序后,再次返回原来的第二程序时,可以不下载第二程序,仅进行注册处理就返回到原来的状态。
再有,也可以在停止所述第一程序与所述POD的消息的发送接收的步骤之前,具有对所述第一程序通知停止所述第一程序与所述POD的消息的发送接收的步骤。
由此,在第一程序被停止前,可以事先知道其情况,所以可以在停止前完成必要的处理。
再有,本发明不仅可作为这样的程序置换方法来实现,而且可作为在电路等中安装了各步骤的程序置换装置来实现,或作为使计算机执行各步骤的程序来实现,或作为记录了这样的程序的计算机可读取的记录介质来实现。
附图说明
通过下面结合示例性地示出一例的附图进行的解扰,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是表示现有的程序置换方法结构的构成图。
图2是本发明的有线电视系统的实施方式1的结构图。
图3表示本发明的有线电视系统中用于头端器和终端装置间的通信的频带使用方法的一例。
图4表示本发明的有线电视系统中用于头端器和终端装置间的通信的频带使用方法的一例。
图5表示本发明的有线电视系统中用于头端器和终端装置间的通信的频带使用方法的一例。
图6表示本发明的有线电视系统中终端装置的结构图。
图7表示本发明的有线电视系统中终端装置的外观代表例。
图8是本发明的POD的硬件结构的构成图。
图9是本发明的POD保存的程序结构的构成图。
图10是以MPEG规格定义的包的结构图。
图11表示MPEG2传输流的一例。
图12表示由前面板构成输入部的情况下的一例外观。
图13是本发明的终端装置保存的程序结构的构成图。
图14(1)表示本发明的显示器的显示的一例。
图14(2)表示本发明的显示器的显示的一例。
图15表示本发明的二次存储部保存的信息一例。
图16表示本发明的一次存储部保存的信息一例。
图17是表示本发明的MPEG2规格规定的PAT内容的模式图。
图18是表示本发明的MPEG2规格规定的PAT内容的模式图。
图19是表示本发明的DVB-MHP规格规定的AIT内容的模式图。
图20是表示本发明的按DSMCC方式发送的文件系统的模式图。
图21是表示本发明的XAIT内容的模式图。
图22表示本发明的二次存储部保存的信息一例。
图23表示本发明的显示器的显示一例。
图24表示本发明的二次存储部保存的信息一例。
图25是本发明的汇总Java程序的动作类别代码和其意义的表。
图26表示本发明的显示器的显示一例。
图27表示本发明的显示器的显示一例。
图28表示本发明的二次存储部保存的信息一例。
图29是表示实施方式1中POD Lib受理Java程序的注册时的动作的流程图。
图30是表示实施方式1中POD Lib受理Java程序的注册时的动作的流程图。
图31(1)是表示实施方式1中来自POD的消息配送的模式图。
图31(2)是表示实施方式1中来自POD的消息配送的模式图。
图31(3)是表示实施方式1中来自POD的消息配送的模式图。
图32(1)是表示实施方式1中来自POD的消息配送的模式图。
图32(2)是表示实施方式1中来自POD的消息配送的模式图。
图33(1)是表示实施方式1中来自POD的消息配送的模式图。
图33(2)是表示实施方式1中来自POD的消息配送的模式图。
图33(3)是表示实施方式1中来自POD的消息配送的模式图。
图34表示本发明的二次存储部保存的信息一例。
图35是表示实施方式1中POD Lib受理消除Java程序时的动作的流程图。
图36是表示实施方式1中POD Lib受理消除Java程序时的动作的流程图。
图37是表示实施方式1中POD Lib受理Java程序的注册时的一部分动作的流程图。
图38是表示实施方式1中POD Lib受理Java程序的注册时的一部分动作的流程图。
图39是表示从终端装置接通电源直至变更来自POD的消息配送的动作的流程图。
图40是表示从终端装置接通电源直至变更来自POD的消息配送的动作的流程图。
图41是表示终端装置上的Java程序和POD上的子程序间的消息配送路径一例的图。
图42是在POD Lib中汇总注册Java程序情况下的POD Lib的动作的流程图。
图43是汇总POD Lib消除Java程序的注册(即,使二次存储部中注册的与Java程序的消息配送的注册成为非注册)情况下的POD Lib
的动作的流程图。
具体实施方式
以下,参照附图来详细说明本发明的实施方式。
实施方式1
首先,参照附图来说明本发明的有线电视系统的实施方式1。图2是表示构成有线系统的装置关系的方框图,该系统由头端器101及三个终端装置A111、终端装置B112、终端装置C113构成。在本实施方式中,对于一个头端器,连接三个终端装置,但即使将任意数目的终端装置连接在头端器上,也可以实施本发明。
头端器101对多个终端装置发送视频/声音/数据等广播信号,同时接收来自终端装置的数据发送。为了实现它,将用于头端器101和终端装置A111、终端装置B112、终端装置C113间的传输的频带分割使用。图3是表示频带分割一例的表。频带大致分为Out Of Band(简称OOB)和In-Band两种。将5~130MHz分配给OOB,主要用于头端器101和终端装置A111、终端装置B112、终端装置C113间的数据的交换。130MHz~864MHz分配给In-Band,主要用于包含视频/声音的广播频道。在OOB中使用QPSK调制方式,而In-Band使用QAM64调制方式。有关调制方式技术,由于是与本发明不大相关的公知技术,所以省略详细的说明。图4是OBB频带的更详细的使用一例。70MHz~74MHz用于头端器101的数据发送,所有的终端装置A111、终端装置B112、终端装置C113从头端器101接收相同的数据。另一方面,10.0MHz~10.1MHz用于从终端装置A111向头端器101的数据发送,10.1MHz~10.2MHz用于从终端装置B112向头端器101的数据发送,10.2MHz~10.3MHz用于从终端装置C113向头端器101的数据发送。由此,可以将各终端装置固有的数据从各终端装置A111、终端装置B112、终端装置C113发送到头端器101。图5是对于In-Band频带的使用一例。150~156MHz和156~162MHz分别分配给电视频道1和电视频道2,以后按6MHz间隔分配电视频道。在
310MHz以后,按1MHz为单位分配给无线电信道。这些各频道可作为模拟广播使用,也可作为数字广播使用。在数字广播的情况下,按基于MPEG2规格的MOEG2传输包形式传输,除了声音和视频以外,也可以发送各种数据广播数据。
头端器101为了发送适合这些频带的广播信号,具有QPSK调制部和QAM调制部等。此外,为了接收来自终端装置的数据,具有QPSK解调器。此外,头端器101还具有与这些调制部和解调部有关的各种装置。但是,由于本发明主要与终端装置有关,所以省略对它们的详细说明。
终端装置A111、终端装置B112、终端装置C113接收来自头端器101的广播信号并进行再现。此外,对于头端器101,发送各终端装置固有的数据。三个终端装置在本实施方式中采用相同的结构。
图6是表示终端装置的硬件结构的方框图。500是终端装置,由QAM解调部501、QPSK解调部502、QPSK调制部503、TS解码器505、音频解码器506、扬声器507、视频解码器508、显示器509、二次存储部510、一次存储部511、ROM512、输入部513、CPU514构成。此外,在终端装置500中,可拆装POD504。
图7是作为终端装置500的外观一例的薄型电视机。
601是薄型电视机的机壳,除了POD504以外,内置终端装置500的所有构成部件。
602是显示器,相当于图6中的显示器509。
603是由多个按钮构成的前面板,相当于图6的输入部513。
604是信号输入端子,连接电缆线,以便进行与头端器101的信号的发送接收。信号输入端子与图6的QAM解调部501、QPSK解调部502、QPSK调制部503连接。
605是相当于图6的POD504的POD卡。如图7的POD卡605那样,POD504采用与终端装置500独立的方式,可在终端装置500上拆装。
POD504的细节将后述。
606是插入POD卡605的插入槽。
参照图6,QAM解调部501用包含由CPU514指定的频率的调谐信息,对头端器101进行了QAM调制并发送的信号进行解调,转交给POD504。
QPSK解调部502用包含由CPU514指定的频率的调谐信息,对头端器101进行了QPSK调制并发送的信号进行解调,转交给POD504。
QPSK调制部503用包含由CPU514指定的频率的解调信息,对从POD504传送来的信号进行QPSK解调,并发送到头端器101。
POD504如图7那样形成可从终端装置本体500中进行拆装的方式。作为POD504的一例,有被称为CableCard(TM)的进行解扰等的卡。终端本体500和POD504的连接接口按OpenCable(TM)HOST-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210)、以及参照该规格书的规格书来定义。这里,省略其细节,仅说明与本发明有关的部分。
图8是表示POD504的内部结构的方框图。POD504由第一解扰(descrambler)部701、第二解扰部702、扰频(scrambler)部703、第一存储部704、第二存储部705、CPU706构成。
第一解扰部701根据来自CPU706的指示,接收由终端装置500的QAM解调部501加密过的信号,并进行解密。然后,将解密的信号传送到终端装置500的TS解码器505。解码上必要的密钥等信息由CPU706适当提供。具体地说,头端器101将几个收费频道进行广播。如果用户购买这种收费频道,则第一解扰部701通过对来自CPU706的密钥等必要信息进行接收解扰,用户可以浏览收费频道。在不提供密钥等必要的信息时,第一解扰部701不进行解扰,将接收的信号原样传送到TS解码器505。
第二解扰部702根据来自CPU706的指示,接收由终端装置500的QPSK解调部502加密的信号,并进行解密。然后,将解密的数据转交
给CPU706。
扰频部703根据来自CPU706的指示,将从CPU706接收的数据加密,并传送到终端装置500的QPSK调制部503。
第一存储部704具体地由RAM等一次存储的存储器构成,在CPU706进行处理时使用,用于临时保存数据。
第二存储部705具体地由闪存ROM等二次存储的存储器构成,保存CPU706执行的程序,此外,用于保存即使电源关断也不能删除的数据。
CPU706执行第二存储部705存储的程序。程序由多个子程序构成。图9是第二存储部705存储的程序的一例。在图9中,程序800由主程序801、初始化子程序802、网络子程序803、再现子程序804、PPV子程序805等多个子程序构成。
这里,PPV是Pay Per View的简略,是能够以收费方式观看图像等特定节目的服务。如果用户输入密码,则向头端器101通知有购入,扰频被解除,可以观看。由于这种观看,用户日后支付购入费用。
主程序801是CPU706在电源接通时最初起动的子程序,进行其他子程序的控制。
初始化子程序802在电源接通时由主程序801起动,进行与终端装置500的信息交换等,并进行初始化处理。初始化处理的细节按OpenCable(TM)HOST-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210)、以及参照该规格书的规格书来定义。此外,还进行规格书中未定义的初始化处理。这里,介绍其一部分。如果接通电源,则初始化子程序802通过终端装置500的CPU514向QPSK解调部502通知第二存储部705存储的第一频率。QPSK解调部502按提供的第一频率进行调谐,将信号传送到第二解扰部702。此外,初始化子程序802将第二存储部705存储的第一密钥等解密信息提供给第二解扰部702。其结果,第二解扰部702进行解扰,转交给执行初始化子程序802的CPU706。因此,初始化子程序802可以接收信息。在本实施方式中,
初始化子程序802通过网络子程序803接收信息。其细节将后述。
此外,初始化子程序802将第二存储部705存储的第二频率通过终端装置500的CPU514通知QPSK调制部503。初始化子程序802将第二存储部705存储的加密信息提供给扰频部703。如果初始化子程序802将要发送的信息通过网络子程序803提供给扰频部703,则扰频部703使用提供的加密信息,将数据进行加密,提供给终端装置500的QPSK调制部503。QPSK调制部503对提供的加密过的信息进行调制,并发送到头端器101。
其结果,初始化子程序802通过终端装置500、第二解扰部702、扰频部703、网络子程序803,可以与头端器101进行双向通信。
网络子程序803是被主程序801、初始化子程序802等多个子程序使用的、用于与头端器101进行双向通信的子程序。具体地说,对于使用网络子程序803的其他子程序起作用,以便通过TCP/IP与头端器101进行双向通信。TCP/IP是规定用于在多个装置间进行信息交换的协议的公知技术,这里省略详细的说明。网络子程序803在电源接通时被初始化子程序802起动,通过终端装置500向头端器101通知MAC地址(Media Access Control地址的简略),该地址是识别第二存储部705预先存储的POD504的识别符,并请求取得IP地址。头端器101通过终端装置500向POD504通知IP地址,网络子程序803将IP地址存储在第一存储部704中。以后,头端器101和POD504将该IP地址作为POD504的识别符来使用,进行通信。
再现子程序804将第二存储部705存储的第二密钥等解密信息、以及终端装置500提供的第三密钥等解密信息提供给第一解扰部701,可进行解扰。此外,通过网络子程序803,接收输入到第一解扰部701的信号是PPV频道的信息。在知道PPV频道时,起动PPV子程序805。
如果起动PPV子程序805,则向终端装置500显示敦促节目购入的消息,接收用户的输入。具体地说,如果向终端装置500的CPU514传
送想要显示在画面上的信息,则在终端装置500的CPU514上动作的程序在终端装置500的显示器509上显示消息。如果用户通过终端装置500的输入部513输入密码,则终端装置500的CPU514接收该密码,通知在POD504的CPU706上动作的PPV子程序805。PPV子程序805将接收的密码通过网络子程序803发送到头端器101。如果密码正确,则头端器101将解密所需的第四密钥等解密信息通过网络子程序803通知PPV子程序805。PPV子程序805将接收的第四密钥等解密信息提供给第一解扰部701,第一解扰部701对输入的信号进行解扰。
参照图6,TS解码器505对从POD504接收的信号实施滤波,将必要的数据转交给音频解码器506、视频解码器508及CPU514。这里,POD504传来的信号是MPEG2传输流。MPEG2传输流的细节记载于MPEG规格书ISO/IEC13818-1中,在本实施方式中省略其细节。MPEG2传输流由多个固定长度包构成,在各包中,分配包ID。图10是包的结构图。900是包,由固定长度的188字节构成。开头四字节为首标901,保存包的识别信息,剩余184字节为有效负载902,包含想要发送的信息。903是首标901的细目。在从开头至第12位~第24位的13位中包含包ID。图11是表现被发送的多个包的列的模式图。包1001在首标中具有包ID‘1’,在有效负载中输入视频A的第一号信息。包1002在首标中具有包ID‘2’,在有效负载中输入声音A的第一号信息。包1003在首标中具有包ID‘3’,在有效负载中输入声音B的第一号信息。
包1004在首标中具有包ID‘1’,在有效负载中输入图像A的第二号信息,该信息成为包1001的后续。同样,包1005、1026、1027也保存其他包的后续数据。这样,如果具有相同的包ID,连接包的有效负载的内容,则可以再现连续的视频和声音。
参照图11,如果CPU514向TS解码器505指示包ID‘1’和作为输出目的地的‘视频解码器508’,则TS解码器505从POD504接收的MPEG2传输流中提取包ID‘1’的包,转交给视频解码器508。在图11中,仅
将视频数据转交给视频解码器508。同时,如果CPU514向TS解码器505指示包ID‘2’和‘音频解码器506’,则TS解码器505从POD504接收的MPEG2传输流中提取包ID‘2’的包,转交给音频解码器506。在图11中,仅将声音数据转交给音频解码器508。
根据该包ID仅取出必要的包的处理是TS解码器505进行的滤波。TS解码器505可以同时执行CPU514指示的多个滤波。
参照图6,音频解码器506连接埋入于从TS解码器505提供的MPEG2传输流的包中的音频数据,进行数字/模拟变换并输出到扬声器507。
扬声器507将从音频解码器506提供的信号进行声音输出。
视频解码器508连接埋入于从TS解码器505提供的MPEG2传输流的包中的视频数据,进行数字/模拟变换并输出到显示器509。
显示器509具体地由布劳恩管或液晶等构成,输出从视频解码器508提供的视频信号,并显示CPU514指示的消息。
二次存储部510具体地由闪存存储器或硬盘等构成,保存或消除CPU514指示的数据和程序。此外,保存的数据和程序被CPU514参照。保存的数据和程序即使在关断终端装置500的电源的状态下仍可保存。
一次存储部511具体地由RAM等构成,一次性地保存或消除CPU514指示的数据和程序。此外,保存的数据和程序被CPU514参照。保存的数据和程序在切断终端装置500的电源时被删除。
ROM512是不可重写的存储器,具体地由ROM或CD-ROM、DVD等构成。ROM512保存CPU514执行的程序。
输入部513具体地由前面板或遥控器构成,接受来自用户的输入。图12是用前面板来构成输入部513的情况的一例。1100是前面板,相当于图7的前面板部603。前面板1100配有七个按钮,即上光标按钮1101、下光标按钮1102、左光标按钮1103、右光标按钮1104、OK按钮1105、取消按钮1106、EPG按钮1107。如果用户按下按钮,则向CPU514
通知被按下的按钮的识别符。
CPU514执行ROM512存储的程序。根据执行的程序的指示,对QAM解调部501、QPSK解调部502、QPSK调制部503、POD504、TS解码器505、显示器509、二次存储部510、一次存储部511、ROM512进行控制。
图13是ROM512中存储的由CPU514执行的程序的结构图的一例。
程序1200由多个子程序构成,具体地说,由OS1201、EPG1202、JavaVM1203、服务管理程序1204、Java程序库1205构成。
OS1201是如果接通终端装置500的电源,就起动CPU514的子程序。OS1201是操作系统的简略,Linux等是一例。OS1201是平行执行其他子程序的核心程序1201a及程序库1201b构成的公知技术的总称,省略详细的说明。在本实施方式中,OS1201的核心程序1201a将EPG1202和JavaVM1203作为子程序来执行。此外,程序库1201b对于这些子程序,提供用于控制终端装置500具有的构成部件的多个功能。
作为功能的一例,介绍调谐功能。调谐功能从其他子程序中接收包含频率的调谐信息,将其转交给QAM解调部501。QAM解调部501根据提供的调谐信息来进行解调处理,可以将解调的数据转交给POD504。其结果,其他子程序可通过程序库1201b来控制QAM解调器。
EPG1202由向用户显示节目一览及接受来自用户的输入的节目显示部1202a、进行频道选台的再现部1102b构成。这里,EPG是ElectricProgram Guide的简略。如果接通终端装置500的电源,则EPG1202通过核心程序1201a被起动,在起动的EPG1202的内部,节目显示部1202a通过终端装置500的输入部513等待来自用户的输入。这里,在输入部513由图12所示的前面板构成的情况下,如果用户按下输入部513的EPG按钮1107,则向CPU514通知EPG按钮的识别符。CPU514上动作的作为子程序的EPG1202的节目显示部1202a接收该识别符,在显示器509上显示节目信息。图14(1)和图14(2)是显示在显示器509上的节目表的一例。参照图14(1),在显示器509上,方格状地显示节目信
息。在列1301中,显示时刻信息。在列1302中,显示频道名‘频道1’、与列1301的时刻对应的时间段中放映的节目。在‘频道1’中,显示在9:00~10:30放映节目‘新闻9’,10:30~12:00放映‘电影AAA’。列1303与列1302同样,显示频道名‘频道2’、与列1301的时刻对应的时间段中放映的节目。在9:00~11:00放映节目‘电影BBB’,11:00~12:00放映‘新闻11’。1330是光标。光标1330在按下前面板1100的左光标1103和右光标1104时移动。在图14(1)的状态下,如果按下右光标1104,光标1330向右移动,如图14(2)那样。而在图14(2)的状态下,如果按下左光标1103,则光标1330向左移动,如图14(1)那样。
在图14(1)的状态下,如果按下前面板1100的OK按钮1105,则节目显示部1202a向再现部1102b通知‘频道1’的识别符。在图14(2)的状态下,如果按下前面板1100的OK按钮1105,则节目显示部1202a向再现部1102b通知‘频道2’的识别符。
此外,节目显示部1202a将显示的节目信息通过POD504从头端器101定期地存储在一次存储部511中。一般地,从头端器取得节目信息需要时间。在输入部513的EPG按钮1107被按下时,通过显示预先保存在一次存储部511中的节目信息,可以尽快地显示节目表。
再现部1102b使用接收的频道的识别符,对频道进行再现。频道的识别符和频道的关系作为频道信息预先保存在二次存储部510中。图15是二次存储部510中保存的频道信息的一例。频道信息以表形式来保存。列1401是频道的识别符。列1402是频道名。列1403是调谐信息。这里,调谐信息包含频率、传送速率、编码率等,是提供给QAM解调部501的值。列1404是程序号。程序号是用于识别由MPEG2规格规定的PMT的号码。关于PMT,将后述。行1411~1414的各行成为包含各频道的识别符、频道名、调谐信息的组。行1411成为识别符为‘1’、频道名为‘频道1’、调谐信息中频率为‘312MHz’、程序号为‘101’的组。再现部1102b为了进行频道的再现,将接收的频道的识别符原
样转交给服务管理程序。
此外,在再现中,如果用户按下前面板1100的上光标1101和下光标1102,则再现部1102b从输入部513通过CPU514接收被按下的通知,变更正在再现的频道。首先,再现部1102b在一次存储部511中存储当前再现中的频道的识别符。图16(1)、图16(2)和图16(3)是在一次存储部511中保存的频道的识别符的例子。在图16(1)中识别符‘3’被存储,参照图15,表示频道名‘TV3’的频道处于再现中。在图16(1)的状态中,如果用户按下上光标1101,则再现部1102b参照图15的频道信息,为了在表中的前频道的频道名‘频道2’的频道中切换再现,所以将频道名‘频道2’的识别符‘2’转交给服务管理程序。同时,改写一次存储部511中存储的频道识别符‘2’。图16(2)表示频道识别符被改写的状态。此外,在图16(1)的状态下,如果用户按下下光标1102,则再现部1102b参照图15的频道信息,为了在表中的下个频道的频道名‘TV Japan’的频道中切换再现,将频道名‘TVJapan’的识别符‘4’转交给服务管理程序。同时,改写一次存储部511中存储的频道识别符‘4’。图16(3)表示频道识别符被改写的状态。
JavaVM1203是顺次解析并执行用Java(TM)语言描述的程序的Java虚拟机。用Java语言描述的程序被称为字节码,编译为不依赖于硬件的中间码。Java虚拟机是执行这种字节码的解释程序。此外,一部分的Java虚拟机将字节码翻译成CPU514可理解的执行形式后,转交给CPU514并执行。JavaVM1203指定起动核心程序1201a中执行的Java程序。在本实施方式中,核心程序1201a指定服务管理程序1204作为执行的Java程序。Java语言的细节在书籍‘Java Virtual MachineSpecification(ISBN 0-201-63451-X)等许多书籍中进行了说明。这里,省略其细节。
服务管理程序1204是用Java语言写出的Java程序,通过
JavaVM1203顺次执行。服务管理程序1204通过JNI(Java NativeInterface),调用没有用Java语言描述的其他子程序,或可被调用。关于JNI,也在书籍‘Java Native Interface’等许多书籍中进行了说明。这里,省略其细节。
服务管理程序1204通过JNI,从再现部1102b接收频道的识别符。
服务管理程序1204首先将频道的识别符转交给Java程序库1205中的Tuner1205c,请求调谐。Tuner1205c参照二次存储部510存储的频道信息,获得调谐信息。如果服务管理程序1204将频道的识别符‘2’转交给Tuner1205c,则Tuner1205c参照图15的行1412,获得对应的调谐信息‘156MHz,’。Tuner1205c通过OS1201的程序库1201b,向QAM解调部501转交给调谐信息。QAM解调部501根据提供的调谐信息对从头端器101发送来的信号进行解调,并转交给POD504。
接着,服务管理程序1204向Java程序库1205中的CA1205d请求解扰。CA1205d通过OS1201的程序库1201b向POD504提供解密上必要的信息。POD504根据提供的信息,对从QAM解调部501提供的信号进行解密并转交给TS解码器505。
接着,服务管理程序1204向Java程序库1205中的JMF1205a提供频道的识别符,请求视频/声音的再现。
首先,JMF1205a从PAT、PMT取得用于鉴别要再现的视频和声音的包ID。PAT和PMT是按MPEG2规格规定的、表现MPEG2传输流内的节目构成的表,埋入在MPEG2传输流中包含的包的有效负载中,声音和视频被同时发送。其细节请参照规格书。这里,仅概略地说明。PAT为Program Assocition Table的简称,保存在包ID‘0’的包中被发送。JMF1205a为了取得PAT,通过OS1201的程序库1201b,向TS解码器505中指定包ID‘0’和CPU514。TS解码器505按包ID‘0’进行滤波,通过转交给CPU514,JMF1205a收集PAT的包。图17是模式地表示收集的PAT信息一例的表。列1601是程序号。列1602是包ID。列1602的包ID
用于取得PMT。行1611~1613是与频道的程序号对应的包ID的组。这里,定义三个频道。行1611定义了程序号‘101’和包ID‘501’的组。如果提供给JMF1205a的频道识别符为‘2’,则JMF1205a参照图15的行1412,获得对应的程序号‘102’,接着,参照图17的PAT的行1612,获得与程序号‘102’对应的包ID‘502’。PMT是Program Map Table的简称,保存在按PAT规定的包ID的包中被发送。JMF1205a为了取得PMT,通过OS1201的程序库1201b,向TS解码器505指定包ID和CPU514。这里,指定的包ID为‘502’。TS解码器505按包ID‘502’进行滤波,通过转交给CPU514,JMF1205a收集PMT的包。图18是模式地表示收集的PMT信息一例的表。列1701是流类别。列1702是包ID。在列1702指定的包ID的包中,按流类别指定的信息保存在有效负载中被发送。列1703是补充信息。行1711~1714被称为基础流,是与包ID发送的信息类别的组。行1711是流类别‘声音’和包ID‘5011’的组,表示在包ID‘5011’的有效负载中保存声音。JMF1205a从PMT中获得再现的视频和声音的包ID。参照图18,JMF1205a从行1711中获得声音的包ID‘5011’,从行1712中获得视频的包ID‘5012’。
接着,JMF1205a通过OS1201的程序库1201b,将获得的声音的包ID和作为输出目的地的音频解码器506、视频的包ID和作为输出目的地的视频解码器508的组提供给TS解码器505。TS解码器505根据提供的包ID和输出目的地,进行滤波。这里,将包ID‘5011’的包转交给音频解码器506,将包ID‘5012’的包转交给视频解码器508。音频解码器506进行提供的包的数字/模拟变换,通过扬声器507来再现声音。视频解码器508进行提供的包的数字/模拟变换,在显示器509上显示视频。
最后,服务管理程序1204向Java程序库1205中的AM1205b提供频道的识别符,请求数据广播再现。这里,数据广播再现是提取MPEG2传输流中包含的Java程序,由JavaVM1203执行。在MPEG2传输流中埋
入Java程序的方法采用MPEG规格书ISO/IEC13818-6中描述的DSMCC方式。这里,省略DSMCC的细节说明。DSMCC方式在MPEG2传输流的包中,规定对由计算机使用的目录和文件构成的文件系统进行编码的方法。此外,执行的Java程序的信息是被称为AIT的形式,埋入在MPEG2传输流的包中被发送。AIT在DVB-MHP规格(正式地说,为ETSI TS 101 812DVB-MHP规格V1.0.2)的第10章中定义,是Application InformationTable的简略。
AM1205b首先为了获得AIT,与JMF1205a同样,取得PAT、PMT,获得AIT被保存的包的包ID。如果提供的频道的识别符为‘2’,图17的PAT、图18的PMT被发送,则按与JMF1205a同样的过程,获得图18的PMT。AM1205b从PMT中以流类别为‘数据’从具有‘AIT’的基础流中提取包ID作为补充信息。参照图18,行1713的基础流适合,获得包ID‘5013’。
AM1205b通过OS1201的程序库1201b向TS解码器505提供AIT的包ID和输出目的地CPU514。TS解码器505按提供的包ID进行滤波,转交给CPU514。其结果,AM1205b可以收集AIT的包。图19是模式地表示收集的AIT的信息一例的表。列1801是Java程序的识别符。列1802是Java程序的控制信息。在控制信息中有‘autostart’、‘present’、‘kill’等,‘autostart’意味着终端装置500立即自动地执行该程序,‘present’意味着不自动执行,‘kill’意味着将程序停止。列1803是用于提取按DSMCC方式包含Java程序的包ID的DSMCC识别符。列1804是Java程序的程序名。行1811和1812是Java程序的信息组。行1811定义的Java程序是识别符‘301’、控制信息‘autostart’、DSMCC识别符‘1’、程序名‘a/TopXlet’的组。行1812定义的Java程序是识别符‘302’、控制信息‘present’、DSMCC识别符‘1’、程序名‘b/GameXlet’的组。这里,两个Java程序具有相同的DSMCC识别符,这表示在按一个DSMCC方式编码的文件系统内包含两个Java程序。这
里,对于Java程序,仅规定四个信息,但实际上定义了更多的信息。细节请参照DVB-MHP规格。
AM1205b从AIT中找出‘autostart’的Java程序,提取对应的DSMCC识别符及Java程序名。参照图19,AM1205b提取行1811的Java程序,获得DSMCC识别符‘1’及Java程序名‘a/TopXlet’。
接着,AM1205b使用从AIT中取得的DSMCC识别符,从PMT中获得以DSMCC方式保存Java程序的包的包ID。具体地说,在PMT中以流类别为‘数据’,取得与补充信息的DSMCC识别符一致的基础流的包ID。
如果DSMCC识别符为‘1’,PMT为图18,则与行1714的基础流一致,取出包ID‘5014’。
AM1205b通过OS1201的程序库1201b向TS解码器505指定按DSMCC方式埋入了数据的包的包ID和作为输出目的地的CPU514。这里,提供包ID‘5014’。TS解码器505按提供的包ID进行滤波,转交给CPU514。其结果,AM1205b可以收集必要的包。AM1205b从收集的包中,根据DSMCC方式来复原文件系统,保存在一次存储部511中。以后将从MPEG2传输流中的包中取出文件系统等的数据并保存在一次存储部511等存储部件中的过程称为下载。
图20是下载的文件系统的一例。图中,圆圈表示目录,方形表示文件,1901是根目录,1902是目录‘a’,1903是目录‘b’,1904是文件‘TopXlet.class’,1905是文件‘GameXlet.class’。
接着,AM1205b从下载在一次存储部511的文件系统中向JavaVM1203转交执行的Java程序。如果执行的Java程序名为‘a/TopXlet’,则在Java程序名的最后附加‘.class’的文件‘TopXlet.class’成为要执行的文件。‘/’是目录和文件名的分隔符,参照图20,文件1904是要执行的Java程序。接着,AM1205b将文件1904转交给JavaVM1203。
JavaVM1203执行转交的Java程序。
如果服务管理程序1204接收其他频道的识别符,则通过相同Java程序库1205中包含的各程序库来停止通过Java程序库1205中包含的各程序库再现的视频/声音及Java程序的执行,根据新接收的频道的识别符,执行视频/声音的再现及Java程序。
Java程序库1205是ROM512中保存的多个Java程序库的集合。在本实施方式中,这里Java程序库1205包含JMF1205a、AM1205b、Tuner1205c、CA1205d、POD Lib1205e等。
下面,说明作为本发明的主要功能的Java程序的下载、保存及执行功能。
服务管理程序1204通过Java程序库1205中包含的POD Lib1205e与头端器101进行双向通信。这种双向通信是POD Lib1205e通过OS1201的程序库1201b及POD504,使用QPSK解调部502、QPSK调制部503来实现。
服务管理程序1204使用这种通信从头端器101中接收终端装置500要保存在二次存储部510中的Java程序的信息。将该信息称为XAIT信息。XAIT信息在头端器101和POD504间以任意的形式发送。无论采用哪种发送形式,只要XAIT中包含必要的信息,就可以实施本发明。
图21是模式地表示从头端器101取得的XAIT的信息一例的表。列2001是Java程序的识别符。列2002是Java程序的控制信息。在控制信息中有‘autoselect’、‘present’等,‘autoselect’意味着终端装置500在接通电源时自动地执行该程序,‘present’意味着不是自动执行。列2003是用于提取按DSMCC方式包含Java程序的包ID的DSMCC识别符。列2004是Java程序的程序名。列2005是Java程序的优先级。行2011和2012是Java程序的信息组。行2011定义的Java程序是识别符‘701’、控制信息‘autoselect’、DSMCC识别符‘1’、程序名‘a/PPV1Xlet’的组。这里,对于Java程序,仅规定五个信息,但即使定义更多的信息,也可以实施本发明。
如果服务管理程序1204接收XAIT信息,则按与从AIT信息中下载Java程序的相同过程,从MPEG2传输流中将文件系统保存在一次存储部511中。然后,将保存的文件系统复制在二次存储部510中。再有,不通过一次存储部511,也可直接下载到二次存储部510中。接着,服务管理程序1204将XAIT信息与下载的文件系统的保存位置对应起来保存在二次存储部510中。图22表示二次存储部510将XAIT信息和下载的文件系统对应保存的一例。在图22中,与图21相同号码的元件与图21相同,所以省略说明。列2101保存对应的下载的文件系统的保存位置。图中,用箭头表示保存位置。2110是下载的文件系统,在内部保持顶层目录2111、目录‘a’2112、目录‘b’2113、文件‘PPV1Xlet.class’2114、文件‘PPV2Xlet.class’2115。
这里,XAIT信息在保存Java程序后保存,但也可以在保存Java程序前保存。
在终端装置500接通电源后,OS1201将服务管理程序1204指定给JavaVM1203,在JavaVM1203起动服务管理程序1204后,服务管理程序1204首先参照二次存储部510中保存的XAIT信息。这里,参照各Java程序的控制信息,将‘autoselect’的程序转交给JavaVM1203,并起动。参照图22,行2011定义的Java程序‘PPV1Xlet’被起动。
这里,设Java程序‘PPV1Xlet’是对应于POD504内部具有的PPV子程序805,表示PPV对象的节目信息的程序。在终端装置500中,没有Java程序‘PPV1Xlet’时,如果PPV子程序805向终端装置500的CPU514传送要在画面上显示的信息,则OS1201的程序库1201b中包含的对话显示程序在显示器509上显示图23所示的敦促节目购入的消息。2201是对话盒,具有用于输入消息2202、四位密码的密码盒2203、OK按钮2204、取消按钮2205的显示部件。但是,在该显示中,由于节目内容不清楚,所以有需要用户参照节目指南等来确认节目内容的不便。
如果终端装置500中保存Java程序‘PPV1Xlet’,将其起动,则Java程序‘PPV1Xlet’在Java程序库1205的POD Lib1205e中将自身作为可从POD504参照的Java程序来注册。在注册时,自身的Java程序的识别符、动作类别、优先级也同时注册。POD Lib1205e将注册的内容存储在二次存储部510中。图24是二次存储部510保存可从注册的POD504参照的Java程序的信息的状态的一例。在该例中,以表形式来保存,列2301存储Java程序的识别符,列2302存储Java程序的动作类别,列2303存储Java程序的优先级,列2304存储Java程序的名字。这里,Java程序的动作类别有图25所示的‘1’和‘2’两个值,值‘1’表示不能同时执行注册的Java程序与此外被注册的Java程序、以及OS1201的程序库1201b中包含的程序。值‘2’表示可同时执行注册的Java程序与此外被注册的Java程序、以及OS1201的程序库1201b中包含的程序。参照图24,行2311~2312表示注册的Java程序。行2311为识别符‘PPV’、动作类别‘2’、优先级‘200’、Java程序的名字‘PPV1Xlet’的组。
POD Lib1205e向POD504通知已注册的Java程序的信息,在POD504内的子程序和已注册的Java程序间可进行数据的发送接收。例如,POD504内的PPV子程序805向图24的行2311所示的已注册的Java程序传送PPV购入对象的节目内容,Java程序如图26那样可在显示器509上进行显示。与图23相同号码的元件是与图23相同的元件,所以省略说明。2501是已注册的Java程序显示的节目信息。这里,同时执行OS1201的程序库1201b的对话显示程序和已注册的Java程序。此时,POD504参照已注册的Java程序的类别来识别传送数据的对方的Java程序。
另一方面,OS1201的程序库1201b的对话显示程序和已注册的Java程序被分别开发,作为结果,2201和2501可能被重复显示。为了避免它,也可以使OS1201的程序库1201b的对话显示程序停止。具体
地说,Java程序全部具有OS1201的程序库1201b的对话显示程序要进行的、密码输入等功能,而且,按动作类别‘1’注册。图27是这种情况下的已注册的Java程序从POD504的PPV子程序接受指示并在显示器509上进行显示的一例。
这里,如图28那样,设二次存储部510保存已注册的Java程序。在该例中,两个Java程序具有相同的识别符‘PPV’,而且动作类别在‘1’时不可并存。这样的情况下,POD Lib1205e仅使优先级高的Java程序动作。或者,使双方动作,但将来自POD504的消息仅分配给优先级高的Java程序。
图29、图30是汇总在POD Lib1205e中注册Java程序的情况下的POD Lib1205e的动作的流程图。POD Lib1205e受理Java程序的注册(步骤S2801)。将受理的信息保存在二次存储部510中(步骤S2802)。将已经注册在二次存储部510中的Java程序和受理的Java程序的识别符进行比较,判定相同识别符的Java程序是否为多个(步骤S2803)。在有相同识别符的Java程序的情况下,进至图30的步骤S2901。在没有相同识别符的Java程序的情况下,调查受理的Java程序的动作类别是否可并存执行(步骤S2804)。在不能的情况下,停止从POD504对OS1201的程序库1201b的消息配送(步骤S2805)。然后,使对受理的Java程序的来自POD504的消息配送有效(步骤S2806),并结束注册处理。在步骤S2803中,在有相同识别符的Java程序的情况下,调查多个相同识别符的Java程序的动作类别是否都可以并存执行(步骤S2901)。在有不能并存执行的Java程序的情况下,比较受理的Java程序的优先级和原有的Java程序的优先级(步骤S2902)。在受理的Java程序的优先级最高时,停止从POD504向原有的Java程序的消息配送(步骤S2903),使对从POD504接受的Java程序的消息配送有效(步骤S2904)。在步骤S2901中,在所有Java程序的动作类别都可并存执行的情况下,进至步骤S2904。在步骤S2902中,受理的Java程序的优先级不是最高的情
况下,原有的Java程序持续接受消息,所以直接结束处理。
图31、图32、图33是表示根据该动作的流程图,来自POD504的消息的配送目的地变化的模式图。图31(1)表示Java程序没有被注册的状态,从POD504将所有的消息配送给OS1201的程序库1201b。箭头3001表示消息配送。在图31(1)的状态下,如果Java程序被注册,则在已注册的Java程序的动作类别可共同动作的情况下,参照图29的流程图,进行步骤S2801、S2802、S2803、S2804、S2806的处理,成为图31(2)的状态。这里,3011是已注册的Java程序,箭头3002是新设定的从POD504向Java程序3011的消息的流动。严格地说,在POD504和Java程序之间,插入CPU514和POD Lib1205e。在已注册的Java程序的动作类别不能共同动作的情况下,参照图29的流程图,进行步骤S2801、S2802、S2803、S2804、S2805、S2806的处理,成为图31(3)的状态。停止箭头3001表示的从POD504向程序库1201b的消息的流动,设定重新从POD504向Java程序3011的消息的配送。
图32(1)表示Java程序被注册一个,从POD504将所有的消息配送给OS1201的程序库1201b和注册的Java程序3111的状态。箭头3101和3102表示消息配送。在图32(1)的状态下,如果Java程序被注册,则在已注册的Java程序的动作类别可共同动作的情况下,参照图29、图30的流程图,进行步骤S2801、S2802、S2803、S2901、S2904的处理,成为图32(2)的状态。这里,3112是已注册的Java程序,箭头3103表示新设定的从POD504向Java程序3112的消息的配送。
图33(1)表示Java程序被注册一个,从POD504将所有的消息配送给被注册的Java程序3211的状态。Java程序3211因动作类别不能并存执行而成为这样的状态。箭头3201表示消息配送。在图32(1)的状态下,如果Java程序被注册,则在已注册的Java程序的动作类别可并存动作的情况下,比较原有的Java程序3211和已注册的Java程序的优先级。在已注册的Java程序的优先级高的情况下,参照图29、图30
的流程图,进行步骤S2801、S2802、S2803、S2901、S2902、S2903、S2904的处理,成为图32(2)的状态。停止箭头3201表示的从POD504向Java程序的消息的配送,重新设定从POD504向Java程序3211的消息的配送。在原有的Java程序3211的优先级高的情况下,参照图29、图30的流程图,进行步骤S2801、S2802、S2803、S2901、S2902的处理,成为图32(3)的状态。消息的配送没有变化。
再有,在步骤S2902中原有的Java程序的最高优先级和受理的Java程序的优先级相等的情况下,在步骤S2903中写入控制,以便受理的Java程序,以便接收消息。这意味着在多个Java程序的优先级相等的情况下,可考虑选择任意的一个。
或者,执行多个Java程序,向多个Java程序传送相同消息。这种情况下,将多个Java程序有意地安装,以产生相同优先级和识别符,理解相互的动作,即使同时动作也不产生问题。图34是多个Java程序具有相同识别符和优先级情况的一例。这里,从POD504向节目传送内容和费用的信息。行3311的Java程序进行费用显示和接受密码输入,行3312的Java程序可实施仅进行节目内容的显示。
POD Lib1205e接受Java程序的注册,同时也接受消除。图35、图36是汇总POD Lib1205e消除Java程序的注册的情况下的POD Lib1205e的动作的流程图。POD Lib1205e接受Java程序的消除(步骤S3401)。消除从二次存储部510受理的Java程序(步骤S3402)。调查要消除的Java程序当前是否从POD504接受消息(步骤S3403),如果接受,则使从POD504向受理的Java程序的消息配送无效(步骤S3404)。调查二次存储部501中是否有相同识别符的Java程序(步骤S3405),如果有,则使从POD504向OS1201的程序库1201b的消息配送有效(步骤S3406)。在步骤S3403中,如果要消除的Java程序没有从POD504接收消息,则结束处理。在步骤S3405中,在有与要消除的Java程序相同识别符的Java程序时,参照图36,调查所有Java程序是否可并存执行(步骤
S3501)。使识别符相等的可并存的所有Java程序及对OS1201的程序库1201b的来自POD504的消息配送有效(步骤S3502)。在所有Java程序没有并存执行时,提取具有最高优先级的Java程序(步骤S3503)。使对提取的Java程序的来自POD504的消息配送有效(步骤S3504)。
如以上那样,根据本实施方式,通过不消除原有的程序,临时取代执行下载的程序,由此可进行程序的更新,同时可容易地返回到原有的程序。此外,通过下载保存程序,以便可与原有的程序同时执行,从而可以追加原有的程序中没有的功能。
再有,在本实施方式中,POD504内的PPV子程序805和Java程序进行消息交换,并进行动作,但不限于PPV,即使对于在POD504上的任何子程序和终端装置500上的任何Java程序之间进行消息交换、进行动作,也都能适应。此外,Java程序也可以混合按Java描述的部分和CPU可直接执行的二进制形式的部分,即使是仅由CPU可直接执行的二进制形式构成,也可实施。
在本实施方式中,通过二次存储部510保存ROM512保存的内容,可实施消除ROM512。此外,二次存储部510由多个子二次存储部构成,即使各个子二次存储部保存不同的信息,也可以实施。例如,一个子二次存储部仅保存调谐信息,另一子二次存储部保存OS1201的程序库1201b,再一个子二次存储部保存下载的Java程序等,可详细地分割。
实施方式2
在实施方式1中,如果Java程序被注册,则OS1201的程序库1201b和二次存储部510中已注册的Java程序突然停止与POD504的消息通信。例如,在用户PPV购入处理的中途,如果Java程序被注册,则购买处理被中断,有直至中途输入的密码无效的可能性。
因此,在本实施方式中,对于消息通信被停止的OS1201的程序库1201b和原有的Java程序,事前进行通知,获得了解后停止。具体地说,将表示实施方式1中的动作的流程图的图29的步骤S2805的停止对
程序库1201b的消息配送、图30的步骤S2903的停止对原有的Java程序的消息配送置换为图34中描述的流程图。
参照图37,POD Lib1205e对于消息发送被停止的对象、具体地说对于Java程序和OS1201的程序库1201b,事先通知停止消息发送(步骤S3601)。接受了停止通知的Java程序和OS1201的程序库1201b在结束必要的处理后,向POD Lib1205e通知知道停止消息发送(步骤S3602)。POD Lib1205e停止消息的发送(步骤S3603)。
此外,POD504上的子程序也需要知道消息通知目的地被变更。图38是表示POD Lib1205e向POD504通知消息通知目的地被变更的动作的流程图。
POD Lib1205e对于POD504,事先通知停止消息发送(步骤S3701)。接受了停止通知的POD504在结束必要的处理后,向POD Lib1205e通知知道停止消息发送(步骤S3702)。POD Lib1205e停止消息的发送(步骤S3703),设定新的分配目的地(步骤S3704)。最后,POD Lib1205e将设定的新的分配目的地通知POD504(步骤S3705)。
此外,重新设定的Java程序和OS1201的程序库1201b也可以接受已设定的通知。Java程序和OS1201的程序库1201b不仅从POD504接受消息,而且有将消息传送到POD504的情况。具体地说,可列举在PPV中将用户输入的密码传送到POD504等。如果可以知道消息发送有效,则不需要无用地传送消息。
实施方式3
在实施方式1中,将已注册的Java程序保存在二次存储部510中,但也可以实施保存在一次存储部511中。
在保存在一次存储部511中的情况下,在电源关断时,保存的信息完全消失。但是,如上所述,如果根据XATI来下载执行Java程序,则执行的Java程序将自身注册在POD Lib1205e中,所以可复原。但是,这种情况下,电源接通一会儿后,OS1201的程序库1201b才开始动作,
所以产生切换。图39是表示终端装置500从电源接通后,直至来自POD504的消息配送被变更的动作的流程图。如果在终端装置500中接通电源(步骤S3801),则终端装置500和POD504的程序被起动,在POD504和程序库1201b间确立消息配送(步骤S3802)。AM1205根据XAIT信息,下载Java程序,JavaVM1203执行该Java程序(步骤S3803)。在Java程序需要进行与POD504的消息交换的情况下,将自身注册在PODLib1205e中(步骤S3804)。根据图29、图30中规定的流程图,根据需要来变更消息配送(步骤S3805)。
另一方面,如实施方式1,在将已注册的Java程序保存在二次存储部510中的情况下,从接通电源后开始,向已注册的Java程序中分配来自POD504的消息,取代OS1201的程序库1201b。但是,如上所述,如果根据XAIT来下载执行Java程序,则执行的Java程序将自身注册在POD Lib1205e中,所以成为双重注册。为了防止双重注册,PODLib1205e不接受已经注册的Java程序的注册。图40是表示终端装置500从电源接通后,直至变更来自POD504的消息配送的动作的流程图。如果在终端装置500中接通电源(步骤S3901),则终端装置500和POD504的程序被起动,根据二次存储部510保存的注册信息,在POD504和Java程序或程序库1201b间确立消息配送(步骤S3902)。AM1205b根据XAIT信息,下载Java程序,JavaVM1203执行该Java程序(步骤S3903)。在Java程序需要进行与POD504的消息交换的情况下,将自身注册在POD Lib1205e中(步骤S39040。POD Lib1205e参照二次存储部510,调查是否已经注册了相同Java程序(步骤S3905)。如果没有保存,则进行注册处理,根据图29、图30规定的流程图,根据需要变更消息配送(步骤S3906)。
再有,通过实施方式1、2、3,可进行以下应用。
如果是个人计算机和携带电话等信息装置,则本发明是适用的。
此外,POD504为可拆装的方式,但也可以实施内置。再有,在内
置的情况下,拆除POD504的CPU706,CPU514也可实施CPU706的动作。
POD Lib1205e中注册的Java程序不仅是下载的Java程序,而且即使是预先内置的Java程序,也可实施。此外,如果拆装SD存储卡等可拆装的存储介质,则控制插槽部,从那里可取2Java程序。此外,安装连接到网络的网络部,可从网络取出Java程序。
而且,在实施方式1~3中,POD504上的仅一个子程序向Java程序配送消息,但两个以上的子程序及Java程序可实施分别单独地配送消息。图41表示POD504上的多个子程序及多个Java程序间的消息配送的一例。在POD504中子程序A4001、子程序B4002、子程序C4003动作,在终端装置500上,Java程序X4011、Java程序Y4021、Java程序Z4013动作。箭头4021、4022、4023、4024表示设定的消息配送的路径。从子程序A4001向Java程序X4011设定消息配送的路径4021,使子程序和Java程序一对一。另一方面,子程序B4002在Java程序Y4012、Java程序Z4013两个Java程序中具有消息配送的路径。相反,Java程序Z4013从子程序B4002、子程序C4003两个子程序中接收消息。
此外,在该图中从子程序向Java程序配送消息,但也可以实施从Java程序向子程序配送消息。此外,也可以按双向方式来交换消息。
这里,在消息的配送路径中,配送消息路径ID,子程序和Java程序使用消息路径ID,也可以特定消息的发送对方。此外,在注册Java程序时,取代同时要注册的Java程序的识别符,即使用这种消息路径ID,也可实施本发明。对于争用的Java程序和POD504上的子程序的消息路径,根据动作类别等,可以特定进行消息配送的Java程序。或者,定义用于识别POD504上的子程序的子程序识别符,在注册Java程序时,取代同时注册的Java程序的识别符,即使用这种子程序识别符,也可实施本发明。
此外,使用动作类别来确定配送消息的Java程序,但也可以不使用动作类别,根据最后注册的Java程序优先、或先注册的Java程序优
先等预先制定的规则来确定。
在实施方式1~3中,POD Lib1205e中注册的Java程序的动作意味着接受消息配送的动作。即,Java程序通过接受消息的配送而动作。另一方面,Java程序一般可平行进行多个处理。在本发明中,对于通过接受消息的配送而动作的处理以外的Java程序具有的其他处理,可没有一切限制地实施。
此外,如上述实施方式中说明的那样,POD Lib1205e接受对作为消息的配送对象的Java程序的消息配送注册,同时也接受消除(即不进行注册)。
图42是汇总在POD Lib1205e中注册Java程序的情况下的PODLib1205e的动作的流程图。
如果POD Lib1205e接受与Java程序进行的消息配送(包含发送/接收的至少一方或双方)的注册,则对二次存储部510保存必要的信息(例如图28所示的信息)(步骤SX101),在步骤SX101中通过将接受了注册的Java程序的识别符和已经在二次存储部510中注册的其他Java程序的识别符进行比较,判定在二次存储部510中是否有与接受了注册的Java程序的识别符相同识别符的Java程序(步骤SX102)。
其结果,在二次存储部510中有相同识别符的Java程序的情况(即在步骤SX101中对于与接受了注册的Java程序有相同识别符的另一Java程序,接受消息的配送的注册在步骤SX101的时刻前由PODLib1205e完成的情况)(步骤SX102中为“是”)下,POD Lib1205e对于消息发送被停止的对象,具体地说,对于二次存储部510中注册的另一Java程序(即在步骤SX101中有与接受了消息配送的注册的Java程序相同识别符,完成接受消息配送的注册的另一Java程序)和OS1201的程序库1201b,事前通知停止消息发送(步骤SX103)。接受了停止通知的Java程序和OS1201的程序库1201b在结束必要的处理(在停止来自POD504的消息配送(即,不注册消息配送的注册)前要
结束的必要的内部处理)后,向POD Lib1205e通知知道消息发送的停止(步骤SX104)。接受了该知道通知的POD Lib1205e从POD504中消除原有的(已经注册在二次存储部510中,成为停止来自POD504的消息配送的对象)Java程序或与OS1201的程序库1201b的消息配送的注册(即,不注册),停止对Java程序的消息配送(步骤SX105)。然后,在通知对步骤SX101中接受了注册的Java程序进行开始消息配送的后(步骤SX106),通过进行接受步骤SX101中对接受了注册的Java程序的来自POD504的消息配送的注册,使消息的配送有效(步骤SX107)。
另一方面,在二次存储部501中没有相同识别符的Java程序的情况下(步骤SX102中为“否”),POD Lib1205e在通知对步骤SX101中接受了注册的Java程序开始消息配送后(步骤SX106),通过进行接受步骤SX101中对接受了注册的Java程序的来自POD504的消息配送的注册,使消息的配送有效(步骤SX107)。
图43是汇总POD Lib1205e消除Java程序的注册(即,不注册与二次存储部510中已注册的Java程序的消息配送的注册)的情况下的PODLib1205e的动作的流程图。
如果POD Lib1205e接受Java程序的消除(步骤SX201),则对于成为消除对象的Java程序,事先通知停止消息的配送(步骤SX202)。接受了停止通知的Java程序在结束必要的处理(在停止来自POD504的消息的配送(即,不注册消息的配送的注册)前要结束的必要的内部处理)后,向POD Lib1205e通知知道停止消息的配送(步骤SX203)。接受了该通知的POD Lib1205e通过消除(即不注册)对二次存储部510中注册的Java程序中作为被请求消除的对象的Java程序的消息配送的注册,来停止从POD504对作为对象的Java程序的消息配送(步骤SX204)。然后,POD Lib1205e通过对OS1201的程序库1201b进行接受与POD504的消息配送的注册,使与OS1201的程序库1201b的消息配送有效(步骤SX205)。
此外,在步骤SX205中二次存储部510中有注册的另一Java程序或新注册的Java程序,要进行(或可进行)与这些Java程序的其中一个的消息配送时,通过进行POD504和接受与作为对象的Java程序的消息配送的注册,也可以使与作为对象的Java程序的消息配送有效。而且,如果在与POD504的消息配送中作为分配对象的Java程序和OS1201的程序库1201b相互并存(即,没有相互争用),则进行接受与OS1201的程序库1201b的消息配送的注册,也可以在作为对象的Java程序和OS1201的程序库1201b中配送消息。
如以上那样,根据实施方式,通过不消除原有的程序,临时取代执行下载的程序,在可进行程序的更新(置换)的同时,也可容易地返回原有的程序。
Claims (7)
1.一种程序置换方法,在可拆装地安装于广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换被注册成可以与所述POD进行消息的发送接收的所述广播接收终端装置内的程序,其特征在于,该方法包括:
通知步骤,通知第一程序停止与所述POD的消息的发送接收,所述第一程序具有用于特定程序种类的识别符、并且被注册成可以与所述POD进行消息的发送接收;
停止步骤,停止所述第一程序与所述POD的消息的发送接收;以及
注册步骤,对已经存在于所述广播接收终端装置内的第二程序进行注册,以使所述第二程序可以与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序的识别符相同内容的识别符。
2.如权利要求1所述的程序置换方法,具有通知所述第二程序可以与所述POD进行消息的发送接收的步骤。
3.如权利要求1或2所述的程序置换方法,其中,停止所述第一程序与所述POD的消息的发送接收是使被注册成可以与所述POD进行消息的发送接收的所述第一程序成为非注册的。
4.如权利要求1所述的程序置换方法,其特征在于,将所述第一程序作为广播波的一部分而进行传送。
5.如权利要求3所述的程序置换方法,其特征在于,接收了停止与所述POD的消息的发送接收的通知的所述第一程序结束内部处理,该内部处理是在使被注册成可以与所述POD进行消息的发送接收的所述第一程序成为非注册之前要结束的处理。
6.如权利要求1所述的程序置换方法,其特征在于,所述POD与所述广播接收终端装置内的程序间的消息的发送接收是利用特定用于消息的发送接收的通信路径的消息路径ID来进行的,而且当所述第二程序被注册成可以与所述POD进行消息的发送接收时,所述第二程序利用第二消息路径ID来进行与所述POD的发送接收,该第二消息路径ID是已被分配给用于所述第二程序与所述POD进行消息发送接收的通信路径的。
7.一种程序置换装置,在可拆装地安装于广播接收终端装置上的POD和所述广播接收终端装置内的程序之间进行消息的发送接收时,置换被注册成可以与所述POD进行消息的发送接收的所述广播接收终端装置内的程序,其特征在于,该装置包括:
通知部,通知第一程序停止与所述POD进行消息的发送接收,所述第一程序具有用于特定程序种类的识别符、并且被注册成可以与所述POD进行消息的发送接收;
停止部,在所述通知部的通知后,停止所述第一程序与所述POD的消息的发送接收;以及
注册部,在所述停止部的停止后,对已经存在于所述广播接收终端装置内的第二程序进行注册以使可以与所述POD进行消息的发送接收,所述第二程序具有与所述第一程序的识别符相同内容的识别符。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47549703P | 2003-06-04 | 2003-06-04 | |
JP2003158928 | 2003-06-04 | ||
JP158928/2003 | 2003-06-04 | ||
US60/475,497 | 2003-06-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100714296A Division CN100382580C (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101261587A CN101261587A (zh) | 2008-09-10 |
CN101261587B true CN101261587B (zh) | 2012-06-27 |
Family
ID=39891342
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100824646A Expired - Fee Related CN101256496B (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
CN2008100824561A Active CN101261587B (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
CN2008100824650A Expired - Fee Related CN101241441B (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100824646A Expired - Fee Related CN101256496B (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100824650A Expired - Fee Related CN101241441B (zh) | 2003-06-04 | 2004-06-04 | 程序置换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN101256496B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326638A (zh) * | 1998-10-19 | 2001-12-12 | 通用仪器公司 | 具有可配置功能的电视机顶盒 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2886961B2 (ja) * | 1990-09-19 | 1999-04-26 | 株式会社日立製作所 | プログラム入替方法 |
JP2001056759A (ja) * | 1999-08-18 | 2001-02-27 | Matsushita Electric Ind Co Ltd | ソフトウェア書換え方法およびソフトウェア書換え装置 |
JP2001117779A (ja) * | 1999-10-20 | 2001-04-27 | Funai Electric Co Ltd | 電子機器、及び、プログラム書き換え方法 |
-
2004
- 2004-06-04 CN CN2008100824646A patent/CN101256496B/zh not_active Expired - Fee Related
- 2004-06-04 CN CN2008100824561A patent/CN101261587B/zh active Active
- 2004-06-04 CN CN2008100824650A patent/CN101241441B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326638A (zh) * | 1998-10-19 | 2001-12-12 | 通用仪器公司 | 具有可配置功能的电视机顶盒 |
Also Published As
Publication number | Publication date |
---|---|
CN101261587A (zh) | 2008-09-10 |
CN101256496B (zh) | 2011-07-20 |
CN101241441A (zh) | 2008-08-13 |
CN101241441B (zh) | 2011-02-09 |
CN101256496A (zh) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100926201B1 (ko) | 프로그램 치환 방법 및 프로그램 치환 장치 | |
CN100479521C (zh) | 广播接收装置 | |
CA2341248C (en) | Application data table for a multiservice digital transmission system | |
US7089554B2 (en) | Program executing apparatus | |
US20080276300A1 (en) | Program Execution Device | |
EP1734748A1 (en) | Program execution device | |
KR20040090992A (ko) | 자격 관리 메시지 전송 방법 및 장치 | |
EP1053633B1 (en) | Configuring method and device | |
CN101261587B (zh) | 程序置换方法及装置 | |
JP4554659B2 (ja) | プログラム置き換え方法およびプログラム置き換え装置 | |
JP4728307B2 (ja) | プログラム置き換え方法およびプログラム置き換え装置 | |
JP4149502B2 (ja) | プログラム置き換え方法およびプログラム置き換え装置 | |
MXPA00007588A (en) | Configuring method and device | |
MXPA06011297A (en) | Program execution device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |