(57)【要約】複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成する通信装置は、記憶部と探索部と接続可否決定部と接続制御部とを有する。記憶部は、他の通信装置との接続に失敗した履歴を記憶する。探索部は、自通信装置の周囲に存在する他の通信装置を探索する。接続可否決定部は、探索により発見した他の通信装置との履歴に基づいて、他の通信装置と接続するか否かを決定する。接続制御部は、他の通信装置と接続しないと決定したときは探索部による探索を再び実施し、他の通信装置と接続すると決定したときは、他の通信装置との間で接続処理を行い、接続処理が失敗したときは他の通信装置との接続に失敗した履歴を更新して探索部による探索を再び実施する。
2015064068.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成する通信装置であって、
前記他の通信装置との接続に失敗した履歴を記憶する記憶部と、
自通信装置の周囲に存在する前記他の通信装置を探索する探索部と、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定する接続可否決定部と、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する接続制御部と
を有する通信装置。
【請求項２】
前記探索部は、前記他の通信装置を探索するために、プローブ要求をブロードキャスト送出し、前記プローブ要求に対してプローブ応答を受信することで前記他の通信装置を発見する
請求項１に記載の通信装置。
【請求項３】
前記接続制御部は、前記プローブ要求に対して、複数の前記他の通信装置が前記プローブ応答を返した場合、前記接続可否決定部により接続可と判定されたもののうち一番先に前記プローブ応答を返した前記他の通信装置を接続先と判定する
請求項２に記載の通信装置。
【請求項４】
前記履歴は、前記他の通信装置の識別情報と数値とを有し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較し、前記数値と前記閾値との大小関係が予め定められた条件を満たすときに限定して、前記他の通信装置と接続すると決定し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算する
請求項１乃至３の何れかに記載の通信装置。
【請求項５】
前記履歴は、前記他の通信装置の識別情報と数値と当該履歴が最後に更新された時刻情報とを有し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算すると共に、前記時刻情報を更新し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較すると共に、前記履歴中の前記時刻情報が現在時刻より所定時間以上過去の時刻か否かを判定し、前記数値と前記閾値との大小関係が予め定められた条件を満たすか、満たさなくても前記履歴中の前記時刻情報が現在時刻より前記所定時間以上過去の時刻であるときに限定して、前記他の通信装置と接続すると決定する
請求項１乃至３の何れかに記載の通信装置。
【請求項６】
前記履歴は、前記他の通信装置の識別情報と数値と当該他の通信装置が前記探索により発見された回数とを有し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算すると共に、前記回数を更新し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較すると共に、前記履歴中の前記回数が所定回数以上か否かを判定し、前記数値と前記閾値との大小関係が予め定められた条件を満たすか、満たさなくても前記履歴中の前記回数が前記所定回数以上であるときに限定して、前記他の通信装置と接続すると決定する
請求項１乃至３の何れかに記載の通信装置。
【請求項７】
前記記憶部は、前記接続処理の失敗の原因に対応する値を記憶し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を、当該接続処理の失敗の原因に対応する前記値だけ加算または減算する
請求項４乃至６の何れかに記載の通信装置。
【請求項８】
前記接続可否決定部は、前記探索により発見した前記他の通信装置の前記履歴が前記記憶部に存在するか否かを調べ、存在しなければ前記発見した前記他の通信装置のための前記履歴を前記記憶部に新たに記憶する
請求項１乃至３の何れかに記載の通信装置。
【請求項９】
前記記憶部に記憶する前記履歴は、自通信装置が直近の接続処理で失敗した他の通信装置の識別情報と、当該識別情報で特定される前記他の通信装置が接続処理に連続して失敗した回数とを有し、
前記接続制御部は、前記接続処理に成功したときは前記履歴の前記回数を初期値に設定し、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報を前記履歴に記録すると共に前記回数をインクリメントし、
前記接続可否決定部は、前記接続可否の決定では、前記探索により発見した前記他の通信装置の識別情報と前記履歴に記憶されている前記識別情報とが一致しないときは、前記回数を初期値に設定して接続可と決定し、一致するときは、前記履歴の前記回数が閾値を超えていなければ接続可、そうでなければ接続不可と決定する
請求項１乃至３の何れかに記載の通信装置。
【請求項１０】
複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成し、他の通信装置との接続に失敗した履歴を記憶する記憶部を有する通信装置が実行する通信接続方法であって、
自通信装置の周囲に存在する前記他の通信装置を探索し、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定し、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する
通信接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その通信接続方法およびプログラム、通信ネットワークシステム、その通信接続方法に関する。
【背景技術】
【０００２】
短距離通信ネットワークの一種に、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークがある（例えば非特許文献１参照）。この種の通信ネットワークでは、或る１つのネットワークに参加する複数の通信装置の内の一の通信装置がアクセスポイント機能を有する親（グループオーナー）として機能し、残りの通信装置が親に対する子（クライアント）として機能する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークは、１対１の接続しか行えないＷｉ−Ｆｉ  Ａｄ−ｈｏｃネットワークと比較して、１対複数の接続が可能であること、親経由で子どうしの通信が可能であること、セキュリティが比較的強度であること等の特徴がある。このため、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークは、近年、データ共有等の各種の用途に利用されるようになっている。本発明は、このようなＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを構成する方法に関する。但し、本発明は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークのみに適用が限定されるものではない。【０００３】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを構成する方法の一例が特許文献１に記載されている。特許文献１では、通信ネットワークを形成することを意図する通信装置は、まず、接続相手となる他の通信装置を自通信装置の周囲から探索する。次に、通信装置は、上記探索により他の通信装置を発見すると、当該他の通信装置とグループオーナーネゴシエーションを行って親（グループオーナー）を決定する。そして、親の決定後、所定の接続手順を経て、通信装置と他の通信装置とがお互いに接続し、通信ネットワークを構成する。また特許文献１では、通信装置は、他の通信装置との間のグループオーナーネゴシエーションの際に、他の通信装置から送信される応答信号に基づいて、当該他の通信装置との間での情報交換が成功したか否かを判定し、失敗したと判定した場合に、失敗した要因に応じて、自動的に設定変更を行うべきか否かを判定する。そして、通信装置は、自動的に設定変更を行うべきと判定した場合に、自動的に設定変更を行い、変更された設定に従って、上記他の通信装置との間でグループオーナーネゴシエーションを再度行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１２９８９８号公報
【非特許文献】
【０００５】
【非特許文献１】Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ  Ｐ２Ｐ  Ｔａｓｋ  Ｇｒｏｕｐ  Ｗｉ−Ｆｉ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）Ｔｅｃｈｎｉｃａｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ１．１
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載される技術は、グループオーナーネゴシエーションに失敗した相手の通信装置に対して設定を変更して再度グループオーナーネゴシエーションを行うものであり、設定を変更すればグループオーナーネゴシエーションに成功する可能性があることを前提としている。しかしながら、失敗の原因が自通信装置になく相手の通信装置に存在する場合、自通信装置の設定を幾ら変更してもグループオーナーネゴシエーションに成功する保証はない。そのため、実際には試行回数が予め定めた回数に達すると、それ以上グループオーナーネゴシエーションは試行せず、当該他の通信装置との接続を断念するのが一般的である。上記の例はグループオーナーネゴシエーションに失敗したことが原因で他の通信装置との接続に失敗する事例であるが、接続に失敗する原因は、親を決定するグループオーナーネゴシエーションだけでなく、他の接続フェーズにおいても生じ得る。【０００７】
通信ネットワークを形成することを意図する通信装置が、何らかの理由によって他の通信装置との接続に失敗した場合、その通信装置は自通信装置の周囲に存在する他の通信装置を再び探索する。このとき、その通信装置の周囲に前回の探索で発見し接続処理に失敗した通信装置がなおも存在していると、更に別の他の通信装置が存在していたとしても、前回と同じ他の通信装置が真っ先に発見されることがある。そうすると、通信装置は、発見した他の通信装置との接続処理を再び実行する。その理由は、今回発見された通信端末が以前に発見され接続処理の失敗した通信端末であることを確認するすべがないからである。その結果、また接続処理に失敗する。すなわち、自通信装置の周辺に問題のある他の通信装置と、問題の無い他の通信装置とが存在し、他の通信装置を探索する処理において問題のある通信装置がいつも先に発見される状況の場合、問題の無い通信装置が周辺に存在しているにも関わらず、問題のある通信装置が発見され、接続を試み、接続に失敗し、また問題のある通信装置が発見されて、接続を試みて失敗する、という処理を繰り返し、何時まで経っても問題の無い通信装置に接続できないという問題がある。【０００８】
本発明の目的は、上述した課題、すなわち、同じ他の通信装置に接続処理を無駄に繰り返し、その結果、支障なく接続処理に成功する他の通信端末への接続が困難になる、という課題を解決する通信装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の観点に係る通信装置は、
複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成する通信装置であって、
上記他の通信装置との接続に失敗した履歴を記憶する記憶部と、
自通信装置の周囲に存在する上記他の通信装置を探索する探索部と、
上記探索により発見した上記他の通信装置との上記履歴に基づいて、上記他の通信装置と接続するか否かを決定する接続可否決定部と、
上記他の通信装置と接続しないと決定したときは上記探索部による上記探索を再び実施し、上記他の通信装置と接続すると決定したときは、上記他の通信装置との間で接続処理を行い、上記接続処理が失敗したときは上記他の通信装置との接続に失敗した上記履歴を更新して上記探索部による上記探索を再び実施する接続制御部と
を有する。【００１０】
本発明の第２の観点に係る通信接続方法は、
複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成し、他の通信装置との接続に失敗した履歴を記憶する記憶部を有する通信装置が実行する通信接続方法であって、
自通信装置の周囲に存在する上記他の通信装置を探索し、
上記探索により発見した上記他の通信装置との上記履歴に基づいて、上記他の通信装置と接続するか否かを決定し、
上記他の通信装置と接続しないと決定したときは上記探索部による上記探索を再び実施し、上記他の通信装置と接続すると決定したときは、上記他の通信装置との間で接続処理を行い、上記接続処理が失敗したときは上記他の通信装置との接続に失敗した上記履歴を更新して上記探索部による上記探索を再び実施する。【００１１】
本発明の第３の観点に係るプログラムは、
複数の通信端末のうちの一の前記通信端末がアクセスポイントの機能を有する親として機能し、残りの前記通信端末が前記親に対する子として機能する通信ネットワークを構成し、他の通信装置との接続に失敗した履歴を記憶する記憶部を有する通信装置を構成するコンピュータを、
自通信装置の周囲に存在する上記他の通信装置を探索する探索部と、
上記探索により発見した上記他の通信装置との上記履歴に基づいて、上記他の通信装置と接続するか否かを決定する接続可否決定部と、
上記他の通信装置と接続しないと決定したときは上記探索部による上記探索を再び実施し、上記他の通信装置と接続すると決定したときは、上記他の通信装置との間で接続処理を行い、上記接続処理が失敗したときは上記他の通信装置との接続に失敗した上記履歴を更新して上記探索部による上記探索を再び実施する接続制御部と
して機能させる。
【発明の効果】
【００１２】
本発明は上述した構成を有するため、接続できない他の通信装置に再接続を繰り返すことを防止でき、接続処理が支障なく完了する他の通信端末への接続を迅速に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態の動作を示すフローチャートである。
【図３】本発明の第２の実施形態のブロック図である。
【図４】本発明の第２の実施形態における探索部の動作説明図である。
【図５】本発明の第２の実施形態の動作を示すフローチャートである。
【図６】本発明の第２の実施形態の動作を示すフローチャートである。
【図７】本発明の第３の実施形態のブロック図である。
【図８】本発明の第３の実施形態の動作を示すフローチャートである。
【図９】本発明の第４の実施形態のブロック図である。
【図１０】本発明の第４の実施形態の動作を示すフローチャートである。
【図１１】本発明の第５の実施形態のブロック図である。
【図１２】本発明の第５の実施形態の動作を示すフローチャートである。
【図１３】本発明の第６の実施形態のブロック図である。
【図１４】本発明の第６の実施形態の動作を示すフローチャートである。
【図１５】本発明の第７の実施形態のブロック図である。
【図１６】本発明の第７の実施形態の動作を示すフローチャートである。
【図１７】本発明の第８の実施形態のブロック図である。
【図１８】本発明の第８の実施形態の動作を示すフローチャートである。
【図１９】本発明の第８の実施形態の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態に係る通信装置１１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置１１０は、無線通信部１１１と演算処理部１１２と記憶部１１３とアンテナ１１４とを有する。
【００１５】
無線通信部１１１は、他の通信装置との間で無線によって通信メッセージを授受する機能を有する。無線通信部１１１は、送信時には、演算処理部１１２からの要求に応じて通信メッセージのパケットを作成し、作成したパケットに対してヘッダや誤り検出符号の付加などの処理を行い、処理後のデータから搬送波の周波数帯の変調信号を生成し、アンテナ１１４から無線信号として送信する。また、無線通信部１１１は、受信時には、アンテナ１１４により受信した無線信号を復調して通信メッセージのパケットを復号し、誤り検出符号に基づいて誤りがないことを確認した通信メッセージを演算処理部１１２に通知する。
【００１６】
記憶部１１３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスクなどの記憶装置で構成され、プログラム１１３１と処理情報とを記憶する。プログラム１１３１は、演算処理部１１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部１１３に記憶される主な処理情報として、履歴１１３２がある。
【００１７】
履歴１１３２は、他の通信装置との接続に失敗した旨を記録する履歴である。履歴１１３２は、他の通信装置の識別情報（例えばＭＡＣアドレスなど）を有し、当該識別情報で識別される通信装置との間で過去に接続処理が失敗していれば、その旨が履歴として記載される。
【００１８】
演算処理部１１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部１１３からプログラム１１３１を読み込んで実行することにより、上記ハードウェアとプログラム１１３１とを協働させて各種処理部を実現する機能を有している。演算処理部１１２で実現される主な処理部として、探索部１１２１と接続可否決定部１１２２と接続制御部１１２３とがある。
【００１９】
探索部１１２１は、通信装置１１０の周囲に存在する他の通信装置を探索する機能を有する。
【００２０】
接続可否決定部１１２２は、探索部１１２１による探索によって発見した他の通信装置と接続するか否かを決定する機能を有する。具体的には、接続可否決定部１１２２は、発見された他の通信装置の識別情報と同じ識別情報を有する履歴１１３２に基づいて、当該他の通信装置と接続するか否かを決定する。例えば接続可否決定部１１２２は、発見された他の通信装置の識別情報と同じ識別情報を有する履歴１１３２に接続処理が失敗した旨の履歴が記載されていれば接続不可と決定し、そうでなければ接続可と決定してよい。
【００２１】
接続制御部１１２３は、接続可否決定部１１２２において他の通信装置と接続しないと決定したときは、探索部１１２１による探索を再び実施させる制御を行う。また接続制御部１１２３は、接続可否決定部１１２２において他の通信装置と接続すると決定したときは、他の通信装置との間で接続処理を行う機能を有する。また接続制御部１１２３は、その接続処理が失敗したときは、接続に失敗した他の通信装置の識別情報を有する履歴１１３２を更新して、当該他の通信装置との接続処理が失敗した旨の履歴を残し、しかる後に探索部１１２１による探索を再び実施させる制御を行う。
【００２２】
次に、本実施形態に係る通信装置１１０の動作を説明する。
【００２３】
通信装置１１０は起動されると、図２に示す処理の実行を開始する。まず、通信装置１１０の探索部１１２１は、自通信装置の周囲に存在する他の通信装置を探索する（ステップＳ１０１）。探索部１１２１は、通信装置を発見すると（ステップＳ１０２でＹＥＳ）、発見した通信装置の識別情報（例えばＭＡＣアドレス）などを接続可否決定部１１２２へ通知し、探索を終える。他方、通信装置を発見できない場合、探索部１１２１は、ステップＳ１０１に留まり、周囲の通信装置を探索する処理を継続する。
【００２４】
接続可否決定部１１２２は、探索部１１２１から発見した通信装置の識別情報などを受信すると、記憶部１１３中の同じ識別情報を有する接続履歴１１３２に基づいて、発見された通信装置との接続可否を決定する（ステップＳ１０３）。この決定結果は、接続可否決定部１１２２から接続制御部１１２３へ通知される。
【００２５】
接続制御部１１２３は、接続可否決定部１１２２において他の通信装置と接続しないと決定したときは（ステップＳ１０４でＮＯ）、探索部１１２１に対して探索を行うように指示する。これにより、探索部１１２１は周囲に存在する他の通信装置を再び探索する処理を開始する（ステップＳ１０１）。
【００２６】
他方、接続制御部１１２３は、接続可否決定部１１２２において他の通信装置と接続すると決定したときは（ステップＳ１０４でＹＥＳ）、他の通信装置との間で、所定の接続処理を行う（ステップＳ１０５）。即ち、グループオーナーネゴシエーションを実施して親を決定し、その後、ＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）に基づき認証、暗号化を実施してグループを構築する。そして、接続制御部１１２３は、他の通信装置との接続処理が成功したか否かを判定する（ステップＳ１０６）。若し、他の通信装置との接続処理が失敗していれば（ステップＳ１０６でＮＯ）、接続制御部１１２３は、接続に失敗した他の通信装置の識別情報を有する履歴１１３２を更新して、当該他の通信装置との接続処理が失敗した旨の履歴を記録する（ステップＳ１０７）。そして、接続制御部１１２３は、探索部１１２１に対して探索を行うように指示する。これにより、探索部１１２１は周囲に存在する他の通信装置を再び探索する処理を開始する（ステップＳ１０１）。一方、他の通信装置との接続処理が成功していれば、図２に示す処理を終了する。或いは図２に示す処理を終了するのではなく、ステップＳ１０１の処理に戻って、さらに接続する他の通信装置を探索するようにしてもよい。
【００２７】
このように本実施形態によれば、他の通信装置と接続して通信ネットワークを形成しようと意図する通信装置１１０が、接続できない他の通信装置に再接続を繰り返すことを防止でき、接続処理が支障なく完了する他の通信装置への接続を迅速に行うことができる。
【００２８】
その理由は、通信装置１１０は、他の通信装置との接続処理に失敗したことを履歴として記録し、後の探索により他の通信装置が発見された際に、この発見された他の通信装置と接続するか否かを上記履歴に基づいて決定し、接続しないと決定したときは当該他の通信装置との接続処理を実施せずに、他の通信装置の探索を再び実施するためである。
【００２９】
本実施形態は、以上の構成および動作を基本としつつ、以下のような各種の付加変更が可能である。
【００３０】
履歴１１３２は、他の通信装置の識別情報と数値とを有していてよい。このとき、接続制御部１１２３は、履歴１１３２の更新では、接続処理の失敗した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を所定値だけ加算または減算するようにしてよい。そして、接続可否決定部１１２２は、探索部１１２１による探索によって発見した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を閾値と比較し、数値と閾値との大小関係が予め定められた条件を満たすときに限定して、他の通信装置と接続すると決定してよい。
【００３１】
また履歴１１３２は、他の通信装置の識別情報と数値と当該履歴が最後に更新された時刻情報とを有していてよい。このとき、接続制御部１１２３は、履歴１１３２の更新では、接続処理の失敗した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を所定値だけ加算または減算すると共に上記時刻情報を更新してよい。また接続可否決定部１１２２は、探索部１１２１による探索によって発見した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を閾値と比較すると共に、履歴１１３２中の時刻情報が現在時刻より所定時間以上過去の時刻か否かを判定し、数値と閾値との大小関係が予め定められた条件を満たすか、満たさなくても履歴１１３２中の時刻情報が現在時刻より所定時間以上過去の時刻であるときに限定して、他の通信装置と接続すると決定してよい。
【００３２】
また接続可否決定部１１２２は、履歴１１３２中の時刻情報が現在時刻より所定時間以上過去の時刻か否かの上記判定では、履歴１１３２中の数値と閾値との差分に基づいて上記所定時間を決定し、この決定した所定時間を使用して、履歴１１３２中の時刻情報が現在時刻より所定時間以上過去の時刻か否かを判定するようにしてよい。
【００３３】
また履歴１１３２は、他の通信装置の識別情報と数値と当該他の通信装置が探索により発見された回数とを有していてよい。このとき、接続制御部１１２３は、履歴１１３２の更新では、接続処理の失敗した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を所定値だけ加算または減算すると共に、上記回数を更新してよい。また接続可否決定部１１２２は、探索部１１２１による探索によって発見した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を閾値と比較すると共に、履歴１１３２中の回数が所定回数以上か否かを判定し、数値と閾値との大小関係が予め定められた条件を満たすか、満たさなくても履歴１１３２中の回数が所定回数以上であるときに限定して、他の通信装置と接続すると決定してよい。
【００３４】
また接続可否決定部１１２２は、履歴１１３２中の回数が所定回数以上か否かの判定では、履歴１１３２中の数値と閾値との差分に基づいて所定回数を決定し、この決定した所定回数を使用して、履歴１１３２中の回数が所定回数以上か否かを判定するようにしてよい。
【００３５】
また記憶部１１３は、接続処理の失敗の原因に対応する値を記憶し、接続制御部１１２３は、履歴１１３２の更新では、接続処理の失敗した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を、当該接続処理の失敗の原因に対応する値だけ加算または減算するようにしてよい。
【００３６】
また接続制御部１１２３は、他の通信装置との間の接続処理が成功したとき、接続処理に成功した他の通信装置の識別情報に一致する識別情報を有する履歴１１３２中の数値を初期化するようにしてよい。
【００３７】
また記憶部１１３は、他の通信装置毎に個別に履歴１１３２を記憶するようにしてよい。このとき、接続可否決定部１１２２は、探索部１１２１による探索によって発見した他の通信装置の履歴が記憶部１１３に存在するか否かを調べ、存在しなければ、発見した他の通信装置のための履歴１１３２を記憶部１１３に新たに記憶するようにしてよい。また接続可否決定部１１２２は、履歴１１３２の記憶部１１３への新たな記憶では、記憶部１１３に記憶されている履歴１１３２の総数が閾値に達しているか否かを判定し、閾値に達していれば記憶部１１３に記憶されている履歴１１３２のうち最も古い履歴１１３２を削除した後、今回発見した他の通信装置のための履歴１１３２を記憶部１１３に新たに記憶するようにしてよい。
【００３８】
また履歴１１３２は、当該接続履歴が新たに記憶された時刻または当該接続履歴が最後に更新された時刻を有していてよい。このとき、演算処理部１１２は、記憶部１１３に記憶されている履歴のうち、現在時刻より所定時間以上過去の時刻を有する履歴を削除する削減部を有していてよい。
【００３９】
また履歴１１３２は、通信装置１１０が直近の接続処理で失敗した他の通信装置の識別情報と、当該識別情報で特定される他の通信装置が接続処理に連続して失敗した回数とを有し、接続制御部１１２３は、接続処理に成功したときは履歴１１３２の上記回数を初期値に設定し、接続処理に失敗したときは接続処理の失敗した他の通信装置の識別情報を履歴１１３２に記録すると共に上記回数をインクリメントし、接続可否決定部１１２２は、接続可否の決定では、探索により発見した他の通信装置の識別情報と履歴１１３２に記憶されている識別情報とが一致しないときは、上記回数を初期値に設定して接続可と決定し、一致するときは、履歴１１３２の上記回数が閾値を超えていなければ接続可、そうでなければ接続不可と決定してよい。
【００４０】
また通信装置１１０が形成する通信ネットワークは、複数の通信装置のうちの１つの通信装置がアクセスポイントの機能を有する親として機能し、残りの通信装置が親に対する子として機能する通信ネットワークであってよい。また探索部１１２１は、自通信装置の周囲に存在する他の通信装置の探索では、自通信装置の周囲に存在する他の通信装置を探索するためにプローブ要求を送出し、プローブ要求を受信した他の通信装置からプローブ応答を受信することにより、自通信装置の周囲に存在する他の通信装置を探索するようにしてよい。さらに接続制御部１１２３は、プローブ要求に対して、複数の他の通信装置がプローブ応答を返した場合、接続可否決定部１１２２により接続可と判定されたもののうち一番先にプローブ応答を返した他の通信装置を接続先と判定してよい。
【００４１】
[第２の実施形態]
図３を参照すると、本発明の第２の実施形態に係る通信装置２１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置２１０は、無線通信部２１１と演算処理部２１２と記憶部２１３とアンテナ２１４とを有する。このうち、無線通信部２１１とアンテナ２１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【００４２】
記憶部２１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム２１３１と処理情報とを記憶する。プログラム２１３１は、演算処理部２１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部２１３に記憶される主な処理情報として、他通信装置情報２１３２がある。
【００４３】
他通信装置情報２１３２は、他の通信装置に関する情報である。他通信装置情報２１３２は、ＭＡＣアドレス２１３２１と、信頼度２１３２２と、接続状態２１３２３とを有する。ＭＡＣアドレス２１３２１は、当該他の通信装置の識別情報である。信頼度２１３２２は、通信装置２１０が当該他の通信装置と接続するか否かを判断する際に使用する数値である。接続状態２１３２３は、通信装置２１０と当該他の通信装置との接続状態（未接続、接続済など）を表す。ＭＡＣアドレス２１３２１と信頼度２１３２２とが、接続に失敗した旨を記録する履歴に相当する。
【００４４】
演算処理部２１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部２１３からプログラム２１３１を読み込んで実行することにより、上記ハードウェアとプログラム２１３１とを協働させて各種処理部を実現する機能を有している。演算処理部２１２で実現される主な処理部として、探索部２１２１と接続可否決定部２１２２と接続制御部２１２３とがある。
【００４５】
探索部２１２１は、通信装置２１０の周囲に存在する他の通信装置を探索する機能を有する。具体的には、探索部２１２１は、周囲に存在する他の通信装置を探索するためにプローブ要求を送出し、このプローブ要求を受信した他の通信装置からプローブ応答を受信することにより、自通信装置の周囲に存在する他の通信装置を探索する。
【００４６】
探索部２１２１が実施する他の通信装置の探索処理の一例を図４に示す。この処理は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠した"Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ"処理である。また図４はノード（Ｎｏｄｅ）Ａ、Ｂという２つの通信装置の"Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ"の動作例を示す。通信装置ＮｏｄｅＡ、ＮｏｄｅＢは、起動後、自動的あるいは演算処理部１１２で動作する図示しないアプリケーションプログラムからの指示あるいは通信装置の利用者からの指示により、探索部２１２１が、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に基づき、サーチ（Ｓｅａｒｃｈ）ステート、リスン（Ｌｉｓｔｅｎ）ステートをランダムな時間で交互に切り替え、Ｄｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ処理を行う。
【００４７】
サーチステートでは、チャネルをチャネル１、チャネル６、チャネル１１に切り替え、それぞれのチャネルでＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠したプローブ要求（Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ）を発行し、プローブ応答（Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅ）が返るか否かを確認する。プローブ要求に対するプローブ応答が返ることで、プローブ応答を受信したチャネルで他の通信装置が存在するということが分かる。その探索結果は、探索部２１２１から接続可否決定部２１２２に通知される。リスンステートは、あるチャネル番号で待機し、待機したチャネルでプローブ要求を受信すると、それに対するプローブ応答を送信元の通信装置に返す。このような仕組みで通信装置は他の通信装置の存在を検知する。
【００４８】
接続可否決定部２１２２は、探索部２１２１による探索によって発見した他の通信装置と接続するか否かを決定する機能を有する。具体的には、接続可否決定部２１２２は、発見された他の通信装置のＭＡＣアドレスと同じＭＡＣアドレス２１３２１を有する他通信装置情報２１３２を記憶部２１３から検索し、他通信装置情報２１３２中の信頼度２１３２２の数値を閾値と比較し、信頼度２１３２２の数値が閾値を超えていれば接続可、閾値以下であれば接続不可と決定する。接続可否の決定結果は、接続可否決定部２１２２から接続制御部２１２３へ通知される。
【００４９】
接続制御部２１２３は、接続可否決定部２１２２において接続不可と決定されたときは、探索部２１２１による探索を再び実施させる制御を行う。他方、接続制御部２１２３は、接続可否決定部２１２２において接続可と決定されたときは、当該他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠した接続処理を行う機能を有する。また接続制御部２１２３は、その接続処理が成功したか、失敗したかを判定し、接続に失敗したときは当該他の通信装置のＭＡＣアドレスと同じＭＡＣアドレス２１３２１を有する他通信装置情報２１３２中の信頼度２１３２２の値を１だけ減算し、しかる後に探索部２１２１による探索を再び実施させる制御を行う。なお、接続可否決定部２１２２は、プローブ要求に対して複数の他の通信装置がプローブ応答を返した場合、プローブ応答を返した各々の他の通信装置について接続可否を判定する。そして、接続可否決定部２１２２により複数の他の通信装置の接続可が判定された場合、接続制御部２１２３は、接続可と判定された複数の他の通信装置のうち、一番先にプローブ応答を返した他の通信装置を接続先と判定する。
【００５０】
図５および図６は本実施形態に係る通信装置２１０の動作を示すフローチャートである。以下、図５および図６を参照して、本実施形態に係る通信装置２１０の動作を説明する。
【００５１】
通信装置２１０は起動されると、図５に示す処理の実行を開始する。まず、通信装置２１０の探索部２１２１は、自通信装置の周囲に存在する他の通信装置との間で無線通信部２１１を通じて探索に係る通信メッセージを授受することによって、周囲の通信装置を探索する（ステップＳ２０１、Ｓ２０２）。この周囲の通信装置の探索は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様のＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｃｅｄｕｒｅに準拠し、図４で説明した方法で行われる。探索部２１２１は、通信装置を発見すると（ステップＳ２０２でＹＥＳ）、発見した通信装置のＭＡＣアドレスなどを接続可否決定部２１２２へ通知し、探索を終える。他方、通信装置を発見できない場合、探索部２１２１は、周囲の通信装置を探索する処理を継続する。
【００５２】
接続可否決定部２１２２は、発見した通信装置のＭＡＣアドレスなどを探索部２１２１から受信すると、その発見した通信装置が新規ノードであるか否かを、対応する他通信装置情報２１３２が記憶部２１３に記憶されていないか否かによって判定する（ステップＳ２０３）。発見した通信装置が新規ノードであった場合、接続可否決定部２１２２は、その発見した通信装置のための他通信装置情報２１３２を新たに作成して記憶部２１３に記憶する（ステップＳ２０４）。新規登録する他通信装置情報２１３２のＭＡＣアドレス２１３２１には上記発見された通信装置のＭＡＣアドレスが記録され、信頼度２１３２２には予め定められた初期値（設定値Ａ）が記録され、接続状態２１３２３には「未接続」が記録される。初期値としての設定値Ａは、正の整数で１以上の値である。そして、接続可否決定部２１２２は、接続制御部２１２３に対してＭＡＣアドレス等の情報を添えて接続可を通知する。
【００５３】
他方、発見した通信装置が新規ノードでなかった場合（ステップＳ２０３でＮＯ）、接続可否決定部２１２２は、発見した通信装置に対応する他通信装置情報２１３２中の接続状態２１３２３に基づいて、自通信装置２１０と未接続の通信装置であるか否かを判定する（ステップＳ２０５）。若し、未接続の通信装置でなければ（ステップＳ２０５でＮＯ）、接続可否決定部２１２２は、接続制御部２１２３経由で探索部２１２１に対して探索を行うように通知する。これにより、探索部２１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ２０１）。また、未接続の通信装置であれば（ステップＳ２０５でＹＥＳ）、接続可否決定部２１２２は、当該他通信装置情報２１３２中の信頼度２１３２２と閾値とを比較する（ステップＳ２０６）。閾値は、設定値Ａより小さい値（例えば０）が使用される。そして、信頼度の値が閾値より大きければ（ステップＳ２０６でＹＥＳ）、接続可否決定部２１２２は、接続制御部２１２３に対してＭＡＣアドレス等の情報を添えて接続可を通知する。しかし、信頼度の値が閾値以下であれば（ステップＳ２０６でＮＯ）、接続可否決定部２１２２は、接続制御部２１２３経由で探索部２１２１に対して探索を行うように通知する。これにより、探索部２１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ２０１）。
【００５４】
接続制御部２１２３は、接続可否決定部２１２２から接続可の通知を受けると、通知されたＭＡＣアドレスによって特定される他の通信装置と自通信装置２１０との間の接続処理を行う（図６のステップＳ２１１）。そして、接続制御部２１２３は、その接続処理が成功したか、失敗したかを判定する（ステップＳ２１２）。
【００５５】
接続に失敗したときは、接続制御部２１２３は、接続に失敗した通信装置に対応する他通信装置情報２１３２中の信頼度２１３２２の数値を予め定められた値（設定値Ｂ）だけ減算し、また接続状態２１３２３に「未接続」を設定する（ステップＳ２１４）。設定値Ｂは、正の値（例えば１）を使用する。そして接続制御部３２２は、探索部２１２１に対して探索を行うように通知する。これにより、探索部２１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ２０１）。
【００５６】
他方、接続に成功したときは、接続制御部２１２３は、接続に成功した通信装置に対応する他通信装置情報２１３２中の信頼度２１３２２の数値を予め定められた初期値（設定値Ａ）に初期化し、また接続状態２１３２３に「接続中」を設定する（ステップＳ２１３）。そして接続制御部２１２３は、探索部２１２１に対して探索を行うように通知する。これにより、探索部２１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ２０１）。
【００５７】
このように本実施形態によれば、他の通信装置と接続して通信ネットワークを形成しようと意図する通信装置２１０が、接続できない他の通信装置に再接続を繰り返すことを防止でき、接続処理が支障なく完了する他の通信端末への接続を迅速に行うことができる。その理由は、通信装置２１０は、接続処理に失敗したことを他通信装置情報２１３２に履歴として記録し、探索により発見した他の通信装置と接続するか否かを上記履歴に基づいて決定するためである。
【００５８】
また本実施形態によれば、信頼度２１３２２の初期値Ａ、１回当たりの減算値Ｂ、および閾値の設定の仕方により、接続できる可能性がある場合に再接続をあきらめずに繰り返す回数を調整することができる。例えば、信頼度２１３２２の初期値Ａを「２」、１回当たりの減算値Ｂを「１」、閾値を０に設定する場合、再接続をあきらめずに繰り返す回数を２回にできる。また、信頼度２１３２２の初期値Ａを「５」、１回当たりの減算値Ｂを「１」、閾値を０に設定する場合、再接続をあきらめずに繰り返す回数を５回にできる。
【００５９】
本実施形態は以上の構成および動作を基本としつつ、以下のような付加変更が可能である。
【００６０】
上記の説明では、接続制御部２１２３は、接続処理が失敗すると信頼度２１３２２の値を所定値だけ減算したが、接続処理が失敗すると信頼度２１３２２の値を所定値だけ増加するようにしてもよい。このように信頼度２１３２２の値を接続処理の失敗毎に増加する場合、接続可否決定部２１２２は、ステップＳ２０６の判定では、信頼度２１３２２が閾値を超えているか否かを判定し、超えているときは接続不可、超えていなければ接続可と判定する。
【００６１】
［第３の実施形態］
図７を参照すると、本発明の第３の実施形態に係る通信装置３１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置３１０は、無線通信部３１１と演算処理部３１２と記憶部３１３とアンテナ３１４とを有する。このうち、無線通信部３１１とアンテナ３１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【００６２】
記憶部３１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム３１３１と処理情報とを記憶する。プログラム３１３１は、演算処理部３１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部３１３に記憶される主な処理情報として、他通信装置情報２１３２とペナルティ情報３１３３とがある。他通信装置情報３１３２は、図３に示した第２の実施形態に係る通信装置２１０の他通信装置情報２１３２と同じである。
【００６３】
ペナルティ情報３１３３は、複数記憶されている。個々のペナルティ情報３１３３は、ペナルティ値３１３３１と失敗原因３１３３２とを有する。失敗原因３１３３２は、通信装置３１０が他の通信装置と接続処理を行った際に接続に失敗する原因を特定する情報である。接続に失敗する原因は幾つかある。例えば、ＰＩＮ番号の不整合、他通信装置からの接続拒否、接続数オーバー、他装置との接続処理中、タイムアウトなどである。
【００６４】
ペナルティ値３１３３１は、対応する失敗原因によって他の通信装置との接続に失敗した際に信頼度３１３２２から減算する値である。失敗原因別にペナルティ値を保持する理由は、失敗原因の種類により、接続可能性が相違するためである。即ち、失敗原因の中には、繰り返し接続しなくても明らかに接続不可としてよいものや、接続不可ではなくとも接続できる可能性が非常に低いものがある。例えば、ＰＩＮ番号に不整合がある場合は、何度繰り返し接続を試みても接続に成功しない。また相手の通信装置に接続を拒否された場合は、相手装置の接続ポリシーが将来変更されない限り、接続に成功する可能性は低いと言える。このように再接続を試みても接続できる見込みの低いものについては、ペナルティ値を大きな値に設定しておくことにより、再接続を試みる無駄がなくなる。
【００６５】
他方、一時的に接続できない場合としては、相手装置が現に接続している通信装置数が既にサポートしている最大端末数に達している場合や、他装置との接続処理の実行中である場合や、無線の電波の状態が悪くタイムアウトになった場合などがある。このように再接続を試みると接続できる見込みの高いものについては、ペナルティ値を小さな値に設定しておくことにより、再接続の機会を多く与えるようにする。
【００６６】
演算処理部３１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部３１３からプログラム３１３１を読み込んで実行することにより、上記ハードウェアとプログラム３１３１とを協働させて各種処理部を実現する機能を有している。演算処理部３１２で実現される主な処理部として、探索部３１２１と接続可否決定部３１２２と接続制御部３１２３とがある。このうち、探索部３１２１と接続可否決定部３１２２とは、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と接続可否決定部２１２２と同じである。
【００６７】
接続制御部３１２３は、接続可否決定部３１２２において接続不可と決定されたときは、探索部３１２１による探索を再び実施させる制御を行う。他方、接続制御部３１２３は、接続可否決定部３１２２において接続可と決定されたときは、当該他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠した接続処理を行う機能を有する。また接続制御部３１２３は、その接続処理が成功したか、失敗したかを判定し、接続に失敗したときは当該他の通信装置のＭＡＣアドレスと同じＭＡＣアドレス３１３２１を有する他通信装置情報３１３２中の信頼度３１３２２の値をペナルティ値だけ減算し、しかる後に探索部３１２１による探索を再び実施させる制御を行う。減算に使用するペナルティ値は、接続の失敗原因に対応して記憶部３１３に記憶されている値を使用する。即ち、接続制御部３１２３は、失敗原因をキーに記憶部３１３のペナルティ情報３１３３を検索し、同じ失敗原因３１３３２を有するペナルティ情報３１３３からペナルティ値３１３３１を取得して、上記減算処理を実施する。
【００６８】
次に本実施形態に係る通信装置３１０の動作を説明する。本実施形態に係る通信装置３１０の動作のうち、接続制御部３１２３以外の動作は第２の実施形態に係る通信装置２１０の動作と同じである。以下では、接続制御部３１２３の動作を説明する。
【００６９】
図８は本実施形態に係る通信装置３１０の動作を示すフローチャートである。図８において、ステップＳ３１１〜Ｓ３１３は、図６のステップＳ２１１〜Ｓ２１３と同じである。図８を参照すると、接続制御部３１２３は、接続に失敗した場合（ステップＳ３１２でＮＯ）、失敗原因をキーに記憶部３１３のペナルティ情報３１３３を検索し、同じ失敗原因３１３３２を有するペナルティ情報３１３３からペナルティ値３１３３１を取得する（ステップＳ３１４）。次に接続制御部３１２３は、接続に失敗した通信装置に対応する他通信装置情報３１３２中の信頼度３１３２２の数値を上記取得したペナルティ値３１３３１だけ減算し、また接続状態３１３２３に「未接続」を設定する（ステップＳ３１５）。そして接続制御部３１２３は、探索部３１２１に対して探索を行うように通知する。これにより、探索部３１２１は周囲の他の通信装置の探索を再び開始する。
【００７０】
このように本実施形態によれば、第２の実施形態と同様の理由により、他の通信装置と接続して通信ネットワークを形成しようと意図する通信装置３１０が、接続できない他の通信装置に再接続を繰り返すことを防止でき、接続処理が支障なく完了する他の通信端末への接続を迅速に行うことができる。
【００７１】
また本実施形態によれば、再接続を試みても接続できる見込みの低い失敗原因によって接続処理に失敗した他の通信装置については再接続の機会を与えないか或いは与えるにしても少ない数にすることができ、他方、再接続を試みると接続できる見込みの高い失敗原因によって接続処理に失敗した他の通信装置については再接続の機会を多く与えることができる。その理由は、失敗原因に応じたペナルティ値を使用するためである。
【００７２】
本実施形態は以上の構成および動作を基本としつつ、以下のような付加変更が可能である。
【００７３】
上記の説明では、接続制御部３１２３は、接続処理が失敗すると信頼度３１３２２の値を所定値だけ減算したが、接続処理が失敗すると信頼度３１３２２の値をペナルティ値だけ増加するようにしてもよい。このように信頼度３１３２２の値を接続処理の失敗毎に増加する場合、接続可否決定部３１２２は、ステップＳ２０６に相当する判定では、信頼度３１３２２が閾値を超えているか否かを判定し、超えているときは接続不可、超えていなければ接続可と判定する。
【００７４】
［第４の実施形態］
図９を参照すると、本発明の第４の実施形態に係る通信装置４１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置４１０は、無線通信部４１１と演算処理部４１２と記憶部４１３とアンテナ４１４とを有する。このうち、無線通信部４１１とアンテナ４１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【００７５】
記憶部４１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム４１３１と処理情報とを記憶する。プログラム４１３１は、演算処理部４１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部４１３に記憶される主な処理情報として、他通信装置情報４１３２とエントリ最大値４１３３とがある。他通信装置情報４１３２は、図３に示した第２の実施形態の係る通信装置２１０の他通信装置情報２１３２と同じである。
【００７６】
エントリ最大値４１３３は、記憶部４１３に記憶する他通信装置情報４１３２の最大数を表す。
【００７７】
演算処理部４１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部４１３からプログラム４１３１を読み込んで実行することにより、上記ハードウェアとプログラム４１３１とを協働させて各種処理部を実現する機能を有している。演算処理部４１２で実現される主な処理部として、探索部４１２１と接続可否決定部４１２２と接続制御部４１２３とがある。このうち、探索部４１２１と接続制御部４１２３とは、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と接続制御部２１２３と同じである。
【００７８】
接続可否決定部４１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続可否決定部２１２２が有する機能に加えて、記憶部４１３に記憶される他通信装置情報４１３２の総数がエントリ最大値４１３３を超えないように制御する機能を有する。具体的には、接続可否決定部４１２３は、新たな他通信装置情報４１３２を記憶部４１３に追加する前に、記憶部４１３に記憶されている他通信装置情報４１３２の総数がエントリ最大値４１３３に達しているか否かを判定し、達していれば記憶部４１３に記憶されている他通信装置情報４１３２のうち最も古い他通信装置情報４１３２を削除した後、新たな他通信装置情報４１３２を記憶部４１３に記憶する。何れの他通信装置情報４１３２が最も古いかを検出する方法は任意である。例えば、他通信装置情報４１３２を古い順に記憶部４１３上に配列しておく方法、他通信装置情報４１３２が記憶部４１３に登録された時刻情報を当該他通信装置情報４１３２に付加しておく方法がある。
【００７９】
次に本実施形態に係る通信装置４１０の動作を説明する。本実施形態に係る通信装置４１０の動作のうち、接続可否決定部４１２２以外の動作は第２の実施形態に係る通信装置２１０の動作と同じである。以下では、接続可否決定部４１２２の動作を説明する。
【００８０】
図１０は本実施形態に係る通信装置４１０の動作を示すフローチャートである。図１０において、ステップＳ４０１〜Ｓ４０３、Ｓ４０５〜Ｓ４０６、Ｓ４０９は、図５のステップＳ２０１〜Ｓ２０３、Ｓ２０５〜Ｓ２０６、Ｓ２０４と同じであり、以下の動作が相違する。
【００８１】
接続可否決定部４１２２は、発見した通信装置が新規ノードであった場合（ステップＳ４０３でＹＥＳ）、記憶部４１３に記憶されている他通信装置情報４１３２の総数がエントリ最大値４１３３に達しているか否かを判定する（ステップＳ４０７）。達していれば、記憶部４１３に記憶されている他通信装置情報４１３２のうち最も古い他通信装置情報４１３２を削除する（ステップＳ４０８）。そして、ステップＳ４０９の処理へ進む。他方、他通信装置情報４１３２の総数がエントリ最大値４１３３に達していなければ、ステップＳ４０８の処理をスキップして、ステップＳ４０９の処理へ進む。接続可否決定部４１２２は、ステップＳ４０９において、その発見した通信装置のための他通信装置情報４１３２を新たに作成して記憶部４１３に記憶する。
【００８２】
このように本実施形態によれば、第２の実施形態と同様の効果が得られると共に、以下のような効果が得られる。
【００８３】
本実施形態によれば、通信装置４１０が多くの他の通信装置を発見する環境の下で動作する場合であっても、他通信装置情報４１３２の数が増加して記憶部４１３の記憶容量を圧迫することがない。その理由は、接続可否決定部４１２２は、記憶部４１３に記憶される他通信装置情報４１３２の総数がエントリ最大値４１３３を超えないようにしているためである。
【００８４】
［第５の実施形態］
図１１を参照すると、本発明の第５の実施形態に係る通信装置５１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置５１０は、無線通信部５１１と演算処理部５１２と記憶部５１３とアンテナ５１４とを有する。このうち、無線通信部５１１とアンテナ５１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【００８５】
記憶部５１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム５１３１と処理情報とを記憶する。プログラム５１３１は、演算処理部５１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部５１３に記憶される主な処理情報として、他通信装置情報５１３２とタイムアウト時間（Ｔ１）５１３３とがある。
【００８６】
他通信装置情報５１３２は、ＭＡＣアドレス５１３２１と、信頼度５１３２２と、接続状態５１３２３と、時刻５１３２４とを有する。ＭＡＣアドレス５１３２１と信頼度５１３２２と接続状態５１３２３とは、図２に示した本発明の第２の実施形態に係る通信装置２１０の他通信装置情報２１３２のＭＡＣアドレス２１３２１と信頼度２１３２２と接続状態２１３２３と同じである。時刻５１３２４は、当該他通信装置情報５１３２が記憶部５１３に記憶された時刻または最後に更新された時刻を表す。
【００８７】
タイムアウト時間５１３３は、他通信装置情報５１３２を記憶部５１３から削除する基準時間を表す。他通信装置情報５１３２中の時刻５１３２４と現在時刻との差がタイムアウト時間５１３３を超えると、当該他通信装置情報５１３２が記憶部５１３から削除される。
【００８８】
演算処理部５１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部５１３からプログラム５１３１を読み込んで実行することにより、上記ハードウェアとプログラム５１３１とを協働させて各種処理部を実現する機能を有している。演算処理部５１２で実現される主な処理部として、探索部５１２１と接続可否決定部５１２２と接続制御部５１２３と削除部５１２４とがある。このうち、探索部５１２１は、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と同じである。
【００８９】
接続可否決定部５１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続可否決定部２１２２が有する機能に加えて、新規ノードのための新たな他通信装置情報５１３２を記憶部５１３に登録する際、その他通信装置情報５１３２中の時刻５１３２４に登録時刻を記録する機能を有する。
【００９０】
また接続制御部５１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続制御部２１２３が有する機能に加えて、信頼度５１３２２および接続状態５１３２３を更新した際、その更新時刻を時刻５１３２４に記録（上書き）する機能を有する。
【００９１】
また削除部５１２４は、記憶部５１３に記憶されている他通信装置情報５１３２のうち、現在時刻よりタイムアウト時間５１３３以上過去の時刻５１３２４を有する他通信装置情報５１３２を記憶部５１３から削除する機能を有する。
【００９２】
次に本実施形態に係る通信装置５１０の動作を説明する。本実施形態に係る通信装置５１０の動作のうち、接続可否決定部５１２２、接続制御部５１２３、削除部５１２４以外の動作は第２の実施形態に係る通信装置２１０の動作と同じである。以下では、接続可否決定部５１２２、接続制御部５１２３、削除部５１２４の動作を説明する。
【００９３】
まず接続可否決定部５１２２の動作を、第２の実施形態に係る通信装置２１０の動作を示す図５のフローチャートを借用して説明する。接続可否決定部５１２２は、発見された他通信装置が新規ノードの場合（ステップＳ２０３でＹＥＳ）、新たな他通信装置情報５１３２を記憶部５１３に登録する（ステップＳ２０４）。その際、接続可否決定部５１２２は、その他通信装置情報５１３２中の時刻５１３２４に登録時刻を記録する。それ以外の動作は第２の実施形態に係る通信装置２１０の接続可否決定部２１２２の動作と同じである。
【００９４】
次に接続制御部５１２３の動作を、第２の実施形態に係る通信装置２１０の動作を示す図６のフローチャートを借用して説明する。接続制御部５１２３は、接続処理に成功すると（ステップＳ２１２でＹＥＳ）、接続処理に成功した他通信装置に対応する他通信装置情報５１３２中の接続状態５１３２３を「接続中」に更新し、信頼度５１３２２を初期値に設定する（ステップＳ２１３）。このとき接続制御部５１２３は、他通信装置情報５１３２中の時刻にその時点の現在時刻を記録（上書き）する。また、接続制御部５１２３は、接続処理に失敗すると（ステップＳ２１２でＮＯ）、接続処理に失敗した他通信装置に対応する他通信装置情報５１３２中の接続状態５１３２３を「未接続」に更新し、信頼度５１３２２の値から所定値を減算する（ステップＳ２１４）。このとき接続制御部５１２３は、他通信装置情報５１３２中の時刻にその時点の現在時刻を記録（上書き）する。それ以外の動作は第２の実施形態に係る通信装置２１０の接続制御部２１２２の動作と同じである。
【００９５】
次に削除部５１２４の動作を説明する。図１２は削除部５１２４の動作を示すフローチャートである。削除部５１２４は、図１２に示す処理を所定の時間間隔で定期的に実行する。削除部５１２４は起動すると、記憶部５１３に記憶されている１つの他通信装置情報５１３２に注目する（ステップＳ５０１）。注目する他通信装置情報５１３２が存在しなければ（ステップＳ５０２でＹＥＳ）、今回の処理を終え、次回起動されるまで処理を停止する。
【００９６】
削除部５１２は、注目する他通信装置情報５１３２が存在すれば（ステップＳ５０２でＮＯ）、注目した他通信装置情報５１３２中の時刻５１３２４から現在時刻までの経過時間を計算し（ステップＳ５０３）、この経過時間がタイムアウト時間５１３３を超えているか否かを判定する（ステップＳ５０４）。若し超えていれば、削除部５１２は注目中の他通信装置情報５１３２を記憶部５１３から削除する（ステップＳ５０５）。そして、ステップＳ５０６の処理へ進む。経過時間がタイムアウト時間５１３３を超えていなければ、削除部５１２はステップＳ５０５の処理をスキップし、ステップＳ５０６の処理へ進む。
【００９７】
削除部５１２は、ステップＳ５０６において、記憶部５１３に記憶されている次の１つの他通信装置情報５１３２に注目を移す。そして、次に注目する他通信装置情報５１３２が存在すれば（ステップＳ５０２でＹＥＳ）、注目中の他通信装置情報５１３２に対して前回注目した他通信装置情報５１３２に対して実施した処理と同様の処理を繰り返す。次に注目する他通信装置情報５１３２が存在しなければ（ステップＳ５０２でＹＥＳ）、今回の処理を終え、次回起動されるまで処理を停止する。
【００９８】
このように本実施形態によれば、第２の実施形態と同様の効果が得られると共に、以下のような効果が得られる。
【００９９】
本実施形態によれば、通信装置５１０が多くの他の通信装置を発見する環境の下で動作する場合であっても、他通信装置情報５１３２の数が増加して記憶部５１３の記憶容量を圧迫することがない。その理由は、削除部５１２４は、記憶部４１３に記憶される他通信装置情報５１３２のうち一定時間以上過去の時刻５１３２４を有する他通信装置情報５１３２を削除するためである。これにより、一度きりのすれ違い時に接続した他の通信装置の情報のように再利用率の低い他通信装置情報５１３２が記憶部５１３の容量を圧迫するのを防ぐことができる。
【０１００】
［第６の実施形態］
図１３を参照すると、本発明の第６の実施形態に係る通信装置６１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置６１０は、無線通信部６１１と演算処理部６１２と記憶部６１３とアンテナ６１４とを有する。このうち、無線通信部６１１とアンテナ６１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【０１０１】
記憶部６１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム６１３１と処理情報とを記憶する。プログラム６１３１は、演算処理部６１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部６１３に記憶される主な処理情報として、他通信装置情報６１３２とタイムアウト時間６１３３とがある。
【０１０２】
他通信装置情報６１３２は、ＭＡＣアドレス６１３２１と、信頼度６１３２２と、接続状態６１３２３と、時刻６１３２４とを有する。ＭＡＣアドレス６１３２１と信頼度６１３２２と接続状態６１３２３とは、図２に示した本発明の第２の実施形態に係る通信装置２１０の他通信装置情報２１３２のＭＡＣアドレス２１３２１と信頼度２１３２２と接続状態２１３２３と同じである。時刻６１３２４は、当該他通信装置情報６１３２が記憶部６１３に記憶された時刻または最後に更新された時刻を表す。
【０１０３】
タイムアウト時間（Ｔ２）６１３３は、信頼度６１３２２が接続を許可できない値まで減少してしまった他通信装置を例外的に救済するために使用する時間情報である。信頼度６１３２２が閾値以下に減少した他通信装置であっても、その他通信装置情報６１３２の時刻６１３２４から現在時刻までの経過時間がタイムアウト時間６１３３を超える場合、接続可と判定される。
【０１０４】
演算処理部６１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部６１３からプログラム６１３１を読み込んで実行することにより、上記ハードウェアとプログラム６１３１とを協働させて各種処理部を実現する機能を有している。演算処理部６１２で実現される主な処理部として、探索部６１２１と接続可否決定部６１２２と接続制御部６１２３とがある。このうち、探索部６１２１は、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と同じである。
【０１０５】
接続可否決定部６１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続可否決定部２１２２が有する機能に加えて、新規ノードのための新たな他通信装置情報６１３２を記憶部６１３に登録する際、その他通信装置情報６１３２中の時刻６１３２４に登録時刻を記録する機能を有する。また接続可否決定部６１２３は、信頼度６１３２２が閾値以下に減少した他通信装置であっても、その他通信装置情報６１３２の時刻６１３２４から現在時刻までの経過時間がタイムアウト時間６１３３を超える場合、接続可と判定する機能を有する。
【０１０６】
また接続制御部６１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続制御部２１２３が有する機能に加えて、信頼度６１３２２および接続状態６１３２３を更新した際、その更新時刻を時刻６１３２４に記録（上書き）する機能を有する。
【０１０７】
次に本実施形態に係る通信装置６１０の動作を説明する。本実施形態に係る通信装置６１０の動作のうち、接続可否決定部６１２２、接続制御部６１２３以外の動作は第２の実施形態に係る通信装置２１０の動作と同じである。以下では、接続可否決定部６１２２、接続制御部６１２３の動作を説明する。
【０１０８】
まず接続可否決定部６１２２の動作を説明する。図１４は本実施形態に係る通信装置６１０の動作を示すフローチャートである。図１４において、ステップＳ６０１〜Ｓ６０６は図６のステップＳ２０１〜Ｓ２０６と同じである。図１４を参照すると、接続可否決定部６１２２は、発見された他通信装置に対応する他通信装置情報６１３２中の信頼度６１３２２が閾値以下であれば（ステップＳ６０６でＮＯ）、他通信装置情報６１３２中の時刻６１３２４から現在時刻までの経過時間を算出する（ステップＳ６０７）。次に接続可否決定部６１３２は、この算出した経過時間がタイムアウト時間６１３３を超えているか否かを判定する（ステップＳ６０８）。若し超えていなければ（ステップＳ６０８でＮＯ）、接続可否決定部６１３２は、接続不可と判断し、探索部６１２１による探索を再開させる。他方、経過時間がタイムアウト時間６１３３を超えていれば（ステップＳ６０８でＹＥＳ）、接続可否決定部６１３２は接続制御部６１２３に接続可を通知する。これにより、接続制御部６１２３による当該他の通信装置と自通信装置との接続処理が開始される。
【０１０９】
次に接続制御部６１２３の動作を、第２の実施形態に係る通信装置２１０の動作を示す図６のフローチャートを借用して説明する。接続制御部６１２３は、接続処理に成功すると（ステップＳ２１２でＹＥＳ）、接続処理に成功した他通信装置に対応する他通信装置情報６１３２中の接続状態６１３２３を「接続中」に更新し、信頼度６１３２２を初期値に設定する（ステップＳ２１３）。このとき接続制御部６１２３は、他通信装置情報６１３２中の時刻にその時点の現在時刻を記録（上書き）する。また、接続制御部６１２３は、接続処理に失敗すると（ステップＳ２１２でＮＯ）、接続処理に失敗した他通信装置に対応する他通信装置情報６１３２中の接続状態６１３２３を「未接続」に更新し、信頼度６１３２２の値から所定値を減算する（ステップＳ２１４）。このとき接続制御部６１２３は、他通信装置情報６１３２中の時刻にその時点の現在時刻を記録（上書き）する。それ以外の動作は第２の実施形態に係る通信装置２１０の接続制御部２１２２の動作と同じである。
【０１１０】
このように本実施形態によれば、第２の実施形態と同様の効果が得られると共に、以下のような効果が得られる。
【０１１１】
本実施形態によれば、信頼度６１３２２が閾値以下に減少した他通信装置に対して再接続を実施する機会を与えることが可能である。その理由は、接続可否決定部６１２３は、信頼度６１３２２が閾値以下に減少した他通信装置であっても、その他通信装置情報６１３２の時刻６１３２４から現在時刻までの経過時間がタイムアウト時間６１３３を超える場合、接続可と判定するためである。従って、通信装置６１０と接続できなかった他の通信装置であっても、例えばその後のメンテナンスによって不具合が解消する等、接続可能な状況になった場合、再接続の機会を与えることができる。
【０１１２】
本実施形態は以上の構成および動作を基本としつつ、以下のような付加変更が可能である。
【０１１３】
上記の説明では、接続可否決定部６１２２は、ステップＳ６０８の判定で使用するタイムアウト時間６１３３を固定値としたが、タイムアウト時間６１３３を可変値としてよい。例えば接続可否決定部６１２２は、ステップＳ６０６の判定で使用する信頼度と閾値との差分がより大きいほど、より長いタイムアウト時間を使用してよい。これは、例えば、信頼度と閾値との単位差分量に対して単位量のタイムアウト時間６１３３を記憶しておき、実際の信頼度と閾値との差分量を単位量のタイムアウト時間６１３３に乗じて、ステップＳ６０８の判定で使用するタイムアウト時間を計算してよい。あるいは、信頼度と閾値との差分値の値毎のタイムアウト時間を予め記憶しておいてもよい。
【０１１４】
また接続可否決定部６１２２は、経過時間がタイムアウト時間を超えていることを条件に接続可と判定した場合、他通信装置情報６１３２中の時刻６１３２４を現在時刻あるいは時刻６１３２４から現在時刻までの間の任意の時刻に更新してもよい。
【０１１５】
［第７の実施形態］
図１５を参照すると、本発明の第７の実施形態に係る通信装置７１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置７１０は、無線通信部７１１と演算処理部７１２と記憶部７１３とアンテナ７１４とを有する。このうち、無線通信部７１１とアンテナ７１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【０１１６】
記憶部７１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム７１３１と処理情報とを記憶する。プログラム７１３１は、演算処理部７１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部７１３に記憶される主な処理情報として、他通信装置情報７１３２と再接続開始値７１３３とがある。
【０１１７】
他通信装置情報７１３２は、ＭＡＣアドレス７１３２１と、信頼度７１３２２と、接続状態７１３２３と、発見回数７１３２４とを有する。ＭＡＣアドレス７１３２１と信頼度７１３２２と接続状態７１３２３とは、図２に示した本発明の第２の実施形態に係る通信装置２１０の他通信装置情報２１３２のＭＡＣアドレス２１３２１と信頼度２１３２２と接続状態２１３２３と同じである。発見回数７１３２４は、当該他通信装置情報７１３２のＭＡＣアドレス７１３２１を有する他通信装置が通信装置７１０によって過去に発見された総回数を表す。
【０１１８】
再接続開始値（Ｄ）７１３３は、信頼度７１３２２が接続を許可できない値まで減少してしまった他通信装置を例外的に救済するための回数情報である。信頼度７１３２２が閾値以下に減少した他通信装置であっても、その発見回数７１３２４が再接続開始値７１３３を超える場合、接続可と判定される。
【０１１９】
演算処理部７１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部７１３からプログラム７１３１を読み込んで実行することにより、上記ハードウェアとプログラム７１３１とを協働させて各種処理部を実現する機能を有している。演算処理部７１２で実現される主な処理部として、探索部７１２１と接続可否決定部７１２２と接続制御部７１２３とがある。このうち、探索部７１２１と接続制御部７１２３は、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と接続制御部２１２３と同じである。
【０１２０】
接続可否決定部７１２３は、図３に示した第２の実施形態に係る通信装置２１０の接続可否決定部２１２２が有する機能に加えて、新規ノードのための新たな他通信装置情報７１３２を記憶部７１３に登録する際、その他通信装置情報７１３２中の発見回数７１３２４に初期値の１を記録する機能を有する。また接続可否決定部７１２３は、新規ノード以外の新たな他通信装置の発見時、その他通信装置に対応する他通信装置情報７１３２中の発見回数７１３２４を１だけ加算する機能を有する。また接続可否決定部７１２３は、信頼度７１３２２が閾値以下に減少した他通信装置であっても、その他通信装置情報７１３２の発見回数７１３２４が再接続開始値７１３３を超える場合、接続可と判定する機能を有する。
【０１２１】
次に本実施形態に係る通信装置７１０の動作を説明する。本実施形態に係る通信装置７１０の動作のうち、接続可否決定部７１２２以外の動作は第２の実施形態に係る通信装置２１０の動作と同じである。以下では、接続可否決定部７１２２の動作を説明する。
【０１２２】
図１６は本実施形態に係る通信装置７１０の動作を示すフローチャートである。図１６において、ステップＳ７０１〜Ｓ７０３、Ｓ７０５〜Ｓ７０６は図６のステップＳ２０１〜Ｓ２０３、Ｓ２０５〜Ｓ２０６と同じである。図１６を参照すると、接続可否決定部７１２２は、発見された他通信装置が新規ノードであれば（ステップＳ７０３でＹＥＳ）、新規ノードのための新たな他通信装置情報７１３２を記憶部７１３に登録する（ステップＳ７０４）。その際、接続可否決定部７１２２は、発見回数７１３２４を初期値の１に設定する。
【０１２３】
また接続可否決定部７１２２は、発見された他通信装置が新規ノードでなく且つ未接続であれば（ステップＳ７０５でＹＥＳ）、他通信装置に対応する他通信装置情報７１３２中の信頼度７１３２２が閾値を超えているか否かを判定する（ステップＳ７０６）。そして、超えていない場合（ステップＳ７０６でＮＯ）、他通信装置情報７１３２中の発見回数７１３２４を１だけ増加し（ステップＳ７０７）、その増加した後の発見回数７１３２４が再接続開始値７１３３を超えているか否かを判定する（ステップＳ７０８）。若し超えていなければ（ステップＳ７０８でＮＯ）、接続可否決定部７１３２は、接続不可と判断し、探索部７１２１による探索を再開させる。他方、発見回数７１３２４が再接続開始値７１３３を超えていれば（ステップＳ７０８でＹＥＳ）、接続可否決定部７１３２は接続制御部７１２３に接続可を通知する。これにより、接続制御部７１２３による当該他の通信装置と自通信装置との接続処理が開始される。
【０１２４】
このように本実施形態によれば、第２の実施形態と同様の効果が得られると共に、以下のような効果が得られる。
【０１２５】
本実施形態によれば、信頼度７１３２２が閾値以下に減少した他通信装置に対して再接続を実施する機会を与えることが可能である。その理由は、接続可否決定部７１２３は、信頼度７１３２２が閾値以下に減少した他通信装置であっても、その他通信装置情報７１３２の発見回数７１３２４が再接続開始値７１３３を超える場合、接続可と判定するためである。
【０１２６】
本実施形態は以上の構成および動作を基本としつつ、以下のような付加変更が可能である。
【０１２７】
上記の説明では、接続可否決定部７１２２は、ステップＳ７０８の判定で使用する再接続開始値７１３３を固定値としたが、再接続開始値７１３３を可変値としてよい。例えば接続可否決定部７１２２は、ステップＳ６０６の判定で使用する信頼度と閾値との差分がより大きいほど、より大きな値の再接続開始値を使用してよい。これは、例えば、信頼度と閾値との単位差分量に対して単位量の再接続開始値７１３３を記憶しておき、実際の信頼度と閾値との差分量を単位量の再接続開始値７１３３に乗じて、ステップＳ７０８の判定で使用する再接続開始値を計算してよい。あるいは、信頼度と閾値との差分値の値毎の再接続開始値を予め記憶しておいてもよい。
【０１２８】
また接続可否決定部７１２２は、発見回数が再接続開始値を超えていることを条件に接続可と判定した場合、他通信装置情報７１３２中の発見回数７１３２４を初期値あるいは初期値と再接続開始値との間の任意の値に更新してもよい。
【０１２９】
［第８の実施形態］
図１７を参照すると、本発明の第８の実施形態に係る通信装置８１０は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠する通信ネットワークを形成する無線通信端末である。通信装置８１０は、無線通信部８１１と演算処理部８１２と記憶部８１３とアンテナ８１４とを有する。このうち、無線通信部８１１とアンテナ８１４は、図１に示した第１の実施形態に係る通信装置１１０の無線通信部１１１とアンテナ１１４と同じである。
【０１３０】
記憶部８１３は、ＲＯＭやＲＡＭやハードディスクなどの記憶装置で構成され、プログラム８１３１と処理情報とを記憶する。プログラム８１３１は、演算処理部８１２に読み込まれて実行されることにより各種処理部を実現するプログラムである。記憶部８１３に記憶される主な処理情報として、他通信装置情報８１３２と連続失敗回数（Ｅ）８１３３と失敗時ＭＡＣアドレス８１３４とがある。
【０１３１】
他通信装置情報８１３２は、ＭＡＣアドレス８１３２１と接続状態８１３２２とを有する。ＭＡＣアドレス８１３２１と接続状態８１３２２とは、図２に示した本発明の第２の実施形態に係る通信装置２１０の他通信装置情報２１３２のＭＡＣアドレス２１３２１と接続状態２１３２３と同じである。
【０１３２】
失敗時ＭＡＣアドレス８１３４は、通信装置８１０が直近の接続処理で失敗した他通信装置のＭＡＣアドレスを表す。連続失敗回数８１３３は、失敗時ＭＡＣアドレス８１３４で特定される他通信装置が通信装置８１０との接続処理に連続して失敗した回数を表す。
【０１３３】
演算処理部８１２は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部８１３からプログラム８１３１を読み込んで実行することにより、上記ハードウェアとプログラム８１３１とを協働させて各種処理部を実現する機能を有している。演算処理部８１２で実現される主な処理部として、探索部８１２１と接続可否決定部８１２２と接続制御部８１２３とがある。このうち、探索部８１２１は、図３に示した第２の実施形態に係る通信装置２１０の探索部２１２１と同じである。
【０１３４】
接続可否決定部８１２２は、探索部８１２１による探索によって発見した他の通信装置と接続するか否かを決定する機能を有する。具体的には、接続可否決定部８１２２は、発見された他の通信装置が新規ノードであれば接続可と決定し、新規ノードでなく然も未接続ノードであれば、失敗時ＭＡＣアドレス８１３４と連続失敗回数８１３３とを使用して接続の可否を決定する。すなわち、接続可否決定部８１２２は、発見した他の通信装置のＭＡＣアドレスと失敗時ＭＡＣアドレス８１３４とが同じでなければ、接続可と決定する。双方のＭＡＣアドレスが同じであれば、連続失敗回数８１３３が閾値より少ないか否かを判定し、少なければ接続可、そうでなければ接続不可と決定する。接続可否の決定結果は、接続可否決定部８１２２から接続制御部８１２３へ通知される。
【０１３５】
接続制御部８１２３は、接続可否決定部８１２２において接続不可と決定されたときは、探索部８１２１による探索を再び実施させる制御を行う。他方、接続制御部８１２３は、接続可否決定部８１２２において接続可と決定されたときは、当該他の通信装置との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に準拠した接続処理を行う機能を有する。また接続制御部８１２３は、その接続処理が成功したか、失敗したかを判定し、接続に成功したときは当該他の通信装置のＭＡＣアドレスと同じＭＡＣアドレス８１３２１を有する他通信装置情報８１３２中の接続状態８１３２２に「接続中」を記録し、また連続失敗回数８１３３を初期値の０に初期化する。他方、接続に失敗したときは、接続制御部８１２３は、接続の失敗した他の通信装置のＭＡＣアドレスを失敗時ＭＡＣアドレス８１３４に記録（上書き）し、連続失敗回数８１３３を１だけ加算する。
【０１３６】
図１８および図１９は本実施形態に係る通信装置８１０の動作を示すフローチャートである。以下、図１８および図１９を参照して、本実施形態に係る通信装置８１０の動作を説明する。
【０１３７】
通信装置８１０は起動されると、図１８に示す処理の実行を開始する。まず、通信装置８１０の探索部８１２１は、自通信装置の周囲に存在する他の通信装置との間で無線通信部８１１を通じて探索に係る通信メッセージを授受することによって、周囲の通信装置を探索する（ステップＳ８０１、Ｓ２０２）。この周囲の通信装置の探索は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様のＤｅｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｃｅｄｕｒｅに準拠し、図４で説明した方法で行われる。探索部８１２１は、通信装置を発見すると（ステップＳ８０２でＹＥＳ）、発見した通信装置のＭＡＣアドレスなどを接続可否決定部８１２２へ通知し、探索を終える。他方、通信装置を発見できない場合、探索部８１２１は、周囲の通信装置を探索する処理を継続する。
【０１３８】
接続可否決定部８１２２は、発見した通信装置のＭＡＣアドレスなどを探索部８１２１から受信すると、その発見した通信装置が新規ノード、すなわち記憶部８１３に他通信装置情報８１３２が記憶されていない他通信装置か否かを判定する（ステップＳ８０３）。発見した通信装置が新規ノードであった場合、接続可否決定部８１２２は、その発見した通信装置のための他通信装置情報８１３２を新たに作成して記憶部８１３に記憶する（ステップＳ８０４）。新規登録する他通信装置情報８１３２のＭＡＣアドレス８１３２１には上記発見された通信装置のＭＡＣアドレスが記録され、接続状態２１３２２には「未接続」が記録される。そして、接続可否決定部８１２２は、接続制御部８１２３に対してＭＡＣアドレス等の情報を添えて接続可を通知する。
【０１３９】
他方、発見した通信装置が新規ノードでなかった場合（ステップＳ８０３でＮＯ）、接続可否決定部８１２２は、発見した通信装置に対応する他通信装置情報８１３２中の接続状態８１３２３に基づいて、自通信装置８１０と未接続の通信装置であるか否かを判定する（ステップＳ８０５）。若し、未接続の通信装置でなければ（ステップＳ８０５でＮＯ）、接続可否決定部８１２２は、接続制御部８１２３経由で探索部２１２１に対して探索を行うように通知する。これにより、探索部８１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ８０１）。また、未接続の通信装置であれば（ステップＳ８０５でＹＥＳ）、接続可否決定部８１２２は、当該他の通信装置のＭＡＣアドレスと失敗時ＭＡＣアドレス８１３４とが一致するか否かを判定する（ステップＳ８０６）。そして、両者のＭＡＣアドレスが一致しなければ（ステップＳ８０６でＮＯ）、接続可否決定部８１２２は、接続制御部８１２３に対してＭＡＣアドレス等の情報を添えて接続可を通知する。しかし、両者のＭＡＣアドレス８１３４が一致すれば（ステップＳ８０６でＹＥＳ）、連続失敗回数８１３３が閾値より少ないか否かを判定する（ステップＳ８０８）。次に、接続可否決定部８１２２は、連続失敗回数８１３３が閾値以上であれば（ステップＳ８０８でＮＯ）、接続制御部８１２３経由で探索部８１２１に対して探索を行うように通知する。これにより、探索部８１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ８０１）。他方、連続失敗回数８１３３が閾値より少なければ（ステップＳ８０８でＹＥＳ）、接続可否決定部８１２２は、接続制御部８１２３に対してＭＡＣアドレス等の情報を添えて接続可を通知する。
【０１４０】
接続制御部８１２３は、接続可否決定部８１２２から接続可の通知を受けると、通知されたＭＡＣアドレスによって特定される他の通信装置と自通信装置８１０との間の接続処理を行う（図１９のステップＳ８１１）。そして、接続制御部８１２３は、その接続処理が成功したか、失敗したかを判定する（ステップＳ８１２）。
【０１４１】
接続に失敗したときは、接続制御部８１２３は、接続の失敗した他の通信装置のＭＡＣアドレスを失敗時ＭＡＣアドレス８１３４に記録（上書き）し、連続失敗回数８１３３を１だけ加算する（ステップＳ８１４）。そして、接続制御部８１２３は、探索部８１２１に対して探索を行うように通知する。これにより、探索部８１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ８０１）。また接続に成功したときは、接続制御部８１２３は、接続に成功した他の通信装置のＭＡＣアドレスと同じＭＡＣアドレス８１３２１を有する他通信装置情報８１３２中の接続状態８１３２２に「接続中」を記録し、また連続失敗回数８１３３を初期値の０に初期化する。そして、接続制御部８１２３は、探索部８１２１に対して探索を行うように通知する。これにより、探索部８１２１は周囲の他の通信装置の探索を再び開始する（ステップＳ８０１）。
【０１４２】
このように本実施形態によれば、他の通信装置と接続して通信ネットワークを形成しようと意図する通信装置８１０が、接続できない他の通信装置に再接続を繰り返すことを防止でき、接続処理が支障なく完了する他の通信端末への接続を迅速に行うことができる。その理由は、通信装置８１０は、直近の接続処理に失敗した他通信装置の識別情報を失敗時ＭＡＣ８１３４に保持すると共に連続失敗回数８１３３に失敗回数を記録し、探索により発見した他の通信装置が直近の接続処理に失敗した他通信装置であるか否かに基づいて決定するためである。
【０１４３】
また本実施形態によれば、閾値の設定の仕方により、再接続をあきらめずに繰り返す回数を調整することができる。例えば、閾値を「２」に設定する場合、再接続をあきらめずに繰り返す回数を２回にでき、閾値を「３」に設定すれば、再接続をあきらめずに繰り返す回数を３回にできる。
【０１４４】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【０１４５】
なお、本発明は、日本国にて２０１３年１０月３０日に特許出願された特願２０１３−２２５１３７の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【産業上の利用可能性】
【０１４６】
本発明は、Ｗｉ−Ｆｉ  ｄｉｒｅｃｔ仕様に準拠する通信ネットワークなどを形成する通信装置に適用可能である。【０１４７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
他の通信装置と通信ネットワークを形成する通信装置であって、
前記他の通信装置との接続に失敗した履歴を記憶する記憶部と、
自通信装置の周囲に存在する前記他の通信装置を探索する探索部と、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定する接続可否決定部と、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する接続制御部と
を有する通信装置。
（付記２）
前記履歴は、前記他の通信装置の識別情報と数値とを有し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較し、前記数値と前記閾値との大小関係が予め定められた条件を満たすときに限定して、前記他の通信装置と接続すると決定し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算する
付記１に記載の通信装置。
（付記３）
前記履歴は、前記他の通信装置の識別情報と数値と当該履歴が最後に更新された時刻情報とを有し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算すると共に、前記時刻情報を更新し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較すると共に、前記履歴中の前記時刻情報が現在時刻より所定時間以上過去の時刻か否かを判定し、前記数値と前記閾値との大小関係が予め定められた条件を満たすか、満たさなくても前記履歴中の前記時刻情報が現在時刻より前記所定時間以上過去の時刻であるときに限定して、前記他の通信装置と接続すると決定する
付記１に記載の通信装置。
（付記４）
前記接続可否決定部は、前記履歴中の前記時刻情報が現在時刻より所定時間以上過去の時刻か否かの判定では、前記履歴中の前記数値と前記閾値との差分に基づいて前記所定時間を決定し、該決定した前記所定時間を使用して、前記履歴中の前記時刻情報が現在時刻より所定時間以上過去の時刻か否かを判定する
付記３に記載の通信装置。
（付記５）
前記履歴は、前記他の通信装置の識別情報と数値と当該他の通信装置が前記探索により発見された回数とを有し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を所定値だけ加算または減算すると共に、前記回数を更新し、
前記接続可否決定部は、前記決定では、前記探索により発見した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を閾値と比較すると共に、前記履歴中の前記回数が所定回数以上か否かを判定し、前記数値と前記閾値との大小関係が予め定められた条件を満たすか、満たさなくても前記履歴中の前記回数が前記所定回数以上であるときに限定して、前記他の通信装置と接続すると決定する
付記１に記載の通信装置。
（付記６）
前記接続可否決定部は、前記履歴中の前記回数が所定回数以上か否かの判定では、前記履歴中の前記数値と前記閾値との差分に基づいて前記所定回数を決定し、該決定した前記所定回数を使用して、前記履歴中の前記回数が前記所定回数以上か否かを判定する
付記５に記載の通信装置。
（付記７）
前記記憶部は、前記接続処理の失敗の原因に対応する値を記憶し、
前記接続制御部は、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を、当該接続処理の失敗の原因に対応する前記値だけ加算または減算する
付記２乃至６の何れかに記載の通信装置。
（付記８）
前記接続制御部は、前記他の通信装置との間の前記接続処理が成功したとき、前記接続処理に成功した前記他の通信装置の識別情報に一致する前記識別情報を有する前記履歴中の前記数値を初期化する
付記２乃至６の何れかに記載の通信装置。
（付記９）
前記記憶部は、前記他の通信装置毎に個別に前記履歴を記憶する
付記２乃至６の何れかに記載の通信装置。
（付記１０）
前記接続可否決定部は、前記探索により発見した前記他の通信装置の前記履歴が前記記憶部に存在するか否かを調べ、存在しなければ前記発見した前記他の通信装置のための前記履歴を前記記憶部に新たに記憶する
付記９に記載の通信装置。
（付記１１）
前記接続可否決定部は、前記履歴の前記記憶部への新たな記憶では、前記記憶部に記憶されている前記履歴の総数が閾値に達しているか否かを判定し、閾値に達していれば前記記憶部に記憶されている前記履歴のうち最も古い履歴を削除した後、前記発見した前記他の通信装置のための前記履歴を前記記憶部に新たに記憶する
付記１０に記載の通信装置。
（付記１２）
前記履歴は、当該履歴が新たに記憶された時刻または当該履歴が最後に更新された時刻を有し、且つ、
前記記憶部に記憶されている前記履歴のうち、現在時刻より所定時間以上過去の前記時刻を有する前記履歴を削除する削減部
を有する
付記１１に記載の通信装置。
（付記１３）
前記記憶部に記憶する前記履歴は、自通信装置が直近の接続処理で失敗した他の通信装置の識別情報と、当該識別情報で特定される前記他の通信装置が接続処理に連続して失敗した回数とを有し、
前記接続制御部は、前記接続処理に成功したときは前記履歴の前記回数を初期値に設定し、前記履歴の更新では、前記接続処理の失敗した前記他の通信装置の識別情報を前記履歴に記録すると共に前記回数をインクリメントし、
前記接続可否決定部は、前記接続可否の決定では、前記探索により発見した前記他の通信装置の識別情報と前記履歴に記憶されている前記識別情報とが一致しないときは、前記回数を初期値に設定して接続可と決定し、一致するときは、前記履歴の前記回数が閾値を超えていなければ接続可、そうでなければ接続不可と決定する
付記１に記載の通信装置。
（付記１４）
前記通信ネットワークは、複数の前記通信装置のうちの１つの前記通信装置がアクセスポイントの機能を有する親として機能し、残りの前記通信装置が前記親に対する子として機能する通信ネットワークであり、
前記探索部は、自通信装置の周囲に存在する前記他の通信装置の探索では、自通信装置の周囲に存在する前記他の通信装置を探索するためにプローブ要求を送出し、前記プローブ要求を受信した前記他の通信装置からプローブ応答を受信することにより、自通信装置の周囲に存在する前記他の通信装置を探索する
付記１乃至１３の何れかに記載の通信装置。
（付記１５）
他の通信装置との接続に失敗した履歴を記憶する記憶部を有し、前記他の通信装置と通信ネットワークを形成する通信装置が実行する通信接続方法であって、
自通信装置の周囲に存在する前記他の通信装置を探索し、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定し、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する
通信接続方法。
（付記１６）
他の通信装置との接続に失敗した履歴を記憶する記憶部を有し、前記他の通信装置と通信ネットワークを形成する通信装置を構成するコンピュータを、
自通信装置の周囲に存在する前記他の通信装置を探索する探索部と、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定する接続可否決定部と、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する接続制御部と
して機能させるためのプログラム。
（付記１７）
複数の通信装置を有する通信ネットワークシステムであって、
前記通信装置は、
他の通信装置との接続に失敗した履歴を記憶する記憶部と、
自通信装置の周囲に存在する前記他の通信装置を探索する探索部と、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定する接続可否決定部と、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する接続制御部と
を有する
通信ネットワークシステム。
（付記１８）
他の通信装置との接続に失敗した履歴を記憶する記憶部を有する複数の通信装置から構成される通信ネットワークシステムにおける通信接続方法であって、
一の前記通信装置が、
自通信装置の周囲に存在する前記他の通信装置を探索し、
前記探索により発見した前記他の通信装置との前記履歴に基づいて、前記他の通信装置と接続するか否かを決定し、
前記他の通信装置と接続しないと決定したときは前記探索部による前記探索を再び実施し、前記他の通信装置と接続すると決定したときは、前記他の通信装置との間で接続処理を行い、前記接続処理が失敗したときは前記他の通信装置との接続に失敗した前記履歴を更新して前記探索部による前記探索を再び実施する
通信接続方法。
【符号の説明】
【０１４８】
１１０…通信装置
１１１…無線通信部
１１２…演算処理部
１１３…記憶部
１１４…アンテナ
１１２１…探索部
１１２２…接続可否決定部
１１２３…接続制御部
１１３２…履歴
【図１】
2015064068.tif 000003
【図２】
2015064068.tif 000004
【図３】
2015064068.tif 000005
【図４】
2015064068.tif 000006
【図５】
2015064068.tif 000007
【図６】
2015064068.tif 000008
【図７】
2015064068.tif 000009
【図８】
2015064068.tif 000010
【図９】
2015064068.tif 000011
【図１０】
2015064068.tif 000012
【図１１】
2015064068.tif 000013
【図１２】
2015064068.tif 000014
【図１３】
2015064068.tif 000015
【図１４】
2015064068.tif 000016
【図１５】
2015064068.tif 000017
【図１６】
2015064068.tif 000018
【図１７】
2015064068.tif 000019
【図１８】
2015064068.tif 000020
【図１９】
2015064068.tif 000021
【国際調査報告】
2015064068.tif 000022
2015064068.tif 000023