以下に、本願の開示する無線通信装置、無線通信システムおよび障害原因推定方法の実施例を、図面に基づいて詳細に説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[無線通信システム10]
図1は、実施例1における無線通信システム10の一例を示す図である。本実施例における無線通信システム10は、AP(Access Point)20および複数の無線通信端末13−1〜13−nを備える。AP20は、ルータ等のネットワーク装置12を介して、例えばWAN(Wide Area Network)11等のコアネットワークに接続される。AP20は、無線通信端末13−1〜13−nのそれぞれと無線LANに基づく無線通信を行う。なお、以下では、複数の無線通信端末13−1〜13−nのそれぞれを区別することなく総称する場合に無線通信端末13と記載する。
AP20は、無線通信端末13から受信したパケットをネットワーク装置12へ送る。また、AP20は、ネットワーク装置12から受信したパケットを、無線通信により無線通信端末13へ送信する。ネットワーク装置12は、AP20からパケットを受信した場合に、受信したパケットの宛先に基づいて、受信したパケットをWAN11へ送信する。また、ネットワーク装置12は、AP20または無線通信端末13宛のパケットをWAN11から受信した場合に、受信したパケットをAP20へ送る。
[AP20]
図2は、実施例1におけるAP20の一例を示すブロック図である。本実施例におけるAP20は、通信制御部21、障害判定部22、保持部23、応答時間測定部24、パケットロス率測定部25、RSSI(Received Signal Strength Indicator)測定部26、送信部27、受信部28、およびアンテナ29を有する。保持部23は、応答時間テーブル230、パケットロス率テーブル231、RSSIテーブル232、およびログテーブル233を有する。
図3は、応答時間テーブル230の一例を示す図である。応答時間テーブル230は、端末ID2300、平均応答時間2301、基準値2302、および応答時間マージン2303を対応付けて保持する。端末ID2300は、それぞれの無線通信端末13を識別する情報であり、例えば無線通信端末13のMAC(Media Access Control)アドレスである。平均応答時間2301は、パケットの送信が指示されてから、送信されたパケットに対する応答パケットを受信するまでの応答時間の平均である。基準値2302は、平均応答時間2301の基準となる値である。応答時間マージン2303は、基準値2302に対して許容される平均応答時間の変動幅を示す値である。
図4は、パケットロス率テーブル231の一例を示す図である。パケットロス率テーブル231は、端末ID2310およびパケットロス率2311を対応付けて保持する。パケットロス率2311は、例えば、送信されたパケットのうち、送信されたパケットに対する応答パケットであるAck(ACKnowledgement)パケットが受信されなかったパケットの割合である。
図5は、RSSIテーブル232の一例を示す図である。RSSIテーブル232は、端末ID2320、平均RSSI2321、基準値2322、およびRSSIマージン2323を対応付けて保持する。平均RSSI2321は、無線通信端末13から送信された信号をAP20が受信した際の受信強度の平均である。基準値2322は、平均RSSI2321の基準となる値である。RSSIマージン2323は、基準値2322に対して許容される平均RSSIの変動幅を示す値である。
なお、図3から図5に示した応答時間テーブル230、パケットロス率テーブル231、およびRSSIテーブル232内のデータは、登録されてから所定時間が経過した場合に削除されることが好ましい。これにより、AP20のサービスエリア外に移動したり、電源がOFFになったりした無線通信端末13のデータが、応答時間テーブル230、パケットロス率テーブル231、およびRSSIテーブル232内に残り続けることを防止することができる。
図6は、ログテーブル233の一例を示す図である。ログテーブル233は、判定結果2330および時刻2331を対応付けて保持する。判定結果2330は、障害の判定結果を示す。時刻2331は、判定結果2330が登録された時刻を示す。
図2に戻って説明を続ける。送信部27は、通信制御部21からパケットの送信を指示された場合に、パケットの送信が指示された旨を、パケットの宛先の無線通信端末13のMACアドレスと共に、応答時間測定部24およびパケットロス率測定部25に通知する。そして、送信部27は、所定時間待機した後に、指示されたパケットを、アンテナ29を介して宛先の無線通信端末13へユニキャストにより送信する。
また、送信部27は、パケットを送信してから所定時間以内に、送信したパケットの宛先の無線通信端末13から受信部28がAckパケットを受信しなかった場合に、パケットを再送する。そして、再送回数が所定回数(例えば5回)に達した場合、送信部27は、パケットロスを、パケットの宛先の無線通信端末13のMACアドレスと共に、応答時間測定部24およびパケットロス率測定部25に通知する。
受信部28は、アンテナ29を介してパケットを受信した場合に、受信したパケットを通信制御部21へ送る。また、受信部28は、アンテナ29を介して受信したパケットがAckパケットである場合、Ackパケットを送信した無線通信端末13のMACアドレスを応答時間測定部24、パケットロス率測定部25、および送信部27へ送る。また、受信部28は、無線通信端末13からパケット(Ackパケットを含む)を受信した場合に、パケットを受信した際のRSSIを、受信したパケットの送信元の無線通信端末13のMACアドレスと共にRSSI測定部26へ送る。
通信制御部21は、ネットワーク装置12からパケットを受信した場合に、受信したパケットを送信部27へ送り、パケットの送信を送信部27に指示する。また、通信制御部21は、受信部28からパケットを受信した場合に、受信したパケットをネットワーク装置12へ送る。本実施例において、通信制御部21は、所定のタイミング毎(例えば数秒毎)に、それぞれの無線通信端末13の応答時間、パケットロス率、およびRSSIを測定するためのテストパケットを生成し、生成したテストパケットを送信部27に送信させる。
応答時間測定部24は、無線通信端末13のMACアドレスと共に、パケットの送信が指示された旨を送信部27から受信した場合に、MACアドレスに対応する無線通信端末13の応答時間の測定を開始する。そして、応答時間測定部24は、受信部28から、Ackパケットを送信した無線通信端末13のMACアドレスを受信した場合に、MACアドレスに対応する無線通信端末13の応答時間を算出して保持する。なお、応答時間測定部24は、送信部27からパケットロスが通知された場合、パケットロスが通知された時点までの時間を、応答時間として算出して保持する。
そして、応答時間測定部24は、例えば、無線通信端末13毎に保持している応答時間の中で、新しい順に所定数の応答時間を平均して平均応答時間を算出する。そして、応答時間測定部24は、無線通信端末13の端末ID(本実施例ではMACアドレス)に対応付けて保持部23内の応答時間テーブル230に格納されている応答時間を、算出した平均応答時間で更新する。本実施例において、応答時間測定部24は、無線通信端末13毎に、新しい順に例えば数十個程度の応答時間を平均して平均応答時間を算出する。
ここで、本実施例における応答時間について説明する。図7は、応答時間の一例を説明する図である。AP20から無線通信端末13へパケットが送信される場合、AP20では、例えば通信制御部21から送信部27に、パケットの送信が指示される。そして、送信部27は、所定時間t1の間、パケットの送信を待機した後に、アンテナ29を介してパケットを送信する。所定時間t1には、例えばDIFS(Distributed Inter Frame Space)期間およびバックオフ期間等が含まれる。AP20から送信されたパケットは、無線通信端末13において受信される。
無線通信端末13は、パケットを受信してから所定時間t2が経過した後に、受信したパケットに対するAckパケットを送信する。所定時間t2は、例えばSIFS(Short Inter Frame Space)期間である。無線通信端末13から送信されたAckパケットは、AP20において受信される。無線通信端末13から送信されたAckパケットは、AP20からパケットが送信されてから所定時間t3が経過した後に、AP20において受信される。所定時間t3は、AP20と無線通信端末13との間の無線通信路における往復の伝送時間と所定時間t2とを合計した時間である。
本実施例において、応答時間とは、例えば図7に示すように、通信制御部21からパケットの送信が指示されてから、送信されたパケットに対するAckパケットを受信部28が受信するまでの時間t0である。ここで、所定時間t1に含まれるバックオフ時間は、数μ〜数十μ秒の範囲でランダムに選択される。そのため、応答時間t0は、所定の変動幅を有する。また、時間t3に含まれる、AP20と無線通信端末13との間の無線通信路における往復の伝送時間は、AP20と無線通信端末13と位置関係や、AP20と無線通信端末13との間の障害物の状況等に応じて、無線通信端末13毎に異なる。
そのため、本実施例では、例えば無線通信端末13の設置時に、管理者等が無線通信端末13の応答時間t0を、複数回実測する。そして、管理者等が、実測した応答時間t0から求められた値(例えば応答時間t0の平均値)を無線通信端末13の応答時間の基準値として応答時間テーブル230に登録する。また、管理者等は、実測した応答時間t0のばらつきの度合いを、応答時間の基準値に対するマージンとして、応答時間テーブル230に登録する。実測された応答時間t0の標準偏差をσとした場合、応答時間の基準値に対するマージンは、例えばσや2σ等であってもよい。
パケットロス率測定部25は、無線通信端末13のMACアドレスと共に、パケットの送信が指示された旨を送信部27から受信した場合に、受信したMACアドレスに対応する無線通信端末13のパケットロス率の算出を開始する。そして、Ackパケットを送信した無線通信端末13のMACアドレスを受信部28から受信した場合に、パケットロス率測定部25は、受信したMACアドレスに対応する無線通信端末13にパケットが到達したと判定する。
一方、無線通信端末13のMACアドレスと共に、パケットロスが送信部27から通知された場合、パケットロス率測定部25は、通知されたMACアドレスに対応する無線通信端末13にパケットが到達しなかったと判定する。そして、パケットロス率測定部25は、それぞれの無線通信端末13について、新しい順に、送信された所定数のパケットの中で、パケットロスと判定されたパケットの割合を、パケットロス率として算出する。
そして、パケットロス率測定部25は、算出したパケットロス率で、無線通信端末13の端末IDに対応付けてパケットロス率テーブル231に登録されているパケットロス率を更新する。本実施例において、パケットロス率測定部25は、新しい順に例えば数十個程度のパケットについて、パケットロス率を算出する。
RSSI測定部26は、受信部28から無線通信端末13のMACアドレスと共にRSSIを受信した場合に、受信したMACアドレス毎に、RSSIを保持する。そして、RSSI測定部26は、無線通信端末13毎に、保持しているRSSIの中から、新しい順に所定数のRSSIを抽出し、抽出したRSSIを平均して平均RSSIを算出する。そして、RSSI測定部26は、算出した平均RSSIで、無線通信端末13の端末ID(本実施例ではMACアドレス)に対応付けられてRSSIテーブル232に登録されている平均RSSIを更新する。本実施例において、RSSI測定部26は、新しい順に、例えば数十個程度のRSSIを平均して平均RSSIを算出する。なお、平均RSSIは、Ackパケットだけでなく、無線通信端末13から送信された他のパケットを受信した際のRSSIも用いて算出される。
障害判定部22は、所定のタイミング毎(例えば10分毎)に、保持部23内の各テーブルを参照して、障害原因推定処理を実行する。障害判定部22は、障害原因推定処理において、送信部27が送信したパケットに対する応答に異常がある無線通信端末13が、パケットの送信先の無線通信端末13の中の一部の無線通信端末13である場合に、当該一部の無線通信端末13の障害と判定する。また、障害判定部22は、障害原因推定処理において、送信部27が送信したパケットに対する応答に異常がある無線通信端末13が、パケットの送信先の全ての無線通信端末13である場合に、AP20の障害と判定する。
例えば、障害判定部22は、障害原因推定処理において、パケットロス率テーブル231を参照し、パケットロス率Pが所定の閾値Pth以上である無線通信端末13を特定する。本実施例において、所定の閾値Pthは、例えば100%である。
パケットロス率Pが閾値Pth以上の無線通信端末13が、全ての無線通信端末13である場合、障害判定部22は、AP20の故障または遮蔽と判定する。全ての無線通信端末13とは、例えばAP20に帰属している全ての無線通信端末13である。また、AP20の遮蔽とは、例えば、いずれの無線通信端末13との間においても、AP20からの電波が通信可能な強度で無線通信端末13に届かず、無線通信端末13からの電波が通信可能な強度でAP20に届かない状態を指す。
また、パケットロス率Pが閾値Pth以上である無線通信端末13が、一部の無線通信端末13である場合、障害判定部22は、パケットロス率Pが閾値Pth以上である無線通信端末13の故障または遮蔽と判定する。そして、障害判定部22は、判定結果を、判定を行った時刻と共に、保持部23内のログテーブル233に登録する。
図8は、障害の一例を説明する図である。例えば図8に示すように、AP20と無線通信端末13−1との間に、遮蔽物30が存在する場合、AP20からの電波が通信可能な強度で無線通信端末13−1に届かない。無線通信端末13−1は、AP20から送信されたパケットが受信されないため、Ackパケットの送信を行わない。AP20は、無線通信端末13−1へ送信したパケットに対するAckパケットを受信しないため、無線通信端末13−1に対してパケットの再送を繰り返す。そして、所定回数のパケットの再送を行っても無線通信端末13−1からAckパケットを受信しない場合、AP20は、無線通信端末13−1についてパケットロスを検出する。遮蔽物30が存在する間は、AP20と無線通信端末13−1との間の電波環境は変わらないため、遮蔽物30が設けられてから所定時間が経過すると、無線通信端末13−1のパケットロス率Pが閾値Pth以上となる。
また、例えば図8に示すように、無線通信端末13−2が故障している場合、AP20から送信されたパケットが、通信可能な電波強度で無線通信端末13−2に届いたとしても、無線通信端末13−2は、Ackパケットを返さない。そのため、AP20は、無線通信端末13−2に対してパケットの再送を繰り返し、パケットロスを検出する。そして、無線通信端末13−2が故障してから所定時間が経過すると、無線通信端末13−2のパケットロス率Pが閾値Pth以上となる。
ここで、AP20に帰属している無線通信端末13の中に、パケットロス率Pが閾値Pth未満となる無線通信端末13−3が1つでも存在すれば、AP20の故障または遮蔽ではないと判定することができる。また、AP20の送信部27が故障している場合、全ての無線通信端末13に対してパケットが送信されない。また、AP20が遮蔽物で遮蔽されている場合、送信されたパケットは、いずれの無線通信端末13においても受信されない。また、AP20の受信部28が故障している場合には、AP20の送信部27がパケットを送信したとしても、いずれの無線通信端末13から送信されたAckパケットも受信されない。そのため、AP20が故障している、または、遮蔽されている場合には、全ての無線通信端末13のパケットロス率Pが閾値Pth以上となる。
ここで、全ての無線通信端末13のパケットロス率Pが閾値Pth以上になった場合、全ての無線通信端末13が同時に故障したり遮蔽されたことも考えられる。しかし、全ての無線通信端末13が同時に故障したり遮蔽される確率は、1つのAP20が故障したり遮蔽される確率よりも小さい。そのため、本実施例では、全ての無線通信端末13のパケットロス率Pが閾値Pth以上になった場合、障害判定部22は、AP20の故障または遮蔽と判定する。
このように、AP20から送信されたパケットに対する応答に異常があった無線通信端末13が、全ての無線通信端末13か否かを判定することにより、障害判定部22は、無線通信端末13の障害か、AP20の障害かを切り分けることができる。これにより、AP20は、無線通信端末13に特別な測定機能が設けられていない場合であっても、無線通信端末13の障害か、AP20の障害かを切り分けることができる。
また、障害判定部22は、障害原因推定処理において、応答時間テーブル230を参照し、平均応答時間が所定値よりも大きい無線通信端末13を、干渉電波の影響を受けている疑いのある無線通信端末13である干渉疑い端末として特定する。そして、障害判定部22は、パケットロス率Pが閾値Pth未満の無線通信端末13の中に、干渉疑い端末よりも平均RSSIが所定値以上小さく、かつ、干渉疑い端末よりも平均応答時間が所定値以上短い無線通信端末13が存在するか否かを判定する。
干渉疑い端末よりも平均RSSIが所定値以上小さく、かつ、干渉疑い端末よりも平均応答時間が所定値以上短い無線通信端末13が存在する場合、障害判定部22は、その干渉疑い端末を、被干渉端末として特定する。被干渉端末とは、干渉電波の影響を受けている可能性が高い無線通信端末13である。そして、障害判定部22は、特定した被干渉端末の情報を判定結果として、判定した時刻と共に、保持部23内のログテーブル233に登録する。
ただし、平均応答時間が所定値よりも大きい全ての無線通信端末13が、被干渉端末と判定されなかった場合には、障害判定部22は、AP20が干渉電波の影響を受けていると判定する。そして、障害判定部22は、判定結果を、判定時刻と共に、保持部23内のログテーブル233に登録する。
図9は、障害の一例を説明する図である。例えば図9に示すように、無線通信端末13−4は、無線通信端末13−5よりもAP20から遠い位置にあり、無線通信端末13−4とAP20との間の無線通信路L1は、無線通信端末13−5とAP20との間の無線通信路L2よりも長い。そのため、無線通信端末13−4から送信されたAckパケット等がAP20において受信される際のRSSIの値は、無線通信端末13−5から送信されたAckパケット等がAP20において受信される際のRSSIの値よりも小さい。
また、無線通信端末13−4とAP20との間の無線通信路L1は、無線通信端末13−5とAP20との間の無線通信路L2よりも長いため、干渉源31からの干渉電波の放射が無い場合、無線通信端末13−4の方が応答時間が長くなる。なお、無線通信路の差による応答時間の差は、再送を行った場合の応答時間と再送を行わなかった場合の応答時間との差に比べてずっと短い。
ここで、干渉源31から干渉電波が放射された場合、干渉源31からの干渉電波が届く範囲32内に位置する無線通信端末13−5は、干渉電波の影響により、AP20から送信されたパケットの受信に失敗する場合がある。AP20は、無線通信端末13−5に対して何回かパケットを再送した後に、無線通信端末13−5からAckパケットを受信する。そのため、無線通信端末13−5の応答時間は、パケットの再送にかかった時間分、長くなる。
このように、干渉源31からの干渉電波の影響を受けている無線通信端末13−5は、干渉源31からの干渉電波の影響を受けていない無線通信端末13−4よりも、平均応答時間が長くなる。そして、平均応答時間が長い方の無線通信端末13−5の平均RSSIが、平均応答時間が短い方の無線通信端末13−4の平均RSSIよりも大きい場合、平均応答時間が長い方の無線通信端末13−5が干渉電波の影響を受けていると判定することができる。本実施例における障害判定部22は、平均応答時間が所定値よりも大きい無線通信端末13を干渉疑い端末として特定する。そして、障害判定部22は、パケットロス率Pが閾値Pth未満の無線通信端末13の中で、干渉疑い端末よりも平均RSSIが所定値以上小さく、かつ、干渉疑い端末よりも平均応答時間が所定値以上短い無線通信端末13が存在すれば、その干渉疑い端末を被干渉端末と判定する。
ただし、平均応答時間が所定値よりも大きい全ての無線通信端末13が、被干渉端末と判定されなかった場合には、障害判定部22は、AP20が干渉電波の影響を受けていると判定する。
これにより、AP20は、無線通信端末13に特別な測定機能が設けられていない場合であっても、干渉電波の影響を受けている装置が、AP20と無線通信端末13のいずれであるのかを切り分けることができる。また、いずれかの無線通信端末13が干渉電波の影響を受けている場合、AP20は、無線通信端末13に特別な測定機能が設けられていない場合であっても、干渉電波の影響を受けている無線通信端末13を特定することができる。
[測定処理]
図10は、測定処理の一例を示すフローチャートである。AP20は、例えば所定のタイミング毎(例えば数秒毎)に、本フローチャートに示す測定処理を実行する。
まず、通信制御部21は、AP20に帰属中の無線通信端末13の中で、未選択の無線通信端末13を1つ選択する(S100)。そして、通信制御部21は、選択した無線通信端末13宛のテストパケットを生成し、生成したテストパケットの送信を送信部27に指示する。なお、選択した無線通信端末13宛のデータパケットをネットワーク装置12から受信した場合、通信制御部21は、テストパケットに代えて、ネットワーク装置12から受信したデータパケットの送信を送信部27に指示してもよい。
送信部27は、パケットの送信が指示された旨を、パケットの宛先の無線通信端末13のMACアドレスと共に、応答時間測定部24およびパケットロス率測定部25に通知する。そして、送信部27は、通信制御部21から指示された無線通信端末13へ、テストパケットを送信する(S101)。
次に、受信部28は、テストパケットが送信されてから所定時間以内に、テストパケットに対するAckパケットを受信したか否かを判定する(S102)。テストパケットが送信されてから所定時間以内にAckパケットを受信した場合(S102:Yes)、受信部28は、Ackパケットを送信した無線通信端末13のMACアドレスを応答時間測定部24、パケットロス率測定部25、および送信部27へ送る。また、受信部28は、受信したAckパケットの送信元の無線通信端末13のMACアドレスと共に、パケットを受信した際のRSSIをRSSI測定部26へ送る。そして、応答時間測定部24は、ステップS106に示す処理を実行する。
テストパケットが送信されてから所定時間以内に、テストパケットに対するAckパケットを受信部28が受信しなかった場合(S102:No)、送信部27は、再送回数を1増やす(S103)。そして、送信部27は、再送回数が所定回数以上か否かを判定する(S104)。再送回数が所定回数未満である場合(S104:No)、送信部27は、ステップS101において、通信制御部21から指示された無線通信端末13へ、再びテストパケットを送信する。
一方、再送回数が所定回数以上である場合(S104:Yes)、送信部27は、テストパケットのパケットロスを、テストパケットの宛先の無線通信端末13のMACアドレスと共に、応答時間測定部24およびパケットロス率測定部25に通知する(S105)。
次に、応答時間測定部24は、ステップS100において選択された無線通信端末13について、応答時間を算出して保持する。そして、応答時間測定部24は、保持している所定数の応答時間を平均して平均応答時間を算出する。そして、応答時間測定部24は、ステップS100において選択された無線通信端末13の端末IDに対応付けて保持部23内の応答時間テーブル230に格納されている応答時間を、算出した平均応答時間で更新する(S106)。
次に、パケットロス率測定部25は、ステップS100において選択された無線通信端末13について、パケットロス率を算出する。そして、パケットロス率測定部25は、ステップS100において選択された無線通信端末13の端末IDに対応付けて保持部23内のパケットロス率テーブル231に格納されているパケットロス率を、算出したパケットロス率で更新する(S107)。
次に、RSSI測定部26は、ステップS100において選択された無線通信端末13について、受信部28から受信したRSSIを平均して平均RSSIを算出する。そして、RSSI測定部26は、ステップS100において選択された無線通信端末13の端末IDに対応付けて保持部23内のRSSIテーブル232に格納されている平均RSSIを、算出した平均RSSIで更新する(S108)。
次に、通信制御部21は、AP20に帰属中の全ての無線通信端末13を選択したか否かを判定する(S109)。未選択の無線通信端末13がある場合(S109:No)、通信制御部21は、再びステップS100に示した処理を実行する。一方、全ての無線通信端末13を選択した場合(S109:Yes)、AP20は、本フローチャートに示した測定処理を終了する。
[障害原因推定処理]
図11および図12は、障害原因推定処理の一例を示すフローチャートである。AP20は、例えば所定のタイミング毎(例えば10分毎)に、本フローチャートに示す障害原因推定処理を実行する。
まず、障害判定部22は、変数iを0に初期化し、AP20に帰属している無線通信端末13の台数を定数N0にセットする(S200)。そして、障害判定部22は、変数iが定数N0未満か否かを判定する(S201)。
変数iが定数N0未満である場合(S201:Yes)、障害判定部22は、保持部23内のパケットロス率テーブル231を参照して、AP20に帰属している無線通信端末13の中でi番目の無線通信端末13のパケットロス率P(i)を取得する(S202)。そして、障害判定部22は、取得したパケットロス率P(i)が、予め定められた閾値Pth以上か否かを判定する(S203)。本実施例において、閾値Pthは、例えば100%である。
パケットロス率P(i)が閾値Pth以上である場合(S203:Yes)、障害判定部22は、i番目の無線通信端末13を、故障または遮蔽が疑われる無線通信端末13のリストであるリスト1に登録する(S204)。一方、パケットロス率P(i)が閾値Pth未満である場合(S203:No)、障害判定部22は、i番目の無線通信端末13を、干渉の診断対象となる無線通信端末13のリストであるリスト2に登録する(S205)。そして、障害判定部22は、変数iに1を加算し(S206)、再びステップS201に示した処理を実行する。
変数iが定数N0以上である場合(S201:No)、障害判定部22は、リスト1内の無線通信端末13の台数を定数N1にセットする(S207)。そして、障害判定部22は、定数N0の値と定数N1の値とが等しいか否かを判定する(S208)。定数N0の値と定数N1の値とが等しい場合(S208:Yes)、障害判定部22は、保持部23内のログテーブル233の判定結果に、AP20の故障または遮蔽を登録する(S209)。定数N0の値と定数N1の値とが等しい場合とは、AP20に帰属している全ての無線通信端末13のパケットロス率P(i)が閾値Pth以上(本実施例では100%)である場合である。そして、障害判定部22は、判定結果に現在時刻を対応付けて登録し、本フローチャートに示した障害原因推定処理を終了する。
一方、定数N0の値と定数N1の値とが異なる場合(S208:No)、障害判定部22は、定数N1が1以上か否かを判定する(S210)。定数N1が0である場合(S210:No)、即ち、パケットロス率P(i)が閾値Pth以上の無線通信端末13が1台も存在しない場合、障害判定部22は、図12のステップS212に示す処理を実行する。一方、定数N1が1以上である場合(S210:Yes)、障害判定部22は、保持部23内のログテーブル233の判定結果に、リスト1内の無線通信端末13の故障または遮蔽を登録する(S211)。
次に、障害判定部22は、変数iを再び0に初期化し、リスト2内の無線通信端末13の台数を定数N2にセットする(S212)。そして、障害判定部22は、変数iが定数N2未満か否かを判定する(S213)。
変数iが定数N2未満である場合(S213:Yes)、障害判定部22は、応答時間テーブル230を参照して、リスト2内のi番目の無線通信端末13の平均応答時間D(i)、基準値Dr(i)、および応答時間マージンDm(i)を取得する(S214)。そして、障害判定部22は、平均応答時間D(i)が、基準値Dr(i)と応答時間マージンDm(i)とを合計した時間よりも長いか否かを判定する(S215)。
平均応答時間D(i)が、基準値Dr(i)と応答時間マージンDm(i)とを合計した時間以下である場合(S215:No)、障害判定部22は、変数iに1を加算し(S217)、再びステップS213に示した処理を実行する。一方、平均応答時間D(i)が、基準値Dr(i)と応答時間マージンDm(i)とを合計した時間よりも長い場合(S215:Yes)、障害判定部22は、i番目の無線通信端末13を、リスト3に登録する(S216)。リスト3は、干渉が疑われる無線通信端末13のリストである。そして、障害判定部22は、ステップS217に示した処理を実行する。
変数iが定数N2以上である場合(S213:No)、障害判定部22は、リスト3内の無線通信端末13の台数を定数N3にセットする(S218)。そして、障害判定部22は、定数N3が0か否かを判定する(S219)。定数N3が0とは、干渉が疑われる無線通信端末13が存在しないことを意味する。定数N3が0である場合(S219:Yes)、障害判定部22は、ログテーブル233を参照して、判定結果に既に障害の情報が登録されているか否かを判定する(S220)。
判定結果に既に障害の情報が登録されている場合(S220:Yes)、即ち、S211の処理により、判定結果に既に障害の情報が登録されている場合、障害判定部22は、本フローチャートに示した障害原因推定処理を終了する。一方、判定結果に障害の情報が登録されていない場合(S220:No)、障害判定部22は、判定結果に異常なしを登録する(S221)。そして、障害判定部22は、判定結果に現在時刻を対応付けて登録し、AP20は、本フローチャートに示した障害原因推定処理を終了する。
一方、定数N3が0でない場合(S219:No)、即ち、干渉が疑われる無線通信端末13が存在する場合、障害判定部22は、後述する被干渉端末特定処理を実行する(S230)。そして、AP20は、本フローチャートに示した障害原因推定処理を終了する。
[被干渉端末特定処理]
図13は、被干渉端末特定処理の一例を示すフローチャートである。
まず、障害判定部22は、変数iおよび変数jを0に初期化する(S231)。そして、障害判定部22は、変数iが定数N3未満か否かを判定する(S232)。変数iが定数N3未満である場合(S232:Yes)、障害判定部22は、保持部23内の応答時間テーブル230およびRSSIテーブル232を参照する。そして、障害判定部22は、リスト3内のi番目の無線通信端末13について、平均応答時間D(i)、応答時間マージンDm(i)、平均RSSI(i)、およびRSSIマージンRSSIm(i)を取得する(S233)。
次に、障害判定部22は、変数jが定数N2未満か否かを判定する(S234)。変数jが定数N2以上である場合(S234:No)、障害判定部22は、ステップS240に示す処理を実行する。一方、変数jが定数N2未満である場合(S234:Yes)、障害判定部22は、変数iの値と変数jの値とが等しいか否かを判定する(S235)。変数iの値と変数jの値とが等しい場合(S235:Yes)、障害判定部22は、ステップS241に示す処理を実行する。
変数iの値と変数jの値とが異なる場合(S235:No)、障害判定部22は、保持部23内の応答時間テーブル230およびRSSIテーブル232を参照する。そして、障害判定部22は、リスト2内のj番目の無線通信端末13について、平均応答時間D(j)および平均RSSI(j)を取得する(S236)。そして、障害判定部22は、平均RSSI(i)から平均RSSI(j)を引いた値が、RSSIマージンRSSIm(i)よりも大きいか否かを判定する(S237)。平均RSSI(i)から平均RSSI(j)を引いた値が、RSSIマージンRSSIm(i)以下の場合(S237:No)、障害判定部22は、ステップS241に示す処理を実行する。
平均RSSI(i)から平均RSSI(j)を引いた値が、RSSIマージンRSSIm(i)よりも大きい場合(S237:Yes)、障害判定部22は、平均応答時間D(i)から平均応答時間D(j)を引いた値が、応答時間マージンDm(i)よりも大きいか否かを判定する(S238)。平均応答時間D(i)から平均応答時間D(j)を引いた値が、応答時間マージンDm(i)以下の場合(S238:No)、障害判定部22は、変数jに1を加算し(S241)、再びステップS234に示した処理を実行する。
平均応答時間D(i)から平均応答時間D(j)を引いた値が、応答時間マージンDm(i)よりも大きい場合(S238:Yes)、障害判定部22は、i番目の無線通信端末13を、被干渉端末のリストであるリスト4に登録する(S239)。そして、障害判定部22は、変数iに1を加算し(S240)、再びステップS232に示した処理を実行する。
変数iが定数N3以上である場合(S232:No)、障害判定部22は、リスト4内の無線通信端末13の台数を定数N4にセットする(S242)。そして、障害判定部22は、定数N4の値が0であるか否かを判定する(S243)。定数N4の値が0である場合(S243:Yes)、障害判定部22は、保持部23内のログテーブル233の判定結果に、AP20が干渉を受けている旨を登録する(S244)。定数N4の値が0である場合とは、平均応答時間が所定値よりも大きい全ての無線通信端末13が、被干渉端末と判定されなかった場合である。そして、障害判定部22は、判定結果に、判定を行った時刻を対応付けて登録し、本フローチャートに示した被干渉端末特定処理を終了する。
一方、定数N4の値が0ではない場合(S243:No)、障害判定部22は、保持部23内のログテーブル233の判定結果に、リスト4に登録されている無線通信端末13が干渉を受けている旨を登録する(S245)。例えば、障害判定部22は、保持部23内のログテーブル233の判定結果に、干渉を受けている無線通信端末13として、リスト4に登録されている無線通信端末13の端末IDを登録する。そして、障害判定部22は、判定結果に、判定を行った時刻を対応付けて登録し、AP20は、本フローチャートに示した被干渉端末特定処理を終了する。
[実施例1の効果]
上述したように、本実施例のAP20によれば、無線通信端末13等の他の無線通信装置に新たな機能を追加することなく、無線ネットワークの障害を判定することができる。
実施例1では、AP20内に、障害判定部22および保持部23が設けられたが、本実施例では、障害判定部および保持部の機能が、AP20とは異なる装置に設けられる点が、実施例1とは異なる。図14は、実施例2における通信システムの一例を示す図である。本実施例における無線通信システム10は、AP20、複数の無線通信端末13−1〜n、およびコントローラ40を備える。ネットワーク装置12、AP20、およびコントローラ40は、LAN14等の通信回線で接続される。
図15は、コントローラ40の一例を示すブロック図である。コントローラ40は、障害判定部41、保持部42、および通信部43を有する。保持部42は、応答時間テーブル420、パケットロス率テーブル421、RSSIテーブル422、およびログテーブル423を有する。応答時間テーブル420は、図3を用いて説明した応答時間テーブル230と同様であるため、詳細な説明を省略する。また、パケットロス率テーブル421は、図4を用いて説明したパケットロス率テーブル231と同様であるため、詳細な説明を省略する。また、RSSIテーブル422は、図5を用いて説明したRSSIテーブル232と同様であるため、詳細な説明を省略する。また、ログテーブル423は、図6を用いて説明したログテーブル233と同様であるため、詳細な説明を省略する。
通信部43は、LAN14を介してAP20から端末IDおよび平均応答時間を受信した場合に、受信した平均応答時間で、受信した端末IDに対応付けて応答時間テーブル420に登録されている平均応答時間を更新する。また、通信部43は、LAN14を介してAP20から端末IDおよびパケットロス率を受信した場合に、受信したパケットロス率で、受信した端末IDに対応付けてパケットロス率テーブル421に登録されているパケットロス率を更新する。また、通信部43は、LAN14を介してAP20から端末IDおよび平均RSSIを受信した場合に、受信した平均RSSIで、受信した端末IDに対応付けてRSSIテーブル422に登録されている平均RSSIを更新する。
障害判定部41は、応答時間テーブル420、パケットロス率テーブル421、およびRSSIテーブル422内の情報に基づいて、実施例1において説明した障害判定部22と同様の障害原因推定処理を行う。そして、障害判定部41は、判定結果をログテーブル423に登録する。
図16は、実施例2におけるAP20の一例を示すブロック図である。本実施例におけるAP20は、通信制御部21、応答時間測定部24、パケットロス率測定部25、RSSI測定部26、送信部27、受信部28、およびアンテナ29を有する。なお、以下で説明する点を除き、図16において図2と同一の符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
通信制御部21は、応答時間測定部24から端末IDおよび平均応答時間を受信した場合に、受信した端末IDおよび平均応答時間を、LAN14を介してコントローラ40へ送信する。また、通信制御部21は、パケットロス率測定部25から端末IDおよびパケットロス率を受信した場合に、受信した端末IDおよびパケットロス率を、LAN14を介してコントローラ40へ送信する。また、通信制御部21は、RSSI測定部26から端末IDおよび平均RSSIを受信した場合に、受信した端末IDおよび平均RSSIを、LAN14を介してコントローラ40へ送信する。
応答時間測定部24は、無線通信端末13毎に平均応答時間を算出し、算出した平均応答時間を、無線通信端末13の端末IDと共に通信制御部21へ送信する。パケットロス率測定部25は、無線通信端末13毎にパケットロス率を算出し、算出したパケットロス率を、無線通信端末13の端末IDと共に通信制御部21へ送信する。RSSI測定部26は、無線通信端末13毎に平均RSSIを算出し、算出した平均RSSIを、無線通信端末13の端末IDと共に通信制御部21へ送信する。
[実施例2の効果]
本実施例の無線通信システム10によれば、無線通信端末13に新たな機能を追加することなく、コントローラ40によって無線ネットワークの障害を判定することができる。また、本実施例の無線通信システム10は、障害原因推定処理に伴うAP20の処理負荷の増加を抑えることができる。
[ハードウェア]
なお、これまで説明した図に示された各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、AP20やコントローラ40で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記実施例1で説明した各種の処理は、予め用意されたプログラムをAP20が実行することで実現できる。そこで、以下では、上記した実施例1と同様の機能を有するプログラムを実行するAP20の一例を説明する。図17は、実施例1におけるAP20のハードウェアの一例を示す図である。
図17に示すように、AP20は、無線通信インターフェイス50、有線通信インターフェイス51、CPU52、RAM(Random Access Memory)53、およびROM(Read Only Memory)54を有する。無線通信インターフェイス50、有線通信インターフェイス51、CPU52、RAM53、およびROM54は、バス55を介して互いに接続されている。
ROM54には、測定プログラム540および障害原因推定プログラム541が予め記憶される。CPU52は、測定プログラム540および障害原因推定プログラム541をROM54から読み出してRAM53に展開する。測定プログラム540については、図10に示した各々の構成要素と同様、適宜統合または分離してもよい。また、障害原因推定プログラム541については、図11から図13に示した各々の構成要素と同様、適宜統合または分離してもよい。
CPU52は、ROM54から測定プログラム540および障害原因推定プログラム541をそれぞれ読み出す。そして、CPU52は、測定プログラム540を測定プロセス530としてRAM53に展開し、障害原因推定プログラム541を障害原因推定プロセス531としてRAM53に展開する。そして、CPU52は、上記した実施例1において、RAM53上に展開した測定プロセス530および障害原因推定プロセス531を実行する。例えば、実施例1において、CPU52は、通信制御部21、障害判定部22、保持部23、応答時間測定部24、パケットロス率測定部25、RSSI測定部26、送信部27、および受信部28と同様の機能を発揮する。
また、CPU52は、上記した実施例1において、RAM53上に展開した測定プロセス530を実行することにより、例えば図10に示した処理を実行する。また、CPU52は、上記した実施例1において、RAM53上に展開した障害原因推定プロセス531を実行することにより、例えば図11から図13に示した処理を実行する。
また、上記実施例2で説明した各種の処理は、予め用意されたプログラムをAP20およびコントローラ40がそれぞれ実行することで実現できる。以下では、上記した実施例2と同様の機能を有するプログラムを実行するAP20およびコントローラ40の一例を説明する。図18は、実施例2におけるコントローラ40のハードウェアの一例を示す図である。
図18に示すように、コントローラ40は、有線通信インターフェイス61、CPU62、RAM63、およびROM64を有する。有線通信インターフェイス61、CPU62、RAM63、およびROM64は、バス65を介して互いに接続されている。
ROM64には、障害原因推定プログラム641が予め記憶される。CPU62は、障害原因推定プログラム641をROM64から読み出してRAM63に展開する。障害原因推定プログラム641については、図11から図13に示した各々の構成要素と同様、適宜統合または分離してもよい。
CPU62は、ROM64から障害原因推定プログラム641を読み出す。そして、CPU62は、障害原因推定プログラム641を障害原因推定プロセス631としてRAM63に展開する。そして、CPU62は、上記した実施例2において、RAM63上に展開した障害原因推定プロセス631を実行する。例えば、実施例2において、CPU62は、障害判定部41、保持部42、および通信部43と同様の機能を発揮する。また、CPU62は、上記した実施例2において、RAM63上に展開した障害原因推定プロセス631を実行することにより、例えば図11から図13に示した処理を実行する。
図19は、実施例2におけるAP20のハードウェアの一例を示す図である。実施例2におけるAP20は、図19に示すように、無線通信インターフェイス70、有線通信インターフェイス71、CPU72、RAM73、およびROM74を有する。無線通信インターフェイス70、有線通信インターフェイス71、CPU72、RAM73、およびROM74は、バス75を介して互いに接続されている。
ROM74には、測定プログラム740が予め記憶される。CPU72は、測定プログラム740をROM74から読み出してRAM73に展開する。測定プログラム740については、図10に示した各々の構成要素と同様、適宜統合または分離してもよい。
CPU72は、ROM74から測定プログラム740を読み出す。そして、CPU72は、測定プログラム740を測定プロセス730としてRAM73に展開する。そして、CPU72は、上記した実施例2において、RAM73上に展開した測定プロセス730を実行する。例えば、実施例2において、CPU72は、通信制御部21、応答時間測定部24、パケットロス率測定部25、RSSI測定部26、送信部27、および受信部28と同様の機能を発揮する。また、CPU72は、上記した実施例2において、RAM73上に展開した測定プロセス730を実行することにより、例えば図10に示した処理を実行する。
なお、CPUによって仮想的に実現される各処理部は、全ての処理部がCPUによって常に実現されていなくてもよく、処理に用いられる処理部のみが仮想的に実現されればよい。また、測定プログラムや障害原因推定プログラムは、必ずしも最初から全てをROM内に記憶させておかなくてもよい。例えば、AP20およびコントローラ40に挿入されるICカードなどの可搬型記録媒体に各プログラムが記憶され、AP20およびコントローラ40が可搬型記録媒体から各プログラムを取得して実行するようにしてもよい。また、各プログラムを記憶させた他のコンピュータまたはサーバ装置などから、無線通信回線、公衆回線、インターネット、LAN、WANなどを介して、AP20およびコントローラ40が各プログラムを取得して実行するようにしてもよい。
[その他]
上記した各実施例において、障害判定部22は、パケットロス率Pが閾値Pth未満の無線通信端末13の中で、干渉疑い端末よりも平均RSSIが所定値以上小さく、かつ、干渉疑い端末よりも平均応答時間が所定値以上短い無線通信端末13が存在すれば、その干渉疑い端末を被干渉端末と判定するが、開示の技術はこれに限られない。例えば、障害判定部22は、リスト3内の無線通信端末13の中で、それぞれの無線通信端末13について、過去に測定された自身の平均RSSIとの差、および、過去に測定された自身の平均応答時間との差を算出する。そして、障害判定部22は、過去に測定された自身の平均RSSIとの差がRSSIマージンよりも小さく、かつ、過去に測定された自身の平均応答時間との差が応答時間マージンより長い無線通信端末13を被干渉端末として特定してもよい。これにより、AP20からそれぞれの無線通信端末13までの無線伝搬路の距離が同程度の場合であっても、障害判定部22は、被干渉端末を特定することができる。
以上、実施の形態を説明したが、本発明の技術的範囲は上記実施例に記載された範囲には限定されない。上記実施例に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得る。