CN1820251A - 用于执行软件应用的方法 - Google Patents

用于执行软件应用的方法 Download PDF

Info

Publication number
CN1820251A
CN1820251A CNA200480019595XA CN200480019595A CN1820251A CN 1820251 A CN1820251 A CN 1820251A CN A200480019595X A CNA200480019595X A CN A200480019595XA CN 200480019595 A CN200480019595 A CN 200480019595A CN 1820251 A CN1820251 A CN 1820251A
Authority
CN
China
Prior art keywords
software application
application
storer
user interface
checking
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.)
Pending
Application number
CNA200480019595XA
Other languages
English (en)
Inventor
F·M·J·贵罗里特
J·F·J·凡杜伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1820251A publication Critical patent/CN1820251A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • H04N21/23617Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供了一种在广播系统(10)中执行一个或多个Xlet软件应用的方法,所述广播系统(10)包括经由至少一个通信链路(30)耦合到至少一个相应用户接口(40,50)的广播供应者(20),所述用户接口(40,50)其中包括相关联的计算硬件。所述方法包括步骤:(a)从与所述至少一个用户接口(40,50)相关联的至少一个用户(60)接收一个或多个执行至少一个优选的软件应用的请求;(b)检查与所述至少一个用户接口(40,50)相关联的存储器以便确定其中是否驻留了所述至少一个优选的软件应用;(c)当所述至少一个软件应用被发现已经存储在所述存储器中并经过验证时,从所述存储器中把所述至少一个优选的软件应用加载到与所述至少一个用户接口(40,50)相关联的所述计算硬件,继而在所述计算硬件中执行所述软件应用;并且(d)当发现所述至少一个应用尚未被存储在所述存储器中时,从所述广播供应者(20)接收所述至少一个优选的软件应用,把所述至少一个应用加载到所述计算硬件,在所述计算硬件中验证所述至少一个应用,继而当所述应用在所述计算硬件中经过验证时随后执行所述至少一个应用。

Description

用于执行软件应用的方法
本发明涉及用于在通信设备中执行软件应用的方法;本发明尤其而并非仅仅涉及用于执行结合JavaTM软件所实现的软件应用的方法,这种应用被称为Xlet;这种Xlet执行易于出现在诸如多媒体家庭平台(Multimedia Home Platforms MHP)中,所述多媒体家庭平台例如是适合于用在家用环境中的交互式数字电视(digital televisionDTV)设备的机顶盒(STB)。此外,本发明还涉及一种当执行例如Xlet软件应用之类的软件应用时能够实现所述方法的设备。
J.Jones在第40届关于技术和面向对象语言和系统的国际会议(TOOLS Pacific 2002)(悉尼,澳大利亚)上给出了标题为“DVB-MHP/Java TVTM Data Transport Mechanism”的论文。在所述论文中,描述了能够提供大量技术机会的Java DVB-MPH标准。在数字电视(例如关于交互式电视)领域采用这种标准是尤为适当的。在35个国家中遍及300个广播公司、制造商、网络操作员、软件开发者、其它管理团体的工业领导联盟目前努力设计用来递送数字电视和数据服务的全球标准。这种努力目前被称为“数字视频广播项目(Digital VideoBroadcasting Project)”,依照简写形式常常被称为“DVB”项目。
DVB项目规定JavaTM技术作为适当的软件应用环境语言。JavaTM是高级、面向对象的编程语言。在使用中,Java软件源材料被翻译为独立于平台的字节代码以便由虚拟机(Virtual Machine)来解释。典型情况下,下载到机顶盒(STB)的软件应用是根据应用编程接口(application programming interfaces API)套件所构建的JavaTM软件应用,所述应用编程接口套件特别为交互式电视环境而设计。
标准即MHP 1.0.1的一部分定义了第一简档,其中把音频和视频服务的数字广播与可执行的软件应用组合。所述软件应用使一个或多个电视观众能够在本地交互并且例如不要求提供交互频道。此外,所述标准还定义了第二简档,其中除通过增强广播来向一个或多个用户提供的特征之外,还向所述用户提供了与广播服务相关联或无关的交互服务的范围,这种交互式服务要求提供附加的交互频道。
在多媒体家庭平台(MHP)的情况下,利用MHP软件应用,所述MHP软件应用在正常意义上讲按照常规来说被认为是不完整的JavaTM应用。这些MHP软件应用更像Applet(小应用程序),这是因为它们被加载到给定平台上并且在生命期管理器的监督下在其中执行,例如所述平台是机顶盒(STB)并且所述生命期管理器由其中的专用软件来实现。MHP软件应用为了方便起见被称为“Xlet”。
因而,发明人认识到MHP广播涉及诸如Xlet之类的JavaTM应用的传输。这些Xlet易于由数字介质命令和控制(Digital Media Commandand Control DSM-CC)下载到兼容MHP的产品上。
此外,发明人认识到Xlet应用常常连续地被广播而很少被修改,例如在这种情况下对于广播软件应用来说利用“传送带”重复模式。举例来说,在家的人拥有与电视链接的机顶盒(STB)。用户结合STB使用电视能够选择对应于一个或多个所希望的服务的电视屏幕上的标签或符号,继而调用所述符号,所述符号通常被称为“跳过(zapping)”符号。符号的这种“跳过”使相应的Xlet被检测。现在,如果用户想要使用所述Xlet,那么把所述Xlet相关联的类和图像经由诸如卫星连接和/或光纤链路之类的通信介质下载到STB上。在下载之后,在所下载的Xlet被加载到在STB中所提供的虚拟机上继而在其中执行之前,在所述STB中以软件实现的安全性管理器可操作来检查所述Xlet,即类和相关联的图像。在安全性管理器识别出不安全的类和相关联的图像的情况中,例如所述类和相关联的图像被一个或多个软件病毒破坏,所述安全性管理器可操作来防止虚拟机执行Xlet。
发明人认识到如上所述安全性管理器要求相当多的时间来执行安全性检查任务。这种延迟是一个显著的问题,为此发明人已经设计了能够至少部分地解决该问题的方法。
在本领域中没有认识到出现上述问题。例如,在美国公布的专利申请号US2002/0120945A1中,描述了一种供数字电视(DTV)机顶盒使用的软件系统。所述系统使用软件总线应用编程接口(API),所述接口专门被设计成用于使机顶盒与两个标准DASE体系结构兼容,即第一和第二体系结构。在第一体系结构中,程序应用引擎包括说明性应用引擎。在第二体系结构中,包括程序应用引擎,所述程序应用引擎包含相关联的程序。应用引擎均具有与其相关联的应用引擎管理器,所述应用引擎管理器利用功能单元路由器截取来自如下软件应用的所有DASE基础结构的API,所述软件应用由机顶盒从DTV广播中下载。所有API通过应用管理器路由,并且要求所有应用引擎实现在其中所包含的软件总线API。还包括专门设计的软件接口,可操作来能够通过仅仅改变软件代码中的一行来方便地安装附加应用。
本发明的第一目的在于提供一种例如在与数字电视(DTV)相关联的机顶盒中执行软件应用的方法,当安全性检查软件应用时所述方法在操作上更为迅速。
本发明的第二目的在于提供一种可依照上述方法来操作的设备。
依照本发明的第一方面,提供了一种在广播系统中执行一个或多个软件应用的方法,所述广播系统包括经由至少一个通信链路耦合到至少一个相应用户接口的广播供应者,所述用户接口其中包括相关联的计算装置,所述方法包括步骤:
(a)从与所述至少一个用户接口相关联的至少一个用户接收一个或多个执行至少一个优选的软件应用的请求;
(b)检查与所述至少一个用户接口相关联的存储器以便确定其中是否驻留了所述至少一个优选的软件应用;
(c)当所述至少一个软件应用被发现已经存储在所述存储器中并经过验证时,从所述存储器中把所述至少一个优选的软件应用加载到与所述至少一个用户接口相关联的所述计算装置,继而在所述计算装置中执行所述软件应用;并且
(d)当发现所述至少一个应用尚未被存储在所述存储器中时,从所述广播供应者接收所述至少一个优选的软件应用,把所述至少一个应用加载到所述计算装置,在所述计算装置中验证所述至少一个应用,继而当所述至少一个应用在所述计算装置中经过验证时,随后执行所述至少一个应用。
由于本方法能够实现本方法的至少一个目的所以本方法是有益的。
优选地是,在方法的步骤(d)中,所述至少一个软件应用当经过验证时,存储在存储器中以供随后潜在地重新使用。这种重新使用能够使用户接口在使用中更易响应且迅速。
优选地是,例如为了防止需要在每个用户接口中包括过量的存储器,每个用户接口具有存储器管理装置,所述存储器管理装置可操作来利用用户最近请求的软件应用来重写用户不怎么频繁地请求的软件应用,由此使存储器容量能够重新用于用户更频繁地请求的至少一个软件应用。
优选地是,为了使每个用户接口能够响应于软件应用中的更新,在方法的步骤(b)中,把在存储器中所存储且经过验证的至少一个软件应用与从广播供应者所广播的至少一个相应的软件应用相比较以便检查相似性,使得:
(a)当识别在所述至少一个所存储且经过验证的应用和至少一个广播应用之间一致时,在计算装置中执行在所述存储器中所存储且经过验证的至少一个应用;并且
(b)所述至少一个广播应用被检查有效性,并且当成功经过验证时被存储在所述存储器中,并且随后在所述计算装置中执行,
由此所述方法可操作来当从所述广播供应者广播较新的相应至少一个应用时,更新在所述存储器中所存储的至少一个应用。
优选地是,在至少一个通信链路支持双向通信的情况下,所述至少一个用户接口和相应的至少一个通信链路可操作来把对于优选的软件应用的一个或多个用户请求传送到广播供应者,所述广播供应者响应于此向所述至少一个用户接口广播所请求的优选的应用。
优选地是,例如作为选择或另外地,广播供应者可操作来经由所述至少一个通信链路依照时间重复的方式来广播一个或多个软件应用,以便选择性地在所述至少一个用户接口将该软件应用加载到的相关联的存储器中。软件应用广播的这种“传送带(carousel)”方式能够利用至少一个单向通信链路来同时支持用户交互式的数字电视(DTV)。更为优选地是,为了提供可接受的简短用户请求应答延迟,广播供应者可操作来依照伪连续方式来广播一个或多个软件应用。
优选地是,依照所述方法,广播系统是数字电视(DTV)广播系统,其中至少一个用户接口对应于耦合到相关联的显示装置的至少一个机顶盒(STB),并且至少一个通信链路由无线链路、光纤链路和导线通信链路中的至少一个实现。更为优选地是,为了迎合在制造中的不同成本/尺寸利益关系,显示装置包括阴极射线管、像素等离子显示器、像素背光液晶显示器和像素投影液晶显示器中的至少一个。
优选地是,为了支持方便的用户交互,可以通过使用在至少一个用户接口向至少一个用户展示的至少一个图形表示符号来选择至少一个优选的软件应用。更为优选地是,所述至少一个图形符号被实现为至少一个图形图标。
优选地是,除数字电视(DTV)之外或作为选择,所述至少一个用户接口被实现为具有相应图形显示器的至少一个移动电话。
为了针对一个或多个用户请求而在上电时能够提供迅速的启动,存储器被实现为可操作来当断电时也能在其中保持数据的持久性存储器。更为优选地是,所述存储器被实现为非易失性存储器,所述非易失性存储器利用固态闪速存储器、磁盘存储器中的至少一个。
优选地是,例如为了在大范围普遍都能接受,所述至少一个软件应用被实现为一个或多个Java Xlet。Java是国际上公知的、广泛使用的当代计算机语言。
优选地是,在方法的步骤(d)中,由软件实现的安全性管理器来执行验证,并且在计算装置中所提供的软件实现的虚拟机上来执行经过验证的软件应用。
优选地是,为了提供更可预测的统一且稳定的操作同时有效地利用计算装置,将下载、验证以及把经过验证的至少一个软件应用存储在存储器中作为在所述计算装置中的连续并发的后台活动来执行。
依照本发明的第二方面,提供了一种用于执行一个或多个软件应用的广播系统,所述系统包括经由至少一个通信链路耦合到至少一个相应用户接口的广播供应者,每个用户接口包括:
(a)接口装置,用于从与所述用户接口相关联的至少一个用户接收一个或多个在其中执行至少一个优选的软件应用的请求;
(b)存储器,用于在其中存储至少一个软件应用;
(c)计算装置,用于确定所述至少一个优选的软件应用是否已经被验证并存储在所述存储器中,还用于在从所述广播供应者所接收的一个或多个软件应用尚未被存储在所述存储器中的情况下验证所述一个或多个软件应用,并且还用于响应于一个或多个用户请求来执行一个或多个经过验证的软件应用,以致在验证可从所述广播供应者接收的相应的一个或多个软件应用之前执行在所述存储器中所存储的一个或多个经过验证的软件应用,使得向所述至少一个用户提供对来自所述至少一个用户的一个或多个请求的更迅速的时间响应。
优选地是,在所述系统中,当至少一个软件应用经过验证时,计算装置可操作来把所述至少一个软件应用存储在存储器中以供随后潜在地重新使用。
优选地是,每个用户接口具有存储器管理装置,所述存储器管理装置可操作来利用最近请求的软件应用来重写不怎么频繁地请求的软件应用,由此能够使存储器容量重新用于用户更频繁地请求的至少一个软件应用。
优选地是,在所述系统中,所述计算装置可操作来把在存储器中所存储且经过验证的至少一个软件应用与从广播供应者所广播的至少一个相应的软件应用相比较以便检查相似性,使得:
(a)当识别在所述至少一个所存储且经过验证的应用和至少一个广播应用之间一致时,在计算装置中执行在所述存储器中所存储且经过验证的至少一个应用;并且
(b)所述至少一个广播应用被检查有效性,并且如果经过验证就存储在所述存储器中,并且随后在所述计算装置中执行,
由此所述计算装置可操作来当从所述广播供应者广播较新的相应的至少一个应用时,更新在所述存储器中所存储的至少一个应用。
优选地是,在所述系统下,所述至少一个用户接口和相应的至少一个通信链路可操作来把对于优选的软件应用的一个或多个用户请求传送到广播供应者,所述广播供应者响应于此向所述至少一个用户接口广播所请求的优选的应用。
优选地是,在所述系统中,广播供应者可操作来经由所述至少一个通信链路依照时间重复的方式来广播一个或多个软件应用,以便选择性地在所述至少一个用户接口上进行加载。更为优选地是,广播供应者可操作来依照伪连续方式来广播一个或多个软件应用。
优选地是,广播系统是数字电视广播系统,其中至少一个用户接口对应于耦合到相关联的显示装置的至少一个机顶盒,并且至少一个通信链路由无线链路、光纤链路和导线通信链路中的至少一个实现。更为优选地是,显示装置包括阴极射线管、像素等离子显示器、像素背光液晶显示器和像素投影液晶显示器中的至少一个。
优选地是,可以通过使用在至少一个用户接口向至少一个用户展示的至少一个图形表示符号来选择至少一个优选的软件应用。更为优选地是,所述至少一个图形符号被实现为至少一个图形图标。
优选地是,除数字电视(DTV)之外或作为选择,所述至少一个用户接口被实现为具有相应图形显示器的至少一个移动电话。
优选地是,存储器被实现为可操作来当断电时能够在其中保持数据的持久性存储器。更为优选地是,所述存储器被实现为非易失性存储器,所述非易失性存储器利用固态闪速存储器、磁盘存储器中的至少一个。
优选地是,所述至少一个软件应用被实现为一个或多个JavaXlet。
优选地是,所述计算装置可操作来经由软件实现的安全性管理器来执行验证,并且经由在所述计算装置中所提供的软件实现的虚拟机上来执行经过验证的软件应用。
优选地是,所述计算装置可操作来将下载、验证以及把至少一个经过验证的软件应用存储在存储器中作为连续并发的后台活动。
应当理解的是,在不脱离本发明范围的情况下,易于采用任何组合方式来组合本发明的特征。
现在将仅以举例形式,参考下列图来描述本发明的实施例,其中:
图1是链接到几个机顶盒的数字电视广播网络的示意图;
图2是用于在机顶盒(STB)中下载并执行Xlet软件应用的常规方法的示意图;和
图3是本发明用于在机顶盒(STB)中下载并执行Xlet软件应用的方法实施例的示意图。
为了在上下文中阐明本发明,首先将参考图1和2来描述数字电视(DTV)的简短说明。
首先参照图1,示出了总体上由10来表明的常规的DTV广播网络。网络10包括DTV广播供应者20,所述DTV广播供应者20包括用于分送DTV信号的基础结构。所述基础结构例如包括微波无线链路、光纤通信链路、信号切换部件和联机组件中的一个或多个,所述联机组件诸如放大器、再生器、均衡器和滤波器中的一个或多个。广播供应者20包括用于向用户1到“n”提供DTV服务的“n”个输出。每个输出经由通信链路30耦合,优选地是,所述通信链路30是同轴高频有线链路、宽带光纤链路和无线射频链路中的一个或多个。此外,每个用户具有与之相关联的机顶盒(STB)40,所述机顶盒(STB)40耦合在相应的链路30和可由用户60观看的电视监视器50之间。监视器50优选是阴极射线管(CRT)显示器、像素液晶显示器(LCD)、LCD投射部件和等离子显示器中的一个或多个。此外,监视器50还包括相应的音频系统和用户接口控制面板,例如微型计算机键盘和/或计算机鼠标、跟踪球或类似物。
STB 40包括计算机硬件以及高速信号处理硬件。计算机硬件包括至少一个处理器,所述至少一个处理器经由适当的数字总线耦合到易失和非易失性存储装置;如稍后将要阐明的,所述非易失性存储装置能够作为持久性存储器提供。STB 40其中包括可执行的软件,以便使其能够作为虚拟机(即基本上通用的计算机仿真)起作用,所述虚拟机能够特别接收软件应用Xlet并且执行它们以便向用户60提供相应的视频和/或音频服务。
接下来参照图2,示出了在每个STB 40内所执行的处理步骤的流程图;所述处理步骤总体上用100表明。步骤100包括符号选择步骤110(SYMBOL SELECT-符号选择)、请求Xlet步骤120(REQ.FOR XLET-请求XLET)、接收Xlet步骤130(RECEIPT OF XLET-接收XLET)、Xlet安全性/验证检查步骤140(SECURITY CHECK XLET-安全性检查XLET)、判定步骤150(XLET SAFE TO EXECUTE?-XLET可靠执行)以及最后是Xlet执行步骤160(EXECUTE XLET-执行XLET)。如在图2中所给出依照时间序列执行步骤110到160。
现在将参考图1并且2来概括描述广播网络10的操作。
广播供应者20可操作来经由一个或多个链路30向各自的用户60输出数字信号。所述数字信号包括数字节目材料、可执行软件和软件相关数据中的至少一个。
每个用户60能够指示相应的STB 40选择从供应者20所发送的给定数字数据流,例如以便选择优选的节目频道。此外,每个用户60还能够选择一个或多个软件应用,来发送到用户的STB 40以便在其中执行,现在将要描述。
每个STB 40可操作来从其用户60接收应用请求,即用户60在监视器50上选择优选的选项;例如,在步骤110用户60通过把在监视器50上所显示的鼠标图标移动到其上所展示的优选图标软件应用符号上,来选择所述选项。
依照第一交互式操作模式,在步骤120用户60然后经由STB 40把此请求转发到供应者20;例如,所述用户60按下“执行”按钮或开关,这使所述STB 40经由链路30向广播供应者20发送请求。随后,供应者20在步骤130通过下载一个或多个相应的软件应用(例如一个或多个Xlet)作出响应,以便最终在STB 40中执行从而在监视器50上显示。
依照第二交互式操作模式,在这种情况中广播供应者20依照“传送带”方式重复且连续地输出软件应用,STB 40通过把所选择的Xlet与传送到该STB 40的输入信号隔离开而对来自用户60的这一请求做出响应,所隔离且选择的Xlet最终会在所述STB 40中执行以便在监视器50上显示。
在步骤140、150,为了避免破坏STB 40及其中所存储的数据,所述STB 40还执行被称为安全性管理器的验证软件以便验证从广播供应者20所接收的一个或多个软件应用,例如上述的Xlet。希望这种验证确保已经从真正的源提供软件应用和/或确定所述软件应用是否包括可能不利地影响STB 40操作的计算机病毒或类似异常。
在一个或多个STB 40接收Xlet的情况下,首先由在一个或多个STB 40上执行的上述安全性管理器软件来对其进行验证。在步骤150,如果发现Xlet不是善意的,那么不执行该Xlet。反之在步骤150,如果Xlet被安全性管理器成功验证,那么所述Xlet被加载到由STB 40所提供的虚拟机上,继而在步骤160执行以便向用户60提供相应的服务,例如天气报告、投资银行表现报告、股票市场报告和/或视频游戏。
发明人认识到在步骤140中STB 40内的安全性管理器执行其验证功能相对较慢,结果导致用户60在监视器50上识别的软件应用图标或类似物看起来能够响应并起作用之前必须等待一段时间。此外,当软件应用相对较大并且通过链路30可用的带宽受到限制时,在步骤130经由链路30把应用从广播供应者20加载到相关联的STB 40要求数量相当大的时间。这种延迟易于使用户60不安并可能潜在地激怒所述用户60。
当软件应用已经在STB 40内被执行时,它们通常被擦除和/或被从网络供应者20所提供的新的随后的软件应用重写。
如上文所述,在网络10具有单向链路30的情况下,网络供应者10重复地发送在每个STB 40通常都被忽略的软件应用,除非此后用户60在步骤120、130使他们的STB 40识别相应选择的软件应用(例如Xlet)并将其加载到所述STB 40的存储器中,以便在步骤140、150验证使得随后能够执行(如果真实的话)。
发明人认识到依照上述第二交互式模式来重复地广播从广播供应者20所提供的软件应用,即实际上依照数据“传送带”的方式连续的广播,但是很少修改所述软件应用。当如上所述用户60“跳过”软件应用图标时,识别相应的Xlet。如果所述用户想要执行Xlet,那么把与所述Xlet相关联的类和图片从供应者20下载到用户60的STB 40。接下来,所述类由虚拟机在加载阶段加载,在所述加载阶段期间,安全性管理器在最后执行Xlet之前校验每个类,这种校验在STB 40中要求相对大量的执行时间持续时间。
对于本发明,发明人认识到希望把Xlet下载到一个或多个STB 40看作为两个阶段的过程,即存储过程和执行过程。特别希望这种存储是非易失性的持久存储,例如在固态闪速存储器和/或硬盘存储器中进行存储,它们在断电时(即当从STB 40断电时)也能够在其中保持数据。其它类型的非易失性持久性存储器也易于用来提供这种持久性存储。
因而,依照本发明的方法,第一时机在一个或多个STB 40上执行Xlet,所述STB 40被编程来调用安全性管理器以便验证在所有相关联类中的Xlet,继而把所验证的Xlet存储在STB 40的持久性存储器中。在随后的情况中,用户60调用在用户40的监视器50上优选的Xlet图标,相应的STB 40首先检查以便确定所述优选的Xlet是否已经存储在所述STB 40的持久性存储装置中。然后,STB 40检查以便确保所验证且存储的Xlet与从广播供应者20连续输出的Xlet类似,例如与依照“传送带”操作模式从所述广播供应者20用于广播Xlet的输出相似。如果所述广播和存储的Xlet是相同的,那么STB 40将据此识别两个Xlet都是有效的,继而继续执行所存储的Xlet。在优选的存储的Xlet不同于从广播供应者20所输出的Xlet(例如由于软件更新和/或由供应者20升级所引起)时,那么SBT 40可操作来从供应者20下载优选的所选择的Xlet,然后在把它加载到持久性存储装置中继而如先前所描述在虚拟机中执行之前,使所述Xlet被安全性管理器进行有效性检查。
作为存储完整的且经过验证的Xlet的替代,STB 40易于存储对应于所验证且优选的Xlet的验证数据(例如校验和),以便可以在虚拟机中执行所述Xlet之前通过使用所述校验和来迅速地验证所接收的新的Xlet;本发明方法的这种实现方式对于STB 40内的存储器容量不怎么做要求。
将参考图3进一步地阐明本发明的方法。
在图3中,示出了对应于本发明实施例的处理步骤的流程图;所述处理步骤总体上用200表明。步骤200包括符号选择步骤210(SYMBOL SEL.-符号选择)、软件应用检查步骤220(XLET ALREADYLOADED & SECURITY CHECKED IN STB?-在STB中已经加载XLET并进行安全性检查了吗?)、从持久性存储器加载Xlet的加载步骤230(LOAD XLET FROM STB STORAGE-从STB存储器加载XLET)、Xlet执行步骤240(EXECUTE XLET-执行XLET)、请求Xlet步骤250(REQ.FOR XLET-请求XLET)、Xlet接收步骤260(REC.OF XLET-接收XLET)、Xlet安全性验证步骤270(SEC.CHECK XLET-安全性检查XLET)、Xlet有效性检查步骤280(XLET VALID?-XLET有效吗?),并且最后是在持久性存储器中存储Xlet步骤290(STORE XLET-存储XLET)。依照如所图示的时间序列执行步骤200,在步骤220根据用户所选择的Xlet已经在STB 40的持久性装置中以在步骤240准备随后的执行还是在步骤250请求用户所选择的XLET,来进行分支,用户所选择的XLET在步骤260被接收,在步骤270由上述的安全性管理器验证,在步骤280被检查有效性并且最后被存储,并且如果有效的话随后在步骤240、290被执行。
在步骤270、280中,在由STB 40所执行的上述安全性管理器软件中执行安全性验证。此外,由在STB 40的计算硬件中所提供的虚拟机执行所验证的Xlet。
优选地是,每个STB 40可操作来把所有检测的Xlet存储在与其相关联的持久性存储器中。优选地是,Xlet的这种存储是在每个STB 40内连续执行的后台活动。为了防止STB 40耗尽持久性存储器的容量,每个SBT 40被配置成在存储器中维护内部的Xlet记录,例如采用日志的形式;每个STB 40可操作来利用其Xlet记录来确定最少使用的Xlet以及不执行的Xlet,并且把它们从持久性存储装置中删除以便释放其中的存储空间,由此避免存储器被耗尽。因而优选地是,例如由用户60所选择的新的Xlet然后将替换已经在STB 40的持久性存储器中所存储的最少使用的Xlet,所述新的Xlet尚未被存储在相关联的STB 40的持久性存储器中。
优选地是,每个STB 40使用数字存储媒体命令和控制(DSN-CC)来下载模块,每个模块包括一个或多个类和文件。在DTV环境内已知在下载信息指示(Download Info Indication DII)中有利地标识模块版本。优选地是,这种DII信息连同相应的Xlet一起被有益地存储在STB 40的持久性存储器中。因而,当用户60请求要执行Xlet时,DSM-CC将检查以便确定所述Xlet是否已经被存储并且其是否有效;如果所述Xlet尚未被认为有效,那么如上所述,所述Xlet被从供应者20下载、验证继而执行。
因而,每个STB 40包括类加载器软件,如果所存储的Xlet此前未被执行或已经在期间被更新,那么所述类加载器软件可操作来调用上述安全性管理器。
应当理解的是,在不脱离本发明范围的情况下,易于修改在上面所描述的本发明的实施例。
例如,尽管在上文中所描述的本发明方法易于在包括STB的DTV系统中使用,然而所述方法也适用于移动电话网络中,在所述移动电话网络中,所述STB 40及监视器50被手持式移动电话(例如包括适于显示2维图形图像的液晶显示器的移动电话)所代替。
还应当理解,STB 40及其相关联的监视器50易于在空间上共处在相应机架中,并且不限于两个可彼此拆开的项。
在上文中,诸如“包括”、“包含”、“含有”、“具有”和“包含有”之类的表示意在被解释为非排他性的,即这种表达并不排除也可以存在其它的组件或者项。此外,对单个的引用也应当被解释为包括多个。

Claims (34)

1.一种在广播系统(10)中执行一个或多个软件应用的方法,所述广播系统(10)包括经由至少一个通信链路(30)耦合到至少一个相应用户接口(40,50)的广播供应者(20),所述用户接口(40,50)其中包括相关联的计算装置,所述方法包括步骤:
(a)从与所述至少一个用户接口(40,50)相关联的至少一个用户(60)接收一个或多个执行至少一个优选的软件应用的请求;
(b)检查与所述至少一个用户接口(40,50)相关联的存储器以便确定其中是否驻留了所述至少一个优选的软件应用;
(c)当所述至少一个软件应用被发现已经存储在所述存储器中并经过验证时,从所述存储器中把所述至少一个优选的软件应用加载到与所述至少一个用户接口(40,50)相关联的所述计算装置,继而在所述计算装置中执行所述软件应用;并且
(d)当发现所述至少一个应用尚未被存储在所述存储器中时,从所述广播供应者(20)接收所述至少一个优选的软件应用,把所述至少一个应用加载到所述计算装置,在所述计算装置中验证所述至少一个应用,继而当所述至少一个应用在所述计算装置中经过验证时,随后执行所述至少一个应用。
2.如权利要求1所述的方法,其中在步骤(d)中,所述至少一个软件应用经过验证时,存储在存储器中以供随后潜在地重新使用。
3.如权利要求2所述的方法,每个用户接口(40,50)具有存储器管理装置,所述存储器管理装置可操作来利用用户最近请求的软件应用来重写用户不怎么频繁地请求的软件应用,由此使存储器容量能够重新用于用户更频繁地请求的至少一个软件应用。
4.如权利要求1所述的方法,其中在步骤(b),把在存储器中所存储且经过验证的至少一个软件应用与从广播供应者所广播的至少一个相应的软件应用相比较以便检查相似性,使得:
(a)当识别所述至少一个所存储且经过验证的应用和至少一个广播应用之间一致时,在计算装置中执行在所述存储器中所存储的且经过验证的至少一个应用;并且
(b)所述至少一个广播应用被检查有效性,并且当成功经过验证时,存储在所述存储器中并且随后在所述计算装置中执行,
由此所述方法可操作来当从所述广播供应者(20)广播较新的相应至少一个应用时,更新在所述存储器中所存储的至少一个应用。
5.如权利要求1所述的方法,其中所述至少一个用户接口(40,50)和相应的至少一个通信链路(30)可操作来把对于优选的软件应用的一个或多个用户请求传送到广播供应者(20),所述广播供应者(20)响应于此向所述至少一个用户接口(40,50)广播所请求的优选的应用。
6.如权利要求1所述的方法,其中广播供应者可操作来经由所述至少一个通信链路依照时间重复的方式来广播一个或多个软件应用,以便选择性地在所述至少一个用户接口将其加载到相关联的存储器中。
7.如权利要求6所述的方法,其中广播供应者可操作来依照伪连续方式来广播所述一个或多个软件应用。
8.如权利要求1所述的方法,其中所述广播系统是数字电视广播系统,其中至少一个用户接口对应于耦合到相关联的显示装置(50)的至少一个机顶盒(40),并且所述至少一个通信链路(30)由无线链路、光纤链路和导线通信链路中的至少一个实现。
9.如权利要求8所述的方法,所述显示装置(50)包括阴极射线管、像素等离子显示器、像素背光液晶显示器和像素投影液晶显示器中的至少一个。
10.如权利要求1所述的方法,其中通过在所述至少一个用户接口使用向所述至少一个用户展示的至少一个图形表示符号来选择所述至少一个优选的软件应用。
11.如权利要求10所述的方法,其中所述至少一个图形符号被实现为至少一个图形图标。
12.如权利要求1所述的方法,其中所述至少一个用户接口被实现为具有相应图形显示器的至少一个移动电话。
13.如权利要求1所述的方法,其中所述存储器被实现为可操作来当断电时能够在其中保持数据的持久性存储器。
14.如权利要求13所述的方法,其中所述存储器被实现为非易失性存储器,所述非易失性存储器利用固态闪速存储器、磁盘存储器中的至少一个。
15.如权利要求1所述的方法,其中所述至少一个软件应用被实现为一个或多个Java Xlet。
16.如权利要求1所述的方法,其中在步骤(d)中,由软件实现的安全性管理器来执行验证,并且在所述计算装置中所提供的软件实现的虚拟机上执行经过验证的软件应用。
17.如权利要求1所述的方法,其中下载、验证以及把经过验证的所述至少一个软件应用存储在所述存储器中被作为连续并发的后台活动在所述计算装置中执行。
18.一种用于执行一个或多个软件应用的广播系统(10),所述系统(10)包括经由至少一个通信链路(30)耦合到至少一个相应用户接口(40,50)的广播供应者(40,50),每个用户接口(40,50)包括:
(a)接口装置,用于从与所述用户接口(40,50)相关联的至少一个用户(60)接收一个或多个在其中执行至少一个优选的软件应用的请求;
(b)存储器,用于在其中存储至少一个软件应用;
(c)计算装置,用于确定所述至少一个优选的软件应用是否已经被验证并存储在所述存储器中,还用于在从所述广播供应者所接收的一个或多个软件应用尚未被存储在所述存储器中的情况下验证所述一个或多个软件应用,并且还用于响应于一个或多个用户请求来执行一个或多个经过验证的软件应用,以致在验证可从所述广播供应者接收的相应的一个或多个软件应用之前执行在所述存储器中所存储的一个或多个经过验证的软件应用,使得向所述至少一个用户提供对来自所述至少一个用户的一个或多个请求的更迅速的时间响应。
19.如权利要求18所述的系统,其中当所述至少一个软件应用经过验证时,计算装置可操作来把所述至少一个软件应用存储在存储器中以供随后潜在地重新使用。
20.如权利要求19所述的系统,其中每个用户接口具有存储器管理装置,所述存储器管理装置可操作来利用最近请求的软件应用来重写不怎么频繁地请求的软件应用,由此使存储器容量能够重新用于用户更频繁地请求的至少一个软件应用。
21.如权利要求18所述的系统,其中所述计算装置可操作来把在存储器中所存储且经过验证的至少一个软件应用与从广播供应者所广播的至少一个相应的软件应用相比较以便检查相似性,使得:
(a)当识别在所述至少一个所存储且经过验证的应用和至少一个广播应用之间一致时,在计算装置中执行在所述存储器中所存储且经过验证的至少一个应用;并且
(b)所述至少一个广播应用被检查有效性,并且如果经过验证就被存储在所述存储器中,并且随后在所述计算装置中执行,
由此所述计算装置可操作来当从所述广播供应者广播较新的相应至少一个应用时,更新在所述存储器中所存储的至少一个应用。
22.如权利要求18所述的系统,其中所述至少一个用户接口和相应的至少一个通信链路可操作来把对于优选的软件应用的一个或多个用户请求传送到广播供应者,所述广播供应者响应于此向所述至少一个用户接口广播所请求的优选的应用。
23.如权利要求18所述的系统,其中所述广播供应者可操作来经由所述至少一个通信链路依照时间重复的方式来广播一个或多个软件应用,以便选择性地在所述至少一个用户接口进行加载。
24.如权利要求23所述的系统,其中所述广播供应者可操作来依照伪连续方式来广播所述一个或多个软件应用。
25.如权利要求18所述的系统,其中所述广播系统是数字电视广播系统,其中至少一个用户接口对应于耦合到相关联的显示装置的至少一个机顶盒,并且所述至少一个通信链路由无线链路、光纤链路和导线通信链路中的至少一个实现。
26.如权利要求25所述的系统,所述显示装置包括阴极射线管、像素等离子显示器、像素背光液晶显示器和像素投影液晶显示器中的至少一个。
27.如权利要求18所述的系统,其中可以通过在所述至少一个用户接口使用向所述至少一个用户展示的至少一个图形表示符号来选择至少一个优选的软件应用。
28.如权利要求27所述的系统,其中所述至少一个图形符号被实现为至少一个图形图标。
29.如权利要求18所述的系统,其中所述至少一个用户接口被实现为具有相应图形显示器的至少一个移动电话。
30.如权利要求18所述的系统,其中所述存储器被实现为可操作来当断电时能够在其中保持数据的持久性存储器。
31.如权利要求30所述的系统,其中所述存储器被实现为非易失存储器,所述非易失存储器利用固态闪速存储器、磁盘存储器中的至少一个。
32.如权利要求18所述的系统,其中所述至少一个软件应用被实现为一个或多个Java Xlet。
33.如权利要求18所述的系统,其中所述计算装置可操作来经由软件实现的安全性管理器来执行验证,并且经由在所述计算装置中所提供的软件实现的虚拟机上来执行经过验证的软件应用。
34.如权利要求18所述的系统,其中所述计算装置可操作来将下载、验证以及把至少一个经过验证的软件应用存储在存储器中作为连续并发的后台活动。
CNA200480019595XA 2003-07-10 2004-07-02 用于执行软件应用的方法 Pending CN1820251A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03102092 2003-07-10
EP03102092.8 2003-07-10

Publications (1)

Publication Number Publication Date
CN1820251A true CN1820251A (zh) 2006-08-16

Family

ID=34042931

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200480019595XA Pending CN1820251A (zh) 2003-07-10 2004-07-02 用于执行软件应用的方法

Country Status (5)

Country Link
EP (1) EP1646938A2 (zh)
JP (1) JP2007528048A (zh)
KR (1) KR20060029689A (zh)
CN (1) CN1820251A (zh)
WO (1) WO2005006180A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538432A (ja) * 2005-04-08 2008-10-23 ビーアイエイピー・インコーポレーテッド アプリケーションをメモリ制約システムにダウンロードする方法およびシステム
KR100723913B1 (ko) 2005-05-30 2007-05-31 주식회사 에어코드 구조화된 데이터 방송 어플리케이션, 그 기록 매체, 및 그동작 방법
KR100709790B1 (ko) 2005-07-05 2007-04-19 주식회사 알티캐스트 셋톱박스 유저인터페이스 갱신 시스템 및 방법
EP1763246A1 (en) * 2005-09-08 2007-03-14 Osmosys S.A. Method of access to applications transmitted within data streams of different television channels and device giving access to broadcasted applications
KR100768894B1 (ko) 2006-12-19 2007-10-19 삼성전자주식회사 디스플레이장치 및 방송시스템
KR100858197B1 (ko) * 2007-01-11 2008-09-10 한국문화콘텐츠진흥원 디지털 텔레비전 수신기용 자바 응용 프로그램 생성 장치
WO2011013303A1 (ja) * 2009-07-30 2011-02-03 パナソニック株式会社 受信データ認証方法及びデジタル放送受信機
CN102196229A (zh) * 2010-03-05 2011-09-21 海尔集团公司 功能扩展装置及具有该功能扩展装置的电视机
CN104796763A (zh) * 2015-04-01 2015-07-22 太仓苏易信息科技有限公司 一种触屏式外接电视机控制软件系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0949595A3 (en) * 1998-03-30 2001-09-26 Citicorp Development Center, Inc. Method and system for managing applications for a multi-function smartcard
WO2001011869A1 (en) * 1999-08-05 2001-02-15 Koninklijke Philips Electronics N.V. Television system adapted to function as server for distributing broadcasted stand-alone applications

Also Published As

Publication number Publication date
JP2007528048A (ja) 2007-10-04
WO2005006180A3 (en) 2006-02-23
EP1646938A2 (en) 2006-04-19
WO2005006180A2 (en) 2005-01-20
KR20060029689A (ko) 2006-04-06

Similar Documents

Publication Publication Date Title
US6701334B1 (en) Methods and apparatus for implementing individual class loaders
US8458762B2 (en) Program replacing method
US20060179465A1 (en) Handling feature availability in a broadcast
RU2181929C2 (ru) Извлечение секций данных из транслируемого потока данных
JP6080229B2 (ja) アプリケーション管理装置
JP2001518256A5 (zh)
CN1820251A (zh) 用于执行软件应用的方法
CN1254478A (zh) 数据处理系统
RU2181905C2 (ru) Разработка системы управления телевидением или радиовещанием
US20090044281A1 (en) Java conditional access apparatus
US8788546B2 (en) Preloading resources from data carousel of broadcast file system
CN1571501A (zh) 一种嵌入式的数字电视业务平台的实现方法
KR20070063571A (ko) Mhp 애플리케이션들의 시동 시간을 감소시키기 위한시스템 및 방법
KR100691120B1 (ko) 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법
US20070169108A1 (en) Method of executing software applications
AU742213B2 (en) Access control system
CN1976413A (zh) 数字数据广播接收器及控制其分辨率的方法和设备
KR100810854B1 (ko) 오류상황을 처리하기 위한 미들웨어를 갖는 데이터 방송 수신기 및 그의 동작방법
KR20100056173A (ko) 화면 제어 방법 및 그 장치
KR20110012536A (ko) 데이터 방송 수신 방법
MXPA99008545A (es) Sistema de control de acceso
KR20100056172A (ko) 애플리케이션 실행 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication