(57)【要約】【課題】無線ネットワークの障害の原因を精度よく判定する。【解決手段】ＡＰ２０は、送信部２８と、受信部２９と、パケット長算出部２４と、応答時間算出部２５と、判定部２２とを備える。送信部２８は、送信指示に応じて、端末装置へデータパケットを送信する。受信部２９は、端末装置へ送信されたデータパケットに対するＡＣＫパケットを端末装置から受信する。パケット長算出部２４は、端末装置へ送信されたデータパケットの時間的な長さであるパケット長を算出する。応答時間算出部２５は、上記送信指示から上記ＡＣＫパケットの受信までの第１の応答時間から、パケット長算出部２４によって算出されたパケット長を引くことにより第２の応答時間を算出する。判定部２２は、第２の応答時間に基づいて、端末装置が干渉を受けているか否かを判定する。【選択図】図４
2017130726.tif 000002
【特許請求の範囲】
【請求項１】
無線通信装置と複数の端末装置とを有する無線通信システムに用いられる無線通信装置において、
送信指示に応じて、前記端末装置へデータパケットを送信する送信部と、
前記端末装置へ送信された前記データパケットに対する応答を前記端末装置から受信する受信部と、
前記端末装置へ送信された前記データパケットの時間的な長さであるパケット長を算出する第１の算出部と、
前記送信指示から前記応答の受信までの第１の応答時間から、前記パケット長を引くことにより第２の応答時間を算出する第２の算出部と、
前記第２の応答時間に基づいて、前記端末装置が干渉を受けているか否かを判定する判定部と
を備えることを特徴とする無線通信装置。
【請求項２】
前記第１の算出部は、
前記データパケットに適用されるＭＣＳ（Modulation  and  Coding  Scheme）に基づいて、前記パケット長を算出することを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記第１の算出部は、
前記端末装置が、複数の前記データパケットに対して、前記応答を１回返す場合に、前記複数のデータパケットのそれぞれの時間的な長さを合計した時間を前記パケット長として算出することを特徴とする請求項１または２に記載の無線通信装置。
【請求項４】
前記第１の算出部は、
前記端末装置が、複数の前記データパケットに対して、前記応答を１回返す場合に、前記複数のデータパケットのそれぞれの時間的な長さを合計した時間と、前記複数のデータパケットにおいて隣接するデータパケット間の送信待ち時間を合計した時間を前記パケット長として算出することを特徴とする請求項１または２に記載の無線通信装置。
【請求項５】
前記第２の算出部は、
前記複数のデータパケットの中で、先頭のデータパケットに対する前記送信指示から、前記複数のデータパケットに対する前記応答が受信されるまでの時間を前記第１の応答時間として特定し、前記第１の応答時間から前記パケット長を引いた時間を前記第２の応答時間として算出することを特徴とする請求項３または４に記載の無線通信装置。
【請求項６】
前記第１の算出部は、
ＭＩＭＯ（Multi−Input  Multi−Output）の多重数およびチャネルボンディングの多重数の少なくともいずれかを用いて、前記パケット長を算出することを特徴とする請求項１から５のいずれか一項に記載の無線通信装置。
【請求項７】
無線通信装置と複数の端末装置とを有する無線通信システムにおいて、
前記無線通信装置は、
送信指示に応じて、前記端末装置へデータパケットを送信する送信部と、
前記端末装置へ送信された前記データパケットに対する応答を前記端末装置から受信する受信部と、
前記端末装置へ送信された前記データパケットの時間的な長さであるパケット長を算出する第１の算出部と、
前記送信指示から前記応答の受信までの第１の応答時間から、前記パケット長を引くことにより第２の応答時間を算出する第２の算出部と、
前記第２の応答時間に基づいて、前記端末装置が干渉を受けているか否かを判定する判定部と
を備えることを特徴とする無線通信システム。
【請求項８】
無線通信装置と複数の端末装置とを有する無線通信システムにおける干渉判定方法において、
前記無線通信装置が、
送信指示に応じて、前記端末装置へデータパケットを送信し、
前記端末装置へ送信された前記データパケットに対する応答を前記端末装置から受信し、
前記端末装置へ送信された前記データパケットの時間的な長さであるパケット長を算出し、
前記送信指示から前記応答の受信までの第１の応答時間から、前記パケット長を引くことにより第２の応答時間を算出し、
前記第２の応答時間に基づいて、前記端末装置が干渉を受けているか否かを判定する
処理を実行する干渉判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置、無線通信システムおよび干渉判定方法に関する。
【背景技術】
【０００２】
ＩＳＭ（Industry  Science  Medical）帯の電波を用いた無線ＬＡＮ（Local  Area  Network）等の無線ネットワークは、免許不要で手軽に使えるため利用シーンが増えている。しかし、ＩＳＭ帯の電波を用いる無線通信機器が無計画に配置されると、お互いに電波干渉を与え合い、通信環境が不安定となる。よって、通信ネットワークを安定して使うためには運用保守が重要となる。大規模ネットワークであれば専門の運用保守業者もしくは情報システム部門によってネットワークの監視、障害対策が行われる。また、個人宅や小規模なネットワークでは専用の運用保守部門はなく、ユーザ自ら障害に対応することになる。
【０００３】
しかし、電波は目に見えないため、無線ネットワークの障害の原因を特定することは容易ではない。また、障害が断続的に発生している場合には、障害の発生時点を見極めることも難しい。このように、無線ネットワークの障害は、原因の特定が難しいため、的確な対処を行うことが難しい。運用保守の専門家であっても、多くの場合、経験によって蓄積されたノウハウによる対症療法的な対処を行っており、そのため根本的な対策をとっていない場合は障害が再発する可能性もある。また、無線ネットワークが普及、増加していくにつれ、運用保守業者の数が不足する恐れもある。よって、ネットワーク安定性を向上し、かつ作業負荷を軽減する運用保守技術が求められている。
【０００４】
例えば、無線ＬＡＮ内の機器が、検査用パケットの送信とそれに対するＡＣＫ（ACKnowledgement）パケットの受信とを複数回実行し、検査用パケットの送信からＡＣＫパケットの受信までの応答時間のばらつきに基づいて干渉状態を検知する技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２０５６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、運用中に、検査用パケットが送信されると、検査用パケットによりトラフィックが無駄に消費され、ユーザデータのスループットが低下する場合がある。そこで、ユーザデータを含むデータパケットを用いて、データパケットの送信からＡＣＫパケットの受信までの応答時間のばらつきを測定することが考えられる。
【０００７】
ここで、無線ＬＡＮにより通信を行う機器は、電波環境等により、変調方式等の通信方式を適応的に変更する場合がある。通信方式が変更されると、同一のデータ量のデータパケットであっても、データパケットの時間的な長さであるパケット長が変化する場合がある。例えば、同一のデータ量のデータパケットが送信される場合、伝送レートが高い通信方式では、データパケットのパケット長が短くなり、伝送レートが低い通信方式では、データパケットのパケット長が長くなる。そのため、通信方式の変更によりデータパケットの送信からＡＣＫパケットの受信までの応答時間が長くなった場合であっても、干渉により該応答時間が長くなったと誤って判定されてしまう場合がある。
【０００８】
また、無線ＬＡＮの機能の中には、複数のデータパケットをまとめて送り、まとめて送信された複数のデータパケットに対して応答を１回返すブロックＡＣＫと呼ばれる機能がある。ブロックＡＣＫが用いられた場合、まとめて送信されたデータパケットの受信が完了するまで、受信側の機器は応答を返さない。そのため、ブロックＡＣＫが用いられた場合、パケット単位でデータが送信される通信方式に比べて、データパケットの送信開始から応答の受信完了までの時間が長くなる場合がある。そのため、複数のデータパケットがまとめて送られたことにより応答時間が長くなった場合であっても、干渉により応答時間が長くなったと誤って判定されてしまう場合がある。従って、データパケットの送信からＡＣＫパケットの受信までの応答時間のみにより、干渉状態を精度よく検知することは困難である。
【０００９】
本願に開示の技術は、無線ネットワークにおける干渉の発生を精度よく判定する。
【課題を解決するための手段】
【００１０】
１つの側面では、無線通信装置と複数の端末装置とを有する無線通信システムに用いられる無線通信装置は、送信部と、受信部と、第１の算出部と、第２の算出部と、判定部とを備える。送信部は、送信指示に応じて、端末装置へデータパケットを送信する。受信部は、端末装置へ送信されたデータパケットに対する応答を端末装置から受信する。第１の算出部は、端末装置へ送信されたデータパケットの時間的な長さであるパケット長を算出する。第２の算出部は、上記送信指示から上記応答の受信までの第１の応答時間から、上記パケット長を引くことにより第２の応答時間を算出する。判定部は、第２の応答時間に基づいて、端末装置が干渉を受けているか否かを判定する。
【発明の効果】
【００１１】
１実施形態によれば、無線ネットワークにおける干渉の発生を精度よく判定することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、無線通信システムの一例を示す図である。
【図２】図２は、第１の応答時間の一例を説明する図である。
【図３】図３は、第１の応答時間の一例を説明する図である。
【図４】図４は、ＡＰの一例を示すブロック図である。
【図５】図５は、測定値テーブルの一例を示す図である。
【図６】図６は、応答時間テーブルの一例を示す図である。
【図７】図７は、パケットロス率テーブルの一例を示す図である。
【図８】図８は、ＲＳＳＩ（Received  Signal  Strength  Indicator）テーブルの一例を示す図である。
【図９】図９は、ログテーブルの一例を示す図である。
【図１０】図１０は、端末リストテーブルの一例を示す図である。
【図１１】図１１は、基準値作成処理の一例を示すフローチャートである。
【図１２】図１２は、開始時刻特定処理の一例を示すフローチャートである。
【図１３】図１３は、パケット長算出処理の一例を示すフローチャートである。
【図１４】図１４は、測定処理の一例を示すフローチャートである。
【図１５】図１５は、障害判定処理の一例を示すフローチャートである。
【図１６】図１６は、遮蔽・故障判定処理の一例を示すフローチャートである。
【図１７】図１７は、干渉判定処理の一例を示すフローチャートである。
【図１８】図１８は、シミュレーション結果の一例を示す図である。
【図１９】図１９は、シミュレーション結果の一例を示す図である。
【図２０】図２０は、ＡＰを実現する通信装置のハードウェアの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する無線通信装置、無線通信システムおよび干渉判定方法の実施例を、図面に基づいて詳細に説明する。なお、以下の実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
［無線通信システム１０］
図１は、無線通信システム１０の一例を示す図である。本実施例における無線通信システム１０は、ＡＰ（Access  Point）２０および複数の端末装置１３−１〜１３−ｎを有する。ＡＰ２０は、ルータ等のネットワーク装置１２を介して、例えばＷＡＮ（Wide  Area  Network）１１等のコアネットワークに接続される。ＡＰ２０は、端末装置１３−１〜１３−ｎのそれぞれと無線ＬＡＮに基づく無線通信を行う。なお、以下では、複数の端末装置１３−１〜１３−ｎのそれぞれを区別することなく総称する場合に端末装置１３と記載する。ＡＰ２０は、無線通信装置の一例である。
【００１５】
ＡＰ２０は、端末装置１３から受信したデータパケットをネットワーク装置１２へ送る。また、ＡＰ２０は、ネットワーク装置１２から受信したデータパケットを、無線ＬＡＮの規格に基づく無線通信により端末装置１３へ送信する。ネットワーク装置１２は、ＡＰ２０からデータパケットを受信した場合に、受信したデータパケットの宛先に基づいて、受信したデータパケットをＷＡＮ１１へ送信する。また、ネットワーク装置１２は、ＡＰ２０または端末装置１３宛のデータパケットをＷＡＮ１１から受信した場合に、受信したデータパケットをＡＰ２０へ送る。
【００１６】
本実施例において、ＡＰ２０は、ＡＰ２０内で上位機能から下位機能にデータパケットの送信が指示されてから、該データパケットに対する応答パケットの受信を上位機能が検出するまでの時間である第１の時間を測定する。そして、ＡＰ２０は、測定した第１の応答時間から、ＡＰ２０から端末装置１３へ送信されたデータパケットの時間的な長さであるパケット長を引くことにより、第２の応答時間を算出する。そして、ＡＰ２０は、算出した第２の応答時間に基づいて、干渉の有無を判定する。以下、図２および図３を用いて、第１の応答時間、第２の応答時間、およびパケット長について説明する。なお、本実施例において、上位機能とは、例えばアプリケーションを実行する機能ブロックであり、下位機能とは、例えば無線ＬＡＮにおけるＭＡＣ（Media  Access  Control）層の処理を行う機能ブロックである。
【００１７】
図２および図３は、第１の応答時間の一例を説明する図である。なお、ＡＰ２０と端末装置１３との間の距離に基づく伝送遅延は、データパケットのパケット長やデータパケットの送信待機時間に比べて非常に短いため、図２および図３では、伝送遅延は省略されている。
【００１８】
図２では、ＭＣＳ（Modulation  and  Coding  Scheme）の変更によって第１の応答時間が変動する例が示されている。例えば図２（ａ）に示すように、ＡＰ２０の上位機能は、送信対象のデータが発生した場合、該データを含むデータパケットを下位機能へ送る。下位機能は、上位機能からデータパケットを受信した場合、第１の期間待機した後に、該データパケットを端末装置１３へ送信する。第１の期間には、ＤＩＦＳ（Distributed  Inter  Frame  Space）およびバックオフ期間が含まれる。データパケットは、所定のＭＣＳに基づいて符号化および変調されている。Ｔdは、データパケットの時間的な長さであるパケット長を示す。
【００１９】
端末装置１３は、ＡＰ２０から送信されたデータパケットを受信し、該データパケットの受信から第２の期間が経過した後に、受信したデータパケットに対する応答パケットをＡＰ２０へ送信する。第２の期間には、例えばＳＩＦＳ（Short  Inter  Frame  Space）が含まれる。なお、以下では、応答パケットをＡＣＫパケットと記載する。端末装置１３から送信されたＡＣＫパケットは、ＡＰ２０の下位機能において受信され、上位機能へ送られる。例えば図２（ａ）の例では、上位機能から下位機能にデータパケットの送信が指示されてから、該データパケットに対するＡＣＫパケットの受信を上位機能が検出するまでの時間が第１の応答時間Ｔ10である。
【００２０】
本実施例におけるＡＰ２０は、ＡＰ２０と端末装置１３との間の通信環境の変化に応じて、適応的にＭＣＳを変更する。そのため、ＡＰ２０と端末装置１３との間の通信環境が悪化した場合、より誤り耐性の強いＭＣＳに変更されることにより、データパケットのパケット長Ｔdが長くなる。図２（ｂ）に示す例では、図２（ａ）に示したデータパケットのＭＣＳよりも、誤り耐性の強いＭＣＳが用いられており、データパケットのパケット長Ｔdは、図２（ａ）に示したデータパケットのパケット長Ｔdよりも長い。そのため、例えば図２（ｂ）に示した第１の応答時間Ｔ11は、例えば図２（ａ）に示した第１の応答時間Ｔ10よりも長くなっている。
【００２１】
ここで、ＡＰ２０または端末装置１３が干渉電波を受けている場合には、データパケットまたはＡＣＫパケットの受信失敗によりデータパケットの再送が行われ、第１の応答時間が長くなる。データパケットのデータ長Ｔdが固定長である場合には、第１の応答時間の変動に基づいて干渉の有無を判定することができる。しかし、例えば図２（ａ）および（ｂ）に示したように、適応的にＭＣＳが変更された場合には、ＭＣＳの変更によっても第１の応答時間が変動する。また、任意のサイズのデータパケットが用いられる場合にも、データパケットのサイズに応じて第１の応答時間が変動する。そのため、第１の応答時間のみでは、干渉の有無を精度よく判定することが難しい。
【００２２】
これに対し、本実施例のＡＰ２０は、第１の応答時間から、データパケットのパケット長Ｔdの時間を引くことにより第２の応答時間Ｔ2を算出する。これにより、第２の応答時間Ｔ2には、例えば図２（ｃ）に示すように、ＤＩＦＳおよびバックオフ期間を含む第１の期間と、ＳＩＦＳが含まれる第２の期間と、ＡＣＫパケットのパケット長とが含まれる。そして、ＡＰ２０は、算出された第２の応答時間Ｔ2に基づいて、干渉の有無を判定する。第２の応答時間Ｔ2には、例えば図２（ｃ）に示すように、データパケットのデータ長Ｔdの時間が含まれていない。そのため、ＡＰ２０は、第２の応答時間Ｔ2に基づいて干渉の有無を判定することにより、ＭＣＳの変化等によるデータパケットのデータ長Ｔdの変動の影響を受けることなく、干渉の有無を判定することができる。
【００２３】
また、第１の期間や第２の期間は、キャリアセンスにより干渉電波が検出された場合に延長される。また、ＡＣＫパケットのパケット長はほぼ固定長である。そのため、干渉が発生した場合には、第２の応答時間Ｔ2の長さが変動することになる。従って、第２の応答時間Ｔ2の長さの変動に基づいて干渉の有無を判定することにより、ＡＰ２０は、干渉の有無を精度よく判定することができる。
【００２４】
なお、データパケットのパケット長Ｔdは、ＭＣＳの他、ＭＩＭＯ（Multiple  Input  Multiple  Output）による多重ストリーム数やチャネルボンディングによる帯域の多重数によっても変化する。ＭＣＳによって定まる伝送レートをＲM、ＭＩＭＯによる多重ストリーム数をＮM、チャネルボンディングによる帯域の多重数をＮC、データパケットのデータサイズをＤとした場合、パケット長Ｔdは、例えば下記の式（１）に基づいて算出される。なお、ＭＩＭＯやチャネルボンディングの機能がサポートされていない無線ＬＡＮの規格では、ＮMおよびＮCは１となる。
Ｔd＝Ｄ／（ＲM×ＮM×ＮC）      ・・・（１）
【００２５】
また、無線ＬＡＮには、パケットアグリゲーションと呼ばれる機能がある。パケットアグリゲーションでは、複数のデータパケットがまとめて送信され、まとめて送信された複数のデータパケットに対して１つのＡＣＫパケットが送信される。図３には、パケットアグリゲーションおよびブロックＡＣＫを用いた通信における第１の応答時間Ｔ1が例示されている。なお、図３（ａ）では、ブロックＡＣＫの方式の一例として、ＢＡＲ（Block  Ack  Request）パケットを用いるExplicitブロックＡＣＫが示されている。また、図３に例示したパケットアグリゲーションは、例えばIEEE802.11e等で利用される。
【００２６】
パケットアグリゲーションでは、例えば図３（ａ）に示すように、所定時間以内に上位機能から複数のデータパケットの送信が指示された場合に実行される。下位機能は、最初に上位機能からデータ１を含むデータパケット１の送信が指示されてから第１の期間が経過した後に、データパケット１の送信を開始する。そして、下位機能は、データパケット１の送信が終了してから第２の期間が経過した後に、データパケット１の次に上位機能から送信が指示されたデータパケット２の送信を開始する。このように、図３（ａ）に示すパケットアグリゲーションでは、それぞれのデータパケットが、第２の期間を挟んで連続して送信される。
【００２７】
そして、下位機能は、所定時間内で最後に上位機能から送信が指示されたデータパケット３の送信が終了した場合、送信終了から第２の期間が経過した後に、ＢＡＲパケットを送信する。
【００２８】
端末装置１３は、ＢＡＲパケットを受信してから第２の期間が経過した後に、これまでに受信したデータパケットの受信状況を示すブロックＡＣＫ（Ｂ−ＡＣＫ）パケットをＡＰ２０へ送信する。端末装置１３から送信されたブロックＡＣＫパケットは、ＡＰ２０の下位機能において受信され、上位機能へ送られる。例えば図３（ａ）の例では、上位機能から下位機能にパケットアグリゲーションの対象となる最初のデータパケット１の送信が指示されてから、ブロックＡＣＫパケットの受信を上位機能が検出するまでの時間が第１の応答時間Ｔ1である。
【００２９】
図３（ａ）に示したパケット長Ｔdは、連続して送信されたデータパケットの合計のデータサイズＤs、連続して送信されたデータパケットの数ＮD、ＢＡＲパケットのデータサイズＤB、第２の期間ＴSを用いて、例えば下記の式（２）に基づいて算出される。
Ｔd＝｛（Ｄs＋ＤB）／（ＲM×ＮM×ＮC）｝＋ＮD×ＴS      ・・・（２）
【００３０】
ＡＰ２０は、図３（ａ）に例示した第１の応答時間Ｔ1から、上記式（２）に基づいて算出されたパケット長Ｔdの時間を引くことにより、図２（ｃ）に示した第２の応答時間Ｔ2を算出することができる。なお、ブロックＡＣＫを用いるか否かは、データパケットのヘッダ内のビットによって指定される。
【００３１】
また、ブロックＡＣＫの方式には、ＢＡＲパケットを用いるExplicitブロックＡＣＫの他に、ＢＡＲパケットを用いないImplicitブロックＡＣＫも存在する。ブロックＡＣＫの方式として、ExplicitブロックＡＣＫを用いるか、ImplicitブロックＡＣＫを用いるかは、データパケットのヘッダ内のビットによって指定される。ImplicitブロックＡＣＫと組み合わせて用いられるパケットアグリゲーションでは、例えば図３（ｂ）に示すように、複数のデータパケットが連結されて送信される。図３（ｂ）に示す方式のパケットアグリゲーションおよびImplicitブロックＡＣＫは、例えばIEEE802.11nやIEEE802.11ac等で利用される。図３（ｂ）では、複数のデータパケットが連結されて送信される方式のパケットアグリゲーションと、ExplicitブロックＡＣＫとが用いられた場合の第１の応答時間Ｔ1が例示されている。
【００３２】
図３（ｂ）に示したパケット長Ｔdは、連結して送信されるデータパケットの合計のデータサイズをＤsとした場合、例えば下記の式（３）に基づいて算出される。
Ｔd＝｛Ｄs／（ＲM×ＮM×ＮC）｝      ・・・（３）
【００３３】
ＡＰ２０は、図３（ｂ）に例示した第１の応答時間Ｔ1から、上記式（３）に基づいて算出されたパケット長Ｔdの時間を引くことにより、図２（ｃ）に示した第２の応答時間Ｔ2を算出することができる。
【００３４】
［ＡＰ２０］
図４は、ＡＰ２０の一例を示すブロック図である。ＡＰ２０は、通信制御部２１、判定部２２、保持部２３、パケット長算出部２４、応答時間算出部２５、パケットロス率算出部２６、ＲＳＳＩ登録部２７、送信部２８、受信部２９、およびアンテナ２００を有する。図２および図３に示した上位機能は、例えば通信制御部２１および応答時間算出部２５によって実現される。また、図２および図３に示した下位機能は、例えば送信部２８および受信部２９によって実現される。保持部２３は、測定値テーブル２３０、応答時間テーブル２３１、パケットロス率テーブル２３２、ＲＳＳＩテーブル２３３、ログテーブル２３４、および端末リストテーブル２３５を保持する。
【００３５】
図５は、測定値テーブル２３０の一例を示す図である。測定値テーブル２３０には、例えば図５に示すように、それぞれの端末装置１３を識別する端末ＩＤ２３００毎に、個別テーブル２３０１が格納される。端末ＩＤ２３００は、例えば端末装置１３のＭＡＣアドレスである。それぞれの個別テーブル２３０１には、第２の応答時間２３０２、ＲＳＳＩ２３０３、およびパケットロス２３０４を含む複数のレコード２３０５が格納される。
【００３６】
第２の応答時間２３０２は、図２および図３を用いて説明したように、第１の応答時間Ｔ1からパケット長Ｔdを除いた時間である。ＲＳＳＩ２３０３は、端末装置１３から送信されたデータパケットまたはＡＣＫパケットをＡＰ２０が受信した際の受信電力である。パケットロス２３０４は、ＡＰ２０が、端末装置１３へ送信したデータパケットに対するＡＣＫパケットを受信しなかったことによりパケットロスと判定したか否かを示す情報である。ＡＰ２０が端末装置１３へ送信したデータパケットに対してＡＣＫパケットを受信した場合、パケットロス２３０４にはパケットロスが発生しなかったことを示す０が格納される。一方、ＡＰ２０が端末装置１３へ送信したデータパケットに対してＡＣＫパケットを受信しなかった場合、パケットロス２３０４にはパケットロスが発生したことを示す１が格納される。
【００３７】
ＡＰ２０が端末装置１３へパケットを送信する度に、該端末装置１３の端末ＩＤに対応する個別テーブル２３０１には、レコード２３０５が作成される。そして、ＡＰ２０が該端末装置１３からＡＣＫパケットを受信した場合、作成されたレコード２３０５内の第２の応答時間２３０２およびＲＳＳＩ２３０３には測定値が登録され、パケットロス２３０４には０が登録される。一方、ＡＰ２０が端末装置１３からＡＣＫパケットを受信しなかった場合、作成されたレコード２３０５内のパケットロス２３０４には１が登録され、第２の応答時間２３０２にはパケットロスと判定されるまでの時間が登録され、ＲＳＳＩ２３０３は空欄となる。
【００３８】
図６は、応答時間テーブル２３１の一例を示す図である。応答時間テーブル２３１には、例えば図６に示すように、端末ＩＤ２３１０、平均応答時間２３１１、基準値２３１２、および応答時間マージン２３１３が対応付けて格納される。平均応答時間２３１１は、第２の応答時間の平均値である。基準値２３１２は、平均応答時間２３１１の基準となる値である。応答時間マージン２３１３は、基準値２３１２に対して許容される平均応答時間の変動幅を示す値である。基準値２３１２に応答時間マージン２３１３を加えた時間は、干渉を判定する際の閾値として用いられる。
【００３９】
図７は、パケットロス率テーブル２３２の一例を示す図である。パケットロス率テーブル２３２には、例えば図７に示すように、端末ＩＤ２３２０に対応付けてパケットロス率２３２１が格納される。パケットロス率２３２１は、ＡＰ２０から送信されたデータパケットのうち、ＡＣＫパケットがＡＰ２０において受信されなかったデータパケットの割合である。
【００４０】
図８は、ＲＳＳＩテーブル２３３の一例を示す図である。ＲＳＳＩテーブル２３３には、例えば図８に示すように、端末ＩＤ２３３０に対応付けて、平均ＲＳＳＩ２３３１が格納される。平均ＲＳＳＩ２３３１は、端末装置１３から送信されたパケットをＡＰ２０が受信した際にＡＰ２０において測定されたＲＳＳＩの平均値である。
【００４１】
図９は、ログテーブル２３４の一例を示す図である。ログテーブル２３４には、例えば図９に示すように、判定結果２３４０および時刻２３４１が対応付けて格納される。判定結果２３４０は、障害原因の判定結果を示す。時刻２３４１は、判定結果２３４０がログテーブル２３４に登録された時刻を示す。
【００４２】
図１０は、端末リストテーブル２３５の一例を示す図である。端末リストテーブル２３５には、例えば図１０に示すように、リスト名２３５０毎に、端末リスト２３５１が格納される。リスト名２３５０は、それぞれの端末リスト２３５１を識別する情報である。それぞれの端末リスト２３５１には、端末ＩＤが登録される。
【００４３】
図４に戻って説明を続ける。送信部２８は、通信制御部２１からデータパケットの送信を指示された場合に、データパケットの送信が指示された時刻と、データパケットの宛先の端末装置１３の端末ＩＤとを対応付けて保持する。そして、送信部２８は、第１の期間待機した後に、指示されたデータパケットを、アンテナ２００を介して宛先の端末装置１３へユニキャストにより送信する。このとき、宛先の端末装置１３との間でパケットアグリゲーションが実行される場合には、送信部２８は、所定期間内に通信制御部２１から送信を指示された複数のデータパケットを、連続または連結して、宛先の端末装置１３へ送信する。また、送信部２８は、宛先の端末装置１３へ送信したデータパケットを、パケット長算出部２４へも送る。
【００４４】
また、送信部２８は、端末ＩＤと共に、応答時間算出部２５からデータパケットの送信を指示された場合、該端末ＩＤに対応する端末装置１３へ、該データパケットを送信する。
【００４５】
また、送信部２８は、アンテナ２００を介してデータパケットを送信してから所定時間以内に、宛先の端末装置１３から受信部２９がＡＣＫパケットを受信しなかった場合に、データパケットを再送する。そして、再送回数が所定回数（例えば５回）に達した場合、送信部２８は、パケットロスを、宛先の端末装置１３の端末ＩＤと共に、応答時間算出部２５およびパケットロス率算出部２６に通知する。
【００４６】
また、送信部２８は、端末ＩＤを含む問合せを応答時間算出部２５から受信した場合に、送信待ちのデータパケットの中に、該問合せに含まれている端末ＩＤの端末装置１３を宛先とするデータパケット（以下、特定パケットと呼ぶ）が存在するか否かを判定する。特定パケットが、送信待ちのデータパケットの中に存在しない場合、送信部２８は、その旨を示す情報を応答時間算出部２５へ送信する。
【００４７】
一方、特定パケットが、送信待ちのデータパケットの中に存在する場合、送信部２８は、特定パケットに含まれるデータの送信が通信制御部２１から指示された時刻をパケット長算出部２４へ送信する。このとき、特定パケットが、パケットアグリゲーションにより連続または連結して送信される複数のデータパケットに含まれるデータパケットである場合には、次の処理を実行する。即ち、送信部２８は、連続または連結して送信される複数のデータパケットの先頭のデータパケットの送信が通信制御部２１から指示された時刻を応答時間算出部２５へ送信する。
【００４８】
受信部２９は、アンテナ２００を介してデータパケットを受信した場合に、受信したデータパケットを通信制御部２１へ出力する。また、受信部２９は、アンテナ２００を介してＡＣＫパケットを受信した場合、ＡＣＫパケットを送信した端末装置１３の端末ＩＤを応答時間算出部２５、パケットロス率算出部２６、および送信部２８へ出力する。また、受信部２９は、端末装置１３からＡＣＫパケットを受信した場合に、ＡＣＫパケットのＲＳＳＩを、ＡＣＫパケットの送信元の端末装置１３の端末ＩＤと共にＲＳＳＩ登録部２７へ送る。
【００４９】
通信制御部２１は、ネットワーク装置１２からパケットを受信した場合に、受信したパケットを送信部２８へ送り、パケットの送信を送信部２８に指示する。また、通信制御部２１は、受信部２９からパケットを受信した場合に、受信したパケットをネットワーク装置１２へ送る。
【００５０】
パケット長算出部２４は、応答時間算出部２５から端末ＩＤを含むパケット長算出要求を受信した場合に、送信部２８から出力されたデータパケットを参照して、該端末ＩＤに対応する端末装置１３を宛先とするデータパケットのパケット長Ｔdを算出する。そして、パケット長算出部２４は、算出したパケット長Ｔdを応答時間算出部２５へ送信する。
【００５１】
パケット長算出部２４は、送信部２８から出力されたデータパケットのヘッダを参照して、データサイズＤ、ＭＣＳによって定まる伝送レートＲM、ＭＩＭＯによる多重ストリーム数ＮM、およびチャネルボンディングによる帯域の多重数ＮCを特定する。また、パケット長算出部２４は、送信部２８から出力されたデータパケットの無線ヘッダを参照して、無線ヘッダ内にHT−SIGまたはVHT−SIGフィールドが存在するか否かを判定する。無線ヘッダ内にHT−SIGまたはVHT−SIGフィールドが存在しない場合、データパケットは、IEEE802.11a等の規格の無線ＬＡＮに対応するデータパケットである。パケット長算出部２４は、例えば前述の式（１）に基づいてパケット長Ｔdを算出する。
【００５２】
一方、ブロックＡＣＫの方式がExplicitブロックＡＣＫではない場合、即ち、ブロックＡＣＫの方式がImplicitブロックＡＣＫである場合、パケット長算出部２４は、例えば前述の式（３）に基づいてパケット長Ｔdを算出する。
【００５３】
また、無線ヘッダ内にHT−SIGまたはVHT−SIGフィールドが存在する場合、パケット長算出部２４は、ＭＡＣヘッダ内にVHTフィールドが存在するか否かを判定する。ＭＡＣヘッダ内にVHTフィールドが存在する場合、データパケットは、IEEE802.11ac等の規格の無線ＬＡＮに対応するデータパケットであり、パケットアグリゲーションがデフォルトで有効となる。ＭＡＣヘッダ内にVHTフィールドが存在する場合、パケット長算出部２４は、ＭＡＣヘッダ内のQoSフィールドを参照して、ブロックＡＣＫの方式がExplicitブロックＡＣＫであるか否かを判定する。ブロックＡＣＫの方式がExplicitブロックＡＣＫである場合、パケット長算出部２４は、ＢＡＲパケットのヘッダを参照して、ＢＡＲパケットのデータサイズＤBを特定する。そして、パケット長算出部２４は、例えば前述の式（２）に基づいてパケット長Ｔdを算出する。
【００５４】
一方、ブロックＡＣＫの方式がExplicitブロックＡＣＫではない場合、即ち、ブロックＡＣＫの方式がImplicitブロックＡＣＫである場合、パケット長算出部２４は、例えば前述の式（３）に基づいてパケット長Ｔdを算出する。
【００５５】
また、ＭＡＣヘッダ内にVHTフィールドが存在しない場合、データパケットは、IEEE802.11n等の規格の無線ＬＡＮに対応するデータパケットであり、パケットアグリゲーションはオプションである。ＭＡＣヘッダ内にVHTフィールドが存在しない場合、パケット長算出部２４は、HT−SIGフィールド内のビットを参照して、パケットアグリゲーションが有効か否かを判定する。パケットアグリゲーションが無効である場合、パケット長算出部２４は、例えば前述の式（１）に基づいてパケット長Ｔdを算出する。
【００５６】
一方、パケットアグリゲーションが有効である場合、パケット長算出部２４は、ＭＡＣヘッダ内のQoSフィールドを参照して、ブロックＡＣＫの方式がExplicitブロックＡＣＫであるか否かを判定する。ブロックＡＣＫの方式がExplicitブロックＡＣＫである場合、パケット長算出部２４は、ＢＡＲパケットのヘッダを参照して、ＢＡＲパケットのデータサイズＤBを特定する。そして、パケット長算出部２４は、例えば前述の式（２）に基づいてパケット長Ｔdを算出する。
【００５７】
一方、ブロックＡＣＫの方式がExplicitブロックＡＣＫではない場合、即ち、ブロックＡＣＫの方式がImplicitブロックＡＣＫである場合、パケット長算出部２４は、例えば前述の式（３）に基づいてパケット長Ｔdを算出する。
【００５８】
応答時間算出部２５は、端末装置１３毎に、該端末装置１３を宛先とするデータパケットの送信が送信部２８に指示されてから、該データパケットに対するＡＣＫパケットを受信するまでの第１の応答時間を測定する。例えば、応答時間算出部２５は、端末装置１３の端末ＩＤを含む問合せを送信部２８へ送信する。送信待ちのデータパケットの中に、問合せに含まれた端末ＩＤに対応する端末装置１３を宛先とするデータパケットが含まれていれば、送信部２８は、該データパケットに含まれるデータが通信制御部２１から指示された時刻を応答時間算出部２５に返信する。応答時間算出部２５は、送信部２８から返信された時刻を、第１の応答時間の開始時刻として特定する。
【００５９】
一方、送信待ちのデータパケットが存在しない旨が送信部２８から返信された場合、応答時間算出部２５は、端末ＩＤと共に、データパケットの送信を送信部２８に指示する。そして、応答時間算出部２５は、データパケットの送信を送信部２８に指示した時刻を第１の応答時間の開始時刻として特定する。
【００６０】
そして、応答時間算出部２５は、ＡＣＫパケットの送信元の端末装置１３の端末ＩＤを受信部２９から受信した時刻を、第１の応答時間の終了時刻として特定する。そして、応答時間算出部２５は、第１の応答時間の開始時刻から終了時刻までの時間を、第１の応答時間として特定する。
【００６１】
次に、応答時間算出部２５は、端末ＩＤを含むパケット長算出要求をパケット長算出部２４へ送信し、パケット長算出部２４からパケット長を取得する。そして、応答時間算出部２５は、特定した第１の応答時間から、パケット長算出部２４から取得したパケット長を引くことにより、第２の応答時間を算出する。
【００６２】
そして、応答時間算出部２５は、保持部２３内の測定値テーブル２３０において、端末装置１３の端末ＩＤに対応付けられた個別テーブル２３０１を特定する。そして、応答時間算出部２５は、特定した個別テーブル２３０１に、新たにレコード２３０５を作成し、作成したレコード２３０５に、算出した第２の応答時間を登録する。なお、応答時間算出部２５は、送信部２８からパケットロスが通知された場合、パケットロスが通知された時点までの時間を第２の応答時間として算出し、算出した応答時間を、個別テーブル２３０１内のレコード２３０５に登録する。
【００６３】
また、応答時間算出部２５は、端末装置１３毎に、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数の第２の応答時間を抽出し、抽出した第２の応答時間を平均して平均応答時間を算出する。そして、応答時間算出部２５は、端末装置１３毎に、応答時間テーブル２３１内の平均応答時間２３１１を、算出した平均応答時間で更新する。本実施例において、応答時間算出部２５は、端末装置１３毎に、新しく登録された順に例えば数十個程度の第２の応答時間を平均して平均応答時間を算出する。
【００６４】
また、応答時間算出部２５は、端末装置１３毎に、算出した第２の応答時間の平均値を第２の応答時間の基準値として応答時間テーブル２３１の基準値２３１２に登録する。また、応答時間算出部２５は、端末装置１３毎に、算出された第２の応答時間のばらつきの度合いを算出し、応答時間テーブル２３１の応答時間マージン２３１３に登録する。応答時間マージン２３１３の値は、第２の応答時間の、例えば標準偏差σや標準偏差σの２倍等であってもよい。
【００６５】
ここで、図２（ｃ）に示した第２の応答時間の中で、第１の期間に含まれるバックオフ期間は、数μ〜数十μ秒の範囲でランダムに選択される。そのため、第１の期間を含む第２の応答時間は、所定の変動幅を有する。また、他の端末装置１３が通信中の場合には、第１の期間は延長される。そのため、通信トラフィックが多い環境では、第２の応答時間の変動幅が大きくなる場合がある。そのため、応答時間算出部２５は、各端末装置１３について、第２の応答時間の基準値を作成する処理を、通信トラフィックが少ない環境（例えば、深夜の時間帯など）で行うことが好ましい。
【００６６】
パケットロス率算出部２６は、ＡＣＫパケットの送信元の端末装置１３の端末ＩＤが受信部２９から通知された場合、測定値テーブル２３０を参照して、通知された端末ＩＤに対応する個別テーブル２３０１を特定する。そして、パケットロス率算出部２６は、特定した個別テーブル２３０１において、新たに作成されたレコード２３０５内のパケットロス２３０４の欄に、パケットロスが発生しなかったことを示す０を登録する。
【００６７】
一方、端末装置１３の端末ＩＤと共に、パケットロスが送信部２８から通知された場合、パケットロス率算出部２６は、測定値テーブル２３０を参照して、通知された端末ＩＤに対応する個別テーブル２３０１を特定する。そして、パケットロス率算出部２６は、特定した個別テーブル２３０１において、新たに作成されたレコード２３０５内のパケットロス２３０４の欄に、パケットロスが発生したことを示す１を登録する。
【００６８】
また、パケットロス率算出部２６は、端末装置１３毎に、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数のパケットロスの値を抽出し、抽出した値を平均してパケットロス率を算出する。そして、パケットロス率算出部２６は、端末装置１３毎に、パケットロス率テーブル２３２内のパケットロス率２３２１を、算出したパケットロス率で更新する。本実施例において、パケットロス率算出部２６は、端末装置１３毎に、新しく登録された順に例えば数十個程度のパケットロスの値を平均してパケットロス率を算出する。
【００６９】
ＲＳＳＩ登録部２７は、受信部２９から端末装置１３の端末ＩＤと共にＲＳＳＩを受信した場合に、測定値テーブル２３０を参照し、受信した端末ＩＤに対応する個別テーブル２３０１を特定する。そして、ＲＳＳＩ登録部２７は、特定した個別テーブル２３０１において、新たに作成されたレコード２３０５内のＲＳＳＩ２３０３の欄に、受信部２９から受信したＲＳＳＩの値を登録する。
【００７０】
また、ＲＳＳＩ登録部２７は、端末装置１３毎に、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数のＲＳＳＩを抽出し、抽出したＲＳＳＩを平均して平均ＲＳＳＩを算出する。そして、ＲＳＳＩ登録部２７は、端末装置１３毎に、ＲＳＳＩテーブル２３３内の平均ＲＳＳＩ２３３１を、算出した平均ＲＳＳＩで更新する。本実施例において、ＲＳＳＩ登録部２７は、端末装置１３毎に、新しく登録された順に例えば数十個程度のＲＳＳＩを平均して平均ＲＳＳＩを算出する。なお、平均ＲＳＳＩは、ＡＣＫパケットの他に、端末装置１３から送信されたデータパケットを受信した際に測定されたＲＳＳＩを用いて算出されてもよい。
【００７１】
判定部２２は、所定のタイミング毎（例えば数時間毎）に、端末装置１３毎に測定値テーブル２３０内の個別テーブル２３０１を参照して、フェージングの影響を受けている可能性が高い端末装置１３を特定する。例えば、判定部２２は、平均ＲＳＳＩが所定の閾値以下の端末装置１３をフェージングの影響を受けている可能性が高い端末装置１３として特定する。そして、判定部２２は、特定された端末装置１３の端末ＩＤを、端末リストテーブル２３５内のリスト１に登録する。リスト１に端末ＩＤが登録された端末装置１３は、干渉の有無の判定対象から除外される。
【００７２】
ここで、フェージングが大きい環境では、データパケットやＡＣＫパケットの受信電力が大きく変動する。そのため、データパケットの再送が発生し、第２の応答時間が長くなる場合がある。従って、第２の応答時間が変動している場合、フェージングによるものか、干渉によるものなのかを区別することは困難である。そのため、本実施例では、フェージングの影響を受けている端末装置１３を、干渉の有無の判定対象となる端末装置１３から除外する。これにより、ＡＰ２０は、フェージングの影響を受けている可能性が低い端末装置１３を対象として干渉の有無の判定を行うことができ、干渉の有無の判定を高い精度で行うことができる。
【００７３】
また、判定部２２は、所定のタイミング毎（例えば１０分毎）に、保持部２３内の各テーブルを参照して、障害判定処理を実行する。判定部２２は、障害判定処理において、送信部２８が送信したデータパケットに対する応答に異常がある端末装置１３が、データパケットの宛先の端末装置１３の中の一部の端末装置１３である場合に、当該一部の端末装置１３の障害と判定する。また、判定部２２は、障害判定処理において、送信部２８が送信したデータパケットに対する応答に異常がある端末装置１３が、データパケットの宛先の全ての端末装置１３である場合に、ＡＰ２０の障害と判定する。
【００７４】
例えば、判定部２２は、障害判定処理において、パケットロス率テーブル２３２を参照し、パケットロス率Ｐが所定の閾値Ｐth1以上である端末装置１３を特定する。本実施例において、所定の閾値Ｐth1は、例えば１００％である。
【００７５】
パケットロス率Ｐが閾値Ｐth1以上の端末装置１３が、全ての端末装置１３である場合、判定部２２は、ＡＰ２０の故障または遮蔽を障害原因として判定する。全ての端末装置１３とは、例えばＡＰ２０に帰属している全ての端末装置１３である。また、ＡＰ２０の遮蔽とは、例えば、いずれの端末装置１３との間においても、ＡＰ２０からの電波が通信可能な強度で端末装置１３に届かず、端末装置１３からの電波が通信可能な強度でＡＰ２０に届かない状態を指す。
【００７６】
また、パケットロス率Ｐが閾値Ｐth1以上である端末装置１３が、一部の端末装置１３である場合、判定部２２は、パケットロス率Ｐが閾値Ｐth1以上である端末装置１３の故障または遮蔽を障害原因として判定する。そして、判定部２２は、判定結果を、判定を行った時刻と共に、保持部２３内のログテーブル２３４に登録する。
【００７７】
ここで、ＡＰ２０に帰属している端末装置１３の中に、パケットロス率Ｐが閾値Ｐth1未満となる端末装置１３が１つでも存在すれば、ＡＰ２０の故障または遮蔽ではないと判定することができる。また、ＡＰ２０の送信部２８が故障している場合、全ての端末装置１３に対してデータパケットが送信されない。また、ＡＰ２０が遮蔽物で遮蔽されている場合、送信されたデータパケットは、いずれの端末装置１３においても受信されない。また、ＡＰ２０の受信部２９が故障している場合には、ＡＰ２０の送信部２８がデータパケットを送信したとしても、いずれの端末装置１３から送信されたＡＣＫパケットの受信にも失敗する。そのため、ＡＰ２０が故障している、または、遮蔽されている場合には、全ての端末装置１３のパケットロス率Ｐが閾値Ｐth1以上となる。
【００７８】
また、全ての端末装置１３のパケットロス率Ｐが閾値Ｐth1以上になった場合、全ての端末装置１３が同時に故障したり遮蔽されることも考えられる。しかし、全ての端末装置１３が同時に故障したり遮蔽される確率は、１つのＡＰ２０が故障したり遮蔽される確率よりもずっと小さい。そのため、本実施例では、全ての端末装置１３のパケットロス率Ｐが閾値Ｐth1以上になった場合、判定部２２は、ＡＰ２０の故障または遮蔽を障害原因として判定する。
【００７９】
このように、ＡＰ２０から送信されたデータパケットに対する応答に異常があった端末装置１３が、全ての端末装置１３か否かを判定することにより、判定部２２は、端末装置１３の障害か、ＡＰ２０の障害かを切り分けることができる。これにより、ＡＰ２０は、端末装置１３に特別な測定機能が設けられていない場合であっても、端末装置１３の障害か、ＡＰ２０の障害かを切り分けることができる。
【００８０】
また、判定部２２は、障害判定処理において、ＡＰ２０の故障または遮蔽ではないと判定した場合、パケットロス率Ｐが閾値Ｐth1未満の端末装置１３の中から、端末リストテーブル２３５のリスト１内に端末ＩＤが登録されている端末装置１３を除外する。そして、判定部２２は、残った端末装置１３の端末ＩＤを、端末リストテーブル２３５のリスト４内に登録する。
【００８１】
そして、判定部２２は、応答時間テーブル２３１を参照し、リスト４内に端末ＩＤが登録されている端末装置１３の中で、平均応答時間が所定値よりも大きい端末装置１３を特定する。そして、判定部２２は、特定した端末装置１３が、リスト４内に端末ＩＤが登録されている端末装置１３の数の所定割合以上（例えば９０％以上）である場合に、ＡＰ２０が干渉を受けていることを障害原因として判定する。一方、特定した端末装置１３が、リスト４内に端末ＩＤが登録されている端末装置１３の数の所定割合未満である場合、判定部２２は、特定した端末装置１３が干渉を受けていることを障害原因として判定する。そして、判定部２２は、判定結果を、判定を行った時刻と共に、保持部２３内のログテーブル２３４に登録する。
【００８２】
このように、本実施例のＡＰ２０は、端末装置１３に特別な測定機能が設けられていない場合であっても、干渉電波の影響を受けている装置が、ＡＰ２０と端末装置１３のいずれであるのかを切り分ける等の障害原因の判定を行うことができる。また、いずれかの端末装置１３が干渉電波の影響を受けている場合、ＡＰ２０は、端末装置１３に特別な測定機能が設けられていない場合であっても、干渉電波の影響を受けている端末装置１３を特定することができる。これにより、干渉電波の影響を受けている端末装置１３やＡＰ２０の配置から、干渉源の位置を特定することも可能となる。また、本実施例の判定部２２は、フェージングの影響を受けている可能性が高い端末装置１３として、リスト１に端末ＩＤが登録された端末装置１３を、障害原因の判定対象から除外する。これにより、判定部２２は、フェージングの影響を受けている可能性が低い端末装置１３を対象として障害原因の判定を行うことができ、障害原因の判定精度を向上させることができる。
【００８３】
［基準値作成処理］
図１１は、基準値作成処理の一例を示すフローチャートである。例えば深夜などデータパケットの送受信を行っている端末装置１３が少ない時間帯において、ＡＰ２０は、本フローチャートに示す基準値作成処理を実行する。
【００８４】
まず、応答時間算出部２５は、ＡＰ２０に帰属中の端末装置１３の中で、未選択の端末装置１３を１つ選択する（Ｓ１００）。そして、応答時間算出部２５は、選択した端末装置１３について、第１の応答時間の開始時刻を特定する開始時刻特定処理を実行する（Ｓ２００）。
【００８５】
［開始時刻特定処理］
図１２は、開始時刻特定処理の一例を示すフローチャートである。
【００８６】
まず、応答時間算出部２５は、図１１のステップＳ１００で選択された端末装置１３の端末ＩＤを含む問合せを送信部２８へ送信する。送信部２８は、送信待ちのデータパケットの中に、応答時間算出部２５から受信した問合せに含まれている端末ＩＤに対応する端末装置１３を宛先とするデータパケットである特定パケットが存在するか否かを判定する（Ｓ２０１）。
【００８７】
特定パケットが送信待ちのデータパケットの中に存在しない場合（Ｓ２０１：Ｎｏ）、送信部２８は、その旨を示す情報を応答時間算出部２５へ送信する。応答時間算出部２５は、端末ＩＤと共に、データパケットの送信を送信部２８に指示する（Ｓ２０２）。そして、応答時間算出部２５は、データパケットの送信を送信部２８に指示した時刻を第１の応答時間の開始時刻として特定する（Ｓ２０３）。そして、ＡＰ２０は、本フローチャートに示した開始時刻特定処理を終了する。
【００８８】
一方、特定パケットが、送信待ちのデータパケットの中に存在する場合（Ｓ２０１：Ｙｅｓ）、送信部２８は、特定パケットが、パケットアグリゲーションにおいて連続または連結して送信される複数のデータパケットに含まれるか否かを判定する（Ｓ２０４）。
【００８９】
特定パケットが、パケットアグリゲーションにおいて連続または連結して送信される複数のデータパケットに含まれる場合（Ｓ２０４：Ｙｅｓ）、送信部２８は、次の処理を実行する。即ち、送信部２８は、連続または連結して送信される複数のデータパケットの先頭のデータパケットの送信が通信制御部２１から指示された時刻を応答時間算出部２５へ送信する。応答時間算出部２５は、送信部２８から受信した時刻を、第１の応答時間の開始時刻として特定する（Ｓ２０５）。そして、ＡＰ２０は、本フローチャートに示した開始時刻特定処理を終了する。
【００９０】
特定パケットが、パケットアグリゲーションにおいて連続または連結して送信される複数のデータパケットに含まれない場合（Ｓ２０４：Ｎｏ）、送信部２８は、次の処理を実行する。即ち、送信部２８は、特定パケットの送信が通信制御部２１から指示された時刻を応答時間算出部２５へ送信する。応答時間算出部２５は、送信部２８から受信した時刻を、第１の応答時間の開始時刻として特定する（Ｓ２０６）。そして、ＡＰ２０は、本フローチャートに示した開始時刻特定処理を終了する。
【００９１】
図１１に戻って説明を続ける。送信部２８は、通信制御部２１または応答時間算出部２５から指示されたデータパケットを送信する（Ｓ１０１）。そして、受信部２９は、データパケットの送信から所定時間以内に、ＡＣＫパケットを受信したか否かを判定する（Ｓ１０２）。
【００９２】
所定時間以内にＡＣＫパケットを受信した場合（Ｓ１０２：Ｙｅｓ）、受信部２９は、ＡＣＫパケットを送信した端末装置１３の端末ＩＤを応答時間算出部２５、パケットロス率算出部２６、および送信部２８へ送る。また、受信部２９は、受信したＡＣＫパケットの送信元の端末装置１３の端末ＩＤと共に、ＡＣＫパケットを受信した際に測定されたＲＳＳＩをＲＳＳＩ登録部２７へ送る。そして、応答時間算出部２５は、ステップＳ１００で選択した端末装置１３の端末ＩＤを含むパケット長算出要求をパケット長算出部２４へ送信する。そして、ＡＰ２０は、ステップＳ１０１において送信されたデータパケットのパケット長を算出するパケット長算出処理を実行する（Ｓ３００）。
【００９３】
所定時間以内に受信部２９がＡＣＫパケットを受信しなかった場合（Ｓ１０２：Ｎｏ）、送信部２８は、再送回数を１増やす（Ｓ１０３）。そして、送信部２８は、再送回数が所定回数以上か否かを判定する（Ｓ１０４）。再送回数が所定回数未満である場合（Ｓ１０４：Ｎｏ）、送信部２８は、データパケットを再送し（Ｓ１０５）、受信部２９は、再びステップＳ１０２に示した処理を実行する。
【００９４】
一方、再送回数が所定回数以上である場合（Ｓ１０４：Ｙｅｓ）、送信部２８は、データパケットのパケットロスを、データパケットの宛先の端末装置１３の端末ＩＤと共に、応答時間算出部２５に通知する。そして、ステップＳ１０７に示す処理が実行される。
【００９５】
［パケット長算出処理］
図１３は、パケット長算出処理の一例を示すフローチャートである。
【００９６】
まず、パケット長算出部２４は、送信部２８から出力されたデータパケットのヘッダを参照する。そして、パケット長算出部２４は、ＭＣＳによって定まる伝送レートＲM、データパケットのデータサイズＤ、ＭＩＭＯによる多重ストリーム数ＮM、およびチャネルボンディングによる帯域の多重数ＮCを特定する（Ｓ３０１）。そして、パケット長算出部２４は、送信部２８から出力されたデータパケットの無線ヘッダを参照して、無線ヘッダ内にHT−SIGまたはVHT−SIGフィールドが含まれているか否かを判定する（Ｓ３０２）。
【００９７】
無線ヘッダ内にHT−SIGまたはVHT−SIGフィールドが含まれている場合（Ｓ３０２：Ｙｅｓ）、パケット長算出部２４は、ＭＡＣヘッダ内にVHTフィールドが含まれているか否かを判定する（Ｓ３０３）。ＭＡＣヘッダ内にVHTフィールドが含まれている場合（Ｓ３０３：Ｙｅｓ）、パケット長算出部２４は、ＭＡＣヘッダ内のQoSフィールドを参照して、ブロックＡＣＫの方式がExplicitブロックＡＣＫであるか否かを判定する（Ｓ３０４）。
【００９８】
ブロックＡＣＫの方式がExplicitブロックＡＣＫではない場合（Ｓ３０４：Ｎｏ）、即ち、ブロックＡＣＫの方式がImplicitブロックＡＣＫである場合、パケット長算出部２４は、例えば前述の式（３）に基づいてパケット長Ｔdを算出する（Ｓ３０５）。そして、パケット長算出部２４は、算出されたパケット長Ｔdを応答時間算出部２５へ送信する。そして、ＡＰ２０は、本フローチャートに示したパケット長算出処理を終了する。
【００９９】
一方、ブロックＡＣＫの方式がExplicitブロックＡＣＫである場合（Ｓ３０４：Ｙｅｓ）、パケット長算出部２４は、連続して送信されたデータパケットのヘッダの数をカウントすることにより、連続して送信されたデータパケットの数ＮDを特定する。そして、パケット長算出部２４は、ＢＡＲパケットのヘッダを参照して、ＢＡＲパケットのデータサイズＤBを特定する。そして、パケット長算出部２４は、例えば前述の式（２）に基づいてパケット長Ｔdを算出する（Ｓ３０６）。そして、パケット長算出部２４は、算出されたパケット長Ｔdを応答時間算出部２５へ送信する。そして、ＡＰ２０は、本フローチャートに示したパケット長算出処理を終了する。
【０１００】
また、ＭＡＣヘッダ内にVHTフィールドが存在しない場合（Ｓ３０３：Ｎｏ）、パケット長算出部２４は、HT−SIGフィールド内のビットを参照して、パケットアグリゲーションが有効か否かを判定する（Ｓ３０７）。パケットアグリゲーションが有効である場合（Ｓ３０７：Ｙｅｓ）、パケット長算出部２４は、ステップＳ３０４に示した処理を実行する。
【０１０１】
一方、パケットアグリゲーションが無効である場合（Ｓ３０７：Ｎｏ）、パケット長算出部２４は、例えば前述の式（１）に基づいてパケット長Ｔdを算出する（Ｓ３０８）。そして、パケット長算出部２４は、算出されたパケット長Ｔdを応答時間算出部２５へ送信する。そして、ＡＰ２０は、本フローチャートに示したパケット長算出処理を終了する。また、無線ヘッダ内にHT−SIGおよびVHT−SIGフィールドが存在しない場合（Ｓ３０２：Ｎｏ）、パケット長算出部２４は、ステップＳ３０８に示した処理を実行する。
【０１０２】
図１１に戻って説明を続ける。応答時間算出部２５は、ステップＳ２００において特定された開始時刻から、ステップＳ１０２において受信部２９からＡＣＫパケットの送信元の端末装置１３の端末ＩＤを受信した時刻までの時間を第１の応答時間として特定する。そして、応答時間算出部２５は、特定された第１の応答時間から、ステップＳ３００で算出されたパケット長Ｔdを引くことにより、第２の応答時間を算出する（Ｓ１０６）。
【０１０３】
そして、ステップＳ１００で選択された端末装置１３の端末ＩＤに対応する測定値テーブル２３０内の個別テーブル２３０１に、各測定値が登録される（Ｓ１０７）。具体的には、端末装置１３からのＡＣＫパケットが受信された場合には、応答時間算出部２５は、算出された第２の応答時間を個別テーブル２３０１内に登録する。また、端末装置１３からのＡＣＫパケットが受信された場合には、パケットロス率算出部２６は、パケットロスが発生しなかったことを示す０を個別テーブルに登録する。また、端末装置１３からのＡＣＫパケットが受信された場合には、ＲＳＳＩ登録部２７は、ＡＣＫパケットのＲＳＳＩの値を個別テーブル２３０１に登録する。
【０１０４】
一方、端末装置１３からのＡＣＫパケットが受信されなかった場合には、応答時間算出部２５は、ステップＳ２００において特定された開始時刻から、パケットロスが通知された時点までの時間を第２の応答時間として個別テーブル２３０１に登録する。また、パケットロス率算出部２６は、パケットロスが発生したことを示す１を個別テーブル２３０１に登録する。
【０１０５】
次に、応答時間算出部２５は、データパケットを所定回数送信したか否かを判定する（Ｓ１０８）。本実施例において、応答時間算出部２５は、各端末装置１３に対してデータパケットを例えば数十回程度送信する。データパケットを所定回数送信していない場合（Ｓ１０８：Ｎｏ）、ＡＰ２０は、再びステップＳ２００に示した処理を実行する。
【０１０６】
一方、データパケットを所定回数送信した場合（Ｓ１０８：Ｙｅｓ）、応答時間算出部２５は、ＡＰ２０に帰属中の全ての端末装置１３を選択したか否かを判定する（Ｓ１０９）。未選択の端末装置１３がある場合（Ｓ１０９：Ｎｏ）、応答時間算出部２５は、再びステップＳ１００に示した処理を実行する。
【０１０７】
一方、ＡＰ２０に帰属中の全ての端末装置１３が選択された場合（Ｓ１０９：Ｙｅｓ）、応答時間算出部２５は、端末装置１３毎に、測定値テーブル２３０内の個別テーブル２３０１を参照する。そして、応答時間算出部２５は、端末装置１３毎に、第２の応答時間を平均することにより応答時間の基準値を算出する（Ｓ１１０）。また、応答時間算出部２５は、端末装置１３毎に、測定値テーブル２３０内の個別テーブル２３０１を参照して、第２の応答時間のばらつきの度合いを応答時間マージンとして算出する（Ｓ１１０）。そして、応答時間算出部２５は、端末装置１３毎に、算出した基準値および応答時間マージンを、端末ＩＤに対応付けて応答時間テーブル２４１に登録する。
【０１０８】
次に、判定部２２は、除外端末特定処理を実行する（Ｓ１１１）。ステップＳ１１１では、判定部２２は、端末装置１３毎に測定値テーブル２３０内の個別テーブル２３０１を参照して、平均ＲＳＳＩが所定の閾値以下の端末装置１３をフェージングの影響を受けている可能性が高い端末装置１３として特定する。そして、判定部２２は、特定された端末装置１３の端末ＩＤを、端末リストテーブル２３５内のリスト１に登録する。そして、ＡＰ２０は、本フローチャートに示した基準値作成処理を終了する。
【０１０９】
［測定処理］
図１４は、測定処理の一例を示すフローチャートである。ＡＰ２０は、例えば所定のタイミング毎（例えば数秒毎）に、本フローチャートに示す測定処理を実行する。
【０１１０】
まず、応答時間算出部２５は、ＡＰ２０に帰属中の端末装置１３の中で、未選択の端末装置１３を１つ選択する（Ｓ４００）。そして、応答時間算出部２５は、選択した端末装置１３について、図１２で説明した開始時刻特定処理を実行する（Ｓ２００）。
【０１１１】
次に、送信部２８は、通信制御部２１または応答時間算出部２５から指示されたデータパケットを送信する（Ｓ４０１）。そして、受信部２９は、データパケットの送信から所定時間以内に、ＡＣＫパケットを受信したか否かを判定する（Ｓ４０２）。
【０１１２】
所定時間以内に受信部２９がＡＣＫパケットを受信しなかった場合（Ｓ４０２：Ｎｏ）、送信部２８は、再送回数を１増やす（Ｓ４０３）。そして、送信部２８は、再送回数が所定回数以上か否かを判定する（Ｓ４０４）。再送回数が所定回数未満である場合（Ｓ４０４：Ｎｏ）、送信部２８は、データパケットを再送し（Ｓ４０５）、受信部２９は、再びステップＳ４０２に示した処理を実行する。
【０１１３】
一方、再送回数が所定回数以上である場合（Ｓ４０４：Ｙｅｓ）、送信部２８は、データパケットのパケットロスを、データパケットの宛先の端末装置１３の端末ＩＤと共に、応答時間算出部２５に通知する。そして、ステップＳ４０７に示す処理が実行される。
【０１１４】
所定時間以内にＡＣＫパケットを受信した場合（Ｓ４０２：Ｙｅｓ）、受信部２９は、ＡＣＫパケットを送信した端末装置１３の端末ＩＤを応答時間算出部２５、パケットロス率算出部２６、および送信部２８へ送る。また、受信部２９は、受信したＡＣＫパケットの送信元の端末装置１３の端末ＩＤと共に、ＡＣＫパケットを受信した際に測定されたＲＳＳＩをＲＳＳＩ登録部２７へ送る。そして、応答時間算出部２５は、ステップＳ４００で選択した端末装置１３の端末ＩＤを含むパケット長算出要求をパケット長算出部２４へ送信する。そして、ＡＰ２０は、ステップＳ４０１において送信されたデータパケットについて、図１３で説明したパケット長算出処理を実行する（Ｓ３００）。
【０１１５】
次に、応答時間算出部２５は、ステップＳ２００において特定された開始時刻から、受信部２９からＡＣＫパケットの送信元の端末装置１３の端末ＩＤを受信した時刻までの時間を第１の応答時間として特定する。そして、応答時間算出部２５は、特定された第１の応答時間から、ステップＳ３００で算出されたパケット長Ｔdを引くことにより、第２の応答時間を算出する（Ｓ４０６）。
【０１１６】
次に、ステップＳ４００で選択された端末装置１３の端末ＩＤに対応する測定値テーブル２３０内の個別テーブル２３０１に、各測定値が登録される（Ｓ４０７）。具体的には、端末装置１３からのＡＣＫパケットが受信された場合には、応答時間算出部２５は、算出された第２の応答時間を個別テーブル２３０１内に登録する。また、端末装置１３からのＡＣＫパケットが受信された場合には、パケットロス率算出部２６は、パケットロスが発生しなかったことを示す０を個別テーブルに登録する。また、端末装置１３からのＡＣＫパケットが受信された場合には、ＲＳＳＩ登録部２７は、ＡＣＫパケットのＲＳＳＩの値を個別テーブル２３０１に登録する。
【０１１７】
一方、端末装置１３からのＡＣＫパケットが受信されなかった場合には、応答時間算出部２５は、ステップＳ２００において特定された開始時刻から、パケットロスが通知された時点までの時間を第２の応答時間として個別テーブル２３０１に登録する。また、パケットロス率算出部２６は、パケットロスが発生したことを示す１を個別テーブル２３０１に登録する。
【０１１８】
次に、ステップＳ４００で選択された端末装置１３について、平均応答時間、パケットロス率、および平均ＲＳＳＩが更新される（Ｓ４０８）。具体的には、応答時間算出部２５は、ステップＳ４００で選択された端末装置１３について、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数の応答時間を平均して平均応答時間を算出する。そして、応答時間算出部２５は、応答時間テーブル２３１において、ステップＳ４００で選択された端末装置１３の端末ＩＤに対応付けられている平均応答時間を、算出した平均応答時間で更新する。
【０１１９】
また、パケットロス率算出部２６は、ステップＳ４００で選択された端末装置１３について、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数のパケットロスの値を平均してパケットロス率を算出する。そして、パケットロス率算出部２６は、パケットロス率テーブル２３２において、ステップＳ４００で選択された端末装置１３の端末ＩＤに対応付けられているパケットロス率を、算出したパケットロス率で更新する。
【０１２０】
また、ＲＳＳＩ登録部２７は、ステップＳ４００で選択された端末装置１３について、測定値テーブル２３０内の個別テーブル２３０１を参照し、新しく登録された順に所定数のＲＳＳＩを平均して平均ＲＳＳＩを算出する。そして、ＲＳＳＩ登録部２７は、ＲＳＳＩテーブル２３３において、ステップＳ４００で選択された端末装置１３の端末ＩＤに対応付けられている平均ＲＳＳＩを、算出した平均ＲＳＳＩで更新する。
【０１２１】
次に、応答時間算出部２５は、ＡＰ２０に帰属中の全ての端末装置１３を選択したか否かを判定する（Ｓ４０９）。未選択の端末装置１３がある場合（Ｓ４０９：Ｎｏ）、応答時間算出部２５は、再びステップＳ４００に示した処理を実行する。一方、全ての端末装置１３が選択された場合（Ｓ４０９：Ｙｅｓ）、ＡＰ２０は、本フローチャートに示した測定処理を終了する。
【０１２２】
［障害判定処理］
図１５は、障害判定処理の一例を示すフローチャートである。ＡＰ２０は、例えば各端末装置１３がデータパケットの送受信を行う時間帯において、例えば所定のタイミング毎（例えば１０分毎）に、本フローチャートに示す障害判定処理を実行する。
【０１２３】
まず、ＡＰ２０は、後述する遮蔽・故障判定処理を実行する（Ｓ５００）。そして、ＡＰ２０は、ＡＰ２０の遮蔽または故障が判定されたか否かを判定する（Ｓ５０１）。ＡＰ２０の遮蔽または故障が判定された場合（Ｓ５０１：Ｙｅｓ）、ＡＰ２０の遮蔽または故障を障害原因とする判定結果を、判定を行った時刻と共に、保持部２３内のログテーブル２３４に登録する（Ｓ５０３）。そして、ＡＰ２０は、本フローチャートに示した障害判定処理を終了する。
【０１２４】
一方、ＡＰ２０の遮蔽および故障が判定されていない場合（Ｓ５０１：Ｎｏ）、ＡＰ２０は、後述する干渉判定処理を実行する（Ｓ５０２）。そして、ＡＰ２０は、干渉判定処理によって判定された結果を障害原因として、判定を行った時刻と共に、保持部２３内のログテーブル２３４に登録する（Ｓ５０３）。そして、ＡＰ２０は、本フローチャートに示した障害判定処理を終了する。
【０１２５】
［遮蔽・故障判定処理］
図１６は、遮蔽・故障判定処理の一例を示すフローチャートである。
【０１２６】
まず、判定部２２は、変数ｉの値を０に初期化し、ＡＰ２０に帰属している全ての端末装置１３の数を定数Ｎ0にセットする（Ｓ６００）。そして、判定部２２は、端末リストテーブル２３５のリスト２およびリスト３内の端末ＩＤを全て削除する（Ｓ６０１）。そして、判定部２２は、変数ｉの値が定数Ｎ0未満か否かを判定する（Ｓ６０２）。
【０１２７】
変数ｉの値が定数Ｎ0未満である場合（Ｓ６０２：Ｙｅｓ）、判定部２２は、保持部２３内のパケットロス率テーブル２３２を参照し、ＡＰ２０に帰属している端末装置１３の中でｉ番目の端末装置１３のパケットロス率Ｐ（ｉ）を取得する（Ｓ６０３）。そして、判定部２２は、取得したパケットロス率Ｐ（ｉ）が、予め定められた閾値Ｐth1以上であるか否かを判定する（Ｓ６０４）。本実施例において、閾値Ｐth1は、例えば１００％である。
【０１２８】
パケットロス率Ｐ（ｉ）が閾値Ｐth1以上である場合（Ｓ６０４：Ｙｅｓ）、判定部２２は、ｉ番目の端末装置１３の端末ＩＤを、故障または遮蔽が疑われる端末装置１３のリストであるリスト２に登録する（Ｓ６０５）。一方、パケットロス率Ｐ（ｉ）が閾値Ｐth1未満である場合（Ｓ６０４：Ｎｏ）、判定部２２は、ｉ番目の端末装置１３の端末ＩＤを、干渉の判定対象の候補となる端末装置１３のリストであるリスト３に登録する（Ｓ６０６）。そして、判定部２２は、変数ｉの値を１増やし（Ｓ６０７）、再びステップＳ６０２に示した処理を実行する。
【０１２９】
変数ｉの値が定数Ｎ0以上である場合（Ｓ６０２：Ｎｏ）、判定部２２は、リスト２内に端末ＩＤの数を定数Ｎ2にセットする（Ｓ６０８）。そして、判定部２２は、定数Ｎ2の値と、ＡＰ２０に帰属している全ての端末装置１３の数を示す定数Ｎ0の値と等しいか否かを判定する（Ｓ６０９）。定数Ｎ2の値と定数Ｎ0の値とが等しい場合（Ｓ６０９：Ｙｅｓ）、即ち、ＡＰ２０に帰属している全ての端末装置１３のパケットロス率Ｐ（ｉ）が閾値Ｐth1以上である場合、判定部２２は、ＡＰ２０の故障または遮蔽と判定する（Ｓ６１０）。これにより、図１５に示したステップＳ５０３において、ＡＰ２０の故障または遮蔽を障害原因とする判定結果が保持部２３内のログテーブル２３４に登録される。そして、判定部２２は、本フローチャートに示した遮蔽・故障判定処理を終了する。
【０１３０】
一方、定数Ｎ2の値と定数Ｎ0の値とが異なる場合（Ｓ６０９：Ｎｏ）、判定部２２は、定数Ｎ2の値が１以上か否かを判定する（Ｓ６１１）。定数Ｎ2の値が０である場合（Ｓ６１１：Ｎｏ）、即ち、パケットロス率Ｐ（ｉ）が閾値Ｐth1以上の端末装置１３が１台も存在しない場合、判定部２２は、本フローチャートに示した遮蔽・故障判定処理を終了する。一方、定数Ｎ2が１以上である場合（Ｓ６１１：Ｙｅｓ）、即ち、一部の端末装置１３のパケットロス率Ｐ（ｉ）が閾値Ｐth1以上である場合、判定部２２は、リスト２内に端末ＩＤが登録された端末装置１３の故障または遮蔽と判定する（Ｓ６１２）。これにより、図１５に示したステップＳ５０３において、リスト２内に登録されている端末ＩＤと共に、端末装置１３の故障または遮蔽を障害原因とする判定結果が保持部２３内のログテーブル２３４に登録される。
【０１３１】
［干渉判定処理］
図１７は、干渉診断処理の一例を示すフローチャートである。
【０１３２】
まず、判定部２２は、端末リストテーブル２３５のリスト４およびリスト５内の端末ＩＤを全て削除する（Ｓ７００）。そして、判定部２２は、端末リストテーブル２３５のリスト３内から、端末リストテーブル２３５のリスト１内の端末ＩＤを除外する。そして、判定部２２は、リスト３内に残った端末ＩＤをリスト４に登録する（Ｓ７０１）。そして、判定部２２は、変数ｉの値を０に初期化し、リスト４内に端末ＩＤの数を定数Ｎ4にセットする（Ｓ７０２）。
【０１３３】
次に、判定部２２は、変数ｉの値が定数Ｎ4未満か否かを判定する（Ｓ７０３）。変数ｉの値が定数Ｎ4未満である場合（Ｓ７０３：Ｙｅｓ）、判定部２２は、応答時間テーブル２３１を参照し、リスト４内のｉ番目の端末ＩＤに対応する平均応答時間Ｄ（ｉ）、基準値Ｄr（ｉ）、および応答時間マージンＤm（ｉ）を取得する（Ｓ７０４）。そして、判定部２２は、平均応答時間Ｄ（ｉ）が、基準値Ｄr（ｉ）と応答時間マージンＤm（ｉ）とを合計した時間よりも長いか否かを判定する（Ｓ７０５）。以下では、基準値Ｄr（ｉ）と応答時間マージンＤm（ｉ）とを合計した時間を、干渉判定用の閾値と記載する場合がある。
【０１３４】
平均応答時間Ｄ（ｉ）が、基準値Ｄr（ｉ）と応答時間マージンＤm（ｉ）とを合計した時間以下である場合（Ｓ７０５：Ｎｏ）、判定部２２は、変数ｉの値を１増やし（Ｓ７０７）、再びステップＳ７０３に示した処理を実行する。一方、平均応答時間Ｄ（ｉ）が、基準値Ｄr（ｉ）と応答時間マージンＤm（ｉ）とを合計した時間よりも長い場合（Ｓ７０５：Ｙｅｓ）、判定部２２は、ｉ番目の端末ＩＤをリスト５に登録する（Ｓ７０６）。リスト５は、干渉が疑われる端末装置１３のリストである。そして、判定部２２は、ステップＳ７０７に示した処理を実行する。
【０１３５】
変数ｉの値が定数Ｎ4以上である場合（Ｓ７０３：Ｎｏ）、判定部２２は、リスト５内の端末ＩＤの数を定数Ｎ5にセットする（Ｓ７０８）。そして、判定部２２は、定数Ｎ5が０であるか否かを判定する（Ｓ７０９）。定数Ｎ5が０である場合（Ｓ７０９：Ｙｅｓ）、即ち、干渉が疑われる端末装置１３が存在しない場合、判定部２２は、前述の遮蔽・故障判定処理において、既に何らかの障害が判定されているか否かを判定する（Ｓ７１０）。
【０１３６】
既に何らかの障害が判定されている場合（Ｓ７１０：Ｙｅｓ）、判定部２２は、本フローチャートに示した干渉判定処理を終了する。一方、障害が判定されていない場合（Ｓ７１０：Ｎｏ）、判定部２２は、異常なしと判定する（Ｓ７１１）。これにより、図１５に示したステップＳ５０３において、異常なしが判定結果として保持部２３内のログテーブル２３４に登録される。そして、ＡＰ２０は、本フローチャートに示した干渉判定処理を終了する。
【０１３７】
一方、定数Ｎ5が０ではない場合（Ｓ７０９：Ｎｏ）、即ち、干渉が疑われる端末装置１３が存在する場合、判定部２２は、定数Ｎ5が、定数Ｎ4に所定の定数αを乗じた値以上か否かを判定する（Ｓ７１２）。所定の定数αは、１より小さい値であり、例えば０．９である。定数Ｎ5が、定数Ｎ4に所定の定数αを乗じた値以上である場合（Ｓ７１２：Ｙｅｓ）、判定部２２は、ＡＰ２０が干渉を受けていると判定する（Ｓ７１３）。これにより、図１５に示したステップＳ５０３において、ＡＰ２０が干渉を受けている旨を示す障害原因が判定結果として保持部２３内のログテーブル２３４に登録される。そして、ＡＰ２０は、本フローチャートに示した干渉判定処理を終了する。
【０１３８】
一方、定数Ｎ5が、定数Ｎ4に所定の定数αを乗じた値未満である場合（Ｓ７１２：Ｎｏ）、判定部２２は、リスト５に端末ＩＤが登録されている端末装置１３が干渉を受けていると判定する（Ｓ７１４）。これにより、図１５に示したステップＳ５０３において、リスト５に登録されている端末ＩＤと共に、端末装置１３が干渉を受けている旨を示す障害原因が判定結果として保持部２３内のログテーブル２３４に登録される。そして、ＡＰ２０は、本フローチャートに示した干渉判定処理を終了する。
【０１３９】
［シミュレーション結果］
図１８および図１９は、シミュレーション結果の一例を示す図である。図１８は、ＭＣＳ等の変化により、データパケットの伝送レートが変化した場合の干渉の検出結果を示す。図１９は、パケットアグリゲーションにより連続または連結して送信されるデータパケットの数が変化した場合の干渉の検出結果を示す。図１８（ａ）および図１９（ａ）では、第１の応答時間に基づいて干渉検出用の閾値が算出されている。図１８（ｂ）および図１９（ｂ）では、第２の応答時間に基づいて干渉判定用の閾値が算出されている。図１８および図１９では、運用時のデータパケットの第１の応答時間または第２の応答時間が、破線で示される閾値を超えた場合に、干渉ありと判定される。
【０１４０】
データパケットの伝送レートが変わると、データパケットの時間的な長さであるパケット長Ｔdが変化し、第１の応答時間も変化する。データパケットの伝送レートが低くなると、データパケットのパケット長Ｔdが長くなり、第１の応答時間も長くなる。図１８（ａ）の例では、データパケットの伝送レートが低い場合の第１の応答時間が、干渉判定用の閾値として算出されている。
【０１４１】
図１８（ａ）の右側には、データパケットの伝送レート毎に、干渉によるパケットロス率（ＰＬＲ）を変化させた場合の第１の応答時間が示されている。図１８（ａ）の右側に示すように、パケットロス率が高くなると、運用時のデータパケットの第１の応答時間が閾値を超える傾向にある。そのため、パケットロス率が高くなるほど、干渉ありと判定される傾向にある。しかし、パケットロス率が低くなると、運用時のデータパケットの第１の応答時間が閾値を超えない傾向にある。そのため、パケットロス率が低くなるほど、干渉なしと判定される傾向にある。図１８（ａ）の例では、干渉によりパケットロスが発生する状況を設定してシミュレーションが行われている。しかし、図１８（ａ）のシミュレーション結果では、２１．３％が干渉なしと誤判定された。
【０１４２】
図１８（ｂ）の右側には、データパケットの伝送レート毎に、干渉によるパケットロス率を変化させた場合の第２の応答時間が示されている。図１８（ｂ）では、第１の応答時間からパケット長Ｔdを引いた第２の応答時間に基づいて干渉判定用の閾値が算出される。そのため、データパケットの伝送レートが変化しても、干渉判定用の閾値は変化しない。図１８（ｂ）の右側に示すように、第２の応答時間に基づいて干渉判定用の閾値が算出された場合には、伝送レートとパケットロス率の全ての組合せにおいて、データパケットの第２の応答時間が閾値を超えた。そのため、第２の応答時間に基づいて閾値が算出された場合には、伝送レートとパケットロス率の全ての組合せにおいて、干渉ありと判定された。従って、図１８（ｂ）のシミュレーション結果では、干渉なしと誤判定された割合は０％であった。
【０１４３】
図１９（ａ）の例では、パケットアグリゲーションにより連続または連結して送信されるデータパケットの数（以下、アグリゲーション数と記載する）が多い場合の第１の応答時間が、干渉判定用の閾値として算出されている。図１９（ａ）の右側には、アグリゲーション数毎に、干渉によるパケットロス率を変化させた場合の第１の応答時間が示されている。図１９（ａ）の右側に示すように、アグリゲーション数が多くなると、データパケットの第１の応答時間が干渉判定用の閾値を超える傾向にある。そのため、アグリゲーション数が多くなるほど、干渉ありと判定される傾向にある、しかし、アグリゲーション数が少なくなると、データパケットの第１の応答時間が閾値を超えない傾向にある。そのため、アグリゲーション数が少なくなるほど、干渉なしと判定される傾向にある。図１９（ａ）の例では、干渉によりパケットロスが発生する状況を設定してシミュレーションが行われている。しかし、図１９（ａ）のシミュレーション結果では、２５．３％が干渉なしと誤判定された。
【０１４４】
図１９（ｂ）の右側には、アグリゲーション数毎に、干渉によるパケットロス率を変化させた場合の第２の応答時間が示されている。図１９（ｂ）では、第２の応答時間に基づいて干渉判定用の閾値が算出されるため、アグリゲーション数が変化しても、干渉判定用の閾値は変化しない。図１９（ｂ）の右側に示すように、第２の応答時間に基づいて干渉判定用の閾値が算出された場合には、アグリゲーション数とパケットロス率の全ての組合せにおいて、データパケットの第２の応答時間が閾値を超えた。そのため、第２の応答時間に基づいて干渉判定用の閾値が算出された場合には、アグリゲーション数とパケットロス率の全ての組合せにおいて、干渉ありと判定された。従って、図１９（ｂ）のシミュレーション結果では、干渉なしと誤判定された割合は０％であった。このように、第２の応答時間に基づいて干渉の有無を判定することにより、干渉の有無の判定精度を向上させることができる。
【０１４５】
［実施例の効果］
上述したように、本実施例のＡＰ２０は、送信部２８と、受信部２９と、パケット長算出部２４と、応答時間算出部２５と、判定部２２とを備える。送信部２８は、送信指示に応じて、端末装置１３へデータパケットを送信する。受信部２９は、端末装置１３へ送信されたデータパケットに対するＡＣＫパケットを端末装置１３から受信する。パケット長算出部２４は、端末装置１３へ送信されたデータパケットの時間的な長さであるパケット長を算出する。応答時間算出部２５は、上記送信指示から上記ＡＣＫパケットの受信までの第１の応答時間から、パケット長算出部２４によって算出されたパケット長を引くことにより第２の応答時間を算出する。判定部２２は、第２の応答時間に基づいて、端末装置１３が干渉を受けているか否かを判定する。これにより、ＡＰ２０は、無線ネットワークにおける干渉の発生を精度よく判定することができる。
【０１４６】
また、本実施例では、パケット長算出部２４は、データパケットに適用されるＭＣＳに基づいて、パケット長を算出する。これにより、ＡＰ２０は、データパケットのパケット長を精度よく算出することができる。
【０１４７】
また、本実施例では、パケット長算出部２４は、端末装置１３が、複数のデータパケットに対してＡＣＫパケットを１回返す場合に、複数のデータパケットのそれぞれの時間的な長さを合計した時間をパケット長として算出する。これにより、ＡＰ２０は、パケットアグリゲーションにより連結された複数のデータパケットに対してブロックＡＣＫが１回送信される場合であっても、連結されたデータパケットの時間的な長さ分を、第１の応答時間から引くことができる。そのため、ＡＰ２０は、第１の応答時間においてデータパケットの連結数の変動分を除外することができる。従って、データパケットの連結数によらず、無線ネットワークにおける干渉の発生を精度よく判定することができる。
【０１４８】
また、本実施例では、端末装置１３が、複数のデータパケットに対してＡＣＫパケットを１回返す場合に、パケット長算出部２４は、複数のデータパケットのそれぞれの時間的な長さを合計した時間と、複数のデータパケットにおいて隣接するデータパケット間の送信待ち時間を合計した時間とをパケット長として算出する。これにより、ＡＰ２０は、パケットアグリゲーションにより連続して送信された複数のデータパケットに対してブロックＡＣＫが１回送信される場合であっても、複数のデータパケットの送信に要する時間を、第１の応答時間から引くことができる。そのため、ＡＰ２０は、第１の応答時間において、連続して送信されるデータパケットの数の変動分を除外することができる。従って、連続して送信されるデータパケットの数によらず、無線ネットワークにおける干渉の発生を精度よく判定することができる。
【０１４９】
また、本実施例では、端末装置１３が、複数のデータパケットに対してＡＣＫパケットを１回返す場合に、応答時間算出部２５は、複数のデータパケットの中の先頭のデータパケットに対する送信指示から、ＡＣＫパケットが受信されるまでの時間を第１の応答時間として特定する。そして、応答時間算出部２５は、第１の応答時間からパケット長を引いた時間を第２の応答時間として算出する。これにより、ＡＰ２０は、パケットアグリゲーションによりデータパケットが連続または連結して送信される場合であっても、第１の応答時間を精度よく測定することができる。
【０１５０】
また、本実施例のＡＰ２０において、パケット長算出部２４は、ＭＩＭＯの多重数およびチャネルボンディングの多重数の少なくともいずれかを用いて、パケット長を算出する。これにより、ＡＰ２０は、データパケットのパケット長を精度よく算出することができる。
【０１５１】
［ハードウェア］
図２０は、ＡＰ２０を実現する通信装置４０のハードウェアの一例を示す図である。通信装置４０は、例えば図２０に示すように、ネットワークインターフェイス回路４１、メモリ４２、プロセッサ４３、無線回路４４、およびアンテナ２００を有する。
【０１５２】
ネットワークインターフェイス回路４１は、有線接続によってネットワーク装置１２と接続するためのインターフェイスである。ネットワークインターフェイス回路４１は、例えば通信制御部２１の機能を実現する。無線回路４４は、プロセッサ４３から出力された信号に変調等の所定の処理を施し、処理後の信号をアンテナ２００を介して送信する。また、無線回路４４は、アンテナ２００を介して受信した信号に復調等の所定の処理を施してプロセッサ４３へ出力する。無線回路４４は、例えば送信部２８および受信部２９の機能を実現する。
【０１５３】
メモリ４２には、通信制御部２１、判定部２２、パケット長算出部２４、応答時間算出部２５、パケットロス率算出部２６、ＲＳＳＩ登録部２７、送信部２８、および受信部２９の機能を実現するためのプログラムが格納される。また、メモリ４２には、保持部２３内の測定値テーブル２３０、応答時間テーブル２３１、パケットロス率テーブル２３２、ＲＳＳＩテーブル２３３、ログテーブル２３４、および端末リストテーブル２３５のデータが格納される。
【０１５４】
プロセッサ４３は、メモリ４２に格納されたプログラムをメモリ４２から読み出して実行することにより、判定部２２、パケット長算出部２４、応答時間算出部２５、パケットロス率算出部２６、およびＲＳＳＩ登録部２７の機能を実現する。また、プロセッサ４３は、メモリ４２に格納されたプログラムをメモリ４２から読み出して実行することにより、ネットワークインターフェイス回路４１と協働して、通信制御部２１の機能を実現する。また、プロセッサ４３は、メモリ４２に格納されたプログラムをメモリ４２から読み出して実行することにより、無線回路４４と協働して、送信部２８および受信部２９の機能を実現する。
【０１５５】
＜その他＞
なお、開示の技術は、上記した実施例に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１５６】
例えば、上記実施例において、通信制御部２１、判定部２２、保持部２３、パケット長算出部２４、応答時間算出部２５、パケットロス率算出部２６、ＲＳＳＩ登録部２７、送信部２８、および受信部２９は、ＡＰ２０内に設けられる。しかし、開示の技術はこれに限られない。例えば、ＡＰ２０が設けられた通信ネットワーク内に、コントローラを設け、該コントローラに、判定部２２および保持部２３の各機能ブロックが設けられてもよい。この場合、ＡＰ２０には、通信制御部２１、パケット長算出部２４、応答時間算出部２５、パケットロス率算出部２６、ＲＳＳＩ登録部２７、送信部２８、および受信部２９の各機能ブロックが設けられる。そして、コントローラとＡＰ２０とが通信ネットワークを介して互いに通信することにより、コントローラとＡＰ２０とが協働して、上記実施例に示したＡＰ２０の機能を実現するようにしてもよい。なお、上記実施例に示したＡＰ２０の機能は、３つ以上の装置内に分散配置され、各装置が通信ネットワークを介して互いに通信することにより、各装置が協働して、上記実施例に示したＡＰ２０の機能を実現するようにしてもよい。
【０１５７】
また、上記した実施形態において、応答時間算出部２５は、第１の応答時間からパケット長を引いた時間を第２の応答時間として算出するが、開示の技術はこれに限られない。例えば、応答時間算出部２５は、第１の応答時間から、データパケットのパケット長と、ＡＣＫパケットのパケット長を引いた時間を第２の応答時間として算出してもよい。これにより、通常のＡＣＫパケットとブロックＡＣＫパケットとでデータサイズが異なることにより、第２の応答時間が変動することを防止することができる。従って、干渉の発生をより精度よく判定することができる。
【符号の説明】
【０１５８】
１０  無線通信システム
１３  端末装置
２０  ＡＰ
２１  通信制御部
２２  判定部
２３  保持部
２３０  測定値テーブル
２３１  応答時間テーブル
２３２  パケットロス率テーブル
２３３  ＲＳＳＩテーブル
２３４  ログテーブル
２３５  端末リストテーブル
２４  パケット長算出部
２５  応答時間算出部
２６  パケットロス率算出部
２７  ＲＳＳＩ登録部
２８  送信部
２９  受信部
２００  アンテナ
【図１】
2017130726.tif 000003
【図２】
2017130726.tif 000004
【図３】
2017130726.tif 000005
【図４】
2017130726.tif 000006
【図５】
2017130726.tif 000007
【図６】
2017130726.tif 000008
【図７】
2017130726.tif 000009
【図８】
2017130726.tif 000010
【図９】
2017130726.tif 000011
【図１０】
2017130726.tif 000012
【図１１】
2017130726.tif 000013
【図１２】
2017130726.tif 000014
【図１３】
2017130726.tif 000015
【図１４】
2017130726.tif 000016
【図１５】
2017130726.tif 000017
【図１６】
2017130726.tif 000018
【図１７】
2017130726.tif 000019
【図１８】
2017130726.tif 000020
【図１９】
2017130726.tif 000021
【図２０】
2017130726.tif 000022