專利名稱:資源管理方法、資源管理設(shè)備、資源管理程序及存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于管理針對(duì)電子設(shè)備的硬件資源分配的資源管理方法、資源管理設(shè)備、資源管理程序及存儲(chǔ)介質(zhì)。
背景技術(shù):
存在若干方法用于避免來自多個(gè)執(zhí)行任務(wù)的使用硬件資源(下文簡稱為資源)的請(qǐng)求的沖突。舉例說明,一個(gè)方法(下文稱為第一方法)涉及按照預(yù)定優(yōu)先級(jí)來限制使用資源的權(quán)利。另一方法(第二方法)是所謂的單任務(wù)方法,其在任何時(shí)間將可執(zhí)行應(yīng)用程序的數(shù)量限制為單個(gè)任務(wù)。又一方法(第三方法)涉及在任何時(shí)間僅允許已經(jīng)獲得資源的第一應(yīng)用程序利用那些資源。再一方法(第四方法)涉及通過軟件來實(shí)施一層,在該層中硬件資源通過抽象的實(shí)體來代表,從而這些資源可以虛擬方式被同時(shí)訪問。
日本專利待審公開Hei 9-16416(圖1)公開了用于分配硬件資源的技術(shù)。所公開的技術(shù)涉及根據(jù)請(qǐng)求的擁擠程度在多任務(wù)處理環(huán)境中調(diào)整資源處理請(qǐng)求的等待時(shí)間,使得這些資源可被擇優(yōu)分配。換而言之,根據(jù)其擁擠程度為較低優(yōu)先級(jí)的處理請(qǐng)求進(jìn)行不同的延遲,使得資源被擇優(yōu)地分配給較高優(yōu)先級(jí)的請(qǐng)求。
然而,上面的第一和第二方法具有對(duì)應(yīng)用程序的執(zhí)行施加限制的缺陷;涉及較少操作限制的方法是優(yōu)選的。第三方法要求資源請(qǐng)求在系統(tǒng)內(nèi)具有同一優(yōu)先級(jí);優(yōu)先級(jí)方面可能存在的任何差異均被忽略。如果想要通過第三方法按照優(yōu)先級(jí)來分配資源,則有必要由使用者負(fù)責(zé)進(jìn)行優(yōu)先級(jí)管理。對(duì)于第四方法,高性能的環(huán)境比如個(gè)人計(jì)算機(jī)是強(qiáng)制性的;所涉及的方案對(duì)于具有有限功能和性能的設(shè)備比如移動(dòng)電話來說是難以負(fù)擔(dān)的。
發(fā)明內(nèi)容
本發(fā)明是考慮到上述情況而做出的,提供了資源管理方法、資源管理設(shè)備、資源管理程序及存儲(chǔ)介質(zhì),用于有效率和靈活地管理硬件資源在多個(gè)應(yīng)用程序之間的分配,以便實(shí)施獨(dú)占、無沖突的資源使用。
按照本發(fā)明的一個(gè)實(shí)施例,提供了一種資源管理方法,包括步驟從所述多個(gè)處理裝置的任一個(gè)接受資源獲取請(qǐng)求;確定與來自所述一個(gè)處理裝置的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一處理裝置使用的資源沖突;決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;當(dāng)從未被給予使用所述資源的許可的處理裝置接收有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;當(dāng)從已被給予使用所述資源的許可的處理裝置接收說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及將說明所述資源已被獲取的獲取完成通知發(fā)出到在所述列表檢查步驟中從所述列表檢查出的所述釋放通知請(qǐng)求處理裝置。
在上述實(shí)施例的一個(gè)優(yōu)選變形中,可以逐個(gè)功能地接受資源獲取請(qǐng)求,確定資源之間沖突的存在,決定是否給予使用資源的許可,將這些資源在列表中編目,檢查該列表,以及發(fā)出獲取完成通知,功能代表進(jìn)行所需處理而需要的至少一個(gè)資源。
按照本發(fā)明,盡管是處理裝置最終獲取資源,但是資源管理設(shè)備對(duì)于如何確定資源之間沖突的存在、如何決定是否給予使用資源的許可、以及如何分配使用資源的權(quán)利實(shí)行管理。無法獲取給定資源的處理裝置可請(qǐng)求在所涉及的資源被釋放時(shí)立即得到通知。如果以前正使用該資源的處理裝置已經(jīng)釋放它,并且有任何處理裝置請(qǐng)求得到有關(guān)所涉及的資源的釋放的通知,則資源管理設(shè)備將向請(qǐng)求處理裝置發(fā)出說明該資源已被釋放的獲取完成通知。
也就是,本發(fā)明的資源管理設(shè)備對(duì)于如何確定資源之間沖突的存在、如何決定是否給予使用資源的許可、以及如何分配使用資源的權(quán)利實(shí)行管理。如果以前正使用該資源的任何處理裝置已經(jīng)釋放它,并且有另一處理裝置請(qǐng)求得到有關(guān)該資源的釋放的通知,則資源管理設(shè)備向請(qǐng)求處理裝置發(fā)出說明該資源已被釋放的獲取完成通知。這使得能在多個(gè)處理裝置之間(例如應(yīng)用程序)有效率和靈活地分配資源,由此實(shí)施獨(dú)占、無沖突的資源使用。
圖1是示出了功能與資源之間對(duì)應(yīng)關(guān)系的列表圖;圖2是概括了作為本發(fā)明實(shí)施例的進(jìn)行資源管理的電子設(shè)備結(jié)構(gòu)的方框圖;圖3是概括了作為體現(xiàn)本發(fā)明的電子設(shè)備實(shí)例的移動(dòng)電話終端結(jié)構(gòu)的方框圖;圖4是時(shí)序流程圖,其示出了資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上高于應(yīng)用程序APP2,資源管理器未接收通知釋放資源的請(qǐng)求;圖5是時(shí)序流程圖,其示出了資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上高于應(yīng)用程序APP2,資源管理器接收通知釋放資源的請(qǐng)求;圖6是時(shí)序流程圖,其示出了資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上等于或低于應(yīng)用程序APP2,資源管理器未接收通知釋放資源的請(qǐng)求;圖7是時(shí)序流程圖,其示出了資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上等于或低于應(yīng)用程序APP2,資源管理器接收通知釋放資源的請(qǐng)求;以及圖8時(shí)序流程圖,其示出了資源管理器如何管理在應(yīng)用程序APP1、應(yīng)用程序APP2與應(yīng)用程序APP3之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上等于或低于應(yīng)用程序APP2,應(yīng)用程序APP2又在優(yōu)先級(jí)上低于應(yīng)用程序APP3,資源管理器接收通知釋放資源的請(qǐng)求。
具體實(shí)施例方式
現(xiàn)在參照附圖,將描述本發(fā)明的優(yōu)選實(shí)施例。
在討論實(shí)施例的具體結(jié)構(gòu)之前,下面將概括本發(fā)明提出的資源管理方案。
按照本發(fā)明,硬件資源(簡稱為資源)是以稱為功能的單位來管理的。功能代表一個(gè)或多個(gè)資源,它們被用來進(jìn)行對(duì)應(yīng)于本發(fā)明的處理裝置的應(yīng)用程序所需的處理。同樣地,功能是資源管理的最小增量。具體功能可包括壓縮運(yùn)動(dòng)圖像再現(xiàn)功能和數(shù)字相機(jī)功能,它們代表了電子設(shè)備的相應(yīng)能力。具體而言,壓縮運(yùn)動(dòng)圖像再現(xiàn)功能被安排為代表用于再現(xiàn)壓縮運(yùn)動(dòng)圖像所必需的若干資源。這樣的資源可包括數(shù)據(jù)獲取資源,用于從存儲(chǔ)器或通過通信線路獲取壓縮運(yùn)動(dòng)圖像數(shù)據(jù);數(shù)據(jù)擴(kuò)展資源,比如用于擴(kuò)展已壓縮的移動(dòng)畫面數(shù)據(jù)的電路;顯示資源,比如用于在其數(shù)據(jù)擴(kuò)展之后顯示運(yùn)動(dòng)圖像的顯示設(shè)備;以及音頻輸出資源,比如用于輸出由擴(kuò)展的數(shù)據(jù)導(dǎo)出的聲音的揚(yáng)聲器。類似地,數(shù)字相機(jī)功能被設(shè)置為代表數(shù)字化捕獲圖像所需要的資源。這些資源可包括數(shù)字相機(jī)模塊,用于捕獲圖像;數(shù)據(jù)壓縮資源,比如用于壓縮所捕獲的圖像數(shù)據(jù)的電路;以及記錄資源,比如用于將壓縮的圖像數(shù)據(jù)記錄到存儲(chǔ)器的電路。與每個(gè)都代表資源的上述功能相結(jié)合地處理的數(shù)據(jù)例如是32位長的位圖信息。
圖1是示出了在功能與資源之間對(duì)應(yīng)關(guān)系的列表圖。該圖描繪了功能與資源之間的一般化關(guān)系。圖1的左手側(cè)列(垂直軸)中的參考字符FA至FN分別標(biāo)示不同的功能;頂行(水平軸)中的參考字符RA至RO分別代表不同的資源。在圖1中,該列中的每個(gè)功能被示出為包括由指向頂行的空心圓指定的資源。具體而言,圖1中的功能FA至FD被示出為與用于其使用的資源RC相關(guān)聯(lián),功能FE和FF則與資源FB相關(guān)聯(lián)。類似地,功能FG被示出為與用于其使用的資源RH相關(guān)聯(lián),功能FH與資源RI相關(guān)聯(lián),功能FI與資源RE、RG、RI、RJ和RL相關(guān)聯(lián);功能FJ與資源RA、RC、RD和RE相關(guān)聯(lián);以及功能FK與資源RF、RG、RI至RL和RN相關(guān)聯(lián)。功能FL至FN的說明被省略。
圖2是概括了作為本發(fā)明實(shí)施例、進(jìn)行資源管理的電子設(shè)備的結(jié)構(gòu)的方框圖。本發(fā)明的電子設(shè)備包括資源管理器1、應(yīng)用程序4、資源(硬件資源)6和資源訪問庫5。資源管理器1實(shí)現(xiàn)按照本發(fā)明的資源管理設(shè)備的功能。應(yīng)用程序4構(gòu)成了被該電子設(shè)備用于進(jìn)行各種處理的軟件。資源6由并入該電子設(shè)備中的各種硬件資源組成。資源訪問庫5用作為允許應(yīng)用程序4獲得對(duì)資源6的訪問的接口。
資源管理器1是按照本發(fā)明來執(zhí)行資源管理的主要模塊,對(duì)可由應(yīng)用程序4訪問的資源6提供獨(dú)占控制。資源管理器1具有資源管理器處理模塊2和資源管理器訪問庫3。資源管理器訪問庫3起到本發(fā)明的接受裝置和通知發(fā)出裝置的作用。庫3由此用作為允許應(yīng)用程序4訪問資源管理器處理模塊2的接口。利用資源管理器訪問庫3,應(yīng)用程序4可向資源管理器處理模塊2請(qǐng)求使用資源的權(quán)利,或者可向后者通知釋放的資源。資源管理器處理模塊2起到本發(fā)明的沖突確定裝置、決定裝置、列表編目裝置和列表檢查裝置的作用。資源管理器處理模塊2具有句柄管理模塊8和資源管理模塊7,用于逐個(gè)功能地進(jìn)行資源管理。句柄管理模塊8管理資源句柄與功能之間的對(duì)應(yīng)關(guān)系。句柄管理模塊8具有一列表,其中編號(hào)被分配給由應(yīng)用程序4請(qǐng)求的資源。該列表被用來查明哪些應(yīng)用程序正在使用哪些資源,以及確定在應(yīng)用程序之間關(guān)于資源使用的沖突。資源管理模塊7逐個(gè)功能地管理資源。更具體而言,句柄管理模塊8具有圖1的表格,其定義了功能與資源之間的對(duì)應(yīng)關(guān)系。對(duì)于資源管理,資源管理模塊7進(jìn)行檢查以確定哪些資源被鏈接到哪些資源編號(hào),以及哪些資源被哪些功能所代表。資源管理模塊7還給予應(yīng)用程序使用資源的許可。由于資源管理器1中的資源管理器訪問庫3、句柄管理模塊8和資源管理模塊7以協(xié)同方式來運(yùn)作,所以這些模塊在下文中將被整體地看作為資源管理器1。
在圖2的結(jié)構(gòu)中,應(yīng)用程序4每個(gè)都能夠請(qǐng)求至少一個(gè)功能。通過請(qǐng)求功能,應(yīng)用程序4請(qǐng)求資源管理器1以獲取將由所涉及的功能使用的資源。如果假定兩個(gè)或更多應(yīng)用程序4通過同時(shí)或在不同時(shí)間請(qǐng)求功能來請(qǐng)求獲取資源,則資源管理器1參照?qǐng)D1的對(duì)應(yīng)表來比較功能以確定待使用資源的相符。經(jīng)過比較,資源管理器1確定是否存在資源沖突。如果資源管理器1確定資源沖突已經(jīng)出現(xiàn),則管理器1進(jìn)行隨后將描述的資源沖突解決處理。如果確定尚無資源沖突出現(xiàn),則資源管理器1給予每個(gè)應(yīng)用程序4使用其各自資源的許可。
當(dāng)獲取資源時(shí),應(yīng)用程序4向資源管理器1通知功能名和所需資源的優(yōu)先級(jí)、關(guān)于資源獲取的原因、訪問句柄和進(jìn)程ID。每個(gè)應(yīng)用程序預(yù)先與所涉及的應(yīng)用程序的優(yōu)先級(jí)、所涉及的每個(gè)功能的優(yōu)先級(jí)、以及每個(gè)相應(yīng)資源的優(yōu)先級(jí)所構(gòu)成的優(yōu)先級(jí)信息相關(guān)聯(lián)。資源管理器1在解決可能出現(xiàn)的任何資源沖突時(shí)使用優(yōu)先級(jí)信息。如果獲取資源的嘗試失敗,或者如果使用資源的權(quán)利被取消,則利用資源獲取原因的資源管理器1向請(qǐng)求所涉及的資源的應(yīng)用程序4通知獲取它的嘗試為何已失敗,或者使用它的權(quán)利為何已取消。訪問句柄構(gòu)成了用來同時(shí)訪問多個(gè)功能的信息。進(jìn)程ID是用來標(biāo)識(shí)請(qǐng)求資源的應(yīng)用程序4的信息。對(duì)于該實(shí)施例,只有在由所有指定功能所用的所有資源已被獲取時(shí),資源獲取才認(rèn)為成功。資源獲取的任何其他情況被認(rèn)為是失敗。在獲取任何資源的嘗試失敗的情況下,相應(yīng)功能被釋放,即使某些所請(qǐng)求資源已被獲取。資源管理器1逐個(gè)功能地向應(yīng)用程序4通知資源獲取結(jié)果。
不再使用的任何資源應(yīng)當(dāng)盡快地被釋放。所涉及的資源由至今仍在使用它的應(yīng)用程序4來釋放。換而言之,一旦被獲取,則任何資源將僅由在過去已經(jīng)獲取它的應(yīng)用程序4來釋放。在釋放資源之后,應(yīng)用程序4向資源管理器1通知所涉及的資源的釋放。在此發(fā)出的資源釋放完成通知包括在資源的獲取時(shí)所用的訪問句柄和進(jìn)程ID。盡管多個(gè)功能可被同時(shí)指定,但是釋放完成通知是逐個(gè)功能地發(fā)出的,因?yàn)樵撎幚硎侵饌€(gè)功能地進(jìn)行的。
應(yīng)用程序4可發(fā)出資源釋放通知請(qǐng)求,其請(qǐng)求資源管理器1通知由所有被請(qǐng)求的功能所使用的所有資源的釋放??膳c每個(gè)資源釋放通知請(qǐng)求相結(jié)合地指定多個(gè)功能。當(dāng)由同時(shí)指定的所有功能所使用的所有資源被釋放時(shí),資源管理器1將該釋放通知發(fā)出到已請(qǐng)求得到資源釋放的通知的應(yīng)用程序4。當(dāng)發(fā)送該釋放通知請(qǐng)求時(shí),應(yīng)用程序4向資源管理器1通知請(qǐng)求釋放通知的功能的名字、釋放等待優(yōu)先級(jí)、通知等待優(yōu)先級(jí)、訪問句柄和進(jìn)程ID。只有當(dāng)所有指定功能的所有資源已被釋放時(shí),資源管理器1才發(fā)送釋放通知到應(yīng)用程序4。如果資源在通知等待時(shí)間內(nèi)未被釋放,則資源管理器1將釋放通知超時(shí)通知發(fā)送到應(yīng)用程序4。資源等待狀態(tài)可由已發(fā)出釋放通知請(qǐng)求的應(yīng)用程序4取消,該應(yīng)用程序4通過向資源管理器1通知在資源獲取時(shí)所用的訪問句柄和進(jìn)程ID來實(shí)現(xiàn)該取消。也就是,對(duì)于任何資源的釋放的等待狀態(tài)僅能由等待資源釋放的應(yīng)用程序4來取消。
當(dāng)接收資源釋放通知時(shí),應(yīng)用程序4應(yīng)當(dāng)無延遲地請(qǐng)求所涉及的資源或者向資源管理器1通知不再需要該資源。如果應(yīng)用程序已請(qǐng)求該資源,則資源管理器1在該資源下一次被釋放時(shí)將資源釋放通知發(fā)送到下一通知目的地的應(yīng)用程序。如果不需要該資源,則資源管理器1將資源釋放通知發(fā)送到下一通知目的地的應(yīng)用程序。如果應(yīng)用程序4無法標(biāo)示它是否需要資源,則資源管理器1在經(jīng)過預(yù)定時(shí)段時(shí)識(shí)別超時(shí),視該資源為不必要。在此情況下,資源管理器1將資源釋放通知發(fā)送到下一通知目的地的應(yīng)用程序。假定在經(jīng)過由請(qǐng)求得到資源釋放通知的應(yīng)用程序所指定的時(shí)段時(shí),未從利用所涉及的資源的應(yīng)用程序接收資源釋放通知。在這樣的情況下,資源管理器1取消等待釋放請(qǐng)求的狀態(tài),將超時(shí)通知發(fā)送到請(qǐng)求得到資源釋放通知的應(yīng)用程序。如果存在有請(qǐng)求得到資源釋放通知的多個(gè)應(yīng)用程序,則釋放通知首先被提供給比任何其他應(yīng)用程序具有更高優(yōu)先級(jí)的應(yīng)用程序,以及提供給其發(fā)出通知請(qǐng)求的時(shí)間比其他請(qǐng)求者更遲的應(yīng)用程序。也就是,釋放通知首先被提供給最高優(yōu)先級(jí)的應(yīng)用程序。如果存在具有同一優(yōu)先級(jí)的多個(gè)應(yīng)用程序,則該通知被提供給發(fā)出通知請(qǐng)求的時(shí)間比任何其他應(yīng)用程序更遲的應(yīng)用程序。
多個(gè)功能可由資源獲取請(qǐng)求、資源釋放請(qǐng)求或釋放通知請(qǐng)求同時(shí)指定。所涉及的處理是以每個(gè)功能單獨(dú)進(jìn)行的,結(jié)果的通知是逐個(gè)功能地發(fā)出的。當(dāng)多個(gè)功能被同時(shí)指定時(shí),處理結(jié)果因功能而變化。
而且,資源管理器1可對(duì)編目的應(yīng)用程序周期性地進(jìn)行“健康”檢查。如果作為健康檢查的結(jié)果,檢驗(yàn)出應(yīng)用程序的缺失,則資源管理器1釋放由所涉及的應(yīng)用程序所已經(jīng)使用的所有資源,取消關(guān)于該應(yīng)用程序所編目的內(nèi)容。
現(xiàn)在將單獨(dú)地描述為資源沖突的控制而采取的具體動(dòng)作。
可能出現(xiàn)這樣的情形,即在應(yīng)用程序4針對(duì)一功能進(jìn)行請(qǐng)求時(shí),該功能包括由另一應(yīng)用程序當(dāng)前使用的資源,使得獲取該功能的請(qǐng)求帶來資源沖突。在此情況下,資源管理器1向比其他應(yīng)用程序具有更高優(yōu)先級(jí)的應(yīng)用程序提供使用該資源的權(quán)利。如果這些應(yīng)用程序具有同一優(yōu)先級(jí),則資源管理器1將使用該資源的權(quán)利提供給最近進(jìn)行該獲取請(qǐng)求的應(yīng)用程序。如果使用該資源的權(quán)利已被取消,則資源管理器1向利用該資源的應(yīng)用程序通知為何已造成該取消,等待來自該應(yīng)用程序的響應(yīng)。一般在針對(duì)導(dǎo)致取消權(quán)利的原因的通知而返回響應(yīng)時(shí),或者在繼發(fā)送原因通知之后發(fā)送資源釋放請(qǐng)求時(shí),取消使用資源的權(quán)利。
當(dāng)應(yīng)用程序4被設(shè)置為同時(shí)獲取多個(gè)功能時(shí),資源管理器1進(jìn)行檢查以確定否有任一功能由于資源沖突而無法被獲取。如果發(fā)現(xiàn)有任一功能由于沖突而不可得到,則資源管理器1將獲取失敗的單個(gè)通知作為響應(yīng)提供給應(yīng)用程序4,以免徒勞地進(jìn)行資源釋放處理。在此情況下,應(yīng)用程序4停止獲取所有指定功能的資源。如果這些功能的獲取不受制于任何資源沖突,則資源管理器1確定是否為每個(gè)指定功能獲取了資源。每個(gè)功能的資源獲取結(jié)果被報(bào)告給應(yīng)用程序4。
可能發(fā)生這樣的情形,即在應(yīng)用程序4正在進(jìn)行資源釋放通知請(qǐng)求并等待該請(qǐng)求的響應(yīng)的同時(shí),資源管理器1在響應(yīng)等待時(shí)間結(jié)束之前從另一應(yīng)用程序接收對(duì)于同一資源的另一請(qǐng)求。在此情況下,資源管理器1將獲取該資源的許可給予比其他應(yīng)用程序具有更高優(yōu)先級(jí)的應(yīng)用程序,或者發(fā)出請(qǐng)求的時(shí)間比其他應(yīng)用程序更遲的應(yīng)用程序。
還可能發(fā)生這樣的情形,即對(duì)于有關(guān)取消該獲取資源的權(quán)利的原因的通知的響應(yīng),或者對(duì)于釋放資源的請(qǐng)求,在“釋放處理時(shí)間”內(nèi)不被報(bào)告,該釋放處理時(shí)間是由應(yīng)用程序4在請(qǐng)求獲取所涉及的資源時(shí)指定的。在這樣的情況下,資源管理器1將“釋放錯(cuò)誤”通知發(fā)送到已經(jīng)進(jìn)行該獲取請(qǐng)求的應(yīng)用程序以及利用所涉及的資源的應(yīng)用程序。在釋放錯(cuò)誤的情況下,資源管理器1將所有后續(xù)的獲取請(qǐng)求視為釋放錯(cuò)誤,除非和直到所涉及的資源被釋放。
現(xiàn)在將說明圖2中所示的模塊之間傳送的數(shù)據(jù)。
應(yīng)用程序4向資源管理器訪問庫3發(fā)送如下數(shù)據(jù)初始設(shè)置請(qǐng)求數(shù)據(jù)、停止設(shè)置請(qǐng)求數(shù)據(jù)、用于內(nèi)-外同步的資源獲取請(qǐng)求數(shù)據(jù)、資源釋放請(qǐng)求數(shù)據(jù)、資源釋放通知請(qǐng)求數(shù)據(jù)和資源釋放通知請(qǐng)求取消數(shù)據(jù)。初始設(shè)置請(qǐng)求數(shù)據(jù)由標(biāo)示消息接收方法的數(shù)據(jù)和接收目的地指針組成。資源獲取請(qǐng)求數(shù)據(jù)由功能組數(shù)據(jù)、優(yōu)先級(jí)數(shù)據(jù)、獲取原因數(shù)據(jù)、資源釋放最大處理時(shí)間數(shù)據(jù)和資源句柄組成,功能組數(shù)據(jù)由功能名構(gòu)成。資源釋放請(qǐng)求數(shù)據(jù)由資源句柄形成。資源釋放通知請(qǐng)求數(shù)據(jù)由功能組數(shù)據(jù)、優(yōu)先級(jí)數(shù)據(jù)和資源句柄構(gòu)成。資源釋放通知請(qǐng)求取消數(shù)據(jù)由資源句柄構(gòu)成。優(yōu)先級(jí)數(shù)據(jù)表示獲取請(qǐng)求和釋放通知請(qǐng)求的優(yōu)先級(jí)。獲取原因數(shù)據(jù)表示資源獲取的原因。資源釋放最大處理時(shí)間數(shù)據(jù)代表應(yīng)用程序釋放它正在使用的資源所實(shí)際需要的最大時(shí)間。
應(yīng)用程序4將進(jìn)程ID、消息類型數(shù)據(jù)和消息數(shù)據(jù)發(fā)送到句柄管理模塊8。進(jìn)程ID特定于所涉及的應(yīng)用程序。消息類型數(shù)據(jù)包括初始設(shè)置請(qǐng)求消息、停止設(shè)置請(qǐng)求消息、獲取請(qǐng)求消息、釋放請(qǐng)求消息、釋放通知請(qǐng)求消息和釋放通知取消請(qǐng)求消息。消息數(shù)據(jù)標(biāo)示與使用中的每個(gè)消息類型相對(duì)應(yīng)的消息內(nèi)容。在消息類型之中,初始設(shè)置請(qǐng)求消息是用于對(duì)所涉及的應(yīng)用程序編目的消息。停止設(shè)置請(qǐng)求消息是取消應(yīng)用程序編目的消息。獲取請(qǐng)求消息用來請(qǐng)求獲取功能。釋放請(qǐng)求消息是用于請(qǐng)求釋放功能的消息。釋放通知請(qǐng)求消息用來等待資源釋放。釋放通知取消請(qǐng)求消息是用于取消等待資源釋放的狀態(tài)的消息。初始設(shè)置請(qǐng)求消息包含消息接收方法和接收目的地指針。獲取請(qǐng)求消息包含資源句柄、待獲取的功能組、獲取優(yōu)先級(jí)、獲取原因、資源釋放最大處理時(shí)間、以及響應(yīng)于該資源獲取而向其發(fā)送第一消息的目的地。釋放請(qǐng)求消息包含待釋放的資源的資源句柄。釋放通知請(qǐng)求消息包含用于釋放通知的資源句柄、等待資源釋放的功能組、釋放通知的優(yōu)先級(jí)和釋放通知等待時(shí)間。釋放通知取消請(qǐng)求消息包含用于取消釋放通知的資源句柄。
句柄管理模塊8將資源句柄數(shù)據(jù)、消息類型數(shù)據(jù)和原因數(shù)據(jù)發(fā)送到應(yīng)用程序4。原因數(shù)據(jù)代表失敗請(qǐng)求的原因,以及產(chǎn)生請(qǐng)求以釋放一釋放請(qǐng)求通知的原因。消息類型數(shù)據(jù)包括成功獲取通知消息、未成功獲取通知消息、釋放請(qǐng)求通知消息、釋放通知消息、釋放通知等待超時(shí)通知消息和釋放錯(cuò)誤通知消息。成功獲取通知消息是標(biāo)示資源成功獲取的獲取請(qǐng)求批準(zhǔn)消息。未成功獲取通知消息是標(biāo)示獲取資源的嘗試失敗的獲取拒絕消息。釋放請(qǐng)求通知消息是請(qǐng)求實(shí)施句柄釋放的消息。釋放通知消息標(biāo)示所有指定資源已被釋放。釋放通知等待超時(shí)通知消息是標(biāo)示資源在經(jīng)過釋放通知等待時(shí)間后尚未被釋放的消息。釋放錯(cuò)誤通知消息是通知響應(yīng)于釋放通知而進(jìn)行的釋放請(qǐng)求的超時(shí)信號(hào)的消息。該消息被提供給請(qǐng)求獲取資源的應(yīng)用程序以及請(qǐng)求釋放資源的應(yīng)用程序。
句柄管理模塊8將消息ID、消息類型數(shù)據(jù)、功能組數(shù)據(jù)、進(jìn)程ID、優(yōu)先級(jí)數(shù)據(jù)、原因數(shù)據(jù)、資源釋放時(shí)間數(shù)據(jù)和釋放等待時(shí)間數(shù)據(jù)發(fā)送到資源管理模塊7。消息ID是標(biāo)識(shí)每個(gè)消息的標(biāo)識(shí)符。當(dāng)存在響應(yīng)于發(fā)送的消息而返回的消息時(shí),響應(yīng)消息的消息ID變成所發(fā)送的消息的標(biāo)識(shí)符。消息類型數(shù)據(jù)包括獲取請(qǐng)求消息、釋放請(qǐng)求消息、不需要響應(yīng)消息、釋放通知請(qǐng)求消息和原因響應(yīng)消息。功能組數(shù)據(jù)標(biāo)示功能組。進(jìn)程ID是標(biāo)識(shí)應(yīng)用程序進(jìn)程的標(biāo)識(shí)符。優(yōu)先級(jí)數(shù)據(jù)是標(biāo)示獲取請(qǐng)求和釋放通知請(qǐng)求的優(yōu)先級(jí)的數(shù)據(jù)。原因數(shù)據(jù)標(biāo)示資源獲取的原因。資源釋放時(shí)間數(shù)據(jù)是表示應(yīng)用程序釋放它正在使用的資源所實(shí)際需要的最大時(shí)間的數(shù)據(jù)。釋放通知等待時(shí)間數(shù)據(jù)是表示從發(fā)出釋放通知請(qǐng)求之時(shí)到接收釋放通知為止的超時(shí)時(shí)間段的數(shù)據(jù)。在消息類型之中,獲取請(qǐng)求消息是請(qǐng)求獲取功能的消息。釋放請(qǐng)求消息是用于請(qǐng)求釋放功能的消息。不需要響應(yīng)消息被用來響應(yīng)于標(biāo)示釋放功能組的所接收通知而通知不需要該功能組。釋放通知請(qǐng)求消息是用于請(qǐng)求得到有關(guān)該指定功能的所有資源的釋放的通知的消息。原因響應(yīng)消息是作為對(duì)原因通知的響應(yīng)而發(fā)出的消息。
資源管理模塊7將消息ID、消息類型數(shù)據(jù)、功能組數(shù)據(jù)、進(jìn)程ID、原因數(shù)據(jù)、原因進(jìn)程數(shù)據(jù)和原因優(yōu)先級(jí)數(shù)據(jù)發(fā)送到句柄管理模塊8。消息ID是標(biāo)識(shí)每個(gè)消息的標(biāo)識(shí)符。同樣地,該消息ID用作由句柄管理模塊8發(fā)送的每個(gè)消息的消息ID。消息類型數(shù)據(jù)包括成功獲取通知消息、未成功獲取通知消息、成功釋放通知消息、未成功釋放通知消息、原因通知消息、釋放通知消息、釋放通知超時(shí)通知消息和釋放錯(cuò)誤通知消息。功能組數(shù)據(jù)是表示功能組的數(shù)據(jù)。進(jìn)程ID是標(biāo)識(shí)應(yīng)用程序進(jìn)程的標(biāo)識(shí)符。原因數(shù)據(jù)是代表資源獲取失敗、釋放失敗、原因通知產(chǎn)生、以及在標(biāo)示相應(yīng)功能的釋放的通知之前的資源獲取的原因的數(shù)據(jù)。原因進(jìn)程數(shù)據(jù)是標(biāo)識(shí)這樣的進(jìn)程的數(shù)據(jù),該進(jìn)程造成了資源獲取失敗、釋放失敗或者原因通知的產(chǎn)生;或者是標(biāo)識(shí)這樣的進(jìn)程的數(shù)據(jù),該進(jìn)程造成了在標(biāo)示相應(yīng)功能的釋放的通知之前的資源獲取。原因優(yōu)先級(jí)數(shù)據(jù)代表這樣的優(yōu)先級(jí),其造成了資源獲取失敗、釋放失敗或者原因通知產(chǎn)生;或者這樣的優(yōu)先級(jí),其造成了在標(biāo)示相應(yīng)功能釋放的通知之前的資源獲取。在消息類型中,成功獲取通知消息是標(biāo)示成功獲取功能的消息。未成功獲取通知消息是標(biāo)示獲取功能的嘗試失敗的消息。成功釋放通知消息是標(biāo)示成功釋放功能的消息。未成功釋放通知消息標(biāo)示釋放功能的嘗試失敗。原因通知消息是這樣的消息,其標(biāo)示使用功能資源的權(quán)利被取消。釋放通知消息標(biāo)示由釋放通知請(qǐng)求所指定的功能的所有資源已被釋放。釋放通知超時(shí)通知消息是標(biāo)示釋放通知請(qǐng)求的超時(shí)的消息。釋放錯(cuò)誤通知消息標(biāo)示對(duì)起源于獲取請(qǐng)求的原因通知的響應(yīng)的超時(shí)。該消息在兩個(gè)方向上發(fā)送一個(gè)是通知原因的方向;另一個(gè)是請(qǐng)求獲取的方向。
圖3是概括了作為體現(xiàn)本發(fā)明的電子設(shè)備實(shí)例的移動(dòng)電話終端的結(jié)構(gòu)的方框圖。在圖3的組件之中,圖2中所示的組件由相似的標(biāo)號(hào)來指定。圖3中出現(xiàn)的組件簡單地構(gòu)成了移動(dòng)電話終端的主要結(jié)構(gòu)。
在圖3的實(shí)例中,移動(dòng)電話終端的應(yīng)用程序4包括電話應(yīng)用程序43,其實(shí)現(xiàn)該移動(dòng)電話終端的電話功能;時(shí)鐘應(yīng)用程序44,用于實(shí)現(xiàn)時(shí)鐘功能;屏幕應(yīng)用程序45,用于實(shí)現(xiàn)顯示能力和屏保功能;應(yīng)用程序啟動(dòng)器46,用于開始應(yīng)用程序;以及用戶定義的應(yīng)用程序(APP1,APP2)41、和42。這些應(yīng)用程序被連接到應(yīng)用程序框架14,即應(yīng)用程序的基礎(chǔ)。應(yīng)用程序框架14繼而連接到窗口管理器13。窗口管理器13經(jīng)由圖2中所示的資源訪問庫5連接到操作系統(tǒng)(OS)21。
在圖3的實(shí)例中,資源6包括液晶顯示器(LCD)設(shè)備62,示例性地用于提供顯示;驅(qū)動(dòng)程序61,用于驅(qū)動(dòng)設(shè)備62;按鍵設(shè)備64,其一般是十鍵的小鍵盤;驅(qū)動(dòng)程序63,用于驅(qū)動(dòng)按鍵設(shè)備64;系統(tǒng)設(shè)備66,其支持移動(dòng)電話終端的發(fā)送和接收(通信)能力以及其他主要功能;驅(qū)動(dòng)程序65,用于驅(qū)動(dòng)系統(tǒng)設(shè)備66;相機(jī)設(shè)備68,其用作為數(shù)字相機(jī);驅(qū)動(dòng)程序67,用于驅(qū)動(dòng)相機(jī)設(shè)備68;存儲(chǔ)器設(shè)備(存儲(chǔ)器/快擦寫存儲(chǔ)器堆(Mem/Flash FILE))72,其是用作為本發(fā)明的存儲(chǔ)介質(zhì)的存儲(chǔ)器;驅(qū)動(dòng)程序(存儲(chǔ)器/文件系統(tǒng)任務(wù)(Mem/FileSys TASK))71,用于寫文件到存儲(chǔ)器設(shè)備72和從其讀文件;雜項(xiàng)硬件70,比如LED(發(fā)光二極管)和音頻設(shè)備;以及雜項(xiàng)驅(qū)動(dòng)程序69,用于驅(qū)動(dòng)硬件70。CPU(中央處理單元)23控制這些設(shè)備以及與設(shè)備相結(jié)合執(zhí)行各種操作。
圖3中的任務(wù)管理器11在應(yīng)用程序4的執(zhí)行期間管理任務(wù)。事件管理器12管理各種事件。資源管理器(ResMan)1對(duì)應(yīng)于圖2中所示的資源管理器1。
現(xiàn)在將參照?qǐng)D4至8的時(shí)序流程圖來描述上述實(shí)施例的資源管理器一般如何管理資源。
圖4是流程圖,其示出了本發(fā)明的資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上高于應(yīng)用程序APP2(APP1>APP2),而應(yīng)用程序APP1比應(yīng)用程序APP2更早地發(fā)出指定功能的資源獲取請(qǐng)求。在圖4的實(shí)例中,應(yīng)用程序APP2未發(fā)出釋放通知請(qǐng)求。
參照?qǐng)D4,資源管理器示例性地在步驟S1中從應(yīng)用程序APP1接收指定有功能的新資源獲取請(qǐng)求。在步驟S2中,資源管理器確定是否有資源沖突。由于將由指定的功能所使用的資源當(dāng)前未被任何其他應(yīng)用程序使用,所以資源管理器在步驟S3中將獲取資源的許可返回給應(yīng)用程序APP1。在步驟S4中,應(yīng)用程序APP1獲取所需資源。
隨后在步驟S5中,資源管理器從應(yīng)用程序APP2接收新的資源獲取請(qǐng)求,其指定了包括正在使用的同一資源的功能。在此情況下,資源管理器在步驟S6中檢查確定是否有資源沖突。由于應(yīng)用程序APP2將需要使用的資源正在被應(yīng)用程序APP1使用,所以資源管理器在步驟S7中將未成功獲取通知返回給應(yīng)用程序APP2。在步驟S8中,繼獲取所需資源的嘗試失敗之后,應(yīng)用程序APP2進(jìn)行獲取拒絕處理。
圖5是時(shí)序流程圖,其示出了本發(fā)明的資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突,應(yīng)用程序APP1在優(yōu)先級(jí)上高于應(yīng)用程序APP2(APP1>APP2),而應(yīng)用程序APP1比應(yīng)用程序APP2更早地進(jìn)行指定功能的資源獲取請(qǐng)求。在圖5的實(shí)例中,與圖4的實(shí)例相對(duì),應(yīng)用程序APP2發(fā)出釋放通知請(qǐng)求。圖5中與參照?qǐng)D4已經(jīng)討論的步驟等效的步驟將不再被進(jìn)一步描述。
在圖5的步驟S8中,應(yīng)用程序APP2進(jìn)行該拒絕獲取處理,將釋放通知請(qǐng)求發(fā)送到資源管理器。此時(shí),與請(qǐng)求應(yīng)用程序相關(guān)聯(lián)地,資源管理器在列表中對(duì)由釋放通知請(qǐng)求所指定的功能進(jìn)行編目。隨后,應(yīng)用程序APP1在步驟S10完成其處理和釋放資源。在步驟S11中,資源管理器從應(yīng)用程序APP1接收釋放完成通知。在步驟S12中,資源管理器搜尋來自任何其他應(yīng)用程序的任何釋放通知請(qǐng)求。在此情況下,來自應(yīng)用程序APP2的釋放通知請(qǐng)求已經(jīng)在列表中被編目。于是資源管理器在步驟S13中向應(yīng)用程序APP2通知所涉及的資源已被釋放。
當(dāng)這樣被通知所需資源的釋放時(shí),應(yīng)用程序APP2進(jìn)行到步驟S14,發(fā)出另一指定該功能的獲取請(qǐng)求。在于步驟S14中接收該獲取請(qǐng)求之后,資源管理器在步驟S15中確定是否有資源沖突。由于將由所指定的功能使用的資源當(dāng)前未被任何其他應(yīng)用程序使用,所以資源管理器在步驟S16中將獲取完成通知返回到應(yīng)用程序APP2。在步驟S17中,應(yīng)用程序APP1獲取所需資源。
圖6是另一時(shí)序流程圖,其示出了本發(fā)明的資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突。在此情況下,盡管應(yīng)用程序APP1也比應(yīng)用程序APP2更早地進(jìn)行指定功能的資源獲取請(qǐng)求,但是應(yīng)用程序APP1的優(yōu)先級(jí)等于應(yīng)用程序APP2,使得比其他應(yīng)用程序更晚地進(jìn)行獲取請(qǐng)求的應(yīng)用程序被提供給更高優(yōu)先級(jí)(APP1≤APP2)。在圖6的實(shí)例中,應(yīng)用程序APP1并未發(fā)出釋放通知請(qǐng)求。圖6中與參照?qǐng)D4和5已經(jīng)討論的步驟等效的步驟將不再被進(jìn)一步討論。
在圖6的步驟S6中,資源管理器在確定資源沖突的存在時(shí)發(fā)現(xiàn)應(yīng)用程序APP2的優(yōu)先級(jí)等于應(yīng)用程序APP1,應(yīng)用程序APP1比其他應(yīng)用程序更晚地進(jìn)行資源獲取請(qǐng)求。在此情況下,資源管理器在步驟S21中將資源釋放請(qǐng)求發(fā)出到應(yīng)用程序APP1。在接收該釋放請(qǐng)求時(shí),應(yīng)用程序APP1在步驟S22和S23中進(jìn)行資源釋放處理。在步驟S24中,應(yīng)用程序APP1將釋放完成通知發(fā)送到資源管理器。
當(dāng)從應(yīng)用程序APP1收到釋放完成通知時(shí),資源管理器在步驟S25中將獲取完成通知發(fā)送到應(yīng)用程序APP2。在步驟S26中,應(yīng)用程序APP2獲取所需資源。
在完成其處理之后,應(yīng)用程序APP2在步驟S27中釋放資源。在步驟S28中,資源管理器從應(yīng)用程序APP2接收釋放完成通知。在步驟S29中,資源管理器在列表中對(duì)釋放的資源進(jìn)行編目。
圖7是另一時(shí)序流程圖,其示出了本發(fā)明的資源管理器如何管理在應(yīng)用程序APP1與APP2之間關(guān)于資源使用的沖突。在此情況下,盡管應(yīng)用程序APP1也比應(yīng)用程序APP2更早地進(jìn)行指定有功能的資源獲取請(qǐng)求,但是應(yīng)用程序APP1的優(yōu)先級(jí)等于應(yīng)用程序APP2,使得比其他應(yīng)用程序更晚地進(jìn)行獲取請(qǐng)求的應(yīng)用程序被提供給更高優(yōu)先級(jí)(APP1≤APP2)。在圖7的實(shí)例中,與圖6的實(shí)例相對(duì),應(yīng)用程序APP1發(fā)出釋放通知請(qǐng)求。圖7中與參照?qǐng)D4,5和6已經(jīng)討論的步驟等效的步驟將不再被進(jìn)一步描述。
在圖7的步驟S23中,應(yīng)用程序APP1釋放它已經(jīng)使用的資源。在步驟S30中,應(yīng)用程序APP將釋放完成通知和釋放通知請(qǐng)求發(fā)送到資源管理器。
之后在步驟S28中,資源管理器從應(yīng)用程序APP2接收釋放完成通知。在步驟S31中,資源管理器檢驗(yàn)列表中所含內(nèi)容,在該列表中應(yīng)用程序被編目為等待資源釋放。從該釋放等待列表中,資源管理器發(fā)現(xiàn)應(yīng)用程序APP1已經(jīng)發(fā)出釋放通知請(qǐng)求。于是資源管理器在步驟S32將資源釋放通知發(fā)送到應(yīng)用程序APP1。
在從資源管理器接收該資源釋放通知之后,應(yīng)用程序APP1在步驟S33中為了另一次的資源獲取嘗試而準(zhǔn)備在列表中再次進(jìn)行編目。在準(zhǔn)備完成時(shí),應(yīng)用程序APP1在步驟S34中將獲取請(qǐng)求發(fā)送到資源管理器。
在步驟S35中,資源管理器確定是否有資源沖突。當(dāng)此時(shí)未檢測(cè)到?jīng)_突時(shí),資源管理器在步驟S36中將獲取完成通知返回到應(yīng)用程序APP1。在步驟S37中,應(yīng)用程序APP1再次獲取所需資源。
圖8是時(shí)序流程圖,其示出了本發(fā)明的資源管理器如何管理在應(yīng)用程序APP1、應(yīng)用程序APP2和應(yīng)用程序APP3之間關(guān)于資源使用的沖突。具體而言,圖8的實(shí)例假設(shè)了應(yīng)用程序APP1最初進(jìn)行資源獲取請(qǐng)求,繼而是應(yīng)用程序APP2和APP3,它們均以此次序進(jìn)行同一請(qǐng)求。還假設(shè)應(yīng)用程序APP3比應(yīng)用程序APP1或APP2具有更高優(yōu)先級(jí),后兩者在優(yōu)先級(jí)上等同。應(yīng)用程序發(fā)出請(qǐng)求越遲,該應(yīng)用程序的優(yōu)先級(jí)越高(APP1≤APP2<APP3)。在圖8的實(shí)例中,應(yīng)用程序APP1發(fā)出釋放通知請(qǐng)求。圖8中與參照?qǐng)D4、5、6和7已經(jīng)討論的步驟等效的步驟將不再被進(jìn)一步描述。
在圖8的步驟S40中,應(yīng)用程序APP3發(fā)出資源獲取請(qǐng)求,這比在步驟S5中已經(jīng)發(fā)出其自身的資源獲取請(qǐng)求的應(yīng)用程序APP2更遲。資源管理器在步驟S40中從應(yīng)用程序APP3接收該資源獲取請(qǐng)求。在于步驟S30中從應(yīng)用程序APP1接收釋放完成通知和釋放通知請(qǐng)求之后,資源管理器在步驟S41中確定在應(yīng)用程序APP2與APP3之間是否有資源沖突。在此情況下,資源管理器在步驟S42中將獲取完成通知發(fā)送到具有最高優(yōu)先級(jí)的應(yīng)用程序APP3。在步驟S43中,資源管理器將未成功獲取通知發(fā)送到應(yīng)用程序APP2。在步驟S44中,應(yīng)用程序APP3獲取所需資源。
在完成其處理之后,應(yīng)用程序APP3在步驟S45中釋放它已經(jīng)使用的資源。在步驟S46中,應(yīng)用程序APP3將釋放完成通知發(fā)送到資源管理器。
當(dāng)收到該釋放完成通知時(shí),資源管理器在步驟S47中檢驗(yàn)該釋放等待列表中所含的內(nèi)容。從該列表中,資源管理器發(fā)現(xiàn)應(yīng)用程序APP1已經(jīng)發(fā)出釋放通知請(qǐng)求。隨后,進(jìn)行由圖7中的步驟S32至S37構(gòu)成的處理。
如上所述,體現(xiàn)本發(fā)明的資源管理器通過在保持當(dāng)前使用狀態(tài)(條件)的情況下動(dòng)態(tài)地實(shí)現(xiàn)優(yōu)先級(jí)和使用權(quán)管理來提供靈活的資源管理工具。換而言之,本發(fā)明的資源管理器以這樣的方式管理資源使用權(quán),使得可靈活地定義實(shí)際使用硬件資源的應(yīng)用程序以及被提供使用資源的權(quán)利的應(yīng)用程序。
上述實(shí)施例引入了作為單位的“功能”的概念,該單位是資源使用權(quán)管理的增量,每個(gè)功能是由單個(gè)的硬件資源中用于構(gòu)成應(yīng)用程序而必需的多個(gè)資源構(gòu)成的。本發(fā)明的資源管理器由此允許逐個(gè)功能地進(jìn)行資源管理。
上面的實(shí)施例具有考慮到應(yīng)用程序和資源的優(yōu)先級(jí)的請(qǐng)求隊(duì)列。與簡單的后進(jìn)先出算法相比,該實(shí)施例使得能減少徒勞的資源沖突的數(shù)量。
盡管上面的描述包含許多特定方面,但是這些不應(yīng)當(dāng)被理解為限制本發(fā)明的范圍,而是僅提供本發(fā)明的目前優(yōu)選實(shí)施例的說明。應(yīng)當(dāng)理解,在不脫離所附權(quán)利要求書的實(shí)質(zhì)或范圍時(shí),可進(jìn)行變化和變形。
例如,本發(fā)明可不僅應(yīng)用于移動(dòng)終端,而且應(yīng)用于個(gè)人計(jì)算機(jī)和PDA(個(gè)人數(shù)字助理)。
關(guān)于圖1中的對(duì)應(yīng)表,每當(dāng)應(yīng)用程序4發(fā)出資源獲取請(qǐng)求時(shí),與給定的應(yīng)用程序4所需的功能有關(guān)的以及與對(duì)應(yīng)于這些功能的資源有關(guān)的信息可由所涉及的應(yīng)用程序4發(fā)送到資源管理器1。
而且,優(yōu)先級(jí)不僅可應(yīng)用于應(yīng)用程序,而且應(yīng)用于功能或者應(yīng)用于每個(gè)功能中所含的資源。在這樣的情況下,資源管理器1可關(guān)于給定的功能或者關(guān)于該功能內(nèi)的每個(gè)資源來確定是否有資源沖突。資源管理器1然后可考慮到資源沖突確定的結(jié)果而發(fā)出資源獲取完成通知和其他通知。
權(quán)利要求
1.一種資源管理方法,用于具有多個(gè)處理裝置的資源管理設(shè)備,所述資源管理方法包括步驟從所述多個(gè)處理裝置的任一個(gè)接受資源獲取請(qǐng)求;確定與來自所述一個(gè)處理裝置的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一處理裝置使用的資源沖突;決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;當(dāng)從未被給予使用所述資源的許可的處理裝置收到有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;當(dāng)從已被給予使用所述資源的許可的處理裝置收到說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及將說明所述資源已被獲取的獲取完成通知發(fā)出到在所述列表檢查步驟中從所述列表檢查出的所述釋放通知請(qǐng)求處理裝置。
2.根據(jù)權(quán)利要求1的資源管理方法,其中所述決定步驟按照為每個(gè)所述處理裝置預(yù)定的優(yōu)先級(jí)來決定是否給予使用所述資源的許可。
3.根據(jù)權(quán)利要求1的資源管理方法,其中所述接受步驟逐個(gè)功能地接受所述資源獲取請(qǐng)求,該功能代表進(jìn)行所需處理而需要的至少一個(gè)資源;其中所述確定步驟逐個(gè)功能地確定資源之間沖突的存在;其中所述決定步驟逐個(gè)功能地決定是否給予使用資源的許可;其中所述列表編目步驟逐個(gè)功能地在所述列表中對(duì)所述資源編目;其中所述列表檢查步驟逐個(gè)功能地檢查所述列表;以及其中所述通知發(fā)出步驟逐個(gè)功能地發(fā)出所述獲取完成通知。
4.根據(jù)權(quán)利要求3的資源管理方法,其中所述決定步驟按照每個(gè)功能預(yù)定的優(yōu)先級(jí)來決定是否給予使用所述資源的許可。
5.一種資源管理設(shè)備,具有多個(gè)處理裝置,所述資源管理設(shè)備包括接受裝置,用于從所述多個(gè)處理裝置的任一個(gè)接受資源獲取請(qǐng)求;沖突確定裝置,用于確定與來自所述一個(gè)處理裝置的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一處理裝置使用的資源沖突;決定裝置,用于決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;列表編目裝置,其當(dāng)從未被給予使用所述資源的許可的處理裝置收到有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;列表檢查裝置,其當(dāng)從已被給予使用所述資源的許可的處理裝置收到說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及通知發(fā)出裝置,用于將說明所述資源已被獲取的獲取完成通知發(fā)出到由所述列表檢查裝置從所述列表檢查出的所述釋放通知請(qǐng)求處理裝置。
6.根據(jù)權(quán)利要求5的資源管理裝置,其中所述決定裝置按照為每個(gè)所述處理裝置預(yù)定的優(yōu)先級(jí)來決定是否給予使用所述資源的許可。
7.根據(jù)權(quán)利要求5的資源管理裝置,其中所述接受裝置逐個(gè)功能地接受所述資源獲取請(qǐng)求,該功能代表進(jìn)行所需處理而需要的至少一個(gè)資源;其中所述沖突確定裝置逐個(gè)功能地確定資源之間沖突的存在;其中所述決定裝置逐個(gè)功能地決定是否給予使用資源的許可;其中所述列表編目裝置逐個(gè)功能地在所述列表中對(duì)所述資源編目;其中所述列表檢查裝置逐個(gè)功能地檢查所述列表;以及其中所述通知發(fā)出裝置逐個(gè)功能地發(fā)出所述獲取完成通知。
8.根據(jù)權(quán)利要求7的資源管理裝置,其中所述決定裝置按照每個(gè)功能預(yù)定的優(yōu)先級(jí)來決定是否給予使用所述資源的許可。
9.一種資源管理設(shè)備,具有多個(gè)應(yīng)用程序、資源管理器訪問庫和資源管理器處理模塊;其中所述資源管理器訪問庫包括接受模塊,用于從所述多個(gè)應(yīng)用程序的任一個(gè)接受資源獲取請(qǐng)求;以及通知發(fā)出模塊,用于將說明資源已被獲取的獲取完成通知發(fā)出到所述多個(gè)應(yīng)用程序的任一個(gè);其中所述資源管理器處理模塊包括沖突確定模塊,用于確定與來自所述應(yīng)用程序的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一應(yīng)用程序使用的資源沖突;決定模塊,用于決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;列表編目模塊,其當(dāng)從未被給予使用所述資源的許可的處理裝置收到有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;以及列表檢查模塊,其當(dāng)從已被給予使用所述資源的許可的處理裝置收到說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及其中所述資源管理器訪問庫將說明所述資源已被獲取的獲取完成通知發(fā)出到由所述列表檢查模塊從所述列表檢查出的所述釋放通知請(qǐng)求應(yīng)用程序。
10.一種資源管理程序,可由具有多個(gè)處理裝置的資源管理設(shè)備讀取以執(zhí)行,所述資源管理程序使所述資源管理設(shè)備執(zhí)行包括如下步驟的處理從所述多個(gè)處理裝置的任一個(gè)接受資源獲取請(qǐng)求;確定與來自所述一個(gè)處理裝置的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一處理裝置使用的資源沖突;決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;當(dāng)從未被給予使用所述資源的許可的處理裝置收到有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;當(dāng)從已被給予使用所述資源的許可的處理裝置收到說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及將說明所述資源已被獲取的獲取完成通知發(fā)出到在所述列表檢查步驟中從所述列表檢查出的所述釋放通知請(qǐng)求處理裝置。
11.一種存儲(chǔ)資源管理程序的存儲(chǔ)介質(zhì),該資源管理程序可由具有多個(gè)處理裝置的資源管理設(shè)備讀取以執(zhí)行,所述資源管理程序使所述資源管理設(shè)備執(zhí)行包括如下步驟的處理從所述多個(gè)處理裝置的任一個(gè)接受資源獲取請(qǐng)求;確定與來自所述一個(gè)處理裝置的所述資源獲取請(qǐng)求相應(yīng)的資源是否與將由另一處理裝置使用的資源沖突;決定在資源使用方面被發(fā)現(xiàn)相互沖突的處理裝置中應(yīng)當(dāng)被給予使用所涉及的資源的許可的處理裝置;當(dāng)從未被給予使用所述資源的許可的處理裝置收到有關(guān)通知所述資源的釋放的請(qǐng)求時(shí),與該釋放通知請(qǐng)求處理裝置相結(jié)合地在列表中將相應(yīng)于該釋放通知請(qǐng)求的所述資源編目;當(dāng)從已被給予使用所述資源的許可的處理裝置收到說明所述資源已被釋放的通知時(shí),從所述列表中檢查所述釋放通知請(qǐng)求處理裝置;以及將說明所述資源已被獲取的獲取完成通知發(fā)出到在所述列表檢查步驟中從所述列表檢查出的所述釋放通知請(qǐng)求處理裝置。
全文摘要
通過有效率和靈活地在應(yīng)用程序之間分配資源,沒有沖突地實(shí)現(xiàn)資源的獨(dú)占使用。如果當(dāng)應(yīng)用程序APP1正在使用資源的同時(shí)從應(yīng)用程序APP2接收資源獲取請(qǐng)求(步驟S5),則資源管理器(ResMan)在應(yīng)用程序APP1和APP2之間進(jìn)行資源并發(fā)判斷(步驟S6),并且具有較低優(yōu)先級(jí)的應(yīng)用程序APP2返回獲取NG報(bào)告(步驟S7)。資源管理器從應(yīng)用程序APP2接收資源釋放報(bào)告請(qǐng)求(步驟S9),接著從應(yīng)用程序APP1接收釋放完成報(bào)告(步驟S11)。資源管理器查看是否有對(duì)于該資源的任何其他沖突請(qǐng)求(在步驟S15中)。在沒有其它資源并發(fā),則資源管理器向應(yīng)用程序APP2發(fā)出資源獲取完成報(bào)告(步驟S16)。
文檔編號(hào)G06F9/46GK1806228SQ20048001618
公開日2006年7月19日 申請(qǐng)日期2004年6月9日 優(yōu)先權(quán)日2003年6月10日
發(fā)明者大出直樹 申請(qǐng)人:索尼愛立信移動(dòng)通信日本株式會(huì)社