(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明における無線通信システムのシステム構成を示す図である。本発明の無線通信システムは、単数もしくは複数のAP10、単数もしくは複数の無線端末20を備える。
AP10は、無線LANのアクセスポイントであり、自装置(AP10)に接続された単数もしくは複数の無線端末20との間で無線通信を行う。
無線端末20は、例えばスマートフォン、携帯電話機、PDA(Personal Digital Assistant)、携帯ゲーム装置、タブレット装置、ノート型パーソナルコンピュータ等の情報処理装置を用いて構成される。無線端末20は、AP10との間で無線通信を行う。
【0012】
図2は、AP10及び無線端末20の機能構成を表す概略ブロック図である。まず、AP10の機能構成を説明する。
AP10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、中継プログラムを実行する。中継プログラムの実行によって、AP10は、データベース記憶部101、優先フレーム確認部102、スキャン開始依頼部103、送信停止時間選択部104、フレーム生成部105、通信部106、チャネルスキャン部107を備える装置として機能する。なお、AP10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継プログラムは、電気通信回線を介して送受信されても良い。
【0013】
データベース記憶部101は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。データベース記憶部101は、SSIDデータベース及びスキャン情報データベースを記憶している。
SSIDデータベースには、自装置(AP10)に設定されているSSIDに関する情報が格納されている。SSIDデータベースは、例えば、自装置に設定されているSSID毎に、送信停止時間、優先フレームの各値を記憶している。
【0014】
スキャン情報データベースには、スキャン情報が格納されている。スキャン情報は、チャネルスキャンが行われた際に取得された情報を表す。スキャン情報データベースは、例えば、チャネルスキャンが行われたch毎に、AP台数、AP名の各値を記憶している。
【0015】
図3は、SSIDデータベース及びスキャン情報データベースの具体例を示す図である。
図3(A)は、SSIDデータベースの構成例を示す図である。
SSIDデータベースは、自装置(AP10)に設定されているSSIDに関する情報を表すレコード30を複数有する。レコード30は、SSID、送信停止時間及び優先フレームの各値を有する。SSIDの値は、レコード30によって表されるSSIDを表す。送信停止時間の値は、レコード30によって表されるSSIDで接続する無線端末20に対してフレーム送信を停止させる時間を表す。
図3の具体例では、送信停止時間の単位として“msec(ミリ秒)”が設定されている。
【0016】
優先フレームの値は、レコード30によって表されるSSIDで接続する無線端末20に対する未送信の優先フレームが通信部106の送信バッファに存在しているか否かを表す。
優先フレームの値「有」は、未送信の優先フレームが送信バッファに存在することを表す。優先フレームの値「無」は、未送信の優先フレームが送信バッファに存在しないことを表す。
【0017】
図3(A)に示す例では、SSIDデータベースには2つのSSIDが存在する。これら2つのSSIDは、“SSID1”、“SSID2”である。
図3(A)において、SSIDデータベースの最上段の行は、SSIDの値が“SSID1”、送信停止時間の値が“130”、優先フレームの値が“無”である。即ち、“SSID1”は、送信停止時間が“130msec”であり、優先フレームが存在しないことが表されている。
【0018】
また、
図3(A)において、SSIDデータベースの2段目の行は、SSIDの値が“SSID2”、送信停止時間の値が“130”、優先フレームの値が“有”である。即ち、“SSID2”は、送信停止時間が“130msec”であり、優先フレームが存在することが表されている。
【0019】
図3(B)は、スキャン情報データベースの構成図である。
スキャン情報データベースは、スキャン情報を表すレコード40を複数有する。レコード40は、ch、AP台数及びAP名の各値を有する。ch(チャネル)の値は、レコード40によって表されるスキャン情報が取得されたチャネルを表す。AP台数の値は、レコード40によって表されるchを使用しているAP10の台数を表す。AP名の値は、レコード40によって表されるchを使用しているAP10の名(例えばESSID、端末識別子)を表す。
【0020】
図3(B)に示す例では、スキャン情報データベースには複数のch(1ch〜13ch)が存在する。
図3(B)において、スキャン情報データベースの最上段の行は、chの値が“1”、AP台数の値が“2”、AP名の値が“AP1及びAP2”である。即ち、“1ch”は、“2台”のAP10によって使用されており、使用しているAP10の名前がそれぞれ“AP1”及び“AP2”であることが表されている。
【0021】
図2に戻って、AP10の説明を続ける。
優先フレーム確認部102は、所定のタイミングが到来すると、データベース記憶部101に記憶されているSSIDデータベースを参照することによって優先フレームが存在するか否かを確認する。所定のタイミングとは、例えば所定の期間(例えば10秒、1分、1時間)が経過したタイミングであっても良いし、ユーザから指示がなされたタイミングであっても良いし、通信エラーの発生頻度が閾値を超えた時点のタイミングであっても良いし、他のタイミングであっても良い。
【0022】
スキャン開始依頼部103は、優先フレーム確認部102の確認結果に基づいてチャネルスキャンの開始を指示する。例えば、スキャン開始依頼部103は、無線端末20に対する未送信の優先フレームが存在する場合、チャネルスキャンの開始を指示しない。一方、スキャン開始依頼部103は、無線端末20に対する未送信の優先フレームが存在しない場合、チャネルスキャンの開始を指示する。
【0023】
送信停止時間選択部104は、チャネルスキャンの開始指示に従って、送信停止時間を選択する。例えば、送信停止時間選択部104は、チャネルスキャンの開始指示がなされると、SSIDデータベースを参照し、自装置に設定されているSSID毎に送信停止時間の値を取得する。なお、送信停止時間は、チャネルスキャンの実行に要する時間(以下、「スキャン時間」という。)よりも長い時間となるように予め設定される。送信停止時間は、AP10の設計時に固定値として設定されても良いし、ユーザによって設定されても良い。
【0024】
フレーム生成部105は、送信停止時間選択部104が選択した送信停止時間の値を用いてCTSフレーム信号を生成する。例えば、フレーム生成部105は、CTSフレームのヘッダ部分に送信停止時間の値を収容することによってCTSフレーム信号を生成する。CTSフレーム信号とは、無線端末20による送信を一定期間停止させる際に用いられる信号である。
【0025】
通信部106は、無線端末20との間で無線信号を送受信する。通信部106は、例えば、フレーム生成部105が生成したCTSフレーム信号を無線端末20に送信する。また、通信部106は、自身の送信バッファの状態をSSIDデータベースに反映させる。このような処理は、なるべく短い周期で行われることが望ましい。そのように構成されることによって、優先フレーム確認部102がSSIDデータベースに基づいて優先フレームの有無を判断した際に、判断結果と実際の送信バッファの状態との乖離を抑制することが可能となる。
【0026】
チャネルスキャン部107は、チャネルスキャンを行う。具体的には、チャネルスキャン部107は、自装置の動作モードをAPモードからSTAモードに変更して、各チャネルを遷移しながら各チャネルのビーコンフレームを受信する。そして、チャネルスキャン部107は、受信したビーコンフレームから各チャネルに関するスキャン情報を取得する。チャネルスキャン部107は、チャネルスキャンよって取得したスキャン情報をスキャン情報データベースに記録する。チャネルスキャン部107が行うチャネルスキャン処理には、既存の技術が適用されても良い。
【0027】
次に、無線端末20の機能構成を説明する。無線端末20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、無線端末プログラムを実行する。無線端末プログラムの実行によって、無線端末20は、通信部201、制御部202を備える装置として機能する。なお、無線端末20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。また、無線端末プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、無線端末プログラムは、電気通信回線を介して送受信されても良い。
【0028】
通信部201は、AP10との間で無線信号を送受信する。通信部201は、例えば、AP10から送信されたCTSフレーム信号を受信する。
制御部202は、無線端末20の各機能部を制御する。例えば、制御部202は、通信部201が受信したCTSフレーム信号に含まれている送信停止時間の間、フレーム送信を停止する。
【0029】
図4は、CTSフレームのフレームフォーマットの例を示す図である。
CTSフレームは、Frame control、Duration、DEST Address、FCS(Frame Check Sequence)の各値を格納するフィールドを有する。Frame controlのフィールドには、例えば、フレームの種類、フレームの宛先、送信元が無線又は有線であるか、フラグメント情報、電力管理、WEP(Wired Equivalent Privacy)の使用の有無などの情報が格納されている。Durationのフレームには、電波を使用する予定期間の情報が格納されている。予定期間とは、フレーム送信に必要な時間を表す。DEST Addressのフィールドには、宛先MAC(Media Access Control)アドレス、送信元MACアドレス、アクセスポイントMACアドレスなどの情報が格納されている。FCSのフィールドには、誤り検出のためのデータが格納されている。
【0030】
図5は、本実施形態におけるフレーム送信抑制処理の流れの具体例を示すフローチャートである。フレーム送信抑制処理とは、無線端末20のフレーム送信を抑制させる際に行われる処理である。AP10は、フレーム送信抑制処理の開始時にはAPモードで動作している。
まず、優先フレーム確認部102は、所定のタイミングが到来すると、データベース記憶部101に記憶されているSSIDデータベースを読み出す。優先フレーム確認部102は、読み出したSSIDデータベースを参照することによって無線端末20に対する未送信の優先フレームが送信バッファに存在するか否か確認する(ステップS101)。
未送信の優先フレームが送信バッファに存在する場合(ステップS101−YES)、スキャン開始依頼部103はチャネルスキャンの開始を指示しない。その後、再びステップS101の処理に戻り、所定のタイミングが到来する度に優先フレーム確認部102はステップS101の処理を繰り返し実行する。
【0031】
一方、未送信の優先フレームが送信バッファに存在しない場合(ステップS101−NO)、スキャン開始依頼部103はチャネルスキャンの開始を指示する(ステップS102)。送信停止時間選択部104は、スキャン開始依頼部103からチャネルスキャンの開始指示がなされると送信停止時間を選択する。
具体的には、送信停止時間選択部104は、チャネルスキャンの開始指示に従って、データベース記憶部101に記憶されているSSIDデータベースを読み出す。送信停止時間選択部104は、読み出したSSIDデータベースに記録されているレコード30のうち、自装置に設定されているSSIDに対応するレコード30を選択する。送信停止時間選択部104は、選択したレコード30に記録されているSSID及び送信停止時間の値を取得する。送信停止時間選択部104は、取得したSSID及び送信停止時間の値をフレーム生成部105に出力する(ステップS103)。
【0032】
フレーム生成部105は、送信停止時間選択部104が出力したSSID及び送信停止時間の値を用いてCTSフレーム信号を生成する。例えば、フレーム生成部105は、CTSフレームのFrame Controlのフィールド及びDurationのフィールドに、それぞれ送信停止時間選択部104から出力されたSSID及び送信停止時間を収容することによってCTSフレーム信号を生成する(ステップS104)。AP10の通信部106は、フレーム生成部105によって生成されたCTSフレーム信号を無線端末20に送信する(ステップS105)。その後、AP10の通信部106は、チャネルスキャン部107にCTSフレーム信号送信を通知する。
【0033】
無線端末20の通信部201は、AP10から送信されたCTSフレーム信号を受信する。制御部202は、受信したCTSフレーム信号に収容されている送信停止時間の間、フレーム送信を停止する。
【0034】
CTSフレーム信号送信の通知がなされると、チャネルスキャン部107は、自装置(AP10)の動作モードをAPモードからSTAモードに変更する。そして、チャネルスキャン部107はチャネルスキャンを行う(ステップS106)。チャネルスキャン部107は、チャネルスキャンを行うことによって、取得したスキャン情報をデータベース記憶部101のスキャン情報データベースに記録する。そして、
図5の処理は終了する。
【0035】
図6は、本実施形態におけるフレーム送信抑制処理の動作の具体例を示すシーケンス図である。
以下の説明における無線通信システムでは、AP10の台数は1台、無線端末20の台数は2台(PC1及びPC2)である。また、処理開始時には、PC1には優先フレームが存在せず、PC2には優先フレームが存在する。
【0036】
AP10は、APモードで動作し、PC1及びPC2との間で無線通信を行っている(ステップS201,S202)。優先フレーム確認部102は、データベース記憶部101に記憶されているSSIDデータベースを参照することによって、PC1又はPC2に対する未送信の優先フレームが存在するか否か確認する(ステップS203)。
【0037】
PC1又はPC2に対する未送信の優先フレームが存在する場合、ステップS204以降の処理は行われない。優先フレーム確認部102は、PC1及びPC2に対する未送信の優先フレームがなくなるまでステップS203の処理を繰り返し実行する。
AP10がPC2に対する優先フレームの送信を終了すると、ステップS204以降の処理が開始される。以下の説明においてPC2には優先フレームが存在しない。
【0038】
優先フレーム確認部102は、無線端末20に優先フレームが存在しないことをスキャン開始依頼部103に通知する。スキャン開始依頼部103は、優先フレーム確認部102から通知がなされると、チャネルスキャンの開始を指示する。送信停止時間選択部104は、チャネルスキャンの開始指示に従って、データベース記憶部101に記憶されているSSIDデータベースを読み出す。送信停止時間選択部104は、読み出したSSIDデータベースのレコード30のうち、自装置(AP10)に帰属しているPC1及びPC2のSSIDに対応するレコード30を選択する。送信停止時間選択部104は、選択したレコード30の送信停止時間に記録されている値を取得する(ステップS204)。
【0039】
送信停止時間選択部104は、取得した送信停止時間の値をフレーム生成部105に出力する。フレーム生成部105は、出力された送信停止時間の値をCTSフレームのDurationの領域に収容することによってCTSフレーム信号を生成する(ステップS205)。通信部106は、フレーム生成部105が生成したCTSフレーム信号をPC1及びPC2に送信する(ステップS206)。
【0040】
PC1は、AP10から送信されたCTSフレーム信号を受信する。PC1は、受信したCTSフレーム信号に収容されている送信停止時間の間、フレーム送信を停止する。
PC2は、AP10から送信されたCTSフレーム信号を受信する。PC2は、受信したCTSフレーム信号に収容されている送信停止時間の間、フレーム送信を停止する(ステップS207)。
【0041】
チャネルスキャン部107は、自装置の動作モードをAPモードからSTAモードに変更し、チャネルスキャンを行う。チャネルスキャン部107は、チャネルスキャンによって取得したチャネル情報をスキャン情報データベースに記録する(ステップS208)。そして、
図6の処理は終了する。
【0042】
以上のように構成されたAP10は、無線端末20に対する未送信の優先フレームが存在しない状態で、無線端末20に対してCTSフレーム信号を送信する。そして、AP10は、無線端末20のフレーム送信を一定期間停止させる。そして、無線端末20がフレーム送信を停止している間に、AP10は自装置の動作モードをAPモードからSTAモードに変更しチャネルスキャンを行う。したがって、AP10及び無線端末20の間で無線通信が行われている間に、AP10がAPモードからSTAモードに変更を行う事がない。そのため、AP10と無線端末20との間で通信断が発生することを防止し、通信断によるパケットロスの発生を軽減することが可能となる。
【0043】
<変形例>
また、
図6の送信抑制処理は、上述の処理に限定される必要はない。例えば、自装置(AP10)に設定されているSSID毎に優先フレームの有無を確認し、優先フレームが存在しないSSIDのみに
図6のステップS204〜ステップS207の処理が行われても良い。この場合、優先フレームが存在するSSIDは、優先フレームの送信が完了した後にCTSフレームが送信される。その後、AP10の通信部106が自装置に設定されているSSID全てにCTSフレームを送信した後に、チャネルスキャン部107がチャネルスキャンを行う。具体的な処理について
図7を用いて説明する。
【0044】
図7は、変形例におけるフレーム送信抑制処理の動作の具体例を示すシーケンス図である。以下の説明における無線通信システムでは、AP10の台数は1台、無線端末20は2台(PC1及びPC2)である。また、処理開始時には、PC1には優先フレームが存在せず、PC2には優先フレームが存在する。また、PC1とPC2とは、異なるSSIDでAP10と接続されている。例えば、PC1は、SSID1でAP10と接続されている。また、PC2は、SSID2でAP10と接続されている。
【0045】
AP10は、APモードで動作し、PC1及びPC2との間で無線通信を行っている(ステップS301,S302)。優先フレーム確認部102は、データベース記憶部101に記憶されているSSIDデータベースを参照することによって、PC1及びPC2それぞれについて未送信の優先フレームが存在するか否かを確認する(ステップS303)。PC1には未送信の優先フレームが存在しない。一方、PC2には未送信の優先フレームが存在する。そのため、PC1に対してはステップS304〜ステップS307の処理が行われ、PC2に対してはステップS304〜ステップS307の処理は行われない。
以下、ステップS304〜S307の処理について説明する。優先フレーム確認部102は、優先フレームの確認結果をスキャン開始依頼部103に通知する。スキャン開始依頼部103は、優先フレーム確認部102から通知された確認結果に基づいて、チャネルスキャンの開始を送信停止時間選択部104に指示する。
【0046】
送信停止時間選択部104は、データベース記憶部101に記憶されているSSIDデータベースを参照することによって送信停止時間を選択する。具体的には、送信停止時間選択部104は、SSIDデータベースの中から、PC1が接続しているSSID(SSID1)に対応するレコード30を選択する。送信停止時間選択部104は、選択したレコード30に記録されている送信停止時間の値を取得する(ステップS304)。
送信停止時間選択部104は、取得した送信停止時間の値をフレーム生成部105に出力する。フレーム生成部105は、出力された送信停止時間の値をCTSフレームのDurationの領域に収容することによってCTSフレーム信号を生成する(ステップS305)。
【0047】
通信部106は、フレーム生成部105が生成したCTSフレーム信号をPC1に送信する(ステップS306)。PC1は、AP10から送信されたCTSフレーム信号を受信する。PC1は、受信したCTSフレーム信号に収容されている送信停止時間の間、フレーム送信を停止する(ステップS307)。
通信部106は、PC2に対して優先フレームの送信が完了するまで送信を継続する(ステップS308)。
優先フレーム確認部102は、データベース記憶部101に記憶されているSSIDデータベースを参照することによってPC2に対する未送信の優先フレームが存在するか否かを確認する(ステップS309)。ここで、PC2に対する未送信の優先フレームは存在しない。そのため、PC2に対してステップS310〜ステップS313の処理が行われる。
【0048】
送信停止時間選択部104は、SSIDデータベースの中から、PC2が接続しているSSID(SSID2)に対応するレコード30を選択する。送信停止時間選択部104は、選択したレコード30に記録されている送信停止時間の値を取得する(ステップS310)。
送信停止時間選択部104は、取得した送信停止時間の値をフレーム生成部105に出力する。フレーム生成部105は、出力された送信停止時間の値をCTSフレームのDurationの領域に収容することによってCTSフレーム信号を生成する(ステップS311)。
【0049】
通信部106は、フレーム生成部105が生成したCTSフレーム信号をPC2に送信する(ステップS312)。PC2は、AP10から送信されたCTSフレーム信号を受信する。PC2は、受信したCTSフレーム信号に収容されている送信停止時間の間、フレーム送信を停止する(ステップS313)。
通信部106は、自装置(AP10)に帰属している無線端末20(PC1及びPC2)に対してCTSフレーム信号の送信が完了すると、チャネルスキャン部107にCTSフレーム信号の送信完了を通知する。
【0050】
チャネルスキャン部107は、自装置の動作モードをAPモードからSTAモードに変更し、チャネルスキャンを行う。チャネルスキャン部107は、チャネルスキャンによって取得したチャネル情報をスキャン情報データベースに記録する(ステップS314)。そして、
図7の処理は終了する。
【0051】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。