(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-19
(45)【発行日】2024-09-30
(54)【発明の名称】ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
G06F 9/48 20060101AFI20240920BHJP
G06F 11/34 20060101ALI20240920BHJP
【FI】
G06F9/48 300H
G06F11/34 119
(21)【出願番号】P 2020153049
(22)【出願日】2020-09-11
【審査請求日】2023-08-03
【新規性喪失の例外の表示】特許法第30条第2項適用 電子情報通信学会信学技報,vol.119,no.344,NS2019-142,pp.45-49
【新規性喪失の例外の表示】特許法第30条第2項適用 International Conference on Advanced Communications Technology(ICACT),p319-323
【新規性喪失の例外の表示】特許法第30条第2項適用 SmartCom 2019@Rutgers University Inn & Conference Center,November 4&5,2019
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「周波数有効利用のためのIoTワイヤレス高効率広域ネットワークスキャン技術の研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100112715
【氏名又は名称】松山 隆夫
(72)【発明者】
【氏名】栗原 拓哉
(72)【発明者】
【氏名】矢野 一人
(72)【発明者】
【氏名】鈴木 義規
【審査官】田中 幸雄
(56)【参考文献】
【文献】特開2015-207150(JP,A)
【文献】特開2020-141242(JP,A)
【文献】特開平7-231461(JP,A)
【文献】国際公開第2011/158407(WO,A1)
【文献】栗原拓哉ほか,整数計画法を用いたスキャンタイミングスケジューリングのクラスタリングによる計算量削減,電子情報通信学会2019年通信ソサイエティ大会講演論文集2,日本,一般社団法人電子情報通信学会,2019年08月27日,6ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/48
G06F 11/34
G06F 13/00
H04L 43/00
(57)【特許請求の範囲】
【請求項1】
複数の端末装置を所定の方法によって分類して複数の初期クラスタを作成するクラスタ処理を実行する分類手段と、
前記端末装置に対してネットワークスキャンを実行するスキャンスケジュールが最も集中する時間帯である集中時間帯が同じである複数のクラスタを合体して複数の第1のクラスタから複数の第2のクラスタを作成する処理である再クラスタリング処理を繰り返し実行する再分類手段と、
前記複数の第2のクラスタが作成される毎に、1つの前記第2のクラスタに含まれる端末装置に対してネットワークスキャンを実行するタイミングを前記ネットワークスキャンにおけるスキャン応答遅延が最小である最小時間帯に設定するスケジュール作成処理を前記複数の第2のクラスタの全てについて実行して前記スキャンスケジュールを作成するスケジュール作成手段とを備え、
前記複数の第1のクラスタは、前記複数の初期クラスタまたはN
recls(N
reclsは、1以上の整数)回目の前記再クラスタリング処理が実行された後の複数のクラスタからなり、
前記複数の第2のクラスタは、前記再クラスタリング処理によって前記複数の第1のクラスタから作成された複数のクラスタからなる、ネットワークスキャン装置。
【請求項2】
前記複数の第1のクラスタからN
p(N
pは、1以上の整数)個の端末装置を抽出して各々が1個の端末装置からなるN
p個の抽出クラスタを作成する抽出処理を前記複数の初期クラスタが作成されたときまたは前記再クラスタリング処理が実行される毎に実行する抽出手段と、
前記複数の第1のクラスタから前記N
p個の端末装置を削除した複数のクラスタからなる複数の第3のクラスタと前記N
p個の抽出クラスタとの全てのクラスタについて作成された前記スキャンスケジュールに基づいて、前記N
p個の抽出クラスタと前記複数の第3のクラスタとの間で前記集中時間帯が同じであり、かつ、各々が前記抽出クラスタおよび前記第3のクラスタからなる少なくとも1つのクラスタ群を検出する検出処理を前記抽出処理が実行される毎に実行する検出手段を更に備え、
前記スケジュール作成手段は、前記複数の第3のクラスタおよび前記N
p個の抽出クラスタが作成される毎に、前記複数の第3のクラスタおよび前記N
p個の抽出クラスタの各々のクラスタに対して前記スケジュール作成処理を実行して前記複数の第3のクラスタおよび前記N
p個の抽出クラスタの全てのクラスタについて前記スキャンスケジュールを作成し、
前記再分類手段は、前記検出処理が実行される毎に、前記再クラスタリング処理において、前記少なくとも1つのクラスタ群の各々のクラスタ群に含まれる前記抽出クラスタと前記第3のクラスタとを合体する処理を前記少なくとも1つのクラスタ群の全てについて実行する、請求項1に記載のネットワークスキャン装置。
【請求項3】
前記再分類手段は、前記再クラスタリング処理において、1つの前記クラスタ群に含まれる前記第3のクラスタの個数が複数個であるとき、クラスタサイズが最小である前記第3のクラスタと前記第1の抽出クラスタとを合体する、請求項2に記載のネットワークスキャン装置。
【請求項4】
前記再分類手段は、前記再クラスタリング処理において、前記1つのクラスタ群に含まれる前記第3のクラスタの個数が複数個であるとき、クラスタサイズが最小であり、かつ、クラスタサイズの上限値よりも小さい前記第3のクラスタと前記第1の抽出クラスタとを合体する、請求項3に記載のネットワークスキャン装置。
【請求項5】
前記検出手段は、更に、前記集中時間帯が前記複数の第3のクラスタの全てのクラスタとの間で一致しない不一致クラスタを前記N
p個の抽出クラスタから検出し、
前記再分類手段は、前記再クラスタリング処理において、更に、前記不一致クラスタを前記複数の第3のクラスタの各々のクラスタと合体せずに、前記不一致クラスタを含めて前記複数の第2のクラスタを作成する、請求項2から請求項4のいずれか1項に記載のネットワークスキャン装置。
【請求項6】
前記抽出手段は、前記複数の第1のクラスタのうち、各々が2個以上の前記端末装置を含む少なくとも1つの前記第1のクラスタから前記N
p個の端末装置を抽出して前記N
p個の抽出クラスタを作成する、請求項2から請求項5のいずれか1項に記載のネットワークスキャン装置。
【請求項7】
前記再クラスタリング処理が実行される毎に、クラスタサイズがクラスタサイズの下限値よりも小さい第1の結合用クラスタと、前記集中時間帯が前記第1の結合用クラスタと同じであり、かつ、クラスタサイズが前記クラスタサイズの下限値以上である第2の結合用クラスタとを前記複数の第2のクラスタから検出し、前記第1の結合用クラスタを構成する端末装置を前記第2の結合用クラスタに追加して前記第1の結合用クラスタと前記第2の結合用クラスタとを結合する結合処理を実行する結合手段を更に備える、請求項1から請求項6のいずれか1項に記載のネットワークスキャン装置。
【請求項8】
前記再クラスタリング処理が実行される毎に、前記複数の第2のクラスタの個数がクラスタの最大数よりも大きいとき、前記集中時間帯が他の前記第2のクラスタと同じであり、かつ、前記複数の第2のクラスタのうちでクラスタサイズが最も小さい第1の調整用クラスタと、前記集中時間帯が前記第1の調整用クラスタと同じであり、かつ、前記第1の調整用クラスタと異なる第2の調整用クラスタとを前記複数の第2のクラスタから検出し、前記第1の調整用クラスタを構成する端末装置を前記第2の調整用クラスタに追加するとともに前記第1の調整用クラスタを削除して前記複数の第2のクラスタの個数を減少することによって前記複数の第2のクラスタの個数を調整する個数調整処理を実行する第1の調整手段を更に備える、請求項1から請求項7のいずれか1項に記載のネットワークスキャン装置。
【請求項9】
前記分類手段は、前記端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別が同じである端末装置に対して前記クラスタ処理を実行して前記複数の第1のクラスタに代えて複数の第4のクラスタを作成することを全ての前記ネットワーク種別について実行し、
前記再分類手段は、前記再クラスタリング処理において、前記複数の第4のクラスタから前記複数の第2のクラスタに代えて複数の第5のクラスタを作成することを前記全てのネットワーク種別について実行し、
前記抽出手段は、前記抽出処理を前記全てのネットワーク種別に対応して作成された全ての前記複数の第4のクラスタについて実行し、
前記検出手段は、前記検出処理を前記全てのネットワーク種別に対応して作成された前記全ての複数の第4のクラスタについて実行する、請求項2から請求項8のいずれか1項に記載のネットワークスキャン装置。
【請求項10】
前記端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別を推定する推定手段を更に備え、
前記ネットワーク種別は、前記推定手段によって推定された推定ネットワーク種別である、請求項9に記載のネットワークスキャン装置。
【請求項11】
前記複数の端末装置のうちの1個の端末装置が属する前記推定ネットワーク種別が、前記1個の端末装置が属する記録済のネットワーク種別と異なるとき、前記記録済のネットワーク種別に属する前記1個の端末装置からなるクラスタを前記推定ネットワーク種別に対応して作成された前記複数の第4のクラスタに追加するクラスタ調整処理を前記推定ネットワーク種別が前記記録済のネットワーク種別と異なる端末装置の全てについて実行する第2の調整手段を更に備え、
前記検出手段は、前記クラスタ調整処理が実行された後に、前記検出処理を前記全ての推定ネットワーク種別に対応して作成された前記全ての複数の第4のクラスタについて実行する、請求項10に記載のネットワークスキャン装置。
【請求項12】
分類手段が、複数の端末装置を所定の方法によって分類して複数の初期クラスタを作成するクラスタ処理を実行する第1のステップと、
再分類手段が、前記端末装置に対してネットワークスキャンを実行するスキャンスケジュールが最も集中する時間帯である集中時間帯が同じである複数のクラスタを合体して複数の第1のクラスタから複数の第2のクラスタを作成する処理である再クラスタリング処理を繰り返し実行する第2のステップと、
スケジュール作成手段が、前記複数の第2のクラスタが作成される毎に、1つの前記第2のクラスタに含まれる端末装置に対してネットワークスキャンを実行するタイミングを前記ネットワークスキャンにおけるスキャン応答遅延が最小である最小時間帯に設定するスケジュール作成処理を前記複数の第2のクラスタの全てについて実行して前記スキャンスケジュールを作成する第3のステップとをコンピュータに実行させ、
前記複数の第1のクラスタは、前記複数の初期クラスタまたはN
recls(N
reclsは、1以上の整数)回目の前記再クラスタリング処理が実行された後の複数のクラスタからなり、
前記複数の第2のクラスタは、前記再クラスタリング処理によって前記複数の第1のクラスタから作成された複数のクラスタからなる、コンピュータに実行させるためのプログラム。
【請求項13】
抽出手段が、前記複数の第1のクラスタからN
p(N
pは、1以上の整数)個の端末装置を抽出して各々が1個の端末装置からなるN
p個の抽出クラスタを作成する抽出処理を前記複数の初期クラスタが作成されたときまたは前記再クラスタリング処理が実行される毎に実行する第4のステップと、
検出手段が、前記複数の第1のクラスタから前記N
p個の端末装置を削除した複数のクラスタからなる複数の第3のクラスタと前記N
p個の抽出クラスタとの全てのクラスタについて作成された前記スキャンスケジュールに基づいて、前記N
p個の抽出クラスタと前記複数の第3のクラスタとの間で前記集中時間帯が同じであり、かつ、各々が前記抽出クラスタおよび前記第3のクラスタからなる少なくとも1つのクラスタ群を検出する検出処理を前記抽出処理が実行される毎に実行する第5のステップとを更にコンピュータに実行させ、
前記スケジュール作成手段は、前記第3のステップにおいて、前記複数の第3のクラスタおよび前記N
p個の抽出クラスタが作成される毎に、前記複数の第3のクラスタおよび前記N
p個の抽出クラスタの各々のクラスタに対して前記スケジュール作成処理を実行して前記複数の第3のクラスタおよび前記N
p個の抽出クラスタの全てのクラスタについて前記スキャンスケジュールを作成し、
前記再分類手段は、前記第2のステップにおいて、前記検出処理が実行される毎に、前記再クラスタリング処理において、前記少なくとも1つのクラスタ群の各々のクラスタ群に含まれる前記抽出クラスタと前記第3のクラスタとを合体する処理を前記少なくとも1つのクラスタ群の全てについて実行する、請求項12に記載のコンピュータに実行させるためのプログラム。
【請求項14】
前記再分類手段は、前記第2のステップにおいて、前記再クラスタリング処理において、1つの前記クラスタ群に含まれる前記第3のクラスタの個数が複数個であるとき、クラスタサイズが最小である前記第3のクラスタと前記第1の抽出クラスタとを合体する、請求項13に記載のコンピュータに実行させるためのプログラム。
【請求項15】
前記再分類手段は、前記第2のステップにおいて、前記再クラスタリング処理において、前記1つのクラスタ群に含まれる前記第3のクラスタの個数が複数個であるとき、クラスタサイズが最小であり、かつ、クラスタサイズの上限値よりも小さい前記第3のクラスタと前記第1の抽出クラスタとを合体する、請求項14に記載のコンピュータに実行させるためのプログラム。
【請求項16】
前記検出手段は、前記第5のステップにおいて、更に、前記集中時間帯が前記複数の第3のクラスタの全てのクラスタとの間で一致しない不一致クラスタを前記N
p個の抽出クラスタから検出し、
前記再分類手段は、前記第2のステップの前記再クラスタリング処理において、更に、前記不一致クラスタを前記複数の第3のクラスタの各々のクラスタと合体せずに、前記不一致クラスタを含めて前記複数の第2のクラスタを作成する、請求項13から請求項15のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項17】
前記抽出手段は、前記第4のステップにおいて、前記複数の第1のクラスタのうち、各々が2個以上の前記端末装置を含む少なくとも1つの前記第1のクラスタから前記N
p個の端末装置を抽出して前記N
p個の抽出クラスタを作成する、請求項13から請求項16のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項18】
結合手段が、前記再クラスタリング処理が実行される毎に、クラスタサイズがクラスタサイズの下限値よりも小さい第1の結合用クラスタと、前記集中時間帯が前記第1の結合用クラスタと同じであり、かつ、クラスタサイズが前記クラスタサイズの下限値以上である第2の結合用クラスタとを前記複数の第2のクラスタから検出し、前記第1の結合用クラスタを構成する端末装置を前記第2の結合用クラスタに追加して前記第1の結合用クラスタと前記第2の結合用クラスタとを結合する結合処理を実行する第6のステップを更にコンピュータに実行させる、請求項12から請求項17のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項19】
第1の調整手段が、前記再クラスタリング処理が実行される毎に、前記複数の第2のクラスタの個数がクラスタの最大数よりも大きいとき、前記集中時間帯が他の前記第2のクラスタと同じであり、かつ、前記複数の第2のクラスタのうちでクラスタサイズが最も小さい第1の調整用クラスタと、前記集中時間帯が前記第1の調整用クラスタと同じであり、かつ、前記第1の調整用クラスタと異なる第2の調整用クラスタとを前記複数の第2のクラスタから検出し、前記第1の調整用クラスタを構成する端末装置を前記第2の調整用クラスタに追加するとともに前記第1の調整用クラスタを削除して前記複数の第2のクラスタの個数を減少することによって前記複数の第2のクラスタの個数を調整する個数調整処理を実行する第7のステップを更にコンピュータに実行させる、請求項12から請求項18のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項20】
前記分類手段は、前記第1のステップにおいて、前記端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別が同じである端末装置に対して前記クラスタ処理を実行して前記複数の第1のクラスタに代えて複数の第4のクラスタを作成することを全ての前記ネットワーク種別について実行し、
前記再分類手段は、前記第2のステップの前記再クラスタリング処理において、前記複数の第4のクラスタから前記複数の第2のクラスタに代えて複数の第5のクラスタを作成することを前記全てのネットワーク種別について実行し、
前記抽出手段は、前記第4のステップにおいて、前記抽出処理を前記全てのネットワーク種別に対応して作成された全ての前記複数の第4のクラスタについて実行し、
前記検出手段は、前記第5のステップにおいて、前記検出処理を前記全てのネットワーク種別に対応して作成された前記全ての複数の第4のクラスタについて実行する、請求項13から請求項19のいずれか1項に記載のコンピュータに実行させるためのプログラム。
【請求項21】
推定手段が、前記端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別を推定する第8のステップを更にコンピュータに実行させ、
前記ネットワーク種別は、前記第8のステップにおいて、推定手段によって推定された推定ネットワーク種別である、請求項20に記載のコンピュータに実行させるためのプログラム。
【請求項22】
第2の調整手段が、前記複数の端末装置のうちの1個の端末装置が属する前記推定ネットワーク種別が、前記1個の端末装置が属する記録済のネットワーク種別と異なるとき、前記記録済のネットワーク種別に属する前記1個の端末装置からなるクラスタを前記推定ネットワーク種別に対応して作成された前記複数の第4のクラスタに追加するクラスタ調整処理を前記推定ネットワーク種別が前記記録済のネットワーク種別と異なる端末装置の全てについて実行する第9のステップを更にコンピュータに実行させ、
前記検出手段は、前記第5のステップにおいて、前記クラスタ調整処理が実行された後に、前記検出処理を前記全ての推定ネットワーク種別に対応して作成された前記全ての複数の第4のクラスタについて実行する、請求項21に記載のコンピュータに実行させるためのプログラム。
【請求項23】
請求項12から請求項22のいずれか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】
【文献】Z. Durumeric, et al., “A Search Engine Backed by Internet-Wide Scanning”, CCS15, October 12-16, 2015.
【文献】https://github.com/robertdavidgraham/masscan
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、非特許文献1に記載のネットワークスキャンは、各IoT機器の1つのポートを対象としており、全てのポートを対象としていない。その結果、非特許文献1に記載のネットワークスキャンにおいては、各IoT機器の全てのポートをネットワークスキャンする場合において、ネットワークスキャンを行うためのスケジューリングを最適化するという概念がない。従って、非特許文献1に記載のネットワークスキャンでは、最適なスケジューリングを行うことが困難である。
【0009】
そこで、この発明の実施の形態によれば、ネットワークスキャンの最適なスケジューリングを行うことが可能なネットワークスキャン装置を提供する。
【0010】
また、この発明の実施の形態によれば、ネットワークスキャンの最適なスケジューリングをコンピュータに実行させるためのプログラムを提供する。
【0011】
更に、この発明の実施の形態によれば、ネットワークスキャンの最適なスケジューリングをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【0012】
(構成1)
この発明の実施の形態によれば、ネットワークスキャン装置は、分類手段と、再分類手段と、スケジュール作成手段とを備える。分類手段は、複数の端末装置を所定の方法によって分類して複数の初期クラスタを作成するクラスタ処理を実行する。再分類手段は、端末装置に対してネットワークスキャンを実行するスキャンスケジュールが最も集中する時間帯である集中時間帯が同じである複数のクラスタを合体して複数の第1のクラスタから複数の第2のクラスタを作成する処理である再クラスタリング処理を繰り返し実行する。スケジュール作成手段は、複数の第2のクラスタが作成される毎に、1つの第2のクラスタに含まれる端末装置に対してネットワークスキャンを実行するタイミングをネットワークスキャンにおけるスキャン応答遅延が最小である最小時間帯に設定するスケジュール作成処理を複数の第2のクラスタの全てについて実行してスキャンスケジュールを作成する。複数の第1のクラスタは、複数の初期クラスタまたはNrecls(Nreclsは、1以上の整数)回目の再クラスタリング処理が実行された後の複数のクラスタからなる。複数の第2のクラスタは、再クラスタリング処理によって複数の第1のクラスタから作成された複数のクラスタからなる。
【0013】
(構成2)
構成1において、ネットワークスキャン装置は、抽出手段と、検出手段を更に備える。抽出手段は、複数の第1のクラスタからNp(Npは、1以上の整数)個の端末装置を抽出して各々が1個の端末装置からなるNp個の抽出クラスタを作成する抽出処理を複数の初期クラスタが作成されたときまたは再クラスタリング処理が実行される毎に実行する。検出手段は、複数の第1のクラスタからNp個の端末装置を削除した複数のクラスタからなる複数の第3のクラスタとNp個の抽出クラスタとの全てのクラスタについて作成されたスキャンスケジュールに基づいて、Np個の抽出クラスタと複数の第3のクラスタとの間で集中時間帯が同じであり、かつ、各々が抽出クラスタおよび第3のクラスタからなる少なくとも1つのクラスタ群を検出する検出処理を抽出処理が実行される毎に実行する。そして、スケジュール作成手段は、複数の第3のクラスタおよびNp個の抽出クラスタが作成される毎に、複数の第3のクラスタおよびNp個の抽出クラスタの各々のクラスタに対してスケジュール作成処理を実行して複数の第3のクラスタおよびNp個の抽出クラスタの全てのクラスタについてスキャンスケジュールを作成する。また、再分類手段は、検出処理が実行される毎に、再クラスタリング処理において、少なくとも1つのクラスタ群の各々のクラスタ群に含まれる抽出クラスタと第3のクラスタとを合体する処理を少なくとも1つのクラスタ群の全てについて実行する。
【0014】
(構成3)
構成2において、再分類手段は、再クラスタリング処理において、1つのクラスタ群に含まれる第3のクラスタの個数が複数個であるとき、クラスタサイズが最小である第3のクラスタと第1の抽出クラスタとを合体する。
【0015】
(構成4)
構成3において、再分類手段は、再クラスタリング処理において、1つのクラスタ群に含まれる第3のクラスタの個数が複数個であるとき、クラスタサイズが最小であり、かつ、クラスタサイズの上限値よりも小さい第3のクラスタと第1の抽出クラスタとを合体する。
【0016】
(構成5)
構成2から構成4のいずれかにおいて、検出手段は、更に、集中時間帯が複数の第3のクラスタの全てのクラスタとの間で一致しない不一致クラスタをNp個の抽出クラスタから検出する。再分類手段は、再クラスタリング処理において、更に、不一致クラスタを複数の第3のクラスタの各々のクラスタと合体せずに、不一致クラスタを含めて複数の第2のクラスタを作成する。
【0017】
(構成6)
構成2から構成5のいずれかにおいて、抽出手段は、複数の第1のクラスタのうち、各々が2個以上の端末装置を含む少なくとも1つの第1のクラスタからNp個の端末装置を抽出してNp個の抽出クラスタを作成する。
【0018】
(構成7)
構成1から構成6のいずれかにおいて、ネットワークスキャン装置は、結合手段を更に備える。結合手段は、再クラスタリング処理が実行される毎に、クラスタサイズがクラスタサイズの下限値よりも小さい第1の結合用クラスタと、集中時間帯が第1の結合用クラスタと同じであり、かつ、クラスタサイズがクラスタサイズの下限値以上である第2の結合用クラスタとを複数の第2のクラスタから検出し、第1の結合用クラスタを構成する端末装置を第2の結合用クラスタに追加して第1の結合用クラスタと第2の結合用クラスタとを結合する結合処理を実行する。
【0019】
(構成8)
構成1から構成7のいずれかにおいて、ネットワークスキャン装置は、第1の調整手段を更に備える。第1の調整手段は、再クラスタリング処理が実行される毎に、複数の第2のクラスタの個数がクラスタの最大数よりも大きいとき、集中時間帯が他の第2のクラスタと同じであり、かつ、複数の第2のクラスタのうちでクラスタサイズが最も小さい第1の調整用クラスタと、集中時間帯が第1の調整用クラスタと同じであり、かつ、第1の調整用クラスタと異なる第2の調整用クラスタとを複数の第2のクラスタから検出し、第1の調整用クラスタを構成する端末装置を第2の調整用クラスタに追加するとともに第1の調整用クラスタを削除して複数の第2のクラスタの個数を減少することによって複数の第2のクラスタの個数を調整する個数調整処理を実行する。
【0020】
(構成9)
構成2から構成8のいずれかにおいて、分類手段は、端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別が同じである端末装置に対してクラスタ処理を実行して複数の第1のクラスタに代えて複数の第4のクラスタを作成することを全てのネットワーク種別について実行する。再分類手段は、再クラスタリング処理において、複数の第4のクラスタから複数の第2のクラスタに代えて複数の第5のクラスタを作成することを全てのネットワーク種別について実行する。抽出手段は、抽出処理を全てのネットワーク種別に対応して作成された全ての複数の第4のクラスタについて実行する。検出手段は、検出処理を全てのネットワーク種別に対応して作成された全ての複数の第4のクラスタにについて実行する。
【0021】
(構成10)
構成9において、ネットワークスキャン装置は、推定手段を更に備える。推定手段は、端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別を推定する。ネットワーク種別は、推定手段によって推定された推定ネットワーク種別である。
【0022】
(構成11)
構成10において、ネットワークスキャン装置は、第2の調整手段を更に備える。第2の調整手段は、複数の端末装置のうちの1個の端末装置が属する推定ネットワーク種別が、1個の端末装置が属する記録済のネットワーク種別と異なるとき、記録済のネットワーク種別に属する1個の端末装置からなるクラスタを推定ネットワーク種別に対応して作成された複数の第4のクラスタに追加するクラスタ調整処理を推定ネットワーク種別が記録済のネットワーク種別と異なる端末装置の全てについて実行する。そして、検出手段は、クラスタ調整処理が実行された後に、検出処理を全ての推定ネットワーク種別に対応して作成された全ての複数の第4のクラスタについて実行する。
【0023】
(構成12)
また、この発明の実施の形態によれば、プログラムは、
分類手段が、複数の端末装置を所定の方法によって分類して複数の初期クラスタを作成するクラスタ処理を実行する第1のステップと、
再分類手段が、端末装置に対してネットワークスキャンを実行するスキャンスケジュールが最も集中する時間帯である集中時間帯が同じである複数のクラスタを合体して複数の第1のクラスタから複数の第2のクラスタを作成する処理である再クラスタリング処理を繰り返し実行する第2のステップと、
スケジュール作成手段が、複数の第2のクラスタが作成される毎に、1つの第2のクラスタに含まれる端末装置に対してネットワークスキャンを実行するタイミングをネットワークスキャンにおけるスキャン応答遅延が最小である最小時間帯に設定するスケジュール作成処理を複数の第2のクラスタの全てについて実行してスキャンスケジュールを作成する第3のステップとをコンピュータに実行させる。そして、複数の第1のクラスタは、複数の初期クラスタまたはNrecls(Nreclsは、1以上の整数)回目の再クラスタリング処理が実行された後の複数のクラスタからなる。また、複数の第2のクラスタは、再クラスタリング処理によって複数の第1のクラスタから作成された複数のクラスタからなる。
【0024】
(構成13)
構成12において、プログラムは、
構抽出手段が、複数の第1のクラスタからNp(Npは、1以上の整数)個の端末装置を抽出して各々が1個の端末装置からなるNp個の抽出クラスタを作成する抽出処理を複数の初期クラスタが作成されたときまたは再クラスタリング処理が実行される毎に実行する第4のステップと、
検出手段が、複数の第1のクラスタからNp個の端末装置を削除した複数のクラスタからなる複数の第3のクラスタとNp個の抽出クラスタとの全てのクラスタについて作成されたスキャンスケジュールに基づいて、Np個の抽出クラスタと複数の第3のクラスタとの間で集中時間帯が同じであり、かつ、各々が抽出クラスタおよび第3のクラスタからなる少なくとも1つのクラスタ群を検出する検出処理を抽出処理が実行される毎に実行する第5のステップとを更にコンピュータに実行させ、
スケジュール作成手段は、第3のステップにおいて、複数の第3のクラスタおよびNp個の抽出クラスタが作成される毎に、複数の第3のクラスタおよびNp個の抽出クラスタの各々のクラスタに対してスケジュール作成処理を実行して複数の第3のクラスタおよびNp個の抽出クラスタの全てのクラスタについてスキャンスケジュールを作成し、
再分類手段は、第2のステップにおいて、検出処理が実行される毎に、再クラスタリング処理において、少なくとも1つのクラスタ群の各々のクラスタ群に含まれる抽出クラスタと第3のクラスタとを合体する処理を少なくとも1つのクラスタ群の全てについて実行する。
【0025】
(構成14)
構成13において、再分類手段は、第2のステップにおいて、再クラスタリング処理において、1つのクラスタ群に含まれる第3のクラスタの個数が複数個であるとき、クラスタサイズが最小である第3のクラスタと第1の抽出クラスタとを合体する。
【0026】
(構成15)
構成14において、再分類手段は、第2のステップにおいて、再クラスタリング処理において、1つのクラスタ群に含まれる第3のクラスタの個数が複数個であるとき、クラスタサイズが最小であり、かつ、クラスタサイズの上限値よりも小さい第3のクラスタと第1の抽出クラスタとを合体する。
【0027】
(構成16)
構成13から構成15のいずれかにおいて、検出手段は、第5のステップにおいて、更に、集中時間帯が複数の第3のクラスタの全てのクラスタとの間で一致しない不一致クラスタをNp個の抽出クラスタから検出する。再分類手段は、第2のステップの再クラスタリング処理において、更に、不一致クラスタを複数の第3のクラスタの各々のクラスタと合体せずに、不一致クラスタを含めて複数の第2のクラスタを作成する。
【0028】
(構成17)
構成13から構成16のいずれかにおいて、抽出手段は、第4のステップにおいて、複数の第1のクラスタのうち、各々が2個以上の端末装置を含む少なくとも1つの第1のクラスタからNp個の端末装置を抽出してNp個の抽出クラスタを作成する。
【0029】
(構成18)
構成12から構成17のいずれかにおいて、プログラムは、
結合手段が、再クラスタリング処理が実行される毎に、クラスタサイズがクラスタサイズの下限値よりも小さい第1の結合用クラスタと、集中時間帯が第1の結合用クラスタと同じであり、かつ、クラスタサイズがクラスタサイズの下限値以上である第2の結合用クラスタとを複数の第2のクラスタから検出し、第1の結合用クラスタを構成する端末装置を第2の結合用クラスタに追加して第1の結合用クラスタと第2の結合用クラスタとを結合する結合処理を実行する第6のステップを更にコンピュータに実行させる。
【0030】
(構成19)
構成12から構成18のいずれかにおいて、プログラムは、
第1の調整手段が、再クラスタリング処理が実行される毎に、複数の第2のクラスタの個数がクラスタの最大数よりも大きいとき、集中時間帯が他の第2のクラスタと同じであり、かつ、複数の第2のクラスタのうちでクラスタサイズが最も小さい第1の調整用クラスタと、集中時間帯が第1の調整用クラスタと同じであり、かつ、第1の調整用クラスタと異なる第2の調整用クラスタとを複数の第2のクラスタから検出し、第1の調整用クラスタを構成する端末装置を第2の調整用クラスタに追加するとともに第1の調整用クラスタを削除して複数の第2のクラスタの個数を減少することによって複数の第2のクラスタの個数を調整する個数調整処理を実行する第7のステップを更にコンピュータに実行させる。
【0031】
(構成20)
構成13から構成19のいずれかにおいて、分類手段は、第1のステップにおいて、端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別が同じである端末装置に対してクラスタ処理を実行して複数の第1のクラスタに代えて複数の第4のクラスタを作成することを全てのネットワーク種別について実行する。再分類手段は、第2のステップの再クラスタリング処理において、複数の第4のクラスタから複数の第2のクラスタに代えて複数の第5のクラスタを作成することを全てのネットワーク種別について実行する。抽出手段は、第4のステップにおいて、抽出処理を全てのネットワーク種別に対応して作成された全ての複数の第4のクラスタについて実行する。検出手段は、第5のステップにおいて、検出処理を全てのネットワーク種別に対応して作成された全ての複数の第4のクラスタについて実行する。
【0032】
(構成21)
構成20において、プログラムは、
推定手段が、端末装置に対してネットワークスキャンを実行するときに使用するネットワークの種別であるネットワーク種別を推定する第8のステップを更にコンピュータに実行させる。そして、ネットワーク種別は、第8のステップにおいて、推定手段によって推定された推定ネットワーク種別である。
【0033】
(構成22)
構成21において、プログラムは、
第2の調整手段が、複数の端末装置のうちの1個の端末装置が属する推定ネットワーク種別が、1個の端末装置が属する記録済のネットワーク種別と異なるとき、記録済のネットワーク種別に属する1個の端末装置からなるクラスタを推定ネットワーク種別に対応して作成された複数の第4のクラスタに追加するクラスタ調整処理を推定ネットワーク種別が記録済のネットワーク種別と異なる端末装置の全てについて実行する第9のステップを更にコンピュータに実行させ、
検出手段は、第5のステップにおいて、クラスタ調整処理が実行された後に、検出処理を全ての推定ネットワーク種別に対応して作成された全ての複数の第4のクラスタについて実行する。
【0034】
(構成23)
更に、この発明の実施の形態によれば、記録媒体は、構成12から構成22のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0035】
ネットワークスキャンの最適なスケジューリングを行うことができる。
【図面の簡単な説明】
【0036】
【
図1】この発明の実施の形態における通信システムの概略図である。
【
図2】
図1に示すネットワークスキャン装置の実施の形態1における概略図である。
【
図3】
図2に示すホスト情報データベースに格納される対応表の概念図である。
【
図4】ネットワークスキャンを実行するタイミングを説明するための図である。
【
図7】
図2に示すクラスタリングデータベースの概念図である。
【
図8】ピックアップクラスタを作成する方法を説明するための図である。
【
図9】ネットワークスキャンのスキャンスケジュールの分布を示す図である。
【
図13】
図2に示すネットワークスキャン装置の動作を示すタイミングチャートである。
【
図14】M個のラウンドθの具体例を示す図である。
【
図15】
図2に示すネットワークスキャン装置の動作を説明するためのフローチャートである。
【
図16】
図15のステップS5の詳細な動作を説明するためのフローチャートである。
【
図17】
図15のステップS8の詳細な動作を説明するためのフローチャートである。
【
図18】
図15のステップS10の詳細な動作を説明するためのフローチャートである。
【
図19】
図15のステップS13の詳細な動作を説明するためのフローチャートである。
【
図20】
図15のステップS14の詳細な動作を説明するためのフローチャートである。
【
図21】
図20のステップS151の詳細な動作を説明するためのフローチャートである。
【
図22】
図20のステップS152の詳細な動作を説明するためのフローチャートである。
【
図23】
図20のステップS153の詳細な動作を説明するためのフローチャートである。
【
図24】ピックアップ処理におけるクラスタ表およびピックアップ表の概念図である。
【
図25】
図15のステップS9におけるターゲットクラスタ表の概念図である。
【
図27】クラスタjの時間帯τにおけるカウントz
j,τの概念図である。
【
図28】クラスタと集中時間帯との対応関係を示す概念図である。
【
図29】動的クラスタリングの動作を説明するためのフローチャートである。
【
図30】再クラスタリングによるスキャンスケジュールの変遷を示す概念図である。
【
図31】
図1に示すネットワークスキャン装置の実施の形態2における概略図である。
【
図32】
図31に示すホスト情報データベース13Aに格納される対応表の概略図である。
【
図33】ネットワーク種別と端末装置の個数と閾値との関係を示す対応表の概略図である。
【
図34】
図31に示すクラスタリングデータベースの概念図である。
【
図35】実施の形態2におけるクラスタ表の概略図である。
【
図36】実施の形態2におけるターゲットクラスタ表の概略図である。
【
図37】
図31に示すネットワークスキャン装置の動作を説明するための第1のフローチャートである。
【
図38】
図31に示すネットワークスキャン装置の動作を説明するための第2のフローチャートである。
【
図39】
図37のステップS8Aの詳細な動作を説明するためのフローチャートである。
【
図40】
図38のステップS13Aの詳細な動作を説明するためのフローチャートである。
【
図41】
図38のステップS14Aの詳細な動作を説明するためのフローチャートである。
【
図42】
図1に示すネットワークスキャン装置の実施の形態3における概略図である。
【
図43】無線端末と有線端末におけるスキャン応答遅延の比較を示す図である。
【
図44】IPアドレスと現在のネットワーク種別との関係を示す対応表の概念図である。
【
図45】
図42に示すネットワークスキャン装置の動作を説明するための第1のフローチャートである。
【
図46】
図42に示すネットワークスキャン装置の動作を説明するための第2のフローチャートである。
【
図47】
図45のステップS30の詳細な動作を説明するためのフローチャートである。
【
図48】
図46のステップS40の詳細な動作を説明するためのフローチャートである。
【
図49】ネットワーク種別間のクラスタ調整処理の概念図である。
【発明を実施するための形態】
【0037】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0038】
図1は、この発明の実施の形態における通信システムの概略図である。
図1を参照して、この発明の実施の形態による通信システム10は、ネットワークスキャン装置1と、基地局BS1,BS2と、インターネットプロバイダISPと、端末装置TM1~TM18とを備える。
【0039】
ネットワークスキャン装置1、基地局BS1,BS2、インターネットプロバイダISP(Internet Service Provider)および端末装置TM1~TM18は、通信空間に配置される。
【0040】
基地局BS1は、無線通信網CNW1の基地局であり、基地局BS2は、無線通信網CNW2の基地局であり、インターネットプロバイダISPは、有線通信網CNW3の通信事業者である。
【0041】
無線通信網CNW1,CNW2は、相互に異なる無線通信規格に従って無線通信を行う通信網である。
【0042】
この発明の実施の形態においては、端末装置TM1~TM18の各々が無線端末である場合があり、端末装置TM1~TM18の一部が無線端末からなり、かつ、残りが有線端末からなる場合もある。
【0043】
端末装置TM1~TM6は、無線通信網CNW2の外側であり、かつ、無線通信網CNW1の内部に配置される。
【0044】
端末装置TM7は、無線通信網CNW1と無線通信網CNW2との重複領域内に配置される。
【0045】
端末装置TM8~TM13は、無線通信網CNW1の外側であり、かつ、無線通信網CNW2の内部に配置される。
【0046】
端末装置TM14~TM18は、有線通信網CNW3内に配置され、有線を介してインターネットプロバイダISPに接続される。
【0047】
端末装置TM1~TM13の各々は、基地局BS1,BS2と無線通信可能な2個の無線通信モジュールを備えている。従って、端末装置TM1~TM13の各々は、基地局BS1または基地局BS2と無線通信可能である。
【0048】
端末装置TM1~TM6は、基地局BS1と無線通信を行い、端末装置TM7は、基地局BS1または基地局BS2と無線通信を行い、端末装置TM8~TM13は、基地局BS2と無線通信を行う。
【0049】
端末装置TM14~TM18は、インターネットプロバイダISPを介して有線通信を行う。
【0050】
ネットワークスキャン装置1は、後述する方法によって、端末装置TM1~TM18に対してネットワークスキャンを行うためのスキャンスケジュールを作成し、その作成したスキャンスケジュールに従ってネットワークスキャンを実行する。
【0051】
[実施の形態1]
図2は、
図1に示すネットワークスキャン装置1の実施の形態1における概略図である。
図2を参照して、ネットワークスキャン装置1は、ネットワークスキャナ11と、スキャン解析マネージャ12と、ホスト情報データベース13と、クラスタリングマネージャ14と、クラスタリングデータベース15と、スキャンスケジューラ16とを備える。
【0052】
ネットワークスキャナ11は、スキャンスケジューラ16からスキャンスケジュールを受け、その受けたスキャンスケジュールに基づいて、例えば、公知のmasscan(非特許文献2)を用いて、スキャン対象のネットワーク20に接続された端末装置のポートに対してネットワークスキャンを行う。
【0053】
より具体的には、ネットワークスキャナ11は、所定の周期に含まれる複数の時間帯において複数の端末装置のIPアドレスに対してスキャンパケットを送信するネットワークスキャンを行う。ネットワークスキャナ11は、このネットワークスキャンを所定の周期に一致する頻度で実行する。
【0054】
そして、ネットワークスキャナ11は、ネットワーク20に接続された端末装置からネットワークスキャンのスキャン応答を受信し、その受信したスキャン応答をユーザ(ネットワークセキュリティ等からなる)30およびスキャン解析マネージャ12へ出力する。
【0055】
スキャン解析マネージャ12は、ネットワークスキャナ11からスキャン応答を受け、ネットワークスキャン中の通信ログを受ける。そして、スキャン解析マネージャ12は、スキャン応答に基づいてスキャン対象の端末装置のアドレスと、スキャン応答とを対応付けたスキャン結果を生成し、その生成したスキャン結果をホスト情報データベース13に格納することによってホスト情報データベース13を作成または更新する。
【0056】
また、スキャン解析マネージャ12は、ネットワークスキャンを行うためのスキャンパケットを送信してからスキャン応答を受信するまでの時間であるスキャン応答遅延を計測し、その計測したスキャン応答遅延をスキャン対象の端末装置のアドレスに対応付けてホスト情報データベース13に格納する。
【0057】
ホスト情報データベース13は、スキャン結果を記憶する。
【0058】
クラスタリングマネージャ14は、ネットワークスキャンを行う領域(例えば、日本国内)に存在する全ての端末装置のグローバルIPアドレスおよびドメイン名を予め保持している。クラスタリングマネージャ14は、後述する方法によって、ネットワークスキャンの対象である複数の端末装置をクラスタに分類する。そして、クラスタリングマネージャ14は、分類結果(クラスタと端末装置の対応関係)をクラスタリングデータベース15に格納してクラスタリングデータベース15を作成または更新する。また、クラスタリングマネージャ14は、後述する方法によって、クラスタリングデータベース15に格納されたクラスタを再クラスタリングする。
【0059】
なお、この発明の実施の形態においては、複数の端末装置をクラスタに分類することを「複数の端末装置をクラスタリングする」と言い、複数の端末装置をクラスタリングすることは、複数のクラスタのうちの少なくとも1つのクラスタの各々が複数の端末装置を要素とするクラスタとなるように複数の端末装置を複数のクラスタに分類することを意味する。
【0060】
また、この発明の実施の形態においては、複数の端末装置をクラスタリングしないことは、1つの端末装置からなるクラスタを作成することを含み、後述するピックアップクラスタを作成することを含まない。
【0061】
クラスタリングデータベース15は、後述するクラスタ表、ピックアップ表およびターゲットクラスタ表を記憶する。
【0062】
スキャンスケジューラ16は、ネットワークスキャンを行う領域(例えば、日本国内)に存在する全ての端末装置のグローバルIPアドレスおよびドメイン名を予め保持している。スキャンスケジューラ16は、後述する方法によって、ネットワークスキャンのスキャンタイミングと各スキャンタイミングにおけるネットワークスキャンの対象となる端末装置とを対応付けたスキャンスケジュールを作成する。そうすると、スキャンスケジューラ16は、スキャンスケジュールをネットワークスキャナ11へ出力してスキャンスケジュールに従ってネットワークスキャンを実行するようにネットワークスキャナ11を制御する。また、スキャンスケジューラ16は、スキャンスケジュールをクラスタリングマネージャ14へ出力する。
【0063】
図3は、
図2に示すホスト情報データベース13に格納される対応表の概念図である。
図3を参照して、対応表TBL1は、スキャン実施回数と、時刻t
iと、IPアドレスAdd
iと、ポート番号q
iと、スキャン応答SR
iと、スキャン応答遅延SRD
iとを含む。スキャン実施回数、時刻t
i、IPアドレスAdd
i、ポート番号q
i、スキャン応答SR
i、およびスキャン応答遅延SRD
iは、相互に対応付けられる。ここで、i=1~Nであり、Nは、ネットワークスキャンの対象となる端末装置の総数である。
【0064】
スキャン実施回数は、ネットワークスキャンが行われた回数を示す。時刻tiは、後述する1つのラウンドの開始時刻を基準とした正規化スキャン時刻を示す。そして、時刻tiは、YYYY/MM/DD/hh/mm/ss(年/月/日/時/分/秒)によって表される。
【0065】
IPアドレスAddiは、ネットワークスキャンの対象である端末装置のグローバルIPアドレスからなる。
【0066】
ポート番号qiは、IPアドレスAddiのポートの番号である。1つのIPアドレスAddiに対して、例えば、10000個のポートを選択し、その選択した10000個のポートに対してネットワークスキャンを実施する。従って、ポート番号qiは、10000個のポートの番号を表す。そして、この発明の実施の形態においては、ポート番号qiは、IPアドレスAddiのq番目のポートを表す。
【0067】
スキャン応答SRiは、ポート番号qiに対応付けられる。スキャン応答SRiは、スキャン応答が返って来たとき、“1”からなり、スキャン応答が返って来なかったとき、“0”からなる。
【0068】
スキャン応答遅延SRDiは、ポート番号qiに対応付けられる。スキャン応答遅延SRDiは、スキャンパケットを送信した時刻からスキャン応答SRiが返って来る時刻までの時間長からなる。
【0069】
IPアドレスAdd1のポート番号は、例えば、ポート番号q11,q21,q31からなり、IPアドレスAdd2のポート番号は、例えば、ポート番号q12,q22からなり、IPアドレスAdd3のポート番号は、例えば、ポート番号q13,q23,q33,q43からなり、以下、同様にして、IPアドレスAddN-1のポート番号は、例えば、ポート番号q1N-1,q2N-1,q3N-1からなり、IPアドレスAddNのポート番号は、例えば、ポート番号q1N,q2Nからなる。
【0070】
そして、対応表TBL1においては、スキャン応答SRiおよびスキャン応答遅延SRDiは、各ポート番号qiに対応付けられて対応表TBL1に格納される。
【0071】
なお、ポート番号q11,q21,q31の“1”は、IPアドレスAdd1に対応しており、ポート番号q11,q21,q31の“1”,“2”,“3”は、ポートの順番を表す。ポート番号q11,q21,q31以外のポート番号についても同様である。
【0072】
図3においては、IPアドレスAdd
1~Add
Nに対するスキャン実施回数は、相互に異なっているが、この発明の実施の形態においては、これに限らず、IPアドレスAdd
1~Add
Nに対するスキャン実施回数は、相互に同じであってもよい。
【0073】
また、この発明の実施の形態においては、1つのIPアドレスAddiに対して複数回のネットワークスキャンを実施する場合、1つのIPアドレスAddiに対する複数回のネットワークスキャンは、複数のラウンド(「ラウンド」については後述する。)において同じ時刻に実施されてもよく、複数のラウンドの異なる時刻に実施されてもよい。従って、1つのIPアドレスAddiに対する複数回のネットワークスキャンが複数のラウンドの異なる時刻に実施される場合、対応表TBL1において、各IPアドレスAddiに対応する時刻tiは、複数の時刻からなる。
【0074】
更に、ある時刻tiにおいて、IPアドレスAddiに対してネットワークスキャンのスキャンスケジュールが作成されなかった場合、スキャンスケジュールが作成されなかったIPアドレスAddiに対応するスキャン応答SRiおよびスキャン応答SRiに対応するスキャン応答遅延SRDiの欄は、空欄である。
【0075】
図4は、ネットワークスキャンを実行するタイミングを説明するための図である。
図4を参照して、この発明の実施の形態においては、θの時間長を有する区間SECが設定される。θは、ネットワークスキャンを実施する所定の周期の周期長である。θは、例えば、12時間に設定される。
【0076】
1つの区間SECは、0時間帯、1時間帯、2時間帯、・・・等の複数の時間帯からなる。複数の時間帯の各々は、時間長hを有する。時間長hは、例えば、1時間に設定される。従って、θは、hの自然数倍である。
【0077】
そして、ネットワークスキャンは、1つの区間SECの複数の時間帯において端末装置iのIPアドレスAdd
iに対して実行される。この場合、各時間帯においてネットワークスキャンの対象となる端末装置の個数は、同じあっても異なっていてもよい。
図4においては、0時間帯においてネットワークスキャンの対象となる端末装置の個数は、5個であり、1時間帯においてネットワークスキャンの対象となる端末装置の個数は、6個であり、2時間帯においてネットワークスキャンの対象となる端末装置の個数は、3個であり、3時間帯においてネットワークスキャンの対象となる端末装置の個数は、4個である。なお、各区間SECは、「ラウンド」と呼ばれる。
【0078】
0回目のネットワークスキャンは、1番目の区間SECにおいて実行され、1回目のネットワークスキャンは、2番目の区間SECにおいて実行され、2回目のネットワークスキャンは、3番目の区間SECにおいて実行され、以下、同様にして、(m-1)回目のネットワークスキャンは、m番目の区間SECにおいて実行される。
【0079】
この発明の実施の形態においては、θを所定の周期の周期長として、所定の周期の頻度でネットワークスキャンが実行される。そして、ネットワークスキャンがM(Mは、1以上の整数)の整数倍だけ実施される毎にスキャン応答SRiおよびスキャン応答遅延SRDiがホスト情報データベース13の対応表TBL1に格納される。
【0080】
図5は、クラスタ化の具体例を示す図である。
図6は、クラスタ化の他の具体例を示す図である。
【0081】
図5は、IPアドレスによるクラスタリングの例を示す。企業などのネットワークにおいては、どれだけのエリアにIPアドレスが展開されているかが不明であるが、大学などのネットワークにおいては、例えば、半径数百mの範囲で近いIPアドレスが使用されている。従って、IPアドレスによって、大学のネットワーク内の端末装置を1つのクラスタに分類する。
【0082】
また、セルラーネットワークおよびISPネットワークにおいては、半径数十mの範囲で近いIPアドレスが使用されているので、これらのIPアドレスを有する端末装置を1つのクラスタに分類する。
【0083】
図6は、ドメイン名および無線環境状況に基づくクラスタリングの例を示す。例えば、大学などの狭いエリアでネットワークを展開するドメインをドメイン単位でクラスタ化する。
【0084】
また、企業Aと企業Bのように、空間的には離れているが、類似の無線環境状況にある基地局・アクセスポイント(AP:Access Point)に接続される端末装置を1つのクラスタに分類する。企業A内の端末装置は、企業A内に設置された基地局またはAPとの間で無線通信を行い、企業B内の端末装置は、企業B内に設置された基地局またはAPとの間で無線通信を行うので、企業A内の端末装置および企業B内の端末装置は、類似の無線環境状況にある。クラスタリングマネージャ14は、ドメイン名を参照すれば、企業内に設置された端末装置であるか否かを判別できるので、類似の無線環境状況にある端末装置をクラスタ化できる。
【0085】
図7は、
図2に示すクラスタリングデータベース15の概念図である。
図7を参照して、クラスタリングデータベース15は、例えば、クラスタAc,Bc,Ccを含む。クラスタAc,Bc,Ccは、IPアドレスによってクラスタ化されたクラスタである。
【0086】
クラスタAcは、相互に近いIPアドレスAdd1~Addv(vは、2以上の整数)を有するv個の端末装置からなる。クラスタBcは、相互に近いIPアドレスAddw~Addw+s(wは、vと異なる整数、sは、1以上の整数)を有する(s+1)個の端末装置からなる。クラスタCcは、相互に近いIPアドレスAddx~Addx+u(xは、v,wと異なる整数、uは、1以上の整数)を有する(u+1)個の端末装置からなる。
【0087】
なお、
図7においては、クラスタリングデータベース15は、IPアドレスによってクラスタ化されたクラスタAc,Bc,Ccを示すが、この発明の実施の形態においては、これに限らず、クラスタリングデータベース15は、ドメイン名によってクラスタ化された複数のクラスタから構成されていてもよく、類似の無線環境状況によってクラスタ化された複数のクラスタから構成されていてもよく、端末装置をランダムに選択して作成された複数のクラスタから構成されていてもよく、一般的には、所定の方法によってクラスタ化された複数のクラスタから構成されていればよい。
【0088】
クラスタリングマネージャ14は、所定の方法によって、ホスト情報データベース13に格納されたN個の端末装置を複数のクラスタに分類し、クラスタリングデータベース15を作成または更新する。
【0089】
図8は、ピックアップクラスタを作成する方法を説明するための図である。
図8を参照して、クラスタリングマネージャ14は、上述した方法によって、複数の端末装置1~Nを分類してN
c個のクラスタ(N
c個の初期クラスタ)を作成する(
図8の(a)参照)。jは、クラスタ番号を表し、N
cは、クラスタの個数を表す。そして、jは、1≦j≦N
cを満たす整数であり、N
cは、2≦N
c≦CL
maxを満たす整数であり、CL
maxは、クラスタの最大数である。
【0090】
クラスタリングマネージャ14は、Nc個のクラスタを作成した後、Nc個のクラスタからNp(Npは、1以上の整数)個の端末装置を抽出してNp個のピックアップクラスタを作成する。そして、ピックアップクラスタの作成においては、クラスタリングマネージャ14は、端末装置の個数(要素数)が2個以上であるクラスタから端末装置を抽出する。この場合、クラスタリングマネージャ14は、抽出した後の端末装置の個数が1個以上になるように1個のクラスタから端末装置を抽出する。例えば、クラスタリングマネージャ14は、8個の端末装置からなるクラスタから1~7個の範囲の任意の個数の端末装置を抽出する。
【0091】
N
p個のピックアップクラスタを作成する具体的な例において、クラスタリングマネージャ14は、N個の端末装置からN
p個の端末装置を選択し、その選択したN
p個の端末装置をN
c個のクラスタから抽出してN
p個のピックアップクラスタ(j’=1のピックアップクラスタ~j’=N
pのピックアップクラスタ)を作成する。なお、j’は、ピックアップクラスタのクラスタ番号である。そして、N
p個のピックアップクラスタの各々は、1個の端末装置からなる。また、クラスタリングマネージャ14は、N
c個のクラスタからN
p個の端末装置を抽出すると、端末装置が抽出されたクラスタにおいて、抽出された端末装置を削除する。例えば、クラスタリングマネージャ14Aは、2個のクラスタj=1,j=N
cから端末装置を抽出すると、端末装置が抽出されたクラスタ(クラスタj=1,j=N
c)において、抽出された端末装置を削除する。この場合、2個のピックアップクラスタj’=1,j’=N
p(=2)が作成される(
図8の(b)参照)。
【0092】
なお、クラスタリングマネージャ14は、Nc個のクラスタからランダムにNp個の端末装置を抽出してもよく、所定の抽出方法に従ってNc個のクラスタからNp個の端末装置を抽出してもよい。
【0093】
また、クラスタリングマネージャ14が2個以上の端末装置を含むクラスタから端末装置を抽出するのは、1個の端末装置のみを含むクラスタから端末装置を抽出するとクラスタ数Ncが少なくなり、後述するクラスタの合体の対象となるクラスタ数Ncをできるだけ多くすることによって最適なクラスタリングに向けた再クラスタリングの進行速度を速くすることが困難になるためである。
【0094】
Nc個のクラスタからNp個のピックアップクラスタを作成する場合、CLmax,Np,Nの間には、CLmax+Np<Nの関係が成立し、時間帯τの個数θ/hとクラスタの最大数CLmaxとの間には、θ/h≦CLmaxの関係が成立する。CLmax+Np<Nの関係は、端末装置の個数Nは、クラスタの最大数CLmaxよりも多いという条件が成立することを表す。クラスタ数NcがCLmaxである場合にも、Np個のピックアップクラスタを作成できるN個の端末装置が必要であるからである。また、θ/h≦CLmaxの関係は、クラスタの最大数CLmaxが時間帯τの個数θ/h以上であるという条件が成立することを表す。クラスタ数NcがCLmaxである場合にも、CLmax個のクラスタに含まれる端末装置に対するスキャンスケジュールを設定する時間帯がθ/h個の時間帯τを網羅する必要があるからである。
【0095】
図9は、ネットワークスキャンのスキャンスケジュールの分布を示す図である。
図9において、横軸は、
図4に示す各ラウンド内の時間帯τ
0~τ
(θ/h)-1を表し、縦軸は、スキャンスケジュールの個数を表す。時間帯τ
0~τ
(θ/h)-1の個数は、θ/hである。上述したように、θは、hの自然数倍であるので、θ/hは、自然数からなる。
【0096】
また、N
p個のピックアップクラスタは、M個のラウンドにおけるネットワークスキャンが実行される毎にスキャンスケジュールが作成される前のタイミングで作成され、1つのIPアドレスAdd
iに対するL(Lは、1≦L≦Mを満たす整数)回のネットワークスキャンは、L個のラウンドの異なる時刻に実施されることもあるので、
図9に示すように、各端末装置に対するネットワークスキャンのスキャンスケジュールが異なる時間帯τに設定される。
【0097】
図9を参照して、クラスタリングマネージャ14は、N
p個のピックアップクラスタを作成した後、N
c個のクラスタとN
p個のピックアップクラスタとの(N
c+N
p)個のクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールをスキャンスケジューラ16から受ける。
【0098】
そして、クラスタリングマネージャ14は、スキャンスケジュールに基づいて、(Nc+Np)個のクラスタについて、スキャンスケジュール(〇)が最も集中する集中時間帯を検出する。
【0099】
即ち、クラスタリングマネージャ14は、ピックアップクラスタj’=1に含まれる端末装置について集中時間帯を検出することによって、ピックアップクラスタj’=1について時間帯τ(θ/h)-1を集中時間帯として検出し、ピックアップクラスタj’=Npに含まれる端末装置について集中時間帯を検出することによって、ピックアップクラスタj’=Npについて時間帯τ1を集中時間帯として検出する。
【0100】
また、クラスタリングマネージャ14は、クラスタj=1に含まれる端末装置について集中時間帯を検出することによって、クラスタj=1について時間帯τ1を集中時間帯として検出し、クラスタj=2に含まれる端末装置ついて集中時間帯を検出することによって、クラスタj=2について時間帯τ(θ/h)-1を集中時間帯として検出し、以下、同様にして、クラスタj=Ncに含まれる端末装置について集中時間帯を検出することによって、クラスタj=Ncについて時間帯τ(θ/h)-1を集中時間帯として検出する。
【0101】
その結果、ピックアップクラスタj’=1の集中時間帯τ(θ/h)-1は、クラスタj=2,Ncの集中時間帯τ(θ/h)-1に一致する。また、ピックアップクラスタj’=Npの集中時間帯τ1は、クラスタj=1の集中時間帯τ1に一致する。
【0102】
なお、各端末装置について、スキャンスケジュール(〇)が最も集中する時間帯が複数存在する場合、クラスタリングマネージャ14は、複数の時間帯のうちの任意の時間帯を集中時間帯として検出する。
【0103】
その後、クラスタリングマネージャ14は、集中時間帯が同じであるピックアップクラスタとクラスタとを合体する。
【0104】
より具体的には、クラスタリングマネージャ14は、ピックアップクラスタj’=1に含まれる端末装置をクラスタj=2に移動し、ピックアップクラスタj’=1を削除することによってピックアップクラスタj’=1とクラスタj=2とを合体する。その結果、クラスタj=2は、4個の端末装置からなる。
【0105】
また、クラスタリングマネージャ14は、ピックアップクラスタj’=Npに含まれる端末装置をクラスタj=1に移動し、ピックアップクラスタj’=Npを削除することによってピックアップクラスタj’=Npとクラスタj=1とを合体する。その結果、クラスタj=1は、3個の端末装置からなる。そして、合体後のクラスタの個数は、Nc個である。
【0106】
このように、クラスタリングマネージャ14は、集中時間帯が同じであるピックアップクラスタとクラスタとを合体することによってNc個のクラスタを再クラスタリングする。そして、端末装置の総数は、再クラスタリングの前後で同じである。
【0107】
再クラスタリングを行うことによって集中時間帯が同じである端末装置からなるクラスタの個数が増加する。従って、上述した再クラスタリングを繰り返し実行することによって、Nc個のクラスタは、全てのクラスタが、同じ集中時間帯を有する端末装置からなる最適なクラスタに近づく。
【0108】
なお、集中時間帯がピックアップクラスタj’=1と同じであるクラスタとして、2個のクラスタ(クラスタj=2およびクラスタj=Nc)が存在する場合、クラスタリングマネージャ14は、2個のクラスタ(クラスタj=2およびクラスタj=Nc)のうちの任意の1つのクラスタと、ピックアップクラスタj’=1とを合体する。
【0109】
また、Np個のピックアップクラスタのうち、集中時間帯が同じであるクラスタが存在しないピックアップクラスタは、新たなクラスタとしてNc個のクラスタに追加される。その結果、再クラスタリングによってクラスタの個数は、Nc個から(Nc+ε)個に増加する。ここで、εは、ピックアップクラスタと同じ集中時間帯を有するクラスタが存在しないためにNc個のクラスタに追加されたクラスタの個数を表し、1≦ε≦Npを満たす整数である。そして、クラスタの個数が最大数CLmaxよりも多くなった場合、クラスタリングマネージャ14は、後述する方法によって、クラスタの個数が最大数CLmax以下になるようにクラスタの個数を調整する。
【0110】
更に、ピックアップクラスタj’=1、ピックアップクラスタj’=2およびクラスタj=1が同じ集中時間帯を有する場合、ピックアップクラスタj’=1に含まれる端末装置とピックアップクラスタj’=2に含まれる端末装置とをクラスタj=1に移動し、ピックアップクラスタj’=1およびピックアップクラスタj’=2を削除することによって2個のピックアップクラスタj’=1,2と1個のクラスタj=1とを合体する。従って、一般的には、a(aは、1≦a≦Npを満たす整数)個のピックアップクラスタに含まれるa個の端末装置を1個のクラスタに移動し、a個のピックアップクラスタを削除することによってa個のピックアップクラスタと1個のクラスタとを合体する(即ち、再クラスタリングする)。
【0111】
図10は、クラスタ表の概念図である。
図10を参照して、クラスタ表TBL-Cは、クラスタ番号jと、所属IPアドレスAdd
iとを含む。クラスタ表TBL-Cにおいて、クラスタ番号jおよび所属IPアドレスAdd
iは、相互に対応付けられる。
【0112】
図10の(a)に示すクラスタ表TBL-C1は、ネットワークスキャンの対象である複数の端末装置をクラスタ化したときのクラスタ表であり、
図10の(b)に示すクラスタ表TBL-C2は、N
p個の端末装置がクラスタから抽出されたときのクラスタ表であり、
図10の(c)に示すクラスタ表TBL-C3は、クラスタが再クラスタリングされたときのクラスタ表である。
【0113】
クラスタリングマネージャ14は、複数の端末装置をクラスタ化するとき、上述した所定の方法によって、複数の端末装置を分類してN
c個のクラスタを作成し、その作成したN
c個のクラスタに基づいて、クラスタ番号jと所属IPアドレスAdd
iとの対応関係を示すクラスタ表TBL-C1を作成し(
図10の(a)参照)、その作成したクラスタ表TBL-C1をクラスタリングデータベース15に格納する。
【0114】
また、クラスタリングマネージャ14は、N
p個の端末装置をN
c個のクラスタから抽出したとき、N
p個の端末装置が抽出された後のクラスタ番号jと所属IPアドレスAdd
iとの対応関係を示すクラスタ表TBL-C2を作成し(
図10の(b)参照)、その作成したクラスタ表TBL-C2をクラスタリングデータベース15に格納する。
【0115】
更に、クラスタリングマネージャ14は、クラスタが再クラスタリングされたとき、再クラスタリング後のクラスタに基づいて、再クラスタリング後のクラスタ番号jと所属IPアドレスAdd
iとの対応関係を示すクラスタ表TBL-C3を作成し(
図10の(c)参照)、その作成したクラスタ表TBL-C3をクラスタリングデータベース15に格納する。
【0116】
クラスタ表TBL-C3においては、クラスタが再クラスタリングされたことによって(クラスタ表TBL-C2のクラスタ1、クラスタ2およびクラスタNcに端末装置が移動されたことによって)、クラスタ1、クラスタ2およびクラスタNcに所属するIPアドレスAddiがクラスタ表TBL-C1のクラスタ1、クラスタ2およびクラスタNcに所属するIPアドレスAddiと異なっている。
【0117】
図11は、ピックアップ表の概念図である。
図11を参照して、ピックアップ表TBL-Pは、クラスタ番号j’と、所属IPアドレスAdd
iとを含む。クラスタ番号j’および所属IPアドレスAdd
iは、相互に対応付けられる。
【0118】
ピックアップ表TBL-Pは、初期状態においては、空である(
図11の(a)参照)。クラスタリングマネージャ14は、N
c個のクラスタからN
p個の端末装置を抽出してN
p個のピックアップクラスタを作成する。そして、クラスタリングマネージャ14は、N
p個のピックアップクラスタに基づいて、クラスタ番号j’と所属IPアドレスAdd
iとの対応関係を示すピックアップ表TBL-Pを作成する。なお、N
p個の端末装置を抽出してN
p個のピックアップクラスタを作成するので、N
p個のピックアップクラスタの各々は、1つの端末装置からなる。
【0119】
例えば、クラスタリングマネージャ14は、
図10の(a)に示すN
c個のクラスタ1~N
cからN
p個の端末装置(Add
2,Add
3,Add
5,・・・,Add
N-1)を抽出する。そして、クラスタリングマネージャ14は、抽出したN
p個の端末装置のN
p個のIPアドレスAdd
5,Add
3,Add
N-1,・・・,Add
2をそれぞれクラスタ番号j’=1~N
pに対応付けたピックアップ表TBL-Pを作成する(
図11の(b)参照)。
【0120】
なお、クラスタリングマネージャ14は、ピックアップ表TBL-Pを作成したとき、抽出したN
p個の端末装置のN
p個のIPアドレスAdd
5,Add
3,Add
N-1,・・・,Add
2をクラスタ表TBL-C1から削除する。その結果、クラスタ表TBL-C1は、クラスタ表TBL-C2(
図10の(b)参照)になる。
【0121】
また、クラスタリングマネージャ14は、再クラスタリングが実行されたとき、再クラスタリングに用いられたピックアップクラスタのクラスタ番号j’と、再クラスタリングに用いられたピックアップクラスタのクラスタ番号j’に対応するIPアドレスAddiとをピックアップ表TBL-Pから削除する。
【0122】
更に、クラスタリングマネージャ14は、再クラスタリングが実行されたとき、再クラスタリングに用いられなかったピックアップクラスタをクラスタとしてクラスタ表TBL-C3に追加し、クラスタ番号を振り直す。
【0123】
図12は、ターゲットクラスタ表の概念図である。
図12を参照して、ターゲットクラスタ表TBL-TGCは、クラスタ番号jと、所属IPアドレスAdd
iとを含む。クラスタ番号jおよび所属IPアドレスAdd
iは、相互に対応付けられる。
【0124】
図12の(a)に示すターゲットクラスタ表TBL-TGC1は、複数の端末装置がクラスタ化されたとき、またはクラスタが再クラスタリングされたときのターゲットクラスタ表であり、
図12の(b)に示すターゲットクラスタ表TBL-TGC2は、N
p個の端末装置がN
c個のクラスタから抽出されたとき(即ち、N
p個のピックアップクラスタが作成されたとき)のターゲットクラスタ表である。
【0125】
ターゲットクラスタ表TBL-TGC1は、N
c個のクラスタが作成されたとき、
図10の(a)に示すクラスタ表TBL-C1からなる。なお、ターゲットクラスタ表TBL-TGC1は、クラスタが再クラスタリングされたとき、
図10の(c)に示すクラスタ表TBL-C3からなる。
【0126】
また、ターゲットクラスタ表TBL-TGC2は、N
p個の端末装置が抽出されたクラスタ表TBL-C2(
図10の(b)参照)と、ピックアップ表TBL-P(
図11の(b)参照)とを結合した構成からなる。この場合、ピックアップ表TBL-Pのクラスタ番号j’は、クラスタ表TBL-C2のクラスタ番号jに連続するように変更される。
【0127】
クラスタリングマネージャ14は、
図8の(a)に示すように、N
c個のクラスタを作成した時点でターゲットクラスタ表TBL-TGC1を作成し、その作成したターゲットクラスタ表TBL-TGC1をクラスタリングデータベース15に格納する。
【0128】
また、クラスタリングマネージャ14は、
図9に示すように、クラスタが再クラスタリングされた時点でクラスタ表TBL-C3からなるターゲットクラスタ表TBL-TGC1を作成し、その作成したターゲットクラスタ表TBL-TGC1をクラスタリングデータベース15に格納する。
【0129】
更に、クラスタリングマネージャ14は、
図8の(b)に示すように、N
p個のピックアップクラスタとN
c個のクラスタとを作成した時点でターゲットクラスタ表TBL-TGC2を作成し、その作成したターゲットクラスタ表TBL-TGC2をクラスタリングデータベース15に格納する。
【0130】
図13は、
図2に示すネットワークスキャン装置1の動作を示すタイミングチャートである。なお、
図13は、LがMと異なる場合において、ネットワークスキャン装置1の動作を示す。
【0131】
図13を参照して、ネットワークスキャナ11は、N
c個のクラスタが作成された後、N
c個のクラスタに含まれる端末装置に対してネットワークスキャンのβ回の予備スキャンを実行する。βは、予備スキャンを打ち切るラウンド数m
th以上の数値からなり、例えば、3である。また、予備スキャンにおいては、N
c個のクラスタは、更新されない(即ち、N
c個のクラスタを再クラスタリングしない)。なお、スキャンスケジューラ16は、予備スキャンの各ラウンドθの開始時に予備スキャン用のスキャンスケジュールを作成してネットワークスキャナ11へ出力する。
【0132】
予備スキャンが終了すると、ネットワークスキャナ11は、(M-L)個のラウンドにおいて、Nc個のクラスタに含まれる端末装置に対してネットワークスキャンを繰り返し実行する。この場合、スキャンスケジューラ16は、(M-L)個のラウンドθの各々の開始時にNc個のクラスタに含まれる端末装置に対してネットワークスキャンを実行するためのスキャンスケジュールを作成してネットワークスキャナ11へ出力する。
【0133】
(M-L)個のラウンドθにおけるネットワークスキャンが終了すると、クラスタリングマネージャ14は、上述した方法によって、Nc個のクラスタからNp個の端末装置を抽出してNp個のピックアップクラスタを作成し、スキャンスケジューラ16は、Nc個のクラスタとNp個のピックアップクラスタとの(Nc+Np)個のクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールを作成し、その作成したスキャンスケジュールをネットワークスキャナ11へ出力してスキャンスケジュールに従ってネットワークスキャンを実行するようにネットワークスキャナ11を制御するとともにスキャンスケジュールをクラスタリングマネージャ14へ出力する。
【0134】
ネットワークスキャナ11は、スキャンスケジュールをスキャンスケジューラ16から受け、その受けたスキャンスケジュールに従って、(Nc+Np)個のクラスタに含まれる端末装置に対してネットワークスキャンを実行する。
【0135】
なお、スキャンスケジューラ16は、Np個のピックアップクラスタが作成されると、L個のラウンドθの各々の開始時に(Nc+Np)個のクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールを作成してネットワークスキャナ11およびクラスタリングマネージャ14へ出力し、ネットワークスキャナ11は、スキャンスケジュールをスキャンスケジューラ16から受ける毎に、スキャンスケジュールに従って、(Nc+Np)個のクラスタに含まれる端末装置に対してネットワークスキャンを実行する。
【0136】
そして、クラスタリングマネージャ14は、M個のラウンドθにおけるネットワークスキャンが終了した時点(即ち、ピックアップクラスタ作成後のL個のラウンドθにおけるネットワークスキャンが終了した時点)において、Nc個のクラスタとNp個のピックアップクラスタとの間で集中時間帯が同じであるクラスタ群(=集中時間帯が同じであるクラスタとピックアップクラスタとの対からなるクラスタ群)が少なくとも1つ存在する場合、Nc個のクラスタに含まれる端末装置についてのM個のスキャンスケジュールと、Np個のピックアップクラスタに含まれる端末装置についてのL個のスキャンスケジュールとに基づいて、上述した方法によって、集中時間帯が同じであるピックアップクラスタとクラスタとからなるクラスタ群(=集中時間帯が同じであるクラスタとピックアップクラスタとの対からなるクラスタ群)を少なくとも1つ検出し、その検出した少なくとも1つのクラスタ群に基づいて再クラスタリングを実行して新たなNc個のクラスタを作成する。なお、Nc個のクラスタとNp個のピックアップクラスタとの間で集中時間帯が同じであるクラスタ群が存在しない場合、この時点においては、新たなNc個のクラスタは、作成されない。
【0137】
その後、(M-L)個のラウンドθにおけるNc個のクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールの作成と、(M-L)個のラウンドθにおけるNc個のクラスタに含まれる端末装置に対するネットワークスキャンと、Np個のピックアップクラスタの作成と、L個のラウンドθにおける(Nc+Np)個のクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールの作成と、L個のラウンドθにおける(Nc+Np)個のクラスタに含まれる端末装置に対するネットワークスキャンと、集中時間帯が同じである少なくとも1つのクラスタ群(=集中時間帯が同じであるクラスタとピックアップクラスタとの対からなるクラスタ群)の検出と、再クラスタリングとが繰り返し実行される。
【0138】
図13に示すように、LがMと異なる場合、再クラスタリングは、ネットワークスキャンがMの整数倍だけ実施される毎(即ち、所定のラウンドM毎)に実行され、ピックアップクラスタの作成は、再クラスタリングと異なるタイミングにおいて、ネットワークスキャンがMの整数倍だけ実施される毎(即ち、所定のラウンドM毎)に実行される。
【0139】
なお、L=Mである場合、ピックアップクラスタの作成と再クラスタリングとが同じタイミングで実行される。この場合、ピックアップクラスタの作成、(Nc+Np)個のクラスタに含まれる端末装置に対するスキャンスケジュールの作成、集中時間帯が同じであるピックアップクラスタとクラスタとからなる少なくとも1つのクラスタ群(=集中時間帯が同じであるクラスタとピックアップクラスタとの対からなるクラスタ群)の検出、および再クラスタリングが順次実行される。
【0140】
この発明の実施の形態における変数および記号を表1に示す。
【0141】
【0142】
表1において、μ
τ,i、σ
τ,i、η
τ,iおよびn
τ,iは、推定変数である。また、推定変数μ
τ,i,σ
τ,i,η
τ,i,n
τ,iにおけるτは、ラウンドθ内の時間帯を表す。スキャンスケジューラ16は、
図3に示す対応表TBL1における正規化スキャン時刻t
iが属する時間帯τを次式によって算出する。
【0143】
【0144】
式(1)において、[timodθ/h]は、timodθ/hの演算値以下の値においてtimodθ/hの演算値に最も近い整数を表す。
【0145】
対応表TBL1におけるスキャン応答SRiおよびスキャン応答遅延SRDiは、正規化スキャン時刻tiに対応付けられているので、式(1)によって算出される時間帯τは、スキャン応答SRiおよびスキャン応答遅延SRDiが属する時間帯である。
【0146】
[推定変数の更新]
スキャンスケジューラ16は、正規化スキャン時刻tNが属する時間帯τを算出すると、次式によって全ての推定変数を更新する。
【0147】
【0148】
式(2A),(2B)におけるCは、スキャン応答遅延SRDiである。
【0149】
[ピックアップクラスタの抽出]
Nc個のクラスタからNp個の端末装置(Np個のIPアドレスAddi)を抽出する処理について説明する。クラスタリングマネージャ14は、N個の端末装置1~NのIPアドレスAdd1~AddNをランダムに並べた順列を作成し、その作成した順列をIとする。
【0150】
クラスタリングマネージャ14は、順列Iを作成すると、順列Iのg(gは、1≦g≦Nを満たす整数)番目のIPアドレスをAddgとし、IPアドレスAddgが属するクラスタをクラスタ表TBL-Cから検索し、その検索したクラスタの番号をjとする。
【0151】
そして、クラスタリングマネージャ14は、クラスタ表TBL-Cのクラスタjの要素数|Ej|が“1”よりも大きいか否かを判定する。
【0152】
クラスタjの要素数|Ej|が“1”よりも大きいと判定されたとき(即ち、クラスタjの要素数|Ej|が2以上であると判定されたとき)、クラスタリングマネージャ14は、クラスタjからIPアドレスAddgを削除する。これによって、クラスタjの要素数|Ej|が“1”だけ小さくなる。
【0153】
そして、クラスタリングマネージャ14は、IPアドレスAddgをピックアップ表TBL-Pに追加する。
【0154】
その後、クラスタリングマネージャ14は、ピックアップ表TBL-Pの列の個数oがNpになるまで、上述した動作を繰り返し実行してNc個のクラスタからNp個の端末装置(Np個のIPアドレスAddg)を抽出する。
【0155】
[スキャンスケジュールの作成]
スキャンスケジュールを作成する処理について説明する。スキャンスケジューラ16は、実行されたラウンドm(mは、0以上の整数)がmth以上でないとき、ホスト情報データベース13に格納された対応表TBL1を参照して、予備スキャンが必要な時間帯の集合、即ち、クラスタj内のIPアドレスのうちの1つでもスキャン成功回数がβ未満である時間帯の集合D”を取得する。即ち、スキャンスケジューラ16は、次式によって集合D”を取得する。
【0156】
【0157】
式(3)において、Dは、スケジューリング対象の時間帯の集合であり、E’jは、ターゲットクラスタ表TBL-TGCのクラスタjに属するIPアドレスの集合であり、nτ,bは、IPアドレスAddbに対する時間帯τにおけるスキャン成功回数である。
【0158】
スキャンスケジューラ16は、式(3)に示すように、スキャン成功回数nτ,bの最小値がβ未満であるIPアドレスAddb(集合E’j内のIPアドレス)が属する時間帯を検出することによって集合D”を取得する。
【0159】
そして、スキャンスケジューラ16は、集合D”が空集合Φでないとき、集合D”からランダムに時間帯τrを選択し、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τrに設定することを全てのポート番号について実行する。
【0160】
スキャンスケジューラ16は、ラウンドmがmth以上であるとき、または集合D”が空集合Φであるとき、ホスト情報データベース13に格納された対応表TBL1を参照して、クラスタj内の全てのIPアドレスに対するスキャン成功回数nτ,bの最小値がβ以上になるIPアドレスAddb(集合E’j内のIPアドレス)が属する時間帯を検出することによってスケジューリング可能な時間帯の集合D’を検出する。即ち、スキャンスケジューラ16は、次式によって集合D’を検出する。
【0161】
【0162】
そして、スキャンスケジューラ16は、集合D’が空集合Φでないとき、集合D’に含まれる時間帯τについてスキャン成功回数nτ,bの総和が最大になるIPアドレスAddb(集合E’j内のIPアドレス)を“l”(エル、以下同じ。)とする。その後、スキャンスケジューラ16は、μ’τ←μτ,l,σ’τ←στ,l,n’τ←nτ,lによって代表値μ’τ,σ’τ,n’τを取得する。即ち、スキャンスケジューラ16は、次式によって、代表値μ’τ,σ’τ,n’τを取得する。
【0163】
【0164】
なお、代表値μ’τ,σ’τ,n’τは、次式によって表される平均値であってもよい。
【0165】
【0166】
なお、式(6A),(6B),(6C)における|E’j|は、クラスタj内のIPアドレスの個数である。
【0167】
その後、スキャンスケジューラ16は、成功個数n’
τに定数γを加算して自由度n’
τ+γを算出する。定数γは、例えば、-1に設定される。また、スチューデントT分布の自由度は、0よりも大きくなければならないので、γは、-γ<βを満たす。
【0168】
そうすると、スキャンスケジューラ16は、自由度n’
τ+γ、平均μ’
τおよび標準偏差σ’
τに基づいて、次式によって、時間帯τにおけるスキャン応答遅延Cτを推定する。即ち、スキャンスケジューラ16は、次式によって、代表値μ’τ,σ’τ,n’τに基づいて推定値(スキャン応答遅延Cτ)を生成する。
【0169】
【0170】
このように、スキャンスケジューラ16は、Student T分布に従って乱数を発生させて推定値(スキャン応答遅延Cτ)を生成する。
【0171】
引き続いて、スキャンスケジューラ16は、次式によって、推定値(スキャン応答遅延Cτ)が最小になる時間帯τminを検出する。
【0172】
【0173】
そうすると、スキャンスケジューラ16は、クラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τminに設定する。なお、この場合、IPアドレス毎にポート数が異なるので、q番目のポートが無いIPアドレスが存在するが、その場合、q番目のポートが有るIPアドレスに対するスキャンスケジュールを時間帯τminに設定する。
【0174】
スキャンスケジューラ16は、上述した内容を全てのポート番号のポートおよび全てのクラスタ(Nc個のクラスタまたは(Nc+Np)個のクラスタ)について実行し、スキャンスケジュールを作成する。
【0175】
[集中時間帯の検出]
集中時間帯を検出する方法について説明する。
図14は、M個のラウンドθの具体例を示す図である。なお、
図14は、M=4であり、L=2である場合についてM個のラウンドθの具体例を示す。
【0176】
再クラスタリングが実行されるタイミングにおいては、ピックアップクラスタに対して、過去L(=2)回分のネットワークスキャンのスキャンスケジュールが取得されており、クラスタに対して、過去M(=4)回分のネットワークスキャンのスキャンスケジュールが取得されている。
【0177】
区間SEC0のラウンドθを基準として区間SEC3のラウンドθをmとすると、区間SEC0のラウンドθは、m-M+1(=3-4+1=0)によって表され、区間SEC2のラウンドθは、m-L+1(=3-2+1=2)によって表される。
【0178】
そこで、区間SEC3のラウンドθから過去のラウンドθ(=区間SEC0~SEC2)へ遡る場合、走査対象である区間SEC0~SEC3のラウンドθをrで表すと、クラスタ番号jがNcよりも大きい場合、rの終値rendは、rend=m-L+1(=区間SEC2のラウンド)によって表され、クラスタ番号jがNcよりも大きくない場合、rの終値rendは、rend=m-M+1(=区間SEC0のラウンド)によって表される。
【0179】
クラスタリングマネージャ14は、r=mと設定する。そして、クラスタリングマネージャ14は、クラスタ番号jがNcよりも大きい場合、クラスタjのic(icは、1≦ic≦|E’j|を満たす整数)番目のIPアドレスを取得し、IPアドレスAddi’とする。
【0180】
そして、クラスタリングマネージャ14は、L個のラウンドにおけるスキャンスケジュールを参照して、ラウンドrのIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得し、クラスタjに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールが時間帯τに設定された頻度を表すカウントzj,τを“1”だけインクリメントする。
【0181】
クラスタリングマネージャ14は、L個のラウンドにおけるスキャンスケジュールを参照してラウンドrのIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得する処理と、カウントzj,τを“1”だけインクリメントする処理とを全てのq番目のポート、r=m~rend(=m-L+1)の全てのラウンド(区間SEC3,SEC2)、クラスタj内の全てのIPアドレスおよび全てのクラスタ(=(Nc+Np)個のクラスタ)について実行する。
【0182】
また、クラスタリングマネージャ14は、クラスタ番号jがNcよりも大きくない場合、クラスタjのic番目のIPアドレスを取得し、IPアドレスAddi’とする。
【0183】
そして、クラスタリングマネージャ14は、M個のラウンドにおけるスキャンスケジュールを参照して、ラウンドrのIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得し、カウントzj,τを“1”だけインクリメントする。
【0184】
クラスタリングマネージャ14は、M個のラウンドにおけるスキャンスケジュールを参照して、ラウンドrのIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得する処理と、カウントzj,τを“1”だけインクリメントする処理とを全てのq番目のポート、r=m~rend(=m-M+1)の全てのラウンド(区間SEC3,SEC2,SEC1,SEC0)、クラスタj内の全てのIPアドレスおよび全てのクラスタ(=Nc個のクラスタ)について実行する。
【0185】
その後、クラスタリングマネージャ14は、次式によって、カウントzj,τが最大である時間帯τを集中時間帯τj
maxとして検出する処理を全てのクラスタ(=(Nc+Np)個のクラスタ)について実行する。
【0186】
【0187】
これによって、Nc個のクラスタの集中時間帯、およびNp個のクラスタの集中時間帯が検出される。
【0188】
[再クラスタリング]
クラスタを再クラスタリングする方法について説明する。クラスタリングマネージャ14は、Np個のピックアップクラスタにおけるk(kは、1≦k≦Npを満たす整数)番目のピックアップクラスタに対応する集中時間帯τmax
Nc+kを取得し、τ’kと置く。即ち、クラスタリングマネージャ14は、次式によってτ’kを求める。
【0189】
【0190】
そして、クラスタリングマネージャ14は、クラスタ表TBL-C内のクラスタにおいて、集中時間帯τ’kと一致する集中時間帯を有するクラスタを検出し、その検出したクラスタの集合をGと置く。集合Gは、次式によって表される。
【0191】
【0192】
クラスタリングマネージャ14は、集合Gが空集合Φでない場合、次式によって、集合Gに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタjs_minを検出する。
【0193】
【0194】
クラスタリングマネージャ14は、クラスタjs_minのクラスタサイズ|Ejs_min|がクラスタサイズの上限値Smax未満であるとき、ピックアップ表TBL-Pのk番目のピックアップクラスタに含まれるIPアドレスをクラスタjs_minに追加してクラスタjs_minを再クラスタリングする。
【0195】
一方、クラスタリングマネージャ14は、集合Gが空集合Φである場合、またはクラスタjs_minのクラスタサイズ|Ejs_min|がクラスタサイズの上限値Smax以上である場合、k番目のピックアップクラスタに含まれるIPアドレスを要素とするクラスタをクラスタ表TBL-Cに追加する。これによって、クラスタ表TBL-Cにおけるクラスタの個数がNcよりも多くなる。
【0196】
クラスタリングマネージャ14は、上述した処理をNp個のピックアップクラスタの全てについて実行する。
【0197】
[クラスタの結合]
クラスタサイズが小さいクラスタを結合する方法について説明する。クラスタリングマネージャ14は、クラスタリングデータベース15に格納されたクラスタ表TBL-Cを参照して、クラスタサイズがクラスタサイズの下限値Sminよりも小さいクラスタを検出し、その検出したクラスタの集合をHと置く。集合Hは、次式によって表される。
【0198】
【0199】
クラスタリングマネージャ14は、集合Hが空集合Φでない場合、集合H内のd(dは、1以上の整数)番目のクラスタを取得し、その取得したクラスタの番号をjとする。ここで、集合H内のd番目のクラスタの番号をjとするのは、集中時間帯τj
maxが番号jのクラスタに対して検出されるので、集合H内のd番目のクラスタと同じ集中時間帯τj
maxを有するクラスタl(≠j)をクラスタ表TBL-Cから抽出し易くするためである。
【0200】
クラスタリングマネージャ14は、集合Hからクラスタj(集合H内のd番目のクラスタ)を取得すると、クラスタjの集中時間帯と同じ集中時間帯を有し、かつ、クラスタサイズがクラスタサイズの下限値Smin以上(Smax-|Ej|)以下であるクラスタlを検出し、その検出したクラスタlの集合をGcplとする。集合Gcplは、次式によって表される。
【0201】
【0202】
式(14)において、Smax-|Ej|は、クラスタサイズの上限値Smaxよりもクラスタjのクラスタサイズ|Ej|だけ小さいクラスタサイズを表す。
【0203】
そして、クラスタリングマネージャ14は、集合Gcplに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタocplを次式によって検出する。
【0204】
【0205】
式(15)において、|El|は、クラスタlのクラスタサイズである。
【0206】
クラスタリングマネージャ14は、クラスタocplを検出すると、クラスタjの要素をクラスタocplに追加し、クラスタjの要素を削除する。この場合、クラスタlのクラスタサイズ|El|は、式(14)に示すように、(Smax-|Ej|)以下であるので、クラスタjの要素をクラスタocplに追加した後のクラスタocplの要素数(=クラスタサイズ)は、Smax(=(Smax-|Ej|)+|Ej|)以下になる。その結果、クラスタjとクラスタocplとの結合後のクラスタのクラスタサイズは、クラスタサイズの上限値Smaxを超えることはない。
【0207】
クラスタリングマネージャ14は、上述した処理を集合H内のクラスタの全てについて実行し、クラスタサイズがクラスタサイズの下限値Sminよりも小さいクラスタjを、クラスタjと同じ集中時間帯を有し、かつ、クラスタサイズがクラスタサイズの下限値Smin以上(Smax-|Ej|)以下であるクラスタlと結合する。即ち、クラスタリングマネージャ14は、クラスタサイズの上限値Smaxを超えないようにクラスタjをクラスタocplと結合する。
【0208】
[クラスタ数の調整]
クラスタ数を調整する処理について説明する。クラスタリングマネージャ14は、クラスタ表TBL-Cを参照して、クラスタjの個数Ncがクラスタの最大数CLmaxよりも大きい場合、クラスタサイズがf(fは、1以上の整数)番目に小さいクラスタを取得し、その取得したクラスタの番号をjとする。ここで、クラスタサイズがf番目に小さいクラスタの番号をjとするのは、上述したクラスタの結合において、集合H内のd番目のクラスタの番号をjとする理由と同じである。
【0209】
クラスタリングマネージャ14は、クラスタサイズがf番目に小さいクラスタjを取得すると、クラスタjの集中時間帯と同じ集中時間帯を有し、かつ、クラスタjと異なるクラスタlを検出し、その検出したクラスタlの集合をGdifとする。集合Gdifは、次式によって表される。
【0210】
【0211】
クラスタリングマネージャ14は、集合Gdifが空集合Φでない場合、集合Gdifに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタodifを次式によって検出する。
【0212】
【0213】
その後、クラスタリングマネージャ14は、クラスタjの要素をクラスタodifに追加し、クラスタjを削除する。これによって、クラスタ表TBL-Cのクラスタ数を減少することができる。
【0214】
図15は、
図2に示すネットワークスキャン装置1の動作を説明するためのフローチャートである。なお、
図15に示すフローチャートは、M回分のラウンドθが終了する毎に実行されるネットワークスキャン装置1の動作を示すフローチャートである。
【0215】
図15を参照して、ネットワークスキャン装置1の動作が開始されると、クラスタリングマネージャ14は、ラウンドmがm=0であるか否かを判定する(ステップS1)。
【0216】
ステップS1において、ラウンドmがm=0であると判定されたとき、クラスタリングマネージャ14は、推定変数μτ,i,ητ,i,στ,i,nτ,iの全てを零に設定することによって推定変数μτ,i,ητ,i,στ,i,nτ,iを初期化する(ステップS2)。
【0217】
そして、クラスタリングマネージャ14は、上述した方法によって、Nc個の初期のクラスタを作成する(ステップS3)。その後、クラスタリングマネージャ14は、クラスタ表TBL-Cによってターゲットクラスタ表TBL-TGCを上書する(ステップS4)。
【0218】
一方、ステップS1において、ラウンドmがm=0でないと判定されたとき、クラスタリングマネージャ14は、式(2)によって、推定変数μτ,i,ητ,i,στ,i,nτ,iを更新する(ステップS5)。
【0219】
そして、ステップS4またはステップS5の後、クラスタリングマネージャ14は、m mod Mが零であるか否かを判定する(ステップS6)。即ち、クラスタリングマネージャ14は、再クラスタリングを実施するラウンドであるかを判定する。
【0220】
ステップS6において、m mod Mが零であると判定されたとき、クラスタリングマネージャ14は、予備スキャンが済んでいるか否かを判定する(ステップS7)。より具体的には、クラスタリングマネージャ14は、ラウンドmがmth以上であると判定したとき、または予備スキャンが終了していない(IPアドレスAddi、時間帯τ)のペアの集合Ψ(={(i,τ)|nτ,i<β}、iは、IPアドレスAddiである。)が空集合Φであると判定したとき、予備スキャンが済んでいると判定し、ラウンドmがmthよりも小さく、かつ、集合Ψが空集合Φでないと判定したとき、予備スキャンが済んでいないと判定する。
【0221】
ステップS7において、予備スキャンが済んでいると判定されたとき、クラスタリングマネージャ14は、ステップS4において上書されたターゲットクラスタ表TBL-TGC1を参照して、Nc個のクラスタからランダムにNp個の端末装置を取り出してNp個のピックアップクラスタを作成するピックアップ処理を実行する(ステップS8)。この場合、各ピックアップクラスタは、1個の端末装置によって構成される。
【0222】
ステップS8の後、クラスタリングマネージャ14は、クラスタ表TBL-C2およびピックアップ表TBL-Pでターゲットクラスタ表TBL-TGC1を上書してターゲットクラスタ表TBL-TGC2を作成する(ステップS9)。より具体的には、クラスタリングマネージャ14は、ピックアップ表TBL-Pをクラスタ表TBL-C2の最後の列に連結し、その連結したクラスタ表TBL-C2およびピックアップ表TBL-Pによってターゲットクラスタ表TBL-TGC1を上書してターゲットクラスタ表TBL-TGC2を作成する。その後、クラスタリングマネージャ14は、上書したターゲットクラスタ表TBL-TGC2をスキャンスケジューラ16へ出力する。
【0223】
そして、ステップS6において、m mod Mが零でないと判定されたとき、またはステップS7において、予備スキャンが済んでいないと判定されたとき、またはステップS9の後、スキャンスケジューラ16は、ターゲットクラスタ表TBL-TGCに対してネットワークスキャンのスケジューリングを実行し(ステップS10)、スケジューリングを実行して作成したスキャンスケジュールをクラスタリングマネージャ14へ出力する。この場合、ステップS6において、m mod Mが零でないと判定された後にステップS10へ至ったとき、またはステップS7において、予備スキャンが済んでいないと判定された後にステップS10に至ったとき、ステップS10において、スキャンスケジューラ16は、ステップS4において上書きされたターゲットクラスタ表TBL-TGC1、または(m-1)回目以前のステップS9において上書きされたターゲットクラスタ表TBL-TGC2、または(m-1)回目以前の後述するステップS15において上書きされたターゲットクラスタ表TBL-TGC1に基づいて全てのクラスタについてスキャンスケジュールを作成する。また、ステップS9からステップS10に至ったとき、ステップS10において、スキャンスケジューラ16は、クラスタリングデータベース15に格納されたターゲットクラスタ表TBL-TGC2に基づいて、全てのクラスタについてスキャンスケジュールを作成する。
【0224】
クラスタリングマネージャ14は、スキャンスケジュールをスキャンスケジューラ16から受ける。そして、クラスタリングマネージャ14は、m mod MがL-1に等しいか否かを判定する(ステップS11)。即ち、クラスタリングマネージャ14は、L個のラウンドθが終了したか否かを判定する。
【0225】
ステップS11において、m mod MがL-1に等しいと判定されたとき(即ち、L個のラウンドθが終了したと判定されたとき)、クラスタリングマネージャ14は、ピックアップ表TBL-Pが空であるか否かを判定する(ステップS12)。
【0226】
ステップS12において、ピックアップ表TBL-Pが空でないと判定されたとき、クラスタリングマネージャ14は、(Nc+Np)個のクラスタ毎に、最もスキャンスケジュールが集中した時間帯τj
max(集中時間帯)を検出する(ステップS13)。
【0227】
その後、クラスタリングマネージャ14は、クラスタ調整処理を実行し(ステップS14)、クラスタ表TBL-Cでターゲットクラスタ表TBL-TGCを上書する(ステップS15)。これによって、ターゲットクラスタ表TBL-TGCは、クラスタ表TBL-Cのみからなる。
【0228】
そして、ステップS11において、m mod MがL-1に等しくないと判定されたとき、またはステップS12において、ピックアップ表TBL-Pが空であると判定されたとき、またはステップS15の後、ネットワークスキャン装置1の動作が終了する。
【0229】
図16は、
図15のステップS5の詳細な動作を説明するためのフローチャートである。
【0230】
図16を参照して、
図15のステップS1において、ラウンドmがm=0でないと判定されたとき、クラスタリングマネージャ14は、i=1を設定し(ステップS51)、q=1を設定する(ステップS52)。
【0231】
そして、クラスタリングマネージャ14は、ホスト情報データベース13に格納された対応表TBL1を参照して、m-1回目のネットワークスキャンにおけるIPアドレスAddiのq番目のポートに対するスキャン応答SRi_qが有るか否かを判定する(ステップS53)。この場合、クラスタリングマネージャ14は、対応表TBL1を参照して、m-1回目のネットワークスキャンにおけるIPアドレスAddiのq番目のポートに対応するスキャン応答SRi_qが“1”からなるとき、スキャン応答SRi_qが有ると判定し、m-1回目のネットワークスキャンにおけるIPアドレスAddiのq番目のポートに対応するスキャン応答SRi_qが“0”からなるとき、スキャン応答SRi_qが無いと判定する。
【0232】
ステップS53において、m-1回目のネットワークスキャンにおけるIPアドレスAddiのq番目のポートに対応するスキャン応答SRi_qが有ると判定されたとき、クラスタリングマネージャ14は、対応表TBL1を参照して、スキャン応答SRi_qに対応した正規化スキャン時刻tiおよびスキャン応答遅延C(=SRDi)を取得する(ステップS54)。
【0233】
その後、クラスタリングマネージャ14は、式(1)によって、正規化スキャン時刻tiが属する時間帯τを算出する(ステップS55)。
【0234】
そうすると、クラスタリングマネージャ14は、式(2)によって、推定変数μτ,i,ητ,i,στ,i,nτ,iを更新する(ステップS56)。
【0235】
そして、ステップS53において、m-1回目のネットワークスキャンにおけるIPアドレスAddiのq番目のポートに対するスキャン応答SRi_qが無いと判定されたとき、またはステップS56の後、クラスタリングマネージャ14は、q=Miであるか否かを判定する(ステップS57)。なお、Miは、IPアドレスAddiのスキャン対象のポート数である。
【0236】
ステップS57において、q=Miでないと判定されたとき、クラスタリングマネージャ14は、q=q+1を設定する(ステップS58)。その後、一連の動作は、ステップS53へ移行し、ステップS57において、q=Miであると判定されるまで、ステップS53~ステップS58が繰り返し実行される。
【0237】
そして、ステップS57において、q=Miであると判定されると、クラスタリングマネージャ14は、i=Nであるか否かを判定する(ステップS59)。
【0238】
ステップS59において、i=Nでないと判定されたとき、クラスタリングマネージャ14は、i=i+1を設定する(ステップS60)。その後、一連の動作は、ステップS52へ移行し、ステップS59において、i=Nであると判定されるまで、ステップS52~ステップS60が繰り返し実行される。
【0239】
そして、ステップS59において、i=Nであると判定されると、一連の動作は、
図15のステップS6へ移行する。
【0240】
図16に示すフローチャートを実行することによって、ネットワークスキャンの対象である全てのIPアドレスAdd
iのスキャン応答SR
iが有る全てのポートに対応するスキャン応答遅延C(=SRD
i)を用いて全てのIPアドレスAdd
iの時間帯τの推定変数μ
τ,i,η
τ,i,σ
τ,i,n
τ,iが更新される。
【0241】
図17は、
図15のステップS8の詳細な動作を説明するためのフローチャートである。
【0242】
図17を参照して、
図15のステップS7において、予備スキャンが済んでいると判定されたとき、クラスタリングマネージャ14は、ピックアップ表TBL-Pのクラスタ番号jおよび所属するIPアドレスAdd
iを全て削除してピックアップ表TBL-Pをクリアする(ステップS81)。
【0243】
そして、クラスタリングマネージャ14は、N個の端末装置1~NのIPアドレスAdd1~AddNをランダムに並べた順列を作成し、その作成した順列をIとする(ステップS82)。その後、クラスタリングマネージャ14は、g=1を設定し(ステップS83)、順列Iのg番目のIPアドレスをAddgとする(ステップS84)。
【0244】
その後、クラスタリングマネージャ14は、IPアドレスAddgが属するクラスタを検索し、その検索したクラスタの番号をjとする(ステップS85)。
【0245】
引き続いて、クラスタリングマネージャ14は、クラスタ表TBL-Cのクラスタjの要素数|Ej|が“1”よりも大きいか否かを判定する(ステップS86)。
【0246】
ステップS86において、要素数|Ej|が“1”よりも大きくないと判定されたとき、一連の動作は、ステップS89へ移行する。
【0247】
一方、ステップS86において、要素数|Ej|が“1”よりも大きいと判定されたとき、クラスタリングマネージャ14は、クラスタjからIPアドレスAddgの端末装置を削除する(ステップS87)。これによって、クラスタjのクラスタサイズ|Ej|が“1”だけ小さくなる。
【0248】
そして、クラスタリングマネージャ14は、IPアドレスAddgの端末装置をピックアップ表TBL-Pに追加する(ステップS88)。これによって、ピックアップ表TBL-Pの列数oが“1”だけ増える。
【0249】
ステップS86において、クラスタjの要素数|Ej|が“1”よりも大きくないと判定されたとき、またはステップS88の後、クラスタリングマネージャ14は、列数oがNpであるか否かを判定する(ステップS89)。
【0250】
ステップS89において、列数oがNpでないと判定されたとき、クラスタリングマネージャ14は、g=g+1を設定する(ステップS90)。その後、一連の動作は、ステップS84へ移行し、ステップS89において、列数oがNpであると判定されるまで、ステップS84~ステップS90が繰り返し実行される。
【0251】
そして、ステップS89において、列数oがN
pであると判定されると、クラスタリングマネージャ14は、N
p個の端末装置(N
p個のIPアドレス)に基づいてN
p個のピックアップクラスタを作成する(ステップS91)。その後、一連の動作は、
図15のステップS9へ移行する。
【0252】
図17に示すフローチャートにおいては、ステップS84が複数回実行されることによって順列Iから取り出された複数のIPアドレスAdd
gが1つのクラスタに属することもあり、その場合、1つのクラスタから複数の端末装置(=複数のIPアドレスAdd
g)が取り出されて複数のピックアップクラスタが作成されることになる(ステップS87,S88参照)。但し、この場合、端末装置を取り出す前のクラスタjの要素数|E
j|が“1”よりも大きいことが条件とされる(ステップS86参照)。
【0253】
図18は、
図15のステップS10の詳細な動作を説明するためのフローチャートである。
【0254】
図18を参照して、
図15のステップS6において、m mod Mが零に等しくないと判定されたとき、または
図15のステップS7において、予備スキャンが済んでいないと判定されたとき、または
図15のステップS9の後、スキャンスケジューラ16は、j=1を設定し(ステップS101)、ラウンドmがm
th以上であるか否かを判定する(ステップS102)。
【0255】
ステップS102において、ラウンドmがmth以上でないと判定されたとき、スキャンスケジューラ16は、式(3)によって、予備スキャンが必要な時間帯の集合D”を取得する(ステップS103)。
【0256】
そして、スキャンスケジューラ16は、集合D”が空集合Φでないか否かを判定する(ステップS104)。
【0257】
ステップS104において、集合D”が空集合Φでないと判定されたとき、スキャンスケジューラ16は、q=1を設定し(ステップS105)、集合D”からランダムに選択した時間帯をτq_rとする(ステップS106)。
【0258】
そして、スキャンスケジューラ16は、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τq_rに設定する(ステップS107)。
【0259】
その後、スキャンスケジューラ16は、q=Mj
maxであるか否かを判定する(ステップS108)。なお、Mj
maxは、クラスタj内のIPアドレスのスキャン対象のポート数の最大値である。
【0260】
ステップS108において、q=Mj
maxでないと判定されたとき、スキャンスケジューラ16は、q=q+1を設定する(ステップS109)。その後、一連の動作は、ステップS106へ移行し、ステップS108において、q=Mj
maxであると判定されるまで、ステップS106~ステップS109が繰り返し実行される。
【0261】
そして、ステップS108において、q=Mj
maxであると判定されると、一連の動作は、ステップS119へ移行する。
【0262】
一方、ステップS102において、ラウンドmがmth以上であると判定されたとき、またはステップS104において、集合D”が空集合Φであると判定されたとき、スキャンスケジューラ16は、式(4)によって、スケジューリング可能な時間帯の集合D’を取得する(ステップS110)。
【0263】
そして、スキャンスケジューラ16は、集合D’が空集合Φでないか否かを判定する(ステップS111)。
【0264】
ステップS111において、集合D’が空集合Φでないと判定されたとき、スキャンスケジューラ16は、集合D’に含まれる時間帯τについてスキャン成功回数nτ,bの総和が最大になるIPアドレスAddb(集合E’j内のIPアドレス)を“l”とし、μ’τ←μτ,l,σ’τ←στ,l,n’τ←nτ,lによって代表値μ’τ,σ’τ,n’τを取得する。即ち、スキャンスケジューラ16は、式(5)によって、時間帯τにおける代表値μ’τ,σ’τ,n’τを取得する(ステップS112)。
【0265】
その後、スキャンスケジューラ16は、q=1を設定し(ステップS113)、式(7)によって、代表値μ’τ,σ’τ,n’τに基づいて推定値(q番目のポートについてのスキャン応答遅延Cq_τ)を生成する(ステップS114)。
【0266】
引き続いて、スキャンスケジューラ16は、式(8)によって、推定値(スキャン応答遅延Cq_τ)が最小になる時間帯τq_minを検出する(ステップS115)。
【0267】
そうすると、スキャンスケジューラ16は、クラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τq_minに設定する(ステップS116)。なお、この場合、IPアドレス毎にポート数が異なるので、q番目のポートが無いIPアドレスが存在するが、その場合、q番目のポートが有るIPアドレスに対するスキャンスケジュールを時間帯τq_minに設定する。
【0268】
ステップS116の後、スキャンスケジューラ16は、q=Mj
maxであるか否かを判定する(ステップS117)。
【0269】
ステップS117において、q=Mj
maxでないと判定されたとき、スキャンスケジューラ16は、q=q+1を設定する(ステップS118)。その後、一連の動作は、ステップS114へ移行し、ステップS117において、q=Mj
maxであると判定されるまで、ステップS114~ステップS118が繰り返し実行される。
【0270】
そして、ステップS108またはステップS117において、q=M
j
maxであると判定されたとき、またはステップS111において、集合D’が空集合Φであると判定されたとき、スキャンスケジューラ16は、j=N
cpであるか否かを判定する(ステップS119)。この場合、N
cpは、N
cまたは(N
c+N
p)からなる。即ち、
図18に示すフローチャートが
図13に示すN
c個のクラスタに含まれる端末装置に対してネットワークスキャンを行うときに実行される場合、N
cpは、N
cからなり、
図18に示すフローチャートが
図13に示す(N
c+N
p)個のクラスタに含まれる端末装置に対してネットワークスキャンを行うときに実行される場合、N
cpは、(N
c+N
p)からなる。
【0271】
ステップS119において、j=Ncpでないと判定されたとき、スキャンスケジューラ16は、j=j+1を設定する(ステップS120)。その後、一連の動作は、ステップS102へ移行し、ステップS119において、j=Ncpであると判定されるまで、ステップS102~ステップS120が繰り返し実行される。
【0272】
そして、ステップS119において、j=N
cpであると判定されると、一連の動作は、
図15のステップS11へ移行する。
【0273】
図18に示すフローチャートにおいては、ステップS102において、ラウンドmがm
th以上でないと判定されたとき、スキャンスケジューラ16は、ステップS103、ステップS104の“YES”、およびステップS105~S109によって、クラスタjの全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τ
q_rに設定する処理をクラスタj内の全てのIPアドレスの全てのポートについて実行する。即ち、スキャンスケジューラ16は、予備スキャンが終わっていないクラスタj内の端末装置に対するスキャンスケジュールを予備スキャンの時間帯の集合D”の任意の時間帯τ
q_rに設定して予備スキャンにおけるスキャンスケジュールを作成する。なお、スキャンスケジューラ16は、予備スキャンが終わっていないクラスタjについて、予備スキャンにおけるスキャンスケジュールを作成する。
【0274】
また、
図18に示すフローチャートにおいては、ステップS114~S118を全てのポートについて実行することによって、スキャンスケジューラ16は、クラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールを時間帯τ
q_minに設定する処理を全てのポートについて実行する。即ち、スキャンスケジューラ16は、クラスタ単位でIPアドレスの各ポートに対するスキャンスケジュールを作成する。
【0275】
更に、
図18に示すフローチャートにおいては、N
cpは、N
cまたはN
c+N
pからなるので、jがN
c<j≦N
c+N
pの範囲であるとき、スキャンスケジューラ16は、ステップS114~S118を全てのポートについて実行することによって、要素数が1個であるピックアップクラスタj’に対して、クラスタ単位でIPアドレスの各ポートに対するスキャンスケジュールを作成する。
【0276】
ピックアップクラスタj’に対してスキャンスケジュールを作成する場合、スキャンスケジュールを作成する対象となる端末装置は、1個であるが、
図13に示すように、ピックアップクラスタを作成するタイミングにおいては、N
c個のクラスタに含まれる端末装置に対する(M-L)個のラウンドにおけるネットワークスキャンが終了しているので、ピックアップクラスタj’に含まれる端末装置(N
c個のクラスタのいずれかに含まれていた端末装置)の各ポートに対応するスキャン応答SR
iおよびスキャン応答遅延SRD
iは、複数個取得されている。その結果、ステップS112において代表値μ’
τ,σ’
τ,n’
τを取得することができる。
【0277】
更に、
図18に示すフローチャートが
図13に示す予備スキャンの終了直後に実行される場合、スキャンスケジューラ16は、予備スキャンが終了したクラスタに対してステップS114~S118を実行するので(S102の“YES”およびS104の“NO”参照)、クラスタjに含まれる端末装置の各ポートに対応するスキャン応答SR
iおよびスキャン応答遅延SRD
iは、複数個取得されている。その結果、ステップS112において代表値μ’
τ,σ’
τ,n’
τを取得することができる。
【0278】
図19は、
図15のステップS13の詳細な動作を説明するためのフローチャートである。
【0279】
図19を参照して、
図15のステップS12において、ピックアップ表TBL-Pが空でないと判定されたとき、クラスタリングマネージャ14は、j=1を設定する(ステップS131)。
【0280】
そして、クラスタリングマネージャ14は、クラスタjに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールが時間帯τに設定された頻度を示すカウント値zj,τをzj,τ=0に設定する(ステップS132)。
【0281】
その後、クラスタリングマネージャ14は、jがNcよりも大きいか否かを判定する(ステップS133)。
【0282】
ステップS133において、jがNcよりも大きいと判定されたとき、クラスタリングマネージャ14は、走査対象である過去のラウンドrの終値rendをrend=m-L+1に設定する(ステップS134)。
【0283】
一方、ステップS133において、jがNcよりも大きくないと判定されたとき、クラスタリングマネージャ14は、走査対象である過去のラウンドrの終値rendをrend=m-M+1に設定する(ステップS135)。
【0284】
そして、ステップS134またはステップS135の後、クラスタリングマネージャ14は、クラスタj内のIPアドレスAddiの番号を表すicをic=1に設定する(ステップS136)。
【0285】
その後、クラスタリングマネージャ14は、クラスタjのic番目のIPアドレスを取得し、その取得したIPアドレスをIPアドレスAddi’とする(ステップS137)。
【0286】
引き続いて、クラスタリングマネージャ14は、r=mを設定し(ステップS138)、q=1を設定する(ステップS139)。
【0287】
そうすると、クラスタリングマネージャ14は、ラウンドrにおける複数のスキャンスケジュールを参照して、ラウンドrのIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得する(ステップS140)。
【0288】
そして、クラスタリングマネージャ14は、クラスタjの時間帯τのカウントzj,τを“1”だけ増加する(ステップS141)。
【0289】
その後、クラスタリングマネージャ14は、q=Mj
maxであるか否かを判定する(ステップS142)。
【0290】
ステップS142において、q=Mj
maxでないと判定されたとき、クラスタリングマネージャ14は、q=q+1を設定する(ステップS143)。その後、一連の動作は、ステップS140へ移行し、ステップS142において、q=Mj
maxであると判定されるまで、ステップS140~ステップS143が繰り返し実行される。
【0291】
そして、ステップS142において、q=Mj
maxであると判定されると、クラスタリングマネージャ14は、r=rendであるか否かを判定する(ステップS144)。
【0292】
ステップS144において、r=rendでないと判定されたとき、クラスタリングマネージャ14は、r=r-1を設定する(ステップS145)。その後、一連の動作は、ステップS139へ移行し、ステップS144において、r=rendであると判定されるまで、ステップS139~ステップS145が繰り返し実行される。
【0293】
そして、ステップS144において、r=rendであると判定されると、クラスタリングマネージャ14は、ic=|E’j|であるか否かを判定する(ステップS146)。即ち、クラスタリングマネージャ14は、icがターゲットクラスタ表TBL-TGCのクラスタjに属するIPアドレスの個数|E’j|に等しいか否かを判定する。
【0294】
ステップS146において、ic=|E’j|でないと判定されたとき、クラスタリングマネージャ14は、ic=ic+1を設定する(ステップS147)。その後、一連の動作は、ステップS137へ移行し、ステップS146において、ic=|E’j|であると判定されるまで、ステップS137~ステップS147が繰り返し実行される。
【0295】
そして、ステップS146において、ic=|E’j|であると判定されると、クラスタリングマネージャ14は、j=Nc+Npであるか否かを判定する(ステップS148)。
【0296】
ステップS148において、j=Nc+Npでないと判定されたとき、クラスタリングマネージャ14は、j=j+1を設定する(ステップS149)。その後、一連の動作は、ステップS132へ移行し、ステップS148において、j=Nc+Npであると判定されるまで、ステップS132~ステップS149が繰り返し実行される。
【0297】
そして、ステップS148において、j=N
c+N
pであると判定されると、クラスタリングマネージャ14は、式(9)によるクラスタjの集中時間帯τ
j
maxの検出をターゲットクラスタ表TBL-TGCに含まれる(N
c+N
p)個のクラスタ1~(N
c+N
p)の全てについて実行する(ステップS150)。その後、一連の動作は、
図15のステップS14へ移行する。
【0298】
ステップS139、およびステップS140~ステップS143のループは、IPアドレスAddi’の全てのポートについてネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数をzj,τに保持するステップである。
【0299】
また、ステップS138、およびステップS139~ステップS145のループは、IPアドレスAddi’の全てのポートおよびr=m~rendの全てのラウンドについてネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数をzj,τに保持するステップである。
【0300】
更に、ステップS136、およびステップS137~ステップS147のループは、IPアドレスAddi’の全てのポート、r=m~rendの全てのラウンド、およびクラスタjに所属する全てのIPアドレスAddi’についてネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数をzj,τに保持するステップである。
【0301】
更に、ステップS131、およびステップS132~ステップS149のループは、IPアドレスAddi’の全てのポート、r=m~rendの全てのラウンド、クラスタjに所属する全てのIPアドレスAddi’、およびターゲットクラスタ表TBL-TGCの全てのクラスタjについてネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数をzj,τに保持するステップである。
【0302】
更に、ステップS134の後に、ステップS136~ステップS145が実行される場合、
図14に示すL個のラウンドθ(区間SEC3,SEC2)において、ネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数がz
j,τに保持される。
【0303】
更に、ステップS135の後に、ステップS136~ステップS145が実行される場合、
図14に示すM個のラウンドθ(区間SEC3,SEC2,SEC1,SEC0)において、ネットワークスキャンがスケジューリングされた時間帯τの個数をカウントし、そのカウントした時間帯τの個数がz
j,τに保持される。
【0304】
図20は、
図15のステップS14の詳細な動作を説明するためのフローチャートである。
【0305】
図20を参照して、
図15のステップS13の後、クラスタリングマネージャ14は、ピックアップしたN
p個の端末装置からなるN
p個のピックアップクラスタのうちのピックアップクラスタとクラスタとを合体する処理である再クラスタリング処理を実行する(ステップS151)。
【0306】
その後、クラスタリングマネージャ14は、クラスタサイズが小さいクラスタを結合し、クラスタ数の増加を抑える処理(小さいクラスタの結合)を実行する(ステップS152)。
【0307】
引き続いて、クラスタリングマネージャ14は、クラスタ数がクラスタの最大数CL
maxを超えた場合にクラスタ数を調整する処理(クラスタ数調整)を実行する(ステップS153)。そして、一連の動作は、
図15のステップS15へ移行する。
【0308】
図21は、
図20のステップS151の詳細な動作を説明するためのフローチャートである。
【0309】
図21を参照して、
図15のステップS13の後、クラスタリングマネージャ14は、k=1を設定する(ステップS1511)。
【0310】
そして、クラスタリングマネージャ14は、Np個のピックアップクラスタにおけるk番目のピックアップクラスタに対応する集中時間帯τmax
Nc+kを取得し、τ’kと置く(ステップS1512)。即ち、クラスタリングマネージャ14は、式(10)によってτ’kを求める。
【0311】
その後、クラスタリングマネージャ14は、クラスタ表TBL-C内のクラスタにおいて、集中時間帯τ’kと一致する集中時間帯を有するクラスタlを検出し、その検出したクラスタlの集合をGと置く(ステップS1513)。集合Gは、式(11)によって表される。
【0312】
なお、ステップS1513においては、クラスタリングマネージャ14は、集中時間帯τ’kと一致する複数の集中時間帯を検出し、その検出した複数の集中時間帯をそれぞれ有する複数のクラスタを検出してもよい。この場合、クラスタリングマネージャ14は、集中時間帯τ’kに対応付けて複数の集中時間帯および複数のクラスタを集中時間帯表に記録する。そして、クラスタリングマネージャ14は、集中時間帯表をクラスタリングデータベース15に格納する。複数の集中時間帯については、順序は、無視される。このように、集中時間帯τ’kと一致する複数の集中時間帯を検出することは、最適なスキャンタイミングが長い周期(例えば、θ=12時間である場合、一週間(168時間)である。)で変化する場合に有効である。
【0313】
ステップS1513の後、クラスタリングマネージャ14は、集合Gが空集合Φでないか否かを判定する(ステップS1514)。
【0314】
ステップS1514において、集合Gが空集合Φでないと判定されたとき、クラスタリングマネージャ14は、式(12)によって、集合Gに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタjs_minを検出する(ステップS1515)。この場合、クラスタリングマネージャ14は、集合Gに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタの個数が複数個である場合、クラスタサイズが最も小さい複数のクラスタのうちの任意の1個のクラスタをクラスタjs_minとして検出する。また、クラスタリングマネージャ14は、集合Gに含まれるクラスタが1個である場合、その1個のクラスタをクラスタjs_minとして検出する。
【0315】
そして、ステップS1515の後、クラスタリングマネージャ14は、クラスタjs_minのクラスタサイズ|Ejs_min|がクラスタサイズの上限値Smax未満であるか否かを判定する(ステップS1516)。
【0316】
ステップS1516において、クラスタサイズ|Ejs_min|が上限値Smax未満であると判定されたとき、クラスタリングマネージャ14は、ピックアップ表TBL-Pのk番目のピックアップクラスタに含まれるIPアドレスをクラスタjs_minに追加する(ステップS1517)。
【0317】
一方、ステップS1514において、集合Gが空集合Φであると判定されたとき、またはステップS1516において、クラスタサイズ|Ejs_min|が上限値Smax未満でないと判定されたとき、クラスタリングマネージャ14は、ピックアップ表TBL-Pのk番目のピックアップクラスタに含まれるIPアドレスを要素とするクラスタをクラスタ表TBL-Cに追加する(ステップS1518)。これによって、クラスタ数Ncが“1”だけ増える。
【0318】
そして、ステップS1517またはステップS1518の後、クラスタリングマネージャ14は、k=Npであるか否かを判定する(ステップS1519)。
【0319】
ステップS1519において、k=Npでないと判定されたとき、クラスタリングマネージャ14は、k=k+1を設定する(ステップS1520)。その後、一連の動作は、ステップS1512へ移行し、ステップS1519において、k=Npであると判定されるまで、ステップS1512~ステップS1520が繰り返し実行される。
【0320】
そして、ステップS1519において、k=N
pであると判定されると、一連の動作は、
図20のステップS152へ移行する。
【0321】
ステップS1514において、集合Gが空集合Φであると判定されたとき、ステップS1518が実行されるのは、ピックアップクラスタの集中時間帯τ’kと同じ集中時間帯を有するクラスタが存在しないので、集中時間帯τ’kを有するピックアップクラスタの端末装置をクラスタに戻すことができないからである。
【0322】
また、ステップS1516において、クラスタサイズ|Ejs_min|が上限値Smax未満でないと判定されたとき、ステップS1518が実行されるのは、集中時間帯τ’kを有するピックアップクラスタの端末装置を戻した場合に戻す先のクラスタjs_minのクラスタサイズが上限値Smaxを超えてしまうからである。
【0323】
図21に示すフローチャートにおいては、N
p個のピックアップクラスタの全てについて、ピックアップクラスタの集中時間帯τ’
kと同じ集中時間帯τ
l
maxを有し、かつ、クラスタサイズがクラスタサイズの上限値S
max未満であるN
p個のクラスタが存在する場合、ステップS1514において、集合Gが空集合Φでないと判定され、ステップS1516において、クラスタサイズ|j
s_min|がクラスタサイズの上限値S
max未満であると判定されるので、ステップS1517において、N
p個のピックアップクラスタの全てが再クラスタリングされる。この場合、ステップS1518が実行されないので、再クラスタリング後のクラスタ表TBL-Cのクラスタ数は、N
c個になる。
【0324】
一方、Np個のピックアップクラスタの全てについて、ピックアップクラスタの集中時間帯τ’kと同じ集中時間帯τl
maxを有し、かつ、クラスタサイズがクラスタサイズの上限値Smax未満であるクラスタが存在しない場合、ステップS1514において、集合Gが空集合Φであると判定され、ステップS1518が実行される。その結果、再クラスタリング後のクラスタ表TBL-Cのクラスタ数は、(Nc+Np)個になる。
【0325】
従って、再クラスタリングが実行された後のクラスタ数は、Nc個~(Nc+Np)個の範囲になる。
【0326】
図21のフローチャートによれば、ピックアップクラスタの集中時間帯τ’
kと同じ集中時間帯を有するクラスタj
s_minに、ピックアップクラスタに所属する端末装置を追加することによって再クラスタリングが行われる(ステップS1513,S1515,S1517参照)。
【0327】
その結果、集中時間帯が同じであるIPアドレスを1つのクラスタにまとめることができる。
【0328】
図22は、
図20のステップS152の詳細な動作を説明するためのフローチャートである。
【0329】
図22を参照して、
図20のステップS151の後、クラスタリングマネージャ14は、クラスタリングデータベース15に格納されたクラスタ表TBL-Cを参照して、クラスタサイズの下限値S
minよりも小さいクラスタを検出し、その検出したクラスタの集合をHと置く(ステップS1521)。集合Hは、式(13)によって表される。
【0330】
そして、クラスタリングマネージャ14は、集合Hが空集合Φでないか否かを判定する(ステップS1522)。
【0331】
ステップS1522において、集合Hが空集合Φでないと判定されたとき、クラスタリングマネージャ14は、d=1を設定し(ステップS1523)、集合H内のd番目のクラスタを取得し、その取得したクラスタの番号をjとする(ステップS1524)。
【0332】
そして、クラスタリングマネージャ14は、クラスタj(集合H内のd番目のクラスタ)の集中時間帯と同じ集中時間帯を有し、かつ、クラスタサイズがクラスタサイズの下限値Smin以上(Smax-|Ej|)以下であるクラスタlを検出し、その検出したクラスタlの集合をGcplとする(ステップS1525)。集合Gcplは、式(14)によって表される。ここで、τj
maxは、クラスタjの集中時間帯であり、τl
maxは、クラスタjと異なるクラスタlの集中時間帯である。
【0333】
その後、クラスタリングマネージャ14は、集合Gcplが空集合Φでないか否かを判定する(ステップS1526)。
【0334】
ステップS1526において、集合Gcplが空集合Φでないと判定されたとき、クラスタリングマネージャ14は、式(15)によって、集合Gcplに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタocplを検出する(ステップS1527)。
【0335】
そして、クラスタリングマネージャ14は、ステップS1524において取得したクラスタjの要素をクラスタocplに追加し、クラスタjの要素を削除する(ステップS1528)。
【0336】
その後、クラスタリングマネージャ14は、d=|H|であるか否かを判定する(ステップS1529)。|H|は、集合Hに含まれるクラスタjの個数である。
【0337】
ステップS1529において、d=|H|でないと判定されたとき、クラスタリングマネージャ14は、d=d+1を設定する(ステップS1530)。その後、一連の動作は、ステップS1524へ移行し、ステップS1529において、d=|H|であると判定されるまで、ステップS1524~ステップS1530が繰り返し実行される。
【0338】
そして、ステップS1529において、d=|H|であると判定されると、クラスタリングマネージャ14は、要素が無いクラスタjを削除し、クラスタ番号を振り直す(ステップS1531)。
【0339】
そうすると、ステップS1522において、集合Hが空集合Φであると判定されたとき、またはステップS1531の後、一連の動作は、
図20のステップS153へ移行する。
【0340】
図22に示すフローチャートにおいては、クラスタサイズがクラスタサイズの下限値S
minよりも小さいクラスタjは、クラスタjの集中時間帯τ
j
maxと同じ集中時間帯τ
l
maxを有するクラスタlのうちのクラスタサイズが最小であるクラスタo
cplと結合される(ステップS1521,S1525,S1527,S1528参照)。
【0341】
また、結合対象であるクラスタj,ocplの一方のクラスタjは、クラスタサイズの下限値Sminよりも小さいクラスタサイズを有し(ステップS1521参照)、クラスタj,ocplの他方のクラスタocplは、集合Gcplに含まれるクラスタのうちで最小のクラスタサイズを有するので(ステップS1527参照)、結合後のクラスタocplのクラスタサイズがクラスタサイズの上限値Smaxを超えることを抑制できる。
【0342】
更に、クラスタj,o
cplを結合した後、クラスタjが削除されるので(ステップS1531参照)、
図21のステップS1518においてクラスタ数が増えても、
図22に示すフローチャートを実行してクラスタを結合することによってクラスタ数がクラスタの最大数CL
maxを超えるのを抑制できる。
【0343】
更に、クラスタの結合の対象となるクラスタjは、クラスタサイズがクラスタサイズの下限値Sminよりも小さいので(ステップS1521参照)、下限値Sminの値が第1の値よりも大きい第2の値からなるとき、結合対象となるクラスタjの個数が第1の個数になり、下限値Sminの値が第1の値(<第2の値)からなるとき、結合対象となるクラスタjの個数が第1の個数以下である第2の個数になる。
【0344】
従って、下限値Sminの値を制御することによって、クラスタ表TBL-Cに所属するクラスタの個数をクラスタの最大数CLmaxを超えない範囲で制御できる。このことは、クラスタサイズの上限値Smaxを同様に制御することによっても実現できる。
【0345】
更に、ステップS1522において、集合Hが空集合Φであると判定されたとき、ステップS1523~ステップS1531が実行されないので、クラスタ表TBL-Cに所属するクラスタの各々は、クラスタサイズの下限値Smin以上のクラスタサイズを有していることになる。
【0346】
図22に示すフローチャートは、
図20のステップS151(=
図21に示すフローチャート)が実行された後に実行される。その結果、
図22に示すフローチャートの開始時に存在するクラスタ数は、上述したように、再クラスタリング後のN
c個~(N
c+N
p)個の範囲である。
【0347】
そして、N
c個~(N
c+N
p)個の範囲の個数のクラスタの全てがクラスタサイズの下限値S
min以上のクラスタサイズを有している場合、
図22に示すフローチャートを実行することによってクラスタ数を減少させることができない。
【0348】
しかし、
図22に示すフローチャートの開始時に存在するクラスタ数が(N
c+N
p)個である場合、N
p個のクラスタは、N
p個のピックアップクラスタと実質的に同じであるので、N
p個のクラスタの各々は、1個の端末装置からなり、例えば、下限値S
minを“2”に設定することによって、N
p個のクラスタを集合Hの要素とすることができる。
【0349】
従って、
図20のステップS151(=
図21に示すフローチャート)が実行された後に、
図22に示すフローチャートを実行することによって、
図21に示すフローチャートの実行によって増加したクラスタ数を減少させることができる。その結果、クラスタ数を減少させ、かつ、集中時間帯が同じであるIPアドレスを1つのクラスタにまとめることができる。
【0350】
図23は、
図20のステップS153の詳細な動作を説明するためのフローチャートである。
【0351】
図23を参照して、
図20のステップS152の後、クラスタリングマネージャ14は、クラスタ表TBL-Cを参照して、クラスタの個数N
cがクラスタの最大数CL
maxよりも大きいか否かを判定する(ステップS153-1)。
【0352】
ステップS153-1において、クラスタの個数Ncがクラスタの最大数CLmaxよりも大きいと判定されたとき、クラスタリングマネージャ14は、f=1を設定する(ステップS153-2)。
【0353】
そして、クラスタリングマネージャ14は、クラスタサイズがf番目に小さいクラスタを取得し、その取得したクラスタの番号をjとする(ステップS153-3)。
【0354】
その後、クラスタリングマネージャ14は、クラスタjの集中時間帯τj
maxと同じ集中時間帯τl
maxを有し、かつ、クラスタjと異なるクラスタlを検出し、その検出したクラスタlの集合をGdifとする(ステップS153-4)。集合Gdifは、式(16)によって表される。
【0355】
引き続いて、クラスタリングマネージャ14は、集合Gdifが空集合Φでないか否かを判定する(ステップS153-5)。
【0356】
ステップS153-5において、集合Gdifが空集合Φであると判定されたとき、クラスタリングマネージャ14は、f=Ncであるか否かを判定する(ステップS153-6)。
【0357】
ステップS153-6において、f=Ncでないと判定されたとき、クラスタリングマネージャ14は、f=f+1を設定する(ステップS153-7)。その後、一連の動作は、ステップS153-3へ移行し、ステップS153-5において、集合Gdifが空集合Φでないと判定されるまでに、ステップS153-6において、f=Ncであると判定されるまで、ステップS153-3~ステップS153-7が繰り返し実行される。
【0358】
そして、ステップS153-5において、集合G
difが空集合Φでないと判定されるまでに、ステップS153-6において、f=N
cであると判定されると、一連の動作は、
図15のステップS15へ移行する。
【0359】
一方、ステップS153-5において、集合Gdifが空集合Φでないと判定されたとき、クラスタリングマネージャ14は、式(17)によって、集合Gdifに含まれるクラスタのうち、クラスタサイズが最も小さいクラスタodifを検出する(ステップS153-8)。この場合、クラスタサイズが最も小さいクラスタが複数個存在するとき、クラスタリングマネージャ14は、その複数のクラスタのうちの任意の1つのクラスタをクラスタodifとして検出する。
【0360】
そして、クラスタリングマネージャ14は、ステップS153-3において取得されたクラスタjの要素をクラスタodifに追加し、クラスタjを削除し、クラスタ番号を振り直す(ステップS153-9)。その後、一連の動作は、ステップS153-1へ移行し、ステップS153-1において、クラスタの個数Ncがクラスタの最大数CLmaxよりも大きくないと判定されるまで、ステップS153-1~S153-5,S153-8,S153-9が繰り返し実行される。
【0361】
そして、ステップS153-1において、クラスタの個数N
cがクラスタの最大数CL
maxよりも大きくないと判定されたとき、またはステップS153-5において、集合G
difが空集合Φであると判定され、かつ、ステップS153-6において、f=N
cであると判定されたとき、一連の動作は、
図15のステップS15へ移行する。
【0362】
ステップS153-3は、クラスタサイズがf番目に小さいクラスタjを取得するステップであるので、ステップS153-5において集合Gdifが空集合Φでないと判定されるまでにステップS153-3,S53-4が1回以上実行されることによって、クラスタlと同じ集中時間帯を有するクラスタのうちでクラスタサイズが最小であるクラスタjが取得される。
【0363】
そして、クラスタjの要素がクラスタlのうちでクラスタサイズが最小であるクラスタodifに追加され、クラスタjが削除される(ステップS153-9参照)。
【0364】
従って、クラスタの個数Ncを減少することができる。
【0365】
また、ステップS153-1~ステップS153-9は、クラスタ数Ncがクラスタの最大数CLmax以下になるまで繰り返し実行される。但し、結合可能なクラスタが無くなると、クラスタの結合は、行われない(ステップS153-6の“YES”参照)。
【0366】
更に、ステップS153-1~ステップS153-9は、クラスタ数N
cがクラスタの最大数CL
maxよりも大きい場合に実行され、
図23に示すフローチャートの開始時に、クラスタ数が最大数CL
max以下であれば、実行されない。
【0367】
従って、
図22に示すフローチャートを実行しても、クラスタ数が最大数CL
maxを超える場合に、
図23に示すフローチャートを実行してクラスタ数を最大数CL
max以下に抑制する。
【0368】
その結果、ステップS153-3において取得されるクラスタj、およびステップS153-4において検出されるクラスタlについて、クラスタサイズの制限は、設けられていない。
【0369】
つまり、相互に集中時間帯が同じである2つのクラスタが存在すれば、その2つのクラスタは、それぞれ、クラスタjおよびクラスタlになり得る。
【0370】
以上より、
図23に示すフローチャートは、クラスタサイズを考慮することなく、クラスタ数を調整するフローチャートである。
【0371】
なお、
図23に示すフローチャートにおいてクラスタサイズの制限が設けられていないのは、クラスタサイズよりもクラスタ数を強い制約としているので、クラスタサイズが上限値S
maxを超えるクラスタもクラスタ数の調整の対象とするためである。その結果、
図23に示すフローチャートを実行した後のクラスタのクラスタサイズが上限値S
maxを超えることもある。
【0372】
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)においては、ステップS6において、再クラスタリングを実施するラウンドであると判定されても(m mod M=0であると判定されても)、ステップS7において、予備スキャンが済んでいないと判定されると(ステップS7の“NO”)、N
p個のピックアップクラスタは、作成されない。これは、クラスタ調整処理(ステップS14(
図20に示すフローチャート(
図21から
図23に示すフローチャートを含む)))を実行するには、スキャンスケジュールが最も集中した時間帯τ
j
max(集中時間帯)を検出する必要があるが(ステップS13参照)、予備スキャンが済んでいない場合には、ネットワークスキャンを実行したときに得られるスキャン応答SR
iに対応するスキャン応答遅延SRD
iを取得できていないため、スキャン応答遅延SRD
iが最小となる時間帯τ
minを検出できず、その結果、スキャンスケジュールが最も集中した集中時間帯(時間帯τ
j
max)を検出できないので、再クラスタリングを実行できないからである。再クラスタリングを実行するには、再クラスタリングの対象となるピックアップクラスタとクラスタとが集中時間帯を有することが必要である(
図21のステップS1512,S1513参照)。
【0373】
また、ステップS11において、L個のラウンドθが終了したと判定されたとき(m mod M=L-1であると判定されたとき)、ピックアップ表が空であるか否かを判定するのは、再クラスタリングには、ピックアップクラスタに含まれる端末装置に対するネットワークスキャンのスキャンスケジュールが必要であり、ステップS10のターゲットクラスタ表がステップS9のターゲットクラスタ表(=ピックアップ表を含むターゲットクラスタ表)であることを確認するためである。
【0374】
従って、
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)によれば、ステップS6において、再クラスタリングを実施するラウンドであると判定され(m mod M=0であると判定され)、ステップS7において、予備スキャンが済んでいると判定され、ステップS11において、L個のラウンドθが終了したと判定され(m mod M=L-1であると判定され)、ステップS12において、ピックアップ表が空でないと判定されたときに、クラスタ調整処理(“再クラスタリング処理”と“小さいクラスタの結合”と“クラスタ数調整”とからなる調整処理(
図20に示すフローチャート(
図21から
図23に示すフローチャートを含む)を参照))が実行される(ステップS14参照)。
【0375】
なお、
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)においては、
図20のステップS151~ステップS153のうち、少なくともステップS151を実行するようにしてもよい。少なくともステップS151(再クラスタリング処理)が実行されれば、集中時間帯が同じであるIPアドレスAdd
iを1つのクラスタにまとめることができ、スキャンスケジュールの作成においてネットワークスキャンの最適なスケジューリングを行うことができるからである。
【0376】
図24は、ピックアップ処理におけるクラスタ表およびピックアップ表の概念図である。
【0377】
図24を参照して、ピックアップ処理の開始時には、クラスタ表TBL-C_1が作成されており、ピックアップ処理(
図15のステップS8)の詳細な動作を示す
図17のフローチャートのステップS81において、クリアされたピックアップ表TBL-P_1が存在する。
【0378】
そして、IPアドレスAdd7が順列Iから取り出されると(ステップS84参照)、IPアドレスAdd7が属するクラスタ2が検索され、その検索されたクラスタ2の番号2をjとする(ステップS85参照)。
【0379】
その後、クラスタ2の要素数|Ej|(=3)が“1”よりも大きいので(ステップS86の“YES”参照)、クラスタ表TBL-C_1のクラスタj=2からIPアドレスAdd7の端末装置を削除し(ステップS87参照)、IPアドレスAdd7の端末装置を追加してピックアップ表TBL-P_1をピックアップ表TBL-P_2に更新する(ステップS88参照)。
【0380】
この段階では、ピックアップ表TBL-P_2の列数oがNp(=3)に等しくないので(ステップS89の“NO”参照)、次に、IPアドレスAdd2が順列Iから取り出される(ステップS84参照)。
【0381】
そして、IPアドレスAdd2が属するクラスタ1が検索され、その検索されたクラスタ1の番号1をjとする(ステップS85参照)。
【0382】
その後、クラスタ1の要素数|Ej|(=2)が“1”よりも大きいので(ステップS86の“YES”参照)、クラスタ表TBL-C_1のクラスタj=1からIPアドレスAdd2の端末装置を削除し(ステップS87参照)、IPアドレスAdd2の端末装置をピックアップ表TBL-P_2に追加する(ステップS88参照)。
【0383】
この段階でも、ピックアップ表TBL-P_2の列数oがNp(=3)に等しくないので(ステップS89の“NO”参照)、次に、IPアドレスAdd8が順列Iから取り出される(ステップS84参照)。
【0384】
そして、IPアドレスAdd8が属するクラスタ2が検索され、その検索されたクラスタ2の番号2をjとする(ステップS85参照)。
【0385】
その後、クラスタ2の要素数|Ej|(=2)が“1”よりも大きいので(ステップS86の“YES”参照)、クラスタ表TBL-C_1のクラスタj=2からIPアドレスAdd8の端末装置を削除し(ステップS87参照)、IPアドレスAdd8の端末装置をピックアップ表TBL-P_2に追加する(ステップS88参照)。
【0386】
この段階では、ピックアップ表TBL-P_2の列数oがNp(=3)に等しいので、ピックアップ処理が終了する(ステップS89の“YES”参照)。
【0387】
その結果、クラスタ表TBL-C_1は、クラスタ表TBL-C_2に更新され、ピックアップ表TBL-P_1は、ピックアップ表TBL-P_2に更新される(
図24の(b)参照)。
【0388】
なお、ピックアップ表TBL-P_2の各クラスタ1,2,3は、上述したNp個のピックアップクラスタを構成する。
【0389】
図25は、
図15のステップS9におけるターゲットクラスタ表の概念図である。
図25を参照して、
図15のステップS9においては、
図15のステップS8(=
図17のフローチャート)において作成されたクラスタ表TBL-C_2およびピックアップ表TBL-P_2(
図24参照)を用いてターゲットクラスタ表が上書され、ターゲットクラスタ表TBL-TGC_1が作成される。
【0390】
ターゲットクラスタ表TBL-TGC_1は、クラスタ表TBL-C_2の最後の列に続けてピックアップ表TBL-P_2のNp(=3)個の列を配置し、クラスタ表TBL-C_2のクラスタ番号に連続するようにピックアップ表TBL-P_2のクラスタ番号j’を変更した構成からなる。
【0391】
その結果、ターゲットクラスタ表TBL-TGC_1は、IPアドレスAdd1を要素とするクラスタ1と、IPアドレスAdd3を要素とするクラスタ2と、IPアドレスAdd6を要素とするクラスタ3と、IPアドレスAdd4,Add5,Add9を要素とするクラスタ4(=Nc)と、IPアドレスAdd7を要素とするクラスタ5と、IPアドレスAdd2を要素とするクラスタ6と、IPアドレスAdd8を要素とするクラスタ7(=Nc+Np)とを含む。
【0392】
図26は、スケジュール表の概念図である。
図26を参照して、スケジュール表TBL-SCHは、ラウンドrと、IPアドレスAdd
iと、ポート番号qと、時間帯τとを含む。ラウンドr、IPアドレスAdd
i、ポート番号qおよび時間帯τは、相互に対応付けられる。
【0393】
ラウンドrは、上述したように、走査対象である過去のラウンド(
図14参照)である。IPアドレスAdd
iは、スケジューリングされたIPアドレスである。ポート番号qは、各IPアドレスAdd
i内のポートを示す番号である。
【0394】
時間帯τは、各ラウンドrにおける時間帯である。1つのラウンドには、τ0,τ1,τ2,・・・,τ(θ/h)-1の(θ/h)個の時間帯τが存在するので、各ラウンドrに対応する時間帯τには、(θ/h)個の時間帯τ0,τ1,τ2,・・・,τ(θ/h)-1のいずれかが格納される。
【0395】
クラスタリングマネージャ14は、M個のラウンドにおける過去M回のネットワークスキャンを実行するためのM個のスキャンスケジュールをスキャンスケジューラ16から受けるので、その受けたM個のスキャンスケジュールに基づいてスケジュール表TBL-SCHを作成し、その作成したスケジュール表TBL-SCHをクラスタリングデータベース15に格納する。
【0396】
従って、クラスタリングマネージャ14は、
図19のステップS140において、クラスタリングデータベース15に格納されたスケジュール表TBL-SCHを参照して、ラウンドr(=m~m-M+1)のIPアドレスAdd
i’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを取得する。
【0397】
例えば、クラスタリングマネージャ14は、スケジュール表TBL-SCHを参照して、ラウンドmのIPアドレスAdd5のq=1番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τ1を取得する。
【0398】
このように、クラスタリングマネージャ14は、スケジュール表TBL-SCHを参照することによって、ラウンドr(=m~m-M+1)のIPアドレスAddi’のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τを容易に取得できる。
【0399】
図27は、クラスタjの時間帯τにおけるカウントz
j,τの概念図である。
図27を参照して、カウントz
1,0は、クラスタ1および時間帯τ
0に対応付けられ、カウントz
1,1は、クラスタ1および時間帯τ
1に対応付けられ、カウントz
1,2は、クラスタ1および時間帯τ
2に対応付けられる。また、カウントz
2,0は、クラスタ2および時間帯τ
0に対応付けられる。そして、カウントz
1,0,z
1,1,z
1,2,z
2,0,・・・の各々は、0以上の整数からなる。
【0400】
クラスタリングマネージャ14は、
図19のステップS140において、クラスタ1に所属するIPアドレスAdd
1のq番目のポートに対するネットワークスキャンがスケジューリングされた時間帯τ
0を取得したとき、ステップS141において、カウントz
1,0を“1”だけインクリメントする。カウントz
1,1,z
1,2,z
2,0,・・・の各々についても、同様である。
【0401】
スキャンスケジュールの作成においては、1つのクラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールが時間帯τ
minに設定されるので(
図18のS116参照)、カウントz
1,0,z
1,1,z
1,2,z
2,0,・・・の各々は、1つのクラスタj内のポート番号qが同じであるIPアドレスの個数分によるインクリメントが反映される。例えば、1つのクラスタjが3個のIPアドレスを含んでいれば、カウントz
1,0,z
1,1,z
1,2,z
2,0,・・・の各々は、ポート番号qが同じである3個のIPアドレスの個数分による“3”のインクリメントが反映される。
【0402】
また、1つのクラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールが異なるラウンドにおいて同じ時間帯τminに設定されている場合、カウントz1,0,z1,1,z1,2,z2,0,・・・の各々は、スキャンスケジュールが同じ時間帯τminに設定された異なるラウンド数分によるインクリメントが反映される。例えば、スキャンスケジュールが5個の異なるラウンドにおいて同じ時間帯τminに設定されている場合、カウントz1,0,z1,1,z1,2,z2,0,・・・の各々は、5個の異なるラウンド数分による“5×クラスタj内のIPアドレス数”のインクリメントが反映される。
【0403】
更に、1つのクラスタj内の全てのIPアドレスの異なるポートに対するスキャンスケジュールが同じ時間帯τminに設定されている場合、カウントz1,0,z1,1,z1,2,z2,0,・・・の各々は、異なるポート数分によるインクリメントが反映される。例えば、1つのクラスタj内の全てのIPアドレスの1,2,3番目のポートである3個のポートに対するスキャンスケジュールが同じ時間帯τminに設定されている場合、カウントz1,0,z1,1,z1,2,z2,0,・・・の各々は、3個の異なるポート数分による“3×クラスタj内のIPアドレス数”のインクリメントが反映される。
【0404】
従って、カウントz1,0,z1,1,z1,2,z2,0,・・・の各々は、1つのクラスタj内のポート番号qが同じであるIPアドレスの個数分によるインクリメントと、スキャンスケジュールが同じ時間帯τminに設定された異なるラウンド数分によるインクリメントと、異なるポート数分によるインクリメントとが反映された数値からなる。
【0405】
更に、1つのクラスタj内の全てのIPアドレスのq番目のポートに対するスキャンスケジュールが異なるラウンドにおいて異なる時間帯τminに設定された場合、カウントzj,τは、カウントz1,0,z1,1,z1,2のように複数の時間帯τ0,τ1,τ2に亘って分布し、スキャンスケジュールが異なるラウンドにおいて同じ時間帯τminに設定されたときの数値よりも小さい数値からなる。
【0406】
図28は、クラスタと集中時間帯との対応関係を示す概念図である。
図28を参照して、集中時間帯τ
1
max,τ
2
max,・・・,τ
Nc+Np
maxは、それぞれ、クラスタ1,2,・・・,N
c+N
pに対応付けられる。
【0407】
集中時間帯τ
1
maxは、
図27に示すカウントz
1,0,z
1,1,z
1,2のうちの最大値が得られる時間帯τからなる。この場合、カウントz
1,0,z
1,1,z
1,2のうちの最大値が複数個存在するとき、集中時間帯τ
1
maxは、その複数の最大値のうちの任意の1つが得られる時間帯からなる。集中時間帯τ
1
max以外の集中時間帯についても同様である。
【0408】
クラスタリングマネージャ14は、
図19のステップS150において、
図28に示すクラスタと集中時間帯との対応関係に基づいて、クラスタ1~N
c+N
pに対してそれぞれ集中時間帯τ
1
max,τ
2
max,・・・,τ
Nc+Np
maxを検出する。なお、
図28に示すクラスタと集中時間帯との対応関係を示す表は、「集中時間帯表」を構成する。
【0409】
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)は、
図13に示すM個のラウンドθ毎に繰り返し実行される。その結果、再クラスタリングが繰り返し実行され、N
c個のクラスタの各々は、ネットワークスキャンのスキャンスケジュールが同じ時間帯τ
minに設定される端末装置によって構成された最適クラスタに徐々に近づいていく。
【0410】
従って、スキャンスケジューラ16は、端末装置毎にスキャンスケジュールを決定する必要がなく、1つのクラスタに含まれる全ての端末装置を1つの時間帯τminに設定する処理をNc個のクラスタの全てについて実行してスキャンスケジュールを決定すればよい。つまり、スキャンスケジューラ16は、ネットワークスキャンのスケジューリングを端末装置の個数よりも少ないNc個のクラスタ数分だけ実施すればよい。
【0411】
例えば、端末装置の個数を100個とすると、端末装置毎にスキャンスケジュールを決定する場合、100回、スキャンスケジュールを決定する必要があるが、10個の端末装置によって1つのクラスタを構成した場合、10回、スキャンスケジュールを決定すればよい。
【0412】
よって、ネットワークスキャンの最適なスケジューリングを行うことができる。
【0413】
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)を繰り返し実行すると、再クラスタリングが繰り返し実行されるので、N
c個のクラスタが徐々に変化する動的クラスタリングを実現できる。
【0414】
図29は、動的クラスタリングの動作を説明するためのフローチャートである。なお、
図29に示すフローチャートは、ネットワークスキャン装置1が起動されている期間、実行され続けるため、
図29においては、フローチャートにおける「開始」および「終了」が記載されていない。
【0415】
図29を参照して、クラスタリングマネージャ14は、上述した所定の方法によって、N
c個のクラスタを作成する(ステップS230)。
【0416】
そして、スキャンスケジューラ16は、
図18に示すフローチャートに従って、N
c個のクラスタに対して、(M-L)個のラウンドθ分のスキャンスケジュールを作成する(ステップS231)。
【0417】
その後、クラスタリングマネージャ14は、
図17に示すフローチャートに従って、N
c個のクラスタからN
p個の端末装置を抽出してN
p個のピックアップクラスタを作成する(ステップS232)。
【0418】
引き続いて、スキャンスケジューラ16は、
図18に示すフローチャートに従って、(N
c+N
p)個のクラスタに対して、L個のラウンドθ分のスキャンスケジュールを作成する(ステップS233)。
【0419】
そうすると、クラスタリングマネージャ14は、
図19に示すフローチャートに従って、M個のラウンドθ分のスキャンスケジュールに基づいて、N
c個のクラスタの各々について、スキャンスケジュールが最も集中する集中時間帯τ
C
maxを検出する(ステップS234)。
【0420】
そして、クラスタリングマネージャ14は、
図19に示すフローチャートに従って、L個のラウンドθ分のスキャンスケジュールに基づいて、N
p個のピックアップクラスタの各々について、スキャンスケジュールが最も集中する集中時間帯τ
P
maxを検出する(ステップS235)。
【0421】
その後、クラスタリングマネージャ14は、ピックアップクラスタの集中時間帯τ
P
maxと同じ集中時間帯τ
C
maxを有するクラスタをN
c個のクラスタから検出する処理をN
p個のピックアップクラスタの全てについて実行し、同じ集中時間帯を有するピックアップクラスタとクラスタとからなるクラスタ群(=集中時間帯が同じであるピックアップクラスタとクラスタとの対を要素とするクラスタ群)を少なくとも1つ検出する(ステップS236)。この場合、クラスタリングマネージャ14は、
図21のステップS1512,S1513,S1514の“YES”,S1515をN
p個のピックアップクラスタの全てについて実行することによって少なくとも1つのクラスタ群(=集中時間帯が同じであるピックアップクラスタとクラスタとの対を要素とするクラスタ群)を検出する。
【0422】
そうすると、クラスタリングマネージャ14は、同じ集中時間帯を有するピックアップクラスタとクラスタとを合体する処理を少なくとも1つのクラスタ群(=集中時間帯が同じであるピックアップクラスタとクラスタとの対を要素とするクラスタ群)の全てについて実行し、N
c個のクラスタを再クラスタリングする(ステップS237)。ステップS237においては、ピックアップクラスタの端末装置をクラスタに追加することによって、同じ集中時間帯を有するピックアップクラスタとクラスタとを合体する処理が実現される。この場合、クラスタリングマネージャ14は、
図21のステップS1517を少なくとも1つのクラスタ群(=集中時間帯が同じであるピックアップクラスタとクラスタとの対を要素とするクラスタ群)の全てについて実行することによってN
c個のクラスタを再クラスタリングする。そして、クラスタリングマネージャ14は、N
p個のピックアップクラスタを削除する。
【0423】
ステップS237の後、ステップS231~ステップS237が繰り返し実行される。ステップS231が2回目以降に実行される場合、Nc個のクラスタは、再クラスタリング後のクラスタからなる。この場合、クラスタ数は、Ncと異なる場合もある。
【0424】
また、ステップS231~ステップS237は、
図13に示すM個のラウンドθ毎に実行される。従って、ステップS231~ステップS237を1回実行するには、M個のラウンドθを要する。
【0425】
なお、
図29に示すフローチャートにおいては、ステップS237に続いて、
図20に示すステップS152(
図22に示すフローチャートを含む)および
図20に示すステップS153(
図23に示すフローチャートを含む)を実行した後にステップS231へ移行し、その後、ステップS231~ステップS237,
図20に示すステップS152(
図22に示すフローチャートを含む)および
図20に示すステップS153(
図23に示すフローチャートを含む)を繰り返し実行するようにしてもよい。
【0426】
また、
図29に示すフローチャートにおいては、クラスタ数がクラスタ数=N
c+α(αは、1以上の整数)になるまでは、ステップS232におけるN
pをN
p_1に設定し、クラスタ数がクラスタ数=N
c+αになると、ステップS232におけるN
pをN
p_1よりも小さいN
p_2に設定するようにしてもよい。
【0427】
この場合、Np_1は、動的クラスタリングによって最適クラスタに近づける速度を第1の速度に設定するとき、第1のピックアップクラスタ数に設定され、最適クラスタに近づける速度を第1の速度よりも遅い第2の速度に設定するとき、第1のピックアップクラスタ数よりも小さい第2のピックアップクラスタ数に設定される。そして、Np_2は、Np_1よりも小さいピックアップクラスタ数に設定される。
【0428】
図30は、再クラスタリングによるスキャンスケジュールの変遷を示す概念図である。
図30においては、各IPアドレスのポート番号は、“1”,“2”,“3”であるものとする。
【0429】
図30を参照して、クラスタDcは、IPアドレスAdd
1,Add
2,Add
3,Add
4,Add
5を有する5個の端末装置からなるクラスタである。
【0430】
初期状態のクラスタDcに対して、
図18に示すフローチャートによってスキャンスケジュールを作成すると、
図30の(a)に示すスキャンスケジュールが得られる。IPアドレスAdd
1,Add
2,Add
3,Add
4,Add
5の“1”番目のポートについてのスキャンスケジュールは、時間帯τ
0に設定され、IPアドレスAdd
1,Add
2,Add
3,Add
4,Add
5の“2”番目のポートについてのスキャンスケジュールは、時間帯τ
2に設定され、IPアドレスAdd
1,Add
2,Add
3,Add
4,Add
5の“3”番目のポートについてのスキャンスケジュールは、時間帯τ
1に設定される。
【0431】
IPアドレスAdd
1,Add
2,Add
3,Add
4,Add
5の“1”,“2”,“3”番目のポートについてのスキャンスケジュールが異なる時間帯に設定されているのは、最小の時間帯τ
minが乱数値で推定されるので、最小の時間帯τ
minが相互に異なったためであり、最小の時間帯τ
minが相互に同じであれば、同じ時間帯に設定される(
図18のステップS114~S116参照)。
【0432】
次に、初期状態のクラスタDcに対して、1回目の再クラスタリングを行った場合について説明する。IPアドレスAdd
3の端末装置がクラスタDcからピックアップされ(
図17のステップS84~S87参照)、IPアドレスAdd
8の端末装置からなるピックアップクラスタの集中時間帯τ’
kと同じ集中時間帯を有するクラスタlの集合Gが検出され、集合Gに含まれるクラスタのうち、クラスタサイズが最も小さく、かつ、クラスタサイズの上限値S
max未満であるクラスタとしてクラスタDcが検出され、ピックアップクラスタ(IPアドレスAdd
8の端末装置)に含まれるIPアドレスAdd
8の端末装置をクラスタDcに追加することによって(
図21のステップS1512,S1513,S1515~S1516,S1517参照)、1回目の再クラスタリングが実行された後のクラスタD’cが得られる(
図30の(b)参照)。
【0433】
そして、クラスタD’cに対して、
図18に示すフローチャートによってスキャンスケジュールを作成すると、
図30の(b)に示すスキャンスケジュールが得られる。IPアドレスAdd
3の端末装置に代えてIPアドレスAdd
8の端末装置がクラスタD’cに追加された結果、IPアドレスAdd
1,Add
2,Add
4,Add
5,Add
8の“2”,“3”番目のポートに対するスキャンジュールが同じ時間帯τ
2に設定され、IPアドレスAdd
1,Add
2,Add
4,Add
5,Add
8の“1”番目のポートに対するスキャンジュールが同じ時間帯τ
1に設定される。これは、新たなスキャン応答遅延SRD
iの取得とIPアドレスAdd
8の端末装置がクラスタD’cに追加されることによって、IPアドレスAdd
1,Add
2,Add
4,Add
5,Add
8に対応する推定変数から算出される代表値が変化し、Student T分布が変化し、その結果、最小の時間帯τ
minが変化したためである(
図18のステップS114~S116参照)。
【0434】
更に、クラスタDcに対して、2回目の再クラスタリングを行った場合について説明する。IPアドレスAdd
1の端末装置がクラスタD’cからピックアップされ(
図17のステップS84~S87参照)、IPアドレスAdd
13の端末装置からなるピックアップクラスタの集中時間帯τ’
kと同じ集中時間帯を有するクラスタlの集合Gが検出され、集合Gに含まれるクラスタのうち、クラスタサイズが最も小さく、かつ、クラスタサイズの上限値S
max未満であるクラスタとしてクラスタD’cが検出され、ピックアップクラスタ(IPアドレスAdd
13の端末装置)に含まれるIPアドレスAdd
13の端末装置をクラスタD’cに追加することによって(
図21のステップS1512,S1513,S1515~S1516,S1517参照)、2回目の再クラスタリングが実行された後のクラスタD”cが得られる(
図30の(c)参照)。
【0435】
そして、クラスタD”cに対して、
図18に示すフローチャートによってスキャンスケジュールを作成すると、
図30の(c)に示すスキャンスケジュールが得られる。IPアドレスAdd
1の端末装置に代えてIPアドレスAdd
13の端末装置がクラスタD”cに追加された結果、IPアドレスAdd
2,Add
4,Add
5,Add
8,Add
13の“1”,“2”,“3”番目のポートに対するスキャンジュールが同じ時間帯τ
2に設定される。これは、新たなスキャン応答遅延SRD
iの取得とIPアドレスAdd
13の端末装置がクラスタD”cに追加されることによって、IPアドレスAdd
2,Add
4,Add
5,Add
8,Add
13に対応する推定変数から算出される代表値が変化し、Student T分布が変化し、その結果、最小の時間帯τ
minが変化したためである(
図18のステップS114~S116参照)。
【0436】
このように、再クラスタリングを繰り返し実行することによって、集中時間帯が同じであるIPアドレスを1つのクラスタD”cにまとめることができ、クラスタD”cの全ての端末装置に対するスキャンスケジュールが同じ時間帯に設定されたスキャンスケジュールが得られる。従って、再クラスタリングを繰り返し実行することによって(即ち、動的クラスタリングによって)、ネットワークスキャンの最適なスケジューリングを行うことができる。
【0437】
実施の形態1においては、ネットワークスキャン装置1の動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備える。そして、ROMは、
図15に示すフローチャート(
図16から
図23に示すフローチャートを含む)の各ステップからなるプログラムProg_Aまたは
図29に示すフローチャートの各ステップからなるプログラムProg_Bを記憶する。
【0438】
CPUは、ROMからプログラムProg_AまたはプログラムProg_Bを読み出し、その読み出したプログラムProg_AまたはプログラムProg_Bを実行して、動的クラスタリングを実行する。RAMは、正規化スキャン時刻tNが存在する時間帯τ、予備スキャンを打ち切るラウンド数mth、時間帯τmin、カウントzj,τおよび予備スキャンのための時間帯τr等を一時的に記憶する。
【0439】
また、プログラムProg_AまたはプログラムProg_Bは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_AまたはプログラムProg_Bを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_AまたはプログラムProg_Bを読み出して実行して、動的クラスタリングを実行する。
【0440】
従って、プログラムProg_AまたはプログラムProg_Bを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0441】
この発明の実施の形態においては、クラスタ数は、CLmax+Np以下である。Ncが一定である場合、平均クラスタ数は、Nc+LNp/Mとなる。そして、CLmax+Npが小さいほど、スケジューリングは、高速化する。また、Npが大きいほど、クラスタの再編(再クラスタリング)は、早く進む。
【0442】
また、この発明の実施の形態においては、再クラスタリングの間隔Mと収集区間Lとを調整することによって、再クラスタリングのために収集するデータ量を調整できる。
【0443】
更に、この発明の実施の形態においては、上述した動的クラスタリングは、スキャンスケジュールに基づいて実行されるので、動的クラスタリングのために新たにスキャン応答に関する情報を収集する必要はない。そして、クラスタに対応したスケジューリング法であれば、どのようなスケジューリング法を用いても動的クラスタリングを実行することができる。
【0444】
[実施の形態2]
図31は、
図1に示すネットワークスキャン装置の実施の形態2における概略図である。
【0445】
図31を参照して、実施の形態2によるネットワークスキャン装置1Aは、
図2に示すネットワークスキャン装置1のホスト情報データベース13、クラスタリングマネージャ14、クラスタリングデータベース15およびスキャンスケジューラ16をそれぞれホスト情報データベース13A、クラスタリングマネージャ14A、クラスタリングデータベース15Aおよびスキャンスケジューラ16Aに変えたものであり、その他は、ネットワークスキャン装置1と同じである。
【0446】
ホスト情報データベース13Aは、
図3に示す対応表TBL1にネットワーク種別を追加した構成からなる対応表TBL2を格納する。
【0447】
クラスタリングマネージャ14Aは、ホスト情報データベース13Aに格納された対応表TBL2を参照して、同じネットワーク種別に属する端末装置を抽出し、その抽出した端末装置を実施の形態1における所定の方法によってクラスタ化する処理を全てのネットワーク種別について実行する。
【0448】
また、クラスタリングマネージャ14Aは、抽出した同じネットワーク種別NWiに属する端末装置の個数NNWiをカウントし、ネットワーク種別NWiと端末装置の個数NNWiと閾値Th_NWiとを対応付けた対応表TBL3を作成してホスト情報データベース13Aに格納する。閾値Th_NWiは、ネットワーク種別NWiにおいて、再クラスタリングを実施するか否かを判定する閾値である。
【0449】
そして、クラスタリングマネージャ14Aは、対応表TBL-3を参照して、ネットワーク種別NWi毎に、再クラスタリングを実施するか否かを判定し、再クラスタリングを実施すると判定したネットワーク種別NWiにおいて、実施の形態1におけるピックアップ処理、集中時間帯の検出およびクラスタ調整処理(再クラスタリング、小さいクラスタの結合およびクラスタ数調整))をネットワーク種別毎に実行する。
【0450】
クラスタリングマネージャ14Aは、ネットワーク種別NWiにおいて、クラスタを再クラスタリングする場合、対応表TBL3からネットワーク種別NWiにおける端末装置の個数NNWiを検出する。
【0451】
また、クラスタリングマネージャ14Aは、CLmax_NWi、Np_NWiおよびTh_NWiを予め保持している。ここで、CLmax_NWiは、ネットワーク種別NWiにおけるクラスタの最大数であり、Np_NWiは、ネットワーク種別NWiにおけるピックアップクラスタの個数である。そして、閾値Th_NWiは、CLmax_NWiおよびNp_NWiとの間でCLmax_NWi+Np_NWi≦Th_NWiを満たす。つまり、閾値Th_NWiは、CLmax_NWi+Np_NWi≦Th_NWiを満たすように決定される。また、各ネットワーク種別NWiにおいては、ネットワーク種別NWiにおける時間帯τの個数θ/hとクラスタの最大数CLmax_NWiとの間には、θ/h≦CLmax_NWiの関係が成立する。θ/h≦CLmax_NWiの関係は、ネットワーク種別NWiにおいて、クラスタの最大数CLmax_NWiが時間帯τの個数θ/h以上であるという条件が成立することを表す。ネットワーク種別NWiにおけるクラスタ数Nc_NWiがCLmax_NWiである場合にも、各ネットワーク種別NWiにおいて、CLmax_NWi個のクラスタに含まれる端末装置に対するスキャンスケジュールを設定する時間帯がθ/h個の時間帯τを網羅する必要があるからである。なお、時間帯τおよび個数θ/hは、全てのネットワーク種別NWiにおいて一定である(つまり、ネットワーク種別NWiによらず一定である)。
【0452】
更に、クラスタリングマネージャ14Aは、ネットワーク種別NWiにおいてクラスタリングを実施するか否かを表す指標F_NWiを予め保持し、ネットワーク種別NWiにおける端末装置の個数NNWiと閾値Th_NWiとの関係によって指標F_NWiに値を設定する。より具体的には、クラスタリングマネージャ14Aは、対応表TBL-3から各ネットワーク種別NWiに対応する端末装置の個数NNWiと閾値Th_NWiとを読み出す。そして、クラスタリングマネージャ14Aは、Th_NWi<NNWiであるとき、指標F_NWiに“1”を設定し、Th_NWi≧NNWiであるとき、指標F_NWiに“0”を設定する。ここで、“1”に設定された指標F_NWiは、クラスタリングを実施することを表し、“0”に設定された指標F_NWiは、クラスタリングを実施しないことを表す。その結果、クラスタリングマネージャ14Aは、指標F_NWiに“0”が設定されているとき、1個の端末装置を要素とするクラスタを生成し、再クラスタリングを実施しない。
【0453】
そこで、クラスタリングマネージャ14Aは、Th_NWi<NNWiであると判定したとき、ネットワーク種別NWiにおいて、クラスタから端末装置を抽出してピックアップクラスタを作成する。
【0454】
一方、クラスタリングマネージャ14Aは、Th_NWi<NNWiでないと判定したとき、ネットワーク種別NWiにおけるピックアップクラスタの作成処理をスキップする。
【0455】
クラスタリングマネージャ14Aは、上述した処理をネットワーク種別NWiの全てについて実行する。
【0456】
なお、実施の形態2においては、全てのネットワーク種別NWiのうち、少なくとも1つのネットワーク種別NWiにおける指標F_NWiは、F_NWi=1に設定され、残りのネットワーク種別NWiにおける指標F_NWiは、F_NWi=0に設定されている。つまり、少なくとも1つのネットワーク種別NWiにおいて、端末装置の個数NNWiは、閾値Th_NWiよりも多い。
【0457】
クラスタリングマネージャ14Aは、その他、クラスタリングマネージャ14と同じ機能を果たす。
【0458】
クラスタリングデータベース15Aは、クラスタ表(または再クラスタリング後のクラスタ表)およびピックアップ表をネットワーク種別毎に格納するとともにターゲットクラスタ表を格納する。
【0459】
スキャンスケジューラ16Aは、クラスタリングデータベース15Aに格納されたターゲットクラスタ表を参照して、実施の形態1における方法によってスキャンスケジュールを作成し、その作成したスキャンスケジュールをネットワークスキャナ11およびクラスタリングマネージャ14Aへ出力する。
【0460】
図32は、
図31に示すホスト情報データベース13Aに格納される対応表TBL2の概略図である。
【0461】
図32を参照して、対応表TBL2は、
図3に示す対応表TBL1にネットワーク種別NW
iを追加した構成からなる。
【0462】
ネットワーク種別NWiは、IPアドレスAddiに対応付けられる。なお、対応表TBL2においては、ネットワーク種別NWiは、予め、既知であるものとする。
【0463】
実施の形態2においては、クラスタの最大数CLmax_NWi、ピックアップ数Np_NWi、クラスタサイズの下限値Smin_NWi、およびクラスタサイズの上限値Smax_NWiは、ネットワーク種別NWi毎に異なる値であってもよい。
【0464】
図33は、ネットワーク種別NW
iと端末装置の個数N
NWiと閾値Th
_NWiとの関係を示す対応表の概略図である。
【0465】
図33を参照して、対応表TBL-3は、ネットワーク種別NW
iと端末装置の個数N
NWiと閾値Th
_NWiとを含む。ネットワーク種別NW
i、端末装置の個数N
NWiおよび閾値Th
_NWiは、相互に対応付けられる。端末装置の個数N
NWiは、ネットワーク種別NW
iにおける端末装置の総数からなる。閾値Th
_NWiは、ネットワーク種別NW
iにおけるクラスタの最大数CL
max_NWiと、ネットワーク種別NW
iにおけるピックアップクラスタの個数N
p_NWiとの和以上になるように決定される。そして、対応表TBL-3は、クラスタリングデータベース15Aに格納される。
【0466】
クラスタリングマネージャ14Aは、ネットワークスキャン装置1Aが起動されると、対応表TBL-3からネットワーク種別NWiにおける端末装置の個数NNWiと閾値Th_NWiとを読み出し、その読み出した端末装置の個数NNWiと閾値Th_NWiとの関係に基づいて、上述したように、指標F_NWiに“1”または“0”を設定する。
【0467】
図34は、
図31に示すクラスタリングデータベース15Aの概念図である。
図34を参照して、クラスタリングデータベース15Aは、ネットワーク種別NW
i毎にクラスタを格納する。
【0468】
より具体的には、クラスタリングデータベース15Aは、ネットワーク種別NW1に対応してクラスタAc,Bc,Ccを格納し、ネットワーク種別NW2に対応してクラスタDc,Ec,Fcを格納し、ネットワーク種別NW3に対応してクラスタGc,Hc,Icを格納し、ネットワーク種別NW4に対応してクラスタJc,Kc,Lcを格納する。
【0469】
クラスタAc~Icの各々は、実施の形態1において説明した各種の方法によってクラスタ化されたクラスタからなる。
【0470】
この場合、クラスタAc~Ccは、同じ方法によってクラスタ化されたクラスタからなり、クラスタDc~Fcは、同じ方法によってクラスタ化されたクラスタからなり、クラスタGc~Icは、同じ方法によってクラスタ化されたクラスタからなる。つまり、1つのネットワーク種別NWiに対応するクラスタは、同じ方法によってクラスタ化されたクラスタからなる。
【0471】
また、クラスタAc~Cc、クラスタDc~FcおよびクラスタGc~Icは、相互に同じ方法によってクラスタ化されたクラスタからなっていてもよく、相互に異なる方法によってクラスタ化されたクラスタからなっていてもよい。
【0472】
更に、クラスタJc~Lcの各々は、1個の端末装置からなるクラスタである。つまり、クラスタJc~Lcの各々は、ネットワーク種別NW4においては、指標F_NW4に“0”が設定されているので、クラスタリングが行われずに、1個の端末装置を要素として生成されたクラスタである。
【0473】
図35は、実施の形態2におけるクラスタ表の概略図である。
図35を参照して、クラスタ表TBL-C1_NW
1は、ネットワーク種別NW
1に対応付けられ、クラスタ表TBL-C1_NW
2は、ネットワーク種別NW
2に対応付けられ、クラスタ表TBL-C1_NW
3は、ネットワーク種別NW
3に対応付けられ、クラスタ表TBL-C1_NW
4は、ネットワーク種別NW
4に対応付けられる。
【0474】
クラスタ表TBL-C1_NW1,TBL-C1_NW2,TBL-C1_NW3,TBL-C1_NW4の各々は、実施の形態1におけるクラスタ表TBL-C1に対応し、クラスタ表TBL-C1と同じ構成からなる。但し、クラスタ表TBL-C_NW4は、1個の端末装置を要素とするクラスタに基づいて作成されたクラスタ表である。
【0475】
クラスタリングマネージャ14Aは、ネットワーク種別NWi毎にクラスタ表TBL-C1_NWiを作成し、その作成したクラスタ表TBL-C1_NWiをクラスタリングデータベース15Aに格納する。
【0476】
また、クラスタリングマネージャ14Aは、
図10の(b)に示すクラスタ表TBL-C2(N
p個の端末装置が抽出された後のクラスタ表)と同じ構成からなるクラスタ表TBL-C2_NW
iをネットワーク種別NW
i毎に作成し、その作成したクラスタ表TBL-C2_NW
iをクラスタリングデータベース15Aに格納する。
【0477】
更に、クラスタリングマネージャ14Aは、
図10の(c)に示すクラスタ表TBL-C3(クラスタが再クラスタリングされたときのクラスタ表)と同じ構成からなるクラスタ表TBL-C3_NW
iをネットワーク種別NW
i毎に作成し、その作成したクラスタ表TBL-C3_NW
iをクラスタリングデータベース15Aに格納する。
【0478】
更に、クラスタリングマネージャ14Aは、N
p個の端末装置をクラスタから抽出したとき、
図11の(b)に示すピックアップ表TBL-Pと同じ構成からなるピックアップ表TBL-P_NW
iをネットワーク種別NW
i毎に作成し、その作成したピックアップ表TBL-P_NW
iをクラスタリングデータベース15Aに格納する。
【0479】
図36は、実施の形態2におけるターゲットクラスタ表の概略図である。
図36の(a)に示すターゲットクラスタ表TBL-TGC1_NWは、複数の端末装置がクラスタ化されたとき、またはクラスタが再クラスタリングされたときのターゲットクラスタ表であり、
図36の(b)に示すターゲットクラスタ表TBL-TGC2_NWは、N
p個の端末装置がクラスタから抽出されたときのターゲットクラスタ表である。
【0480】
図36の(a)を参照して、ターゲットクラスタ表TBL-TGC1_NWは、クラスタ表TBL-C1_NW
1、クラスタ表TBL-C1_NW
2、クラスタ表TBL-C1_NW
3およびクラスタ表TBL-C1_NW
4を連結した構成からなる。クラスタ表TBL-C1_NW
1、クラスタ表TBL-C1_NW
2、クラスタ表TBL-C1_NW
3およびクラスタ表TBL-C1_NW
4は、それぞれ、ネットワーク種別NW
1、ネットワーク種別NW
2、ネットワーク種別NW
3およびネットワーク種別NW
4に対応して作成されたクラスタ表である。
【0481】
なお、ターゲットクラスタ表TBL-TGC1_NWは、クラスタが再クラスタリングされたとき、クラスタ表TBL-C3_NW1、クラスタ表TBL-C3_NW2、クラスタ表TBL-C3_NW3およびクラスタ表TBL-C1-NW4を連結した構成からなる。この場合、クラスタ表TBL-C1_NW4は、1個の端末装置を要素とするクラスタからなり、1個の端末装置を要素とするクラスタに対しては再クラスタリングを実行できないので、クラスタ表TBL-C1_NW4に対応するクラスタ表TBL-C3_NW4(再クラスタリング後のクラスタ表)が存在しないからである。クラスタ表TBL-C3_NW1、クラスタ表TBL-C3_NW2およびクラスタ表TBL-C3_NW3は、それぞれ、ネットワーク種別NW1、ネットワーク種別NW2およびネットワーク種別NW3において、クラスタが再クラスタリングされたときのクラスタ表である。
【0482】
図36の(b)を参照して、ターゲットクラスタ表TBL-TGC2_NWは、連結されたクラスタ表TBL-C2_NW
1およびピックアップ表TBL-P_NW
1と、連結されたクラスタ表TBL-C2_NW
2およびピックアップ表TBL-P_NW
2と、連結されたクラスタ表TBL-C2_NW
3およびピックアップ表TBL-P_NW
3と、クラスタ表TBL-C1_NW
4とを直列に連結した構成からなる。
【0483】
クラスタ表TBL-C2_NW1およびピックアップ表TBL-P_NW1は、ネットワーク種別NW1に対応して作成され、クラスタ表TBL-C2_NW2およびピックアップ表TBL-P_NW2は、ネットワーク種別NW2に対応して作成され、クラスタ表TBL-C2_NW3およびピックアップ表TBL-P_NW3は、ネットワーク種別NW3に対応して作成される。上述したように、クラスタ表TBL-C1_NW4に含まれるクラスタに対しては、再クラスタリングが行われず、ネットワーク種別NW4に対応するクラスタ表TBL-C2_NW4(Np個の端末装置が抽出された後のクラスタ表)およびピックアップTBL-P_NW4が存在しないので、クラスタ表TBL-C1_NW4が、連結されたクラスタ表TBL-C2_NW1およびピックアップ表TBL-P_NW1と、連結されたクラスタ表TBL-C2_NW2およびピックアップ表TBL-P_NW2と、連結されたクラスタ表TBL-C2_NW3およびピックアップ表TBL-P_NW3とに直列に連結される。
【0484】
なお、全てのネットワーク種別NW1~NW4について再クラスタリングが実行されたとき、ターゲットクラスタ表TBL-TGC2_NWは、連結されたクラスタ表TBL-C2_NW1およびピックアップ表TBL-P_NW1と、連結されたクラスタ表TBL-C2_NW2およびピックアップ表TBL-P_NW2と、連結されたクラスタ表TBL-C2_NW3およびピックアップ表TBL-P_NW3と、連結されたクラスタ表TBL-C2_NW4およびピックアップ表TBL-P_NW4とを直列に連結した構成からなる。
【0485】
クラスタリングマネージャ14Aは、Nc個のクラスタをネットワーク種別NWi毎に作成した時点でターゲットクラスタ表TBL-TGC1_NWを作成し、その作成したターゲットクラスタ表TBL-TGC1_NWをクラスタリングデータベース15Aに格納する。
【0486】
また、クラスタリングマネージャ14Aは、クラスタが再クラスタリングされた時点でクラスタ表TBL-C3_NW1、クラスタ表TBL-C3_NW2、クラスタ表TBL-C3_NW3およびクラスタ表TBL-C1_NW4を直列に連結した構成からなるターゲットクラスタ表TBL-TGC1_NWを作成し、その作成したターゲットクラスタ表TBL-TGC1_NWをクラスタリングデータベース15Aに格納する。
【0487】
更に、クラスタリングマネージャ14Aは、Np個のピックアップクラスタとNc個のクラスタとを指標F_NWiが“1”に設定されたネットワーク種別NWi毎に作成した時点で、ターゲットクラスタ表TBL-TGC2_NWを作成し、その作成したターゲットクラスタ表TBL-TGC2_NWをクラスタリングデータベース15Aに格納する。
【0488】
図37および
図38は、それぞれ、
図31に示すネットワークスキャン装置1Aの動作を説明するための第1および第2のフローチャートである。なお、
図37および
図38においては、全てのネットワーク種別NW
iのうち、少なくとも1つのネットワーク種別NW
iにおける指標F
_NWiは、F
_NWi=1に設定され、残りのネットワーク種別NW
iにおける指標F
_NWiは、F
_NWi=0に設定されていることを前提として、ネットワークスキャン装置1Aの動作を説明する。
【0489】
図37および
図38に示すフローチャートは、
図15に示すフローチャートのステップS3,S4,S8,S9,S13,S14,S15をそれぞれステップS3A,S4A,S8A,S9A,S13A,S14A,S15Aに変え、ステップS1Aを追加したものであり、その他は、
図15に示すフローチャートと同じである。
【0490】
図37を参照して、ネットワークスキャン装置1Aの動作が開始されると、上述したステップS1が実行される。
【0491】
そして、ステップS1において、ラウンドmがm=0であると判定されたとき、クラスタリングマネージャ14Aは、Th_NWi<NNWiであるとき、指標F_NWiを“1”に設定し、Th_NWi≧NNWiであるとき、指標F_NWiを“0”に設定することをネットワーク種別NWi毎に実行することによって、ネットワーク種別NWi毎に指標F_NWiを初期化する(ステップS1A)。その後、上述したステップS2が実行される。
【0492】
ステップS2の後、クラスタリングマネージャ14Aは、指標F_NWiが“1”(即ち、Th_NWi<NNWi)に設定されている少なくとも1つのネットワーク種別NWiにおいて、初期のクラスタを作成し、指標F_NWiが“0”(即ち、Th_NWi≧NNWi)に設定されている残りのネットワーク種別NWiにおいて、クラスタリングを行わずに、1個の端末装置からなる初期のクラスタを作成する(ステップS3A)。その後、クラスタリングマネージャ14Aは、各ネットワーク種別のクラスタ表TBL-C1_NWiを連結した表によってターゲットクラスタ表TBL-TGCを上書する(ステップS4A)。
【0493】
一方、ステップS1において、ラウンドmがm=0でないと判定されたとき、上述したステップS5が実行される。
【0494】
そして、ステップS4AまたはステップS5の後、上述したステップS6,S7が順次実行され、ステップS7において、予備スキャンが済んでいると判定されたとき、クラスタリングマネージャ14Aは、ステップS4Aにおいて上書されたターゲットクラスタ表TBL-TGC1_NWを参照して、指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定されたネットワーク種別について、Nc個のクラスタからランダムにNp個の端末装置を取り出してNp個のピックアップクラスタを作成するピックアップ処理を実行する(ステップS8A)。この場合、各ピックアップクラスタは、1個の端末装置によって構成される。なお、上述したように、全てのネットワーク種別NWiのうち、少なくとも1つのネットワーク種別NWiにおいて指標F_NWiは、F_NWi=1に設定され、残りのネットワーク種別NWiにおいて指標F_NWiは、F_NWi=0に設定されているので、ステップS8Aは、指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定されたネットワーク種別NWiについて実行される。
【0495】
ステップS8Aの後、クラスタリングマネージャ14Aは、指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C2_NWiおよびピックアップ表TBL-P_NWiを作成し、その作成した指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C2_NWiおよびピックアップ表TBL-P_NWiと、指標F_NWiがF_NWi=0(=Th_NWi≧NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C1_NWiとを連結した表でターゲットクラスタ表TBL-TGC1_NWを上書してターゲットクラスタ表TBL-TGC2_NWを作成する(ステップS9A)。より具体的には、クラスタリングマネージャ14Aは、ピックアップ表TBL-P_NWiをクラスタ表TBL-C2_NWiの最後の列に連結する処理を指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定されたネットワーク種別について実行し、指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定されたネットワーク種別の個数分の連結されたクラスタ表TBL-C2_NWiおよびピックアップ表TBL-P_NWiと、指標F_NWiがF_NWi=0(=Th_NWi≧NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C1_NWiとを直列に連結した表をターゲットクラスタ表TBL-TGC1_NWに上書してターゲットクラスタ表TBL-TGC2_NWを作成する。その後、クラスタリングマネージャ14Aは、上書したターゲットクラスタ表TBL-TGC2_NWをクラスタリングデータベース15Aに格納する。
【0496】
そして、ステップS6において、m mod Mが零でないと判定されたとき、またはステップS7において、予備スキャンが済んでいないと判定されたとき、またはステップS9Aの後、上述したステップS10~ステップS12が順次実行される。
【0497】
この場合、ステップS12において、クラスタリングマネージャ14Aは、ターゲットクラスタ表TBL-TGC2_NWに含まれる複数のピックアップ表TBL-P_NWiのうち、少なくとも1つのピックアップ表TBL-P_NWiが空でないとき、ピックアップ表が空でないと判定し、複数のピックアップ表TBL-P_NWiの全てが空であるとき、ピックアップ表が空であると判定する。
【0498】
そして、ステップS12において、ピックアップ表TBL-P_NW
iが空でないと判定されたとき、一連の動作は、
図38のステップS13Aへ移行する。
【0499】
図38を参照して、
図37のステップS12において、ピックアップ表TBL-P_NW
iが空でないと判定されたとき、クラスタリングマネージャ14Aは、指標F
_NWiがF
_NWi=1(=Th
_NWi<N
NWi)に設定されたネットワーク種別について、(N
c+N
p)個のクラスタ毎に、スキャンスケジュールが最も集中した時間帯τ
j
max(集中時間帯)を検出する(ステップS13A)。
【0500】
その後、クラスタリングマネージャ14Aは、指標F_NWiが“1”(=Th_NWi<NNWi)に設定されたネットワーク種別についてクラスタ調整処理を実行し(ステップS14A)、指標F_NWiがF_NWi=1(=Th_NWi<NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C3_NWiと、指標F_NWiがF_NWi=0(=Th_NWi≧NNWi)に設定された各ネットワーク種別のクラスタ表TBL-C1_NWiとを連結した表でターゲットクラスタ表TBL-TGC_NWを上書する(ステップS15A)。
【0501】
そして、
図37のステップS11において、m mod MがL-1に等しくないと判定されたとき、または
図37のステップS12において、ピックアップ表TBL-P_NW
iが空であると判定されたとき、またはステップS15Aの後、ネットワークスキャン装置1Aの動作が終了する。
【0502】
図37および
図38に示すフローチャートによれば、
図37のステップS6において、m mod Mが零でないと判定された後にステップS10へ至ったとき、またはステップS7において、予備スキャンが済んでいないと判定された後にステップS10に至ったとき、ステップS10において、スキャンスケジューラ16Aは、ステップS4Aにおいて上書きされたターゲットクラスタ表TBL-TGC1_NW、または(m-1)回目以前のステップS9Aにおいて上書きされたターゲットクラスタ表TBL-TGC2、または(m-1)回目以前のステップS15Aにおいて上書きされたターゲットクラスタ表TBL-TGC1に基づいて全てのクラスタについてスキャンスケジュールを作成する。また、ステップS9AからステップS10に至ったとき、ステップS10において、スキャンスケジューラ16Aは、クラスタリングデータベース15Aに格納されたターゲットクラスタ表TBL-TGC2_NWに基づいて、全てのクラスタについてスキャンスケジュールを作成する。
【0503】
図39は、
図37のステップS8Aの詳細な動作を説明するためのフローチャートである。
【0504】
図39に示すフローチャートは、
図17に示すフローチャートにステップS201~ステップS204を追加したものであり、その他は、
図17に示すフローチャートと同じである。
【0505】
図39を参照して、
図37のステップS7において、予備スキャンが済んでいると判定されたとき、クラスタリングマネージャ14Aは、n
w=1を設定する(ステップS201)。ここで、n
wは、各ネットワーク種別NW
iを表す引数であり、1≦n
w≦NW
maxを満たす整数である。また、NW
maxは、ネットワーク種別NW
iの最大数であり、2以上の整数である。
【0506】
ステップS201の後、上述したステップS81が実行される。そして、ステップS81の後、クラスタリングマネージャ14Aは、指標F_nwが“1”(=Th_NWi<NNWi)であるか否かを判定する(ステップS202)。即ち、クラスタリングマネージャ14Aは、ネットワーク種別nw(=NWi)において、再クラスタリングを実施するか否かを判定する。
【0507】
ステップS202において、指標F_NWiが“1”(=Th_NWi<NNWi)でないと判定されたとき、一連の動作は、ステップS203へ移行する。即ち、ネットワーク種別nwにおける端末装置の個数Nnwが少ないので、ピックアップクラスタを作成する処理をスキップする。
【0508】
一方、ステップS202において、指標F_nwが“1”(=Th_NWi<NNWi)であると判定されたとき、上述したステップS82~ステップS91が順次実行される。
【0509】
そして、ステップS202において、指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されたとき、またはステップS91の後、クラスタリングマネージャ14Aは、nw=NWmaxであるか否かを判定する(ステップS203)。
【0510】
ステップS203において、nw=NWmaxでないと判定されたとき、クラスタリングマネージャ14Aは、nw=nw+1を設定する(ステップS204)。その後、一連の動作は、ステップS81へ移行し、ステップS203において、nw=NWmaxであると判定されるまで、ステップS81,S202,S82~S91,S203,S204が繰り返し実行される。
【0511】
そして、ステップS203において、n
w=NW
maxであると判定されると、一連の動作は、
図37のステップS9Aへ移行する。
【0512】
実施の形態2においては、全てのネットワーク種別NW
iのうち、少なくとも1つのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=1に設定され、残りのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=0に設定されているので、
図39のステップS202において、指標F
_nwが“1”(=Th
_NWi<N
NWi)であると判定されるネットワーク種別NW
iと、指標F
_nwが“1”(=Th
_NWi<N
NWi)でないと判定されるネットワーク種別NW
iとが存在する。
【0513】
指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されるネットワーク種別NWiにおいて、ステップS82~ステップS91が実行されないので、Np個のピックアップクラスタは、作成されない。
【0514】
従って、
図37のステップS9Aにおいては、クラスタリングマネージャ14Aは、指標F
_NWiがF
_NWi=1(=Th
_NWi<N
NWi)に設定された各ネットワーク種別のクラスタ表TBL-C2_NW
iおよびピックアップ表TBL-P_NW
iを作成し、その作成した指標F
_NWiがF
_NWi=1(=Th
_NWi<N
NWi)に設定された各ネットワーク種別のクラスタ表TBL-C2_NW
iおよびピックアップ表TBL-P_NW
iと、指標F
_NWiがF
_NWi=0(=Th
_NWi≧N
NWi)に設定された各ネットワーク種別のクラスタ表TBL-C1_NW
iとを連結した表でターゲットクラスタ表TBL-TGC1_NWを上書してターゲットクラスタ表TBL-TGC2_NWを作成する。
【0515】
一方、
図39のステップS202において、全てのネットワーク種別NW
iについて指標F
_NWiが“1”(=Th
_NWi<N
NWi)であると判定されたとき、全てのネットワーク種別NW
iについてN
p個のピックアップクラスタが作成される。
【0516】
従って、
図37のステップS9Aにおいては、クラスタリングマネージャ14Aは、全てのネットワーク種別NW
iにおけるクラスタ表TBL-C2_NW
iおよびピックアップ表TBL-P_NW
iを連結した表でターゲットクラスタ表TBL-TGC1_NWを上書してターゲットクラスタ表TBL-TGC2_NWを作成する。
【0517】
図39に示すフローチャートによれば、全てのネットワーク種別について指標F
_nwが“1”(=Th
_NWi<N
NWi)であるとき、全てのネットワーク種別について、N
c個のクラスタからランダムにN
p個の端末装置を取り出してN
p個のピックアップクラスタを作成することができる。そして、
図24の(b)に示すクラスタ表TBL-C_2およびピックアップ表TBL-P_2がネットワーク種別毎に作成される。その結果、再クラスタリングによって集中時間帯が同じであるIPアドレスAdd
iを1つのクラスタにまとめる速度を高速化できる。
【0518】
図40は、
図38のステップS13Aの詳細な動作を説明するためのフローチャートである。
【0519】
図40に示すフローチャートは、
図19に示すフローチャートにステップS211~ステップS214を追加したものであり、その他は、
図19に示すフローチャートと同じである。
【0520】
図40を参照して、
図37のステップS12において、ピックアップ表が空でないと判定されたとき、クラスタリングマネージャ14Aは、n
w=1を設定する(ステップS211)。
【0521】
そして、クラスタリングマネージャ14Aは、指標F_nwが“1”(=Th_NWi<NNWi)であるか否かを判定する(ステップS212)。
【0522】
ステップS212において、指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されたとき、一連の動作は、ステップS213へ移行する。
【0523】
一方、ステップS212において、指標F_nwが“1”(=Th_NWi<NNWi)であると判定されたとき、上述したステップS131~ステップS150が順次実行される。そして、ステップS212において、指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されたとき、またはステップS150の後、クラスタリングマネージャ14Aは、nw=NWmaxであるか否かを判定する(ステップS213)。
【0524】
ステップS213において、nw=NWmaxでないと判定されたとき、クラスタリングマネージャ14Aは、nw=nw+1を設定する(ステップS214)。その後、一連の動作は、ステップS212へ移行し、ステップS213において、nw=NWmaxであると判定されるまで、ステップS212,S131~S150,S213,S214が繰り返し実行される。
【0525】
そして、ステップS213において、n
w=NW
maxであると判定されると、一連の動作は、
図38のステップS14Aへ移行する。
【0526】
図40に示すフローチャートによれば、全てのネットワーク種別について指標F
_nwが“1”(=Th
_NWi<N
NWi)であるとき、全てのネットワーク種別の全てのクラスタについて集中時間帯τ
j
maxを取得することができる。そして、
図28に示すクラスタjと集中時間帯τ
j
maxとの対応表がネットワーク種別毎に作成される。
【0527】
図41は、
図38のステップS14Aの詳細な動作を説明するためのフローチャートである。
【0528】
図41に示すフローチャートは、
図20に示すフローチャートにステップS221~ステップS224を追加したものであり、その他は、
図20に示すフローチャートと同じである。
【0529】
図41を参照して、
図38のステップS13Aの後、クラスタリングマネージャ14Aは、n
w=1を設定する(ステップS221)。
【0530】
そして、クラスタリングマネージャ14Aは、指標F_nwが“1”(=Th_NWi<NNWi)であるか否かを判定する(ステップS222)。
【0531】
ステップS222において、指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されたとき、一連の動作は、ステップS223へ移行する。
【0532】
一方、ステップS222において、指標F_nwが“1”(=Th_NWi<NNWi)であると判定されたとき、上述したステップS151~ステップS153が順次実行される。そして、ステップS222において、指標F_nwが“1”(=Th_NWi<NNWi)でないと判定されたとき、またはステップS153の後、クラスタリングマネージャ14Aは、nw=NWmaxであるか否かを判定する(ステップS223)。
【0533】
ステップS223において、nw=NWmaxでないと判定されたとき、クラスタリングマネージャ14Aは、nw=nw+1を設定する(ステップS224)。その後、一連の動作は、ステップS222へ移行し、ステップS223において、nw=NWmaxであると判定されるまで、ステップS222,S151~S153,S223,S224が繰り返し実行される。
【0534】
そして、ステップS223において、n
w=NW
maxであると判定されると、一連の動作は、
図38のステップS15Aへ移行する。
【0535】
図41に示すフローチャートによれば、全てのネットワーク種別について指標F
_nwが“1”(=Th
_NWi<N
NWi)であるとき、全てのネットワーク種別について、再クラスタリング、小さいクラスタの結合およびクラスタ数の調整を実行することができる。そして、各ネットワーク種別のクラスタ表が更新される。
【0536】
図37および
図38に示すフローチャートにおいては、
図15に示すフローチャートにおいて説明したように、ステップS6において、再クラスタリングを実施するラウンドであると判定され(m mod M=0であると判定され)、ステップS7において、予備スキャンが済んでいると判定され、ステップS11において、L個のラウンドθが終了したと判定され(m mod M=L-1であると判定され)、ステップS12において、ピックアップ表が空でないと判定されたときに、指標F
_NWiが“1”(=Th
_NWi<N
NWi)であるネットワーク種別について、クラスタ調整処理(“再クラスタリング処理”と“小さいクラスタの結合”と“クラスタ数調整”とからなる調整処理(
図41参照))が実行される(ステップS14A参照)。
【0537】
また、
図39に示すフローチャートによれば、上述したように、全てのネットワーク種別NW
iのうち、少なくとも1つのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=1に設定され、残りのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=0に設定されているので、少なくとも1つのネットワーク種別NW
iについて、N
p_NWi個のピックアップクラスタが作成される(ステップS202の“YES”→ステップS82~ステップS91参照)。
【0538】
更に、
図40に示すフローチャートによれば、上述したように、全てのネットワーク種別NW
iのうち、少なくとも1つのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=1に設定され、残りのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=0に設定されているので、少なくとも1つのネットワーク種別の全てのクラスタについて、集中時間帯τ
j
maxが検出される(ステップS212の“YES”→ステップS131~ステップS150参照)。
【0539】
更に、
図41に示すフローチャートによれば、述したように、全てのネットワーク種別NW
iのうち、少なくとも1つのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=1に設定され、残りのネットワーク種別NW
iにおいて指標F
_NWiは、F
_NWi=0に設定されているので、少なくとも1つのネットワーク種別について、再クラスタリング処理、小さいクラスタの結合およびクラスタ数調整が実行される(ステップS222の“YES”→ステップS151~ステップS153参照)。
【0540】
従って、
図37および
図38に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、および
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)を含む)によれば、ステップS6において、再クラスタリングを実施するラウンドであると判定され(m mod M=0であると判定され)、ステップS7において、予備スキャンが済んでいると判定され、ステップS11において、L個のラウンドθが終了したと判定され(m mod M=L-1であると判定され)、ステップS12において、ピックアップ表が空でないと判定され、ステップS202,S212,S222の全てにおいて、少なくとも1つのネットワーク種別について、指標F
_nwが“1”(=Th
_NWi<N
NWi)であると判定されたとき、少なくとも1つのネットワーク種別について、クラスタ調整処理(“再クラスタリング処理”と“小さいクラスタの結合”と“クラスタ数調整”とからなる調整処理(
図41に示すフローチャート(
図21から
図23に示すフローチャートを含む)を参照))が実行される(ステップS14A参照)。
【0541】
図37および
図38に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、および
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)を含む)は、
図13に示すM個のラウンドθ毎に繰り返し実行される。その結果、ネットワーク種別毎に、再クラスタリングが繰り返し実行され、N
c個のクラスタの各々は、ネットワークスキャンのスキャンスケジュールが同じ時間帯τ
minに設定される端末装置によって構成された最適クラスタに徐々に近づいていく。
【0542】
従って、ネットワーク種別毎に、実施の形態1において説明したように、ネットワークスキャンの最適なスケジューリングを行うことができる。
【0543】
また、ネットワーク種別毎にクラスタリングを行うことによって、代表値μ’τ,σ’τ,n’τの選出の際に特性が異なるものが混ざることによるスキャンスケジュールの作成およびクラスタリングへの影響を抑制することができる。
【0544】
更に、実施の形態2においては、その他、実施の形態1における効果を享受できる。
【0545】
なお、実施の形態2においても、
図29に示すフローチャートがネットワーク種別毎に実行され、ネットワーク種別毎に動的クラスタリングが実行される。
【0546】
実施の形態2においては、ネットワークスキャン装置1Aの動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置1Aは、CPU、ROMおよびRAMを備える。そして、ROMは、プログラムProg_B、または
図37および
図38に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、および
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)を含む)の各ステップからなるプログラムProg_Cを記憶する。
【0547】
CPUは、ROMからプログラムProg_BまたはプログラムProg_Cを読み出し、その読み出したプログラムProg_BまたはプログラムProg_Cを実行して、ネットワーク種別毎に動的クラスタリングを実行する。RAMは、正規化スキャン時刻tNが存在する時間帯τ、予備スキャンを打ち切るラウンド数mth、時間帯τmin、カウントzj,τ、CLmax_NWi、Np_NWi、Th_NWi、F_NWiおよび予備スキャンのための時間帯τr等を一時的に記憶する。
【0548】
また、プログラムProg_BまたはプログラムProg_Cは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_BまたはプログラムProg_Cを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_BまたはプログラムProg_Cを読み出して実行して、ネットワーク種別毎に動的クラスタリングを実行する。
【0549】
従って、プログラムProg_BまたはプログラムProg_Cを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0550】
実施の形態2におけるその他の説明は、実施の形態1における説明と同じである。
【0551】
[実施の形態3]
図42は、
図1に示すネットワークスキャン装置の実施の形態3における概略図である。
【0552】
図42を参照して、実施の形態3によるネットワークスキャン装置1Bは、
図31に示すネットワークスキャン装置1Aのクラスタリングマネージャ14Aをクラスタリングマネージャ14Bに変え、推定手段17を追加したものであり、その他は、ネットワークスキャン装置1Aと同じである。
【0553】
実施の形態3においては、一般的には、全てのネットワーク種別NW1~NWmaxのうちの少なくとも1つのネットワーク種別NWiにおいて、端末装置をクラスタリングできることを前提とする。この前提は、例えば、全てのネットワーク種別NW1~NWmaxにおける端末装置の総数Nが全てのネットワーク種別NW1~NWmaxにおける閾値Th_NWiの総和Th_totalよりも大きい(N>Th_total)との条件を満たすことによって実現される。
【0554】
クラスタリングマネージャ14Bは、ラウンドmがm=0であるとき、現在のネットワーク種別を各IPアドレスAddiに対応付けた構成からなる対応表TBL4を作成し、その作成した対応表TBL4をホスト情報データベース13Aに格納する。この現在のネットワーク種別は、任意のネットワーク種別またはランダムに決定したネットワーク種別である。つまり、実施の形態3においては、ネットワークスキャン装置1Bは、ネットワーク種別が不明である状態から動作を開始する。
【0555】
また、クラスタリングマネージャ14Bは、ラウンドmがm=0でないとき、各クラスタについて集中時間帯τj
maxを検出する前に、IPアドレスAddiの推定手段17によって推定されたネットワーク種別が対応表TBL4に記録された現在のネットワーク種別に一致するか否かを判定し、IPアドレスAddiの推定されたネットワーク種別が対応表TBL4に記録された現在のネットワーク種別に一致しないと判定したとき、推定されたネットワーク種別に対応して作成されたクラスタ表にIPアドレスAddiを新しいクラスタとして追加する。そして、クラスタリングマネージャ14Bは、記録された現在のネットワーク種別に対応して作成されたクラスタ表からIPアドレスAddiを削除する。
【0556】
また、クラスタリングマネージャ14Bは、推定手段17によってネットワーク種別NW
iが推定されるごとにネットワーク種別NW
iにおける端末装置の個数N
NWiおよび閾値Th
_NWi(=対応表TBL3に格納された端末装置の個数および閾値(
図33参照))を更新する。
【0557】
クラスタリングマネージャ14Bは、その他、クラスタリングマネージャ14Aと同じ機能を果たす。
【0558】
推定手段17は、ホスト情報データベース13Aの対応表TBL2に格納されたスキャン応答遅延SRDiに基づいて、後述する方法によって、ネットワークスキャンに用いるネットワークのネットワーク種別NWiを推定し、その推定したネットワーク種別NWiをIPアドレスAddiに対応付けて対応表TBL2に格納する。従って、実施の形態3においては、対応表TBL2におけるネットワーク種別NWiは、推定手段17によって推定されたネットワーク種別からなる。
【0559】
図43は、無線端末と有線端末におけるスキャン応答遅延の比較を示す図である。
図43において、縦軸は、スキャン応答遅延SRD
iを表し、横軸は、サンプル番号を表す。
【0560】
図43を参照して、ネットワークスキャン用のスキャンパケットを公知のpspingによって模擬し、無線端末および有線端末のそれぞれに1000個のスキャンパケットを送信し、スキャン応答遅延SRD
iを測定した。このpspingは、スキャンパケットを模擬したパケットを送信し、スキャン応答遅延SRD
iを測定するものである。
【0561】
そして、スキャン応答遅延SRDiに基づいて、公知のK-means法(非特許文献3)によって閾値を求め、無線端末と有線端末とを分類できるかを検証した。その結果、K-means法によって求めた閾値SRD_th1によって、約99%の精度で無線端末と有線端末とを分類できることが分かった。即ち、スキャン応答遅延SRDiが閾値SRD_th1以下であれば、ネットワークスキャンの対象が有線端末であり、スキャン応答遅延SRDiが閾値SRD_th1よりも大きければ、ネットワークスキャンの対象が無線端末であることが、約99%の精度で分類できることが分かった。
【0562】
そこで、K-means法によって閾値SRD_th1,SRD_th2を求め、
図43に示すように、更に、閾値SRD_th2を設定した。そして、スキャン応答遅延SRD
iが閾値SRD_th1以下(SRD
i≦SRD_th1)であれば、ネットワークが有線ネットワークであり、スキャン応答遅延SRD
iが閾値SRD_th1よりも大きく、かつ、閾値SRD_th2以下(SRD_th1<SRD
i≦SRD_th2)であれば、ネットワークが無線LAN(Local Area Network)であり、スキャン応答遅延SRD
iが閾値SRD_th2よりも大きければ、ネットワークがセルラーネットワークであると分類することにした。
【0563】
そして、属性の個数がs(sは、2以上の整数)個であるとき、推定手段16は、K-means法によって各端末装置をs個の属性のいずれかに分類するためのs-1個の閾値SRD_th1~SRD_ths-1を求める。
【0564】
その後、推定手段17は、1つの端末装置の1つのポートからのスキャン応答遅延SRDiをs-1個の閾値SRD_th1~SRD_ths-1と比較して1つのポートをs個の属性のいずれかに分類する処理を全てのポートについて実行する。そして、推定手段17は、最も多くのポートが分類された属性を、その1つの端末装置の属性とする。即ち、推定手段17は、多数決論理によって端末装置の属性を判定する。
【0565】
推定手段17は、この処理を複数の端末装置について実行し、複数の端末装置の各々をs個の属性のいずれかに分類する。つまり、推定手段17は、複数の端末装置に対してネットワークスキャンを実行するときの複数のネットワークのネットワーク種別NWiを推定する。そして、推定手段17は、推定したネットワーク種別NWiをホスト情報データベース13Aの対応表TBL2に格納する。
【0566】
図44は、IPアドレスAdd
iと現在のネットワーク種別NW
iとの関係を示す対応表の概念図である。
【0567】
図44を参照して、対応表TBL4は、IPアドレスAdd
iと現在のネットワーク種別NW
iと含む。IPアドレスAdd
iおよび現在のネットワーク種別NW
iは、相互に対応付けられる。現在のネットワーク種別NW
iは、ラウンドmがm=0であるときに、任意のネットワーク種別からなる。
【0568】
図45および
図46は、それぞれ、
図42に示すネットワークスキャン装置1Bの動作を説明するための第1および第2のフローチャートである。
【0569】
なお、
図45および
図46においては、全てのネットワーク種別NW
1~NW
maxにおける端末装置の総数Nが全てのネットワーク種別NW
1~NW
maxにおける閾値Th_
NWiの総和Th_
totalよりも大きい(N>Th_
total)ことを前提として、ネットワークスキャン装置1Bの動作を説明する。
【0570】
図45および
図46に示すフローチャートは、
図37および
図38に示すフローチャートにステップS7A,S7B,S20,S30,S40を追加し、ステップS3AをステップS3Bに変えたものであり、その他は、
図37および
図38に示すフローチャートと同じである。
【0571】
図45を参照して、ネットワークスキャン装置1Bの動作が開始されると、上述したステップS1が実行され、ステップS1において、ラウンドmがm=0であると判定されると、上述したステップS1A,S2が順次実行される。
【0572】
そして、ステップS2の後、クラスタリングマネージャ14Bは、ネットワーク種別NWi毎に、指標F_NWiが“1”(=Th_NWi<NNWi)であるとき、実施の形態1における所定の方法によって初期のクラスタを作成し、指標F_NWiが“0”(=Th_NWi≧NNWi)であるとき、1個の端末装置からなる初期のクラスタを生成する処理を実行する(ステップS3B)。
【0573】
その後、上述したステップS4Aが実行され、その後、クラスタリングマネージャ14Bは、現在のネットワーク種別を対応表TBL4に記録する(ステップS20)。
【0574】
一方、ステップS1において、ラウンドmがm=0でないと判定されたとき、上述したステップS5が実行され、その後、推定手段17は、ネットワーク種別を推定する(ステップS30)。
【0575】
そして、ステップS20またはステップS30の後、上述したステップS6,S7が順次実行され、ステップS7において、予備スキャンが済んでいると判定されると、クラスタリングマネージャ14Bは、ネットワーク種別NWi毎に、クラスタリングを実施するか否かを判定する(ステップS7A)。より具体的には、クラスタリングマネージャ14Bは、ステップS1Aにおいてネットワーク種別NWi毎に初期化された指標F_NWiを参照して、ネットワーク種別NWiにおいて、指標F_NWiが“1”に設定されているとき(即ち、Th_NWi<NNWiであるとき)、クラスタリングを実施すると判定し、ネットワーク種別NWiにおいて、指標F_NWiが“0”に設定されているとき(即ち、Th_NWi≧NNWiであるとき)、クラスタリングを実施しないと判定する。
【0576】
ステップS7Aの後、クラスタリングマネージャ14Bは、クラスタリングを実施しないネットワーク種別NWiにおいて、クラスタを1個の端末装置からなるクラスタに分割する(ステップS7B)。
【0577】
ステップS7Bの後、上述したステップS8A,S9A,S10が順次実行される。そして、ステップS10の後、一連の動作は、
図46のステップS11へ移行する。
【0578】
図46を参照して、
図45のステップS10の後、上述したステップS11,S12が順次実行される。
【0579】
そして、ステップS12において、ピックアップ表が空でないと判定されたとき、クラスタリングマネージャ14Aは、ネットワーク種別間のクラスタ調整処理を実行する(ステップS40)。
【0580】
その後、上述したステップS13A,S14A,S15Aが順次実行される。そして、ステップS11において、m mod M=L-1でないと判定されたとき、またはステップS12において、ピックアップ表が空であると判定されたとき、またはステップS15Aの後、ネットワークスキャン装置1Bの動作が終了する。
【0581】
図45および
図46に示すフローチャートにおいて、ステップS7Bが実行されるのは、次の理由による。
【0582】
ステップS30からステップS6,S7,S7Aを経由してステップS7Bに至ったとき、ステップS30において推定されたネットワーク種別がステップS20において記録された現在のネットワーク種別と異なり、ステップS30において推定されたネットワーク種別NWiにおける端末装置の個数NNWiが変化したために、Th_NWi<NNWiの条件を満たさなくなり、指標F_NWiが“0”に設定され、クラスタリングの対象外になったので、クラスタリングによって最適化なスキャンスケジュールを得るための速度を高速化できるという効果を望めなくなったからである。
【0583】
図47は、
図45のステップS30の詳細な動作を説明するためのフローチャートである。
【0584】
図47を参照して、
図45のステップS5の後、推定手段17は、ホスト情報データベース13Aの対応表TBL2に格納された複数のスキャン応答遅延SRD
iに基づいて、複数のポートをs個の属性に分類するためのs-1個の閾値SRD_th1~SRD_ths-1を機械学習(例えば、K-means法)によって決定する(ステップS301)。この場合、推定手段17は、機械学習器(例えば、K-means法によって機械学習を行う機械学習器)を保持しており、スキャン応答遅延SRD
iを機械学習器に入力し、s-1個の閾値SRD_th1~SRD_ths-1を出力として得る。なお、機械学習器は、K-means法によって機械学習を行う機械学習器に限らず、スキャン応答遅延SRD
iを機械学習器に入力すれば、s-1個の閾値SRD_th1~SRD_ths-1を出力する機械学習器であれば、どのような機械学習器であってもよい。
【0585】
ステップS301の後、推定手段17は、i=1を設定し(ステップS302)、q=1を設定する(ステップS303)。
【0586】
その後、推定手段17は、IPアドレスAddiのq番目のポートに対応するスキャン応答遅延SRDiをs-1個の閾値SRD_th1~SRD_ths-1と比較してq番目のポートをs個の属性のいずれかに分類する(ステップS304)。
【0587】
そして、推定手段17は、qがMiであるか否かを判定する(ステップS305)。
【0588】
ステップS305において、qがMiでないと判定されたとき、推定手段17は、q=q+1を設定する(ステップS306)。
【0589】
その後、一連の動作は、ステップS304へ移行し、ステップS305において、qがMiであると判定されるまで、ステップS304~ステップS306が繰り返し実行される。
【0590】
そして、ステップS305において、qがMiであると判定されると、推定手段17は、最も多くのポートが分類された属性にネットワーク種別NWiを分類する(ステップS307)。
【0591】
引き続いて、推定手段17は、i=Nであるか否かを判定する(ステップS308)。
【0592】
ステップS308において、i=Nでないと判定されたとき、推定手段17は、i=i+1を設定する(ステップS309)。
【0593】
その後、一連の動作は、ステップS303へ移行し、ステップS308において、i=Nであると判定されるまで、ステップS303~ステップS309が繰り返し実行される。
【0594】
そして、ステップS308において、i=Nであると判定されると、一連の動作は、
図45のステップS6へ移行する。
【0595】
ステップS304~ステップS306は、IPアドレスAddiの全てのポートをs個の属性のいずれかに分類するステップである。そして、ステップS305において、qがMiであると判定されると、ステップS307において、ネットワーク種別NWiは、最も多くのポートが分類された属性に分類される。即ち、推定手段17は、多数決論理によってネットワーク種別NWiをs個の属性のいずれかに分類する。
【0596】
また、ステップS303~ステップS309は、複数のIPアドレスAddiに対してネットワークスキャンを行うときの複数のネットワーク種別の全てをs個の属性のいずれかに分類するステップである。
【0597】
なお、実施の形態3においては、ネットワーク種別を推定する方法は、
図47に示す方法に限らず、ネットワーク種別を推定できる方法であれば、どのような方法が用いられてもよい。
【0598】
図48は、
図46のステップS40の詳細な動作を説明するためのフローチャートである。
図48を参照して、
図46のステップS12において、ピックアップ表が空でないと判定されたとき、クラスタリングマネージャ14Bは、i=1を設定し(ステップS401)、IPアドレスAdd
iの現在の推定されたネットワーク種別が、対応表TBL4に記録したネットワーク種別に一致するか否かを判定する(ステップS402)。
【0599】
ステップS402において、IPアドレスAddiの現在の推定されたネットワーク種別が、対応表TBL4に記録したネットワーク種別に一致しないと判定されたとき、クラスタリングマネージャ14Bは、現在の推定されたネットワーク種別のクラスタ表に、IPアドレスAddiを新しいクラスタとして追加する(ステップS403)。
【0600】
そして、クラスタリングマネージャ14Bは、記録されたネットワーク種別のクラスタ表からIPアドレスAddiを削除する(ステップS404)。
【0601】
そして、クラスタリングマネージャ14Bは、空のクラスタが有るか否かを判定する(ステップS405)。
【0602】
ステップS405において、空のクラスタが有ると判定されたとき、クラスタリングマネージャ14Bは、空のクラスタを削除し、クラスタ番号を振り直す(ステップS406)。
【0603】
そして、ステップS405において、空のクラスタが無いと判定されたとき、またはステップS406の後、クラスタリングマネージャ14Bは、IPアドレスAddiの現在の推定されたネットワーク種別を対応表TBL2に記録する(ステップS407)。
【0604】
そうすると、ステップS402において、IPアドレスAddiの現在の推定されたネットワーク種別が、対応表TBL4に記録されたネットワーク種別に一致すると判定されたとき、またはステップS407の後、クラスタリングマネージャ14Bは、i=Nであるか否かを判定する(ステップS408)。
【0605】
ステップS408において、i=Nでないと判定されたとき、クラスタリングマネージャ14Bは、i=i+1を設定する(ステップS409)。その後、一連の動作は、ステップS402へ移行し、ステップS408において、i=Nであると判定されるまで、ステップS402~ステップS409が繰り返し実行される。
【0606】
そして、ステップS408において、i=Nであると判定されると、一連の動作は、
図46のステップS13Aへ移行する。
【0607】
図48に示すフローチャートを実行することによって、ネットワーク種別が変化したか否かを判定し(ステップS402参照)、ネットワーク種別が変化していれば、ネットワーク種別が変化したIPアドレスAdd
iを推定手段17によって推定されたネットワーク種別におけるクラスタへ移動させる(ステップS403参照)。従って、
図46のステップS40(=
図48に示すフローチャート)の後のステップS14Aにおける再クラスタリング(
図41のステップS151(=
図21に示すフローチャート)参照)において、新しいネットワーク種別におけるクラスタとして再クラスタリングを行うことができる。
【0608】
図45および
図46に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)、
図47に示すフローチャートおよび
図48に示すフローチャートを含む)においても、ステップS6において、再クラスタリングを実施するラウンドであると判定され(m mod M=0であると判定され)、ステップS7において、予備スキャンが済んでいると判定され、ステップS11において、L個のラウンドθが終了したと判定され(m mod M=L-1であると判定され)、ステップS12において、ピックアップ表が空でないと判定され、ステップS202,S212,S222の全てにおいて、少なくとも1つのネットワーク種別について、指標F
_NWiが“1”(=Th
_NWi<N
NWi)であると判定されたとき、少なくとも1つのネットワーク種別について、クラスタ調整処理(“再クラスタリング処理”と“小さいクラスタの結合”と“クラスタ数調整”とからなる調整処理(
図41に示すフローチャート(
図21から
図23に示すフローチャートを含む)を参照))が実行される(ステップS14A参照)。
【0609】
図49は、ネットワーク種別間のクラスタ調整処理の概念図である。
図49を参照して、IPアドレスAdd
1は、対応表TBL4に記録されたネットワーク種別NW
1のクラスタ1に所属し(
図49の(a)参照)、推定手段17によって推定されたIPアドレスAdd
1のネットワーク種別がネットワーク種別NW
2であるものとする。
【0610】
この場合、クラスタリングマネージャ14Bは、
図48のステップS402において、IPアドレスAdd
1の現在の推定されたネットワーク種別NW
2が、対応表TBL4に記録したネットワーク種別NW
1に一致しないと判定する。
【0611】
そして、クラスタリングマネージャ14Bは、ステップS403において、現在の推定されたネットワーク種別NW
2のクラスタ表TBL-C1_NW
2に、IPアドレスAdd
1を新しいクラスタとして追加する(
図49の(d)参照)。これによって、クラスタ表TBL-C1_NW
2は、
図49の(b)に示す状態から
図49の(d)に示す状態に更新される。その結果、クラスタ表TBL-C1_NW
2において、クラスタ数が1個増える。
【0612】
その後、クラスタリングマネージャ14Bは、ステップS404において、記録されたネットワーク種別NW
1のクラスタ表TBL-C1_NW
1からIPアドレスAdd
1を削除する。その結果、クラスタ表TBL-C1_NW
1は、
図49の(a)に示す状態から
図49の(c)に示す状態に更新される。その結果、クラスタ表TBL-C1_NW
1において、クラスタ1の要素数が1個減少する。
【0613】
図45および
図46に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)、
図47に示すフローチャートおよび
図48に示すフローチャートを含む)によれば、IPアドレスAdd
iの現在の推定されたネットワーク種別が、対応表TBL4に記録されたネットワーク種別に一致しないとき、対応表TBL4に記録されたネットワーク種別に対応したクラスタ表TBL-C1_NW
1から現在の推定されたネットワーク種別に対応したクラスタ表TBL-C1_NW
2にIPアドレスAdd
iを新しいクラスタと追加して(
図48のS403参照)、ネットワーク種別間のクラスタ調整を行い、ネットワーク種別間のクラスタ調整を行った後に、新しいクラスタ(IPアドレスAdd
iからなるクラスタ)が追加されたクラスタ表TBL-C1_NW
2(
図49の(d)参照)に基づいて、上述した全てのネットワーク種別についての集中時間帯τ
j
maxの検出、全てのネットワーク種別についてのクラスタ調整処理(再クラスタリング、小さいクラスタの結合およびクラスタ数調整)が実行される(
図46のステップS13A,S14A参照)。
【0614】
従って、正確なネットワーク種別に対応したクラスタに基づいて、動的クラスタリングを実行できる。
【0615】
また、実施の形態3においては、その他、実施の形態1,2における効果を享受できる。
【0616】
なお、実施の形態3においても、
図29に示すフローチャートがネットワーク種別毎に実行され、ネットワーク種別毎に動的クラスタリングが実行される。
【0617】
実施の形態3においては、ネットワークスキャン装置1Bの動作は、ソフトウェアによって実現されてもよい。この場合、ネットワークスキャン装置1Bは、CPU、ROMおよびRAMを備える。そして、ROMは、プログラムProg_B、または
図45および
図46に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)、
図47に示すフローチャートおよび
図48に示すフローチャートを含む)の各ステップからなるプログラムProg_Dを記憶する。
【0618】
CPUは、ROMからプログラムProg_BまたはプログラムProg_Dを読み出し、その読み出したプログラムProg_BまたはプログラムProg_Dを実行して、推定されたネットワーク種別に基づいてネットワーク種別間のクラスタ調整処理を実行するとともに、ネットワーク種別毎に動的クラスタリングを実行する。RAMは、正規化スキャン時刻tNが存在する時間帯τ、予備スキャンを打ち切るラウンド数mth、時間帯τmin、カウントzj,τ、CLmax_NWi、Np_NWi、Th_NWi、F_NWiおよび予備スキャンのための時間帯τr等を一時的に記憶する。
【0619】
また、プログラムProg_BまたはプログラムProg_Dは、CD,DVD等の記録媒体に記録されて流通してもよい。プログラムProg_BまたはプログラムProg_Dを記録した記録媒体がコンピュータに装着されると、コンピュータは、記録媒体からプログラムProg_B、またはプログラムProg_Dを読み出して実行して、推定されたネットワーク種別に基づいてネットワーク種別間のクラスタ調整処理を実行するとともに、ネットワーク種別毎に動的クラスタリングを実行する。
【0620】
従って、プログラムProg_BまたはプログラムProg_Dを記録した記録媒体は、コンピュータ読み取り可能な記録媒体である。
【0621】
実施の形態3におけるその他の説明は、実施の形態1,2における説明と同じである。
【0622】
上述した実施の形態2においては、全てのネットワーク種別NWiのうち、少なくとも1つのネットワーク種別NWiにおいて指標F_NWiは、F_NWi=1に設定され、残りのネットワーク種別NWiにおいて指標F_NWiは、F_NWi=0に設定されていることを前提とする。また、上述した実施の形態3においては、一般的には、全てのネットワーク種別NW1~NWmaxのうちの少なくとも1つのネットワーク種別NWiにおいて、端末装置をクラスタリングできることを前提とする。その結果、実施の形態2,3は、端末装置をクラスタリングできるY(Yは、1≦Y≦NWmaxを満たす整数)個のネットワーク種別と、端末装置をクラスタリングできないY’(Y’は、0≦Y’≦(NWmax-Y)を満たす整数)個のネットワーク種別とを前提とすることにおいて共通する。
【0623】
従って、この発明の実施の形態によるネットワークスキャン装置は、端末装置をクラスタリングするY個のネットワーク種別と、端末装置をクラスタリングしないY’個のネットワーク種別とを対象として、
図37および
図38に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、および
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)を含む)、または
図45および
図46に示すフローチャート(
図16に示すフローチャート、
図18に示すフローチャート、
図39に示すフローチャート、
図40に示すフローチャート、
図41に示すフローチャート(
図21~
図23に示すフローチャートを含む)、
図47に示すフローチャートおよび
図48に示すフローチャートを含む)を実行すればよい。これによって、少なくとも1つのネットワーク種別において、集中時間帯が同じであるIPアドレスAdd
iを1つのクラスタにまとめることでき、ネットワークスキャンの最適なスケジューリングを実現できる。
【0624】
なお、(Y+Y’)個のネットワーク種別のうちのY個のネットワーク種別において、クラスタリングを実行するための端末装置の総数NYは、例えば、1億個である。
【0625】
この発明の実施の形態においては、Nc個の初期クラスタは、「複数の初期クラスタ」を構成する。
【0626】
また、この発明の実施の形態においては、上述した方法によって、Nc個の初期クラスタを作成するクラスタリングマネージャ14は、「分類手段」を構成する。
【0627】
更に、この発明の実施の形態においては、N
c個の初期クラスタ、またはN
recls(N
reclsは、1以上の整数)回目の再クラスタリング後の複数のクラスタは、「複数の第1のクラスタ」を構成する。そして、再クラスタリングによって、複数の第1のクラスタ(=N
c個の初期クラスタまたは再クラスタリング後の複数のクラスタ)から作成された複数のクラスタ(=N
c個のクラスタまたは(N
c+ε)個のクラスタ)は、「複数の第2のクラスタ」を構成する。ここで、εは、再クラスタリングによって、クラスタ表TBL-Cに追加されるクラスタ(
図21のステップS1518参照)の個数を表す。
【0628】
更に、この発明の実施の形態においては、再クラスタリングによって、複数の第1のクラスタ(=Nc個の初期クラスタまたは再クラスタリング後の複数のクラスタ)から複数の第2のクラスタ(=Nc個のクラスタまたは(Nc+ε)個のクラスタ)を作成するクラスタリングマネージャ14は、「再分類手段」を構成する。
【0629】
更に、この発明の実施の形態においては、上述した方法によって、スキャンスケジュールを作成するスキャンスケジューラ16は、「スケジュール作成手段」を構成する。
【0630】
更に、この発明の実施の形態においては、Np個のピックアップクラスタは、「Np個の抽出クラスタ」を構成し、Nc個のクラスタからNp個の端末装置を抽出してNp個のピックアップクラスタを作成するクラスタリングマネージャ14は、「抽出手段」を構成する。
【0631】
更に、この発明の実施の形態においては、集中時間帯が同じである1個のピックアップクラスタと集合Gに含まれる少なくとも1つのクラスタとは、「少なくとも1つのクラスタ群」を構成し、Np個の端末装置が抽出された後のNc個のクラスタ(または(Nc+ε)個のクラスタ)は、「複数の第3のクラスタ」を構成する。そして、Np個のピックアップクラスタとNp個の端末装置が抽出された後のNc個のクラスタ(または(Nc+ε)個のクラスタ)との間で集中時間帯が同じであり、かつ、少なくとも1つのクラスタ群を検出するクラスタリングマネージャ14は、「検出手段」を構成する。
【0632】
更に、この発明の実施の形態においては、1個のピックアップクラスタに含まれる端末装置を1個のピックアップクラスタと同じ集中時間帯を有するクラスタ(集合Gに含まれる1個のクラスタ)に追加することは、「同じ集中時間帯を有する1個のピックアップクラスタおよびクラスタ(集合Gに含まれる1個のクラスタ)を合体する」ことに相当する。
【0633】
更に、この発明の実施の形態においては、ネットワーク種別が同じである端末装置をクラスタ化するクラスタリングマネージャ14A,14Bは、「分類手段」を構成する。
【0634】
更に、この発明の実施の形態においては、1つのネットワーク種別に対応して、クラスタリングマネージャ14A,14Bによってクラスタ化されたクラスタは、「複数の第4のクラスタ」を構成する。
【0635】
更に、この発明の実施の形態においては、ネットワーク種別毎に再クラスタリングを実行するクラスタリングマネージャ14A,14Bは、「再分類手段」を構成する。
【0636】
更に、この発明の実施の形態においては、1つのネットワーク種別に対応して、クラスタリングマネージャ14A,14Bによって再クラスタリングされたクラスタは、「複数の第5のクラスタ」を構成する。
【0637】
更に、この発明の実施の形態においては、
図22のステップS1521において検出された集合H内の1つのクラスタは、「第1の結合用クラスタ」を構成し、
図22のS1527において検出された1つのクラスタは、「第2の結合用クラスタ」を構成する。
【0638】
更に、この発明の実施の形態においては、
図22に示すフローチャートを実行するクラスタリングマネージャ14,14A,14Bは、「結合手段」を構成する。
【0639】
更に、この発明の実施の形態においては、
図23のステップS153-3において検出されたクラスタは、「第1の調整用クラスタ」を構成し、
図23のS153-8において検出された1つのクラスタは、「第2の調整用クラスタ」を構成する。
【0640】
更に、この発明の実施の形態においては、
図23に示すフローチャートを実行するクラスタリングマネージャ14,14A,14Bは、「第1の調整手段」を構成する。
【0641】
更に、この発明の実施の形態においては、
図48に示すフローチャートを実行するクラスタリングマネージャ14Bは、「第2の調整手段」を構成する。
【0642】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0643】
この発明は、ネットワークスキャン装置、コンピュータに実行させるためのプログラムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体に適用される。
【符号の説明】
【0644】
1,1A,1B ネットワークスキャン装置、10 通信システム、11 ネットワークスキャナ、12 スキャン解析マネージャ、13,13A ホスト情報データベース、14,14A,14B クラスタリングマネージャ、15,15A クラスタリングデータベース、16,16A スキャンスケジューラ、17 推定手段、20 スキャン対象ネットワーク、30 ユーザ。