JP3741371B2 - イベント制御装置およびイベント制御方法 - Google Patents
イベント制御装置およびイベント制御方法 Download PDFInfo
- Publication number
- JP3741371B2 JP3741371B2 JP2002340185A JP2002340185A JP3741371B2 JP 3741371 B2 JP3741371 B2 JP 3741371B2 JP 2002340185 A JP2002340185 A JP 2002340185A JP 2002340185 A JP2002340185 A JP 2002340185A JP 3741371 B2 JP3741371 B2 JP 3741371B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- client
- server
- condition
- predetermined
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Description
【産業上の利用分野】
本発明は、一般にコンピュータシステムに関し、詳細には計算機システム内で発生するイベントの制御に関する。
【0002】
【従来の技術】
計算機システム内では、プロセスが起動したりエラーが発生したりするなど、さまざまな事象が頻繁に発生している。そして、これらの事象には、事象の発生に応じて処理を行う必要があるものがある。例えば、ウィンドウシステムでは、キーが押されたというイベントが発生すると、それに対応するアクションを実行したり、文字を表示したりする、などである。
【0003】
このように、計算機システム内で発生した事象をイベントとしてとらえ、イベントが発生すると、それに対して何らかの処理を行うシステムの例として、X-Window System("X Window System, Version 11 Release 4 Release Notes",Jim Fulton, XConsortium, M.I.T. Laboratory for Computer Science)に代表されるウィンドウシステムなどがある。このウィンドウシステムでは、キーが押されたら文字を表示する、マウスボタンがクリックされたらメニューを表示する、などの様々なイベントに対する処理が定義されている。
【0004】
これらのイベントを取り扱うシステムの中には、発生したイベントを保存しておき再生するという機能をもつものがある。例えば、保存するイベントをキー入力だけに限定すれば、多くのエディタで実現されているキーボードマクロ(「GNU Emacs マニュアル」 28.3 キーボードマクロ、 Richard Stallman 著、竹内郁雄・天海良治 監訳、共立出版) もこの一種であると見ることができる。また、ウィンドウシステムにおいては、一連のイベントを保存しておき、まとめて再生して自動操作をさせることで、自動デモを行うことが可能なものもある。
【0005】
しかしながら、前記システムでは、多くの場合、イベントの保存や再生を行うフェーズはそれぞれ独立しており、保存するときは保存終了までずっと保存する、再生するときはまとめて再生する、というようになっている。また、保存するイベントも、全てのイベントを保存するか、ユーザが指定したイベントを保存する、というようになっている。さらに、保存したイベントを修正したり新規に作成したりする方法(特開平6-203030号「デモンストレーション機能付きエディタ」)も提案されているが、結局は、個々のイベントの修正や新規作成はユーザが行わなければならない。
【0006】
【発明が解決しようとする課題】
ところで、このような従来のイベントを取り扱うシステムでは、イベントのやり取りの不整合のために下記のような問題が発生する。
【0007】
例えば、従来のイベントを取り扱うシステムでは、あるイベントが発生しても、そのイベントの発生以降に当該イベントの発生を待つ状態になったアプリケーションは、当該イベントが過去に発生していることを知ることができないという問題があった。
【0008】
また、クライアントサーバシステムでは、クライアントを先に起動し、次にサーバを起動すると、サーバからサーバ起動イベントがクライアントに送られ、これによりクライアントはサーバが起動されたことを知ってそのサーバが提供するサービスの利用を開始するようになっているものがある。この場合、クライアントの起動がサーバの起動の後になると、クライアントはサーバ起動イベントを受け取ることができないためサーバが起動していることを知ることができず、システムがうまく働かないという問題があった。
【0009】
さらに、イベントは発生した時点で1回だけ伝わるため、ユーザが指定したりアプリケーションのイベント発生部分で対処しない限り、受けとったイベントを繰り返し自動的に発生させたり、あるいは一定時間を置いて自動的に発生させたりすることはできない。しかし、前記処理を行うためにユーザが指定したりアプリケーションのイベント発生部で対処したりすると、ユーザもしくはアプリケーションに負担をかけるという問題があった。
【0010】
また、上述のキーボードマクロのような発生したイベントを保存しておき再生する機能を用いても、自動操作や自動デモができる程度であり、イベントの発生順序や発生件数の自動的な制御などイベントに係る種々の制御を実現することはできない。さらに、イベントを保存する場合、発生するイベント全てを保存すると資源を大量に消費するという問題があり、ユーザが指定するようにするとユーザの手間が増え指定漏れのある可能性が出てくるという問題があった。
【0011】
本発明の目的は、計算機システム内で発生するイベントの発生順序や発生件数などを自動的に制御するイベント制御方法およびイベント制御装置を提供することにある。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明は、計算機内で発生したイベントを取り扱うイベント制御装置であって、前記計算機内で発生したイベントを検出するイベント検出手段と、所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理手段と、所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生手段とを備え、前記イベント保存条件として、所定の種類のイベントのみ保存させること、所定の数のイベントを保存させること、前記イベント擬似発生手段により所定の回数発生したイベントを保存させないこと、前記イベント擬似発生手段により発生した後一定時間を過ぎたイベントを保存させないことのうちの少なくともいずれか1つを条件とすることを特徴とする。
【0013】
また、本発明は、起動時にサーバ起動イベントを発生しクライアントに対しサービスを提供するサーバと、起動時にクライアント起動イベントを発生するとともに前記サーバ起動イベントを受けたとき前記サーバのサービスを利用開始するクライアントとを備えたクライアントサーバシステムにおけるイベント制御装置であって、前記サーバが起動したときに発生される前記サーバ起動イベントを検出するサーバ起動イベント検出手段と、前記サーバ起動イベント検出手段で検出したサーバ起動イベントを保存するサーバ起動イベント保存手段と、前記クライアントが起動したときに発生される前記クライアント起動イベントを検出するクライアント起動イベント検出手段と、前記クライアント起動イベント検出手段でクライアント起動イベントを検出したのを契機に、前記保存しておいたサーバ起動イベントを擬似発生して前記クライアントに送るサーバ起動イベント擬似発生手段とを備えたことを特徴とする。
【0014】
さらに、本発明は、計算機内で発生したイベントを取り扱うイベント制御方法であって、前記計算機内で発生したイベントを検出するイベント検出ステップと、所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理ステップと、所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生ステップとを備え、前記イベント保存条件として、所定の種類のイベントのみ保存させること、所定の数のイベントを保存させること、前記イベント擬似発生ステップにより所定の回数発生したイベントを保存させないこと、前記イベント擬似発生ステップにより発生した後一定時間を過ぎたイベントを保存させないことのうちの少なくともいずれか1つを条件とすることを特徴とする。
【0015】
また、本発明は、起動時にサーバ起動イベントを発生しクライアントに対しサービスを提供するサーバと、起動時にクライアント起動イベントを発生するとともに前記サーバ起動イベントを受けたとき前記サーバのサービスを利用開始するクライアントとを備えたクライアントサーバシステムにおけるイベント制御方法であって、前記サーバが起動したときに発生される前記サーバ起動イベントを検出するサーバ起動イベント検出ステップと、前記サーバ起動イベント検出ステップで検出したサーバ起動イベントを保存するサーバ起動イベント保存ステップと、前記クライアントが起動したときに発生される前記クライアント起動イベントを検出するクライアント起動イベント検出ステップと、前記クライアント起動イベント検出ステップでクライアント起動イベントを検出したのを契機に、前記保存しておいたサーバ起動イベントを擬似発生して前記クライアントに送るサーバ起動イベント擬似発生ステップとを備えたことを特徴とする。
【0016】
【作用】
本発明によれば、イベント検出手段により、計算機内で発生したイベントを検出する。検出したとき、所定のイベント保存条件に従って、前記イベントのデータを保存する。また、所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させる。
【0017】
また、クライアントがサーバの起動イベントを受け取って処理を開始するクライアントサーバシステムでは、サーバがクライアントよりも先に起動したとき、前記サーバ起動時に発生したサーバ起動イベントをサーバ起動イベント検出手段で検出して、サーバ起動イベント保存手段でそれを保存する。そして、前記クライアント起動時に発生するクライアント起動イベントをクライアント起動イベント検出手段で受けとると、サーバ起動イベント擬似発生手段で前記保存しておいたサーバ起動イベントを擬似発生させることで、クライアントがサーバ起動イベントを受けとりそこなうことのないようにする。
【0018】
【実施例】
以下、図面を用いて、本発明の実施例を説明する。
【0019】
図1は、本発明を適用した計算機システムのシステム構成の例を示したものである。図1を参照して、本実施例の計算機システムの構成および動作の概要を説明する。
【0020】
計算機1000は、通信回線1010に接続されている。また、計算機1000上では、自計算機上や他計算機上のプロセスとのイベントによる情報交換を行うためのイベントサービス1104が提供されている。すなわち、計算機1000に入力するイベントは、自計算機内で発生したものか他計算機で発生したものかを問わず、イベントサービス1104を介して入力する。他計算機で発生したイベントは、通信回線1010を介してイベントサービス1104に入力する。自計算機で発生し他計算機に送るべきイベントは、イベントサービス1104を介して通信回線1010に送出される。なお、図1では計算機1000のみ図示しているが、通信回線1010には他の計算機(例えば、サーバとなる計算機やクライアントとなる計算機)が接続されているものとする。
【0021】
計算機1000上では前記イベントサービス1104を利用した(1430)自動運転システム1100が動作している。自動運転システム1100は、自動運転の運用ルールを記述した運用ルール定義ファイル1500を保持している。運用ルールとは、発生したイベントに対応してどのような処理を行なうかを記述したものである。この運用ルールには、計算機1000の内部で発生したイベントに対応する処理を記述した運用ルールだけではなく、他計算機で発生したイベントに対応する処理を記述した運用ルールも含まれる。運用ルールの具体例については、図12を参照して後述する。通信回線1010に接続された不図示の他計算機においても、それぞれ、イベントサービスを利用した自動運転システムが動作しているものとする。
【0022】
また、計算機1000は、ユーザが定義した擬似発生条件定義ファイル1502およびクライアント起動時発生イベント一覧ファイル1504を保持する。擬似発生条件定義ファイル1502には、後述するイベント擬似発生条件検出手段1306においてどのような条件が満たされた場合にどのようなイベントを擬似発生させるかを示すイベント擬似発生条件(ユーザが定義したもの)が記述してある。クライアント起動時発生イベント一覧ファイル1504には、本計算機1000および通信回線1010に接続された他の計算機においてクライアントが起動したときに発生するクライアント起動時発生イベントの一覧が記述されている。クライアント起動時発生イベント一覧ファイル1504については、図11を参照して後述する。なお、本実施例では簡単のため、着目すべきクライアントは1台の計算機に対して1つ動作しているものとする。したがって、クライアント起動時発生イベントは、計算機が立ち上がったことを示すイベントでもある。
【0023】
また、計算機1000では、本発明に係るイベント制御装置1202が動作している。イベント制御装置1202は、イベント検出手段1300、イベント保存条件検出手段1302、イベント管理手段1304、イベント擬似発生条件検出手段1306、およびイベント擬似発生手段1308を備えている。また、前記イベント管理手段1304が管理するイベント情報1310がファイルシステム上もしくはメモリ上に存在する。
【0024】
イベントサービス1104は、受けとった各種のイベントをイベント検出手段1300に渡す(1400)。イベント検出手段1300は、イベントサービス1104から受けとったイベントをイベント保存条件検出手段1302に渡す(1412)と同時に、イベント擬似発生条件検出手段1306にも渡す(1422)。
【0025】
イベント保存条件検出手段1302では、あらかじめ運用ルール定義ファイル1500から、どのイベントをイベント管理手段1304に渡してイベント情報1310に保存してもらうかを示す保存条件を読み取り(1402)、保持しておく。そして、イベント保存条件検出手段1302は、その保存条件に基づいて、イベント検出手段1300から受けとった(1412)イベントが保存すべきイベントであるか否かを判断し、保存すべきであれば、イベント管理手段1304に渡して(1414)イベント情報1310に保存してもらう(1432)。なお、ユーザが定義したイベント保存条件定義ファイルにより、どのイベントを保存するかを決定するようにしてもよい。
【0026】
イベント擬似発生条件検出手段1306では、あらかじめ運用ルール定義ファイル1500、ユーザが定義した擬似発生条件定義ファイル1502、およびクライアント起動時発生イベント一覧表1504から、イベントを擬似発生させる条件(イベント擬似発生条件)を求め(1400,1422)、保持しておく。イベント擬似発生条件は、条件部と、当該条件部が成立したときに擬似発生させるイベントを特定する情報とからなる。
【0027】
また、イベント擬似発生条件検出手段1306は、イベント管理手段1304を用いてイベント情報1310を参照しそれが更新されているかどうかを調べ(1416)、更新されている場合は更新分のイベントデータを取得する。そして、イベント検出手段1300から受け取ったイベントおよび更新分のイベントデータを、保持してあるイベント擬似発生条件(の条件部)と照合して、イベントを擬似発生するかどうかを決定する。詳しく言うと、イベント擬似発生条件の条件部が成立し、かつ、その条件部が成立したときに擬似発生すべきイベントがイベント情報1310に保存されているか、を判定する。イベント擬似発生条件の条件部が成立しかつその条件部が成立したときに擬似発生すべきイベントがイベント情報1310に保存されている場合、イベント擬似発生条件が成立しているものとし、当該イベントを擬似発生させる。
【0028】
なお、本実施例では、イベント擬似発生条件の条件部が成立しているか否かの判定は、後述の図5および図9に示すように、イベント検出手段1300から受け取ったイベントおよび更新分のイベントデータをイベント擬似発生条件の条件部と照合することにより行なっている。ただし、イベント擬似発生条件の条件部が、さらに過去に所定のイベントが発生していることを条件の一部に含む場合は、イベント情報1310に保存されている過去に発生しているイベントも参照して、イベント擬似発生条件の条件部が成立しているか否かを判定すればよい。
【0029】
イベントを擬似発生させる場合、イベント擬似発生条件検出手段1306は、イベント管理手段1304に、擬似発生させるイベントに関する情報の取得を依頼する(1416)。イベント管理手段1304は、この依頼に応じてイベント情報1310から必要なイベント情報を取り出し(1432)、イベント擬似発生条件検出手段1306に渡す。イベント擬似発生条件検出手段1306は、そのイベント情報を受け取って(1416)、イベント擬似発生手段1308に渡す(1418)。イベント擬似発生手段1308は、イベント擬似発生手段1306からイベント情報を受け取り、イベントを擬似発生させる(1420)。
【0030】
以上のようにして、所定の保存条件を満たすイベントを保存し、所定のイベント擬似発生条件を満たす場合には保存しておいたイベントを擬似発生させることができる。これにより、イベントの発生順序や発生件数などを自動的に制御することが可能になる。以下、図1の構成における各部の動作をさらに詳細に説明する。
【0031】
図2は、イベント検出手段(図1の1300)の処理の流れを示す。
【0032】
前記イベント検出手段1300では、初期化(2000)の後、イベントが発生したかどうかを調べ(2300)、発生していなければ、イベントが発生するまで待つ。イベントが発生していれば、イベントサービス1104からそのイベントのデータを読みこみ(2002)、イベント保存条件検出手段(図1の1302)にそのイベントを渡す(2004)。さらに、イベント擬似発生条件検出手段(図1の1306)にもそのイベントを渡す(2006)。処理2004で渡されたイベントは、後述の図3の処理3004でイベント保存条件検出手段1302に受け取られる。処理2006で渡されたイベントは、後述の図9の9002でイベント擬似発生条件検出手段1306に受け取られる。
【0033】
図3は、イベント保存条件検出手段(図1の1302)の処理の流れを示す。
【0034】
イベント保存条件検出手段1302では、初期化(3000)の後、自動運転システムの運用ルール(図1の1500)を読み込み(3002)、どのイベントを保存すればよいかを示す保存条件をその運用ルールから抽出する(3600)。イベント保存条件の抽出のアルゴリズムは、図7を参照して後述する。
【0035】
次に、イベント保存条件検出手段1302は、イベント検出手段(図1の1300)からのイベントデータがあるかどうかを調べ(3300)、なければ待つ。イベント検出手段1300からのイベントデータがあれば、そのイベントデータを受け取る(3004)。そして、処理3600で抽出したイベント保存条件に基づいて、受け取ったイベントが保存するイベントであるかどうかを調べ(3302)、保存するイベントであれば、イベント管理手段(図1の1304)に前記イベントのデータを保存する要求を出す(3006)。そして、前記要求の返事がエラーであるかどうかを調べ(3304)、エラーならばエラーログに記録するなどのエラー処理を行う(3008)。
【0036】
図4は、イベント管理手段(図1の1304)の処理の流れを示す。なお実際には、イベント管理手段1304は、後述する図10に示すようなコマンドを受け付け、受け付けたコマンドに応じてイベント情報1310に対する読み出し、イベントデータの保存、与えられた条件の判定、与えられた条件に応じた検索、およびイベントデータの削除などを行なうようになっている。図4では、これらすべてのコマンドに応じた処理は記述しておらず、簡単のため、主要な処理部分のみの概略の手順を図示している。
【0037】
イベント管理手段1304では、まず初期化を行う(4000)。このとき、更新フラグをTRUEに設定する。更新フラグとは、前回イベント擬似発生条件検出手段1306がアクセスしてきてから今までの間に、イベント情報1310が更新されたかどうかを調べるためのフラグである。更新フラグがTRUEのときは、前回イベント擬似発生条件検出手段1306がアクセスしてきてから今までの間にイベント情報1310の更新があったということを示し、FALSEのとき更新はなかったということを示す。
【0038】
初期化(4000)が終了すると、次にイベント擬似発生条件検出手段(図1の1306)からイベント情報1310が更新されたかどうかを調べる要求(後述する図5の処理5002で出される要求)が来ているかどうかを調べ(4300)、来ていれば現在の更新フラグの値をイベント擬似発生条件検出手段1306に返す(4002)。
【0039】
次に、イベント擬似発生条件検出手段1306からイベント情報1310中のイベントデータを削除する要求(後述する図5の処理5008で出される要求)が来ているかどうかを調べ(4308)、来ていれば、その要求に従ってイベントデータを削除する(4020)。そして、そのイベントデータを削除する処理でエラーが発生していたら(4312)、イベント擬似発生条件検出手段1306にエラーを返す(4024)。
【0040】
次に、イベント保存条件検出手段(図1の1302)から保存要求(図3の処理3006で出される要求)が来ているかどうかを調べ(4302)、保存要求が来ていれば、イベント保存条件検出手段1302から保存すべきイベントのデータを受けとり(4004)、そのデータが正しいものかどうかを調べる(4006)。そのイベントデータが正しいものであれば(4304)、そのイベントデータをイベント情報1310に保存して(4010)、更新フラグをTRUEとし(4012)、再び処理4300に戻る。前記データが正しいものでなければ(4304)、イベント保存条件検出手段1302にエラーを返し(4008)、再び処理4300に戻る。
【0041】
処理4302でイベント保存条件検出手段1302からの保存要求が来ていない場合は、イベント擬似発生条件検出手段1306からイベントデータの読みだし要求(後述する図5の処理5004および図9の9004で出される要求)が来ているかどうかを調べ(4306)、来ていれば、イベント情報1310からその読みだし要求に応じたデータを読みだす(4014)。このとき、エラーが発生していれば(4310)、イベント擬似発生条件検出手段1306にエラーを返し(4022)、再び処理4300に戻る。エラーが発生していなければ(4310)、更新フラグをFALSEにして(4018)、前記読み出したデータをイベント擬似発生条件検出手段1306に渡す(4016)。その後、再度イベント情報1310が更新されたかどうかを調べる要求が来ているかどうかを調べる処理4300に戻って、当該処理から繰り返す。
【0042】
図5は、イベント擬似発生条件検出手段(図1の1306)の処理の流れを示す。
【0043】
イベント擬似発生条件検出手段1306では、初期化(5000)の後、前記自動運転システム(図1の1100)の運転ルール(図1の1500)からイベント擬似発生条件を抽出する(5600)。イベント擬似発生条件の抽出のアルゴリズムは、図8を参照して後述する。その後、ユーザが作成した擬似発生条件定義ファイル1502からイベント擬似発生条件を抽出し、処理5600で抽出したイベント擬似発生条件とマージして保持しておく(5008)。
【0044】
次に、イベント情報1310に更新があったかどうかを調べる要求をイベント管理手段1304に出す(5002)。イベント管理手段1304から返された更新フラグがTRUEであったときは、前回の問合せから今までの間にイベント情報1310の更新があったということであるから(5300)、イベント管理手段1304に依頼して、イベント情報1310から更新分のイベントデータを読み出し(5004)、次の処理5602に進む。イベント管理手段1304から返された更新フラグがFALSEであったときは、前回の問合せから今までの間にイベント情報1310の更新がなかったということであるから(5300)、そのまま処理5602に進む。
【0045】
次に、前記読み出したデータ(イベント情報1310の更新分)や現在時刻などから、前記イベント擬似発生条件(処理5600,5608で抽出)のうち何れかのイベント擬似発生条件が成立しているかどうかを調べる(5602)。この処理5602の詳細は、図9を参照して後述する。イベント擬似発生条件のうち成立しているものがあれば(5302)、イベント擬似発生手段(図1の1308)に、成立しているイベント擬似発生条件に応じて擬似発生すべきイベントを擬似発生してもらう要求を出し(5006)、処理5304に進む。成立しているイベント擬似発生条件がないときは、処理5302から処理5002に戻る。
【0046】
処理5006の後、この処理5006で擬似発生させたイベントが不要になったかどうかを判断し(5304)、不要ならばイベント管理手段1304に当該イベントの削除要求を出す(5008)。この削除処理でエラーが発生したら(5306)、エラーログにエラーメッセージを書き出すなどのエラー処理を行う(5010)。処理5304で、擬似発生させたイベントが不要ではないと判別されたときは、そのまま処理5002に戻る。処理5306でエラーが発生していないとき、および処理5010のエラー処理の後、再び処理5002に戻る。
【0047】
図6は、イベント擬似発生手段(図1の1308)の処理の流れを示す。
【0048】
イベント擬似発生手段1308では、初期化(6000)の後、イベント発生条件検出手段1306からのイベント擬似発生要求(図5の処理5006で出された要求)が来たかどうか調べる(6300)。イベント擬似発生要求が来ていれば(6300)、イベント擬似発生条件検出手段1306から受けとったイベント(そのイベントデータは、後述の図9の処理9006で読出してある)を擬似発生し(6002)、再び処理6300に戻る。イベント擬似発生要求が来ていないときは(6300)、そのまま処理6300に戻る。
【0049】
図7は、イベント保存条件抽出アルゴリズムの処理の流れを示す。この図7の処理は、図3の処理3600に相当する。
【0050】
処理を開始すると(7000)、まだ保存条件を抽出していない運用ルールが存在する計算機があるかどうか調べ(7304)、なければ終了する(7006)。まだ保存条件を抽出していない運用ルールが存在する計算機がある場合は(7304)、その中から1台を選択し(7008)、選択した計算機においてまだ保存条件を抽出していない運用ルールがあるかどうか調べる(7300)。その計算機のすべての運用ルールから保存条件を抽出済みのときは、処理7300から処理7304に戻る。
【0051】
選択した計算機においてまだ保存条件を抽出していない運用ルールがある場合は(7300)、その調べていない運用ルールのうちの1つを抽出し、抽出した運用ルールの中から条件部分を抽出する(7002)。そして、抽出した条件部分がイベントIDもしくはイベントメッセージによる条件であるかどうかを調べ(7300)、前記いずれかの条件であれば、その抽出した条件をイベント保存条件に加える(7004)。その後、処理7300に戻る。処理7302で、抽出した条件がイベントIDでなくかつイベントのメッセージによる条件でもないときは、処理7302から処理7300に戻る。
【0052】
図8は、イベント擬似発生条件抽出アルゴリズムの処理の流れを示す。この図8の処理は、図5の5600に相当する。
【0053】
処理開始後(8000)、運用ルールが存在する全ての計算機について、まだイベント擬似発生条件を抽出していない計算機があるかどうか調べ(8300)、なければ処理を終了する(8008)。まだイベント擬似発生条件を抽出していない計算機があれば、その計算機のうち1台を選択し(8002)、選択した計算機の運用ルールからイベント待ちの条件の部分(どのイベントを待っているか)を取り出し(8004)、前記選択した計算機の名前と前記取り出したイベントとの対を記憶しておく(8006)。その後、処理8300に戻る。
【0054】
なお本実施例では、図1でも説明したように、1台の計算機に対して着目すべきクライアントが1つ動作することを前提としているから、「計算機」と「クライアント」は1対1に対応している。そこで、本実施例では、上記処理8006で記憶する「計算機の名前」として、当該計算機のクライアントが起動したときに発生するクライアント起動時発生イベントのイベントIDを用いている。各計算機のクライアントが起動したときに発生するクライアント起動時発生イベントのイベントIDは、クライアント起動時発生イベント一覧表1504を参照して得ている。イベント擬似発生条件の抽出の具体例は、図13を参照して後述する。
【0055】
処理終了時(8008)に記憶している前記計算機の名前(すなわち、クライアント起動時発生イベント)と前記イベント(当該クライアントに関する運用ルールのイベント待ちの条件の部分から取り出したイベント)との対が、求めるイベント擬似発生条件である。詳しく言えば、前半のクライアント起動時発生イベントはイベント擬似発生条件の条件部を示し、後半のイベントは前記条件部が成立したときに擬似発生すべきイベントを示している。
【0056】
いま、前半の条件部をAとし、後半の擬似発生すべきイベントをBとし、A:Bでイベント擬似発生条件を表すものとする。A:Bは、要するに、起動時にAが発生するクライアントaで待っているイベントがBである、ということである。もし、イベントBがクライアントaの起動より前に発生していると、クライアントaではイベントBを受け取ることができずに正常に動作しないことが考えられる。そこで、本実施例では、イベントBが発生したときにそれをイベント情報1310として保存しておき、イベント擬似発生条件にA:Bを登録しておいて、Aが成立したとき(クライアントaが起動したとき)、イベントBが保存されていたなら、そのイベントBを擬似発生させる。これにより、クライアントaは、イベントBを受け取ることができ、以後正常に動作することになる。
【0057】
図9は、イベント擬似発生条件検出アルゴリズムの処理の流れを示す。この図9の処理は、図5の5602に相当する。
【0058】
処理開始後(9000)、イベント検出手段(図1の1300)からのイベントがあるかどうか調べ(9300)、あればイベント検出手段1300からのイベントデータを受け取り(9002)、処理9004に進む。イベント検出手段1300からのイベントデータがなければ、処理9300から処理9004に進む。
【0059】
そして、処理9002で受けとったイベントや図5の処理5004で読出してある更新分のイベントデータをイベント擬似発生条件の条件部のイベントと比較する(9004)。なお、イベント擬似発生条件が時刻に関連する条件を含む場合は、時刻をも考慮して処理9004の比較を行なうものとする。また、本実施例ではイベント検出手段1300からのイベントと更新分のイベントのみをイベント擬似発生条件の条件部と比較しているが、イベント擬似発生条件の条件部がさらに過去に所定のイベントが発生していることを条件の一部に含む場合は、イベント情報1310に保存されている過去に発生しているイベントも参照して、イベント擬似発生条件の条件部が成立しているか否かを判定するようにする。
【0060】
さらに、処理9004では、上記比較の結果、条件部が一致するイベント擬似発生条件を検出した場合には、その条件部に対応して擬似発生すべきイベントが既にイベント情報1310に保存されているかどうかを調べる。
【0061】
処理9004による比較で、処理9002で受けとったイベントや図5の処理5004で読出してある更新分のイベントデータとイベント擬似発生条件の条件部のイベントとの一致が検出され、かつ、当該イベント擬似発生条件で擬似発生すべきイベントが既にイベント情報1310に保存されていたときは(9302)、イベント擬似発生条件成立とする(9006)。そうでないときは(9302)、イベント擬似発生条件不成立である。イベント擬似発生条件成立のときは、当該擬似発生すべきイベントに関するイベントデータをイベント情報1310から読出しておく。
【0062】
次に、前記イベント擬似発生条件検出手段(図1の1306)における、イベント擬似発生条件の条件部の例を挙げる。イベント擬似発生条件の条件部としては、例えば下記▲1▼〜▲7▼などの条件がある。
▲1▼事前に決められた1つ以上のイベントのうち、事前に決められた数以上のイベントが発生した
▲2▼事前に決められた数以上のイベントが、事前に決められた順序で発生した
▲3▼イベントの発生後、事前に決められた一定時間が経過した
▲4▼事前に決められた時間内に発生した
▲5▼事前に決められた時刻になった
▲6▼事前に決められた計算機上で発生した
▲7▼事前に決められた回数だけ発生した
【0063】
イベント擬似発生条件は、イベント擬似発生条件検出手段(図1の1306)により、自動運転システム(図1の1100)の運用ルール(図1の1500)から自動的に抽出される(図5の5600)。この処理については、図8を用いて説明した。また、既に述べたように、ユーザが定義した擬似発生条件定義ファイル(図1の1502)に上記▲1▼〜▲7▼などを含む任意のイベント擬似発生条件を記述することも可能である。
【0064】
次に、前記イベント情報(図1の1310)に登録するイベントデータの内容の例を挙げる。
【0065】
前記登録するイベントデータの内容としては、イベントID(識別子)、イベントメッセージ、イベントのパラメータ、イベントの発生時刻、イベントが発生した計算機、イベントを発生したユーザ名、グループ名、およびプロセス名イベントの発生回数などが挙げられる。なお、これらの項目は必ずしも全てのイベントに対して登録する必要があるというわけではない。
【0066】
図10に、イベント保存条件検出手段(図1の1302)やイベント擬似発生条件検出手段(図1の1306)が、イベント管理手段(図1の1304)に対して送信するコマンドの一覧を示す。
【0067】
Rコマンド、Wコマンド、およびDコマンドは、それぞれイベント管理手段1304に対するイベントデータの読み込み、書き込み、および削除を行うコマンドである。また、Cコマンドは、条件を与えて前記条件が成立しているかどうかを調べるコマンドで、イベント擬似発生条件が成立したかどうかを調べるときなどに使用される。また、Sコマンドは、実際に条件に合うイベントを検索するためのコマンドである。
【0068】
なお、図4の説明でも述べたが、図4のイベント管理手段1304の処理手順は、これらの各コマンドに対応する処理のうち主要な部分のみを示したものである。図3、図5、および図9のフローチャートでは、イベント管理手段1304に指示を与える処理があるが、それらの指示は実際には図10に示したコマンドを発行することにより為されている。以下では、各コマンドがどの処理で使用されているか簡単に説明する。
【0069】
Wコマンドは、前記イベント保存条件検出手段1302が図3の処理3006で発行する。また、Cコマンド、Sコマンド、およびDコマンドは、前記イベント擬似発生条件検出手段1306が図5の処理5002、処理5004、および処理5008で発行する。Sコマンドは、前記イベント擬似発生条件検出手段1306が図9の処理9004で、イベント擬似発生条件の擬似発生すべきイベントがイベント情報1310に保存されているかどうか調べる際にも使用する。また、擬似発生すべきイベントがイベント情報1310に保存されている場合、図9の処理9006でそのイベントデータを読出すが、その読出しにはRコマンドを用いる。
【0070】
次に、前記イベント管理手段1304のSコマンドで検索するときの検索条件について述べる。検索条件としては、イベント情報1310に登録されている内容のうちいずれかの項目名とその項目がとりうる任意の値を指定する。イベント管理手段1304は、指定された項目が指定された値に一致するイベントデータをイベント情報1310から取り出し、Sコマンドの発行元に返す。また、複数の条件を指定し、前記条件の論理和、論理積の指定も可能である。
【0071】
前回検索以降に更新されたイベントデータを取り出す(図5の処理5004)には、前回検索時の時刻を覚えておき、前記Sコマンドで前記時刻よりも新しいものを検索すればよい。
【0072】
前記イベント管理手段1304のCコマンドは、指定した条件式が成立するかどうかを調べるものであり、結果を0か1の数値で返す。条件式を組み合わせることにより、複数の条件のうちいくつ成立したかという条件式を作成することが可能であり、複数のイベントのうちいずれか2つ以上が発生しているという条件の指定も可能となる。条件式は、2つ以上の条件式の論理和、論理積、差、もしくは和からなるか、またはただ1つの論理式からなる。この論理式では、イベント情報1310に登録されているイベントのイベントIDと項目名およびその値を指定し、指定したイベントIDを持つイベントの指定した項目の値を前記指定した値と比較する。その比較方法としては、一致、不一致、大小関係(一致を含むもの)、または大小関係(一致を含まないもの)のいずれかを選択することができる。
【0073】
前記イベント管理手段(図1の1304)が管理するイベント情報(図1の1310)にイベントを登録してばかりいたのでは、いずれ前記イベント情報1310が溢れてしまう。そのため、不要なイベントはイベント情報1310から破棄する必要がある。イベントを破棄する条件として、例えば以下の条件が挙げられる。
▲1▼起動イベントを受けとった後、その起動イベントと同じ計算機またはプロセスの停止イベントを受けとったとき
▲2▼以前に受けとったイベントに対する取り消しイベントを受けとったとき
▲3▼同じイベントが何度もくり返し発生するとき
▲4▼2回目以降発生したイベント(必要に応じて発生回数や発生時刻を記憶しておく)
▲5▼イベント擬似発生手段により擬似発生したイベント
▲6▼発生時刻や発生回数などにより不要になったイベント
▲7▼イベントが擬似発生され、それ以降は使用されないイベント
▲8▼最新のイベントが必要なときの最新のものではないイベント
▲9▼発生後一定時間を過ぎると意味がないイベントが発生後一定時間以上経ったとき
【0074】
本実施例では、前記条件が満たされると、イベント管理手段1304自身、もしくはイベント擬似発生条件検出手段1306が前記イベント情報のDコマンドを使用して、不要なイベントデータの削除を行う。
【0075】
次に、クライアント起動時発生イベント一覧表1504について述べる。通信回線1010に接続されている計算機1000のクライアントおよび不図示の他の計算機のクライアントが起動したかどうかを知るには、どのクライアントが起動時にどのイベントを発行するかを知る必要がある。このために、クライアント起動時発生イベント一覧表1504を作成しておく。このファイルは、クライアントのIDとそのクライアントが起動したときに発生されるクライアント起動時発生イベントのイベントIDとの対の一覧である。
【0076】
図11に、クライアント起動時発生イベント一覧表1504の例を示す。このファイルは、クライアント名のフィールドとそのクライアントが起動時に発生するイベントのIDのフィールドとからなる。第1カラム(11000)はクライアント名を示し、第2カラム(11002)は前記クライアントが起動時に発生するイベントのIDを示す。
【0077】
図11のクライアント起動時発生イベント一覧表1504は、クライアント1(client1)が起動したときイベントIDが「100」のクライアント起動時発生イベントが発生し、クライアント2(client2)が起動したときイベントIDが「213」のクライアント起動時発生イベントが発生し、クライアント3(client3)が起動したときイベントIDが「125」のクライアント起動時発生イベントが発生することを示している。
【0078】
次に、自動運転システム1100における運用ルールの例について述べる。図12は、計算機システム1000内で発生したイベントに対して行う処理を定義した運用ルール定義ファイル1500の内容例を示す。
【0079】
図12の運用ルールでは、コロン「:」の前半にイベントIDを記述し、コロン「:」の後半に当該イベントIDに応じて実行すべきコマンドを記述している。図12の1行目の運用ルールは、「イベントIDが100(16000)のイベントが発生したら、startup_client_1コマンドを実行する(16002)」ということを意味している。また、図12の2行目の運用ルールは、「イベントIDが120(16004)かつイベントメッセージが"KJAE903"で始まる(16006)イベントが発生したら、startup_client_2コマンドを実行する(16008)」ということを意味している。
【0080】
既に図1、図3の処理3002,3600、および図7で説明したように、イベント保存条件検出手段1302では、運用ルール定義ファイル1500からイベント保存条件を抽出する。また、図1、図5の処理5600、および図8で説明したように、イベント擬似発生条件検出手段1306は、運用ルール定義ファイル1500およびクライアント起動時発生イベント一覧ファイル1504からイベント擬似発生条件を抽出する。図13に、イベント保存条件およびイベント擬似発生条件の抽出の例を示す。
【0081】
図13において、12000はクライアント1の運用ルール定義ファイルを示す。12002はクライアント2の運用ルール定義ファイルを示す。12004はクライアント起動時発生イベント一覧表ファイル1504を示す。
【0082】
クライアント1の運用ルール定義ファイル(12000)では、イベントIDが100のイベントが発生するとclient_command_1を実行するというルールが定義されている。また、クライアント2の運用ルール定義ファイル(12002)では、イベントIDが110かつメッセージに"test"という文字列が含まれているイベントが発生するとcilent_command_2を実行し、イベントIDが120のイベントが発生するとclient_command_3を実行するように定義されている。また、クライアント起動時発生イベント一覧ファイル(12004)では、クライアント1が起動するときはイベントIDが200のクライアント起動時発生イベントが、またクライアント2が起動するときはイベントIDが210のクライアント起動時発生イベントが発生することが記述されている。
【0083】
イベント保存条件(12006)を生成するには、図7で説明したように、運用ルール定義ファイル(12000,12002)の条件の部分を抽出する(12300,12302)。また、イベント擬似発生条件(12008)を生成するには、運用ルール定義ファイル(12000、12002)およびクライアント起動時発生イベント一覧ファイル(12004)から生成する(12304)。
【0084】
イベント擬似発生条件12008では、第1カラム(12010)のイベントが発生したとき、それに対応する第2カラムのイベント(12012)を(当該イベントが保存されていれば)擬似発生することを示している。この図のイベント擬似発生条件12008では、「クライアント1が立ち上がってイベントIDが200のクライアント起動時発生イベントが発生したとき、イベントIDが100のイベントを擬似発生する」というイベント擬似発生条件、および「クライアント2が立ち上がってイベントIDが210のクライアント起動時発生イベントが発生したとき、イベントIDが110かつメッセージに"test"という文字列が含まれているイベントを擬似発生する」というイベント擬似発生条件を示している。
【0085】
例えば、クライアント1が起動した後にイベントIDが100のイベントが発生する場合は、クライアント1でそのイベントIDが100のイベントを受け取ることができる。また、イベントIDが100のイベントが先に発生した場合(この場合、当該イベントIDが100のイベントは保存される)も、クライアント1が立ち上がってイベントIDが200のクライアント起動時発生イベントが発生したとき、イベント擬似発生条件に基づいてイベントIDが100のイベントが擬似発生され、クライアント1でその擬似発生されたイベントを受け取ることができる。
【0086】
なお、本実施例では、主として自動運転システムの運用ルールからイベント擬似発生条件を自動生成する例を説明した。しかし、これだけでは充分でない場合もあり、その場合は、ユーザが定義する擬似発生条件定義ファイル1502を記述することで、ユーザが自らイベント擬似発生条件を定義することが可能である。
【0087】
また、本実施例では、簡単のため、1台の計算機に対して1つのクライアントに着目したが、これに限らず、各計算機で複数のプロセスが動作する場合に対して本発明を適用してもよい。例えば、図1の運用ルール1500をプロセス単位で設け、ファイル1504には各プロセスの起動時発生イベントを登録しておき、図7や図8の処理では計算機単位でなくプロセス単位に処理を行なうようにすれば、プロセス間でやり取りされるイベントの制御に本発明を適用できる。
【0088】
次に、本発明の第2の実施例を説明する。この第2の実施例では、クライアントサーバシステムにおいてサーバ起動イベントおよびクライアント起動イベントを制御して不都合の生じない順序にする方法を示す。
【0089】
図14は、第2の実施例のシステム構成を示す。本システムでは、計算機15002が通信回線15000に接続されている。さらに、計算機15002上ではイベントサービス15200が提供されており、サーバ15204およびクライアント15206が動作している。また、サーバ15204およびクライアント15206の起動イベントを制御するイベント制御装置15202が動作している。このとき、クライアント15206は、サーバ15204の起動イベントを受けとり、動作を開始(サーバ15204が提供するサービスの利用開始)するものとする。イベント制御装置15202は、上述の第1の実施例のイベント制御装置1202と同様の装置である。
【0090】
図14のようなシステムにおいて、クライアント15206が先に起動した場合は、後で起動したサーバ15204が発生するサーバ起動イベントをクライアント15206で受けとることができるため、正常に動作する。しかし、サーバ15204が先に起動すると、後から起動したクライアント15206はサーバ15204の起動イベントを受けとれないため、いつまでたってもサーバ15204の起動イベント待ちになる。
【0091】
そこで、イベント制御装置15202では、サーバ15204の起動イベント15402を受け取り(15400)、そのイベントを保存しておき、後から起動したクライアント起動イベント15406を受けとったとき(15400)、前記保存しておいたサーバ15204の起動イベントを擬似発生する(15404)。クライアント15206は、その擬似発生したイベントを受け取る(15408)。これにより、クライアント15206は、後から起動した場合でも先に起動したサーバ15204の起動イベントを受けとることができる。
【0092】
図15に、イベント制御装置15202におけるそのような処理の流れを示す。
【0093】
初期化(17000)の後、イベントが発生するのを待ち(17002)、発生したイベントがサーバ起動イベントかどうかを調べる(17300)。サーバ起動イベントならば、それが自イベント制御装置15202にて発生した擬似イベントかどうかを調べる(17302)。受けとったイベントが擬似イベントでなければ、そのサーバ起動イベントを保存し(17004)、処理17002に戻る。
【0094】
処理17300で受けとったイベントがサーバ起動イベントでなかった場合は、次にクライアント起動イベントかどうかを調べる(17304)。クライアント起動イベントならば、すでにサーバ起動イベントが検知されているかどうかを調べ(17306)、検知されていればサーバ起動イベントが保存されているから、保存しているサーバ起動イベントを擬似発生して(17006)、処理17002に戻る。処理17304でクライアント起動イベントでないとき、あるいは処理17306でサーバ起動イベントが保存されていないときは、処理17002に戻る。
【0095】
次に、本発明の第3の実施例を説明する。この実施例は、上述の第2の実施例におけるサーバ/クライアント起動イベントの制御方法を自動運転システムの運用ルールを記述することで実現する方法を示すものである。そのような制御を行う運用ルールを説明する前に、運用ルールで、サーバの起動イベントを受信するとクライアントがサービスを利用開始するという内容の定義を行った例を、図16に示す。
【0096】
図16において、対象となるイベント(13000)はサーバ起動イベントであり、対象となる操作(13004)はクライアントのサービス利用開始コマンド(サーバのサービスの利用を開始するコマンド)である。これらのイベントおよびコマンドをセパレータ(13002)で区切っている。このような運用ルールを指定しておくことにより、サーバ起動イベント(13000)が発生するとクライアントのサービス利用開始コマンド(13004)が実行される。
【0097】
図17に、運用ルールで上述の第2の実施例に示した制御を実現した例を示す。本実施例では、サーバとクライアントのプロセスが実行されている計算機システムで、第3のプロセスが実行されており、その第3のプロセス(イベント制御装置と見ることができる)が図17の運用ルールにしたがって自動運転していることを前提とする。
【0098】
図17の運用ルールは、図16の運用ルールと同様の表記で記述されている。14002,14014は、イベントとコマンドとを分けるセパレータ(図16の13002に対応)である。
【0099】
図17の運用ルールでは、クライアント起動イベントを検知すると(14000)、イベントが発生したことをファイルを作成することで記録しておく(14004)。また、すでにサーバ起動イベントが発生している場合(14006)、サーバの起動イベントを送信(擬似発生)する(14008)。
【0100】
一方、サーバ起動イベントを検知すると(14012)、サーバ起動を示すファイルを作成し(14016)、クライアントがすでに起動していれば(14018)、クライアントのサービスを開始するコマンド(14020)を実行する。
【0101】
このような運用ルールを定義しておくことで、クライアントが後に起動しても、以前に発生したサーバ起動イベントを擬似発生することができる。
【0102】
【発明の効果】
以上説明したように、本発明によれば、イベント発生のタイミングや発生回数などを自動的に制御できる。また、複数のイベントが全て発生したときに処理を行うという指定が容易にできるようになる。
【0103】
また、イベント情報を保存するイベントは自動的に選択されるため、計算機資源の無駄な使用やユーザの手間を削減することができ、ユーザが指定する場合に比べ、指定漏れや指定誤りを減らすことができる。
【0104】
さらに、クライアントサーバシステムにおいて、サーバがクライアントよりも先に起動してもクライアントに対してサーバ起動イベントを自動的に送信することが可能になるため、クライアントとサーバの起動順序の制限を解消することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のシステム構成の例を示す図
【図2】イベント検出手段のフローチャートを示す図
【図3】イベント保存条件検出手段のフローチャートを示す図
【図4】イベント管理手段のフローチャートを示す図
【図5】イベント擬似発生条件検出手段のフローチャートを示す図
【図6】イベント擬似発生手段のフローチャートを示す図
【図7】イベント保存条件抽出アルゴリズムのフローチャートを示す図
【図8】イベント擬似発生条件抽出アルゴリズムのフローチャートを示す図
【図9】イベント擬似発生条件検出アルゴリズムのフローチャートを示す図
【図10】イベント管理手段に対するコマンド表を示す図
【図11】クライアント起動時発生イベント一覧表を示す図
【図12】運用ルール定義ファイルの例を示す図
【図13】保存条件および擬似発生条件の生成例を示す図
【図14】サーバクライアントシステムにおけるイベント発生順序の制御を示す図
【図15】イベント発生順序の制御手順のフローチャートを示す図
【図16】運用ルールの例を示す図
【図17】運用ルールによる実現例を示す図
【符号の説明】
1000…計算機、1010…通信回線、1104…イベントサービス、1100…自動運転システム、1202…イベント制御装置、1300…イベント検出手段、1302…イベント保存条件検出手段、1304…イベント管理手段、1306…イベント擬似発生条件検出手段、1308…イベント擬似発生手段、1310…イベント情報、1500…運用ルール定義ファイル、1502…擬似発生条件定義ファイル、1504…クライアント起動時発生イベント一覧ファイル。
Claims (14)
- 計算機内で発生したイベントを取り扱うイベント制御装置であって、
前記計算機内で発生したイベントを検出するイベント検出手段と、
所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理手段と、
所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生手段と
を備え、
前記イベント保存条件として、所定の種類のイベントのみ保存させること、所定の数のイベントを保存させること、前記イベント擬似発生手段により所定の回数発生したイベントを保存させないこと、前記イベント擬似発生手段により発生した後一定時間を過ぎたイベントを保存させないことのうちの少なくともいずれか1つを条件とすることを特徴とするイベント制御装置。 - 計算機内で発生したイベントを取り扱うイベント制御装置であって、
前記計算機内で発生したイベントを検出するイベント検出手段と、
所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理手段と、
所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生手段と
を備え、
前記イベント擬似発生条件は、所定の種類のイベントのみ発生させること、所定の数のイベントを発生させること、所定の順序でイベントを発生させること、イベント発生後所定の時間が経過したイベントを再び発生させること、所定の計算機内で発生したイベントであるときはイベントを発生させること、予め定められたイベントが発生したときに対応するイベントを発生させることのうちの少なくともいずれか1つを条件とすることを特徴とするイベント制御装置。 - 請求項1または2に記載のイベント制御装置であって、
前記イベント保存条件は、過去に発生したイベントに関する情報に基づき作成されることを特徴とするイベント制御装置。 - 請求項1または2に記載のイベント制御装置であって、
前記イベント管理手段は、イベントごとに実行すべき処理を示す運転ルールから前記イベント保存条件を抽出し、前記イベント保存条件に基づいて、前記イベントのデータを保存することを特徴とするイベント制御装置。 - 請求項1または2に記載のイベント制御装置であって、
前記イベント擬似発生条件は、過去に発生したイベントに関する情報に基づき作成されることを特徴とするイベント制御装置。 - 請求項1または2に記載のイベント制御装置であって、
前記イベント管理手段は、発生したイベントに対応して実行すべき処理を示す運転ルールから前記イベント擬似発生条件を抽出し、前記イベント擬似発生条件に基づいて、前記イベントを発生させることを特徴とするイベント制御装置。 - 起動時にサーバ起動イベントを発生しクライアントに対しサービスを提供するサーバと、起動時にクライアント起動イベントを発生するとともに前記サーバ起動イベントを受けたとき前記サーバのサービスを利用開始するクライアントとを備えたクライアントサーバシステムにおけるイベント制御装置であって、
前記サーバが起動したときに発生される前記サーバ起動イベントを検出するサーバ起動イベント検出手段と、
前記サーバ起動イベント検出手段で検出したサーバ起動イベントを保存するサーバ起動イベント保存手段と、
前記クライアントが起動したときに発生される前記クライアント起動イベントを検出するクライアント起動イベント検出手段と、
前記クライアント起動イベント検出手段でクライアント起動イベントを検出したのを契機に、前記保存しておいたサーバ起動イベントを擬似発生して前記クライアントに送るサーバ起動イベント擬似発生手段と
を備えたことを特徴とするイベント制御装置。 - 計算機内で発生したイベントを取り扱うイベント制御方法であって、
前記計算機内で発生したイベントを検出するイベント検出ステップと、
所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理ステップと、
所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生ステップと
を備え、
前記イベント保存条件として、所定の種類のイベントのみ保存させること、所定の数のイベントを保存させること、前記イベント擬似発生ステップにより所定の回数発生したイベントを保存させないこと、前記イベント擬似発生ステップにより発生した後一定時間を過ぎたイベントを保存させないことのうちの少なくともいずれか1つを条件とすることを特徴とするイベント制御方法。 - 計算機内で発生したイベントを取り扱うイベント制御方法であって、
前記計算機内で発生したイベントを検出するイベント検出ステップと、
所定のイベント保存条件に従って、前記イベントのデータを保存するイベント管理ステップと、
所定のイベント擬似発生条件に従って、前記イベントのデータに基づくイベントを擬似発生させるイベント擬似発生ステップと
を備え、
前記イベント擬似発生条件は、所定の種類のイベントのみ発生させること、所定の数のイベントを発生させること、所定の順序でイベントを発生させること、イベント発生後所定の時間が経過したイベントを再び発生させること、所定の計算機内で発生したイベントであるときはイベントを発生させること、予め定められたイベントが発生したときに対応するイベントを発生させることのうちの少なくともいずれか1つを条件とすることを特徴とするイベント制御方法。 - 請求項8または9に記載のイベント制御方法であって、
前記イベント保存条件は、過去に発生したイベントに関する情報に基づき作成されることを特徴とするイベント制御方法。 - 請求項8または9に記載のイベント制御方法であって、
前記イベント管理ステップは、イベントごとに実行すべき処理を示す運転ルールから前記イベント保存条件を抽出し、前記イベント保存条件に基づいて、前記イベントのデータを保存することを特徴とするイベント制御方法。 - 請求項8または9に記載のイベント制御方法であって、
前記イベント擬似発生条件は、過去に発生したイベントに関する情報に基づき作成されることを特徴とするイベント制御方法。 - 請求項8または9に記載のイベント制御方法であって、
前記イベント管理ステップは、発生したイベントに対応して実行すべき処理を示す運転ルールから前記イベント擬似発生条件を抽出し、前記イベント擬似発生条件に基づいて、前記イベントを発生させることを特徴とするイベント制御方法。 - 起動時にサーバ起動イベントを発生しクライアントに対しサービスを提供するサーバと、起動時にクライアント起動イベントを発生するとともに前記サーバ起動イベントを受けたとき前記サーバのサービスを利用開始するクライアントとを備えたクライアントサーバシステムにおけるイベント制御方法であって、
前記サーバが起動したときに発生される前記サーバ起動イベントを検出するサーバ起動イベント検出ステップと、
前記サーバ起動イベント検出ステップで検出したサーバ起動イベントを保存するサーバ起動イベント保存ステップと、
前記クライアントが起動したときに発生される前記クライアント起動イベントを検出するクライアント起動イベント検出ステップと、
前記クライアント起動イベント検出ステップでクライアント起動イベントを検出したのを契機に、前記保存しておいたサーバ起動イベントを擬似発生して前記クライアントに送るサーバ起動イベント擬似発生ステップと
を備えたことを特徴とするイベント制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340185A JP3741371B2 (ja) | 2002-11-22 | 2002-11-22 | イベント制御装置およびイベント制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002340185A JP3741371B2 (ja) | 2002-11-22 | 2002-11-22 | イベント制御装置およびイベント制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10316495A Division JP3418034B2 (ja) | 1995-04-04 | 1995-04-04 | イベント制御装置およびイベント制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003228489A JP2003228489A (ja) | 2003-08-15 |
JP3741371B2 true JP3741371B2 (ja) | 2006-02-01 |
Family
ID=27751444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002340185A Expired - Fee Related JP3741371B2 (ja) | 2002-11-22 | 2002-11-22 | イベント制御装置およびイベント制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3741371B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1687947B1 (en) * | 2003-11-25 | 2012-10-03 | International Business Machines Corporation | Mobile hub and managing events in a mobile hub |
JP2007172131A (ja) * | 2005-12-20 | 2007-07-05 | Nec Fielding Ltd | 障害予測システム、障害予測方法、障害予測プログラム |
-
2002
- 2002-11-22 JP JP2002340185A patent/JP3741371B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003228489A (ja) | 2003-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7508985B2 (en) | Pattern-matching system | |
US20110307488A1 (en) | Information processing apparatus, information processing method, and program | |
JP2011191862A (ja) | ファイル管理装置、ファイル管理システム、およびファイル管理プログラム | |
JP2006344171A (ja) | 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 | |
EP1850250A1 (en) | Method and system for renewing an index | |
US20080082535A1 (en) | Method and system for automatically generating a communication interface | |
JP3741371B2 (ja) | イベント制御装置およびイベント制御方法 | |
JPH07200312A (ja) | ディジタルデータ処理システムとエラー処理方法 | |
JP2002123516A (ja) | ウェブサイト評価システム、ウェブサイト評価方法、記録媒体 | |
JP4322763B2 (ja) | 文書ファイルコピー移動監視システム、方法及びプログラム | |
JP3418034B2 (ja) | イベント制御装置およびイベント制御方法 | |
KR100567813B1 (ko) | 텐덤 시스템의 트랜잭션 분석 시스템 | |
US8775528B2 (en) | Computer readable recording medium storing linking keyword automatically extracting program, linking keyword automatically extracting method and apparatus | |
JP7119411B2 (ja) | データベース装置、データ管理方法、及びコンピュータ・プログラム | |
KR101091071B1 (ko) | 시스템 오브젝트를 기록(저널링)하기 위한 방법, 시스템 및소프트웨어 | |
JPH064346A (ja) | デバッグ装置におけるブレークポイント管理装置 | |
JPH09274561A (ja) | ジョブ及びスプールの操作方法 | |
JPH10240490A (ja) | 情報処理機器 | |
EP0336585A2 (en) | Error message display generation | |
JP2892663B2 (ja) | 自律故障診断型解析方式 | |
JPH0883223A (ja) | ファイル管理システム | |
WO2011069837A1 (en) | A method for processing trace data | |
JPH11191084A (ja) | 通信エラーデータ記録方法および装置、記録媒体 | |
JP2001209526A (ja) | コンピュータシステムにおけるシステム情報抽出方式およびその方法 | |
JPS63188242A (ja) | プログラムエラ−情報の生成、管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050929 |
|
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: 20051104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051104 |
|
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: 20091118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101118 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |