(57)【特許請求の範囲】
【請求項１】
交換機を有するメッセージ交換システムであって、
第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信部と、
前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定部と、
前記第１判定部によって前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定部と、
前記第２判定部によって前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得部と、
前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信部と、
を備えることを特徴とするメッセージ交換システム。
【請求項２】
前記認証情報取得部は、前記第２判定部によって前記第２外部システム用の認証情報を保有していないと判定された場合に、前記第２外部システム用の認証情報を保有しているか否かを、前記他のメッセージ交換システムに問い合わせ、当該問い合わせに応じて返信される前記第２外部システム用の認証情報を前記他のメッセージ交換システムから取得する、ことを特徴とする請求項１記載のメッセージ交換システム。
【請求項３】
外部システムの認証情報を記憶する記憶部を、さらに備え、
前記第２判定部は、前記記憶部に記憶されている外部システムの認証情報を参照して、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する、
ことを特徴とする請求項１または２記載のメッセージ交換システム。
【請求項４】
交換機を有するメッセージ交換システムを制御するメッセージ交換方法であって、
第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信ステップと、
前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定ステップと、
前記第１判定ステップにおいて前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定ステップと、
前記第２判定ステップにおいて前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得ステップと、
前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信ステップと、
を含むことを特徴とするメッセージ交換方法。
【請求項５】
請求項４に記載の各ステップをコンピュータに実行させるためのメッセージ交換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージ交換システム、メッセージ交換方法およびメッセージ交換プログラムに関する。
【背景技術】
【０００２】
それぞれ認証が必要な複数のアプリケーションにアクセス可能なネットワークシステムでは、一回の認証で複数のアプリケーションにアクセスできるようにするシングルサインオンを導入することで、アプリケーションごとに要求されるログイン処理の手間を軽減している。下記特許文献１には、シングルサインオンを実現するために、ユーザの認証情報を一元管理するＳＳＯ（single sign-on）サーバを備えたネットワークシステムが開示されている。このネットワークシステムでは、複数のＳＳＯサーバを分散して備えることも可能としており、この場合には、ログインしたユーザの認証情報を各ＳＳＯサーバ間で転送し合ってログイン済みのユーザの認証情報を共有する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２９６２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、認証が必要なシステム間でメッセージを交換するバス型のメッセージ交換システムでは、複数のメッセージ交換システムを接続し、複数の交換機を経由してメッセージを交換するネットワークを構築することができる。このようなネットワークでシングルサインオンを実現する場合には、一般にネットワーク内の全ての交換機に全システムの認証情報をそれぞれ保有させることとなる。この場合、システム数が増大すると、管理する認証情報が膨大になってしまう。また、システムや交換機が増減した場合には、各交換機の認証情報を同期させて保守する必要がある。
【０００５】
これらの問題を解決するために、上記特許文献１と同様に、ログインしたユーザの認証情報を各交換機間で転送し合ってログイン済みのユーザの認証情報を共有することも考えられるが、この場合には、メッセージを送信するごとに、各交換機間で認証情報を転送し合うことになるため、ネットワークの負荷が増大してしまう。
【０００６】
本発明は、上述した課題を解決するためになされたものであり、認証情報の管理負担およびネットワークの負荷を軽減させることができるメッセージ交換システム、メッセージ交換方法およびメッセージ交換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のメッセージ交換システムは、交換機を有するメッセージ交換システムであって、第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信部と、前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定部と、前記第１判定部によって前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定部と、前記第２判定部によって前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得部と、前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信部と、を備える。
【０００８】
本発明のメッセージ交換方法は、交換機を有するメッセージ交換システムを制御するメッセージ交換方法であって、第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信ステップと、前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定ステップと、前記第１判定ステップにおいて前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定ステップと、前記第２判定ステップにおいて前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得ステップと、前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信ステップと、を含む。
【０００９】
本発明のメッセージ交換プログラムは、上記メッセージ交換方法に含まれる各ステップをコンピュータに実行させる。
【発明の効果】
【００１０】
本発明によれば、認証情報の管理負担およびネットワークの負荷を軽減させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態におけるメッセージ交換システムを複数接続したネットワークの概要構成を示すブロック図である。
【図２】実施形態におけるメッセージ交換システムの構成を示すブロック図である。
【図３】メッセージ交換システム用認証情報のデータ構成を示す図である。
【図４】外部システム用認証情報のデータ構成を示す図である。
【図５】要求交換機情報のデータ構成を示す図である。
【図６】交換機情報のデータ構成を示す図である。
【図７】エンドポイント情報のデータ構成を示す図である。
【図８】外部システム情報のデータ構成を示す図である。
【図９】メッセージのデータ構造を示す図である。
【図１０】メッセージ受信時にメッセージ交換システムで実行される処理の流れを示すフローチャートである。
【図１１】問い合わせに応じて他のメッセージ交換システムで実行される処理の流れを示すフローチャートである。
【図１２】外部システム“Ｆ”から外部システム“Ｋ”にメッセージが送信された場合の動作を説明するための模式図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明に係るメッセージ交換システム、メッセージ交換方法およびメッセージ交換プログラムの好適な実施形態について説明する。
【００１３】
まず、図１を参照して、実施形態におけるメッセージ交換システムを複数接続したネットワークの概要について説明する。メッセージ交換システム１は、一つまたは複数の外部システム５との間でバス型ネットワークを形成し、それぞれ独立かつ協調して動作する。外部システム５は、ユーザに各種サービスを提供するシステムであり、一つまたは複数のメッセージ交換システム１を介して他の外部システム５との間でメッセージを送受信する。メッセージ交換システム１は、他のメッセージ交換システム１と接続し、他のメッセージ交換システム１との間でメッセージを転送し合う。
【００１４】
メッセージ交換システム１は、外部システム５の認証情報を保有し、外部システム５のシングルサインオンを実現する。外部システム５の認証情報は、いずれか一つ以上のメッセージ交換システム１に登録すればよい。メッセージ交換システム１は、全ての外部システム５の認証情報を保有する必要はなく、一部の外部システム５の認証情報を保有していればよい。
【００１５】
外部システム５は、他の外部システム５にメッセージを送信する場合に、メッセージを最初に中継するメッセージ交換システム１用の認証情報をメッセージに付加して送信する。外部システム５から送信されたメッセージは、ルーティングされたメッセージの通信経路に従って送信される。メッセージを最後に中継するメッセージ交換システム１が、メッセージの送信先となる外部システム５の認証情報を保有していない場合、そのメッセージ交換システム１は、送信先となる外部システム５の認証情報を保有している他のメッセージ交換システム１から認証情報を取得してメッセージに付加する。一方、メッセージを最後に中継するメッセージ交換システム１が、送信先となる外部システム５の認証情報を保有している場合には、その認証情報をメッセージに付加して送信する。
【００１６】
点線９で囲まれたそれぞれの範囲内にあるメッセージ交換システム１と外部システム５との間には、例えばなりすましを防止可能な信頼関係が結ばれている。なお、外部システム５“Ｇ”および“Ｈ”は、ともにメッセージ交換システム１“Ｂ”との間で信頼関係を結んでいるが、外部システム５“Ｇ”と外部システム５“Ｈ”との間の信頼関係は任意である。図１に示す外部システム５“Ｇ”と外部システム５“Ｈ”との間には、信頼関係が結ばれていない場合を例示している。
【００１７】
ここで、メッセージ交換システム１は、物理的には、例えば、ＣＰＵ（Central Processing Unit）と、記憶装置と、入出力インターフェースとを含んで構成される。記憶装置には、例えば、ＣＰＵで処理されるプログラムやデータを記憶するＲＯＭ（Read Only Memory）やＨＤＤ（Hard Disk Drive）と、主として制御処理のための各種作業領域として使用されるＲＡＭ（Random Access Memory）とが含まれる。これらの要素は、互いにバスを介して接続されている。ＣＰＵが、ＲＯＭに記憶されたプログラムを実行し、入出力インターフェースを介して受信されたメッセージや、ＲＡＭに展開されたデータを処理することで、後述するメッセージ交換システムにおける各種の機能を実現することができる。
【００１８】
次に、図２を参照して、実施形態におけるメッセージ交換システムの構成について説明する。図２は、実施形態におけるメッセージ交換システムを模式的に示した構成図である。図２に示すように、メッセージ交換システム１は、交換機１０と、複数のサブシステム２０と、認証情報記憶部３０と、経路情報記憶部４０と、を有する。メッセージ交換システム１には、外部システム５や、他のメッセージ交換システム１が接続できる。
【００１９】
図２に示す認証情報記憶部３０は、メッセージ交換システム１や外部システム５の認証情報を、マスタ情報３１やキャッシュ情報３２として記憶する。認証情報としては、例えば、図３に示すメッセージ交換システム用認証情報や、図４に示す外部システム用認証情報がある。
【００２０】
図３に示すメッセージ交換システム用認証情報は、データ項目として、例えば、メッセージ交換システム用ＩＤ項目と、パスワード項目と、氏名項目と、電話番号項目と、を有する。メッセージ交換システム用ＩＤ項目は、メッセージ交換システム１にログインするためのＩＤを格納する。メッセージ交換システム用ＩＤとしては、ネットワーク内でメッセージ交換システム１を一意に特定可能な識別コードを用いる。パスワード項目は、メッセージ交換システム１にログインするためのパスワードを格納する。氏名項目は、ユーザの氏名を格納し、電話番号項目は、ユーザの電話番号を格納する。氏名項目や電話番号項目は、ユーザの個人情報の一例である。個人情報は設定しなくてもよいし、氏名項目や電話番号項目以外の個人情報を設定することとしてもよい。
【００２１】
図４に示す外部システム用認証情報は、データ項目として、例えば、メッセージ交換システム用ＩＤ項目と、エンドポイントＩＤ項目と、外部システム用ＩＤ項目と、パスワード項目と、氏名項目と、電話番号項目と、を有する。メッセージ交換システム用ＩＤ項目、氏名項目および電話番号項目は、上述したメッセージ交換システム用認証情報のメッセージ交換システム用ＩＤ項目、氏名項目および電話番号項目とそれぞれ同様である。エンドポイントＩＤ項目は、外部システム５のエンドポイントを一意に特定可能な識別子を格納する。外部システム用ＩＤ項目は、外部システム５にログインするためのＩＤを格納する。パスワード項目は、外部システム５にログインするためのパスワードを格納する。
【００２２】
マスタ情報３１は、予め認証情報記憶部３０に設定された認証情報を格納する。キャッシュ情報３２は、自システム１や他システム１のマスタ情報３１から取得して自システム１で使用した認証情報を格納する。なお、認証情報記憶部３０は、マスタ情報３１およびキャッシュ情報３２の両方を保有することとしてもよいし、いずれか一方を保有することとしてもよい。また、マスタ情報３１を、複数のメッセージ交換システム１に分散して保有することとしてもよい。
【００２３】
図２に示す経路情報記憶部４０は、交換機情報４１と外部システム情報４２とを有する。交換機情報４１は、交換機１０に関する情報であり、例えば、図５に示す要求交換機情報や、図６に示す交換機情報がある。
【００２４】
図５に示す要求交換機情報は、他の交換機に外部システムの認証情報を要求した場合に記録される情報であり、外部システムのエンドポイントと要求先の交換機との関係を示す情報である。要求交換機情報は、データ項目として、例えば、エンドポイントＩＤ項目と要求交換機ＩＤ項目とを有する。エンドポイントＩＤ項目は、接続先の外部システム５のエンドポイントを一意に特定する識別子を格納する。要求交換機ＩＤは、接続先の外部システム５の認証情報を要求してきた交換機１０を一意に特定する識別子を格納する。
【００２５】
要求交換機情報は、認証情報を要求してきた交換機１０に認証情報を返信する際に、返信先のメッセージ交換システム１までの最適な通信経路を選択する際や、ネットワーク全体を把握するために使用する。また、要求交換機情報は、マスタ情報３１が更新された場合に、その更新情報を各メッセージ交換システム１に送信し、各メッセージ交換システム１のキャッシュ情報３２を更新させる際にも使用する。
【００２６】
図６に示す交換機情報は、ネットワーク内の交換機同士でメッセージ交換をするために必要となる情報である。交換機情報は、データ項目として、例えば、交換機ＩＤ項目と、交換機のアドレス項目と、接続用プロトコル項目と、エンドポイントＩＤ項目と、を有する。交換機ＩＤ項目は、ネットワーク内で交換機を一意に特定する識別子を格納する。
【００２７】
図２に示す外部システム情報４２は、外部システム５に関する情報であり、例えば、図７に示すエンドポイント情報や、図８に示す外部システム情報がある。
【００２８】
図７に示すエンドポイント情報は、データ項目として、例えば、エンドポイントＩＤ項目とエンドポイント項目とを有する。エンドポイントＩＤ項目は、外部システム５のエンドポイントを一意に特定可能な識別子を格納する。エンドポイント項目は、外部システム５のエンドポイントを格納する。エンドポイントは、例えば、ＵＲＬ（Uniform Resource Locator）で表すことができる。
【００２９】
図８に示す外部システム情報は、データ項目として、例えば、外部システムの内部アドレス項目と、外部システムのアドレス項目と、外部システムが接続する交換機のＩＤ項目と、認証情報の有無項目と、を有する。認証情報の有無項目は、認証が必要な外部システムであるか否かを示す情報を格納する。外部システム情報は、メッセージをやり取りする外部システム５に応じて設定される。ネットワーク内でメッセージをやり取りする際に経由する各メッセージ交換システム１に予め外部システム情報を設定しておく。
【００３０】
図２に示す交換機１０は、経路情報記憶部４０から、ネットワーク内の交換機１０や外部システム５の情報を取得してメッセージの通信経路を決定する。交換機１０は、メッセージ受信時にメッセージの認証を行い、認証に成功したメッセージに対してメッセージ交換システム用の認証情報を付与する。交換機１０は、判定部１１と認証情報取得部１２とを有する。
【００３１】
判定部１１は、受信したメッセージに基づいて、送信先の外部システム５が認証を必要とする外部システム５であるか否かを判定する。判定部１１は、送信先の外部システム５が認証を必要とする外部システム５であると判定した場合に、自交換機１０がメッセージの通信経路上の最終交換機であるか否かを判定する。
【００３２】
判定部１１は、自交換機が最終交換機であると判定した場合に、認証情報記憶部３０に記憶されている外部システム５の認証情報を参照して、送信先の外部システム５用の認証情報が認証情報記憶部３０に存在するか否かを判定する。
【００３３】
認証情報取得部１２は、判定部１１によって送信先の外部システム５用の認証情報が存在しないと判定された場合に、メッセージの通信経路上に含まれる他の交換機１０を有する他のメッセージ交換システム１に対して、送信先の外部システム５用の認証情報を保有しているか否かを問い合わせる。認証情報取得部１２は、この問い合わせに応じて他のメッセージ交換システム１から返信される送信先の外部システム５用の認証情報を取得する。認証情報取得部１２は、取得した認証情報をメッセージに付加する。
【００３４】
サブシステム２０は、メッセージ送受信部２１とプロトコル変換部２２とを有する。メッセージ送受信部２１は、送信元の外部システム５から送信先の外部システム５に送信されるメッセージを送受信する。メッセージ送受信部２１は、認証情報取得部１２によってメッセージに認証情報が付加された場合には、そのメッセージを送信先の外部システム５に送信する。
【００３５】
プロトコル変換部２２は、メッセージ交換システム１と外部システム５や他のメッセージ交換システム１との間のプロトコル変換を実行する。各メッセージ交換システムや外部システムのプロトコルは任意である。プロトコル変換部２２を設けることで、メッセージ交換システム１は、複数のプロトコルを使用して複数の外部システム５や他のメッセージ交換システム１と接続することができる。
【００３６】
プロトコル変換部２２は、メッセージ交換システム１内で取り扱うメッセージのデータ構造を、例えば、図９に示すデータ構造に変換する。図９に示すメッセージは、ヘッダとボディとを有する。ヘッダは、例えば、メッセージの送信先となる外部システム５の宛先情報や、メッセージ交換システム用の認証情報を格納する。外部システム５の宛先情報として、例えばメッセージ交換システム１内で有効な外部システム５への内部アドレスを用いることができる。ボディは、例えば、メッセージの本文や、本文に付随するデータを格納する。本文に付随するデータには、データそのものや、データのストリーム等が含まれる。
【００３７】
図２に示す外部システムの構成について説明する。外部システム５は、メッセージ送受信部５１と、メッセージ蓄積部５２とを有する。
【００３８】
メッセージ送受信部５１は、他の外部システム５との間でやり取りするメッセージを送受信する。メッセージ送受信部５１は、例えばメッセージ蓄積部５２にメッセージが格納されると、メッセージ交換システム１を介してメッセージの送信先となる外部システム５にメッセージを送信する。
【００３９】
次に、図面を参照してメッセージ交換システム１の動作について説明する。まず、図１０を参照して、メッセージを受信した際にメッセージ交換システム１で実行される処理について説明する。
【００４０】
最初に、プロトコル変換部２２は、メッセージ送受信部２１によって受信されたメッセージを、図９に示すデータ構造に変換する（ステップＳ１０１）。
【００４１】
続いて、判定部１１は、上記ステップＳ１０１で変換されたメッセージに基づいて、送信先の外部システム５が認証を必要とする外部システム５であるか否かを判定する（ステップＳ１０２）。この判定がＮＯである場合（ステップＳ１０２；ＮＯ）に、メッセージ送受信部２１は、通信経路上の次のノードにメッセージを送信し（ステップＳ１１１）、この動作を終了する。
【００４２】
一方、上記ステップＳ１０２の判定で送信先の外部システム５が認証を必要とする外部システム５であると判定された場合（ステップＳ１０２；ＹＥＳ）に、判定部１１は、自交換機１０がメッセージの通信経路上の最終交換機であるか否かを判定する（ステップＳ１０３）。この判定がＮＯである場合（ステップＳ１０３；ＮＯ）に、メッセージ送受信部２１は、通信経路上の次のノードにメッセージを送信し（ステップＳ１１１）、この動作を終了する。
【００４３】
一方、上記ステップＳ１０３の判定で自交換機１０が最終交換機であると判定された場合（ステップＳ１０３；ＹＥＳ）に、判定部１１は、送信先の外部システム５用の認証情報がマスタ情報３１に存在するか否かを判定する（ステップＳ１０４）。この判定がＹＥＳである場合（ステップＳ１０４；ＹＥＳ）に、認証情報取得部１２は、送信先の外部システム５用の認証情報をマスタ情報３１から取得し（ステップＳ１０９）、取得した認証情報をメッセージに付加する（ステップＳ１１０）。そして、メッセージ送受信部２１は、認証情報が付加されたメッセージを送信先の外部システム５に送信し（ステップＳ１１１）、この動作を終了する。
【００４４】
一方、上記ステップＳ１０４の判定で外部システム５用の認証情報がマスタ情報３１に存在しないと判定された場合（ステップＳ１０４；ＮＯ）に、判定部１１は、送信先の外部システム５用の認証情報がキャッシュ情報３２に存在するか否かを判定する（ステップＳ１０５）。この判定がＹＥＳである場合（ステップＳ１０５；ＹＥＳ）に、認証情報取得部１２は、送信先の外部システム５用の認証情報をキャッシュ情報３２から取得し（ステップＳ１０９）、取得した認証情報をメッセージに付加する（ステップＳ１１０）。そして、メッセージ送受信部２１は、認証情報が付加されたメッセージを送信先の外部システム５に送信し（ステップＳ１１１）、この動作を終了する。
【００４５】
一方、上記ステップＳ１０５の判定で外部システム５用の認証情報がキャッシュ情報３２に存在しないと判定された場合（ステップＳ１０５；ＮＯ）に、認証情報取得部１２は、メッセージの通信経路上に含まれる直前の交換機１０を有する他のメッセージ交換システム１に対して、送信先の外部システム５用の認証情報を保有しているか否かを問い合わせる（ステップＳ１０６）。この問い合わせに応じて他のメッセージ交換システム１において行われる処理については、後述する。
【００４６】
上記ステップＳ１０６の問い合わせの結果、送信先の外部システム５用の認証情報が他のメッセージ交換システム１に保有されていないことが判明した場合（ステップＳ１０７；ＮＯ）には、メッセージの送信を中止し、認証エラーとする（ステップＳ１０８）。そして、この動作を終了する。
【００４７】
一方、上記ステップＳ１０６の問い合わせの結果、送信先の外部システム５用の認証情報が他のメッセージ交換システム１に保有されていることが判明した場合（ステップＳ１０７；ＹＥＳ）に、認証情報取得部１２は、送信先の外部システム５用の認証情報を他のメッセージ交換システム１から取得し（ステップＳ１０９）、取得した認証情報をメッセージに付加する（ステップＳ１１０）。そして、メッセージ送受信部２１は、認証情報が付加されたメッセージを送信先の外部システム５に送信し（ステップＳ１１１）、この動作を終了する。
【００４８】
次に、図１１を参照して、上記ステップＳ１０６の問い合わせに応じて他のメッセージ交換システム１において実行される処理について説明する。
【００４９】
最初に、判定部１１は、問い合わせの対象となる外部システム５用の認証情報がマスタ情報３１に存在するか否かを判定する（ステップＳ２０１）。この判定がＹＥＳである場合（ステップＳ２０１；ＹＥＳ）に、認証情報取得部１２は、問い合わせ対象の外部システム５用の認証情報をマスタ情報３１から取得し、メッセージ送受信部２１は、取得された認証情報を問い合わせ元のメッセージ交換システム１に返信する（ステップＳ２０６）。そして、この動作を終了する。
【００５０】
一方、上記ステップＳ２０１の判定で外部システム５用の認証情報がマスタ情報３１に存在しないと判定された場合（ステップＳ２０１；ＮＯ）に、判定部１１は、問い合わせ対象の外部システム５用の認証情報がキャッシュ情報３２に存在するか否かを判定する（ステップＳ２０２）。この判定がＹＥＳである場合（ステップＳ２０２；ＹＥＳ）に、認証情報取得部１２は、問い合わせ対象の外部システム５用の認証情報をキャッシュ情報３２から取得し、メッセージ送受信部２１は、取得された認証情報を問い合わせ元のメッセージ交換システム１に返信する（ステップＳ２０６）。そして、この動作を終了する。
【００５１】
一方、上記ステップＳ２０２の判定で外部システム５用の認証情報がキャッシュ情報３２に存在しないと判定された場合（ステップＳ２０２；ＮＯ）に、認証情報取得部１２は、メッセージの通信経路上に含まれる直前の交換機１０を有する他のメッセージ交換システム１に対して、問い合わせ対象の外部システム５用の認証情報を保有しているか否かを問い合わせる（ステップＳ２０３）。この問い合わせを受けたメッセージ交換システム１は、上記ステップＳ２０１以降の処理を実行する。
【００５２】
上記ステップＳ２０３の問い合わせの結果、問い合わせ対象の外部システム５用の認証情報が他のメッセージ交換システム１に保有されていないことが判明した場合（ステップＳ２０４；ＮＯ）に、メッセージ送受信部２１は、認証情報が存在しない旨の通知を問い合わせ元のメッセージ交換システム１に返信する（ステップＳ２０５）。そして、この動作を終了する。
【００５３】
一方、上記ステップＳ２０３の問い合わせの結果、問い合わせ対象の外部システム５用の認証情報が他のメッセージ交換システム１に保有されていることが判明した場合（ステップＳ２０４；ＹＥＳ）に、認証情報取得部１２は、問い合わせ対象の外部システム５用の認証情報を他のメッセージ交換システム１から取得し、メッセージ送受信部２１は、取得された認証情報を問い合わせ元のメッセージ交換システム１に返信する（ステップＳ２０６）。そして、この動作を終了する。
【００５４】
図１２を参照して、上述した動作（図１０および図１１参照）を具体的に説明する。例えば、外部システム５“Ｆ”から外部システム５“Ｋ”にメッセージを送信する場合について説明する。この動作例では、メッセージの通信経路として、メッセージ交換システム１“Ａ”→“Ｃ”→“Ｄ”が選択され、かつ、外部システム５“Ｋ”の認証情報が、メッセージ交換システム１“Ａ”のマスタ情報３１にのみ保有されていることを前提として説明する。図１２に示す点線矢印はメッセージの流れを示し、実線矢印は認証情報の要求の流れを示す。
【００５５】
最初に、メッセージ交換システム１“Ａ”および“Ｃ”では、それぞれのシステム１の交換機１０が通信経路上の最終交換機ではない（図１０ステップＳ１０３；ＮＯ）ため、外部システム５“Ｆ”から送信されたメッセージは、メッセージ交換システム１“Ｄ”に送信される。
【００５６】
続いて、メッセージ交換システム１“Ｄ”には、外部システム５“Ｋ”の認証情報が保有されていない（図１０ステップＳ１０５；ＮＯ）ため、メッセージ交換システム１“Ｄ”の認証情報取得部１２は、メッセージ交換システム１“Ｃ”に対して、外部システム５“Ｋ”の認証情報を保有しているか否かを問い合わせる（図１０ステップＳ１０６）。
【００５７】
続いて、メッセージ交換システム１“Ｃ”には、外部システム５“Ｋ”の認証情報が保有されていない（図１１ステップＳ２０２；ＮＯ）ため、メッセージ交換システム１“Ｃ”の認証情報取得部１２は、メッセージ交換システム１“Ａ”に対して、外部システム５“Ｋ”の認証情報を保有しているか否かを問い合わせる（図１１ステップＳ２０３）。
【００５８】
続いて、メッセージ交換システム１“Ａ”には、外部システム５“Ｋ”の認証情報が保有されている（図１１ステップＳ２０１；ＹＥＳ）ため、メッセージ送受信部２１は、取得された認証情報をメッセージ交換システム１“Ｃ”に返信する（図１１ステップＳ２０６）。
【００５９】
続いて、メッセージ交換システム１“Ｃ”のメッセージ送受信部２１は、受信した認証情報をメッセージ交換システム１“Ｄ”に返信する（図１１ステップＳ２０６）。
【００６０】
続いて、メッセージ交換システム１“Ｄ”の認証情報取得部１２は、受信した認証情報をメッセージに付加し（図１０ステップＳ１１０）、メッセージ送受信部２１は、認証情報が付加されたメッセージを外部システム５“Ｋ”に送信する（図１０ステップＳ１１１）。
【００６１】
なお、この動作例では、外部システム５“Ｆ”から外部システム５“Ｋ”にメッセージが送信される場合について説明したが、メッセージの送信先や送信方法は任意に設定することができる。例えば、外部システム５“Ｆ”から外部システム５“Ｉ”にメッセージを一旦送信し、その後、外部システム５“Ｉ”から外部システム５“Ｋ”にメッセージを送信することとしてもよい。
【００６２】
上述したように、実施形態におけるメッセージ交換システム１によれば、自メッセージ交換システム１で保有していない認証情報が必要になった場合には、通信経路上の他メッセージ交換システム１から取得することができる。したがって、外部システム５の認証情報を、いずれか一つのメッセージ交換システム１のマスタ情報に登録すればよいため、認証情報の管理負担を軽減させることができる。
【００６３】
また、メッセージの通信経路上の最終交換機までは、送信先の外部システムの認証情報が不要なため、ネットワーク内を流れるメッセージの容量を抑制することでき、ネットワークの負荷を軽減することができる。また、認証情報を取得する際には、認証情報が取得できるまで通信経路上の交換機を一つずつ遡って問い合わせればよいため、認証情報の取得に要する通信量を抑制することができ、ネットワークの負荷を軽減することができる。
【００６４】
[変形例]
なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
【００６５】
例えば、上述した実施形態では、メッセージ交換システム１が外部システム５の認証を得るために、送信メッセージに認証情報を付与しているが、外部システム５への認証手続きはこれに限定されない。例えば、送信メッセージとは別に、事前に認証情報を外部システム５に送信することとしてもよい。
【００６６】
また、上述した実施形態における外部システムの認証情報に、セッション情報を追加することとしてもよい。これにより、セッション管理が可能となる。具体的には、送信先の外部システム５にメッセージを送信し、認証が完了した段階でセッション情報を保存しておき、次回以降、その外部システム５にアクセスする際にセッション情報の有無を確認し、セッション情報が存在する場合に、認証処理を省略し、保存されているセッション情報を利用してメッセージを送信する。セッション情報が存在しない場合や無効であった場合には、上述した実施形態と同様に、自メッセージ交換システム１の認証情報記憶部３０に認証情報が存在するか否かを判定する処理から実行すればよい。
【００６７】
また、上述した実施形態における外部システムの認証情報に、ステータス情報を追加することとしてもよい。これにより、ログアウト処理を追加することが可能となる。具体的には、送信先の外部システム５にメッセージを送信し、認証が完了した段階でステータス情報に外部システム５にアクセス中であることを記録しておき、例えば返却するメッセージのヘッダ等にログアウトする旨の情報が付与され、かつ、ステータス情報がアクセス中である場合に、メッセージの返却時に、ログアウト処理を実行する。
【００６８】
また、上述した実施形態における外部システムの認証情報に、外部システムへの認証可否情報を追加することとしてもよい。これにより、不正アクセスを防止してセキュリティを向上させることが可能となる。具体的には、外部システム５で認証が行われるたびに、その認証結果を認証可否情報に記録することで、否認の頻度が所定の閾値を超過している場合に、不正アクセスとみなして外部システム５へのアクセスを制限する。否認の頻度を判定するタイミングとしては、例えば、送信先の外部システム５が認証を必要とする外部システムであると判定された後に、行うことができる。
【００６９】
最後に、上記実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明を以下に限定するものではない。
【００７０】
（付記１）  交換機を有するメッセージ交換システムであって、第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信部と、前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定部と、前記第１判定部によって前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定部と、前記第２判定部によって前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得部と、前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信部と、を備えることを特徴とするメッセージ交換システム。
【００７１】
（付記２）  前記認証情報取得部は、前記第２判定部によって前記第２外部システム用の認証情報を保有していないと判定された場合に、前記第２外部システム用の認証情報を保有しているか否かを、前記他のメッセージ交換システムに問い合わせ、当該問い合わせに応じて返信される前記第２外部システム用の認証情報を前記他のメッセージ交換システムから取得する、ことを特徴とする付記１記載のメッセージ交換システム。
【００７２】
（付記３）  外部システムの認証情報を記憶する記憶部を、さらに備え、前記第２判定部は、前記記憶部に記憶されている外部システムの認証情報を参照して、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する、ことを特徴とする付記１または２記載のメッセージ交換システム。
【００７３】
（付記４）  交換機を有するメッセージ交換システムを制御するメッセージ交換方法であって、第１外部システムから一または複数の前記メッセージ交換システムを経由して第２外部システムに送信されるメッセージを受信する受信ステップと、前記交換機が前記メッセージの通信経路上の最終交換機であるか否かを判定する第１判定ステップと、前記第１判定ステップにおいて前記交換機が前記最終交換機であると判定された場合に、前記第２外部システム用の認証情報を自メッセージ交換システムで保有しているか否かを判定する第２判定ステップと、前記第２判定ステップにおいて前記第２外部システム用の認証情報を保有していないと判定された場合に、前記メッセージの通信経路上に含まれる他の交換機を有する他のメッセージ交換システムから、前記第２外部システム用の認証情報を取得する認証情報取得ステップと、前記取得した前記第２外部システム用の認証情報を付加した前記メッセージを前記第２外部システムに送信する送信ステップと、を含むことを特徴とするメッセージ交換方法。
【００７４】
（付記５）  付記４に記載の各ステップをコンピュータに実行させるためのメッセージ交換プログラム。
【符号の説明】
【００７５】
１…メッセージ交換システム、５…外部システム、１０…交換機、１１…判定部、１２…認証情報取得部、２０…サブシステム、２１…メッセージ送受信部、２２…プロトコル変換部、３０…認証情報記憶部、３１…マスタ情報、３２…キャッシュ情報、４０…経路情報記憶部、４１…交換機情報、４２…外部システム情報、５１…メッセージ送受信部、５２…メッセージ蓄積部。
【図１】
0005545127.tif 000002
【図２】
0005545127.tif 000003
【図３】
0005545127.tif 000004
【図４】
0005545127.tif 000005
【図５】
0005545127.tif 000006
【図６】
0005545127.tif 000007
【図７】
0005545127.tif 000008
【図８】
0005545127.tif 000009
【図９】
0005545127.tif 000010
【図１０】
0005545127.tif 000011
【図１１】
0005545127.tif 000012
【図１２】
0005545127.tif 000013