(57)【要約】【課題】データの取得間隔の乱れを抑制できる情報収集管理装置、方法、及び情報収集システム【解決手段】一実施形態に係る情報収集管理装置は、ローカルスケジュール取得部と、ローカルスケジュール調整部と、を備える。ローカルスケジュール取得部は、複数のクローラから、各クローラがデータを取得する取得処理のタイミングを定めるローカルスケジュールを取得する。ローカルスケジュール調整部は、取得処理の重複が少なくなるように、ローカルスケジュールを調整する。【選択図】図１
2017034307.tif 000002
【特許請求の範囲】
【請求項１】
複数のクローラから、前記各クローラがデータを取得する取得処理のタイミングを定めるローカルスケジュールを取得するローカルスケジュール取得部と、
前記取得処理の重複が少なくなるように、前記ローカルスケジュールを調整するローカルスケジュール調整部と、
を備える情報収集管理装置。
【請求項２】
前記ローカルスケジュールは、複数のタイムスロットに時分割された所定時間における、前記タイムスロットに対する前記取得処理の割当てを定める
請求項１に記載の情報収集管理装置。
【請求項３】
前記ローカルスケジュール調整部は、前記ローカルスケジュールの前記タイムスロットに割当てられた前記取得処理を、所定のタイムスロット数だけシフトすることにより、前記ローカルスケジュールを調整する
請求項２に記載の情報収集管理装置。
【請求項４】
前記ローカルスケジュール調整部は、複数の前記ローカルスケジュールを重ね合わせたグローバルスケジュールにおける前記取得処理の重複が少なくなるように、前記ローカルスケジュールを調整する
請求項３に記載の情報収集管理装置。
【請求項５】
前記ローカルスケジュール調整部は、前記グローバルスケジュールにおける、前記各タイムスロットに割当てられた前記取得処理の数に基づいて、前記ローカルスケジュールを調整する
請求項４に記載の情報収集管理装置。
【請求項６】
前記ローカルスケジュール調整部は、前記グローバルスケジュールにおける、前記タイムスロットに割当てられた前記取得処理の数の最大値であるピークサイズが小さくなるように、前記ローカルスケジュールを調整するピークサイズ調整部を備える
請求項４又は請求項５に記載の情報収集管理装置。
【請求項７】
前記ローカルスケジュール調整部は、前記グローバルスケジュールにおける、割当てられた前記取得処理の数が最大となる前記タイムスロットの数であるピーク数が小さくなるように、前記ローカルスケジュールを調整するピーク数調整部を備える
請求項４乃至請求項６のいずれか１項に記載の情報収集管理装置。
【請求項８】
前記ローカルスケジュール調整部は、前記グローバルスケジュールにおける、割当てられた前記取得処理の数が最大となる前記タイムスロットの間隔であるピーク間隔が大きくなるように、前記ローカルスケジュールを調整するピーク間隔調整部を備える
請求項４乃至請求項７のいずれか１項に記載の情報収集管理装置。
【請求項９】
前記複数のクローラは、単一のコンピュータ上で動作する
請求項１乃至請求項８のいずれか１項に記載の情報収集管理装置。
【請求項１０】
複数の前記クローラを実行する情報収集装置から取得した、対象クローラの前記データの取得状況に基づいて、前記対象クローラを移動するか判定する移動判定部と、
１つ又は複数の他の情報収集装置の中から、前記対象クローラを移動する移動先情報収集装置を決定する移動先決定部と、
前記対象クローラを前記移動先情報収集装置に移動するクローラ移動部と、
を備える請求項１乃至請求項９のいずれか１項に記載の情報収集管理装置。
【請求項１１】
前記移動先情報収集装置は、実行している前記クローラの数が最も少ない前記他の情報収集装置、又は前記データの取得状況が最もよい前記他の情報収集装置である
請求項１０に記載の情報収集管理装置。
【請求項１２】
前記移動判定部は、前記対象クローラの移動後、所定時間の間、前記対象クローラを実行していた前記情報収集装置及び前記移動先情報収集装置に対する判定を停止する
請求項１０又は請求項１１に記載の情報収集管理装置。
【請求項１３】
前記移動先決定部は、前記対象クローラの移動後、所定時間の間、前記移動先情報収集装置を他の前記クローラの移動先情報収集装置の候補から除外する
請求項１０乃至請求項１２のいずれか１項に記載の情報収集管理装置。
【請求項１４】
複数の前記クローラを実行する情報収集装置と、
請求項１乃至請求項１３のいずれか１項に記載の情報収集管理装置と、
を備え、
前記クローラは、前記情報収集管理装置により調整された前記ローカルスケジュールに従って前記データを取得する
情報収集システム。
【請求項１５】
複数のクローラから、前記各クローラがデータを取得する取得処理のタイミングを定めるローカルスケジュールを取得する工程と、
前記取得処理の重複が少なくなるように、前記ローカルスケジュールを調整する工程と、
を有する情報収集管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報収集管理装置、方法、及び情報収集システムに関する。
【背景技術】
【０００２】
ビルや工場に設置されたセンサ機器から、ネットワーク経由でセンサデータを取得するソフトウェア（クローラ）が利用されている。一般に、クローラには、センサ機器に過度な負荷を与えないこと、センサデータの取得間隔を維持すること、及びセンサデータの取得により発生するトラフィックが平滑化されること、などの要求を満たすことが求められる。センサデータの取得間隔の維持は、センサデータの可視化や分析のために重要である。また、トラフィックの平滑化は、パケットロスを防止するために重要である。
【０００３】
従来、上記の要件を満たすために、センサデータを取得するスケジュールを生成するクローラが提案されている。このクローラは、生成したスケジュールに従ってセンサデータを取得することにより、上記の要件を満たすことができる。
【０００４】
しかしながら、上記従来のクローラでは、単一のサーバ上で複数のクローラが動作することが想定されていなかった。このため、上記従来のクローラが、単一のサーバ上で複数動作した場合、各クローラがセンサデータを取得する取得タイミングが重複することがあった。センサデータの取得タイミングが過度に重複すると、各クローラは所定の取得タイミングでセンサデータを取得できなくなり、取得間隔が乱れることがあった。結果として、上記従来のクローラでは、センサデータの取得間隔を維持できなくなる恐れがあった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２０５２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データの取得間隔の乱れを抑制できる情報収集管理装置、方法、及び情報収集システムを提供する。
【課題を解決するための手段】
【０００７】
一実施形態に係る情報収集管理装置は、ローカルスケジュール取得部と、ローカルスケジュール調整部と、を備える。ローカルスケジュール取得部は、複数のクローラから、各クローラがデータを取得する取得処理のタイミングを定めるローカルスケジュールを取得する。ローカルスケジュール調整部は、取得処理の重複が少なくなるように、ローカルスケジュールを調整する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る情報収集システムの機能構成の一例を示す図。
【図２】ローカルスケジュールの一例を示す図。
【図３】図１の情報収集装置のハードウェア構成の一例を示す図。
【図４】ローカルスケジュールの調整方法を説明する図。
【図５】ローカルスケジュールの調整方法を説明する図。
【図６】図１の情報収集管理装置による処理の一例を示すフローチャート。
【図７】図１のピークサイズ調整部による処理の一例を示すフローチャート。
【図８】図１のピーク数調整部による処理の一例を示すフローチャート。
【図９】図１のピーク間隔調整部による処理の一例を示すフローチャート。
【図１０】第２実施形態に係る情報収集システムの機能構成の一例を示す図。
【図１１】図１０の情報収集管理装置の動作の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。
【００１０】
（第１実施形態）
第１実施形態に係る情報収集装置について、図１〜図９を参照して説明する。図１は、本実施形態に係る情報収集システムの機能構成の一例を示す図である。図１に示すように、情報収集システムは、情報収集装置１と、情報収集管理装置２と、を備える。
【００１１】
まず、情報収集装置１について説明する。
【００１２】
情報収集装置１は、ネットワークに接続され、ネットワークを介して各種のデータを収集する装置である。情報収集装置１が収集するデータは、用途に応じて任意に選択可能である。以下では、情報収集装置１が、ビルや工場に設置されたセンサ機器から、センサデータを収集する場合を例に説明する。
【００１３】
図１に示すように、情報処理装置１は、複数のクローラ１０を実行する。クローラ１０とは、情報処理装置１がネットワーク上のデータを取得するソフトウェアである。クローラ１０は、情報処理装置１を構成するコンピュータ１００上で動作する。コンピュータ１００上で仮想マシンが動作している場合には、クローラ１０は、仮想マシン上で動作してもよい。コンピュータ１００について、詳しくは後述する。図１の例では、情報処理装置１は、クローラ１０を２つ実行するが、３つ以上実行してもよい。
【００１４】
各クローラ１０は、データ取得部１１と、ローカルスケジュール生成部１２と、取得状況計算部１３と、をそれぞれ備える。
【００１５】
データ取得部１１は、後述するローカルスケジュール（以下、「ＬＳ」という）にしたがって、センサデータの取得対象となる１つ以上のセンサ機器から、センサデータを取得する。データ取得部１１が取得したセンサデータは、例えば、センサ機器の異常診断や制御値の計算に利用される。また、センサデータは、情報処理装置１に接続された表示装置に表示されてもよいし、外部機器に出力されてもよい。以下では、データ取得部１１がセンサ機器Ｘからセンサデータを取得する処理を、センサ機器Ｘの取得処理という。
【００１６】
ローカルスケジュール生成部１２（以下、「ＬＳ生成部１２」という）は、クローラ１０のＬＳを生成する。ＬＳとは、クローラ１０のデータ取得部１１が、センサデータを取得するタイミング、すなわち、取得処理のタイミングを定めたものである。データ取得部１１は、ＬＳにより定められたタイミングでセンサ機器からセンサデータを取得する。
【００１７】
クローラ１０は、センサデータを周期的に取得するため、ＬＳは、クローラ１０の動作の１周期に相当する所定時間（以下、「周期時間」という）における、各取得処理のタイミングを定めたものとなる。
【００１８】
図２は、ＬＳの一例を示す図である。図２の例では、周期時間は、１０個のタイムスロット１〜１０に時分割されている。タイムスロットとは、周期時間を所定数に時分割することにより設定される、所定の時間幅を有する各期間のことである。例えば、図２のＬＳにおいて、周期時間が１分の場合、各タイムスロットの時間幅は６秒となる。また、１番目のタイムスロット１は、０秒から６秒までの期間、２番目のタイムスロット２は、６秒から１２秒までの期間となる。周期時間の長さは、センサ機器のスペックなどに応じて決まる。
【００１９】
図２に示すように、ＬＳでは、各タイムスロットに対して、取得処理が割当てられる。図２の例では、タイムスロット３にはセンサ機器Ａの取得処理、タイムスロット５にはセンサ機器Ｂの取得処理、タイムスロット７にはセンサ機器Ｃ，Ｄの取得処理、タイムスロット１０にはセンサ機器Ｂの取得処理、が割当てられている。
【００２０】
図２のＬＳに従った場合、データ取得部１１は、タイムスロット３の期間にセンサ機器Ａのセンサデータを取得し、タイムスロット５の期間にセンサ機器Ｂのセンサデータを取得し、タイムスロット７の期間にセンサ機器Ｃ，Ｄのセンサデータを取得し、タイムスロット１０の期間にセンサ機器Ｂのセンサデータを取得する。このように、ＬＳは、周期時間に含まれる各タイムスロットに対する取得処理の割当てを定めたものとなる。
【００２１】
上述の通り、センサデータは、取得間隔を維持することが重要である。一方、センサデータを取得する絶対時刻は重要ではない。このため、センサデータの取得開始時刻は、任意に設定できる。
【００２２】
例えば、取得開始時刻が１２時００分００秒であった場合、１周期目のタイムスロット１の開始時刻は１２時００分００秒となり、２周期目のタイムスロット１の開始時刻は１２時０１分００秒となる。
【００２３】
また、取得開始時刻が１２時００分２４秒であった場合、１周期目のタイムスロット１の開始時刻は１２時００分２４秒となり、２周期目のタイムスロット１の開始時刻は１２時０１分２４秒となる。
【００２４】
このように、ＬＳに従ってセンサデータを取得すると、取得開始時刻を任意に設定しても、データ取得部１１は、センサデータの取得間隔を維持することができる。
【００２５】
なお、ＬＳ生成部１２は、上記のようなＬＳを、メタ情報などに基づいて生成すればよい。メタ情報には、クローラ１０がセンサデータを取得するセンサ機器のＩＤ、種類、ＩＰアドレス、センサ値更新頻度、通信遅延状況などが含まれる。
【００２６】
取得状況計算部１３は、データ取得部１１によるセンサデータの取得状況を計算する。取得状況計算部１３は、例えば、取得状況として、ＬＳで定められた取得時刻と、実際の取得時刻と、の誤差（以下、「取得誤差」という）を計算する。この取得誤差は、ＬＳと、センサデータの取得開始時刻と、実際の取得時刻と、に基づいて計算できる。取得誤差は、小さい程好ましい。取得状況計算部１３は、１周期毎の取得誤差だけでなく、その平均、分散、移動平均などを計算してもよい。
【００２７】
また、取得状況計算部１３は、取得状況として、センサ機器ごとのセンサデータの取得間隔を計算してもよい。取得間隔は、ＬＳと、実際の取得時刻と、に基づいて計算できる。取得間隔は、一定であるほど好ましい。取得状況計算部１３は、１周期毎の取得間隔だけでなく、１周期毎の取得誤差だけでなく、その平均、分散、移動平均などを計算してもよい。
【００２８】
ここで、本実施形態に係る情報処理装置１のハードウェア構成について、図３を参照して説明する。本実施形態に係る情報処理装置１は、単一のコンピュータ１００によって構成される。コンピュータ１００には、サーバ、クライアント、マイコン、及び汎用コンピュータなどが含まれる。
【００２９】
図３は、コンピュータ１００の一例を示す図である。図３に示すように、コンピュータ１００は、ＣＰＵ（中央演算装置）１０１と、入力装置１０２と、表示装置１０３と、通信装置１０４と、記憶装置１０５と、を備え、これらがバス１０６により相互に接続されている。
【００３０】
ＣＰＵ１０１は、コンピュータ１００の制御装置及び演算装置を含む電子回路である。ＣＰＵ１０１は、バス１０６を介して接続された各装置（例えば、入力装置１０２、通信装置１０４、記憶装置１０５）から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス１０６を介して接続された各装置（例えば、表示装置１０３、通信装置１０４、記憶装置１０５）に出力する。具体的には、ＣＰＵ１０１は、コンピュータ１００のＯＳ（オペレーティングシステム）や、情報収集プログラムなどを実行し、コンピュータ１００を構成する各装置を制御する。
【００３１】
情報収集プログラムとは、コンピュータ１００に、情報処理装置１の上述の各機能構成を実現させるプログラムである。上述の通り、情報収集プログラムには、複数の独立したクローラ１０が含まれる。コンピュータ１００上でクローラ１０が動作することにより、クローラ１０の各機能構成（データ取得部１１、ＬＳ生成部１２、及び取得状況計算部１２）が実現される。
【００３２】
情報収集プログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。ＣＰＵ１０１が情報収集プログラムを実行することにより、コンピュータ１００が情報収集装置１として機能する。
【００３３】
入力装置１０２は、コンピュータ１００に情報を入力するための装置である。入力装置１０２は、例えば、キーボード、マウス、及びタッチパネルであるが、これに限られない。ユーザは、入力装置１０２を操作することにより、メタ情報やセンサデータの取得開始命令などを入力することができる。
【００３４】
表示装置１０３は、画像や映像を表示するための装置である。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。情報収集装置１が収集したセンサデータは、表示部１０３に表示することができる。なお、情報収集装置１は、表示装置１０３を備えない構成も可能である。
【００３５】
通信装置１０４は、コンピュータ１００が外部装置と無線又は有線で通信するための装置である。通信装置１０４は、例えば、モデム、ハブ、及びルータであるが、これに限られない。情報処理装置１は、通信装置１０４を介して、ネットワークに接続される。
【００３６】
記憶装置１０５は、コンピュータ１００のＯＳや、情報収集プログラム、情報収集プログラムの実行に必要なデータ、及び情報収集プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置１０５には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。情報収集装置１が収集したセンサデータは、記憶装置１０５に記憶される。
【００３７】
なお、コンピュータ１００は、ＣＰＵ１０１、入力装置１０２、表示装置１０３、通信装置１０４、及び記憶装置１０５を、それぞれ１つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
【００３８】
また、情報収集プログラムは、コンピュータ１００の記憶装置１０５に予め記憶されていてもよいし、コンピュータ１００の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、情報収集プログラムをコンピュータ１００にインストールして実行することにより、情報収集装置１の機能が実現される。
【００３９】
次に、情報収集管理装置２について説明する。
【００４０】
情報収集管理装置２は、情報収集装置１によるデータの収集を管理する装置である。本実施形態において、情報収集管理装置２は、情報収集装置１が実行する複数のクローラ１０のＬＳを管理する。図１に示すように、情報収集管理装置２は、ローカルスケジュール取得部２１と、ローカルスケジュール調整部２２と、を備える。
【００４１】
ローカルスケジュール取得部２１（以下、「ＬＳ取得部２１」という）は、情報収集装置１が実行する複数のクローラ１０から、各クローラ１０のＬＳ生成部１２が生成したＬＳをそれぞれ取得する。図１の例では、ＬＳ取得部２１は、２つのＬＳを取得する。ＬＳ取得部２１は、一度に全てのＬＳを取得してもよいし、ＬＳを１つずつ順次取得してもよい。
【００４２】
ローカルスケジュール調整部２２（以下、「ＬＳ調整部２２」という）は、ＬＳ取得部２１が取得した複数のＬＳを、取得処理の重複が少なくなるように調整する。取得処理の重複とは、同一のタイミングで複数の取得処理が実行されることをいう。
【００４３】
取得処理の重複を減らす方法として、重複した取得処理の数を減らす方法や、取得処理が重複するタイミングを減らす方法などが考えられる。取得処理の重複を減らす方法について、詳しくは後述する。
【００４４】
ここで、ＬＳの調整方法について、図４及び図５を参照して説明する。図４は、ＬＳ取得部２１が取得したＬＳの一例を示す図である。図４の例では、ＬＳは２つ取得されている。取得されたＬＳの一方をＬＳ_１、他方をＬＳ_２と称する。また、ＬＳ_１に従ってセンサデータを取得するクローラ１０をクローラ１０_１、ＬＳ_２に従ってセンサデータを取得するクローラ１０をクローラ１０_２と称する。
【００４５】
図４に示すように、ＬＳ_１は、タイムスロット３，５，１０にそれぞれ１つの取得処理が割当てられ、タイムスロット７に２つの取得処理が割当てられている。また、ＬＳ_２は、タイムスロット３，５，７，１０にそれぞれ１つの取得処理が割当てられている。ＬＳ_１とＬＳ_２との周期時間は同じであるものとする。
【００４６】
クローラ１０_１，１０_２の取得開始時刻が同じであった場合、タイムスロット３，５，７，１０において、クローラ１０_１，１０_２がいずれも取得処理を実行することになる。すなわち、タイムスロット３，５，７，１０では、取得処理が重複している。上述の通り、クローラ１０_１，１０_２は、単一のコンピュータ１００上で動作するため、取得処理が過度に重複すると、取得処理のタイミングがずれ、取得間隔が乱れる恐れがある。
【００４７】
このような取得処理の重複を少なくするために、ＬＳ調整部２２は、まず、グローバルスケジュール（以下、「ＧＳ」という）を生成する。ＧＳとは、取得した複数のＬＳを重ね合わせたものである。図４の例では、ＬＳ_１とＬＳ_２とを重ね合わせることにより、ＧＳが生成されている。図４のＧＳは、タイムスロット３，５，１０にそれぞれ２つの取得処理が割当てられ、タイムスロット７に３つの取得処理が割当てられている。
【００４８】
次に、ＬＳ調整部２２は、生成されたＧＳにおける取得処理の重複が少なくなるように、複数のＬＳのうち、少なくとも１つのＬＳを調整する。ＬＳの調整とは、ＬＳの各タイムスロットに割当てられた各取得処理を、所定のタイムスロット数だけシフトする（ずらす）ことをいう。以下では、ＬＳ調整部２２が、ＬＳ_２のみを調整する場合を例に説明する。
【００４９】
図５は、ＬＳ調整部２２により調整されたＬＳ_２（以下、「調整済みＬＳ_２」という）を示す図である。調整済みＬＳ_２は、調整前のＬＳ_２の各タイムスロットに割当てられた取得処理を、１タイムスロットだけ後ろにシフトしたものである。
【００５０】
ＬＳ_２をこのように調整することにより、ＬＳ_２のタイムスロット３，５，７，１０に割当てられた取得処理は、調整済みＬＳ_２のタイムスロット４，６，８，１にシフトしている。すなわち、調整済みＬＳ_２は、図５に示すように、タイムスロット４，６，８，１にそれぞれ１つの取得処理が割当てられている。タイムスロット１０に割当てられた取得処理がタイムスロット１にシフトされるのは、タイムスロット１０の次のタイムシフトは、次の周期のタイムスロット１となるためである。
【００５１】
図５からわかるように、ＬＳの各タイムスロットに割当てられた各取得処理を所定のタイムスロット数だけシフトしても、各取得処理の時間間隔は維持される。
【００５２】
図５のＧＳは、ＬＳ_１と調整済みＬＳ_２とを重ね合わせて生成されたものである。図５のＧＳは、タイムスロット１，３〜６，８，１０に、それぞれ１つの取得処理が割当てられ、タイムスロット７に２つの取得処理が割当てられている。
【００５３】
図４及び図５からわかるように、ＬＳを調整後のＧＳは、ＬＳを調整前のＧＳより、各タイムスロットに割当てられた取得処理の重複が少なくなっている。例えば、図４のＧＳでは、最大で３つの取得処理が重複しているのに対して、図５のＧＳでは、最大でも２つの取得処理しか重複していない。
【００５４】
このように、ＬＳ調整部２２は、ＧＳの各タイムスロットに割当てられた取得処理の重複を少なくなるように、ＬＳを調整し、調整済みＬＳをクローラ１０に返す。ＬＳを調整されたクローラ１０は、ＬＳ調整部２２から返された調整済みＬＳに従ってセンサデータを取得する。
【００５５】
ここで、取得処理の重複を減らす方法について説明する。図１に示すように、ＬＳ調整部２２は、ピークサイズ調整部２３と、ピーク数調整部２４と、ピーク間隔調整部２４と、を備える。
【００５６】
ピークサイズ調整部２３は、ＧＳにおけるピークのサイズ（以下、「ピークサイズ」という）を調整する。ピークとは、ＧＳにおいて、取得処理を割当てられた数が最大のタイムスロットのことである。サイズとは、ＧＳの各タイムスロットに割当てられた取得処理の数のことである。したがって、ピークサイズとは、ＧＳにおいて、１つのタイムスロットに割当てられた取得処理の数の最大値となる。
【００５７】
例えば、図４のＧＳでは、ピークはタイムスロット７であり、ピークサイズは３である。また、図５のＧＳでは、ピークはタイムスロット７であり、ピークサイズは２である。
【００５８】
ピークサイズが大きいほど、ピークにおける取得タイミングがずれる可能性が高くなる。ピークサイズ調整部２３によって、ピークサイズが小さくなるようにＬＳを調整することにより、取得タイミングがずれる可能性を低減し、取得間隔の乱れを抑制することができる。ピークサイズ調整部２３は、ピークサイズが最小になるようにＬＳを調整するのが好ましい。
【００５９】
また、ピークサイズ調整部２３は、ピークサイズが大きくなるようにＬＳを調整してもよい。ピークサイズが大きくなるようにＬＳを調整すると、ピークにおいて、多くの取得処理が重複し、取得間隔の乱れが生じる。しかしながら、ピークに取得処理が集中するため、ピーク以外のタイムスロットにおける取得処理の重複が軽減される。したがって、ピーク以外のタイムスロットにおいては、取得間隔を正確に維持できる可能性が高くなる。結果として、各周期における取得間隔のずれの平均値を小さくできる場合がある。ピークサイズ調整部２３は、ピークサイズが最大になるようにＬＳを調整するのが好ましい。
【００６０】
なお、ピークサイズ調整部２３によりピークサイズを小さくするか大きくするかは、情報収集管理装置２のユーザにより予め設定されていてもよいし、情報収集装置１上で動作するクローラ１の数などに応じて切替えられてもよい。また、ピークサイズを大きくした場合の取得間隔のずれの平均値と、ピークサイズを小さくした場合の取得間隔のずれの平均値と、を比較して、ずれの平均値が小さい調整方法を選択してもよい。
【００６１】
また、ピークサイズを最小化又は最大化するＬＳの調整方法が複数存在する場合、ピークサイズ調整部２３は、複数の調整方法の中から１つの調整方法をランダムに選択してもよい。また、ピークサイズを最小化又は最大化する複数の調整方法の中から、他の方法により調整方法が選択されてもよい。
【００６２】
ピーク数調整部２４は、ＧＳにおけるピークの数（以下、「ピーク数」という）が小さくなるように、ＬＳを調整する。例えば、図４及び図５のＧＳでは、ピークはタイムスロット７だけであるから、ピーク数は１である。
【００６３】
ピーク数が大きいほど、取得タイミングがずれる可能性が高いタイムスロットが多くなり、結果として、取得タイミングがずれる可能性が高くなる。ピーク数調整部２４によって、ピーク数が小さくなるようにＬＳを調整することにより、取得タイミングがずれる可能性を低減し、取得間隔の乱れを抑制することができる。ピーク数調整部２４は、ピーク数が最小になるようにＬＳを調整するのが好ましい。
【００６４】
なお、ピーク数を最小化するＬＳの調整方法が複数存在する場合、ピーク数調整部２４は、複数の調整方法の中から１つの調整方法をランダムに選択してもよい。また、ピーク数を最小化する複数の調整方法の中から、他の方法により調整方法が選択されてもよい。
【００６５】
ピーク間隔調整部２５は、ＧＳにおけるピークの間隔（以下、「ピーク間隔」という）が大きくなるように、ＬＳを調整する。例えば、図４及び図５のＧＳでは、ピークはタイムスロット７だけであるから、ピーク間隔は１周期（１０タイムスロット）である。
【００６６】
これに対して、ＧＳにピークが複数存在する場合、複数のピーク間隔が存在することになる。このような場合には、ピーク間隔調整部２５は、複数のピーク間隔の最大値や平均値が大きくなるように、ＬＳを調整すればよい。
【００６７】
ピーク間隔が小さいほど、ピーク周辺の期間に取得処理が集中するため、取得タイミングがずれる可能性が高くなる。ピーク間隔調整部２５によって、ピーク間隔が大きくなるようにＬＳを調整することにより、取得タイミングがずれる可能性を低減し、取得間隔の乱れを抑制することができる。ピーク間隔調整部２５は、ピーク間隔が最大になるようにＬＳを調整するのが好ましい。
【００６８】
なお、ピーク間隔を最大化するＬＳの調整方法が複数存在する場合、ピーク間隔調整部２５は、複数の調整方法の中から１つの調整方法をランダムに選択してもよい。また、ピーク間隔を最大化する複数の調整方法の中から、他の方法により調整方法が選択されてもよい。
【００６９】
なお、ＬＳ調整部２２は、ピークサイズ調整部２３、ピーク数調整部２４、及びピーク間隔調整部２５のうち、いずれか１つ又は２つだけを備える構成も可能である。また、ＬＳ調整部２２は、ピークサイズ調整部２３、ピーク数調整部２４、及びピーク間隔調整部２５の中から、ユーザからの要求などに応じて、どれを使用するか選択してもよい。さらに、ＬＳ調整部２２は、ピークサイズ調整部２３、ピーク数調整部２４、及びピーク間隔調整部２５を、所定の優先順位に従って使用することにより、ＬＳを調整してもよい。
【００７０】
ここで、本実施形態に係る情報処理管理装置２のハードウェア構成について説明する。本実施形態に係る情報処理管理装置２は、情報処理装置１と同様に、コンピュータ１００によって構成される。すなわち、コンピュータ１００が、上述の各機能構成を実現する情報処理管理プログラムを実行することにより、情報処理管理装置２が構成される。コンピュータ１００の構成については、説明を省略する。
【００７１】
情報処理装置１と情報処理管理装置２とは、同一のコンピュータ１００により構成されてもよいし、それぞれ異なるコンピュータ１００により構成されてもよい。情報処理装置１と情報処理管理装置２とがそれぞれ異なるコンピュータ１００により構成される場合、各コンピュータ１００は、バス１０６や通信装置１０４を介して接続される。
【００７２】
次に、本実施形態に係る情報収集管理装置２による処理について、図６〜図９を参照して説明する。以下では、情報収集管理装置２が、ピークサイズ調整部２３、ピーク数調整部２４、及びピーク間隔調整部２５を、所定の優先順位に従って使用することにより、ＬＳを調整する場合を例に説明する。情報収集管理装置２は、ピークサイズ調整部２３、ピーク数調整部２４、ピーク間隔調整部２５を、この順番で使用して、ＬＳを調整するものとする。図６は、このような情報収集管理装置２による処理を示すフローチャートである。
【００７３】
図６に示すように、まず、ＬＳ取得部２１が、情報収集装置１が実行する複数のクローラ１０から、それぞれのＬＳを取得する。これにより、複数のＬＳ（以下、「ＬＳ群」という）が取得される（ステップＳ１）。ＬＳ取得部２１は、取得したＬＳ群を、ＬＳ調整部２２に渡す。
【００７４】
ＬＳ取得部２１からＬＳ群を受け取ったＬＳ調整部２２は、ＬＳ群の中から１つのＬＳを選択し、選択したＬＳをＧＳとして決定する（ステップＳ２）。ＬＳ調整部２２は、任意のＬＳをＧＳとして決定することができる。
【００７５】
次に、ＬＳ調整部２２は、ＬＳ群の中に未調整のＬＳがあるか判定する（ステップＳ３）。未調整のＬＳとは、ＬＳ群のうち、ＧＳとして決定されておらず、かつ、以下で説明するステップＳ４〜Ｓ９の調整処理を実行されていないＬＳのことである。
【００７６】
未調整のＬＳがある場合（ステップＳ３のＹＥＳ）、ＬＳ調整部２２は、未調整のＬＳの中から、調整対象となるＬＳを１つ選択する（ステップＳ４）。ここで選択されたＬＳをＬＳ_ｉと称する。ｉは、ＬＳの識別番号であり、例えば、１から始まる連続番号である。
【００７７】
ＬＳ調整部２２は、ＬＳ_ｉを選択すると、まず、ピークサイズ調整部２３により、ＬＳ_ｉを調整する（ステップＳ５）。ピークサイズ調整部２３による処理について、詳しくは後述する。
【００７８】
次に、ＬＳ調整部２２は、ピーク数調整部２４により、ＬＳ_ｉを調整する（ステップＳ６）。ピーク数調整部２４による処理について、詳しくは後述する。
【００７９】
続いて、ＬＳ調整部２２は、ピーク間隔調整部２５により、ＬＳ_ｉを調整する（ステップＳ７）。ピーク間隔調整部２５による処理について、詳しくは後述する。
【００８０】
以上の処理により、ＬＳ_ｉの調整が終了し、調整済みＬＳ_ｉが生成される（ステップＳ８）。
【００８１】
ＬＳ調整部２２は、その時点で決定又は生成されているＧＳと、生成された調整済みＬＳ_ｉと、を重ね合わせて新たなＧＳを生成する（ステップＳ９）。その後、処理はステップＳ３に戻る。
【００８２】
以降、ステップＳ３〜Ｓ９の調整処理が、未調整のＬＳが無くなるまで繰り返される。未調整のＬＳが無くなった場合（ステップＳ３のＮＯ）、ＬＳ調整部２２は、調整された各ＬＳを、各クローラ１０に返し、調整処理が終了する。各クローラ１０は、ＬＳ調整部２２から返された各調整済みＬＳに従ってデータを取得する。
【００８３】
図７は、ピークサイズ調整部２３による処理の一例を示すフローチャートである。図７の処理は、図６におけるステップＳ５の処理に相当する。図７の例では、ピークサイズ調整部２３は、ピークサイズが最小となるように、ＬＳ_ｉを調整する。以下では、ピークサイズ調整部２３がシフトさせるタイムスロット数をｘで表す。また、取得処理をｘタイムスロットだけシフトされたＬＳ_ｉをＬＳ_ｉ（ｘ）と表す。
【００８４】
まず、ＬＳ_ｉを受け取ったピークサイズ調整部２３は、ｘを初期値０に設定する（ステップＳ５１）。次に、ピークサイズ調整部２３は、ｘがＮより小さいか判定する（ステップＳ５２）。Ｎは、ＬＳ_ｉに含まれるタイムスロットの数である。
【００８５】
ｘがＮより小さい場合（ステップＳ５２のＹＥＳ）、ピークサイズ調整部２３は、ＬＳ_ｉをｘだけシフトし、ＬＳ_ｉ（ｘ）を生成する（ステップＳ５３）。そして、ピークサイズ調整部２３は、ＬＳ_ｉ（ｘ）と、ＧＳと、を重ね合わせて生成されるＧＳ（ｘ）のピークサイズを計算する（ステップＳ５４）。この際、ＧＳは更新されない。その後、処理はステップＳ５２に戻る。
【００８６】
以降、ステップＳ５２〜Ｓ５４の処理が、ｘがＮと一致するまで繰り返される。すなわち、ピークサイズ調整部３４は、ｘ＝０〜Ｎ−１に対して、ステップＳ５３及びステップＳ５４の処理を実行する。
【００８７】
ｘがＮと一致した場合（ステップＳ５２のＮＯ）、ピークサイズ調整部２３は、それまでに処理を実行したｘ（＝０〜Ｎ−１）の中から、ＧＳ（ｘ）のピークサイズが最小となる１つ又は複数のｘ（以下、「ｘ群」という）を取得する（ステップＳ５５）。そして、ピークサイズ調整部２３は、取得したｘ群をピーク数調整部２４に渡す（ステップＳ５６）。
【００８８】
なお、ピークサイズが最小となるｘが一意に特定された場合、ＬＳ調整部２２は、ＬＳ_ｉの調整を終了してもよい（ステップＳ８）。この場合、調整済みＬＳ_ｉは、ＬＳ_ｉ（ｘ）となる。
【００８９】
図８は、ピーク数調整部２４による処理の一例を示すフローチャートである。図８の処理は、図６におけるステップＳ６の処理に相当する。図８の例では、ピーク数調整部２４は、ピーク数が最小となるように、ＬＳ_ｉを調整する。
【００９０】
まず、ピーク数調整部２４は、ピークサイズ調整部２３からｘ群を受け取る（ステップＳ６１）。次に、ピーク数調整部２４は、ｘ群に含まれる全てのｘについて、ＧＳ（ｘ）のピーク数を計算する（ステップＳ６２）。そして、ピーク数調整部２４は、ピークサイズ調整部２３から受け取ったｘ群の中から、ＧＳ（ｘ）のピーク数が最小となる新たなｘ群を取得する（ステップＳ６３）。そして、ピーク数調整部２４は、新たなｘ群をピーク間隔調整部２５に渡す（ステップＳ６４）。
【００９１】
なお、ピーク数が最小となるｘが一意に特定された場合、ＬＳ調整部２２は、ＬＳ_ｉの調整を終了してもよい（ステップＳ８）。この場合、調整済みＬＳ_ｉは、ＬＳ_ｉ（ｘ）となる。
【００９２】
図９は、ピーク間隔調整部２５による処理の一例を示すフローチャートである。図９の処理は、図６におけるステップＳ７の処理に相当する。図９の例では、ピーク間隔調整部２５は、ピーク間隔が最大となるように、ＬＳ_ｉを調整する。
【００９３】
まず、ピーク間隔調整部２５は、ピーク数調整部２４からｘ群を受け取る（ステップＳ７１）。次に、ピーク間隔調整部２５は、ｘ群に含まれる全てのｘについて、ＧＳ（ｘ）のピーク間隔を計算する（ステップＳ７２）。そして、ピーク間隔調整部２５は、ピーク数調整部２４から受け取ったｘ群の中から、ＧＳ（ｘ）のピーク間隔が最大となる新たなｘ群を取得する（ステップＳ７３）。
【００９４】
ピーク間隔調整部２５は、取得したｘ群にｘが複数含まれるか判定する（ステップＳ７４）。ｘ群にｘが１つしか含まれない場合（ステップＳ７４のＮＯ）、ピーク間隔調整部２５は、ｘ群に含まれるｘだけＬＳ_ｉをシフトしたＬＳ_ｉ（ｘ）を、調整済みＬＳ_ｉとして決定する（ステップＳ７５）。
【００９５】
一方、ｘ群に複数のｘが含まれる場合（ステップＳ７４のＹＥＳ）、ピーク間隔調整部２５は、ｘ群に含まれるｘの中から１つのｘをランダムに選択する（ステップＳ７６）。そして、ピーク間隔調整部２５は、選択したｘだけＬＳ_ｉをシフトしたＬＳ_ｉ（ｘ）を、調整済みＬＳ_ｉとして決定する（ステップＳ７５）。
【００９６】
情報収集管理装置２は、以上の処理を、各クローラ１０がデータの取得を開始する前に実行するのが好ましい。これは、データの取得開始後にＬＳが変更されると、クローラ１０によるデータの取得間隔が乱れるためである。
【００９７】
また、上記の処理によりＬＳを調整し、調整済みＬＳに従って各クローラ１０がデータの取得を開始した後に、情報収集装置１に新たなクローラ１０が追加された場合には、情報収集管理装置２は、新たなクローラ１０のＬＳだけを調整してもよいし、全てのクローラ１０のＬＳを調整してもよい。
【００９８】
新たなクローラ１０のＬＳだけを調整する場合、情報収集管理装置２は、動作中のクローラ１０のＬＳを調整した際に生成されたＧＳを記憶しておき、記憶したＧＳと、新たなクローラ１０のＬＳと、に対してステップＳ４〜Ｓ１０の処理を実行すればよい。
【００９９】
この調整方法によれば、調整するＬＳが１つだけのため、調整処理を高速化できる。また、既に動作中のクローラ１０のＬＳに影響を与えないため、動作中のクローラ１０によるデータの取得間隔が乱れない。
【０１００】
一方、全てのクローラ１０のＬＳを調整する場合、情報収集管理装置２は、動作中のクローラ１０及び新たなクローラ１０のＬＳをＬＳ群として取得し（ステップＳ１）、ステップＳ１〜Ｓ１０の処理を実行すればよい。
【０１０１】
この調整方法によれば、新たなＬＳだけを調整する場合に比べて、取得処理の重複がより少なくなるように、ＬＳを調整できる可能性がある。
【０１０２】
さらに、図６の調整処理では、ＬＳ_ｉを選択する順番に応じて異なる調整済みＬＳが得られる可能性がある。このため、ＬＳ調整部２２は、ＬＳ_ｉをランダムに選択しながら、図６の処理を複数回実行してもよい。これにより、調整済みＬＳの組が複数得られる。ＬＳ調整部２２は、得られた調整済みＬＳの組のうち、対応するＧＳのピークサイズやピーク数が最も少ない調整済みＬＳの組を、クローラ１０に返す調整済みＬＳとして採用してもよい。
【０１０３】
以上説明した通り、本実施形態に係る情報収集管理装置２は、複数のクローラ１０の取得処理の重複が少なくなるように、ＬＳを調整することができる。これにより、単一のコンピュータ１００上で複数のクローラが動作する場合であっても、各クローラ１０によるセンサデータの取得タイミングがずれにくくなるため、センサデータの取得間隔の乱れを抑制することができる。
【０１０４】
なお、以上の説明では、各クローラ１０の周期時間が等しい場合について説明したが、各クローラ１０の周期時間はそれぞれ異なっていてもよい。周期時間が異なる場合には、ＧＳの周期時間を、各クローラの周期時間の最小公倍数にすればよい。例えば、図４におけるＬＳ_１の周期時間が１分であり、ＬＳ_２の周期時間が２分である場合、ＧＳの周期時間を２分とすればよい。すなわち、ＬＳ_２と、２周期分のＬＳ_１と、を重ね合わせてＧＳを生成すればよい。
【０１０５】
また、以上の説明では、ピークサイズ調整部２３は、ピークサイズが最小となるようにＬＳを調整したが、ピークサイズが最大となるように調整してもよい。この場合、図７のステップＳ５５において、ピークサイズ調整部２３は、それまでに処理を実行したｘ（＝０〜Ｎ−１）の中から、ＧＳ（ｘ）のピークサイズが最大となるｘ群を取得すればよい。他の処理（ステップＳ５１〜Ｓ５４，Ｓ５６）は、ピークサイズを最小化する場合と同様である。
【０１０６】
（第２実施形態）
第２実施形態に係る情報収集システムについて、図１０及び図１１を参照して説明する。第１実施形態では、ＬＳを調整することで、取得処理の重複を減らす情報収集管理装置２について説明した。しかしながら、情報収集装置１が実行するクローラ１０の数が増える程、ＬＳの調整によって取得処理の重複を減らすことは困難になる。結果として、取得間隔が乱れる可能性がある。そこで、本実施形態では、情報収集装置１が実行するクローラ１０が増加し、センサデータの取得状況が悪化した場合に、取得状況が悪化したクローラ１０を他の情報収集装置１′に移動する情報収集管理装置２について説明する。
【０１０７】
図１０は、本実施形態に係る情報収集システムの機能構成の一例を示す図である。図１０に示すように、本実施形態に係る情報収集システムは、複数の情報収集装置１と、情報収集管理装置２と、を備える。
【０１０８】
複数の情報収集装置１は、バス１０６や通信装置１０４を介してそれぞれ接続されている。各情報収集装置１の構成は、第１実施形態と同様である。すなわち、各情報収集装置１は、それぞれ単一のコンピュータ１００により構成され、複数のクローラ１０を実行している。
【０１０９】
図１０の例では、情報収集システムは、３つの情報収集装置１ａ〜１ｃを備える。情報収集装置１ａは、３つのクローラ１０ａ_１〜１０ａ_３を実行している。情報収集装置１ｂは、２つのクローラ１０ｂ_１，１０ｂ_２を実行している。情報収集装置１ｃは、１つのクローラ１０ｃ_１を実行している。このように、本実施形態に係る情報収集システムには、クローラ１０を１つしか実行していない情報収集装置１が含まれてもよい。また、情報収集システムには、クローラ１０を未だ実行していない情報収集装置１が含まれてもよい。
【０１１０】
本実施形態に係る情報収集管理装置２は、移動判定部２６と、移動先決定部２７と、クローラ移動部２８と、を備える。他の構成は、第１実施形態と同様である。本実施形態において、情報収集管理装置２は、情報収集装置１毎に、ＬＳを調整し、ＧＳを生成する。
【０１１１】
図１０の例では、情報収集管理装置２は、情報収集装置１ａ〜１ｃとは異なるコンピュータ１００により構成され、情報収集装置１ａ〜１ｃとバス１０６や通信装置１０４を介して接続されている。しかしながら、情報収集管理装置２は、第１実施形態と同様に、情報収集装置１ａ〜１ｃのいずれかと同一のコンピュータ１００により構成されてもよい。
【０１１２】
移動判定部２６は、対象クローラのセンサデータの取得状況に基づいて、対象クローラを移動するか判定する。対象クローラとは、移動判定部２６が移動するか判定する対象となるクローラ１０のことである。
【０１１３】
移動判定部２６は、対象クローラのセンサデータの取得状況が悪化している場合、対象クローラを移動する、と判定する。具体的には、移動判定部２６は、対象クローラのセンサデータの取得間隔の成功の確率が閾値ｓ１以下の場合や、取得間隔のばらつき（標準偏差や分散）の最大値が閾値ｓ２を超えている場合に、対象クローラを移動する、と判定する。取得間隔の成功とは、例えば、取得間隔が所定の範囲に含まれることをいう。
【０１１４】
移動先決定部２７は、情報収集システムに含まれる１つ又は複数の他の情報収集装置１の中から、移動先情報収集装置を決定する。他の情報収集装置１とは、情報収集システムに含まれる複数の情報収集装置１のうち、対象クローラを現在実行している情報収集装置１以外の情報収集装置１のことである。また、移動先情報収集装置とは、対象クローラを移動する他の情報収集装置１のことである。
【０１１５】
例えば、クローラ１０ａ_１が対象クローラである場合、他の情報収集装置１は、情報収集装置１ｂ，１ｃとなる。したがって、移動先決定部２７は、移動先情報収集装置として、情報収集装置１ｂ又は情報収集装置１ｃを決定する。
【０１１６】
移動先決定部２７は、例えば、実行しているクローラ１０の数が最も少ない他の情報収集装置１を、移動先情報収集装置として決定する。クローラ１０ａ_１が対象クローラである場合、情報収集装置１ｃが移動先情報収集装置として決定される。
【０１１７】
また、移動先決定部２７は、センサデータの取得状況が最も良好な他の情報収集装置１を、移動先情報収集装置として決定してもよい。取得状況が良好な情報収集装置１とは、例えば、実行している各クローラ１０の取得間隔の成功の確率の平均値が高い情報収集装置１や、各クローラ１０の取得間隔のばらつきの最大値や平均値が小さい情報収集装置１のことである。取得間隔の成功確率やばらつきは、他の情報収集装置１の各クローラ１０のセンサデータの取得状況に基づいて計算できる。
【０１１８】
クローラ移動部２８は、対象クローラを移動先情報収集装置に移動する。クローラ移動部２８は、例えば、対象クローラのメモリ状態や設定ファイルを、移動先情報収集装置にコピーし、元の情報収集装置１上で動作する対象クローラを停止することにより、対象クローラを移動する。また、クローラ移動部２８は、対象クローラ１０が仮想マシン上で動作している場合には、仮想マシンを移動先情報収集装置にライブマイグレーションすることにより、仮想マシンごと対象クローラを移動してもよい。
【０１１９】
次に、本実施形態に係る情報収集管理装置２による処理について、図１１を参照して説明する。以下では、情報収集装置１ａが実行するクローラ１０を、他の情報収集装置１ｂ，１ｃに移動する場合を例に説明する。図１１は、情報収集管理装置２によるこのような処理の一例を示すフローチャートである。
【０１２０】
まず、移動判定部２６は、情報収集装置１ａから、クローラ１０ａ_１，１０ａ_２，１０ａ_３のセンサデータの取得状況を取得する（ステップＳ１１）。
【０１２１】
次に、移動判定部２６は、クローラ１０ａ_１，１０ａ_２，１０ａ_３を移動するか判定する（ステップＳ１２）。すなわち、移動判定部２６は、対象クローラとしてクローラ１０ａ_１を選択し、クローラ１０ａ_１の取得状況に基づいて、クローラ１０ａ_１を移動するか判定する。同様に、クローラ１０ａ_２，１０ａ_３を移動するか判定する。判定するクローラ１０の順番は任意である。
【０１２２】
移動すると判定されたクローラ１０がない場合（ステップＳ１３のＮＯ）、すなわち、クローラ１０ａ_１，１０ａ_２，１０ａ_３がいずれも移動しないと判定された場合、処理は終了する。
【０１２３】
一方、移動すると判定されたクローラ１０があった場合（ステップＳ１３のＹＥＳ）、移動判定部２６は、判定結果を移動先決定部２７に渡す。ここでは、クローラ１０ａ_１が、移動すると判定されたものとする。
【０１２４】
クローラ１０ａ_１を移動する、という判定結果を受け取った移動先決定部２７は、クローラ１０ａ_１の移動先情報収集装置を決定する（ステップＳ１４）。移動先情報収集装置の決定方法は、上述の通りである。ここでは、移動先情報収集装置として、情報収集装置１ｃが決定されたものとする。移動先決定部２７は、決定された移動先情報収集装置及び移動するクローラ１０ａ_１の情報を、クローラ移動部２８に渡す。
【０１２５】
そして、クローラ移動部２８は、クローラ１０ａ_１を情報収集装置１ｃに移動する（ステップＳ１５）。この結果、情報収集装置１ａ，１ｂ，１ｃは、それぞれ２つのクローラ１０を実行することになる。
【０１２６】
その後、情報収集管理装置２は、クローラ１０ａ_１を移動した情報収集装置１ｃのＬＳを調整する（ステップＳ１６）。情報収集管理装置２は、移動したクローラ１０ａ_１のＬＳだけを調整してもよいし、情報収集装置１ｃが実行する全てのクローラ１０（すなわち、クローラ１０ｃ_１，クローラ１０ａ_１）のＬＳを調整してもよい。ＬＳの調整方法は、第１実施形態と同様である。
【０１２７】
情報収集管理装置２は、以上の処理を、各情報収集装置１に対して、所定の時間間隔（例えば、１分間隔や１０間隔）で実行する。
【０１２８】
以上説明した通り、本実施形態に係る情報収集管理装置２は、情報収集装置１が実行するクローラ１０の増加により、クローラ１０によるセンサデータの取得状況が悪化した場合、取得状況が悪化したクローラ１０を、取得状況が良好な他の情報収集装置１′に移動することができる。これにより、情報収集システムに含まれる各情報収集装置１における、センサデータの取得間隔の乱れを抑制することができる。
【０１２９】
なお、情報収集装置１が実行するクローラ１０を、他の情報収集装置１′に移動した場合、情報収集装置１，１′が実行する各クローラ１０のセンサデータの取得状況が変化すると考えられる。
【０１３０】
そこで、クローラ１０が移動された場合、移動判定部２６は、クローラ１０の移動後、所定時間（例えば、１分や１０分）の間、クローラ１０の移動元である情報収集装置１及び移動先である情報収集装置１′に対する判定を停止するのが好ましい。すなわち、移動判定部２６は、情報収集装置１，１′上で動作する各クローラ１０を移動するかの判定を行なわないのが好ましい。
【０１３１】
上記の例では、クローラ１０ａ_１を移動した後、移動判定部２６は、所定時間の間、情報収集装置１ａ，１ｃが実行する各クローラ１０に対する判定を行なわないのが好ましい。これにより、クローラ１０の移動による影響をより正確に分析することが可能となる。
【０１３２】
また、移動先決定部２７は、クローラ１０の移動後、所定時間（例えば、１分や１０分）の間、クローラ１０の移動元である情報収集装置１及び移動先である情報収集装置１′を、他のクローラ１０の移動先情報処理装置の候補から除外するのが好ましい。
【０１３３】
上記の例では、クローラ１０ａ_１を移動した後、移動先決定部２７は、所定時間の間、情報収集装置１ａ，１ｃを移動先情報収集装置の候補から除外するのが好ましい。これにより、クローラ１０の移動による影響をより正確に分析することが可能となる。
【０１３４】
さらに、本実施形態に係る情報収集管理装置２は、ＬＳ取得部２１及びＬＳ調整部２２を備えない構成も可能である。この場合、情報収集管理装置２は、図１１のステップＳ１６の処理を実行できないものの、クローラ１０を移動することはできる。このため、情報収集管理装置２は、クローラ１０の移動によりセンサデータの取得間隔の乱れを抑制することが可能である。
【０１３５】
また、第１実施形態に係る情報収集管理装置２と、ＬＳ取得部２１及びＬＳ調整部２２を備えない本実施形態に係る情報収集管理装置２と、をそれぞれ異なるコンピュータ１００により構成し、併用することも可能である。
【０１３６】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３７】
１：情報収集装置、２：情報収集管理装置、１０：クローラ、１１：データ取得部、１２：ローカルスケジュール生成部、１３：取得状況計算部、２１：ローカルスケジュール取得部、２２：ローカルスケジュール調整部、２３：ピークサイズ調整部、２４：ピーク数調整部、２５：ピーク間隔調整部、２６：移動判定部、２７：移動先決定部、２８：クローラ移動部
【図１】
2017034307.tif 000003
【図２】
2017034307.tif 000004
【図３】
2017034307.tif 000005
【図４】
2017034307.tif 000006
【図５】
2017034307.tif 000007
【図６】
2017034307.tif 000008
【図７】
2017034307.tif 000009
【図８】
2017034307.tif 000010
【図９】
2017034307.tif 000011
【図１０】
2017034307.tif 000012
【図１１】
2017034307.tif 000013