專利名稱:具有用于緩解和自動防護的責任約束服務等級協議及模式的服務性能管理器的制作方法
技術領域:
所公開的實施方案一般地涉及面向服務的體系結構(krvice-Oriented Architecture)系統管理,并且更具體地,涉及具有有條件的服務等級協議和問題緩解 (issue mitigation)以及自動防護(autoprotection)特征的服務性能管理器軟件平臺。
背景技術:
面向服務的體系結構(SOA)正迅速被各行各業及各種規模的許多不同機構所采 納并部署(deploy)。在直接聚焦和關注實施SOAs的同時,各機構總地來講幾乎未曾注意過 監控和管理其SOAs,以確保服務等級得到保持并且效率得到提高。
發明內容
所公開的服務性能管理器(SPM)是企業軟件平臺,所述企業軟件平臺監控并前瞻 性地(proactively)管理基于服務等級協議(SLAs)的個體服務和分組服務的健康和性能。 在意外高峰(spikes)期間,SPM提供運行的服務的增強可視性,允許額外服務實例的自動 部署以滿足負載高峰,并且幫助確保不違反(Violate)SLAstj SPM還允許用來監控服務性 能、服務可用性(availability)以及服務使用的規則。SPM為IT經理和營運經理提供針 對其IT服務和業務服務的更好的可視性和控制。SPM在消費者意識到之前預測并解決潛 在的與消費者相關的問題,使機構能夠滿足服務質量目標。與其他軟件平臺不同的是,所公 開的SPM利用更佳的粒度(granularity)和精度自動地優化資源、服務以及SLAs,同時不 變地保持廠商中立,允許SPM基本上同時地管理許多不同的應用程序和面向服務的體系結 構(SOA)平臺。所公開的SPM允許用戶監控并管理個體服務或分組服務的性能,并且從技 術和業務的角度在服務監控中提供可視性。
在附圖中以實施例的方式圖示說明了實施方案,在附圖中相似的參考標號表示類 似的部件,并且其中圖1根據本公開提供描繪可以由所公開的SPM監控的項目的示例性選擇的圖示說 明;
圖2根據本公開圖示說明示例性貸款核準過程流程圖;圖3根據本公開圖示說明所公開的SPM的基本項目的工作流的示意圖;圖4根據本公開圖示說明用于所公開的SPM的用戶工作流的示意圖;圖5根據本公開圖示說明用于所公開的SPM的用戶工作流的示意圖;圖6根據本公開圖示說明用于所公開的SPM的用戶工作流的示意圖;圖7根據本公開提供圖示說明SPM產品體系結構的示意圖;圖8根據本公開圖示說明詳述簡單規則和復雜規則的流程圖;圖9根據本公開圖示說明顯示用于設置規則的步驟的流程圖;圖10根據本公開提供規則包(rule package)的概要圖示說明,該規則包以具有 四條規則的目標(objective)為特征;圖11根據本公開提供描繪規則包內規則集合的結構的示意圖;圖12根據本公開提供被引用的目標對象類型的列表;圖13根據本公開圖示說明用于SOA自動防護的服務消費者責任與應用程序的流 程圖;以及圖14為根據本公開的框圖,圖示說明用于實施SPM的一個實施方案的計算機系統。
具體實施例方式服各件能管理器服務性能管理是監控和測量個體服務或分組服務的可觀察行為(behavior)并且 基于限定的一套規則對其行為實施(反應性地或前瞻性地)變化的能力。可觀察行為可以 包括系統性能、可用性、使用、錯誤和有效負荷。所公開的服務性能管理系統是軟件平臺,所述軟件平臺保持并自動地管理個體服 務或分組服務的可觀察行為的健康和性能,同時附加地管理業務有效負荷。在實施方案中, SPM保持并管理IT服務的可觀察行為的健康和性能。在另一實施方案中,SPM保持并管理 業務服務(business service)的可觀察行為的健康和性能。SPM可以用來設計、計劃并監 控基于業務需要的服務。SPM還可以用來相對于成本平衡服務等級。此外,SPM可以用來 實現并加強服務的可測量等級以及減小無法預測的需求的可能性。SPM可以顯著地改善服 務提供者和消費者之間的關系。所公開的SPM的實施方案包括以責任約束的服務等級協議 (SLAs)為特征的性質,以及用于識別部件不當行為(misbehavior)的模式。SPM可以使用策略管理技術來分布監聽者(listener)和相關聯的策略,并且還可 以搜集性能信息。利用復雜事件處理、規則、策略以及Java管理擴展(JMX)控制界面的組 合,SPM允許用戶針對服務等級例外(exceptions)或反常(anomalies)創建基本上任何的
(reaction scenario)。SPM允許用戶通過使用分布的監控和測試設備架構(instrumentation framework)來監控部署的服務工件(service artifacts)。在實施方案中,獨立于部署的 基礎結構(employment infrastructure),用戶可以通過使用顯控工具(dashboard)來監 控部署的服務工件,以從服務透視圖(perspective)追蹤度量(track metrics)。在實施方案中,SPM可以被加入到現有的SOA基礎結構中。SPM可以被加入到各種
5技術和體系結構中。SPM可以對包含結合監控使用SLAs的SOA構造(fabric)提供自治能力 (autonomic capability),在閾值違規(threshold violations)或迫近違規(impending violations)方面提供前瞻性和反應性警報,以及在使用和執行(performance) 二者中盡 可能提供保證(自愈和自優化二者)。在實施方案中,SPM提供SLAs和規則的基于向導的創建。SPM不僅提供用戶到其運行的服務中的基本上立即的可視性,而且允許其建立額 外服務實例的自動部署,以滿足負載高峰。這可以確保在意外峰值期間服務等級協議不被 違反,并且可以允許用戶建立來監控服務度量的規則,服務度量包括但不限于,系統性能、 可用性以及使用。如果發生事件或違規,可以通過在用戶界面或顯控工具上的警報或者通 過電子郵件來處理。在實施方案中,業務流程管理(BPM)或客戶關系管理(CRM)工作流可 以被啟動(initiated)。SPM不僅幫助監控服務,還可以輔助管理這些服務。SPM允許用戶監控業務流程中 的關鍵性能指標(key performance indicator)、分析性能、檢驗行為模式以及以前瞻性和 預見性的方式采取糾正動作,來成功地管理和經營業務。基于過往的性能,用戶可以預測未 來的性能、確認瓶頸并且為更好的性能而采取糾正動作。在特定情況下,如果特定條件被滿 足或者如果特定規則被違反,用戶可以是前瞻性的并且建立規則以觸發動作,從而對用戶 提供一定水平的保證。規則庫可以使用SPM來創建,其中可以在某些服務度量上限定簡單規則或復雜規 則。如果限定在規則中的條件被滿足,這些規則可以內部地觸發一種或更多種類型的動作。 動作庫可以儲存示例性動作,例如發送警報、調用(invoking)腳本或服務,或者將事件記 入日志(logging event)。一些規則可以以按照循環的(recurring)時間表來運行,例如在 所有工作日中每天的下午兩點運行或在高峰時間運行。標準時間表可以被限定在時間表庫 中,時間表庫可以用來基于相應的規則在指定的時間觸發動作。在實施方案中,SPM通過集中式管理和自管理協議提供低成本管控 (administration),確保更好的順從性(compliance)和 SOA 治理(governance)。在另一實 施方案中,實現更有效的操作管理和質量控制。SPM可以允許更容易的SLAs測量和確定。 在實施方案中,用于端對端企業基礎結構監控和管理的SPM的附加提供預測并響應大量業 務服務和事件的能力。業務情景在典型的業務情景中,存在服務提供者和服務消費者。不管用戶的角色是作為服 務提供者還是服務消費者,SPM可以被用來監控和管理業務服務。圖1為描繪可以由所公開 的SPM的實施方案監控的項目的示例性選擇的示意圖100。所公開的SPM可以監控請求、基 礎結構以及服務,包括但不限于,監控來自提供者或消費者的請求或在業務環境中的請求; 監控基礎結構節點或容器;以及監控原子(atomic)、編制(orchestration)或收集服務。在 實施方案中,SPM結合監控請求、基礎結構以及服務來使用探測策略和/或SLAs,以管理事 件并提供警報。圖2提供流程圖,來圖示說明SPM是如何可以被用于示例性貸款核準過程200的 實施方案。在示例性過程的第一步中,檢索消費者的信息210。在下一步中,使用外部信用核查服務230來核查消費者的信用220。在實施方案中,信用核查服務為外部的并且可以 具有99. 9%的有保證的(guaranteed)可用性。基于該信用是可接受與否的確定M0,額度 被發放或貸款被拒絕。如果信用是可接受的,則額度被發放250,否則貸款被拒絕沈0。SPM 用在這個實施例中來監控外部信用核查服務230和貸款公司之間的可用性、響應以及數據
通信量。在實施方案中,如果不滿足外部服務(例如圖2中所呈現的信用核查服務)的有 保證的可用性,則服務消費者可以將該事件記入日志、向管理員發出警報、發起支持請求和 /或發起開具處罰賬單。在實施方案中,服務提供者可以期望在SLA中指定的時間內確保針對所有請求的 有保證的響應。例如,如果消費者發送太多的請求(這些請求在數量上異常巨大或者具有 錯誤的有效負載)而使系統超載,服務提供者可以選擇采取糾正動作來使系統負載受到控 制。這樣的糾正動作可以包括阻擋(blocking)進一步的請求,從而整個系統不會受損,或 者向其他參與方發出警報。為修復錯誤或超載服務,系統管理員可以選擇投入更多的網格 資源(分配附加的計算資源)、重新分配現有資源或者選擇要處理的請求。項目(project)牛侖周期圖3為圖示說明所公開的SPM的實施方案的基本項目工作流的示意圖。被包括在 監控和管理服務等級性能中的主要步驟為發現服務310、測量可觀察度量320、分析和預測 行為330、監控服務340以及發送警報350。在發現服務的步驟310中,SPM可以核查運行在單一環境或多種環境下的所有服 務。這些服務可以為個體服務或分組服務,例如服務組件或服務單元。SPM還可以核查服務 相關性、復合服務以及服務引用。再者,SPM可以核查被限定在每個服務和參與方上的SLAs 以及針對每個服務所限定的閾值。一旦服務及針對這些服務的消費者和提供者各方被識別,下一步是測量可觀察值 320,或者測量度量值。可測量度量中的一些可以包括服務度量、基礎結構度量以及來自有 效負載的業務度量。服務度量可以包括吞吐量、延遲、請求大小、錯誤以及可用性信號;基礎 結構度量可以包括容量、存儲器以及關于中央處理器(CPU)的信息;而來自有效負載的業 務度量可以包括用戶身份或角色、來源以及交易值。在實施方案中,業務度量可以直接從請 求的內容或包絡(envelop)中提取。例如,用戶身份、請求的來源或者以美元或歐元為單位 的交易金額可以用來關聯一值,通過該值使一請求具有優先權。還可以搜集與可以通過JMX 工具(instruments)來搜集的物理部署體系結構有關的度量。度量及其值經過一段時間搜集后,數據可以被分析并且未來數據需求可以在分析 和預測行為的步驟330中被預測。可以由計算和聚集來分析數據。特定行為模式可以被識 別,這可以幫助預測未來數據需求。可以執行統計的和基于時間的分析,其中除了用于移動 時間幀窗口的值以及用于前一小時、前一天、前一星期或前一月的值以外,還計算均值、最 大值和最小值。可以執行基礎結構聚集計算,其中計算節點對應的(by)度量值和容器對應 的度量值。可以執行功能性聚集計算,其中計算服務組件對應的度量值和服務單元對應的 度量值。可以執行業務聚集計算,其中計算客戶對應的度量值和金額對應的度量值。最終, 可以執行基于消費者的聚集分析,其中獲得并聚集與消費者角色(例如,金級、銀級以及白 金級)對應的度量值。
下一步是分析和預測行為的步驟330。任何的這些度量均可以被顯示在基于網絡 的顯控工具中,該顯控工具可以包括一些預先限定的視圖。在實施方案中,這些度量可以通 過每分鐘獲取數據以及更新度量值來提供實時值。各種視圖可以被配置來監控各種等級的 性能,例如,環境、機器、節點、服務組件以及服務單元。顯控工具可以根據需要是個性化的, 用于特定的業務需要來獲得實時的更新,包括但不限于,服務可用性、服務用法、服務錯誤、 業務有效負載。使用所公開的SPM來監控服務,可以限定規則包和規則,并且可以選擇應用 這些規則的目標對象。在實施方案中,這些對象被稱為引用目標對象。此外,可以在可用于 被選擇的目標對象的默認度量上設置條件,可以創建時間表來在指定時間運行規則,并且 可以限定動作并使其與用于管理服務性能的規則相關聯。動作可以為默認動作或自定義動 作。當規則被使能時,系統可以針對被限定在規則中的指定的一套條件開始監控所有引用 目標對象。當度量值達到閾值條件,規則被觸發,這又啟動動作來在指定的范圍內管理該性 能。在實施方案中,基于服務消費者和提供者之間的SLA,可以限定一套規則。這些規則能 夠被監控并被定制,這幫助消費者和提供者兩者追蹤服務執行情況并且遵循服務等級業務 協議。可以在度量值上限定閾值條件并且可以基于該度量設置規則。當達到這些閾值等 級或滿足被限定在規則中的條件時,一種或更多種警報或動作可以被觸發350。在實施方 案中,如果SLA中存在任何違規,則發出警報。警報可以被顯示在顯控工具中作為可視指示 器。有時,這些警報可以以內部的方式觸發特定動作,包括但不限于,運行腳本、將事件記入 日志或發送郵件通知。在實施方案中,除警報外,特定糾正動作也可以被設置來在規則中執行。當滿足規 則中的條件時,這些糾正動作可以自動地被執行,這可以有助于業務連續性(continuity)。 糾正動作中的一些可以包括自動資源分配、開始節點或事件管理。用戶工作流在實施方案中,業務中實施SPM所包括的主要步驟的高度概括包括識別技術需 求、配置系統以及監控性能和管理系統。圖4為圖示說明用于識別技術需求的用戶工作流的示意圖400。這可以包括設置 業務的技術需求。在實施方案中,業務分析員410識別使用在業務中的所有服務,并且提供 數據420來建立并配置SPM。這種數據可以包括所有服務等級中的業務需求。數據420被 提供給系統管理員430。然后,這樣的信息,包括但不限于來自系統管理員430、系統架構 師440以及SPM管理員450的信息以及其他信息可以被編輯來確定這樣的技術需求460, 包括但不限于,針對服務、規則、動作、節點以及機器的需求。為測量業務服務的性能,監控 點(例如服務、流程、機器以及節點)被確定。數據被提供給SPM管理員450并且可以引導 SPM的建立和配置。圖5為圖示說明用于配置系統和性能監控規則的用戶工作流的示意圖500。可以 由SPM管理員510配置域和環境530。配置530可以包括SPM管理員510,該SPM管理員510 識別要由SPM實例管理的所有環境和域,識別所有服務容器,和/或識別在這些環境和域中 的所有服務。在識別服務容器和服務后,SPM管理員還可以配置或限定目標對象組570,來 將目標對象分到邏輯組中。例如,在實施方案中,SPM管理員可以選擇將具有金級SLA需求 的所有服務放入一個目標對象組,而將所有其他服務放入另一目標對象組。在目標對象組570上限定規則前,SPM管理員檢查可用的外度量,以評估它們是否為充足的560。如果分 類現有度量或積累新的數字度量需要任何自定義度量,SPM管理員限定自定義度量560。基 于SLAs或服務性能的非正式預期,SPM管理員在目標對象組上限定規則并將這些規則組織 成目標和規則包陽0。SPM管理員限定當針對特定目標對象540觸發或清除規則時所采取 的動作。這些動作包括向一組用戶發出警報、緩解動作、規模調節(scaling)動作(例如供 應服務容器(節點/引擎)或者將服務部署到新服務容器)、自動防護(例如阻擋用戶發送 過多的請求)或者管理員限定的自定義動作。在實施方案中,SPM的管理員510可以使用 生成和配置規則透視圖來在一組被選擇的目標對象上限定規則。適合的服務被分組作為目 標對象組并且在其上限定規則。這些規則可以包括被限定在服務度量上的條件。規則還可 以與當滿足規則中的特定條件時自動觸發的自定義動作相關聯。觀察和管理顯控工具透視 圖顯示各種形式的度量數據,例如圖表和報告。圖6為圖示說明用于監控和管理系統的用戶工作流的示意圖600。SPM管理員610 可以通過觀察未處理的和聚集的度量的顯控工具,利用相關的環境(context)信息(例如 部署細節、機器和節點信息以及所生成的警報)交互地監控系統630。如果限定規則,系統 將比較測量值640和所限定的規則條件閾值,并且如果需要則觸發動作620。可以由外部系 統通過分析度量的歷史(historic)性能來動態地生成閾值。測試和仿真可以用來生成用 于進行比較的閾值。保證動作620可以包括自動防護動作,例如在觸發條件已經被緩解前 阻擋請求,在觸發條件已經被緩解前供應新資源(規模調節),觸發手動工作流來使管理員 手動地緩解問題(例如,重啟數據庫、供應新硬件等等)。還可以通過生成警報消息(電子 郵件或其他消息)來觸發手動緩解。當條件被限定且滿足規則時,規則可以觸發動作620。 動作可以為例如,發通知、發警報、調用腳本或增加節點。這些動作幫助SPM管理員610管 理系統性能,并且保證系統是可靠的。產品架構所公開的SPM的體系結構可以包括這樣的組,所述組包括但不限于,接入到 (plugged into)面向服務的體系結構服務平臺的管理員的用戶界面,集成到面向服務的體 系結構服務平臺的后端(back-end)網絡服務,以及諸如部署到面向服務的體系結構服務 平臺基礎中的規則服務和動作服務的系統服務。在實施方案中,所公開的SPM可以被集成 到 TIBCO ActiveMatrix 服務平臺中。圖7為圖示說明SPM產品架構的實施方案的示意圖700。SPM包括各種類別的探 測器760來監控與SOA平臺有關的數據。在實施方案中,探測器被直接嵌入在容器基礎結 構780內部。探測器也可以測量來自在SOA中提供服務的其他集成軟件或應用軟件770的 信息。附加探測器770可以測量關于每個計算機操作系統的相關信息,來提供附加環境信 息,例如CPU、存儲器以及網絡使用。在實施方案中,SPM探測器可以被增強來支持自定義度 量。例如,SPM探測器可以從服務請求有效負載中提取業務信息,提供關于請求的重要性的 附加環境信息。由探測器搜集的信息可以通過實時設備總線(instrumentation bus) 740 被分布到SPM系統服務750。在實施方案中,SPM可以包括運行時間節點服務探測器760, 來監控與TIBCO ActiveMatrix 和/或數據TIBCO BusinessWorks 相關的數據。一般地,SPM系統服務在一個或更多個特別提供的節點和硬件上的孤立 (isolated) SPM系統環境750下運行。在實施方案中,所有針對SPM的服務被寄宿(hosted)
9于分開的“spmenv”環境中被命名為“spmnode”的節點上。在實施方案中,“spmenv”環境 被保持為分開的,并且不用于任何業務服務。SPM系統服務除了其他服務外可以包括規則服 務、動作管理器服務、標準動作服務以及警報服務器。規則服務可以收集和聚集基本度量和 自定義度量,可以轉換(translate)和部署SPM規則,并且可以發出規則觸發或清除消息到 動作管理器服務。動作管理器服務可以處理規則動作,例如在規則觸發或清除消息以及如 阻擋進一步的請求或供應新計算資源的保證790的基礎上,發警報、調用服務或者記錄日 志。動作管理器服務可以使用用于警報的模板生成消息。標準動作服務可以在附加的現有 節點上部署服務,通過供應新節點來在附加的節點上部署服務,在機器上調用腳本,生成簡 單網絡管理協議(SNMP)異步通知消息或“陷阱(traps)”,并且為用于面向服務的體系結構 服務平臺引擎控制方法的集成軟件提供支持。通過管理總線740,動作被分布回節點來執 行。警報服務器允許用戶指定電子郵件格式(例如文本或HTML)以及電子郵件的遞送方法 (例如精簡模式(digest mode))。在實施方案中,用于SOA服務平臺的集成軟件包括TIBCO Business Works 。SPM的用戶界面(UI)被接入到SOA服務平臺管理員的管理員中。用戶界面包括生 成和配置規則的透視圖,以及用于觀察和管理顯控工具的透視圖,顯控工具包括但不限于, 監控顯控工具710和SLA顯控工具720。另外,UI可以支持監控自定義度量,包括限定自定 義度量來監控和管理任何服務的性能。通過實時消息總線或顯控工具總線730,性能測量的 實時更新以及警報被分布到顯控工具。指令行界面(CLI)(未示出)基本上支持來自UI的所有被執行的動作。CLI還可 以支持限定警報模板和將這些警報模板用于電子郵件通知。用來支持SPM UI和CLI的網 絡服務可以經由標準http協議和實時異步通信總線730來接入面向服務的體系結構服務 平臺服務器。這些網絡服務獲得數據并且然后將數據顯示給用戶。在實施方案中,在期望執行遠程腳本和提取增強的機器度量的所有管理守護進程 上運行機器代理。鍾在實施方案中,通過生成并配置各種規則,用戶可以使用SPM監控和管理系統性 能。規則限定條件,以用于監控目標對象。規則還可以指定當滿足指定條件時要在所選擇 的目標對象上執行的動作。在實施方案中,規則是SPM的基本構造塊(building blocks)。存在兩種類型的 規則,簡單規則和復雜規則。圖8圖示說明示例性簡單規則810和復雜規則850的流程圖 800。簡單規則810可以具有目標對象812、條件814以及動作816。在實施方案中,創建簡 單語句來觸發一種或更多種類型的動作816 (例如,發警報、調用腳本或服務或者將事件記 入日志)。復雜規則850可以具有目標對象852,可以具有多于一個條件854、856、858以及 動作860。在實施方案中,復雜規則850包括與(AND)邏輯。復雜規則850可以觸發多于一 個動作860。在實施方案中,基于可用于所選擇的目標對象的默認度量限定條件814、854、 856、858。圖9是圖示說明用來設置或創建規則的步驟的流程圖900。在實施方案中,一旦新 的規則被創建,其可以被儲存在規則庫中。用于創建規則的主要步驟包括提供基本規則信 息910、選擇目標對象920、創建條件930以及設置動作940。
提供基本規則信息910可以包括提供諸如名稱和描述的信息。在實施方案中,提 供基本規則信息910還可以包括從時間表庫中預先限定的時間表指定用于運行規則的時 間表。在另一實施方案中,提供基本規則信息910還可以包括針對規則設置優先權。選擇目標對象920可以包括選擇單個目標對象或一組目標對象924。一組目標對 象擬4可以由相同類型或具有共享標準的對象形成。目標對象922、擬4可以為機器、節點、 服務組件、服務實例或操作。在實施方案中,目標對象選自TIBCO Active Matrix 環境或 域的基礎結構或部署視圖。在實施方案中,TIBCO Business Works 服務探測器被安裝并 且Business Works 服務和流程可以被選擇作為目標對象。依賴于所選擇的目標對象,使相關的度量可用于創建條件930。條件可以為簡單的 932或復雜的934。在實施方案中,復雜規則934可以包括增加多達三個的使用邏輯與運算 符的條件。條件在運行時間可以被驗證,當實現指定的標準時,動作可以被觸發。設置動作940包括設置當滿足被限定在規則中的任一條件時要被執行的動作。可 以針對任一給定的條件執行單個動作942或多個動作944。動作可以被設置來例如,發警 報、調用腳本或將事件記入日志。規則包規則可以為單獨的規則或者可以為屬于規則包的目標的一部分。圖10提供規則 包1000的概略圖示說明,規則包1000的特征在于具有規則A、B、C、D的目標1010,其中規 則A、B、C、D分別具有目標對象A、B、C、D ;條件A、B、C、D以及動作A、B、C、D。目標為意圖實現明確目的(goal)的規則的集合。目標可以將通用元數據、時間表 以及動作施加到被包含于其中的規則上。在實施方案中,被封包(packaged)來實現業務 目的的一組目標被稱為規則包。規則包可以由基于規則包所表征的服務等級的業務角色 (business role)來組織。圖11提供在示例性規則包1110中描繪規則集合的結構的示意圖。在實施方案 中,規則包為SLA的數字表現形式(digital manifestation) 0規則包可以如一條規則那 樣簡單,或者如基于共同目標被分組在一起的數百條規則那樣復雜。規則包1110包含一個 或更多個目標1120,而目標包含一條或更多條規則1130。在創建新規則包的時候,可以創 建目標。規則包擁有默認目標時間表1112,從而所創建的沒有時間表的任何目標具有默認 時間表可以使用。在實施方案中,默認時間表1112被設置為“總是”,從而時間表總是被應 用。規則包1110還可以將通用元數據1118施加到被包含在規則包中的目標1120上。規 則包1110具有在SLA中識別提供者和消費者雙方1114的選擇,以及可選地識別規則包所 表征的(角色)的服務等級1116,從而參與方和角色為可選的字段。在實施方案中,為訪問 規則包,用戶必須從生成和配置透視圖選擇規則包。引用(Referenced)目標對象引用目標對象為由一條或更多條規則所引用的目標對象。限定在規則中的條件 相對于所選擇的目標對象被驗證。如果違反條件,規則被觸發來發警報。如果規則與動 作相關聯,動作采取糾正措施并且在指定條件內設法產生(bring)性能。圖12提供引用 目標對象類型的列表1200。引用目標對象類型可以包括服務類型1210、服務實例類型 1220、服務操作類型1230、服務操作實例類型1M0、環境或域類型、機器類型1260以及節 點或引擎類型1250。在實施方案中,服務類型1210、服務實例類型1220、服務操作類型1230、服務操作實例類型1240以及環境或域類型,可以包括選擇TIBCO ActiveMatrix 或TIBCOBusinessWorks 服務、服務實例、服務操作或流程、服務操作實例或流程實例, 以及環境或域。機器類型1260可以包括在其上運行TIBCO ActiveMatrix or TIBCO BusinessWorks 的機器。節點或引擎類型1250可以包括TIBCO ActiveMatrix 節點或 TIBCO BusinessWorks 引擎。個體用戶和超級用戶可以訪問引用目標對象庫來瀏覽、刪除 或重新選擇引用目標對象。時間表時間表限定循環時間周期,在該周期內運行規則、目標或規則包。在實施方案中, 僅僅當規則為單獨規則而不屬于規則包或目標時,應用針對該規則而設置的時間表。在實 施方案中,如果規則在目標中,該目標時間表優先,或換言之,在默認情況下,當將規則加入 到目標中時,不復制時間表。規則包包含用于規則包中所有目標的默認時間表,當目標不具 有其自身的時間表時使用該默認時間表;然而,目標不是必需具有時間表。時間表可以包含控制何時相關聯的規則應當或不應當被運行的“包括(include) ” 和“不包括(exclude) ”時間段。例如,被稱為“高峰時間”的時間表可以包括全年中所有月 份從每天下午9點到半夜的時間,但不包括一月份的從上午3點到上午6點的時間。在實 施方案中,針對單個時間表限定多個包括時間段和不包括時間段。在實施方案中,SPM支持由超級用戶所有的全局時間表(glcAal schedules)和由 個體所擁有的時間表。超級用戶是具有創建和管理全局時間表(包括即時可用的(out-of-the-box)時 間表)的特權的用戶。全局時間表對所有用戶都是可用的。超級用戶還可以刪除和編輯由 個體用戶創建的時間表,以及復制用戶所擁有的時間表并將其保存為全局時間表。個體用戶可以查看并復制庫中的所有時間表,編輯由個體用戶所擁有的時間表, 查看和使用規則生成器中時間表下拉列表中的全局時間表或其所擁有的時間表,并且創建 規則包生成器對話框(dialogs)。個體用戶可以利用所擁有的另一時間表或全局時間表來 替換已擁有的時間表。可以以全體的方式(在使用舊時間表的每個地方利用新時間表來替 換)或單獨的方式(導引通過所有使用舊時間表的位置,并且利用另一時間表替換舊時間 表)來替換時間表。個體用戶也可以刪除其所擁有的未在任何地方使用的時間表。自定義動作在實施方案中,SPM包括動作庫。動作庫包含網絡服務(web service)列表。這 些服務可以自動地執行服務管理任務并保存管理員時間。服務可以做什么的范圍取決于網 絡服務是如何編寫的。服務被配置來應用到具體端點或被配置為用于具體目標對象類型的 目標服務。當使用規則生成器創建規則時,其中觸發該規則并且滿足規則中的條件時用戶可 以選擇調用腳本。在實施方案中,根據對單個節點的需求是否超出最大量,超級用戶可以創 建被設計為增加新節點的腳本。該腳本還可以包含撤銷方法,來在需求再次下降時,移除額 外的節點。撤銷方法對應于被限定在規則中的取消條件的狀態。當創建規則時,個體用戶 可以選擇使用這種腳本。在實施方案中,SPM提供一些由超級用戶擁有的全局服務。在這個實施方案中,SPM 僅支持由超級用戶擁有的服務。個體用戶僅可以在規則生成器中查看服務列表,并且選擇哪些服務被應用到規則中。服務名稱和擁有者可以顯示在規則生成器中。超級用戶可以增 加對所有用戶是全局可用的服務。超級用戶還可以刪除服務和利用另一服務來替換服務或 根本就不用服務來進行替換。如果正在使用中的服務被替換,可以自動向規則擁有者發通 知。超級用戶還可以在規則生成器中的選擇服務面板內阻止或允許顯示某些服務。有條件的SLAsSLAs指定服務提供者將保證的服務等級。例如,SLA可以保證最大響應時間。在 一些情況下,只有當服務消費者遵循具體的條件或責任時,才能夠實現SLA。例如,貸款流程 服務可以能夠保證5-秒的響應時間,但這只有當貸款請求率沒有超過每秒鐘一個時才能 實現。本發明將SLA規范延伸為包括在服務消費者一方的責任概念。從而,只有如果服 務消費者滿足指定的責任或限制,SLA才必需被滿足。消費者責任是不能由服務提供者控 制的可測量的特性,但可以被監控并且如果違背可以被處理(acted upon) 0服務提供者的條件源可以是內部的(例如,提供者物理容量的限制),或者可以是 服務提供者作為服務消費者的次要角色的副產物。在后一種情況下,需要借助于另一服務 提供者來完成其任務的服務提供者可以將次要的提供者責任傳回初始服務消費者。消費者 責任可以包括,例如請求速率、請求大小、請求形式依從、請求內容依從(生成大量錯誤的 謬誤有效負載)以及響應配置文件(生成異常后端負載的有效負載)。服務提供者責任可 以包括,例如在一段時間內的響應時間、吞吐量、錯誤率以及可用性。由于責任一般不由服務提供者控制,責任從根本上不同于普通的SLA特性(例如 有保證的響應時間或可用性)。責任可以被有效地使用于若干情景中。這些情景包括提供 針對服務消費者正在進行不當行為的高級警示;如果沒有滿足消費者責任,形成不緩解和 提供附加提供者計算資源的決定;提供對SLA違規的洞察(insight),并且指示識別和隔離 違規源的補救步驟;以及當由于未滿足的消費者責任而違反SLA時,減輕財務沖擊。用于緩解和自動防護的模式SPM提供用于緩解系統的任何組成部分的不當行為的影響的方法。系統中的 任何組成部分,無論其是服務的消費者或提供者,由于硬件或軟件錯誤均將出現行為 不當(misbehave)。SPM可以通過結合源于消費者、提供者以及基礎結構的若干因素 來檢測這樣的情況。可識別的情況為消費者約束的(consumer-bound)、提供者約束的 (provider-bound)或者基礎結構約束的(infrastructure-bound)。消費者約束的情況包括異常請求大小或吞吐量、生成大量錯誤的謬誤有效負載以 及生成異常后端負載的謬誤有效負載。提供者約束的情況包括超負載后端CPU、提供者軟件 故障(failure)以及死鎖。基礎結構約束的情況包括機器故障和網絡故障。SPM通過收集度量、檢測閾值違規以及識別問題源(機器、客戶、用戶應用程序 (user app)、服務等)來評估問題源。SPM具有這樣的能力來緩解發生意外情況的應用程序 的影響,即通過經由阻攔或節流策略隔離問題源或者如果允許的話移除問題源的能力。圖13為圖示說明服務消費者責任以及這些服務消費者責任對在本申請中所描述 的面向服務的體系結構自動防護的應用的流程圖1300,從而,如在框1310中所圖示說明 的,跨該體系結構提供實時度量的集合。該動作在附圖中被標記為“收集實時度量”,并且其 在該體系結構中提供觀察數據的搜集、聚集以及分析。可以在本地、主機級(host-level)
13數據點以及全局級(global level)搜集這些實時度量,在全局級中主機級觀察數據可以被 聚集和結合。通過提供遍及體系結構的實時度量,可以獲得質量上、顯著度、及時方面的顯 著改進,以及度量方面的其他有利改進。圖13中的面向服務的體系結構將使用在框1310中所收集的實時度量,來并列執 行框1320和框1330中分別用于分析和預測提供者SLA違規以及分析和預測消費者責任違 規的分析和預測步驟。涉及提供者SLA違規的框1320中的分析和預測幫助面向服務的體 系結構基于聚集的實時度量(從框1310)有效地分析、預測以及采取動作。如所提到的,在 框1320,憑借在全局和本地級聚集數據,系統可以相對于具體地識別由提供者提供的資源 中的問題,達到更高等級的粒度和準確度(accuracy)(這又幫助預測可能的提供者SLA違 規)。基于相同原理,在框1330,系統也可以相對于在消費者責任約束的SLA已被提交到面 向服務的體系結構時根據施加在消費者上的責任識別消費者性能中的問題,來達到更好的 粒度和準確度。一旦在框1320和/或框1330,可能的違規已經被識別,在框1340面向服務的體系 結構包括“估算緩解步驟”。取決于被識別的違規,可以如在框1350、1360和1370中所圖示 說明的,進行數個步驟中的任意步驟。如在這些各自的動作框中所圖示說明的,這些違規可 以通過以下內容來解決增加更多的資源,分配不同的資源或者以其他方式重新供應資源 (如在框1350中所指示的);使消費者得到關于該問題的警報,從而消費者可以重新提交工 作、重新配置工作、將工作分配給另一提供者,或者采取一些其他行動(如在框1360中所指 示的);或者節流或關閉在消費者計算機(框1370)上操作的消費者(或更具體地為代理 進程/守護進程)。圖14為示出用于實施SPM的實施方案的系統1400的框圖。在實施方案中,實施 SPM特性的SPM計算機1410包括總線或用于在SPM計算機1410的部件之間進行信息通信 的其他通信裝置。SPM計算機1410還可以包括耦合到總線和存儲元件(例如,隨機存取存 儲器(RAM)或其他同樣耦合到總線的動態儲存器件)的處理器。存儲元件儲存用于由處理 器執行的指令。存儲元件還可以儲存臨時變量。SPM計算機1410可以包括耦合到總線的海 量儲存器件,用來儲存不像被儲存在存儲元件中的信息那樣被定期訪問的信息。SPM計算機 1410還可以包括通信設備。如果SPM計算機1410正在實施系統的一個實施方案的一部分, 則通信設備允許SPM計算機1410與系統的其他部分通信,包括所有服務。SPM計算機1410 可以為單個SPM計算機或者可以為多個SPM計算機。SPM系統的模塊在SPM計算機1410中的處理器上操作。規則和測量值可以被儲存 在數據庫1420、1430中,并且可以由SPM計算機1410存取,并且由SPM系統的模塊實施或 使用。SPM計算機1410通過網絡1450發送信息至一個或更多個SOA應用計算機1460和從 一個或更多個SOA應用計算機1460接收信息。SPM探測器1465被定位在SOA應用計算機 1460上,并且可以監控與SOA平臺有關的數據。在實施方案中,探測器被直接嵌入到容器基 礎結構內部。由探測器1465搜集的信息可以通過網絡1450被分布到運行SPM系統服務的 SPM計算機1410。度量值和規則可以被儲存在數據庫1420、1430中,并且可以由SPM計算 機1410存取。結果和度量可以通過網絡1440被發送到顯示計算機1470。在實施方案中, 顯示計算機1470可以實現顯控工具,可以包括在顯控工具控制臺1480上顯示結果和度量。 在實施方案中,SPM計算機1410可以通過網絡1440寫入更新顯示計算機和顯控工具控制臺。SPM計算機1410通過網絡1450從系統探測器1465接收測量值1490,并且通過網 絡發出保證1495到SOA應用計算機1460。盡管上面已經描述了根據本文所公開的原理的各種實施方案,應該理解,這些僅 僅是以實施例而不是限制性的方式給出的。因此,一個或更多個本發明的寬度和范圍不應 該被任何上述示例性實施方案所限制,而應該僅僅根據從本公開所授權的任何權利要求及 其等同范圍來限定。另外,上面的優點和特征是在所描述的實施方案中提供的,但是不應該 將這些授權的權利要求的應用限制到實現上述優點中的任何優點或所有優點的過程和結 構。此外,這里的章節標題是為了符合37CFR 1. 77下的建議或者以其他方式提供組 織標記而提供的。這些標題不應該限制或表征在任何可以從該公開被授權的權利要求中給 出的一個或更多個發明。具體地并且以實施例的方式,盡管所述標題提及“發明領域”,但是 權利要求書不應該受到在該標題下選擇來用于描述所謂的領域的語言的限制。此外,對“發 明背景”中的技術的描述并非要被解讀為承認該特定技術是本公開中一個或更多個發明的 現有技術。“發明內容”也并非要被視為是這里的權利要求書中所闡述的一個或更多個發明 的特征。此外,該公開中任何以單數形式提及“發明”不應該被用于爭論在該公開中僅要求 保護單個具有新穎性的要點。根據伴隨該公開的多項權利要求的限制可以提出多個發明, 并且因此這些權利要求限定了由此受到保護的一個或更多多個發明及其等同物。在所有情 況下,應該根據說明書基于這樣的權利要求書本身的價值來考慮權利要求書的范圍,而不 應該受這里給出的標題的約束。
權利要求
1.一種計算機系統實現的方法,用于管理面向服務的體系結構系統,所述方法包括 在計算機處理器中發現至少一項服務,所述至少一項服務在面向服務的體系結構環境下運行,所述計算機處理器通過通信總線與一個或更多個存儲元件耦合,所述計算機處理 器通過網絡接口與所述面向服務的系統體系結構的其他元件通信;在所述計算機處理器中測量與所述至少一項服務相關聯的至少一個可觀察事件,所述 至少一個可觀察事件包括至少一個度量值,所述至少一個度量值由通過所述網絡接口與所 述至少一項服務通信的所述計算機處理器測量;在所述計算機處理器中分析所述至少一個可觀察事件;以及在所述計算機處理器中基于所述至少一個可觀察事件的分析來預測至少一個行為。
2.如權利要求1所述的方法,還包括在所述計算機處理器中基于所述至少一個可觀察事件的分析來管理所述至少一項服務。
3.如權利要求2所述的方法,其中所述管理所述至少一項服務的步驟包括在基于網絡 的顯控工具上顯示所述至少一個度量值,所述基于網絡的顯控工具通過所述網絡接口與所 述計算機處理器通信。
4.如權利要求1所述的方法,還包括限定至少一條規則并且創建時間表,來在指定的時間運行所述至少一條規則。
5.如權利要求4所述的方法,其中所述至少一條規則被儲存在所述計算機處理器可訪 問的數據庫中。
6.如權利要求4所述的方法,還包括選擇應用所述至少一條規則的至少一個目標對象。
7.如權利要求6所述的方法,還包括在可用于所述至少一個目標對象的度量上設置至少一個條件。
8.如權利要求7所述的方法,還包括 限定至少一個動作;以及使所述至少一個動作和所述至少一條規則或所述至少一個條件中的一個相關聯。
9.如權利要求1所述的方法,還包括通過所述網絡接口從所述計算機處理器發送至少一個警報給顯示器。
10.如權利要求1所述的方法,還包括 執行至少一個動作。
11.如權利要求1所述的方法,其中所述至少一項服務包括分組服務。
12.如權利要求1所述的方法,其中所述發現至少一項服務的步驟包括發現被限定在 所述至少一項服務上的服務等級協議。
13.如權利要求1所述的方法,其中所述至少一個可觀察事件包括多個可觀察事件,并 且所述至少一個度量值包括多個度量值,而其中所述預測至少一個行為的步驟包括分析從 所述多個可觀察事件和度量值編輯得到的統計的和基于時間的數據。
14.一種服務性能管理器系統,用于管理面向服務的體系結構系統,所述系統包括 至少一條通信總線;一個或更多個存儲元件;計算機處理器,所述計算機處理器通過所述至少一條通信總線耦合到所述一個或更多 個存儲元件,所述計算機處理器通過網絡接口與所述面向服務的系統體系結構的其他元件 通信,所述計算機處理器可操作地利用儲存在所述一個或更多個存儲元件中的計算機代碼 來提供多個操作軟件模塊,所述多個操作軟件模塊包括服務發現模塊,所述服務發現模塊操作來在所述計算機處理器中發現運行在面向服務 的體系結構環境下的至少一項服務;可觀察事件測量模塊,所述可觀察事件測量模塊操作來在所述計算機處理器中測量與 所述至少一項服務相關聯的至少一個可觀察事件,所述至少一個可觀察事件包括由所述計 算機處理器測量的至少一個度量值,所述計算機處理器通過所述網絡接口與所述至少一項 服務通信;可觀察事件分析模塊,所述可觀察事件分析模塊操作來在所述計算機處理器中分析所 述至少一個可觀察事件;以及行為預測模塊,所述行為預測模塊操作來在所述計算機處理器中基于所述可觀察事件 分析模塊的分析來預測至少一個行為。
15.如權利要求14所述的服務性能管理器系統,其中所述計算機處理器進一步可操作 地利用儲存在所述一個或更多個存儲元件中的計算機代碼來提供服務管理模塊,所述服務 管理模塊操作來在所述計算機處理器中基于所述可觀察事件的分析來管理所述至少一項 服務。
16.如權利要求14所述的服務性能管理器系統,其中所述計算機處理器進一步可操作 地利用儲存在所述一個或更多個存儲元件中的計算機代碼來提供執行動作模塊,所述執行 動作模塊操作來執行至少一個動作。
17.如權利要求16所述的服務性能管理器系統,其中執行所述至少一個動作包括通過 所述網絡接口從所述計算機處理器發送警報給顯示器。
18.如權利要求14所述的服務性能管理器系統,還包括基于網絡的顯控工具,所述基于網絡的顯控工具操作來顯示至少一個度量值,所述基 于網絡的顯控工具通過所述網絡接口與所述計算機處理器通信。
19.如權利要求14所述的服務性能管理器系統,其中所述計算機處理器進一步可操作 地利用儲存在所述一個或更多個存儲元件中的計算機代碼來提供規則限定模塊,所述規則 限定模塊操作來限定至少一條規則。
20.如權利要求19所述的服務性能管理器系統,其中所述規則限定模塊還操作來選擇 應用所述至少一條規則的至少一個目標對象。
21.如權利要求20所述的服務性能管理器系統,其中所述規則限定模塊還操作來在可 用于所述至少一個目標的度量上設置至少一個條件。
22.如權利要求21所述的服務性能管理器系統,其中所述規則限定模塊還操作來限定 至少一個動作以及使所述至少一個動作和所述至少一條規則或所述至少一個條件中的一 個相關聯。
全文摘要
所公開的服務性能管理器是企業軟件平臺,所述企業軟件平臺監控并前瞻性地管理基于服務等級協議的個體服務和分組服務的健康和性能,所述服務性能管理器在個體服務和分組服務上提供更好的可視性和控制,包括但不限于IT服務和業務服務。服務性能管理器在消費者意識到之前預測并解決潛在的與消費者相關的問題,使機構能夠滿足服務質量目標。與其他軟件平臺不同的是,所公開的服務性能管理器利用更佳的粒度和精度自動地優化資源、服務以及服務等級協議,同時不變地保持廠商中立,允許服務性能管理器基本上同時管理許多不同的應用程序和面向服務的體系結構平臺。所公開的服務性能管理器允許用戶監控并管理個體服務或分組服務的性能,并且從技術和業務的角度在服務監控中提供可視性。
文檔編號G06Q10/00GK102089775SQ200980125113
公開日2011年6月8日 申請日期2009年4月29日 優先權日2008年4月29日
發明者A·A·貝利, A·L·凱特克瑞, T·尚 申請人:泰必高軟件公司