(57)【要約】【課題】装置内に格納されるデータの格納位置が木構造をした装置からデータを収集する際に、ネットワークや装置の故障、ネットワークの輻輳に対応して高速かつ効率的にデータ収集すること。【解決手段】データ収集部１１１は、木構造を辿ってデータ収集して、木構造の中での格納位置をアクセス情報としてデータアクセス管理ＤＢ１３０に格納して、次回収集からは、このアクセス情報をデータ要求メッセージに含めてデータ収集する。データ収集状況管理分析部１１３は、データ収集状況を監視し、データ収集時間が増加したら収集するデータ数を削減し、収集データ数または未収集データ数が増加したらデータ収集の並列度を増加するように、データ収集部１１１に指示する。【選択図】図１
2018182420.tif 000002
【特許請求の範囲】
【請求項１】
装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置であって、
前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、
前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集部
を備えたことを特徴とするデータ収集装置。
【請求項２】
前記装置の種別と、前記データの種別と、収集対象データ数と、収集時間と、収集データ数と、未収集データ数とを関連付けて記憶するデータ収集管理ＤＢを記憶する記憶部と、
前記データ収集部が周期的に収集した前記データについて、収集に要した時間と、収集したデータ数と、未収集のデータ数とを、前記装置の種別と前記データの種別ごとに、前記データ収集管理ＤＢの前記収集時間と、前記収集データ数と、前記未収集データ数とに集計して集計データを作成し、定期的に前記集計データの分析を実行するデータ収集状況管理分析部とをさらに備え、
前記データ収集状況管理分析部は、
現時点での前記集計データの前記分析がそれ以前の前記分析と比較して、前記収集時間が増加した場合には、収集する前記データ数を所定の数に削減するように前記データ収集部に指示し、
現時点での前記集計データの前記分析がそれ以前の前記分析と比較して、前記収集時間が増加せず、前記未収集データ数が増加した場合には、データ収集の並列度を所定の数に増加するように前記データ収集部に指示し、
前記収集対象データ数と比較して前記収集データ数が大きい場合には、前記データの収集周期を所定の周期に伸長する、または、データ収集の並列度を所定の数に増加するように前記データ収集部に指示し、
前記データ収集部は、
収集する前記データ数を削減するように指示された場合には、収集する前記データ数を指示された所定の数に削減し、
データ収集の並列度を増加するように指示された場合には、同時に送信する前記データ要求メッセージの数を指示された所定の数に増加し、
データの収集周期を伸長するように指示された場合には、前記データを収集する周期を指示された所定の周期に伸長する
ことを特徴とする請求項１に記載のデータ収集装置。
【請求項３】
前記データ収集状況管理分析部は、
前記収集時間が増加した場合における、前記収集するデータ数の前記所定の数を、
収集対象データ数×（データ収集部のデータ収集の周期／収集時間）
とすることを特徴とする請求項２に記載のデータ収集装置。
【請求項４】
前記データ収集状況管理分析部は、
前記収集時間が増加せず、前記未収集データ数が増加した場合における、前記データ収集の並列度の所定の数を、
（収集対象データ数＋未収集データ数）／収集対象データ数
の小数点以下を切り上げた数とする
ことを特徴とする請求項２に記載のデータ収集装置。
【請求項５】
前記データ収集状況管理分析部は、
前記収集対象データ数と比較して前記収集データ数が大きい場合における、前記データ収集の並列度の前記所定の数を、
収集データ数／収集対象データ数
の小数点以下を切り上げた数とする
ことを特徴とする請求項２に記載のデータ収集装置。
【請求項６】
前記装置は仮想ネットワーク上のネットワーク機能仮想化基盤の仮想ノードであり、前記装置が稼働する物理サーバを移動することができ、前記物理サーバと、前記装置が稼働する前記物理サーバを管理する仮想ノード管理サーバとが、ネットワークを介して前記データ収集装置に接続されており、
前記データ収集装置は、
前記装置が稼働する前記物理サーバを前記仮想ノード管理サーバに問い合わせて前記装置の移動を検知したときに移動先の前記物理サーバの情報を取得する仮想ノード移動探索部をさらに備え、
前記データ収集部は、前記仮想ノード移動探索部が取得した前記移動先の物理サーバの情報を用いて、前記装置に対する前記データ要求メッセージの送信先を移動前の前記物理サーバから移動先の前記物理サーバに変更する
ことを特徴とする請求項１に記載のデータ収集装置。
【請求項７】
装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置のデータ収集方法であって、
前記データ収集装置は、
前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、
前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集ステップ
を実行することを特徴とするデータ収集方法。
【請求項８】
装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置としてのコンピュータに、
前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、
前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集手順
を実行させるためのデータ収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの輻輳や障害に対応しつつ、様々なタイプの装置から任意のデータを収集するデータ収集装置、データ収集方法、および、データ収集プログラムに関する。
【背景技術】
【０００２】
ネットワークに接続された様々なタイプの装置から定期的にデータを収集することが広く行われている。代表的なものに、Ｗｅｂページの自動巡回やネットワーク機器の稼働情報の収集がある。
Ｗｅｂページの自動巡回では、インターネット内のＷｅｂサーバからＷｅｂページが取得され、Ｗｅｂページ内にあるリンクを次々と辿りながらＷｅｂページが収集される。商品の評判を把握するために、特定の商品や企業の情報を含んだＷｅｂページを探索するサービスも存在している。この場合、収集対象であるＷｅｂページのＷｅｂサーバ内の格納位置が予め分かっているわけではなく、Ｗｅｂサーバ内で木構造またはネットワーク構造をしているＷｅｂページとリンクというデータ構造の中で、リンクという枝（エッジ）を辿りながら目的のＷｅｂページが探索される。
【０００３】
他の代表例は、ネットワークの正常稼働を維持するために、ネットワーク装置から、ＣＰＵ（Central Processing Unit）の使用率、ネットワークインタフェースの状態、送受信したデータ量、エラー発生件数などの監視データを収集する例である。以下、ネットワークの監視データの収集を例に、背景技術の説明を続ける。
【０００４】
最も普及しているネットワーク監視データの収集方法として、ＳＮＭＰ（Simple Network Management Protocol）がある。以下、ＳＮＭＰのデータ収集の概略を示す。（１）データ収集装置が、データを格納している装置に対して、収集対象データの格納位置を含んだGetRequestと呼ばれるデータ要求メッセージを送信する。（２）装置はデータ要求メッセージを受信して、指定された格納位置にあるデータをGetResponseと呼ばれるデータ返答メッセージに含め、そのデータ返答メッセージをデータ収集装置に送信する。（３）データ収集装置は、データ返答メッセージを受信して、収集対象のデータを取得する。
【０００５】
ＳＮＭＰの収集対象データは、木構造をしたＭＩＢ（Management Information Base）と呼ばれるデータ管理構成で標準化されている。ルートから末端の対象データまで途中の枝を指定することでデータ管理構成のなかでの収集対象データの格納位置が識別されて、結果的に収集対象データが識別される。
【０００６】
図１３は、従来のデータ収集方法を説明するための図である。図１３を参照して、ＭＩＢとは異なる、データ管理構成を説明する。図１３（ａ）は、パケットスイッチに格納されている収集対象データのデータ管理構成９１０を示す図である。図１３（ｂ）は、光波長スイッチに格納されている収集対象データのデータ管理構成９２０を示す図である。
【０００７】
図１３（ａ）で示すように、ネットワーク＃１にはパケットスイッチである装置９１４が複数接続されており、装置９１４間でパスを形成する。１つの装置９１４は複数のパス９１５を収容しており、収容しているパスの数の分だけのパスの統計情報９１６を保持している。装置９１４の場合、パス９１５をキーに当該パスの統計情報９１６を保持しており、データ収集装置がパス９１５を指定したデータ要求メッセージを装置９１４に送信すれば、当該パスの統計情報９１６を取得することができる。
【０００８】
これに対して、図１３（ｂ）に示すように、光波長スイッチである装置９２３のデータ管理構成９２０では、統計情報９２９はパス９２８に紐付けられていて、パス９２８は、そのパスを収容する物理端点９２７に紐付けられている。さらに、物理端点９２７はスロット９２６に、スロット９２６はユニット９２５に、ユニット９２５は架９２４に、架９２４は装置（光波長スイッチ）９２３に紐付けられるデータ管理構成９２０となっている。このために、データ収集装置は、装置９２３から、架９２４、ユニット９２５、スロット９２６、物理端点９２７と辿ることで、初めて目的とするパス９２８の統計情報９２９を得ることができる。
【０００９】
装置９２３に収容される全てのパス９２８の統計情報９２９を得るには、データ収集装置は、全ての架９２４、全てのユニット９２５、全てのスロット９２６、全ての物理端点９２７と木構造を辿る必要がある。結果として、データ収集装置は、何度も装置９２３にデータ要求メッセージを送信することになり、取得時間を要する上に、ネットワークの輻輳を引き起こす原因にもなっていた。
また、別の装置タイプでは異なるデータ管理構成をしており、例えば、スロット、物理端点、パスという図１３（ｂ）に示した木構造の一部で構成されてもよい。この装置タイプの場合には、スロット、物理端点を辿ることでパスの統計情報が得られる。装置タイプごとに、収集対象データの格納位置が異なり、データ収集装置は、装置タイプに応じて何度もデータ要求メッセージを送信する必要がある。
【００１０】
このような、データ収集は、パケットスイッチや光波長スイッチに限らず、ルータやファイアウォールなどの各種ゲートウェイ、サーバに対しても行われ、データ収集を高速化する技術が求められる。また、データ収集の高速化は、ネットワークの監視データの収集に限らず、Ｗｅｂページ、オンラインストレージ上のファイルなど種々のデータの収集にも求められる。
【００１１】
データ収集を高速化する技術として、特許文献１、２に記載の技術がある。特許文献１に記載の技術は、監視データのトラフィック量が変化するような状況下であっても、被監視装置（データ収集の対象となる装置）からの監視データを効率よく収集することを目的としている。特許文献２に記載の技術は、並列実行システムにおいて処理内容を特徴づけるパラメータをもとに実行時間を予測して処理を装置に割当てて処理時間を最短にすることを目的としている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１１−２１５１５９号公報
【特許文献２】特開平１１−２５９４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１記載の技術は、被監視装置の送信待ち監視データが所定量以上になったときに送信量を調整する技術であり、時々刻々と変化するネットワークの輻輳に対応した監視データ（収集データ）の送信方法（データ収集方法）については記載がない。特許文献２記載の技術は、予測時点でのシステムの内部情報だけから必要なリソース量を予測して並列実行する技術である。しかしながら、並列実行の結果として発生しうるネットワークの輻輳に対応するための並列実行処理の最適化については記載がない。また、何れの技術も、データ管理構成が異なる様々な装置からのデータ収集や、データ管理構成が複雑な装置に対するデータ収集の高速化については記載がない。
【００１４】
本発明の課題は、データ管理構成が異なる複数のタイプの装置が混在する大規模ネットワークにおいて、複数のタイプの装置に対応でき、ネットワークや装置が故障したり、ネットワークに輻輳が発生して未回収データが増加したりしても、データ収集を高速かつ効率的に実行することができるデータ収集装置、データ収集方法、および、データ収集プログラムを提供することである。
【課題を解決するための手段】
【００１５】
上記課題を解決するための手段として、請求項１に係る発明は、装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置であって、前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集部を備えたことを特徴とするデータ収集装置である。
【００１６】
上記課題を解決するための手段として、請求項７に係る発明は、装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置のデータ収集方法であって、前記データ収集装置は、前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集ステップを実行することを特徴とするデータ収集方法である。
【００１７】
上記課題を解決するための手段として、請求項８に係る発明は、装置が格納するデータの格納位置が木構造で示される前記装置から前記データを収集するデータ収集装置としてのコンピュータに、前記データを要求するデータ要求メッセージを前記装置に送信し、前記木構造を探索して前記データを収集し、前記データに到達する木構造のルートから前記データまでのエッジで示される前記データの格納位置へのアクセス情報を生成し、前記生成したアクセス情報を含む前記データ要求メッセージを前記装置に送信することにより前記データを収集するデータ収集手順を実行させるためのデータ収集プログラムである。
【００１８】
上記構成によれば、不要なデータのやり取りや送信するデータ要求メッセージ数を削減することができ、データ収集にかかる時間を削減することができる。さらに、ネットワークに対する負荷を軽減することができる。
【００１９】
上記課題を解決するための手段として、請求項２に係る発明は、前記装置の種別と、前記データの種別と、収集対象データ数と、収集時間と、収集データ数と、未収集データ数とを関連付けて記憶するデータ収集管理ＤＢを記憶する記憶部と、前記データ収集部が周期的に収集した前記データについて、収集に要した時間と、収集したデータ数と、未収集のデータ数とを、前記装置の種別と前記データの種別ごとに、前記データ収集管理ＤＢの前記収集時間と、前記収集データ数と、前記未収集データ数とに集計して集計データを作成し、定期的に前記集計データの分析を実行するデータ収集状況管理分析部とをさらに備え、前記データ収集状況管理分析部は、現時点での前記集計データの前記分析がそれ以前の前記分析と比較して、前記収集時間が増加した場合には、収集する前記データ数を所定の数に削減するように前記データ収集部に指示し、現時点での前記集計データの前記分析がそれ以前の前記分析と比較して、前記収集時間が増加せず、前記未収集データ数が増加した場合には、データ収集の並列度を所定の数に増加するように前記データ収集部に指示し、前記収集対象データ数と比較して前記収集データ数が大きい場合には、前記データの収集周期を所定の周期に伸長する、または、データ収集の並列度を所定の数に増加するように前記データ収集部に指示し、前記データ収集部は、収集する前記データ数を削減するように指示された場合には、収集する前記データ数を指示された所定の数に削減し、データ収集の並列度を増加するように指示された場合には、同時に送信する前記データ要求メッセージの数を指示された所定の数に増加し、データの収集周期を伸長するように指示された場合には、前記データを収集する周期を指示された所定の周期に伸長することを特徴とする請求項１に記載のデータ収集装置である。
【００２０】
上記構成によれば、ネットワークの輻輳や機器の故障などにより、収集できなかったデータがあっても、収集データ数を加減することで、未収集のデータを次の周期で収集することができる。また、収集データ数が増加しても、増加したデータを次の周期で収集することができる。さらに、上記構成によれば、ネットワークに輻輳が発生した場合に収集するデータ数を減らすことで、ネットワークの輻輳を軽減することができ、結果的に全てのデータを効率的に収集することができる。
【００２１】
上記課題を解決するための手段として、請求項３に係る発明は、前記データ収集状況管理分析部は、前記収集時間が増加した場合における、前記収集するデータ数の前記所定の数を、収集対象データ数×（データ収集部のデータ収集の周期／収集時間）とすることを特徴とする請求項２に記載のデータ収集装置である。
【００２２】
上記構成によれば、ネットワークの状況を反映している前回のデータ収集の収集時間に応じて送信するデータ要求メッセージ数を削減することができ、ネットワーク状況に合わせて効率的にデータを収集することができる。
【００２３】
上記課題を解決するための手段として、請求項４に係る発明は、前記データ収集状況管理分析部は、前記収集時間が増加せず、前記未収集データ数が増加した場合における、前記データ収集の並列度の所定の数を、（収集対象データ数＋未収集データ数）／収集対象データ数の小数点以下を切り上げた数とすることを特徴とする請求項２に記載のデータ収集装置である。
【００２４】
上記構成によれば、未収集データ数に応じてデータ収集度を増加することができ、ネットワークへの負荷を抑えつつ効率的にデータを収集することができる。
【００２５】
上記課題を解決するための手段として、請求項５に係る発明は、前記データ収集状況管理分析部は、前記収集対象データ数と比較して前記収集データ数が大きい場合における、前記データ収集の並列度の前記所定の数を、収集データ数／収集対象データ数の小数点以下を切り上げた数とすることを特徴とする請求項２に記載のデータ収集装置である。
【００２６】
上記構成によれば、増加した収集データ数に応じてデータ収集度を増加することができ、ネットワークへの負荷を抑えつつ効率的にデータを収集することができる。
【００２７】
上記課題を解決するための手段として、請求項６に係る発明は、前記装置は仮想ネットワーク上のネットワーク機能仮想化基盤の仮想ノードであり、前記装置が稼働する物理サーバを移動することができ、前記物理サーバと、前記装置が稼働する前記物理サーバを管理する仮想ノード管理サーバとが、ネットワークを介して前記データ収集装置に接続されており、前記データ収集装置は、前記装置が稼働する前記物理サーバを前記仮想ノード管理サーバに問い合わせて前記装置の移動を検知したときに移動先の前記物理サーバの情報を取得する仮想ノード移動探索部をさらに備え、前記データ収集部は、前記仮想ノード移動探索部が取得した前記移動先の物理サーバの情報を用いて、前記装置に対する前記データ要求メッセージの送信先を移動前の前記物理サーバから移動先の前記物理サーバに変更することを特徴とする請求項１に記載のデータ収集装置である。
【００２８】
上記構成によれば、収集対象の装置がネットワーク機能仮想化基盤の中で移動しても、継続的にデータを収集することができる。
【発明の効果】
【００２９】
本発明によれば、データ管理構成が異なる複数のタイプの装置が混在する大規模ネットワークにおいて、複数のタイプの装置に対応でき、ネットワークや装置が故障したり、ネットワークに輻輳が発生して未回収データが増加したりしても、データ収集を高速かつ効率的に実行することができるデータ収集装置、データ収集方法、および、データ収集プログラムを提供することが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態に係るデータ収集装置の全体構成を例示する図である。
【図２】本実施形態に係るデータ収集装置の記憶部に記憶されるデータ取得管理ＤＢのデータ構成を例示する図である。
【図３】本実施形態に係るデータ収集装置の記憶部に記憶されるデータ取得先管理ＤＢのデータ構成を例示する図である。
【図４】本実施形態に係るデータ収集装置の記憶部に記憶されるデータアクセス管理ＤＢのデータ構成を例示する図である。
【図５】本実施形態に係るデータ収集装置の記憶部に記憶される収集データＤＢのデータ構成を例示する図である。
【図６】本実施形態に係るデータ収集装置の記憶部に記憶されるデータ収集管理ＤＢのデータ構成を例示する図である。
【図７】本実施形態に係るデータ収集装置が実行するデータ収集処理を例示するシーケンス図である。
【図８】本実施形態に係るデータ収集装置が実行するデータ収集状況定期チェック処理の概要を例示するシーケンス図である。
【図９】本実施形態に係るデータ収集状況管理分析部が実行するデータ収集状況定期チェック処理を例示するフローチャートである。
【図１０】本実施形態に係るデータ収集部が実行するデータアクセス管理ＤＢの更新処理を例示するフローチャートである。
【図１１】本実施形態に係るデータ収集状況管理分析部が実行するフレキシブルデータ収集設定処理を例示するフローチャートである。
【図１２】本実施形態に係る監視対象ネットワークがＳＤＮである場合のデータ収集装置の動作を説明するための図である。
【図１３】従来のデータ収集方法を説明するための図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して、ネットワーク監視用のデータ収集に本発明を適用した場合の実施形態について説明する。図１は、本実施形態に係るデータ収集装置１００の全体構成を例示する図である。データ収集装置１００は、ネットワーク１２９を介して、収集対象のデータを格納している装置１２０と接続されている。
【００３２】
≪全体構成≫
データ収集装置１００は、制御部１１６と、記憶部１１７と、入出力部１１８とを含んで構成される。制御部１１６は、ＣＰＵで実現され、ＯＳ（Operating System）やアプリケーションプログラムを実行することで、後述するデータ収集部１１１、データ蓄積部１１２、データ収集状況管理分析部１１３などを具現化する。
【００３３】
記憶部１１７は、ハードディスクやＲＡＭ（Random Access Memory）等で実現され、ＯＳやアプリケーションプログラム、データを記憶する。記憶部１１７は、データアクセス管理ＤＢ（Database、データベース）１３０、収集データＤＢ１４０、データ取得管理ＤＢ１６０、データ取得先管理ＤＢ１７０、および、データ収集管理ＤＢ１８０を記憶する。入出力部１１８は、ＮＩＣ（Network Interface Card）などから構成され、装置１２０との通信データの送受信を行ったり、データ収集装置１００に付属したキーボードやディスプレイ（不図示）とのデータ通信を行ったりする。
【００３４】
データ収集部１１１は、ネットワーク１２９を介して装置１２０からネットワーク監視に必要なデータ（収集データまたは収集対象データとも記す）を周期的に取得する。データ収集部１１１は、取得対象のデータの格納先にアクセスするための情報（アクセス情報）を含んだデータ要求メッセージを装置１２０に送信する。データ収集部１１１は、データ取得管理ＤＢ１６０（後述する図２参照）とデータ取得先管理ＤＢ１７０（後述する図３参照）とを参照して、データ要求メッセージを送信する。
【００３５】
データ要求メッセージを受信した装置１２０は、アクセス情報を参照してデータを取得し、データ返答メッセージに格納して、そのデータ返答メッセージをデータ収集部１１１に送信する。データ返答メッセージを受信したデータ収集部１１１は、データを後述するデータ蓄積部１１２に出力する。
【００３６】
図２は、本実施形態に係るデータ収集装置１００の記憶部１１７に記憶されるデータ取得管理ＤＢ１６０のデータ構成を例示する図である。データ取得管理ＤＢ１６０は、例えばテーブル形式のデータであり、１レコード（行）は、後述する装置タイプとデータ項目とネットワークとの組合せで識別されるデータの収集に関する情報を含んでいる。データ取得管理ＤＢ１６０は、装置タイプ１６１、データ項目１６２、ネットワーク１６３、次回収集時刻１６４、収集周期１６５、並列数１６６、収集対象データ数１６７、および、次回収集データ数１６８の属性（列）を含む。
【００３７】
装置タイプ１６１は、データ収集先である装置１２０のタイプであり、パケットスイッチ、光波長スイッチ、ファイアウォールなどの装置タイプがある。図２を含め他の図でも、装置タイプの例をＡ、Ｂなどで示す。
データ項目１６２は、収集対象データの項目である。パスの性能の統計情報（図２では「パス性能」と記載）、装置１２０の稼働状況を示す統計情報、装置１２０のネットワークインタフェースの状況を示す情報などの項目がある。
ネットワーク１６３は、データ収集先である装置１２０が接続されているネットワークの識別情報である。
【００３８】
次回収集時刻１６４は、ネットワーク１６３に接続されている装置タイプ１６１の装置１２０からデータ項目１６２のデータ（当該レコードで識別されるデータ）を収集する開始時刻を示す。収集先の装置１２０は通常複数あり、各々の装置１２０にはデータ項目１６２のデータが１つ以上存在する。
収集周期１６５は、当該レコードで識別されるデータを収集する周期を示す。
並列数１６６は、当該レコードで識別されるデータの収集処理の並列度を示す。並列数１６６は通常は１であり、データ収集部１１１は、当該レコードで識別されるデータを順次取得する。並列数１６６が２以上なら、データ収集部１１１は、複数のデータを並列して取得する。
【００３９】
収集対象データ数１６７は、当該レコードで識別されるデータのデータ数を示し、ネットワークの輻輳や装置の故障がない通常時の１周期で収集するデータ数である。
次回収集データ数１６８は、次回のデータ収集で収集するデータ数を示す。通常は、次回収集データ数１６８は、収集対象データ数１６７に等しいが、前回の収集で収集できなかったデータがあれば、収集対象データ数１６７よりも大きくなる。また、ネットワークの輻輳が発生して収集するデータ数を削減する場合には、次回収集データ数１６８は、収集対象データ数１６７より小さくなる。
【００４０】
図３は、本実施形態に係るデータ収集装置１００の記憶部１１７に記憶されるデータ取得先管理ＤＢ１７０のデータ構成を例示する図である。データ取得先管理ＤＢ１７０は、例えばテーブル形式のデータであり、１レコード（行）は、１つのデータ要求メッセージで取得する収集データに関する情報を含んでいる。各レコードは、後述するキーと補足キーとで識別される。データ取得先管理ＤＢ１７０は、キー１７１、補足キー１７２、装置ＩＤ１７３、装置タイプ１７４、データ項目１７５、前回収集時刻１７６、および、装置別次回収集データ数１７７の属性（列）を含む。
【００４１】
キー１７１と補足キー１７２とは、収集対象データを識別するための情報であり、キー１７１と補足キー１７２とのペアで、１つの収集対象データが識別される。例えば、図３の１番目のレコードは、補足キー１７２であるネットワーク＃２で識別されるネットワーク内のキー１７１であるパス＃１で識別されるパスに関する情報を示している。
なお、キー１７１と補足キー１７２とで識別される収集対象データは、単一のデータとは限らず、数値、論理値、文字データなどが複数組み合わされて１つのデータ（複合データ、データセット）となる場合もある。例えば、ネットワークインタフェースのデータは、インタフェースの名称、状態、送信データバイト数、エラーパケットなどのデータからなる。
【００４２】
装置ＩＤ１７３は、収集対象データを格納している装置の識別子である。当該データを取得するために、データ収集部１１１は装置ＩＤ１７３で識別される装置１２０にデータ要求メッセージを送信する。
装置タイプ１７４は、装置ＩＤ１７３で識別される装置１２０のタイプを示し、装置タイプ１６１（図２参照）と同じである。
【００４３】
データ項目１７５は、収集対象データの項目であり、データ項目１６２（図２参照）と同じである。
前回収集時刻１７６は、当該データを前回収集したときの時刻である。
装置別次回収集データ数１７７は、装置ＩＤ１７３で識別される装置１２０から収集するデータの個数を示す。装置別次回収集データ数１７７は、通常は１であるが、以前のデータ収集で装置ＩＤ１７３で識別される装置１２０からデータを取得できなかった場合には１より大きい値になる。
データ取得管理ＤＢ１６０とデータ取得先管理ＤＢ１７０とを参照したデータ収集部１１１のデータ収集処理は、後述する図７を参照して説明する。
【００４４】
図１に戻り、データ収集部１１１は、データ要求メッセージに含める取得対象のデータを識別するアクセス情報（データの格納位置またはデータの位置情報とも記す）をデータアクセス管理ＤＢ１３０（後述する図４参照）から取得する。取得対象データのアクセス情報は、図１３に示したように装置から取得対象データまでの要素を順に含んでいる。例えば、図１３（ａ）の統計情報＃２を取得するために、データ収集部１１１は、「パス＃２」というアクセス情報を含んだデータ要求メッセージを装置＃１に送信する。また、図１３（ｂ）の統計情報＃６を取得するために、データ収集部１１１は、「架番号＃１、ユニット番号＃１、スロット番号＃１、物理端点＃１、パス＃６」というアクセス情報（データの格納位置または位置情報）を含んだデータ要求メッセージを装置ＩＤ＃１に送信する。
【００４５】
図４は、本実施形態に係るデータ収集装置１００の記憶部１１７に記憶されるデータアクセス管理ＤＢ１３０のデータ構成を例示する図である。データアクセス管理ＤＢ１３０は、例えばテーブル形式のデータであり、１レコード（行）は、１つのデータ要求メッセージで取得する収集データのアクセス情報に関する情報を含んでいる。データアクセス管理ＤＢ１３０は、キー１３１、補足キー１３２、バリュー１３３の属性（列）を含む。
キー１３１と補足キー１３２とは、データ取得先管理ＤＢ１７０（図３参照）のキー１７１と補足キー１７２と、それぞれ同じである。
【００４６】
バリュー１３３は、キー１３１と補足キー１３２のペアで識別される収集データの収集先となる装置１２０の識別情報と、キー１３１を除いたアクセス情報とのペアである。データ収集部１１１は、データ要求メッセージに含めるデータのアクセス情報を、バリュー１３３から取得する。詳しくは、データ収集部１１１は、データ取得先管理ＤＢ１７０のキー１７１および補足キー１７２と、同じキー１３１および補足キー１３２をもつレコードをデータアクセス管理ＤＢ１３０で検索し、見つかったレコードのバリュー１３３から先頭の装置ＩＤを除き、末尾にキー１３１を付加してアクセス情報を得る。例えば、図４の１番目のレコードの例で言えば、「架＃２／ユニット＃６／スロット＃３／物理端点＃１／パス＃１７」がアクセス情報となる。データ収集部１１１は、このアクセス情報を含んだデータ要求メッセージを、バリュー１３３の最初の要素である装置＃９に送信することで、目的のデータを収集できる。
【００４７】
レコードが見つからない場合には、データ収集部１１１は、図１３（ｂ）で説明したように、図１３（ｂ）に記載の要素を順に辿りながら目標となる収集データを探索する。しかしながら、後述するデータ収集状況管理分析部１１３が実行するデータ収集状況定期チェック（後述する図９参照）により、要素を順に辿りながら目標となる収集データを探索して収集した場合には、データアクセス管理ＤＢ１３０が更新される。詳しくは、要素を順に辿りながらデータを収集した場合（アクセス情報の要素数が１より大きい場合）には、当該アクセス情報に対応するレコードが、データアクセス管理ＤＢ１３０に追加される。次の周期以降のデータ収集においては、データ収集部１１１は、要素を順に辿ることなく、１つのデータ要求メッセージで目的のデータを収集することができる。
【００４８】
図１に戻って、データ蓄積部１１２は、データ収集部１１１が収集したデータを収集データＤＢ１４０（後述する図５参照）に格納する。
図５は、本実施形態に係るデータ収集装置１００の記憶部１１７に記憶される収集データＤＢ１４０のデータ構成を例示する図である。収集データＤＢ１４０は、例えばテーブル形式のデータであり、１レコード（行）は、１つのデータ要求メッセージで取得した収集データを含んでいる。収集データＤＢ１４０は、キー１４１、補足キー１４２、装置ＩＤ１４３、装置タイプ１４４、収集時間１４５、収集日時１４６、収集データ１４７、収集データ数１４８、未収集データ数１４９、および、アクセス情報１５０の属性（列）を含む。
【００４９】
キー１４１、補足キー１４２、装置ＩＤ１４３、装置タイプ１４４は、それぞれデータ取得先管理ＤＢ１７０（図３参照）のキー１７１、補足キー１７２、装置ＩＤ１７３、装置タイプ１７４と同じである。
収集時間１４５は、データ収集部１１１が当該データの収集に要した時間である。
収集日時１４６は、データ収集部１１１が当該データを収集した日時である。
収集データ１４７は、データ収集部１１１が収集したデータである。
【００５０】
収集データ数１４８は、データ収集部１１１が収集したデータの個数である。収集データ数１４８は、通常は１であるが、当該レコードの前のデータ収集で収集できなかったデータがあれば、今回のデータ収集で前回分も含めて収集して１よりも大きい値になる。
未収集データ数１４９は、データ収集部１１１が収集できなかった未収集データの個数である。収集に成功すれば０となる。
アクセス情報１５０は、収集データのアクセス情報である。図５の２番目のレコードは、ネットワーク＃２に接続された装置＃５の「架＃２／ユニット＃４／…／パス＃２」というアクセス情報のデータに関する情報である。
【００５１】
図１に戻って、データ収集状況管理分析部１１３は、データ収集部１１１のデータ収集状況を監視し、データ収集が最適化されるように、収集データのアクセス情報のデータアクセス管理ＤＢ１３０への追加や収集データ数の増減をデータ収集部１１１に指示する。データ収集状況の監視に用いられるデータは、データ収集管理ＤＢ１８０に格納される（後述する図６参照）。データ収集状況管理分析部１１３の処理内容は、図９と図１１を参照して後述する。
【００５２】
図６は、本実施形態に係るデータ収集装置１００の記憶部１１７に記憶されるデータ収集管理ＤＢ１８０のデータ構成を例示する図である。データ収集管理ＤＢ１８０は、例えばテーブル形式のデータであり、１レコード（行）は、１つのネットワークに接続された１つの装置タイプから取得する１つのデータ項目のデータについてデータ収集状況の統計データを含んでいる。データ収集管理ＤＢ１８０は、データ項目１８１、装置タイプ１８２、ネットワーク１８３、収集周期１８４、収集時間１８５、装置数１８６、収集対象データ数１８７、収集データ数１８８、未収集データ数１８９、階層深さ１９０、ＤＡＳＣ（Data Access Short Cut）１９１、ＦＤＣ（Flexible Data Access）１９２、および、周期延長１９３の属性（列）を含む。
【００５３】
データ項目１８１と装置タイプ１８２とネットワーク１８３と収集周期１８４と収集対象データ数１８７とは、データ取得管理ＤＢ１６０（図２参照）のデータ項目１６２と装置タイプ１６１とネットワーク１６３と収集周期１６５と収集対象データ数１６７と、それぞれ同じである。
【００５４】
収集時間１８５は、データ収集部１１１がネットワーク１８３に接続された装置タイプ１８２の装置１２０からデータ項目１８１のデータ収集で、直近の１周期のデータ収集に要した時間である。
装置数１８６は、ネットワーク１８３に接続された装置タイプ１８２の装置１２０の数である。
【００５５】
収集データ数１８８は、直近の１周期でネットワーク１８３に接続された装置タイプ１８２の装置１２０から収集したデータ項目１８１のデータ数である。
未収集データ数１８９は、ネットワーク１８３に接続された装置タイプ１８２の装置１２０から収集できていないデータ項目１８１の未収集データ数である。
【００５６】
階層深さ１９０は、装置タイプ１８２の装置１２０から収集するデータ項目１８１のデータのアクセス情報の深さである。図１３で説明したアクセス情報の要素の数である。図４記載の１番目のレコードのアクセス情報は、バリュー１３３の値から装置１２０の識別情報を除いてキー１３１を末尾に付加した「架番号＃２／ユニット番号＃６／スロット番号＃３／物理端点＃１／パス＃１７」であり、階層深さは５である。
【００５７】
ＤＡＳＣ１９１は、階層深さ１９０が深い場合（例えば、階層深さ１９０＞１の場合）に、図１３で説明したように要素を順に辿りながら目標となる収集データを探索するのではなく、収集データに直接アクセスするか否かを示す。ＤＡＳＣ１９１は、直接アクセスするときには「Ｙ」、そうでなければ「Ｎ」である。ＤＡＳＣ１９１が「Ｙ」なら対応するレコードがデータアクセス管理ＤＢ１３０（図４参照）に存在する。
【００５８】
ＦＤＣ１９２は、データ収集が最適化されるように、収集データ数の増減を行うかを示し、行うなら「Ｙ」、行わないのなら「Ｎ」である。
周期延長１９３は、収集周期１８４を伸ばすことが可能なら「Ｙ」、不可なら「Ｎ」を示す。周期延長１９３は、データ収集装置１００の管理者であるネットワーク管理者が、ネットワークの監視方針に従って設定する。
データ収集管理ＤＢ１８０は、上記の属性以外にも、データ収集状況の監視や最適化のために参照される属性を含んでいる。例えば、収集時間１８５の変化を把握するための過去の収集時間１８５を格納している属性があるが、図示していない。同様に、未収集データ数１８９の変化を把握するための過去の未収集データ数１８９を格納している属性があるが、図示していない。
【００５９】
データ収集状況管理分析部１１３は、データ収集管理ＤＢ１８０（図６参照）に蓄積されたデータ収集の統計情報を分析して、データ収集の最適化を行う。データ収集状況管理分析部１１３が参照する情報としては、収集時間１８５、未収集データ数１８９、階層深さ１９０などがあり、次回収集データ数１６８（図２参照）、並列数１６６などを加減したり、データアクセス管理ＤＢ１３０（図４参照）を更新することで、データ収集部１１１が実行するデータ収集を最適化する。
【００６０】
本実施形態に係るデータ収集装置１００は、以下の処理を特徴とする。収集時間１８５が増加傾向ないしは収集周期１８４より長ければ、データ収集状況管理分析部１１３は、ネットワークに輻輳が発生していると判断して、データ要求メッセージ数（図２記載の次回収集データ数１６８）を削減する。また、未収集データ数１８９が増加傾向である場合には、データ収集状況管理分析部１１３は、ネットワークまたは装置に障害が発生したと判断して、データ収集部１１１がデータ要求メッセージを並列して送信するように、並列数１６６（図２参照）を増加する。収集データ数１８８が増加した場合には、データ収集状況管理分析部１１３は、収集対象のデータが増加したと判断して、データ収集部１１１がデータ要求メッセージを並列して送信するように、並列数１６６を増加する。なお、詳細はデータ収集装置１００の処理の中において説明する。
【００６１】
≪データ収集処理≫
図７は、本実施形態に係るデータ収集装置１００が実行するデータ収集処理を例示するシーケンス図である。データ収集装置１００は、図７に示す処理を繰り返し実行してデータ収集を行う。
ステップＳ１１において、データ収集部１１１は、データ取得管理ＤＢ１６０（図２参照）とデータ取得先管理ＤＢ１７０（図３参照）とから収集対象データを検索する。詳しくは、データ収集部１１１は、データ取得管理ＤＢ１６０の中で現在時刻に合致する次回収集時刻１６４をもつレコードを検索する。次に、データ収集部１１１は、当該レコードの装置タイプ１６１とデータ項目１６２とネットワーク１６３とに合致する装置タイプ１７４とデータ項目１７５と補足キー１７２とを含むレコードをデータ取得先管理ＤＢ１７０のなかで検索する。データ取得先管理ＤＢ１７０のこのレコードが収集対象データを示している。
【００６２】
ステップＳ１２において、データ収集部１１１は、ステップＳ１１で検索したレコードで示される収集対象データについてステップＳ１３〜Ｓ１７の処理を実行する。
ステップＳ１３において、データ収集部１１１は、データ要求メッセージを装置１２０に送信する。詳しくは、データ収集部１１１は、データ取得先管理ＤＢ１７０の当該レコードにある装置ＩＤ１７３で示される装置に対してデータ要求メッセージを送信する。
【００６３】
データ要求メッセージには、当該レコードのキー１７１と補足キー１７２で識別されるデータのアクセス情報が含まれる。詳しくは、データ収集部１１１は、データアクセス管理ＤＢ１３０でキー１７１および補足キー１７２と、同一のキー１３１および補足キー１３２とを含むレコードを検索して、そのレコードのバリュー１３３からアクセス情報を生成して、データ要求メッセージに格納する。当該レコードがデータアクセス管理ＤＢ１３０にない場合については、後述する。
【００６４】
ステップＳ１４において、装置１２０は、データ要求メッセージに格納されているアクセス情報にあるデータをデータ返答メッセージに格納して、データ収集装置１００に送信する。
ここで、キー１７１と補足キー１７２とに一致するレコードがデータアクセス管理ＤＢ１３０にない場合を説明する。このような場合には、データ収集部１１１はデータ要求メッセージを繰り返して送信して、図１３（ｂ）に示した装置１２０内のデータ管理構成９２０のなかでキー１７１となる要素を探索する。
また、装置別次回収集データ数１７７が、１より大きければ、データ要求メッセージを装置別次回収集データ数１７７の数分だけ送信して、装置別次回収集データ数１７７の数分だけのデータを取得する。
【００６５】
ステップＳ１５において、データ収集部１１１は、データ取得先管理ＤＢ１７０（図３参照）の当該レコードを更新する。詳しくは、データ収集部１１１は、全てのデータを収集したのならば、装置別次回収集データ数１７７を１に更新し、未収集データがあるならば、未収集データ数に次回周期分の１を加えた数に装置別次回収集データ数１７７を更新する。次回のデータ収集では、データ収集部１１１は、次回の収集分と今回の未収集分を合わせて収集する。続いて、データ収集部１１１は、前回収集時刻１７６を現在時刻に更新する。
【００６６】
続いて、ステップＳ１６において、データ収集部１１１は、収集したデータをデータ蓄積部１１２に出力して、データ格納を指示する。指示には、当該レコードのキー１７１、補足キー１７２、装置ＩＤ１７３、装置タイプ１７４の他に、収集に要した時間、収集時刻、収集データ数、未収集データ数、収集データのアクセス情報が含まれる。
【００６７】
ステップＳ１７において、データ格納の指示を受けたデータ蓄積部１１２は、出力されたデータを収集データＤＢ１４０に格納する。詳しくは、データ蓄積部１１２は、収集データＤＢ１４０にレコードを追加し、指示に含まれるキー１７１、補足キー１７２、装置ＩＤ１７３、装置タイプ１７４、収集に要した時間、収集時刻、収集データ、収集データ数、未収集データ数、収集データのアクセス情報を、それぞれ、追加したレコードのキー１４１、補足キー１４２、装置ＩＤ１４３、装置タイプ１４４、収集時間１４５、収集日時１４６、収集データ１４７、収集データ数１４８、未収集データ数１４９、アクセス情報１５０に、それぞれ格納する。
【００６８】
ステップＳ１８において、データ収集部１１１は、ステップＳ１１で検索したレコードで示される全ての収集対象データについてステップＳ１３〜Ｓ１７の処理を実行したか判断する。データ収集部１１１は、全ての収集対象データに対して処理を実行したらステップＳ１９に進み、未処理のデータがあれば、ステップＳ１３に戻る。
【００６９】
ステップＳ１９において、データ収集部１１１は、ネットワーク１６３（図２参照）、装置タイプ１６１、データ項目１６２、収集に要した時間、収集データ数、未収集データ数、データのアクセス情報に含まれる要素数をデータ収集管理情報としてデータ収集状況管理分析部１１３に出力する。収集に要した時間、収集データ数、未収集データ数は、ステップＳ１２〜Ｓ１８の総時間数または総数である。データのアクセス情報に含まれる要素数については、ステップＳ１２〜Ｓ１８の各データでは、装置タイプ１６１とデータ項目１６２とは同じなので、要素数は同じであり、この要素数を出力する。
【００７０】
ステップＳ２０において、データ収集状況管理分析部１１３は、データ収集管理情報を受取り、データ収集管理ＤＢ１８０を更新する。詳しくは、データ収集状況管理分析部１１３は、データ収集管理ＤＢ１８０のレコードで、ネットワーク１８３と装置タイプ１８２とデータ項目１８１とが、受取ったネットワーク１６３と装置タイプ１６１とデータ項目１６２とに等しいレコードを検索する。続いて、データ収集状況管理分析部１１３は、収集時間１８５、収集データ数１８８、未収集データ数１８９、階層深さ１９０を、それぞれ出力された収集に要した時間、収集データ数、未収集データ数、データのアクセス情報に含まれる要素数に更新する。なお、収集データ数１８８については、データ収集管理ＤＢ１８０は、以前の周期の収集データ数１８８の属性（不図示）も格納しており、データ収集状況管理分析部１１３は、過去の収集データ数１８８を残しながら、収集データ数１８８を更新する。
【００７１】
上記の説明で、データ収集部１１１は、ステップＳ１２〜Ｓ１８の処理を、Ｓ１１で検索された全てのデータに対して実行していた。次回収集データ数１６８（図２参照）が収集対象データ数１６７より小さい場合には、データ収集部１１１は、次回収集データ数１６８を上限としたデータに対してステップＳ１２〜Ｓ１８の処理を実行する。データ収集部１１１は、前回収集時刻１７６（図３参照）が古いデータから収集するようにしてもよいし、装置別次回収集データ数１７７が多いデータから収集するようにしてもよい。データ収集部１１１は、前回の収集からの時間がより長いデータや未収集のデータから先に収集することで、古いデータが装置１２０で破棄されてしまう前に収集することができる。
また、上記の説明で、データ収集部１１１は、ステップＳ１２〜Ｓ１８の処理を、Ｓ１１で検索されたデータに対して逐次実行していたが、並列数１６６（図２参照）が１より大きければ、並列数１６６を上限として、並行処理する。
【００７２】
≪データ収集状況定期チェック処理≫
図８は、本実施形態に係るデータ収集装置１００が実行するデータ収集状況定期チェック処理の概要を例示するシーケンス図である。データ収集状況定期チェック処理は、定期的に実行される。
【００７３】
ステップＳ７１において、データ収集状況管理分析部１１３は、データ収集状況定期チェック処理を実行する。本処理は図９を参照して、後述する。
ステップＳ７２において、データ収集状況管理分析部１１３は、データ収集状況定期チェック処理の結果として、データ取得管理ＤＢ１６０とデータアクセス管理ＤＢ１３０との更新をデータ収集部１１１に指示する。
【００７４】
ステップＳ７３において、データ収集部１１１は、データ収集状況管理分析部１１３の指示を受けて、データ取得管理ＤＢ１６０とデータアクセス管理ＤＢ１３０とを更新する。
【００７５】
図９は、本実施形態に係るデータ収集状況管理分析部１１３が実行するデータ収集状況定期チェック処理を例示するフローチャートである。本処理は、図８で説明したステップＳ７１のデータ収集状況定期チェック処理である。
ステップＳ６１において、データ収集状況管理分析部１１３は、データ収集管理ＤＢ１８０に含まれる各レコードについて、ステップＳ６２〜ステップＳ６８の処理を繰り返し実行する。
【００７６】
ステップＳ６２において、データ収集状況管理分析部１１３は、収集周期１８４と収集時間１８５とを比較し、収集時間１８５に余裕があるか判断する。データ収集状況管理分析部１１３は、データ収集部１１１が前回周期でデータ収集に要した時間である収集時間１８５が収集周期１８４より短ければ、余裕があると判断してもよいし、直近の所定数の収集時間（不図示）の平均値と収集周期１８４とを比較して判断してもよい。また、データ収集状況管理分析部１１３は、収集時間１８５が収集周期１８４の所定比率の時間内におさまっていれば余裕ありと判断してもよい。
【００７７】
ステップＳ６３において、データ収集状況管理分析部１１３は、余裕があれば（Ｙ）、ステップＳ６９に進み、余裕がなければ（Ｎ）、ステップＳ６４に進む。
ステップＳ６４において、データ収集状況管理分析部１１３は、階層深さ１９０が１より大きければステップＳ６７に進み、１以下であればＳ６５に進む。
ステップＳ６５において、データ収集状況管理分析部１１３は、ＦＤＣ１９２（図６参照）がＹであれば、ステップＳ６６に進み、ＦＤＣ１９２がＮであれば、ステップＳ６９に進む。
ステップＳ６６において、データ収集状況管理分析部１１３は、フレキシブルデータ収集設定処理を実行する。フレキシブルデータ収集設定処理は図１１を参照して後述する。
【００７８】
ステップＳ６７において、データ収集状況管理分析部１１３は、ＤＡＳＣ１９１がＹであれば、ステップＳ６９に進み、ＤＡＳＣ１９１がＮであれば、ステップＳ６８に進む。
ステップＳ６８において、データ収集状況管理分析部１１３は、データ収集部１１１にデータ項目１８１と装置タイプ１８２とネットワーク１８３とを出力してデータアクセス管理ＤＢ１３０の更新（キー設定）を指示して、ＤＡＳＣ１９１をＹに更新する。指示を受けたデータ収集部１１１の処理は、図１０を参照して後述する。
【００７９】
ステップＳ６９において、データ収集状況管理分析部１１３は、データ収集管理ＤＢ１８０に含まれる各レコードについて、ステップＳ６２〜ステップＳ６８の処理を繰り返したか判断する。全てのレコードについて処理したならば、データ収集状況定期チェック処理を終える。未処理のレコードがあれば、ステップＳ６２から繰り返す。
【００８０】
≪データアクセス管理ＤＢの更新（キー設定）処理≫
図１０は、本実施形態に係るデータ収集部１１１が実行するデータアクセス管理ＤＢ１３０の更新処理を例示するフローチャートである。図１０を参照して、ステップＳ６８において、データ収集状況管理分析部１１３からの指示を受けたデータ収集部１１１の処理を説明する。本処理は、データアクセス管理ＤＢ１３０の更新の指示を受けた場合のステップＳ７３（図８参照）の処理である。
【００８１】
ステップＳ６６１において、データ収集部１１１は、データ取得先管理ＤＢ１７０のレコードであって、データ項目１７５と装置タイプ１７４と補足キー１７２とが受取ったデータ項目１８１と装置タイプ１８２とネットワーク１８３とにそれぞれ一致するレコードを検索する。
【００８２】
ステップＳ６６２において、データ収集部１１１は、ステップＳ６６１の検索結果であるレコードそれぞれに対して、ステップＳ６６３とステップＳ６６４の処理を繰り返す。
ステップＳ６６３において、データ収集部１１１は、当該レコードのキー１７１と補足キー１７２を条件にデータのアクセス情報を収集データＤＢ１４０から取得する。詳しくは、データ収集部１１１が、キー１７１および補足キー１７２と、同一のキー１４１および補足キー１４２とをもつレコードを検索して、そのレコードのアクセス情報１５０を取得する。
【００８３】
ステップＳ６６４において、データ収集部１１１は、データアクセス管理ＤＢ１３０を更新する。詳しくは、データ収集部１１１は、データアクセス管理ＤＢ１３０にレコードを追加し、キー１３１をキー１７１に、補足キー１３２を補足キー１７２に、バリュー１３３を装置ＩＤ１７３と、取得したアクセス情報からキー１３１を除いた値とを組合せた値に更新する。
【００８４】
ステップＳ６６５において、データ収集部１１１は、ステップＳ６６１の検索結果である全てのレコードそれぞれに対して、ステップＳ６６３とステップＳ６６４の処理を実行したか判断し、全てのレコードの処理を終えたならばデータアクセス管理ＤＢ１３０（キー設定）処理を終え、未処理のレコードがあれば、ステップＳ６６３から繰り返す。
【００８５】
以上のデータ収集部１１１の処理、および、図７に記載のデータ収集処理により、データ収集部１１１は、図１３（ｂ）に示したように木構造を辿りながら収集したデータをアクセス情報を含めたデータ要求メッセージ１つで収集できるようになる（請求項に記載のデータ収集手順）。詳しくは、本実施形態に係るデータ収集装置１００は、架、ユニット、スロット、物理端点、パスという木構造の中でデータ要求メッセージを繰り返し送りながら探索して収集したデータを、例えば、「架＃２／ユニット＃６／スロット＃３／物理端点＃１／パス＃１７」というアクセス情報を含むデータ要求メッセージを１つ送信することで収集することができるようになる。送信するデータ要求メッセージの数を削減することで、データ収集部１１１が収集に要する時間を削減することができるとともに、ネットワークへの負荷も軽減することができる。
【００８６】
≪フレキシブルデータ収集設定処理≫
図１１は、本実施形態に係るデータ収集状況管理分析部１１３が実行するフレキシブルデータ収集設定処理を例示するフローチャートである。図１１を参照して、データ収集状況定期チェック処理（図９参照）のステップＳ６６の処理を詳細に説明する。図１１の処理は、データ収集管理ＤＢ１８０の各レコードごとに実行される。
【００８７】
ステップＳ３１において、データ収集状況管理分析部１１３は、同一ネットワーク上の複数の装置タイプで、データ収集時間が増加したか判断する。詳しくは、データ収集状況管理分析部１１３は、ネットワーク１８３が同一である他のレコードの収集時間１８５の変化を比較することで判断する。
データ収集状況管理分析部１１３は、収集時間１８５が過去の収集時間（不図示）の平均値より所定の比率より長ければ、データ収集時間が増加したと判断してもよいし、収集時間１８５が収集周期１８４より長ければ、データ収集時間が増加したと判断してもよい。なお、データ収集時間が長くなった要因の１つとして、ネットワークの輻輳が考えられる。
【００８８】
ステップＳ３２において、データ収集状況管理分析部１１３は、ステップＳ３１で増加と判断したら（Ｙ）、ステップＳ３３に進み、増加と判断しなければ（Ｎ）、ステップＳ３７に進む。
ステップＳ３３において、データ収集状況管理分析部１１３は、１周期あたりの収集データ数を削減する。詳しくは、データ収集状況管理分析部１１３は、１周期あたりの収集データ数を、（収集対象データ数１８７×収集周期１８４）／（収集時間１８５）にするように、データ収集部１１１に指示する。
指示を受けたデータ収集部１１１は、次回収集データ数１６８を指示された数に更新する。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
【００８９】
ステップＳ３４において、データ収集状況管理分析部１１３は、ステップＳ３３で削減した収集データに対して、所定回数連続して収集周期内でデータ収集が完了したか判断する。詳しくは、データ収集状況管理分析部１１３は、１周期の時間が過ぎた後に直近の所定回数連続して収集周期内でデータが収集できたか、過去分も含めて収集時間１８５を参照して判断する。
【００９０】
ステップＳ３５において、データ収集状況管理分析部１１３は、ステップＳ３４で収集完了と判断すれば（Ｙ）、ステップＳ３６に進み、収集完了していないと判断すれば（Ｎ）、ステップＳ３３に戻る。
ステップＳ３６において、データ収集状況管理分析部１１３は、通常の収集データ数に戻す。詳しくは、データ収集状況管理分析部１１３は、通常の収集データ数に戻すように、データ収集部１１１に指示する。指示を受けたデータ収集部１１１は、ステップＳ３３で変更した次回収集データ数１６８を収集対象データ数１６７に戻す。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
【００９１】
ステップＳ３７において、データ収集状況管理分析部１１３は、未収集データ数１８９（図６参照）が、増加したか判断する。なお、未収集データが増加した要因の１つとして、ネットワークまたは装置１２０の障害が考えられる。
ステップＳ３８において、データ収集状況管理分析部１１３は、ステップＳ３７において増加したと判断すれば（Ｙ）、ステップＳ３９へ進み、増加したと判断しないならば（Ｎ）、ステップＳ４３へ進む。
【００９２】
ステップＳ３９において、データ収集状況管理分析部１１３は、データ収集並列数を増加する。詳しくは、データ収集状況管理分析部１１３は、並列数を、（（未収集データ数１８９＋収集対象データ数１８７）／収集対象データ数１８７）の小数点以下を切り上げた数にするようにデータ収集部１１１に指示する。上記の並列数がデータ収集装置１００の許容範囲を超えるならば、許容範囲の上限値を並列数とする。
指示を受けたデータ収集部１１１は、並列数１６６（図２参照）を指示された数に更新する。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
ステップＳ４０において、データ収集状況管理分析部１１３は、１周期の時間が過ぎた後に未収集データ数１８９が０になったか判断して、０ならば（Ｙ）、ステップＳ４２に進み、０でないならばステップＳ４１に進む。
【００９３】
ステップＳ４１において、データ収集状況管理分析部１１３は、ネットワークで輻輳が発生したか判断し、輻輳と判断したら（Ｙ）、ステップＳ３３へ進み、輻輳と判断しなければ（Ｎ）、ステップＳ３９に戻る。ネットワークの輻輳を判断するには、ステップＳ３１と同様に、データ収集状況管理分析部１１３は、同一ネットワーク上の複数の装置タイプで、データ収集時間が増加したかで判断する。
【００９４】
ステップＳ４２において、データ収集状況管理分析部１１３は、データ収集並列数を元に戻す。詳しくは、データ収集状況管理分析部１１３は、通常の並列数に戻すように、データ収集部１１１に指示する。指示を受けたデータ収集部１１１は、並列数１６６（図２参照）を１に戻す。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
ステップＳ４３において、データ収集状況管理分析部１１３は、同一装置タイプで収集データ数が増加したか判断する。詳しくは、データ収集状況管理分析部１１３は、収集対象データ数１８７（図６参照）と収集データ数１８８とを比較し、収集データ数１８８が多ければ、増加したと判断する。
【００９５】
ステップＳ４４において、データ収集状況管理分析部１１３は、ステップＳ４３で増加したと判断したとき（Ｙ）にはステップＳ４５に進み、増加したと判断しないとき（Ｎ）にはフレキシブルデータ収集設定処理を終える。
【００９６】
ステップＳ４５において、データ収集状況管理分析部１１３は、収集周期が延長できるか周期延長１９３を参照し、Ｙなら延長可能、Ｎなら延長不可能と判断する。
ステップＳ４６において、データ収集状況管理分析部１１３は、ステップＳ４５において、延長可能ならステップＳ４７に進み、延長不可能ならステップＳ４８に進む。
【００９７】
ステップＳ４７において、データ収集状況管理分析部１１３は、収集周期１８４（図６参照）と収集周期１６５（図２参照）とを収集時間１８５に延長する。
ステップＳ４８において、データ収集状況管理分析部１１３は、収集データ数を増加する。詳しくは、データ収集状況管理分析部１１３は、並列数を、（収集データ数１８８／収集対象データ数１８７）の小数点以下を切り上げた数にするようにデータ収集部１１１に指示する。なお、上記の並列数がデータ収集装置１００の許容範囲を超えるならば、データ収集状況管理分析部１１３は、許容範囲の上限値を並列数とする。
指示を受けたデータ収集部１１１は、並列数１６６（図２参照）を指示された数に更新する。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
【００９８】
ステップＳ４９において、データ収集状況管理分析部１１３は、１周期の時間が過ぎた後に未収集データ数１８９が０になったか判断し、０ならば（Ｙ）、ステップＳ５１に進み、０でないならば（Ｎ）ステップＳ５０に進む。
ステップＳ５０において、データ収集状況管理分析部１１３は、ネットワークで輻輳が発生したか判断し、輻輳と判断したら（Ｙ）、ステップＳ３３へ進み、輻輳と判断しなければ（Ｎ）、ステップＳ４８に戻る。判断するには、ステップＳ３１と同様に、データ収集状況管理分析部１１３は、同一ネットワーク上の複数の装置タイプで、データ収集時間が増加したかで判断する。
【００９９】
ステップＳ５１において、データ収集状況管理分析部１１３は、データ収集並列数を元に戻す。詳しくは、データ収集状況管理分析部１１３は、通常の並列数に戻すように、データ収集部１１１に指示する。指示を受けたデータ収集部１１１は、並列数１６６（図２参照）を１に戻す。なお、データ収集部１１１の上記処理は、ステップＳ７３（図８参照）の処理である。
【０１００】
以上に説明したように、データ収集状況管理分析部１１３は収集時間１８５や収集データ数１８８、未収集データ数１８９を参照することで、ネットワークの輻輳や障害、収集対象データ数の増加を検知して、収集対象データ数やデータ収集の並列度を調整する。また、収集対象データの格納位置が深く、複数のデータ要求メッセージを送信する必要がある場合には、当該データのアクセス情報をデータアクセス管理ＤＢ１３０に格納して、以降のデータ要求メッセージに含めるようにすることで、効率的にデータ収集できるようにしている。このデータ収集状況定期チェックにより、データ収集処理が効率的になり、ネットワークへの負荷も抑えることができる。
【０１０１】
≪ＳＤＮへの適用≫
図１２は、本実施形態に係る監視対象ネットワークがＳＤＮ（Software-Defined Network）である場合のデータ収集装置１００の動作を説明するための図である。ＳＤＮ３１０は仮想的なネットワーク構成をＳＤＮ上の通信ノードに提供するネットワークであり、ＳＤＮ−ＳＷ（SDN-switch）３１１、ＳＤＮ−ＳＷ３１２、ＳＤＮ−ＳＷ３１３、ＳＤＮコントローラ（仮想ネットワーク制御サーバ）３１９を含んで構成される。ＳＤＮコントローラ３１９からの経路制御の指示に従って、ＳＤＮ−ＳＷ３１１、ＳＤＮ−ＳＷ３１２、ＳＤＮ−ＳＷ３１３がデータ転送を制御することにより、ＳＤＮ３１０は仮想的なネットワーク構成を提供する。
【０１０２】
ＮＦＶＩ（Network Function Virtualization Infrastructure）３２０はネットワーク機能仮想化基盤であり、ネットワークとしてＳＤＮ３１０を利用している。ＮＦＶＩ３２０は、仮想ノードが稼働する物理サーバ＃７と物理サーバ＃９とを備えている。ＶＩＭ（Virtualized Infrastructure Manager）３３０は、ＮＦＶＩを操作、管理する装置である。
また、データ収集装置１００の制御部１１６は、仮想ノード移動探索部１１４をさらに備える。仮想ノード移動探索部１１４は、仮想ノードがどの物理サーバで稼働しているかを、後述する仮想ノード管理サーバ１２８に問い合わせる。
【０１０３】
仮想ノード管理サーバ１２８は、仮想ノードが稼働する物理サーバの情報を含む仮想ノード稼働ホスト管理テーブル１２７を保持している。データ収集装置１００の仮想ノード移動探索部１１４は、定期的に仮想ノード稼働ホスト管理テーブル１２７をチェックして、仮想ノードの移動を検知する。
【０１０４】
以下、図１２記載の（１）〜（５）に沿って、仮想ノードが移動した場合のデータ収集について説明する。
（１）ＶＩＭ３３０が仮想ノード＃５を物理サーバ＃７から物理サーバ＃９へ移動するように指示する。
【０１０５】
（２）仮想ノード＃５が物理サーバ＃７から物理サーバ＃９へ移動するとともに、仮想ノード稼働ホスト管理テーブル１２７の内容が変更される。
（３）データ収集装置１００の仮想ノード移動探索部１１４は、仮想ノード＃５の移動を検知して、仮想ノード＃５が稼働する物理サーバが物理サーバ＃７から物理サーバ＃９に変わったことを検知する。
【０１０６】
（４）仮想ノード移動探索部１１４は、ＳＤＮコントローラ３１９に問い合わせて、移動先の物理サーバ＃９に対応するＳＤＮ−ＳＷを問い合わせる。問い合わせの結果、仮想ノード＃５のパスの統計情報を取得する装置が、ＳＤＮ−ＳＷ３１２からＳＤＮ−ＳＷ３１１に変わったことがわかる。
【０１０７】
（５）データ収集装置１００は、装置ＩＤ１７３（図３参照）を変更して、仮想ノード＃５のパス統計情報の収集先を変更する。データ収集中に仮想ノードが移動した場合は、移動前後のパス単位の統計情報を合算した値をその周期の統計情報とする。
以上説明したように、仮想ノード移動探索部１１４が、仮想ノードの移動を検知して、データ取得先管理ＤＢ１７０（図３参照）を更新して、データ要求メッセージの送信先を仮想ノードの移動元の物理サーバから移動先の物理サーバに変更する。これにより、データ収集部１１１は、移動後も継続してデータ収集が可能となる。
【０１０８】
≪変形例≫
上記実施形態では、装置として、パケットスイッチと光波長スイッチを例としたが、これに限る必要はなく、ファイアウォールなどのゲートウェイ、各種サービスを提供するサーバであってもよい。また、上記実施形態では、ネットワーク監視データを収集対象としていたが、これに限る必要はなく、Ｗｅｂページやオンラインストレージ上のファイルなど、他のデータを対象に収集してもよい。
上記実施形態では、データ収集状況管理分析部１１３は、図９記載のデータ収集状況定期チェック処理において、データ収集管理ＤＢ１８０の各レコードに対するステップＳ６２〜Ｓ６８の処理を逐次処理していたが、複数レコードを並列処理してもよい。
また、上記実施形態では、データ収集の通常の並列数１６６（図２参照）は１としていたが、収集を高速化するために２以上としてもよい。
【０１０９】
データ収集状況定期チェック処理の概要（図９参照）のステップＳ６４において、階層深さ１９０（図６参照）が１より大きければ、データ収集状況管理分析部１１３は、データ収集部１１１にキー設定を指示していた。しかしながら、階層深さ１９０を考慮せずキーが設定済み（ＤＡＳＣ１９１がＹである）なら、データ収集状況管理分析部１１３は、ステップＳ６６に進んで、フレキシブルデータ収集設定を実行してもよい。
【０１１０】
≪効果≫
ネットワークで輻輳が生じていた場合には、データ収集装置１００は、収集するデータ数を削減して（図１１のステップＳ３３参照）、輻輳が軽減するようにしており、結果的にデータ収集が効率的に行えるようになる。
通常のデータ収集で収集しきれず、未収集データが増えた場合には、データ収集装置１００は、収集するデータ数を増加（ステップＳ３９）して、全てのデータが収集できるようにしている。
収集データ量が増加した場合には、データ収集装置１００は、収集する周期を延長（ステップＳ４７）したり、収集データ数を増加（ステップＳ４８）したりして、全てのデータが収集できるようにし、未収集データが発生しないようにしている。
【０１１１】
以上に説明したように、データ収集装置１００は、ネットワークの輻輳状況、ネットワークまたは装置の故障などによる未収集データの増加、収集対象データの増加に対応して、柔軟に収集データ数を加減することで、全ての収集データを効率的に収集することができる。
また、装置内でも収集対象のデータの格納位置が不明であり、データ収集装置１００がデータ要求メッセージを複数回送信してデータを収集する場合であっても、格納位置が判明した後は当該場所を指定したデータ要求メッセージを１つ送信してデータを収集している（図１０参照）。これにより、少ないデータ要求メッセージで効率的にデータを収集することができ、ネットワークへの負荷も抑止することができる。
【符号の説明】
【０１１２】
１００  データ収集装置
１１１  データ収集部
１１２  データ蓄積部
１１３  データ収集状況管理分析部
１１４  仮想ノード移動探索部
１２０  装置
１２８  仮想ノード管理サーバ
１３０  データアクセス管理ＤＢ
１４０  収集データＤＢ
１６０  データ取得管理ＤＢ
１７０  データ取得先管理ＤＢ
１８０  データ収集管理ＤＢ
３１９  ＳＤＮコントローラ（仮想ネットワーク制御サーバ）
【図１】
2018182420.tif 000003
【図２】
2018182420.tif 000004
【図３】
2018182420.tif 000005
【図４】
2018182420.tif 000006
【図５】
2018182420.tif 000007
【図６】
2018182420.tif 000008
【図７】
2018182420.tif 000009
【図８】
2018182420.tif 000010
【図９】
2018182420.tif 000011
【図１０】
2018182420.tif 000012
【図１１】
2018182420.tif 000013
【図１２】
2018182420.tif 000014
【図１３】
2018182420.tif 000015