国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于根據(jù)應(yīng)用生存周期管理該應(yīng)用的方法和設(shè)備的制作方法

      文檔序號:7600177閱讀:272來源:國知局
      專利名稱:用于根據(jù)應(yīng)用生存周期管理該應(yīng)用的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及計算機軟件。更具體而言,本發(fā)明涉及用于管理一個應(yīng)用的執(zhí)行的方法和設(shè)備。此外,本發(fā)明還涉及用于實現(xiàn)對于軟件應(yīng)用的應(yīng)用生存周期設(shè)計的方法和設(shè)備。
      相關(guān)技術(shù)描述數(shù)字電視革命是廣播電視的歷史中最重要的事件之一。隨著數(shù)字電視的到來,可以通過衛(wèi)星、電纜以及陸地電視頻道來傳送高速數(shù)據(jù)。數(shù)字電視為用戶提供更多頻道以及顯著提高的視頻和音頻質(zhì)量。最重要的是,數(shù)字電視引導(dǎo)了真正的交互式電視的年代。例如,數(shù)字接收機能夠為用戶提供多種增強業(yè)務(wù),包括從簡單的交互式測試表演到互聯(lián)網(wǎng)以及電視和萬維網(wǎng)類型的內(nèi)容。隨著對于數(shù)字電視市場的擴大,內(nèi)容開發(fā)者正在尋找富于特性的、成本有效的以及可靠的軟件平臺,用于創(chuàng)建諸如電子節(jié)目向?qū)?、視頻點播以及增強廣播的下一代交互式電視業(yè)務(wù)。
      Java是設(shè)計為可以運行在任何支持JAVATMPLATFORM的兼容設(shè)備上的便攜式語言的主要商用面向?qū)ο蟮恼Z言。例如,Java被包括在所有主要的萬維網(wǎng)瀏覽器中。這樣,Java運行在任何通過計算機的萬維網(wǎng)瀏覽器啟動萬維網(wǎng)的計算機上。這樣,Java提供了作為用于機頂盒和數(shù)字電視的軟件平臺的極大承諾。
      在面向?qū)ο蟮某绦蛟O(shè)計中,代碼和數(shù)據(jù)被合并到對象中。每個對象被通過其類定義,類定義了一個對象的屬性和狀態(tài)。換句話說,對象是一個類的各個實例。
      在桌面環(huán)境中,由于存儲器是相對無限的,所以與每個被加載的應(yīng)用(例如類和對象)不需要被頻繁地釋放或密切地監(jiān)視。不過,存儲器是嵌入式系統(tǒng)環(huán)境中的有價值的資源,尤其是在數(shù)字電視領(lǐng)域。此外,在交互式數(shù)字電視環(huán)境中,通常會運行多個應(yīng)用。一個數(shù)字電視業(yè)務(wù)可以包括音頻、視頻和一個或多個應(yīng)用。例如,當(dāng)電視觀眾改換頻道時,由該頻道提供的每個相關(guān)的業(yè)務(wù)或節(jié)目可能都需要加載多個類。結(jié)果,存儲器被不斷地分配給這些應(yīng)用以及相關(guān)的類,直到耗盡了有限數(shù)量的存儲器為止。一旦存儲器被耗盡,就不可能運行任何其它應(yīng)用了。因為不希望在發(fā)生錯誤時重新啟動機頂盒,所以這一點尤其重要。
      JAVA PLATFORM目前定義了多個應(yīng)用模型,每個模型有其自己的生存周期。通常,這些應(yīng)用的生存周期模型被設(shè)計來解決關(guān)于JAVAPLATFORM的特殊問題。例如,小應(yīng)用程序(applet)被設(shè)計來支持在網(wǎng)頁中可執(zhí)行內(nèi)容。不過,沒有一個現(xiàn)有的應(yīng)用生存周期模型完全解決特定于具有有限存儲器(諸如電視接收機)的系統(tǒng)的需求。例如,與一個小應(yīng)用程序相關(guān)的類一旦被加載,就不將其類對象輔助存儲器中刪除。此外,不可能確定小應(yīng)用程序的執(zhí)行何時被終止。
      鑒于上述內(nèi)容,最好是將一個應(yīng)用的生存周期設(shè)計為滿足特定于電視接收機的需求。此外,還希望設(shè)計一種用于管理根據(jù)一個應(yīng)用生存周期的應(yīng)用的加載和執(zhí)行的機制。

      發(fā)明內(nèi)容
      本發(fā)明使得能夠管理一個或多個應(yīng)用。此外,可以根據(jù)一個應(yīng)用的生存周期來管理一個或多個應(yīng)用程序的執(zhí)行。這部分地是通過使用能夠啟動和監(jiān)視應(yīng)用狀態(tài)變化的應(yīng)用管理程序來實現(xiàn)。以這種方式,可以在多個平臺上以一致的方式來執(zhí)行應(yīng)用。
      根據(jù)本發(fā)明的一個方面,應(yīng)用管理程序加載應(yīng)用并將資源分配給應(yīng)用由其在執(zhí)行過程中使用。一旦應(yīng)用被加載,應(yīng)用管理程序就根據(jù)一個應(yīng)用的生存周期執(zhí)行該應(yīng)用。這是通過對于應(yīng)用管理程序可見的應(yīng)用接口,根據(jù)一個實施例來實現(xiàn)的。通過該應(yīng)用接口,應(yīng)用管理程序能夠啟動應(yīng)用中的各種狀態(tài)改變。作為一個例子,應(yīng)用管理程序可以請求應(yīng)用暫停其執(zhí)行并進入暫停狀態(tài)。作為另一個例子,應(yīng)用管理程序可以請求該應(yīng)用從被暫停狀態(tài)開始繼續(xù)其執(zhí)行和進入激活狀態(tài)。
      根據(jù)本發(fā)明的另一個方面,應(yīng)用將關(guān)于其狀態(tài)和潛在狀態(tài)改變的信息傳送給應(yīng)用管理程序。根據(jù)一個實施例,這部分地通過一個應(yīng)用環(huán)境接口來實現(xiàn)。通過該應(yīng)用環(huán)境接口,應(yīng)用可以請求應(yīng)用管理程序引起應(yīng)用的狀態(tài)改變。例如,應(yīng)用可以請求應(yīng)用管理程序使得應(yīng)用進入激活狀態(tài)。此外,應(yīng)用可以通過該應(yīng)用環(huán)境接口指示該應(yīng)用無法按照需要來執(zhí)行業(yè)務(wù),并因此在環(huán)境中合適地暫?;蚪K止。一旦應(yīng)用的狀態(tài)被改變(例如由應(yīng)用管理程序引起的或者由應(yīng)用執(zhí)行的),應(yīng)用就將該狀態(tài)改變傳送到應(yīng)用管理程序(例如通過對于應(yīng)用可見的應(yīng)用環(huán)境接口)。
      根據(jù)本發(fā)明的另一方面,應(yīng)用管理程序可以有條件地或者無條件地終止應(yīng)用。當(dāng)應(yīng)用管理程序無條件地終止該應(yīng)用時,應(yīng)用必須終止。不過,當(dāng)應(yīng)用管理程序有條件地終止該應(yīng)用時,應(yīng)用管理程序可以只有當(dāng)應(yīng)用同意該終止時才終止該應(yīng)用。以這種方式,應(yīng)用管理程序可以終止應(yīng)用,并因此以由被終止應(yīng)用所同意的方式釋放與這些應(yīng)用有關(guān)的資源。
      本發(fā)明使得能夠由應(yīng)用管理程序根據(jù)應(yīng)用的生存周期來管理該應(yīng)用。這使得應(yīng)用能夠被以可預(yù)測的方式執(zhí)行,而不管它們在其上執(zhí)行的平臺。此外,由于應(yīng)用管理程序監(jiān)視每個應(yīng)用的當(dāng)前狀態(tài),所以應(yīng)用管理程序可以在每個應(yīng)用終止時,釋放與該應(yīng)用有關(guān)的存儲器。這在諸如數(shù)字電視接收機的具有有限存儲器的系統(tǒng)中尤其有用。


      通過參考連同附圖的以下描述可以更好地理解本發(fā)明及其另外的優(yōu)點,其中圖1是說明其中可以實現(xiàn)本發(fā)明的數(shù)字電視接收機的框圖。
      圖2A是說明其中實現(xiàn)一個應(yīng)用管理程序以管理通過數(shù)字電視接收機加載的應(yīng)用的本發(fā)明的一個實施例的框圖。
      圖2B是表示如圖2A所示的應(yīng)用管理程序可以據(jù)其操作的一組示范規(guī)則的圖。
      圖3是說明用于存儲由如圖2A所示的應(yīng)用管理程序接收的信號數(shù)據(jù)的示范數(shù)據(jù)結(jié)構(gòu)的框圖。
      圖4A是說明由應(yīng)用管理程序在相關(guān)應(yīng)用的管理和執(zhí)行期間訪問的示范上下文(context)列表的圖。
      圖4B是說明用于存儲在示范上下文列表中所識別的應(yīng)用上下文的示范數(shù)據(jù)結(jié)構(gòu)的圖。
      圖5A是說明由根據(jù)本發(fā)明一個實施例的顯示管理程序訪問的顯示上下文的示范列表的框圖。
      圖5B是與一個顯示上下文相關(guān)的示范狀態(tài)圖。
      圖5C是說明根據(jù)由應(yīng)用管理程序遵循的一組示范規(guī)則產(chǎn)生的一組示范顯示狀態(tài)的圖。
      圖6是說明一個應(yīng)用在該應(yīng)用的生存周期中可以進入的一組狀態(tài)的狀態(tài)圖。
      圖7是說明可以由應(yīng)用管理程序在一個應(yīng)用的生存周期中調(diào)用的示范應(yīng)用接口識別方法的圖。
      圖8是說明可以由一個應(yīng)用在該應(yīng)用的生存周期中調(diào)用的示范應(yīng)用環(huán)境接口識別方法的圖。
      圖9是說明可以由應(yīng)用管理程序或者一個應(yīng)用在該應(yīng)用的生存周期中調(diào)用的方法的圖。
      圖10是說明根據(jù)本發(fā)明的一個實施例,實現(xiàn)一個應(yīng)用管理程序加載一個應(yīng)用并根據(jù)應(yīng)用的生存周期執(zhí)行該應(yīng)用的方法的處理流程圖。
      圖11是說明如圖10的塊1022所示加載一個應(yīng)用的方法的處理流程圖。
      圖12是說明根據(jù)如圖10的塊1024所示的一個應(yīng)用生存周期執(zhí)行一個應(yīng)用的方法的處理流程圖。
      圖13是說明如圖12的塊1206所示改變一個應(yīng)用從加載到暫停的狀態(tài)的方法的處理流程圖。
      圖14是說明如圖12的塊1208所示改變一個應(yīng)用從暫停到激活的狀態(tài)的方法的處理流程圖。
      圖15是說明適合于實現(xiàn)本發(fā)明的典型的、通用計算機系統(tǒng)的框圖。
      具體實施例方式
      在下面的描述中,提出了大量確定的細(xì)節(jié),以提供對于本發(fā)明的全面理解。不過,顯然對于本領(lǐng)域的技術(shù)人員來說,可以無需某些或所有的這些確定細(xì)節(jié)就可以實現(xiàn)本發(fā)明。在其它情況下,沒有詳細(xì)描述眾所周知的處理步驟,以免不必要地影響本發(fā)明的描述。
      這里描述了本發(fā)明使得一個應(yīng)用能夠被根據(jù)一個應(yīng)用的生存周期加載并執(zhí)行。一個應(yīng)用被初始化、進行基于其環(huán)境的各種狀態(tài)改變以及最終被消滅的一系列步驟共同稱作應(yīng)用的生存周期。根據(jù)一個實施例,這是通過能夠加載和管理一個或多個應(yīng)用程序的應(yīng)用管理程序的使用來實現(xiàn)的。根據(jù)一個實施例,通過使用兩個接口來實現(xiàn)應(yīng)用的生存周期。首先,一個應(yīng)用編程接口使得應(yīng)用管理程序能夠根據(jù)應(yīng)用的生存周期管理應(yīng)用的執(zhí)行。其次,一個應(yīng)用環(huán)境接口使得應(yīng)用能夠向應(yīng)用管理程序傳送其希望從一個狀態(tài)改變到另一個狀態(tài),或者可替代地,指示它不能執(zhí)行應(yīng)用管理程序所請求的狀態(tài)改變。例如,一個應(yīng)用可以請求應(yīng)用管理程序使得應(yīng)用進入一個激活狀態(tài)。作為另一個例子,應(yīng)用可以指示它已經(jīng)進入了暫停狀態(tài)或者被消滅狀態(tài)(例如當(dāng)它無法按照應(yīng)用管理程序所請求的進入激活狀態(tài)時)。這樣,應(yīng)用環(huán)境接口使得應(yīng)用能夠向應(yīng)用管理程序傳送它已經(jīng)從一個狀態(tài)改變到另一個狀態(tài),由于應(yīng)用最終很清楚其所在的狀態(tài)。
      這里根據(jù)數(shù)字電視和數(shù)字電視接收機描述了本發(fā)明。圖1是說明一個示范數(shù)字電視接收機的框圖。如圖所示,通過天線102接收一個信號,并由調(diào)諧器模塊104調(diào)諧,產(chǎn)生MPEG2傳輸流106。然后,解復(fù)用器108產(chǎn)生包括視頻流112、音頻流114和數(shù)據(jù)流116的已加密MPEG流110。然后,這三個流由條件接入子系統(tǒng)118處理。例如,條件接入子系統(tǒng)118可以使用密鑰管理信息120以及解密信息122(例如解密算法)。條件接入子系統(tǒng)118產(chǎn)生包括視頻流124和音頻流125以及數(shù)據(jù)126(三者都已解密)的已解密MPEG流123。然后,解碼器128處理已解密的MPEG流123,并將已解碼的視頻數(shù)據(jù)轉(zhuǎn)發(fā)到幀緩沖區(qū)130,并將已解碼的音頻數(shù)據(jù)發(fā)送到揚聲器132。
      Java虛擬機是用于實現(xiàn)本發(fā)明處理由諸如圖1所示的數(shù)字電視接收機接收的信息的平臺。更具體地,當(dāng)數(shù)據(jù)126(例如廣播數(shù)據(jù)流)被處理時,希望處理諸如在數(shù)據(jù)126中提供的被下載應(yīng)用的信息。
      圖2A是說明本發(fā)明的一個實施例的框圖,其中一個應(yīng)用管理程序被實現(xiàn)來管理通過數(shù)字電視接收機加載的應(yīng)用。如圖2A所示,在數(shù)字電視接收機200中實現(xiàn)本發(fā)明。由信令監(jiān)視器204接收廣播數(shù)據(jù)流202。信令監(jiān)視器204判定一個應(yīng)用是否出現(xiàn)在廣播數(shù)據(jù)流202中,并提供指示應(yīng)用存在或不存在的信號數(shù)據(jù)206以及與應(yīng)用相關(guān)的數(shù)據(jù),諸如應(yīng)用的位置。然后,應(yīng)用管理程序208使用信號數(shù)據(jù)206加載并執(zhí)行應(yīng)用。例如應(yīng)用管理程序208根據(jù)恰當(dāng)?shù)膽?yīng)用生存周期執(zhí)行應(yīng)用,以便應(yīng)用響應(yīng)于特定條件而進入恰當(dāng)?shù)臓顟B(tài)。下面進一步描述應(yīng)用生存周期設(shè)計的一個實現(xiàn)。隨著應(yīng)用執(zhí)行,以來自顯示管理程序212的顯示上下文210的形式提供顯示信息。然后,顯示管理程序?qū)⑶‘?dāng)?shù)娘@示信息提供顯示在電視監(jiān)視器214上。
      根據(jù)本發(fā)明的一個實施例,應(yīng)用管理程序被配置根據(jù)一組規(guī)則216操作。這些規(guī)則被以多種方式規(guī)定,以實現(xiàn)一個應(yīng)用的生存周期。例如,一個應(yīng)用的生存周期可以根據(jù)預(yù)定事件的出現(xiàn)而使得一個應(yīng)用進入被加載狀態(tài)、暫停狀態(tài)、激活狀態(tài)和消滅狀態(tài)。圖2B是表示如圖2A所示的應(yīng)用管理程序可以據(jù)其操作的一組示范規(guī)則的圖。該組示范規(guī)則216包括四個規(guī)則。第一規(guī)則218規(guī)定應(yīng)用管理程序管理一個或多個應(yīng)用。不過,第二規(guī)則220規(guī)定在任何執(zhí)行時間點,只有一個應(yīng)用可以是激活的(即可執(zhí)行)。此外,第三規(guī)則222規(guī)定在任何指定時間點,只有一個應(yīng)用可以被顯示。最后,第四規(guī)則224規(guī)定只有激活的應(yīng)用才可以被顯示。這樣,可以以各種方式為一個應(yīng)用管理程序設(shè)計和配置一組規(guī)則。因此,可以根據(jù)一個應(yīng)用的生存周期設(shè)計用于管理一個或多個應(yīng)用的執(zhí)行的一組規(guī)則。
      圖3是說明用于存儲由如圖2A所示的應(yīng)用管理程序接收的信號數(shù)據(jù)的示范數(shù)據(jù)結(jié)構(gòu)的框圖。信號數(shù)據(jù)302包括在廣播數(shù)據(jù)流中的一個應(yīng)用出現(xiàn)指示304。如果一個應(yīng)用出現(xiàn),則規(guī)定該文件(例如目錄和文件名)的位置306。此外,諸如鑒權(quán)信息308的信息使得應(yīng)用的發(fā)起者能夠被鑒權(quán),并且許可310指示一個特定的動作(例如讀/寫)可以或者不可以被與一個指定的源和/或目的相關(guān)而執(zhí)行。
      應(yīng)用管理程序208可以同時管理許多應(yīng)用的生存周期。根據(jù)本發(fā)明的一個實施例,為了維護與每個可能執(zhí)行的應(yīng)用400相關(guān)的信息,應(yīng)用管理程序管理一個應(yīng)用上下文列表402。圖4A是說明由應(yīng)用管理程序208在管理和執(zhí)行相關(guān)應(yīng)用400的過程中訪問的示范應(yīng)用上下文列表402。如圖所示,應(yīng)用上下文列表402包括一個或多個入口,其中每個入口識別與應(yīng)用400之一相關(guān)的應(yīng)用上下文404。更具體地,應(yīng)用400-A、400-B、400-C和400-D表示四個可能不同的應(yīng)用,分別具有不同的應(yīng)用上下文404-A、404-B、404-C和404-D。應(yīng)用上下文404識別與一個應(yīng)用相關(guān)的信息,以使得該應(yīng)用能夠被根據(jù)應(yīng)用的生存周期而加載并執(zhí)行。
      根據(jù)一個實施例,與一個應(yīng)用相關(guān)的信息被集中化并由應(yīng)用上下文404關(guān)聯(lián)。圖4B是說明用于存儲在圖4A所示的示范應(yīng)用上下文列表402中標(biāo)識的應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)的圖。用于應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)包括標(biāo)識一個類加載器的類加載器標(biāo)識符406、用于將類加載到存儲器中的對象。這樣,類加載器標(biāo)識符406使得應(yīng)用管理程序能夠通過被標(biāo)識的類加載器加載一個或多個與應(yīng)用相關(guān)的類,并通過解關(guān)聯(lián)類加載器而卸載這些類。此外,用于應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)包括標(biāo)識如圖3所示的信號數(shù)據(jù)302的信號數(shù)據(jù)標(biāo)識符408。這樣,應(yīng)用管理程序208可以使用該信號數(shù)據(jù)標(biāo)識符408來確定一個應(yīng)用的位置以及鑒權(quán)和許可數(shù)據(jù)。用于應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)還包括一個顯示上下文識別符410,用于識別包括將由如圖2A所示的顯示管理程序212使用的信息的顯示上下文。例如,顯示上下文可以包括對于一個對象的關(guān)聯(lián),以允許一個應(yīng)用顯示在屏幕上,如尺寸、位置和能見度數(shù)據(jù)。用于應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)還包括一個標(biāo)識應(yīng)用的應(yīng)用標(biāo)識符412。此外,應(yīng)用環(huán)境對象414被標(biāo)識來使得應(yīng)用能夠與應(yīng)用管理程序通信。作為一個例子,應(yīng)用可能希望傳送其希望進入另一個狀態(tài)的愿望或者進入另一個狀態(tài)并將該狀態(tài)改變傳送到應(yīng)用管理程序(例如傳送它已經(jīng)進入暫?;蛳麥鐮顟B(tài))。作為另一個例子,應(yīng)用可能希望獲得與應(yīng)用環(huán)境(例如象在相關(guān)應(yīng)用上下文中維護的)相關(guān)的信息??梢詤⒖紙D8和圖9進一步描述應(yīng)用環(huán)境對象414。還示出了用于應(yīng)用上下文404的示范數(shù)據(jù)結(jié)構(gòu)標(biāo)識當(dāng)前應(yīng)用狀態(tài)416。這樣,應(yīng)用管理程序208維護每個應(yīng)用的應(yīng)用狀態(tài)的記錄。
      如上面參考圖2A所示的,一個獨立的顯示管理程序212可以被實現(xiàn)來管理訪問顯示設(shè)備,并管理最終顯示的數(shù)據(jù)。為了有助于該過程,根據(jù)本發(fā)明的一個實施例,顯示管理程序維護一個顯示上下文列表。圖5A是說明根據(jù)本發(fā)明的一個實施例,由一個顯示管理程序訪問的顯示上下文的示范列表(顯示上下文列表)502。如圖所示,顯示上下文列表502包括一個或多個與一個或多個應(yīng)用400-A到400-D相關(guān)的條目。顯示上下文列表502中的每個條目與一個上下文標(biāo)識符504相關(guān),并標(biāo)識一個指定涉及一個應(yīng)用的顯示的信息的顯示上下文506。換句話說,顯示上下文可以是保持由一個應(yīng)用顯示其本身所需要的信息的對象。這樣,當(dāng)顯示管理程序212希望顯示一個應(yīng)用時,它可能通過將其本身關(guān)閉來“打開”在相應(yīng)的顯示上下文中關(guān)聯(lián)的恰當(dāng)“窗口”。
      可以根據(jù)對于顯示上下文的狀態(tài)圖來顯示該顯示上下文。圖5B是與一個顯示上下文相關(guān)的示范狀態(tài)圖。如圖所示,顯示上下文在第一顯示狀態(tài)時是可見的508,而在第二顯示狀態(tài)時是不可見的510。根據(jù)一個實施例,由應(yīng)用管理程序按照規(guī)則來確定恰當(dāng)?shù)娘@示狀態(tài)。
      圖5C是一張表,其表示由如圖2B所示和描述的應(yīng)用管理程序根據(jù)一組示范規(guī)則產(chǎn)生的一組示范顯示狀態(tài)。表512說明所有可能的顯示狀態(tài)514及其相關(guān)的應(yīng)用狀態(tài)516。根據(jù)由應(yīng)用管理程序遵循的一組示范規(guī)則,只顯示激活的應(yīng)用。這樣,當(dāng)一個應(yīng)用在激活狀態(tài)時,顯示狀態(tài)是可見的??商娲兀?dāng)一個應(yīng)用在暫停狀態(tài)時,顯示狀態(tài)是不可見的。
      可以通過使得一個應(yīng)用在預(yù)定條件下進入多個狀態(tài)來實現(xiàn)一個應(yīng)用的生存周期。這些狀態(tài)以及確定一個應(yīng)用何時進入每個狀態(tài)的條件可以根據(jù)應(yīng)用管理程序和應(yīng)用生存周期的實現(xiàn)而變化。圖6是說明一組狀態(tài)的狀態(tài)圖,根據(jù)本發(fā)明的一個實施例,在一個應(yīng)用的生存周期中,一個應(yīng)用可以進入這組狀態(tài)。當(dāng)應(yīng)用管理程序加載應(yīng)用時,應(yīng)用進入被加載狀態(tài)602。一旦應(yīng)用進入被加載狀態(tài)602,應(yīng)用就在由應(yīng)用管理程序?qū)⑵涑跏蓟筮M入暫停狀態(tài)604。只有應(yīng)用管理程序可以使得應(yīng)用將其狀態(tài)從暫停狀態(tài)604改變?yōu)榧せ顮顟B(tài)606。不過,或者是應(yīng)用管理程序或者是應(yīng)用可以使得應(yīng)用從激活狀態(tài)606進入暫停狀態(tài)604。此外,或者是應(yīng)用管理程序或者是應(yīng)用可以使得應(yīng)用終止并從被加載狀態(tài)602、激活狀態(tài)606或者暫停狀態(tài)604進入消滅狀態(tài)608。
      如上參考圖6所述的,可以由執(zhí)行應(yīng)用或者由一個不是執(zhí)行應(yīng)用的應(yīng)用(例如應(yīng)用管理程序)來改變應(yīng)用的狀態(tài)。在許多面向?qū)ο蟮恼Z言中,可以將方法和變量組成模塊以便方法名稱和參數(shù)對于外部過程(例如通過一個接口)是可見的,而實現(xiàn)細(xì)節(jié)對于那些外部過程是隱藏的。根據(jù)一個實施例,可以由應(yīng)用和應(yīng)用管理程序訪問的接口和相關(guān)方法被“分組”成下文稱作的分組。每個分組包括一個定義外部可見的方法名稱和參數(shù)的相關(guān)接口。此外,每個分組有一個相關(guān)的本體,其包括本體以及因此包括在分組接口中定義的方法的實現(xiàn)細(xì)節(jié)。應(yīng)用和應(yīng)用管理程序可以使用兩個不同的接口通信。這樣,應(yīng)用管理程序和應(yīng)用可以分別通過使用兩個不同的接口(一個應(yīng)用接口和一個應(yīng)用環(huán)境接口)來改變應(yīng)用的狀態(tài)。此外,應(yīng)用管理程序和應(yīng)用可以傳送諸如關(guān)于狀態(tài)改變或可能狀態(tài)改變的信息。
      圖7是說明在一個應(yīng)用的生存周期中,由一個應(yīng)用管理程序(或者其它過程)調(diào)用來改變應(yīng)用的狀態(tài)的示范應(yīng)用接口識別方法的圖。一個應(yīng)用接口702定義由應(yīng)用管理程序調(diào)用的所有方法和相關(guān)參數(shù)。初始化方法704可用于使得應(yīng)用管理程序初始化應(yīng)用。例如,初始化方法704可以發(fā)信號給應(yīng)用以對其本身進行初始化并從被加載狀態(tài)進入暫停狀態(tài)。根據(jù)一個實施例,初始化方法704的一個參數(shù)是應(yīng)用環(huán)境對象706,下面將參考圖8對其進一步詳細(xì)描述。如下面將描述的,應(yīng)用環(huán)境對象706還由應(yīng)用使用來訪問與應(yīng)用的運行時間環(huán)境相關(guān)的屬性。此外,通過使用應(yīng)用環(huán)境對象706,應(yīng)用可以檢索與其運行時間環(huán)境相關(guān)的屬性。例如,可以被檢索的屬性包括對信令數(shù)據(jù)的關(guān)聯(lián)以及對于業(yè)務(wù)所從中提供的環(huán)境(例如音頻/視頻環(huán)境)的關(guān)聯(lián)。以這種方式,應(yīng)用可以在其執(zhí)行的準(zhǔn)備中對其本身初始化。盡管應(yīng)用最好是在執(zhí)行之前沒有保持共享的資源,但它應(yīng)當(dāng)被準(zhǔn)備以用合理的時間量來執(zhí)行。初始化方法704只能被調(diào)用一次。在初始化方法704成功返回之后,應(yīng)用在暫停狀態(tài)。如果初始化方法704不能成功返回,則應(yīng)用返回一個狀態(tài)改變異常,其指示應(yīng)用不能進入暫停狀態(tài)。
      一旦應(yīng)用在暫停狀態(tài),則應(yīng)用就可以進入激活狀態(tài)。不過,只有應(yīng)用管理程序能夠使用開始方法708使得該狀態(tài)改變。開始方法708一旦被調(diào)用,就發(fā)信號給應(yīng)用以開始提供業(yè)務(wù)并進入激活狀態(tài)。在激活狀態(tài),應(yīng)用可以保持共享資源。多個故障可以阻止業(yè)務(wù)開始。例如,故障可以是暫時的或者非暫時的。根據(jù)一個實施例,應(yīng)用在這兩種類型的故障之間進行區(qū)別。對于暫時故障,出現(xiàn)一個狀態(tài)改變異常。當(dāng)非暫時故障出現(xiàn)時,另一個異常可以出現(xiàn)或者一個完成方法可以被調(diào)用以正確地終止該方法。例如,當(dāng)應(yīng)用確定它不能接入它執(zhí)行所需要的資源時,這可以作為一個暫時或者非暫時故障實現(xiàn)。
      暫停方法710一旦被應(yīng)用管理程序調(diào)用,就發(fā)信號給應(yīng)用以停止執(zhí)行并從激活狀態(tài)進入暫停狀態(tài)。在暫停狀態(tài),應(yīng)用停止執(zhí)行并試圖使用盡可能少的資源。這樣,應(yīng)用可以釋放部分或者全部它所保持的共享資源。
      可能希望從被加載、激活或暫停中的任何一種狀態(tài)終止應(yīng)用。這可以通過調(diào)用一個消滅方法712來實現(xiàn)。消滅方法712發(fā)信號給應(yīng)用以終止并進入被消滅狀態(tài)。在被消滅狀態(tài),應(yīng)用應(yīng)當(dāng)釋放所有資源并保持選擇或狀態(tài)信息。
      當(dāng)應(yīng)用管理程序希望消滅(例如終止)一個應(yīng)用時,它可能希望指示各種等級的緊急。根據(jù)一個實施例,當(dāng)一個預(yù)定條件被滿足時,可以執(zhí)行終止一個應(yīng)用。作為一個例子,預(yù)定條件可以是來自同意該太早終止的應(yīng)用的一個信號的出現(xiàn)。作為另一個例子,預(yù)定條件可以是在指定時間段中沒有從應(yīng)用接收到一個信號。這可以通過到消滅方法712的參數(shù)714來實現(xiàn)。參數(shù)714指示當(dāng)在第一狀態(tài)時,消滅信號是有條件的,而在第二狀態(tài)時,消滅信號是無條件的。這樣,當(dāng)應(yīng)用管理程序只希望請求該應(yīng)用終止時,它可以根據(jù)應(yīng)用終止的決定而指定消滅信號是有條件的。應(yīng)用可以通過出現(xiàn)一個狀態(tài)改變異常而指示它希望繼續(xù)執(zhí)行,因此不進入被消滅狀態(tài)。如果應(yīng)用管理程序希望承兌來自應(yīng)用的請求,則應(yīng)用管理程序在后來再次調(diào)用消滅方法??商娲?,應(yīng)用管理程序試圖消滅具有例如更高(更低)優(yōu)先級的另一個應(yīng)用。以這種方式,應(yīng)用管理程序可以從那些選擇終止的應(yīng)用獲取其(例如要被加載的下一個應(yīng)用)需要的資源。此外,應(yīng)用管理程序試圖以指定順序消滅應(yīng)用,如優(yōu)先級順序,應(yīng)用使用最多(最少)量存儲器或者其中執(zhí)行已經(jīng)被初始化的順序。
      當(dāng)應(yīng)用管理程序需要一個指定應(yīng)用終止時,它通過消滅方法712的參數(shù)714指定消滅信號是無條件的來指示這點。例如,當(dāng)應(yīng)用管理程序需要應(yīng)用保持的所有資源時,應(yīng)用管理程序可以指定消滅信號是無條件的。這樣,當(dāng)消滅信號是無條件的時,應(yīng)用管理程序可以強迫一個應(yīng)用終止并釋放其保持的資源。因此,即使一個應(yīng)用出現(xiàn)一個指示其希望繼續(xù)執(zhí)行的狀態(tài)改變異常,當(dāng)消滅信號是無條件的時,應(yīng)用管理程序也可以忽視該異常。盡管以上描述引用一個應(yīng)用的有條件和無條件終止,但其它操作也可以有條件地和無條件地類似執(zhí)行。
      如上所述,當(dāng)一個應(yīng)用被初始化時,一個應(yīng)用環(huán)境對象可以傳送到該應(yīng)用。此外,應(yīng)用環(huán)境對象為一個應(yīng)用提供檢索屬性的機制以及發(fā)送內(nèi)部狀態(tài)改變信號的方法。根據(jù)一個實施例,應(yīng)用環(huán)境對象有一個應(yīng)用環(huán)境接口,其可用于被加載和執(zhí)行的應(yīng)用。更具體地,一旦應(yīng)用被初始化,應(yīng)用環(huán)境接口對于該應(yīng)用就可用了。
      圖8是說明由一個執(zhí)行應(yīng)用在該應(yīng)用的生存周期中調(diào)用的示范應(yīng)用環(huán)境接口識別方法的圖。如圖所示,并如下所述,一個應(yīng)用環(huán)境接口802提供幾個方法,以允許一個應(yīng)用發(fā)現(xiàn)關(guān)于其環(huán)境的信息,并與關(guān)于其狀態(tài)改變和希望的狀態(tài)改變與應(yīng)用管理程序通信。
      如上所述,應(yīng)用可以從被加載、激活或暫停狀態(tài)進入消滅狀態(tài)。此外,應(yīng)用管理程序或應(yīng)用可以使得應(yīng)用進入消滅狀態(tài)。如參考圖7所描述的,應(yīng)用管理程序可以通過調(diào)用消滅方法來消滅應(yīng)用。可替代地,應(yīng)用環(huán)境接口802的被消滅方法804使得應(yīng)用能夠發(fā)信號表明其已經(jīng)進入被消滅狀態(tài)。然后,應(yīng)用管理程序可以無需調(diào)用如上面參考圖7所描述的在應(yīng)用接口中提供的消滅方法,而將應(yīng)用狀態(tài)更新為被消滅。應(yīng)用執(zhí)行相同的操作(例如清除、釋放資源),就好像應(yīng)用被應(yīng)用管理程序消滅一樣。這最好是在應(yīng)用本身進入被消滅狀態(tài)之前執(zhí)行。
      當(dāng)應(yīng)用管理程序在激活狀態(tài)時,應(yīng)用管理程序或應(yīng)用可以使得應(yīng)用進入暫停狀態(tài)。更具體地,如圖7所示并參考圖7所描述,應(yīng)用管理程序可以使用暫停方法來暫停應(yīng)用??商娲兀瑧?yīng)用可以發(fā)信號表明應(yīng)用不希望被激活并且已經(jīng)通過暫停方法806進入暫停狀態(tài)。
      具有參數(shù)810的獲得屬性方法808為應(yīng)用提供一個機制以從應(yīng)用環(huán)境對象中檢索一個或多個屬性。作為一個例子,在一個Java環(huán)境中,“根容器(root container)”典型地用于包含用戶接口組件(例如下拉菜單、按鈕),以便它們能夠顯示在Java環(huán)境中。這樣,獲得屬性方法808可以用于確定其中放置組件的根容器。作為另一個例子,可以獲得與廣播數(shù)據(jù)流相關(guān)的信息(例如在廣播數(shù)據(jù)流中的位置)。其它屬性可以包括例如對一個業(yè)務(wù)對話對象(業(yè)務(wù)上下文)的關(guān)聯(lián)以及特定于基本傳輸協(xié)議的信息。
      盡管只有應(yīng)用管理程序可以使得一個應(yīng)用進入激活狀態(tài),但應(yīng)用可以希望指示它對進入激活狀態(tài)感興趣。根據(jù)一個實施例,這通過恢復(fù)請求方法812來完成。通過恢復(fù)請求方法812,一個或多個應(yīng)用的每一個指示希望進入激活狀態(tài)。不過,能夠同時執(zhí)行的應(yīng)用的數(shù)量可以由應(yīng)用管理程序遵循的一組規(guī)則來限制。例如,如上面參考圖2B所示,這些規(guī)則可以規(guī)定在一個時間只有一個應(yīng)用可以被激活。這樣,可以由一個應(yīng)用管理程序使用對于恢復(fù)請求方法812的調(diào)用以確定那些希望進入激活狀態(tài)的應(yīng)用,以便應(yīng)用管理程序選擇一個或多個請求應(yīng)用以進入激活狀態(tài)。
      通過上述接口,應(yīng)用的生存周期可以由應(yīng)用管理程序和應(yīng)用控制。盡管接口定義得很好,但是只要遵照相關(guān)接口(以及相關(guān)狀態(tài)機),就可以用多種方法來實現(xiàn)如上參考圖7和圖8所述的方法的主體。
      圖9是說明可以由應(yīng)用管理程序或者一個應(yīng)用在該應(yīng)用的生存周期中調(diào)用的示范方法。如圖9所示,可以由應(yīng)用管理程序902和由應(yīng)用管理程序902管理的每個應(yīng)用904調(diào)用獨立的一組方法。如前面參考圖7所述的,可以由應(yīng)用管理程序902調(diào)用第一組方法,包括初始化方法906、開始方法908、消滅方法910和暫停方法912。同樣,如前面參考圖8所述的,可以由相應(yīng)的應(yīng)用904調(diào)用第二組方法,包括暫停方法914、消滅方法916、恢復(fù)請求方法918和獲得屬性方法920。
      圖10中的處理流程圖說明了一個方法,該方法根據(jù)本發(fā)明的一個實施例,一個應(yīng)用管理程序按照一個應(yīng)用的生存周期加載該應(yīng)用并執(zhí)行該應(yīng)用。在塊1002,處理開始,并且在塊1004,數(shù)字電視接收機被打開。然后,在塊1006啟動Java環(huán)境。然后在塊1008建立一個應(yīng)用管理程序來管理一個或多個應(yīng)用的加載和執(zhí)行。然后在塊1010運行應(yīng)用管理程序。
      可以由諸如圖1所示的一個數(shù)字電視接收機接收多個數(shù)字電視服務(wù)。除了接收多個頻道(或者服務(wù))之外,這些服務(wù)可以從交互式電視到近視頻點播,到專用規(guī)劃。更具體地,由電視頻道提供的服務(wù)通常包括音頻、視頻和應(yīng)用。當(dāng)在塊1012選擇一個服務(wù)(例如通過用戶切換頻道)時,在塊1014,與被選擇服務(wù)相關(guān)的數(shù)據(jù)流就通過數(shù)字電視接收機接收。例如,當(dāng)用戶切換到迪斯尼頻道時,迪斯尼服務(wù)就被選擇并且接收到與迪斯尼服務(wù)相關(guān)的數(shù)據(jù)流。
      在塊1016,確定在數(shù)據(jù)流中是否出現(xiàn)與所選擇服務(wù)相關(guān)的應(yīng)用。例如,當(dāng)用戶選擇迪斯尼服務(wù)時,就在數(shù)據(jù)流中接收到一個迪斯尼應(yīng)用。如果在塊1018確定在數(shù)據(jù)流中出現(xiàn)一個應(yīng)用,則應(yīng)用管理程序如塊1022所示加載應(yīng)用并在塊1024根據(jù)該應(yīng)用的生存周期執(zhí)行該應(yīng)用。下面將分別參考圖11和圖12進一步描述加載和執(zhí)行處理。處理如塊1026所示完成。如果沒有應(yīng)用出現(xiàn)在數(shù)據(jù)流中,則處理返回到1020以等待有關(guān)在塊1014中接收到的數(shù)據(jù)流中出現(xiàn)的應(yīng)用的新信號。然后處理在塊1016繼續(xù)。
      圖11的處理流程圖說明了一個如圖10中塊1022所示加載一個應(yīng)用的方法。處理在塊1102開始。在塊1104,諸如在圖3中所示的信號數(shù)據(jù)由應(yīng)用管理程序在塊1104接收。一旦接收到信號,應(yīng)用管理程序就能夠定位并加載應(yīng)用。為了存儲與應(yīng)用相關(guān)的信息,在塊1106創(chuàng)建諸如圖4B所示的應(yīng)用上下文。然后,該應(yīng)用上下文可以用于維護對于與該應(yīng)用相關(guān)的所有信息的關(guān)聯(lián)。例如,一旦如塊1108所示,應(yīng)用管理程序為應(yīng)用創(chuàng)建一個類加載器,則在應(yīng)用上下文中維護對于該類加載器的關(guān)聯(lián)。然后,在塊1110通過類加載器加載與應(yīng)用相關(guān)的類。然后,在塊1112從這些類中創(chuàng)建應(yīng)用的一個實例。
      一旦應(yīng)用被實例產(chǎn)生,就如塊1114所示,應(yīng)用進入被加載狀態(tài)。為了使得應(yīng)用能夠獲取與其環(huán)境相關(guān)的屬性并與應(yīng)用管理程序通信,在塊1116實例產(chǎn)生遵照例如如圖8所示的一個應(yīng)用環(huán)境接口的應(yīng)用環(huán)境對象。然后,在塊1118,當(dāng)應(yīng)用管理程序調(diào)用初始化方法時,為應(yīng)用初始化應(yīng)用環(huán)境對象。
      除了加載應(yīng)用之外,應(yīng)用管理程序還負(fù)責(zé)監(jiān)視和管理該應(yīng)用的執(zhí)行。圖12中的流程圖說明一個方法,其根據(jù)如圖10的塊1024所示的應(yīng)用的生存周期來執(zhí)行應(yīng)用。通過諸如圖7和圖8所示的那些接口的使用,應(yīng)用和應(yīng)用管理程序可以提議、延遲、阻止或?qū)崿F(xiàn)應(yīng)用的狀態(tài)中的一個改變。下面是其中應(yīng)用的狀態(tài)在該應(yīng)用的整個生存周期中改變的方式的簡要描述。在塊1202,該處理開始。一旦應(yīng)用已經(jīng)進入被加載狀態(tài),應(yīng)用就在塊1204等待應(yīng)用管理程序?qū)?yīng)用狀態(tài)改為暫停。例如,如上所述,如塊1206所示,應(yīng)用管理程序可以使用在應(yīng)用接口中提供的初始化方法來初始化應(yīng)用,使得應(yīng)用進入暫停狀態(tài),下面將參考圖13對此進一步詳細(xì)描述。一旦應(yīng)用改變到暫停狀態(tài),則在塊1208,應(yīng)用管理程序最終將該應(yīng)用的狀態(tài)改變到激活狀態(tài)(例如使用開始方法),下面將參考圖14對此進一步詳細(xì)描述。需要特別指出的是,只有應(yīng)用管理程序可以使得應(yīng)用進入激活狀態(tài)。在塊1210,分別通過在應(yīng)用環(huán)境接口中可獲得的暫停方法或者在應(yīng)用接口中可獲得的暫停方法,由應(yīng)用或者應(yīng)用管理程序使得應(yīng)用從激活狀態(tài)進入暫停狀態(tài)。一旦被暫停,應(yīng)用可以通過在應(yīng)用環(huán)境接口中可獲得的恢復(fù)請求方法來請求恢復(fù)執(zhí)行。在塊1212,應(yīng)用或應(yīng)用管理程序還可以分別通過在應(yīng)用環(huán)境接口中可獲得的消滅方法或者通過在應(yīng)用接口中可獲得的消滅方法來使得應(yīng)用終止和進入消滅狀態(tài)。如圖所示,應(yīng)用可以從被加載、暫?;蚣せ畹娜魏我环N狀態(tài)在塊1212中進入消滅狀態(tài)。例如,當(dāng)應(yīng)用完成執(zhí)行時,應(yīng)用可以進入消滅狀態(tài)。此外,響應(yīng)于由電視接收機接收的一個信號,可以啟動諸如加載、啟動或者終止一個應(yīng)用的操作的啟動。這可以例如出現(xiàn)在一個新的程序開始或者用戶按下電視遙控器上的一個按鈕來選擇一個新頻道時。一旦一個應(yīng)用按照需要改變其狀態(tài)(例如方法正確地返回),則如圖4A和圖4B所示,應(yīng)用管理程序更新在相關(guān)的應(yīng)用上下文中的應(yīng)用的當(dāng)前狀態(tài)。盡管未參考圖12描述,但是上述狀態(tài)改變是遵照由應(yīng)用發(fā)出的任何狀態(tài)改變異常來執(zhí)行。這樣,在大多數(shù)情況下,當(dāng)由應(yīng)用發(fā)出一個狀態(tài)改變異常時,應(yīng)用管理程序不更新應(yīng)用的當(dāng)前狀態(tài)。而是它試圖在后來請求相同的狀態(tài)改變、另一個狀態(tài)改變或者請求另一個應(yīng)用的狀態(tài)改變。
      一旦被消滅,由應(yīng)用保持的資源就被釋放。例如,可以由應(yīng)用管理程序(例如通過接收機從應(yīng)用或者廣播環(huán)境)接收一個信號以啟動清除應(yīng)用。更具體地,在塊1214,類加載器可以卸載與應(yīng)用相關(guān)的類。此外,如圖4A和圖4B所示的應(yīng)用上下文列表關(guān)聯(lián)的應(yīng)用上下文可以被釋放。
      如上所述,應(yīng)用管理程序?qū)?yīng)用的狀態(tài)從被加載改變成暫停以為其準(zhǔn)備執(zhí)行。圖13的流程圖說明了一個方法,其如圖12的塊1206所示,將一個應(yīng)用的狀態(tài)從被加載改變成為暫停。在塊1302,該處理開始。在塊1304,應(yīng)用管理程序調(diào)用應(yīng)用接口中的初始化方法并將應(yīng)用環(huán)境對象作為參數(shù)傳送。然后,在塊1306,應(yīng)用使用應(yīng)用環(huán)境對象來初始化其本身。例如,應(yīng)用環(huán)境對象可以獲取諸如根容器這樣的其可能在初始化本身時使用的屬性。之后,如塊1308所示,應(yīng)用進入暫停狀態(tài)。
      根據(jù)一個實施例,只有應(yīng)用管理程序可以將應(yīng)用的狀態(tài)改變?yōu)榧せ顮顟B(tài)。圖14中的流程圖說明了一個方法,其如圖12的塊1208所示,將一個應(yīng)用的狀態(tài)從暫停改變成為激活。該處理在塊1402開始。在塊1404,應(yīng)用接收一個信號以啟動應(yīng)用。例如,當(dāng)一個新程序開始或者當(dāng)用戶按下電視遙控器上的一個按鈕時,可以由應(yīng)用管理程序接收這個啟動信號。對于某些服務(wù),當(dāng)它們被收聽時,應(yīng)用可以自動啟動。然后,在塊1406,應(yīng)用管理程序調(diào)用在應(yīng)用接口中提供的開始應(yīng)用方法。在塊1408,應(yīng)用執(zhí)行其服務(wù)并進入激活狀態(tài)。
      本發(fā)明可以應(yīng)用于各種情況。一個例子是在各個頻道中顯示在顯示器(例如電視屏幕)下面的證券報價機??梢杂梢粋€接收機從廣播服務(wù)或者到中央服務(wù)器或廣播公司(例如通過調(diào)制解調(diào)器電纜或者到互聯(lián)網(wǎng)的其它連接)的反向頻道獲得證券信息。假設(shè)證券報價機應(yīng)用在初始化之后處于暫停狀態(tài),用戶按下電視遙控器上的一個按鈕,來發(fā)信號給應(yīng)用管理程序要啟動證券報價機應(yīng)用。應(yīng)用管理程序調(diào)用用于證券報價機應(yīng)用的啟動應(yīng)用方法。應(yīng)用管理程序假設(shè)應(yīng)用在該點正在執(zhí)行其服務(wù)。一旦接收到啟動信號,證券報價機應(yīng)用就創(chuàng)建打開反向頻道以檢索證券報價的新的線程。現(xiàn)在,證券報價機應(yīng)用在激活狀態(tài)。
      在激活狀態(tài)中,證券報價機繼續(xù)顯示證券報價。不過,由于在應(yīng)用控制周圍的環(huán)境,證券報價機不再能夠檢索被更新的證券報價。在這些情況下,應(yīng)用可以決定繼續(xù)顯示它可以獲得的最近證券報價。不過,過了一段時間之后,應(yīng)用可能仍然無法打開反向頻道。因此,應(yīng)用決定它所顯示的報價太舊了,以致于它不能再執(zhí)行其服務(wù)。然后,應(yīng)用可以選擇通過調(diào)用應(yīng)用環(huán)境對象中的暫停方法來使其本身脫離激活狀態(tài)并將該變化發(fā)信號給應(yīng)用管理程序。此外,應(yīng)用在該點或者后來的時間判定它不再有執(zhí)行其服務(wù)的機會,從而它決定其應(yīng)當(dāng)終止。應(yīng)用進行一些清除,釋放該應(yīng)用不再需要的資源。然后,應(yīng)用終止并調(diào)用應(yīng)用環(huán)境對象中的消滅方法以發(fā)信號給應(yīng)用管理程序表明其已經(jīng)進入被消滅狀態(tài)。然后,應(yīng)用管理程序?qū)υ搼?yīng)用進行相應(yīng)的清除。
      可以在任何合適的計算機系統(tǒng)中實現(xiàn)本發(fā)明。圖15表示一個適于實現(xiàn)本發(fā)明的典型的、通用的計算機系統(tǒng)1502。該計算機系統(tǒng)可以采用任何合適的形式。例如,該計算機系統(tǒng)可以與一個數(shù)字電視接收機或機頂盒集成在一起。
      本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,計算機系統(tǒng)1530或者更明確地,CPU1532可以被用來支持一個虛擬機。計算機系統(tǒng)1502包括任何數(shù)量的處理器1504(也稱作這樣處理單元或者CPU),該處理器可以連接到包括主存儲設(shè)備1506(典型地是只讀存儲器或ROM)和主存儲設(shè)備1508(典型地是隨機讀取存儲器或RAM)的存儲設(shè)備。本領(lǐng)域眾所周知,ROM用于單向傳送數(shù)據(jù)和指令到CPU1504,而RAM典型地用于以雙向方式傳送數(shù)據(jù)和指令。存儲設(shè)備1506和1508可以包括任何合適的計算機可讀介質(zhì)。CPU1504通常包括任何數(shù)量的處理器。
      輔助存儲介質(zhì)1510(典型地是大容量存儲器)也可以雙向耦合到CPU1504,并提供額外的數(shù)據(jù)存儲容量。大容量存儲設(shè)備1510是用于存儲包括計算機代碼、數(shù)據(jù)等的計算機可讀介質(zhì)。典型地,大容量存儲設(shè)備1510是諸如通常比主存儲設(shè)備1506和1508慢的硬盤的存儲介質(zhì)。
      CPU1504還可以連接到一個或多個輸入/輸出設(shè)備1512,該輸入/輸出設(shè)備可以但非限制地包括的設(shè)備例如是視頻監(jiān)視器、跟蹤球、鼠標(biāo)、鍵盤、麥克風(fēng)、觸摸式顯示器、傳感器輸入機、磁或紙帶輸入機、輸入板、鐵筆、語音或手寫識別器或其它眾所周知的諸如其它計算機的輸入設(shè)備。最后,CPU1504可選地可以使用通常如1514所示的網(wǎng)絡(luò)連接來連接到計算機或電信網(wǎng),例如互聯(lián)網(wǎng)或企業(yè)內(nèi)部互聯(lián)網(wǎng)。利用這種網(wǎng)絡(luò)連接,可以期望CPU1504在執(zhí)行上述方法步驟的過程中從網(wǎng)絡(luò)接收信息,或者輸出信息到網(wǎng)絡(luò)。通常表示為一系列指令的通過使用CPU1504執(zhí)行的這種信息可以從網(wǎng)絡(luò)接收和輸出到網(wǎng)絡(luò),例如以載波中包含的計算機數(shù)據(jù)信號的形式。
      通過使用應(yīng)用管理程序根據(jù)每個應(yīng)用的生存周期來加載和管理該應(yīng)用的執(zhí)行,應(yīng)用的執(zhí)行被標(biāo)準(zhǔn)化并且存儲器資源被有效地保存。應(yīng)用的生存周期部分地通過以一致方式控制應(yīng)用可能進入的狀態(tài)來實現(xiàn)。根據(jù)一個實施例,定義用于控制應(yīng)用的生存周期的恰當(dāng)方法的接口可以提供給應(yīng)用以及應(yīng)用管理程序。以這種方式,應(yīng)用和應(yīng)用管理程序可以傳送狀態(tài)改變、請求狀態(tài)改變、請求狀態(tài)改變被延遲或取消,還可以傳送其它狀態(tài)信息。通過使用本發(fā)明,應(yīng)用可以在不同時間運行于不同的機器上,仍然能以可預(yù)測的方式產(chǎn)生相同的結(jié)果。此外,本發(fā)明使得當(dāng)確定資源不再被需要時,與應(yīng)用相關(guān)的存儲器被釋放。給定了數(shù)字接收機和機頂盒中的有限數(shù)量的存儲器,管理數(shù)字電視環(huán)境中的存儲器資源的能力代表一個重要的改進。
      盡管這里示出并描述了本發(fā)明的示例實施例和應(yīng)用,但是在本發(fā)明概念、范圍和精神內(nèi)的許多變化和修改都是可能的,并且這些變化對于本領(lǐng)域的普通技術(shù)人員來說在閱讀了本申請之后將會更加清晰。例如,本發(fā)明被描述為在數(shù)字電視接收機環(huán)境中實現(xiàn)。但是,本發(fā)明也可以用于其它環(huán)境。此外,盡管本發(fā)明被描述為在JAVA PLATFORM上實現(xiàn),但是它也可以在其它各種平臺上實現(xiàn)。此外,所描述的處理塊只是示例用的。因此,應(yīng)用管理程序和應(yīng)用生存周期的實現(xiàn)可以通過使用替代的處理塊以及替代的數(shù)據(jù)結(jié)果而被執(zhí)行。此外。盡管應(yīng)用管理程序和應(yīng)用被描述為具有獨立接口,但是這些接口也可以包括對于所有應(yīng)用以及應(yīng)用管理程序可見的公共方法。因此,本實施例應(yīng)當(dāng)被認(rèn)為是說明性的而非限制性的,并且本發(fā)明并不局限于這里給出的細(xì)節(jié),而是可以在附加權(quán)利要求的范圍和等同物內(nèi)修改。
      權(quán)利要求
      1.一種根據(jù)應(yīng)用的生存周期管理該應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括在其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于從應(yīng)用接收狀態(tài)改變請求的指令,該狀態(tài)改變請求指示來自應(yīng)用的一個對于應(yīng)用管理程序啟動將應(yīng)用的狀態(tài)從第一狀態(tài)改變到第二狀態(tài)的請求;以及用于當(dāng)根據(jù)組確定的一組規(guī)則第二狀態(tài)是允許的狀態(tài)時,響應(yīng)于狀態(tài)改變請求而啟動應(yīng)用的狀態(tài)改變的指令。
      2.如權(quán)利要求1所述的計算機程序產(chǎn)品,其中第二狀態(tài)是指示應(yīng)用當(dāng)前正在執(zhí)行的激活狀態(tài)。
      3.一種用于根據(jù)一個應(yīng)用的生存周期管理一個應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于接收指示一個新服務(wù)被選擇的信號的指令;用于當(dāng)新業(yè)務(wù)被選擇時啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令;用于暫停應(yīng)用的執(zhí)行,以便應(yīng)用從激活狀態(tài)進入暫停狀態(tài)的指令;用于接收指示應(yīng)用希望恢復(fù)執(zhí)行并從暫停狀態(tài)進入激活狀態(tài)的恢復(fù)請求的指令;以及用于啟動應(yīng)用的執(zhí)行,以便當(dāng)從應(yīng)用接收到恢復(fù)請求時,應(yīng)用從暫停狀態(tài)進入激活狀態(tài)的指令。
      4.一種用于根據(jù)一個應(yīng)用的生存周期管理多個應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于啟動多個應(yīng)用中的每一個的執(zhí)行以便多個應(yīng)用進入激活狀態(tài)的指令;用于暫停多個應(yīng)用之一的執(zhí)行以便多個應(yīng)用之一從激活狀態(tài)進入暫停狀態(tài)的指令;用于從多個應(yīng)用的一個或多個接收恢復(fù)請求的指令,該恢復(fù)請求指示多個應(yīng)用的一個或多個請求恢復(fù)執(zhí)行并從暫停狀態(tài)進入激活狀態(tài);用于選擇多個應(yīng)用的一個或多個從暫停狀態(tài)進入激活狀態(tài)的指令;并且當(dāng)從應(yīng)用接收到恢復(fù)請求時,啟動所選擇應(yīng)用的執(zhí)行,以便所選擇的應(yīng)用從暫停狀態(tài)進入激活狀態(tài)。
      5.一種用于根據(jù)一個應(yīng)用的生存周期管理一個應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于第一次請求應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;用于確定應(yīng)用是否將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;以及用于當(dāng)確定應(yīng)用沒有將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)并且滿足一個預(yù)定條件時,第二次請求應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令。
      6.如權(quán)利要求5所述的計算機程序產(chǎn)品,其中預(yù)定條件指示一個確定的時間段已經(jīng)過去或者應(yīng)用現(xiàn)在能夠執(zhí)行所請求的狀態(tài)改變。
      7.如權(quán)利要求5所述的計算機程序產(chǎn)品,其中當(dāng)由應(yīng)用發(fā)出一個狀態(tài)改變異常時,確定應(yīng)用沒有改變其狀態(tài)。
      8.如權(quán)利要求5所述的計算機程序產(chǎn)品,其中當(dāng)應(yīng)用拒絕所請求的狀態(tài)改變時,確定應(yīng)用沒有改變其狀態(tài)。
      9.如權(quán)利要求5所述的計算機程序產(chǎn)品,其中當(dāng)應(yīng)用不能執(zhí)行所請求的狀態(tài)改變時,確定應(yīng)用沒有改變其狀態(tài)。
      10.一種用于根據(jù)一個應(yīng)用的生存周期管理一個應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于請求應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;用于確定應(yīng)用是否將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;以及用于當(dāng)確定應(yīng)用沒有將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)時,請求應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈谌隣顟B(tài)的指令。
      11.如權(quán)利要求10所述的計算機程序產(chǎn)品,其中第一狀態(tài)是指示應(yīng)用當(dāng)前正在執(zhí)行的激活狀態(tài),第二狀態(tài)是指示應(yīng)用的執(zhí)行已經(jīng)被終止的被消滅狀態(tài),并且第三狀態(tài)是指示應(yīng)用的執(zhí)行已經(jīng)被暫停從而應(yīng)用可以恢復(fù)執(zhí)行的暫停狀態(tài)。
      12.如權(quán)利要求10所述的計算機程序產(chǎn)品,其中當(dāng)由應(yīng)用發(fā)出一個狀態(tài)改變異常時,確定應(yīng)用沒有改變其狀態(tài)。
      13.如權(quán)利要求10所述的計算機程序產(chǎn)品,其中當(dāng)應(yīng)用拒絕所請求的狀態(tài)改變時,確定應(yīng)用沒有改變其狀態(tài)。
      14.如權(quán)利要求10所述的計算機程序產(chǎn)品,其中當(dāng)應(yīng)用不能執(zhí)行所請求的狀態(tài)改變時,確定應(yīng)用沒有改變其狀態(tài)。
      15.一種用于根據(jù)一個應(yīng)用的生存周期管理一個應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于請求第一應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;用于確定第一應(yīng)用是否將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令;以及用于當(dāng)確定第一應(yīng)用沒有將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)時,請求第二應(yīng)用將其狀態(tài)從第一狀態(tài)改變?yōu)榈诙顟B(tài)的指令。
      16.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中第一狀態(tài)是激活、暫?;虮患虞d狀態(tài),并且第二狀態(tài)是指示應(yīng)用被終止的被消滅狀態(tài)。
      17.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中當(dāng)由第一應(yīng)用發(fā)出一個狀態(tài)改變異常時,確定第一應(yīng)用沒有改變其狀態(tài)。
      18.如權(quán)利要求17所述的計算機程序產(chǎn)品,其中第二狀態(tài)是指示相關(guān)應(yīng)用正在被執(zhí)行的激活狀態(tài),并且當(dāng)?shù)谝粦?yīng)用使其本身進入暫停狀態(tài)或終止?fàn)顟B(tài)時,由第一應(yīng)用發(fā)出狀態(tài)改變異常。
      19.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中當(dāng)?shù)谝粦?yīng)用拒絕所請求的狀態(tài)改變時,確定第一應(yīng)用沒有改變其狀態(tài)。
      20.如權(quán)利要求15所述的計算機程序產(chǎn)品,其中當(dāng)?shù)谝粦?yīng)用不能執(zhí)行所請求的狀態(tài)改變時,確定第一應(yīng)用沒有改變其狀態(tài)。
      21.一種用于根據(jù)一個應(yīng)用的生存周期管理應(yīng)用的執(zhí)行的系統(tǒng),該系統(tǒng)包括一個或多個規(guī)則;以及一個應(yīng)用管理程序,其能夠根據(jù)一個應(yīng)用的生存周期執(zhí)行一個或多個應(yīng)用,使得每個應(yīng)用能夠響應(yīng)于一個或多個相關(guān)的預(yù)定命令而進入多個狀態(tài)之一,該應(yīng)用管理程序能夠選擇一個預(yù)定命令以根據(jù)一個或多個規(guī)則執(zhí)行。
      22.如權(quán)利要求21所述的系統(tǒng),還包括連接到應(yīng)用管理程序并能夠接收數(shù)據(jù)流的信令監(jiān)視器,該信令監(jiān)視器用于確定一個應(yīng)用是否出現(xiàn)在數(shù)據(jù)流中以及將與該應(yīng)用相關(guān)的信息傳送給應(yīng)用管理程序。
      23.如權(quán)利要求21所述的系統(tǒng),其中應(yīng)用管理程序被配置以存儲對于每個應(yīng)用的應(yīng)用上下文,該應(yīng)用上下文標(biāo)識多個狀態(tài)中當(dāng)前的一個狀態(tài)。
      24.如權(quán)利要求23所述的系統(tǒng),其中多個狀態(tài)中的當(dāng)前一個狀態(tài)由相關(guān)應(yīng)用標(biāo)識給應(yīng)用管理程序。
      25.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還包括識別一個能夠加載一個或多個與應(yīng)用相關(guān)的類的類加載器。
      26.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還識別包括要顯示的顯示信息的顯示上下文。
      27.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還識別使得相關(guān)應(yīng)用能夠與應(yīng)用管理程序通信的應(yīng)用環(huán)境對象。
      28.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還識別使得相關(guān)應(yīng)用能夠檢索與其運行時間環(huán)境相關(guān)的屬性的應(yīng)用環(huán)境對象。
      29.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還識別使得相關(guān)應(yīng)用能夠傳送到多個狀態(tài)之一的狀態(tài)改變的應(yīng)用環(huán)境對象。
      30.如權(quán)利要求23所述的系統(tǒng),其中應(yīng)用上下文還識別使得相關(guān)應(yīng)用能夠請求應(yīng)用管理程序能夠?qū)?yīng)用的當(dāng)前狀態(tài)從暫停狀態(tài)改變?yōu)榧せ顮顟B(tài)的應(yīng)用環(huán)境對象。
      31.如權(quán)利要求21所述的系統(tǒng),還包括一個顯示管理程序,其連接到應(yīng)用管理程序并用于管理對于每個應(yīng)用的顯示上下文,當(dāng)顯示上下文可見時,顯示上下文在第一狀態(tài),當(dāng)顯示上下文不可見時,其在第二狀態(tài)。
      32.如權(quán)利要求31所述的系統(tǒng),其中當(dāng)相應(yīng)用在激活狀態(tài)時,顯示上下文在第一狀態(tài),當(dāng)相關(guān)應(yīng)用在暫停狀態(tài)時,顯示上下文在第二狀態(tài)。
      33.如權(quán)利要求31所述的系統(tǒng),其中顯示上下文的狀態(tài)根據(jù)應(yīng)用管理程序遵循的一個或多個規(guī)則來確定。
      34.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的數(shù)字電視接收機,包括一個處理器;以及用于在其上存儲計算機可讀指令的存儲器,所述計算機可讀指令包括用于從一個數(shù)據(jù)流確定一個應(yīng)用是否出現(xiàn)在該數(shù)據(jù)流中的指令;用于當(dāng)確定應(yīng)用出現(xiàn)在數(shù)據(jù)流中時加載該應(yīng)用的指令;以及用于根據(jù)包括多個狀態(tài)的應(yīng)用的生存周期執(zhí)行該應(yīng)用的指令。
      35.如權(quán)利要求34所述的數(shù)字電視接收機,其中用于執(zhí)行應(yīng)用的指令包括對于應(yīng)用管理程序可見的第一接口,第一接口用于使得應(yīng)用管理程序能夠使得應(yīng)用從多個狀態(tài)之一改變?yōu)槎鄠€狀態(tài)中的另一個狀態(tài);以及對于應(yīng)用可見的第二接口,第二接口用于使得應(yīng)用能夠?qū)?yīng)用的狀態(tài)改變從第一組多個狀態(tài)到第二組多個狀態(tài)傳送給應(yīng)用管理程序。
      36.如權(quán)利要求35所述的數(shù)字電視接收機,其中第二組多個狀態(tài)包括指示應(yīng)用已經(jīng)被暫停的暫停狀態(tài)以及指示應(yīng)用已經(jīng)被終止的被消滅狀態(tài)。
      37.如權(quán)利要求34所述的數(shù)字電視接收機,其中用于執(zhí)行應(yīng)用的指令包括對于應(yīng)用管理程序可見的第一接口,第一接口用于使得應(yīng)用管理程序能夠使得應(yīng)用將其狀態(tài)從多個狀態(tài)之一改變?yōu)槎鄠€狀態(tài)中的另一個狀態(tài);以及對于應(yīng)用可見的第二接口,第二接口用于使得應(yīng)用能夠請求應(yīng)用管理程序?qū)?yīng)用的狀態(tài)改變?yōu)槎鄠€狀態(tài)中的第一個狀態(tài)。
      38.如權(quán)利要求37所述的數(shù)字電視接收機,還包括用于將應(yīng)用的狀態(tài)從多個狀態(tài)中的第二個狀態(tài)改變?yōu)槎鄠€狀態(tài)中的第一個狀態(tài)的指令。
      39.如權(quán)利要求38所述的數(shù)字電視接收機,其中第一個狀態(tài)是激活狀態(tài)并且第二個狀態(tài)是暫停狀態(tài)。
      40.如權(quán)利要求34所述的數(shù)字電視接收機,其中用于執(zhí)行應(yīng)用的指令包括對于應(yīng)用管理程序可見的第一接口,第一接口用于使得應(yīng)用管理程序能夠使得應(yīng)用將其狀態(tài)從多個狀態(tài)之一改變?yōu)槎鄠€狀態(tài)中的另一個狀態(tài);以及對于應(yīng)用可見的第二接口,第二接口用于使得應(yīng)用能夠?qū)?yīng)用不能按照應(yīng)用管理程序所請求的改變其狀態(tài)傳送給應(yīng)用管理程序。
      41.如權(quán)利要求40所述的數(shù)字電視接收機,還包括使得應(yīng)用能夠發(fā)出指示應(yīng)用不能按照應(yīng)用管理程序所請求的改變其狀態(tài)的狀態(tài)改變異常的指令。
      42.如權(quán)利要求40所述的數(shù)字電視接收機,還包括使得應(yīng)用能夠發(fā)出指示應(yīng)用不希望按照應(yīng)用管理程序所請求的改變其狀態(tài)的狀態(tài)改變異常的指令。
      43.如權(quán)利要求36所述的數(shù)字電視接收機,還包括用于當(dāng)應(yīng)用已經(jīng)被終止時釋放與該應(yīng)用相關(guān)的存儲器的指令。
      44.如權(quán)利要求34所述的數(shù)字電視接收機,還包括用于創(chuàng)建與應(yīng)用相關(guān)的類加載器的指令,該類加載器用于加載一個或多個與該應(yīng)用相關(guān)的類;用于采用該類加載器加載與應(yīng)用相關(guān)的類的指令;用于使用已經(jīng)由類加載器加載的類來實例化應(yīng)用的指令。
      45.如權(quán)利要求44所述的數(shù)字電視接收機,還包括用于當(dāng)應(yīng)用被終止時卸載與該應(yīng)用相關(guān)的類的指令。
      46.如權(quán)利要求45所述的數(shù)字電視接收機,其中用于卸載類的指令包括用于解關(guān)聯(lián)類加載器的指令。
      47.一種由應(yīng)用管理程序用于管理數(shù)字電視接收機環(huán)境中的一個應(yīng)用的執(zhí)行的狀態(tài)機,所述狀態(tài)機包括其中應(yīng)用已經(jīng)被加載的被加載狀態(tài);暫停狀態(tài),其中應(yīng)用被暫停,應(yīng)用被初始化從所述被加載狀態(tài)轉(zhuǎn)變?yōu)樗鰰和顟B(tài);激活狀態(tài),其中應(yīng)用被執(zhí)行,應(yīng)用被啟動從所述暫停狀態(tài)轉(zhuǎn)變?yōu)樗黾せ顮顟B(tài);以及被消滅狀態(tài),其中應(yīng)用被消滅,應(yīng)用被終止以從所述的激活狀態(tài)或所述的暫停狀態(tài)轉(zhuǎn)變?yōu)樗霰幌麥鐮顟B(tài)。
      48.如權(quán)利要求47所述的狀態(tài)機,其中當(dāng)應(yīng)用在所述被加載狀態(tài)中被終止時,應(yīng)用可以從所述被加載狀態(tài)轉(zhuǎn)變?yōu)樗霰幌麥鐮顟B(tài)。
      49.如權(quán)利要求48所述的狀態(tài)機,其中應(yīng)用管理程序或者應(yīng)用可以啟動到所述被消滅狀態(tài)的轉(zhuǎn)變。
      50.如權(quán)利要求47所述的狀態(tài)機,其中當(dāng)應(yīng)用要被暫停時,應(yīng)用能夠從所述激活狀態(tài)轉(zhuǎn)變?yōu)樗鰰和顟B(tài)。
      51.如權(quán)利要求50所述的狀態(tài)機,其中應(yīng)用管理程序或者應(yīng)用能夠啟動從所述激活狀態(tài)到所述暫停狀態(tài)的轉(zhuǎn)變。
      52.如權(quán)利要求47所述的狀態(tài)機,其中只有應(yīng)用管理程序通過啟動應(yīng)用來啟動從所述暫停狀態(tài)到所述激活狀態(tài)的改變。
      53.如權(quán)利要求47所述的狀態(tài)機,其中所述狀態(tài)機的狀態(tài)一起構(gòu)成一個應(yīng)用的生存周期。
      54.一種用于根據(jù)一個應(yīng)用的生存周期管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于加載應(yīng)用以便應(yīng)用進入被加載狀態(tài)的指令;用于當(dāng)應(yīng)用在被加載狀態(tài)時初始化應(yīng)用以便應(yīng)用進入暫停狀態(tài)的指令;用于當(dāng)應(yīng)用在暫停狀態(tài)時啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令;以及用于當(dāng)應(yīng)用在被加載狀態(tài)、暫停狀態(tài)或激活狀態(tài)時終止應(yīng)用的執(zhí)行以便應(yīng)用進入被消滅狀態(tài)的指令。
      55.如權(quán)利要求54所述的計算機程序產(chǎn)品,還包括用于當(dāng)應(yīng)用在激活狀態(tài)時暫停應(yīng)用以便應(yīng)用進入暫停狀態(tài)的指令。
      56.如權(quán)利要求54所述的計算機程序產(chǎn)品,其中用于當(dāng)應(yīng)用在暫停狀態(tài)時啟動應(yīng)用的執(zhí)行的指令不能由應(yīng)用調(diào)用。
      57.如權(quán)利要求54所述的計算機程序產(chǎn)品,其中用于當(dāng)應(yīng)用在暫停狀態(tài)時啟動應(yīng)用的執(zhí)行的指令只能由對于應(yīng)用為外部的過程所調(diào)用。
      58.如權(quán)利要求55所述的計算機程序產(chǎn)品,其中用于當(dāng)應(yīng)用在激活狀態(tài)時暫停應(yīng)用的執(zhí)行的指令能夠由對于應(yīng)用為外部的應(yīng)用或過程所調(diào)用。
      59.如權(quán)利要求54所述的計算機程序產(chǎn)品,其中用于終止應(yīng)用的指令可以由對于應(yīng)用為外部的應(yīng)用或過程所執(zhí)行。
      60.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于初始化一個應(yīng)用以便該應(yīng)用進入暫停狀態(tài)的指令;用于啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令;用于暫停應(yīng)用的執(zhí)行以便應(yīng)用進入暫停狀態(tài)的指令;以及用于終止應(yīng)用以便應(yīng)用進入被消滅狀態(tài)的指令。
      61.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令;用于暫停應(yīng)用的執(zhí)行以便應(yīng)用進入暫停狀態(tài)的指令;用于當(dāng)滿足預(yù)定條件時,有條件地終止應(yīng)用的執(zhí)行以便應(yīng)用進入被消滅狀態(tài)的指令;以及用于當(dāng)未滿足預(yù)定條件時,無條件地終止應(yīng)用的執(zhí)行以便應(yīng)用進入被消滅狀態(tài)的指令。
      62.如權(quán)利要求61所述的計算機程序產(chǎn)品,其中預(yù)定條件是從應(yīng)用接收的一個信號。
      63.如權(quán)利要求61所述的計算機程序產(chǎn)品,其中預(yù)定條件是在確定的時間段中沒有從應(yīng)用接收到一個信號。
      64.如權(quán)利要求61所述的計算機程序產(chǎn)品,還包括用于當(dāng)未滿足預(yù)定條件時,忽略由應(yīng)用發(fā)出的狀態(tài)改變異常的指令,該狀態(tài)改變異常指示應(yīng)用不希望終止。
      65.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令;用于暫停應(yīng)用的執(zhí)行以便應(yīng)用進入暫停狀態(tài)的指令;用于終止應(yīng)用以便應(yīng)用進入被消滅狀態(tài)的指令;以及一個包括一組指令的接口,其使得一個過程而不是應(yīng)用能夠啟動如下指令的執(zhí)行用于啟動應(yīng)用的執(zhí)行的指令、用于暫停應(yīng)用的執(zhí)行的指令以及用于終止應(yīng)用的指令。
      66.如權(quán)利要求65所述的計算機程序產(chǎn)品,其中接口包括一個存根模塊,其調(diào)用用于終止應(yīng)用的指令,該存根模塊能夠接受一個參數(shù),該參數(shù)指示當(dāng)該參數(shù)在第一狀態(tài)時,應(yīng)用的終止是無條件的,而當(dāng)該參數(shù)在第二狀態(tài)時,應(yīng)用的終止為有條件的。
      67.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于傳送應(yīng)用已經(jīng)決定終止并已經(jīng)從被加載狀態(tài)、暫停狀態(tài)或激活狀態(tài)進入被消滅狀態(tài)的指令;用于傳送應(yīng)用已經(jīng)決定暫停其執(zhí)行并已經(jīng)從激活狀態(tài)進入暫停狀態(tài)的指令。
      68.如權(quán)利要求67所述的計算機程序產(chǎn)品,還包括用于傳送應(yīng)用希望恢復(fù)執(zhí)行并從暫停狀態(tài)進入激活狀態(tài)的指令。
      69.如權(quán)利要求67所述的計算機程序產(chǎn)品,還包括用于獲取與應(yīng)用的運行時間環(huán)境相關(guān)的信息的指令。
      70.如權(quán)利要求67所述的計算機程序產(chǎn)品,還包括一個包括一組指令的接口,其使得應(yīng)用能夠啟動以下指令的執(zhí)行用于傳送應(yīng)用已經(jīng)決定終止的指令以及用于傳送應(yīng)用已經(jīng)決定暫停其執(zhí)行的指令。
      71.如權(quán)利要求68所述的計算機程序產(chǎn)品,還包括一個包括一組指令的接口,其使得應(yīng)用能夠啟動如下指令的執(zhí)行用于傳送應(yīng)用已經(jīng)決定終止的指令、用于傳送應(yīng)用已經(jīng)決定暫停其執(zhí)行的指令以及用于傳送應(yīng)用希望恢復(fù)執(zhí)行并從暫停狀態(tài)進入激活狀態(tài)的指令。
      72.一種用于根據(jù)一個應(yīng)用的生存周期來管理應(yīng)用的執(zhí)行的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括其上存儲計算機可讀指令的計算機可讀介質(zhì),所述計算機可讀指令包括用于啟動應(yīng)用的執(zhí)行以便應(yīng)用進入激活狀態(tài)的指令,其中用于啟動應(yīng)用的執(zhí)行的指令不能由應(yīng)用調(diào)用;用于暫停應(yīng)用的執(zhí)行以便應(yīng)用進入暫停狀態(tài)的指令;以及用于傳送應(yīng)用希望恢復(fù)執(zhí)行并從暫停狀態(tài)進入激活狀態(tài)的指令。
      73.如權(quán)利要求72所述的計算機程序產(chǎn)品,還包括用于傳送應(yīng)用已經(jīng)決定暫停其執(zhí)行并已經(jīng)從激活狀態(tài)進入暫停狀態(tài)的指令。
      74.如權(quán)利要求72所述的計算機程序產(chǎn)品,還包括用于終止應(yīng)用以便應(yīng)用進入被消滅狀態(tài)的指令。
      75.如權(quán)利要求74所述的計算機程序產(chǎn)品,還包括用于傳送應(yīng)用已經(jīng)決定終止并已經(jīng)進入被消滅狀態(tài)的指令。
      全文摘要
      用于根據(jù)一個應(yīng)用的生存周期管理應(yīng)用的執(zhí)行的方法和設(shè)備。由應(yīng)用管理程序通過一組使得應(yīng)用管理程序能夠使得應(yīng)用進入多個狀態(tài)之一的命令來管理該應(yīng)用的生存周期。此外,應(yīng)用能夠與應(yīng)用管理程序通信,以指示應(yīng)用不能按照應(yīng)用管理程序所請求的改變其狀態(tài)或者請求應(yīng)用管理程序?qū)?yīng)用的狀態(tài)改變?yōu)橐粋€特定狀態(tài)。
      文檔編號H04N5/00GK1360695SQ00810268
      公開日2002年7月24日 申請日期2000年7月13日 優(yōu)先權(quán)日1999年7月13日
      發(fā)明者B·H·卡德爾, T·葉, J·D·里瓦斯, J·D·庫爾特尼, K·L·梅瑟 申請人:太陽微系統(tǒng)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1