JPH0962524A - Method and system for controlling event in dispersed operating environment - Google Patents

Method and system for controlling event in dispersed operating environment

Info

Publication number
JPH0962524A
JPH0962524A JP8185102A JP18510296A JPH0962524A JP H0962524 A JPH0962524 A JP H0962524A JP 8185102 A JP8185102 A JP 8185102A JP 18510296 A JP18510296 A JP 18510296A JP H0962524 A JPH0962524 A JP H0962524A
Authority
JP
Japan
Prior art keywords
event
ems
filter
processes
events
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
JP8185102A
Other languages
Japanese (ja)
Inventor
Richard Jay Cohen
リチャード・ジェイ・コーエン
Gregory Alan Wilson
グレゴリー・アラン・ウィルソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0962524A publication Critical patent/JPH0962524A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide event managing service(EMS) which is integrated without interruption while using an existent authentication, event transmission and remote procedure call(RPC) mechanism in the distributed arithmetic environment. SOLUTION: An event channel is provided to asynchronously apply events from one or plural event providing processes to one or plural event using processes by the EMS. The event is transmitted by generating an RPC. It is preferable to authenticate the event providing process and using process when registering them on the EMS.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、一般的には演算ネ
ットワークに関し、特に分散演算環境ドメイン(domain)
においてイベントを管理するための方法に関する。
FIELD OF THE INVENTION This invention relates generally to computing networks, and more particularly to distributed computing environment domains.
On a method for managing events in.

【0002】[0002]

【従来の技術】複数のコンピュータをローカル・エリア
・ネットワーク(LAN)として相互接続することによ
り、これらのコンピュータが情報を交換しまた資源を共
有することが可能であることはよく知られている。ロー
カル・エリア・ネットワークは分散演算環境を提供し、
この環境の中でユーザは、分散している資源にアクセス
したり複数のコンピュータ上でアプリケーションを処理
したりできる。「イベント」は、この環境における所与
の管理された資源の状態の変化を標示するものである。
BACKGROUND OF THE INVENTION It is well known that by interconnecting multiple computers as a local area network (LAN), these computers can exchange information and share resources. Local Area Networks provide a distributed computing environment,
Within this environment, users can access distributed resources and process applications on multiple computers. An "event" is an indication of a change in the state of a given managed resource in this environment.

【0003】周知の分散演算環境は、DCEと称されて
おり、Open Systems Fundation(OSF) から入手可能
なソフトウェアを用いて実現される。従来のOSFによ
るDCE演算ネットワークの実施態様では、ローカル・
レベル上でのみイベント・サービスを提供する。従っ
て、ネットワーク中の特定のマシン上で発生したイベン
トは、そのマシン自体においてのみ対話処理されたり表
示されたりする。ネットワーク内の他のマシンは、ネッ
トワーク内の離れた資源においていつイベントが発生し
たかを示す通知を受信するための効率的な手段を備えて
いない。この欠点のために、システム・マネージャはネ
ットワーク内の他の資源を遠隔的に管理することが困難
となる。
A well-known distributed computing environment is called DCE and is realized using software available from the Open Systems Fundation (OSF). In a conventional OSF DCE computing network implementation, local
Provide event service only on level. Therefore, events that occur on a particular machine in the network are only interacted with and displayed on that machine itself. Other machines in the network do not provide an efficient means for receiving notifications when events have occurred on remote resources within the network. This drawback makes it difficult for system managers to remotely manage other resources in the network.

【0004】従来知られている幾つかのイベント・サー
ビス・アーキテクチャがある。1つは、DMEイベント
・サービス(DES)であり、これについては、Ferrante
による「DME Event Service Architecture, Version 2.
0」(1993/4/28)に記載がある。このサービス・アーキテ
クチャは、イベント提供プロセス(イベント・データを
発生するプロセス)及びイベント使用プロセス(提供プ
ロセスにより発生されたイベント・データを処理するプ
ロセス)の概念を用いるが、煩雑な添字付け機構を有し
ていて複雑であるため、他の既存のDCEサービスへ組
み込むことができない。別のサービス・アーキテクチャ
としては、OMGイベント・サービス・モデルがあり、
これについては、「Joint Object Services Submission
-Event Service Specification」(OMG TC 93.7.3, 1993
/7/2)に記載されている。このサービス・アーキテクチ
ャは、オブジェクトベースのイベント・サービスを提供
し、イベント・データを伝達するために2つの基本モデ
ルを規定している。1つは、プッシュ・モデルであり、
イベント提供プロセスがイベント使用プロセスへイベン
トの転送を開始することを許可する。もう1つはプル・
モデルであり、イベント使用プロセスがイベント提供プ
ロセスからイベントを要求することを許可する。理論的
に、イベント・チャネル・オブジェクトは、複数の提供
プロセスが非同期的方法で複数の使用プロセスと通信す
ることを可能とする。OMGイベント・サービス・モデ
ルの主な欠点は、現在使用可能な具体的実施形態がない
ことである。
There are several event service architectures known in the art. The first is DME Event Service (DES), which is based on Ferrante.
By DME Event Service Architecture, Version 2.
0 ”(1993/4/28). This service architecture uses the concepts of an event providing process (a process that generates event data) and an event using process (a process that processes event data generated by a providing process), but has a complicated indexing mechanism. Due to its complexity, it cannot be incorporated into other existing DCE services. Another service architecture is the OMG event service model,
For more on this, see Joint Object Services Submission.
-Event Service Specification '' (OMG TC 93.7.3, 1993
/ 7/2). This service architecture provides two object-based event services and defines two basic models for communicating event data. One is the push model,
Allow the event-providing process to start forwarding events to the event-using process. The other is pull
A model that allows an event-using process to request an event from an event-providing process. Theoretically, event channel objects allow multiple providing processes to communicate with multiple consuming processes in an asynchronous manner. The main drawback of the OMG event service model is that there are no specific implementations currently available.

【0005】従来のアーキテクチャ及びオブジェクト指
向アーキテクチャの双方において、管理される資源が非
同期的な通知すなわち「イベント」を対象とする群に対
して送信できるようなイベント管理サービスを設ける必
要性が依然として存在している。
In both conventional and object-oriented architectures, there remains a need to provide event management services that allow managed resources to send asynchronous notifications or "events" to a group of interests. ing.

【0006】[0006]

【発明が解決しようとする課題】本発明の主な目的は、
分散演算環境において複数のイベント提供プロセスが、
複数のイベント使用プロセスと非同期的方式で通信可能
とすることである。
The main object of the present invention is to:
Multiple event providing processes in a distributed computing environment
It is to be able to communicate with multiple event usage processes in an asynchronous manner.

【0007】本発明の別の目的は、イベント管理サービ
スを既存の分散演算環境へ緊密に組み込むことにより、
許可された遠隔のイベント使用プロセスに対して非同期
的方式で透過的にイベントを供給できるようにすること
である。
[0007] Another object of the present invention is to closely integrate the event management service into an existing distributed computing environment,
It is possible to transparently supply an event in an asynchronous manner to a permitted remote event using process.

【0008】本発明の更なる目的は、DCEリモート・
プロシージャ・コール(RPC)を発生することによりイ
ベント提供プロセスとイベント使用プロセスとの間でイ
ベントを伝達することである。
A further object of the present invention is the DCE remote
To deliver an event between an event providing process and an event using process by generating a procedure call (RPC).

【0009】本発明の更なる目的は、DCEセキュリテ
ィ・サービスによるサービスを用いる以前にイベント提
供プロセス及びイベント使用プロセスが認証されるよう
なDCE・RPCベースの非同期イベント管理サービス
を提供することである。
A further object of the present invention is to provide a DCE / RPC-based asynchronous event management service in which the event providing process and the event using process are authenticated before using the service provided by the DCE security service.

【0010】本発明の更なる目的は、DCEネットワー
クのイベント送信、セキュリティ、及びリモート・プロ
シージャ・コールの各サービスを用いるDCEネットワ
ークの実施形態へイベント管理サービスを組み込むこと
である。
A further object of the present invention is to integrate event management services into embodiments of DCE networks that use DCE network event transmission, security, and remote procedure call services.

【0011】本発明の更なる目的は、特定のイベントが
1又は複数のイベント使用プロセスへ伝達されたか否か
を判断するために、1又は複数の提供プロセスにより発
生されたイベントをフィルタ処理することである。
A further object of the present invention is to filter events generated by one or more providing processes to determine if a particular event was communicated to one or more event consuming processes. Is.

【0012】本発明の更なる目的は、ネットワーク中の
複数のホスト・コンピュータ上で実行中の1又は複数の
イベント管理サービスにより、イベント使用プロセスが
ロケーティング(場所指定)されかつ登録されることを可
能とすることである。イベント使用プロセスは、イベン
トを送信するホスト・コンピュータ及び送信されるイベ
ントの特定の形式を制御することができる。
It is a further object of the present invention that the event usage process is located and registered by one or more event management services running on multiple host computers in the network. It is possible. The event consuming process can control the host computer that sends the event and the particular type of event that is sent.

【0013】本発明の更なる目的は、イベントを受信す
るものとして登録されたイベント使用プロセスを、イベ
ント提供プロセスが認識しないようにイベントを管理す
ることである。好適には、対象とするイベント使用プロ
セスがイベントの通知を確実に受信するために、特定の
提供プロセスは一回だけイベントを送信すればよい。
A further object of the present invention is to manage events so that the event providing process does not recognize an event using process registered as a receiver of the event. Preferably, a particular providing process only needs to send an event once in order to ensure that the intended event consuming process receives notification of the event.

【0014】本発明の更なる目的は、最小のネットワー
ク及びシステムの負荷により、そしてネットワーク及び
マシンの故障に耐え得る方式により、使用プロセスに対
して信頼性をもってイベントを配信することである。
A further object of the present invention is to reliably deliver events to the consuming process with minimal network and system load, and in a manner that can survive network and machine failures.

【0015】[0015]

【課題を解決するための手段】分散演算環境においてイ
ベントを管理する方法の一例においては、1又は複数の
イベント提供プロセスが、1又は複数のイベント使用プ
ロセスにより使用されるイベントを発生する。この方法
は、イベント使用プロセスが1又は複数のイベント提供
プロセスから発生される選択されたイベントを受信する
ために、イベント管理サービス(EMS)に登録されるこ
とにより開始される。DCEイベント記録サービスから
のリモート・プロシージャ・コール(RPC)に応答し
て、イベント管理サービスは、フィルタ機構を用いてR
PCに関連するイベントがイベント使用プロセスにより
選択されたか否かを判断する。RPCに関連するイベン
ト・データがイベント使用プロセスにより選択されたと
EMSが判断したならば、EMSはイベント使用プロセ
スに対してイベント・データを供給するためにRPCを
出す。複数のイベント使用プロセスがEMSに登録され
るとき、ネットワークの遠隔マシン上で発生しているイ
ベントは非同期的であり、イベント使用プロセスに対し
て透過的に供給される。
In one example of a method for managing events in a distributed computing environment, one or more event providing processes generate events used by one or more event using processes. The method begins by an event consuming process registering with an event management service (EMS) to receive selected events originating from one or more event providing processes. In response to a Remote Procedure Call (RPC) from the DCE Event Recording Service, the Event Management Service uses an R
Determine whether an event associated with the PC has been selected by the event usage process. If the EMS determines that the event data associated with the RPC has been selected by the event consuming process, the EMS issues an RPC to supply the event data to the event consuming process. When multiple event-using processes are registered with EMS, the events occurring on remote machines in the network are asynchronous and are delivered transparently to the event-using processes.

【0016】好適例では、イベント管理サービスはDC
Eイベント記録サービスに対して緊密に結合されてお
り、この一体化は必ずしも必要ではないがイベント管理
サービスに直接アクセスすることができる。さらに、
(必須ではないが)提供プロセス及び使用プロセスが、
イベント管理サービスに登録されることと連携して認証
されることが好ましく、このような認証はDCEセキュ
リティ・サービスにより実行されることが有効である。
従って、好適にはイベント管理サービスは、DCEネッ
トワークにおける既存のイベント記録、セキュリティ及
びRPCの各サービスを利用して効率的な非同期イベン
ト管理を提供する。
In the preferred embodiment, the event management service is DC
It is tightly coupled to the E-event recording service and this integration is not necessary, but allows direct access to the event management service. further,
The providing and using processes (although not required)
It is preferable to be authenticated in cooperation with being registered in the event management service, and it is effective that such authentication is performed by the DCE security service.
Therefore, the event management service preferably utilizes the existing event recording, security and RPC services in the DCE network to provide efficient asynchronous event management.

【0017】本発明におけるもう1つの固有の特徴は、
新規のフィルタ機構が設けられることである。これは、
イベント提供プロセスにより発生されるイベント・デー
タを特定の使用プロセスへ渡す方法を制御するものであ
る。本発明のこの態様によれば、イベント管理サービス
に登録される各イベント使用プロセスは、1又は複数の
イベント提供プロセスにより発生される特定のイベント
がそのイベント使用プロセスへ伝達されるか否かを判断
するイベント・フィルタ・グループを規定する。イベン
ト・フィルタ・グループは1又は複数のイベント・フィ
ルタを含み、その各々が1又は複数の所定のイベント形
式スキーマ及び/又は各イベントに関連するヘッダの情
報から導出される。フィルタ機構は、イベント使用プロ
セスのイベント・フィルタ・グループを通してイベント
を構文解析する。特定のイベント使用プロセスについて
の構文解析プロトコルを満たすイベントは、RPCを介
してその使用プロセスへ伝達される。
Another unique feature of the present invention is that
A new filter mechanism is provided. this is,
It controls how the event data generated by the event providing process is passed to a particular consuming process. According to this aspect of the invention, each event consuming process registered with the event management service determines whether a particular event generated by one or more event providing processes is communicated to that event consuming process. Specify the event filter group to be executed. The event filter group includes one or more event filters, each of which is derived from information in one or more predetermined event type schemas and / or headers associated with each event. The filter mechanism parses the event through the event filter group of the event consuming process. Events that satisfy the parsing protocol for a particular event consuming process are communicated to that consuming process via RPC.

【0018】イベント・サービスにおいては、しばしば
複数のイベント使用プロセスが同じイベント・データの
対象とされるが、イベント使用プロセスはイベント管理
サービス(EMS)からの伝送と同時にイベントを使用す
ることはできない。さらにイベントを送信する際、提供
プロセスがイベントをEMSへ送ろうとしている間は、
妨げられないようにすべきである。そしてEMSは、イ
ベントを対象とする使用プロセスへ送ろうとしている間
は、妨げられないようにすべきである。これらの目的を
達成するためにEMSは、多数のしきい値ベースのサー
ビスを利用する新規のキュー機構を実施する。このよう
なサービスとしては、いずれのイベント提供プロセス又
はいずれのイベント使用プロセスもイベント・チャネル
を妨げるような動作を行わないことを確保するプロセス
制御ルーチンが含まれる。
In event services, multiple event-using processes are often subject to the same event data, but event-using processes cannot use events concurrently with transmission from the event management service (EMS). When sending further events, while the providing process is trying to send the event to the EMS,
It should be unobstructed. And the EMS should be unobstructed while trying to send the event to the intended usage process. To achieve these goals, EMS implements a new queuing mechanism that utilizes a number of threshold-based services. Such services include process control routines that ensure that no event-providing process or any event-using process takes any action that interferes with the event channel.

【0019】以上は、本発明に関連する目的の概要であ
る。これらの目的は、本発明の更に顕著な特徴及び応用
の幾つかを示したに過ぎないと理解されたい。多くの他
の有用な結果は、開示された本発明を様々な方式で適用
することにより又は後述される本発明を変更することに
より達成できる。従って、本発明の他の目的及び完全な
理解は、以下の好適な具体例の詳細な説明により得られ
るであろう。
The above is a summary of the objects related to the present invention. It is to be understood that these objectives merely indicate some of the more prominent features and applications of the present invention. Many other useful results can be achieved by applying the disclosed invention in various ways or by modifying the invention described below. Accordingly, other objects and a complete understanding of the present invention will be obtained from the detailed description of the preferred embodiments below.

【0020】[0020]

【発明の実施の形態】図1は、既知の分散演算環境(D
CE)を示しており、通信リンク又はネットワーク3を
介して接続された2又はそれ以上のノードA、B及びC
を含む。ネットワーク3は、ローカル・エリア・ネット
ワーク(LAN)又はワイド・エリア・ネットワーク(W
AN)とすることができ、後者は、既知のコンピュータ
・アーキテクチャの下で動作するシステムの他のノード
又はネットワークへの交換回線又は専用回線のテレプロ
セッシング(TP)接続により構成される。ノードA、B
又はCのいずれにおいても、処理システム10A、10
B又は10Cが存在する。これらのシステムの各々は、
シングル・ユーザ・システムであってもマルチ・ユーザ
・システムであってもよい。各処理システムは、サービ
スを要求するか又は供給するかによってクライアント又
はサーバとして動作する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a known distributed computing environment (D
CE), showing two or more nodes A, B and C connected via a communication link or network 3.
including. The network 3 is a local area network (LAN) or a wide area network (W
AN), the latter consisting of switched or leased line teleprocessing (TP) connections to other nodes or networks of the system operating under known computer architectures. Nodes A and B
Or C, the processing system 10A, 10
B or 10C is present. Each of these systems
It may be a single-user system or a multi-user system. Each processing system acts as a client or a server depending on whether it requests or provides a service.

【0021】各処理システムはコンピュータであり、本
明細書中では「マシン」と称する場合がある。例えば、
各コンピュータは、RISC System/6000(商標)(短縮命令
セット又はいわゆるRISCベース・ワークステーショ
ン)であり、AIX(商標)(Advanced Interactive Execu
tive)オペレーティング・システムにより動作する。A
IXオペレーティング・システムは、AT&TのUNI
Xオペレーティング・システム、バージョン5.2とアプ
リケーション・インタフェースのレベルで互換性があ
る。RISCベースのパーソナル・コンピュータの種々
のモデルは、IBM社の多くの刊行物に記載されてお
り、例えば「RISC System/6000,7073 and 7016 POWERst
ation and POWERserver Hardware Technical Referenc
e, Order No.SA23-2644-00」がある。AIXオペレーテ
ィング・システムは、「AIX Operating System Technic
al Reference」(IBM Coprporation刊行、第1版1985/1
1)及び他の刊行物に記載されている。UNIXオペレー
ティング・システムの設計の詳細な記述は、Maurice J.
Bachによる「Design of the Unix Operating System」
(Prentice-Hall刊行,1986)がある。別の例として、各コ
ンピュータは、OS/2(商標)オペレーティング・シス
テムの下で動作するIBM(商標)PS/2(商標)であっ
てもよい。PS/2系のコンピュータ及びOS/2オペ
レーティング・システムに関する更なる情報について
は、「Technical Reference Manual Personal Systems/
2 Model 50,60 Systems IBM Corporation」(Part No. 6
8x2224 OrderNumber S68X-2224)及び「OS/2 2.0 Techni
cal Library, Programming Guide Volumes 1-3 Version
2.00」(Order Nos. 10G6261, 10G6495 and 10G6494)を
参照されたい。
Each processing system is a computer, and may be referred to as a "machine" in this specification. For example,
Each computer is a RISC System / 6000 ™ (short instruction set or so-called RISC-based workstation), and AIX ™ (Advanced Interactive Execu
tive) operating system. A
The IX operating system is AT &T's UNI
Compatible with the X operating system, version 5.2 at the application interface level. Various models of RISC-based personal computers are described in many publications from IBM, such as "RISC System / 6000, 7073 and 7016 POWERst.
ation and POWERserver Hardware Technical Referenc
e, Order No. SA23-2644-00 ”. The AIX operating system is "AIX Operating System Technic
al Reference "(published by IBM Corporation, 1st edition 1985/1
1) and other publications. For a detailed description of the UNIX operating system design, see Maurice J.
"Design of the Unix Operating System" by Bach
(Published by Prentice-Hall, 1986). As another example, each computer may be an IBM ™ PS / 2 ™ operating under the OS / 2 ™ operating system. For more information on PS / 2-based computers and OS / 2 operating systems, see the Technical Reference Manual Personal Systems /
2 Model 50,60 Systems IBM Corporation '' (Part No. 6
8x2224 OrderNumber S68X-2224) and `` OS / 2 2.0 Techni
cal Library, Programming Guide Volumes 1-3 Version
2.00 ”(Order Nos. 10G6261, 10G6495 and 10G6494).

【0022】特定の実施例においては、本発明は、IB
M社のTCP/IP(TransmissionControl Protocol/In
ternet Protocol)アーキテクチャにより相互接続された
複数のIBM RISC System/6000マシン上で実行される。T
CP/IPはそのリンク・レベルとしてEthernetを用
い、これはXerox社により開発されたローカル・エ
リア・ネットワーク(LAN)である。ローカル・エリア
・ネットワークの簡単な説明は、Larry E. Jordan及びB
ruce Churchillによる「Communicaitons and Networkin
g for the IBM PC」(Prentice-Hall社、Robert J. Brad
y刊行1983)を参照されたい。本発明は、上述の実施状況
において記述されるが、ここに教示される内容は、Ethe
rnetLANすなわちIBM社のTCP/IP以外の他の
ネットワークにより相互接続される他の異なるコンピュ
ータを用いても実施可能であることを理解されたい。
In a particular embodiment, the present invention provides an IB
TCP / IP (Transmission Control Protocol / In)
It runs on multiple IBM RISC System / 6000 machines interconnected by the ternet Protocol) architecture. T
CP / IP uses Ethernet as its link level, which is a local area network (LAN) developed by Xerox. For a brief description of local area networks, see Larry E. Jordan and B.
`` Communica itons and Network in
g for the IBM PC '' (Prentice-Hall, Robert J. Brad
y Publication 1983). While the present invention has been described in the above context, the teachings herein are based on the
It should be understood that it could be implemented with other different computers interconnected by other networks than rnetLAN or IBM's TCP / IP.

【0023】好適には、本発明は、任意の数のマシンを
有する分散演算環境において実施され、これらのマシン
は異なる地理的場所に配置することができる。説明のた
めに、以降の詳細な説明においてはDCEドメインすな
わち「セル」を対象とする。これは比較的小さなネット
ワーク(約25個のマシンまで)であるが、本発明は任
意の分散演算環境に(従来の(SNMP及びCMIP)又
はオブジェクト指向のいずれであっても)適用可能であ
る。図2は、本発明を実施するDCEセル12を示した
図である。セル12は一組の接続されたマシンからな
り、少なくとも1つのサーバ14とDCEクライアント
16とを含み、これらは共通のセル・ネーム及びネーム
空間を共有する。各セルは、場所に依存しないネーム空
間サービスを提供しており、これはCDSすなわちセル
・ディレクトリ・サービス15と称される。ネーム付け
サービスは、アプリケーション・サーバによりそれらの
場所及びインタフェースを記憶するために用いられ、サ
ーバ・バインディングとして知られている。セルは、通
常、この分散演算環境の他のサービスを提供する1又は
複数の他のサーバ・マシンを含む。これらの他のサービ
スとしては、認証を支援するセキュリティ・サービス1
8、及びアプリケーション開発者がアプリケーション・
イベントを記録するために使用可能なDCEサービスで
あるイベント記録サービス20が含まれるが、これらに
限定されない。
Preferably, the present invention is implemented in a distributed computing environment having any number of machines, which machines may be located in different geographical locations. For purposes of explanation, the following detailed description is directed to the DCE domain or "cell". Although this is a relatively small network (up to about 25 machines), the present invention is applicable to any distributed computing environment (whether conventional (SNMP and CMIP) or object oriented). FIG. 2 is a diagram showing a DCE cell 12 embodying the present invention. The cell 12 consists of a set of connected machines and includes at least one server 14 and a DCE client 16, which share a common cell name and namespace. Each cell provides a location independent namespace service, referred to as the CDS or Cell Directory Service 15. Naming services are used by application servers to store their location and interfaces and are known as server bindings. A cell typically includes one or more other server machines that provide other services in this distributed computing environment. These other services include security services that support authentication 1.
8 and the application developer
It includes, but is not limited to, the Event Recording Service 20, which is a DCE service that can be used to record events.

【0024】既知のDCE実施態様では、イベントが幾
つかの形式を有する。「サービス」イベントは、通常、
エラー・メッセージ、警告、中断メッセージ、及び一般
資源情報等を含む。別の形式のイベントは、「監査」イ
ベントである。既知のDCEの実施態様は、これらのイ
ベントを処理するためにイベント記録サービス20内に
SVC(Serviceability:保守容易性)インタフェース及
び監査インタフェースを含む。SVCインタフェース及
び監査インタフェースは、イベントの記録ができる。
In known DCE implementations, events have several types. "Service" events are usually
Includes error messages, warnings, abort messages, general resource information, etc. Another type of event is an "audit" event. Known DCE implementations include an SVC (Serviceability) interface and an audit interface within the event recording service 20 to handle these events. The SVC interface and audit interface can record events.

【0025】後述の本発明の一態様によれば、イベント
記録サービス20内のSVCインタフェース及び監査イ
ンタフェースに対するコールは、リモート・プロシージ
ャ・コール(RPC)を介してイベント管理サービス22
に対して自動的に与えられる。これはサーバ・コール
「emsd」でもあり、いわゆる「イベント提供プロセ
ス」と「イベント使用プロセス」とによりこれらの間で
イベントの非同期管理を容易に行うことができる。EM
S22は、直接的にコールされることもできる。簡便と
するために、SVCインタフェース又は監査インタフェ
ースを通るイベント通過は、しばしば第1レベルすなわ
ち「提供プロセス側」イベント・フィルタ処理と称され
る。一般的に、イベント提供プロセスは、イベントを発
生するDCEベースのアプリケーション(DCEコア(co
re)・サーバを含む)。「イベント」とは、所与の管理さ
れる資源の状態変化を意味し、イベント提供プロセスと
EMSとの間、及びEMSと1又は複数のイベント使用
プロセスとの間で伝送されるデータとして具現化され
る。このようなイベント・データは、イベント・ヘッダ
と、イベント形式固有データを含むイベント属性のリス
トとからなる。1つの実施態様では、イベント記録サー
ビス20のSVCインタフェース又は監査インタフェー
スを用いる全てのDCEアプリケーションは、イベント
提供プロセスである。「イベント使用プロセス」とは、
EMS22(後述する)に登録された任意のDCEサー
バ・アプリケーションであり、1又は複数の「イベント
提供プロセス」からイベントを受信しかつ処理する。
According to one aspect of the invention described below, calls to the SVC and audit interfaces within the event recording service 20 are made via the remote procedure call (RPC) to the event management service 22.
Automatically given to. This is also a server call “emsd”, and so-called “event providing process” and “event using process” can easily perform asynchronous management of events between them. EM
S22 can also be called directly. For convenience, event passing through the SVC or audit interfaces is often referred to as first level or "providing process side" event filtering. Generally, an event providing process is a DCE-based application (DCE core (co
re) -including the server). "Event" means a state change of a given managed resource and is embodied as data transmitted between the event providing process and the EMS and between the EMS and one or more event using processes. To be done. Such event data consists of an event header and a list of event attributes containing event format specific data. In one embodiment, all DCE applications that use the SVC interface or audit interface of the event recording service 20 are event providing processes. "Event usage process" means
Any DCE server application registered in EMS 22 (discussed below) that receives and processes events from one or more "event providing processes".

【0026】図3は、既存のDCEシステム内での本発
明のイベント管理サービスの好適例を示すブロック図で
ある。DCEのサブシステム及び機能が示され、DCE
のSVCインタフェース30及び監査インタフェース2
8並びにリモート・プロシージャ・コール(RPC)3
1を含む。イベント管理サービス22に到達するために
イベント提供プロセスは、EMSアプリケーション・プ
ログラミング・インタフェース(API)32を用いるこ
とができる。EMS22は「イベント・チャネル」の役
割を果たし、1又は複数のイベント提供プロセス24a
〜24nを1又は複数のイベント使用プロセス26a〜
26nから分離させる。イベント・チャネルを通した通
信は、いつでもイベント使用プロセスに与えることがで
きるという点で「非同期」的である。イベント使用プロ
セスは、図示のようなローカル・プロセス又は遠隔プロ
セスである。一方ではイベント提供プロセスとEMSと
の間において、もう一方ではEMSとイベント使用プロ
セスとの間において、DCEシステムのRPC機構を用
いて通信が実行される。破線内に描かれた部分は、(図
示の目的のためにのみ)分散演算環境の単一のホスト・
コンピュータを反映しており、EMS22と複数のDC
Eイベント提供プロセス24とが存在している。イベン
ト記録サービス20は、監査トレイル(trail)34、S
VCログ・ファイル36、及びコンソール38を含み、
ここで管理機能が実行される。
FIG. 3 is a block diagram showing a preferred example of the event management service of the present invention in an existing DCE system. DCE subsystems and functions are shown,
SVC interface 30 and audit interface 2
8 and Remote Procedure Call (RPC) 3
Including 1. To reach the event management service 22, the event providing process can use the EMS application programming interface (API) 32. The EMS 22 acts as an “event channel” and one or more event providing processes 24a.
24n to one or more event using processes 26a to
26n. Communication through the event channel is "asynchronous" in that it can be given to the event consuming process at any time. The event consuming process can be a local process as shown or a remote process. Communication is performed between the event providing process and the EMS on the one hand, and between the EMS and the event using process on the other hand using the RPC mechanism of the DCE system. The portion drawn within the dashed line is for a single host in a distributed computing environment (for illustration purposes only).
Reflects the computer, EMS22 and multiple DC
There is an E event providing process 24. The event recording service 20 includes an audit trail 34, S
Including a VC log file 36 and a console 38,
The management function is executed here.

【0027】以下に更に詳細に説明するが、イベント管
理サービスは、多数のデータベースとメモリ構造を含
む。すなわち、使用プロセス・データベース40、イベ
ント・ログ・ファイル42、及びイベント形式データベ
ース44、及びイベント・フィルタ・データベース46
である。イベントの受信を開始するために、イベント使
用プロセスは先ずEMS22に登録されなければならな
い。イベント使用プロセスを登録するための代表的な技
術の1つとしては、イベント使用プロセスにイベント・
サービスに対する接続を記述するハンドルを与えた後、
イベント使用プロセスがそのハンドルを用いてEMSに
対してRPCを発生する。その後EMSは、使用プロセ
ス・データベース40内にその使用プロセスを個別に識
別するエントリを設置する。「イベント提供プロセス」
は、ハンドルを受信することによりイベント管理サービ
スに登録される。従って登録プロセスは、特定のマシン
上で実行されている特定のEMSプロセスへの接続を規
定する。必須ではないが、登録においてイベント使用プ
ロセス及びイベント提供プロセスが、DCEセキュリテ
ィ・サービス(図示せず)を用いて自身を認証するよう
にしてもよい。
As will be described in more detail below, the event management service includes a number of databases and memory structures. That is, the used process database 40, the event log file 42, the event format database 44, and the event filter database 46.
It is. In order to start receiving events, the event usage process must first be registered with the EMS 22. One of the typical techniques for registering an event use process is
After giving a handle that describes the connection to the service,
The event consuming process uses that handle to generate an RPC to the EMS. The EMS then places an entry in the usage process database 40 that uniquely identifies the usage process. "Event provision process"
Is registered with the event management service by receiving the handle. The registration process thus defines a connection to a particular EMS process running on a particular machine. Although not required, the event-using process and the event-providing process in registration may authenticate themselves using a DCE security service (not shown).

【0028】EMSに登録されたイベント使用プロセス
は、使用プロセス・データベース40内で識別される。
イベント・ログ・ファイル42は、イベント使用プロセ
スへ送られるべきイベントの集まりを記憶する。イベン
ト・ログは、(例えば、ネットワーク接続が絶たれたた
めに)EMSが全ての適宜のイベント使用プロセスに対
してイベントを送信できない場合に、イベントを記憶す
る。イベントが全ての関連する使用プロセスへ送られた
後にそのイベントがイベント・ログから削除される。
The event usage process registered in the EMS is identified in the usage process database 40.
Event log file 42 stores a collection of events to be sent to the event consuming process. The event log stores an event when the EMS cannot send the event to all appropriate event consuming processes (eg, due to a network connection being lost). The event is deleted from the event log after it has been sent to all relevant usage processes.

【0029】しかしながらイベント使用プロセスは、イ
ベント・データの受信が可能となる前に「フィルタ」を
規定することが必要である。その後、これを用いてEM
Sは、1又は複数のイベント提供プロセスからの特定の
イベントがそのイベント使用プロセスへ渡されるものか
否かを判断する。最初に、イベント使用プロセスは、イ
ベント形式データベース44中の一般的な「イベント形
式」情報を用いてそのイベント使用プロセスのための特
定の「イベント・フィルタ・グループ」を作成する。図
示のとおり、イベント形式データベース44内の情報
は、イベント提供プロセス及びおそらくはEMS管理者
によっても用いられる。イベント使用プロセスにより選
択されたすなわち特定されたフィルタ・データは、その
後イベント・フィルタ・データベース46へ記憶され
る。
However, the event consuming process requires that a "filter" be defined before event data can be received. Then use this to EM
S determines whether a specific event from one or more event providing processes is to be passed to the event using process. First, the event consuming process uses general "event type" information in the event type database 44 to create a particular "event filter group" for the event consuming process. As shown, the information in the event type database 44 is also used by the event provision process and possibly the EMS administrator. The filter data selected or identified by the event usage process is then stored in the event filter database 46.

【0030】イベント形式データベース44は、EMS
並びにイベント提供プロセス及び使用プロセスにより用
いられる情報を記憶し、「イベント形式」を発生する。
各イベント形式は、同じイベント形式フォーマットを有
するイベントのクラスである。イベント形式フォーマッ
トは、「イベント形式スキーマ」を介して記述され、固
有の汎用的識別子(UUID)により識別される。イベン
ト形式スキーマは、イベント形式の記述であり、イベン
トのデータ・フォーマットを指定する属性ネームと属性
形式の対のリストからなる。属性ネームは、所与のイベ
ント形式の属性を個別に識別するストリングである。属
性形式は、イベント属性のデータ形式であり、その属性
のデータのフォーマットを規定する。イベント使用プロ
セスは、(データベース44に記憶される)イベント形
式スキーマ・データ及び/又はイベント・ヘッダ情報を
用いることにより、「イベント・フィルタ・グループ」
を構築する。「イベント・フィルタ・グループ」は、い
ずれのイベントをその使用プロセスへ送るべきかをEM
Sに対して伝える。
The event format database 44 is EMS.
It also stores the information used by the event providing process and the using process and generates an "event format".
Each event type is a class of events that have the same event type format. The event format is described via an "event format schema" and is identified by a unique universal identifier (UUID). The event format schema is a description of the event format, and consists of a list of pairs of attribute names and attribute formats that specify the data format of the event. An attribute name is a string that uniquely identifies an attribute of a given event type. The attribute format is a data format of the event attribute and defines the format of the data of the attribute. The event usage process uses the event format schema data (stored in database 44) and / or event header information to create an “event filter group”.
To build. The "Event Filter Group" determines which events should be sent to its consuming process.
Tell S.

【0031】図4は、イベント・フィルタ・グループ
が、互いに論理和(OR)で論理的に結合された1又は複
数の「イベント・フィルタ」の集まりであることを示
す。登録されたイベント使用プロセスにつき、1つのイ
ベント・フィルタ・グループが存在する。「イベント・
フィルタ」は、1又は複数の「フィルタ表記」の集まり
であり、互いに論理積(AND)で論理的に結合されてい
る。そして各イベント・フィルタはイベント・フィルタ
・ネーム及びイベント形式を(これは一般的であるが)
有する。所望する数のイベント・フィルタ・ネームを使
用プロセスのイベント・フィルタ・グループへ追加する
ことができ、これによりEMSがいずれのイベントをそ
の使用プロセスへ送るかを制御する。イベント・フィル
タ・ネームは、使用プロセス・データベースのリストに
挙げられている。イベントの「フィルタ表記」は、属性
ネーム、属性値、及び比較オペレーションを規定する属
性オペレータからなる3要素をもつ組であることが好適
である。フィルタ表記の属性オペレータは、そのイベン
トのネーム付き属性と属性値との間の比較に対して作用
するために用いられる。フィルタ表記の属性ネームは、
イベント形式スキーマ又はイベント・ヘッダ情報の属性
ネームを意味する場合がある。従って、例えば、ヘッダ
情報がタイムスタンプ情報を含む場合、イベント・フィ
ルタ・グループは、ヘッダのタイムスタンプ情報を意味
するイベント・フィルタ表記をもつフィルタを含む場合
がある。
FIG. 4 shows that an event filter group is a collection of one or more "event filters" that are logically OR'ed together. There is one event filter group for each registered event usage process. "Event
A "filter" is a collection of one or a plurality of "filter notations", and is logically connected to each other by a logical product (AND). And each event filter has an event filter name and event type (which is common)
Have. Any desired number of event filter names can be added to the consuming process's event filter group, which controls which events the EMS sends to that consuming process. The event filter name is listed in the using process database. The "filter notation" of an event is preferably a set with three elements: an attribute name, an attribute value, and an attribute operator that defines the comparison operation. The filter notation attribute operator is used to act on the comparison between the named attribute and the attribute value of the event. The attribute name in the filter notation is
It may mean the attribute name of the event format schema or event header information. Thus, for example, if the header information includes time stamp information, the event filter group may include filters with event filter notation meaning time stamp information in the header.

【0032】再び図3において、EMSへ到達するため
には、イベント記録サービスを介してイベントがEMS
へ渡されるか、又は、EMSが直接呼び出される。イベ
ントがRPCを介してEMSに至ったならば、イベント
・ログ42に記憶される。その後EMS22は、構文解
析オペレーションを実行することによりそのイベントを
いずれかのイベント使用プロセスに渡すか否かを決定す
る。イベント・フィルタ・データベース46に記憶され
た情報は、第2段階すなわち「使用プロセス側」のEM
Sフィルタ45であり、EMS22はこれを用いてこの
評価を行う。第2段階のフィルタ処理は、図5にも示さ
れている。フィルタ処理の後、対象とする使用プロセス
へのイベントの流れを制御するキュー機構47が用いら
れる(後述する)。対象とする使用プロセスの全てへイ
ベントを送信した後、イベントは、イベント・ログ42
(及びキュー)から削除される。
Referring again to FIG. 3, in order to reach the EMS, an event is sent via the event recording service to the EMS.
Is passed to or EMS is called directly. When an event reaches the EMS via RPC, it is stored in the event log 42. The EMS 22 then determines whether to pass the event to any event consuming process by performing a parsing operation. The information stored in the event filter database 46 is the second stage or "using process" EM.
The S filter 45 is used by the EMS 22 to perform this evaluation. The second stage filtering is also shown in FIG. After the filter processing, a queue mechanism 47 that controls the flow of events to the target usage process is used (described later). After sending the event to all the target usage processes, the event is recorded in the event log 42.
(And queue).

【0033】フィルタ処理ルーチンは、イベントがEM
Sへ到達する毎に開始される。図5のステップ52にお
いてEMSは、イベント形式データベースから特定のイ
ベントについてのイベント形式スキーマを検索する。ス
テップ54においてEMS22は、使用プロセスデータ
・ベース40内の登録されたイベント使用プロセスのリ
ストを一覧する。各登録された使用プロセスについて、
次の処理が発生する。ステップ55において、先ず、登
録された使用プロセスのイベント・フィルタ・グループ
が使用プロセス・データベースから検索される。前述の
ように、各イベント・フィルタ・グループは、1又は複
数のフィルタの集まりを意味し、その各々が1又は複数
のフィルタ表記のリストを含む。その後、構文解析プロ
トコルが開始される。特に、ステップ56において、イ
ベント・フィルタ・グループ内の全てのフィルタが評価
されたか否かを判断する。もし全てが評価されていなけ
れば、ステップ58へ進み、イベント・フィルタ・グル
ープ内の次のフィルタを評価する。各フィルタ内で各フ
ィルタ表記を調べる。その後、ステップ60で、特定の
フィルタ内の全てのフィルタ表記が予め設定された状態
すなわち「真(TRUE)」であるか否かを判断するための検
査が行われる。全てのフィルタ表記が真である場合は、
登録されたイベント使用プロセスへイベントを配信する
ためにRPC機構へそのイベントを渡す。ステップ60
における検査の結果、そのフィルタ内のフィルタ表記の
いずれかが「偽(FALSE)」である場合は、ステップ56
へ戻り、イベント・フィルタ・グループ内の次のフィル
タ(次のイベント・フィルタ・ネームにより識別され
る)を得る。ステップ56における検査の結果、この使
用プロセスのイベント・フィルタ・グループの全てのフ
ィルタが評価されたと示されたならば、このルーチンを
終了し、EMSは次の使用プロセスへと進む。このよう
にして、構文解析プロトコルに従って、イベント・フィ
ルタ・グループの特定のフィルタの全てのフィルタ表記
が真でない限り、EMSはイベントをイベント使用プロ
セスへ送らない。
In the filter processing routine, the event is EM.
It is started every time S is reached. At step 52 of FIG. 5, the EMS retrieves the event format schema for the particular event from the event format database. In step 54, the EMS 22 lists the registered event usage processes in the usage process database 40. For each registered usage process,
The following processing occurs. In step 55, first, the event filter group of the registered usage process is retrieved from the usage process database. As mentioned above, each event filter group means a collection of one or more filters, each containing a list of one or more filter notations. After that, the parsing protocol is started. In particular, in step 56 it is determined whether all the filters in the event filter group have been evaluated. If not, go to step 58 to evaluate the next filter in the event filter group. Examine each filter notation within each filter. Then, in step 60, a test is performed to determine if all filter expressions within a particular filter are in a preset state or "TRUE". If all filter expressions are true, then
Passes the event to the RPC mechanism for delivery to the registered event consuming process. Step 60
If any of the filter expressions in the filter is “FALSE” as a result of the inspection in step 56, step 56
Return to get the next filter in the event filter group (identified by the next event filter name). If the check at step 56 indicates that all filters in the event filter group for this consuming process have been evaluated, then this routine is exited and the EMS proceeds to the next consuming process. In this way, according to the parsing protocol, the EMS will not send an event to the event consuming process unless all filter expressions of a particular filter in the event filter group are true.

【0034】更に図3を参照すると、イベント使用プロ
セスが新たなイベント・フィルタを規定してそれをイベ
ント・フィルタ・グループへ追加するために、使用プロ
セスAPIを用いる場合がある。使用プロセスはさら
に、既存のイベント・フィルタ・ネームのリストを取得
してそれらの1つをイベント・フィルタ・グループへ追
加する場合もある。使用プロセスは、イベント・フィル
タ・ネーム(及びこれらのフィルタ)を、(使用プロセ
スAPIを通して)イベント・フィルタ・グループに追
加したりここから削除したりできる。また、図示の管理
APIを通してEMS管理機構も同様に行うことができ
る。このように、イベント使用プロセスは、新たなフィ
ルタを追加したり又は削除したりしてイベント・フィル
タ・グループを修正することが可能である。
Still referring to FIG. 3, the consuming process API may use the consuming process API to define a new event filter and add it to the event filter group. The consuming process may also take a list of existing event filter names and add one of them to the event filter group. The consuming process can add event filter names (and their filters) to and from the event filter group (through the consuming process API). Further, the EMS management mechanism can be similarly operated through the management API shown in the figure. In this way, the event consuming process can modify the event filter group by adding or deleting new filters.

【0035】イベント形式データベースに記憶されたイ
ベント形式スキーマは、本発明による幾つかの異なる方
法で用いられることが好適である。使用プロセスは、サ
ポートされるイベント形式のリストを要求し、そしてイ
ベント・フィルタを作成するためにイベント形式スキー
マを用いていずれのイベント形式を受信することを所望
するか選択することができる。イベント使用プロセスは
さらに、属性ネームに従ってイベントをマップすること
ができる。イベント提供プロセスは、イベント形式スキ
ーマを用いることにより、発生しようとする新たなイベ
ント形式を規定する。EMSは、イベント形式スキーマ
を用いて、イベント・フィルタをイベントに対して適用
する。
The event format schema stored in the event format database is preferably used in several different ways according to the invention. The consuming process may request a list of supported event types and select which event types it wishes to receive using the event type schema to create an event filter. The event consuming process can further map events according to attribute names. The event providing process defines a new event format to be generated by using the event format schema. EMS uses the event format schema to apply event filters to events.

【0036】多くの場合、同じイベントにおいて複数の
イベント使用プロセスが対象とされるにも拘わらず、こ
れらのイベント使用プロセスは、EMSからイベントを
伝送された時点ですぐにそのイベントを使用できない場
合がある。加えて、イベントを送るとき、提供プロセス
がEMSへイベントを送ろうとしている間は妨げられる
べきではなく、またEMSが対象とする使用プロセスへ
イベントを送ろうとしている間は妨げられるべきではな
い。これらの目的を達成するために、EMSは、キュー
機構47を実行する。キュー機構47は、データ構造を
規定するキュー及び一組のキュー操作ルーチンを有す
る。これらのルーチンは、好適には別の既存のDCEサ
ービスであるDCEスレッドを用いることにより、DC
Eイベント管理サービスがイベント・キュー管理を行う
ことを可能とする。既知の技術であるが、スレッド化に
よって複数のルーチンを概念的に同時に実行しかつ資源
を共有することが可能となる。DCEスレッド・サービ
スは、マルチスレッド化プログラムを作成するために用
いることができる一組のルーチンである。マルチスレッ
ド化は、プログラムの断片を同時に動作可能とすること
によりプログラムの性能を向上させるために用いられ
る。DCEスレッドは、「Draft 4 Of The POSIX1003.4
Standard」に規定されたPTHREADSインタフェースに基
づくユーザレベル(非カーネル)のスレッド・パッケー
ジである。
In many cases, even though multiple event-using processes are targeted for the same event, these event-using processes may not be able to use the event immediately when the event is transmitted from the EMS. is there. In addition, when sending an event, the providing process should not be disturbed while trying to send an event to the EMS, and should not be blocked while trying to send an event to the consuming process that the EMS is intended for. To achieve these goals, the EMS implements a queue mechanism 47. The queue mechanism 47 has a queue that defines a data structure and a set of queue operation routines. These routines preferably use another existing DCE service, the DCE thread, to
E Enables event management services to manage event queues. As is known in the art, threading allows multiple routines to execute conceptually simultaneously and share resources. DCE Thread Services is a set of routines that can be used to create multithreaded programs. Multithreading is used to improve the performance of a program by allowing pieces of the program to operate simultaneously. The DCE thread is "Draft 4 Of The POSIX1003.4
It is a user-level (non-kernel) thread package based on the PTHREADS interface defined in "Standard".

【0037】このイベント・キュー機構は、現在では一
般的に記述されている。本発明によれば、図6におい
て、イベント使用プロセスがEMS22に登録されてい
る限り、その使用プロセスについての使用プロセス・キ
ュー70aがEMS内に設定される。図6に示すよう
に、使用プロセスもまた、対応するイベント・キュー7
2aを有する。イベント・サービスは、入力キュー74
及び活動キュー76の2つのキューを保持する。本発明
によれば、各キューは多数のキュー要素を有し、各キュ
ー要素は2つのデータ形式のうちいずれかを有すること
ができる。1つはイベントに対するポインタであり、も
う1つは別のキュー要素に対するポインタである。EM
Sの活動キュー76は、対象とする使用プロセス(すな
わち、現在のイベントを受信するべく登録されている使
用プロセス)の全てには送られていないイベントを指示
する要素を有し、各キュー要素は1つのイベントに対応
する。さらに活動キューの中の各キュー要素は、まだイ
ベントを受信していない関連する使用プロセスの数を示
すmutex保護計数を有する。EMSの使用プロセス・キ
ュー70は、活動キュー76内の要素に対するポインタ
を含む要素を有する。キュー機構の適切なルーチンが、
キューを作成しかつ初期化し、キューを壊し、キューに
対して要素をエンキュー(すなわち「プッシュ」)し、キ
ューから要素をデキュー(すなわち「ポップ」)し、キ
ューから要素を削除し、そしてキューを(回復した後)
活動化させる。
This event queue mechanism is now generally described. According to the present invention, in FIG. 6, as long as the event using process is registered in the EMS 22, the using process queue 70a for the using process is set in the EMS. As shown in FIG. 6, the consuming process also has a corresponding event queue 7
2a. The event service is the input queue 74
And an activity queue 76. According to the present invention, each queue has a number of queue elements, and each queue element can have either of two data formats. One is a pointer to the event and the other is a pointer to another queue element. EM
The activity queue 76 of S has elements that indicate events that have not been sent to all of the intended use processes (ie, the use processes registered to receive the current event), each queue element being Corresponds to one event. In addition, each queue element in the active queue has a mutex protection count that indicates the number of associated consuming processes that have not yet received the event. The EMS use process queue 70 has elements that contain pointers to the elements in the activity queue 76. The appropriate queue mechanism routines
Create and initialize a queue, destroy the queue, enqueue (or "push") elements to the queue, dequeue (or "pop") elements from the queue, remove elements from the queue, and delete the queue (After recovery)
Activate.

【0038】図7は、キュー管理ルーチンを詳細に示し
た図である。ステップ80において、各登録されたイベ
ント使用プロセスについて使用プロセス・キュー70を
セットアップすることによりルーチンを開始する。イベ
ントをEMS22へ送るとき、そのイベントが速やかに
入力キュー74に置かれ、そしてRPCルーチンは戻
る。これは図7のステップ82である。(入力キュー・
プロセス要素と称される)キュー機構のルーチンは、別
個のDCEスレッドにおいて実行中であるが、その後ス
テップ84において信号発生する。これは、入力キュー
74が空でないことを示す。ステップ86において、各
要素が入力キュー74からデキューされる。いずれかの
使用プロセスが、その要素の指示するイベントの対象と
なっている場合は、ステップ88においてその要素に対
するポインタが(EMS内の)その使用プロセスの使用
プロセス・キュー70上にエンキューされ、その要素に
関連する計数が増分される(別のイベント使用プロセス
がそのイベントを受信するべく登録されていることを示
す)。(対象とする使用プロセスの使用プロセス・キュ
ー70がポインタを受信して更新された後)ステップ9
0において、そのイベントについてのキュー要素が活動
キュー上にエンキューされ、そして全ての使用プロセス
がそのイベントを受信するまで待つ。この時点で、計数
は、EMSがイベントを通知しなければならない関連す
るイベント使用プロセス(すなわち、通知を求めている
使用プロセス)の数を表す。
FIG. 7 is a diagram showing in detail the queue management routine. In step 80, the routine begins by setting up the consuming process queue 70 for each registered event consuming process. When sending an event to EMS 22, the event is immediately placed in input queue 74 and the RPC routine returns. This is step 82 in FIG. (Input queue
The queue mechanism routines (referred to as process elements) are running in a separate DCE thread, but then signaled at step 84. This indicates that the input queue 74 is not empty. At step 86, each element is dequeued from the input queue 74. If any consuming process is the subject of the element's directed event, then at step 88 a pointer to the element is enqueued on the consuming process's consuming process queue 70 (in EMS), and The count associated with the element is incremented (indicating that another event consuming process is registered to receive the event). Step 9 (after the used process queue 70 of the target used process is updated by receiving the pointer)
At 0, the queue element for the event is enqueued on the active queue and waits until all consuming processes have received the event. At this point, the count represents the number of associated event consuming processes (ie, consuming processes seeking notification) that the EMS must notify of the event.

【0039】要素が、(EMSの)使用プロセス・キュ
ー70の1つにエンキューされたとき、ステップ92に
おいて使用プロセス・キュー要素ルーチンを実行中のス
レッドは、信号を受け取る。そしてステップ94におい
てこのルーチンは、使用プロセス・キューから要素をデ
キューしてそれを関連する使用プロセス・キューへ送
る。キュー要素が送られたならば、ステップ96におい
て(活動キュー内の)その要素に関連する計数が減分さ
れる。計数が0に達したならば、全ての対象とする使用
プロセスが通知されたことになり、ステップ98におい
てキュー要素が活動キューから削除される。
When an element is enqueued in one of the EMS's use process queue 70, the thread executing the use process queue element routine in step 92 receives a signal. Then, in step 94, the routine dequeues the element from the consuming process queue and sends it to the associated consuming process queue. Once the queue element has been sent, the count associated with that element (in the active queue) is decremented in step 96. If the count reaches zero, then all target usage processes have been posted and the queue element is removed from the active queue at step 98.

【0040】ステップ92、94、及び96の各々は、
別個のスレッドで実行され、これらのステップの複数の
インスタンスは使用プロセス・キューに関して(少なく
とも概念的に)同時に発生する。全てのスレッドが特定
のイベントの送信を正常に行ったとき、そのイベントが
活動キュー(及びイベント・ログ42)から削除され
る。
Each of steps 92, 94, and 96 comprises:
Executed in separate threads, multiple instances of these steps occur simultaneously (at least conceptually) with respect to the consuming process queue. When all threads have successfully sent a particular event, that event is removed from the active queue (and event log 42).

【0041】前述のように、各使用プロセスもまた、図
6に示すようにイベント・キュー72を有する。イベン
トが使用プロセスへ送られるとき、そのイベントはこの
キューへ入れられ、そして信号がプロセス要素ルーチン
へ送られる。今度はこのルーチンがイベント・キュー7
2から要素をデキューし、イベントを検索するためにイ
ベント・ハンドラを呼び出す。
As mentioned above, each consuming process also has an event queue 72, as shown in FIG. When an event is sent to the consuming process, the event is put into this queue and a signal is sent to the process element routine. This routine is now Event Queue 7
Dequeue the element from 2 and call the event handler to retrieve the event.

【0042】次に、OSF DCEにおいて実施される
イベント管理サービス(EMS)の更に詳細な仕様を提
示する。前述のように、DCE EMSは、DCEセル
におけるイベント・サービスを管理する。好適にはEM
Sは、イベント・サービスへアクセスするためのems
dサーバ及びAPIの2つの主要な部分からなる。em
sdは、セル内のいずれのDCEホスト上にも存在可能
なDCEサーバであり、使用プロセスはここからイベン
トを要求する。emsdが分散形態で実行されることも
想定されている。EMSの提供プロセス、使用プロセ
ス、及びイベント・サービス管理機構をサポートするた
めに、emsdにより3つのインタフェースが移出され
ている。EMSのAPIは、EMSクライアントにより
用いられる同じ3つのインタフェースに対するインタフ
ェースを設けている。
Next, a more detailed specification of the event management service (EMS) implemented in the OSF DCE will be presented. As mentioned above, DCE EMS manages event services in DCE cells. Preferably EM
S is an ems to access the event service
It consists of two main parts: d-server and API. em
sd is a DCE server that can exist on any DCE host in the cell, from which the using process requests events. It is also envisioned that emsd is implemented in a distributed fashion. Three interfaces have been exported by emsd to support the EMS provisioning process, consuming process, and event service management mechanism. The EMS API provides interfaces to the same three interfaces used by EMS clients.

【0043】以下、EMSの動作態様、イベント形式の
定義方法の記述、EMSを介したイベントの流れ、イベ
ント・フィルタの動作態様、イベントのログ方法、並び
にイベント・データ及びイベント・フィルタ規定の双方
を保護するために用いられるセキュリティ・モデルにつ
いて詳細に説明する。
Hereinafter, the operation mode of EMS, the description of the definition method of the event format, the flow of the event via EMS, the operation mode of the event filter, the event logging method, and both the event data and the event filter definition will be described. The security model used to protect is described in detail.

【0044】<イベントの流れの説明>前述のように、
EMSは、提供プロセスと使用プロセスとの間の通信を
分離するためにイベント・チャネルをセットアップす
る。イベントの受信を開始するために、先ず、イベント
使用プロセスをEMSに登録することが好適である。そ
の後、いずれのイベントをその使用プロセスへ送るべき
かをEMSに対して伝えるためにイベント・フィルタ・
グループをセットアップする。提供プロセスがEMSに
対してイベントを送信可能となる前に、通常そのイベン
トは、第1段階のイベント・フィルタを通過させられ
る。この具体例においては、第1段階のフィルタ処理
は、SVC機構及び監査機構を用いることにより提供プ
ロセスのレベルで実現される。イベントは、第1段階の
フィルタを通されると、EMSへ送られる。EMSは、
イベントを即座に配信できない場合にそのイベントを保
存するために、そのイベントをEMSのイベント・ログ
へ書込む。
<Explanation of Event Flow> As described above,
The EMS sets up an event channel to separate the communication between the providing process and the consuming process. To start receiving events, it is preferred to first register the event usage process with the EMS. Then an event filter, to tell EMS which events should be sent to its consuming process.
Set up a group. Before the providing process can send an event to the EMS, the event is usually passed through a first stage event filter. In this example, the first stage filtering is implemented at the level of the providing process by using the SVC mechanism and the audit mechanism. Once the event has passed the first stage filter, it is sent to the EMS. EMS is
If the event cannot be delivered immediately, write it to the EMS event log to save the event.

【0045】イベントがEMSに到達すると、対象とす
る使用プロセスへ送られる前に第2段階のフィルタを通
過させられる。好適にはEMSが、登録された使用プロ
セスのリストを一覧した後、イベント形式データベース
からイベント形式スキーマを、使用プロセスデータ・ベ
ースから使用プロセスのイベント・フィルタ・グループ
を、そしてイベント・フィルタ・データベースからイベ
ント・フィルタを用いることにより、このイベントを各
イベント使用プロセスへ送るために通過させるべきか否
かを決定する。全ての適切な使用プロセスがイベントを
受信した後、イベントがイベント・ログから除かれる。
When an event reaches the EMS, it is passed through a second stage filter before being sent to the intended usage process. Preferably, the EMS, after listing the list of registered usage processes, retrieves the event format schema from the event format database, the event filter group of the usage process from the usage process database, and the event filter database. An event filter is used to determine whether this event should be passed to be sent to each event consuming process. The event is removed from the event log after all appropriate consuming processes have received the event.

【0046】<イベント形式定義>EMSイベント形式
のフォーマットは、好適には、イベント形式スキーマに
より定義され、EMSイベント形式データベースに保持
される。イベント形式スキーマは、通常、属性ネームの
リスト及びその属性に関連するデータのデータ・フォー
マットを指定する属性形式からなる。各イベントは、一
定のヘッダ部分と可変長データ部分とに関連付けられ
る。可変長データ部分は、好適には、N個の自己定義デ
ータ項目からなり、これは属性形式すなわちデータその
ものである。可変長部分のデータ要素は順に対応し、す
なわちイベント形式スキーマに定義された属性ネームと
属性形式の対のリストにより1対1に対応する。可変長
部分は、ネーム付きのデータ項目の後ろに更にネームな
しのデータ項目(すなわち、属性ネームをもつデータ項
目)を有することができる。
<Event Format Definition> The EMS event format format is preferably defined by the event format schema and is held in the EMS event format database. An event format schema typically consists of a list of attribute names and an attribute format that specifies the data format of the data associated with that attribute. Each event is associated with a fixed header portion and a variable length data portion. The variable length data portion preferably consists of N self-defining data items, which is the attribute format or data itself. The data elements of the variable length part correspond in order, that is, they correspond one-to-one with the list of pairs of attribute names and attribute formats defined in the event format schema. The variable length portion can have further unnamed data items (ie, data items with attribute names) after named data items.

【0047】・汎用イベント形式 EMSは、汎用(Generic)形式をもつイベントをサポー
トする。汎用イベントはイベント形式スキーマをもたな
い。汎用イベントのためのフィルタを規定する唯一の方
法は、イベント・ヘッダ属性と共にフィルタ表記を用い
ることである。
General-purpose event format EMS supports events having a general-purpose (Generic) format. Generic events do not have an event format schema. The only way to specify filters for generic events is to use filter notation with event header attributes.

【0048】・デフォールト・イベント形式 SVC及び監査のイベント形式スキーマに含まれるイベ
ント属性リストの定義は次の通りである。
Default event format The definition of the event attribute list included in the event format schema of SVC and audit is as follows.

【0049】[0049]

【数1】 [Equation 1]

【0050】重大度(atttribute.severity)属性に対し
て適合させるために用いる数個の定数もまた定義されて
いる。次の通りである。 ・SVC_C_SEV_FATAL ・SVC_C_SEV_ERROR ・SVC_C_SEV_WARNING ・SVC_C_SEV_NOTICE ・SVC_C_SEV_NOTICE_VERBOSE
Several constants used to match against the severity (atttribute.severity) attribute are also defined. It is as follows.・ SVC_C_SEV_FATAL ・ SVC_C_SEV_ERROR ・ SVC_C_SEV_WARNING ・ SVC_C_SEV_NOTICE ・ SVC_C_SEV_NOTICE_VERBOSE

【0051】[0051]

【数2】 [Equation 2]

【0052】<イベント・フィルタ>EMSは、2段階
のフィルタ処理の概念をサポートする。第1段階のフィ
ルタ処理は、提供プロセスを実行しているマシンに対し
て適用されるもので、イベントがEMSへ送られる前に
通されるフィルタである。第2段階のフィルタ処理は、
提供プロセスから受信したイベントに対してEMSが適
用するものである。この第2段階は、いずれのイベント
を使用プロセスに送るかを制御する。
<Event Filter> EMS supports the concept of two-stage filtering. The first stage filtering is applied to the machine executing the providing process and is a filter that is passed before the event is sent to the EMS. The second stage filtering is
EMS is applied to the event received from the providing process. This second stage controls which events are sent to the consuming process.

【0053】以下では、EMSのサポートする2段階の
フィルタ処理を説明すると共に、イベント・フィルタを
規定しかつ構成する方法を説明する。
The following describes the two-stage filtering process supported by EMS, as well as how to define and configure an event filter.

【0054】・第1段階及び第2段階のフィルタ処理 一具体例では、SVCイベント形式及び監査イベント形
式がサポートされる。SVCイベントについての第1段
階のフィルタは、SVC経路指定の送信先である。EM
Sへ経路指定されるSVCメッセージは、EMSイベン
ト・チャネルを通して送られる。監査については、監査
フィルタ機構を通過する監査記録がEMSイベント・チ
ャネルを通して送られる。
Stage One and Stage Two Filtering In one implementation, SVC event formats and audit event formats are supported. The first stage filter for SVC events is the SVC routing destination. EM
SVC messages routed to S are sent through the EMS event channel. For auditing, audit records passing through the audit filter mechanism are sent through the EMS event channel.

【0055】第2段階のフィルタは、EMS使用プロセ
ス毎に規定される。この段階は、イベント・フィルタ・
グループと各イベント使用プロセスとを関連付け、そし
てそのイベント使用プロセスのみが、そのイベント使用
プロセスのイベント・フィルタ・グループのエントリの
1つを通過したイベントを受け取る。
The second stage filter is defined for each EMS usage process. This stage is
Associating a group with each event consuming process, and only that event consuming process receives an event that has passed one of the event filter group's entries for that event consuming process.

【0056】・イベント・フィルタの規定 イベント使用プロセスがEMSとのインタフェースを開
始する通常の状況は、イベント使用プロセスが、いずれ
のイベント形式がサポートされているかについてEMS
に最初に問合わせるときである。そのイベント形式のリ
ストから、イベント使用プロセスはイベント形式スキー
マを問合わせることによりそのイベント形式についての
イベント・フィルタを作成する。イベント形式スキーマ
は、好適には属性ネームのリスト及び属性形式を含み、
これを用いてイベント使用プロセスはイベント・フィル
タを作成する。その後、使用プロセスは、入力されるイ
ベントに対して作成されたイベント・フィルタを適用す
ることをEMSに知らせる。
Defining Event Filters The normal situation where an event consuming process initiates an interface with an EMS is that the event consuming process determines which event format is supported by the EMS.
It is the first time to ask. From the list of event types, the event consuming process creates an event filter for that event type by querying the event type schema. The event format schema preferably includes a list of attribute names and attribute formats,
Using this, the event consuming process creates an event filter. The usage process then informs the EMS to apply the created event filter to the incoming event.

【0057】EMSフィルタは、幾つかの異なるレベル
で作成することができる。最も下位のレベルはフィルタ
表記であり、通常、属性ネームと、属性オペレータと、
比較オペレーションを規定する属性値とからなる3要素
の組である。全ての比較オペレーションは、ブール値で
ある。所与の属性オペレータのみが、所与の属性形式を
許容される。
EMS filters can be created at several different levels. The lowest level is filter notation, usually attribute name, attribute operator,
It is a set of three elements consisting of attribute values that define comparison operations. All comparison operations are boolean. Only a given attribute operator is allowed a given attribute type.

【0058】フィルタ表記の幾つかの例を次に示す。Some examples of filter notation are shown below.

【数3】 (Equation 3)

【0059】第1の例は、SVCイベント形式の属性ネ
ーム「ファイル(file)」がストリング「file.c」と同じ
である場合に、真(TRUE)と評価される。第2の例は、監
査イベント形式の属性ネーム「outcome」が属性値「aud
_c_esl_cond_denial」と同じである場合に、フィルタ表
記「xmp_Audit」が真と評価される。これは監査イベン
トが、何らかのアクションのためにアクセスが拒否され
たことを記録していることを意味する。
The first example evaluates to TRUE if the SVC event format attribute name "file" is the same as the string "file.c". In the second example, the attribute name "outcome" in the audit event format has the attribute value "aud.
The filter notation "xmp_Audit" evaluates to true if it is the same as "_c_esl_cond_denial". This means that the audit event records that access has been denied due to some action.

【0060】イベント・フィルタは、通常、互いに加え
られたフィルタ表記のリストから構成される。イベント
・フィルタは、ネーム及びイベント形式の双方を有す
る。イベント・フィルタ・ネームは、イベント・フィル
タの作成、削除及び更新の各オペレーションの際にイベ
ント・フィルタを指称するために用いられる。イベント
・フィルタ・ネームは、イベント・フィルタ・グループ
に対してイベント・フィルタを追加するために使用プロ
セス及びEMS管理機構によっても用いられる。
Event filters usually consist of a list of filter notations added together. Event filters have both a name and an event type. The event filter name is used to refer to the event filter during the create, delete, and update operations of the event filter. The event filter name is also used by the using process and the EMS management mechanism to add the event filter to the event filter group.

【0061】使用プロセスのイベント・フィルタ・グル
ープは、好適には、1又は複数のイベント・フィルタ・
ネームの集まりである。イベントがイベント使用プロセ
スのイベント・フィルタ・グループを通過する際に、そ
のイベント・フィルタ・グループに指定された各イベン
ト・フィルタ・ネームに関連するイベント・フィルタが
そのイベントに対して適用される。ネーム付きのイベン
ト・フィルタ内の全てのイベント・フィルタ表記が真と
評価された場合、EMSはそのイベントをその使用プロ
セスへ送る。イベント・フィルタ表記のいずれかが偽と
評価された場合、そのイベント・フィルタ・グループ内
の次のイベント・フィルタ・ネームで指定されるイベン
ト・フィルタがそのイベントに対して適用される。その
イベント・フィルタ・グループ内のいずれのイベント・
フィルタも真と評価されなかった場合、そのイベントは
その使用プロセスへは送られない。
The event filter group of the consuming process is preferably one or more event filter groups.
It is a collection of names. As an event passes through the event filter group of the event consuming process, the event filter associated with each event filter name specified in that event filter group is applied to that event. If all event filter expressions in the named event filter evaluate to true, the EMS sends the event to its consuming process. If any of the event filter expressions evaluates to false, then the event filter specified by the next event filter name in that event filter group is applied to that event. Any event in that event filter group
If the filter also does not evaluate to true, the event is not sent to the consuming process.

【0062】・ヘッダ情報すなわちイベント形式に対す
るフィルタ処理 予め設定された一組のイベント・ヘッダの属性ネーム/
属性形式の対は、イベント・ヘッダ内の情報に対するフ
ィルタ処理を可能とするべく規定されている。イベント
・ヘッダ属性をもつフィルタ表記は、イベント形式固有
のヘッダ属性をもつフィルタ部分となり得る。しかしな
がら、汎用形式をもつフィルタは、ヘッダ属性をもつフ
ィルタ表記しか有することができない。
Filtering of header information, that is, event format: Attribute name of a set of event headers set in advance /
Attribute format pairs are defined to allow filtering on the information in the event header. A filter notation with event header attributes can be a filter part with event format specific header attributes. However, a filter with a generic format can only have a filter notation with a header attribute.

【0063】<EMSイベント・ログ>EMSイベント
・ログは、EMS故障の場合にイベントを記憶するため
に用いられる。EMSは、全てのイベントをイベント・
ログへ書込み、そしてイベントがそのイベント取得する
べくサポートされた全ての使用プロセスへ伝送されたな
らばそのイベント記録を削除する。
<EMS Event Log> The EMS event log is used to store events in case of EMS failure. EMS will event all events
Write to the log, and delete the event record once the event has been transmitted to all consuming processes supported to retrieve it.

【0064】イベント・ログは、emsdが実行されて
いるマシン上のファイルに保持される。イベントは、環
境変数EMS_EVENTLOG_DIRにより指定されるディレクトリ
に記憶される。ローカル・イベント・ログを検査するた
めに、APIが設けられる。
The event log is kept in a file on the machine on which emsd is running. Events are stored in the directory specified by the environment variable EMS_EVENTLOG_DIR. An API is provided to inspect the local event log.

【0065】<EMSセキュリティ・モデル>EMS
は、EMSデータベース内のデータの安全な操作を確保
している。これには、イベント・フィルタ・データベー
ス、イベント形式データベースと共に使用プロセス・デ
ータベース内の使用プロセスのリストが含まれる。EM
Sはさらに、提供プロセス及び使用プロセスの認証及び
許可と共にイベント・データの安全な伝送を確保してい
る。全てのアクセス制御リスト(ACL)が、DCEネー
ム空間内のネームに関連付けられ、そしてemsdサー
バは、次のジャンクションに続くネーム空間を管理す
る。 /.:/hosts/<hosutname>/ems-server/ このオブジェクトに関連するACLは、このネーム空間
内に登録されたemsdサーバへのアクセスを制御す
る。「ems-server(EMSサーバ)」に関連する許可は次
の通りである。
<EMS Security Model> EMS
Secures the safe manipulation of the data in the EMS database. This includes a list of consuming processes in the consuming process database along with an event filter database, an event type database. EM
S further ensures the secure transmission of event data along with authentication and authorization of the providing and using processes. Every access control list (ACL) is associated with a name in the DCE namespace, and the emsd server manages the namespace following the next junction. /.:/hosts/<hosutname>/ems-server/ The ACL associated with this object controls access to emsd servers registered in this namespace. The permissions associated with the "ems-server" are:

【0066】[0066]

【表1】 emsdサーバの許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 サーバに対するACLを変更する r 読取り このサーバの属性を読取る s 停止 EMSサーバを停止する w 書込み このサーバの属性を変更する −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 1] emsd server permission bit ------------- --- --- --- --- --- --- permission bit name description --- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Change ACL to control server r Read Read attributes of this server s Stop EMS server Stop w Write Change the attributes of this server -----------------------.

【0067】3個のセキュリティ・オブジェクトが、
「ems-server」ジャンクションの下で維持される。これ
らが表すディレクトリ及びデータベースは次の通りであ
る。 event-types:イベント形式データベース filters: フィルタ・データベース consumers: 使用プロセス これらのデータベースの各々は、それに関連するACL
を有する。
The three security objects are
Maintained under the "ems-server" junction. The directories and databases they represent are as follows: event-types: Event format database filters: Filter database consumers: Usage process Each of these databases has an ACL associated with it.
Having.

【0068】・イベント形式のセキュリティ管理 イベント形式データベースは、DCEネーム空間内の次
のネームにより表される。 /.:/hosts/<hostname>/ems-server/event-types このオブジェクトに関連するACLは、このデータベー
スに対するアクセスを制御する。「event-types」に関
連する許可は次の通りである。
Event Type Security Management The event type database is represented by the following names in the DCE namespace. /.:/hosts/<hostname>/ems-server/event-types The ACL associated with this object controls access to this database. The permissions associated with "event-types" are:

【0069】[0069]

【表2】 イベント形式データベースの許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 サーバに対するACLを変更する d 削除 イベント形式スキーマを削除する i 挿入 イベント形式スキーマを追加する r 読取り イベント形式スキーマの内容を読取る −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 2] Permit bits of event format database ----------------------------------------------- Permit bits Name Description --- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Change ACL for control server d Delete event type Delete schema i Insert event type Add a schema r Read Read the contents of the event format schema ----------------------------------------------------

【0070】EMSイベント・データのアクセスは、イ
ベント形式毎に許可される。所与のイベント形式のイベ
ント・データに対する許可は、 /.:/hosts/<hostname>/ems-server/event-types/<event
_type_name> に対するACLを変更することにより許可することがで
きる。ここで、「<event_type_name>」はイベント形式
ネームであってイベント形式スキーマ中に現れる。次の
ネームはSVCイベント及び監査イベントとして認識さ
れる。 /.:/hosts/<hostname>/ems-server/event/SVC /.:/hosts/<hostname>/ems-server/event/Audit 「<event_type_name>」に関連する許可は次の通りであ
る。
Access to the EMS event data is permitted for each event format. Permission for event data for a given event type is /.:/hosts/<hostname>/ems-server/event-types/<event
It can be permitted by changing the ACL for _type_name>. Here, "<event_type_name>" is an event format name and appears in the event format schema. The following names are known as SVC and audit events. /.:/hosts/<hostname>/ems-server/event/SVC /.:/hosts/<hostname>/ems-server/event/Audit The permissions associated with "<event_type_name>" are:

【0071】[0071]

【表3】 イベント形式の許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 イベント形式に対するACLを変更する d 削除 このイベント形式を削除する r 読取り この形式のイベントを読取る(使用する) w 書込み この形式のイベントを書込む(提供する) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 3] Permit Bits in Event Format ----------------------------------------------------------------------------------------------------------- Permit Bit Name Description ----- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Change ACL for control event type d Delete Delete this event type r Read this type Read (use) event of w write write (provide) event of this format ------------------------------------------- -----

【0072】提供プロセスのアクセス権は、EMSへ送
られる第1のイベントの際に確認することができ、そし
て使用プロセスのアクセス権は、イベントをその使用プ
ロセスへ送る前に確認することができる。認証されたR
PCは、EMS提供プロセス及び使用プロセスの遠隔A
PIへアクセスするために用いられる。
The access rights of the providing process can be verified during the first event sent to the EMS, and the access rights of the consuming process can be verified before sending the event to the consuming process. Certified R
The PC is a remote A for the EMS providing process and the using process.
Used to access PI.

【0073】・イベント・フィルタのセキュリティ管理 フィルタ・データベースは、DCEネーム空間内の次の
ネームで表される。 /.:/hosts/<hostname>/ems-server/filters このオブジェクトに関連するACLは、このデータベー
スへのアクセスを制御する。フィルタに関連する許可は
次の通りである。
Event Filter Security Management The filter database is represented by the following names in the DCE namespace: /.:/hosts/<hostname>/ems-server/filters The ACL associated with this object controls access to this database. The permissions associated with the filters are as follows:

【0074】[0074]

【表4】 フィルタ・データベースの許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 フィルタに対するACLを変更する d 削除 イベント・フィルタを削除する i 挿入 イベント・フィルタを追加する r 読取り イベント・フィルタのリスト又は内容 を取得する −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 4] Permit bits of the filter database -------------------- -------------------- Permit Bit Name Description ----- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Change ACL for control filter d Delete event filter Delete i Insert event Add a filter r Get a list or contents of the read event filters ---------------------------------------------------

【0075】イベント・フィルタのアクセス制御は、イ
ベント・フィルタ毎に許可される。所与のイベント・フ
ィルタについてのフィルタ・アクセスに対する許可は、
次のネームのACLを変更することにより許可される。 /.:/hosts/<hostname>/ems-server/filters/<filter_na
me> ここで、「<filter_name>」は、「ems_filter_add」へ
のコールの際にイベント・フィルタに与えられたイベン
ト・フィルタ・ネームである。イベント・フィルタに関
連する許可は次の通りである。
Access control of the event filter is permitted for each event filter. The permissions for filter access for a given event filter are:
Allowed by changing the ACL of the next name. /.:/hosts/<hostname>/ems-server/filters/<filter_na
me> where "<filter_name>" is the event filter name given to the event filter during the call to "ems_filter_add". The permissions associated with the event filter are:

【0076】[0076]

【表5】 イベント・フィルタの許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 フィルタに対するACLを変更する d 削除 イベント・フィルタを削除する w 書込み イベント・フィルタの内容を変更する −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 使用プロセスがイベント・フィルタを作成するとき、そ
の使用プロセス自身は、作成されたイベント・フィルタ
に対するdwc許可を自動的に取得する。
[Table 5] Permit Bits of Event Filter ----------------------------------------------- Permit Bit Name Description --- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Change ACL for control filter d Delete event filter Delete w Write event Change the contents of the filter ------------- When the using process creates an event filter, The consuming process itself automatically gets the dwc permission for the created event filter.

【0077】・使用プロセスのセキュリティ管理 使用プロセス・データベースは、DCEネーム空間内の
次のネームにより表される。 /.:/hosts/<hostname>/ems-server/consumers このオブジェクトに関連するACLは、このデータベー
スに対するアクセスを制御する。使用プロセスに関連す
る許可は次の通りである。
-Use Process Security Management The Use Process Database is represented by the following names in the DCE namespace: /.:/hosts/<hostname>/ems-server/consumers The ACL associated with this object controls access to this database. The permissions associated with the usage process are:

【0078】[0078]

【表6】 使用プロセス・データベースの許可ビット −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 許可ビット ネーム 説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c 制御 使用プロセスに対するACLを変更する d 削除 使用プロセスを削除する i 挿入 使用プロセスを追加(登録)する r 読取り 使用プロセス情報をリストする w 書込み 使用プロセスのフィルタ・グループを含 めて使用プロセスを変更する。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 6] Permission bits of the used process database ------------------ Permission bits Name Description --- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− c Control Change ACL for used process d Delete Delete used process i Insert Use Add (register) a process r Read List used process information w Write Change used process including filter group of used process. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

【0079】・EMSセキュリティの初期化 EMSがコンフィギュレーションされるとき、幾つかの
セキュリティ・グループがデフォールトにより作成され
る。これらのグループは、ems-admin(EMS管理)、ems
-consumer(EMS使用プロセス)、及びems-supplier
(EMS提供プロセス)である。デフォールトの許可は次
の通りである。 /.:/hosts/<hostname>/ems-server オブジェクトACL ems-admin crws hosts/<hostname>/self rws any_other r /.:/hosts/<hostname>/ems-server/event-types オブジェクトACL ems-admin cri ems-consumer r ems-supplier ri any_other r 初期オブジェクトACL(/.:/hosts/<hostname>/ems-s
erver/event-types/<event_type_name>) ems-admin cdw ems-consumer r ems-supplier w /.:/hosts/<hostname>/ems-server/filters オブジェクトACL ems-admin crdi ems-consumer ir any_other r 初期オブジェクトACL(/.:/hosts/<hostname>/ems-s
erver/filters/<filter_name>) ems-admin cw /.:/hosts/<hostname>/ems-server/consumers オブジェクトACL ems-admin cdrw ems-consumer irw any_other r
Initialization of EMS Security When the EMS is configured, some security groups are created by default. These groups are ems-admin (EMS management), ems
-consumer (EMS usage process) and ems-supplier
(EMS providing process). The default permissions are as follows. /.:/hosts/<hostname>/ems-server object ACL ems-admin crws hosts / <hostname> / self rws any_other r /.:/hosts/<hostname>/ems-server/event-types object ACL ems- admin cri ems-consumer r ems-supplier ri any_other r Initial object ACL (/.:/hosts/<hostname>/ems-s
erver / event-types / <event_type_name>) ems-admin cdw ems-consumer r ems-supplier w /.:/hosts/<hostname>/ems-server/filters object ACL ems-admin crdi ems-consumer ir any_other r initial Object ACL (/.:/hosts/<hostname>/ems-s
erver / filters / <filter_name>) ems-admin cw /.:/hosts/<hostname>/ems-server/consumers object ACL ems-admin cdrw ems-consumer irw any_other r

【0080】ems-adminグループに対するこれらの許可
をセットすることにより、作成された新たなイベント・
フィルタ及びイベント形式の各々が、自動的に同じ許可
を継承することになる。
A new event created by setting these permissions for the ems-admin group
Each filter and event type will automatically inherit the same permissions.

【0081】管理機構は、自身をこれらのグループの各
々へ追加することにより、セル内における全てのems
dの実行に対してアクセスすることが可能となる。さら
に強固なセキュリティを望む場合には、個々のACLか
らそのグループを除いて自身を追加することができる。
The management mechanism adds all of the ems in the cell by adding itself to each of these groups.
It becomes possible to access the execution of d. If you want even stronger security, you can add yourself out of the group from each ACL.

【0082】監査形式のイベントを伝送するとき、EM
Sが、DCEセキュリティ保護レベル強保全性にセット
された認証されたRPC(rpc_c_protect_level_pkt_in
tegrity)を用いることが好適である。
When transmitting an audit type event, EM
S is an authenticated RPC set to DCE security protection level strong integrity (rpc_c_protect_level_pkt_in
tegrity) is preferably used.

【0083】<使用プロセスの書込み>イベント使用プ
ロセスは、単純なクライアントではなくむしろサーバと
して実施されることが好適である。しかしながらこのこ
とは必須ではない。各EMS使用プロセスは、所与の要
件をもつことが多い。例えば、consumer_start(使用プ
ロセス開始)のコール、イベント・ハンドラの登録、イ
ベントの受取りを所望する種々のemsdへの登録、イ
ベント・フィルタのセットアップ、及びrpc_server_lis
tenのコールである。
Writing Usage Processes Events It is preferred that the consuming process be implemented as a server rather than a simple client. However, this is not essential. Each EMS usage process often has given requirements. For example, call consumer_start (start process in use), register event handlers, register with various emsds that wish to receive events, set up event filters, and rpc_server_lis.
It's ten's call.

【0084】consumer_startへのコールは、その使用プ
ロセスのuuidを作成し、そしてEMS伝送を使用プロセ
ス・ハンドラへ登録する。ems_consumer_handler_regis
terへのコールは、入力される使用プロセス・キューを
セットアップし、イベント・ハンドラ機能を初期化して
指定されたハンドル機能を呼出す。1つのイベント使用
プロセスは、異なるホスト上の多数のemsdサーバか
らイベントを受け取るために登録することができる。使
用プロセスは、イベントが送られる前にイベント・フィ
ルタをセットアップしなければならない。最後に、使用
プロセスは、入力されるイベント待つべくrpc_server_l
istenを呼出す。
A call to consumer_start creates a uuid for that consuming process and registers the EMS transmission with the consuming process handler. ems_consumer_handler_regis
The call to ter sets up the incoming process queue, initializes the event handler function and calls the specified handle function. One event consuming process can register to receive events from multiple emsd servers on different hosts. The consuming process must set up the event filter before the event is sent. Finally, the consuming process uses rpc_server_l to wait for incoming events.
Call isten.

【0085】<再開後のEMSの回復>EMSは、次の
リポジトリ内の全ての状態データを記憶する。 ・使用プロセス・データベース 全ての提供プロセスのリスト、及び全ての使用プロセス
のリストと共に使用プロセス・フィルタ・グループ内の
フィルタのリストを格納する。 ・イベント形式データベース 全ての既知のイベント形式のスキーマを格納する。 ・イベント・フィルタ・データベース 全ての現在のフィルタ定義を格納する。emsdが再開
されたとき、次のステップが実行される。 1.全てのデータベースが復元される。 2.全ての使用プロセスが再登録又は再接続を通知され
る。 3.イベント・キューがイベント・ログ・ファイルから
復元される。 4.イベント伝送が進行する。
<Recovery of EMS after Resuming> The EMS stores all the state data in the next repository. -Used process database Stores a list of all provided processes, and a list of filters in the used process filter group along with a list of all used processes. -Event format database Stores all known event format schemas. Event filter database Stores all current filter definitions. The following steps are performed when emsd is restarted. 1. All databases are restored. 2. All usage processes are notified of re-registration or re-connection. 3. The event queue is restored from the event log file. 4. Event transmission proceeds.

【0086】<イベント・キュー>イベント・キュー
は、次の特徴を有する。 ・空状態及び満杯状態の変数:これらの変数は、それぞ
れキューが空でないか又は満杯でないときまで待つ。必
要に応じて、これらの変数はオン及びオフすることがで
きる。 ・キューmutex:キューに対するマルチスレッド化アク
セスを可能とするべく、キュー上にエレメントをエンキ
ューしかつデータキューするために用いられる。 ・プロセス要素ルーチン:これは、キュー要素を処理す
るために呼出される規定された符号をもつユーザ書込み
によるルーチンである。 ・最大キュー・サイズ:キューがこの大きさに達すると
き、満杯状態変数が満杯でなくなるまで待つ。
<Event Queue> The event queue has the following features. Empty and full variables: These variables wait until the queue is not empty or full, respectively. These variables can be turned on and off as needed. Queue mutex: used to enqueue and data queue elements on the queue to allow multithreaded access to the queue. Process Element Routine: This is a user-written routine with a defined code that is called to process the queue element. Maximum queue size: When the queue reaches this size, wait until the full state variable is no longer full.

【0087】・キューの持続性:そのキュー上の各要素
がDCE支援記憶装置を用いて保存されることにより、
EMSが故障した場合にイベント・キューを回復するこ
とができる。 ・イベント・キュー要素:イベント・キュー要素は2種
類のデータを含む。 ・イベントへのポインタ ・別のキュー要素へのポインタ これによりEMSは、イベントがその対象とする全ての
使用プロセスにまだ送られていないことを示す要素をも
つ活動キューと、活動キュー内の要素に対するポインタ
を含む要素をもつ使用プロセス・キューとを有すること
ができる。各要素はさらに、その要素に対して幾つのポ
インタがアクティブであるかを示すmutex保護計数を含
む。
Queue persistence: Each element on the queue is stored using the DCE backing store,
The event queue can be recovered if the EMS fails. Event queue element: The event queue element contains two types of data. A pointer to the event. A pointer to another queue element. This causes the EMS to have an activity queue with an element that indicates that the event has not yet been sent to all its target consuming processes, and for elements in the activity queue. A use process queue with an element containing a pointer. Each element also contains a mutex protection count that indicates how many pointers are active for that element.

【0088】<データ構造> ・EMSイベント属性 ・イベント属性形式 イベント属性形式はイベント属性のデータ形式を特定す
るために用いられる。属性形式は、イベント属性値結合
(ems_attr_value_t)の中でデータがどのフォーマットで
あるかを特定する。全てのイベント属性形式は、次のよ
うに規定される。 typedef unsigned16 ems_attr_type_t イベント属性形式は、次のいずれかとすることができ
る。
<Data Structure> -EMS Event Attribute-Event Attribute Format The event attribute format is used to specify the data format of the event attribute. Attribute format is event attribute value combination
In (ems_attr_value_t), specify the format of the data. All event attribute formats are defined as follows. typedef unsigned16 ems_attr_type_t The event attribute format can be one of the following:

【0089】[0089]

【表7】 イベント属性形式の指定子 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 属性形式 データ形式 大きさ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_attr_small_int idl_small_int 1バイト ems_c_attr_short_int idl_short_int 2バイト ems_c_attr_long_int idl_long_int 4バイト ems_c_attr_hyper_int idl_hyper_int 8バイト ems_c_attr_usmall_int idl_usmall_int 1バイト ems_c_attr_ushort_int idl_usmall_int 2バイト ems_c_attr_ulong_int idl_ulong_int 4バイト ems_c_attr_uhyper_int idl_uhyper_int 8バイト ems_c_attr_short_float idl_short_float 4バイト ems_c_attr_long_float idl_long_float 8バイト ems_c_attr_boolean idl_boolean 1バイト ems_c_attr_uuid uuid_t 16バイト ems_c_attr_utc utc_t 16バイト ems_c_attr_severity_t ems_severity_t 4バイト ems_c_attr_acl sec_acl_t* 可変長 ems_c_attr_byte_string idl_byte* 可変長 ems_c_attr_char_string idl_char* 可変長 ems_c_attr_bytes 構造参照 可変長 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 7] Event Attribute Format Specifiers -------------------------------------------------------- Attribute Format Data Format Size- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_attr_small_int idl_small_int 1 byte ems_c_attr_short_int idl_short_int 2 bytes ems_c_attr_long_int 8 bytes eml_per_int_r_per__r_per__r_per__r_hy_per____ 1 byte ems_c_attr_ushort_int idl_usmall_int 2 bytes ems_c_attr_ulong_int idl_ulong_int 4 bytes ems_c_attr_uhyper_int idl_uhyper_int 8 bytes ems_c_attr_short_float idl_short_float 4 bytes ems_c_attr_long_float idl_long_float 8 bytes ems_c_attr_boolean idl_boolean 1 byte ems_c_attr_uuid uuid_t 16 bytes ems_c_attr_utc utc_t 16 bytes ems_c_attr_severity_t ems_severity_t 4 bytes ems_c_attr_acl sec_acl_t * variable length ems_c_attr_byte _string idl_byte * Variable length ems_c_attr_char_string idl_char * Variable length ems_c_attr_bytes Structure reference Variable length −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

【0090】バイト・ストリング及び文字ストリング
は、0(ゼロ)バイトで終了する。IDlコンパイラのピ
ックリング(pickling)・サービスは、複雑はデータ形式
を、EMSイベントに含められるバイト・ストリングへ
エンコードするために用いることができる。
Byte strings and character strings end with a 0 (zero) byte. The IDl compiler's pickling service can be used to encode complex data formats into byte strings that are included in EMS events.

【0091】・イベント属性値 イベント属性値結合は、自己規定データ構造であり、ど
の形式のデータがその結合中にあるかを示す属性形式指
定子(形式)と、指定されたデータの値を保持する適切
な結合メンバーとを有する。 typedef struct ems_byte_s_t{ unsigned32 size; /*バイト・データの大きさ*/ [size_is(size)] byte* data; /*バイト・データ */ }ems_bytes_t; typedef union switch(ems_attr_type_t format){ case ems_c_attr_small_int; small int small_int; case ems_c_attr_short_int; small int short_int; case ems_c_attr_long_int; long int long_int; case ems_c_attr_hyper_int; hyper int hyper_int; case ems_c_attr_usmall_int; unsigned small int usmall_int; case ems_c_attr_ushort_int; unsigned short int ushort_int; case ems_c_attr_ulong_int; unsigned long int ulong_int; case ems_c_attr_uhyper_int; unsigned hyper int uhyper_int; case ems_c_attr_short_float; float short_float; case ems_c_attr_long_float; double long_float; case ems_c_attr_boolean; boolean bool; case ems_c_attr_uuid; uuid_t uuid; case ems_c_attr_utc; utc_t utc; case ems_c_attr_acl; sec_acl_t *acl; case ems_c_attr_byte_string; [string]byte *byte_string; case ems_c_attr_char_string; [string]char *char_string; case ems_c_attr_bytes; ems_bytes_t * bytes; default: ; }ems_attr_value_t;
Event attribute value The event attribute value combination is a self-defining data structure, and holds an attribute format specifier (format) indicating which format data is in the combination and the value of the specified data. With a suitable binding member. typedef struct ems_byte_s_t {unsigned32 size; / * size of byte data * / [size_is (size)] byte * data; / * byte data * /} ems_bytes_t; typedef union switch (ems_attr_type_t format) {case ems_c_attr_small_int; small int small_int; case ems_c_attr_short_int; small int short_int; case ems_c_attr_long_int; long int long_int; case ems_c_attr_hyper_int; hyper int hyper_int; case ems_c_attr_usmall_int; unsigned small int usmall_int; case ems_c_attr_ushort_int; unsigned short int ushort_int; case ems_c_attr_ulong_int; unsigned long int ulong_int; case ems_c_attr_uhyper_int; unsigned hyper int uhyper_int; case ems_c_attr_short_float; float short_float; case ems_c_attr_long_float; double long_float; case ems_c_attr_boolean; boolean bool; case ems_c_attr_uuid; uuid_t uuid; case ems_c_attr_utc; utc_t utc; case ems_c_attr_acl; sec_acl_t * acl; case ems_c_attr_byte_string; [string] byte * byte_string; case ems_c_attr_char_string; [string] char * char_string; case ems_c_attr_bytes; em s_bytes_t * bytes; default:;} ems_attr_value_t;

【0092】・イベント属性 イベント属性は、通常、イベント属性ネーム/属性形式
の対を含み、これらはイベント属性を規定する。イベン
ト属性は、イベント形式スキーマにおけるイベント形式
を規定する際及びイベント・フィルタ表記におけるイベ
ント・フィルタをを規定する際に用いることができる。
「attr_name」は属性ネームを指定し、「attr_type」は
属性値のフォーマットを指定する。 typedef struct ems_attribute_s_t{ ems_string name; /*イベント属性ネーム*/ ems_attr_value_t value; /*イベント属性形式*/ }ems_attribute_t;
Event Attributes Event attributes typically include event attribute name / attribute type pairs, which define event attributes. Event attributes can be used in defining the event format in the event format schema and in defining the event filter in the event filter notation.
"Attr_name" specifies the attribute name, and "attr_type" specifies the attribute value format. typedef struct ems_attribute_s_t {ems_string name; / * Event attribute name * / ems_attr_value_t value; / * Event attribute format * /} ems_attribute_t;

【0093】・EMSイベント構造 ・イベント形式 イベント形式は、所与のイベント形式について固有のI
Dを指定する。 typedef uuid_t ems_event_type_t;
EMS Event Structure Event Format The event format is the I-specific for a given event format.
Specify D. typedef uuid_t ems_event_type_t;

【0094】[0094]

【表8】 デフォールト・イベント形式 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− イベント形式 イベント形式ネーム −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_generic_type 汎用形式 ems_c_svc_type SVC ems_c_aud_type 監査 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 汎用形式のイベントは、イベント形式スキーマに関連す
るものをもたず、その中のヘッダ属性による表記により
フィルタ処理できるのみである。
[Table 8] Default event format -------------------- Event format Event format name --- −−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_generic_type General-purpose format ems_c_svc_type SVC ems_c_aud_type Audit −−−−−−−−−−−−−−− The general-purpose events have nothing to do with the event-format schema and can only be filtered by the header attribute notation in them. is there.

【0095】・イベント識別子 イベント識別子は、所与のイベントを個別に識別する。
各イベントは、通常、この形式の全てのイベントに対し
て固有のイベント形式と、特定のイベントに対して固有
のイベントIDとを有する。 typedef struct ems_eventid_s_t{ ems_event_type_t type; /*イベント形式*/ uuid_t id; /*固有イベント識別子*/ }ems_eventid_t;
Event Identifier The event identifier uniquely identifies a given event.
Each event typically has a unique event type for all events of this type and a unique event ID for a particular event. typedef struct ems_eventid_s_t {ems_event_type_t type; / * event type * / uuid_t id; / * unique event identifier * /} ems_eventid_t;

【0096】・ネットワーク・ネーム ネットワーク・ネームは、所与のホスト・マシンのネッ
トワーク・ネームを識別する。ネーム・サービスは、い
ずれのネーム・サービスが所与のネットワーク・ネーム
を認知するかを指定する。 typedef enum ems_nameservice_s_t{ ems_ns_other=0, /*リスト以外のネーム・サービス*/ ems_ns_dns, /*DNSネーム・サービス */ ems_ns_dce, /*DCE CDSネーム・サービス*/ ems_ns_x500, /*X500 */ ems_ns_nis, /*NIS */ ems_ns_sna /*SNAネットワーク */ }ems_nameservice_t;
Network Name The network name identifies the network name of a given host machine. Name services specify which name service recognizes a given network name. typedef enum ems_nameservice_s_t {ems_ns_other = 0, / * name service other than list * / ems_ns_dns, / * DNS name service * / ems_ns_dce, / * DCE CDS name service * / ems_ns_x500, / * X500 * / ems_ns_nis, / * NIS * / ems_ns_sna / * SNA network * /} ems_nameservice_t;

【0097】「ems_netaddr_t」の構造は、実際のネッ
トワーク・ネームを指定する。これは、指定されたネー
ム・サービスに従って解釈することができる。 typedef char ems_octat_t; /*NLSサポートに対して使用*/ typedef struct ems_netaddr_s_t{ unsigned short len; [size_is(len)] ems_octet_t name[]; /*適切なフォーマットのネーム*/ }ems_netaddr_t; typedef struct ems_netname_s_t{ ems_nameservice_t service; /*ネット・ネームに使用される ネーム・サービス*/ [ptr]ems_netaddr_t* netaddr; /*ネットワーク・ネーム/アド レス*/ }ems_netname_t;
The structure of "ems_netaddr_t" specifies the actual network name. It can be interpreted according to the specified name service. typedef char ems_octat_t; / * used for NLS support * / typedef struct ems_netaddr_s_t {unsigned short len; [size_is (len)] ems_octet_t name []; / * name in proper format * /} ems_netaddr_t; typedef struct ems_netname_s_t_t {em service; / * name service used for net names * / [ptr] ems_netaddr_t * netaddr; / * network name / address * /} ems_netname_t;

【0098】DCEホストネームについては、次の例
が、「ems_netname_t」構造をセットするものである。 static char * dce_hostname="/.:/hosuts/eagle.austin.ibm.com"; ems_netname_t netname; netname.service=ems_ns_dce; netname.netadddr->len=strlen(dce_hostname)+1; netname.netaddr->name=(char*)malloc(netname.netaddr->len); strcpy(netname.netaddr->name, dce_hostname);
For DCE host names, the following example sets the "ems_netname_t" structure. static char * dce_hostname = "/.:/ hosuts / eagle.austin.ibm.com"; ems_netname_t netname; netname.service = ems_ns_dce; netname.netadddr-> len = strlen (dce_hostname) +1; netname.netaddr-> name = (char *) malloc (netname.netaddr->len); strcpy (netname.netaddr-> name, dce_hostname);

【0099】・イベント発生元 イベント発生元は、いずれからイベントが発生したのか
(すなわち提供プロセス)を特定する。イベント発生元
は、提供プロセスが実行されているホストのネットネー
ム、提供プロセスのネームすなわち記述的ネーム(descn
ame)、及び提供プロセス識別子(pid, uid, gid)を特
定する。これらの値は、全てのホストについて有効では
ない場合がある。 typedef struc ems_origin_s_t{ ems_netname_t netname; /*発生元ホストのネットワーク・ネーム*/ [string]char* descname; /*提供プロセスの記述的ネーム*/ unsigned32 pid; /*発生元のプロセスID*/ unsigned32 uid; /*発生元のユーザID*/ unsigned32 gid; /*発生元のグループID*/ }ems_origin_t;
Event Source The event source specifies from which event the event has occurred (that is, the providing process). The event source is the net name of the host on which the provisioning process is running, the name of the provisioning process or the descriptive name (descn
ame) and the provided process identifier (pid, uid, gid) are specified. These values may not be valid for all hosts. typedef struc ems_origin_s_t {ems_netname_t netname; / * Network name of the originating host * / [string] char * descname; / * Descriptive name of the providing process * / unsigned32 pid; / * Originating process ID * / unsigned32 uid; / * Source user ID * / unsigned32 gid; / * Source group ID * /} ems_origin_t;

【0100】・イベント重大度 イベント重大度は、イベントの重要性を特定する。この
ネームは、DCE SVC重大度属性値に対して1対1
に対応する。 typedef enum ems_severity_e_t{ ems_sev_info=0, /*情報イベント*/ ems_sev_fatal, /*重大イベント*/ ems_sev_error, /*注意イベント*/ ems_sev_warning, /*警告イベント*/ ems_sev_notice, /*通知イベント*/ ems_sev_notice_verbose, /*冗長イベント*/ ems_sev_debug, /*デバグ・イベント*/ }ems_severity_t
Event Severity Event severity specifies the importance of the event. This name is one-to-one for DCE SVC severity attribute values
Corresponding to. typedef enum ems_severity_e_t {ems_sev_info = 0, / * Information event * / ems_sev_fatal, / * Critical event * / ems_sev_error, / * Caution event * / ems_sev_warning, / * Warning event * / ems_sev_notice, / * Notification event * / ems_sose_notice / * Verbose event * / ems_sev_debug, / * debug event * /} ems_severity_t

【0101】・イベント・ヘッダ イベント・ヘッダは、イベント・データ構造の固定部分
を記述する。イベント・ヘッダは、イベントID、イベ
ント発生元、イベントがEMSに受信されそして使用プ
ロセスへ配信された時間及び重大度 typedef struc ems_hdr_s_t{ ems_eventid_t eventid; /*イベント識別子*/ ems_origin_t origin; /*イベント発生元*/ ems_severity_t severity; /*イベント重大度*/ utc_t received; /*イベント受信のタイプスタンプ*/ utc_t delivered;/*イベント配信のタイプスタンプ*/ }ems_hdr_t;
Event header The event header describes the fixed part of the event data structure. The event header contains the event ID, event originator, time and severity at which the event was received by the EMS and delivered to the using process typedef struc ems_hdr_s_t {ems_eventid_t eventid; / * event identifier * / ems_origin_t origin; / * event originator * / ems_severity_t severity; / * Event severity * / utc_t received; / * Event received timestamp * / utc_t delivered; / * Event delivery timestamp * /} ems_hdr_t;

【0102】フィルタ属性の組が、イベント・ヘッダ・
フィルタ処理のために設けられる。次のネームは、イベ
ント・フィルタ表記におけるフィルタ属性について用い
ることができる。
The set of filter attributes is the event header
Provided for filtering. The following names can be used for filter attributes in the event filter notation.

【0103】[0103]

【表9】 イベント・ヘッダ属性 −−−−−−−−−−−−−−−−−−−−−−−−−−−− 属性ネーム 属性形式 −−−−−−−−−−−−−−−−−−−−−−−−−−−− event.id ems_c_attr_uuid event.type ems_c_attr_uuid origin.netname.service ems_c_attr_ulong origin.netname.netaddr emc_c_attr_bytes origin.descname ems_c_attr_char_string origin.pid ems_c_attr_ulong origin.uid ems_c_attr_ulong origin.gid ems_c_attr_ulong severity ems_c_attr_ulong received ems_c_attr_utc −−−−−−−−−−−−−−−−−−−−−−−−−−−−[Table 9] Event Header Attribute ------------------------------ Attribute Name Attribute Format -------- −−−−−−−−−−−−−−−−−− event.id ems_c_attr_uuid event.type ems_c_attr_uuid origin.netname.service ems_c_attr_ulong origin.netname.netaddr emc_c_attr_bytes origin.descname ems_c_attr_char_ul___________ origin.gid ems_c_attr_ulong severity ems_c_attr_ulong received ems_c_attr_utc −−−−−−−−−−−−−−−−−−−−−−−−−−−−−

【0104】・イベント 「ems_event_t」の構造は、固定部分であるイベント・
ヘッダと、可変部分であるイベント・データ項目とを含
む。各データ項目は、属性形式及び属性日付を含む自己
規定値である。計数は、イベント中にあるデータ項目の
数を特定する。 typedef struct ems_event_s_t{ ems_hdr_t header; /*固定イベント・ヘッダ*/ unsigned32 count; /*データ項目の数*/ [size_is(count)] ems_attribute_t item[]; /*データ項目*/ }ems_event_t;
The structure of the event “ems_event_t” is an event that is a fixed part.
It includes a header and an event data item that is a variable part. Each data item is a self-defined value that includes the attribute type and attribute date. The count identifies the number of data items that are in the event. typedef struct ems_event_s_t {ems_hdr_t header; / * fixed event header * / unsigned32 count; / * number of data items * / [size_is (count)] ems_attribute_t item []; / * data item * /} ems_event_t;

【0105】・EMSイベント形式 EMSイベント形式の構造は、EMSイベント形式を規
定するための用いられる。
EMS Event Format The EMS event format structure is used to define the EMS event format.

【0106】・イベント形式スキーマ イベント形式スキーマは、イベント形式を規定するため
の用いられる。これは、イベント形式IDすなわち形式
と、イベント形式のネームを特定するネーム・フィール
ドと、このイベント形式のフォーマットを記述するイベ
ント形式属性のリストとからなる。サイズは、イベント
形式中の属性の数を特定する。イベント形式スキーマの
みが、イベントの固定部分を特定する。イベントは、こ
こで特定された属性のリストに従って同じ数のネームな
し属性を有することができる。 typedef struct ems_event_type_scheme_s_t{ ems_event_type_t type; /*EMSイベント形式*/ [string]char* name; /*イベント形式ネーム*/ long size; /*属性の数*/ [size_is(size)] ems_attribute_t attribute[]; /*イベント形式属性*/ }ems_evet_type_scheme_t
Event format schema The event format schema is used to define the event format. It consists of an event format ID or format, a name field that identifies the name of the event format, and a list of event format attributes that describe the format of this event format. The size specifies the number of attributes in the event format. Only the event format schema identifies the fixed parts of the event. An event can have the same number of unnamed attributes according to the list of attributes specified here. typedef struct ems_event_type_scheme_s_t {ems_event_type_t type; / * EMS event format * / [string] char * name; / * event format name * / long size; / * number of attributes * / [size_is (size)] ems_attribute_t attribute []; / * Event type attribute * /} ems_evet_type_scheme_t

【0107】・イベント形式リスト イベント形式リストは、イベント形式スキーマのサイズ
のリストを含む。 typedef[ptr]ems_event_schema_t* ems_schema_ptr_t; typedef struct ems_event_type_list_s_t{ long size; /*イベント形式スキーマの数*/ [size_is(size)] ems_schema_ptr_t schema[]; /*イベント形式スキーマに対するptr*/ }ems_event_type_list_t;
Event Format List The event format list contains a list of sizes of the event format schema. typedef [ptr] ems_event_schema_t * ems_schema_ptr_t; typedef struct ems_event_type_list_s_t {long size; / * number of event format schemas * / [size_is (size)] ems_schema_ptr_t schema []; / * ptr * /} ems_event_type_list_type_list_type_list_type_list_type_list_type_list_type_list_type_list

【0108】・EMSイベント・フィルタ イベント・フィルタ・データの構造は、イベント・フィ
ルタ及びイベント・フィルタ・リストの双方の規定を可
能とする。
EMS Event Filter The event filter data structure allows the definition of both event filters and event filter lists.

【0109】[0109]

【表10】 属性オペレータ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 属性オペレータ 属性オペレータの説明 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_attr_op_eq attr_nameがattr_valueに等しい(==)場合に真 ems_c_attr_op_gt attr_nameがattr_valueより大きい(>)場合に真 ems_c_attr_op_lt attr_nameがattr_valueより小さい(<)場合に真 ems_c_attr_op_ge attr_nameがattr_valueより大きいか又は等しい(>=) 場合に真 ems_c_attr_op_le attr_nameがattr_valueより小さいか又は等しい(<=) 場合に真 ems_c_attr_op_ne attr_nameがattr_valueに等しくない(<>)場合に真 ems_c_attr_op_bitand attr_nameのビット単位とattr_valueとの論理積演 算が0より大きい場合に真 ems_c_attr_op_substr attr_nameがattr_valueにより特定されるストリン グ値を含む場合に真 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 属性オペレータは、属性ネーム及びイベント・フィルタ
表記の属性値に対して実行するブール演算を規定する。
属性オペレータ形式は、次のように規定される。 typedef unsigned16 ems_attr_op_t;
[Table 10] Attribute operator ------------------------------------------------------- Attribute operator Explanation of the attribute operator ----- −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ems_c_attr_op_eq true if attr_name is equal to attr_value (==) ems_c_attr_op_gt attr_name is greater than attr_value ( >) True true if ems_c_attr_op_lt attr_name is less than attr_value (<) true ems_c_attr_op_ge attr_name is greater than or equal to attr_value (> =) true True if attr_name is not equal to attr_value (<>) ems_c_attr_op_bitand True if the bitwise operation of attr_name and attr_value are greater than 0 true if ems_c_attr_op_substr attr_name contains the string value specified by attr_value − ----- −−−−−−−−−−−−−−−−−−−−−−−−−−−−− Attribute operators perform Boolean operations on attribute names and attribute values in event filter notation. Stipulate.
The attribute operator format is defined as follows. typedef unsigned16 ems_attr_op_t;

【0110】・イベント・フィルタ表記 イベント・フィルタ表記の構造は、イベント・フィルタ
を作成するために用いられるイベント・フィルタ表記の
要素を含む。イベント・フィルタ表記は、属性ネーム、
属性オペレータ、及び属性値からなる3個の値の組(att
r_name, attr_operator, attr_value)であり、ブール・
フィルタ表記を規定する。 typedef struct ems_filter_exp_s_t{ [string]char* attr_name; /*属性ネーム*/ ems_attr_ope_t attr_operator; /*属性オペレータ*/ ems_attr_value_t attr_value; /*属性値*/ }ems_filter_exp_t;
Event Filter Notation The structure of the event filter notation contains the elements of the event filter notation used to create the event filter. Event filter notation is attribute name,
A set of three values consisting of an attribute operator and an attribute value (att
r_name, attr_operator, attr_value)
Specify filter notation. typedef struct ems_filter_exp_s_t {[string] char * attr_name; / * attribute name * / ems_attr_ope_t attr_operator; / * attribute operator * / ems_attr_value_t attr_value; / * attribute value * /} ems_filter_exp_t;

【0111】・イベント・フィルタ表記リスト イベント・フィルタ表記リストは、イベント・フィルタ
を規定する際の論理積(AND)によるフィルタ表記を形
成するために、フィルタ表記を合わせて1つのリストに
グループ化する。 typedef struct ems_filter_exp_list_s_t{ long size; /*フィルタ表記の数*/ [size_is(size)] ems_filter_exp_t filter_exps[]; /*リスト中のフィルタ表記*/ }ems_filter_exp_list_t;
Event filter notation list The event filter notation list groups the filter notations together into one list in order to form a filter notation by logical product (AND) when defining the event filter. . typedef struct ems_filter_exp_list_s_t {long size; / * number of filter notations * / [size_is (size)] ems_filter_exp_t filter_exps []; / * filter notations in list * /} ems_filter_exp_list_t;

【0112】・イベント・フィルタ イベント・フィルタは、フィルタ・オペレーションを実
行するために互いに論理積演算される一連のイベント・
フィルタ表記を特定する。イベント・フィルタは、CD
Sネーム空間に入力されることになるネーム(filter_na
me)と、フィルタ表記のリスト(event_exp_list)とを含
む。 typedef struct ems_filter_s_t{ ems_string_t filter_name; /*イベント・フィルタ・ネーム*/ ems_event_type_t type, /*イベント・フィルタの形式*/ ems_filter_exp_list_t filter_exp_list; /*フィルタ表記のリスト*/ }ems_filter_t; 汎用型のイベント形式をもつフィルタは、その中にヘッ
ダ属性ネームをもつフィルタ表記のみを有することがで
きる。
Event Filter An event filter is a sequence of events that are ANDed with each other to perform a filter operation.
Identify the filter notation. Event filter is CD
The name that will be input to the S namespace (filter_na
me) and a list of filter expressions (event_exp_list). typedef struct ems_filter_s_t {ems_string_t filter_name; / * Event filter name * / ems_event_type_t type, / * Event filter format * / ems_filter_exp_list_t filter_exp_list; / * List of filter expressions * /} ems_filter_t; Filter with a generic event format Can only have a filter notation with the header attribute name in it.

【0113】・イベント・フィルタ・ネーム・リスト イベント・フィルタ・ネーム・リストは、イベント・フ
ィルタ・ネームのサイズのリストを含む。 typedef [string] char* ems_string_t; typedef struct ems_filtername_list_s_t{ long size; /*イベント・フィルタ・ネームの数*/ [size_is(size)] /*グループ内のイベント・フィルタ・ネーム*/ ems_string_t filter_name[]; }ems_filtername_list_t;
Event Filter Name List The event filter name list contains a list of sizes of event filter names. typedef [string] char * ems_string_t; typedef struct ems_filtername_list_s_t {long size; / * number of event filter names * / [size_is (size)] / * event filter name in group * / ems_string_t filter_name [];} ems_filtername_list_t;

【0114】・イベント・フィルタ・リスト イベント・フィルタ・リストの構造は、サイズ・フィル
タのリストを含む。 typedef struct ems_filter_list_s_t{ long size; /*イベント・フィルタの数*/ [size_is(size)] ems_filter_t* filter[]; /*イベント・フィルタ・リスト*/ }ems_filter_list_t;
Event Filter List The structure of the event filter list contains a list of size filters. typedef struct ems_filter_list_s_t {long size; / * number of event filters * / [size_is (size)] ems_filter_t * filter []; / * event filter list * /} ems_filter_list_t;

【0115】・EMS使用プロセス・データ構造 ・使用プロセス 使用プロセスのデータ構造は、EMS使用プロセスを規
定する。各使用プロセスは、CDSに入力されるネーム
と、使用プロセスが実行されているホストのホストネー
ムと、その使用プロセスに固有のuuidとを有する。 typedef struct ems_consumer_s_t{ [string] char* name; /*使用プロセスのDCEネーム*/ ems_netname_t* hostname; /*使用プロセスのDCEホストネーム*/ uuid_t uuid; /*使用プロセスのuuid*/ }ems_consumer_t;
-EMS Use Process-Data Structure-Use Process The data structure of the use process defines the EMS use process. Each usage process has a name entered in the CDS, a host name of the host on which the usage process is running, and a uuid unique to the usage process. typedef struct ems_consumer_s_t {[string] char * name; / * DCE name of used process * / ems_netname_t * hostname; / * DCE host name of used process * / uuid_t uuid; / * uuid * /} ems_consumer_t; of used process

【0116】・使用プロセス・リスト 使用プロセス・リストの構造は、使用プロセス・エント
リのサイズのリストを含む。 typedef struct ems_consumer_list_s_t{ long size; /*使用プロセス・エントリの数*/ [size_is(size)] ems_consumer_t consumer[]; /*使用プロセス情報*/ }ems_consumer_list_t;
Used Process List The used process list structure contains a list of sizes of used process entries. typedef struct ems_consumer_list_s_t {long size; / * number of used process entries * / [size_is (size)] ems_consumer_t consumer []; / * used process information * /} ems_consumer_list_t;

【0117】・EMSサーバ・データ構造 ・属性リスト 属性リストのデータ構造は、サーバ属性のリストを規定
する。各属性は、emsdサーバにより維持される値で
あり、その属性リストはこれらの値を問合わせたりセッ
トしたりするために用いることができる。 typedef struct ems_attrlist_s_t{ long size; /*属性の数*/ [size_is(size)] ems_attrbute__t attr[]; /*イベント形式属性*/ }ems_attrlist_t;
EMS Server Data Structure Attribute List The attribute list data structure defines a list of server attributes. Each attribute is a value maintained by the emsd server and its attribute list can be used to query and set these values. typedef struct ems_attrlist_s_t {long size; / * number of attributes * / [size_is (size)] ems_attrbute__t attr []; / * event format attribute * /} ems_attrlist_t;

【0118】<アプリケーション・プログラム・インタ
フェース(API)>以下は、RPCインタフェースを実
施するEMSAPIの所与の代表的ルーチンである。 ・EMSへの登録 #include<dce/ems.h> void ems_register( ems_netname_t* hostname, /*DCEホスト・ネーム*/ ems_handle_t* handle, /*EMSハンドル*/ error_status_t* status); /*mgmt要求状態*/ 説明:このルーチンは、EMSへ登録し、EMS結合ハ
ンドルを取得する。このルーチンは、EMS管理機構を
用いることになる管理アプリケーションにより、又は新
しいイベント形式を追加しようとするイベント提供プロ
セスにより利用することができる。許可要求。無応答
(None)。 パラメータ: 入力 hostname:emsdが実行されているDCEホスト・マ
シンのネームである。ホストネームがヌル(NULL)である
場合、ローカル・ホストと見なされる。 出力 handle:後のEMSルーチンへのコールに用いるために
EMSハンドルを返す。 status:ルーチンが正常に完了したか否か、また正常に
完了しなかった理由を示す状態コードをこのルーチンか
ら返す。可能な状態コード及びこれらの意味は次の通り
である。 error_status_ok :正常完了。 ems_s_no_memory :EMSハンドルを割り当
てることができない。 ems_s_unsupported_namesevice:ホストネームがサポー
トされていないネーム・サービスを含む。
Application Program Interface (API) The following is a given representative routine of EMSAPI that implements the RPC interface. -Register to EMS #include <dce / ems.h> void ems_register (ems_netname_t * hostname, / * DCE host name * / ems_handle_t * handle, / * EMS handle * / error_status_t * status); / * mgmt request status * / Description: This routine registers with EMS and gets the EMS binding handle. This routine can be utilized by management applications that will use the EMS management mechanism, or by event provisioning processes that are trying to add new event types. Authorization request. No reply
(None). Parameters: Input hostname: The name of the DCE host machine on which emsd is running. If the host name is null, it is considered the local host. Output handle: Returns an EMS handle for use in later calls to EMS routines. status: Returns a status code from this routine indicating whether the routine completed normally and why it did not complete normally. The possible status codes and their meanings are: error_status_ok: Completed normally. ems_s_no_memory: EMS handle cannot be allocated. ems_s_unsupported_namesevice: Hostnames contain unsupported name services.

【0119】・遠隔提供プロセスによる伝送 void rsupplier_transmit( [in] handle_t hadle, [in] ems_event_t* event, [out] error_status_t* status); 説明:イベントをEMSへ伝送する。許可要求。 (w) on /.;/hosts/<hostname>/ems-server/event-t
ypes/<type_name> パラメータ: 入力 handle:EMS結合ハンドル event:伝送されるイベント 出力 status Rturns:ルーチンが正常に完了したか否か、また
正常に完了しなかった理由を示す状態コードをこのルー
チンから返す。可能な状態コード及びこれらの意味は次
の通りである。 error_status_ok :正常完了。 ems_s_no_memory :EMSサーバがメモリ割当
てエラーを受信した。
Transmission by remote provision process void rsupplier_transmit ([in] handle_t hadle, [in] ems_event_t * event, [out] error_status_t * status); Description: Transmits the event to the EMS. Authorization request. (w) on /.;/hosts/<hostname>/ems-server/event-t
ypes / <type_name> Parameter: Input handle: EMS binding handle event: Event to be transmitted Output status Rturns: Status code from this routine that indicates whether the routine completed successfully and why it did not complete successfully . The possible status codes and their meanings are: error_status_ok: Completed normally. ems_s_no_memory: The EMS server received a memory allocation error.

【0120】・遠隔使用プロセスのグループへのイベン
ト・フィルタ追加 void rconsumer_add_filter_to_group( [in] handle_t handle, [in] cons_context_t ch, [in] ems_filtername_list_t* filter_list, [out] error_status_t* status); 説明:使用プロセスのイベント・フィルタ・グループへ
フィルタ・リスト(filter_list)のイベント・フィルタ
を追加する。使用プロセスはそのuuidにより識別され
る。許可要求。 (w) on/.:/host/<hostname>/ems-server/consumers パラメータ: 入力 handle:EMS結合ハンドル ch:遠隔使用プロセスのレジスタより返される使用プロ
セスのコンテキスト 出力 status Rturns:ルーチンが正常に完了したか否か、また
正常に完了しなかった理由を示す状態コードをこのルー
チンから返す。可能な状態コード及びこれらの意味は次
の通りである。 error_status_ok :正常完了。
Add event filter to remote use process group void rconsumer_add_filter_to_group ([in] handle_t handle, [in] cons_context_t ch, [in] ems_filtername_list_t * filter_list, [out] error_status_t * status); Description: Use process Add event filters from the filter list (filter_list) to the event filter group. The using process is identified by its uuid. Authorization request. (w) on /.:/ host / <hostname> / ems-server / consumers Parameter: Input handle: EMS binding handle ch: Context output of used process returned from remote used process register status Rturns: Routine completed normally This routine returns a status code indicating whether or not it has completed and the reason why it did not complete normally. The possible status codes and their meanings are: error_status_ok: Completed normally.

【0121】・EMSによる伝送 void ems_transmit( [in] handle_t handle, [in] ems_event_t* event, [out] error_status_t* status); 説明:EMSから使用プロセスへイベントを伝送する。 パラメータ: 入力 handle:使用プロセス結合ハンドル event:イベント 出力 status Rturns:ルーチンが正常に完了したか否か、また
正常に完了しなかった理由を示す状態コードをこのルー
チンから返す。可能な状態コード及びこれらの意味は次
の通りである。 error_status_ok :正常完了。
-Transmission by EMS void ems_transmit ([in] handle_t handle, [in] ems_event_t * event, [out] error_status_t * status); Description: Transmits an event from the EMS to the used process. Parameters: Input handle: Used process binding handle event: Event output status Rturns: Returns a status code from this routine that indicates whether the routine completed successfully and why it did not complete successfully. The possible status codes and their meanings are: error_status_ok: Completed normally.

【0122】本発明によるイベント管理サービスの好適
な実施例の1つは、コンピュータのランダム・アクセス
・メモリ内に常駐するコード・モジュール内の命令セッ
トとしたものである。コンピュータにより要求されるま
では、この命令セットは別のコンピュータ・メモリに記
憶されていてもよい。例えば、ハードディスク・ドライ
ブ、又は(CDROMにて適宜使用する)光ディスク若
しくは(フロッピー・ディスク・ドライブにて適宜使用
する)フロッピーディスク等の取出し可能メモリであ
る。さらに上述の様々な方法は、選択的に活動状態とさ
れるか又はソフトウェアにより認識される汎用的コンピ
ュータにおいて簡便に実施されるが、当業者であれば、
これらの方法が、必要なステップを実行するべく構築さ
れたハードウェアにおいても、ファームウェアにおいて
も、又はさらに専用化された装置においても実行可能で
あることは自明であろう。
One of the preferred embodiments of the event management service according to the present invention is an instruction set in a code module resident in the random access memory of the computer. This instruction set may be stored in another computer memory until required by the computer. For example, it is a removable memory such as a hard disk drive, an optical disk (which is appropriately used in a CDROM), or a floppy disk (which is appropriately used in a floppy disk drive). Moreover, while the various methods described above are conveniently implemented on a general-purpose computer that is selectively activated or recognized by software, one of ordinary skill in the art would appreciate that
It will be appreciated that these methods can be implemented in hardware built to perform the necessary steps, in firmware, or even on more specialized devices.

【0123】図8は、本発明が実施された代表的なコン
ピュータ・システムのブロック図を示す。システム・ユ
ニット21は、様々な構成要素が結合されることにより
これらの構成要素間の通信が実現される1又は複数のシ
ステム・バス131を具備する。マイクロプロセッサ1
32はシステム・バス131へ接続され、そしてやはり
システム・バス131へ接続された読取専用メモリ(R
OM)133及びランダム・アクセス・メモリ(RA
M)134によりサポートされる。マイクロプロセッサ
は、386又は486マイクロプロセッサを含むIntel
ファミリのマイクロプロセッサであっても、Motorolaフ
ァミリ(68000、68020若しくは68030)等の他のマイクロ
プロセッサであっても、又はIBM、Hewlett Packard、Su
n、Intel、Motorola他により製造されているRISCマ
イクロプロセッサであってもよい。
FIG. 8 shows a block diagram of a typical computer system in which the present invention may be implemented. The system unit 21 comprises one or a plurality of system buses 131 in which various components are combined to realize communication between these components. Microprocessor 1
32 is connected to the system bus 131, and is also a read-only memory (R
OM) 133 and random access memory (RA
M) supported by 134. Microprocessors include Intel, including 386 or 486 microprocessors
Family of microprocessors, other microprocessors such as the Motorola family (68000, 68020 or 68030) or IBM, Hewlett Packard, Su
It may be a RISC microprocessor manufactured by Intel, Motorola, et al.

【0124】ROM133は、他のコードの中に基本入
出力システム(BIOS)を含み、これは、対話やディス
ク・ドライブ及びキーボード等の基本ハードウェアのオ
ペレーションを制御する。RAM134は、オペレーテ
ィング・システム及びアプリケーション・プログラムが
ロードされる主メモリである。メモリ管理チップ135
はシステム・バス131へ接続され、RAM134とハ
ードディスク・ドライブ136及びフロッピーディスク
・ドライブ137との間のデータ伝送を含めて直接メモ
リ・アクセス・オペレーションを制御する。CDROM
142もまたシステム・バス131へ接続され、例えば
マルチメディア・プログラム又は大規模データベース等
の大量のデータを記憶するために用いられる。
ROM 133 contains the Basic Input / Output System (BIOS), among other code, which controls the operation of basic hardware such as dialogs and disk drives and keyboards. RAM 134 is the main memory into which the operating system and application programs are loaded. Memory management chip 135
Is connected to the system bus 131 and controls direct memory access operations including data transmission between the RAM 134 and the hard disk drive 136 and floppy disk drive 137. CDROM
142 is also connected to the system bus 131 and is used to store large amounts of data such as multimedia programs or large databases.

【0125】このシステム・バス131へは、様々なI
/O制御装置も接続されている。例えば、キーボード制
御装置138、マウス制御装置139、ビデオ制御装置
140、及びオーディオ制御装置141である。キーボ
ード制御装置138は、キーボード122のためのハー
ドウェア・インタフェースを提供する。マウス制御装置
139は、マウス123のためのハードウェア・インタ
フェースを提供する。ビデオ制御装置140は、表示装
置124のためのハードウェア・インタフェースであ
る。オーディオ制御装置141は、スピーカー125a
及び125bのためのハードウェア・インタフェースで
ある。トークン・リング・アダプタ等のI/O制御装置
150は、ネットワーク156を通して他の同様に構築
されたデータ処理システムへの通信を可能とする。
To this system bus 131, various I
The / O control device is also connected. For example, keyboard controller 138, mouse controller 139, video controller 140, and audio controller 141. Keyboard controller 138 provides a hardware interface for keyboard 122. Mouse controller 139 provides a hardware interface for mouse 123. Video controller 140 is a hardware interface for display device 124. The audio control device 141 includes a speaker 125a.
And 125b are hardware interfaces. I / O controller 150, such as a token ring adapter, enables communication over network 156 to other similarly constructed data processing systems.

【0126】図8に示す通り、RAM134は、フィル
タ機構及びキュー機構を含むイベント管理サービス(E
MS)22をサポートする。スレッド・サービスは、符
号158で示され、複数のスレッド・プロセス制御ルー
チン160a〜160nを含む。
As shown in FIG. 8, the RAM 134 has an event management service (E) including a filter mechanism and a queue mechanism.
MS) 22 is supported. The thread service is shown at 158 and includes a plurality of thread process control routines 160a-160n.

【0127】以上、特定のオペレーティング・システム
及びネットワーク環境(OSF DCE)における好適
例に関して本発明を説明したが、当業者であれば、他の
異なるオペレーティング・システム及びネットワーク・
アーキテクチャにおいて変更を含めて本発明を実施可能
であることは自明であろう。本発明は、OSF DCE
アーキテクチャに限定して解釈されるべきではなく、従
って更に一般的に本発明は、従来の環境であろうとオブ
ジェクト指向環境であろうと任意のネットワーク環境を
包含するものとして広く解釈されるべきである。
Although the present invention has been described above with reference to a preferred embodiment for a particular operating system and network environment (OSF DCE), those skilled in the art will appreciate other different operating system and network environments.
It will be appreciated that the invention can be implemented with changes in architecture. The present invention is based on the OSF DCE
It should not be construed as limited to the architecture, and therefore, more generally, the present invention should be broadly construed as encompassing any network environment, whether conventional or object oriented.

【0128】まとめとして、本発明の構成に関して以下
の事項を開示する。
In summary, the following matters will be disclosed regarding the configuration of the present invention.

【0129】(1)分散資源に対してユーザによりアク
セス可能でありかつ1又は複数のイベント提供プロセス
が1又は複数のイベント使用プロセスにより使用される
イベントを発生する分散演算環境においてイベントを管
理する方法であって、前記1又は複数のイベント提供プ
ロセスにより発生される複数のイベントのうちいずれを
1つのイベント使用プロセスへ伝送するべきかを該イベ
ント使用プロセスが規定するステップと、所定のリモー
ト・プロシージャ・コール(RPC)に関連するイベント
が前記イベント使用プロセスへ伝送される前記複数のイ
ベントの1つであるか否かを、イベント管理サービスが
判断するステップと、前記所定のRPCに関連する前記
イベントが前記イベント使用プロセスへ伝送される前記
複数のイベントの1つである場合に、前記イベント管理
サービスから該イベント使用プロセスへ該イベントを提
供するステップとを含む分散演算環境におけるイベント
管理方法。 (2)前記所定のRPCがイベント記録サービスから出
される上記(1)に記載の分散演算環境におけるイベン
ト管理方法。 (3)前記イベントが、リモート・プロシージャ・コー
ルを用いて前記イベント管理サービスから前記イベント
使用プロセスへ提供される上記(1)に記載の分散演算
環境におけるイベント管理方法。 (4)前記イベント使用プロセスを前記イベント管理サ
ービスに登録するステップを含む上記(1)に記載の分
散演算環境におけるイベント管理方法。 (5)前記イベント使用プロセスをセキュリティ・サー
ビスにより認証するステップを含む上記(4)に記載の
分散演算環境におけるイベント管理方法。 (6)前記イベント使用プロセスが、1又は複数のイベ
ント・フィルタを有するイベント・フィルタ・グループ
を規定することにより前記1又は複数のイベント提供プ
ロセスからいずれのイベントを受取るかを選択する上記
(1)に記載の分散演算環境におけるイベント管理方
法。 (7)前記イベント・フィルタ・グループの各イベント
・フィルタが一組のフィルタ表記を含む上記(6)に記
載の分散演算環境におけるイベント管理方法。 (8)1つのフィルタ内の全ての前記フィルタ表記が所
定の条件に適合する場合に、該フィルタが前記イベント
を通過させる上記(7)に記載の分散演算環境における
イベント管理方法。 (9)1つのフィルタ内の前記フィルタ表記のいずれか
1つが所定の条件に適合しない場合に、該フィルタが前
記イベントを通過させない上記(7)に記載の分散演算
環境におけるイベント管理方法。 (10)前記フィルタが前記イベントを通過させない場
合に、前記イベント・フィルタ・グループ内の次のフィ
ルタが評価される上記(9)に記載の分散演算環境にお
けるイベント管理方法。 (11)分散資源に対してユーザによりアクセス可能で
ありかつ1又は複数のイベント提供プロセスが1又は複
数のイベント使用プロセスにより使用されるイベントを
発生する分散演算環境においてイベントを管理する方法
であって、少なくとも1つのイベント提供プロセスが1
つのイベント使用プロセスから離れたマシン上に配置さ
れている場合に、前記1又は複数のイベント提供プロセ
スにより発生される複数のイベントのうちいずれを前記
イベント使用プロセスへ伝送するべきかを該複数のイベ
ント使用プロセスの各々が規定するステップと、イベン
ト記録サービスからのリモート・プロシージャ・コール
に応答して、各リモート・プロシージャ・コールに関連
するイベントが前記複数のイベント使用プロセスのいず
れかへ伝送されるべきイベントであるか否かをイベント
管理サービスが判断するステップと、前記リモート・プ
ロシージャ・コールに関連する前記イベントが前記複数
のイベント使用プロセスのいずれかへ伝送されるべき場
合には、リモート・プロシージャ・コールを用いること
により、前記イベントの伝送を要求した全てのイベント
使用プロセスに対して前記イベント管理サービスから該
イベントを提供するステップとを含む分散演算環境にお
けるイベント管理方法。 (12)少なくとも1つのイベント使用プロセスを認証
するステップを含む上記(11)に記載の分散演算環境
におけるイベント管理方法。 (13)少なくとも1つのイベント使用プロセスが、1
又は複数のイベント・フィルタを有するイベント・フィ
ルタ・グループを規定することにより、いずれのイベン
トを前記1又は複数のイベント提供プロセスから伝送す
るべきかを選択する上記(11)に記載の分散演算環境
におけるイベント管理方法。 (14)少なくとも1つのイベント提供プロセスが、そ
のイベント提供プロセスのイベントを受取るべく前記イ
ベント管理サービスに登録された前記イベント使用プロ
セスを認識しない上記(11)に記載の分散演算環境に
おけるイベント管理方法。 (15)イベント・ログにイベントを保存するステップ
を含む上記(11)に記載の分散演算環境におけるイベ
ント管理方法。 (16)分散資源に対してユーザによりアクセス可能な
分散演算環境を設けたコンピュータ・ネットワークであ
って、1又は複数のイベント提供プロセスから1又は複
数のイベント使用プロセスへイベントを渡すためのイベ
ント・チャネルを設立するイベント管理サービス手段
と、前記1又は複数のイベント提供プロセスから前記イ
ベント管理サービス手段へ、そして該イベント管理サー
ビス手段から前記1又は複数のイベント使用プロセスへ
イベントを提供するリモート・プロシージャ・コール手
段とを有するコンピュータ・ネットワーク。 (17)前記イベント管理サービス手段からイベントを
受取るためにイベント使用プロセスを認証するアクセス
制御手段を有する上記(16)に記載のコンピュータ・
ネットワーク。 (18)前記1又は複数のイベント使用プロセスから前
記イベント管理サービス手段へイベントを与えるイベン
ト記録サービス手段を有する上記(16)に記載のコン
ピュータ・ネットワーク。 (19)分散演算環境において使用されるコンピュータ
・システムであって、プロセッサと、前記プロセッサ上
で実行されるオペレーティング・システムと、1又は複
数のイベント提供プロセスから1又は複数のイベント使
用プロセスへイベントを渡すためのイベント・チャネル
を設立するべく前記オペレーティング・システムにより
実行されるイベント管理サービス(EMS)・プログラム
手段と、前記1又は複数のイベント提供プロセスから前
記EMSプログラム手段へ、そして該EMSプログラム
手段から前記1又は複数のイベント使用プロセスへイベ
ントを提供するべく前記オペレーティング・システムに
より実行されるリモート・プロシージャ・コール・プロ
グラム手段とを有するコンピュータ・システム。 (20)基板を具備するコンピュータ読取り可能な記憶
媒体と、コンピュータに対してイベント・データを管理
させるべく、前記コンピュータ読取り可能な記憶媒体の
前記基板にエンコードされたコンピュータ・プログラム
・データとを有し、上記コンピュータ・プログラム・デ
ータが、1又は複数の提供プロセスから1又は複数の使
用プロセスへ非同期的にイベントを渡すイベント・チャ
ネルを設立するべくリモート・プロシージャ・コール
(RPC)に応答するイベント管理サービス(EMS)を
有する製造による物品。
(1) A method of managing events in a distributed computing environment in which a distributed resource is accessible by a user and one or more event providing processes generate an event used by one or more event using processes. A step of defining by the event using process which one of a plurality of events generated by the one or more event providing processes should be transmitted to the one event using process, and a predetermined remote procedure A step of determining by an event management service whether an event related to a call (RPC) is one of the plurality of events transmitted to the event use process, and the event related to the predetermined RPC is Of the plurality of events transmitted to the event usage process If it is One, method of managing events in a distributed computing environment, including the steps of providing the said event from the event management service to the event consumer. (2) The event management method in the distributed computing environment according to (1), wherein the predetermined RPC is issued from an event recording service. (3) The event management method in the distributed computing environment according to (1), wherein the event is provided from the event management service to the event using process using a remote procedure call. (4) The event management method in the distributed computing environment according to (1), including the step of registering the event use process in the event management service. (5) The event management method in the distributed computing environment according to (4) above, which includes a step of authenticating the event use process with a security service. (6) The event using process selects which event to receive from the one or more event providing processes by defining an event filter group having one or more event filters. An event management method in the distributed computing environment described in. (7) The event management method in the distributed computing environment according to (6), wherein each event filter of the event filter group includes a set of filter expressions. (8) The event management method in the distributed computing environment according to (7), wherein the filters pass the event when all the filter expressions in one filter meet a predetermined condition. (9) The event management method in the distributed computing environment according to (7), wherein when any one of the filter expressions in one filter does not meet a predetermined condition, the filter does not pass the event. (10) The event management method in the distributed computing environment according to (9), in which the next filter in the event filter group is evaluated when the filter does not pass the event. (11) A method of managing an event in a distributed computing environment in which a distributed resource is accessible by a user and one or more event providing processes generate an event used by one or more event using processes. , At least one event provision process is 1
Which of the plurality of events generated by the one or more event providing processes should be transmitted to the event using process when the event is distributed on a machine away from the one event using process; In response to the steps defined by each of the consuming processes and the remote procedure call from the event recording service, the event associated with each remote procedure call should be transmitted to any of the plurality of event consuming processes. The event management service determines if the event is an event, and if the event associated with the remote procedure call is to be transmitted to any of the plurality of event consuming processes, the remote procedure call. By using a call, METHOD event management from Preparative the event management service to all event consumer that requested the transmission of the distributed computing environment comprising the steps of providing the event. (12) The event management method in the distributed computing environment according to (11) above, including a step of authenticating at least one event using process. (13) At least one event use process is 1
Alternatively, in the distributed computing environment according to (11), which event is to be transmitted from the one or more event providing processes by defining an event filter group having a plurality of event filters. Event management method. (14) The event management method in the distributed computing environment according to (11) above, wherein at least one event providing process does not recognize the event using process registered in the event management service to receive an event of the event providing process. (15) The event management method in the distributed computing environment according to (11) above, which includes a step of storing the event in an event log. (16) A computer network provided with a distributed computing environment in which distributed resources can be accessed by users, and an event channel for passing an event from one or more event providing processes to one or more event using processes And an event management service means for establishing an event, and a remote procedure call for providing an event from the one or more event providing processes to the event management service means, and from the event management service means to the one or more event using processes. A computer network having means. (17) The computer according to (16) above, which has access control means for authenticating an event using process in order to receive an event from the event management service means.
network. (18) The computer network according to (16) above, which has an event recording service means for giving an event from the one or more event using processes to the event management service means. (19) A computer system used in a distributed computing environment, comprising: a processor, an operating system executed on the processor, and one or more event providing processes, and one or more event using processes. Event management service (EMS) program means executed by the operating system to establish an event channel for passing, and from the one or more event providing processes to the EMS program means and from the EMS program means A remote procedure call program means executed by the operating system to provide events to the one or more event consuming processes. (20) A computer-readable storage medium having a substrate, and computer program data encoded on the substrate of the computer-readable storage medium for causing a computer to manage event data. A remote procedure call for establishing an event channel through which the computer program data asynchronously passes events from one or more providing processes to one or more using processes
An article of manufacture that has an Event Management Service (EMS) that responds to (RPC).

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明が実施されたコンピュータ・ネットワー
クを示す図である。
FIG. 1 shows a computer network in which the present invention is implemented.

【図2】本発明が実施された、接続されたマシンによる
代表的な分散演算ドメインを示す図である。
FIG. 2 illustrates a representative distributed computing domain with connected machines in which the present invention is implemented.

【図3】既存のDCEサブシステムのコンテキスト内に
おける本発明のイベント管理サービスの代表的な実施例
を示すブロック図である。
FIG. 3 is a block diagram illustrating an exemplary embodiment of the event management service of the present invention within the context of an existing DCE subsystem.

【図4】本発明によりイベント・フィルタを構成する方
法を示すブロック図である。
FIG. 4 is a block diagram illustrating a method of configuring an event filter according to the present invention.

【図5】本発明によるフィルタ機構のイベント使用プロ
セス構文解析ルーチンを示す流れ図である。
FIG. 5 is a flow chart illustrating an event-using process parsing routine of a filter mechanism according to the present invention.

【図6】イベント管理サービスのキュー構成を示すブロ
ック図である。
FIG. 6 is a block diagram showing a queue configuration of an event management service.

【図7】本発明のイベント・キュー管理ルーチンを示す
流れ図である。
FIG. 7 is a flow chart showing the event queue management routine of the present invention.

【図8】本発明のイベント管理サービスが実施されたコ
ンピュータ・システムのブロック図である。
FIG. 8 is a block diagram of a computer system in which the event management service of the present invention is implemented.

【符号の説明】[Explanation of symbols]

3 ネットワーク 10 処理システム 12 DCEセル 14 サーバ 16 DCEクライアント 18 セキュリティ・サービス 20 イベント記録サービス 22 イベント管理サービス(EMS) 24 イベント提供プロセス 26 イベント使用プロセス 28 DCE監査 30 DCESVC 31 RPC 32 EMSAPI層 34 監査トレイル 36 SVCログ・ファイル 38 コンソール 40 使用プロセス・データベース 42 イベント・ログ・ファイル 44 イベント形式データベース 45 フィルタ 46 イベント・フィルタ・データベース 47 キュー 3 Network 10 Processing System 12 DCE Cell 14 Server 16 DCE Client 18 Security Service 20 Event Recording Service 22 Event Management Service (EMS) 24 Event Providing Process 26 Event Using Process 28 DCE Audit 30 DCESVC 31 RPC 32 EMSAPI Layer 34 Audit Trail 36 SVC log file 38 Console 40 Process database used 42 Event log file 44 Event format database 45 Filter 46 Event filter database 47 Queue

───────────────────────────────────────────────────── フロントページの続き (72)発明者 グレゴリー・アラン・ウィルソン アメリカ合衆国78731、テキサス州、オー スチン、ウォルナット・クレイ 3917 ─────────────────────────────────────────────────── —————————————————————————————————————— Inventor Gregory Alan Wilson, Walnut Clay 3917, Austin, TX 78731, USA

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】分散資源に対してユーザによりアクセス可
能でありかつ1又は複数のイベント提供プロセスが1又
は複数のイベント使用プロセスにより使用されるイベン
トを発生する分散演算環境においてイベントを管理する
方法であって、 前記1又は複数のイベント提供プロセスにより発生され
る複数のイベントのうちいずれを1つのイベント使用プ
ロセスへ伝送するべきかを該イベント使用プロセスが規
定するステップと、 所定のリモート・プロシージャ・コール(RPC)に関連
するイベントが前記イベント使用プロセスへ伝送される
前記複数のイベントの1つであるか否かを、イベント管
理サービスが判断するステップと、 前記所定のRPCに関連する前記イベントが前記イベン
ト使用プロセスへ伝送される前記複数のイベントの1つ
である場合に、前記イベント管理サービスから該イベン
ト使用プロセスへ該イベントを提供するステップとを含
む分散演算環境におけるイベント管理方法。
1. A method for managing events in a distributed computing environment in which distributed resources are accessible by a user and one or more event providing processes generate events used by one or more event consuming processes. And a step of defining by the event using process which one of the plurality of events generated by the one or more event providing processes should be transmitted to the one event using process, and a predetermined remote procedure call A step of determining whether an event related to (RPC) is one of the plurality of events transmitted to the event use process, the event related to the predetermined RPC is One of the plurality of events transmitted to the event consuming process In some cases, method of managing events in a distributed computing environment, including the steps of providing the said event from the event management service to the event consumer.
【請求項2】前記所定のRPCがイベント記録サービス
から出される請求項1に記載の分散演算環境におけるイ
ベント管理方法。
2. The method of managing events in a distributed computing environment according to claim 1, wherein the predetermined RPC is issued from an event recording service.
【請求項3】前記イベントが、リモート・プロシージャ
・コールを用いて前記イベント管理サービスから前記イ
ベント使用プロセスへ提供される請求項1に記載の分散
演算環境におけるイベント管理方法。
3. The event management method in a distributed computing environment according to claim 1, wherein the event is provided from the event management service to the event using process using a remote procedure call.
【請求項4】前記イベント使用プロセスを前記イベント
管理サービスに登録するステップを含む請求項1に記載
の分散演算環境におけるイベント管理方法。
4. The event management method in a distributed computing environment according to claim 1, further comprising the step of registering the event use process in the event management service.
【請求項5】前記イベント使用プロセスをセキュリティ
・サービスにより認証するステップを含む請求項4に記
載の分散演算環境におけるイベント管理方法。
5. The event management method in a distributed computing environment according to claim 4, further comprising the step of authenticating the event use process with a security service.
【請求項6】前記イベント使用プロセスが、1又は複数
のイベント・フィルタを有するイベント・フィルタ・グ
ループを規定することにより前記1又は複数のイベント
提供プロセスからいずれのイベントを受取るかを選択す
る請求項1に記載の分散演算環境におけるイベント管理
方法。
6. The event consuming process selects which event is received from the one or more event providing processes by defining an event filter group having one or more event filters. 1. An event management method in the distributed computing environment according to 1.
【請求項7】前記イベント・フィルタ・グループの各イ
ベント・フィルタが一組のフィルタ表記を含む請求項6
に記載の分散演算環境におけるイベント管理方法。
7. The event filter of the event filter group includes a set of filter expressions.
An event management method in the distributed computing environment described in.
【請求項8】1つのフィルタ内の全ての前記フィルタ表
記が所定の条件に適合する場合に、該フィルタが前記イ
ベントを通過させる請求項7に記載の分散演算環境にお
けるイベント管理方法。
8. The event management method in a distributed computing environment according to claim 7, wherein when all the filter expressions in one filter satisfy a predetermined condition, the filter passes the event.
【請求項9】1つのフィルタ内の前記フィルタ表記のい
ずれか1つが所定の条件に適合しない場合に、該フィル
タが前記イベントを通過させない請求項7に記載の分散
演算環境におけるイベント管理方法。
9. The event management method according to claim 7, wherein the filter does not pass the event when any one of the filter expressions in one filter does not meet a predetermined condition.
【請求項10】前記フィルタが前記イベントを通過させ
ない場合に、前記イベント・フィルタ・グループ内の次
のフィルタが評価される請求項9に記載の分散演算環境
におけるイベント管理方法。
10. The method of managing events in a distributed computing environment of claim 9, wherein the next filter in the event filter group is evaluated if the filter does not pass the event.
【請求項11】分散資源に対してユーザによりアクセス
可能でありかつ1又は複数のイベント提供プロセスが1
又は複数のイベント使用プロセスにより使用されるイベ
ントを発生する分散演算環境においてイベントを管理す
る方法であって、 少なくとも1つのイベント提供プロセスが1つのイベン
ト使用プロセスから離れたマシン上に配置されている場
合に、前記1又は複数のイベント提供プロセスにより発
生される複数のイベントのうちいずれを前記イベント使
用プロセスへ伝送するべきかを該複数のイベント使用プ
ロセスの各々が規定するステップと、 イベント記録サービスからのリモート・プロシージャ・
コールに応答して、各リモート・プロシージャ・コール
に関連するイベントが前記複数のイベント使用プロセス
のいずれかへ伝送されるべきイベントであるか否かをイ
ベント管理サービスが判断するステップと、 前記リモート・プロシージャ・コールに関連する前記イ
ベントが前記複数のイベント使用プロセスのいずれかへ
伝送されるべき場合には、リモート・プロシージャ・コ
ールを用いることにより、前記イベントの伝送を要求し
た全てのイベント使用プロセスに対して前記イベント管
理サービスから該イベントを提供するステップとを含む
分散演算環境におけるイベント管理方法。
11. A distributed resource is accessible by a user and one or more event providing processes are
Or a method of managing events in a distributed computing environment that generates events used by multiple event-using processes, wherein at least one event-providing process is located on a machine remote from the one event-using process In which each of the plurality of event using processes defines which of the plurality of events generated by the one or more event providing processes should be transmitted to the event using process; Remote procedure
In response to the call, the event management service determines whether the event associated with each remote procedure call is an event to be transmitted to any of the plurality of event consuming processes; If the event related to the procedure call is to be transmitted to any of the plurality of event consuming processes, a remote procedure call is used so that all the event consuming processes that have requested the transmission of the event. And providing the event from the event management service.
【請求項12】少なくとも1つのイベント使用プロセス
を認証するステップを含む請求項11に記載の分散演算
環境におけるイベント管理方法。
12. The method of managing events in a distributed computing environment of claim 11 including the step of authenticating at least one event usage process.
【請求項13】少なくとも1つのイベント使用プロセス
が、1又は複数のイベント・フィルタを有するイベント
・フィルタ・グループを規定することにより、いずれの
イベントを前記1又は複数のイベント提供プロセスから
伝送するべきかを選択する請求項11に記載の分散演算
環境におけるイベント管理方法。
13. Which event should be transmitted from at least one event providing process by at least one event consuming process by defining an event filter group having one or more event filters. The event management method in the distributed computing environment according to claim 11, wherein
【請求項14】少なくとも1つのイベント提供プロセス
が、そのイベント提供プロセスのイベントを受取るべく
前記イベント管理サービスに登録された前記イベント使
用プロセスを認識しない請求項11に記載の分散演算環
境におけるイベント管理方法。
14. The method of managing events in a distributed computing environment according to claim 11, wherein at least one event providing process does not recognize the event using process registered in the event management service to receive an event of the event providing process. .
【請求項15】イベント・ログにイベントを保存するス
テップを含む請求項11に記載の分散演算環境における
イベント管理方法。
15. The method of managing events in a distributed computing environment according to claim 11, including the step of storing the events in an event log.
【請求項16】分散資源に対してユーザによりアクセス
可能な分散演算環境を設けたコンピュータ・ネットワー
クであって、 1又は複数のイベント提供プロセスから1又は複数のイ
ベント使用プロセスへイベントを渡すためのイベント・
チャネルを設立するイベント管理サービス手段と、 前記1又は複数のイベント提供プロセスから前記イベン
ト管理サービス手段へ、そして該イベント管理サービス
手段から前記1又は複数のイベント使用プロセスへイベ
ントを提供するリモート・プロシージャ・コール手段と
を有するコンピュータ・ネットワーク。
16. A computer network provided with a distributed computing environment in which distributed resources can be accessed by users, and an event for passing an event from one or more event providing processes to one or more event using processes.・
An event management service means for establishing a channel, and a remote procedure for providing an event from the one or more event providing processes to the event management service means, and from the event management service means to the one or more event using processes. A computer network having call means.
【請求項17】前記イベント管理サービス手段からイベ
ントを受取るためにイベント使用プロセスを認証するア
クセス制御手段を有する請求項16に記載のコンピュー
タ・ネットワーク。
17. The computer network of claim 16 including access control means for authenticating an event consuming process to receive events from said event management service means.
【請求項18】前記1又は複数のイベント使用プロセス
から前記イベント管理サービス手段へイベントを与える
イベント記録サービス手段を有する請求項16に記載の
コンピュータ・ネットワーク。
18. The computer network of claim 16, further comprising event recording service means for providing events from the one or more event usage processes to the event management service means.
【請求項19】分散演算環境において使用されるコンピ
ュータ・システムであって、 プロセッサと、 前記プロセッサ上で実行されるオペレーティング・シス
テムと、 1又は複数のイベント提供プロセスから1又は複数のイ
ベント使用プロセスへイベントを渡すためのイベント・
チャネルを設立するべく前記オペレーティング・システ
ムにより実行されるイベント管理サービス(EMS)・プ
ログラム手段と、 前記1又は複数のイベント提供プロセスから前記EMS
プログラム手段へ、そして該EMSプログラム手段から
前記1又は複数のイベント使用プロセスへイベントを提
供するべく前記オペレーティング・システムにより実行
されるリモート・プロシージャ・コール・プログラム手
段とを有するコンピュータ・システム。
19. A computer system used in a distributed computing environment, comprising: a processor, an operating system executed on the processor, and one or more event providing processes to one or more event using processes. Events for passing events
Event management service (EMS) program means executed by the operating system to establish a channel; and the EMS from the one or more event providing processes.
A remote procedure call program means executed by the operating system to provide events to and from the EMS program means to the one or more event consuming processes.
【請求項20】基板を具備するコンピュータ読取り可能
な記憶媒体と、 コンピュータに対してイベント・データを管理させるべ
く、前記コンピュータ読取り可能な記憶媒体の前記基板
にエンコードされたコンピュータ・プログラム・データ
とを有し、 上記コンピュータ・プログラム・データが、 1又は複数の提供プロセスから1又は複数の使用プロセ
スへ非同期的にイベントを渡すイベント・チャネルを設
立するべくリモート・プロシージャ・コール(RPC)に
応答するイベント管理サービス(EMS)を有する製造
による物品。
20. A computer readable storage medium comprising a substrate and computer program data encoded on the substrate of the computer readable storage medium for causing a computer to manage event data. An event having the computer program data responding to a remote procedure call (RPC) to establish an event channel for asynchronously passing an event from one or more providing processes to one or more using processes. An article of manufacture with a management service (EMS).
JP8185102A 1995-08-18 1996-07-15 Method and system for controlling event in dispersed operating environment Pending JPH0962524A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51685695A 1995-08-18 1995-08-18
US516856 1995-08-18

Publications (1)

Publication Number Publication Date
JPH0962524A true JPH0962524A (en) 1997-03-07

Family

ID=24057383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8185102A Pending JPH0962524A (en) 1995-08-18 1996-07-15 Method and system for controlling event in dispersed operating environment

Country Status (1)

Country Link
JP (1) JPH0962524A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059483A (en) * 2006-09-01 2008-03-13 Canon Inc Communication system, control method thereof, and communication apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059483A (en) * 2006-09-01 2008-03-13 Canon Inc Communication system, control method thereof, and communication apparatus

Similar Documents

Publication Publication Date Title
JPH0962523A (en) Method and system for controlling event in dispersed operating environment
EP0759591B1 (en) Event management service
US20220070122A1 (en) Method and Apparatus for Composite User Interface Generation
KR101066682B1 (en) Method of notification for shared resources
US5881315A (en) Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive
US6807580B2 (en) Method and apparatus for communicating among a network of servers
US6785726B1 (en) Method and apparatus for delivering local and remote server events in a similar fashion
US6922724B1 (en) Method and apparatus for managing server load
US7412501B2 (en) Event consumers for an event management system
US7174557B2 (en) Method and apparatus for event distribution and event handling in an enterprise
US6789112B1 (en) Method and apparatus for administering a server having a subsystem in communication with an event channel
US6466974B1 (en) Environment for creating and managing network management software objects
US20110078708A1 (en) System and Method for Communication Between Portal Applications and Portlet Containers
US20020083146A1 (en) Data model for automated server configuration
US20030033398A1 (en) Method, system, and program for generating and using configuration policies
US20070136269A1 (en) Information monitoring method
WO2003034208A2 (en) Method, system, and program for configuring system resources
JPH11312153A (en) Method and device for managing work load between object servers
EP1614254A1 (en) Method and system of alert notification
US8151360B1 (en) System and method for administering security in a logical namespace of a storage system environment
US7275250B1 (en) Method and apparatus for correlating events
US20010049686A1 (en) System and method for implementing java-based software network management objects
JPH0962524A (en) Method and system for controlling event in dispersed operating environment
Stanek IIS 8 Administration: The Personal Trainer for IIS 8.0 and IIS 8.5
Enterprise BEA™ SNMP Agent

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010807