(57)【要約】【課題】複数の端末装置に対して１つのタイミングでネットワークスキャンを効率的に実行可能なネットワークスキャン装置を提供する。【解決手段】スキャン解析マネージャ１２は、ネットワークスキャンのスキャン応答およびスキャン応答性に基づいてネットワークスキャンを失敗した失敗原因を全ての端末装置について推定する。クラスタリングマネージャ１４は、ネットワークスキャンが行われた複数の端末装置のうちの一部の端末装置の失敗原因が、ネットワーク混雑である場合、その失敗原因によってネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する。スキャンスケジューラ１６は、各分割クラスタに含まれる端末装置を各スキャンタイミングに含めてスキャンスケジュールを生成する。ネットワークスキャナ１１は、生成されたスキャンスケジュールに基づいてネットワークスキャンを行う。【選択図】図２
2020154637.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいて前記ネットワークスキャンを失敗した失敗原因を推定する推定処理を前記ネットワークスキャンの対象である端末装置について実行する推定手段と、
前記ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいて前記ネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の前記失敗原因が、前記ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、前記ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、前記ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、および前記ネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、前記第４の失敗原因である場合、前記第４の失敗原因によって前記ネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成するクラスタ生成手段と、
１つの前記分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を前記複数の分割クラスタについて実行してスキャンスケジュールを生成するスケジューリング手段と、
前記スケジューリング手段によって作成されたスキャンタイミングに基づいてネットワークスキャンを行うスキャン手段とを備えるネットワークスキャン装置。
【請求項２】
前記複数の端末装置は、１つのクラスタに含まれ、
前記クラスタ生成手段は、前記１つのクラスタを複数のクラスタに分割して前記複数の分割クラスタを生成する、請求項１に記載のネットワークスキャン装置。
【請求項３】
前記クラスタ生成手段は、前記失敗原因が前記第４の失敗原因である端末装置と、前記ネットワークスキャンを失敗していない端末装置とに分けて前記複数の分割クラスタを生成する、請求項１または請求項２に記載のネットワークスキャン装置。
【請求項４】
前記クラスタ生成手段は、前記複数の分割クラスタ間において端末装置の位置が遠くなるように前記複数の分割クラスタを生成する、請求項１または請求項２に記載のネットワークスキャン装置。
【請求項５】
前記スケジューリング手段は、前記ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に前記複数のスキャンタイミングを設定して前記スキャンスケジュールを生成する、請求項１から請求項４のいずれか１項に記載のネットワークスキャン装置。
【請求項６】
前記スキャン応答性に基づいて前記複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する閾値決定手段と、
１個の端末装置の前記スキャン応答性を前記閾値と比較して前記１個の端末装置を前記複数の属性のいずれかに分類する属性分類処理を前記複数の端末装置について実行する分類手段とを更に備え、
前記クラスタ生成手段は、前記複数の端末装置から前記第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する、請求項１から請求項５のいずれか１項に記載のネットワークスキャン装置。
【請求項７】
推定手段が、ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいて前記ネットワークスキャンを失敗した失敗原因を推定する推定処理を前記ネットワークスキャンの対象である端末装置について実行する第１のステップと、
クラスタ生成手段が、前記ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいて前記ネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の前記失敗原因が、前記ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、前記ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、前記ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、および前記ネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、前記第４の失敗原因である場合、前記第４の失敗原因によって前記ネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する第２のステップと、
スケジューリング手段が、１つの前記分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を前記複数の分割クラスタについて実行してスキャンスケジュールを生成する第３のステップと、
スキャン手段が、前記第３のステップにおいて作成されたスキャンタイミングに基づいてネットワークスキャンを行う第４のステップとをコンピュータに実行させるためのプログラム。
【請求項８】
前記複数の端末装置は、１つのクラスタに含まれ、
前記クラスタ生成手段は、前記第２のステップにおいて、前記１つのクラスタを複数のクラスタに分割して前記複数の分割クラスタを生成する、請求項７に記載のコンピュータに実行させるためのプログラム。
【請求項９】
前記クラスタ生成手段は、前記第２のステップにおいて、前記失敗原因が前記第４の失敗原因である端末装置と、前記ネットワークスキャンを失敗していない端末装置とに分けて前記複数の分割クラスタを生成する、請求項７または請求項８に記載のコンピュータに実行させるためのプログラム。
【請求項１０】
前記クラスタ生成手段は、前記第２のステップにおいて、前記複数の分割クラスタ間において端末装置の位置が遠くなるように前記複数の分割クラスタを生成する、請求項７または請求項８に記載のコンピュータに実行させるためのプログラム。
【請求項１１】
前記スケジューリング手段は、前記第３のステップにおいて、前記ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に前記複数のスキャンタイミングを設定して前記スキャンスケジュールを生成する、請求項７から請求項１０のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項１２】
閾値決定手段が、前記スキャン応答性に基づいて前記複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する第５のステップと、
分類手段が、１個の端末装置の前記スキャン応答性を前記閾値と比較して前記１個の端末装置を前記複数の属性のいずれかに分類する属性分類処理を前記複数の端末装置について実行する第６のステップとを更にコンピュータに実行させ、
前記クラスタ生成手段は、前記第２のステップにおいて、前記複数の端末装置から前記第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する、請求項７から請求項１１のいずれか１項に記載のコンピュータに実行させるためのプログラム。
【請求項１３】
請求項７から請求項１２のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
第５世代移動通信（５Ｇ）システムの実用化に伴って、携帯端末、コンピュータ、センサおよびウェブカメラ等の多くの物がインターネットに接続されることになる。このようなインターネットに接続された携帯端末およびコンピュータ等は、ＩｏＴ（Internet of Things）機器と呼ばれている。
【０００３】
ＩｏＴ時代には、通信ネットワークに接続されるＩｏＴ機器の個数は、急速に増大することが見込まれる。ＩｏＴ機器のうち、無線通信を行うＩｏＴ機器は、十分にセキュリティを確保できないまま、不正使用され、ＤＤｏＳ（Distributed Denial of Service attack）攻撃のようなサイバー攻撃に悪用されるケースが増大すると予想される。
【０００４】
このような事態を回避するために、通信ネットワークに接続されたＩｏＴ機器に対して、ネットワークスキャンを行い、セキュリティ対策が各ＩｏＴ機器になされているかを調査する必要がある。
【０００５】
従来、非特許文献１に記載のネットワークスキャンが知られている。非特許文献１に記載されたネットワークスキャンは、ＩＰｖ４空間のアプリケーションに対してスキャンを行うものであり、次の方法によって行われる。
【０００６】
まず、ＩＰｖ４空間に対してポートスキャンを行い、レスポンスの有無を調査する。そして、レスポンスのあったホストに対して、様々なプロトコル（ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）およびＰＯＰ３（Post Office Protocol version 3）等）でハンドシェイクを実施し、メッセージを取得する。その後、取得したメッセージから、脆弱性評価に有用なキーワードを抽出する。そして、メタデータやタグ情報をキーワードに付与する。メタデータやタグ情報が付与されたキーワードを構造データとしてデータベースに登録する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Z. Durumeric, et al., “A Search Engine Backed by Internet-Wide Scanning”, CCS15, October 12-16, 2015.
【非特許文献２】吉岡  克成、村上  洸介、松本  勉，“マルウェア感染ホスト検出のためのネットワークスキャン手法と検出用シグネチャの自動生成，”情報処理学会論文誌，Ｖｏｌ．５１，Ｎｏ．９，１６３３−１６４４（Ｓｅｐ．２０１０）．
【非特許文献３】G. Shakhnarovich, T. Darrell, and P. Indyk, “Nearest-Neighbor Methods in Learning and Vision: Theory and Practice”, The MIT Press, 2005. ISBN 0-262-19547-X.
【非特許文献４】J. MACQUEEN, “SOME METHODS FOR CLASSIFICATION AND ANALYSIS OF MULTIVARIATE OBSERVATIONS,” Proc. of 5th Berkeley Symposium on Mathematical Statistics and Probability, pp. 281-297, 1967.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、非特許文献１に記載のネットワークスキャンにおいては、複数の端末装置に対して１つのタイミングでネットワークスキャンを効率的に実行することが困難である。
【０００９】
そこで、この発明の実施の形態によれば、複数の端末装置に対して１つのタイミングでネットワークスキャンを効率的に実行可能なネットワークスキャン装置を提供する。
【００１０】
また、この発明の実施の形態によれば、複数の端末装置に対して１つのタイミングでネットワークスキャンの効率的な実行をコンピュータに実行させるためのプログラムを提供する。
【００１１】
更に、この発明の実施の形態によれば、複数の端末装置に対して１つのタイミングでネットワークスキャンの効率的な実行をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【００１２】
（構成１）
この発明の実施の形態によれば、ネットワークスキャン装置は、推定手段と、クラスタ生成手段と、スケジューリング手段と、スキャン手段とを備える。推定手段は、ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいてネットワークスキャンを失敗した失敗原因を推定する推定処理をネットワークスキャンの対象である端末装置について実行する。クラスタ生成手段は、ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいてネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の失敗原因が、ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、およびネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、第４の失敗原因である場合、第４の失敗原因によってネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する。スケジューリング手段は、１つの分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を複数の分割クラスタについて実行してスキャンスケジュールを生成する。スキャン手段は、スケジューリング手段によって生成されたスキャンタイミングに基づいてネットワークスキャンを行う。
【００１３】
（構成２）
構成１において、複数の端末装置は、１つのクラスタに含まれる。クラスタ生成手段は、１つのクラスタを複数のクラスタに分割して複数の分割クラスタを生成する。
【００１４】
（構成３）
構成１または構成２において、クラスタ生成手段は、失敗原因が第４の失敗原因である端末装置と、ネットワークスキャンを失敗していない端末装置とに分けて複数の分割クラスタを生成する。
【００１５】
（構成４）
構成１または構成２において、クラスタ生成手段は、複数の分割クラスタ間において端末装置の位置が遠くなるように複数の分割クラスタを生成する。
【００１６】
（構成５）
構成１から構成４のいずれかにおいて、スケジューリング手段は、ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に複数のスキャンタイミングを設定してスキャンスケジュールを生成する。
【００１７】
（構成６）
構成１から構成５のいずれかにおいて、ネットワークスキャン装置は、閾値決定手段と、分類手段とを更に備える。閾値決定手段は、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する。分類手段は、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する。そして、クラスタ生成手段は、複数の端末装置から第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する。
【００１８】
また、上述した実施の形態１〜実施の形態４によれば、この発明の実施の形態によるプログラムは、次の構成を備えていればよい。
【００１９】
（構成７）
また、この発明の実施の形態によれば、プログラムは、推定手段が、ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいてネットワークスキャンを失敗した失敗原因を推定する推定処理をネットワークスキャンの対象である端末装置について実行する第１のステップと、
クラスタ生成手段が、ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいてネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の失敗原因が、ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、およびネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、第４の失敗原因である場合、第４の失敗原因によってネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する第２のステップと、
スケジューリング手段が、１つの分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を複数の分割クラスタについて実行してスキャンスケジュールを生成する第３のステップと、
スキャン手段が、第３のステップにおいて生成されたスキャンタイミングに基づいてネットワークスキャンを行う第４のステップとをコンピュータに実行させるためのプログラムである。
【００２０】
（構成８）
構成７において、複数の端末装置は、１つのクラスタに含まれる。クラスタ生成手段は、第２のステップにおいて、１つのクラスタを複数のクラスタに分割して複数の分割クラスタを生成する。
【００２１】
（構成９）
構成７または構成８において、クラスタ生成手段は、第２のステップにおいて、失敗原因が第４の失敗原因である端末装置と、ネットワークスキャンを失敗していない端末装置とに分けて複数の分割クラスタを生成する。
【００２２】
（構成１０）
構成７または構成８において、クラスタ生成手段は、第２のステップにおいて、複数の分割クラスタ間において端末装置の位置が遠くなるように複数の分割クラスタを生成する。
【００２３】
（構成１１）
構成７から構成１０のいずれかにおいて、スケジューリング手段は、第３のステップにおいて、ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に複数のスキャンタイミングを設定してスキャンスケジュールを生成する。
【００２４】
（構成１２）
構成７から構成１１のいずれかにおいて、閾値決定手段が、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する第５のステップと、
分類手段が、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する第６のステップとを更にコンピュータに実行させ、
クラスタ生成手段は、第２のステップにおいて、複数の端末装置から第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する。
【００２５】
（構成１３）
更に、この発明の実施の形態によれば、記録媒体は、構成９から構成１２のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２６】
複数の端末装置に対して１つのタイミングでネットワークスキャンを効率的に実行できる。
【図面の簡単な説明】
【００２７】
【図１】この発明の実施の形態における通信システムの概略図である。
【図２】図１に示すネットワークスキャン装置の実施の形態１における概略図である。
【図３】図２に示すホスト情報データベースの概念図である。
【図４】クラスタ化の具体例を示す図である。
【図５】クラスタ化の他の具体例を示す図である。
【図６】図２に示すクラスタリングデータベースの概念図である。
【図７】スキャンスケジュールの概念図である。
【図８】ネットワークスキャンを失敗した原因を推定する方法を示す図である。
【図９】クラスタを分割する方法を説明するための図である。
【図１０】クラスタを分割する方法を説明するための図である。
【図１１】クラスタが分割されたときのスキャンスケジュールの作成方法を説明するための図である。
【図１２】図２に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
【図１３】図１２に示すステップＳ７の詳細な動作を説明するためのフローチャートである。
【図１４】分割クラスタを生成する元になる端末装置を説明するための図である。
【図１５】実施の形態２によるネットワークスキャン装置の概略図である。
【図１６】実施の形態２におけるスキャンスケジュールの概念図である。
【図１７】トラヒックの時間依存性を示す図である。
【図１８】複数の端末装置の周辺におけるトラヒックの時間依存性を示す図である。
【図１９】実施の形態２におけるネットワークスキャンの概念図である。
【図２０】通信が混雑している状態を示す図である。
【図２１】図１５に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
【図２２】図２１に示すステップＳ１１の詳細な動作を説明するためのフローチャートである。
【図２３】実施の形態３によるネットワークスキャン装置の概略図である。
【図２４】図２３に示すホスト情報データベースの概略図である。
【図２５】無線端末と有線端末におけるスキャン応答遅延の比較を示す図である。
【図２６】図２３に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
【図２７】図２６のステップＳ２１の詳細な動作を説明するためのフローチャートである。
【図２８】図２７のステップＳ２２５の詳細な動作を説明するためのフローチャートである。
【図２９】図２３に示すネットワークスキャン装置の動作を説明するための別のフローチャートである。
【図３０】図２６に示すフローチャートにおける処理概念と図２９に示すフローチャートにおける処理概念との比較を示す図である。
【図３１】実施の形態４によるネットワークスキャン装置の概略図である。
【図３２】図３１に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
【図３３】図３１に示すネットワークスキャン装置の動作を説明するための別のフローチャートである。
【発明を実施するための形態】
【００２８】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２９】
図１は、この発明の実施の形態における通信システムの概略図である。図１を参照して、この発明の実施の形態による通信システム１０は、ネットワークスキャン装置１と、基地局ＢＳ１，ＢＳ２と、インターネットプロバイダＩＳＰと、端末装置ＴＭ１〜ＴＭ１８とを備える。
【００３０】
ネットワークスキャン装置１、基地局ＢＳ１，ＢＳ２、インターネットプロバイダＩＳＰ（Internet Service Provider）および端末装置ＴＭ１〜ＴＭ１８は、通信空間に配置される。
【００３１】
基地局ＢＳ１は、無線通信網ＣＮＷ１の基地局であり、基地局ＢＳ２は、無線通信網ＣＮＷ２の基地局であり、インターネットプロバイダＩＳＰは、有線通信網ＣＮＷ３の通信事業者である。
【００３２】
無線通信網ＣＮＷ１，ＣＮＷ２は、相互に異なる無線通信規格に従って無線通信を行う通信網である。
【００３３】
この発明の実施の形態においては、端末装置ＴＭ１〜ＴＭ１８の各々が無線端末である場合があり、端末装置ＴＭ１〜ＴＭ１８の一部が無線端末からなり、かつ、残りが有線端末からなる場合もある。
【００３４】
端末装置ＴＭ１〜ＴＭ６は、無線通信網ＣＮＷ２の外側であり、かつ、無線通信網ＣＮＷ１の内部に配置される。
【００３５】
端末装置ＴＭ７は、無線通信網ＣＮＷ１と無線通信網ＣＮＷ２との重複領域内に配置される。
【００３６】
端末装置ＴＭ８〜ＴＭ１３は、無線通信網ＣＮＷ１の外側であり、かつ、無線通信網ＣＮＷ２の内部に配置される。
【００３７】
端末装置ＴＭ１４〜ＴＭ１８は、有線通信網ＣＮＷ３内に配置され、有線を介してインターネットプロバイダＩＳＰに接続される。
【００３８】
端末装置ＴＭ１〜ＴＭ１３の各々は、基地局ＢＳ１，ＢＳ２と無線通信可能な２個の無線通信モジュールを備えている。従って、端末装置ＴＭ１〜ＴＭ１３の各々は、基地局ＢＳ１または基地局ＢＳ２と無線通信可能である。
【００３９】
端末装置ＴＭ１〜ＴＭ６は、基地局ＢＳ１と無線通信を行い、端末装置ＴＭ７は、基地局ＢＳ１または基地局ＢＳ２と無線通信を行い、端末装置ＴＭ８〜ＴＭ１３は、基地局ＢＳ２と無線通信を行う。
【００４０】
端末装置ＴＭ１４〜ＴＭ１８は、インターネットプロバイダＩＳＰを介して有線通信を行う。
【００４１】
ネットワークスキャン装置１は、後述する方法によって、端末装置ＴＭ１〜ＴＭ１８に対してネットワークスキャンを行う。
【００４２】
［実施の形態１］
図２は、図１に示すネットワークスキャン装置１の実施の形態１における概略図である。図２を参照して、ネットワークスキャン装置１は、ネットワークスキャナ１１と、スキャン解析マネージャ１２と、ホスト情報データベース１３と、クラスタリングマネージャ１４と、クラスタリングデータベース１５と、スキャンスケジューラ１６とを備える。
【００４３】
ネットワークスキャナ１１は、スキャンスケジューラ１６からスキャンスケジュールを受け、その受けたスキャンスケジュールに基づいて、例えば、公知のＮｍａｐ（非特許文献２）を用いて、スキャン対象のネットワーク２０に接続された端末装置のポートに対してネットワークスキャンを行う。
【００４４】
そして、ネットワークスキャナ１１は、ネットワーク２０に接続された端末装置からネットワークスキャンのスキャン応答を受信し、その受信したスキャン応答をユーザ（ネットワークセキュリティ等からなる）３０およびスキャン解析マネージャ１２へ出力する。
【００４５】
スキャン解析マネージャ１２は、ネットワークスキャナ１１からスキャン応答を受け、ネットワークスキャン中に通信ログを受ける。そして、スキャン解析マネージャ１２は、スキャン応答に基づいてスキャン対象の端末装置のアドレスと、スキャン応答とを対応付けたスキャン結果を生成し、その生成したスキャン結果をホスト情報データベース１３に格納することによってホスト情報データベース１３を作成または更新する。
【００４６】
また、スキャン解析マネージャ１２は、複数の端末装置を対象とするネットワークスキャンのスキャン応答遅延に基づいて、後述する方法によって、ネットワークスキャンを失敗した原因を推定する。
【００４７】
より具体的には、スキャン解析マネージャ１２は、スキャン応答遅延に基づいて、ネットワークスキャンを失敗した原因を次の第１の原因、第２の原因、第３の原因および第４の原因のいずれかであると推定する。
【００４８】
（第１の原因）
ネットワークスキャンの対象である端末装置ｉのポートが閉塞していることである。
【００４９】
（第２の原因）
ネットワークスキャンの対象である端末装置ｉとの通信における通信品質が不足していることである。
【００５０】
（第３の原因）
ネットワークスキャンの対象である端末装置ｉがネットワークに接続されていないことである。
【００５１】
（第４の原因）
ネットワークスキャンの対象である端末装置ｉが接続されているネットワークが混雑していることである。
【００５２】
そして、スキャン解析マネージャ１２は、ネットワークスキャンを失敗した原因を推定すると、その推定した原因を追加してホスト情報データベース１３を作成または更新する。
【００５３】
ホスト情報データベース１３は、スキャン結果を記憶する。クラスタリングマネージャ１４は、ネットワークスキャンを行う領域（例えば、日本国内）に存在する全ての端末装置のグローバルＩＰアドレスおよびドメイン名を予め保持している。クラスタリングマネージャ１４は、スキャン結果をホスト情報データベース１３から読み出し、その読み出したスキャン結果に基づいて、ネットワークスキャンの対象である複数の端末装置をクラスタに分類する。そして、クラスタリングマネージャ１４は、分類結果（クラスタと端末装置の対応関係）をクラスタリングデータベース１５に格納してクラスタリングデータベース１５を作成または更新する。
【００５４】
また、クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、ネットワークスキャンを失敗した原因が第４の原因である端末装置を抽出し、その抽出した端末装置が含まれるクラスタを後述する方法によって複数の分割クラスタに分割する。そして、クラスタリングマネージャ１４は、複数の分割クラスタを用いてクラスタリングデータベース１５を更新する。
【００５５】
スキャンスケジューラ１６は、ホスト情報データベース１３からスキャン結果を読み出し、クラスタリングデータベース１５から分類結果（クラスタと端末装置の対応関係）を読み出す。また、スキャンスケジューラ１６は、スキャン要件をユーザ３０から受ける。スキャンスケジューラ１６は、ネットワークスキャンを行う領域（例えば、日本国内）に存在する全ての端末装置のグローバルＩＰアドレスおよびドメイン名を予め保持している。
【００５６】
そして、スキャンスケジューラ１６は、スキャン要件、スキャン結果および分類結果（クラスタと端末装置の対応関係）に基づいて、後述する方法によって、ネットワークスキャンのスキャンタイミングと各スキャンタイミングにおけるネットワークスキャンの対象となる端末装置とを対応付けたスキャンスケジュールを作成する。そうすると、スキャンスケジューラ１６は、スキャンスケジュールをネットワークスキャナ１１へ出力してスキャンスケジュールに従ってネットワークスキャンを実行するようにネットワークスキャナ１１を制御する。
【００５７】
図３は、図２に示すホスト情報データベース１３の概念図である。図３を参照して、ホスト情報データベース１３は、時刻ｔと、ＩＰアドレスＡｄｄｉ（ｉ＝１〜Ｉ、Ｉは、端末装置の総数）と、ドメイン名ＤＮｉと、基地局と、位置情報と、ポート番号ＰＮｒと、スキャン応答ＳＲｉと、スキャン応答遅延ＳＲＤｉと、ネットワークスキャンを失敗した失敗原因とを含む。時刻ｔ、ＩＰアドレスＡｄｄｉ、ドメイン名ＤＮｉ、基地局、位置情報、ポート番号ＰＮｒ、スキャン応答ＳＲｉ、スキャン応答遅延ＳＲＤｉおよび失敗原因は、相互に対応付けられる。
【００５８】
時刻ｔは、ＹＹＹＹ／ＭＭ／ＤＤ／ｈｈ／ｍｍ／ｓｓ（年／月／日／時／分／秒）によって表される。そして、時刻ｔは、ネットワークスキャンにおけるテスト入力をネットワークスキャンの対象である端末装置へ送信した時間を表す。
【００５９】
ＩＰアドレスＡｄｄｉは、ネットワークスキャンの対象である端末装置のグローバルＩＰアドレスからなる。
【００６０】
ドメイン名ＤＮｉは、ＩＰアドレスＡｄｄｉに基づいてＰＴＲ（PoinTeR record）レコードを用いて変換されたものである。
【００６１】
基地局および位置情報は、端末装置ｉのＩＰアドレスＡｄｄｉに対応して設けられる。そして、位置情報は、端末装置ｉの位置情報であり、例えば、ｘ−ｙ座標によって表される。スキャン解析マネージャ１２は、全ての端末装置ｉの位置情報［ｘｉ，ｙｉ］と、全ての端末装置ｉと基地局との対応関係とを予め保持している。従って、スキャン解析マネージャ１２は、ホスト情報データベース１３を作成または更新できる。
【００６２】
なお、スキャン解析マネージャ１２は、全ての端末装置ｉの位置情報［ｘｉ，ｙｉ］と、全ての端末装置ｉと基地局との対応関係とを予め保持できない場合、「不明（ｕｎｋｎｏｗｎ）」を示す値、または仮想的に何らかの値（例えば、初期状態として、「同じドメインの端末装置は同一の基地局に接続していることを示す値」）を与えるようにしてもよい。
【００６３】
また、スキャン解析マネージャ１２は、端末装置ｉが移動端末であるとき、定期的に、端末装置ｉの位置情報［ｘｉ，ｙｉ］を端末装置ｉから受信し、その受信した位置情報［ｘｉ，ｙｉ］と位置情報［ｘｉ，ｙｉ］を受信した時刻ｔとを対応付けてホスト情報データベース１３に格納する。また、スキャン解析マネージャ１２は、端末装置ｉが移動端末であるとき、必要に応じて、無線通信を行っている全ての端末装置ｉのＩＰアドレスＡｄｄｉを基地局（基地局ＢＳ１またはＢＳ２）から受信し、その受信した端末装置ｉのＩＰアドレスＡｄｄｉに基づいて、端末装置ｉと基地局との対応関係を更新する。
【００６４】
ポート番号ＰＮｒは、各端末装置が通信に用いるポートの番号である。
【００６５】
スキャン応答ＳＲｉは、各ポート番号ＰＮｒに対応して格納される。そして、スキャン応答ＳＲｉは、スキャン応答が返って来たとき、“１”からなり、スキャン応答が返って来なかったとき、“０”からなる。
【００６６】
スキャン応答遅延ＳＲＤｉは、各ポート番号ＰＮｒに対応して格納される。そして、スキャン応答遅延ＳＲＤｉは、テスト入力を送信した時刻からスキャン応答ＳＲｉが返って来るまでの時間からなる。
【００６７】
失敗原因は、各ポート番号ＰＮｒに対応して格納される。そして、失敗原因は、上述した第１の原因から第４の原因のいずれかからなる。
【００６８】
図４は、クラスタ化の具体例を示す図である。図５は、クラスタ化の他の具体例を示す図である。
【００６９】
図４は、ＩＰアドレスによるクラスタリングの例を示す。企業などのネットワークにおいては、どれだけのエリアにＩＰアドレスが展開されているかが不明であるが、大学などのネットワークにおいては、例えば、半径数百ｍの範囲で近いＩＰアドレスが使用されている。従って、大学のネットワーク内の端末装置を１つのクラスタに分類する。
【００７０】
また、セルラーネットワークおよびＩＳＰネットワークにおいては、半径数十ｍの範囲で近いＩＰアドレスが使用されているので、これらのＩＰアドレスを有する端末装置を１つのクラスタに分類する。
【００７１】
図５は、ドメイン名および無線環境状況に基づくクラスタリングの例を示す。例えば、大学などの狭いエリアでネットワークを展開するドメインをドメイン単位でクラスタ化する。
【００７２】
また、企業Ａと企業Ｂのように、空間的には離れているが、類似の無線環境状況にある基地局・アクセスポイント（ＡＰ：Access Point）に接続される端末装置を１つのクラスタに分類する。企業Ａ内の端末装置は、企業Ａ内に設置された基地局またはＡＰとの間で無線通信を行い、企業Ｂ内の端末装置は、企業Ｂ内に設置された基地局またはＡＰとの間で無線通信を行うので、企業Ａ内の端末装置および企業Ｂ内の端末装置は、類似の無線環境状況にある。クラスタリングマネージャ１４は、ドメイン名を参照すれば、企業内に設置された端末装置であるか否かを判別できるので、類似の無線環境状況にある端末装置をクラスタ化できる。
【００７３】
図６は、図２に示すクラスタリングデータベース１５の概念図である。図６を参照して、クラスタリングデータベース１５は、例えば、クラスタＡ，Ｂ，Ｃを含む。クラスタＡ，Ｂは、ＩＰアドレスによってクラスタ化されたクラスタであり、クラスタＣは、ドメイン名によってクラスタ化されたクラスタである。
【００７４】
クラスタＡは、相互に近いＩＰアドレスＡｄｄ１〜Ａｄｄｐ（ｐは、２以上の整数）を有するｐ個の端末装置からなる。クラスタＢは、相互に近いＩＰアドレスＡｄｄｑ〜Ａｄｄｑ＋ｓ（ｑは、ｐと異なる整数、ｓは、１以上の整数）を有する（ｓ＋１）個の端末装置からなる。クラスタＣは、狭いエリアで展開されるネットワーク内のドメイン名ｘ１ｘ１ｘ１．ｃｏｍ〜ｘｊｘｊｘｊ．ｃｏｍ（ｊは、２以上の整数）を有するｊ個の端末装置からなる。
【００７５】
なお、図６においては、クラスタリングデータベース１５は、ＩＰアドレスによってクラスタ化されたクラスタＡ，Ｂと、ドメイン名によってクラスタ化されたクラスタＣとを含むが、この発明の実施の形態においては、これに限らず、クラスタリングデータベース１５は、ＩＰアドレスのみによってクラスタ化されたクラスタから構成されていてもよく、ドメイン名のみによってクラスタ化されたクラスタから構成されていてもよく、類似の無線環境状況のみによってクラスタ化されたクラスタから構成されていてもよく、一般的には、ＩＰアドレス、ドメイン名および類似の無線環境状況の少なくとも１つによってクラスタ化されたクラスタから構成されていればよい。
【００７６】
クラスタリングマネージャ１４は、図３に示すホスト情報データベース１３を参照して、ＩＰアドレス、ドメイン名および類似の無線環境状況の少なくとも１つによって、ホスト情報データベース１３に格納されたＩ個の端末装置を複数のクラスタに分類し、図６に示すクラスタリングデータベース１５を作成または更新する。
【００７７】
図７は、スキャンスケジュールの概念図である。図７を参照して、スキャンスケジュールＳＣＳＨＤは、スキャン総時間長ＴＳ＿ｔｏｔａｌを有し、ＴＳ（Ｔは、１以上の整数）個のスキャンタイミング１Ｓ〜スキャンタイミングＴＳを含む。
【００７８】
スキャン総時間長ＴＳ＿ｔｏｔａｌは、例えば、１日に設定され、スキャンタイミング１Ｓ〜スキャンタイミングＴＳの各々は、例えば、１時間の時間長を有する。スキャンタイミングｔＳ（ｔＳ＝１Ｓ〜ＴＳ）は、開始時刻ｔｓｔａｒｔと、終了時刻ｔｅｎｄと、対象アドレスＡｄｄ１〜Ａｄｄｎ（ｎは、１以上Ｉ以下の整数）とを含む。
【００７９】
開始時刻ｔｓｔａｒｔは、スキャンタイミングｔＳにおいてネットワークスキャンを開始する時刻を表し、終了時刻ｔｅｎｄは、スキャンタイミングｔＳにおいてネットワークスキャンを終了する時刻を表す。従って、ネットワークスキャナ１１は、スキャンタイミングｔＳにおいて終了時刻ｔｅｎｄが到来すると、ネットワークスキャンを終了する。
【００８０】
対象アドレスＡｄｄ１〜Ａｄｄｎの各々は、グローバルＩＰアドレスからなる。そして、対象アドレスＡｄｄ１〜Ａｄｄｎは、１つのクラスタに分類された端末装置ｉのＩＰアドレスからなり、ネットワークスキャンの対象であるｎ個の端末装置を表す。このように、スキャンタイミングｔＳにおけるネットワークスキャンの対象端末装置として、１つのクラスタに分類された端末装置ｉを含む。
【００８１】
なお、スキャンタイミングｔＳ以外のスキャンタイミング１Ｓ〜（ｔ−１）Ｓ，（ｔ＋１）Ｓ〜ＴＳの各々も、図７に示すスキャンタイミングｔＳと同じ構成からなる。
【００８２】
スキャンタイミング１Ｓ〜ＴＳは、相互に同じ時間長（＝ｔｅｎｄ−ｔｓｔａｒｔ）を有していてもよく、相互に異なる時間長（＝ｔｅｎｄ−ｔｓｔａｒｔ）を有していてもよい。また、スキャンタイミング１Ｓ〜ＴＳは、相互に同じ個数のＩＰアドレスを有していてもよく、相互に異なる個数のＩＰアドレスを有していてもよい。
【００８３】
また、スキャンタイミングｔＳは、１つの時刻を意味するのではなく、開始時刻ｔｓｔａｒｔから終了時刻ｔｅｎｄまでの所定の時間長を有する概念である。
【００８４】
ネットワークスキャンを失敗した原因を推定する方法について説明する。ネットワークスキャンの失敗は、大きく次の２つに分類される。
【００８５】
（１）有線／無線に依らない失敗
この失敗は、ネットワークスキャンの時間内において、ネットワークスキャンを何回実行してもスキャン応答ＳＲｉが得られる可能性が無い失敗である。
【００８６】
（２）無線通信路による失敗
この失敗は、ネットワークスキャンの時間内において、ネットワークスキャンを再度実行することによってスキャン応答が得られる可能性がある失敗である。
【００８７】
上記（１），（２）の失敗の原因を説明すると次のようになる。
【００８８】
（１−１）ポートが閉じている。
【００８９】
ネットワークスキャンの対象である端末装置ｉのポートが閉じている場合、設定を変えない限り、基本的には、そのポートに対して、何度、ネットワークスキャンを実行しても、スキャン応答ＳＲｉを得ることができない。一方、空いているポートでは、スキャン応答ＳＲｉを得ることができる。従って、端末装置ｉにおいて、スキャン応答ＳＲｉが有るポートと、スキャン応答ＳＲｉが無いポートとが存在すれば、スキャン応答ＳＲｉが無いポートは、閉じていると認識できる。
【００９０】
（１−２）端末装置ｉがネットワークに接続していない。
【００９１】
端末装置ｉがネットワークに接続していない原因として、端末装置ｉの電源がＯＦＦ、または端末装置ｉが別のネットワークに接続していることが考えられる。この場合、ネットワークスキャンを実行する時間長の中で端末装置ｉの状態変化（電源がＯＮになる等）が無ければ、基本的には、そのポートに対してネットワークスキャンを、何度、実行してもスキャン応答ＳＲｉを得ることができない。従って、端末装置ｉの全てのポートに対してスキャン応答ＳＲｉを得ることができない場合、端末装置ｉがネットワークに接続していないと認識できる。
【００９２】
（１−３）端末装置ｉがＯＳ（Operating System）の負荷等で応答できない。
【００９３】
完全に応答しないのであれば、上記（１−２）と同義である。
【００９４】
（２−１）通信品質不足（例えば、ＳＮＲ（Signal to Noise Ratio）が不足）による無線フレームのエラーが多発
これは、ビルの陰、地下、未開の地（山奥）等で発生する。そして、通信品質不足が発生した場合、一部の端末装置ｉについてスキャン応答ＳＲｉが来るまでの遅延が大きいこと、スキャン応答ＳＲｉが無いこと等が発生する。従って、周囲の端末装置と比べて少数の端末装置の応答が悪い場合に、この原因に陥っていると推定することができる。そして、この場合、ネットワークスキャンを実行する時間内で、数分程度の時間を空けて、ネットワークスキャンを、再度、実行すると、改善している可能性がある。
【００９５】
従って、スキャン応答遅延ＳＲＤｉが平常時（即ち、「通信品質不足」または「ネットワーク混雑」が発生していない時）よりも大きい端末数をＮ＿ＳＲ＿ａｎｏｍａｌｙとし、同一の基地局（またはＡＰ）に接続された複数の端末装置の配置領域、または半径数十ｍの領域を「所定の領域」とし、所定の領域内に存在する端末装置の個数をＮ＿ｐｒｅｇとし、Ｚを０＜Ｚ≦１を満たす実数としたとき、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立する場合、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ個の端末装置について、ネットワークスキャンを失敗した原因を「通信品質不足」と推定できる。
【００９６】
ここで、スキャン応答遅延ＳＲＤｉが端末装置ｉへの過去のｘ（ｘは、例えば、１０以上の整数）回のネットワークスキャンにおけるｘ個のスキャン応答遅延ＳＲＤｉの平均遅延ＤＬ＿ａｖｅよりもＸ［ｍｓ］以上大きいとき、「スキャン応答遅延ＳＲＤｉが平常時よりも大きい」と判定する。即ち、スキャン応答遅延ＳＲＤｉがＳＲＤｉ≧ＤＬ＿ａｖｅ＋Ｘを満たすとき、「スキャン応答遅延ＳＲＤｉが平常時よりも大きい」と判定する。そして、Ｘ［ｍｓ］は、平常時よりも大きいスキャン応答遅延ＳＲＤｉを精度良く検出するためのマージンであり、例えば、スキャン応答遅延ＳＲＤｉの分布における標準偏差または標準偏差の整数倍である。
【００９７】
この場合、過去のスキャン応答遅延ＳＲＤｉが全く無い場合には、上記の判定を行わず、過去のスキャン応答遅延ＳＲＤｉの個数が１個以上であるがｘ個に満たない場合には得られているスキャン応答遅延ＳＲＤｉの個数の範囲で平均遅延ＤＬ＿ａｖｅを算出する。
【００９８】
なお、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立することは、Ｎ＿ＳＲ＿ａｎｏｍａｌｙが、所定の領域内に存在する端末装置の総数Ｎ＿ｐｒｅｇに基づいて決定された閾値（＝Ｎ＿ｐｒｅｇ×Ｚ）よりも小さいことに相当し、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立しないことは、Ｎ＿ＳＲ＿ａｎｏｍａｌｙが閾値（＝Ｎ＿ｐｒｅｇ×Ｚ）以上であることに相当する。
【００９９】
また、Ｚは、ネットワークの種類に応じて、具体的な数値に設定される。例えば、ネットワークがビルの陰、地下および未開の地等の電波の伝搬状況が悪い領域に存在する場合、Ｚは、例えば、０．５＜Ｚ≦１を満たす１つの値に設定され、電波の伝搬状況が良好な領域に存在する場合、Ｚは、例えば、０＜Ｚ≦０．５を満たす１つの値に設定される。
【０１００】
更に、ｋ-近傍法（非特許文献３）の機械学習によって「スキャン応答遅延ＳＲＤｉが平常時よりも大きい」ことを判定してもよい。
【０１０１】
ｋ-近傍法を用いて、次の手順によって「スキャン応答遅延ＳＲＤｉが平常時よりも大きい」ことを判定する。
【０１０２】
（ｉ）スキャン応答遅延ＳＲＤｉの直前の時系列データからある一定の窓幅の部分時系列を取り出す。
【０１０３】
（ｉｉ）新たに得られたデータ点と部分時系列のそれぞれのデータ点までの距離を全て計算する。
【０１０４】
（ｉｉｉ）上記（ｉｉ）で計算した距離のうち最も短いものをｋＳ個選び、その平均を新たに得られたデータ点の異常度とする。
【０１０５】
（ｉｖ）異常度がある閾値以上であれば、外れ値（即ち、「スキャン応答遅延ＳＲＤｉが平常時よりも大きい」）として検知する。
【０１０６】
スキャン解析マネージャ１２は、ｋ−近傍法によって機械学習を行う機械学習器を内蔵しており、スキャン応答遅延ＳＲＤｉの直前の時系列データを入力として機械学習器に入力し、平常時よりも大きいスキャン応答遅延ＳＲＤｉを出力として得る。そして、スキャン解析マネージャ１２は、平常時よりも大きいスキャン応答遅延ＳＲＤｉの個数をカウントすることによって、上記のＮ＿ＳＲ＿ａｎｏｍａｌｙを決定する。
【０１０７】
更に、半径数十ｍの領域を「所定の領域」としているのは、アドホックネットワークにおける端末装置（無線端末）についても、ネットワークスキャンを失敗した原因を推定するからである。
【０１０８】
なお、長い間、圏外であれば、ネットワークに接続されていないことになるので、上記の（１−２）と同じに扱うことができる。
【０１０９】
（２−２）混雑によるタイムアウト
これは、通信の混雑によって、ネットワークスキャンを実行する時間内にスキャン応答ＳＲｉが返って来ないことである。
【０１１０】
この場合、ネットワークに接続している端末装置ｉの全体について、スキャン応答ＳＲｉが返って来るまでの遅延が大きい、およびスキャン応答ＳＲｉが無い等の状況が発生する。従って、ネットワーク全体の端末装置ｉの応答が悪い場合、この原因に陥っていると推定する。
【０１１１】
従って、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ≧Ｎ＿ｐｒｅｇ×Ｚが成立する場合、Ｎ＿ｐｒｅｇ個の端末装置（即ち、所定の領域内に存在する全ての端末装置）について、ネットワークスキャンを失敗した原因を「ネットワーク混雑」と推定できる。
【０１１２】
図８は、ネットワークスキャンを失敗した原因を推定する方法を示す図である。図８を参照して、ネットワークスキャナ１１は、端末装置ＴＭのポートＡ，Ｂ，Ｃに対してネットワークスキャンを行った結果、ポートＢからスキャン応答ＳＲｉを得たが、ポートＡ，Ｃからスキャン応答ＳＲｉを得ることができない。従って、同一の端末装置でスキャン応答ＳＲｉが有るポートと、スキャン応答ＳＲｉが無いポートとが存在するとき、ネットワークスキャンの失敗原因を「ポート閉塞」であると推定する（図８の（ａ）参照）。
【０１１３】
また、ネットワークスキャナ１１は、端末装置ＴＭのポートＡ，Ｂ，Ｃに対してネットワークスキャンを行った結果、ポートＡ，Ｂ，Ｃの全てからスキャン応答ＳＲｉを得ることができない。従って、全部のポートからスキャン応答ＳＲｉが無い場合、ネットワークスキャンの失敗原因を「ネットワーク接続無し」であると推定する（図８の（ｂ）参照）。
【０１１４】
更に、一部の端末装置がビルの陰に入ってしまい、通信品質が不足しているため、遅延が大きい。従って、少数の端末装置のみ、遅延が大きい場合、ネットワークスキャンの失敗原因を「通信品質不足」であると推定する（図８の（ｃ）参照）。
【０１１５】
更に、混雑のため、ネットワークスキャンが実施されず、タイムアウトとなった。従って、多数の端末装置の遅延が大きい場合、ネットワークスキャンの失敗原因を「ネットワーク混雑」であると推定する（図８の（ｄ）参照）。
【０１１６】
なお、ネットワークスキャンの失敗の原因が「ネットワーク接続無し」である場合、失敗の原因が他の原因である可能性もあるため、ネットワークスキャンを、再度、実行してもよい。
【０１１７】
また、ネットワークスキャンの失敗の原因が「通信品質不足」である場合、端末装置ｉがビルの陰から抜け出せば、通信品質が回復するので、数分程度の時間が経過した後に、ネットワークスキャンを、再度、実行してもよい。
【０１１８】
ネットワークスキャンの失敗の原因が「ポート閉塞」である場合、ＤＤｏＳ等の攻撃を受けることがないので、再度、ネットワークスキャンを実行しない。また、ネットワークスキャンの失敗の原因が「ネットワーク混雑」である場合、クラスタを複数の分割クラスタに分割し、各分割クラスタに含まれる端末装置ｉを１つのスキャンタイミングに含めてネットワークスキャンを再度実行する。
【０１１９】
クラスタを分割する方法について説明する。図９および図１０は、クラスタを分割する方法を説明するための図である。なお、図９および図１０においては、図６に示すクラスタＡを例としてクラスタを分割する方法について説明する。
【０１２０】
図９を参照して、クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）のうちの一部の端末装置が第４の原因によってネットワークスキャンを失敗し、残りの端末装置がネットワークスキャンを失敗していない場合、またはネットワークスキャンを失敗した失敗原因が第４の原因以外の原因である場合、失敗原因を有しない、または第４の原因以外の原因でネットワークスキャンを失敗した端末装置を含む分割クラスタＤＶＣ１と、第４の原因でネットワークスキャンを失敗した端末装置を含む分割クラスタＤＶＣ２とに分割する（図９の（ａ）参照）。このようにクラスタＡを分割することによって通信環境が悪い端末装置を別のクラスタに含めることができ、悪影響を軽減できる可能性がある。
【０１２１】
また、クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）を所定の比率で分割クラスタＤＶＣ１，ＤＶＣ２に分割する。分割クラスタＤＶＣ１に含まれる端末装置の個数をＮＤＶＣ１とし、分割クラスタＤＶＣ２に含まれる端末装置の個数をＮＤＶＣ２とした場合、所定の比率は、ＮＤＶＣ１：ＮＤＶＣ２である。所定の比率（＝ＮＤＶＣ１：ＮＤＶＣ２）で分割する具体的な方法は、例えば、クラスタＡに含まれるＩＰアドレスＡｄｄ１〜Ａｄｄｐの昇順または降順に、ラウンドロビン方式によってＩＰアドレスを分割クラスタＤＶＣ１および分割クラスタＤＶＣ２に交互に振り分ける、またはＩＰアドレスＡｄｄ１〜Ａｄｄｐを値の大きい側と小さい側とに分ける等である（図９の（ｂ）参照）。
【０１２２】
ＩＰアドレスＡｄｄ１〜Ａｄｄｐを値の大きい側と小さい側とに分けて分割クラスタＤＶＣ１，ＤＶＣ２に分割したとき、ＩＰアドレス：“ＡＡＡ．ＢＢＢ．ＣＣＣ．ＤＤＤ”のうちの「ＣＣＣ」の部分（または「ＣＣＣ」よりも上位の部分）に違いがあるＩＰアドレスが含まれている場合（例えば、ある組織において敷地や建物、部局毎に異なるＣＣＣの値を割り当てる場合）には、分割クラスタＤＶＣ１，ＤＶＣ２間の物理的距離が離れる、即ち、各分割クラスタＤＶＣ１，ＤＶＣ２内の端末装置間の距離を短くできる可能性がある。
【０１２３】
更に、クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）をランダムに分割する。より具体的には、クラスタリングマネージャ１４は、クラスタＡに含まれるｐ個の端末装置のＩＰアドレスＡｄｄ１〜Ａｄｄｐにそれぞれ乱数ＲＮ１〜ＲＮｐを付与し、その付与した乱数ＲＮ１〜ＲＮｐが閾値ＲＮ＿ｔｈよりも大きければ分割クラスタＤＶＣ１に振り分け、乱数ＲＮ１〜ＲＮｐが閾値ＲＮ＿ｔｈ以下であれば、分割クラスタＤＶＣ２に振り分けることによってクラスタＡを分割クラスタＤＶＣ１，ＤＶＣ２に分割する（図１０の（ａ）参照）。この場合、閾値ＲＮ＿ｔｈを調整することによって分割クラスタＤＶＣ１，ＤＶＣ２に含まれる端末装置の個数を調整できる。
【０１２４】
更に、クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）の位置に基づいて分割クラスタＤＶＣ１，ＤＶＣ２間の端末装置の位置が相互にできるだけ離れるように分割クラスタＤＶＣ１，ＤＶＣ２に分割する（図１０の（ｂ）参照）。この場合、クラスタリングマネージャ１４は、例えば、ＳＶＭ（Support Vector Machine）を用いて分割クラスタＤＶＣ１，ＤＶＣ２間の端末装置の位置が相互にできるだけ離れるように分割クラスタＤＶＣ１，ＤＶＣ２に分割する。このように分割することによって、分割クラスタ間で通信環境を異なるようにでき、通信環境の良い分割クラスタを増加できる可能性がある。
【０１２５】
なお、図９および図１０においては、１つのクラスタＡを２つの分割クラスタＤＶＣ１，ＤＶＣ２に分割することを説明したが、この発明の実施の形態においては、これに限らず、クラスタリングマネージャ１４は、１つのクラスタＡを３個以上の分割クラスタに分割してもよく、各分割クラスタに含まれる端末装置の個数は、同じであってもよく、異なっていてもよい。また、クラスタリングマネージャ１４は、クラスタの分割を繰り返し行ってもよい。例えば、クラスタリングマネージャ１４は、クラスタＡを分割クラスタＤＶＣ１，ＤＶＣ２に分割し、分割クラスタＤＶＣ１，ＤＶＣ２の少なくとも１つを更に分割クラスタに分割してもよく、クラスタの分割を何回行ってもよい。なお、クラスタを分割しなくてもよい場合があるので、クラスタリングマネージャ１４は、必ずしもクラスタを分割しなくてもよい。
【０１２６】
クラスタリングマネージャ１４は、第４の原因によってネットワークスキャンを失敗した端末装置を含む全てのクラスタを上述した方法によって分割クラスタに分割する。
【０１２７】
また、図９および図１０においては、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）のうちの一部の端末装置が第４の原因によってネットワークスキャンを失敗した場合にクラスタＡを分割クラスタＤＶＣ１，ＤＶＣ２に分割すると説明したが、この発明の実施の形態においては、これに限らず、クラスタＡに含まれるｐ個の端末装置（ＩＰアドレスＡｄｄ１〜Ａｄｄｐを有する端末装置）のうちの少なくとも一部の端末装置が第４の原因によってネットワークスキャンを失敗した場合にクラスタＡを分割クラスタに分割すればよい。
【０１２８】
図１１は、クラスタが分割されたときのスキャンスケジュールの作成方法を説明するための図である。
【０１２９】
図１１を参照して、スキャンスケジューラ１６は、クラスタＣ１〜Ｃ４に含まれる端末装置をそれぞれスキャンタイミング１Ｓ〜４Ｓに含めてスキャンスケジュールＳＣＳＨＤ１を作成してネットアークスキャナ１１へ出力する（図１１の（ａ）参照）。
【０１３０】
そして、スキャンスケジュールＳＣＳＨＤ１に基づいてネットワークスキャンが行われ、クラスタＣ２に含まれる少なくとも一部の端末装置に対するネットワークスキャンが第４の原因によって失敗した。そこで、クラスタリングマネージャ１４は、上述した方法によってクラスタＣ２を２つの分割クラスタＤＶＣ１，ＤＶＣ２に分割した。
【０１３１】
そうすると、スキャンスケジューラ１６は、クラスタリングデータベース１５を参照して、分割クラスタＤＶＣ１に含まれる端末装置を元のスキャンタイミング２Ｓと異なるスキャンタイミング５Ｓに含め、分割クラスタＤＶＣ２に含まれる端末装置を元のスキャンタイミング２Ｓと異なるスキャンタイミング８Ｓに含めてスキャンスケジュールＳＣＳＨＤ２を作成する。つまり、スキャンスケジューラ１６は、分割クラスタＤＶＣ１，ＤＶＣ２に含まれる端末装置を相互に異なるスキャンタイミング５Ｓ，８Ｓに含めてスキャンスケジュールＳＣＳＨＤ２を作成する（図１１の（ｂ）参照）。
【０１３２】
そして、スキャンスケジューラ１６は、スキャンスケジュールＳＣＳＨＤ２をネットワークスキャン１１へ出力し、ネットワークスキャン１１は、スキャンスケジュールＳＣＳＨＤ２に基づいてネットワークスキャンを実行する。
【０１３３】
このように、分割クラスタＤＶＣ１，ＤＶＣ２に含まれる端末装置を元のスキャンタイミング２Ｓと異なるスキャンタイミング５Ｓ，８Ｓでネットワークスキャンを行うことによってネットワークスキャンが成功する可能性が高くなる。クラスタの分割は、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した端末装置を含むクラスタを対象として行われるので、分割クラスタＤＶＣ１，ＤＶＣ２に含まれる端末装置を対象としたネットワークスキャンを元のスキャンタイミングと異なり、かつ、相互に異なるスキャンタイミングで行うことによってネットワークの混雑が解消されている可能性があるからである。
【０１３４】
但し、図９の（ａ）において説明したように、１つのクラスタを、失敗原因を有しない端末装置を含む分割クラスタＤＶＣ１と、第４の原因でネットワークスキャンを失敗した端末装置を含む分割クラスタＤＶＣ２とに分割する場合、分割クラスタＤＶＣ１のスキャンタイミングは、元のスキャンタイミングと同じであってもよい。分割クラスタＤＶＣ１は、失敗原因を有しない端末装置だけを含むので、元のスキャンタイミングと同じスキャンタイミングでネットワークスキャンが行われてもネットワークスキャンに成功する可能性が高いからである。
【０１３５】
従って、この発明の実施の形態においては、少なくとも、第４の原因でネットワークスキャンを失敗した端末装置を含む分割クラスタのスキャンタイミングを元のスキャンタイミングと異なるスキャンタイミングに設定すればよい。
【０１３６】
図１２は、図２に示すネットワークスキャン装置１の動作を説明するためのフローチャートである。図１２を参照して、ネットワークスキャン装置１の動作が開始されると、ネットワークスキャナ１１は、任意のスキャンタイミング（例えば、図７に示すスキャンタイミング１Ｓ〜ＴＳ）で全ての端末装置に対してネットワークスキャンを実行する（ステップＳ１）。
【０１３７】
そして、ネットワークスキャナ１１は、スキャン応答を端末装置から受信するとともにスキャン応答遅延を計測し、スキャン応答およびスキャン応答遅延をスキャン解析マネージャ１２へ出力する。
【０１３８】
その後、スキャン解析マネージャ１２は、ネットワークスキャナ１１から受けたスキャン応答およびスキャン応答遅延（＝ネットワークスキャンの結果）に基づいて、上述した方法によって、ホスト情報データベース１３を作成する（ステップＳ２）。
【０１３９】
引き続いて、クラスタリングマネージャ１４は、ホスト情報データベース１３に基づいて複数の端末装置をクラスタに分類し（ステップＳ３）、クラスタリングデータベース１５を作成または更新する。
【０１４０】
そして、スキャンスケジューラ１６は、クラスタリングデータベース１５を参照して、各クラスタに含まれる端末装置を１つのスキャンタイミングに含めてスキャンスケジュールＳＣＳＨＤ１を作成し（ステップＳ４）、その作成したスキャンスケジュールＳＣＳＨＤ１をネットワークスキャナ１１へ出力する。
【０１４１】
ネットワークスキャナ１１は、スキャンスケジュールＳＣＳＨＤ１をスキャンスケジューラ１６から受け、その受けたスキャンスケジュールＳＣＳＨＤ１に基づいてネットワークスキャンを実行する（ステップＳ５）。
【０１４２】
そして、ネットワークスキャナ１１は、スキャン応答を端末装置から受信するとともにスキャン応答遅延を計測し、スキャン応答およびスキャン応答遅延をスキャン解析マネージャ１２へ出力する。
【０１４３】
その後、スキャン解析マネージャ１２は、ネットワークスキャナ１１から受けたスキャン応答およびスキャン応答遅延（＝ネットワークスキャンの結果）に基づいて、上述した方法によって、ホスト情報データベース１３を更新する（ステップＳ６）。
【０１４４】
そうすると、スキャン解析マネージャ１２は、ホスト情報データベース１３に基づいてネットワークスキャンを失敗した原因を推定し（ステップＳ７）、その推定した失敗原因をホスト情報データベース１３に格納する。
【０１４５】
クラスタリングマネージャ１４は、ホスト情報データベース１３を参照して、上述した方法によって、第４の原因でネットワークスキャンを失敗した端末装置を含むクラスタを分割する（ステップＳ８）。
【０１４６】
その後、スキャンスケジューラ１６は、クラスタリングデータベース１５を参照して、第４の原因でネットワークスキャンを失敗した端末装置を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してスキャンスケジュールＳＣＳＨＤ２を作成する（ステップＳ９）。そして、スキャンスケジューラ１６は、スキャンスケジュールＳＣＳＨＤ２をネットワークスキャナ１１へ出力する。
【０１４７】
ネットワークスキャナ１１は、スキャンスケジュールＳＣＳＨＤ２をスキャンスケジューラ１６から受け、その受けたスキャンスケジュールＳＣＳＨＤ２に基づいてネットワークスキャンを実行する（ステップＳ１０）。これによって、ネットワークスキャン装置１の動作が終了する。
【０１４８】
図１３は、図１２に示すステップＳ７の詳細な動作を説明するためのフローチャートである。
【０１４９】
図１３を参照して、図１２のステップＳ６の後、スキャン解析マネージャ１２は、ホスト情報データベース１３を参照して、記録されている各端末装置ｉのスキャン応答遅延ＳＲＤｉから各端末装置ｉの平均遅延ＤＬ＿ａｖｅｉを算出する（ステップＳ７１）。
【０１５０】
そして、スキャン解析マネージャ１２は、ｙ＝１を設定する（ステップＳ７２）。なお、ｙは、１≦ｙ≦Ｎ＿ａｒｅａを満たす整数であり、Ｎ＿ａｒｅａは、所定の領域の総数である。その後、スキャン解析マネージャ１２は、ホスト情報データベース１３を参照して、所定の領域ｙ内に位置する複数の端末装置のうち、スキャン応答遅延ＳＲＤｉが平均遅延ＤＬ＿ａｖｅｉよりもＸ［ｍｓ］以上となっているＮ＿ＳＲ＿ａｎｏｍａｌｙ個の端末装置を検出する（ステップＳ７３）。
【０１５１】
そうすると、スキャン解析マネージャ１２は、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立するか否かを判定する（ステップＳ７４）。
【０１５２】
ステップＳ７４において、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立すると判定されたとき、スキャン解析マネージャ１２は、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ個の端末装置について、ネットワークスキャンを失敗した原因を「通信品質不足」と推定する（ステップＳ７５）。
【０１５３】
一方、ステップＳ７４において、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ＜Ｎ＿ｐｒｅｇ×Ｚが成立しないと判定されたとき（即ち、Ｎ＿ＳＲ＿ａｎｏｍａｌｙ≧Ｎ＿ｐｒｅｇ×Ｚが成立すると判定されたとき）、スキャン解析マネージャ１２は、Ｎ＿ｐｒｅｇ個の端末装置（即ち、所定の領域に存在する全ての端末装置）について、ネットワークスキャンを失敗した原因を「ネットワーク混雑」と推定する（ステップＳ７６）。
【０１５４】
そして、ステップＳ７５またはステップＳ７６の後、スキャン解析マネージャ１２は、ｙ＝Ｎ＿ａｒｅａであるか否かを判定する（ステップＳ７７）。
【０１５５】
ステップＳ７７において、ｙ＝Ｎ＿ａｒｅａでないと判定されたとき、スキャン解析マネージャ１２は、ｙ＝ｙ＋１を設定する（ステップＳ７８）。その後、一連の動作は、ステップＳ７３へ移行する。そして、ステップＳ７７において、ｙ＝Ｎ＿ａｒｅａであると判定されるまで、ステップＳ７３〜ステップＳ７８が繰り返し実行される。
【０１５６】
そして、ステップＳ７７において、ｙ＝Ｎ＿ａｒｅａであると判定されると、スキャン解析マネージャ１２は、ホスト情報データベース１３を参照して、ネットワークスキャンを失敗した原因が推定されておらず、かつ、少なくとも１つのポートからスキャン応答ＳＲｉが無いＶ個の端末装置を検出する（ステップＳ７９）。なお、Ｖは、ネットワークスキャンを失敗した原因が推定されておらず、かつ、少なくとも１つのポートからスキャン応答ＳＲｉが無い端末装置の総数である。
【０１５７】
引き続いて、スキャン解析マネージャ１２は、ｖ＝１を設定する（ステップＳ８０）。なお、ｖは、１≦ｖ≦Ｖを満たす整数である。その後、スキャン解析マネージャ１２は、端末装置ｖにおいて、全てのポートについてスキャン応答ＳＲｉが無いか否かを判定する（ステップＳ８１）。
【０１５８】
ステップＳ８１において、端末装置ｖにおいて、全てのポートについてスキャン応答ＳＲｉが無いと判定されたとき、スキャン解析マネージャ１２は、端末装置ｖについて、ネットワークスキャンを失敗した原因を「ネットワーク接続無し」と推定する（ステップＳ８２）。
【０１５９】
一方、ステップＳ８１において、端末装置ｖにおいて、少なくとも１つのポートについてスキャン応答ＳＲｉが有ると判定されたとき、スキャン解析マネージャ１２は、端末装置ｖについて、ネットワークスキャンを失敗した原因を「ポート閉塞」と推定する（ステップＳ８３）。その後、スキャン解析マネージャ１２は、ホスト情報データベース１３にスキャン応答遅延ＳＲＤｉを記録する（ステップＳ８４）。
【０１６０】
そして、ステップＳ８２またはステップＳ８４の後、スキャン解析マネージャ１２は、ｖ＝Ｖであるか否かを判定する（ステップＳ８５）。
【０１６１】
ステップＳ８５において、ｖ＝Ｖでないと判定されたとき、スキャン解析マネージャ１２は、ｖ＝ｖ＋１を設定する（ステップＳ８６）。その後、一連の動作は、ステップＳ８１へ移行する。そして、ステップＳ８５において、ｖ＝Ｖであると判定されるまで、ステップＳ８１〜ステップＳ８６が繰り返し実行される。
【０１６２】
そして、ステップＳ８５において、ｖ＝Ｖであると判定されると、一連の動作は、図１２のステップＳ８へ移行する。
【０１６３】
なお、ステップＳ７３においては、スキャン解析マネージャ１２は、ホスト情報データベース１３を参照して、ｋ−近傍法を用いて、所定の領域内に位置する複数の端末装置のうち、スキャン応答遅延ＳＲＤｉが平常時よりも大きいＮ＿ＳＲ＿ａｎｏｍａｌｙ個の端末装置を検出してもよい。従って、ステップＳ７３において、スキャン解析マネージャ１２は、スキャン応答遅延ＳＲＤｉが平常時よりも大きいＮ＿ＳＲ＿ａｎｏｍａｌｙ個の端末装置を検出すればよい。
【０１６４】
また、スキャン解析マネージャ１２は、ステップＳ７１において、ホスト情報データベース１３を参照して、記録されているスキャン応答ＳＲｉから所定の領域においてスキャン応答ＳＲｉが無い端末装置を検出する処理を全ての所定の領域について実行し、ステップＳ７３において、ステップＳ７１において検出した端末装置の個数を各所定の領域における上記のＮ＿ＳＲ＿ａｎｏｍａｌｙとして検出してもよい。
【０１６５】
図１３に示すフローチャートにおいて、ステップＳ７１〜ステップＳ７８は、所定の領域に位置する端末装置についてネットワークスキャンを失敗した原因を推定するステップであり、ステップＳ７９〜ステップＳ８６は、ネットワークスキャンを失敗した原因が推定されていない端末装置についてネットワークスキャンを失敗した原因を推定するステップである。そして、ステップＳ８４において、スキャン応答遅延ＳＲＤｉをホスト情報データベース１３に記録する理由は、次のとおりである。即ち、ネットワークスキャンを失敗した原因が「ポート閉塞」であると推定された場合、端末装置ｖは、十分にセキュリティが確保されており、ＤＤｏＳ攻撃のようなサイバー攻撃に不正に使用されないので、正常である。従って、正常である端末装置ｖにおけるスキャン応答遅延ＳＲＤｉをできるだけ多く記録しておきたいとの要望に応えるためである。
【０１６６】
更に、図１２のステップＳ９，Ｓ１０においては、第４の原因によってネットワークスキャンを失敗した端末装置を含む分割クラスタに追加して、第２の原因（＝「通信品質不足」）および／または第３の原因（＝「ネットワーク接続無し」）によってネットワークスキャンを失敗した端末装置を含むクラスタも１つのスキャンタイミングに含めてスキャンスケジュールを作成し、その作成したスキャンスケジュールに基づいてネットワークスキャンを再度実行してもよい。
【０１６７】
図１２に示すフローチャート（図１３に示すフローチャートを含む）によれば、ネットワークスキャンを失敗した端末装置のうち、第４の原因によってネットワークスキャンを失敗した端末装置を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタを元のスキャンタイミングと異なるスキャンタイミングに含めてスキャンスケジュールＳＣＳＨＤ２を作成し、その作成したスキャンスケジュールＳＣＳＨＤ２に基づいて、再度、ネットワークスキャンが実行される（ステップＳ７〜Ｓ１０参照）。その結果、１つのスキャンタイミングにおいてネットワークスキャンの対象となる端末装置の個数が低減される。従って、ネットワークスキャンを効率的に実行できる。
【０１６８】
実施の形態１においては、ネットワークスキャン装置１の動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備える。そして、ＲＯＭは、図１２に示すフローチャート（図１３に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ａを記憶する。
【０１６９】
ＣＰＵは、ＲＯＭからプログラムＰｒｏｇ＿Ａを読み出し、その読み出したプログラムＰｒｏｇ＿Ａを実行して、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した端末装置を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる端末装置を対象としてネットワークスキャンを再度実行する。ＲＡＭは、個数Ｎ＿ＳＲ＿ａｎｏｍａｌｙを一時的に記憶する。
【０１７０】
また、プログラムＰｒｏｇ＿Ａは、ＣＤ，ＤＶＤ等の記録媒体に記録されて流通してもよい。プログラムＰｒｏｇ＿Ａを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムＰｒｏｇ＿Ａを読み出して実行し、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した端末装置を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる端末装置を対象としてネットワークスキャンを再度実行する。
【０１７１】
従って、プログラムＰｒｏｇ＿Ａを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【０１７２】
図１４は、分割クラスタを生成する元になる端末装置を説明するための図である。図１４を参照して、スキャンタイミング１Ｓ〜ｔＳの各々に複数の端末装置を含めてスキャンスケジュールＳＣＳＨＤ１を作成し、その作成したスキャンスケジュールＳＣＳＨＤ１に基づいてネットワークスキャンを行い、ネットワークスキャンを失敗した原因を推定した。
【０１７３】
その結果、スキャンタイミング２Ｓに含まれる複数の端末装置の少なくとも一部が第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗したと推定された。
【０１７４】
そこで、スキャンタイミング２Ｓに含まれる複数の端末装置を上述した方法によって複数の分割クラスタＤＶＣ１〜ＤＶＣｕ（ｕは、２以上の整数）に分割した。
【０１７５】
そして、分割クラスタＤＶＣ１に含まれる端末装置を元のスキャンタイミングと異なるスキャンタイミングｔ＋１Ｓに含め、分割クラスタＤＶＣ２に含まれる端末装置を元のスキャンタイミングと異なるスキャンタイミングｔ＋２Ｓに含め、以下、同様にして、分割クラスタＤＶＣｕに含まれる端末装置を元のスキャンタイミングと異なるスキャンタイミングｔ＋ｕＳに含めてスキャンスケジュールＳＣＳＨＤ２を作成し、その作成したスキャンスケジュールＳＣＳＨＤ２に基づいてネットワークスキャンを実行する。
【０１７６】
このように、図１２のステップＳ４においてスキャンスケジュールＳＣＳＨＤ１を作成するときに１つのスキャンタイミングに含める端末装置は、クラスタを構成している必要はない。
【０１７７】
従って、実施の形態１によるネットワークスキャン装置は、クラスタを構成しない端末装置を各スキャンタイミングに含めてスキャンスケジュールＳＣＳＨＤ１を作成してネットワークスキャンを実行するとともにネットワークスキャンを失敗した失敗原因を推定し、第４の原因でネットワークスキャンを失敗した端末装置が含まれる複数の端末装置を複数の分割クラスタに分割してスキャンスケジュールＳＣＳＨＤ２を作成し、スキャンスケジュールＳＣＳＨＤ２に基づいて、再度、ネットワークスキャンを実行するものであればよい。
【０１７８】
上記においては、スキャン総時間長ＴＳ＿ｔｏｔａｌは、１日であると説明したが、実施の形態１においては、これに限らず、スキャン総時間長ＴＳ＿ｔｏｔａｌは、１日以外であってもよく、一般的には、任意の時間長であればよい。
【０１７９】
［実施の形態２］
図１５は、実施の形態２によるネットワークスキャン装置の概略図である。図１５を参照して、実施の形態２によるネットワークスキャン装置１Ａは、図２に示すネットワークスキャン装置１のスキャンスケジューラ１６をスキャンスケジューラ１６Ａに変えたものであり、その他は、ネットワークスキャン装置１と同じである。
【０１８０】
スキャンスケジューラ１６Ａは、ホスト情報データベース１３およびクラスタリングデータベース１５を参照して、後述する方法によって、スキャンスケジュールＳＣＳＨＤを作成する。スキャンスケジューラ１６Ａは、その他、スキャンスケジューラ１６と同じ機能を果たす。
【０１８１】
図１６は、実施の形態２におけるスキャンスケジュールの概念図である。図１６を参照して、スキャンスケジューラ１６Ａは、通信が空いているタイミングでネットワークスキャンを実行するようにスキャンタイミング１Ｓ’〜ＴＳ’（ＴＳ’は、１以上の整数）を決定する。
【０１８２】
スキャンタイミング１Ｓ’〜ＴＳ’は、時間的に離間して設定される。これは、通信が空いている複数の時間帯が相互に接していることはないからである。
【０１８３】
なお、スキャンタイミングｔＳ’（ｔＳ’＝１Ｓ’〜ＴＳ’）の構成は、上述したスキャンタイミングｔＳの構成と同じである。
【０１８４】
また、スキャンタイミングｔＳ’も、スキャンタイミングｔＳと同じように、１つの時刻を意味するのではなく、開始時刻ｔｓｔａｒｔから終了時刻ｔｅｎｄまでの所定の時間長を有する概念である。スキャンタイミングｔＳ’についてのその他の説明は、スキャンタイミングｔＳについての説明と同じである。
【０１８５】
スキャンタイミングｔＳ’を決定する方法について説明する。図１７は、トラヒックの時間依存性を示す図である。図１７において、縦軸はある端末装置の周辺で発生するトラヒックを表し、横軸は時間を表す。また、曲線ｋ１は、例えば、端末装置Ａの周辺で発生するトラヒックの時間依存性を示し、曲線ｋ２は、例えば、端末装置Ａと異なる端末装置Ｂの周辺で発生するトラヒックの時間依存性を示す。
【０１８６】
図１７の（ａ）を参照して、端末装置Ａの周辺においては、トラヒックは日中よりも夜間の方が増加する（曲線ｋ１参照）。即ち、端末装置Ａの周辺においては、通信は日中に空いており、夜間に混雑している。図１７の（ｂ）を参照して、端末装置Ｂの周辺においては、トラヒックは、夜間よりも日中の方が増加する（曲線ｋ２参照）。即ち、端末装置Ｂの周辺においては、通信は日中に混雑しており、夜間に空いている。
【０１８７】
その結果、端末装置Ａにおいては、ネットワークスキャンを夜間に行うよりも日中に行った方が衝突による再送の発生が少なくなり、ネットワークスキャンに使用するリソース量を低減できる。一方、端末装置Ｂにおいては、ネットワークスキャンを日中に行うよりも夜間に行った方がネットワークスキャンに使用するリソース量を低減できる。
【０１８８】
そこで、スキャンスケジューラ１６Ａは、図３に示すホスト情報データベース１３を参照して、ＩＰアドレスＡｄｄ１〜Ａｄｄｍを有するｍ個の端末装置の周辺におけるトラヒックの時間依存性を作成し、その作成したｍ個のトラヒックの時間依存性に基づいて、時刻ｔにおける端末装置ｉの周辺における通信の混雑度Ｃｔ，ｉを算出する。
【０１８９】
混雑度Ｃｔ，ｉは、端末装置ｉの周辺でネットワークスキャンに利用可能なリソース量に対する、端末装置ｉへのネットワークスキャンの実施に必要となるリソース量の割合からなる。例えば、端末装置ｉの周辺におけるトラヒックの時間依存性が図１７の（ａ）に示す曲線ｋ１で表わされる場合、夜間に端末装置ｉが通信を行うときはトラヒックが多く、利用可能なリソース量が少なくなる。一方、日中に端末装置ｉと通信を行う場合はトラヒックが少なく、利用可能なリソース量は多くなる。従って、混雑度Ｃｔ，ｉは、日中において小さくなり、夜間において大きくなる。
【０１９０】
そこで、スキャンスケジューラ１６Ａは、各時刻ｔにおいて、端末装置ｉの周辺で利用可能な無線リソース量に対する端末装置ｉのネットワークスキャンの実施に要する無線リソース量の割合を演算して混雑度Ｃｔ，ｉを算出する。
【０１９１】
そして、スキャンスケジューラ１６Ａは、算出した混雑度Ｃｔ，ｉを次式（１）に代入して混雑度Ｃｔ，ｉの総和Ｃ＿ｔｏｔａｌが閾値Ｃ＿ｔｈ以下になるように制約条件（式（２）〜式（４））の下でスキャン指数ｓｔ，ｉを決定する。
【０１９２】
【数１】
2020154637.tif 000003
【０１９３】
式（１）において、ｔ＝０，１，２，３，・・・，２３であり、ｉは、端末装置のインデックスである。スキャン指数ｓｔ，ｉは、時刻ｔにＩＰアドレスＡｄｄｉの端末装置ｉに対してネットワークスキャンを行うとき、“１”からなり、ネットワークスキャンを行わないとき、“０”からなる。
【０１９４】
【数２】
2020154637.tif 000004
【０１９５】
【数３】
2020154637.tif 000005
【０１９６】
【数４】
2020154637.tif 000006
【０１９７】
式（２）は、ネットワークスキャンの回数が１日に１回であることを制約する。式（３）において、Ｗｉは、ＩＰアドレスＡｄｄｉを有する端末装置ｉのネットワークスキャンに必要な通信のリソース量であり、Ｄｔは、時刻ｔにおいて利用可能な通信のリソース量である。従って、式（３）は、時刻ｔにおけるネットワークスキャンで使用する通信リソース量の総和を制約する。式（４）において、Ｆｉ，ｊは、端末装置ｉと端末装置ｊとの間で干渉が有れば、“１”からなり、干渉が無ければ、“０”からなる。従って、式（４）は、端末装置ｉと端末装置ｊとの間で干渉が生じた場合、端末装置ｉのスキャンタイミングと端末装置ｊのスキャンタイミングとを相互に異なるスキャンタイミングに設定することを制約する。
【０１９８】
なお、実施の形態２において説明する方法によってネットワークスキャンを行うことによって、端末装置または通信経路の通信リソース量を低減できると言う効果が更に得られる。そして、この通信リソース量は、無線通信の場合、無線リソース量からなり、有線通信の場合、有線リソース量からなる。この場合、無線リソース量は、周波数帯域×通信時間によって決定され、有線リソース量は、通信時間によって決定される。
【０１９９】
スキャンスケジューラ１６Ａは、制約条件（式（２）〜式（４））の下で式（１）を満たすようにスキャン指数ｓｔ，ｉの値（“１”または“０”）を決定する。そして、スキャンスケジューラ１６Ａは、“１”からなるスキャン指数ｓｔ，ｉに基づいてスキャンタイミング１Ｓ’〜ＴＳ’を作成する。即ち、スキャンスケジューラ１６Ａは、各端末装置ｉの混雑度Ｃｔ，ｉをネットワークスキャンの対象となる端末装置およびネットワークスキャンの総時間長について加算した加算結果が閾値Ｃ＿ｔｈ以下になるようにスキャンタイミング１Ｓ’〜ＴＳ’を作成する。
【０２００】
スキャンスケジューラ１６Ａは、好ましくは、次式によってスキャン指数ｓｔ，ｉの値（“１”または“０”）を決定する。
【０２０１】
【数５】
2020154637.tif 000007
【０２０２】
式（５）によれば、スキャンスケジューラ１６Ａは、混雑度Ｃｔ，ｉの総和が最小になるようにスキャン指数ｓｔ，ｉの値（“１”または“０”）を決定する。そして、スキャンスケジューラ１６Ａは、決定したスキャン指数ｓｔ，ｉの値（“１”または“０”）を用いて、１個の端末装置に対してネットワークスキャンを行うときの混雑度Ｃｔ，ｉを複数の端末装置およびネットワークスキャンの総時間長について加算した加算結果が最小になるようにスキャンタイミング１Ｓ’〜ＴＳ’を決定する。
【０２０３】
図１８は、複数の端末装置の周辺におけるトラヒックの時間依存性を示す図である。図１８において、縦軸はトラヒックを表し、横軸は時間を表す。曲線ｋ３は、例えば、複数の端末装置の周辺におけるトラヒックの時間依存性を示す。
【０２０４】
図１８を参照して、複数の端末装置の周辺におけるトラヒックは、時刻ｔ１から時刻ｔ２までの間、時刻ｔ３から時刻ｔ４までの間、および時刻ｔ５から時刻ｔ６までの間において少なくなる。
【０２０５】
式（１）においては、各混雑度Ｃｔ，ｉが小さいほど、総和Ｃ＿ｔｏｔａｌは、閾値Ｃ＿ｔｈ以下になり易い。また、式（５）においても、各混雑度Ｃｔ，ｉが小さいほど、総和Ｃ＿ｔｏｔａｌは、最小になり易い。
【０２０６】
従って、式（１）または式（５）によってスキャン指数ｓｔ，ｉの値を決定すると、“１”からなる複数のスキャン指数ｓｔ，ｉは、図１８に示す時刻ｔ１から時刻ｔ２までの間、時刻ｔ３から時刻ｔ４までの間、および時刻ｔ５から時刻ｔ６までの間のいずれかに含まれる。
【０２０７】
その結果、スキャンスケジューラ１６Ａは、時刻ｔ１から時刻ｔ２までの間の時刻ｔを有する複数のスキャン指数ｓｔ，ｉ＝１に基づいて、開始時刻ｔｓｔａｒｔ＝ｔ１、終了時刻ｔｅｎｄ＝ｔ２、およびＩＰアドレスＡｄｄｉを含むスキャンタイミング１Ｓ’を作成する。また、スキャンスケジューラ１６Ａは、時刻ｔ３から時刻ｔ４までの間の時刻ｔを有する複数のスキャン指数ｓｔ，ｉ＝１に基づいて、開始時刻ｔｓｔａｒｔ＝ｔ３、終了時刻ｔｅｎｄ＝ｔ４、およびＩＰアドレスＡｄｄｉを含むスキャンタイミング２Ｓ’を作成する。さらに、スキャンスケジューラ１６Ａは、時刻ｔ５から時刻ｔ６までの間の時刻ｔを有する複数のスキャン指数ｓｔ，ｉ＝１に基づいて、開始時刻ｔｓｔａｒｔ＝ｔ５、終了時刻ｔｅｎｄ＝ｔ６、およびＩＰアドレスＡｄｄｉを含むスキャンタイミング３Ｓ’を作成する。
【０２０８】
そうすると、スキャンスケジューラ１６Ａは、その作成したスキャンタイミング１Ｓ’〜スキャンタイミング３Ｓ’からなるスキャンスケジュールＳＣＳＨＤをネットワークスキャナ１１へ出力する。
【０２０９】
なお、スキャンスケジューラ１６Ａは、最初のネットワークスキャンを実行するためのスキャンタイミングを作成する場合、上述した式（１）または式（５）を用いてスキャンタイミングを決定してスキャンスケジュールＳＣＳＨＤを作成する。
【０２１０】
また、スキャンスケジューラ１６Ａは、クラスタを用いてスキャンタイミングを作成する場合、ホスト情報データベース１３およびクラスタリングデータベース１５を参照して、例えば、図６に示すクラスタＡ〜クラスタＣをそれぞれスキャンタイミング１Ｓ’〜スキャンタイミング３Ｓ’に含めてスキャンスケジュールＳＣＳＨＤ１を作成する。この場合、スキャンタイミング１Ｓ’は、開始時刻ｔｓｔａｒｔ＝ｔ１、終了時刻ｔｅｎｄ＝ｔ２、およびクラスタＡに含まれる端末装置ｉのＩＰアドレスＡｄｄｉを含み、スキャンタイミング２Ｓ’は、開始時刻ｔｓｔａｒｔ＝ｔ３、終了時刻ｔｅｎｄ＝ｔ４、およびクラスタＢに含まれる端末装置ｉのＩＰアドレスＡｄｄｉを含み、スキャンタイミング３Ｓ’は、開始時刻ｔｓｔａｒｔ＝ｔ５、終了時刻ｔｅｎｄ＝ｔ６、およびクラスタＣに含まれる端末装置ｉのＩＰアドレスＡｄｄｉを含む。
【０２１１】
クラスタを用いてスキャンタイミング１Ｓ’〜スキャンタイミング３Ｓ’を作成する場合、１つのクラスタに含まれる全ての端末装置を１つのスキャンタイミングに含めればよいので、スキャンタイミング１Ｓ’〜スキャンタイミング３Ｓ’を作成するときの計算時間を削減できる。
【０２１２】
図１９は、実施の形態２におけるネットワークスキャンの概念図である。図１９を参照して、ネットワークスキャナ１１は、日中に端末装置Ａに対してネットワークスキャンを行い、夜間に端末装置Ｂに対してネットワークスキャンを行う。これによって、端末装置Ａ，Ｂに対してネットワークスキャンを行うときの通信リソース量を低減できる。
【０２１３】
図２０は、通信が混雑している状態を示す図である。図２０を参照して、ネットワークスキャナ１１が１つのＡＰを介して３個の端末装置に対してネットワークスキャンを実行すると、ある時間のネットワークスキャンの対象が１つのＡＰに集中し、通信品質が低下する。
【０２１４】
しかし、上述したように、端末装置ｉと端末装置ｊとが干渉する場合、端末装置ｉに対するネットワークスキャンと端末装置ｊに対するネットワークスキャンとを相互に異なるスキャンタイミングで行うので（式（４）参照）、ネットワークスキャンが１つのＡＰに集中する事態を回避でき、ネットワークスキャンの対象となった端末装置から良好にスキャン応答を得ることができる。
【０２１５】
図２１は、図１５に示すネットワークスキャン装置１Ａの動作を説明するためのフローチャートである。図２１に示すフローチャートは、図１２の示すフローチャートのステップＳ２とステップＳ３との間にステップＳ１１，Ｓ１２を追加したものであり、その他は、図１２に示すフローチャートと同じである。
【０２１６】
図２１を参照して、ネットワークスキャン装置１Ａの動作が開始されると、上述したステップＳ１，Ｓ２が順次実行される。
【０２１７】
そして、ステップＳ２の後、スキャンスケジューラ１６Ａは、式（１）または式（５）を満たすようにスキャン指数ｓｔ，ｉの値を決定して通信量がより少なくなる時間帯にスキャンタイミングを設定したスキャンスケジュールＳＣＳＨＤ０を作成し（ステップＳ１１）、その作成したスキャンスケジュールＳＣＳＨＤ０をネットワークスキャナ１１へ出力する。
【０２１８】
ネットワークスキャナ１１は、スキャンスケジューラ１６ＡからスキャンスケジュールＳＣＳＨＤ０を受け、その受けたスキャンスケジュールＳＣＳＨＤ０に基づいてネットワークスキャンを実行し、スキャン解析マネージャ１２は、ネットワークスキャンの結果に基づいてホスト情報データベース１３を更新する（ステップＳ１２）。
【０２１９】
その後、上述したステップＳ３〜ステップＳ１０が順次実行され、ネットワークスキャン装置１Ａの動作が終了する。
【０２２０】
図２２は、図２１に示すステップＳ１１の詳細な動作を説明するためのフローチャートである。
【０２２１】
図２２を参照して、図２１のステップＳ２の後、スキャンスケジューラ１６Ａは、ホスト情報データベース１３に基づいて時刻ｔにおける端末装置ｉの混雑度Ｃｔ，ｉの算出を全ての端末装置について実行する（ステップＳ１１１）。
【０２２２】
そして、スキャンスケジューラ１６Ａは、式（１）または式（５）を満たすようにスキャン指数ｓｔ，ｉの値を決定する（ステップＳ１１２）。
【０２２３】
その後、スキャンスケジューラ１６Ａは、“１”からなる全てのスキャン指数ｓｔ，ｉに基づいて、スキャンタイミング１Ｓ’〜ＴＳ’を作成し（ステップＳ１１３）、その作成したスキャンタイミング１Ｓ’〜ＴＳ’を含むスキャンスケジュールＳＣＳＨＤ０を作成する（ステップＳ１１４）。そして、スキャンスケジューラ１６Ａは、スキャンスケジュールＳＣＳＨＤ０をネットワークスキャナ１１へ出力する。その後、ネットワークスキャン装置１Ａの動作は、図２１のステップＳ１２へ移行する。
【０２２４】
図２１に示すフローチャート（図２２に示すフローチャートを含む）においては、ステップＳ４において、スキャンスケジューラ１６Ａは、式（１）または式（５）を満たすようにスキャン指数ｓｔ，ｉの値を決定して通信量がより少なくなる時間帯にスキャンタイミングを設定したスキャンスケジュールＳＣＳＨＤ１を作成してもよい。この場合、スキャンスケジューラ１６Ａは、スキャンスケジュールＳＣＳＨＤ１の各スキャンタイミングに各クラスタに含まれる全ての端末装置を含める。
【０２２５】
また、図２１に示すフローチャート（図２２に示すフローチャートを含む）においては、ステップＳ９において、スキャンスケジューラ１６Ａは、式（１）または式（５）を満たすようにスキャン指数ｓｔ，ｉの値を決定して通信量がより少なくなる時間帯にスキャンタイミングを設定したスキャンスケジュールＳＣＳＨＤ２を作成してもよい。この場合、スキャンスケジューラ１６Ａは、スキャンスケジュールＳＣＳＨＤ２のスキャンタイミングのうち、スキャンスケジュールＳＣＳＨＤ１のスキャンタイミング（＝分割クラスタの元になったクラスタが設定されたスキャンタイミング）と異なるスキャンタイミングに各分割クラスタに含まれる全ての端末装置を含める。
【０２２６】
このように、図２１に示すフローチャート（図２２に示すフローチャートを含む）においては、ステップＳ４およびステップＳ９の少なくとも１つにおいて、スキャンスケジューラ１６Ａは、通信量がより少なくなる時間帯にスキャンタイミングを設定してスキャンスケジュールＳＣＳＨＤ１およびスキャンスケジュールＳＣＳＨＤ２の少なくとも１つを作成してもよい。
【０２２７】
図２１に示すフローチャート（図２２に示すフローチャートを含む）によれば、ステップＳ１１，Ｓ４，Ｓ９の少なくとも１つにおいて、通信量がより少なくなる時間帯にスキャンタイミングを設定したスキャンスケジュールＳＣＳＨＤが作成され、その作成されたスキャンスケジュールＳＣＳＨＤに基づいてネットワークスキャンが実行されるので（ステップＳ１２，Ｓ５，Ｓ１０参照）、実施の形態１における効果に加え、通信が空いているタイミングを考慮せずに、任意のタイミングでネットワークスキャンを実行する場合よりも通信リソース量を低減できる効果が得られる。
【０２２８】
実施の形態２においては、ネットワークスキャン装置１Ａの動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置１Ａは、ＣＰＵ、ＲＯＭおよびＲＡＭを備える。そして、ＲＯＭは、図２１に示すフローチャート（図２２に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ｂを記憶する。
【０２２９】
ＣＰＵは、ＲＯＭからプログラムＰｒｏｇ＿Ｂを読み出し、その読み出したプログラムＰｒｏｇ＿Ｂを実行して、通信量がより少なくなる時間帯でネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した端末装置を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる端末装置を対象としてネットワークスキャンを再度実行する。ＲＡＭは、個数Ｎ＿ＳＲ＿ａｎｏｍａｌｙおよび決定されたスキャン指数ｓｔ，ｉの値を一時的に記憶する。
【０２３０】
また、プログラムＰｒｏｇ＿Ｂは、ＣＤ，ＤＶＤ等の記録媒体に記録されて流通してもよい。プログラムＰｒｏｇ＿Ｂを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムＰｒｏｇ＿Ｂを読み出して実行し、通信量がより少なくなる時間帯でネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した端末装置を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる端末装置を対象としてネットワークスキャンを再度実行する。
【０２３１】
従って、プログラムＰｒｏｇ＿Ｂを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【０２３２】
上記においては、スキャンスケジューラ１６Ａは、各端末装置ｉの混雑度Ｃｔ，ｉをネットワークスキャンの対象となる端末装置およびネットワークスキャンの総時間長について加算した加算結果が閾値Ｃ＿ｔｈ以下（または最小）になるようにスキャンタイミング１Ｓ’〜ＴＳ’を作成すると説明したが、実施の形態２においては、これに限らず、スキャンスケジューラ１６Ａは、通信量が第１の通信量よりも少ない第２の通信量になる時間帯を検出し、その検出した時間帯をネットワークスキャンのスキャンタイミング１Ｓ’〜ＴＳ’として決定すればよい。
【０２３３】
実施の形態２におけるその他の説明は、実施の形態１における説明と同じである。
【０２３４】
［実施の形態３］
図２３は、実施の形態３によるネットワークスキャン装置の概略図である。図２３を参照して、実施の形態３によるネットワークスキャン装置１Ｂは、図２に示すネットワークスキャン装置１のスキャン解析マネージャ１２、ホスト情報データベース１３およびクラスタリングマネージャ１４をそれぞれスキャン解析マネージャ１２Ａ、ホスト情報データベース１３Ａおよびクラスタリングマネージャ１４Ａに変えたものであり、その他は、ネットワークスキャン装置１と同じである。
【０２３５】
スキャン解析マネージャ１２Ａは、ネットワークスキャナ１１から受けたスキャン応答遅延に基づいて、後述する方法によって、ネットワークスキャンの対象となった端末装置の属性を判定し、その判定した属性を追加してホスト情報データベース１３Ａを作成または更新する。
【０２３６】
スキャン解析マネージャ１２Ａは、その他、スキャン解析マネージャ１２と同じ機能を果たす。
【０２３７】
ホスト情報データベース１３Ａは、各端末装置の属性を図３に示すホスト情報データベース１３に追加した構成からなる。
【０２３８】
クラスタリングマネージャ１４Ａは、ホスト情報データベース１３Ａを参照して、各クラスタに含まれる端末装置から無線端末を抽出し、その抽出した無線端末からなるクラスタを生成する。そして、クラスタリングマネージャ１４Ａは、ネットワークスキャンを失敗した失敗原因がホスト情報データベース１３Ａに格納されると、第４の原因でネットワークスキャンを失敗した無線端末を含むクラスタを上述した方法によって複数の分割クラスタに分割する。
【０２３９】
また、クラスタリングマネージャ１４Ａは、ネットワークスキャンを失敗した失敗原因がホスト情報データベース１３Ａに格納されると、第４の原因でネットワークスキャンを失敗した端末装置を含むクラスタを上述した方法によって複数の分割クラスタに分割する。そして、クラスタリングマネージャ１４Ａは、ホスト情報データベース１３Ａの属性に基づいて、複数の分割クラスタの各クラスタから有線端末を削除し、無線端末だけを含む複数の分割クラスタを生成する。
【０２４０】
図２４は、図２３に示すホスト情報データベース１３Ａの概略図である。図２４を参照して、ホスト情報データベース１３Ａは、図３に示すホスト情報データベース１３に属性を追加したものであり、その他は、ホスト情報データベース１３と同じである。
【０２４１】
属性は、無線端末または有線端末からなる。そして、属性は、各ＩＰアドレスＡｄｄｉおよびドメイン名ＤＮｉに対応して格納される。
【０２４２】
図２５は、無線端末と有線端末におけるスキャン応答遅延の比較を示す図である。図２５において、縦軸は、スキャン応答遅延を表し、横軸は、サンプル番号を表す。
【０２４３】
図２５を参照して、ネットワークスキャン用のスキャンパケットを公知のｐｓｐｉｎｇによって模擬し、無線端末および有線端末のそれぞれに１０００個のスキャンパケットを送信し、スキャン応答遅延ＳＲＤｉを測定した。このｐｓｐｉｎｇは、スキャンパケットを模擬したパケットを送信し、スキャン応答遅延ＳＲＤｉを測定するものである。このスキャンパケットを模擬したパケットは、「テスト入力」を構成する。
【０２４４】
そして、スキャン応答遅延ＳＲＤｉに基づいて、公知のｋ−ｍｅａｎｓ法（非特許文献４）によって閾値を求め、無線端末と有線端末とを分類できるかを検証した。その結果、ｋ−ｍｅａｎｓ法によって求めた閾値ＳＲＤ＿ｔｈ１によって、約９９％の精度で無線端末と有線端末とを分類できることが分かった。即ち、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１以下であれば、ネットワークスキャンの対象が有線端末であり、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１よりも大きければ、ネットワークスキャンの対象が無線端末であることが、約９９％の精度で分類できることが分かった。
【０２４５】
そこで、ｋ−ｍｅａｎｓ法によって閾値ＳＲＤ＿ｔｈ１，ＳＲＤ＿ｔｈ２を求め、図２５に示すように、更に、閾値ＳＲＤ＿ｔｈ２を設定した。そして、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１以下（ＳＲＤｉ≦ＳＲＤ＿ｔｈ１）であれば、ネットワークが有線ネットワークであり、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１よりも大きく、かつ、閾値ＳＲＤ＿ｔｈ２以下（ＳＲＤ＿ｔｈ１＜ＳＲＤｉ≦ＳＲＤ＿ｔｈ２）であれば、ネットワークが無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ２よりも大きければ、ネットワークがセルラーネットワークであると分類することにした。
【０２４６】
そして、属性の個数がｋ（ｋは２以上の整数）個であるとき、スキャン解析マネージャ１２Ａは、ｋ−ｍｅａｎｓ法によって各端末装置をｋ個の属性のいずれかに分類するためのｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を求める。
【０２４７】
その後、スキャン解析マネージャ１２Ａは、１つの端末装置の１つのポートからのスキャン応答遅延ＳＲＤｉをｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１と比較して１つのポートをｋ個の属性のいずれかに分類する処理を全てのポートについて実行する。そして、スキャン解析マネージャ１２Ａは、最も多くのポートが分類された属性を、その１つの端末装置の属性とする。即ち、スキャン解析マネージャ１２Ａは、多数決論理によって端末装置の属性を判定する。
【０２４８】
スキャン解析マネージャ１２Ａは、この処理を複数の端末装置について実行し、複数の端末装置の各々をｋ個の属性のいずれかに分類する。
【０２４９】
図２６は、図２３に示すネットワークスキャン装置１Ｂの動作を説明するためのフローチャートである。
【０２５０】
図２６に示すフローチャートは、図１２に示すフローチャートのステップＳ３とステップＳ４との間にステップＳ２１，Ｓ２２を追加したものであり、その他は、図１２に示すフローチャートと同じである。
【０２５１】
図２６を参照して、ネットワークスキャン装置１Ｂの動作が開始されると、上述したステップＳ１〜ステップＳ３が順次実行される。
【０２５２】
そして、ステップＳ３の後、スキャン解析マネージャ１２Ａは、ホスト情報データベース１３Ａを参照して、複数の端末装置をｋ個の属性のいずれかに分類し（ステップＳ２１）、ホスト情報データベース１３Ａを更新する。
【０２５３】
そして、クラスタリングマネージャ１４Ａは、更新されたホスト情報データベース１３Ａを参照して、端末装置の属性に基づいて、各クラスタにおいて無線端末を抽出し（ステップＳ２２）、その抽出した無線端末だけを含むクラスタを生成する。
【０２５４】
その後、上述したステップＳ４〜ステップＳ１０が順次実行され、ネットワークスキャン装置１Ｂの動作が終了する。
【０２５５】
なお、スキャンスケジューラ１６は、ステップＳ４において、各クラスタに含まれる無線端末を１つのスキャンタイミングに含めてスキャンスケジュールＳＣＳＨＤ１を作成する。
【０２５６】
また、クラスタリングマネージャ１４Ａは、ステップＳ８において、第４の原因でネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割する。
【０２５７】
更に、スキャンスケジューラ１６は、ステップＳ９において、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してスキャンスケジュールＳＣＳＨＤ２を作成する。
【０２５８】
図２７は、図２６のステップＳ２１の詳細な動作を説明するためのフローチャートである。
【０２５９】
図２７を参照して、図２６のステップＳ３の後、スキャン解析マネージャ１２Ａは、ホスト情報データベース１３Ａに格納された複数のスキャン応答遅延ＳＲＤｉに基づいて、複数のポートをｋ個の属性に分類するためのｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を機械学習（例えば、ｋ−ｍｅａｎｓ法）によって決定する（ステップＳ２１１）。この場合、スキャン解析マネージャ１２Ａは、機械学習器（例えば、ｋ−ｍｅａｎｓ法によって機械学習を行う機械学習器）を保持しており、スキャン応答遅延ＳＲＤｉを機械学習器に入力し、ｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を出力として得る。なお、機械学習器は、ｋ−ｍｅａｎｓ法によって機械学習を行う機械学習器に限らず、スキャン応答遅延ＳＲＤｉを機械学習器に入力すれば、ｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を出力する機械学習器であれば、どのような機械学習器であってもよい。
【０２６０】
ステップＳ２１１の後、スキャン解析マネージャ１２Ａは、ｉ＝１を設定し（ステップＳ２２２）、端末装置ｉのスキャン応答ＳＲｉを受けた全てのポート番号を検出する（ステップＳ２２３）。
【０２６１】
その後、スキャン解析マネージャ１２Ａは、端末装置ｉのポート番号ＰＮｒを最小のポート番号ＰＮ＿ｍｉｎに設定する（ステップＳ２２４）。
【０２６２】
そうすると、スキャン解析マネージャ１２Ａは、端末装置ｉのポート番号ＰＮｒに対応するスキャン応答遅延ＳＲＤｉをｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１と比較してポート番号ＰＮｒを有するポートをｋ個の属性のいずれかに分類する（ステップＳ２２５）。
【０２６３】
そして、スキャン解析マネージャ１２Ａは、ポート番号ＰＮｒが最大のポート番号ＰＮ＿ｍａｘであるか否かを判定する（ステップＳ２２６）。
【０２６４】
ステップＳ２２６において、ポート番号ＰＮｒが最大のポート番号ＰＮ＿ｍａｘでないと判定されたとき、スキャン解析マネージャ１２Ａは、端末装置ｉのポート番号ＰＮｒを、現在のポート番号ＰＮｒの次に大きいポート番号に設定する（ステップＳ２２７）。
【０２６５】
その後、一連の動作は、ステップＳ２２５へ移行し、ステップＳ２２６において、ポート番号ＰＮｒが最大のポート番号ＰＮ＿ｍａｘであると判定されるまで、ステップＳ２２５〜ステップＳ２２７が繰り返し実行される。
【０２６６】
そして、ステップＳ２２６において、ポート番号ＰＮｒが最大のポート番号ＰＮ＿ｍａｘであると判定されると、スキャン解析マネージャ１２Ａは、最も多くのポートが分類された属性に端末装置ｉを分類する（ステップＳ２２８）。
【０２６７】
引き続いて、スキャン解析マネージャ１２Ａは、ｉ＝Ｉであるか否かを判定する（ステップＳ２２９）。
【０２６８】
ステップＳ２２９において、ｉ＝Ｉでないと判定されたとき、スキャン解析マネージャ１２Ａは、ｉ＝ｉ＋１を設定する（ステップＳ２３０）。
【０２６９】
その後、一連の動作は、ステップＳ２２３へ移行し、ステップＳ２２９において、ｉ＝Ｉであると判定されるまで、ステップＳ２２３〜ステップＳ２３０が繰り返し実行される。
【０２７０】
そして、ステップＳ２２９において、ｉ＝Ｉであると判定されると、一連の動作は、図２６のステップＳ２２へ移行する。
【０２７１】
ステップＳ２２５〜ステップＳ２２７は、端末装置ｉの全てのポートをｋ個の属性のいずれかに分類するステップである。そして、ステップＳ２２６において、ポート番号ＰＮｒが最大のポート番号ＰＮ＿ｍａｘであると判定されると、ステップＳ２２８において、端末装置ｉは、最も多くのポートが分類された属性に分類される。即ち、スキャン解析マネージャ１２Ａは、多数決論理によって端末装置ｉをｋ個の属性のいずれかに分類する。
【０２７２】
また、ステップＳ２２３〜ステップＳ２３０は、複数の端末装置の全てをｋ個の属性のいずれかに分類するステップである。
【０２７３】
図２８は、図２７のステップＳ２２５の詳細な動作を説明するためのフローチャートである。なお、図２８においては、端末装置ｉのポートを有線ネットワークの有線端末の属性、無線ＬＡＮの無線端末の属性およびセルラーネットワークの無線端末の属性のいずれかに分類する場合を例として、図２７のステップＳ２２５の詳細な動作を説明する。
【０２７４】
図２８を参照して、図２７のステップＳ２２４またはステップＳ２２７の後、スキャン解析マネージャ１２Ａは、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１以下であるか否かを判定する（ステップＳ２２５１）。
【０２７５】
ステップＳ２２５１において、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１以下であると判定されたとき、スキャン解析マネージャ１２Ａは、ポート番号ＰＮｒを有するポートを有線ネットワークの有線端末の属性に分類する（ステップＳ２２５２）。
【０２７６】
一方、ステップＳ２２５１において、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１以下でないと判定されたとき、スキャン解析マネージャ１２Ａは、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１よりも大きく、かつ、閾値ＳＲＤ＿ｔｈ２以下であるか否かを判定する（ステップＳ２２５３）。
【０２７７】
ステップＳ２２５３において、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１よりも大きく、かつ、閾値ＳＲＤ＿ｔｈ２以下であると判定されたとき、スキャン解析マネージャ１２Ａは、ポート番号ＰＮｒを有するポートを無線ＬＡＮの無線端末の属性に分類する（ステップＳ２２５４）。
【０２７８】
一方、ステップＳ２２５３において、スキャン応答遅延ＳＲＤｉが閾値ＳＲＤ＿ｔｈ１よりも大きく、かつ、閾値ＳＲＤ＿ｔｈ２以下でないと判定されたとき、スキャン解析マネージャ１２Ａは、ポート番号ＰＮｒを有するポートをセルラーネットワークの無線端末の属性に分類する（ステップＳ２２５５）。
【０２７９】
そして、ステップＳ２２５２、ステップＳ２２５４およびステップＳ２２５５のいずれかの後、一連の動作は、図２７のステップＳ２２６へ移行する。
【０２８０】
図２６に示すフローチャート（図２７に示すフローチャートおよび図２８に示すフローチャートを含む）によれば、スキャンスケジューラ１６は、複数の端末装置のうち、無線端末だけを含むクラスタをネットワークスキャンの対象として抽出し、その抽出したクラスタに含まれる無線端末に対してネットワークスキャンを実行するので（図２６のステップＳ２１，Ｓ２２，Ｓ４，Ｓ５参照）、ネットワークスキャンを実行するときの通信リソース量（無線リソース量）を低減できる。その他、実施の形態１における効果を得ることができる。
【０２８１】
図２９は、図２３に示すネットワークスキャン装置１Ｂの動作を説明するための別のフローチャートである。
【０２８２】
図２９に示すフローチャートは、図１２に示すフローチャートのステップＳ８とステップＳ９との間にステップＳ２１，Ｓ２２を追加したものであり、その他は、図１２に示すフローチャートと同じである。
【０２８３】
図２９を参照して、ネットワークスキャン装置１Ｂの動作が開始されると、上述したステップＳ１〜ステップＳ８が順次実行される。
【０２８４】
そして、ステップＳ８の後、上述したステップＳ２１，Ｓ２２が順次実行される。この場合、クラスタリングマネージャ１４Ａは、ステップＳ２２において、複数の分割クラスタの各々において、有線端末を削除し、無線端末だけを含む複数の分割クラスタを生成する。
【０２８５】
そして、ステップＳ２２の後、上述したステップＳ９，Ｓ１０が順次実行され、ネットワークスキャン装置１Ｂの動作が終了する。
【０２８６】
なお、図２９のステップＳ２１の詳細な動作も、図２７および図２８に示すフローチャートに従って実行される。
【０２８７】
また、スキャンスケジューラ１６は、ステップＳ９において、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してスキャンスケジュールＳＣＳＨＤ２を作成する。
【０２８８】
図３０は、図２６に示すフローチャートにおける処理概念と図２９に示すフローチャートにおける処理概念との比較を示す図である。
【０２８９】
図３０の（ａ）は、図２６に示すフローチャートにおける処理概念を示し、図３０の（ｂ）は、図２９に示すフローチャートにおける処理概念を示す。
【０２９０】
図３０の（ａ）を参照して、ネットワークスキャン装置１Ｂの動作が図２６に示すフローチャートに従って実行される場合、クラスタリングマネージャ１４Ａは、端末装置からなるクラスタＡから無線端末を抽出し、ＩＰアドレスＡｄｄ１，Ａｄｄ３，・・・，Ａｄｄｇ（ｇは、ｐ以下の正の整数）を有する無線端末だけを含むクラスタＡ’を生成する。その後、クラスタリングマネージャ１４Ａは、上述した方法によって、クラスタＡ’を無線端末だけを含む分割クラスタＤＶＣ１，ＤＶＣ２に分割する。この場合、分割クラスタＤＶＣ１は、ＩＰアドレスＡｄｄ１，Ａｄｄ４，・・・，Ａｄｄｇ１を有する無線端末を含み、分割クラスタＤＶＣ２は、ＩＰアドレスＡｄｄ３，Ａｄｄ７，・・・，Ａｄｄｇ２を有する無線端末を含む。なお、ｇ１およびｇ２は、ｇ以下である正の整数であり、ｇ１とｇ２のいずれか一方はｇに等しい。
【０２９１】
図３０の（ｂ）を参照して、ネットワークスキャン装置１Ｂの動作が図２９に示すフローチャートに従って実行される場合、クラスタリングマネージャ１４Ａは、クラスタＡを端末装置を含む分割クラスタＤＶＣ１，ＤＶＣ２に分割する。その後、クラスタリングマネージャ１４Ａは、分割クラスタＤＶＣ１に含まれる有線端末を削除して無線端末だけを含む分割クラスタＤＶＣ１’を生成するとともに分割クラスタＤＶＣ２に含まれる有線端末を削除して無線端末だけを含む分割クラスタＤＶＣ２’を生成する。この場合、分割クラスタＤＶＣ１’は、ＩＰアドレスＡｄｄ４，・・・，Ａｄｄｇ３を有する無線端末を含み、分割クラスタＤＶＣ２’は、ＩＰアドレスＡｄｄ２，・・・，Ａｄｄｇ４を有する無線端末を含む。なお、ｇ１およびｇ２はｐ以下である正の整数であり、ｇ１とｇ２のいずれか一方はｐに等しい。また、ｇ３は、ｇ１以下の正の整数であり、ｇ４は、ｇ２以下の正の整数である。
【０２９２】
このように、ネットワークスキャン装置１Ｂの動作が図２６に示すフローチャートに従って実行される場合、クラスタリングマネージャ１４Ａは、クラスタＡに基づいて無線端末だけを含むクラスタＡ’を生成し、その後、クラスタＡ’を分割クラスタＤＶＣ１，ＤＶＣ２に分割して無線端末だけを含む分割クラスタＤＶＣ１，ＤＶＣ２を生成する。一方、ネットワークスキャン装置１Ｂの動作が図２９に示すフローチャートに従って実行される場合、クラスタリングマネージャ１４Ａは、クラスタＡを分割クラスタＤＶＣ１，ＤＶＣ２に分割し、その後、無線端末を抽出して無線端末だけを含む分割クラスタＤＶＣ１’，ＤＶＣ２’を生成する。
【０２９３】
図２６に示すフローチャートに従って分割クラスタＤＶＣ１，ＤＶＣ２を生成した場合、無線端末だけを含むクラスタＡ’を分割して分割クラスタＤＶＣ１，ＤＶＣ２を生成するので、分割クラスタＤＶＣ１，ＤＶＣ２の各々は、必ず無線端末を含む。
【０２９４】
一方、図２９に示すフローチャートに従って分割クラスタＤＶＣ１’，ＤＶＣ２’を生成した場合、端末装置を含むクラスタＡを分割クラスタＤＶＣ１，ＤＶＣ２に分割した後に分割クラスタＤＶＣ１，ＤＶＣ２の各々から有線端末を削除して分割クラスタＤＶＣ１’，ＤＶＣ２’を生成するので、分割クラスタＤＶＣ１’，ＤＶＣ２’のいずれか一方が無線端末を全く含まない場合がある。上述したラウンドロビン方式によってクラスタを分割する方法、または乱数を付与して乱数が閾値よりも大きいか否かによってクラスタを分割する方法では、偶然にも１つのクラスタに全く無線端末が含まれない場合も生じ得るからである。従って、図２９に示すフローチャートに従って分割クラスタを生成する方が、ネットワークスキャンを再度実行する分割クラスタの個数を減少できる可能性があり、効率的にネットワークスキャンを実行できる。
【０２９５】
実施の形態３においては、ネットワークスキャン装置１Ｂの動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置１Ｂは、ＣＰＵ、ＲＯＭおよびＲＡＭを備える。そして、ＲＯＭは、図２６に示すフローチャート（図２７に示すフローチャートおよび図２８に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ｃ、または図２９に示すフローチャート（図２７に示すフローチャートおよび図２８に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ｄを記憶する。
【０２９６】
ＣＰＵは、ＲＯＭからプログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄを読み出し、その読み出したプログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄを実行して、無線端末を対象としてネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる無線端末を対象としてネットワークスキャンを再度実行する。ＲＡＭは、個数Ｎ＿ＳＲ＿ａｎｏｍａｌｙおよび決定されたｋ個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を一時的に記憶する。
【０２９７】
また、プログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄは、ＣＤ，ＤＶＤ等の記録媒体に記録されて流通してもよい。プログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄを読み出して実行し、無線端末を対象としてネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる無線端末を対象としてネットワークスキャンを再度実行する。
【０２９８】
従って、プログラムＰｒｏｇ＿ＣまたはプログラムＰｒｏｇ＿Ｄを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【０２９９】
なお、実施の形態３においては、ｋ−１個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１は、機械学習によって決定されなくてもよく、予め決定された固定値からなっていてもよい。
【０３００】
上記においては、スキャン応答遅延ＳＲＤｉを用いて端末装置の属性分類を行うと説明したが、この発明の実施の形態においては、これに限らず、スキャン応答ＳＲｉの遅延ジッタを用いて端末装置の属性分類を行ってもよく、一般的には、スキャン応答性を用いて端末装置の属性分類を行えばよい。スキャン応答性を用いて端末装置ｉをｋ個の属性のいずれかに分類するとき、スキャン解析マネージャ１２Ａは、端末装置ｉのスキャン応答性をｋ−１個の閾値と比較して端末装置ｉをｋ個の属性のいずれかに分類する。
【０３０１】
実施の形態３におけるその他の説明は、実施の形態１，２における説明と同じである。
【０３０２】
［実施の形態４］
図３１は、実施の形態４によるネットワークスキャン装置の概略図である。図３１を参照して、実施の形態４によるネットワークスキャン装置１Ｃは、図２３に示すネットワークスキャン装置１Ｂのスキャンスケジューラ１６をスキャンスケジューラ１６Ｂに変えたものであり、その他は、ネットワークスキャン装置１Ｂと同じである。
【０３０３】
スキャンスケジューラ１６Ｂは、ホスト情報データベース１３Ａおよびクラスタリングデータベース１５を参照して、無線端末だけを含むクラスタを対象として、通信量がより少なくなる時間帯にスキャンタイミングを設定したスキャンスケジュールＳＣＳＨＤを作成し、その作成したスキャンスケジュールＳＣＳＨＤをネットワークスキャナ１１へ出力する。
【０３０４】
図３２は、図３１に示すネットワークスキャン装置１Ｃの動作を説明するためのフローチャートである。
【０３０５】
図３２に示すフローチャートは、図２１に示すフローチャートのステップＳ３とステップＳ４との間にステップＳ２１，Ｓ２２を追加したものであり、その他は、図２１に示すフローチャートと同じである。
【０３０６】
図３２を参照して、ネットワークスキャン装置１Ｃの動作が開始されると、上述したステップＳ１，Ｓ２，Ｓ１１，Ｓ１２，Ｓ３，Ｓ２１，Ｓ２２，Ｓ４〜Ｓ１０が順次実行され、ネットワークスキャン装置１Ｃの動作が終了する。
【０３０７】
なお、図３２に示すステップＳ２１の詳細な動作は、図２７および図２８に示すフローチャートに従って実行される。
【０３０８】
また、スキャンスケジューラ１６Ｂは、ステップＳ４において、各クラスタに含まれる無線端末を１つのスキャンタイミングに含めてスキャンスケジュールＳＣＳＨＤ１を作成する。
【０３０９】
更に、クラスタリングマネージャ１４Ａは、ステップＳ８において、第４の原因でネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割する。
【０３１０】
更に、スキャンスケジューラ１６Ｂは、ステップＳ９において、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してスキャンスケジュールＳＣＳＨＤ２を作成する。
【０３１１】
このように、ネットワークスキャン装置１Ｃは、端末装置から無線端末を抽出して無線端末だけを含むクラスタを生成するとともに、第４の原因でネットワークスキャンを失敗した無線端末を含むクラスタを分割クラスタに分割し、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してネットワークスキャンを再度実行する。
【０３１２】
図３３は、図３１に示すネットワークスキャン装置１Ｃの動作を説明するための別のフローチャートである。
【０３１３】
図３３に示すフローチャートは、図２１に示すフローチャートのステップＳ８とステップＳ９との間にステップＳ２１，Ｓ２２を追加したものであり、その他は、図２１に示すフローチャートと同じである。
【０３１４】
図３３を参照して、ネットワークスキャン装置１Ｃの動作が開始されると、上述したステップＳ１，Ｓ２，Ｓ１１，Ｓ１２，Ｓ３〜Ｓ８，Ｓ２１，Ｓ２２，Ｓ９，Ｓ１０が順次実行され、ネットワークスキャン装置１Ｃの動作が終了する。
【０３１５】
なお、図３３に示すステップＳ２１の詳細な動作は、図２７および図２８に示すフローチャートに従って実行される。
【０３１６】
また、スキャンスケジューラ１６Ｂは、ステップＳ９において、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してスキャンスケジュールＳＣＳＨＤ２を作成する。
【０３１７】
このように、ネットワークスキャン装置１Ｃは、、第４の原因でネットワークスキャンを失敗した端末装置を含むクラスタを分割クラスタに分割するとともに、分割クラスタから無線端末を抽出して無線端末だけを含むクラスタを生成し、第４の原因でネットワークスキャンを失敗した無線端末を含む分割クラスタを少なくとも元のスキャンタイミングと異なるスキャンタイミングに設定してネットワークスキャンを再度実行する。
【０３１８】
図３２に示すフローチャートにおける処理概念は、図３０の（ａ）に示す処理概念と同じであり、図３３に示すフローチャートにおける処理概念は、図３０の（ｂ）に示す処理概念と同じである。従って、図２６に示すフローチャートにおける処理概念と図２９に示すフローチャートにおける処理概念との比較において説明したように、図３３に示すフローチャートの方が図３２に示すフローチャートよりも効率的にネットワークスキャンを実行できる。
【０３１９】
実施の形態４においては、ネットワークスキャン装置１Ｃの動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置１Ｃは、ＣＰＵ、ＲＯＭおよびＲＡＭを備える。そして、ＲＯＭは、図３２に示すフローチャート（図２７に示すフローチャートおよび図２８に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ｅ、または図３３に示すフローチャート（図２７に示すフローチャートおよび図２８に示すフローチャートを含む）の各ステップからなるプログラムＰｒｏｇ＿Ｆを記憶する。
【０３２０】
ＣＰＵは、ＲＯＭからプログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆを読み出し、その読み出したプログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆを実行して、無線端末を対象として通信量がより少なくなる時間帯でネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる無線端末を対象としてネットワークスキャンを再度実行する。ＲＡＭは、個数Ｎ＿ＳＲ＿ａｎｏｍａｌｙ、決定されたスキャン指数ｓｔ，ｉの値および決定されたｋ個の閾値ＳＲＤ＿ｔｈ１〜ＳＲＤ＿ｔｈｋ−１を一時的に記憶する。
【０３２１】
また、プログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆは、ＣＤ，ＤＶＤ等の記録媒体に記録されて流通してもよい。プログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆを読み出して実行し、無線端末を対象として通信量がより少なくなる時間帯でネットワークスキャンを行うとともに、第４の原因（＝「ネットワーク混雑」）によってネットワークスキャンを失敗した無線端末を含むクラスタを複数の分割クラスタに分割し、その分割した各分割クラスタに含まれる無線端末を対象としてネットワークスキャンを再度実行する。
【０３２２】
従って、プログラムＰｒｏｇ＿ＥまたはプログラムＰｒｏｇ＿Ｆを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【０３２３】
実施の形態４におけるその他の説明は、実施の形態１，２，３における説明と同じである。
【０３２４】
従って、上述した実施の形態１〜実施の形態４によれば、この発明の実施の形態によるネットワークスキャン装置は、次の構成を備えていればよい。
【０３２５】
（構成１）
ネットワークスキャン装置は、推定手段と、クラスタ生成手段と、スケジューリング手段と、スキャン手段とを備える。推定手段は、ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいてネットワークスキャンを失敗した失敗原因を推定する推定処理をネットワークスキャンの対象である端末装置について実行する。クラスタ生成手段は、ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいてネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の失敗原因が、ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、およびネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、第４の失敗原因である場合、第４の失敗原因によってネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する。スケジューリング手段は、１つの分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を複数の分割クラスタについて実行してスキャンスケジュールを生成する。スキャン手段は、スケジューリング手段によって作成されたスキャンタイミングに基づいてネットワークスキャンを行う。
【０３２６】
（構成２）
構成１において、複数の端末装置は、１つのクラスタに含まれる。クラスタ生成手段は、１つのクラスタを複数のクラスタに分割して複数の分割クラスタを生成する。
【０３２７】
（構成３）
構成１または構成２において、クラスタ生成手段は、失敗原因が第４の失敗原因である端末装置と、ネットワークスキャンを失敗していない端末装置とに分けて複数の分割クラスタを生成する。
【０３２８】
（構成４）
構成１または構成２において、クラスタ生成手段は、複数の分割クラスタ間において端末装置の位置が遠くなるように複数の分割クラスタを生成する。
【０３２９】
（構成５）
構成１または構成２において、クラスタ生成手段は、複数の端末装置のアドレスに基づいて複数の分割クラスタを生成する。
【０３３０】
（構成６）
構成１または構成２において、クラスタ生成手段は、複数の端末装置に乱数を付与し、その付与した乱数を閾値によって複数のグループに分けることによって複数の分割クラスタを生成する。
【０３３１】
（構成７）
構成１から構成６のいずれかにおいて、スケジューリング手段は、ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に複数のスキャンタイミングを設定してスキャンスケジュールを生成する。
【０３３２】
（構成８）
構成１から構成７のいずれかにおいて、ネットワークスキャン装置は、閾値決定手段と、分類手段とを更に備える。閾値決定手段は、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する。分類手段は、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する。そして、クラスタ生成手段は、複数の端末装置から第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する。
【０３３３】
（構成９）
構成１から構成７のいずれかにおいて、ネットワークスキャン装置は、閾値決定手段と、分類手段とを更に備える。閾値決定手段は、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する。分類手段は、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する。そして、クラスタ生成手段は、複数の端末装置を含むグループを複数のクラスタに分割し、その分割した複数のクラスタから有線端末を削除して複数の分割クラスタを生成する。
【０３３４】
また、上述した実施の形態１〜実施の形態４によれば、この発明の実施の形態によるプログラムは、次の構成を備えていればよい。
【０３３５】
（構成１０）
推定手段が、ネットワークスキャンの結果であるスキャン応答およびスキャン応答性に基づいてネットワークスキャンを失敗した失敗原因を推定する推定処理をネットワークスキャンの対象である端末装置について実行する第１のステップと、
クラスタ生成手段が、ネットワークスキャンを行うタイミングである複数のスキャンタイミングのうちの１つのスキャンタイミングにおいてネットワークスキャンが行われた複数の端末装置のうちの少なくとも一部の端末装置の失敗原因が、ネットワークスキャンの対象である端末装置のポートが閉塞している第１の失敗原因、ネットワークスキャンの対象である端末装置との通信における通信品質が不足している第２の失敗原因、ネットワークスキャンの対象である端末装置がネットワークに接続されていない第３の失敗原因、およびネットワークスキャンの対象である端末装置が接続されているネットワークが混雑している第４の失敗原因のうち、第４の失敗原因である場合、第４の失敗原因によってネットワークスキャンを失敗した端末装置を含むように複数の分割クラスタを生成する第２のステップと、
スケジューリング手段が、１つの分割クラスタに含まれる端末装置を１つのスキャンタイミングに含める処理を複数の分割クラスタについて実行してスキャンスケジュールを生成する第３のステップと、
スキャン手段が、第３のステップにおいて作成されたスキャンタイミングに基づいてネットワークスキャンを行う第４のステップとをコンピュータに実行させるためのプログラムである。
【０３３６】
（構成１１）
構成１０において、複数の端末装置は、１つのクラスタに含まれる。クラスタ生成手段は、第２のステップにおいて、１つのクラスタを複数のクラスタに分割して複数の分割クラスタを生成する。
【０３３７】
（構成１２）
構成１０または構成１１において、クラスタ生成手段は、第２のステップにおいて、失敗原因が第４の失敗原因である端末装置と、ネットワークスキャンを失敗していない端末装置とに分けて複数の分割クラスタを生成する。
【０３３８】
（構成１３）
構成１０または構成１１において、クラスタ生成手段は、第２のステップにおいて、複数の分割クラスタ間において端末装置の位置が遠くなるように複数の分割クラスタを生成する。
【０３３９】
（構成１４）
構成１０または構成１１において、クラスタ生成手段は、第２のステップにおいて、複数の端末装置のアドレスに基づいて複数の分割クラスタを生成する。
【０３４０】
（構成１５）
構成１０または構成１１において、クラスタ生成手段は、第２のステップにおいて、複数の端末装置に乱数を付与し、その付与した乱数を閾値によって複数のグループに分けることによって複数の分割クラスタを生成する。
【０３４１】
（構成１６）
構成１０から構成１５のいずれかにおいて、スケジューリング手段は、第３のステップにおいて、ネットワークスキャンの結果であるネットワークスキャンデータに基づいて、通信量が第１の通信量よりも少ない第２の通信量となる複数の時間帯を検出し、その検出した複数の時間帯に複数のスキャンタイミングを設定してスキャンスケジュールを生成する。
【０３４２】
（構成１７）
構成１０から構成１６のいずれかにおいて、閾値決定手段が、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する第５のステップと、
分類手段が、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する第６のステップとを更にコンピュータに実行させ、
クラスタ生成手段は、第２のステップにおいて、複数の端末装置から第４の失敗原因でネットワークスキャンを失敗した無線端末を抽出し、その抽出した無線端末が含まれるように複数の分割クラスタを生成する。
【０３４３】
（構成１８）
構成１０から構成１６のいずれかにおいて、閾値決定手段が、スキャン応答性に基づいて複数の端末装置を複数の属性に分類するための閾値を機械学習によって決定する第５のステップと、
分類手段が、１個の端末装置のスキャン応答性を閾値と比較して１個の端末装置を複数の属性のいずれかに分類する属性分類処理を複数の端末装置について実行する第６のステップとを更にコンピュータに実行させ、
クラスタ生成手段は、第２のステップにおいて、複数の端末装置を含むグループを複数のクラスタに分割し、その分割した複数のクラスタから有線端末を削除して複数の分割クラスタを生成する。
【０３４４】
（構成１９）
記録媒体は、構成１０から構成１８のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【０３４５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０３４６】
この発明は、ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【符号の説明】
【０３４７】
１，１Ａ，１Ｂ，１Ｃ  ネットワークスキャン装置、１０  通信システム、１１  ネットワークスキャナ、１２，１２Ａ  スキャン解析マネージャ、１３，１３Ａ  ホスト情報データベース、１４，１４Ａ  クラスタリングマネージャ、１５  クラスタリングデータベース、１６，１６Ａ，１６Ｂ  スキャンスケジューラ、２０  スキャン対象ネットワーク、３０  ユーザ。
【図１】
2020154637.tif 000008
【図２】
2020154637.tif 000009
【図３】
2020154637.tif 000010
【図４】
2020154637.tif 000011
【図５】
2020154637.tif 000012
【図６】
2020154637.tif 000013
【図７】
2020154637.tif 000014
【図８】
2020154637.tif 000015
【図９】
2020154637.tif 000016
【図１０】
2020154637.tif 000017
【図１１】
2020154637.tif 000018
【図１２】
2020154637.tif 000019
【図１３】
2020154637.tif 000020
【図１４】
2020154637.tif 000021
【図１５】
2020154637.tif 000022
【図１６】
2020154637.tif 000023
【図１７】
2020154637.tif 000024
【図１８】
2020154637.tif 000025
【図１９】
2020154637.tif 000026
【図２０】
2020154637.tif 000027
【図２１】
2020154637.tif 000028
【図２２】
2020154637.tif 000029
【図２３】
2020154637.tif 000030
【図２４】
2020154637.tif 000031
【図２５】
2020154637.tif 000032
【図２６】
2020154637.tif 000033
【図２７】
2020154637.tif 000034
【図２８】
2020154637.tif 000035
【図２９】
2020154637.tif 000036
【図３０】
2020154637.tif 000037
【図３１】
2020154637.tif 000038
【図３２】
2020154637.tif 000039
【図３３】
2020154637.tif 000040