(57)【要約】  ルート解析部（２５）が、通信経路を介してルート探索用制御メッセージをやり取りすることによって、通信経路ごとにメッセージの伝送にかかる伝送時間を計測し、計測した伝送時間に基づいて、各通信経路の優先順位を決定し、サービスアクセス部（２６）が、通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度およびルート解析部（２５）により決定された優先順位に基づいて、複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する。
2008126210.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択プログラムであって、
前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測手順と、
前記伝送時間計測手順により計測された伝送時間に基づいて、各通信経路の優先順位を決定する通信経路優先順位決定手順と、
前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定手順により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択手順と、
をコンピュータに実行させることを特徴とする通信経路選択プログラム。
【請求項２】
前記伝送時間計測手順により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶手順と、
前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶手順により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答手順と、
をさらにコンピュータに実行させることを特徴とする請求項１に記載の通信経路選択プログラム。
【請求項３】
前記伝送時間計測手順は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする請求項１または２に記載の通信経路選択プログラム。
【請求項４】
複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択方法であって、
前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測工程と、
前記伝送時間計測工程により計測された伝送時間に基づいて、各通信経路の優先順位を決定する通信経路優先順位決定工程と、
前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定工程により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択工程と、
を含んだことを特徴とする通信経路選択方法。
【請求項５】
前記伝送時間計測工程により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶工程と、
前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶工程により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答工程と、
をさらに含んだことを特徴とする請求項４に記載の通信経路選択方法。
【請求項６】
前記伝送時間計測工程は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする請求項４または５に記載の通信経路選択方法。
【請求項７】
複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択装置であって、
前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測手段と、
前記伝送時間計測手段により計測された伝送時間に基づいて、各通信経路の優先順位を決定する通信経路優先順位決定手段と、
前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定手段により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択手段と、
を備えたことを特徴とする通信経路選択装置。
【請求項８】
前記伝送時間計測手段により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶手段と、
前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶手段により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答手段と、
をさらに備えたことを特徴とする請求項７に記載の通信経路選択装置。
【請求項９】
前記伝送時間計測手段は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする請求項７または８に記載の通信経路選択装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択プログラム、通信経路選択方法および通信経路選択装置に関し、特に、メッセージの優先度に応じて、最適な通信経路を選択することができる通信経路選択プログラム、通信経路選択方法および通信経路選択装置に関するものである。
【背景技術】
【０００２】
近年、企業の統合や再編の増加にともなって、企業間や企業内のシステムを連携させるための技術として、ＳＯＡ（Service  Oriented  Architecture）が注目を集めている。ＳＯＡは、ソフトウェアの機能を業務処理やプロセスの単位でまとめた「サービス」をネットワーク経由で相互に連携させることによって、システムを構築する技術である。【０００３】
このＳＯＡでは、各サービスを接続するための技術として、ＥＳＢ（Enterprise  Service  Bus）が用いられる。ＥＳＢは、サービス間でやり取りされるメッセージのルーティングを行う機能や、送信先のシステムに合わせてメッセージのプロトコルやデータ形式を変換する機能などを有したバスであり、Ｗｅｂサービスの仕様を導入することによって、サービス間のインタフェースの互換性を実現している。【０００４】
Ｗｅｂサービスでは、Ｗｅｂの仕組みを使ってサービスを読み出せるようにした技術であり、通信プロトコルとしてＳＯＡＰ（Simple  Object  Access  Protocol）が、記述言語としてＷＳＤＬ（Web  Services  Description  Language）が、それぞれ用いられる。ＳＯＡＰは、ＸＭＬ（eXtensible  Markup  Language）ベースのメッセージをやり取りすることによって通信を行う規格であり、ＷＳＤＬは、Ｗｅｂサービスにアクセスするために必要な情報の記述方法を定義したＸＭＬベースの言語である。【０００５】
そして、かかるＥＳＢは、１つのＥＳＢに複数のサービスを接続することも可能であるが、さらに、複数のＥＳＢをネットワーク経由で接続することによって、異なるバスにつながれたサービス同士を連携させることも可能である。複数のＥＳＢを用いた場合、サービス間でやり取りされるメッセージは、複数のＥＳＢを経由して送信元のサービスから送信先のサービスまで転送される。そのため、送信先のサービスが同じであっても、そのサービスに到達するまでにメッセージが経由するＥＳＢの組み合わせは複数考えられる。すなわち、送信先のサービスが同じであっても、メッセージを伝送する通信経路は複数存在することになる。【０００６】
しかし、ＥＳＢ間を接続するネットワークの帯域幅がそれぞれ異なっていた場合には、帯域幅が狭いネットワークに接続されたＥＳＢにメッセージが滞留する可能性がある。図２２は、従来のメッセージ転送を説明するための図である。たとえば、同図に示すように、サービスＳａが接続されたＥＳＢ中継ノード（ＥＳＢの機能を備えた通信装置）Ｅａと、サービスＳｂが接続されたＥＳＢ中継ノードＥｂと、サービスＳｃが接続されたＥＳＢ中継ノードＥｃと、サービスＳｄが接続されたＥＳＢ中継ノードＥｄとが、ネットワークを介して接続されていたとする。【０００７】
ここで、ＥＳＢ中継ノードＥａ−Ｅｂ間、ＥＳＢ中継ノードＥｂ−Ｅｃ間、ならびに、ＥＳＢ中継ノードＥａ−Ｅｄ間のネットワークには、それぞれ同じ帯域幅が設定されており、ＥＳＢ中継ノードＥｃ−Ｅｄ間のネットワークには、他のＥＳＢ中継ノード間の半分の帯域幅が設定されていたとする。【０００８】
このようなネットワークにおいて、たとえば、サービスＳａからサービスＳｃに対してメッセージが送信されると、通常、ＥＳＢ中継ノードＥａは、ＱｏＳ（Quality  of  Service）の情報などに基づいて、ＥＳＢ中継ノードＥｂおよびＥｄに対してそれぞれ均等にメッセージを振り分ける。【０００９】
しかし、中継ノードＥｃおよびＥｄの間に設定されている帯域幅は中継ノードＥｂおよびＥｃの間に設定されている帯域幅の半分であるため、結果として、ＥＳＢ中継ノードＥｄにメッセージが滞留してしまう。【００１０】
このような帯域幅の違いによるボトルネックを解消するため、たとえば、メッセージの伝送に用いられる複数の通信経路で制御メッセージをやり取りすることによって、通信経路ごとにメッセージの伝送にかかる伝送時間を計測し、計測した伝送時間に基づいて、メッセージの伝送に用いる経路を選択する方法が提案されている（たとえば、特許文献１または２参照。）。【００１１】
【特許文献１】特開平６−１２０９４４号公報
【特許文献２】特開平１１−１６８５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、サービス間でやり取りされるメッセージに設定される項目は、当然ながらサービスごとに異なるが、サービスの種類によっては、業務処理における優先度がメッセージに設定される場合がある。【００１３】
しかしながら、上述した従来の技術では、通信経路ごとに計測した伝送時間に基づいて通信経路を選択するのみであるので、優先度にかかわらず、すべてのメッセージが同じ通信経路で伝送されることになる。そのため、従来の技術では、優先度に基づいた業務処理を行うことができないという問題がある。【００１４】
本発明は、上記に鑑みてなされたものであって、メッセージの優先度に応じて、最適な通信経路を選択することができる通信経路選択プログラム、通信経路選択方法および通信経路選択装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、本発明は、複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択プログラムであって、前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測手順と、前記伝送時間計測手順により計測された伝送時間に基づいて、前記通信経路の優先順位を決定する通信経路優先順位決定手順と、前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定手順により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択手順と、をコンピュータに実行させることを特徴とする。【００１６】
また、本発明は、上記の発明において、前記伝送時間計測手順により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶手順と、前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶手順により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答手順と、をさらにコンピュータに実行させることを特徴とする。【００１７】
また、本発明は、上記の発明において、前記伝送時間計測手順は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする。【００１８】
また、本発明は、複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択方法であって、前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測工程と、前記伝送時間計測工程により計測された伝送時間に基づいて、各通信経路の優先順位を決定する通信経路優先順位決定工程と、前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定工程により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択工程と、を含んだことを特徴とする。【００１９】
また、本発明は、上記の発明において、前記伝送時間計測工程により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶工程と、前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶工程により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答工程と、をさらに含んだことを特徴とする。【００２０】
また、本発明は、前記伝送時間計測工程は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする。【００２１】
また、本発明は、複数の通信経路で接続された通信装置の間でメッセージがやり取りされる際に当該メッセージの伝送に用いられる通信経路を選択する通信経路選択装置であって、前記通信経路を介して伝送時間計測用メッセージをやり取りすることによって、前記通信経路ごとにメッセージの伝送にかかる伝送時間を計測する伝送時間計測手段と、前記伝送時間計測手段により計測された伝送時間に基づいて、各通信経路の優先順位を決定する通信経路優先順位決定手段と、前記通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および前記通信経路優先順位決定手段により決定された優先順位に基づいて、前記複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択する通信経路選択手段と、を備えたことを特徴とする。【００２２】
また、本発明は、上記の発明において、前記伝送時間計測手段により計測された伝送時間を含む経路情報を前記通信経路ごとに記憶手段に記憶させる経路情報記憶手段と、前記伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が前記経路情報記憶手段により記憶された経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを前記他の通信装置に対して返送する代理応答手段と、をさらに備えたことを特徴とする。【００２３】
また、本発明は、上記の発明において、前記伝送時間計測手段は、優先度が設定された伝送時間計測用メッセージを、前記通信経路を介してやり取りすることによって、前記通信経路、および、前記メッセージの優先度ごとに前記伝送時間を計測することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、通信経路を介して伝送時間計測用メッセージをやり取りすることによって、通信経路ごとにメッセージの伝送にかかる伝送時間を計測し、計測した伝送時間に基づいて、各通信経路の優先順位を決定し、通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度および決定した優先順位に基づいて、複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択するよう構成したので、メッセージの優先度に応じて、最適な通信経路を選択することができるという効果を奏する。【００２５】
また、本発明によれば、計測した伝送時間を含む経路情報を通信経路ごとに記憶手段に記憶させ、伝送時間計測用メッセージを他の通信装置から受信した場合に、当該伝送時間計測用メッセージの宛先に設定されている通信装置までの通信経路に係る経路情報が記憶手段に記憶されている経路情報に含まれているか否かを判定し、含まれていた場合には、当該経路情報を含んだ伝送時間計測用メッセージを、送信元の通信装置に対して返送するよう構成したので、伝送時間計測用メッセージの伝播範囲を縮小することが可能になり、ネットワークの負荷を軽減することができるという効果を奏する。【００２６】
また、本発明によれば、優先度が設定された伝送時間計測用メッセージを、通信経路を介してやり取りすることによって、通信経路、および、メッセージの優先度ごとに伝送時間を計測するよう構成したので、メッセージの優先度に応じて、より最適な通信経路を選択することができるようになるという効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】図１は、本実施例に係る分散システムの構成を示す図である。
【図２】図２は、本実施例に係る通信経路選択方法の概念を説明するための図（１）である。
【図３】図３は、本実施例に係る通信経路選択方法の概念を説明するための図（２）である。
【図４】図４は、本実施例に係るＥＳＢ中継ノードの構成を示す機能ブロック図である。
【図５】図５は、設定情報記憶部により記憶される設定情報の一例を示す図である。
【図６】図６は、Ｇｏｏｇｌｅ  Ｓｉｔｅｍａｐのメッセージの一例を示す図である。
【図７】図７は、ＯＡＳＩＳ  ＰＰＳ  パート１「コア要素」仕様のメッセージの一例を示す図である。
【図８】図８は、サービス情報テーブルにより記憶されるサービス情報の一例を示す図である。
【図９】図９は、優先度制御ポリシーテーブルに記憶される優先度制御ポリシー情報の一例を示す図である。
【図１０】図１０は、ルート探索処理において用いられるルート探索用制御メッセージの一例を示す図である。
【図１１】図１１は、転送途中で代理応答が行われた場合のルート探索用制御メッセージの一例を示す図（１）である。
【図１２】図１２は、転送途中で代理応答が行われた場合のルート探索用制御メッセージの一例を示す図（２）である。
【図１３】図１３は、ルート制御テーブルにより記憶されるルート制御情報の一例を示す図である。
【図１４】図１４は、帯域制御テーブルにより記憶される帯域制御情報の一例を示す図である。
【図１５】図１５は、サービス管理部によるサービス情報作成処理の処理手順を示すフローチャートである。
【図１６】図１６は、ルート解析部によるルート探索処理の処理手順を示すフローチャートである。
【図１７】図１７は、ルート解析部により行われる帯域制御情報更新処理の処理手順を示すフローチャートである。
【図１８】図１８は、サービスアクセス部によるメッセージ転送経路選択処理の処理手順を示すフローチャート（１）である。
【図１９】図１９は、サービスアクセス部によるメッセージ転送経路選択処理の処理手順を示すフローチャート（２）である。
【図２０】図２０は、サービスアクセス部によるメッセージ転送経路選択処理の処理手順を示すフローチャート（３）である。
【図２１】図２１は、本実施例に係る通信経路選択プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【図２２】図２２は、従来のメッセージ転送を説明するための図である。
【符号の説明】
【００２８】
１０1〜１０4    ＡＰサーバ
２０1〜２０4    ＥＳＢ中継ノード
２１    設定情報記憶部
２２    サービスレジストリデータベース
２２ａ    サービス情報テーブル
２２ｂ    優先度制御ポリシーテーブル
２２ｃ    ルート制御テーブル
２２ｄ    帯域制御テーブル
２３    ＥＳＢ（Enterprise  Service  Bus）機能部
２４    サービス管理部
２５    ルート解析部
２６    サービスアクセス部
３０    ネットワーク
４０    ＵＤＤＩサーバ
５０    ＷＳＤＬ（Web  Services  Description  Language）情報
１００    コンピュータ
１１０    ＲＡＭ（Random  Access  Memory）
１１１    通信経路選択プログラム
１２０    ＣＰＵ（Central  Processing  Unit）
１２１    通信経路選択プロセス
１３０    ＨＤＤ（Hard  Disk  Drive）
１４０    ＬＡＮ（Local  Area  Network）インタフェース
１５０    入出力インタフェース
１６０    ＤＶＤ（Digital  Versatile  Disk）ドライブ
【発明を実施するための最良の形態】
【００２９】
以下に、本発明に係る通信経路選択プログラム、通信経路選択方法および通信経路選択装置の実施例を図面に基づいて詳細に説明する。なお、本実施例では、ＳＯＡにより整理された分散システムに本発明を適用した場合について説明する。なお、この実施例により、本発明が限定されるわけではない。
【実施例】
【００３０】
まず、本実施例に係る分散システムの構成について説明する。図１は、本実施例に係る分散システムの構成を示す図である。同図に示すように、この分散システムは、サービスＳａを提供するシステムＡと、サービスＳｂを提供するシステムＢと、サービスＳｃを提供するシステムＣと、サービスＳｄを提供するシステムＤとから構成されている。【００３１】
システムＡは、所定のアプリケーションによって実現されたサービスＳａと、サービス間でやりとりされるメッセージを転送するＥＳＢ中継ノードＥａと、サービスディレクトリ情報Ｄａとをネットワーク経由で接続して構成されている。【００３２】
ここで、サービスディレクトリ情報Ｄａとは、ネットワーク経由で接続可能な他のサービス（ここでは、サービスＳｂ、ＳｃおよびＳｄ）にアクセスするために必要なサービス名やＵＲＩ（Uniform  Resource  Identifier）などをサービスごとに設定した情報である。サービスディレクトリ情報Ｄａに含まれる各サービス情報は、たとえば、ＷＳＤＬで記述された情報であり、サービスＳａが他のサービスを呼び出す際に用いられる。【００３３】
同様に、システムＢは、サービスＳｂと、ＥＳＢ中継ノードＥｂと、サービスディレクトリ情報Ｄｂとを接続して構成され、システムＣは、サービスＳｃと、ＥＳＢ中継ノードＥｃと、サービスディレクトリ情報Ｄｃとを接続して構成され、システムＤは、サービスＳｄと、ＥＳＢ中継ノードＥｄと、サービスディレクトリ情報Ｄｄとを接続して構成されている。【００３４】
そして、各システムは、それぞれのＥＳＢ中継ノードを中継点として、ネットワーク経由で接続されている。具体的には、ＥＳＢ中継ノードＥａとＥｂとが、ＥＳＢ中継ノードＥｂとＥｃとが、ＥＳＢ中継ノードＥｃとＥｄとが、ＥＳＢ中継ノードＥａとＥｄとが、それぞれネットワーク経由で接続されている。【００３５】
これにより、たとえば、サービスＳａがサービスＳｃにメッセージを送信する場合には、まず、サービスＳａが、ＥＳＢ中継ノードＥａにメッセージを送信し、ＥＳＢ中継ノードＥａが、このメッセージをＥＳＢ中継ノードＥｂまたはＥｄに転送する。そして、メッセージを転送されたＥＳＢ中継ノードＥｂまたはＥｄが、当該メッセージをＥＳＢ中継ノードＥｃに転送し、ＥＳＢ中継ノードＥｃが、当該メッセージをサービスＳｃに転送する。【００３６】
すなわち、サービスＳａからサービスＳｃにメッセージが送信される場合には、ＥＳＢ中継ノードＥａ、ＥｂおよびＥｃを順に経由する通信経路と、ＥＳＢ中継ノードＥａ、ＥｄおよびＥｃを順に経由する通信経路のいずれかを用いることになる。【００３７】
次に、本実施例に係る通信経路選択方法の概念について説明する。図２および図３は、本実施例に係る通信経路選択方法の概念を説明するための図（１）および（２）である。これらの図は、図１に示した分散システムについて、説明の便宜上、システムＡ〜Ｄと、サービスディレクトリ情報Ｄａ〜Ｄｄとを省略したものである。【００３８】
まず、本実施例に係る通信経路選択方法では、各ＥＳＢ中継ノードが、自ノードと同じシステム内に収容されているサービス以外のすべてのサービスについて、それぞれのサービスに到達可能な通信経路ごとに、メッセージの伝送にかかる伝送時間を計測する。この処理を、以下では「ルート探索処理」と呼ぶ。【００３９】
具体的には、各ＥＳＢ中継ノードは、自ノードと同じシステム内に収容されているサービス以外の各サービスを宛先として、それぞれのサービスに到達可能なすべての通信経路に対して、定期的に制御メッセージを送信する。この制御メッセージを送信することによって、各ＥＳＢ中継ノードは、通信経路ごとにメッセージの伝送時間を算出するためのルート情報を収集する。ここで用いる制御メッセージを、以下では「ルート探索用制御メッセージ」と呼ぶ。なお、このルート探索用制御メッセージは、請求の範囲に記載している「伝送時間計測用メッセージ」に対応する。【００４０】
そして、ＥＳＢ中継ノードは、収集したルート情報に基づいて、通信経路ごとにメッセージの伝送時間を算出し、伝送時間が短い順に、各通信経路の優先順位を決定する。ここで設定される通信経路ごとの優先順位を、以下では「ルート優先度」と呼ぶ。【００４１】
以下、上述したルート探索処理について、図２を用いてさらに具体的に説明する。ここでは、ＥＳＢ中継ノードＥａがサービスＳｃを宛先としてルート探索用制御メッセージを送信する場合を考える。この場合、メッセージを伝送する通信経路としては、ＥＳＢ中継ノードＥａ、ＥｂおよびＥｃを順に経由する通信経路（同図に示すＲ１）と、ＥＳＢ中継ノードＥａ、ＥｄおよびＥｃを順に経由する通信経路（同図に示すＲ２）の、２つの通信経路がある。【００４２】
まず、ＥＳＢ中継ノードＥａは、サービスＳｃのＵＲＩ宛にルート探索用制御メッセージ（要求）を送信する。この時、ＥＳＢ中継ノードＥａは、自ノードに接続されているすべてのＥＳＢ中継ノードに対して、ルート探索用制御メッセージ（要求）を送信する。具体的には、ＥＳＢ中継ノードＥａは、ＥＳＢ中継ノードＥｂおよびＥｄに対して、それぞれ、ルート探索用制御メッセージ（要求）を送信する。【００４３】
ＥＳＢ中継ノードＥｂは、サービスＳｃのＵＲＩ宛のルート探索用制御メッセージ（要求）を受信すると、宛先のサービスが、自ノードと同じシステム内に収容されているサービスではないので、受信したメッセージにＥＳＢ中継ノードＥｂを示す情報とタイムスタンプとを挿入し、そのメッセージを、当該メッセージを受信したインタフェース以外のインタフェースを介して転送する。具体的には、ＥＳＢ中継ノードＥｂは、ＥＳＢ中継ノードＥｃ宛てにルート探索用制御メッセージ（要求）を転送する。【００４４】
一方、ＥＳＢ中継ノードＥｄも、サービスＳｃのＵＲＩ宛のルート探索用制御メッセージ（要求）を受信すると、ＥＳＢ中継ノードＥｂと同様の処理を行う。具体的には、ＥＳＢ中継ノードＥｄは、ＥＳＢ中継ノードＥｃ宛てにルート探索用制御メッセージ（要求）を転送する。【００４５】
ＥＳＢ中継ノードＥｃは、ＥＳＢ中継ノードＥｂから転送されたルート探索用制御メッセージ（要求）を受信すると、宛先のサービスが、自ノードと同じシステム内に収容されているサービスであるので、受信したメッセージにＥＳＢ中継ノードＥｃを示す情報とタイムスタンプとを挿入し、さらに、メッセージの宛先をＥＳＢ中継ノードＥａに、メッセージの種類をルート探索用制御メッセージ（応答）にそれぞれ変更し、そのメッセージを、当該メッセージを受信したインタフェースを介して返送する。具体的には、ＥＳＢ中継ノードＥｃは、ＥＳＢ中継ノードＥｂ宛てにルート探索用制御メッセージ（応答）を返送する。【００４６】
さらに、ＥＳＢ中継ノードＥｃは、ＥＳＢ中継ノードＥｄから転送されたルート探索用制御メッセージ（要求）を受信すると、ＥＳＢ中継ノードＥｂから転送されたルート探索用制御メッセージ（要求）を受信した場合と同様の処理を行う。具体的には、ＥＳＢ中継ノードＥｃは、ＥＳＢ中継ノードＥｄ宛てにルート探索用制御メッセージ（応答）を返送する。【００４７】
ＥＳＢ中継ノードＥｂは、ＥＳＢ中継ノードＥｃから転送されたＥＳＢ中継ノードＥａ宛てのルート探索用制御メッセージ（応答）を受信すると、受信したメッセージの宛先が自ノードではないので、当該メッセージにＥＳＢ中継ノードＥｂを示す情報とタイムスタンプとを挿入し、そのメッセージを、ルート探索用制御メッセージ（要求）を受信した際のインタフェースを介して転送する。具体的には、ＥＳＢ中継ノードＥｂは、ＥＳＢ中継ノードＥａ宛てにルート探索用制御メッセージ（応答）を転送する。【００４８】
一方、ＥＳＢ中継ノードＥｄも、ＥＳＢ中継ノードＥｃから転送されたＥＳＢ中継ノードＥａ宛てのルート探索用制御メッセージ（応答）を受信すると、ＥＳＢ中継ノードＥｂと同様の処理を行う。具体的には、ＥＳＢ中継ノードＥｄは、ＥＳＢ中継ノードＥａ宛てにルート探索用制御メッセージ（応答）を転送する。【００４９】
ＥＳＢ中継ノードＥａは、ＥＳＢ中継ノードＥｂおよびＥｄから、ＥＳＢ中継ノードＥａ宛てのルート探索用制御メッセージ（応答）をそれぞれ受信すると、受信したメッセージに含まれる情報に基づいて、それぞれのメッセージが転送された通信経路におけるメッセージの伝送時間を算出する。そして、ＥＳＢ中継ノードＥａは、算出した伝送時間に基づいて、それぞれの通信経路にルート優先度を設定する。【００５０】
各ＥＳＢ中継ノードは、自ノードと同じシステム内に収容されているサービス以外のすべてのサービスに到達するすべての通信経路について、伝送時間およびルート優先度を保持しておき、上述したルート探索処理を定期的に行い、そのつど、ルート探索用制御メッセージ（応答）に含まれる情報に基づいて、通信経路ごとの伝送時間およびルート優先度を更新する。これにより、通信経路ごとの伝送時間やルート優先度は、ネットワークやＥＳＢ中継ノードの状態に合わせて動的に変更されることになる。【００５１】
そして、各ＥＳＢ中継ノードは、サービス間でやり取りされるメッセージを受信した場合には、そのメッセージの優先度を確認し、優先度が高い場合には、ルート探索処理によって設定されたルート優先度が高い通信経路で当該メッセージを転送し、優先度が低い場合には、ルート優先度が低い通信経路で当該メッセージを転送するように、当該メッセージの伝送に用いる通信経路を選択する。【００５２】
このように、本実施例に係る通信経路選択方法では、メッセージの優先度に応じて、最適な通信経路を選択することができるようにしている。【００５３】
なお、ここでは、各ＥＳＢ中継ノードが通信経路ごとに１つのルート探索用制御メッセージを送信する場合について説明したが、たとえば、ルート探索用制御メッセージに優先度を設定し、１つの通信経路に対して優先度が異なる複数のルート探索用制御メッセージを送信することによって、メッセージの優先度に応じた伝送時間を計測するようにしてもよい。これにより、メッセージの優先度に応じて、より最適な通信経路を選択することができるようになる。【００５４】
ところで、上述したルート探索処理においては、各ＥＳＢ中継ノードから定期的に多数のルート探索用制御メッセージが送信されるため、ＥＳＢ中継ノード間を接続するネットワークの負荷が上昇すると考えられる。【００５５】
そこで、本実施例に係る通信経路選択方法では、ＥＳＢ中継ノードが、ルート探索処理によって計測された伝送時間を含むルート情報を通信経路ごとに記憶しておき、ルート探索用制御メッセージ（要求）を受信した場合に、そのメッセージの宛先に設定されているサービスまでの通信経路に係るルート情報が、記憶しているかルート情報に含まれているか否かを判定し、含まれていた場合には、そのルート情報を含んだルート探索用制御メッセージ（応答）を代理で返送することによって、宛先として設定されていたサービスへのルート探索用制御メッセージ（要求）の転送を省略し、ネットワークの負荷を軽減することができるようにしている。【００５６】
以下、かかる代理応答について、図３を用いて具体的に説明する。なお、ここでは、図２に示した例と同様に、ＥＳＢ中継ノードＥａがサービスＳｃを宛先としてルート探索用制御メッセージを送信する場合を想定し、さらに、ＥＳＢ中継ノードＥｂおよびＥｄが、それぞれ、サービスＳｃまでのルート情報をすでに保持していた場合を考える。【００５７】
まず、ＥＳＢ中継ノードＥａは、サービスＳｃのＵＲＩ（Uniform  Resource  Identifier）宛にルート探索用制御メッセージ（要求）を送信する。この時、ＥＳＢ中継ノードＥａは、自ノードに接続されているすべてのＥＳＢ中継ノードに対して、ルート探索用制御メッセージ（要求）を送信する。具体的には、ＥＳＢ中継ノードＥａは、ＥＳＢ中継ノードＥｂおよびＥｄに対して、それぞれ、ルート探索用制御メッセージ（要求）を送信する。【００５８】
ＥＳＢ中継ノードＥｂは、サービスＳｃのＵＲＩ宛のルート探索用制御メッセージ（要求）を受信すると、宛先のサービスが、自ノードと同じシステム内に収容されているサービスではなく、かつ、サービスＳｃまでの通信経路のルート情報を保持しているので、受信したメッセージにＥＳＢ中継ノードＥｂを示す情報およびタイムスタンプに加えて、サービスＳｃまでの通信経路のルート情報を挿入し、さらに、メッセージの宛先をＥＳＢ中継ノードＥａに、メッセージの種類をルート探索用制御メッセージ（応答）にそれぞれ変更し、そのメッセージを、当該メッセージを受信したインタフェースを介して返送する。具体的には、ＥＳＢ中継ノードＥｂは、ＥＳＢ中継ノードＥａ宛てにルート探索用制御メッセージ（応答）を返送する（同図の（１）参照）。【００５９】
一方、ＥＳＢ中継ノードＥｄも、ＥＳＢ中継ノードＥｂと同様の処理を行う。具体的には、ＥＳＢ中継ノードＥｄは、ＥＳＢ中継ノードＥａ宛てにルート探索用制御メッセージ（応答）を返送する（同図の（２）参照）。【００６０】
ＥＳＢ中継ノードＥａは、ＥＳＢ中継ノードＥｂおよびＥｄから、ＥＳＢ中継ノードＥａ宛てのルート探索用制御メッセージ（応答）をそれぞれ受信すると、代理応答がなかった場合と同様に、受信したメッセージに含まれる情報に基づいて、それぞれのメッセージが伝送された通信経路におけるメッセージの伝送時間を算出する。そして、ＥＳＢ中継ノードＥａは、算出した伝送時間に基づいて、それぞれの通信経路にルート優先度を設定する。【００６１】
このように、本実施例に係る通信経路選択方法では、ルート探索用制御メッセージの伝播範囲を縮小し、ネットワークの負荷を軽減することができるようにしている。【００６２】
次に、本実施例に係るＥＳＢ中継ノードの構成について説明する。図４は、本実施例に係るＥＳＢ中継ノードの構成を示す機能ブロック図である。同図は、図１に示したシステムＡ〜Ｄの構成を示しており、各システムはネットワーク３０を介して接続され、ＥＳＢ中継ノード２０1〜２０4は、図１に示したＥＳＢ中継ノードＥａ〜Ｅｄにそれぞれ対応している。【００６３】
また、図４においては、サービスＳａ〜Ｓｄをそれぞれ実現するアプリケーションを実行するＡＰサーバ１０1〜１０4と、インターネット上や所定のネットワーク上に公開されているＷｅｂサービスの検索・照会を可能にするＵＤＤＩ（Universal  Description,  Discovery,  and  Integration）サービスを提供するＵＤＤＩサーバ４０と、その他のＷｅｂサービスを示すＷＳＤＬ情報５０も示している。【００６４】
以下、ＥＳＢ中継ノード２０1〜２０4の構成について説明するが、各ＥＳＢ中継ノードはいずれも同様の構成を有するので、ここではＥＳＢ中継ノード２０1を例にとって説明する。【００６５】
ＥＳＢ中継ノード２０1は、ＥＳＢ機能を備えた通信装置であり、同図に示すように、設定情報記憶部２１と、サービスレジストリデータベース２２と、ＥＳＢ機能部２３と、サービス管理部２４と、ルート解析部２５と、サービスアクセス部２６とを有する。【００６６】
設定情報記憶部２１は、ルート探索処理を行うための各種設定値を含んだ設定情報を記憶する記憶部である。図５は、設定情報記憶部２１により記憶される設定情報の一例を示す図である。同図に示すように、設定情報記憶部２１により記憶される設定情報には、サービスディレクトリ情報定義（プライベートＵＤＤＩ）と、サービスディレクトリ情報定義（ＷＳＤＬ）と、サービスディレクトリ情報定義（ユーザ指定）と、システム内サービス情報定義（ユーザ指定）と、優先度制御情報定義とが含まれる。これらの設定情報は、すべて、ユーザによってあらかじめ指定される。以下、各設定情報についてひとつずつ説明する。【００６７】
サービスディレクトリ情報定義（プライベートＵＤＤＩ）は、ＵＤＤＩサーバ４０の宛先（ＵｄｄｉＬｏｃａｔｉｏｎ）を定義した情報であり、サービスディレクトリ情報定義（ＷＳＤＬ）は、各種ＷｅｂサービスにアクセスするためのＷＳＤＬ情報５０の格納場所（ＷｓｄｌＬｏｃａｔｉｏｎ）を定義した情報である。【００６８】
サービスディレクトリ情報定義（ユーザ指定）は、ユーザにより指定されたサービスのサービス名（ＳａｒｖｉｃｅＮａｍｅ）と、アドレス（ＳｅｒｖｉｄｅＡｄｄｒｅｓ）と、ＸＭＬスキーマの格納場所（ＳｃｈｅｍａＬｏｃａｔｉｏｎ）とをそれぞれ定義した情報であり、システム内サービス情報（ユーザ指定）は、ＥＳＢ中継ノード２０1と同じシステム内に収容されているサービスのサービス名（ＳｅｒｖｉｃｅＮａｍｅ）、具体的には、サービスＳａのサービス名を定義した情報である。【００６９】
これらサービスディレクトリ情報定義（プライベートＵＤＤＩ）、サービスディレクトリ情報定義（ＷＳＤＬ）、サービスディレクトリ情報定義（ユーザ指定）およびシステム内サービス情報（ユーザ指定）に基づいて、各種サービスにアクセスすることにより、ＥＳＢ中継ノード２０1からアクセス可能なサービスのサービス情報（サービス名やサービスアドレス（サービスの場所を示すＵＲＬ）など）を収集することができる。【００７０】
優先度制御情報定義は、各種サービスごとに、サービス名（ＳｅｒｖｉｃｅＮａｍｅ）と、優先度パラメタ（ＰｒｉｏｒｉｔｙＰａｒａｍ）と、優先度制御タイプ（ＳｃｈｅｄｕｌｅＴｙｐｅ）とをそれぞれ定義した情報である。【００７１】
ここで、優先度パラメタは、サービス間でやり取りされるメッセージの中から、メッセージの優先度を判定することが可能な項目を抽出するためのキーワードとなる情報であり、優先度制御タイプは、優先度パラメタに基づいてメッセージから抽出された項目のパラメタ値に応じてメッセージの優先度を決定するための情報である。【００７２】
これら優先度パラメタおよび優先度制御タイプについて、図５を用いて、具体的に説明すると、たとえば、同図の（１）は、サービスＳｅ（図１には図示せず）の優先度制御情報定義を示しており、サービス名には「ＳｅｒｖｉｃｅＥ」が、優先度パラメタには「ｎｏｎｅ」が、優先度制御タイプには「ＢｅｓｔＥｆｆｏｒｔ」が、それぞれ設定されている。【００７３】
この例のように優先度パラメタが「ｎｏｎｅ」である場合は、メッセージは優先度を考慮せずに転送される。また、優先度制御タイプが「ＢｅｓｔＥｆｆｏｒｔ」である場合は、メッセージは優先度にかかわらず最も伝送時間が短い通信経路で転送される。【００７４】
また、たとえば、同図の（２）は、サービスＳｂの優先度制御情報定義を示しており、サービス名には「ＳｅｒｖｉｃｅＢ」が、優先度パラメタには「ｐｒｉｏｒｉｔｙ」が、それぞれ設定されている。【００７５】
さらに、優先度制御タイプには「Ｈｉｇｈ」、「Ｎｏｒｍａｌ」および「Ｌｏｗ」の３つの優先度が設定されており、各優先度には、優先度パラメタに基づいてメッセージから抽出されるパラメタ値の範囲が対応付けられている。【００７６】
具体的には、「Ｈｉｇｈ」には、パラメタ値の範囲として「１」が対応付けられており、「Ｎｏｒｍａｌ」には、「２−１００（２から１００までの間を示す）」が対応付けられており、「Ｌｏｗ」には、「１０１−１０００（１０１から１０００までの間を示す）」が対応付けられている。【００７７】
ここで、同図の（２）に示した優先度制御情報定義に基づいて、メッセージの優先度を決定する手順を、Ｇｏｏｇｌｅ社が提供しているサービスの１つである「Ｇｏｏｇｌｅ  Ｓｉｔｅｍａｐ」のメッセージを例にあげて、具体的に説明する。【００７８】
図６は、Ｇｏｏｇｌｅ  Ｓｉｔｅｍａｐのメッセージの一例を示す図である。同図の（１）に示すように、Ｇｏｏｇｌｅ  Ｓｉｔｅｍａｐのメッセージには、メッセージに記載されたＵＲＬの優先度を設定するための「ｐｒｉｏｒｉｔｙ」タグが記述される。【００７９】
たとえば、同図に示すメッセージについては、優先度パラメタの「ｐｒｉｏｒｉｔｙ」に基づいて、メッセージに含まれる「ｐｒｉｏｒｉｔｙ」タグの情報（同図の（１）参照）が抽出され、さらに、抽出された情報に含まれるパラメタ値が「１．０００」であるので、結果として、優先度は「Ｈｉｇｈ」となる。【００８０】
また、図７は、ＯＡＳＩＳ  ＰＰＳ  パート１「コア要素」仕様のメッセージの一例を示す図である。このメッセージは、ＸＭＬ関連の標準化団体ＯＡＳＩＳ（Organization  for  the  Advancement  of  Structured  Information  Standards）の技術委員会であるＯＡＳＩＳ  ＰＰＳ（OASIS  Production  Planning  and  Scheduling（PPS）Technical  Committee）によって定義されているＸＭＬスキーマを用いたメッセージである。【００８１】
同図の（１）に示すように、ＯＡＳＩＳ  ＰＰＳによって定義されたＸＭＬスキーマのメッセージについても、メッセージの優先度を示す項目として、「Ｐｒｉｏｒｉｔｙ」が記述され、そのパラメタ値が設定される（同図に示す「ｍｉｎＯｃｃｕｒｓ＝”０”」および「ｍａｘＯｃｃｕｒｅｓ＝”ｕｎｂｏｕｎｄｅｄ（無制限）」）。そのため、このメッセージについても、このパラメタ値に基づいて、優先度制御情報定義の優先度制御タイプを設定することによって、同様に優先度を決定することが可能である。【００８２】
図４にもどって、サービスレジストリデータベース２２は、ルート探索処理や通信経路の選択を行うための情報を記憶した各種テーブルを格納するデータベースであり、サービス情報テーブル２２ａと、優先度制御ポリシーテーブル２２ｂと、ルート制御テーブル２２ｃと、帯域制御テーブル２２ｄとを格納する。以下、これらのテーブルについてひとつずつ説明する。【００８３】
サービス情報テーブル２２ａは、ＥＳＢ中継ノード２０1からアクセス可能なサービスを示すサービス情報をサービスごとに記憶するテーブルである。図８は、サービス情報テーブル２２ａにより記憶されるサービス情報の一例を示す図である。同図に示すように、サービス情報には、「サービス名」、「サービスアドレス」および「優先度制御ポリシー」などが含まれる。【００８４】
このサービス情報は、後述するサービス管理部２４により、設定情報記憶部２１に記憶されている設定情報に基づいて作成される。具体的には、サービス名およびサービスアドレスには、設定情報に含まれるサービスディレクトリ情報定義（プライベートＵＤＤＩ）、サービスディレクトリ情報定義（ＷＳＤＬ）、サービスディレクトリ情報定義（ユーザ指定）およびシステム内サービス情報定義（ユーザ指定）に基づいて収集されたサービス情報に含まれるサービス名およびサービスアドレスが設定される。【００８５】
また、優先度制御ポリシーには、各サービス情報を、後述する優先度制御ポリシーテーブル２２ｂに記憶される優先度制御ポリシー情報と対応付けるためのポインタ情報が設定される。【００８６】
優先度制御ポリシーテーブル２２ｂは、優先度パラメタや優先度制御タイプなどを含む優先度制御ポリシー情報を優先度制御タイプの組み合わせごとに記憶する記憶部である。図９は、優先度制御ポリシーテーブル２２ｂに記憶される優先度制御ポリシー情報の一例を示す図である。同図に示すように、優先度制御ポリシー情報には、「優先度パラメタ」、「優先度制御タイプ」、「優先度」および「優先度パラメタ値」が含まれる。【００８７】
この優先度制御ポリシー情報は、後述するサービス管理部２４により、設定情報記憶部２１に記憶されている設定情報に基づいて作成される。具体的には、優先度パラメタ、優先度制御タイプおよび優先度パラメタ値には、設定情報に含まれるサービスごとの優先度制御情報定義に基づいて、優先度制御タイプの組み合わせ（「Ｈｉｇｈ」と「Ｎｏｒｍａｌ」と「Ｌｏｗ」や、「Ｈｉｇｈ」と「Ｎｏｒｍａｌ」など）ごとに作成される。【００８８】
そして、生成された優先度制御ポリシー情報は、前述したサービス情報テーブル２２ａに記憶されるサービス情報の優先度制御ポリシーによって、サービス情報テーブル２２ａに記憶されたサービス情報に対応付けられる。【００８９】
ルート制御テーブル２２ｃは、メッセージを転送する通信経路やその優先度に関する情報を含んだルート制御情報を通信経路ごとに記憶するテーブルである。このルート制御テーブル２２ｃに記憶されるルート制御情報は、後述するルート解析部２５により、定期的にルート探索処理が行われるたびに、ルート探索用制御メッセージ、および、サービス情報テーブル２２ａに記憶されているサービス情報に基づいて、随時、更新される。【００９０】
ここで、ルート制御情報について具体的に説明する前に、ルート探索処理において用いられるルート探索用制御メッセージについて説明しておく。図１０は、ルート探索処理において用いられるルート探索用制御メッセージの一例を示す図であり、図１１および１２は、転送途中で代理応答が行われた場合のルート探索用制御メッセージの一例を示す図（１）および（２）である。【００９１】
図１０に示すように、ルート探索用制御メッセージには、ルート探索制御プリミティブタイプと、宛先サービスＵＲＩと、送信元中継ノードＵＲＩと、制御データ送信時間と、中継ノード数と、中継ノード番号と、中継ノード名と、中継ノードのＵＲＩと、制御データ受信時間とが含まれる。また、図１１および１２に示すように、転送途中で代理応答が行われた場合のルート探索用制御メッセージには、さらに、代理中継ノード名と、代理中継ノードのＵＲＩと、制御データ伝送時間とが含まれる。以下、ルート探索用制御メッセージに含まれる各項目についてひとつずつ説明する。【００９２】
ルート探索制御プリミティブタイプは、ルート探索用制御メッセージが要求メッセージであるか応答メッセージであるかを示す情報が設定される項目であり、宛先サービスＵＲＩは、宛先サービスのアドレスが設定される項目である。【００９３】
送信元中継ノードＵＲＩは、ルート探索用制御メッセージを送信したＥＳＢ中継ノードのアドレスが設定される項目であり、制御データ送信時間は、ＥＳＢ中継ノードがルート探索用制御メッセージを送信した時間が設定される項目であり、中継ノード数は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノード数が設定される項目である。【００９４】
中継ノード番号は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードの通番が設定される項目であり、中継ノード名は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードの名前が設定される項目である。【００９５】
中継ノードのＵＲＩは、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードのアドレスが設定される項目であり、制御データ受信時間は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードがルート探索用制御メッセージを受信した時間が設定される項目である。【００９６】
上記の中継ノード番号、中継ノード名、中継ノードＵＲＩおよび制御データ受信時間は、ルート探索用制御メッセージを転送したＥＳＢ中継ノードの数だけ、連続して設定される（図１０の（１）および図１１の（１）参照）。【００９７】
代理中継ノード名は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードが代理応答した場合に、そのＥＳＢ中継ノードの名前が設定される項目であり、代理中継ノードのＵＲＩは、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードが代理応答した場合に、そのＥＳＢ中継ノードのアドレスが設定される項目である。【００９８】
制御データ転送時間は、宛先サービスへの通信経路上に存在するＥＳＢ中継ノードが代理応答した場合に、そのＥＳＢ中継ノードが宛先サービスへルート探索用制御メッセージを送信してから応答を受信するまでに要した時間が設定される項目である。【００９９】
上記の代理中継ノード名、代理中継ノードＵＲＩおよび制御データ転送時間は、ルート探索用制御メッセージが代理応答された場合のみ設定され（図１２の（２）参照）、制御データ転送時間には、後述するルート制御情報に含まれる該当サービスの平均伝送時間が設定される（図１２の（３）参照）。【０１００】
なお、図１２では図示を省略しているが、同図の（４）の箇所には、代理応答を行ったＥＳＢ中継ノードによって、そのＥＳＢ中継ノードから、ルート探索用制御メッセージの宛先サービスに接続されたＥＳＢ中継ノードまでの間で経由するＥＳＢ中継ノードの数だけ、同図の（１）と同様の情報が連続して設定される。【０１０１】
また、１つの通信経路に対して優先度が異なる複数のルート探索用制御メッセージを送信することによって、メッセージの優先度に応じた伝送時間を計測する場合には、ルート探索用制御メッセージには、上記の項目に加えて、宛先のサービスに応じて優先度パラメタおよび優先度制御タイプが挿入される。【０１０２】
以上、ルート探索用制御メッセージに含まれる項目について説明した。ルート探索用制御メッセージは、ルート探索処理によって定期的にＥＳＢ中継ノード間で転送され、このルート探索用制御メッセージの各項目に基づいて、ルート制御テーブル２２ｃに記憶されたルート制御情報が随時更新される。【０１０３】
ここで、ルート制御情報の説明にもどって、図１３は、ルート制御テーブル２２ｃにより記憶されるルート制御情報の一例を示す図である。同図に示すように、ルート制御情報には、「宛先サービス」、「優先度」、「ルート優先度」、「次中継ノード」、「平均伝送時間」、「最小伝送時間」、「最大伝送時間」および「不達情報」が含まれる。【０１０４】
宛先サービスには、サービス情報テーブル２２ａに記憶されているサービス情報のサービス名が設定される。優先度には、優先度制御ポリシーテーブル２２ｂに記憶されている優先度制御ポリシーテーブルの優先度が宛先サービスごとに設定される。次中継ノードには、ルート探索用制御メッセージ（応答）に含まれる最初の中継ノードのＵＲＩが設定される。【０１０５】
平均伝送時間・最小伝送時間・最大伝送時間には、ルート探索用制御メッセージ（応答）に含まれる制御データ送信時間と、当該メッセージを最後に受信したＥＳＢ中継ノードの制御データ受信時間とから算出される伝送時間の平均値・最小値・最大値がそれぞれ設定される。なお、ルート探索用制御メッセージの代理応答が行われていた場合には、代理応答を行ったＥＳＢ中継ノードの制御データ転送時間も加味したうえで、各伝送時間が算出される。【０１０６】
不達情報には、通信経路が使用可能であるか否かを判定するために、ルート探索用制御メッセージ（応答）が返送された通信経路については、「ｏｆｆ」が設定され、送信後、所定の時間が経過してもルート探索用制御データ（応答）が受信できなかった通信経路については、「ｏｎ」が設定される。【０１０７】
ルート優先度には、宛先サービスの優先度ごとに、伝送時間に基づいて決定されたルート優先度が設定される。このルート優先度には通信経路ごとに、伝送時間が小さい順に番号が割り振られる。【０１０８】
帯域制御テーブル２２ｄは、メッセージの伝送に用いる通信経路を示す帯域制御情報を、サービスとその優先度ごとに記憶する記憶部である。図１４は、帯域制御テーブル２２ｄにより記憶される帯域制御情報の一例を示す図である。同図に示すように、帯域制御情報には、「宛先サービス」、「優先度」および「選択ルート」が含まれる。【０１０９】
この帯域制御テーブル２２ｄに記憶される帯域制御情報は、前述したルート制御情報と同様に、ルート解析部２５によって定期的にルート探索処理が行われるたびに、サービス情報テーブル２２ａに記憶されているサービス情報、優先度制御ポリシーテーブル２２ｂに記憶されている優先度制御ポリシー情報、および、ルート制御テーブル２２ｃに記憶されているルート制御情報に基づいて、随時、更新される。【０１１０】
具体的には、宛先サービスには、サービス情報テーブル２２ａに記憶されているサービス情報のサービス名が設定される。【０１１１】
優先度には、優先度制御ポリシーテーブル２２ｂに記憶されている優先度制御ポリシー情報の優先度制御タイプが宛先サービスごとに設定される。なお、この優先度には、優先度制御ポリシー情報の優先度制御タイプに一致しないメッセージ（優先度パラメタなしのメッセージなど）を受信した場合に備え、宛先サービスごとに、「ｏｔｈｅｒ」も設定しておく。【０１１２】
選択ルートには、優先度制御ポリシーテーブル２２ｂに記憶されている優先度制御ポリシー情報、および、ルート制御テーブル２２ｃに記憶されているルート制御情報のルート優先度に基づいて、宛先サービスおよび優先度ごとに、メッセージを伝送する上で最適な通信経路を示すルート優先度が設定される。【０１１３】
ここで、この選択ルートの設定について図１４を用いて具体的に説明する。同図に示す帯域制御情報は、図９に示した優先度制御ポリシー情報、および、図１３に示したルート制御情報を用いて作成したものである。【０１１４】
たとえば、サービスＳｂについては、優先度制御ポリシー情報には「１（Ｈｉｇｈ）」、「２（Ｎｏｒｍａｌ）」および「３（Ｌｏｗ）」の３つの優先度が設定されており（図９を参照）、また、ルート制御情報には「１」および「２」の２つのルート優先度が設定されている（図１３を参照）。【０１１５】
そこで、図１４に示すように、サービスＳｂの帯域制御情報については、優先度「Ｈｉｇｈ」に、伝送時間が最短であるルート優先度「１」を選択ルートとして設定し、その他の優先度「Ｎｏｒｍａｌ」および「Ｌｏｗ」に、伝送時間が最短でないルート優先度「２」を選択ルートとして設定し、さらに、「ｏｔｈｅｒ」にも、ルート優先度「２」を選択ルートとして設定している。【０１１６】
すなわち、この選択ルートの設定は、優先度制御ポリシー情報の優先度の数と、ルート制御情報のルート優先度の数から決定される。たとえば、優先度の数が３つで、ルート優先度の数が２つの場合には、最も高い優先度にルート優先度「１」を割り当て、その他の優先度（２番目および３番目の優先度）に、ルート優先度「２」を割り当てる。また、たとえば、優先度の数が４つで、ルート優先度の数が２つの場合には、最も高い優先度および２番目に高い優先度にルート優先度「１」を割り当て、その他の優先度（３番目および４番目の優先度）にルート優先度「２」を割り当てる。【０１１７】
図４にもどって、ＥＳＢ機能部２３は、他のシステムとの間でやり取りされるメッセージの送受信を制御するとともに、他のシステムのサービス宛てに送信されるメッセージのプロトコルやデータ形式を、Ｗｅｂサービスで処理可能なプロトコルやデータ形式に変換する処理部である。このＥＳＢ機能部２３は、ＳＯＡにおいて一般的に用いられるＥＳＢの機能を有する。【０１１８】
サービス管理部２４は、設定情報記憶部２１に記憶された設定情報に基づいて、サービス情報テーブル２２ａに記憶されるサービス情報、および、優先度制御ポリシーテーブル２２ｂに記憶される優先度制御ポリシー情報を作成する処理部である。このサービス管理部２４によって行われる優先度制御ポリシー情報の作成に関する処理を、以下では「サービス情報作成処理」と呼ぶ。なお、この制御情報更新処理の具体的な処理手順については、フローチャートを用いて、後に詳細に説明する。【０１１９】
ルート解析部２５は、ルート探索用制御メッセージを用いて定期的にルート探索処理を行い、その結果に基づいて、ルート制御テーブル２２ｃに記憶されたルート制御情報、および、帯域制御テーブル２２ｄに記憶された帯域制御情報を、随時、更新する処理部である。このルート解析部２５によって行われる帯域制御情報の更新に関する処理を、以下では「帯域制御情報更新処理」と呼ぶ。なお、前述したルート探索処理、および、帯域制御情報更新処理の具体的な処理手順については、フローチャートを用いて、後に詳細に説明する。【０１２０】
サービスアクセス部２６は、メッセージを受信した場合に、当該メッセージの優先度を判定するとともに、サービスレジストリデータベース２２に格納された各種テーブルの情報に基づいて、当該メッセージを伝送する通信経路を選択する処理部である。このサービスアクセス部２６によって行われる通信経路の選択に関する処理を、以下では「メッセージ転送経路選択処理」と呼ぶ。なお、このメッセージ転送経路選択処理の具体的な処理手順については、フローチャートを用いて、後に詳細に説明する。【０１２１】
次に、本実施例に係るＥＳＢ中継ノード２０1が有する各処理部によって行われる処理について説明する。ここでは、サービス管理部２４、ルート解析部２５およびサービスアクセス部２６によって行われる処理の処理手順について、図１５〜図２０を用いて順に説明する。【０１２２】
最初に、サービス管理部２４により行われるサービス情報作成処理について説明する。図１５は、サービス管理部２４によるサービス情報作成処理の処理手順を示すフローチャートである。サービス管理部２４は、ユーザから指定された所定のタイミングや、所定の周期で、以下に示すサービス情報更新処理を行う。【０１２３】
具体的には、同図に示すように、サービス管理部２４は、まず、設定情報記憶部２１に記憶された設定情報に基づいてＵＤＤＩサーバ４０を参照し、ＵＤＤＩサーバ４０にサービス情報がある場合には（ステップＳ１０１，Ｙｅｓ）、ＵＤＤＩサーバ４０からサービス情報を収集し（ステップＳ１０２）、収集したサービス情報からサービスのＵＲＩ、メッセージインタフェース、アクセスプロトコルなどを抽出する（ステップＳ１０３）。【０１２４】
一方、ＵＤＤＩサーバ４０にサービス情報がなかった場合には（ステップＳ１０１，Ｎｏ）、サービス管理部２４は、ＵＤＤＩサーバ４０からサービス情報を収集せずに、後続の処理を続ける。【０１２５】
続いて、サービス管理部２４は、設定情報記憶部２１に記憶された設定情報に基づいてＷＳＤＬ情報５０を参照し、ＷＳＤＬ情報５０にユーザから指定されたサービス情報がある場合には（ステップＳ１０４，Ｙｅｓ）、指定されたＷＳＤＬ情報（サービス情報）およびディレクトリ情報からサービス情報を取得し（ステップＳ１０５）、取得したサービス情報からサービスのＵＲＩ、メッセージインタフェース、アクセスプロトコルなどを抽出する（ステップＳ１０６）。【０１２６】
一方、ＷＳＤＬ情報５０にユーザから指定されたサービス情報がなかった場合には（ステップＳ１０４，Ｎｏ）、サービス管理部２４は、ＵＤＤＩサーバ４０からサービス情報を収集せずに、後続の処理を続ける。【０１２７】
そして、サービス管理部２４は、上記で抽出した情報をサービス情報としてサービス情報テーブル２２ａに登録し（ステップＳ１０７）、サービス情報作成処理を終了する。【０１２８】
続いて、ルート解析部２５により行われるルート探索処理および帯域制御情報更新処理について説明する。図１６は、ルート解析部２５によるルート探索処理の処理手順を示すフローチャートであり、図１７は、ルート解析部２５により行われる帯域制御情報更新処理の処理手順を示すフローチャートである。【０１２９】
ルート解析部２５は、あらかじめ決められた所定の周期で、定期的に、以下に示すルート探索処理を行う。具体的には、図１６に示すように、ルート解析部２５は、まず、サービス情報テーブル２２ａからサービス情報を抽出する（ステップＳ２０１）。【０１３０】
そして、サービス情報が１件でもあった場合には（ステップＳ２０２，Ｙｅｓ）、ルート解析部２５は、抽出したすべてのサービス情報のサービスについて、サービスごとに、設定情報記憶部２１に記憶された設定情報の優先度制御タイプ別にルート探索用制御メッセージをそれぞれ生成し、生成した優先度制御タイプごとのルート探索用制御メッセージを、当該サービスに到達可能なすべての通信経路に対してそれぞれ送信する（ステップＳ２０３）。【０１３１】
一方、サービス情報テーブル２２ａにサービス情報が１件もなかった場合には（ステップＳ２０２，Ｎｏ）、ルート解析部２５は、ルート探索用制御メッセージを送信せずに、ルート探索処理を終了する。【０１３２】
そして、ＥＳＢ機能部２３を介して、送信したルート探索用制御メッセージに対する応答を受信した場合には（ステップＳ２０４）、ルート解析部２５は、受信したルート探索用制御メッセージ、および、サービス情報テーブル２２ａに記憶されているサービス情報に基づいて、ルート制御テーブル２２ｃに記憶されているルート制御情報を更新し（ステップＳ２０５）、ルート探索処理を終了する。【０１３３】
一方、所定の時間が経過してもルート探索用制御メッセージに対する応答を受信しなかった場合には（ステップＳ２０６）、ルート制御テーブル２２ｃに記憶されているルート制御情報のうち、応答を受信していない通信経路のルート制御情報の不達情報に「Ｏｎ」を設定し（ステップＳ２０７）、ルート探索処理を終了する。【０１３４】
また、ルート解析部２５は、あらかじめ決められた所定の周期で、定期的に、以下に示す帯域制御情報更新処理を行う。具体的には、図１７に示すように、ルート解析部２５は、まず、ルート制御テーブル２２ｃからルート制御情報を１件抽出する（ステップＳ３０１）。【０１３５】
そして、ルート制御情報があった場合には（ステップＳ３０２，Ｙｅｓ）、ルート解析部２５は、抽出したルート制御情報から、宛先サービスごとに優先度およびルート優先度を取得する（ステップＳ３０３）。【０１３６】
ルート解析部２５は、ルート制御テーブル２２ｃに記憶されているすべてのルート制御情報を抽出したか否かを確認し、まだすべてのルート制御情報を抽出していなかった場合には（ステップＳ３０４，Ｎｏ）、次のルート制御情報をルート制御テーブルから抽出すし、上記と同様の処理を行う。【０１３７】
そして、すべてのルート制御情報を抽出した場合には（ステップＳ３０４，Ｙｅｓ）、抽出した優先度およびルート優先度に基づいて、帯域制御テーブル２２ｄに格納されている帯域制御情報を更新する（ステップＳ３０５）。【０１３８】
なお、前述したステップＳ３０２において、ルート制御テーブル２２ｃにルート制御情報が１件もなかった場合には（ステップＳ３０２，Ｎｏ）、ルート解析部２５は、優先度およびルート優先度を取得せずに、帯域制御情報更新処理を終了する。【０１３９】
続いて、サービスアクセス部２６により行われるメッセージ転送経路選択処理について説明する。図１８、１９および２０は、サービスアクセス部２６によるメッセージ転送経路選択処理の処理手順を示すフローチャート（１）、（２）および（３）である。【０１４０】
図１８に示すように、サービスアクセス部２６は、ＥＳＢ機能部２３を介してメッセージを受信すると（ステップＳ４０１，Ｙｅｓ）、受信したメッセージがルート探索用制御メッセージであるか否かを確認し、ルート探索用制御メッセージでなかった場合には（ステップＳ４０２，Ｎｏ）、受信したメッセージから宛先サービスの情報を抽出する（ステップＳ４０３）。【０１４１】
続いて、サービスアクセス部２６は、抽出した宛先サービスの情報に対応するサービス情報をサービス情報テーブル２２ａから検索し（ステップＳ４０４）、該当するサービス情報がなかった場合には（ステップＳ４０５，Ｎｏ）、メッセージ転送経路選択処理を終了する。【０１４２】
一方、該当するサービス情報があった場合には（ステップＳ４０５，Ｙｅｓ）、サービスアクセス部２６は、そのサービス情報が、自ノードと同じシステム内に収容されているサービス（すなわち、サービスＳａ）のサービス情報であるか否かを確認する。【０１４３】
ここで、サービスアクセス部２６は、自ノードと同じシステム内に収容されているサービスのサービス情報であった場合には（ステップＳ４０６，Ｙｅｓ）、メッセージ転送経路選択処理を終了する。【０１４４】
一方、自ノードと同じシステム内に収容されているサービスのサービス情報でなかった場合には（ステップＳ４０６，Ｎｏ）、サービスアクセス部２６は、サービス情報テーブル２２ａから検索したサービス情報に対応する優先度制御ポリシー情報を優先度制御ポリシーテーブル２２ｂから抽出する（ステップＳ４０７）。【０１４５】
ここで、該当する優先度制御ポリシー情報が優先度制御ポリシーテーブル２２ｂにあった場合には（ステップＳ４０８，Ｙｅｓ）、サービスアクセス部２６は、抽出した優先度制御ポリシー情報の優先度パラメタに基づいて、受信メッセージから優先度パラメタ値を抽出する（ステップＳ４０９）。【０１４６】
一方、該当する優先度制御ポリシー情報が優先度制御ポリシーテーブル２２ｂになかった場合には（ステップＳ４０８，Ｎｏ）、サービスアクセス部２６は、受信メッセージから優先度パラメタ値を抽出せずに、後続の処理を続ける。【０１４７】
続いて、サービスアクセス部２６は、抽出した優先度パラメタ値に基づいて、優先度制御タイプを特定する（ステップＳ４１０）。なお、該当する優先度制御ポリシー情報が優先度制御ポリシーテーブル２２ｂになかった場合や、抽出した優先度パラメタに対応する優先度制御タイプがなかった場合には、サービスアクセス部２６は、優先度タイプを「ｏｔｈｅｒ」とする。【０１４８】
優先度タイプを特定したのち、サービスアクセス部２６は、帯域制御テーブル２２ｄに記憶された帯域制御情報を参照し、特定した優先度制御タイプおよび受信メッセージから抽出した宛先サービスに対応する選択ルートを取得する（ステップＳ４１１）。【０１４９】
そして、サービスアクセス部２６は、取得した選択ルートに基づいて、受信したメッセージを転送し（ステップＳ４１２）、メッセージ転送経路選択処理を終了する。【０１５０】
なお、前述したステップＳ４０２において、受信したメッセージがルート探索用制御メッセージであった場合には（ステップＳ４０２，Ｙｅｓ）、サービスアクセス部２６は、図１９に示すように、受信したルート探索用制御メッセージが要求であるか否かを確認し、要求であった場合には（ステップＳ４１３，Ｙｅｓ）、受信したルート探索用制御メッセージから宛先サービスの情報を抽出する（ステップＳ４１４）。【０１５１】
続いて、サービスアクセス部２６は、抽出した宛先サービスの情報に対応するサービス情報をサービス情報テーブル２２ａから検索し（ステップＳ４１５）、該当するサービス情報がなかった場合には（ステップＳ４１６，Ｎｏ）、メッセージ転送経路選択処理を終了する。【０１５２】
一方、該当するサービス情報があった場合には（ステップＳ４１６，Ｙｅｓ）、サービスアクセス部２６は、そのサービス情報が、自ノードと同じシステム内に収容されているサービス（すなわち、サービスＳａ）のサービス情報であるか否かを確認する。【０１５３】
ここで、サービスアクセス部２６は、自ノードと同じシステム内に収容されているサービスのサービス情報でなかった場合には（ステップＳ４１７，Ｎｏ）、宛先サービスまでのルート制御情報がルート制御テーブル２２ｃにあるか否かを確認する。【０１５４】
そして、該当するルート情報がなかった場合には（ステップＳ４１８，Ｎｏ）、サービスアクセス部２６は、受信したルート探索用制御メッセージに中継ノード情報（図１０に示した（１）や図１１に示した（１）の情報）を追加し（ステップＳ４１９）、当該ルート探索用制御メッセージを受信したインタフェース以外のすべてのインタフェースに対して、中継ノード情報を追加したルート探索用制御メッセージを転送し（ステップＳ４２０）、メッセージ転送経路選択処理を終了する。【０１５５】
なお、前述したステップＳ４１７において、サービス情報が、自ノードと同じシステム内に収容されているサービスのサービス情報であった場合には（ステップＳ４１７，Ｙｅｓ）、サービスアクセス部２６は、受信したルート探索用制御メッセージに中継ノード情報を追加し（ステップＳ４２１）、さらに、ルート探索用制御メッセージのプリミティブタイプ（ルート探索制御プリミティブタイプ）を「要求」から「応答」に変更し（ステップＳ４２２）、その後、変更したルート探索用制御メッセージを、当該ルート探索用制御メッセージを送信した直前の中継ノードに対して返送して（ステップＳ４２３）、メッセージ転送経路選択処理を終了する。【０１５６】
また、前述したステップＳ４１８において、宛先サービスまでのルート制御情報がルート制御テーブル２２ｃにあった場合には（ステップＳ４１８，Ｙｅｓ）、サービスアクセス部２６は、受信したルート探索用制御メッセージに、宛先サービスまでの代理応答情報（図１２に示した（２）の情報）を追加し（ステップＳ４２４）、さらに、ルート探索用制御メッセージのプリミティブタイプ（ルート探索制御プリミティブタイプ）を「要求」から「応答」に変更し（ステップＳ４２５）、その後、変更したルート探索用制御メッセージを、当該ルート探索用制御メッセージを送信した直前の中継ノードに対して返送して（ステップＳ４２６）、メッセージ転送経路選択処理を終了する。【０１５７】
また、前述したステップＳ４１３において、受信したルート探索用制御メッセージが要求でなかった場合、すなわち、応答であった場合には（ステップＳ４１３，Ｎｏ）、サービスアクセス部２６は、図２０に示すように、受信したルート探索用制御メッセージに含まれている中継ノード情報に基づいて、応答すべきＥＳＢ中継ノード、すなわち、要求時のルート探索用制御メッセージを受信したＥＳＢ中継ノードを特定する（ステップＳ４２７）。【０１５８】
続いて、サービスアクセス部２６は、受信したルート探索用制御メッセージから宛先宛先サービスの情報を抽出し（ステップＳ４２８）、抽出した宛先サービスの情報に対応するサービス情報をサービス情報テーブル２２ａから検索する（ステップＳ４２９）。【０１５９】
そして、サービスアクセス部２６は、該当するサービス情報がなかった場合には（ステップＳ４３０，Ｎｏ）、メッセージ転送経路選択処理を終了する。【０１６０】
一方、該当するサービス情報があった場合には（ステップＳ４３０，Ｙｅｓ）、サービスアクセス部２６は、そのサービス情報が、自ノードと同じシステム内に収容されているサービス（すなわち、サービスＳａ）のサービス情報であるか否かを確認する。【０１６１】
ここで、サービスアクセス部２６は、サービス情報が、自ノードと同じシステム内に収容されているサービスのサービス情報であった場合には（ステップＳ４３１，Ｙｅｓ）、メッセージ転送経路選択処理を終了する。【０１６２】
一方、サービス情報が、自ノードと同じシステム内に収容されているサービスのサービス情報でなかった場合には（ステップＳ４３１，Ｎｏ）、受信したルート探索用制御メッセージに中継ノード情報を追加し（ステップＳ４３２）、変更したルート探索用制御メッセージを、応答すべきＥＳＢ中継ノードに対して返送して（ステップＳ４３３）、メッセージ転送経路選択処理を終了する。【０１６３】
上述してきたように、本実施例では、ルート解析部２５が、通信経路を介してルート探索用制御メッセージをやり取りすることによって、通信経路ごとにメッセージの伝送にかかる伝送時間を計測し、計測した伝送時間に基づいて、各通信経路の優先順位を決定し、サービスアクセス部２６が、通信装置の間でやり取りされるメッセージに優先度が設定されていた場合に、当該メッセージの優先度およびルート解析部２５により決定された優先順位に基づいて、複数の通信経路の中から当該メッセージの伝送に用いられる通信経路を選択するので、メッセージの優先度に応じて、最適な通信経路を選択することができる。【０１６４】
また、本実施例では、ルート解析部２５が、計測した伝送時間を含むルート制御情報を通信経路ごとにルート制御テーブル２２ｃに記憶させ、サービスアクセス部２６が、ルート探索用制御メッセージを他のＥＳＢ中継ノードから受信した場合に、当該ルート探索用制御メッセージの宛先に設定されているサービスまでの通信経路に係るルート制御情報がルート制御テーブル２２ｃに記憶されているルート制御情報に含まれているか否かを判定し、含まれていた場合には、当該ルート制御情報の伝送時間を含んだルート探索用制御メッセージを、送信元のＥＳＢ中継ノードに対して返送するので、伝送時間計測用メッセージの伝播範囲を縮小して、ネットワークの負荷を軽減することができる。【０１６５】
また、本実施例では、ルート解析部２５が、優先度が設定されたルート探索用制御メッセージを、通信経路を介してやり取りすることによって、通信経路、および、メッセージの優先度ごとに伝送時間を計測するので、メッセージの優先度に応じて、より最適な通信経路を選択することができるようになる。【０１６６】
なお、本実施例では、４つのシステムがリング構成で接続された分散システムに本発明を適用した場合について説明したが、本発明はこれに限られるわけではなく、システムは４つ未満または５つ以上であった場合でも、また、各システムがメッシュ構成など他のネットワークトポロジーで接続されていた場合でも同様に適用することができる。【０１６７】
なお、本実施例では、ＥＳＢ中継ノードについて説明したが、ＥＳＢ中継ノードが有する構成をソフトウェアによって実現することで、同様の機能を有する通信経路選択プログラムを得ることができる。そこで、この通信経路選択プログラムを実行するコンピュータについて説明する。【０１６８】
図２１は、本実施例に係る通信経路選択プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ１００は、ＲＡＭ１１０と、ＣＰＵ１２０と、ＨＤＤ１３０と、ＬＡＮインタフェース１４０と、入出力インタフェース１５０と、ＤＶＤドライブ１６０とを有する。【０１６９】
ＲＡＭ１１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ１２０は、ＲＡＭ１１０からプログラムを読み出して実行する中央処理装置である。【０１７０】
ＨＤＤ１３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース１４０は、コンピュータ１００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。【０１７１】
入出力インタフェース１５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ１６０は、ＤＶＤの読み書きを行う装置である。【０１７２】
そして、このコンピュータ１００において実行される通信経路選択プログラム１１１は、ＤＶＤに記憶され、ＤＶＤドライブ１６０によってＤＶＤから読み出されてコンピュータ１００にインストールされる。【０１７３】
あるいは、この通信経路選択プログラム１１１は、ＬＡＮインタフェース１４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ１００にインストールされる。【０１７４】
そして、インストールされた通信経路選択プログラム１１１は、ＨＤＤ１３０に記憶され、ＲＡＭ１１０に読み出されてＣＰＵ１２０によって通信経路選択プロセス１２１として実行される。【０１７５】
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。【０１７６】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメタを含む情報については、特記する場合を除いて任意に変更することができる。【０１７７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。【０１７８】
たとえば、本実施例で説明したＥＳＢ中継ノードの機能が、ＡＰサーバに実装されていてもよい。【０１７９】
さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【産業上の利用可能性】
【０１８０】
以上のように、本発明に係る通信経路選択プログラム、通信経路選択方法および通信経路選択装置は、ＳＯＡにより構築されたシステムに有用であり、特に、サービス間でやり取りされるメッセージに優先度が設定される場合に適している。
【図１】
2008126210.tif 000003
【図２】
2008126210.tif 000004
【図３】
2008126210.tif 000005
【図４】
2008126210.tif 000006
【図５】
2008126210.tif 000007
【図６】
2008126210.tif 000008
【図７】
2008126210.tif 000009
【図８】
2008126210.tif 000010
【図９】
2008126210.tif 000011
【図１０】
2008126210.tif 000012
【図１１】
2008126210.tif 000013
【図１２】
2008126210.tif 000014
【図１３】
2008126210.tif 000015
【図１４】
2008126210.tif 000016
【図１５】
2008126210.tif 000017
【図１６】
2008126210.tif 000018
【図１７】
2008126210.tif 000019
【図１８】
2008126210.tif 000020
【図１９】
2008126210.tif 000021
【図２０】
2008126210.tif 000022
【図２１】
2008126210.tif 000023
【図２２】
2008126210.tif 000024
【国際調査報告】
2008126210.tif 000025
2008126210.tif 000026