專(zhuān)利名稱(chēng):將下載的對(duì)象提供給應(yīng)用程序的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于將下載的對(duì)象提供給應(yīng)用程序的方法和裝置,具體地說(shuō),涉及從傳輸流下載信息以便按請(qǐng)求把數(shù)據(jù)對(duì)象提供給應(yīng)用程序。
背景技術(shù):
眾所周知,在傳輸流中傳送數(shù)據(jù)對(duì)象供終端用戶(hù)下載。對(duì)象可包括供終端用戶(hù)使用的任何形式的數(shù)據(jù),并且可以分布式重復(fù)形式傳送,例如,通過(guò)數(shù)據(jù)輪放(data carousel)傳送。數(shù)據(jù)對(duì)象常可以一起被分組為數(shù)據(jù)模塊,這樣,對(duì)于要使用特定對(duì)象的終端用戶(hù)的應(yīng)用程序,要從傳輸流下載包含該對(duì)象的整個(gè)模塊。這些情況下,服務(wù)提供商可以將相關(guān)對(duì)象一起分組在各個(gè)模塊中,這樣,如果終端用戶(hù)存儲(chǔ)下載的模塊,則大大減少了對(duì)相關(guān)對(duì)象的訪問(wèn)時(shí)間。
按照DSM-CC廣播協(xié)議,諸如文件、目錄等的對(duì)象以DSM-CC模塊內(nèi)承載的BIOP消息的形式傳送到終端用戶(hù)的接收機(jī)。這些模塊可通過(guò)輪放被廣播,每個(gè)模塊重新格式化為多個(gè)MPEG段(MPEGsection),這些段以分布形式被廣播供終端用戶(hù)接收并將其重新組合成各個(gè)模塊。
隨著時(shí)間的推移,服務(wù)提供商將更新對(duì)象。在這些情況下,最好是,當(dāng)終端用戶(hù)的應(yīng)用程序請(qǐng)求對(duì)象時(shí),它將收到該對(duì)象的最新版本。然而,如果在更新對(duì)象前,終端用戶(hù)已經(jīng)下載了相應(yīng)的模塊,則將終端用戶(hù)存儲(chǔ)的模塊中包含的舊版本對(duì)象提供給應(yīng)用程序。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是克服所述問(wèn)題。
按照本發(fā)明,提供了一種將下載的對(duì)象提供給應(yīng)用程序的方法,該方法包括從接收傳輸流下載包含了應(yīng)用程序請(qǐng)求的對(duì)象的模塊;存儲(chǔ)下載的模塊;監(jiān)視模塊存儲(chǔ)器中的模塊是否為最近的版本;在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而存儲(chǔ)的模塊是最近的版本時(shí),將存儲(chǔ)的模塊的對(duì)象提供給應(yīng)用程序;以及在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而存儲(chǔ)的模塊不是最近的版本時(shí),僅復(fù)制應(yīng)用程序仍在使用的存儲(chǔ)的模塊的對(duì)象,下載該存儲(chǔ)的模塊的最近版本,并用將該存儲(chǔ)的模塊重寫(xiě)為下載的最近版本的存儲(chǔ)的模塊。
按照本發(fā)明,還提供了一種用于將下載的對(duì)象提供給應(yīng)用程序的裝置,該裝置包括對(duì)象層接口,用于從收到傳輸流下載包含了應(yīng)用程序請(qǐng)求的對(duì)象的模塊;模塊存儲(chǔ)器,用于存儲(chǔ)下載的模塊;以及控制器,用于監(jiān)視存儲(chǔ)器中的模塊是否為最近的版本;其中在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而存儲(chǔ)的模塊是最近的版本時(shí),對(duì)象層接口把模塊存儲(chǔ)器的對(duì)象提供給應(yīng)用程序,并且在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而存儲(chǔ)的模塊不是最近的版本時(shí),對(duì)象層接口下載該模塊的最近版本,并重寫(xiě)模塊存儲(chǔ)器中存儲(chǔ)的模塊;所述裝置還包括對(duì)象高速緩存,用于存儲(chǔ)對(duì)象;其中在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而存儲(chǔ)的模塊不是最近的版本時(shí),在對(duì)象層接口將該存儲(chǔ)的模塊重寫(xiě)為最近版本的存儲(chǔ)的模塊之前,控制器僅將應(yīng)用程序仍在使用的存儲(chǔ)的模塊的對(duì)象復(fù)制到對(duì)象高速緩存。
這樣,在應(yīng)用程序請(qǐng)求對(duì)象時(shí),始終提供有該對(duì)象的最新版本。然而,應(yīng)用程序仍可以繼續(xù)使用以前請(qǐng)求的相同模塊中的任何對(duì)象。
另一方面,在應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而該存儲(chǔ)的模塊不是最近的版本,但包含了所述應(yīng)用程序已在使用的其它對(duì)象時(shí),所述裝置可只下載并存儲(chǔ)所述模塊的新的最近版本,并且是除以前版本的模塊之外又存儲(chǔ)下載的最近版本的模塊。這樣,應(yīng)用程序?qū)⒃L問(wèn)最近版本的新請(qǐng)求對(duì)象,同時(shí)保持與以前請(qǐng)求的對(duì)象的交互作用。然而,此方法非常浪費(fèi)存儲(chǔ)器,特別是在模塊包含了許多對(duì)象而應(yīng)用程序可能只使用存儲(chǔ)的模塊的一個(gè)對(duì)象的情況下。
同樣地,裝置有可能只包括替代模塊存儲(chǔ)器的對(duì)象存儲(chǔ)器,因而它只存儲(chǔ)應(yīng)用程序在使用的對(duì)象。這樣,每當(dāng)應(yīng)用程序請(qǐng)求新對(duì)象時(shí),終端用戶(hù)始終從傳輸流下載對(duì)象,因此始終獲得最近的版本。然而,在相關(guān)對(duì)象一起包含在各個(gè)模塊中時(shí),常常會(huì)從以前存儲(chǔ)的模塊檢索請(qǐng)求對(duì)象,此方法嚴(yán)重限制了訪問(wèn)速度。
因此,本發(fā)明允許以最佳的訪問(wèn)時(shí)間但卻以最低的存儲(chǔ)器要求將對(duì)象提供給應(yīng)用程序。
由于應(yīng)用程序的請(qǐng)求是以這樣的方式被處理,因此應(yīng)用程序本身不需要知道它使用的對(duì)象源。通過(guò)硬件或軟件實(shí)現(xiàn)的對(duì)象層可實(shí)現(xiàn)對(duì)象的透明高速緩存。
最好是,控制器對(duì)傳輸流中有關(guān)傳輸流中傳送的最近版本的模塊的信息進(jìn)行響應(yīng)。
在諸如從DSM-CC輪放廣播的許多系統(tǒng)中,在傳輸流中傳送有關(guān)輪放上模塊更新的信息??刂破骺梢员O(jiān)視此信息,這樣,在應(yīng)用程序請(qǐng)求更新模塊的對(duì)象時(shí),控制器可采取上述定義的步驟。
最好是,控制器按照MHP平臺(tái)的規(guī)范來(lái)監(jiān)視模塊是否為最近的版本。
因此,在按照MHP規(guī)范的廣播環(huán)境中,可提供對(duì)象的透明高速緩存,這樣,始終將最新的對(duì)象提供給應(yīng)用程序。
最好是,對(duì)象為DSM-CC對(duì)象且模塊為DSM-CC模塊。
因此,本發(fā)明可與DSM-CC系統(tǒng)結(jié)合使用。
最好是,通過(guò)復(fù)制對(duì)應(yīng)的BIOP消息,將對(duì)象從模塊存儲(chǔ)器復(fù)制到對(duì)象高速緩存。
由于DSM-CC對(duì)象作為BIOP消息包含在DSM-CC模塊中,因此對(duì)象高速緩存可以按其BIOP消息形式存儲(chǔ)對(duì)象。
最好是,提供至少一個(gè)過(guò)濾器,用于濾出要下載的模塊的傳輸流信息包。
這可以通過(guò)濾出要下載的模塊的段來(lái)實(shí)現(xiàn),例如,MPEG-2段。因此,檢查傳輸流中諸如MPEG信息包的信息包來(lái)確定它們是否涉及要下載的模塊。由段過(guò)濾器從傳輸流復(fù)制所有相關(guān)的信息包,這樣,可以將它們重新裝配以形成模塊。
最好是,裝置為電視裝置。因此,本發(fā)明可實(shí)施在接收其它電視服務(wù)的電視裝置中,諸如實(shí)施在集成電視和機(jī)頂盒中。
最好是,裝置是MHP順應(yīng)的。
可以理解,本發(fā)明可用軟件來(lái)實(shí)現(xiàn)并記錄在存儲(chǔ)媒體上。實(shí)際上,已經(jīng)配置成對(duì)請(qǐng)求對(duì)象的模塊進(jìn)行下載的裝置可由適當(dāng)?shù)膶?duì)象層進(jìn)行補(bǔ)充,這樣,按照本發(fā)明,當(dāng)應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而該存儲(chǔ)的模塊不是最近的版本時(shí),復(fù)制所述應(yīng)用程序仍在使用的所述存儲(chǔ)的模塊的對(duì)象。對(duì)象層提供透明高速緩存,這樣,應(yīng)用程序可以繼續(xù)使用復(fù)制的對(duì)象而無(wú)需了解復(fù)制或存儲(chǔ)器尋址中的變化。
參照附圖,通過(guò)僅以示例方式給出的以下描述,可更好地理解本發(fā)明,附圖中圖1說(shuō)明基于模塊的DSM-CC客戶(hù)棧;圖2示意性說(shuō)明實(shí)施本發(fā)明的裝置;
圖3說(shuō)明實(shí)施本發(fā)明的過(guò)程的流程圖;以及圖4(a)、(b)、(c)和(d)說(shuō)明更新情況。
具體實(shí)施例方式
現(xiàn)將參考用于按照DSM-CC廣播協(xié)議的實(shí)施例來(lái)描述本發(fā)明。然而,可以理解,只要系統(tǒng)中用于終端用戶(hù)應(yīng)用程序的對(duì)象在模決中一起被傳送,本發(fā)明便適用于這樣的系統(tǒng)。
按照DSM-CC廣播協(xié)議,諸如文件和目錄的對(duì)象以BIOP消息的形式被傳送到終端用戶(hù)接收機(jī),它們本身被承載在數(shù)據(jù)輪放模塊中。一個(gè)這樣的模塊可以并且通常包含幾個(gè)BIOP消息。在這方面,服務(wù)提供商通常將相關(guān)BIOP消息一起分組在相同的模塊中。
因此,由于DSM-CC對(duì)象輪放的這種特性,DSM-CC客戶(hù)棧,即在接收機(jī)中實(shí)現(xiàn)的處理下載數(shù)據(jù)的軟件層棧,常常實(shí)現(xiàn)為“基于模塊的”。換而言之,把從接收傳輸流下載的數(shù)據(jù)保持在模塊層,即以接收模塊的形式而不是作為原對(duì)象或BIOP消息來(lái)保持。
通過(guò)將接收數(shù)據(jù)以接收模塊的形式存儲(chǔ)在模塊層,可以提高終端用戶(hù)裝置得到的訪問(wèn)速度。特別是,由于相關(guān)對(duì)象一般一起被分組在相同模塊中,因而最好將整個(gè)模塊保持在存儲(chǔ)器中。這是因?yàn)橐颜?qǐng)求模塊的一個(gè)對(duì)象的用戶(hù)應(yīng)用程序可能請(qǐng)求相同模塊中的其它對(duì)象。如果該模塊保持在存儲(chǔ)器中,則與要從傳輸流進(jìn)行檢索相比,應(yīng)用程序顯然能以更快的速度訪問(wèn)它。
圖1說(shuō)明用于如上所述操作的基于模塊的DSM-CC客戶(hù)棧。
可以運(yùn)行終端用戶(hù)應(yīng)用程序的客戶(hù)層2能夠通過(guò)諸如索引號(hào)碼、數(shù)據(jù)地址等的不透明參考來(lái)請(qǐng)求DSM-CC對(duì)象。
隨后,用戶(hù)到用戶(hù)層4提供所有BIOP消息的高級(jí)表示。此層執(zhí)行客戶(hù)應(yīng)用程序可調(diào)用的所有操作,諸如讀取文件,列出目錄等。它與對(duì)象輪放層連接,以便按照客戶(hù)層中應(yīng)用程序?qū)?duì)象的請(qǐng)求來(lái)請(qǐng)求裝載(或卸載)BIOP消息。
對(duì)象輪放層6維護(hù)所有BIOP消息并向用戶(hù)到用戶(hù)層4提供基本BIOP消息訪問(wèn)例行程序。為了按照客戶(hù)層2中應(yīng)用程序的需要來(lái)獲得適當(dāng)?shù)腂IOP消息,對(duì)象輪放層6與數(shù)據(jù)輪放層8連接,以便請(qǐng)求裝載或關(guān)閉數(shù)據(jù)輪放模塊。
數(shù)據(jù)輪放層8是客戶(hù)棧的最低層,并負(fù)責(zé)裝配數(shù)據(jù)輪放模塊。因此,在需要特定模塊以將請(qǐng)求的對(duì)象提供給客戶(hù)層2中的應(yīng)用程序時(shí),數(shù)據(jù)輪放8設(shè)置適當(dāng)?shù)亩芜^(guò)濾器,以對(duì)承載與所需模塊有關(guān)的DSM-CC消息的MPEG2段進(jìn)行抽取。在不再需要過(guò)濾器時(shí),數(shù)據(jù)輪放層8也可消除過(guò)濾器。
為將某特定對(duì)象提供給應(yīng)用程序而從傳輸流下載模塊時(shí)存儲(chǔ)整個(gè)該模塊的方法可描述為“基于模塊的高速緩存”。在處理動(dòng)態(tài)內(nèi)容,即處理內(nèi)容隨時(shí)間而變的對(duì)象時(shí),此方法產(chǎn)生問(wèn)題。特別是,在應(yīng)用程序請(qǐng)求一個(gè)對(duì)象,而該對(duì)象包含在已經(jīng)可以在裝置的高速緩存中得到的模塊中時(shí),如果該對(duì)象的內(nèi)容易受變化,則無(wú)法保證高速緩存中的對(duì)象為最近的版本。
顯然希望應(yīng)用程序始終接收最新版本的對(duì)象。實(shí)際上,按照MHP規(guī)范,DSM-CC棧必須返回對(duì)應(yīng)于傳輸流中最新可用版本的對(duì)象。這種行為稱(chēng)為“透明高速緩存”。為實(shí)現(xiàn)透明高速緩存,已經(jīng)存儲(chǔ)在高速緩存中的模塊似乎在任一給定時(shí)間點(diǎn)需要從廣播傳輸流重新裝載。在已經(jīng)存在參考該模塊的情況下,問(wèn)題產(chǎn)生,例如客戶(hù)層2的應(yīng)用程序正在使用該模塊的對(duì)象中的至少一個(gè),這些參考必須仍保持有效。因此,如果客戶(hù)層2的應(yīng)用程序正在使用模塊的一個(gè)或多個(gè)對(duì)象,則應(yīng)用程序必須能夠繼續(xù)使用那些沒(méi)有變化的對(duì)象的數(shù)據(jù)。特別是,如果應(yīng)用程序已根據(jù)特定對(duì)象中包含的數(shù)據(jù)正在運(yùn)行,則不允許在應(yīng)用程序執(zhí)行操作的中途改變?cè)摂?shù)據(jù)。因此,當(dāng)從廣播流裝載新版本時(shí)似乎需要保持舊版本的模塊。
通過(guò)使數(shù)據(jù)輪放層8保持幾個(gè)版本的相同模塊,出現(xiàn)了存儲(chǔ)器效率的大量降低問(wèn)題,因?yàn)椴辉谑褂玫倪^(guò)時(shí)對(duì)象數(shù)據(jù)必須毫無(wú)必要地保持在存儲(chǔ)器中。此外,采用這種配置,客戶(hù)棧較低層的復(fù)雜性(數(shù)據(jù)輪放客戶(hù)實(shí)現(xiàn))將需要增加。
另外,DSM-CC客戶(hù)能以基于對(duì)象的方式實(shí)現(xiàn)。換言之,只是高速緩存由客戶(hù)層2中應(yīng)用程序請(qǐng)求的對(duì)象,而不是高速緩存裝載的模塊。這被描述為基于對(duì)象的高速緩存方法。這將易于迎合上述透明高速緩存。然而,由于對(duì)象的所有新參考將需要從廣播流來(lái)下載模塊,因此客戶(hù)層2的應(yīng)用程序的操作將會(huì)慢得多。
圖2以示意性示出可克服這些問(wèn)題的裝置。當(dāng)然,實(shí)際上此裝置可能用軟件實(shí)現(xiàn),具有參照?qǐng)D1所述的客戶(hù)棧的形式。
如下所述的那樣,DSM-CC客戶(hù)實(shí)施為上述兩種高速緩存方法之間的混合。特別是,只要發(fā)現(xiàn)模塊是舊版本,換言之是模塊已過(guò)時(shí),DSM-CC棧便僅復(fù)制需要保持的數(shù)據(jù),即被參考的對(duì)象或者實(shí)際上更可能是BIOP消息,然后釋放該模塊。
按照應(yīng)用程序10對(duì)特定對(duì)象的請(qǐng)求,對(duì)象層接口12搜索模塊存儲(chǔ)器14,查找包含請(qǐng)求對(duì)象的BIOP消息的對(duì)應(yīng)模塊。實(shí)際上,可保持被存儲(chǔ)的以前下載的模塊的記錄。
如果模塊存儲(chǔ)器14中尚未存儲(chǔ)適當(dāng)?shù)哪K,則采取措施從接收廣播傳輸流15來(lái)下載所需數(shù)據(jù)。特別是,可使用一個(gè)或多個(gè)段過(guò)濾器16從流15抽取重構(gòu)所要模塊所需的段。例如,可使用MPEG段過(guò)濾器抽取承載所需DSM-CC模塊的MPEG-2段。
當(dāng)所要的模塊被接收時(shí),由對(duì)象層接口12將該模塊中包含的原請(qǐng)求對(duì)象提供給應(yīng)用程序10。整個(gè)模塊也存儲(chǔ)在模塊存儲(chǔ)器14中。
還提供控制器18??梢岳斫?,這是可包含在裝置的整個(gè)操作中的功能的示意性表示。
控制器18對(duì)廣播傳輸流15中的數(shù)據(jù)反應(yīng)敏感,并確定何時(shí)更新了通過(guò)流15可獲得的模塊。這樣,控制器18可確定存儲(chǔ)在模塊存儲(chǔ)器14中的模塊是最近的版本還是舊版本。如所示的那樣,控制器18直接從廣播傳輸流15得到此版本信息。然而,如上所述,此表示是示意性的,實(shí)際上,此信息可通過(guò)適當(dāng)?shù)亩芜^(guò)濾器來(lái)得到。
下面將更詳細(xì)的討論,當(dāng)控制器確定存儲(chǔ)在模塊存儲(chǔ)器14中的模塊現(xiàn)在可獲得新版本時(shí),它可以開(kāi)始從廣播傳輸流15下載該新版本。一檢測(cè)到新版本或就可以開(kāi)始所述下載,或者一旦對(duì)象層接口12嘗試訪問(wèn)該模塊中包含的對(duì)象便可以開(kāi)始所述下載。
應(yīng)用程序已在使用要更新的模塊中包含的一個(gè)或多個(gè)對(duì)象時(shí),控制器18先將對(duì)象或?qū)?yīng)的BIOP消息復(fù)制到對(duì)象高速緩存20。對(duì)象層接口12被告知此復(fù)制,這樣,應(yīng)用程序可以繼續(xù)使用所述對(duì)象的數(shù)據(jù)而無(wú)需了解數(shù)據(jù)傳送。換言之,對(duì)象層接口可以處理所需的任何重新尋址,這樣,應(yīng)用程序10是從對(duì)象高速緩存20而不是從模塊存儲(chǔ)器14來(lái)檢索數(shù)據(jù)。
這樣,當(dāng)前在使用的所有對(duì)象均保持在對(duì)象高速緩存中,而模塊被更新為新的最近版本,因此,對(duì)包含在這些模塊中的任何對(duì)象的新參考始終是對(duì)最新版本的對(duì)象的參考。
如上所述,一出現(xiàn)新版本的模塊,控制器就可以更新模塊存儲(chǔ)器,或者可以只是在應(yīng)用程序10嘗試參考該模塊中的對(duì)象時(shí)更新該模塊。應(yīng)用程序10已在參考模塊中至少一個(gè)對(duì)象,并因此可能在以后要參考該模塊的其它對(duì)象的情況下,只要可獲得新的版本,便可更新模塊。通過(guò)一可獲得新版本便更新模塊,可能會(huì)減少將來(lái)的訪問(wèn)時(shí)間。另一方面,在一些情況下,每當(dāng)出現(xiàn)新版本便更新模塊可視為毫無(wú)必要的處理,這是因?yàn)閼?yīng)用程序10可能不需要參考該模塊的任何其它對(duì)象。
因此,如果在更新模塊,則仍被打開(kāi)的對(duì)象將在對(duì)象層而不是在模塊層被高速緩存。在給定時(shí)間,只有模塊的最新可獲得版本將保持于系統(tǒng)存儲(chǔ)器中。這意味著只有重要的,即可能有用的數(shù)據(jù)由DSM-CC棧始終保持在高速緩存中。這樣,該機(jī)制組合了基于模塊的高速緩存的速度和基于對(duì)象的高速緩存的存儲(chǔ)器效率??蛻?hù)層2和客戶(hù)層2中的任一應(yīng)用程序10從不直接訪問(wèn)對(duì)象數(shù)據(jù),因?yàn)閷?duì)象或BIOP消息復(fù)制到對(duì)象高速緩存20將改變存儲(chǔ)器中的對(duì)象數(shù)據(jù)位置。對(duì)象層接口12表示的對(duì)象輪放層6提供保證此行為的隔離層。
該過(guò)程在圖3的流程圖中說(shuō)明。
在步驟100中,產(chǎn)生裝載DSM-CC對(duì)象的請(qǐng)求。結(jié)果,在步驟102中為對(duì)應(yīng)于請(qǐng)求DSM-CC對(duì)象的模塊找到模塊參數(shù)。這樣,系統(tǒng)可以保持合適的參數(shù)數(shù)據(jù)庫(kù),以便確定所需模塊。
在步驟104中,確定模塊是否在高速緩存中,例如它是否存儲(chǔ)在模塊存儲(chǔ)器14中。
如果以前尚未下載且因此未存儲(chǔ)模塊,則過(guò)程進(jìn)行到步驟106,在該步驟中,將模塊裝載并存儲(chǔ)在高速緩存中。隨后,在步驟108中,請(qǐng)求DSM-CC對(duì)象的所需數(shù)據(jù)被返回到應(yīng)用程序。
如果在步驟104中,確定所需的模塊不在高速緩存中,則過(guò)程進(jìn)行到步驟110。在此步驟中,確定高速緩存中的所要模決是否為該模塊的最新版本。如果是,則過(guò)程可進(jìn)行到步驟108并將對(duì)象數(shù)據(jù)返回給應(yīng)用程序。
如果步驟110確定高速緩存中的模塊不是最新版本,則過(guò)程進(jìn)行到步驟112。在此步驟中,高速緩存的模塊中包含的所有參考對(duì)象,即應(yīng)用程序已參考的對(duì)象,隨后被保存,例如,將它們復(fù)制到對(duì)象高速緩存20。
然后,在步驟114中,模塊使用的存儲(chǔ)器被釋放,這樣,過(guò)程會(huì)進(jìn)行到步驟106以裝載所需的模塊。
應(yīng)該知道,如上所述,過(guò)程可以另外連續(xù)執(zhí)行步驟110、112、114和106,以確保始終可獲得下載的模塊的最新版本,而不是等待對(duì)模塊對(duì)象的請(qǐng)求。
現(xiàn)在將參照?qǐng)D4(a)到(d)來(lái)描述特定情況。
在此情況中,應(yīng)用程序有對(duì)兩個(gè)對(duì)象的打開(kāi)參考,這兩個(gè)對(duì)象在相同模塊中傳送。兩個(gè)對(duì)象的版本均為N。當(dāng)前可在流上獲得的版本為N+1。然而,此時(shí),應(yīng)用程序不知道這點(diǎn)。
圖4(a)中,說(shuō)明應(yīng)用程序通過(guò)版本為N的所需模塊的BIOP消息1和BIOP消息2來(lái)參考對(duì)象1和對(duì)象2。
圖4(b)中,應(yīng)用程序請(qǐng)求對(duì)象3。此時(shí),數(shù)據(jù)輪放層檢查可在流上獲得的版本,并發(fā)現(xiàn)版本N+1。
如圖4(c)所示,數(shù)據(jù)輪放層通知對(duì)象輪放層可在流上獲得新版本的模塊。對(duì)象輪放層因此從模塊復(fù)制其參考的所有BIOP消息并關(guān)閉所有對(duì)它的訪問(wèn)。
現(xiàn)在可安全地裝載新版本的模塊,并且如圖4(d)所示,在裝載完成時(shí),對(duì)象3現(xiàn)在訪問(wèn)最新的版本,而對(duì)象1和對(duì)象2仍訪問(wèn)以前的版本。
權(quán)利要求
1.一種用于把下載對(duì)象提供給應(yīng)用程序的裝置,所述裝置包括對(duì)象層接口,用于從接收傳輸流下載包含應(yīng)用程序請(qǐng)求的對(duì)象的模塊;模塊存儲(chǔ)器,用于存儲(chǔ)下載的模塊;以及控制器,用于監(jiān)視所述模塊存儲(chǔ)器中的所述模塊是否為最近的版本;其中當(dāng)所述應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而所述存儲(chǔ)的模塊是最近的版本時(shí),所述對(duì)象層接口將所述模塊存儲(chǔ)器的所述對(duì)象提供給所述應(yīng)用程序,并且當(dāng)所述應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而所述存儲(chǔ)的模塊不是最近的版本時(shí),所述對(duì)象層接口下載所述最近的版本的所述模塊,并重寫(xiě)所述模塊存儲(chǔ)器中存儲(chǔ)的所述模塊;所述裝置還包括對(duì)象高速緩存,用于存儲(chǔ)對(duì)象;其中當(dāng)所述應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊中包含的對(duì)象,而所述存儲(chǔ)的模塊不是所述最近的版本時(shí),在所述對(duì)象層接口用所述最近的版本的所述存儲(chǔ)的模塊來(lái)重寫(xiě)所述存儲(chǔ)的模塊之前,所述控制器僅將所述應(yīng)用程序仍在使用的所述存儲(chǔ)的模塊的所述對(duì)象復(fù)制到所述對(duì)象高速緩存。
2.如權(quán)利要求1所述的裝置,其特征在于所述控制器對(duì)所述傳輸流中有關(guān)所述傳輸流中傳送的所述最近版本的所述模塊的信息進(jìn)行響應(yīng)。
3.如權(quán)利要求1或2所述的裝置,其特征在于所述控制器按照MHP平臺(tái)規(guī)范來(lái)監(jiān)視模塊是否為所述最近版本。
4.如權(quán)利要求1、2或3所述的裝置,其特征在于所述對(duì)象是DSM-CC對(duì)象,并且所述模塊是DSM-CC模塊。
5.如權(quán)利要求4所述的裝置,其特征在于通過(guò)復(fù)制對(duì)應(yīng)的BIOP消息來(lái)把所述對(duì)象從所述模塊存儲(chǔ)器復(fù)制到所述對(duì)象高速緩存。
6.如前述任一權(quán)利要求所述的裝置,其特征在于還包括至少一個(gè)過(guò)濾器,用于從所述傳輸流濾出要下載的模塊的信息包。
7.如前述任一權(quán)利要求所述的裝置,其特征在于所述裝置是電視裝置。
8.如前述任一權(quán)利要求所述的裝置,其特征在于所述裝置MHP順應(yīng)的。
9.一種將下載的對(duì)象提供給應(yīng)用程序的方法,所述方法包括從接收傳輸流下載包含應(yīng)用程序請(qǐng)求的對(duì)象的模塊;存儲(chǔ)所述下載的模塊;監(jiān)視所述存儲(chǔ)的模塊是否為最近的版本;當(dāng)所述應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而所述存儲(chǔ)的模塊是最近的版本時(shí),將所述存儲(chǔ)的模塊的所述對(duì)象提供給所述應(yīng)用程序;以及當(dāng)所述應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而所述存儲(chǔ)的模塊不是最近的版本時(shí),僅復(fù)制所述應(yīng)用程序仍在使用的所述存儲(chǔ)的模塊的所述對(duì)象,下載所述最近版本的所述存儲(chǔ)的模塊,并用所述下載的最近版本的所述存儲(chǔ)的模塊來(lái)重寫(xiě)所述存儲(chǔ)的模塊。
10.一種其上記錄有代碼成分的計(jì)算機(jī)可讀存儲(chǔ)媒體,當(dāng)所述代碼成分裝載到計(jì)算機(jī)中并被執(zhí)行時(shí),所述代碼成分將使所述計(jì)算機(jī)按照前述任一權(quán)利要求進(jìn)行操作。
全文摘要
一種用于將下載的對(duì)象提供給應(yīng)用程序的方法和裝置,包括從接收傳輸流下載包含應(yīng)用程序請(qǐng)求的對(duì)象的模塊;存儲(chǔ)下載的模塊;監(jiān)視存儲(chǔ)的模塊是否為最近的版本;當(dāng)應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而存儲(chǔ)的模塊是最近的版本時(shí),將存儲(chǔ)的模塊的對(duì)象提供給應(yīng)用程序;以及當(dāng)應(yīng)用程序請(qǐng)求存儲(chǔ)的模塊的對(duì)象,而存儲(chǔ)的模塊不是最近的版本時(shí),僅復(fù)制應(yīng)用程序仍在使用的被存儲(chǔ)模塊的對(duì)象,下載最近版本的被存儲(chǔ)模塊,并用下載的最近版本的被存儲(chǔ)模塊來(lái)重寫(xiě)所述被存儲(chǔ)模塊。
文檔編號(hào)H04N7/16GK1366244SQ0210237
公開(kāi)日2002年8月28日 申請(qǐng)日期2002年1月18日 優(yōu)先權(quán)日2001年1月18日
發(fā)明者L·斯卡林格, O·蒂里 申請(qǐng)人:索尼服務(wù)中心(歐洲)股份有限公司