(57)【特許請求の範囲】
【請求項１】
複数の端末が、ネットワークに接続された複数の中継装置を介して通信するシステムについて、各中継装置は、登録可能な１つ以上の登録サービス識別子を有しており、
前記端末が、第１のサービス識別子と、第１の端末識別子（ｎビット）と、第１の端末アドレスとを含む識別子登録要求を、前記ネットワークへ送信するステップと、
第１のサービス識別子を前記登録サービス識別子とする第１の中継装置が、前記識別子登録要求を受信し、第１の端末識別子及び第１の端末アドレスを経路テーブルに登録するステップと
を有するパケット中継方法であって、
第１の中継装置が、前記登録サービス識別子毎に、登録された端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合に、前記端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する第１のステップと、
前記第１の中継装置が、委譲要求を第２の中継装置へ送信する第２のステップと、
第２の中継装置が、端末アドレスが登録されていない第２の登録サービス識別子を選択する第３のステップと、
第２の中継装置が、第２の登録サービス識別子を含む委譲応答を第１の中継装置に送信する第４のステップと、
第１の中継装置が、分割した端末識別子範囲と、前記委譲応答で受信した第２の登録サービス識別子を中継先のサービス識別子として経路テーブルに登録する第５のステップと
を有することを特徴とするパケット中継方法。
【請求項２】
第１の中継装置が、端末から前記識別子登録要求を更に受信し、該識別子登録要求の第１のサービス識別子が前記登録サービス識別子であり、且つ、前記識別子登録要求の端末識別子が第１のサービス識別子における分割した端末識別子範囲に該当する場合、当該端末へ、前記端末識別子範囲に登録された中継先の第２のサービス識別子を含むリダイレクト要求を返信する第６のステップと、
前記端末が、第１のサービス識別子を第２のサービス識別子に置換した前記識別子登録要求を、前記ネットワークへ再度送信する第７のステップと、
第２のサービス識別子を前記登録サービス識別子とする第２の中継装置が、前記識別子登録要求を受信し、前記識別子登録要求の端末識別子及び端末アドレスを経路テーブルに登録する第８のステップと
を更に有することを特徴とする請求項１に記載のパケット中継方法。
【請求項３】
前記端末が、前記サービス識別子及び前記端末識別子を含むデータパケットを前記ネットワークへ送信する第９のステップと、
前記データパケットの前記サービス識別子を前記登録サービス識別子とする中継装置が、前記データパケットを受信する第１０のステップと、
前記端末識別子が前記サービス識別子における分割した端末識別子範囲に該当する場合、前記データパケットに前記端末識別子範囲に登録された中継先のサービス識別子を含めて前記ネットワークへ送信し、逆に、該当しない場合、前記端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、該端末識別子に対応する前記端末アドレスへ、前記データパケットを送信する第１１のステップと
を更に有することを特徴とする請求項１又は２に記載のパケット中継方法。
【請求項４】
前記端末が、前記サービス識別子及び前記端末識別子と、前記端末識別子の最上位ビットからのマッチングビット数を含むデータパケットを前記ネットワークへ送信する第１２のステップと、
前記データパケットの前記サービス識別子を前記登録サービス識別子とする中継装置が、前記データパケットを受信する第１３のステップと、
前記サービス識別子における端末識別子の階層構造において、前記端末識別子の最上位ビットから見てマッチングビット数の分のビット列を階層構造の上位とする端末識別子範囲が存在する場合、前記データパケットに前記端末識別子範囲に登録された中継先のサービス識別子を含めて前記ネットワークへ送信し、逆に、端末識別子範囲が存在しない場合、前記端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、且つ、該端末識別子に対応する前記端末アドレスへ、前記データパケットを送信する第１４のステップと
を更に有することを特徴とする請求項１又は２に記載のパケット中継方法。
【請求項５】
前記端末識別子は、当該端末の存在位置に基づく位置識別子であって、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子を含むものであり、
前記マッチングビット数は、当該データパケットの配信エリアを構成するために、配信エリアの距離範囲から生成されることを特徴とする請求項４に記載のパケット中継方法。
【請求項６】
前記中継装置によって構成された前記ネットワークは、分散ハッシュテーブルを用いて自律分散的に構成されたオーバレイネットワークであることを特徴とする請求項１から５のいずれか１項に記載のパケット中継方法。
【請求項７】
第２のステップについて、委譲先となる第２の中継装置を選択するために、
第１の中継装置が、前記端末へ、測定要求を送信するステップと、
前記端末が、任意の複数のサービス識別子を生成し、当該サービス識別子を含む測定パケットを前記ネットワークへ送信するステップと、
前記サービス識別子を登録サービス識別子とする中継装置が、前記測定パケットを受信し、前記端末へ前記測定パケットを返信するステップと、
前記測定パケットを受信した前記端末が、前記中継装置との間の遅延時間を計測し、サービス識別子及び当該遅延時間を含む測定応答を第１の中継装置へ送信するステップと、
第１の中継装置は、統計的に、最も遅延時間の短い中継装置を委譲先として選択するステップと
を更に有することを特徴とする請求項１から６のいずれか１項に記載のパケット中継方法。
【請求項８】
端末及び他の中継装置とネットワークを介して通信する中継装置において、
登録可能な１つ以上の登録サービス識別子を記憶する登録サービス識別子記憶手段と、
前記端末から、サービス識別子と、端末識別子（ｎビット）と、端末アドレスとを含む識別子登録要求を受信する登録要求受信手段と、
前記識別子登録要求の前記サービス識別子が前記登録サービス識別子であるか否かを判定する登録判定手段と、
前記識別子登録要求の前記サービス識別子が前記登録サービス識別子である場合、その端末識別子及び端末アドレスを登録する経路テーブルと、
前記登録サービス識別子毎に、登録された前記端末アドレス数が所定閾値（Ｔｈ１）よりも多いか否かを判定する登録数判定手段と、
前記端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、前記端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する端末識別子範囲分割手段と、
委譲要求を第２の中継装置へ送信する委譲要求送信手段と
を有し、
前記経路テーブルは、分割した端末識別子範囲毎に、前記委譲応答で受信した前記登録サービス識別子を中継先のサービス識別子として登録する
ことを特徴とする中継装置。
【請求項９】
前記登録判定手段は、端末から更に受信した前記識別子登録要求の第１のサービス識別子が前記登録サービス識別子であり、且つ、前記識別子登録要求の端末識別子が第１のサービス識別子における分割した端末識別子範囲に該当するか否かを判定し、
前記判定が真である場合、当該端末へ、前記端末識別子範囲に登録された中継先の第２のサービス識別子を含むリダイレクト要求を返信するリダイレクト要求送信手段を更に有することを特徴とする請求項８に記載の中継装置。
【請求項１０】
前記端末から、前記登録サービス識別子と一致するサービス識別子を含むデータパケットを受信するデータパケット受信手段と、
前記端末識別子が当該サービス識別子における分割した端末識別子範囲に該当する場合、前記端末識別子範囲に登録された中継先の第２のサービス識別子を選択し、逆に、該当しない場合、前記端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、該端末識別子に対応する前記端末アドレスを選択する送信先選択手段と、
第２のサービス識別子が選択された場合、第２のサービス識別子を含む前記データパケットを前記ネットワークへ送信し、前記端末アドレスが選択された場合、前記データパケットを該端末アドレスへ送信するデータパケット送信手段と
を更に有することを特徴とする請求項８又は９に記載の中継装置。
【請求項１１】
前記端末から、前記登録サービス識別子と一致するサービス識別子とマッチングビット数を含むデータパケットを受信するデータパケット受信手段と、
当該サービス識別子における端末識別子の階層構造において、前記端末識別子の最上位ビットから見てマッチングビット数の分のビット列を階層構造の上位とする端末識別子範囲が存在する場合、前記端末識別子範囲に登録された中継先の第２のサービス識別子を選択し、逆に、存在しない場合、前記端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、且つ、該端末識別子に対応する前記端末アドレスを選択する送信先選択手段と、
第２のサービス識別子が選択された場合、第２のサービス識別子を含む前記データパケットを前記ネットワークへ送信し、前記端末アドレスが選択された場合、前記データパケットを該端末アドレスへ送信するデータパケット送信手段と
を更に有することを特徴とする請求項８又は９に記載の中継装置。
【請求項１２】
前記端末識別子は、当該端末の存在位置に基づく位置識別子であって、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子を含むものであり、
前記マッチングビット数は、当該データパケットの配信エリアを構成するために、配信エリアの距離範囲から生成されることを特徴とする請求項１１項に記載の中継装置。
【請求項１３】
前記ネットワークは、分散ハッシュテーブルを用いて自律分散的に構成されたオーバレイネットワークであることを特徴とする請求項８から１２のいずれか１項に記載の中継装置。
【請求項１４】
委譲先となる第２の中継装置を選択するために、
前記端末へ測定要求を送信し、該端末から測定応答を受信する遅延時間測定手段と、
複数の前記測定応答から、統計的に、最も遅延時間の短い中継装置を委譲先として選択する委譲先選択手段と
を更に有することを特徴とする請求項８から１３のいずれか１項に記載の中継装置。
【請求項１５】
端末及び他の中継装置とネットワークを介して通信する中継装置に搭載されたコンピュータを機能させるプログラムにおいて、
登録可能な１つ以上の登録サービス識別子を記憶する登録サービス識別子記憶手段と、
前記端末から、サービス識別子と、端末識別子（ｎビット）と、端末アドレスとを含む識別子登録要求を受信する登録要求受信手段と、
前記識別子登録要求の前記サービス識別子が前記登録サービス識別子であるか否かを判定する登録判定手段と、
前記識別子登録要求の前記サービス識別子が前記登録サービス識別子である場合、その端末識別子及び端末アドレスを登録する経路テーブルと、
前記登録サービス識別子毎に、登録された前記端末アドレス数が所定閾値（Ｔｈ１）よりも多いか否かを判定する登録数判定手段と、
前記端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、前記端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する端末識別子範囲分割手段と、
委譲要求を第２の中継装置へ送信する委譲要求送信手段と
してコンピュータを機能させ、
前記経路テーブルは、分割した端末識別子範囲毎に、前記委譲応答で受信した前記登録サービス識別子を中継先のサービス識別子として登録するようにコンピュータを機能させることを特徴とする中継装置用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データパケットを中継する中継方法、中継装置及びプログラムに関する。
【背景技術】
【０００２】
従来、車両の位置情報を蓄積したデータベースが、インターネットに接続されており、利用者の所持する端末から、リアルタイムに車両の位置情報を取得することができる車両運行管理サービスが提供されている（例えば非特許文献１参照）。車両に搭載された端末は、ＧＰＳ(Global Positioning System)により当該車両自身の位置情報を取得する。その位置情報は、移動アクセスネットワークを介して、データベースに登録される。利用者の所持する端末が、データベースにアクセスすることにより、特定車両の現在位置や移動履歴を取得できる。また、特定エリア内に存在する車両情報を検索することもできる。
【０００３】
また、本願と同一の発明者らは、端末が、物理的な位置情報から生成した識別子を、送信するデータパケットに付加する技術を提案している（例えば非特許文献２参照）。この技術によれば、中継装置は、受信したデータパケットを、その識別子によって特定される位置に存在する１つ以上の端末へ、配信することができる。中継装置の経路制御が、経路テーブルに記憶された識別子とデータパケットの識別子とのビットマッチングのみで実現できるために、従来の算術演算に比べて高速に処理することができる。
【０００４】
この技術について具体的には、端末は、識別子登録要求を中継装置へ送信する。識別子登録要求は、現在位置である緯度・経度情報を１ビットずつ交互に挿入した識別子と、当該端末のＩＰアドレスとを含む。中継装置は、受信した識別子登録要求の識別子及びＩＰアドレスを、経路テーブルに登録する。
【０００５】
その後、送信元端末は、データパケットの宛先となる所望位置から識別子を生成する。そして、送信元端末は、送信すべきデータパケットにその識別子を含めて、中継装置へ送信する。このとき、識別子が示す所望位置に最も近い端末にのみ配信するユニキャストモードと、所望位置範囲内の全端末に配信するマルチキャストモードとがある。このモードは、データパケットに指定されている。
【０００６】
ユニキャストモードの場合、中継装置は、データパケットに含まれる識別子と最長で合致する識別子を、経路テーブルから選択する。選択された識別子に対応するＩＰアドレス宛に、そのデータパケットが送信される。一方で、マルチキャストモードの場合、中継装置は、データパケットに含まれる識別子に対して、指定されたマッチングビット数以上合致する１つ以上の識別子を、経路テーブルから選択する。選択された１つ以上の識別子に対応する全てのＩＰアドレス宛に、そのデータパケットが送信される。
【０００７】
また、従来、リング状のネットワークに複数の中継装置間で、分散ハッシュテーブル(Distributed Hash Table)のChord技術を用いた、自律分散的なオーバレイネットワークが構築されている（例えば非特許文献３参照）。この技術によれば、端末に付与された識別子に基づいて、複数の中継装置が、端末のＩＰアドレスを分散管理する。
【０００８】
Chord技術によれば、中継装置には、そのＩＰアドレスをハッシュ関数にかけて得られた識別子が割り当てられる。端末から送信されるデータパケットには、識別子が付与されている。リング状ネットワークに流されたデータパケットは、その識別子の値が増える方向で最も近い識別子を持つ中継装置に中継される。この技術によれば、複数の中継装置が、中継すべきデータパケットの識別子及び端末アドレスを分散管理するために、いずれの中継装置に中継されたかを、端末又はユーザ自身が知る必要は全くない。
【０００９】
【非特許文献１】「ＤｏＣｏです・カー」、ドコモ・システムズ株式会社、[online]、[平成１９年１２月６日検索]、インターネット＜URL:http://info.doco-car.jp/car/index.html＞
【非特許文献２】蕨野貴之、松中隆志、岸洋司、「オーバレイネットワークにおける位置情報ルーティング方式の提案と評価」、ＫＤＤＩ研究所、信学技報、Vol.107 No.221 pp.31-36
【非特許文献３】Ion Stoica, Daniel Adkins, Shelley Zhaung,Scott Shenker, and Sonesh Surana, “Internet Indirection Infrastructure,” Proc.ACM SIGCOMM'02, Pittsburgh, PA., pp. 73-86
【発明の開示】
【発明が解決しようとする課題】
【００１０】
非特許文献１に記載された技術によれば、データベースに登録される車両数が膨大な数になると、データベースの検索処理時間も大幅に増加する。例えば、特定のエリアに存在する車両を検索する場合、全車両の位置情報に対して、各車両の位置情報がエリア内に含まれるかどうかを判定しなければならない。位置情報は、緯度・経度及び範囲によって表される。従って、各車両の位置情報の緯度が、検索したい緯度の範囲内に存在し、且つ、各車両の位置情報の経度が、検索したい経度の範囲内に存在することを判定する。パケットを中継する中継装置が、このような判定処理をすることは、処理負荷が増大するだけでなく、経路制御に時間がかかることとなる。
【００１１】
また、非特許文献２に記載された技術によれば、単一の中継装置によってのみ実現可能であって、１つの中継装置に登録される端末アドレスの数が増大することとなる。これは、中継装置における処理負荷を増大するだけでなく、システム全体の拡張性（スケーラビリティ）を制限する。
【００１２】
従って、本発明は、端末に割り当てられた識別子に基づいて、端末の経路情報を、複数の中継装置によって分散管理することができる中継方法、中継装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によれば、複数の端末が、ネットワークに接続された複数の中継装置を介して通信するシステムについて、各中継装置は、登録可能な１つ以上の登録サービス識別子を有しており、
端末が、第１のサービス識別子と、第１の端末識別子（ｎビット）と、第１の端末アドレスとを含む識別子登録要求を、ネットワークへ送信するステップと、
第１のサービス識別子を登録サービス識別子とする第１の中継装置が、識別子登録要求を受信し、第１の端末識別子及び第１の端末アドレスを経路テーブルに登録するステップと
を有するパケット中継方法であって、
第１の中継装置が、登録サービス識別子毎に、登録された端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合に、端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する第１のステップと、
第１の中継装置が、委譲要求を第２の中継装置へ送信する第２のステップと、
第２の中継装置が、端末アドレスが登録されていない第２の登録サービス識別子を選択する第３のステップと、
第２の中継装置が、第２の登録サービス識別子を含む委譲応答を第１の中継装置に送信する第４のステップと、
第１の中継装置が、分割した端末識別子範囲と、委譲応答で受信した第２の登録サービス識別子を中継先のサービス識別子として経路テーブルに登録する第５のステップと
を有することを特徴とする。
【００１４】
本発明のパケット中継方法における他の実施形態によれば、
第１の中継装置が、端末から識別子登録要求を更に受信し、該識別子登録要求の第１のサービス識別子が登録サービス識別子であり、且つ、識別子登録要求の端末識別子が第１のサービス識別子における分割した端末識別子範囲に該当する場合、当該端末へ、端末識別子範囲に登録された中継先の第２のサービス識別子を含むリダイレクト要求を返信する第６のステップと、
端末が、第１のサービス識別子を第２のサービス識別子に置換した識別子登録要求を、ネットワークへ再度送信する第７のステップと、
第２のサービス識別子を登録サービス識別子とする第２の中継装置が、識別子登録要求を受信し、識別子登録要求の端末識別子及び端末アドレスを経路テーブルに登録する第８のステップと
を更に有することも好ましい。
【００１５】
本発明のパケット中継方法における他の実施形態によれば、
端末が、サービス識別子及び端末識別子を含むデータパケットをネットワークへ送信する第９のステップと、
データパケットのサービス識別子を登録サービス識別子とする中継装置が、データパケットを受信する第１０のステップと、
端末識別子がサービス識別子における分割した端末識別子範囲に該当する場合、データパケットに端末識別子範囲に登録された中継先のサービス識別子を含めてネットワークへ送信し、逆に、該当しない場合、端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスへ、データパケットを送信する第１１のステップと
を更に有することも好ましい。
【００１６】
本発明のパケット中継方法における他の実施形態によれば、
端末が、サービス識別子及び端末識別子と、端末識別子の最上位ビットからのマッチングビット数を含むデータパケットをネットワークへ送信する第１２のステップと、
データパケットのサービス識別子を登録サービス識別子とする中継装置が、データパケットを受信する第１３のステップと、
サービス識別子における端末識別子の階層構造において、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を階層構造の上位とする端末識別子範囲が存在する場合、データパケットに端末識別子範囲に登録された中継先のサービス識別子を含めてネットワークへ送信し、逆に、端末識別子範囲が存在しない場合、端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスへ、データパケットを送信する第１４のステップと
を更に有することも好ましい。
【００１７】
本発明のパケット中継方法における他の実施形態によれば、
端末識別子は、当該端末の存在位置に基づく位置識別子であって、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子を含むものであり、
マッチングビット数は、当該データパケットの配信エリアを構成するために、配信エリアの距離範囲から生成されることも好ましい。
【００１８】
本発明のパケット中継方法における他の実施形態によれば、
中継装置によって構成されたネットワークは、分散ハッシュテーブルを用いて自律分散的に構成されたオーバレイネットワークであることも好ましい。
【００１９】
本発明のパケット中継方法における他の実施形態によれば、
第２のステップについて、委譲先となる第２の中継装置を選択するために、
第１の中継装置が、端末へ、測定要求を送信するステップと、
端末が、任意の複数のサービス識別子を生成し、当該サービス識別子を含む測定パケットをネットワークへ送信するステップと、
サービス識別子を登録サービス識別子とする中継装置が、測定パケットを受信し、端末へ測定パケットを返信するステップと、
測定パケットを受信した端末が、中継装置との間の遅延時間を計測し、サービス識別子及び当該遅延時間を含む測定応答を第１の中継装置へ送信するステップと、
第１の中継装置は、統計的に、最も遅延時間の短い中継装置を委譲先として選択するステップと
を更に有することも好ましい。
【００２０】
本発明によれば、端末及び他の中継装置とネットワークを介して通信する中継装置において、
登録可能な１つ以上の登録サービス識別子を記憶する登録サービス識別子記憶手段と、
端末から、サービス識別子と、端末識別子（ｎビット）と、端末アドレスとを含む識別子登録要求を受信する登録要求受信手段と、
識別子登録要求のサービス識別子が登録サービス識別子であるか否かを判定する登録判定手段と、
識別子登録要求のサービス識別子が登録サービス識別子である場合、その端末識別子及び端末アドレスを登録する経路テーブルと、
登録サービス識別子毎に、登録された端末アドレス数が所定閾値（Ｔｈ１）よりも多いか否かを判定する登録数判定手段と、
端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する端末識別子範囲分割手段と、
委譲要求を第２の中継装置へ送信する委譲要求送信手段と
を有し、
経路テーブルは、分割した端末識別子範囲毎に、委譲応答で受信した登録サービス識別子を中継先のサービス識別子として登録する
ことを特徴とする。
【００２１】
本発明の中継装置における他の実施形態によれば、
登録判定手段は、端末から更に受信した識別子登録要求の第１のサービス識別子が登録サービス識別子であり、且つ、識別子登録要求の端末識別子が第１のサービス識別子における分割した端末識別子範囲に該当するか否かを判定し、
判定が真である場合、当該端末へ、端末識別子範囲に登録された中継先の第２のサービス識別子を含むリダイレクト要求を返信するリダイレクト要求送信手段を更に有することも好ましい。
【００２２】
本発明の中継装置における他の実施形態によれば、
端末から、登録サービス識別子と一致するサービス識別子を含むデータパケットを受信するデータパケット受信手段と、
端末識別子が当該サービス識別子における分割した端末識別子範囲に該当する場合、端末識別子範囲に登録された中継先の第２のサービス識別子を選択し、逆に、該当しない場合、端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスを選択する送信先選択手段と、
第２のサービス識別子が選択された場合、第２のサービス識別子を含むデータパケットをネットワークへ送信し、端末アドレスが選択された場合、データパケットを該端末アドレスへ送信するデータパケット送信手段と
を更に有することも好ましい。
【００２３】
本発明の中継装置における他の実施形態によれば、
端末から、登録サービス識別子と一致するサービス識別子とマッチングビット数を含むデータパケットを受信するデータパケット受信手段と、
当該サービス識別子における端末識別子の階層構造において、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を階層構造の上位とする端末識別子範囲が存在する場合、端末識別子範囲に登録された中継先の第２のサービス識別子を選択し、逆に、存在しない場合、端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスを選択する送信先選択手段と、
第２のサービス識別子が選択された場合、第２のサービス識別子を含むデータパケットをネットワークへ送信し、端末アドレスが選択された場合、データパケットを該端末アドレスへ送信するデータパケット送信手段と
を更に有することも好ましい。
【００２４】
本発明の中継装置における他の実施形態によれば、
端末識別子は、当該端末の存在位置に基づく位置識別子であって、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子を含むものであり、
マッチングビット数は、当該データパケットの配信エリアを構成するために、配信エリアの距離範囲から生成されることも好ましい。
【００２５】
本発明の中継装置における他の実施形態によれば、
ネットワークは、分散ハッシュテーブルを用いて自律分散的に構成されたオーバレイネットワークであることも好ましい。
【００２６】
本発明の中継装置における他の実施形態によれば、
委譲先となる第２の中継装置を選択するために、
端末へ測定要求を送信し、該端末から測定応答を受信する遅延時間測定手段と、
複数の測定応答から、統計的に、最も遅延時間の短い中継装置を委譲先として選択する委譲先選択手段と
を更に有することも好ましい。
【００２７】
本発明によれば、端末及び他の中継装置とネットワークを介して通信する中継装置に搭載されたコンピュータを機能させるプログラムにおいて、
登録可能な１つ以上の登録サービス識別子を記憶する登録サービス識別子記憶手段と、
端末から、サービス識別子と、端末識別子（ｎビット）と、端末アドレスとを含む識別子登録要求を受信する登録要求受信手段と、
識別子登録要求のサービス識別子が登録サービス識別子であるか否かを判定する登録判定手段と、
識別子登録要求のサービス識別子が登録サービス識別子である場合、その端末識別子及び端末アドレスを登録する経路テーブルと、
登録サービス識別子毎に、登録された端末アドレス数が所定閾値（Ｔｈ１）よりも多いか否かを判定する登録数判定手段と、
端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する端末識別子範囲分割手段と、
委譲要求を第２の中継装置へ送信する委譲要求送信手段と
してコンピュータを機能させ、
経路テーブルは、分割した端末識別子範囲毎に、委譲応答で受信した登録サービス識別子を中継先のサービス識別子として登録するようにコンピュータを機能させることを特徴とする。
【発明の効果】
【００２８】
本発明の中継方法、中継装置及びプログラムによれば、端末に割り当てられた識別子に基づいて、端末の経路情報を、複数の中継装置によって分散管理することができる。
【発明を実施するための最良の形態】
【００２９】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００３０】
図１は、複数の中継装置が接続されたネットワークのシステム構成図である。
【００３１】
図１のシステムは、複数の端末２が、複数の中継装置１によって構成されたリング状ネットワーク３を介して通信する。中継装置１が、端末２から送信されたデータパケットの経路を制御する。中継装置は、ルータであってもよい。また、端末−中継装置間が、モバイルＩＰｖ６によって接続されている場合、中継装置は、モバイルＩＰｖ６のホームエージェントであってもよい。更に、端末−中継装置間が、ＳＩＰによって接続されている場合、中継装置は、ＳＩＰサーバであってもよい。
【００３２】
本発明によれば、中継装置１毎に、登録可能な１つ以上の登録サービス識別子を有し、その登録サービス識別子毎に、端末識別子空間を有する。図１によれば、第１の中継装置は、第１のサービス識別子と、第３のサービス識別子と、第４のサービス識別子とを有する。第１、第３及び第４の全ての登録サービス識別子には、端末識別子空間に端末アドレスが登録されている。ここで、第１のサービス識別子は、登録されている端末アドレス数が所定閾値（Ｔｈ１）よりも多いとする。このとき、本発明によれば、第１の中継装置の第１のサービス識別子における端末識別子空間を分割し、分割された端末識別子空間を、他の中継装置（図１によれば第２の中継装置）における未使用の登録サービス識別子の端末識別子空間に委譲することができる。
【００３３】
図２は、本発明における識別子の構成図である。
【００３４】
データパケットには、識別子が付加される。中継装置１は、端末から受信したデータパケットに対して、その識別子に基づいて経路を制御する。図２によれば、識別子（２５６ビット）は、サービス識別子（１６０ビット）、端末識別子（２ビット（タイプ）＋６２ビット）及び端末アドレス（３２ビット）の３つの領域に区分されている。
【００３５】
「サービス識別子」は、サービスを特定する識別子である。サービスとは、例えば「携帯電話機向け広告配信情報」や「センサデバイスの管理情報」のように、パケット内のデータの内容に基づいて区別される。図２によれば、「サービス識別子」は、１ビット目〜１６０ビット目までの階層構造で表されている。
【００３６】
次に、「端末識別子」は、例えば、当該端末の存在位置に基づく位置識別子であって、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子を含むものであってもよい。「タイプ」は、緯度経度識別子の緯度・経度順序を指定する。従って、緯度経度識別子は、緯度の精度を優先するために緯度から順に生成した識別子（緯度->経度->緯度->・・）と、経度の精度を優先するために経度から順に生成した識別子（経度->緯度->経度->・・）と指定することができる。マッチングビット数が奇数となる場合、緯度情報を表すビット数と、経度情報を表すビット数とに、１ビットの差を生じることになる。
【００３７】
緯度情報及び経度情報は、度分表記（例えば35°25.3531...）をビット列で表す。これは、度（９ビット）、分（整数）（６ビット）、分（小数）（１６ビット）のビット列（合計３１ビット）で表される。従って、緯度情報及び経度情報を１ビットずつ交互に挿入した緯度経度識別子は、合計６２ビット（３１ビット＋３１ビット）となる。尚、緯度経度識別子を６２ビットとすることにより、およそ２．８ｃｍの分解性能が得られる。
【００３８】
尚、「端末識別子」は、必ずしも物理的な位置に基づくものである必要はない。例えば、ネットワークアドレスやＩＰアドレスのような他の情報から導出された識別子であってもよい。勿論、端末固有に割り当てられた単なる識別子であってもよい。
【００３９】
図２によれば、「端末識別子」は、「サービス識別子」の階層構造の末端で、１６１ビット目〜２２４ビット目まで（ｎビット）の階層構造によって表される。階層構造を構成する各ノードは、直接接続される配下のノードのポインタ（p->right、p->left）を管理する。また、各ノードは、配下のノードに登録された端末アドレス数も管理する。
【００４０】
あるノードについて、その配下に登録された端末アドレス数が、第１の閾値（Ｔｈ１）よりも多い場合、そのノード配下の階層構造を２つ以上の端末識別子範囲に分割する。分割された端末識別子範囲は、他の中継装置への委譲対象とする。但し、１つの端末識別子範囲は、自らの中継装置に割り当ててもよい。分割される位置は、ｍビット（ｍ＜ｎ）によって表される。他の中継装置への委譲は、このように、階層構造に基づく識別子範囲単位で委譲される。これにより、中継装置によって実行されるビットマッチングとの整合性を保つことができる。
【００４１】
委譲対象となった端末識別子範囲には、委譲先のサービス識別子が登録される。例えば、分割された第２の端末識別子範囲が、第２の中継装置における第２の登録サービス識別子に委譲される場合、第１のサービス識別子における第２の端末識別子範囲に第２の登録サービス識別子が登録される。
【００４２】
最後に、「端末アドレス」は、各ホスト（端末）のアドレスであって、例えば、端末のＩＰ(Internet Protocol)アドレスであってもよい。尚、図２によれば、「端末アドレス」は識別子範囲に含めて表されているが、サービス識別子及び端末識別子とは別途に、付加されるものであってもよい。
【００４３】
図３は、中継装置での端末識別子空間の分割処理を表すフローチャートである。
【００４４】
端末識別子空間の各ノードには、配下に登録されている端末アドレス数が表されている。このフローチャートは、端末識別子の先頭ノードから進行するものであってもよい。
【００４５】
（Ｓ３０１）当該ノードの配下に登録されている端末アドレス数を取得する。
（Ｓ３０２）端末アドレス数が、所定閾値（Ｔｈ１）よりも多いか否かを判定する。端末アドレス数が所定閾値（Ｔｈ１）以下である場合、処理を終了する。
（Ｓ３０３）端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、端末識別子空間を２分割する。
（Ｓ３０４）分割された複数の全ての端末識別子空間について、即ち、分割された端末識別子空間の先頭ノードについて、端末アドレス数の偏り比を算出する。偏り比は、端末アドレス数の最大値と最小値との除によって表される。
（Ｓ３０５）偏り比が、所定閾値（ＴｈＣＬ）よりも大きいか否かを判定する。偏り比が所定閾値（ＴｈＣＬ）以下である場合、処理を終了する。
（Ｓ３０６）偏り比が所定閾値（ＴｈＣＬ）よりも大きい場合、端末アドレス数の最大値側のノードへ移行する。そして、再び、Ｓ３０１から繰り返す。
【００４６】
図３の後段には、具体的な数値を当てはめて、分割処理を表している。端末アドレス数の所定閾値（Ｔｈ１）＝３０とし、偏り比の所定閾値（ＴｈＣＬ）＝６とする。最初に、ノードｎ１では、端末アドレス数＝５０であり、所定閾値（Ｔｈ１）よりも大きいので２分割される。ノードｎ２１では端末アドレス数＝５であり、ノードｎ２２では端末アドレス数４５である。このとき、最大値と最小値との偏り比は１：９となり、所定閾値（ＴｈＣＬ）よりも大きい。従って、最大値側のノードｎ２２以降が、更に２分割される。ノードｎ２２１では端末アドレス数＝２５であり、ノードｎ２２２では端末アドレス数＝２０である。このとき、分割された全ての識別子範囲の比は、５（最小）：２５（最大）：２０となる。また、最大値と最小値との偏り比は１：５となり、所定閾値（ＴｈＣＬ）よりも小さい。従って、この例では、端末識別子範囲は、３分割される。
【００４７】
分割された複数の識別子範囲について、登録されている端末アドレス数が最も少ない識別子範囲から優先的に他の中継装置へ委譲することが好ましい。また、委譲対象であって、且つ、登録されている端末アドレス数が多い識別子範囲ほど、遅延時間の短い中継装置へ委譲することも好ましい。
【００４８】
図４は、本発明における識別子登録のシーケンス図である。尚、記載を簡略化するために、要求に対する応答確認メッセージの記載を省略している。
【００４９】
各中継装置１は、登録可能な１つ以上の登録サービス識別子と、それに対応する端末識別子空間とを有する。そして、登録サービス識別子及び端末識別子に対応付けて、端末アドレスが、経路テーブルに記憶される。
【００５０】
（Ｓ４０１）各端末２は、ＧＰＳのような測位機能を有し、当該端末自身の位置情報を取得する。ここで、位置情報とは、緯度情報及び経度情報である。
【００５１】
（Ｓ４０２）各端末２は、位置情報に基づいて、図２に前述したような端末識別子を生成する。また、パケットのデータの内容によって、サービス識別子が決定される。サービス識別子によって、中継装置１が特定される。
【００５２】
（Ｓ４０３）各端末２が、第１のサービス識別子と、第１の端末識別子と、第１の端末アドレスとを含む識別子登録要求を、リング状ネットワーク３へ送信する。各端末２は、移動可能であって、定期的に識別子登録要求をリング状ネットワーク３へ送信する。
【００５３】
（Ｓ４０４）リング状ネットワーク３は、分散ハッシュテーブルを用いて自律分散的に構成されたオーバレイネットワークである。例えば、第１の中継装置は、第１、第３及び第４の登録サービス識別子を有するとする。このとき、第１の中継装置は、第１のサービス識別子を登録サービス識別子とするので、この識別子登録要求を受け入れる。そして、第１の端末識別子及び第１の端末アドレスを、経路テーブルに登録する。
【００５４】
（Ｓ４０５）委譲先の中継装置を決定するシーケンスを実行する。このシーケンスは、以下の図５で説明する。
【００５５】
（Ｓ４０６）第１の中継装置は、経路テーブルに登録された端末アドレスの数が、第１の閾値（Ｔｈ１）よりも多いか否かを判定する。登録された端末アドレスの数が第１の閾値よりも多い場合、「委譲状態」へと移行する。
【００５６】
（Ｓ４０７）「委譲状態」となった第１の中継装置は、経路テーブルを用いて、端末識別子の階層構造に基づいて２つ以上の端末識別子範囲に分割する。また、委譲先として、第２の中継装置を選択したとする。そのとき、第１の中継装置は、分割した端末識別子範囲を、委譲先となる第２の中継装置へ割り当てるために、第２の中継装置へ委譲要求を送信する。
【００５７】
（Ｓ４０８）第２の中継装置は、委譲要求を受信すると、空きの登録サービス識別子があるか否か検索する。
【００５８】
（Ｓ４０９）第２の中継装置は、空きの登録サービス識別子がある場合、その登録サービス識別子を含む委譲応答を、第１の中継装置へ返信する。逆に、空きの登録サービス識別子がない場合、委譲拒否の情報を含む委譲応答を、第１の中継装置へ返信する。第１の中継装置は、委譲応答に登録サービス識別子が含まれている場合、委譲対象の端末識別子範囲に対して、その登録サービス識別子を登録する。
【００５９】
（Ｓ４１０）第１の端末が、第１の中継装置へ、識別子登録要求を送信したとする。第１の中継装置は、第１のサービス識別子を登録サービス識別子とするので、この識別子登録要求を受信する。
【００６０】
（Ｓ４１１）識別子登録要求の第１の端末識別子が、分割された端末識別子範囲に該当するか否か判定する。このとき、第１の端末識別子を含む端末識別子範囲に、第２のサービス識別子が登録されているとする。この場合、第１の中継装置は、第１の端末へ、第２のサービス識別子を含むリダイレクト要求を返信する。
【００６１】
（Ｓ４１２）第１の端末は、識別子登録要求のサービス識別子を第２のサービス識別子へ入れ替える。
【００６２】
（Ｓ４１３）第１の端末は、識別子登録要求をネットワークへ再度送信する。
【００６３】
（Ｓ４１４）第２の中継装置は、第２のサービス識別子を登録サービス識別子とするので、第１の端末識別子及び第１の端末アドレスを経路テーブルに登録する。これにより、第１の端末の登録先が、第１の中継装置から第２の中継装置へ委譲される。
【００６４】
（Ｓ４１５）更に、第１の端末は、第１の中継装置へ、識別子登録削除を送信してもよい。これによって、第１の中継装置の経路テーブルから、第１の端末の端末識別子及び端末アドレスを確実に削除することができる。
【００６５】
図５は、中継装置が識別子登録の委譲先となる中継装置を選択するシーケンス図である。図４におけるＳ４０５のシーケンスである。
【００６６】
（Ｓ５０１）第１の中継装置は、経路テーブルに登録された端末アドレスの数が、第２の閾値（Ｔｈ２）以上となったか否かを判定する。第２の閾値（Ｔｈ２）は、図３のＳ４０６で判定する第１の閾値（Ｔｈ１）よりも小さい値となることが好ましい。これによって、委譲状態となって委譲シーケンスが実行される前に、委譲先となる中継装置を決定することができる。勿論、第２の閾値（Ｔｈ２）が、第１の閾値（Ｔｈ１）と同じであってもよい。
【００６７】
（Ｓ５０２）第１の中継装置は、識別子登録要求の送信元となる第２の端末に対して、測定要求を送信する。
【００６８】
（Ｓ５０３）測定要求を受信した第２の端末は、乱数を用いて、複数且つ任意のサービス識別子を生成する。
【００６９】
（Ｓ５０４）第２の端末は、当該サービス識別子を含む測定パケットを、リング状ネットワーク３へ送信する。図５によれば、この測定パケットは、第２の中継装置によって受信される。第２の中継装置は、送信元の第２の端末へ、測定パケットをそのまま返信する。
【００７０】
（Ｓ５０５）再び、第２の端末は、他の当該サービス識別子を含む測定パケットを、リング状ネットワーク３へ送信する。図５によれば、この測定パケットは、第３の中継装置によって受信される。第３の中継装置は、送信元の第２の端末へ、測定パケットをそのまま返信する。
【００７１】
（Ｓ５０６）第２の端末は、測定パケットの送信時刻と受信時刻との差から、遅延時間（ＲＴＴ：Round Trip Time）を算出する。そして、第２の端末は、サービス識別子及び当該遅延時間を含む測定応答を第１の中継装置へ送信する。尚、サービス識別子に代えて中継装置１のＩＰアドレスであってもよい。また、中継装置１に対する遅延時間の測定を繰り返すことによって、遅延時間の平均値を算出することも好ましい。
【００７２】
表１は、第１の中継装置が複数の端末からの測定応答に基づき生成した統計情報の例である。
【表１】
0004883807.tif 000002
【００７３】
（Ｓ５０７）第１の中継装置は、統計的に、最も遅延時間の短い中継装置を委譲先として選択する。
【００７４】
図６は、端末２から送信されたデータパケットが、委譲元中継装置及び委譲先中継装置を介して転送されるシーケンス図である。
【００７５】
（Ｓ６０１）送信元となる第４の端末は、データパケットを送信すべき宛先位置に基づく緯度情報及び経度情報を決定する。ここで、送信元端末を操作する利用者が直接的に宛先位置を決定する場合や、送信元端末によって実行されているアプリケーションによって自立的に宛先位置を決定する場合がある。また、送信元端末は、送信すべきデータパケットについて、１つの端末のみへ送信するユニキャストモードと、一定範囲に存在する複数の端末へ同報的に送信するマルチキャストモードとを指定することができる。そして、第４の端末は、宛先位置に基づく位置識別子を端末識別子として、図２のような識別子を生成する。但し、端末アドレスの部分はReserveとなる。
【００７６】
（Ｓ６０２）第４の端末は、識別子を含むデータパケット（ユニキャストモード）を、第１の中継装置へ送信する。第１の中継装置は、経路テーブルを用いて、当該サービス識別子における端末識別子が、分割された端末識別子範囲に該当するか否かを判定する。図６によれば、該当する場合であって、端末識別子範囲に登録されている第２のサービス識別子を選択する。
【００７７】
（Ｓ６０３）第１の中継装置は、データパケットについて、第１のサービス識別子を第２のサービス識別子に置換する。
【００７８】
（Ｓ６０４）第１の中継装置は、そのデータパケットをリング状ネットワーク３へ転送する。このデータパケットは、第２のサービス識別子を登録サービス識別子とする第２の中継装置によって受信される。第２の中継装置は、経路テーブルを用いて、当該サービス識別子における端末識別子が、分割された端末識別子範囲に該当するか否かを判定する。図６によれば、第２の中継装置について、分割された端末識別子範囲に該当しない。
【００７９】
（Ｓ６０５）第２の中継装置は、経路テーブルを用いて、データパケットの端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、その端末識別子に対応する端末アドレスを選択する。そして、第２の中継装置は、そのデータパケットを、その端末アドレスへ、即ち第１の端末へ送信する。
【００８０】
（Ｓ６１１）送信元となる第４の端末は、第１のサービス識別子及び端末識別子を含む識別子を生成する。
【００８１】
（Ｓ６１２）第４の端末は、第１のサービス識別子及び端末識別子と、マッチングビット数を含むデータパケット（マルチキャストモード）を、リング状ネットワーク３へ送信する。マッチングビット数は、正方形の配信エリアを構成するために、配信エリアの距離範囲から生成される。このデータパケットは、第１の中継装置によって受信される。第１の中継装置は、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を、階層構造の上位とする端末識別子範囲が存在するか否かを判定する。図６によれば、複数の端末識別範囲が該当し、第２のサービス識別子及び第３のサービス識別子を選択する。
【００８２】
（Ｓ６１３）第１の中継装置は、データパケットを複製し、１つのデータパケットについて第１のサービス識別子から、第２のサービス識別子に置換する。
【００８３】
（Ｓ６１４）第１の中継装置は、そのデータパケットをリング状ネットワーク３へ転送する。このデータパケットは、第２のサービス識別子を登録する第２の中継装置によって受信される。
【００８４】
（Ｓ６１５）第２の中継装置は、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を、階層構造の上位とする端末識別子範囲が存在するか否かを判定する。ここでは、存在しないため、第２の中継装置は、端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、その端末識別子に対応する端末アドレスを選択する。そして、第２の中継装置は、そのデータパケットを、その端末アドレスへ、即ち第１の端末へ送信する。
【００８５】
（Ｓ６１６）第１の中継装置は、データパケットについて、第１のサービス識別子から、第３のサービス識別子に置換する。
【００８６】
（Ｓ６１７）第１の中継装置は、そのデータパケットをリング状ネットワーク３へ転送する。このデータパケットは、第３のサービス識別子を登録する第３の中継装置によって受信される。
【００８７】
（Ｓ６１８）第３の中継装置は、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を、階層構造の上位とする端末識別子範囲が存在するか否かを判定する。ここでは、存在しないため、第３の中継装置は、端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、その端末識別子に対応する２つの端末アドレスを選択する。このとき、データパケットは複製される。そして、第３の中継装置は、そのデータパケットを、それら端末アドレスへ、即ち第２の端末及び第３の端末へ送信する。
【００８８】
尚、他の実施形態として、識別子登録要求及びデータパケットとして、モバイルＩＰ又はＳＩＰを用いることができる。モバイルＩＰの場合、ホームアドレスのインタフェース部（ＩＰｖ６における６４ビット）に、識別子を指定する。そして、Binding Updateを用いてホームアドレス及び自ＩＰアドレス（care-of-address）を、ホームエージェントとなる中継装置１に登録する。ホームエージェントは、Binding Cache内に、ホームアドレス及びcare-of-addressの対応を保持する。また、ホームエージェントは、データパケットを受信した際に、ホームアドレス内の識別子と、データパケット内で指定された宛先識別子とを比較する。最もビット長が一致する端末識別子か、又は、マッチングビット数が一致する複数の端末識別子を、Binding Cacheから検索する。検索された識別子のcare-of-address宛てにデータパケットを送信する。
【００８９】
ＳＩＰの場合、SIP-URIのユーザパートに識別子を挿入する。例えば、[識別子]@kddilabs.jpとする。ＳＩＰサーバとなる中継装置１へ送信する識別子登録要求について、SIP REGISTERメッセージ内で、To/Fromフィールドによって識別子を指定する。また、Contactフィールドによって自ＩＰアドレスを指定する。識別子登録要求を受信したＳＩＰサーバは、REGISTERの情報を保持する。また、ＳＩＰサーバは、SIP INVITEメッセージの受信時に、指定された端末識別子と登録されている端末識別子とを比較する。
【００９０】
図７は、本発明における中継装置の機能構成図である。
【００９１】
図７によれば、中継装置１は、登録サービス識別子記憶部１００と、経路テーブル部１０１と、登録要求受信部１０２と、登録判定部１０３と、登録数判定部１０４と、端末識別子範囲分割部１０５と、委譲要求送信部１０６と、リダイレクト要求送信部１０７と、データパケット受信部１０８と、送信先選択部１０９と、データパケット送信部１１０と、遅延時間測定部１１１と、委譲先選択部１１２とを有する。これら機能構成部は、中継装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。
【００９２】
登録サービス識別子記憶部１００は、登録可能な１つ以上の登録サービス識別子を記憶する。
【００９３】
経路テーブル部１０１は、識別子登録要求のサービス識別子が登録サービス識別子である場合、その端末識別子及び端末アドレスを登録する。また、登録サービス識別子毎の端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、分割した端末識別子範囲毎に中継先のサービス識別子を登録する。
【００９４】
登録要求受信部１０２は、サービス識別子と、端末識別子と、端末アドレスとを含む識別子登録要求を受信する。受信した識別子は、登録判定部１０３へ通知される。
【００９５】
登録判定部１０３は、端末から受信した識別子登録要求のサービス識別子が登録サービス識別子であり、且つ、識別子登録要求の端末識別子が分割した端末識別子範囲に該当するか否かを判定する。判定が真である場合、端末識別子範囲に登録された中継先の第２のサービス識別子を、リダイレクト要求送信部１０７へ通知する。
【００９６】
登録数判定部１０４は、経路テーブルに登録された登録サービス識別子毎に端末アドレス数が所定閾値（Ｔｈ１）よりも多いか否かを判定する。特に、各ノードの配下に登録された端末アドレス数が、所定閾値（Ｔｈ１）よりも多いノードを特定する。
【００９７】
端末識別子範囲分割部１０５は、端末アドレス数が所定閾値（Ｔｈ１）よりも多い場合、端末識別子の階層構造に基づいて上位ｍ（ｍ＜ｎ）ビットで２つ以上の端末識別子範囲に分割する。
【００９８】
委譲要求送信部１０６は、端末識別子範囲分割部１０５によって委譲対象が決定された際に、委譲要求を第２の中継装置へ送信する。
【００９９】
リダイレクト要求送信部１０７は、当該端末へ、第２のサービス識別子を含むリダイレクト要求を返信する。
【０１００】
データパケット受信部１０８は、端末から、登録サービス識別子と一致するサービス識別子を含むデータパケットを受信する。そのデータパケットは、送信先選択部１０９へ通知される。
【０１０１】
送信先選択部１０９は、ユニキャストモードのデータパケット受信時には、端末識別子がそのサービス識別子における端末識別子範囲に該当する場合、識別子範囲に登録された中継先の第２のサービス識別子を選択する。逆に、該当しない場合、端末識別子の最上位ビットから見て、最も長いビット長だけ一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスを選択する。選択された第２のサービス識別子又は端末アドレスは、データパケット送信部１１０へ通知される。
【０１０２】
送信先選択部１０９は、マルチキャストモードのデータパケット受信時には、そのサービス識別子における端末識別子の階層構造において、端末識別子の最上位ビットから見てマッチングビット数の分のビット列を、階層構造の上位とする端末識別子範囲が存在する場合、端末識別子範囲に登録された中継先のサービス識別子を選択する。逆に、端末識別子範囲が存在しない場合、端末識別子の最上位ビットから見て、マッチングビット数の分のビット列が一致する端末識別子を検索し、且つ、該端末識別子に対応する端末アドレスを選択する。選択された第２のサービス識別子又は端末アドレスは、データパケット送信部１１０へ通知される。
【０１０３】
データパケット送信部１１０は、第２のサービス識別子が選択された場合、第２のサービス識別子を含むデータパケットをネットワークへ送信し、端末アドレスが選択された場合、データパケットを該端末アドレスへ送信する。
【０１０４】
遅延時間測定部１１１は、識別子範囲の委譲先となる第２の中継装置を選択するために、端末へ測定要求を送信し、該端末から測定応答を受信する。
【０１０５】
委譲先選択部１１２は、複数の測定応答から、統計的に、最も遅延時間の短い中継装置を委譲先として選択する。
【０１０６】
以上、詳細に説明したように、本発明の中継方法、中継装置及びプログラムによれば、端末に割り当てられた識別子に基づいて、端末の経路情報を、複数の中継装置によって分散管理することができる。
【０１０７】
１つのリング状ネットワークに膨大な数の端末が接続される場合であっても、中継装置の数を増大させることによって登録処理負荷及び配信処理負荷を分散させることができるので、システム全体の拡張性を図ることができる。特に、分散ハッシュテーブルのChord技術を用いた、自律分散的なオーバレイネットワークに適用することもできる。
【０１０８】
また、委譲先の中継装置を選択する際に、委譲対象となる複数の端末について遅延時間がより短い中継装置を選択することができるので、データパケットの伝送遅延の減少を図ることができる。また、委譲元の中継装置について識別子範囲を分割する際に、各中継装置で管理する端末アドレス数が均等となるよう制御することもできる。
【０１０９】
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【０１１０】
【図１】複数の中継装置が接続されたネットワークのシステム構成図である。
【図２】本発明における識別子の構成図である。
【図３】中継装置での端末識別子空間の分割処理を表すフローチャートである。
【図４】本発明における識別子登録のシーケンス図である。
【図５】中継装置が識別子登録の委譲先となる中継装置を選択するシーケンス図である。
【図６】端末から送信されたデータパケットが、委譲元中継装置及び委譲先中継装置を介して転送されるシーケンス図である。
【図７】本発明における中継装置の機能構成図である。
【符号の説明】
【０１１１】
１  中継装置
１００  登録サービス識別子記憶部
１０１  経路テーブル部
１０２  登録要求受信部
１０３  登録判定部
１０４  登録数判定部
１０５  端末識別子範囲分割部
１０６  委譲要求送信部
１０７  リダイレクト要求送信部
１０８  データパケット受信部
１０９  送信先選択部
１１０  データパケット送信部
１１１  遅延時間測定部
１１２  委譲先選択部
２  端末
３  リング状ネットワーク
【図１】
0004883807.tif 000003
【図２】
0004883807.tif 000004
【図３】
0004883807.tif 000005
【図４】
0004883807.tif 000006
【図５】
0004883807.tif 000007
【図６】
0004883807.tif 000008
【図７】
0004883807.tif 000009