JPH11212831A - オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 - Google Patents
オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法Info
- Publication number
- JPH11212831A JPH11212831A JP10013675A JP1367598A JPH11212831A JP H11212831 A JPH11212831 A JP H11212831A JP 10013675 A JP10013675 A JP 10013675A JP 1367598 A JP1367598 A JP 1367598A JP H11212831 A JPH11212831 A JP H11212831A
- Authority
- JP
- Japan
- Prior art keywords
- event
- log
- transaction
- nodes
- node
- 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
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 ネットワーク上に散在する複数のオブジェク
ト間の協調動作に関するログ回収やイベント追跡を容易
にする。 【解決手段】 各ノード220にイベントトラッカ26
0が配置される。各イベントトラッカ260は、自ノー
ド内の全てのオブジェクトの行ったイベントのログを、
各オブジェクト別にログファイルに記録する。各イベン
トログには、書き込み時刻と、オブジェクト名と、トラ
ンザクションIDと、そのオブジェクトがトランザクシ
ョンの起点から数えて何番目の中継点であるかを示す中
継点カウンタと、イベント種別とが含まれている。イベ
ントトラッカ260はまた、必要に応じ、トランザクシ
ョンIDを頼りに自ノード内のログファイルから検索し
且つ他のノードのイベントトラッカに検索を依頼するこ
とによって、特定のトランザクションの全イベントのロ
グを収集する。そして、イベントトラッカ260は、収
集したイベントログのプロセス名と中継点カウンタとイ
ベント種別とにより、そのトランザクションの経過を解
明する。
ト間の協調動作に関するログ回収やイベント追跡を容易
にする。 【解決手段】 各ノード220にイベントトラッカ26
0が配置される。各イベントトラッカ260は、自ノー
ド内の全てのオブジェクトの行ったイベントのログを、
各オブジェクト別にログファイルに記録する。各イベン
トログには、書き込み時刻と、オブジェクト名と、トラ
ンザクションIDと、そのオブジェクトがトランザクシ
ョンの起点から数えて何番目の中継点であるかを示す中
継点カウンタと、イベント種別とが含まれている。イベ
ントトラッカ260はまた、必要に応じ、トランザクシ
ョンIDを頼りに自ノード内のログファイルから検索し
且つ他のノードのイベントトラッカに検索を依頼するこ
とによって、特定のトランザクションの全イベントのロ
グを収集する。そして、イベントトラッカ260は、収
集したイベントログのプロセス名と中継点カウンタとイ
ベント種別とにより、そのトランザクションの経過を解
明する。
Description
【0001】
【発明の技術分野】本発明は、通信ネットワーク上に散
在する複数のオブジェクト間で非同期協調動作が行われ
る環境におけるログ管理およびイベント追跡のための方
式および方法に関する。
在する複数のオブジェクト間で非同期協調動作が行われ
る環境におけるログ管理およびイベント追跡のための方
式および方法に関する。
【0002】
【従来の技術】ネットワーク上で複数のオブジェクトが
協調動作を行う環境において、従来は各マシン(ノー
ド)単位で個別に通信ログが取得されている。
協調動作を行う環境において、従来は各マシン(ノー
ド)単位で個別に通信ログが取得されている。
【0003】
【発明が解決しようとする課題】しかし、単純に各マシ
ン単位で通信ログを取得する従来技術においては、或る
マシン上の通信ログを頼りに、協調動作を行った他の全
てのマシンのログを探し出して回収することが困難であ
る。そのため、特に不特定多数のオブジェクト間で非同
期協調動作が行われる一層高度な分散環境においては、
トランザクションのイベントを追跡して障害解析やデバ
ッグを行うことが難しい。
ン単位で通信ログを取得する従来技術においては、或る
マシン上の通信ログを頼りに、協調動作を行った他の全
てのマシンのログを探し出して回収することが困難であ
る。そのため、特に不特定多数のオブジェクト間で非同
期協調動作が行われる一層高度な分散環境においては、
トランザクションのイベントを追跡して障害解析やデバ
ッグを行うことが難しい。
【0004】従って、本発明の目的は、オブジェクト間
の協調動作に関するログ回収やイベント追跡を容易にす
ることにある。
の協調動作に関するログ回収やイベント追跡を容易にす
ることにある。
【0005】
【課題を解決するための手段】本発明の第1の側面に従
うオブジェクト間協調動作のログ管理方式は、複数のノ
ードを有する通信ネットワークと、複数のノードに分散
して配置された複数のオブジェクトと、各ノードに配置
されたログファイルと、各ノードに配置され、各ノード
内のオブジェクトが実行したイベントのイベントログを
ログファイルに記録するログライタとを備える。複数の
オブジェクトは、相互間で協調動作を依頼しながら1つ
のトランザクションを連携して処理することができる。
各オブジェクトは、他のオブジェクトに協調動作を依頼
するとき、トランザクションを識別するためのトランザ
クションIDと、そのトランザクションの処理経路にお
ける各オブジェクトの位置を示すカウンタ情報とを他の
オブジェクトに伝える。また、ログライタが記録した各
イベントログには、対応するイベントに関わるトランザ
クションIDと、対応するイベントを実行したオブジェ
クトのプロセス名及びカウンタ情報と、対応するイベン
トの種別とが含まれている。
うオブジェクト間協調動作のログ管理方式は、複数のノ
ードを有する通信ネットワークと、複数のノードに分散
して配置された複数のオブジェクトと、各ノードに配置
されたログファイルと、各ノードに配置され、各ノード
内のオブジェクトが実行したイベントのイベントログを
ログファイルに記録するログライタとを備える。複数の
オブジェクトは、相互間で協調動作を依頼しながら1つ
のトランザクションを連携して処理することができる。
各オブジェクトは、他のオブジェクトに協調動作を依頼
するとき、トランザクションを識別するためのトランザ
クションIDと、そのトランザクションの処理経路にお
ける各オブジェクトの位置を示すカウンタ情報とを他の
オブジェクトに伝える。また、ログライタが記録した各
イベントログには、対応するイベントに関わるトランザ
クションIDと、対応するイベントを実行したオブジェ
クトのプロセス名及びカウンタ情報と、対応するイベン
トの種別とが含まれている。
【0006】このログ管理方式によれば、1つのトラン
ザクションのイベントログは複数のノードのログファイ
ルに分散して記録される。しかし、それらのイベントロ
グにはトランザクションIDが含まれているため、この
トランザクションIDを頼りに、特定のトランザクショ
ンのイベントログを検索することが可能である。そし
て、検索したログに含まれているプロセス名、カウンタ
情報及びイベント種別に基づいて、そのトランザクショ
ンのイベントの相互関係が把握できるので、トランザク
ションの経過を解明することが可能である。
ザクションのイベントログは複数のノードのログファイ
ルに分散して記録される。しかし、それらのイベントロ
グにはトランザクションIDが含まれているため、この
トランザクションIDを頼りに、特定のトランザクショ
ンのイベントログを検索することが可能である。そし
て、検索したログに含まれているプロセス名、カウンタ
情報及びイベント種別に基づいて、そのトランザクショ
ンのイベントの相互関係が把握できるので、トランザク
ションの経過を解明することが可能である。
【0007】本発明の第2の側面に従うオブジェクト間
協調動作のイベント追跡方式は、複数のノードを有する
通信ネットワークと、複数のノードに分散して配置され
た複数のオブジェクトと、各ノードに配置され、各ノー
ド内のオブジェクトが実行したイベントのイベントログ
が格納されているログファイルと、少なくとも1つのノ
ードに配置され、指定されたトランザクションのイベン
トを追跡するイベントトラッカとを備える。複数のオブ
ジェクトは、相互間で協調動作を依頼しながら1つのト
ランザクションを連携して処理することができる。各オ
ブジェクトは、他のオブジェクトに協調動作を依頼する
とき、トランザクションIDと、そのトランザクション
の処理経路における各オブジェクトの位置を示すカウン
タ情報とを、他のオブジェクトに伝える。ログファイル
内の各イベントログには、対応するイベントに関わるト
ランザクションIDと、対応するイベントを実行したオ
ブジェクトのプロセス名及びカウンタ情報と、対応する
イベントの種別とが含まれる。各イベントトラッカはロ
グコレクタを有しており、このログコレクタは複数のノ
ード内のログファイルから、指定されたトランザクショ
ンIDをもったイベントログを収集することができる。
協調動作のイベント追跡方式は、複数のノードを有する
通信ネットワークと、複数のノードに分散して配置され
た複数のオブジェクトと、各ノードに配置され、各ノー
ド内のオブジェクトが実行したイベントのイベントログ
が格納されているログファイルと、少なくとも1つのノ
ードに配置され、指定されたトランザクションのイベン
トを追跡するイベントトラッカとを備える。複数のオブ
ジェクトは、相互間で協調動作を依頼しながら1つのト
ランザクションを連携して処理することができる。各オ
ブジェクトは、他のオブジェクトに協調動作を依頼する
とき、トランザクションIDと、そのトランザクション
の処理経路における各オブジェクトの位置を示すカウン
タ情報とを、他のオブジェクトに伝える。ログファイル
内の各イベントログには、対応するイベントに関わるト
ランザクションIDと、対応するイベントを実行したオ
ブジェクトのプロセス名及びカウンタ情報と、対応する
イベントの種別とが含まれる。各イベントトラッカはロ
グコレクタを有しており、このログコレクタは複数のノ
ード内のログファイルから、指定されたトランザクショ
ンIDをもったイベントログを収集することができる。
【0008】このイベント追跡方式によれば、イベント
トラッカは、トランザクションIDを頼りに特定のトラ
ンザクションのイベントログをネットワークから収集す
ることができる。そして、収集した検索したログに含ま
れているプロセス名、カウンタ情報及びイベント種別に
基づいて、イベントトラッカは、そのトランザクション
のイベントを追跡することができる。
トラッカは、トランザクションIDを頼りに特定のトラ
ンザクションのイベントログをネットワークから収集す
ることができる。そして、収集した検索したログに含ま
れているプロセス名、カウンタ情報及びイベント種別に
基づいて、イベントトラッカは、そのトランザクション
のイベントを追跡することができる。
【0009】望ましくは、前記イベントトラッカは更に
ログアナライザを有することができる。このログアナラ
イザは、収集されたイベントログに含まれるプロセス
名、カウンタ情報、及びイベント種別に基づいて、トラ
ンザクションの経過を解明してユーザに提示する。
ログアナライザを有することができる。このログアナラ
イザは、収集されたイベントログに含まれるプロセス
名、カウンタ情報、及びイベント種別に基づいて、トラ
ンザクションの経過を解明してユーザに提示する。
【0010】前記イベントトラッカは、ネットワーク上
の全てのノードに配置してもよい。また、このイベント
トラッカには、各ノード内のオブジェクトが実行したイ
ベントのイベントログをログファイルに記録するログラ
イタも含ませることができる。
の全てのノードに配置してもよい。また、このイベント
トラッカには、各ノード内のオブジェクトが実行したイ
ベントのイベントログをログファイルに記録するログラ
イタも含ませることができる。
【0011】望ましくは、各イベントトラッカのために
イベントログの収集を代行するログコレクションエージ
ェントを、各物理ネットワーク毎に設けることができ
る。このログコレクションエージェントは、イベントト
ラッカからログ収集依頼を受けると、同じ物理ネットワ
ーク内の全てのノード内のログファイルから、指定され
たトランザクションIDをもったイベントログを収集
し、更に、他の物理ネットワーク内の別のログコレクシ
ョンエージェントへもログ収集依頼を送る。そして、こ
のログコレクションエージェントは、同じ物理ネットワ
ーク内の全てのノードから収集したイベントログと、別
のログコレクションエージェントに収集してもらった他
の物理ネットワーク上とを、依頼元のイベントトラッカ
に返送する。
イベントログの収集を代行するログコレクションエージ
ェントを、各物理ネットワーク毎に設けることができ
る。このログコレクションエージェントは、イベントト
ラッカからログ収集依頼を受けると、同じ物理ネットワ
ーク内の全てのノード内のログファイルから、指定され
たトランザクションIDをもったイベントログを収集
し、更に、他の物理ネットワーク内の別のログコレクシ
ョンエージェントへもログ収集依頼を送る。そして、こ
のログコレクションエージェントは、同じ物理ネットワ
ーク内の全てのノードから収集したイベントログと、別
のログコレクションエージェントに収集してもらった他
の物理ネットワーク上とを、依頼元のイベントトラッカ
に返送する。
【0012】上述したログライタ、イベントトラッカ、
ログコレクタ、ログアナライザ、およびログコレクショ
ンエージェントは、典型的にはコンピュータがそれらの
プログラムを実行することによって実現される。それら
のプログラムは、各種のディスク型ストレージ、半導体
メモリ、通信ネットワークなどの様々な媒体を通じてコ
ンピュータにインストール又はロードすることができ
る。
ログコレクタ、ログアナライザ、およびログコレクショ
ンエージェントは、典型的にはコンピュータがそれらの
プログラムを実行することによって実現される。それら
のプログラムは、各種のディスク型ストレージ、半導体
メモリ、通信ネットワークなどの様々な媒体を通じてコ
ンピュータにインストール又はロードすることができ
る。
【0013】
【発明の実施の形態】本発明の通信ログ管理及びイベン
ト追跡方式の実施形態の説明に入る前に、この実施形態
を適用することが有用な、新規の2種類のネットワーク
環境について説明する。1つ目は新規なクライアント/
サーバ環境であり、2つ目は、新規なマルチキャストの
ためのネットワーク環境である。
ト追跡方式の実施形態の説明に入る前に、この実施形態
を適用することが有用な、新規の2種類のネットワーク
環境について説明する。1つ目は新規なクライアント/
サーバ環境であり、2つ目は、新規なマルチキャストの
ためのネットワーク環境である。
【0014】〔新規なクライアント/サーバ環境〕図1
は、このクライアント/サーバ環境の全体構成を示す。
この環境では、クライアントオブジェクトの知らない
(つまり、クライアントオブジェクトにとって不特定
の)1個以上のサーバオブジェクトが、そのクライアン
トオブジェクトと非同期で協調動作を行って或るトラン
ザクションを遂行することができるようになっている。
以下、詳細に説明する。
は、このクライアント/サーバ環境の全体構成を示す。
この環境では、クライアントオブジェクトの知らない
(つまり、クライアントオブジェクトにとって不特定
の)1個以上のサーバオブジェクトが、そのクライアン
トオブジェクトと非同期で協調動作を行って或るトラン
ザクションを遂行することができるようになっている。
以下、詳細に説明する。
【0015】ネットワーク上に、少なくとも1つのクラ
イアントオブジェクト(以下、単にクライアントとい
う)1と、「サービスエージェント」と呼ばれる1セッ
ト又は複数セットのオブジェクトセット3、7と、複数
のサーバオブジェクト(以下、単にサーバという)5
A、5B、5C、…(これを纏めてサーバ群5ともい
う)、別の1群以上のサーバ群9などが散在している。
クライアント1は、原則として1つの特定のサービスエ
ージェント3の傘下におかれている。サーバ群5も、原
則として1つの特定のサービスエージェント3の傘下に
おかれ、同様に、別のサーバ群9も、原則として1つの
別の特定のサービスエージェント7に傘下におかれてい
る。ネットワークにおける各オブジェクトの場所は、ネ
ットワーク上のノードを示すノード名と、ノード内のオ
ブジェクト(プロセス)を示すプロセス名とにより特定
される。
イアントオブジェクト(以下、単にクライアントとい
う)1と、「サービスエージェント」と呼ばれる1セッ
ト又は複数セットのオブジェクトセット3、7と、複数
のサーバオブジェクト(以下、単にサーバという)5
A、5B、5C、…(これを纏めてサーバ群5ともい
う)、別の1群以上のサーバ群9などが散在している。
クライアント1は、原則として1つの特定のサービスエ
ージェント3の傘下におかれている。サーバ群5も、原
則として1つの特定のサービスエージェント3の傘下に
おかれ、同様に、別のサーバ群9も、原則として1つの
別の特定のサービスエージェント7に傘下におかれてい
る。ネットワークにおける各オブジェクトの場所は、ネ
ットワーク上のノードを示すノード名と、ノード内のオ
ブジェクト(プロセス)を示すプロセス名とにより特定
される。
【0016】なお、図1では1つのクライアント1しか
図示してないが、実際には、多くの他のクライアントも
同じネットワーク上に存在しているのが普通である。し
かし、1つのクライアント1に関する説明は他のクライ
アントにも同様にあてはまるので、他のクライアントに
ついての図示および説明は省略する。
図示してないが、実際には、多くの他のクライアントも
同じネットワーク上に存在しているのが普通である。し
かし、1つのクライアント1に関する説明は他のクライ
アントにも同様にあてはまるので、他のクライアントに
ついての図示および説明は省略する。
【0017】サービスエージェント3は、傘下の各サー
バ5A、5B、5C、…のサービス名、場所及びステー
タスを知ってそれを管理している。別のサービスエージ
ェント7も、傘下のサーバ群9に属する各サーバのサー
ビス名、場所及びステータスを同様に管理している。一
方、クライアント1は、ネットワーク上に散在するサー
バ5A、5B、5C、…、9の個数、場所(ノード名、
プロセス名)、ステータス(アイドル、処理中、故障な
どの現在状態)及び提供するサービス名ついて全く関知
しない。
バ5A、5B、5C、…のサービス名、場所及びステー
タスを知ってそれを管理している。別のサービスエージ
ェント7も、傘下のサーバ群9に属する各サーバのサー
ビス名、場所及びステータスを同様に管理している。一
方、クライアント1は、ネットワーク上に散在するサー
バ5A、5B、5C、…、9の個数、場所(ノード名、
プロセス名)、ステータス(アイドル、処理中、故障な
どの現在状態)及び提供するサービス名ついて全く関知
しない。
【0018】各オブジェクトの動作の概要は次の通りで
ある。
ある。
【0019】各サーバ5A、5B、5C、…は、自己を
傘下におさめるサービスエージェント3に対し、サービ
ス開始時に自己のサービス名及び場所(ノード名とプロ
セス名)を知らせる(通信C1)。サービスエージェン
ト3は、各サーバ5A、5B、5C、…から通知された
サービス名及び場所を記憶し、また、各サーバ5A、5
B、5C、…のステータスも以後監視する。同様に、別
のサーバ群9に属する各サーバもサービスエージェント
7に自己のサービス名及び場所を通知し(通信C2)、
それをサービスエージェント7が同様に管理する。
傘下におさめるサービスエージェント3に対し、サービ
ス開始時に自己のサービス名及び場所(ノード名とプロ
セス名)を知らせる(通信C1)。サービスエージェン
ト3は、各サーバ5A、5B、5C、…から通知された
サービス名及び場所を記憶し、また、各サーバ5A、5
B、5C、…のステータスも以後監視する。同様に、別
のサーバ群9に属する各サーバもサービスエージェント
7に自己のサービス名及び場所を通知し(通信C2)、
それをサービスエージェント7が同様に管理する。
【0020】クライアント1は、サービス名を指定した
サービス要求をサービスエージェント3に送る(通信C
3)。サービスエージェント3は、サービス要求に応じ
られるサーバをサーバ群5内から探し、そのサーバ(例
えばサーバ5Bとする)にサービス要求を送る(通信C
4)。サーバ5Bは、要求されたサービスの処理を実行
し、その処理結果をサービスエージェント3に返送する
(通信C5)。サービスエージェント3は、その処理結
果をクライアント1に送る(通信C6)。なお、この通
信C6では、サービスエージェント3は、予めクライア
ント1から教えられているコールバック(CB)を用い
てクライアント1を呼んで処理結果を渡す。
サービス要求をサービスエージェント3に送る(通信C
3)。サービスエージェント3は、サービス要求に応じ
られるサーバをサーバ群5内から探し、そのサーバ(例
えばサーバ5Bとする)にサービス要求を送る(通信C
4)。サーバ5Bは、要求されたサービスの処理を実行
し、その処理結果をサービスエージェント3に返送する
(通信C5)。サービスエージェント3は、その処理結
果をクライアント1に送る(通信C6)。なお、この通
信C6では、サービスエージェント3は、予めクライア
ント1から教えられているコールバック(CB)を用い
てクライアント1を呼んで処理結果を渡す。
【0021】ところで、サービスエージェント3は、ク
ライアント1からのサービス要求に応じられるサーバが
サーバ群5内に無い場合、その旨をクライアント1に通
知することもできるが、その代わりに、別のサービスエ
ージェント7にサーバを照会することもできる(通信C
7)。別のサービスエージェント7は、傘下のサーバ群
9から要求に応じられるサーバを探し、そのサーバの場
所をサービスエージェント3に通知する(通信C8)。
サービスエージェント3は、その通知されたサーバにサ
ービス要求を送り(通信C9)、その結果を受信し(通
信C10)、それをクラアント1に送る(通信C6)。
ライアント1からのサービス要求に応じられるサーバが
サーバ群5内に無い場合、その旨をクライアント1に通
知することもできるが、その代わりに、別のサービスエ
ージェント7にサーバを照会することもできる(通信C
7)。別のサービスエージェント7は、傘下のサーバ群
9から要求に応じられるサーバを探し、そのサーバの場
所をサービスエージェント3に通知する(通信C8)。
サービスエージェント3は、その通知されたサーバにサ
ービス要求を送り(通信C9)、その結果を受信し(通
信C10)、それをクラアント1に送る(通信C6)。
【0022】以上のように、サービスエージェント3が
クライアント1とサーバ5A、5B、5C、…間の通信
を仲介することにより、クライアント1は、サーバとの
通信に必要な情報(例えばサーバの個数や場所など)に
関知することなしに、所望のサービス名を指定するだけ
でそのサービスの提供を受けることができる。つまり、
クライアント1はサーバとの通信という問題から解放さ
れるのである。このことにより、クライアント1のプロ
グラム構築は、サーバの事情を考慮せずにすむため、非
常に容易になる。
クライアント1とサーバ5A、5B、5C、…間の通信
を仲介することにより、クライアント1は、サーバとの
通信に必要な情報(例えばサーバの個数や場所など)に
関知することなしに、所望のサービス名を指定するだけ
でそのサービスの提供を受けることができる。つまり、
クライアント1はサーバとの通信という問題から解放さ
れるのである。このことにより、クライアント1のプロ
グラム構築は、サーバの事情を考慮せずにすむため、非
常に容易になる。
【0023】また、サービスエージェント3は、通信C
6でクライアント1に処理結果を返すとき、所定のCB
を用いてクライアント1を呼び出す。そのためクライア
ント1は、要求を送る通信C3から結果を受ける通信C
6までの間ずっと待っている必要はなく、通信C3が終
わり次第別の処理に移行することができる。つまり、オ
ブジェクト間の非同期協調動作が可能である。
6でクライアント1に処理結果を返すとき、所定のCB
を用いてクライアント1を呼び出す。そのためクライア
ント1は、要求を送る通信C3から結果を受ける通信C
6までの間ずっと待っている必要はなく、通信C3が終
わり次第別の処理に移行することができる。つまり、オ
ブジェクト間の非同期協調動作が可能である。
【0024】図2は、サービスエージェント3の構成と
働きをより詳細に示している。
働きをより詳細に示している。
【0025】サービスエージェント3は、サービスエー
ジェントのデーモンプロセスとして提供されるサービス
マネージャ31と、サービスマネージャ31内に唯一存
在するサービステーブル33と、クライアント1及びサ
ーバ5A、5B、…の各々に組み込まれ又は付属したサ
ービス・アプリケーションインタフェース(サービスA
PI)35、37A、37B、37C、…とを含む。サ
ービスマネージャ31は、サービスAPI35、37
A、37B、…が知っている特定場所のノードにおかれ
る。各サービスAPI35、37A、37B、…は、当
然、それぞれが組み込まれ又は付属したクライアント1
及びサーバ5A、5B、5C、…と同じノードにおかれ
る。
ジェントのデーモンプロセスとして提供されるサービス
マネージャ31と、サービスマネージャ31内に唯一存
在するサービステーブル33と、クライアント1及びサ
ーバ5A、5B、…の各々に組み込まれ又は付属したサ
ービス・アプリケーションインタフェース(サービスA
PI)35、37A、37B、37C、…とを含む。サ
ービスマネージャ31は、サービスAPI35、37
A、37B、…が知っている特定場所のノードにおかれ
る。各サービスAPI35、37A、37B、…は、当
然、それぞれが組み込まれ又は付属したクライアント1
及びサーバ5A、5B、5C、…と同じノードにおかれ
る。
【0026】サービスマネージャ31の主たる機能は、
傘下の全てのサーバ5A、5B、…のサービス名、ノー
ド名、プロセス名及びステータス(以下、これらを総称
してサービス情報という)をサービステーブル33上で
管理し、クライアント1からのサービス要求を受ける
と、サービステーブル33を参照して傘下のサーバ群5
内から、そのサービス要求に応えられるサーバを傘下の
サーバ群5から探すことである。
傘下の全てのサーバ5A、5B、…のサービス名、ノー
ド名、プロセス名及びステータス(以下、これらを総称
してサービス情報という)をサービステーブル33上で
管理し、クライアント1からのサービス要求を受ける
と、サービステーブル33を参照して傘下のサーバ群5
内から、そのサービス要求に応えられるサーバを傘下の
サーバ群5から探すことである。
【0027】各サービスAPI35、37A、37B、
…の主たる機能は、対応するクライアント1及びサーバ
5A、5B、5C、…のために、サービスマネージャ3
1との通信や他のサーバ又はクライアントとの通信を代
行することである。
…の主たる機能は、対応するクライアント1及びサーバ
5A、5B、5C、…のために、サービスマネージャ3
1との通信や他のサーバ又はクライアントとの通信を代
行することである。
【0028】図3及び図4は、図2に示した各オブジェ
クトの動作の流れを示す。また、図5は、サービステー
ブル31の内容例を示す。以下、図2〜図5を参照し
て、各部の動作を説明する。
クトの動作の流れを示す。また、図5は、サービステー
ブル31の内容例を示す。以下、図2〜図5を参照し
て、各部の動作を説明する。
【0029】各サーバ5A、5B、…は、各々の起動時
などに、各々のサービスAPI37A、37B、…に対
しサービス提供宣言を送る(通信C21)。このサービ
ス提供宣言には、それぞれのサーバのサービス処理を識
別するためのサービス名と、所定の提供CBの指定とが
含まれる。ここで、提供CBとは、各サーバ5A、5
B、…内のサービス処理の実行主体であり、これを呼ぶ
ことにより、各サーバ5A、5B、…にサービス処理を
実行させることができる。サービス提供宣言が各サービ
スAPI37A、37B、…に受け付けられると、その
旨の確認応答が各サーバ5A、5B、…に返される。
などに、各々のサービスAPI37A、37B、…に対
しサービス提供宣言を送る(通信C21)。このサービ
ス提供宣言には、それぞれのサーバのサービス処理を識
別するためのサービス名と、所定の提供CBの指定とが
含まれる。ここで、提供CBとは、各サーバ5A、5
B、…内のサービス処理の実行主体であり、これを呼ぶ
ことにより、各サーバ5A、5B、…にサービス処理を
実行させることができる。サービス提供宣言が各サービ
スAPI37A、37B、…に受け付けられると、その
旨の確認応答が各サーバ5A、5B、…に返される。
【0030】各サービスAPI37A、37B、…は、
各サーバ5A、5B、…からの上記サービス提供宣言に
応答して、サービスマネージャ31に対し、各サーバの
サービス名、ノード名およびプロセス名を含んだサービ
ス提供宣言を送る(通信C22)。
各サーバ5A、5B、…からの上記サービス提供宣言に
応答して、サービスマネージャ31に対し、各サーバの
サービス名、ノード名およびプロセス名を含んだサービ
ス提供宣言を送る(通信C22)。
【0031】サービスマネージャ31は、各サービスA
PI37A、37B、…からサービス提供宣言を受ける
と、サービステーブル33に、宣言に含まれているサー
ビス名、ノード名およびプロセス名を登録する(ステッ
プS1)。この登録時、サービスマネージャ31は、サ
ーバの状態を示すテーブル33上のステータスを「アイ
ドル」に設定する。従って、サービステーブル33に
は、図5に例示するように、既に起動した全てのサーバ
5A、5B、…のサービス名、ノード名、プロセス名お
よびステータスが記録されることになる。
PI37A、37B、…からサービス提供宣言を受ける
と、サービステーブル33に、宣言に含まれているサー
ビス名、ノード名およびプロセス名を登録する(ステッ
プS1)。この登録時、サービスマネージャ31は、サ
ーバの状態を示すテーブル33上のステータスを「アイ
ドル」に設定する。従って、サービステーブル33に
は、図5に例示するように、既に起動した全てのサーバ
5A、5B、…のサービス名、ノード名、プロセス名お
よびステータスが記録されることになる。
【0032】クライアント1は、自己のサービスAPI
35に対しサービス要求を送る(通信C23)。このサ
ービス要求には、要求するサービスを識別するためのサ
ービス名と、所定の応答CBの指定とが含まれる。ここ
で、応答CBとは、クライアント1内のサービス処理結
果を受信する主体であり、これを呼ぶことによりクライ
アント1にサービス処理結果を受け取らせることができ
る。サービス要求がサービスAPI35に受け付けられ
ると、その旨の確認応答がサービスAPI35からクラ
イアント1に返される。この確認応答を受けた後は、サ
ービス処理の結果が来ればサービスAPI35が応答C
Bを呼んでくれるので、クライアント1はサービス処理
の結果を待つことなく、別の処理に移行することができ
る。
35に対しサービス要求を送る(通信C23)。このサ
ービス要求には、要求するサービスを識別するためのサ
ービス名と、所定の応答CBの指定とが含まれる。ここ
で、応答CBとは、クライアント1内のサービス処理結
果を受信する主体であり、これを呼ぶことによりクライ
アント1にサービス処理結果を受け取らせることができ
る。サービス要求がサービスAPI35に受け付けられ
ると、その旨の確認応答がサービスAPI35からクラ
イアント1に返される。この確認応答を受けた後は、サ
ービス処理の結果が来ればサービスAPI35が応答C
Bを呼んでくれるので、クライアント1はサービス処理
の結果を待つことなく、別の処理に移行することができ
る。
【0033】サービスAPI35は、クライアント1か
らサービス要求を受けると、サービス名をキーとして、
サービス情報の照会をサービスマネージャ31に対して
行う(通信C24)。
らサービス要求を受けると、サービス名をキーとして、
サービス情報の照会をサービスマネージャ31に対して
行う(通信C24)。
【0034】サービスマネージャ31は、サービステー
ブル33を参照して、そのサービス名を現在提供するこ
とができるサーバを探す(ステップS2)。具体的に
は、テーブル33上のサービス名が照会にかかるサービ
ス名と一致し、かつ、テーブル33上のステータスが
「アイドル」であるサーバを探す。この条件を満たすサ
ーバが見つかれば、サービスマネージャ31は、そのサ
ーバの場所を示すノード名とプロセス名をテーブル33
から読み出し、照会元のサービスAPI35に返送する
(通信25)。
ブル33を参照して、そのサービス名を現在提供するこ
とができるサーバを探す(ステップS2)。具体的に
は、テーブル33上のサービス名が照会にかかるサービ
ス名と一致し、かつ、テーブル33上のステータスが
「アイドル」であるサーバを探す。この条件を満たすサ
ーバが見つかれば、サービスマネージャ31は、そのサ
ーバの場所を示すノード名とプロセス名をテーブル33
から読み出し、照会元のサービスAPI35に返送する
(通信25)。
【0035】サービスAPI35は、サービスマネージ
ャ31から受け取ったノード名とプロセス名とを宛先に
して(例えば、サーバ3Aとする)、クライアント1の
要求したサービス名を含んだサービス要求を送信する
(通信C26)。
ャ31から受け取ったノード名とプロセス名とを宛先に
して(例えば、サーバ3Aとする)、クライアント1の
要求したサービス名を含んだサービス要求を送信する
(通信C26)。
【0036】サーバ3AのサービスAPI37Aは、サ
ービス要求を受信すると、予めサーバ3Aから指定され
ている提供CBを呼ぶ(通信C27)。これにより、サ
ーバ3Aのサービス処理が開始される。サービス処理が
開始されると、サービスAPI37Aは、ステータスを
「処理中」に変更する旨のステータス変更通知をサービ
スマネージャ31に送る(通信C28)。このステータ
ス変更通知には、サーバ3Aのノード名及びプロセス名
が含まれている。サービスマネージャ31は、そのステ
ータス変更通知を受けると、そのノード名及びプロセス
名に該当するサービステーブル33上のステータスを
「アイドル」から「処理中」に変更する(ステップS
3)。
ービス要求を受信すると、予めサーバ3Aから指定され
ている提供CBを呼ぶ(通信C27)。これにより、サ
ーバ3Aのサービス処理が開始される。サービス処理が
開始されると、サービスAPI37Aは、ステータスを
「処理中」に変更する旨のステータス変更通知をサービ
スマネージャ31に送る(通信C28)。このステータ
ス変更通知には、サーバ3Aのノード名及びプロセス名
が含まれている。サービスマネージャ31は、そのステ
ータス変更通知を受けると、そのノード名及びプロセス
名に該当するサービステーブル33上のステータスを
「アイドル」から「処理中」に変更する(ステップS
3)。
【0037】サービス処理が終わって提供CBが終了す
ると、サーバ3Aは提供CBの終了宣言をサービスAP
I37Aに送る(通信C29)。この終了宣言には、実
行したサービス処理の結果(例えば、データベース検索
を行った場合の検索結果など)が含まれている。
ると、サーバ3Aは提供CBの終了宣言をサービスAP
I37Aに送る(通信C29)。この終了宣言には、実
行したサービス処理の結果(例えば、データベース検索
を行った場合の検索結果など)が含まれている。
【0038】サービスAPI37Aは、提供CB終了宣
言を受けると、ステータスを「アイドル」に変更する旨
のステータス変更通知をサービスマネージャ31に送る
(通信C30)。サービスマネージャ31は、その通知
を受けて、サービステーブル33上の該当するステータ
スを「処理中」から「アイドル」に変更する(ステップ
S4)。
言を受けると、ステータスを「アイドル」に変更する旨
のステータス変更通知をサービスマネージャ31に送る
(通信C30)。サービスマネージャ31は、その通知
を受けて、サービステーブル33上の該当するステータ
スを「処理中」から「アイドル」に変更する(ステップ
S4)。
【0039】提供CB終了宣言を受けたサービスAPI
37Aは、さらに、サービス処理結果をサービス要求元
のクライアント1に宛てて返送する(通信C31)。ク
ライアント1のサービスAPI35は、そのサービス処
理結果を受信すると、応答CBを呼ぶ(通信C32)。
これにより、クライアント1は、サービス処理結果を受
け取る。
37Aは、さらに、サービス処理結果をサービス要求元
のクライアント1に宛てて返送する(通信C31)。ク
ライアント1のサービスAPI35は、そのサービス処
理結果を受信すると、応答CBを呼ぶ(通信C32)。
これにより、クライアント1は、サービス処理結果を受
け取る。
【0040】ところで、サービスマネージャ31は、ク
ライアント1のサービスAPI35からサービス情報照
会を受けたとき(通信C24)、条件を満たすサーバが
サービステーブル33から見つからなかった場合、図2
に示すように、別のサービスエージェントのサービスマ
ネージャに対して、同内容のサービス情報照会を送るこ
とができる(通信C33)。すると、その別のサービス
マネージャは、自己のサービステーブルから条件を満た
すサーバを探して、そのノード名とプロセス名を照会元
のサービスマネージャ31に返送する(通信C34)。
サービスマネージャ31は、そのノード名とプロセス名
とをクライアント1のサービスAPI35に送り(通信
25)、サービスAPI35はそのノード名とプロセス
名を宛先にしてサービス要求を発し(通信C35)、そ
してその結果を受けることができる(通信C36)。
ライアント1のサービスAPI35からサービス情報照
会を受けたとき(通信C24)、条件を満たすサーバが
サービステーブル33から見つからなかった場合、図2
に示すように、別のサービスエージェントのサービスマ
ネージャに対して、同内容のサービス情報照会を送るこ
とができる(通信C33)。すると、その別のサービス
マネージャは、自己のサービステーブルから条件を満た
すサーバを探して、そのノード名とプロセス名を照会元
のサービスマネージャ31に返送する(通信C34)。
サービスマネージャ31は、そのノード名とプロセス名
とをクライアント1のサービスAPI35に送り(通信
25)、サービスAPI35はそのノード名とプロセス
名を宛先にしてサービス要求を発し(通信C35)、そ
してその結果を受けることができる(通信C36)。
【0041】以上のような具体的な構成及び動作によ
り、図1を参照して既に説明した通りの、クライアント
1はサーバを意識する必要が無い、オブジェクト間の非
同期協調動作が可能である、という利点が得られる。
り、図1を参照して既に説明した通りの、クライアント
1はサーバを意識する必要が無い、オブジェクト間の非
同期協調動作が可能である、という利点が得られる。
【0042】図6は、オブジェクト間非同期協調動作が
可能であることによって得られる一つの具体的な利点の
例を示している。
可能であることによって得られる一つの具体的な利点の
例を示している。
【0043】例えば、次のようなケースを想定する。す
なわち、クライアント1は、特定の計算をなるべく速く
行うことを欲している。その特定の計算を行う方法には
アルゴリズムAとBの2種類があり、いずれの方法がよ
り速いかは、入力データの値に依存する。アルゴリズム
A又はBを実装したサーバ5A、5B、5C、…がネッ
トワーク上に散在しており、それぞれのアルゴリズムに
ついて図示のように多重にサーバが存在している。
なわち、クライアント1は、特定の計算をなるべく速く
行うことを欲している。その特定の計算を行う方法には
アルゴリズムAとBの2種類があり、いずれの方法がよ
り速いかは、入力データの値に依存する。アルゴリズム
A又はBを実装したサーバ5A、5B、5C、…がネッ
トワーク上に散在しており、それぞれのアルゴリズムに
ついて図示のように多重にサーバが存在している。
【0044】このようなケースでは、クライアント1は
サービスエージェント3に対し、「アルゴリズムAによ
る計算要求」と「アルゴリズムBによる計算要求」とい
う2つのサービス要求をたて続けに発することができる
(通信C41、C42)。非同期処理が可能であるか
ら、一方の計算が完了する前に、他方の計算要求を発す
ることができるからである。
サービスエージェント3に対し、「アルゴリズムAによ
る計算要求」と「アルゴリズムBによる計算要求」とい
う2つのサービス要求をたて続けに発することができる
(通信C41、C42)。非同期処理が可能であるか
ら、一方の計算が完了する前に、他方の計算要求を発す
ることができるからである。
【0045】すると、サービスエージェント3は、即座
に、アルゴリズムA、Bの各々についてステータスがア
イドルのサーバ(例えば、サーバ5Aとサーバ5Cとす
る)を見つけ、それらに対し、その特定の計算を依頼す
る(通信C43、C44)。サーバ5Aとサーバ5Cは
アルゴリズムAとBでそれぞれ計算を行い、いずれか早
く計算を完了した方(例えばサーバ5A)が先に、計算
結果を返す(通信C45)。従って、クライアント1
は、労せずして、速いほうの計算結果を受け取ることが
できる(通信C46)。
に、アルゴリズムA、Bの各々についてステータスがア
イドルのサーバ(例えば、サーバ5Aとサーバ5Cとす
る)を見つけ、それらに対し、その特定の計算を依頼す
る(通信C43、C44)。サーバ5Aとサーバ5Cは
アルゴリズムAとBでそれぞれ計算を行い、いずれか早
く計算を完了した方(例えばサーバ5A)が先に、計算
結果を返す(通信C45)。従って、クライアント1
は、労せずして、速いほうの計算結果を受け取ることが
できる(通信C46)。
【0046】なお、上記説明では、個々のクライアント
および個々のサーバは、1つのサービスエージェントの
傘下におかれており、その1つのサービスエージェント
とのみ通信している。しかし、必ずしもそうである必要
はなく、或るクライアント又は或るサーバが、2つ以上
のサービスエージェントの傘下におかれていてもよい。
その場合、そのクライアントのサービスAPI又はその
サーバのサービスAPIは、自分が傘下にある2つ以上
のサービスエージェントのサービスマネージャの場所を
知っている必要がある。こうすることにより、サービス
マネージャの負荷分散を図ることが可能である。また、
例えば、或るサービスエージェントは或る特定種類のサ
ービスを提供するサーバ群を傘下におさめ、別のサービ
スエージェントはまた別の特定種類のサービスを提供す
るサーバ群を傘下におさめているような場合、双方のサ
ービスを受けたい1つのクライアントが、その2つのサ
ービスエージェントの傘下に入って、ほしいサービスに
応じてサービスエージェントを使い分けるといった構成
も可能である。
および個々のサーバは、1つのサービスエージェントの
傘下におかれており、その1つのサービスエージェント
とのみ通信している。しかし、必ずしもそうである必要
はなく、或るクライアント又は或るサーバが、2つ以上
のサービスエージェントの傘下におかれていてもよい。
その場合、そのクライアントのサービスAPI又はその
サーバのサービスAPIは、自分が傘下にある2つ以上
のサービスエージェントのサービスマネージャの場所を
知っている必要がある。こうすることにより、サービス
マネージャの負荷分散を図ることが可能である。また、
例えば、或るサービスエージェントは或る特定種類のサ
ービスを提供するサーバ群を傘下におさめ、別のサービ
スエージェントはまた別の特定種類のサービスを提供す
るサーバ群を傘下におさめているような場合、双方のサ
ービスを受けたい1つのクライアントが、その2つのサ
ービスエージェントの傘下に入って、ほしいサービスに
応じてサービスエージェントを使い分けるといった構成
も可能である。
【0047】ところで、上記説明では、クライアントや
サーバのサービスAPIを、サービスエージェントの一
部という位置づけで説明したが、これは一つの説明の方
法又は概念化の方法に過ぎないものであって、別の説明
も可能であることに注意されたい。すなわち、例えば、
各クライアントや各サーバのサービスAPIを、サービ
スエージェントの一部ではなく、各クライアントや各サ
ーバの一部という位置づけで理解することもできるし、
或いは、サービスエージェント、クライアント及びサー
バのいずれにも属さない独立したオブジェクトとして理
解することも可能である。
サーバのサービスAPIを、サービスエージェントの一
部という位置づけで説明したが、これは一つの説明の方
法又は概念化の方法に過ぎないものであって、別の説明
も可能であることに注意されたい。すなわち、例えば、
各クライアントや各サーバのサービスAPIを、サービ
スエージェントの一部ではなく、各クライアントや各サ
ーバの一部という位置づけで理解することもできるし、
或いは、サービスエージェント、クライアント及びサー
バのいずれにも属さない独立したオブジェクトとして理
解することも可能である。
【0048】〔新規なマルチキャスト環境〕図7は、こ
のマルチキャスト環境の全体構成を示す。この環境で
は、メッセージの送信元のオブジェクトが指定する特定
のドメインに参加してはいるが、送信元オブジェクトが
具体的に知ってはいない(つまり、送信元オブジェクト
にとって不特定の)複数のオブジェクトにたいして、メ
ッセージをマルチキャストできるよになっている。以
下、詳細に説明する。
のマルチキャスト環境の全体構成を示す。この環境で
は、メッセージの送信元のオブジェクトが指定する特定
のドメインに参加してはいるが、送信元オブジェクトが
具体的に知ってはいない(つまり、送信元オブジェクト
にとって不特定の)複数のオブジェクトにたいして、メ
ッセージをマルチキャストできるよになっている。以
下、詳細に説明する。
【0049】図7に示すように、或る通信ネットワーク
100が、ルータ130−1、130−2、…などによ
って相互接続された多数の物理的なネットワークセグメ
ントの集合体として構成されている。この通信ネットワ
ーク100上に、1以上の論理ネットワーク110−
1、110−2、…が定義されている。各論理ネットワ
ーク110−1、110−2、…には、通常、多数のノ
ード(=ホスト)120−1、120−2、…が含まれ
ている。
100が、ルータ130−1、130−2、…などによ
って相互接続された多数の物理的なネットワークセグメ
ントの集合体として構成されている。この通信ネットワ
ーク100上に、1以上の論理ネットワーク110−
1、110−2、…が定義されている。各論理ネットワ
ーク110−1、110−2、…には、通常、多数のノ
ード(=ホスト)120−1、120−2、…が含まれ
ている。
【0050】ノード120−1、120−2、…の各々
は、1つ又はそれ以上の数のアプリケーション(AP)
オブジェクト(=プロセス)140−1、140−2、
…を有している(図7では、ノード120−1以外の他
のノード内のAPオブジェクトの図示は省略してあ
る)。APオブジェクト140−1、140−2、…
は、それぞれ特定の業務に関わる処理を行うが、業務の
種類又は内容に応じて予め定義された幾つかの業務グル
ープのいずれかに参加している。例えば、APオブジェ
クト140−1は特定のデータベースの検索を行う業務
グループに参加し、別のAPオブジェクト140−2は
計算を行う業務グループに参加する、などというように
である。個々の業務グループはドメインと呼ばれる。な
お、本実施形態では業務の種類又は内容に応じてドメイ
ンを定義しているが、これは説明上の一例に過ぎない。
別の観点(例えばコストの観点、管理形態の観点、処理
速度の観点など)からドメインを定義しても勿論構わな
い。
は、1つ又はそれ以上の数のアプリケーション(AP)
オブジェクト(=プロセス)140−1、140−2、
…を有している(図7では、ノード120−1以外の他
のノード内のAPオブジェクトの図示は省略してあ
る)。APオブジェクト140−1、140−2、…
は、それぞれ特定の業務に関わる処理を行うが、業務の
種類又は内容に応じて予め定義された幾つかの業務グル
ープのいずれかに参加している。例えば、APオブジェ
クト140−1は特定のデータベースの検索を行う業務
グループに参加し、別のAPオブジェクト140−2は
計算を行う業務グループに参加する、などというように
である。個々の業務グループはドメインと呼ばれる。な
お、本実施形態では業務の種類又は内容に応じてドメイ
ンを定義しているが、これは説明上の一例に過ぎない。
別の観点(例えばコストの観点、管理形態の観点、処理
速度の観点など)からドメインを定義しても勿論構わな
い。
【0051】図8は、このシステムの論理的な構成を示
している。図中の菱形と黒ドットとを線で結んだシンボ
ルは、菱形マーク側の要素1個に黒ドットマーク側の要
素がN個(1つ以上)所属しているという「1対N」の
所属関係を表している。
している。図中の菱形と黒ドットとを線で結んだシンボ
ルは、菱形マーク側の要素1個に黒ドットマーク側の要
素がN個(1つ以上)所属しているという「1対N」の
所属関係を表している。
【0052】論理ネットワーク110は、物理ネットワ
ークに設置されている多数のノード120の集合体であ
る。この論理ネットワーク110は、論理的に定義され
たものであり、物理的なセグメント構成やLAN/WA
Nなどの定義とは無関係である。1つのノード120内
では1つ以上のAPオブジェクト140が動作する。従
って、各APオブジェクト140は、1つのネットワー
ク110と1つのノード120とに所属する。また、1
つのドメイン170には、1つ以上のAPオブジェクト
140が参加している。但し、各APオブジェクト14
0は、必ずしもドメイン170に参加する必要はない。
つまり、何のドメインにも属さないAPオブジェクト1
40が存在してもよい。
ークに設置されている多数のノード120の集合体であ
る。この論理ネットワーク110は、論理的に定義され
たものであり、物理的なセグメント構成やLAN/WA
Nなどの定義とは無関係である。1つのノード120内
では1つ以上のAPオブジェクト140が動作する。従
って、各APオブジェクト140は、1つのネットワー
ク110と1つのノード120とに所属する。また、1
つのドメイン170には、1つ以上のAPオブジェクト
140が参加している。但し、各APオブジェクト14
0は、必ずしもドメイン170に参加する必要はない。
つまり、何のドメインにも属さないAPオブジェクト1
40が存在してもよい。
【0053】再び図7を参照する。各論理ネットワーク
110−1、110−2、…では、所定の1つのノード
に、ネットワークアクタ(NWA)と呼ばれるデーモン
プロセスが配置される。例えば、論理ネットワーク11
0−1では、ノード120−2にネットワークアクタ1
50−1が配置され、論理ネットワーク110−2で
は、ノード120−6にネットワークアクタ150−2
が配置されている。このネットワークアクタ150−
1、150−2、…は、それぞれの論理ネットワーク1
10−1、110−2、…における全体のメッセージ配
信制御を行うものである。
110−1、110−2、…では、所定の1つのノード
に、ネットワークアクタ(NWA)と呼ばれるデーモン
プロセスが配置される。例えば、論理ネットワーク11
0−1では、ノード120−2にネットワークアクタ1
50−1が配置され、論理ネットワーク110−2で
は、ノード120−6にネットワークアクタ150−2
が配置されている。このネットワークアクタ150−
1、150−2、…は、それぞれの論理ネットワーク1
10−1、110−2、…における全体のメッセージ配
信制御を行うものである。
【0054】また、個々のノード120−1、120−
2、…には、ノードアクタ(NDA)と呼ばれるデーモ
ンプロセス160−1、160−2、…が1つづつ配置
されている。このノードアクタ160−1、160−
2、…は、それぞれのノード120−1、120−2、
…内でのメッセージ配信制御を行うものである。
2、…には、ノードアクタ(NDA)と呼ばれるデーモ
ンプロセス160−1、160−2、…が1つづつ配置
されている。このノードアクタ160−1、160−
2、…は、それぞれのノード120−1、120−2、
…内でのメッセージ配信制御を行うものである。
【0055】図9は、ネットワークアクタ150とノー
ドアクタ160の機能を具体的に示している。
ドアクタ160の機能を具体的に示している。
【0056】特定のドメインに参加しているAPオブジ
ェクト群へメッセージをマルチキャストしたいAPオブ
ジェクト140は、自分の所属する論理ネットワーク上
のネットワークアクタ150に配信の都度テンポラリな
パス181を張って、そのメッセージを送出する。送出
後、パス181は直ちに切断される。
ェクト群へメッセージをマルチキャストしたいAPオブ
ジェクト140は、自分の所属する論理ネットワーク上
のネットワークアクタ150に配信の都度テンポラリな
パス181を張って、そのメッセージを送出する。送出
後、パス181は直ちに切断される。
【0057】ネットワークアクタ150とそれが所属す
る論理ネットワーク110上の個々のノードアクタ16
0との間には、そのノードアクタ160の起動(典型的
にはマシンブート)タイミングで、配信パス183が張
られる。そして、そのノードアクタ160の終了(典型
的にはマシンのシャットダウン)タイミングで、それぞ
れの配信パス183は切断される。そのノードアクタ1
60の動作中、その配信パス183は張られたままであ
る。
る論理ネットワーク110上の個々のノードアクタ16
0との間には、そのノードアクタ160の起動(典型的
にはマシンブート)タイミングで、配信パス183が張
られる。そして、そのノードアクタ160の終了(典型
的にはマシンのシャットダウン)タイミングで、それぞ
れの配信パス183は切断される。そのノードアクタ1
60の動作中、その配信パス183は張られたままであ
る。
【0058】ネットワークアクタ150は、それが所属
する論理ネットワーク110上の稼動中のノード120
を管理するためのノードアクタテーブル151を、その
ネットワークアクタ150のメモリ上に有している。こ
のノードアクタテーブル151には、図10に例示する
ように、その論理ネットワーク110上の全ての稼動中
のノード120のノード名と、そのノード120への配
信パス183の識別番号(配信パスID、例えばファイ
ルディスクリプタ)とが登録されている。個々のノード
アクタ151が起動した時に、そのノードアクタ160
が自分のノード名と配信パスとを示した起動通知をネッ
トワークアクタ150へ送り、この起動通知に基づい
て、ネットワークアクタ150が、その起動したノード
アクタ160のノード名と配信パスIDとをノードアク
タテーブル151に登録することができる。
する論理ネットワーク110上の稼動中のノード120
を管理するためのノードアクタテーブル151を、その
ネットワークアクタ150のメモリ上に有している。こ
のノードアクタテーブル151には、図10に例示する
ように、その論理ネットワーク110上の全ての稼動中
のノード120のノード名と、そのノード120への配
信パス183の識別番号(配信パスID、例えばファイ
ルディスクリプタ)とが登録されている。個々のノード
アクタ151が起動した時に、そのノードアクタ160
が自分のノード名と配信パスとを示した起動通知をネッ
トワークアクタ150へ送り、この起動通知に基づい
て、ネットワークアクタ150が、その起動したノード
アクタ160のノード名と配信パスIDとをノードアク
タテーブル151に登録することができる。
【0059】特定ドメインへマルチキャストされるべき
メッセージをAPオブジェクト140から受けたネット
ワークアクタ150は、ノードアクタテーブル151を
参照して、その論理ネットワーク110上で稼働中の全
てのノードアクタ160に対して、そのメッセージを配
信する。
メッセージをAPオブジェクト140から受けたネット
ワークアクタ150は、ノードアクタテーブル151を
参照して、その論理ネットワーク110上で稼働中の全
てのノードアクタ160に対して、そのメッセージを配
信する。
【0060】ノードアクタ160と、同じノード内の個
々のAPオブジェクト140との間には、そのAPオブ
ジェクト140の起動タイミングで配信パス185が張
られる。そして、そのAPオブジェクト140の終了タ
イミングで、その配信パス185は切断される。そのA
Pオブジェクト140の動作中、その配信パス185は
張られたままである。
々のAPオブジェクト140との間には、そのAPオブ
ジェクト140の起動タイミングで配信パス185が張
られる。そして、そのAPオブジェクト140の終了タ
イミングで、その配信パス185は切断される。そのA
Pオブジェクト140の動作中、その配信パス185は
張られたままである。
【0061】ノードアクタ160は、それと同じノード
上の稼働中のAPオブジェクト140を管理するための
APオブジェクト管理テーブル161及びドメインテー
ブル163を有している。APオブジェクトテーブル1
61には、図11に例示するように、そのノード内で稼
働中の全てのAPオブジェクト140のオブジェクト名
と、その稼働中のAPオブジェクト140への配信パス
185の配信パスIDとが登録されている。ドメインテ
ーブル163には、図12に例示するように、その稼働
中の全てのAPオブジェクト140のオブジェクト名
と、その稼働中のAPオブジェクト140が参加してい
るドメインの名称(ドメイン名)とが登録されている。
個々のAPオブジェクト140が起動した時に、そのA
Pオブジェクト140が自分のオブジェクト名と配信パ
スとドメイン名とを示した起動通知をノードアクタ16
0へ送り、この起動通知に基づいて、ノードアクタ16
0が、その起動したAPオブジェクト140のオブジェ
クト名と配信パスIDとをAPアプリケーションテーブ
ル161とドメインテーブル163とに登録することが
できる。
上の稼働中のAPオブジェクト140を管理するための
APオブジェクト管理テーブル161及びドメインテー
ブル163を有している。APオブジェクトテーブル1
61には、図11に例示するように、そのノード内で稼
働中の全てのAPオブジェクト140のオブジェクト名
と、その稼働中のAPオブジェクト140への配信パス
185の配信パスIDとが登録されている。ドメインテ
ーブル163には、図12に例示するように、その稼働
中の全てのAPオブジェクト140のオブジェクト名
と、その稼働中のAPオブジェクト140が参加してい
るドメインの名称(ドメイン名)とが登録されている。
個々のAPオブジェクト140が起動した時に、そのA
Pオブジェクト140が自分のオブジェクト名と配信パ
スとドメイン名とを示した起動通知をノードアクタ16
0へ送り、この起動通知に基づいて、ノードアクタ16
0が、その起動したAPオブジェクト140のオブジェ
クト名と配信パスIDとをAPアプリケーションテーブ
ル161とドメインテーブル163とに登録することが
できる。
【0062】特定のドメインへマルチキャストされるべ
きメッセージをネットワークアクタ150から受けたノ
ードアクタ160は、APオブジェクトテーブル161
とドメインテーブル163とを参照して、指定されたド
メインに参加している稼働中のAPオブジェクト140
に対してのみ、そのメッセージを配信する。
きメッセージをネットワークアクタ150から受けたノ
ードアクタ160は、APオブジェクトテーブル161
とドメインテーブル163とを参照して、指定されたド
メインに参加している稼働中のAPオブジェクト140
に対してのみ、そのメッセージを配信する。
【0063】図13は、APオブジェクト140から送
出されるメッセージのフォーマットを示している。
出されるメッセージのフォーマットを示している。
【0064】メッセージ190のパケットには、通信制
御のための情報を表すヘッダ191と、メッセージの正
味の内容であるユーザデータ193とが含まれている。
ヘッダ190には、送信元のAPオブジェクト140を
示すオブジェクト名、ネットワーク名、ノード名及びド
メイン名と、送信先のAPオブジェクト名140を示す
いオブジェクト名、ネットワーク名、ノード名及びドメ
イン名とが含まれている。
御のための情報を表すヘッダ191と、メッセージの正
味の内容であるユーザデータ193とが含まれている。
ヘッダ190には、送信元のAPオブジェクト140を
示すオブジェクト名、ネットワーク名、ノード名及びド
メイン名と、送信先のAPオブジェクト名140を示す
いオブジェクト名、ネットワーク名、ノード名及びドメ
イン名とが含まれている。
【0065】特定のドメインに参加しているAPオブジ
ェクト群にメッセージをマルチキャストしたいAPオブ
ジェクト140は、その特定のドメインの名称を、メッ
セージ190のヘッダ191の送信先ドメイン名にセッ
トする。このとき、ヘッダ191の送信先オブジェクト
名や送信先ノード名には、何のデータもセットしない
(=NULLデータをセットする)。このメッセージ
は、図14に例示するようにしてマルチキャストされ
る。
ェクト群にメッセージをマルチキャストしたいAPオブ
ジェクト140は、その特定のドメインの名称を、メッ
セージ190のヘッダ191の送信先ドメイン名にセッ
トする。このとき、ヘッダ191の送信先オブジェクト
名や送信先ノード名には、何のデータもセットしない
(=NULLデータをセットする)。このメッセージ
は、図14に例示するようにしてマルチキャストされ
る。
【0066】図14の例は、APオブジェクト140−
1が、特定のドメインD1に参加しているAPオブジェ
クト群にメッセージをマルチキャストする場合を想定し
ている。図中の矢印はメッセージの流れを示している。
送信元のAPオブジェクト140−1は、自分の所属す
る論理ネットワーク上のネットワークアクタ150−1
にテンポラリパス181を張って、そのネットワークア
クタ150−1にメッセージを送信する。このメッセー
ジのヘッダ191には、送信先ドメイン名として「D
1」がセットされている。そのメッセージを受信したネ
ットワークアクタ150−1は、同じ論理ネットワーク
上で稼働中の全てのノードアクタ160−1、160―
2、160−3に、そのメッセージを配信する。そのメ
ッセージを受信した各ノードアクタ160−1、160
―2、160−3は、同じノード内の稼働中のAPオブ
ジェクトの中で、指定されたドメインD1に参加してい
るAPアプリケーション140−2、140−3、14
0−6に対してのみ、そのメッセージをそれぞれ配信す
る。
1が、特定のドメインD1に参加しているAPオブジェ
クト群にメッセージをマルチキャストする場合を想定し
ている。図中の矢印はメッセージの流れを示している。
送信元のAPオブジェクト140−1は、自分の所属す
る論理ネットワーク上のネットワークアクタ150−1
にテンポラリパス181を張って、そのネットワークア
クタ150−1にメッセージを送信する。このメッセー
ジのヘッダ191には、送信先ドメイン名として「D
1」がセットされている。そのメッセージを受信したネ
ットワークアクタ150−1は、同じ論理ネットワーク
上で稼働中の全てのノードアクタ160−1、160―
2、160−3に、そのメッセージを配信する。そのメ
ッセージを受信した各ノードアクタ160−1、160
―2、160−3は、同じノード内の稼働中のAPオブ
ジェクトの中で、指定されたドメインD1に参加してい
るAPアプリケーション140−2、140−3、14
0−6に対してのみ、そのメッセージをそれぞれ配信す
る。
【0067】以上のようにして、特定のドメインに参加
しているAPオブジェクトに対してのみメッセージがマ
ルチキャストされる。その際、送信元のAPアプリケー
ション140−1は、1回だけメッセージを送信すれば
よい。論理ネットワーク上では、稼働中のノードに対し
てのみ、そのメッセージが送られる。ノード内では、稼
働中で且つ指定されたドメインに参加しているAPオブ
ジェクトに対してのみ、そのメッセージが送られる。こ
のマルチキャスト方式によれば、従来のIPブロードキ
ャストによる方法に比較して、トラヒックは少なくて済
み、且つ、そのメッセージが不要なAPオブジェクトに
余計な負担をかけることもない。さらに、論理ネットワ
ークが物理的なセグメント構成とは無関係に、ルータや
ゲートウェイを跨いで定義できるから、ルータやゲート
ウェイを跨いだメッセージ配信が可能である。また、従
来のユニキャストによる方法に比較して、ネットワーク
の構成やノードは一などの変更やAPオブジェクトの追
加、削除に対してより柔軟に対応でき、且つ、休止中の
ノードやオブジェクトに無駄な送信を行うこともない。
しているAPオブジェクトに対してのみメッセージがマ
ルチキャストされる。その際、送信元のAPアプリケー
ション140−1は、1回だけメッセージを送信すれば
よい。論理ネットワーク上では、稼働中のノードに対し
てのみ、そのメッセージが送られる。ノード内では、稼
働中で且つ指定されたドメインに参加しているAPオブ
ジェクトに対してのみ、そのメッセージが送られる。こ
のマルチキャスト方式によれば、従来のIPブロードキ
ャストによる方法に比較して、トラヒックは少なくて済
み、且つ、そのメッセージが不要なAPオブジェクトに
余計な負担をかけることもない。さらに、論理ネットワ
ークが物理的なセグメント構成とは無関係に、ルータや
ゲートウェイを跨いで定義できるから、ルータやゲート
ウェイを跨いだメッセージ配信が可能である。また、従
来のユニキャストによる方法に比較して、ネットワーク
の構成やノードは一などの変更やAPオブジェクトの追
加、削除に対してより柔軟に対応でき、且つ、休止中の
ノードやオブジェクトに無駄な送信を行うこともない。
【0068】上記では、送信元APオブジェクトが自分
の所属する論理ネットワーク上の特定ドメインのオブジ
ェクト群に対してマルチキャストする場合を説明した
が、他のパターンのキャストも可能である。
の所属する論理ネットワーク上の特定ドメインのオブジ
ェクト群に対してマルチキャストする場合を説明した
が、他のパターンのキャストも可能である。
【0069】例えば、メッセージヘッダ191において
送信先ネットワーク名は指定するが、送信先のオブジェ
クト名、ノード名及びドメイン名は指定しないことによ
り、論理ネットワーク内の全ての稼働中APオブジェク
トにメッセージを配信することができる。また、送信先
のネットワーク名とノード名は指定するが、送信先のオ
ブジェクト名及びドメイン名は指定しないことにより、
指定したノード内の全ての稼働中APオブジェクトにメ
ッセージを配信することができる。また、送信先のネッ
トワーク名とノード名とドメイン名は指定するが、送信
先のオブジェクト名は指定しないことにより、指定した
ノード内の指定したドメインに参加している稼働中AP
オブジェクトにのみメッセージを配信することができ
る。また、送信先のオブジェクト名とネットワーク名と
ノード名とを指定することにより、指定したノード内の
指定した1つのオブジェクトにのみメッセージをおくす
ることができる。さらに、別の論理ネットワーク上のネ
ットワークアクタの場所を知っているならば、その別の
論理ネットワーク上のAPオブジェクトに対しても、上記
のような種々のパターンでメッセージをキャストするこ
とができる。
送信先ネットワーク名は指定するが、送信先のオブジェ
クト名、ノード名及びドメイン名は指定しないことによ
り、論理ネットワーク内の全ての稼働中APオブジェク
トにメッセージを配信することができる。また、送信先
のネットワーク名とノード名は指定するが、送信先のオ
ブジェクト名及びドメイン名は指定しないことにより、
指定したノード内の全ての稼働中APオブジェクトにメ
ッセージを配信することができる。また、送信先のネッ
トワーク名とノード名とドメイン名は指定するが、送信
先のオブジェクト名は指定しないことにより、指定した
ノード内の指定したドメインに参加している稼働中AP
オブジェクトにのみメッセージを配信することができ
る。また、送信先のオブジェクト名とネットワーク名と
ノード名とを指定することにより、指定したノード内の
指定した1つのオブジェクトにのみメッセージをおくす
ることができる。さらに、別の論理ネットワーク上のネ
ットワークアクタの場所を知っているならば、その別の
論理ネットワーク上のAPオブジェクトに対しても、上記
のような種々のパターンでメッセージをキャストするこ
とができる。
【0070】ところで、論理ネットワークはネットワー
クの物理的構成とは無関係に論理的に定義できるから、
或る論理ネットワークが他の論理ネットワークと一部の
領域で重なり合うように設定することもできる。する
と、その重なり領域に存在するAPオブジェクトは複数
の論理ネットワークに所属することになる。また、ドメ
インも自由に定義できるから、1つのAPオブジェクト
140が複数のドメイン170に参加する(例えば、計
算処理ドメインと高速処理ドメインの双方に参加する)
こともあり得る。このようなケースにおいても本発明は
問題無く適用することができる。
クの物理的構成とは無関係に論理的に定義できるから、
或る論理ネットワークが他の論理ネットワークと一部の
領域で重なり合うように設定することもできる。する
と、その重なり領域に存在するAPオブジェクトは複数
の論理ネットワークに所属することになる。また、ドメ
インも自由に定義できるから、1つのAPオブジェクト
140が複数のドメイン170に参加する(例えば、計
算処理ドメインと高速処理ドメインの双方に参加する)
こともあり得る。このようなケースにおいても本発明は
問題無く適用することができる。
【0071】また、例えば、1つの広域の論理ネットワ
ーク内に狭域の論理ネットワークを定義することもでき
る。その場合、それらのネットワークにそれぞれ1つづ
つネットワークアクタを配置し、広域のネットワークア
クタと狭域のネットワークアクタとの間に配信パスを張
り、広域のネットワークアクタが狭域のネットワークア
クタの配信パスIDを管理するというような、階層的なネ
ットワークアクタのシステムを採用することができる。
ーク内に狭域の論理ネットワークを定義することもでき
る。その場合、それらのネットワークにそれぞれ1つづ
つネットワークアクタを配置し、広域のネットワークア
クタと狭域のネットワークアクタとの間に配信パスを張
り、広域のネットワークアクタが狭域のネットワークア
クタの配信パスIDを管理するというような、階層的なネ
ットワークアクタのシステムを採用することができる。
【0072】〔本発明に従うログ管理及びイベント追跡
方式の実施形態〕以下に、上述のような環境に好適な本
発明に従う方式の一実施形態を説明する。なお、以下の
説明には、上記環境におけるこの方式の具体的動作につ
いての解説が含まれるが、それは例示に過ぎず、他の環
境であってもこの方式が十分に動作し相応の効果を発揮
し得る得ることを認識されたい。
方式の実施形態〕以下に、上述のような環境に好適な本
発明に従う方式の一実施形態を説明する。なお、以下の
説明には、上記環境におけるこの方式の具体的動作につ
いての解説が含まれるが、それは例示に過ぎず、他の環
境であってもこの方式が十分に動作し相応の効果を発揮
し得る得ることを認識されたい。
【0073】図15にこの実施形態の全体を示す。
【0074】図15に示すように、通信ネットワーク2
00は、ルータ230−1、230−2、…などを介し
て相互接続された多数の物理的なネットワークセグメン
ト(以下、物理ネットワークという)210−1、21
0−2、210−3、…に分けられる。それら物理ネッ
トワーク210−1、210−2、210−3、…の各
々では、所定の一つのノード(=マシン)220−2、
220−6、220−4、…に、ログコレクションエー
ジェント(LCA)と呼ばれるデーモンプロセスのオブ
ジェクト250−1、250−2、250−3、…が配
置されている。また、各ノード220−1、220−
2、…には、イベントトラッカ(ETR)と呼ばれるオ
ブジェクト260−1、260−2、…が配置されてい
る。
00は、ルータ230−1、230−2、…などを介し
て相互接続された多数の物理的なネットワークセグメン
ト(以下、物理ネットワークという)210−1、21
0−2、210−3、…に分けられる。それら物理ネッ
トワーク210−1、210−2、210−3、…の各
々では、所定の一つのノード(=マシン)220−2、
220−6、220−4、…に、ログコレクションエー
ジェント(LCA)と呼ばれるデーモンプロセスのオブ
ジェクト250−1、250−2、250−3、…が配
置されている。また、各ノード220−1、220−
2、…には、イベントトラッカ(ETR)と呼ばれるオ
ブジェクト260−1、260−2、…が配置されてい
る。
【0075】上述した環境では、各ノード220−1、
220−2、…には、例えばアプリケーション(AP)
オブジェクト(例えば、クライアント、サーバなど)ま
たはデーモンプロセスのオブジェクト(例えば、サービ
スマネージャ、ネットワークアクタ、ノードアクタな
ど)のような、種々のオブジェクト240−1、240
−2、…が含まれている。各イベントトラッカ(ET
R)260−1、260−2、…は、各々のノードに含
まれるそれらのオブジェクト240−1、240−2、
…の通信ログを取得して各オブジェクト別にその通信ロ
グを記録すること、および、或るトランザクションで通
信障害のような問題が発生した場合、そのトランザクシ
ョンに関係した全オブジェクトの通信ログを収集し分析
して、そのトランザクションを構成するイベントを追跡
することを行う。各ログコレクションエージェント(L
CA)250−1、250−2、250−3、…は、各
々の物理ネットワーク210−1、210−2、210
−3、…内の各イベントトラッカ(ETR)260−
1、260−2、…のために、ネットワーク200全体
からの必要な通信ログの収集を代行する。
220−2、…には、例えばアプリケーション(AP)
オブジェクト(例えば、クライアント、サーバなど)ま
たはデーモンプロセスのオブジェクト(例えば、サービ
スマネージャ、ネットワークアクタ、ノードアクタな
ど)のような、種々のオブジェクト240−1、240
−2、…が含まれている。各イベントトラッカ(ET
R)260−1、260−2、…は、各々のノードに含
まれるそれらのオブジェクト240−1、240−2、
…の通信ログを取得して各オブジェクト別にその通信ロ
グを記録すること、および、或るトランザクションで通
信障害のような問題が発生した場合、そのトランザクシ
ョンに関係した全オブジェクトの通信ログを収集し分析
して、そのトランザクションを構成するイベントを追跡
することを行う。各ログコレクションエージェント(L
CA)250−1、250−2、250−3、…は、各
々の物理ネットワーク210−1、210−2、210
−3、…内の各イベントトラッカ(ETR)260−
1、260−2、…のために、ネットワーク200全体
からの必要な通信ログの収集を代行する。
【0076】図16は、この実施形態の説明で用いる重
要な幾つかの概念について説明している。図中、線で結
んだ黒丸と菱形のシンボルは、菱形側の1つの概念が黒
丸側のn個の概念から構成されるという「1対n」の所
属関係を示しており、また、三角形のシンボルは、その
三角形の頂点側の1つの概念の具体例として、その三角
形の底辺側の複数の概念があるという「抽象−具体」の
関係を示している。
要な幾つかの概念について説明している。図中、線で結
んだ黒丸と菱形のシンボルは、菱形側の1つの概念が黒
丸側のn個の概念から構成されるという「1対n」の所
属関係を示しており、また、三角形のシンボルは、その
三角形の頂点側の1つの概念の具体例として、その三角
形の底辺側の複数の概念があるという「抽象−具体」の
関係を示している。
【0077】図16に示すように、1つのトランザクシ
ョン270は、複数のイベント280から構成される。
トランザクション270とは、オブジェクト間の協調動
作(この実施形態では非同期協調動作)の1単位であ
り、その具体例には、クライアントからサーバへサービ
スを要求しサーバがクライアントとにサービスを提供す
るという一連の処理である「サービス」271、および
一つのオブジェクトから複数のオブジェクトへ同じメッ
セージがキャストされる一連の処理である「マルチキャ
スト」273などがある。イベント280とは、トラン
ザクションの構成要素であり、その具体例には、「開
始」281、「依頼」283、および「受付」385な
どがある(その詳細は後に説明する)。
ョン270は、複数のイベント280から構成される。
トランザクション270とは、オブジェクト間の協調動
作(この実施形態では非同期協調動作)の1単位であ
り、その具体例には、クライアントからサーバへサービ
スを要求しサーバがクライアントとにサービスを提供す
るという一連の処理である「サービス」271、および
一つのオブジェクトから複数のオブジェクトへ同じメッ
セージがキャストされる一連の処理である「マルチキャ
スト」273などがある。イベント280とは、トラン
ザクションの構成要素であり、その具体例には、「開
始」281、「依頼」283、および「受付」385な
どがある(その詳細は後に説明する)。
【0078】図17は、イベントトラッカ260とログ
コレクションエージェント250に関してより詳細に示
している。
コレクションエージェント250に関してより詳細に示
している。
【0079】1つのイベントトラッカ260−1は、ロ
グコレクタ261、ログアナライザ263およびログラ
イタ265という3種類のオブジェクトを有している
(他の各イベントトラッカ260−2、260−3、…
も同様である)。ログライタ265は、そのノード内の
全てのオブジェクトのトランザクションに関わる動作を
監視して各イベントのログを取得し、そのイベントログ
をそのノードのストレージ290内の2種類のイベント
ログファイル291又は293のいずれかに記録する。
ログライタ265は、具体的には、各APオブジェクト
にリンクされたライブラリ内のモジュール(例えば、図
2に示すクライアント1やサーバ5のためのログを書く
モジュールは、そのクライアント1やサーバ5にリンク
されたサービスAPI37内に設けられる)、及び各デ
ーモンプロセス内部のモジュール(例えば、図2に示し
たサービスマネージャ31のログを書くモジュールは、
そのサービスマネージャ内部に設けられる)に分散して
実装され得る。2種類のイベントログファイル291又
は293の内の一方のイベントログファイル291は、
APオブジェクトのイベントログを記録するためのもの
であり、他方のイベントログファイル293はデーモン
プロセスのイベントログを記録するためのものである。
なお、図17では、全てのノードに2種類のイベントロ
グファイル291、293が1つづつ存在するかのよう
に示されているが、必ずしもそうではない。例えば、A
Pオブジェクトが存在しないノードにはAP用イベント
ログファイル291は存在せず、また、複数のデーモン
プロセス(例えばノードアクタとネットワークアクタの
双方)が存在するノードにはそれらに対応する複数のデ
ーモンプロセス用イベントログファイル293が存在す
る。
グコレクタ261、ログアナライザ263およびログラ
イタ265という3種類のオブジェクトを有している
(他の各イベントトラッカ260−2、260−3、…
も同様である)。ログライタ265は、そのノード内の
全てのオブジェクトのトランザクションに関わる動作を
監視して各イベントのログを取得し、そのイベントログ
をそのノードのストレージ290内の2種類のイベント
ログファイル291又は293のいずれかに記録する。
ログライタ265は、具体的には、各APオブジェクト
にリンクされたライブラリ内のモジュール(例えば、図
2に示すクライアント1やサーバ5のためのログを書く
モジュールは、そのクライアント1やサーバ5にリンク
されたサービスAPI37内に設けられる)、及び各デ
ーモンプロセス内部のモジュール(例えば、図2に示し
たサービスマネージャ31のログを書くモジュールは、
そのサービスマネージャ内部に設けられる)に分散して
実装され得る。2種類のイベントログファイル291又
は293の内の一方のイベントログファイル291は、
APオブジェクトのイベントログを記録するためのもの
であり、他方のイベントログファイル293はデーモン
プロセスのイベントログを記録するためのものである。
なお、図17では、全てのノードに2種類のイベントロ
グファイル291、293が1つづつ存在するかのよう
に示されているが、必ずしもそうではない。例えば、A
Pオブジェクトが存在しないノードにはAP用イベント
ログファイル291は存在せず、また、複数のデーモン
プロセス(例えばノードアクタとネットワークアクタの
双方)が存在するノードにはそれらに対応する複数のデ
ーモンプロセス用イベントログファイル293が存在す
る。
【0080】図18および図19はそれぞれ、AP用イ
ベントログファイル291とデーモンプロセス用イベン
トログファイル293の構成を示している。
ベントログファイル291とデーモンプロセス用イベン
トログファイル293の構成を示している。
【0081】図18に示すように、AP用イベントログ
ファイル291は、ノード名などが書かれたヘッダと、
そのノードで起動できるAPオブジェクト(例えば、A
P1、AP2およびAP3など)の最大個数分のAP別
ログ領域295−1、295−2、…とを、各AP別ロ
グ領域295−1、295−2、…は、メモリマッピン
グの方法によってそのノード内の個々のAPオブジェク
トに割り当てられている。各AP別ログ領域295−
1、295−2、…には、割り当てられたAPオブジェ
クトのプロセス名などが書かれたヘッダと、APオブジ
ェクトのイベントログレコード297−1、297−
2、…を書き込むための一定サイズの領域とがある。こ
の一定サイズの領域にサイクリックに、新しいイベント
ログレコードが書き込まれていく。
ファイル291は、ノード名などが書かれたヘッダと、
そのノードで起動できるAPオブジェクト(例えば、A
P1、AP2およびAP3など)の最大個数分のAP別
ログ領域295−1、295−2、…とを、各AP別ロ
グ領域295−1、295−2、…は、メモリマッピン
グの方法によってそのノード内の個々のAPオブジェク
トに割り当てられている。各AP別ログ領域295−
1、295−2、…には、割り当てられたAPオブジェ
クトのプロセス名などが書かれたヘッダと、APオブジ
ェクトのイベントログレコード297−1、297−
2、…を書き込むための一定サイズの領域とがある。こ
の一定サイズの領域にサイクリックに、新しいイベント
ログレコードが書き込まれていく。
【0082】図19に示すように、デーモンプロセス用
イベントログファイル293には、割り当てられた特定
のデーモンプロセス(例えば、ノードアクタ、ネットワ
ークアクタ又はサービスエージェント)のプロセス名な
どが書かれたヘッダと、そのデーモンプロセスのイベン
トログレコード297−4、297−3、…を書き込む
ための領域とがある。この一定サイズの領域にサイクリ
ックに、新しいイベントログレコードが書き込まれてい
く。
イベントログファイル293には、割り当てられた特定
のデーモンプロセス(例えば、ノードアクタ、ネットワ
ークアクタ又はサービスエージェント)のプロセス名な
どが書かれたヘッダと、そのデーモンプロセスのイベン
トログレコード297−4、297−3、…を書き込む
ための領域とがある。この一定サイズの領域にサイクリ
ックに、新しいイベントログレコードが書き込まれてい
く。
【0083】図20は、個々のイベントログレコード2
97の構成を示す。
97の構成を示す。
【0084】イベントログレコード297は固定の長さ
を有し、そこには書き込み時刻、トランザクションI
D、中継点カウンタ、イベント種別などが記述される。
トランザクションIDとは、個々のトランザクションに
与えられるシステム内でユニークな識別番号である。中
継点カウンタとは、トランザクションの処理経路におい
て当該イベントを実行したオブジェクトが何番目のオブ
ジェクトであるか(つまり、そのオブジェクトの順位)
を示す数値である。マルチキャストのように複数のオブ
ジェクト(枝)に処理経路が分岐するトランザクション
では、その枝を識別するための枝番が中継点カウンタに
追加される(この場合、中継点カウンタ内のオブジェク
ト順位を数値を「幹番」とよぶ)。換言すれば、中継点
カウンタは、そのイベント又はそのイベントを実行した
オブジェクトの、トランザクション処理経路における位
置を示す情報である。
を有し、そこには書き込み時刻、トランザクションI
D、中継点カウンタ、イベント種別などが記述される。
トランザクションIDとは、個々のトランザクションに
与えられるシステム内でユニークな識別番号である。中
継点カウンタとは、トランザクションの処理経路におい
て当該イベントを実行したオブジェクトが何番目のオブ
ジェクトであるか(つまり、そのオブジェクトの順位)
を示す数値である。マルチキャストのように複数のオブ
ジェクト(枝)に処理経路が分岐するトランザクション
では、その枝を識別するための枝番が中継点カウンタに
追加される(この場合、中継点カウンタ内のオブジェク
ト順位を数値を「幹番」とよぶ)。換言すれば、中継点
カウンタは、そのイベント又はそのイベントを実行した
オブジェクトの、トランザクション処理経路における位
置を示す情報である。
【0085】イベント種別とは、図16に示した「開
始」、「依頼」、「受付」などの具体的なイベント種類
を識別するコードである。イベント種別には例えば次の
ようなものがある。
始」、「依頼」、「受付」などの具体的なイベント種類
を識別するコードである。イベント種別には例えば次の
ようなものがある。
【0086】「STR」(start):オブジェクト間の
協調の「開始」である。中継点カウンタは「01」とな
る。
協調の「開始」である。中継点カウンタは「01」とな
る。
【0087】「PRO」(propose):他のオブジェク
トに対する協調の「依頼」である。マルチキャストで
は、このイベントにおいて、中継点カウンタに枝番が追
加される。
トに対する協調の「依頼」である。マルチキャストで
は、このイベントにおいて、中継点カウンタに枝番が追
加される。
【0088】「ACC」(accept):他のオブジェクト
から依頼された協調を「受け付け」たことである。中継
点カウンタは「PRO」に等しい。
から依頼された協調を「受け付け」たことである。中継
点カウンタは「PRO」に等しい。
【0089】「XCG」(exchange):「変換」、つま
り依頼された処理を行うという意味である。中継点カウ
ンタはインクリメントされる。
り依頼された処理を行うという意味である。中継点カウ
ンタはインクリメントされる。
【0090】「DIS」(discard):協調の「放
棄」、つまり、そのオブジェクトはこの先更なる協調を
行なう必要が無い、または、依頼に対しての処理は行え
ないという意味である。
棄」、つまり、そのオブジェクトはこの先更なる協調を
行なう必要が無い、または、依頼に対しての処理は行え
ないという意味である。
【0091】「END」(end):協調の「終了」であ
る。
る。
【0092】図21および図22は、或るトランザクシ
ョンにおけるイベントの発生とイベントログの書き込み
の様子の具体例をそれぞれ示す。なお、これらの図及び
以下の説明では、オブジェクトは「ノード名.オブジェ
クト名」の形式で、イベントは「中継点カウンタ.イベ
ント種別」の形式で示す。また、枝番が追加された中継
点カウンタは「幹番.第1の枝番.第2の枝番.第3の
枝番」の形式で示す。図中の破線で囲いは、1つのトラ
ンザクションを意味する。
ョンにおけるイベントの発生とイベントログの書き込み
の様子の具体例をそれぞれ示す。なお、これらの図及び
以下の説明では、オブジェクトは「ノード名.オブジェ
クト名」の形式で、イベントは「中継点カウンタ.イベ
ント種別」の形式で示す。また、枝番が追加された中継
点カウンタは「幹番.第1の枝番.第2の枝番.第3の
枝番」の形式で示す。図中の破線で囲いは、1つのトラ
ンザクションを意味する。
【0093】図21は、「サービス」のトランザクショ
ンの例を示しており、ここでは、クライアント「NC.
AP1」がサービスマネージャ「NM.SMG」の仲介
でサーバ「NS.AP2」から或るサービスを提供され
る。この種のトランザクションの動作の詳細は、既に図
3および図4を参照して説明してある。なお、ログ処理
では、クライアントやサーバに付属するAPIインタフ
ェースは、それぞれのクライアント及びサーバの一部で
あるとされる。
ンの例を示しており、ここでは、クライアント「NC.
AP1」がサービスマネージャ「NM.SMG」の仲介
でサーバ「NS.AP2」から或るサービスを提供され
る。この種のトランザクションの動作の詳細は、既に図
3および図4を参照して説明してある。なお、ログ処理
では、クライアントやサーバに付属するAPIインタフ
ェースは、それぞれのクライアント及びサーバの一部で
あるとされる。
【0094】最初に、クライアント「NC.AP1」に
おいて、開始イベント「01.STR」が発生し、続い
て、サーバ照会のための依頼イベント「01.PRO」
が発生する。この2つのイベントのログレコードが、ノ
ード「NC」内のAP用イベントログファイル291内
のクライアント「NC.AP1」に割り当てられた領域
に書き込まれる。
おいて、開始イベント「01.STR」が発生し、続い
て、サーバ照会のための依頼イベント「01.PRO」
が発生する。この2つのイベントのログレコードが、ノ
ード「NC」内のAP用イベントログファイル291内
のクライアント「NC.AP1」に割り当てられた領域
に書き込まれる。
【0095】サービスマネージャ「NM.SMG」で
は、サーバ照会の依頼に対応した受付イベント「01.
ACC」が発生し、続いて、適当なサーバを探す変換イ
ベント「02.XCG」が発生し、ここで中継点カウン
タがインクレメントされる。続いて、サービスマネージ
ャ「NM.SMG」では、クライアント「NC.AP
1」(正確には、このクライアントに付属するAPIイ
ンタフェース)に照会結果を返答するための依頼イベン
ト「02.PRO」が発生する。これら3つのイベント
のログレコードが、ノード「NM」内のサービスマネー
ジャ用のイベントログファイル293に書き込まれる。
は、サーバ照会の依頼に対応した受付イベント「01.
ACC」が発生し、続いて、適当なサーバを探す変換イ
ベント「02.XCG」が発生し、ここで中継点カウン
タがインクレメントされる。続いて、サービスマネージ
ャ「NM.SMG」では、クライアント「NC.AP
1」(正確には、このクライアントに付属するAPIイ
ンタフェース)に照会結果を返答するための依頼イベン
ト「02.PRO」が発生する。これら3つのイベント
のログレコードが、ノード「NM」内のサービスマネー
ジャ用のイベントログファイル293に書き込まれる。
【0096】クライアント「NC.AP1」では、照会
結果を受ける受付イベント「02.ACC」、サービス
要求を生成する変換イベント「03.XCG」(ここ
で、中継点カウンタがインクレメントされる)及びサー
バ「NS.AP2」へサービス要求を送る依頼イベント
「03.PRO」が発生する。これらのイベントのログ
レコードが、ノード「NC」内のAP用イベントログフ
ァイル291に書き込まれる。
結果を受ける受付イベント「02.ACC」、サービス
要求を生成する変換イベント「03.XCG」(ここ
で、中継点カウンタがインクレメントされる)及びサー
バ「NS.AP2」へサービス要求を送る依頼イベント
「03.PRO」が発生する。これらのイベントのログ
レコードが、ノード「NC」内のAP用イベントログフ
ァイル291に書き込まれる。
【0097】以下、サーバ「NS.AP2」、サービス
マネージャ「NM.SMG」及びクライアント「NC.
AP1」において、図3、4を参照して既に説明したよ
うな種々のイベントが発生し、それらイベントのログレ
コードが各ノード「NS」、「NM」、「NC」内のイ
ベントログファイルに書き込まれる。
マネージャ「NM.SMG」及びクライアント「NC.
AP1」において、図3、4を参照して既に説明したよ
うな種々のイベントが発生し、それらイベントのログレ
コードが各ノード「NS」、「NM」、「NC」内のイ
ベントログファイルに書き込まれる。
【0098】図22は、「マルチキャスト」のトランザ
クションの例を示しており、ここでは、メッセージが1
つのAPオブジェクト「NS.AP1」から1つのネッ
トワークアクタ「NN.NWA」へ送られ、そこから3
つのノードへ送られ、それらのノード内でノードアクタ
「N1.NDA」、「N2.NDA」、「N3.ND
A」からAPオブジェクト「N1.AP2」、「N2.
AP3」、「N3.AP6」へ送られる。この種のトラ
ンザクションの処理の詳細は、既に図9から図14を参
照して詳細に説明してある。
クションの例を示しており、ここでは、メッセージが1
つのAPオブジェクト「NS.AP1」から1つのネッ
トワークアクタ「NN.NWA」へ送られ、そこから3
つのノードへ送られ、それらのノード内でノードアクタ
「N1.NDA」、「N2.NDA」、「N3.ND
A」からAPオブジェクト「N1.AP2」、「N2.
AP3」、「N3.AP6」へ送られる。この種のトラ
ンザクションの処理の詳細は、既に図9から図14を参
照して詳細に説明してある。
【0099】まず、送信オブジェクト「NS.AP1」
において、開始イベント「01.00.00.00.S
TR」が発生し、次いでネットワークアクタ「NN.N
WA」へメッセージを発信する依頼イベント「01.0
1.00.00.PRO」が発生し、ここで第1の枝番
「01」が幹番「01」の後に追加される。この2つの
イベントのログレコードが、ノード「NS」内のAP用
イベントログファイル291に書き込まれる。なお、依
頼イベント「PRO」については、それが多重に発生し
たときに書き込むべきログレコードの個数を最小にする
ために、最初の依頼イベントと最後の依頼イベントのロ
グレコードのみを書き込むこととする。従って、この送
信オブジェクト「NS.AP1」では、1つの依頼イベ
ント「01.01.00.00.PRO」のみが発生し
ているが、その1つの依頼イベント「01.01.0
0.00.PRO」のログレコードは最初の依頼イベン
ト及び最後の依頼イベントの双方のログレコードとし
て、二重に書き込まれる。
において、開始イベント「01.00.00.00.S
TR」が発生し、次いでネットワークアクタ「NN.N
WA」へメッセージを発信する依頼イベント「01.0
1.00.00.PRO」が発生し、ここで第1の枝番
「01」が幹番「01」の後に追加される。この2つの
イベントのログレコードが、ノード「NS」内のAP用
イベントログファイル291に書き込まれる。なお、依
頼イベント「PRO」については、それが多重に発生し
たときに書き込むべきログレコードの個数を最小にする
ために、最初の依頼イベントと最後の依頼イベントのロ
グレコードのみを書き込むこととする。従って、この送
信オブジェクト「NS.AP1」では、1つの依頼イベ
ント「01.01.00.00.PRO」のみが発生し
ているが、その1つの依頼イベント「01.01.0
0.00.PRO」のログレコードは最初の依頼イベン
ト及び最後の依頼イベントの双方のログレコードとし
て、二重に書き込まれる。
【0100】ネットワークアクタ「NN.NWA」で
は、依頼イベント「01.01.00.00.PRO」
に対応する受付イベント「01.01.00.00.A
CC」が発生し、次いで、キャスト先のノードアクタを
選択するといった変換イベント「02.01.00.0
0.XCG」が発生し、ここで幹番がインクレメントさ
れる。次いで、ネットワークアクタ「NN.NWA」で
は、選択された3つのノードアクタ「N1.NDA」、
「N2.NDA」、「N3.NDA」へそのメッセージ
をマルチキャストする3つの依頼イベント「02.0
1.01.00.PRO」、「02.01.02.0
0.PRO」(図示省略)及び「02.01.03.0
0.PRO」が発生し、その各々では、第2の枝番「0
1」、「02」、「03」が第1の枝番「01」の後に
追加される。これらのイベントのログレコードが、この
ノード「NN」内のネットワークアクタ「NN.NW
A」用のイベントログファイル293も書き込まれる。
このとき、前述したように、発生した3つの依頼イベン
トのうち、最初の依頼イベント「02.01.01.0
0.PRO」と最後の依頼イベント「02.01.0
3.00.PRO」のログレコードだけが書き込まれ
る。
は、依頼イベント「01.01.00.00.PRO」
に対応する受付イベント「01.01.00.00.A
CC」が発生し、次いで、キャスト先のノードアクタを
選択するといった変換イベント「02.01.00.0
0.XCG」が発生し、ここで幹番がインクレメントさ
れる。次いで、ネットワークアクタ「NN.NWA」で
は、選択された3つのノードアクタ「N1.NDA」、
「N2.NDA」、「N3.NDA」へそのメッセージ
をマルチキャストする3つの依頼イベント「02.0
1.01.00.PRO」、「02.01.02.0
0.PRO」(図示省略)及び「02.01.03.0
0.PRO」が発生し、その各々では、第2の枝番「0
1」、「02」、「03」が第1の枝番「01」の後に
追加される。これらのイベントのログレコードが、この
ノード「NN」内のネットワークアクタ「NN.NW
A」用のイベントログファイル293も書き込まれる。
このとき、前述したように、発生した3つの依頼イベン
トのうち、最初の依頼イベント「02.01.01.0
0.PRO」と最後の依頼イベント「02.01.0
3.00.PRO」のログレコードだけが書き込まれ
る。
【0101】以下、選択された3つのノードアクタ「N
1.NDA」、「N2.NDA」、「N3.NDA」、
および選択された受信オブジェクト「N1.AP2」、
「N2.AP3」、「N3.AP6」の各々において、
所要のイベントが発生し、各イベントのログレコードが
それぞれのオブジェクト用のログ領域に書き込まれる。
この過程で、中継点の番目が増えるに伴って、中継点カ
ウンタでは、幹番がインクレメントされるだけでなく、
より下位の枝番が追加されていく。
1.NDA」、「N2.NDA」、「N3.NDA」、
および選択された受信オブジェクト「N1.AP2」、
「N2.AP3」、「N3.AP6」の各々において、
所要のイベントが発生し、各イベントのログレコードが
それぞれのオブジェクト用のログ領域に書き込まれる。
この過程で、中継点の番目が増えるに伴って、中継点カ
ウンタでは、幹番がインクレメントされるだけでなく、
より下位の枝番が追加されていく。
【0102】ところで、図21及び図22では図示を省
略してあるが、トランザクションIDも、中継点カウン
タのようなイベント自体の情報と一緒に、オブジェクト
間で受け渡しされる。したがって、同じトランザクショ
ンに含まれる全てのイベントのログデータには、その同
じトランザクションのIDが受け継がれる。
略してあるが、トランザクションIDも、中継点カウン
タのようなイベント自体の情報と一緒に、オブジェクト
間で受け渡しされる。したがって、同じトランザクショ
ンに含まれる全てのイベントのログデータには、その同
じトランザクションのIDが受け継がれる。
【0103】図21および図22に示した2つの例から
分かるように、1つのトランザクションを構成する複数
のイベントのログレコードは、そのトランザクションに
関与した複数のノード内のイベントログファイルに分散
して管理される。しかし、それら分散した複数のイベン
トログレコードは、それらに含まれる同じトランザクシ
ョンIDによって論理的にリンクされ、そして、それら
に含まれる中継点カウンタとイベント種別によってイベ
ント間の相互関係が理解され得るようになっている。
分かるように、1つのトランザクションを構成する複数
のイベントのログレコードは、そのトランザクションに
関与した複数のノード内のイベントログファイルに分散
して管理される。しかし、それら分散した複数のイベン
トログレコードは、それらに含まれる同じトランザクシ
ョンIDによって論理的にリンクされ、そして、それら
に含まれる中継点カウンタとイベント種別によってイベ
ント間の相互関係が理解され得るようになっている。
【0104】再び図17を参照する。各ノードでは、普
段は各イベントトラッカ260内のログライタ265
が、上述したようにしてイベントログを取得しこれをイ
ベントログファイル291、293に書き込んでいる。
一方、或るトランザクションにおいて何らかの障害が発
生したときには、その障害解析やデバッグを行うため
に、ユーザはその目的のトランザクションに関係した或
るノード(典型的には、その目的トランザクションが発
生したノード)のイベントトラッカのログコレクタ26
1を起動する。
段は各イベントトラッカ260内のログライタ265
が、上述したようにしてイベントログを取得しこれをイ
ベントログファイル291、293に書き込んでいる。
一方、或るトランザクションにおいて何らかの障害が発
生したときには、その障害解析やデバッグを行うため
に、ユーザはその目的のトランザクションに関係した或
るノード(典型的には、その目的トランザクションが発
生したノード)のイベントトラッカのログコレクタ26
1を起動する。
【0105】ここで、例えば、図17に示すイベントト
ラッカ260−1のログコレクタ261が起動されたと
仮定する。このログコレクタ261は、まず、そのノー
ドのディスプレイ装置400に、検索キー入力画面を表
示する(ステップS12)。この検索キー入力画面は、
例えば図23に示すようなものである。ユーザはキーボ
ードなどの入力装置300から、この検索キー入力画面
に、検索キーとして、目的トランザクションを発生させ
たノード名、プロセス名および目的トランザクションの
発生時刻(又は障害発生時刻)を入力することができる
(ステップS13)。
ラッカ260−1のログコレクタ261が起動されたと
仮定する。このログコレクタ261は、まず、そのノー
ドのディスプレイ装置400に、検索キー入力画面を表
示する(ステップS12)。この検索キー入力画面は、
例えば図23に示すようなものである。ユーザはキーボ
ードなどの入力装置300から、この検索キー入力画面
に、検索キーとして、目的トランザクションを発生させ
たノード名、プロセス名および目的トランザクションの
発生時刻(又は障害発生時刻)を入力することができる
(ステップS13)。
【0106】検索キーが入力されそしてユーザより検索
が命じられると、ログコレクタ261は、まず、その検
索キーを用いて、自ノード内のイベントログファイル2
91、293内のイベントログをスキャンすることによ
り(ステップS14)、目的トランザクションの候補を
抽出し、そして、そのトランザクション候補のリストを
ディスプレイ装置400に出力する(ステップS1
5)。そのトランザクション候補リストは例えば図24
に示すようなもので、そこには、各トランザクション候
補のトランザクションID、発生時刻、トランザクショ
ン種別などが示される。ユーザは、このリストの中か
ら、入力装置300のマウス又はキーボードを用いて、
目的トランザクションを決定することができる(S1
6)。
が命じられると、ログコレクタ261は、まず、その検
索キーを用いて、自ノード内のイベントログファイル2
91、293内のイベントログをスキャンすることによ
り(ステップS14)、目的トランザクションの候補を
抽出し、そして、そのトランザクション候補のリストを
ディスプレイ装置400に出力する(ステップS1
5)。そのトランザクション候補リストは例えば図24
に示すようなもので、そこには、各トランザクション候
補のトランザクションID、発生時刻、トランザクショ
ン種別などが示される。ユーザは、このリストの中か
ら、入力装置300のマウス又はキーボードを用いて、
目的トランザクションを決定することができる(S1
6)。
【0107】目的トランザクションが決定されると、ロ
グコレクタ261は、自ノード内のイベントログファイ
ル291、293から目的トランザクションのログファ
イルを検索する(S17)。更に、ログコレクタ261
は、自分の物理ネットワーク210−1上のログコレク
ションエージェント250−1に対して、そのトランザ
クションに関わる他の全てのログファイルを収集するこ
とを依頼するメッセージを送る(S18)。すると、そ
のログコレクションエージェント250−1は、自分の
物理ネットワーク210−1上の全てのノードのイベン
トトラッカ260−2、260−3、…に対して、その
依頼メッセージをIPブロードキャストの方法で配信す
る(S19)。更に、ログコレクションエージェント2
50−1は、他の全ての物理ネットワーク210−2、
…上の他のログコレクションエージェント250−2、
…の各々に対して、その依頼メッセージをユニキャスト
の方法で個別に送る(ステップS20)。他のログコレ
クションエージェント250−2、…も、同様にして、
自分の物理ネットワーク210−2、…上の全てのノー
ドのイベントトラッカ220−6、220−7、…へ、
その依頼メッセージをブロードキャストする(ステップ
S21)。
グコレクタ261は、自ノード内のイベントログファイ
ル291、293から目的トランザクションのログファ
イルを検索する(S17)。更に、ログコレクタ261
は、自分の物理ネットワーク210−1上のログコレク
ションエージェント250−1に対して、そのトランザ
クションに関わる他の全てのログファイルを収集するこ
とを依頼するメッセージを送る(S18)。すると、そ
のログコレクションエージェント250−1は、自分の
物理ネットワーク210−1上の全てのノードのイベン
トトラッカ260−2、260−3、…に対して、その
依頼メッセージをIPブロードキャストの方法で配信す
る(S19)。更に、ログコレクションエージェント2
50−1は、他の全ての物理ネットワーク210−2、
…上の他のログコレクションエージェント250−2、
…の各々に対して、その依頼メッセージをユニキャスト
の方法で個別に送る(ステップS20)。他のログコレ
クションエージェント250−2、…も、同様にして、
自分の物理ネットワーク210−2、…上の全てのノー
ドのイベントトラッカ220−6、220−7、…へ、
その依頼メッセージをブロードキャストする(ステップ
S21)。
【0108】その依頼メッセージを受けた他のノードの
イベントトラッカ260−2、260−3、…、260
−6、260−7、…の各々では、各ログコレクタ26
1が各ノード内のイベントログファイル291、293
から目的のトランザクションIDをもったイベントログ
レコードを検索し(ステップS22)、検索したレコー
ドを依頼元である各ログコレクションエージェント25
0−1、250−2、…へ送信する(ステップS2
3)。これにより、各ログコレクションエージェント2
50−1、250−2、…には、各物理ネットワーク2
10−1、210−2上で多数のノードに分散していた
目的トランザクションに関わるイベントログコードが収
集される。各ログコレクションエージェント250−
1、250−2、…は、収集されたイベントログコード
を各依頼元へ送る(ステップS24、S25)。結果と
して、イベントトラッカ260−1のログコレクタ26
1は、目的トランザクションに関わる全てのイベントロ
グレコードを収集する。
イベントトラッカ260−2、260−3、…、260
−6、260−7、…の各々では、各ログコレクタ26
1が各ノード内のイベントログファイル291、293
から目的のトランザクションIDをもったイベントログ
レコードを検索し(ステップS22)、検索したレコー
ドを依頼元である各ログコレクションエージェント25
0−1、250−2、…へ送信する(ステップS2
3)。これにより、各ログコレクションエージェント2
50−1、250−2、…には、各物理ネットワーク2
10−1、210−2上で多数のノードに分散していた
目的トランザクションに関わるイベントログコードが収
集される。各ログコレクションエージェント250−
1、250−2、…は、収集されたイベントログコード
を各依頼元へ送る(ステップS24、S25)。結果と
して、イベントトラッカ260−1のログコレクタ26
1は、目的トランザクションに関わる全てのイベントロ
グレコードを収集する。
【0109】次に、イベントトラッカ260−1のログ
コレクタ261は、こうして収集したイベントログレコ
ードを、リストの形でディスプレイする(ステップS2
6)と共に、ログアナライザ263に渡す(ステップS
27)。ディスプレイされたイベントログレコードのリ
ストは、例えば図25に示すようなものである。図25
は、図22に示したトランザクションのログレコードを
収集した場合を例示している。このレコードリストに
は、収集された各イベントログレコードの、トランザク
ションID、オブジェクト、中継点カウンタ、イベント
種別およびが書き込み時刻などが示されている。なお、
図25では、書き込み時刻を簡略的に「分」までしか示
してないが、実際には各イベントの発生時刻を区別でき
る「ミリ秒」のオーダまで書き込まれている。なお、ロ
グコレクタ261は、例えば、上述したログコレクタ2
61の殆どの機能を受け持つデーモンプロセスと、ログ
アナライザ263とのインタフェースを受け持つユーテ
ィリティ(コマンド)とのセットととして実装され得
る。
コレクタ261は、こうして収集したイベントログレコ
ードを、リストの形でディスプレイする(ステップS2
6)と共に、ログアナライザ263に渡す(ステップS
27)。ディスプレイされたイベントログレコードのリ
ストは、例えば図25に示すようなものである。図25
は、図22に示したトランザクションのログレコードを
収集した場合を例示している。このレコードリストに
は、収集された各イベントログレコードの、トランザク
ションID、オブジェクト、中継点カウンタ、イベント
種別およびが書き込み時刻などが示されている。なお、
図25では、書き込み時刻を簡略的に「分」までしか示
してないが、実際には各イベントの発生時刻を区別でき
る「ミリ秒」のオーダまで書き込まれている。なお、ロ
グコレクタ261は、例えば、上述したログコレクタ2
61の殆どの機能を受け持つデーモンプロセスと、ログ
アナライザ263とのインタフェースを受け持つユーテ
ィリティ(コマンド)とのセットととして実装され得
る。
【0110】ログアナライザ263は、それらのイベン
トログレコードの中継点カウンタとイベント種別とに基
づいて、それらイベントを相互に関連付け、それによっ
て、目的トランザクションにおいてどのオブジェクトが
どのように連携動作したかという経過を明らかにし、そ
の経過を表現したテキスト又はグラフィックスを編集し
てディスプレイ装置400に出力する。この経過表示画
面は例えば図26に示すようなものであり、それによ
り、ユーザは目的トランザクションの経過を容易に把握
することができる。なお、ログアナライザ263は、例
えば、ユーティリティ(コマンド)として実装され得
る。
トログレコードの中継点カウンタとイベント種別とに基
づいて、それらイベントを相互に関連付け、それによっ
て、目的トランザクションにおいてどのオブジェクトが
どのように連携動作したかという経過を明らかにし、そ
の経過を表現したテキスト又はグラフィックスを編集し
てディスプレイ装置400に出力する。この経過表示画
面は例えば図26に示すようなものであり、それによ
り、ユーザは目的トランザクションの経過を容易に把握
することができる。なお、ログアナライザ263は、例
えば、ユーティリティ(コマンド)として実装され得
る。
【0111】以上、本発明の一実施形態を説明したが、
本発明はこの実施形態にのみ限定されるものではなく、
他の種々の形態でも実施することが可能である。例え
ば、本発明の方式は、オブジェクト間の非同期協調動作
だけでなく同期協調動作についても適用できる。
本発明はこの実施形態にのみ限定されるものではなく、
他の種々の形態でも実施することが可能である。例え
ば、本発明の方式は、オブジェクト間の非同期協調動作
だけでなく同期協調動作についても適用できる。
【図1】本発明の一実施形態の構成を示すブロック図。
【図2】同実施形態のより具体的な構成を示すブロック
図。
図。
【図3】同実施形態の動作を示すシーケンス図。
【図4】同実施形態の動作を示すシーケンス図。
【図5】サービステーブルの例を示す図。
【図6】オブジェクト間非同期協調動作による一つの利
点を説明する図。
点を説明する図。
【図7】本発明の一実施形態の概略的な全体構成を示し
たブロック図。
たブロック図。
【図8】同実施形態の概念的な構成を示したブロック
図。
図。
【図9】ネットワークアクタ150とノードアクタ16
0の機能を具体的に示したブロック図。
0の機能を具体的に示したブロック図。
【図10】ノードアクタテーブルの一例を示した図。
【図11】APオブジェクトテーブルの一例を示した
図。
図。
【図12】ドメインテーブルの一例を示した図。
【図13】APオブジェクト140から送出されるメッ
セージの構成を示したデータフォーマット図。
セージの構成を示したデータフォーマット図。
【図14】特定ドメインへのメッセージ配信の階層を示
したブロック図。
したブロック図。
【図15】本発明に従うログ管理及びイベント追跡方式
の一実施形態の全体構成を示すブロック図。
の一実施形態の全体構成を示すブロック図。
【図16】この実施形態の説明で用いる重要な幾つかの
概念の説明図。
概念の説明図。
【図17】イベントトラッカ260とログコレクション
エージェント250の構成および関係を示すブロック
図。
エージェント250の構成および関係を示すブロック
図。
【図18】AP用イベントログファイル291の構成を
示す図。
示す図。
【図19】デーモンプロセス用イベントログファイル2
93の構成を示す図。
93の構成を示す図。
【図20】イベントログレコード297の構成を示す
図。
図。
【図21】「サービス」におけるイベントの例を示すシ
ーケンス図。
ーケンス図。
【図22】「マルチキャスト」におけるイベントの例を
示すシーケンス図。
示すシーケンス図。
【図23】検索キー入力画面の例を示す図。
【図24】トランザクション候補リストの例を示す図。
【図25】イベントログレコードリストの例を示す図。
【図26】経過表示画面の例を示す図。
200 通信ネットワーク 210 物理ネットワーク 220 ノード 250 ログコレクションエージェント 260 イベントトラッカ 270 トランザクション 280 イベント 261 ログコレクタ 263 ログアナライザ 265 ログライタ 291 アプリケーション用イベントログファイル 293 デーモンプロセス用イベントログファイル 297 イベントログレコード
フロントページの続き (72)発明者 山本 英明 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 増木 亮介 東京都江東区豊洲三丁目3番3号 エヌ・ ティ・ティ・データ通信株式会社内 (72)発明者 内川 淳 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内 (72)発明者 市来 伸彦 東京都千代田区丸の内一丁目3番2号 株 式会社住友銀行内
Claims (26)
- 【請求項1】 複数のノードを有する通信ネットワーク
と、 前記複数のノードに分散して配置された複数のオブジェ
クトと、 各ノードに配置されたログファイルと、 前記各ノードに配置され、前記各ノード内の前記オブジ
ェクトが実行したイベントのイベントログを前記ログフ
ァイルに記録するログライタとを備え、 前記複数のオブジェクトは、相互間で協調動作を依頼し
ながら1つのトランザクションを連携して処理すること
ができ、 各オブジェクトは、他のオブジェクトに協調動作を依頼
するとき、前記トランザクションを識別するためのトラ
ンザクションIDと、前記トランザクションの処理経路
における前記各オブジェクトの位置を示すカウンタ情報
とを前記他のオブジェクトに伝え、 前記ログライタが記録した各イベントログには、対応す
るイベントに関わるトランザクションIDと、前記対応
するイベントを実行したオブジェクトのプロセス名及び
前記カウンタ情報と、前記対応するイベントの種別とが
含まれている、オブジェクト間協調動作のログ管理方
式。 - 【請求項2】 前記ログファイルが、個々のオブジェク
トに割り当れられたオブジェクト別ログ領域を有する請
求項1記載のログ管理方式。 - 【請求項3】 前記各オブジェクトのカウンタ情報に
は、前記トランザクションの処理経路における前記各オ
ブジェクトの順位を示す番号が含まれる請求項1記載の
ログ管理方式。 - 【請求項4】 前記各オブジェクトのカウンタ情報に
は、前記トランザクションの処理経路における分岐の枝
を識別する番号が含まれる請求項3記載のログ管理方
式。 - 【請求項5】 少なくとも1つのノードに配置され、前
記複数のノード内の前記ログファイルから、指定された
トランザクションIDをもったイベントログを収集する
ログコレクタを更に備えた請求項1記載のログ管理方
式。 - 【請求項6】 複数のノードを有する通信ネットワーク
と、 前記複数のノードに分散して配置された複数のオブジェ
クトと、 各ノードに配置され、前記各ノード内の前記オブジェク
トが実行したイベントのイベントログが格納されている
ログファイルと、 少なくとも1つのノードに配置され、指定されたトラン
ザクションのイベントを追跡するイベントトラッカと、
を備え、 前記複数のオブジェクトは、相互間で協調動作を依頼し
ながら1つのトランザクションを連携して処理すること
ができ、 各オブジェクトは、他のオブジェクトに協調動作を依頼
するとき、前記トランザクションを識別するためのトラ
ンザクションIDと、前記トランザクションの処理経路
における前記各オブジェクトの位置を示すカウンタ情報
とを前記他のオブジェクトに伝え、 前記ログファイル内の各イベントログには、対応するイ
ベントに関わるトランザクションIDと、前記対応する
イベントを実行したオブジェクトのプロセス名及び前記
カウンタ情報と、前記対応するイベントの種別とが含ま
れており、 前記各イベントトラッカはログコレクタを有し、このロ
グコレクタは前記複数のノード内の前記ログファイルか
ら、指定されたトランザクションIDをもったイベント
ログを収集する、オブジェクト間協調動作のイベント追
跡方式。 - 【請求項7】 前記イベントトラッカは更にログアナラ
イザを有し、このログアナライザは、前記ログコレクタ
が収集した前記イベントログに含まれる前記プロセス
名、前記カウンタ情報、及び前記イベント種別に基づい
て、前記トランザクションの経過を解明してユーザに提
示する、請求項6記載のイベント追跡方式。 - 【請求項8】 各ノードに前記イベントトラッカが配置
されている請求項6又は7記載のオブジェクト間協調動
作のイベント追跡方式。 - 【請求項9】 前記イベントトラッカが更にログライタ
を有し、このログライタは前記各ノード内の前記オブジ
ェクトが実行したイベントのイベントログを前記ログフ
ァイルに記録する請求項8記載のイベント追跡方式。 - 【請求項10】 前記通信ネットワークは複数の物理ネ
ットワークを含み、 各物理ネットワークの所定の少なくとも1つのノードに
配置されたログコレクションエージェントを更に備え、 前記各物理ネットワークの各ログコレクションエージェ
ントは、ログ収集依頼を受けて、同じ物理ネットワーク
内の全てのノード内のログファイルから、前記指定され
たトランザクションIDをもったイベントログを収集し
て、収集したイベントログを前記ログ収集依頼の依頼元
へ送る、請求項6記載のイベント追跡方式。 - 【請求項11】 前記各物理ネットワークの各ログコレ
クションエージェントは、前記ログ収集依頼を受けて、
他の物理ネットワーク内の別のログコレクションエージ
ェントへ更なるログ収集依頼を送り、そして、前記別の
ログコレクションエージェントが収集したイベントログ
を受けて、受けたイベントログを前記ログ収集依頼の依
頼元へ送る、請求項10記載のイベント追跡方式。 - 【請求項12】 前記各オブジェクトのカウンタ情報に
は、前記トランザクションの処理経路における前記各オ
ブジェクトの順位を示す番号が含まれる請求項6記載の
ログ追跡方式。 - 【請求項13】 前記各オブジェクトのカウンタ情報に
は、前記トランザクションの処理経路における分岐の枝
を識別する番号が含まれる請求項12記載のログ追跡方
式。 - 【請求項14】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置されたログファイルとを
備え、前記複数のオブジェクトは、相互間で協調動作を
依頼しながら1つのトランザクションを連携して処理す
ることができる環境において、 或るオブジェクトから他のオブジェクトに協調動作を依
頼するとき、前記トランザクションを識別するためのト
ランザクションIDと、前記トランザクションの処理経
路における前記或るオブジェクトの位置を示すカウンタ
情報とを、前記或るオブジェクトから前記他のオブジェ
クトに伝えるステップと、 前記各ノード内の前記オブジェクトが実行したイベント
のイベントログを、前記各ノード内の前記ログファイル
に記録するステップと、を有し、 各イベントログには、対応するイベントに関わるトラン
ザクションIDと、前記対応するイベントを実行したオ
ブジェクトのプロセス名及び前記カウンタ情報と、前記
対応するイベントの種別とが含まれている、オブジェク
ト間協調動作のログ管理方法。 - 【請求項15】 前記複数のノード内の前記ログファイ
ルから1つのノードへ、指定されたトランザクションI
Dをもったイベントログを収集するステップを更に有し
た請求項16記載のログ管理方法。 - 【請求項16】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置された、前記各ノード内
の前記オブジェクトが実行したイベントのイベントログ
が格納されているログファイルとを備え、前記複数のオ
ブジェクトは、相互間で協調動作を依頼しながら1つの
トランザクションを連携して処理することができ、各イ
ベントログには、対応するイベントに関わるトランザク
ションIDと、前記対応するイベントを実行したオブジ
ェクトのプロセス名及び前記カウンタ情報と、前記対応
するイベントの種別とが含まれている環境において、 指定されたトランザクションのイベントを追跡するステ
ップを有し、 この追跡ステップは、前記複数のノード内の前記ログフ
ァイルから、指定されたトランザクションIDをもった
イベントログを収集するステップを含む、オブジェクト
間協調動作のイベント追跡方法。 - 【請求項17】 前記追跡ステップは、前記収集ステッ
プで収集した前記イベントログに含まれる前記プロセス
名、前記カウンタ情報、及び前記イベント種別に基づい
て、前記トランザクションの経過を解明してユーザに提
示するステップを含む、請求項16記載のイベント追跡
方法。 - 【請求項18】 前記各ノード内の前記オブジェクトが
イベントを実行したとき、実行したイベントのイベント
ログを前記各ノード内の前記ログファイルに記録するス
テップを更に有する請求項17記載のイベント追跡方
法。 - 【請求項19】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置されたログファイルとを
備え、前記複数のオブジェクトは、相互間で協調動作を
依頼しながら1つのトランザクションを連携して処理す
ることができ、各オブジェクトは、他のオブジェクトに
協調動作を依頼するとき、前記トランザクションを識別
するためのトランザクションIDと、前記トランザクシ
ョンの処理経路における前記各オブジェクトの位置を示
すカウンタ情報とを前記或るオブジェクトから前記他の
オブジェクトに伝える環境において、 前記各ノードに配置され、 前記各ノード内のオブジェクトが実行したイベントのイ
ベントログであって、前記イベントに関わるトランザク
ションIDと、前記オブジェクトのプロセス名及び前記
カウンタ情報と、前記イベントの種別とが含まれている
前記イベントログを、前記各ノード内の前記ログファイ
ルに記録するログライタ。 - 【請求項20】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置されたログファイルとを
備え、前記複数のオブジェクトは、相互間で協調動作を
依頼しながら1つのトランザクションを連携して処理す
ることができ、各オブジェクトは、他のオブジェクトに
協調動作を依頼するとき、前記トランザクションを識別
するためのトランザクションIDと、前記トランザクシ
ョンの処理経路における前記各オブジェクトの位置を示
すカウンタ情報とを前記或るオブジェクトから前記他の
オブジェクトに伝える環境において、 前記各ノード内のオブジェクトが実行したイベントのイ
ベントログであって、前記イベントに関わるトランザク
ションIDと、前記オブジェクトのプロセス名及び前記
カウンタ情報と、前記イベントの種別とが含まれている
前記イベントログを、前記各ノード内の前記ログファイ
ルに記録するログライタとして、前記各ノードを動作さ
せるためのコンピュータプログラムを担持したコンピュ
ータ読み取り可能な記録媒体。 - 【請求項21】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置された、前記各ノード内
の前記オブジェクトが実行したイベントのイベントログ
が格納されているログファイルとを備え、前記複数のオ
ブジェクトは、相互間で協調動作を依頼しながら1つの
トランザクションを連携して処理することができ、各イ
ベントログには、対応するイベントに関わるトランザク
ションIDと、前記対応するイベントを実行したオブジ
ェクトのプロセス名及び前記カウンタ情報と、前記対応
するイベントの種別とが含まれている環境において、 少なくとも一つのノードに配置され、前記複数のノード
内の前記ログファイルから、指定されたトランザクショ
ンIDをもったイベントログを収集するログコレクタを
有して、収集されたイベントログを頼りに指定されたト
ランザクションのイベントを追跡するイベントトラッ
カ。 - 【請求項22】 前記ログコレクタが収集した前記イベ
ントログに含まれる前記プロセス名、前記カウンタ情
報、及び前記イベント種別に基づいて、前記トランザク
ションの経過を解明してユーザに提示するログアナライ
ザを更に有する請求項21記載のイベントトラッカ。 - 【請求項23】 各ノードの配置され、前記各ノード内
の前記オブジェクトがイベントを実行したとき、実行し
たイベントのイベントログを前記各ノード内の前記ログ
ファイルに記録するログライタを更に有した請求項21
記載のイベントトラッカ。 - 【請求項24】 複数のノードを有する通信ネットワー
クと、前記複数のノードに分散して配置された複数のオ
ブジェクトと、各ノードに配置された、前記各ノード内
の前記オブジェクトが実行したイベントのイベントログ
が格納されているログファイルとを備え、前記複数のオ
ブジェクトは、相互間で協調動作を依頼しながら1つの
トランザクションを連携して処理することができ、各イ
ベントログには、対応するイベントに関わるトランザク
ションIDと、前記対応するイベントを実行したオブジ
ェクトのプロセス名及び前記カウンタ情報と、前記対応
するイベントの種別とが含まれている環境において、 前記複数のノード内の前記ログファイルから、指定され
たトランザクションIDをもったイベントログを収集す
るログコレクタを有して、収集されたイベントログを頼
りに指定されたトランザクションのイベントを追跡する
イベントトラッカとして、前記各ノードを機能させるた
めのコンピュータプログラムを担持したコンピュータ読
み取り可能な記録媒体。 - 【請求項25】 前記ログコレクタが収集した前記イベ
ントログに含まれる前記プロセス名、前記カウンタ情
報、及び前記イベント種別に基づいて、前記トランザク
ションの経過を解明してユーザに提示するログアナライ
ザを、前記イベントトラッカが更に有する請求項24記
載の記録媒体。 - 【請求項26】 前記各ノード内の前記オブジェクトが
イベントを実行したとき、実行したイベントのイベント
ログを前記各ノード内の前記ログファイルに記録するロ
グライタを、前記イベントトラッカが更に有する請求項
24記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10013675A JPH11212831A (ja) | 1998-01-27 | 1998-01-27 | オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10013675A JPH11212831A (ja) | 1998-01-27 | 1998-01-27 | オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11212831A true JPH11212831A (ja) | 1999-08-06 |
Family
ID=11839773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10013675A Pending JPH11212831A (ja) | 1998-01-27 | 1998-01-27 | オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11212831A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001243093A (ja) * | 2000-01-05 | 2001-09-07 | Agilent Technol Inc | 分散システム |
US7039953B2 (en) | 2001-08-30 | 2006-05-02 | International Business Machines Corporation | Hierarchical correlation of intrusion detection events |
US7278160B2 (en) | 2001-08-16 | 2007-10-02 | International Business Machines Corporation | Presentation of correlated events as situation classes |
US7571480B2 (en) | 2001-08-16 | 2009-08-04 | International Business Machines Corporation | Presentation of correlated events as situation classes |
JP2009225059A (ja) * | 2008-03-14 | 2009-10-01 | Ricoh Co Ltd | 画像処理装置、端末装置、配信ジョブ管理方法、コンピュータプログラム、及び、情報記録媒体 |
JP2009277119A (ja) * | 2008-05-16 | 2009-11-26 | Fujitsu Ltd | ログ記録システム |
CN101965558A (zh) * | 2008-02-29 | 2011-02-02 | 三菱电机株式会社 | 事件历史存储装置、事件历史追踪装置、事件历史存储方法、事件历史存储程序以及数据结构 |
US7908245B2 (en) | 2007-03-09 | 2011-03-15 | Fujitsu Limited | Database management method and database management apparatus |
US10923108B2 (en) | 2018-02-16 | 2021-02-16 | Fuji Xerox Co., Ltd. | Information processing system and non-transitory computer readable medium storing program |
JPWO2021100140A1 (ja) * | 2019-11-20 | 2021-05-27 | ||
KR102486087B1 (ko) * | 2022-09-16 | 2023-01-09 | 오픈나루 주식회사 | Msa에서의 호출관계 추적 및 이에 따른 로그정보 디스플레이 방법 |
-
1998
- 1998-01-27 JP JP10013675A patent/JPH11212831A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001243093A (ja) * | 2000-01-05 | 2001-09-07 | Agilent Technol Inc | 分散システム |
US7278160B2 (en) | 2001-08-16 | 2007-10-02 | International Business Machines Corporation | Presentation of correlated events as situation classes |
US7571480B2 (en) | 2001-08-16 | 2009-08-04 | International Business Machines Corporation | Presentation of correlated events as situation classes |
US7039953B2 (en) | 2001-08-30 | 2006-05-02 | International Business Machines Corporation | Hierarchical correlation of intrusion detection events |
US7908245B2 (en) | 2007-03-09 | 2011-03-15 | Fujitsu Limited | Database management method and database management apparatus |
CN101965558A (zh) * | 2008-02-29 | 2011-02-02 | 三菱电机株式会社 | 事件历史存储装置、事件历史追踪装置、事件历史存储方法、事件历史存储程序以及数据结构 |
JP2009225059A (ja) * | 2008-03-14 | 2009-10-01 | Ricoh Co Ltd | 画像処理装置、端末装置、配信ジョブ管理方法、コンピュータプログラム、及び、情報記録媒体 |
JP2009277119A (ja) * | 2008-05-16 | 2009-11-26 | Fujitsu Ltd | ログ記録システム |
US10923108B2 (en) | 2018-02-16 | 2021-02-16 | Fuji Xerox Co., Ltd. | Information processing system and non-transitory computer readable medium storing program |
JPWO2021100140A1 (ja) * | 2019-11-20 | 2021-05-27 | ||
US12001271B2 (en) | 2019-11-20 | 2024-06-04 | Nippon Telegraph And Telephone Corporation | Network monitoring apparatus, method, and program |
KR102486087B1 (ko) * | 2022-09-16 | 2023-01-09 | 오픈나루 주식회사 | Msa에서의 호출관계 추적 및 이에 따른 로그정보 디스플레이 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669499B2 (en) | Management of journal entries associated with customizations of knowledge objects in a search head cluster | |
JP7090744B2 (ja) | 分散データベースクラスタシステム、及びデータ同期方法 | |
CN101535977B (zh) | 联盟基础结构内的一致性 | |
US6487581B1 (en) | Apparatus and method for a multi-client event server | |
US20070074066A1 (en) | High availability for event forwarding | |
JP6225262B2 (ja) | 分散データグリッドにおいてデータを同期させるためにパーティションレベルジャーナリングをサポートするためのシステムおよび方法 | |
CN111143382B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
JP2005512190A (ja) | ネットワーク化システムにおけるリソースの高可用性をもたらす実複合オブジェクト | |
JP5035068B2 (ja) | サービス処理状況分析プログラム、サービス処理状況分析装置、およびサービス処理状況分析方法 | |
GB2495079A (en) | Live migration of applications and file systems in a distributed system | |
JPH11212831A (ja) | オブジェクト間協調動作のログ管理およびイベント追跡のための方式および方法 | |
JP2012003394A (ja) | データ処理の障害回復方法、システムおよびプログラム | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
JP2012234333A (ja) | クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム | |
US8301750B2 (en) | Apparatus, system, and method for facilitating communication between an enterprise information system and a client | |
CN111913837A (zh) | 大数据环境下实现分布式中间件消息恢复策略管理的系统 | |
CN106776151A (zh) | Samba集群tdb数据库记录备份方法、装置及系统 | |
CN102316154A (zh) | 优化对基于联盟基础结构的资源的访问 | |
JPH06259308A (ja) | 分散型データベースの管理方法、及びシステム | |
CN116483543A (zh) | 一种任务处理方法、装置、设备及存储介质 | |
JPH0392942A (ja) | ファイルの格納方法およびアクセス方法 | |
JPH07244645A (ja) | 高信頼分散トランザクション処理システム | |
JP3842549B2 (ja) | 情報収集システム、情報収集方法及び記憶媒体 | |
Shrivastava et al. | Middleware-based fault recovery technique for replicated DRTDBS | |
JPH11345215A (ja) | 移動型エージェントの状態管理方法ならびにシステム及び同方法がプログラムされ記録される記録媒体 |