(57)【要約】【課題】通信を行うチャネルを効率よく決定することが可能な通信装置、通信制御方法、および通信制御プログラムを提供する。【解決手段】通信開始の指示が入力されると（Ｓ１０２：ＹＥＳ）、各チャネルの過去の使用回数が時間毎に登録された使用回数データテーブルが参照され、使用可能なチャネルが推定される（Ｓ１０４）。使用可能なチャネルであると推定されるチャネルがある場合には（Ｓ１０５：ＹＥＳ）、使用回数データテーブルに登録されている使用回数が参照されてグループ分けが行われる（Ｓ１０６）。使用回数が少ないグループが、スキャンを実行するグループとして選択される（Ｓ１０７）。さらに、グループ内で、スキャンの順番が決定され、チャネルのスキャンが実行される。【選択図】図７
2011188339.tif 000002
【特許請求の範囲】
【請求項１】
無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置であって、
前記スキャンを実行した過去の時間帯と、前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御手段と、
前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定手段と、
前記順序決定手段によって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定手段と
を備えたことを特徴とする通信装置。
【請求項２】
前記順序決定手段は、
前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記現在の時間と同じ前記過去の時間帯における使用頻度が少ない前記チャネルの順に前記スキャンを実行する順序を決定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記順序決定手段は、
前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、
隣接する前記チャネルのそれぞれの前記使用頻度が、両方とも所定の使用頻度である第一頻度以下のチャネルであるという条件である第一条件と、
隣接するチャネルのうち、周波数の高い前記チャネルにおける前記使用頻度と周波数の低いチャネルにおける前記使用頻度とのどちらか一方が前記第一頻度以下のチャネルであるという条件である第二条件と、
所定の時間以上継続して、前記使用頻度が前記第一頻度以下のチャネルであるという条件である第三条件と、
通信可能な周波数帯域における最も大きい周波数と、最も小さい周波数とからそれぞれ所定の周波数幅以上離れたチャネルであるという条件である第四条件と、
前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が前記第一頻度以下のチャネルであるという条件である第五条件と
のうちの少なくとも一の条件を参照し、前記スキャンを実行する前記チャネルの順序を決定することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記順序決定手段は、
前記第一条件を満たすチャネル、前記第二条件を満たすチャネル、前記第三条件を満たすチャネル、前記第四条件を満たすチャネル、前記第五条件を満たすチャネルの順番で、前記スキャンを実行する順序を決定することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記チャネル決定手段は、
前記順序決定手段によって決定された前記チャネルの順序で前記スキャンを実行する場合に、前記チャネルにおける無線信号の受信信号強度を測定し、測定された前記受信信号強度が所定の閾値以上であった場合に、次の順序の前記チャネルの前記スキャンを実行し、測定された受信信号強度が前記閾値より小さい場合に、通信可能なチャネルとして決定することを特徴とする請求項１から４のいずれかに記載の通信装置。
【請求項６】
前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記チャネルの前記使用頻度を参照し、前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、所定の頻度である第二頻度以下である前記チャネルが存在するか否かを判断する頻度判断手段を備え、
前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合に、
前記順序決定手段は、前記順序を決定せず、
前記チャネル決定手段は、通信可能な前記チャネルを決定せず、
前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在すると判断された場合に、
前記順序決定手段は、前記順序を決定し、
前記チャネル決定手段は、通信可能な前記チャネルを決定することを特徴とする請求項１から５のいずれかに記載の通信装置。
【請求項７】
前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合に、使用可能なチャネルがない可能性が高いことを表示画面に表示させる表示制御手段をさらに備えたことを特徴とする請求項６に記載の通信装置。
【請求項８】
利用者からの前記スキャンを実行するか否かの指示が入力される入力手段をさらに備え、
前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合において、
前記入力手段を介して利用者によって前記スキャンを実行しない指示が入力された場合に、
前記順序決定手段は、前記順序を決定せず、
前記チャネル決定手段は、通信可能な前記チャネルを決定せず、
前記入力手段を介して利用者によって前記スキャンを実行する指示が入力された場合に、
前記順序決定手段は、前記順序を決定し、
前記チャネル決定手段は、通信可能な前記チャネルを決定することを特徴とする請求項６および７に記載の通信装置。
【請求項９】
前記通信装置と同じ種類の通信装置であり、前記データを記憶する前記記憶装置を備えた他の通信装置が同一環境下に存在する場合に、
前記他の通信装置から送信される前記データを受信し、前記通信装置の前記記憶装置に記憶させるデータ記憶制御手段をさらに備えたことを特徴とする請求項１から８のいずれかに記載の通信装置。
【請求項１０】
前記通信装置と同じ種類の通信装置であり、前記データを記憶する前記記憶装置を備えた他の通信装置が同一環境下に存在する場合に、
前記他の通信装置が前記スキャンを実行しているか否かを判断するスキャン判断手段をさらに備え、
前記スキャン判断手段によって前記他の通信装置が前記スキャンを実行していると判断された場合に、前記チャネル決定手段は、前記スキャンを実行せず、
前記スキャン判断手段によって前記他の通信装置が前記スキャンを実行していないと判断された場合に、前記チャネル決定手段は、前記スキャンを実行し、通信可能な前記チャネルを決定することを特徴とする請求項１から９のいずれかに記載の通信装置。
【請求項１１】
無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置において実行される通信制御方法であって、
前記スキャンを実行した過去の時間帯と、前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御ステップと、
前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定ステップと、
前記順序決定ステップによって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定ステップと
を備えたことを特徴とする通信制御方法。
【請求項１２】
無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置において実行される通信制御プログラムであって、
前記通信装置のＣＰＵに、
前記スキャンを実行した過去の時間帯と前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御ステップと、
前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定ステップと、
前記順序決定ステップによって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定ステップと
を実行させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの送受信を行うための電波を発射する前にチャネルのスキャンを実行して、通信を行うチャネルを決定する通信装置、通信制御方法、および通信制御プログラムに関する。
【背景技術】
【０００２】
従来、他の通信の妨害を防ぐため、データの送受信開始前に空きチャネルを確認するため、チャネルのスキャンを実行して、通信を行うチャネルを決定する通信装置が知られている。例えば、特許文献１に記載のチャネル選択回路では、予め設定された優先チャネル情報と、過去の使用実績回数とを記憶している。優先チャネル情報は、近くで使用されている他のワイヤレスシステムでよく使用されるチャネルと重複しないチャネルが優先されるように、予め設定されている。そして、チャネル選択回路は、優先チャネル情報と過去の使用実績回数とを参照して、空きチャネルを検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６０７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、通信帯域の混雑具合は時間毎に変動しており、通信帯域が混雑している時間帯や、逆に、通信帯域が混雑していない時間帯が存在する。上記のチャネル選択回路では、過去に使用したことのあるチャネルを考慮しているが、時間帯によっては、過去に使用したことのあるチャネルが使用されている場合がある。このため、通信帯域が混雑している時間にチャネルのスキャンを実行した場合、空きチャネルを選択するのに時間がかかる。つまり、通信を行うチャネルを効率よく決定することができない。その結果、ＣＰＵへの負荷が増大して動作が不安定になったり、電力消費が大きくなったりするという問題点があった。
【０００５】
本発明は、通信を行うチャネルを効率よく決定することが可能な通信装置、通信制御方法、および通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る通信装置は、無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置であって、前記スキャンを実行した過去の時間帯と、前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御手段と、前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定手段と、前記順序決定手段によって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定手段とを備えている。
【０００７】
この場合、データにおける、現在の時間帯と同じ過去の時間帯での各チャネルの使用頻度を参照して、スキャンする順序を決定することができる。このため、現在の時間において使用できる可能性の高いチャネルをスキャンすることができる。よって、通信を行うチャネルを効率よく決定することができる。
【０００８】
前記通信装置において、前記順序決定手段は、前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記現在の時間と同じ前記過去の時間帯における使用頻度が少ない前記チャネルの順に前記スキャンを実行する順序を決定してもよい。
【０００９】
この場合、過去の使用頻度の少ない順にスキャンを実行することができる。このため、通信を行うチャネルを効率よく決定することができる。
【００１０】
前記通信装置において、前記順序決定手段は、前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、隣接する前記チャネルのそれぞれの前記使用頻度が、両方とも所定の使用頻度である第一頻度以下のチャネルであるという条件である第一条件と、隣接するチャネルのうち、周波数の高い前記チャネルにおける前記使用頻度と周波数の低いチャネルにおける前記使用頻度とのどちらか一方が前記第一頻度以下のチャネルであるという条件である第二条件と、所定の時間以上継続して、前記使用頻度が前記第一頻度以下のチャネルであるという条件である第三条件と、通信可能な周波数帯域における最も大きい周波数と、最も小さい周波数とからそれぞれ所定の周波数幅以上離れたチャネルであるという条件である第四条件と、前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が前記第一頻度以下のチャネルであるという条件である第五条件とのうちの少なくとも一の条件を参照し、前記スキャンを実行する前記チャネルの順序を決定してもよい。
【００１１】
この場合、第一頻度以下の場合は、そのチャネルは使用されていない可能性が高い。また、隣接するチャネルが使用されていなければ、通信品質が良好になる可能性が高い。つまり、通信品質の高いチャネルや、使用されていない可能性の高いチャネルを優先して、スキャンを実行することができる。
【００１２】
前記通信装置おいて、前記順序決定手段は、前記第一条件を満たすチャネル、前記第二条件を満たすチャネル、前記第三条件を満たすチャネル、前記第四条件を満たすチャネル、前記第五条件を満たすチャネルの順番で、前記スキャンを実行する順序を決定してもよい。
【００１３】
この場合、通信品質の高いチャネルや、使用されていない可能性の高いチャネルを優先して、スキャンを実行する順番を決定することができる。
【００１４】
前記通信装置において、前記チャネル決定手段は、前記順序決定手段によって決定された前記チャネルの順序で前記スキャンを実行する場合に、前記チャネルにおける無線信号の受信信号強度を測定し、測定された前記受信信号強度が所定の閾値以上であった場合に、次の順序の前記チャネルの前記スキャンを実行し、測定された受信信号強度が前記閾値より小さい場合に、通信可能なチャネルとして決定してもよい。
【００１５】
この場合、受信信号強度が閾値以上であれば、他の装置によって使用されているチャネルであるので、スキャンを続行し、受信信号強度が閾値より小さければ、他の装置によって使用されていないチャネルであるので、通信可能なチャネルとして決定することができる。つまり、受信信号強度によって、現在使用されているチャネルか否かを判断することができる。
【００１６】
前記通信装置において、前記記憶装置に記憶された前記データにおける、前記現在の時間帯と同じ前記過去の時間帯での前記チャネルの前記使用頻度を参照し、前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、所定の頻度である第二頻度以下である前記チャネルが存在するか否かを判断する頻度判断手段を備え、前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合に、前記順序決定手段は、前記順序を決定せず、前記チャネル決定手段は、通信可能な前記チャネルを決定せず、前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在すると判断された場合に、前記順序決定手段は、前記順序を決定し、前記チャネル決定手段は、通信可能な前記チャネルを決定してもよい。
【００１７】
この場合、現在の時間帯と同じ過去の時間帯における使用頻度が第二頻度以下であるチャネルが存在しなければ、使用可能なチャネルがない可能性が高いので、スキャンを実行しない。このため、ＣＰＵの負荷を軽減できるとともに、消費電力を削減することができる。
【００１８】
前記通信装置において、前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合に、使用可能なチャネルがない可能性が高いことを表示画面に表示させる表示制御手段をさらに備えてもよい。
【００１９】
この場合、現在の時間帯と同じ過去の時間帯における使用頻度が第二頻度以下であるチャネルが存在しなければ、使用可能なチャネルがない可能性が高いので、使用可能なチャネルがない可能性が高いことを表示画面に表示する。これによって、利用者に使用可能なチャネルがない可能性が高いことを報知することができる。
【００２０】
前記通信装置において、利用者からの前記スキャンを実行するか否かの指示が入力される入力手段をさらに備え、前記頻度判断手段によって前記現在の時間帯と同じ前記過去の時間帯における前記使用頻度が、前記第二頻度以下である前記チャネルが存在しないと判断された場合において、前記入力手段を介して利用者によって前記スキャンを実行しない指示が入力された場合に、前記順序決定手段は、前記順序を決定せず、
前記チャネル決定手段は、通信可能な前記チャネルを決定せず、前記入力手段を介して利用者によって前記スキャンを実行する指示が入力された場合に、前記順序決定手段は、前記順序を決定し、前記チャネル決定手段は、通信可能な前記チャネルを決定してもよい。
【００２１】
この場合、現在の時間帯と同じ時間帯における使用頻度が第二頻度以下であるチャネルが存在しなければ、使用可能なチャネルがない可能性が高い。しかし、利用者からの指示があれば、スキャンを実行することができる。
【００２２】
前記通信装置において、前記通信装置と同じ種類の通信装置であり、前記データを記憶する前記記憶装置を備えた他の通信装置が同一環境下に存在する場合に、前記他の通信装置から送信される前記データを受信し、前記通信装置の前記記憶装置に記憶させるデータ記憶制御手段をさらに備えてもよい。
【００２３】
この場合、他の通信装置によって作成されたデータを、通信装置の記憶装置に記憶することができる。このため、通信装置は、他の通信装置が作成したデータを使用することによって、通信を行うチャネルを効率よく決定することができる。
【００２４】
前記通信装置において、前記通信装置と同じ種類の通信装置であり、前記データを記憶する前記記憶装置を備えた他の通信装置が同一環境下に存在する場合に、前記他の通信装置が前記スキャンを実行しているか否かを判断するスキャン判断手段をさらに備え、前記スキャン判断手段によって前記他の通信装置が前記スキャンを実行していると判断された場合に、前記チャネル決定手段は、前記スキャンを実行せず、前記スキャン判断手段によって前記他の通信装置が前記スキャンを実行していないと判断された場合に、前記チャネル決定手段は、前記スキャンを実行し、通信可能な前記チャネルを決定してもよい。
【００２５】
この場合、通信装置と他の通信装置とがスキャンを実行するタイミングが同じになることを防止できる。このため、通信装置と他の通信装置とが同時に同じチャネルを選択することを防止できる。
【００２６】
本発明の第二の態様に係る通信制御方法は、無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置において実行される通信制御方法であって、前記スキャンを実行した過去の時間帯と、前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御ステップと、前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定ステップと、前記順序決定ステップによって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定ステップとを備えている。
【００２７】
この場合、データにおける、現在の時間帯と同じ過去の時間帯での各チャネルの使用頻度を参照して、スキャンする順序を決定することができる。このため、現在の時間において使用できる可能性の高いチャネルをスキャンすることができる。よって、通信を行うチャネルを効率よく決定することができる。
【００２８】
本発明の第三の態様に係る通信制御プログラムは、無線通信を行うための複数のチャネルが他の通信を行う装置によって使用されているか否かを検出するスキャンを実行し、通信を行う前記チャネルを決定する通信装置において実行される通信制御プログラムであって、前記通信装置のＣＰＵに、前記スキャンを実行した過去の時間帯と前記過去の時間帯において他の通信を行う装置によって前記各チャネルが使用されていた頻度である使用頻度とが前記チャネル毎に複数対応付けられたデータを記憶装置に記憶させる記憶制御ステップと、前記記憶制御手段によって前記記憶装置に記憶された前記データにおける、現在の時間帯と同じ前記過去の時間帯での前記前記各チャネルの前記使用頻度を参照し、前記スキャンを実行する前記チャネルの順序を決定する順序決定ステップと、前記順序決定ステップによって決定された前記チャネルの順序で前記スキャンを実行し、通信可能な前記チャネルを決定するチャネル決定ステップとを実行させる。
【００２９】
この場合、データにおける、現在の時間帯と同じ過去の時間帯での各チャネルの使用頻度を参照して、スキャンする順序を決定することができる。このため、現在の時間において使用できる可能性の高いチャネルをスキャンすることができる。よって、通信を行うチャネルを効率よく決定することができる。
【図面の簡単な説明】
【００３０】
【図１】通信装置１の物理的構成を示す模式図である。
【図２】通信装置１の電気的構成を示す模式図である。
【図３】フラッシュメモリ２４の記憶領域を示す模式図である。
【図４】使用回数データテーブル５１を示す模式図である。
【図５】グループ数データテーブル５２を示す模式図である。
【図６】重み付けデータテーブル５３を示す模式図である。
【図７】メイン処理を示すフローチャートである。
【図８】メイン処理を示すフローチャートである。
【図９】グループデータテーブル５４を示す模式図である。
【図１０】ディスプレイ１１に表示される画像の一例を示す図である。
【図１１】グラフ６０を示すグラフである。
【図１２】待機時間データテーブル５５を示す模式図である。
【図１３】アクセスポイント処理を示すフローチャートである。
【図１４】マスター／スレーブ設定処理を示すフローチャートである。
【図１５】図８に示すメイン処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明に係る通信装置の一実施の形態について、図面を参照して説明する。なおこれらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００３２】
図１を参照し、通信装置１の概要について説明する。通信装置１は、ディスプレイに様々なアプリケーションを表示することができる。通信装置１は、例えば、家具等の上に設置されたり、壁等に掛けられたりする。通信装置１は、無線通信によって公衆回線網やインターネット網に接続され、他の装置との間で通信を行うことができる。本実施形態では、通信装置１は無線ＬＡＮによって通信を行うとする。
【００３３】
図１に示すように、通信装置１は、左右方向を長手方向とする正面視略長方形を有しており、略中央にディスプレイ１１を備えている。ディスプレイ１１の前面には、タッチパネル１２（図２参照）が備えられている。利用者は、ディスプレイ１１に表示される様々な情報を視認しながら、タッチパネル１２に触れることによって、通信装置１に指示を入力することができる。通信装置１は、ディスプレイ１１の左上側、且つ通信装置１の内部に、無線ＬＡＮによって通信を行うためのアンテナ１３を備えている。通信装置１は、内蔵された電池３４（図２参照）から供給される電力や、ＡＣアダプタ（図示外）を介してＡＣ電源によって供給される電力によって駆動する。
【００３４】
図２および図３を参照し、通信装置１の電気的構成について説明する。図２に示すように、通信装置１は、ＣＰＵ２１とＲＯＭ２２とＲＡＭ２３とフラッシュメモリ２４とを備えている。ＣＰＵ２１は、通信装置１の、各種の制御処理を司る。ＣＰＵ２１はＲＯＭ２２、ＲＡＭ２３、およびフラッシュメモリ２４と電気的に接続されている。ＣＰＵ２１はＲＯＭ２２、ＲＡＭ２３、およびフラッシュメモリ２４の記憶領域にアクセスできる。
【００３５】
ＲＯＭ２２は、プログラム記憶領域２２１を少なくとも備えている。プログラム記憶領域２２１には、ＣＰＵ２１が各種の処理等を実行するために必要なプログラムデータが記憶される。
【００３６】
ＲＡＭ２３は、グループ記憶領域２３１を少なくとも備えている。グループ記憶領域２３１には、後述するグループデータテーブル５４（以下、グループＤＴ５４という）、または、後述するＳ１２６の処理で設定されるグループが記憶される。
【００３７】
図３に示すように、フラッシュメモリ２４は、使用回数データテーブル記憶領域２４１、グループ数データテーブル記憶領域２４２、重み付けデータテーブル記憶領域２４３、再通信開始時間記憶領域２４４、マスタースレーブ設定記憶領域２４５を少なくとも備えている。
【００３８】
使用回数データテーブル記憶領域２４１には、後述する使用回数データテーブル５１（以下、使用回数ＤＴ５１という。）が記憶される。グループ数データテーブル記憶領域２４２には、後述するグループ数データテーブル５２（以下、グループ数ＤＴ５２という。）が記憶される。重み付けデータテーブル記憶領域２４３には、後述する重み付けデータテーブル５３（以下、重み付けＤＴ５３という。）が記憶される。再通信開始時間記憶領域２４４には、後述する図７のＳ１２９の処理によって設定される再通信の開始の時間が記憶される。マスタースレーブ設定記憶領域２４５には、後述する変形例におけるＳ３０３の処理およびＳ３０４の処理（図１４参照）によって設定されるマスター装置であることを示すデータ、またはスレーブ装置であることを示すデータが記憶される。
【００３９】
図２に示すように、通信装置１は、無線通信によって公衆回線網やインターネット網に接続して通信を行うアンテナ１３を備えている。また、通信装置１は、無線通信を行う駆動制御を司る通信制御部３２を備えている。通信制御部３２は、通信データを送信する送信モードと、受信信号強度（ＲＳＳＩ）の検出や通信データの受信等を行う受信モードとを切り替えることができる。ＣＰＵ２１は、アンテナ１３と通信制御部３２とを介して、無線通信によって公衆回線網やインターネット網を介して通信データの送受信を行うことができる。また、ＣＰＵ２１は、アンテナ１３と通信制御部３２とを介して、受信信号強度の検出を行うことができる。
【００４０】
通信装置１は、ディスプレイ１１を備えている。ＣＰＵ２１は、ディスプレイ１１に所望の画像を表示させることができる。通信装置１は、利用者からの指示が入力されるタッチパネル１２を備えている。ＣＰＵ２１は、タッチパネル１２を介して入力された利用者の指示を認識することができる。
【００４１】
通信装置１、タイマ３３を備えている。ＣＰＵ２１は、タイマ３３を利用して、時間を測定することができる。通信装置１は、電池３４と、電池３４から供給された電力を他の回路に供給する電源制御部３５とを備えている。上述のＣＰＵ２１やその他の各種デバイスは、電源制御部３５を介して電池３４によって供給される電力によって駆動する。なお、通信装置１は、ＡＣアダプタ（図示外）と接続され、ＡＣ電源からの電力を通信装置１に供給するためのジャックを備えているが図示を省略している。通信装置１は、ＡＣ電源から供給される電力によっても駆動することができる。
【００４２】
次に、本実施形態の通信装置１の通信方式について説明する。なお、この通信方式は一例である。通信装置１は、無線ＬＡＮによって通信を行うことができる。無線ＬＡＮの周波数帯域は２４００ＭＨｚ〜２５００ＭＨｚである。そして、この２４００ＭＨｚ〜２５００ＭＨｚの周波数帯域に、１４個のチャネルが存在する。この１４個のチャネルをそれぞれ、周波数の小さいチャネルから順にｃｈ１〜ｃｈ１４という。各チャネルには、所定の周波数の幅の帯域が割り当てられており、その周波数の幅の中心を中心周波数という。無線ＬＡＮによって通信を行う際には、通信を行う装置は、各チャネルに割り当てられた周波数の幅において、疑似ランダム符号を用いて通信を行う。つまり、通信を行う装置は、いわゆる直接スペクトラム拡散方式で通信を行う。
【００４３】
ｃｈ１の中心周波数は２４１２ＭＨｚであり、ｃｈ２の中心周波数は２４１７ＭＨｚである。また同様に、ｃｈ３は２４２２ＭＨｚ、ｃｈ４は２４２７ＭＨｚ、ｃｈ５は２４３２ＭＨｚ、ｃｈ６は２４３７ＭＨｚ、ｃｈ７は２４４２ＭＨｚ、ｃｈ８は２４４７ＭＨｚ、ｃｈ９は２４５２ＭＨｚ、ｃｈ１０は２４５７ＭＨｚ、ｃｈ１１は２４６２ＭＨｚ、ｃｈ１２は２４６７ＭＨｚ、ｃｈ１３は２４７２ＭＨｚ、ｃｈ１４は２４８４ＭＨｚである。
【００４４】
次に、図４〜図６を参照して、各種のデータテーブル５１〜５３について説明する。各種のデータテーブルに登録されている情報は、利用者が任意に設定することが可能である。なお、各種のデータテーブル５１〜５３の説明において使用している数値は全て例示である。
【００４５】
まず、図４を参照して、使用回数ＤＴ５１の一例について説明する。使用回数ＤＴ５１は、使用回数データテーブル記憶領域２４１（図３参照）に記憶されている。通信装置１が設置されている環境では、複数の通信を行う装置が存在している。そして、複数の通信を行う装置が、チャネルを使用して通信を行っている。使用回数ＤＴ５１は、時間毎の各チャネルが、通信装置１以外の複数の通信を行う装置（以下、他の装置という。）によって使用された回数（以下、使用回数という。）を表している。
【００４６】
以後の説明の時間の記載では、例えば、８時３０分を「８：３０」のように表わす。また、使用回数の測定が行われた時間を「Ｔ」で表す。各チャネルの使用回数は、一日に複数回測定されているが、図４には、そのうちの、８：３０≦Ｔ＜１０：３０の間の時間に測定された使用回数のみを記載している。
【００４７】
通信装置１は、時間毎に各チャネルが他の装置によって使用されているか否かの測定を行う。そして、測定された結果を、測定した時間毎に分けて使用回数ＤＴ５１に記憶する。使用回数ＤＴ５１には、過去１０回分の測定結果が登録されている。この過去１０回分の測定結果は、数日間（例えば、１０日間）に亘って測定された結果である。例えば、図４において、９：００≦Ｔ＜９：１０におけるｃｈ１では、使用回数が「１」となっている。これは、過去１０回の測定の結果、ｃｈ１が他の装置によって１回使用されていたことを表している。また、９：５０≦Ｔ＜１０：００におけるｃｈ４では、使用回数が「１０」となっている。これは、過去１０回の測定の結果、ｃｈ４が他の装置によって１０回使用されていたことを表している。
【００４８】
この使用回数ＤＴ５１を作成するために、通信装置１は、１日に複数回、ｃｈ１〜ｃｈ１４のスキャンを実行し、使用回数ＤＴ５１を更新して記憶する。例えば、メイン処理（図７及び図８参照）が実行された場合では、後述するＳ１１５の処理およびＳ１２０の処理（図８参照）において、メイン処理において測定された、各チャネルの使用状況の結果を使用回数ＤＴ５１に登録し、更新記憶する。また、メイン処理が実行されない場合でも、１日に複数回、ｃｈ１〜ｃｈ１４のそれぞれについて、後述するメイン処理におけるＳ１１２、Ｓ１１３、Ｓ１１４、Ｓ１１５、およびＳ１２０と同様の処理が行われることによって、各チャネルの使用状況の結果を使用回数ＤＴ５１に登録し、更新記憶する。
【００４９】
図４に示すように、使用回数ＤＴ５１において、時間は、８：３０≦Ｔ＜９：００、９：００≦Ｔ＜９：１０、９：１０≦Ｔ＜９：２０、９：２０≦Ｔ＜９：３０、９：３０≦Ｔ＜９：４０、９：４０≦Ｔ＜９：５０、９：５０≦Ｔ＜１０：００、および１０：００≦Ｔ＜１０：３０に区切られている。
【００５０】
８：３０≦Ｔ＜９：００のように３０分間隔で区切られている時間と、９：００≦Ｔ＜９：１０のように１０分間隔で区切られている時間とがある。各チャネルの使用状況が平常時であるとき、具体的には、全てのチャネルの過去１０回の使用回数の合計が３０分間に８０回以下であるときは、３０分間隔で区切られている。また、各チャネルの使用状況が混雑しているとき、具体的には、全てのチャネルの過去１０回の使用回数の合計が３０分間に８０回以上であるときは、３０分間隔ではなく、１０分間隔に区切られている。つまり、通信状況が平常時の場合は、３０分間隔で時間を区切り、通信状況が混雑している場合は、１０分間隔で時間を区切っている。３０分間の通信状況が混雑しているときには、例えば、３０分間のうち１０分間だけに通信が集中している場合、他の２０分間では、通信可能であるにもかかわらず、使用可能なチャネルを決定できないおそれがある。このため、３０分間より短い１０分間で時間を区切って、使用可能なチャネルを決定しやすくしている。使用回数ＤＴ５１では、通信状況である「平常時」および「混雑時」を示すデータが、３０分間隔毎に対応付けられている。
【００５１】
図４に示すように、８：３０≦Ｔ＜９：００では、各チャネルの使用回数は、ｃｈ１〜ｃｈ１４の順に、２，４，４，５，４，４，０，５，１，２，５，４，６，６である。９：００≦Ｔ＜９：１０では、各チャネルの使用回数は、ｃｈ１〜ｃｈ１４の順に、１，４，９，１，１０，９，１，５，１，１，１，８，２，９である。他の各時間についても図４に示す様に、記憶されている。また、８：３０≦Ｔ＜９：００および１０：００≦Ｔ＜１０：３０の時間では、通信状況「平常時」を示すデータが対応付けられている。また、９：００≦Ｔ＜９：３０および９：３０≦Ｔ＜１０：００では、通信状況「混雑時」を示すデータが対応付けられている。
【００５２】
次に、図５を参照して、グループ数ＤＴ５２の一例について説明する。グループ数ＤＴ５２は、グループ数データテーブル記憶領域２４２（図３参照）に記憶されている。グループ数データテーブル記憶領域２４２は、後述するメイン処理のＳ１０６の処理（図７参照）において参照され、後述するグループＤＴ５４（図９参照）が作成される。
【００５３】
図５に示すように、グループ数ＤＴ５２には、通信状況とグループ数とが対応付けられて登録されている。通信状況は、混雑時と平常時とに分割されている。混雑時の欄は、使用回数ＤＴ５１（図４参照）における使用状況「混雑時」を示すデータが対応付けられている時間において、グループ数ＤＴ５２が使用される場合に参照される。また、平常時の欄は、使用回数ＤＴ５１における使用状況「平常時」を示すデータが対応付けられている時間において、グループ数ＤＴ５２が使用される場合に参照される。
【００５４】
図５において、通信状況「混雑時」は、グループ数「４」に対応付けられている。また、通信状況「平常時」は、グループ数「２」に対応付けられている。グループ数は、Ｓ１０６の処理（図７参照）において、グループ分けを行う際に作成するグループの数を表している。Ｓ１０６の処理におけるグループ分けについての詳細は後述する。
【００５５】
次に、図６を参照して重み付けＤＴ５３の一例について説明する。重み付けＤＴ５３は、重み付けデータテーブル記憶領域２４３（図３参照）に記憶されている。図６に示すように、重み付けＤＴ５３には、第一〜第五条件と、重みとが対応付けられている。重みとは、一種の優先度を表している。数値が大きいほど、優先度が高い。重み付けＤＴ５３は、後述するメイン処理のＳ１０９の処理（図７参照）において使用され、Ｓ１１０の処理（図８参照）において決定されるスキャンの順番に反映される。Ｓ１０９およびＳ１１０の処理の詳細については、後述する。
【００５６】
重み付けＤＴ５３において、第一条件には、重み「５」が対応付けられている。第二条件には、重み「４」が対応付けられている。第三条件には、重み「３」が対応付けられている。第四条件には、重み「２」が対応付けられている。第五条件には、重み「１」が対応付けられている。
【００５７】
以下、第一〜第五条件の内容について説明する。第一〜第五条件の内容は、予め設定され、重み付けＤＴ５３に登録されている。なお、第一〜第五条件の内容については、図６での図示を省略している。第一条件の内容は、「両隣のチャネルの使用回数が３回以下のチャネル」である。つまり、両隣のチャネルが使用されていない可能性が高いチャネルである。両隣のチャネルが使用されていなければ、両隣のチャネルにおいて、他の装置が通信を行う際の電波が存在しない。このため、他の装置が通信を行う際の電波の影響を受けにくく、通信品質が良好になり、かつ他の通信機器にも電波干渉を与えにくくなる。このため、第一条件に重みを与えることによって、通信品質の高いチャネルを優先することができる。
【００５８】
第二条件の内容は、「両隣のチャネルのうち、どちらか一方の使用回数が３回以下のチャネル」である。この場合、両隣のチャネルのうち、どちらか一方のチャネルが使用されていない可能性が高い。このため、両隣のチャネルのうち、どちらか一方のチャネルにおいて、他の装置が通信を行う際の電波が存在しない可能性が高く、通信品質が良好になり、かつ他の通信機器にも電波干渉を与えにくくなる。このため、第二条件に重みを与えることによって、通信品質の高いチャネルを優先することができる。
【００５９】
第三条件の内容は「前後３０分間以上継続して３回以下のチャネル」である。つまり、前後３０分間使用されていない可能性が高いチャネルである。このようなチャネルは、現在の時間においても使用されていない可能性が高い。このため、第三条件に重みを与えることによって、使用されていない可能性が高いチャネルを優先することができる。
【００６０】
第四条件の内容は、「中心周波数が通信可能な周波数帯域における最大の周波数と最小の周波数とからそれぞれ２０ＭＨｚ以上離れたチャネル」である。本実施形態では、無線ＬＡＮの規格である２４００ＭＨｚ〜２５００ＭＨｚの範囲に、複数のチャネルが存在する。２４００ＭＨｚ〜２５００ＭＨｚの範囲は、規格で決定されている。しかし、２４００ＭＨｚより小さい周波数および２５００ＭＨｚより大きい周波数は、無線ＬＡＮの規格ではない。このため、他の様々な機器の不要電波が飛び交っているおそれがあり、この電波の影響を受けて通信品質が劣化するおそれがある。このため、最大の周波数と最小の周波数とからそれぞれ２０ＭＨｚ以上離れたチャネルを選択することによって、他の様々な機器の電波の影響を受けないようにすることができ、通信品質を良好に保つことができる。このため、第四条件に重みを与えることによって、通信品質を良好に保つことができるチャネルを優先することができる。
【００６１】
第五条件の内容は、「現在の時間帯と同じ時間帯の使用回数が３回以下のチャネル」である。つまり、現在の時間において使用されていない可能性が高いチャネルである。第五条件に重みを与えることによって、使用されていない可能性が高いチャネルを優先することができる。なお、第一〜第五条件における使用回数「３回」が本発明の第一頻度に相当し、任意に変更可能である。また、第一〜第五条件において第一頻度の値を同一にする必要はない。
【００６２】
次に、図７および図８に示すフローチャートを参照して、本実施形態の通信装置１が行うメイン処理について説明する。メイン処理は、ＲＯＭ２２のプログラム記憶領域２２１に記憶されているプログラムに従ってＣＰＵ２１が実行する。
【００６３】
図７に示すように、ＣＰＵ２１は、各種のデータの初期化を行い、各種のパラメータ等をリセットする（Ｓ１０１）。次いで、ＣＰＵ２１は、タッチパネル１２（図２参照）を介して利用者からの通信開始の指示が入力されたか否かを判断する（Ｓ１０２）。ＣＰＵ２１は、通信開始の指示が入力されていないと判断した場合には（Ｓ１０２：ＮＯ）、Ｓ１２９の処理（後述）においてＣＰＵ２１が設定する再通信の開始の時間（以下、「再通信開始時間」という。）になったか否かを判断する（Ｓ１０３）。再通信開始時間は、チャネルが混雑しており、通信データを送信しなかった場合に、Ｓ１２９の処理（後述）においてＣＰＵ２１が設定して再通信開始時間記憶領域２４４に記憶する時間である。ＣＰＵ２１は、再通信開始時間記憶領域２４４に記憶されている再通信開始時間になっていないと判断した場合には（Ｓ１０３：ＮＯ）、Ｓ１０２の処理に戻り、処理を繰り返す。
【００６４】
ＣＰＵ２１は、再通信開始時間になったと判断した場合には（Ｓ１０３：ＹＥＳ）、使用回数ＤＴ５１（図４参照）を参照し、現在の時間と同じ時間帯において、使用回数が所定の使用回数（以下、所定使用回数という。）以下のチャネルを特定することで、使用可能なチャネルを推定する（Ｓ１０４）。所定使用回数は、例えば、使用回数ＤＴ５１を作成する際の測定回数の８０％、すなわち、測定回数が１０回の場合には、８回である。なお、ＣＰＵ２１は、Ｓ１０２の処理において、利用者によって通信開始の指示が入力されたと判断した場合にも（Ｓ１０２：ＹＥＳ）、Ｓ１０４の処理を行う。
【００６５】
ＣＰＵ２１は、Ｓ１０４の処理において使用可能なチャネルであると推定したチャネルがあるか否かを判断する（Ｓ１０５）。ＣＰＵ２１は、使用可能なチャネルであると推定したチャネルがあると判断した場合には（Ｓ１０５：ＹＥＳ）、グループ分けを行う（Ｓ１０６）。ＣＰＵ２１は、グループ数データテーブル記憶領域２４２に記憶されているグループ数ＤＴ５２（図５参照）を参照し、グループ数を決定する（Ｓ１０６）。そして、ＣＰＵ２１は、決定したグループ数に対応した数のグループに、Ｓ１０４の処理において推定した使用可能なチャネルを割り当て、グループＤＴ５４（図９参照、後述）を作成し、グループ記憶領域２３１に記憶する（Ｓ１０６）。グループの分け方は、具体例を示しながら後述する。
【００６６】
例えば、現在の時間が９：００であり、所定使用回数は、測定回数の８０％の回数であるとする。つまり、使用回数ＤＴ５１（図４参照）において、測定回数は１０回であるので、その所定使用回数は、８回であるとする。この場合において、ＣＰＵ２１が利用者によって通信開始の指示が入力されたと判断すると（Ｓ１０２：ＹＥＳ）、ＣＰＵ２１は、使用可能なチャネルの推定を行う（Ｓ１０４）。ＣＰＵ２１は、使用回数ＤＴ５１（図４参照）を参照し、現在の時間９：００と同じ時間帯の各チャネルの使用回数を参照する（Ｓ１０４）。図４に示すように、９：００≦Ｔ＜９：１０における使用回数が、所定回数である８回以下であるチャネルは、ｃｈ１、ｃｈ２、ｃｈ４、ｃｈ７、ｃｈ８、ｃｈ９、ｃｈ１０、ｃｈ１１、ｃｈ１２、およびｃｈ１３であるので、ＣＰＵ２１は、これらを使用可能なチャネルであると推定する（Ｓ１０４）。
【００６７】
ＣＰＵ２１は、Ｓ１０４の処理において使用可能なチャネルであると推定したチャネルがあると判断し（Ｓ１０５：ＹＥＳ）、グループ分けを行う（Ｓ１０６）。前述したように、グループ数ＤＴ５２（図５参照）は、混雑時と平常時とに分けられ、それぞれにグループ数が対応付けられている。使用回数ＤＴ５１（図４参照）において、現在の時間９：００と同じ時間を含む９：００≦Ｔ＜９：１０は、混雑時である。グループ数ＤＴ５２（図５参照）において、混雑時に対応するグループ数は「４」であるため、ＣＰＵ２１は、グループ数を「４」に決定する（Ｓ１０６）。そして、４つのグループは、それぞれ、使用回数で分割される。使用回数をＸとする。ここでは、例えば、ＣＰＵ２１は、「０≦Ｘ≦３」を満たす使用回数のチャネルを第一グループに対応付け、「３＜Ｘ≦４」を満たす使用回数のチャネルを第二グループに対応付けるとする。ＣＰＵ２１は、「４＜Ｘ≦６」を満たす使用回数のチャネルを第三グループに対応付け、「６＜Ｘ≦８」を満たす使用回数のチャネルを第四グループに対応付けるとする。
【００６８】
この場合、ＣＰＵ２１は、グループＤＴ５４（図９参照）を作成し、グループ記憶領域２３１に記憶する（Ｓ１０６）。図９のグループＤＴ５４に示すように、ＣＰＵ２１は、第一グループに、「０≦Ｘ≦３」を満たすｃｈ1、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、ｃｈ１１、およびｃｈ１３を対応付け、第二グループに、「３＜Ｘ≦４」を満たすｃｈ２を対応付ける。ＣＰＵ２１は、第三グループに、「４＜Ｘ≦６」を満たすｃｈ８を対応付け、第四グループに、「６＜Ｘ≦８」を満たすｃｈ１２を対応付ける（Ｓ１０６）。
【００６９】
ＣＰＵ２１は、グループ分けを行ったら（Ｓ１０６）、次いで、スキャンを行うグループを決定する（Ｓ１０７）。ＣＰＵ２１は、Ｓ１０７の処理において、Ｓ１０６の処理において作成したグループの中から、使用回数の少ないグループを優先して選択する。使用回数の少ないグループをスキャンすれば、通信可能なチャネルを早期に発見できる可能性が高いからである。なお、ＣＰＵ２１が後述するＳ１２６の処理においてグループを作成した場合には、ＣＰＵ２１は、Ｓ１２６の処理において作成したグループを選択する。ＣＰＵ２１は、後述するＳ１１７の処理において、選択していないグループがあると判断するたびに、Ｓ１０７の処理を実行するが、一度決定したグループを重複して決定しない。
【００７０】
次いで、ＣＰＵ２１は、Ｓ１０７の処理において決定したグループの中で、使用回数が同一のチャネルがあるか否かを判断する（Ｓ１０８）。ＣＰＵ２１が、使用回数が同一のチャネルがあると判断した場合には（Ｓ１０８：ＹＥＳ）、ＣＰＵ２１は、優先順位決定処理を行う（Ｓ１０９）。ＣＰＵ２１は、使用回数が同一のチャネル同士の種々の条件を比較して、通信品質のより高いチャネルや、使用されていない可能性がより高いチャネルを優先してスキャンを実行するように、順位を決定する（Ｓ１０９）。ＣＰＵ２１は、優先順位決定処理を、重み付けＤＴ５３（図６参照）を参照して行うが、詳細については、具体例を示しながら後述する。
【００７１】
次いで、図８に示すように、ＣＰＵ２１は、スキャンの順番を決定する（Ｓ１１０）。なお、ＣＰＵ２１は、Ｓ１０８の処理において、使用回数が同一のチャネルがないと判断した場合にも（Ｓ１０８：ＮＯ）、Ｓ１１０の処理を行う。ＣＰＵ２１は、Ｓ１０７の処理で決定したグループの中で、使用回数の少ないチャネルから順番に、スキャンの順番を決定する（Ｓ１１０）。また、ＣＰＵ２１は、使用回数が同一のチャネルについては、Ｓ１０９の処理で決定した優先順位で、スキャンの順番を決定する。
【００７２】
例えば、現在の時間を９：００とした場合の一例について述べる。前述した図９に示すグループＤＴ５４のように、ＣＰＵ２１がグループ分けを行った場合、ＣＰＵ２１は、使用回数の少ないグループである第一グループを選択する（Ｓ１０７）。次いで、第一グループのうち、ｃｈ１、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１における使用回数は、全て「１」であり、同一であるので（図４参照）、ＣＰＵ２１は、使用回数が同一のチャネルがあると判断し（Ｓ１０８：ＹＥＳ）、優先順位決定処理を行う（Ｓ１０９）。ＣＰＵ２１は、重み付けＤＴ５３（図６参照）を参照し、チャネル毎に、チャネルの状況に対応する重みの和である合計の重みを算出し、合計の重みが大きいチャネルの順に優先順位を決定する（Ｓ１０９）。
【００７３】
ｃｈ１、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１のうち、第一条件である「両隣のチャネルの使用回数が３回以下のチャネル」を満たすチャネルは、ｃｈ１０である。ｃｈ１０の両隣のチャネルであるｃｈ９、ｃｈ１１は、両方とも、使用回数が３回以下であるからである（図４参照）。このため、ＣＰＵ２１は、ｃｈ１０について、重み「５」を加算する。第二条件である「両隣のチャネルのうち、どちらか一方の使用回数が３回以下のチャネル」の条件を満たすチャネルは、ｃｈ９およびｃｈ１１である。ｃｈ９の隣のｃｈ１０の使用回数が３回以下であり、ｃｈ８の使用回数が３回より大きいからである（図４参照）。また、ｃｈ１１の隣のｃｈ１０の使用回数が３回以下であり、ｃｈ１１の使用回数が３回より大きいからである（図４参照）。このため、ＣＰＵ２１は、ｃｈ９およびｃｈ１１について、重み「４」を加算する。
【００７４】
第三条件である「前後３０分間以上継続して３回以下のチャネル」の条件を満たすチャネルは、ｃｈ１、ｃｈ７、ｃｈ９、ｃｈ１０である（図４参照）。このため、ＣＰＵ２１は、ｃｈ１、ｃｈ７、ｃｈ９、およびｃｈ１０について、重み「３」を加算する。第四条件である「中心周波数が通信可能な周波数帯域における最大の周波数と最小の周波数とからそれぞれ２０ＭＨｚ以上離れたチャネル」という条件を満たすチャネルは、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１である。前述したように本実施形態における無線ＬＡＮの周波数帯域は２４００ＭＨｚ〜２５００ＭＨｚである。つまり、最大の周波数は２５００ＭＨｚであり、最小の周波数は２４００ＭＨｚである。そして、中心周波数が最大の周波数と最小の周波数とからそれぞれ２０ＭＨｚ以上離れたチャネルとは、中心周波数が２４２０ＭＨｚ〜２４８０Ｍｚの間にあるチャネルである。ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１の中心周波数は、それぞれ、２４３７ＭＨｚ、２４４２ＭＨｚ、２４５２ＭＨｚ、２４５７ＭＨｚ、および２４６２ＭＨｚである。このため、第四条件を満たす。ＣＰＵ２１は、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１について、それぞれ重み「２」を加算する。
【００７５】
また、第五条件である「現在の時間帯と同じ時間帯の使用回数が３回以下のチャネル」の条件を満たすチャネルは、ｃｈ１、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１である（図４参照）。ＣＰＵ２１は、ｃｈ１、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１について、それぞれ重み「１」を加算する。
【００７６】
以上のようにして、ＣＰＵ２１は、それぞれのチャネルに重みを加算する。ｃｈ１には、重み「１」、「３」が加算されるので、合計の重みは、「４」となる。ｃｈ４には、重み「１」、「２」が加算されるので、合計の重みは「３」となる。ｃｈ７には、重み「１」、「２」、「３」が加算されるので、合計の重みは「６」となる。ｃｈ９には、重み「１」、「２」、「３」、「４」が加算されるので、合計の重みは「１０」となる。ｃｈ１０には、重み「１」、「２」「３」、「５」が加算されるので、合計の重みは、「１１」となる。ｃｈ１１には、重み「１」、「２」、「４」が加算されるので、合計の重みは、「７」となる。以上の結果、合計の重みが大きいチャネルの順に、ｃｈ１０、ｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４となる。そして、ＣＰＵ２１は、この順番で優先順位を決定する（Ｓ１０９）。
【００７７】
次いで、ＣＰＵ２１は、スキャンの順番を決定する（Ｓ１１０）。ＣＰＵ２１は、Ｓ１０７の処理において決定したグループの中で、使用回数の少ないチャネルの順番で、スキャンの順番を決定する。ＣＰＵ２１がＳ１０７の処理において決定したグループの中で、使用回数の少ないチャネルは、使用回数が「１」であるｃｈ１、ｃｈ４、ｃｈ７、ｃｈ９、ｃｈ１０、およびｃｈ１１である。ＣＰＵ２１は、これらのチャネルについて、Ｓ１０９の処理において決定した順番であるｃｈ１０、ｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４の順番でスキャンの順番を決定する（Ｓ１１０）。
【００７８】
また、次に使用回数の少ないチャネルは、使用回数が２回であるｃｈ１３である（図４参照）。このため、ＣＰＵ２１は、スキャンの順番を、ｃｈ１０、ｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４、ｃｈ１３の順番であると決定する（Ｓ１１０）。
【００７９】
ＣＰＵ２１は、スキャンの順番を決定したら（Ｓ１１０）、次いで、通信制御部３２を制御し、通信制御部３２を受信モードに設定する（Ｓ１１１）。受信モードとは、ＣＰＵ２１が電波を検知できる状態のことである。次いで、ＣＰＵ２１は、通信制御部３２を制御し、チャネルの設定を行い、受信信号強度の測定を開始する（Ｓ１１２）。チャネルの設定とは、ＣＰＵ２１が所望のチャネルの使用状況を検知するために、所望のチャネルの周波数の受信信号強度を測定可能な状態にすることである。ＣＰＵ２１は、Ｓ１１６の処理（後述）においてグループ内でスキャンされていないチャネルがあると判断するたびに、Ｓ１１２の処理を実行し、Ｓ１１０の処理で決定したスキャンの順番で、チャネルの設定を行い、受信信号強度の測定を開始する。
【００８０】
次いで、ＣＰＵ２１は、所定の時間の間、受信信号強度を測定する（Ｓ１１３）。所定の時間は、例えば、０．１秒である。次いで、ＣＰＵ２１は、受信信号強度が所定の閾値より小さい状態が、Ｓ１１３の処理で受信信号強度を測定した所定時間の間継続したか否かを判断する（Ｓ１１４）。所定の閾値は、チャネルが他の装置によって使用されているか否かを判断するために設けられており、例えば、アンテナ１３で受信され、通信制御部３２を介して、ＣＰＵ２１に入力される信号の電圧値である。例えば、ＣＰＵ２１が３．０Ｖで駆動している場合、所定の閾値は、３．０Ｖの２０％である０．６Ｖである。所定の閾値が設けられていることで、ＣＰＵ２１がホワイトノイズ等の雑音を誤検出して、チャネルが他の装置に使用されていると誤った判断をすることが防止される。他の装置がチャネルを使用していない場合には、受信信号強度が所定の閾値より小さい状態が所定の時間の間継続する。一方、他の装置がチャネルを使用している場合には、所定の時間の間に、受信信号強度が所定の閾値以上になるタイミングがある。つまり、ＣＰＵ２１は、Ｓ１１２の処理で設定したチャネルが、使用可能なチャネルであるか否かを判断している（Ｓ１１４）。
【００８１】
なお、他の装置が直接スペクトラム拡散で通信をしている場合、同一チャネル内で、疑似ランダム符号を用いて通信を行っている。このため、仮に、ＣＰＵ２１が、Ｓ１１３の処理において、短い時間（例えば、０．００５秒）の受信信号強度の測定を行った場合、疑似ランダム符号発生によって通信を行っている他の装置の電波を検出できないおそれがある。このため、ＣＰＵ２１は、所定時間の間計測を行い（Ｓ１１３）、その間に、一度でも所定の閾値を超えれば、他の装置によってチャネルが使用されていると判断することになる（Ｓ１１４：ＮＯ）。
【００８２】
受信信号強度が所定の閾値より小さい状態が、ＣＰＵ２１がＳ１１３の処理で受信信号強度を測定した所定時間の間継続しなかった場合には、チャネルは、他の装置によって使用されているため、ＣＰＵ２１は、使用可能なチャネルではないと判断する（Ｓ１１４：ＮＯ）。続いて、ＣＰＵ２１は、このチャネルを他の装置によって使用されているチャネルとして、使用回数ＤＴ５１（図４参照）に登録し、使用回数ＤＴ５１（図４参照）を更新記憶する（Ｓ１１５）。つまり、ＣＰＵ２１は、使用回数ＤＴ５１における過去１０回の使用回数を更新する（Ｓ１１５）。
【００８３】
次に、ＣＰＵ２１は、Ｓ１０７の処理で決定したグループ内で、スキャンを実行していないチャネルがあるか否かを判断する（Ｓ１１６）。ＣＰＵ２１は、Ｓ１０７の処理で決定したグループ内でスキャンを実行していないチャネルがあると判断した場合には（Ｓ１１６：ＹＥＳ）、Ｓ１１２の処理に戻り、チャネルを変更してスキャンを継続する。ＣＰＵ２１は、Ｓ１０７の処理で決定したグループ内でスキャンを実行していないチャネルがないと判断した場合には（Ｓ１１６：ＮＯ）、スキャンを実行していないグループがあるか否かを判断する（Ｓ１１７）。ＣＰＵ２１は、スキャンを実行していないグループがあると判断した場合には（Ｓ１１７：ＹＥＳ）、次いでＳ１０７に戻り、処理を繰り返す（Ｓ１０７）。つまり、Ｓ１０７の処理で決定されたグループ内のチャネルが全て他の装置によって使用されていたので（Ｓ１１６：ＮＯ）、スキャンが実行されていないグループがあれば（Ｓ１１７：ＹＥＳ）、グループが新たに決定され（Ｓ１０７）、チャネルのスキャンが継続される。
【００８４】
ＣＰＵ２１が、スキャンを実行していないチャネルがないと判断した場合には（Ｓ１１７：ＮＯ）、全てのグループのチャネルが他の装置によって使用されている。このため、ＣＰＵ２１は、使用可能なチャネルがないためデータを送信できなかった旨をディスプレイ１１に表示し、スキャンを終了する（Ｓ１１８）。ＣＰＵ２１は、例えば、「データを送信できませんでした」等の表示をディスプレイ１１に表示する。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。
【００８５】
Ｓ１１４の処理において、受信信号強度が所定の閾値より小さい状態が、所定時間の間継続した場合には、ＣＰＵ２１は、使用可能なチャネルであると判断し（Ｓ１１４：ＹＥＳ）、使用可能なチャネルを、通信を行うチャネルとして決定する（Ｓ１１９）。次いで、ＣＰＵ２１は、Ｓ１１４の処理で使用可能なチャネルであると判断したチャネルを、他の装置によって使用されていなかったチャネルであるとして使用回数ＤＴ５１に登録し、使用回数ＤＴ５１（図４参照）を更新記憶する（Ｓ１２０）。つまり、ＣＰＵ２１は、使用回数ＤＴ５１における過去１０回の使用回数を更新する。
【００８６】
次いで、ＣＰＵ２１は、通信を開始し、データを送信する（Ｓ１２１）。Ｓ１２１の処理では、ＣＰＵ２１が通信制御部３２を制御し、通信制御部３２を送信モードに設定する。送信モードとは、ＣＰＵ２１がデータを送信できる状態のことである。そして、ＣＰＵ２１は、データの送信を行う。ＣＰＵ２１は、データの送信を行ったら、送信モードの設定を解除し、通信を終了する（Ｓ１２２）。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。
【００８７】
例えば、Ｓ１１３の処理において測定を行う所定の時間が０．１秒であるとし、Ｓ１１４の処理における受信信号強度の閾値が０．６Ｖであるとする。前述の例示のように、ＣＰＵ２１が、スキャンの順番を、ｃｈ１０、ｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４、ｃｈ１３の順番であると決定すると（Ｓ１１０）、次いで、ＣＰＵ２１は、通信制御部３２を受信モードに設定する（Ｓ１１１）。次いで、ＣＰＵ２１は、最初にスキャンを実行するｃｈ１０について受信信号強度の測定を開始する（Ｓ１１２）。ＣＰＵ２１は、受信信号強度の測定を所定の時間である０．１秒間継続し（Ｓ１１３）、受信信号強度が所定の閾値である０．６Ｖより小さい状態が、Ｓ１１３の処理で受信信号強度を測定した所定時間の間継続したか否かを判断する（Ｓ１１４）。
【００８８】
ここで、ｃｈ１０は使用中であり、ＣＰＵ２１が、０．１秒の間に、０．６Ｖ以上の受信信号強度を検出したとする。この場合、受信信号強度が０．６Ｖより小さい状態が、Ｓ１１３の処理で受信信号強度が測定された０．１秒間継続しなかったので、ＣＰＵ２１は、使用可能なチャネルではないと判断する（Ｓ１１４：ＮＯ）。続いて、ＣＰＵ２１は、ｃｈ１０は他の装置によって使用されているチャネルであるとして、使用回数ＤＴ５１（図４参照）に登録し、使用回数ＤＴ５１に更新記憶する（Ｓ１１５）。つまり、ＣＰＵ２１は、使用回数ＤＴ５１におけるｃｈ１０の過去１０回の使用回数を更新する。次に、ＣＰＵ２１は、Ｓ１０７の処理で決定した第一グループ内でスキャンを実行していないチャネルがあると判断し（Ｓ１１６：ＹＥＳ）、ｃｈ９を選択し（Ｓ１１２）、スキャンを継続する。
【００８９】
ｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４、ｃｈ１３が全て他の装置によって使用されている場合、ＣＰＵ２１は、Ｓ１１２〜Ｓ１１６の処理をｃｈ９、ｃｈ１１、ｃｈ７、ｃｈ１、ｃｈ４、ｃｈ１３について繰り返した後、第一グループ内で、スキャンを実行していないチャネルがないと判断する（Ｓ１１６：ＮＯ）。そして、ＣＰＵ２１は、第二〜第四グループ（図９参照）のチャネルについて、スキャンを実行していないので、スキャンを実行していないチャネルがあると判断し（Ｓ１１７：ＹＥＳ）、第二グループをスキャンを実行するグループとして新たに決定し（Ｓ１０７：ＮＯ）、処理を繰り返す。
【００９０】
第二〜第四グループ（図９参照）のチャネルが全て使用されている場合には、ＣＰＵ２１は、第二〜第四グループのチャネルのスキャンを実行した後、スキャンを実行していないチャネルはないと判断する（Ｓ１１７：ＮＯ）。次いで、ＣＰＵ２１は、例えば、「データを送信できませんでした」等の表示をディスプレイ１１に表示する（Ｓ１１８）。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。
【００９１】
一方、例えば、第一グループのｃｈ９が他の装置によって使用されていなかった場合、受信信号強度が０．６Ｖより小さい状態が０．１秒間継続するので、ＣＰＵ２１は、ｃｈ９が使用可能なチャネルであると判断し（Ｓ１１４：ＹＥＳ）、使用可能なチャネルであるｃｈ９を、通信を行うチャネルとして決定する（Ｓ１１９）。次いで、ＣＰＵ２１は、ｃｈ９を、他の装置によって使用されていなかったチャネルであるとして使用回数ＤＴ５１に登録し、使用回数ＤＴ５１（図４参照）を更新記憶する（Ｓ１２０）。つまり、ＣＰＵ２１は、使用回数ＤＴ５１におけるｃｈ９の過去１０回の使用回数を更新する。
【００９２】
次いで、ＣＰＵ２１は、通信制御部３２を送信モードに設定し、ｃｈ９を使用してデータの送信を行う（Ｓ１２１）。次いで、ＣＰＵ２１は、送信モードの設定を解除し、通信を終了する（Ｓ１２２）。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。
【００９３】
次に、Ｓ１０４の処理において、ＣＰＵ２１が使用可能なチャネルの推定を行った際に、使用可能と推定されるチャネルがなかった場合（Ｓ１０５：ＮＯ）について述べる。この場合、ＣＰＵ２１は、データを送信できる可能性が低い旨のコメントと、利用者に指示を入力してもらうための入力ボタンとをディスプレイ１１に表示する（Ｓ１２３）。ディスプレイ１１に表示されるコメントと入力ボタンの一例を図１０に示す。図１０に示すように、ディスプレイ１１の中央には、コメントとして、「通信混雑のためデータを送信できない可能性があります。指示を入力してください。」と表示されている。このコメントによって、利用者に使用可能なチャネルがない可能性が高いことを報知することができる。コメントの下方には、スキャンの実行を開始してデータ送信の作業を継続するための送信作業継続ボタン１１１と、送信するデータを保存して後で自動的に送信するための自動送信ボタン１１２と、データの送信を中止するための中止ボタン１１３とが表示されている。
【００９４】
次いで、ＣＰＵ２１は、ディスプレイ１１に表示した入力ボタンに対応した位置のタッチパネル１２が利用者によって押下されたことを検出することで、利用者からの指示が入力されたか否かを判断する（Ｓ１２４）。ＣＰＵ２１は、利用者からの指示が入力されていないと判断した場合には（Ｓ１２４：ＮＯ）、Ｓ１２４の処理に戻り、処理を繰り返す。ＣＰＵ２１は、利用者からの指示が入力されたと判断した場合には（Ｓ１２４：ＹＥＳ）、Ｓ１２４の処理において利用者によって押下されたボタンが送信作業継続ボタン１１１であるか否かを判断する（Ｓ１２５）。
【００９５】
使用可能なチャネルがない可能性が高いが、チャネルのスキャンを実行することを利用者が望む場合は、利用者が送信作業継続ボタン１１１を押下する。ＣＰＵ２１は、利用者によって押下されたボタンが送信作業継続ボタン１１１であると判断した場合には（Ｓ１２５：ＹＥＳ）、全てのチャネルを一つのグループとして設定し、グループ記憶領域２３１に記憶する（Ｓ１２６）。以下の説明では、Ｓ１２６の処理によって設定されるグループを第五グループという。次に、ＣＰＵ２１は、Ｓ１０７の処理に進み処理を行う。つまり、ＣＰＵ２１は、第五グループをスキャンを実行するグループとして決定し（Ｓ１０７）、Ｓ１０７〜Ｓ１２２の処理を行う。これによって、使用可能なチャネルがない可能性が高い場合でも、利用者からの指示があればスキャンを実行することができる。
【００９６】
ＣＰＵ２１は、利用者によって押下されたボタンが送信作業継続ボタン１１１ではないと判断した場合には（Ｓ１２５：ＮＯ）、利用者に押下されたボタンが自動送信ボタン１１２であるか否かを判断する（Ｓ１２７）。ＣＰＵ２１は、利用者によって押下されたボタンが自動送信ボタン１１２であると判断した場合には（Ｓ１２７：ＹＥＳ）、次いで、使用回数ＤＴ５１（図４参照）を参照し、使用可能なチャネルがあると推定される時間を特定する（Ｓ１２８）。ＣＰＵ２１は、使用回数ＤＴ５１を参照し、現在の時間に対応する時間より後の時間において、チャネルの使用回数が所定の使用回数（例えば、８回）以下のチャネルが存在する時間を特定することで、使用可能なチャネルがあると推定される時間を特定する（Ｓ１２８）。
【００９７】
次いで、ＣＰＵ２１は、Ｓ１２８の処理において特定した時間を、再通信開始時間として設定し、再通信開始時間記憶領域２４４に記憶する（Ｓ１２９）。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。そして、ＣＰＵ２１は、再通信開始時間になったと判断した場合には（Ｓ１０３：ＹＥＳ）、Ｓ１０４の処理に進み、通信を行うための処理を行う。このようにして、自動でデータが送信される。
【００９８】
ＣＰＵ２１は、Ｓ１２７の処理において、利用者によって押下されたボタンが自動送信ボタン１１２でないと判断した場合には（Ｓ１２７：ＮＯ）、中止ボタン１１３が利用者によって押下されているので、Ｓ１０２の処理に戻り、処理を繰り返す。
【００９９】
例えば、所定使用回数が８回であるとし、現在の時間が９：４０であるとする。使用回数ＤＴ５１（図４参照）における現在の時間に対応する９：４０≦Ｔ＜９：５０では、全てのチャネルの使用回数が８回より多い。このため、ＣＰＵ２１は、使用可能なチャネルがないと推定する（Ｓ１０４）。そして、ＣＰＵ２１は、使用可能なチャネルであると推定されるチャネルがないと判断し（Ｓ１０５：ＮＯ）、図１０に示すように、データを送信できる可能性が低い旨のコメントと、入力ボタンである送信作業継続ボタン１１１と自動送信ボタン１１２と中止ボタン１１３とをディスプレイ１１に表示する（Ｓ１２３）。次いで、利用者が入力ボタンを押下すると、ＣＰＵ２１は、利用者からの指示が入力されたと判断し（Ｓ１２４：ＹＥＳ）、利用者によって押下されたボタンが送信作業継続ボタン１１１であるか否かを判断する（Ｓ１２５）。
【０１００】
ＣＰＵ２１は、利用者によって押下されたボタンが送信作業継続ボタン１１１であると判断した場合には（Ｓ１２５：ＹＥＳ）、全てのチャネルであるｃｈ１〜ｃｈ１４を、一つの第五グループとして設定し、グループ記憶領域２３１に記憶する（Ｓ１２６）。次いで、ＣＰＵ２１は、Ｓ１０７の処理に進み、チャネルのスキャンを実行する。
【０１０１】
利用者によって押下されたボタンが自動送信ボタン１１２である場合には、ＣＰＵ２１は、送信作業継続ボタン１１１が押下されていないと判断し（Ｓ１２５：ＮＯ）、自動送信ボタン１１２が押下されたと判断する（Ｓ１２７：ＹＥＳ）。次いで、ＣＰＵ２１は、使用回数ＤＴ５１を参照し、９：４０より後の時間において、使用回数が８回以下のチャネルが存在する１０：００≦Ｔ＜１０：３０を使用可能なチャネルがあると推定される時間として特定する。そして、ＣＰＵ２１は、Ｓ１２８の処理において特定した時間１０：００≦Ｔ＜１０：３０を、再通信開始時間として設定し、再通信開始時間記憶領域２４４に記憶する（Ｓ１２９）。次いで、ＣＰＵ２１は、Ｓ１０２の処理に戻り、処理を繰り返す。
【０１０２】
そして、時間が経過し、再通信開始時間として設定された１０：００≦Ｔ＜１０：３０の範囲の時間、詳細には、１０：００になったとＣＰＵ２１が判断した場合には（Ｓ１０３：ＹＥＳ）、ＣＰＵ２１は、Ｓ１０４の処理に進み、処理を繰り返す。
【０１０３】
以上説明したように、本実施形態のメイン処理が行われる。本実施形態によれば、ＣＰＵ２１は、使用回数ＤＴ５１における現在の時間と同じ時間での各チャネルの使用回数を参照して使用可能なチャネルを推定し（Ｓ１０４）、スキャンをする順番を決定している。使用回数ＤＴ５１に登録されている使用回数は、通信装置１が設置された環境における過去に使用されたチャネルの実績を示している。一般的に、他の装置は、ある周波数帯域（チャネル）に固定されているもしくは、何らかのパターンに従ってスキャンを実行して、使用するチャネルを決定する場合が多い。このため、使用回数ＤＴ５１には、各時間における、他の装置が使用するチャネルの傾向が現れる。使用回数ＤＴ５１に他の装置が使用するチャネルの傾向が現れるので、ＣＰＵ２１は、使用回数ＤＴ５１を使用することによって、現在の時間において使用できる可能性の高いチャネルをスキャンすることができる。よって、通信を行うチャネルを効率よく決定することができる。また、チャネルをスキャンする場合のＣＰＵの負荷を軽減できるとともに、消費電力を削減することができる。
【０１０４】
また、ＣＰＵ２１は、Ｓ１１０の処理において、過去の使用回数の少ない順に、スキャンを実行する順番を決定している。このため、ＣＰＵ２１は、現在の時間において使用できる可能性が高いチャネルから順にスキャンを実行することができ、通信を行うチャネルを効率よく決定することができる。
【０１０５】
ＣＰＵ２１は、Ｓ１０９の処理において、第一〜第五条件にそれぞれ重みを付けて優先順位を決定している。第一〜第五条件にそれぞれ重みを付けることによって、通信品質の高いチャネルや、使用されていない可能性の高いチャネルを優先してスキャンを実行することができる。なお、重みの値は一例であり、重みの値を変更してもよい。また、第一〜第五条件のすべてについて、重みを設定する必要はなく、例えば、第一条件と第三条件との２つのみに重みをつけてもよい。また、重みを付けることは一例であり、重みを付けなくてもよい。この場合、例えば、第一条件を満たすチャネル、第二条件を満たすチャネル、第三条件を満たすチャネル、第四条件を満たすチャネル、第五条件を満たすチャネルの順番で、スキャンを実行する順序を決定してもよい。このようにしても、通信品質の高いチャネルや使用されていないチャネルを優先してスキャンを実行することができる。以上のように、第一〜第五条件のうちの少なくとも一の条件を設定して、優先順位を決定すればよい。
【０１０６】
また、ＣＰＵ２１は、Ｓ１１３およびＳ１１４の処理において、受信信号強度を測定し、受信信号強度が所定の閾値以上であれば、現在使用されているチャネルであると判断している。つまり、本実施形態によれば、受信信号強度を参照して、使用可能なチャネルであるか否かを判断することができる。
【０１０７】
また、ＣＰＵ２１は、Ｓ１０４の処理において、所定使用回数以下のチャネルを使用可能なチャネルであるとして推定する。使用可能なチャネルであると推定されるチャネルがなく（Ｓ１０５：ＮＯ）、利用者が中止ボタン１１３を押下した場合には（Ｓ１２７：ＮＯ）、ＣＰＵ２１は、スキャンを実行しない。このため、ＣＰＵの負荷を軽減できるとともに、消費電力を削減することができる。
【０１０８】
なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。例えば、無線ＬＡＮを例にして説明していたが、これに限定されない。他の通信方式でもよい。
【０１０９】
また、使用回数ＤＴ５１は、１種類のみを参照していたが、これに限定されない。例えば、使用回数ＤＴ５１を祝祭日、曜日毎、月毎、および季節毎に作成し、参照してもよい。
【０１１０】
また、グループ数ＤＴ５２は、混雑時および平常時でグループ数を分けていたが、これに限定されない。例えば、祝祭日、曜日毎、月毎、および季節毎で、グループ数を分けてもよい。
【０１１１】
また、使用回数が本発明の「使用頻度」に相当するが、本発明の「使用頻度」は使用回数に限定されない。例えば、スキャンを実行した回数に対する、他の装置によって使用されていた回数の割合でもよい。また、例えば、３０分間の各チャネルの使用回数の合計を、３０分で除算した結果である、１分間当たりの使用回数の平均値であってもよい。同様に、本発明の「第一頻度」および「第二頻度」も、回数には、限定されない。
【０１１２】
また、Ｓ１１３〜Ｓ１１４の処理において、受信信号強度が測定され、チャネルが使用可能であるか否かが判断されていたが、これに限定されない。例えば、ベースバンド信号を測定することによって、チャネルが使用可能であるか否かを判断してもよい。
【０１１３】
また、Ｓ１２３の処理において、データを送信できる可能性が低い旨のコメントと、入力ボタンとがディスプレイ１１に表示されていたが、これに限定されない。例えば、入力ボタンを表示しなくてもよい。この場合に、利用者の指示を受け付けることなく、送信を中止したり、後から自動で再送信したりしてもよい。
【０１１４】
また、Ｓ１２３の処理において、データを送信できる可能性が低い旨のコメントを表示するのに換えて、図１１に示すグラフ６０をディスプレイ１１に表示してもよい。グラフ６０について説明する。グラフ６０は、時間毎のチャネルの使用状況をヒストグラムで表している。横軸は時間であり、縦軸はｃｈ１〜ｃｈ１４の使用回数の合計である。なお、グラフ６０は、３０分ごとの使用回数をヒストグラムで表しているが、これに限定されず、例えば、混雑時には、１０分間隔、平常時には、３０分間隔で表してもよい。
【０１１５】
グラフ６０は、使用回数ＤＴ５１における２４時間分のデータから作成される。例えば、使用回数ＤＴ５１（図４参照）において、８：３０≦Ｔ＜９：００のｃｈ１〜ｃｈ１４の合計の使用回数は、５２回である。また、９：００≦Ｔ＜９：３０のｃｈ１〜ｃｈ１４の合計の使用回数は、１８９回である。また、９：３０≦Ｔ＜１０：００のｃｈ１〜ｃｈ１４の合計の使用回数は、３４０回である。また、１０：００≦Ｔ＜１０：３０のｃｈ１〜ｃｈ１４の合計の使用回数は、６４回である。グラフ６０には、これらの使用回数がヒストグラムとして表示されている。グラフ６０は、過去の使用回数を表しているので、現在および近未来の通信の混雑具合の予想グラフとして使用できる。利用者は、グラフ６０を参照して通信の混雑具合を知ることができる。また、グラフ６０をディスプレイ１１に表示する場合に、現在の時間に対応するグラフの部分の色を変えたり、点滅させたりしてもよい。これによって、利用者は、現在の時間における通信の混雑具合の予想を一目で確認することができる。また、チャネルの使用状況に応じて、グラフの色を変更してもよい。
【０１１６】
また、通信装置１が設置された環境に、同種の通信装置が複数存在する場合、通信プロトコルのモデルの一種であるマスター／スレーブの処理を行ってもよい。以下、マスター／スレーブの処理を行う場合について説明する。同じ使用環境下に同種の通信装置が複数存在する場合、複数の通信装置において、使用回数ＤＴ５１（図４参照）が同様になるため、同じ時間でチャネルのスキャンを実行すると、同じ動作になる。このため、複数の通信装置が同時に同じチャネルを選択するおそれがある。この状態を回避するために、同時に通信を開始しようとした通信装置は、一旦待機し、再び通信を開始する。この際、マスター装置がスレーブ装置よりも先に通信を開始する。以下の説明では、マスター／スレーブの処理において、まず、待機時間データテーブル５５について説明し、次いで、アクセスポイント（図示外）において行われる処理を説明し、次いで、通信装置１において行われる処理について説明する。
【０１１７】
待機時間データテーブル５５（以下、待機時間ＤＴ５５という。）について説明する。待機時間ＤＴ５５は、フラッシュメモリ２４（図２参照）に記憶されている。なお、待機時間の範囲を時間Ｔ２で表し、時間の単位のマイクロ秒を「μＳ」と表わす。図１５に示すように、待機時間ＤＴ５５は、マスター装置とスレーブ装置との欄に区切られている。マスター装置の欄は、待機時間１０μＳ≦Ｔ２≦５０μＳに対応付けられている。スレーブ装置の欄は、待機時間５０μＳ＜Ｔ２≦２００μＳに対応付けられている。待機時間ＤＴ５５は、通信装置１のＳ４０５およびＳ４０６の処理（図１５参照、後述）において参照されるが、詳細については後述する。
【０１１８】
次に、アクセスポイントについて説明する。無線ＬＡＮで通信を行う場合、通信装置は、アクセスポイント（図示外）を介して、通信を行う。アクセスポイントは、通信装置１と、インターネット網もしくは公衆回線網との間に設けられている。同じ使用環境下に同種の通信装置が複数存在する場合、同じアクセスポイントを使用することになる。アクセスポイントは、通信装置が通信を行う場合に、通信を許可する旨を示す信号である確認応答信号（ＡＣＫ）を通信装置に送信する。以下、アクセスポイントのＣＰＵによって行われる処理であるアクセスポイント処理について説明する。
【０１１９】
図１３に示すように、アクセスポイント処理では、まず、通信質問信号を受信する。通信装置１のＣＰＵ２１は、通信を開始する場合、Ｓ４０１の処理（図１５参照、後述）において、通信を開始するためにアクセスポイントに対して問い合わせをするための信号である通信質問信号を、アクセスポイントに送信する。Ｓ２０１の処理において、アクセスポイントのＣＰＵは、通信装置１および他の通信装置から送信される通信質問信号を受信したか否かを判断する（Ｓ２０１）。アクセスポイントのＣＰＵは、通信質問信号を受信していない場合には（Ｓ２０１：ＮＯ）、次いで、Ｓ２０１の処理を繰り返す。
【０１２０】
アクセスポイントのＣＰＵは、通信質問信号を受信した場合には（Ｓ２０１：ＹＥＳ）、受信した通信質問信号が解析可能か否かを判断する（Ｓ２０２）。複数の通信装置が、同じタイミングで通信を開始しようとした場合、各通信装置が通信質問信号を同時に送信するため、通信質問信号同士が衝突し、通信質問信号は、アクセスポイントのＣＰＵが解析できない状態になる。複数の通信装置が同じタイミングで通信を開始しようとしていない場合には、通信質問信号同士が衝突することがないので、通信質問信号は、アクセスポイントのＣＰＵが解析できる状態である。
【０１２１】
アクセスポイントのＣＰＵは、Ｓ２０１の処理で受信した通信質問信号が解析可能であると判断した場合には（Ｓ２０２：ＹＥＳ）、通信質問信号を送信した通信装置に対して、通信を許可する旨を示す信号である確認応答信号（ＡＣＫ）を送信する（Ｓ２０３）。通信質問信号が解析可能であれば、アクセスポイントのＣＰＵは、通信質問信号を送信した通信装置を特定することができる。アクセスポイントのＣＰＵは、特定した通信装置に対して確認応答信号を送信する。確認応答信号が通信装置１に対して送信された場合には、確認応答信号は、通信装置１のＣＰＵ２１のＳ４０２の処理（図１５参照）において受信される。次いで、アクセスポイントのＣＰＵは、Ｓ２０１に戻り、処理を繰り返す。
【０１２２】
アクセスポイントのＣＰＵは、Ｓ２０１の処理で受信した通信質問信号が解析可能でないと判断した場合には（Ｓ２０２：ＮＯ）、通信装置に対して応答せず、確認応答信号は送信しない（Ｓ２０４）。通信質問信号が解析できないため、アクセスポイントのＣＰＵは、通信質問信号を送信した通信装置を特定することができないからである。次いで、Ｓ２０１に戻り処理を繰り返す。
【０１２３】
次に、図１４を参照して、通信装置１のＣＰＵ２１が実行するマスター／スレーブ設定処理について説明する。マスター／スレーブ設定処理は、同種の通信装置が複数存在する場合に、それぞれの通信装置をマスター装置とスレーブ装置とに設定する処理である。さらに、スレーブ装置として設定された場合には、マスター装置が記憶している使用回数ＤＴ５１のデータを受信して、記憶することができる。マスター／スレーブ設定処理は、例えば、通信装置１が新しい環境下に設置され、通信装置１の電源がオンされた場合に行われたり、数日毎に行われたりする。
【０１２４】
図１４に示すマスター／スレーブ設定処理では、ＣＰＵ２１は、通信装置１の設置環境において、他の同種の通信装置が存在するか否かを検出する（Ｓ３０１）。Ｓ３０１の処理における検出は、例えば、直接スペクトラム拡散を行う際の通信装置特有の疑似ランダム符号パターンや、通信時の信号内に組み込まれている通信装置の種類を特定するための信号等を検知することによって行われる。なお、他の同種の通信装置がある場合に、利用者が他の通信装置があることを通信装置１に設定してもよい。
【０１２５】
次いで、ＣＰＵ２１は、Ｓ３０１の処理における検出の結果、他の同種の通信装置が存在するか否かを判断する（Ｓ３０２）。他の同種の通信装置が存在しない場合には（Ｓ３０２：ＮＯ）、ＣＰＵ２１は、マスタースレーブ設定記憶領域２４５に、マスター装置であることを示すデータを記憶することによって通信装置１をマスター装置として設定する（Ｓ３０３）。
【０１２６】
ＣＰＵ２１は、Ｓ３０２の処理において、他の同種の通信装置が存在すると判断した場合には（Ｓ３０２：ＹＥＳ）、マスタースレーブ設定記憶領域２４５に、スレーブ装置であることを示すデータを記憶することによって通信装置１をスレーブ装置として設定する（Ｓ３０４）。次いで、ＣＰＵ２１は、他の同種の通信装置のうち、マスター装置として動作している通信装置と通信を行い、マスター装置から送信される、マスター装置が記憶している使用回数ＤＴ５１（図４参照）を受信し、使用回数データテーブル記憶領域２４１に記憶する（Ｓ３０５）。つまり、通信装置１が新たに設置された環境において、マスター装置によって測定された使用回数ＤＴ５１が、通信装置１にも記憶される。これによって、通信装置１は、自装置において使用回数ＤＴ５１を作成するための測定を行うことなく、新たな設置環境における通信の状況の情報を入手することができる。よって、新たな環境下においても、マスター装置によって測定された使用回数ＤＴ５１を使用することによって、使用可能なチャネルを効率的に検出することができる。ＣＰＵ２１は、Ｓ３０５の処理が行うと、マスター／スレーブ設定処理を終了する。
【０１２７】
次に、図１５を参照して、マスター／スレーブの処理の場合における、図７および図８に示すメイン処理の変形例について説明する。図１５は、図７および図８に示すメイン処理におけるＳ１１０の処理とＳ１１１の処理との間に、マスター／スレーブの処理の場合における特有の処理であるＳ４０１〜Ｓ４０６の処理を追加したものである。以後の説明では、図７および図８と同様の処理は、同じ番号で示し、詳細の説明は省略する。また、図７および図８のメイン処理のうち、図７に記載の処理は、マスター／スレーブの処理の場合においても同様なので、図示および説明は省略し、図８に記載の処理の変形例である図１５についてのみ説明する。
【０１２８】
図１５に示すように、ＣＰＵ２１は、Ｓ１１０の処理において、スキャンの順番を決定すると、次いで、通信質問信号を、アクセスポイントに送信する（Ｓ４０１）。通信質問信号は、アクセスポイントのＣＰＵのＳ２０１の処理（図１３参照）において受信される。次いで、ＣＰＵ２１は、アクセスポイントのＣＰＵが実行するＳ２０３の処理によって送信される確認応答信号を受信するために待機する（Ｓ４０２）。待機する時間は、例えば１ｍＳである。
【０１２９】
次いで、ＣＰＵ２１は、Ｓ４０２の処理において確認応答信号を受信したか否かを判断する（Ｓ４０３）。アクセスポイントのＣＰＵ２１によって確認応答信号が送信される場合は（図１３のＳ２０３）、同時に通信を開始しようとする他の通信装置がない場合である。一方、アクセスポイントのＣＰＵ２１によって確認応答信号が送信されなかった場合は（図１３のＳ２０４の処理）、同時に通信を行おうとする他の通信装置がある場合（もしくは別の装置の信号の影響による通信エラーが発生した場合）である。つまり、ＣＰＵ２１は、Ｓ４０３の処理を実行することで、他の通信装置がスキャンを実行しているか否かを予想、判断することができる。ＣＰＵ２１は、確認応答信号を受信したと判断した場合には（Ｓ４０３：ＹＥＳ）、Ｓ１１１に進み、チャネルのスキャンを実行する。アクセスポイントによって通信が許可されているからである。以降の処理は、図７および図８において説明済みなので省略する。
【０１３０】
ＣＰＵ２１は、確認応答信号を受信していないと判断した場合には（Ｓ４０３：ＮＯ）、次いで、ＣＰＵ２１は、自装置である通信装置１がマスター装置であるか否かを判断する（Ｓ４０４）。ＣＰＵ２１は、Ｓ３０３またはＳ３０４の処理（図１４参照）においてマスタースレーブ設定記憶領域２４５に記憶したデータを参照することによって、通信装置１がマスター装置であるか否かを判断する（Ｓ４０４）。
【０１３１】
ＣＰＵ２１は、通信装置１がマスター装置であると判断した場合には（Ｓ４０４：ＹＥＳ）、待機を行う（Ｓ４０５）。Ｓ４０５の処理において、ＣＰＵ２１は、待機時間ＤＴ５５（図１２参照）に記憶されているマスター装置の待機時間を参照する。そして、マスター装置の欄に対応つけられている待機時間の範囲で待機時間を決定し、決定した待機時間の間待機する（Ｓ４０５）。なお、ＣＰＵ２１は、待機時間ＤＴ５５における待機時間の範囲でランダムに待機時間を決定する（Ｓ４０５）。ＣＰＵ２１は、待機時間の間待機したら、Ｓ４０１に戻り、処理を繰り返す。
【０１３２】
例えば、待機時間ＤＴ５５（図１２参照）において、マスター装置の待機時間は、１０μＳ≦Ｔ２≦５０μＳである。ＣＰＵ２１は、１０μＳ≦Ｔ２≦５０μＳの間で、ランダムに待機時間を決定し、決定した待機時間の間待機する（Ｓ４０５）。例えば、ＣＰＵ２１が待機時間を２５μＳに決定したら、ＣＰＵ２１は、２５μＳの間待機し、Ｓ４０１の処理に戻り、処理を繰り返す。そして、ＣＰＵ２１は、確認応答信号を受信した場合には（４０３：ＹＥＳ）、Ｓ１１１に進み、チャネルのスキャンを実行する。
【０１３３】
通信装置１がスレーブ装置である場合には、Ｓ４０４の処理において、ＣＰＵ２１は、通信装置１がマスター装置ではないと判断し（Ｓ４０４：ＮＯ）、待機を行う（Ｓ４０６）。Ｓ４０６の処理において、ＣＰＵ２１は、待機時間ＤＴ５５に記憶されているスレーブ装置の待機時間を参照する。そして、スレーブ装置の待機時間の範囲で待機時間を決定し、決定した待機時間の間待機する（Ｓ４０６）。なお、ＣＰＵ２１は、待機時間を決定する際には、待機時間の範囲でランダムに決定する（Ｓ４０６）。ＣＰＵ２１は、待機時間の間待機したら、Ｓ４０１の処理に戻り、処理を繰り返す。
【０１３４】
例えば、待機時間ＤＴ５５において、スレーブ装置の待機時間は、５０μＳ＜Ｔ２≦２００μＳである。ＣＰＵ２１は、５０μＳ＜Ｔ２≦２００μＳの間で、ランダムに待機時間を決定し、決定した待機時間の間待機する（Ｓ４０６）。例えば、ＣＰＵ２１が待機時間を１００μＳに決定した場合、ＣＰＵ２１は、１００μＳの間待機し、Ｓ４０１の処理に戻り、処理を繰り返す。そして、ＣＰＵ２１は、確認応答信号を受信した場合には（Ｓ４０３：ＹＥＳ）、Ｓ１１１に進み、チャネルのスキャンを実行する。
【０１３５】
以上説明したように、同種の通信装置が複数存在する場合、通信プロトコルのモデルの一種であるマスター／スレーブの処理を行ってもよい。ＣＰＵ２１が、確認応答信号を受信したと判断した場合には（Ｓ４０３：ＹＥＳ）、チャネルのスキャンが実行される。つまり、他の通信装置が通信を開始しようとしていない場合に、スキャンを実行するので、通信装置１と他の通信装置とのスキャンを実行するタイミングが同じになることを防止できる。このため、通信装置１と他の通信装置とが同時に同じチャネルを選択することを防止できる。
【０１３６】
また、待機時間ＤＴ５５（図１２参照）において、マスター装置の待機時間は、スレーブ装置の待機時間より短く設定されている。通信装置１が他の通信装置と通信を開始しようとするタイミングが同じだった場合、アクセスポイントのＣＰＵは確認応答信号を送信しない（Ｓ２０４、図１３参照）。このとき、通信装置１がマスター装置だった場合には、待機時間ＤＴ５５におけるマスター装置の待機時間の範囲で、待機時間を決定し、待機する（Ｓ４０５）。つまり、ＣＰＵ２１は、スレーブ装置の待機時間より短い時間の間待機し（Ｓ４０５）、再び通信質問信号をアクセスポイントに送信する（Ｓ４０１）。そして、確認応答信号を受信すると（Ｓ４０３：ＹＥＳ）、Ｓ１１１に進み、スキャンを実行する。通信装置１がマスター装置である場合には、他の通信装置はスレーブ装置である。スレーブ装置よりも短い時間待機した後に、チャネルのスキャンを行うため、スレーブ装置よりも早く通信質問信号を送信開始することができる。つまり、マスター装置である通信装置１が優先される。さらに、スキャンを実行するタイミングが他の通信装置と同じになることを防止でき、通信装置１と他の通信装置とが同時に同じチャネルを選択することを防止できる。
【０１３７】
一方、通信装置１がスレーブ装置である場合には、マスター装置より長い時間待機する（Ｓ４０６）。通信装置１がスレーブ装置であれば、他の通信装置がマスター装置である場合がある。つまり、マスター装置である他の通信装置による通信の開始が優先される。ＣＰＵ２１は、Ｓ４０６の処理における待機が終了すると、再び通信質問信号をアクセスポイントに送信し（Ｓ４０１）、確認応答信号を受信すると（Ｓ４０３：ＹＥＳ）、Ｓ１１１の処理に進み、スキャンを実行する。このように処理を実行することで、マスター装置である他の通信装置による通信が優先されるとともに、スキャンを実行するタイミングが他の通信装置と同じになることを防止できる。このため、複数の通信装置が同時に同じチャネルを選択することを防止できる。
【０１３８】
なお、図７、図８、図１４、および図１５の各処理を必ずしもソフトウェアで実現する必要はなく、各処理をハードウェアで実現してもよい。
【０１３９】
上記実施形態において、使用回数ＤＴ５１が本発明の「データ」に相当し、使用回数データテーブル記憶領域２４１が本発明の「記憶装置」に相当する。図８のＳ１２０の処理およびＳ１１５の処理を行うＣＰＵ２１が本発明の「記憶制御手段」に相当し、図７および図８のＳ１０８〜Ｓ１１０の処理を行うＣＰＵ２１が本発明の「順序決定手段」に相当する。図８のＳ１１１〜Ｓ１１９の処理を行うＣＰＵ２１が本発明の「チャネル決定手段」に相当し、所定使用回数が本発明の「第二頻度」に相当する。図７のＳ１０５の処理を行うＣＰＵ２１が本発明の「頻度判断手段」に相当し、図７のＳ１２３の処理を行うＣＰＵ２１が本発明の「表示制御手段」に相当する。ディスプレイ１１が本発明の「表示画面」に相当し、タッチパネル１２が本発明の「入力手段」に相当する。図１４のＳ３０５の処理を行うＣＰＵ２１が本発明の「データ記憶制御手段」に相当し、図１５のＳ４０３の処理を行うＣＰＵ２１が本発明の「スキャン判断手段」に相当する。
【０１４０】
上記実施形態において、図８のＳ１２０の処理およびＳ１１５の処理が本発明の「記憶制御ステップ」に相当し、図７および図８のＳ１０８〜Ｓ１１０の処理が本発明の「順序決定ステップ」に相当する。図８のＳ１１１〜Ｓ１１９が本発明の「チャネル決定ステップ」に相当する。
【符号の説明】
【０１４１】
１    通信装置
１１    ディスプレイ
１２    タッチパネル
２１    ＣＰＵ
３２    通信制御部
３３    タイマ
５１    使用回数データテーブル
２４１    使用回数データテーブル記憶領域
２４４    再通信開始時間記憶領域
【図１】
2011188339.tif 000003
【図２】
2011188339.tif 000004
【図３】
2011188339.tif 000005
【図４】
2011188339.tif 000006
【図５】
2011188339.tif 000007
【図６】
2011188339.tif 000008
【図７】
2011188339.tif 000009
【図８】
2011188339.tif 000010
【図９】
2011188339.tif 000011
【図１０】
2011188339.tif 000012
【図１１】
2011188339.tif 000013
【図１２】
2011188339.tif 000014
【図１３】
2011188339.tif 000015
【図１４】
2011188339.tif 000016
【図１５】
2011188339.tif 000017