JPH103393A - イベント送受信方法及び装置 - Google Patents

イベント送受信方法及び装置

Info

Publication number
JPH103393A
JPH103393A JP8175443A JP17544396A JPH103393A JP H103393 A JPH103393 A JP H103393A JP 8175443 A JP8175443 A JP 8175443A JP 17544396 A JP17544396 A JP 17544396A JP H103393 A JPH103393 A JP H103393A
Authority
JP
Japan
Prior art keywords
event
reception
management table
receiving
queue
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.)
Granted
Application number
JP8175443A
Other languages
English (en)
Other versions
JP3550890B2 (ja
Inventor
Koji Motoyama
孝治 本山
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.)
Takaoka Toko Co Ltd
Original Assignee
Takaoka Electric Mfg Co Ltd
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 Takaoka Electric Mfg Co Ltd filed Critical Takaoka Electric Mfg Co Ltd
Priority to JP17544396A priority Critical patent/JP3550890B2/ja
Publication of JPH103393A publication Critical patent/JPH103393A/ja
Application granted granted Critical
Publication of JP3550890B2 publication Critical patent/JP3550890B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 不必要なイベントを無効にすることができ、
またイベントの受信順序を自由に変更できるイベント送
受信装置を提供すること 【解決手段】 イベント名と、送受信回数を関連付けて
登録する受信イベント管理テーブル14と非受信イベン
ト管理テーブル15を設け、送信側プロセス11は、イ
ベントキュー12に格納する際に、いずれかのテーブル
に登録されたそのイベントについての送信回数を更新す
る。受信側プロセス13は、受信イベント管理テーブル
の送信回数と受信回数を比較し、送信回数の方が大きい
時はイベント受信回数を更新して、イベントキュー12
からイベントを読み込む。イベント名を登録する受信イ
ベント管理テーブルと非受信イベント管理テーブルとの
間でそのイベントを相手側のテーブルに移し替えること
により、受信順序を入れ替え、受信回数を大きくするこ
とにより、不要なものを受信しないで済む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、イベント送受信方
法及び装置に関するもので、より具体的には、イベント
キューに格納したイベントの読み出し順を決定する部分
の改良に関する。
【0002】
【従来の技術】コンピュータシステム内でのイベントの
伝送方式の一つとして、キューを用いたものがある。こ
れはよく知られているように、あるプロセスから送信さ
れたイベントを一旦メモリ内に割り当てられたキュー
(本明細書ではこれを「イベントキュー」と称する)
に、送信された順に格納していき、そのイベントキュー
に格納された各イベントは、格納された順に取り出され
るFIFO型のデータ構造で管理されるようになってい
る。
【0003】また、送信されるイベントには、重要度・
緊急度が異なるものがあり、係る場合に常に上記FIF
O型で管理されると、スムーズな処理ができなくなる。
そこで、係る問題を解決するため、送信する個々のイベ
ントに優先度(プライオリティ)を示すデータを付加
し、イベントの取り出しは、優先度が一番高いものから
順に行うようにし、仮に優先度が同じものの場合には、
先に格納したものを取り出すようにしたものがある。こ
のように優先度とFIFO型を組み合わせたものはプラ
イオリティキューとも称されている。
【0004】
【発明が解決しようとする課題】しかしながら、上記し
たプライオリティキュー方式では、各イベントに優先度
を付加しなければならず、そのため優先度のフラグの分
だけデータ長が長くなり、メモリの利用効率並びに伝送
効率が悪くなる。
【0005】また、優先度(プライオリティ)を付加す
る処理が必要となるばかりでなく、優先度は、伝送する
イベントの種類のみに起因するのではなく、送信後に受
信する順番を替えたいことがあり、係る場合には送信後
に優先度の変更ができない従来のプライオリティキュー
方式では充分に対応できない。すなわち、イベントの受
信処理時間がイベントの送信間隔よりも長い時でしかも
同時に複数のイベントが送信された場合には、処理しき
れないイベントがイベントキューに滞留してしまい、新
たに送信されたイベントを受信し、個別処理するために
は、滞留している全てのイベントの受信処理を行わなけ
ればならないが、これも、同時(比較的短時間の間)に
イベントキューに格納されるイベント数が少ない場合に
は問題が発生しないので、周囲の状況により同一のイベ
ントであっても、FIFO型で受信しても滞留を起こさ
ない場合と、滞留を起こす場合がある。したがって、前
記イベントキューに蓄えられたイベントの受信順序を自
由に変更することができると好ましいが、従来のもので
はそれを解決できるものがなかった。
【0006】本発明は、上記した背景に鑑みてなされた
もので、その目的とするところは、上記した問題を解決
し、滞留したイベントで不必要なイベントに対して受信
処理を行うかどうかを選択的に行えることと、特定の処
理要求イベントに対して一時的に受信処理を行わない方
法を提供することにより、イベントの受信順序を自由に
変更し、効率の良いイベントの送受信を行えるイベント
送受信方法及び装置を提供するものである。
【0007】
【課題を解決するための手段】上記した目的を達成する
ため、本発明に係るイベント送受信方法では、送信側プ
ロセスから受信側プロセスに対してイベントを送信する
に際し、送信側プロセスは、前記イベントをイベントキ
ューに順次格納し、受信側プロセスは、前記イベントキ
ューに格納されたイベントを所定の順で読み出すように
したイベント送受信方法において、イベントの種類ごと
にイベント名(実施の形態では「イベント識別子」)と
送信回数と受信回数を関連づけて管理する受信イベント
管理テーブルを設け、イベントを送信する際に、そのイ
ベントが前記受信イベント管理テーブルに格納されてい
る場合には、前記イベントキューに格納するとともに、
その送信するイベントに対応する前記送信回数を更新
し、前記受信側プロセスが、前記イベントキューに格納
されたイベントを受信する際には、前記受信イベント管
理テーブルのイベントの送信回数と受信回数とを比較
し、前記送信回数の方が大きいイベントのみを受信する
とともに、前記受信イベント管理テーブルの受信したイ
ベントに対応する受信回数を更新するようにし、かつ、
前記受信回数の更新を前記イベントの受信と関係なく、
強制的に変更できるようにし、前記受信側プロセスが受
信したイベントに加え、前記送信回数が前記受信回数よ
りも大きくないイベントをイベントキューから削除する
ようにした(請求項1)。
【0008】そして、上記した方法を実施するのに適し
た本発明に係るイベント送受信装置では、送信側プロセ
スから送信されたイベントを一次的に格納するイベント
キューと、前記イベントキューに格納されたイベントを
受信する受信側プロセスと、イベントの種類ごとにイベ
ント名と送信回数と受信回数を関連づけて管理する受信
イベント管理テーブルと、前記イベントキューにイベン
トが格納される都度、その格納されたイベントに対応す
るイベント名に関連付けられた送信回数を更新する送信
回数更新手段(実施の形態では「送信側プロセス」)
と、前記イベントキューに格納されたイベントが前記受
信側プロセスに受信される都度、その受信されたイベン
トに対応するイベント名に関連付けられた受信回数を更
新する受信回数更新手段(実施の形態では「受信側プロ
セス」)と、前記イベントの受信と関係なく、前記受信
回数を更新する受信回数強制更新手段(実施の形態では
「受信側プロセス」)とを備え、さらに、前記受信側プ
ロセスは、前記イベントキューに格納されたイベントの
うち、前記受信イベント管理テーブルのイベントの送信
回数の方が受信回数よりも大きいイベントのみを受信す
るようにし、かつ、前記受信側プロセスが受信したイベ
ントと前記送信回数が前記受信回数よりも大きくないイ
ベントをイベントキューから削除する手段(実施の形態
では「受信側プロセス」)とを備えて構成した(請求項
2)。
【0009】なお、受信イベント管理テーブルに対する
イベント名の登録は、すべてのイベント名を登録しても
良く、或いは選択的に所望イベント名のみを登録しても
良い。
【0010】請求項1,2に記載した発明では、受信イ
ベント管理テーブルに登録されたものでしかも送信回数
の方が受信回数よりも大きいイベントのみが受信され
る。したがって、そもそも受信側プロセスにとって、不
要なイベントがある場合には、そのイベントを受信イベ
ント管理テーブルに登録しておかなければ、受信するこ
とがない。よって、不要なイベントを受信することによ
る受信並びにその後の解析に要する時間が短縮できる。
また、受信イベント管理テーブルに格納したイベントで
あっても、イベントキューでイベントの滞留が起こった
場合、滞留したイベントのなかで不必要なものがあれ
ば、受信回数強制更新手段を用いて受信イベント管理テ
ーブルにある不必要なイベントの受信回数を送信回数と
等しく設定する。すると、不必要なイベントの受信処理
を行う必要がなくなる。
【0011】また、別の解決手段としての本発明に係る
イベント送受信方法では、送信側プロセスから受信側プ
ロセスに対してイベントを送信するに際し、送信側プロ
セスは、前記イベントをイベントキューに順次格納し、
受信側プロセスは、前記イベントキューに格納されたイ
ベントを所定の順で読み出すようにしたイベント送受信
方法において、前記受信側プロセスが受信を許容するイ
ベント名を登録するための受信イベント管理テーブル
と、前記受信側プロセスが受信を拒否するイベント名を
登録するための非受信イベント管理テーブルを設け、前
記受信側プロセスが、前記イベントキューに格納された
イベントを受信する際には、少なくとも前記受信イベン
ト管理テーブルをアクセスし、その受信イベント管理テ
ーブルに登録されたイベント名のイベントのみ受信する
ようにし、かつ、所定の条件に従い一方の管理テーブル
に登録されたイベント名を他方の管理テーブルに移し替
えられるようにした(請求項3)。
【0012】そして、その方法を実施するのに適した装
置としては、送信側プロセスから送信されたイベントを
一次的に格納するイベントキューと、前記イベントキュ
ーに格納されたイベントを受信する受信側プロセスと、
前記受信側プロセスが受信を許容するイベント名を登録
するための受信イベント管理テーブルと、前記受信側プ
ロセスが受信を拒否するイベント名を登録するための非
受信イベント管理テーブルと、前記受信イベント管理テ
ーブルまたは前記非受信イベント管理テーブルに対する
イベント名の登録を管理する管理手段(実施の形態では
「受信側プロセス」)とを備え、さらに、前記受信側プ
ロセスは、前記イベントキューに格納されたイベントの
うち、前記受信イベント管理テーブルのみを受信するよ
うにし、かつ、前記管理手段は、あるイベント名を登録
する場合には、両管理テーブルのうちいずれか一方に登
録し、一方の管理テーブルに登録されたイベント名を他
方の管理テーブルに移し替えられるように構成した(請
求項4)。
【0013】請求項3,4に記載した発明では、一時的
に受信する必要のないイベントを、非受信イベント管理
テーブルに登録しておき、受信する必要ができたとき
に、非受信イベント管理テーブルに登録されているイベ
ントを受信イベント管理テーブルに登録し直すことによ
り、イベントの受信の順序を自由に変更することができ
る。これにより、イベントキューにイベントが多数格納
されて滞留を生じることがなくなり、必要なイベントを
効率良く受信することができる。そして、プライオリテ
ィイベントキューと異なり、実際に送信するイベントに
はプライオリティ(優先度)に関するフラグを付加する
のではないので、伝送するイベントのデータ長は短くな
り、短時間で送信が可能なる。そして、イベントキュー
に格納されている間に登録している管理テーブルを切り
替えることにより、送信後に状況等に応じて優先順位を
自由に替えることができる。
【0014】そして好ましくは、請求項3に記載の各管
理テーブルが、イベント名と送信回数と受信回数を関連
づけて管理するものであって、イベントを送信する際
に、前記イベントキューに格納するとともに、そのイベ
ントが登録された前記受信イベント管理テーブルまたは
前記非受信イベント管理テーブルに登録された送信回数
を更新し、前記受信側プロセスが、前記イベントキュー
に格納されたイベントを受信する際には、対応するイベ
ント名が前記受信イベント管理テーブルに登録されてお
り、かつ、そのイベント名に関連付けられた送信回数と
受信回数とを比較し、前記送信回数の方が大きいイベン
トのみを受信するようにし、かつ、前記受信イベント管
理テーブルに登録された受信回数は、イベントを受信す
る都度更新し、さらに、その受信回数の更新を前記イベ
ントの受信と関係なく、強制的に変更できるようにし、
前記受信側プロセスが受信したイベント及び、前記送信
回数が前記受信回数よりも大きくないイベントをイベン
トキューから削除するようにすることである(請求項
5)。
【0015】そして、その方法を実施するための装置と
しては、請求項4に記載の各管理テーブルが、イベント
名と送信回数と受信回数を関連づけて管理するものであ
って、前記イベントキューにイベントが格納される都
度、その格納されたイベントに対応するイベント名に関
連付けられた前記送信回数を更新する送信回数更新手段
と、前記イベントキューに格納されたイベントが前記受
信側プロセスに受信される都度、その受信されたイベン
トに対応するイベント名に関連付けられた受信回数を更
新する受信回数更新手段と、前記イベントの受信と関係
なく、前記受信回数を更新する受信回数強制更新手段と
を備え、前記受信側プロセスが、前記イベントキューに
格納されたイベントのうち、前記受信イベント管理テー
ブルのイベントの送信回数の方が受信回数よりも大きい
イベントのみを受信するようにし、かつ、前記受信側プ
ロセスが受信したイベントと前記送信回数が前記受信回
数よりも大きくないイベントをイベントキューから削除
する手段を備えて構成することである(請求項6)。
【0016】係る構成にすると、上記した請求項1,2
と請求項3,4の作用効果を同時に発揮でき、より好ま
しいものとなる。
【0017】ここで、上記した送信回数更新手段は、実
施の形態では、送信側プロセスの機能に一体的に組み込
んでいる。しかし、本発明は必ずしも一体にする必要は
なく、例えば、イベントキューに格納されるイベントを
監視し、テーブルに登録された受信回数を更新するよう
にする手段を別途設けても良い。同様に、受信回数更新
手段と受信回数強制更新手段は、実施の形態では、受信
側プロセスの機能に一体的に組み込んでいるが、これも
いずれか一方或いは双方とも別部材として構成しても良
い。さらに、イベントを削除する手段も、実施の形態と
してでは、受信側プロセスの機能に組み込んでいるが、
別途形成しても良く、さらに、受信したイベントを削除
する手段と、受信回数と送信回数の大小関係に基づいて
イベントを削除する手段を別々に形成してももちろん良
い。さらには、各管理テーブルにイベント名等を登録し
たり、一度登録したものを別の管理テーブルに移し替え
る管理手段も実施の形態では、受信側プロセスの機能に
一体的に組込んでいるが、これも別途構成してもよい。
【0018】
【発明の実施の形態】図1は本発明が適用されるコンピ
ュータシステムの一例の概略構成を示している。本発明
の要部を説明する前に、同図に基づいてシステム全体に
ついて説明する。コンピュータがあるシステムを実行す
る場合には、各プロセス間でイベントの送受を行い、イ
ベントを受け取ったプロセスは、そのイベントの内容に
応じて所定の処理をし、必要に応じて他のプロセスに再
度イベントを送信したり、外部に出力したりする。そし
て、そのイベントの送受は、イベントを受信するプロセ
ス側にそれぞれイベントキューを接続し、送信側のプロ
セスは、そのイベントキューに対して逐次データを格納
していき、また受信側のプロセスは、そのイベントキュ
ーに格納された自分宛のイベントを所定の順で取り出す
ようになっている。
【0019】一例を示すと、あるシステム(例えば変電
所内の運転を管理するシステム)を実行するためには、
複数のプロセス1a,1b,1c,1d(実際には、こ
れ以外にも多数のプロセスが存在する)を適宜関連づけ
て連結し、イベントを受信するプロセス1a,1b,1
cについては、それぞれにイベントキュー2a,2b,
2cを接続している。そして、各プロセスは、実際に
は、プログラムで構成される。
【0020】また、図示した例における各プロセスの機
能・内容を簡単に説明すると、障害管理プロセス1a
は、システムのハードウェア並びにソフトウェアの障害
の発生・復旧を通知するイベントを受信し、その情報を
モニター画面に表示したりファイルに障害の履歴情報を
格納したりする処理をするものである。
【0021】また、ハードウェア監視プロセス1bは、
システムを構築するハードウェアの状態を監視し、障害
が発生したり、また、発生した障害が復旧されたことを
認識したならば、障害発生イベントまたは復旧イベント
を障害管理プロセス1aに対して送信する(実際には、
イベントキュー2aに格納する)ように機能する。
【0022】同様に、ソフトウェア監視プロセス1c
は、システムを構築するソフトウェアの状態を監視し、
障害が発生したり、また、発生した障害が復旧されたこ
とを認識したならば、障害発生イベントまたは復旧イベ
ントを障害管理プロセス1aに対して送信する(実際に
は、イベントキュー2aに格納する)ように機能する。
【0023】また、時刻管理プロセス1dは、内蔵する
時計に基づいて、システム全体の時間を管理するもの
で、予め定められた時刻が来ると、時刻イベントを所定
のプロセス1a〜1cに伝えるようになる。また、指定
された時間が経過された場合には、タイマーイベントを
所定のプロセス1a〜1cに伝えるようになる。そし
て、この時刻管理プロセス1dから送信されるイベント
に基づいて、各プロセスでは、一定時間間隔或いは定時
毎に所定の処理を実行することができるようになってい
る。
【0024】なお、この時刻管理プロセス1dは、内蔵
する時計に基づいて所定のイベントを所定のプロセスに
対して送信するだけで、他のプロセスからイベントを取
得することがないので、イベントキューは接続していな
い。なおまた、各プロセスで実行させる基本的な処理は
従来と同様のものを用いることができるので、それを実
行するためのより具体的な機能の詳細な説明は省略す
る。
【0025】ここで本発明では、上記したシステム構成
を前提とし、各プロセス1a〜1cがイベントキュー2
a〜2cに格納されたイベントを受け取る順番を単純に
FIFO型で行うのではなく、イベントの種類やその時
の状況に即し、FIFO型を基本としながら、適宜順番
を変えたり、不要なイベントの受け取りを拒否するよう
にし、効率よくデータの受け取りをできるようにしてい
る。そして、それを実行するためのイベント送受信装置
の一実施の形態を図2に示している。
【0026】同図に示すように、コンピュータ10内部
に実装される送信側プロセス11から送信されたイベン
トは、一旦イベントキュー12に格納され、そのイベン
トキュー12を介して受信側プロセス13に受け渡され
るようになっている。この基本構成は、上記した図1に
示すものと同様である。なお、送信側プロセス11は、
図の例では1つのみ代表として表示したが、仮に受信側
プロセス13が図1における障害管理プロセス1aとす
ると、送信側プロセス11は、ハードウェア監視プロセ
ス1b,ソフトウェア監視プロセス1c,時刻管理プロ
セス1dの3つのプロセスが並列的に存在することにな
る。
【0027】ここで本発明では、送信側プロセス11及
び受信側プロセス13からそれぞれアクセス可能な非受
信イベント管理テーブル14と、受信イベント管理テー
ブル15とを設けている。そして、各テーブル14,1
5のデータ構造は、図示するように、イベントの内容を
特定するイベント識別子(イベント名)と、そのイベン
トを送信した送信回数と、受信側プロセス13がそのイ
ベントを受信した受信回数の3つのデータを関連づけて
格納するようになっている。
【0028】そして、各管理テーブル14,15に対す
るイベント識別子の登録は、受信側プロセス13が行
う。つまり、自己が受け得るイベントを予め受信イベン
ト管理テーブル14か非受信イベント管理テーブル15
のいずれか一方に登録する。この時、いずれのテーブル
に登録するかは、そのイベントが優先して受信する必要
があるか否かにより決定され、具体的には、優先して受
信するイベントは受信イベント管理テーブル14に格納
し、優先しては受信しないイベントは非受信イベント管
理テーブル15に格納するようになっている。さらに、
その後の所定のタイミングで、一旦登録したイベント識
別子を別の管理テーブルに移し替えることができるよう
になっている。さらにまた、イベントキュー12に格納
されたイベントを受信した(読み取った)場合には、受
信イベント管理テーブル14に格納された受信回数の欄
の数値をインクリメント(1を加算)する機能を基本機
能として持ち、さらに実際に受信したか否かに関係な
く、受信回数の欄の数値の更新・書き換えを行うことが
できる機能も有している。
【0029】また、管理テーブル14,15の登録項目
のうち送信回数の欄の数値は、送信側プロセス11がイ
ベントキュー12にイベントを格納する際に、その数値
をインクリメント(1を加算)するようになっている。
【0030】次に、送信側プロセス11の本発明と関係
する部分の機能について説明する。送信側プロセス11
は、従来から有している通常の機能に加え、図3のフロ
ーチャートに示す機能を有している。すなわち、まず、
あるイベントを送信しようとした場合には、その送信先
に付随する受信イベント管理テーブル14と非受信イベ
ント管理テーブル15をアクセスし、そのイベント識別
子の欄をサーチし、送信するイベントを検索する(S1
01)。次いで、その検索したイベント識別子に関連す
るイベント送信回数をインクリメントし(S102)、
その後、送信するイベントをイベントキュー12に登録
する(S103)。そして、本発明では、FIFO型を
基本とするため、イベントキュー12への各イベントの
格納は、先頭から順に行う。つまり、一番後ろに格納す
ることになる。
【0031】一方、受信側プロセス13は、上記したよ
うに初期設定としていずれかの管理テーブル14,15
にイベント識別子を登録したり、一旦登録したイベント
識別子を別のテーブルに移し替えたり、受信回数を擬似
的に変更する機能に加え、イベントキュー12に格納さ
れたイベントを受信するという本来の機能を当然有して
いる。すなわち、その受信機能は、先頭に格納された
(一番古い)イベントから順に受信するというFIFO
型を基本とし、その際に、受信しようとしたイベント
が、2つの管理テーブル14,15のいずれに登録され
たものか、及びまたはイベント送信回数とイベント受信
回数の大小関係に基づいて、「受信する/しない」の選
択を行うことにより、不要なイベントを受信しないよう
にする。さらに、途中でイベント識別子を登録する管理
テーブルを替えることにより、一旦受信しないと選択し
たものをその後に受信可能とし、これにより、受信する
順番を替えることができるようにしている。そして、具
体的な処理は、図4のフローチャートに示すようになっ
ている。
【0032】すなわち、まず、イベントキュー12に登
録された一番古いイベントを検索する(S201)。そ
して、検索できた(成功)ならば、受信イベント管理テ
ーブル14をアクセスし、そのイベントが受信イベント
管理テーブルに登録されているものか否かを判断し(S
202)、登録されている場合には、そのイベント識別
子についてのイベント送信回数とイベント受信回数を取
得し、送信回数の方が大きいか否かを判断する(S20
3)。
【0033】そして、送信回数の方が大きい場合には、
そのイベントについてのイベント受信回数をインクリメ
ントする(S204)。その後、通常の受信処理、すな
わち、イベントキュー12からそのイベントを読み込ん
だ後(S205)、イベントキュー12から読み込んだ
イベント20を削除して処理を終了する(S206)。
【0034】一方、ステップ202の分岐判断を行った
結果、取得したイベントが受信イベント管理テーブル1
4に登録されていない場合(非受信イベント管理テーブ
ル15に登録されている)には、ステップ207に飛
び、次に古いイベントをイベントキュー12から検索
し、検索できたならば、ステップ202に戻り、上記し
た処理を繰り返し行う。また、ステップ207の処理
で、イベントを検索できない(失敗)、つまり、最新に
格納したイベントまで処理を行ったならば、一連の受信
処理を終了するようになる。
【0035】このように、受信イベント管理テーブル1
4に登録されたイベントのみを受信するようにしたた
め、たとえイベントキュー12に先に格納されたイベン
トがあったとしてもそのイベントが非受信イベント管理
テーブル15に登録されている場合には、読み出されな
い。つまり、FIFO型を前提としつつ、必ずしも先に
格納されたイベントが先に読み出されるものではなく、
必要なものから先に読み出され、その読み出し順を変え
ることができる。換言すると、本例では、受信イベント
管理テーブル14に登録されたイベントの中で、先に登
録されたものから順に読み出す(FIFO型)ようにし
ている。
【0036】しかも、受信側プロセス13により、一旦
非受信イベント管理テーブル15の登録したイベント
を、その後に受信イベント管理テーブル14側に移し替
えるようにしたため、当初は、ステップ202の判断で
Noとなり読み出されなかったものが、その後に管理テ
ーブルの移し替えが行われることによりステップ202
の判断でYesになり読み出しを可能とすることができ
る。また、逆に当初受信イベント管理テーブル14に登
録しておき、その後に非受信イベント管理テーブル15
に移し替え、受信を拒否することもできる。このよう
に、完全に読み出しの順番を入れ替えることができるよ
うになる。
【0037】なお、受信側プロセス13における各管理
テーブル14,15への登録及び移し替えは、そのプロ
セスを設計する際に行う。そして、このように本例で
は、2つの管理テーブル14,15を設置し、それらを
適宜使いわけることにより、例えば、受信に時間がかか
るとともに、さほど緊急性を有しないイベントは、とり
あえず非受信イベント管理テーブルに格納しておき、イ
ベントキュー12に格納されたイベントがなくなるか、
少なくなったときに受信イベント管理テーブルに登録し
直すことにより、効率よく受信処理ができる。また、最
初はすべてのイベントを受信イベント管理テーブル14
に登録しておき、例えば、混んできた(イベントキュー
に格納されたイベントが滞留する)場合に、受信に時間
を要するイベントを非受信イベント管理テーブル15に
移し替えることにより、スムーズにイベントの読み出し
をすることができるようにもできる。
【0038】さらに、非受信イベント管理テーブルに登
録したままにすると、受信処理しないため、自己のプロ
セスにとって不要なイベントを受信する必要がなくな
る。よって、無駄な読み込み処理や読み取ったイベント
を解析する処理等がなくなり、システム全体の稼働効率
が向上する。
【0039】一方、ステップ203の分岐判断で、イベ
ント送信回数とイベント受信回数が等しいか、イベント
受信回数の方が大きい場合には、ステップ208に飛
び、検索したイベントをイベントキューから削除する。
すなわち、通常であれば、送信側プロセス11がイベン
トをイベントキューに登録する都度イベント送信回数の
数値が1加算され(S102)、その登録されたイベン
トが読み出されることによってイベント受信回数の数値
が1加算される(S204)ため、原則としてはイベン
トキュー12にイベントが残っていると、イベント送信
回数の方が必ず大きくなり、ステップ203の判断では
Yesになる。
【0040】しかし、上記したように、受信側プロセス
13に、受信回数を強制的に変更する機能を与えたた
め、実際の受信回数以上の回数に書き換えると、イベン
トキュー12にイベントが残っていても送信回数の方が
小さくなり、ステップ203でNoと判断されることが
ある。これにより、不要なイベントを受信することなく
イベントキュー12から削除することができるようにな
る。よって、イベントキュー12にイベントが残ったま
まとなることがなくなり、メモリの使用効率が向上す
る。
【0041】次に、上記した装置を用いて、本発明に係
るイベント送受信方法の実施の形態を説明する。まず、
前提として送信側プロセス11は受信側プロセス13に
対してイベントAとイベントBとイベントCを複数送信
し、送信された各イベントは一旦イベントキュー12に
保存され、イベント受信プロセス13はイベントキュー
12からイベントを所定の順で読み込むものとする。そ
して、受信側プロセス13は、初期状態として、イベン
トAとイベントBを受信イベント管理テーブル14に登
録し、イベントCを非受信イベント管理テーブル15に
登録する。なお、各テーブル14,15のイベント送信
回数とイベント受信回数はともに「0」になっている。
【0042】ここで、送信側プロセス11が、受信側プ
ロセス13に対してイベントを「イベントA」,「イベ
ントC」,「イベントB」,「イベントB」,「イベン
トA」の順に送信したとする。すると、図3のフローチ
ャートに従って、まず、最初のイベントAは、受信イベ
ント管理テーブル14に登録されたイベントであるの
で、そのテーブル14のイベントAについてのイベント
送信回数をインクリメントし、イベントAをイベントキ
ュー12の先頭に登録する。次にイベントCは、非受
信イベント管理テーブル15に登録されたイベントであ
るので、そのテーブル15のイベントCについてのイベ
ント送信回数をインクリメントし、イベントCをイベン
トキュー12の2番目に登録する。以後係る処理を繰
り返し行うことにより、図2に示すように、イベントキ
ュー12には、送信した順にイベントが格納されるとと
もに、各管理テーブル14,15の送信回数が所定の値
となる。この時、受信はされていないため、各管理テー
ブル14,15の受信回数は0のままとなる。これによ
り、送信処理は終了する。
【0043】次に、受信処理について説明する。受信側
プロセス13は、図4に示すフローチャートに従って、
まず、イベントキュー12に登録された一番古いイベン
トを検索し、イベントAを検出する(S201)。そし
て、イベントAをキーとして受信イベント管理テーブル
14をアクセスする。すると、イベントAは、その管理
テーブル14に登録されているため、次に受信イベント
管理テーブル14に格納されたイベントAについての送
信回数(2回)と受信回数(0回)を取得するとともに
両者を比較する(S202,203)。この場合、イベ
ントAのイベント送信回数は、イベント受信回数よりも
大きいので、ステップ204〜206を順次処理する。
すなわち、のイベントAのイベント受信回数をインク
リメントして「1」にし、イベントキュー12の先頭
からイベントAを読み込んだ後、イベントキュー12か
ら読み込んだイベントAを削除する。
【0044】次に、上記処理によりのイベントAは削
除されているため、現在の一番古いイベントは、のイ
ベントCとなっている。そこで、ステップ201から再
度処理すると、イベントキュー12に登録された現在の
一番古いイベントであるイベントCを検出する。する
と、イベントCは、非受信イベント管理テーブルから検
索されるので、ステップ207に飛びイベントキュー1
2に格納されたイベントで次に古いイベントを検索し、
のイベントBを検出する。のイベントBは、受信イ
ベント管理テーブル14に登録されており、しかも、そ
の管理テーブル14のイベントBのイベント送信回数
(2)は、イベント受信回数(0)よりも大きいので、
のイベントBのイベント受信回数をインクリメント
し、イベントキュー12からのイベントBを読み込ん
だ後、イベントキュー12から読み込んだイベントBを
削除し処理を終了する。
【0045】このように、イベントキュー12に格納し
た順番は、イベントA,C,B…の順であったが、読み
出す際には、イベントCを飛び越えてイベントA,Bの
順で行われる。そして、管理テーブルに登録するイベン
ト識別子の移し替えや、受信回数の強制修正がないとす
ると、イベントキュー12に登録された一番古いイベン
トであるイベントCは読み出されず、以降に登録され
たイベントB,Aの順で読み出される。そして、最終的
な受信イベント管理テーブル14の受信回数は、ともに
2となる。つまり、FIFO型であれば、「A,C,
B,B,A」の順で読み取られ、イベントキュー12に
は、イベントが何も残らないが、「A,B,B,A」の
順で読み取られ、イベントCはイベントキュー12に残
ったままとなる。そして、例えばイベントCが読取りに
時間がかかるような場合には、FIFO型ではイベント
Cを読み取っている間に、イベントキュー12にイベン
トが次々に格納されて滞留するが、上記のようにイベン
トCを受信しないようにすることにより、他のイベント
を迅速に読み取ることができ、滞留の発生を抑制でき
る。
【0046】一方、上記したのイベントを読み取っ
て、イベントキュー12から削除した後で、受信側プロ
セス13が、以下の処理をしたとする。すなわち、イベ
ントCを受信イベント管理テーブル14に登録するとと
もに非受信イベント管理テーブル15から削除し、逆に
イベントAを非受信イベント管理テーブル15に登録し
て受信イベント管理テーブル14から削除する処理を行
う。さらに、受信イベント管理テーブル14に登録され
ているイベントBのイベント受信回数の値をイベント送
信回数と同じ値に設定したとする。すると、受信イベン
ト管理テーブル14と非受信イベント管理テーブル15
は、図5に示すような内容となる。
【0047】この状態で、さらに受信側プロセス13
が、受信処理を継続したとすると、まず、イベントキュ
ー12に登録された一番古いイベントであるイベントC
を検出する。このイベントCは、受信イベント管理テー
ブル14から検索され、しかもイベントCのイベント送
信回数(1)は、イベント受信回数(0)よりも大きい
ので、ステップ204に飛び、イベントCのイベント受
信回数をインクリメントし、イベントキュー12からイ
ベントCを読み込んだ後、イベントキュー12から読み
込んだイベントCを削除する。
【0048】次に、イベントキュー12に登録された一
番古いイベントであるのイベントBを検索する。この
イベントBは、受信イベント管理テーブル14に登録さ
れているため、イベントBのイベント送信回数(2)
と、イベント受信回数(2)を比較する。すると、送信
回数は、受信回数より大きくないのでステップ203の
分岐判断でNoとなり、ステップ208に飛び、イベン
トキュー12から検索したのイベントBを読み取るこ
となくイベントキュー12から削除する。これにより、
イベントキュー12には、のイベントAのみが格納さ
れていることになる。
【0049】そして、イベントキュー12に登録された
一番古いイベントであるイベントAを検出し、イベント
Aは、非受信イベント管理テーブル15に登録されてい
るためステップ207に飛び、イベントキュー12に格
納されたイベントで次に古いイベントを検索しようとす
るが、検索できないのでそのまま処理を終了する。すな
わち、上記したように途中で、管理テーブルの登録の入
れ替えや、受信回数の強制変更を行った場合の読み出し
の順は、「A,B,C」となり、のBは読み取
られることなく削除され、のAはイベントキュー12
に残ったままとなる。
【0050】さらに、具体的な処理の流れは説明しない
が、上記したイベントBについての受信回数を送信回数
と同じにする強制修正処理をしない場合には、読み出し
の順は、「A,B,C,B」となり、のAは
イベントキュー12に残ったままとなる。さらに、イベ
ントAについての非受信イベント管理テーブル15側へ
の移し替えを行わない(イベントCの受信イベント管理
テーブル14側への移し替えのみする)場合には、読み
出しの順は、「A,B,C,B,A」とな
り、FIFO型とは異なる順番で、イベントキュー12
からすべてのイベントが読み出されることになる。そし
て、当然のことながら、管理テーブル間でのイベント識
別子の移し替えのタイミングを変えることにより、読み
出し順は、上記したもの以外のものになる。このよう
に、読み出す順番や、読み出すイベントを任意に変える
ことができるようになる。
【0051】なお、上記した装置及び方法についての実
施の形態は、本発明の最良のものの一つで、例えば、図
1に記載のものから非受信イベント管理テーブルを除い
ても良い。また、非受信イベント管理テーブルを残して
おいたとしても、両管理テーブルの送信回数と受信回数
の項目をなくし、受信イベント管理テーブルに格納され
ているイベントのみを受信するようにしても良い。
【0052】
【発明の効果】以上のように本発明に係るイベント送受
信方法及び装置では、滞留したイベントで不必要なイベ
ントに対して受信処理を行うかどうかを選択的に行える
ことと、特定の処理要求イベントに対して一時的に受信
処理を行わない方法を提供することにより、イベントの
受信順序を自由に変更し、効率の良いイベントの送受信
が行えるようになった。
【0053】つまり、請求項1,2,5,6に記載した
発明では、そもそも受信側プロセスにとって、不要なイ
ベントがある場合には、そのイベントを受信イベント管
理テーブルに登録しておかなかったり、受信イベント管
理テーブルにある不必要なイベントの受信回数を送信回
数と等しく設定することにより、不必要なイベントの受
信処理を行う必要がなくなる。
【0054】また、請求項3,4,5,6に記載した発
明では、一時的に受信する必要のないイベントを、非受
信イベント管理テーブルに登録しておき、受信する必要
ができたときに、非受信イベント管理テーブルに登録さ
れているイベントを受信イベント管理テーブルに登録し
直すことにより、イベントの受信の順序を自由に変更す
ることができる。
【図面の簡単な説明】
【図1】本発明に係るイベント送受信方法及び装置が適
用されるシステム全体を示す概略構成図である。
【図2】本発明に係るイベント送受信装置の実施の形態
の一例を示す図である。
【図3】送信側プロセスの手順を示すフローチャート図
である。
【図4】受信側プロセスの手順を示すフローチャート図
である。
【図5】本発明の実施の形態で使われる、受信イベント
管理テーブルと非受信イベント管理テーブルの一例であ
る。
【符号の説明】
11 送信側プロセス 12 イベントキュー 13 受信側プロセス 14 受信イベント管理テーブル 15 非受信イベント管理テーブル

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 送信側プロセスから受信側プロセスに対
    してイベントを送信するに際し、前記送信側プロセス
    は、前記イベントをイベントキューに順次格納し、前記
    受信側プロセスは、前記イベントキューに格納されたイ
    ベントを所定の順で読み出すようにしたイベント送受信
    方法において、 イベントの種類ごとにイベント名と送信回数と受信回数
    を関連づけて管理する受信イベント管理テーブルを設
    け、イベントを送信する際に、そのイベントが前記受信
    イベント管理テーブルに格納されている場合には、前記
    イベントキューに格納するとともに、その送信するイベ
    ントに対応する前記送信回数を更新し、 前記受信側プロセスが、前記イベントキューに格納され
    たイベントを受信する際には、前記受信イベント管理テ
    ーブルのイベントの送信回数と受信回数とを比較し、前
    記送信回数の方が大きいイベントのみを受信するととも
    に、前記受信イベント管理テーブルの受信したイベント
    に対応する受信回数を更新するようにし、 かつ、前記受信回数の更新を前記イベントの受信と関係
    なく、強制的に変更できるようにし、 前記受信側プロセスが受信したイベントに加え、前記送
    信回数が前記受信回数よりも大きくないイベントをイベ
    ントキューから削除するようにしたことを特徴とするイ
    ベント送受信方法。
  2. 【請求項2】 送信側プロセスから送信されたイベント
    を一次的に格納するイベントキューと、 前記イベントキューに格納されたイベントを受信する受
    信側プロセスと、 イベントの種類ごとにイベント名と送信回数と受信回数
    を関連づけて管理する受信イベント管理テーブルと、 前記イベントキューにイベントが格納される都度、その
    格納されたイベントに対応するイベント名に関連付けら
    れた送信回数を更新する送信回数更新手段と、 前記イベントキューに格納されたイベントが前記受信側
    プロセスに受信される都度、その受信されたイベントに
    対応するイベント名に関連付けられた受信回数を更新す
    る受信回数更新手段と、 前記イベントの受信と関係なく、前記受信回数を更新す
    る受信回数強制更新手段とを備え、 さらに、前記受信側プロセスは、前記イベントキューに
    格納されたイベントのうち、前記受信イベント管理テー
    ブルのイベントの送信回数の方が受信回数よりも大きい
    イベントのみを受信するようにし、 かつ、前記受信側プロセスが受信したイベントと前記送
    信回数が前記受信回数よりも大きくないイベントをイベ
    ントキューから削除する手段を備えたことを特徴とする
    イベント送受信装置。
  3. 【請求項3】 送信側プロセスから受信側プロセスに対
    してイベントを送信するに際し、送信側プロセスは、前
    記イベントをイベントキューに順次格納し、受信側プロ
    セスは、前記イベントキューに格納されたイベントを所
    定の順で読み出すようにしたイベント送受信方法におい
    て、 前記受信側プロセスが受信を許容するイベント名を登録
    するための受信イベント管理テーブルと、前記受信側プ
    ロセスが受信を拒否するイベント名を登録するための非
    受信イベント管理テーブルを設け、 前記受信側プロセスが、前記イベントキューに格納され
    たイベントを受信する際には、少なくとも前記受信イベ
    ント管理テーブルをアクセスし、その受信イベント管理
    テーブルに登録されたイベント名のイベントのみ受信す
    るようにし、 かつ、所定の条件に従い一方の管理テーブルに登録され
    たイベント名を他方の管理テーブルに移し替えられるよ
    うにしたことを特徴とするイベント送受信方法。
  4. 【請求項4】 送信側プロセスから送信されたイベント
    を一次的に格納するイベントキューと、 前記イベントキューに格納されたイベントを受信する受
    信側プロセスと、 前記受信側プロセスが受信を許容するイベント名を登録
    するための受信イベント管理テーブルと、 前記受信側プロセスが受信を拒否するイベント名を登録
    するための非受信イベント管理テーブルと、 前記受信イベント管理テーブルまたは前記非受信イベン
    ト管理テーブルに対するイベント名の登録を管理する管
    理手段とを備え、 さらに、前記受信側プロセスは、前記イベントキューに
    格納されたイベントのうち、前記受信イベント管理テー
    ブルのみを受信するようにし、 かつ、前記管理手段は、あるイベント名を登録する場合
    には、両管理テーブルのうちいずれか一方に登録すると
    ともに、一方の管理テーブルに登録されたイベント名を
    他方の管理テーブルに移し替えられるようにしたことを
    特徴とするイベント送受信装置。
  5. 【請求項5】 請求項3に記載の各管理テーブルが、イ
    ベント名と送信回数と受信回数を関連づけて管理するも
    のであって、 イベントを送信する際に、前記イベントキューに格納す
    るとともに、そのイベントが登録された前記受信イベン
    ト管理テーブルまたは前記非受信イベント管理テーブル
    に登録された送信回数を更新し、 前記受信側プロセスが、前記イベントキューに格納され
    たイベントを受信する際には、対応するイベント名が前
    記受信イベント管理テーブルに登録されており、かつ、
    そのイベント名に関連付けられた送信回数と受信回数と
    を比較し、前記送信回数の方が大きいイベントのみを受
    信するようにし、 かつ、前記受信イベント管理テーブルに登録された受信
    回数は、イベントを受信する都度更新し、さらに、その
    受信回数の更新を前記イベントの受信と関係なく、強制
    的に変更できるようにし、 前記受信側プロセスが受信したイベント及び、前記送信
    回数が前記受信回数よりも大きくないイベントをイベン
    トキューから削除するようにしたことを特徴とするイベ
    ント送受信方法。
  6. 【請求項6】 請求項4に記載の各管理テーブルが、イ
    ベント名と送信回数と受信回数を関連づけて管理するも
    のであって、 前記イベントキューにイベントが格納される都度、その
    格納されたイベントに対応するイベント名に関連付けら
    れた前記送信回数を更新する送信回数更新手段と、 前記イベントキューに格納されたイベントが前記受信側
    プロセスに受信される都度、その受信されたイベントに
    対応するイベント名に関連付けられた受信回数を更新す
    る受信回数更新手段と、 前記イベントの受信と関係なく、前記受信回数を更新す
    る受信回数強制更新手段とを備え、 前記受信側プロセスが、前記イベントキューに格納され
    たイベントのうち、前記受信イベント管理テーブルのイ
    ベントの送信回数の方が受信回数よりも大きいイベント
    のみを受信するようにし、 かつ、前記受信側プロセスが受信したイベントと前記送
    信回数が前記受信回数よりも大きくないイベントをイベ
    ントキューから削除する手段を備えたことを特徴とする
    イベント送受信装置。
JP17544396A 1996-06-17 1996-06-17 イベント送受信方法及び装置 Expired - Fee Related JP3550890B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17544396A JP3550890B2 (ja) 1996-06-17 1996-06-17 イベント送受信方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17544396A JP3550890B2 (ja) 1996-06-17 1996-06-17 イベント送受信方法及び装置

Publications (2)

Publication Number Publication Date
JPH103393A true JPH103393A (ja) 1998-01-06
JP3550890B2 JP3550890B2 (ja) 2004-08-04

Family

ID=15996179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17544396A Expired - Fee Related JP3550890B2 (ja) 1996-06-17 1996-06-17 イベント送受信方法及び装置

Country Status (1)

Country Link
JP (1) JP3550890B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140315A (ja) * 2007-12-07 2009-06-25 Nec Corp コンピュータシステム、仮想記憶制御方法、及びプログラム
JP2010108294A (ja) * 2008-10-30 2010-05-13 Ntt Docomo Inc イベントキュー管理装置及びイベントキュー管理方法
KR20210078396A (ko) * 2019-12-18 2021-06-28 주식회사 쏘마 컴퓨터 내 행위 이벤트 축약 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140315A (ja) * 2007-12-07 2009-06-25 Nec Corp コンピュータシステム、仮想記憶制御方法、及びプログラム
JP2010108294A (ja) * 2008-10-30 2010-05-13 Ntt Docomo Inc イベントキュー管理装置及びイベントキュー管理方法
US8539509B2 (en) 2008-10-30 2013-09-17 Ntt Docomo, Inc. Event queue managing device and event queue managing method
KR20210078396A (ko) * 2019-12-18 2021-06-28 주식회사 쏘마 컴퓨터 내 행위 이벤트 축약 방법

Also Published As

Publication number Publication date
JP3550890B2 (ja) 2004-08-04

Similar Documents

Publication Publication Date Title
US6311210B1 (en) Method and apparatus for sending an electronic mail message to a receiving party
US5511169A (en) Data transmission apparatus and a communication path management method therefor
JPH10224395A (ja) 電子会議システム
CN110740145B (zh) 消息消费方法、装置、存储介质及电子设备
WO2020143170A1 (zh) 预测路线获取方法、装置、计算机设备及存储介质
CN113392132B (zh) Iot场景的分布式缓存方法及系统
US7917476B2 (en) Device management system using log management object and method for generating and controlling logging data therein
JPH103393A (ja) イベント送受信方法及び装置
US7411902B2 (en) Method and system for maintaining partial order of packets
CN111741041B (zh) 消息处理方法及其装置、电子设备及计算机可读介质
CN111158930A (zh) 一种基于Redis的高并发延时任务系统和处理方法
JP2908442B1 (ja) トレース情報採取方式
CN111405015A (zh) 一种数据处理方法、装置、设备及存储介质
CN111381976A (zh) 消息提示数据的更新方法、装置、存储介质及计算机设备
JPH06282447A (ja) 待ち行列管理方式
US20110302375A1 (en) Multi-Part Aggregated Variable in Structured External Storage
JPH10308767A (ja) メール送信システム、メール送信方法及び記録媒体
JPH07210511A (ja) プログラム起動方式
US7228322B1 (en) Data management apparatus of switching system
EP0622927B1 (en) Data transmission apparatus and a communication path management method therefor
CN115622961A (zh) 一种数据通信芯片报文转发的方法和装置
CN117651001A (zh) 一种交换机对直连设备的检测方法及装置、设备、介质
JPH1097447A (ja) 電文制御システム及び電文制御プログラムを格納した記憶媒体
JPH02250120A (ja) 情報処理システム試験診断プログラム自動化方式
JPH02118841A (ja) 入力待ち行列管理方式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080514

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees