国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      自動地發(fā)現并編組由業(yè)務流程使用的資源的系統與方法

      文檔序號:6656628閱讀:384來源:國知局
      專利名稱:自動地發(fā)現并編組由業(yè)務流程使用的資源的系統與方法
      技術領域
      本發(fā)明涉及企業(yè)計算機系統。具體地,本發(fā)明涉及自動地發(fā)現并編組由業(yè)務流程使用的資源的裝置、系統、與方法。
      背景技術
      計算機與信息技術在其功能與復雜度方面持續(xù)地進展與增長。具體地,軟件應用已經從單個整體程序演變?yōu)閹装倩蛘邘浊€面向對象的組件,其可以在單個機器、或者分布在網絡上的許多計算機系統上執(zhí)行。
      計算機軟件及其相關數據一般存儲在根據某些格式(例如文件)組織的持久型存儲器中。一般地,文件存儲在如直接訪問存儲設備(DASD,即多個硬盤驅動器)一樣的持久型存儲器中。即使大型數據庫管理系統也采用某種形式的文件來存儲數據以及潛在地采用管理用于執(zhí)行數據庫管理系統的目標代碼。
      業(yè)務擁有者、主管人員、經理、管理人員等等注重以高成本效率以及高效方式提供產品和/或服務。這些業(yè)務主管人員認識到軟件應用可以提供的效率與優(yōu)點。因此,業(yè)務人員將業(yè)務軟件應用引入長遠規(guī)劃與策略制定,以確保業(yè)務在市場中保持競爭力。
      業(yè)務人員關注業(yè)務流程,而非關注諸如定義軟件應用的體系結構與文件等細節(jié)。業(yè)務流程為該業(yè)務提供的內部與外部服務。越來越多的業(yè)務流程至少部分地由一或多個軟件應用提供。業(yè)務流程的一個示例為雇員之間的內部通信。經常地,該業(yè)務流程大部分由電子郵件軟件應用實現。該電子郵件軟件應用可以包括多個分離的、諸如客戶端、服務器、數據庫管理系統(DBMS)等等一樣的可執(zhí)行軟件組件。
      一般地,當業(yè)務人員專注于業(yè)務流程而非處理關于業(yè)務流程如何實現的、令人困惑的復雜細節(jié)時,其進行管理與領導最有效。不幸的是,尤其是在大型公司中,業(yè)務流程策略及其實現之間的關系經常是未定義的。因此,必須研究并且解釋業(yè)務策略的影響,從而可以精確地比較該業(yè)務流程策略所施加的成本與預期的收益。這可能意味著必須識別業(yè)務策略所影響的計算機系統、文件、以及服務。
      圖1顯示實現業(yè)務流程的常規(guī)系統100。業(yè)務流程可以為任何業(yè)務流程。極度依賴于軟件應用的業(yè)務流程的示例包括自動化電話和/或因特網零售系統(網上店鋪),電子郵件系統、庫存控制系統、組裝線控制系統等等。
      一般地,業(yè)務流程簡單而且定義清楚。但是,經常地利用不同的協同操作的軟件應用(包括來自不同的銷售商的不同的可執(zhí)行文件、數據文件、客戶端、服務器、代理、守護程序/服務等等),來實現業(yè)務流程。這些軟件應用一般分布在多個計算機平臺上。
      在示例系統100中,電子商務網站以在客戶端102、網絡服務器104、應用服務器106、以及DBMS 108上執(zhí)行的組件示出。為了滿足系統100的需求,開發(fā)者編寫由網絡服務器104提供的小服務程序110與小應用程序112,應用服務器106上的一或多個業(yè)務對象114以及DBMS 108中的一或多個數據庫表116。這些分離的軟件組件交互以提供電子商務網站。
      如上所述,每個軟件組件來源于或者使用存儲可執(zhí)行目標代碼的一或多個文件118。類似地,數據文件120存儲軟件組件使用的數據。數據文件120可以存儲配置設置、用戶數據、系統數據、數據庫行與列等等。
      這些文件118、120一同構成實現業(yè)務流程所需的資源。另外,資源還可能包括圖形用戶界面(GUI)圖標與圖形、靜態(tài)網頁、網絡服務、網絡服務器、通用服務器、以及可以在其它計算機系統(聯網的或者獨立的)上使用統一資源定位符(URL)或者其它尋址方法訪問的其它資源。為了實現業(yè)務流程的所有方面,共同地需要所有這些不同的資源。此處所用的“(多個)資源”指包含目標代碼或者數據的所有文件以及一或多個軟件應用所使用的軟件模塊和執(zhí)行業(yè)務流程的功能的組件。
      一般地,文件118、120的每一個都存儲在存儲設備112a上,其由物理或者虛擬設備或者卷來識別。文件118、120由對應于平臺104、106、108中的每一個的、分離的文件系統(FS)124a-c管理。
      假設業(yè)務經理希望實現關于電子商務網站的業(yè)務級策略126。該策略可以簡單地表達為“一周備份電子商務站點一次”。當然,對于電子商務網站,也可以實現其它業(yè)務級策略。例如,可以對業(yè)務流程在業(yè)務流程級上定義負載平衡策略、軟件遷移策略、軟件更新策略、以及其它類似的業(yè)務策略。
      此類業(yè)務級策略清楚簡明。但是,實現這些策略可能非常費工、容易出錯、并且困難。一般地,實現備份策略126有兩種方法。第一種為備份每個設備或者卷122a-c上的所有數據。但是當設備122a-c在多個業(yè)務流程之間共享時,此類方法備份了與特定業(yè)務流程無關的文件。某些其它業(yè)務策略可能要求更經常地備份關于其它業(yè)務流程的卷122a-c上的其它文件。因此,策略會沖突,并且可以導致浪費備份存儲空間和/或重復的備份數據。另外,執(zhí)行設備122a-c完整拷貝所需的時間可能干擾其它業(yè)務流程,并且不必要地延長流程。
      第二種方法是識別設備122a-c上哪些文件由業(yè)務流程使用、與其相關、或者以其它方式構成業(yè)務流程。不幸的是,尤其對在多個系統上分布的業(yè)務流程而言,沒有自動過程來確定業(yè)務流程所使用的所有資源是什么??梢远x某些邏輯規(guī)則來輔助該手動處理。但是,這些規(guī)則經常是僵化的,而且其精確識別所有資源的能力有限。例如,在執(zhí)行業(yè)務流程的不常用特征期間,此類規(guī)則可能會錯過通過URL對遠程服務器上文件的引用。可替換地,設備122a-c可以專用于特定流程的軟件與數據文件。但是該方法可能會導致浪費設備122a-c上未使用空間,并且在分布式系統中無法工作。
      一般地,計算機系統管理員必須中斷業(yè)務級策略126,并且確定必須包括文件118、120中的哪些文件,以實現策略126。管理員可以瀏覽不同的文件系統122a-c、參考用戶手冊、搜索注冊數據庫并且依賴于其自身經驗與知識,以生成適當文件118、120的列表。
      在圖1中,一種實現128示出該手動的、費工的、枯燥的處理的結果。由于不僅最初創(chuàng)建列表而且當更新與修改業(yè)務流程的不同的軟件組件時持續(xù)維護該列表都需要時間,此類處理成本很高。另外,手動處理容易有人為錯誤。管理員可能會無意地略去某些文件118、120。
      實現128包括目標代碼文件118(即e-commerce.exe,也稱為可執(zhí)行文件)與數據文件120(即e-comdatal.db)兩者。但是,由于該處理的手動性質以及存儲空間因素,人們可能會專注于數據文件120與數據特定資源。數據文件120可以進一步被限制為非常關鍵的數據文件120,例如數據庫文件。因此,其它重要文件,例如可執(zhí)行文件與用戶配置及系統特定設置文件,可能沒有被包含在實現128中??商鎿Q地,用戶數據,例如字處理文檔,也可能會被錯過,這是因為該數據被存儲在設備122a-c上未知的或者不可預測的位置上。
      用于編組業(yè)務流程所使用的資源的其它解決方案有局限性。一種解決方案是使所安裝的每個軟件應用都向中心庫報告該應用使用哪些資源。但是,這將跟蹤與列出資源的開銷置于編寫與維護軟件應用的開發(fā)者的身上。再次,開發(fā)者可能無意地排除了某些文件。另外,通常只有在安裝期間才進行此類報告。因此,在該時間之后創(chuàng)建的數據文件可能會被存儲在設備122a-c上未知的位置上。
      根據上述討論,可以看出需要一種自動地發(fā)現并編組業(yè)務流程所使用的文件與其它資源的裝置、系統、以及方法。有利的是,此類裝置、系統、以及方法會自動地發(fā)現業(yè)務所流程使用的幾乎所有資源,從而可以將業(yè)務級策略整體地應用到業(yè)務流程上。另外,該裝置、系統、以及方法將采用啟發(fā)式例程來保證包含所有適當資源。另外,被識別為與業(yè)務流程相關聯的資源集合是可以修改的,以滿足用戶需求以及隨著時間的系統變化。

      發(fā)明內容
      針對現有技術的狀態(tài)設計了本發(fā)明,尤其是針對現有技術中還沒有解決的、關于自動發(fā)現并編組由業(yè)務流程使用的文件以及其它資源的問題與需求。相應地,設計了本發(fā)明以提供一種自動地發(fā)現并編組業(yè)務流程使用的文件與其它資源的裝置、系統、以及方法,其克服了上述現有技術中的缺點中的許多或者全部缺點。
      根據第一方面,本發(fā)明提供了一種自動地發(fā)現并編組由業(yè)務流程使用的資源的裝置,該裝置包括監(jiān)控模塊,其可被配置來收集表示軟件應用的操作行為的跟蹤數據;分析模塊,其可被配置來分析跟蹤數據以發(fā)現與包括所述軟件應用中的至少一個的業(yè)務流程相關聯的資源;以及確定模塊,其可被配置來定義包括所發(fā)現的資源的邏輯應用。
      根據第二方面,本發(fā)明提供了一種自動地發(fā)現并編組由業(yè)務流程使用的資源的系統,包括操作系統,其可被配置來管理流程的執(zhí)行;流程管理器,其可被配置來提供正在運行的流程的信息;輸入/輸出(I/O)模塊,其可被配置來提供文件活動信息;文件系統,其可被配置來管理在存儲設備中存儲的文件,并且提供關于所述文件的元數據;監(jiān)控模塊,其可被配置來收集在操作系統內執(zhí)行至少一個軟件應用期間的跟蹤數據,該監(jiān)控模塊與流程管理器、I/O模塊、以及文件系統中的至少一個交互以收集與所述軟件應用的操作直接相關的跟蹤數據;以及分析模塊,其可被配置來分析跟蹤數據,以發(fā)現與包含所述軟件應用的業(yè)務流程相關聯的資源,以及定義包括所發(fā)現的資源的邏輯應用。
      根據第三方面,本發(fā)明提供了一種自動地發(fā)現并編組由業(yè)務流程使用的資源的方法,該方法包含以下步驟收集表示軟件應用的操作行為的跟蹤數據;分析跟蹤數據,以發(fā)現與包括所述軟件應用的至少一個的業(yè)務流程相關聯的資源;以及定義包括所發(fā)現的資源的邏輯應用。
      根據第四方面,本發(fā)明提供了一種計算機程序,包括適于當所述程序在計算機上運行時、執(zhí)行如權利要求14到25中任何一項所述的方法的所有步驟的程序代碼段。
      根據本發(fā)明的裝置包括監(jiān)控模塊、分析模塊、以及確定模塊。監(jiān)控模塊收集表示在業(yè)務流程內包含的一或多個軟件應用的操作行為的跟蹤數據。在軟件應用執(zhí)行期間,可以收集某些跟蹤數據,同時可以不用關心軟件應用是否正在執(zhí)行而收集其它跟蹤數據。在一種實施例中,監(jiān)控模塊收集計算機系統的所有軟件應用的跟蹤數據。
      分析模塊分析跟蹤數據以發(fā)現與業(yè)務流程相關聯的資源。優(yōu)選地,分析模塊施加一或多個啟發(fā)式例程以識別資源與業(yè)務流程之間的直接與間接關系兩者。確定模塊定義包括所發(fā)現的資源的邏輯應用。優(yōu)選地,邏輯應用直接對應于業(yè)務流程。此處使用的“邏輯應用”指提供對業(yè)務流程定義的業(yè)務級服務所需的所有文件以及其它資源的集合。與“應用”結合的術語“邏輯”用來包括單個計算機系統內的軟件應用和/或可以分布在多個計算機系統上的那些軟件應用,但是不限于該解釋。在一種實施例中,分析模塊與確定模塊對邏輯應用進行疊代操作,以確保所有適當的文件都包含在邏輯應用中。
      在特定實施例中,業(yè)務流程由軟件應用的標識符或者特性標識。該標識符或者特性可以通過接口提供。標識符可以包含可執(zhí)行文件或者數據文件的名稱、正在運行的流程的名稱等等。所述特性可以包含軟件應用所執(zhí)行的公知的功能。優(yōu)選地,該功能為特定業(yè)務流程所特有。例如,軟件應用可以利用公知的端口號與特定服務器或者軟件模塊通信進行網絡通信。優(yōu)選地,該標識符或者特性為特定業(yè)務流程所特有,并且可以清楚定義。
      在一種實施例中,監(jiān)控模塊與分析模塊利用關于先前被標識為屬于邏輯應用的資源的信息。因此,監(jiān)控模塊與分析模塊可以利用關于先前所標識的資源的標識符和/或信息疊代地識別其它資源。一旦被定義,可以將邏輯應用提供給向該邏輯應用施加業(yè)務級策略的管理模塊。
      監(jiān)控模塊可以包括啟動模塊,其啟動一或多個活動監(jiān)控器?;顒颖O(jiān)控器可以跟蹤涉及資源的特定類型的活動?;顒颖O(jiān)控器可以與業(yè)務流程的執(zhí)行獨立地或者與其并發(fā)地運行。監(jiān)控模塊內的控制器可以控制活動監(jiān)控器。監(jiān)控模塊內的存儲模塊可以存儲描述涉及該資源的特定類型的活動的跟蹤數據。在一種實施例中,監(jiān)控模塊包括掃描器,其掃描系統信息以得到描述所述業(yè)務流程的特定類型的活動的跟蹤數據。監(jiān)控模塊可以與分析模塊并發(fā)地或者與其分離地運行。
      分析模塊可以包括查詢模塊、評估模塊、以及發(fā)現模塊。在一種實施例中,查詢模塊可以部分基于標識符過濾所述跟蹤數據以產生結果集合。評估模塊可以向所述結果集合施加一或多個啟發(fā)式例程,以發(fā)現與所述標識符相關的一或多個資源。發(fā)現模塊響應于應用所述一或多個啟發(fā)式例程,發(fā)現一或多個資源。
      本發(fā)明的方法還用來自動地發(fā)現并編組由業(yè)務流程使用的資源。在一種實施例中,該方法包含接收用于業(yè)務流程的標識符。該標識符與實現該業(yè)務流程的資源直接相關。接著,收集與所述資源相關的、并且表示實現業(yè)務流程的一或多個軟件組件執(zhí)行的操作的跟蹤數據??商鎿Q地,可以對涉及計算機系統的資源的所有操作收集跟蹤數據。分析跟蹤數據(成為數據挖掘)以發(fā)現與所述標識符相關的一或多個資源。最后,定義包括一或多個所發(fā)現的資源的邏輯應用。
      應該注意雖然相對于對應于業(yè)務流程的邏輯應用描述了本發(fā)明,但是邏輯應用不限于業(yè)務流程。邏輯應用可以對應于用于善意或者惡意目的的軟件資源的任何集合。例如,本發(fā)明可以用來識別定義間諜軟件、廣告軟件、病毒、以及其它軟件應用的邏輯應用。在定義試圖隱藏正在使用的軟件資源的軟件應用的邏輯應用時,本發(fā)明尤其有用。另外,業(yè)務應用可以對應于單個的軟件應用。
      優(yōu)選地,業(yè)務由業(yè)務流程的標識符、即用戶提供的標識符標識。更優(yōu)選地,業(yè)務級策略為從包含以下策略的組中選擇的策略負載平衡策略、軟件遷移策略、以及備份策略。更優(yōu)選地,系統信息從包含以下信息的組中選擇文件系統信息、流程信息、聯網信息、以及輸入/輸出(I/O)信息。
      在優(yōu)選實施例中,該系統還包括圖形用戶界面(GUI),其被配置來從用戶接收業(yè)務應用的標識符,以及向用戶呈現邏輯應用。優(yōu)選地,監(jiān)控模塊還包括流程監(jiān)控器、I/O監(jiān)控器、網絡監(jiān)控器、以及文件系統監(jiān)控器。更優(yōu)選地,監(jiān)控模塊還被配置來與多個文件系統交互。更優(yōu)選地,分析模塊在標記語言數據結構內定義邏輯應用。更優(yōu)選地,所發(fā)現的資源為從包含以下的組中選擇的資源數據文件、可執(zhí)行文件、以及服務應用。
      本發(fā)明還包括安排為包含與以上參照裝置與方法描述的組件與步驟基本相同的功能的系統、計算機可讀代碼、以及裝置的實施例。從以下描述以及權利要求中,將完全清楚本發(fā)明的特征與優(yōu)點,或者可以通過對以下列出的本發(fā)明的實踐了解。


      為了容易地理解本發(fā)明的優(yōu)點,將參照在附圖中顯示的特定實施例簡要描述對本發(fā)明的更具體的描述。請理解這些附圖僅僅描繪出本發(fā)明的典型實施例,因此不應該被理解為限制其范圍,將通過利用附圖更具體詳細地描述與解釋本發(fā)明,其中圖1為顯示實現業(yè)務級策略常規(guī)方式的一個示例的方框圖;圖2為顯示根據本發(fā)明的、用來自動地發(fā)現并編組邏輯應用所使用的資源的裝置的一種實施例的邏輯方框圖;圖3為詳細顯示本發(fā)明的一種實施例的子組件的示意方框圖;圖4為顯示允許用戶與本發(fā)明的特定實施例交互的接口模塊的示意方框圖;圖5為顯示根據本發(fā)明的、單系統的示意方框圖;圖6為顯示根據本發(fā)明的、聯網系統的示意方框圖;圖7為顯示自動地發(fā)現并編組由業(yè)務流程使用的資源的方法的示意流程圖;以及圖8為顯示自動地發(fā)現并編組由業(yè)務流程使用的資源的替代方法的示意流程圖。
      具體實施例方式
      容易理解在此處一般地描述并且在附圖中顯示的本發(fā)明的組件可以許多種不同的配置安排與設計。由此,以下對附圖中顯示的本發(fā)明的裝置、系統、以及方法的實施例的更詳細的描述是要限制權利要求限定的本發(fā)明的范圍,而只是代表本發(fā)明的選定實施例。
      本說明書中描述的許多功能單元被標注為模塊,以更具體地強調其實現獨立性。例如,模塊可以被實現為硬件電路,其包含定制VLSI電路或者門陣列、商用半導體(例如邏輯芯片、晶體管、或者其它離散組件)。模塊也可以諸如現場可編程門陣列、可編程陣列邏輯、可編程邏輯設備等等一樣的可編程硬件設備實現。
      模塊也可以由不同類型的處理器執(zhí)行的軟件實現。可執(zhí)行代碼的所識別的模塊可以例如包括計算機指令的一或多個物理或者邏輯塊,其例如被組織為對象、流程、函數、或者其它構造。但是,所識別的模塊的可執(zhí)行文件不一定物理地位于同一位置,而是可以包含存儲在不同位置的相異的指令,其當被邏輯地聯合在一起時,構成該模塊,并且達到該模塊的所聲明的目的。
      實際上,可執(zhí)行代碼的模塊可以為單個指令、或者許多指令,甚至可以分布在不同程序中、并且在幾個存儲設備上的幾個不同的代碼段上。類似地,此處在模塊內可以識別并且說明操作數據,并且操作數據可以任何適當形式實現,并且組織在任何適當類型的數據結構內。操作數據可以被收集為單個數據集合,或者可以分布在不同的位置上(包括在不同的存儲設備上),并且可以至少部分地只作為系統或者網絡上的電子信號存在。
      本說明書中對“選定實施例”、“一種實施例”、或者“實施例”的稱謂指在本發(fā)明的至少一個實施例中包含與該實施例相關聯地描述的特定特征、結構、或者特性。由此,在本說明書中各處出現的短語“選定實施例”、“在一種實施例中”、或者“在實施例中”不一定都指同一實施例。
      另外,在一或多個實施例中,所述的特征、結構、或者特性可以任何適當方式組合。在以下描述中,提供了許多具體的細節(jié),例如編程、軟件模塊、用戶選擇、用戶界面、網絡交易、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等等的示例,以提供對本發(fā)明實施例的透徹理解。當時本領域技術人員知道可以在沒有一或多個所述具體細節(jié)的前提下,或者利用其它方法、組件、材料等等,實現本發(fā)明。在其它情況下,不詳細顯示或者描述公知的結構、材料、或者操作,以避免遮蔽本發(fā)明的各方面。
      通過參照附圖,將最好地理解本發(fā)明的所示實施例,其中類似的部件標注類似的標號。以下描述只是作為示例,并且只是顯示符合權利要求所述的本發(fā)明的設備、系統、以及處理的特定選定實施例。
      圖2顯示被配置來自動地發(fā)現并編組也可能對應于業(yè)務流程的邏輯應用所使用的文件的裝置200的邏輯方框圖。業(yè)務流程可以由被配置來協作以提供所希望的業(yè)務服務(例如電子郵件服務、零售網上店鋪、庫存管理等等)的許多組硬件與軟件組件執(zhí)行。為了清楚起見,在圖2中省略了某些公知的硬件與軟件組件。
      裝置200可以包括操作系統202,其通過文件I/O模塊204、網絡I/O模塊206、以及流程管理器208提供一般計算服務。文件I/O模塊204管理從存儲設備212(例如硬盤驅動器)上存儲的文件210的低級讀取數據并向其低級寫入數據。當然,存儲設備212也可以包括例如各種類型的DASD系統的存儲子系統。網絡模塊206管理在裝置200上執(zhí)行的流程214與可通過網絡(未顯示)訪問的外部計算系統之間的網絡通信。優(yōu)選地,文件I/O模塊204與網絡模塊206是操作系統202提供的、供所有流程214a-c使用的模塊??商鎿Q地,在操作系統202未提供這些模塊的情況下,可以編寫定制文件I/O模塊204與網絡模塊206。
      操作系統202包括流程管理器208,其調度流程214a-c對一或多個處理器(未顯示)的使用。流程管理器208包括關于正在執(zhí)行的流程214a-c的特定信息。在一種實施例中,該信息包括流程ID、流程名稱、流程擁有者(啟動該流程的用戶)、流程關系(流程如何與其它正在執(zhí)行的流程相關,例如孩子、父母、兄弟)、使用的其它資源(打開的文件或者網絡端口)等等。
      典型地,業(yè)務流程由一或多個當前正在執(zhí)行的流程214a-c定義。每個流程214包括可執(zhí)行文件210或者初始創(chuàng)建該流程214的父流程。如以下更詳細的說明,流程管理器208提供的信息使識別正在執(zhí)行的流程214a-c的原始文件210成為可能。
      在某些實施例中,裝置200包括監(jiān)控模塊216、分析模塊218、以及確定模塊220。這些模塊216、218、220協作以動態(tài)地識別構成對應于業(yè)務流程的邏輯應用的資源。典型地,這些資源為文件210??商鎿Q地,這些資源可以為可以由網絡地址(例如URL或者IP地址)標識的其它軟件資源(服務器、守護程序等等)。
      通過這種方式,可以對邏輯應用(業(yè)務流程)的文件210以及其它資源進行操作,而不需要手動地識別這些資源的枯燥、費工、容易出錯的過程。這些操作包括實現諸如用來備份、恢復、服務器負載管理、遷移等等一樣的業(yè)務級策略。
      監(jiān)控模塊216與流程管理器208、文件I/O模塊204、以及網絡I/O模塊206通信,以收集跟蹤數據。跟蹤數據為指示軟件應用(此處使用的“應用”指單流程,“邏輯應用”指一起實現業(yè)務流程的一或多個流程的集合)的操作行為的任何數據。跟蹤數據可以在執(zhí)行軟件應用期間或者在軟件應用首次執(zhí)行之后是可識別的。在軟件應用首次安裝之后也可以識別某些跟蹤數據。例如,稱為安裝程序的軟件應用可以通過簡單地在特定目錄中創(chuàng)建工作拷貝文件來創(chuàng)建跟蹤數據。
      優(yōu)選地,監(jiān)控模塊216收集所有流程214a-c的跟蹤數據。在一種實施例中,監(jiān)控模塊216基于已知與實現業(yè)務流程的資源直接相關的標識符(以后更詳細討論)來收集跟蹤數據??商鎿Q地,監(jiān)控模塊216可以在不基于標識符進行區(qū)別的前提下,收集裝置200的所有資源的跟蹤數據。
      在一種實施例中,監(jiān)控模塊216與流程管理器208通信,以收集與當前正在執(zhí)行的流程214相關的跟蹤數據。所收集的跟蹤數據表示在特定時間點上執(zhí)行的流程214a-c。因為正在執(zhí)行的流程214a-c的集合可能相對頻繁地變化,所以監(jiān)控模塊216可以周期性地從流程管理器208收集跟蹤數據。優(yōu)選地,用戶可配置的設置確定監(jiān)控模塊216何時從流程管理器208收集跟蹤數據。
      監(jiān)控模塊216還與文件I/O模塊204以及網絡模塊206通信,以收集跟蹤數據。文件I/O模塊204維護關于文件訪問操作(包括讀取、寫入、以及更新)的信息。從文件I/O模塊,監(jiān)控模塊216收集與流程214當前執(zhí)行、以及流程214過去運行相關的跟蹤數據。
      從文件I/O模塊204收集的跟蹤數據可以包括諸如文件名稱、文件目錄結構、文件大小、文件擁有者/創(chuàng)建者、文件訪問權限、文件創(chuàng)建日期、文件修改日期、文件類型、文件訪問時間戳、執(zhí)行過哪種類型的文件操作(讀取、寫入、更新)等一樣的信息。在一種實施例中,監(jiān)控模塊216也可以確定由正在執(zhí)行的流程214所當前打開的文件210。在特定實施例中,監(jiān)控模塊216從跨越多個存儲設備212的一或多個文件系統的文件I/O模塊204收集跟蹤數據。
      如上所述,監(jiān)控模塊216可以收集文件系統的所有文件210的跟蹤數據,或者只是與標識符清楚相關的文件和目錄的跟蹤數據。在邏輯應用中當前包含的標識符和/或資源可以用來確定從文件系統收集哪些跟蹤數據。
      監(jiān)控模塊216從網絡I/O模塊206收集關于流程214a-c的網絡活動的跟蹤數據。某些網絡活動可能清楚地與特定流程214和/或文件210相關。優(yōu)選地,網絡I/O模塊206提供將一或多個流程214與特定網絡活動相關聯的跟蹤數據。識別了進行網絡活動的流程214,也就因此識別了啟動流程214的資源。
      來自網絡I/O模塊206的跟蹤數據可以指示哪個流程214打開了進行網絡通信的特定端口。監(jiān)控模塊216可以收集由流程214用來進行標準網絡通信的公知端口的跟蹤數據。跟蹤數據可以標識端口號以及打開該端口的流程214。經常地,只有單個唯一的流程使用特定的網絡端口。
      例如,端口80上的通信可以用來識別裝置200上的網絡服務器。根據跟蹤數據,可以識別網絡服務器流程與可執(zhí)行文件。其它公知的端口包括FTP數據的20、FTP控制消息的21、telnet的23、域名服務器的53、POP3電子郵件的110等等。在某些操作系統202中,例如UNIX(UNIX為開放小組在美國與其它國家的注冊商標)以及LINUX(LINUX為Linux Torvalds在美國、或者其它國家、或者美國與其它國家的商標),網絡I/O跟蹤數據存儲在分離的目錄中。在其它操作系統202中,利用在后臺執(zhí)行的管理網絡端口的服務或者守護程序收集跟蹤數據。
      在一種實施例中,監(jiān)控模塊216自主地與流程管理器208、文件I/O模塊204、以及網絡I/O模塊206通信,以收集跟蹤數據。如上所述,監(jiān)控模塊216可以根據不同的用戶可配置的周期性循環(huán),收集不同類型的跟蹤數據。當不收集跟蹤數據時,監(jiān)控模塊216可以作為正在執(zhí)行的流程“休眠”,直至達到重啟跟蹤數據收集的時間。可替換地,監(jiān)控模塊216可以響應于用戶命令或者來自其它流程的命令執(zhí)行。
      監(jiān)控模塊216收集跟蹤數據,并且優(yōu)選地將跟蹤數據格式化為公共格式。在一種實施例中,該格式為一或多個XML文件。跟蹤數據可以存儲在存儲設備212上,并且被送往例如數據庫的中心庫以用于隨后的查詢。
      分析模塊218分析跟蹤數據以發(fā)現與業(yè)務流程相關聯的資源。因為跟蹤數據是根據實現業(yè)務流程的軟件組件的運行收集的,所以跟蹤數據直接或者間接地標識執(zhí)行業(yè)務流程的服務所需的資源。通過識別構成業(yè)務流程的資源,業(yè)務管理策略可以對作為整體的業(yè)務流程實現。通過這種方式,業(yè)務策略實現起來更簡單,成效更高。
      在一種實施例中,分析模塊218應用多個啟發(fā)式例程,以確定哪些資源最可能與特定邏輯應用以及該邏輯應用所表示的業(yè)務流程相關聯。以下更詳細地討論該啟發(fā)式例程。特定啟發(fā)式例程以比其它更高的確定性建立資源與邏輯應用之間的相關性。在一種實施例中,用戶可以調整用來確定候選資源是否包含在邏輯應用內的置信水平。該置信水平可以對每個啟發(fā)式例程分別調整和/或對于分析模塊218整體地調整。
      分析模塊218提供所發(fā)現的資源給確定模塊220,確定模塊220定義包含所發(fā)現的資源的邏輯應用。優(yōu)選地,確定模塊220定義諸如列表、表格、軟件對象、數據庫、文本擴展標記語言(XML)文件等等一樣的結構222,用來記錄所發(fā)現的資源與特定邏輯應用之間的相關性。如上所述,邏輯應用為實現特定業(yè)務流程的所有方面所需的資源的集合。
      結構222包括邏輯應用的名稱以及所有所發(fā)現資源的列表。優(yōu)選地,包含關于每個所發(fā)現資源的足夠的屬性,從而可以利用這些資源實現業(yè)務策略。提供諸如資源的名稱、位置、以及類型等一樣的屬性。
      另外,結構222可以包含頻率評級,其指示業(yè)務流程采用該資源的頻繁程度。在特定業(yè)務流程中,該頻率評級可以指示資源的重要性。另外,可以對每個資源存儲分析模塊218所確定的置信值。
      置信水平可以指示分析模塊218確定該資源適當地與給定邏輯應用相關聯的可能性。在一種實施例中,該置信水平由概率百分比表示。
      對于特定資源,結構222可以包括諸如包含諸如業(yè)務流程所使用的、但是分析模塊218不能直接訪問的資源的URL或者服務器名稱等一樣的信息。
      優(yōu)選地,分析模塊218與確定模塊220協作,以根據業(yè)務流程的標識符定義邏輯應用。通過這種方式,分析模塊218可以使用該標識符來將跟蹤數據過濾為更可能包含與感興趣的業(yè)務流程直接相關聯的資源的集合??商鎿Q地,分析模塊218可以采用特定例程或者算法,來根據來自作為整體的跟蹤數據的清楚的相關性證據提出特定邏輯應用,而不使用預定的標識符。
      可以提供用戶界面(UI)224,從而用戶可以向分析模塊218提供標識符。標識符226可以包含一或幾種標識符,包括可執(zhí)行文件或者數據文件的文件名稱,正在執(zhí)行的流程的文件名稱或者流程ID,端口號,目錄等等。標識符226所標識的資源可以被當作為邏輯應用的種子資源,因為標識符226所標識的資源缺省地包含在邏輯應用中,并且用來添加通過搜索跟蹤數據發(fā)現的額外的資源。
      例如,用戶可能希望創(chuàng)建邏輯應用,根據該邏輯應用流程訪問了數據庫文件“User.db”來。在UI 224中,用戶輸入文件名稱User.db。然后,分析模塊218搜索跟蹤數據,尋找打開或者關閉過User.db文件的流程。將啟發(fā)式例程用于所識別的任何候選資源,并且將結果的資源集合在UI 224中呈現給用戶。
      結果集合包括與結構222中相同的信息。UI 224也可以允許用戶通過添加或者去除特定資源來修改邏輯應用的內容。然后,用戶可以人類可讀的XML結構222存儲修改的邏輯應用。另外,用戶可以調整對于啟發(fā)式例程以及分析模塊218整體的置信水平。
      通過這種方式,裝置200允許創(chuàng)建對應于業(yè)務流程的邏輯應用。邏輯應用跟蹤關于資源的信息,該資源實現業(yè)務流程到足夠的細節(jié)水平,從而可以容易地實現諸如備份、恢復、遷移等等一樣的業(yè)務級策略。另外,當更新、替換、以及修改實現業(yè)務流程的子系統時,可以容易地調整與改編邏輯應用定義。邏輯應用跟蹤業(yè)務數據以及對該業(yè)務數據進行操作的流程/可執(zhí)行文件。通過這種方式,業(yè)務數據可以被完全存檔以備以后使用,而不需要成本高昂的轉換與數據提取程序。
      圖3顯示本發(fā)明一種實施例的更多細節(jié)。該實施例與圖2所示的裝置200類似。具體地,所示實施例包括監(jiān)控模塊302、分析模塊304、確定模塊306、以及接口308。
      在一種實施例中,當業(yè)務流程正在執(zhí)行時,監(jiān)控模塊302收集跟蹤數據310。換而言之,當實現業(yè)務流程的應用正在執(zhí)行時,監(jiān)控模塊302收集跟蹤數據。但是,當沒有正在執(zhí)行/運行業(yè)務流程時,監(jiān)控模塊302也可以收集足夠的跟蹤數據310。另外,接口308可以接收將實現業(yè)務流程的資源與業(yè)務流程直接相關的標識符。優(yōu)選地,該標識符為業(yè)務流程所特有,但并不總需要唯一性。該標識符可以由分析模塊304在分析跟蹤數據310時使用。
      監(jiān)控模塊302包括啟動模塊312、控制器314、存儲模塊316、以及掃描器318。啟動模塊312啟動一或多個活動監(jiān)控器320。當監(jiān)控模塊302開始時啟動模塊312可以啟動活動監(jiān)控器320,或者根據為每個活動監(jiān)控器320或為作為整體的活動監(jiān)控器320定義的監(jiān)控計劃而周期性地啟動活動監(jiān)控器320。
      活動監(jiān)控器320為被配置來跟蹤與資源相關的特定類型的活動的軟件函數、線程、或者應用。活動監(jiān)控器可以通過直接、或者借助從其它模塊(例如參照圖2所述的流程管理器208、文件I/O模塊204、以及網絡I/O模塊206)收集跟蹤數據而間接地監(jiān)控活動,來聚集跟蹤數據。
      在一種實施例中,每個活動監(jiān)控器320收集對于特定類型的活動的跟蹤數據。例如,文件I/O活動監(jiān)控器320可以與文件I/O模塊204通信,并且捕獲諸如做出文件I/O請求的流程、所做請求的類型以及請求的時間一樣的所有文件I/O操作以及上下文信息。可以用于本發(fā)明的活動監(jiān)控器320的一個示例為美國專利申請?zhí)?##中描述的墊片(shim)應用,其通過引用融入本文。當然,依賴于業(yè)務流程所執(zhí)行的活動的性質,可以啟動不同的其它類型的活動監(jiān)控器。特定活動監(jiān)控器可以跟蹤遠程程序調用(RPC)。
      在一種實施例中,控制器314控制活動監(jiān)控器320的操作。控制器314可以調整調度活動監(jiān)控器以使用所監(jiān)控的系統的(多個處理器)的優(yōu)先級。通過這種方式,控制器314允許持續(xù)監(jiān)控,并且根據需要動態(tài)地調整監(jiān)控的影響。優(yōu)選地,控制器314對整體系統性能的控制以及影響是用戶可配置的。
      存儲模塊316與活動監(jiān)控器320交互,以收集和存儲每個單個的活動監(jiān)控器320收集的跟蹤數據。在特定實施例中,當活動監(jiān)控器320檢測到執(zhí)行特定類型的活動的資源(可執(zhí)行文件、數據文件、或者軟件模塊)時,活動監(jiān)控器320將活動特有的跟蹤數據提供給存儲模塊316進行存儲。
      存儲模塊316可以在存儲跟蹤數據之前對跟蹤數據進行特定的一般格式化與組織。優(yōu)選地,將對于所有活動監(jiān)控器320的跟蹤數據存儲在諸如數據庫或者日志/跟蹤文件等一樣的中央庫中。
      典型地,活動監(jiān)控器320監(jiān)控在業(yè)務流程運行期間進行的動態(tài)活動,同時掃描器318從相對靜態(tài)的系統信息(例如文件系統信息、流程信息、聯網信息、I/O信息等等)收集跟蹤數據。掃描器318掃描對于業(yè)務流程進行的特定類型的活動的系統信息。
      例如,掃描器318可以掃描特定資源所創(chuàng)建/擁有的文件的一或多個文件系統目錄??捎蓸俗R符命名資源,從而知道該資源屬于實現業(yè)務流程的邏輯應用319。因此,掃描器318可以向存儲模塊316提供所發(fā)現的任何跟蹤數據以備存儲。
      在一種實施例中,監(jiān)控模塊302產生一組或一批跟蹤數據310,分析模塊304以后將檢查該跟蹤數據310(批處理模式)??商鎿Q地,監(jiān)控模塊302可以向分析模塊304提供跟蹤數據310的流,當提供跟蹤數據310(流傳送模式)時,分析模塊304分析跟蹤數據310。兩種模式都被認為在本發(fā)明的范圍之內。
      分析模塊304可以包含查詢模塊322、評估模塊324、發(fā)現模塊326、以及修改模塊328。評估模塊324與發(fā)現模塊326緊密協作以識別與邏輯應用319相關聯的候選資源。
      評估模塊324對跟蹤數據310集合施加一或多個啟發(fā)式例程330a-f。優(yōu)選地,查詢模塊322將跟蹤數據310過濾為較小的結果集合??商鎿Q地,啟發(fā)式例程330a-f被施加到所有可用的跟蹤數據310。
      過濾器可以包括與業(yè)務流程直接相關的標識符。標識符可以為資源名稱,例如文件名稱??商鎿Q地,過濾器可以基于時間、活動、類型、以及其它適當的標準,來減少跟蹤數據310的大小。過濾器可以為通用的,或者基于特定啟發(fā)式例程330a-f的具體需求。
      在一種實施例中,評估模塊324基于標識符施加啟發(fā)式例程330a-f。標識符提供對跟蹤數據進行分析的開始點。在一種實施例中,將已知與業(yè)務流程相關的標識符自動與對應的邏輯應用319相關聯。該標識符是用于確定與邏輯應用319相關聯的其它資源的種子。標識符可以為已知涉及特定業(yè)務流程的關鍵可執(zhí)行文件的文件名稱。
      每個啟發(fā)式例程330a-f基于標識符或由該標識符所表示的軟件應用的特性來分析跟蹤數據。例如,該特性可以包括這個軟件應用始終執(zhí)行端口80上的網絡I/O這一事實。示例的標識符可以是當啟動庫控制系統時作為第一應用啟動的inventorystartup.exe。
      每個啟發(fā)式例程330a-f可以分析與邏輯應用319的成員相關的跟蹤數據。啟發(fā)式例程330a-f為使用邏輯應用319的成員來檢查跟蹤數據310的算法。啟發(fā)式例程330a-f尋求識別一候選資源,對于該候選資源來說跟蹤數據310指示候選資源與邏輯應用319的成員之間的潛在關系。因為該關系以啟發(fā)式方式確定,所以啟發(fā)式例程330a-f賦值將候選資源與邏輯應用319相關聯的概率??紤]到關于邏輯應用319的如此少的信息,該確定是非常復雜與困難的。因此,應用不同概率的多個啟發(fā)式例程,以提供盡可能精確的確定。
      此處使用的術語“啟發(fā)式”指“一種設計來解決問題的技術,其忽略解決方案是否正確,但是一般可以產生良好的解決方案,或者解決包含或者與更復雜問題的解決方案交互的較簡單的問題。”(參見網站www.wikipedia.org上的定義)。
      在優(yōu)選實施例中, 提供啟發(fā)式例程330a-f的初始集合,并且允許用戶添加其自己的啟發(fā)式例程330a-f。啟發(fā)式例程330a-f與發(fā)現模塊326協作。一旦啟發(fā)式例程330a-f識別出與邏輯應用相關聯的資源,發(fā)現模塊326將發(fā)現該資源,并且創(chuàng)建該資源到邏輯應用的關聯。
      一個啟發(fā)式例程330a識別標識符標識的應用的子應用所使用的所有資源。另一啟發(fā)式例程330b識別與標識符標識的資源在同一目錄中的所有資源。另一啟發(fā)式例程330c分析存儲標識符標識的資源的目錄與父目錄的使用行為,以識別是子目錄還是父目錄與其全部內容都與邏輯應用相關。
      一個啟發(fā)式例程330d確定標識符所標識的資源是否屬于安裝包,并且如果屬于安裝包,則將安裝包中的所有資源都當作滿足啟發(fā)式例程330d。另一啟發(fā)式例程330e檢查在以標識符標識的資源的執(zhí)行開始時間為中心的時間窗中使用的資源。在該時間窗中使用的資源滿足啟發(fā)式例程330e。最后,符合用戶定義的規(guī)則的資源可以滿足一個啟發(fā)式例程330f。這些規(guī)則可以基于存在于計算機設施處的站點特有程序包含或者排除某些資源。
      在一種實施例中,評估模塊324與發(fā)現模塊326協作,以根據兩種不同的方法發(fā)現資源。第一種方法被稱為擴大方案。根據該方法,應用啟發(fā)式例程330a-f,以增加當前在定義邏輯應用的集合內的資源集合。通過這種方式,當應用啟發(fā)式例程330a-f時,標識符標識的初始資源,即種子,增長為相關資源網絡。使用該方案表示對啟發(fā)式例程不會錯過相關資源有信心,但是存在可能會錯過某些資源的風險。但是這種方案可以排除不必要的資源。
      第二種方法被稱為縮減方案,其更加保守,但是可以包含實際不與邏輯應用相關聯的資源??s減方案開始于包含表示實現邏輯應用、即業(yè)務流程的(多個)計算機系統可以訪問的所有資源的預定超集的邏輯應用。然后,利用反向操作,應用啟發(fā)式例程330a-f,這意味著從預定超集中去除滿足啟發(fā)式例程330a-f的資源。
      不管使用什么方法,評估模塊324產生候選資源集合,其被傳送給修改模塊328。修改模塊328將候選資源傳送給確定模塊306,確定模塊306從在邏輯應用319中定義的集合中去除或者添加候選資源。確定模塊306定義以及再定義修改模塊328所指示的邏輯應用319。
      優(yōu)選地,評估模塊324被配置來對目前包含在邏輯應用319中的每個資源應用啟發(fā)式例程330a-f。因此,修改模塊328也可以確定是否對邏輯應用319再次運行評估模塊324。在一種實施例中,修改模塊328可以根據在評估模塊324運行的疊代之間邏輯應用319的變化的、用戶可配置的百分比進行此類確定??商鎿Q地,用戶可配置的設置可以確定預定數目的疊代。
      通過這種方式,根據最近添加的資源與已經存在于邏輯應用319中的資源之間的關系,邏輯應用319持續(xù)增長或者縮小。一旦在疊代之間邏輯應用319變化很小,則可以說邏輯應用穩(wěn)定了。
      一旦修改模塊328確定邏輯應用319完整(穩(wěn)定,或者已經完成了所需數目的疊代),則確定模塊306向接口308提供邏輯應用319。優(yōu)選地,接口308允許用戶使用圖形用戶界面332(GUI)或者應用編程接口(API)與邏輯應用319交互。
      圖4更詳細地顯示圖3的接口308的一種實施例。接口308允許控制關于對邏輯應用的識別的參數。用戶可以直接提供輸入402,其影響如何定義邏輯應用。此類輸入402可以包含初始標識符、啟發(fā)式例程330a-f的門限值(參見圖3)、對用來建立邏輯應用的方案(擴大或者消減)的選擇、用戶定義的用于啟發(fā)式例程330a-f之一的規(guī)則等等。
      用戶輸入402可以通過GUI 332提供。GUI 332可以包括編輯器404,其允許編輯邏輯應用。編輯器404可以呈現邏輯應用的名稱或者其它細節(jié),以及當前與邏輯應用相關聯的資源的列表。然后用戶可以使用編輯器404從該列表刪除或者添加資源。
      一旦定義了邏輯應用,將可以使用格式化器406將其從接口308以不同的格式導出。在一種實施例中,格式化器406產生人類可讀的XML文件,其包括一或多個邏輯應用及其相關聯的資源。
      其它軟件應用408可以使用接口308來識別用于所述這些其它軟件應用408的邏輯應用。例如,管理模塊408可以調用API 334的函數或者方法,以識別邏輯應用。作為響應,API334提供已公布格式的邏輯應用定義。
      然后,管理模塊408可以向邏輯應用施加業(yè)務級策略410。例如,管理模塊408可以包括Tivoli存儲管理器408。給定了API334提供的邏輯應用,存儲管理器408可以整體上向邏輯應用施加備份策略410。通過這種方式,對于可能擴散在多個存儲設備與文件系統上的資源,自動實現備份策略410。因為本發(fā)明自動識別了邏輯應用,所以避免了在滿足備份策略時手工地識別所涉及的資源的費工、易出錯的過程。
      當然,表示業(yè)務流程的邏輯應用可以由不同的其它軟件應用408使用,以實現各種業(yè)務級策略410。例如,某些軟件應用408可以利用邏輯應用實現負載平衡策略、軟件遷移策略等等。另外,本發(fā)明允許修改這些邏輯應用并且將其重新定義為資源,并且更新或者替換子組件。
      圖5顯示自動地發(fā)現并編組由業(yè)務流程使用的資源的單系統500的一種實施例。系統500包括操作系統502、流程管理器504、以及I/O模塊506。操作系統502管理流程的執(zhí)行。流程管理器504提供關于正在運行的流程的信息。I/O模塊506提供關于文件活動的信息。
      系統500可以包括多個文件系統(FS)508a-n,其使用對應的存儲設備510a-n。I/O模塊506可以提供所有文件系統508a-n的文件信息。
      監(jiān)控模塊512收集在操作系統502執(zhí)行軟件應用期間的跟蹤數據514。監(jiān)控模塊512可以與流程管理器504、I/O模塊506、以及文件系統508a-n交互以收集跟蹤數據514。為了收集特定類型的跟蹤數據514,監(jiān)控模塊512可以包括流程監(jiān)控器516、I/O監(jiān)控器518、網絡監(jiān)控器520、以及FS監(jiān)控器522。在一種實施例中,監(jiān)控器516、518、520、522在聚集跟蹤數據514時執(zhí)行與參照圖3所述的活動監(jiān)控器320基本相同的功能。
      監(jiān)控模塊512提供跟蹤數據514給分析模塊522,其分析跟蹤數據以發(fā)現與業(yè)務流程相關聯的資源。分析模塊522功能與圖3實施例中所述的分析模塊304基本類似。分析模塊522也可以定義邏輯應用524。邏輯應用524可以在標記語言數據結構(例如XML)內定義。
      接口526可以允許用戶使用GUI 528與邏輯應用524交互??商鎿Q地,或者另外地,可以通過API 530將邏輯應用524提供給其它軟件應用408(參見圖4)。
      系統500自動發(fā)現單系統中業(yè)務流程所使用的資源(文件、端口等等)。典型地,使用多個軟件應用來實現業(yè)務流程。即使單個軟件應用也可以具有在同一系統上的不同的已知以及未知位置中存儲的、大量的資源。系統500自動地識別對應于業(yè)務流程的邏輯應用。
      在某些情況下,該邏輯應用對應于單個軟件應用。因為邏輯應用被自動發(fā)現,所以可以整體上對邏輯應用進行操作,而不是獨立地對子系統與子模塊進行操作。這些操作可以包括更新邏輯應用,刪除邏輯應用,備份邏輯應用等等。
      圖6顯示自動地發(fā)現并編組與業(yè)務流程相關聯的資源的系統600的一種實施例。系統600定義擴散在多個互聯計算機系統602上的業(yè)務流程的邏輯應用。換而言之,與業(yè)務流程相關、并且實現業(yè)務流程的資源可以存儲在多個存儲設備604a-e上。在這種情況下,因為資源非常擴散,所以手動地識別實現業(yè)務流程的所有資源是困難并且易出錯的。
      在圖6的實施例中,本發(fā)明自動地發(fā)現并編組與業(yè)務流程相關聯的資源。具體地,監(jiān)控模塊606a-e可以在實現部分業(yè)務流程的每個計算機系統602a-e上執(zhí)行。例如,網絡服務器606a可以實現通過因特網610的、與客戶端608的網絡接口。幾個應用服務器602b、602e可以執(zhí)行中間件軟件模塊,并且一對數據庫管理系統(DBMS)602c、602d可以處理業(yè)務流程的數據。計算機系統602a-e可以運行各種操作系統,包括Linux、Mac、Windows、z/OS等等。
      優(yōu)選地,每個監(jiān)控模塊606a-e收集表示軟件應用在其主機計算機系統602a-e上的操作的跟蹤數據。監(jiān)控模塊606a-e可以監(jiān)控在主機計算機系統602a-e上執(zhí)行的所有軟件應用的所有文件I/O、網絡、以及流程活動,以確保收集對可能屬于業(yè)務流程的所有資源的跟蹤數據??商鎿Q地,在確定監(jiān)控哪些軟件應用時,監(jiān)控模塊606a-e可以更具選擇性。
      存儲模塊612可以在一個計算機系統602e上執(zhí)行。存儲模塊612可以與每個監(jiān)控模塊606a-e通信以收集跟蹤數據。存儲模塊612可以周期性地與監(jiān)控模塊606a-e聯系。可替換地,一旦收集了特定量的跟蹤數據或者已經對特定的時間周期收集了跟蹤數據,監(jiān)控模塊606a-e可以發(fā)送跟蹤數據給存儲模塊612。存儲模塊612可以在中央庫614中存儲跟蹤數據。
      分析模塊616(優(yōu)選地在與存儲模塊612相同的計算機系統602e上)分析庫614中的跟蹤數據。圖6實施例中的分析模塊616功能與圖5實施例中描述的分析模塊522基本相同。一個差別在于跟蹤數據來自多個計算機系統602a-e,而不只來自主機計算機系統602e。
      用戶可以使用GUI 618來與分析模塊616交互,以使用接口620定義并且修改邏輯應用。優(yōu)選地,用戶提供用于標識要包含在構成邏輯應用的資源列表中的第一資源的標識符??商鎿Q地,或者另外地,另一軟件應用可以使用API 622與分析模塊616交互。
      在被配置來根據監(jiān)控模塊606a-e提供的跟蹤數據、自動地發(fā)現并編組由業(yè)務流程使用的資源的子系統624中,存儲模塊612、分析模塊616、以及接口模塊620一起協作。系統600用邏輯應用實際使用的資源定義邏輯應用。
      這些邏輯應用可以由軟件管理應用使用,來整體上向邏輯應用施加業(yè)務級策略。典型地,這些資源包括數據文件與可執(zhí)行文件。但是,資源也可以包括服務應用,例如網絡服務、服務器、代理、以及守護程序,其由邏輯應用的某些部分使用以執(zhí)行其希望的功能。
      圖7顯示自動地發(fā)現并編組由業(yè)務流程使用的資源的方法700的流程圖。方法700開始于接收702業(yè)務流程的標識符。該標識符標識一直與業(yè)務流程直接相關聯的資源。該資源實現業(yè)務流程的至少一部分。
      定義邏輯應用以至少包括該資源。在一個示例中,標識符可以包含已知執(zhí)行以實現業(yè)務流程的可執(zhí)行文件的文件名稱。如上所述,標識符可以包含端口號或者其它區(qū)別特征。
      可替換地,或者另外地,可以使用標識符標識實現業(yè)務流程的軟件應用的可跟蹤特性。例如,標識符可以包含數據文件名稱。方法700可以用來確定包含直接或者間接訪問該數據文件的所有資源的邏輯應用。
      接著,啟動704活動監(jiān)控器,以跟蹤特定類型的資源活動。活動監(jiān)控器功能可以與參照圖3描述的活動監(jiān)控器320基本相同。一個活動監(jiān)控器320可以跟蹤文件I/O,另一個可以跟蹤網絡通信,同時另一個可以跟蹤正在執(zhí)行的流程。優(yōu)選地,活動監(jiān)控器320不限于由標識符標識的資源所進行的操作。
      優(yōu)選地,當活動監(jiān)控器320運行時,執(zhí)行業(yè)務流程,從而計算機系統行為包括實現業(yè)務流程的資源所執(zhí)行的操作。接著,收集706由活動監(jiān)控器320定義的跟蹤數據。另外,可以將跟蹤數據組織和/或格式化為公共格式。然后存儲708組合的跟蹤數據。在特定實施例中,將跟蹤數據存儲在中央庫614(參見圖6)中。
      除在實現業(yè)務流程的軟件應用的操作期間收集的跟蹤數據之外,還可以掃描710系統信息以求得跟蹤數據。例如,可以掃描文件系統,以求得具有指示軟件應用活動的創(chuàng)建時間戳和/或訪問時間戳的文件。這些掃描可以包括文件系統當前狀態(tài)的瞬間狀態(tài)。此類信息(跟蹤數據)可以在以后實現業(yè)務流程時用來標識特定資源的行為。
      系統信息可以包括資源相關信息。例如,系統信息可以包括目錄的內容、以及文件系統中文件與目錄之間的關系。系統信息還可以包括正在運行的當前流程的列表、以及流程與被允許和被禁止的網絡活動的日志之間的關系。
      接著,在考慮到在步驟702提供的標識符的情況下,分析712所收集的跟蹤,以發(fā)現與標識符相關的資源。在一種情況下,相關性可以是在文件之間。在另一種情況下,相關性是在文件與特定端口號上的網絡活動之間。根據一或多個啟發(fā)式例程,將可以在跟蹤數據中識別的資源確定為與標識符和/或邏輯應用中的其它資源相關。優(yōu)選地,所發(fā)現的資源與包括對其收集了跟蹤數據的軟件應用的業(yè)務流程相關。
      處理700定義714開始于標識符所標識的資源的邏輯應用。在一種實施例中,分析步驟712建立開始于標識符所標識的資源的相關資源的聚集(擴大)。隨著新資源的發(fā)現,它們被添加714到邏輯應用。修改邏輯應用以包括與已經關聯于邏輯應用的資源相關聯的資源。如果添加了新資源716,則該處理繼續(xù)分析步驟712,以確定其它資源是否與新近添加的資源直接相關。如果沒有添加新資源,則處理700可以結束。
      在另一種實施例中,定義邏輯應用以包括預定的超集。該超集包括計算機系統可以訪問的所有資源(即所連接的文件系統中的所有文件)。然后分析步驟712施加啟發(fā)式例程,以確定從該超集中去除哪些資源(消減)。如果去除了資源,則可以重復分析步驟712,直至每次附加的疊代中去除非常少的資源。
      可替換地,與重復分析步驟712直至不再添加/去除資源、或者僅添加/去除少的新資源不同,該處理700可以重復分析預定的、用戶定義的疊代數目。本領域技術人員可以理解關于收集與存儲跟蹤數據的步驟704-710可與接收標識符并進行分析的步驟702與712-716分離地執(zhí)行。因此,方法700不限于圖7所示的操作順序。
      圖8顯示自動地發(fā)現并編組由業(yè)務流程使用的資源的方法800的流程圖,其中業(yè)務流程由多個聯網的計算機系統實現。方法800開始于監(jiān)控802業(yè)務流程的操作。在一種實施例中,監(jiān)控模塊606a-e在實現業(yè)務流程的每個計算機系統上執(zhí)行。
      接著,優(yōu)選地,通過監(jiān)控模塊606,聚集804跟蹤數據(參見圖6)。監(jiān)控模塊606允許跟蹤業(yè)務流程的行為,同時對實現業(yè)務流程的計算機系統的操作施加最小的開銷。監(jiān)控模塊606可以將跟蹤數據提供給存儲模塊612,以存儲在中央庫614中。跟蹤數據作為每個互聯的計算機系統602上的幾乎所有流程的行為的歷史記錄。
      然后通過識別與標識符(例如文件名稱、端口號、流程ID等等)相關的的那些資源,分析跟蹤數據,以發(fā)現與業(yè)務流程相關聯的資源。在一種實施例中,使用特定的啟發(fā)式例程,以在考慮到標識符以及標識符所標識的資源的特性的情況下,分析跟蹤數據。根據啟發(fā)式例程,可以使用利用標識符與啟發(fā)式例程導出的搜索標準搜索806跟蹤數據。
      例如,啟發(fā)式例程可以基于在預定時間之后訪問的資源。因此,可以使用包含在預定時間之后訪問的資源的跟蹤記錄的搜索標準搜索806跟蹤數據??商鎿Q地,搜索標準可以簡單地包括標識符,例如文件名稱。
      典型地,對跟蹤數據的搜索產生包含跟蹤記錄的結果集合。在特定實施例中,向所述結果集合應用808啟發(fā)式例程,從而發(fā)現滿足啟發(fā)式例程的資源。可替換地,可以當掃描所有跟蹤數據時應用808啟發(fā)式例程。在另一種可替換實施例中,根據啟發(fā)式例程的類型,可以重復掃描跟蹤數據,以確保正確應用了啟發(fā)式例程,并且完全利用了跟蹤數據。
      接著,在擴大方案下,將滿足至少一個啟發(fā)式例程的資源組裝810為邏輯應用。在消減方案下,從包含互聯的計算機系統602的所有可用資源的超集的邏輯應用中,去除滿足至少一個啟發(fā)式例程的資源。
      最后,向邏輯應用施加812自動的以及手動的業(yè)務級策略二者。業(yè)務策略的示例可以包括交易負載平衡、數據和/或軟件恢復、軟件遷移、以及備份。其它策略可以包括識別一或多個計算機系統中包括病毒攻擊所影響的資源的邏輯應用,該病毒攻擊包括包含病毒的資源以及病毒所改變的資源。
      本領域技術人員可以快速地認識到本發(fā)明所提供的潛在好處。自動識別對應于合法業(yè)務流程和/或非法流程以及其它分布式系統的邏輯應用的能力大大簡化了進攻性與防御性業(yè)務策略的實現。
      概括地說,本發(fā)明提供了一種自動地發(fā)現并編組業(yè)務流程或者其它分布式系統所使用的資源的裝置、系統、以及方法。本發(fā)明非常精確,這是因為收集了非常廣泛的跟蹤數據,并且在識別資源時采用了多個精確的啟發(fā)式例程。另外,本發(fā)明可配置性很高。用戶可以編輯自動定義的邏輯應用,如果希望的話定義啟發(fā)式規(guī)則,以及調整所施加的啟發(fā)式例程的敏感度。通過這種方式,根據所涉及的業(yè)務流程的重要性,本發(fā)明可以更保守或者更自由地進行操作。本發(fā)明還可以與其它軟件管理系統接口,以促進業(yè)務策略的實現。另外,隨著更多的跟蹤數據可用,所定義的邏輯應用可以被重新定義。通過這種方式,可以修改邏輯應用,以允許隨著時間的、對業(yè)務流程的子組件的更新與改變。
      在不脫離其范圍的情況下,本發(fā)明可以其它特定形式實現。所述實施例在所有方面都應該被認為是說明性的,而非限制性的。因此,本發(fā)明的范圍由權利要求指示,而非由上述說明書指示。在權利要求的含義與范圍內的所有變化都覆蓋在本發(fā)明的范圍之內。
      權利要求
      1.一種自動地發(fā)現并編組由業(yè)務流程使用的資源的裝置,該裝置包括監(jiān)控模塊,其可被配置來收集表示軟件應用的操作行為的跟蹤數據;分析模塊,其可被配置來分析跟蹤數據以發(fā)現與包括所述軟件應用中的至少一個的業(yè)務流程相關聯的資源;以及確定模塊,其可被配置來定義包括所發(fā)現的資源的邏輯應用。
      2.如權利要求1所述的裝置,還包括修改模塊,其可被配置來修改該邏輯應用以包含與已經包含在該邏輯應用內的資源相關聯的資源。
      3.如權利要求1或2所述的裝置,其中所述邏輯應用可被配置使得用戶可以添加或者刪除所發(fā)現的資源。
      4.如上述權利要求中任何一項所述的裝置,還包括管理模塊,其可被配置來將業(yè)務級策略施加到所述邏輯應用。
      5.如上述權利要求中任何一項所述的裝置,還包括接口,其可被配置來接收用于業(yè)務流程的標識符,該標識符與實現該業(yè)務流程的資源直接相關;其中所述監(jiān)控模塊可被配置以便當執(zhí)行業(yè)務流程時收集跟蹤數據,該跟蹤數據與所述資源相關;并且其中所述分析模塊可被配置來分析該跟蹤數據以發(fā)現與所述標識符相關的一或多個資源。
      6.如權利要求5所述的裝置,其中所述分析模塊還包括查詢模塊,其可被配置來過濾所述跟蹤數據以產生結果集合;評估模塊,其可被配置來向所述結果集合施加一或多個啟發(fā)式例程,以發(fā)現與所述標識符相關的一或多個資源;以及發(fā)現模塊,其可被配置來響應于所述一或多個啟發(fā)式例程,發(fā)現一或多個資源。
      7.如權利要求5所述的裝置,其中所述確定模塊響應于啟發(fā)式例程,添加一或多個所發(fā)現的資源。
      8.如權利要求5所述的裝置,其中所述確定模塊響應于啟發(fā)式例程,從包含幾乎所有可用資源的預定超集中去除一或多個資源。
      9.如權利要求5所述的裝置,其中所述監(jiān)控模塊還包括啟動模塊,其可被配置來啟動一或多個活動監(jiān)控器,每個活動監(jiān)控器可被配置來跟蹤涉及資源的特定類型的活動;控制器,其可被配置來控制所述活動監(jiān)控器;以及存儲模塊,其可被配置來響應于進行所述特定類型的活動的資源的使用,存儲來自活動監(jiān)控器的、描述特定類型的活動的跟蹤數據。
      10.如權利要求9所述的裝置,還包括掃描器,其掃描系統信息以得到描述所述業(yè)務流程所進行的特定類型的活動的跟蹤數據。
      11.如上述權利要求中任何一項所述的裝置,其與實現業(yè)務流程的多個互聯的計算機系統一同使用,其中所述監(jiān)控模塊駐留在每個計算機系統上,監(jiān)控模塊可被配置來收集表示至少一個軟件應用所執(zhí)行的操作的跟蹤數據;存儲模塊,其可被配置來收集來自監(jiān)控模塊的跟蹤數據并且在庫中存儲所收集的跟蹤數據;其中所述分析模塊可被配置來分析所收集的跟蹤數據,以發(fā)現與包括所述軟件應用的業(yè)務流程相關聯的資源,并且定義包括所發(fā)現的資源的邏輯應用;并且其中所述接口與分析模塊通信,并且所述接口可被配置來通過圖形用戶界面(GUI)與用戶交互以及通過應用編程接口(API)與其它軟件應用交互。
      12.如權利要求11所述的裝置,所述接口將邏輯應用提供給對該邏輯應用施加業(yè)務級策略的其它軟件應用。
      13.一種自動地發(fā)現并編組由業(yè)務流程使用的資源的系統,包括操作系統,其可被配置來管理流程的執(zhí)行;流程管理器,其可被配置來提供關于正在運行的流程的信息;輸入/輸出(I/O)模塊,其可被配置來提供文件活動信息;文件系統,其可被配置來管理在存儲設備中存儲的文件,并且提供關于所述文件的元數據;監(jiān)控模塊,其可被配置來收集在操作系統中執(zhí)行至少一個軟件應用期間內的跟蹤數據,該監(jiān)控模塊與流程管理器、I/O模塊、以及文件系統中的至少一個交互以收集與所述軟件應用的操作直接相關的跟蹤數據;以及分析模塊,其可被配置來分析所述跟蹤數據,以發(fā)現與包含所述軟件應用的業(yè)務流程相關聯的資源以及定義包括所發(fā)現的資源的邏輯應用。
      14.一種自動地發(fā)現并編組由業(yè)務流程使用的資源的方法,該方法包含以下步驟收集表示軟件應用的操作行為的跟蹤數據;分析所述跟蹤數據,以發(fā)現與包括所述軟件應用的至少一個的業(yè)務流程相關聯的資源;以及定義包括所發(fā)現的資源的邏輯應用。
      15.如權利要求14所述的方法,還包括以下步驟修改邏輯應用以包含與已經包含在該邏輯應用內的資源相關聯的資源。
      16.如權利要求14或15所述的方法,其中所述邏輯應用可被配置使得用戶可以添加或者刪除所發(fā)現的資源。
      17.如權利要求14到16中任何一項所述的方法,還包括以下步驟將業(yè)務級策略施加到所述邏輯應用。
      18.如權利要求14到17中任何一項所述的方法,還包括以下步驟接收用于業(yè)務流程的標識符,該標識符與實現該業(yè)務流程的資源直接相關;當業(yè)務流程執(zhí)行時,收集跟蹤數據,該跟蹤數據與所述資源相關;以及分析該跟蹤數據以發(fā)現與所述標識符相關的一或多個資源。
      19.如權利要求18所述的方法,其中所述分析所述跟蹤數據以發(fā)現與所述標識符相關的一或多個資源的步驟進一步包括以下步驟過濾所述跟蹤數據以產生結果集合;向所述結果集合施加一或多個啟發(fā)式例程,以發(fā)現與所述標識符相關的一或多個資源;以及響應于所述一或多個啟發(fā)式例程,發(fā)現一或多個資源。
      20.如權利要求18所述的方法,還包括以下步驟響應于啟發(fā)式例程,添加一或多個所發(fā)現的資源。
      21.如權利要求18所述的方法,還包括以下步驟響應于啟發(fā)式例程,從包含幾乎所有可用資源的預定超集中去除一或多個資源。
      22.如權利要求18所述的方法,還包括以下步驟啟動一或多個活動監(jiān)控器,每個活動監(jiān)控器可被配置來跟蹤涉及資源的特定類型的活動;控制活動監(jiān)控器;以及響應于進行所述特定類型的活動的資源的使用,存儲來自活動監(jiān)控器的、描述特定類型的活動的跟蹤數據。
      23.如權利要求22所述的方法,還包括以下步驟掃描系統信息以得到描述所述業(yè)務流程所進行的特定類型的活動的跟蹤數據。
      24.如權利要求14到23中任何一項所述的方法,其與實現業(yè)務流程的多個互聯的計算機系統一同使用,還包括以下步驟在每個計算機系統上,收集表示至少一個軟件應用所執(zhí)行的操作的跟蹤數據;在庫中存儲所收集的跟蹤數據;分析所收集的跟蹤數據,以發(fā)現與包括所述軟件應用的業(yè)務流程相關聯的資源并且定義包括所發(fā)現的資源的邏輯應用;以及通過圖形用戶界面(GUI)與用戶交互并且通過應用編程接口(API)與其它軟件應用交互。
      25.如權利要求24所述的方法,還包括以下步驟將邏輯應用提供給對該邏輯應用施加業(yè)務級策略的其它軟件應用。
      26.一種計算機程序,包括適于當所述程序在計算機上運行時執(zhí)行如權利要求14到25中任何一項所述的方法的所有步驟的程序代碼段。
      全文摘要
      提供一種自動地發(fā)現并編組由業(yè)務流程使用的文件與其它資源的裝置、系統與方法。本發(fā)明包括監(jiān)控模塊,其收集表示軟件應用的操作行為的跟蹤數據。分析模塊分析跟蹤數據以發(fā)現與業(yè)務流程相關聯的資源。確定模塊定義對應于業(yè)務流程、并且包括分析模塊所發(fā)現的資源的邏輯應用。邏輯應用被自動定義,從而可以容易地對作為整體的邏輯應用實現業(yè)務策略。消除或者大大減少了對業(yè)務流程的資源的手動識別。
      文檔編號G06Q10/00GK101019145SQ200580027199
      公開日2007年8月15日 申請日期2005年7月20日 優(yōu)先權日2004年8月10日
      發(fā)明者斯蒂芬·伯德, 史蒂文·澤文斯基, 克里斯托弗·??怂? 布魯斯·L·希爾斯伯格, 伯恩哈德·J·克林根伯格, 雷杰什·F·克里舍南, 巴拉吉·西朗馬萊 申請人:國際商業(yè)機器公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1