(57)【要約】【課題】クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮して、クライアントからリクエストされた情報処理を実施させるサーバを決定する。【解決手段】各サーバごとの、情報処理の内容、負荷状態情報およびリクエストを受けてから応答するまでの応答時間の平均値（実績）を記憶する応答実績データ記憶部を具備し、クライアントから情報処理のリクエストを受信し、複数のサーバの各々から負荷状態情報を受信し、受信した情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、前記リクエストされた情報処理を実施させるサーバを決定する。【選択図】図１
2015056087.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバから、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散装置における、サーバ負荷分散方法であって、
前記サーバ負荷分散装置は、各サーバごとの、情報処理の内容、負荷状態情報およびリクエストを受けてから応答するまでの応答時間の平均値（実績）を記憶する応答実績データ記憶部を具備し、
前記サーバ負荷分散装置により、
前記クライアントから情報処理のリクエストを受信し、
前記複数のサーバの各々から負荷状態情報を受信し、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、前記リクエストされた情報処理を実施させるサーバを決定する、
ことを特徴とするサーバ負荷分散方法。
【請求項２】
前記サーバ負荷分散装置により、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、複数のサーバから、前記リクエストを受けてから応答するまでの応答時間が最も短いサーバを、前記リクエストされた情報処理を実施させるサーバに決定する、
ことを特徴とする請求項１に記載のサーバ負荷分散方法。
【請求項３】
前記各サーバの負荷状態情報は、ＣＰＵ使用率、メモリ使用率およびディスク使用率とを含む、
ことを特徴とする請求項２に記載のサーバ負荷分散方法。
【請求項４】
応答実績データ記憶部に記憶されている、前記リクエストを受けてから応答するまでの応答時間の平均値（実績）は、前記ＣＰＵ使用率、前記メモリ使用率、前記ディスク使用率を各々、ｉ、ｊ、ｋ（ｉ≠0、ｊ≠0、ｋ≠0）等分分割し、ｉ×ｊ×ｋ個に分割された立体状の空間ごとの応答時間の平均値（実績）であり、
前記サーバ負荷分散装置により、
前記複数のサーバから、前記ＣＰＵ使用率、前記メモリ使用率および前記ディスク使用率を含む前記負荷状態情報を受信し、
受信した前記ＣＰＵ使用率、前記メモリ使用率、前記ディスク使用率を各々、ｉ、ｊ、ｋで除算した値を算出し、
受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報をもとに算出された前記各値と、前記応答実績データ記憶部の情報に基づき、複数のサーバから、前記リクエストを受けてから応答するまでの応答時間が最も短いサーバを、前記リクエストされた情報処理を実施させるサーバに決定する、
ことを特徴とする請求項３に記載のサーバ負荷分散方法。
【請求項５】
前記サーバから、該サーバを識別する情報、情報処理の内容、前記負荷状態情報、リクエストを受けてから応答するまでの応答時刻を含む情報を受信し、
受信した前記サーバを識別する情報、前記情報処理の内容、前記負荷状態情報、前記リクエストを受けてから応答するまでの応答時刻を含む情報と、前記リクエストを受信した時刻を用いて、応答実績データを生成し、
前記生成した応答実績データを前記応答実績データ記憶部に格納する、
ことを特徴とする請求項４に記載のサーバ負荷分散方法。
【請求項６】
請求項１乃至請求項５の何れか１項に記載のサーバ負荷分散方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバから、リクエストされた情報処理を実施させる最適なサーバを決定するサーバ負荷分散技術に関する。
【背景技術】
【０００２】
サーバ負荷分散装置はサーバ・クライアント型のコンピュータシステムにおいて、クライアントから要求されたリクエストを同機能を持つ複数台のサーバで並列的に行うことで処理の高速化・効率化を実現する一般的なシステムであり、特に、ビックデータと呼ばれる大量のデータに関する処理の高速化・効率化のための鍵となる技術である。
【０００３】
また、近年、センサー技術の発展により、Ｍ２Ｍ（Ｍａｃｈｉｎｅ ｔｏ Ｍａｃｈｉｎｅ）と呼ばれる機器や装置（モノ）が搭載されたセンサーからの情報をもとに監視や制御などのサービスを提供する仕組みが注目されている。また、建築機器業界では、鉱山開発用建設機器の稼動停止時間を最低限に抑えるため、モーター、油圧計等に設置されたセンサーから収集した情報をリアルタイムに分析することで、異常や故障につながる予兆を検知し、それを回避するような制御を行うことが期待されている。
【０００４】
しかし、上記に示すような鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスを実現するためには、サーバ等の情報処理装置にて、鉱山開発現場で稼動する多数の建設機器から時々刻々と発生する大量のデータをリアルタイムで分析等の情報処理を行う必要がある。そのため、従来以上に高速で、効率的に情報処理を行えるシステムが要求される。
【０００５】
そこで、クライアントからリクエストされた情報処理にかかる応答時間に密接な関係があると考えられる情報処理の内容とサーバ負荷情報に着目し、処理実績を蓄積・分析した結果を、クライアントからリクエストされた情報処理を実施させるサーバを決定する際に活用すれば、従来のシステムより高速で、効率的な情報処理を行える可能性がある。また、この従来以上に高速で、効率的な情報処理を行えるシステムを鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスに適用すれば、従来のＭ２Ｍと比較し、異常や故障につながる予兆をより早く検知し、異常や故障を回避する確率を高める制御ができる可能性がある。
【０００６】
関連する技術として、リアルタイムなサーバの負荷状態とクライアントからリクエストされた情報処理の内容を考慮して、情報処理を実施させる各サーバを決定し、そのサーバにリクエストされた情報処理を実施させるサーバ負荷分散技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１３８２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、センサー技術の発展により、Ｍ２Ｍと呼ばれる機器や装置（モノ）が搭載されたセンサーからの情報をもとに監視や制御などのサービスを提供する仕組みが注目されている。また、建築機器業界では、鉱山開発用建設機器の稼動停止時間を最低限に抑えるため、モーター、油圧計等に設置されたセンサーから収集した情報をリアルタイムに分析することで、異常や故障につながる予兆を検知し、それを回避するような制御を行うことが期待されている。しかし、上記に示すような鉱山開発用建設機器の稼動停止時間を最低限に抑えるサービスを実現するためには、サーバ等の情報処理装置にて、鉱山開発現場で稼動する多数の建設機器から時々刻々と発生する大量のデータをリアルタイムで分析等の情報処理を行う必要があり、従来以上に高速に応答が可能となるシステムが要求される。従来のサーバ負荷分散装置としては、特許文献１に示すようにリアルタイムなサーバの負荷状態やクライアントからリクエストされた情報処理の内容を考慮して各サーバに処理を振り分ける仕組みがあるが、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮しておらず、負荷状態が高くても最も応答が高速であるサーバにリクエストされた情報処理を実施させることができないといった問題がある。
【０００９】
本発明は、このような事情に鑑みてなされたもので、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮して、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散方法およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明の代表的な一例は、次の通りである。すなわち、本発明は、複数のサーバから、クライアントからリクエストされた情報処理を実施させるサーバを決定するサーバ負荷分散装置における、サーバ負荷分散方法である。前記サーバ負荷分散装置は、各サーバごとの、情報処理の内容、負荷状態情報およびリクエストを受けてから応答するまでの応答時間の平均値（実績）を記憶する応答実績データ記憶部を具備する。そして、前記サーバ負荷分散装置により、前記クライアントから情報処理のリクエストを受信し、前記複数のサーバの各々から負荷状態情報を受信し、受信した前記情報処理のリクエスト、の情報処理の内容と、受信した前記各サーバの負荷状態情報と、前記応答実績データ記憶部の情報に基づき、前記リクエストされた情報処理を実施させるサーバを決定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、クライアントからリクエストされた情報処理の内容とサーバの負荷状態と応答時間の関係を考慮して、クライアントからリクエストされた情報処理を実施させるサーバを決定することができる。これにより、リクエストされた情報処理を最も早く実施するものと予測されるサーバに対して、リクエストされた情報処理を実施させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係るコンピュータネットワークシステム１の全体構成例を示す図である。
【図２】サーバ負荷分散装置１６のハードウェア構成例を示す図である。
【図３】サーバ負荷分散装置１６の各処理の構成と流れを示す図である。
【図４】サーバ負荷分散装置１６が具備する処理リクエストテーブル２１０のデータ構成例を示す図である。
【図５】サーバ負荷分散装置１６が具備するリアルタイムサーバ負荷情報テーブル２２０のデータ構成例を示す図である。
【図６】サーバ負荷分散装置１６が具備する過去の応答実績テーブル２３０のデータ構成例を示す図である。
【図７】サーバ負荷分散装置１６が具備する過去の応答実績空間テーブル２４０のデータ構成例を示す図である。
【図８】サーバ負荷分散装置１６が具備する過去の応答実績空間テーブル２４０の概念を示す図である。
【図９】サーバ負荷分散装置１６が具備する現在情報・過去実績マッピング結果テーブル２５０のデータ構成例を示す図である。
【図１０】サーバ負荷分散装置１６が具備する各サーバの応答時刻テーブル２７０のデータ構成例を示す図である。
【図１１】サーバ負荷分散装置１６が応答実績テーブル２７０のデータ構成例を示す図である。
【図１２】サーバ負荷分散装置１６が具備する処理振分け先サーバ決定機能１６１０全体の処理を示すフローチャートである。
【図１３】サーバ負荷分散装置１６が処理振分け先サーバ決定機能１６１０のサブルーチン過去情報統計処理サブルーチンの処理を示すフローチャートである。
【図１４】サーバ負荷分散装置１６が処理振分け先サーバ決定機能１６１０のサブルーチン過去情報マッピングサブルーチンの処理を示すフローチャートである。
【図１５】サーバ負荷分散装置１６が処理振分け先サーバ決定機能１６１０のサブルーチン応答実績生成・格納サブルーチンの処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施例について、図面を参照して詳細に説明する。
【００１４】
図１は、本実施例に係るコンピュータネットワークシステム１の全体構成例を示す図である。サーバ負荷分散装置１６と各鉱山用建設機器１０、１２、１４に設置されたセンサー（クライアントコンピュータ）１１、１３、１５と、前記各鉱山用建設機器１０、１２、１４からリクエストされた情報処理の内容に基づいて鉱山用建設機器情報の分析等の情報処理を行うサーバ（情報処理装置）１７、１８、１９とがネットワークに接続されて構成される。サーバ負荷分散装置１６は、各鉱山用建設機器１０、１２、１４に設置されたセンサー１１、１３、１５から受けたリクエストに対し、リクエストされた情報処理の内容および、各サーバのリアルタイムな負荷状態を過去の応答実績とマッピングすることで、最も応答時間が短いと推測されるサーバを、リクエストされた情報処理を実施させるサーバに決定する。また、サーバ負荷分散装置１６は、リクエストされた情報処理を実施した結果（応答実績）をサーバから受信し、これを次の処理振分け先を決定するための過去の応答実績データとして蓄積する。
【００１５】
図２はサーバ負荷分散装置１６のハードウェア構成例を示す図である。サーバ負荷分散装置１６は、一般的なコンピュータにより実現でき、制御部（ＣＰＵ）１６０と記憶部１６１にプログラム１６１０として処理振分け先サーバ決定機能１６１１と、入力部１６２と、通信部１６３を、具備する。また、記憶部１６１は、処理振分け先サーバ決定機能１６１１と過去の応答実績蓄積データベース１６１２を具備する。なお、プログラムは、あらかじめ記憶装置１６１に格納されていても良いし、コンピュータが利用可能な可搬性を有する記憶媒体に格納しておき、図示していない読取装置を介して必要に応じて読み出されても良いし、あるいは、コンピュータが利用可能な通信媒体であるネットワークと接続された他の装置から必要に応じてダウンロードされて記憶装置１６１に格納されるものであっても良い。
【００１６】
図３は、サーバ負荷分散装置１６の各処理の構成と流れを示す図である。リクエスト受信処理２１は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、各鉱山用建設機器に取り付けられたセンサーから送信されたリクエストの内容をもとに、図４に示す処理リクエストテーブル２１０を生成する処理である。処理リクエストテーブル２１０は、主キーとして各鉱山用建設機器からのリクエスト内容で、処理待ちとなっているリクエストを一意に識別するための処理ＩＤ２１１と、その他の列としてリクエストを送信してきた建設機器を識別するための建設機器ＩＤ２１２と、リクエストを受信した時刻２１３と、建設機器稼動情報２１４と、各鉱山用建設機器がリクエストした処理内容２１５を記憶する。
【００１７】
サーバ負荷状態受信処理２２は、図２に示す処理振分け先サーバ選択機能１６１１上で動作し、各サーバからリアルタイムなサーバ負荷状態情報として、例えば、ＣＰＵ使用率、メモリ使用率、ディスク使用率を取得し、図５に示すリアルタイムサーバ負荷情報テーブル２２０を生成する処理である。リアルタイムサーバ負荷情報テーブル２２０は、主キーとして、日時２１１とサーバ名２１２を、その他の列として、例えば、ＣＰＵ使用率２１３、メモリ使用率２１４、ディスク使用率２１５をリアルタイムなサーバ負荷状態情報として記憶する。なお、サーバ負荷状態情報は、ＣＰＵ使用率、メモリ使用率、ディスク使用率の何れかの組み合わせであっても良いし、ＣＰＵ使用率、メモリ使用率、ディスク使用率以外のパラメータを含めても良い。
【００１８】
過去の応答実績統計処理２３は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、図６に示す過去の応答実績蓄積データベース１６１２内の過去の応答実績テーブル２３０からサーバ名２３２および、処理内容２３３をキーに取り出した過去の実績から図７に示す過去の応答実績空間テーブル２４０を生成する処理である。応答実績空間テーブル２４０は、主キーとして、サーバ名２４１、処理内容２４２、ＣＰＵ使用率の程度を示すＣＰＵ使用率レベル２４３、メモリ使用率の程度を示すメモリ使用率レベル２４４、ディスク使用率の程度を示すディスク使用率レベル２４５を、その他の列として該当分割区間の平均応答時間２４６を記憶する。ここで、各サーバの負荷状態のレベル（ＣＰＵ使用率レベル２４３、メモリ使用率レベル２４４、ディスク使用率レベル２４５）に関して、概念図を図８に示す。各サーバの負荷状態のレベルとは、ＣＰＵ使用率とメモリ使用率とディスク使用率から生成される直方体状の空間をＣＰＵ使用率に関してｉ等分、メモリ使用率に関してｊ等分、ディスク使用率に関してk等分、全体としてｉ×ｊ×ｋ個の立体（例えば、直方体）状の箱に分割したときにどこの箱に属するか示すものである。また、該当分割区間のサーバの平均応答時間２４６は、前記ｉ×ｊ×ｋ個に分割された直方体状の空間ごとに該当空間のサーバの応答時間の平均値を計算することで算出される。このｉ、ｊ、ｋを図１に示すように符号１０−１９の機器等が接続されたシステム単位で任意に定める理由は、図１に示すように符号１０−１９の機器等が接続されたシステムの構成によって、応答時間に影響しうる各サーバ負荷状態を示すパラメータは異なるためである。例えば、処理振分け先サーバ１７−１９として一般的なＷＥＢ／ＡＰサーバを考えた場合では、ディスク使用率よりＣＰＵ使用率が応答時間に影響すると考えられる。この場合、ＣＰＵ使用率は１０分割し（ｉ＝１０）、ディスク使用率は分割しない（ｋ＝１）ことで、ＷＥＢ／ＡＰサーバの応答時間に強く影響すると考えられるＣＰＵ使用率の負荷状況を重視して、処理を振り分けることが可能となる。逆に、処理振分け先サーバ１７−１９として一般的なデータベースサーバを考えた場合では、データベースサーバの応答時間には、ディスク使用率も大きく影響すると考えられる。この場合、ＣＰＵ使用率は１０分割し（ｉ＝１０）、ディスク使用率も１０分割し（ｋ＝１０）することで、ＣＰＵ使用率と同程度にディスク使用率の状態も重視して処理を振り分けることが可能となる。
【００１９】
また、例えば、連結しているデータベースサーバに対して、発行したＳＱＬ文の結果の大部分をメモリに展開するようなアプリケーションを実装しているＷＥＢ／ＡＰサーバ群を処理振分け先サーバ１７−１９として持つシステム構成Ａと、連結しているデータベースサーバに対して、発行したＳＱＬ文のごく一部のデータのみメモリに展開するようなアプリケーションを実装しているＷＥＢ／ＡＰサーバ群を処理振分け先サーバ１７−１９として持つシステム構成Ｂを考える。この場合、システム構成Ａにおいて処理分散するときの方が、システム構成Ｂにおいて処理分散するときより各ＷＥＢ／ＡＰサーバのメモリ使用率に関して考慮する必要があるので、システム構成Ｂではｊ＝２とし、メモリ使用率が５０％を超えていなければそこまで問題視しないが、システム構成Ａではｊ＝１０とし、より感度を上げて処理を振り分けるか否か判断するなどの調整が可能である。
【００２０】
現在情報・過去の応答実績マッピング処理２４は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、処理リクエストテーブル２１０と、リアルタイムサーバ負荷情報テーブル２２０と、応答実績空間テーブル２４０をリクエストの処理内容、サーバ名、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーにマッピングすることで、図９に示す現在情報・過去実績マッピング結果テーブル２５０を生成する処理である。現在情報・過去実績マッピング結果テーブル２５０は、主キーとして処理ＩＤ２５１、サーバ名２５２を、その他の列として、日時２５３と、処理内容２５４と、ＣＰＵ使用率レベル２５５と、メモリ使用率レベル２５６と、ディスク使用率レベル２５７と、該当分割区間の平均応答時間２５８を記憶する。前記現在情報・過去実績マッピング結果テーブル２５０により、該当処理をどのサーバで実行したら、どのぐらい応答時間がかかるのかが予測できる。このように、現在情報・過去の応答実績マッピング処理２４により、リアルタイムなリクエストの処理内容とリアルタイムな各サーバの負荷状態をサーバ負荷状態空間で該当する分割された箱とマッピングすることで、リアルタイムなリクエストの処理に対し、どの程度応答時間がかかるのか予測できる。
【００２１】
処理振分け先サーバ決定処理２５は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、前記現在情報・過去実績マッピング結果テーブル２５０から、処理ＩＤ２５１とサーバ名２５２をキーに該当分割区間の平均応答時間２５８を取り出し、該当分割区間の平均応答時間２５８の比較結果から最も応答時間が短いと考えられるサーバで、処理を実行するようにリクエスト受信処理２１で処理振分け待ちリクエストを格納しているキューからリクエストを取り出し処理を実行する。これにより、処理内容を最も早く処理すると予想されるサーバに処理が振り分けられる。
【００２２】
応答情報受信処理２６は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、前記処理振分け先サーバ決定処理２５の通知結果に基づき該当処理振分け先サーバで実行された結果を取得し、図１０に示す各サーバの応答時刻テーブル２６０を生成する処理である。前記応答時刻テーブル２６０は、主キーとして処理ＩＤ２６１を、その他の列としてサーバ名２６２と、処理内容２６３と、処理したときのサーバの負荷状態情報としてＣＰＵ使用率２６３と、メモリ使用率２６４と、ディスク使用率２６５を、サーバが処理を完了し、リクエストに対して応答を返した応答時刻２６６を記憶する。
【００２３】
応答実績生成処理２７は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、処理リクエストテーブル２１０と応答時刻テーブル２６０から処理ＩＤをキーに該当処理にかかった応答時間を計算し、図１１に示す応答実績テーブル２７０を生成する処理である。応答実績テーブル２７０は、主キーとして、日時２７１と、サーバ名２７２と、処理内容２７３を、その他の列として該当処理を行っていたときのＣＰＵ使用率２７４と、メモリ使用率２７５と、ディスク使用率２７６を、該当処理にかかった応答時間２７７を記憶する。
【００２４】
応答実績格納処理２８は、図２に示す処理振分け先サーバ決定機能１６１１上で動作し、前記応答実績生成処理２７で生成された応答実績テーブル２７０を図２に示した過去の応答実績蓄積データベース１６１２に格納する処理である。
【００２５】
図１２は、サーバ負荷分散装置１６が具備する処理振分け先サーバ決定機能１６１１の処理全体を示すフローチャートである。処理振分け先サーバ決定機能１６１１は、リクエスト受信処理（ステップＳ１００）により開始され、各鉱山用建設機器に取り付けられたセンサーから送信された建設機器ＩＤ２１２、リクエスト時刻２１３、建設機器稼動情報２１４、処理内容２１５に処理を実行待ちしている処理を一意に識別する処理ＩＤ２１１を付与して、処理リクエストテーブル２１０を生成する（今回の例では、レコード２１０１、２１０２を有する）。次に、サーバ負荷状態受信処理（ステップＳ１０１）では、リクエストを処理するサーバ１７、１８、１９から取得した日時２２１、サーバ名２２２、ＣＰＵ使用率２２３、メモリ使用率２２４、ディスク使用率２２５からリアルタイムサーバ負荷状態情報テーブル２２０（今回の例では、レコード２２０１、２２０２、２２０３を有する）を生成する。過去の稼動情報統計処理サブルーチン（ステップＳ１０２）の全体のフローチャートを、図１３に示す。過去の応答実績取得処理（ステップＳ２００）では、過去の応答実績蓄積データベース１６１２から過去の応答実績テーブル２３０を取得する（今回の例では、レコード２３０１〜２３０Ｃを有する）。過去のＣＰＵ使用率レベルＣ計算処理（ステップＳ２０１）では、過去の応答実績テーブル２３０のＣＰＵ使用率cから、以下の計算式により、過去のＣＰＵ使用率レベルＣを前記過去の応答実績テーブル２３０の各レコードごとに算出する（レコード２３０１〜レコード２３０Ｃごとにそれぞれ算出する）。
Ｃ=[ｃ／ｉ]
ここで、ｉ≠0（今回の例では、１０）はユーザが任意に定めたＣＰＵ使用率を分割する細かさを表す整数であり、[ｃ／ｉ]は、ｃをｉで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル２３０のレコード２３０１では、ＣＰＵ使用率２３４が１２％のため過去のＣＰＵ使用率レベルＣ＝[１２／１０]=[１．２]=１である。過去のメモリ使用率レベルＭ計算処理（ステップＳ２０２）では、過去の応答実績テーブル２３０のメモリ使用率ｍから以下の計算式によりＭを前記過去の応答実績テーブル２３０の各レコードごとに算出する（レコード２３０１〜レコード２３０Ｃごとにそれぞれ算出する）。
Ｍ＝[ｍ／ｊ]
ここで、ｊ≠0（今回の例では、１０）はユーザが任意に定めたメモリ使用率を分割する細かさを表す整数であり、[ｍ／ｊ]は、ｍをｊで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル２３０のレコード２３０２では、メモリ使用率２３５が１９％のため過去のメモリ使用率レベルＭ＝[１９／１０]＝[１．９]＝２である。過去のディスク使用率レベルＤ計算処理（ステップＳ２０３）では、過去の応答実績テーブル２３０のディスク使用率ｄから以下の計算式により過去のディスク使用率レベルＤを前記過去の応答実績テーブル２３０の各レコードごとに算出する（レコード２３０１〜レコード２３０Ｃごとにそれぞれ算出する）。
Ｄ＝[ｄ／ｋ]
ここで、ｋ≠0（今回の例では、１０）はユーザが任意に定めたディスク使用率を分割する細かさを表す整数であり、[ｄ／ｋ]は、ｄをｋで割ったときの値を小数点第一位で四捨五入した値を意味する。例えば、過去の応答実績テーブル２３０のレコード２３０３では、ディスク使用率２３６が１３％のためディスク使用率レベルＤ＝[１３／１０]＝[１．３]＝1である。分割された箱ごとの平均応答時間計算処理（ステップＳ２０４）では、各処理内容、サーバ名および、過去の応答実績テーブル２３０から前記ＣＰＵ使用率レベルＣ計算処理（ステップＳ２０１）で求めた過去のＣＰＵ使用率レベルＣ、過去の応答実績テーブル２３０から前記メモリ使用率レベルＭ計算処理（ステップＳ２０２）で求めた過去のメモリ使用率レベルＭ、過去の応答実績テーブル２３０から過去のディスク使用率レベルＤ計算処理（ステップＳ２０３）で求めた過去のディスク使用率レベルＤをキーに平均応答時間を算出する。例えば、前記ＣＰＵ使用率レベルＣ計算処理（ステップＳ２０１）、前記メモリ使用率レベルＭ計算処理（ステップＳ２０２）、過去のディスク使用率レベルＤ計算処理（ステップＳ２０３）により、サーバＡで、平均値計算処理をＣＰＵ使用率レベル１、メモリ使用率レベル１、ディスク使用率レベル１で処理した時の過去の応答実績テーブル２３０の実績レコードは、レコード２３０１と２３０３であることが分かる。よって、過去の応答実績空間テーブル２４０のレコード２４０１における該当分割区間の平均応答時間２４６の値は、（５+７）／２＝６となる。また、前記ＣＰＵ使用率レベルＣ計算処理（ステップＳ２０１）、前記メモリ使用率レベルＭ計算処理（ステップＳ２０２）、過去のディスク使用率レベルＤ計算処理（ステップＳ２０３）により、サーバＢで、異常検知処理をＣＰＵ使用率レベル１、メモリ使用率レベル２、ディスク使用率レベル１で処理した時の過去の応答実績テーブル２３０の実績レコードは、レコード２３０６のみであることが分かるである。よって、過去の応答実績空間テーブル２４０のレコード２４０５における該当分割区間の平均応答時間２４６の値は、６０／１＝６０となる。過去の稼動情報統計処理サブルーチン（ステップＳ１０２）では、前記過去の応答実績取得処理（ステップＳ２００）〜前記分割された箱ごとの平均応答時間計算処理（ステップＳ２０４）により、過去の応答実績空間テーブル２４０を生成する。現在情報・過去実績マッピング処理サブルーチン（ステップＳ１０３）の全体のフローチャートを、図１４に示す。現在のＣＰＵ使用率レベルＣ計算処理（ステップＳ３０１）では、リアルタイムサーバ負荷状態情報テーブル２２０のＣＰＵ使用率ｃから過去のＣＰＵ使用率レベルＣ計算処理（ステップＳ２０１）と同様の計算式によりＣを算出する。例えば、リアルタイムサーバ負荷状態情報テーブル２２０のレコード２２０１では、現在のＣＰＵ使用率レベルＣは、Ｃ＝[１０／１０]＝１となる。現在のメモリ使用率レベルＭ計算処理（ステップＳ３０２）では、リアルタイムサーバ負荷状態情報テーブル２２０のメモリ使用率ｍから過去のメモリ使用率レベルＭ計算処理（ステップＳ２０２）と同様の計算式によりＭを算出する。例えば、リアル���イムサーバ負荷状態情報テーブル２２０のレコード２２０２では、現在のメモリ使用率レベルＭは、Ｍ＝[２０／１０]＝２となる。現在のディスク使用率レベルＤ計算処理（ステップＳ３０３）では、リアルタイムサーバ負荷状態情報テーブル２２０のディスク使用率ｄから過去のディスク使用率レベルＤ計算処理（ステップＳ２０３）と同様の計算式によりＤを算出する。例えば、リアルタイムサーバ負荷情報テーブル２２０のレコード２２０３では、現在のディスク使用率レベルＤは、Ｄ＝[３０／１０]＝３となる。現在情報と過去情報マッピング処理（ステップＳ３０３）では、処理リクエストテーブル２１０とリアルタイムサーバ負荷状態情報テーブル２２０と過去の応答実績空間テーブル２４０をサーバ名、処理内容、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーにマッピング処理することで、現在情報・過去実績マッピング結果テーブル２５０を生成する処理である。このマッピング処理では、まず、処理リクエストテーブル２１０とリアルタイムサーバ負荷状態情報テーブル２２０に対し、単純な結合処理（ｊｏｉｎ）を実施する。この結合処理で、リクエスト処理の個数×サーバの個数個のレコードが生成される。例えば、処理リクエストテーブル２１０、リアルタイムサーバ負荷状態情報テーブル２２０の例では、処理が処理ＩＤ１００００と処理ＩＤ１０００１の二つ、サーバがサーバＡ、サーバＢ、サーバＣの３つのため２×３=６レコードとなる。次に、処理リクエストテーブル２１０、リアルタイムサーバ負荷状態情報テーブル２２０の結合処理結果に対し、過去の応答実績空間テーブル２４０を処理内容、サーバ名、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルをキーに結合処理（ｊｏｉｎ）を実施することで現在情報・過去実績マッピング結果テーブル２５０を生成する。例えば、現在情報・過去実績マッピング結果テーブル２５０のレコード２５０１を考える。この例では、平均値計算処理を現在、ＣＰＵ使用率レベルが１、メモリ使用率レベルが１、ディスク使用率レベルが１であるサーバＡで実行した場合、過去どのぐらい応答時間を要したかを算出している。処理リクエストテーブル２１０のレコード２１０１で示される処理内容が平均値計算であり、リアルタイムサーバ負荷状態情報テーブル２２０のレコード２２０１のサーバＡのＣＰＵ使用率レベルが１、メモリ使用率レベルが１、ディスク使用率レベルが１であることから、過去の応答実績空間テーブル２４０において、処理内容、サーバ名、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルが一致するレコード２４０１がマッピングされる。このマッピングの結果、現在情報・過去実績マッピング結果テーブル２５０のレコード２５０１が生成される。また、処理リクエストテーブル２１０のレコードとリアルタイムサーバ負荷状態情報テーブル２２０のレコードの処理内容、サーバ名、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルで、過去の応答実績空間テーブル２４０のレコードの処理内容、サーバ名、ＣＰＵ使用率レベル、メモリ使用率レベル、ディスク使用率レベルと一致するものが無い場合は、現在情報・過去実績マッピング結果テ���ブル２５０のレコード２５０２のように、該当分割区間の平均応答時間にマッピング不能とする。ただし、マッピング不能な場合、応答時間実績として０とすることで、積極的に応答時間実績を蓄積していく方式とする。処理振分け先サーバ決定処理（ステップＳ１０４）では、現在情報・過去実績マッピング結果テーブル２５０の結果から処理ＩＤ２５１をキーにレコードを取り出し、該当分割区間の平均応答時間２５８が最も速いサーバで、処理を実行するようにリクエスト受信処理２１で処理振分け待ちを格納しているキューに通知する。例えば、現在情報・過去実績マッピング結果テーブル２５０の処理ＩＤ１０００１では、レコード２５０４からサーバＡで実行した場合は、該当分割区間の平均応答時間が６秒、レコード２５０５からサーバＢで実行した場合は、該当分割区間の平均応答時間が１２秒、レコード２５０６からサーバＣで実行した場合は、該当分割区間の平均応答時間が１８秒と算出されたことから、処理ＩＤ１００１に関して、該当分割区間の平均応答時間が最も短いサーバＡでの実行要求をリクエスト受信処理２１で処理振分け待ちを格納しているキューに通知する。また、現在情報・過去実績マッピング結果テーブル２５０の処理ＩＤ１００００では、レコード２５０１からサーバＡで実行した場合は、該当分割区間の平均応答時間が３０秒、レコード２５０２からサーバＢで実行した場合は、該当分割区間の平均応答時間が０秒（マッピング不能）、レコード２５０３からサーバＣで実行した場合は、該当分割区間の平均応答時間が０秒（マッピング不能）と算出されたことから、サーバＢでの実行をリクエスト受信処理２１で処理振分け待ちを格納しているキューに通知する（該当分割区間の平均応答時間が同じ場合は、サーバ名の昇順に振分け先を決定する）。応答実績生成・格納サブルーチン（ステップＳ１０５）の全体のフローチャートを、図１５に示す。応答情報受信処理（ステップＳ４００）では、処理振分け先サーバ処理（ステップＳ１０４）で振り分けられた処理をサーバ１７、１８、１９で処理した結果を示す各サーバの応答時刻テーブル２６０を生成する処理である。例えば、レコード２６０１は、処理ＩＤ１００００が、サーバＡで、異常検知を、ＣＰＵ使用率10％、メモリ使用率１０％、ディスク使用率１０％の状態で実行され、２０１３／１／２１ １０：０２：００にサーバＡから処理結果を応答したことを示している。応答実績生成処理（ステップＳ４０１）では、処理リクエストテーブル２１０と各サーバの応答時刻テーブル２６０を処理ＩＤをキーに応答実績を算出する処理である。例えば、処理ＩＤ１００００の応答時間は、処理リクエストテーブル２１０の処理ＩＤ１００００のレコード２１０１のリクエスト時２０１３／１／２１ １０：００：００から各サーバの応答時刻テーブル２６０の処理ＩＤ１００００のレコード２６０１の応答時刻２０１３／１／２１ １０：０２：００の差の１２０秒を応答時間として、応答実績テーブル２７０にレコード２７０１の形式で格納する。応答実績格納処理（ステップＳ４０２）では、過去の応答実績蓄積データベース１６１２に、前記応答実績生成処理（ステップＳ４０１）で生成した応答実績レコードを格納��る処理である。
【００２６】
以上本発明の一実施例について説明した。
【００２７】
上記実施例によれば、過去の応答実績に応じて、より応答が速いと思われるサーバに情報処理を実施させることで、各鉱山開発用建設機器に取り付けられたセンサーから発生する大量データの分析を高速化し、鉱山開発用建設機器の可用性を向上できる。
【００２８】
以上本発明の実施例を説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００２９】
１６・・・サーバ負荷分散装置、１０、１２、１４・・・鉱山用建設機器、１１、１３、１５・・・鉱山用建設機器に取り付けられたセンサー、１１、１３、１５・・・鉱山開発用建設機器情報分析用サーバ、１６０・・・制御部（ＣＰＵ）、１６１・・・記憶部、１６２・・・制御部（ＣＰＵ）。
【図１】
2015056087.tif 000003
【図２】
2015056087.tif 000004
【図３】
2015056087.tif 000005
【図４】
2015056087.tif 000006
【図５】
2015056087.tif 000007
【図６】
2015056087.tif 000008
【図７】
2015056087.tif 000009
【図８】
2015056087.tif 000010
【図９】
2015056087.tif 000011
【図１０】
2015056087.tif 000012
【図１１】
2015056087.tif 000013
【図１２】
2015056087.tif 000014
【図１３】
2015056087.tif 000015
【図１４】
2015056087.tif 000016
【図１５】
2015056087.tif 000017