(57)【特許請求の範囲】
【請求項１】
あらかじめ設定された周波数チャネルセットの中から１つの周波数チャネルをランダムに選択する周波数選択部と、
前記周波数選択部で選択された周波数チャネルでプローブ要求を送信する送信部と、
前記周波数選択部で選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する判断部と、
前記判断部の判断が肯定的な場合に、前記周波数チャネルで前記他の無線通信端末と直接的に通信を実行する直接通信実行部と、
前記判断部が他の無線通信端末と通信可能か否かを判断するための判断時間を、各周波数チャネルについて、ランダムに決定するスキャン時間決定部とを備え、
前記判断部の判断が否定的な場合に、前記送信部は、前記周波数選択部で選択された次の周波数チャネルでプローブ要求を送信し、前記判断部は、前記次の周波数チャネルで他の無線通信端末と通信可能か否かを判断することを特徴とする無線通信端末。
【請求項２】
前記スキャン時間決定部は、あらかじめ設定された最大限度を超えないように前記判断時間を決定することを特徴とする請求項１に記載の無線通信端末。
【請求項３】
前記スキャン時間決定部は、あらかじめ設定された最小限度を下回らないように前記判断時間を決定することを特徴とする請求項１または請求項２に記載の無線通信端末。
【請求項４】
前記スキャン時間決定部は、前記送信部が前記プローブ要求を送信することを開始する時刻であって、前記判断部が他の無線通信端末と通信可能か否かを判断するための前記判断時間の起点である検索開始時刻を、各周波数チャネルについて、ランダムに決定することを特徴とする請求項１ないし３のいずれか１項に記載の無線通信端末。
【請求項５】
前記スキャン時間決定部は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最大限度を超えないように、次の周波数チャネルについての検索開始時刻を決定することを特徴とする請求項４に記載の無線通信端末。
【請求項６】
前記スキャン時間決定部は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最小限度を下回らないように、次の周波数チャネルについての検索開始時刻を決定することを特徴とする請求項４または５に記載の無線通信端末。
【請求項７】
前記周波数選択部は、あらかじめ設定された周波数チャネルセットの中から複数の周波数チャネルをランダムに選択し、これらの周波数を順序付け、前記送信部は、前記順序付けに従って次の周波数チャネルでプローブ要求を送信し、前記判断部は、前記順序付けに従って前記次の周波数チャネルで他の無線通信端末と通信可能か否かを判断する
することを特徴とする請求項１ないし請求項６のいずれか１項に記載の無線通信端末。
【請求項８】
前記スキャン時間決定部は、他の無線通信端末から受信された前記プローブ要求への応答の処理を開始するための待機時間を、各周波数チャネルについて、ランダムに決定することを特徴とする請求項１ないし３のいずれか１項に記載の無線通信端末。
【請求項９】
前記スキャン時間決定部は、あらかじめ設定された最大限度を超えないように前記待機時間を決定することを特徴とする請求項８に記載の無線通信端末。
【請求項１０】
前記スキャン時間決定部は、あらかじめ設定された最小限度を下回らないように前記待機時間を決定することを特徴とする請求項８または請求項９に記載の無線通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信端末に関する。
【背景技術】
【０００２】
近年、スマートフォンに代表される多機能携帯電話が普及している。今後、多機能携帯電話の販売量はさらに大きく伸びるものと予測されている。一般的に多機能携帯電話には近接無線通信用のインターフェース（無線LANまたはブルートゥース（登録商標）を利用した通信インターフェース）を有しており、多機能携帯電話の魅力の一因となっている。
【０００３】
携帯電話以外の携帯型機器においても、無線LANまたはブルートゥースを利用した通信が可能となりつつある。例えば、非特許文献１に開示されているように、任天堂株式会社のゲーム機器で実行可能なすれ違い通信（StreetPass Communication）では、互いに接近している移動可能なゲーム機器同士で通信が可能である。すなわち、基地局を介さずに端末間での直接的な通信が可能である。以下、端末間での直接的な通信を「端末間通信」と呼ぶ。すれ違い通信には、IEEE 802.11（非特許文献２）が使用される。
【０００４】
図１を参照して、無線LANにおける一般的な通信相手発見手段であるActive Scanning（非特許文献２のSubclause 11.3.2に記載）を説明する。Active Scanningを開始した（ステップ１０１）無線通信端末は、ある周波数チャネルでProbe Request（プローブ要求）と呼ばれる通信相手を発見するためのフレームを同報的に送信することを開始する（ステップ１０２）。Probe Requestの送信開始後、無線通信端末はProbeTimerをスタートし（ステップ１０３）、ProbeTimerのスタート後の一定期間（MinChannelTime）以内に、PHY-CCA.indication (busy)という通知が物理レイヤからMAC（medium access control）レイヤに渡されたか否かを判断する（ステップ１０４）。MinChannelTime）以内にPHY-CCA.indication (busy)が物理レイヤからMAC（medium access control）レイヤに通知されなかった場合、無線通信端末は、次の周波数チャネルのスキャンを開始する（ステップ１０５）。一方、MinChannelTime以内にPHY-CCA.indication (busy)が物理レイヤから発生した場合（ステップ１０４）、受信したProbe Responseの処理を、無線通信端末は、ProbeTimerのスタートからMaxChannelTime後に開始する（ステップ１０６）。
【０００５】
図２のシーケンス図を参照して、Active Scanningをさらに説明する。図２において、通信相手を探索する無線通信端末をSTA1とし、通信相手の無線通信端末をSTA2とする。通信相手を探索する端末STA1は、スキャンする周波数チャネル決定後、Probe Requestを同報的に送信し始める。Probe requestを受信した端末STA2は、Probe Response（プローブ応答）フレームをDIFS（DCF (distributed coordination function) Interframe Space）後に送信する。Probe Responseフレームを受信した端末STA1は、SIFS（Short Interframe Space）後に、ACK（acknowledgment）フレームを送信する。Probe Requestの送信開始からMaxChannelTime経過後、端末STA1は受信したProbe Responseの処理を開始し、通信相手を決定する。このようにして、端末STA1は端末STA2を通信相手として決定する。
【０００６】
PHY-CCA.indication (busy)とは、物理レイヤからMACレイヤへ、周波数チャネルが他の無線通信端末により使用されている状態にあることを通知するプリミティブ（命令）である。無線通信端末の物理レイヤは、Probe Response を受信すると、PHY-CCA.indication (busy)をMACレイヤに通知する。PHY-CCA.indication (busy)があるということは、他の無線通信端末からProbe Responseを受信したということであり、その周波数チャネルを現在使用している他の無線通信端末があり、その無線通信端末と通信できる可能性があるということである。PHY-CCA.indication (busy)がないということは、他の無線通信端末からProbe Responseを受信していないことであり、その周波数チャネルを現在使用している他の無線通信端末がないということである。上記のステップ１０４では、PHY-CCA.indication (busy)があれば、その周波数チャネルに通信相手の候補があるとみなし、PHY-CCA.indication (busy)がなければ、その周波数チャネルに通信相手の候補があるとみなす。
【０００７】
MinChannelTimeは、非特許文献２のSubclause 10.3.2.1.2において、スキャンのときに各周波数チャネルについて費やされる最小時間として定義されている。ProbeTimerのスタート後に、MinChannelTime経過しても、Probe Responseが受信されなければ、次の周波数チャネルがスキャンされる。MaxChannelTimeは、非特許文献２のSubclause 10.3.2.1.2において、スキャンのときに各周波数チャネルについて費やされる最大時間として定義されている。MaxChannelTimeは、MinChannelTime以上の時間であって、ProbeTimerのスタートからMaxChannelTimeの経過前に受信されたProbe Responseは無線通信端末で処理される。
【０００８】
MinChannelTimeの値、およびMaxChannelTimeの値は、SME（Station Management Entity）が生成するMLME-SCAN.requestプリミティブにより、MLME（MAC sublayer management entity）に固定的に設定される値である。スキャンする周波数チャネルについても、MLME-SCAN.requestプリミティブにより、ChannelListというパラメータによりSMEよりMLMEへ通知される。ChannelListは、端末が利用可能な物理周波数チャネルのリストである。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】andriasang.com、"Nintendo Brings New Services to 3DS"、[online]、[平成２３年３月１７日検索]、インターネット（ＵＲＬ：http://www.andriasang.com/e/blog/2010/09/30/3ds_services/）
【非特許文献２】IEEE Computer Society、"IEEE Std 802.11.TM-2007"、IEEE Standard for Information technology、Telecommunications and information exchange between systems、Local and metropolitan area networks、Specific requirements、Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications、２００７年６月１２日
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、現在の無線LANにおける端末間通信では、通信相手端末の発見に長い時間を要するという課題がある。
【００１１】
上記のActive Scanningにおいては、端末が利用可能な周波数チャネルをシーケンシャルにスキャンする。また、周波数チャネルの各々をスキャンする最小時間（MinChannelTime）は一定時間である。例えば、２つの無線通信端末が、端末間通信を開始するために、チャネル番号の昇順に周波数チャネルをスキャンすると想定する。つまり、番号１の周波数チャネルをスキャンし、通信相手が見つからなければ、番号２の周波数チャネルをスキャンするというようにである。これらの２つの無線通信端末は、独立して、同じ順序で周波数チャネルをスキャンする。しかし、２つの無線通信端末のスキャン開始の時刻が異なる場合には、２つの無線通信端末がスキャンする周波数チャネルは常に異なってしまい、いつまでも各無線通信端末は通信相手を発見できない。この場合、端末間通信が開始できない。通信相手を認識するには、両方の無線通信端末が同じ周波数チャネルをスキャンすることが必要である。
【００１２】
たとえ通信相手端末の発見が可能であったとしても、それに要する時間が、２つの無線通信端末が接近している時間よりも長い場合には、端末間通信が開始できないことになる。無線通信端末は多くの場合移動可能であり、その場合、両方が接近している時間は限られる。
【００１３】
上記の課題を解決するために、あらかじめ無線LAN端末間通信にて使用する周波数チャネルを固定的に限定することが考えられる。例えば、１つまたは２つの周波数チャネルに限定することが考えられる。しかしながら、万が一固定的に設定された周波数チャネルが、例えば電子レンジ等の強い電磁波源から干渉を受けやすい周波数である場合、あるいは特定のレギュレーション下では使用できない周波数であると、端末間にて通信を行うことは不可能となる。
【００１４】
本発明は上記の課題を鑑みてなされたもので、端末間通信の通信を開始可能となる確率を向上させ、端末間通信の開始までに要する時間を短縮することを可能とする無線通信端末を提供する。
【課題を解決するための手段】
【００１５】
本発明に係る無線通信端末は、あらかじめ設定された周波数チャネルセットの中から１つの周波数チャネルをランダムに選択する周波数選択部と、前記周波数選択部で選択された周波数チャネルでプローブ要求を送信する送信部と、前記周波数選択部で選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する判断部と、前記判断部の判断が肯定的な場合に、前記周波数チャネルで前記他の無線通信端末と直接的に通信を実行する直接通信実行部とを備え、前記判断部の判断が否定的な場合に、前記送信部は、前記周波数選択部で選択された次の周波数チャネルでプローブ要求を送信し、前記判断部は、前記次の周波数チャネルで他の無線通信端末と通信可能か否かを判断する。
【００１６】
本発明によれば、無線通信端末は、周波数チャネルをランダムに選択し、ランダムに選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する。他の無線通信端末も同様に、周波数チャネルをランダムに選択し、ランダムに選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する。したがって、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加し、端末間通信の通信を開始可能となる確率を向上させることが可能である。このため、通信相手端末の発見の高速化が可能となり、結果として、端末間通信の開始までに要する時間を短縮することが可能となる。
【００１７】
無線通信端末は、前記判断部が他の無線通信端末と通信可能か否かを判断するための判断時間を、各周波数チャネルについて、ランダムに決定するスキャン時間決定部をさらに備えてもよい。各周波数チャネルについて判断時間をランダムに決定することにより、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加する。
【００１８】
前記スキャン時間決定部は、あらかじめ設定された最大限度を超えないように前記判断時間を決定してもよい。すなわち、ランダムに決定される判断時間に最大限度を設けてもよい。このようにして、各周波数チャネルについて他の無線通信端末と通信可能か否か判断するための判断時間を、長すぎないように制限することができる。
前記スキャン時間決定部は、あらかじめ設定された最小限度を下回らないように前記判断時間を決定してもよい。すなわち、ランダムに決定される判断時間に最小限度を設けてもよい。このようにして、各周波数チャネルについて他の無線通信端末と通信可能か否か判断するための判断時間を、短すぎないように制限することができる。
【００１９】
前記スキャン時間決定部は、前記送信部が前記プローブ要求を送信することを開始する時刻であって、前記判断部が他の無線通信端末と通信可能か否かを判断するための前記判断時間の起点である検索開始時刻を、各周波数チャネルについて、ランダムに決定してもよい。各周波数チャネルについて検索開始時刻をランダムに決定することにより、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加する。
【００２０】
前記スキャン時間決定部は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最大限度を超えないように、次の周波数チャネルについての検索開始時刻を決定してもよい。すなわち、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔に最大限度を設けてもよい。このようにして、検索間隔を長すぎないように制限することができる。
前記スキャン時間決定部は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最小限度を下回らないように、次の周波数チャネルについての検索開始時刻を決定してもよい。すなわち、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔に最小限度を設けてもよい。このようにして、検索間隔を短すぎないように制限することができる。
【００２１】
前記周波数選択部は、前記周波数選択部は、あらかじめ設定された周波数チャネルセットの中から複数の周波数チャネルをランダムに選択し、これらの周波数を順序付け、前記送信部は、前記順序付けに従って次の周波数チャネルでプローブ要求を送信し、前記判断部は、前記順序付けに従って前記次の周波数チャネルで他の無線通信端末と通信可能か否かを判断してもよい。このように、一度に複数の周波数チャネルをランダムに選択することにより、周波数チャネルを選択する工程を削減することができる。
【００２２】
前記スキャン時間決定部は、他の無線通信端末から受信された前記プローブ要求への応答の処理を開始するための待機時間を、各周波数チャネルについて、ランダムに決定してもよい。各周波数チャネルについて待機時間をランダムに決定することにより、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加する。
【００２３】
前記スキャン時間決定部は、あらかじめ設定された最大限度を超えないように前記待機時間を決定してもよい。すなわち、ランダムに決定される待機時間に最大限度を設けて、長すぎないように制限することができる。
前記スキャン時間決定部は、あらかじめ設定された最小限度を下回らないように前記待機時間を決定してもよい。すなわち、ランダムに決定される待機時間に最小限度を設けて、短すぎないように制限することができる。
【図面の簡単な説明】
【００２４】
【図１】従来のActive Scanningの手順を示すフローチャートである。
【図２】従来のActive Scanningの手順を示すシーケンス図である。
【図３】本発明の実施の形態に係るActive Scanningの手順を示すフローチャートである。
【図４】本発明の他の実施の形態に係るActive Scanningの手順を示すフローチャートである。
【図５】本発明のさらに他の実施の形態に係るActive Scanningの手順を示すフローチャートである。
【図６】端末間通信が可能な２つの無線通信端末が接近している状態を示す概略図である。
【図７】２つの無線通信端末が実行しているActive Scanningでのタイムチャートである。
【図８】本発明の実施の形態に係る無線通信端末の構成を示すブロック図である。
【図９】本発明の他の実施の形態に係る無線通信端末の構成を示すブロック図である。
【図１０】本発明の実施の形態に係る無線通信端末で使用される指令であるMLME-SCAN.requestの一例を示す図である。
【発明を実施するための形態】
【００２５】
以下、添付の図面を参照しながら本発明に係る様々な実施の形態を説明する。
【００２６】
＜Active Scanningの手順＞
図３を参照して、本発明の実施の形態に係る無線通信端末で実行されるActive Scanningを説明する。この実施の形態では、スキャンの開始前に、無線通信端末は、Scannning開始時刻（検索開始時刻）、MinChannelTime（判断時間）、MaxChannelTime（待機時間）を乱数によりランダムに決定する（ステップ２０１）。この明細書において乱数は擬似乱数を含む。
【００２７】
次に、無線通信端末は、あらかじめ設定された複数の周波数チャネルのセットの中からScanする１つの周波数（周波数チャネル）を乱数によりランダムに決定する（ステップ２０２）。ステップ２０１で決定されたScannning開始時刻に、無線通信端末はScanningを開始して（ステップ２０３）、ステップ２０２で決定された周波数チャネルでProbe Request（プローブ要求）を同報的に送信することを開始する（ステップ２０４）。Probe Requestの送信後、無線通信端末はProbeTimerをスタートする（ステップ２０５）。そして、無線通信端末は、ProbeTimerのスタート後の一定の判断時間（ステップ２０１で決定されたMinChannelTime）以内に、PHY-CCA.indication (busy)が物理レイヤからMACレイヤに通知されたか否かを判断する（ステップ２０６）。
【００２８】
MinChannelTime以内に、PHY-CCA.indication (busy)が物理レイヤからMACレイヤに通知されなかった場合、無線通信端末は、その周波数（周波数チャネル）のスキャンを終了し（ステップ２０７）、処理はステップ２０１へ戻る。スキャンの際、PHY-CCA.indication (busy)が物理レイヤから通知されないということは、他の無線通信端末からProbe Responseを受信していないことであり、その周波数チャネルを現在使用している他の無線通信端末がないということである。
【００２９】
一方、MinChannelTime以内にPHY-CCA.indication (busy)が物理レイヤから発生した場合（ステップ２０６）、受信したProbe Response（プローブ応答）の処理を、無線通信端末は、ProbeTimerのスタートから一定の待機時間（ステップ２０１で決定されたMaxChannelTime）後に開始する（ステップ２０８）。スキャンの際、PHY-CCA.indication (busy)が物理レイヤから通知されるということは、他の無線通信端末からProbe Responseを受信したということであり、その周波数チャネルを現在使用している他の無線通信端末があり、その無線通信端末と通信できる可能性があるということである。
【００３０】
図３の例では、ステップ２０１の後にステップ２０２を実施するが、図４に示すように、ステップ２０２の後にステップ２０１を実施してもよい。
【００３１】
図５は本発明のさらに他の実施の形態に係るActive Scanningの手順を示すフローチャートである。この実施の形態では、まず、無線通信端末は、あらかじめ設定された複数の周波数チャネルのセットの中からScanする複数の周波数（周波数チャネル）を乱数によりランダムに決定し、これらの周波数を順序付けてリストまたはテーブルに保持する（ステップ３０１）。つまり、リストまたはテーブルにおいては、最初にスキャンするべき周波数、次にスキャンするべき周波数、第３番目にスキャンするべき周波数というように、スキャンするべき順序と周波数が対応付けられる。
【００３２】
次に、無線通信端末は、この後にスキャンする周波数をリストまたはテーブルの順序に従って決定する（ステップ３０２）。その後、無線通信端末は、Scannning開始時刻（検索開始時刻）、MinChannelTime（判断時間）、MaxChannelTime（待機時間）を乱数により決定し（ステップ２０１）、Scanningを開始する（ステップ２０３）。この後の手順は、図３および図４の例と同じであり、ある周波数チャネルについてのスキャンを終了した（ステップ２０７）後、処理はステップ３０２へ戻る。つまり、リストまたはテーブルの順序に従って次にスキャンすべき周波数が決定される。図５のフローチャートにおいて、ステップ３０２はステップ２０１の後に実施してもよい。図５の手順のように、一度に複数の周波数チャネルをランダムに選択することにより、周波数チャネルを選択する工程を削減することができる。
【００３３】
図３ないし図５のいずれの例についても、図２のシーケンス図を参照して上述した手順が利用される。したがって、図２を参照して上述したように、端末STA1は端末STA2を通信相手として決定する。同様に、通信相手を探索する端末STA2は、スキャンする周波数チャネル決定後、Probe Requestを同報的に送信し始める。Probe requestを受信した端末STA1は、Probe ResponseフレームをDIFS後に送信する。Probe Responseフレームを受信した端末STA2は、SIFS後に、ACKフレームを送信する。Probe Requestの送信からMaxChannelTime経過後、端末STA2は受信したProbe Responseの処理を開始し、通信相手を決定する。このようにして、端末STA2は端末STA1を通信相手として決定する。無線通信端末STA1，STA2が互いに通信相手を決定すると、無線LANを利用した端末間通信を無線通信端末STA1，STA2は開始する。
【００３４】
上述した通り、MinChannelTimeは、IEEE 802.11-2007のSubclause 10.3.2.1.2において、スキャンのときに各周波数チャネルについて費やされる最小時間として定義されている。ProbeTimerのスタート後に、MinChannelTime経過しても、Probe Responseが受信されなければ、次の周波数チャネルがスキャンされる。この意味で、MinChannelTimeは、検索開始時刻後、他の無線通信端末と通信可能か否かを判断するための判断時間である。MaxChannelTimeは、IEEE 802.11-2007のSubclause 10.3.2.1.2において、スキャンのときに各周波数チャネルについて費やされる最大時間として定義されている。MaxChannelTimeは、MinChannelTime以上の時間であって、ProbeTimerのスタートからMaxChannelTimeの経過前に受信されたProbe Responseは無線通信端末で処理される。この意味で、MaxChannelTimeは、検索開始時刻後、受信したProbe Responseの処理を開始するまでの待機時間である。
【００３５】
＜通信開始プロセス＞
図６は、端末間通信が可能な２つの無線通信端末STA1，STA2が接近している状態を示す。無線通信端末STA1，STA2の一方または両方が移動しており、無線通信端末STA1の無線通信可能圏RA1に無線通信端末STA2があり、無線通信端末STA2の無線通信可能圏RA2に無線通信端末STA1がある。無線通信端末STA1，STA2の一方または両方の移動のため、端末間通信が可能な期間（Active Scanningによる通信相手発見から端末間通信完了までに要することができる時間）は限られる。
【００３６】
２つの無線通信端末STA1，STA2が互いに無線通信可能な状態になると、上記のActive Scanningにより、無線通信端末STA1，STA2は互いに通信相手として認識する。この後、無線通信端末STA1，STA2は、IEEE 802.11に準拠したリンクセットアップを完了し、さらにDCHP（dynamic host configuration protocol）によって通信相手のIPアドレス設定を完了した後、相互にアプリケーション通信を開始する。それぞれの端末は、例えば、IEEE 802.11bに準拠した無線インターフェース（後述する送信部７０１および受信部７０２）を有する。したがって、各端末はIEEE 802.11における周波数チャネルChannel 1〜Channel 14（すなわち、あらかじめ設定された周波数チャネルセット）を利用して通信が可能である。
【００３７】
上記のように、Active Scanningにおいては無線通信端末STA1，STA2の各々は、ランダムなScanning開始時刻からランダムな判断時間（MinChannelTime）、ランダムな周波数チャネルにてスキャンを実施する。この様子を図７のタイムチャートで示す。図７では使用される周波数チャネル番号が示されている。例えば、CH-1は周波数チャネルChannel 1を意味する。このように、無線通信端末STA1，STA2の各々は、ランダムな周波数チャネルで、ランダムなScanning開始時刻からランダムな判断時間（MinChannelTime）およびランダムな待機時間（MaxChannelTime）を利用して、通信相手を探すためのProbe Requestフレームを送信する。図６の例では、最終的にCH-6（Channel 6）にて、無線通信端末STA1，STA2の両方の通信周波数チャネルが一致し、端末間通信を開始することが可能となる。
【００３８】
このように、各無線通信端末は、周波数チャネルをランダムに選択し、ランダムに選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する。したがって、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加し、端末間通信の通信を開始可能となる確率を向上させることが可能である。このため、通信相手端末の発見の高速化が可能となり、結果として、端末間通信の開始までに要する時間を短縮することが可能となる。
【００３９】
また、各周波数チャネルについて判断時間（MinChannelTime）をランダムに決定することにより、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加する。さらに、プローブ要求を送信することを開始する時刻であって判断時間の起点である検索開始時刻（Scanning開始時刻）をランダムに決定することにより、２つの無線通信端末が通信相手を発見するために同じ周波数チャネルを用いる機会が増加する。
【００４０】
＜無線通信端末の構成＞
図８は、本発明の実施の形態に係る無線通信端末の構成を示すブロック図である。各無線通信端末は、送信部７０１、受信部７０２、MAC層制御部７０３、アプリケーション通信制御部７０４、端末パラメータ制御部７０５、スキャン周波数決定部（周波数選択部）７０６、およびスキャン時間決定部７０７を備える。
【００４１】
送信部７０１は無線送信を行うための送信回路であり、受信部７０２は無線受信を行うための受信回路である。送信部７０１および受信部７０２はIEEE 802.11に準拠した送信機能および受信機能を有する。
【００４２】
MAC層制御部７０３、アプリケーション通信制御部７０４、端末パラメータ制御部７０５、スキャン周波数決定部７０６、およびスキャン時間決定部７０７は、図示しないＣＰＵ（central processing unit）がコンピュータプログラムを実行し、そのコンピュータプログラムに従って機能することによって実現される機能ブロックである。
【００４３】
アプリケーション通信制御部７０４は、端末間通信にて実行されるアプリケーション通信機能を有する。すなわち、端末間通信を実行するとき、アプリケーション通信制御部７０４は端末間通信のアプリケーションに従って信号を生成し、それらの信号をMAC層制御部７０３に供給する。
【００４４】
スキャン周波数決定部７０６は、あらかじめ設定された周波数チャネルセットの中から、端末間通信を行うために実行されるActive ScanningのときにSCANする１つの周波数チャネルを、乱数を使用してランダムに決定する。スキャン周波数決定部７０６は、図５の手順例のステップ３０１における複数の周波数チャネルを決定してもよい。この場合には、スキャン周波数決定部７０６は、ランダムに決定した複数の周波数チャネルを決定した順序で記載したリストまたはテーブルを生成する。
【００４５】
スキャン時間決定部７０７は、端末間通信を行うために実行されるActive Scanningのときにスキャンを開始する時刻（Scanning開始時刻すなわち検索開始時刻）、MinChannelTime（判断時間）およびMaxChannelTime（待機時間）をランダムに決定する。これらのパラメータの各々の決定のために、スキャン時間決定部７０７は乱数を使用する。
【００４６】
スキャン時間決定部７０７は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最大限度を超えないように、次の周波数チャネルについての検索開始時刻（Scanning開始時刻）を決定してもよい。すなわち、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔に最大限度を設けてもよい。このようにして、検索間隔を長すぎないように制限することができる。スキャン時間決定部７０７は、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔があらかじめ設定された最小限度を下回らないように、次の周波数チャネルについての検索開始時刻（Scanning開始時刻）を決定してもよい。すなわち、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔に最小限度を設けてもよい。このようにして、検索間隔を短すぎないように制限することができる。
【００４７】
スキャン時間決定部７０７は、あらかじめ設定された最大限度を超えないように各周波数チャネルについての判断時間（MinChannelTime）を決定してもよい。すなわち、ランダムに決定される各周波数チャネルについての判断時間に最大限度を設けてもよい。このようにして、各周波数チャネルについて他の無線通信端末と通信可能か否か判断するための判断時間を、長すぎないように制限することができる。スキャン時間決定部７０７は、あらかじめ設定された最小限度を下回らないように各周波数チャネルについての判断時間（MinChannelTime）を決定してもよい。すなわち、ランダムに決定される各周波数チャネルについての判断時間に最小限度を設けてもよい。このようにして、各周波数チャネルについて他の無線通信端末と通信可能か否か判断するための判断時間を、短すぎないように制限することができる。
【００４８】
スキャン時間決定部７０７は、あらかじめ設定された最大限度を超えないように各周波数チャネルについての待機時間（MaxChannelTime）を決定してもよい。すなわち、ランダムに決定される各周波数チャネルについての待機時間に最大限度を設けてもよい。このようにして、各周波数チャネルについてProbe Responseの処理を開始するまでの待機時間を、長すぎないように制限することができる。スキャン時間決定部７０７は、あらかじめ設定された最小限度を下回らないように各周波数チャネルについての待機時間（MaxChannelTime）を決定してもよい。すなわち、ランダムに決定される各周波数チャネルについての待機時間に最小限度を設けてもよい。このようにして、各周波数チャネルについてProbe Responseの処理を開始するまでの待機時間を、短すぎないように制限することができる。
【００４９】
スキャン周波数決定部７０６およびスキャン時間決定部７０７により決定されたActive Scanningに関連するパラメータは、端末パラメータ制御部７０５へ通知される。端末パラメータ制御部７０５は、Active Scanningに関連するパラメータに加え、SSID（service set identifier）および端末製造者固有の情報（Vendor Specific情報）をMAC層制御部７０３に通知して、MAC層制御部７０３を制御する。SSIDおよび端末製造者固有の情報は、図示しないメモリに格納されている。
【００５０】
MAC層制御部７０３はMAC層の機能を実行するMLME（MAC sublayer management entity）である。スキャン周波数決定部７０６がランダムに決定した複数の周波数チャネルを決定した順序で記載したリストまたはテーブルを生成する場合には、MAC層制御部７０３はそのリストまたはテーブルを図示しないメモリに格納し、リストまたはテーブルの順序に従って周波数チャネルのスキャンを実行する。
【００５１】
送信部７０１は、MAC層制御部７０３の制御の下で信号を送信する。Active Scanningのときには、スキャン周波数決定部７０６およびスキャン時間決定部７０７により決定されたパラメータに従うように、MAC層制御部７０３は送信部７０１を制御し、この結果、送信部７０１は、ランダムに選択された周波数でランダムに決定されたScanning開始時刻にProbe Requestフレームを送信することを開始する。
【００５２】
受信部７０２は、受信した信号をMAC層制御部７０３に供給する。Active Scanningのときには、受信部７０２はProbe ResponseフレームをMAC層制御部７０３に供給する。
【００５３】
MAC層制御部（判断部）７０３は、前記のProbeTimerの機能を有しており、ランダムに決定されたMinChannelTime以内にPHY-CCA.indication (busy)が物理レイヤで発生したか否か判断する（図３〜図５に示す前記のステップ２０６）。すなわち、MAC層制御部７０３は、スキャン周波数決定部７０６で選択された周波数チャネルで他の無線通信端末と通信可能か否かを判断する。また、MAC層制御部７０３は、Probe Requestの送信からランダムに決定されたMaxChannelTime経過後、受信したProbe Responseフレームの処理を開始する（図３〜図５に示す前記のステップ２０８）。Probe Responseフレームの処理において、Probe Responseフレームに示された通信相手を特定するために必要となる情報は、MAC層制御部７０３から端末パラメータ制御部７０５へ通知される。このようにして端末パラメータ制御部７０５は端末間通信の通信相手を特定する。
【００５４】
MAC層制御部７０３がスキャン周波数決定部７０６で選択された周波数チャネルで他の無線通信端末と通信不可能と判断した場合（MinChannelTime以内にPHY-CCA.indication (busy)が物理レイヤで発生しなかった場合）には、送信部７０１は、ランダムに選択された次の周波数でランダムに決定されたScanning開始時刻にProbe Requestフレームを送信する。MAC層制御部７０３は、次の周波数チャネルで他の無線通信端末と通信可能か否かを判断する。
【００５５】
Active Scanningによる通信相手の認識の後、端末パラメータ制御部７０５から供給されるSSIDおよび端末製造者固有の情報を用いて、MAC層制御部７０３はリンクセットアップを実行する。このようにして端末間通信が実行可能になる。
【００５６】
端末間通信の開始後は、アプリケーション通信制御部（直接通信実行部）７０４で生成された信号に基づいて、MAC層制御部（直接通信実行部）７０３は端末間通信に必要な信号を送信部７０１（直接通信実行部）に送信させる。また、端末間通信の開始後は、通信相手から受信した端末間通信に関する信号を受信部（直接通信実行部）７０２はMAC層制御部７０３に供給する。すなわち、MAC層制御部７０３がスキャン周波数決定部７０６で選択された周波数チャネルで他の無線通信端末と通信可能と判断した場合に、直接通信実行部は、その周波数チャネルで他の無線通信端末と直接的に通信を実行する。
【００５７】
図９は、本発明の他の実施の形態に係る無線通信端末の構成を示すブロック図である。図９において、図８と共通する構成要素を示すために同一の参照符号が使用されている。図９の実施の形態においては、スキャン周波数決定部７０６およびスキャン時間決定部７０７により決定されたActive Scanningに関連するパラメータは、端末パラメータ制御部７０５を介さずに、MAC層制御部７０３に直接供給される。
【００５８】
図８および図９の構成においては、スキャン時間決定部７０７がMinChannelTimeおよびMaxChannelTimeをランダムに決定する。但し、他の実施の形態として、端末パラメータ制御部７０５から供給されたパラメータに基づいて、MAC層制御部７０３がMinChannelTimeおよびMaxChannelTimeをランダムに決定してもよい。この場合、MAC層制御部７０３がスキャン時間決定部として機能する。
【００５９】
＜MLME-SCAN.request＞
図１０は、MAC層制御部７０３に通知される指令（Primitive）であるMLME-SCAN.requestの一例を示す図である。
【００６０】
MLME-SCAN.requestは、IEEE 802.11-2007のSubclause 10.3.2.1に記載されている通り、無線通信端末のSME (Station Management Entity)で生成される。図８の構成においては、端末パラメータ制御部７０５がSMEに相当する。図１０に示すMLME-SCAN.requestは、図８の端末パラメータ制御部７０５が生成して、MAC層制御部７０３に通知する。
【００６１】
図１０に示すMLME-SCAN.requestにおいて、いくつかのパラメータ、すなわちBSSType、BSSID、SSID、ScanType、ProbeDelay、およびVendorSpecificInfoは、IEEE 802.11-2007において既存である。
【００６２】
Rand_ChannelList、MAX_MinChannelTime、MAX_MaxChannelTime、およびFast_Setupは、今回提案される新規なパラメータである。
【００６３】
Rand_ChannelListは、スキャン周波数決定部７０６がランダムに決定した複数の周波数チャネルを順序付けたリストである。Rand_ChannelListは、図５の手順を実行する場合に、MLME-SCAN.requestに付加される。
【００６４】
MAX_MinChannelTimeは、MinChannelTimeの最大値（あらかじめ設定された最大限度）である。スキャン時間決定部としてのMAC層制御部７０３は、MAX_MinChannelTimeを超えないように、一様乱数rand()を用いて、MinChannelTime（判断時間）を決定する。つまり、端末パラメータ制御部７０５から供給されたパラメータであるMAX_MinChannelTimeに基づいて、MAC層制御部７０３がMinChannelTimeをランダムに決定する。
【００６５】
MAX_MaxChannelTimeは、MaxChannelTimeの最大値（あらかじめ設定された最大限度）である。スキャン時間決定部としてのMAC層制御部７０３は、MAX_MaxChannelTimeを超えないように、一様乱数rand()を用いて、MaxChannelTime（待機時間）を決定する。つまり、端末パラメータ制御部７０５から供給されたパラメータであるMAX_MaxChannelTimeに基づいて、MAC層制御部７０３がMaxChannelTimeをランダムに決定する。
【００６６】
Fast_Setupは、本発明の実施の形態に係るActive Scanning方式をサポートするか否かを通知するためのフラグである。
【００６７】
図１０に示すMLME-SCAN.requestは一例であって、本発明はこれには限定されない。例えば、MLME-SCAN.requestは、MinChannelTimeの最小値（あらかじめ設定された最小限度）またはMaxChannelTimeの最小値（あらかじめ設定された最小限度）を含んでもよい。MLME-SCAN.requestは、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔の最大値（あらかじめ設定された最大限度）を含んでもよい。MLME-SCAN.requestは、ある周波数チャネルについての検索開始時刻と次の周波数チャネルについての検索開始時刻との相違である検索間隔の最小値（あらかじめ設定された最小限度）を含んでもよい。
【００６８】
＜他の変形＞
スキャン時間決定部７０７は、Scanning開始時刻（検索開始時刻）の代わりに乱数を決定してもよい。例えば、この乱数は、MLME-SCAN.requestによって端末パラメータ制御部７０５からMAC層制御部７０３に通知してよい。MAC層制御部７０３は、この乱数を用いて、Scanning開始時刻を決定してもよい。
【００６９】
スキャン時間決定部７０７は、MinChannelTimeの代わりに乱数を決定してもよい。例えば、この乱数は、MLME-SCAN.requestによって端末パラメータ制御部７０５からMAC層制御部７０３に通知してよい。MAC層制御部７０３は、この乱数を用いて、MinChannelTimeを決定してもよい。
【００７０】
スキャン時間決定部７０７は、MaxChannelTimeの代わりに乱数を決定してもよい。例えば、この乱数は、MLME-SCAN.requestによって端末パラメータ制御部７０５からMAC層制御部７０３に通知してよい。MAC層制御部７０３は、この乱数を用いて、MaxChannelTimeを決定してもよい。
【００７１】
上記の実施の形態においては、Scanning開始時刻、MinChannelTime、MaxChannelTimeがランダムに決定されるが、これらのうちいずれかまたはすべてをランダムに決定しなくてもよい。
【００７２】
無線通信端末において、ＣＰＵが実行する各機能は、ＣＰＵの代わりに、ハードウェアで実行してもよいし、例えばFPGA（Field Programmable Gate Array）、DSP（Digital Signal Processor）等のプログラマブルロジックデバイスで実行してもよい。
【００７３】
前記の実施の形態は、IEEE 802.11に準拠しているが、本発明は、IEEE 802.11に準拠したブルートゥース（登録商標）による通信もカバーする。
【００７４】
前記の実施の形態および変形は、矛盾しない限り、組み合わせてもよい。
【符号の説明】
【００７５】
STA1，STA2…無線通信端末、７０１…送信部（直接通信実行部）、７０２…受信部（直接通信実行部）、７０３…MAC層制御部（直接通信実行部、スキャン時間決定部）、７０４…アプリケーション通信制御部（直接通信実行部）、７０５…端末パラメータ制御部、７０６…スキャン周波数決定部（周波数選択部）、７０７…スキャン時間決定部。
【図１】
0005526069.tif 000002
【図２】
0005526069.tif 000003
【図３】
0005526069.tif 000004
【図４】
0005526069.tif 000005
【図５】
0005526069.tif 000006
【図６】
0005526069.tif 000007
【図７】
0005526069.tif 000008
【図８】
0005526069.tif 000009
【図９】
0005526069.tif 000010
【図１０】
0005526069.tif 000011