(57)【要約】【課題】通信事業者ネットワークにオーバレイネットワークを連携させることによって、呼接続確立時間を規定値以下に抑えながら、通信事業者ネットワークに対する負荷を低く抑えることができる呼接続方法等を提供する。【解決手段】複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムを用いる。最初に、発呼元ピアノードが、オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する。そして、発呼元ピアノードが、遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信し、遅延時間が規定時間よりも長い場合、セッション制御サーバへ呼接続要求を送信する。【選択図】図６
2010062958.tif 000002
【特許請求の範囲】
【請求項１】
複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、前記ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける呼接続方法であって、
発呼元ピアノードが、前記オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する第１のステップと、
発呼元ピアノードが、前記遅延時間が規定時間よりも長い場合、前記セッション制御サーバへ呼接続要求を送信し、前記遅延時間が前記規定時間以内である場合、前記オーバレイネットワークへ呼接続要求を送信する第２のステップと
を有することを特徴とする呼接続方法。
【請求項２】
第１のステップの前段で、
発呼元ピアノードが、前記オーバレイネットワークを介して、着呼先ピアノードの登録情報を登録した応答登録ピアノードに対する遅延時間を導出し、
発呼元ピアノードは、前記遅延時間が規定時間よりも長い場合、前記セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信し、前記遅延時間が前記規定時間以内である場合、前記オーバレイネットワークを介して、検索リクエストを前記応答登録ピアノードへ送信し、
前記応答登録ピアノードが、発呼元ピアノードへ、着呼先ピアノードの登録情報を返信することを特徴とする請求項１に記載の呼接続方法。
【請求項３】
着呼先ピアノード及び／又は応答登録ピアノードに対する前記遅延時間は、発呼元ピアノードからオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、発呼元ピアノードからオーバレイネットワークを介して着呼先ピアノード又は応答登録ピアノードまでのホップ数との乗算によって導出されることを特徴とする請求項１又は２に記載の呼接続方法。
【請求項４】
前記オーバレイネットワークでは、発呼元ピアノードの第１の識別値から、２ｋ（ｋは１以上の整数）毎の識別値を有するピアノードへ、１ホップで通信可能であって、
発呼元ピアノードの第１の識別値と、着呼先ピアノード又は応答登録ピアノードの第２の識別値との差である距離値を算出し、
ｋを所定最大ホップ乗数から１減分しつつ、前記距離値から２ｋが減算できるか否かを判定し、減算できる場合に前記距離値から２ｋを減算し、減算された前記距離値が１ピアノードの管理する平均識別値空間より小さくなるまで繰り返し、
２ｋを減算することができた数に１を加えた値を、前記ホップ数として推定する
ことを特徴とする請求項３に記載の呼接続方法。
【請求項５】
前記平均遅延時間は、発呼元ピアノードが、１ホップで通信可能な他の複数のピアノードへ、定期的にKeep-Aliveメッセージを送信することによって測定されるＲＴＴ(Round Trip Time)の平均時間であることを特徴とする請求項３又は４に記載の呼接続方法。
【請求項６】
発呼元端末が、発呼元ピアノードへ登録し、
着呼先端末が、着呼先ピアノードへ登録し、
着呼先ピアノードは、第２の識別値に基づいて登録情報を前記応答登録ピアノードへ登録し、
その後、前記発呼元端末が、前記発呼元ピアノードへ呼接続要求を送信する
ことを特徴とする請求項１から５のいずれか１項に記載の呼接続方法。
【請求項７】
複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、前記ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける発呼元のピアノードであって、
前記オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する遅延時間導出手段と、
前記遅延時間が規定時間よりも長い場合、前記セッション制御サーバへ呼接続要求を送信する第１の呼接続要求手段と、
前記遅延時間が前記規定時間以内である場合、前記オーバレイネットワークへ呼接続要求を送信する第２の呼接続要求手段と
を有することを特徴とするピアノード。
【請求項８】
前記遅延時間導出手段は、前記オーバレイネットワークを介して、着呼先ピアノードの登録情報を登録した応答登録ピアノードに対する遅延時間を更に導出し、
前記遅延時間が規定時間よりも長い場合、前記セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信し、前記遅延時間が前記規定時間以内である場合、前記オーバレイネットワークを介して、検索リクエストを前記応答登録ピアノードへ送信し、該応答登録ピアノードから着呼先ピアノードの登録情報を受信する着呼先検索手段を更に有する
ことを特徴とする請求項７に記載のピアノード。
【請求項９】
前記遅延時間導出手段は、着呼先ピアノード及び／又は応答登録ピアノードに対する前記遅延時間を、当該ピアノードからオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、当該ピアノードからオーバレイネットワークを介して着呼先ピアノード又は応答登録ピアノードまでのホップ数との乗算によって導出することを特徴とする請求項７又は８に記載のピアノード。
【請求項１０】
前記オーバレイネットワークでは、発呼元ピアノードの第１の識別値から、２ｋ（ｋは１以上の整数）毎の識別値を有するピアノードへ、１ホップで通信可能であって、
前記遅延時間導出手段は、
当該ピアノードの第１の識別値と、着呼先ピアノード又は応答登録ピアノードの第２の識別値との差である距離値を算出し、
ｋを所定最大ホップ乗数から１減分しつつ、前記距離値から２ｋが減算できるか否かを判定し、減算できる場合に前記距離値から２ｋを減算し、減算された前記距離値が１ピアノードの管理する平均識別値空間より小さくなるまで繰り返し、
２ｋを減算することができた数に１を加えた値を、前記ホップ数として推定する
ことを特徴とする請求項９に記載のピアノード。
【請求項１１】
前記平均遅延時間は、当該ピアノードが、１ホップで通信可能な他の複数のピアノードへ、定期的にKeep-Aliveメッセージを送信することによって測定されるＲＴＴの平均時間であることを特徴とする請求項９又は１０に記載のピアノード。
【請求項１２】
発呼元端末から登録を受信する登録受付手段と、
発呼元端末から呼接続要求を受信し、前記遅延時間導出手段の実行を開始させる呼接続要求受信手段と
を更に有することを特徴とする請求項７から１１のいずれか１項に記載のピアノード。
【請求項１３】
複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、前記ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける発呼元のピアノードに搭載されたコンピュータを機能させるプログラムであって、
前記オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する遅延時間導出手段と、
前記遅延時間が規定時間よりも長い場合、前記セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信する第１の呼接続要求手段と、
前記遅延時間が前記規定時間以内である場合、前記オーバレイネットワークを介して着呼先ピアノードへ呼接続要求を送信する第２の呼接続要求手段と
してコンピュータを機能させることを特徴とするピアノード用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信事業者ネットワーク及びオーバレイネットワークを用いた呼接続方法、ピアノード及びプログラムに関する。
【背景技術】
【０００２】
近年、３ＧＰＰ／３ＧＰＰ２(3rd Generation Partnership Project/3rd Generation Partnership Project 2)は、ＩＭＳ(IP Multimedia Subsystem)／ＭＭＤ (Multimedia Domain)を次世代移動体コアシステムとして、標準化を進めている（例えば非特許文献１参照）。ＩＭＳ／ＭＭＤシステムは、通信ネットワークのパケット網化（オールＩＰ化）と共に、多くのインターネット技術を取り入れている。その中核技術には、セッション制御プロトコルであるＳＩＰ(Session Initiation Protocol)が用いられる（例えば非特許文献２参照）。
【０００３】
ＩＭＳ／ＭＭＤシステムは、従来、回線交換システム上で実現されていたサービスを、パケット交換システム上に実現することによって、通信事業者側のコストを低減する。ＩＭＳ／ＭＭＤシステムは、ＳＩＰによる呼制御を実行するＣＳＣＦ(Call Session Control Function)と、ユーザデータベースであるＨＳＳ(Home Subscriber Server)とを有する。ＨＳＳは、ユーザ端末との間でユーザ認証情報を共有し、端末に対する認証処理を実行する。その後、ユーザ端末は、アドレス情報をＣＳＣＦに登録する。ユーザ端末間でＣＳＣＦを介してセッション（呼接続）を確立する場合、ＳＩＰ ＡＯＲ(Address Of Record)を用いて着呼先端末を特定する。
【０００４】
しかしながら、ＩＭＳ／ＭＭＤのシステム構成は、クライアント−サーバモデルに基づいており、加入者数の増加に応じてサーバシステムの増強が不可欠となる。サービス開始直後のＩＭＳ／ＭＭＤシステムは、マルチメディアデータ転送やプレゼンス管理のようなサービスに限定して利用されると想定される。しかし、今後のユビキタス社会の到来に伴って、様々な機器を対象としたリソース管理にも応用されていく。従って、ＩＭＳ／ＭＭＤシステムにおける管理対象数が飛躍的に増加することは、通信事業者ネットワークにおける設備コストも甚大となることにつながる。
【０００５】
また、ＩＥＴＦ(Internet Engineering Task Force)によれば、前述のＳＩＰのシグナリング制御に、Ｐ２Ｐ(Peer-to-Peer)と称される自律分散ネットワークアーキテクチャ技術を融合させた「Ｐ２ＰＳＩＰ」技術を開示している（例えば非特許文献３参照）。Ｐ２ＰＳＩＰによれば、ＳＩＰによるセッション制御機能（ＩＭＳ／ＭＭＤにおけるＣＳＣＦ機能）を、ピアノードに搭載することによって、サーバレスのシステムを実現する。Ｐ２Ｐを用いることにより、ユーザ端末間で情報の分散管理及び分散制御を実行するために、加入者数の増加に対してもサーバシステムの増強が不要となる。
【０００６】
更に、Ｐ２ＰＳＩＰネットワークとＩＭＳ／ＭＭＤシステムとの相互接続について、２つの実施形態がある（例えば非特許文献４参照）。第１の実施形態によれば、Ｐ２ＰＳＩＰネットワークとＩＭＳ／ＭＭＤシステムとが対等関係で連携する。ユーザ端末から、Ｐ２ＰＳＩＰネットワーク又はＩＭＳ／ＭＭＤシステムのいずれか一方にアドレス情報が登録されと、両システムが連携して、ユーザ端末間でのセッション制御を可能とする。
【０００７】
第２の実施形態によれば、Ｐ２ＰＳＩＰネットワークが、ＩＭＳ／ＭＭＤシステムに対するユーザ端末からの入力ネットワーク(Visited Network)として存在する。従って、ユーザ端末は、Ｐ２ＰＳＩＰネットワークを介して、ＩＭＳ／ＭＭＤシステムに登録する。両端末が、同一のＰ２ＰＳＩＰネットワークに接続されている場合、当該Ｐ２ＰＳＩＰネットワークを介するように呼接続を制御する。他方、Ｐ２ＰＳＩＰネットワークに接続したユーザ端末と、ＩＭＳ／ＭＭＤシステムのみに接続したユーザ端末との間では、Ｐ２ＰＳＩＰネットワーク及びＩＭＳ／ＭＭＤシステムの両方を介するように呼接続を制御する。
【０００８】
【非特許文献１】3GPP TS 23.228: “IP Multimedia Subsystem(IMS)”
【非特許文献２】IETF RFC 3261: "SIP: SessionInitiation Protocol"
【非特許文献３】IETF Internet Draft: “REsource LOcation AndDiscovery (RELOAD)”, draft-ietf-p2psip-reload-00.txt
【非特許文献４】E.Marocco et al., “Interworking betweenP2PSIP overlays and IMS Networks-Scenarios and Technical Solutions”, Proceedingof ICIN 2007, Oct. 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、Ｐ２ＰＳＩＰネットワークによれば、ユーザ端末数が膨大となった場合、着呼先端末のアドレス情報を検索する際の中継端末数も膨大となる。特に、リアルタイム性を要するセッション制御については、セッション確立時間が増大するという問題があった。例えば、ユーザ端末数を１０００万台とし、ユーザ端末間での遅延時間を５０ｍ秒と仮定した場合、セッション確立時間は最大４.６秒になると試算される。総務省が定める事業用電気通信設備規則では、「セッション確立時間(Connection Setup-Delay)が３秒以上となる確率を０．０１以下とする」と規定しており、そのままでは事業者品質のサービスを提供できない。
【００１０】
また、非特許文献４によれば、Ｐ２ＰＳＩＰネットワークとＩＭＳ／ＭＭＤシステム間での相互接続技術を開示しているが、両システムを用いる場合のセッション確立時間の増加等のセッション品質に関しては何ら開示していない。
【００１１】
従って、本発明は、通信事業者ネットワークにオーバレイネットワークを連携させることによって、呼接続確立時間を規定値以下に抑えながら、通信事業者ネットワークに対する負荷を低く抑えることができる呼接続方法、ピアノード及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける呼接続方法であって、
発呼元ピアノードが、オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する第１のステップと、
発呼元ピアノードが、遅延時間が規定時間よりも長い場合、セッション制御サーバへ呼接続要求を送信し、遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信する第２のステップと
を有することを特徴とする。
【００１３】
本発明の呼接続方法における他の実施形態によれば、第１のステップの前段で、
発呼元ピアノードが、オーバレイネットワークを介して、着呼先ピアノードの登録情報を登録した応答登録ピアノードに対する遅延時間を導出し、
発呼元ピアノードは、遅延時間が規定時間よりも長い場合、セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信し、遅延時間が規定時間以内である場合、オーバレイネットワークを介して、検索リクエストを応答登録ピアノードへ送信し、
応答登録ピアノードが、発呼元ピアノードへ、着呼先ピアノードの登録情報を返信することも好ましい。
【００１４】
本発明の呼接続方法における他の実施形態によれば、着呼先ピアノード及び／又は応答登録ピアノードに対する遅延時間は、発呼元ピアノードからオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、発呼元ピアノードからオーバレイネットワークを介して着呼先ピアノード又は応答登録ピアノードまでのホップ数との乗算によって導出されることも好ましい。
【００１５】
本発明の呼接続方法における他の実施形態によれば、
オーバレイネットワークでは、発呼元ピアノードの第１の識別値から、２ｋ（ｋは１以上の整数）毎の識別値を有するピアノードへ、１ホップで通信可能であって、
発呼元ピアノードの第１の識別値と、着呼先ピアノード又は応答登録ピアノードの第２の識別値との差である距離値を算出し、
ｋを所定最大ホップ乗数から１減分しつつ、距離値から２ｋが減算できるか否かを判定し、減算できる場合に距離値から２ｋを減算し、減算された距離値が１ピアノードの管理する平均識別値空間より小さくなるまで繰り返し、
２ｋを減算することができた数に１を加えた値を、ホップ数として推定することも好ましい。
【００１６】
本発明の呼接続方法における他の実施形態によれば、平均遅延時間は、発呼元ピアノードが、１ホップで通信可能な他の複数のピアノードへ、定期的にKeep-Aliveメッセージを送信することによって測定されるＲＴＴ(Round Trip Time)の平均時間であることも好ましい。
【００１７】
本発明の呼接続方法における他の実施形態によれば、
発呼元端末が、発呼元ピアノードへ登録し、
着呼先端末が、着呼先ピアノードへ登録し、
着呼先ピアノードは、第２の識別値に基づいて登録情報を応答登録ピアノードへ登録し、
その後、発呼元端末が、発呼元ピアノードへ呼接続要求を送信することも好ましい。
【００１８】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける発呼元のピアノードであって、
オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する遅延時間導出手段と、
遅延時間が規定時間よりも長い場合、セッション制御サーバへ呼接続要求を送信する第１の呼接続要求手段と、
遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信する第２の呼接続要求手段と
を有することを特徴とする。
【００１９】
本発明のピアノードにおける他の実施形態によれば、
遅延時間導出手段は、オーバレイネットワークを介して、着呼先ピアノードの登録情報を登録した応答登録ピアノードに対する遅延時間を更に導出し、
遅延時間が規定時間よりも長い場合、セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信し、遅延時間が規定時間以内である場合、オーバレイネットワークを介して、検索リクエストを応答登録ピアノードへ送信し、該応答登録ピアノードから着呼先ピアノードの登録情報を受信する着呼先検索手段を更に有することも好ましい。
【００２０】
本発明のピアノードにおける他の実施形態によれば、遅延時間導出手段は、着呼先ピアノード及び／又は応答登録ピアノードに対する遅延時間を、当該ピアノードからオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、当該ピアノードからオーバレイネットワークを介して着呼先ピアノード又は応答登録ピアノードまでのホップ数との乗算によって導出することも好ましい。
【００２１】
本発明のピアノードにおける他の実施形態によれば、
オーバレイネットワークでは、発呼元ピアノードの第１の識別値から、２ｋ（ｋは１以上の整数）毎の識別値を有するピアノードへ、１ホップで通信可能であって、
遅延時間導出手段は、
当該ピアノードの第１の識別値と、着呼先ピアノード又は応答登録ピアノードの第２の識別値との差である距離値を算出し、
ｋを所定最大ホップ乗数から１減分しつつ、距離値から２ｋが減算できるか否かを判定し、減算できる場合に距離値から２ｋを減算し、減算された距離値が１ピアノードの管理する平均識別値空間より小さくなるまで繰り返し、
２ｋを減算することができた数に１を加えた値を、ホップ数として推定することも好ましい。
【００２２】
本発明のピアノードにおける他の実施形態によれば、平均遅延時間は、当該ピアノードが、１ホップで通信可能な他の複数のピアノードへ、定期的にKeep-Aliveメッセージを送信することによって測定されるＲＴＴの平均時間であることも好ましい。
【００２３】
本発明のピアノードにおける他の実施形態によれば、
発呼元端末から登録を受信する登録受付手段と、
発呼元端末から呼接続要求を受信し、遅延時間導出手段の実行を開始させる呼接続要求受信手段と
を更に有することも好ましい。
【００２４】
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に仮想的に構成されたオーバレイネットワークと、ピアノード間の呼接続を制御するセッション制御サーバとを有するシステムにおける発呼元のピアノードに搭載されたコンピュータを機能させるプログラムであって、
オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する遅延時間導出手段と、
遅延時間が規定時間よりも長い場合、セッション制御サーバを介して着呼先ピアノードへ呼接続要求を送信する第１の呼接続要求手段と、
遅延時間が規定時間以内である場合、オーバレイネットワークを介して着呼先ピアノードへ呼接続要求を送信する第２の呼接続要求手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２５】
本発明の呼接続方法、ピアノード及びプログラムによれば、通信事業者ネットワークにオーバレイネットワークを連携させることによって、呼接続確立時間を規定値以下に抑えながら、通信事業者ネットワークに対する負荷を低く抑えることができる。
【発明を実施するための最良の形態】
【００２６】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２７】
図１は、本発明におけるシステム構成図である。
【００２８】
図１のシステムによれば、複数のピアノード１、発呼元端末２及び着呼先端末３が物理ネットワーク４に接続されている。その物理ネットワーク４上には、複数のピアノード１によって仮想的にオーバレイネットワーク５が構成されている。更に、ピアノード１は、ＩＭＳ／ＭＭＤシステム６に接続することができる。
【００２９】
発呼元端末２及び着呼先端末３は、ピアノード１に対するＳＩＰ−ＵＡ(SIP - User Agent)として機能する。オーバレイネットワークは、例えばＰ２ＰＳＩＰ(Peer to Peer -
Session Initiation Protocol)によって構築されている。そのため、ピアノード１は、ＩＭＳ／ＭＭＤシステムに接続するＳＩＰ−ＵＡの機能と、Ｐ２Ｐピアの機能とを合わせ持つ。
【００３０】
図２は、本発明で用いる構造化オーバレイの説明図である。
【００３１】
分散ハッシュテーブル（ＤＨＴ:Distributed Hash Table）を用いた代表的な構造化オーバレイの技術として、Ｃｈｏｒｄがある。Ｃｈｏｒｄは、時計回りに識別値が増加していく、リング状（環状）ハッシュ空間を考える。識別値は、ＳＨＡ１ハッシュ関数の値である。ノードは、例えばＩＰアドレス及びポート番号を連結した値を入力としてハッシュ関数から得られた値を、ノード識別値として決定する。分散ハッシュテーブルの特徴の１つに、拡張性（スケーラビティ）がある。アドレス情報を検索する際に中継するユーザ端末数は、ユーザ端末総数のログオーダに抑えられるため、ユーザ端末数が増加した場合であっても効率的な検索が可能となる。
【００３２】
図２によれば、１０個のノード●が、リング状ハッシュ空間に配置されている。オーバレイネットワークを構成するピアノードは、リング状ハッシュ空間にマッピングされる。また、各端末は、いずれか１つのピアノードに接続される（勿論、ピアノード自身が、SIP-UAの端末として機能してもよい）。図２によれば、発呼元端末(alice@auone.jp)は、ピアノードＮ８に接続しており、着呼先端末(bob@auone.jp)は、ピアノードＮ５８に接続している。
【００３３】
更に、各端末は、そのアドレス（ＳＩＰ ＡＯＲ(Address Of Record)）を入力としてハッシュ関数から得られた値を、端末識別値として決定する。その端末識別値も、リング状ハッシュ空間に配置される。図２によれば、着呼先端末のＡＯＲは、bob@auone.jpで表されている。この着呼先端末における端末識別値は、hash(bob@auone.jp)＝Ｎ５４にマッピングされる。
【００３４】
図２によれば、着呼先端末は、リング状ハッシュ空間におけるピアノードＮ５８に接続している。このとき、着呼先端末(bob@auone.jp)はピアノードＮ５８に接続している旨の登録情報が、端末識別値Ｎ５４にマッピングされる。ここで、Ｎ５４には、ピアノードが割り当てられていない。そのために、Ｎ５４から見て、時計回りに最も近いピアノードＮ５６が選択される。そして、着呼先端末がピアノードＮ５８に接続している旨の登録情報は、ピアノードＮ５６に登録される。
【００３５】
ここで、「サクセッサリスト」及び「フィンガーテーブル」が用いられる。「サクセッサリスト」とは、ハッシュ空間上で隣接する複数のピアノードの情報を保持する。従って、当該ピアノードの識別値ｋを与えたとき、時計回りに辿って、最初に存在するピアノードを得られる。
【００３６】
「フィンガーテーブル」には、ルーティングテーブルが保持される。フィンガーテーブルは、当該ピアノードの識別値（例えばＮ８）に、２のｋ乗（１，２，４，８，１６・・・）を加算した数ｘと、その数ｘを入力としたサクセッサ（ｘ）のピアノードの識別値とを記憶する。また、各ピアノードは、定期的にフィンガーテーブルに登録された他の複数のピアノードへ、Keep-Aliveメッセージを送信することによって、ＲＴＴ(Round Trip Time)を測定している。フィンガーテーブルは、そのＲＴＴを平均遅延時間として記憶する。
【００３７】
図２は、６ビットのハッシュ識別値空間の例であり、フィンガーテーブルの行数は６個となる（例えば、１６０ビットのハッシュ識別値空間の場合、フィンガーテーブルの行数は１６０個）。hash(bob@auone.jp)＝Ｎ５４をルックアップする場合について説明する。
【００３８】
（ホップ１）Ｎ８は、Ｎ５４をルックアップするに当たり、フィンガーテーブルを参照し、Ｎ５４から反時計回りに最も近い、８＋２６（３２）＝４０、即ち、ピアノードが存在するＮ４２を検索する。そして、Ｎ８は、ルックアップメッセージをＮ４２へ転送する。
（ホップ２）Ｎ４２は、Ｎ５４をルックアップするに当たり、フィンガーテーブルを参照して、Ｎ５４から反時計回りに最も近い数、４２＋２４（８）＝５０、即ち、ピアノードが存在するＮ５１を検索する。そして、Ｎ４２は、ルックアップメッセージをＮ５１へ転送する。
（ホップ３）Ｎ５１は、自身で保持するサクセッサであるＮ５６との間に、Ｎ５４が存在するために、Ｎ５４に該当する応答登録ピアノードがＮ５６であることを検出する。従って、Ｎ５１は、ルックアップメッセージをＮ５６へ転送し、bob@auone.jpの登録情報を得ることができる。
【００３９】
図３は、本発明におけるホップ数の推定を表す説明図である。
【００４０】
図３によれば、図２と同様に、hash(bob@auone.jp)＝Ｎ５４をルックアップする場合におけるホップ数を推定する。
（ホップ１）Ｎ８のフィンガーテーブルによれば、Ｎ５４から反時計回りに最も近い数は８＋２６（３２）の４０である。ここで、ピアノードＮ４０が存在すると仮定する。
（ホップ２）Ｎ４０のフィンガーテーブルによれば、Ｎ５４から反時計回りに最も近い数は４０＋２３（８）＝４８である。ここで、ピアノードＮ４８が存在すると仮定する。
（ホップ３）Ｎ４８のフィンガーテーブルによれば、Ｎ５４から反時計回りに最も近い数は４８＋２２（４）＝５２である。ここで、ピアノードＮ５２が存在すると仮定する。例えば、１つのピアノードが管理する平均識別値（ＩＤ）空間が３であるとする。そうすると、ピアノードＮ５２とピアノードＮ５４との差は、２であるので、ホップ数の計数を終了する。従って、ホップ数４と推定される。
【００４１】
図４は、ホップ数を推定するプログラムである。
【００４２】
Ｃｈｏｒｄのオーバレイネットワークでは、送信元ピアノードのアドレスから導出される第１の識別値から、２ｋ（ｋは１以上の整数）毎の識別値を有するピアノードへ、１ホップで通信可能である。
interval：サクセッサリストに含まれるリング状ハッシュ空間を、サクセッサ数で除算した平均ＩＤ空間（１ピアノードが管理するＩＤ空間）
distance：発呼元ピアノードのアドレスから導出される第１の識別値と、着呼先ピアノードのアドレスから導出される第２の識別値との差である距離値
hop：推定されたホップ数（初期値１）
bit_num：最大ホップ乗数（リング状ハッシュ空間を表すビット数）
【００４３】
距離値distanceが平均ＩＤ空間よりも大きい場合に、以下のステップが繰り返される。
（１）ｋを所定最大ホップ乗数から１減分する。
（２）距離値distanceから２ｋが減算できるか否か、即ち、距離値distanceが２ｋよりも大きいか否かを判定する。
減算できる場合に、ホップ数を増分する。
距離値から２ｋを減算する。
（３）距離値distanceが平均ＩＤ空間よりも小さくなった場合、処理を終了する。
【００４４】
図５は、図３に対応して、図４のプログラムの各ステップを説明したプログラムステップである。尚、各ステップは、前述した図３と同じである。
【００４５】
図６は、本発明における呼制御方法のシーケンス図である。
【００４６】
Ｓ６０１〜Ｓ６０５は、端末及びピアノードの登録シーケンスである。
【００４７】
（Ｓ６０１）第１の端末(alice@auone.jp)は、セッション制御サーバへ登録要求REGISTERを送信することによって、ＩＭＳ／ＭＭＤシステムに登録する。具体的には、REGISTERには、Toフィールドには第１の端末のSIP AOR（例：sip:alice@auone.jp）を記述し、Contactフィールドにはアドレス情報（sip:alice@192.0.2.4）を記述する。第１の端末とＩＭＳ／ＭＭＤシステムとの間での認証が成功した後、そのアドレス情報がＩＭＳ／ＭＭＤシステムに登録される。同様に、第２の端末(bob@auone.jp)も、セッション制御サーバへ登録要求REGISTERを送信することによって、ＩＭＳ／ＭＭＤシステムに登録する。
【００４８】
また、オーバレイネットワークに接続される各ピアノードも、セッション制御サーバへ登録要求REGISTERを送信することによって、ＩＭＳ／ＭＭＤシステムに登録する。
【００４９】
（Ｓ６０２）第１の端末(alice@auone.jp)は、オーバレイネットワークに接続されるピアノードＮ８に接続する。そして、第１の端末(alice@auone.jp)は、ピアノードＮ８へ登録要求REGISTERを送信することによって、オーバレイネットワークに登録する。
【００５０】
（Ｓ６０３）また、第２の端末(bob@auone.jp)も、オーバレイネットワークに接続されるピアノードＮ５８へ登録要求REGISTERを送信することによって、オーバレイネットワークに登録する。
【００５１】
（Ｓ６０４）ここで、ピアノードＮ５８は、第２の端末(bob@auone.jp)に接続されている旨の登録情報を含む登録リクエストを、ピアノードＮ５６へ送信する。登録リクエストは、Ｐ２ＰＳＩＰにおけるRELOAD STOREによって送信される。これによって、ピアノードＮ５６は、第２の端末(bob@auone.jp)がピアノードＮ５８に接続されている旨の情報を登録する。そして、ピアノードＮ５６は、ピアノードＮ５８へ、登録レスポンスを返信する。登録レスポンスは、Ｐ２ＰＳＩＰにおけるSTOREによって返信される。尚、RELOADとは、ＩＥＴＦにおけるRELOAD(REsource LOcation And Discovery)プロトコルを意味する。
【００５２】
（Ｓ６０５）ピアノードＮ５８は、200OKを、着呼先端末(bob@auone.jp)へ返信する。
【００５３】
次に、Ｓ６１１〜Ｓ６１９は、本発明における呼接続シーケンスである。本発明によれば、発呼元ピアノードが、オーバレイネットワークを介した遅延時間を推定することによって、実際にセッション確立に、オーバレイネットワーク（Ｐ２ＰＳＩＰ）を用いるか又はＩＭＳ／ＭＭＤシステム（通信事業者ネットワーク）を用いるかが選択される。
【００５４】
（Ｓ６１１）第１の端末(alice@auone.jp)は、第２の端末(bob@auone.jp)と呼接続をするために、ピアノードＮ８へ、発呼要求INVITEを送信する。
【００５５】
（Ｓ６１２）発呼元ピアノードＮ８は、オーバレイネットワークを介した着呼先ピアノードに対する遅延時間を導出する。遅延時間は、発呼元ピアノードＮ８からオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、発呼元ピアノードＮ８からオーバレイネットワークを介して着呼先ピアノードＮ５４までのホップ数との乗算によって、遅延時間が導出される。
遅延時間＝平均遅延時間×ホップ数
ホップ数は、図３〜図５の方法によって算出される。平均遅延時間は、発呼元ピアノードが、１ホップで通信可能な他の複数のピアノードへ、定期的にKeep-Aliveメッセージを送信することによって測定されるＲＴＴ(Round Trip Time)の平均時間である。
【００５６】
（Ｓ６１３）発呼元ピアノードＮ８は、遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信するように動作し、遅延時間が規定時間よりも長い場合、ＩＭＳ／ＭＭＤシステムへ呼接続要求を送信するように動作する。
【００５７】
（Ｓ６１４）ピアノードＮ８は、ＩＭＳ／ＭＭＤシステムを介して呼接続する場合、ＳＩＰサーバへINVITEメッセージを送信する。
【００５８】
（Ｓ６１５）ピアノードＮ８は、オーバレイネットワークを介して呼接続する場合、RELOADのFETCHリクエスト（検索リクエスト）を、オーバレイネットワークへ送信する。図６によれば、RELOADのFETCHリクエストは、Ｎ５６に最も近い２ｋ先の識別値のピアノードへホップする（Ｎ４２->Ｎ５１）ことを繰り返して、応答登録ピアノードＮ５６へ転送される。これに対し、応答登録ピアノードとなるＮ５６は、着呼先ピアノードはＮ５８である旨の登録情報を付加したFETCHレスポンスを返信する。
【００５９】
（Ｓ６１６）更に、ピアノードＮ８は、FETCHレスポンス内の着呼先ピアノードＮ５８に対して、遅延時間を推定する。この推定方法は、図４のアルゴリズムによって推定する。
【００６０】
（Ｓ６１７）発呼元ピアノードＮ８は、遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信するように動作し、遅延時間が規定時間よりも長い場合、ＩＭＳ／ＭＭＤシステムへ呼接続要求を送信するように動作する。ピアノードＮ８は、ＩＭＳ／ＭＭＤシステムを介して呼接続する場合、Ｓ６１４へ移行し、ＳＩＰサーバへINVITEメッセージを送信する。
【００６１】
（Ｓ６１８）ピアノードＮ８は、オーバレイネットワークを介して呼接続する場合、SIP INVITEメッセージをTUNNELメッセージでカプセル化する。そして、このTUNNELメッセージをオーバレイネットワーク上に送信する。このTUNNELメッセージは、Ｎ５８に到達する。着呼先ピアノードＮ５８は、TUNNELメッセージからSIP INVITEを取り出す。そのSIP INVITEは、着呼先端末(bob@auone.jp)へ送信される。その後、SIP-UA間で、メッセージを送受信することによって、発呼元端末と着呼先端末と間で、呼接続が確立する。
【００６２】
図７は、本発明における発呼元となるピアノードの機能構成図である。
【００６３】
図７によれば、ピアノード１は、遅延時間導出部１０１と、第１の呼接続要求部１０２と、第２の呼接続要求部１０３と、着呼先検索部１０４と、登録受付部１０５と、呼接続要求受信部１０６とを有する。これら機能構成部は、ピアノードに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００６４】
遅延時間導出部１０１は、オーバレイネットワークを介して、着呼先ピアノード、又は、当該着呼先ピアノードの登録情報を登録した応答登録ピアノードに対する遅延時間を導出する。遅延時間は、発呼元ピアノードからオーバレイネットワークを介して１ホップで通信可能な他の複数のピアノードに対する平均遅延時間と、発呼ピアノードからオーバレイネットワークを介して着呼先ピアノード又は応答登録ピアノードまでのホップ数との乗算によって導出される。前述した図３〜図５によってホップ数を算出し、Keep-Aliveメッセージによって取得したＲＴＴを平均遅延時間とする。
【００６５】
第１の呼接続要求部１０２は、遅延時間が規定時間よりも長い場合、セッション制御サーバへ呼接続要求を送信する。
【００６６】
第２の呼接続要求部１０３は、遅延時間が規定時間以内である場合、オーバレイネットワークへ呼接続要求を送信する。
【００６７】
着呼先検索部１０４は、遅延時間が規定時間以内である場合、RELOADのFETCHメッセージによって応答登録ピアノードを検索する。検索リクエストを、第２の識別値に最も近い２ｋ先の識別値のピアノードへ送信することによって、ホップを繰り返して、第２の識別値に該当する応答登録ピアノードへ送信し、応答登録ピアノードから、着呼先ピアノードの登録情報を受信する。
【００６８】
登録受付部１０５は、端末から登録を受け付ける。当該ピアノードが当該端末に接続されていることを表す登録情報は、オーバレイネットワーク上に登録される。その登録情報は、リング状ハッシュ空間で、当該端末のアドレスから導出される識別値から時計回りに最も近いピアノードに登録される。
【００６９】
呼接続要求受信部１０６は、発呼元端末から呼接続要求を受信する。呼接続要求を受信した旨は、遅延時間導出部１０１へ通知され、遅延時間の導出が実行させる。
【００７０】
以上、詳細に説明したように、本発明の呼接続方法、ピアノード及びプログラムによれば、通信事業者ネットワークにオーバレイネットワークを連携させることによって、呼接続確立時間を規定値以下に抑えながら、通信事業者ネットワークに対する負荷を低く抑えることができる。
【００７１】
特に、セッション確立時に、オーバレイネットワークによって推定されるセッション確立時間が規定時間を超える場合に、ＩＭＳ／ＭＭＤシステムを介してセッションを確立することによって、セッション確立時間を保証する。これにより、オーバレイネットワークといった高遅延が生じるシステムを併用する場合でも、事業者品質でのサービス提供が可能となる。
【００７２】
また、オーバレイネットワーク及びＩＭＳ／ＭＭＤシステムの両方に接続可能なピアノードが、セッション確立時にオーバレイネットワークを優先的に使用することで、ＩＭＳ／ＭＭＤシステムにおけるＣＳＣＦサーバへの負荷を削減できる。これにより、通信事業者が負担する設備及び運用コストの削減が可能となる。これは、ユーザに対する低価格の通信サービスの提供につながる。
【００７３】
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００７４】
【図１】本発明におけるシステム構成図である。
【図２】本発明で用いる構造化オーバレイの説明図である。
【図３】本発明におけるホップ数の推定を表す説明図である。
【図４】ホップ数を推定するプログラムである。
【図５】図３に対応して、図４のプログラムの各ステップを説明したプログラムステップである。
【図６】本発明における呼制御方法のシーケンス図である。
【図７】本発明における発呼元となるピアノードの機能構成図である。
【符号の説明】
【００７５】
１  ピアノード
１０１  遅延時間導出部
１０２  第１の呼接続要求部
１０３  第２の呼接続要求部
１０４  着呼先検索部
１０５  登録受付部
１０６  呼接続要求受信部
２  発呼元端末
３  着呼先端末
４  物理ネットワーク
５  オーバレイネットワーク
６  ＩＭＳ／ＭＭＤシステム
【図１】
2010062958.tif 000003
【図２】
2010062958.tif 000004
【図３】
2010062958.tif 000005
【図４】
2010062958.tif 000006
【図５】
2010062958.tif 000007
【図６】
2010062958.tif 000008
【図７】
2010062958.tif 000009