(57)【要約】【課題】  複数の処理システムにまたがって処理を行うシステムの各処理システム間において、メッセージを一意に特定することのできるグローバルメッセージ識別子生成方法を実現する。【解決手段】  各システム内で用いられる特定の処理を行なうためのローカルメッセージ識別子と、前記ローカルメッセージ識別子が送信された時間を示すタイムスタンプと、前記ローカルメッセージ識別子を発呼したマシン名とを取得するステップと、取得した前記ローカルメッセージ識別子とタイムスタンプとマシン名とをハッシュ関数の入力値としてハッシュ値を得るステップと、前記タイムスタンプと前記ハッシュ値とを合成してエンコードするステップと、を有する。【選択図】  図２
2006237995.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のシステムが接続された分散システムにて、特定の処理について各システムで共通となる識別子を生成するグローバルメッセージ識別子生成方法であって、
各システム内で用いられる特定の処理を行なうためのローカルメッセージ識別子と、前記ローカルメッセージ識別子が送信された時間を示すタイムスタンプと、前記ローカルメッセージ識別子を発呼したマシン名とを取得するステップと、
取得した前記ローカルメッセージ識別子とタイムスタンプとマシン名とをハッシュ関数の入力値としてハッシュ値を得るステップと、
前記タイムスタンプと前記ハッシュ値とを合成してエンコードするステップと、を有するグローバルメッセージ識別子生成方法。
【請求項２】
請求項１記載のグローバルメッセージ識別子生成方法において、
ハッシュ値を得るステップでは、第１のハッシュ関数と第２のハッシュ関数により第１のハッシュ値と第２のハッシュ値とをそれぞれ求めるグローバルメッセージ識別子生成方法。
【請求項３】
請求項１または請求項２記載のグローバルメッセージ識別子生成方法において、
エンコードを行なうステップでは、ISO標準8824、8825で定義されるASN.1によりエンコードを行なうグローバルメッセージ識別子生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の事業体等にそれぞれ配置された複数の処理システムにまたがって一連の処理を行なう際に、特定の処理について各システムで共通の識別子を生成して付与するグローバルメッセージ識別子生成方法に関し、特に、異なる体系の業務処理システムにおけるメッセージに対して、共通のメッセージの識別番号を付与するグローバルメッセージ識別子生成方法に関する。
【背景技術】
【０００２】
複数事業体にそれぞれ設けられた複数のシステム等の間で実現される電子文書交換システムでは、各システムをそれぞれ構成するコンピュータ上の業務処理を独立に行っており、交換される電子文書の識別子も独立に取得管理されている。このような形態の場合には各システムは自己の範囲内でのみ業務処理の内容を管理することとなり、効率の良いシステムを構築することができない。
【０００３】
複数の処理システムにまたがって一連の処理を行なうシステムにおいて、特定の処理について各システムで共通の識別子を生成する方法として特許文献１（特開２００２−１０９１６８号公報）に開示される技術がある。
【０００４】
特許文献１に開示される技術では、フロー定義ファイルに定義された各処理システムの実行手順に従い、各処理システムを起動し、取り引きを実行する業務フロー実行手段と、個別の取り引きを特定する第１の識別番号（グローバルＩＤ）に関連づけて、各処理システムが自己の分担する処理を行う際に発行する第２の識別番号（ローカルＩＤ）、及び、処理システムの処理の進行状況やログ情報をインスタンスデータファイルへ記録するインスタンス作成手段と、インスタンスデータファイルに記録された処理の進行状況を、第２の識別番号毎に確認することにより、各処理システムの処理がどこまで進行しているかを把握し、処理の取消し・変更の処理が可能か否かの判断を行うステータス確認手段と、ステータス確認手段による確認の結果、処理の取消し・変更が可能と判断された場合、処理の取消し・変更を行う為に、インスタンスデータファイルに記録された各処理システムのログ情報から、処理の経路を解析するインスタンスログ解析手段と、外部からの入力操作に従い、インスタンスログ解析手段の解析した処理の経路に沿って、各処理システムの処理の取消し・変更を行い、ログ情報をインスタンスデータファイルへ記録する取消し・変更手段とを設けたものである。
【特許文献１】特開２００２−１０９１６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されているシステム管理では、グローバルIDとローカルIDを結びつけて管理する方法で事業内と他事業間のメッセージが管理されている。複数事業体の、各コンピュータ上の業務処理は独立に行われており、交換される電子文書の識別子も独立に取得管理される。ここで、他事業間とのグローバルIDの付与方法があいまいであるため、グローバルIDが重複する可能性がある。そのため、識別子を用いて業務の進捗状況を把握することが困難であり、運用上の限界が存在している。
【０００６】
本発明は上述したような従来の技術が有する問題点に鑑みてなされたものであって、近年、益々、重要になってきているwebサービスにおいて、複数の処理システムにまたがって処理を行うシステムの各処理システム間において、一意の識別番号を振ることによってメッセージを一意に特定することのできるグローバルメッセージ識別子生成方法を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のグローバルメッセージ識別子生成方法は、ネットワークを介して複数のシステムが接続された分散システムにて、特定の処理について各システムで共通となる識別子を生成するグローバルメッセージ識別子生成方法であって、
各システム内で用いられる特定の処理を行なうためのローカルメッセージ識別子と、前記ローカルメッセージ識別子が送信された時間を示すタイムスタンプと、前記ローカルメッセージ識別子を発呼したマシン名とを取得するステップと、
取得した前記ローカルメッセージ識別子とタイムスタンプとマシン名とをハッシュ関数の入力値としてハッシュ値を得るステップと、
前記タイムスタンプと前記ハッシュ値とを合成してエンコードするステップと、を有する。
【０００８】
この場合、ハッシュ値を得るステップでは、第１のハッシュ関数と第２のハッシュ関数により第１のハッシュ値と第２のハッシュ値とをそれぞれ求めることとしてもよい。
【０００９】
また、エンコードを行なうステップでは、ISO標準8824、8825で定義されるASN.1によりエンコードを行なうこととしてもよい。
【発明の効果】
【００１０】
本発明は以上説明したように構成されているので、以下に記載するような効果を奏する。
【００１１】
一意なグローバルメッセージ識別子（ＩＤ）を生成して個々のメッセージに付与することで、メッセージを一意に特定することができ、業務の進捗把握が可能となる効果がある。
【００１２】
また、グローバルメッセージＩＤはタイムスタンプとハッシュ値を連結させ、ＡＳＮ．１でエンコードされており、グローバルメッセージＩＤをＡＳＮ．１でデコードすることによって、メッセージを送信したときのタイムスタンプを取り出すことができ、メッセージのソートが可能となる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明の実施例について図面を参照して説明する。
【００１４】
図１は本発明による分散システムにおけるグローバルメッセージＩＤ生成方法を用いてメッセージの送受信を行うシステムの実施例の構成を示す図であり、スコープＡ  ｒ１、スコープＢ  ｒ２、スコープＣ  ｒ３の３つのネットワークに設けられたそれぞれのシステム間でメッセージのやり取りを行うマシンの構成とメッセージの流れを示す概略図である。図２はグローバルメッセージＩＤ生成方法の手順を示す概要図である。図３はグローバルメッセージＩＤからタイムスタンプを取り出す手順を示す概要図である。図４はメッセージのプロトコル変換を行なう場合のメッセージ送信の動作を示すフローチャートである。図５はメッセージ受信の動作を示すフローチャートである。図６はメッセージのプロトコル変換を行わない場合のメッセージ送信の動作を示すフローチャートである。図７はグローバルＩＤ生成のみを行う動作を示すフローチャートである。図８は図１中に示される各メッセージ管理システムのデータベース内のメッセージログテーブルの構成を概念的に示した図である。図９は図１中のメッセージ管理システム４のデータベース内のメッセージ対応テーブルの構成を概念的に示した図である。図１０はグローバルメッセージＩＤ生成方法の手順を示すフローチャートである。図１１はグローバルメッセージＩＤからタイムスタンプを取り出す手順を示すフローチャートである。
【００１５】
図１に記されるように、スコープＡ  ｒ１にはメッセージ管理装置１、処理装置２，３およびデータベース１２が設けられ、スコープＢ  ｒ２にはメッセージ管理装置４、処理装置５，６およびデータベース１３が設けられ、スコープＡ  ｒ１にはメッセージ管理装置７、処理装置８，９およびデータベース１４が設けられている。
【００１６】
メッセージ管理システム１、メッセージ管理システム４、メッセージ管理システム７はインターネットを介して相互に接続され、また、各スコープの処理装置間に設置され、ＮＴＰサーバ１１によってメッセージ管理システムのタイムスタンプを常に正しく設定されるものとし、ＤＮＳサーバ１０によって各処理装置のマシン名を取得できる構成となっている。
【００１７】
本実施例では、所定の業務処理を行うために、スコープＡ  ｒ１上のメッセージ管理システム１からメッセージａ１をスコープＢ  ｒ２上のメッセージ管理システム４に送信し処理を行わせる。メッセージ管理システム４はメッセージａ１を受け、メッセージａ１のプロトコル変換を行ってメッセージｂ１を生成し、同じスコープＢ  ｒ２上の処理装置５にメッセージｂ１を送信して処理を行わせ、処理結果としてのメッセージｂ２を処理装置５より受け取る。同様に同じスコープＢ  ｒ２上の処理装置６に対してはメッセージａ１のプロトコル変換を行ってメッセージｂ３を生成して送信し、処理を行わせ、処理結果としてメッセージｂ４を処理装置６より受け取る。
【００１８】
さらにスコープＣ  ｒ３上のメッセージ管理システム７へメッセージａ２を送信して処理を行わせる。メッセージ管理システム７はメッセージａ２を受けメッセージのプロトコル変換を行わず、そのまま同じスコープＣ  ｒ３上の処理装置８へメッセージａ２’を送信して処理を行わせ、処理結果としてメッセージａ３’を受け取る。メッセージ管理システム７はメッセージａ３’を受け取り、メッセージのプロトコル変換を行わずに異なるスコープＢ  ｒ２上のメッセージ管理システ４へ処理結果として、メッセージａ３を送信する。
【００１９】
メッセージ管理システム４は処理装置５、処理装置６、メッセージ管理システム７の結果を受けて、スコープＡ  ｒ１上のメッセージ管理システム１に処理結果として、メッセージａ４を送信する。これは、一般性を失わないモデルである。
【００２０】
次に、図８を参照して本発明によるデータ保存方法について説明する。図８はメッセージ管理システム１、４、７にそれぞれ設けられるメッセージログテーブルの格納内容を示す図である。
【００２１】
グローバルメッセージＩＤを使用したメッセージの送受信のために、各メッセージ管理システムのメッセージログテーブルにログを格納する。ローカルメッセージＩＤを使用したメッセージの送受信のログについては別管理されるものとする。ローカルメッセージＩＤを使用したメッセージは図１のメッセージｂ１、メッセージｂ２、メッセージｂ３、メッセージｂ４である。メッセージログテーブルの詳細は図８に示されているように、生成されたグローバルメッセージＩＤをキーとしてローカルメッセージＩＤ、発呼側のマシン名、メッセージ、タイムスタンプ、メッセージ種別を１レコードとしてレコード上で順番に格納する。ローカルメッセージＩＤはメッセージ送信の場合には各スコープのローカルメッセージＩＤが入り、メッセージ受信の場合にはグローバルメッセージＩＤが格納される。メッセージ種別はメッセージが送信する場合であるか、受信する場合であるか、グローバルＩＤ生成のみであるか、を示すフラグが格納される。
【００２２】
次に、本発明によるグローバルメッセージＩＤ生成方法について説明する。メッセージ管理システムがメッセージをプロトコル変換し、異なるスコープへメッセージを送信するような場合（図１のメッセージａ１、メッセージａ２、メッセージａ４が相当する）、または処理装置がメッセージをプロトコル変換せず、同じスコープへ送信されたメッセージをメッセージ管理システムから受信し、返信のメッセージをメッセージ管理システムへ返信する場合（図１のメッセージａ３’が相当する）に、グローバルメッセージＩＤを生成する。
【００２３】
図２を用いてグローバルメッセージＩＤ生成の概要を説明する。グローバルメッセージＩＤ生成には大きく分けて図１０にステップｓ１０１として示されるハッシュ値計算ステップと、図１０にステップｓ１０２として示されるエンコードステップ、の２つのステップがある。
【００２４】
ステップｓ１０１のハッシュ値計算ステップでは、メッセージを送信するときのマシン時間をタイムスタンプｉ１とし（ステップｓ４１）、メッセージ管理システムと同じスコープのローカルメッセージＩＤ（ローカルメッセージ識別子）ｉ２を取得し（ステップｓ４２）、発呼側のマシン名ｉ３をＤＮＳサーバから取得する（ステップｓ４３）。
【００２５】
前述のタイムスタンプｉ１とローカルメッセージＩＤｉ２と発呼側のマシン名ｉ３を合成させ、ハッシュ関数の入力値とする。前述の入力値をもとに、異なる２つのハッシュ関数１ｆ１、ハッシュ関数２ｆ２を使用しハッシュ値を計算する。グローバルメッセージＩＤはメッセージを特定するため一意になる必要があり、ハッシュ関数を１つだけ使用するとハッシュ値が同じになるコリジョンが起こる可能性があるため、２つのハッシュ関数１ｆ１、ハッシュ関数２ｆ２を使用し、ハッシュ値１ｉ５、ハッシュ値２ｉ６を計算する（ステップｓ４４、ｓ４５）。２つのハッシュ値を連結させた値をハッシュ値とすることでコリジョンが起こる可能性は現実的には非常に少なく、実用的には概ね一意とみなすことができるがさらにコリジョンを起こす可能性をなくすため、ステップｓ１０２のエンコードステップに進む。
【００２６】
ステップｓ１０２におけるエンコードステップでは、ステップｓ４１で求めたタイムスタンプｉ４とステップｓ４４、ｓ４５で求めたハッシュ値１ｉ５とハッシュ値２ｉ６を連結させ（ステップｓ４６）、ＩＳＯ標準８８２４、８８２５で定義されるAbstract Syntax Notation One （以下ＡＳＮ．１とする）のルールに従いエンコードｆ３したものをグローバルメッセージＩＤｉ７とする（ステップｓ４７）。
【００２７】
グローバルＩＤ用にタイムスタンプを取得する場合は、排他をかけ同じタイムスタンプを生成しない仕組みとする。これによって、同一のメッセージ管理システムでは常にタイムスタンプは違うものとなり、ハッシュ関数の入力値を必ず異なるものにすることができる。また、あるメッセージ管理システムと、別のメッセージ管理システムのタイムスタンプｉ１は同じになる場合があるが、その場合はメッセージＩＤｉ２、発呼側マシン名ｉ３が異なるので、異なる入力値でハッシュ値１ｉ５、ハッシュ値２ｉ６を生成することができる。異なる入力値で生成されたハッシュ値は異なる値であるので、生成されたハッシュ値１ｉ５、ハッシュ値２ｉ６にタイムスタンプｉ４を連結させ、ＡＳＮ．１エンコードｆ３して生成したグローバルメッセージＩＤｉ７は一意となる。
【００２８】
図１０を用いて詳細な手順を説明する。ここで、ステップｓ１０１「ハッシュ値計算ステップ」は、ステップｓ４１、ステップｓ４２、ステップｓ４３、ステップｓ４４、ステップｓ４５を含んで構成される。ステップｓ１０２「エンコーディングステップ」はステップｓ４６、ステップｓ４７を含んで構成される。
【００２９】
図１０のステップｓ４１でマシン時間を取得しステップｓ４２へ進む。ステップ４２でメッセージ管理システムと同じスコープのローカルメッセージを取得し、ステップｓ４３へ進む。ステップｓ４３で発呼側のマシン名をＤＮＳサーバから取得し、ステップｓ４４へ進む。ステップｓ４４では、前述のステップｓ４１からステップｓ４３で取得したタイムスタンプ、メッセージＩＤ、発呼側マシン名を入力値として、ハッシュ関数１からハッシュ値１を生成しステップｓ４５へ進む。ステップｓ４５では、前述のステップｓ４１からステップｓ４３で取得したタイムスタンプ、メッセージＩＤ、発呼側マシン名を入力値として、ハッシュ関数２からハッシュ値２を取得しステップｓ４６へ進む。ステップｓ４６では、前述のステップｓ４１、ステップｓ４４、ステップｓ４５で求めたタイムスタンプ、ハッシュ値１、ハッシュ値２を合成させ、ステップｓ４７へ進む。ステップｓ４７で、前述のステップ４６でタイムスタンプ、ハッシュ値１、ハッシュ値２を合成させたものをＡＳＮ．１を用いてエンコードしたものをグローバルメッセージＩＤとする。
【００３０】
前述のデータベース保存方法、グローバルＩＤ付与方法を用いて、各メッセージ管理システムはメッセージの管理を行う。メッセージ送信のパターンは、メッセージ管理システムがメッセージをプロトコル変換し、異なるスコープへメッセージを送信する場合（パターン１）、メッセージ管理システムがメッセージをプロトコル変換し、同じスコープへメッセージを送信する場合（パターン２）、メッセージ管理システムがメッセージをプロトコル変換せず、同じ／異なるスコープへメッセージを送信する場合（パターン３）、処理装置がメッセージをプロトコル変換せず、同じスコープへ送信されたメッセージをメッセージ管理システムから受信し、返信のメッセージをメッセージ管理システムへ返信する場合（パターン４）の４つのパターンがある。また、メッセージ管理システムのメッセージ受信のパターン（パターン５）はすべて同じであり、１パターンである。パターンごとにメッセージ管理システムの処理を説明する。
【００３１】
まず、パターン１について説明する。メッセージ管理システムがメッセージをプロトコル変換し、異なるスコープへメッセージを送信する場合のメッセージ送信のパターンは、図１のメッセージａ１、メッセージａ２、メッセージａ４が相当する。また、図４のフローチャートに、メッセージをプロトコル変換し、異なるスコープへメッセージを送信する場合の動作を示す。
【００３２】
メッセージａ１を例にして説明する。図４のステップｓ１で現在の時間タイムスタンプ１を取得し、ステップｓ２へ進む。ステップｓ１における処理はメッセージ管理システム内の処理で競合が生じない様にする。
【００３３】
ステップｓ２でスコープＡ  ｒ１の識別子であるローカルメッセージＩＤ１を取得し、ステップｓ３へ進む。
【００３４】
ステップｓ３では発呼側マシン名であるメッセージ管理システム１マシン名を取得し、ステップｓ４へ進む。
【００３５】
ステップｓ４ではステップｓ１からステップｓ３で取得したタイムスタンプ１、スコープＡ  ｒ１のローカルメッセージＩＤ１、メッセージ管理システム１マシン名を基にグローバルメッセージＩＤ１を生成し、ステップｓ５へ進む。
【００３６】
ステップｓ５でメッセージ管理システム１上のデータベース１２へデータを後述する場所に格納し、ステップｓ６へ進む。
【００３７】
ステップｓ６でスコープＢ  ｒ２上のメッセージ管理システム４へメッセージａ１を送信し処理を終了する。
【００３８】
前述したメッセージ１上のデータベース１２へのデータ格納について説明する。図１のメッセージａ１は、メッセージ管理システム１上のデータベース１２へデータを格納する。図８に示されるように、メッセージログテーブルのレコード１  ｄ１のグローバルメッセージＩＤ  ｄ２にグローバルメッセージＩＤ１、ローカルメッセージＩＤ  ｄ３にスコープＡのローカルメッセージＩＤ１、発呼側マシン名ｄ４にメッセージ管理システム１マシン名、メッセージｄ５にメッセージａ１、タイムスタンプｄ６にタイムスタンプ１、メッセージ種別ｄ７に送信を格納する。
【００３９】
次にパターン２について説明する。メッセージをプロトコル変換し、同じスコープへメッセージを送信する場合のメッセージ送信のパターンは、図１のメッセージｂ１、メッセージｂ３に相当する。受信メッセージをプロトコル変換し、同一のスコープ内にメッセージを送信する場合は、グローバルメッセージＩＤの生成を行わず、スコープ内で使用するローカルメッセージＩＤを使用し、メッセージの送受信を行う。ローカルＩＤと、ローカルメッセージログについては別途管理されるものとする。
【００４０】
また、同じスコープ内で、メッセージ要求を受けた結果、生成される応答用のメッセージ応答には参照先としてメッセージ要求のＩＤが含まれるのが一般的である。これにより、メッセージ要求とメッセージ応答を対応付けることが出来る。しかしグローバルメッセージＩＤが付与されたメッセージをプロトコル変換し、別のスコープ内でローカルメッセージＩＤを使用してメッセージを送信した場合、特別な仕組みがない限りメッセージの対応付けを保証することが出来ない。そのため、プロトコル変換前のグローバルメッセージＩＤが付与されたメッセージとプロトコル変換後のローカルメッセージＩＤが付与されたメッセージとを対応付けるため、メッセージ管理システム上のデータベースにメッセージ対応テーブルを持ちデータを格納する。
【００４１】
ここでは図１に示したメッセージ管理システム１を例にして説明する。メッセージ管理システム４はメッセージａ１を受けて、メッセージ管理システム４上のデータベース１３にデータを格納する。図９に示すように、メッセージ対応テーブルのレコードＩＤ１  ｄ８１のグローバルメッセージＩＤｄ８２にグローバルメッセージＩＤ１、ローカルメッセージＩＤｄ８３にスコープＢのローカルメッセージＩＤ１を格納する。そして、同じスコープＢ  ｒ２内の処理装置５へスコープＢ  ｒ２のローカルメッセージＩＤ１が付与されたメッセージｂ１を送信し処理を行う。処理装置５の処理結果がスコープＢ  ｒ２のローカルメッセージＩＤ２を付与したメッセージｂ２としてメッセージ管理システム４へ送信される。
【００４２】
前述したようにローカルメッセージＩＤを使用したメッセージの送受信では別管理でログが保存されるので、メッセージ管理システム４上のデータベース１３ではログを保存しない。
【００４３】
次に、パターン３について説明する。メッセージ管理システムがメッセージをプロトコル変換せず、同じか、または、異なるスコープへメッセージを送信する場合のメッセージ送信のパターンは、図１におけるａ２’、ａ３が相当する。また、図６に示すフローチャートは、メッセージ管理システムがメッセージをプロトコル変換せず、同じか、または、異なるスコープへメッセージを送信する動作を示す。受信メッセージをプロトコル変換せず、同じか、または、異なるスコープにメッセージを送信する場合は、グローバルメッセージＩＤ生成を行わず、受信したグローバルメッセージＩＤが付与されたメッセージをそのまま送信する。
【００４４】
ここでは図１のメッセージａ２’を例に説明する。図６のフローチャートに示すように、タイムスタンプ５を生成し（ステップｓ２１）、メッセージＩＤであるグローバルメッセージＩＤ２を取得し（ステップｓ２２）、発呼側のマシン名であるメッセージ管理システム７マシン名を取得し（ステップｓ２３）、メッセージ管理システム７上のデータベース１４へデータを格納する（ステップＳ２４）。メッセージログテーブルのレコードＩＤ２  ｄ５０のグローバルメッセージＩＤ  ｄ５１にグローバルメッセージＩＤ２、ローカルメッセージＩＤ  ｄ５２にグローバルメッセージＩＤ２、発呼側マシン名ｄ５３にメッセージ管理システム７マシン名、メッセージｄ５４にメッセージａ２’、タイムスタンプｄ５５にタイムスタンプ５、メッセージ種別ｄ５６に送信を格納する。グローバルＩＤを生成せずに、メッセージａ２をそのままメッセージａ２’として処理装置８へ送信する（ステップＳ２５）。メッセージａ２とメッセージａ２’は等しく、グローバルメッセージＩＤは同じグローバルメッセージＩＤ２である。
【００４５】
次に、パターン４について説明する。処理装置がメッセージをプロトコル変換せず、同じスコープへ送信されたメッセージをメッセージ管理システムから受信し、返信のメッセージをメッセージ管理システムへ返信するパターンは、図１のメッセージａ３’が相当する。処理装置がメッセージ管理システムにメッセージを返信する場合に、処理装置は同じスコープ上のメッセージ管理システムからグローバルメッセージＩＤを取得する。処理装置は前述で取得したグローバルメッセージＩＤを付与したメッセージをメッセージ管理システムへ返信する。図７に示すフローチャートは、上記の動作を示す図であり、以下に、パターン４の動作について図１のメッセージａ３’を例とし、図７および図８を参照して説明する。
【００４６】
処理装置８はメッセージ管理システム７からグローバルメッセージＩＤを取得する。メッセージ管理システム７は図７に示すように、タイムスタンプ６を生成し（ステップＳ３１）、スコープＣ  ｒ３のローカルメッセージＩＤ１を取得し（ステップＳ３２）、発呼側となる処理装置８のマシン名を取得し（ステップＳ３３）、これによりグローバルメッセージＩＤ３を生成し（ステップＳ３４）、メッセージ管理システム７上のデータベース１４へデータを格納する（ステップＳ３５）。メッセージログテーブルのレコードＩＤ３  ｄ５７のグローバルメッセージＩＤ  ｄ５８にはグローバルメッセージＩＤ３、ローカルメッセージＩＤ  ｄ５９にはスコープＣのローカルメッセージＩＤ１、発呼側マシン名ｄ５９には処理装置８をそれぞれ格納し、グローバルＩＤ生成のみであるためメッセージｄ６１には何も格納しない、タイムスタンプｄ６２にはタイムスタンプ６を格納し、メッセージ種別ｄ６３に生成を格納し、生成したグローバルメッセージＩＤ３を処理装置８へ返す。処理装置８は処理を行った結果を、前述で取得したグローバルメッセージＩＤ３を付与したメッセージａ３’としてメッセージ管理システム８へ返信する。
【００４７】
次にパターン５について説明する。メッセージ管理システムがメッセージ受信の場合について説明する。メッセージ管理システムがメッセージを受信する場合の処理はすべて同じであるため、図１のメッセージａ１をスコープＢ  ｒ２上のメッセージ管理システム４が受信する場合を例に、図５および図８を参照して説明する。
【００４８】
図５におけるステップｓ１１にてメッセージを受信し、ステップｓ１２で現在の時間タイムスタンプ２を取得し、ステップｓ１３へ進む。ステップｓ１３でメッセージａ１からグローバルメッセージＩＤ１を取得し、ステップｓ１４へ進む。ステップｓ１４では発呼側マシン名であるメッセージ管理システム１マシン名を取得し、ステップｓ１５へ進む。ステップｓ１５で、メッセージ管理システム４上のデータベース１４へデータを格納する。メッセージログテーブルテーブルのレコードＩＤ１  ｄ１５のグローバルメッセージＩＤ  ｄ１６にはグローバルメッセージＩＤ１、ローカルメッセージＩＤｄ１７にはグローバルメッセージＩＤ１、発呼側マシン名ｄ１８にはメッセージ管理システム１マシン名、メッセージｄ１９にはメッセージａ１、タイムスタンプｄ２０にはタイムスタンプ２、メッセージ種別ｄ２１には受信をそれぞれ格納して終了する。
【００４９】
前述したメッセージ送信４パターンと、メッセージ受信１パターンの方法で一連の業務処理１が終了した時の各メッセージ管理システムのメッセージログテーブルは図８に示すものとなる。
【００５０】
また、図１では各メッセージ管理システムでメッセージの送受信のログをメッセージログテーブルに格納したが、各メッセージからグローバルメッセージＩＤを取得することで、図３に示したようにグローバルＩＤｉ１１をＡＳＮ．１デコードｆ１１するとメッセージを送信したタイムスタンプｉ１２とハッシュ値１ｉ１３とハッシュ値２ｉ１４を取得することがでる。図１１を用いて手順を説明する。図１１のステップｓ５１でメッセージからグローバルＩＤを取得し、ステップ５２へ進む。ステップ５２では、前述のステップｓ５１で取得したグローバルＩＤをＡＳＮ．１を用いてデコードし、タイムスタンプ、ハッシュ値１、ハッシュ値２を取得する。取得したタイムスタンプより各メッセージをソートすることができる。これによって、任意の場所でメッセージの監視を行う際にメッセージから必要なデータを取得することができる。
【図面の簡単な説明】
【００５１】
【図１】ネットワークＡ、ネットワークＢ、ネットワークＣの３つのネットワーク間でメッセージのやり取りを行うマシンの構成とメッセージの流れを表す図である。
【図２】グローバルメッセージＩＤ生成方法を表す図である。
【図３】グローバルメッセージＩＤデコード方法を表す図である。
【図４】メッセージのプロトコル変換を行う場合のメッセージ送信時のフローを表す図である。
【図５】メッセージの受信時のフローを表す図である。
【図６】メッセージのプロトコル変換を行わない場合のメッセージ送信時のフローを表す図である。
【図７】グローバルＩＤ発行のフローを表す図である。
【図８】各メッセージ管理システムのログテーブルを表す図である。
【図９】メッセージ管理システム４の対応テーブルを表す図である。
【図１０】グローバルメッセージＩＤ生成方法のフローを表す図である。
【図１１】グローバルメッセージＩＤデコード方法のフローを表す図である。
【符号の説明】
【００５２】
１  メッセージ管理システム
２  処理装置
３  処理装置
４  メッセージ管理システム
５  処理装置
６  処理装置
７  メッセージ管理システム
８  処理装置
９  処理装置
１０  ＤＮＳサーバ
１１  ＮＴＰサーバ
１２  データベース
１３  データベース
14 データベース
a1 グローバルメッセージ要求
a2 グローバルメッセージ要求
a2' メッセージのプロトコル変換を行わないローカルメッセージ要求
a3' メッセージのプロトコル変換を行わないローカルメッセージ応答
a3 グローバルメッセージ応答
a4 グローバルメッセージ応答
b1 メッセージのプロトコル変換を行うローカルメッセージ要求
b2 メッセージのプロトコル変換を行うローカルメッセージ応答
b3 メッセージのプロトコル変換を行うローカルメッセージ要求
b4 メッセージのプロトコル変換を行うローカルメッセージ応答
【図１】
2006237995.tif 000003
【図２】
2006237995.tif 000004
【図３】
2006237995.tif 000005
【図４】
2006237995.tif 000006
【図５】
2006237995.tif 000007
【図６】
2006237995.tif 000008
【図７】
2006237995.tif 000009
【図８】
2006237995.tif 000010
【図９】
2006237995.tif 000011
【図１０】
2006237995.tif 000012
【図１１】
2006237995.tif 000013