首页 / 程序置换方法

程序置换方法失效专利 发明

技术内容

技术领域 本发明涉及下载程序并可置换原有的程序的更新方法,特别涉及 在数字电视中,将原有的程序临时置换成下载的程序并执行。 背景技术 在(日本)特开平10-326192号公报和特开2003-122578号公报 等中公开了现有的数字电视中的下载程序并更新的功能。图1是现有 的下载程序并执行的数字有线电视系统的构成图,该系统由头端器 (headend)4110、两台终端装置4120和4130构成。头端器4110保存 三个程序A4121、程序B4122、程序C4123,供给终端装置4120和4130。 终端装置4120有预先保存的三个程序A4111、程序B4112、程序C4113 和执行这些程序的处理器4124。同样,终端装置4130也有预先保存的 三个程序A4131、程序B4132、程序C4133和执行这些程序的处理器 4134。如果从头端器4110发送新的程序,则终端装置4120和4130将其 与原有的程序置换并保存,以后执行更新过的程序。例如,如果从头 端器4110将新的程序411 1传送到终端装置4120和4130,则终端装置 4120和4130将程序A4121和4131置换为程序A4111。以后,处理器4124 和4134执行更新过的程序A4111,取代程序A4121和4131。这样,通 过更新终端装置保存的程序,可以实现终端装置的功能的更新和追加 新的功能。 但是,在现有的技术中,由于更新原有的程序,所以不能简单地 返回到更新前的程序。在期间和时间限定上,在想要提供特定的功能 的情况下,需要再次从头端器下载程序来返回到原来的程序。一般来 说,下载需要时间,同时不能使用终端装置的其他功能,所以如果增 加下载次数,则产生用户不能使用终端装置的问题。 发明内容 本发明的目的在于提供一种程序置换方法,在可进行广播接收终 端装置内的程序更新的同时,还可容易地返回原有的程序。 为了实现上述目的,本发明提供一种程序置换方法,在可拆/装 地安装于广播接收终端装置上的POD和所述广播接收终端装置内的 程序之间进行消息的发送接收时,改写以能进行和所述POD的消息的 发送接收的方式被注册的所述广播接收终端装置内的程序,其特征在 于,该方法包括:具有用于特别指定程序种类的识别符的第一程序以 可进行与所述POD的消息的发送接收的方式进行注册的步骤;对于具 有与所述第一程序的识别符相同内容的识别符、已经保存在所述广播 接收终端装置内的第二程序,通知停止所述第二程序与所述POD的消 息的发送接收的步骤;以及,停止所述第二程序与所述POD的消息的 发送接收的步骤。由此,即使是下载用于更新(置换)的新的第一程 序的情况,由于保存原有的第二程序而不消除,所以可以简单地返回 到更新前的状态。再有,POD例如是进行被称为CableCard(TM)的 解扰等的卡。 这里,也可以具有向所述第一程序通知所述第一程序可进行与所 述POD的消息的发送接收的步骤。由此,第一程序知道可进行与POD 的消息的发送接收,可以开始与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用于从终端装置B1 12向头端器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)HOS T-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210)、 以及参照该规格书的规格书来定义。这里,省略其细节,仅说明与本 发明有关的部分。 图8是表示POD504的内部结构的方框图。POD504由第一解扰 (descrambler)部701、第二解扰部702、扰频(scrambler)部703、 第一存储部704、第二存储部705、CPU706构成。 第一解扰部701根据来自CPU70的指示,接收由终端装置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的信息交换等,并进行初始化处理。初始化处理的细节按Open Cable(TM)HOST-POD Interface Specification(OC-SP-HOSTPO D-IF-I12-030210)、以及参照该规格书的规格书来定义。此外,还进 行规格书中未定义的初始化处理。这里,介绍其一部分。如果接通电 源,则初始化子程序802通过终端装置500的CPU514向QPSK解调部5 02通知第二存储部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是Electric Program 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’的频道中切换再现,将频道名‘TV Japan’的识别符‘4’转交给服务管理程序。同时,改写一次存储部 511中存储的频道识别符‘4’。图16(3)表示频道识别符被改写的状 态。 JavaVM1203是顺次解析并执行用Java(TM)语言描述的程序的 Java虚拟机。用Java语言描述的程序被称为字节码,以不依赖于硬件 的中间码来编码。Java虚拟机是执行这种字节码的解释程序。此外, 一部分的虚拟机将字节码翻译成CPU5 14可理解的执行形式后,转交 给CPU514,也可以执行。JavaVM1203指定起动核心程序1201a中执 行的Java程序。在本实施方式中,核心程序1201a指定服务管理程序 1204作为执行的Java程序。Java语言的细节在书籍‘Java Virtual Machine Specification(ISBN 0-201-63451-X)等许多书籍中进行了 说明。这里,省略其细节。 服务管理程序1204是用Java语言写出的Java程序,通过 JavaVM1203顺次执行。服务管理程序1204通过JUN(Java Native Interface),调用没有用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参照 图1 5的列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进行提供的包的数字/模拟变换,通过扬声器来再现声音。视 频解码器508进行提供的包的数字/模拟变换,在显示器509上显示视 频。 最后,服务管理程序1204向Java程序库1205中的AM1205b提供频 道的识别符,请求数据广播再现。这里,数据广播再现是提取MPEG2 传输流中包含的Java程序,由JavaVM1203执行。在MPEG2传输流中 埋入Java程序的方法采用MPEG规格书ISO/IEC13818-6中描述的 DSMCC方式。这里,省略DSMCC的细节说明。DSMCC方式在MPEG2 传输流的包中,规定对计算机使用的目录和以文件构成的文件系统进 行编码的方法。此外,执行的Java程序的信息是被称为AIT的形式, 埋入在MPEG2传输流的包中被发送。在DVB-MHP规格(正式地说, 为ETSI TS 101 812 DVB-MHP规格V1.0.2)的第10章中定义了AIT, 是Application Information Table的简略。 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方式包含程序的包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向JavaVM1203转交一次存储部511中从下载的文 件系统中执行的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保存对应的下载的文件系 统的保存位置,在内部保持顶层目录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是保存可从注册的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的对话显示程序停止。具体地说, 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。在步骤S2904中,受理的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)。最后, PODLib1205e将设定的新的分配目的地通知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的消息交换的情况下,将自身注册在 POD Lib1205e中(步骤S3804)。根据图29、图30中规定的流程图,根 据需要来变更消息配送(步骤S3805)。 另一方面,如实施方式1,在将已注册的Java程序保存在二次存 储部510中的情况下,从接通电源后开始,向已注册的Java程序中分 配来自POD504的消息,取代OS1201的程序库1201b。但是,如上所 述,如果根据XAIT来下载执行Java程序,则执行的Java程序将自身注 册在POD Lib1205e中,所以成为双重注册。为了防止双重注册,POD Lib1205e不接受已经注册的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存储卡等可 拆装的存储介质,则控制插槽部,从那里可取入Java程序。此外,安 装连接到网络的网络部,可从网络取出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程序的情况下的POD Lib1205e的动作的流程图。 如果POD Lib1205e接受Java程序的消息配送(包含发送/接收的至 少一方或双方)的注册,则对二次存储部510保存必要的信息(例如 图28所示的信息)(步骤SX101),在步骤SX101中通过将接受了注册 的Java程序的识别符和已经在二次存储部510中注册的其他Java程序 的识别符进行比较,判定在二次存储部510中是否有与接受了注册的 Java程序的识别符相同识别符的Java程序(步骤SX102)。 其结果,在二次存储部510中有相同识别符的Java程序的情况(即 在步骤SX101中对于与接受了注册的Java程序有相同识别符的另一 Java程序,接受消息的配送的注册在步骤SX101的时刻前由POD Lib1205e完成的情况)(步骤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程序的消息配送的注册0情况下的POD Lib1205e的动作的流程图。 如果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中配送消息。 如以上那样,根据实施方式,通过不消除原有的程序,临时取代 执行下载的程序,在可进行程序的更新(置换)的同时,也可容易地 返回原有的程序。