IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特開2022-150059ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022150059
(43)【公開日】2022-10-07
(54)【発明の名称】ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
   G06F 21/55 20130101AFI20220929BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2021052474
(22)【出願日】2021-03-25
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「周波数有効利用のためのIoTワイヤレス高効率広域ネットワークスキャン技術の研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100112715
【弁理士】
【氏名又は名称】松山 隆夫
(72)【発明者】
【氏名】栗原 拓哉
(72)【発明者】
【氏名】矢野 一人
(72)【発明者】
【氏名】鈴木 義規
(57)【要約】
【課題】ネットワークスキャンにおける学習速度を向上可能なスケジューリングを行うことが可能なネットワークスキャン装置を提供する。
【解決手段】スキャンスケジューラ14は、ホスト情報データベース13に格納された対応表TBL2-1を参照して、N個の端末装置のスキャンスケジュールを作成するタイミングにおいて、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯のみをスキャンスケジュールを設定するための時間帯として有するp個の端末装置を検出し、その検出したp個の端末装置のスキャンスケジュールを通信的応答率rτ,iのみによって選出された時間帯に設定せずにN個の端末装置に対してネットワークスキャンを実行するためのスキャンスケジュールを作成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
N(Nは、2以上の整数である。)個の端末装置に対してネットワークスキャンを実行するスキャン手段と、
前記N個の端末装置に対してネットワークスキャンを実行するときの前記ネットワークスキャンのスケジュールであるスキャンスケジュールを設定するための複数の時間帯のうち、前記ネットワークスキャンが実行された時間帯を示すW(Wは、1以上の整数である。)個の時間帯と、前記W個の時間帯のうち各々が対応する時間帯において前記ネットワークスキャンが実行された端末装置を示すW個の端末識別情報と、前記W個の時間帯のうち各々が対応する時間帯において実行された前記ネットワークスキャンの累積回数を示すW個の通信的累積スキャン回数と、前記W個の時間帯のうち各々が対応する時間帯において前記端末装置に対して実行されたネットワークスキャンの通信的応答率を示すW個の通信的応答率と、前記W個の時間帯のうち各々が対応する時間帯において実行された前記ネットワークスキャンの成功回数を示すW個の通信的スキャン成功回数とを相互に対応付けた構成からなる対応表を記憶する記憶手段と、
前記ネットワークスキャンが実行される毎に前記対応表における前記W個の通信的累積スキャン回数、前記W個の通信的応答率および前記W個の通信的スキャン成功回数を更新する更新手段と、
前記N個の端末装置の前記スキャンスケジュールを作成するタイミングまでに更新された前記対応表に基づいて、前記通信的累積スキャン回数が第1のしきい値以上であり、かつ、前記通信的応答率が第2のしきい値未満である第1の時間帯以外の時間帯が前記スキャンスケジュールを設定するための時間帯として存在しないp(pは、1≦p<Nを満たす整数である。)個の端末装置を検出する検出手段と、
前記N個の端末装置の前記スキャンスケジュールを作成するタイミングであるスケジュール作成タイミングにおいて、前記通信的応答率のみによって選出された時間帯に前記p個の端末装置の前記スキャンスケジュールを設定せずに前記N個の端末装置に対して前記スキャンスケジュールを作成するスケジュール作成手段とを備え、
前記N個の端末装置のN個のIPアドレスは、任意の個数に振り分けられて前記W個の端末識別情報に含まれ、
前記W個の通信的累積スキャン回数の各々は、対応する端末識別情報の個数と同じ個数の前記通信的累積スキャン回数を含み、
前記W個の通信的応答率の各々は、対応する端末識別情報の個数と同じ個数の前記通信的応答率を含み、
前記W個の通信的スキャン成功回数の各々は、対応する端末識別情報の個数と同じ個数の前記通信的スキャン成功回数を含み、
前記通信的累積スキャン回数は、1個の前記端末装置の前記ネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値であり、
前記通信的スキャン成功回数は、前記1個の端末装置の前記ネットワークスキャンに対する応答が期待できるポートからスキャン応答が返って来た回数であり、
前記通信的応答率は、前記通信的累積スキャン回数に対する前記通信的スキャン成功回数の割合である、ネットワークスキャン装置。
【請求項2】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記p個の端末装置に対して前記スキャンスケジュールを設定しない第1の処理、または前記通信的応答率および前記通信的スキャン成功回数を用いて選出した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定する第2の処理を実行して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項1に記載のネットワークスキャン装置。
【請求項3】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記p個の端末装置に対して前記第1の処理を実行して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項2に記載のネットワークスキャン装置。
【請求項4】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記通信的応答率による時間帯の選出を無効にして前記複数の時間帯から選択した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項1に記載のネットワークスキャン装置。
【請求項5】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記複数の時間帯からランダムに選択した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項4に記載のネットワークスキャン装置。
【請求項6】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記W個の時間帯から前記通信的応答率の高い順にV(Vは、2以上の整数である。)個の時間帯を選出し、その選出したV個の時間帯から前記通信的スキャン成功回数を用いて選出された時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項1に記載のネットワークスキャン装置。
【請求項7】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記通信的スキャン成功回数が第3のしきい値以上である時間帯のうちスキャン応答遅延が最小である時間帯に前記p個の端末装置以外の端末装置の前記スキャンスケジュールを設定し、
前記スキャン応答遅延は、前記ネットワークスキャン用のパケットを送信してから前記スキャン応答を受信するまでの時間からなる、請求項1から請求項6のいずれか1項に記載のネットワークスキャン装置。
【請求項8】
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、前記第1の時間帯以外の時間帯からなる第1の集合において前記通信的スキャン成功回数が第3のしきい値未満である第2の時間帯からなる第2の集合が存在するとき、前記第2の集合から選択した第2の時間帯に前記p個の端末装置以外の端末装置の前記スキャンスケジュールを設定する、請求項1から請求項6のいずれか1項に記載のネットワークスキャン装置。
【請求項9】
前記N個の端末装置をN(Nは、1以上の整数である。)個のクラスタに分類する分類手段を更に備え、
前記スケジュール作成手段は、前記スケジュール作成タイミングにおいて、1個の前記クラスタに含まれる全ての端末装置の前記スキャンスケジュールを同じ時間帯に設定することを前記N個のクラスタの全てについて実行することによって前記N個の端末装置の前記スキャンスケジュールを作成し、前記1個のクラスタに含まれる端末装置を代表する第2の端末装置が前記p個の端末装置に含まれるとき、前記第2の端末装置を含むクラスタ内の全ての端末装置の前記スキャンスケジュールを前記通信的応答率のみによって選出された時間帯に設定せずに前記N個の端末装置の前記スキャンスケジュールを作成する、請求項1から請求項8のいずれか1項に記載のネットワークスキャン装置。
【請求項10】
ネットワークスキャン装置においてネットワークスキャンを実行するためのスキャンスケジュールの作成をコンピュータに実行させるためのプログラムであって、
前記ネットワークスキャン装置は、
N(Nは、2以上の整数である。)個の端末装置に対してネットワークスキャンを実行するときの前記ネットワークスキャンの前記スキャンスケジュールを設定するための複数の時間帯のうち、前記ネットワークスキャンが実行された時間帯を示すW(Wは、1以上の整数である。)個の時間帯と、前記W個の時間帯のうち各々が対応する時間帯において前記ネットワークスキャンが実行された端末装置を示すW個の端末識別情報と、前記W個の時間帯のうち各々が対応する時間帯において実行された前記ネットワークスキャンの累積回数を示すW個の通信的累積スキャン回数と、前記W個の時間帯のうち各々が対応する時間帯において前記端末装置に対して実行されたネットワークスキャンの通信的応答率を示すW個の通信的応答率と、前記W個の時間帯のうち各々が対応する時間帯において実行された前記ネットワークスキャンの成功回数を示すW個の通信的スキャン成功回数とを相互に対応付けた構成からなる対応表を記憶する記憶装置を備え、
前記プログラムは、
スキャン手段が、前記N個の端末装置に対してネットワークスキャンを実行する第1のステップと、
更新手段が、前記ネットワークスキャンが実行される毎に前記対応表における前記W個の通信的累積スキャン回数、前記W個の通信的応答率および前記W個の通信的スキャン成功回数を更新する第2のステップと、
検出手段が、前記N個の端末装置の前記スキャンスケジュールを作成するタイミングまでに更新された前記対応表に基づいて、前記通信的累積スキャン回数が第1のしきい値以上であり、かつ、前記通信的応答率が第2のしきい値未満である第1の時間帯以外の時間帯が前記スキャンスケジュールを設定するための時間帯として存在しないp(pは、1≦p<Nを満たす整数である。)個の端末装置を検出する第3のステップと、
スケジュール作成手段が、前記N個の端末装置の前記スキャンスケジュールを作成するタイミングであるスケジュール作成タイミングにおいて、前記通信的応答率のみによって選出された時間帯に前記p個の端末装置の前記スキャンスケジュールを設定せずに前記N個の端末装置に対して前記スキャンスケジュールを作成する第4のステップとをコンピュータに実行させ、
前記N個の端末装置のN個のIPアドレスは、任意の個数に振り分けられて前記W個の端末識別情報に含まれ、
前記W個の通信的累積スキャン回数の各々は、対応する端末識別情報の個数と同じ個数の前記通信的累積スキャン回数を含み、
前記W個の通信的応答率の各々は、対応する端末識別情報の個数と同じ個数の前記通信的応答率を含み、
前記W個の通信的スキャン成功回数の各々は、対応する端末識別情報の個数と同じ個数の前記通信的スキャン成功回数を含み、
前記通信的累積スキャン回数は、1個の前記端末装置の前記ネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値であり、
前記通信的スキャン成功回数は、前記1個の端末装置の前記ネットワークスキャンに対する応答が期待できるポートからスキャン応答が返って来た回数であり、
前記通信的応答率は、前記通信的累積スキャン回数に対する前記通信的スキャン成功回数の割合である、コンピュータに実行させるためのプログラム。
【請求項11】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記p個の端末装置に対して前記スキャンスケジュールを設定しない第1の処理、または前記通信的応答率および前記通信的スキャン成功回数を用いて選出した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定する第2の処理を実行して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項10に記載のコンピュータに実行させるためのプログラム。
【請求項12】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記p個の端末装置に対して前記第1の処理を実行して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項11に記載のコンピュータに実行させるためのプログラム。
【請求項13】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記通信的応答率による時間帯の選出を無効にして前記複数の時間帯から選択した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項10に記載のコンピュータに実行させるためのプログラム。
【請求項14】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記複数の時間帯からランダムに選択した時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項13に記載のコンピュータに実行させるためのプログラム。
【請求項15】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記W個の時間帯から前記通信的応答率の高い順にV(Vは、2以上の整数である。)個の時間帯を選出し、その選出したV個の時間帯から前記通信的スキャン成功回数を用いて選出された時間帯に前記p個の端末装置の前記スキャンスケジュールを設定して前記N個の端末装置に対して前記スキャンスケジュールを作成する、請求項10に記載のコンピュータに実行させるためのプログラム。
【請求項16】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記通信的スキャン成功回数が第3のしきい値以上である時間帯のうちスキャン応答遅延が最小である時間帯に前記p個の端末装置以外の端末装置の前記スキャンスケジュールを設定し、
前記スキャン応答遅延は、前記ネットワークスキャン用のパケットを送信してから前記スキャン応答を受信するまでの時間からなる、請求項10から請求項15のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項17】
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、前記第1の時間帯以外の時間帯からなる第1の集合において前記通信的スキャン成功回数が第3のしきい値未満である第2の時間帯からなる第2の集合が存在するとき、前記第2の集合から選択した第2の時間帯に前記p個の端末装置以外の端末装置の前記スキャンスケジュールを設定する、請求項10から請求項15のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項18】
分類手段が、前記N個の端末装置をN(Nは、1以上の整数である。)個のクラスタに分類する第5のステップを更にコンピュータに実行させ、
前記スケジュール作成手段は、前記第4のステップの前記スケジュール作成タイミングにおいて、1個の前記クラスタに含まれる全ての端末装置の前記スキャンスケジュールを同じ時間帯に設定することを前記N個のクラスタの全てについて実行することによって前記N個の端末装置の前記スキャンスケジュールを作成し、前記1個のクラスタに含まれる端末装置を代表する第2の端末装置が前記p個の端末装置に含まれるとき、前記第2の端末装置を含むクラスタ内の全ての端末装置の前記スキャンスケジュールを前記通信的応答率のみによって選出された時間帯に設定せずに前記N個の端末装置の前記スキャンスケジュールを作成する、請求項10から請求項17のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項19】
請求項10から請求項18のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
第5世代移動通信(5G)システムの実用化に伴って、携帯端末、コンピュータ、センサおよびウェブカメラ等の多くの物がインターネットに接続されることになる。このようなインターネットに接続された携帯端末およびコンピュータ等は、IoT(Internet of Things)機器と呼ばれている。
【0003】
IoT時代には、通信ネットワークに接続されるIoT機器の個数は、急速に増大することが見込まれる。IoT機器のうち、無線通信を行うIoT機器は、十分にセキュリティを確保できないまま、不正使用され、DDoS(Distributed Denial of Service attack)攻撃のようなサイバー攻撃に悪用されるケースが増大すると予想される。
【0004】
このような事態を回避するために、通信ネットワークに接続されたIoT機器に対して、ネットワークスキャンを行い、セキュリティ対策が各IoT機器になされているかを調査する必要がある。
【0005】
従来、非特許文献1に記載のネットワークスキャンが知られている。非特許文献1に記載されたネットワークスキャンは、IPv4空間のアプリケーションに対してスキャンを行うものであり、次の方法によって行われる。
【0006】
まず、IPv4空間に対してポートスキャンを行い、レスポンスの有無を調査する。そして、レスポンスのあったホストに対して、様々なプロトコル(HTTP(Hypertext Transfer Protocol)、HTTPS(Hypertext Transfer Protocol Secure)およびPOP3(Post Office Protocol version 3)等)でハンドシェイクを実施し、メッセージを取得する。その後、取得したメッセージから、脆弱性評価に有用なキーワードを抽出する。そして、メタデータやタグ情報をキーワードに付与する。メタデータやタグ情報が付与されたキーワードを構造データとしてデータベースに登録する。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Z. Durumeric, et al., “A Search Engine Backed by Internet-Wide Scanning”, CCS15, October 12-16, 2015.
【非特許文献2】https://github.com/robertdavidgraham/masscan
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、非特許文献1に記載のネットワークスキャンは、各IoT機器の1つのポートを対象としており、全てのポートを対象としていない。その結果、非特許文献1に記載のネットワークスキャンにおいては、各IoT機器の全てのポートをネットワークスキャンする場合において、応答率が低い時間帯を避けて1つのIoT機器の全てのポートに対するネットワークスキャンを行うためのスケジューリングを最適化するという概念がない。従って、非特許文献1に記載のネットワークスキャンでは、応答率が低い時間帯でデータ収集を長く続けてしまう可能性があるため、学習速度が低下するという問題がある。
【0009】
そこで、この発明の実施の形態によれば、ネットワークスキャンにおける学習速度を向上可能なスケジューリングを行うことが可能なネットワークスキャン装置を提供する。
【0010】
また、この発明の実施の形態によれば、ネットワークスキャンにおける学習速度を向上可能なスケジューリングをコンピュータに実行させるためのプログラムを提供する。
【0011】
更に、この発明の実施の形態によれば、ネットワークスキャンにおける学習速度を向上可能なスケジューリングをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【0012】
(構成1)
この発明の実施の形態によれば、ネットワークスキャン装置は、スキャン手段と、記憶手段と、更新手段と、検出手段と、スケジュール作成手段とを備える。スキャン手段は、N(Nは、2以上の整数である。)個の端末装置に対してネットワークスキャンを実行する。記憶手段は、N個の端末装置に対してネットワークスキャンを実行するときのネットワークスキャンのスケジュールであるスキャンスケジュールを設定するための複数の時間帯のうち、ネットワークスキャンが実行された時間帯を示すW(Wは、1以上の整数である。)個の時間帯と、W個の時間帯のうち各々が対応する時間帯においてネットワークスキャンが実行された端末装置を示すW個の端末識別情報と、W個の時間帯のうち各々が対応する時間帯において実行されたネットワークスキャンの累積回数を示すW個の通信的累積スキャン回数と、W個の時間帯のうち各々が対応する時間帯において端末装置に対して実行されたネットワークスキャンの通信的応答率を示すW個の通信的応答率と、W個の時間帯のうち各々が対応する時間帯において実行されたネットワークスキャンの成功回数を示すW個の通信的スキャン成功回数とを相互に対応付けた構成からなる対応表を記憶する。更新手段は、ネットワークスキャンが実行される毎に対応表におけるW個の通信的累積スキャン回数、W個の通信的応答率およびW個の通信的スキャン成功回数を更新する。検出手段は、N個の端末装置のスキャンスケジュールを作成するタイミングまでに更新された対応表に基づいて、通信的累積スキャン回数が第1のしきい値以上であり、かつ、通信的応答率が第2のしきい値未満である第1の時間帯以外の時間帯がスキャンスケジュールを設定するための時間帯として存在しないp(pは、1≦p<Nを満たす整数である。)個の端末装置を検出する。スケジュール作成手段は、N個の端末装置のスキャンスケジュールを作成するタイミングであるスケジュール作成タイミングにおいて、通信的応答率のみによって選出された時間帯にp個の端末装置のスキャンスケジュールを設定せずにN個の端末装置に対してスキャンスケジュールを作成する。そして、N個の端末装置のN個のIPアドレスは、任意の個数に振り分けられてW個の端末識別情報に含まれる。W個の通信的累積スキャン回数の各々は、対応する端末識別情報の個数と同じ個数の通信的累積スキャン回数を含む。W個の通信的応答率の各々は、対応する端末識別情報の個数と同じ個数の通信的応答率を含む。W個の通信的スキャン成功回数の各々は、対応する端末識別情報の個数と同じ個数の通信的スキャン成功回数を含む。通信的累積スキャン回数は、1個の端末装置のネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値である。通信的スキャン成功回数は、1個の端末装置のネットワークスキャンに対する応答が期待できるポートから返って来たスキャン応答の回数である。通信的応答率は、通信的累積スキャン回数に対する通信的スキャン成功回数の割合である。
【0013】
(構成2)
構成1において、スケジュール作成手段は、スケジュール作成タイミングにおいて、p個の端末装置に対してスキャンスケジュールを設定しない第1の処理、または通信的応答率および通信的スキャン成功回数を用いて選出した時間帯にp個の端末装置のスキャンスケジュールを設定する第2の処理を実行してN個の端末装置に対してスキャンスケジュールを作成する。
【0014】
(構成3)
構成2において、スケジュール作成手段は、スケジュール作成タイミングにおいて、p個の端末装置に対して第1の処理を実行してN個の端末装置に対してスキャンスケジュールを作成する。
【0015】
(構成4)
構成1において、スケジュール作成手段は、スケジュール作成タイミングにおいて、通信的応答率による時間帯の選出を無効にして複数の時間帯から選択した時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0016】
(構成5)
構成4において、スケジュール作成手段は、スケジュール作成タイミングにおいて、複数の時間帯からランダムに選択した時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0017】
(構成6)
構成1において、スケジュール作成手段は、スケジュール作成タイミングにおいて、W個の時間帯から通信的応答率の高い順にV(Vは、2以上の整数である。)個の時間帯を選出し、その選出したV個の時間帯から通信的スキャン成功回数を用いて選出された時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0018】
(構成7)
構成1から構成6のいずれかにおいて、スケジュール作成手段は、スケジュール作成タイミングにおいて、通信的スキャン成功回数が第3のしきい値以上である時間帯のうちスキャン応答遅延が最小である時間帯にp個の端末装置以外の端末装置のスキャンスケジュールを設定する。そして、スキャン応答遅延は、ネットワークスキャン用のパケットを送信してからスキャン応答を受信するまでの時間からなる。
(構成8)
構成1から構成6のいずれかにおいて、スケジュール作成手段は、スケジュール作成タイミングにおいて、第1の時間帯以外の時間帯からなる第1の集合において通信的スキャン成功回数が第3のしきい値未満である第2の時間帯からなる第2の集合が存在するとき、第2の集合から選択した第2の時間帯にp個の端末装置以外の端末装置のスキャンスケジュールを設定する。
【0019】
(構成9)
構成1から構成8のいずれかにおいて、ネットワークスキャン装置は、分類手段を更に備える。分類手段は、N個の端末装置をN(Nは、1以上の整数である。)個のクラスタに分類する。そして、スケジュール作成手段は、スケジュール作成タイミングにおいて、1個のクラスタに含まれる全ての端末装置のスキャンスケジュールを同じ時間帯に設定することをN個のクラスタの全てについて実行することによってN個の端末装置のスキャンスケジュールを作成し、1個のクラスタに含まれる端末装置を代表する第2の端末装置がp個の端末装置に含まれるとき、第2の端末装置を含むクラスタ内の全ての端末装置のスキャンスケジュールを通信的応答率のみによって選出された時間帯に設定せずにN個の端末装置のスキャンスケジュールを作成する。
【0020】
(構成10)
また、この発明の実施の形態によれば、プログラムは、ネットワークスキャン装置においてネットワークスキャンを実行するためのスキャンスケジュールの作成をコンピュータに実行させるためのプログラムである。
【0021】
ネットワークスキャン装置は、
N(Nは、2以上の整数である。)個の端末装置に対してネットワークスキャンを実行するときのネットワークスキャンのスキャンスケジュールを設定するための複数の時間帯のうち、ネットワークスキャンが実行された時間帯を示すW(Wは、1以上の整数である。)個の時間帯と、W個の時間帯のうち各々が対応する時間帯においてネットワークスキャンが実行された端末装置を示すW個の端末識別情報と、W個の時間帯のうち各々が対応する時間帯において実行されたネットワークスキャンの累積回数を示すW個の通信的累積スキャン回数と、W個の時間帯のうち各々が対応する時間帯において端末装置に対して実行されたネットワークスキャンの通信的応答率を示すW個の通信的応答率と、W個の時間帯のうち各々が対応する時間帯において実行されたネットワークスキャンの成功回数を示すW個の通信的スキャン成功回数とを相互に対応付けた構成からなる対応表を記憶する記憶装置を備える。
【0022】
そして、プログラムは、
スキャン手段が、N個の端末装置に対してネットワークスキャンを実行する第1のステップと、
更新手段が、ネットワークスキャンが実行される毎に対応表におけるW個の通信的累積スキャン回数、W個の通信的応答率およびW個の通信的スキャン成功回数を更新する第2のステップと、
検出手段が、N個の端末装置のスキャンスケジュールを作成するタイミングまでに更新された対応表に基づいて、通信的累積スキャン回数が第1のしきい値以上であり、かつ、通信的応答率が第2のしきい値未満である第1の時間帯以外の時間帯がスキャンスケジュールを設定するための時間帯として存在しないp(pは、1≦p<Nを満たす整数である。)個の端末装置を検出する第3のステップと、
スケジュール作成手段が、N個の端末装置のスキャンスケジュールを作成するタイミングであるスケジュール作成タイミングにおいて、通信的応答率のみによって選出された時間帯にp個の端末装置のスキャンスケジュールを設定せずにN個の端末装置に対してスキャンスケジュールを作成する第4のステップとをコンピュータに実行させる。そして、N個の端末装置のN個のIPアドレスは、任意の個数に振り分けられてW個の端末識別情報に含まれる。W個の通信的累積スキャン回数の各々は、対応する端末識別情報の個数と同じ個数の通信的累積スキャン回数を含む。W個の通信的応答率の各々は、対応する端末識別情報の個数と同じ個数の通信的応答率を含む。W個の通信的スキャン成功回数の各々は、対応する端末識別情報の個数と同じ個数の通信的スキャン成功回数を含む。通信的累積スキャン回数は、1個の端末装置のネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値である。通信的スキャン成功回数は、1個の端末装置のネットワークスキャンに対する応答が期待できるポートから返って来たスキャン応答の回数である。通信的応答率は、通信的累積スキャン回数に対する通信的スキャン成功回数の割合である。
【0023】
(構成11)
構成10において、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、p個の端末装置に対してスキャンスケジュールを設定しない第1の処理、または通信的応答率および通信的スキャン成功回数を用いて選出した時間帯にp個の端末装置のスキャンスケジュールを設定する第2の処理を実行してN個の端末装置に対してスキャンスケジュールを作成する。
【0024】
(構成12)
構成11において、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、p個の端末装置に対して第1の処理を実行してN個の端末装置に対してスキャンスケジュールを作成する。
【0025】
(構成13)
構成10において、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、通信的応答率による時間帯の選出を無効にして複数の時間帯から選択した時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0026】
(構成14)
構成13において、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、複数の時間帯からランダムに選択した時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0027】
(構成15)
構成10において、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、W個の時間帯から通信的応答率の高い順にV(Vは、2以上の整数である。)個の時間帯を選出し、その選出したV個の時間帯から通信的スキャン成功回数を用いて選出された時間帯にp個の端末装置のスキャンスケジュールを設定してN個の端末装置に対してスキャンスケジュールを作成する。
【0028】
(構成16)
構成10から構成15のいずれかにおいて、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、通信的スキャン成功回数が第3のしきい値以上である時間帯のうちスキャン応答遅延が最小である時間帯にp個の端末装置以外の端末装置のスキャンスケジュールを設定する。そして、スキャン応答遅延は、ネットワークスキャン用のパケットを送信してからスキャン応答を受信するまでの時間からなる。
【0029】
(構成17)
構成10から構成15のいずれかにおいて、スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、第1の時間帯以外の時間帯からなる第1の集合において通信的スキャン成功回数が第3のしきい値未満である第2の時間帯からなる第2の集合が存在するとき、第2の集合から選択した第2の時間帯にp個の端末装置以外の端末装置のスキャンスケジュールを設定する。
【0030】
(構成18)
構成10から構成17のいずれかにおいて、分類手段が、N個の端末装置をN(Nは、1以上の整数である。)個のクラスタに分類する第5のステップを更にコンピュータに実行させ、
スケジュール作成手段は、第4のステップのスケジュール作成タイミングにおいて、1個のクラスタに含まれる全ての端末装置のスキャンスケジュールを同じ時間帯に設定することをN個のクラスタの全てについて実行することによってN個の端末装置のスキャンスケジュールを作成し、1個のクラスタに含まれる端末装置を代表する第2の端末装置がp個の端末装置に含まれるとき、第2の端末装置を含むクラスタ内の全ての端末装置のスキャンスケジュールを通信的応答率のみによって選出された時間帯に設定せずにN個の端末装置のスキャンスケジュールを作成する。
【0031】
(構成19)
更に、この発明の実施の形態によれば、記録媒体は、構成10から構成18のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0032】
ネットワークスキャンにおける学習速度を向上可能なスケジューリングを行うことができる。
【図面の簡単な説明】
【0033】
図1】この発明の実施の形態における通信システムの概略図である。
図2図1に示すネットワークスキャン装置の実施の形態1における概略図である。
図3】この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第1の概略図である。
図4】この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第2の概略図である。
図5】この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第3の概略図である。
図6】この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第4の概略図である。
図7】この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第5の概略図である。
図8図2に示すホスト情報データベースに格納される対応表の概念図である。
図9】ネットワークスキャンを実行するタイミングを説明するための図である。
図10図2に示すホスト情報データベースに格納される別の対応表の概念図である。
図11図2に示すネットワークスキャン装置の動作を示すタイミングチャートである。
図12】IPアドレスと、スキャン応答が返って来たポートとの対応関係を示す図である。
図13図2に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
図14図13のステップS4の詳細な動作を説明するためのフローチャートである。
図15図13のステップS5の詳細な動作を説明するためのフローチャートである。
図16図13のステップS6の詳細な動作を説明するためのフローチャートである。
図17図13のステップS6の詳細な動作を説明するための別のフローチャートである。
図18図13のステップS6の詳細な動作を説明するための更に別のフローチャートである。
図19図1に示すネットワークスキャン装置の実施の形態2における概略図である。
図20】クラスタ化の具体例を示す図である。
図21】クラスタ化の他の具体例を示す図である。
図22図19に示すクラスタリングデータベースの概念図である。
図23図19に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
図24図23のステップS6Aの詳細な動作を説明するためのフローチャートである。
図25図23のステップS6Aの詳細な動作を説明するための別のフローチャートである。
図26図23のステップS6Aの詳細な動作を説明するための更に別のフローチャートである。
【発明を実施するための形態】
【0034】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0035】
図1は、この発明の実施の形態における通信システムの概略図である。図1を参照して、この発明の実施の形態による通信システム10は、ネットワークスキャン装置1と、基地局BS1,BS2と、インターネットプロバイダISPと、端末装置TM1~TM18とを備える。
【0036】
ネットワークスキャン装置1、基地局BS1,BS2、インターネットプロバイダISP(Internet Service Provider)および端末装置TM1~TM18は、通信空間に配置される。
【0037】
基地局BS1は、無線通信網CNW1の基地局であり、基地局BS2は、無線通信網CNW2の基地局であり、インターネットプロバイダISPは、有線通信網CNW3の通信事業者である。
【0038】
無線通信網CNW1,CNW2は、相互に異なる無線通信規格に従って無線通信を行う通信網である。
【0039】
この発明の実施の形態においては、端末装置TM1~TM18の各々が無線端末である場合があり、端末装置TM1~TM18の一部が無線端末からなり、かつ、残りが有線端末からなる場合もある。
【0040】
端末装置TM1~TM6は、無線通信網CNW2の外側であり、かつ、無線通信網CNW1の内部に配置される。
【0041】
端末装置TM7は、無線通信網CNW1と無線通信網CNW2との重複領域内に配置される。
【0042】
端末装置TM8~TM13は、無線通信網CNW1の外側であり、かつ、無線通信網CNW2の内部に配置される。
【0043】
端末装置TM14~TM18は、有線通信網CNW3内に配置され、有線を介してインターネットプロバイダISPに接続される。
【0044】
端末装置TM1~TM13の各々は、基地局BS1,BS2と無線通信可能な2個の無線通信モジュールを備えている。従って、端末装置TM1~TM13の各々は、基地局BS1または基地局BS2と無線通信可能である。
【0045】
端末装置TM1~TM6は、基地局BS1と無線通信を行い、端末装置TM7は、基地局BS1または基地局BS2と無線通信を行い、端末装置TM8~TM13は、基地局BS2と無線通信を行う。
【0046】
端末装置TM14~TM18は、インターネットプロバイダISPを介して有線通信を行う。
【0047】
ネットワークスキャン装置1は、後述する方法によって、端末装置TM1~TM18に対してネットワークスキャンを行うためのスキャンスケジュールを作成し、その作成したスキャンスケジュールに従ってネットワークスキャンを実行する。
【0048】
[実施の形態1]
図2は、図1に示すネットワークスキャン装置1の実施の形態1における概略図である。図2を参照して、ネットワークスキャン装置1は、ネットワークスキャナ11と、スキャン解析マネージャ12と、ホスト情報データベース13と、スキャンスケジューラ14とを備える。
【0049】
ネットワークスキャナ11は、スキャンスケジューラ14からスキャンスケジュールを受け、その受けたスキャンスケジュールに基づいて、例えば、公知のmasscan(非特許文献2)を用いて、スキャン対象のネットワーク20に接続された端末装置のポートに対してネットワークスキャンを行う。
【0050】
より具体的には、ネットワークスキャナ11は、所定の周期に含まれる複数の時間帯において複数の端末装置のIPアドレスに対してスキャンパケットを送信するネットワークスキャンを行う。ネットワークスキャナ11は、このネットワークスキャンを所定の周期に一致する頻度で実行する。
【0051】
そして、ネットワークスキャナ11は、ネットワーク20に接続された端末装置からネットワークスキャンのスキャン応答を受信し、その受信したスキャン応答をユーザ(ネットワークセキュリティ等からなる)30およびスキャン解析マネージャ12へ出力する。
【0052】
スキャン解析マネージャ12は、ネットワークスキャナ11からスキャン応答を受け、ネットワークスキャン中の通信ログを受ける。そして、スキャン解析マネージャ12は、スキャン応答に基づいてスキャン対象の端末装置のアドレスと、スキャン応答とを対応付けたスキャン結果を生成し、その生成したスキャン結果をホスト情報データベース13に格納することによってホスト情報データベース13を作成または更新する。
【0053】
また、スキャン解析マネージャ12は、ネットワークスキャンを行うためのスキャンパケットを送信してからスキャン応答を受信するまでの時間であるスキャン応答遅延を計測し、その計測したスキャン応答遅延をスキャン対象の端末装置のアドレスに対応付けてホスト情報データベース13に格納する。
【0054】
更に、スキャン解析マネージャ12は、各端末装置に対してネットワークスキャンを行う毎に、各端末装置について通信的累積スキャン回数、通信的応答率および通信的スキャン成功回数を計測し、その計測した通信的累積スキャン回数、通信的応答率および通信的スキャン成功回数を各端末装置に対して実行されたネットワークスキャンの各時間帯に対応付けてホスト情報データベース13に格納する。
【0055】
ここで、通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率について説明する。
【0056】
一般に、端末装置は、一般の通信に対してセキュリティ確保のために全てのポートのうちの一部のポートのみを開放するように設定することがある。その結果、端末装置に対してネットワークスキャンを実行したとき、スキャン応答が端末装置から返って来るか否かは、端末装置の設定と通信路の品質とによって決定される。
【0057】
そこで、端末装置がネットワークスキャンに対して全てのポートを開放しているか一部のポートのみを開放しているかと言う端末装置の設定に拘わらずに通信路の品質のみを考慮する観点から、この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を以下に説明する。
【0058】
図3から図7は、それぞれ、この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率の概念を説明するための第1から第5の概略図である。
【0059】
図3を参照して、端末装置は、ポート番号1,2,3,4,5,6,・・・を有し、例えば、ポート番号1~3のポートに対して“応答する”を設定し、ポート番号4~6のポートに対して“応答しない”を設定する。
【0060】
スキャン装置は、例えば、端末装置のポート番号1,3,5,6のポートに対してスキャンを行う。その結果、スキャン装置は、端末装置のポート番号1のポートからスキャン応答を受信し、端末装置のポート番号3,5,6のポートからスキャン応答を受信しない。なお、スキャン装置は、端末装置のポート番号3のポートに対しては、通信品質が悪くてスキャン応答を受信できなかったものとする。
【0061】
この場合、一般的なスキャン回数は、4回であり、一般的なスキャン成功回数は、1回であり、一般的なスキャン成功率は、1/4である。
【0062】
一方、この発明の実施の形態における通信的スキャン回数は、2回であり、通信的スキャン成功回数は、1回であり、通信的スキャン成功率は、1/2である。ここで、通信的スキャン回数が2回であるのは、“応答する”を設定しているポート番号1,3のポートをスキャン対象のポートとしているからである。つまり、応答が期待できるポートをスキャン対象のポートとしているからである。
【0063】
図4を参照して、スキャン装置は、端末装置の各ポートに対して“応答する”または“応答しない”のいずれが設定されているかを検知できない。即ち、スキャン装置は、端末装置の設定が分からない。
【0064】
図5を参照して、そこで、スキャン装置は、過去に応答があったポートを登録した応答ポートリストと、ネットワークスキャンの結果とを照合し、応答ポートリストに登録されたポート番号(ポート番号1,3)のポートに対するネットワークスキャン実施回数(=2回)を通信的スキャン回数とし、応答ポートリストに登録されたポート番号(ポート番号1)のポートからスキャン応答があった回数(=1回)を通信的スキャン成功回数とし、通信的スキャン成功回数を通信的スキャン回数で除算して通信的スキャン成功率(=1/2)を算出する。即ち、スキャン装置は、応答ポートリストに登録されたポート番号(ポート番号1,3)のポートに対してネットワークスキャン実施回数および端末装置からのスキャン応答の回数を集計し、通信的スキャン回数、通信的スキャン成功回数および通信的スキャン成功率を算出する。なお、応答ポートリストに登録されたポート番号は、時間帯(後述する時間帯τ)を問わずに登録されたポート番号である。
【0065】
図6を参照して、スキャン装置は、端末装置のポート番号1~3のポートに対してネットワークスキャンを実施しているが、ポート番号2のポートが登録ポートリストに載っていないので、通信的スキャン回数は、“3回”ではなく、“2回”である。従って、この発明の実施の形態においては、登録ポートリストに載っているポート番号のポートに対するネットワークスキャン実施回数を集計する。
【0066】
図7を参照して、ポート番号2のポートは、登録ポートリストに載っていないが、スキャン装置は、スキャン応答を受信したので、ポート番号2のポートに対するネットワークスキャンの実施回数も集計して通信的スキャン回数を3回とし、ポート番号2のポートからのスキャン応答の回数も集計して通信的スキャン成功回数を2回とし、通信的スキャン成功率を2/3と算出する。
【0067】
以上より、この発明の実施の形態においては、端末装置の設定および通信路の品質のうちの通信路の品質のみが端末装置から返って来るスキャン応答に影響を与えるとの観点から、通信的累積スキャン回数は、1つのIPアドレスAddのネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値であり、通信的スキャン成功回数は、1つのIPアドレスAddのネットワークスキャンに対する応答が期待できるポートからスキャン応答SRが返って来た回数であり、通信的応答率は、通信的累積スキャン回数に対する通信的スキャン成功回数の割合(つまり、通信的スキャン成功回数を通信的累積スキャン回数で除算したもの)である。なお、通信的累積スキャン回数は、図3から図7において説明した通信的スキャン回数を累積したものであり、通信的応答率は、図3から図7において説明した通信的スキャン成功率と同義である。そして、通信的累積スキャン回数は、1回のネットワークスキャンにおいて、登録ポートリストに登録されたポート番号のポートに対するネットワークスキャンの実施回数と、登録ポートリストに登録されていないポートのうちのスキャン応答が返って来たポートに対するネットワークスキャンの実施回数とを含む。このように、この発明の実施の形態における通信的累積スキャン回数、通信的スキャン成功回数および通信的応答率は、それぞれ、端末装置の設定と通信路の品質との両方によって決定される一般的な累積スキャン回数、スキャン成功回数および応答率と異なるものである。
【0068】
ホスト情報データベース13は、スキャン結果、通信的累積スキャン回数、通信的応答率および通信的スキャン成功回数を記憶する。
【0069】
スキャンスケジューラ14は、ネットワークスキャンを行う領域(例えば、日本国内)に存在する全ての端末装置のグローバルIPアドレスおよびドメイン名を予め保持している。スキャンスケジューラ14は、後述する方法によって、ネットワークスキャンのスキャンタイミングと各スキャンタイミングにおけるネットワークスキャンの対象となる端末装置とを対応付けたスキャンスケジュールを作成する。そうすると、スキャンスケジューラ14は、スキャンスケジュールをネットワークスキャナ11へ出力してスキャンスケジュールに従ってネットワークスキャンを実行するようにネットワークスキャナ11を制御する。
【0070】
図8は、図2に示すホスト情報データベース13に格納される対応表の概念図である。図8を参照して、対応表TBL1は、スキャン実施回数と、時刻tと、IPアドレスAddと、ポート番号qと、スキャン応答SRと、スキャン応答遅延SRDとを含む。スキャン実施回数、時刻t、IPアドレスAdd、ポート番号q、スキャン応答SR、およびスキャン応答遅延SRDは、相互に対応付けられる。ここで、i=1~Nであり、Nは、ネットワークスキャンの対象となる端末装置の総数であり、2以上の整数である。
【0071】
スキャン実施回数は、各IPアドレスAdd(各端末装置)に対してネットワークスキャンが行われた回数を示す。時刻tは、後述する1つのラウンドの開始時刻を基準とした正規化スキャン時刻を示す。そして、時刻tは、YYYY/MM/DD/hh/mm/ss(年/月/日/時/分/秒)によって表される。
【0072】
IPアドレスAddは、ネットワークスキャンの対象である端末装置のグローバルIPアドレスからなる。
【0073】
ポート番号qは、IPアドレスAddのq番目のポートを表す。1つのIPアドレスAddに対して、例えば、10000個のポートを選択し、その選択した10000個のポートに対してネットワークスキャンを実施する。従って、ポート番号qは、10000個のポートにおけるq番目のポートを表す。
【0074】
スキャン応答SRは、ポート番号qに対応付けられる。スキャン応答SRは、スキャン応答が返って来たとき、“1”からなり、スキャン応答が返って来なかったとき、“0”からなる。
【0075】
スキャン応答遅延SRDは、ポート番号qに対応付けられる。スキャン応答遅延SRDは、スキャンパケットを送信した時刻からスキャン応答SRが返って来る時刻までの時間長からなる。
【0076】
IPアドレスAddのポート番号は、例えば、ポート番号q11,q21,q31からなり、IPアドレスAddのポート番号は、例えば、ポート番号q12,q22からなり、IPアドレスAddのポート番号は、例えば、ポート番号q13,q23,q33,q43からなり、以下、同様にして、IPアドレスAddN-1のポート番号は、例えば、ポート番号q1N-1,q2N-1,q3N-1からなり、IPアドレスAddのポート番号は、例えば、ポート番号q1N,q2Nからなる。
【0077】
そして、対応表TBL1においては、スキャン応答SRおよびスキャン応答遅延SRDは、各ポート番号qに対応付けられて対応表TBL1に格納される。
【0078】
なお、ポート番号q11,q21,q31の“1”は、IPアドレスAddに対応しており、ポート番号q11,q21,q31の“1”,“2”,“3”は、ポートの順番を表す。ポート番号q11,q21,q31以外のポート番号についても同様である。
【0079】
図8においては、IPアドレスAdd~Addに対するスキャン実施回数は、相互に異なっているが、この発明の実施の形態においては、これに限らず、IPアドレスAdd~Addに対するスキャン実施回数は、相互に同じであってもよい。
【0080】
また、この発明の実施の形態においては、1つのIPアドレスAddに対して複数回のネットワークスキャンを実施する場合、1つのIPアドレスAddに対する複数回のネットワークスキャンは、複数のラウンド(「ラウンド」については後述する。)において同じ時刻に実施されてもよく、複数のラウンドの異なる時刻に実施されてもよい。従って、1つのIPアドレスAddに対する複数回のネットワークスキャンが複数のラウンドの異なる時刻に実施される場合、対応表TBL1において、各IPアドレスAddに対応する時刻tは、複数の時刻からなる。
【0081】
更に、ある時刻tにおいて、IPアドレスAddに対してネットワークスキャンのスキャンスケジュールが作成されなかった場合、スキャンスケジュールが作成されなかったIPアドレスAddに対応するスキャン応答SRおよびスキャン応答SRに対応するスキャン応答遅延SRDの欄は、空欄である。
【0082】
図9は、ネットワークスキャンを実行するタイミングを説明するための図である。図9を参照して、この発明の実施の形態においては、θの時間長を有する区間SECが設定される。θは、ネットワークスキャンを実施する所定の周期の周期長である。θは、例えば、12時間に設定される。
【0083】
1つの区間SECは、0時間帯、1時間帯、2時間帯、・・・等の複数の時間帯からなる。複数の時間帯の各々は、時間長hを有する。時間長hは、例えば、1時間に設定される。従って、θは、hの自然数倍である。その結果、1つの区間SECには、τ~τθ/h-1の(θ/h)個の時間帯τが存在する。
【0084】
そして、ネットワークスキャンは、1つの区間SECの複数の時間帯において端末装置iのIPアドレスAddに対して実行される。この場合、各時間帯においてネットワークスキャンの対象となる端末装置の個数は、同じであっても異なっていてもよい。図9においては、0時間帯においてネットワークスキャンの対象となる端末装置の個数は、5個であり、1時間帯においてネットワークスキャンの対象となる端末装置の個数は、7個であり、2時間帯においてネットワークスキャンの対象となる端末装置の個数は、3個であり、3時間帯においてネットワークスキャンの対象となる端末装置の個数は、4個である。なお、各区間SECは、「ラウンド」と呼ばれる。
【0085】
0回目のネットワークスキャンは、1番目の区間SECにおいて実行され、1回目のネットワークスキャンは、2番目の区間SECにおいて実行され、2回目のネットワークスキャンは、3番目の区間SECにおいて実行され、以下、同様にして、(m-1)回目のネットワークスキャンは、m(mは、2以上の整数である。)番目の区間SECにおいて実行される。
【0086】
この発明の実施の形態においては、θを所定の周期の周期長として、所定の周期の頻度でネットワークスキャンが実行される。そして、ネットワークスキャンが実施される毎にスキャン応答SRおよびスキャン応答遅延SRDがホスト情報データベース13の対応表TBL1に格納される。
【0087】
図10は、図2に示すホスト情報データベース13に格納される別の対応表の概念図である。
【0088】
図10を参照して、対応表TBL2-1は、時間帯τと、IPアドレスAddと、通信的累積スキャン回数mτ,iと、通信的スキャン成功回数dτ,iと、通信的応答率rτ,iとを含む。時間帯τ、IPアドレスAdd、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,i、および通信的応答率rτ,iは、相互に対応付けられる。
【0089】
時間帯τは、(θ/h)個の時間帯τ~τθ/h-1のうち、端末装置に対してネットワークスキャンが実行されたW個の時間帯τs_1~τs_Wからなる。ここで、Wは、1≦W≦(θ/h)を満たす整数である。従って、W個の時間帯τs_1~τs_Wは、各端末装置に対してネットワークスキャンを実行するときのスケジュールであるスキャンスケジュールを設定するための(θ/h)個の時間帯τ~τθ/h-1と同じ個数からなることがあり、または(θ/h)個の時間帯τ~τθ/h-1よりも少ない個数からなることもある。
【0090】
IPアドレスAdd,Add,・・・,Addは、時間帯τs_1,τs_2,τs_3,τs_4,・・・,τs_W-1,τs_Wの各々に対応付けられる。
【0091】
通信的累積スキャン回数mτ,iは、対応する時間帯τにおいてネットワークスキャンに対する応答が期待できるポートに対するネットワークスキャンの実施回数の累積値である。ここで、「ネットワークスキャンに対する応答が期待できる」は、ネットワークスキャンに対する応答が返って来る可能性があることであり、「スキャン応答が返って来る」は、スキャン応答SRが“1”であることであり、「スキャン応答SR」は、ネットワークスキャンの対象である端末装置からの応答が有るか無いかを示すものである。
【0092】
ネットワークスキャンは、1個のIPアドレスAdd内の複数のポートに対して実行されるが、ネットワークスキャンが1個のIPアドレスAddに対して実行されれば、1個のIPアドレスAdd内の複数のポートの全体に対してネットワークスキャンが実行されるので、通信的累積スキャン回数mτ,iは、対応する時間帯τにおいて、ネットワークスキャンの時点で登録ポートリストに登録されたポートの数と、登録ポートリストに登録されていないポートのうち、スキャン応答SRが返って来たポートの数との和だけ増加する。
【0093】
通信的累積スキャン回数mτs_1,1は、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートのうち、スキャン応答SRが期待できるポートに対するネットワークスキャンの実施回数の累積値である。通信的累積スキャン回数mτs_1,2は、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートのうち、スキャン応答SRが期待できるポートに対するネットワークスキャンの実施回数の累積値である。以下、同様にして、通信的累積スキャン回数mτs_1,Nは、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートのうち、スキャン応答SRが期待できるポートに対するネットワークスキャンの実施回数の累積値である。。
【0094】
時間帯τs_2,τs_3,τs_4,・・・τs_W-1,τs_Wにそれぞれ対応付けられた通信的累積スキャン回数mτs_2,1,mτs_2,2,・・・,mτs_2,N;mτs_3,1,mτs_3,2,・・・,mτs_3,N;mτs_4,1,mτs_4,2,・・・,mτs_4,N;・・・;mτs_W―1,1,mτs_W―1,2,・・・,mτs_W―1,N;mτs_W,1,mτs_W,2,・・・,mτs_W,Nについても同様である。
【0095】
通信的スキャン成功回数dτ,iは、対応する時間帯τにおいて返って来たスキャン応答SRをIPアドレスAdd毎にカウントしたスキャン応答SRの累積回数からなる。
【0096】
通信的スキャン成功回数dτs_1,1は、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートから返って来たスキャン応答SRの回数である。通信的スキャン成功回数dτs_1,2は、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートから返って来たスキャン応答SRの回数である。以下、同様にして、通信的スキャン成功回数dτs_1,Nは、時間帯τs_1およびIPアドレスAddに対応付けられ、時間帯τs_1において、IPアドレスAdd内のポートから返って来たスキャン応答SRの回数である。
【0097】
時間帯τs_2,τs_3,τs_4,・・・τs_W-1,τs_Wにそれぞれ対応付けられた通信的スキャン成功回数dτs_2,1,dτs_2,2,・・・,dτs_2,N;dτs_3,1,dτs_3,2,・・・,dτs_3,N;dτs_4,1,dτs_4,2,・・・,dτs_4,N;・・・;dτs_W―1,1,dτs_W―1,2,・・・,dτs_W―1,N;dτs_W,1,dτs_W,2,・・・,dτs_W,Nについても同様である。
【0098】
通信的応答率rτ,iは、通信的累積スキャン回数mτ,iおよび通信的スキャン成功回数dτ,iに対応し、通信的累積スキャン回数mτ,iに対する通信的スキャン成功回数dτ,iの割合である。つまり、通信的応答率rτ,iは、IPアドレスAdd毎に、対応する通信的スキャン成功回数dτ,iを対応する通信的累積スキャン回数mτ,iで除算した除算結果からなる。
【0099】
通信的応答率rτs_1,1は、対応する通信的スキャン成功回数dτs_1,1を対応する通信的累積スキャン回数mτs_1,1で除算した除算結果からなる。通信的応答率rτs_1,2は、対応する通信的スキャン成功回数dτs_1,2を対応する通信的累積スキャン回数mτs_1,2で除算した除算結果からなる。以下、同様にして、通信的応答率rτs_1,Nは、対応する通信的スキャン成功回数dτs_1,Nを対応する通信的累積スキャン回数mτs_1,Nで除算した除算結果からなる。
【0100】
時間帯τs_2,τs_3,τs_4,・・・τs_W-1,τs_Wにそれぞれ対応付けられた通信的応答率rτs_2,1,rτs_2,2,・・・,rτs_2,N;rτs_3,1,rτs_3,2,・・・,rτs_3,N;rτs_4,1,rτs_4,2,・・・,rτs_4,N;・・・;rτs_W―1,1,rτs_W―1,2,・・・,rτs_W―1,N;dτs_W,1,dτs_W,2,・・・,rτs_W,Nについても同様である。
【0101】
なお、対応表TBL2-1において、1つのIPアドレスAddが複数の時間帯τに対応付けられているのは、異なるラウンド間では、同じIPアドレスAddの同じポートに対するネットワークスキャンの実施時間帯τが異なる可能性があるからである。
【0102】
図11は、図2に示すネットワークスキャン装置1の動作を示すタイミングチャートである。
【0103】
図11を参照して、ネットワークスキャナ11は、0回目のラウンド、1回目のラウンド、2回目のラウンド、・・・(m-1)回目のラウンド、m回目のラウンド、・・・の各ラウンドにおいて複数の端末装置に対してネットワークスキャンを実行する。そして、スキャン解析マネージャ12は、各ラウンドにおけるネットワークスキャンが実行された時点で、スキャン応答SRおよびスキャン応答遅延SRDをホスト情報データベース13の対応表TBL1に格納して対応表TBL1を作成または更新する。
【0104】
また、スキャン解析マネージャ12は、最初のラウンド(=0回目のラウンド)において、推定変数μτ,i,ητ,i,στ,i,nτ,iの全てを零に設定することによって推定変数μτ,i,ητ,i,στ,i,nτ,iを初期化するとともに、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iの値を零に設定して通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを初期化する。
【0105】
そして、スキャン解析マネージャ12は、最初のラウンドにおけるネットワークスキャンが実行されると、対応表TBL2-1における通信的累積スキャン回数mτ,iの値を、登録ポートリスト(後述する図12参照)に登録されたポートに対するネットワークスキャンの実施回数だけインクリメントするとともに、登録ポートリストに登録されていないが、スキャン応答SRが返って来たポートの数だけインクリメントする。この場合、スキャン解析マネージャ12は、登録ポートリスト(後述する図12参照)に登録されたポートについては、スキャン応答SRが返って来たか返って来なったかに拘わらず対応表TBL2-1における通信的累積スキャン回数mτ,iの値をインクリメントする。
【0106】
また、スキャン解析マネージャ12は、最初のラウンドにおけるネットワークスキャンが実行されると、スキャン応答SRがIPアドレスAddを有する端末装置から返って来たとき、対応表TBL2-1における通信的スキャン成功回数dτ,iの値を返って来たスキャン応答SRの個数分だけインクリメントし、スキャン応答SRがIPアドレスAddを有する端末装置から返って来なかったとき、対応表TBL2-1における通信的スキャン成功回数dτ,iの値を維持する。
【0107】
そして、スキャン解析マネージャ12は、更新後の通信的スキャン成功回数dτ,iを更新後の通信的累積スキャン回数mτ,iで除算して通信的応答率rτ,iをIPアドレスAdd毎に算出し、または維持した通信的スキャン成功回数dτ,iの累積回数を通信的累積スキャン回数mτ,iで除算して通信的応答率rτ,iをIPアドレスAdd毎に算出する。
【0108】
その後、スキャン解析マネージャ12は、1個のラウンドにおけるネットワークスキャンが実行される毎に、対応表TBL2-1における通信的累積スキャン回数mτ,iの値を、登録ポートリスト(後述する図12参照)に登録されたポートに対するネットワークスキャンの実施回数だけインクリメントするとともに、登録ポートリストに登録されていないが、スキャン応答SRが返って来たポートの数だけインクリメントして通信的累積スキャン回数mτ,iを更新する。
【0109】
また、スキャン解析マネージャ12は、1個のラウンドにおけるネットワークスキャンが実行される毎に、スキャン応答SRがIPアドレスAddを有する端末装置から返って来たとき、対応表TBL2-1における通信的スキャン成功回数dτ,iの累積回数を、返って来たスキャン応答SRの個数分だけインクリメントして通信的スキャン成功回数dτ,iを更新し、スキャン応答SRがIPアドレスAddを有する端末装置から返って来なかったとき、対応表TBL2-1における通信的スキャン成功回数dτ,iの累積回数を維持する。
【0110】
そして、スキャン解析マネージャ12は、更新後の通信的スキャン成功回数dτ,iを更新後の通信的累積スキャン回数mτ,iで除算して通信的応答率rτ,iをIPアドレスAdd毎に算出し、または維持した通信的スキャン成功回数dτ,iの累積回数を通信的累積スキャン回数mτ,iで除算して通信的応答率rτ,iをIPアドレスAdd毎に算出し、その算出した通信的応答率rτ,iによって対応表TBL2-1における通信的応答率rτ,iを更新する。
【0111】
スキャン解析マネージャ12は、各ラウンドにおけるネットワークスキャンが終了する毎に、上述した通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iの更新を実行する。
【0112】
スキャンスケジューラ14は、各ラウンドにおけるネットワークスキャンが終了する毎に、最終的に更新された対応表TBL2-1を参照して、後述する方法によって、スキャンスケジュールを作成し、その作成したスキャンスケジュールをネットワークスキャナ11へ出力し、スキャンスケジュールに基づいてネットワークスキャンを実行するようにネットワークスキャナ11を制御する。
【0113】
以後、ネットワークスキャナ11、スキャン解析マネージャ12およびスキャンスケジューラ14は、上述した動作を繰り返し実行する。
【0114】
図12は、IPアドレスと、スキャン応答が返って来たポートとの対応関係を示す図である。なお、図12に示す対応表TBL3は、応答ポートリストである。
【0115】
図12を参照して、対応表TBL3は、IPアドレスAddと応答ポート番号qとを含む。IPアドレスAddおよび応答ポート番号qは、相互に対応付けられる。応答ポート番号qは、対応表TBL1において、各IPアドレスAddに対応付けられた複数のポート番号qのうち、“1”からなるスキャン応答SRに対応するポート番号からなる。
【0116】
応答ポート番号q11~qx1は、IPアドレスAddに対応付けられ、応答ポート番号q12~qy2は、IPアドレスAddに対応付けられ、以下、同様にして、応答ポート番号q1N~qzNは、IPアドレスAddに対応付けられる。
【0117】
応答ポート番号q11~qx1の1,2,3,・・・,xは、スキャン応答SRが返って来たポート番号を表し、応答ポート番号q11~qx1の“1”は、対応するIPアドレスAddを表す。応答ポート番号q12~qy2および応答ポート番号q1N~qzNについても同じである。そして、x,y,zの各々は、1以上の整数からなる。
【0118】
スキャン解析マネージャ12は、各ラウンドにおいてネットワークスキャンが実行されたとき、対応表TBL3に登録されていないポート番号からスキャン応答SRが返って来たとき、スキャン応答SRが返って来たポート番号を対応表TBL3に新たに登録する。
【0119】
このように、対応表TBL3は、ネットワークスキャンが継続して実行される中で更新される。
【0120】
対応表TBL3に登録されたポート番号のポートは、次に説明するように通信的累積スキャン回数mτ,iのカウントに反映される。
【0121】
スキャン解析マネージャ12は、1個のラウンドにおいてネットワークスキャンが実行されたとき、例えば、応答ポート番号q21のポートからスキャン応答SRが返って来なかったとき、応答ポート番号q21が対応表TBL3に登録されているので、通信的累積スキャン回数mτ,iを“1”だけインクリメントする。
【0122】
即ち、スキャン解析マネージャ12は、1回のネットワークスキャンにおいてスキャン応答SRが返って来なくても、スキャン応答SRが返って来なかったポートのポート番号qが対応表TBL3に登録されていれば通信的累積スキャン回数mτ,iを“1”だけインクリメントする。
【0123】
これは、m回目のネットワークスキャンが実行されたとき、スキャン応答SRが返って来たが、(m+1)回目のネットワークスキャンが実行されたとき、通信路の品質の変化によってスキャン応答SRが返って来ないこともあるので、通信路の品質を通信的累積スキャン回数mτ,iに反映させるために、1回のネットワークスキャンにおいてスキャン応答SRが返って来なくても、スキャン応答SRが返って来なかったポートのポート番号qが対応表TBL3に登録されていれば通信的累積スキャン回数mτ,iを増加させることにしたものである。
【0124】
従って、スキャン解析マネージャ12は、スキャン応答SRが1回でも返って来たポートのポート番号を対応表TBL3に登録し、ポート番号が対応表TBL3に登録されていれば、スキャン応答SRが返って来なくても、ネットワークスキャンが実行される毎に通信的累積スキャン回数mτ,iを“1”だけインクリメントすることによって、スキャン応答SRが返って来なかったポートの通信的応答率rτ,iを低下させる処理を実行する。このような処理は、通信路の品質のみを考慮した通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを用いる本発明の特徴を反映したものである。
【0125】
複数回のネットワークスキャンが完了した時点において、登録ポートリストに登録されたポートに対するネットワークスキャンの実施回数をCNREGSとし、複数回のネットワークスキャンのうち、最後のネットワークスキャンの開始時に登録ポートリストに登録されていなかったが、スキャン応答が返って来たポートに対するネットワークスキャンの実施回数をCNSRとすると、通信的累積スキャン回数mτ,iは、CNREGS+CNSRとなる。
【0126】
そして、通信的スキャン成功回数dτ,iは、IPアドレスAdd内の各ポートから返って来たスキャン応答SRの累積回数CNSUCからなり、通信的応答率rτ,iは、通信的スキャン成功回数dτ,iを通信的累積スキャン回数mτ,iで除算した除算結果からなるので、IPアドレスAddの通信的応答率rτ,iは、CNSUC/(CNREGS+CNSR)からなる。
【0127】
この発明の実施の形態における変数および記号を表1に示す。
【0128】
【表1】
【0129】
表1において、μτ,i、στ,i、ητ,iおよびnτ,iは、推定変数である。また、推定変数μτ,i,στ,i,ητ,i,nτ,iにおけるτは、ラウンドθ内の時間帯を表す。スキャンスケジューラ14は、図8に示す対応表TBL1における正規化スキャン時刻tが属する時間帯τを次式によって算出する。
【0130】
【数1】
【0131】
式(1)において、[tmodθ/h]は、tmodθ/hの演算値以下の値においてtmodθ/hの演算値に最も近い整数を表す。
【0132】
対応表TBL1におけるスキャン応答SRおよびスキャン応答遅延SRDは、正規化スキャン時刻tに対応付けられているので、式(1)によって算出される時間帯τは、スキャン応答SRおよびスキャン応答遅延SRDが属する時間帯である。
【0133】
表1において、集合D、集合D’および集合D”は、それぞれ、式(2)、式(3)および式(4)によって表される。
【0134】
【数2】
【0135】
【数3】
【0136】
【数4】
【0137】
式(2)において、Zは、整数全体の集合である。式(2)に示すように、集合Dは、スキャンスケジュールを設定するための(θ/h)個の時間帯τ~τθ/h-1からなる。
【0138】
また、式(3)に示すように、集合D’は、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯を集合Dから除いた時間帯の集合である。そして、しきい値thは、例えば、10に設定され、しきい値thは、例えば、0.5に設定される。
【0139】
更に、式(4)に示すように、集合D”は、集合D’のうち、ネットワークスキャンの成功回数nτ,iがβ未満である時間帯の集合である。そして、βは、例えば、3に設定される。
【0140】
[推定変数の更新]
スキャンスケジューラ14は、正規化スキャン時刻tが属する時間帯τを算出すると、次式によって全ての推定変数を更新する。
【0141】
【数5】
【0142】
式(5A),(5B)におけるCは、スキャン応答遅延SRDである。
【0143】
[通信的応答率の更新]
スキャン解析マネージャ12は、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートの応答(スキャン応答SR)があるか否かを判定する。そして、スキャン解析マネージャ12は、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートの応答(スキャン応答SR)があると判定したとき、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートの応答(スキャン応答SR)に対応した正規化スキャン時刻を対応表TBL1から取得してtとし、正規化スキャン時刻tが属する時間帯を式(1)によって算出する。
【0144】
そして、スキャン解析マネージャ12は、次式によって、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを更新する。
【0145】
【数6】
【0146】
その後、スキャン解析マネージャ12は、IPアドレスAddの応答ポートリスト(即ち、対応表TBL3)にq番目のポートが登録されていなければ、q番目のポートをIPアドレスAddの応答ポートリスト(即ち、対応表TBL3)に登録する。
【0147】
一方、スキャン解析マネージャ12は、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートの応答(スキャン応答SR)が無いと判定したとき、IPアドレスAddのq番目のポートが応答ポートリスト(即ち、対応表TBL3)に登録されているか否かを判定する。
【0148】
そして、スキャン解析マネージャ12は、IPアドレスAddのq番目のポートが応答ポートリスト(即ち、対応表TBL3)に登録されていると判定したとき、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートの応答(スキャン応答SR)に対応した正規化スキャン時刻を対応表TBL1から取得してtとし、正規化スキャン時刻tが属する時間帯を式(1)によって算出する。
【0149】
その後、スキャン解析マネージャ12は、次式によって、通信的累積スキャン回数mτ,iおよび通信的応答率rτ,iを更新する。
【0150】
【数7】
【0151】
なお、式(7B)に示す通信的スキャン成功回数dτ,iには、維持された累積回数が代入されて通信的応答率rτ,iが更新される。
【0152】
スキャン解析マネージャ12は、上述した動作をIPアドレスAddの全てのポートおよび全てのIPアドレスAddについて実行する。
【0153】
[スキャンスケジュールの作成]
スキャンスケジュールを作成する処理について説明する。この発明の実施の形態においては、スキャンスケジュールを作成する処理は、3個のスケジュール作成処理1~3からなる。
【0154】
(1)スケジュール作成処理1
スキャンスケジューラ14は、ホスト情報データベース13に格納された対応表TBL2-1を参照して、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯を集合Dから除いた時間帯の集合D’を取得する。即ち、スキャンスケジューラ14は、式(3)によって集合D’を取得する。
【0155】
ここで、集合D’は、通信的累積スキャン回数mτ,iがしきい値th未満であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯と、通信的累積スキャン回数mτ,iがしきい値th未満であり、かつ、通信的応答率rτ,iがしきい値th以上である時間帯と、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的応答率rτ,iがしきい値th以上である時間帯とからなる。集合D’が、通信的累積スキャン回数mτ,iがしきい値th未満であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯と、通信的累積スキャン回数mτ,iがしきい値th未満であり、かつ、通信的応答率rτ,iがしきい値th以上である時間帯とを含むのは、通信的累積スキャン回数mτ,iがしきい値th未満である時間帯(即ち、mτ,i<th∧rτ,i<thである時間帯およびmτ,i<th∧rτ,i≧thである時間帯)をスケジューリングの対象とすることによって通信的累積スキャン回数mτ,iをしきい値th以上にし、通信的累積スキャン回数mτ,iがしきい値th以上になれば、通信的応答率rτ,iに基づいてスケジューリングの対象とする時間帯であるか否かを判定するためである。
【0156】
スキャンスケジューラ14は、集合D’を取得した後、集合D’が空集合Φでないか否かを判定する。そして、スキャンスケジューラ14は、集合D’が空集合Φでないと判定したとき、集合D’に含まれる時間帯のうち、通信的スキャン成功回数dτ,iがβ未満である時間帯の集合D”を取得する。即ち、スキャンスケジューラ14は、式(4)によって集合D”を取得する。
【0157】
そして、スキャンスケジューラ14は、集合D”が空集合Φであるか否かを判定する。スキャンスケジューラ14は、集合D”が空集合Φであると判定したとき、スキャン成功回数nτ,iに定数γを加算して自由度nτ,i+γを算出する。定数γは、例えば、-1に設定される。また、スチューデントT分布の自由度は、0よりも大きくなければならないので、γは、-γ<βを満たす。
【0158】
そうすると、スキャンスケジューラ14は、自由度nτ,i+γ、平均μτ,iおよび標準偏差στ,iに基づいて、次式によって、時間帯τにおけるスキャン応答遅延Cτを推定する。即ち、スキャンスケジューラ14は、次式によって、推定変数μτ,i,στ,i,nτ,iに基づいて推定値(スキャン応答遅延Cτ)を生成する。
【0159】
【数8】
【0160】
このように、スキャンスケジューラ14は、Student T分布に従って乱数を発生させて推定値(スキャン応答遅延Cτ)を生成する。
【0161】
引き続いて、スキャンスケジューラ14は、次式によって、推定値(スキャン応答遅延Cτ)が最小になる時間帯τminを検出する。
【0162】
【数9】
【0163】
そうすると、スキャンスケジューラ14は、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0164】
一方、スキャンスケジューラ14は、集合D”が空集合Φでないと判定したとき、集合D”からランダムに選択した時間帯をτとし、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0165】
また、スキャンスケジューラ14は、集合D’が空集合Φであると判定したとき、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定しない(即ち、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する処理をスキップする)。
【0166】
スキャンスケジューラ14は、上述した処理をIPアドレスAddの全てのポートおよび全てのIPアドレスAddについて実行する。
【0167】
(2)スケジュール作成処理2
スキャンスケジューラ14は、集合D’が空集合Φであるとき、集合Dに含まれる時間帯からなる集合D”(=D)を作成する。即ち、スキャンスケジューラ14は、集合D’が空集合Φであるとき、通信的応答率rτ,iによる時間帯の選出を無効にして集合Dを集合D”に設定する。
【0168】
そして、スキャンスケジューラ14は、集合D”(=D)からランダムに選択した時間帯をτとし、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0169】
また、スキャンスケジューラ14は、式(4)に示す集合D”(=式(4))が空集合Φでないとき、集合D”(=式(4))からランダムに選択した時間帯をτとし、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0170】
一方、スキャンスケジューラ14は、集合D’が空集合Φでなく、かつ、集合D”(=式(4))が空集合Φであるとき、スケジュール作成処理1における方法と同じ方法によって、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0171】
(3)スケジュール作成処理3
スキャンスケジューラ14は、集合D’が空集合Φであるとき、対応表TBL2-1に基づいて、通信的応答率rτ,iの高い順にV個の時間帯を選択し、その選択したV個の時間帯からなる集合を集合D’(V個の時間帯)とする。ここで、Vは、例えば、集合Dに含まれる時間帯の半数、または集合Dに含まれる全ての時間帯である。
【0172】
そして、スキャンスケジューラ14は、集合D’(V個の時間帯)に含まれるV個の時間帯のうち、通信的スキャン成功回数dτ,iがβ未満である時間帯の集合を集合D”(V個の時間帯に由来)とする。
【0173】
そうすると、スキャンスケジューラ14は、集合D”(V個の時間帯に由来)が空集合Φであるか否かを判定する。そして、スキャンスケジューラ14は、集合D”(V個の時間帯に由来)が空集合Φであると判定したとき、集合D’(V個の時間帯)に含まれるV個の時間帯に基づいて、スケジュール作成処理1における方法と同じ方法によって、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0174】
一方、スキャンスケジューラ14は、集合D”(V個の時間帯に由来)が空集合Φでないと判定したとき、集合D”(V個の時間帯に由来)からランダムに選択した時間帯をτとし、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0175】
なお、スキャンスケジューラ14は、式(3)に示す集合D’が空集合Φでないと判定し、かつ、式(4)に示す集合D”が空集合Φであると判定したとき、式(3)に示す集合D’に基づいて、スケジュール作成処理1における方法と同じ方法によって、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0176】
図13は、図2に示すネットワークスキャン装置1の動作を説明するためのフローチャートである。なお、図13においては、ネットワークスキャンが複数のラウンドにおいて順次実行されていることを前提としてネットワークスキャン装置1の動作を説明する。
【0177】
図13を参照して、ネットワークスキャン装置1の動作が開始されると、スキャン解析マネージャ12は、ラウンドmがm=0であるか否かを判定する(ステップS1)。
【0178】
ステップS1において、ラウンドmがm=0であると判定されたとき、スキャン解析マネージャ12は、推定変数μτ,i,ητ,i,στ,i,nτ,iの全てを零に設定することによって推定変数μτ,i,ητ,i,στ,i,nτ,iを初期化する(ステップS2)。
【0179】
そして、スキャン解析マネージャ12は、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを零に設定することによって通信的応答率rτ,iを初期化する(ステップS3)。
【0180】
一方、ステップS1において、ラウンドmがm=0でないと判定されたとき、スキャン解析マネージャ12は、推定変数μτ,i,ητ,i,στ,i,nτ,iを更新し(ステップS4)、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを更新する(ステップS5)。
【0181】
そして、スキャンスケジューラ14は、ステップS3またはステップS5の後、ネットワークスキャンのスケジューリングを実行する(ステップS6)。これによって、ネットワークスキャン装置1の動作が終了する。
【0182】
図13に示すフローチャートにおいては、ラウンドmが0回目のラウンド(m=0)であるとき、推定変数および通信的応答率を初期化する(ステップS2,S3参照)。
【0183】
そして、ラウンドmが0回目のラウンド(m=0)でないとき、推定変数、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iが更新される(ステップS4,S5参照)。即ち、スキャン解析マネージャ12は、推定変数、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを更新することによって推定変数、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iを学習する。
【0184】
その後、スキャンスケジューラ14は、学習した推定変数、通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,iに基づいてネットワークスキャンのスキャンスケジュールを作成する(ステップS6参照)。
【0185】
図14は、図13のステップS4の詳細な動作を説明するためのフローチャートである。図14を参照して、図13のステップS1において、ラウンドmがm=0でないと判定されたとき、スキャン解析マネージャ12は、i=1を設定し(ステップS41)、q=1を設定する(ステップS42)。
【0186】
そして、スキャン解析マネージャ12は、ホスト情報データベース13に格納された対応表TBL1を参照して、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが有るか否かを判定する(ステップS43)。この場合、スキャン解析マネージャ12は、対応表TBL1を参照して、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対応するスキャン応答SRi_qが“1”からなるとき、スキャン応答SRi_qが有ると判定し、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対応するスキャン応答SRi_qが“0”からなるとき、スキャン応答SRi_qが無いと判定する。また、m-1回目のネットワークスキャンのIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが有るか否かを判定するのは、例えば、m=1のラウンドにおいて、1つ前のラウンドm=0(即ち、m-1回目のラウンド)において実行されたネットワークスキャンの結果に基づいてIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが有るか否かを判定するためである。
【0187】
ステップS43において、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対応するスキャン応答SRi_qが有ると判定されたとき、スキャン解析マネージャ12は、対応表TBL1を参照して、スキャン応答SRi_qに対応した正規化スキャン時刻tおよびスキャン応答遅延C(=SRD)を取得する(ステップS44)。
【0188】
その後、スキャン解析マネージャ12は、式(1)によって、正規化スキャン時刻tが属する時間帯τを算出する(ステップS45)。
【0189】
そうすると、スキャン解析マネージャ12は、式(5)によって、推定変数μτ,i,ητ,i,στ,i,nτ,iを更新する(ステップS46)。
【0190】
そして、ステップS43において、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが無いと判定されたとき、またはステップS46の後、スキャン解析マネージャ12は、q=Mであるか否かを判定する(ステップS47)。なお、Mは、IPアドレスAddのスキャン対象のポート数である。
【0191】
ステップS47において、q=Mでないと判定されたとき、スキャン解析マネージャ12は、q=q+1を設定する(ステップS48)。その後、一連の動作は、ステップS43へ移行し、ステップS47において、q=Mであると判定されるまで、ステップS43~ステップS48が繰り返し実行される。
【0192】
そして、ステップS47において、q=Mであると判定されると、スキャン解析マネージャ12は、i=Nであるか否かを判定する(ステップS49)。
【0193】
ステップS49において、i=Nでないと判定されたとき、スキャン解析マネージャ12は、i=i+1を設定する(ステップS50)。その後、一連の動作は、ステップS42へ移行し、ステップS49において、i=Nであると判定されるまで、ステップS42~ステップS50が繰り返し実行される。
【0194】
そして、ステップS49において、i=Nであると判定されると、一連の動作は、図13のステップS5へ移行する。
【0195】
図14に示すフローチャートを実行することによって、ネットワークスキャンの対象である全てのIPアドレスAddのスキャン応答SRが有る全てのポートに対応するスキャン応答遅延C(=SRD)を用いて全てのIPアドレスAddの時間帯τの推定変数μτ,i,ητ,i,στ,i,nτ,iが更新される。
【0196】
図15は、図13のステップS5の詳細な動作を説明するためのフローチャートである。図15を参照して、図13のステップS4の後、スキャン解析マネージャ12は、i=1を設定し(ステップS5-1)、q=1を設定する(ステップS5-2)。
【0197】
そして、スキャン解析マネージャ12は、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが有るか否かを判定する(ステップS5-3)。
【0198】
ステップS5-3において、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが有ると判定されたとき、スキャン解析マネージャ12は、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートの応答に対応した正規化スキャン時刻を取得してtとし、正規化スキャン時刻tが属する時間帯τを式(1)によって算出する(ステップS5-4)。
【0199】
そして、スキャン解析マネージャ12は、式(6)によって、時間帯τにおける通信的累積スキャン回数mτ,iおよび通信的スキャン成功回数dτ,iを更新して通信的応答率rτ,iを更新する(ステップS5-5)。
【0200】
その後、スキャン解析マネージャ12は、IPアドレスAddの応答ポートリスト(=対応表TBL3)にq番目のポートが登録されていなければ、q番目のポートをIPアドレスAddの応答ポートリスト(=対応表TBL3)に登録する(ステップS5-6)。
【0201】
一方、ステップS5-3において、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートに対するスキャン応答SRi_qが無いと判定されたとき、スキャン解析マネージャ12は、IPアドレスAddのq番目のポートがIPアドレスAddの応答ポートリスト(=対応表TBL3)に登録されているか否かを判定する(ステップS5-7)。
【0202】
ステップS5-7において、IPアドレスAddのq番目のポートがIPアドレスAddの応答ポートリスト(=対応表TBL3)に登録されていると判定されたとき、スキャン解析マネージャ12は、m-1回目のネットワークスキャンにおけるIPアドレスAddのq番目のポートの応答に対応した正規化スキャン時刻を取得してtとし、正規化スキャン時刻tが属する時間帯τを式(1)によって算出する(ステップS5-8)。
【0203】
その後、スキャン解析マネージャ12は、式(7)によって、通信的応答率rτ,iおよび通信的累積スキャン回数mτ,iを更新する(ステップS5-9)。
【0204】
そして、ステップS5-6の後、またはステップS5-7において、IPアドレスAddのq番目のポートがIPアドレスAddの応答ポートリスト(=対応表TBL3)に登録されていないと判定されたとき、またはステップS5-9の後、スキャン解析マネージャ12は、q=Mであるか否かを判定する(ステップS5-10)。
【0205】
ステップS5-10において、q=Mでないと判定されたとき、スキャン解析マネージャ12は、q=q+1を設定する(ステップS5-11)。その後、一連の動作は、ステップS5-3へ移行し、ステップS5-10において、q=Mであると判定されるまで、ステップS5-3~ステップS5-11が繰り返し実行される。
【0206】
そして、S5-10において、q=Mであると判定されると、スキャン解析マネージャ12は、i=Nであるか否かを判定する(ステップS5-12)。
【0207】
ステップS5-12において、i=Nでないと判定されたとき、スキャン解析マネージャ12は、i=i+1を設定する(ステップS5-13)。その後、一連の動作は、ステップS5-2へ移行し、ステップS5-12において、i=Nであると判定されるまで、ステップS5-2~ステップS5-13が繰り返し実行される。
【0208】
そして、ステップS5-12において、i=Nであると判定されると、一連の動作は、図13のステップS6へ移行する。
【0209】
図15に示すフローチャートにおいては、スキャン解析マネージャ12は、ステップS5-5において、通信的累積スキャン回数mτ,iおよび通信的スキャン成功回数dτ,iを更新して通信的応答率rτ,iを更新し、その後、ステップS5-6においては、応答ポートリスト(=対応表TBL3)に登録されていないq番目のポートを応答ポートリスト(=対応表TBL3)に登録する。これは、ステップS5-5において、通信的スキャン成功回数dτ,iが更新されたので、スキャン応答SRが返って来たことになり、スキャン応答SRが返って来たポートが応答ポートリスト(=対応表TBL3)に登録されていないとき、スキャン応答SRが返って来たポートを応答が期待できるポートとして応答ポートリスト(=対応表TBL3)に登録することにしたものである(図7参照)。
【0210】
図16は、図13のステップS6の詳細な動作を説明するためのフローチャートである。図16を参照して、図13のステップS3またはステップS5の後、スキャンスケジューラ14は、i=1を設定する(ステップS61)。そして、スキャンスケジューラ14は、ホスト情報データベース13に格納された対応表TBL2-1を参照して、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的応答率rτ,iがしきい値th未満である時間帯を集合Dから除いた集合D’を式(3)によって取得する。即ち、スキャンスケジューラ14は、通信的応答率rτ,iによって時間帯を選出する(ステップS62)。
【0211】
その後、スキャンスケジューラ14は、集合D’が空集合Φでないか否かを判定する(ステップS63)。
【0212】
ステップS63において、集合D’が空集合Φでないと判定されたとき、スキャンスケジューラ14は、ネットワークスキャンの成功回数nτ,iがβ未満である時間帯を式(4)によって集合D’から選出して集合D”を取得する。即ち、スキャンスケジューラ14は、ネットワークスキャンの成功回数nτ,iが足りない時間帯を選出する(ステップS64)。
【0213】
そして、スキャンスケジューラ14は、集合D”が空集合Φであるか否かを判定する(ステップS65)。
【0214】
ステップS65において、集合D”が空集合Φであると判定されたとき、スキャンスケジューラ14は、q=1を設定し(ステップS66)、式(8)によって、推定変数に基づいて推定値Cτを生成する(ステップS67)。
【0215】
そして、スキャンスケジューラ14は、式(9)によって、推定値Cτが最小である時間帯τminを検出する(ステップS68)。
【0216】
そうすると、スキャンスケジューラ14は、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する(ステップS69)。
【0217】
その後、スキャンスケジューラ14は、q=Mであるか否かを判定する(ステップS70)。
【0218】
ステップS70において、q=Mでないと判定されたとき、スキャンスケジューラ14は、q=q+1を設定する(ステップS71)。その後、一連の動作は、ステップS67へ移行し、ステップS70において、q=Mであると判定されるまでステップS67~ステップS71が繰り返し実行される。
【0219】
一方、ステップS65において、集合D”が空集合Φでないと判定されたとき、スキャンスケジューラ14は、q=1を設定し(ステップS72)、集合D”からランダムに時間帯を選択し、その選択した時間帯をτとする(ステップS73)。
【0220】
そして、スキャンスケジューラ14は、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τに設定する(ステップS74)。
【0221】
その後、スキャンスケジューラ14は、q=Mであるか否かを判定する(ステップS75)。
【0222】
ステップS75において、q=Mでないと判定されたとき、スキャンスケジューラ14は、q=q+1を設定する(ステップS76)。その後、一連の動作は、ステップS73へ移行し、ステップS75において、q=Mであると判定されるまでステップS73~ステップS76が繰り返し実行される。
【0223】
そして、ステップS63において、集合D’が空集合Φであると判定されたとき、またはステップS70またはステップS75において、q=Mであると判定されたとき、スキャンスケジューラ14は、i=Nであるか否かを判定する(ステップS77)。
【0224】
ステップS77において、i=Nでないと判定されたとき、スキャンスケジューラ14は、i=i+1を設定する(ステップS78)。その後、一連の動作は、ステップS62へ移行し、ステップS77において、i=Nであると判定されるまで、ステップS62~ステップS78が繰り返し実行される。
【0225】
そして、ステップS77において、i=Nであると判定されると、一連の動作は、図13の“終了”へ移行する。
【0226】
図16に示すフローチャートにおいては、ステップS63において、集合D’が空集合Φであると判定されたとき、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定せずにスキャンスケジュールの設定対象が次のIPアドレスAddi+1に移行する(ステップS63の“NO”→ステップS77の“NO”→ステップS78参照)。これは、通信的応答率rτ,i等の学習が困難である程にデータ(通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,iおよび通信的応答率rτ,i)を収集できないと予想されるので、IPアドレスAddのq番目のポートに対するスキャンスケジュールの設定をスキップすることにしたものである。
【0227】
また、図16に示すフローチャートにおいては、集合D”が空集合Φでないときに集合D”からランダムに選択した時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定するのは(ステップS65の“NO”およびステップS72~ステップS76参照)、次の理由による。
【0228】
集合D’は、[mτ,i<th∧rτ,i<thの時間帯]、[mτ,i<th∧rτ,i≧thの時間帯]および[mτ,i≧th∧rτ,i≧thの時間帯]からなり、集合D”は、集合D’に含まれる時間帯のうち、ネットワークスキャンの成功回数nτ,iがβ未満である時間帯からなるので、ネットワークスキャンの成功回数nτ,iを増やすことによって通信的応答率rτ,iがしきい値th以上になる可能性のある時間帯([mτ,i<th∧rτ,i<thの時間帯])、または通信的応答率rτ,iがしきい値th以上である時間帯([mτ,i<th∧rτ,i≧thの時間帯]および[mτ,i≧th∧rτ,i≧thの時間帯])にIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定されるため、ネットワークスキャンにおける学習速度を向上できる可能性があるためである。
【0229】
更に、図16に示すフローチャートにおいては、ステップS65において集合D”が空集合Φであると判定されたとき、集合D’に含まれる時間帯において、推定値Cτ(スキャン応答遅延)が最小になる時間帯τminにIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS66~ステップS71参照)。従って、ネットワークスキャンにおけるデータ(スキャン応答SR、スキャン応答遅延SRD、通信的累積スキャン回数mτ,i、通信的応答率rτ,iおよび通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義))を迅速に収集でき、学習速度を向上できる。
【0230】
更に、図16に示すフローチャートにおいては、全てのIPアドレスAdd~Addに対して、ステップS63において、集合D’が空集合Φであると判定されるわけではなく、一般的に、IPアドレスAdd~Addのうちのp(pは、1≦p<Nを満たす整数である。)個のIPアドレスAdd~Addに対して、集合D’が空集合Φであると判定される。その結果、スキャンスケジューラ14は、図16に示すフローチャートに従って、p個の端末装置に対してスキャンスケジュールを設定しない処理を実行してN個の端末装置に対してネットワークスキャンを実行するときのスキャンスケジュールを作成する。
【0231】
更に、図16に示すフローチャートにおいては、ステップS65において、集合D”が空集合Φであると判定されたときにステップS67~ステップS69に従って、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定することは、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)がβ以上である時間帯のうちスキャン応答遅延(=推定値Cτ)が最小である時間帯τminにp個の端末装置以外の端末装置のスキャンスケジュールを設定することに相当する。その理由は、次の通りである。ステップS67は、ステップS65において、集合D”が空集合Φであると判定されたときに実行され、集合D”が空集合Φであると判定されることは、集合D’に含まれる時間帯は、全て、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)がβ以上であるからである。また、p個の端末装置は、集合D’が空集合Φである端末装置(即ち、スキャンスケジュールを設定するための時間帯がmτ,i≧th、かつ、rτ,i<thである時間帯のみからなる端末装置)であり、p個の端末装置に対してスキャンスケジュールを設定することはスキップされるので(ステップS63の“NO”→ステップS77参照)、ステップS67~ステップS69においては、p個の端末装置以外の端末装置のスキャンスケジュールが設定されるからである。
【0232】
図17は、図13のステップS6の詳細な動作を説明するための別のフローチャートである。図17に示すフローチャートは、図16に示すフローチャートにステップS79を追加したものであり、その他は、図16に示すフローチャートと同じである。
【0233】
図17を参照して、図13のステップS3またはステップS5の後、上述したステップS61~ステップS63が順次実行される。
【0234】
そして、ステップS63において、集合D’が空集合Φであると判定されると、スキャンスケジューラ14は、集合Dを集合D”とすることによって通信的応答率rτ,iによる時間帯の選出を無効にする(ステップS79)。
【0235】
一方、ステップS63において、集合D’が空集合Φでないと判定されると、上述したステップS64およびステップS65が順次実行される。そして、ステップS65において、集合D”が空集合Φでないと判定されたとき、またはステップS79の後、上述したステップS72が実行され、ステップS75においてq=Mであると判定されるまで、上述したステップS73~ステップS76が繰り返し実行される。
【0236】
一方、ステップS65において、集合D”が空集合Φであると判定されたとき、上述したステップS66が実行され、ステップS70においてq=Mであると判定されるまで、上述したステップS67~ステップS71が繰り返し実行される。
【0237】
そして、ステップS70またはステップS75において、q=Mであると判定されたとき、ステップS77において、i=Nであると判定されるまで、ステップS62~ステップS78,S79が繰り返し実行され、ステップS77において、i=Nであると判定されると、一連の動作は、図13の“終了”へ移行する。
【0238】
図17に示すフローチャートにおいては、ステップS63において、集合D’が空集合Φであると判定されたとき、即ち、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定するための時間帯が通信的応答率rτ,iの低い時間帯(=[mτ,i≧th∧rτ,i<thの時間帯])のみからなると判定されたとき、通信的応答率rτ,iによる時間帯の選出を無効にし(ステップS79参照)、実質的に集合Dからランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74参照)。
【0239】
このように、ステップS79の後にステップS73,S74が実行されるのは、通信的応答率rτ,i等の学習が困難な程にデータ(通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)および通信的応答率rτ,i)を収集できないのであれば、ネットワークスキャンを実行するタイミングを一様にばらつかせることによってネットワークへの負荷が小さいスケジューリングを行うためである。
【0240】
なお、ネットワークスキャンを実行するタイミングを一様にばらつかせた結果、副次的に通信状況が改善され、通信的応答率rτ,iが向上する可能性がある。
【0241】
図17に示すフローチャートは、図16に示すフローチャートにおいて、集合D’が空集合Φであると判定されたとき(ステップS63の“NO”参照)、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する処理をスキップすることに代えて、通信的応答率rτ,iによる時間帯の選出を無効にし(ステップS79参照)、実質的に集合Dからランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する(ステップS73,S74参照)。
【0242】
また、図17に示すフローチャートにおいては、全てのIPアドレスAdd~Addに対して、ステップS63において、集合D’が空集合Φであると判定されるわけではなく、一般的に、IPアドレスAdd~Addのうちのp個のIPアドレスに対して、集合D’が空集合Φであると判定される。その結果、スキャンスケジューラ14は、図17に示すフローチャートに従って、通信的応答率rτ,iによる時間帯の選出を無効して集合Dから選択された時間帯にp個の端末装置のスキャンスケジュールを設定する処理を実行してN個の端末装置に対してネットワークスキャンを実行するときのスキャンスケジュールを作成する。
【0243】
図17に示すフローチャートについてのその他の説明は、図16に示すフローチャートについての説明と同じである。
【0244】
図18は、図13のステップS6の詳細な動作を説明するための更に別のフローチャートである。図18に示すフローチャートは、図16に示すフローチャートにステップS80を追加したものであり、その他は、図16に示すフローチャートと同じである。
【0245】
図18を参照して、図13のステップS3またはステップS5の後、上述したステップS61~ステップS63が順次実行される。
【0246】
そして、ステップS63において、集合D’が空集合Φであると判定されると、スキャンスケジューラ14は、ホスト情報データベース13に格納された対応表TBL2-1を参照して、通信的応答率rτ,iが高い時間帯から順にV個の時間帯を選択し、その選択したV個の時間帯の集合を集合D’とする(ステップS80)。
【0247】
一方、ステップS63において、集合D’が空集合Φでないと判定されたとき、またはステップS80の後、一連の動作は、ステップS64へ移行する。そして、上述したステップS64~ステップS78が順次実行され、ステップS77において、i=Nであると判定されると、一連の動作は、図13の“終了”へ移行する。
【0248】
図18に示すフローチャートにおいては、ステップS80からステップS64へ移行した場合、ステップS64において、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)がβ未満である時間帯がV個の時間帯(集合D’)から選出され、その選出された時間帯が集合D”を構成する。
【0249】
そして、ステップS65において、集合D”が空集合Φであると判定されたとき、V個の時間帯(ステップS80における集合D’)において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS67~ステップS69参照)。即ち、ステップS62における集合D’が空集合Φであるp個の端末装置のスキャンスケジュールが、V個の時間帯(ステップS80における集合D’)において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminに設定される。
【0250】
また、ステップS80からステップS64を経由してステップS65に至り、ステップS65において、集合D”が空集合Φでないと判定されたとき、V個の時間帯(集合D’)のうちのdτ,i<βを満たす時間帯(集合D”)からランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74参照)。
【0251】
更に、図18に示すフローチャートにおいては、ステップS63の“YES”からステップS64へ移行した場合、ステップS64において、通信的スキャン成功回数dτ,iがβ未満である時間帯が集合D’に含まれる時間帯から選出され、その選出された時間帯が集合D”を構成する。そして、ステップS65において、集合D”が空集合Φであると判定されたとき、集合D’に含まれる時間帯において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS67~ステップS69参照)。従って、ステップS63の“YES”からステップS64を経由してステップS65に至り、ステップS65において、集合D”が空集合Φであると判定されたときに、ステップS67~ステップS69に従って、IPアドレスAddのq番目のポートに対するスキャンスケジュールを時間帯τminに設定することは、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)がβ以上である時間帯のうちスキャン応答遅延(=推定値Cτ)が最小である時間帯τminにp個の端末装置以外の端末装置のスキャンスケジュールを設定することに相当する。その理由は、次の通りである。
【0252】
ステップS67は、ステップS65において、集合D”が空集合Φであると判定されたときに実行され、集合D”が空集合Φであると判定されることは、集合D’に含まれる時間帯は、全て、通信的スキャン成功回数dτ,i(ネットワークスキャンの成功回数nτ,iと同義)がβ以上であるからである。また、p個の端末装置は、集合D’が空集合Φである端末装置(即ち、スキャンスケジュールを設定するための時間帯がmτ,i≧th、かつ、rτ,i<thである時間帯のみからなる端末装置)であり、p個の端末装置のスキャンスケジュールは、ステップS80における集合D’に含まれるV個の時間帯のいずれかの時間帯に設定されるので、ステップS63の“YES”→ステップS64→ステップS65の“YES”→ステップS66を経由してステップS67に至ったとき、ステップS67~ステップS69においては、p個の端末装置以外の端末装置のスキャンスケジュールが設定されるからである。
【0253】
更に、ステップS80からステップS64を経由してステップS65に至り、ステップS65において、集合D”が空集合Φでないと判定されたとき、ステップS80における集合D’に含まれる時間帯のうちのnτ,i<βを満たす時間帯(集合D”)からランダムに選択された時間帯τにp個の端末装置の各々のIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74参照)。
【0254】
更に、ステップS63の“YES”→ステップS64を経由してステップS65に至り、ステップS65において、集合D”が空集合Φでないと判定されたとき、ステップS62における集合D’に含まれる時間帯のうちのdτ,i<βを満たす時間帯(集合D”)からランダムに選択された時間帯τにp個の端末装置以外の端末装置の各々のIPアドレスAddのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74参照)。
【0255】
このように、図18に示すフローチャートは、図16に示すフローチャートにおいて、集合D’が空集合Φであると判定されたとき(ステップS63の“NO”参照)、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する処理をスキップすることに代えて、通信的応答率rτ,iが高い時間帯から順にV個の時間帯を選出して集合D’とし(ステップS63の“NO”→ステップS80参照)、V個の時間帯(ステップS80における集合D’)に基づいて生成された集合D”が空集合Φであるか否かに応じて、V個の時間帯(ステップS80における集合D’)において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定し(ステップS67~ステップS69参照)、またはV個の時間帯(ステップS80における集合D’)からランダムに選択した時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する(ステップS72~ステップS76参照)。従って、図18に示すフローチャートに従ってスキャンスケジュールを作成することによってネットワークスキャンにおける通信的応答率rτ,i図16に示すフローチャートに従ってスキャンスケジュールを作成した場合よりも向上できる可能性がある。
【0256】
更に、図18に示すフローチャートにおいては、全てのIPアドレスAdd~Addに対して、ステップS63において、集合D’が空集合Φであると判定されるわけではなく、一般的に、IPアドレスAdd~Addのうちのp個のIPアドレスに対して、集合D’が空集合Φであると判定される。その結果、スキャンスケジューラ14は、図18に示すフローチャートに従って、通信的応答率rτ,iが高い時間帯から順に選出されたV個の時間帯からなる集合D’を取得し、集合D’から選択された時間帯にスキャンスケジュールを設定する処理をp個の端末装置に対して実行してN個の端末装置に対してネットワークスキャンを実行するときのスキャンスケジュールを作成する。
【0257】
図18に示すフローチャートについてのその他の説明は、図16に示すフローチャートについての説明と同じである。
【0258】
この発明の実施の形態においては、ネットワークスキャン装置1の動作は、ソフトウェアによって実行されてもよい。この場合、ネットワークスキャン装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備える。そして、ROMは、図13に示すフローチャート(図14に示すフローチャートと、図15に示すフローチャートと、図16から図18に示すフローチャートのいずれかのフローチャートとを含む)の各ステップからなるプログラムProg_Aを記憶する。
【0259】
CPUは、ROMからプログラムProg_Aを読み出し、その読み出したプログラムProg_Aを実行して、通信的応答率rτ,iに基づいてスキャンスケジュールを作成する。RAMは、正規化スキャン時刻tが存在する時間帯τ、時間帯τminおよび時間帯τ等を一時的に記憶する。
【0260】
また、プログラムProg_Aは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Aを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Aを読み出して実行して、通信的応答率rτ,iに基づいてスキャンスケジュールを作成する。
【0261】
従って、プログラムProg_Aを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0262】
上述したように、実施の形態1においては、スキャンスケジューラ14は、集合D’が空集合Φであるとき、次のいずれかの方策を採用する。
(方策1)IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する処理をスキップする(図16に示すフローチャート参照)。
(方策2)通信的応答率rτ,iによる時間帯の選出を無効にして集合Dからランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する(図17に示すフローチャート参照)。
(方策3)通信的応答率rτ,iが高い時間帯から順にV個の時間帯を選出して集合D’とし、通信的スキャン成功回数dτ,iによってV個の時間帯(集合D’)から選出された集合D”の時間帯において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定し、または集合D”の時間帯からランダムに選択した時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定する(図18に示すフローチャート参照)。
【0263】
そして、方策2は、集合Dからランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定するので、IPアドレスAddのq番目のポートに対するスキャンスケジュールを通信的応答率rτ,iによって選択した時間帯に設定しないことに相当する。つまり、方策2は、mτ,i≧th、かつ、rτ,i<thである時間帯にIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定しないことに相当する。
【0264】
また、方策3は、通信的応答率rτ,iに加え、通信的スキャン成功回数dτ,iを用いて選出された集合D”の時間帯においてスキャン応答遅延が最小である時間帯τmin、または集合D”からランダムに選択された時間帯τにIPアドレスAddのq番目のポートに対するスキャンスケジュールを設定することに相当する。
【0265】
その結果、方策2,3は、集合D’が空集合Φであるとき、IPアドレスAddのq番目のポートに対するスキャンスケジュールを設定するための時間帯を通信的応答率rτ,iのみによって選出しない点で共通する。
【0266】
従って、実施の形態1においては、スキャンスケジューラ14は、通信的応答率rτ,iのみによって選出された時間帯にp個の端末装置のスキャンスケジュールを設定せずにN個の端末装置に対してスキャンスケジュールを作成する。
【0267】
[実施の形態2]
図19は、図1に示すネットワークスキャン装置1の実施の形態2における概略図である。
【0268】
図19を参照して、実施の形態2によるネットワークスキャン装置1Aは、図2に示すネットワークスキャン装置1にクラスタリングマネージャ15およびクラスタリングデータベース16を追加し、スキャンスケジューラ14をスキャンスケジューラ14Aに変えたものであり、その他は、図2に示すネットワークスキャン装置1と同じである。
【0269】
スキャンスケジューラ14Aは、クラスタリングデータベース16に格納されたクラスタを参照して、後述する方法によって、クラスタ毎にスキャンスケジュールを作成し、その作成したスキャンスケジュールをネットワークスキャナ11へ出力し、スキャンスケジュールに従ってネットワークスキャンを実行するようにネットワークスキャナ11を制御する。
【0270】
クラスタリングマネージャ15は、ホスト情報データベース13に格納された対応表TBL1を参照して、後述する方法によって、N個の端末装置をクラスタに分類し、その分類したクラスタをクラスタリングデータベース16に格納する。
【0271】
クラスタリングデータベース16は、クラスタを記憶する。
【0272】
なお、ネットワークスキャン装置1Aは、図11に示すタイミングチャートに従って動作を実行する。
【0273】
図20は、クラスタ化の具体例を示す図である。図21は、クラスタ化の他の具体例を示す図である。
【0274】
図20は、IPアドレスによるクラスタリングの例を示す。企業などのネットワークにおいては、どれだけのエリアにIPアドレスが展開されているかが不明であるが、大学などのネットワークにおいては、例えば、半径数百mの範囲で近いIPアドレスが使用されている。従って、IPアドレスによって、大学のネットワーク内の端末装置を1つのクラスタに分類する。
【0275】
また、セルラーネットワークおよびISPネットワークにおいては、半径数十mの範囲で近いIPアドレスが使用されているので、これらのIPアドレスを有する端末装置を1つのクラスタに分類する。
【0276】
図21は、ドメイン名および無線環境状況に基づくクラスタリングの例を示す。例えば、大学などの狭いエリアでネットワークを展開するドメインをドメイン単位でクラスタ化する。
【0277】
また、企業Aと企業Bのように、空間的には離れているが、類似の無線環境状況にある基地局・アクセスポイント(AP:Access Point)に接続される端末装置を1つのクラスタに分類する。企業A内の端末装置は、企業A内に設置された基地局またはAPとの間で無線通信を行い、企業B内の端末装置は、企業B内に設置された基地局またはAPとの間で無線通信を行うので、企業A内の端末装置および企業B内の端末装置は、類似の無線環境状況にある。クラスタリングマネージャ15は、ドメイン名を参照すれば、企業内に設置された端末装置であるか否かを判別できるので、類似の無線環境状況にある端末装置をクラスタ化できる。
【0278】
図22は、図19に示すクラスタリングデータベース16の概念図である。図22を参照して、クラスタリングデータベース16は、例えば、クラスタAc,Bc,Ccを含む。クラスタAc,Bc,Ccは、IPアドレスによってクラスタ化されたクラスタである。
【0279】
クラスタAcは、相互に近いIPアドレスAdd~Add(eは、2以上の整数)を有するe個の端末装置からなる。クラスタBcは、相互に近いIPアドレスAdd~Addf+b(fは、eと異なる整数、bは、1以上の整数)を有する(b+1)個の端末装置からなる。クラスタCcは、相互に近いIPアドレスAdd~Addg+u(gは、e,fと異なる整数、uは、1以上の整数)を有する(u+1)個の端末装置からなる。
【0280】
なお、図22においては、クラスタリングデータベース16は、IPアドレスによってクラスタ化されたクラスタAc,Bc,Ccを示すが、この発明の実施の形態においては、これに限らず、クラスタリングデータベース16は、ドメイン名によってクラスタ化された複数のクラスタから構成されていてもよく、類似の無線環境状況によってクラスタ化された複数のクラスタから構成されていてもよく、端末装置をランダムに選択して作成された複数のクラスタから構成されていてもよく、一般的には、所定の方法によってクラスタ化された複数のクラスタから構成されていればよい。
【0281】
クラスタリングマネージャ15は、所定の方法によって、ホスト情報データベース13に格納されたN個の端末装置を複数のクラスタに分類し、クラスタリングデータベース16を作成または更新する。
【0282】
[スキャンスケジュールの作成]
実施の形態2におけるスキャンスケジュールを作成する処理について説明する。実施の形態2においても、スキャンスケジュールを作成する処理は、3個のスケジュール作成処理4~6からなる。
【0283】
(4)スケジュール作成処理4
スキャンスケジューラ14Aは、ホスト情報データベース13に格納された対応表TBL2-1およびクラスタリングデータベース16に格納されたクラスタE~ENcを参照して、各クラスタE(jは、1≦j≦Nを満たす整数であり、Nは、クラスタの総数である。)を代表する端末装置のIPアドレスAddを選出する。より具体的には、スキャンスケジューラ14Aは、クラスタE~ENcのうちのクラスタEに含まれる全ての端末装置のIPアドレスAdd1_j~Adds_j(sは、クラスタEに含まれる端末装置の総数である。)を抽出し、対応表TBL2-1を参照して、IPアドレスAdd1_j~Adds_jのうち、通信的累積スキャン回数mτ,iが最小である端末装置のIPアドレスAddi_jをIPアドレスAddとして選出する。即ち、スキャンスケジューラ14Aは、次式によって、IPアドレスAddを選出する。
【0284】
【数10】
【0285】
そして、スキャンスケジューラ14Aは、選出したIPアドレスAddに基づいて、通信的累積スキャン回数mτ,oがしきい値th以上であり、かつ、通信的応答率rτ,oがしきい値th未満である時間帯を集合Dから除いた時間帯の集合D’を取得する。即ち、スキャンスケジューラ14は、次式によって集合D’を取得する。
【0286】
【数11】
【0287】
式(11)は、IPアドレスAddに対応付けられた時間帯において、mτ,o≧th、かつ、rτ,o<thを満たす時間帯を集合Dが除いたものを集合D’とすることを表す。つまり、式(11)は、対応表TBL2-1を参照して、IPアドレスAddに対応付けられた時間帯において、mτ,o≧th、かつ、rτ,o<thを満たす時間帯を選出し、その選出した時間帯を集合Dから除いたものを集合D’とすることを表す。
【0288】
ここで、集合D’は、通信的累積スキャン回数mτ,oがしきい値th未満であり、かつ、通信的応答率rτ,oがしきい値th未満である時間帯と、通信的累積スキャン回数mτ,oがしきい値th未満であり、かつ、通信的応答率rτ,oがしきい値th以上である時間帯と、通信的累積スキャン回数mτ,oがしきい値th以上であり、かつ、通信的応答率rτ,oがしきい値th以上である時間帯とからなる。集合D’が、通信的累積スキャン回数mτ,oがしきい値th未満であり、かつ、通信的応答率rτ,oがしきい値th未満である時間帯と、通信的累積スキャン回数mτ,oがしきい値th未満であり、かつ、通信的応答率rτ,oがしきい値th以上である時間帯とを含むのは、実施の形態1において説明した理由と同じである。
【0289】
スキャンスケジューラ14Aは、集合D’を取得した後、集合D’が空集合Φでないか否かを判定する。そして、スキャンスケジューラ14Aは、集合D’が空集合Φでないと判定したとき、集合D’に含まれる時間帯のうち、ネットワークスキャンのスキャン成功回数nτ,kがβ未満である時間帯の集合D”を取得する。即ち、スキャンスケジューラ14Aは、次式によって集合D”を取得する。
【0290】
【数12】
【0291】
式(12)は、クラスタEに含まれるIPアドレスAddに対応するネットワークスキャンのスキャン成功回数nτ,kにおいて、β未満のネットワークスキャンのスキャン成功回数nτ,kに対応付けられた時間帯を集合D’から選出し、その選出した時間帯を集合D”とすることを表す。つまり、式(12)は、対応表TBL2-1を参照して、IPアドレスAddに対応するネットワークスキャンのスキャン成功回数nτ,kのうち、β未満のスキャン成功回数nτ,kに対応付けられた時間帯を選出し、その選出した時間帯を集合D”とすることを表す。
【0292】
そして、スキャンスケジューラ14Aは、集合D”が空集合Φであるか否かを判定する。スキャンスケジューラ14Aは、集合D”が空集合Φであると判定したとき、ネットワークスキャンのスキャン成功回数nτ,kが最も多い端末装置のIPアドレスAddに対応する推定変数μ’τ,σ’τ,n’τを取得する。即ち、スキャンスケジューラ14Aは、次式によって推定変数μ’τ,σ’τ,n’τを取得する。
【0293】
【数13】
【0294】
そして、スキャンスケジューラ14Aは、スキャン成功回数n’τに定数γを加算して自由度n’τ+γを算出する。定数γは、例えば、-1に設定される。また、スチューデントT分布の自由度は、0よりも大きくなければならないので、γは、-γ<βを満たす。
【0295】
そうすると、スキャンスケジューラ14Aは、自由度n’τ+γ、平均μ’τおよび標準偏差σ’τに基づいて、次式によって、時間帯τにおけるスキャン応答遅延Cτを推定する。即ち、スキャンスケジューラ14Aは、次式によって、推定変数μ’τ,σ’τ,n’τに基づいて推定値(スキャン応答遅延Cτ)を生成する。
【0296】
【数14】
【0297】
このように、スキャンスケジューラ14Aは、Student T分布に従って乱数を発生させて推定値(スキャン応答遅延Cτ)を生成する。
【0298】
引き続いて、スキャンスケジューラ14Aは、式(9)によって、推定値(スキャン応答遅延Cτ)が最小になる時間帯τminを検出する。
【0299】
そうすると、スキャンスケジューラ14Aは、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。なお、この場合、IPアドレス毎にポート数が異なるので、q番目のポートが無いIPアドレスが存在するが、その場合、q番目のポートが有るIPアドレスに対するスキャンスケジュールを時間帯τminに設定する。
【0300】
一方、スキャンスケジューラ14Aは、集合D”が空集合Φでないと判定したとき、集合D”からランダムに選択した時間帯をτとし、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0301】
また、スキャンスケジューラ14Aは、集合D’が空集合Φであると判定したとき、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定しない(即ち、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定する処理をスキップする)。
【0302】
スキャンスケジューラ14Aは、上述した処理を全てのクラスタEおよび全てのIPアドレスAddについて実行する。
【0303】
(5)スケジュール作成処理5
スキャンスケジューラ14Aは、集合D’が空集合Φであるとき、集合Dに含まれる時間帯からなる集合D”(=D)を作成する。
【0304】
そして、スキャンスケジューラ14Aは、集合D”(=D)からランダムに選択した時間帯をτとし、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0305】
また、スキャンスケジューラ14Aは、式(11)に示す集合D”(=式(11))が空集合Φでないとき、集合D”(=式(11))からランダムに選択した時間帯をτとし、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0306】
一方、スキャンスケジューラ14Aは、集合D’が空集合Φでなく、かつ、集合D”(=式(11))が空集合Φであるとき、スケジュール作成処理4における方法と同じ方法によって、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0307】
(6)スケジュール作成処理6
スキャンスケジューラ14Aは、集合D’が空集合Φであるとき、対応表TBL2-1に基づいて、クラスタEに含まれる全ての端末装置のIPアドレスAdd1_j~Adde_jに対応付けられた時間帯から通信的応答率rτ,iの高い順にV個の時間帯を選択し、その選択したV個の時間帯からなる集合を集合D’(V個の時間帯)とする。
【0308】
そして、スキャンスケジューラ14Aは、集合D’(V個の時間帯)に含まれるV個の時間帯のうち、ネットワークスキャンのスキャン成功回数nτ,kがβ未満である時間帯の集合を集合D”(V個の時間帯に由来)とする。
【0309】
そうすると、スキャンスケジューラ14Aは、集合D”(V個の時間帯に由来)が空集合Φであるか否かを判定する。そして、スキャンスケジューラ14Aは、集合D”(V個の時間帯に由来)が空集合Φであると判定したとき、集合D’(V個の時間帯)に含まれるV個の時間帯に基づいて、スケジュール作成処理4における方法と同じ方法によって、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0310】
一方、スキャンスケジューラ14Aは、集合D”(V個の時間帯に由来)が空集合Φでないと判定したとき、集合D”(V個の時間帯に由来)からランダムに選択した時間帯をτとし、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τに設定する。
【0311】
なお、スキャンスケジューラ14Aは、式(11)に示す集合D’が空集合Φでないと判定し、かつ、式(12)に示す集合D”が空集合Φであると判定したとき、式(11)に示す集合D’に基づいて、スケジュール作成処理4における方法と同じ方法によって、クラスタEの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。
【0312】
図23は、図19に示すネットワークスキャン装置1Aの動作を説明するためのフローチャートである。
【0313】
なお、図23においては、N個の端末装置がクラスタに分類されていることを前提として、ネットワークスキャン装置1Aの動作を説明する。
【0314】
図23に示すフローチャートは、図13に示すフローチャートのステップS6をステップS6Aに変えたものであり、その他は、図13に示すフローチャートと同じである。
【0315】
図23を参照して、ネットワークスキャン装置1Aの動作が開始されると、上述したステップS1~ステップS5が順次実行される。
【0316】
そして、ステップS3またはステップS5の後、スキャンスケジューラ14Aは、スケジューリングを実行する(ステップS6A)。これによって、ネットワークスキャン装置1Aの動作が終了する。
【0317】
図24は、図23のステップS6Aの詳細な動作を説明するためのフローチャートである。
【0318】
図24に示すフローチャートは、図16に示すフローチャートのステップS61をステップS101,S102に変え、図16に示すフローチャートのステップS62をステップS62Aに変え、図16に示すフローチャートのステップS64をステップS64Aに変え、ステップS103を追加し、図16に示すフローチャートのステップS67,S69,S70,S77,S78をそれぞれステップS67A,S69A,S70A,S77A,S78Aに変えたものであり、その他は、図16に示すフローチャートと同じである。
【0319】
図24を参照して、図23のステップS3またはステップS5の後、スキャンスケジューラ14Aは、j=1を設定する(ステップS101)。ここで、jは、クラスタを示す引数であり、1,2,・・・,Nからなる。Nは、クラスタの総数であり、1以上の整数である。
【0320】
ステップS101の後、スキャンスケジューラ14Aは、式(10)によって、クラスタjから通信的応答率を評価するための代表となるIPアドレスAddを選出する(ステップS102)。
【0321】
そして、スキャンスケジューラ14Aは、式(11)によって、通信的応答率に基づいて時間帯を選出し、集合D’を取得する(ステップS62A)。
【0322】
その後、上述したステップS63が実行される。そして、ステップS63において、集合D’が空集合Φでないと判定されたとき、式(12)によって、ネットワークスキャンのスキャン成功回数nτ,kが足りない時間帯を選出し、集合D”を取得する(ステップS64A)。
【0323】
そして、上述したステップS65が実行される。ステップS65において、集合D”が空集合Φであると判定されたとき、上述したステップS66が実行される。
【0324】
その後、スキャンスケジューラ14Aは、式(13)によって、クラスタjから推定変数μ’τ,σ’τ,n’τを取得し(ステップS103)、その取得した推定変数μ’τ,σ’τ,n’τに基づいて、式(14)によって推定値Cτを生成する(ステップS67A)。
【0325】
そして、上述したステップS68が実行された後、スキャンスケジューラ14Aは、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する(ステップS69A)。
【0326】
その後、スキャンスケジューラ14Aは、q=M maxであるか否かを判定する(ステップS70A)。ここで、M maxは、クラスタj内の各IPアドレスのポート番号の最大値である。
【0327】
ステップS70Aにおいて、q=M maxでないと判定されたとき、上述したステップS71が実行される。その後、一連の動作は、ステップS103へ移行し、ステップS70Aにおいて、q=M maxであると判定されるまで、ステップS103,S67A,S68,S69A,S70A,S71が繰り返し実行される。
【0328】
一方、ステップS65において、集合D”が空集合Φでないと判定されたとき、上述したステップS72,S73が順次実行された後に、スキャンスケジューラ14Aは、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τに設定する(ステップS74A)。
【0329】
そして、スキャンスケジューラ14Aは、q=M maxであるか否かを判定する(ステップS75A)。
【0330】
ステップS75Aにおいて、q=M maxでないと判定されたとき、上述したステップS76が実行される。その後、一連の動作は、ステップS73へ移行し、ステップS75Aにおいて、q=M maxであると判定されるまで、ステップS73,S74A,S75A,S76が繰り返し実行される。
【0331】
そして、ステップS63において、集合D’が空集合Φであると判定されたとき、またはステップS70AまたはステップS75Aにおいてq=M maxであると判定されたとき、スキャンスケジューラ14Aは、j=Nであるか否かを判定する(ステップS77A)。
【0332】
ステップS77Aにおいて、j=Nでないと判定されたとき、スキャンスケジューラ14Aは、j=j+1を設定する(ステップS78A)。その後、一連の動作は、ステップS102へ移行し、ステップS77Aにおいて、j=Nであると判定されるまで、ステップS102,S62A,S63,S64A,S65,S66,S103,S67A,S68,S69A,S70A,S71~S73,S74A,S75A,S76,S77A,S78Aが繰り返し実行される。
【0333】
そして、ステップS77Aにおいて、j=Nであると判定されると、一連の動作は、図23の“終了”へ移行する。
【0334】
図24に示すフローチャートにおいては、各クラスタjから代表となる端末装置のIPアドレスAddを選出し、その選択したIPアドレスAddに対して実行されたネットワークスキャンの時間帯(=集合D’の時間帯)において、クラスタj毎に、全てのIPアドレスのq番目のポートに対するスキャンスケジュールが時間帯τminまたは時間帯τに設定される(ステップS69A,S74A参照)。
【0335】
また、図24に示すフローチャートにおいては、ステップS63において、集合D’が空集合Φであると判定されたとき、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定せずにスキャンスケジュールの設定対象が次のクラスタj+1に移行する(ステップS63の“NO”→ステップS77Aの“NO”→ステップS78A参照)。これは、通信的応答率rτ,i等の学習が困難である程に通信的累積スキャン回数mτ,i、通信的スキャン成功回数dτ,i(ネットワークスキャンのスキャン成功回数nτ,kと同義)および通信的応答率rτ,iを収集できないと予想されるので、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールの設定をスキップすることにしたものである。
【0336】
図24に示すフローチャートについてのその他の説明は、図16に示すフローチャートについての説明と同じである。
【0337】
図25は、図23のステップS6Aの詳細な動作を説明するための別のフローチャートである。
【0338】
図25に示すフローチャートは、図24に示すフローチャートに図17のステップS79を追加したものであり、その他は、図24に示すフローチャートと同じである。
【0339】
図25を参照して、図23のステップS3またはステップS5の後、上述したステップS101,S102,S62A,S63が順次実行される。
【0340】
そして、ステップS63において、集合D’が空集合Φであると判定されると、上述したステップS79が実行される。
【0341】
一方、ステップS63において、集合D’が空集合Φでないと判定されると、上述したステップS64A,S65が順次実行される。
【0342】
そして、ステップS65において、集合D”が空集合Φでないと判定されたとき、またはステップS79の後、上述したステップS72が実行され、その後、上述したステップS75Aにおいてq=M maxであると判定されるまで、上述したステップS73,S74A,S75A,S76が繰り返し実行される。
【0343】
一方、ステップS65において、集合D”が空集合Φであると判定されたとき、上述したステップS66が実行され、その後、上述したステップS70Aにおいて、q=M maxであると判定されるまで、上述したステップS103,S67A,S68,S69A,S70A,S71が繰り返し実行される。
【0344】
そして、ステップS70AまたはステップS75Aにおいて、q=M maxであると判定されると、上述したステップS77A,S78Aが順次実行され、ステップS77Aにおいて、j=Nであると判定されるまで、ステップS102,S62A,S63,S64A,S65,S66,S103,S67A,S68,S69A,S70A,S71,S79,S72,S73,S74A,S75A,S76,S77A,S78Aが繰り返し実行される。そして、ステップS77Aにおいて、j=Nであると判定されると、一連の動作は、図23の“終了”へ移行する。
【0345】
図25に示すフローチャートにおいては、ステップS63において、集合D’が空集合Φであると判定されたとき、即ち、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定するための時間帯が通信的応答率rτ,iの低い時間帯(=[mτ,o≧th∧rτ,o<thの時間帯])のみからなると判定されたとき、通信的応答率rτ,oによる時間帯の選出を無効にし(ステップS79参照)、実質的に集合Dからランダムに選択された時間帯τにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74A参照)。
【0346】
従って、ステップS79の後にステップS73,S74Aが実行される場合、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールは、設定されたことが無い時間帯(即ち、通信的応答率rτ,oが未知である時間帯)に設定される可能性があるので、通信的応答率rτ,oを向上できる可能性がある。
【0347】
このように、図25に示すフローチャートは、図24に示すフローチャートにおいて、集合D’が空集合Φであると判定されたとき(ステップS63の“NO”参照)、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定する処理をスキップすることに代えて、通信的応答率rτ,oによる時間帯の選出を無効にし(ステップS79参照)、実質的に集合Dからランダムに選択された時間帯τにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定する(ステップS73,S74A参照)。図25に示すフローチャートについてのその他の説明は、図17および図24に示すフローチャートについての説明と同じである。
【0348】
図26は、図23のステップS6Aの詳細な動作を説明するための更に別のフローチャートである。
【0349】
図26に示すフローチャートは、図24に示すフローチャートに図18のステップS80を追加したものであり、その他は、図24に示すフローチャートと同じである。
【0350】
図26を参照して、図23のステップS3またはステップS5の後、上述したステップS101,S102,S62A,S63が順次実行される。
【0351】
そして、ステップS63において、集合D’が空集合Φであると判定されると、上述したステップS80が実行される。
【0352】
一方、ステップS63において、集合D’が空集合Φでないと判定されると、上述したステップS64A,S65が順次実行される。
【0353】
そして、ステップS65において、集合D”が空集合Φでないと判定されたとき、上述したステップS72が実行され、その後、上述したステップS75Aにおいてq=M maxであると判定されるまで、上述したステップS73,S74A,S75A,S66が繰り返し実行される。
【0354】
一方、ステップS65において、集合D”が空集合Φであると判定されたとき、上述したステップS66が実行され、その後、上述したステップS70Aにおいて、q=M maxであると判定されるまで、上述したステップS103,S67A,S68,S69A,S70A,S71が繰り返し実行される。
【0355】
そして、ステップS70AまたはステップS75Aにおいて、q=M maxであると判定されると、上述したステップS77A,S78Aが実行され、ステップS77Aにおいて、j=Nであると判定されるまで、ステップS102,S62A,S63,S80,S64A,S65,S66,S103,S67A,S68,S69A,S70A,S71,S72,S73,S74A,S75A,S76,S77A,S78Aが繰り返し実行される。そして、ステップS77Aにおいて、j=Nであると判定されると、一連の動作は、図23の“終了”へ移行する。
【0356】
図26に示すフローチャートにおいては、ステップS80からステップS64Aへ移行した場合、ステップS64Aにおいて、ネットワークスキャンのスキャン成功回数nτ,kがβ未満である時間帯がV個の時間帯(集合D’)から選出され、その選出された時間帯が集合D”を構成する。
【0357】
そして、ステップS65において、集合D”が空集合Φであると判定されたとき、V個の時間帯(集合D’)において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールが設定される(ステップS67A、ステップS68およびステップS69A参照)。
【0358】
また、ステップS65において、集合D”が空集合Φでないと判定されたとき、V個の時間帯(集合D’)のうちのnτ,k<βを満たす時間帯(集合D”)からランダムに選択された時間帯τにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74A参照)。
【0359】
更に、図26に示すフローチャートにおいては、ステップS63の“YES”からステップS64Aへ移行した場合、ステップS64Aにおいて、通信的スキャン成功回数dτ,k(ネットワークスキャンのスキャン成功回数nτ,kと同義)がβ未満である時間帯が集合D’に含まれる時間帯から選出され、その選出された時間帯が集合D”を構成する。
【0360】
そして、ステップS65において、集合D”が空集合Φであると判定されたとき、集合D’に含まれる時間帯において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールが設定される(ステップS67A、ステップS68およびステップS69A参照)。
【0361】
また、ステップS65において、集合D”が空集合Φでないと判定されたとき、集合D’に含まれる時間帯のうちのnτ,k<βを満たす時間帯(集合D”)からランダムに選択された時間帯τにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールが設定される(ステップS73,S74A参照)。
【0362】
このように、図26に示すフローチャートは、図24に示すフローチャートにおいて、集合D’が空集合Φであると判定されたとき(ステップS63の“NO”参照)、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定する処理をスキップすることに代えて、通信的応答率rτ,oが高い時間帯から順にV個の時間帯を選出して集合D’とし(ステップS63の“NO”→ステップS80参照)、V個の時間帯(集合D’)に基づいて生成された集合D”が空集合Φであるか否かに応じて、V個の時間帯(集合D’)において、推定値Cτ(スキャン応答遅延)が最小である時間帯τminにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定し(ステップS67A、ステップS68およびステップS69A参照)、またはV個の時間帯(集合D’)からランダムに選択した時間帯τにクラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを設定する(ステップS72,S73,S74A,S75A,S76参照)。従って、図26に示すフローチャートに従ってスキャンスケジュールを作成することによってネットワークスキャンにおける通信的応答率rτ,o図24に示すフローチャートに従ってスキャンスケジュールを作成した場合よりも向上できる可能性がある。
【0363】
図26に示すフローチャートについてのその他の説明は、図18および図24に示すフローチャートについての説明と同じである。
【0364】
この発明の実施の形態においては、ネットワークスキャン装置1Aの動作は、ソフトウェアによって実行されてもよい。この場合、ネットワークスキャン装置1Aは、CPU、ROMおよびRAMを備える。そして、ROMは、図23に示すフローチャート(図14に示すフローチャートと、図15に示すフローチャートと、図24から図26に示すフローチャートのいずれかのフローチャートとを含む)の各ステップからなるプログラムProg_Bを記憶する。
【0365】
CPUは、ROMからプログラムProg_Bを読み出し、その読み出したプログラムProg_Bを実行して、通信的応答率rτ,iに基づいてクラスタ毎にスキャンスケジュールを作成する。RAMは、正規化スキャン時刻tが存在する時間帯τ、時間帯τminおよび時間帯τ等を一時的に記憶する。
【0366】
また、プログラムProg_Bは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_Bを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_Bを読み出して実行して、通信的応答率rτ,iに基づいてクラスタ毎にスキャンスケジュールを作成する。
【0367】
従って、プログラムProg_Bを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0368】
上述した実施の形態2においては、スキャンスケジューラ14Aは、各クラスタjから代表となる端末装置(IPアドレスAddを有する端末装置)を用いて集合Dから集合D’を取得することを除いて、集合D’が空集合Φであるとき、実施の形態1において説明した方策1~方策3を実行する。
【0369】
従って、実施の形態2においては、スキャンスケジューラ14Aは、1個のクラスタjに含まれる全ての端末装置のスキャンスケジュールを1つの時間帯に設定することをN個のクラスタの全てについて実行することによってN個の端末装置のスキャンスケジュールを作成し、1個のクラスタに含まれる端末装置を代表する端末装置(IPアドレスAddを有する端末装置)がp個の端末装置に含まれるとき、代表の端末装置(IPアドレスAddを有する端末装置)を含むクラスタ内の全ての端末装置のスキャンスケジュールを通信的応答率rτ,oのみによって選出された時間帯に設定せずにN個の端末装置のスキャンスケジュールを作成する。
【0370】
この発明の実施の形態においては、ホスト情報データベース13は、対応表TBL2-1を記憶する「記憶手段」または「記憶装置」を構成する。
【0371】
また、この発明の実施の形態においては、対応表TBL2-1を更新するスキャン解析マネージャ12は、「更新手段」を構成する。
【0372】
更に、この発明の実施の形態においては、しきい値thは、「第1のしきい値」を構成し、しきい値thは、「第2のしきい値」を構成し、βは、「第3のしきい値」を構成する。そして、集合D’が空集合ΦであるIPアドレスAddを有する端末装置は、通信的累積スキャン回数mτ,iがしきい値th以上であり、かつ、通信的スキャン成功回数dτ,iがしきい値th未満である第1の時間帯以外の時間帯がスキャンスケジュールを設定するための時間帯として存在しない「p個の端末装置」を構成する。また、図16から図18および図24から図26のフローチャートのステップS63において、集合D’が空集合Φであると判定するスキャンスケジューラ14(またはスキャンスケジューラ14A)は、p個の端末装置を検出する「検出手段」を構成する。
【0373】
更に、この発明の実施の形態においては、図16から図18に示すフローチャートのステップS64~S71、またはステップS72~ステップS76に従ってスキャンスケジュールを設定するスキャンスケジューラ14、または図24から図26に示すフローチャートのステップS64A,S65,S66,S103,S67A,S68,S69A,S70A,S71、またはステップS72,S73,S74A,S75A,S76に従ってスキャンスケジュールを時間帯τminまたは時間帯τに設定するスキャンスケジューラ14Aは、「スケジュール作成手段」を構成する。
【0374】
更に、この発明の実施の形態においては、図16に示すフローチャートのステップS63において、集合D’が空集合であると判定するとともに、その後、ステップS77を実行する処理、または図24に示すフローチャートのステップS63において、集合D’が空集合であると判定するとともに、その後、ステップS77Aを実行する処理は、p個の端末装置に対してスキャンスケジュールを設定しない「第1の処理」を構成する。
【0375】
更に、この発明の実施の形態においては、図17に示すフローチャートのステップS79,S72~ステップS76に従ってスキャンスケジュールを設定する処理、または図18に示すフローチャートのステップS80,S64,S65,S72~S76に従ってスキャンスケジュールを設定する処理、または図25に示すフローチャートのステップS79,S72,S73,S74A,S75A,S76に従ってスキャンスケジュールを設定する処理、または図26に示すフローチャートのステップS80,S64A,S65,S72,S73,S74A,S75A,S76に従ってスキャンスケジュールを設定する処理は、通信的応答率rτ,i(または通信的応答率rτ,o)および通信的スキャン成功回数dτ,i(またはdτ,k)を用いて選出した時間帯にp個の端末装置のスキャンスケジュールを設定する「第2の処理」を構成する。
【0376】
更に、この発明の実施の形態においては、N個の端末装置をN個のクラスタに分類するクラスタリングマネージャ15は、「分類手段」を構成する。
【0377】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0378】
この発明は、ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【符号の説明】
【0379】
1,1A ネットワークスキャン装置、10 通信システム、11 ネットワークスキャナ、12 スキャン解析マネージャ、13 ホスト情報データベース、14,14A スキャンスケジューラ、15 クラスタリングマネージャ、16 クラスタリングデータベース、20 スキャン対象ネットワーク、30 ユーザ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26