信息处理装置、信息处理方法及程序的制作方法

xiaoxiao2020-7-22  27

专利名称:信息处理装置、信息处理方法及程序的制作方法
技术领域
本发明涉及信息处理装置、信息处理方法及程序。
背景技术
对于包括IPTV(因特网协议电视)或下一代光盘的数字广播,越来越需要增强与用户的交互功能。为了实现交互功能,用于实现交互功能的程序被包括在内容中。例如,在数字广播的情况中,用于实现交互功能的程序被包括在广播内容中,并且在光盘的情况中, 用于实现交互功能的程序被包括在光盘所记录的内容中。这些程序运行环境粗略被分类为两种类型1)说明类型和2~)过程运行类型。在说明类型的情况中,解释并提供说明类型程序的程序被载入装置中。另一方面,在过程运行类型中,与程序相对应的过程在作为运行环境的虚拟机上的编程环境中被运行(例如参见专利文献1)。专利文献1 日本专利申请译文公布No. 2007-524297 (图3)

发明内容
本发明解决的问题然而,在此情况中,存在程序环境中的内置库方面的问题。内置库用作用来执行过程的程序和装置之间的桥梁,并被预先内置于装置中。在该过程中,可以调用并使用这些库功能,就像库功能被描述在程序中一样。例如,可以在程序中调用C语言的printf函数,尽管该函数未被描述在该程序中。通常,在许多情况中仅一个内置库被设置为存在。换言之, 如果多个上述printf函数被定义在装置上,则程序难以判定应当调用哪个。过程运行内容的典型程序环境是由Sun Microsystems公司开发的Java(注册商标)语言。在Java(注册商标)语言中,存在称为包(package)的内置库,并且包括网络功能的Java (注册商标).net包、用于执行输入和输出的Java (注册商标).io包等被广泛使用。一般而言包名称不重叠,但是在一些情况中因某些原因会重叠(彼此冲突)。例如,在欧洲的数字广播中,使用了 MHP(多媒体家庭平台)的内置库。然而,使用MHP内置库的Java (注册商标)TV功能具有与在蓝光(注册商标)盘系统的BD-J内置库中使用的 Java(注册商标)TV功能相同的调用,但是与其不同地进行操作。在此情况中,即使虚拟机试图调用内置库,也由于包名称彼此冲突,因此虚拟机无法判断应当调用哪个。不能避免由于虚拟机的版本或者配置属性(profile)不同而使得操作不同的情况。然而,存在由于内置库之间的差异而使得同一虚拟机上的操作不同的情况。在此情况中,通过使用通过Java (注册商标)语言制备的类路径功能,所读取库的位置被改变,从而实现所读取库的改变。然而,在此情况中,需要重新启动虚拟机。鉴于上述状况,本发明的一个目的是提供即使在内置库包括具有相同库名的多个库的情况中也能够适当地在一个程序运行环境中运行应用程序的信息处理装置、信息处理方法和程序。解决问题的手段为了解决上述问题,根据本发明,提供了一种信息处理装置,该信息处理装置从分发应用程序的多个分发者获取应用程序并且运行应用程序。该信息处理装置包括第一存储单元、获取装置、生成装置和设置装置。该第一存储单元将能够通过库名称被应用程序调用的多个库文件存储在目录结构中。该获取装置获取应用程序并且获取表信息,表信息包括用于标识应用程序的标识信息和用于管理应用程序的运行的管理信息。该生成装置标识出所获得的表信息的分发者,并且生成第二表信息,第二表信息指示所获得的应用程序的标识信息与应用程序的分发者之间的关系。该设置装置在将要被运行的应用程序被选择时, 基于第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据分发者来设置在所选应用程序运行时所调用的库文件的路径。在本发明中,生成装置标识所获得的表信息的分发者,并且生成指示应用程序的标识信息与应用程序的分发者之间的关系的第二表信息。设置装置在将要被运行的应用程序被选择时,基于第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据分发者来设置在所选应用程序运行时所调用的库文件的路径。结果,可以在应用程序运行时根据分发者来切换应用程序所读取的库文件的路径。因此,即使在具有相同库名称的多个库文件存在的情况中,也可以基于分发者来读取不同库文件,因此可以在一个程序运行环境中适当地运行应用程序。生成装置可以基于包括在表信息中的表名称来标识应用程序的分发者。因此,可以基于该名称来标识应用程序的分发者。该信息处理装置还可以包括运行装置,用于利用由设置装置设置的该路径的库文件来运行应用程序。因此,可以在应用程序被运行时使用由设置装置所设置的路径中的库文件。获取装置可以通过传输介质来获取应用程序和表信息。因此,信息处理装置可以通过传输介质来获取应用程序和表信息。根据本发明,提供了一种信息处理方法,用于从分发应用程序的多个分发者获取应用程序并且运行该应用程序。该信息处理方法包括按目录结构来存储能够通过库名称被应用程序调用的多个库文件。应用程序被获取并且表信息被获取,该表信息包括用于标识应用程序的标识信息和用于管理应用程序的运行的管理信息。所获得的表信息的分发者被标识出,并且第二表信息被生成,该第二表信息指示所获得的应用程序的标识信息与应用程序的分发者之间的关系。在将要被运行的应用程序被选择时,与所选应用程序的标识信息相对应的分发者基于第二表信息被确定,并且在所选应用程序运行时所调用的库文件的路径根据分发者而被设置。根据本发明,提供了一种程序,该程序使得计算机从分发应用程序的多个分发者获取应用程序并且执行应用程序。该程序使得计算机执行按目录结构来存储能够通过库名称被应用程序调用的多个库文件;获取应用程序并且获取表信息,表信息包括用于标识应用程序的标识信息和用于管理应用的运行的管理信息;标识出所获得的表信息的分发者,并且生成第二表信息,第二表信息指示所获得的应用程序的标识信息与应用程序的分发者之间的关系;以及在将要被运行的应用程序被选择时,基于第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据分发者来设置在所选应用程序运行时所调用的库文件的路径。本发明的效果如上,根据本发明,即使在内置库包括具有相同库名称的多个库的情况中也能够在一个程序运行环境中适当地运行应用程序。


[图1]是示出根据本发明实施例的信息处理装置的结构的框图。[图2]是示出信息处理装置的硬件的更详细结构的示图。[图3]是示出图1所示的信息处理装置的软件的结构的示图。[图4]是示出应用信息表AIT的数据结构的示图。[图5]是示出应用管理表AMT的数据结构的示图。[图6]是示出当Java(注册商标)应用程序被JVM预运行处理单元载入时的操作的流程图的示图。[图7]是示出当Java(注册商标)应用程序被JVM预运行处理单元载入时的操作的流程图的示图。[图8]是示出类型数据表的数据结构的示图。[图9]是示出由JVM运行处理单元运行的Java(注册商标)应用程序运行处理的流程图的示图。[图10]是示出类型与类路径之间的关系的示图。标号说明AIT应用信息表AMT应用管理表1信息处理装置20FDM 解调器3解复用器4视频解码器5音频解码器6JVM预运行处理单元10盘读取单元IlIP 栈12JVM运行处理单元22JVM23基本库24BD 库25DTV 库26至^Java (注册商标)应用程序30类型数据表
具体实施例方式下面,将参考附图描述本发明的实施例。<信息处理装置的结构>图1是示出根据本发明实施例的信息处理装置的结构的框图。信息处理装置1被设置有调谐器/0FDM(正交频分复用)解调器2、解复用器3、视频解码器4、音频解码器5、Java (注册商标)虚拟机(JVM Java (注册商标)虚拟机)预运行处理单元6、⑶I (图形用户界面)显示单元7、视频输出接8、音频输出接口 9、盘读取单元10、IP (因特网协议)栈11以及JVM运行处理单元12。调谐器/OFDM解调器2用作接收数字TV广播的广播节目数据的调谐器模块。在数字TV广播中,MPEG 2(运动图像专家组幻被用作针对各个广播节目数据(视频、音频等)的压缩编码系统。调谐器/OFDM解调器2从输入的TV广播信号中接收特定频道的广播信号,并且从所接收的TV广播信号中获取传输流(化)。传输流(化)是通过对经过压缩和编码的多个广播节目数据进行复用而获得的流。在数字TV广播中,针对每个频道(物理频道)复用多个节目。解复用器3将经解码的传输流划分为包含视频数据的TS分组、包含音频数据的TS 分组,以及包含Java(注册商标)应用程序及其相关数据的TS分组。视频解码器4对视频数据进行解码(解压缩)。经解码的视频数据经⑶I显示单元7处理,并通过视频输出接口 8被输出给外部显示装置。音频解码器5对音频数据进行解码(解压缩)。经解码的音频数据通过音频输出接口从扬声器(未示出)被输出。蓝光(注册商标)盘(光盘)(未示出)可被附接到盘读取单元10/可从盘读取单元10被拆卸。盘读取单元10读取装载在信息处理装置1上的蓝光(注册商标)盘的信息。盘读取单元10将所读取的视频数据输出给视频解码器4,将所读取的音频数据输出给音频解码器5,并且将所读取的Java (注册商标)应用程序输出给JVM预运行处理单元6。IP栈11存储IP(因特网协议)广播所广播的广播节目的数据。IP栈11向解复用器3输出包含所存储广播节目的视频数据和音频数据的传输流。此外,在一些情况中,IP 栈11将所存储广播节目的视频数据输出给视频解码器4,并将所存储广播节目的音频数据输出给音频解码器5。在一些情况中,与存储在IP栈11中的广播节目有关的Java (注册商标)应用程序直接由JVM预运行处理单元6调用。JVM预运行处理单元6在后面将描述的JVM (Java (注册商标)虚拟机)运行处理之前执行初步处理。初步处理例如包括生成类型数据表(后面将描述)以及设置内置库的路径(后面将描述)的处理。JVM运行处理单元12在JVM环境中执行后面将描述的JVM运行处理,并向⑶I显示单元7输出数据。GUI显示单元7获取数据并且通过视频输出接口 8向显示装置(未示出)输出信息。应注意,从广播波获得的数据整体地与MPEG2-TS叠加。因此,经调谐器/OFDM解调器2解码的传输流不直接被给予JVM运行环境(JVM预运行处理单元6等)。然而,信息处理装置1经由蓝光(注册商标)盘或IP广播获得的数据可能是Java(注册商标)程序 (Jar文件)本身。因此,在一些情况中,经由蓝光(注册商标)盘或IP广播获得的数据可以直接由JVM预运行处理单元6从盘读取单元10或IP栈11调用。类似地,在经由蓝光(注册商标)盘或IP广播进行获取的情况中,视频数据和音频数据在一些情况中可以分别被输入给视频解码器4和音频解码器5而不经过解复用器3。接下来,将描述信息处理装置1的更详细结构。图2是示出信息处理装置1的硬件的更详细结构的示图。如图所示,ROM(只读存储器)403、RAM(随机存取存储器)404、输入操作单元405、 AV接口 406、显示单元407、网络连接单元408、解码单元409、广播接收单元411、由硬盘驱动器(HDD)等形成的存储单元412、介质接口单元413、闪存ROM 414、光通信单元415等经由系统总线402被连接到CPU(中央处理单元)401。广播接收单元411例如对应于图1所示的调谐器/OFDM解调器2。在ROM 403和闪存ROM 414中,存储了由CPU 401处理或运行的程序或各种数据。 闪存ROM 414可以存储各种数据。RAM 404被用作CPU401的临时工作区域以及临时存储数据的区域。输入操作单元405被提供有各种键等,并且处理针对用户的各种操作的指令输入。通过操作输入单元405输入的指令经由系统总线402被发送给CPU 401。光通信单元415是用于与遥控器105进行通信的接口。遥控器105被提供有类似于操作输入单元405的各种键,处理针对用户的各种操作的指令输入,将输入转换为光信号,并发送光信号。光通信单元415接收从遥控器105发送来的光信号,将光信号转换为电信号,并经由系统总线402将电信号发送给CPU 401。显示单元407例如由诸如IXD (液晶显示器)之类的显示器、驱动显示器的显示控制电路等形成,并检查用户输入的指令或数据并且显示各种状态等。网络连接单元408例如是用于处理与因特网或网络101(例如经由路由器连接到因特网的家庭网络)的连接的接口。网络连接单元408例如对应于图1所示的IP栈11。AV接口 406处理AV接口 406与外部AV装备104之间的视频信号和音频信号的输入和输出,外部AV装备104例如是连接到信息处理装置1的电视机。广播接收单元411从地面模拟电视广播、地面数字电视广播、CS数字广播、BS数字广播、便携式装置用地面数字电视广播的广播电台200接收广播波,并且解调视频信号和音频信号。解码单元409对为了传输和记录而被压缩和编码的节目的数据进行解码。通过解码单元409的解码而被重构的视频数据、音频数据等通过AV接口 406被输出给诸如电视机之类的外部AV装备104。存储单元412由HDD形成,并存储从广播电台200、节目分发服务器300或蓝光(注册商标)盘获得的Java(注册商标)应用程序、节目数据、应用信息表以及应用管理表。诸如DVD (数字通用盘)、蓝光(注册商标)盘以及闪存之类的可移除介质102例如可被附接到介质接口单元413/从介质接口单元413被拆卸。介质接口单元413是能够对所装载的可移除介质102写入和读取节目数据的接口。介质接口单元413例如对应于盘读取单元10。<信息处理装置1的软件结构>图3是示出图1所示的信息处理装置1的软件的结构的示图。信息处理装置1被设置有作为软件的操作系统21、Java(注册商标)VM 22、基本库23、BD (蓝光盘)库M、DTV (数字电视)库25等。Java (注册商标)VM 22是将Java (注册商标)型代码转换为其平台的本地代码 (native code)以待运行的软件。基本库23是通过使具有基本功能的程序部分化以由另一程序使用并且将多个程序部分组合成一个文件而获得的。BD库M例如在使用BD-J (蓝光盘Java (注册商标))的Java (注册商标)应用程序被运行时被调用,并且是通过将具有在前述程序被运行时所使用的功能的程序组合成一个文件而获得的。BD-J(蓝光盘Java(注册商标))是指用于蓝光(注册商标)盘中的交互式内容的基础。多个库文件按照目录结构被存储在存储单元412等中。DTV库25例如在Java (注册商标)应用程序被运行时被调用,并且是通过将具有在前述程序被运行时所使用的功能的程序组合成一个文件而获得的。多个库文件按照目录结构被存储在存储单元412等中。信息处理装置1能够通过广播波从作为一个分发者的广播电台200接收Java (注册商标)应用程序26。此情况中的分发者实际上是广播公司。广播电台200由广播公司管理。信息处理装置1可以通过IP广播从作为另一分发者的节目分发服务器300获取 Java(注册商标)应用程序27。此情况中的分发者实际上是节目分发服务提供商。节目分发服务器300由该节目分发服务提供商管理。另外,信息处理装置1可以通过作为又一分发者的蓝光(注册商标)盘获取Java(注册商标)应用程序观。此情况中的分发者实际上是蓝光(注册商标)盘的制造商。信息处理装置1可以获取从广播电台200通过广播波被记录在蓝光(注册商标)盘中的Java(注册商标)应用程序四。Java (注册商标)应用程序沈是处理观看数字广播所需的GUI等的程序。Java (注册商标)应用程序27是处理观看IP广播所需的GUI等的程序。Java (注册商标)应用程序观是处理观看ROM内容(例如蓝光(注册商标)盘)所需的GUI等的程序。Java(注册商标)应用程序四是处理观看存储在蓝光(注册商标)盘等中的内容所需的GUI等的程序。作为一个分发者的广播电台200通过广播波来分发Java(注册商标)应用程序 26。作为一个分发者的节目分发服务器300通过IP广播来分发Java (注册商标)应用程序27。除此之外,广播电台200和节目分发服务器300还分发应用信息表AIT(Applicati0n Information Table)。信息处理装置1可以获取该应用信息表AIT。<应用信息表AIT的结构>图4是示出应用信息表AIT的数据结构的示图。该应用信息表AIT (Application Information Table)是指示应用信息的表。该应用信息表AIT包括Java(注册商标)程序标识符、控制信息、DSMCC(数字存储媒体命令和控制)标识符以及程序名称信息。控制信息和DSMCC标识符是用于管理应用程序的信息。 Java(注册商标)程序标识符和程序名称信息是用于标识应用程序的标识符信息。Java(注册商标)程序标识符是用于标识Java(注册商标)程序的标识符。控制信息是Java(注册商标)程序的控制信息。控制信息包括“自动启动”(autostart)、“呈现”(present)、“杀掉”(kill)等。“自动启动”是指信息处理装置1立即自动地运行该程序,“呈现”是指程序不自动被执行。并且“杀掉”是指程序被停止。DSMCC标识符是用于在DSMCC系统中提取包括Java (注册商标)程序的分组ID的标识符。程序名称是Java (注册商标)程序的名称。程序名称是用于标识Java(注册商标)程序的标识符。在此情况中,对于一个Java (注册商标)程序,仅规定了四个信息。然而,实际上,对于越大数目的Java (注册商标)程序,要定义越多的信息。具体地,应当参考DVB-MHP(数字视频广播-多媒体家庭平台)标准。DVB-MHP标准是广泛普及的交互式数字程序标准。这里,MHP(多媒体家庭平台)是被标准化用于DVB(数字视频广播)项目中的双向数字TV的开放中间件系统。MHP通过被安装在TV接收机上而使得交互式Java (注册商标) 应用程序被运行。双向应用程序与音频和运动图像并行地被提供在广播频道上。DVB-MHP 标准在私有部分中规定了应用信息表(AIT Application Information Table)以便提供与应用有关的信息。应用信息表AIT具有用于标识表本身的名称,并且该名称适用于作为应用程序分发者的广播公司和节目分发服务提供商两者,并且被信息处理装置1用作在分发者之间进行区分的标识信息。除了 Java(注册商标)应用程序之外,还从作为一个分发者的蓝光(注册商标) 盘向信息处理装置1分发应用管理表AMT (Application Management Table)。<应用管理表AMT的结构>图5是示出应用管理表AMT的数据结构的示图。该应用管理表AMT包括各种信息,例如,“ 1 i fe_cyc 1 e (生存期)”、“ ap 1 i_i d_ ref (应用标识符)”、“rur^attribute (运行属性),,以及“rur^priority (运行优先级),,。 “life_CyCle(生存期)”、“run_attribute (运行属性)”以及 “run_priority (运行优先级),,是用于管理应用程序的管理信息。“apli_id_ref (应用标识符),,是用于标识应用程序的标识信息。该应用管理表AMT具有用于标识表自身的名称,并且该名称适用于应用程序的分发者(蓝光(注册商标))盘制造商)并被信息处理装置1用作用于标识分发者的标识信息。“life_CyCle”指示应用程序的“生存期”。在应用程序在Java(注册商标)虚拟机中运行的情况中,在时间轴上清楚地定义指示开始服务的点和结束服务的点的“服务开始点和结束点”是很重要的。“生存期”定义了服务的开始点和结束点。"apli_id_ref"是用于标识应用程序的应用标识符。应用标识符通过描述参考值而指示具有生存期的应用程序。应用标识符通过五位数字ZZZZZ来表达,这五位数字ZZZZZ 被给予作为Java(注册商标)存档文件中的文件名称。“rur^attribute”描述了应用程序在生存期中的“运行属性”。运行属性具有 AutoRun (自动运行)、I^resent (呈现)、Suspend (暂停)等类型。“rurupriority”描述了应用程序在生存期中的运行优先级。在信息处理装置1 中,这些信息被使用,由此来控制应用程序的操作。〈载入Java(注册商标)应用程序时的操作〉下面,将描述图1所示的信息处理装置1的JVM预运行处理单元6的JVM预运行处理。图6是示出JVM预运行处理单元6载入Java (注册商标)应用程序沈或27时的操作的流程图的示图。
调谐器/OFDM解调器2接收广播波,或者IP栈11接收IP广播的数据(ST601)。 此时,信息处理装置1通过广播波或IP广播接收如图4所示的应用信息表AIT。JVM预运行处理单元6基于图4所示的应用信息表AIT的名称(表名称)的信息(AIT)来确定该Java(注册商标)应用程序的分发者。在此情况中,AIT适用于广播电台200和节目分发服务器300两者,因此分发者被确定为广播电台200或节目分发服务器 300。接下来,JVM预运行处理单元6从该应用信息表AIT获取应用程序名称。JVM预运行处理单元6将所获得的应用程序名称登记到存储单元412中存储的类型数据表,并且在将 DTV标志与应用程序名称相关联的情况下将该DTV标志作为类型数据登记到类型数据表中 (ST602)。在此情况中,DTV标志是JVM预运行处理单元6基于应用信息表AIT的存在而生成的标志。DTV标志是指示Java(注册商标)应用程序沈或27是由广播电台200或节目分发服务器300提供的标志。在应用管理表AMT存在的情况中,如后面将描述的,BD标志被生成作为类型数据并被登记到类型数据表中。此后,JVM预运行处理单元6终止该Java (注册商标)应用载入处理(ST603)。即,在此实施例中,作为类型数据被登记到类型数据表中的数据的种类数目为两种,即“DTV”和“BD”。在此实施例中,应用程序的分发者是基于“名称”被标识的。然而,应用程序的分发者还可以基于包括在AIT/AMT所描述的application identifier ()中的 organisation_id 被标识(参见 MHP 10. 5 应用标识)。图7是示出JVM预运行处理单元6载入Java (注册商标)应用程序28或四时的操作的流程图的示图。盘读取单元10从蓝光(注册商标)盘读取Java (注册商标)应用程序观(ST701)。 在此情况中,应用管理表AMT也被读取。替代地,盘读取单元10读取通过广播波或IP广播被记录在蓝光(注册商标)盘中的Java (注册商标)应用程序四(31701)。在此情况中,应用信息表AIT也被读取。JVM预运行处理单元6判断应用信息表AIT存在与否(ST702)。此时,JVM预运行处理单元6例如通过判断具有名称“AIT”的文件存在与否来做出该判断。在应用信息表AIT存在的情况中,JVM预运行处理单元6基于名称(AIT)来确定 Java(注册商标)应用程序的分发者。在此情况中,AIT适用于广播电台200和节目分发服务器300,因此分发者被确定为广播电台200或节目分发服务器300。接下来,JVM预运行处理单元6从应用信息表AIT获取应用程序名称。JVM预运行处理单元6将所获得的应用程序名称登记到存储在存储单元412等中的后面将描述的类型数据表中,并且在将DTV标志与应用程序名称相关联的情况下将该DTV标志登记到类型数据表中(ST703)。此后,JVM 预运行处理单元6终止应用程序载入处理(ST707)。另一方面,在应用信息表AIT不存在的情况中,JVM预运行处理单元6判断应用管理表AMT存在与否(ST704)。此时,JVM预运行处理单元6通过判断具有名称“AMT”的文件存在与否来做出该判断。在应用管理表AMT存在的情况中,JVM预运行处理单元6基于名称(AMT)来确定 Java(注册商标)应用程序的分发者。在此情况中,AMT适用于蓝光(注册商标)盘,因此分发者被确定为蓝光(注册商标)盘。接下来,JVM预运行处理单元6从应用管理表AMT获取应用标识符。JVM预运行处理单元6例如将所获得的应用标识符登记到存储在存储单元 412等中的后面将描述的类型数据表中,并且在将BD标志与应用标识符相关联的情况下将该BD标志登记到类型数据表中(ST705)。此后,JVM预运行处理单元6终止应用程序载入处(ST707)。在应用管理表AMT不存在的情况中,JVM预运行处理单元6判定应用程序不存在 (ST706),并终止应用程序处(ST707)。图8是示出通过图6和图7所示的处理生成的类型数据表30的数据结构的示图。类型数据表30是存储作为用于标识应用程序的标识信息的应用程序名称以及指示分发者的类型的表,应用程序名称被与类型相关联。即,在图8的示例中,指示应用程序名称的应用程序26、27和四与类型数据“DTV”相关联,并且指示应用程序名称的应用程序 28与类型数据“BD”相关联。图9是示出由JVM运行处理单元12执行的Java (注册商标)应用程序运行处理的流程图的示图。当用户等选择要执行的应用时,JVM运行处理单元12确定所选择的Java(注册商标)应用程序名称。然后,JVM运行处理单元12以该应用程序名称作为关键字(key)从类型数据表30读取对应的类型数据(ST901)。JVM运行处理单元12基于所读取的类型数据设置应当被内置在Java(注册商标) 应用程序中的库的路径。S卩,JVM运行处理单元12在Java(注册商标)应用程序的类型为“BD”的情况中设置用于BD的路径(类路径)(ST903),并且在类型为“DTV”的情况中设置用于DTV的路径 (类路径)(ST904)。更具体地,例如如下这样来执行路径的设置。图10是示出类型与类路径之间的关系的示图。在此情况中,用户定义的类载入程序(class loader)被内置于JVM运行处理单元12中。对于该类载入程序,预先定义了类型数据与内置库的路径之间关系。即,如图10所示,对于“DTV”类型数据,“/library/ std. jar /library/dtv/dtv. jar,,被定义为路径,并且对于“BD,,类型数据,“/1 ibrary/std. jar:/library/dtv. bd. jar” 被定义为路径。因此,在Java (注册商标)应用程序的类型为“BD”的情况中,JVM运行处理单元 12通过类载入程序把将要被内置的库的路径设置为“/library/std. jar:/library/dtV. bd. jar" (ST903) 0在典型Java(注册商标)环境中,不存在内置库的路径如上所述那样动态地被切换的系统。然而,在此实施例中,用于动态地切换内置库的路径的功能被赋予此实施例中的JVM运行处理单元12。另一方面,在Java (注册商标)应用程序的类型为“DTV”的情况中,JVM运行处理单元12通过类载入程序把将要被内置的库的路径设置为“/library/std. jar:/library/ dtv/dtv. jar” (ST904)。接下来,如图9所示,JVM运行处理单元12将该Java(注册商标)应用程序载入 RAM 404中并运行该应用程序(ST905)。例如,在诸如蓝光(注册商标)盘之类的ROM内容被观看时所使用的Java(注册商标)应用程序28根据JVM运行处理单元12的路径设置的内容来调用“std. jar"和“dtv/ bd. jar”的库文件。此外,在广播波或IP广播被观看或被记录时所使用的Java(注册商标) 应用程序沈、27或四根据JVM运行处理单元12的路径设置的内容来调用“std. jar”和"dtv/dtv. jar” 的库文件。在运行用户选择的Java (注册商标)应用程序时,JVM运行处理单元12可以取决于指示分发者的类型数据来切换要读取的库文件的路径。因此,即使具有相同库名称的多个库文件存在,也可以区分并读取各个内置库,因此应用可在同一虚拟机运行环境中适当地被实现。通过如上所述那样来选择具有相同库名称的内置库,多个服务可以在同一虚拟机运行环境中并行地被运行。因此,可以在涉及多个服务的程序之间实现相互通信(通常,不能在不同的虚拟机运行环境之间执行相互通信)。此外,在本实施例中,可以避免激活用于运行通过数字广播接收的Java (注册商标)应用程序的虚拟机以及用于运行从蓝光(注册商标)盘读取的Java(注册商标)应用程序的虚拟机。因此,可以减少信息处理装置1的所需存储器空间。在本实施例中,内置库可被优化,因此可以提高运行时的存储器效率。在本实施例中,内置库与Java(注册商标)应用程序之间的关系唯一地被定义。因此,可以避免根据错误调用再次激活JVM。由于不必再次激活虚拟机环境,因此可以实现交互式功能的高速激活。应注意,本发明不限于以上实施例,而是可以在本发明的技术思想内以各种方式进行修改。在以上实施例中,给出了这样的示例其中,由通过数字广播和IP广播分发的应用程序所读取的库名称与由蓝光(注册商标)盘提供的应用程序所读取的库名称相同。然而,本发明不限于此,当然还可应用于例如在运行应用程序时所读取的三个或更多个内置库彼此冲突的情况。在以上实施例中,在Java(注册商标)应用26、27或四(类型为DTV)的情况中, 如图10所示,路径被设置为“/library/std. jar:/library/dtv/dtv. jar”这样的两个。此外,在Java(注册商标)应用程序观(类型为BD)的情况中,作为示例,路径被设置为“/ library/std. jar:/library/dtv. bd. jar”这样的两个。然而,当然可以根据因各个应用而异的内置库来设置与图10所示的路径不同的路径。
权利要求
1.一种信息处理装置,该信息处理装置从分发应用程序的多个分发者获取所述应用程序并且运行所述应用程序,该信息处理装置包括第一存储单元,该第一存储单元按目录结构来存储能够通过库名称被所述应用程序调用的多个库文件;获取装置,用于获取所述应用程序并且获取表信息,所述表信息包括用于标识所述应用程序的标识信息和用于管理所述应用程序的运行的管理信息;生成装置,用于标识出所获得的表信息的分发者,并且生成第二表信息,所述第二表信息指示所获得的应用程序的所述标识信息与所述应用程序的分发者之间的关系;以及设置装置,用于在将要被运行的应用程序被选择时,基于所述第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据所述分发者来设置在所选应用程序运行时所调用的库文件的路径。
2.根据权利要求1所述的信息处理装置,其中所述生成装置基于包括在所述表信息中的表名称来标识应用程序的分发者。
3.根据权利要求2所述的信息处理装置,还包括运行装置,用于利用由所述设置装置设置的所述路径的库文件来运行所述应用程序。
4.根据权利要求3所述的信息处理装置,其中所述获取装置通过传输介质来获取所述应用程序和所述表信息。
5.一种信息处理方法,用于从分发应用程序的多个分发者获取所述应用程序并且运行所述应用程序,该信息处理方法包括按目录结构来存储能够通过库名称被所述应用程序调用的多个库文件; 获取所述应用程序并且获取表信息,所述表信息包括用于标识所述应用程序的标识信息和用于管理所述应用程序的运行的管理信息;标识出所获得的表信息的分发者,并且生成第二表信息,所述第二表信息指示所获得的应用程序的所述标识信息与所述应用程序的分发者之间的关系;以及在将要被运行的应用程序被选择时,基于所述第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据所述分发者来设置在所选应用程序运行时所调用的库文件的路径。
6.一种程序,该程序使得计算机从分发应用程序的多个分发者获取所述应用程序并且运行所述应用程序,所述程序使得所述计算机执行按目录结构来存储能够通过库名称被所述应用程序调用的多个库文件, 获取所述应用程序并且获取表信息,所述表信息包括用于标识所述应用程序的标识信息和用于管理所述应用的运行的管理信息,标识出所获得的表信息的分发者,并且生成第二表信息,所述第二表信息指示所获得的应用程序的所述标识信息与所述应用程序的分发者之间的关系,以及在将要被运行的应用程序被选择时,基于所述第二表信息确定与所选应用程序的标识信息相对应的分发者,并且根据所述分发者来设置在所选应用程序运行时所调用的库文件的路径。
全文摘要
提供即使在内置库包括具有相同库名称的多个库的情况中也能够在一个程序运行环境中适当地运行应用程序的信息处理装置、信息处理方法和程序。JVM预运行处理单元(6)从应用信息表AIT获取应用程序名称并且将该应用程序名称与DTV标志一起存储在RAM(404)中。JVM预运行处理单元(6)从AMT获取应用标识符并且将该应用标识符与BD标志一起存储在RAM(404)中。JVM运行处理单元(12)在用户所选择的程序的属性为BD时设置针对BD的路径,并且在该属性为DTV时设置针对DTV的路径。JVM运行处理单元(12)根据指示用户所选择的程序的分发者的属性来切换在该程序运行时所调用的库文件的路径。
文档编号G06F9/445GK102197379SQ200980143098
公开日2011年9月21日 申请日期2009年9月30日 优先权日2008年11月5日
发明者出叶义治 申请人:索尼公司

最新回复(0)