專利名稱:用于后臺java應用資源控制的系統(tǒng)和方法
技術領域:
本發(fā)明一般地涉及基于Java的軟件程序。更具體地,本發(fā)明涉 及由相應的Java平臺進行的對基于Java的程序的資源監(jiān)管。
背景技術:
Java2平臺,小型版(J2ME)為操作在例如移動電話、個人數(shù) 字助理(PDA)的設備上以及其他電子設備上的應用提供穩(wěn)健和靈 活的環(huán)境。J2ME平臺包括靈活的用戶接口、穩(wěn)健的安全模型、寬范 圍的內置網(wǎng)絡協(xié)議和其他特征。在例如運行J2ME平臺的移動電話的電子設備中,例如計算才幾處 理功率、存儲器和電池壽命的系統(tǒng)資源是有限的。這些限制在較小決該問題,當前的系歹11 40Java軟件組件允許一次4又運行一個midlet。 midlet是運行在移動設備上的應用。另外,運行在J2ME平臺上的 midlet必須總是在前臺中運行。術語"前臺"表示在設備顯示器上顯 示midlet的思想,并且當激勵按鈕或按鍵時,行程(stroke )被路由 至midlet。因此當運行midlet時,用戶能夠觀察到系統(tǒng)資源正在由 midlet使用。因為當前的系統(tǒng)僅允許一次運行一個midlet,例如處理功率和電池壽命等資源的浪費還不是很明顯的問題。然而,正在開發(fā)的技術 將允許多個midlet同時操作在系統(tǒng)上,并且允許midlet在系統(tǒng)的后 臺中操作。術語"后臺"意味著發(fā)布的midlet將不顯示在電子設備 的顯示器上,并且當激勵按鈕或按鍵時,行程不會引導至midlet。該 特征允許各種程序和特征,例如第三方消息傳送系統(tǒng)、電子郵件程 序等將由第三方開發(fā)者來設計和實施,因此可向最終用戶提供許多 優(yōu)點。盡管有益,但在后臺中運行多個midlet的可能性帶來一組新的 潛在問題。第三方、基于JAVA的軟件經(jīng)常需要相當量的存儲和處 理功率,這也導致電池比內置編程更快地耗盡。這可導致其他負面 影響,例如引起設備中的其他應用運行更加地緩慢、阻止其他應用 啟動以及其他的問題。事實上當程序運行在后臺時,用戶可能甚至無法完全認識到在 設備上實際運行了多少程序,則上面標出的問題將進一步加劇。隨 著處理功率、存儲器和電池壽命的減少,用戶可能不能理解問題的 原因,可能將設備本身誤認為是問題源而非第三方軟件。另外,這 些程序可能繼續(xù)在后臺操作,即使用戶不期望它們在特定的時刻操 作。除了上述以外,保持在后臺并且不需要進入前臺的midlet可能 是設計成以下列方式運轉的最佳有效midlet:其可以是用戶已經(jīng)啟動 并且忘記的midlet;其可以是編寫糟糕的midlet;或者其可以是設計 成耗費資源或造成其他問題的惡意midlet。然而,只要midlet保持 在后臺中,那么用戶就甚至不太可能意識到它的存在。發(fā)明內容本發(fā)明提供監(jiān)視后臺midlet的系統(tǒng)和方法,從而可向用戶通知 它們的操作。在本發(fā)明的原理下,如果后臺midlet沒有要求移動到 前臺并且midlet使用的系統(tǒng)資源超出了預定閾值,則通過系統(tǒng)向用 戶警告midlet正在后臺中運行。 一旦用戶已經(jīng)注意到midlet的操作, 則用戶可以決定終止造成警告的midlet。在電子設備的操作期間,本發(fā)明向用戶提供顯著的優(yōu)點。利用 本發(fā)明,用戶增加了保留系統(tǒng)資源和避免負面影響的機會,這些負 面效應例如是使得其他應用運行緩慢,令其他應用無法啟動它們自 己的操作,以及比期望或需要而更快地損失電池壽命。當根據(jù)結合附圖時所做出的下面的詳細描述,本發(fā)明的這些和
其他目的、優(yōu)勢和特征,連同其操作的組織和方式將變得明顯,其 中貫穿下面所述的幾副附圖,相同的元件具有相同的編號。
圖1是可在本發(fā)明的實施中所使用的移動電話的透視圖;圖2是圖1的移動電話的電話電路的示意圖;圖3是示出本發(fā)明的一個實施方式的實施的流程圖;以及圖4是表示用于禁用本發(fā)明的midlet警告功能的顯示屏幕的示具體實施方式
圖1和圖2示出本發(fā)明可依據(jù)其實施的示意性移動電話12。然 而,應該理解本發(fā)明不旨在限于一種特定類型的移動電話并且可以 并入例如個人數(shù)字助理、個人計算機和其他設備的電子設備。應該 理解本發(fā)明可被并入到各種移動電話12上。圖l和圖2的移動電話 12包括機殼30、液晶顯示器形式的顯示器32、小鍵盤34、麥克風 36、耳筒38、電池40、紅外線端口42、天線44、 4艮據(jù)本發(fā)明的一 個實施方式的通用集成電路卡(UICC)形式的智能卡46、讀卡器48、 無線接口電路52、編解碼器電路54、控制器56和存儲器58。應該 理解控制器56可以是與照相機處理器16相同或不同的單元。各個 電路和元件是現(xiàn)有技術中熟知的所有類型的一種,例如諾基亞范圍 內的移動電"i舌。本發(fā)明包括向用戶提供midlet正操作在系統(tǒng)的后臺的通知的系 統(tǒng)和方法,其中該midlet正在消耗預定量的資源和/或已經(jīng)操作預定 時間段。盡管在midlet的上下文中描述了本發(fā)明的實施方式,但應例如,本發(fā)明的實施方式可應用于安裝在移動電話上的其他第三方 應用,例如Symbian應用或其他JAVA配置文件(例如Xlet或JAVA 應用)。
向用戶警告關于midlet程序的方式可根據(jù)正在使用的設備的設 計以及用戶接口的設計來改變。在本發(fā)明的一個實施方式中,例如, 設備可通過揚聲器播放聲音和/或在顯示器上顯示圖標、文本或圖形 來警告用戶關于特定的后臺midlet已經(jīng)超出確定的資源閾值和/或已 經(jīng)操作了過度的時間段。另 一個潛在選項是對設備上的振動器進行 驅動的系統(tǒng),從而用戶可感覺到警告。根據(jù)本發(fā)明的原理,系統(tǒng)還可監(jiān)視幾種類型的系統(tǒng)資源。在本 發(fā)明的一個實施方式中,被監(jiān)視的閾值和實際資源是系統(tǒng)特定的。 下面是根據(jù)本發(fā)明的原理可被監(jiān)視從而觸發(fā)警告的資源的例子。下 面所述的其他參數(shù)也可被監(jiān)視和/或觸發(fā)警告。對于電子設備的中央處理單元(CPU),可由系統(tǒng)監(jiān)視由后臺 midlet執(zhí)行的字節(jié)代碼的數(shù)目。另外,也可監(jiān)視映射到本有(native ) 系統(tǒng)調用的Java方法。當超出這些參數(shù)的任意一個的閾值時,則警 告用戶midlet正操作在后臺。對于電子設備的存儲單元,可以監(jiān)視由midlet所消耗的Java堆 (heap)或本有存儲的量。當超出這些參數(shù)的任意一個的閾值時, 則警告用戶midlet正操作在后臺。對于電子設備上的定時器,后臺midlet保持在后臺的時間量也 可被監(jiān)視。當后臺midlet已經(jīng)保持在后臺超出預定時間段,則警告 用戶midlet正操作在后臺。除了上述情況以外,當由于后臺midlet的存在而導致電池以高 的速率消耗時也可警告用戶。然而,在許多實例中,這樣的動作也 可發(fā)生在由于對CPU或存儲器的過度需求,二者都有可能導致向用 戶提供獨立的警告。在本發(fā)明的 一 個實施方式中,上述的閾值是基于由系統(tǒng)或平臺 制造商所提供的預定設置。然而,還可以向用戶提供高級選項以便 按照期望來訂制這些設置。當給出警告時可以向用戶提供各種類型的信息。當提供警告或 指示時,可將例如但不限于midlet的名稱、midlet程序的制造、midlet
的大小、midlet的應用類型、正在被使用的存儲量和/或處理功率、 midlet操作在后臺中的時間量以及其他信息全部提供給用戶。圖3是示出用于實施本發(fā)明的一個方法的通用流程圖。在步驟 100, midlet開始在電子設備的后臺中操作。在步驟110,電子設備 開始監(jiān)視midlet的活動性。盡管按順序示出步驟100和110,但應當 理解的是這兩個動作可基本上同時發(fā)生。在步驟120, midlet的活動 性通過預指定的閾值。如上所提到的,發(fā)布的活動性可涉及處理設 備存儲、處理功率、midlet已經(jīng)操作在后臺中的時間量的功能或其他 功能。在步驟130,系統(tǒng)向用戶提供關于midlet的活動性的指示。在 步驟140,在用戶的選項中,如果用戶期望,則用戶可禁用midlet。在一些情況中,midlet (利用必要的許可預先安裝或下載)可以 默認地將資源控制設置到OFF。在這種情況下,用戶可以或可以不 具有針對這些midlet將資源控制轉到ON的選項。另外,根據(jù)情況,將存在許多其中最佳的有效midlet被設計成 長時間段地在后臺中運行的情況。在許多實例中,這樣的midlet將 不是顯著消耗系統(tǒng)資源的midlet或將是用戶期望持續(xù)在后臺中操作 的midlet。在這樣的情況中,用戶可能不想就該midlet而^f皮警告。 對于這種方案,本發(fā)明可包括一種機制,其中可向用戶提供選項以 基于每個midlet而禁用后臺midlet資源監(jiān)視。在圖4中示出這樣的 選項的通用表示。在本例中,系統(tǒng)可在顯示器32上向用戶提供菜單 91,該菜單提供了在設備上檢測到的所有midlet的列表93 ,其中使 用檢查框(checkbox) 95來識別應該或不應該就其提供警告的那些 midlet。在圖3的步驟150中示出了該特定的選擇,并且在本發(fā)明的 一個實施方式中,可以在midlet正在運行或沒有正在運行時實施。在方法步驟的一般上下文中描述了本發(fā)明,其在一個實施方式 可通過程序產品來實施,該程序產品包括可由網(wǎng)絡化環(huán)境中的計算 機所執(zhí)行的計算機可執(zhí)行指令,例如程序代碼。一般地,程序模塊包括執(zhí)行特定任務或實施特定抽象數(shù)據(jù)類型 的例程、程序、對象、組件、數(shù)據(jù)結構等。計算機可執(zhí)行指令、關
聯(lián)的數(shù)據(jù)結構以及程序模塊表示用于執(zhí)行這里公開的方法的步驟的 程序代碼的例子。這類可執(zhí)行指令或關聯(lián)的數(shù)據(jù)結構的特定序列表 示用于實施這類步驟中所述的功能的相應動作的例子??衫脴藴实木幊?支術來完成本發(fā)明的軟件和web實施,該編 程技術具有基于規(guī)則的邏輯和其他邏輯以完成各種數(shù)據(jù)庫搜索步 驟、相關步驟、比較步驟和判定步驟。應該注意到這里和權利要求 書中所使用的措詞"組件"和"模塊"旨在包括使用一行或多行軟 件代碼的實施和/或硬件實施,和/或用于接收手動輸入的設備。為了示例和描述已經(jīng)提供了本發(fā)明的實施方式的上述描述。不旨 在窮舉或將本發(fā)明限制于這里所公開的精確形式,根據(jù)本發(fā)明的上 述教導或從本發(fā)明的實踐可獲得修改和變形。選擇和描述實施方式 以便解釋本發(fā)明的原理及其實際應用,從而使得本領域技術人員在格之格實施方式中以及利用預期特定使用的各種修復來實施本發(fā)明。
權利要求
1.一種提供關于電子設備操作的指示的方法,該方法包括令程序在所述電子設備的后臺中操作;監(jiān)視所述程序的活動性;就至少一個操作參數(shù)來確定所述程序的活動性是否超出了預定閾值;如果所述程序的活動性超出了所述預定閾值,則向用戶提供關于所述程序的活動性的指示。
2. 根據(jù)權利要求1所述的方法,另外包括向所述用戶提供一種 在接收到所述指示之后終止所述程序的選項的步驟。
3. 根據(jù)權利要求1所述的方法,其中以可視的形式向所述用戶 提供所述指示。
4. 根據(jù)權利要求1所述的方法,其中以可聽的形式向所述用戶 提供所述指示。
5. 根據(jù)權利要求1所述的方法,其中至少一個操作參數(shù)涉及所 述電子設備內存儲單元的使用。
6. 根據(jù)權利要求1所述的方法,其中至少一個操作參數(shù)涉及所 述電子設備內處理器的使用。
7. 根據(jù)權利要求1所述的方法,其中至少一個操作參數(shù)涉及所 述電子設備內能量源的使用。
8. 根據(jù)權利要求1所述的方法,其中至少一個操作參數(shù)包括所 述程序在所述后臺中保持的時間量。
9. 根據(jù)權利要求1所迷的方法,另外包括使得所述用戶能夠手 工地設置所述閾值的步驟。
10. 根據(jù)權利要求1所述的方法,另外包括使得用戶能夠選擇性 地解除提供所述指示的步驟。
11. 一種用于提供關于電子設備操作的指示的計算機程序產品,該計算機程序產品包括用于令程序在所述電子設備的后臺中操作的計算機代碼;用于監(jiān)視所述程序的活動性的計算機代碼;用于就至少 一 個操作參數(shù)來確定所述程序的活動性是否超出了 預定閾值的計算機代碼;用于如果所述程序的活動性超出了所述預定閾值,則向用戶提 供關于所述程序的活動性的指示的計算機代碼。
12. 根據(jù)權利要求11所述的計算機程序產品,另外包括向所述 用戶提供一種在接收到所述指示之后終止所述程序的選項的計算機 代碼。
13. 根據(jù)權利要求11所述的計算機程序產品,其中以可視的形 式向所述用戶提供所述指示。
14. 根據(jù)權利要求11所述的計算機程序產品,其中以可聽的形 式向所述用戶提供所述指示。
15. 根據(jù)權利要求11所述的計算機程序產品,其中至少一個操 作參數(shù)涉及所述電子設備內存儲單元的使用。
16. 根據(jù)權利要求11所述的計算機程序產品,其中至少一個操 作參數(shù)涉及所述電子設備內處理器的使用。
17. 根據(jù)權利要求11所述的計算機程序產品,其中至少一個操 作參數(shù)涉及所述電子設備內能量源的使用。
18. 根據(jù)權利要求11所述的計算機程序產品,其中至少一個搡 作參數(shù)包括所述程序在所述后臺中保持的時間量。
19. 根據(jù)權利要求11所述的計算機程序產品,另外包括使得所 述用戶能夠手工地設置所述閾值的計算機代碼。
20. 根據(jù)權利要求11所述的計算機程序產品,另外包括使得用 戶能夠選擇性地解除提供所述指示的計算機代碼。
21. —種電子設備,包括 處理器,用于處理信息;以及存儲單元,用于存儲將要由所述處理器所處理的信息,所述存儲單元包括計算機程序產品,該計算機程序產品包括用于令程序在所述電子設備的后臺中操作的計算機代碼; 用于監(jiān)視所述程序的活動性的計算機代碼; 用于就至少 一 個操作參數(shù)確定所述程序的活動性是否超出 了預定閾值的計算機代碼;用于如果所述程序的活動性超出了所述預定閾值,則向用 戶提供關于所述程序的活動性的指示的計算機代碼。
22. 根據(jù)權利要求21所述的電子設備,其中所述計算機程序產 品另外包括向所述用戶提供一種在接收到所述指示之后終止所述程 序的選項的計算機代碼。
23. 根據(jù)權利要求21所述的電子設備,其中在操作地連接到所 述處理器的顯示器上向用戶提供所述指示。
24. 根據(jù)權利要求21所述的電子設備,其中通過操作地連接到 所述處理器的揚聲器來向用戶提供所述指示。
25. 根據(jù)權利要求21所述的電子設備,其中至少一個操作參數(shù) 涉及存儲單元的使用。
26. 根據(jù)權利要求21所述的電子設備,其中至少一個操作參數(shù) 涉及所述處理器的使用。
27. 根據(jù)權利要求21所述的電子設備,其中至少一個操作參數(shù) 涉及所述電子設備內能量源的使用。
28. 根據(jù)權利要求21所述的電子設備,其中至少一個操作參數(shù) 包括所述程序在所述后臺中保持的時間量。
29. 根據(jù)權利要求21所述的電子設備,其中所述計算機程序產 品另外包括用于使得所述用戶能夠手工地設置所述閾值的計算機代 碼。
30. 根據(jù)權利要求21所述的電子設備,其中所述計算機程序產 品另外包括使得用戶能夠選擇性地解除提供所述指示的計算機代 碼。
31. 根據(jù)權利要求21所述的電子設備,其中所述程序包括Java midlet。
全文摘要
一種用于提供關于電子設備的操作的指示的系統(tǒng)和方法。當程序操作在電子設備的后臺中時,由系統(tǒng)電監(jiān)視程序的活動性。系統(tǒng)就電子設備的至少一個操作參數(shù)來確定程序的活動性是否超出了閾值。如果程序的活動性超出了預定閾值,則向用戶提供關于程序的活動性的指示。
文檔編號G06F11/32GK101120318SQ200580048118
公開日2008年2月6日 申請日期2005年12月16日 優(yōu)先權日2004年12月17日
發(fā)明者L·努南, M·羅蒂斯 申請人:諾基亞公司