【0001】 <発明の属する技術分野> 本発明は、イベント管理システムの分野、より詳しくは、イベント管理システ
ムのユーザ拡張可能なイベントストラクチャに関する。TECHNICAL FIELD [0001] The present invention relates to the field of event management systems, and more particularly, to a user-extensible event structure of an event management system.
【0002】 <従来の技術> 情報技術(IT)は、メインフレームオンリーの計算から、ネットワークを通し
て、デスクトップおよび部課間に亘る、複雑で高度に分散されたコンピュータシ
ステムにまで発展した。これら分散した計算環境は、任意の数のプラットフォー
ム、ドメイン、ツール、およびネットワーク構成を選択するフレキシビリティー
を含む利益をもたらす。さらに、ソフトウェアツール間およびプラットフォーム
間に、コンパティビリティーおよび統合の欠如が存在してもよい。例えば、従来
のポイントプロダクト(例えば、Platinum technology, inc. of Oak Brook, Il
linois製のPlatinum DBVision プロダクト)は、一般に、データベースのモニタ
リングおよび管理、ジョブスケジューリング、またはデータベース再編成の管理
のための解決策等、特定の機能または専門的技術の分野に向けられている。各ポ
イントプロダクトは、特定の機能を供給し、それぞれはまた、別個のインタフェ
ースを含んでいる。他方、フレームワーク技術を利用することは、ツールの機能
性が、相当犠牲になるが、一体化された解決策を供給する。さらに、従来のポイ
ントプロダクトあるいはフレームワーク技術のどちらかを利用して現在のエンタ
ープライズ環境を維持することは、IT組織からの大量のリソースおよび資金を必
要とする。2. Description of the Related Art Information technology (IT) has evolved from mainframe-only computing to complex, highly distributed computer systems that spanned desktops and departments over networks. These distributed computing environments provide benefits, including the flexibility to choose any number of platforms, domains, tools, and network configurations. Further, there may be a lack of compatibility and integration between software tools and platforms. For example, conventional point products (for example, Platinum technology, inc. Of Oak Brook, Il
The Platinum DBVision product from linois) is generally directed to a specific function or area of expertise, such as a solution for database monitoring and management, job scheduling, or management of database reorganization. Each point product provides a specific function, and each also includes a separate interface. Utilizing framework technology, on the other hand, provides an integrated solution, at the expense of tool functionality. Furthermore, maintaining the current enterprise environment using either traditional point products or framework technologies requires significant resources and funding from IT organizations.
【0003】 したがって、ツールの有り得る必要に合わせて、一意に定義してよいイベント
ストラクチャを有するコンパティブルなインタフェースを利用するツールを供給
するための一体化されたシステムに対するニーズが存在する。[0003] Therefore, there is a need for an integrated system for providing tools that utilize a compatible interface with an event structure that may be uniquely defined to the likely needs of the tool.
【0004】 <発明の要約> 本発明の目的は、ポイントプロダクトに発生するイベントを、ユーザ拡張可能
なイベントストラクチャを含む共通のイベント管理システムを通してモニターす
るための一体化されたシステムを提供することである。SUMMARY OF THE INVENTION It is an object of the present invention to provide an integrated system for monitoring events occurring on point products through a common event management system that includes a user-extensible event structure. is there.
【0005】 本発明の一様態は、イベントストラクチャに対するキーネームおよび対応する
値を提出すること、および、キーネームが、イベントストラクチャのキー(複数
)フィールドアレイに、存在するかどうかを判定することを含むイベントストラ
クチャを拡張するための方法を提供する。キーネームが、キー(複数)フィール
ドアレイに存在しない場合は、本方法は、イベントストラクチャのインデクスを
インクリメントすること、キーネームを、インデクスに基づくキー(複数)フィ
ールドアレイ内の位置に加えること、対応値を、インデクスに基づく値(複数)
フィールドアレイ内の位置に加えることを含む。キーネームが、キー(複数)フ
ィールドアレイに存在する場合は、本方法は、キーネームに関連する値(複数)
フィールドアレイに以前に格納された値の位置を決定すること、および値(複数
)フィールドアレイ内の以前に格納された値を、対応値と置き換えることを含む
。[0005] One aspect of the present invention is to submit a key name and corresponding value for the event structure and to determine whether the key name is present in the key (s) field array of the event structure. Provides a way to extend the containing event structure. If the key name is not present in the key (s) field array, the method increments the index of the event structure, adds the key name to a position in the key (s) field array based on the index, Value is the value based on the index (multiple)
Including adding to locations in the field array. If the key name is present in the key (s) field array, the method returns the value (s) associated with the key name.
Determining the position of a value previously stored in the field array and replacing previously stored values in the value (s) field array with corresponding values.
【0006】 <発明の詳細な説明> 本発明のイベント管理システムは、エンタープライズ(例えば、ローカルエリ
アネットワーク(LAN)あるいはワイドエリアネットワーク(WAN)等のコンピュ
ータネットワーク)を管理し、エンタープライズで発生するイベント情報を相互
に関連させ、予め決められたレスポンスポリシーに基づく修正処置を講ずる。イ
ベント管理システムは、エンタープライズ内のコンパティブルなポイントプロダ
クトから、例えば、イベントメッセージを受け取る。図1に示すように、エンタ
ープライズ100は、例えば、ネットワーク(図示せず)で接続されている複数
のノード110,120,130を含んでいてよい。ノードは、例えば、オペレ
ーティングシステムを実行するパーソナルコンピュータ、サーバ等の物理ボック
スである。本発明の代表的な実施形態では、ノードは、その上にインストールさ
れたコンパティブルなポイントプロダクトを有するパーソナルコンピュータでよ
い。本発明の代表的な実施形態では、イベント管理システム140は、イベント
が生成されるノード110,120,130上のイベントを管理し、ネットワー
ク上のデータの動きを最小限に抑え、ソースに近いデータの評価、報告および自
動化された修整等の処置を続ける。<Detailed Description of the Invention> An event management system according to the present invention manages an enterprise (for example, a computer network such as a local area network (LAN) or a wide area network (WAN)), and stores event information generated in the enterprise. And take corrective action based on a predetermined response policy. The event management system receives, for example, event messages from compatible point products in the enterprise. As shown in FIG. 1, the enterprise 100 may include, for example, a plurality of nodes 110, 120, and 130 connected by a network (not shown). The node is, for example, a physical box such as a personal computer or a server that executes an operating system. In an exemplary embodiment of the invention, the node may be a personal computer having a compatible point product installed thereon. In an exemplary embodiment of the invention, the event management system 140 manages the events on the nodes 110, 120, 130 where the events are generated, minimizes the movement of data on the network, and manages data close to the source. Continue with assessment, reporting and automated remediation.
【0007】 図2に示した本発明の代表的な実施形態では、イベント管理システム270は
、例えば、アプリケーション、データベース、デスクトップ、ネットワーク、お
よびシステムを管理するのに使用されるコンパティブルなポイントプロダクトを
含む一体化されたツールの一組200内に含まれていてよい。ツール230,2
40,250,260は、共通サービス210のセットを使用して、イベントに
関わるデータを共有してよい。ディレクター220は、例えば、コンパティブル
なポイントプロダクト230,240,250,260用の従来のサーバコンピ
ュータで走る共有された共通のグラフィカルユーザインタフェース(GUI)であ
る。本発明の代表的な実施形態では、ディレクター220は、Windows NT(登録 商標)およびWindows 95下で走り、かつ、ユーザが、エンタプライズ内のコンパ ティブルなポイントプロダクト230,240,250,260を含むあらゆる リソースを注視して、それらと相互作用することを可能にする単一のコンソール として動作する。In the exemplary embodiment of the invention shown in FIG. 2, the event management system 270 includes, for example, compatible point products used to manage applications, databases, desktops, networks, and systems. It may be included in a set 200 of integrated tools. Tools 230, 2
40, 250, 260 may use a set of common services 210 to share data related to events. Director 220 is, for example, a shared common graphical user interface (GUI) running on a conventional server computer for compatible point products 230, 240, 250, 260. In an exemplary embodiment of the present invention, director 220 runs under Windows NT® and Windows 95, and includes a compatible point product 230, 240, 250, 260 within the enterprise. It acts as a single console that allows you to keep an eye on all resources and interact with them.
【0008】 本発明のイベント管理システムによって利用される、主要な管理可能な情報の
単位は、イベントと呼ばれる構造化されたメッセージである。イベントは、エン
タプライズ内のリソースによるあるいはリソースに対する何らか有意なオカレン
スについての情報を表す。イベントは、イベント管理システム内のコンパティブ
ルなポイントプロダクトおよびイベントマネージャーに送られ、また、それらに
よって受け取られる。イベントは、例えば、エンタプライズを管理するのに使用
される、リアルタイム情報処理の基本的なビルディングブロックである。イベン
トは、公表できる、共有可能な情報、および、イベントを維持し、かつ、転送す
るのに使用すべきフォーマットの基本的な要素を定義する。イベントストラクチ
ャは、例えば、どのイベントレコードにも必要な基本的な情報のための予め定義
されたフィールドを含んでいる。予め定義されたフィールドは、識別フィールド
および非識別フィールドの二種類に分類される。識別フィールドは、共に採取さ
れて、イベントに対する一意のキーを形成し、それと別のイベントとを識別する
フィールドである。非識別フィールドは、イベントについての追加の情報を加え
るが、イベントのキーには参加しないフィールドである。本発明のイベント管理
システムは、キー値ペアをダイナミックに追加し、したがって、各イベントスト
ラクチャを一意に定義することによって、イベントストラクチャが、ユーザによ
って拡張されることを可能にする。したがって、イベントストラクチャに対する
キー値ペアの追加は、他のやり方では、イベントの予め決められたフィールドに
よって一意に定義されていなかったであろうがために、公表されなかったであろ
う一意に定義されたイベントを、ポイントプロダクトが、公表することを可能に
する。The main manageable unit of information used by the event management system of the present invention is a structured message called an event. An event represents information about any significant occurrence by or against a resource in the enterprise. Events are sent to and received by compatible point products and event managers in the event management system. Events are the basic building blocks of real-time information processing used, for example, to manage enterprise. Events define the basic elements of information that can be published, shareable, and the format that should be used to maintain and forward the event. The event structure contains, for example, predefined fields for the basic information needed for any event record. The predefined fields are classified into two types, identification fields and non-identification fields. The identification field is a field that is taken together to form a unique key for an event and to identify it from another event. Non-identifying fields are fields that add additional information about the event but do not participate in the key of the event. The event management system of the present invention allows for event structures to be extended by users by dynamically adding key-value pairs and thus uniquely defining each event structure. Thus, the addition of a key-value pair to the event structure is uniquely defined that would not otherwise have been published because it would not have been otherwise uniquely defined by the predetermined fields of the event. Event that the point product can publish.
【0009】 本発明の実施形態による代表的なイベントストラクチャを、以下に、例えば、
C言語で定義する。A representative event structure according to embodiments of the present invention is described below, for example:
Defined in C language.
【0010】[0010]
【表1】[Table 1]
【0011】 代表的なイベントの識別フィールドは、ノード、ネーム、プロダクト、イン
スタンス、タイプ、タイプが分離していない場合はコンディション_タイム、タ
イプが分離している場合はイベントタイム、キー(複数)フィールドアレイおよ
び値(複数)フィールドアレイ(それらの各フィールドアレイにおけるキー値ペ
アの数を示す数を含むフィールド、例えば、NumKeysを有するもの)の内容を含
む全てのキー値ペアである。他の予め定義されたフィールドの全ては、非識別フ
ィールドである。Representative event identification fields include node, name, product, instance, type, condition_time when types are not separated, event time when types are separated, and key (plural) fields All key value pairs including the contents of the array and value (s) field array (a field containing a number indicating the number of key value pairs in each of those field arrays, eg, those having NumKeys). All of the other predefined fields are non-identifying fields.
【0012】 イベントは、例えば、分離イベント、コンディションおよびアラームを含む複
数のタイプに分類される。分離イベントは、何かが、特定の時に生じたことを示
すイベントで、完全に自蔵式である。分離イベントのオカレンスは、ノーステー
トであり、更新されない。失敗したログオンアテンプトは、例えば、分離イベン
トの生成を呼び出す。コンディションは、ある時間期間に亘って持続し、更新さ
れる属性を有していてよい何かの状態を示すイベントである。プロダクトによっ
て宣言されるイベントは、そのプロダクトによって所有される。一般に、各ポイ
ントプロダクトしか、ポイントプロダクトで生成されたコンディションイベント
を更新あるいはクリアできない。分離イベントおよびコンディションイベントは
、イベントを引き起こしているオカレンスを変更することなしには変更できない
エンタープライズについての実際の情報を代表する。アラームは、例えば、ユー
ザが構成できるポリシーに基づく他のイベントのインタプリト処理である。した
がって、ユーザは、それを引き起こしたコンディションを解消することなしに、
アラームを何時でもクリヤーできよう。同様に、アラームは、アラームの基にな
ったイベントのクリヤを超えて持続できる。[0012] Events are categorized into a plurality of types including, for example, separation events, conditions and alarms. Separation events are events that indicate that something happened at a particular time and are completely self-contained. The occurrence of the detach event is no-state and is not updated. A failed logon attempt, for example, invokes the generation of a detach event. A condition is an event that indicates a state of something that may have attributes that are persistent and updated over a period of time. Events declared by a product are owned by that product. Generally, only each point product can update or clear the condition event generated by the point product. Isolation and condition events represent the actual information about the enterprise that cannot be changed without changing the occurrence causing the event. An alarm is, for example, the interpretation of another event based on a user-configurable policy. Therefore, the user can, without resolving the condition that caused it,
Clear the alarm anytime. Similarly, an alarm can persist beyond the clearing of the event that triggered the alarm.
【0013】 図3に示したように、本発明のイベント管理システム300の代表的な実施形
態は、イベントマネージャー310、イベントアーカイブ320、イベントコリ
レータ330、アラームルートストア340、およびレスポンスエンジン350
を含んでいる。本発明の代表的な実施形態では、イベントマネージャー310、
イベントアーカイブ320、イベントコリレータ330、およびレスポンスエン
ジン350は、エンタープライズの全てのノードに含まれており、アラームルー
トストア340は、一つのセントラルストアに含まれており、イベントが、ロー
カルに格納され、管理されることを可能にしている。As shown in FIG. 3, an exemplary embodiment of the event management system 300 of the present invention includes an event manager 310, an event archive 320, an event correlator 330, an alarm route store 340, and a response engine 350.
Contains. In an exemplary embodiment of the invention, the event manager 310,
The event archive 320, event correlator 330, and response engine 350 are included in all nodes of the enterprise, and the alarm root store 340 is included in one central store, where events are stored and managed locally. It is possible to be.
【0014】 本発明の代表的な実施形態では、イベント管理システムは、例えば、ポイント
プロダクトからのイベントメッセージを、例えば、エンタープライズ中で受け取
ってよい。イベントは、イベントが、各ノード上に位置するイベントマネージャ
ー310によって受け取られるエンタープライズのノード上で管理される。イベ
ントマネージャー310は、例えば、全てのイベントを受け取り、前に送られた
イベントの状態を維持し、サブスクリプションのリストを維持し、イベントを適
当なサブスクライバーに送ってよい。本発明の代表的な実施形態では、イベント
およびそれらの状態およびサブスクリプションのリストは、ローカルに格納して
よい。In an exemplary embodiment of the invention, the event management system may receive an event message, for example, from a point product, for example, in an enterprise. Events are managed on nodes of the enterprise where the events are received by an event manager 310 located on each node. The event manager 310 may, for example, receive all events, maintain the state of previously sent events, maintain a list of subscriptions, and send events to appropriate subscribers. In an exemplary embodiment of the invention, the list of events and their states and subscriptions may be stored locally.
【0015】 図4に示したように、ノードa 401のイベントマネージャー402およびノ
ードb 410のイベントマネージャー411も、ノードb 410のイベントコリ
レータ413からイベント情報を受け取る。ノードb 410のイベントマネージ
ャー411も、ノードb 410上でイベントコリレータ413にイベントを供給
する。イベントマネージャー411も、イベントが実際に発生しているポイント
プロダクト415からイベント情報を受け取る。イベントマネージャー402、
411は、例えば、イベントおよびそれらの関連状態およびサブスクリプション
のリストを維持する。各イベントマネージャーは、ローカルメモリデータストア
、例えば、ブラックボードを有しており、そこにステートフルイベントを格納す
る。ブラックボードは、ファイルベースの記憶装置で持続保持し、世代間の情報
をリカバリ処理してよい(イベントマネージャーのプロセス呼出しを行ってよい
)。イベントにサブスクライブしているクライアントは、イベントマネージャー
の新しい呼出し間の各サブスクリプションの再設定に対して責任が有る。ローカ
ルイベントアーカイブはまた、イベントマネージャーが受け取るあらゆるイベン
トに対して維持してもよい。本発明のイベント管理システムはまた、多重ノード
からのイベントをコリレートしてもよい。本発明の代表的な実施形態では、イベ
ント管理システムは、単一の管理ステーションに統合されたイベントのビューあ
るいはノードの境界を横切るビュー/カテゴリー内のイベントのビューを供給す
る。As shown in FIG. 4, the event manager 402 of the node a 401 and the event manager 411 of the node b 410 also receive event information from the event correlator 413 of the node b 410. The event manager 411 of the node b 410 also supplies an event to the event correlator 413 on the node b 410. The event manager 411 also receives event information from the point product 415 where the event actually occurs. Event manager 402,
411 maintains, for example, a list of events and their associated states and subscriptions. Each event manager has a local memory data store, for example, a blackboard, where stateful events are stored. The blackboard may be maintained persistently in a file-based storage device and may perform inter-generational information recovery processing (an event manager process call may be made). The client subscribing to the event is responsible for resetting each subscription between new invocations of the event manager. A local event archive may also be maintained for any events received by the event manager. The event management system of the present invention may also correlate events from multiple nodes. In an exemplary embodiment of the present invention, the event management system provides a view of events integrated into a single management station or views within categories / views that cross node boundaries.
【0016】 本発明のイベント管理システムは、イベントサブスクリプションを通るノード
以外の基準によって、イベントのグループに問合せを行いあるいは興味を示すよ
う構造化されている。イベントサブスクリプションは、イベントのフィールドの
内容についての基準の指定を許す。特定のプロセスにとって興味のあるイベント
を決定することは、例えば、各種のフィールドの記録の基準に合致した記録を請
求するデータベースクワイアリを書くことに類比され得る。本発明のリクエスト
は、それが単に既存のデータに対するリクエストではなくて、発生もしくは存在
しなければならないイベントのコレクションに対する進行中のリクエストである
点で、通常のデータベースクワイアリとは異なる。The event management system of the present invention is structured to query or indicate interest in groups of events by criteria other than nodes passing through event subscriptions. Event subscriptions allow specification of criteria for the contents of the fields of an event. Determining the events of interest for a particular process can be compared to, for example, writing a database query requesting records that meet the criteria for recording various fields. The request of the present invention differs from a regular database query in that it is not just a request for existing data, but an ongoing request for a collection of events that must occur or exist.
【0017】 例えば、ポイントプロダクト415で発生するイベント等のイベントに対して
、サブスクリプションが行われる場合は、ノードb 410上のイベントマネー
ジャー411に、サブスクリプションリクエストが送られる。イベントマネージ
ャー411は、リクエストを受け取り、このリクエストを、例えば、メモリに格
納しておいてよいその未解決のリクエストのリストに加える。イベントマネージ
ャー411は、例えば、各ブラックボードに、以前に格納されている未解決のイ
ベントをチェックし、それがリクエスト基準に合致しているかどうか調べる。合
致している各イベントは、イベントの請求者、例えば、サブスクライバーに対し
て発送、例えば、公表される。受け取られ、サブスクリプション基準に合致して
いる新しいイベントは全て、同様に発送される。これは、サブスクリプションが
キャンセルされるまで、継続してよい。For example, when a subscription is made to an event such as an event generated in the point product 415, a subscription request is sent to the event manager 411 on the node b 410. Event manager 411 receives the request and adds the request to its list of outstanding requests that may be stored, for example, in memory. The event manager 411, for example, checks each blackboard for previously stored outstanding events and checks if they meet the request criteria. Each matching event is dispatched, eg, published, to the event claimant, eg, a subscriber. All new events received and meeting the subscription criteria will be dispatched as well. This may continue until the subscription is cancelled.
【0018】 本発明の代表的な実施形態では、サブスクリプションは、それが形成された時
、一意のIDが割り当てられる。一意のIDおよびこのリクエストを寄越したデータ
グループは、サブスクリプションを一意的に定義する。サブスクリプションは、
例えば、オリジナルのサブスクリプションから戻されたリクエストハンドルでAP
Iを呼び出すことによってキャンセルされる。これは、イベントマネージャーに
、各リクエストIDでキャンセルメッセージが送られる結果となる。すると、イベ
ントマネージャーは、キャンセルリクエストをオリジナルのサブスクリプション
に合致させて、それをイベントマネージャーの処理キューから除去可能となる。In an exemplary embodiment of the invention, a subscription is assigned a unique ID when it is created. The unique ID and the data group that delivered this request uniquely define the subscription. Subscription is
For example, AP with request handle returned from original subscription
Canceled by calling I. This results in a cancel message being sent to the event manager with each request ID. The event manager can then match the cancellation request with the original subscription and remove it from the event manager's processing queue.
【0019】 ノードで公表された全てのイベントは、ノードのイベントマネージャーにより
受け取られる。イベントマネージャーはまた、そのノードおよび他のノードから
処理により送られた全てのリクエストを受け取り、維持する。イベントマネージ
ャーは、イベントがコンディションかどうか判定し、もしそうなら、イベントマ
ネージャーは、例えば、ブラックボードをチェックして、イベントが既存のコン
ディションに合致するかどうか判定する。もしそうなら、コンディションイベン
トには、既存のコンディションのコンディションIDが割り当てられる。さらに、
アーカイビングが有効化されると、イベントがアーカイブされる。本発明の代表
的な実施形態では、例えば、アーカイビングには、フラットファイルアーカイブ
等のデータベースにイベントを格納することが、含まれてよい。各カレンダー日
には、別個のファイルを使用してよい。イベントは、イベント内のタイムスタン
プの日のアーカイブに、改行で区切られた記録として、それらが受け取られた順
に書き込んでよい。All events published at a node are received by the node's event manager. The event manager also receives and maintains all requests sent by the process from that node and other nodes. The event manager determines whether the event is a condition, and if so, the event manager checks, for example, a blackboard, to determine whether the event matches an existing condition. If so, the condition event is assigned the condition ID of an existing condition. further,
When archiving is enabled, events are archived. In an exemplary embodiment of the invention, for example, archiving may include storing events in a database, such as a flat file archive. A separate file may be used for each calendar day. Events may be written to the archive of the day of the timestamp in the event, as newline-separated records, in the order in which they were received.
【0020】 イベントマネージャーはまた、全ての未解決のサブスクリプションリクエスト
もチェックする。コンディション更新以外のいかなるイベントについても、受け
取られたイベントがリクエストに合致する場合は、イベントマネージャーは、請
求者にイベントを発送する。コンディションに対する更新の場合は、リクエスト
に対して一致を取られるのは、更新されたままのイベントである。したがって、
イベントマネージャーが、請求者に発送するのは、更新されたイベントである。
本発明のイベントサブスクリプションは、その全体が、引用によって以下に組み
込まれているPlatinum Provision Common Services Reference Guide, version
1.08 (October 1998, Platinum technology inc.)に詳細が記述されているイベ
ントフィルタを含んでいる。The event manager also checks for all outstanding subscription requests. For any event other than a condition update, if the received event matches the request, the event manager dispatches the event to the claimant. In the case of an update to a condition, it is the event that remains updated that matches the request. Therefore,
It is the updated event that the event manager sends to the claimant.
The event subscription of the present invention is incorporated by reference in its entirety in the Platinum Provision Common Services Reference Guide, version
1.08 (October 1998, Platinum technology inc.) Includes event filters described in detail.
【0021】 イベントフィルタ(その全体が引用によって以下に組み込まれている、199
8年12月31日に出願されたMETHOD AND APPARATUS FOR DYNAMIC EVENT FILTE
RING AND ROUTING(ダイナミックなイベントフィルタリングおよびルーティング
の方法および装置)と題する共係属中の特許出願(弁理士Docket番号22074661/2
5546)に記述されているもの)は、当該イベントの識別基準を記述し、拡張され
たイベントストラクチャのキー値ペアを含むイベントのフィールドのそれぞれに
対して指定できる各種の比較形態の指定を可能にしている。イベントフィルタは
、例えば、イベントのフィールドをユーザ指定の値と比較する部分式で構成され
たブール式である。イベントフィルタは、例えば、ストラクチャードクエリーラ
ンゲージ(SQL)の「WHERE」クローズに似ている。イベントフィルタの基本
的な部分式は、例えば、イベントのフィールドを値、例えば、node=ptisun20と
比較するフレーズである。部分式node=ptisun20は、イベントのノードフィール
ドは、ストリングnode=ptisun20に正確に合致しなければならないことを意味す
る。イベントストラクチャーのフィールドのいずれも、例で使用されているノー
ドフィールドとして使用可能であるが、例外は、特殊なシンタックスを必要とす
るキー(複数)のフィールドアレイおよび値(複数)のフィールドアレイである
。例えば、追加されたキー値ペアの一つが、 key value FileSystem /usr であった場合は、このキー値ペアに対する正確な合致フィルタは、keyfield.Fil
eSystem = "/usr"となろう。さらに、任意の値を有するキーの存在についての試
験は、それがヌル値、例えば、keyfield.FileSystem !="□に合致しないことを
試験することによって行うことができよう。イベントフィルタは、テキストスト
リングが格納できる任意の場所、例えば、フラットテキストファイル等の構成フ
ァイル内、データベース内、メモリー内に、Cソースコード(例えば、プログラ
ム内でハードコード化されているもの)等として、格納してよい。Event Filter (199, incorporated by reference in its entirety below)
METHOD AND APPARATUS FOR DYNAMIC EVENT FILTE filed on December 31, 2008
Co-pending patent application entitled RING AND ROUTING (Dynamic Event Filtering and Routing Method and Apparatus) (Patent Attorney Docket No. 22074661/2)
5546) describes the identification criteria for the event and allows the specification of various comparison forms that can be specified for each of the fields of the event, including the key value pairs of the extended event structure. ing. An event filter is, for example, a Boolean expression composed of sub-expressions that compare a field of an event with a value specified by a user. The event filter is similar to, for example, the structured query language (SQL) "WHERE" close. The basic sub-expression of the event filter is, for example, a phrase that compares the field of the event with a value, for example, node = ptisun20. The sub-expression node = ptisun20 means that the node field of the event must exactly match the string node = ptisun20. Any of the fields in the event structure can be used as node fields used in the examples, with the exception of field arrays of key (s) and value (s) that require special syntax. is there. For example, if one of the added key-value pairs was key value FileSystem / usr, the exact match filter for this key-value pair would be keyfield.Fil
eSystem = "/ usr". Additionally, testing for the presence of a key with any value could be done by testing that it does not match a null value, for example, keyfield.FileSystem! = "□. May be stored as a C source code (for example, hard-coded in a program) or the like in a configuration file such as a flat text file, a database, or a memory.
【0022】 フィルタリングはまた、イベントのキー値ペアの値に対しても利用できる。上
記の例のように、特定のファイルシステムのネームである関連値を有するキー「
FileSystem」が有ってよい。所望のイベントは、ある種のファイルシステム、例
えば、/usrに対するそれらだけでよい。キーの対応する値に対するフィルタ機構
は、キーを指定し、かつ、関連値を試験する。イベントの他のフィールドからキ
ーを区別するには、イベントの予め定義されたフィールドから、それらキーに対
して、異なるネームスペースを与える特殊なシンタックスを使用する。このシン
タックスは、「keyfield.[name]」である。キー値ペアの値/usrについての試験
例は、例えば、keyfield.FileSystem = /usr であろう。Filtering can also be used on the values of key-value pairs of events. As in the example above, a key "with an associated value that is the name of a particular file system
FileSystem ". The desired events need only be those for some file systems, eg, / usr. A filter mechanism for the corresponding value of the key specifies the key and tests the associated value. To distinguish keys from other fields in the event, a special syntax is used that gives them a different namespace from the predefined fields of the event. The syntax is "keyfield. [Name]". A test example for the value / usr of the key-value pair would be, for example, keyfield.FileSystem = / usr.
【0023】 本発明の代表的な実施形態では、イベントフィルタは、= 等の比較オペレータ
およびオペレータ「like」で指定されるフルレギュラーエクスプレッションマッ
チを含んでいてよい。フィルタは、例えば、node=ptisun05でよいであろう。pti
sun[#]に続く全てのノード値に合致するフィルタは、 node like "ptisun[0-9]+" であろう。以下は、イベントフィルタ比較の代表的なリストである。 operators: >= (より大きいかまたは等しい), <=(より小さいかまたは等しい
), >(より大きい), < (より小さい), = (等しい), like (レギュラーエ
クスプレッションに合致する), likeci(ケースインセンシティブストリングマ
ッチ), および != (等しくない)。In an exemplary embodiment of the invention, the event filter may include a full regular expression match specified by a comparison operator such as = and an operator “like”. The filter could be, for example, node = ptisun05. pti
A filter that matches all node values following sun [#] would be node like "ptisun [0-9] +". The following is a representative list of event filter comparisons. operators:> = (greater than or equal to), <= (less than or equal to),> (greater than), <(less than), = (equal to), like (matches regular expression), likeci ( Case-insensitive string match), and! = (Not equal).
【0024】 本発明の代表的な実施形態では、別のコンパイラコンパイラ(yacc)を用いて
実行される以下のトークン、生成ルール、およびイベントフィルタ定義を用いて
よい。In an exemplary embodiment of the present invention, the following tokens, production rules, and event filter definitions that are executed using another compiler compiler (yacc) may be used.
【0025】[0025]
【表2】[Table 2]
【0026】 本発明の代表的な実施形態では、イベントマネージャー411は、デーモン(
例えば、UNIX(登録商標)サーバで連続的に動作して、ネットワーク上のクライ アントシステムにリソースを供給するエージェントプログラム)として実行して よい。イベントマネージャー411は、イベントを受け取ると、それが既にイベ ントを受け取っているか、また、イベントの状態が変化したかどうかを含めて、 イベントの配置を決定する。イベントマネージャー411はまた、イベントをロ ーカルイベントアーカイブ412に書き込み、イベントを、イベント内容にサブ スクライブしている全てのクライアントに経路設定する。例えば、イベントマネ ージャー411は、ノード402上のイベントコリレータ413にイベント情報 を供給してよい。イベントアーカイブ412は、イベントアーカイブサービスプ ロセッサを含んでいてよい。イベントアーカイブ412サービスプロセッサは、 イベントアーカイブからイベントを読み取る。サブスクライバは、イベントにサ ブスクライブするアラームルール、および、例えば、データ交換サービス(DEX )等の中央記憶装置内の内容についてイベントを更新するようサブスクライブし ているリソースオブジェクトまたはプロダクトを含むディレクタを有する、任意 のイベントコリレータ413インスタンスを含んでいてよい。In an exemplary embodiment of the invention, the event manager 411 is a daemon (
For example, it may be executed as an agent program that runs continuously on a UNIX (registered trademark) server and supplies resources to client systems on a network. Upon receiving the event, the event manager 411 determines the placement of the event, including whether it has already received the event and whether the state of the event has changed. The event manager 411 also writes the event to the local event archive 412 and routes the event to all clients that have subscribed to the event content. For example, event manager 411 may provide event information to event correlator 413 on node 402. Event archive 412 may include an event archive service processor. The event archive 412 service processor reads events from the event archive. The subscriber has an alarm rule that subscribes to the event, and a director that contains the resource objects or products subscribed to update the event with content in central storage, such as, for example, a data exchange service (DEX). Any event correlator 413 instance may be included.
【0027】 イベントコリレータ413(その全体が引用によって以下に組み込まれている
、1998年12月31日に出願されたSYSTEMS AND METHOD FOR DYNAMIC CORR
ELATION OF EVENTS(イベントのダイナミックなコリレーションのためのシステ
ムおよび方法)と題する共係属中の特許出願(弁理士Docket番号22074661/25548
)に記述されているもの)は、例えば、イベントコリレータサービスプロセッサ
を含んでいてよい。イベントコリレータ413は、アラームルールで指定された
ユーザポリシーを実行する。アラームは、サブスクライバに有意のコンディショ
ンまたはオカレンスの通知を供給する一種のイベントである。アラームの決定は
、単一のイベントの存在、別のイベントが発生する場合のある既存の状態(複数
も可)の存在、あるいは、一定のタイムウィンドウ内のある特定のイベントの反
復を含んでいてよい。さらに、アラームは、ある状態または状態(複数)が存在
する場合に、一定のタイムウィンドウ内のある特定のイベントの反復の組合せを
含んでいてよい。Event Correlator 413 (SYSTEMS AND METHOD FOR DYNAMIC CORR filed December 31, 1998, which is incorporated by reference in its entirety below.
Co-pending patent application entitled ELATION OF EVENTS (system and method for dynamic correlation of events) (Patent Attorney Docket No. 22074661/25548)
) May include, for example, an event correlator service processor. The event correlator 413 executes the user policy specified by the alarm rule. An alarm is a type of event that provides a subscriber with notification of a significant condition or occurrence. Determining an alarm involves the presence of a single event, the existence of existing condition (s) where another event may occur, or the repetition of a particular event within a fixed time window. Good. Further, an alarm may include a combination of repetitions of a particular event within a certain time window when a condition or states exist.
【0028】 アラームが発生しているかどうかを決定するイベントは、イベントコリレータ
413と同じノード上のイベントによるものでよく、あるいは、一つまたはそれ
以上の他のノード401、410から生じてよい。アラームはまた、レスポンス
エンジン414が、任意の自動化された通知または修正を処理することができる
宣言による自動化されたレスポンスポリシーと関連していてもよい。イベントコ
リレータ413は、例えば、アラーム、受け取られたイベントの修正バージョン
、あるいは別のアラームルールによって修正可能な完全に新しいイベントを生成
できる。The event that determines whether an alarm has occurred may be due to an event on the same node as the event correlator 413 or may originate from one or more other nodes 401, 410. The alarm may also be associated with a declarative automated response policy that allows the response engine 414 to handle any automated notifications or modifications. The event correlator 413 can generate, for example, an alarm, a modified version of a received event, or a completely new event that can be modified by another alarm rule.
【0029】 イベントは、アラームルールによって修正してよい。アラームルールの基礎は
、分析すべきイベントの決定である。アラームルールは、どの単一イベントある
いはイベントのセットが、それに対して応答すべき有意なオカレンスを表してい
るかを定義するよう生成可能である。アラームルールは、オカレンスを表すイベ
ントおよびオカレンスに対するイベント管理システムのレスポンスの定義を記述
するデスクリプションおよびロジックを含んでいてよい。修正の結果は、一つま
たはそれ以上のイベントの生成である。アラームルールは、例えば、ディレクタ
404を通して定義してよい。Events may be modified by alarm rules. The basis of an alarm rule is the determination of the event to be analyzed. Alarm rules can be generated to define which single event or set of events represents a significant occurrence to respond to. An alarm rule may include a description and logic that describe the event that represents the occurrence and the definition of the event management system's response to the occurrence. The result of the modification is the generation of one or more events. Alarm rules may be defined, for example, through director 404.
【0030】 レスポンスエンジン414は、レスポンスポリシーを実行する。レスポンスエ
ンジン414は、複数のプロセスを含んでいる。レスポンスポリシーは、例えば
、イベントコリレータ413によって生成されるトリガリングアラームによって
呼び出される論理ステートメントによって接続された処置のリストを含む論理式
である。多重処置は、レスポンスポリシー内で定義および遂行可能である。本発
明の代表的な実施形態では、多重処置は、リスト化されたシーケンス内に入れる
か、あるいはロジックと共に追加して、各処置が、別の処置のリターンコードあ
るいはアラームで送られた指定されたフィールドの受取りに依存するようにして
よい。レスポンスポリシーは、処置のセットを定義し、論理シーケンス内のこれ
ら処置の一つまたはそれ以上を参照する式を構成することによって、生成してよ
い。処置は、グローバルで、多重レスポンスポリシーによって呼び出してよい。The response engine 414 executes a response policy. The response engine 414 includes a plurality of processes. The response policy is, for example, a logical expression including a list of actions connected by a logical statement called by a triggering alarm generated by the event correlator 413. Multiple actions can be defined and performed within a response policy. In an exemplary embodiment of the invention, multiple actions may be included in the listed sequence or added with logic so that each action is specified with a separate action return code or alarm. It may depend on receiving the field. A response policy may be generated by defining a set of actions and constructing an expression that refers to one or more of these actions in a logical sequence. The action may be global and invoked by a multiple response policy.
【0031】 本発明の代表的な実施形態では、レスポンスエンジン414はまた、各処置の
成功についての情報を、各ステップの完了時、トリガリングアラームに加える。
これは、例えば、ちょうど完了したステップのシーケンス番号、ステップの種類
(例えば、email/page)、および、イベントアーカイブでは、処置ステップのネ
ームを有するイベントを更新する更新アラームイベントを送ることによって成し
遂げてよい。In an exemplary embodiment of the invention, response engine 414 also adds information about the success of each procedure to the triggering alarm at the completion of each step.
This may be accomplished, for example, by sending an update alarm event that updates the event with the sequence number of the just completed step, the step type (eg, email / page), and, in the event archive, the name of the treatment step. .
【0032】 本発明の代表的な実施形態では、レスポンスエンジン414は、例えば、第一
のプロセス、第二のプロセス、および第三のプロセスを含んでいてよい。第一の
プロセスは、レスポンスエンジン414と同じノード410上で実行されるイベ
ントコリレータ413によって送られるイベントにサブスクライブしている。第
一のプロセスは、関連したレスポンスポリシーを有するアラームを受け取ると、
第二のプロセスを呼び出して、ポリシーを遂行する。第一のプロセスは、各プロ
セスと関連した構成ファイル内の設定値により、第二のプロセスの多重インスタ
ンスを呼び出すことができる。第二のプロセスは、イベントの送出しを必要とす
る処置を遂行し、第三のプロセスを呼び出して、任意の他の処置を遂行する。レ
スポンスエンジン414の第三のプロセスは、Eメールメッセージの送出し、ス
クリプトの呼出し、ページの送出し、メッセージのファイルへの書込み、あるい
はイベントを簡単なネットワーク管理プロトコル(SNMP)トラップとして発送す
ること等の、オペレーティングシステムに対する呼出しを必要とするレスポンス
ポリシーの処置を遂行してもよい。In an exemplary embodiment of the invention, response engine 414 may include, for example, a first process, a second process, and a third process. The first process subscribes to events sent by an event correlator 413 running on the same node 410 as the response engine 414. The first process receives an alarm with an associated response policy,
Invoke a second process to enforce the policy. The first process can invoke multiple instances of the second process with the settings in the configuration file associated with each process. The second process performs an action that requires dispatching an event, and invokes a third process to perform any other action. The third process of the response engine 414 is to send an e-mail message, call a script, send a page, write the message to a file, or send the event as a simple Network Management Protocol (SNMP) trap. Of a response policy that requires a call to the operating system.
【0033】 本発明の代表的な実施形態では、イベントストラクチャは、それぞれ拡張可能
な文字アレイを有するキー(複数)のフィールドおよび値(複数)のフィールド
を含んでいる。イベントストラクチャはまた、それらの各フィールドアレイに含
まれるキー値ペアの数を含むフィールド、例えば、Numkeysを含んでいてもよい
。図5は、キー値ペアを本発明のイベントストラクチャに加えるフロー図の代表
的な実施形態を示す。ステップ510では、ユーザは、例えば、ポイントプロダ
クトを通して、イベントキーネームおよびイベントストラクチャに加えるべき各
イベントストラクチャの対応する値を提出する。本発明の代表的な実施形態では
、キー値ペアの追加を通して、イベントストラクチャを拡張することは、例えば
、int PtEventSetKeyValuePair(PT_EVENT PtEvent, PT_CHAR_T*KeyName, PT_CHA
R_T*Value) 等の関数呼出しを通して、実行してよい。ステップ520では、イ
ベント、キーネームおよび値のうちのいずれかが、ヌルの場合は、ステップ53
0で示したように、本発明のイベント管理システムのイベントアプリケーション
プログラムインタフェース(API)が、エラーメッセージを供給して、キー値ペ
アをイベントストラクチャに加えるプロセスを終了することになる。一方、ステ
ップ540では、APIは、キーネームが、キー(複数)フィールドアレイに既に
存在しているかどうかを判定する。In an exemplary embodiment of the invention, the event structure includes a key (s) field and a value (s) field, each having an expandable character array. The event structure may also include a field containing the number of key value pairs included in their respective field arrays, eg, Numkeys. FIG. 5 illustrates an exemplary embodiment of a flow diagram for adding key-value pairs to the event structure of the present invention. At step 510, the user submits the event key name and the corresponding value of each event structure to add to the event structure, for example, through a point product. In an exemplary embodiment of the invention, extending the event structure through the addition of a key-value pair is performed, for example, by int PtEventSetKeyValuePair (PT_EVENT PtEvent, PT_CHAR_T * KeyName, PT_CHA
It may be executed through a function call such as R_T * Value). In step 520, if any of the event, key name and value is null, step 53
As indicated at 0, the event application program interface (API) of the event management system of the present invention will provide an error message and terminate the process of adding a key value pair to the event structure. On the other hand, in step 540, the API determines whether the key name already exists in the key (s) field array.
【0034】 本発明の代表的な実施形態では、イベントAPIは、例えば、int PtEventFindKe
yByIndex(PT_EVENT PtEvent, PT_CHAR_T*KeyName, int*index) 等の関数を通して、キー(複数)フィールドアレイに既に格納されている他のキ
ーネームで、入力されたキーネームをチェックすることによって、キーネームが
存在するかどうかを判定する。ステップ580では、キーネームが、キー(複数
)フィールドアレイ内に見出された場合は、キーネームのアレイ内の位置を示す
インデクスが決定され、これは、例えば、インデクス変数内の呼出し関数に供給
してよい。キーネームが見出された場合は、リターンコード、例えば、PT_SUCCE
SSを、例えば、呼出し関数に供給してよく、また、キーネームが見出されない場
合は、例えば、PT_FAILを供給してよい。さらに、本発明の代表的な実施形態で
は、キー(複数)フィールドアレイおよび値(複数)フィールドアレイは、同じ
サイズであり、キーおよび対応値は、それらのそれぞれのアレイにおいて、同じ
インデクスを有することになる。したがって、キーネームが見出された場合は、
ユーザが提出した対応値は、各インデクスによって示された値(複数)フィール
ドアレイ内の各位置に供給され、例えば、以前の値と置き換わる(ステップ59
0参照)。In an exemplary embodiment of the invention, the event API is, for example, int PtEventFindKe
By checking the entered key name with other key names already stored in the key (s) field array through a function such as yByIndex (PT_EVENT PtEvent, PT_CHAR_T * KeyName, int * index) Determine if it exists. In step 580, if the key name is found in the key (s) field array, an index indicating the position of the key name in the array is determined, for example, to the calling function in the index variable. May do it. If the key name is found, return code, eg PT_SUCCE
The SS may be provided, for example, to the calling function, and if no key name is found, for example, PT_FAIL may be provided. Further, in an exemplary embodiment of the invention, the key (s) field array and the value (s) field array are of the same size and the keys and corresponding values have the same index in their respective arrays. become. So, if a key name is found,
The corresponding value submitted by the user is provided to each position in the value (s) field array indicated by each index, for example, replacing the previous value (step 59).
0).
【0035】 別法として、入力されたキーネームの対応値は、関数、例えば、int PtEventG
etKeyValuePair(PT_EVENT PtEvent, PT_CHAR_T*KeyName, const PT_CHAR_T**Key
Value) を通して、呼出し関数に供給してよい。この関数は、各キーネームから
対応値を得、入力されたキーに対する現在の対応値を呼出し元に供給する。Alternatively, the corresponding value of the entered key name is a function, eg, int PtEventG
etKeyValuePair (PT_EVENT PtEvent, PT_CHAR_T * KeyName, const PT_CHAR_T ** Key
Value) to the calling function. This function gets the corresponding value from each key name and supplies the current corresponding value for the entered key to the caller.
【0036】 ステップ550で、入力されたキーネームが見出されなかった場合は、イベン
トAPIは、インデクスを、キー(複数)フィールドアレイおよび値(複数)フィ
ールドアレイ内の、次に利用可能なインデクス、例えば、NumKeysの現在の値よ
り大きい値に設定する。ステップ560では、イベントAPIは、入力されたキー
ネームを、インデクス、例えば、フィールドNumKeys内の値によって示された位
置のキー(複数)フィールドアレイに供給する。本発明の代表的な実施形態では
、キーは、int PtEventSetKeyNameByIndex(PT_EVENT PtEvent, int Index, PT_C
HAR_T*Key) 等の関数を通して設定してよい。キー(複数)フィールドアレイが
、インデクスによって示された位置に、既にキーを含んでいる場合は、入力され
たキーネームは、以前に格納されたキーと置き換わる。イベントAPIは、各イベ
ント、例えば、PtEvent およびKeyが、ヌルで、Indexが1より小さいかどうか判
定してもよい。PtEvent およびKeyのいずれかが、ヌルで、Indexが1より小さい
場合は、イベントAPIは、エラーメッセージを供給して、キーを設定しない。If, at step 550, the entered key name is not found, the event API converts the index to the next available index in the key (s) field array and the value (s) field array. For example, it is set to a value larger than the current value of NumKeys. In step 560, the event API supplies the input key name to an index, for example, the key (s) field array at the location indicated by the value in the field NumKeys. In an exemplary embodiment of the invention, the key is int PtEventSetKeyNameByIndex (PT_EVENT PtEvent, int Index, PT_C
It may be set through a function such as HAR_T * Key). If the key (s) field array already contains a key at the location indicated by the index, the entered key name replaces the previously stored key. The event API may determine whether each event, eg, PtEvent and Key, is null and Index is less than one. If either PtEvent or Key is null and Index is less than 1, the event API will supply an error message and will not set the key.
【0037】 ステップ570では、イベントAPIは、入力されたキーネームの対応値を、イ
ンデクス、例えば、フィールドNumKeys内の値によって示された位置の値(複数
)フィールドアレイに供給する。本発明の代表的な実施形態では、入力されたキ
ーネームの対応値は、int PtEventSetKeyValueByIndex(PT_EVENT PtEvent, int
Index, PT_CHAR_T*Value) 等の関数を通して設定してよい。イベントAPIは、各
イベント、例えば、PtEventおよび値が、ヌルで、Indexが1より小さいかどうか
判定してもよい。PtEventおよび値のいずれかが、ヌルで、Indexが1より小さい
場合は、イベントAPIは、エラーメッセージを供給して、値を設定しなくてよい
。In step 570, the event API supplies the corresponding value of the input key name to the index, eg, the value (s) field array at the position indicated by the value in the field NumKeys. In a representative embodiment of the present invention, the corresponding value of the entered key name is int PtEventSetKeyValueByIndex (PT_EVENT PtEvent, int
Index, PT_CHAR_T * Value) etc. The event API may determine whether each event, eg, PtEvent and value, is null and Index is less than one. If either PtEvent or the value is null and Index is less than 1, the event API may supply an error message and set no value.
【0038】 本発明の代表的な実施形態では、関数、extern int PtEventSetKeyValuePair
(PT_EVENT, PT_CHAR_T*, PT_CHAR_T*) を用いて、イベントに新しいキー値ペア
を生成する。例えば、イベントの追加の属性が、イベントが属するファイルシス
テムの名前であった場合は、呼出しPtEventSetKeyValuePair(PtEvent, "FileSys
tem", "/usr")が、例えば、ファイルシステム /usr のキー値ペアを、それにつ
いてイベントが報告されているエンタープライズのノード上で追加するであろう
。この関数を同じキーで再び呼び出すと、値が更新されることになる。In an exemplary embodiment of the invention, a function, extern int PtEventSetKeyValuePair
Use (PT_EVENT, PT_CHAR_T *, PT_CHAR_T *) to generate a new key-value pair for the event. For example, if the additional attribute of the event was the name of the file system to which the event belongs, call PtEventSetKeyValuePair (PtEvent, "FileSys
tem "," / usr ") will add, for example, a key-value pair for the file system / usr on the enterprise node for which the event is being reported. Calling this function again with the same key , The value will be updated.
【0039】 本発明の代表的な実施形態では、関数、extern int PtEventRemoveKeyValuePa
ir (PT_EVENT, PT_CHAR_T*) は、例えば、ユーザが、キー値ペアをイベントに追
加した処置をリザーブすることを可能にする。この処置は、例えば、キー値ペア
をそれらの各アレイに見出して除去することによって、リザーブしてよい。さら
に、アレイ内で、除去された対より大きい全てのキー値ペアは、1位置後にシフ
トされ、各アレイのサイズは、1だけ減らされ、かつ、フィールドのインデクス
値、例えば、NumKeysは、1だけ減らされる。本発明の代表的な実施形態では、
関数、extern int PtEventGetKeys (PT_EVENT, PT_CHAR_T***, int*) は、例え
ば、各イベントのイベントストラクチャを拡張するのに使用された追加のキーの
リストを得る。In an exemplary embodiment of the invention, the function extern int PtEventRemoveKeyValuePa
ir (PT_EVENT, PT_CHAR_T *) allows, for example, a user to reserve an action that added a key-value pair to the event. This action may be reserved, for example, by finding and removing key-value pairs in their respective arrays. Further, within the array, all key value pairs larger than the removed pair are shifted one position back, the size of each array is reduced by one, and the index value of the field, eg, NumKeys, is one. Is reduced. In an exemplary embodiment of the invention,
The function extern int PtEventGetKeys (PT_EVENT, PT_CHAR_T ***, int *), for example, gets a list of additional keys used to extend the event structure for each event.
【0040】 本発明のイベント管理システムは、イベントストラクチャの異なるバージョン
を有するエンタープライズ内のイベント同士の連絡を可能にするコンパティビリ
ティー機構を含んでいる。イベントストラクチャの異なるバージョンは、イベン
トの予め定義されたフィールドを除去してはならず、新しいフィールドが、イベ
ントストラクチャに追加された場合は、新しいフィールドには、値が存在しない
場合に使用されるべきデフォルト値が割り当てられねばならない。本発明のイベ
ント管理システムは、イベントストラクチャが、自己記述メッセージストラクチ
ャにどのように表現されているかを記述しているメッセージをパックする(例え
ば、該メッセージは、フィールドネームに続くメッセージ内のデータが何になろ
うとしているのか、また、どんなバージョンをイベントストラクチャがスタンプ
するのかを記述している予め定義されたフィールドネームを含んでいる)。バー
ジョンスタンピングは、イベントストラクチャの予め定義されたフィールドネー
ム、バージョンを、メッセージにパックされたイベントストラクチャのバージョ
ン番号と共に供給することを含んでいる。本発明のメッセージストラクチャは、
フィールドの記述子(例えば、フィールド名)のペアを、メッセージが異なるバ
ージョンに亘って一定であることを可能にする対応するフィールド(例えば、フ
ィールドの内容)と共に含んでいる。イベントストラクチャのコンパティビリテ
ィー機構は、例えば、メッセージストラクチャを完成するのにそれが必要として
いるフィールドのメッセージを捜し出すことによって、メッセージをメッセージ
ストラクチャに配列する。捜索には、例えば、現在居住しているバージョンより
後のイベントストラクチャのバージョンで追加されたかもしれないフィールドを
無視すること、あるいは、アンパックされたイベントストラクチャのバージョン
が、現在のイベントストラクチャ以下である場合に(例えば、現在のイベントス
トラクチャが、より新しいフィールドを有することができるであろう場合に)、
見出されなかったフィールドデフォルト値を供給することが含まれていてよい。
デフォルト値は、ハードコード化するかあるいはイベント内の他のフィールドの
内容を調べるアルゴリズムによって求めることができよう。例えば、新しいフィ
ールドが、旧いフィールドを複数の独立したフィールドに分割しつつあったとす
れば、旧いフィールドにアルゴリズムを適用して、新しいフィールドに適した値
を提案することができよう。[0040] The event management system of the present invention includes a compatibility mechanism that allows communication between events in an enterprise having different versions of the event structure. Different versions of the event structure must not remove the predefined fields of the event, and if a new field is added to the event structure, the new field should be used if no value exists Default values must be assigned. The event management system of the present invention packs a message describing how the event structure is represented in the self-describing message structure (e.g., the message is based on what data in the message follows the field name). (Including a predefined field name that describes what version the event structure stamps). Version stamping involves providing a predefined field name, version of the event structure, along with the version number of the event structure packed in the message. The message structure of the present invention is:
It includes pairs of field descriptors (eg, field names) along with corresponding fields (eg, field contents) that allow the message to be constant across different versions. The event structure compatibility mechanism arranges the messages in the message structure, for example, by locating the message in the fields it needs to complete the message structure. The search may involve, for example, ignoring fields that may have been added in a later version of the event structure than the currently resident version, or if the version of the unpacked event structure is less than or equal to the current event structure In some cases (eg, if the current event structure could have a newer field)
Providing a field default value that was not found may be included.
Default values could be hard coded or determined by algorithms that examine the contents of other fields in the event. For example, if a new field was splitting an old field into multiple independent fields, an algorithm could be applied to the old field to propose a value appropriate for the new field.
【0041】 イベントストラクチャの予め定義されたフィールドを除去しないことは、ポイ
ントプロダクト等の新しいプロセスが、イベント管理システムのより旧いバージ
ョン、他のポイントプロダクトあるいはディレクターと連絡してよいことを保証
する。これは、イベントが、統合されているかあるいはイベント相関ルール等、
何か他の理由のためにクロスノード境界である場合に、特に重要である。バージ
ョン間のコンパティビリティーが存在しない場合は、ストラクチャの更新により
、相互連絡している全てのノード上の全てのプロセスが同時に更新されることが
必要となろう。より旧いプロセスは、それが必要とする全てのフィールドを見出
して、そのイベントストラクチャに居住させることができよう。新しいフィール
ドに、値が無い場合のデフォルト値を割り当てることは、より旧いプロセスから
メッセージを受け取るポイントプロダクト等のより新しいバージョンのプロセス
が、到来メッセージにフィールドが無い場合に、イベントストラクチャの後のバ
ージョンを居住させることを可能にする。この値は、例えば、他のフィールドの
値を基に割り当ててよい。Not removing predefined fields in the event structure ensures that new processes, such as point products, may communicate with older versions of the event management system, other point products or directors. This is because events are integrated or event correlation rules, etc.
This is especially important if it is a cross-node boundary for some other reason. If there was no compatibility between versions, updating the structure would require that all processes on all interconnected nodes be updated simultaneously. An older process could find all the fields it needed and populate the event structure. Assigning a default value for a new field with no value means that a newer version of the process, such as a point product that receives a message from an older process, will update the later version of the event structure if the incoming message has no fields. Make it habitable. This value may be assigned, for example, based on the value of another field.
【0042】 上述した実施形態は、本発明の説明上の例であり、本発明が、それらの特定の
実施形態に限定されると、解釈されるべきではない。各種の変更および修正が、
添付のクレームで定義した本発明の意図もしくは範囲から逸脱することなしに、
この技術に長けた人によって実施されてよい。The embodiments described above are illustrative examples of the present invention and should not be construed as limiting the invention to those particular embodiments. Various changes and corrections,
Without departing from the spirit or scope of the invention as defined in the appended claims,
It may be performed by a person skilled in this technology.
【図面の簡単な説明】[Brief description of the drawings]
【図1】 複数のノードを含む、本発明の、エンタープライズの、代表的な実施形態を示
す。FIG. 1 illustrates an enterprise representative embodiment of the present invention, including multiple nodes.
【図2】 本発明の、一体化されたポイントプロダクトの一組の、代表的な実施形態を示
す。FIG. 2 illustrates a set of exemplary embodiments of an integrated point product of the present invention.
【図3】 本発明の、イベント管理システムのブロック図の、代表的な実施形態を示す。FIG. 3 illustrates an exemplary embodiment of a block diagram of an event management system of the present invention.
【図4】 本発明の、イベント管理システムの複数のノード間で交信されるイベント情報
の、代表的な実施形態を示す。FIG. 4 illustrates an exemplary embodiment of event information exchanged between multiple nodes of the event management system of the present invention.
【図5】 本発明の、イベントストラクチャを拡張するプロセスの、フロー図の、代表的
な実施形態を示す。FIG. 5 illustrates an exemplary embodiment of a flow diagram of a process for extending an event structure of the present invention.
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW (72)発明者 マトソン,ケネス,ディー アメリカ合衆国,ワシントン州 98008, ベレビュー,エス イー トゥエンティフ ォース ストリート 15610 (72)発明者 アスベル,デビッド アメリカ合衆国,ペンシルバニア州 19422,ブルー ベル,ドッグウッド サ ークル 1107 Fターム(参考) 5B098 AA10 GA02 GA03 GA04 GA08 GC01──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, LS, MW, SD, SL, SZ, TZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, CA, CH, CN, CR, CU, CZ, DE, DK, DM, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID , IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, NO, (72) Invention NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, TZ, UA, UG, UZ, VN, YU, ZA, ZW Mattson, Kenneth, Dee United States, 98008, Washington 98008, Bereview, SE Twenty-Fourth Street 15610 (72) Inventor Asbel, David United States of America, Pennsylvania 19422, Blue Bell, Dogwood Circle 1107 F-term (reference) 5B098 AA10 GA02 GA03 GA04 GA08 GC01
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US22480898A | 1998-12-31 | 1998-12-31 | |
| US09/224,808 | 1998-12-31 | ||
| PCT/US1999/031180WO2000039675A1 (en) | 1998-12-31 | 1999-12-29 | Method and apparatus for a user extensible event structure |
| Publication Number | Publication Date |
|---|---|
| JP2002533829Atrue JP2002533829A (en) | 2002-10-08 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000591505APendingJP2002533829A (en) | 1998-12-31 | 1999-12-29 | Method and apparatus for user extensible event structure |
| Country | Link |
|---|---|
| EP (1) | EP1149336A4 (en) |
| JP (1) | JP2002533829A (en) |
| KR (1) | KR20010103729A (en) |
| CN (1) | CN1211733C (en) |
| AU (1) | AU775155B2 (en) |
| BR (1) | BR9916597A (en) |
| CA (1) | CA2358110A1 (en) |
| HK (1) | HK1043209A1 (en) |
| IL (2) | IL143515A0 (en) |
| WO (1) | WO2000039675A1 (en) |
| ZA (1) | ZA200104582B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11727025B2 (en) | 2015-04-03 | 2023-08-15 | Oracle International Corporation | Method and system for implementing a log parser in a log analytics system |
| US10366096B2 (en)* | 2015-04-03 | 2019-07-30 | Oracle International Corporation | Method and system for implementing a log parser in a log analytics system |
| US11226975B2 (en) | 2015-04-03 | 2022-01-18 | Oracle International Corporation | Method and system for implementing machine learning classifications |
| US11681944B2 (en) | 2018-08-09 | 2023-06-20 | Oracle International Corporation | System and method to generate a labeled dataset for training an entity detection system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5237684A (en)* | 1991-08-12 | 1993-08-17 | International Business Machines Corporation | Customized and versatile event monitor within event management services of a computer system |
| US5305454A (en)* | 1991-08-12 | 1994-04-19 | International Business Machines Corporation | Notification of event handlers in broadcast or propagation mode by event management services in a computer system |
| US5583983A (en)* | 1994-11-17 | 1996-12-10 | Objectware, Inc. | Multi-platform object-oriented software development and deployment system |
| US5842223A (en)* | 1995-07-03 | 1998-11-24 | Sun Microsystems Inc. | Method and apparatus for information state management |
| Publication number | Publication date |
|---|---|
| BR9916597A (en) | 2002-06-04 |
| WO2000039675A1 (en) | 2000-07-06 |
| IL143515A (en) | 2007-03-08 |
| ZA200104582B (en) | 2005-03-09 |
| EP1149336A4 (en) | 2003-05-14 |
| AU775155B2 (en) | 2004-07-22 |
| CA2358110A1 (en) | 2000-07-06 |
| IL143515A0 (en) | 2002-04-21 |
| CN1211733C (en) | 2005-07-20 |
| HK1043209A1 (en) | 2002-09-06 |
| CN1352768A (en) | 2002-06-05 |
| KR20010103729A (en) | 2001-11-23 |
| AU2220600A (en) | 2000-07-31 |
| EP1149336A1 (en) | 2001-10-31 |
| Publication | Publication Date | Title |
|---|---|---|
| US6366926B1 (en) | Method and apparatus for the dynamic filtering and routing of events | |
| US6446136B1 (en) | System and method for dynamic correlation of events | |
| US6895586B1 (en) | Enterprise management system and method which includes a common enterprise-wide namespace and prototype-based hierarchical inheritance | |
| US6505246B1 (en) | User interface for system management applications | |
| US5870605A (en) | Middleware for enterprise information distribution | |
| US5873084A (en) | Database network connectivity product | |
| US7454516B1 (en) | Scalable virtual partitioning of resources | |
| AU2006236838B2 (en) | Apparatus and method for managing a network of intelligent devices | |
| US7490265B2 (en) | Recovery segment identification in a computing infrastructure | |
| US6772031B1 (en) | Method of, system for, and computer program product for providing a job monitor | |
| US20030233378A1 (en) | Apparatus and method for reconciling resources in a managed region of a resource management system | |
| US20040088717A1 (en) | System and method for connectivity to structured query language database | |
| US20030217134A1 (en) | Rule-based method and system for managing heterogenous computer clusters | |
| JP2002533829A (en) | Method and apparatus for user extensible event structure | |
| US6748454B1 (en) | Method and apparatus for a user extensible event structure |