(57)【要約】【課題】複数の端末装置間で共同で実行可能なアプリケーションを選択することができるようにする。【解決手段】各端末装置１０１乃至１０５は、自分自身のユーザ情報と自己端末情報を周期的にアドホックネットワーク１００を介して他の端末装置にマルチキャストし、他の端末装置の端末情報テーブルに登録させる。グループマスタとなる端末装置は、アプリケーションの機能を満足する他の端末装置を、端末情報テーブルから検索し、参加メンバー候補とする。その数がアプリケーションの最低実行端末台数より多いとき、そのアプリケーションのグループ情報を生成し、他の端末装置に送信する。本発明は、ＰＤＡに適用することができる。【選択図】      図１
2004215064.tif 000002
【特許請求の範囲】
【請求項１】
アドホックネットワークを生成する端末装置において、
少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信手段と、
他の端末装置から送信された前記自己端末情報と前記ユーザ情報を受信する端末情報受信手段と、
前記端末情報受信手段によって受信された前記自己端末情報と前記ユーザ情報を記憶する端末情報記憶手段と、
少なくともアプリケーション識別情報を含む前記端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶手段と、
前記端末情報記憶手段により記憶された前記自己端末情報と前記ユーザ情報と、前記アプリケーション情報記憶手段により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能な前記アプリケーションに基づくグループ情報を生成するグループ情報生成手段と
を備えることを特徴とする端末装置。
【請求項２】
前記ユーザ情報は、ユーザの属性情報を含む
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記アプリケーションに関する情報は、前記アプリケーションを実行するのに必要な条件の情報を含む
ことを特徴とする請求項１に記載の端末装置。
【請求項４】
前記グループ情報生成手段によって生成された前記グループ情報を送信するグループ情報送信手段と、
他の端末装置からの前記グループ情報に基づく参加要求を受信する参加要求受信手段と、
他の端末装置からの前記参加要求の可否を判断する参加要求可否判断手段と、
前記参加要求可否判断手段の判断の結果を送信する結果送信手段をさらに備える
ことを特徴とする請求項１に記載の端末装置。
【請求項５】
他の端末装置のユーザとの間の親密度情報を記憶する親密度情報記憶手段をさらに備え、
前記参加要求可否判断手段は、前記親密度情報を用いて他の端末装置からの前記参加要求の可否を判断する
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
他の端末装置により送信された前記グループ情報を受信するグループ情報受信手段と、
前記グループ情報受信手段によって受信された前記グループ情報を記憶するグループ情報記憶手段と、
前記グループ情報記憶手段により記憶された前記グループ情報に基づく参加要求を他の端末装置に送信する参加要求送信手段と、
他の端末装置による前記参加要求の可否の判断の結果を受信する結果受信手段とをさらに備える
ことを特徴とする請求項１に記載の端末装置。
【請求項７】
前記グループ情報記憶手段は、前記グループ情報受信手段が前記グループ情報を一定時間受信できなかった場合、一定時間受信できなかった前記グループ情報を記憶から削除する
ことを特徴とする請求項６に記載の端末装置。
【請求項８】
前記端末情報記憶手段は、前記端末情報受信手段が前記自己端末情報と前記ユーザ情報を一定時間受信できなかった場合、一定時間受信できなかった前記自己端末情報と前記ユーザ情報を記憶から削除する
ことを特徴とする請求項１に記載の端末装置。
【請求項９】
他の端末装置のユーザとの間の親密度情報を記憶する親密度情報記憶手段をさらに備え、
前記グループ情報生成手段は、前記親密度情報を用いて前記グループ情報を生成する
ことを特徴とする請求項１に記載の端末装置。
【請求項１０】
前記グループ情報生成手段によって生成された前記グループ情報と前記グループ情報を共同で実行可能な他の端末装置との一覧を表示する一覧表表示手段をさらに備える
ことを特徴とする請求項１に記載の端末装置。
【請求項１１】
端末装置の通信方法において、
少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、
他の端末装置から送信された前記自己端末情報と前記ユーザ情報を受信する端末情報受信ステップと、
前記端末情報受信ステップの処理によって受信された前記自己端末情報と前記ユーザ情報を記憶する端末情報記憶ステップと、
少なくともアプリケーション識別情報を含む前記端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、
前記端末情報記憶ステップの処理により記憶された前記自己端末情報と前記ユーザ情報と、前記アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能な前記アプリケーションに基づくグループ情報を生成するグループ情報生成ステップと
を含むことを特徴とする通信方法。
【請求項１２】
端末装置のプログラムにおいて、
少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、
他の端末装置から送信された前記自己端末情報と前記ユーザ情報を受信する端末情報受信ステップと、
前記端末情報受信ステップの処理によって受信された前記自己端末情報と前記ユーザ情報を記憶する端末情報記憶ステップと、
少なくともアプリケーション識別情報を含む前記端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、
前記端末情報記憶ステップの処理により記憶された前記自己端末情報と前記ユーザ情報と、前記アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能な前記アプリケーションに基づくグループ情報を生成するグループ情報生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１３】
端末装置を制御するコンピュータに、
少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、
他の端末装置から送信された前記自己端末情報と前記ユーザ情報を受信する端末情報受信ステップと、
前記端末情報受信ステップの処理によって受信された前記自己端末情報と前記ユーザ情報を記憶する端末情報記憶ステップと、
少なくともアプリケーション識別情報を含む前記端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、
前記端末情報記憶ステップの処理により記憶された前記自己端末情報と前記ユーザ情報と、前記アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能な前記アプリケーションに基づくグループ情報を生成するグループ情報生成ステップと
を含む処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末装置および方法、記録媒体、並びにプログラムに関し、特に、アドホックネットワーク環境下において、複数の端末装置間で共同で実行可能なアプリケーションを選択することができるようにした端末装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
無線通信技術を用いて、公衆回線を用いることなく、その場に居合わせた移動端末間で随時にネットワークを構成し、自由に通信を行う、いわゆる、アドホックネットワークが実用化されつつある。
【０００３】
例えば、特許文献１には、移動端末の現在位置、属性、および移動状態に基づいて、複数の移動端末間で相互に通信を行うシステムが開示されている。
【０００４】
【特許文献１】
特開２００１−３４６２６７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１のシステムは、複数の移動端末間で相互に通信を行うことはできるものの、それぞれの移動端末が有しているアプリケーション毎に通信を行うことが困難であるという課題があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、複数の移動端末間で共同で実行可能なアプリケーション毎に通信することができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明の移動端末装置は、アドホックネットワークを生成する端末装置において、少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信手段と、他の端末装置から送信された自己端末情報とユーザ情報を受信する端末情報受信手段と、端末情報受信手段によって受信された自己端末情報とユーザ情報を記憶する端末情報記憶手段と、少なくともアプリケーション識別情報を含む端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶手段と、端末情報記憶手段により記憶された自己端末情報とユーザ情報と、アプリケーション情報記憶手段により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能なアプリケーションに基づくグループ情報を生成するグループ情報生成手段とを備えることを特徴とする。
【０００８】
ユーザ情報は、ユーザの属性情報を含むことができる。
【０００９】
アプリケーションに関する情報は、アプリケーションを実行させるのに必要な条件の情報を含むことができる。
【００１０】
グループ情報生成手段によって生成されたグループ情報を送信するグループ情報送信手段と、他の端末装置からのグループ情報に基づく参加要求を受信する参加要求受信手段と、他の端末装置からの参加要求の可否を判断する参加要求可否判断手段と、参加要求可否判断手段の判断の結果を送信する結果送信手段をさらに備えることができる。
【００１１】
他の端末装置のユーザとの間の親密度情報を記憶する親密度情報記憶手段をさらに備え、参加要求可否判断手段は、親密度情報を用いて他の端末装置からの参加要求の可否を判断することができる。
【００１２】
他の端末装置により送信されたグループ情報を受信するグループ情報受信手段と、グループ情報受信手段によって受信されたグループ情報を記憶するグループ情報記憶手段と、グループ情報記憶手段により記憶されたグループ情報に基づく参加要求を他の端末装置に送信する参加要求送信手段と、他の端末装置による参加要求の可否の判断の結果を受信する結果受信手段とをさらに備えることができる。
【００１３】
グループ情報記憶手段は、グループ情報受信手段がグループ情報を一定時間受信できなかった場合、一定時間受信できなかったグループ情報を記憶から削除することができる。
【００１４】
端末情報記憶手段は、端末情報受信手段が自己端末情報とユーザ情報を一定時間受信できなかった場合、一定時間受信できなかった自己端末情報とユーザ情報を記憶から削除することができる。
【００１５】
他の端末装置のユーザとの間の親密度情報を記憶する親密度情報記憶手段をさらに備え、グループ情報生成手段は、親密度情報を用いてグループ情報を生成することができる。
【００１６】
グループ情報生成手段によって生成されたグループ情報とグループ情報を共同で実行可能な他の端末装置との一覧を表示する一覧表表示手段をさらに備えることができる。
【００１７】
本発明の通信方法は、少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、他の端末装置から送信された自己端末情報とユーザ情報を受信する端末情報受信ステップと、端末情報受信ステップの処理によって受信された自己端末情報とユーザ情報を記憶する端末情報記憶ステップと、少なくともアプリケーション識別情報を含む端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、端末情報記憶ステップの処理により記憶された自己端末情報とユーザ情報と、アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能なアプリケーションに基づくグループ情報を生成するグループ情報生成ステップとを含むことを特徴とする。
【００１８】
本発明の記録媒体に記録されているプログラムは、少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、他の端末装置から送信された自己端末情報とユーザ情報を受信する端末情報受信ステップと、端末情報受信ステップの処理によって受信された自己端末情報とユーザ情報を記憶する端末情報記憶ステップと、少なくともアプリケーション識別情報を含む端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、端末情報記憶ステップの処理により記憶された自己端末情報とユーザ情報と、アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能なアプリケーションに基づくグループ情報を生成するグループ情報生成ステップとを含むことを特徴とする。
【００１９】
本発明のプログラムは、少なくとも端末識別情報を含む自己端末情報と、少なくともユーザ識別情報を含むユーザ情報を定期的に送信する情報送信ステップと、他の端末装置から送信された自己端末情報とユーザ情報を受信する端末情報受信ステップと、端末情報受信ステップの処理によって受信された自己端末情報とユーザ情報を記憶する端末情報記憶ステップと、少なくともアプリケーション識別情報を含む端末装置に記憶されたアプリケーションに関する情報を記憶するアプリケーション情報記憶ステップと、端末情報記憶ステップの処理により記憶された自己端末情報とユーザ情報と、アプリケーション情報記憶ステップの処理により記憶されたアプリケーションに関する情報とから、他の端末装置と共同で実行可能なアプリケーションに基づくグループ情報を生成するグループ情報生成ステップとを含むことを特徴とする。
【００２０】
本発明の端末装置および方法、記録媒体、並びにプログラムにおいては、他端末から送信されてきた自己端末情報とユーザ情報と、自端末に記憶されたアプリケーション情報とから、他の端末と共同で実行可能なアプリケーションがグループ情報として選択される。
【００２１】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【００２２】
図１は、本発明を適用した端末装置から構成されるシステムの全体の構成を示す。
【００２３】
図１において、端末装置１０１、端末装置１０２、端末装置１０３、端末装置１０４、および端末装置１０５は、アドホックネットワーク１００を介して、相互に通信可能な状態とされている。端末装置１０１乃至１０５は、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話機等のようにユーザが携帯して移動可能な装置とされる。本実施の形態においては、通信はＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いて行われる。各端末装置間で各種情報を送受信するためのマルチキャストアドレスとポートは、予め設定されており、各端末装置から、他の端末装置へは、同時にデータの送信が可能である。
【００２４】
なお、図１では、５台の端末装置が、アドホックネットワーク１００を介して、相互に通信可能な状態とされているが、例えば、Ｂｌｕｅｔｏｏｔｈ（商標）等の近距離無線通信により通信が可能な範囲に存在する全ての端末装置は、アドホックネットワーク１００を介して、相互に通信が可能である。
【００２５】
図２は、本発明を適用した端末装置１０１の内部の電気的構成例を示すブロック図である。
【００２６】
図２において、ＣＰＵ２０１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３にロードされたプログラムに従って、各処理を実行する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２には、基礎的なプログラムやデータが記憶される。ＲＡＭ２０３には、ＣＰＵ２０１が各種の処理を実行する上で必要なプログラムやデータが適宜記憶される。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５には、ＣＰＵ２０１が実行するオペレーティングシステム（ＯＳ）、その他のプログラムが格納されている。ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４には、図３において後述するアプリケーションプログラムなどの各種のプログラム、および各種の情報が格納されている。携帯性を重視し、より小型化を図るために、ＨＤＤ２０５が省略される場合、ＯＳを含む全てのプログラム、データは、ＥＥＰＲＯＭ２０４に保持される。
【００２７】
ＥＥＰＲＯＭ２０４に格納されている各種の情報は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１の制御により、通信部２０８からアドホックネットワーク１００を介して、近距離無線通信により通信が可能な範囲に存在する全ての他の端末装置に送信される。また、アドホックネットワーク１００を介して送信されてきた各種の情報は、通信部２０８により受信され、ＣＰＵ２０１の制御により、ＥＥＰＲＯＭ２０４に格納される。通信部２０８はまた、必要に応じて、電話回線、インターネット等のネットワークとの通信処理も行う。
【００２８】
入力部２０７は、例えば、タッチペンあるいはキーボード等により構成され、ユーザの指示により、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等により構成される表示部２０６に表示される各種アイコンを選択することができる。
【００２９】
例えば、ユーザは、入力部２０７を操作することにより表示部２０６上でカーソルを移動させ、各種アイコンの中から所望のアイコンを選択することができる。所望のアイコンが選択されると、選択されたアイコンに対応しているプログラムが起動される。
【００３０】
また、アプリケーションプログラムなどの各種のプログラム、および各種の情報は、リムーバブルメディア２１０に格納しておき、ドライブ２０９により読み出すようにしてもよい。
【００３１】
なお、図示は省略するが、他の端末装置１０２乃至１０５も、端末装置１０１と同様に構成されている。
【００３２】
図３は、ＥＥＰＲＯＭ２０４に格納されているアプリケーションプログラムなどの各種のプログラム、および各種の情報を示す。
【００３３】
図３に示されるように、ＥＥＰＲＯＭ２０４には、他の端末装置と共同で実行可能なアプリケーションを選択する処理を実行するグループ制御プログラム３０１、自己端末情報３０２、ユーザ情報３０３、ユーザ間情報３０４、アプリケーション情報３０５−１乃至３０５−Ｎ、アプリケーション３０６−１乃至３０６−Ｎ、端末情報テーブル３０７、グループ情報テーブル３０８、および参加グループテーブル３０９が、それぞれ格納されている。
【００３４】
なお、図３では、アプリケーション３０６−１乃至３０６−Ｎは、それぞれの端末装置のＥＥＰＲＯＭ２０４に格納されているが、アプリケーション３０６は、実行される際に、他の端末装置やインターネット上に公開されているサーバ等からダウンロードするようにしてもよい。
【００３５】
図４は、ＥＥＰＲＯＭ２０４に格納されている自己端末情報３０２の構成例を表している。
【００３６】
図４に示されるように、自己端末情報３０２には、それぞれの端末装置を一意に識別するための識別情報としての端末識別子４０１、端末装置のＣＰＵ２０１の処理能力を表す端末ＣＰＵ情報４０２、端末装置のＯＳを表す端末ＯＳ情報４０３、および端末装置の表示部２０６の表示能力を表す端末ディスプレイ能力情報４０４が含まれている。
【００３７】
図４の例では、端末識別子４０１は、「ＰＤＡ−００１」とされ、端末ＣＰＵ情報４０２は、「ＣＰＵ−ＸＸ／２００ＭＨｚ  ２５０ＭＩＰＳ」とされ、端末ＯＳ情報４０３は、「Ｌｉｎｕｘ２．４」とされ、端末ディスプレイ能力情報４０４は、「３２０×２４０／１６ｂｉｔ．ｃｏｌｏｒ」とされている。
【００３８】
図５は、ＥＥＰＲＯＭ２０４に格納されているユーザ情報３０３を説明するための図である。
【００３９】
図５に示されるように、ユーザ情報３０３には、それぞれのユーザを一意に識別するための識別情報としてのユーザ識別子５０１、ユーザ名５０２、ユーザ年齢５０３、ユーザ性別５０４、およびユーザの好みのアプリケーション情報５０５が含まれている。
【００４０】
図５の例では、ユーザ識別子５０１は、「Ｕ００１」とされ、ユーザ名５０２は、「Ａｋｉｒａ」とされ、ユーザ年齢５０３は、「２０代」とされ、ユーザ性別５０４は、「男性」とされ、好みのアプリケーション情報５０５は、「対戦ゲーム」とされている。なお、ユーザ名５０２は、必ずしも実名である必要はなく、ペンネームであってもよい。
【００４１】
図６は、ＥＥＰＲＯＭ２０４に格納されているユーザ間情報３０４の例を表している。
【００４２】
ユーザ間情報３０４は、それぞれの端末装置と他の端末装置との間の親密度を表すための表形式のデータであり、ユーザ識別子６０１、ユーザ名６０２、および親密度６０３が含まれ、１行（エントリ）が１ユーザに対応している。図６に示されるユーザ間情報３０４は、ユーザ識別子６０１が「Ｕ００１」である端末装置１０１のユーザ間情報であり、ユーザ識別子６０１が「Ｕ００２」乃至「Ｕ００６」の他の端末装置の親密度が表形式のデータとして表されている。
【００４３】
例えば、この端末装置１０１のユーザから見て、ユーザ識別子が「Ｕ００６」、ユーザ名が「Ｊｅｆｆｒｙ」の他の端末装置の親密度は「上司」ということになる。逆に、ユーザ識別子６０１が「Ｕ００６」である端末装置のユーザから見て、この端末装置のユーザの親密度は「部下」ということになる。親密度６０３としては、この他、例えば、「親しい友人」、「知り合い」、「会社の同僚」等があげられるが、勿論、以上にあげたものに限らない。
【００４４】
図７は、ＥＥＰＲＯＭ２０４に格納されているアプリケーション情報３０５の例を表している。
【００４５】
図７に示されるように、アプリケーション情報３０５には、それぞれのアプリケーションを一意に識別するためのアプリケーション識別子７０１、アプリケーションの格納場所を表すアプリケーションＵＲＬ７０２、アプリケーション名７０３、アプリケーションカテゴリ７０４、アプリケーションを同時に実行することができる最大実行可能端末台数７０５、アプリケーションを同時に実行するのに必要な最低実行端末台数７０６、アプリケーションを実行するのに要求される要求通信遅延７０７、アプリケーションを実行するのに要求される要求通信レート７０８、およびその他必要条件７０９が含まれている。その他必要条件としては、アプリケーションを実行するのに必要とされるＣＰＵの処理能力、ディスプレイ能力、およびＯＳ等の端末装置の性能に関するものや、成人のみ実行可能、子供向け、男性向け、女性向け、同性グループ向け、ビジネス用、娯楽用といったアプリケーションの利用者、利用状況を制限する条件等があげられる。
【００４６】
図７の例では、アプリケーション識別子７０１は、「ＡＰＰ−００１」とされ、アプリケーションＵＲＬ７０２は、「ｆｉｌｅ：／／／ｄｉｒ／ｇａｍｅ００１」とされ、アプリケーション名７０３は、「対戦格闘ゲーム」とされ、アプリケーションカテゴリ７０４は、「対戦ゲーム」とされ、最大実行可能端末台数７０５は、「４台」とされ、最低実行端末台数７０６は、「２台」とされ、要求通信遅延７０７は、「１００ｍｓｅｃ以下」とされ、要求通信レート７０８は、「１Ｍｂｐｓ以上」とされ、その他必要条件７０９として、ディスプレイ能力が「１６０×１６０／１６ｂｉｔ．ｃｏｌｏｒ以上」、ＣＰＵ能力が「１００ＭＩＰＳ以上」とされている。
【００４７】
次に、図８乃至図１０を参照して、グループ制御プログラム３０１によるグループ制御処理について説明する。
【００４８】
端末装置の電源が投入されると、グループ制御プログラム３０１が起動され、ステップＳ１０１において、グループ制御プログラム３０１は、ＥＥＰＲＯＭ２０４に格納されている自己端末情報３０２とユーザ情報３０３を読み出し、通信部２０８からアドホックネットワーク１００を介して、近距離無線通信により通信が可能な範囲に存在する全ての端末装置に送信（マルチキャスト）する。このときマルチキャストするＩＰアドレスは、予め定められており、ＥＥＰＲＯＭ２０４に記憶されている。
【００４９】
ステップＳ１０２において、グループ制御プログラム３０１は、前回（ステップＳ１０１または後述するステップＳ１１１において）、ユーザ情報と自己端末情報を送信してから予め設定されている一定時間が経過したか否かを判定する。ステップＳ１０２において、一定時間が経過したと判定された場合、ステップＳ１１１において、グループ制御プログラム３０１は、再び、ＥＥＰＲＯＭ２０４に格納されている自己端末情報３０２とユーザ情報３０３を通信部２０８からアドホックネットワーク１００を介して、近距離無線通信により通信が可能な範囲に存在する他の端末装置にマルチキャストする。
【００５０】
ステップＳ１１２において、グループ制御プログラム３０１は、更新されていない端末装置があるか否かを判定する。ここで更新されていない端末装置とは、一定時間が経過した後、自己端末情報３０２とユーザ情報３０３を送信してこなかった端末装置のことである。すなわち、各端末装置は、ステップＳ１０１、ステップＳ１１１の処理により、一定時間毎に自分自身のユーザ情報と自己端末情報をマルチキャストするように規則付けられており、一定時間経過してもそれらの情報をマルチキャストしない端末装置は、最早、アドホックネットワーク１００から離脱したもの（他の位置に移動したもの）と判定される。
【００５１】
ステップＳ１１２において、更新されていない端末装置があると判定された場合、ステップＳ１１３において、グループ制御プログラム３０１は、更新されていない端末装置を端末情報テーブル３０７から削除する。端末情報テーブル３０７は、図１１に示されるように、各端末装置が受信した他の端末装置の自己端末情報とユーザ情報を格納する（後述するステップＳ１０４で実行される）表形式のデータであり、端末識別子８０１、端末情報８０２、ユーザ情報８０３、ＩＰアドレス８０４、通信遅延８０５、通信レート８０６、および情報更新時刻８０７が含まれ、１行（エントリ）が１ユーザに対応している。
【００５２】
図１１に示される端末情報テーブル３０７は、端末識別子８０１が「ＰＤＡ−００１」である端末装置の端末情報テーブルであり、端末識別子８０１が「ＰＤＡ−００２」、「ＰＤＡ−００３」、または「ＰＤＡ−００４」である端末装置の情報が表形式のデータとして登録されている。
【００５３】
図１１の例では、端末識別子が「ＰＤＡ−００２」の端末装置については、ＩＰアドレスは、「１９２．１６８．０．２」、通信遅延は、「１００ｍｓ」、通信レートは、「１Ｍｂｐｓ」、情報更新時刻は、「１４：０２：１１」とされ、端末識別子が「ＰＤＡ−００３」の端末装置については、ＩＰアドレスは、「１９２．１６８．０．３」、通信遅延は、「１５０ｍｓ」、通信レートは、「１２８ｋｂｐｓ」、情報更新時刻は、「１４：０４：３６」とされ、端末識別子が「ＰＤＡ−００４」の端末装置については、ＩＰアドレスは、「１９２．１６８．０．４」、通信遅延は、「４０ｍｓ」、通信レートは、「２Ｍｂｐｓ」、情報更新時刻は、「１４：０３：５７」とされている。端末情報８０２としては、図４に示される自己端末情報３０２のうち、端末識別子４０１を除く情報が登録され、ユーザ情報８０３としては、図５に示されるユーザ情報３０３が登録される。
【００５４】
ステップＳ１１２において、更新されていない端末がないと判定された場合、およびステップＳ１１３の処理の後、ステップＳ１１４において、グループ制御プログラム３０１は、自分自身がグループマスタであるか否かを判定する。グループマスタは、後述するステップＳ１１０で、ＥＥＰＲＯＭ２０４に格納されている端末情報テーブル３０７とアプリケーション情報３０５とから、他の端末装置と共同で実行可能なアプリケーション３０６を選択するグループ生成処理を実行した端末装置である。
【００５５】
ステップＳ１１４において、自分自身がグループマスタであると判定した場合、ステップＳ１１５において、グループ制御プログラム３０１は、他の端末装置にグループ情報を送信（マルチキャスト）する。このときのマルチキャストアドレスは、ステップＳ１０１、ステップＳ１１１でユーザ情報と自己端末情報とをマルチキャストしたときのマルチキャストアドレスと異なるものとされるが、同一のものとしてもよい。グループ情報は、グループマスタにより他の端末装置と共同で実行可能として選択されたアプリケーション毎に生成されるものであり、図１２に示されるように、グループを一意に識別するグループ識別子９０１、グループマスタが自動的に割り当て、他の端末装置との間の通信に用いられるグループ通信マルチキャストアドレス９０２とグループ通信マルチキャストポート９０３、実行アプリケーション識別子９０４、アプリケーション情報９０５、参加可能端末９０６、グループマスタ端末９０７、および現在の参加端末リスト９０８が含まれている。
【００５６】
図１２の例では、グループ識別子９０１は、「Ｇ００１」とされ、グループ通信マルチキャストアドレス９０２は、「２３０．１．２．３」とされ、グループ通信マルチキャストポート９０３は、「１２３４」とされ、実行アプリケーション識別子９０４は、「ＡＰＰ−００１」とされ、アプリケーション情報９０５は、図７に示されるものとされ、参加可能端末９０６は、「制限なし」とされ、グループマスタ端末９０７は、「ＰＤＡ−００１」とされ、現在の参加端末リスト９０８は、「ＰＤＡ−００１、ＰＤＡ−００２」とされている。このようにしてステップＳ１１５の処理で送信（マルチキャスト）されたグループ情報は、各端末装置において受信され、グループ情報テーブル３０８（図１３）に登録される（後述するステップＳ１０５、ステップＳ１１９）。
【００５７】
ステップＳ１１４において、自分自身がグループマスタではないと判定された場合、およびステップＳ１１５の処理の後、ステップＳ１１６において、グループ制御プログラム３０１は、グループ情報テーブル３０８中に、更新されていないグループ情報があるか否かを判定する。
【００５８】
ステップＳ１１６において、一定の時間、更新されていないグループ情報があると判定された場合、ステップＳ１１７において、グループ制御プログラム３０１は、更新されていないグループ情報に対応するグループをグループ情報テーブル３０８から削除する。すなわち、グループマスタは、一定時間が経過する毎に（ステップＳ１０２でＹＥＳと判定される毎に）、グループ情報を送信し（ステップＳ１１５）、各端末装置は、グループ情報を受信すると、その都度グループ情報テーブル３０８を更新する。したがって、更新されていないグループ情報がある場合とは、そのグループ情報を送信するグループマスタが、アドホックネットワーク１００を介して、近距離無線通信により通信が可能な範囲から離脱した場合であるので、そのグループは削除される。
【００５９】
グループ情報テーブル３０８は、図１３に示されるように、グループ情報を格納する表形式のデータであり、グループ識別子１００１、グループマスタ１００２、グループ情報１００３、および情報更新時刻１００４を含んだものとされている。
【００６０】
図１３の例では、グループ識別子が「Ｇ００１」のグループについては、グループマスタは、「ＰＤＡ−００１」、情報更新時刻は、「１４：０５：２０」とされ、グループ識別子が「Ｇ００２」のグループについては、グループマスタは、「ＰＤＡ−００３」、情報更新時刻は、「１４：０３：０４」とされ、グループ識別子が「Ｇ００３」のグループについては、グループマスタは、「ＰＤＡ−００２」、情報更新時刻は、「１４：０２：４１」とされ、グループ識別子が「Ｇ００４」のグループについては、グループマスタは、「ＰＤＡ−００２」、情報更新時刻は、「１４：０６：３２」とされている。グループ情報１００３としては、図１２に示されるグループ識別子を除く情報が登録される。
【００６１】
ステップＳ１１６において、更新されていないグループ情報がないと判定された場合、およびステップＳ１１７の処理の後、ステップＳ１１８において、グループ制御プログラム３０１は、ユーザにより入力部２０７が操作され、グループ制御処理の終了が指示されたか否かを判定する。
【００６２】
ステップＳ１１８において、グループ制御処理の終了が指示されたと判定された場合、グループ制御処理は終了し、グループ制御処理の終了が指示されていないと判定された場合、処理は、ステップＳ１０２に戻る。
【００６３】
ステップＳ１０２において、前回の処理から、まだ一定時間が経過していないと判定された場合、ステップＳ１０３において、グループ制御プログラム３０１は、通信部２０８を介して、他の端末装置のユーザ情報と自己端末情報（他の端末装置がステップＳ１０１、ステップＳ１１１でマルチキャストしたもの）を受信したか否かを判定する。
【００６４】
ステップＳ１０３において、他の端末装置のユーザ情報と自己端末情報を受信したと判定された場合、ステップＳ１０４において、グループ制御プログラム３０１は、他の端末装置のユーザ情報と自己端末情報を図１１に示される端末情報テーブル３０７に登録する。なお、図１１に示される情報更新時刻８０７は、このとき更新される。
【００６５】
ステップＳ１０３において、他の端末装置のユーザ情報と自己端末情報を受信したと判定されない場合、およびステップＳ１０４の処理の後、ステップＳ１０５において、グループ制御プログラム３０１は、通信部２０８を介して、グループ情報（ステップＳ１１５でグループマスタから送信されたもの）を受信したか否かを判定する。
【００６６】
ステップＳ１０５において、グループ情報を受信したと判定された場合、ステップＳ１１９において、グループ制御プログラム３０１は、受信したグループ情報を、図１３に示されるグループ情報テーブル３０８に登録する。受信したグループ情報が既に登録されている場合、情報更新時刻１００４が更新される。
【００６７】
ステップＳ１１９の処理の後、ステップＳ１２０において、グループ制御プログラム３０１は、図１３に示されるグループ情報テーブル３０８に参加可能なグループが存在するか否かを判定する。グループ情報テーブル３０８のグループ情報１００３中の、実行アプリケーション識別子９０４により識別されるアプリケーションを自分自身が持っているか否か、アプリケーション情報９０５（アプリケーション情報３０５）中の要求通信遅延７０７、要求通信レート７０８、その他必要条件７０９に規定されている条件を、自分自身が満足しているか否かから、グループ参加可能か否かが判定される。
【００６８】
ステップＳ１２０において、グループ情報テーブル３０８に参加可能なグループが存在すると判定された場合、ステップＳ１２１において、グループ制御プログラム３０１は、通信部２０８を介して、グループマスタに参加要求メッセージを送信する。そのときのアドレスは、グループ通信マルチキャストアドレス９０２が用いられる。
【００６９】
後述するように、参加要求メッセージを送信すると、グループマスタから、参加許可メッセージ（図１５のステップＳ１４５）、または参加拒否メッセージ（図１５のステップＳ１４６）が送信されてくる。そこで、ステップＳ１２２において、グループ制御プログラム３０１は、通信部２０８を介して、グループマスタから参加許可メッセージを受信したか否かを判定する。
【００７０】
ステップＳ１２２において、グループマスタから参加許可メッセージを受信したと判定された場合、ステップＳ１２３において、グループ制御プログラム３０１は、図１４に示される参加グループテーブル３０９に、ステップＳ１２２の処理において、グループマスタから参加許可メッセージを受信したグループを登録する。
【００７１】
参加グループテーブル３０９は、図１４に示されるように、参加グループを格納する表形式のデータであり、グループ識別子１０１１、アプリケーション名１０１２、および参加端末リスト１０１３を含んだものとされている。
【００７２】
図１４の例では、グループ識別子が「Ｇ００１」のグループについては、アプリケーション名は、「対戦格闘ゲーム」、参加端末リストは、「ＰＤＡ−００１、ＰＤＡ−００２」とされ、グループ識別子が「Ｇ００２」のグループについては、アプリケーション名は、「チャット」、参加端末リストは、「ＰＤＡ−００３、ＰＤＡ−００１、ＰＤＡ−００４」とされる。
【００７３】
ステップＳ１２０において、グループ情報テーブル３０８中に参加可能なグループが存在しないと判定された場合、ステップＳ１２２において、グループマスタから参加許可メッセージを受信しないと判定された場合（参加拒否メッセージを受信したと判定された場合）、およびステップＳ１２３の処理の後、処理は、ステップＳ１０２に戻り、それ以降の処理が繰り返し実行される。
【００７４】
ステップＳ１０５において、グループ情報を受信しないと判定された場合、ステップＳ１０６において、グループ制御プログラム３０１は、通信部２０８を介して、自分自身がグループマスタとなっているグループに対する参加要求メッセージ（ステップＳ１２１で送信されたもの）を他の端末装置から受信したか否かを判定する。
【００７５】
ステップＳ１０６において、自分自身がグループマスタとなっているグループに対する参加要求メッセージを他の端末装置から受信したと判定された場合、ステップＳ１０７において、グループ制御プログラム３０１は、グループ参加受付処理を実行する。
【００７６】
次に、図１５を参照して、グループ参加受付処理について説明する。
【００７７】
ステップＳ１４１において、グループ制御プログラム３０１は、通信部２０８を介して、他端末装置から受信した参加要求メッセージが対象とするグループが、自分自身がグループマスタとして管理するグループであるか否かを判定する。
【００７８】
ステップＳ１４１において、他の端末装置からの参加要求メッセージで対象とされるグループが、自分自身がグループマスタとして管理するグループであると判定された場合、ステップＳ１４２において、グループ制御プログラム３０１は、参加要求メッセージを送信してきた端末装置において、そのグループの対象とされているアプリケーションが、実行可能か否かを判定する。その端末装置の端末情報８０２を、端末情報テーブル３０７から読み取り、それをグループ情報（図１２）と比較することで、この判定が行われる。
【００７９】
ステップＳ１４２において、参加要求メッセージを送信してきた端末装置でアプリケーションが、実行可能であると判定された場合、ステップＳ１４３において、グループ制御プログラム３０１は、そのグループのアプリケーションの参加端末台数が、最大実行可能端末台数７０５（図７）に達しているか否かを判定する。
【００８０】
ステップＳ１４３において、参加要求メッセージを送信してきたアプリケーションの参加端末台数（そのグループに参加している端末装置の台数）が、最大実行可能端末台数に達していないと判定された場合、ステップＳ１４４において、グループ制御プログラム３０１は、図１４に示される参加グループテーブル３０９の参加端末リスト１０１３に参加要求メッセージを送信してきた端末装置の端末識別子を追加する。
【００８１】
ステップＳ１４５において、グループ制御プログラム３０１は、通信部２０８を介して、参加要求メッセージを送信してきた端末装置に、参加許可メッセージを送信する。この参加許可メッセージは、ステップＳ１２２において、その端末装置により受信される。
【００８２】
ステップＳ１４１において、参加要求メッセージが対象とするグループが、自分自身がグループマスタとして管理するグループではないと判定された場合、ステップＳ１４２において、参加要求メッセージを送信してきた端末装置でアプリケーションが、実行可能ではないと判定された場合、およびステップＳ１４３において、参加端末台数が、最大実行可能端末台数に既に達していると判定された場合、ステップＳ１４６において、グループ制御プログラム３０１は、通信部２０８を介して、参加要求メッセージを送信してきた端末装置に、参加拒否メッセージを送信する。このメッセージは、ステップＳ１２２でその端末装置により受信される。
【００８３】
ステップＳ１４５、およびステップＳ１４６の処理の後、処理は、ステップＳ１０２に戻り、それ以降の処理が繰り返し実行される。
【００８４】
ステップＳ１０６において、参加要求メッセージを受信してないと判定された場合、ステップＳ１０８において、グループ制御プログラム３０１は、ユーザによって入力部２０７が操作されることによりグループ生成が指令されたか否かを判定する。
【００８５】
ステップＳ１０８において、グループ生成が指令されたと判定された場合、ステップＳ１０９において、グループ制御プログラム３０１は、自分自身が参加中のグループがＮ個以下か否かを判定する。
【００８６】
ステップＳ１０８において、自分自身が参加中のグループがＮ個以下であると判定された場合、自分自身が参加中のグループの数が不十分であるとして、ステップＳ１１０において、グループ制御プログラム３０１は、グループ生成処理を実行し、自らグループマスタとなってグループを生成する。
【００８７】
ステップＳ１０８でグループ生成がユーザより指令されていないと判定された場合、ステップＳ１０９で、参加中のグループの数がＮ個より多い（十分である）と判定された場合、並びにステップＳ１１０でグループ生成処理が完了したとき、処理はステップＳ１０２に戻り、それ以降の処理が繰り返される。
【００８８】
次に、図１６を参照して、グループ生成処理の詳細について説明する。
【００８９】
ステップＳ１６１において、グループ制御プログラム３０１は、自端末内の全てのアプリケーション情報について処理済みか否かを判定する。
【００９０】
ステップＳ１６１において、自端末内の全てのアプリケーション情報についてまだ、処理済みではないと判定された場合、ステップＳ１６２において、グループ制御プログラム３０１は、自端末内のアプリケーション情報から１つを選択する（図３のアプリケーション情報３０５−１乃至３０５−Ｎの中から１つを選択する）。
【００９１】
ステップＳ１６３において、グループ制御プログラム３０１は、端末情報テーブルの全ての端末装置を処理済みか否かを判定する。
【００９２】
ステップＳ１６３において、端末情報テーブルの全ての端末装置をまだ処理済みではないと判定された場合、ステップＳ１６４において、グループ制御プログラム３０１は、端末情報テーブルから１つの端末装置を選択する（図１１の端末情報テーブル３０７から、１つ（例えば、ＰＤＡ−００２）を選択する）。
【００９３】
ステップＳ１６５において、グループ制御プログラム３０１は、ステップＳ１６４の処理で端末情報テーブル３０７から選択された端末装置の端末情報８０２、およびユーザ情報８０３は、ステップＳ１６２の処理で選択されたアプリケーションの要求を満たすか否かを判定する。例えば、ステップＳ１６２の処理で、図７に示されるアプリケーション情報３０５が選択され、ステップＳ１６４の処理で選択された端末装置の端末情報８０２およびユーザ情報８０３が、それぞれ図４および図５に示されるものだとすると、この場合、選択された端末装置のＣＰＵ能力は、「２００ＭＨｚ  ２５０ＭＩＰＳ」とされ、端末ディスプレイ能力は、「３２０×２４０／１６ｂｉｔ．ｃｏｌｏｒ」とされ、ユーザの好みのアプリケーションは、「対戦ゲーム」とされている。一方、選択されたアプリケーションが要求するＣＰＵ能力は、「１００ＭＩＰＳ以上」とされ、端末ディスプレイ能力は、「１６０×１６０／１６ｂｉｔ．ｃｏｌｏｒ以上」とされ、アプリケーション名は、「対戦格闘ゲーム」とされている。したがってこの場合、選択された端末情報およびユーザ情報は、アプリケーションの要求を満たしていることになる。
【００９４】
ステップＳ１６５において、選択された端末情報とユーザ情報がアプリケーションの要求を満たすと判定された場合、ステップＳ１６６において、グループ制御プログラム３０１は、そのグループの参加メンバー候補に、ステップＳ１６４の処理で選択された端末装置（の端末識別子）を追加する。
【００９５】
ステップＳ１６５において、選択された端末情報とユーザ情報がアプリケーションの要求を満たさないと判定された場合、およびステップＳ１６６の処理の後、処理は、ステップＳ１６３に戻る。以上の処理を繰り返すことにより、アドホックネットワーク１００に、いま接続されている端末装置のうち、アプリケーションを実行可能なものの数が検出される。
【００９６】
ステップＳ１６３において、端末情報テーブルの全ての端末装置を処理済みであると判定された場合、ステップＳ１６７において、グループ制御プログラム３０１は、参加メンバー候補の数は、ステップＳ１６２の処理で選択されたアプリケーション情報の最低実行端末台数７０６（図７）より多いか否かを判定する。
【００９７】
ステップＳ１６７において、参加メンバー候補の数は、選択されたアプリケーション情報の最低実行端末台数より多いと判定された場合、ステップＳ１６８において、グループ制御プログラム３０１は、参加メンバー候補の数は、ステップＳ１６２の処理で選択されたアプリケーション情報の最大実行可能端末台数７０５（図７）より多いか否かを判定する。
【００９８】
ステップＳ１６８において、参加メンバー候補の数は、アプリケーション情報の最大実行可能端末台数より多いと判定された場合、ステップＳ１６９において、グループ制御プログラム３０１は、参加メンバー候補を絞り込む処理を実行する。
【００９９】
参加メンバー候補の数を絞り込むには、例えば、図５に示されるユーザ情報を参照して、ユーザ情報の年齢や性別情報から、グループマスタのユーザと同年代あるいは同性（あるいは異性）のユーザが使用している端末装置を優先したり、図７に示されるアプリケーション情報のアプリケーションカテゴリが、図５に示されるユーザ情報の好みのアプリケーションと合致する端末装置を優先したりすることができる。また、以上の方法においても参加メンバー候補の数を絞り込むことができない場合には、さらに、図６に示されるユーザ間情報を参照して、ユーザ間情報の親密度が高い順、例えば、「親しい友人」、「知り合い」、「会社の同僚」、および「会社の上司」といった順に参加メンバー候補を絞り込んでもよい。例えば、図７に示されるアプリケーション情報に対する参加メンバーを絞り込むには、アプリケーションカテゴリが、「対戦ゲーム」であることから、図５に示されるユーザ情報の好みのアプリケーションが「対戦ゲーム」、もしくは図６に示されるユーザ間情報の親密度が高い「親しい友人」から優先して参加メンバー候補を絞り込むのが望ましい。
【０１００】
ステップＳ１６８において、参加メンバー候補の数は、アプリケーション情報の最大実行可能端末台数より少ないと判定された場合、およびステップＳ１６９の処理の後、ステップＳ１７０において、グループ制御プログラム３０１は、図１２に示されるグループ情報を生成する。
【０１０１】
ステップＳ１７１において、グループ制御プログラム３０１は、通信部２０８を介して、ステップＳ１７０の処理で生成されたグループ情報を送信可能な範囲に存在する全ての端末装置に送信する。このように、グループが始めて生成されたときは、一定の時間の経過をまたずに、グループ情報が直ちに送信される。
【０１０２】
ステップＳ１７２において、グループ制御プログラム３０１は、ステップＳ１７０の処理で生成されたグループ情報を図１４に示される参加グループテーブルに追加する。
【０１０３】
ステップＳ１６７において、参加メンバー候補の数は、選択されたアプリケーション情報の最低実行端末台数より少ないと判定された場合、そのアプリケーションに関してはグループを生成することができないので、ステップＳ１６８乃至ステップＳ１７２の処理はスキップされる。その後、処理はステップＳ１６１に戻り、それ以降の処理が繰り返される。
【０１０４】
ステップＳ１６１において、自端末内の全てのアプリケーション情報について処理済みであると判定された場合、処理は、図８のステップＳ１０２に戻り、それ以降の処理が繰り返し実行される。
【０１０５】
次に、図１７を参照して、グループ情報が生成され、生成されたグループ情報が他の端末装置に送信されるまでの通信シーケンスについて説明する。図１７の例では、端末装置１０１、端末装置１０２、および端末装置１０３の３台の端末装置がアドホックネットワークで接続されており、端末装置１０１がグループ情報を生成するグループマスタになるものとする。
【０１０６】
ステップＳ２０１において、端末装置１０１は、自己端末情報およびユーザ情報を送信（マルチキャスト）する。端末装置１０２および端末装置１０３は、それぞれステップＳ２２１およびステップＳ２５１において、ステップＳ２０１の処理において、端末装置１０１から送信された他端末情報（端末装置１０１の自己端末情報であり、他の端末装置から見ると他端末情報となる）およびユーザ情報を受信する。他端末情報およびユーザ情報を受信した端末装置１０２および端末装置１０３は、それぞれステップＳ２２２およびステップＳ２５２において、端末情報テーブルを作成し、そこに受信した他端末情報およびユーザ情報を登録する。
【０１０７】
次に、ステップＳ２２３において、端末装置１０２は、自己端末情報およびユーザ情報を送信する。端末装置１０１および端末装置１０３は、それぞれステップＳ２０２およびステップＳ２５３において、ステップＳ２２３の処理において、端末装置１０２から送信された他端末情報（端末装置１０２の自己端末情報）およびユーザ情報を受信する。端末装置１０１は、ステップＳ２０３において、端末情報テーブルを作成し、そこに受信した他端末情報およびユーザ情報を登録する。また、他端末情報およびユーザ情報を受信した端末装置１０３は、ステップＳ２５４において、端末情報テーブルを更新する。
【０１０８】
ステップＳ２５５において、端末装置１０３は自己端末情報およびユーザ情報を送信する。端末装置１０１および端末装置１０２は、それぞれステップＳ２０４およびステップＳ２２４において、ステップＳ２５５の処理において、端末装置１０３から送信された他端末情報およびユーザ情報を受信する。他端末情報およびユーザ情報を受信した端末装置１０１および端末装置１０２は、それぞれステップＳ２０５およびステップＳ２２５において、端末情報テーブルを更新する。
【０１０９】
ステップＳ２０６において、端末１０１は、一定時間が経過したとき、再び自己端末情報およびユーザ情報を送信する。端末装置１０２および端末装置１０３は、それぞれステップＳ２２６およびステップＳ２５６において、ステップＳ２０６の処理において、端末装置１０１から送信された他端末情報およびユーザ情報を受信する。他端末情報およびユーザ情報を受信した端末装置１０２および端末装置１０３は、それぞれステップＳ２２７およびステップＳ２５７において、端末情報テーブルを更新する。図示は省略するが、端末装置１０２と端末装置１０３も、一定期間毎に、周期的に、自己端末情報とユーザ情報をマルチキャストする。これにより、各端末装置は、アドホックネットワーク１００から離脱した端末装置を迅速かつ確実に知ることができる。
【０１１０】
ステップＳ２０７において、端末装置１０１は、グループ情報を生成する。ステップＳ２０８において、端末装置１０１は、グループ情報を送信する。端末装置１０２および端末装置１０３は、それぞれステップＳ２２８およびステップＳ２５８において、ステップＳ２０８の処理において、端末装置１０１から送信されたグループ情報を受信する。グループ情報を受信した端末装置１０２および端末装置１０３は、それぞれステップＳ２２９およびステップＳ２５９において、グループ情報をグループ情報テーブルに登録する。グループ情報も、以後、一定期間毎に、周期的にマルチキャストされる。これにより、各端末装置は、グループマスタがアドホックネットワーク１００から離脱したとき、これを、迅速かつ確実に知ることができる。
【０１１１】
なお、以上においては、端末装置１０１、端末装置１０２、および端末装置１０３の３台の端末装置がアドホックネットワークで接続された場合について説明したが、４台、５台あるいはそれ以上の台数の端末装置がアドホックネットワーク１００で接続された場合でも、生成されたグループ情報を他の端末装置に送信することが可能である。
【０１１２】
次に、図１８を参照して、グループ参加受付の通信シーケンスについて説明する。図１８の例では、端末装置１０１がグループ情報を生成するグループマスタになり、端末装置１０２からの参加要求は許可され、端末装置１０３からの参加要求は拒否されるものとする。
【０１１３】
ステップＳ３２１において、端末装置１０２は、グループマスタである端末装置１０１に参加要求メッセージを送信する。
【０１１４】
ステップＳ３０１において、端末装置１０１は、端末装置１０２からの参加要求メッセージを受信する。ステップＳ３０２において、端末装置１０１は、端末装置１０２からの参加要求メッセージに対して参加許可と判断すると、ステップＳ３０３において、端末装置１０１は、端末装置１０２へ参加許可メッセージを送信する。
【０１１５】
ステップＳ３２２において、端末装置１０２は、端末装置１０１からの参加許可メッセージを受信する。そして、ステップＳ３２３において、端末装置１０２は、参加グループテーブルを更新する。
【０１１６】
ステップＳ３０１乃至ステップＳ３０３、並びにステップＳ３２１、ステップＳ３２２において、既存のグループ情報テーブルに登録されたグループに対する参加要求を、グループマスタに対して送信し、グループマスタから参加許可を受信する場合について説明したが、次に、ステップＳ３０４乃至ステップＳ３０９、ステップＳ３２４乃至ステップＳ３２７、並びにステップＳ３５１乃至ステップＳ３５６において、グループマスタによってグループ情報が新たに生成され、グループマスタから送信されてきたグループ情報をグループ情報テーブルに登録し、新たなグループ情報が登録されたグループ情報テーブルに基づいて、参加を希望するグループを選択し、グループマスタに参加要求を送信してグループマスタから参加拒否のメッセージを受信する場合について説明する。
【０１１７】
ステップＳ３０４において、端末装置１０１は、自己端末情報およびユーザ情報を送信する。端末装置１０２および端末装置１０３は、それぞれステップＳ３２４およびステップＳ３５１において、ステップＳ３０４の処理において、端末装置１０１から送信された他端末情報およびユーザ情報を受信する。他端末情報およびユーザ情報を受信した端末装置１０２および端末装置１０３は、それぞれステップＳ３２５およびステップＳ３５２において、端末情報テーブルを更新する。
【０１１８】
ステップＳ３０５において、端末装置１０１は、グループ情報を生成する。ステップＳ３０６において、端末装置１０１は、グループ情報を送信する。端末装置１０２および端末装置１０３は、それぞれステップＳ３２６およびステップＳ３５３において、ステップＳ３０６の処理において、端末装置１０１から送信されたグループ情報を受信する。グループ情報を受信した端末装置１０２および端末装置１０３は、それぞれステップＳ３２７およびステップＳ３５４において、グループ情報をグループ情報テーブルに登録する。
【０１１９】
ステップＳ３５５において、端末装置１０３は、グループマスタである端末装置１０１に参加要求メッセージを送信する。
【０１２０】
ステップＳ３０７において、端末装置１０１は、端末装置１０３からの参加要求メッセージを受信する。ステップＳ３０８において、端末装置１０１は、端末装置１０３からの参加要求メッセージに対して参加拒否と判断すると、ステップＳ３０９において、端末装置１０１は、端末装置１０３へ参加拒否メッセージを送信する。
【０１２１】
ステップＳ３５６において、端末装置１０３は、端末装置１０１からの参加拒否メッセージを受信する。
【０１２２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１２３】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図２に示されるように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  ＯｎｌｙＭｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（登録商標）を含む）、もしくはメモリカードなどよりなるリムーバブルメディア２１０に限らず、プログラムが一時的もしくは永続的に記録されるＥＥＰＲＯＭ２０４や、ＨＤＤ２０５などにより構成される。記録媒体へのプログラムの記録は、必要に応じて通信部２０８を介して、公衆回線網、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われるようにしてもよい。
【０１２４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２５】
【発明の効果】
本発明によれば、アドホックネットワークで、他の端末装置と通信することができる。特に、他の複数の端末装置と共同で実行可能なアプリケーションを簡単かつ確実に選択し、アプリケーション毎にグループを作成し、通信することができる。
【図面の簡単な説明】
【図１】本発明を適用したアドホックネットワークシステムの全体の構成を示す図である。
【図２】図１の端末装置の内部の電気的構成例を示すブロック図である。
【図３】図２のＥＥＰＲＯＭに格納されている情報を示す図である。
【図４】自己端末情報の例を示す図である。
【図５】ユーザ情報の例を示す図である。
【図６】ユーザ間情報の例を示す図である。
【図７】アプリケーション情報の例を示す図である。
【図８】グループ制御処理を説明するフローチャートである。
【図９】グループ制御処理を説明するフローチャートである。
【図１０】グループ制御処理を説明するフローチャートである。
【図１１】端末情報テーブルの例を示す図である。
【図１２】グループ情報の例を示す図である。
【図１３】グループ情報テーブルの例を示す図である。
【図１４】参加グループテーブルの例を示す図である。
【図１５】グループ参加受付処理を説明するフローチャートである。
【図１６】グループ生成処理を説明するフローチャートである。
【図１７】グループ生成処理の通信シーケンスを説明する図である。
【図１８】グループ参加受付処理の通信シーケンスを説明する図である。
【符号の説明】
１００  アドホックネットワーク，  １０１  端末，  １０２  端末，  １０３  端末，  １０４  端末，  １０５  端末，  ２０１  ＣＰＵ，  ２０２  ＲＯＭ，２０３  ＲＡＭ，  ２０４  ＥＥＰＲＯＭ，  ２０５  ＨＤＤ，  ２０６  表示部，  ２０７  入力部，  ２０８  通信部，  ３０１  グループ制御プログラム，  ３０２自己端末情報，  ３０３  ユーザ情報，  ３０４  ユーザ間情報，  ３０５  アプリケーション情報，  ３０６  アプリケーション，  ３０７  端末情報テーブル，  ４０１  端末識別子，  ５０１  ユーザ識別子，  ７０１  アプリケーション識別子，  ９０１  グループ識別子
【図１】
2004215064.tif 000003
【図２】
2004215064.tif 000004
【図３】
2004215064.tif 000005
【図４】
2004215064.tif 000006
【図５】
2004215064.tif 000007
【図６】
2004215064.tif 000008
【図７】
2004215064.tif 000009
【図８】
2004215064.tif 000010
【図９】
2004215064.tif 000011
【図１０】
2004215064.tif 000012
【図１１】
2004215064.tif 000013
【図１２】
2004215064.tif 000014
【図１３】
2004215064.tif 000015
【図１４】
2004215064.tif 000016
【図１５】
2004215064.tif 000017
【図１６】
2004215064.tif 000018
【図１７】
2004215064.tif 000019
【図１８】
2004215064.tif 000020