(57)【特許請求の範囲】
【請求項１】
通信ネットワークを構成する方法であって、
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、前記通信ネットワークに接続していない第１の状態と前記通信ネットワークに接続済み且つアクセスポイントの機能を有する親として機能している第２の状態とを有し、前記端末状態間の優先順位では、前記第２の状態の方が前記第１の状態に比べて優先順位が高くなっている記憶部を有し、前記通信ネットワークに接続されていない第１の通信端末が、周囲に存在する第２の通信端末を探索し、
前記第１の通信端末が、前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、該決定した接続相手と前記通信ネットワークを構成し、
前記第１の通信端末は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
ネットワーク構成方法。
【請求項２】
通信ネットワークを構成する方法であって、
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、前記通信ネットワークに未接続かつ永続的グループをホスト不可能な第１の状態と、前記通信ネットワークに未接続かつ永続的グループをホスト可能な第２の状態と、前記通信ネットワークにアクセスポイントの機能を有する親として接続済かつ永続的グループをホスト不可能な第３の状態と、前記通信ネットワークに前記親として接続済かつ永続的グループをホスト可能な第４の状態とを有し、前記端末状態間の優先順位では、前記第４の状態、前記第３の状態、前記第２の状態、前記第１の状態の順に優先順位が高くなっている記憶部を有し、前記通信ネットワークに接続されていない第１の通信端末が、周囲に存在する第２の通信端末を探索し、
前記第１の通信端末が、前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、該決定した接続相手と前記通信ネットワークを構成し、
前記第１の通信端末は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
ネットワーク構成方法。
【請求項３】
前記第１の通信端末は、通信端末の通信アドレスのリストを記憶する記憶部を有し、前記探索によって発見した１以上の前記第２の通信端末から受信した通信メッセージに含まれる当該第２の通信端末の通信アドレスと前記リスト中の前記通信アドレスとを照合して、接続相手とする前記第２の通信端末を決定する
請求項１または２に記載のネットワーク構成方法。
【請求項４】
前記第１の通信端末は、前記通信ネットワークの構成では、接続相手に決定した前記第２の通信端末の端末状態に応じた接続手順を実行する
請求項１乃至３の何れかに記載のネットワーク構成方法。
【請求項５】
通信ネットワークを構成する第１の通信端末であって、
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、前記通信ネットワークに接続していない第１の状態と前記通信ネットワークに接続済み且つアクセスポイントの機能を有する親として機能している第２の状態とを有し、前記端末状態間の優先順位では、前記第２の状態の方が前記第１の状態に比べて優先順位が高くなっている記憶部と、
通信メッセージを授受する無線通信部と、
前記記憶部および前記無線通信部に接続された制御部と
を有し、
前記制御部は、
周囲に存在する第２の通信端末を探索し、
前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、
前記決定した接続相手と前記通信ネットワークを構成し、
前記制御部は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
通信端末。
【請求項６】
通信ネットワークを構成する第１の通信端末であって、
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、前記通信ネットワークに未接続かつ永続的グループをホスト不可能な第１の状態と、前記通信ネットワークに未接続かつ永続的グループをホスト可能な第２の状態と、前記通信ネットワークにアクセスポイントの機能を有する親として接続済かつ永続的グループをホスト不可能な第３の状態と、前記通信ネットワークに前記親として接続済かつ永続的グループをホスト可能な第４の状態とを有し、前記端末状態間の優先順位では、前記第４の状態、前記第３の状態、前記第２の状態、前記第１の状態の順に優先順位が高くなっている記憶部と、
通信メッセージを授受する無線通信部と、
前記記憶部および前記無線通信部に接続された制御部と
を有し、
前記制御部は、
周囲に存在する第２の通信端末を探索し、
前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、
前記決定した接続相手と前記通信ネットワークを構成し、
前記制御部は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
通信端末。
【請求項７】
通信アドレスのリストを記憶する記憶部を有し、
前記制御部は、前記第２の通信端末から受信した通信メッセージに含まれる前記第２の通信端末の通信アドレスと前記リスト中の前記通信アドレスとを照合して、接続相手とする前記第２の通信端末を決定する
請求項５または６に記載の通信端末。
【請求項８】
前記制御部は、
前記通信ネットワークの構成では、
接続相手に決定した前記第２の通信端末の端末状態に応じた接続手順を実行する
請求項５乃至７の何れかに記載の通信端末。
【請求項９】
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、通信ネットワークに接続していない第１の状態と前記通信ネットワークに接続済み且つアクセスポイントの機能を有する親として機能している第２の状態とを有し、前記端末状態間の優先順位では、前記第２の状態の方が前記第１の状態に比べて優先順位が高くなっている記憶部を有し、前記通信ネットワークを構成する第１の通信端末を構成するコンピュータを、
通信メッセージを授受する無線通信部と、
前記記憶部および前記無線通信部に接続された制御部と
して機能させ、
前記制御部は、
周囲に存在する第２の通信端末を探索し、
前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、
前記決定した接続相手と前記通信ネットワークを構成し、
前記制御部は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
プログラム。
【請求項１０】
複数の端末状態と該端末状態間の優先順位とを記憶し、前記複数の端末状態として、通信ネットワークに未接続かつ永続的グループをホスト不可能な第１の状態と、前記通信ネットワークに未接続かつ永続的グループをホスト可能な第２の状態と、前記通信ネットワークにアクセスポイントの機能を有する親として接続済かつ永続的グループをホスト不可能な第３の状態と、前記通信ネットワークに前記親として接続済かつ永続的グループをホスト可能な第４の状態とを有し、前記端末状態間の優先順位では、前記第４の状態、前記第３の状態、前記第２の状態、前記第１の状態の順に優先順位が高くなっている記憶部を有し、前記通信ネットワークを構成する第１の通信端末を構成するコンピュータを、
通信メッセージを授受する無線通信部と、
前記記憶部および前記無線通信部に接続された制御部と
して機能させ、
前記制御部は、
周囲に存在する第２の通信端末を探索し、
前記探索によって発見した前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、接続相手とする前記第２の通信端末を決定し、
前記決定した接続相手と前記通信ネットワークを構成し、
前記制御部は、前記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて前記第２の通信端末の端末状態を決定し、前記優先順位のより高い端末状態を有する前記第２の通信端末を、前記接続相手とする
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末、ネットワーク構成方法、およびプログラムに関する。
【背景技術】
【０００２】
短距離通信ネットワークの一種に、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークがある（例えば非特許文献１参照）。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークでは、或る１つのネットワークに参加する複数の通信端末の内の一の通信端末がアクセスポイント機能を有する親として機能し、残りの通信端末が上記親に対する子として機能する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークは、１対１の接続しか行えないＷｉ−Ｆｉ  Ａｄ−ｈｏｃネットワークと比較して、１対複数の接続が可能であること、親経由で子どうしの通信が可能であること、セキュリティが比較的強度であること等の特徴がある。このため、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークは、近年、データ共有等の各種の用途に利用されるようになっている。本発明は、このようなＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを構成する方法に関する。但し、本発明は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークのみに適用が限定されるものではない。【０００３】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを構成する方法の一例が特許文献１に記載されている。特許文献１では、各通信端末は、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）能力情報を交換するために、ユーザの介入を伴わずに、他の通信端末と情報を交換して、Ｐ２Ｐ接続の確立を求めることが可能である。上記Ｐ２Ｐ能力情報の交換では、接続タイプ（Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ等）、プロトコル、対応する認証、またはセキュリティメソッド等を示すパラメータ情報を交換する。そして、各通信端末は、発見されたＰ２Ｐタイプ等に基づいて、他の通信端末とのＰ２Ｐ接続を確立するか否かを決定する。例えば、通信端末が、ＶｏＩＰサービスを使用するために、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのネットワーク接続タイプを介して、別の通信端末と接続するように要求する。その際、２つの通信端末だけのＰ２Ｐ接続を確立するケースと、２つ以上の通信端末間でＰ２Ｐ接続を確立するケースとが例示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１３−５０７０２９号公報
【非特許文献】
【０００５】
【非特許文献１】Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ  Ｐ２Ｐ  Ｔａｓｋ  Ｇｒｏｕｐ  Ｗｉ−Ｆｉ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ１．１
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、非特許文献１には、通信ネットワークに接続していない通信端末が、他の通信端末との間で探索に係る通信メッセージを授受することによって、周囲の通信端末を探索する手続きが規定されている。しかしながら、上記探索において１以上の他の通信端末が発見された際に接続相手を決定する方法については、非特許文献１および特許文献１に記載がない。通信端末の利用者に対して、発見された１以上の他の通信端末に関する情報を提示し、利用者によって一の通信端末を選択させる方法では、自動的な接続は困難である。【０００７】
本発明の目的は、上述した課題、即ち、通信ネットワークに接続していない通信端末を他の通信端末に自動的に接続するのは困難である、という課題を解決するネットワーク構成方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の観点に係るネットワーク構成方法は、
複数の通信端末のうちの一の上記通信端末がアクセスポイントの機能を有する親として機能し、残りの上記通信端末が上記親に対する子として機能する通信ネットワークを構成する方法であって、
上記通信ネットワークに接続されていない第１の通信端末が、自通信端末の周囲に存在する第２の通信端末を探索し、
上記第１の通信端末が、上記探索によって発見した１以上の上記第２の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の上記第２の通信端末の中から接続相手とする一の上記第２の通信端末を決定し、該決定した接続相手と上記通信ネットワークを構成する。【０００９】
本発明の第２の観点に係る通信端末は、
複数の通信端末のうちの一の上記通信端末がアクセスポイントの機能を有する親として機能し、残りの上記通信端末が上記親に対する子として機能する通信ネットワークを構成する上記通信端末であって、
他の通信端末との間で通信メッセージを授受する無線通信部と、
上記無線通信部に接続された制御部と
を有し、
上記制御部は、
自通信端末の周囲に存在する他の通信端末を探索し、
上記探索によって発見した１以上の上記他の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の上記他の通信端末の中から接続相手とする一の上記他の通信端末を決定し、
上記決定した接続相手と上記ネットワークを構成する。
本発明の第３の観点にかかるネットワーク構成方法は、
複数の通信端末のうちの一の上記通信端末がアクセスポイントの機能を有する親として機能し、残りの上記通信端末が上記親に対する子として機能する通信ネットワークを構成する上記通信端末が実行するネットワーク構成方法であって、
自通信端末の周囲に存在する他の通信端末を探索し、
上記探索によって発見した１以上の上記他の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の上記他の通信端末の中から接続相手とする一の上記他の通信端末を決定し、
上記決定した接続相手と上記ネットワークを構成する。
本発明の第４の観点に係るプログラムは、
複数の通信端末のうちの一の上記通信端末がアクセスポイントの機能を有する親として機能し、残りの上記通信端末が上記親に対する子として機能する通信ネットワークを構成する上記通信端末が有するコンピュータを、
他の通信端末との間で通信メッセージを授受する無線通信部と、
上記無線通信部に接続された制御部と
して機能させ、
上記制御部は、
自通信端末の周囲に存在する他の通信端末を探索し、
上記探索によって発見した１以上の上記他の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の上記他の通信端末の中から接続相手とする一の上記他の通信端末を決定し、
上記決定した接続相手と上記ネットワークを構成する。
【発明の効果】
【００１０】
本発明は上述した構成を有するため、通信ネットワークに接続していない通信端末を他の通信端末に自動的に接続することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る通信端末のブロック図である。
【図２】本発明の第１の実施形態に係る通信端末の動作を示すフローチャートである。
【図３】本発明の第２の実施形態に係る通信端末のブロック図である。
【図４】本発明の第２の実施形態に係る通信端末が他の通信端末に接続する手順の概要を示すフローチャートである。
【図５】本発明の第２の実施形態における通信端末が実施するＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙの詳細を示すフローチャートである。
【図６】本発明の第２の実施形態に係る通信端末が他の通信端末との間で実施するＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ動作の概要を示す図である。
【図７】本発明の第２の実施形態に係る通信端末がグループ構築済みの他の通信端末との間で実施するＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ動作の概要を示す図である。
【図８】本発明の第２の実施形態に係る通信端末が他の通信端末から受信するＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅから当該他の通信端末が対応可能な認証方式を取得する概念図である。
【図９】本発明の第２の実施形態に係る通信端末が他の通信端末に接続する手順の一例を示すフローチャートである。
【図１０】本発明の第２の実施形態に係る通信端末が他の通信端末と実施するＧＯ  Ｎｅｇｏｔｉａｔｉｏｎの概要を示す図である。
【図１１】本発明の第２の実施形態に係る通信端末が他の通信端末と実施するＷＰＳＰｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１の概要を示す図である。
【図１２】本発明の第２の実施形態に係る通信端末が他の通信端末と実施するＷＰＳＰｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２の概要を示す図である。
【図１３】本発明の第２の実施形態に係る通信端末が他の通信端末に接続する手順の別の一例を示すフローチャートである。
【図１４】本発明の第２の実施形態に係る通信端末が他の通信端末と実施するＰｒｏｖｉｓｉｏｎ  Ｄｉｓｃｏｖｅｒｙの概要を示す図である。
【図１５】本発明の第２の実施形態に係る通信端末が他の通信端末に接続する手順の更に別の一例を示すフローチャートである。
【図１６】本発明の第２の実施形態に係る通信端末が他の通信端末と実施するＩｎｖｉｔａｔｉｏｎの概要を示す図である。
【図１７】本発明の第３の実施形態に係る通信端末のブロック図である。
【図１８】本発明の第３の実施形態における通信端末が実施するＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙの詳細を示すフローチャートである。
【図１９】本発明の第４の実施形態に係る通信端末のブロック図である。
【図２０】本発明の第５の実施形態に係る通信端末のブロック図である。
【発明を実施するための形態】
【００１２】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかる通信端末１１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信端末１１０は、無線通信部１１１と制御部１１２とアプリケーション部１１３と記憶部１１４とアンテナ１１５とを有する。
【００１３】
無線通信部１１１は、他の通信端末との間で無線によって通信メッセージを授受する機能を有する。無線通信部１１１は、送信時には、制御部１１２からの要求に応じて通信メッセージのパケットを作成し、作成したパケットに対してヘッダや誤り検出符号の付加などの処理を行い、処理後のデータから搬送波の周波数帯の変調信号を生成し、アンテナ１１５から無線信号として送信する。また、無線通信部１１１は、受信時には、アンテナ１１５により受信した無線信号を復調して通信メッセージのパケットを復号し、誤り検出符号に基づいて誤りがないことを確認した通信メッセージを制御部１１２に通知する。
【００１４】
制御部１１２は、無線通信部１１１における利用周波数の決定、各種通信メッセージの作成と送信指示、受信した各種通信メッセージの解釈、接続処理の制御など、通信端末１１０全体の制御を司る機能を有する。
【００１５】
例えば、制御部１１２は、自通信端末が通信ネットワークに接続されていない場合、自通信端末の周囲に存在する他の通信端末と無線通信部１１１を通じて探索に係る通信メッセージを授受することによって、自通信端末の周囲に存在する他の通信端末を探索する機能を有する。この周囲の通信端末の探索は、例えば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様のデバイス・ディスカバリ・プロシージャ（Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｃｅｄｕｒｅ）に準拠して行われる。
【００１６】
具体的には、制御部１１２は、プローブ要求（Ｐｒｏｖｅ  Ｒｅｑｕｅｓｔ）を周囲に送信し、プローブ応答（Ｐｒｏｖｅ  Ｒｅｓｐｏｎｓｅ）の受信を待つ。そして、制御部１１２は、プローブ応答を受信することで、自通信端末の周囲に他の通信端末が存在することを認識する。また制御部１１２は、受信したプローブ応答を解析することで、周囲に存在する他の通信端末の通信アドレス（例えばＭＡＣアドレス）、ネットワークへの接続状態、親の可否などを認識する。
【００１７】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様によれば、プローブ応答には、当該プローブ応答を送信した通信端末のＭＡＣアドレスが含まれている。またＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様によれば、プローブ応答は、Ｐ２Ｐ  Ｃａｐａｂｉｌｉｔｙ、Ｐ２Ｐ  Ｄｅｖｉｃｅ  Ｉｎｆｏ、Ｐ２Ｐ  Ｇｒｏｕｐ  Ｉｎｆｏ等の属性を有する。Ｐ２Ｐ  Ｃａｐａｂｉｌｉｔｙは、Ｇｒｏｕｐ  Ｃａｐａｂｉｌｉｔｙ  Ｂｉｔｍａｐ等のフィールドを有する。Ｇｒｏｕｐ  Ｃａｐａｂｉｌｉｔｙ  Ｂｉｔｍａｐは、Ｐ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒ、Ｐｅｒｓｉｓｔｅｎｔ  Ｐ２Ｐ  Ｇｒｏｕｐ、Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｃｏｎｎｅｃｔ等のビットを有する。そして、当該他の通信端末がＧＯであれば、Ｐ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒビットは１にセットされる。また、当該他の通信端末が永続的グループ（Ｐｅｒｓｉｓｔｅｎｔ  Ｐ２Ｐ  Ｇｒｏｕｐ）を主催（ｈｏｓｔ）している、もしくはホストすることが可能な状態（以下、このような状態を永続的グループをホスト可能な状態と記す）である場合、Ｐｅｒｓｉｓｔｅｎｔ  Ｐ２Ｐ  Ｇｒｏｕｐビットや、Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｃｏｎｎｅｃｔビットは１にセットされる。ここで、永続的グループとは、グループ構築時に使用したクレデンシャル（Ｃｒｅｄｅｎｔｉａｌｓ）を後のグループ構築時に再利用可能に記憶しているグループであり、詳細は非特許文献１に記載されている。
【００１８】
また、Ｐ２Ｐ  Ｄｅｖｉｃｅ  Ｉｎｆｏは、Ｐ２Ｐ  Ｄｅｖｉｃｅ  Ａｄｄｒｅｓｓ、Ｃｏｎｆｉｇ  Ｍｅｔｈｏｄｓ等のフィールドを有する。Ｐ２Ｐ  Ｄｅｖｉｃｅ  Ａｄｄｒｅｓｓは、当該他の通信端末を一意に識別する識別子である。Ｃｏｎｆｉｇ  Ｍｅｔｈｏｄｓには、当該他の通信端末がサポートするＷＳＣ（Ｗｉ−Ｆｉ  Ｓｉｍｐｌｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ）Ｍｅｔｈｏｄｓに関する情報（例えば、ＰＩＮやＰＢＣ等の認証方式）が記述されている。他方、Ｐ２Ｐ  Ｇｒｏｕｐ  Ｉｎｆｏは、ＧＯから返されるプローブ応答のみに含まれ、Ｐ２Ｐ  Ｃｌｉｅｎｔ  Ｉｎｆｏ  Ｄｅｓｃｒｉｐｔｏｒ等のフィールドを有する。Ｐ２Ｐ  Ｃｌｉｅｎｔ  Ｉｎｆｏ  Ｄｅｓｃｒｉｐｔｏｒは、当該ＧＯのグループに属するクライアントに関する情報が含まれている。
【００１９】
また制御部１１２は、上記探索によって発見した１以上の他の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の他の通信端末の中から接続相手とする一の他の通信端末を決定し、この決定した接続相手と通信ネットワークを構成する機能を有する。制御部１１２が、他の通信端末から受信した通信メッセージに含まれる情報に基づいて接続相手を決定する方法の例を以下に示す。
【００２０】
（１）接続相手の決定方法１
通信端末１１０は、通信端末の通信アドレス（例えばＭＡＣアドレス）のリストを記憶部１１４に記憶する。制御部１１２は、探索によって発見した他の通信端末から受信した通信メッセージから当該他の通信端末の通信アドレスを取得する。次に、制御部１１２は、取得した通信アドレスを上記リスト中の通信アドレスと照合し、受信した通信アドレスが、上記リストに記載されているか否かを判定する。制御部１１２は、発見した１以上の他の通信端末のうち、その通信アドレスが上記リストに記載されている一の他の通信端末を接続相手に決定する。この決定方法によれば、通信ネットワークに接続していない通信端末を、予めリストアップした他の通信端末に自動的に接続することができる。
【００２１】
（２）接続相手の決定方法２
通信端末１１０は、通信端末の複数の状態と状態間の優先順位とを記憶部１１４に記憶する。ここで、通信端末の状態とは、ネットワークに接続しているか否かを示す状態、親として機能しているか否かを示す状態、永続的グループをホスト可能な状態などを意味する。制御部１１２は、探索によって発見した他の通信端末から受信した通信メッセージから当該他の通信端末の状態を取得する。制御部１１２は、例えば、受信したＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅ中にＰ２Ｐ  Ｇｒｏｕｐ  Ｉｎｆｏ属性が存在しない場合、当該Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅを送信した他の通信端末は、未接続状態であると判定する。また制御部１１２は、例えば、Ｐ２Ｐ  Ｃａｐａｂｉｌｉｔｙ属性中のＧｒｏｕｐ  Ｃａｐａｂｉｌｉｔｙ  ＢｉｔｍａｐフィールドにおけるＰ２Ｐ  Ｇｒｏｕｐ  Ｏｗｎｅｒビットから、当該他の通信端末がＧＯか否かの状態を取得する。また制御部１１２は、例えば、Ｐ２Ｐ  Ｃａｐａｂｉｌｉｔｙ属性中のＧｒｏｕｐ  Ｃａｐａｂｉｌｉｔｙ  ＢｉｔｍａｐフィールドにおけるＰｅｒｓｉｓｔｅｎｔ  Ｐ２Ｐ  ＧｒｏｕｐビットやＰｅｒｓｉｓｔｅｎｔ  Ｒｅｃｏｎｎｅｃｔビットから、当該他の通信端末が永続的グループをホスト可能な状態か否かを取得する。
【００２２】
そして制御部１１２は、優先順位のより高い状態を有する一の他の通信端末を接続相手に決定する。
【００２３】
この決定方法によれば、ネットワークに接続していない状態に比べて、ネットワークに接続済みかつ親として機能している状態の優先順位を高く設定しておくことにより、通信ネットワークに接続していない通信端末を、ネットワークに接続しており且つ親として機能している他の通信端末に自動的に接続することができる。反対に、親として機能している状態に比べて、ネットワークに接続していない状態の優先順位を高く設定しておくことにより、通信ネットワークに接続していない通信端末を、通信ネットワークに接続していない他の通信端末に自動的に接続することができる。さらに、永続的グループをホスト可能な状態の優先順位を、永続的グループをホスト不可能な状態に比べて高く設定しておくことにより、高速な接続が可能になる。
【００２４】
通信メッセージに含まれる情報に基づいて接続相手を決定する方法は、上記の決定方法１と決定方法２とに限定されず、決定方法１と決定方法２とを組み合わせる方法や、他の方法であってもよい。
【００２５】
アプリケーション部１１３は、アプリケーションプログラムを実行する機能を有する。アプリケーションプログラムの種類と個数は任意である。例えば、アプリケーション部１１３では、通信ネットワークに接続される他の通信端末との間で、音声通話を行うアプリケーション、ファイル転送を行うアプリケーション、コンテンツデータを交換するアプリケーション等を実行することが可能である。
【００２６】
記憶部１１４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスクなどの記憶装置で構成され、プログラムおよび各種のデータを記憶する。記憶するデータには、制御データとアプリケーションデータとがある。制御データには、例えば、自通信端末１１０が通信ネットワークに接続されているか否かを表す自通信端末ステータス情報、自通信端末１１０が通信ネットワークに接続されている場合の親の情報、探索した他の通信端末から受信した情報（当該通信端末の通信アドレス、端末名、ステータス情報（通信ネットワークに接続されていない未接続端末、接続済み親端末、永続的グループをホスト可能な状態か否かを表す他通信端末ステータス情報）などがある。アプリケーションデータには、アプリケーション部１１３が他の通信端末と共有するコンテンツデータなどがある。記憶するプログラムには、アプリケーション部１１３で実行するアプリケーションプログラムなどがある。
【００２７】
次に、本実施形態に係る通信端末１１０の動作を説明する。
【００２８】
通信端末１１０の制御部１１２は起動されると、図２に示す処理の実行を開始する。まず、制御部１１２は、自通信端末の周囲に存在する他の通信端末との間で無線通信部１１１を通じて探索に係る通信メッセージを授受することによって、周囲の通信端末を探索する（ステップＳ１０１）。この周囲の通信端末の探索は、例えば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様のデバイス・ディスカバリ・プロシージャに準拠して行われる。制御部１１２は、１以上の通信端末を発見すると、ステップＳ１０２の処理へと進む。他方、通信端末を一つも発見できない場合、制御部１１２は、ステップＳ１０１に留まり、周囲の通信端末を探索する処理を継続する。
【００２９】
次に通信端末１１０の制御部１１２は、ステップＳ１０２において、上記探索によって発見した１以上の通信端末の中から接続相手を決定する。具体的には、制御部１１２は、上記探索によって発見した１以上の他の通信端末から受信した通信メッセージに含まれる情報に基づいて、上記１以上の他の通信端末の中から接続相手とする一の他の通信端末を決定する。そして、接続相手とする一の他の通信端末を決定した場合（ステップＳ１０３でＹＥＳ）、制御部１１２はステップＳ１０４の処理へと進む。また、接続相手とする一の他の通信端末が決定されなかった場合（ステップＳ１０３でＮＯ）、制御部１１２は、ステップＳ１０１に戻り、周囲の通信端末を探索する処理を継続する。
【００３０】
次に通信端末１１０の制御部１１２は、ステップＳ１０４において、接続相手に決定した他の通信端末との間で無線通信部１１１を通じて通信メッセージを授受して、通信ネットワークを構成する。その後、通信端末１１０は、アプリケーション部１１３により、通信ネットワークに接続される他の通信端末との間でアプリケーションデータの送受信を開始する。
【００３１】
このように本実施形態によれば、通信ネットワークに接続していない通信端末１１０を他の通信端末に自動的に接続することができる。その理由は、通信端末１１０は、探索によって発見した１以上の他の通信端末から受信した通信メッセージに含まれる情報に基づいて、当該１以上の他の通信端末の中から接続相手とする一の他の通信端末を決定し、この決定した接続相手とネットワークを構成するためである。
【００３２】
[第２の実施形態]
本実施形態では、主に本発明に係る通信端末のソフトウェア構造の詳細について説明する。図３を参照すると、本発明の第２の実施形態にかかる通信端末（ノード）２１０は、Ｗｉ−Ｆｉデバイス２１１と、ＷＦＤ接続処理部２１２と、Ｕｓｅｒ制御部２１３とを有する。図１との対比では、Ｗｉ−Ｆｉデバイス２１１は無線通信部１１１に相当し、ＷＦＤ接続処理部２１２とＵｓｅｒ制御部２１３とは、制御部１１２と記憶部１１４とに相当する。なお、Ｗｉ−Ｆｉデバイス２１１は、図示しない無線ＬＡＮのハードウェアにインストールされている。また、ＷＦＤ接続処理部２１２とＵｓｅｒ制御部２１３とは、図示しないＭＰＵにインストールされている。
【００３３】
Ｗｉ−Ｆｉデバイス２１１は、無線ＬＡＮのデバイスドライバである。
【００３４】
ＷＦＤ接続処理部２１２は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのパケットを生成受信するブロックである。ＷＦＤ接続処理部２１２は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ接続のためのＷｉ−Ｆｉデバイス制御を行う。制御は、“Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ”、“Ｇｒｏｕｐ  Ｆｏｒｍａｔｉｏｎ”、“ＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２”といった単位で実行される。Ｕｓｅｒ制御部２１３からイベントを受信して制御を開始し、その結果をイベントとしてＵｓｅｒ制御部２１３に通知する。
【００３５】
Ｕｓｅｒ制御部２１３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔによる自動接続を実現するブロックである。Ｕｓｅｒ制御部２１３は、ＷＦＤ接続処理部２１２に接続して情報を送受信するイベント送信部２１４およびイベント受信部２１５と、自ノードのステートを保持する自ノードステート保持部２１６と、他ノードのＭＡＣアドレスとステートのリストを保持する他ノードステート保持部２１７と、内部ステート制御部２１８とを有する。
【００３６】
自ノードステート保持部２１６には、自ノードのステートとして、ＩＤＬＥ（接続無し）、ＤＩＳＣ（ノード発見）、ＣＯＮＮ（接続中）、ＣＬＩ（クライアントとして接続中）、ＧＯ（グループオーナーとして接続中）の何れかと、Ｐ＿ＧＲＰ（永続的グループをホスト可能な状態を示す情報）が記憶される。永続的グループをホスト可能な状態を示す情報は、１ｏｒ０と、永続的グループを一意に識別する識別子とを有する。ここで、１は永続的グループをホスト可能な状態を示し、０はそれが不可能な状態を示す。
【００３７】
他ノードステート保持部２１７には、他ノードのステートとして、ＬＯＳＴ（未接続）、ＦＯＵＮＤ（クライアントとして接続中）、ＧＲＯＵＰ（グループオーナーとして接続中）の何れかと、Ｐ＿ＧＲＰ（永続的グループをホスト可能な状態を示す情報）が記憶される。
【００３８】
内部ステート制御部２１８は、イベント受信部２１５を通じてＷＦＤ接続処理部２１２から受信したイベント種別と、自ノードステート保持部２１６に記憶されている自ノードのステートと、他ノードステート保持部２１７に記憶されている他ノードのステートとに基づいて、適切なコマンドを選択、生成することで、隣接したＷｉ−Ｆｉ  Ｄｉｒｅｃｔ対応ノード間でグループを構成する。
【００３９】
図４は、通信端末２１０が他の通信端末に接続する手順の概要を示す。通信端末２１０は、先ず、“Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ”により、他ノードを探索し、接続相手を決定する。以降の手順は、通信端末２１０および決定した接続相手のステートの種類に応じて相違する。
【００４０】
接続相手の他ノードが自ノードと同じく未接続ノードであり、且つ自通信端末２１０と同一の永続的グループに属していないか、或いは属していても自通信端末２１０または他ノードが永続的グループをホスト不可能なノードである場合、“ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２”がその順に実行される（図４のＣａｓｅ１）。
【００４１】
また接続相手に決定した他ノードがＧＯであり、且つ自通信端末２１０と同一の永続的グループに属していないか、或いは属していても自通信端末２１０または他ノードが永続的グループをホスト不可能である場合、“Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｄｉｓｃｏｖｅｒｙ”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２”がその順に実行される（図４のＣａｓｅ２）。
【００４２】
また接続相手に決定した他ノードが通信端末２１０と同一の永続的グループに属し、且つ自通信端末２１０または他ノードが永続的グループをホスト可能である場合、“Ｉｎｖｉｔａｔｉｏｎ”、“ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２”がその順に実行される（図４のＣａｓｅ３）。
【００４３】
図５は、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙの手順の詳細を示すフローチャートである。まず通信端末２１０のＵｓｅｒ制御部２１３は、検索要求をＷＦＤ接続処理部２１２に対して発行する（ステップＳ２０１）。ＷＤＦ接続処理部２１２は、この検索要求に従い、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ処理を実行する（ステップＳ２０２）。
【００４４】
図６は、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ処理の概要を示す。通信端末２１０のＷＤＦ接続処理部２１２は、Ｕｓｅｒ制御部２１３からの検索要求を受け、隣接ノードを検索する。Ｄｉｓｃｏｖｅｒｙ中は、Ｓｅａｒｃｈステート、Ｌｉｓｔｅｎステートが交互に切り替わる。Ｓｅａｒｃｈステートでは、チャネルを１、６、１１に順番に切り替え、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを送出し、隣接ノードからＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返るのを待つ。Ｌｉｓｔｅｎステートでは、他ノードからのＰｒｏｂｅ  Ｒｅｑｕｅｓｔを待ち、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔを受けてＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを返す。隣接ノードからのＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受け、検索結果としてＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅに含まれる当該隣接ノードの情報を返す。一定時間（例えば３０秒）経過しても隣接ノードからのＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信できない場合、隣接ノードが発見されなかった旨の検索結果を返す。
【００４５】
図７は、構築済みグループに対するＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ処理の概要を示す。通信端末２１０の周囲に構築済みグループが存在する場合、通信端末２１０が送出したＰｒｏｂｅ  Ｒｅｑｕｅｓｔに対して、構築済みグループのＧＯがＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを返す。ＧＯが返すＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅには、Ｐ２Ｐ  ＧＲＯＵＰ  Ｉｎｆｏ属性が存在し、その中にグループに属するクライアントのリストが入っている。
【００４６】
また、図８に示されるように、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔには、当該隣接ノードが対応可能は認証方式に関する情報を記述したＷＳＣ  Ｃｏｎｆｉｇ  Ｍｅｔｈｏｄｓが存在する。認証方式には、ＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）とＰＢＣ（Ｐｕｓｈ  Ｂｕｔｔｏｎ  Ｃｏｎｔｒｏｌ）の２種類が存在する。Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙを実施した通信端末２１０は、隣接ノードからＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅにより通知された認証情報のリストから、使用する認証方式を選択して接続する。ＰＩＮを選択する場合、本実施形態では、予め利用者によって決められたＰＩＮ番号を使用することで自動化を実現する。
【００４７】
通信端末２１０のＵｓｅｒ制御部２１３は、ＷＦＤ接続処理部２１２から検索結果を受信すると（図５のステップＳ２０３）、検索結果を解析して他ノードを発見したか否かを判定する（ステップＳ２０４）。他ノードを発見しなかった場合、Ｕｓｅｒ制御部２１３は、ＷＦＤ接続制御部２１２に対して再び検索要求を発行する（ステップＳ２０１）。ステップＳ２０１〜Ｓ２０４のループは、他ノードが発見されるまで繰り返される。
【００４８】
他方、通信端末２１０のＵｓｅｒ制御部２１３は、他ノードを発見すると、検索結果に含まれる隣接ノードの情報を解析して、永続的グループをホスト可能なＧＯを発見したか否かを判定する（ステップＳ２０５）。ここで、永続的グループをホスト可能なＧＯとは、自通信端末と同一の永続的グループに属し当該永続的グループをホスト可能な他の通信端末であって、通信ネットワークに接続済みで親として機能している通信端末を意味する。そして、発見した場合、Ｕｓｅｒ制御部２１３は、その発見した永続的グループをホスト可能なＧＯに接続する処理へと進む。また、永続的グループをホスト可能なＧＯを発見していない場合、Ｕｓｅｒ制御部２１３は、永続的グループをホスト不可能なＧＯを発見したか否かを判定する（ステップＳ２０６）。ここで、永続的グループをホスト不可能なＧＯとは、自通信端末と同一の永続的グループに属していないか、或いは属していても当該永続的グループをホスト不可能な他の通信端末であって、通信ネットワークに接続済みで親として機能している通信端末を意味する。そして、永続的グループをホスト不可能なＧＯを発見した場合、Ｕｓｅｒ制御部２１３は、その発見した永続的グループをホスト不可能なＧＯに接続する処理へと進む。さらに、永続的グループをホスト可能なＧＯおよび永続的グループをホスト不可能なＧＯを発見しておらず、未接続のノードを発見している場合、Ｕｓｅｒ制御部２１３は、検索要求を発行してから一定時間が経過したか否かを判定する（ステップＳ２０７）。そして、一定時間が経過していなければ、Ｕｓｅｒ制御部２１３は、ＷＦＤ接続処理部２１２から別のノードを発見した旨の検索結果が出される可能性があるので、ステップＳ２０３に戻って検索結果の受信を待ち合わせる。一方、検索要求発行から一定時間が経過していれば、発見された当該未接続状態の他ノードに接続する処理へと進む。発見した未接続ノードのうち、Ｐｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐをホスト可能なビットが立っているノード、即ち自通信端末と同一の永続的グループに属し、且つ当該永続的グループをホスト可能な状態の端末に優先的に接続する。
【００４９】
図９は、通信端末２１０が、発見した未接続状態の他のノードとグループを形成するまでの処理の概要を示す。ここで、通信端末２１０と接続相手の他のノードとは同一の永続的グループに属していないか、或いは属していても通信端末２１０または他ノードは永続的グループをホスト可能な状態でない。まず、通信端末２１０のＵｓｅｒ制御部２１３は、接続種別：ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ、認証種別：ＰＩＮ  ｏｒ  ＰＢＣをパラメータとして、ＷＦＤ接続処理部２１２に対して接続要求を発行する（ステップＳ２１１）。通信端末２１０のＷＦＤ接続処理部２１２は、この接続要求を受けると、他のノードとの間でＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理（ステップＳ２１２）、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１処理（ステップＳ２１３）、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２処理（ステップＳ２１４）を順に実行する。そして、上記一連の処理の完了後、ＷＦＤ接続処理部２１２からＵｓｅｒ制御部２１３に対して接続完了の通知が出され（ステップＳ２１５）、端末間のグループ形成の処理を終える。
【００５０】
ステップＳ２１２のＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理では、図１０に示すように、通信端末２１０と接続相手の他ノードとの間で、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｓｐｏｎｓｅ、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｃｏｎｆｉｒｍａｔｉｏｎを授受することにより、何れか一方のノードがＧＯに決定される。図１０は、他のノードがＧＯに決定され、通信端末２１０がクライアントとして動作している。ＧＯとなったノードは、Ｂｅａｃｏｎを定期的に送信するようになる。
【００５１】
ステップＳ２１３のＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１処理では、図１１に示すように、通信端末２１０と接続相手の他ノードとの間で、Ａｕｔｈ.Ｒｅｑｕｅｓｔ、Ａｕｔｈ.Ｒｅｓｐｏｎｓｅ、Ａｓｓｏｃ.Ｒｅｑｕｅｓｔ、Ａｓｓｏｃ.Ｒｅｓｐｏｎｓｅ、ＥＡＰ  ＲｅｑｕｅｓｔＩＤ、ＥＡＰ  ＲｅｓｐｏｎｓｅＩＤ、ＷＳＣ  Ｓｔａｒｔ、Ｍ１〜Ｍ８、ＷＳＣ  Ｄｏｎｅ、ＥＡＰ  Ｆａｉｌが授受される。
【００５２】
ステップＳ２１４のＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２処理では、図１２に示すように、通信端末２１０と接続相手の他ノードとの間で、Ｄｅａｕｔｈｅｎｔｉｃａｔｅ、Ｄｅａｕｔｈｅｎｔｉｃａｔｅ、Ａｕｔｈ.Ｒｅｑｕｅｓｔ、Ａｕｔｈ.Ｒｅｓｐｏｎｓｅ、Ｒｅ−ａｓｓｏｃ.Ｒｅｑｕｅｓｔ、Ｒｅ−ａｓｓｏｃ.Ｒｅｓｐｏｎｓｅ、ｋｅｙ１〜ｋｅｙ４が授受される。そして、ＷＦＤ接続処理部２１２からＵｓｅｒ制御部２１３に接続完了が通知される。
【００５３】
図１３は、通信端末２１０が既存のＧＯに接続するまでの処理の概要を示す。ここで、通信端末２１０と接続相手の他のノードとは同一の永続的グループに属していないか、或いは属していても他ノードは永続的グループをホスト可能な状態でない。まず、通信端末２１０のＵｓｅｒ制御部２１３は、接続種別：Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｄｉｓｃｏｖｅｒｙ、認証種別：ＰＩＮ  ｏｒ  ＰＢＣをパラメータとして、ＷＦＤ接続処理部２１２に対して接続要求を発行する（ステップＳ２２１）。通信端末２１０のＷＦＤ接続処理部２１２は、この接続要求を受けると、接続相手の他のノード（ＧＯ）との間でＰｒｏｖｉｓｉｏｎｉｎｇ  Ｄｉｓｃｏｖｅｒｙ処理（ステップＳ２２２）、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１処理（ステップＳ２２３）、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２処理（ステップＳ２２４）を順に実行する。そして、上記一連の処理の完了後、ＷＦＤ接続処理部２１２からＵｓｅｒ制御部２１３に対して接続完了の通知が出され（ステップＳ２２５）、既存のＧＯへの接続の処理を終える。
【００５４】
ステップＳ２２２のＰｒｏｖｉｓｉｏｎｉｎｇ  Ｄｉｓｃｏｖｅｒｙ処理では、図１４に示すように、通信端末２１０と接続相手の既存のＧＯとの間で、Ｐｒｏｖｉｓｉｏｎ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｑｕｅｓｔ、Ｐｒｏｖｉｓｉｏｎ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｓｐｏｎｓｅが授受される。
【００５５】
図１５は、通信端末２１０が、自通信端末と同一の永続的グループに属するホスト可能なノードに接続するまでの処理の概要を示す。まず、通信端末２１０のＵｓｅｒ制御部２１３は、接続種別：Ｉｎｖｉｔａｔｉｏｎ、認証種別：ＰＩＮ  ｏｒ  ＰＢＣをパラメータとして、ＷＦＤ接続処理部２１２に対して接続要求を発行する（ステップＳ２２１）。通信端末２１０のＷＦＤ接続処理部２１２は、この接続要求を受けると、接続相手の他のノードとの間でＩｎｖｉｔａｔｉｏｎ処理（ステップＳ２３２）、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ２処理（ステップＳ２３３）を順に実行する。そして、上記一連の処理の完了後、ＷＦＤ接続処理部２１２からＵｓｅｒ制御部２１３に対して接続完了の通知が出され（ステップＳ２２５）、永続的グループをホスト可能なノードへの接続の処理を終える。図１５と図９および図１３と比較すると明らかなように、接続相手が永続的グループをホスト可能なノードの場合には、ＷＰＳ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｐｈａｓｅ１処理は不要であり、接続完了までに要する時間を短縮することができる。
【００５６】
ステップＳ２３２のＩｎｖｉｔａｔｉｏｎ処理では、図１６に示すように、通信端末２１０と接続相手の永続的グループをホスト可能なノードとの間で、Ｉｎｖｉｔａｔｉｏｎ  Ｒｅｑｕｅｓｔ、Ｉｎｖｉｔａｔｉｏｎ  Ｒｅｓｐｏｎｓｅが授受される。
【００５７】
本実施形態によれば、通信ネットワークに接続していない通信端末２１０を他の通信端末に自動的に接続することができる。その理由は、通信端末２１０は、探索によって発見した１以上の他の通信端末から受信した通信メッセージに含まれる情報に基づいて、当該１以上の他の通信端末の中から接続相手とする一の他の通信端末を決定し、この決定した接続相手とネットワークを構成するためである。
【００５８】
また本実施形態によれば、他の通信端末への迅速な接続を意図した通信端末２１０がそのことに失敗するのを防止することができる。その理由は、通信端末２１０は、発見された１以上の他の通信端末の中に自通信端末と同一の永続的グループに属し、且つ当該永続的グループをホスト可能な通信端末が存在していれば、当該永続的グループをホスト可能な通信端末を接続相手に決定するためである。
【００５９】
また本実施形態によれば、通信端末数のより多いネットワークを形成することを意図した通信装置２１０がそのことに失敗するのを防止することができる。その理由は、通信端末２１０は、発見された１以上の他の通信端末の中にＧＯが存在していれば、ＧＯを接続相手に決定するためである。
【００６０】
また本実施形態によれば、ＰＩＮおよびＰＢＣの２種類の認証機構の何れでも自動接続が行える。その理由は、通信端末２１０は、ＰＩＮおよびＰＢＣの２種類の認証機構のうち接続相手から要求される認証機構を選択するように動作し、且つ、ＰＩＮ番号は予め複数の通信端末間で決められた値を使用するためである。
【００６１】
[第３の実施形態]
図１７を参照すると、本発明の第３の実施形態にかかる通信端末（ノード）３１０は、Ｗｉ−Ｆｉデバイス３１１と、ＷＦＤ接続処理部３１２と、Ｕｓｅｒ制御部３１３とを有する。Ｗｉ−Ｆｉデバイス３１１とＷＦＤ接続処理部３１２とは、図３に示した第２の実施形態にかかる通信端末２１０のＷｉ−Ｆｉデバイス２１１とＷＦＤ接続処理部２１２と同じである。Ｕｓｅｒ制御部３１３は、イベント送信部３１４、イベント受信部３１５、自ノードステート保持部３１６、他ノードステート保持部３１７、内部ステート制御部３１８、および接続ノードリスト３１９を有する。接続ノードリスト３１９以外は、図３に示した第２の実施形態にかかる通信端末２１０のイベント送信部２１４、イベント受信部２１５、自ノードステート保持部２１６、他ノードステート保持部２１７、内部ステート制御部２１８と同じである。
【００６２】
接続ノードリスト３１９は、接続を許可する通信端末の通信アドレス（例えばＭＡＣアドレス）の一覧である。通信端末３１０は、発見した他の通信端末の通信アドレスが接続ノードリスト３１９に記載されていなければ、当該他の通信端末には接続しない。接続ノードリスト３１９は、お互いに接続を許可する全ての通信端末で同じ内容としてよい。即ち、通信端末３１０が記憶する接続ノードリスト３１９には、接続を許可する他の通信端末の通信アドレスと、通信端末３１０自身の通信アドレスとが記載されていてよい。また、全ての通信端末が記憶する接続ノードリスト３１９に記載される通信アドレスの順序あるいはそれらに付されたインデックスは、同一であってよい。
【００６３】
本実施形態にかかる通信端末３１０の動作は、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ以外、図３に示した第２の実施形態にかかる通信端末２１０の動作と同じである。
【００６４】
図１８は、本実施形態におけるＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙの手順の詳細を示すフローチャートである。通信端末３１０のＵｓｅｒ制御部３１３は、検索要求をＷＦＤ接続処理部３１２に対して発行し（ステップＳ３０１）、ＷＤＦ接続処理部３１２は、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ処理を実行する（ステップＳ３０２）。そして、通信端末３１０のＵｓｅｒ制御部３１３は、ＷＦＤ接続処理部３１２から検索結果を受信すると（ステップＳ３０３）、検索結果を解析して他ノードを発見したか否かを判定する（ステップＳ３０４）。他ノードを発見しなかった場合、Ｕｓｅｒ制御部３１３は、ＷＦＤ接続制御部３１２に対して再び検索要求を発行する（ステップＳ３０１）。ステップＳ３０１〜Ｓ３０４のループは、他ノードが発見されるまで繰り返される。ここまでの処理は、図５に示した第２の実施形態におけるステップＳ２０１〜Ｓ２０４の処理と同じである。
【００６５】
通信端末３１０のＵｓｅｒ制御部３１３は、他ノードを発見すると、発見した他ノードから受信したプローブ応答に含まれる当該他ノードのＭＡＣアドレスが接続ノードリスト３１９に記載されているか否かを判定する（ステップＳ３０５）。発見した他ノードのＭＡＣアドレスが接続ノードリスト３１９に記載されていなければ、Ｕｓｅｒ制御部３１３は、ＷＦＤ接続制御部３１２に対して再び検索要求を発行する（ステップＳ３０１）。ステップＳ３０１〜Ｓ３０５のループは、接続ノードリスト３１９にそのＭＡＣアドレスが記載されている他ノードが発見されるまで繰り返される。
【００６６】
通信端末３１０のＵｓｅｒ制御部３１３、接続ノードリスト３１９にＭＡＣアドレスが記載された他ノードを発見すると、当該発見した他ノードから受信したプローブ応答に含まれる当該ノードの情報を解析して、永続的グループをホスト可能なＧＯを発見したか否かを判定する（ステップＳ３０６）。そして、発見した場合、Ｕｓｅｒ制御部３１３は、その発見した永続的グループをホスト可能なＧＯに接続する処理へと進む。また、永続的グループをホスト可能なＧＯを発見していない場合、Ｕｓｅｒ制御部３１３は、永続的グループをホスト不可能なＧＯを発見したか否かを判定する（ステップＳ３０７）。さらに、永続的グループをホスト可能なＧＯおよび永続的グループをホスト不可能なＧＯを発見しておらず、未接続のノードを発見している場合、Ｕｓｅｒ制御部３１３は、検索要求を発行してから一定時間が経過したか否かを判定し（ステップＳ３０８）、一定時間が経過していなければ、ステップＳ３０３に戻って検索結果の受信を待ち合わせ、検索要求発行から一定時間が経過していれば、発見された当該未接続状態の他ノードに接続する処理へと進む。発見した未接続ノードのうち、Ｐｅｒｓｉｓｔｅｎｔ  Ｇｒｏｕｐをホスト可能なビットが立っているノード、すなわち永続的グループをホスト可能なノードに優先的に接続する。
【００６７】
このように本実施形態によれば、所定の通信端末に接続することを意図した通信装置３１０がそのことに失敗するのを防止することができる。その理由は、通信端末３１０は、発見された１以上の他の通信端末の中に、その通信アドレスが接続ノードリストに記載されている通信端末が存在しなければ、発見された他の通信端末を接続相手に決定しないためである。
【００６８】
なお、接続ノードリスト３１９は、接続相手を選択するために利用する以外に、未接続状態の複数の通信端末が隣接してグループを形成する際のグループオーナーの決定に利用してよい。具体的には、図１０に示したＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ処理において、接続ノードリスト３１９におけるＭＡＣアドレスの記載順序がより先頭に近い、或いはインデックスがより小さい通信端末をグループオーナーに決定するようにしてもよい。
【００６９】
[第４の実施形態]
図１９を参照すると、本発明の第４の実施形態にかかる通信端末４１０は、Ｗｉ−Ｆｉデバイス４１１と、ＷＦＤ接続処理部４１２と、Ｕｓｅｒ制御部４１３と、中間ファイル４１４と、アプリケーション部４１５とを有する。
【００７０】
Ｗｉ−Ｆｉデバイス４１１およびＷＦＤ接続処理部４１２は、図３に示した第２の実施形態にかかる通信端末２１０のＷｉ−Ｆｉデバイス２１１およびＷＦＤ接続処理部２１２と同様の機能を有する。また、Ｕｓｅｒ制御部４１３は、図３に示した第２の実施形態にかかる通信端末２１０のＵｓｅｒ制御部２１３あるいは図１７に示した第３の実施形態にかかる通信端末３１０のＵｓｅｒ制御部３１３と同様の機能を有する。
【００７１】
中間ファイル４１４は、ＷＦＤ接続処理部４１２とアプリケーション部４１５との間の通信に使用される。即ち、ＷＦＤ接続処理部４１２は、中間ファイル４１４を介してアプリケーション部４１５に接続される。
【００７２】
アプリケーション部４１５は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ接続ＡＰＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ）（ＧＵＩ）、Ｗｉ−Ｆｉクラス、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）ライブラリ、ＷｉＦｉライブラリを有する。アプリケーション部４１５は、図示しない入力装置を通じて利用者から入力されたコマンドを中間ファイル４１４を通じてＷＦＤ接続処理部４１２へ通知し、ＷＦＤ接続処理部４１２からコマンドの実行結果を中間ファイル４１４を通じて受信し、図示しない表示画面に表示する。これにより、アプリケーション部４１５は、利用者による通信端末４１０の手動操作を実現する。
【００７３】
Ｕｓｅｒ制御部４１３は、ＷＦＤ接続処理部４１２からアプリケーション部４１５への通信を中間ファイル４１４にて傍受する。また、Ｕｓｅｒ制御部４１３は、アプリケーション部４１５になりすまして、中間ファイル４１４を通じてＷＦＤ接続処理部４１２へコマンドを送信する。これにより、Ｕｓｅｒ制御部４１３は、通信端末４１０の自動接続を実現する。
【００７４】
通信端末４１０が、Ｌｉｎｕｘ／Ａｎｄｒｏｉｄに準拠する場合、Ｗｉ−Ｆｉデバイス４１１は、例えばｗｌａｎ０、Ｗｉ−Ｆｉ接続処理部４１２は、ｗｐａ＿ｓｕｐｐｌｉｃａｎｔ、中間ファイル４１４は、ＵＮＩＸ  Ｄｏｍａｉｎ  Ｓｏｃｋｅｔ（例えば／ｖａｒ／ｒｕｎ／ｗｐａ＿ｓｕｐｐｌｉｃａｎｔ／ｗｌａｎ０）で実現してよい。
【００７５】
本実施形態によれば、Ｕｓｅｒ制御部４１３が、Ｗｉ−Ｆｉ接続処理部４１２とアプリケーション部４１５の通信に使われる中間ファイル４１４を傍受し、コマンドを割り込ませる構成を有するため、既存のアプリを改変せずにＷｉ−Ｆｉ  Ｄｉｒｅｃｔの自動接続を実現することができる。
【００７６】
[第５の実施形態]
図２０は、上述した各実施形態における通信端末をコンピュータ等の電子情報処理装置で構成した場合のハードウェア構成の一例を示す。この例の通信端末５１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）周辺部と、入出力部と、レガシー入出力部とを備える。ＣＰＵ周辺部は、ホスト・コントローラ９０１により相互に接続されるＣＰＵ９０２、ＲＡＭ９０３、グラフィック・コントローラ９０４、及び表示装置９０５を有する。入出力部は、入出力（Ｉ／Ｏ）コントローラ９０６によりホスト・コントローラ９０１に接続される通信インターフェイス（Ｉ／Ｆ）９０７、ハードディスクドライブ９０８、及びＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０９を有する。レガシー入出力部は、入出力コントローラ９０６に接続されるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１０、フレキシブルディスク（ＦＤ）ドライブ９１１、及び入出力（Ｉ／Ｏ）チップ９１２を有する。
【００７７】
ホスト・コントローラ９０１は、ＲＡＭ９０３と、高い転送レートでＲＡＭ９０３をアクセスするＣＰＵ９０２、及びグラフィック・コントローラ９０４とを接続する。ＣＰＵ９０２は、ＲＯＭ９１０、及びＲＡＭ９０３に格納されたプログラムに基づいて動作して、各部の制御をする。グラフィック・コントローラ９０４は、ＣＰＵ９０２等がＲＡＭ９０３内に設けたフレーム・バッファ上に生成する画像データを取得して、表示装置９０５上に表示させる。これに代えて、グラフィック・コントローラ９０４は、ＣＰＵ９０２等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７８】
入出力コントローラ９０６は、ホスト・コントローラ９０１と、比較的高速な入出力装置であるハードディスクドライブ９０８、通信インターフェイス９０７、ＣＤ−ＲＯＭドライブ９０９を接続する。ハードディスクドライブ９０８は、ＣＰＵ９０２が使用するプログラム、及びデータを格納する。通信インターフェイス９０７は、他の通信端末に接続してプログラム又はデータを送受信する。ＣＤ−ＲＯＭドライブ９０９は、ＣＤ−ＲＯＭ９９２からプログラム又はデータを読み取り、ＲＡＭ９０３を介してハードディスクドライブ９０８、及び通信インターフェイス９０７に提供する。
【００７９】
入出力コントローラ９０６には、ＲＯＭ９１０と、フレキシブルディスク・ドライブ９１１、及び入出力チップ９１２の比較的低速な入出力装置とが接続される。ＲＯＭ９１０は、通信端末５１０が起動時に実行するブート・プログラム、あるいは通信端末５１０のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ９１１は、フレキシブルディスク９９３からプログラム又はデータを読み取り、ＲＡＭ９０３を介してハードディスクドライブ９０８、及び通信インターフェイス９０７に提供する。入出力チップ９１２は、フレキシブルディスク・ドライブ９１１、あるいはパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００８０】
ＣＰＵ９０２が実行するプログラムは、フレキシブルディスク９９３、ＣＤ−ＲＯＭ９９２、又はＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード等の記録媒体に格納されて利用者によって提供される。記録媒体に格納されたプログラムは圧縮されていても非圧縮であってもよい。プログラムは、記録媒体からハードディスクドライブ９０８にインストールされ、ＲＡＭ９０３に読み出されてＣＰＵ９０２により実行される。ＣＰＵ９０２により実行されるプログラムは、通信端末５１０を、前述した各実施形態における無線通信部、制御部、記憶部、アプリケーション部等として機能させる。
【００８１】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク９９３、ＣＤ−ＲＯＭ９９２の他に、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）又はＰＤ（Ｐｈａｓｅ  Ｄｉｓｋ）等の光学記録媒体、ＭＤ（ＭｉｎｉＤｉｓｋ）等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークあるいはインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶媒体を記録媒体として使用して、ネットワークを介したプログラムとして情報共有システムを提供してもよい。
【００８２】
[その他の実施形態]
以上、本発明を幾つかの実施形態を挙げて説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、以下のような実施形態も本発明に含まれる。
【００８３】
通信端末の記憶部に接続ルールを記憶し、未接続状態の通信端末の制御部は、他の通信端末を発見した場合、上記接続ルールに従って、接続相手とする一の他の通信端末を決定する。上記接続ルールは、例えば、ＧＯよりも未接続端末に優先的に接続するというルールであってよい。或いは上記接続ルールは、構築済みのグループに接続する際には、ＧＯが発見された場合であってもＧＯでなく、クライアントに接続するというルールであってよい。
【００８４】
未接続状態の通信端末の制御部が、自通信端末との間で永続的グループをホスト可能な他の通信端末を発見する方法は、Ｐｅｒｓｉｓｔｅｎｔ  Ｐ２Ｐ  Ｇｒｏｕｐビットや、Ｐｅｒｓｉｓｔｅｎｔ  Ｒｅｃｏｎｎｅｃｔビットを確認する方法以外に、自通信端末と永続的グループをホスト可能な他の通信端末の通信アドレス（例えばＭＡＣアドレス）のリストを自通信端末の記憶部に記憶し、発見した他の通信端末の通信アドレスが上記リストに記載されているか否かを調査する方法を使用してもよい。
なお、本発明は、日本国にて２０１３年０７月０９日に特許出願された特願２０１３−１４３７６５の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【産業上の利用可能性】
【００８５】
本発明は、通信ネットワーク、特に、複数の通信端末のうちの一の通信端末がアクセスポイントの機能を有する親として機能し、残りの通信端末が親に対する子として機能する通信ネットワークを自動的に構成する方法に適用することができる。
【符号の説明】
【００８６】
１１０…通信端末
１１１…無線通信部
１１２…制御部
１１３…アプリケーション部
１１４…記憶部
１１５…アンテナ
【図１】
0006515804.tif 000002
【図２】
0006515804.tif 000003
【図３】
0006515804.tif 000004
【図４】
0006515804.tif 000005
【図５】
0006515804.tif 000006
【図６】
0006515804.tif 000007
【図７】
0006515804.tif 000008
【図８】
0006515804.tif 000009
【図９】
0006515804.tif 000010
【図１０】
0006515804.tif 000011
【図１１】
0006515804.tif 000012
【図１２】
0006515804.tif 000013
【図１３】
0006515804.tif 000014
【図１４】
0006515804.tif 000015
【図１５】
0006515804.tif 000016
【図１６】
0006515804.tif 000017
【図１７】
0006515804.tif 000018
【図１８】
0006515804.tif 000019
【図１９】
0006515804.tif 000020
【図２０】
0006515804.tif 000021