以下、本発明による通信可否判断装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による通信可否判断装置について、図面を参照しながら説明する。本実施の形態による通信可否判断装置は、取得した通信状況を用いて、アプリケーションによる通信を行うことができるかどうかを判断するものである。
図1は、本実施の形態による通信可否判断装置1の構成を示すブロック図である。本実施の形態による通信可否判断装置1は、通信部11と、取得部12と、記憶部13と、受付部14と、実行部15と、対応情報記憶部16と、判断部17と、出力部18とを備える。なお、通信可否判断装置1は、例えば、アクセスポイント(AP)のような無線基地局であってもよく、ステーション(STA)のような端末装置であってもよい。本実施の形態では、通信可否判断装置1が端末装置である場合について主に説明する。その端末装置は、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等であってもよい。
通信部11は、アンテナを介して無線通信を行う。通信部11が行う無線通信は、どのようなものであってもよい。その無線通信は、例えば、無線LANによる通信であってもよく、3G(3rd Generation)やLTE(Long Term Evolution)等の携帯電話回線による通信であってもよく、他の移動体通信であってもよく、その他の無線通信であってもよい。本実施の形態では、無線通信が無線LANによる通信である場合について主に説明する。通信部11は、後述する通信状況の取得で用いられる情報を受信すると、その情報を図示しない記録媒体で記憶してもよい。その情報は、例えば、通信状況そのものであってもよく、周波数スペクトルや、スペクトログラム等であってもよい。なお、通信部11は、無線通信を行うための無線の通信デバイス(例えば、ネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、通信部11は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
取得部12は、通信可否判断装置1が行う無線通信に関する通信状況を取得する。取得部12は、通信部11を介して、その通信状況を取得する。ここで、通信部11を介して通信状況を取得するとは、通信部11が送受信するパケットやフレーム等の無線信号を用いて通信状況を取得することであってもよく、通信部11が受信した無線信号に含まれる通信状況を取得することであってもよい。後者の場合には、他の装置において通信状況の取得が行われ、その取得された通信状況が通信可否判断装置1に送信されるものとする。その通信状況の送信は、例えば、通信状況を含むビーコンの送信であってもよい。具体的には、APで取得された通信状況が、APからビーコンに含めて送信され、STAである通信可否判断装置1は、そのビーコンを受信し、受信したビーコンから通信状況を取得してもよい。
無線通信に関する通信状況は、無線通信のアイドル(未使用)状態に関するアイドル情報を含んでいてもよい。アイドル状態とは、キャリアセンスの結果、通信が行われていないと判断される状態のことである。そのキャリアセンスは、例えば、物理キャリアセンスであってもよく、仮想キャリアセンスであってもよい。物理キャリアセンスの場合には、通信部11で受信された無線信号に応じたパワースペクトルをあらかじめ設定されているしきい値と比較し、そのしきい値よりも振幅の大きい周波数帯域は使用されていると判断し、そのしきい値よりも振幅の小さい周波数帯域は使用されていないと判断してもよい。仮想キャリアセンスの場合には、物理キャリアセンスに加え、無線信号に含まれる無線信号の予定使用期間(NAV期間:Network Allocation Vector期間)についても、通信が行われていると判断してもよい。このキャリアセンスは、例えば、周波数帯域ごと(周波数チャネルごと)に行われてもよい。なお、無線通信がアイドルであるかどうかの判断方法については、例えば、次の文献を参照されたい。
文献:福原忠行、山口明、樫木勘四郎、鈴木利則、竹内和則、「無線LANにおける無線占有率測定手法」、電子情報通信学会技術研究報告、SR2009−46,p.151−158、2009年7月
文献:矢野一人、太郎丸真、上羽正純、「無線LANの複数BSS・複数チャネル運用時において受信機性能がwhite space発生に与える影響」、電子情報通信学会技術研究報告、SR2009−80、p.39−46、2010年1月
なお、アイドル情報は、例えば、アイドル状態の割合を示す情報であってもよく、アイドル状態の継続時間の最小値や平均値、確率分布等の情報であってもよく、その他のアイドル状態に関する情報であってもよい。例えば、アイドル情報は、アイドル状態の割合に応じた予測送信機会であってもよい。予測送信機会が高いほど、送信機会が高いことになる。その予測送信機会は、アイドル状態の割合が高くなるほど大きな値となるものであってもよい。アイドル状態の割合が高いほど、より送信しやすいと考えられるからである。その予測送信機会は、例えば、アイドル状態の割合を引数とする増加関数の値であってもよい。また、その予測送信機会は、例えば、あるアイドル状態と、その次のアイドル状態との間に存在するビジー状態の期間の平均が短いほど、大きな値となってもよい。アイドル状態の割合が同じであったとしても、ビジー状態の期間の平均が短いほど、すなわち、アイドル状態の頻度が高いほど、より送信しやすいと考えられるからである。また、アイドル情報は、アイドル状態の頻度を示す情報であってもよい。アイドル状態の頻度は、例えば、ビジー状態からアイドル状態に切り替わる単位時間あたりの回数であってもよい。また、アイドル情報は、結果としてアイドル状態について知ることができる情報であればよいため、ビジー状態に関する情報であってもよい。なお、ビジー状態とは、通信が行われている状態のことであり、アイドル状態以外の状態のことである。
また、無線通信に関する通信状況は、無線通信に関する通信品質を含んでいてもよい。通信品質とは、無線通信のQoS(Quality of Service)に関する情報であり、例えば、スループットであってもよく、送信レートであってもよく、遅延であってもよく、ジッタであってもよく、パケットロス率(パケット損失率)であってもよく、ビットエラー率であってもよく、それらの任意の2以上の組み合わせであってもよく、または、その他の通信品質であってもよい。なお、取得部12は、通信品質を取得するために、通信部11を介してプローブパケットを送受信してもよく、または、通信部11が送受信したプローブパケット以外の無線信号を用いてもよい。ここで、プローブパケットを用いて通信品質を取得する方法は公知であるため、プローブパケットを用いないで通信品質を取得する方法について説明する。取得部12は、例えば、通信部11が最後に受信した無線信号の送信レート、または、通信部11が最後に送信した無線信号の送信レートを取得してもよい。その送信レートは、その時点の無線通信における送信レートであると考えることができるからである。その送信レートは、例えば、MCS(Modulation and Coding Scheme)インデックスであってもよい。MCSインデックスと送信レートとは対応しているからである。なお、取得部12は、MCSインデックスを取得する場合に、最後に受信された無線信号のMCSインデックスを取得してもよく、最後に送信された無線信号のMCSインデックスを取得してもよい。また、取得部12は、受信信号強度を用いて送信レートを推定してもよい。通常、受信信号強度が大きいほど、送信レートが高くなるからである。また、取得部12は、取得したアイドル状態の割合と、取得した送信レートとを掛け合わせることによってスループットを取得してもよい。また、遅延やジッタ、パケットロス率、ビットエラー率については、取得部12は、例えば、あらかじめ内容や送信タイミング等の分かっているリファレンス信号を用いて取得してもよい。また、通信状況には、受信信号強度が含まれてもよく、含まれなくてもよい。前者の場合であっても、通信状況が受信信号強度のみを含んでいることはないものとする。受信信号強度のみであると、通信の可否を適切に判断することができないからである。
また、無線通信に関する通信状況は、上述の説明外の情報を含んでいてもよい。例えば、通信可否判断装置1を含むセルにおいて通信を行っている端末装置の台数が通信状況に含まれていてもよく、その他の情報が通信状況に含まれていてもよい。
記憶部13では、1または2以上のアプリケーションが記憶される。なお、アプリケーションは、厳密にはアプリケーションソフトウェアまたはアプリケーションプログラムと呼ぶべきであるが、本実施の形態では、単にアプリケーションと呼ぶことにする。このアプリケーションは、ユーザからの起動の指示に応じて起動されるものであり、通信部11による通信を行うアプリケーションであることが好適である。そのアプリケーションは、例えば、メールのアプリケーションであってもよく、ブラウザのアプリケーションであってもよく、電話のアプリケーションであってもよく、天気予報や交通情報、株価、地図等の情報を取得するアプリケーションであってもよく、ストリーミングの動画や音声を再生するアプリケーションであってもよく、その他のアプリケーションであってもよい。また、そのアプリケーションには、そのアプリケーションに対応する図形のデータが含まれていてもよい。その図形は、例えば、アプリケーションのアイコンである。記憶部13に1以上のアプリケーションが記憶される過程は問わない。例えば、記録媒体を介してアプリケーションが記憶部13で記憶されるようになってもよく、または、通信回線等を介して送信されたアプリケーションが記憶部13で記憶されるようになってもよい。また、記憶部13での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
受付部14は、記憶部13で記憶されているアプリケーションの起動の指示を受け付ける。この指示は、通常、ユーザから入力されるものである。受付部14は、後述するように、出力部18が表示した図形が選択された場合に、選択された図形に対応するアプリケーションの起動の指示を受け付けてもよい。また、受付部14は、その他の指示や情報を受け付けてもよい。例えば、受付部14は、アプリケーションの実行に関するメニューの選択やコマンドの実行の指示等を受け付けてもよく、アプリケーションの実行時に用いられる情報の入力を受け付けてもよい。受付部14は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された指示等を受け付けてもよく、有線もしくは無線の通信回線を介して送信された指示等を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された情報を受け付けてもよい。なお、受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
実行部15は、受付部14が起動の指示を受け付けたアプリケーションを起動する。また、実行部15は、起動したアプリケーションに関する処理を実行する。そのアプリケーションに関する処理の実行の際に、実行部15は、受付部14が受け付けたユーザからの指示や情報を用いてもよい。なお、実行部15は、例えば、判断部17によって、後述するように通信を行うことができないと判断されたアプリケーションについては、起動や実行を行わなくてもよく、または、そうでなくてもよい。ここで、アプリケーションの起動や実行を行わないとは、結果としてそのようになればよいため、通信を行うことができないと判断されたアプリケーションの起動や実行の指示を受付部14が受け付けないことによって、起動や実行が行われなくてもよい。
対応情報記憶部16では、1または2以上の対応情報が記憶される。対応情報は、アプリケーションを識別するアプリ識別子と、そのアプリ識別子で識別されるアプリケーションによって要求される通信状況である要求通信状況とを対応付ける情報である。アプリ識別子は、アプリケーションを識別できる情報であればどのようなものであってもよく、例えば、アプリケーションの名称や型番等であってもよい。なお、異なるアプリケーションには異なるアプリ識別子が対応付けられることが通常であるが、異なるアプリケーションであっても、類似しているアプリケーションには同一のアプリ識別子が対応付けられてもよい。例えば、アプリケーション「ABCブラウザ10.1」と、そのアプリケーションがバージョンアップされたアプリケーション「ABCブラウザ10.2」とに、同じアプリ識別子が対応付けられてもよい。また、要求通信状況は、例えば、アイドル情報に関する要求であってもよく、通信品質に関する要求であってもよく、それらの任意の2以上の組み合わせであってもよく、または、その他の通信状況に関する要求であってもよい。要求通信状況がアイドル情報に関する要求である場合には、その要求通信状況は、例えば、アイドル状態の割合に関する要求(例えば、アイドル状態の割合が50%以上であることなど)であってもよく、アイドル状態の継続時間の最小値や平均値に関する要求(例えば、アイドル状態の継続時間の平均値が100ms以上であることなど)であってもよく、その他の要求であってもよい。また、要求通信状況が通信品質に関する要求である場合には、その要求通信状況は、例えば、スループットに関する要求(例えば、スループットが1Mbps以上であることなど)であってもよく、送信レートに関する要求(例えば、送信レートが6Mbps以上であることなど)であってもよく、遅延に関する要求(例えば、遅延時間が100ms以下であることなど)であってもよく、ジッタに関する要求(例えば、ジッタが0.5ms以下であることなど)であってもよく、パケットロス率に関する要求(例えば、パケットロス率が0.3%以下であることなど)であってもよく、ビットエラー率に関する要求(例えば、ビットエラー率が0.01%以下であることなど)であってもよく、その他の通信品質に関する要求であってもよい。なお、例えば、遅延やジッタ等に関する要求は、遅延やジッタ等の平均値に関する要求であってもよい。また、要求通信状況は、例えば、通信可否判断装置1を含むセルにおいて通信を行っている端末装置の台数に関する要求であってもよい。また、要求通信状況は、上述の説明のように、通信状況に関するしきい値であってもよい。要求通信状況がしきい値である場合に、通信状況がそのしきい値よりも大きい値であれば通信できると判断されるのか、または、通信状況がそのしきい値よりも小さい値であれば通信できると判断されるのかを示す情報が要求通信状況に含まれていてもよい。また、要求通信状況は、後述するように、通信状況と比較されるため、対応情報においてアプリ識別子と対応付けられる要求通信状況は、取得部12が取得する通信状況に対応したものであることが好適である。すなわち、取得される通信状況がスループットである場合には、要求通信状況は、スループットに関する要求であることが好適である。また、対応情報以外の情報が対応情報記憶部16で記憶されてもよい。例えば、後述するグループ対応情報等が、対応情報記憶部16で記憶されてもよい。
対応情報記憶部16に1以上の対応情報等が記憶される過程は問わない。例えば、記録媒体を介して対応情報等が対応情報記憶部16で記憶されるようになってもよく、通信回線等を介して送信された対応情報等が対応情報記憶部16で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された対応情報等が対応情報記憶部16で記憶されるようになってもよい。対応情報記憶部16での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。対応情報記憶部16は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。ここで、「アプリ識別子と要求通信状況とを対応付ける」とは、アプリ識別子から要求通信状況を取得できればよいという意味である。したがって、対応情報は、アプリ識別子と要求通信状況とを組として含む情報を有してもよく、アプリ識別子と要求通信状況とをリンク付ける情報であってもよい。後者の場合には、対応情報は、例えば、アプリ識別子と要求通信状況の格納されている位置を示すポインタやアドレスとを対応付ける情報であってもよい。本実施の形態では、前者の場合について説明する。
また、記憶部13と、対応情報記憶部16とは、同一の記録媒体によって実現されてもよく、または、別々の記録媒体によって実現されてもよい。前者の場合には、アプリケーションを記憶している領域が記憶部13となり、対応情報を記憶している領域が対応情報記憶部16となる。
判断部17は、取得部12が取得した通信状況を用いて、アプリケーションによる通信を行うことができるかどうか判断する。判断対象となるアプリケーションは、例えば、個別のアプリケーションであってもよく、アプリケーションのグループであってもよく、または、アプリケーション全体であってもよい。個別のアプリケーションが判断対象となる場合には、1個のアプリケーションのみが判断対象となってもよく、1個以上のアプリケーションが判断対象となってもよい。1個のアプリケーションのみが判断対象となる場合としては、例えば、アプリケーションの起動時に、その起動されたアプリケーションが判断対象となる場合がある。すなわち、判断部17は、アプリケーションの起動時に、その起動されたアプリケーションに関する判断を行ってもよい。また、1個以上のアプリケーションが判断対象となる場合としては、例えば、個々のすべてのアプリケーションが判断対象となる場合や、起動前のアプリケーションが判断対象となる場合などがある。前者の場合には、記憶部13で記憶されているアプリケーションが判断対象となってもよい。また、後者の場合には、判断部17は、アプリケーションの起動前に、そのアプリケーションに関する判断を行ってもよい。なお、個別のアプリケーションについて判断を行う場合には、判断部17は、判断対象のアプリケーションを識別するアプリ識別子に、対応情報によって対応付けられている要求通信状況を用いて、通信できるかどうかの判断を行ってもよい。すなわち、判断部17は、取得部12が取得した通信状況が、判断対象のアプリケーションを識別するアプリ識別子に対応する要求通信状況をみたす場合に、そのアプリケーションによる通信を行うことができると判断し、その通信状況が、その要求通信状況をみたさない場合に、判断対象のアプリケーションによる通信を行うことができないと判断してもよい。アプリケーションのグループが判断対象となる場合には、例えば、判断部17は、アプリケーションによって要求される通信状況である要求通信状況の2以上のグループごとに、取得部12が取得した通信状況が、グループに対応する要求通信状況をみたすかどうかを判断してもよい。この場合には、要求通信状況に応じて、アプリケーションが2以上のグループに分けられている。そのグループは、例えば、高い通信品質を要求するグループ、中ほどの通信品質を要求するグループ、低い通信品質を要求するグループであってもよい。具体的には、高い通信品質を要求するグループに対応する要求通信状況は、スループットが5Mbpsより大きいことを要求し、中ほどの通信品質を要求するグループに対応する要求通信状況は、スループットが1Mbpsより大きいことを要求し、低い通信品質を要求するグループに対応する要求通信状況は、スループットが100kbpsより大きいことを要求してもよい。なお、判断部17が、アプリケーションのグループごとに判断を行う場合には、そのグループを識別するグループ識別子と、そのグループ識別子で識別されるグループに対応する要求通信状況とが対応付けられるグループ対応情報が1以上、対応情報記憶部16で記憶されていてもよい。そして、あるグループについて判断を行う場合に、判断部17は、その判断対象のグループを識別するグループ識別子に対応する要求通信状況を用いて、通信できるかどうかの判断を行ってもよい。なお、アプリケーションのグループが判断対象となる場合には、判断部17は、すべてのグループについて判断を行うことが好適である。ただし、判断部17は、すべてのグループのうち、要求の厳しいグループから判断を行う場合には、あるグループについて通信を行うことができると判断すると、それ以降のグループについては通信を行うことができることは当然であるため、それ以降のグループについては判断を行わなくてもよい。具体的には、スループットが5Mbpsより大きいことを要求する要求通信状況を通信状況がみたす場合には、判断部17は、スループットが1Mbpsより大きいことを要求する要求通信状況に関する判断を行わなくてもよい。また、アプリケーションの複数のグループのそれぞれには、記憶部13で記憶されているアプリケーションのいずれかが属することになることが好適であるが、そうでなくてもよい。いずれのアプリケーションも属さないグループが存在してもよい。そのグループに属する新たなアプリケーションが後から記憶部13に蓄積されることもありうるからである。アプリケーション全体が判断対象となる場合には、判断部17は、取得部12によって取得された通信状況が、アプリケーション全体に対してあらかじめ定められた要求通信状況をみたす場合に、アプリケーションによる通信を行うことができると判断してもよい。その要求通信状況は、例えば、記憶部13や対応情報記憶部16で記憶されていてもよい。
また、判断部17が判断を行うタイミングは問わない。例えば、判断部17は、判断を繰り返して行ってもよく、所定のイベントの発生に応じて判断を行ってもよく、その他のタイミングで判断を行ってもよい。判断を繰り返す場合に、判断部17は、定期的(例えば、30秒ごと、1分ごと、5分ごとなど)に判断を繰り返してもよく、不定期に判断を繰り返してもよい。また、その所定のイベントは、例えば、アプリケーションが起動されたことであってもよく、アプリケーションに応じた図形の一覧を表示する画面において、アプリケーションに対応する図形の新たな一覧が表示されたこと(例えば、スマートフォンにおいてタッチパネルがスワイプされ、アイコンの一覧画面が遷移されたことなど)であってもよく、判断の指示がユーザから受け付けられたことであってもよく、その他のイベントであってもよい。
また、判断部17は、通信状況にアイドル情報が含まれる場合には、そのアイドル情報を用いて判断を行ってもよく、通信状況に通信品質が含まれる場合には、その通信品質を用いて判断を行ってもよい。アイドル情報を用いて判断を行う場合には、判断部17は、アイドル情報によって送信を開始する機会の高いことが示される場合に、通信を行うことができると判断し、そうでない場合に、通信を行うことができないと判断してもよい。通常、アイドル状態の期間や割合が大きいほど、通信を行うことができると判断されることになる。また、判断部17は、アイドル状態を用いて、アプリケーションがどれぐらいの時間で通信を開始することができるかを判断してもよい。具体的には、アイドル情報によって示されるアイドル状態の割合が大きいほど、通信を開始できる時間が短くなる。また、アイドル状態の頻度が高いほど、通信を開始できる時間が短くなる。また、アイドル状態の継続時間の最小値が大きいほど、通信を開始できる時間が短くなる。また、アイドル状態の継続時間の平均値が大きいほど、通信を開始できる時間が短くなる。なお、通信を開始できる時間が非常に短い場合には、通信を行うことができることになり、通信を開始できる時間が非常に長い場合には、通信を行うことができないことになる。このように、通信を開始できる時間は、通信可能な程度を示す情報となっている。また、通信品質を用いて判断を行う場合には、判断部17は、通信状況に含まれる通信品質によって、所望の品質で通信を行うことができることが示される場合に、通信を行うことができると判断し、そうでない場合に、通信を行うことができないと判断してもよい。通常、通信品質が高いほど、通信を行うことができると判断されることになる。また、判断部17は、通信可否判断装置1を含むセルにおいて通信を行っている端末装置の台数が通信状況に含まれる場合には、その台数を用いて判断を行ってもよい。その場合には、判断部17は、台数が多いほど通信を行うことができないと判断し、台数が少ないほど通信を行うことができると判断してもよい。その判断において、判断部17は、判断対象に対応する要求通信状況と、取得部12によって取得された通信状況とを比較することによって、通信状況が要求通信状況をみたしているかどうか判断し、通信状況が要求通信状況をみたしている場合に、通信をすることができると判断し、通信状況が要求通信状況をみたしていない場合に、通信をすることができないと判断してもよい。例えば、要求通信状況がしきい値である場合に、判断部17は、取得された通信状況が、要求通信状況が示すしきい値より大きい場合、または小さい場合に、通信状況が要求通信状況をみたしていると判断してもよい。なお、判断結果は、例えば、「通信できる」、「通信できない」といった2段階であってもよく、「通信できる」、「通信できる可能性がある」、「通信できない」といった3段階であってもよく、または、4段階以上の通信可能な程度を示す情報であってもよい。要求通信状況を用いて3段階以上の判断を行う場合には、要求通信状況に含まれる2以上のしきい値が用いられてもよく、要求通信状況に含まれる1個のしきい値と、通信状況によって示される値の近さに応じて、3段階以上の判断が行われてもよい。なお、グループに関する判断を行う場合には、判断部17は、2段階の判断を行ってもよい。また、判断部17は、要求通信状況を用いないで判断を行ってもよい。例えば、通信状況に含まれるアイドル情報が予測送信機会である場合には、予測送信機会が高いほど、より通信を行うことができることになる。また、通信状況に通信品質が含まれる場合には、通信品質が高いほど、より通信を行うことができることになる。したがって、判断部17は、予測送信機会や通信品質そのものを、通信できるかどうかの判断結果として取得してもよい。また、前述のように、アプリケーションが通信を開始する時間について判断する場合にも、判断部17は、要求通信状況を用いないで判断を行うことになる。
また、判断部17は、アイドル情報を含む通信状況を用いた判断において、バックオフ時間を用いて判断を行ってもよい。具体的には、判断部17は、アイドル情報によって示されるアイドル状態の期間の多くが、無線LANの規格であるIEEE802.11におけるバックオフ時間よりも長い場合には、通信を行うことができると判断してもよい。その場合には、送信機会がほぼ確実に得られると判断できるからである。なお、そのバックオフ時間は、例えば、初回バックオフ時間の最大値であってもよく、その他のバックオフ時間であってもよい。初回バックオフ時間の最大値は、例えば、次のようになる。
初回バックオフ時間の最大値=DIFS+コンテンションスロット長×CWmin
なお、DIFS(distributed(coordination function)interframe space)は、キャリアセンスにおいて、ビジー状態から信号電力が検出されなくなり、アイドル状態になったと判断されるまでの時間間隔のうち、最も長いものである。また、コンテンションスロット長とは、バックオフ時間を算出するために用いられるあらかじめ決められた期間のことである。CWminは、CW(コンテンションウィンドウ)の最小値である。CWの値は、最小値CWminから、最大値CWmaxまでの範囲の値であり、初回バックオフ時間ではCWminであり、衝突に応じた再送が繰り返されるたびに、最大値CWmaxとなるまで増加する。また、コンテンションスロット長に、0からCWの範囲から生成される乱数を掛けることによって、バックオフ時間が算出される。したがって、初回バックオフの際のCWの最大値はCWminであり、初回バックオフ時間の最大値は上記式のようになる。
また、判断部17は、あるアプリケーションの起動時に、そのアプリケーションによる通信を行うことができないと判断した場合に、他のアプリケーションについても通信を行うことができるかどうか判断してもよい。通信を行うことができないと判断された起動対象のアプリケーション以外の通信を行うことができるアプリケーションをユーザに提示できるようにするためである。起動対象のアプリケーション以外の判断対象となるアプリケーションは、記憶部13で記憶されているアプリケーションのうち、起動対象のアプリケーション以外のアプリケーションに含まれるものであればよく、特に起動対象のアプリケーションと類似する機能を有するアプリケーションであることが好適である。例えば、起動対象のアプリケーションが電話のアプリケーションである場合には、他のアプリケーションは、電話と同様にコミュニケーションで用いられるメールやチャット等のアプリケーションであってもよい。具体的には、記憶部13において、類似の機能を有するアプリケーションが、クラスごとに分類されていてもよい。そして、起動対象のアプリケーションについて、通信を行うことができないと判断した場合に、判断部17は、その起動対象のアプリケーションのクラスと同じクラスに属する他のアプリケーションについて、通信を行うことができるかどうかを判断してもよい。なお、判断部17は、起動対象のアプリケーションによる通信を行うことができないと判断した場合に、その判断で用いた通信状況を用いて、他のアプリケーションについての判断を行うことが好適である。
出力部18は、判断部17による判断結果に応じた出力を行う。判断結果に応じた出力は、例えば、判断結果の出力であってもよい。この場合には、出力部18は、判断対象のアプリケーションによる通信を行うことができる、または、できないことを示す出力を行ってもよい。また、出力部18は、アプリケーションによる通信を開始できる時間を出力してもよい。また、出力部18は、どのグループに応じた通信を行うことができるかどうかを示す数字や文字列、図形等を出力してもよい。また、判断結果に応じた出力は、例えば、判断結果に応じて、出力の形態を変更することであってもよい。例えば、出力部18は、判断部17による判断結果に応じて、通信を行うことができるアプリケーションに応じた図形を、通信を行うことができないアプリケーションに応じた図形と区別可能に表示してもよい。その場合に、出力部18が用いる判断結果は、最新の判断結果であることが好適である。最新の判断結果に応じた表示がなされるようにするためである。また、アプリケーションに応じた図形は、例えば、アプリケーションに応じたアイコンであってもよい。その場合には、受付部14は、出力部18が表示した図形が選択された場合に、その選択された図形に対応するアプリケーションの起動の指示を受け付けてもよい。その図形の選択は、例えば、タップやクリック等による選択であってもよい。また、通信を行うことができるアプリケーションに応じた図形を、通信を行うことができないアプリケーションに応じた図形と区別可能に表示するとは、例えば、両図形の表示属性が異なることであってもよい。その表示属性は、例えば、枠の有無、ハイライトの有無、図形と共に表示する文字列の有無、グレーアウトしているかどうか等であってもよい。また、判断部17が2段階ではなく、3段階以上の判断を行った場合には、出力部18は、アプリケーションに応じた図形を、段階ごとに区別可能に表示してもよい。具体的には、3段階の判断が行われる場合に、出力部18は、各段階に応じて、アプリケーションの図形を三重枠、二重枠、通常の枠でそれぞれ表示してもよい。また、例えば、出力部18は、起動対象のアプリケーションの判断結果を、ダイアログボックス等に表示してもよい。なお、出力部18は、アプリケーションによる通信を行うことができないと判断された場合にのみ、その表示を行ってもよい。また、起動対象のアプリケーションについて、通信を行うことができないと判断され、他のアプリケーションについても判断が行われた場合に、出力部18は、通信を行うことができると判断されたアプリケーションを特定する情報をも出力してもよい。そのアプリケーションを特定する情報は、例えば、アプリ識別子であってもよく、アプリケーションの名称であってもよく、アプリケーションに応じた図形であってもよく、アプリケーションを特定可能なその他の情報であってもよい。また、要求通信状況のグループについて判断が行われた場合には、出力部18は、その判断結果に応じた数字や文字列、図形等の表示を行ってもよい。例えば、出力部18は、通信を行うことができると判断されたグループの個数に応じた表示を行ってもよい。具体的には、3個のグループについて通信可能と判断された場合には、出力部18は3本の矢印を表示し、2個のグループについて通信可能と判断された場合には、出力部18は2本の矢印を表示し、1個のグループについて通信可能と判断された場合には、出力部18は1本の矢印を表示し、通信可能と判断されたグループがなかった場合には、出力部18は矢印を表示しなくてもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、出力部18が表示を行う場合について主に説明する。なお、出力部18による出力が表示や音声出力でない場合であっても、判断結果に応じた出力内容が最終的にユーザに提示されることが好適である。ユーザが判断結果について知ることができるようにするためである。また、出力部18は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部18は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、通信可否判断装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)取得部12は、通信状況を取得するかどうか判断する。そして、取得する場合には、ステップS102に進み、そうでない場合には、ステップS103に進む。例えば、取得部12は、通信状況を取得すると定期的に判断してもよく、所定のイベントの発生に応じて、通信状況を取得すると判断してもよい。
(ステップS102)取得部12は、通信部11を介して通信状況を取得する。なお、その取得された通信状況は、図示しない記録媒体で記憶されてもよい。そして、ステップS101に戻る。
(ステップS103)判断部17は、通信を行うことができるかどうかの判断を行うかどうか判断する。そして、その判断を行う場合には、ステップS104に進み、そうでない場合には、ステップS107に進む。例えば、判断部17は、判断を行うと定期的に判断してもよく、所定のイベントの発生に応じて、判断を行うと判断してもよい。
(ステップS104)判断部17は、記憶部13で記憶されている個々のアプリケーションについて、通信を行うことができるかどうか判断する。なお、この処理の詳細については、図3のフローチャートを用いて後述する。また、この処理における判断対象のアプリケーションは、記憶部13で記憶されているすべてのアプリケーションであってもよく、一部のアプリケーションであってもよい。後者の場合には、判断対象のアプリケーションは、起動前のアプリケーション、すなわち、まだ起動されていないアプリケーションであってもよい。
(ステップS105)判断部17は、グループごとに、通信を行うことができるかどうか判断する。なお、この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS106)出力部18は、ステップS104での判断結果に応じて、アプリケーションに応じた図形を表示する。すなわち、出力部18は、通信可能なアプリケーションに応じた図形を、通信可能でないアプリケーションに応じた図形と区別可能に表示する。また、出力部18は、ステップS105での判断結果に応じた数字や文字列、図形を表示する。そして、ステップS101に戻る。
(ステップS107)受付部14は、アプリケーションの起動の指示を受け付けたかどうか判断する。そして、起動の指示を受け付けた場合には、ステップS108に進み、そうでない場合には、ステップS101に戻る。
(ステップS108)判断部17は、ステップS107で起動の指示が受け付けられたアプリケーションによる通信を行うことができるかどうかの判断等を行う。また、起動の指示がなされたアプリケーションによる通信を行うことができない場合には、判断部17は、他のアプリケーションについて、通信を行うことができるかどうか判断する。なお、この処理の詳細については、図5のフローチャートを用いて後述する。
(ステップS109)判断部17は、ステップS108において、起動対象のアプリケーションによる通信が可能であると判断したかどうか判断する。そして、通信が可能であると判断した場合には、ステップS112に進み、そうでない場合には、ステップS110に進む。
(ステップS110)出力部18は、ステップS108での判断結果を表示する。また、出力部18は、テップS108で通信を行うことができると判断された他のアプリケーションを特定する情報をも表示する。
(ステップS111)受付部14は、起動対象のアプリケーション、または、他のアプリケーションについて、起動の指示を受け付けたかどうか判断する。そして、いずれかのアプリケーションについて起動の指示を受け付けた場合には、ステップS112に進み、そうでない場合には、ステップS101に戻る。例えば、ステップS110の表示がなされてから所定の期間が経過しても、アプリケーションの起動の指示を受け付けない場合に、受付部14は、タイムアウトであると判断して、ステップS101に戻ってもよい。
(ステップS112)実行部15は、アプリケーションを起動する。起動されるアプリケーションは、ステップS108において起動対象のアプリケーションによる通信を行うことができると判断された場合には、その起動対象のアプリケーションであり、ステップS111で起動の指示が受け付けられた場合には、その起動の指示が受け付けられたアプリケーションである。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図2のフローチャートには記載していないが、アプリケーションが起動された後に、通信部11は、そのアプリケーションに関する通信を行ってもよく、受付部14は、そのアプリケーションの実行に関する指示や情報を受け付けてもよく、実行部15は、そのアプリケーションに関する処理を実行してもよく、出力部18は、そのアプリケーションの実行結果に関する情報を出力してもよい。
図3は、図2のフローチャートにおける個々のアプリケーションについての判断処理(ステップS104)の詳細を示すフローチャートである。
(ステップS201)判断部17は、カウンタiを1に設定する。
(ステップS202)判断部17は、判断対象のi番目のアプリケーションを識別するアプリ識別子に、対応情報記憶部16で記憶されている対応情報で対応付けられる要求通信状況を読み出す。
(ステップS203)判断部17は、取得部12が取得した最新の通信状況と、ステップS202で読み出した要求通信状況とを用いて、判断対象のi番目のアプリケーションが通信を行うことができるかどうか判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。
(ステップS204)判断部17は、カウンタiを1だけインクリメントする。
(ステップS205)判断部17は、判断対象のi番目のアプリケーションが存在するかどうか判断する。そして、そのアプリケーションが存在する場合には、ステップS202に戻り、そうでない場合には、図2のフローチャートに戻る。
図4は、図2のフローチャートにおけるグループごとの判断処理(ステップS105)の詳細を示すフローチャートである。なお、図4のフローチャートにおいて、3個のグループ、すなわち、第1から第3のグループについて判断が行われるものとする。また、第3のグループに対応する要求通信状況の要求が最も高く、第1のグループに対応する要求通信状況の要求が最も低いものとする。また、すべてのグループに対応する要求通信状況がみたされる場合をレベル3、第1及び第2のグループに対応する要求通信状況がみたされる場合をレベル2、第1のグループに対応する要求通信状況がみたされる場合をレベル1、すべてのグループに対応する要求通信状況がみたされない場合をレベル0とする。
(ステップS301)判断部17は、取得部12が取得した最新の通信状況と、第3のグループに対応する要求通信状況とを用いて、その通信状況が要求通信状況をみたすかどうか判断する。そして、その通信状況が要求通信状況をみたす場合には、ステップS302に進み、そうでない場合には、ステップS303に進む。
(ステップS302)判断部17は、グループについての判断結果がレベル3であると判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。そして、図2のフローチャートに戻る。
(ステップS303)判断部17は、取得部12が取得した最新の通信状況と、第2のグループに対応する要求通信状況とを用いて、その通信状況が要求通信状況をみたすかどうか判断する。そして、その通信状況が要求通信状況をみたす場合には、ステップS304に進み、そうでない場合には、ステップS305に進む。
(ステップS304)判断部17は、グループについての判断結果がレベル2であると判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。そして、図2のフローチャートに戻る。
(ステップS305)判断部17は、取得部12が取得した最新の通信状況と、第1のグループに対応する要求通信状況とを用いて、その通信状況が要求通信状況をみたすかどうか判断する。そして、その通信状況が要求通信状況をみたす場合には、ステップS306に進み、そうでない場合には、ステップS307に進む。
(ステップS306)判断部17は、グループについての判断結果がレベル1であると判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。そして、図2のフローチャートに戻る。
(ステップS307)判断部17は、グループについての判断結果がレベル0であると判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。そして、図2のフローチャートに戻る。
図5は、図2のフローチャートにおける起動対象のアプリケーションの判断処理(ステップS108)の詳細を示すフローチャートである。
(ステップS401)判断部17は、起動対象のアプリケーションを識別するアプリ識別子に、対応情報記憶部16で記憶されている対応情報で対応付けられる要求通信状況を読み出す。
(ステップS402)判断部17は、取得部12が取得した最新の通信状況と、ステップS401で読み出した要求通信状況とを用いて、起動対象のアプリケーションが通信を行うことができるかどうか判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。そして、通信を行うことができない場合には、ステップS403に進み、通信を行うことができる場合には、図2のフローチャートに戻る。
(ステップS403)判断部17は、カウンタjを1に設定する。
(ステップS404)判断部17は、起動対象のアプリケーション以外のアプリケーションのうち、j番目のアプリケーションを識別するアプリ識別子に、対応情報記憶部16で記憶されている対応情報で対応付けられる要求通信状況を読み出す。
(ステップS405)判断部17は、取得部12が取得した最新の通信状況と、ステップS404で読み出した要求通信状況とを用いて、j番目のアプリケーションが通信を行うことができるかどうか判断する。その判断結果は、図示しない記録媒体で記憶されてもよい。
(ステップS406)判断部17は、カウンタjを1だけインクリメントする。
(ステップS407)判断部17は、起動対象のアプリケーション以外のアプリケーションに、j番目のアプリケーションが存在するかどうか判断する。そして、j番目のアプリケーションが存在する場合には、ステップS404に戻り、そうでない場合には、図2のフローチャートに戻る。
なお、図5のフローチャートにおいて、起動対象のアプリケーション以外のアプリケーションとは、前述のように、起動対象のアプリケーション以外のすべてのアプリケーションであってもよく、起動対象のアプリケーション以外のアプリケーションのうち、起動対象のアプリケーションと類似する機能を有するアプリケーションであってもよい。また、ステップS402において、3段階以上の判断が行われる場合には、例えば、最も高い段階と判断された場合に、通信可能と判断されてもよく、あらかじめ決められた段階よりも高い段階と判断された場合に、通信可能と判断されてもよい。ここで、段階が高いほど、より通信を行うことができる程度が高いものとしている。
次に、本実施の形態による通信可否判断装置1の動作について、具体例を用いて説明する。この具体例において、通信可否判断装置1は、スマートフォンであり、無線LANの通信を行っているものとする。すなわち、通信可否判断装置1は、APと無線通信を行うSTAであるとする。また、この具体例では、取得部12は、アイドル割合を示すアイドル情報を取得し、送信されているフレームに含まれるMCSインデックスを用いて送信レートを取得し、それらを用いることによって、スループットを算出するものとする。そのスループットが、通信状況である。また、その通信状況は、定期的に取得されるものとする。
また、この具体例では、記憶部13及び対応情報記憶部16が一体として構成されており、その記憶部において、図6Aで示される情報が記憶されているものとする。その情報は、アプリケーションと対応情報とが一体となったものであり、図6Aで示されるように、アプリケーションと、対応情報と、アプリクラスとが対応付けられている。アプリケーションは、ブラウザ等のアプリケーションのプログラムである。対応情報は、アプリ識別子と、要求通信状況とを含んでいる。例えば、アプリケーション「phone.exe」を識別するアプリ識別子は「電話」であり、そのアプリケーションの要求通信状況は「60kbps」である。その要求通信状況はスループットである。通信状況の示すスループットが、要求通信状況の示すスループット以上である場合に、要求通信状況がみたされたと判断されるものとする。また、アプリ識別子「電話」で識別されるアプリケーションをアプリケーション「電話」と呼ぶこともある。他のアプリケーションについても同様であるとする。また、同じアプリクラスに属するアプリケーションは、類似するアプリケーションであるとする。例えば、アプリケーション「電話」と、アプリケーション「テレビ電話」とは、他者とのコミュニケーションを行うという意味において類似するアプリケーションであり、同じアプリクラス「1」に対応している。
また、対応情報記憶部16では、図6Bで示されるグループ対応情報も記憶されているものとする。図6Bにおいて、グループ対応情報は、グループ識別子と、要求通信状況とを有する。例えば、グループ識別子「G101」で識別されるグループに対応する要求通信状況は「50kbps」である。なお、この要求通信状況もスループットである。また、グループ識別子「G101」で識別されるグループをグループ「G101」と呼ぶこともある。他のグループについても同様であるとする。この具体例では、グループG101〜G103がそれぞれ、図4のフローチャートにおける第1から第3のグループに対応するものとする。
まず、取得部12が、通信状況を取得するタイミングであると判断したとする(ステップS101)。すると、取得部12は、通信部11が受信した無線信号を用いて、通信可否判断装置1が無線LANの通信を行っているAPとの無線通信を行っている周波数チャネルにおけるスループットを、前述のようにして算出する(ステップS102)。そのスループットは、500kbpsであったとする。
その後、通信の可否を判断するタイミングになると、判断部17は、まずすべてのアプリケーションについて、通信の可否を判断する(ステップS103,S104)。具体的には、判断部17は、図6Aのテーブルの1番目のレコードに含まれる要求通信状況「60kbps」を読み出し、最新の通信状況「500kbps」がそれ以上であるかどうか判断する(ステップS201〜S203)。この場合には、通信状況が要求通信状況をみたすため、判断部17は、アプリ識別子「電話」と、通信可能である旨とを対応付けて図示しない記録媒体に蓄積する。また、判断部17は、図6Aのテーブルの2番目のレコードに含まれる要求通信状況「1.5Mbps」を読み出し、最新の通信状況「500kbps」がそれ以上であるかどうか判断する(ステップS204,S205,S202,S203)。この場合には、通信状況が要求通信状況をみたさないため、判断部17は、アプリ識別子「動画」と、通信不可能である旨とを対応付けて図示しない記録媒体に蓄積する。判断部17は、このような判断を図6Aのテーブルに含まれる各アプリケーションについて行う(ステップS202〜S205)。
判断部17は、次にグループごとに、要求通信状況がみたされるかどうかを判断する(ステップS105)。具体的には、判断部17は、図6Bのテーブルの3番目のレコードに含まれる要求通信状況「2Mbps」を読み出し、最新の通信状況「500kbps」がそれ以上であるかどうか判断する(ステップS301)。この場合には、通信状況が要求通信状況をみたさないため、判断部17は、図6Bのテーブルの2番目のレコードに含まれる要求通信状況「1Mbps」を読み出し、最新の通信状況「500kbps」がそれ以上であるかどうか判断する(ステップS303)。この場合にも、通信状況が要求通信状況をみたさないため、判断部17は、図6Bのテーブルの1番目のレコードに含まれる要求通信状況「50kbps」を読み出し、最新の通信状況「500kbps」がそれ以上であるかどうか判断する(ステップS305)。この場合には、通信状況が要求通信状況をみたすため、判断部17は、グループについての判断結果がレベル1であると判断し、その判断結果を図示しない記録媒体に蓄積する(ステップS306)。
その後、出力部18は、判断部17の判断結果に応じてアプリケーションのアイコンを表示し、また、グループの判断結果に応じたインジケータを表示する(ステップS106)。その結果、スマートフォンである通信可否判断装置1のディスプレイには、図7Aで示される表示がなされる。図7Aの表示において、通信可能であると判断されたアプリケーション「電話」、「マップ」、「ブラウザ」、「天気」に応じた各アイコンは、通信可能であることを示す二重枠で表示されている。また、画面の情報には、無線LANの受信信号強度に応じたインジケータ51と、グループの判断結果に応じたインジケータ52とが表示されている。なお、インジケータ52では、レベル1〜3のそれぞれに応じて、1〜3本の矢印が表示されるものとする。図7Aの場合には、レベル1であるため、1本の矢印が表示されている。この図7Aの表示を見ることによって、ユーザは、アプリケーション「電話」、「マップ」、「ブラウザ」、「天気」が通信可能であると判断されたことと、グループに関する判断結果がレベル1であることとを知ることができる。
その後、取得部12による通信状況の取得が行われ、通信状況「470kbps」が取得され、図示しない記録媒体に蓄積されたとする。また、ユーザがアプリケーション「テレビ電話」のアイコンをタップしたとする。すると、受付部14は、アプリケーション「テレビ電話」の起動の指示を受け付けたと判断し、判断部17に、アプリケーション「テレビ電話」の起動の指示を受け付けた旨を伝える(ステップS107)。すると、判断部17は、その起動対象のアプリケーション「テレビ電話」に関する通信の可否の判断を行う(ステップS108)。具体的には、判断部17は、図6Aのテーブルにおいてアプリケーション「テレビ電話」に対応する要求通信状況「550kbps」を読み出し、最新の通信状況「470kbps」がそれ以上であるかどうか判断する(ステップS401,S402)。この場合には、通信状況が要求通信状況をみたさないため、判断部17は、アプリケーション「テレビ電話」のアプリクラス「1」を有する他のアプリケーションのうち、1番目のアプリケーション「電話」の要求通信状況「60kbps」を読み出し、最新の通信状況「470kbps」がそれ以上であるかどうか判断する(ステップS403〜S405)。この場合には、通信状況が要求通信状況をみたすため、判断部17は、アプリ識別子「電話」と、通信可能である旨とを対応付けて図示しない記録媒体に蓄積する。また、それ以外にアプリクラス「1」のアプリケーションが存在しなかったとする(ステップS406,S407)。すると、判断部17は、起動対象のアプリケーションが通信可能でないため(ステップS109)、図7Bで示されるように判断結果と、通信可能なアプリケーションの名称とを表示する(ステップS110)。図7Bでは、アプリケーション「テレビ電話」による通信が困難である旨と、アプリケーション「電話」による通信が可能である旨と、各アプリケーションの起動の指示を受け付けるボタンとを含むダイアログボックスが表示されている。その表示において、ユーザが、「電話を起動」ボタンをタップしたとする。すると、アプリケーション「電話」を起動する旨の指示が受付部14で受け付けられ、実行部15に渡される(ステップS111)。そして、実行部15は、記憶部13からアプリケーション「電話」に応じたプログラム「phone.exe」を読み出して実行する(ステップS112)。その結果、ユーザは、アプリケーション「電話」を使用して、所望の相手との音声通話を行うことができる。
なお、その後、取得部12による通信状況の取得が繰り返され、最新の通信状況が「2.3Mbps」になったとする(ステップS101,S102)。すると、前述の説明と同様に、アプリケーションやグループについての判断が行われ、図7Cで示されるように、判断結果に応じた表示が行われる(ステップS103〜S106)。その結果、ユーザは、アプリケーションに応じた各アイコンの表示と、インジケータ52の表示とを見ることによって、各アプリケーションによる通信が可能である旨と、グループに関する判断結果がレベル3である旨とを知ることができる。
なお、この具体例では、通信可能なアプリケーションのアイコンが二重枠で表示される場合について説明したが、そうでなくてもよい。例えば、図7Dで示されるように、通信可能でないアプリケーションのアイコンがグレーアウトして表示されてもよく、通信可能なアプリケーションのアイコンがハイライト表示されてもよく、通信可能でないアプリケーションのアイコンが「通信不可能」、「×」等の通信可能でないことを示す文字列と共に表示されてもよく、通信可能なアプリケーションのアイコンが「通信可能」、「○」等の通信可能なことを示す文字列と共に表示されてもよい。ハイライト表示とは、例えば、色や輝度、図柄等を他と区別できるように変更して表示したり、点滅の有無等の表示方法を他と区別できるように変更して表示したりすることである。
以上のように、本実施の形態による通信可否判断装置1によれば、アプリケーションによる通信を行うことができるかどうか判断することができる。したがって、ユーザは、その判断結果を知ることによって、アプリケーションを実行するかどうかなどを判断することができるようになる。例えば、受信信号強度は十分であっても、無線通信回線が輻輳しており、高い通信品質の要求されるアプリケーションを快適に使用することができないことを判断結果により知ったユーザは、低い通信品質でも通信可能なアプリケーションを起動することによって、快適な通信を行うことができるようになる。特に、アプリケーションの起動前の判断結果が出力されることにより、ユーザは、アプリケーションを立ち上げる前に、快適な通信を行うことができるかどうかを知ることができるようになる。また、判断結果に応じて、ユーザが通信を行うことができないアプリケーションの起動を行わないことによって、無線通信回線における無線リソースや通信可否判断装置1上の処理リソースの無駄な利用を防止することが可能となる。また、取得された通信状況に含まれるアイドル情報を用いて判断を行うことによって、通信を開始する機会があるかどうかを判断することができるようになる。また、取得された通信状況に含まれる通信品質を用いて判断を行うことによって、所望の品質で通信を行うことができるかどうかを判断することができるようになる。また、対応情報を用いて判断を行うことによって、アプリケーションごとの要求通信状況に応じた判断を行うことができ、より細かい判断を実現することができる。また、グループ対応情報を用いて判断を行うことによって、グループごとの要求通信状況に応じた判断を行うことができる。その結果、ユーザは、どの程度の無線通信を行うことができるのかの概略を容易に把握することができるようになる。また、判断結果に応じてアプリケーションに応じた図形の表示が変更されることにより、ユーザは、快適な通信を行うことができるアプリケーションと、そうでなくアプリケーションとを容易に区別することができるようになり、ユーザの利便性が向上される。また、アプリケーションの起動時に、そのアプリケーションの起動に関する判断結果が表示されることにより、起動後に快適な通信を行うことができない場合には、ユーザは、そのことを事前に知ることができるようになる。また、起動対象のアプリケーションによる通信を行うことができないと判断された場合に、通信可能なアプリケーションを特定する情報が出力されることにより、ユーザは、起動対象のアプリケーションを容易に変更することができるようになり、ユーザの利便性が向上される。
なお、本実施の形態による通信可否判断装置1は、図8で示されるように、混雑状況受付部21をさらに備えてもよい。この混雑状況受付部21は、無線通信が混雑する状況であるのかどうかを示す混雑状況を受け付ける。この混雑状況受付部21は、例えば、通信部11が受信した混雑状況を受け付けてもよく、通信以外の方法によって入力された混雑状況を受け付けてもよい。混雑状況は、現時点が混雑している状況であるかどうかを知ることができる情報であれば、どのような情報であってもよい。例えば、混雑状況受付部21は、混雑していない状況から混雑している状況になったり、混雑している状況から混雑していない状況になったりした際にのみ、混雑状況を受け付けてもよい。すなわち、混雑状況は、混雑の有無の変化を示す情報であってもよい。また、例えば、混雑状況受付部21は、混雑している状況の場合には、混雑していることを示す混雑状況を繰り返して受け付け、混雑していない状況の場合には、混雑していないことを示す混雑状況を繰り返して受け付けてもよい。その混雑状況の受け付けは、定期的であってもよく、不定期であってもよい。無線通信が混雑する状況とは、例えば、災害時等の非常時であってもよく、コンサートの幕間や新年などのように、多くの人が通信を行いたいと考える状況であってもよい。
混雑状況受付部21は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された混雑状況を受け付けてもよく、有線もしくは無線の通信回線を介して送信された混雑状況を受信してもよい。なお、混雑状況受付部21は、受け付けを行うためのデバイスを含んでもよく、あるいは含まなくてもよい。また、混雑状況受付部21は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
通信可否判断装置1が混雑状況受付部21を備える場合には、出力部18は、混雑状況受付部21によって無線通信が混雑する状況であることを示す混雑状況が受け付けられた場合に、判断部17による判断結果に応じた出力を行ってもよい。そして、無線通信が混雑する状況でないことを示す混雑状況が受け付けられた場合には、出力部18は、判断部17による判断結果に応じた出力を行わなくてもよい。なお、無線通信が混雑する状況でないことを示す混雑状況が受け付けられた場合に、出力部18が判断結果に応じた出力を行わないことは、結果としてそのようになればよい。したがって、例えば、無線通信が混雑する状況でないことを示す混雑状況が受け付けられた場合に、判断部17による判断が行われない結果として、判断結果に応じた出力がなされなくてもよく、取得部12による通信状況の取得が行われない結果として、判断部17による判断が行われず、判断結果に応じた出力がなされなくてもよい。このようにすることで、無線通信回線が輻輳する可能性がある場合にのみ、すなわち、必要な場合にのみ、アプリケーションによる通信を行うことができるかどうかの判断を行うようにすることができる。
また、本実施の形態では、グループに応じた判断を行う場合について説明したが、そうでなくてもよい。すなわち、判断部17は、グループに関する判断を行わなくてもよい。その場合には、対応情報記憶部16において、グループ対応情報が記憶されていなくてもよい。
また、本実施の形態では、起動対象のアプリケーションによる通信を行うことができないと判断した場合に、判断部17が他のアプリケーションについても通信を行うことができるかどうかを判断する場合について説明したが、そうでなくてもよい。
また、本実施の形態では、通信可否判断装置1が記憶部13、受付部14、実行部15を備える場合について説明したが、そうでなくてもよい。通信可否判断装置1は、それらの構成を備えていなくてもよい。それらの構成を備えていない場合には、通信可否判断装置1は、例えば、アプリケーションを実行する装置から、記憶されているアプリケーションのアプリ識別子や、起動されたアプリケーションのアプリ識別子等を受け付け、そのアプリ識別子で識別されるアプリケーションについて判断を行ってもよい。
また、本実施の形態では、アプリケーションごとの判断を行う場合について説明したが、そうでなくてもよい。すなわち、判断部17は、アプリケーションごとの判断を行わなくてもよい。その場合には、通信可否判断装置1は、対応情報記憶部16を備えていなくてもよい。
また、本実施の形態では、通信可否判断装置1がSTA等の端末装置である場合について主に説明したが、そうでなくてもよい。通信可否判断装置1は、例えば、AP等の無線基地局であってもよい。その場合には、判断部17は、STA等の端末装置から送信された判断要求に応じて、その端末装置が、アプリケーションによる通信を行うことができるかどうかを判断し、端末装置に判断結果を送信してもよい。また、判断部17は、判断要求の受信の有無に関わらず、アプリケーションによる通信を行うことができるかどうかを判断してもよい。その場合には、通信可否判断装置1は、あらかじめ決められたアプリケーションや、グループについて判断を行い、その判断結果を、通信可否判断装置1と通信を行う各端末装置に送信してもよい。通信可否判断装置1は、例えば、その判断結果を含むビーコン等の情報を各端末装置に送信してもよい。なお、この場合に、通信可否判断装置1は、判断結果の送信先である端末装置と無線通信を行う無線基地局等であることが好適である。そうであれば、通信可否判断装置1の通信部11が取得した通信状況が、端末装置の通信状況に近いものになるからである。
また、本実施の形態において、判断部17が最新の通信状況を用いて判断を行う場合について説明したが、そうでなくてもよい。例えば、5msごとに通信状況が取得されている場合などのように、高頻度に通信状況が取得されている場合には、最新の通信状況よりも1個前に取得された通信状況を用いて判断が行われてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、通信可否判断装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における通信可否判断装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、無線通信に関する通信状況を、無線通信を介して取得する取得部、取得部が取得した通信状況を用いて、アプリケーションによる通信を行うことができるかどうか判断する判断部、判断部による判断結果に応じた出力を行う出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。また、このプログラムは、オペレーティングシステム(OS)の一部であってもよく、または、OSとは独立したアプリケーションであってもよい。
図9は、上記プログラムを実行して、上記実施の形態による通信可否判断装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図9において、コンピュータシステム900は、CD−ROMドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図10は、コンピュータシステム900の内部構成を示す図である。図10において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による通信可否判断装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による通信可否判断装置1の機能を実行させるオペレーティングシステム、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。