(57)【要約】【課題】  集中管理的な端末を必要とせず他の端末との間で情報交換を行うとともに、端末が移動しても通信を切断するこなく効率的な制御を行う。【解決手段】  ブロードキャスト管理テーブル１２１は、ブロードキャストの二重送信を抑制することを目的として、メッセージＩＤと送信元端末の情報を格納する。転送ＩＤ管理テーブル１１１は、転送する必要のあるグループＩＤおよびその接続先端末、接続数、グループへの参加状況を示すフラグを格納する。転送データ管理テーブル１１２は、流通しているメッセージの管理を目的に、メッセージのグループＩＤ、接続先端末、到達未確認数を格納するためのカウンタ、メインバッファ１２２のポインタを有する。Ｐ２Ｐ制御手段１１は、転送するデータの管理や、転送状況等、Ｐ２Ｐマルチキャスト通信レイヤにおける通信制御管理および、Ｐ２Ｐマルチキャスト通信を利用するアプリケーションに対してＩ／Ｆを公開する。【選択図】図１
2005072834.tif 000002
【特許請求の範囲】
【請求項１】
移動する複数の端末により構成され、前記複数の端末間で相互に転送データを交換することにより他端末との間で情報通信を行うモバイルアドホックネットワークシステムであって、
前記各端末が、それぞれ、
他端末からのデータを受信する受信手段と、
他端末に対してデータを送信する送信手段と、
どのようなグループに属するかを判断するための意味情報が予め登録された嗜好情報データベースを有し、前記嗜好情報データベースに登録された意味情報と、渡された意味情報とを比較し、該比較結果に基づきあるグループに参加するか不参加するかを判定する意味情報管理手段と、
前記各端末間で送受信されるメッセージを特定するためのメッセージＩＤと該メッセージＩＤを含むメッセージを送信した送信元端末の情報を格納するブロードキャスト管理テーブルと、前記受信手段により受信されたメッセージを一時的に格納するためのメインバッファとを有し、他の端末から受信したメッセージのメッセージＩＤが前記ブロードキャスト管理テーブルに既に格納されている場合には、該メッセージを破棄し、受信したメッセージのメッセージＩＤが前記ブロードキャスト管理テーブルに格納されていない場合には、受信した該メッセージを前記送信手段を介して他の端末に転送するデータ制御手段と、
転送する必要のあるグループＩＤおよびその接続先端末、接続数、当該グループに自端末が参加しているかを示すフラグ情報を格納する転送ＩＤ管理テーブルと、流通しているデータの管理を目的に、流通しているメッセージの属するグループのグループＩＤ、接続先端末、到達未確認数を格納するためのカウンタ、前記データ制御手段内のメインバッファに保存されている該データに対するポインタを格納するための転送データ管理テーブルとを有し、グルーピングを行う他の端末を探索するためのディスカバリメッセージを受信すると、該ディスカバリメッセージに含まれる意味情報を前記意味情報管理手段に送信し、前記意味情報管理手段から当該グループへ参加するとの判定結果を受信した場合、前記転送ＩＤ管理テーブルに、受信したディスカバリメッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの参加を示す値に設定するとともに、接続先としてディスカバリメッセージの送信元の端末を設定し、当該ディスカバリメッセージの送信元の端末に、当該グループへ参加する旨を通知するためのディスカバリ応答メッセージを送信し、他の端末からのディスカバリ応答メッセージを受信した場合には、前記転送ＩＤ管理テーブルに、受信したディスカバリ応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定し、当該ディスカバリ応答メッセージを送信してきた端末を接続先として登録し、受信したグループ通信メッセージに含まれるグループＩＤが前記転送ＩＤ管理テーブルに格納されていない場合には、当該グループ通信メッセージを廃棄し、格納されている場合には、前記転送データ管理テーブルにメインバッファのポインタ、メッセージＩＤ、接続先端末を登録し、カウンタに接続数を設定し、該メッセージＩＤを含むグループ通信メッセージを受信した場合にはカウンタに設定した接続数を減算し、前記カウンタがゼロになるとポインタの指し示すメインバッファの領域を廃棄してそのグループ通信を終了するＰ２Ｐ制御手段と、を備えたモバイルアドホックネットワークシステム。
【請求項２】
参加しているグループから離脱しようとする端末では、前記Ｐ２Ｐ制御手段が、転送ＩＤ管理テーブルから離脱する対象のグループＩＤの項を削除するとともに、転送ＩＤ管理テーブルから自端末の削除を求める削除メッセージを前記送信手段を介して他の端末に送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ手段が、受信した削除メッセージに含まれる端末を転送ＩＤ管理テーブルの接続先から削除し、前記転送ＩＤ管理テーブルにおける参加フラグが当該グループに不参加であることを示していて、前記転送ＩＤ管理テーブルにおける接続数が１となった場合には、当該グループＩＤの項を前記転送ＩＤ管理テーブルから削除する請求項１記載のモバイルアドホックネットワークシステム。
【請求項３】
グループ通信が行われている最中に、前記転送データ管理テーブルのカウンタの値がゼロとならないまま一定時間が経過した場合、当該端末は通信可能範囲内に存在しなくなったと判定し、前記Ｐ２Ｐ制御手段により該端末へ削除メッセージをグループ通信メッセージとして送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した削除メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信し、
削除応答メッセージを受信した削除元の端末では、前記Ｐ２Ｐ制御手段が、削除応答メッセージを送信してきた端末を転送データ管理テーブルから削除する請求項１項記載のモバイルアドホックネットワークシステム。
【請求項４】
他の端末にグループ通信メッセージとして削除メッセージを送信した端末では、前記Ｐ２Ｐ制御手段が、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、再度削除メッセージをブロードキャスト通信により送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した削除応答メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信し、
他の端末からの削除応答メッセージを受信した削除元の端末以外の端末では、前記Ｐ２Ｐ制御手段が、前記転送ＩＤ管理テーブルに、受信した削除応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定する請求項３記載のモバイルアドホックネットワークシステム。
【請求項５】
他の端末にブロードキャスト通信により削除メッセージを送信した端末では、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、前記Ｐ２Ｐ制御手段が、ブロードキャスト通信を利用して該端末への接続情報を有する端末を探索するためのＮＡＣＫメッセージを送信し、
前記ＮＡＣＫメッセージを受信した端末では、前記転送ＩＤ管理テーブルに該端末への接続情報を有している場合、前記Ｐ２Ｐ制御手段が、再接続メッセージを送信し、
他の端末からの再接続メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した再接続メッセージの削除先の端末が前記転送ＩＤ管理テーブルに含まれていた場合、前記転送ＩＤ管理テーブルに、受信した再接続メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定する請求項４記載のモバイルアドホックネットワークシステム。
【請求項６】
移動する複数の端末により構成され、前記複数の端末間で相互に転送データを交換することにより他端末との間で情報通信を行うモバイルアドホックネットワークシステムにおいて各端末を制御するためのモバイルアドホックネットワーク制御方法であって、
、
他の端末から受信したメッセージのメッセージＩＤが、前記各端末間で送受信されるメッセージを特定するためのメッセージＩＤと該メッセージＩＤを含むメッセージを送信した送信元端末の情報を格納するブロードキャスト管理テーブルに既に格納されている場合には、該メッセージを破棄し、受信したメッセージのメッセージＩＤが前記ブロードキャスト管理テーブルに格納されていない場合には、受信した該メッセージを他の端末に転送するステップと、
グルーピングを行う他の端末を探索するためのディスカバリメッセージを受信すると、該ディスカバリメッセージに含まれる意味情報を、どのようなグループに属するかを判断するための意味情報が予め登録された嗜好情報データベースを有する意味情報管理手段に送信して前記ディスカバリメッセージにより示されるグループに参加するか不参加するかを判定するステップと、
前記意味情報管理手段から当該グループへ参加するとの判定結果を受信した場合、転送する必要のあるグループＩＤおよびその接続先端末、接続数、当該グループに自端末が参加しているかを示すフラグ情報を格納する転送ＩＤ管理テーブルに、受信したディスカバリメッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの参加を示す値に設定するとともに、接続先としてディスカバリメッセージの送信元の端末を設定し、当該ディスカバリメッセージの送信元の端末に、当該グループへ参加する旨を通知するためのディスカバリ応答メッセージを送信するステップと、
他の端末からのディスカバリ応答メッセージを受信した場合には、前記転送ＩＤ管理テーブルに、受信したディスカバリ応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定し、当該ディスカバリ応答メッセージを送信してきた端末を接続先として登録するステップと、
受信したグループ通信メッセージに含まれるグループＩＤが前記転送ＩＤ管理テーブルに格納されていない場合には、当該グループ通信メッセージを廃棄し、格納されている場合には、流通しているメッセージの属するグループのグループＩＤ、接続先端末、到達未確認数を格納するためのカウンタ、前記データ制御手段内のメインバッファに保存されている該データに対するポインタを格納するための転送データ管理テーブルにメインバッファのポインタ、メッセージＩＤ、接続先端末を登録し、カウンタに接続数を設定するステップと、
該メッセージＩＤを含むグループ通信メッセージを受信した場合にはカウンタに設定した接続数を減算し、前記カウンタがゼロになるとポインタの指し示すメインバッファの領域を廃棄してそのグループ通信を終了するステップとを備えたモバイルアドホックネットワーク制御方法。
【請求項７】
参加しているグループから離脱しようとする端末では、転送ＩＤ管理テーブルから離脱する対象のグループＩＤの項を削除するとともに、転送ＩＤ管理テーブルから自端末の削除を求める削除メッセージを他の端末に送信するステップと、
他の端末からの削除メッセージを受信した端末では、受信した削除メッセージに含まれる端末を転送ＩＤ管理テーブルの接続先から削除し、前記転送ＩＤ管理テーブルにおける参加フラグが当該グループに不参加であることを示していて、前記転送ＩＤ管理テーブルにおける接続数が１となった場合には、当該グループＩＤの項を前記転送ＩＤ管理テーブルから削除するステップとをさらに有する請求項６記載のモバイルアドホックネットワーク制御方法。
【請求項８】
グループ通信が行われている最中に、前記転送データ管理テーブルのカウンタの値がゼロとならないまま一定時間が経過した場合、当該端末は通信可能範囲内に存在しなくなったと判定し、該端末へ削除メッセージをグループ通信メッセージとして送信するステップと、
他の端末からの削除メッセージを受信した端末では、受信した削除メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信するステップと、
削除応答メッセージを受信した削除元の端末では、削除応答メッセージを送信してきた端末を転送データ管理テーブルから削除するステップとをさらに有する請求項６項記載のモバイルアドホックネットワーク制御方法。
【請求項９】
他の端末にグループ通信メッセージとして削除メッセージを送信した端末では、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、再度削除メッセージをブロードキャスト通信により送信するステップと、
他の端末からの削除メッセージを受信した端末では、受信した削除応答メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信するステップと、
他の端末からの削除応答メッセージを受信した削除元の端末以外の端末では、前記転送ＩＤ管理テーブルに、受信した削除応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定するステップとをさらに有する請求項８記載のモバイルアドホックネットワーク制御方法。
【請求項１０】
他の端末にブロードキャスト通信により削除メッセージを送信した端末では、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、ブロードキャスト通信を利用して該端末への接続情報を有する端末を探索するためのＮＡＣＫメッセージを送信するステップと、
前記ＮＡＣＫメッセージを受信した端末では、前記転送ＩＤ管理テーブルに該端末への接続情報を有している場合、前記Ｐ２Ｐ制御手段が、再接続メッセージを送信するステップと、
他の端末からの再接続メッセージを受信した端末では、受信した再接続メッセージの削除先の端末が前記転送ＩＤ管理テーブルに含まれていた場合、前記転送ＩＤ管理テーブルに、受信した再接続メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定するステップとをさらに有する請求項９記載のモバイルアドホックネットワーク制御方法。
【請求項１１】
請求項６から１０のいずれか１項記載のモバイルアドホックネットワーク制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動する複数の端末により構成され、前記複数の端末間で相互に転送データを交換することにより他端末との間で情報通信を行うモバイルアドホックネットワークシステムに関し、特にこのモバイルアドホックネットワークシステムにおいて各端末を制御するためのモバイルアドホックネットワーク制御方法に関する。
【背景技術】
【０００２】
近年、モバイル端末の普及および高機能化に伴い、モバイル端末を利用したサービスが注目を集めている。特に、端末間の通信のみで実現されるモバイルアドホックネットワークシステムでは、利用エリアに縛られない、端末以外に設備が不要であるといった特徴を有し、移動端末の特性を生かせることができる。
【０００３】
非特許文献１により開示されているＭＡＮＥＴ(Mobile Ad Hoc Networking)ではモバイルアドホックネットワークプロトコルの標準化が検討されている。これはＩＰレベルでのアドホック通信を実現するが、スケーラビリティの問題や、ホップ数が増加することによる通信能力低下等の問題が指摘されている。また、Ｐ２Ｐ(Peer-to-Peer)通信を行う場合、Peer(端末)間の通信自体はＭＡＮＥＴの効果により効率的に行われるが、Peer間の通信をバケツリレー式に実現されるＰ２Ｐネットワークにおいては、端末移動によりＰ２Ｐネットワークのトポロジを下位の通信レイヤにマッピングしてみると、非効率な通信が行われてしまう。
【０００４】
また、特許文献１に開示されている近距離無線転送のためのシステムにおいては、近隣の端末との通信において、どのような通信ステップを用いるか判断する機構を実現するが、通信自体は１対１の通信である。
【０００５】
さらに、特許文献２に開示されているワイヤレス・ネットワークのための適用通信プロトコルにおいては、ＭａｃアドレスやＩＰアドレスといった特定の既知の相手を指定、もしくはチャネルという既知のグループを指定しての通信を実現する。しかし、任意の情報でその場限りでアドホック的なコミュニティを実現することができない。
【０００６】
また、端末が移動しても通信を維持する仕組みや、その際にメッセージを減らす手法はいずれの文献にも開示されていない。
【０００７】
このように、従来技術では、集中管理的な端末の存在が必要とされるものがほとんどであり、大規模のサービスに適用できない。また、集中管理的な端末が存在せず端末間をマルチホップで通信するプロトコルを用いるものであっても、既知の相手との通信であることや、１対１通信の機能のみであったり、グループ通信ができたとしても複数のグループ通信に所属することができない。また、グループ通信ができる場合においても、定期的な通信が行われ、移動体端末では、サービス待機中の電力消費が著しい。
【特許文献１】特開２００３−５１７７１５号公報
【特許文献２】特表２００２−５３７６８７号公報
【非特許文献１】The Mobile Ad-hoc Networking Working Group/IETF(Internet Engineering Task Force)、“Mobile Ad-hoc Networks(manet)”、[online]、[平成１５年８月１３日検索]、インターネット＜ＵＲＬ：http://www.ietf.org/html.charters/manet-charter.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来のモバイルアドホックネットワークシステムでは、下記のような問題点があった。
（１）集中管理的な端末の存在が必要とされるものがほとんどであり、大規模のサービスに適用できない。また、集中管理的な端末が存在せず端末間をマルチホップで通信するプロトコルを用いるものであっても、既知の相手との通信であることや、１対１通信の機能のみであったり、グループ通信ができたとしても複数のグループ通信に所属することができない。
（２）また、グループ通信ができる場合においても、定期的な通信が行われ、移動体端末では、サービス待機中の電力消費が著しい。
【０００９】
本発明の目的は、集中管理的な端末を必要とせず、任意の複数の通信相手との間で情報交換を行うことができるモバイルアドホックネットワークシステムを提供することである。
【００１０】
また、本発明の他の目的は、ネットワークに参加している参加端末が任意の方向に移動しても、無駄な通信トポロジとなることなく通信を行うことができ、また、各端末が移動した場合でも、定常的な通信を行うことなく通信が切断されないようにすること、および情報の通信を複数のユニキャストで行うのではなく、一度の１ホッブ（Hop）のブロードキャスト(電波の届く範囲のブロードキャスト)で行うことで、通信回数を削減できることにより消費電力を抑制することができるモバイルアドホックネットワークシステムを提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のモバイルアドホックネットワークシステムは、移動する複数の端末により構成され、前記複数の端末間で相互に転送データを交換することにより他端末との間で情報通信を行うモバイルアドホックネットワークシステムであって、
前記各端末が、それぞれ、
他端末からのデータを受信する受信手段と、
他端末に対してデータを送信する送信手段と、
どのようなグループに属するかを判断するための意味情報が予め登録された嗜好情報データベースを有し、前記嗜好情報データベースに登録された意味情報と、渡された意味情報とを比較し、該比較結果に基づきあるグループに参加するか不参加するかを判定する意味情報管理手段と、
前記各端末間で送受信されるメッセージを特定するためのメッセージＩＤと該メッセージＩＤを含むメッセージを送信した送信元端末の情報を格納するブロードキャスト管理テーブルと、前記受信手段により受信されたメッセージを一時的に格納するためのメインバッファとを有し、他の端末から受信したメッセージのメッセージＩＤが前記ブロードキャスト管理テーブルに既に格納されている場合には、該メッセージを破棄し、受信したメッセージのメッセージＩＤが前記ブロードキャスト管理テーブルに格納されていない場合には、受信した該メッセージを前記送信手段を介して他の端末に転送するデータ制御手段と、
転送する必要のあるグループＩＤおよびその接続先端末、接続数、当該グループに自端末が参加しているかを示すフラグ情報を格納する転送ＩＤ管理テーブルと、流通しているデータの管理を目的に、流通しているメッセージの属するグループのグループＩＤ、接続先端末、到達未確認数を格納するためのカウンタ、前記データ制御手段内のメインバッファに保存されている該データに対するポインタを格納するための転送データ管理テーブルとを有し、グルーピングを行う他の端末を探索するためのディスカバリメッセージを受信すると、該ディスカバリメッセージに含まれる意味情報を前記意味情報管理手段に送信し、前記意味情報管理手段から当該グループへ参加するとの判定結果を受信した場合、前記転送ＩＤ管理テーブルに、受信したディスカバリメッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの参加を示す値に設定するとともに、接続先としてディスカバリメッセージの送信元の端末を設定し、当該ディスカバリメッセージの送信元の端末に、当該グループへ参加する旨を通知するためのディスカバリ応答メッセージを送信し、他の端末からのディスカバリ応答メッセージを受信した場合には、前記転送ＩＤ管理テーブルに、受信したディスカバリ応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定し、当該ディスカバリ応答メッセージを送信してきた端末を接続先として登録し、受信したグループ通信メッセージに含まれるグループＩＤが前記転送ＩＤ管理テーブルに格納されていない場合には、当該グループ通信メッセージを廃棄し、格納されている場合には、前記転送データ管理テーブルにメインバッファのポインタ、メッセージＩＤ、接続先端末を登録し、カウンタに接続数を設定し、該メッセージＩＤを含むグループ通信メッセージを受信した場合にはカウンタに設定した接続数を減算し、前記カウンタがゼロになるとポインタの指し示すメインバッファの領域を廃棄してそのグループ通信を終了するＰ２Ｐ制御手段とを備えている。
【００１２】
本発明によれば、端末間の通信によりネットワークを実現する際に、Ｐ２Ｐ技術を適用することで、集中管理を行う端末が不要となり、ネットワークに参加している端末の役割が平等となりトラフィックおよび処理の集中が発生しなくなる。また、各端末は、ネットワーク全体を知ることなく、ネットワークに参加している任意の利用者と接続することで、サービスを享受することができる。さらに、各端末がネットワーク全体を把握する必要がないことから、参加離脱が多く、接続状態が変化し続けるネットワークにおいても比較的大規模な参加者へ提供するネットワークサービスを実現することが可能となる。さらに、サービスを開始した端末がグループから離脱しても、継続してサービルを利用する端末があれば、サービスは継続される。
【００１３】
また、本発明の他のモバイルアドホックネットワークシステムでは、参加しているグループから離脱しようとする端末では、前記Ｐ２Ｐ制御手段が転送ＩＤ管理テーブルから離脱する対象のグループＩＤの項を削除するとともに、転送ＩＤ管理テーブルから自端末の削除を求める削除メッセージを他の端末に送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ手段が、受信した削除メッセージに含まれる端末を転送ＩＤ管理テーブルの接続先から削除し、前記転送ＩＤ管理テーブルにおける参加フラグが当該グループに不参加であることを示していて、前記転送ＩＤ管理テーブルにおける接続数が１となった場合には、当該グループＩＤの項を前記転送ＩＤ管理テーブルから削除する。
【００１４】
本発明によれば、グループに参加しているある端末がグループから離脱してもグループ通信を継続し、かつ不要な通信パスを削除でき、無用なトラフィックを削減することができる。
【００１５】
また、本発明の他のモバイルアドホックネットワークシステムでは、グループ通信が行われている最中に、前記転送データ管理テーブルのカウンタの値がゼロとならないまま一定時間が経過した場合、当該端末は通信可能範囲内に存在しなくなったと判定し、前記Ｐ２Ｐ制御手段により該端末へ削除メッセージをグループ通信メッセージとして送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した削除メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信し、
削除応答メッセージを受信した削除元の端末では、前記Ｐ２Ｐ制御手段が、削除応答メッセージを送信してきた端末を転送データ管理テーブルから削除する。
【００１６】
また、本発明によれば、１ホップのブロードキャストの連鎖を制御する仕組みであるため、端末の移動の結果、端末の位置が変更されても、そのブロードキャストが受信した時点で受信が完了するので、最短パスで情報の伝播が行われ、効率的な通信を行うことができる。
【００１７】
さらに、本発明の他のモバイルアドホックネットワークシステムでは、他の端末にグループ通信メッセージとして削除メッセージを送信した端末では、前記Ｐ２Ｐ制御手段が、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、再度削除メッセージをブロードキャスト通信により送信し、
他の端末からの削除メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した削除応答メッセージの削除元の端末を転送データ管理テーブルから削除し、削除した削除元の端末に対して削除応答メッセージを送信し、
他の端末からの削除応答メッセージを受信した削除元の端末以外の端末では、前記Ｐ２Ｐ制御手段が、前記転送ＩＤ管理テーブルに、受信した削除応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定する。
【００１８】
また、本発明によれば、端末の移動の結果、ネットワークが分断されても、ネットワークが分断されたことを発見して転送ＩＤ管理テーブルの内容が変更されるため、継続してグループ通信を行うことができる。
【００１９】
さらに、本発明の他のモバイルアドホックネットワークシステムでは、他の端末にブロードキャスト通信により削除メッセージを送信した端末では、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、前記Ｐ２Ｐ制御手段が、ブロードキャスト通信を利用して該端末への接続情報を有する端末を探索するためのＮＡＣＫメッセージを送信し、
前記ＮＡＣＫメッセージを受信した端末では、前記転送ＩＤ管理テーブルに該端末への接続情報を有している場合、前記Ｐ２Ｐ制御手段が、再接続メッセージを送信し、
他の端末からの再接続メッセージを受信した端末では、前記Ｐ２Ｐ制御手段が、受信した再接続メッセージの削除先の端末が前記転送ＩＤ管理テーブルに含まれていた場合、前記転送ＩＤ管理テーブルに、受信した再接続メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定する。
【００２０】
さらに、本発明によれば、端末の移動の結果、その端末が通信圏外に移動、もしくは電源断等により通信不可能状態に陥っていた場合でも、そのような状況を把握することができ、かつ、該端末を経由して接続されていた端末を発見して転送ＩＤ管理テーブルの内容が変更されるため、継続してグループ通信を行うことができる。
【発明の効果】
【００２１】
以上説明したように、本発明によれば、下記のような効果を得ることができる。
（１）端末間の通信によりネットワークを実現する際に、Ｐ２Ｐ技術を適用することにより各端末の役割が平等となるため、集中管理的な端末を必要とせず、任意の複数の通信相手との間で情報交換を行うことができる。
（２）端末が移動することによりネットワークが分断されても、ネットワークが分断されたことを発見して転送ＩＤ管理テーブルの内容が変更されるようにしているので、ネットワークに参加している参加端末が任意の方向に移動しても、無駄な通信トポロジとなることなく通信を行うことができ、また、各端末が移動した場合でも、定常的な通信を行うことなく通信が切断されないようにすること、および情報の通信を複数のユニキャストで行うのではなく、一度の１ホップ（Hop）のブロードキャスト(電波の届く範囲のブロードキャスト)で行うことで、通信回数を削減できることにより消費電力を抑制することができる
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２３】
図１は本発明の一実施形態のモバイルアドホックネットワークシステムの構成を示すブロック図である。
【００２４】
本実施形態のモバイルアドホックネットワークシステムは、端末１〜６により構成されている。ここでは、端末１〜４のみについて詳細に説明するが、端末５、６も端末１〜４と同様な構成となっている。また、ここでは、端末１〜６がモバイルアドホックネットワークシステムに接続しているが、端末１〜６以外の他の端末もモバイルアドホックネットワークシステムに接続可能である。
【００２５】
端末１〜４は、それぞれ、Ｐ２Ｐ制御手段１１と、データ制御手段１２と、受信手段１３と、送信手段１４と、意味情報管理手段１５と、アプリケーション１６とから構成されている。
【００２６】
また、Ｐ２Ｐ制御手段１１は、転送ＩＤ管理テーブル１１１と、転送データ管理テーブル１１２とを有している。また、データ制御手段１２は、ブロードキャスト管理テーブル１２１と、メインバッファ１２２とを有している。さらに、意味情報管理手段１５には、嗜好情報ＤＢ１５１が備えられている。
【００２７】
転送ＩＤ管理テーブル１１１は、Ｐ２Ｐ制御手段１１内にあって、転送する必要のあるグループＩＤおよびその接続先端末、接続数、そのグループに自端末が参加しているかを示すフラグ情報を格納する。この転送ＩＤ管理テーブル１１１の具体的な構成を図２に示す。
【００２８】
転送データ管理テーブル１１２は、Ｐ２Ｐ制御手段１１内にあって、流通しているメッセージの管理を目的に、流通しているメッセージの属するグループのグループＩＤ、接続先端末、到達未確認数を格納するためのカウンタ、データ制御手段１２内のメインバッファ１２２に保存されている該データに対するポインタを有する。この転送データ管理テーブル１１２の具体的な構成を図３に示す。
【００２９】
Ｐ２Ｐ制御手段１１は、転送するデータの管理や、転送状況等、Ｐ２Ｐマルチキャスト通信レイヤにおける通信制御管理および、Ｐ２Ｐマルチキャスト通信を利用するアプリケーションに対してＩ／Ｆを公開する。
【００３０】
Ｐ２Ｐ制御手段１１は、グルーピングを行う他の端末を探索するためのディスカバリメッセージを受信すると、そのディスカバリメッセージに含まれる意味情報を意味情報管理手段１５に送信し、意味情報管理手段１５から当該グループへ参加するとの判定結果を受信した場合、転送ＩＤ管理テーブル１１１に、受信したディスカバリメッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの参加を示す値に設定するとともに、接続先としてディスカバリメッセージの送信元の端末を設定し、当該ディスカバリメッセージの送信元の端末に、当該グループへ参加する旨を通知するためのディスカバリ応答メッセージを送信する。本実施形態では、参加フラグが“true”に設定されている場合には、当該グループへ参加していることを示し、“false”に設定されている場合には、当該グループへ不参加であることを示すものとする。
【００３１】
また、Ｐ２Ｐ制御手段１１は、他の端末からのディスカバリ応答メッセージを受信した場合には、転送ＩＤ管理テーブル１１１に、受信したディスカバリ応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値に設定し、当該ディスカバリ応答メッセージを送信してきた端末を接続先として登録する。
【００３２】
また、Ｐ２Ｐ制御手段１１は、受信したグループ通信メッセージに含まれるグループＩＤが転送ＩＤ管理テーブル１１１に格納されていない場合には、当該グループ通信メッセージを廃棄し、格納されている場合には、転送データ管理テーブル１１２にメインバッファ１２２のポインタ、メッセージＩＤ、接続先端末を登録し、カウンタに接続数を設定し、該メッセージＩＤを含むグループ通信メッセージを受信した場合にはカウンタに設定した接続数を減算し、カウンタがゼロになるとポインタの指し示すメインバッファ１２２の領域を廃棄してそのグループ通信を終了する。
【００３３】
ブロードキャスト管理テーブル１２１は、データ制御手段１２内にあって、ブロードキャストの二重送信を抑制することを目的として、各端末間で送受信されるメッセージを特定するためのメッセージＩＤとそのメッセージＩＤを含むメッセージを送信した送信元端末の情報を格納する。ブロードキャスト管理テーブル１２１の具体的な構成を図４に示す。
【００３４】
ブロードキャスト通信とは、同一グループに属する端末だけでなく、接続可能な全ての端末に対してメッセージを送信する通信をいい、ブロードキャスト通信により他の端末からメッセージを受信した端末では、通信レイヤにより、そのメッセージが送信された端末を知ることができる。
【００３５】
メインバッファ１２２は、データ制御手段１２内にあって、流通するデータを一時蓄えることを目的として、受信手段１３により受信されたメッセージを一時的に格納する。メインバッファ１２２の具体的な構成を図５に示す。
【００３６】
データ制御手段１２は、Ｐ２Ｐマルチキャスト通信に流通するデータを保持し、二重送信の防止や、バッファの登録削除の管理を行う。具体的には、データ制御手段１２は、他の端末から受信したメッセージのメッセージＩＤがブロードキャスト管理テーブル１２１に既に格納されている場合には、そのメッセージを破棄し、受信したメッセージのメッセージＩＤがブロードキャスト管理テーブル１２１に格納されていない場合には、受信したそのメッセージを送信手段１４を介して他の端末に転送する。
【００３７】
受信手段１３は、他端末からのデータを受信し、データ制御手段１２にデータを渡す。送信手段１４は、他端末に対してデータを送信する。
【００３８】
嗜好情報ＤＢ１５１は、どのようなグループに属するかを判断するための意味情報を予め登録するためのデータベースである。
【００３９】
意味情報管理手段１５は、嗜好情報データベース１５１に登録された意味情報と、Ｐ２Ｐ制御手段１１から渡された意味情報とを比較し、その比較結果に基づきあるグループに参加するか不参加するかを判定する。
【００４０】
また、あるグループに参加している端末が、そのグループから正常に離脱しようとする場合、ネットワークは分断されないが端末の移動に伴い接続状況が変化した場合、端末の移動に伴う接続状況の変化によりネットワークが分断された場合、端末の移動に伴う接続状況の変化により端末が通信可能な範囲から消滅した場合には、下記のような処理が行われる。
【００４１】
参加しているグループから離脱しようとする端末では、その端末のＰ２Ｐ制御手段１１は、転送ＩＤ管理テーブル１１１から離脱する対象のグループＩＤの項を削除するとともに、転送ＩＤ管理テーブル１１から自端末の削除を求める削除メッセージを送信手段を１４介して他の端末に送信する。そして、他の端末からの削除メッセージを受信した端末では、Ｐ２Ｐ手段１１は、受信した削除メッセージに含まれる端末を転送ＩＤ管理テーブル１１１の接続先から削除し、転送ＩＤ管理テーブル１１１における参加フラグが当該グループに不参加であることを示していて、転送ＩＤ管理テーブル１１１における接続数が“１”となった場合には、当該グループＩＤの項を転送ＩＤ管理テーブル１１１から削除する。
【００４２】
グループ通信が行われている最中に、転送データ管理テーブル１１２のカウンタの値がゼロとならないまま一定時間が経過した場合、当該端末は通信可能範囲内に存在しなくなったと判定し、Ｐ２Ｐ制御手段１１によりその端末へ削除メッセージをグループ通信メッセージとして送信しする。そして、他の端末からの削除メッセージを受信した端末では、Ｐ２Ｐ制御手段１１が、受信した削除メッセージの削除元の端末を転送データ管理テーブル１１２から削除し、削除した削除元の端末に対して削除応答メッセージを送信する。そして、削除応答メッセージを受信した削除元の端末では、Ｐ２Ｐ制御手段１１は、削除応答メッセージを送信してきた端末を転送データ管理テーブル１１２から削除する。
【００４３】
他の端末にグループ通信メッセージとして削除メッセージを送信した端末では、Ｐ２Ｐ制御手段１１は、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、再度削除メッセージをブロードキャスト通信により送信する。そして、他の端末からの削除メッセージを受信した端末では、Ｐ２Ｐ制御手段１１が、受信した削除応答メッセージの削除元の端末を転送データ管理テーブル１１２から削除し、削除した削除元の端末に対して削除応答メッセージを送信する。そして、他の端末からの削除応答メッセージを受信した削除元の端末以外の端末では、Ｐ２Ｐ制御手段１１が、転送ＩＤ管理テーブル１１１に、受信した削除応答メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値“false”に設定することにより中継端末として機能するようになる。
【００４４】
他の端末にブロードキャスト通信により削除メッセージを送信した端末では、送信した該削除メッセージに対する応答メッセージが一定時間経過しても戻ってこない場合、Ｐ２Ｐ制御手段１１が、ブロードキャスト通信を利用してその端末への接続情報を有する端末を探索するためのＮＡＣＫメッセージを送信する。そして、ＮＡＣＫメッセージを受信した端末では、転送ＩＤ管理テーブル１１１にその端末への接続情報を有している場合、Ｐ２Ｐ制御手段１１が、再接続メッセージを送信する。そして、他の端末からの再接続メッセージを受信した端末では、Ｐ２Ｐ制御手段１１が、受信した再接続メッセージの削除先の端末が転送ＩＤ管理テーブル１１１に含まれていた場合、転送ＩＤ管理テーブル１１１に、受信した再接続メッセージのメッセージＩＤをグループＩＤとして設定し、参加フラグを当該グループへの不参加を示す値“false”に設定する。
【００４５】
次に、本実施形態のモバイルアドホックネットワークシステムの基本部分の処理の流れを図６に示す。ここでは、端末１が通信を行いたい他の端末を発見（ディスカバリ）し、グルーピングを行い、そのグループ間でグループ通信を行う概略の動作について説明する。
【００４６】
先ず、端末１では、グループＩＤを転送ＩＤ管理テーブル１１１に格納し、ブロードキャスト管理テーブル１２１にメッセージＩＤを登録する（ステップ６１）。そして、ディスカバリメッセージの送信を行う（ステップ６２）。端末１により送信されたディスカバリメッセージは、端末２にのみに受信され、端末２では、このディスカバリメッセージを転送することにより端末１、３、４に送信する（ステップ６３）。端末２からのディスカバリメッセージを受信した端末１では、ブロードキャスト管理テーブル１２１に同じメッセージＩＤが格納されているため、受信したディスカバリメッセージを廃棄する（ステップ６４）。端末２からのディスカバリメッセージを受信した端末４では、グルーピング条件に合致するため、このディスカバリメッセージに含まれていたメッセージＩＤをグループＩＤとして転送ＩＤ管理テーブル１１１に追記する（ステップ６５）。
【００４７】
そして、グループ条件に合致した端末４では、ディスカバリ応答メッセージを送信する（ステップ６６）。このディスカバリ応答メッセージを受信した端末２では、ディスカバリ応答メッセージに含まれるグループＩＤを転送ＩＤ管理テーブル１１１に追記する（ステップ６７）。そして、端末２は、端末４からのディスカバリ応答メッセージを端末１に転送する（ステップ６８）。
【００４８】
尚、端末３が、端末２からのディスカバリメッセージを転送した場合（ステップ６９）、端末２、４では、ブロードキャスト管理テーブル１２１に同じメッセージＩＤが格納されているため、このディスカバリメッセージを廃棄する（ステップ７０）。また、端末４が、受信したディスカバリメッセージを転送することにより端末２、３がディスカバリメッセージを受信した場合も同様に（ステップ７１）、ブロードキャスト管理テーブル１２１に同じメッセージＩＤが格納されているため、このディスカバリメッセージは廃棄される（ステップ７２）。
【００４９】
このような処理が行われることにより、端末１、４によりグルーピングが行われ、端末２はこのグループには参加しないが中継ノードとして機能するように設定されたことになる。
【００５０】
そして、端末１がグループ通信を行うために、グループ通信メッセージを送信した場合（ステップ８１）、端末２では、転送ＩＤ管理テーブル１１１に、受信したグループ通信メッセージに含まれるグループＩＤと同じＩＤが格納されているため、受信したグループ通信メッセージを転送する（ステップ８２）。端末２により転送されたグループ通信メッセージは、端末１に受信され、端末１では転送確認が行われる（ステップ８４）。また、端末２により転送されたグループ通信メッセージは、端末４により受信され、端末４では、転送ＩＤ管理テーブル１１１に、受信したグループ通信メッセージに含まれるグループＩＤと同じＩＤが格納されているため、受信したグループ通信メッセージを転送する（ステップ８５）。端末４により転送されたグループ通信メッセージは、端末２に受信され、端末２では転送確認が行われる（ステップ８７）。
【００５１】
このような処理が行われることにより、端末１からのグループ通信メッセージは、グループに参加していない端末２を中継ノードとして端末４に送信される。
【００５２】
以下、本実施形態のモバイルアドホックネットワークシステムの動作について図面を参照して詳細に説明する。本実施形態のモバイルアドホックネットワークシステムの動作は、
（１）ある端末が条件に合致する通信相手を発見しグルーピングしその通信ルートを確立する動作、
（２）確立した通信ルートを用いてグループ通信を行う動作、
（３）グループに参加していた端末がそのグループから離脱する際の動作、
（４）端末が移動することによる端末間の立ち位置（ネットワークのトポロジ）が変化した際の動作、
の４つの動作により構成される。そのため、以下の説明では、この４つの動作についてそれぞれ順次説明する。
【００５３】
先ず、図７〜図１２を参照して、ある端末が条件に合致する通信相手を発見しグルーピングしその通信ルートを確立する動作について（１−１）〜（１−６）に分けて説明する。
【００５４】
（１−１）通信待機状態における動作
図７に本実施形態のシステムにおける通信待機状態の動作について示す。各端末１〜６では、受信手段１３がメインバッファ１２２から空領域のポインタを取得し、データ受信の待機を行う（ステップ（ａ））。受信手段１３は、データを受信した際には、メインバッファ１２２に受信データを格納し、再び空領域のポインタを取得し次のデータ受信の待機を行う。一方、アプリケーション１６は、どのようなグループに属するか判断するため、意味情報管理手段１５内の嗜好情報ＤＢ１５１に必要とするデータの意味情報を登録する（ステップ（ｂ））。ただし、この処理は任意であり、サービスによって異なる（個人的な趣味志向から所属や属性、特性特技等）。
【００５５】
次に、通信する端末を発見しグルーピングする一連の動作を図８〜図１２に示す。ここでは、端末１が他の端末を発見（ディスカバリ）し、グルーピングを行う場合の動作について説明する。
【００５６】
（１−２）ディスカバリ
他の端末を発見し、グルーピングを行おうとする端末１は、ディスカバリの要求を行うディスカバリメッセージを発信する。ディスカバリメッセージの中には、図８に示すように、このメッセージがディスカバリである事を示すメッセージ識別子、メッセージを一意に特定するメッセージＩＤ、グルーピング対象とする意味情報が含まれている。ディスカバリを行う際には、図９に示すように、先ず端末１において、Ｐ２Ｐ制御手段１１がアプリケーション１６を介して上位からディスカバリ要求を受信すると（ステップ（ａ））、Ｐ２Ｐ制御手段１１では、グループに参加するため、転送ＩＤ管理テーブル１１１にディスカバリのメッセージＩＤを登録し、接続数“０”、参加フラグを“true”にする（ステップ（ｂ））。ここでは、メッセージＩＤとして“１１１１”を登録したものとして説明する。すると、ディスカバリメッセージはデータ制御手段１２に渡され、データ制御手段１２ではブロードキャスト管理テーブル１２１にそのメッセージＩＤ“１１１１”と発信元が自端末である事を登録する（ステップ（ｃ））。ブロードキャスト管理テーブル１２１において、発信元の項目が“−”と表示されている場合、自端末であることを示している。このようにして生成されたディスカバリメッセージは、送信手段１４を介して近隣の端末に対してブロードキャスト送信される（ステップ（ｄ））。
【００５７】
ここでは、図９に示すように、端末１の通信可能な範囲内には、端末２、３、５のみが存在するものとして説明する。
【００５８】
（１−３）ディスカバリ
上記の（１−２）に１おいて発信されたディスカバリメッセージを受信した端末２、３、５では図１０に示すように処理が行われる。端末２、端末３、端末５では、同じ処理が行われるが、ここでは端末５の処理については説明は省略し、端末２、３のみ処理を図示する。
【００５９】
端末１の送信手段１４により送信されたディスカバリメッセージは、端末１、２、３、５の受信手段１３により受信される（ステップ（ｅ））。そして、受信手段１３で受信されたディスカバリメッセージは、データ制御手段１２に送信され、データ制御手段１２内のブロードキャスト管理テーブル１２１と比較されることにより、既に同じメッセージが以前に到着していないかが確認される（ステップ（ｆ））。
【００６０】
既に同じディスカバリメッセージが到着していると判定された場合、受信したディスカバリメッセージは破棄される。ここでは、端末１は発信元の端末であり、端末１内のブロードキャスト管理テーブル１２１には、このディスカバリメッセージのメッセージＩＤ“１１１１”と同じＩＤ“１１１１”が既に格納されているため、端末１では受信したディスカバリメッセージは破棄される。
【００６１】
ステップ（ｆ）において受信したディスカバリメッセージが、未だ到着していないと判定された場合、データ制御手段１２は、近隣の端末に、このディスカバリメッセージを送信手段１４を介して転送する（ステップ（ｈ））。ここでは、端末２の通信可能な範囲および端末３の通信可能な範囲には、端末４が存在するため、端末２、３から転送されたディスカバリメッセージは、端末４においても受信されるようになる。
【００６２】
さらに、自端末が該グループに参加するかどうかを判断するため、Ｐ２Ｐ制御手段１１では、ディスカバリメッセージから意味情報部分だけを抽出し、意味情報管理手段１５に対して、このディスカバリメッセージのグループに参加すべきか否かの照合を依頼する。意味情報管理手段１５からの照合結果が否であれば受信したディスカバリメッセージを破棄する（ステップ（ｊ））。
【００６３】
（１−４）ディスカバリ
端末２から転送されたディスカバリメッセージを受信した端末４では、ステップ（ｋ）〜（ｏ）までの処理は上記の（１−３）と同様な処理が行われる。そして、（１−３）のステップ（ｊ）に対応するステップ（ｏ）において意味情報管理手段１５による照合結果が真であった場合には、端末４では、図１１に示すように、転送ＩＤ管理テーブル１１１にディスカバリメッセージのメッセージＩＤ“１１１１”をグループＩＤとして登録し、接続先として、ディスカバリメッセージの発信元の端末２を選択し、接続数を“１”、参加フラグを“true”とする（ステップ（ｐ））。
【００６４】
（１−５）ディスカバリ
上記の（１−４）において発見された端末４は、同一グループのメンバとメッセージをやり取りするために中継ノードが必要となる。そこで、端末４では、図１２に示すように、ステップ（ｐ）において意味情報による照合結果が真の場合、転送ＩＤ管理テーブル１１１への登録後に、Ｐ２Ｐ制御手段１１においてディスカバリ応答メッセージを生成する。そして、データ制御手段１２では、ブロードキャスト管理テーブル１２１内の中から、Ｐ２Ｐ制御手段１１により生成されたディスカバリ応答メッセージのグループＩＤと同じＩＤを含む項からそのディスカバリ応答メッセージの接続先が端末１であることを判定し、この端末１に対してディスカバリ応答メッセージを転送する（ステップ（ｑ））。
【００６５】
このディスカバリ応答メッセージを受け取った端末２では、中継のために転送データ管理テーブル１１２に、このディスカバリ応答メッセージに含まれるグループＩＤを登録する。既にこのグループＩＤが登録されていた場合には、転送データ管理テーブル１１２の項の接続先にディスカバリ応答メッセージを送信してきた端末を登録する。ディスカバリ応答メッセージに含まれるグループＩＤが登録されていなかった場合、そのグループＩＤのテーブルを追加し、接続先には、ディスカバリメッセージを転送してきた端末１と、ディスカバリ応答メッセージを転送してきた端末４を登録し、接続数を“２”とし、自端末は中継ノードなので参加フラグは“false”を設定する（ステップ（ｒ））。
【００６６】
そして、端末２は、発信元の端末１に対してディスカバリ応答メッセージを転送する（ステップ（ｓ））。端末２からの転送されてきたディスカバリ応答メッセージを受信した端末１では、転送ＩＤ管理テーブル１１１に対して登録を行う（ステップ（ｔ））。これら一連の処理によりグループ通信のルートが確立される。
【００６７】
次に、図１３、図１４、図１５を参照して、確立した通信ルートを用いてグループ通信を行う動作について（２−１）〜（２−３）に分けて説明する。
【００６８】
（２−１）
図１３に示すように、グループに参加している端末４にメッセージを送信しようとする端末１は、グループ通信メッセージを送信する。グループ通信メッセージは、図１４に示すように、メッセージ識別子がデリバリで、メッセージＩＤ、グループＩＤ、転送するデータ本体が含まれる。グループ通信メッセージを送信する際に、転送データ管理テーブル１１２に登録を行う。そして、グループ通信メッセージをメインバッファ１２２に登録しそのポインタを転送データ管理テーブル１１２に登録する。また、ＩＤについては、送信するメッセージのメッセージＩＤを格納し、カウンタの値は、転送ＩＤ管理テーブル１１１内の接続数の値を格納する。カウンタは到着予定の端末数であり、これが“０”になった時点で送信は完了したものとみなす。接続先のリストには、転送ＩＤ管理テーブル１１１の接続先の情報を格納する。（ステップ（ａ））。このようにして生成したグループ通信メッセージを送信手段１４を用いて近隣の端末に転送する（ステップ（ｂ））。
【００６９】
この端末１からのグループ通信メッセージは、端末２に受信される（ステップ（ｃ））そして、このグループ通信メッセージを受信手段１３により受け取った端末２では、データ制御手段１２からＰ２Ｐ制御手段１１に受信したグループ通信メッセージが渡される（ステップ（ｄ））。この際に、転送データ管理テーブル１１２にこのグループ通信メッセージのメッセージＩＤが登録されていなければ、このメッセージＩＤを転送データ管理テーブル１１２に登録し、さらに、近隣端末への転送を行う。端末２では、転送ＩＤ管理テーブル１１１にこのメッセージＩＤが登録されているため、ポインタ取得後に転送データ管理テーブル１１２に登録する（ステップ（ｅ））。そして、グループ通信メッセージは端末２から他の端末に転送される（ステップ（ｆ））。
【００７０】
また、端末２から転送されてきたグループ通信メッセージを受信した端末４においても同様な処理が行われる（ステップ（ｇ）〜（ｊ））。
【００７１】
（２−２）
上記のステップ（ｊ）において端末４から他の端末に送信されたグループ通信メッセージは、端末２、３においても受信される（ステップ（ｋ））。端末２、３では、受信したグループ通信メッセージをＰ２Ｐ制御手段１１に通知する（ステップ（ｌ））。端末２では、受信したグループ通信メッセージは、転送データ管理テーブル１１２に登録されていて受信済みであるので、転送データ管理テーブル１１２の、受信したグループ通信メッセージのメッセージＩＤの項において、そのグループ通信メッセージを送信した相手端末を接続先から削除し、カウンタをひとつ減算する。削除の結果カウンタが“０”になると、そのポインタが示すメインバッファ１２２を開放する（ステップ（ｍ））。尚、端末３では、転送ＩＤ管理テーブルに登録されていないため、受信したグループ通信メッセージは破棄される。尚、端末２から転送されたグループ通信メッセージは、端末１にも受信されるが（ステップ（ｇ））、既に転送データ管理テーブル１１２に登録されているので転送は行われず、転送データ管理テーブル１１２の、受信したグループ通信メッセージのメッセージＩＤの項において、そのグループ通信メッセージを送信した相手端末を接続先から削除し、カウンタをひとつ減算する。削除の結果カウンタが“０”になると、そのポインタが示すメインバッファ１２２を開放する（ステップ（ｈ））。
【００７２】
（２−３）
尚、受信したグループ通信メッセージが既に受信済みだが、転送ＩＤ管理テーブル１１１に送信した相手端末の情報がない場合、グループ通信メッセージを転送ＩＤ管理テーブル１１１の当該グループの項に該端末情報を追加する。
【００７３】
次に、図１６を参照して、グループに参加していた端末がそのグループから離脱する際の動作について（３−１）〜（３−２）に分けて説明する。ここでは、端末１がグループから離脱するものとして説明する。
【００７４】
（３−１）
先ず、端末１は、アプリケーション１６を介して離脱要求を受信する（ステップ（ａ））。すると、参加してたグループから離脱しようとする端末１は、Ｐ２Ｐ制御手段１１内の転送ＩＤ管理テーブル１１１の中の離脱するグループＩＤの示す項を削除し、グループ通信のメッセージとして離脱メッセージを送信する（ステップ（ｂ））。離脱メッセージはメッセージ識別子が離脱で、メッセージＩＤとグループＩＤを含む。この離脱メッセージは端末２に受信され（ステップ（ｃ））、離脱メッセージを受信した端末２では、自端末の転送ＩＤ管理テーブル１１１内の当該グループを示す項の接続先から削除する（ステップ（ｄ））。
【００７５】
（３−２）
上記の（３−１）において、転送ＩＤ管理テーブル１１１から接続先を削除した結果、該グループの接続先が“１”でかつ参加フラグが“false”である場合には、中継の必要がなくなるため、さらに刈り込みのために近隣の端末に対して離脱メッセージを送信する（ステップ（ｅ））。この端末２から転送された離脱メッセージは、端末４により受信され（ステップ（ｆ））、端末４でも同様にして、自端末の転送ＩＤ管理テーブル１１１内の当該グループを示す項の接続先から削除する（ステップ（ｇ））。
【００７６】
次に、図１７〜図３４を参照して、端末が移動することによる端末間の立ち位置（ネットワークのトポロジ）が変化した際の動作について（４−１）〜（４−７）に分けて説明する。ここでは、図１７に示すように、端末２と端末４の位置が入れ変わった場合を用いて説明する。
【００７７】
（４−１）
上記の（２−２）にて受け取ったグループ通信メッセージによりカウンタを減算して言った結果、一定時間が経ってもカウンタが“０”にならず接続先が残っている場合、その端末が近隣から居なくなったことが想定される。図１７に示したように、端末の位置が変わった場合においては、図１８、図１９のようにグループ通信が行われた結果、図２０の端末１の転送データ管理テーブル１１２のカウンタが“０”にならず一定時間が経過すると、その端末に向かって転送ＩＤ管理テーブル１１１から自端末の削除を求める削除メッセージをグループ通信で送信する。そして、端末１はで、自端末の転送ＩＤ管理テーブル１１からはその端末を削除しておく（ステップ（ｏ））。削除メッセージは、図２１に示すように、メッセージ識別子が削除で、メッセージＩＤ、グループＩＤ、削除先端末情報、削除元端末情報、通信できなかったデータ本体を含む。
【００７８】
尚、図１８、図１９においてグループ通信が行われる際の処理は、端末２と端末４の位置が異なる以外は、上記で説明した（２−１）〜（２−３）と同様であるため、その説明は省略する。
【００７９】
（４−２）
上記の（４−１）において生成された削除メッセージは、図２０に示すように、グループ通信を用いて転送され（ステップ（ｐ）〜（ｒ））、削除先の端末２ではこのメッセージを受信すると、自端末のＰ２Ｐ制御手段１１内の転送データ管理テーブル１１２から削除元の端末１の情報を削除し、削除応答メッセージを返す。削除応答メッセージは、図２２に示すように、メッセージ識別子が削除応答で、メッセージＩＤ、グループＩＤ、削除メッセージＩＤを含む。端末２から送信された削除応答メッセージは、図２３に示すように、端末４を介して端末１に受信される。図２３に示すように、端末２から削除応答メッセージが送信されると（ステップ（ｓ））、この削除応答メッセージは端末４により受信され、端末４では、対象の端末でないため転送する（ステップ（ｔ））。そして、端末４から転送された削除応答メッセージは、端末１により受信される（ステップ（ｕ））。
【００８０】
（４−３）
削除応答メッセージを受信した端末１では、図２４に示すように、削除応答メッセージを送信してきた端末２を転送データ管理テーブル１１２から削除する（ステップ（ｖ）、（ｗ））。削除された結果、該当端末がこれ以上データ転送を行う必要がなくなった場合（端末２のように転送先が１つでなおかつ参加フラグが“false”の場合、中継になっていない）、中継をやめるため、離脱を通知する。
【００８１】
（４−４）
上記の（４−２）、（４−３）において、削除先の端末が応答を返さない場合には、図２５に示すようにグループ通信圏外に移動していることが想定される。この場合、上記の（４−１）と同等の削除メッセージをブロードキャストで送信する。この処理の様子を図２６、図２７に示す。
【００８２】
（４−５）
上記の（４−４）で送信された削除メッセージを受信した削除先の端末は、上記の（４−２）と同様に削除応答メッセージを送信する。さらに、グループ通信メッセージを中継してもらうため、上記の（１−５）、（１−６）と同様にして削除メッセージのブロードキャストを辿って中継端末に転送を依頼しグループ通信可能となる端末までこれを繰り返しさかのぼる。この処理の様子を図２８、図２９に示す。
【００８３】
ここでは、（４−４）、（４−５）の処理はブロードキャスト通信により行われるものとして説明しているが、もし下位レイヤの通信手段としてマルチホップのユニキャストが実現されているのであれば、これを利用して行うようにしてもよい。
【００８４】
（４−６）
上記の（４−４）、（４−５）において、削除先の端末が応答を返さない場合には、図３０に示すように、端末自体が通信不可能な状態となっていることが想定される。そのため、図３１に示すように、データを届けることができなかったためＮＡＣＫメッセージを返す。ＮＡＣＫメッセージは、図３２に示すように、メッセージ識別子がＮＡＣＫ、メッセージＩＤ、グループＩＤ、ＮＡＣＫ対象の端末（通信できなかった端末）および該メッセージＩＤが含まれる。
【００８５】
（４−７）
この場合にネットワークが分断している可能性があるため再接続を行うために再接続メッセージを送信する。再接続メッセージは、図３３に示すように、メッセージ識別子が再接続で、メッセージＩＤ、グループＩＤ、発見できなかった削除先端末情報を含む。再接続メッセージは図３４に示されるようにブロードキャストで送信される。このメッセージを受信した端末で、転送ＩＤ管理テーブル１１１に、削除先の端末が含まれていた場合には、上記の（４−５）と同様にしてグループ通信のパスを確立する。
【００８６】
以上、詳細に説明した如く、本実施形態のモバイルアドホックネットワークシステムでは、端末間の通信でネットワークの実現に、Ｐ２Ｐ技術を適用することで、集中的に振舞う端末が不要となり、参加者端末の役割が平等となることや、ネットワーク全体を把握する必要がない。この上で、適切な通信相手をグルーピングし、効率的な通信を実現することで、参加離脱が多く、接続状態が変化し続けるネットワークにおいても比較的大規模な参加者へ提供するネットワークサービスが可能であり、また通信を行う端末以外は定期的な通信を行わないことから、サービス継続時間の延長や、長いサービス待機時間を実現することができる。
【００８７】
これを応用することで、特定のインフラを持たずとも端末があるだけで通信することができるため、図３５に示すように、屋台レベルの商店による広告配信ビジネスが実現される。また、通信事業者としては、受信ソフトウェアの無料配布と送信ソフトウェアの有料配布。グルーピングが可能なソフトウェアの有料販売。ディスカバリ回数による従量課金等が考えられる。
【００８８】
また、図には示されていないが、本実施形態における各端末１〜６は、上記で説明したモバイルアドホックネットワーク制御方法を実行するためのプログラムを記録した記録媒体を備えている。この記録媒体は磁気ディスク、半導体メモリまたはその他の記録媒体であってもよい。このプログラムは、記録媒体から各端末１〜６に読み込まれ、各端末１〜６の動作を制御する。具体的には、各端末１〜６内のＣＰＵがこのプログラムの制御により各端末１〜６のハードウェア資源に特定の処理を行うように指示することにより上記の処理が実現される。
【図面の簡単な説明】
【００８９】
【図１】モバイルアドホック双方向Ｐ２Ｐマルチキャスト制御システム構成図である。
【図２】転送ＩＤ管理テーブル１１１の構成を示す図である。
【図３】転送データ管理テーブル１１２の構成を示す図である。
【図４】ブロードキャスト管理テーブルの構成を示す図である。
【図５】メインバッファ１２２の構成を示す図である。
【図６】本発明の一実施形態のシステムにおける基本動作を示すシーケンス図である。
【図７】通信を開始する前段階の待機状態の流れを示す図である。
【図８】ディスカバリメッセージの構成を示す図である。
【図９】端末を発見し、グルーピングし、通信路を確保する流れを示す図（その１）である。
【図１０】端末を発見し、グルーピングし、通信路を確保する流れを示す図（その２）である。
【図１１】端末を発見し、グルーピングし、通信路を確保する流れを示す図（その３）である。
【図１２】端末を発見し、グルーピングし、通信路を確保する流れを示す図（その４）である。
【図１３】グループ通信の流れを示す図（その１）である。
【図１４】グループ通信メッセージの構成を示す図である。
【図１５】グループ通信の流れを示す図（その２）である。
【図１６】端末が離脱する際の流れを示す図である。
【図１７】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その１）である。
【図１８】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その２）である。
【図１９】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その３）である。
【図２０】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その４）である。
【図２１】削除メッセージの構成を示す図である。
【図２２】削除応答メッセージの構成を示す図である。
【図２３】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その５）である。
【図２４】端末の移動に伴いトポロジが変化した際（グループ通信圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その６）である。
【図２５】端末の移動に伴いトポロジが変化した際（グループ通信圏外でブロードキャスト圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その１）である。
【図２６】端末の移動に伴いトポロジが変化した際（グループ通信圏外でブロードキャスト圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その２）である。
【図２７】端末の移動に伴いトポロジが変化した際（グループ通信圏外でブロードキャスト圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その３）である。
【図２８】端末の移動に伴いトポロジが変化した際（グループ通信圏外でブロードキャスト圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その４）である。
【図２９】端末の移動に伴いトポロジが変化した際（グループ通信圏外でブロードキャスト圏内に存在する）に整合性を保つよう制御する動作する流れを示す図（その５）である。
【図３０】端末の移動に伴いトポロジが変化した際（存在しない）に整合性を保つよう制御する動作する流れを示す図（その１）である。
【図３１】端末の移動に伴いトポロジが変化した際（存在しない）に整合性を保つよう制御する動作する流れを示す図（その２）である。
【図３２】ＮＡＣＫメッセージの構成を示す図である。
【図３３】再接続メッセージの構成を示す図である。
【図３４】端末の移動に伴いトポロジが変化した際（存在しない）に整合性を保つよう制御する動作する流れを示す図（その３）である。
【図３５】本発明により実現するビジネスモデルを示す図である。
【符号の説明】
【００９０】
１〜６    端末
１１    Ｐ２Ｐ制御手段
１２    データ制御手段
１３    受信手段
１４    送信手段
１５    意味情報管理手段
１６    アプリケーション
６１〜７２    ステップ
８１〜８７    ステップ
１１１    転送ＩＤ管理テーブル
１１２    転送データ管理テーブル
１２１    ブロードキャスト管理テーブル
１２２    メインバッファ
１５１    嗜好情報ＤＢ
【図１】
2005072834.tif 000003
【図２】
2005072834.tif 000004
【図３】
2005072834.tif 000005
【図４】
2005072834.tif 000006
【図５】
2005072834.tif 000007
【図６】
2005072834.tif 000008
【図７】
2005072834.tif 000009
【図８】
2005072834.tif 000010
【図９】
2005072834.tif 000011
【図１０】
2005072834.tif 000012
【図１１】
2005072834.tif 000013
【図１２】
2005072834.tif 000014
【図１３】
2005072834.tif 000015
【図１４】
2005072834.tif 000016
【図１５】
2005072834.tif 000017
【図１６】
2005072834.tif 000018
【図１７】
2005072834.tif 000019
【図１８】
2005072834.tif 000020
【図１９】
2005072834.tif 000021
【図２０】
2005072834.tif 000022
【図２１】
2005072834.tif 000023
【図２２】
2005072834.tif 000024
【図２３】
2005072834.tif 000025
【図２４】
2005072834.tif 000026
【図２５】
2005072834.tif 000027
【図２６】
2005072834.tif 000028
【図２７】
2005072834.tif 000029
【図２８】
2005072834.tif 000030
【図２９】
2005072834.tif 000031
【図３０】
2005072834.tif 000032
【図３１】
2005072834.tif 000033
【図３２】
2005072834.tif 000034
【図３３】
2005072834.tif 000035
【図３４】
2005072834.tif 000036
【図３５】
2005072834.tif 000037