專利名稱:資源管理方法和嵌入設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng)中的資源的管理方法和嵌入設(shè)備,尤其涉及面向稱為嵌入設(shè)備的資源少的計算機系統(tǒng)的資源管理方法。
背景技術(shù):
近年來,信息家電或便攜電話等所謂的稱為嵌入設(shè)備的信息處理設(shè)備的功能加速增大。用戶要求的高度化,廠商間的競爭。針對網(wǎng)絡(luò)的對應等因素成為促進功能增多的原因。為了應對這些功能增多,裝載在嵌入設(shè)備中的軟件也變得復雜化,用于軟件的動作的資源的管理也一并變得復雜。例如,在組合多個實現(xiàn)各功能要素的軟件模塊(以下稱為模塊)來實現(xiàn)全部功能的嵌入設(shè)備中,產(chǎn)生模塊相互爭奪資源,資源枯竭,動作停止等故障的情形。這樣的資源故障能夠通過慎重地推行開發(fā)作業(yè)來避免,但關(guān)系到開發(fā)所需要的時間和經(jīng)費的增加則成為較大的問題。此外通過嵌入設(shè)備的網(wǎng)絡(luò)連接的進展,嵌入設(shè)備接收模塊,執(zhí)行接收到的模塊的系統(tǒng)事件增加。例如,以經(jīng)由網(wǎng)絡(luò)等來交換軟件產(chǎn)品,從而容易變更各種設(shè)備的功能為目標的平臺技術(shù)的OSGi (注冊商標)規(guī)定了用于對在各家庭中設(shè)置的家庭網(wǎng)關(guān)分發(fā)模塊的規(guī)格。一般,通過這樣的系統(tǒng)來分發(fā)的模塊多種多樣,模塊的資源使用量也多種多樣。因此, 分發(fā)并執(zhí)行大量地使用資源的模塊時,存在嵌入設(shè)備使用的資源枯竭的可能性。作為應對上述的問題的方法,已知多個監(jiān)視以及控制模塊單位的使用資源量的方法。作為代表性的方法,設(shè)置模塊單位的資源量限制值、不允許使用規(guī)定量以上的資源的方法。例如,在專利文獻1中示出了通過限制整個系統(tǒng)以及模塊使用的資源量來避免因資源枯竭而引起的動作停止等故障的資源管理方法。此外,在非專利文獻1中表示了分割存儲器區(qū)域,將分割區(qū)域和模塊對應起來,由此限制各模塊使用的存儲器量的方法。詳細地說,示出了設(shè)置一個共享的存儲器專用的分割區(qū)域,限制共享的存儲器的量的方法在先技術(shù)文獻專利文獻專利文獻1 日本特開2006-209735號公報非專利文獻非專利文獻 1 Godmar Back, Wilson C. Hsiegh, Jay Lepreau. Processes in KaffeOS isolation, Resource Management, and Sharing in Java. USENIX Symposium OSDI 2000, Oct. 23-25,2000.
發(fā)明內(nèi)容
但是,并不限于模塊一定要消耗資源到限制值為止。由于根據(jù)用戶的利用方法或在系統(tǒng)中正在執(zhí)行的模塊的結(jié)構(gòu),模塊實際使用的資源量變化,所以需要使設(shè)定在各模塊中的限制值具有某種程度的余量。因此,當以小于各個模塊的限制值的總和且小于整個系統(tǒng)的資源絕對量的方式來進行限制并執(zhí)行模塊時,存在與整個系統(tǒng)的資源量中的余量無關(guān)地能執(zhí)行的模塊數(shù)受限制的問題。例如,在非專利文獻1中所示的現(xiàn)有技術(shù)中,存在隨著模塊數(shù)的增加,不得不細分存儲空間,所以在各分割區(qū)域中產(chǎn)生空閑區(qū)域,從而存儲器的使用效率下降的問題。本發(fā)明的目的在于為了解決上述問題,提供在組合多個模塊使其動作的嵌入系統(tǒng)中,降低因資源枯萎而引起的故障發(fā)生的概率,并提高資源使用效率的資源管理方法以及嵌入設(shè)備。本發(fā)明的最主要的特征在于,關(guān)于在重新安裝或執(zhí)行模塊時,能夠根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,來判斷為模塊正在穩(wěn)定動作,并不是根據(jù)在各模塊中設(shè)定的資源使用量限制值,而是根據(jù)執(zhí)行履歷,將實際使用的資源的最大值包含在總和中,判斷可否安裝或執(zhí)行。S卩、本發(fā)明是個別地限制軟件模塊使用的資源量、使各軟件模塊的最大資源使用量的總和小于整個系統(tǒng)資源量的系統(tǒng)中的資源管理方法,該資源管理方法具有在重新安裝或執(zhí)行軟件模塊時,根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,判斷為軟件模塊正在穩(wěn)定動作的步驟;以及根據(jù)執(zhí)行履歷,將實際資源使用最大值包含在總和中,判斷可否安裝或執(zhí)行的步驟。此外,本發(fā)明是一種嵌入設(shè)備,其個別地限制軟件模塊使用的資源量、使各軟件模塊的最大資源使用量的總和小于系統(tǒng)整體資源量,所述嵌入設(shè)備具有在重新地安裝或執(zhí)行軟件模塊時,根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,判斷為軟件模塊正在穩(wěn)定動作的單元;以及根據(jù)執(zhí)行履歷,將實際資源使用最大值包含在總和中,判斷可否安裝或執(zhí)行的單元。根據(jù)本發(fā)明,特別在限制資源的嵌入系統(tǒng)中,具有在各模塊的資源使用量被限制的環(huán)境下,降低因資源枯竭而引起的故障產(chǎn)生的概率,并且使資源使用效率化的效果。
圖1是實施例1的系統(tǒng)結(jié)構(gòu)圖。圖2是表示軟件模塊的詳細的圖。圖3是表示資源信息表的數(shù)據(jù)結(jié)構(gòu)的圖。圖4是表示判斷可否安裝或執(zhí)行軟件模塊的處理的流程圖。圖5是表示關(guān)于存儲器移動的一例的圖。
具體實施例方式說明用于實施本發(fā)明的最佳方式。對本發(fā)明的資源管理方法和嵌入設(shè)備的實施例進行說明。圖1是本發(fā)明的一個實施例的系統(tǒng)結(jié)構(gòu)圖。遠程維護服務器裝置110具有故障信息收集部111以及故障信息數(shù)據(jù)112,經(jīng)由因特網(wǎng)收集在信息家電終端裝置產(chǎn)生的軟件模塊的故障信息。軟件模塊分發(fā)服務器裝置120具有軟件模塊登錄部121、分發(fā)軟件模塊存儲部122以及軟件模塊分發(fā)部123,向信息家電終端裝置140分發(fā)新的軟件模塊。信息家電終端裝置140具有軟件模塊接收部141、模塊管理部142、模塊軟件模塊143、故障信息發(fā)送部 144、資源使用監(jiān)視部145以及資源信息表146。軟件模塊接收部141從軟件模塊分發(fā)服務器裝置120接收軟件模塊。模塊管理部142根據(jù)資源信息表146的數(shù)據(jù),判斷可否安裝或執(zhí)行模塊。存在從軟件模塊分發(fā)服務器裝置120接收的軟件模塊或預先安裝在信息家電終端裝置140中的軟件模塊等多個軟件模塊143。故障信息發(fā)送部144將在軟件模塊143中發(fā)生的故障信息發(fā)送給遠程維護服務器裝置110。尤其在不超過設(shè)定在軟件模塊143中的資源限制值的范圍內(nèi)發(fā)生了因資源枯竭而引起的障害時,發(fā)送其故障信息。故障信息是在日志(log)、信息轉(zhuǎn)儲(memory dump)、線程轉(zhuǎn)儲(thread dump)、資源使用狀況等,在軟件模塊143中發(fā)生的故障的原因確定中利用的信息。遠程維護服務器裝置110根據(jù)該信息進行必要的維護,例如進行在信息家電終端裝置140上動作的軟件模塊143的停止、卸載、更新等。資源使用監(jiān)視部145監(jiān)視軟件模塊143使用的資源,將資源使用量的最大值存儲在資源信息表146中。圖2表示圖1的軟件模塊143的詳細。軟件模塊143被存儲在分發(fā)軟件模塊存儲部122中,并在信息家電終端裝置140中執(zhí)行。軟件模塊143由元數(shù)據(jù)210和程序代碼 220和數(shù)據(jù)資源230構(gòu)成。元數(shù)據(jù)210記述了在軟件模塊143的安裝以及執(zhí)行中所必要的信息,記述了軟件模塊143的執(zhí)行所必需的依存軟件模塊211的信息或存儲器限制值212。 指定了 0個以上的依存軟件模塊211。程序代碼220是在信息家電終端裝置140上執(zhí)行的代碼。數(shù)據(jù)資源230是程序代碼220所利用的圖像等數(shù)據(jù)。圖3表示圖1的資源信息表146的數(shù)據(jù)結(jié)構(gòu)。模塊管理部142參照資源信息表146 決定可否安裝或執(zhí)行軟件模塊。301是用于唯一地確定軟件模塊的識別符。執(zhí)行時間302 是從安裝軟件模塊開始的總執(zhí)行時間。存儲器移動最終時刻303是通過垃圾收集(gartage collection)來進行了軟件模塊使用的存儲器區(qū)域的移動的最后的時刻。存儲器使用量最大值304是從安裝軟件模塊開始到最大所使用的存儲器量。存儲器限制值305是在軟件模塊中設(shè)定的能夠使用的存儲量的限制值。存在預先在信息家電終端裝置140出廠時設(shè)定存儲器限制值305的情形,或者通過遠程維護服務器裝置110來對存儲器限制值305的設(shè)定進行更新的情形,或者在接收的軟件模塊中包含存儲器限制值的情形。行要素307有在出庫時進行設(shè)定的情形、在安裝軟件模塊時進行追加的情形、通過遠程維護服務器裝置110 進行追加的情形。圖4表示關(guān)于軟件模塊接收部141接收的軟件模塊143,模塊管理部142僅根據(jù)存儲在資源信息表146中的存儲器關(guān)聯(lián)的數(shù)據(jù),判斷模塊的安裝或執(zhí)行可否的流程圖。以下說明處理流程。處理401 軟件模塊接收部141接收軟件模塊143。處理402 模塊管理部142從接收的軟件模塊143的元數(shù)據(jù)201,取得依存軟件模塊211和存儲器限制值212。處理403 將存儲最大存儲器使用量總和的變量設(shè)定為0。處理404 從資源信息表146取得下一個行要素307。處理405 在從接收軟件模塊取得的依存軟件模塊211中含有模塊識別符301時, 由于通過新的軟件模塊的安裝以及執(zhí)行,有存儲器使用量最大值增加的可能性,所以前進到步驟408。除此以外前進到處理406。處理406 在執(zhí)行時間302超過預先設(shè)定的閾值時,前進到處理409。除此以外前進到處理407。處理407 根據(jù)當前時刻和存儲器移動最終時刻303的差分,計算經(jīng)過時間,并在經(jīng)過時間超過預先設(shè)定的閾值時,前進到處理409。除此以外,前進到處理408。處理408 在存儲最大存儲器使用量總和的變量上加上限制值305。處理409 在存儲最大存儲器使用量總和的變數(shù)上加算存儲器使用量最大值304。處理410 是資源信息表146的最后的行要素307的情況下,前進到處理411,除此以外,前進到處理404。處理411 在存儲最大存儲器使用量總和的變量上加算軟件模塊的存儲器限制值 212。處理412 比較存儲最大存儲器使用量總和的變量的值和能在整個系統(tǒng)中使用的存儲器的絕對量,在存儲最大存儲器使用量總和的變量的值小的情況下,前進到步驟413。 除此以外,不進行接收軟件模塊的安裝而前進到處理401。處理413 進行接收軟件模塊的安裝和啟動。通過存儲器以外的資源的限制值來判斷可否對接收軟件模塊進行安裝或執(zhí)行時, 將上述流程的存儲器置換在其他資源上執(zhí)行。但是,處理407是存儲器407特有的處理,所以省略。圖5是表示記錄圖1的資源信息表146的存儲器移動最終時刻303的定時的一例的圖。作為能夠有效率地對于軟件模塊使用的存儲器區(qū)域501進行垃圾收集的方法,已知分代垃圾收集方式。在分代垃圾收集方式中,將軟件模塊使用的存儲區(qū)域501分成新一代區(qū)域510和舊一代區(qū)域520。在重新確保軟件模塊使用的存儲器區(qū)域時,最初在新時代區(qū)域 510中分割區(qū)域511。即使執(zhí)行了規(guī)定次數(shù)的垃圾收集后,也在軟件模塊使用在新世代區(qū)域 510中分配區(qū)域的存儲器區(qū)域時,將存儲器區(qū)域移動(復制)到舊世代區(qū)域520中。具有如下特征當軟件模塊的存儲器使用量逐漸穩(wěn)定時,通過執(zhí)行規(guī)定次數(shù)內(nèi)的垃圾收集來釋放被分配給新世代區(qū)域510的存儲器區(qū)域512。資源使用監(jiān)視部145在被分配給軟件模塊的存儲器區(qū)域511從新世代區(qū)域510移動到舊世代區(qū)域520時,在資源信息表146的存儲器移動最終時刻303中記錄當前時刻。模塊管理部142在從存儲器移動最終時刻303開始的經(jīng)過時間較長時,判斷為正在穩(wěn)定動作。以上,如在實施例中說明那樣,本發(fā)明并不限于嵌入系統(tǒng),還能適用于任意地安裝軟件,且在因資源枯竭而引起的故障發(fā)生時用戶很難直接復原的監(jiān)視裝置或數(shù)據(jù)中心設(shè)備等信息系統(tǒng)。符號說明110遠程維護服務器裝置111故障信息收集部112故障信息數(shù)據(jù)120軟件模塊分發(fā)服務器裝置121軟件模塊登錄部122分發(fā)軟件模塊存儲部
123軟件模塊分發(fā)部130 網(wǎng)絡(luò)140信息家電終端裝置141軟件模塊接收部142模塊管理部143軟件模塊144故障信息發(fā)送部145資源使用監(jiān)視部146資源信息表210元數(shù)據(jù)211依存軟件模塊212存儲器限制值220程序代碼230數(shù)據(jù)資源301模塊識別符302執(zhí)行時間303存儲器移動最終時刻304存儲器使用量最大值305存儲器限制值307行要素501軟件模塊可使用的存儲器區(qū)域510新世代區(qū)域511軟件模塊的分配存儲器區(qū)域512軟件模塊的分配存儲器區(qū)域520舊世代區(qū)域
權(quán)利要求
1.一種資源管理方法,其是個別地限制軟件模塊使用的資源量、使各軟件模塊的最大資源使用量的總和小于整個系統(tǒng)資源量的系統(tǒng)的資源管理方法,該資源管理方法的特征在于,具有在重新地安裝或執(zhí)行軟件模塊時,根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,判斷為軟件模塊正在穩(wěn)定動作的步驟;以及根據(jù)執(zhí)行履歷,將實際資源使用最大值包含在總和中,判斷可否安裝或執(zhí)行的步驟。
2.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,具有根據(jù)軟件模塊的安裝期間或執(zhí)行期間比規(guī)定時間長的情況,判斷為軟件模塊正在穩(wěn)定動作的步驟。
3.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,具有即使是當安裝的軟件模塊和安裝完畢的軟件模塊有依存關(guān)系時能夠判斷為穩(wěn)定工作的軟件模塊,也將資源使用量限制值包含在總和中的步驟。
4.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,所述資源是存儲器、CPU、文件打開、套接字生成、文件容量、網(wǎng)絡(luò)帶寬、顯示畫面以及其他在計算機上上限值決定的資源中的任意一個以上。
5.根據(jù)權(quán)利要求1所述的資源管理方法,其特征在于,在對象資源是存儲器、且由軟件模塊動態(tài)確保的存儲器區(qū)域通過存儲器壓縮或垃圾收集進行移動的系統(tǒng)的情況下,根據(jù)存儲器區(qū)域的移動變少的情況,判斷為軟件模塊正在穩(wěn)定工作。
6.一種嵌入設(shè)備,其個別地限制軟件模塊使用的資源量、使各軟件模塊的最大資源使用量的總和小于整個系統(tǒng)資源量,所述嵌入設(shè)備的特征在于,具有在重新地安裝或執(zhí)行軟件模塊時,根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,判斷為軟件模塊正在穩(wěn)定動作的單元;以及根據(jù)執(zhí)行履歷,將實際資源使用最大值包含在總和中,判斷可否安裝或執(zhí)行的單元。
7.根據(jù)權(quán)利要求6所述的嵌入設(shè)備,其特征在于,具有根據(jù)軟件模塊的安裝期間或執(zhí)行期間比規(guī)定時間長的情況,判斷為軟件模塊正在穩(wěn)定動作的單元。
8.根據(jù)權(quán)利要求6所述的嵌入設(shè)備,其特征在于,具有即使是當安裝的軟件模塊和安裝完畢的軟件模塊有依存關(guān)系時能夠判斷為正在穩(wěn)定工作的軟件模塊,也將資源使用量限制值包含在總和中的單元
9.根據(jù)權(quán)利要求6所述的嵌入設(shè)備,其特征在于,所述資源是存儲器、CPU、文件打開、套接字生成、文件容量、網(wǎng)絡(luò)帶寬、顯示畫面以及其他在計算機上上限值決定的資源中的任意一個以上。
10.根據(jù)權(quán)利要求6所述的嵌入設(shè)備,其特征在于,在對象資源是存儲器、且由軟件模塊動態(tài)確保的存儲器區(qū)域通過存儲器壓縮或垃圾收集進行移動的系統(tǒng)的情況下,根據(jù)存儲器區(qū)域的移動變少的情況,判斷軟件模塊正在穩(wěn)定工作。
全文摘要
個別地限制軟件模塊(143)使用的資源量、使各軟件模塊的最大資源使用量的總和小于整個系統(tǒng)資源量的系統(tǒng)中的資源管理方法,該資源管理方法具有在重新地安裝或執(zhí)行軟件模塊時,根據(jù)已安裝完畢或執(zhí)行中的軟件模塊組的執(zhí)行履歷,判斷為軟件模塊正在穩(wěn)定動作的步驟(406);以及根據(jù)執(zhí)行履歷,將實際資源使用最大值包含在總和中,判斷可否安裝或執(zhí)行的步驟(407)。
文檔編號G06F9/50GK102197378SQ200980142710
公開日2011年9月21日 申請日期2009年10月2日 優(yōu)先權(quán)日2008年10月27日
發(fā)明者中野正樹, 川崎進一郎 申請人:株式會社日立制作所