專利名稱::規(guī)則系統(tǒng)中基于資源的事件鍵入的制作方法
技術領域:
:本發(fā)明一般地涉及包括硬件、軟件和過程的計算機和其他數(shù)據(jù)處理系統(tǒng)的領域。具體地說,本發(fā)明涉及使用基于資源的規(guī)則來管理數(shù)據(jù)處理系統(tǒng)的資源。
背景技術:
:計算機系統(tǒng)可以具有許多資源作為系統(tǒng)的一部分。這些資源包括硬件(客戶端計算機、服務器、打印機、存儲設備等)以及軟件(操作系統(tǒng)、應用等)。此類資源通常受到可以包括規(guī)則系統(tǒng)的中央邏輯給與的技術支持??梢酝ㄟ^"拉回,,或"推送"來使用規(guī)則系統(tǒng)中的規(guī)則。關于"拉回"的實例,請考慮圖la。資源102受規(guī)則系統(tǒng)104的支持,規(guī)則系統(tǒng)104包括與規(guī)則數(shù)據(jù)庫108交互的規(guī)則邏輯106。出于示例目的,假設資源102為服務器。資源102"知道"規(guī)則系統(tǒng)104在規(guī)則數(shù)據(jù)庫108中具有與如何管理資源102內(nèi)的中央處理單元(CPU)110相關的規(guī)則,但是資源102并不確切"知道"如何管理CPU110。因此,資源102將(步驟1)向規(guī)則系統(tǒng)104發(fā)送"拉回"規(guī)則調(diào)用,請求規(guī)則系統(tǒng)104處理用于管理CPU110的相應規(guī)則。規(guī)則系統(tǒng)104使用諸如Web服務描述語言(WSDL)之類的描述符語言來理解可以從資源102"拉回"何種數(shù)據(jù)以處理所請求的規(guī)則。然后規(guī)則系統(tǒng)104從資源102請求該數(shù)據(jù)(即"拉回"-步驟2),從而導致資源102針對規(guī)則發(fā)iH^目應的輸入數(shù)據(jù)(步驟3)。規(guī)則系統(tǒng)104然后使用規(guī)則邏輯106將輸入數(shù)據(jù)應用于相應的規(guī)則,并將結果數(shù)據(jù)輸出(步驟3)到資源102。然后,出于示例目的在圖la中示出,假i殳規(guī)則數(shù)據(jù)庫108中具有內(nèi)容為"如果對于三次連續(xù)釆樣,CPU利用率超過70。/0,則禁用低優(yōu)先級軟件6進程"的規(guī)則。如果對于三次連續(xù)采樣,CPU100實際超過70%使用率,則在執(zhí)行步驟1-4之后,將禁用低優(yōu)先級處理,從而防止它們使用CPU110的任何能力。上述實例只是示例性的。具體地說,此類規(guī)則還可以應用于軟件資源。也就是說,假設資源102的實例實際上是軟件程序,而不是上述服務器。該軟件程序可以"知道"應給予特定訂單折扣價格,但是不"知道"任何有關應何時給予折扣或給予多少折扣的細節(jié)。因此,資源102將對有關定價的規(guī)則的請求發(fā)送到(步驟1)規(guī)則系統(tǒng)104,后者將(使用WSDL來確定可以拉回何種數(shù)據(jù))拉回有關訂單大小的數(shù)據(jù)(步驟2)。資源102然后使用訂單大小(例如,美元數(shù)額)來做出響應,如步驟3所示。規(guī)則系統(tǒng)104然后使用訂單應打折的量做出響應(步驟4)。另一種類型的規(guī)則利用稱為"推送,,系統(tǒng)。"推送"可以是同步或異步的。首先考慮如圖lb中描述的"同步推送"。在此情況中,資源102不僅"知道"其需要何種規(guī)則(來自規(guī)則數(shù)據(jù)庫108),而且資源102還知道所需的規(guī)則需要何種輸入?yún)?shù)。因此,資源102并行地發(fā)送對規(guī)則數(shù)據(jù)庫108中特定規(guī)則的請求以及必要的輸入數(shù)據(jù)(步驟1)。規(guī)則系統(tǒng)104然后使用規(guī)則邏輯106將所接收的輸入數(shù)據(jù)應用于來自規(guī)則數(shù)據(jù)庫108的所請求的規(guī)則,并將輸出數(shù)據(jù)(源自被應用于特定規(guī)則的輸入數(shù)據(jù))發(fā)送給資源102(步驟2)。要指出的是,雖然圖la和圖lb中所示的系統(tǒng)4M目似,但是在圖la中,規(guī)則系統(tǒng)104接下來返回資源102來請求其他信息(在圖la的步驟2"拉回值"中示出)。雖然圖la和圖lb示出了不同的"拉回"和"同步推送"系統(tǒng),但是它們的相似之處在于圖la-b中描述的兩個系統(tǒng)都允許規(guī)則引擎查詢資源的數(shù)據(jù)。但是在"異步推送,,系統(tǒng)中并非如此。圖lc描述了此類"異步推送",其中在沒有請求特定規(guī)則的情況下將數(shù)據(jù)推送到規(guī)則系統(tǒng)104。不幸的是,這種情況在計算機系統(tǒng)中很常見。也就是說,資源102定期將各種事件數(shù)據(jù)發(fā)送給可以包括規(guī)則系統(tǒng)104的中央管理器。例如,如果資源102為服務器,則事件數(shù)據(jù)可以是諸如外部溫度、CPU利用率、頁面交換、本地時間、時鐘速度、已登錄的用戶數(shù)之類的不同項目。此中央管理器及其關聯(lián)的規(guī)則系統(tǒng)104不"知道"如何處理所接收的事件數(shù)據(jù)。更具體地說,規(guī)則系統(tǒng)104不知道規(guī)則數(shù)據(jù)庫108中的哪個規(guī)則適合于所接收的異步數(shù)據(jù)。
發(fā)明內(nèi)容為了處理上述的異步數(shù)據(jù)推送,本發(fā)明提供了一種在規(guī)則系統(tǒng)中^基于資源的事件的可由計算機實現(xiàn)的方法、系統(tǒng)和計算機介質(zhì)。在一個實施例中,所述可由計算機實現(xiàn)的方法包括下列步驟根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在規(guī)則系統(tǒng)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);將與所述特定資源的資源定義關聯(lián)的特定規(guī)則與所述異步數(shù)據(jù)進行關聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)?,F(xiàn)在將僅通過實例的方式參考以下本發(fā)明,這些附圖是圖la示出了現(xiàn)有技術的"拉回"規(guī)則調(diào)用;圖lb示出了現(xiàn)有技術的同步"推送"規(guī)則調(diào)用;圖lc示出了現(xiàn)有技術的異步"推送"規(guī)則調(diào)用;圖2a示出了利用資源事件映射邏輯(REML)的異步"推送"規(guī)則調(diào)用;圖2b是示出創(chuàng)建和利用圖2a中示出的REML時所采取的示例性步驟的流禾呈圖3示出了其中可實現(xiàn)本發(fā)明的實施例的示例性客戶端計算機;圖4示出了可從其部署和/或實現(xiàn)用于執(zhí)行本發(fā)明的實施例的軟件以使圖3中示出的客戶端計算機的用戶受益的示例性服務器;圖5a-b示出了部署能夠執(zhí)行圖2a-b中示出和描述的步驟的軟件時所采取的步驟的流考呈圖;以及圖6a-b是示出了使用按需服務提供商執(zhí)行圖2a-b中示出和描述的步驟時所采取的步驟的流程圖。具體實施例方式現(xiàn)在參考圖2a,其中示出了資源事件映射邏輯(REML)212的示例性利用。資源202將數(shù)據(jù)推送到規(guī)則系統(tǒng)204。如果資源202為諸如服務器之類的硬件資源,則所述數(shù)據(jù)可以是CPU利用率,頁面交換率、存儲器泄露級別(由于本地動態(tài)存儲器中存儲的無用數(shù)據(jù)而不能使用的本地動態(tài)存儲器量)等。類似地,如果資源202為軟件資源,則被推送到規(guī)則系統(tǒng)204的數(shù)據(jù)可以是為了由軟件執(zhí)行而^V的數(shù)據(jù)值、軟件的當前用戶數(shù)、軟件的執(zhí)行速度、數(shù)據(jù)請求的頻率(如果資源202為數(shù)據(jù)庫)等。當規(guī)則系統(tǒng)204從資源202接收數(shù)據(jù)時,REML212"知道"(通過監(jiān)視特定端口,或通過分析數(shù)據(jù)分組標頭等)該數(shù)據(jù)來自特定資源202,該數(shù)據(jù)為同步數(shù)據(jù)還是異步數(shù)據(jù)(根據(jù)規(guī)則系統(tǒng)204中存儲的特定資源202的定義,或通過分析數(shù)據(jù)分組標頭等),以及該特定資源202可將規(guī)則數(shù)據(jù)庫208中的哪個規(guī)則用于該數(shù)據(jù)類型(如可用于REML212的映射表(未示出)所定義的)。例如,假設資源202為定期發(fā)送其CPU210的利用率的服務器。當這些使用率讀取數(shù)據(jù)到達(步驟1)規(guī)則系統(tǒng)204時,REML212判定應針對特定資源202從規(guī)則數(shù)據(jù)庫208調(diào)用哪個(哪些)規(guī)則。由REML212中將資源202的資源定義與適用于從資源202接收的數(shù)據(jù)類型的事件規(guī)則關聯(lián)的邏輯做出此判定(如圖2b中更詳細地描述的)。如步驟2所示,REML212然后將指令連同收到的使用率讀取數(shù)據(jù)一起發(fā)送到規(guī)則邏輯206以調(diào)用規(guī)則數(shù)據(jù)庫208中的特定規(guī)則,并且將這些收到的使用率讀取數(shù)據(jù)輸入到相應的規(guī)則中(步驟3)。所W目應的規(guī)則然后將來自該規(guī)則的輸出發(fā)送給資源202(步驟4)。(要指出的是,所述規(guī)則可能輸出數(shù)據(jù),也可能不輸出數(shù)據(jù),具,決于是否滿足"如果"條件。也就是說,只有在針對規(guī)則系統(tǒng)204中與特定資源202對應的規(guī)則收到來自該特定資源202的相應輸入數(shù)據(jù)時,多數(shù)規(guī)則才會輸出數(shù)據(jù)。)因此,可以是更大的資源管理器214—部分的規(guī)則系統(tǒng)204能夠評估和過濾來自資源202的大量數(shù)據(jù)以便適合必要的規(guī)則。要指出的是,REML212^皮描述和示出為資源管理器214中的規(guī)則系統(tǒng)204的一部分。但是,REML212應被理解為執(zhí)行此處所述的過程的規(guī)則邏輯的示例性描述/表示。因此,本發(fā)明的實施例不限于規(guī)則系統(tǒng)204中所命名和限定的邏輯,它可以被理解為可由規(guī)則系統(tǒng)204為了在此說明的目的而訪問的邏輯?,F(xiàn)在參考圖2b,其中示出了如何創(chuàng)建和使用REML212的更多細節(jié)。在起始方塊216之后,事件設計者命名事件類型,并確定每個事件類型中將具有何種屬性(方塊218)。例如,考慮諸如"輸出描述服務器狀態(tài)的數(shù)據(jù)"之類的事件。事件設計者可以將該事件命名為"服務器狀態(tài),,,然后定義與"服務器狀態(tài)"關聯(lián)的數(shù)據(jù)。對于此服務器資源202,此類數(shù)據(jù)可以包括CPU利用率、頁面交換率、處理器溫度、登錄用戶數(shù)等。如方塊220所示,資源定義者創(chuàng)建資源定義,資源定義描述了資源中可以出現(xiàn)何種事件類型,以及規(guī)則系統(tǒng)204可以從資源202拉回(例如,使用WSDL或其擴展)何種屬性。這些事件類型可以從資源202調(diào)用可以被分類為拉回數(shù)據(jù)、同步推送數(shù)據(jù)或異步推送數(shù)據(jù)(如上定義)的數(shù)據(jù)。出于示例的目的,繼續(xù)假^1資源202為服務器。所述資源定義包括資源202中可以出現(xiàn)何種事件,其中包括上述的實例"服務器狀態(tài)"。也就是說,資源202能夠經(jīng)歷一個或多個事件,包括事件"輸出描述服務器狀態(tài)的事件"。因此在資源定義中描述了此能力。所述資源定義還描述了可從該資源202拉回何種屬性。這些屬性可以包括或不包括與特定事件類型關聯(lián)的全部屬性。也就是說,盡管資源定義聲稱服務器資源202可以經(jīng)歷事件"輸出描述服務器狀態(tài)的數(shù)據(jù)",但是僅可從服務器資源202獲得"服務器狀態(tài)"(上文參考方塊218所述)中描述的部分數(shù)據(jù)。盡管如此,對于數(shù)據(jù)發(fā)送資源202,僅"服務器狀態(tài)"中所述的部分數(shù)據(jù)便足以使REML212發(fā)M則的調(diào)用和執(zhí)行。10如方塊222所述,一旦資源定義者(如事件設計者,其可以是人或硬件/軟件邏輯的智能部分)創(chuàng)建了資源定義,規(guī)則系統(tǒng)204就將資源定義加栽到REML212中,REML212然后等待接收異步數(shù)據(jù)(查詢方塊224)。一旦從資源202接收到該數(shù)據(jù),REML212便將所接收的數(shù)據(jù)(資源參數(shù))與一個或多個適當?shù)囊?guī)則進行關聯(lián)(方塊226)。例如,如果REML212確定收到的數(shù)據(jù)描述了特定服務器中的CPU利用率,則REML212"知道"應使用規(guī)則數(shù)據(jù)庫208中的特定規(guī)則來評估此CPU利用率。要指出的是,REML212可能還知道哪些規(guī)則用于同步事件以及哪些規(guī)則用于異步事件。在一個實施例中,REML212通過在事件類型的定義中找到的M而"知道,,哪些規(guī)則用于同步/異步事件。因此,如果收到異步數(shù)據(jù)(如上所述),則僅針對應用評估異步事件規(guī)則,因此允許優(yōu)化的規(guī)則處理。此后,REML212調(diào)用相應的規(guī)則以#^1則邏輯206使用(方塊228)。將所勤目應的規(guī)則應用于所接收的數(shù)據(jù),并且將結果輸出數(shù)據(jù)(如果有,具體取決于在調(diào)用的規(guī)則中,所接收的數(shù)據(jù)是否滿足"如果"條件)發(fā)送給資源(方塊230)。過程在結束方塊232處結束?,F(xiàn)在參考圖3,示出了其中可以使用本發(fā)明的實施例的示例性客戶端計算機302方塊圖??蛻舳擞嬎銠C302包括與系統(tǒng)總線306相連的處理器單元304。驅動/支持顯示器310的視頻適配器308也與系統(tǒng)總線306相連。系統(tǒng)總線306通過總線橋312與輸A/輸出(I/O)總線314相連。1/0接口316與I/O總線314相連。I/O接口316提供與各種I/O設備通信的能力,所述I/Oi殳備包括鍵盤318、鼠標320、壓縮盤-只讀存儲器(CD-ROM)驅動器322、軟盤馬區(qū)動器324以及閃存盤326。與I/0接口316相連的端口的格式可以是計算機體系結構領域內(nèi)的技術人員公知的任意格式,包括但不限于通用串行總線(USB)端口??蛻舳擞嬎銠C302能夠使用網(wǎng)絡接口330通過網(wǎng)絡328與服務提供商服務器402通信,網(wǎng)絡接口330與系統(tǒng)總線306相連。網(wǎng)絡328可以是諸如因特網(wǎng)之類的外部網(wǎng)絡,也可以是諸如以太網(wǎng)或虛擬專用網(wǎng)絡(VPN)之類的內(nèi)部網(wǎng)絡。使用網(wǎng)絡328,客戶端計算機302能夠使用本發(fā)明的實ii施例來訪問服務提供商服務器402。硬盤驅動器接口332也與系統(tǒng)總線306相連。硬盤驅動器接口332與硬盤驅動器334連接。在一個優(yōu)選實施例中,硬盤驅動器334填充系統(tǒng)存儲器336,系統(tǒng)存儲器336也與系統(tǒng)總線306相連。系統(tǒng)存儲器被定義為客戶端計算機302中最低級別的易失性存儲器。該易失性存儲器可以包括其他更高級別的易失性存儲器(未示出),包括但不限于高速緩沖存儲器、寄存器以及緩沖區(qū)。填充系統(tǒng)存儲器336的數(shù)據(jù)包括客戶端計算機302的操作系統(tǒng)(OS)338和應用程序344。OS338包括命令解釋程序340,用于提供對諸如應用程序344之類的資源的透明用戶訪問。通常,命令解##呈序340是提供解釋器和用戶與操作系統(tǒng)之間的接口的程序。更具體地說,命令解#^呈序340執(zhí)行i^命令行用戶接口或來自文件的命令。因此,命令解釋程序340(在UNIX⑧中稱為shell,在Windows⑧中也稱為命令處理器)通常為操作系統(tǒng)軟件層級的最高級別并充當命令解釋器。命令解,序提供系統(tǒng)提示,解釋通過鍵盤、鼠標或其他用戶輸入^h質(zhì)所輸入的命令,并將一個或多個解釋后的命4^發(fā)送給操作系統(tǒng)的相應較低級別(例如,內(nèi)核342)以進行處理。要指出的是,盡管命令解,序340是基于文本的面向行的用戶接口,但是本發(fā)明的實施例將等同地支持其他用戶接口模式,例如圖形、語音、手勢等。如圖所示,OS338還包括內(nèi)核342,內(nèi)核342包括OS338的較低級別的功能,包括提供OS338的其他部分和應用程序344所需的基本服務,所述服務包括存儲器管理、進程和任務管理、磁盤管理以及鼠標和鍵盤管理。應用程序344包括瀏覽器346。瀏覽器346包括程序模塊和指令,使得萬維網(wǎng)(WWW)客戶端(即客戶端計算機302)能夠使用超文本傳輸協(xié)議(HTTP)向/從因特網(wǎng)發(fā)送和接收網(wǎng)絡消息,從而實現(xiàn)與服務提供商服務器402通信??蛻舳擞嬎銠C302的系統(tǒng)存儲器中的應用程序344還包括基于資源的事件^y^程序(RBETP)348,RBETP348包括用于實現(xiàn)圖2a-b中所述的過程的代碼。在一個實施例中,客戶端計算機302能夠從服務提供商服務器402下載RBETP348。客戶端計算機302中示出的硬件元素并非旨在是窮舉的,它們只是本發(fā)明的實施例所需的最重要的基本組件的代表。例如,客戶端計算機302可以包M如磁帶盒、數(shù)字多功能盤(DVD)、伯努利盒帶之類的備用存儲器存敝備。如上所述,可以按照圖4中示出的示例性形式將RBETP348從月艮務提供商服務器402下載到客戶端計算機302。服務提供商服務器402包括與系統(tǒng)總線406相連的處理器單元404。視頻適配器408也與系統(tǒng)總線406相連。視頻適配器408驅動/支持顯示器410。系統(tǒng)總線406通過總線橋412與輸AJ輸出(I/O)總線414相連。I/O接口416與I/O總線414相連。I/O接口416提供與各種I/Oi殳備通信的能力,所述I/O設備包括鍵盤418、鼠標420、壓縮盤-只讀存儲器(CD-ROM)驅動器422、軟盤驅動器424以及閃存盤426。與I/O接口416相連的端口的格式可以是計算機體系結構領域內(nèi)的技術人員y^的任意格式,包括但不限于通用串行總線(USB)端口。服務提供商服務器402能夠使用網(wǎng)^口430通過網(wǎng)絡328與客戶端計算機302通信,網(wǎng)絡接口430與系統(tǒng)總線406相連。對網(wǎng)絡328的訪問允許服務提供商服務器402執(zhí)行RBETP348和/或將RBETP348下載到客戶端計算機302。系統(tǒng)總線406也與硬盤驅動器接口432相連,石更盤驅動器接口432與硬盤驅動器434相連。在優(yōu)選實施例中,硬盤驅動器434填充系統(tǒng)存儲器436,系統(tǒng)存儲器436也與系統(tǒng)總線406相連。填充系統(tǒng)存儲器436的數(shù)據(jù)包括服務提供商服務器402的操作系統(tǒng)438,操作系統(tǒng)438包括命令解釋程序440和內(nèi)核442。命令解g序440被結合到更高級別的操作系統(tǒng)層并用于提供對諸如應用程序444之類的資源的透明用戶訪問,應用程序444包括瀏覽器446和可部署到客戶端計算機302的上述RBETP348的副本。服務提供商服務器402中示出的硬件元素并非旨在是窮舉的,它們只13是本發(fā)明的實施例所需的最重要的基本組件的代表。例如,服務提供商服務器402可以包M如閃存盤、磁帶盒、數(shù)字多功能盤(DVD)、伯努利盒帶之類的備用存儲器存^i殳備。還要指出的是,在本發(fā)明的優(yōu)選實施例中,服務提供商服務器402執(zhí)行與本發(fā)明的實施例關聯(lián)的所有功能(包括執(zhí)行RBETP348),因此使得客戶端計算機302不必使用其資源。應該理解,本發(fā)明的實施例可以備選地在包含程序產(chǎn)品的計算機可用介質(zhì)中實現(xiàn)??梢酝ㄟ^各種信號承載介質(zhì)將定義功能的程序提供給數(shù)據(jù)存儲系統(tǒng)或計算機系統(tǒng),所述信號承載介質(zhì)包括但不限于不可寫存儲介質(zhì)(例如CD-ROM)、可寫存儲^h質(zhì)(例如,硬盤驅動器、讀/寫CDROM、光介質(zhì)),以及通信介質(zhì)(如包括以太網(wǎng)的計算機和電話網(wǎng)絡、因特網(wǎng)、無線網(wǎng)絡和類似網(wǎng)絡系統(tǒng))。因此應該理解,此類信號承栽介質(zhì),當執(zhí)行或編碼引導本發(fā)明的實施例中的方法功能的計算機可讀指令時,表示本發(fā)明的備選實施例。進而應該理解,可以由具有此處所述的硬件形式、軟件形式或軟件和硬件的組合或其等價形式的裝置的系統(tǒng)實現(xiàn)本發(fā)明的實施例。軟件部署如上所述,本發(fā)明的實施例所描述的過程(包括RBETP348的功能)由服務提供商服務器402執(zhí)行。備選地,RBETP348和此處所述的方法,特別是圖2a-b中所示和描述的方法,可以作為過程軟件被從服務提供商服務器402部署到客戶端計算機302。更具體地說,可以由另一服務提供商服務器(未示出)將此處所述的方法的過程軟件部署到服務提供商服務器402。然后參考圖5a-b,步驟500開始過程軟件的部署。首先判定當執(zhí)行所述過程軟件時服務器上是否將駐留任何程序(查詢方塊502)。如果是,則標識將包含可執(zhí)行程序(executables)的服務器(方塊504)。通過文件傳輸協(xié)議(FTP)或某些其他協(xié)議,或在使用共享文件系統(tǒng)的情況下通過復制將服務器(多個)的過程軟件直接傳送到服務器的存儲設備(方塊506)。然后在服務器上安裝所述過程軟件(方塊508)。接下來,判定是否通過使用戶訪問一個或多個服務器上的所述過程軟件來部署所述過程軟件(查詢方塊510)。如果用戶要訪問服務器上的所述過程軟件,則標識將存儲所述過程軟件的服務器地址(方塊512)。判定是否要建立代理服務器(查詢方塊514)以存儲所述過程軟件。代理服務器是位于諸如Web瀏覽器之類的客戶端應用和真實服務器之間的服務器。它攔截所有去往真實服務器的請求以查看自身是否能夠滿足這些請求。如果否,它將所述請求轉發(fā)到真實服務器。代理服務器的兩個主要益處是提高性能和過濾請求。如果需要代理服務器,則安裝代理服務器(方塊516)。通過諸如FTP之類的協(xié)議或者通過文件共享將過程軟件直接從源文件復制到服務器文件來將所述過程軟件發(fā)送到服務器(方塊518)。另一實施例是將事務發(fā)送到包含所述過程軟件的服務器并使該服務器處理所述事務,然后接收所述過程軟件并將其復制到服務器的文件系統(tǒng)。一旦將所述過程軟件存儲在所述服務器處,用戶便可通過其客戶端計算機訪問所述服務器上的過程軟件并將其復制到他們的客戶端計算機文件系統(tǒng)(方塊520)。另一實施例是^J良務器自動將過程軟件復制到每個客戶端并在每個客戶端計算機處運行所述過程軟件的安裝程序。用戶執(zhí)行將所述過程軟件安裝在其客戶端計算機上的程序(方塊522),然后退出所述過程(結束方塊524)。在查詢方塊526中,判定是否通過使用電子郵件將所述過程軟件發(fā)送給用戶來部署所述過程軟件。與用戶客戶端計算機的地址一起標識將部署所述過程軟件的用戶集(方塊528)。通過電子郵件將所述過程軟件發(fā)送給爭個用戶的客戶端計算機(方塊530)。用戶然后接收電子郵件(方塊532)并將所述過程軟件從電子郵件分離到其客戶端計算機上的目錄(方塊534)。用戶執(zhí)行將所述過程軟件安裝在其客戶端計算機上的程序(方塊522),然后退出所述過程(結束方塊524)。最后,判定是否將所述過程軟件直接發(fā)送到用戶的客戶端計算機上的用戶目錄(查詢方塊536)。如果是,則標識所述用戶目錄(方塊538)。15將所述過程軟件直接發(fā)送到用戶的客戶端計算機目錄(方塊540)??梢酝ㄟ^若干方式完成此操作,包括但不限于共享文件系統(tǒng)目錄,然后從發(fā)送者的文件系統(tǒng)復制到接收者的用戶文件系統(tǒng),或備選地使用諸如文件傳輸協(xié)議(FTP)之類的傳輸協(xié)議。用戶訪問其客戶端文件系統(tǒng)上的目錄來準備安裝所述過程軟件(方塊542)。用戶執(zhí)行將所述過程軟件安裝在其客戶端計算機上的程序(方塊522),然后退出所述過程(結束方塊524)。VPN部署可以作為服務的一部分將本軟件部署到第三方,其中作為安全部署工具提供第三方VPN服務,或者其中根據(jù)特定部署的需要來按需建立VPN。虛擬專用網(wǎng)絡(VPN)是可用于保護通過否則不安全或不可信的網(wǎng)絡進行的連接的各種技術的任意組合。VPN提高了安全性并降低了運營成本。VPN利用公共網(wǎng)絡(通常為因特網(wǎng))將遠程站點或用戶連接在一起。VPN不使用諸如租借線i^類的專用實際連接,而是使用通過因特網(wǎng)從公司專用網(wǎng)絡路由到遠程站點或遠程雇員的"虛擬"連接。通過專門構建VPN以便傳送或執(zhí)行過程軟件(即,位于其他位置的軟件),可以作為服務來提供通過VPN訪問所述軟件,其中根據(jù)支付的金額將VPN的生存期限定為給定的時間段或給定的部署次數(shù)。可以通過遠程訪問VPN或站點到站點VPN來部署、訪問和執(zhí)行過程軟件。當使用遠程訪問VPN時,將通過第三方服務提供商,經(jīng)由公司專用網(wǎng)絡和遠程用戶之間的安全、加密連接來部署、訪問和執(zhí)行過程軟件。企業(yè)服務提供商(ESP)設置網(wǎng)絡訪問服務器(NAS)并為遠程用戶提供用于其計算機的桌面客戶端軟件。然后,在家辦公的人員可以撥打免費號碼或通過電纜或DSL調(diào)制解調(diào)器直接連接以便連接到NAS,然后使用其VPN客戶端軟件訪問公司網(wǎng)絡以及訪問、下載和執(zhí)行過程軟件。當使用站點到站點VPN時,將通過使用用于在諸如因特網(wǎng)之類的公共網(wǎng)絡上連接公司的多個固定站點的專用設備和大型加密來部署、訪問和執(zhí)行過程軟件。將通過隧道^支術在VPN上傳輸過程軟件,所述隧道技術是將整個分組置于另一分組內(nèi)并在網(wǎng)絡上發(fā)送所述分組的過程。網(wǎng)絡和兩個稱為隧道接口的端點(分組在該處進出網(wǎng)絡)將理解外部分組的協(xié)議。軟件集成通過使過程軟件與應用、操作系統(tǒng)和網(wǎng),作系統(tǒng)軟件共存,然后在所述過程軟件工作的環(huán)境內(nèi)的客戶端和服務器上安裝所述過程軟件,可以將包含用于實現(xiàn)此處所述過程的代碼的所述過程軟件集成在客戶端、服務器和網(wǎng)絡環(huán)境中。第一步是確定客戶端和服務器(包括將部署所述過程軟件的網(wǎng),作系統(tǒng))上的所述過程軟件所需的任何軟件或與所述過程軟件一起工作的任何軟件。這包括網(wǎng)絡操作系統(tǒng),網(wǎng),作系統(tǒng)是通過添加聯(lián)網(wǎng)功能來增強基本操作系統(tǒng)的軟件。接下來,將確定軟件應用以及版本號并將其與已測試為可與所述過程軟件一起工作的軟件應用和版本號的列表進行比較。將使用正確的版本號升級那些丟失或與正確的版本不匹配的軟件應用。然后檢查將參數(shù)從所述過程軟件傳遞到軟件應用的程序指令,以確保參數(shù)列表與所述過程軟件所需的參數(shù)列表相匹配。相反地,將檢查由所述軟件應用傳遞到所述過程軟件的參數(shù)以確保所述參數(shù)與所述過程軟件所需的參數(shù)相匹配。然后標識包括網(wǎng),作系統(tǒng)的客戶端和服務器操作系統(tǒng),并將其與已測試為可與所述過程軟件一起工作的操作系統(tǒng)、版本號和網(wǎng)絡軟件的列表進行比較。將在客戶端和服務器上將那些與已測試的操作系統(tǒng)和版本號的列表不匹配的操作系統(tǒng)、版本號和網(wǎng)絡軟件升級到所需的級別。在確保所述軟件(將在該處部署所述過程lt件)處于已測試為可與所述過程軟件一起工作的正確版本級別之后,通過在客戶端和服務器上安裝所述過程軟件而完成集成。按需所述過程軟件是共享的,按照靈活而自動的方式同時為多個客戶提供服務。它是標準化的,幾乎無需任何定制并且是可伸縮的,以隨用隨付的模式按照需要提供功能。所述過程軟件可以存儲在可從一個或多個服務器訪問的共享文件系統(tǒng)上。所述過程軟件通過事務來執(zhí)行,所述事務包含使用被訪問的服務器上的CPU單位的數(shù)據(jù)和服務器處理請求。CPU單位是諸如服務器的中央處理器上的分鐘、秒、小時之類的時間單位。此外,被訪問的服務器可以對其他服務器提出需要CPU單位的請求。CPU單位只是表示使用度量的一個實例。其他使用度量包括但不限于網(wǎng)絡帶寬、存儲器利用率、存儲設備利用率、分組傳輸、完成事務等。當多個客戶使用同一過程軟件應用時,通過標識唯一客戶和該客戶的服務類型的事務中所包括的參數(shù)來區(qū)分他們的事務。將記錄用于每個客戶的服務的所有CPU單位和其他使用度量。當?shù)饺我环掌鞯氖聞諗?shù)達到開始影響該服務器的性能的數(shù)量時,將訪問其他服務器以增加能力并分擔工作負荷。同樣,當諸如網(wǎng)絡帶寬、存儲器利用率、存儲設備利用率之類的其他使用度量接近影響性能的能力時,將添加額外的網(wǎng)絡帶寬、存儲器、存^i殳備等來分擔工作負荷。用于每個服務和客戶的使用度量被發(fā)送到收集服務器,收集服務器匯總在服務器網(wǎng)絡(提供所述過程軟件的共享執(zhí)行)中的任意位置處理的每個服務的每個客戶的使用度量。所匯總的使用度量單位被定期乘以單位費用并且所得到的總過程軟件應用服務費用被備選地發(fā)送給客戶,或者在客戶所訪問的網(wǎng)站上列出,客戶然后將款項支付給服務提供商。在另一實施例中,所述服務提供商直接從銀行或金融機構處的客戶賬戶請求付款。在另一實施例中,如果所述服務提供商也是使用所述過程軟件應用的客戶的客戶,則將欠所述服務提供商的款項與所述月良務提供商所欠的款項沖抵,從而盡量減少款項的劃撥?,F(xiàn)在參考圖6a-b,起始方塊602開始"按需,,過程。將創(chuàng)建包含唯一18客戶標識、所請求的服務類型以及任何進一步指定服務類型的服務參數(shù)的事務(方塊604)。然后將所述事務發(fā)送到主服務器(方塊606)。在按需環(huán)境中,所述主月良務器可以初始是僅有的服務器,然后隨著能力的消耗,其他服務器被添加到所述按需環(huán)境。查詢按需環(huán)境中的服務器中央處理單元(CPU)能力(方塊608)。估計所述事務的CPU需求,然后將按需環(huán)境中的服務器可用CPU能力與事務CPU需求進行比較來查看任意服務器中是否有足夠的CPU可用能力來處理所述事務(查詢方塊610)。如果沒有足夠的服務器CPU可用能力,則分配其他服務器CPU能力來處理所述事務(方塊612)。如果已有足夠的可用CPU能力,則將所述事務發(fā)送到選定的服務器(方塊614)。在執(zhí)行所述事務之前,將對剩余按需環(huán)境進行檢查來判定所述環(huán)境是否具有足夠的可用能力來處理所述事務。此環(huán)境能力的構成因素包含但不限于網(wǎng)絡帶寬、處理器存儲器以及存儲設備等(方塊616)。如果沒有足夠的可用能力,則將能力添加到所述按需環(huán)境(方塊618)。接下來訪問處理所述事務所需的軟件,將該軟件加載到存儲器中,然后執(zhí)行所述事務(方塊620)。記錄使用度量(方塊622)。所述使用度量包括按需環(huán)境中用于處理所述事務的那些功能部分。包括但不限于網(wǎng)絡帶寬、處理器存儲器、存儲設備以及CPU周期之類的功能的使用是所記錄的內(nèi)容。對所述使用度量進行匯總,將匯總額乘以單位費用,然后記錄為對發(fā)出請求的客戶的收費(方塊624)。如果客戶已請求將按需費用發(fā)布到網(wǎng)站(查詢方塊626),則發(fā)布所述費用(方塊628)。如果客戶已請求通過電子郵件將按需費用發(fā)送到客戶地址(查詢方塊630),則將所述費用發(fā)送給客戶(方塊632)。如果客戶已請求直接M戶賬戶支付按需費用(查詢方塊634),則直接M戶賬戶接收付款(方塊636)。所述按需過程然后在結束方塊638處退出。因此,本發(fā)明的實施例提供了一種在規(guī)則系統(tǒng)中^v基于資源的事件的可由計算機實現(xiàn)的方法、系統(tǒng)和計算機介質(zhì)。在一個實施例中,所述可19由計算機實現(xiàn)的方法包括下列步驟根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在所述規(guī)則系統(tǒng)中的資源事件映射邏輯(REML)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);使用所述REML將與所述特定資源的資源定義關聯(lián)的特定規(guī)則與所述異步數(shù)據(jù)進行關聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)。所述資源定義可以描述所述規(guī)則系統(tǒng)可從所述資源拉回何種屬性數(shù)據(jù)。在一個實施例中,其生輸出,所述可由計算機實現(xiàn)的方法還包括將所述特定規(guī)則的輸出傳送到所述特定資源。所述可由計算機實現(xiàn)的方法還可以包括下列步驟從#^授權為由所述特定資源使用的多個規(guī)則來選擇所述特定規(guī)則;將所述多個規(guī)則中的每個規(guī)則定義為可應用于同步數(shù)據(jù)或異步數(shù)據(jù),其中所述同步數(shù)據(jù)包括對特定規(guī)則的請求,并且其中所述異步數(shù)據(jù)未指定向其應用所接收的數(shù)據(jù)的特定規(guī)則;判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是同步數(shù)據(jù)還是異步數(shù)據(jù);以及響應于判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是異步數(shù)據(jù),在所述規(guī)則系統(tǒng)中僅搜索使用異步數(shù)據(jù)作為輸入的規(guī)則。所述規(guī)則系統(tǒng)還可以是管理所述數(shù)據(jù)處理系統(tǒng)中的至少一個資源的資源管理器的一部分。還要指出的是,如上所述,可以將在計算機可用介質(zhì)的每個實施例中使用的指令從服務提供商部署到用戶。可以按照本文所述的"按需,,執(zhí)行該部署。如在說明書及所附權利要求中使用的,術語"計算機"或"系統(tǒng)"或"計算機系統(tǒng)"或"計算設備"包括任何數(shù)據(jù)處理系統(tǒng),其中包括但不限于個人計算機、服務器、工作站、網(wǎng)絡計算機、大型計算機、路由器、交換機、個人數(shù)字助理(PDA)、電話以及任何其他能夠處理、傳輸、接收、捕獲和/或存儲數(shù)據(jù)的系統(tǒng)。權利要求1.一種在規(guī)則系統(tǒng)中鍵入基于資源的事件的可由計算機實現(xiàn)的方法,所述可由計算機實現(xiàn)的方法包括根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在所述規(guī)則系統(tǒng)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);將與所述特定資源的資源定義關聯(lián)的特定規(guī)則與所述異步數(shù)據(jù)進行關聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)。2.根據(jù)權利要求l的可由計算機實現(xiàn)的方法,其中所述資源定義還描述了所述規(guī)則系統(tǒng)可從所述資源拉回何種屬性數(shù)據(jù)。3.根據(jù)權利要求l的可由計算機實現(xiàn)的方法,其中所述規(guī)則系統(tǒng)中的規(guī)則邏輯根據(jù)所述特定規(guī)則來操縱所述異步數(shù)據(jù)以產(chǎn)生輸出,并且其中所述可由計算機實現(xiàn)的方法還包括將所述特定規(guī)則的輸出傳送到所述特定資源。4.根據(jù)權利要求l的可由計算機實現(xiàn)的方法,還包括5.根據(jù)權利要求4的可由計算機實現(xiàn)的方法,還包括將所述多個規(guī)則中的每個規(guī)則定義為可應用于同步數(shù)據(jù)或異步數(shù)據(jù),其中所述同步數(shù)據(jù)包括對特定規(guī)則的請求,并且其中所述異步數(shù)據(jù)未指定向其應用所接收的數(shù)據(jù)的特定規(guī)則;判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是同步數(shù)據(jù)還是異步數(shù)據(jù);以及響應于判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是異步數(shù)據(jù),在所述規(guī)則系統(tǒng)中僅搜索使用異步數(shù)據(jù)作為輸入的規(guī)則。6.根據(jù)權利要求l的可由計算機實現(xiàn)的方法,其中所述規(guī)則系統(tǒng)是管理所述數(shù)據(jù)處理系統(tǒng)中的至少一個資源的資源管理器的一部分。7.—種系統(tǒng),所述系統(tǒng)包括處理器;與所述處理器相連的數(shù)據(jù)總線;與所述數(shù)據(jù)總線相連的存儲器;以及包含計算機程序代碼的計算機可用介質(zhì),所述計算機程序代碼包括可由所述處理器執(zhí)行并被配置為執(zhí)行下列操作的指令根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在規(guī)則系統(tǒng)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)。8.根據(jù)權利要求7的系統(tǒng),其中所述資源定義還描述了所述規(guī)則系統(tǒng)可從所述資源拉回何種屬性數(shù)據(jù)。9.根據(jù)權利要求7的系統(tǒng),其中所述規(guī)則系統(tǒng)中的規(guī)則邏輯根據(jù)所述特定規(guī)則來操縱所述異步數(shù)據(jù)以產(chǎn)生輸出,并且其中所述指令還被配置為將所述特定規(guī)則的輸出傳送到所述特定資源。10.根據(jù)權利要求7的系統(tǒng),其中所述指令還被配置為11.根據(jù)權利要求10的系統(tǒng),其中所述指令還被配置為將所述多個規(guī)則中的每個規(guī)則定義為可應用于同步數(shù)據(jù)或異步數(shù)據(jù),其中所述同步數(shù)據(jù)包括對特定規(guī)則的請求,并且其中所述異步數(shù)據(jù)未指定向其應用所接收的數(shù)據(jù)的特定規(guī)則;判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是同步數(shù)據(jù)還是異步數(shù)據(jù);以及響應于判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是異步數(shù)據(jù),在所述規(guī)則系統(tǒng)中僅搜索使用異步數(shù)據(jù)作為輸入的規(guī)則。12.根據(jù)權利要求7的系統(tǒng),其中所述規(guī)則系統(tǒng)是管理所述數(shù)據(jù)處理系統(tǒng)中的至少一個資源的資源管理器的一部分。13.—種包含計算機程序代碼的計算機可用介質(zhì),所述計算機程序代碼包括被配置為執(zhí)行下列操作的可由計算機執(zhí)行的指令根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在規(guī)則系統(tǒng)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)。14.根據(jù)權利要求13的計算機可用介質(zhì),其中所述資源定義還描述了所述規(guī)則系統(tǒng)可從所述資源拉回何種屬性數(shù)據(jù)。15.根據(jù)權利要求13的計算機可用介質(zhì),其中所述規(guī)則系統(tǒng)中的規(guī)則邏輯根據(jù)所述特定規(guī)則來操縱所述異步數(shù)據(jù)以產(chǎn)生輸出,并且其中所述可由計算機執(zhí)行的指令還被配置為將所述特定規(guī)則的輸出傳送到所述特定資源。16.根據(jù)權利要求13的計算機可用介質(zhì),其中所述可由計算機執(zhí)行的指令還,皮配置為17.根據(jù)權利要求16的計算機可用介質(zhì),其中所述可由計算機執(zhí)行的指令還被配置為將所述多個規(guī)則中的每個規(guī)則定義為可應用于同步數(shù)據(jù)或異步數(shù)據(jù),其中所述同步數(shù)據(jù)包括對特定規(guī)則的請求,并且其中所述異步數(shù)據(jù)未指定向其應用所接收的數(shù)據(jù)的特定規(guī)則;判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是同步數(shù)據(jù)還是異步數(shù)據(jù);以及響應于判定所述規(guī)則系統(tǒng)接收的數(shù)據(jù)是異步數(shù)據(jù),在所述規(guī)則系統(tǒng)中僅搜索使用異步數(shù)據(jù)作為輸入的規(guī)則。18.根據(jù)權利要求13的計算機可用介質(zhì),其中所述規(guī)則系統(tǒng)是管理所述數(shù)據(jù)處理系統(tǒng)中的至少一個資源的資源管理器的一部分。19.根據(jù)權利要求13的計算機可用介質(zhì),其中所述計算機可用介質(zhì)是遠程服務器的組件,并且其中可以將所述可由計算機執(zhí)行的指令從所述遠程服務器部署到客戶端計算機。20.根據(jù)權利要求13的計算機可用介質(zhì),其中服務提供商能夠將所述可由計算機執(zhí)行的指令按需提供給客戶。全文摘要一種在規(guī)則系統(tǒng)中鍵入基于資源的事件的可由計算機實現(xiàn)的方法、系統(tǒng)和計算機介質(zhì)。在一個實施例中,所述可由計算機實現(xiàn)的方法包括下列步驟根據(jù)與事件類型關聯(lián)的資源屬性來定義所述事件類型;創(chuàng)建描述哪個或哪些事件類型可以在資源中出現(xiàn)的資源定義;將所述資源定義存儲在規(guī)則系統(tǒng)內(nèi);接收來自數(shù)據(jù)處理系統(tǒng)中的特定資源的異步數(shù)據(jù);將與所述特定資源的資源定義關聯(lián)的特定規(guī)則與所述異步數(shù)據(jù)進行關聯(lián);以及將所述特定規(guī)則應用于所述異步數(shù)據(jù)。文檔編號G06F9/54GK101517540SQ200780033809公開日2009年8月26日申請日期2007年9月25日優(yōu)先權日2006年9月28日發(fā)明者D·L·卡明斯基申請人:國際商業(yè)機器公司