CN1326049C - 将下载的对象提供给应用程序的方法和装置 - Google Patents
将下载的对象提供给应用程序的方法和装置 Download PDFInfo
- Publication number
- CN1326049C CN1326049C CNB021023743A CN02102374A CN1326049C CN 1326049 C CN1326049 C CN 1326049C CN B021023743 A CNB021023743 A CN B021023743A CN 02102374 A CN02102374 A CN 02102374A CN 1326049 C CN1326049 C CN 1326049C
- Authority
- CN
- China
- Prior art keywords
- module
- storage
- application program
- download
- version
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/12—Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/16—Arrangements for broadcast or for distribution of identical information repeatedly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/25—Arrangements for updating broadcast information or broadcast-related information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4433—Implementing client middleware, e.g. Multimedia Home Platform [MHP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
- H04N21/8402—Generation or processing of descriptive data, e.g. content descriptors involving a version number, e.g. version number of EPG data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Abstract
一种用于将下载的对象提供给应用程序的方法和装置,包括从接收传输流下载包含应用程序请求的对象的模块;存储下载的模块;监视存储的模块是否为最近的版本;当应用程序请求存储的模块的对象,而存储的模块是最近的版本时,将存储的模块的对象提供给应用程序;以及当应用程序请求存储的模块的对象,而存储的模块不是最近的版本时,仅复制应用程序仍在使用的被存储模块的对象,下载最近版本的被存储模块,并用下载的最近版本的被存储模块来重写所述被存储模块。
Description
技术领域
本发明涉及一种用于将下载的对象提供给应用程序的方法和装置,具体地说,涉及从传输流下载信息以便按请求把数据对象提供给应用程序。
背景技术
众所周知,在传输流中传送数据对象供终端用户下载。对象可包括供终端用户使用的任何形式的数据,并且可以分布式重复形式传送,例如,通过数据轮放(data carousel)传送。数据对象常可以一起被分组为数据模块,这样,对于要使用特定对象的终端用户的应用程序,要从传输流下载包含该对象的整个模块。这些情况下,服务提供商可以将相关对象一起分组在各个模块中,这样,如果终端用户存储下载的模块,则大大减少了对相关对象的访问时间。
按照DSM-CC广播协议,诸如文件、目录等的对象以DSM-CC模块内承载的BIOP消息的形式传送到终端用户的接收机。这些模块可通过轮放被广播,每个模块重新格式化为多个MPEG段(MPEG section),这些段以分布形式被广播供终端用户接收并将其重新组合成各个模块。
随着时间的推移,服务提供商将更新对象。在这些情况下,最好是,当终端用户的应用程序请求对象时,它将收到该对象的最新版本。然而,如果在更新对象前,终端用户已经下载了相应的模块,则将终端用户存储的模块中包含的旧版本对象提供给应用程序。
发明内容
本发明的一个目的是克服上述的问题。
按照本发明,提供了一种用于把下载对象提供给应用程序的装置,所述装置包括:对象层接口,用于从接收传输流下载包含应用程序请求的对象的模块;模块存储器,用于存储下载的模块;以及控制器,用于监视所述模块存储器中的所述模块是否为最近的版本;其中当所述应用程序请求存储的模块中包含的对象,而所述存储的模块是最近的版本时,所述对象层接口将所述模块存储器的所述对象提供给所述应用程序,并且当所述应用程序请求存储的模块中包含的对象,而所述存储的模块不是最近的版本时,所述对象层接口下载所述最近的版本的所述模块,并重写所述模块存储器中存储的所述模块;所述装置还包括:对象高速缓存,用于存储对象;其中当所述应用程序请求存储的模块中包含的对象,而所述存储的模块不是所述最近的版本时,在所述对象层接口用所述最近的版本的所述存储的模块来重写所述存储的模块之前,所述控制器仅将所述应用程序仍在使用的所述存储的模块的所述对象复制到所述对象高速缓存。
本发明还提供了一种将下载的对象提供给应用程序的方法,所述方法包括:从接收传输流下载包含应用程序请求的对象的模块;存储所述下载的模块;监视所述存储的模块是否为最近的版本;当所述应用程序请求存储的模块的对象,而所述存储的模块是最近的版本时,将所述存储的模块的所述对象提供给所述应用程序;以及当所述应用程序请求存储的模块的对象,而所述存储的模块不是最近的版本时,仅复制所述应用程序仍在使用的所述存储的模块的所述对象,下载所述最近版本的所述存储的模块,并用所述下载的最近版本的所述存储的模块来重写所述存储的模块。
这样,在应用程序请求对象时,始终提供有该对象的最新版本。然而,应用程序仍可以继续使用以前请求的相同模块中的任何对象。
另一方面,在应用程序请求存储的模块中包含的对象,而该存储的模块不是最近的版本,但包含了所述应用程序已在使用的其它对象时,所述装置可只下载并存储所述模块的新的最近版本,并且是除以前版本的模块之外又存储下载的最近版本的模块。这样,应用程序将访问最近版本的新请求对象,同时保持与以前请求的对象的交互作用。然而,此方法非常浪费存储器,特别是在模块包含了许多对象而应用程序可能只使用存储的模块的一个对象的情况下。
同样地,装置有可能只包括替代模块存储器的对象存储器,因而它只存储应用程序在使用的对象。这样,每当应用程序请求新对象时,终端用户始终从传输流下载对象,因此始终获得最近的版本。然而,在相关对象一起包含在各个模块中时,常常会从以前存储的模块检索请求对象,此方法严重限制了访问速度。
因此,本发明允许以最佳的访问时间但却以最低的存储器要求将对象提供给应用程序。
由于应用程序的请求是以这样的方式被处理,因此应用程序本身不需要知道它使用的对象源。通过硬件或软件实现的对象层可实现对象的透明高速缓存。
最好是,控制器对传输流中有关传输流中传送的最近版本的模块的信息进行响应。
在诸如从DSM-CC轮放广播的许多系统中,在传输流中传送有关轮放上模块更新的信息。控制器可以监视此信息,这样,在应用程序请求更新模块的对象时,控制器可采取上述定义的步骤。
最好是,控制器按照MHP平台的规范来监视模块是否为最近的版本。
因此,在按照MHP规范的广播环境中,可提供对象的透明高速缓存,这样,始终将最新的对象提供给应用程序。
最好是,对象为DSM-CC对象且模块为DSM-CC模块。
因此,本发明可与DSM-CC系统结合使用。
最好是,通过复制对应的BIOP消息,将对象从模块存储器复制到对象高速缓存。由于DSM-CC对象作为BIOP消息包含在DSM-CC模块中,因此对象高速缓存可以按其BIOP消息形式存储对象。
最好是,提供至少一个过滤器,用于滤出要下载的模块的传输流信息包。这可以通过滤出要下载的模块的段来实现,例如,MPEG-2段。因此,检查传输流中诸如MPEG信息包的信息包来确定它们是否涉及要下载的模块。由段过滤器从传输流复制所有相关的信息包,这样,可以将它们重新装配以形成模块。
最好是,装置为电视装置。因此,本发明可实施在接收其它电视服务的电视装置中,诸如实施在集成电视和机顶盒中。
最好是,装置是MHP顺应的。
可以理解,本发明可用软件来实现并记录在存储媒体上。实际上,已经配置成对请求对象的模块进行下载的装置可由适当的对象层进行补充,这样,按照本发明,当应用程序请求存储的模块的对象,而该存储的模块不是最近的版本时,复制所述应用程序仍在使用的所述存储的模块的对象。对象层提供透明高速缓存,这样,应用程序可以继续使用复制的对象而无需了解复制或存储器寻址中的变化。
附图说明
参照附图,通过仅以示例方式给出的以下描述,可更好地理解本发明,附图中:
图1说明基于模块的DSM-CC客户栈;
图2示意性说明实施本发明的装置;
图3说明实施本发明的过程的流程图;以及
图4(a)、(b)、(c)和(d)说明更新情况。
具体实施方式
现将参考用于按照DSM-CC广播协议的实施例来描述本发明。然而,可以理解,只要系统中用于终端用户应用程序的对象在模块中一起被传送,本发明便适用于这样的系统。
按照DSM-CC广播协议,诸如文件和目录的对象以BIOP消息的形式被传送到终端用户接收机,它们本身被承载在数据轮放模块中。一个这样的模块可以并且通常包含几个BIOP消息。在这方面,服务提供商通常将相关BIOP消息一起分组在相同的模块中。
因此,由于DSM-CC对象轮放的这种特性,DSM-CC客户栈,即在接收机中实现的处理下载数据的软件层栈,常常实现为“基于模块的”。换而言之,把从接收传输流下载的数据保持在模块层,即以接收模块的形式而不是作为原对象或BIOP消息来保持。
通过将接收数据以接收模块的形式存储在模块层,可以提高终端用户装置得到的访问速度。特别是,由于相关对象一般一起被分组在相同模块中,因而最好将整个模块保持在存储器中。这是因为已请求模块的一个对象的用户应用程序可能请求相同模块中的其它对象。如果该模块保持在存储器中,则与要从传输流进行检索相比,应用程序显然能以更快的速度访问它。
图1说明用于如上所述操作的基于模块的DSM-CC客户栈。
可以运行终端用户应用程序的客户层2能够通过诸如索引号码、数据地址等的不透明参考来请求DSM-CC对象。
随后,用户到用户层4提供所有BIOP消息的高级表示。此层执行客户应用程序可调用的所有操作,诸如读取文件,列出目录等。它与对象轮放层连接,以便按照客户层中应用程序对对象的请求来请求装载(或卸载)BIOP消息。
对象轮放层6维护所有BIOP消息并向用户到用户层4提供基本BIOP消息访问例行程序。为了按照客户层2中应用程序的需要来获得适当的BIOP消息,对象轮放层6与数据轮放层8连接,以便请求装载或关闭数据轮放模块。
数据轮放层8是客户栈的最低层,并负责装配数据轮放模块。因此,在需要特定模块以将请求的对象提供给客户层2中的应用程序时,数据轮放8设置适当的段过滤器,以对承载与所需模块有关的DSM-CC消息的MPEG2段进行抽取。在不再需要过滤器时,数据轮放层8也可消除过滤器。
为将某特定对象提供给应用程序而从传输流下载模块时存储整个该模块的方法可描述为“基于模块的高速缓存”。在处理动态内容,即处理内容随时间而变的对象时,此方法产生问题。特别是,在应用程序请求一个对象,而该对象包含在已经可以在装置的高速缓存中得到的模块中时,如果该对象的内容易受变化,则无法保证高速缓存中的对象为最近的版本。
显然希望应用程序始终接收最新版本的对象。实际上,按照MHP规范,DSM-CC栈必须返回对应于传输流中最新可用版本的对象。这种行为称为“透明高速缓存”。为实现透明高速缓存,已经存储在高速缓存中的模块似乎在任一给定时间点需要从广播传输流重新装载。在已经存在参考该模块的情况下,问题产生,例如客户层2的应用程序正在使用该模块的对象中的至少一个,这些参考必须仍保持有效。因此,如果客户层2的应用程序正在使用模块的一个或多个对象,则应用程序必须能够继续使用那些没有变化的对象的数据。特别是,如果应用程序已根据特定对象中包含的数据正在运行,则不允许在应用程序执行操作的中途改变该数据。因此,当从广播流装载新版本时似乎需要保持旧版本的模块。
通过使数据轮放层8保持几个版本的相同模块,出现了存储器效率的大量降低问题,因为不在使用的过时对象数据必须毫无必要地保持在存储器中。此外,采用这种配置,客户栈较低层的复杂性(数据轮放客户实现)将需要增加。
另外,DSM-CC客户能以基于对象的方式实现。换言之,只是高速缓存由客户层2中应用程序请求的对象,而不是高速缓存装载的模块。这被描述为基于对象的高速缓存方法。这将易于迎合上述透明高速缓存。然而,由于对象的所有新参考将需要从广播流来下载模块,因此客户层2的应用程序的操作将会慢得多。
图2以示意性示出可克服这些问题的装置。当然,实际上此装置可能用软件实现,具有参照图1所述的客户栈的形式。
如下所述的那样,DSM-CC客户实施为上述两种高速缓存方法之间的混合。特别是,只要发现模块是旧版本,换言之是模块已过时,DSM-CC栈便仅复制需要保持的数据,即被参考的对象或者实际上更可能是BIOP消息,然后释放该模块。
按照应用程序10对特定对象的请求,对象层接口12搜索模块存储器14,查找包含请求对象的BIOP消息的对应模块。实际上,可保持被存储的以前下载的模块的记录。
如果模块存储器14中尚未存储适当的模块,则采取措施从接收广播传输流15来下载所需数据。特别是,可使用一个或多个段过滤器16从流15抽取重构所要模块所需的段。例如,可使用MPEG段过滤器抽取承载所需DSM-CC模块的MPEG-2段。
当所要的模块被接收时,由对象层接口12将该模块中包含的原请求对象提供给应用程序10。整个模块也存储在模块存储器14中。
还提供控制器18。可以理解,这是可包含在装置的整个操作中的功能的示意性表示。
控制器18对广播传输流15中的数据反应敏感,并确定何时更新了通过流15可获得的模块。这样,控制器18可确定存储在模块存储器14中的模块是最近的版本还是旧版本。如所示的那样,控制器18直接从广播传输流15得到此版本信息。然而,如上所述,此表示是示意性的,实际上,此信息可通过适当的段过滤器来得到。
下面将更详细的讨论,当控制器确定存储在模块存储器14中的模块现在可获得新版本时,它可以开始从广播传输流15下载该新版本。一检测到新版本或就可以开始所述下载,或者一旦对象层接口12尝试访问该模块中包含的对象便可以开始所述下载。
应用程序已在使用要更新的模块中包含的一个或多个对象时,控制器18先将对象或对应的BIOP消息复制到对象高速缓存20。对象层接口12被告知此复制,这样,应用程序可以继续使用所述对象的数据而无需了解数据传送。换言之,对象层接口可以处理所需的任何重新寻址,这样,应用程序10是从对象高速缓存20而不是从模块存储器14来检索数据。
这样,当前在使用的所有对象均保持在对象高速缓存中,而模块被更新为新的最近版本,因此,对包含在这些模块中的任何对象的新参考始终是对最新版本的对象的参考。
如上所述,一出现新版本的模块,控制器就可以更新模块存储器,或者可以只是在应用程序10尝试参考该模块中的对象时更新该模块。应用程序10已在参考模块中至少一个对象,并因此可能在以后要参考该模块的其它对象的情况下,只要可获得新的版本,便可更新模块。通过一可获得新版本便更新模块,可能会减少将来的访问时间。另一方面,在一些情况下,每当出现新版本便更新模块可视为毫无必要的处理,这是因为应用程序10可能不需要参考该模块的任何其它对象。
因此,如果在更新模块,则仍被打开的对象将在对象层而不是在模块层被高速缓存。在给定时间,只有模块的最新可获得版本将保持于系统存储器中。这意味着只有重要的,即可能有用的数据由DSM-CC栈始终保持在高速缓存中。这样,该机制组合了基于模块的高速缓存的速度和基于对象的高速缓存的存储器效率。客户层2和客户层2中的任一应用程序10从不直接访问对象数据,因为对象或BIOP消息复制到对象高速缓存20将改变存储器中的对象数据位置。对象层接口12表示的对象轮放层6提供保证此行为的隔离层。
该过程在图3的流程图中说明。
在步骤100中,产生装载DSM-CC对象的请求。结果,在步骤102中为对应于请求DSM-CC对象的模块找到模块参数。这样,系统可以保持合适的参数数据库,以便确定所需模块。
在步骤104中,确定模块是否在高速缓存中,例如它是否存储在模块存储器14中。
如果以前尚未下载且因此未存储模块,则过程进行到步骤106,在该步骤中,将模块装载并存储在高速缓存中。随后,在步骤108中,请求DSM-CC对象的所需数据被返回到应用程序。
如果在步骤104中,确定所需的模块不在高速缓存中,则过程进行到步骤110。在此步骤中,确定高速缓存中的所要模块是否为该模块的最新版本。如果是,则过程可进行到步骤108并将对象数据返回给应用程序。
如果步骤110确定高速缓存中的模块不是最新版本,则过程进行到步骤112。在此步骤中,高速缓存的模块中包含的所有参考对象,即应用程序已参考的对象,随后被保存,例如,将它们复制到对象高速缓存20。
然后,在步骤114中,模块使用的存储器被释放,这样,过程会进行到步骤106以装载所需的模块。
应该知道,如上所述,过程可以另外连续执行步骤110、112、114和106,以确保始终可获得下载的模块的最新版本,而不是等待对模块对象的请求。
现在将参照图4(a)到(d)来描述特定情况。
在此情况中,应用程序有对两个对象的打开参考,这两个对象在相同模块中传送。两个对象的版本均为N。当前可在流上获得的版本为N+1。然而,此时,应用程序不知道这点。
图4(a)中,说明应用程序通过版本为N的所需模块的BIOP消息1和BIOP消息2来参考对象1和对象2。
图4(b)中,应用程序请求对象3。此时,数据轮放层检查可在流上获得的版本,并发现版本N+1。
如图4(c)所示,数据轮放层通知对象轮放层可在流上获得新版本的模块。对象轮放层因此从模块复制其参考的所有BIOP消息并关闭所有对它的访问。
现在可安全地装载新版本的模块,并且如图4(d)所示,在装载完成时,对象3现在访问最新的版本,而对象1和对象2仍访问以前的版本。或BIOP消息复制到对象高速缓存20将改变存储器中的对象数据位置。对象层接口12表示的对象轮放层6提供保证此行为的隔离层。
该过程在图3的流程图中说明。
在步骤100中,产生装载DSM-CC对象的请求。结果,在步骤102中为对应于请求DSM-CC对象的模块找到模块参数。这样,系统可以保持合适的参数数据库,以便确定所需模块。
在步骤104中,确定模块是否在高速缓存中,例如它是否存储在模块存储器14中。
如果以前尚未下载且因此未存储模块,则过程进行到步骤106,在该步骤中,将模块装载并存储在高速缓存中。随后,在步骤108中,请求DSM-CC对象的所需数据被返回到应用程序。
如果在步骤104中,确定所需的模块不在高速缓存中,则过程进行到步骤110。在此步骤中,确定高速缓存中的所要模块是否为该模块的最新版本。如果是,则过程可进行到步骤108并将对象数据返回给应用程序。
如果步骤110确定高速缓存中的模块不是最新版本,则过程进行到步骤112。在此步骤中,高速缓存的模块中包含的所有参考对象,即应用程序已参考的对象,随后被保存,例如,将它们复制到对象高速缓存20。
然后,在步骤114中,模块使用的存储器被释放,这样,过程会进行到步骤106以装载所需的模块。
应该知道,如上所述,过程可以另外连续执行步骤110、112、114和106,以确保始终可获得下载的模块的最新版本,而不是等待对模块对象的请求。
现在将参照图4(a)到(d)来描述特定情况。
在此情况中,应用程序有对两个对象的打开参考,这两个对象在相同模块中传送。两个对象的版本均为N。当前可在流上获得的版本为N+1。然而,此时,应用程序不知道这点。
图4(a)中,说明应用程序通过版本为N的所需模块的BIOP消息1和BIOP消息2来参考对象1和对象2。
图4(b)中,应用程序请求对象3。此时,数据轮放层检查可在流上获得的版本,并发现版本N+1。
如图4(c)所示,数据轮放层通知对象轮放层可在流上获得新版本的模块。对象轮放层因此从模块复制其参考的所有BIOP消息并关闭所有对它的访问。
现在可安全地装载新版本的模块,并且如图4(d)所示,在装载完成时,对象3现在访问最新的版本,而对象1和对象2仍访问以前的版本。
Claims (9)
1.一种用于把下载对象提供给应用程序的装置,所述装置包括:
对象层接口,用于从接收传输流下载包含应用程序请求的对象的模块;
模块存储器,用于存储下载的模块;以及
控制器,用于监视所述模块存储器中的所述模块是否为最近的版本;
其中
当所述应用程序请求存储的模块中包含的对象,而所述存储的模块是最近的版本时,所述对象层接口将所述模块存储器的所述对象提供给所述应用程序,并且当所述应用程序请求存储的模块中包含的对象,而所述存储的模块不是最近的版本时,所述对象层接口下载所述最近的版本的所述模块,并重写所述模块存储器中存储的所述模块;所述装置还包括:
对象高速缓存,用于存储对象;其中
当所述应用程序请求存储的模块中包含的对象,而所述存储的模块不是所述最近的版本时,在所述对象层接口用所述最近的版本的所述存储的模块来重写所述存储的模块之前,所述控制器仅将所述应用程序仍在使用的所述存储的模块的所述对象复制到所述对象高速缓存。
2.如权利要求1所述的装置,其特征在于所述控制器对所述传输流中有关所述传输流中传送的所述最近版本的所述模块的信息进行响应。
3.如权利要求1或2所述的装置,其特征在于所述控制器按照多媒体家庭平台规范来监视模块是否为所述最近版本。
4.如权利要求1或2所述的装置,其特征在于所述对象是DSM-CC对象,并且所述模块是DSM-CC模块。
5.如权利要求4所述的装置,其特征在于通过复制对应的BIOP消息来把所述对象从所述模块存储器复制到所述对象高速缓存。
6.如权利要求1或2所述的装置,其特征在于还包括至少一个过滤器,用于从所述传输流滤出要下载的模块的信息包。
7.如权利要求1或2所述的装置,其特征在于所述装置是电视装置。
8.如权利要求1或2所述的装置,其特征在于所述装置是多媒体家庭平台规范顺应的。
9.一种将下载的对象提供给应用程序的方法,所述方法包括:
从接收传输流下载包含应用程序请求的对象的模块;
存储所述下载的模块;
监视所述存储的模块是否为最近的版本;
当所述应用程序请求存储的模块的对象,而所述存储的模块是最近的版本时,将所述存储的模块的所述对象提供给所述应用程序;以及
当所述应用程序请求存储的模块的对象,而所述存储的模块不是最近的版本时,仅复制所述应用程序仍在使用的所述存储的模块的所述对象,下载所述最近版本的所述存储的模块,并用所述下载的最近版本的所述存储的模块来重写所述存储的模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01300430A EP1227667A1 (en) | 2001-01-18 | 2001-01-18 | Method and device for providing downloaded objects to an application |
EP01300430.4 | 2001-01-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1366244A CN1366244A (zh) | 2002-08-28 |
CN1326049C true CN1326049C (zh) | 2007-07-11 |
Family
ID=8181651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021023743A Expired - Fee Related CN1326049C (zh) | 2001-01-18 | 2002-01-18 | 将下载的对象提供给应用程序的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7003783B2 (zh) |
EP (1) | EP1227667A1 (zh) |
JP (1) | JP3889970B2 (zh) |
KR (1) | KR100888355B1 (zh) |
CN (1) | CN1326049C (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1227667A1 (en) * | 2001-01-18 | 2002-07-31 | Sony Service Centre (Europe) N.V. | Method and device for providing downloaded objects to an application |
GB0116497D0 (en) * | 2001-07-06 | 2001-08-29 | Koninkl Philips Electronics Nv | Receiver apparatus and method |
EP1502207A2 (en) * | 2002-01-18 | 2005-02-02 | Idetic, Inc. | A multi-tiered caching mechanism for the storage and retrieval of content multiple versions |
US20040083471A1 (en) * | 2002-10-21 | 2004-04-29 | Lg Electronics Inc. | Method of upgrading system software of a home appliance |
US20040158641A1 (en) * | 2003-02-07 | 2004-08-12 | Christopher Poli | Method and apparatus for conveying network data and quasi-static data using a single data stream filter |
PL358659A1 (en) * | 2003-02-10 | 2004-08-23 | Advanced Digital Broadcast Ltd. | Method for handling reception of round robin transmitted software |
US7624126B2 (en) * | 2003-06-25 | 2009-11-24 | Microsoft Corporation | Registering for and retrieving database table change information that can be used to invalidate cache entries |
EP1521473A3 (en) * | 2003-09-25 | 2007-04-18 | Sharp Kabushiki Kaisha | URI pointer system and method for the carriage of MPEG-4 data in a DVB-MHP MPEG-2 transport stream |
CN1722823A (zh) * | 2004-07-16 | 2006-01-18 | 皇家飞利浦电子股份有限公司 | 一种用于替换交互式应用的方法和装置 |
KR100725387B1 (ko) * | 2004-08-24 | 2007-06-08 | 삼성전자주식회사 | 데이터 방송에서의 전송 코드 세트 시그널링 방법 및 장치 |
EP1829359A1 (en) * | 2004-12-13 | 2007-09-05 | Koninklijke Philips Electronics N.V. | Bypass dsmcc middleware via section filter mechanism |
US9075596B2 (en) | 2005-06-24 | 2015-07-07 | Oracle International Corporation | Deployment |
US9063725B2 (en) | 2005-06-24 | 2015-06-23 | Oracle International Corporation | Portable management |
US9542175B2 (en) * | 2005-06-24 | 2017-01-10 | Oracle International Corporation | Continuous deployment |
US7900213B2 (en) * | 2005-10-04 | 2011-03-01 | International Business Machines Corporation | Generic markup specified object descriptor for a modularized computing application |
US20070250828A1 (en) * | 2005-11-16 | 2007-10-25 | Tseitlin Ariel D | Portable libraries |
US20070226731A1 (en) * | 2005-11-16 | 2007-09-27 | Tseitlin Ariel D | Modularity |
RU2421769C2 (ru) * | 2006-02-06 | 2011-06-20 | Сименс Акциенгезелльшафт | Способ сохранения модуля данных с данными для управления техническим процессом, а также устройство управления и автоматизации |
TWI376144B (en) * | 2007-01-30 | 2012-11-01 | Ind Tech Res Inst | Method of data monitoring and updating for transport stream |
US8418194B2 (en) | 2007-08-31 | 2013-04-09 | Centurylink Intellectual Property Llc | System and method for dynamic bandwidth allocation |
US7925423B2 (en) * | 2007-08-31 | 2011-04-12 | Embarq Holdings Company, Llc | System and method for traffic condition detection |
CN101111032B (zh) * | 2007-08-31 | 2010-12-29 | 中兴通讯股份有限公司 | 下载软件的方法和系统 |
US8819182B2 (en) | 2008-09-24 | 2014-08-26 | Centurylink Intellectual Property Llc | System and method for updating vehicle media content |
US8126450B2 (en) * | 2008-09-24 | 2012-02-28 | Embarq Holdings Company Llc | System and method for key free access to a vehicle |
US8224313B2 (en) | 2008-09-24 | 2012-07-17 | Centurylink Intellectual Property Llc | System and method for controlling vehicle systems from a cell phone |
US20100218180A1 (en) * | 2009-02-23 | 2010-08-26 | Postalguard Ltd. | Method, a system and a computer program product for updating applications using data embedded in downloaded content |
JP6018796B2 (ja) * | 2011-05-19 | 2016-11-02 | 日本放送協会 | 受信機 |
CN104301556B (zh) | 2014-09-26 | 2017-12-29 | 小米科技有限责任公司 | 电话交互方法、装置和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619250A (en) * | 1995-02-19 | 1997-04-08 | Microware Systems Corporation | Operating system for interactive television system set top box utilizing dynamic system upgrades |
CN1277778A (zh) * | 1998-06-12 | 2000-12-20 | 皇家菲利浦电子有限公司 | 传输系统 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
JP3187624B2 (ja) * | 1993-11-19 | 2001-07-11 | 京セラミタ株式会社 | 通信機能を備えた機器の内蔵プログラム更新方法 |
US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
US5635979A (en) * | 1994-05-27 | 1997-06-03 | Bell Atlantic | Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations |
US5764992A (en) * | 1995-06-06 | 1998-06-09 | Apple Computer, Inc. | Method and apparatus for automatic software replacement |
US5864837A (en) * | 1996-06-12 | 1999-01-26 | Unisys Corporation | Methods and apparatus for efficient caching in a distributed environment |
JP3431636B2 (ja) * | 1996-12-09 | 2003-07-28 | サイエンティフィック−アトランタ, インコーポレイテッド | ネットワークサーバからクライアントへのデータ同報通信を指示する階層ファイルシステムの使用 |
US6209127B1 (en) * | 1997-06-05 | 2001-03-27 | Matsushita Electrical Industrial Co., Ltd | Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program |
US6070012A (en) * | 1998-05-22 | 2000-05-30 | Nortel Networks Corporation | Method and apparatus for upgrading software subsystems without interrupting service |
US6148081A (en) * | 1998-05-29 | 2000-11-14 | Opentv, Inc. | Security model for interactive television applications |
US6209128B1 (en) * | 1998-06-05 | 2001-03-27 | International Business Machines Corporation | Apparatus and method for providing access to multiple object versions |
US6141010A (en) * | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
FR2781582B1 (fr) * | 1998-07-21 | 2001-01-12 | Technical Maintenance Corp | Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels |
KR20000021481A (ko) * | 1998-09-29 | 2000-04-25 | 구자홍 | 화상통신기기의 제어 프로그램 업 그레이드 방법 |
US6704933B1 (en) * | 1999-02-03 | 2004-03-09 | Masushita Electric Industrial Co., Ltd. | Program configuration management apparatus |
KR100565577B1 (ko) * | 1999-03-05 | 2006-03-29 | 엘지전자 주식회사 | 방송 상호 프로토콜 메시지 생성 장치 및 그를 이용한 방송 상호프로토콜 메시지 생성 방법 |
JP2000259417A (ja) * | 1999-03-12 | 2000-09-22 | Sony Corp | データ処理装置、データ処理方法及びプログラム提供媒体 |
CN1178508C (zh) * | 1999-06-07 | 2004-12-01 | 松下电器产业株式会社 | 数据收发系统及其方法 |
US6467088B1 (en) * | 1999-06-30 | 2002-10-15 | Koninklijke Philips Electronics N.V. | Reconfiguration manager for controlling upgrades of electronic devices |
US6813778B1 (en) * | 1999-08-16 | 2004-11-02 | General Instruments Corporation | Method and system for downloading and managing the enablement of a list of code objects |
JP3630037B2 (ja) * | 1999-10-06 | 2005-03-16 | 日本電気株式会社 | Dsm−ccカルーセル受信装置及びそれに用いる受信方法並びにその制御プログラムを記録した記録媒体 |
KR100350319B1 (ko) * | 1999-11-30 | 2002-08-28 | 엘지전자 주식회사 | 통신 시스템에서 프로그램 자체 로딩 방법 |
KR100762583B1 (ko) * | 2000-01-26 | 2007-10-01 | 엘지전자 주식회사 | 디지털 방송 수신기의 소프트웨어 업그레이드 방법 및 장치 |
US6629227B1 (en) * | 2000-05-04 | 2003-09-30 | Scientific-Atlanta, Inc. | System and method for a communication terminal to manage memory and maintain a current application version for multiple applications |
EP1227667A1 (en) * | 2001-01-18 | 2002-07-31 | Sony Service Centre (Europe) N.V. | Method and device for providing downloaded objects to an application |
-
2001
- 2001-01-18 EP EP01300430A patent/EP1227667A1/en not_active Withdrawn
-
2002
- 2002-01-16 US US10/052,860 patent/US7003783B2/en not_active Expired - Fee Related
- 2002-01-17 KR KR1020020002661A patent/KR100888355B1/ko not_active IP Right Cessation
- 2002-01-18 JP JP2002010801A patent/JP3889970B2/ja not_active Expired - Fee Related
- 2002-01-18 CN CNB021023743A patent/CN1326049C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619250A (en) * | 1995-02-19 | 1997-04-08 | Microware Systems Corporation | Operating system for interactive television system set top box utilizing dynamic system upgrades |
CN1277778A (zh) * | 1998-06-12 | 2000-12-20 | 皇家菲利浦电子有限公司 | 传输系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20020062184A (ko) | 2002-07-25 |
US7003783B2 (en) | 2006-02-21 |
US20020107995A1 (en) | 2002-08-08 |
KR100888355B1 (ko) | 2009-03-11 |
JP2002314895A (ja) | 2002-10-25 |
EP1227667A1 (en) | 2002-07-31 |
CN1366244A (zh) | 2002-08-28 |
JP3889970B2 (ja) | 2007-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1326049C (zh) | 将下载的对象提供给应用程序的方法和装置 | |
CN100411341C (zh) | 一种并行下载方法和终端 | |
JP4417711B2 (ja) | 受信器装置及び方法 | |
EP0870235B1 (en) | Apparatus and method for preprocessing computer programs prior to transmission across a network | |
US8055496B2 (en) | Ensuring product correctness in a multilingual environment | |
US20060179465A1 (en) | Handling feature availability in a broadcast | |
CN105516079A (zh) | 用于数据包的高效下载的方法、客户端设备和服务器 | |
US20020091816A1 (en) | Broadcast data access system for multimedia clients in a broadcast network architecture | |
US20010049819A1 (en) | Communication system | |
US20010042113A1 (en) | Method of distributing data packets of system software | |
US7213245B2 (en) | Software on demand system | |
JP2002304301A (ja) | ダウンロード装置及びダウンロード方法 | |
US20070116047A1 (en) | Method and apparatus for supporting multi-object transport protocols | |
CN114390044A (zh) | 一种文件上传方法、系统、设备及存储介质 | |
JP2005531846A (ja) | 受信器へのソフトウェアダウンロード | |
KR101591534B1 (ko) | 계층적 트랙커를 이용한 p2p 전송 시스템 및 이를 위한 트랙커 장치 | |
CN106777332A (zh) | 一种Android终端中通过文件标识找到文件所在文件夹的系统及方法 | |
US8321665B2 (en) | Apparatus and method for using contents information in digital rights management | |
US8527484B2 (en) | Accessing a data structure | |
CN110278451B (zh) | 图片在线转码方法、装置及电子设备 | |
KR100557030B1 (ko) | 데이터 방송 시스템의 파일 로딩 방법 및 장치 | |
KR20060115825A (ko) | 네트워크 관리 시스템에서의 메시지 처리 장치 및 방법 | |
CN117492812A (zh) | 用于传输组件的方法、系统及存储介质 | |
CZ2002583A3 (cs) | Způsob a zařízení pro přenos zpráv pro databáze | |
KR20070106829A (ko) | 이동 단말기로의 펌웨어 업데이트 패키지 제공 방법 및시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070711 Termination date: 20100219 |