專利名稱:用于管理便攜式計(jì)算設(shè)備的資源的系統(tǒng)和方法
用于管理便攜式計(jì)算設(shè)備的資源的系統(tǒng)和方法相關(guān)技術(shù)描述便攜式計(jì)算設(shè)備(P⑶)在個(gè)人和專業(yè)層面上正日益成為人們的個(gè)人必需品。這些設(shè)備可包括蜂窩電話、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺(tái)、掌上型計(jì)算機(jī)、和其他便攜式電子設(shè)備。這些設(shè)備中的每個(gè)設(shè)備可包括主要功能。例如,蜂窩電話一般具有接收和傳送電話呼叫的主要功能。除這些設(shè)備的主要功能之外,許多設(shè)備包括外圍功能。例如,蜂窩電話可包括以上所述的進(jìn)行蜂窩電話呼叫的主要功能,以及相機(jī)、攝像機(jī)、全球定位系統(tǒng)(GPS)導(dǎo)航、web瀏覽、發(fā)送和接收電子郵件、發(fā)送和接收文本消息、即按即講能力等外圍功能。隨著此類設(shè)備的功能性不斷増加,支持此類功能性所需的計(jì)算或處理能力隨之增強(qiáng)。進(jìn)一歩,隨著計(jì)算能カ增強(qiáng),存在對(duì)有效管理提供該計(jì)算能力的(諸)處理器的更高需要。在過(guò)去,隨著由硬件或軟件(或兩者)支持的每個(gè)外圍功能被引入到諸如蜂窩電話之類的設(shè)備,為每個(gè)外圍功能引入專門的應(yīng)用程序編程接ロ(API)。例如,可以有用于攝像機(jī)的單獨(dú)API和用于GPS導(dǎo)航應(yīng)用軟件的單獨(dú)API。每個(gè)API —般獨(dú)立地將其動(dòng)作錄入日志并且每個(gè)API —般具有其自己的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)將需要交叉引用該蜂窩電話的在此新外圍功能的引入之前就存在的現(xiàn)有硬件或軟件。由于對(duì)不同硬件和軟件元素的交叉引用,為每個(gè)外圍功能引入?yún)g獨(dú)的API是非常繁瑣且耗時(shí)的。支持蜂窩電話的基本功能的每個(gè)硬件或軟件元素可能已經(jīng)被置備成具有由該蜂窩電話的原始設(shè)備制造商(OEM)和/或支持該蜂窩電話的這些基本功能的底層電子器件的OEM建立的命名系統(tǒng)。與軟件或硬件(或其兩者)相關(guān)聯(lián)的新特征或功能的日志錄入和調(diào)試已經(jīng)被該便攜式計(jì)算設(shè)備領(lǐng)域的普通技術(shù)人員認(rèn)識(shí)到是在提供新產(chǎn)品或特征(或其兩者)方面的顯著問(wèn)題。需要可克服與引入由被添加到由原始設(shè)備商(OEM)構(gòu)建的系統(tǒng)的新軟件或硬件(或其兩者)支持的新特征或功能相關(guān)聯(lián)的問(wèn)題的系統(tǒng)和方法。公開(kāi)概沭公開(kāi)了用于管理便攜式計(jì)算設(shè)備的資源的方法和系統(tǒng)。該方法包括接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括指派給該節(jié)點(diǎn)的姆個(gè)資源的卩隹一‘丨生名稱。節(jié)點(diǎn)具有至少ー個(gè)資源并且其可具有多個(gè)資源。每個(gè)資源可以是硬件或軟件元素。該系統(tǒng)包括處置節(jié)點(diǎn)架構(gòu)內(nèi)的現(xiàn)有節(jié)點(diǎn)之間的通信的框架管理器。該框架管理器還通過(guò)使用每個(gè)資源各自的唯一性名稱來(lái)將每個(gè)資源的活動(dòng)錄入日志。該框架管理器可向存儲(chǔ)器、諸如嵌入式文件系統(tǒng)之類的非易失性存儲(chǔ)、或諸如打印機(jī)或顯示屏之類的輸出設(shè)備發(fā)送該錄入日志了的活動(dòng)。該方法和系統(tǒng)可在新硬件或軟件元素(或其兩者)被添加到便攜式計(jì)算設(shè)備時(shí)幫助減少或消除對(duì)定制的API的需要。根據(jù)第一示例性方面,一種用于管理便攜式計(jì)算設(shè)備的資源的方法包括接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括唯一性名稱。該方法還包括審閱該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性并且然后確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi)。如果與依存性相關(guān)聯(lián)的一資源不存在,那么將該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)被存儲(chǔ)在臨時(shí)存儲(chǔ)中。如果每個(gè)依存性的每個(gè)資源都存在,那么創(chuàng)建該節(jié)點(diǎn)及其ー個(gè)或更多個(gè)對(duì)應(yīng)的資源。如果該節(jié)點(diǎn)被創(chuàng)建,那么使用該節(jié)點(diǎn)對(duì)應(yīng)的唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在該節(jié)點(diǎn)框架內(nèi)公布該節(jié)點(diǎn)。根據(jù)另ー示例性方面,一種用于管理便攜式計(jì)算設(shè)備的資源的計(jì)算機(jī)系統(tǒng)包括能操作以接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的處理器,其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為該節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱。該處理器還能操作以審閱該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性,并且該處理器能操作以確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi)。如果與依存性相關(guān)聯(lián)的一資源不存在,那么該處理器能操作以將該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中。如果每個(gè)依存性的每個(gè)資源都存在,那么該處理器能操作以創(chuàng)建該節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源。如果該節(jié)點(diǎn)被創(chuàng)建,那么該處理器能操作以使用與節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的這ー個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在該節(jié)點(diǎn)框架內(nèi)公布該節(jié)點(diǎn)。根據(jù)另ー示例性方面,一種用于管理便攜式計(jì)算設(shè)備的資源的計(jì)算機(jī)系統(tǒng)包括用于接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的裝置,其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為該節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱。該計(jì)算機(jī)系統(tǒng)還具有用于審閱該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性的裝置以及用于確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi)的裝置。該計(jì)算機(jī)系統(tǒng)還包括用于如果與依存性相關(guān)聯(lián)的一資源不存在就將該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中的裝置。該計(jì)算機(jī)系統(tǒng)還具有用于如果每個(gè)依存性的每個(gè)資源都存在就創(chuàng)建該節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源的裝置。該計(jì)算機(jī)系統(tǒng)還具有用于如果該節(jié)點(diǎn)被創(chuàng)建就使用與該節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的ー個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在該節(jié)點(diǎn)框架內(nèi)公布該節(jié)點(diǎn)的裝置。根據(jù)又一方面,一種計(jì)算機(jī)程序產(chǎn)品包括其中嵌入有計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可使用介質(zhì),其中該程序代碼被適配成能被執(zhí)行且實(shí)現(xiàn)用于管理便攜式計(jì)算設(shè)備的資源的方法。由該代碼實(shí)現(xiàn)的方法包括接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)具有給作為該節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱。該方法還包括審閱該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性以及確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi)。如果與依存性相關(guān)聯(lián)的一資源不存在,那么該方法將該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中。如果每個(gè)依存性的每個(gè)資源都存在,那么該過(guò)程創(chuàng)建該節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源。如果該節(jié)點(diǎn)被創(chuàng)建,那么該過(guò)程使用與該節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的這ー個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在該節(jié)點(diǎn)框架內(nèi)公布該節(jié)點(diǎn)。附圖簡(jiǎn)述在各附圖中,除非另行指出,否則相似的附圖標(biāo)記貫穿各視圖指示相似的部件。對(duì)于具有字母符號(hào)標(biāo)號(hào)的附圖標(biāo)記(諸如,“ 102A”或“ 102B”),該字母符號(hào)標(biāo)記可區(qū)分同一附圖中給出的兩個(gè)相似部件或元素。在意圖使ー個(gè)附圖標(biāo)記涵蓋所有附圖中具有相同附圖標(biāo)記的所有部件時(shí),可略去附圖標(biāo)記的字母符號(hào)標(biāo)號(hào)。
圖1是處在關(guān)起位置的便攜式計(jì)算設(shè)備(pro)的第一方面的正視平面圖;圖2是處在打開(kāi)位置的P⑶的第一方面的正視平面圖;圖3是TCD的第二方面的框圖;圖4是處理系統(tǒng)的框圖5是管理圖1的便攜式計(jì)算設(shè)備的資源的系統(tǒng)的軟件架構(gòu)的第一方面的圖示;圖6是管理圖1的P⑶的資源的系統(tǒng)的該軟件架構(gòu)的第二方面的圖示;圖7A是解說(shuō)用于創(chuàng)建用于管理PCD的(諸)資源的軟件架構(gòu)的方法的流程圖;圖7B是解說(shuō)用于創(chuàng)建用于管理PCD的(諸)資源的軟件架構(gòu)的方法的圖7的接續(xù)流程圖;圖8是解說(shuō)圖7A-B的用于在PCD中的軟件架構(gòu)中接收節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的子方法或例程的流程圖;圖9是解說(shuō)圖7A-B的用于在PCD的軟件架構(gòu)中創(chuàng)建節(jié)點(diǎn)的子方法或例程的流程圖;圖10是可由用于PCD的軟件架構(gòu)維護(hù)的示例性名稱表的數(shù)據(jù)結(jié)構(gòu)的圖示;圖11是解說(shuō)用于在用于PCD的軟件架構(gòu)中創(chuàng)建資源的別名的方法的流程圖;圖12是解說(shuō)圖9的用于在PCD的軟件架構(gòu)中創(chuàng)建客戶端的子方法或例程的流程圖;圖13是解說(shuō)用于在用于PCD的軟件架構(gòu)中創(chuàng)建對(duì)資源的客戶端請(qǐng)求的方法的流程圖;圖14是解說(shuō)在對(duì)PCD的資源的等時(shí)客戶端請(qǐng)求中所請(qǐng)求的工作的圖示;以及圖15是解說(shuō)圖9的用于在用于PCD的軟件架構(gòu)中創(chuàng)建對(duì)資源的等時(shí)客戶端請(qǐng)求的子方法或例程的流程圖。具體描沭措辭“示例性”在本文中用于表示“用作示例、實(shí)例或解說(shuō)”。本文中描述為“示例性”的任何方面不必被解釋為優(yōu)于或勝過(guò)其他方面。在本描述中,術(shù)語(yǔ)“應(yīng)用”還可包括具有諸如:對(duì)象代碼、腳本、字節(jié)碼、標(biāo)記語(yǔ)言文件和補(bǔ)丁之類的可執(zhí)行內(nèi)容的文件。此外,本文中引述的“應(yīng)用”還可包括本質(zhì)上不可執(zhí)行的文件,諸如需要被打開(kāi)的文檔或需要被訪問(wèn)的其他數(shù)據(jù)文件。術(shù)語(yǔ)“內(nèi)容”還可包括具有諸如:對(duì)象代碼、腳本、字節(jié)碼、標(biāo)記語(yǔ)言文件和補(bǔ)丁之類的可執(zhí)行內(nèi)容的文件。此外,本文中引述的“內(nèi)容”還可包括本質(zhì)上不可執(zhí)行的文件,諸如需要被打開(kāi)的文檔或需要被訪問(wèn)的其他數(shù)據(jù)文件。如在本描述中所使用的,術(shù)語(yǔ)“組件”、“數(shù)據(jù)庫(kù)”、“模塊”、“系統(tǒng)”和類似術(shù)語(yǔ)旨在引述計(jì)算機(jī)相關(guān)實(shí)體,任其是硬件、固件、硬件與軟件的組合、軟件,還是執(zhí)行中的軟件。例如,組件可以是但不限于在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行件、執(zhí)行的線程、程序、和/或計(jì)算機(jī)。作為解說(shuō),在計(jì)算設(shè)備上運(yùn)行的應(yīng)用和該計(jì)算設(shè)備兩者皆可以是組件。一個(gè)或更多個(gè)組件可駐留在進(jìn)程和/或執(zhí)行的線程內(nèi),并且組件可局部化在一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或更多臺(tái)計(jì)算機(jī)之間。此外,這些組件能從其上存儲(chǔ)著各種數(shù)據(jù)結(jié)構(gòu)的各種計(jì)算機(jī)可讀介質(zhì)來(lái)執(zhí)行。各組件可通過(guò)本地和/或遠(yuǎn)程進(jìn)程的方式來(lái)通信,諸如根據(jù)具有一個(gè)或更多個(gè)數(shù)據(jù)分組的信號(hào)(例如,來(lái)自通過(guò)該信號(hào)的方式與本地系統(tǒng)、分布式系統(tǒng)中的另ー組件進(jìn)行交互、和/或跨諸如因特網(wǎng)之類的網(wǎng)絡(luò)與其它系統(tǒng)進(jìn)行交互的一個(gè)組件的數(shù)據(jù))。在本描述中,術(shù)語(yǔ)“通信設(shè)備”、“無(wú)線設(shè)各”、“無(wú)線電話”、“無(wú)線通信設(shè)備”和“無(wú)線手持機(jī)”被可互換地使用。隨著第三代(“3G”)無(wú)線技術(shù)的到來(lái),更多帶寬可用性已使得更多便攜式計(jì)算設(shè)備具有更多種多祥的無(wú)線能力。因此,便攜式計(jì)算設(shè)備可以是具有無(wú)線連接或鏈接的蜂窩電話、尋呼機(jī)、PDA、智能電話、導(dǎo)航設(shè)備或手持式計(jì)算機(jī)。首先參照?qǐng)D1和圖2,示例性便攜式計(jì)算設(shè)備(PCD)被示出并被一般化地標(biāo)示為100。如所示出的,P⑶100可包括殼體102。殼體102可包括上殼體部分104和下殼體部分106 (圖2)。圖1示出上殼體部分104可包括顯示器108。在特定方面,顯示器108可以是觸摸屏顯示器。上殼體部分104還可包括軌跡球輸入設(shè)備110。此外,如圖1中所示出的,上殼體部分104可包括通電按鈕112和斷電按鈕114。如圖1中所示出的,P⑶100的上殼體部分104可包括多個(gè)指示器燈116以及揚(yáng)聲器118。每個(gè)指示器燈116可以是發(fā)光二極管(LED)。在特定方面中,如圖2中所描繪的,上殼體部分104可相對(duì)于下殼體部分106移動(dòng)。具體地,上殼體部分104可以是相對(duì)于下殼體部分106可滑動(dòng)的。如圖2中所示出的,下殼體部分106可包括多按鈕鍵盤120。在特定方面,多按鈕鍵盤120可以是標(biāo)準(zhǔn)QWERTY鍵盤。當(dāng)上殼體部分104相對(duì)于下殼體部分106移動(dòng)時(shí),多按鈕鍵盤120可被顯露出來(lái)。圖2進(jìn)ー步解說(shuō)了 P⑶100可包括在下殼體部分106上的復(fù)位(Reset)按鈕122。參照?qǐng)D3,便攜式計(jì)算設(shè)備(PCD)的示例性非限定方面被示出并被一般化地標(biāo)示為100。如所示出的,P⑶100包括片上系統(tǒng)322,該片上系統(tǒng)322包括多核CPU402。多核CPU402可包括第零核410、第一核412、和第N核414。如圖3中所示,顯示器控制器328和觸摸屏控制器330被耦合到多核CPU402。進(jìn)而,在片上系統(tǒng)322外部的觸摸屏顯示器108被耦合到顯示器控制器328和觸摸屏控制器330。圖3進(jìn)ー步解說(shuō)視頻編碼器334(例如,逐行倒相制(PAL)編碼器、順序傳送彩色與記憶制(SECAM)編碼器、或國(guó)家電視系統(tǒng)委員會(huì)(NTSC)編碼器)被耦合到多核CPU402。此夕卜,視頻放大器336被耦合到視頻編碼器334和觸摸屏顯示器108。而且,視頻端ロ 338被耦合至視頻放大器336。如圖3中所描繪的,通用串行總線(USB)控制器340被耦合至多核CPU402。而且,USB端ロ 342被耦合至USB控制器340。存儲(chǔ)器404和訂戶身份模塊(SM)卡346也可被耦合至多核CPU402。此外,如圖3中所示出的,數(shù)碼相機(jī)348可被耦合至多核CPU402。在示例性方面,數(shù)碼相機(jī)348是電荷耦合器件(CCD)相機(jī)或互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)相機(jī)。如圖3中進(jìn)ー步解說(shuō)的,立體聲音頻編解碼器350可被耦合至多核CPU402。此外,音頻放大器352可被稱合至立體聲音頻編解碼器350。在例性方面中,第一立體聲揚(yáng)聲器354和第二立體聲揚(yáng)聲器356被耦合至音頻放大器352。圖3示出了話筒放大器358也可被耦合至立體聲音頻編解碼器350。另外,話筒360可被耦合至話筒放大器358。在特定方面,調(diào)頻(FM)無(wú)線電調(diào)諧器362可被耦合至立體聲音頻編解碼器350。而且,F(xiàn)M天線364被耦合至FM無(wú)線電調(diào)諧器362。此外,立體聲頭戴式受話機(jī)366可被耦合至立體聲音頻編解碼器350。圖3進(jìn)ー步指示射頻(RF)收發(fā)機(jī)368可被耦合至多核CPU402。RF開(kāi)關(guān)370可被耦合至RF收發(fā)機(jī)368和RF天線372。如圖3中所示,按鍵板374可被耦合至多核CPU402。而且,帶話筒的單聲道頭戴式送受話器376可被耦合至多核CPU402。此外,振動(dòng)器設(shè)備378可被耦合至多核CPU402。圖3還示出了電源380可耦合至片上系統(tǒng)322。在特定方面中,電源380是將電能提供給PCDlOO的需要電能的各種組件的直流(DC)電源。此外,在特定方面,電源是可再充電DC電池或從連接到交流(AC)電源的AC到DC變換器得到的DC電源。圖3進(jìn)一步指示了 P⑶100還可包括可用于接入例如局域網(wǎng)、個(gè)域網(wǎng)之類的數(shù)據(jù)網(wǎng)絡(luò)、或任何其他網(wǎng)絡(luò)的網(wǎng)卡388。網(wǎng)卡388可以是藍(lán)牙網(wǎng)卡、WiFi網(wǎng)卡、個(gè)域網(wǎng)(PAN)卡、個(gè)域網(wǎng)超低功率技術(shù)(PeANUT)網(wǎng)卡、或任何其他本領(lǐng)域公知的網(wǎng)卡。此外,網(wǎng)卡388可被納入芯片中,即,網(wǎng)卡388可以是在芯片中的完全解決方案,并且可以不是分開(kāi)的網(wǎng)卡388。如圖3中描繪的,觸摸屏顯示器108、視頻端口 338、USB端口 342、相機(jī)348、第一立體聲揚(yáng)聲器354、第二立體聲揚(yáng)聲器356、話筒360、FM天線364、立體聲頭戴式受話機(jī)366、RF開(kāi)關(guān)370、RF天線372、按鍵板374、單聲道頭戴式送受話器376、振動(dòng)器378和電源380可在片上系統(tǒng)322外部。在特定方面中,本文所描述的一個(gè)或更多個(gè)方法步驟可作為計(jì)算機(jī)程序指令被存儲(chǔ)在存儲(chǔ)器404中。這些指令可由多核CPU402執(zhí)行以執(zhí)行本文描述的方法。此外,多核CPU402、存儲(chǔ)器404、或其組合可用作用于執(zhí)行本文所描述方法步驟中的一個(gè)或更多個(gè)方法步驟以對(duì)中央處理單元402內(nèi)的數(shù)據(jù)進(jìn)行采樣的裝置。參照?qǐng)D4,處理系統(tǒng)被示出并被一般表示為400。在一特定方面,處理系統(tǒng)400可被納入到以上結(jié)合圖3所描述的P⑶100中。如圖所示,處理系統(tǒng)400可包括多核中央處理單元(CPU) 402和連接到該多核CPU402的存儲(chǔ)器404。多核CPU402可包括第零核410、第一核412、和第N核414。第零核410可包括第零動(dòng)態(tài)時(shí)鐘和在其上執(zhí)行的電壓縮放(DCVS)算法416。第一核412可包括在其上執(zhí)行的第一 DCVS算法417。此外,第N核414可包括在其上執(zhí)行的第N DCVS算法418。在一特定方面,每個(gè)DCVS算法416、417、418可獨(dú)立地在各自的核412、414、416上執(zhí)行。而且,如所解說(shuō),存儲(chǔ)器404可包括存儲(chǔ)在其上的操作系統(tǒng)420。操作系統(tǒng)420可包括總線仲裁器或調(diào)度器422并且調(diào)度器422可包括第一運(yùn)行隊(duì)列424、第二運(yùn)行隊(duì)列426、和第N運(yùn)行隊(duì)列428。存儲(chǔ)器404還可包括存儲(chǔ)在其上的第一應(yīng)用430、第二應(yīng)用432、和第N應(yīng)用434。在一特定方面,應(yīng)用430、432、434可向操作系統(tǒng)420發(fā)送要在多核CPU402內(nèi)的核410、412、414處處理的一個(gè)或更多個(gè)任務(wù)436。任務(wù)436可被處理、或執(zhí)行為單任務(wù)、線程、或其組合。此外,調(diào)度器422可調(diào)度這些任務(wù)、線程、或其組合以在多核CPU402內(nèi)執(zhí)行。另外,調(diào)度器422可將這些任務(wù)、線程、或其組合放置在運(yùn)行隊(duì)列424、426、428中。核410、412,414可按例如操作系統(tǒng)420所指令地來(lái)從運(yùn)行隊(duì)列424、426、428檢索這些任務(wù)、線程、或其組合以在核410、412、414處處理、或執(zhí)行這些任務(wù)和線程。圖4還示出存儲(chǔ)器404可包括存儲(chǔ)在其上的框架管理器440??蚣芄芾砥?40可被連接到操作系統(tǒng)420和多核CPU402。具體而言,框架管理器440可被連接到操作系統(tǒng)420內(nèi)的調(diào)度器422。如本文所描述,框架管理器440可監(jiān)視核410、412、414上的工作負(fù)荷并且框架管理器440可如以下所描述地采樣來(lái)自核410、412、414的數(shù)據(jù)。在一特定方面,框架管理器440可以是軟件程序。然而,在一替換方面,框架管理器440可以是在存儲(chǔ)器404外部的硬件控制器。在任一情形中,框架管理器440、存儲(chǔ)器404、核410、412、414、或其任何組合可用作用于執(zhí)行本文所描述的方法步驟中的一個(gè)或更多個(gè)方法步驟以采樣來(lái)自核410、412、414的數(shù)據(jù)的裝置。
圖5是用于管理圖1的便攜式計(jì)算設(shè)備(P⑶)的資源的系統(tǒng)的軟件架構(gòu)500A的第一方面的圖示。圖5是包括代表軟件或硬件(或其兩者)的功能框的圖示。圖5解說(shuō)耦合到多個(gè)硬件和軟件元素的架構(gòu)或框架管理器440,這多個(gè)硬件和軟件元素諸如但不限于:也一般稱為第一硬件元素(硬件元素#1)的中央處理單元402 ;也一般稱為第二硬件元素(硬件元素#2)的用于CPU402的時(shí)鐘442 ;也一般稱為第三硬件元素(硬件元素#3)的總線仲裁器或調(diào)度器422 ;也一般稱為第一軟件元素(軟件元素#1)的總線程序A-444A ;也一般稱為第二軟件元素(軟件元素#2)的總線程序B-444B;也一般稱為第三軟件元素(軟件元素#3)的時(shí)鐘程序AHB ;由軟件元素監(jiān)視的一般指示為鍵按壓448的動(dòng)作或功能;以及包括軟件元素或硬件元素或其兩者的舊式元素450。舊式軟件元素的示例可包括但不限于動(dòng)態(tài)環(huán)境管理器(DEM)。這是處置對(duì)處理器睡眠事件的處理器間通知的軟件模塊。例如,第一處理器A使用該DEM來(lái)接收關(guān)于第二處理器B已經(jīng)進(jìn)入空閑/從空閑返回的通知。在較新的硬件上,該軟件功能性已經(jīng)被歸入到路由處理器模塊(RPM)子系統(tǒng)/通信協(xié)議中。其他舊式軟件元素存在且被包括在本發(fā)明的范圍之內(nèi)。舊式硬件元素的示例可包括但不限于AMBA (高級(jí)微控制器總線架構(gòu))高性能總線(AHB)0在較老的P⑶100上。AHB可包括主系統(tǒng)總線,而在較新的P⑶100上,該系統(tǒng)總線交換結(jié)構(gòu)完全不同并且該AHB總線僅被用于特殊應(yīng)用以與尚未被更新成經(jīng)由新系統(tǒng)總線交換結(jié)構(gòu)來(lái)通信的模塊進(jìn)行通信。其他舊式硬件元素存在且被包括在本發(fā)明的范圍之內(nèi)??蚣芄芾砥?40可包括管理諸如與前述硬件和軟件元素中的每者通信的(以下描述的)節(jié)點(diǎn)之類的數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)指令庫(kù)??蚣芄芾砥?40可負(fù)責(zé)創(chuàng)建可形成如在圖5的虛線A的右側(cè)上所解說(shuō)的節(jié)點(diǎn)602、622、642、和646的一個(gè)或更多個(gè)資源。每個(gè)節(jié)點(diǎn)602、622、642、和646是在圖5的虛線A的左手側(cè)上的每個(gè)軟件或硬件元素的表示或模型。對(duì)于本公開(kāi)的余下部分,將用如圖6A所解說(shuō)的附圖標(biāo)記601來(lái)標(biāo)示一般的或即非特異性的節(jié)點(diǎn)。如先前指出的,圖5的每個(gè)示例性節(jié)點(diǎn)602、622、642、和646可包括一個(gè)或更多個(gè)資源。資源可包括軟件元素或硬件元素或其兩者。例如,第一節(jié)點(diǎn)602包括與第一硬件元素或中央處理單元402 —般性相對(duì)應(yīng)的單個(gè)資源。在本公開(kāi)所描述的創(chuàng)造性軟件架構(gòu)的情況下,節(jié)點(diǎn)601的每個(gè)資源可被置備成具有包括一個(gè)或更多個(gè)字母數(shù)字字符的唯一性名稱。在圖5所解說(shuō)的示例性實(shí)施例中,第一節(jié)點(diǎn)602的資源已經(jīng)被指派有“/core/cpu”的資源名稱。該示例性資源名稱一般對(duì)應(yīng)于本領(lǐng)域普通技術(shù)人員所知的常規(guī)文件命名結(jié)構(gòu)。然而,如本領(lǐng)域普通技術(shù)人員所認(rèn)識(shí)到的,包含字母數(shù)字字符和/或符號(hào)的任何其他組合的其他類型的資源名稱也完全在本發(fā)明范圍之內(nèi)。在圖5的示例性實(shí)施例中,第二節(jié)點(diǎn)622包括多個(gè)資源。具體而言,在該特定示例性實(shí)施例中,第二節(jié)點(diǎn)622具有包括與總線仲裁器或調(diào)度器422相對(duì)應(yīng)的單個(gè)硬件元素的第一資源。第二節(jié)點(diǎn)622的第二資源包括與總線程序A的第一軟件元素444A —般性相對(duì)應(yīng)的軟件元素。第二節(jié)點(diǎn)622的第三資源包括與總線程序B的第二軟件元素444B —般性相對(duì)應(yīng)的另一軟件元素。本領(lǐng)域普通技術(shù)人員認(rèn)識(shí)到,給定節(jié)點(diǎn)601的任何組合的和任何數(shù)目的資源和資源類型也完全在本發(fā)明范圍之內(nèi)。圖5還解說(shuō)與這兩個(gè)軟件元素448、450的動(dòng)作或功能一般性相對(duì)應(yīng)的第一客戶端648。在圖5所解說(shuō)的示例性實(shí)施例中,客戶端648與可在由便攜式計(jì)算設(shè)備100支持的特定應(yīng)用程序內(nèi)發(fā)生的鍵按壓動(dòng)作一般性相對(duì)應(yīng)。然而,本領(lǐng)域普通技術(shù)人員認(rèn)識(shí)到,除鍵按壓之外的其他軟件元素動(dòng)作和/或功能也完全在本發(fā)明范圍之內(nèi)。關(guān)于客戶端648及其各自的創(chuàng)建的進(jìn)一步細(xì)節(jié)將在下面結(jié)合圖12描述。圖5還解說(shuō)特定架構(gòu)性元素之間的關(guān)系。例如,圖5解說(shuō)客戶端648和第一節(jié)點(diǎn)602之間的關(guān)系。具體而言,第一客戶端648可生成用虛線解說(shuō)的客戶端請(qǐng)求675A,該客戶端請(qǐng)求675A由包括資源“/core/cpu”的第一節(jié)點(diǎn)602管理或處置。典型地,有預(yù)定或設(shè)定數(shù)目的類型的客戶端請(qǐng)求675??蛻舳苏?qǐng)求675將在下面進(jìn)一步結(jié)合圖13詳細(xì)描述。圖5中顯示的其他關(guān)系包括用虛線680解說(shuō)的依存性。依存性是另一節(jié)點(diǎn)601的各個(gè)資源之間的關(guān)系。依存性關(guān)系通常指示第一資源(A)依賴于可為該第一資源(A)提供信息的第二資源(B)。該信息可以是由第二資源(B)執(zhí)行的操作的結(jié)果或者其可簡(jiǎn)單地包括該第一資源(A)所需的狀態(tài)信息或其任何組合。該第一資源(A)和第二資源(B)可以是同一節(jié)點(diǎn)601的一部分或者它們可以是不同節(jié)點(diǎn)601的部分。在圖5中,第一節(jié)點(diǎn)602如由依存性箭頭680B所指示地依存于第二節(jié)點(diǎn)622,依存性箭頭680B源自第一節(jié)點(diǎn)602并且延伸到第二節(jié)點(diǎn)622。圖5還解說(shuō)第一節(jié)點(diǎn)602還如由依存性箭頭680A所解說(shuō)地依存于第三節(jié)點(diǎn)642。圖5還解說(shuō)第二節(jié)點(diǎn)622如由依存性箭頭680C所解說(shuō)地依存于第四節(jié)點(diǎn)646。本領(lǐng)域普通技術(shù)人員認(rèn)識(shí)到,用圖5的虛箭頭解說(shuō)的依存性680本質(zhì)上僅僅是示例性的并且各個(gè)節(jié)點(diǎn)601之間的其他依存性組合也在本發(fā)明范圍之內(nèi)。架構(gòu)或框架管理器440負(fù)責(zé)如上所述地維護(hù)這些關(guān)系,包括但不限于圖5所解說(shuō)的客戶端請(qǐng)求675和依存性680??蚣芄芾砥?40將嘗試實(shí)例化或創(chuàng)建盡可能多的節(jié)點(diǎn)601,只要任何給定節(jié)點(diǎn)601的依存性680是完整的。當(dāng)支持依存性的資源存在或者處于準(zhǔn)備好處置與依存性680有關(guān)的信息的就緒狀態(tài)中時(shí),依存性680就是完整的。例如,如果包括單個(gè)資源“/clk/cpu”的第三節(jié)點(diǎn)642尚未被創(chuàng)建,那么由于在第一節(jié)點(diǎn)602和第三節(jié)點(diǎn)642之間存在的依存性關(guān)系680A,框架管理器440可不創(chuàng)建或建立包括單個(gè)資源“/core/cpu”的第一節(jié)點(diǎn)602。一旦第三節(jié)點(diǎn)642已經(jīng)由框架管理器440創(chuàng)建,那么由于依存性關(guān)系680A,框架管理器440可創(chuàng)建第二節(jié)點(diǎn)602。如果因?yàn)樘囟ü?jié)點(diǎn)601的依存性680之中的一個(gè)或更多個(gè)依存性不完整而導(dǎo)致框架管理器440不能創(chuàng)建或?qū)嵗囟ü?jié)點(diǎn)601,那么框架管理器440將繼續(xù)運(yùn)行或執(zhí)行與由框架管理器440成功創(chuàng)建了的那些節(jié)點(diǎn)601相對(duì)應(yīng)的步驟??蚣芄芾砥?40通常將跳過(guò)對(duì)可能因不完整的依存性(其中依存資源尚未被創(chuàng)建)故而不存在的特定節(jié)點(diǎn)601的調(diào)用并且將反映該不完整狀態(tài)的消息返回給該調(diào)用。在諸如圖4所解說(shuō)的多核環(huán)境中,框架管理器440可在像圖4的第一、第二和第N核424、426、和428的單獨(dú)的核上創(chuàng)建或?qū)嵗T節(jié)點(diǎn)601。一般可在多核環(huán)境中在諸分開(kāi)的核上且并行地創(chuàng)建諸節(jié)點(diǎn)601,只要這些節(jié)點(diǎn)601不彼此依存并且如果特定節(jié)點(diǎn)的所有對(duì)應(yīng)的依存性如以下描述地為完整的即可。圖6A是用于管理圖1的P⑶100的資源的系統(tǒng)的軟件架構(gòu)500B1的第二方面的概括圖示。在該概括圖示中,每個(gè)節(jié)點(diǎn)601的這一個(gè)或更多個(gè)資源尚未被置備成具有唯一性名稱。圖6A的節(jié)點(diǎn)或資源圖500B1僅包括諸節(jié)點(diǎn)601、客戶端648、事件690、和由架構(gòu)或框架管理器440支持的查詢功能695。已經(jīng)用橢圓形以及具有表示節(jié)點(diǎn)601內(nèi)的資源之間的各個(gè)依存性的具體方向的箭頭680來(lái)解說(shuō)每個(gè)節(jié)點(diǎn)601。在圖6A-B中解說(shuō)的節(jié)點(diǎn)架構(gòu)內(nèi)的調(diào)用可對(duì)別名、或節(jié)點(diǎn)601內(nèi)的資源的實(shí)際資源名稱來(lái)作出。例如,第一節(jié)點(diǎn)601A具有依存性箭頭680A以指示第一節(jié)點(diǎn)601A依存于第二節(jié)點(diǎn)601B的這兩個(gè)資源(資源#2和#3)。圖6A還解說(shuō)第一節(jié)點(diǎn)601A的客戶端648可如何向第一節(jié)點(diǎn)60IA發(fā)出客戶端請(qǐng)求675。在這些客戶端請(qǐng)求675被發(fā)出之后,第二節(jié)點(diǎn)60IB可觸發(fā)事件690或者提供對(duì)查詢695的響應(yīng),其中與事件690和查詢695相對(duì)應(yīng)的消息流回到客戶端648。圖6B是用于管理圖1的P⑶100的資源的系統(tǒng)的軟件架構(gòu)500B2的第二方面的具體圖示。圖6B解說(shuō)僅包括具有專門的、但為示例性的資源名稱的諸節(jié)點(diǎn)601、以及與圖5的諸項(xiàng)相對(duì)應(yīng)的客戶端648、事件690、和查詢功能695的節(jié)點(diǎn)或資源圖500B2。已經(jīng)用橢圓形以及具有表示節(jié)點(diǎn)601內(nèi)的資源之間的各個(gè)依存性的具體方向的箭頭680來(lái)解說(shuō)每個(gè)節(jié)點(diǎn)601。例如,第一節(jié)點(diǎn)602具有依存性箭頭680B以指示第一節(jié)點(diǎn)602依存于第二節(jié)點(diǎn)622的這三個(gè)資源。類似地,包括第二軟件元素444B且在圖6中用標(biāo)記字母“C” 一般性標(biāo)示的第三資源“/bus/ahb/sysB/”具有指示該第三資源(C)依存于第四節(jié)點(diǎn)646的該單個(gè)“/clk/sys/ahb”資源的依存性箭頭680C。圖6B還解說(shuō)來(lái)自諸節(jié)點(diǎn)601的輸出數(shù)據(jù),輸出數(shù)據(jù)可包括一個(gè)或更個(gè)事件690或查詢功能695。查詢功能695類似于事件690。查詢功能695可具有可以是或可以不是唯一性的查詢句柄。該查詢功能一般不被外部地標(biāo)識(shí)并且一般而言其不具有狀態(tài)。查詢功能695可被用來(lái)確定節(jié)點(diǎn)601的特定資源的狀態(tài)。查詢功能695和事件690可具有與建成的客戶端648的關(guān)系并且這些關(guān)系由方向性箭頭697表示以指示來(lái)自各個(gè)事件690和查詢功能695的信息被傳遞給特定客戶端648。圖6的節(jié)點(diǎn)或資源圖500B代表存在于諸如圖4的存儲(chǔ)器404之類的存儲(chǔ)器中的且由框架管理器440所管理的關(guān)系和可包括節(jié)點(diǎn)601的相關(guān)數(shù)據(jù)結(jié)構(gòu)。節(jié)點(diǎn)或資源圖500B可由框架管理器440自動(dòng)地生成以作為有用工具來(lái)用于標(biāo)識(shí)由框架管理器440所管理的各個(gè)元素之間的關(guān)系以及用于由軟件團(tuán)隊(duì)進(jìn)行故障診斷。圖7A是解說(shuō)用于創(chuàng)建用于管理P⑶100的(諸)資源的軟件架構(gòu)的方法700A的流程圖???05是用于管理P⑶100的資源的方法或過(guò)程700的第一例程。在框705中,例程可由框架管理器440執(zhí)行或運(yùn)行以接收節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)。該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)可包括勾勒特定節(jié)點(diǎn)601與其它諸節(jié)點(diǎn)601可具有的依存性的依存性陣列。關(guān)于節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)及此例程或子方法705的進(jìn)一步細(xì)節(jié)將在下面結(jié)合圖8進(jìn)一步詳細(xì)描述。接著,在框710中,框架管理器440可審閱作為在框705中接收到的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的一部分的該依存性數(shù)據(jù)。在判決框715中,框架管理器440可確定該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)是否定義葉節(jié)點(diǎn)601。葉節(jié)點(diǎn)601 —般意味著要基于該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)來(lái)創(chuàng)建的該節(jié)點(diǎn)不具有任何依存性。如果對(duì)判決框715的詢問(wèn)是肯定的——意味著用于創(chuàng)建當(dāng)前節(jié)點(diǎn)的該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)不具有任何依存性,那么框架管理器440繼續(xù)行至例程框725。如果對(duì)判決框715的詢問(wèn)是否定的,那么跟隨“否”分支到判決框720,在其中框架管理器確定該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)內(nèi)的所有硬依存性是否都存在。硬依存性可包括其中無(wú)此則資源不能存在的依存性。同時(shí),軟依存性可包括其中資源可作為任選性步驟來(lái)使用依存資源的依存性。軟依存性意味著具有軟依存性的節(jié)點(diǎn)601或該節(jié)點(diǎn)601的資源甚至可在該軟依存性并不存在時(shí)在該節(jié)點(diǎn)架構(gòu)內(nèi)被創(chuàng)建或?qū)嵗?。軟依存性的示例可包括?duì)于包含多個(gè)資源的面向資源的節(jié)點(diǎn)601的操作并非必不可少的優(yōu)化特征。框架管理器440可因節(jié)點(diǎn)或資源的所有硬依存性均存在而創(chuàng)建或?qū)嵗?jié)點(diǎn)或資源,甚至在那些有未被創(chuàng)建的軟依存性的節(jié)點(diǎn)或資源的軟依存性不存在時(shí)亦是如此?;卣{(diào)特征可被用來(lái)引用該軟依存性,以便當(dāng)該軟依存性對(duì)框架管理器440變得可用時(shí),框架管理器440將向引用該軟依存性的每個(gè)回調(diào)作出關(guān)于這些軟依存性現(xiàn)在可用的通知。如果對(duì)判決框720的詢問(wèn)是否定的,那么跟隨“否”分支到框727,在其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)由框架管理器440存儲(chǔ)在諸如存儲(chǔ)器之類的臨時(shí)存儲(chǔ)中并且框架管理器440創(chuàng)建與該未經(jīng)實(shí)例化的節(jié)點(diǎn)相關(guān)聯(lián)的回調(diào)特征。如果對(duì)判決框715的詢問(wèn)是肯定的,那么跟隨“是”分支到例程725,在其中基于在例程框705中接收到的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)來(lái)創(chuàng)建或?qū)嵗?jié)點(diǎn)601。例程框725的進(jìn)一步細(xì)節(jié)將在下面結(jié)合圖9描述。接著,在框730中,框架管理器440使用新創(chuàng)建節(jié)點(diǎn)601的(諸)唯一性資源名稱來(lái)公布此新創(chuàng)建節(jié)點(diǎn)601,從而其他節(jié)點(diǎn)601可向/從此新創(chuàng)建節(jié)點(diǎn)601發(fā)送
信息/接收信息?,F(xiàn)在參考作為圖7A的接續(xù)流程圖的圖7B,在框735中,框架管理器440向依存于此新創(chuàng)建節(jié)點(diǎn)601的其它節(jié)點(diǎn)601作出此新創(chuàng)建節(jié)點(diǎn)601已經(jīng)被實(shí)例化并且準(zhǔn)備好接收或傳送信息的通知。根據(jù)一個(gè)示例性方面,當(dāng)如圖6A的節(jié)點(diǎn)601B的依存節(jié)點(diǎn)被創(chuàng)建時(shí)立即觸發(fā)通知,即,通知被遞歸地執(zhí)行。所以如果圖6A的節(jié)點(diǎn)601B被構(gòu)建,那么立即通知節(jié)點(diǎn)601A。該通知可允許節(jié)點(diǎn)601A被構(gòu)建(因?yàn)楣?jié)點(diǎn)601B原來(lái)是節(jié)點(diǎn)601A的最終依存性)。節(jié)點(diǎn)601B的構(gòu)建可使其它諸節(jié)點(diǎn)601得到通知,依此類推。直到依存于節(jié)點(diǎn)601B的最終資源完整了,節(jié)點(diǎn)60IB才變得完整。稍微更復(fù)雜一些的第二實(shí)現(xiàn)是要將所有通知放到單獨(dú)通知隊(duì)列上,并且然后在單個(gè)時(shí)間點(diǎn)遍歷該隊(duì)列,即,這些通知被迭代地執(zhí)行。如此當(dāng)圖6A的節(jié)點(diǎn)601B被構(gòu)建時(shí),對(duì)節(jié)點(diǎn)601A的通知被推送到列表上。然后該列表被執(zhí)行并且節(jié)點(diǎn)601A得到通知。這使對(duì)(除節(jié)點(diǎn)601A之外的、未在圖6A中解說(shuō)的)其他附加節(jié)點(diǎn)601的通知也被放在同一列表上,并且在向節(jié)點(diǎn)601A的通知被發(fā)送之后隨后發(fā)送該通知。直到與節(jié)點(diǎn)601B和節(jié)點(diǎn)601A相關(guān)聯(lián)的所有工作都已經(jīng)完成之后,(除對(duì)節(jié)點(diǎn)601A的通知之外的)對(duì)其它節(jié)點(diǎn)601的通知才會(huì)發(fā)生。邏輯上,這兩個(gè)實(shí)現(xiàn)是精確地相等的,但是它們?cè)诒粚?shí)現(xiàn)時(shí)具有不同的存儲(chǔ)器消耗特性。遞歸實(shí)現(xiàn)簡(jiǎn)單但可能消耗任意量的??臻g,其中棧消耗是依存性圖的深度的函數(shù)。迭代實(shí)現(xiàn)稍微更復(fù)雜些并且需要更多一點(diǎn)的靜態(tài)存儲(chǔ)器(通知列表),但是不管依存性圖(諸如圖6A所解說(shuō))的深度如何,棧使用是恒定的。同樣,框735中的對(duì)節(jié)點(diǎn)創(chuàng)建的通知不限于其它節(jié)點(diǎn)。它也可被內(nèi)部地用于別名構(gòu)建。不只是其他節(jié)點(diǎn),系統(tǒng)500中的任何任意性元素均可使用此相同機(jī)制以請(qǐng)求在節(jié)點(diǎn)(或標(biāo)記)變得可用時(shí)得到通知。節(jié)點(diǎn)和非節(jié)點(diǎn)兩者皆可使用相同通知機(jī)制。在判決框740中,框架管理器440確定基于當(dāng)前節(jié)點(diǎn)601的創(chuàng)建,其它節(jié)點(diǎn)601或軟依存性現(xiàn)在是否得到釋放以進(jìn)行創(chuàng)建或?qū)嵗E袥Q框740 —般性地確定是否因?yàn)樽罱呀?jīng)經(jīng)歷創(chuàng)建或?qū)嵗漠?dāng)前節(jié)點(diǎn)已經(jīng)滿足了某些依存性關(guān)系680而使得現(xiàn)在可創(chuàng)建資源。如果對(duì)判決框740的詢問(wèn)是肯定的,那么跟隨“是”分支回到例程框725,在其中由于剛剛被創(chuàng)建的節(jié)點(diǎn)601滿足了依存性,現(xiàn)在可創(chuàng)建或?qū)嵗玫结尫诺墓?jié)點(diǎn)601。如果對(duì)判決框740的詢問(wèn)是否定的,那么跟隨“否”分支到框745,在其中框架管理器440可管理如圖5和6所解說(shuō)的軟件架構(gòu)的元素之間的通信。接著,在框750中,框架管理器440可繼續(xù)通過(guò)使用與特定資源相關(guān)聯(lián)的資源名稱來(lái)日志錄入或記錄由資源采取的動(dòng)作??稍谟煽蚣芄芾砥?40或由框架管理器440管理的元素中的任何元素采取的任何動(dòng)作之后由框架管理器440執(zhí)行框745,這些元素諸如有資源、節(jié)點(diǎn)601、客戶端648、事件695、和查詢功能697???45是本發(fā)明的又一個(gè)重要方面,在其中框架管理器440可維護(hù)運(yùn)行的活動(dòng)日志,該日志列出由每個(gè)元素根據(jù)其由創(chuàng)建了特定元素(諸如節(jié)點(diǎn)601的資源之類)的作者提供的唯一性標(biāo)識(shí)符或名稱來(lái)執(zhí)行的動(dòng)作。與現(xiàn)有技術(shù)相比,框750中的列出指派給系統(tǒng)的每個(gè)資源的唯一性名稱的該活動(dòng)日志錄入是獨(dú)特的的并且可提供諸如在調(diào)試和錯(cuò)誤故障診斷中使用的顯著優(yōu)勢(shì)。使系統(tǒng)500獨(dú)特的眾多方面中的另一方面在于,分別的團(tuán)隊(duì)可獨(dú)立于彼此地工作于不同硬件和/或軟件元素,在其中每個(gè)團(tuán)隊(duì)將能夠使用唯一性的資源名稱并且易于追蹤而無(wú)需創(chuàng)建用于翻譯由其他團(tuán)隊(duì)和/或原始設(shè)備制造商(OEM)指派的沒(méi)多大意義且通常令人混淆的資源名稱的表。接著,在判決框755中,框架管理器440確定由框架管理器440記錄的活動(dòng)日志是否已經(jīng)被請(qǐng)求。如果對(duì)判決框755的詢問(wèn)是否定的,那么跟隨“否”分支到此過(guò)程的結(jié)束,在其中此過(guò)程返回到例程705。如果對(duì)判決框755的詢問(wèn)是肯定的,那么跟隨“是”分支到框760,在其中框架管理器440向諸如打印機(jī)或顯示屏和/或其兩者之類的輸出設(shè)備發(fā)送包括有意義的資源名稱和由這些資源名稱執(zhí)行的各個(gè)動(dòng)作的該活動(dòng)日志。該過(guò)程然后返回到如上所述的例程框705。圖8是解說(shuō)圖7的用于在PCD100的軟件架構(gòu)中接收節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的子方法或例程705的流程圖。框805是圖7的子方法或例程705中的第一步驟。在框805中,框架管理器440可接收給軟件或諸如圖5的CPU402和時(shí)鐘442之類的硬件元素的唯一性名稱。如先前討論的,節(jié)點(diǎn)601必須引用至少一個(gè)資源。每個(gè)資源具有名稱并且該名稱必須在系統(tǒng)500中是唯一性的。系統(tǒng)500內(nèi)的所有元素可用唯一性名稱來(lái)標(biāo)識(shí)。每個(gè)元素具有從字符視角來(lái)看唯一'丨生的名稱。換言之,一般而言,系統(tǒng)500內(nèi)沒(méi)有兩個(gè)元素具有相同名稱。根據(jù)本系統(tǒng)的示例性方面,節(jié)點(diǎn)601的資源一般可具有跨該系統(tǒng)唯一性的名稱,但是不要求客戶端或事件名稱唯一性,盡管它們可視期望而是唯一性的。為方便起見(jiàn),可采用常規(guī)的使用正斜杠“/”字符以創(chuàng)建唯一性名稱的樹(shù)文件命名結(jié)構(gòu)或文件命名“隱喻”,諸如但不限于用于CPU402的“/core/cpu”和用于時(shí)鐘442的“/clk/cpu”。然而,如本領(lǐng)域普通技術(shù)人員所認(rèn)識(shí)到的,包含任何其他組合的字母數(shù)字字符和/或符號(hào)的其它類型的資源名稱也完全在本發(fā)明范圍之內(nèi)。
接著,在框810中,框架管理器440可為與正被創(chuàng)建的節(jié)點(diǎn)601的一個(gè)或更多個(gè)資源相關(guān)聯(lián)的一個(gè)或更多個(gè)驅(qū)動(dòng)程序功能接收數(shù)據(jù)。驅(qū)動(dòng)程序功能一般包括要由特定節(jié)點(diǎn)601的一個(gè)或更多個(gè)資源完成的動(dòng)作。例如,在圖6中,節(jié)點(diǎn)602的資源/core/cpu的驅(qū)動(dòng)程序功能可請(qǐng)求其為提供已被請(qǐng)求的所請(qǐng)求處理量所需的總線帶寬量和CPU時(shí)鐘頻率。將經(jīng)由節(jié)點(diǎn)642和節(jié)點(diǎn)622的中的資源的(未被解說(shuō)的)客戶端來(lái)作出這些請(qǐng)求。節(jié)點(diǎn)642中的/clk/cpu的驅(qū)動(dòng)程序功能將通常負(fù)責(zé)根據(jù)其接收自節(jié)點(diǎn)602的/core/cpu資源的請(qǐng)求來(lái)實(shí)際設(shè)定物理時(shí)鐘頻率。在框815中,框架管理器440可接收節(jié)點(diǎn)屬性數(shù)據(jù)。該節(jié)點(diǎn)屬性數(shù)據(jù)一般包括定義諸如安全性(是否可經(jīng)由用戶空間應(yīng)用來(lái)訪問(wèn)該節(jié)點(diǎn))、可遠(yuǎn)程性(是否可從該系統(tǒng)中的其他處理器訪問(wèn)該節(jié)點(diǎn))和可訪問(wèn)性(該資源是否支持多個(gè)并發(fā)客戶端)之類的節(jié)點(diǎn)策略的數(shù)據(jù)。框架管理器440還可定義允許資源超馳諸如請(qǐng)求評(píng)估或日志錄入策略之類的默認(rèn)框架行為的屬性。接著,在框820中,框架管理器440可為正被創(chuàng)建的特定節(jié)點(diǎn)601接收定制的用戶數(shù)據(jù)。該用戶數(shù)據(jù)可包括本領(lǐng)域普通技術(shù)人員關(guān)于“C”編程語(yǔ)言所理解的空“star”字段。用戶數(shù)據(jù)也被本領(lǐng)域普通技術(shù)人員稱為“trust me (信任我)”字段。示例性定制用戶數(shù)據(jù)可包括但不限于,諸如頻率表之類的表、寄存器映射圖等。在框820中接收到的用戶數(shù)據(jù)不被系統(tǒng)500引用,但是允許對(duì)資源的定制(若該定制不被框架管理器440所識(shí)別或完全支持)。該用戶數(shù)據(jù)結(jié)構(gòu)是“C”編程語(yǔ)言中的旨在被擴(kuò)展用于特定或?qū)iT用途的基類。本領(lǐng)域普通技術(shù)人員認(rèn)識(shí)到,用于擴(kuò)展特定類的專門用途的其他種類的數(shù)據(jù)結(jié)構(gòu)也在本發(fā)明范圍之內(nèi)。例如,在“C++”(C加加)編程語(yǔ)言中,等效結(jié)構(gòu)可包括將變?yōu)橛糜诠?jié)點(diǎn)601內(nèi)的資源的擴(kuò)展機(jī)制的關(guān)鍵字“public”。接著,在框825中,框架管理器440可接收依存性陣列數(shù)據(jù)。該依存性陣列數(shù)據(jù)可包括正被創(chuàng)建的節(jié)點(diǎn)601所依存于的一個(gè)或更多個(gè)資源601的唯一性且特異性的名稱。例如,如果圖6B的第一節(jié)點(diǎn)602原來(lái)正在被創(chuàng)建,那么在此框825中,依存性陣列數(shù)據(jù)可包括第二節(jié)點(diǎn)622的這三個(gè)資源的資源名稱和第三節(jié)點(diǎn)642的這單個(gè)資源名稱,其中第一節(jié)點(diǎn)602依存于這些資源。接著,在框830中,框架管理器440可接收資源陣列數(shù)據(jù)。該資源陣列數(shù)據(jù)可包括用于正被創(chuàng)建的當(dāng)前節(jié)點(diǎn)的參數(shù),諸如與圖6的第一節(jié)點(diǎn)602有關(guān)的參數(shù)(若該第一節(jié)點(diǎn)602正被創(chuàng)建)。該資源陣列數(shù)據(jù)可包括以下數(shù)據(jù)的一者或更多者:其他資源的名稱;單位;最大值;資源屬性;插件數(shù)據(jù);以及類似于框820的定制用戶數(shù)據(jù)的任何定制的資源數(shù)據(jù)。該插件數(shù)據(jù)一般標(biāo)識(shí)檢索自軟件庫(kù)的功能并且通常列出可由正被創(chuàng)建的特定節(jié)點(diǎn)或特定多個(gè)節(jié)點(diǎn)支持的客戶端類型。該插件數(shù)據(jù)還允許對(duì)客戶端創(chuàng)建和拆毀的定制。在框830之后,該過(guò)程返回到圖7的框710。在圖8中,已經(jīng)用虛線解說(shuō)了屬性數(shù)據(jù)框815、定制用戶數(shù)據(jù)框820、和依存性陣列數(shù)據(jù)框825,以指示這些特定步驟是任選的并且對(duì)于任何給定節(jié)點(diǎn)601而言均非必需的。同時(shí),已經(jīng)用實(shí)線解說(shuō)了唯一性名稱框805、驅(qū)動(dòng)程序功能框810、和資源陣列數(shù)據(jù)框830,以指示例程705的這些步驟一般是強(qiáng)制的以用于創(chuàng)建節(jié)點(diǎn)601。圖9是解說(shuō)圖7的用于在P⑶100中的軟件架構(gòu)中創(chuàng)建節(jié)點(diǎn)的子方法或例程725的流程圖。例程框905是用于根據(jù)一個(gè)示例性實(shí)施例來(lái)實(shí)例化或創(chuàng)建節(jié)點(diǎn)601的子方法或例程725中的第一例程。在例程框905中,在該步驟中創(chuàng)建與正被實(shí)例化的節(jié)點(diǎn)601相關(guān)聯(lián)的一個(gè)或更多個(gè)客戶端648。關(guān)于例程框905的進(jìn)一步細(xì)節(jié)將在下面結(jié)合圖12更詳細(xì)地描述。在框910中,框架管理器可創(chuàng)建或?qū)嵗c框705的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)相對(duì)應(yīng)的這一個(gè)或更多個(gè)資源。接著,在框915中,框架管理器440可使用在例程框705的資源陣列數(shù)據(jù)框830中接收到的最大值來(lái)激活在例程框705的例程框810中接收到的驅(qū)動(dòng)程序功能。根據(jù)一個(gè)示例性方面,可使用在例程框705的資源陣列數(shù)據(jù)框830中接收到的最大值來(lái)激活這些驅(qū)動(dòng)程序功能。根據(jù)另一優(yōu)選示例性方面,可用連同來(lái)自例程705的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)一起傳遞的任選的初始值來(lái)激活每個(gè)驅(qū)動(dòng)程序功能。如果初始數(shù)據(jù)未被置備,那么以O(shè)即最小值來(lái)初始化該驅(qū)動(dòng)程序功能。通常也以使得知道驅(qū)動(dòng)程序功能正被初始化的方式來(lái)激活該驅(qū)動(dòng)程序功能。這使得資源能夠執(zhí)行專門用于初始化的任何操作,但無(wú)需在正?;蚶滩僮髌陂g執(zhí)行。該過(guò)程隨后返回到圖7的步驟730。圖10是可由用于PCD100的軟件架構(gòu)維護(hù)的示例性名稱表1000的數(shù)據(jù)結(jié)構(gòu)的圖示。示例性名稱表1000可包括兩列數(shù)據(jù)。第一列可包括對(duì)應(yīng)于資源601的別名1005并且第二列可包括由框架管理器440維護(hù)以用于管理圖6所解說(shuō)的節(jié)點(diǎn)601之間的關(guān)系的節(jié)點(diǎn)601的實(shí)際資源名稱1010。多個(gè)別名可被用于同一資源601。別名可被視為依存性并且可在以下結(jié)合圖12描述的客戶端的創(chuàng)建期間被創(chuàng)建。名稱表1000允許專注于某些硬件和/或軟件元素的第一設(shè)計(jì)團(tuán)隊(duì)(諸如軟件驅(qū)動(dòng)程序的原始設(shè)備制造商(OEM)之類)提供相對(duì)于工作于特定的某件硬件或軟件的該第一設(shè)計(jì)團(tuán)隊(duì)而言是內(nèi)部的唯一性名稱。利用名稱表1000,第二和第三(或更多)外部設(shè)計(jì)團(tuán)隊(duì)可以能夠通過(guò)使用該第二和第三外部設(shè)計(jì)團(tuán)隊(duì)中的那些團(tuán)隊(duì)所偏好的別名來(lái)引用第一設(shè)計(jì)團(tuán)隊(duì)的(此示例中的OEM的)硬件或軟件元素。例如,OEM可如圖10中的表1000的第一行和第二列中所解說(shuō)地對(duì)圖5的中央處理單元402指派名稱“/cpuO”。同時(shí),相對(duì)于該OEM的第二專業(yè)團(tuán)隊(duì)可能期望對(duì)同一中央處理單元402指派不同名稱或別名。該第二團(tuán)隊(duì)可如圖10的表1000的第一行和第一列中所解說(shuō)地指派與資源名稱“/cpuO”相對(duì)應(yīng)的別名“主處理器”。圖11是解說(shuō)用于在用于PCD100的軟件架構(gòu)中創(chuàng)建資源的別名的方法1100的流程圖???105是用于創(chuàng)建資源601的別名1005的方法1100中的第一步驟。在框1105中,框架管理器440接收由用戶選擇的與資源601的特定名稱1010相對(duì)應(yīng)的別名1005。接著,在判決框1110中,框架管理器440確定由選定的別名引用的資源是否已經(jīng)被框架管理器440創(chuàng)建。本領(lǐng)域普通技術(shù)人員將領(lǐng)會(huì),可對(duì)資源或?qū)α硪粍e名定義一別名。不只是資源名稱,可將要公布的任何名稱別名化。如果對(duì)判決框1110的詢問(wèn)是否定的,那么跟隨“否”分支到框1115,在其中別名被存儲(chǔ)在臨時(shí)存儲(chǔ)中直至該資源被創(chuàng)建。具體而言,當(dāng)對(duì)未經(jīng)定義的名稱創(chuàng)建別名時(shí),該別名被存儲(chǔ)在存儲(chǔ)器中并且該過(guò)程返回以等待更多別名被定義。當(dāng)別名被實(shí)例化時(shí),該別名名稱連同對(duì)迄今尚未定義的名稱(別名)被存儲(chǔ)在存儲(chǔ)器中。當(dāng)該未經(jīng)定義的名稱(別名)被公布時(shí),即通知該別名,這隨后使其被公布。這種行為實(shí)質(zhì)上與當(dāng)有缺失的依存性時(shí)的資源創(chuàng)建過(guò)程是一樣的。該過(guò)程然后行進(jìn)回到框1105。如果對(duì)判決框1110的詢問(wèn)是肯定的,那么跟隨“是”分支到框1120,在其中該別名由框架管理器440公布,從而其他資源可訪問(wèn)與剛剛已經(jīng)被創(chuàng)建的該別名相對(duì)應(yīng)的資源。然后該過(guò)程返回。圖12是解說(shuō)圖9的用于在PCD100的軟件架構(gòu)中創(chuàng)建客戶端648的子方法或例程905的流程圖???205是在其中創(chuàng)建一個(gè)或更多個(gè)資源601的客戶端648的例程框905的第一步驟。在框1205中,框架管理器440接收被指派給正被創(chuàng)建的客戶端648的名稱。類似于資源名稱,客戶端648的名稱可包括任何類型的字母數(shù)字和/或符號(hào)。接著,在框1210中,如果對(duì)正被創(chuàng)建的該客戶端648有任何特定的定制,那么定制的用戶數(shù)據(jù)可由框架管理器440接收。已經(jīng)用虛線解說(shuō)了框1210以指示該步驟是任選的???210的定制用戶數(shù)據(jù)類似于以上結(jié)合節(jié)點(diǎn)601的資源的創(chuàng)建來(lái)討論的定制用戶數(shù)據(jù)。在框1215中,框架管理器440接收指派給正被創(chuàng)建的特定客戶端的客戶端類型類另O。本文中的客戶端類型類別可包括四種類型之一:(a)要求的、(b)沖激、(C)向量、以及(d)等時(shí)的。可取決于正由系統(tǒng)500管理的資源和取決于依賴著節(jié)點(diǎn)601的資源的應(yīng)用程序來(lái)擴(kuò)展客戶端類型類別列表。要求的類別一般對(duì)應(yīng)于對(duì)從要求的客戶端648傳遞到特定資源601的標(biāo)量值的處理。例如,要求的請(qǐng)求可包括某個(gè)數(shù)目的每秒百萬(wàn)條指令(MIP)。同時(shí),沖激類別一般對(duì)應(yīng)于對(duì)在某個(gè)時(shí)段內(nèi)完成某個(gè)活動(dòng)(對(duì)起始時(shí)間或停止時(shí)間沒(méi)有任何指定)的請(qǐng)求的處理。等時(shí)類別一般對(duì)應(yīng)于對(duì)通常重復(fù)發(fā)生并且具有定義明確的起始時(shí)間和定義明確的結(jié)束時(shí)間的動(dòng)作的請(qǐng)求。向量類別一般對(duì)應(yīng)于通常作為被串行或并行地要求的多個(gè)動(dòng)作的一部分的數(shù)據(jù)陣列。接著,在框1220中,框架管理器440接收指示客戶端648是已經(jīng)被指定為同步的還是異步的數(shù)據(jù)。同步客戶端648是通常要求框架管理器442鎖定節(jié)點(diǎn)601的資源直至該資源601返回?cái)?shù)據(jù)和關(guān)于資源601已經(jīng)完成來(lái)自該同步客戶端648的所請(qǐng)求任務(wù)的指示的同步客戶端。在另一方面,異步客戶端648可由被框架管理器440訪問(wèn)的一個(gè)或更多個(gè)線程436(見(jiàn)圖4)并行地處置??蚣芄芾砥?40可創(chuàng)建對(duì)線程436的回調(diào)并且可在該回調(diào)已經(jīng)被相應(yīng)線程436執(zhí)行時(shí)返回值。本領(lǐng)域普通技術(shù)人員認(rèn)識(shí)到,異步客戶端648并不像同步客戶端648在該同步客戶端648的任務(wù)正被執(zhí)行時(shí)那樣鎖定資源。在框1220之后,在判決框1225中,框架管理器440確定由客戶端645標(biāo)識(shí)出的資源是否可用。如果對(duì)判決框1225的詢問(wèn)是否定的,那么跟隨“否”分支到框1230,在其中空值或消息被返回到用戶,以指示該客戶端648此次不能被創(chuàng)建。如果對(duì)判決框1225的詢問(wèn)是肯定的,那么跟隨“是”分支到框1235,在其中框架管理器440確定由客戶端648標(biāo)識(shí)出的每個(gè)資源是否都支持在框1210中提供的客戶端類型。如果對(duì)判決框1235的詢問(wèn)是否定的,那么跟隨“否”分支回到框1230,在其中空值或消息被返回,以指示客戶端648此次不能被創(chuàng)建。如果對(duì)判決框1225的詢問(wèn)是肯定的,那么跟隨“是”分支到框1240,在其中框架管理器440在存儲(chǔ)器中創(chuàng)建或?qū)嵗蛻舳?48。接著,在框1245中,如果在框1210中接收到諸如任選自變量之類的任何定制用戶數(shù)據(jù),那么可將這些任選自變量隨其各自的資源映射到特定節(jié)點(diǎn)601。接著,在框1250中,新創(chuàng)建的客戶端645被耦合到其對(duì)應(yīng)的處于空閑狀態(tài)或所請(qǐng)求狀態(tài)中的一個(gè)或更多個(gè)資源,如以上所述的圖6B所解說(shuō)的。該過(guò)程隨后返回到圖9的框910。圖13是解說(shuō)用于在P⑶100的軟件架構(gòu)中創(chuàng)建對(duì)資源601的客戶端請(qǐng)求675的方法1300的流程圖。一般在以上結(jié)合圖7和圖12所述的客戶端創(chuàng)建和節(jié)點(diǎn)創(chuàng)建之后執(zhí)行方法1300???305是用于創(chuàng)建對(duì)資源601的客戶端請(qǐng)求675的方法1300中的第一步驟。方法1300將描述框架管理器440如何處置以下三種類型的請(qǐng)求675: (a)要求的、(b)沖激、以及(c)向量。對(duì)第四類型的請(qǐng)求675 (即(d)等時(shí)請(qǐng)求)的處置將在下面結(jié)合圖15來(lái)描述。如以上提及的請(qǐng)求675的名稱所暗示的,客戶端請(qǐng)求675 —般對(duì)應(yīng)于被創(chuàng)建了的且以上結(jié)合圖12所描述的客戶端類型。在框1305中,框架管理器440可接收與諸如以上提及的三者之一之類的特定客戶端請(qǐng)求675相關(guān)聯(lián)的數(shù)據(jù),這三者為:(a)要求的、(b)沖激、以及(C)向量。與要求的請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)一般包括從被要求的客戶端648傳遞到特定資源601的標(biāo)量值。例如,要求的請(qǐng)求可包括某個(gè)數(shù)目的每秒百萬(wàn)條指令(MIP)。同時(shí),沖激請(qǐng)求包括對(duì)在某個(gè)時(shí)間段內(nèi)完成某個(gè)活動(dòng)(對(duì)起始時(shí)間或停止時(shí)間沒(méi)有任何指定)的請(qǐng)求。用于向量請(qǐng)求的數(shù)據(jù)一般包括被要求串行或并行完成的多個(gè)動(dòng)作的陣列。向量請(qǐng)求可包括任意性長(zhǎng)度的值。向量請(qǐng)求通常具有大小值和值陣列。節(jié)點(diǎn)601的每個(gè)資源可被擴(kuò)展成具有指針字段以支持向量請(qǐng)求。在“C”編程語(yǔ)言中,如本領(lǐng)域普通技術(shù)人員所理解,該指針字段由union函數(shù)支持。接著,在框1310中,框架管理器440通過(guò)由以上結(jié)合圖13所描述的方法創(chuàng)建的客戶端648來(lái)發(fā)出請(qǐng)求。接著,在框1315中,如果請(qǐng)求是要求類型或向量類型,那么框架管理器440加倍緩沖正通過(guò)該客戶端的請(qǐng)求數(shù)據(jù)。如果該請(qǐng)求是沖激類型,那么框1315被框架管理器1440跳過(guò)。對(duì)于要求的請(qǐng)求,在該框1315中,來(lái)自在先請(qǐng)求的值被維護(hù)在存儲(chǔ)器中,從而框架管理器440可確定在當(dāng)前請(qǐng)求值集合中是否與先前請(qǐng)求值之間有任何差異。對(duì)于向量請(qǐng)求,在先請(qǐng)求通常不被維護(hù)在存儲(chǔ)器中,盡管如特定實(shí)現(xiàn)所期望地,節(jié)點(diǎn)601的資源可維護(hù)這些先前請(qǐng)求。因此,框1315對(duì)于向量類型的請(qǐng)求是任選的。在框1320中,框架管理器440演算當(dāng)前請(qǐng)求值集合中與先前請(qǐng)求值集合之間的Δ或差異。在判決框1325中,框架管理器確定當(dāng)前請(qǐng)求值集合是否等同于先前請(qǐng)求值集合。換言之,框架管理器440確定當(dāng)前請(qǐng)求值集合和先前請(qǐng)求值集合之間是否存在差異。如果在請(qǐng)求值的當(dāng)前集合和先前集合之間沒(méi)有差異,那么跟隨“是”分支(跳過(guò)框1330到框1370)到其中該過(guò)程結(jié)束的框1375。如果對(duì)判決框1325的詢問(wèn)是否定的——意味著請(qǐng)求值集合相對(duì)于先前請(qǐng)求值集合是不同的,那么跟隨“否”分支到判決框1330。在判決框1330中,框架管理器440確定該當(dāng)前請(qǐng)求是否是異步請(qǐng)求。如果對(duì)判決框1330的詢問(wèn)是否定的,那么跟隨“否”分支到框1340,在其中與客戶端請(qǐng)求675相對(duì)應(yīng)的
資源601被框架管理器440鎖定。如果對(duì)判決框1330的詢問(wèn)是肯定的-意味著該當(dāng)前
請(qǐng)求是異步請(qǐng)求類型,那么跟隨“是”分支到框1335,在其中該請(qǐng)求可被推送到另一線程上并且可由另一核來(lái)執(zhí)行(若框架管理器440當(dāng)前管理著如圖4那樣的多核系統(tǒng))。已經(jīng)用虛線來(lái)解說(shuō)框1335以指示該步驟可以是任選的(若PCD100是單核中央處理系統(tǒng))。接著,在框1340中,與請(qǐng)求675相對(duì)應(yīng)的資源601被框架管理器440鎖定。接著,在框1345中,資源601執(zhí)行一般與在圖8的框830中接收到的資源陣列數(shù)據(jù)的插件數(shù)據(jù)相對(duì)應(yīng)的更新功能。該更新功能一般包括負(fù)責(zé)鑒于新客戶端請(qǐng)求的新資源狀態(tài)的功能。該更新功能將其先前狀態(tài)與該客戶端請(qǐng)求中的所請(qǐng)求狀態(tài)相比較。如果所請(qǐng)求狀態(tài)大于先前狀態(tài),那么該更新功能將執(zhí)行該客戶端請(qǐng)求。然而,如果所請(qǐng)求狀態(tài)等于或小于該當(dāng)前狀態(tài)并且是資源正以之來(lái)操作的狀態(tài),那么該客戶端請(qǐng)求將不被執(zhí)行,以便提高效率,因?yàn)槔系臓顟B(tài)達(dá)成或滿足所請(qǐng)求的狀態(tài)。更新功能從客戶端取得新請(qǐng)求并且將其與所有其他活躍請(qǐng)求聚集以確定資源的新?tīng)顟B(tài)。如一示例,多個(gè)客戶端可能正在請(qǐng)求總線時(shí)鐘頻率??偩€時(shí)鐘的更新功能通常將取所有這些客戶端請(qǐng)求的最大值并且將其用作該總線時(shí)鐘的新的期望狀態(tài)。不是所有資源將使用相同更新功能,盡管有一些更新功能將被多個(gè)資源使用。一些共用更新功能是取諸客戶端請(qǐng)求的最大值,取諸客戶端請(qǐng)求的最小值、以及對(duì)客戶端請(qǐng)求求和?;蛘?,如果其資源需要以某種獨(dú)特的方式來(lái)聚集請(qǐng)求,那么諸資源可定義其自己的定制更新功能。接著,在框1350中,框架管理器440將該數(shù)據(jù)傳遞給與客戶端請(qǐng)求648相對(duì)應(yīng)的資源,從而該資源可執(zhí)行專門用于節(jié)點(diǎn)601的資源的驅(qū)動(dòng)程序功能。驅(qū)動(dòng)程序功能應(yīng)用由更新功能所計(jì)算出的資源狀態(tài)。這可能需要更新硬件設(shè)置、發(fā)出對(duì)依存資源的請(qǐng)求、調(diào)用舊式功能或上述各項(xiàng)的某種組合。在先前示例中,該更新功能計(jì)算了所請(qǐng)求的總線時(shí)鐘頻率。驅(qū)動(dòng)程序功能可接收該所請(qǐng)求的頻率并且其可更新時(shí)鐘頻率控制HW (硬件)以該頻率來(lái)運(yùn)行。注意,有時(shí)對(duì)于驅(qū)動(dòng)程序功能而言,要滿足更新功能已經(jīng)計(jì)算出的精確請(qǐng)求狀態(tài)是不可能的。在該情形中,該驅(qū)動(dòng)程序功能可選取最好程度地滿足該請(qǐng)求的頻率。例如,總線時(shí)鐘HW可能僅能夠以128MHz和160MHz運(yùn)行,但是所請(qǐng)求狀態(tài)或許是150MHz。在該情況下,驅(qū)動(dòng)程序功能應(yīng)以160MHz運(yùn)行,因?yàn)樵擃l率超過(guò)了所請(qǐng)求狀態(tài)。接著,在框1355中,框架管理器440從已經(jīng)在框1350中執(zhí)行了驅(qū)動(dòng)程序功能的資源接收狀態(tài)控制。接著,在框1360中,事件690 (若已對(duì)該資源定義了該事件)可被觸發(fā),從而數(shù)據(jù)被傳遞回到與事件690相對(duì)應(yīng)的客戶端648。事件可在另一線程中被處理。這可使對(duì)所鎖定資源花費(fèi)的時(shí)間量最小化并且允許在如圖4所解說(shuō)的多核系統(tǒng)中進(jìn)行更并行的操作。可以類似于如何可對(duì)該方法1300中所述的資源定義請(qǐng)求的方式來(lái)對(duì)資源定義一個(gè)或更多個(gè)事件690。換言之,該事件創(chuàng)建過(guò)程可很大程度上與客戶端創(chuàng)建過(guò)程并行。對(duì)于事件而言有所不同的是,要定義僅在越過(guò)某些閾值時(shí)獲觸發(fā)的事件是可行的。對(duì)僅基于閾值來(lái)獲觸發(fā)的事件的這種定義允許通知資源何時(shí)變得被過(guò)度訂閱(其具有比其所能支持的要多的并發(fā)用戶),這指示系統(tǒng)過(guò)載狀況,或通知資源何時(shí)變低/消失,這可允許其他事物被關(guān)閉,復(fù)原在系統(tǒng)變得被過(guò)度訂閱時(shí)被禁用了的功能性,等等。因?yàn)榭捎瞄撝祦?lái)進(jìn)行事件注冊(cè),所以將系統(tǒng)在有事件通知之際不得不進(jìn)行的工作量減少到只在有真正必要的某事物時(shí)才發(fā)生。在每個(gè)狀態(tài)變化之際登記事件也是可行的。接著,在任選框1365中,如果正被處理的請(qǐng)求是向量請(qǐng)求,那么通常執(zhí)行該任選框1365。任選框1365通常包括檢查或確定以評(píng)價(jià)向量指針是否仍然位于用戶傳遞到該向量中的同一數(shù)據(jù)上。如果對(duì)此任選框1365的詢問(wèn)是肯定的——意味著該指針正仍然指向由用戶傳遞到該向量中的同一數(shù)據(jù),那么該指針被清除,從而對(duì)老數(shù)據(jù)的引用不被維持。該任選框1365通常被執(zhí)行以考慮到向量請(qǐng)求(與沖激請(qǐng)求和要求的請(qǐng)求對(duì)比而言)正被處理時(shí)的以上描述的加倍緩沖框1315。
接著,在框1370中,框架440解鎖所請(qǐng)求資源,從而可由特定節(jié)點(diǎn)601的當(dāng)前的但得到釋放的所請(qǐng)求資源來(lái)處置其他客戶端請(qǐng)求648。該過(guò)程隨后返回到第一框1305以接收
下一客戶端請(qǐng)求。圖14是解說(shuō)在對(duì)P⑶100的資源的等時(shí)客戶端請(qǐng)求中所請(qǐng)求的工作的圖示1400。圖示1400包括具有X軸和Y軸的圖表。該X軸一般包括流逝的時(shí)間而Y軸可包括所請(qǐng)求動(dòng)作值,諸如所請(qǐng)求的每秒百萬(wàn)條指令(MIP)之類。如先前提及的,等時(shí)客戶端請(qǐng)求一般包括定義明確的起始時(shí)間A和定義明確的結(jié)束時(shí)間或截止期限C。在圖14所解說(shuō)的示例性實(shí)施例中,該圖表指示具有150MIP的所請(qǐng)求工作是在時(shí)間A處開(kāi)始并且在時(shí)間B處結(jié)束,在其中時(shí)間B發(fā)生在所要求的截止期限時(shí)間C之前。圖15是解說(shuō)圖9的用于在用于PCD100的軟件架構(gòu)中創(chuàng)建對(duì)資源的等時(shí)客戶端請(qǐng)求的子方法或例程1300B的流程圖。該子方法或例程1300B是在以上結(jié)合圖13所描述的步驟的基礎(chǔ)上或與之協(xié)同地來(lái)構(gòu)建或執(zhí)行的。這意味著此圖15中枚舉的步驟以與圖13所提供的附圖標(biāo)記相對(duì)應(yīng)的順序定位。如以下更詳細(xì)描述的,當(dāng)此類次序或順序不影響來(lái)自所執(zhí)行步驟的期望輸出時(shí),本發(fā)明不限于該步驟次序或順序???307是用于處理等時(shí)請(qǐng)求675的子方法或例程的第一步驟???307在圖13的框1305之后并且在框1310之前發(fā)生。在框1307中,框架管理器440可接收諸如以上結(jié)合圖14討論的截止期限C之類的截止期限數(shù)據(jù)。接著,在框1309中,框架管理器440可演算當(dāng)前時(shí)間和框1307中提供的截止期限之間的差異。接著在框1362 (其在圖13的框1360之后但在框1365之前發(fā)生)中,框架管理器440將起始時(shí)間A和結(jié)束時(shí)間B與截止期限C (見(jiàn)圖14)相比較。在框1363中,因?yàn)榭蚣芄芾砥?40被置備成具有所請(qǐng)求的活動(dòng)量并且因?yàn)榭蚣芄芾砥?40追蹤起始時(shí)間A和結(jié)束時(shí)間B,那么在框1363中,框架管理器440可演算由特定節(jié)點(diǎn)601的資源執(zhí)行了的工作量。接著,在框1367 (其發(fā)生在圖13的框1365之后和框1370之前)中,可執(zhí)行優(yōu)化過(guò)程。已經(jīng)用虛線來(lái)解說(shuō)框1367以指示該步驟是任選的或者該步驟可被離線地且相對(duì)于PCD100而言脫離設(shè)備地執(zhí)行。該優(yōu)化過(guò)程可嘗試在將諸如功耗和響應(yīng)性之類的許多不同變量納入考量的同時(shí)確定該工作如何可在起始時(shí)間和截止期限之間最佳地完成。在一些示例性實(shí)施例中,該框1367可被完全跳過(guò),而不脫離本發(fā)明的范圍。該過(guò)程隨后返回到圖13的框1305以處理下一客戶端請(qǐng)求675。本說(shuō)明書(shū)中所描述的過(guò)程或過(guò)程流程中的某些步驟自然地位于其他步驟之前以使得本發(fā)明如所述地運(yùn)作。然而,如果次序或順序不改變本發(fā)明的功能性,則本發(fā)明并不限定于所描述的步驟次序。亦即,認(rèn)識(shí)到某些步驟可在其他步驟之前、之后、或并行地(基本上同時(shí))執(zhí)行,而不脫離本發(fā)明的范圍和精神。在一些實(shí)例中,某些步驟可被忽略或不執(zhí)行,而不脫離本發(fā)明。此外,諸如“此后”、“隨后”、“接下來(lái)”等措辭無(wú)意限制這些步驟的次序。這些措辭僅僅是被用于帶領(lǐng)讀者遍閱對(duì)示例性方法的描述。此外,舉例而言,編程領(lǐng)域的普通技術(shù)人員能夠基于本說(shuō)明書(shū)中的流程圖和相關(guān)聯(lián)的描述來(lái)編寫計(jì)算機(jī)代碼或標(biāo)識(shí)恰適的硬件和/或電路來(lái)實(shí)現(xiàn)所公開(kāi)的發(fā)明而沒(méi)有困難。因此,對(duì)程序代碼指令或詳細(xì)的硬件設(shè)備的公開(kāi)并不被視為對(duì)于充分理解如何作出并使用本發(fā)明而言是必需的。所要求保護(hù)的計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程的發(fā)明性功能性在以上描述中結(jié)合可解說(shuō)各種過(guò)程流程的附圖更為詳細(xì)地進(jìn)行了解釋。在一個(gè)或更多個(gè)示例性方面中,所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),則各功能可以作為一條或更多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者,這些介質(zhì)包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。以示例而非限定的方式,此類計(jì)算機(jī)可讀介質(zhì)可以包括RAM、R0M、EEPR0M、CD-ROM或其它光盤存儲(chǔ)、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或者可用以攜帶或者存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼且可由計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。另外,任何連接也被正當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(“DSL”)、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳送而來(lái),則該同軸電纜、光纖電纜、雙絞線、DSL、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)就被包括在介質(zhì)的定義之中。如本文中所使用的,盤(disk)和碟(disc)包括壓縮碟(“⑶”)、激光碟、光碟、數(shù)字多用碟(“DVD”)、軟盤和藍(lán)光碟,其中盤(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。盡管已詳細(xì)解說(shuō)和描述了精選的方面,但是將可理解,可在其中作出各種替換和變更而不會(huì)脫離本發(fā)明如所附權(quán)利要求所定義的精神和范圍。
權(quán)利要求
1.一種用于管理便攜式計(jì)算設(shè)備的資源的方法,所述方法包括: 接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為所述節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱; 審閱所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性; 確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi); 如果與依存性相關(guān)聯(lián)的資源不存在,那么將所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中; 如果每個(gè)依存性的每個(gè)資源都存在,那么創(chuàng)建所述節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源;以及 如果所述節(jié)點(diǎn)被創(chuàng)建,那么使用與節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的一個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在所述節(jié)點(diǎn)框架內(nèi)公布所述節(jié)點(diǎn)。
2.按權(quán)利要求1所述的方法,其特征在干,每個(gè)資源包括軟件元素和硬件元素中的至少ー者。
3.按權(quán)利要求1所述的方法,其特征在于,還包括向依存于當(dāng)前節(jié)點(diǎn)的ー個(gè)或更多個(gè)節(jié)點(diǎn)通知所述當(dāng)前節(jié)點(diǎn)的創(chuàng)建。
4.按權(quán)利要求1所述的方法,其特征在于,還包括管理所述節(jié)點(diǎn)框架的ー個(gè)或更多個(gè)節(jié)點(diǎn)之間的通信以及通過(guò)每個(gè)資源的唯一性名稱來(lái)在存儲(chǔ)器中記錄每個(gè)資源的活動(dòng)。
5.按權(quán)利要求4所述的方法,其特征在于,還包括通過(guò)每個(gè)資源的唯一性名稱來(lái)在輸出設(shè)備上顯示所記錄的每個(gè)資源的活動(dòng)。
6.按權(quán)利要求5所述的方法,其特征在于,所述輸出設(shè)備包括視頻顯示器、文件、串行端ロ、無(wú)線接ロ、和打印機(jī)中的至少ー者。
7.按權(quán)利要求1所述的方法,其特征在于,還包括接收包括向量數(shù)據(jù)的客戶端請(qǐng)求數(shù)據(jù)。
8.按權(quán)利要求7所述的方法,其特征在于,還包括在向量請(qǐng)求已經(jīng)被執(zhí)行之后檢查向量指針的狀態(tài)。
9.按權(quán)利要求8所述的方法,其特征在于,還包括復(fù)位所述向量指針。
10.按權(quán)利要求1所述的方法,其特征在于,所述便攜式計(jì)算設(shè)備包括移動(dòng)電話、個(gè)人數(shù)字助理、尋呼機(jī)、智能電話、導(dǎo)航設(shè)備、和具有無(wú)線連接或鏈接的手持計(jì)算機(jī)中的至少ー者。
11.一種用于管理便攜式計(jì)算設(shè)備的資源的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括: 處理器,能操作用干: 接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為所述節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱; 審閱所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性; 確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi); 如果與依存性相關(guān)聯(lián)的資源不存在,那么所述處理器能操作用于將所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中; 如果每個(gè)依存性的每個(gè)資源都存在,那么所述處理器能操作用于創(chuàng)建所述節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源;以及 如果所述節(jié)點(diǎn)被創(chuàng)建,那么所述處理器能操作用于使用與節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的ー個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在所述節(jié)點(diǎn)框架內(nèi)公布所述節(jié)點(diǎn)。
12.按權(quán)利要求11所述的系統(tǒng),其特征在干,每個(gè)資源包括軟件元素和硬件元素中的至少ー者。
13.按權(quán)利要求12所述的系統(tǒng),其特征在于,所述處理器能操作用于向依存于當(dāng)前節(jié)點(diǎn)的一個(gè)或更多個(gè)節(jié)點(diǎn)通知所述當(dāng)前節(jié)點(diǎn)的創(chuàng)建。
14.按權(quán)利要求11所述的系統(tǒng),其特征在于,所述處理器能操作用于管理所述節(jié)點(diǎn)框架的一個(gè)或更多個(gè)節(jié)點(diǎn)之間的通信以及通過(guò)每個(gè)資源的唯一性名稱來(lái)在存儲(chǔ)器中記錄每個(gè)資源的活動(dòng)。
15.按權(quán)利要求14所述的系統(tǒng),其特征在于,所述處理器能操作用于通過(guò)每個(gè)資源的唯一性名稱來(lái)在輸出設(shè)備上顯示所記錄的每個(gè)資源的活動(dòng)。
16.按權(quán)利要求15所述的系統(tǒng),其特征在于,所述輸出設(shè)備包括視頻顯示器、文件、串行端ロ、無(wú)線接ロ、和打印機(jī)中的至少ー者。
17.按權(quán)利要求11所述的系統(tǒng),其特征在于,所述處理器還能操作用于接收包括向量數(shù)據(jù)的客戶端請(qǐng)求數(shù)據(jù)。
18.按權(quán)利要求11所述的系統(tǒng),其特征在于,所述處理器還能操作用于在向量請(qǐng)求已經(jīng)被執(zhí)行之后檢查向量指針的狀態(tài)。
19.按權(quán)利要求18所述的系統(tǒng),其特征在于,所述處理器能進(jìn)ー步操作用于復(fù)位所述向量指針。
20.按權(quán)利要求11所述的系統(tǒng),其特征在于,所述便攜式計(jì)算設(shè)備包括移動(dòng)電話、個(gè)人數(shù)字助理、尋呼機(jī)、智能電話、導(dǎo)航設(shè)備、和具有無(wú)線連接或鏈接的手持計(jì)算機(jī)中的至少ー者。
21.一種用于管理便攜式計(jì)算設(shè)備的資源的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括: 用于接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的裝置,所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為所述節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱; 用于審閱所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性的裝置; 用于確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi)的裝置; 用于如果與依存性相關(guān)聯(lián)的資源不存在就將所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中的裝置; 用于如果每個(gè)依存性的每個(gè)資源都存在就創(chuàng)建所述節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)資源的裝置;以及 用于如果所述節(jié)點(diǎn)被創(chuàng)建就使用與所述節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的一個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)所述該節(jié)點(diǎn)框架內(nèi)公布所述節(jié)點(diǎn)的裝置。
22.按權(quán)利要求21所述的系統(tǒng),其特征在干,每個(gè)資源包括軟件元素和硬件元素中的至少ー者。
23.按權(quán)利要求22所述的 系統(tǒng),其特征在于,還包括向依存于當(dāng)前節(jié)點(diǎn)的一個(gè)或更多個(gè)節(jié)點(diǎn)通知所述當(dāng)前節(jié)點(diǎn)的創(chuàng)建。
24.按權(quán)利要求21所述的系統(tǒng),其特征在于,還包括管理所述節(jié)點(diǎn)框架的一個(gè)或更多個(gè)節(jié)點(diǎn)之間的通信以及通過(guò)每個(gè)資源的唯一性名稱來(lái)在存儲(chǔ)器中記錄每個(gè)資源的活動(dòng)。
25.按權(quán)利要求24所述的系統(tǒng),其特征在于,還包括用于通過(guò)每個(gè)資源的唯一性名稱來(lái)在輸出設(shè)備上顯示所記錄的每個(gè)資源的活動(dòng)的裝置。
26.按權(quán)利要求25所述的系統(tǒng),其特征在于,所述輸出設(shè)備包括視頻顯示器、文件、串行端ロ、無(wú)線接ロ、和打印機(jī)中的至少ー者。
27.按權(quán)利要求21所述的系統(tǒng),其特征在于,還包括用于接收包括向量數(shù)據(jù)的客戶端請(qǐng)求數(shù)據(jù)的裝置。
28.按權(quán)利要求21所述的系統(tǒng),其特征在于,還包括用于在向量請(qǐng)求已經(jīng)被執(zhí)行之后檢查向量指針的狀態(tài)的裝置。
29.按權(quán)利要求28所述的系統(tǒng),其特征在于,還包括用于復(fù)位所述向量指針的裝置。
30.按權(quán)利要求21所述的系統(tǒng),其特征在于,所述便攜式計(jì)算設(shè)備包括移動(dòng)電話、個(gè)人數(shù)字助理、尋呼機(jī)、智能電話、導(dǎo)航設(shè)備、和具有無(wú)線連接或鏈接的手持計(jì)算機(jī)中的至少ー者。
31.一種包括計(jì)算機(jī)可使用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可使用介質(zhì)具有實(shí)施于其中的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼適配成被執(zhí)行以實(shí)現(xiàn)用于管理便攜式計(jì)算設(shè)備的資源的方法,所述方法包括: 接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括給作為所述節(jié)點(diǎn)的一部分的每個(gè)資源的唯一性名稱; 審閱所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)以尋找ー個(gè)或更多個(gè)依存性; 確定與依存性相關(guān)聯(lián)的每個(gè)資源是否都存在于節(jié)點(diǎn)框架之內(nèi); 如果與依存性相關(guān)聯(lián)的資源不存 在,那么將所述節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)在臨時(shí)存儲(chǔ)中; 如果每個(gè)依存性的每個(gè)資源都存在,那么創(chuàng)建所述節(jié)點(diǎn)及其一個(gè)或更多個(gè)對(duì)應(yīng)的資源;以及 如果所述節(jié)點(diǎn)被創(chuàng)建,那么使用與節(jié)點(diǎn)的一個(gè)或更多個(gè)資源相對(duì)應(yīng)的一個(gè)或更多個(gè)唯一性名稱以準(zhǔn)備好處理通信的狀態(tài)來(lái)在所述節(jié)點(diǎn)框架內(nèi)公布所述節(jié)點(diǎn)。
32.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,每個(gè)資源包括軟件元素和硬件元素中的至少ー者。
33.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)ー步包括:向依存于當(dāng)前節(jié)點(diǎn)的一個(gè)或更多個(gè)節(jié)點(diǎn)通知所述當(dāng)前節(jié)點(diǎn)的創(chuàng)建。
34.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)一歩包括:管理所述節(jié)點(diǎn)框架的一個(gè)或更多個(gè)節(jié)點(diǎn)之間的通信以及通過(guò)每個(gè)資源的唯一性名稱來(lái)在存儲(chǔ)器中記錄所述每個(gè)資源的活動(dòng)。
35.按權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)一歩包括:通過(guò)每個(gè)資源的唯一性名稱來(lái)在輸出設(shè)備上顯示所記錄的每個(gè)資源的的活動(dòng)。
36.按權(quán)利要求35所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述輸出設(shè)備包括視頻顯示器、文件、串行端ロ、無(wú)線接ロ、和打印機(jī)中的至少ー者。
37.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)ー步包括:接收包括向量數(shù)據(jù)的客戶端請(qǐng)求數(shù)據(jù)。
38.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)ー步包括在向量請(qǐng)求已經(jīng)被執(zhí)行之后檢查向量指針的狀態(tài)。
39.按權(quán)利要求38所述的計(jì)算機(jī)程序產(chǎn)品,其特征在干,實(shí)現(xiàn)所述方法的所述程序代碼進(jìn)ー步包括復(fù)位所述向量指針。
40.按權(quán)利要求31所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述便攜式計(jì)算設(shè)備包括移動(dòng)電話、個(gè)人數(shù)字助理、尋呼機(jī)、智能電話、導(dǎo)航設(shè)備、和具有無(wú)線連接或鏈接的手持計(jì)算機(jī)中的至少 ー者。
全文摘要
公開(kāi)了用于管理便攜式計(jì)算設(shè)備的資源的方法和系統(tǒng)。該方法包括接收用于形成節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù),其中該節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)包括指派給該節(jié)點(diǎn)的每個(gè)資源的唯一性名稱。節(jié)點(diǎn)具有至少一個(gè)資源并且其可具有多個(gè)資源。每個(gè)資源可以是硬件或軟件元素。該系統(tǒng)包括處置節(jié)點(diǎn)架構(gòu)內(nèi)的現(xiàn)有節(jié)點(diǎn)之間的通信的框架管理器。該框架管理器還通過(guò)使用每個(gè)資源的唯一性名稱來(lái)將每個(gè)資源的活動(dòng)錄入日志。該框架管理器可向諸如打印機(jī)或顯示屏之類的輸出設(shè)備發(fā)送該錄入日志了的活動(dòng)。該方法和系統(tǒng)可在新硬件或軟件元素(或其兩者)被添加到便攜式計(jì)算設(shè)備時(shí)幫助減少或消除對(duì)定制的API的需要。
文檔編號(hào)G06F11/30GK103098033SQ201180044251
公開(kāi)日2013年5月8日 申請(qǐng)日期2011年7月8日 優(yōu)先權(quán)日2010年9月15日
發(fā)明者N·S·加蓋什, P·K·齊達(dá)姆巴蘭姆 申請(qǐng)人:高通股份有限公司