JP2005531864A - Opcクライアントに対するシステムイベントのフィルタリングおよび通知 - Google Patents

Opcクライアントに対するシステムイベントのフィルタリングおよび通知 Download PDF

Info

Publication number
JP2005531864A
JP2005531864A JP2004549851A JP2004549851A JP2005531864A JP 2005531864 A JP2005531864 A JP 2005531864A JP 2004549851 A JP2004549851 A JP 2004549851A JP 2004549851 A JP2004549851 A JP 2004549851A JP 2005531864 A JP2005531864 A JP 2005531864A
Authority
JP
Japan
Prior art keywords
event
opc
notification
events
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004549851A
Other languages
English (en)
Inventor
プロール,ジョン・エム
アーソー,ジェイソン・ティー
リン,ハワー・ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Publication of JP2005531864A publication Critical patent/JP2005531864A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/546Xcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

イベントの通知をOPCクライアントに提供する、Windows(登録商標)環境で動作するシステムが開示される。システムで生成されたNTイベントは、フィルタリングされ、OPCクライアントに提示するためのOPC形式に変換される。変換されたNTイベント通知は、NTイベントを生成したソースの名称を含む。システムは、ユーザ定義のフィルタ基準および変換情報の入力を可能にするフィルタ構成ツールを含む。変換情報は、ソースの名称、イベントの重大度、イベントのタイプ(単純、追跡、および条件)、イベントのカテゴリ、イベントの条件、イベントのサブ条件、およびイベントの属性を含む。

Description

本発明は、一般に、ネットワーク内で接続された複数のコンピューティングノード間におけるシステムイベントの濾過および通知に関し、より詳細には、Windows(登録商標) Management Instrumentation(WMI)環境で濾過および通知を達成する方法およびデバイスに関する。
本願は、その内容全体を参照により組み込んだ2002年6月28日出願の米国仮出願番号60/392,496号および2002年12月27日出願の米国仮出願番号60/436,695号の特典を請求する。
ウェブベースの企業管理(WBEM:Web−Based Enterprise Management)は、企業のシステムマネージャにその管理の必要性に応じた標準的な低価格の解決策を提供するために、分散マネージメントタスクフォース(DMTF:Distributed Management Task Force)によって企画された構想である。WBEM構想は、単純なワークステーション構成から複数のプラットフォームにわたるフルスケール企業管理に至る、多数のタスクを包含する。この構想の要としては、典型的な管理環境に存在するオブジェクトを表すための拡張可能なデータモデルである、共通情報モデル(CIM:Common Information Model)がある。
WMIは、Microsoft(登録商標)Windows(登録商標)プラットフォーム用のWBEM構想の一実施態様である。WMI環境に存在するオブジェクトを表すためにCIMを拡張し、管理オブジェクト形式(MOF:Managed Object Format)言語と共通プログラミングインターフェースの両方をサポートするために管理基盤を実施することにより、WMIは、種々のアプリケーションが様々な企業の構成要素を透過的に管理することを可能にする。
WMI基盤は、次に示すコンポーネントを含む。
・実際のWMIソフトウェア(Winmgmt.exe)、すなわち管理データへの均等なアクセスをアプリケーションに提供するコンポーネント。
・共通情報モデル(CIM)レポジトリ、すなわち管理データの中央記憶域。
CIMレポジトリは、新しいオブジェクトクラスの定義により拡張される。CIMレポジトリは、静的に定義されたクラスインスタンスにより、または動的インスタンスプロバイダを介してポピュレートすることができる。
OLE for Process Control(商標)(OPC(商標))は、工場のフロアデータに対する簡易かつ共通のアクセスをビジネスアプリケーションに提供するように設計された、新進のソフトウェア標準である。従来、それぞれのソフトウェアまたはアプリケーション開発業者には、ハードウェアフィールドデバイスとデータを交換するためのカスタムインターフェースまたはサーバ/ドライバを書き込むことが要求された。OPCは、上記作業を一度行えば、それ以後はヒューマンマシンインターフェース(HMI:Human Machine Interface)、監視制御データ収集(SCADA:Supervisory Control and Data Acquisition)、制御およびカスタムアプリケーションにより容易に再利用することを可能とする、共通の高性能インターフェースを定義することにより、この必要条件を解消した。
OPC仕様は、OPC Foundationにより維持されており、非専売の技術仕様であり、Microsoft社製OLE/COM技術に基づく一組の標準インターフェースを定義する。コンポーネントオブジェクトモデル(COM:Component Object Model)は、分散型制御システム、プログラム可能な論理コントローラ、入出力(I/O)システム、およびスマートフィールドデバイスのような、リアルタイム情報のサーバに関する標準オブジェクト、メソッド、およびプロパティの定義を可能にする。さらに、Microsoft社製OLE Automation技術を使用することにより、OPCはローカルエリアネットワーク、遠隔サイト、またはインターネットを介して工場のフロアデータをオフィスアプリケーションに提供することができる。
OPCは、エンドユーザとハードウェア/ソフトウェア製造業者の両方に対して、次に示す項目を含む特典を提供する。
・オープン接続性:ユーザは、より適切に最高品位のアプリケーションを利用することを可能にする、より広範囲にわたる工場のフロアデバイスおよびクライアントソフトウェアから選択することができるようになる。
・高性能:「フリースレッディング(free threading)」のような最新技術を使用することにより、OPCは非常に高性能な特性を提供する。
・供給業者の生産性の向上:OPCがオープンスタンダードであるため、ソフトウェアおよびハードウェアの製造業者は、作業の重複を大幅に解消して、接続性に関する事項をより短時間で処理し、アプリケーションに関する事項により多くの時間を費やせるようになる。
OPCは、自動化/制御アプリケーション、フィールドデバイス、およびビジネス/オフィスアプリケーションの間における、より高度な相互運用性を促進する。
PCベースの処理制御環境では、処理関連のイベントが重要であるばかりでなく、一部のWindows(登録商標)システムイベントも制御戦略および/または診断において決定的な役割を担う。例えば、CPUまたはメモリ使用量がある一定の閾値に達したことを示すイベントは、ユーザに対して、システム性能が劣化し始める前に処置を取ることを要求する。しかし、Windows(登録商標)システムイベントは、OPC標準に準拠しておらず、OPCクライアントには使用不可能である。本発明は、この問題を解消する機構を提供する。
本発明は、以下の記述から明らかになる多くのさらなる利点も提供する。
本発明の方法は、OPCクライアントに対するOPC警報およびイベント(OPC−AE)ならびにNT警報およびイベント(NT−AE)の通知に関する。この方法は、NT−AEのNT−AE通知をOPC−AE通知に変換し、そのOPC−AE通知をOPCクライアントに提示する。
OPCクライアントは、例えば、NT−AEを作成したソースのローカルまたは遠隔にある。OPC−AE通知は、マルチキャストリンクまたはWMIサービスによりOPCクライアントに提示されることが好ましい。
本発明の方法の一実施形態では、OPC−AE通知は、マルチキャストリンクを介して複数のノード間で同期が取られる。
本発明の方法の別の実施形態では、NT−AEは、フィルタ構成ツールまたはシステムイベントフィルタ・スナップイン(snap−in)により提供されることが好ましい、フィルタ基準に従いフィルタリングされる。
本発明の方法のさらに別の実施形態では、変換するステップは、OPC−AE通知を提供するためにNT−AE通知に追加情報を付加する。
本発明の方法の上記実施形態の1つの態様では、追加情報は、NT−AE通知を作成したソースの名称を含む。これは、NT−AE通知を作成したコンピュータ名およびNT−AEの挿入ストリングを含むことが好ましい。挿入ストリングは、例えば、NT−AEを生成したコンポーネントを特定する。
上記方法の上記実施形態の別の態様では、追加情報は、NT準拠の重大度であるイベントの重大度を含む。上記変換するステップは、NT準拠の重大度のOPC準拠の重大度への変換を提供する。好ましくは、この変換は、NT−AEの規定の重大度値またはロギングされた重大度値に基づく。
上記方法の上記実施形態のさらに別の態様では、追加情報は、イベントのクッキー、ソースの名称、イベントの重大度、イベントのカテゴリ、イベントのタイプ、イベントの認知可能性、およびイベントの認知状態からなるグループから選択された1つまたは複数の項目を含む。
本発明の方法の上記実施形態では、NT−AEは、条件イベント、単純イベント、または追跡イベントを含む。条件イベントは、例えば特定ソースの状態を反映する。
本発明のデバイスは、NT−AEのNT−AE通知を追加情報にリンクするシステムイベントプロバイダと、OPCクライアントに提示するためにNT−AE通知と追加情報をOPC−AE通知としてパッケージするシステムイベントサーバとを含む。
OPCクライアントは、例えば、NT−AE通知を作成したソースのローカルまたは遠隔にある。OPC−AE通知は、マルチキャストリンクまたはWMIサービスによりOPCクライアントに提示されることが好ましい。
本発明のデバイスの一実施形態では、OPC−AE通知は、マルチキャストリンクを介して複数のノード間で同期が取られる。
本発明のデバイスの別の実施形態では、NT−AE通知は、フィルタ構成ツールまたはシステムイベントフィルタ・スナップインにより提供されることが好ましい、フィルタ基準に従いフィルタリングされる。
本発明のデバイスのさらに別の実施形態では、システムイベントプロバイダは、OPC−AE通知を提供するためにNT−AE通知に追加情報を付加する。
本発明のデバイスの上記実施形態の1つの態様では、追加情報は、NT−AE通知を作成したソースの名称を含む。これは、NT−AE通知を作成したコンピュータ名およびNT−AEの挿入ストリングを含むことが好ましい。挿入ストリングは、例えば、NT−AEを生成したコンポーネントを特定する。
本発明のデバイスの上記実施形態の別の態様では、追加情報は、NT準拠の重大度であるイベントの重大度を含む。システムイベントプロバイダは、NT準拠の重大度のOPC準拠の重大度への変換を提供する。好ましくは、この変換は、NT−AEの規定の重大度値またはロギングされた重大度値に基づく。
本発明のデバイスの上記実施形態のさらに別の態様では、追加情報は、イベントのクッキー、ソースの名称、イベントの重大度、イベントのカテゴリ、イベントのタイプ、イベントの認知可能性、およびイベントの認知状態からなるグループから選択された1つまたは複数の項目を含む。
本発明のデバイスの上記実施形態では、NT−AEは、条件イベント、単純イベント、または追跡イベントを含む。条件イベントは、例えば、特定ソースの状態を反映する。
本発明のデバイスのさらに別の実施形態では、NTイベントプロバイダはNT−AEを提供し、フィルタは、フィルタ基準を満たすNT−AE通知のみがシステムイベントプロバイダによってOPC−AEにリンクされるように、フィルタ基準に従いNT−AE通知をフィルタリングする。この実施形態の1つの態様では、NT−AEの1つまたは複数は、ソースによって生成され、このソースの状態を反映する条件イベントである。システムイベントプロバイダは、このソースの状態の変更により生成された複数の条件イベントのうちの後で発生する1つの条件イベントに合わせて、複数の条件イベントのうちの既に発生している1つの条件イベントの活動状態と非活動状態との間で状態を変更する。システムイベントプロバイダは、既に発生している条件イベントと後で発生する条件イベントのNT−AE通知を、OPCクライアントに提示するためにさらにOPC−AE通知にリンクする。
本発明の上記方法のさらに別の実施形態では、NT−AEの1つまたは複数は、ソースによって生成され、このソースの状態を反映する条件イベントである。上記方法は、このソースの状態の変更により生成された複数の条件イベントのうちの後で発生する1つの条件イベントに合わせて、複数の条件イベントのうちの既に発生している1つの条件イベントの活動状態と非活動状態との間で状態をさらに変更する。好ましくは、変換するステップおよび提示するステップは、既に発生している条件イベントと後で発生する条件イベントのNT−AE通知を、OPCクライアントに提示するためにOPC−AE通知に変換する。
本発明のさらなる方法は、OPC−AE通知に変換するためにNT−AE通知をフィルタリングするフィルタをポピュレートする。この方法は、その通知がフィルタを通過すべきNT−AEを入力し、入力されたNT−AEを、イベントのタイプ、イベントのソース、イベントの重大度、イベントのカテゴリ、イベントの条件、イベントのサブ条件、およびイベントの属性からなるグループから選択された1つまたは複数のイベント特性により構成する。
本発明の上記さらなる方法の1つの態様によれば、イベントのタイプは、条件、単純、および追跡を含む。
本発明の上記さらなる方法の別の態様によれば、イベントのソースは、特定のNT−AEを作成したコンピュータ名およびその特定のNT−AEの挿入ストリングを含む。
本発明の上記さらなる方法のさらに別の態様によれば、イベントの重大度は、規定の重大度値またはロギングされた重大度値を含む。
本発明の上記さらなる方法のさらに別の態様によれば、イベントのカテゴリは、デバイスの状態を含む。
本発明の上記さらなる方法のさらなる1つの態様によれば、イベントの属性は、特定のイベントのカテゴリに関して、特定のNT−AEの認知可能性および活動状態または非活動状態の状態を含む。
本発明のコンフィギュレータは、OPC−AE通知に変換するためにNT−AE通知をフィルタリングするフィルタをポピュレートする。このコンフィギュレータは、フィルタを通過すべきNT−AEのフィルタへの入力と、イベントのタイプ、イベントのソース、イベントの重大度、イベントのカテゴリ、イベントの条件、イベントのサブ条件、およびイベントの属性からなるグループから選択された1つまたは複数のイベント特性による、その入力されたNT−AEの構成とを提供する構成デバイスを含む。
本発明のコンフィギュレータの1つの態様によれば、イベントのタイプは、条件、単純、および追跡を含む。
本発明のコンフィギュレータの別の態様によれば、イベントのソースは、特定のNT−AE通知を作成したコンピュータ名およびその特定のNT−AEの挿入ストリングを含む。
本発明のコンフィギュレータのさらに別の態様によれば、イベントの重大度は、規定の重大度値またはロギングされた重大度値を含む。
本発明のこの他およびさらなる目的、利点、および特徴は、添付の図面と共に以下の明細書を参照することにより理解されよう。添付の図面では、構成の類似の要素は類似の参照記号で示す。
図1を参照すると、システム20は、1つのネットワーク30を介して相互接続される複数のコンピューティングノード22、24、26および28を含む。ネットワーク30は、いかなる適切な有線、無線、および/または光学ネットワークであってもよく、インターネット、イントラネット、公衆電話網、ローカルエリアネットワークおよび/または広域ネットワーク、および/または他の通信網を含むことができる。4つのコンピューティングノードが示されているが、コンピューティングノード26と28の間の破線は、これ以上またはこれ以下の数のコンピューティングノードを使用することが出来ることを示している。
システム20は、複数のコンピューティングノード内で発生するか、または複数のコンピューティングノードの1つまたは複数によって認知されるイベントを追跡する、いかなるアプリケーション用にでも構成することができる。一例として、また説明を完全にするために、システム20は、本明細書ではプロセス32の制御用として記述する。この目的のために、コンピューティングノード22および24は、プロセス32を制御し、監視し、かつ/または管理するように割り付けられる。コンピューティングノード22および24は、プロセス32への接続と共に示される。これらの接続は、様々なセンサおよび/または制御デバイスが接続されるバスに対する接続であってよい。例えば、コンピューティングノード22および24の1つまたは複数に対するローカルバスは、フィールドバス・ファンデーション(Fieldbus Foundation:FF)ローカルエリアネットワークであってよい。コンピューティングノード26および28は、プロセス32への直接接続を有さず、コンピューティングノードの管理、監視および他の目的のために使用することができる。
図2を参照すると、コンピューティングノード22、24、26および28は、それぞれに本発明のノードコンピュータ34を含む。ノードコンピュータ34は、複数の実行時システムコンポーネント、すなわちWMIサービス36、リダイレクタサーバ38、システムイベントサーバ(SES)40、HCIクライアントユーティリティマネージャ42、コンポーネントマネージャ44、およびシステムステータスディスプレイ46を含む。WMIサービス36は、ローカルコンポーネント管理サービス(CAS:Component Administrative Service)プロバイダ48、遠隔CASプロバイダ50、システムイベントプロバイダ(SEP:System Event Provider)52、ネームサービスプロバイダ(NSP:Name Service Provider)54、同期レポジトリプロバイダ(SRP:Synchronized Repository Provider)56、およびハートビートプロバイダ58を含む。図2中の線は、様々な実行時システム管理コンポーネント間の通信経路を表す。
SRP 56は、そのコンピューティングノードのレポジトリのデータを、システム20の他のコンピューティングノードに配置されたレポジトリのデータと同期するよう動作可能である。
例えば、どちらも関連付けられたデータレポジトリを有し、SRP 56のクライアントである、SEP 52およびNSP 54のような、コンピューティングノードの同期プロバイダのそれぞれ。
システムステータスディスプレイ46は、ユーザがコンピューティングノード22、24、26、または28およびそれらが管理するコンポーネントを構成し、監視することを可能にするツール、例えばプロセス32を監視し制御するセンサおよび/またはトランスデューサとして働く。システムステータスディスプレイ46は、遠隔TPSノードおよびコンポーネント構成を実行する機能を提供する。システムステータスディスプレイ46は、ノードおよびシステムステータスをそのローカルハートビートプロバイダ58およびSEP 52から受信する。システムステータスディスプレイ46は、管理されたコンポーネント状態を受信するために、それぞれの監視されたノードのローカルコンポーネント管理サービスプロバイダ48に接続する。
NSP 54は、WMIクライアントに別名および関連付けられたコンポーネント情報の部分集合を提供する。コンピューティングノードのNSP 54は、異なるコンピューティングノードの別の設定済みNSP 54(1つあれば)のデータベースから関連付けられたデータベースを初期設定し、次いでその関連付けられたデータベースをそのコンピューティングノードのSRP 56を使用して同期化された状態に保つ。
SEP 52は、ローカルイベントをシステムイベントとして発行し、システムイベントの同期化されたローカルコピーを所定範囲内に維持する。SEP 52は、そのシステムイベントをWMIクライアントに公開する。図2に示すように、システムステータスディスプレイ46とSES 40は、どちらもSEP 52に対するクライアントである。
コンポーネントマネージャ44は、ローカルに管理されたコンポーネントを監視し管理する。コンポーネントマネージャ44は、管理されたコンポーネント状態を標準WMIクライアントに公開するWMIプロバイダインターフェースを実施する。
ハートビートプロバイダ58は、接続されたWMIクライアントに、ハートビートプロバイダ58のマルチキャスト範囲内でコンピューティングノードのハートビートと追加または削除のイベント通知とを現在報告中の、すべてのコンピューティングノードのリストを提供する。
SRP 56は、情報を同期化した状態に保つために必須の低レベルのノード間通信を実行する。SEP 52およびNSP 54は、SRP 56の機能に基づいて構築される。これにより、SEP 52およびNSP 54は、システムイベントおよび別名の同期化されたデータベースをそれぞれに維持することができる。
図3を参照すると、SRP 56およびハートビートプロバイダ58は、ノード間通信用にマルチキャストリンク70を使用する。一方、システムステータスディスプレイ46は、そのローカルハートビートプロバイダ58およびSEP 52と通信するためにWMIサービスを使用する。システムステータスディスプレイ46も、ローカルで管理されたノードおよび遠隔で管理されたノードのローカルCASプロバイダ48および遠隔CASプロバイダ50と通信するためにWMIサービスを使用する。
システムステータスディスプレイ46は、供給業者が統合されたシステム管理ツールを提供する共通フレームワークを提供する。システムステータスディスプレイ46に緊密に結合されるのはWMIサービスである。WMIにより、供給業者は、システムコンポーネントの管理および監視用のスクリプト可能なインターフェースを公開する。システムステータスディスプレイ46とWMIは共に、カスタマイズ可能かつ拡張可能な共通ユーザインターフェースおよび情報データベースを提供する。システムステータス特徴60は、コンピュータの階層図および管理されたコンポーネント状態を提供するMMCスナップインとして実施される。システムステータス特徴60は、TPSドメインを定義する構成済みドメイン/組織ユニットトポロジーを読むために、アクティブディレクトリサービスインターフェース(ADSI:Active Directory Service Interface)を使用する。各ノードコンピュータ上のWMIプロバイダは、構成および状態情報へのアクセスを提供する。状態情報はWMIイベント通知により更新される。
システムディスプレイウィンドウは次の3つの部分に分割される。
・メニュー/ヘッダー−ウィンドウ上部に表示される共通のカスタマイズされた制御が、ウィンドウまたは項目の挙動を制御するために使用される。
・スコープペイン−コンソールウィンドウの左のペインは、インストールされたスナップインおよびそれらに含まれる項目の樹木図を表示するために使用される。
・リゾルトペイン−コンソールウィンドウの右のペインは、そのスコープペインで選択された項目に関する情報を表示する。表示モードは、大アイコン、小アイコン、リスト、詳細を含む(デフォルト表示)。管理されたコンポーネントは、リゾルトペインのディスプレイにCustom Active X制御も提供することができる。

システムイベントプロバイダ
SEP 52は、増補するNTログイベントの同期化されたプロバイダである。これは、処理済みのNTログイベントを制限するためにフィルタテーブル84を使用し、OPC−AE準拠のイベントを生成するために必要なデータと共に通過するそれらのイベントを増す。それは、構成済みのアクティブディレクトリ範囲内のすべてのノードと、SRP 56を使用して同期が取られる、それらのイベントの1つのレポジトリを維持する。SEP 52は、イベントフィルタファイル内で定義されたイベントのタイプおよび属性に従い、イベントの配信および状態の管理を担当する。
SEP 52はWMIプロバイダとして実施される。WMIは、イベント通知、レポジトリの維持およびアクセスのための共通インターフェース、およびメソッドの輸出を可能にする。カスタムプロキシは必要とされず、インターフェースはスクリプト可能である。SEP 52は、そのレポジトリの内容を構成済みのアクティブディレクトリ範囲内のすべてのノードと同期化するために、SRP 56を利用する。これにより、ネットワーク帯域幅の消費量が低減され、接続管理事項および同期事項が低減される。
マルチキャストグループアドレスおよびポート、ならびにアクティブディレクトリ範囲は、同期レポジトリ標準構成ページから構成される。すべての他の標準構成ページと同様に、このオプションも、システムステータスディスプレイ46によりコンピュータ構成コンテキストメニューに表示される。
デフォルトSEP 52クライアント構成は、SRPクライアント構成レジストリキーに書き込まれる。このキーは、名前および範囲の値を含む。名前はSEPサービスのユーザフレンドリーな名前であり、範囲はデフォルトで「TPSDomain」であるが、これは、含んでいるアクティブディレクトリオブジェクト(TPSドメイン組織ユニット)を示す。
すべてのNTイベントがシステムイベント加入者に送信されるわけではない。イベントがクライアントまで通過すべきか否かを判定するため、ならびにNTイベントからOPCイベントを作成するためのデータを増補するために、フィルタテーブルが使用される。このテーブルにエントリのないイベントは無視される。フィルタテーブルを作成するために構成ツールが使用される。
OPCイベントは、イベントのカテゴリ、イベントのソース、およびそのイベントが認知可能か否かのような、NTイベントで取得可能な追加情報を必要とする。このフィルタテーブルは、OPCイベント形式へのNTイベントの変換に関する追加情報を含むことが好ましい。イベントのソースは、通常はコンピュータ名とコンポーネント名をドットで区切った組合せだが、コンピュータ名を省略するように構成することもできる。コンピュータ名は、イベントを生成するコンピュータの名前である。コンポーネント名は、イベントの複数の挿入ストリングのうちの1つである。これは、通常は第1の挿入ストリングだが、複数の挿入ストリングのどの挿入ストリングであるようにも構成可能である。
イベントは、標準イベントロギングメソッド(Win32またはWMI)を使用して、NTイベントログファイルにログされる。SEP 52は、新しいイベントに関する_InstanceCreationEvent(インスタンス作成イベント)通知に登録する。通知され、そのイベントが通過することになる場合、イベントのプロバイダが維持するサマリ記録が作成され、_InstanceCreationEventがシステムイベントマルチキャストグループにマルチキャストされる。
SEP 52は、システムイベントフィルタ・スナップイン86により定義されたフィルタテーブルを読む。このフィルタテーブルは、SEPレポジトリにロギングされるイベントを決定し、OPC−AEイベントの生成に必要となる追加データを定義する。Windowsイベントの重大度が所望のOPCイベントの重大度に必ずしも直接的に翻訳されるわけではないので、システムイベントフィルタテーブル84は、各イベントのタイプに1つの重大度を割り当てる。0という重大度が指定されている場合、元のNTイベントに割り当てられたイベントの重大度は事前に割り当てられたOPCの重大度値に翻訳される。OPCイベントの重大度へのNTイベントの変換値を、表27に示す。
イベントの2つの主要なクラスは、SEP 52によって取り扱われる。すなわち条件関連イベントと単純/追跡イベントである。条件関連イベントは、構成済み範囲内のすべてのノード上のSEP 52内の同期レポジトリ内で維持される。単純または追跡イベントは、いかなる接続されたクライアントにでもリアルタイムに配信される。単純または追跡イベントに関しては、配信の保証はなく、レポジトリ状態は維持されず、イベントの回復は不可能である。
SEP 52は、すべての条件関連イベントのマップをソースおよび条件名の組合せにより維持する。新しい条件関連イベントが生成された場合、同じソースおよび条件名でロギングされたイベントは、_InstanceModificationEvent(インテンス修正イベント)にActive=FALSEプロパティを書き込むことにより自動的に非活動化される。
条件状態変更により、対応する追跡イベントが生成される。SEP 52は、条件、状態、タイムスタンプ、およびユーザを特定する外部イベント通知を生成する。
同期を実行する場合、SEP 52は、同期化された表示内にある条件関連イベントの活動状態を、ローカルイベントマップに維持される状態で更新する。ローカルマップが同期化された表示に含まれる条件イベントを含まない場合、そのイベントはレポジトリで非活動化される。
条件イベントとそれらの関連付けられた通常状態復帰イベント(関連する活動状態の条件イベントを非活動化する)は柔軟に結合されているので、イベントロギングエンティティは、要求される通常状態復帰イベントをロギングしない場合があり、活動状態の条件関連イベントは正確に非活動化されない場合がある。これらのイベントをSES(GOPC_AE)条件データベースおよびSEPレポジトリから作成することができるようにするために、それぞれの認知された活動状態のイベントは構成可能な期間だけ徐々に停止され(インストール中のデフォルト期間に設定される)、当該期間経過後に非活動化される。
単純イベントおよび追跡イベントはSEPレポジトリでは保持されないが、いかなる接続されたクライアントにも外部イベントとして配信される。これらのイベントは、すべてのSEPに対してSRP SendExtrinsicNotification()メソッドにより配信される。単純イベントまたは追跡イベントの回復はない。これらのイベントは認知可能ではない。イベントディスプレイがこれらのイベントを表示するよう選択した場合、1つのノード上の1つのイベントの認知または削除という他の手段は、他のノードに影響を与えない。
外部追跡および単純イベントのタイプをサポートするために、新しいWMIクラスが追加される。SEPは、SRP 56にこの新しいクラス(TPS_SysEvt_Ext)を登録する。SRP 56は、このクラスがWMI_ExtrinsicEvent(外部イベント)クラス由来であることを知り、これらのイベントのいかなる同期も実行しない。SRP 56は通過モードのみで動作する。
ソースおよび条件名による条件関連イベントのマップは、SEP52により維持される。各SEP 52は、ローカルノードで生成中の条件関連イベントの活動状態を管理する。
SEPレポジトリで維持される条件イベントは、SEP範囲内にあるすべてのノードに複製される。したがって、起動中、または中断した同期グループの再結合に起因する再同期中に、すべての条件関連イベントが回復されるはずである。単純イベントおよび追跡イベントは過渡的な単発イベントであり、回復することは出来ない。
SEP TPS_SysEvtクラスは、ACK()メソッドを実施する。このメソッドはコメントパラメータを追加するように修正される。SESにより実施されるWMIクラス、TPS_SysEvtもまた、AckCommentストリングプロパティ、AcknowledgeIDストリングプロパティ、およびブーリアンアクティブプロパティを追加するように修正される。新しいModificationSouce(修正ソース)ストリングプロパティが、_InstanceModificationEvent(インテンス修正イベント)を生成中のSEPによりセットされる。
イベントは、マルチキャストグループ内のいかなるノードでも認知可能である。この認知は、_InstanceModificationEventオブジェクトにパッケージされたシステムイベントマルチキャストグループのすべてのメンバーにマルチキャストされる。各ノードのSEP 52は、認知のソースを特定して、そのローカルCCAシステムイベントログへの情報メッセージをロギングする。
あるイベントが一度認知されると、そのイベントはシステムイベントリストから削除することができる。これにより、内部的に維持されたイベントリストからそのイベントが削除され、システムイベントマルチキャストグループにマルチキャストすべき_InstanceDeletionEvent(インテンス削除イベント)が生成される。そのイベント削除要求のソースを示す情報メッセージが、CCAシステムイベントログファイルに書き込まれる。

WMIプロバイダオブジェクト
WMIプロバイダオブジェクトは、IWbemProviderInitインターフェースの「初期設定」メソッドと、IWbemServicesインターフェースのCreateInstanceEnumAsync(作成インスタンス列挙非同期)メソッドおよびExecMethodAsync(実行方法非同期)メソッドと、IWbemEventProverインターフェースのProvideEventsメソッドとを実施する。この初期設定メソッドは内部初期設定を実行する。CreateInstanceEnumAsyncメソッドは、内部イベントリスト内のすべてのエントリに関するインスタンスを作成し、IWbemObjectSinkインターフェースを介してそのインスタンスをクライアントに送る。ExecMethodAsyncメソッドにより2つのメソッド、AckEventとClearEventにアクセス可能である。これらは内部イベントリストを更新し、外部ノードに通知するためにSRPクライアントオブジェクトを呼び出す。ProvideEventsメソッドは、イベントが発生した際に使用するために、クライアントのIwbemObjectSinkインターフェースを取っておく。その取っておいたIWbemObjectSinkインターフェースを介してそのクライアントに通知するために、3つのコールバックメソッド、CreateInstanceEvent(作成インスタンスイベント)、ModifyInstanceEvent(修正インスタンスイベント)、およびDeleteInstanceEvent(削除インスタンスイベント)が実施される。CreateInstanceEventメソッドは、あるイベントがローカルに作成される際にはNTイベントプロバイダオブジェクトにより呼び出され、あるイベントが遠隔で作成される際にはSRPクライアントオブジェクトにより呼び出される。ModifyInstanceEventメソッドおよびDeleteInstanceEventメソッドは、あるイベントが遠隔で認知または削除される際にSRPクライアントにより呼び出される。
サーバ起動中、このサブシステムは、マルチストリングレジスタキーからフィルタテーブルへのディレクトリ経路を読む。これはフィルタテーブルをロードし、メモリにローカルマップを作成する。実行時に、これは、イベントが加入者に渡されるべきか否かを判定するためにNTイベントログWMIクライアントにより呼び出されるメソッドを提供し、追加OPC特有データを提供する。

NTイベントクライアントオブジェクト
サーバ起動中、このサブシステムは、NTイベントログプロバイダに登録し、NTイベントファイルにイベントがロギングされた際に通知を要求する。インスタンス作成通知が受信されると、このサブシステムはイベントフィルタリングサブシステムを呼び出し、追加データにより1つのイベントを構築する。次いでサブシステムは、外部ノードに通知を送るためにSRPクライアントオブジェクトを呼び出す。

SRPクライアントオブジェクト
サーバ起動中、SRPクライアントオブジェクトはSRP 56に登録する。データの同期が即座に必要な場合、これはSyncWithSouceメッセージを受信する。内部イベントリストがデータの同期から外れているとSRP 56が判断した場合にも、これは定期的にSyncWithSourceメッセージを受信する。SyncWithSourceメッセージが受信された場合、これは、その外部ノード上のSEP 52に接続するためにそのメッセージの「ソース」プロパティを使用し、イベントリストを要求する。次いでこの内部イベントリストが新しいリストに置き換えられる。イベントが遠隔ノードで作成された場合、InstanceCreationメッセージが受信される。これは、その新しいイベントを内部イベントリストに追加し、クライアントに通知を送ることをWMIプロバイダオブジェクトに要求する。イベントが修正(認知)または作成された場合、このシナリオが適用される。イベントがローカルにロギングされる場合、NTイベントクライアントオブジェクトは、インスタンス作成メッセージを外部ノードに送るためにこのオブジェクトを呼び出す。クライアントによってイベントが認知または作成される場合、WMIプロバイダオブジェクトは外部ノードにインスタンス修正または削除メッセージを送るためにこのサブシステムを呼び出す。LostMsgErrorまたはDuplicateMsgErrorメッセージが受信された場合は、何の処置も取られない。
SES 40はSEP 52のWMIクライアントである。SEP 52により書き込まれた各イベントは、SES 40によりInstanceCreationEventとして受信される。追跡イベントは一時的なイベントであり、SES 40により単純に無視される。条件イベントは、特定の監視ソースの状態を反映する。これらの条件は、SES 40内部にある警報およびイベント条件データベースで維持される。SEP 52は、受信したNTイベントに、要求されたSES情報をフィルタテーブルから取り出してポピュレートする。この情報は、イベントのクッキー、ソースストリング、イベントの重大度、イベントのカテゴリおよびタイプ、ならびにイベントがACK可能か否か、および現在のACKされた状態を含む。
所与のソースに対して新しい条件関連イベントが受信されると、その新しい条件が以前の条件に取って代わらねばならない。条件関連イベントの受信に際し、SEP 52はそのソースの現在の条件を探し、_InstanceModificationEventを生成して、その現在の条件を非活動化する。これで、この新しい条件イベントが適用される。

同期レポジトリプロバイダ
SRP 56は、SEP 52およびNSP 54の基礎的なコンポーネントである。SEP 52およびNSP 54は、登録済みインスタンスクラスの複合表示を提供する。SEP 52およびNSP 54は、SRP 56により実施されるコネクションレス型の信頼性のあるプロトコルにより、それぞれのレポジトリデータを取得する。
SRP 56は、分散型管理データの同期WBEMレポジトリを維持するために、信頼性のあるインターネットプロトコル(IP)マルチキャストベースの技術を実施する、WMI外部イベントプロバイダである。SRP 56は、動的インスタンスプロバイダまたはインスタンスクライアントが、分散型データの複合表示を収集するために複数の遠隔接続を行う必要性を解消する。SRP 56は、データ変更イベントの配信を保証するために、同期された表示の状態を維持する。コネクションレス型プロトコル(UDP)が使用されるが、これは、接続されたクライアントおよびサーバに対するネットワーク/コンピュータ停止の影響を最小限に抑える。IPマルチキャストを使用することにより、ネットワーク帯域幅に対する影響が低減され、構成は単純化される。
SRP 56は、標準WMI外部イベントおよびメソッドプロバイダインターフェースを実施する。SRP 56に対して、IWbemServices::ExecMethod[Async]()メソッドを使用する同期プロバイダ(例えば、SEP 52またはNSP 54)からすべてのメソッド呼び出しが行われる。SRP 56からの外部イベントデータに対する登録は、IWbemServices::ExecNotificationQuery[Async]()のSRP実施態様への呼び出しによる。SRP 56は、外部イベント通知および接続状態更新を、IWbemObjectSink::Indicate()およびIWbembObjectSink::SetStatus()のクライアント実施態様に対するコールバックにより、SEP 52およびNSP 54にそれぞれ提供する。標準WMIインターフェースしか使用されないので、(すべてのWin2Kコンピュータに導入された)カスタムライブラリまたはプロキシファイルには、SRP 56を実施またはインストールすることが要求されない。
構成の複雑さを低減し、融通性を最適化するために、すべての登録済みクライアント(同期プロバイダ)に対して単一IPマルチキャストアドレスが使用される。受信したマルチキャストはWBEMクラスおよびソースコンピュータのアクティブディレクトリ経路によりフィルタリングされ、次に適切な同期プロバイダに配信される。各クライアントはWBEMクラスによりSRP 56に登録する。それぞれの登録されたクラスは、個別に構成可能なアクティブディレクトリ範囲を有する。
SRP 56は、同期制御メッセージとレポジトリ更新の両方を渡すためにIPマルチキャストを使用するが、これにより通知配信のオーバーヘッドが低減され、ネットワーク帯域幅が保たれる。同期中のノード間における伝送制御プロトコル/インターネットプロトコル(TCP/IP)ストリーム接続を介してレポジトリ同期が行われる。同期にTCP/IPストリームを使用することにより、複雑度マルチキャストトラフィック解釈が低減され、レポジトリデータの信頼性のあるポイントツーポイント配信が保証される。
同期プロバイダは、インスタンス通知がクライアントに配信される方法が標準のインスタンスプロバイダと異なる。winmgmtサービスのIWbemObjectSinkにインスタンス通知を直接配信する代わりに、同期プロバイダは、SRP 56に接続し、SRP SendInstanceNotification()メソッドを使用してインスタンス通知を配信する。次いでSRPはそのインスタンス通知をマルチキャストにより、構成済み同期グループのすべてのプロバイダに送る。SRP 56により受信されたインスタンス通知は、winmgmtサービスにより外部イベントを介して同期プロバイダに転送される。同期プロバイダはそのSRP外部イベントを受信し、その外部イベントからインスタンスイベントを抽出し、そのインスタンスイベントを必要に応じて内部データベースに適用し、次いでそのイベントを接続されたクライアントにwinmgmtにより転送する。
同期されたデータが、インスタンスの配列を含んだ外部イベントブジェクトにより同期プロバイダに配信される。このオブジェクトの配列は、現在同期した状態にある遠隔の同期プロバイダからTCP/IPストリームにより同期中のノードに配信される。同期プロバイダSRPクライアントは、この受信した配列と局所的に生成されたインスタンスとをマージし、遠隔の同期プロバイダに、SRP 56を介してインスタンス通知を送ることにより、その違いを通知する必要がある。各同期プロバイダは、同期データをローカルレポジトリデータとマージする最善の方法を決定する必要がある。
クライアントアプリケーションは、いかなる他のWBEMインスタンスプロバイダ用でもあるので、同期プロバイダ(SRPのクライアントとして登録済みのプロバイダ)にアクセスする。レポジトリの同期された性質は、同期プロバイダのクライアントに透過的である。
SRP 56は、指定された一群のコンピュータに対して登録設定を調整するMMCプロパティページにより構成される。SRP構成は、IPマルチキャストおよびアクティブディレクトリ範囲のストリングの両方の構成を要求する。
デフォルトで、SRP 56は、HKLM\Software\Honeywell\FTEレジストリキーにあるハートビートプロバイダ58への構成されたIPマルチキャスト(IPMC)アドレスを使用する。これにより、LAN診断メッセージ(ハートビート)による、IPマルチキャストグループの健全性に関する肯定的な指示が提供される。SRPメッセージ用のUDP受信ポートは、固有である(ハートビートプロバイダ58と共有されない)。マルチキャスト通信は、ルータによりしばしば制約を受ける。あるサイトがあるルータを介したデータの同期を要求した場合、マルチキャストメッセージがそのルータを通過するよう許可するために、ネットワーク構成ステップが必須となる場合がある。
アクティブディレクトリ範囲は、同期プロバイダごとに構成される(例えば、SEP 52またはNSP 54)。それぞれのインストールされたクライアントは、サポートされるWMIクラスの名前付きキーを、HKLM\Software\Honeywell\SysMgmt\SRP\Clientsキーに追加する。このキーに、クライアントは名前と範囲の値を追加する。名前の値は、構成インターフェース内に表示するためにユーザフレンドリーな名前を含んだREG_SZ値である。範囲の値は、1つまたは複数のアクティブディレクトリ範囲のストリングを含んだREG_MULTI_SZ値である。
SRP構成ページは、ユーザに、構成すべきインストール済みSRPクライアントの選択を可能にするコンボボックスを提示する。このコンボボックスには、SRP\Clientsキーの基に列挙されたクライアントクラスごとに名前の値がポピュレートされる。クライアントプロバイダが一度選択されると、アクティブディレクトリツリーが、ユーザが更新の範囲を選択できるようにするためのチェックボックス項目と共に表示される。これは、現在のクライアント範囲の値と一致するようにチェックマークにより初期設定される。
インスタンス内容をIPマルチキャストにより渡すには、UDP IPマルチキャストパケットを介してIWbemClassObjectプロパティを読み取り、マルチキャストグループに整理し、受信側で再構成する必要がある。各通知オブジェクトが検査され、その内容がSRPメモリのストリームオブジェクトに書き込まれる。インスタンスプロパティの数が最初にストリームに書き込まれ、次にすべてのインスタンスプロパティが名前(BSTR)/データ(VARIANT)対の形式で書き込まれる。次いでこのストリームは、1つのIPマルチキャストUDPデータパケットにパッケージされ送信される。受信されると、プロパティの数が抽出され、名前/データ対がストリームから読み出される。クラスインスタンスが作成され、受信された値がそれにポピュレートされ、次いで登録済みクライアント(同期プロバイダ)に配信するために外部イベントによりwinmgmtサービスに送信される。異型は参照データを含めることができない。値の安全な配列を含む異型は、まず異型タイプを書き込み、次にその安全な配列に含まれるインスタンスの数、次いですべての含まれる要素に関するその異型タイプとデータを書き込むことにより整理される。
応答ストームを回避するために、マルチキャスト応答は、送信前にリクエスター指定の最大時間まで任意に延期される。ローカル応答が送信される前に応答側ノードが別のノードから有効な応答を受信した場合、その送信は取り消される。
図4を参照すると、本発明によるNT−AE通知およびOPC−AEの通知の濾過を示す構成に、ノードコンピュータ34が示されている。OPC−AEの通知は、SRP 56によりシステム20の他のコンピューティングノードからマルチキャストリンク70を介して受信される。SEP 52がこれらの通知を受信する権利を有するグループの加入者である場合、SRP 56は、WMIサービス36を使用してこれらの通知をSEP 52に渡す。SEP 52は、OPC−AE通知を、WMIサービス36を介してSES 40に渡す。SES 40は、OPC−AE通知を、OPC−AEクライアント80のようなその加入者クライアントに渡す。OPC−AEクライアント80(またはSES 40の他のOPCクライアント)により生成されたOPC−AE通知が、SES 40により受信され、WMIサービス36およびSEP 52を介してSRP 56に渡される。SRP 56は次いで、これらのOPC−AE通知を適切な加入者グループに配信するようパッケージする。この配信は、そのローカルクライアントに対してはSEP 40を介し、他のコンピューティングノードの遠隔クライアントに対してはマルチキャストリンク70を介する。
WMIサービス36は、ノードコンピュータ34内で発生中のNT−AEの通知を含んでいるNTイベントプロバイダ82を含む。NTイベントプロバイダ82は、それらのNT−AE通知をSEP 52に提供するためにWMIサービス36を使用する。上記の通り、NTイベントはNT形式であってOPC形式ではないので、すべてのNT−AEがOPCクライアントに送られるわけではない。本発明によれば、NT−AE通知をフィルタリングし、それらをOPC−AE通知に変換するためにフィルタテーブル84が提供される。
OPC−AE通知に変換され、加入者クライアントに提供されるべきそれらのNT−AE通知をユーザが定義できるように、フィルタ構成ツールであるシステムイベントフィルタ・スナップイン86が提供される。NT−AE通知をOPC−AE通知に変換するために必須の上記の追加情報も、SEP 52が使用するよう提供され、好ましくはフィルタテーブル84に含まれる。この追加情報は、イベントのタイプ(単純、追跡および条件)、イベントのカテゴリ、イベントのソース、イベントの重大度(1−1000)、およびソース挿入ストリング、ならびにそのイベントが認知可能か否かなどの項目が含まれる。
ユーザによって選択されると、システムイベントフィルタ・スナップイン86は、ノードコンピュータ34にすべての登録済みメッセージテーブルを表示する。所望のイベントをロギングするために使用されるメッセージテーブルを選択する際、すべての含まれるメッセージがリゾルトペインに表示され、既存のフィルタテーブルファイルから追加の値が更新される。ファイルが存在しない場合、所望のイベントに関する新しいファイルが作成される。ユーザは、SEP 52によってロギングされるべきメッセージも選択し、NT−AE通知をOPC−AE通知に翻訳するために必要な追加情報を入力する。完了すると、更新されたフィルタテーブルが保存される。

第1の実施形態の論理設計シナリオ
CAS 48は、サーバのタイプに応じて次に示すサービスを提供する。次に、サポートされるサーバのリストを示す。
・HCI管理サーバ
・HCI管理状態サーバ
・非管理透過リダイレクタサーバ
・非管理OPCサーバ
CAS 48は、次に示すサービスをHCI管理サーバに提供する。
・構成済みサーバの自動検出および監視
・ノード起動時における、オプションによるサーバの自動スタート
・サーバの起動、シャットダウン、およびチェックポイントを開始するためのメソッドをWMIクライアントに公開すること
・監視対象サーバ状態情報をWMIクライアントに公開すること
CAS 48は、次に示すサービスを非管理サーバに提供する。
・非管理サーバの監視を開始、停止するために、WMIクライアントにメソッドを公開すること
・監視対象サーバ状態情報をWMIクライアントに公開すること
コンポーネント構成および報告されたコンポーネント状態に対する変更が制御プロセスに影響を及ぼすので、CAS 48は、SES 40に配信するようSEP 52によって選択されたWindows(登録商標)アプリケーションイベントログにイベントをロギングする。SES 40は、OPC−AEインターフェースを介して配信することのできるWindows(登録商標) OR NT−AE通知をOPC−AE通知に変換する。
次に示すシナリオは、CAS 48に対するイベントロギング要件と、SEP 52およびSES 40によって実行される後続処理とを記述する。
表1に示すシナリオは、コンポーネントメソッド呼び出しを行うWMIクライアントを示す。シャットダウンメソッド呼び出しを使用したのは、クライアントがHCIコンポーネント上のあるメソッドを呼び出した場合に実行されるステップを説明するためにすぎない。他のコンポーネントメソッド呼び出しも、同じ手順に従う。
ノードが起動され、CAS 48が開始され、HCIコンポーネントが実行中である。
表1
イベント イベントの記述
1 システム状態ディスプレイのユーザは、適切なコンポーネント上で右クリックし、 停止メニュー項目を選択する。
2 CAS 48は、その要求を受信し、HCIコンポーネント上のシャットダウンメ ソッドを開始する。
3 HCIコンポーネントは、シャットダウン動作を実行する。
4 CAS 48は、状態変更を検出し、すべての接続されたWMIクライアントに状 態変更を通知するコンポーネント修正イベントを作成する。
5 CAS 48は、状態変更をアプリケーションイベントログに記録する。
6 SEP 52は、この新しいイベントログのエントリを検出し、未認知状態のSR P 56に条件イベントを追加する。

新しいHCI管理コンポーネントがそのノードに追加される。CAS 48は新しいコンポーネントを自動的に検出する。このノードが起動され、CAS 48が開始され、表2に示すように、HCIコンポーネント構成ページを使用して新しいHCI管理コンポーネントが追加された。
表2
イベント イベントの記述
1 CAS 48は、Windows(登録商標) 2000から、コンポーネント情 報を含んでいるレジストリキーが修正されたことを示す更新を受信する。
2 CAS 48は、新しいHCI管理コンポーネントを検出し、監視スレッドを開始 する。
管理コンポーネントは、IsManaged値をYes/Trueにセットしてお かなければならない。さもなければ、管理コンポーネントは無視される。例えば、 TRSはNo/Falseにセットされる。
3 CAS 48は、すべての接続されたWMIクライアントに新しいコンポーネント を通知するコンポーネント作成イベントを作成する。
4 監視スレッドは、コンポーネント起動が状態の監視を開始するまで待機する。
5 ローカルアプリケーションイベントログに、新しいコンポーネントが作成されたこ とを示すエントリが書き込まれる。
6 SEP 40が、そのイベントを検出し、それを追跡イベントとしてシステムイベ ントレポジトリに追加する。

HCI管理コンポーネントの構成が削除される。CAS 48は、その削除されたコンポーネントを自動的に検出する。ノードが起動され、CAS 48が開始される。表3に示すように、コンポーネントは停止され、ユーザはHCIコンポーネント構成ページを使用して管理コンポーネントを削除する。
表3
イベント イベントの記述
1 CAS 48は、Windows(登録商標) 2000から、コンポーネント情 報を含んでいるレジストリキーが修正されたことを示す更新を受信する。
2 CAS 48は、修正されたレジストリキーを介してHCIコンポーネントの除去 を検出する。
3 CAS 48は、そのコンポーネントが削除されたことをWMI接続クライアントに通知するコンポーネント削除イベントを作成する。
4 CAS 48は、そのコンポーネントを監視するスレッドを停止する。
5 CAS 48は、削除中のコンポーネントに関するアプリケーションイベントログ に、そのコンポーネントが現在未認知状態であることを示すイベントを書き込む。
6 SEP 52は、この新しいイベントログのエントリを検出し、条件イベントをシ ステムイベントレポジトリに追加する。このイベントは「未認知」というOPCサ ーバ状態に割り当てられており、次に示すことを目的としてSES 40により使 用される。
1)削除されたコンポーネントと同一ソースのいかなる顕著なイベントでもAu toAckする。
2)削除されたコンポーネントと同一ソースの条件が通常状態に戻される。
7 ローカルアプリケーションイベントログ(イベント#2)に、1つのコンポーネン トが削除されたことを示すエントリが書き込まれる。
8 SEP 52は、そのイベントを検出し、それを追跡イベントとしてシステムイベ ントレポジトリに追加する。
HCI管理コンポーネントは状態を変更する。この状態変更は、CAS 48により検出され、接続されたWMIクライアントに公開される。ノードが起動され、CAS 48が開始され、表4に示すように、HCIコンポーネントAが実行中である。
表4
イベント イベントの記述
1 管理コンポーネントAが状態を変更する(例えば、LCNPがTPNサーバで機能 停止した場合、状態を警告に変更することになる)。
2 CAS 48は、コンポーネント状態変更を検出し、WMIコンポーネント修正イ ベントによりその情報を公開する。
3 システム状態ディスプレイ46のようなすべての接続されたWMIクライアントは 、状態変更を示すWMIイベントを受信する。
4 コンポーネント状態変更が、アプリケーションイベントログに書き込まれる。
5 SEP 52は、この新しいイベントログのエントリを検出し、条件イベントを未 認知状態のシステムイベントレポジトリに追加する。
HCI管理状態コンポーネントは、監視対象デバイスの状態変更を検出する。この状態変更はCAS 48により検出され、接続されたWMIクライアントに公開される。このノードが起動され、CAS 48が開始され、表5に示すように、HCI状態コンポーネントAが実行中である。
表5
イベント イベントの記述
1 状態コンポーネントAは実行中であり、監視対象デバイスが障害状態を報告する( 例えば、HBプロバイダがリンク障害を報告する)。
2 CAS 48が、デバイス状態変更を検出し、WMIコンポーネント修正イベント によりその情報を接続されたクライアントに公開する。
状態コンポーネントは、コンポーネント状態とデバイス状態の両方を報告する。
この場合、デバイスの状態だけが変更され、コンポーネント状態は未変更である。
3 システム状態ディスプレイ46のようなすべての接続されたWMIクライアントが 、状態変更を示すWMIイベントを受信する。
4 このデバイス状態変更が、アプリケーションイベントログに書き込まれる。これら のイベントは、システムイベント用のフィルタテーブルには追加されない。これは 、複数のコンピュータからの複製イベントを防止するために行われる。
5 SEP 52は、この新しいイベントログのエントリを検出し、条件イベントを未 認知状態のシステムイベントレポジトリに追加する。

透過リダイレクタサーバ(TRS)非管理コンポーネントは、CAS 48にその状態を監視するよう要求する。ノードが起動され、CAS 48が開始され、表6に示すように、TRSが起動中である。
表6
イベント イベントの記述
1 TRSは、WMIによりローカルCAS 48に接続し、それ独自の名前およびI UnKnownポインタにより監視コンポーネントメソッドを呼び出す。
2 CAS 48は、そのコンポーネント名を一意とし、そのコンポーネントを監視す るために1つのスレッドを作成する。
一意の名前とする理由は、同一名/コンポーネントの複数のインスタンスがある 場合があるからである。
一意の名前はコンポーネントの名前である。
一意の名前は、新しいTRSインスタンスが、既に停止したそれ以前のインスタ ンス内にあるのと同じ名前を取得しないようにするために、再起動およびTRS シャットダウン後にも続ける必要がある。これは、既存のイベントを調停する際 に混乱を起こすことになる。
3 CAS 48は、メソッド呼び出しによりTRSに一意のコンポーネント名を戻す 。
コンポーネントの監視を停止するよう要求する際は、一意の名前が使用される。
4 CAS 48は、WMI接続クライアントに新しく監視されているコンポーネント を通知するために、コンポーネント作成イベントを作成する。
5 CAS 48は、アプリケーションイベントログに、コンポーネントが監視を受け ていることを示すエントリを書き込む。
6 SEP 52は、その新しいイベントログのエントリを検出し、追跡イベントをシ ステムイベントレポジトリに追加する。

透過リダイレクタサーバ(TRS)は、CAS 48に、その状態の監視を停止するよう要求する。ノードが起動され、CAS 48が開始され、表7に示すように、監視対象TRSがシャットダウンされる。
表7
イベント イベントの記述
1 TRSは、WMIによってローカルCAS 48に接続し、監視コンポーネントメ ソッドにより戻された一意の名前により、未監視コンポーネントメソッドを呼び出 す。
2 CAS 48は、コンポーネント監視スレッドを停止する。
3 CAS 48は、削除中のコンポーネントに関するアプリケーションイベントログ に、そのコンポーネントが現在未知の状態にあることを示すイベントを書き込む。
4 SEP 52は、この新しいイベントログのエントリを検出し、システムイベント レポジトリに条件イベントを追加する。条件データベースのOPC A&Eイベン トを非活動化するために、このイベントはSES 40により使用される。
5 CAS 48は、WMI接続クライアントに、このコンポーネントは最早監視され ていないということを通知するために、コンポーネント削除イベントを作成する。
6 CAS 48は、アプリケーションイベントログに、このコンポーネントは最早監 視されていないということを示すエントリを書き込む。
7 SEP 52は、この新しいイベントログのエントリを検出し、追跡イベントをシ ステムイベントレポジトリに追加する。

ハートビートプロバイダ58は、ノードの健全性を示すためにハートビートメッセージを定期的にマルチキャストする。ノードが起動され、表8に示すように、ハートビートプロバイダ58が起動される。
表8
イベント イベントの記述
1 ハートビートプロバイダ58は、マルチキャストするIsAliveメッセージを 開始する。
2 同じマルチキャストアドレスを監視中の他のハートビートプロバイダ58は、その IsAliveマルチキャストメッセージを受信し、そのノードを活動状態ノード のリストに追加する。
3 WMIインスタンス作成イベントがローカルWMIハートビートプロバイダで発生 した場合、その新しいノードに対してWMIクライアントの注意が喚起される。

このノードは、表9に示すように、機能停止またはシャットダウンする。
表9
イベント イベントの記述
1 ノードが機能停止し、IsAliveハートビートメッセージの送信を中止する。
2 マルチキャストアドレスを監視中の他のハートビートプロバイダ58が、その機能 停止したノードに対する通信の障害を検出する。
3 ハートビートプロバイダ58は、ノードに対する参照を削除することにより、ノー ドの機能停止状態を反映する。
4 WMI削除インスタンスにより、その機能停止に対してWMIクライアントの注意 が喚起される。
5 ハートビートプロバイダ58は、アプリケーションイベントログにイベントをロギ ングする。
6 SEP 52は、イベントチェックフィルタテーブルを検出し、イベントを同期レ ポジトリに条件付きでロギングする。
注意:SESノードは、ハートビートプロバイダ58用のフィルタを有する唯一のノードである。これにより、ノード障害イベントの複数のコピーが防止される。
SEP 52は、NT−AEの同期レポジトリである。NT−AEは、システム、CCAアプリケーション、またはサードパーティのアプリケーションにより生成されたものであってよい。これは、すべてのノード上のシステムイベントの一貫した表示を維持するためにSRP 56を利用する。これはまた、OPC−AE通知となるNT−AE通知を制御するためにフィルタテーブル84を利用する。
フィルタテーブル84は、SRP 56に追加されるべき、イベントの包含リストを提供する。いかなるWindow(登録商標) 2000イベントでも組み込むことができる。表10に示すように、SES 40のために必要とされる、イベントのタイプ(単純、追跡、条件付き)、重大度(1−1000)、およびソース挿入ストリングインデックスなどのような情報を示すために、すべてのイベントがカスタマイズされる。
表10
イベント イベントの記述
1 ユーザは、SEPフィルタスナップイン86を開始する。スナップイン86は、す べての登録済みメッセージテーブルをコンピュータに表示する。
2 ユーザは、所望のイベントをロギングするために使用されるメッセージテーブルを 選択する。スナップイン86は、すべての含んでいるメッセージをリゾルトペイン に表示し、既存のフィルタテーブルファイルからの追加の値を更新する。ファイル が存在しない場合は、変更が保存された際に作成される。
3 ユーザは、SEP 52によりロギングされるべきメッセージを選択し、イベント を翻訳するために必要とされる追加情報をOPCイベントに入力する。
4 ユーザはフィルタテーブル84を保存する。
5 フィルタテーブル84が、イベントをロギングするために必要となるすべてのコン ピュータに配信される(手動で、またはWin2Kオフラインフォルダにより)。
6 ユーザは、SEP 52サービスを停止し、再開する。

HCIネームサービスは、HCI/OPCサーバ別名のデータベースを構築し、維持する。クライアントアプリケーションは、そのサーバをホストするノードのCLSID、ProgID、および名前を見つけるために、ネームサービスを使用する。ネームサービスへのアクセスは、既に開発済みのHCIクライアントアプリケーションに後方互換性を提供するために、GetComponentInfo()と同様にHCIツールキットAPIに統合される。
すべての管理されたノード上で別名の同期データベースが維持される。各ノードが、同期データベース範囲を決定するマルチキャストグループに割り当てられる。ノードが起動され、Windows(登録商標)サービス制御マネージャ(SCM)がHCIネームサービスを開始する。ノードは正確に構成され、マルチキャストグループに割り当てられる。表11に示すように、そのグループの他のノードは既に動作中である。
表11
イベント イベントの記述
1 ネームサービスがSRP 56に登録する。
2 ネームサービスは、同期ソースを要求するためにSRP 56に要求を送信する。
3 遠隔ノードのSRP 56が、その要求に応答する。
4 ネームサービスは、遠隔のネームサービスプロバイダにWMI接続を行うことによ り、応答側ノードと同期を取る。ネームサービスは、ソースノードのネームサービ スのすべてのインスタンスを列挙し、ホストのファイルエントリを除いてローカル レポジトリを初期設定する。
5 ネームサービスは、アクティブディレクトリ内のノードTPSDomain関連を 、そのノードが最後に起動された際に記録されたものと比較する。アクティブディ レクトリが使用可能でない場合、最後に記録されたTPSDomainが使用され る。
TPSDomainが記録されており、変更が検出された場合、ノードが別のTP SDomainに移動した場合に何が起こるかを記述したシナリオにスキップする 。
TPSDomainは、ノードのアクティブディレクトリ識別名に含まれる。ノー ドの識別名は、UNC形式でレジストリに登録される。
6 ネームサービスは、ローカルレジストリに局所的に登録されたコンポーネントを照 会し、名前の重複がないかチェックする。
1.NOTが見つかった場合、同期ネームサービスレポジトリにそのコンポーネント が追加される。
2.見つかり、すべての情報が同じ場合、さらなるアクションは要求されない。
3.見つかり、サーバがLocal Onlyの場合、それが複製エントリに取って 代わり、同期は取らない。
4.見つかり、それがドメインコンポーネントである場合、複製コンポーネント別名 イベントがアプリケーションログに書き込まれる。この複製されたイベントは、 システム状態ディスプレイ46に示されるように、システムイベントフィルタテ ーブル84内に構成される。
7 ネームサービスは、HCIホストのファイルを読み込み、名前の重複がないかチ ェックする。
1.NOTが見つかった場合、ローカルネームサービスレポジトリにそのコンポーネ ントが追加される。
2.見つかり、すべての情報が同じ場合、さらなるアクションは要求されない。
3.見つかり、情報が同じでない場合、複製コンポーネント別名イベントがアプリケ ーションログに書き込まれる。この複製されたイベントは、システム状態ディス プレイ46に示されるように、システムイベントフィルタテーブル84内に構成 される。

次に示すシナリオは、SES 40に対するOPCクライアント接続に関する詳細は記述しない。その代わり、このシナリオは、WMI対SES40の対話の背景の提供を試みる。
SES 40は、SEP 52インスタンス作成および修正イベントに加入する。SEP 52は、システムイベントのその同期レポジトリを、指定のアクティブディレクトリ範囲内にあるすべてのコンピュータと同期化した状態に保つためにSRP 56を利用する同期レポジトリである。表12に示すように、SES 40は、OPCクライアントに配信するためにSEPイベントをGOPC−AEオブジェクトに提出することを担当する。
表12
イベント イベントの記述
1 SES 40は、条件データベースを含むGOPC−AEオブジェクトの作成を含 めて、すべての要求された初期設定を開始し、実行する。
2 SES 40は、winmgmt(WMI)サーバを介してSEP 52に接続す る。
3 SES 40は、インスタンス作成および修正イベントに登録する。
4 SES 40は、すべての既存のイベントインスタンスを列挙し、OPC AEイ ンターフェースを介して条件データベースを更新する。

SES 40は、SEP 52インスタンス作成および修正イベントに加入する。SEP 52は、システムイベントのその同期レポジトリを、指定のアクティブディレクトリ範囲内にあるすべてのコンピュータと同期化した状態に保つためにSRP 56を利用する同期レポジトリである。この範囲は、UNC形式のアクティブディレクトリ経路で設定されたレジストリにより定義される。TPSドメインへの経路は、TPSドメイン組織ユニット(OU)を有するすべてのコンピュータが同期化されることを示す。ドメインレベルへの経路は、TPSドメインOUにかかわらず、ドメイン内のすべてのSEPを同期化する。この設定は、システムステータスディスプレイ46またはローカル構成ユーティリティから開始することのできる構成ページにより構成される。ユーザは、システムステータスディスプレイ46を開始する。表13に示すように、レジストリ構成が実行される必要があるので、すべてのコンピュータはオンラインであるべきである。
表13
イベント イベントの記述
1 ユーザは、システム状態ディスプレイ範囲ペイン内のSES HCI Compo nentをホストするノード上で右クリックし、コンテキストメニューでHCI Component Entryを選択する。
2 HCIコンポーネント構成ページが表示される。
3 コンポーネントの別名を選択する。
4 HCIコンポーネント構成ページ内の複数のフィールドを回復する。
5 ユーザは、HCIコンポーネント特有情報の複数のフィールドを修正する(チェッ クポイントファイル位置、OPCメソッドアクセスセキュリティプロキシファイル )。
6 ユーザは、DSS特有構成ページを呼び出し、マルチキャスト範囲フィールドを修 正する。最上位の同期が「」経路を範囲に適用し、その結果、IPマルチキャス トグループ内のすべてのノードが同期化される。
7 ユーザは、Applyを選択する。
8 データが、そのコンポーネントをホストするノードのレジストリに書き込まれる。 プロキシファイルが、そのコンポーネントをホストするノード上で自動的に作成さ れる。

次に、第2の好ましい実施形態を、図2〜4に示すのと同じノードコンピュータ34を追加の特徴と共に利用するシステム20に関して説明する。

フィルタ構成ツール
システムイベントフィルタ・スナップイン86は、システムステータスディスプレイ46と、そのための、キーボードおよび/またはマウス(図示せず)のような、NT−AEおよびその特性をユーザが入力するための入力装置とを含む。その特性は、NT−AE通知をOPC−AE通知に変換するための追加情報を含む。例えば、この特性は、イベントのタイプ(条件、単純、または追跡)、イベントのソース(テキストおよびNTイベントログ挿入ストリングにより示される)、イベントの重大度(規定の値またはロギングされた値)、イベントのカテゴリ(表26に例示の値に注意のこと)、イベントの条件(表26に例示の値に注意のこと)、イベントのサブ条件(イベントの条件に基づく)、およびイベントの属性(イベントのカテゴリにより定義される)を含むことができる。ユーザは、フィルタテーブル84にNTイベントを入力するためにシステムイベントフィルタ・スナップイン86を使用する。そのNTイベントは、そのためにその通知がOPC−AE通知への変換のために渡されるべきものである。
図6〜10を参照すると、システムイベントフィルタ・スナップイン86は、ユーザに対して、イベントのタイプ(図6)、イベントのカテゴリ(図7)、イベントの条件(図8)、イベントのサブ条件(図9)、およびイベントの属性(図10)を割り当てるための一連の選択ボックスを、システムステータスディスプレイ46上で示す。

システムイベントサーバ(SES)の論理設計
再び図4を参照すると、SES 40は、NT−AE通知をOPC−AE通知として公開するHCI管理コンポーネントである。SES 40は、システムイベントを収集するためにいかなるOPC−AEクライアントでも使用することのできる、OPC−AE準拠インターフェースを公開する。SES 40は、規定のコンピュータのセットからイベントを収集するためにSEP 52を利用する。SEP 52は、ロギングされた複数のNT−AE通知を受信し、フィルタファイルに基づいてそれらの通知をフィルタリングする。そのフィルタを通過するNT−AE通知に、OPC−AE通知を生成するために必要とされる追加の質が補われる。SEP 52は、活動状態の条件関連イベントのマップを維持し、取って代わられた条件イベントの自動的な非活動化を提供する。SEP 52生成イベントが、OPC−AE通知として配信されるためにSES 40に渡される。SES 40は、イベントデータをOPC−AE通知としてパッケージし、条件関連OPC−AEの状態を追跡するために使用されるローカル条件データベースを維持することを担当する。
有効な条件状態を含めるよう、ローカル条件データベースを初期設定するために、SEP 52は、起動中に、ノード起動以来の、または最後のSEP 52シャットダウン以来のロギングされたすべてのイベントをスキャンする。次いでSEP 52は、Microsoft Windows(登録商標)NTEventLogプロバイダからの変更通知の処理を開始する。

イベント増補
OPC−AE通知を作成する際にNTログイベント情報を増補するために要求される追加データを定義するために、システムイベントフィルタ・スナップイン86が使用される。システムイベントフィルタ・スナップイン86はOPC−AEタイプを構成し、そのイベントがACK可能か否かにかかわらず、その項目が条件関連の場合はその条件がそのイベントに割り当てられる。イベントが条件関連イベントのタイプであると定義されている場合、そのイベントは単発イベント(INACTIVE)であるか、または対応する通常状態復帰イベント(ACTIVE)を公開する条件である場合がある。ACTIVEと示されたイベントは、その条件を非活動化するよう定義された関連付けられたイベントを有する必要がある。
Windows(登録商標)イベントの重大度は必ずしも所望のOPC−AEの重大度に直接翻訳されるわけではないので、OPC−AEの重大度が各イベントのタイプに割り当てられる。OPC−AEの重大度値を割り当てるために、システムイベントフィルタ・スナップイン86が使用される。0という重大度が指定された場合、元のNT−AEに割り当てられたイベントの重大度は、事前に割り当てられたOPC−AEの重大度値に翻訳される。SESはサブ条件を利用しない。Conditionサブ条件は、条件名の複製である。

イベントの保守
SES 40は、SEP 52生成イベントに加入する。SEP 52は、SRP 56によりすべてのノードにわたり同期化される、条件関連イベントの状態を保守することを担当する。すべての条件関連イベントおよびそれらの状態への変更は、認知を含めて、構成されたアクティブディレクトリ範囲内に含まれるすべてのSEPに及ぶものである。既存の条件に対するすべての新しい条件および変更は、OPCConditionEventNotificationsを生成する。含まれるChangeMaskは、変更済みの条件に対する値を反映する。条件が認知された場合、SEP 52は追跡イベントを生成する。
SES 40により、SEP 52から、WMI_InstanceCreationEvents(インテンス作成イベント)として新しい条件関連イベントが受信される。活動状態にある認知および変更は、WMI_InstanceModificationEvents(インテンス修正イベント)に反映される。条件が認知され、かつクリアされた場合、WMI_InstanceDeletionEvent(インテンス削除イベント)が配信される。単純イベントおよび追跡イベントがWMI_ExtrinsicEventsとして配信され、いかなるレポジトリにも含まれない。
単純イベントおよび追跡イベントに関しては、同期(すべてのリスンするノードに対するマルチキャスト配信を超えて)も、状態の保全もない。これらのイベントは、それらの配信時に接続されたクライアントによってのみ受信される。条件関連イベントを保全するために、SEP TPS_SysEvtクラスが使用される。単純イベントおよび追跡イベントを配信するために、TPS_SysEvt_Extクラスが使用される。

イベントの回復
すべての条件イベントは、SEP 52レポジトリで維持される。SEP 52レポジトリは、その構成された範囲内にあるすべてのノードにわたり同期化される。そのネットワーク接続を失うかまたはクラッシュするいかなるノードでも、その条件が訂正された場合は、複数の同期化した表示のうちの1つの表示で、それ自体の表示をリフレッシュする。条件イベントは、そのイベントのソースであるノードにより維持される。同期化中に現在のローカル状態と一致しないローカルノードをソースとするものであると示された条件イベントは、SEP 52により非活動化される。
単純イベントおよび追跡イベントは、同期化されず回復不可能である。ロギングノードにより、条件状態の維持が実行される。次いで状態がすべての他のノードと同期化される。ノードのいかなる組合せの損失でも、このイベント表示の有効性に影響を与えない。
条件タイムスタンプは、条件活動化時間に基づいており、回復リフレッシュにより変更されることはない。

ブラウジング
SES 40は、階層ブラウジングをサポートする。構成済みSEP52範囲内に含まれるアクティブディレクトリオブジェクトにより、エリアが定義される。階層エリア構文は、アクティブディレクトリ命名条件とは逆順であり、順序を入れ替える必要がある。エリア名の形式は、
\\RootArea\Area1\Area2
である。ここで、RootArea、Area1、およびArea2は、アクティブディレクトリドメインまたは組織ユニットオブジェクトであり、Area2はArea1により含まれ、Area1はRootAreaにより含まれる。
SES 40は、SEP 52の範囲内で定義されたアクティブディレクトリレベルから始めて、アクティブディレクトリツリー内を移動する。この構造の内部表現は、ブラウジングをサポートし、アクティブディレクトリ構成における変更の検出のために維持される。SES 40ソースは、通常、SEP 52のアクティブディレクトリ範囲内で定義されたエリア内のコンピュータおよびコンポーネントである。1つのコンピュータをソースとするが、報告すべき特定エンティティを有しないイベントは、ロギングしているコンピュータの名前をそのソースとして使用する。そのコンピュータに常駐する特定エンティティに関するイベントは、ソース名の形式、COMPUTER.COMPONENT(例えば、COMPUTER1.PKS_SERVER_01)を使用する。含まれるコンピュータは、各エリアにソースとして追加される。他のソース(例えば、ソース名慣例付き管理コンポーネント、Source.Component)が、活動状態のイベントが受信された際に動的に追加される。

イネーブル/ディセーブル
1つのSES上の複数のイベントのイネーブルまたはディセーブルは、他のSESが同じ範囲内にあるか異なる範囲内にあるかにかかわらず、それらのSESには影響を与えない。宛先変更マネージャ(RDM)が使用される場合、RDMは、重複しているSES接続上のエリアおよびソースをイネーブルまたはディセーブルし、同期化した表示を保全する。イネーブル/ディセーブルは、同一SESに接続されたすべてのクライアントに及ぶ。

SESサブシステム
SES 40は、OPC互換警報およびイベント(AE)インターフェースを提供するために、HCI実行時を利用する。HCI実行時およびGOPC_AEオブジェクトは、すべてのOPCクライアント通信および条件データベースの維持を実行する。デバイス特有サーバの機能は、SESデバイス特有オブジェクト(DDSObject)で実施される。このオブジェクトは、SEP 52からイベントを取り出し、SEP 52イベント通知をGOPC_AEに転送する、イベント管理オブジェクトの単一インスタンスを作成する。さらに、単一オブジェクトは、サーバエリアおよび含まれるソースを定義するために使用されるアクティブディレクトリ構成の表示を維持する。

SES内のデータベース
次に示す参照マップが維持される。
表14−SES内部マップ

階層エリアおよびソースマップ アクティブディレクトリコンテナ(エリア)と含まれ るイベントソースとを表すオブジェクトの階層マッピ ング。このマップは、エリア内複数エリアおよびエリ ア内複数ソースを戻すために使用される。アクティブ ディレクトリ階層内の変更を特定するために、アクテ ィブディレクトリの定期的スキャンを実行する際にも 使用される。
WMIイベントガイドへのOP
Cイベントのクッキーのマップ
OPCクライアントが1つのイベントを認知する場合 にWMIインスタンス署名を検索するために使用され る。

SES 40動作を監視するために、次に示す性能カウンタが維持される。
表15−SES性能カウンタ
カウンタ タイプ 記述
接続されたクライアント RAWCOUNT 現在のクライアント接続数(予約され ていないDssObjectインスタ ンス)
ロギングされたイベント RAWCOUNT サーバ起動以来処理されたイベント数
秒当たりのロギングされ
たイベント COUNTER 過去1秒間に処理されたイベント数( 「ロギングされたイベント」から導出 )
ロギングされた条件イベント RAWCOUNT サーバ起動以来処理されたACK可能 なイベント数
秒当たりのロギングされた
条件イベント COUNTER 過去1秒間に処理されたACK可能な イベント数(「ロギングされたACK 可能なイベント」から導出)
ロギングされた単純イベント RAWCOUNT 受信した単純イベント数
秒当たりのロギングされた
単純イベント COUNTER 過去1秒間に処理された単純イベント 数(「ロギングされた単純イベント」 から導出)
ロギングされた追跡イベント RAWCOUNT 受信した追跡イベント数
秒当たりのロギングされた
追跡イベント COUNTER 過去1秒間に処理された追跡イベント 数(「ロギングされた追跡イベント」 から導出)

システムイベントサーバ(SES)内のインターフェース
図5を参照すると、SES 40は、OPC−AEクライアント80に対して複数のインターフェース90を公開する。インターフェース90は、HCI実行時コンポーネント92により実現される。内部では、SES 40が、標準HCI実行時定義インターフェースを介してHCI実行時コンポーネント92と通信する、DSSオブジェクト94として示されるデバイス特有サーバオブジェクトを実施する。DSSオブジェクト94は、すべてのサーバ特有実施態様を提供する。
システムイベントサーバDSSオブジェクトは、
IHciDeviceSpecific_Common、IHciDeviceSpecific_AE、IHciDeviceSpecific_Security、IHciDeviceSpecificCounters、およびIHciDeviceインターフェースを実施する。
(HCI実行時を介して)クライアントにエリアおよびソースの可用性の変更を通知するために、HCI実行時IHciSink_Commonインターフェースが使用される。
クライアントに新しいイベントおよび修正されたイベントを通知するために、IHciSink_AE GOPC_AEインターフェースが使用される。GOPC_AE/SES接続状態を確認するために、このインターフェースで定期的な(4秒)ハートビート通知が送られる。DSS接続が有効でない場合(消失ハートビートまたはアクセスエラー)、SES 40は、DSS通信エラーを示すイベント(フィルタテーブルでDEVCOMMERROR条件と示される)をロギングし、IHciDevice::GetDeviceStatus()によりCAS 48が取り出した状態の問題を反映する。GOPC_AE IHciSink_AEインターフェース上のハートビートが一時停止され、したがってGOPC_AEオブジェクトへの通信の障害が示される。接続が回復された場合、SES 40は別のイベント(フィルタテーブル84で非活動状態にあるDEVCOMMERROR条件として示される)をロギングし、そのデバイス状態を更新する。このハートビートは、GOPC_ACに回復され、これにより、SES DSSオブジェクトリフレッシュ()メソッドに対してGOPC_AEにより呼び出しがトリガされる。SES DSSオブジェクトは、回復されたSEP接続からすべてのインスタンスを列挙し、各インスタンスをbRefreshフラグセットと共にGOPC_AEシンクインターフェースに書き込む。SES DSSオブジェクト94は、GetDeviceStatus()メソッドをコンポーネントAdminサービス(CAS)に公開する、任意選択のIHciDeviceインターフェースを実施する。SES 40は、イベント通知接続の状態を反映するために、このインターフェースを実施する。SEP接続がまだ確立していないか、または現在切断中であることを示すために、障害のあるデバイス状態が戻される。同様に、SEP 52は、SRPに対するその接続内のエラーを、エラー通知によりSES 40まで反映する。GetDeviceStatus()により戻されるデバイス情報フィールドは、基礎となる接続問題を記述するストリングを含む。
SES DSSオブジェクト94は、DSS性能カウンタをサポートするために、IHciDeviceSpecificCountersインターフェースも実施する。
HsiEventLogAPIを使用して、サーバイベントロギングが実行される。SES 40に対するHCIコンポーネント構成値が、ITpsRegistryインターフェースを使用して取り出される。

第2の実施形態の論理設計シナリオ
管理コンポーネントは、状態をFAILED状態に変更する。表16に示すように、条件イベントは、OPCクライアントに対して生成する必要がある。
表16−条件イベントが生成される−新しい活動状態警報
イベント イベントの記述
1 管理コンポーネントがFAILED状態に入る。
2 CAS 48は、その状態変更を検出し、Window(登録商標)イベントをロ ギングする。
3 SEP 52サービスは、このイベントの通知を受け、そのフィルタテーブルを検 査する。
4 コンポーネント状態変更イベントが、フィルタテーブルで活動状態条件関連イベン トと示される。
5 TPS_SysEvtクラスインスタンスが作成され、フィルタテーブル情報がイ ベントオブジェクトに設定される。
6 SEP 52が、現在活動状態にある条件イベントに関するソース対条件イベント のそのマップをチェックし、何も見つからない。
7 SEP 52が、_InstanceCreationEventを作成し、TP S_SysEvtインスタンスを挿入する。_InstanceCreation EventをSRP 56に渡す。
8 SRP 56は、この_InstanceCreationEventをすべての SEP 52に配信(マルチキャスト)する。
9 すべてのSEPは、そのイベントを受信し、受信したイベントを接続されたクライ アントに通知する。
10 SES 40は、そのイベント通知を受信する。
11 そのイベント情報は、OPC−AEイベント通知に変換され、1つまたは複数の 加入OPC−AEクライアントに送られる。

管理コンポーネントは、既にWARNING状態に入っている。これにより、活動状態条件警報が生成された。次にこのコンポーネントはFAILED状態に移行し、新しい活動状態条件を生成する。表17に示すように、以前の条件は最早活動状態ではない。
表17−条件イベントが生成される−活動状態警報が存在する
イベント イベントの記述
1 管理コンポーネントが、WARNING状態からFAILED状態に移行する。
2 CAS 48は、この状態変更を検出し、Window(登録商標)イベントをロ ギングする。
3 SEP 52サービスは、このイベントの通知を受け、そのフィルタテーブルを検 査する。
4 コンポーネント状態変更イベントが、フィルタテーブルで活動状態条件関連イベン トと示される。
5 TPS_SysEvtクラスオブジェクトが作成され、フィルタテーブル情報が設 定される(EventB)。
6 SEP 52は、現在活動状態にある条件イベントに関するソース対条件イベント のそのマップをチェックし、WARNING条件警報が見つかる(EventA) 。
7 (EventA)WARINING条件警報を含むTPS_SysEvtオブジェ クト(ステップ6にある)がINACTIVEに設定される。
8 (EventA)SEP 52は、_InstanceModification Eventを作成し、その非活動化されたWARNING条件イベントTPS_S ysEvtオブジェクトを挿入する。
9 (EventA)SEP 52は、修正イベントをSRP 56に発行し、SRP 56はそのイベントをすべてのSEPに配信する。
10 (EventA)すべてのSEP 52は、そのイベントを受信し、受信したイ ベントを接続されたクライアント(SES)に通知する。
11 (EventA)SES 40は、非活動化されたWARNING条件イベント 通知を受信する。
12 (EventA)非活動化されたイベント情報がOPC−AEイベント通知に変 換され、1つ以上の加入OPCクライアントに送られる。
13 (EventB)SEP 52は、_InstanceCreationEve ntを作成し、新しいFAILED条件イベントTPS_SysEvtオブジェク トを挿入する。
14 (EventB)SEP 52は、_InstanceCreationEve ntをSRP 56に発行し、SRP 56はそのイベントをすべてのSEP 5 2に配信する。
15 (EventB)すべてのSEP 52は、そのイベントを受信し、受信したイベ ントを接続されたクライアント(SES)に通知する。
16 (EvnetB)SES 40は、非活動化されたWARNING条件イベント通 知を受信する。
17 (EventB)そのイベント情報は、OPC−AEイベント通知に変換され、1 つ以上の加入OPCクライアントに送られる。

障害のある管理コンポーネント(活動状態にあるイベントが存在する)が再開され、最終的にIDLE状態に移行する。これは、表18に示すように、システムイベントフィルタテーブルで通常状態復帰と示される。
表18−条件イベントが生成され、未認知イベントで通常状態に戻される。
イベント イベントの記述
1 管理コンポーネントは、IDLE状態に移行する。
2 CAS 48は、この状態変更を検出し、Windowイベントをロギングする。
3 SEP 52サービスは、このイベントの通知を受け、そのフィルタテーブルを検 査する。
4 コンポーネント状態変更イベントが、フィルタテーブルで非活動状態の未認知条件 関連イベントと示される。
5 SEP 52は、現在活動状態にある条件イベントに関するソース対条件イベント のそのマップをチェックし、FAILED条件警報が見つかる。
6 FAILED条件警報を含むTPS_SysEvtオブジェクト(ステップ5にあ る)がINACTIVEにセットされる。
7 SEP 52は、_InstanceModificationEventを作成 し、その非活動化されたFAILED条件イベントTPS_SysEvtオブジェ クトを挿入する。
8 SEP 52は、修正イベントをSRP 56に発行し、SRP 56はそのイベ ントをすべてのSEP 52に配信する。
9 すべてのSEP 52は、そのイベントを受信し、受信したイベントを接続された クライアント(SES)に通知する。
10 SES 40は、非活動化されたWARNING条件イベント通知を受信する。
11 非活動化されたイベント情報は、OPC−AEイベント通知に変換され、1つま たは複数の加入OPCクライアントに送られる。

イベントは、下のシステムステータスディスプレイ46または別のSES(SEPを介して)から認知するか、または上のHCI実行時インターフェースから認知することができる。このシナリオで、認知はSEP 52にまであがってくる。認知が別のSESノード由来かシステム管理ディスプレイ由来かにかかわらず、動作は同じである。
表19−条件イベントがSEPから認知される−イベントは活動状態にある
イベント イベントの記述
1 ユーザは、システム状態ディスプレイ46からのイベントをACKする。システム 状態ディスプレイ46は、SEP 52上のACKメソッドを呼び出す。
2 SEP 52は、そのレポジトリ内にある参照されるTPS_SysEvtオブジ ェクトを検索し、ACKされたプロパティをTRUEにセットする。Modifi cationSourceプロパティは、ローカルコンピュータ名にセットされる 。
3 SEP 52は、参照されるイベントオブジェクトに対して_InstanceM odificationEventを生成し、修正されたTPS_SysEvtオ ブジェクトを挿入する。
4 SEP 52は、条件認知を追跡するために追跡イベントと解釈されるべきNTイ ベントをロギングする。
5 SEP 52は、そのイベントをSRP 56に発行し、SRP 56はそのイベ ントをすべてのSEP52に配信する。
6 すべてのSEP 52は、そのイベントを受信し、受信したイベントを接続された クライアントに通知する。
7 SES 40は、イベント修正通知を受信する。
8 認知されたイベント情報は、OPC−AEイベント通知に変換され、1つまたは複 数の加入OPCクライアントに送られる。

表20に示すように、OPCクライアントは、活動状態にある条件イベントを認知する。
表20−条件イベントはOPCクライアントから認知される−イベントは活動状態にある
イベント イベントの記述
1 ユーザは、OPCクライアントからのイベントを認知する。
2 SES 40は、クッキーにより署名されたWMIイベントを検索する。
3 SES 40は、ステップ2で取り出されたイベント署名に対してSEP ACK ()メソッドを呼び出す。
4 SEP 52は、指定されたイベントACKおよびModificaitonSo urceプロパティを修正する。
5 SEP 52は、_InstanceModificationEventを生成 し、それに修正されたTPS_SysEvtをポピュレートし、それをSRP 5 6に送信する。
6 SRP 56は、その修正イベントをすべてのSEP 52に送る。
7 SEP 52は、その変更通知を受信し、ローカルレポジトリを更新し、その変更 をSES 40に転送する。
8 SES 40は、その変更通知を受信する。
9 ACK状態が既に修正されているので、変更はなく、1つまたは複数のOPCクラ イアントに対してイベントは生成されない。
注意:重複しているSESの観点からすると、ACK状態は異なり、重複している サーバ上の1つまたは複数のOPCクライアントおよびその重複しているサーバに 接続されたいかなるクライアントに対しても条件変更が生成される。

非活動状態にあるイベントが、SEP WMIインターフェース(例えば、システムステータスディスプレイ46)を介して認知される。表21に示すように、非活動状態にある、認知されたイベントが、イベントレポジトリから除去される。
表21−条件イベントがSEPから認知される−イベントは非活動状態である
イベント イベントの記述
1 ユーザは、システム状態ディスプレイ46からのイベントをACKする。システム 状態ディスプレイ46は、SEP 52上のACKメソッドを呼び出す。
2 SEP 52は、参照されるTPS_SysEvtオブジェクトを検索し、そのイ ベントが非活動状態であることを確認する。ACKされたプロパティがTRUEに セットされる。ModificationSourceプロパティが、ローカルコ ンピュータ名にセットされる。
3 このイベントは、現在非活動状態であり、かつ認知されているので、SEP 52 は、_InstanceDeletionEventを生成し、その修正されたT PS_SysEvtオブジェクトを挿入する。
4 SEP 52は、条件認知を追跡するために追跡イベントと解釈されるべきNTイ ベントをロギングする。
5 SEP 52は、そのイベントをSRP 56に発行し、SRP 56はそのイベ ントをすべてのSEP52に配信する。
6 すべてのSEP 52は、そのイベントを受信し、受信したイベントを接続された クライアント(SES)に通知する。TPS_SysEvtオブジェクトがSEP イベントレポジトリから除去される。
7 SES 40は、イベント削除通知を受信する。
8 認知されたイベント情報は、OPC−AEイベント通知に変換され、1つまたは複 数の加入OPCクライアントに送られる。

OPCクライアントは、非活動状態にある条件イベントを認知する。表22に示すように、その非活動状態にある、認知されたイベントが、イベントレポジトリから除去される。
表22−条件イベントはOPCクライアントから認知される−イベントは非活動状態にる
イベント イベントの記述
1 ユーザは、OPCクライアントからのイベントを認知する。
2 SES 40は、クッキーにより署名されたWMIイベントを検索する。
3 SES 40は、上記で取り出されたイベント署名を使用してSEP ACK() メソッドを呼び出す。
4 SEP 52は、参照されるTPS_SysEvtオブジェクトを検索し、そのイ ベントが非活動状態であることを確認する。ACKされたプロパティがTRUEに セットされる。ModificationSourceプロパティが、ローカルコ ンピュータ名にセットされる。
5 そのイベントは、現在非活動状態であり、かつ認知されているので、SEP 52 は、_InstanceDeletionEventを生成し、その修正されたT PS_SysEvtオブジェクトを挿入する。
6 SEP 52は、条件認知を追跡するために追跡イベントと解釈されるべきNTイ ベントをロギングする。
7 SEP 52は、そのイベントをSRP 56に発行し、SRP 56はそのイベ ントをすべてのSEP52に配信する。
8 すべてのSEP 52は、そのイベントを受信し、受信したイベントを接続された クライアント(SES)に通知する。1つまたは複数のSES 52は、それら自 体のレポジトリからTPS_SysEvtオブジェクトを除去する。
9 SES 40は、イベント削除通知を受信する。
10 条件は既に削除されているので、1つまたは複数のOPCクライアントに対して イベントは生成されない。
注意:重複しているSESの観点からすると、ACK状態は異なり、重複している サーバ上の1つまたは複数のOPCクライアントおよびその重複しているサーバに 接続されたいかなるクライアントに対しても条件変更が生成される。

FAILEDの管理コンポーネントが再開され、最終的にIDLE状態に移行する。これは、表23に示すように、システムイベントフィルタテーブルで通常状態復帰条件イベントと示される。
表23−条件イベントが生成され、認知されたイベントで通常状態に戻される
イベント イベントの記述
1 管理コンポーネントが、IDLE状態に移行する。
2 CAS 48は、この状態変更を検出し、Window(登録商標)イベントをロ ギングする。
3 SEP 52サービスは、イベントの通知を受け、そのフィルタテーブルを検査す る。
4 コンポーネント状態変更イベントが、フィルタテーブルで非活動状態にある、未認 知可能条件関連イベント(通常状態に戻る)と示される。
5 SEP 52は、現在活動状態にある条件イベントに関するソース対条件イベント のそのマップをチェックし、FAILED条件警報が見つかる。
6 FAILED条件警報を含むTPS_SysEvtオブジェクトがINACTIV Eにセットされる。
7 このイベントは、現在非活動状態であり、かつ認知されているので、SEP 52 は、_InstanceDeletionEventを生成し、修正されたTPS _SysEvtオブジェクトを挿入する。
8 SEP 52は、条件認知を追跡するために追跡イベントと解釈されるべきNTイ ベントをロギングする。
9 SEP 52は、イベントをSRP 56に発行し、SRP 56はそのイベント をすべてのSEP52に配信する。
10 すべてのSEP 52は、そのイベントを受信し、受信したイベントを接続され たクライアント(SES)に通知する。1つまたは複数のSEPは、それら自体 のレポジトリからTPS_SysEvtオブジェクトを除去する。
11 SES 40は、イベント削除通知を受信する。
12 認知されたイベント情報は、OPC−AEイベント通知に変換され、1つまたは 複数の加入OPCクライアントに送られる。

表24に示すように、OPCクライアントは、SESのインスタンスを作成し、イベント通知に加入する。
表24−OPCクライアントが、SESイベントに加入する
イベント イベントの記述
1 OPCクライアントが、SES 40のアウトオブプロセスインスタンスを作成す る。
2 SES 40サーバオブジェクトが作成され、アウトオブプロセスクライアントに 対してインターフェースが整理される。
3 OPCクライアントは、インプロセスIOPCEventSinkオブジェクトを 作成する。
4 OPCクライアントは、IOPCEventServer::CreateEve ntSubscription()の呼び出しから、IConnectionPo intContainerインターフェースを得る。
5 OPCクライアントは、クライアントIOPCEventSinkオブジェクトの IUnkownポインタを通過させるSES 40のIconnectionPo intContinerインターフェース上でAdvise()を呼び出す。
6 このインターフェース上のIOPCEventSubscriptionMgt2 インターフェースに対するOPCクライアントQlsが、CreateEvent Subscription()から戻る。
7 OPCクライアントは、コールバックインターフェース上のハートビートの賦活間 隔をセットするために、IOPCEventSubscriptionMgt2: :SetKeepAlive()を呼び出す。
8 SES 40は、IOPCEventSink::OnEvent()メソッドを 使用してクライアントに新しいイベントを送信する。賦活が満了する間際になって もイベントがまったく生成されていない場合、1つの賦活が生成される。

OPCクライアントは、SES 40のインスタンスを作成し、イベント通知に加入する。表25に示されるように、コールバック接続が失われる。
表25−OPCクライアントが、SESへの接続を失う
イベント イベントの記述
1 表27「OPCクライアントがSESイベントに加入する」にあるように、OPC クライアントがSESイベントに加入する。
2 ネットワークまたは他の接続が、接続されたOPCクライアントに対するコールバ ック接続を変則的に切断する。
3 特定の保持活動間隔が満了するまで、OPCクライアントはイベントを受信しない 。
4 OPCクライアントが、接続ポイントにUnadvise()する(問題が厳密に コールバックに関する事項である場合)。
5 Unadviseが成功した場合、クライアントは複数のイベントへの再加入を選 択することができる。
6 Unadviseが失敗した場合、クライアントは、そのSES参照を解放し、再 度完全な再接続シナリオを実行する。
注意:多くの場合、これは、「いかなる」コールバック問題に対しても好ましい処 置である。SESの新しいインスタンスを解放し、再インスタンス生成することに より、DCOMは、そのキャッシュから古いインターフェースを確実にフラッシュ する。

頑強性および安全性
HCI実行時は、OPC−AEコールバックに対してハートビートを実施する。クライアントは、そのコールバック接続が動作可能であることを確認するためにこのハートビートを使用する。SES 40は、宛先変更マネージャ(RDM)を使用して重複した動作をサポートする。SES 40は、それ自体が重複した構成で動作中であることに気付いていない。重複しているSES 40サーバにアクセスようにRDMを構成し、その構成がSES 40の2つのインスタンス間で確実に互換性を有するようにすることは、ユーザの責任である。1つのSESサーバまたはそれが実行中のノードが機能しなくなった場合、そのフェイルオーバータイムはRDMに関して記録した通りである。イベントレポジトリの実際の状態は、すべてのノード上の同期化されたSEP 52レポジトリで維持されるので、Direct StationsからはSESは同じに見える。
システムイベントプロバイダに対するWMIを介した接続は、共通モジュールInstClnt.dllにより維持される。接続が失われたという通知、再接続の試行、および接続が回復されたという通知は、InstClnt.dll内で実現されるスレッドにより処理される。何らかの理由でサーバが機能しなくなった場合、いかなるクライアントでもそれを参照しようとした時は、そのサーバは自動的に再開される。

システムイベントフィルタ・スナップイン
システムイベントフィルタ・スナップイン86ツールは、OPC警報およびイベントに関連付けられた付加的なイベントプロパティを定義するための機構を提供する、Microsoft社のManagement Consoleスナップインである。システムイベントフィルタ・スナップイン86は、Windows(登録商標) Registryに登録されたWindows(登録商標) NT Eventカタログファイルを選択するための機構を提供する。イベントソースは、メッセージカタログに関連付けられたソースのリストから選択され、そのカタログに含まれるイベントのリストが表示される。OPCイベントとしてのWindows(登録商標) NT Eventの構成は、構成「ウィザード」により実行される。
OPC−AE属性が、構成ウィザードにより割り当てられるが、これは、次に示す表26「イベントのタイプ、カテゴリ、および条件名」に準拠する。

表26−イベントのタイプ、カテゴリ、および条件名
イベントの イベントのカテゴリ 条件名 記述
タイプ /カテゴリID
関連条件 条件関連イベントは、活動状態 に割り当てることのできる認知 可能イベントである。活動状態 が1つのイベントに割り当てら れた場合、ソースが通常状態に 戻った際にロギングされる別の イベントを特定する必要がある 。
システム警報/ SYSERROR 特定のコンポーネント、ノード
0×3003 、またはネットワークに対して
分離不可能な、ACK可能な、 非活動状態にあるシステムエラ ー。ソースは、その条件を出し たノードの名前である。
NODEERROR ACK可能な、非活動状態にあ
るコンピュータのプラットフォ ーム(ノード)エラー。ソース はノード名である。
NETERROR ACK可能な、活動状態/非活
動状態にあるネットワークエラ ー。ソースは、その条件を出し たノードの名前で修飾された 「ネットワーク」またはネットワ ーク(セグメント)名である。
NETREDERROR 重複した対の1つのリンクによ るACK可能な、活動状態/非 活動状態にある問題。ソースは 、その条件を出したノードの名 前で修飾されたリンクの名であ る。
MANCOMPERROR ACK可能な、活動状態にある 管理コンポーネントエラー。ソ ースは、ノード名で修飾された コンポーネント名または別名で ある。コンポーネント名に対す る挿入ストリングは必須である 。非活動化するには、同じ条件 名で特定されたイベントをロギ ングし、ACK可能でない、非 活動状態にセットする。
SYSCOMPERROR ACK可能な、非活動状態にあ る汎用システムコンポーネント エラー。ソースは、ノード名で 修飾されたコンポーネント名で ある。コンポーネント名に対す る挿入ストリングは必須である 。
ANY VALID ACK可能でない、非活動状態
CONDITION NAME にある、エラーなし/通常状態
SET TO NOT 復帰条件。この条件は、OPC
ACKABLE AND イベントとして直接は渡されな
INACTIVE いが、命名された条件イベント
を非活動状態に変更するために 使用される。SEPは、同じソ ースおよび条件名の活動状態に ある条件を求めてレポジトリを 検索する。見つかった場合、そ のイベントは非活動状態で更新 される。活動状態にある条件が 見つからなかった場合、OPC イベントが生成される。
OPC_SERVER_ ACK可能な、活動状態にある
DEVCOMMERROR OPCサーバは、基礎となるデ
ERROR/0×3004 バイスと通信することができな
い。ソースは、ノード名で修飾 されたサーバ名または別名であ る。対応する通信回復条件も指 定する必要がある。
単純 ACK可能でない、非活動状態 にある単純イベントは、履歴は あるかも知れないが、イベント ビューワには表示されない単発 イベントである。
デバイス障害/0×1001
システムメッセージ/0×1003
追跡 ACK可能でない、非活動状態 にある追跡イベントは、システ ムイベントレポジトリで保持さ れない単発イベントである。
プロセス変更/0×2001 対話ユーザまたは制御アプリケ ーションプログラムによるプロ セスパラメータの修正。これは 、SEPログ条件追跡イベント を含む。
システム変更/0×2002 構成変更以外のシステムの修正 、例えばオペレータのログオン またはログオフ
システム構成/0×2003 システム構成の修正、例えばT PSドメインへのノードの追加 (AD変更が検出された際にS ESによりロギングされる)。

Windows(登録商標)またはNTイベントの重大度が必ずしも所望のOPCイベントの重大度に直接的に翻訳されるわけでないので、OPCイベントの重大度を各イベントのタイプに割り当てる必要がある。表27に、OPCの重大度の範囲とそれに相当するCCA/TPS優先権(参照用)とを示す。フィルタテーブルで0という重大度が指定された場合、もとのNTイベントに割り当てられたイベントの重大度は、事前に割り当てられたOPCの重大度値に翻訳される。
表27−OPCイベント重大度の変換
割り当てられた重大度 変換 相当するCCA/TPS優先権
0 NTイベントがロギングされた際 N/A
に割り当てられたイベントの重大度
を使用する(下記)
200(OPC範囲1−400) 成功または情報 Info(通常は表示されないが 、記録することができる)
500(OPC範囲401−600) 警告 低
700(OPC範囲601−800) エラー 高
900(OPC範囲801−1000) 緊急または非常事態

システムイベントフィルタ内データベース
システムイベントフィルタは、FiltersディレクトリのXMLファイルに格納される。
以上、本発明者らは、本発明者らの発明に従い数点の実施形態を図示し説明したが、上記実施形態は、当業者には明らかな多数の変更を受けることが理解されよう。したがって、本発明者らは、図示し説明した詳細に限定することを欲せず、首記の特許請求の範囲内に含まれるすべての変更および修正を示すことを意図する。
本発明のイベントフィルタリングおよび通知デバイスを含むシステムのブロック図である。 本発明によるイベントフィルタリングおよび通知デバイスの様々な実行時システム管理コンポーネント間における通信経路を示すブロック図である。 本発明のイベントフィルタリングおよび通知デバイスにより使用される様々なコンピューティングノード間における通信リンクを示すブロック図である。 OPCイベント変換に対するシステムイベントを示すブロック図である。 システムイベントサーバインターフェースを示すブロック図である。 本発明のフィルタ構成ツールの選択ボックスである。 本発明のフィルタ構成ツールの選択ボックスである。 本発明のフィルタ構成ツールの選択ボックスである。 本発明のフィルタ構成ツールの選択ボックスである。 本発明のフィルタ構成ツールの選択ボックスである。

Claims (56)

  1. OPCクライアントに対するOPC警報およびイベント(OPC−AE)ならびにNT警報およびイベント(NT−AE)の通知の方法において、
    NT−AEのNT−AE通知をOPC−AE通知に変換するステップと、
    前記OPC−AE通知を前記OPCクライアントに提示するステップと
    を含む方法。
  2. 前記NT−AEをフィルタ基準に従いフィルタリングするステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記フィルタ基準はフィルタ構成ツールにより提供される、請求項2に記載の方法。
  4. 前記フィルタ基準はシステムイベントフィルタ・スナップインにより提供される、請求項2に記載の方法。
  5. 前記変換するステップは、前記OPC−AE通知を提供するために前記NT−AE通知に追加情報を付加する、請求項1に記載の方法。
  6. 前記追加情報は、前記NT−AE通知を作成したソースの名称を含む、請求項5に記載の方法。
  7. 前記ソースの名称は、前記NT−AE通知を作成したコンピュータ名および前記NT−AEの挿入ストリングを含む、請求項5に記載の方法。
  8. 前記挿入ストリングは、前記NT−AEを生成したコンポーネントを特定する、請求項7に記載の方法。
  9. 前記追加情報は、イベントの重大度を含む、請求項5に記載の方法。
  10. 前記イベントの重大度はNT準拠の重大度であり、前記変換するステップは、前記NT準拠の重大度のOPC準拠の重大度への変換を提供する、請求項9に記載の方法。
  11. 前記変換は、規定の重大度値に基づく、請求項10に記載の方法。
  12. 前記変換は、前記NT−AE通知のロギングされた重大度値に基づく、請求項11に記載の方法。
  13. 前記追加情報は、イベントのクッキー、ソースの名称、イベントの重大度、イベントのカテゴリ、イベントのタイプ、イベントの認知可能性、およびイベントの認知状態からなるグループから選択された1つまたは複数の項目である、請求項5に記載の方法。
  14. 前記OPCクライアントは、前記NT−AE通知を作成したソースのローカルまたは遠隔にある、請求項1に記載の方法。
  15. 前記提示するステップは、マルチキャストリンクを介して前記OPC−AE通知を前記OPCクライアントに提示する、請求項1に記載の方法。
  16. 前記NT−AEは、条件イベント、単純イベント、または追跡イベントを含む、請求項1に記載の方法。
  17. 前記条件イベントの少なくとも1つは、特定ソースの状態を反映する、請求項16に記載の方法。
  18. 前記OPC−AE通知を、マルチキャストリンクを介して複数のノード間で同期を取るステップをさらに含む、請求項1に記載の方法。
  19. 前記OPC−AE通知は、OPC−AEインターフェースまたはWMIインターフェースを介してアクセス可能である、請求項1に記載の方法。
  20. OPCクライアントにOPC警報およびイベント(OPC−AE)ならびにNT警報およびイベント(NT−AE)を通知するためのデバイスにおいて、
    NT−AEのNT−AE通知を追加情報にリンクするシステムイベントプロバイダと、
    前記OPCクライアントに提示するために前記NT−AE通知と前記追加情報とをOPC−AE通知としてパッケージするシステムイベントサーバと
    を含むデバイス。
  21. 前記NT−AE通知をフィルタ基準に従いフィルタリングするフィルタをさらに含む、請求項20に記載のデバイス。
  22. 前記フィルタ基準がフィルタ構成ツールにより提供される、請求項21に記載のデバイス。
  23. 前記フィルタ基準がシステムイベントフィルタ・スナップインにより提供される、請求項21に記載のデバイス。
  24. 前記追加情報は、前記NT−AE通知を作成したソースの名称を含む、請求項20に記載のデバイス。
  25. 前記ソースの名称は、前記NT−AEを作成したコンピュータ名および前記NT−AEの挿入ストリングを含み、前記NT−AEが条件イベントである、請求項24に記載のデバイス。
  26. 前記挿入ストリングは、前記NT−AEを生成したコンポーネントを特定する、請求項25に記載のデバイス。
  27. 前記追加情報は、イベントの重大度を含む、請求項20に記載のデバイス。
  28. 前記イベントの重大度はNT準拠の重大度であり、前記システムイベントプロバイダが、前記NT準拠の重大度のOPC準拠の重大度への変換を提供する、請求項27に記載のデバイス。
  29. 前記変換は、規定の重大度値に基づく、請求項28に記載のデバイス。
  30. 前記変換は、前記NT−AE通知のロギングされた重大度値に基づく、請求項28に記載のデバイス。
  31. 前記追加情報が、イベントのクッキー、ソースの名称、イベントの重大度、イベントのカテゴリ、イベントのタイプ、イベントの認知可能性、およびイベントの認知状態からなるグループから選択された1つまたは複数の項目を含む、請求項20に記載のデバイス。
  32. 前記OPCクライアントが、前記NT−AE通知を作成したソースのローカルまたは遠隔にある、請求項20に記載のデバイス。
  33. マルチキャストリンクを介して前記OPC−AE通知を前記OPCクライアントに提示する同期レポジトリプロバイダをさらに含む、請求項20に記載のデバイス。
  34. 前記イベントが、条件イベント、単純イベント、または追跡イベントである、請求項20に記載のデバイス。
  35. 前記条件イベントの少なくとも1つは、特定ソースの状態を反映する、請求項34に記載のデバイス。
  36. 前記OPC−AE通知を、マルチキャストリンクを介して複数のノード間で同期を取るための同期レポジトリをさらに含む、請求項20に記載のデバイス。
  37. 前記OPC−AE通知は、OPC−AEインターフェースまたはWMIインターフェースを介してアクセス可能である、請求項20に記載のデバイス。
  38. 前記システムイベントサーバは、前記OPC−AE通知を前記OPCクライアントに提供する、請求項20に記載のデバイス。
  39. 前記システムイベントプロバイダは、WMIインターフェースを介して前記システムイベントサーバと通信する、請求項20に記載のデバイス。
  40. 前記NT−AE通知を提供するNTイベントプロバイダと、
    前記フィルタ基準を満たすNT−AE通知のみが前記システムイベントプロバイダによってOPC−AE通知にリンクされるように、フィルタ基準に従い前記NT−AE通知をフィルタリングするフィルタと
    をさらに含む、請求項20に記載のデバイス。
  41. 前記NT−AE通知の1つまたは複数は、ソースによって生成され、前記ソースの状態を反映する条件イベントであり、前記ソースの状態の変更により生成された前記複数の条件イベントのうちの後で発生する1つの条件イベントに合わせて、前記複数の条件イベントのうちの既に発生している1つの条件イベントの活動状態と非活動状態との間で状態を変更することをさらに含む、請求項20に記載のデバイス。
  42. 前記システムイベントプロバイダが、既に発生している条件イベントと後で発生する条件イベントのNT−AE通知を、OPCクライアントに提示するためにOPC−AE通知にリンクする、請求項41に記載のデバイス。
  43. 前記NT−AEの1つまたは複数は、ソースによって生成され、前記ソースの状態を反映する条件イベントであり、前記ソースの状態の変更により生成された前記複数の条件イベントのうちの後で発生する1つの条件イベントに合わせて、前記複数の条件イベントのうちの既に発生している1つの条件イベントの活動状態と非活動状態との間で状態を変更するステップをさらに含む、請求項1に記載の方法。
  44. 前記変換するステップおよび提示するステップは、前記既に発生している条件イベントと後で発生する条件イベントのNT−AE通知を、OPCクライアントに提示するためにOPC−AE通知に変換する、請求項43に記載の方法。
  45. OPC警報およびイベントに変換するためにNT警報およびイベント(NT−AE)をフィルタリングするフィルタをポピュレートする方法において、
    その通知が前記フィルタを通過すべきNT−AEを入力するステップと、
    前記入力されたNT−AEを、イベントのタイプ、イベントのソース、イベントの重大度、イベントのカテゴリ、イベントの条件、イベントのサブ条件、およびイベントの属性からなるグループから選択された1つまたは複数のイベント特性により構成するステップと
    を含む方法。
  46. 前記イベントのタイプは、条件、単純、および追跡を含む、請求項45に記載の方法。
  47. 前記イベントのソースは、特定のNT−AE通知を作成したコンピュータ名およびそれのNT−AEの挿入ストリングを含む、請求項45に記載の方法。
  48. 前記イベントの重大度は、規定の重大度値またはロギングされた重大度値を含む、請求項45に記載の方法。
  49. 前記イベントのカテゴリは、デバイスの状態を含む、請求項45に記載の方法。
  50. 前記イベントの属性は、特定のイベントのカテゴリに関して、特定のNT−AEの認知可能性および活動状態または非活動状態の状態を含む、請求項45に記載の方法。
  51. OPC警報およびイベントに変換するためにNT警報およびイベント(NT−AE)をフィルタリングするフィルタをポピュレートするコンフィギュレータにおいて、
    その通知が前記フィルタを通過すべきNT−AEの前記フィルタへの入力と、イベントのタイプ、イベントのソース、イベントの重大度、イベントのカテゴリ、イベントの条件、イベントのサブ条件、およびイベントの属性からなるグループから選択された1つまたは複数のイベント特性による、前記入力されたNT−AEの構成とを提供する構成デバイスを含むコンフィギュレータ。
  52. 前記イベントのタイプは、条件、単純、および追跡を含む、請求項51に記載のコンフィギュレータ。
  53. 前記イベントのソースが、特定のNT−AE通知を作成したコンピュータ名およびそのNT−AEの挿入ストリングを含む、請求項49に記載のコンフィギュレータ。
  54. 前記イベントの重大度は、規定の重大度値またはロギングされた重大度値を含む、請求項49に記載のコンフィギュレータ。
  55. 前記イベントのカテゴリは、デバイスの状態を含む、請求項49に記載のコンフィギュレータ。
  56. 前記イベントの属性は、特定のイベントのカテゴリに関して、特定のNT−AEの認知可能性および活動状態または非活動状態の状態を含む、請求項49に記載のコンフィギュレータ。
JP2004549851A 2002-06-28 2003-06-30 Opcクライアントに対するシステムイベントのフィルタリングおよび通知 Pending JP2005531864A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39249602P 2002-06-28 2002-06-28
US10/455,482 US20040006652A1 (en) 2002-06-28 2003-06-05 System event filtering and notification for OPC clients
PCT/US2003/020795 WO2004003735A2 (en) 2002-06-28 2003-06-30 System event filtering and notification for opc clients

Publications (1)

Publication Number Publication Date
JP2005531864A true JP2005531864A (ja) 2005-10-20

Family

ID=30003259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004549851A Pending JP2005531864A (ja) 2002-06-28 2003-06-30 Opcクライアントに対するシステムイベントのフィルタリングおよび通知

Country Status (7)

Country Link
US (1) US20040006652A1 (ja)
EP (1) EP1518174A2 (ja)
JP (1) JP2005531864A (ja)
CN (1) CN1678998A (ja)
AU (1) AU2003247691A1 (ja)
CA (1) CA2490883A1 (ja)
WO (1) WO2004003735A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101109489B1 (ko) 2010-10-27 2012-02-07 현대제철 주식회사 제어시스템간 통신장치

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040045596A1 (en) * 2001-05-29 2004-03-11 Paul Lawheed Flat plate panel solar electrical generators and methods
US7284163B2 (en) * 2003-01-31 2007-10-16 American Megatrends, Inc. Event mechanism for reporting diagnostic event messages
US7313728B2 (en) 2003-02-05 2007-12-25 American Megatrends, Inc. Method and system for logging and accessing diagnostic result messages
US7404180B2 (en) * 2003-12-11 2008-07-22 Sap Ag Trace management in client-server applications
US7418507B2 (en) * 2003-12-18 2008-08-26 Microsoft Corporation Virtual resource serving of consolidated server shares
WO2005106602A1 (de) * 2004-04-27 2005-11-10 Siemens Aktiengesellschaft Anordnung und verfahren zum betreiben einer technischen anlage
US8117534B1 (en) * 2004-06-09 2012-02-14 Oracle America, Inc. Context translation
US7380171B2 (en) 2004-12-06 2008-05-27 Microsoft Corporation Controlling software failure data reporting and responses
US20060168216A1 (en) * 2004-12-09 2006-07-27 Alexander Wolf-Reber Digital management system and method for managing access rights in such a management system
US8117597B2 (en) * 2005-05-16 2012-02-14 Shia So-Ming Daniel Method and system for specifying and developing application systems with dynamic behavior
US8051156B1 (en) * 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Managing power and performance
US8046626B2 (en) * 2006-08-25 2011-10-25 Cisco Technology, Inc. System and method for maintaining resiliency of subscriptions to an event server
US8458350B2 (en) * 2006-11-03 2013-06-04 Rockwell Automation Technologies, Inc. Control and communications architecture
US8234384B2 (en) * 2006-11-13 2012-07-31 Jemmac Software Limited Computer systems and methods for process control environments
US8132181B2 (en) * 2006-11-30 2012-03-06 Dell Products L.P. Method, apparatus and media for indication management in an information model environment
US8700760B2 (en) * 2008-08-18 2014-04-15 Ge Fanuc Intelligent Platforms, Inc. Method and systems for redundant server automatic failover
EP2157733A1 (en) * 2008-08-22 2010-02-24 ABB Research LTD A method and device for data transmission between a wireless sensor network and a data collection system
JP4891388B2 (ja) * 2009-12-28 2012-03-07 株式会社エスディー システムイベントログシステム
WO2012092677A1 (en) * 2011-01-06 2012-07-12 Research In Motion Limited Delivery and management of status notifications for group messaging
CN102073549B (zh) * 2011-01-18 2013-06-19 浙江大学 一种基于资源共享的组件间通信方法
US9143440B2 (en) * 2011-04-02 2015-09-22 Open Invention Network, Llc System and method for unmarshalled routing
WO2013178270A1 (de) * 2012-05-31 2013-12-05 Siemens Aktiengesellschaft Zugriff von clients auf einen serverdienst mittels einer opc-ua
US9838470B2 (en) * 2012-07-24 2017-12-05 Siemens Aktiengesellschaft Write access to a variable in a server
US20160342453A1 (en) * 2015-05-20 2016-11-24 Wanclouds, Inc. System and methods for anomaly detection
US20190108283A1 (en) * 2017-10-09 2019-04-11 Facebook, Inc. Automatic Detection of Events on Online Social Networks
CN109885387B (zh) * 2019-01-30 2023-09-29 弗徕威智能机器人科技(上海)有限公司 一种适用于机器人的事件恢复机制
US11099827B2 (en) * 2019-10-15 2021-08-24 Dell Products L.P. Networking-device-based hyper-coverged infrastructure edge controller system
CN111025957A (zh) * 2019-10-30 2020-04-17 光大环保技术装备(常州)有限公司 一种诊断opc之间通讯中断的方法和系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145009A (en) * 1997-05-20 2000-11-07 Kabushiki Kaisha Toshiba Event controlling system for integrating different event driven systems
US6317748B1 (en) * 1998-05-08 2001-11-13 Microsoft Corporation Management information to object mapping and correlator
US6314533B1 (en) * 1998-09-21 2001-11-06 Microsoft Corporation System and method for forward custom marshaling event filters
US6367034B1 (en) * 1998-09-21 2002-04-02 Microsoft Corporation Using query language for event filtering and aggregation
US6275957B1 (en) * 1998-09-21 2001-08-14 Microsoft Corporation Using query language for provider and subscriber registrations
EP1006443A2 (en) * 1998-11-30 2000-06-07 Hitachi, Ltd. A method of and an apparatus for conventing an event of a distributed application and recording madia for storing the method
US7017116B2 (en) * 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
TW433526U (en) * 1999-04-06 2001-05-01 Hon Hai Prec Ind Co Ltd Fixing and holding apparatus for data access device
US20020026533A1 (en) * 2000-01-14 2002-02-28 Dutta Prabal K. System and method for distributed control of unrelated devices and programs
US6853920B2 (en) * 2000-03-10 2005-02-08 Smiths Detection-Pasadena, Inc. Control for an industrial process using one or more multidimensional variables
US6954800B2 (en) * 2000-04-07 2005-10-11 Broadcom Corporation Method of enhancing network transmission on a priority-enabled frame-based communications network
US7174557B2 (en) * 2000-06-07 2007-02-06 Microsoft Corporation Method and apparatus for event distribution and event handling in an enterprise
US7444395B2 (en) * 2000-06-07 2008-10-28 Microsoft Corporation Method and apparatus for event handling in an enterprise
US7418489B2 (en) * 2000-06-07 2008-08-26 Microsoft Corporation Method and apparatus for applying policies
US7412501B2 (en) * 2000-06-07 2008-08-12 Microsoft Corporation Event consumers for an event management system
US7171459B2 (en) * 2000-06-07 2007-01-30 Microsoft Corporation Method and apparatus for handling policies in an enterprise
US20020123966A1 (en) * 2000-06-23 2002-09-05 Luke Chu System and method for administration of network financial transaction terminals
US7644120B2 (en) * 2000-09-15 2010-01-05 Invensys Systems, Inc. Industrial process control data access server supporting multiple client data exchange protocols
US6728262B1 (en) * 2000-10-02 2004-04-27 Coi Software, Inc. System and method for integrating process control and network management
US6810400B2 (en) * 2000-11-17 2004-10-26 Microsoft Corporation Representing database permissions as associations in computer schema
US6690811B2 (en) * 2000-12-08 2004-02-10 The Hong Kong University Of Science And Technology Methods and apparatus for hiding data in halftone images

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101109489B1 (ko) 2010-10-27 2012-02-07 현대제철 주식회사 제어시스템간 통신장치

Also Published As

Publication number Publication date
AU2003247691A1 (en) 2004-01-19
CA2490883A1 (en) 2004-01-08
EP1518174A2 (en) 2005-03-30
US20040006652A1 (en) 2004-01-08
CN1678998A (zh) 2005-10-05
WO2004003735A2 (en) 2004-01-08
WO2004003735A3 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
JP2005531864A (ja) Opcクライアントに対するシステムイベントのフィルタリングおよび通知
US7818615B2 (en) Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US7076691B1 (en) Robust indication processing failure mode handling
JP4342441B2 (ja) Opcサーバリダイレクションマネージャ
EP1800194B1 (en) Maintaining transparency of a redundant host for control data acquisition systems in process supervision
US20060056285A1 (en) Configuring redundancy in a supervisory process control system
JP3759410B2 (ja) クラスタ化された計算処理環境において実行する分散ネットワークアプリケーションの管理用リクエストを処理するための方法および装置
US7937716B2 (en) Managing collections of appliances
US7146532B2 (en) Persistent session and data in transparently distributed objects
US20080222617A1 (en) Server side application integration framework
US20030037177A1 (en) Multiple device management method and system
US7093013B1 (en) High availability system for network elements
CN109446170B (zh) 一种配置文件数据同步方法及设备
JP2008210412A (ja) マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法
CN112003728B (zh) 一种基于Kubernetes集群的应用主备实现方法及装置
US9973569B2 (en) System, method and computing apparatus to manage process in cloud infrastructure
WO2012155648A1 (zh) 一种北向通知管理接口装置及其管理方法
JP2003529847A (ja) 有向グラフを用いた役割管理用コンポーネント管理データベースの構築
JP2002149509A (ja) ネットワーク管理システム
WO2000062158A2 (en) Method and apparatus for managing communications between multiple processes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090702