專利名稱:用于動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及軟件應(yīng)用程序。明確地說,本發(fā)明涉及用于在軟件應(yīng)用程序在計(jì) 算裝置上執(zhí)行期間動(dòng)態(tài)地增強(qiáng)所述軟件應(yīng)用程序的技術(shù)。
背景技術(shù):
軟件應(yīng)用程序(特別是視頻游戲)使用各種技術(shù)向顯示裝置再現(xiàn)圖形信息。 一種眾 所周知的技術(shù)是對(duì)例如DirectX⑧或OpenGL⑧等低級(jí)別應(yīng)用程序編程接口 (API)進(jìn)行函 數(shù)調(diào)用。響應(yīng)于接收到此類函數(shù)調(diào)用,這些API向計(jì)算機(jī)系統(tǒng)的圖形硬件發(fā)布命令,或 在替代方案中,試圖在軟件中仿真相關(guān)的硬件功能性。類似地,軟件應(yīng)用程序可通過對(duì) DirectSound (其是API的DirectX⑧套件內(nèi)的API)進(jìn)行函數(shù)調(diào)用來播放音頻信息。
各方所關(guān)心的是使此類應(yīng)用程序可供最終用戶(例如,發(fā)行商、零售商和服務(wù)提供 商)使用以基于一組動(dòng)態(tài)的"商務(wù)規(guī)則"來增加由這些應(yīng)用程序再現(xiàn)的一些圖形和音頻 信息。舉例來說,此類商務(wù)規(guī)則可用于在由視頻游戲再現(xiàn)的圖形元素上顯示廣告內(nèi)容, 或?qū)V告內(nèi)容插入在由視頻游戲播放的音頻流內(nèi)。理想的是,商務(wù)規(guī)則的動(dòng)態(tài)性質(zhì)將允 許其周期性變化。舉例來說,如果可在周期性基礎(chǔ)上改變所插入的廣告內(nèi)容,那么將是 有利的。
實(shí)現(xiàn)這種效果的一種可能方法是直接將商務(wù)規(guī)則嵌入在原始應(yīng)用程序邏輯或"源代 碼"中,并接著用那些商務(wù)規(guī)則來重新編譯所述應(yīng)用程序。然而,這種為適應(yīng)商務(wù)規(guī)則 而對(duì)應(yīng)用程序進(jìn)行編碼和重新編譯的技術(shù)可能并不是對(duì)所有軟件應(yīng)用程序都可用的。舉 例來說,希望插入商務(wù)規(guī)則的人可能無法獲得源代碼。作為另一實(shí)例,設(shè)法增強(qiáng)的應(yīng)用 程序可能已經(jīng)被部署在現(xiàn)場或由消費(fèi)者或其他人購買。
另一種實(shí)現(xiàn)將圖形內(nèi)容動(dòng)態(tài)插入到應(yīng)用程序中的方法是在應(yīng)用程序的軟件開發(fā)階 段期間將特殊的客戶端軟件集成到原始應(yīng)用程序邏輯中。當(dāng)執(zhí)行應(yīng)用程序時(shí),所述特殊 的客戶端軟件幫助應(yīng)用程序與服務(wù)器通信,所述服務(wù)器可基于一些預(yù)定義的商務(wù)規(guī)則而 在所述應(yīng)用程序中在已經(jīng)由應(yīng)用程序預(yù)先識(shí)別和登記的預(yù)分配空間中動(dòng)態(tài)插入圖形內(nèi) 容。然而,這種方法存在限制性,因?yàn)槠鋵⒅挥性谝韵虑闆r下才會(huì)奏效原始編程的應(yīng) 用程序包含必要的特殊客戶端軟件(其在開發(fā)時(shí)間期間介接)且己經(jīng)預(yù)先識(shí)別出可能出現(xiàn)動(dòng)態(tài)插入的圖形信息的區(qū)域。
于是需要一種用于動(dòng)態(tài)地增強(qiáng)計(jì)算裝置上執(zhí)行的應(yīng)用程序(例如視頻游戲)而不必 改變和重新編譯原始應(yīng)用程序代碼的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。動(dòng)態(tài)地增強(qiáng)應(yīng)用程 序應(yīng)包含以下能力動(dòng)態(tài)地修改由應(yīng)用程序在執(zhí)行期間產(chǎn)生的圖形和/或音頻信息;在應(yīng) 用程序執(zhí)行期間動(dòng)態(tài)地再現(xiàn)額外圖形和/或音頻信息;或執(zhí)行與正在執(zhí)行的應(yīng)用程序相關(guān) 的未由應(yīng)用程序的源代碼提供或調(diào)用的其它函數(shù)。
發(fā)明內(nèi)容
本發(fā)明提供一種用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序(例如視頻游戲)而 不必改變和重新編譯原始應(yīng)用程序代碼的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。在一個(gè)實(shí)施方 案中,動(dòng)態(tài)地增強(qiáng)應(yīng)用程序包含動(dòng)態(tài)地修改應(yīng)用程序在執(zhí)行期間產(chǎn)生的圖形和/或音頻信 息的能力。在另一實(shí)施方案中,動(dòng)態(tài)地增強(qiáng)應(yīng)用程序包含在應(yīng)用程序執(zhí)行期間動(dòng)態(tài)地再 現(xiàn)額外圖形和/或音頻內(nèi)容。在又一實(shí)施方案中,動(dòng)態(tài)地增強(qiáng)應(yīng)用程序包含執(zhí)行與正在執(zhí) 行的應(yīng)用程序相關(guān)的未由應(yīng)用程序的源代碼提供或調(diào)用的其它函數(shù)。
在一個(gè)實(shí)施方案中,根據(jù)本發(fā)明實(shí)施例的系統(tǒng)包含分級(jí)環(huán)境,其監(jiān)視所述應(yīng)用程序 的執(zhí)行并將應(yīng)用程序所產(chǎn)生的圖形和/或音頻信息的每個(gè)項(xiàng)目索引到第一數(shù)據(jù)庫中。系統(tǒng) 管理員或其他實(shí)體接著通過手動(dòng)或自動(dòng)手段向第二數(shù)據(jù)庫填充一個(gè)或一個(gè)以上商務(wù)規(guī) 則,其中每個(gè)商務(wù)規(guī)則與第一數(shù)據(jù)庫中所索引的項(xiàng)目中的一者或一者以上相關(guān)聯(lián)。所述 系統(tǒng)進(jìn)一步包含運(yùn)行時(shí)間環(huán)境,其在應(yīng)用程序在運(yùn)行時(shí)間期間產(chǎn)生圖形和/或視頻信息的 項(xiàng)目時(shí)識(shí)別所述項(xiàng)目,使用第二數(shù)據(jù)庫來確定所識(shí)別的項(xiàng)目是否與商務(wù)規(guī)則相關(guān)聯(lián),且 響應(yīng)于確定所識(shí)別的項(xiàng)目與商務(wù)規(guī)則相關(guān)聯(lián)而應(yīng)用商務(wù)規(guī)則。商務(wù)規(guī)則的應(yīng)用可能導(dǎo) 致修改由應(yīng)用程序在執(zhí)行期間產(chǎn)生的圖形和/或音頻信息;再現(xiàn)額外圖形和/或音頻信 息;或執(zhí)行與正在執(zhí)行的應(yīng)用程序相關(guān)的未由應(yīng)用程序的源代碼提供或調(diào)用的其它函 數(shù)。
下文中參看附圖詳細(xì)描述本發(fā)明的另外特征和優(yōu)點(diǎn)以及其各種實(shí)施例的結(jié)構(gòu)和操 作。應(yīng)注意,本發(fā)明并不限于本文中描述的具體實(shí)施例。本文中呈現(xiàn)此些實(shí)施例只是出 于說明目的。所屬領(lǐng)域的技術(shù)人員基于本文中含有的教示將容易明白額外的實(shí)施例。
附圖并入本文中并形成本說明書的一部分,其說明本發(fā)明并連同實(shí)施方式一起進(jìn)一 步用以解釋本發(fā)明的原理并使所屬領(lǐng)域的技術(shù)人員能夠制作和使用本發(fā)明。
圖1說明根據(jù)本發(fā)明實(shí)施例促進(jìn)動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的系統(tǒng)的物理組件。
圖2說明根據(jù)本發(fā)明實(shí)施例促進(jìn)動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的系統(tǒng)的軟 件組件。
圖3說明用于利用圖形庫的基于Microsoft Windows⑧的個(gè)人計(jì)算機(jī)的常規(guī)軟件結(jié)構(gòu)。
圖4說明根據(jù)本發(fā)明實(shí)施例包含仿真圖形和音頻庫的分級(jí)環(huán)境的軟件結(jié)構(gòu),所述分 級(jí)環(huán)境包括用于索引圖形和音頻對(duì)象的組件。
圖5說明根據(jù)本發(fā)明實(shí)施例包含仿真圖形和音頻庫的運(yùn)行時(shí)間環(huán)境的軟件結(jié)構(gòu),所 述運(yùn)行時(shí)間環(huán)境包括用于識(shí)別圖形和音頻對(duì)象且應(yīng)用與所識(shí)別的對(duì)象相關(guān)聯(lián)的商務(wù)規(guī) 則的組件。
圖6說明根據(jù)本發(fā)明實(shí)施例用于促進(jìn)動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的分級(jí) 環(huán)境中的方法的流程圖。
圖7說明根據(jù)本發(fā)明實(shí)施例用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的運(yùn)行時(shí) 間環(huán)境中的方法的流程圖。
圖8說明根據(jù)本發(fā)明實(shí)施例用于分配和/或接入軟件組件的網(wǎng)絡(luò)系統(tǒng)。
圖9說明根據(jù)本發(fā)明的運(yùn)行時(shí)間環(huán)境的實(shí)施方案,所述運(yùn)行時(shí)間環(huán)境包含用于捕獲 來自最終用戶裝置的輸入/輸出并基于所捕獲的函數(shù)調(diào)用和對(duì)于對(duì)象的可能識(shí)別來應(yīng)用 商務(wù)規(guī)則的功能性。
圖10說明根據(jù)本發(fā)明的運(yùn)行時(shí)間環(huán)境的實(shí)施方案,所述運(yùn)行時(shí)間環(huán)境包含事件檢 測功能性,其登錄和報(bào)告此類事件。
圖11描繪根據(jù)本發(fā)明的實(shí)施方案可用于實(shí)施計(jì)算裝置的實(shí)例性計(jì)算機(jī)系統(tǒng)。
結(jié)合附圖閱讀下文闡述的具體實(shí)施方式
將更加容易明白本發(fā)明的特征和優(yōu)點(diǎn),在附 圖中相同參考符號(hào)始終識(shí)別相應(yīng)元件。在附圖中,相同參考數(shù)字大體上指示完全相同的、 功能上相似的和/或結(jié)構(gòu)上相似的元件。通過相應(yīng)參考數(shù)字中最左邊的數(shù)字來指示首次出 現(xiàn)該元件的圖式。
具體實(shí)施例方式
I.用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的軟件應(yīng)用程序的系統(tǒng)
圖1說明根據(jù)本發(fā)明實(shí)施例促進(jìn)動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的示范性系 統(tǒng)100的硬件組件。如圖l所示,系統(tǒng)100包含分級(jí)環(huán)境102和運(yùn)行時(shí)間環(huán)境106兩者。 分級(jí)環(huán)境102執(zhí)行必須發(fā)生以促進(jìn)稍后將由運(yùn)行時(shí)間環(huán)境106執(zhí)行的操作的處理步驟。明確地說且如本文中將更詳細(xì)解釋的,分級(jí)環(huán)境102在例如視頻游戲等軟件應(yīng)用程序在 計(jì)算裝置上執(zhí)行期間監(jiān)視所述軟件應(yīng)用程序,識(shí)別由所述應(yīng)用程序產(chǎn)生的圖形和音頻對(duì) 象,并將這些對(duì)象中的每一者連同唯一識(shí)別符(ID) —起在圖形/音頻對(duì)象數(shù)據(jù)庫104 中索引。理想的是,這個(gè)過程只需要對(duì)每個(gè)軟件應(yīng)用程序執(zhí)行一次。
如本文中將更詳細(xì)描述的,在已經(jīng)由分級(jí)環(huán)境102填充圖形/音頻對(duì)象數(shù)據(jù)庫104 之后,系統(tǒng)管理員或其他實(shí)體接著以手動(dòng)或自動(dòng)手段用一組"商務(wù)規(guī)則"填充商務(wù)規(guī)則 數(shù)據(jù)庫108,其中數(shù)據(jù)庫108中的每個(gè)商務(wù)規(guī)則與在圖形/視頻對(duì)象數(shù)據(jù)庫104中索引的 對(duì)象的唯一 ID中的一者或一者以上相關(guān)聯(lián)。
運(yùn)行時(shí)間環(huán)境106表示最終用戶實(shí)際上運(yùn)行應(yīng)用程序軟件的環(huán)境。所述應(yīng)用程序與 在分級(jí)環(huán)境102中執(zhí)行的應(yīng)用程序"相同",因?yàn)槠涫潜举|(zhì)上同一計(jì)算機(jī)程序的另一拷 貝或?qū)嵗?,但其不需要完全相同。如本文中將更詳?xì)描述的,運(yùn)行時(shí)間環(huán)境106監(jiān)視應(yīng) 用程序在計(jì)算裝置上的執(zhí)行,且還識(shí)別應(yīng)用程序所產(chǎn)生的圖形和音頻對(duì)象。如果運(yùn)行時(shí) 間環(huán)境106確定應(yīng)用程序所產(chǎn)生的對(duì)象和商務(wù)規(guī)則數(shù)據(jù)庫108中的與以上提到的對(duì)象相 關(guān)聯(lián)的商務(wù)規(guī)則匹配,那么其應(yīng)用所述商務(wù)規(guī)則。舉例來說,所述商務(wù)規(guī)則可用于確定 是否在運(yùn)行時(shí)間中(即,在軟件應(yīng)用程序執(zhí)行期間)修改對(duì)象,但本文中還將描述其它 商務(wù)規(guī)則。
就硬件組件而言,分級(jí)環(huán)境102和運(yùn)行時(shí)間環(huán)境106中的每一者由經(jīng)配置以執(zhí)行產(chǎn) 生圖形和音頻信息的軟件應(yīng)用程序的計(jì)算裝置組成。每個(gè)計(jì)算裝置進(jìn)一步包含應(yīng)用程序 編程接口,用于再現(xiàn)和顯示應(yīng)用程序所產(chǎn)生的圖形信息,并用于回放應(yīng)用程序所產(chǎn)生的 音頻信息。為了方便起見,從此處開始,將把分級(jí)環(huán)境102和運(yùn)行時(shí)間環(huán)境106中的每 一者描述為包括基于個(gè)人計(jì)算機(jī)(PC)的計(jì)算機(jī)系統(tǒng),但本發(fā)明并不局限于此。舉例來 說,分級(jí)環(huán)境102和運(yùn)行時(shí)間環(huán)境106可每一者包括服務(wù)器、控制臺(tái)、個(gè)人數(shù)字助理 (PDA)或其它任何能夠執(zhí)行軟件應(yīng)用程序并向最終用戶顯示相關(guān)聯(lián)的由應(yīng)用程序產(chǎn)生 的圖形和音頻信息的計(jì)算裝置。
圖2說明系統(tǒng)100的軟件組件。如圖2所示,分級(jí)環(huán)境102包含應(yīng)用程序202、攔 截組件204、索引組件206和低級(jí)別圖形/音頻函數(shù)208。應(yīng)用程序202是在分級(jí)環(huán)境102 內(nèi)執(zhí)行的軟件應(yīng)用程序,例如視頻游戲。低級(jí)別圖形/音頻函數(shù)208是駐存在計(jì)算機(jī)系統(tǒng) 的存儲(chǔ)器中的軟件函數(shù),其可由應(yīng)用程序202存取并輔助應(yīng)用程序202再現(xiàn)由應(yīng)用程序 產(chǎn)生的圖形信息和播放由應(yīng)用程序產(chǎn)生的音頻信息。在實(shí)施例中,低級(jí)別圖形/音頻函數(shù) 208包括一個(gè)或一個(gè)以上位于例如DirectX⑧或OpenGL⑧等低級(jí)別應(yīng)用程序編程接口 (API)內(nèi)的函數(shù)。對(duì)應(yīng)用程序202進(jìn)行編程,以使得在執(zhí)行期間其對(duì)低級(jí)別圖形/音頻函數(shù)208進(jìn)行函 數(shù)調(diào)用。應(yīng)用程序202與低級(jí)別圖形/音頻函數(shù)208的交互在所屬領(lǐng)域中是眾所周知的。 然而,根據(jù)本發(fā)明的實(shí)施例,此類函數(shù)調(diào)用在被傳遞到低級(jí)別圖形/音頻函數(shù)208之前被 攔截組件204攔截并提供到索引組件206。攔截組件204和索引組件206是在執(zhí)行應(yīng)用 程序202之前安裝在分級(jí)環(huán)境102的計(jì)算機(jī)系統(tǒng)上的軟件組件。如本文中將更詳細(xì)描述 的,索引組件206識(shí)別與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形和音頻對(duì)象,并將所述對(duì)象中 的每一者連同唯一ID—起在圖形/音頻對(duì)象數(shù)據(jù)庫104中索引。
在本發(fā)明的實(shí)施方案中,攔截組件204包括相應(yīng)低級(jí)別圖形/音頻函數(shù)208的一個(gè)或 一個(gè)以上仿真版本。舉例來說,在低級(jí)別圖形/音頻函數(shù)208包含在圖形和音頻庫中(例 如在動(dòng)態(tài)鏈接庫或DLL中)的實(shí)施方案中,攔截組件204包括那些庫中的一者或一者 以上的仿真版本。這些仿真庫具有與其意圖替換的原始庫相同的名稱,使得其在運(yùn)行時(shí) 間鏈接到應(yīng)用程序202?,F(xiàn)在將參看圖3和圖4解釋通過仿真來攔截的特定實(shí)例。
圖3說明用于基于Microsoft Windows 的PC的常規(guī)軟件結(jié)構(gòu)300。如圖3所示, 軟件結(jié)構(gòu)300包含在PC上執(zhí)行的32位Microsoft Windows⑧應(yīng)用程序302。在執(zhí)行期 間,應(yīng)用程序302用眾所周知的方式對(duì)Direct3D⑧API 304進(jìn)行函數(shù)調(diào)用。如所屬領(lǐng)域 的技術(shù)人員將明白的,Direct3D⑧API304包括-一系列庫,所述庫駐存在PC存儲(chǔ)器中并 可由應(yīng)用程序302存取且包含可由應(yīng)用程序302調(diào)用以再現(xiàn)和顯示圖形信息的函數(shù)。響 應(yīng)于從應(yīng)用程序302接收到函數(shù)調(diào)用,Direct3D⑧API 304確定是否可由PC內(nèi)的圖形硬 件308執(zhí)行此類函數(shù)。如果是的話,Direct3D API 304向圖形硬件308的裝置驅(qū)動(dòng)器接 口 (DDI) 306發(fā)布命令。DDI 306接著處理所述命令以供圖形硬件308處理。
與圖3中說明的常規(guī)軟件結(jié)構(gòu)形成對(duì)比,圖4說明根據(jù)本發(fā)明實(shí)施例的包含仿真圖 形和音頻庫的軟件結(jié)構(gòu)。如圖4所示,已經(jīng)將攔截組件204插入在應(yīng)用程序302與 Direct3D API 304之間。這可通過仿真Direct3D API 304內(nèi)的一個(gè)或一個(gè)以上圖形或 音頻庫來實(shí)現(xiàn)。結(jié)果,由攔截組件204而不是Direct3D API 304接收應(yīng)用程序302所 產(chǎn)生的特定函數(shù)調(diào)用。攔截組件204向索引組件206提供所攔截的函數(shù)調(diào)用或與所攔截 的函數(shù)調(diào)用相關(guān)聯(lián)的圖形和音頻對(duì)象。攔截組件204還通過對(duì)Direct3D⑧API 304進(jìn)行 調(diào)用而將函數(shù)調(diào)用傳遞到所述API,在所述API處以常規(guī)方式處理所述函數(shù)調(diào)用。然而 應(yīng)注意,無需為了實(shí)踐本發(fā)明而必須將函數(shù)調(diào)用傳遞到Direct3D API 304。
依據(jù)操作系統(tǒng)而定,可用各種方式來實(shí)現(xiàn)對(duì)真實(shí)圖形API的仿真。 一種用于對(duì)真實(shí) 圖形API進(jìn)行仿真的方法是文件替換。舉例來說,由于DirectX⑧和OpenGL⑧兩者是從 文件中動(dòng)態(tài)加載的,所以可簡單地通過替換相關(guān)文件(OpenGl^)的OpenGL.dll和DirectX⑧的d3dX.dll,其中X是DirectX⑧版本)來實(shí)現(xiàn)仿真。或者,可用具有類似接口 的存根DLL來替換所述DLL,所述存根DLL實(shí)施對(duì)除掛鉤函數(shù)之外的所有函數(shù)的原始 DLL的傳遞調(diào)用。
另一種可使用的方法是使用華盛頓州雷蒙德市的Microsoft⑧公布的Detours掛鉤庫 來攔截或"掛鉤"對(duì)API的函數(shù)調(diào)用。也可在內(nèi)核級(jí)別處實(shí)施掛鉤。內(nèi)核掛鉤可包含使 用操作系統(tǒng)(OS)準(zhǔn)備就緒的掛鉤來啟用用于正被調(diào)用的API的通知例行程序。另一種 技術(shù)是通過將OS API表中的指針改變成掛鉤例行程序指針從而在執(zhí)行掛鉤邏輯之前和/ 或之后將調(diào)用鏈接到原始OS例行程序來替換OS例行程序。另一種可能方法是基于API 的掛鉤技術(shù),其通過設(shè)置系統(tǒng)全局掛鉤或通過設(shè)置注冊(cè)密鑰以加載此DLL來執(zhí)行將DLL 注入到任何正被加載的過程。進(jìn)行此注入只是為了使掛鉤函數(shù)在過程地址空間中運(yùn)行。 盡管OS加載此DLL,但DLL初始化代碼會(huì)改變所需的DLL調(diào)遣表。改變所述表會(huì)致 使指向原始API實(shí)施方案的指針指向DLL實(shí)施方案(只針對(duì)所需的API)并因此掛鉤 API。舉例來說,在http:〃www.codeguru.com/svstem/at)ihook.html網(wǎng)頁處描述了掛鉤技術(shù)。 請(qǐng)注意,上述掛鉤技術(shù)只是以舉例方式提供,而并不意圖將本發(fā)明限制于這些技術(shù)中的 任何一者。所屬領(lǐng)域的技術(shù)人員己知其它用于攔截對(duì)圖形或音頻API的函數(shù)調(diào)用的工具 和方法。
如圖2中進(jìn)一步展示的,運(yùn)行時(shí)間環(huán)境106包含應(yīng)用程序210、攔截組件212、商 務(wù)規(guī)則214和低級(jí)別圖形/音頻函數(shù)216。應(yīng)用程序210與分級(jí)環(huán)境102的應(yīng)用程序202 "相同",因?yàn)槠涫潜举|(zhì)上同一計(jì)算機(jī)程序的另一拷貝或?qū)嵗洳恍枰耆嗤?。?級(jí)別圖形/音頻函數(shù)216是駐存在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中的軟件函數(shù),其可由應(yīng)用程序 210存取并輔助應(yīng)用程序210再現(xiàn)由應(yīng)用程序產(chǎn)生的圖形信息和播放由應(yīng)用程序產(chǎn)生的 音頻信息。低級(jí)別圖形/音頻函數(shù)208和216在其通過相似API分別向應(yīng)用程序202和 應(yīng)用程序210提供相同功能性和服務(wù)的意義上是相似的。
當(dāng)在運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)上執(zhí)行期間,應(yīng)用程序210用與應(yīng)用程序202 在分級(jí)環(huán)境102中對(duì)低級(jí)別圖形/音頻函數(shù)208進(jìn)行函數(shù)調(diào)用相同的眾所周知的方式對(duì)低 級(jí)別圖形/音頻函數(shù)216進(jìn)行函數(shù)調(diào)用。然而,根據(jù)本發(fā)明的實(shí)施例,此類函數(shù)調(diào)用被攔 截組件212攔截,所述攔截組件212將函數(shù)調(diào)用繼續(xù)傳遞到低級(jí)別圖形/音頻函數(shù)216, 繼續(xù)傳遞到商務(wù)邏輯214,或繼續(xù)傳遞到所述兩者。攔截組件212和商務(wù)邏輯214是在 應(yīng)用程序210執(zhí)行之前安裝在運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)上的軟件組件。
當(dāng)攔截組件212攔截函數(shù)調(diào)用時(shí),其將控制連同相關(guān)對(duì)象一起傳遞到商務(wù)邏輯214, 所述商務(wù)邏輯214確定所述對(duì)象是否與數(shù)據(jù)庫108中的一個(gè)或一個(gè)以上商務(wù)規(guī)則相關(guān)聯(lián)。如果所述對(duì)象與數(shù)據(jù)庫108中的商務(wù)規(guī)則相關(guān)聯(lián),那么商務(wù)邏輯214應(yīng)用商務(wù)規(guī)則。
在一個(gè)實(shí)施方案中,在運(yùn)行時(shí)間期間應(yīng)用商務(wù)規(guī)則導(dǎo)致修改對(duì)象(其可包含光源、 視點(diǎn)、紋理或陰影)。如果將不會(huì)發(fā)生任何修改,那么簡單地將所攔截的函數(shù)調(diào)用繼續(xù) 傳遞到低級(jí)別圖形/音頻函數(shù)216。如果將發(fā)生修改,那么可由商務(wù)邏輯214單獨(dú)或由商 務(wù)邏輯214結(jié)合低級(jí)別圖形/音頻函數(shù)216來處理函數(shù)調(diào)用。如本文中將更詳細(xì)描述的, 修改對(duì)象可包含更改對(duì)象的一部分、用不同對(duì)象來替換對(duì)象,或僅僅是不再現(xiàn)或回放所 述對(duì)象。本文中還將描述其它商務(wù)規(guī)則的應(yīng)用。
圖5說明借助于仿真來實(shí)施攔截組件212的運(yùn)行時(shí)間環(huán)境106的實(shí)例性軟件結(jié)構(gòu)。 如圖5所示,攔截組件212已經(jīng)被插入在Windows應(yīng)用程序302與Direct3D⑧API 304 之間。與上文參看圖4描述的軟件結(jié)構(gòu)一樣,這通過仿真Direct3D⑧API 304內(nèi)的一個(gè) 或一個(gè)以上圖形或音頻庫來實(shí)現(xiàn)。結(jié)果,由攔截組件212而不是Direct3D⑧API 304來 接收應(yīng)用程序302所產(chǎn)生的某些函數(shù)調(diào)用。還如圖5所示,在實(shí)施方案中,攔截組件212 和商務(wù)邏輯214兩者可對(duì)Direct3D API 304進(jìn)行函數(shù)調(diào)用,且商務(wù)邏輯214可直接向 DDI 506發(fā)送命令。商務(wù)邏輯214是否具有此能力取決于所應(yīng)用的商務(wù)規(guī)則的性質(zhì)。
在一個(gè)實(shí)施方案中,在分級(jí)環(huán)境102的計(jì)算機(jī)系統(tǒng)的本地存儲(chǔ)器中創(chuàng)建或填充圖形 /音頻對(duì)象數(shù)據(jù)庫104。系統(tǒng)管理員或其他實(shí)體接著通過手動(dòng)或自動(dòng)手段用一個(gè)或一個(gè)以 上商務(wù)規(guī)則來填充商務(wù)規(guī)則數(shù)據(jù)庫108,其中每個(gè)商務(wù)規(guī)則與第一數(shù)據(jù)庫中索引的對(duì)象 中的一者或一者以上相關(guān)聯(lián)。通過在商務(wù)規(guī)則與數(shù)據(jù)庫108中的對(duì)象的唯一 ID之間形 成關(guān)系來創(chuàng)建商務(wù)規(guī)則與對(duì)象之間的關(guān)聯(lián)。在一個(gè)實(shí)施方案中,"通配符"方案用來準(zhǔn) 許將單個(gè)商務(wù)規(guī)則與一組邏輯上有關(guān)的對(duì)象相關(guān)聯(lián)。
一般來說,商務(wù)規(guī)則是當(dāng)在應(yīng)用程序210的上下文內(nèi)應(yīng)用時(shí)致使應(yīng)用程序210執(zhí)行 未在原始應(yīng)用程序源代碼中提供的函數(shù)的任何邏輯。如上文指出的,商務(wù)規(guī)則可要求對(duì) 與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形對(duì)象進(jìn)行修改,使得圖形對(duì)象在被再現(xiàn)時(shí)看起來不同 于其在未經(jīng)修改時(shí)將展現(xiàn)的。舉例來說,商務(wù)規(guī)則可致使將廣告內(nèi)容動(dòng)態(tài)地插入到圖形 對(duì)象中。下文在IV章節(jié)中闡述商務(wù)規(guī)則及其應(yīng)用的另外實(shí)例。然而,提供這些實(shí)例只 是用于說明目的,而并不意圖限制本發(fā)明。
因?yàn)榭稍谌魏螘r(shí)候由系統(tǒng)管理員或其他實(shí)體來改變商務(wù)規(guī)則,所以所述商務(wù)規(guī)則提 供用以增強(qiáng)應(yīng)用程序210的動(dòng)態(tài)機(jī)制。舉例來說,商務(wù)規(guī)則提供用以增加由所述應(yīng)用程 序產(chǎn)生的圖形和音頻內(nèi)容的動(dòng)態(tài)機(jī)制。
在一個(gè)實(shí)施方案中, 一旦已經(jīng)由系統(tǒng)管理員或其他實(shí)體創(chuàng)建或更新商務(wù)規(guī)則數(shù)據(jù)庫 108,便將數(shù)據(jù)庫108的拷貝傳送到運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)的本地存儲(chǔ)器。可通過以下方式來發(fā)生傳送將數(shù)據(jù)庫108的拷貝傳送到可記錄的計(jì)算機(jī)可用媒體(例如 磁盤或光盤),并接著將計(jì)算機(jī)可用媒體傳送到運(yùn)行時(shí)間環(huán)境106?;蛘?,可經(jīng)由數(shù)據(jù)通 信網(wǎng)絡(luò)(例如局域和/或廣域數(shù)據(jù)通信網(wǎng)絡(luò))來傳送數(shù)據(jù)庫108的拷貝。在又一實(shí)施方案 中,根本不將數(shù)據(jù)庫108傳送到運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)的本地存儲(chǔ)器,而是改 為將其存儲(chǔ)在計(jì)算網(wǎng)絡(luò)中的中心位置處,在此處多個(gè)運(yùn)行時(shí)間環(huán)境106可使用眾所周知 的網(wǎng)絡(luò)接入?yún)f(xié)議來存取所述數(shù)據(jù)庫108。然而,這些實(shí)例并不意圖是限制性的,且所屬 領(lǐng)域的技術(shù)人員將明白,各種各樣的方法可用來使數(shù)據(jù)庫108可供運(yùn)行時(shí)間環(huán)境106使 用。
II.用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的軟件應(yīng)用程序的方法
圖6說明根據(jù)本發(fā)明實(shí)施例的用于促進(jìn)動(dòng)態(tài)增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的方 法的流程圖600。圖6本質(zhì)上描述由分級(jí)環(huán)境102相對(duì)于處理由單個(gè)軟件應(yīng)用程序產(chǎn)生 的單個(gè)圖形或音頻函數(shù)調(diào)用而進(jìn)行的處理步驟。所屬領(lǐng)域的技術(shù)人員將容易明白,軟件 應(yīng)用程序?qū)⒑芸赡墚a(chǎn)生許多此類函數(shù)調(diào)用,且因此流程圖600的方法將很可能在軟件應(yīng) 用程序執(zhí)行期間被進(jìn)行許多次?,F(xiàn)在將繼續(xù)參看圖2中說明并在上文中參看該圖描述的 某些軟件組件來部分地描述所述方法。然而,所屬領(lǐng)域的技術(shù)人員將明白,流程圖600 的方法并不局限于所述實(shí)施方案。
以下對(duì)流程圖600的方法的描述假設(shè)分級(jí)環(huán)境102的軟件組件中的每一者已經(jīng)安裝 在計(jì)算機(jī)系統(tǒng)上。所述方法還假設(shè)軟件應(yīng)用程序202正在計(jì)算機(jī)系統(tǒng)上執(zhí)行。執(zhí)行軟件 應(yīng)用程序202包含啟動(dòng)應(yīng)用程序和用致使應(yīng)用程序產(chǎn)生圖形和/或音頻信息的方式通過 一個(gè)或一個(gè)以上用戶接口與所述應(yīng)用程序交互兩者。舉例來說,如果應(yīng)用程序202是視 頻游戲,那么執(zhí)行所述應(yīng)用程序包含啟動(dòng)視頻游戲和使用適當(dāng)?shù)挠脩糨斎?輸出(I/O) 裝置來玩所述視頻游戲的至少一部分兩者。
所述方法在步驟602處開始,其中軟件應(yīng)用程序202產(chǎn)生針對(duì)低級(jí)別圖形/音頻函數(shù) 208的函數(shù)調(diào)用。在步驟604處,確定所述函數(shù)調(diào)用是否被攔截組件204攔截。如果未 發(fā)生攔截,那么處理前進(jìn)到步驟610,其中由低級(jí)別圖形/音頻函數(shù)208用常規(guī)方式來處 理函數(shù)調(diào)用。接著函數(shù)調(diào)用的處理結(jié)束,如步驟612處指示。然而,如果函數(shù)調(diào)用己經(jīng) 被攔截,那么處理改為前進(jìn)到步驟606。
在步驟606處,攔截組件204識(shí)別與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象。 圖形對(duì)象可包括模型、紋理、圖像、參數(shù)或其它任何離散組與所攔截的函數(shù)調(diào)用相關(guān)聯(lián) 且用于代表應(yīng)用程序202來再現(xiàn)圖形信息的信息或數(shù)據(jù)。音頻對(duì)象可包括音頻文件、數(shù) 字聲波或其它任何離散組與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)且用于代表應(yīng)用程序202來回放音頻信息的信息或數(shù)據(jù)。圖形或音頻對(duì)象可以是函數(shù)調(diào)用自身的一部分或可由函數(shù)調(diào)用處 理或指向。舉例來說,如果所攔截的函數(shù)調(diào)用是對(duì)Direct3D⑧API的"設(shè)置紋理"函數(shù) 調(diào)用,那么相關(guān)聯(lián)的圖形對(duì)象可由"設(shè)置紋理"函數(shù)調(diào)用所指向的紋理組成。
在步驟608處,索引組件206索引圖形/音頻對(duì)象數(shù)據(jù)庫104中的在步驟606中識(shí)別 的圖形或音頻對(duì)象。在一個(gè)實(shí)施方案中,索引對(duì)象包含將對(duì)象或其一部分連同所述對(duì)象 的唯一識(shí)別符(ID) —起存儲(chǔ)在圖形/音頻對(duì)象數(shù)據(jù)庫104中??扇我庵概晌ㄒ?ID,或 可基于對(duì)象本身中所含有的信息來計(jì)算唯一ID。舉例來說,在實(shí)施方案中,唯一ID包 括錯(cuò)誤校正碼,例如循環(huán)冗余碼(CRC),其是基于圖形或音頻對(duì)象的全部或部分內(nèi)容 來計(jì)算的。在替代實(shí)施方案中,將加密和/或散列算法應(yīng)用于圖形或音頻對(duì)象的全部或部 分內(nèi)容以產(chǎn)生唯一ID。舉例來說,唯一ID可以是基于圖形或音頻對(duì)象的全部或部分內(nèi) 容而計(jì)算的MD5散列簽名。在運(yùn)行時(shí)間環(huán)境106中實(shí)現(xiàn)基于對(duì)象自身的內(nèi)容來產(chǎn)生唯 一ID的益處,其中唯一ID而不是對(duì)象本身(其可能相當(dāng)大)可用來在商務(wù)規(guī)則數(shù)據(jù)庫 108中搜索匹配。在本發(fā)明的一個(gè)實(shí)施方案中,僅將唯一ID存儲(chǔ)在商務(wù)規(guī)則數(shù)據(jù)庫108 中以代表潛在的圖形或音頻對(duì)象。結(jié)果,可實(shí)質(zhì)上降低對(duì)商務(wù)規(guī)則數(shù)據(jù)庫108的存儲(chǔ)要 求。
在一個(gè)實(shí)施方案中,唯一 ID不是作為流程圖600的方法的一部分來計(jì)算,而是由 在方法完成之后當(dāng)圖形/音頻對(duì)象數(shù)據(jù)庫104中已經(jīng)充滿圖形和音頻對(duì)象時(shí)發(fā)生的單獨(dú) 過程來計(jì)算。
在步驟610處,當(dāng)索引完成后,接著將函數(shù)調(diào)用傳遞到低級(jí)別圖形/音頻函數(shù)208, 在此處用常規(guī)方式來處理函數(shù)調(diào)用。此后,函數(shù)調(diào)用的處理結(jié)束,如步驟612處指示。
如上所述,流程圖600的方法將很可能在執(zhí)行分級(jí)環(huán)境102內(nèi)的軟件應(yīng)用程序期間 執(zhí)行許多次。此外,所述方法可應(yīng)用于多個(gè)軟件應(yīng)用程序的執(zhí)行,以便從其中索引圖形 和音頻對(duì)象??蓪⒂糜诙鄠€(gè)應(yīng)用程序的經(jīng)索引的圖形和音頻對(duì)象存儲(chǔ)在單個(gè)圖形/音頻對(duì) 象數(shù)據(jù)庫104中或多個(gè)數(shù)據(jù)庫104中。這些數(shù)據(jù)庫中的每一者接著可用來填充一個(gè)或一 個(gè)以上商務(wù)規(guī)則數(shù)據(jù)庫108,提供所述商務(wù)規(guī)則數(shù)據(jù)庫108以用于一個(gè)或一個(gè)以上運(yùn)行 時(shí)間環(huán)境106。
圖7說明根據(jù)本發(fā)明實(shí)施例的用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的應(yīng)用程序的方法 的流程圖700。圖7本質(zhì)上描述由運(yùn)行時(shí)間環(huán)境106相對(duì)于處理由單個(gè)軟件應(yīng)用程序產(chǎn) 生的單個(gè)圖形或音頻函數(shù)調(diào)用而進(jìn)行的處理步驟。所屬領(lǐng)域的技術(shù)人員將容易明白,軟 件應(yīng)用程序?qū)⒑芸赡墚a(chǎn)生許多此類函數(shù)調(diào)用,且因此流程圖700的方法將很可能在軟件 應(yīng)用程序執(zhí)行期間進(jìn)行許多次?,F(xiàn)在將繼續(xù)參看圖2中說明并在上文中參看該圖描述的某些軟件組件來部分地描述所述方法。然而,所屬領(lǐng)域的技術(shù)人員將明白,流程圖700 的方法并不局限于所述實(shí)施方案。
以下對(duì)流程圖700的方法的描述假設(shè)運(yùn)行時(shí)間環(huán)境106的軟件組件中的每一者已經(jīng) 安裝在計(jì)算機(jī)系統(tǒng)上。所述方法還假設(shè)軟件應(yīng)用程序210正在計(jì)算機(jī)系統(tǒng)上執(zhí)行。執(zhí)行 軟件應(yīng)用程序210包含啟動(dòng)應(yīng)用程序和用致使應(yīng)用程序產(chǎn)生圖形和/或音頻信息的方式 通過一個(gè)或一個(gè)以上用戶接口與所述應(yīng)用程序交互兩者。
所述方法在步驟702處開始,其中軟件應(yīng)用程序210產(chǎn)生針對(duì)低級(jí)別圖形/音頻函數(shù) 216的函數(shù)調(diào)用。在步驟704處,確定函數(shù)調(diào)用是否被攔截組件攔截。如果未發(fā)生攔截, 那么處理前進(jìn)到步驟712,其中由低級(jí)別圖形/音頻函數(shù)216用常規(guī)方式來處理所述函數(shù) 調(diào)用。接著函數(shù)調(diào)用的處理結(jié)束,如在步驟714處指示。然而,如果函數(shù)調(diào)用已經(jīng)被攔 截,那么處理改為前進(jìn)到步驟706。
在步驟706處,攔截組件212識(shí)別與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象。 如上所述,圖形對(duì)象可包括模型、紋理、圖像、參數(shù)或其它任何離散組與所攔截的函數(shù) 調(diào)用相關(guān)聯(lián)的圖形信息,且音頻對(duì)象可包括音頻文件、數(shù)字聲波或其它任何離散組與所 攔截的函數(shù)調(diào)用相關(guān)聯(lián)的音頻信息。圖形或音頻對(duì)象可以是函數(shù)調(diào)用自身的一部分或可 由函數(shù)調(diào)用處理或指向。舉例來說,如果所攔截的函數(shù)調(diào)用是對(duì)Direct3D⑧API的"設(shè) 置紋理"函數(shù)調(diào)用,那么相關(guān)聯(lián)的圖形對(duì)象可由"設(shè)置紋理"函數(shù)調(diào)用所指向的紋理組 成。
在步驟708處,商務(wù)邏輯214確定所識(shí)別的對(duì)象是否與商務(wù)規(guī)則數(shù)據(jù)庫108中的至 少一個(gè)商務(wù)規(guī)則相關(guān)聯(lián)。這個(gè)步驟可包含將所識(shí)別的對(duì)象或其一部分與數(shù)據(jù)庫108中所 存儲(chǔ)的圖形或音頻對(duì)象或其一部分進(jìn)行比較?;蛘?,這個(gè)步驟可包含為所識(shí)別的對(duì)象計(jì) 算唯一 ID且接著將所識(shí)別的對(duì)象的唯一 ID與數(shù)據(jù)庫108中所存儲(chǔ)的一組唯一 ID進(jìn)行 比較。舉例來說,如上文參看圖6所述,唯一 ID可包括基于所識(shí)別的對(duì)象的全部或部 分內(nèi)容而計(jì)算的錯(cuò)誤校正碼(例如CRC),或通過向所識(shí)別的對(duì)象的全部或部分內(nèi)容應(yīng) 用加密和/或散列算法而導(dǎo)出的簽名(例如MD5散列簽名)。應(yīng)注意,可根據(jù)本發(fā)明使用 "通配符"或其它對(duì)象邏輯分組來將商務(wù)規(guī)則與多個(gè)對(duì)象相關(guān)聯(lián)。舉例來說,商務(wù)規(guī)則 數(shù)據(jù)庫108可包含將應(yīng)用于由全面匹配表達(dá)式識(shí)別的所有對(duì)象。
如果所識(shí)別的對(duì)象不與數(shù)據(jù)庫108中的至少一個(gè)商務(wù)規(guī)則相關(guān)聯(lián),那么處理前進(jìn)到 步驟712,其中低級(jí)別圖形/音頻函數(shù)216用常規(guī)方式處理函數(shù)調(diào)用。
然而,如果所識(shí)別的對(duì)象與數(shù)據(jù)庫108中的至少一個(gè)商務(wù)規(guī)則相關(guān)聯(lián),那么商務(wù)邏 輯214應(yīng)用所述至少一個(gè)商務(wù)規(guī)則,如在步驟710處所示。在一個(gè)實(shí)施方案中,應(yīng)用商務(wù)規(guī)則導(dǎo)致修改所識(shí)別的對(duì)象。此修改可包含用不同對(duì)象替換所識(shí)別的對(duì)象、改變所識(shí) 別的對(duì)象的內(nèi)容、或僅僅是根本不再現(xiàn)或播放所識(shí)別的對(duì)象。然而,本發(fā)明不限于僅僅 修改對(duì)象。舉例來說,商務(wù)規(guī)則可包含在再現(xiàn)或播放所述對(duì)象之前再現(xiàn)或播放另一對(duì)象, 或者在再現(xiàn)或播放所述對(duì)象之后再現(xiàn)或播放另一對(duì)象。請(qǐng)注意,因?yàn)樯虅?wù)規(guī)則的應(yīng)用可 包含再現(xiàn)或播放對(duì)象,所以此應(yīng)用可包含對(duì)低級(jí)別圖形/音頻函數(shù)216進(jìn)行一次或一次以 上函數(shù)調(diào)用。
實(shí)際上,商務(wù)規(guī)則無需包含再現(xiàn)任何圖形信息或播放任何音頻信息。而是,商務(wù)規(guī) 則可簡單地由以下內(nèi)容組成響應(yīng)于攔截組件212識(shí)別出某一圖形或音頻對(duì)象而在軟件 應(yīng)用程序210的上下文內(nèi)執(zhí)行某種活動(dòng)。舉例來說,商務(wù)規(guī)則可包含將與用戶輸入裝置 相關(guān)聯(lián)的指針移動(dòng)到顯示屏幕的預(yù)定義區(qū)域(可用于在射擊游戲中自動(dòng)瞄準(zhǔn)或用于在屏 幕上游戲菜單內(nèi)自動(dòng)定向)、產(chǎn)生密鑰序列(例如輸入"作弊碼")、記錄和/或報(bào)告用戶 在軟件應(yīng)用程序內(nèi)的進(jìn)展或其它活動(dòng)。這些事件中的每一者均可在由原始非仿真低級(jí)別 圖形或音頻庫再現(xiàn)或播放與所攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象之前、作為其替 代或在其之后執(zhí)行。
在步驟710處應(yīng)用了一個(gè)或一個(gè)以上商務(wù)規(guī)則之后,函數(shù)調(diào)用的處理即告結(jié)束,如 在步驟712處所示。
III.向運(yùn)行時(shí)間環(huán)境分配/安裝軟件組件
如上所述,本發(fā)明的實(shí)施例促進(jìn)向在計(jì)算裝置上執(zhí)行的軟件應(yīng)用程序應(yīng)用商務(wù)規(guī) 則,進(jìn)而準(zhǔn)許用不需要修改和重新編譯原始應(yīng)用程序代碼的動(dòng)態(tài)方式來增強(qiáng)應(yīng)用程序。 此外,因?yàn)榭墒褂梅抡鎺煸谶\(yùn)行時(shí)間環(huán)境106中實(shí)施本發(fā)明的實(shí)施例,所以所述操作可 對(duì)于最終用戶來說本質(zhì)上是透明的。實(shí)際上,除了在運(yùn)行時(shí)間環(huán)境106中安裝必要的軟 件組件(即,攔截組件212、商務(wù)邏輯214和可選的商務(wù)規(guī)則數(shù)據(jù)庫108)以外,最終 用戶無需采取任何前攝性步驟來將軟件應(yīng)用程序與外部軟件組件鏈接或介接。
可通過各種方式來實(shí)現(xiàn)對(duì)最終用戶的計(jì)算裝置分配必要的軟件組件。舉例來說,軟 件組件可經(jīng)由例如因特網(wǎng)等數(shù)據(jù)通信網(wǎng)絡(luò)從集中式實(shí)體分配到許多運(yùn)行時(shí)間環(huán)境。圖8 中說明此系統(tǒng),其中集中式網(wǎng)絡(luò)實(shí)體802經(jīng)展示為經(jīng)由數(shù)據(jù)通信網(wǎng)絡(luò)804與多個(gè)用戶運(yùn) 行時(shí)間環(huán)境106a、 106b和106c通信。通過將此基于網(wǎng)絡(luò)的分配與自動(dòng)安裝軟件組合, 可用有利地需要最少的最終用戶干涉的方式來實(shí)現(xiàn)將此類組件安裝在最終用戶的計(jì)算 裝置上。此外,由于最終用戶機(jī)器上只需要運(yùn)行時(shí)間組件的單個(gè)拷貝,所以可將這些組 件與一個(gè)或一個(gè)以上應(yīng)用程序210捆綁。
在本發(fā)明的實(shí)施方案中,商務(wù)規(guī)則自身在實(shí)體(例如,發(fā)行商、零售商或服務(wù)提供商)可周期性對(duì)其進(jìn)行改變以用不同方式增強(qiáng)給定應(yīng)用程序的意義上是動(dòng)態(tài)的??赏ㄟ^ 對(duì)商務(wù)規(guī)則數(shù)據(jù)庫108進(jìn)行修改來改變或添加商務(wù)規(guī)則??墒褂美鐖D8所示的網(wǎng)絡(luò)系 統(tǒng)經(jīng)由數(shù)據(jù)通信網(wǎng)絡(luò)將商務(wù)規(guī)則數(shù)據(jù)庫108的拷貝或?qū)ζ涞母聫募惺骄W(wǎng)絡(luò)實(shí)體分配 到多個(gè)運(yùn)行時(shí)間環(huán)境106。
在替代的實(shí)施方案中,根本沒有將商務(wù)規(guī)則數(shù)據(jù)庫108的拷貝分配到運(yùn)行時(shí)間環(huán)境 106,而是改為商務(wù)規(guī)則數(shù)據(jù)庫108相對(duì)于運(yùn)行時(shí)間環(huán)境106駐存在遠(yuǎn)端,且只有在需 要時(shí)才經(jīng)由例如因特網(wǎng)等數(shù)據(jù)通信網(wǎng)絡(luò)來存取。舉例來說,商務(wù)邏輯規(guī)則數(shù)據(jù)庫108可 駐存在例如服務(wù)器等集中式網(wǎng)絡(luò)實(shí)體上,在此處由與多個(gè)運(yùn)行時(shí)間環(huán)境106相關(guān)聯(lián)的計(jì) 算裝置來存取所述數(shù)據(jù)庫。同樣,在圖8中說明此網(wǎng)絡(luò)配置。此實(shí)施方案是有利的,因 為只需要在中央服務(wù)器處實(shí)施一次對(duì)商務(wù)規(guī)則的改變,且不需要活躍地將所述改變分配 到多個(gè)運(yùn)行時(shí)間環(huán)境106。
在攔截組件212包括一個(gè)或一個(gè)以上仿真庫的實(shí)施方案中,可在安裝攔截組件212 期間或在應(yīng)用程序運(yùn)行時(shí)間時(shí)做出關(guān)于應(yīng)仿真哪些庫的確定。因此,可針對(duì)待動(dòng)態(tài)增強(qiáng) 的每個(gè)軟件應(yīng)用程序來仿真不同組的庫??筛鶕?jù)某些外部提供的元數(shù)據(jù)基于待動(dòng)態(tài)增強(qiáng) 的軟件應(yīng)用程序的特征來作出所述確定,或者可通過一種手段或其它手段從分級(jí)環(huán)境供 應(yīng)所述確定。
IV.本發(fā)明的實(shí)例性應(yīng)用
現(xiàn)在將描述本發(fā)明的一些示范性應(yīng)用。提供這些實(shí)例僅用于說明目的,且并不意圖 用任何方式來限制本發(fā)明。 A.嵌入游戲內(nèi)廣告
本發(fā)明的實(shí)施方案促進(jìn)在游戲中嵌入游戲內(nèi)廣告,所述游戲原本未經(jīng)設(shè)計(jì)以支持此 特征。根據(jù)此實(shí)施方案,分級(jí)環(huán)境102操作以在圖形/音頻對(duì)象數(shù)據(jù)庫104中索引與游戲 有關(guān)的表面的紋理,例如賽車游戲中的汽車的車頭蓋。系統(tǒng)管理員接著定義用以用與廣 告宣傳的產(chǎn)品相關(guān)聯(lián)的標(biāo)志覆蓋汽車的車頭蓋的商務(wù)規(guī)則。在商務(wù)規(guī)則數(shù)據(jù)庫108中捕 獲所述商務(wù)規(guī)則,在此處其與汽車的車頭蓋的紋理相關(guān)聯(lián)。在運(yùn)行時(shí)間環(huán)境106中,攔 截組件212在存取紋理以供在最終用戶的計(jì)算機(jī)上再現(xiàn)時(shí)識(shí)別所述紋理,且商務(wù)邏輯214 將其與數(shù)據(jù)庫108中所存儲(chǔ)的商務(wù)規(guī)則匹配。結(jié)果,應(yīng)用所述商務(wù)規(guī)則以增加用于汽車 車頭蓋的帶有產(chǎn)品標(biāo)志的紋理圖像,并將經(jīng)過操縱的圖像再現(xiàn)到屏幕上。最終結(jié)果是將 在與游戲相關(guān)聯(lián)的圖形顯示器"內(nèi)部"的汽車車頭蓋上顯示產(chǎn)品標(biāo)志。
基于本文中提供的教示,所屬領(lǐng)域的技術(shù)人員將明白,本發(fā)明同樣適用于在游戲的 上下文內(nèi)所播放的音頻對(duì)象內(nèi)插入音頻廣告內(nèi)容。此外,本發(fā)明還適用于再現(xiàn)與任何特定攔截對(duì)象無關(guān)且獨(dú)立于所述對(duì)象再現(xiàn)或播放的圖形和音頻廣告內(nèi)容。
在本發(fā)明的另一實(shí)施例中,運(yùn)行時(shí)間環(huán)境106進(jìn)一步包含用于捕獲來自例如鍵盤或 鼠標(biāo)等最終用戶裝置的輸入/輸出(I/O)的邏輯。圖9中展示用于此實(shí)施例的軟件組件。 明確地說,如圖9所示,運(yùn)行時(shí)間環(huán)境106的軟件組件包含應(yīng)用程序910、低級(jí)別圖形/ 音頻函數(shù)916和"插入"在它們之間的與商務(wù)邏輯914通信的攔截組件912,這類似于 圖2所示的軟件結(jié)構(gòu)。然而,在圖9所示的實(shí)施方案中,已經(jīng)提供額外I/O捕獲組件918, 其允許商務(wù)邏輯914監(jiān)視與使用例如鍵盤或鼠標(biāo)等用戶輸入裝置相關(guān)聯(lián)的事件。在一個(gè) 實(shí)施方案中,通過仿真與處理鼠標(biāo)或鍵盤輸入相關(guān)聯(lián)的函數(shù)來實(shí)現(xiàn)此監(jiān)視。
根據(jù)圖9的系統(tǒng)可用來擴(kuò)展本發(fā)明實(shí)施方案促進(jìn)嵌入游戲內(nèi)廣告的功能性。舉例來 說,在與游戲相關(guān)聯(lián)的圖形顯示器內(nèi)再現(xiàn)所嵌入的產(chǎn)品標(biāo)志的同時(shí),1/0組件918監(jiān)視 用戶輸入以識(shí)別用戶何時(shí)已經(jīng)通過例如用鼠標(biāo)指向標(biāo)志和點(diǎn)擊而與標(biāo)志交互。響應(yīng)于確 定已經(jīng)發(fā)生用戶交互,商務(wù)邏輯914執(zhí)行函數(shù)。舉例來說,所述函數(shù)可包含顯示供用戶 鍵入擬發(fā)送到服務(wù)器的數(shù)據(jù)的表格、向用戶顯示其它某圖形或音頻內(nèi)容、或向用戶提供 獎(jiǎng)勵(lì)或其將受到獎(jiǎng)勵(lì)的通知。
B. 識(shí)別游戲內(nèi)的進(jìn)展和成績
根據(jù)本發(fā)明的實(shí)施方案,可識(shí)別游戲中的級(jí)別進(jìn)展和成績,并可基于所述進(jìn)展或成 績來采取某些措施。舉例來說,商務(wù)規(guī)則可與在分級(jí)環(huán)境102中識(shí)別的圖形或音頻對(duì)象 相關(guān)聯(lián),所述對(duì)象對(duì)于劃分成多個(gè)級(jí)別或級(jí)的游戲內(nèi)的特定級(jí)別或級(jí)是唯一的或者代表 所述特定級(jí)別或級(jí)。當(dāng)在運(yùn)行時(shí)間環(huán)境106中識(shí)別到同一對(duì)象時(shí),最終用戶已經(jīng)達(dá)到游 戲內(nèi)的所述級(jí)別或級(jí),且應(yīng)用商務(wù)規(guī)則。商務(wù)規(guī)則可包含記錄關(guān)于成績或進(jìn)展的信息, 并接著將其經(jīng)由例如因特網(wǎng)等數(shù)據(jù)通信網(wǎng)絡(luò)傳輸?shù)郊惺酱鎯?chǔ)庫以啟動(dòng)比賽和頒獎(jiǎng)方 案?;蛘撸谄聊簧巷@示游戲得分的游戲中,可捕獲所再現(xiàn)的信息,且可記錄用戶已經(jīng) 獲得的實(shí)際得分并用作啟動(dòng)比賽和頒獎(jiǎng)方案的數(shù)據(jù)。
C. 顯示視頻游戲控制
在本發(fā)明的前述實(shí)施方案中,因?yàn)檫\(yùn)行時(shí)間環(huán)境106識(shí)別到由特定應(yīng)用程序產(chǎn)生的 圖形或音頻對(duì)象而應(yīng)用商務(wù)規(guī)則。然而,在替代的實(shí)施方案中,改為響應(yīng)于檢測到在執(zhí) 行軟件應(yīng)用程序的上下文內(nèi)或在運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)內(nèi)發(fā)生其它某事件而應(yīng) 用商務(wù)規(guī)則。
在圖IO中描繪此實(shí)施方案。如圖IO所示,運(yùn)行時(shí)間環(huán)境106的軟件組件包含應(yīng)用 程序1010、低級(jí)別圖形/音頻函數(shù)1016和插入在它們之間的與商務(wù)邏輯1014通信的攔 截組件1012,這類似于圖2所示的軟件結(jié)構(gòu)。然而,在圖IO所示的實(shí)施方案中,已經(jīng)提供額外的事件檢測組件1018,其允許向商務(wù)邏輯1018通知在執(zhí)行軟件應(yīng)用程序的上 下文內(nèi)或在運(yùn)行時(shí)間環(huán)境106的計(jì)算機(jī)系統(tǒng)內(nèi)發(fā)生事件。在圖IO所示的系統(tǒng)中,商務(wù) 邏輯1014響應(yīng)于檢測到此事件而選擇性應(yīng)用商務(wù)規(guī)則。
此系統(tǒng)的實(shí)例性應(yīng)用包含觸發(fā)打開或關(guān)閉圖形顯示器內(nèi)與視頻游戲相關(guān)聯(lián)的視頻 游戲控制的顯示,其中此能力不由視頻游戲本身提供。根據(jù)此實(shí)例性應(yīng)用,事件檢測組 件108檢測到用戶已經(jīng)將例如鍵盤鍵入的組合等輸入提供到計(jì)算機(jī)系統(tǒng),以便打開或關(guān) 閉屏幕上控制。響應(yīng)于檢測到此事件,商務(wù)邏輯1014在所述控制被觸發(fā)打開時(shí)致使在 屏幕上再現(xiàn)所述控制或在所述控制被觸發(fā)關(guān)閉時(shí)致使在屏幕上不再現(xiàn)所述控制。通過對(duì) 必要的低級(jí)別圖形/音頻函數(shù)1016進(jìn)行函數(shù)調(diào)用以執(zhí)行此任務(wù)來實(shí)現(xiàn)對(duì)控制的再現(xiàn)。此 功能性增強(qiáng)了最終用戶對(duì)視頻游戲的可用性。
可進(jìn)一步通過某些識(shí)別用戶已經(jīng)達(dá)到游戲中的特定"級(jí)"的圖形或音頻對(duì)象的識(shí)別 來觸發(fā)對(duì)此類控制的屏幕上顯示。因此, 一旦達(dá)到新的"級(jí)別",可自動(dòng)向用戶提供屏 幕上控制信息,從而在游戲中對(duì)其進(jìn)行幫助。
D.試用消息
圖IO的系統(tǒng)的另一實(shí)例性應(yīng)用涉及通知最終用戶使用應(yīng)用程序軟件的試用期結(jié)束, 其中所述應(yīng)用程序軟件既定僅使用有限時(shí)間和/或使用有限數(shù)目的"級(jí)別"。根據(jù)此實(shí)例, 事件檢測組件1018通知商務(wù)邏輯1014何時(shí)已經(jīng)相對(duì)于執(zhí)行應(yīng)用程序而到達(dá)預(yù)定閾值。 舉例來說,閾值可以是已經(jīng)使用所述應(yīng)用程序的總時(shí)間量(例如,總共使用l小時(shí))或 已經(jīng)啟動(dòng)所述應(yīng)用程序的總次數(shù)(例如,IO次會(huì)話)。此閾值可標(biāo)記試用期的實(shí)際結(jié)束 或只是試用期即將結(jié)束。在任何情況下,商務(wù)邏輯1014均響應(yīng)于此通知而致使向用戶 再現(xiàn)或回放圖形或音頻消息以警告用戶試用期結(jié)束。此消息可作為由應(yīng)用程序產(chǎn)生的圖 形或音頻對(duì)象的一部分來再現(xiàn),或與任何此類對(duì)象分開再現(xiàn)。所述消息可指示用戶使用 所述應(yīng)用程序的剩余時(shí)間量或剩余會(huì)話。通過向必要的低級(jí)別圖形/音頻函數(shù)1016進(jìn)行 函數(shù)調(diào)用來實(shí)現(xiàn)對(duì)此消息的再現(xiàn)。
在本發(fā)明的另一實(shí)施例中,攔截組件可將特定對(duì)象識(shí)別為指示達(dá)到新的"級(jí)"或"級(jí) 別",進(jìn)而允許管理員或其他實(shí)體設(shè)置將應(yīng)用程序的使用限制于特定級(jí)別或級(jí)的商務(wù)規(guī) 則。 一旦識(shí)別到此新級(jí)別或級(jí),便可自動(dòng)保存游戲(通過產(chǎn)生所需的密鑰序列)并可向 用戶顯示適當(dāng)?shù)南ⅰ?br>
在包含上文參看圖9所述的I/O捕獲能力的另一實(shí)施例(未圖示)中,1/0捕獲組 件監(jiān)視用戶輸入以識(shí)別何時(shí)用戶已經(jīng)例如通過用鼠標(biāo)和點(diǎn)擊指向消息而與已用圖形形 式再現(xiàn)的試用消息交互。響應(yīng)于確定已經(jīng)發(fā)生用戶交互,商務(wù)邏輯1014執(zhí)行函數(shù)。舉例來說,所述函數(shù)可包含啟動(dòng)允許最終用戶取得用于使用所述應(yīng)用程序的額外許可證有 效期的過程。
E. 父母控制
圖10的系統(tǒng)的另一實(shí)例性應(yīng)用允許動(dòng)態(tài)實(shí)施父母控制,父母控制可管理對(duì)軟件應(yīng) 用程序的使用。舉例來說,父母可能希望限制在給定時(shí)段(例如一天)內(nèi)玩視頻游戲應(yīng) 用程序的時(shí)間量。根據(jù)此實(shí)例,事件檢測組件1018在所允許的時(shí)間即將結(jié)束時(shí)通知商 務(wù)邏輯1014。商務(wù)邏輯1014響應(yīng)于此通知而致使向用戶再現(xiàn)或回放圖形或音頻消息, 以警告用戶所允許的時(shí)間即將結(jié)束。此外,當(dāng)所允許的時(shí)間已經(jīng)期滿時(shí),商務(wù)邏輯1014 接到通知,并致使保存視頻游戲中的任何進(jìn)展并接著退出應(yīng)用程序。
如本文中其它地方所述,也可實(shí)施致使不在軟件應(yīng)用程序執(zhí)行期間再現(xiàn)或回放某些
所識(shí)別的圖形或音頻對(duì)象的商務(wù)規(guī)則。此實(shí)施方案特別可用于提供父母控制,所述父母 控制在視頻游戲期間選擇性地阻斷某些圖形和/或音頻對(duì)象內(nèi)容的展現(xiàn)。
F. 屏幕上通信消息
在圖IO的系統(tǒng)的另一實(shí)例性應(yīng)用中,事件檢測組件1018監(jiān)視也駐存在運(yùn)行時(shí)間環(huán) 境106的計(jì)算機(jī)系統(tǒng)上的電子郵件客戶端和/或即時(shí)消息傳送器,并在這些應(yīng)用程序中的 一者已經(jīng)接收到例如消息等信息時(shí)通知商務(wù)邏輯1014。商務(wù)邏輯1014接著通過將消息 在與應(yīng)用程序1010相關(guān)聯(lián)的圖形顯示器內(nèi)再現(xiàn)而向最終用戶提供所述消息。商務(wù)邏輯 1014通過存取低級(jí)別圖形/音頻函數(shù)1016來執(zhí)行此任務(wù)。此功能性可用來允許在玩視頻 游戲的同時(shí)用無縫且不打擾的方式向最終用戶提供電子郵件和即時(shí)消息傳送器消息。實(shí) 際上,原本用全屏DirectX⑧應(yīng)用程序?qū)⒉豢赡軐?shí)現(xiàn)此功能性。
G. 菜單系統(tǒng)辨認(rèn)和操縱
在本發(fā)明的另一實(shí)施方案中,提供菜單系統(tǒng)辨認(rèn)和操縱功能性。舉例來說,根據(jù)此 實(shí)施方案,攔截組件212識(shí)別到例如視頻游戲等應(yīng)用程序210正在再現(xiàn)與菜單系統(tǒng)相關(guān) 聯(lián)的圖形。作為響應(yīng),商務(wù)規(guī)則214執(zhí)行一個(gè)或一個(gè)以上活動(dòng)。舉例來說,商務(wù)規(guī)則214 可啟用跳到菜單選項(xiàng)功能性,以允許容易在菜單系統(tǒng)內(nèi)導(dǎo)航。此功能性可包含將最終用 戶的鼠標(biāo)指針移動(dòng)到最近的菜單選項(xiàng)。作為替代或補(bǔ)充,在包含上文參看圖9所述的I/O 捕獲能力的實(shí)施方案(未圖示)中,商務(wù)邏輯可通過捕獲鍵盤輸入而通過從模擬鼠標(biāo)移 動(dòng)轉(zhuǎn)譯成離散的基于箭頭鍵的移動(dòng)而致使在菜單選項(xiàng)之間移動(dòng)。另一應(yīng)用可包含依據(jù)父 母控制或與許可有關(guān)的參數(shù)來阻斷最終用戶選擇特定菜單選項(xiàng)的能力。
H. 場景操縱
在本發(fā)明的另一實(shí)施方案中,可對(duì)特定場景執(zhí)行各種操縱。舉例來說,這些操縱中的一些包含
突出操縱~_場景的圖形輸出或其一部分可經(jīng)操縱以展示在不同于平坦表面的表 面上。舉例來說,當(dāng)將再現(xiàn)輸出突出成球形表面時(shí),無需特定透鏡根據(jù)所述表面來調(diào)適 突出,而是相應(yīng)地在場景內(nèi)的選定組的指數(shù)和頂點(diǎn)上應(yīng)用轉(zhuǎn)換。 一旦攔截了對(duì)"開始場 景"和"結(jié)束場景"調(diào)用的調(diào)用,便可向兩者之間的所有調(diào)用應(yīng)用特定商務(wù)邏輯。將來 的應(yīng)用可進(jìn)一步包含來自表面自身的用將根據(jù)表面形狀來動(dòng)態(tài)調(diào)適的方式的反饋。
對(duì)象尺寸和形狀~一另一實(shí)例可包含伸長或改變場景對(duì)象。舉例來說,場景圖像可 變長、變細(xì)等。
視點(diǎn)操縱~一可提供商務(wù)邏輯以實(shí)現(xiàn)改變現(xiàn)有場景的視點(diǎn)。舉例來說,在賽車游戲 中,本發(fā)明可用來添加車頂處的視點(diǎn),這未由游戲的原始功能性提供。接著可將所述場 景顯示為游戲本身內(nèi)部的畫中畫而不是顯示原始圖像或在不同屏幕上顯示。在不同屏幕 上顯示所述圖像的情況下,可添加與經(jīng)操縱的圖像的交互,以允許觀看者從各種視點(diǎn)觀 看游戲,而不會(huì)影響玩家的用戶體驗(yàn)。
照明操縱~一提供商務(wù)邏輯以允許改變照明定義。舉例來說,照明黑暗的游戲或場
旦 眾。
著色器操縱—_提供商務(wù)邏輯以允許改變著色器定義。舉例來說,這可用來添加或 移除霧化或改變透明度。
V.實(shí)例性計(jì)算機(jī)系統(tǒng)實(shí)施方案
圖11描繪實(shí)例性計(jì)算機(jī)系統(tǒng)1100,其可用來實(shí)施分級(jí)環(huán)境102或運(yùn)行時(shí)間環(huán)境106。 然而,下文對(duì)計(jì)算機(jī)系統(tǒng)IIOO的描述只是以舉例方式提供的,而并不意圖是限制性的。 而是,如本文中其它地方提到的,分級(jí)環(huán)境102和運(yùn)行時(shí)間環(huán)境106可每一者包括服務(wù) 器、控制臺(tái)、個(gè)人數(shù)字助理(PDA)或其它任何能夠執(zhí)行軟件應(yīng)用程序并向最終用戶顯 示相關(guān)聯(lián)的由應(yīng)用程序產(chǎn)生的圖形和音頻信息的計(jì)算裝置。
如圖11所示,實(shí)例性計(jì)算機(jī)系統(tǒng)1100包含處理器1104以用于執(zhí)行軟件例行程序。 雖然為了清楚起見只展示了單個(gè)處理器,但計(jì)算機(jī)系統(tǒng)1100也可包括多處理器系統(tǒng)。 處理器1104連接到通信基礎(chǔ)設(shè)施1106以用于與計(jì)算機(jī)系統(tǒng)1100的其它組件通信。通 信基礎(chǔ)設(shè)施1106可例如包括通信總線、縱橫開關(guān)或網(wǎng)絡(luò)。
計(jì)算機(jī)系統(tǒng)1100進(jìn)一步包含主存儲(chǔ)器1108 (例如隨機(jī)存取存儲(chǔ)器(RAM))和二 級(jí)存儲(chǔ)器1110。 二級(jí)存儲(chǔ)器1110可包含(例如)硬盤驅(qū)動(dòng)器U12和/或可移動(dòng)存儲(chǔ)驅(qū)動(dòng) 器1U4,其可包括軟盤驅(qū)動(dòng)器、磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器或類似裝置??梢苿?dòng)存儲(chǔ)驅(qū)動(dòng) 器1114用眾所周知的方式對(duì)可移動(dòng)存儲(chǔ)單元1118進(jìn)行讀取和/或?qū)懭???梢苿?dòng)存儲(chǔ)單元1118可包括軟盤、磁盤、光盤或類似裝置,其由可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器1114讀取和寫入。 如所屬領(lǐng)域的技術(shù)人員將明白的,可移動(dòng)存儲(chǔ)單元1118包含其中存儲(chǔ)有計(jì)算機(jī)軟件和/ 或數(shù)據(jù)的計(jì)算機(jī)可用存儲(chǔ)媒體。
在替代性實(shí)施方案中,二級(jí)存儲(chǔ)器1110可包含其它用于允許將計(jì)算機(jī)程序或其它 指令加載到計(jì)算機(jī)系統(tǒng)1100中的類似構(gòu)件。舉例來說,此類構(gòu)件可包含可移動(dòng)存儲(chǔ)單 元1122和接口 1120??梢苿?dòng)存儲(chǔ)單元1122和接口 1120的實(shí)例包含程序盒式磁盤和盒 式磁盤接口 (例如視頻游戲控制臺(tái)裝置中存在的)、可移動(dòng)存儲(chǔ)器芯片(例如EPROM或 PROM)和相關(guān)聯(lián)的插口,以及其它允許將軟件和數(shù)據(jù)從可移動(dòng)存儲(chǔ)單元1122傳送到計(jì) 算機(jī)系統(tǒng)1100的可移動(dòng)存儲(chǔ)單元1122和接口 1120。
計(jì)算機(jī)系統(tǒng)1100還包含至少一個(gè)通信接口 1124。通信接口 1124允許經(jīng)由通信路徑 1126在計(jì)算機(jī)系統(tǒng)1100與外部裝置之間傳送軟件和數(shù)據(jù)。明確地說,通信接口 1124準(zhǔn) 許在計(jì)算機(jī)系統(tǒng)1100與例如公共數(shù)據(jù)或?qū)S脭?shù)據(jù)通信網(wǎng)絡(luò)等數(shù)據(jù)通信網(wǎng)絡(luò)之間傳送數(shù) 據(jù)。通信接口 1124的實(shí)例可包含調(diào)制解調(diào)器、網(wǎng)絡(luò)接口 (例如以太網(wǎng)卡)、通信端口等。 經(jīng)由通信接口 1124傳送的軟件和數(shù)據(jù)是采用信號(hào)的形式,所述信號(hào)可以是能夠由通信 接口1124接收的電子、電磁、光學(xué)或其它信號(hào)。這些信號(hào)經(jīng)由通信路徑1126提供到通 信接口。
如圖11所示,計(jì)算機(jī)系統(tǒng)1100進(jìn)一步包含顯示接口 1102,其執(zhí)行用于向相關(guān)聯(lián) 的顯示器1130再現(xiàn)圖像的操作;以及音頻接口 1132,其用于執(zhí)行經(jīng)由相關(guān)聯(lián)的揚(yáng)聲器 1134播放音頻內(nèi)容的操作。
如本文使用的,術(shù)語"計(jì)算機(jī)程序產(chǎn)品"可部分指代可移動(dòng)存儲(chǔ)單元U18、可移 動(dòng)存儲(chǔ)單元1122、安裝在硬盤驅(qū)動(dòng)器1112中的硬盤或經(jīng)由通信路徑1126 (無線鏈路或 電纜)將軟件載運(yùn)到通信接口 1124的載波。計(jì)算機(jī)可用媒體可包含磁性媒體、光學(xué)媒 體或其它可記錄媒體,或傳輸載波或其它信號(hào)的媒體。這些計(jì)算機(jī)程序產(chǎn)品是用于向計(jì) 算機(jī)系統(tǒng)1100提供軟件的構(gòu)件。
計(jì)算機(jī)程序(也稱為計(jì)算機(jī)控制邏輯)存儲(chǔ)在主存儲(chǔ)器1108和/或二級(jí)存儲(chǔ)器1110 中。計(jì)算機(jī)程序也可經(jīng)由通信接口 1124接收。此類計(jì)算機(jī)程序在被執(zhí)行時(shí)使得計(jì)算機(jī) 系統(tǒng)1100能夠執(zhí)行如本文中論述的本發(fā)明的一個(gè)或一個(gè)以上特征。明確地說,計(jì)算機(jī) 程序在被執(zhí)行時(shí)使得處理器1104能夠執(zhí)行本發(fā)明的特征。因此,此類計(jì)算機(jī)程序代表 計(jì)算機(jī)系統(tǒng)1100的控制器。
用于實(shí)施本發(fā)明的軟件可存儲(chǔ)在計(jì)算機(jī)程序產(chǎn)品中,并使用可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器 1114、硬盤驅(qū)動(dòng)器1112或接口 1120加載到計(jì)算機(jī)系統(tǒng)1100中。或者,計(jì)算機(jī)程序產(chǎn)品可經(jīng)由通信路徑1126下載到計(jì)算機(jī)系統(tǒng)1100。所述軟件在由處理器1104執(zhí)行時(shí)致使處 理器1104執(zhí)行如本文中描述的本發(fā)明的功能。 D.結(jié)論
盡管上文已經(jīng)描述了本發(fā)明的各種實(shí)施例,但應(yīng)了解,其只是以舉例方式而非作為 限制來展現(xiàn)的。所屬領(lǐng)域的技術(shù)人員將了解,在不偏離由所附權(quán)利要求書界定的本發(fā)明 精神和范圍的情況下可在其中作出各種形式和細(xì)節(jié)上的改變。因此,本發(fā)明的寬度和范 圍不應(yīng)由上述示范性實(shí)施例中的任一者限制,而是應(yīng)只根據(jù)所附權(quán)利要求書及其等效物 來界定。
權(quán)利要求
1.一種用于動(dòng)態(tài)地增強(qiáng)軟件應(yīng)用程序的方法,其包括(a)在第一計(jì)算裝置上執(zhí)行所述軟件應(yīng)用程序;(b)攔截由所述軟件應(yīng)用程序在所述第一計(jì)算裝置上執(zhí)行期間產(chǎn)生的函數(shù)調(diào)用;(c)確定與在步驟(b)中攔截的所述函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象是否與商務(wù)規(guī)則相關(guān)聯(lián);以及(d)響應(yīng)于確定所述圖形或音頻對(duì)象與商務(wù)規(guī)則相關(guān)聯(lián),應(yīng)用所述商務(wù)規(guī)則。
2. 根據(jù)權(quán)利要求1所述的方法,其中步驟(b)包括攔截對(duì)圖形或音頻應(yīng)用程序編程 接口 (API)的函數(shù)調(diào)用。
3. 根據(jù)權(quán)利要求2所述的方法,其中攔截對(duì)圖形或音頻API的函數(shù)調(diào)用包括仿真所述 圖形或音頻API。
4. 根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用所述商務(wù)規(guī)則包括修改所述圖形或音頻對(duì) 象。
5. 根據(jù)權(quán)利要求4所述的方法,其中修改所述圖形或音頻對(duì)象包括更改所述圖形或音 頻對(duì)象的一部分。
6. 根據(jù)權(quán)利要求5所述的方法,其中更改所述圖形或音頻對(duì)象的一部分包括在所述圖 形或音頻對(duì)象內(nèi)插入廣告內(nèi)容。
7. 根據(jù)權(quán)利要求4所述的方法,其中修改所述圖形或音頻對(duì)象包括用不同的圖形或音 頻對(duì)象替換所述圖形或音頻對(duì)象。
8. 根據(jù)權(quán)利要求4所述的方法,其中修改所述圖形或音頻對(duì)象包括不再現(xiàn)或播放所述 圖形或音頻對(duì)象。
9. 根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用商務(wù)規(guī)則包括在再現(xiàn)或播放與在步驟(b) 中攔截的所述函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形或音頻對(duì)象之前或之后再現(xiàn)或播放不同 的圖形或音頻對(duì)象。
10. 根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用所述商務(wù)規(guī)則包括在與所述軟件應(yīng)用程序相 關(guān)聯(lián)的圖形顯示內(nèi)再現(xiàn)廣告內(nèi)容。
11. 根據(jù)權(quán)利要求IO所述的方法,其中應(yīng)用所述商務(wù)規(guī)則進(jìn)一步包括檢測用戶與所述再現(xiàn)的廣告內(nèi)容的交互以及 響應(yīng)于檢測到所述用戶交互而向所述用戶提供額外信息。
12. 根據(jù)權(quán)利要求1所述的方法,其中應(yīng)用所述商務(wù)規(guī)則包括記錄與最終用戶在所述軟件應(yīng)用程序內(nèi)的進(jìn)展相關(guān)的信息;以及 將所述記錄的信息或其一部分傳輸?shù)骄W(wǎng)絡(luò)實(shí)體。
13. 根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括在步驟(a)之前-(i) 在第二計(jì)算裝置上執(zhí)行所述軟件應(yīng)用程序;(ii) 攔截由所述軟件應(yīng)用程序在所述第二計(jì)算裝置上執(zhí)行期間產(chǎn)生的函數(shù)調(diào)用; 以及(iii) 在第一數(shù)據(jù)庫中索引與在步驟(ii)中攔截的所述函數(shù)調(diào)用相關(guān)聯(lián)的圖形和 音頻對(duì)象;以及(W)在第二數(shù)據(jù)庫中將商務(wù)規(guī)則與在步驟(iii)中索引的所述圖形和音頻對(duì)象 中的一者或一者以上相關(guān)聯(lián);其中步驟(C)包括確定與在步驟(b)中攔截的所述函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音 頻對(duì)象是否與所述第二數(shù)據(jù)庫中存儲(chǔ)的商務(wù)規(guī)則相關(guān)聯(lián)。
14. 根據(jù)權(quán)利要求13所述的方法,其中步驟(iii)包括為與在步驟(ii)中攔截的所述 函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形和音頻對(duì)象中的每一者計(jì)算唯一識(shí)別符(ID)并將每個(gè) 唯一 ID存儲(chǔ)在所述第一數(shù)據(jù)庫中,且其中步驟(W)包括將商務(wù)規(guī)則與所述第二 數(shù)據(jù)庫中的所述唯一 ID中的一者或一者以上相關(guān)聯(lián)。
15. 根據(jù)權(quán)利要求14所述的方法,其中計(jì)算唯一ID包括為與在步驟(ii)中攔截的所 述函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形和音頻對(duì)象中的每一者計(jì)算循環(huán)冗余碼。
16. 根據(jù)權(quán)利要求14所述的方法,其中計(jì)算唯一ID包括向與在步驟(ii)中攔截的所 述函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形和音頻對(duì)象中的每一者應(yīng)用加密和/或散列算法。
17. 根據(jù)權(quán)利要求14所述的方法,其中步驟(c)包括為與在步驟(b)中攔截的所述 函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形或音頻對(duì)象計(jì)算唯一ID,及確定與在步驟(b)中攔截 的所述函數(shù)調(diào)用相關(guān)聯(lián)的所述圖形或音頻對(duì)象的所述唯一 ID是否與所述第二數(shù)據(jù) 庫中存儲(chǔ)的唯一ID匹配。
18. —種計(jì)算機(jī)系統(tǒng),其包括處理器;以及與所述處理器通信的存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)用于指導(dǎo)所述處理器執(zhí)行以下操作的多個(gè)處理指令執(zhí)行軟件應(yīng)用程序;攔截由所述軟件應(yīng)用程序在執(zhí)行期間產(chǎn)生的函數(shù)調(diào)用;確定與所述攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象是否與商務(wù)規(guī)則相關(guān)聯(lián);以及響應(yīng)于確定所述圖形或音頻對(duì)象與商務(wù)規(guī)則相關(guān)聯(lián),應(yīng)用所述商務(wù)規(guī)則。
19. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器攔截由所述軟 件應(yīng)用程序在執(zhí)行期間產(chǎn)生的函數(shù)調(diào)用的處理指令包括用于指導(dǎo)所述處理器攔截 對(duì)圖形或音頻應(yīng)用程序編程接口 (API)的函數(shù)調(diào)用的處理指令。
20. 根據(jù)權(quán)利要求19所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器攔截對(duì)圖形或 音頻應(yīng)用程序編程接口 (API)的函數(shù)調(diào)用的處理指令包括用于指導(dǎo)所述處理器仿 真所述圖形或音頻API的處理指令。
21. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器應(yīng)用所述商務(wù) 規(guī)則的處理指令包括用于指導(dǎo)所述處理器修改所述圖形或音頻對(duì)象的處理指令。
22. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器修改所述圖形 或音頻對(duì)象的處理指令包括用于指導(dǎo)所述處理器更改所述圖形或音頻對(duì)象的一部 分的處理指令。
23. 根據(jù)權(quán)利要求22所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器更改所述圖形 或音頻對(duì)象的一部分的處理指令包括用于指導(dǎo)所述處理器在所述圖形或音頻對(duì)象 內(nèi)插入廣告內(nèi)容的處理指令。
24. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器修改所述圖形 或音頻對(duì)象的處理指令包括用于指導(dǎo)所述處理器用不同的圖形或音頻對(duì)象替換所 述圖形或音頻對(duì)象的處理指令。
25. 根據(jù)權(quán)利要求21所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器修改所述圖形 或音頻對(duì)象的處理指令包括用于指導(dǎo)所述處理器不再現(xiàn)或播放所述圖形或音頻對(duì) 象的處理指令。
26. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器應(yīng)用所述商務(wù) 規(guī)則的處理指令包括用于指導(dǎo)所述處理器在再現(xiàn)或播放與所述攔截的函數(shù)調(diào)用相 關(guān)聯(lián)的所述圖形或音頻對(duì)象之前或之后再現(xiàn)或播放不同的圖形或音頻對(duì)象。
27. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器應(yīng)用所述商務(wù) 規(guī)則的處理指令包括用于指導(dǎo)所述處理器在與所述軟件應(yīng)用程序相關(guān)聯(lián)的圖形顯 示內(nèi)再現(xiàn)廣告內(nèi)容的處理指令。
28. 根據(jù)權(quán)利要求27所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器應(yīng)用所述商務(wù) 規(guī)則的處理指令進(jìn)一步包括用于指導(dǎo)所述處理器執(zhí)行以下操作的處理指令檢測用戶與所述再現(xiàn)的廣告內(nèi)容的交互;以及響應(yīng)于檢測到所述用戶交互而向所述用戶提供額外信息。
29. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器應(yīng)用所述商務(wù) 規(guī)則的處理指令包括用于指導(dǎo)所述處理器執(zhí)行以下操作的處理指令記錄與最終用戶在所述軟件應(yīng)用程序內(nèi)的進(jìn)展相關(guān)的信息;以及 將所述記錄的信息或其一部分傳輸?shù)骄W(wǎng)絡(luò)實(shí)體。
30. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器確定與所述攔 截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象是否與商務(wù)規(guī)則相關(guān)聯(lián)的處理指令包括用 于指導(dǎo)所述處理器執(zhí)行以下操作的處理指令為所述圖形或音頻對(duì)象計(jì)算唯一識(shí)別符(ID);以及將為所述圖形或音頻對(duì)象計(jì)算的所述唯一 ID和與存儲(chǔ)在數(shù)據(jù)庫中的商務(wù)規(guī)則相 關(guān)聯(lián)的唯一ID進(jìn)行比較。
31. 根據(jù)權(quán)利要求30所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器為所述圖形或 音頻對(duì)象計(jì)算唯一 ID的處理指令包括用于指導(dǎo)所述處理器為所述圖形或音頻對(duì)象 計(jì)算循環(huán)冗余碼的處理指令。
32. 根據(jù)權(quán)利要求30所述的計(jì)算機(jī)系統(tǒng),其中所述用于指導(dǎo)所述處理器為所述圖形或 音頻對(duì)象計(jì)算唯一 ID的處理指令包括用于指導(dǎo)所述處理器向所述圖形或音頻對(duì)象 應(yīng)用加密和/或散列算法的處理指令。
33. —種計(jì)算機(jī)程序產(chǎn)品,其包括其中存儲(chǔ)有控制邏輯的計(jì)算機(jī)可用媒體,所述控制邏 輯包括第一計(jì)算機(jī)可讀程序碼構(gòu)件,其用于致使計(jì)算機(jī)攔截由軟件應(yīng)用程序在執(zhí)行期間 產(chǎn)生的函數(shù)調(diào)用;第二計(jì)算機(jī)可讀程序碼構(gòu)件,其用于致使所述計(jì)算機(jī)確定與所述攔截的函數(shù)調(diào)用相關(guān)聯(lián)的圖形或音頻對(duì)象是否與商務(wù)規(guī)則相關(guān)聯(lián);以及第三計(jì)算機(jī)可讀程序碼構(gòu)件,其用于致使所述計(jì)算機(jī)響應(yīng)于確定所述圖形或音頻 對(duì)象與所述商務(wù)規(guī)則相關(guān)聯(lián)而應(yīng)用商務(wù)規(guī)則。
34. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第一計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)攔截對(duì)圖形或音頻應(yīng)用程序編程接口 (API)的函數(shù)調(diào)用的 構(gòu)件。
35. 根據(jù)權(quán)利要求34所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)攔截對(duì)圖 形或音頻API的函數(shù)調(diào)用的構(gòu)件包括用于致使所述計(jì)算機(jī)仿真所述圖形或音頻API 的構(gòu)件。
36. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)修改所述圖形或音頻對(duì)象的構(gòu)件。
37. 根據(jù)權(quán)利要求36所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)修改所述 圖形或音頻對(duì)象的構(gòu)件包括用于致使所述計(jì)算機(jī)更改所述圖形或音頻對(duì)象的一部 分的構(gòu)件。
38. 根據(jù)權(quán)利要求37所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)更改所述 圖形或音頻對(duì)象的一部分的構(gòu)件包括用于致使所述計(jì)算機(jī)在所述圖形或音頻對(duì)象 內(nèi)插入廣告內(nèi)容的構(gòu)件。
39. 根據(jù)權(quán)利要求36所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)修改所述 圖形或音頻對(duì)象的構(gòu)件包括用于致使所述計(jì)算機(jī)用不同的圖形或音頻對(duì)象替換所 述圖形或音頻對(duì)象的構(gòu)件。
40. 根據(jù)權(quán)利要求36所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)修改所述 圖形或音頻對(duì)象的構(gòu)件包括用于致使所述計(jì)算機(jī)不再現(xiàn)或播放所述圖形或音頻對(duì) 象的構(gòu)件。
41. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)在再現(xiàn)或播放與所述攔截的函數(shù)調(diào)用相關(guān)聯(lián)的所述對(duì)象之 前或之后再現(xiàn)或播放不同的圖形或音頻對(duì)象的構(gòu)件。
42. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)在與所述軟件應(yīng)用程序相關(guān)聯(lián)的圖形顯示內(nèi)再現(xiàn)廣告內(nèi)容 的構(gòu)件。
43. 根據(jù)權(quán)利要求42所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三計(jì)算機(jī)可讀程序碼構(gòu)件進(jìn)一步包括用于致使所述計(jì)算機(jī)執(zhí)行以下操作的構(gòu)件 檢測用戶與所述再現(xiàn)的廣告內(nèi)容的交互;以及響應(yīng)于檢測到所述用戶交互而向用戶提供額外信息。
44. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第三計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)執(zhí)行以下操作的構(gòu)件記錄與最終用戶在所述軟件應(yīng)用程序內(nèi)的進(jìn)展相關(guān)的信息;以及 將所述記錄的信息或其一部分傳輸?shù)骄W(wǎng)絡(luò)實(shí)體。
45. 根據(jù)權(quán)利要求33所述的計(jì)算機(jī)程序產(chǎn)品,其中所述第二計(jì)算機(jī)可讀程序碼構(gòu)件包 括用于致使所述計(jì)算機(jī)執(zhí)行以下操作的構(gòu)件為所述圖形或音頻對(duì)象計(jì)算唯一識(shí)別符(ID),,以及將為所述圖形或音頻對(duì)象計(jì)算的所述唯一 ID和與存儲(chǔ)在數(shù)據(jù)庫中的商務(wù)規(guī)則相 關(guān)聯(lián)的唯一ID進(jìn)行比較。
46. 根據(jù)權(quán)利要求45所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)為所述圖 形或音頻對(duì)象計(jì)算唯一 ID的構(gòu)件包括用于致使所述計(jì)算機(jī)為所述圖形或音頻對(duì)象 計(jì)算循環(huán)冗余碼的構(gòu)件。
47. 根據(jù)權(quán)利要求45所述的計(jì)算機(jī)程序產(chǎn)品,其中所述用于致使所述計(jì)算機(jī)為所述圖 形或音頻對(duì)象計(jì)算唯一 ID的構(gòu)件包括用于致使所述計(jì)算機(jī)向所述圖形或音頻對(duì)象 應(yīng)用加密和/或散列算法的構(gòu)件。
全文摘要
本發(fā)明提供一種用于動(dòng)態(tài)地增強(qiáng)在計(jì)算裝置上執(zhí)行的軟件應(yīng)用程序(例如視頻游戲)而不必改變和重新編譯原始應(yīng)用程序代碼的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。所述系統(tǒng)包含分級(jí)環(huán)境,其監(jiān)視所述應(yīng)用程序的執(zhí)行并將由所述應(yīng)用程序產(chǎn)生的圖形和/或音頻信息的每個(gè)項(xiàng)目索引到第一數(shù)據(jù)庫中。系統(tǒng)管理員或其他實(shí)體接著用手動(dòng)或自動(dòng)手段向第二數(shù)據(jù)庫中填充一個(gè)或一個(gè)以上商務(wù)規(guī)則,其中每個(gè)商務(wù)規(guī)則與在所述第一數(shù)據(jù)庫中索引的對(duì)象中的一者或一者以上相關(guān)聯(lián)。所述系統(tǒng)進(jìn)一步包含運(yùn)行時(shí)間環(huán)境,其在運(yùn)行時(shí)間期間在所述應(yīng)用程序產(chǎn)生圖形和/或視頻信息的項(xiàng)目時(shí)識(shí)別所述項(xiàng)目,使用所述第二數(shù)據(jù)庫來確定所識(shí)別的項(xiàng)目是否與商務(wù)規(guī)則相關(guān)聯(lián),且響應(yīng)于確定所識(shí)別的項(xiàng)目與商務(wù)規(guī)則相關(guān)聯(lián)而應(yīng)用所述商務(wù)規(guī)則。
文檔編號(hào)G06F9/44GK101322101SQ200680045011
公開日2008年12月10日 申請(qǐng)日期2006年11月28日 優(yōu)先權(quán)日2005年12月1日
發(fā)明者烏里·特威格, 奧哈德·謝厄里, 約阿夫·齊魯亞 申請(qǐng)人:??松乜萍加邢薰?br>