欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于管理便攜式計(jì)算裝置上的平行資源請(qǐng)求的方法及系統(tǒng)的制作方法

文檔序號(hào):6496331閱讀:339來(lái)源:國(guó)知局
用于管理便攜式計(jì)算裝置上的平行資源請(qǐng)求的方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明描述一種用于管理便攜式計(jì)算裝置“PCD”中的平行資源請(qǐng)求的方法及系統(tǒng)。所述系統(tǒng)及方法包含從第一客戶(hù)端產(chǎn)生第一請(qǐng)求(252),所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的??蓪⑺龅谝徽?qǐng)求轉(zhuǎn)遞到資源(255)。所述資源可確認(rèn)所述第一請(qǐng)求并起始非同步處理。所述資源可處理所述第一請(qǐng)求(256)同時(shí)允許所述第一客戶(hù)端繼續(xù)第一執(zhí)行線(xiàn)程中的處理(260)。所述資源可傳信所述第一請(qǐng)求的所述處理的完成(264)且可接收第二請(qǐng)求(268)。所述第二請(qǐng)求導(dǎo)致所述第一請(qǐng)求的所述處理的完成(270)。所述第一請(qǐng)求的所述處理的所述完成可包含將所述資源的本地表示更新到新?tīng)顟B(tài)并調(diào)用任何登記的回叫。所述資源可變得可用于服務(wù)于所述第二請(qǐng)求,且可處理所述第二請(qǐng)求。
【專(zhuān)利說(shuō)明】用于管理便攜式計(jì)算裝置上的平行資源請(qǐng)求的方法及系統(tǒng)
【背景技術(shù)】
[0001]便攜式計(jì)算裝置(叩⑶”)正變得日益風(fēng)行。這些裝置可包含蜂窩式電話(huà)、便攜式/個(gè)人數(shù)字助理(“PDA”)、便攜式游戲機(jī)、便攜式導(dǎo)航單元、掌上型計(jì)算機(jī)及其它便攜式電子裝置。
[0002]P⑶可運(yùn)行各種類(lèi)型的軟件以用于提供各種功能及特征。舉例來(lái)說(shuō),P⑶可運(yùn)行娛樂(lè)軟件,其可提供例如觀(guān)看視頻及玩視頻游戲等功能。PCD還可支持其它類(lèi)型的軟件,例如商業(yè)軟件或書(shū)寫(xiě)軟件(例如電子數(shù)據(jù)表、電子郵件及/或文字處理軟件)。
[0003]通常,上文所描述的運(yùn)行于P⑶上的軟件需要來(lái)自被連結(jié)在一起的各種硬件元件的動(dòng)作。軟件與硬件元件之間的交互可由總操作構(gòu)架來(lái)控制,所述總操作構(gòu)架可被視為經(jīng)連結(jié)節(jié)點(diǎn)結(jié)構(gòu)。在一些個(gè)例中,這些元件之間的交互是同步發(fā)生,其中針對(duì)特定資源的請(qǐng)求暫時(shí)中止元件的操作直到所述請(qǐng)求被確認(rèn)并準(zhǔn)許為止。在其它個(gè)例中,這些元件之間的交互是非同步發(fā)生,其中當(dāng)處理針對(duì)特定資源的請(qǐng)求時(shí)所述請(qǐng)求不暫時(shí)中止元件的操作。
[0004]然而,將需要使請(qǐng)求元件能夠確定當(dāng)處理所述請(qǐng)求時(shí)是否允許資源繼續(xù)操作。

【發(fā)明內(nèi)容】

[0005]本發(fā)明描述一種用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)。在一實(shí)施例中,所述方法及系統(tǒng)包含從第一客戶(hù)端產(chǎn)生第一請(qǐng)求,所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的??蓪⑺龅谝徽?qǐng)求轉(zhuǎn)遞到資源。所述資源可確認(rèn)所述第一請(qǐng)求并起始非同步處理。所述資源可處理所述第一請(qǐng)求同時(shí)允許第一客戶(hù)端繼續(xù)第一執(zhí)行線(xiàn)程中的處理。所述資源可傳信第一請(qǐng)求的處理的完成且可接收第二請(qǐng)求。所述第二請(qǐng)求導(dǎo)致第一請(qǐng)求的處理的完成。第一請(qǐng)求的處理的完成可包含將資源的本地表示更新到新?tīng)顟B(tài)并調(diào)用任何登記的回叫。所述資源可變得可用于服務(wù)于第二請(qǐng)求,且可處理第二請(qǐng)求。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0006]在諸圖中,除非另有指示,否則貫穿各視圖,同樣的參考數(shù)字指代同樣的部分。對(duì)于例如“102A”或“102B”等具有字母符號(hào)名稱(chēng)的參考數(shù)字來(lái)說(shuō),所述字母符號(hào)名稱(chēng)可區(qū)分存在于同一圖中的兩個(gè)同樣的部分或元件。當(dāng)參考數(shù)字既定涵蓋在所有圖中具有相同參考數(shù)字的所有部分時(shí),可省略參考數(shù)字的字母符號(hào)名稱(chēng)。
[0007]圖1是功能框圖,其說(shuō)明用于管理便攜式計(jì)算裝置(“PCD”)中的平行資源請(qǐng)求的系統(tǒng)的示范性元件;
[0008]圖2是功能框圖,其說(shuō)明所述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)例操作環(huán)境;
[0009]圖3是說(shuō)明運(yùn)行于單一資源上的同步線(xiàn)程的圖;
[0010]圖4是展示用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作的圖;
[0011]圖5是時(shí)刻表圖,其展示用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作;
[0012]圖6A及6B共同地說(shuō)明流程圖,所述流程圖描述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作;
[0013]圖7A是節(jié)點(diǎn)架構(gòu)的第一方面的圖,所述節(jié)點(diǎn)架構(gòu)管理圖1的便攜式計(jì)算裝置的資源;
[0014]圖7B是節(jié)點(diǎn)架構(gòu)的第二方面的總圖,所述節(jié)點(diǎn)架構(gòu)管理圖1的便攜式計(jì)算裝置的資源;
[0015]圖7C是節(jié)點(diǎn)架構(gòu)的第二方面的詳圖,所述節(jié)點(diǎn)架構(gòu)管理圖1的便攜式計(jì)算裝置的資源;
[0016]圖7D是流程圖,其說(shuō)明一種用于產(chǎn)生用于管理便攜式計(jì)算裝置的資源的節(jié)點(diǎn)架構(gòu)的方法;
[0017]圖7E是圖7D的延續(xù)流程圖,其說(shuō)明一種用于產(chǎn)生用于管理便攜式計(jì)算裝置的資源的節(jié)點(diǎn)架構(gòu)的方法;
[0018]圖8是流程圖,其說(shuō)明圖7D的用于在便攜式計(jì)算裝置中的軟件架構(gòu)中接收節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的子方法或例程;
[0019]圖9是流程圖,其說(shuō)明圖7D到7E的用于在便攜式計(jì)算裝置的軟件架構(gòu)中產(chǎn)生節(jié)點(diǎn)的子方法或例程;
[0020]圖10是流程圖,其說(shuō)明圖9的用于在便攜式計(jì)算裝置的軟件架構(gòu)中產(chǎn)生客戶(hù)端的子方法或例程;以及
[0021]圖11是流程圖,其說(shuō)明一種用于在便攜式計(jì)算裝置的軟件架構(gòu)中產(chǎn)生針對(duì)資源的客戶(hù)端請(qǐng)求的方法。
【具體實(shí)施方式】
[0022]詞語(yǔ)“示范性”在本文中用以意味著“充當(dāng)實(shí)例、個(gè)例或說(shuō)明”。不必將本文中描述為“示范性”的任何方面解釋為優(yōu)選或優(yōu)于其它方面。
[0023]在此描述中,術(shù)語(yǔ)“應(yīng)用程序”還可包含具有可執(zhí)行內(nèi)容的文件,例如:目的碼、指令碼、字節(jié)碼、標(biāo)記語(yǔ)言文件及修補(bǔ)程序。另外,本文中所引用的“應(yīng)用程序”還可包含實(shí)質(zhì)上不可執(zhí)行的文件(例如,可能需要開(kāi)啟的文檔或需要存取的其它數(shù)據(jù)文件)。
[0024]術(shù)語(yǔ)“內(nèi)容”還可包含具有可執(zhí)行內(nèi)容的文件,例如:目的碼、指令碼、字節(jié)碼、標(biāo)記語(yǔ)言文件及修補(bǔ)程序。另外,本文中所提及的“內(nèi)容”還可包含實(shí)質(zhì)上不可執(zhí)行的文件(例如,可能需要開(kāi)啟的文檔或需要存取的其它數(shù)據(jù)文件)。
[0025]如在此描述中所使用,術(shù)語(yǔ)“組件”、“數(shù)據(jù)庫(kù)”、“模塊”、“系統(tǒng)”及其類(lèi)似者既定指代計(jì)算機(jī)相關(guān)實(shí)體,其可為硬件、固件、硬件與軟件的組合、軟件或執(zhí)行中的軟件。舉例來(lái)說(shuō),組件可為(但不限于)在處理器上運(yùn)行的進(jìn)程、處理器、物件、可執(zhí)行程序、執(zhí)行線(xiàn)程、程序及/或計(jì)算機(jī)。通過(guò)說(shuō)明,運(yùn)行于計(jì)算裝置上的應(yīng)用程序與所述計(jì)算裝置兩者皆可為組件。一個(gè)或一個(gè)以上組件可駐存于進(jìn)程及/或執(zhí)行線(xiàn)程內(nèi),且組件可定位于一個(gè)計(jì)算機(jī)上及/或分散于兩個(gè)或兩個(gè)以上計(jì)算機(jī)之間。另外,這些組件可從各種計(jì)算機(jī)可讀媒體執(zhí)行,所述計(jì)算機(jī)可讀媒體具有存儲(chǔ)于其上的各種數(shù)據(jù)結(jié)構(gòu)。所述組件可例如根據(jù)具有一個(gè)或一個(gè)以上數(shù)據(jù)包(例如,來(lái)自與本地系統(tǒng)、分布式系統(tǒng)中的另一組件交互及/或通過(guò)信號(hào)而跨越例如因特網(wǎng)等網(wǎng)絡(luò)與其它系統(tǒng)交互的一個(gè)組件的數(shù)據(jù))的信號(hào)通過(guò)本地及/或遠(yuǎn)程過(guò)程而通信。
[0026]在此描述中,術(shù)語(yǔ)“通信裝置”、“無(wú)線(xiàn)裝置”、“無(wú)線(xiàn)電話(huà)”、“無(wú)線(xiàn)通信裝置”及“無(wú)線(xiàn)手持機(jī)”可互換地使用。隨著第三代(“3G”)及第四代(“4G”)無(wú)線(xiàn)技術(shù)的出現(xiàn),更大的帶寬可用性已允許實(shí)現(xiàn)更多的具有廣泛多種無(wú)線(xiàn)能力的便攜式計(jì)算裝置。
[0027]在此描述中,術(shù)語(yǔ)“便攜式計(jì)算裝置”(“PCD”)用以描述依靠有限容量的電力供應(yīng)器(例如電池)操作的任何裝置。雖然電池操作的P⑶已使用了數(shù)十年,但與第三代(“3G”)及第四代(“4G”)無(wú)線(xiàn)技術(shù)的出現(xiàn)相結(jié)合的可再充電電池的技術(shù)進(jìn)步已允許實(shí)現(xiàn)具有多種能力的眾多PCD。因此,PCD可尤其為蜂窩式電話(huà)、衛(wèi)星電話(huà)、尋呼機(jī)、個(gè)人數(shù)字助理(“PDA”)、智能電話(huà)、導(dǎo)航裝置、智能型筆記本計(jì)算機(jī)或閱讀器、媒體播放器、上述裝置的組合及具有無(wú)線(xiàn)連接的膝上型計(jì)算機(jī)。
[0028]圖1是用于實(shí)施用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的P⑶100(呈無(wú)線(xiàn)電話(huà)的形式)的示范性、非限制性方面的功能框圖。如所示,P⑶100包含芯片上系統(tǒng)102,所述芯片上系統(tǒng)102具有多核心、中央處理單元(“CPU”)110A、圖形處理器IlOB及模擬信號(hào)處理器126。如所屬領(lǐng)域的技術(shù)人員已知,這些處理器110A、110B、126可在一個(gè)或一個(gè)以上系統(tǒng)總線(xiàn)或另一互連架構(gòu)上耦合在一起。
[0029]如所屬領(lǐng)域的技術(shù)人員所理解,CPUlIOA可包括第零核心222、第一核心224及第N核心226。在一替代性實(shí)施例中,如所屬領(lǐng)域的技術(shù)人員所理解,代替使用CPU110A及圖形處理器110B,還可使用一個(gè)或一個(gè)以上數(shù)字信號(hào)處理器(“DSP”)。另外,還可使用兩個(gè)或兩個(gè)以上多核心處理器。
[0030]P⑶100可包括由處理器110執(zhí)行的內(nèi)部芯片總線(xiàn)(“ICB”)驅(qū)動(dòng)器模塊103。所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在不背離本發(fā)明的情況下,每一 ICB驅(qū)動(dòng)器模塊103可包括一個(gè)或一個(gè)以上軟件模塊,所述一個(gè)或一個(gè)以上軟件模塊可劃分為各個(gè)部分且由不同處理器110、126 執(zhí)行。
[0031]可存在兩種類(lèi)型的ICB驅(qū)動(dòng)器模塊103:上層(“UL”)類(lèi)型103A ;及下層(“LL”)類(lèi)型103B。大體來(lái)說(shuō),UL ICB驅(qū)動(dòng)器類(lèi)型103A將通常由可支持各種應(yīng)用程序模塊105的一個(gè)或一個(gè)以上處理器110、126執(zhí)行。LL ICB驅(qū)動(dòng)器類(lèi)型103B將通常由一個(gè)稱(chēng)作資源功率管理器107的硬件元件執(zhí)行。
[0032]運(yùn)行LL ICB驅(qū)動(dòng)器103B的資源功率管理器107將大體負(fù)責(zé)應(yīng)用及設(shè)定帶寬值。這些帶寬值將由資源功率管理器107應(yīng)用于下文結(jié)合圖2所描述的一個(gè)或一個(gè)以上總線(xiàn)及/或開(kāi)關(guān)組構(gòu)。資源功率管理器107大體負(fù)責(zé)設(shè)定開(kāi)關(guān)組構(gòu)及總線(xiàn)的時(shí)鐘速度以及從屬件(slave)的時(shí)鐘速度。從屬件大體上為支持來(lái)自運(yùn)行應(yīng)用程序105的主控處理器110的請(qǐng)求的硬件組件。
[0033]與資源功率管理器107組合的ICB驅(qū)動(dòng)器103A、103B允許針對(duì)可存在于類(lèi)似的開(kāi)關(guān)組構(gòu)內(nèi)及/或存在于不同的開(kāi)關(guān)組構(gòu)中的硬件組件在運(yùn)行時(shí)間動(dòng)態(tài)地產(chǎn)生主從對(duì)。ICB驅(qū)動(dòng)器103AU03B及資源功率管理器107可實(shí)時(shí)地(on-the-fly)或?qū)崟r(shí)地計(jì)算及調(diào)整用于開(kāi)關(guān)組構(gòu)及總線(xiàn)的帶寬。
[0034]在一特定方面中,本文中所描述的方法步驟中的一者或一者以上可通過(guò)存儲(chǔ)于存儲(chǔ)器112中的包含ICB驅(qū)動(dòng)器103A、103B的可執(zhí)行指令及參數(shù)來(lái)實(shí)施。形成ICB驅(qū)動(dòng)器103AU03B的這些指令可由CPU110A、模擬信號(hào)處理器126及資源功率管理器107來(lái)執(zhí)行。另外,處理器110AU26、資源功率管理器107、存儲(chǔ)器112、存儲(chǔ)于其中的指令或其組合可充當(dāng)用于執(zhí)行本文中所描述的方法步驟中的一者或一者以上的裝置。
[0035]如圖1中所說(shuō)明,顯示控制器128及觸摸屏控制器130耦合到多核心CPU110A。位于芯片上系統(tǒng)102外部的觸摸屏顯示器132耦合到顯示控制器128及觸摸屏控制器130。
[0036]圖1還說(shuō)明視頻編碼器/解碼器(“編解碼器”)134,例如,相交替線(xiàn)(“PAL”)編碼器、電視顯示技術(shù)(sequentialcouleur avec memo ire) ( “SECAM”)編碼器、全國(guó)電視系統(tǒng)委員會(huì)(“NTSC”)編碼器或耦合到多核心CPU110A的任何其它類(lèi)型的視頻編碼器134。視頻放大器136耦合到視頻編碼器134及觸摸屏顯示器132。視頻端口 138耦合到視頻放大器136。通用串行總線(xiàn)(“USB”)控制器140耦合到CPUl 10A。而且,USB端口 142耦合到USB控制器140。用戶(hù)識(shí)別模塊(SIM)卡146還可耦合到CPU110Ao另外,如圖1中所示,數(shù)碼相機(jī)148可耦合到CPUl 10A。在一示范性方面中,數(shù)碼相機(jī)148為電荷耦合裝置(“CXD”)相機(jī)或互補(bǔ)金氧半導(dǎo)體(“CMOS”)相機(jī)。
[0037]如圖1中進(jìn)一步說(shuō)明,立體聲音頻C0DEC150可耦合到模擬信號(hào)處理器126。此外,音頻放大器152可稱(chēng)合到立體聲音頻C0DEC150。在一不范性方面中,第一立體聲揚(yáng)聲器154及第二立體聲揚(yáng)聲器156耦合到音頻放大器152。圖1展示麥克風(fēng)放大器158還可耦合到立體聲音頻C0DEC150。另外,麥克風(fēng)160可耦合到麥克風(fēng)放大器158。在一特定方面中,調(diào)頻(“FM”)無(wú)線(xiàn)電調(diào)諧器162可耦合到立體聲音頻C0DEC150。而且,F(xiàn)M天線(xiàn)164耦合到FM無(wú)線(xiàn)電調(diào)諧器162。另外,立體聲頭戴式耳機(jī)166可耦合到立體聲音頻C0DEC150。
[0038]圖1進(jìn)一步指示射頻(“RF”)收發(fā)器168可耦合到模擬信號(hào)處理器126。RF開(kāi)關(guān)170可耦合到RF收發(fā)器168及RF天線(xiàn)172。如圖1中所展示,小鍵盤(pán)174可耦合到模擬信號(hào)處理器126。而且,具有麥克風(fēng)的單聲道耳機(jī)176可耦合到模擬信號(hào)處理器126。另外,振動(dòng)器裝置178可耦合到模擬信號(hào)處理器126。圖1還展示電力供應(yīng)器180(例如,電池)耦合到芯片上系統(tǒng)102。在一特定方面中,電力供應(yīng)器180包含可再充電DC電池或從連接到交流(“AC” )電源的AC到DC變壓器得到的DC電力供應(yīng)器。
[0039]如圖1中所描繪,觸摸屏顯示器132、視頻端口 138、USB端口 142、相機(jī)148、第一立體聲揚(yáng)聲器154、第二立體聲揚(yáng)聲器156、麥克風(fēng)160、FM天線(xiàn)164、立體聲頭戴式耳機(jī)166、RF開(kāi)關(guān)170、RF天線(xiàn)172、小鍵盤(pán)174、單聲道耳機(jī)176、振動(dòng)器178及電力供應(yīng)器180是在芯片上系統(tǒng)322外部。
[0040]圖2是功能框圖,其說(shuō)明所述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)例操作環(huán)境200。所述操作環(huán)境200包含兩個(gè)處理器,在此實(shí)例中,所述處理器可為CPU110A及資源功率管理器107。資源(在此實(shí)施例中其可為系統(tǒng)總線(xiàn)207)由資源功率管理器107管理。另一資源(在此實(shí)施例中其可為用于系統(tǒng)總線(xiàn)207的資源代理207A)位于CPU110A上且由所述CPU110A管理。資源代理被定義為遠(yuǎn)程資源的本地表示,所述本地表示的狀態(tài)反映遠(yuǎn)程資源的狀態(tài)。
[0041]在另一實(shí)施例中,可由充當(dāng)客戶(hù)端與資源之間的接口的構(gòu)架來(lái)代替資源代理207A,所述構(gòu)架經(jīng)實(shí)施為CPU110A上的函數(shù)庫(kù)。下文描述此構(gòu)架的實(shí)例。
[0042]如上文所描述,CPU110A包括第0核心222、第一核心224及第N核心226。然而,CPUlIOA還可為單核心處理器,其中CPUlIOA將為唯一的處理器。在以下的描述中,雖然CPUl IOA包括多個(gè)核心,但CPUl IOA將被稱(chēng)作單處理器(singular processor)。類(lèi)似地,資源功率管理器107可包括一個(gè)或一個(gè)以上核心。
[0043]CPU110A上的每一核心可運(yùn)行一個(gè)或一個(gè)以上線(xiàn)程。線(xiàn)程是處理器上的執(zhí)行單元,且在給定核心上在任何給定的時(shí)間點(diǎn)僅一個(gè)線(xiàn)程可為在作用中的。在一個(gè)或一個(gè)以上線(xiàn)程的上下文中產(chǎn)生客戶(hù)端且發(fā)出請(qǐng)求。在下文的論述中,術(shù)語(yǔ)客戶(hù)端(或若干客戶(hù)端)及線(xiàn)程(或若干線(xiàn)程)可互換地使用。當(dāng)客戶(hù)端發(fā)出請(qǐng)求時(shí),其意味著在有效線(xiàn)程的上下文中執(zhí)行的客戶(hù)端發(fā)出請(qǐng)求。同樣地,在客戶(hù)端在繼續(xù)進(jìn)行之前等待對(duì)請(qǐng)求的響應(yīng)的意義上,將所述客戶(hù)端稱(chēng)為同步的,此意味著客戶(hù)端在其中發(fā)出請(qǐng)求的線(xiàn)程被暫時(shí)中止直到接收到響應(yīng)為止。應(yīng)注意,可在單一線(xiàn)程的上下文中產(chǎn)生多個(gè)客戶(hù)端,但出于此描述的目的,在給定線(xiàn)程中在給定的時(shí)間點(diǎn)僅一個(gè)客戶(hù)端是在作用中的。
[0044]在圖2中所示的實(shí)例中,第一客戶(hù)端201及第二客戶(hù)端202各自運(yùn)行于第0核心222上。第三客戶(hù)端204經(jīng)展示為運(yùn)行于第一核心224上且第N客戶(hù)端206經(jīng)展示為運(yùn)行于第N核心226上。然而,客戶(hù)端與各個(gè)核心的耦合是任意的且是僅出于說(shuō)明性目的而展示于圖2中。在CPU110A為單核心處理器的實(shí)施例中,所有所述客戶(hù)端將運(yùn)行于CPU110A上。另外,在以下的描述中,還可將客戶(hù)端與CPU110A內(nèi)的各個(gè)核心之間的操作交互中的任一者描述為直接發(fā)生于CPUlIOA與相應(yīng)客戶(hù)端之間。
[0045]將CPU110A展示為通過(guò)虛線(xiàn)211經(jīng)由資源代理207A耦合到系統(tǒng)總線(xiàn)207,而將系統(tǒng)總線(xiàn)207展示為經(jīng)由實(shí)線(xiàn)212耦合到資源功率管理器107。此連接拓?fù)涫菫榱酥甘举Y源功率管理器107管理系統(tǒng)總線(xiàn)207,而CPU110A具有經(jīng)由資源代理207A對(duì)系統(tǒng)總線(xiàn)207的邏輯存取,但并不主動(dòng)地管理其。
[0046]還將資源代理207A展示為包含旗標(biāo)213,所述旗標(biāo)213表示條件變量的狀態(tài)。條件變量表達(dá)或表示在給定的時(shí)間點(diǎn)可為真或可為非真的某一條件??蓚餍潘鰲l件變量以指示所表達(dá)的條件在當(dāng)前為真,且可等待所述條件變量直到條件為真的。在此實(shí)例中,由旗標(biāo)213表達(dá)的條件變量指代對(duì)總線(xiàn)207的給定請(qǐng)求是否得到服務(wù)。當(dāng)所述請(qǐng)求得到服務(wù)時(shí),所述條件變量被傳信(CV / S)(或設(shè)定旗標(biāo)213)以指示此狀態(tài)。在那之前,所述條件變量未被傳信(CV / NS)。下文將更詳細(xì)地描述旗標(biāo)213的操作。
[0047]大體來(lái)說(shuō),將使用客戶(hù)端201、202、204及206中的任一者對(duì)資源(在此實(shí)例中為系統(tǒng)總線(xiàn)207)進(jìn)行請(qǐng)求的實(shí)例來(lái)描述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)。由于CPU110A不主動(dòng)地管理系統(tǒng)總線(xiàn)207,所以其經(jīng)由資源代理207A而將客戶(hù)端請(qǐng)求轉(zhuǎn)遞到管理系統(tǒng)總線(xiàn)207的處理器。在此實(shí)例中,管理系統(tǒng)總線(xiàn)207的處理器是資源功率管理器107。因此,來(lái)自(例如)客戶(hù)端201的請(qǐng)求被從CPU110A發(fā)送到資源功率管理器107,如由線(xiàn)208指示。當(dāng)所述請(qǐng)求得到服務(wù)時(shí),回復(fù)(呈中斷的形式)被從資源功率管理器107發(fā)送到CPUl 10A,如由參考數(shù)字209指示。從資源功率管理器107發(fā)送到CPUl IOA的中斷由CPU110A上的中斷服務(wù)例程(ISR)處置。所述ISR將傳信變量旗標(biāo)213的條件,從而導(dǎo)致其將狀態(tài)從“條件變量未傳信”(CV / NS)改變到“條件變量被傳信”(CV / S)。下文將更詳細(xì)地描述中斷的影響。
[0048]將參看圖3、4、5及6來(lái)進(jìn)一步描述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的操作。
[0049]圖3是說(shuō)明運(yùn)行于處理器(在此實(shí)例中為CPU110A)上的客戶(hù)端的圖。在216處,客戶(hù)端正在運(yùn)行且發(fā)出資源請(qǐng)求,所述資源請(qǐng)求由CPU110A上的資源代理207A轉(zhuǎn)遞到資源功率管理器107,如由參考數(shù)字217指示。所述請(qǐng)求可針對(duì)由資源功率管理器107管理的任何資源。在點(diǎn)215處,當(dāng)由資源功率管理器107來(lái)處理所述請(qǐng)求時(shí),客戶(hù)端在CPUlIOA上停止運(yùn)行(或被暫時(shí)中止或封鎖),如由參考數(shù)字218指示。一旦資源功率管理器107處理了所述請(qǐng)求,便將確認(rèn)(例如,呈中斷的形式)從資源功率管理器107發(fā)送到CPUllOAJn由參考數(shù)字219指示,藉此,在點(diǎn)220處,客戶(hù)端在CPUlIOA上恢復(fù)運(yùn)行,如由參考數(shù)字221指示。將此請(qǐng)求稱(chēng)作同步請(qǐng)求,因?yàn)檫\(yùn)行于CPU110A上的客戶(hù)端線(xiàn)程216在由資源功率管理器107處理所述請(qǐng)求時(shí)在點(diǎn)215處暫時(shí)中止,且直到由CPU110A接收到確認(rèn)219時(shí)的點(diǎn)220才恢復(fù)。然而,存在一些個(gè)例,其中需要使客戶(hù)端在等待請(qǐng)求被處理的時(shí)間期間執(zhí)行某一其它工作。也有可能客戶(hù)端無(wú)需等待來(lái)自資源功率管理器107的確認(rèn)且可簡(jiǎn)單地繼續(xù)運(yùn)行??蓪⒋苏?qǐng)求稱(chēng)為“自主導(dǎo)引(fire-and-forget) ”請(qǐng)求。自主導(dǎo)引請(qǐng)求的實(shí)例將為客戶(hù)端關(guān)閉資源的請(qǐng)求??蛻?hù)端(且擴(kuò)展來(lái)說(shuō),客戶(hù)端正在其中運(yùn)行的線(xiàn)程)不必等待到此動(dòng)作完成才繼續(xù)。圖4中描述此方法的實(shí)例。
[0050]圖4是展示用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作的圖。在圖4中,第一線(xiàn)程231是在CPU110A中開(kāi)始。在點(diǎn)232處,來(lái)自此線(xiàn)程中的客戶(hù)端的請(qǐng)求由資源代理207A從CPUl IOA轉(zhuǎn)遞到資源功率管理器107。在一實(shí)施例中,所述請(qǐng)求可來(lái)自(例如)請(qǐng)求系統(tǒng)總線(xiàn)207上的某一帶寬量的第一客戶(hù)端201。舉例來(lái)說(shuō),系統(tǒng)總線(xiàn)207可以每秒100百萬(wàn)位元(MB / s)的帶寬操作,但客戶(hù)端201將希望其以200MB /s操作。因此,由參考數(shù)字234指示的請(qǐng)求是對(duì)資源功率管理器107 (其管理系統(tǒng)總線(xiàn)207)的請(qǐng)求,其是請(qǐng)求系統(tǒng)總線(xiàn)207上的額外帶寬以允許第一客戶(hù)端201以更高帶寬操作。
[0051]在點(diǎn)232處,所述請(qǐng)求被從CPU110A上的資源代理207A轉(zhuǎn)遞到資源功率管理器107。然而,由于第一客戶(hù)端201不必等待直到系統(tǒng)總線(xiàn)207上的可用帶寬經(jīng)增加以繼續(xù)操作(第一客戶(hù)端201可以較低帶寬運(yùn)行直到資源功率管理器107增加系統(tǒng)總線(xiàn)207上可用的帶寬,在增加后,第一客戶(hù)端201自動(dòng)地開(kāi)始使用較高帶寬),第一客戶(hù)端201可通過(guò)傳入偏好設(shè)定而向CPUlIOA上的資源代理207A指示此。
[0052]所述偏好設(shè)定可由第一客戶(hù)端201指定且其確定資源是否可被分叉以允許平行或非同步處理。偏好設(shè)定的實(shí)例包含(但不限于)ALLOWED (允許)、DISALL0WED (不允許)及DEFAULT (默認(rèn))。偏好設(shè)定ALLOWED (允許)及DISALLOWED (不允許)明確地允許或不允許如上文所描述的平行處理。偏好設(shè)定DEFAULT(默認(rèn))通知資源客戶(hù)端允許所述資源關(guān)于是否分叉而作出其自已的決定,只要其不影響客戶(hù)端行為便可。舉例來(lái)說(shuō),如果指定偏好設(shè)定DEFAULT (默認(rèn)),則資源可選擇將關(guān)閉資源或取消先前所要求的請(qǐng)求的所有請(qǐng)求分叉。關(guān)閉資源或取消先前的請(qǐng)求的請(qǐng)求通常指示客戶(hù)端對(duì)此請(qǐng)求后的資源狀態(tài)不感興趣且所述資源可將此請(qǐng)求分叉并立即傳回到客戶(hù)端。然而,如果請(qǐng)求是針對(duì)特定值且偏好設(shè)定為DEFAULT (默認(rèn)),則其不能將此請(qǐng)求分叉,因?yàn)榭蛻?hù)端可預(yù)期在控制傳回到客戶(hù)端之前所述資源處于(至少)此特定狀態(tài)。
[0053]偏好設(shè)定由CPU110A上的資源代理207A用來(lái)以非同步方式將請(qǐng)求轉(zhuǎn)遞到資源功率管理器107,使得當(dāng)所述請(qǐng)求得到服務(wù)時(shí),第一客戶(hù)端201或第一客戶(hù)端201正在其中運(yùn)行的線(xiàn)程不被暫時(shí)中止。在此個(gè)例中,CPU110A繼續(xù)可用以執(zhí)行在231處開(kāi)始的線(xiàn)程且如由參考數(shù)字237所指示進(jìn)行操作。當(dāng)因此發(fā)出資源請(qǐng)求但所述資源請(qǐng)求尚未得到服務(wù),或發(fā)出所述請(qǐng)求且所述請(qǐng)求得到服務(wù)但所述新?tīng)顟B(tài)尚未由CPU110A上的資源代理207A確認(rèn)或客戶(hù)端不可看見(jiàn)(即,假如客戶(hù)端將查詢(xún)所述資源的狀態(tài),則其將會(huì)仍“看見(jiàn)”舊狀態(tài))時(shí),將所述請(qǐng)求及所述資源標(biāo)記為“分叉”。術(shù)語(yǔ)“分叉”指代資源處于不相干狀態(tài)的條件(在發(fā)出了對(duì)資源的最后請(qǐng)求,但尚未得到服務(wù);或如果得到服務(wù),則資源的本地表示(如由資源代理207A維護(hù))尚未更新到新?tīng)顟B(tài)的意義上)。資源代理207A還可登記在請(qǐng)求實(shí)際得到服務(wù)之后將被調(diào)用的回叫。在此回叫中,資源代理207A可選擇執(zhí)行取決于資源正處于新(被請(qǐng)求)狀態(tài)的其它動(dòng)作。舉例來(lái)說(shuō),有可能在增加系統(tǒng)總線(xiàn)207的帶寬之后應(yīng)將時(shí)鐘資源(未圖示)設(shè)定到新值。在此狀況下,資源代理207A將在回叫中發(fā)出對(duì)時(shí)鐘資源(未圖示)的請(qǐng)求,因此確保僅在對(duì)系統(tǒng)總線(xiàn)207的請(qǐng)求得到服務(wù)之后才執(zhí)行對(duì)時(shí)鐘資源(未圖示)的請(qǐng)求。與此同時(shí),資源功率管理器107處理所述請(qǐng)求(如由參考數(shù)字235指示)且將確認(rèn)發(fā)送到CPUlIOA(指示于參考數(shù)字236處)。確認(rèn)236對(duì)應(yīng)于經(jīng)由連接209 (如圖2中所示)所傳達(dá)的中斷。CPU110A上的處置/服務(wù)于此中斷的中斷服務(wù)例程(ISR)將與旗標(biāo)213相關(guān)聯(lián)的條件變量設(shè)定到“經(jīng)傳信”狀態(tài)(即,CV / S)。此動(dòng)作指示主題資源現(xiàn)為“可加入的”。術(shù)語(yǔ)“可加入”指代資源(例如,系統(tǒng)總線(xiàn)207)已服務(wù)于所述請(qǐng)求、已移到新?tīng)顟B(tài)且已向請(qǐng)求處理器上的資源代理207A指示此新?tīng)顟B(tài)的條件。當(dāng)由CPU110A上的客戶(hù)端201、202、204及206中的一者發(fā)出對(duì)系統(tǒng)總線(xiàn)207的后續(xù)請(qǐng)求時(shí),所述資源“被加入”。術(shù)語(yǔ)“被加入”指代資源代理207A將資源(在此實(shí)例中為系統(tǒng)總線(xiàn)207)的本地表示更新到新?tīng)顟B(tài),因此使所述資源為相干的且能夠服務(wù)于新請(qǐng)求的動(dòng)作。資源代理207A還將執(zhí)行其已在分叉處登記的任何回叫,如上文所描述。其將接著處置新請(qǐng)求。
[0054]如圖4中進(jìn)一步展示,執(zhí)行于線(xiàn)程(指示于參考數(shù)字241處)中的第二客戶(hù)端或執(zhí)行于新線(xiàn)程中的同一客戶(hù)端201在點(diǎn)242處作出對(duì)系統(tǒng)總線(xiàn)207的新請(qǐng)求。因此,在點(diǎn)242處,資源(在此實(shí)例中為系統(tǒng)總線(xiàn)207及其本地資源代理207A)被“加入”,此是可能的,因?yàn)榕c旗標(biāo)213相關(guān)聯(lián)的條件變量被設(shè)定(CV / S)且將資源標(biāo)記為“可加入”,如上文所描述。如果在點(diǎn)242處,當(dāng)?shù)诙?qǐng)求到達(dá)資源代理207A時(shí),系統(tǒng)總線(xiàn)207尚未為“可加入”的,則所述請(qǐng)求及所述請(qǐng)求在其中執(zhí)行的線(xiàn)程將封鎖直到來(lái)自資源功率管理器107的中斷將資源標(biāo)記為“可加入”。此新線(xiàn)程中的處理接著如由參考數(shù)字244指示而繼續(xù)。
[0055]圖5是時(shí)刻表圖,其展示用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作。在時(shí)間t0,運(yùn)行于CPU110A上的第一客戶(hù)端201開(kāi)始工作(如使用參考數(shù)字251所說(shuō)明)。在時(shí)間tl,第一客戶(hù)端201經(jīng)由本地資源代理207A而發(fā)出針對(duì)遠(yuǎn)程資源(例如系統(tǒng)總線(xiàn)207)的請(qǐng)求,如指示于參考數(shù)字252處。所述請(qǐng)求被接收于本地資源代理207A處且開(kāi)始在CPU110A上執(zhí)行(如使用參考數(shù)字254所說(shuō)明)。在時(shí)間t2,資源代理207A將請(qǐng)求轉(zhuǎn)遞到第二處理器(資源功率管理器107),如使用參考數(shù)字255所說(shuō)明。當(dāng)資源功率管理器107接收到所述請(qǐng)求時(shí),資源功率管理器107開(kāi)始執(zhí)行及處理所述請(qǐng)求,如使用參考數(shù)字256所說(shuō)明。根據(jù)用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例,假定第一客戶(hù)端201允許請(qǐng)求的“分叉”,則在時(shí)間t3,資源代理207A以非同步方式處理所述請(qǐng)求(即,通過(guò)向遠(yuǎn)程處理器(資源功率管理器107)發(fā)出所述請(qǐng)求,但不等待直到所述請(qǐng)求得到服務(wù)及確認(rèn))且傳回到第一客戶(hù)端201,如使用參考數(shù)字257所指示。第一客戶(hù)端201現(xiàn)繼續(xù)工作,如使用參考數(shù)字260所指示。如在時(shí)刻表中所示,由第一客戶(hù)端201在指示于260處的周期期間執(zhí)行的工作是與由資源功率管理器107在由256指示的時(shí)間周期期間執(zhí)行的工作平行地發(fā)生。所述請(qǐng)求由資源代理207A傳回到第一客戶(hù)端201所處的點(diǎn)258被稱(chēng)作“分叉”點(diǎn)。所述分叉點(diǎn)指示:在點(diǎn)258處,資源或請(qǐng)求分叉以允許同時(shí)在資源功率管理器107中及在客戶(hù)端201中的平行處理。
[0056]在時(shí)間t4,發(fā)生到第二線(xiàn)程的上下文切換,如使用參考數(shù)字266所指示。在時(shí)間t5,資源功率管理器107將中斷(如使用參考數(shù)字261所指示)發(fā)送到CPU110A上的資源代理207A。CPU110A中的處置此中斷的中斷服務(wù)例程(ISR)將條件變量旗標(biāo)213 (圖2)設(shè)定到“經(jīng)傳信”(CV / S)狀態(tài),如使用參考數(shù)字264所指示。在點(diǎn)265處,系統(tǒng)總線(xiàn)207被視為“可加入”且可用以處理后續(xù)請(qǐng)求。
[0057]在時(shí)間t7,執(zhí)行于CPU110A上的第二線(xiàn)程中的第二客戶(hù)端202經(jīng)由資源代理207A而發(fā)出對(duì)系統(tǒng)總線(xiàn)207的第二請(qǐng)求,如使用參考數(shù)字268所指示。從系統(tǒng)總線(xiàn)207的觀(guān)點(diǎn),可將所述請(qǐng)求268視為“后續(xù)”請(qǐng)求。當(dāng)接收到所述后續(xù)請(qǐng)求時(shí),資源代理207A檢查并確定系統(tǒng)總線(xiàn)207處于可加入狀態(tài)且可被“加入”。在點(diǎn)270處,在第二線(xiàn)程的上下文中加入系統(tǒng)總線(xiàn)207。此意味著在點(diǎn)265處系統(tǒng)總線(xiàn)207被視為“可加入的”,但在點(diǎn)270處被“加入”,以便處理來(lái)自第二客戶(hù)端202的第二線(xiàn)程中的后續(xù)請(qǐng)求268。資源(在此實(shí)例中為系統(tǒng)總線(xiàn)207)因此可處于三種狀態(tài)(分叉、可加入及被加入)中的一者。從資源被分叉的點(diǎn)起,將資源視為處于不相干狀態(tài),此意味著請(qǐng)求被接收但尚未得到處理,或如果得到處理,則尚未用實(shí)際(新)資源狀態(tài)來(lái)更新資源的本地表示。在此狀態(tài)下,資源不能處理后續(xù)請(qǐng)求。因此,在資源可處理后續(xù)請(qǐng)求268之前,資源被“加入”(即,在點(diǎn)270處使其為相干的)。指示于271處的時(shí)間周期說(shuō)明來(lái)自第二客戶(hù)端202之后續(xù)請(qǐng)求268由資源代理207A處理的時(shí)間期間。應(yīng)注意,此請(qǐng)求還可為“分叉的”,從而重復(fù)上文所描述的序列。
[0058]應(yīng)提及的是,后續(xù)請(qǐng)求無(wú)需來(lái)自不同客戶(hù)端,而是在一實(shí)施例中,其還可以后續(xù)請(qǐng)求的形式來(lái)自第一客戶(hù)端201。重要的是,系統(tǒng)總線(xiàn)207的任何客戶(hù)端可起始后續(xù)請(qǐng)求且因此在時(shí)間t7“加入”。在第一客戶(hù)端201的上下文中(及在此實(shí)施例中,在不同線(xiàn)程中)發(fā)出的先前請(qǐng)求因此在后續(xù)請(qǐng)求的處理期間“完成”(在將本地資源表示(資源代理207A)更新到新?tīng)顟B(tài)且因此使所述資源(系統(tǒng)總線(xiàn)207)再次變得相干的意義上),如上文所提及,所述后續(xù)請(qǐng)求可來(lái)自CPU110A上的任何線(xiàn)程上的任何客戶(hù)端。此是在無(wú)額外管理的情況下發(fā)生,且對(duì)系統(tǒng)總線(xiàn)207的任何請(qǐng)求可在點(diǎn)270處使資源恢復(fù)可用性及工作。
[0059]圖6A及6B共同地說(shuō)明流程圖,所述流程圖描述用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法及系統(tǒng)的實(shí)施例的操作。在框603中,接收針對(duì)資源的請(qǐng)求。在上文的實(shí)例中,由資源代理207A來(lái)接收所述請(qǐng)求。然而,可由另一實(shí)體來(lái)接收所述請(qǐng)求。在此實(shí)施例中,第一客戶(hù)端201進(jìn)行針對(duì)由遠(yuǎn)程處理器(例如資源功率管理器107)管理的系統(tǒng)總線(xiàn)207的請(qǐng)求。在所描述的實(shí)例中,經(jīng)由CPU110A上的本地資源代理207A來(lái)進(jìn)行所述請(qǐng)求。
[0060]在框604中,確定發(fā)出請(qǐng)求的第一客戶(hù)端201是否希望此請(qǐng)求同步地完成或第一客戶(hù)端201是否允許資源代理207A將此請(qǐng)求“分叉”并立即傳回到第一客戶(hù)端201。如果第一客戶(hù)端201不允許分叉且想要同步地完成所述資源請(qǐng)求,則在框606中,資源代理207A將請(qǐng)求轉(zhuǎn)遞到資源功率管理器107,封鎖處理線(xiàn)程,且等待直到資源功率管理器107服務(wù)于所述請(qǐng)求。
[0061]在框608中,如果第一客戶(hù)端201已允許所述請(qǐng)求分叉,則資源代理207A將所述請(qǐng)求轉(zhuǎn)遞到資源功率管理器107且立即傳回到客戶(hù)端,而不等待所述請(qǐng)求得到服務(wù)。[0062]在框612中,控制傳回到第一客戶(hù)端201且線(xiàn)程繼續(xù)運(yùn)行,而不管所述請(qǐng)求尚未由資源功率管理器107服務(wù)。所述資源被標(biāo)記為分叉且在其可服務(wù)于任何后續(xù)請(qǐng)求之前需要被加入。
[0063]在框614中,資源功率管理器107完成對(duì)請(qǐng)求的處理且將指示此情況的中斷發(fā)送到CPU110A。CPU110A上的處置此中斷的中斷服務(wù)例程(ISR)傳信條件變量(旗標(biāo)213設(shè)定到(CV / S)),從而導(dǎo)致資源被設(shè)定為“可加入”狀態(tài)???14中所描述的步驟可如所說(shuō)明而逐次地發(fā)生,平行地發(fā)生,或在框612中所描述的步驟之后且在框628中所描述的步驟之前的任何時(shí)間發(fā)生。
[0064]在框618中,起始后續(xù)請(qǐng)求。可在同一線(xiàn)程中或在第二線(xiàn)程中起始所述后續(xù)請(qǐng)求。另外,可由同一客戶(hù)端或由不同客戶(hù)端來(lái)起始所述后續(xù)請(qǐng)求。在此實(shí)例中,由不同客戶(hù)端(即,不同線(xiàn)程中的第二客戶(hù)端202)來(lái)起始所述后續(xù)請(qǐng)求。
[0065]在另一實(shí)施例中,可從與第一請(qǐng)求相同的線(xiàn)程來(lái)起始后續(xù)請(qǐng)求。由于初始線(xiàn)程中的處理未被第一請(qǐng)求封鎖,所以所述初始線(xiàn)程可做其它工作且接著將后續(xù)請(qǐng)求置于資源上。舉例來(lái)說(shuō),線(xiàn)程可發(fā)出關(guān)閉遠(yuǎn)程資源的請(qǐng)求,所述遠(yuǎn)程資源由本地資源代理分叉。在一時(shí)間周期之后,所述線(xiàn)程(或更具體來(lái)說(shuō),所述線(xiàn)程中的客戶(hù)端)可想要開(kāi)啟所述資源。在此狀況下,在同一線(xiàn)程中起始后續(xù)請(qǐng)求。
[0066]在框620中,在資源代理207A處接收后續(xù)請(qǐng)求。
[0067]在框624中,確定資源(系統(tǒng)總線(xiàn)207)是否為可加入的。如果在框624中確定資源并非可加入的,則所述過(guò)程進(jìn)行到框626,在所述框626中,線(xiàn)程等待直到資源是可加入的。如果在框624中確定資源是可加入的或在資源在框626中變得可加入之后,所述過(guò)程進(jìn)行到框628,在所述框628中,資源被“加入”,資源代理207A完成來(lái)從先前分叉的請(qǐng)求的任何擱置中處理且將資源的本地表示更新到新?tīng)顟B(tài)。以此方式,資源被移到“加入”狀態(tài)。所述資源現(xiàn)開(kāi)始處理第二請(qǐng)求。
[0068]隱式加入(其在后續(xù)請(qǐng)求到達(dá)處于“分叉”或“可加入”狀態(tài)的資源時(shí)隨的發(fā)生)的替代例稱(chēng)為“顯式加入”。如上文所描述,每當(dāng)對(duì)資源之后續(xù)請(qǐng)求到達(dá)資源代理(或構(gòu)架)時(shí),分叉的資源便隱式地加入。然而,可存在客戶(hù)端希望在不發(fā)出后續(xù)請(qǐng)求的情況下顯式地加入資源的個(gè)例。在此狀況下,將分叉的資源可藉以被加入且變?yōu)橄喔傻姆绞椒Q(chēng)作“顯式加入”。此顯式加入操作將等待條件變量被傳信,更新本地資源表示以反映新資源狀態(tài)且傳回到客戶(hù)端。所述客戶(hù)端將被暫時(shí)中止直到此呼叫傳回。
[0069]對(duì)遠(yuǎn)程資源的“分叉請(qǐng)求”的替代例是分叉的“本地”資源/請(qǐng)求。在上文的實(shí)例中,假定請(qǐng)求在遠(yuǎn)程得到服務(wù)且客戶(hù)端(或呼叫者)在其請(qǐng)求得到服務(wù)時(shí)希望在請(qǐng)求處理器上執(zhí)行其它操作或可能聽(tīng)從于其它客戶(hù)端或其它線(xiàn)程以執(zhí)行其它操作。無(wú)需總為所述情況??紤]其中請(qǐng)求由CPU110A上的另一線(xiàn)程來(lái)服務(wù)的情況。在此狀況下,客戶(hù)端發(fā)出對(duì)此資源的請(qǐng)求,所述請(qǐng)求由另一線(xiàn)程拾取(每當(dāng)其由作業(yè)系統(tǒng)排程時(shí))、服務(wù)且確認(rèn)被傳回到呼叫線(xiàn)程。有可能通過(guò)用此請(qǐng)求處理線(xiàn)程來(lái)代替遠(yuǎn)程處理器而將上文的方法及系統(tǒng)應(yīng)用于此情況。
[0070]將“加入”的替代例稱(chēng)作“積極式加入”狀態(tài)。在上文所論述的實(shí)施例中,分叉的資源在后續(xù)請(qǐng)求到達(dá)資源(或其代理)時(shí)被隱式加入或在客戶(hù)端請(qǐng)求其時(shí)被顯式加入。在另一實(shí)施例中,可獨(dú)立于后續(xù)請(qǐng)求或顯式加入而存在經(jīng)產(chǎn)生以用于加入“可加入”資源的明確目的的多個(gè)背景工作線(xiàn)程。在此情況中,從遠(yuǎn)程處理器接收到完成的通知的ISR將不僅傳信條件變量并將資源標(biāo)記為“可加入”,而且將把加入動(dòng)作(加入回叫)作為工作項(xiàng)目置于隊(duì)列上。正在隊(duì)列上等待的背景工作線(xiàn)程將看見(jiàn)此工作項(xiàng)目,拾取所述工作項(xiàng)目并在其上下文中執(zhí)行所述工作項(xiàng)目;確保執(zhí)行加入動(dòng)作且盡可能快地將資源設(shè)定到“加入”狀態(tài)。
[0071]如上文所提及,在一替代性實(shí)施例中,客戶(hù)端與資源之間的接口可為構(gòu)架而非資源代理。下文論述此構(gòu)架的設(shè)計(jì)及結(jié)構(gòu)。
[0072]提供如下文所描述的圖7A到10以描述如何建立及維持圖2的節(jié)點(diǎn)架構(gòu)。圖7A是軟件架構(gòu)500A的第一方面的圖,所述軟件架構(gòu)500A用于建立及維持圖4中所說(shuō)明的節(jié)點(diǎn)架構(gòu)。
[0073]圖7A是包括表示軟件或硬件(或兩者)的功能塊的圖。圖7A說(shuō)明架構(gòu)或構(gòu)架管理器440,其耦合到例如(但不限于)以下各者的多個(gè)硬件及軟件元件:ICB驅(qū)動(dòng)器模塊103 ;中央處理單元110,其也大體稱(chēng)作第一硬件元件(硬件元件#1) ;CPU110的時(shí)鐘442,其也大體稱(chēng)作第二硬件元件(硬件元件#2);總線(xiàn)仲裁器或排程器422,其也大體稱(chēng)作第三硬件元件(硬件元件#3);總線(xiàn)程序A-444A,其也大體稱(chēng)作第一軟件元件(軟件元件#1);總線(xiàn)程序B-444B,其也大體稱(chēng)作第二軟件兀件(軟件兀件#2);時(shí)鐘程序AHB,其大體稱(chēng)作第三軟件元件(軟件元件#3);由大體被指示為按鍵的軟件元件448監(jiān)視的動(dòng)作或功能;及包括軟件元件或硬件元件或兩者的舊版元件450。
[0074]舊版軟件元件的實(shí)例可包含(但不限于)動(dòng)態(tài)環(huán)境管理器(DEM)。此是處置處理器睡眠事件的處理器間通知的軟件模塊。舉例來(lái)說(shuō),第一處理器A使用DEM來(lái)接收第二處理器B已變成閑置/從閑置恢復(fù)的通知。在較新的硬件上,此軟件功能性已被歸入路由處理器模塊(RPM)子系統(tǒng)/通信協(xié)定中。存在其它舊版軟件元件且其被包含于本發(fā)明的范圍內(nèi)。
[0075]舊版硬件元件的實(shí)例可包含(但不限于)AMBA(高級(jí)微控制器總線(xiàn)架構(gòu))高性能總線(xiàn)(AHB)。在較舊的P⑶100上,AHB可包括主要系統(tǒng)總線(xiàn),而在較新的P⑶100上,系統(tǒng)總線(xiàn)組構(gòu)107是完全不同的,且AHB總線(xiàn)僅用于特殊應(yīng)用以與尚未被更新以經(jīng)由新系統(tǒng)總線(xiàn)組構(gòu)來(lái)通信的模塊通信。存在其它舊版硬件元件且其被包含于本發(fā)明的范圍內(nèi)。
[0076]構(gòu)架管理器440可包括計(jì)算機(jī)指令庫(kù),所述庫(kù)管理數(shù)據(jù)結(jié)構(gòu),例如與上述硬件元件及軟件元件中的每一者通信的節(jié)點(diǎn)。構(gòu)架管理器440可負(fù)責(zé)產(chǎn)生可形成節(jié)點(diǎn)602、622、642及646的一個(gè)或一個(gè)以上資源,如在圖7A的虛線(xiàn)A的右側(cè)所說(shuō)明。
[0077]構(gòu)架管理器440可直接與駐存于CPUllO上的每一 ICB驅(qū)動(dòng)器模塊103通信。位于圖7A的右側(cè)的每一節(jié)點(diǎn)602、622、642及646是位于圖7A的虛線(xiàn)A的左手側(cè)的每一軟件或硬件元件的表示或模型。對(duì)于本發(fā)明的剩余部分來(lái)說(shuō),將用參考數(shù)字601來(lái)表示一般或非特定節(jié)點(diǎn),如圖7B中所說(shuō)明。
[0078]如先前所提及,圖7A的每一示范性節(jié)點(diǎn)602、622、642及646可包括一個(gè)或一個(gè)以上資源。資源可包括軟件元件或硬件元件或兩者。舉例來(lái)說(shuō),第一節(jié)點(diǎn)602包括大體與第一硬件元件或中央處理單元110對(duì)應(yīng)的單一資源。在本發(fā)明中所描述的軟件架構(gòu)的情況下,節(jié)點(diǎn)601的每一資源可具備包括一個(gè)或一個(gè)以上文數(shù)字符號(hào)的唯一名稱(chēng)。在圖7A中所說(shuō)明的示范性實(shí)施例中,第一節(jié)點(diǎn)602的資源已指派有資源名稱(chēng)“core / cpu”。此示范性資源名稱(chēng)大體上對(duì)應(yīng)于為所屬領(lǐng)域的技術(shù)人員已知的常規(guī)文件命名結(jié)構(gòu)。然而,如由所屬領(lǐng)域的技術(shù)人員認(rèn)識(shí)到,含有文數(shù)字符號(hào)及/或符號(hào)的任何其它組合的其它類(lèi)型的資源名稱(chēng)完全在本發(fā)明的范圍內(nèi)。
[0079]在圖7A的示范性實(shí)施例中,第二節(jié)點(diǎn)622包括多個(gè)資源。具體來(lái)說(shuō),在此特定示范性實(shí)施例中,第二節(jié)點(diǎn)622具有第一資源,所述第一資源包括對(duì)應(yīng)于總線(xiàn)仲裁器或排程器422的單一硬件元件。第二節(jié)點(diǎn)622的第二資源包括軟件元件,所述軟件元件大體對(duì)應(yīng)于總線(xiàn)程序A444A的第一軟件元件。第二節(jié)點(diǎn)622的第三資源包括另一軟件元件,所述軟件元件大體對(duì)應(yīng)于總線(xiàn)程序B444B的第二軟件元件。所屬領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,給定節(jié)點(diǎn)601的資源及資源類(lèi)型的任何組合及任何數(shù)目的資源及資源類(lèi)型是完全在本發(fā)明的范圍內(nèi)。
[0080]除產(chǎn)生節(jié)點(diǎn)601外,構(gòu)架管理器440還可產(chǎn)生或例示標(biāo)志650。標(biāo)志可包括一個(gè)或一個(gè)以上舊版元件(例如硬件元件或軟件元件(或兩者以及多個(gè)這些元件)),所述一個(gè)或一個(gè)以上舊版元件不容易映射其自身或不易與由構(gòu)架管理器440管理的軟件架構(gòu)兼容。標(biāo)志650可支持節(jié)點(diǎn)601的資源,其意味著節(jié)點(diǎn)601的資源可依賴(lài)于標(biāo)志650。標(biāo)志650的一個(gè)實(shí)例可包含字串驅(qū)動(dòng)器。字串驅(qū)動(dòng)器可不容易配合于結(jié)合圖7A所描述的架構(gòu)內(nèi)。標(biāo)志650可由節(jié)點(diǎn)601參考且其相依性陣列數(shù)據(jù)收集于圖8的框1125中。
[0081]圖7A還說(shuō)明第一客戶(hù)端648,其大體對(duì)應(yīng)于兩個(gè)軟件元件448、450的動(dòng)作或功能。在圖7A中所說(shuō)明的示范性實(shí)施例中,第一客戶(hù)端648大體對(duì)應(yīng)于可發(fā)生于由便攜式計(jì)算裝置100支持的特定應(yīng)用程序模塊105內(nèi)的按鍵動(dòng)作。然而,所屬領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,除按鍵之外的軟件元件的其它動(dòng)作及/或功能完全在本發(fā)明的范圍內(nèi)。下文將結(jié)合圖10來(lái)描述關(guān)于客戶(hù)端請(qǐng)求648及其相應(yīng)產(chǎn)生的進(jìn)一步細(xì)節(jié)。
[0082]圖7A還說(shuō)明特定架構(gòu)元件之間的關(guān)系。舉例來(lái)說(shuō),圖7A說(shuō)明客戶(hù)端648與第一節(jié)點(diǎn)602之間的關(guān)系。具體來(lái)說(shuō),第一客戶(hù)端648可產(chǎn)生客戶(hù)端請(qǐng)求675A(用虛線(xiàn)說(shuō)明),所述客戶(hù)端請(qǐng)求675A由包括資源“ / core / cpu”的第一節(jié)點(diǎn)602管理或處置。通常,存在預(yù)定或設(shè)定數(shù)目的類(lèi)型的客戶(hù)端請(qǐng)求675。下文將結(jié)合圖10來(lái)進(jìn)一步詳細(xì)描述客戶(hù)端請(qǐng)求 675。
[0083]圖7A中所顯示的其它關(guān)系包含用虛線(xiàn)680說(shuō)明的相依性。相依性是另一節(jié)點(diǎn)601的相應(yīng)資源之間的關(guān)系。相依性關(guān)系通常指示第一資源(A)依賴(lài)于可向所述第一資源(A)提供信息的第二資源(B)。此信息可為由第二資源(B)執(zhí)行的操作的結(jié)果或其可僅包括第一資源(A)所需要的狀態(tài)信息或其任何組合。第一資源(A)及第二資源(B)可為同一節(jié)點(diǎn)601的部分或其可為不同節(jié)點(diǎn)601的部分。
[0084]在圖7A中,第一節(jié)點(diǎn)602依賴(lài)于第二節(jié)點(diǎn)622,如由相依性箭頭680B指示,所述相依性箭頭680B由第一節(jié)點(diǎn)602發(fā)起且延伸到第二節(jié)點(diǎn)622。圖7A還說(shuō)明第一節(jié)點(diǎn)602還依賴(lài)于第三節(jié)點(diǎn)642,如由相依性箭頭680A所說(shuō)明。圖7A還說(shuō)明第二節(jié)點(diǎn)622依賴(lài)于第四節(jié)點(diǎn)646,如由相依性箭頭680C所說(shuō)明。所屬領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,用圖7A的虛線(xiàn)箭頭說(shuō)明的相依性680實(shí)質(zhì)上僅為示范性的且相應(yīng)節(jié)點(diǎn)601之間的相依性的其它組合是在本發(fā)明的范圍內(nèi)。
[0085]架構(gòu)或構(gòu)架管理器440負(fù)責(zé)維持上文所描述的關(guān)系,所述關(guān)系包含(但不限于)圖7A中所說(shuō)明的客戶(hù)端請(qǐng)求675及相依性680。構(gòu)架管理器440將試圖例示或產(chǎn)生與其可例示或產(chǎn)生的節(jié)點(diǎn)的一樣多的節(jié)點(diǎn)601,只要任一給定節(jié)點(diǎn)601的相依性680是完全的便可。當(dāng)支持相依性的資源存在或處于準(zhǔn)備好處置與相依性680有關(guān)的信息的狀態(tài)時(shí),相依性680是完全的。
[0086]舉例來(lái)說(shuō),如果包括單一資源“ / elk / cpu”的第三節(jié)點(diǎn)642尚未產(chǎn)生,則包括單一資源“ / core / cpu”的第一節(jié)點(diǎn)602可未由構(gòu)架管理器440產(chǎn)生或建立(由于存在于第一節(jié)點(diǎn)602與第三節(jié)點(diǎn)642之間的相依性關(guān)系680A)。一旦第三節(jié)點(diǎn)642已由構(gòu)架管理器440產(chǎn)生,則構(gòu)架管理器440便可由于相依性關(guān)系680A而產(chǎn)生第二節(jié)點(diǎn)602。
[0087]如果構(gòu)架管理器440未能產(chǎn)生或例示特定節(jié)點(diǎn)601 (因?yàn)槠湎嘁佬?80中的一者或一者以上是不完全的),則構(gòu)架管理器440將繼續(xù)運(yùn)行或執(zhí)行對(duì)應(yīng)于由構(gòu)架管理器440成功地產(chǎn)生的那些節(jié)點(diǎn)601的步驟。構(gòu)架管理器440將通常跳過(guò)針對(duì)特定節(jié)點(diǎn)601 (所述特定節(jié)點(diǎn)601可歸因于不完全相依性(其中依賴(lài)的資源尚未產(chǎn)生)而不存在)的呼叫,且將反映彼不完全狀態(tài)的消息傳回到彼呼叫。
[0088]在多核心環(huán)境(例如圖1中所說(shuō)明)中,構(gòu)架管理器440可在單獨(dú)的核心(如圖1的第O核心222、第一核心224及第N核心226)上產(chǎn)生或例示節(jié)點(diǎn)601??纱篌w在多核心環(huán)境中在單獨(dú)的核心上平行地產(chǎn)生節(jié)點(diǎn)601,只要所述節(jié)點(diǎn)601并非依賴(lài)于彼此及特定節(jié)點(diǎn)的所有相應(yīng)相依性(如下文所描述)是完全的便可。
[0089]圖7B是系統(tǒng)的軟件架構(gòu)500B1的第二方面的總圖,所述系統(tǒng)管理圖1的P⑶100的資源。在此總圖中,每一節(jié)點(diǎn)601的一個(gè)或一個(gè)以上資源尚未具備唯一名稱(chēng)。圖7B的節(jié)點(diǎn)或資源圖表500B1僅包括節(jié)點(diǎn)601、標(biāo)志650、客戶(hù)端648、事件690及由架構(gòu)或構(gòu)架管理器440支持的查詢(xún)函數(shù)695。每一節(jié)點(diǎn)601經(jīng)說(shuō)明為具有橢圓形狀及具有特定方向(其表示節(jié)點(diǎn)601內(nèi)的資源之間的相應(yīng)相依性)的箭頭680。
[0090]可使在圖7A到7B內(nèi)說(shuō)明的節(jié)點(diǎn)架構(gòu)內(nèi)的呼叫針對(duì)節(jié)點(diǎn)601內(nèi)的資源的別名或?qū)嶋H資源名稱(chēng)。根據(jù)一個(gè)示范性實(shí)施例,不存在用以依靠標(biāo)志650來(lái)作出客戶(hù)端請(qǐng)求675的方法,因?yàn)樵诳蛻?hù)端648與標(biāo)志650之間不存在接口,因此此大體意味著與標(biāo)志650交換的信息通常發(fā)起從節(jié)點(diǎn)601或資源而非客戶(hù)端648。
[0091]舉例來(lái)說(shuō),圖7B的第一節(jié)點(diǎn)601A具有相依性箭頭680A以指示第一節(jié)點(diǎn)601A依賴(lài)于第二節(jié)點(diǎn)601B的兩個(gè)資源(資源#2及#3)。類(lèi)似地,第一節(jié)點(diǎn)601A具有相依性箭頭680B以指示第一節(jié)點(diǎn)601A還依賴(lài)于第一標(biāo)志650,所述第一標(biāo)志650通常包括硬件或軟件或其組合的舊版元件。
[0092]圖7B還說(shuō)明第一節(jié)點(diǎn)601A的客戶(hù)端648可如何向第一節(jié)點(diǎn)601A發(fā)出客戶(hù)端請(qǐng)求675。在發(fā)出這些客戶(hù)端請(qǐng)求675之后,第二節(jié)點(diǎn)60IB可觸發(fā)事件690或提供對(duì)查詢(xún)695的響應(yīng),其中對(duì)應(yīng)于事件690及查詢(xún)695的消息流回到客戶(hù)端648。
[0093]圖7C是系統(tǒng)的軟件架構(gòu)500B2的第二方面的特定圖,所述系統(tǒng)管理圖1的K:D100的資源。圖7C說(shuō)明節(jié)點(diǎn)或資源圖表500B2,其僅包括具有特定、但為示范性的資源名稱(chēng)的節(jié)點(diǎn)601以及對(duì)應(yīng)于圖7A的那些客戶(hù)端、事件及查詢(xún)函數(shù)的客戶(hù)端648、事件690及查詢(xún)函數(shù)695。每一節(jié)點(diǎn)601經(jīng)說(shuō)明為具有橢圓形狀及具有特定方向(其表示節(jié)點(diǎn)601內(nèi)的資源之間的相應(yīng)相依性)的箭頭680。
[0094]舉例來(lái)說(shuō),第一節(jié)點(diǎn)602具有相依性箭頭680B以指示第一節(jié)點(diǎn)602依賴(lài)于第二節(jié)點(diǎn)622的三個(gè)資源。類(lèi)似地,包括第二軟件元件444B且在圖7C中大體用參考字母“C”表示的第三資源“ / bus / ahb / sysB / ”具有相依性箭頭680C,所述相依性箭頭680C指示此第三資源(C)依賴(lài)于第四節(jié)點(diǎn)646的單一“/ elk / sys / ahb”資源。
[0095]圖7C還說(shuō)明來(lái)自節(jié)點(diǎn)601的輸出數(shù)據(jù),其可包括一個(gè)或一個(gè)以上事件690或查詢(xún)函數(shù)695。查詢(xún)函數(shù)695類(lèi)似于事件690。查詢(xún)函數(shù)695可具有查詢(xún)控制代碼,其可為唯一的或可并非唯一的。查詢(xún)函數(shù)大體并非在外部識(shí)別且大體來(lái)說(shuō)其不具有狀態(tài)。查詢(xún)函數(shù)695可用以確定節(jié)點(diǎn)601的特定資源的狀態(tài)。查詢(xún)函數(shù)695及事件690可與所建立的客戶(hù)端648具有關(guān)系且這些關(guān)系由定向箭頭697表示以指示來(lái)自相應(yīng)事件690及查詢(xún)函數(shù)695的信息被傳遞到特定客戶(hù)端648。圖7C還經(jīng)由相依性箭頭680D來(lái)說(shuō)明圖7C的第二節(jié)點(diǎn)622如何依賴(lài)于第一標(biāo)志650。
[0096]圖7B到7C的節(jié)點(diǎn)或資源圖表500B表示存在于存儲(chǔ)器中且由構(gòu)架管理器440管理的關(guān)系及可包括節(jié)點(diǎn)601的相關(guān)數(shù)據(jù)結(jié)構(gòu)。可由構(gòu)架管理器440自動(dòng)地產(chǎn)生節(jié)點(diǎn)或資源圖表500B以作為用于識(shí)別由構(gòu)架管理器440管理的相應(yīng)元件之間的關(guān)系及用于由軟件小組進(jìn)行故障診斷的有用工具。
[0097]圖7D是流程圖,其說(shuō)明一種用于產(chǎn)生用于管理P⑶100的資源的軟件架構(gòu)的方法IOOOA0框1005是用于管理P⑶100的資源的方法或過(guò)程1000的第一例程。在例程框1005中,可由構(gòu)架管理器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所具有的相依性的相依性陣列。下文將結(jié)合圖8來(lái)更詳細(xì)地描述關(guān)于節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)及此例程或子方法705的進(jìn)一步細(xì)節(jié)。
[0098]緊接著,在框1010中,構(gòu)架管理器440可檢閱作為框1005中所接收的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的一部分的相依性數(shù)據(jù)。在決策框1015中,構(gòu)架管理器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ù)產(chǎn)生的節(jié)點(diǎn)不具有任何相依性。如果對(duì)決策框1015的詢(xún)問(wèn)是肯定的(意味著用于產(chǎn)生當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)不具有任何相依性),則構(gòu)架管理器440繼續(xù)到例程框1025。
[0099]如果對(duì)決策框1015的詢(xún)問(wèn)是否定的,則遵循“否”分支到?jīng)Q策框1020,在所述決策框1020中,構(gòu)架管理器確定節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)內(nèi)的所有硬相依性是否存在。硬相依性可包括其中資源在無(wú)其的情況下不能存在的相依性。同時(shí),軟相依性可包括其中資源可將相依的資源用作任選步驟的相依性。軟相依性意味著即使當(dāng)軟相依性不存在時(shí),仍可在節(jié)點(diǎn)架構(gòu)內(nèi)產(chǎn)生或例示具有軟相依性的節(jié)點(diǎn)601或節(jié)點(diǎn)601的資源??蓪?biāo)志650參考作為如上文所描述的軟相依性。
[0100]軟相依性的實(shí)例可包括最佳化特征,所述最佳化特征對(duì)于含有多個(gè)資源的資源導(dǎo)向節(jié)點(diǎn)601的操作來(lái)說(shuō)并非至關(guān)重要的。構(gòu)架管理器440可針對(duì)所存在的所有硬相依性來(lái)產(chǎn)生或例示節(jié)點(diǎn)或資源(即使當(dāng)對(duì)于具有未產(chǎn)生的軟相依性的那些節(jié)點(diǎn)或資源來(lái)說(shuō)不存在軟相依性時(shí))?;亟刑卣骺捎靡詤⒖架浵嘁佬?,使得當(dāng)軟相依性變得可用于構(gòu)架管理器440時(shí),構(gòu)架管理器440將通知參考軟相依性的每一回叫:所述軟相依性現(xiàn)在是可用的。
[0101]如果對(duì)決策框1020的詢(xún)問(wèn)是否定的,則遵循“否”分支而到框1027,在所述框1027中,節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)由構(gòu)架管理器440存儲(chǔ)于臨時(shí)存儲(chǔ)裝置(例如存儲(chǔ)器)中且構(gòu)架管理器440產(chǎn)生與此未經(jīng)例示的節(jié)點(diǎn)相關(guān)聯(lián)的回叫特征。
[0102]如果對(duì)決策框1015的詢(xún)問(wèn)是肯定的,則遵循“是”分支而到例程1025,在所述例程1025中,基于例程框1005中所接收的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)來(lái)產(chǎn)生或例示節(jié)點(diǎn)601。下文將結(jié)合圖9來(lái)描述例程框1025的進(jìn)一步細(xì)節(jié)。緊接著,在框1030中,構(gòu)架管理器440使用其唯一的資源名稱(chēng)來(lái)公布新近產(chǎn)生的節(jié)點(diǎn)601,使得其它節(jié)點(diǎn)601可將信息發(fā)送到新近產(chǎn)生的節(jié)點(diǎn)601或從新近產(chǎn)生的節(jié)點(diǎn)601接收信息。
[0103]現(xiàn)參看圖7E,圖7E是圖7D的延續(xù)流程圖,在框1035中,構(gòu)架管理器440通知依賴(lài)于新近產(chǎn)生的節(jié)點(diǎn)601的其它節(jié)點(diǎn)601:所述新近產(chǎn)生的節(jié)點(diǎn)601已被例示且準(zhǔn)備好接收或傳輸信息。根據(jù)一個(gè)示范性方面,當(dāng)產(chǎn)生相依節(jié)點(diǎn)(如圖7B的節(jié)點(diǎn)601B)時(shí)立即觸發(fā)通知,即,遞歸地執(zhí)行所述通知。因此,如果建構(gòu)了圖7B的節(jié)點(diǎn)601B,則立即通知節(jié)點(diǎn)601A。此通知可允許建構(gòu)節(jié)點(diǎn)601A(因?yàn)楣?jié)點(diǎn)601B是節(jié)點(diǎn)601A的最終相依方)。節(jié)點(diǎn)601B的建構(gòu)可導(dǎo)致其它節(jié)點(diǎn)601被通知,等等。直到依賴(lài)于節(jié)點(diǎn)601B的最終資源是完全的,節(jié)點(diǎn)60IB才變成完全的。
[0104]第二、稍微更復(fù)雜的實(shí)施方案是將所有通知置于單獨(dú)的通知隊(duì)列上,且接著在單一的時(shí)間點(diǎn)開(kāi)始來(lái)穿過(guò)所述隊(duì)列(即,迭代地執(zhí)行所述通知)。因此當(dāng)建構(gòu)圖7B的節(jié)點(diǎn)601B時(shí),將到節(jié)點(diǎn)601A的通知推送到列表上。接著執(zhí)行彼列表且通知節(jié)點(diǎn)601A。此導(dǎo)致到其它額外節(jié)點(diǎn)601 (除節(jié)點(diǎn)601A之外的節(jié)點(diǎn),未說(shuō)明于圖7B中)的通知被置于同一列表上,且接著在發(fā)送到節(jié)點(diǎn)601A的通知之后發(fā)送彼通知。到其它節(jié)點(diǎn)601的通知(除到節(jié)點(diǎn)601A的通知之外)直到在已完成與節(jié)點(diǎn)601B及節(jié)點(diǎn)601A相關(guān)聯(lián)的所有工作之后才發(fā)生。
[0105]邏輯上,這些兩個(gè)實(shí)施方案是等效的,但其在實(shí)施時(shí)具有不同的存儲(chǔ)器消耗性質(zhì)。遞歸式實(shí)現(xiàn)是簡(jiǎn)單的,但可消耗任意量的堆疊空間,其中所述堆疊消耗是隨相依性圖表的深度而定。迭代式實(shí)施方案是稍微更復(fù)雜的且需要稍多的靜態(tài)存儲(chǔ)器(通知列表),但堆疊使用是恒定的而無(wú)關(guān)于相依性圖表的深度,例如圖7B中所說(shuō)明。
[0106]而且,框1035中的節(jié)點(diǎn)產(chǎn)生的通知并不限于其它節(jié)點(diǎn)。其還可在內(nèi)部用于別名建構(gòu)。系統(tǒng)500A中的任何任意元件,而非僅其它節(jié)點(diǎn),可使用相同的機(jī)制以在節(jié)點(diǎn)(或標(biāo)志)變得可用時(shí)請(qǐng)求通知。節(jié)點(diǎn)與非節(jié)點(diǎn)兩者可使用相同的通知機(jī)制。
[0107]在決策框1040中,構(gòu)架管理器440確定現(xiàn)在是否基于當(dāng)前節(jié)點(diǎn)601的產(chǎn)生而釋放了其它節(jié)點(diǎn)601或軟相依性以用于產(chǎn)生或例示。決策框1040大體上確定是否可因?yàn)槟承┫嘁佬躁P(guān)系680已由近來(lái)經(jīng)歷產(chǎn)生或例示的當(dāng)前節(jié)點(diǎn)實(shí)現(xiàn)而產(chǎn)生資源。
[0108]如果對(duì)決策框1040的詢(xún)問(wèn)是肯定的,則遵循“是”分支而返回到例程框1025,在所述例程框1025中,由于由剛產(chǎn)生的節(jié)點(diǎn)601實(shí)現(xiàn)了相依性,所以現(xiàn)可產(chǎn)生或例示被釋放的節(jié)點(diǎn)601。
[0109]如果對(duì)決策框1040的詢(xún)問(wèn)是否定的,則遵循“否”分支而到框1045,在所述框1045中,構(gòu)架管理器440可管理如圖2中所說(shuō)明的架構(gòu)的元件之間的通信。緊接著,在框1050中,構(gòu)架管理器440可繼續(xù)通過(guò)使用與特定資源相關(guān)聯(lián)的資源名稱(chēng)而將由資源采取的動(dòng)作記入日志或進(jìn)行記錄。在由構(gòu)架管理器440或由構(gòu)架管理器440管理的元件中的任一者(例如資源、節(jié)點(diǎn)601、客戶(hù)端648、事件695及查詢(xún)函數(shù)697)采取的任何動(dòng)作之后,可由構(gòu)架管理器440執(zhí)行框1045。框1045展示節(jié)點(diǎn)架構(gòu)的另一方面,其中構(gòu)架管理器440可維護(hù)運(yùn)行中的活動(dòng)日志,其根據(jù)由產(chǎn)生特定元件(例如節(jié)點(diǎn)601的資源)的作者提供的元件的唯一識(shí)別符或名稱(chēng)來(lái)列出由每一元件執(zhí)行的動(dòng)作。
[0110]與先前技術(shù)相比較,框1050中的對(duì)活動(dòng)的此日志記錄(其列出指派給系統(tǒng)的每一資源的唯一名稱(chēng))是唯一的且可提供顯著優(yōu)點(diǎn)(例如用于除錯(cuò)及錯(cuò)誤故障診斷)。節(jié)點(diǎn)架構(gòu)500A的另一唯一方面是單獨(dú)的小組可致力于彼此獨(dú)立的不同硬件及/或軟件元件,其中每一小組將能夠使用資源名稱(chēng)(其是唯一的且容易跟蹤)而無(wú)需產(chǎn)生表來(lái)轉(zhuǎn)譯由其它小組及/或原始設(shè)備制造商(OEM)指派的較無(wú)意義且通?;靵y的資源名稱(chēng)。
[0111]緊接著,在決策框1055中,構(gòu)架管理器440確定是否已請(qǐng)求由構(gòu)架管理器440記錄的活動(dòng)的日志。如果對(duì)決策框1055的詢(xún)問(wèn)是否定的,則遵循“否”分支而到所述過(guò)程的結(jié)尾,其中所述過(guò)程返回到例程1005。如果對(duì)決策框1055的詢(xún)問(wèn)是肯定的,則遵循“是”分支而到框1060,在所述框1060中,構(gòu)架管理器440將包括有意義的資源名稱(chēng)及由所述資源名稱(chēng)執(zhí)行的相應(yīng)動(dòng)作的活動(dòng)日志發(fā)送到輸出裝置(例如打印機(jī)或顯示屏幕及/或兩者)。所述過(guò)程接著返回到上文所描述的例程框1005。
[0112]圖8是流程圖,其說(shuō)明圖7D的用于在PCD100中的軟件架構(gòu)中接收節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的子方法或例程1005???105是圖7D的子方法或例程1005中的第一步驟。在框1105中,構(gòu)架管理器440可接收軟件或硬件元件(例如CPUllO及圖7D的時(shí)鐘442)的唯一名稱(chēng)。如先前所論述,節(jié)點(diǎn)601必須參考至少一個(gè)資源。每一資源在系統(tǒng)500A中具有唯一名稱(chēng)??捎梦ㄒ幻Q(chēng)來(lái)識(shí)別系統(tǒng)500A內(nèi)的每一元件。從符號(hào)觀(guān)點(diǎn),每一元件具有唯一名稱(chēng)。換句話(huà)說(shuō),大體來(lái)說(shuō),在系統(tǒng)500A內(nèi)不存在具有相同名稱(chēng)的兩個(gè)元件。根據(jù)系統(tǒng)的示范性方面,節(jié)點(diǎn)601的資源可大體上跨越系統(tǒng)具有唯一名稱(chēng),但不要求客戶(hù)端或事件名稱(chēng)是唯一的(雖然其可按需要為唯一的)。
[0113]出于方便,可使用使用正斜線(xiàn)“ / ”符號(hào)的常規(guī)樹(shù)文件命名結(jié)構(gòu)或文件命名“象征”來(lái)產(chǎn)生唯一名稱(chēng),例如(但不限于)CPUllO的“ / core / cpu”及時(shí)鐘442的“ / elk /cpu”。然而,如由所屬領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,含有文數(shù)字符號(hào)及/或符號(hào)的任何其它組合的其它類(lèi)型的資源名稱(chēng)是完全在本發(fā)明的范圍內(nèi)。
[0114]緊接著,在框1110中,構(gòu)架管理器440可接收與所產(chǎn)生的節(jié)點(diǎn)601的一個(gè)或一個(gè)以上資源相關(guān)聯(lián)的一個(gè)或一個(gè)以上驅(qū)動(dòng)器函數(shù)的數(shù)據(jù)。驅(qū)動(dòng)器函數(shù)大體包括待由用于特定節(jié)點(diǎn)601的一個(gè)或一個(gè)以上資源完成的動(dòng)作。舉例來(lái)說(shuō),在圖7A到7B中,用于節(jié)點(diǎn)602的資源/ core / cpu的驅(qū)動(dòng)器函數(shù)可請(qǐng)求其為了提供已被請(qǐng)求的所請(qǐng)求處理量所需的總線(xiàn)帶寬量及CPU時(shí)鐘頻率。這些請(qǐng)求將經(jīng)由節(jié)點(diǎn)642及節(jié)點(diǎn)622中的資源的客戶(hù)端(例如圖2中的客戶(hù)端201、202、204及206)而作出。用于節(jié)點(diǎn)642中的/ elk / cpu的驅(qū)動(dòng)器函數(shù)將通常負(fù)責(zé)根據(jù)其從節(jié)點(diǎn)602的/ core / cpu資源接收的請(qǐng)求來(lái)實(shí)際上設(shè)定實(shí)體時(shí)鐘頻率。
[0115]在框1115中,構(gòu)架管理器440可接收節(jié)點(diǎn)屬性數(shù)據(jù)。所述節(jié)點(diǎn)屬性數(shù)據(jù)大體上包括定義例如以下各者的節(jié)點(diǎn)策略的數(shù)據(jù):安全性(可經(jīng)由用戶(hù)空間應(yīng)用程序來(lái)存取節(jié)點(diǎn)?)、遠(yuǎn)程性(可從系統(tǒng)中的其它處理器來(lái)存取節(jié)點(diǎn)?)及可存取性(資源可支持多個(gè)同時(shí)的客戶(hù)端?)。構(gòu)架管理器440還可定義允許資源超越默認(rèn)的構(gòu)架行為的屬性,例如請(qǐng)求評(píng)估或日志記錄策略。
[0116]隨后,在框1120中,構(gòu)架管理器440可接收針對(duì)所產(chǎn)生的特定節(jié)點(diǎn)601而定制的用戶(hù)數(shù)據(jù)。所述用戶(hù)數(shù)據(jù)可包括空“星形”字段,如由所屬領(lǐng)域的技術(shù)人員關(guān)于“C”程序設(shè)計(jì)語(yǔ)言所理解。用戶(hù)數(shù)據(jù)還被所屬領(lǐng)域的技術(shù)人員已知為“信任我”字段。示范性定制的用戶(hù)數(shù)據(jù)可包含(但不限于)例如頻率表等表、寄存器映射等。在框1120中所接收的用戶(hù)數(shù)據(jù)未由系統(tǒng)500A參考,而是允許資源的定制(如果所述定制未由構(gòu)架管理器440辨別或完全支持)。此用戶(hù)數(shù)據(jù)結(jié)構(gòu)是“C”程序設(shè)計(jì)語(yǔ)言中的既定經(jīng)擴(kuò)展以用于特殊或特定用途的基底類(lèi)別。
[0117]所屬領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,用于擴(kuò)展特定類(lèi)別的特定用途的其它種類(lèi)的數(shù)據(jù)結(jié)構(gòu)是在本發(fā)明的范圍內(nèi)。舉例來(lái)說(shuō),在“c++”(c-加-加)程序設(shè)計(jì)語(yǔ)言中,等效結(jié)構(gòu)可包括關(guān)鍵字“公共”,其將變成用于節(jié)點(diǎn)601內(nèi)的資源的擴(kuò)展機(jī)制。
[0118]緊接著,在框1125中,構(gòu)架管理器440可接收相依性陣列數(shù)據(jù)。所述相依性陣列數(shù)據(jù)可包括經(jīng)產(chǎn)生的節(jié)點(diǎn)601所依賴(lài)于的一個(gè)或一個(gè)以上資源601的唯一及特定名稱(chēng)。舉例來(lái)說(shuō),如果產(chǎn)生圖7C的第一節(jié)點(diǎn)602,則在此框1125中,相依性陣列數(shù)據(jù)可包括第二節(jié)點(diǎn)622的三個(gè)資源的資源名稱(chēng)及第一節(jié)點(diǎn)602所依賴(lài)于的第三節(jié)點(diǎn)642的單一資源名稱(chēng)。
[0119]隨后,在框1130中,構(gòu)架管理器440可接收資源陣列數(shù)據(jù)。所述資源陣列數(shù)據(jù)可包括所產(chǎn)生的當(dāng)前節(jié)點(diǎn)的參數(shù)(例如在產(chǎn)生圖7B到7C的第一節(jié)點(diǎn)602的情況下與此第一節(jié)點(diǎn)602相關(guān)的參數(shù))。所述資源陣列數(shù)據(jù)可包括以下數(shù)據(jù)中的一者或一者以上:其它資源的名稱(chēng);單位;最大值;資源屬性;插入式數(shù)據(jù);及類(lèi)似于框1120的定制用戶(hù)數(shù)據(jù)的任何定制的資源數(shù)據(jù)。插入式數(shù)據(jù)大體上識(shí)別從軟件程序庫(kù)檢索的函數(shù)且通常列出可由所產(chǎn)生的特定節(jié)點(diǎn)或多個(gè)節(jié)點(diǎn)支持的客戶(hù)端類(lèi)型。插入式數(shù)據(jù)還允許對(duì)客戶(hù)端產(chǎn)生及消滅的定制。在框1130之后,所述過(guò)程返回到圖7D的框1010。
[0120]在圖8中,已用虛線(xiàn)說(shuō)明屬性數(shù)據(jù)框1115、定制用戶(hù)數(shù)據(jù)框1120及相依性陣列數(shù)據(jù)框1125以指示這些特定步驟是任選的且對(duì)于任一給定節(jié)點(diǎn)601來(lái)說(shuō)是不需要的。同時(shí),已用實(shí)線(xiàn)說(shuō)明唯一名稱(chēng)框1105、驅(qū)動(dòng)器函數(shù)框1110及資源陣列數(shù)據(jù)框1130以指示例程1005的這些步驟大體上對(duì)產(chǎn)生節(jié)點(diǎn)601來(lái)說(shuō)是強(qiáng)制性的。
[0121]圖9是流程圖,其說(shuō)明圖7D的用于在PCD100的軟件架構(gòu)中產(chǎn)生節(jié)點(diǎn)的子方法或例程1025。根據(jù)一個(gè)示范性實(shí)施例,例程框1205是用于例示或產(chǎn)生節(jié)點(diǎn)601的子方法或例程1025中的第一例程。在例程框1205中,與被例不的節(jié)點(diǎn)601相關(guān)聯(lián)的一個(gè)或一個(gè)以上客戶(hù)端648是產(chǎn)生于此步驟中。下文將結(jié)合圖10來(lái)進(jìn)一步詳細(xì)描述關(guān)于例程框1205的進(jìn)
一步細(xì)節(jié)。
[0122]在框1210中,構(gòu)架管理器可產(chǎn)生或例示對(duì)應(yīng)于框705的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)的一個(gè)或一個(gè)以上資源。緊接著,在框1215中,構(gòu)架管理器440可啟動(dòng)在例程框1005的例程框1110中接收的驅(qū)動(dòng)器函數(shù)。根據(jù)一個(gè)示范性方面,可使用在例程框1005的資源陣列數(shù)據(jù)框1130中接收的最大值來(lái)啟動(dòng)所述驅(qū)動(dòng)器函數(shù)。根據(jù)另一優(yōu)選的示范性方面,可用與來(lái)自例程1005的節(jié)點(diǎn)結(jié)構(gòu)數(shù)據(jù)一起傳遞的任選初始值來(lái)啟動(dòng)每一驅(qū)動(dòng)器函數(shù)。如果未提供初始數(shù)據(jù),則將驅(qū)動(dòng)器函數(shù)初始化于O (最小值)。還通常以一方式來(lái)啟動(dòng)驅(qū)動(dòng)器函數(shù)使得已知其正被初始化。此使得資源能夠執(zhí)行是特定針對(duì)初始化但無(wú)需在正常或例程操作期間執(zhí)行的任何操作。所述過(guò)程接著返回到圖7D的步驟1030。
[0123]圖10是流程圖,其說(shuō)明圖9的用于在P⑶100的軟件架構(gòu)中產(chǎn)生客戶(hù)端648的子方法或例程1205???305是例程框1205的第一步驟,在所述框1305中,產(chǎn)生一個(gè)或一個(gè)以上資源601的客戶(hù)端648。在框1205中,構(gòu)架管理器440接收被指派給所產(chǎn)生的客戶(hù)端648的名稱(chēng)。類(lèi)似于資源名稱(chēng),客戶(hù)端648的名稱(chēng)可包括任何類(lèi)型的文數(shù)字及/或符號(hào)。
[0124]緊接著,在框1310中,如果存在針對(duì)所產(chǎn)生的此客戶(hù)端648的任何特定定制,則可由構(gòu)架管理器440接收定制的用戶(hù)數(shù)據(jù)。已用虛線(xiàn)來(lái)說(shuō)明框1310以指示所述步驟是任選的???310的定制的用戶(hù)數(shù)據(jù)類(lèi)似于上文結(jié)合節(jié)點(diǎn)601的資源產(chǎn)生所論述的定制的用戶(hù)數(shù)據(jù)。
[0125]在框1315中,構(gòu)架管理器440接收被指派給所產(chǎn)生的特定客戶(hù)端的客戶(hù)端類(lèi)型分類(lèi)。到此文章時(shí)為止,客戶(hù)端類(lèi)型分類(lèi)可包括四種類(lèi)型中的一者:(a)必需;(b)脈沖;(c)向量及(d)等時(shí)??扇Q于由系統(tǒng)101管理的資源及依賴(lài)于節(jié)點(diǎn)601的資源的應(yīng)用程序來(lái)擴(kuò)展客戶(hù)端類(lèi)型分類(lèi)列表。
[0126]必需分類(lèi)大體與從必需的客戶(hù)端648傳遞到特定資源601的純量值的處理對(duì)應(yīng)。舉例來(lái)說(shuō),必需的請(qǐng)求可包括每秒幾百萬(wàn)個(gè)指令(MIP)。同時(shí),脈沖分類(lèi)大體上對(duì)應(yīng)于用以在未指定任何開(kāi)始時(shí)間或停止時(shí)間的某一時(shí)間周期內(nèi)完成某一活動(dòng)的請(qǐng)求的處理。
[0127]等時(shí)分類(lèi)大體上與對(duì)通常重新發(fā)生且具有明確的開(kāi)始時(shí)間及明確的結(jié)束時(shí)間的動(dòng)作的請(qǐng)求對(duì)應(yīng)。向量分類(lèi)大體上與數(shù)據(jù)陣列對(duì)應(yīng),所述數(shù)據(jù)陣列通常是逐次或平行的所需多個(gè)動(dòng)作的一部分。
[0128]隨后,在框1320中,構(gòu)架管理器440接收指示客戶(hù)端648是否已被指定為同步或非同步的數(shù)據(jù)。同步客戶(hù)端648是通常要求構(gòu)架管理器440鎖定節(jié)點(diǎn)601的資源直到資源601傳回?cái)?shù)據(jù)及資源601已完成來(lái)自同步客戶(hù)端648的所請(qǐng)求任務(wù)的指示為止的客戶(hù)端。
[0129]另一方面,非同步客戶(hù)端648可由平行的一個(gè)或一個(gè)以上線(xiàn)程來(lái)處置,所述一個(gè)或一個(gè)以上線(xiàn)程由構(gòu)架管理器440存取。構(gòu)架管理器440可產(chǎn)生到線(xiàn)程的回叫且當(dāng)已由相應(yīng)線(xiàn)程執(zhí)行所述回叫時(shí)可傳回一值。
[0130]在框1320之后,在決策框1325中,構(gòu)架管理器440確定由客戶(hù)端645識(shí)別的資源是否可用。如果對(duì)決策框1325的詢(xún)問(wèn)是否定的,則遵循“否”分支而到框1330,在所述框1330中,將指示此時(shí)不能產(chǎn)生客戶(hù)端648的空值或消息傳回到用戶(hù)。
[0131]如果對(duì)決策框1325的詢(xún)問(wèn)是肯定的,則遵循“是”分支而到?jīng)Q策框1335,在所述決策框1335中,構(gòu)架管理器440確定由客戶(hù)端648識(shí)別的每一資源是否支持框1310中所提供的客戶(hù)端類(lèi)型。如果對(duì)決策框1335的詢(xún)問(wèn)是否定的,則遵循“否”分支而返回到框1330,在所述框1330中,傳回指示此時(shí)不能產(chǎn)生客戶(hù)端648的空值或消息。
[0132]如果對(duì)決策框1335的詢(xún)問(wèn)是肯定的,則遵循“是”分支而到框1340,在所述框1340中,構(gòu)架管理器440在存儲(chǔ)器中產(chǎn)生或例示客戶(hù)端648。緊接著,在框1345中,如果在框1310中接收到任何定制的用戶(hù)數(shù)據(jù)(例如任選引數(shù)),則可用這些任選引數(shù)的相應(yīng)資源及特定節(jié)點(diǎn)601來(lái)映射所述任選引數(shù)。緊接著,在框1350中,將新近產(chǎn)生的客戶(hù)端645耦合到在閑置狀態(tài)下或在所請(qǐng)求的狀態(tài)(如在上文所描述的圖1OC中所說(shuō)明)下的其相應(yīng)的一個(gè)或一個(gè)以上資源。所述過(guò)程接著返回到圖12的框1210。
[0133]圖11是流程圖,其說(shuō)明一種用于在rcDlOO的軟件架構(gòu)中產(chǎn)生針對(duì)資源601的客戶(hù)端請(qǐng)求675的方法1400。所述方法1400是大體上在如上文結(jié)合圖7D到7E及圖10所描述的客戶(hù)端產(chǎn)生及節(jié)點(diǎn)產(chǎn)生之后執(zhí)行。
[0134]框1405是用于產(chǎn)生針對(duì)資源601的客戶(hù)端請(qǐng)求675的方法1400中的第一步驟。此方法1400將描述如何由構(gòu)架管理器440來(lái)處置以下三種類(lèi)型的請(qǐng)求675: (a)必需;(b)脈沖;及(c)向量。如上文所提及的請(qǐng)求675的名稱(chēng)所暗示,客戶(hù)端請(qǐng)求675大體上與所產(chǎn)生及上文描述的客戶(hù)端類(lèi)型對(duì)應(yīng)。
[0135]在框1405中,構(gòu)架管理器440可接收與特定客戶(hù)端請(qǐng)求675相關(guān)聯(lián)的數(shù)據(jù),例如上文所提及的三種類(lèi)型中的一者:(a)必需;(b)脈沖;及(C)向量。與必需的請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)大體上包括從必需的客戶(hù)端648傳遞到特定資源601的純量值。舉例來(lái)說(shuō),必需的請(qǐng)求可包括每秒幾百萬(wàn)個(gè)指令(MIP)。同時(shí),脈沖請(qǐng)求包括用以在未指定任何開(kāi)始時(shí)間或停止時(shí)間的某一時(shí)間周期內(nèi)完成某一活動(dòng)的請(qǐng)求。向量請(qǐng)求的數(shù)據(jù)大體上包括需要逐次地或平行地完成的多個(gè)動(dòng)作的陣列。向量請(qǐng)求可包括任意長(zhǎng)度的值。向量請(qǐng)求通常具有大小值及值的陣列。節(jié)點(diǎn)601的每一資源可經(jīng)擴(kuò)展而具有指針字段以便支持向量請(qǐng)求。在“C”程序設(shè)計(jì)語(yǔ)言中,如由所屬領(lǐng)域的技術(shù)人員所理解,指針字段由聯(lián)集函數(shù)(union function)支持。
[0136]緊接著,在框1410中,構(gòu)架管理器440經(jīng)由客戶(hù)端648發(fā)出請(qǐng)求,所述客戶(hù)端648是通過(guò)上文結(jié)合圖10所描述的方法而產(chǎn)生。隨后,在框1415中,如果所述請(qǐng)求是必需類(lèi)型或向量類(lèi)型,則構(gòu)架管理器440雙重緩沖經(jīng)由客戶(hù)端所傳遞的請(qǐng)求數(shù)據(jù)。如果所述請(qǐng)求是脈沖類(lèi)型,則構(gòu)架管理器440跳過(guò)框1415。
[0137]對(duì)于必需請(qǐng)求來(lái)說(shuō),在此框1415中,來(lái)自先前請(qǐng)求的值被維持于存儲(chǔ)器中,使得構(gòu)架管理器440可確定在當(dāng)前組的所請(qǐng)求值中是否存在先前請(qǐng)求的值之間的任何差異。對(duì)于向量請(qǐng)求來(lái)說(shuō),先前請(qǐng)求通常未維持于存儲(chǔ)器中(雖然節(jié)點(diǎn)601的資源可按特定實(shí)施方案的需要維持其)。因此,框1415對(duì)于向量類(lèi)型的請(qǐng)求來(lái)說(shuō)是任選的。
[0138]在框1420中,構(gòu)架管理器440在當(dāng)前組的所請(qǐng)求值中計(jì)算先前組的所請(qǐng)求值之間的差量或差異。在決策框1425中,構(gòu)架管理器確定當(dāng)前組的所請(qǐng)求值是否與先前組的所請(qǐng)求值相同。換句話(huà)說(shuō)的,構(gòu)架管理器440確定在當(dāng)前組的所請(qǐng)求值與先前組的所請(qǐng)求值之間是否存在差異。如果在當(dāng)前組的所請(qǐng)求值與先前組的所請(qǐng)求值之間不存在差異,則遵循“是”分支(其跳過(guò)框1430到框1470)而到框1475,在所述框1475中,所述過(guò)程結(jié)束。
[0139]如果對(duì)決策框1425的詢(xún)問(wèn)是否定的(意味著所述組所請(qǐng)求值相對(duì)于所述組預(yù)先所請(qǐng)求值為不同的),則遵循“否”分支而到?jīng)Q策框1430。
[0140]在決策框1430中,構(gòu)架管理器440確定當(dāng)前請(qǐng)求是否為非同步請(qǐng)求。如果對(duì)決策框1430的詢(xún)問(wèn)是否定的,則遵循“否”分支而到框1440,在所述框1440中,構(gòu)架管理器440鎖定對(duì)應(yīng)于客戶(hù)端請(qǐng)求675的資源601。如果對(duì)決策框1430的詢(xún)問(wèn)是肯定的(意味著當(dāng)前請(qǐng)求是非同步請(qǐng)求類(lèi)型),則遵循“是”分支而到框1435,在所述框1435中,可將請(qǐng)求推送到另一線(xiàn)程上且可由另一核心來(lái)執(zhí)行所述請(qǐng)求(如果當(dāng)前構(gòu)架管理器440管理多核心系統(tǒng)(如圖1的多核心系統(tǒng)))。已用虛線(xiàn)說(shuō)明框1435以指示在PCD100為單核心中央處理系統(tǒng)的情況下此步驟可為任選的。
[0141]隨后,在框1440中,構(gòu)架管理器440鎖定對(duì)應(yīng)于請(qǐng)求675的資源601。緊接著,在框1445中,資源601執(zhí)行更新函數(shù),所述更新函數(shù)大體對(duì)應(yīng)于在圖8的框1130中接收的資源陣列數(shù)據(jù)的插入式數(shù)據(jù)。所述更新函數(shù)大體上包括負(fù)責(zé)根據(jù)新客戶(hù)端請(qǐng)求實(shí)現(xiàn)新資源狀態(tài)的函數(shù)。所述更新函數(shù)將其先前狀態(tài)與客戶(hù)端請(qǐng)求中的所請(qǐng)求狀態(tài)相比較。如果所請(qǐng)求狀態(tài)大于先前狀態(tài),則更新函數(shù)將執(zhí)行客戶(hù)端請(qǐng)求。然而,如果所請(qǐng)求狀態(tài)等于或小于當(dāng)前狀態(tài)及資源操作所處的狀態(tài),則將不執(zhí)行客戶(hù)端請(qǐng)求以便增加效率,因?yàn)榕f狀態(tài)達(dá)成或滿(mǎn)足所請(qǐng)求狀態(tài)。更新函數(shù)從客戶(hù)端獲得新請(qǐng)求且將其與所有其它作用中請(qǐng)求匯總以確定資源的新?tīng)顟B(tài)。
[0142]作為一實(shí)例,多個(gè)客戶(hù)端可請(qǐng)求總線(xiàn)時(shí)鐘頻率。用于總線(xiàn)時(shí)鐘的更新函數(shù)將通常取所有客戶(hù)端請(qǐng)求的最大值,且將其用作總線(xiàn)時(shí)鐘的新的所要狀態(tài)。雖然存在一些將由多個(gè)資源使用的更新函數(shù),但并非為所有資源將使用相同的更新函數(shù)的狀況。一些普通的更新函數(shù)將取客戶(hù)端請(qǐng)求的最大值,將取客戶(hù)端請(qǐng)求的最小值及將客戶(hù)端請(qǐng)求求和。或者,如果資源需要以某種獨(dú)特的方式匯總請(qǐng)求,則資源可定義其自已的定制更新函數(shù)。
[0143]緊接著,在框1450中,構(gòu)架管理器440將數(shù)據(jù)傳遞到對(duì)應(yīng)于客戶(hù)端648的資源,使得所述資源可執(zhí)行特定針對(duì)節(jié)點(diǎn)601的資源的驅(qū)動(dòng)器函數(shù)。驅(qū)動(dòng)器函數(shù)應(yīng)用如由更新函數(shù)計(jì)算的資源狀態(tài)。此可需要更新硬件設(shè)定、向相依的資源發(fā)出請(qǐng)求、呼叫舊版函數(shù)或上述步驟的某一組合。
[0144]在先前實(shí)例中,更新函數(shù)計(jì)算所請(qǐng)求的總線(xiàn)時(shí)鐘頻率。驅(qū)動(dòng)器函數(shù)可接收彼請(qǐng)求的頻率且其可更新時(shí)鐘頻率控制HW以在彼頻率下運(yùn)行。應(yīng)注意,有時(shí)不可能使驅(qū)動(dòng)器函數(shù)滿(mǎn)足更新函數(shù)所計(jì)算的確切的所請(qǐng)求狀態(tài)。在此狀況下,驅(qū)動(dòng)器函數(shù)可選擇最佳地滿(mǎn)足所述請(qǐng)求的頻率。舉例來(lái)說(shuō),總線(xiàn)時(shí)鐘HW可僅能夠在128MHz及160MHz下運(yùn)行,但所請(qǐng)求狀態(tài)可能為150MHz。在此狀況下,驅(qū)動(dòng)器函數(shù)應(yīng)在160MHz下運(yùn)行,因?yàn)?60MHz超過(guò)所請(qǐng)求狀態(tài)。
[0145]緊接著,在框1455中,構(gòu)架440從已在框1450中執(zhí)行驅(qū)動(dòng)器函數(shù)的資源接收狀態(tài)控制。隨后,在框1460中,如果相對(duì)于資源而定義了事件690,則可觸發(fā)事件690使得數(shù)據(jù)被傳遞返回到對(duì)應(yīng)于事件690的客戶(hù)端648??稍诹硪痪€(xiàn)程中處理事件。此可最小化在資源被鎖定的情況下所花費(fèi)的時(shí)間量且允許多核心系統(tǒng)(如圖1中所說(shuō)明)中的平行操作??梢灶?lèi)似于可如何相對(duì)于資源來(lái)定義請(qǐng)求(如此方法1400中所描述)的方式而相對(duì)于資源來(lái)定義一個(gè)或一個(gè)以上事件690。換句話(huà)說(shuō)的,事件產(chǎn)生過(guò)程可很大程度上與客戶(hù)端產(chǎn)生過(guò)程平行。事件的一個(gè)不同的處在于有可能定義僅在某些閾值被跨過(guò)時(shí)觸發(fā)的事件。
[0146]此種僅基于閾值被觸發(fā)的事件的定義允許通知資源何時(shí)被過(guò)多訂購(gòu)(其具有比其可支持的用戶(hù)多的同時(shí)用戶(hù))(此指示系統(tǒng)過(guò)載條件)或資源何時(shí)變少/消失(此可允許其它事物被關(guān)閉、恢復(fù)在系統(tǒng)變得過(guò)多訂購(gòu)時(shí)被禁用的功能性,等等)。由于可通過(guò)閾值來(lái)完成事件登記,所以其將系統(tǒng)在事件通知時(shí)不得不做的工作量減少為僅在確實(shí)需要做某事時(shí)才發(fā)生。也有可能在每一狀態(tài)改變時(shí)登記事件。
[0147]緊接著,在任選框1465中,如果所處理的請(qǐng)求是向量請(qǐng)求,則通常執(zhí)行此任選框1465。任選框1465大體上包括用以評(píng)估向量指針是否仍定位于用戶(hù)傳遞到向量中的相同數(shù)據(jù)上的檢查或確定。如果對(duì)此任選框1465的詢(xún)問(wèn)是肯定的(意味著指針仍指向由用戶(hù)傳遞到向量中的相同數(shù)據(jù)),則清除所述指針使得不維持對(duì)舊數(shù)據(jù)的參考。大體上執(zhí)行此任選框1465以解決在處理向量請(qǐng)求時(shí)上文所描述的雙重緩沖框1415(與脈沖請(qǐng)求及必需請(qǐng)求相比較)。
[0148]隨后,在框1470中,構(gòu)架440解除對(duì)所請(qǐng)求的資源的鎖定,使得可由特定節(jié)點(diǎn)601的當(dāng)前但現(xiàn)被釋放的所請(qǐng)求資源來(lái)處置其它客戶(hù)端請(qǐng)求648。所述過(guò)程接著返回到第一框1405以用于接收下一客戶(hù)端請(qǐng)求。
[0149]鑒于以上揭示內(nèi)容,熟習(xí)程序設(shè)計(jì)者能夠基于(例如)此說(shuō)明書(shū)中的流程圖及相關(guān)聯(lián)的描述毫無(wú)困難地撰寫(xiě)計(jì)算機(jī)程序代碼或識(shí)別適當(dāng)硬件及/或電路以實(shí)施所揭示的本發(fā)明。因此,并不將特定程序代碼指令集或詳細(xì)硬件裝置的揭示內(nèi)容視為對(duì)于充分理解如何制造及使用本發(fā)明為必要的。在以上描述中且結(jié)合可說(shuō)明各種處理流程的諸圖更詳細(xì)地解釋所主張的計(jì)算機(jī)實(shí)施過(guò)程的發(fā)明性功能性。[0150]在一個(gè)或一個(gè)以上示范性方面中,所描述的功能可實(shí)施于硬件、軟件、固件或其任何組合中。如果以軟件實(shí)施,則所述功能可作為一個(gè)或一個(gè)以上指令或程序代碼在計(jì)算機(jī)可讀媒體上存儲(chǔ)或傳輸。計(jì)算機(jī)可讀媒體包含計(jì)算機(jī)存儲(chǔ)媒體與通信媒體(包含促進(jìn)計(jì)算機(jī)程序從一處轉(zhuǎn)移到另一處的任何媒體)兩者。存儲(chǔ)媒體可為可由計(jì)算機(jī)存取的任何可用媒體。通過(guò)實(shí)例而非限制,這些計(jì)算機(jī)可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤(pán)存儲(chǔ)裝置、磁盤(pán)存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置,或可用以載運(yùn)或存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。
[0151]而且,將任何連接恰當(dāng)?shù)胤Q(chēng)為計(jì)算機(jī)可讀媒體。舉例來(lái)說(shuō),如果使用同軸電纜、光纖纜線(xiàn)、雙絞線(xiàn)、數(shù)字用戶(hù)線(xiàn)(“DSL”)或無(wú)線(xiàn)技術(shù)(例如,紅外線(xiàn)、無(wú)線(xiàn)電及微波)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,則同軸電纜、光纖纜線(xiàn)、雙絞線(xiàn)、DSL或無(wú)線(xiàn)技術(shù)(例如,紅外線(xiàn)、無(wú)線(xiàn)電及微波)包含于媒體的定義中。
[0152]如本文中所使用,磁盤(pán)及光盤(pán)包含緊密光盤(pán)(“CD”)、激光光盤(pán)、光盤(pán)、數(shù)字影音光盤(pán)(“DVD”)、軟性磁盤(pán)及藍(lán)光(blu-ray)光盤(pán),其中磁盤(pán)通常以磁性方式再生數(shù)據(jù),而光盤(pán)通過(guò)激光以光學(xué)方式再生數(shù)據(jù)。以上各物的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。
[0153]雖然已詳細(xì)說(shuō)明及描述所選的方面,但應(yīng)理解,可在不背離如由所附權(quán)利要求書(shū)定義的本發(fā)明的精神及范圍的情況下在所述方面中作出各種替代及變更。
【權(quán)利要求】
1.一種用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法,其包括: 從第一客戶(hù)端產(chǎn)生第一請(qǐng)求,所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的; 將所述第一請(qǐng)求轉(zhuǎn)遞到資源; 由所述資源來(lái)確認(rèn)所述第一請(qǐng)求且起始非同步處理; 在所述資源中處理所述第一請(qǐng)求,同時(shí)允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理; 由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成; 在所述資源中接收第二請(qǐng)求,所述第二請(qǐng)求導(dǎo)致所述第一請(qǐng)求的所述處理的完成,所述第一請(qǐng)求的所述處理的所述完成包含將所述資源的本地表示更新到新?tīng)顟B(tài)及調(diào)用任何登記的回叫,所述資源變得可用以服務(wù)于所述第二請(qǐng)求;以及在所述資源中處理所述第二請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第二請(qǐng)求源于所述第一客戶(hù)端中。
3.根據(jù)權(quán)利要求1所述的方法,其中所述第二請(qǐng)求源于第二客戶(hù)端中。
4.根據(jù)權(quán)利要求1所述的方法,其中所述第一請(qǐng)求經(jīng)由資源代理而被轉(zhuǎn)遞到所述資源。
5.根據(jù)權(quán)利要求1所述的方法,其中確認(rèn)所述第一請(qǐng)求進(jìn)一步包括在所述資源處理所述第一請(qǐng)求之前允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理。
6.根據(jù)權(quán)利要求1所述的方法,其中由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成使所述資源成為可加入的。
7.根據(jù)權(quán)利要求1所述的方法,其中所述資源的所述本地表示包括資源代理及執(zhí)行構(gòu)架中的任一者。
8.根據(jù)權(quán)利要求1所述的方法,其中由所述資源來(lái)確認(rèn)所述第一請(qǐng)求及起始非同步處理將所述資源置于不相干狀態(tài),且所述第二請(qǐng)求導(dǎo)致所述資源返回到相干狀態(tài)且可用以處理所述第二請(qǐng)求。
9.根據(jù)權(quán)利要求1所述的方法,其中在不接收所述第二請(qǐng)求的情況下使所述資源變成可用。
10.根據(jù)權(quán)利要求1所述的方法,其中所述第二請(qǐng)求是在所述第一執(zhí)行線(xiàn)程的上下文中發(fā)出的。
11.根據(jù)權(quán)利要求1所述的方法,其中所述第二請(qǐng)求是在第二執(zhí)行線(xiàn)程的上下文中發(fā)出的。
12.一種用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括:處理器,其可操作以用于: 從第一客戶(hù)端產(chǎn)生第一請(qǐng)求,所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的; 將所述第一請(qǐng)求轉(zhuǎn)遞到資源; 由所述資源來(lái)確認(rèn)所述第一請(qǐng)求且起始非同步處理; 在所述資源中處理所述第一請(qǐng)求,同時(shí)允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理; 由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成; 在所述資源中接收第二請(qǐng)求,所述第二請(qǐng)求導(dǎo)致所述第一請(qǐng)求的所述處理的完成,所述第一請(qǐng)求的所述處理的所述完成包含將所述資源的本地表示更新到新?tīng)顟B(tài)及調(diào)用任何登記的回叫,所述資源變得可用以服務(wù)于所述第二請(qǐng)求;以及在所述資源中處理所述第二請(qǐng)求。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述第二請(qǐng)求源于所述第一客戶(hù)端中。
14.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述第二請(qǐng)求源于第二客戶(hù)端中。
15.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述第一請(qǐng)求經(jīng)由資源代理而被轉(zhuǎn)遞到所述資源。
16.根據(jù)權(quán)利要求12所述的系統(tǒng),其中確認(rèn)所述第一請(qǐng)求進(jìn)一步包括在所述資源處理所述第一請(qǐng)求之前允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理。
17.根據(jù)權(quán)利要求12所述的系統(tǒng),其中由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成使所述資源成為可加入的。
18.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述資源的所述本地表示包括資源代理及執(zhí)行構(gòu)架中的任一者。
19.根據(jù)權(quán)利要求12所述的系統(tǒng),其中由所述資源來(lái)確認(rèn)所述第一請(qǐng)求及起始非同步處理將所述資源置于不相干狀態(tài),且所述第二請(qǐng)求導(dǎo)致所述資源返回到相干狀態(tài)且可用以處理所述第二請(qǐng)求。
20.根據(jù)權(quán)利要求12所述的系統(tǒng),其中在不接收所述第二請(qǐng)求的情況下使所述資源變成可用。
21.根據(jù)權(quán)利要求12`所述的系統(tǒng),其中所述第二請(qǐng)求是在所述第一執(zhí)行線(xiàn)程的上下文中發(fā)出的。
22.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述第二請(qǐng)求是在第二執(zhí)行線(xiàn)程的上下文中發(fā)出的。
23.一種用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括: 用于從第一客戶(hù)端產(chǎn)生第一請(qǐng)求的裝置,所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的; 用于將所述第一請(qǐng)求轉(zhuǎn)遞到資源的裝置; 用于由所述資源來(lái)確認(rèn)所述第一請(qǐng)求且起始非同步處理的裝置; 用于在所述資源中處理所述第一請(qǐng)求同時(shí)允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理的裝置; 用于由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成的裝置; 用于在所述資源中接收第二請(qǐng)求的裝置,所述第二請(qǐng)求導(dǎo)致所述第一請(qǐng)求的所述處理的完成,所述第一請(qǐng)求的所述處理的所述完成包含將所述資源的本地表示更新到新?tīng)顟B(tài)及調(diào)用任何登記的回叫,所述資源變得可用以服務(wù)于所述第二請(qǐng)求;以及用于在所述資源中處理所述第二請(qǐng)求的裝置。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述第二請(qǐng)求源于所述第一客戶(hù)端中。
25.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述第二請(qǐng)求源于第二客戶(hù)端中。
26.根據(jù)權(quán)利要求23所述的系統(tǒng),其進(jìn)一步包括用于經(jīng)由資源代理將所述第一請(qǐng)求轉(zhuǎn)遞到所述資源的裝置。
27.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述用于確認(rèn)所述第一請(qǐng)求的裝置進(jìn)一步包括用于在所述資源處理所述第一請(qǐng)求之前允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理的裝置。
28.根據(jù)權(quán)利要求23所述的系統(tǒng),其中由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成使所述資源成為可加入的。
29.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述資源的所述本地表示包括資源代理及執(zhí)行構(gòu)架中的任一者。
30.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述用于由所述資源來(lái)確認(rèn)所述第一請(qǐng)求及起始非同步處理的裝置將所述資源置于不相干狀態(tài),且所述第二請(qǐng)求導(dǎo)致所述資源返回到相干狀態(tài)且可用以處理所述第二請(qǐng)求。
31.根據(jù)權(quán)利要求23所述的系統(tǒng),其中在不接收所述第二請(qǐng)求的情況下使所述資源變成可用。
32.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述第二請(qǐng)求是在所述第一執(zhí)行線(xiàn)程的上下文中發(fā)出的。
33.根據(jù)權(quán)利要求23所述的系統(tǒng),其中所述第二請(qǐng)求是在第二執(zhí)行線(xiàn)程的上下文中發(fā)出的。
34.一種包括計(jì)算機(jī)可用媒體的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可用媒體具有體現(xiàn)于其中的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼適于被執(zhí)行以實(shí)施用于管理便攜式計(jì)算裝置中的平行資源請(qǐng)求的方法,所述方法包括: 從第一客戶(hù) 端產(chǎn)生第一請(qǐng)求,所述第一請(qǐng)求是在第一執(zhí)行線(xiàn)程的上下文中發(fā)出的; 將所述第一請(qǐng)求轉(zhuǎn)遞到資源; 由所述資源來(lái)確認(rèn)所述第一請(qǐng)求且起始非同步處理; 在所述資源中處理所述第一請(qǐng)求同時(shí)允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理; 由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成; 在所述資源中接收第二請(qǐng)求,所述第二請(qǐng)求導(dǎo)致所述第一請(qǐng)求的所述處理的完成,所述第一請(qǐng)求的所述處理的所述完成包含將所述資源的本地表示更新到新?tīng)顟B(tài)及調(diào)用任何登記的回叫,所述資源變得可用以服務(wù)于所述第二請(qǐng)求;以及 在所述資源中處理所述第二請(qǐng)求。
35.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第二請(qǐng)求源于所述第一客戶(hù)端中。
36.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第二請(qǐng)求源于第二客戶(hù)端中。
37.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第一請(qǐng)求經(jīng)由資源代理而被轉(zhuǎn)遞到所述資源。
38.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中確認(rèn)所述第一請(qǐng)求進(jìn)一步包括在所述資源處理所述第一請(qǐng)求之前允許所述第一客戶(hù)端繼續(xù)所述第一執(zhí)行線(xiàn)程中的處理。
39.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中由所述資源來(lái)傳信所述第一請(qǐng)求的所述處理的完成使所述資源成為可加入的。
40.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述資源的所述本地表示包括資源代理及執(zhí)行構(gòu)架中的任一者。
41.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中由所述資源來(lái)確認(rèn)所述第一請(qǐng)求及起始非同步處理將所述資源置于不相干狀態(tài),且所述第二請(qǐng)求導(dǎo)致所述資源返回到相干狀態(tài)且可用以處理所述第二請(qǐng)求。
42.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中在不接收所述第二請(qǐng)求的情況下使所述資源變成可用。
43.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第二請(qǐng)求是在所述第一執(zhí)行線(xiàn)程的上下文中發(fā)出的。
44.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第二請(qǐng)求是在第二執(zhí)行線(xiàn)程的上下文中發(fā)出的。`
【文檔編號(hào)】G06F9/54GK103782277SQ201280041868
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2012年8月16日 優(yōu)先權(quán)日:2011年9月1日
【發(fā)明者】諾曼·S·加爾加石, 維諾德·維賈雅拉詹 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临清市| 朝阳区| 山阴县| 晋宁县| 长沙市| 合山市| 安仁县| 乐昌市| 蒲江县| 东海县| 伽师县| 乌兰浩特市| 宜良县| 黔东| 句容市| 左权县| 黎平县| 高雄市| 来凤县| 黔西县| 安国市| 育儿| 台山市| 徐汇区| 杭锦旗| 大姚县| 广宗县| 平乐县| 博野县| 中西区| 嘉善县| 张北县| 隆安县| 全州县| 霍州市| 新疆| 湘阴县| 昌江| 吉隆县| 梁河县| 离岛区|