專利名稱:在基于推送的網(wǎng)絡(luò)上動態(tài)裝載程序代碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及到單向通信鏈路上推送程序代碼,更具體地,涉及到在單向通信鏈路上推送動態(tài)可裝載的程序代碼,例如面向?qū)ο箢惗x等。
背景技術(shù):
圖1圖解了用于把數(shù)據(jù)推送到接收計算設(shè)備的現(xiàn)有一般技術(shù)的硬件環(huán)境。
如圖所示,有數(shù)據(jù)推送設(shè)備100(諸如一個或多個網(wǎng)絡(luò)服務(wù)器或其它計算設(shè)備等)把數(shù)據(jù)推送到網(wǎng)絡(luò)102。該數(shù)據(jù)推送設(shè)備負(fù)責(zé)產(chǎn)生或者轉(zhuǎn)發(fā)最后由接收計算設(shè)備104接收的數(shù)據(jù)。該網(wǎng)絡(luò)可以是常規(guī)的和專用網(wǎng)絡(luò)(例如企業(yè)內(nèi)部網(wǎng)或互聯(lián)網(wǎng)等)的任意組合。
接收計算設(shè)備也和網(wǎng)絡(luò)通信,它接收被推送的數(shù)據(jù)。各種用于接收推送數(shù)據(jù)的協(xié)議在本領(lǐng)域中是公知的。例如,見加州圣地亞哥的通過入口點(diǎn)的點(diǎn)播系統(tǒng)(PointCast system by EntryPoint)。通常,接收計算設(shè)備104在特定的數(shù)據(jù)信道上偵聽數(shù)據(jù)推送設(shè)備100推送的數(shù)據(jù),例如在傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)網(wǎng)絡(luò)端口、廣播信道、頻率范圍等。
通過參照后面對本發(fā)明的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將變得非常明顯,在所述描述中圖1圖解了用于把數(shù)據(jù)推送到接收計算設(shè)備的現(xiàn)有一般技術(shù)的硬件環(huán)境。
圖2圖解了圖1推送環(huán)境的變型,其中的網(wǎng)絡(luò)包括無線網(wǎng)。
圖3是根據(jù)本發(fā)明一個實(shí)施例在單向通信鏈路上推送程序代碼的流程圖。
圖4圖解了接收根據(jù)圖3實(shí)施例的推送數(shù)據(jù)的接收機(jī)。
圖5圖解了使用推送的動態(tài)可裝載數(shù)據(jù)來促進(jìn)按每次使用付費(fèi)(pay-per-use)的環(huán)境。
圖6圖解了一個合適的計算環(huán)境,本發(fā)明的特定方面可以在其中買現(xiàn)。
具體實(shí)施例方式
現(xiàn)代的編程語言提供了動態(tài)可裝載的或模塊化的程序代碼。例如,面向?qū)ο缶幊?OOP)環(huán)境是這樣一個環(huán)境,編程人員不僅在其中定義數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)類型,還定義可以應(yīng)用于該數(shù)據(jù)結(jié)構(gòu)的運(yùn)算類型(例如,函數(shù)/過程)。類的數(shù)據(jù)結(jié)構(gòu)變成了包括數(shù)據(jù)和函數(shù)/過程的對象?!邦悺笔沁@樣的對象的種類,并且在現(xiàn)代OOP環(huán)境中,為了避免不必要的資源消耗,類可以動態(tài)裝載和卸載從而保存資源。
正如下面將討論的,動態(tài)裝載可以在網(wǎng)絡(luò)環(huán)境的推送類型上被實(shí)現(xiàn)。例如,類的標(biāo)識數(shù)據(jù)可以根據(jù)服務(wù)廣告協(xié)議(SAP)/會話描述協(xié)議(SDP)協(xié)議來通告,并且類定義也相應(yīng)地廣播??蛇x地,可以定義包含用于類定義的標(biāo)識數(shù)據(jù)的清單(manifest),以及指示第二次推送什么時候開始的時間表,它包含用于標(biāo)識類的實(shí)際程序代碼。然后,編程環(huán)境和/或應(yīng)用程序可以使用自定義類裝載器來在需要的時候集成推送類。
在本說明書和隨后的權(quán)利要求中,術(shù)語清單打算包括清單的傳送或者其內(nèi)容通告的SAP/SDP類型。
圖2圖解了圖1推送環(huán)境的變型,其中的網(wǎng)絡(luò)102包括無線網(wǎng)。無線網(wǎng)包括包含無線LAN橋/路由器、藍(lán)牙(3Com、愛立信、Intel、IBM、朗訊、微軟、摩托羅拉、諾基亞和東芝發(fā)起的一個標(biāo)準(zhǔn))等的短距離無線網(wǎng)和諸如微波系統(tǒng)、衛(wèi)星系統(tǒng)、蜂窩通信系統(tǒng)、電視發(fā)送塔等的長距離無線網(wǎng)。
在一個實(shí)施例中,無線發(fā)射機(jī)包含發(fā)射塔204和接收機(jī)(例如機(jī)頂盒208、個人數(shù)字助理、便攜式計算機(jī)、手持計算機(jī)、無線設(shè)備或其它接收設(shè)備等)之間的一個完整的傳輸數(shù)據(jù)路徑。在另一個實(shí)施例中,在被機(jī)頂盒208接收之前,無線信號部分在物理介質(zhì)上運(yùn)載,例如在電線、光纖或其它介質(zhì)上。網(wǎng)絡(luò)206可以完全無線或不完全無線。
假設(shè)無線傳送是音頻和/或可視信號(例如電視信號),發(fā)射設(shè)備200(可以是計算機(jī)或其它提供電視信號的設(shè)備)發(fā)送多個電視數(shù)據(jù)流到復(fù)用器202。例如,在數(shù)字電視中,運(yùn)動圖像專家組(MPEG)-2數(shù)據(jù)傳輸流將從復(fù)用器發(fā)射。傳輸流包括音頻、視頻和/或被復(fù)用并由包標(biāo)識符(PID)標(biāo)記的其它“數(shù)據(jù)”的多個基本流。在美國先進(jìn)電視系統(tǒng)委員會(ATSC)數(shù)字電視標(biāo)準(zhǔn)下,單個“信道”被分配了19.2Mbps的帶寬。單個電視節(jié)目通常包括用于視頻并且每個都支持音頻語言的基本數(shù)據(jù)流。使用數(shù)據(jù)壓縮,節(jié)目可能沒消耗完信道所有的可用帶寬,所以,該節(jié)目可能變?yōu)榍度氲椒峙浣o廣播公司的物理頻譜中幾個“虛擬信道”中的一個。
該復(fù)用器把多個數(shù)據(jù)流組合為由塔204發(fā)送的單獨(dú)一個傳送。此傳送在網(wǎng)絡(luò)206上發(fā)送,并由諸如有線電視解碼盒、具有電視解碼器的計算機(jī)設(shè)備、或其它可感知電視的設(shè)備等的機(jī)頂盒208接收。
圖3是根據(jù)本發(fā)明一個實(shí)施例在單向通信鏈路(如圖1或圖2圖示的)上推送程序代碼(例如動態(tài)可裝載程序代碼等)的流程圖。
該單向通信鏈路可以是物理上單向的,如在源自廣播塔的傳送中,或者邏輯上是單向的,如在單向通信協(xié)議中。這里假設(shè)把Java類的編程代碼推送到接收機(jī)。然而,這里公開的原理和技術(shù)也可等效地應(yīng)用于對象C、C++、SmallTalk、Modula-3組件對象模型(COM)以及其它面向?qū)ο缶幊陶Z言和環(huán)境,并且本發(fā)明不限于此方面。本領(lǐng)域一個技術(shù)人員將會理解,除了類,其它數(shù)據(jù)結(jié)構(gòu)也可以被推送。例如,可以使用包含已知的入口點(diǎn)和結(jié)構(gòu)的動態(tài)鏈接庫(DLL)或者等價物。
在諸如Java的面向?qū)ο缶幊汰h(huán)境中,類封裝數(shù)據(jù)、方法和過程,該方法和過程對輸入到該類的實(shí)例的數(shù)據(jù)進(jìn)行運(yùn)算并產(chǎn)生正確輸出。為了解決特定的問題,類通常收集到庫中。Java庫被稱為“Java文檔”或JAR文件。為了最小化存儲器需求并推動更動態(tài)的編程模型,Java執(zhí)行環(huán)境推遲將類載入到系統(tǒng)存儲器中,直到正在執(zhí)行的應(yīng)用程序使用該類為止。
當(dāng)類被引用時,如果它還沒有被裝載,就動態(tài)裝載它并使它對正在執(zhí)行的程序可用。裝載需要在一個或幾個標(biāo)準(zhǔn)位置搜索引用類,例如定位JAR文件或類定義的其它存儲器。在Java中,稱為“CLASSPATH”的環(huán)境變量(或等同物)被希望存在并指示定位類定義的搜索路徑。例如,CLASSPATH可以指向包含類定義和/或JAR文件的目錄/文件夾,或者直接引用其中存儲文檔的數(shù)據(jù)文件。如果在搜索了CLASSPATH環(huán)境以后類還不能被找到并被裝載,那么裝載失敗并且應(yīng)用程序中的相應(yīng)調(diào)用失敗。
因此,在一個實(shí)施例中,為了在推送類型網(wǎng)絡(luò)環(huán)境上裝載動態(tài)可裝載程序代碼,首先對應(yīng)于動態(tài)可裝載代碼準(zhǔn)備300清單。該清單包括標(biāo)識類定義的標(biāo)識符302,因此類可以在應(yīng)用程序執(zhí)行過程中正確地裝載。在Java中,類定義標(biāo)識符包括后面跟隨著相關(guān)類名的包名。例如,“String”類是“Java.lang”包的一部分,因此它被正確地標(biāo)識為“Java.lang.String”。其它編程環(huán)境可能使用其它標(biāo)識數(shù)據(jù),例如類名,和/或該類的全局唯一標(biāo)識符(GUID),和/或類上下文,和/或類相關(guān)等。
在一個實(shí)施例中,該清單進(jìn)一步包括推送時間表304或可用性時間表,它們指示清單中引用的類定義什么時候被推送到單向通信鏈路。在這個實(shí)施例中,如果類定義在幾個單向通信通路中的一個上接收,則該清單還可能包括檢索源306。其它相關(guān)數(shù)據(jù)308可能也存儲在該清單中從而方便選擇路由、驗(yàn)證、記帳或證明相關(guān)交易。
在另一個實(shí)施例中,不使用清單,而是把它的內(nèi)容直接在單向通信鏈路上傳送。在這個實(shí)施例中,可能使用SAP/SDP或等價物來廣播通告消息,它指示會話的標(biāo)識符和描述(例如標(biāo)識要被推送的動態(tài)可裝載程序代碼的數(shù)據(jù))、檢索代碼的位置(例如該會話的多播地址/端口)以及代碼什么時候被推送的時間表。
在清單被創(chuàng)建以后,它被推送310到單向通信鏈路。然后,根據(jù)推送時間表,清單引用的動態(tài)可裝載代碼(例如類)被推送312到單向通信鏈路。
圖4圖解了接收根據(jù)圖3實(shí)施例的推送數(shù)據(jù)的接收機(jī)。如圖所示,接收機(jī)偵聽400和接收402推送的清單。該清單被進(jìn)行語法分析404從而確定406用于在該清單中引用的動態(tài)可裝載代碼的標(biāo)識符。這些標(biāo)識符存儲408在本地存儲器中,例如易失性和非易失性存儲器。正如上面所討論的,該清單內(nèi)容可能直接使用SAP/SDP類型通告?zhèn)魉停谶@種情況下,接收機(jī)偵聽通告從而確定用于動態(tài)可裝載代碼的標(biāo)識符。
Java應(yīng)用程序可以執(zhí)行410。當(dāng)它第一次應(yīng)用412類時,可以執(zhí)行搜索414來定位該類,例如搜索CLASSPATH環(huán)境。假設(shè)搜索CLASSPATH失敗,可能執(zhí)行搜索416以便在存儲408在本地存儲器上的推送的類標(biāo)識符中定位該類。如果正確的類標(biāo)識符被定位,就可以檢查418對應(yīng)于該標(biāo)識符的時間表。然后,動態(tài)可裝載編程代碼(例如Java類文件)可以根據(jù)時間表在單向通信鏈路上檢索420。如果使用了SAP/SDP類型廣播,則動態(tài)可裝載編程代碼可以從會話通告中指示的多播地址/端口中檢索。
在一個實(shí)施例中,被檢索的動態(tài)可裝載代碼可以加到已存的CLASSPATH環(huán)境中,從而可以避免將來使用該檢索的代碼的延時。在一個實(shí)施例中,CLASSPATH包括易失性和非易失性存儲器的組合。在這個實(shí)施例中,標(biāo)準(zhǔn)類可以存儲在非易失性存儲器中,例如(可擦除)可編程只讀存儲器(PROM)、非易失性隨機(jī)存取存儲器(NVRAM)、互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)、硬盤、記憶棒等。但是,檢索的代碼可以存儲在易失性存儲器中,例如,隨機(jī)存取存儲器(RAM)。
因此,例如便攜式電子設(shè)備、機(jī)頂盒或其它沒有配置大容量存儲設(shè)備的電子設(shè)備可以和標(biāo)準(zhǔn)類定義一起運(yùn)送,并且在應(yīng)用程序執(zhí)行過程中在需要的時候再臨時獲取附加類。
在檢索420以后,按照與使用的程序語言環(huán)境所慣常的方式,動態(tài)可裝載代碼被應(yīng)用程序裝載422從而執(zhí)行424。注意,裝載422可以與導(dǎo)致檢索的應(yīng)用程序執(zhí)行異步實(shí)施。
此外,根據(jù)接收機(jī)環(huán)境配置,檢索和裝載可以由操作系統(tǒng)、編程環(huán)境或應(yīng)用程序透明地執(zhí)行。例如,Java運(yùn)行環(huán)境可能確定需要從單向通信鏈路檢索420類,然后在應(yīng)用程序不知道該檢索過程的情況下就裝載類422。
圖5圖解了使用推送的動態(tài)可裝載數(shù)據(jù)從而促進(jìn)按每次使用付費(fèi)的環(huán)境。典型的按每次使用付費(fèi)的環(huán)境包括電視、電話或計算機(jī)網(wǎng)絡(luò)廣播系統(tǒng),其中,一個或多個“額外的(premium)”數(shù)據(jù)信道被加密并傳送到接收機(jī),并且該接收機(jī)在沒有獲得解密能力時不能使用已加密的數(shù)據(jù)。
在這個圖示的實(shí)施例中,上面討論的推送清單包括允許接收設(shè)備永久性或暫時獲得加密能力的解密類的標(biāo)識符。解密能力可用的期間可以在清單中指定或者由本地和/或遠(yuǎn)程規(guī)則規(guī)定。在一個實(shí)施例中,通過在易失性存儲器中存儲解密類實(shí)現(xiàn)暫時加密,當(dāng)接收設(shè)備重啟、動力循環(huán)等時,解密類被清除。也可以根據(jù)諸如每小時、每天、每周等清除時間表進(jìn)行清除,或者根據(jù)清單中指示的時間表進(jìn)行清除,例如,在使用了特定數(shù)目的次數(shù)以后、或者在首次使用的一段時間以后自動清除。
因此,諸如機(jī)頂盒或便攜式電子接收機(jī)(例如便攜式電視、個人數(shù)字助理、蜂窩電話、便攜式計算機(jī)、無線設(shè)備等)等計算設(shè)備執(zhí)行500控制程序,例如操作系統(tǒng)或應(yīng)用程序等。該控制程序接收502一個清單,該清單包括標(biāo)識符和用于解密類的推送時間表,還包括指示與通過解密類來獲取額外數(shù)據(jù)相關(guān)的成本的購買數(shù)據(jù)。該設(shè)備的用戶根據(jù)該購買數(shù)據(jù)來選擇504希望購買的額外數(shù)據(jù),例如通過圖形用戶界面、在計算設(shè)備上的按鈕選擇等方式來指示。在響應(yīng)中,根據(jù)清單中的購買數(shù)據(jù),發(fā)生506正確的購買交易。
注意,購買交易打算包括使用第三方處理和/或記帳裝置的購買協(xié)議。因?yàn)橥ㄐ沛溌肥菃蜗虻?,所以假設(shè)存在替換通信裝置來實(shí)現(xiàn)付費(fèi)。例如,計算設(shè)備可以有一個與電話服務(wù)通信的內(nèi)部調(diào)制解調(diào)器,有一個與網(wǎng)絡(luò)通信的網(wǎng)絡(luò)接口,或者有其它的通信路徑。購買可以立即完成或者在延時的基礎(chǔ)上執(zhí)行,例如,計算設(shè)備接收購買的選擇504,并在付費(fèi)最后為保密的假設(shè)基礎(chǔ)上執(zhí)行解密。延時的付費(fèi)促進(jìn)了間歇連接到替換通信裝置的便攜式接收機(jī)的使用。
在購買交易506之后,根據(jù)推送時間表,計算設(shè)備從單向通信鏈路中檢索508正確的解密類。該解密類可以如清單所指示地安裝516,例如,它可以永久性地或者暫時地安裝。在Java類型的執(zhí)行環(huán)境中,解密類在CLASSPATH環(huán)境中安裝。該解密類然后由控制程序執(zhí)行512從而解密期望數(shù)據(jù)。
在一個實(shí)施例中,為了防止盜竊解密類的行為,解密類本身用公用密鑰密碼系統(tǒng)中的公用/私有密鑰對中的私有密鑰進(jìn)行編碼。通信設(shè)備可以配置為包含該對的公用密鑰,并且該通信設(shè)備僅在購買交易506后使用公用密鑰來解密解密類。按照這樣的方式,解密類可以盲推送到?jīng)]有加密的單向通信鏈路上而不需考慮對服務(wù)的違法盜竊。
圖6和隨后的討論打算提供一個對合適計算環(huán)境的簡單的概要描述,在該計算環(huán)境中可以實(shí)現(xiàn)圖解發(fā)明的特定方面。
實(shí)現(xiàn)本發(fā)明的示范系統(tǒng)包括計算設(shè)備600,它具有用于耦合各種計算設(shè)備組件的系統(tǒng)總線602。通常,連接到該總線是不可編程的以及可編程的處理器604、存儲器606(例如RAM、ROM)、存儲設(shè)備608、視頻接口610和輸入/輸出接口端口612。存儲設(shè)備包括硬盤、軟盤、光存儲器、磁帶、錄音帶、閃存卡、記憶棒、數(shù)字視頻碟等。
可以通過參照不同的高級程序模塊和/或低級硬件關(guān)聯(lián)來描述本發(fā)明。本領(lǐng)域那些技術(shù)人員將會意識到,程序模塊可以與低級的硬件指令互換。程序模塊包括執(zhí)行特定任何任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的過程、函數(shù)、程序、組件、數(shù)據(jù)結(jié)構(gòu)等。模塊可以結(jié)合到單處理器和多處理器計算設(shè)備、個人數(shù)字助理(PDA)、蜂窩電話、便攜式計算機(jī)、手持計算機(jī)、無線設(shè)備等中去。因此,存儲系統(tǒng)和相關(guān)介質(zhì)能夠?yàn)橛嬎阍O(shè)備存儲數(shù)據(jù)和可執(zhí)行指令。
計算設(shè)備期望運(yùn)行在通過網(wǎng)絡(luò)接口618、調(diào)制解調(diào)器620或其它通信路徑使用邏輯連接連接到一個或多個遠(yuǎn)程計算設(shè)備614、616的網(wǎng)絡(luò)環(huán)境中。計算設(shè)備可以通過諸如企業(yè)內(nèi)部網(wǎng)、因特網(wǎng)或其它網(wǎng)絡(luò)等網(wǎng)絡(luò)622進(jìn)行互聯(lián)。模塊可以實(shí)現(xiàn)在單個計算設(shè)備內(nèi),或者在分布式網(wǎng)絡(luò)環(huán)境中處理,以及存儲在本地和遠(yuǎn)程存儲器中。因此,例如,關(guān)于圖解的實(shí)施例,假設(shè)計算設(shè)備600是推送動態(tài)可裝載程序代碼的發(fā)送機(jī),那么,遠(yuǎn)程設(shè)備614和616可以分別是該推送代碼的機(jī)頂盒和便攜式無線接收機(jī)。
可以理解,遠(yuǎn)程計算設(shè)備614和616可以像計算設(shè)備600一樣配置,并因而包括許多或所有的對計算設(shè)備討論的元件。還應(yīng)該這樣理解,計算設(shè)備600、614和616可以在單獨(dú)一個設(shè)備中實(shí)施,或者在獨(dú)立的通信耦合組件中實(shí)施,并且包括或者實(shí)現(xiàn)在采用諸如超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)等網(wǎng)絡(luò)應(yīng)用協(xié)議的路由器、網(wǎng)橋、對等設(shè)備、web服務(wù)器和應(yīng)用程序中。
參照圖解的實(shí)施例,已經(jīng)描述和說明了本發(fā)明的原理,應(yīng)該認(rèn)識到,在不偏離這樣的原理的情況下,圖解的實(shí)施例可以排列和細(xì)節(jié)上作些修改。
并且,雖然前述討論集中在特定實(shí)施例上,但是應(yīng)該理解,其它配置也應(yīng)考慮在內(nèi)。特別地,即使在此使用諸如“在一個實(shí)施例中”、“在另一實(shí)施例中”等表達(dá)方式,這些短語通常用來指實(shí)施可能性,而不是打算把本發(fā)明限制在特定的實(shí)施例配置。如這里所用的,這些術(shù)語可以指相同的或不同的實(shí)施例,除非含蓄地或明白地指出,否則,實(shí)施例可以組合到其它實(shí)施例。因此,考慮到對上述實(shí)施例大范圍替換,詳細(xì)的描述僅僅打算用于解釋說明,而不應(yīng)該看作限制本發(fā)明的范圍。
因此,請求專利保護(hù)的是在隨后權(quán)利要求書和等價物的范圍和精神范圍內(nèi)的所有這些修改。
權(quán)利要求
1.一種方法,包括確定是否是動態(tài)可裝載代碼的標(biāo)識符;把該標(biāo)識符推送到單向通信鏈路上;確定是否是動態(tài)可裝載代碼的可用性時間表;把該可用性時間表推送到單向通信鏈路上;和根據(jù)該可用性時間表把該動態(tài)可裝載代碼推送到單向通信鏈路上。
2.如權(quán)利要求1的方法,還包括其中,所述動態(tài)可裝載代碼包括使用面向?qū)ο缶幊陶Z言的類定義;和其中,所述標(biāo)識符標(biāo)識該類定義。
3.如權(quán)利要求1的方法,其中,所述單向通信鏈路是從電視數(shù)據(jù)傳送、MPEG-2傳輸流和IP多播中選定的一個。
4.如權(quán)利要求1的方法,還包括使用從機(jī)頂盒、個人數(shù)字助理、便攜式計算機(jī)、手持計算機(jī)和無線設(shè)備中選定的一個在單向通信鏈路上接收數(shù)據(jù)。
5.如權(quán)利要求1的方法,還包括在所述單向通信鏈路上接收所述標(biāo)識符和可用性時間表;和根據(jù)該可用性時間表從所述通信鏈路檢索所述動態(tài)可裝載代碼。
6.如權(quán)利要求5的方法,還包括確定對于執(zhí)行應(yīng)用程序是否需要所述動態(tài)可裝載代碼;和執(zhí)行響應(yīng)于所述確定的所述檢索。
7.一種設(shè)備,包括提供指令的機(jī)器可存取介質(zhì),當(dāng)被機(jī)器執(zhí)行時,該指令能夠指導(dǎo)機(jī)器執(zhí)行權(quán)利要求1的操作。
8.如權(quán)利要求7的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行權(quán)利要求2的操作的指令。
9.如權(quán)利要求7的設(shè)備,其中,單向通信鏈路是從電視數(shù)據(jù)傳送、MPEG-2傳輸流和IP多播中選定的一個。
10.如權(quán)利要求7的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行權(quán)利要求4的操作的指令。
11.如權(quán)利要求7的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行權(quán)利要求5的操作的指令。
12.如權(quán)利要求11的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行權(quán)利要求6的操作的指令。
13.一種方法,包括準(zhǔn)備動態(tài)可裝載代碼的清單,所述清單包括動態(tài)可裝載代碼的標(biāo)識符以及可用性時間表;把該清單推送到單向通信鏈路上去;和根據(jù)該可用性時間表把該動態(tài)可裝載代碼推送到所述單向通信鏈路上。
14.如權(quán)利要求13的方法,還包括其中,所述動態(tài)可裝載代碼包括以面向?qū)ο缶幊陶Z言編寫的類定義;和其中,所述標(biāo)識符標(biāo)識該類定義。
15.如權(quán)利要求13的方法,其中,所動態(tài)可裝載代碼是用從Java、對象C、C++、SmallTalk、Modula-3、組件對象模型和面向?qū)ο竽_本語言中選定的一個寫的。
16.如權(quán)利要求13的方法,其中,所述單向通信鏈路是從電視數(shù)據(jù)傳送、MPEG-2傳輸流和IP多播中選定的一個。
17.如權(quán)利要求13的方法,還包括使用從機(jī)頂盒、個人數(shù)字助理、便攜式計算機(jī)、手持計算機(jī)和無線設(shè)備中選定的一個接收單向通信鏈路。
18.如權(quán)利要求13的方法,還包括在所述單向通信鏈路上接收清單;記錄所述標(biāo)識符和可用性時間表;和當(dāng)動態(tài)可裝載代碼被推送到所述通信鏈路上時,根據(jù)該可用性時間表檢索所述動態(tài)可裝載代碼。
19.如權(quán)利要求14的方法,還包括確定對于執(zhí)行應(yīng)用程序是否需要所述動態(tài)可裝載代碼;和執(zhí)行響應(yīng)所述確定的所述檢索。
20.一種用于反映Java類型文檔文件的方法,包括準(zhǔn)備Java類型文檔文件的清單,所述清單包括用于Java類型文檔文件對象的標(biāo)識符以及用于所述對象的可用性時間表;將該清單推送到單向通信鏈路上去;和根據(jù)可用性時間表將Java類型文檔文件的所述對象推送到單向通信鏈路上去。
21.如權(quán)利要求20的方法,還包括執(zhí)行編程代碼;確定對于所述執(zhí)行是否需要不可用的對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;和在單向通信鏈路上接收所述需要的對象。
22.如權(quán)利要求21的方法,還包括在安置在設(shè)備中的暫時存儲位置中存儲所述接收的對象;其中,重置該設(shè)備會導(dǎo)致所述接收的對象被丟棄。
23.如權(quán)利要求20的方法,其中,Java類型文檔文件的清單包括用于Java類型文檔文件的所述對象的購買數(shù)據(jù),所述方法還包括標(biāo)識執(zhí)行程序所需的不可用的對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;在單向通信鏈路上接收所述需要的對象;和根據(jù)所述購買數(shù)據(jù)購買所述需要的對象。
24.一種用于在只推送網(wǎng)絡(luò)上獲取動態(tài)可裝載代碼的方法,包括在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼的清單,所述清單包括用于動態(tài)可裝載代碼的標(biāo)識符和可用性時間表;和根據(jù)該可用性時間表,在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼。
25.如權(quán)利要求24的方法,其中,動態(tài)可裝載代碼包括從一個單獨(dú)的面向?qū)ο蟮膶ο?、多個面向?qū)ο蟮膶ο蠖x以及動態(tài)鏈接庫(DLL)中選定的一個。
26.如權(quán)利要求24的方法,還包括確定應(yīng)用程序是否需要動態(tài)可裝載代碼;和確定該清單是否包括對應(yīng)于所述動態(tài)可裝載代碼的標(biāo)識符。
27.如權(quán)利要求26的方法,還包括在CLASSPATH環(huán)境中檢查包含所述需要的動態(tài)可裝載代碼的類;和確定所述需要的動態(tài)可裝載代碼是否是不可用的。
28.如權(quán)利要求27的方法,還包括向該CLASSPATH環(huán)境添加所述接收到的動態(tài)可裝載代碼。
29.如權(quán)利要求24的方法,其中,動態(tài)可裝載代碼包括Java類型的編程語言類,所述方法還包括在CLASSPATH環(huán)境中檢查包含所述需要的動態(tài)可裝載代碼的類;和確定所述需要的動態(tài)可裝載代碼是否是不可用的,并且執(zhí)行所述接收動態(tài)可裝載代碼來響應(yīng)它。
30.如權(quán)利要求24的方法,還包括向用于動態(tài)可裝載代碼的本地存儲器添加所述接收到的動態(tài)可裝載代碼。
31.一種設(shè)備,包括提供指令的機(jī)器可存取介質(zhì),當(dāng)被機(jī)器執(zhí)行時,該指令能夠指導(dǎo)機(jī)器執(zhí)行如下的操作準(zhǔn)備動態(tài)可裝載代碼的清單,所述清單包括動態(tài)可裝載代碼的標(biāo)識符以及可用性時間表;把該清單推送到單向通信鏈路上去;和根據(jù)該可用性時間表把該動態(tài)可裝載代碼推送到所述通信鏈路上。
32.如權(quán)利要求31的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令使用從機(jī)頂盒、個人數(shù)字助理、便攜式計算機(jī)、手持計算機(jī)和無線設(shè)備中選定的一個來接收單向通信鏈路。
33.如權(quán)利要求31的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令在所述通信鏈路上接收清單;記錄所述標(biāo)識符和可用性時間表;和當(dāng)動態(tài)可裝載代碼被推送到所述通信鏈路上時,根據(jù)該可用性時間表檢索所述動態(tài)可裝載代碼。
34.如權(quán)利要求31的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令確定對于執(zhí)行應(yīng)用程序是否需要所述動態(tài)可裝載代碼;和執(zhí)行響應(yīng)所述確定的所述檢索。
35.一種用于反映Java類型文檔文件的設(shè)備,包括提供指令的機(jī)器可存取介質(zhì),當(dāng)被機(jī)器執(zhí)行時,該指令能夠指導(dǎo)機(jī)器執(zhí)行如下的操作準(zhǔn)備Java類型文檔文件的清單,所述清單包括用于Java類型文檔文件對象的標(biāo)識符以及用于所述對象的可用性時間表;將該清單推送到單向通信鏈路上去;和根據(jù)可用性時間表將Java類型文檔文件的所述對象推送到單向通信鏈路上去。
36.如權(quán)利要求35的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令確定對于執(zhí)行應(yīng)用程序是否需要不可用的對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;和在單向通信鏈路上接收所述需要的對象。
37.如權(quán)利要求36的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令在暫時存儲位置中存儲所述接收的對象;
38.如權(quán)利要求35的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令把用于Java類型文檔文件的所述對象的購買數(shù)據(jù)包括在清單中;標(biāo)識執(zhí)行程序所需的不可用對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;在單向通信鏈路上接收所述需要的對象;和根據(jù)所述購買數(shù)據(jù)購買所述需要的對象。
39.一種用于在只推送網(wǎng)絡(luò)上獲取動態(tài)可裝載代碼的設(shè)備,包括提供指令的機(jī)器可存取介質(zhì),當(dāng)被機(jī)器執(zhí)行時,該指令能夠指導(dǎo)機(jī)器執(zhí)行如下的操作在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼的清單,所述清單包括用于動態(tài)可裝載代碼的標(biāo)識符和可用性時間表;和根據(jù)該可用性時間表,在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼。
40.如權(quán)利要求39的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令確定應(yīng)用程序是否需要動態(tài)可裝載代碼;和確定該清單是否包括對應(yīng)于所述動態(tài)可裝載代碼的標(biāo)識符。
41.如權(quán)利要求40的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令在CLASSPATH環(huán)境中檢查包含所述需要的動態(tài)可裝載代碼的類;和確定所述需要的動態(tài)可裝載代碼是否是不可用的。
42.如權(quán)利要求40的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令向該CLASSPATH環(huán)境添加所述接收到的動態(tài)可裝載代碼。
43.如權(quán)利要求39的設(shè)備,所述指令還包括指導(dǎo)機(jī)器執(zhí)行如下操作的指令在CLASSPATH環(huán)境中檢查包含動態(tài)可裝載代碼的類;和確定所述需要的動態(tài)可裝載代碼是否是不可用的,并且執(zhí)行所述接收動態(tài)可裝載代碼來響應(yīng)它。
44.一種系統(tǒng),包括至少一個處理器;和其上具有編碼的指令的可讀介質(zhì),當(dāng)被處理器執(zhí)行時,該指令能夠指導(dǎo)處理器執(zhí)行如下操作準(zhǔn)備動態(tài)可裝載代碼的清單,所述清單包括動態(tài)可裝載代碼的標(biāo)識符以及可用性時間表;把該清單推送到單向通信鏈路上去;和根據(jù)該可用性時間表把該動態(tài)可裝載代碼推送到所述通信鏈路上。
45.如權(quán)利要求44的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令使用從機(jī)頂盒、個人數(shù)字助理、便攜式計算機(jī)、手持計算機(jī)和無線設(shè)備等中選定的一個來接收單向通信鏈路。
46.如權(quán)利要求44的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令在所述通信鏈路上接收清單;記錄所述標(biāo)識符和可用性時間表;和當(dāng)動態(tài)可裝載代碼被推送到所述通信鏈路上時,根據(jù)該可用性時間表檢索所述動態(tài)可裝載代碼。
47.一種用于反映Java類型文檔文件的系統(tǒng),包括至少一個處理器;和其上具有編碼的指令的可讀介質(zhì),當(dāng)被處理器執(zhí)行時,該指令能夠指導(dǎo)處理器執(zhí)行如下操作準(zhǔn)備Java類型文檔文件的清單,所述清單包括用于Java類型文檔文件對象的標(biāo)識符以及用于所述對象的可用性時間表;將該清單推送到單向通信鏈路上去;和根據(jù)可用性時間表將Java類型文檔文件的所述對象推送到單向通信鏈路上去。
48.如權(quán)利要求47的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令確定對于執(zhí)行應(yīng)用程序是否需要不可用的對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;和在單向通信鏈路上檢索所述需要的對象。
49.如權(quán)利要求47的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令把用于Java類型文檔文件的所述對象的購買數(shù)據(jù)包括在清單中;標(biāo)識執(zhí)行程序所需的不可用對象;確定該清單是否包括對應(yīng)于該對象的標(biāo)識符;在單向通信鏈路上接收所述需要的對象;和根據(jù)所述購買數(shù)據(jù)購買所述需要的對象。
50.一種用于在只推送網(wǎng)絡(luò)上獲取動態(tài)可裝載代碼的系統(tǒng),包括至少一個處理器;和其上具有編碼的指令的可讀介質(zhì),當(dāng)被處理器執(zhí)行時,該指令能夠指導(dǎo)處理器執(zhí)行如下操作在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼的清單,所述清單包括用于動態(tài)可裝載代碼的標(biāo)識符和可用性時間表;和根據(jù)該可用性時間表,在只推送網(wǎng)絡(luò)上接收動態(tài)可裝載代碼。
51.如權(quán)利要求50的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令確定應(yīng)用程序是否需要動態(tài)可裝載代碼;和確定該清單是否包括對應(yīng)于所述動態(tài)可裝載代碼的標(biāo)識符。
52.如權(quán)利要求50的系統(tǒng),所述指令還包括指導(dǎo)處理器執(zhí)行如下操作的指令在CLASSPATH環(huán)境中檢查包含所述需要的動態(tài)可裝載代碼的類;確定所述需要的動態(tài)可裝載代碼是否是不可用的;和向該CLASSPATH環(huán)境添加所述接收到的動態(tài)可裝載代碼。
全文摘要
諸如用在面向?qū)ο缶幊陶Z言中的動態(tài)可裝載程序代碼等程序代碼可以在單向通信鏈路上推送,例如通過發(fā)射塔發(fā)送或者通過單向網(wǎng)絡(luò)通信協(xié)議等。包括要被推送到單向通信鏈路的編程代碼的標(biāo)識符的清單被創(chuàng)建,其中,該清單包括推送時間表。該清單的接收機(jī)根據(jù)該時間表檢索感興趣的推送代碼。購買數(shù)據(jù)也可以被包括在該清單中。編程代碼可以包括允許用于額外內(nèi)容的按每次使用付費(fèi)檢索的解密技術(shù)。
文檔編號G06F9/445GK1502076SQ01822610
公開日2004年6月2日 申請日期2001年11月13日 優(yōu)先權(quán)日2000年12月12日
發(fā)明者J·哈爾福德, J 哈爾福德 申請人:英特爾公司