(57)【特許請求の範囲】
【請求項１】
処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力する入力手段と、
前記分散データ処理するための第１および第２の処理システムであって、互いに異なる環境で動作する第１および第２の処理システムと、
前記第１の処理システム又は前記第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、
前記収集された処理結果データを前記外部に出力する出力手段と
を具備し、
前記第１の処理システムは、
第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、
前記第１の分散データ処理制御手段は、
前記入力されたデータを受信する第１受信手段と、
前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼手段と
を含み、
前記複数の第１分散データ処理部の各々は、
前記依頼により、前記入力されたデータを分析する分析手段と、
前記分析手段による分析結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、
前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段と
を含み、
前記第２の処理システムは、
第２の分散データ処理制御手段及び複数の第２分散データ処理部を備え、
前記第２の分散データ処理制御手段は、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記入力されたデータを受信する第２受信手段と、
前記複数の第２分散データ処理部の各々の負荷状況に基づいて、前記第２受信手段により受信されたデータの処理を、前記複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼手段と
を含み、
前記いずれかの第２分散データ処理部は、前記第２依頼手段からの依頼により、前記第２受信手段により受信されたデータを分散データ処理し、
前記入力手段は、文字列を含むデータを入力し、
前記分析手段は、前記入力されたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判定手段は、前記抽出された文字列の中に、予め定められた文字列が含まれているかを判定することによって、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定し、
前記複数の第１分散データ処理部の各々は、データ読み込み部を含み、
前記入力手段は、前記文字列を含む画像のデータを入力し、
前記データ読み込み部は、前記第１依頼手段からの依頼により、前記入力されたデータをテキストデータ化して読み込み、
前記分析手段は、前記読み込まれたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化装置。
【請求項２】
処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力する入力手段と、
前記分散データ処理するための第１の処理システムおよび複数の第２の処理システムであって、互いに異なる環境で動作する第１の処理システムおよび複数の第２の処理システムと、
前記複数の第２の処理システムの各々を示す処理システム情報に対応づけて当該第２の処理システムが動作する環境を示す環境情報を格納する格納手段と、
前記第１の処理システム又は前記複数の第２の処理システムのうちのいずれかの第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、
前記収集された処理結果データを前記外部に出力する出力手段と
を具備し、
前記第１の処理システムは、
第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、
前記第１の分散データ処理制御手段は、
前記入力されたデータを受信する第１受信手段と、
前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼手段と
を含み、
前記複数の第１分散データ処理部の各々は、
前記依頼により、前記入力されたデータを分析する分析手段と、
前記分析手段による分析結果に基づいて、前記入力されたデータが処理されるべき環境を判別する判別手段と、
前記判別手段による判別結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、
前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段と
を含み、
前記複数の第２の処理システムのうち、前記判別された環境を示す環境情報に対応づけて前記格納手段に格納されている処理システム情報によって示される第２の処理システムは、第２の分散データ処理制御手段及び複数の第２分散データ処理部を備え、
前記第２の分散データ処理制御手段は、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記入力されたデータを受信する第２受信手段と、
前記複数の第２分散データ処理部の各々の負荷状況に基づいて、前記第２受信手段により受信されたデータの処理を、前記複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼手段と
を含み、
前記いずれかの第２分散データ処理部は、前記第２依頼手段からの依頼により、前記第２受信手段により受信されたデータを分散データ処理し、
前記入力手段は、文字列を含むデータを入力し、
前記分析手段は、前記入力されたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別手段は、前記抽出された文字列に基づいて前記入力されたデータが処理されるべき環境を判別し、
前記判定手段は、前記判別手段によって判別された環境が前記第１の処理システムが動作する環境である場合には、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定し、
前記複数の第１分散データ処理部の各々は、データ読み込み部を含み、
前記入力手段は、前記文字列を含む画像のデータを入力し、
前記データ読み込み部は、前記第１依頼手段からの依頼により、前記入力されたデータをテキストデータ化して読み込み、
前記分析手段は、前記読み込まれたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別手段は、前記抽出された文字列が積分計算又は掛け算を含む数値計算の文字情報であり、当該文字列の出現頻度が閾値以上である場合に、前記入力されたデータが処理されるべき環境を数値計算処理に強い環境であると判別し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化装置。
【請求項３】
処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力する入力手段と、
前記分散データ処理するための第１の処理システムおよび複数の第２の処理システムであって、互いに異なる環境で動作する第１の処理システムおよび複数の第２の処理システムと、
前記複数の第２の処理システムの各々を示す処理システム情報に対応づけて当該第２の処理システムが動作する環境を示す環境情報を格納する格納手段と、
前記第１の処理システム又は前記複数の第２の処理システムのうちのいずれかの第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、
前記収集された処理結果データを前記外部に出力する出力手段と
を具備し、
前記第１の処理システムは、
第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、
前記第１の分散データ処理制御手段は、
前記入力されたデータを受信する第１受信手段と、
前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼手段と
を含み、
前記複数の第１分散データ処理部の各々は、
前記依頼により、前記入力されたデータを分析する分析手段と、
前記分析手段による分析結果に基づいて、前記入力されたデータが処理されるべき環境を判別する判別手段と、
前記判別手段による判別結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、
前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段と
を含み、
前記複数の第２の処理システムのうち、前記判別された環境を示す環境情報に対応づけて前記格納手段に格納されている処理システム情報によって示される第２の処理システムは、第２の分散データ処理制御手段及び複数の第２分散データ処理部を備え、
前記第２の分散データ処理制御手段は、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記入力されたデータを受信する第２受信手段と、
前記複数の第２分散データ処理部の各々の負荷状況に基づいて、前記第２受信手段により受信されたデータの処理を、前記複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼手段と
を含み、
前記いずれかの第２分散データ処理部は、前記第２依頼手段からの依頼により、前記第２受信手段により受信されたデータを分散データ処理し、
前記入力手段は、文字列を含むデータを入力し、
前記分析手段は、前記入力されたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別手段は、前記抽出された文字列に基づいて前記入力されたデータが処理されるべき環境を判別し、
前記判定手段は、前記判別手段によって判別された環境が前記第１の処理システムが動作する環境である場合には、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定し、
前記複数の第１分散データ処理部の各々は、データ読み込み部を含み、
前記入力手段は、前記文字列を含む画像のデータを入力し、
前記データ読み込み部は、前記第１依頼手段からの依頼により、前記入力されたデータをテキストデータ化して読み込み、
前記分析手段は、前記読み込まれたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別手段は、前記抽出された文字列が数値計算以外の文字情報であり、当該文字列の出現頻度が閾値以上である場合に、前記入力されたデータが処理されるべき環境を文書処理に強い環境であると判別し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化装置。
【請求項４】
処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力する入力手段と、
前記分散データ処理するための第１の処理システムおよび複数の第２の処理システムであって、互いに異なる環境で動作する第１の処理システムおよび複数の第２の処理システムと、
前記複数の第２の処理システムの各々を示す処理システム情報に対応づけて当該第２の処理システムが動作する環境を示す環境情報を格納する格納手段と、
前記第１の処理システム又は前記複数の第２の処理システムのうちのいずれかの第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、
前記収集された処理結果データを前記外部に出力する出力手段と
を具備し、
前記第１の処理システムは、
第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、
前記第１の分散データ処理制御手段は、
前記入力されたデータを受信する第１受信手段と、
前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼手段と
を含み、
前記複数の第１分散データ処理部の各々は、
前記依頼により、前記入力されたデータを分析する分析手段と、
前記分析手段による分析結果に基づいて、前記入力されたデータが処理されるべき環境を判別する判別手段と、
前記判別手段による判別結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、
前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段と
を含み、
前記複数の第２の処理システムのうち、前記判別された環境を示す環境情報に対応づけて前記格納手段に格納されている処理システム情報によって示される第２の処理システムは、第２の分散データ処理制御手段及び複数の第２分散データ処理部を備え、
前記第２の分散データ処理制御手段は、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記入力されたデータを受信する第２受信手段と、
前記複数の第２分散データ処理部の各々の負荷状況に基づいて、前記第２受信手段により受信されたデータの処理を、前記複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼手段と
を含み、
前記いずれかの第２分散データ処理部は、前記第２依頼手段からの依頼により、前記第２受信手段により受信されたデータを分散データ処理し、
前記入力手段は、画像情報を含むデータを入力し、
前記分析手段は、前記入力されたデータを解析することによって、当該データに含まれる画像情報を抽出し、
前記判別手段は、前記抽出された画像情報に基づいて前記入力されたデータが処理されるべき環境を画像処理に強い環境であると判別し、
前記判定手段は、前記判別手段によって判別された環境が前記第１の処理システムが動作する環境である場合には、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化装置。
【請求項５】
入力手段と、互いに異なる環境で動作する第１および第２の処理システムと、前記第１の処理システム又は前記第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、前記収集された処理結果データを前記外部に出力する出力手段とを備える分散データ処理最適化装置であり、前記第１の処理システムが第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、前記複数の第１分散データ処理部の各々がデータ読み込み部を含み、前記第２の処理システムが第２の分散データ処理制御手段及び複数の第２分散データ処理部を備える前記分散データ処理最適化装置が実行する分散データ処理最適化方法であって、
前記入力手段が、処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力するステップと、
前記第１の分散データ処理制御手段が、前記入力されたデータを受信する第１受信ステップと、
前記第１の分散データ処理制御手段が、前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼ステップと、
前記依頼された第１分散データ処理部が、前記入力されたデータを分析するステップと、
前記依頼された第１分散データ処理部が、前記分析結果に基づいて、前記入力されたデータを当該第１の処理システムにおいて処理すべきかを判定するステップと、
前記入力されたデータを当該第１の処理システムにおいて処理すべきと判定された場合、前記依頼された第１分散データ処理部が、当該データを分散データ処理するステップと、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記第２の分散データ処理制御手段が、前記入力されたデータを受信する第２受信ステップと、
前記第２の分散データ処理制御手段が、前記複数の第２分散データ処理部の各々の負荷状況に基づいて、当該第２受信ステップにより受信されたデータの処理を、前記複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼ステップと、
前記第２依頼ステップにより依頼された第２分散データ処理部が、前記第２受信ステップにより受信されたデータを分散データ処理するステップと、
前記収集手段が、前記第１の処理システム又は前記第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集するステップと、
前記出力手段が、前記収集された処理結果データを前記外部に出力するステップと
を具備し、
前記入力するステップは、文字列を含むデータを入力し、
前記分析するステップは、前記入力されたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判定するステップは、前記抽出された文字列の中に、予め定められた文字列が含まれているかを判定することによって、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定し、
前記入力するステップは、前記文字列を含む画像のデータを入力し、
前記データ読み込み部は、前記第１依頼ステップからの依頼により、前記入力されたデータをテキストデータ化して読み込み、
前記分析するステップは、前記読み込まれたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化方法。
【請求項６】
入力手段と、互いに異なる環境で動作する第１の処理システムおよび複数の第２の処理システムであり、前記第１の処理システムが第１の分散データ処理制御手段及び複数の第１分散データ処理部を備え、前記複数の第１分散データ処理部の各々がデータ読み込み部を含み、前記複数の第２の処理システムの各々が第２の分散データ処理制御手段及び複数の第２分散データ処理部を備える、前記第１の処理システムおよび複数の第２の処理システムと、前記複数の第２の処理システムの各々を示す処理システム情報に対応づけて当該第２の処理システムが動作する環境を示す環境情報を格納する格納手段と、前記第１の処理システム又は前記複数の第２の処理システムのうちのいずれかの第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集する収集手段と、前記収集された処理結果データを前記外部に出力する出力手段とを備える分散データ処理最適化装置が実行する分散データ処理最適化方法であって、
前記入力手段が、処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力するステップと、
前記第１の分散データ処理制御手段が、前記入力されたデータを受信する第１受信ステップと、
前記第１の分散データ処理制御手段が、前記複数の第１分散データ処理部の各々の負荷状況に基づいて、当該受信されたデータの処理を、前記複数の第１分散データ処理部のうちのいずれかの第１分散データ処理部に依頼する第１依頼ステップと、
前記依頼された第１分散データ処理部が、前記入力されたデータを分析するステップと、
前記依頼された第１分散データ処理部が、前記分析結果に基づいて、前記入力されたデータが処理されるべき環境を判別するステップと、
前記依頼された第１分散データ処理部が、前記判別結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定するステップと、
前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、前記依頼された第１分散データ処理部が、当該データを分散データ処理するステップと、
前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、前記複数の第２の処理システムのうちの前記判別された環境を示す環境情報に対応づけて前記格納手段に格納されている処理システム情報によって示される第２の処理システム内の前記第２の分散データ処理制御手段が、前記入力されたデータを受信する第２受信ステップと、
当該第２の分散データ処理制御手段が、当該第２の処理システム内の前記複数の第２分散データ処理部の各々の負荷状況に基づいて、当該第２受信ステップにより受信されたデータの処理を、当該複数の第２分散データ処理部のうちのいずれかの第２分散データ処理部に依頼する第２依頼ステップと、
前記第２依頼ステップにより依頼された第２分散データ処理部が、前記第２受信ステップにより受信されたデータを分散データ処理するステップと、
前記収集手段が、前記第１の処理システム又は前記複数の第２の処理システムのうちのいずれかの第２の処理システムにおいて前記分散データ処理された結果を示す処理結果データを収集するステップと、
前記出力手段が、前記収集された処理結果データを前記外部に出力するステップと
を具備し、
前記入力するステップが、文字列を含むデータを入力した場合には、
前記分析するステップは、前記入力されたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別するステップは、前記抽出された文字列に基づいて前記入力されたデータが処理されるべき環境を判別し、
前記判定するステップは、前記判別するステップによって判別された環境が前記第１の処理システムが動作する環境である場合には、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定し、
前記入力するステップが、前記文字列を含む画像のデータを入力した場合には、
前記データ読み込み部が、前記第１依頼ステップからの依頼により、前記入力されたデータをテキストデータ化して読み込み、
前記分析するステップは、前記読み込まれたデータを解析することによって、当該データに含まれる文字列を抽出し、
前記判別するステップは、前記抽出された文字列が数値計算以外の文字情報であり、当該文字列の出現頻度が閾値以上である場合に、前記入力されたデータが処理されるべき環境を文書処理に強い環境であると判別し、
前記第１の処理システムが動作する環境は、外部にデータを出すことができないプライベート環境であり、
前記第２の処理システムが動作する環境は、外部にデータを出すことができるパブリック環境である
ことを特徴とする分散データ処理最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理すべき大規模なデータを分散して処理する分散データ処理を実行する分散データ処理最適化装置および分散データ処理最適化方法に関する。
【背景技術】
【０００２】
近年、例えばApache Hadoopに代表されるように、分散データ処理（分散処理）への関心およびニーズが高まっている。分散データ処理においては、処理すべき大規模なデータが複数のデータ処理部において分散して処理される。
【０００３】
この分散データ処理によれば、処理すべき大規模なデータの処理が複数のデータ処理部で実行されるため、１つのデータ処理部のみで当該処理が実行される場合と比較して、高速な処理が可能となる。
【０００４】
分散データ処理に関連する技術として、大量のデータを多面的に分析するデータマイニングなどのデータ分析処理を複数の処理装置を並列に動作させて実行する場合に、分析対象データの転送量、転送回数を少なく抑え、かつ、各々の処理装置において必要となる主記憶の量を少なく抑えることができる技術（以下、先行技術と表記）が開示されている（例えば、特許文献１を参照）。この先行技術によれば、大量データ分析方法に適するように設計されたデータ格納方法を特に必要としないので、一般のデータベースシステムに格納されたデータを分析対象とすることができる。
【０００５】
ところで、分散データ処理を実行するシステム（装置）において、上記した複数のデータ処理部を有する処理システムが複数備えられている場合がある。この場合、複数の処理システムは、例えば互いに異なる環境（分散環境）で動作する。換言すれば、このような複数の処理システムの各々が動作する分散環境について、色々な区分けが存在する。この分散環境の区分けとしては、例えば外部にはデータを出すことができないプライベート環境および外部にデータを出すことができるパブリック環境のような区分けが存在する。また、例えば高度な数値計算用の環境および画像処理用の環境のような区分けが存在する。
【０００６】
このような区分けが存在する分散環境における処理（つまり、当該分散環境で動作する処理システムにおける処理）において、当該処理システムが請け負うべきデータがどのようなデータであるかという情報（区分けの情報）が予め用意されていない場合には、処理の対象となるデータ（以下、処理対象データと表記）が適切な処理システムで処理されない場合がある。
【０００７】
ここで、上記したように例えばプライベート環境で動作する処理システム（以下、第１の処理システムと表記）およびパブリック環境で動作する処理システム（以下、第２の処理システムと表記）が存在する場合において、処理対象データが外部に出すことができないデータである場合を想定する。この場合において、第１および第２の処理システムがどのような分散環境で動作するかという情報（区分けの情報）が予め用意されていない場合には、処理対象データが第１の処理システムで処理されるべきであることを判定（決定）することはできない。
【０００８】
また、区分けの情報が予め用意されている場合であっても、処理対象データが処理されるべき分散環境（つまり、当該処理対象データがどの処理システムで処理されるべきか）を決定する処理（区分けの処理）が重い場合には、当該処理に長時間を要する場合がある。
【０００９】
そこで、処理対象データが処理されるべき分散環境を分析して決定する処理（以下、処理対象データの分析処理と表記）を高速にするために、当該処理対象データの分析処理を分散して処理（つまり、分散データ処理）することが考えられる。この場合、処理対象データの分析処理が分散データ処理され、その後、当該処理対象データの分析処理において決定された分散環境で動作する処理システムにおいて当該処理対象データが分散データ処理される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−１６７０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、処理対象データの分析処理を分散データ処理すると、上記したように当該処理対象データの分析処理および当該処理対象データ自体の処理（以下、処理対象データの本処理と表記）の両方が分散データ処理されることになる。
【００１２】
この場合、分散データ処理において必要となる前処理（例えば、分散環境における負荷確認またはデータ処理部に対する処理の依頼等）および後処理（例えば、処理結果データの収集等）が、処理対象データの分析処理および処理対象データの本処理における分散データ処理毎に必要となるため、より高速な処理が必要であるような場合においてはこれらの前処理および後処理が足かせとなる場合がある。
【００１３】
そこで、本発明の目的は、異なる環境で動作する複数の処理システムが存在する場合であっても高速に適切な処理システムにおいて分散データ処理することが可能な分散データ処理最適化装置および分散データ処理最適化方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の第１の態様によれば、処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを外部から入力する入力手段と、前記分散データ処理するための第１および第２の処理システムであって、互いに異なる環境で動作する第１および第２の処理システムとを具備し、前記第１の処理システムは、前記入力されたデータを分析する分析手段と、前記分析手段による分析結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段とを含み、前記第２の処理システムは、前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、当該データを分散データ処理することを特徴とする分散データ処理最適化装置が提供される。
【００１５】
本発明の第２の態様によれば、処理すべきデータを分散して処理する分散データ処理の基本単位とされるデータを入力する入力手段と、前記分散データ処理するための第１の処理システムおよび複数の第２の処理システムであって、互いに異なる環境で動作する第１の処理システムおよび複数の第２の処理システムと、前記複数の第２の処理システムの各々を示す処理システム情報に対応づけて当該第２の処理システムが動作する環境を示す環境情報を格納する格納手段とを具備し、前記第１の処理システムは、前記入力されたデータを分析する分析手段と、前記分析手段による分析結果に基づいて、前記入力されたデータが処理されるべき環境を判別する判別手段と、前記判別手段による判別結果に基づいて、前記入力されたデータを前記第１の処理システムにおいて処理すべきかを判定する判定手段と、前記入力されたデータを前記第１の処理システムにおいて処理すべきと判定された場合、当該データを分散データ処理する分散データ処理手段とを含み、前記複数の第２の処理システムのうち、前記判別された環境を示す環境情報に対応づけて前記格納手段に格納されている処理システム情報によって示される第２の処理システムは、前記入力されたデータを前記第１の処理システムにおいて処理すべきでないと判定された場合、当該データを分散データ処理することを特徴とする分散データ処理最適化装置が提供される。
【発明の効果】
【００１６】
本発明は、異なる環境で動作する複数の処理システムが存在する場合であっても高速に適切な処理システムにおいて分散データ処理することを可能とする。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る分散データ処理最適化装置の主として機能構成を示すブロック図。
【図２】図１に示す接続処理部１０に含まれる処理システム情報ＤＢ１３のデータ構造の一例を示す図。
【図３】本実施形態に係る分散データ処理最適化装置の処理手順を示すフローチャート。
【図４】本発明の第２の実施形態に係る分散データ処理最適化装置の主として機能構成を示すブロック図。
【図５】図４に示す接続処理部５０に含まれる処理システム情報ＤＢ５１のデータ構造の一例を示す図。
【図６】本実施形態に係る分散データ処理最適化装置の処理手順を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の各実施形態について説明する。
【００１９】
［第１の実施形態］
まず、図１を参照して、本発明の第１の実施形態について説明する。図１は、本実施形態に係る分散データ処理最適化装置の主として機能構成を示すブロック図である。
【００２０】
本実施形態に係る分散データ処理最適化装置においては、後述するように、処理すべき大規模なデータを分散して処理する分散データ処理が実行される。
【００２１】
図１に示すように、分散データ処理最適化装置は、接続処理部１０および上記した分散データ処理するための複数の処理システムを備える。図１に示す分散データ処理最適化装置においては、複数の処理システムとして第１の処理システム２０および第２の処理システム３０が備えられている。
【００２２】
ここで、本実施形態に係る分散データ処理最適化装置に備えられる第１の処理システム２０および第２の処理システム３０は、互いに異なる環境（分散環境）で動作するものとする。具体的には、第１の処理システム２０は例えば外部にはデータを出すことができないプライベート環境で動作し、第２の処理システム３０は例えば外部にデータを出すことができるパブリック環境で動作するものとする。なお、プライベート環境は、例えばクラウドコンピューティングにおけるプライベートクラウド上の環境であり、パブリック環境は、例えばパブリッククラウド上の環境である。
【００２３】
本実施形態においては、分散データ処理最適化装置に備えられる処理システムの各々（第１の処理システム２０および第２の処理システム３０）が動作する環境のうち処理されるべき適切な環境が不明なデータが分散データ処理される場合を想定している。
【００２４】
接続処理部１０は、分散データ処理最適化装置において実行される分散データ処理の基本単位とされるデータの各々を外部から順次入力し、第１の処理システム２０または第２の処理システム３０において当該データが分散データ処理された結果を外部に出力する機能を有する。
【００２５】
接続処理部１０は、内部番号付与部１１、データ送出部１２、処理システム情報データベース（ＤＢ）１３、判定情報処理部１４および結果データ収集部１５を含む。
【００２６】
内部番号付与部１１は、接続処理部１０によって入力されたデータ（以下、入力データと表記）毎に、分散データ処理最適化装置において使用する番号（以下、内部番号と表記）を付与する。入力データ毎に付与される内部番号は、当該入力データ毎に発番され、当該入力データを一意に識別可能な番号である。
【００２７】
データ送出部１２は、内部番号付与部１１によって内部番号が付与された入力データを第１の処理システム２０に送信（送出）する。このとき、データ送出部１２は、内部番号付与部１１によって内部番号が付与された入力データの複製（レプリカ）を、当該データ送出部１２の内部に保存する。なお、入力データの複製は、当該入力データに付与された内部番号とともに保存される。
【００２８】
また、データ送出部１２は、内部に保存された入力データの複製を第２の処理システム３０に送信する機能を有する。
【００２９】
処理システム情報ＤＢ１３は、第１の処理システム２０および第２の処理システム３０に関する情報が格納されるデータベースである。処理システム情報ＤＢ１３には、第１の処理システム２０を示す処理システム情報に対応づけて当該第１の処理システム２０に割り当てられているＩＰ（Internet Protocol）アドレスが格納されている。同様に、処理システム情報ＤＢ１３には、第２の処理システム３０を示す処理システム情報に対応づけて当該第２の処理システム３０に割り当てられているＩＰアドレスが格納されている。
【００３０】
判定情報処理部１４は、後述する第１の処理システム２０から送信された情報に基づいて、例えば第２の処理システム３０に割り当てられているＩＰアドレスを処理システム情報ＤＢ１３から取得する。また、判定情報処理部１４は、処理システム情報ＤＢ１３から取得されたＩＰアドレスを、データ送出部１２に渡す（通知する）。このＩＰアドレスは、データ送出部１２が入力データ（の複製）を第２の処理システム３０に送信する際に用いられる。
【００３１】
結果データ収集部１５は、第１の処理システム２０および第２の処理システム３０において入力データが分散データ処理された結果（以下、処理結果データと表記）を収集する。また、結果データ収集部１５は、収集された処理結果データを分散データ処理最適化装置の外部に出力する。
【００３２】
第１の処理システム２０は、分散データ処理制御部２１および分散データ処理部２２を含む。なお、図１においては省略されているが、分散データ処理部２２は、複数存在する。つまり、処理すべき大規模なデータは、複数の分散データ処理部２２において分散して処理（つまり、分散データ処理）される。
【００３３】
分散データ処理制御部２１は、接続処理部１０に含まれるデータ送出部１２によって送信された入力データを受信する。分散データ処理制御部２１は、複数の分散データ処理部２２の各々の負荷状況を勘案し、受信された入力データに対する処理（分散データ処理）を分散データ処理部２２に依頼する。
【００３４】
分散データ処理部２２は、データ読み込み部２３、データ分析部２４および本処理部２５を含む。
【００３５】
データ読み込み部２３は、分散データ処理制御部２１によって分散データ処理が依頼された入力データを読み込む。
【００３６】
データ分析部２４は、データ読み込み部２３によって読み込まれた入力データを分析する。また、データ分析部２４は、判定部２４１および処理呼び出し部２４２を含む。
【００３７】
判定部２４１は、データ分析部２４による分析結果に基づいて、データ読み込み部２３によって読み込まれた入力データを第１の処理システム２０において処理すべきか否か（の区分け）を判定する。
【００３８】
判定部２４１は、入力データを第１の処理システム２０において処理すべきと判定された場合、当該入力データを処理呼び出し部２４２に渡す。
【００３９】
判定部２４１は、入力データを第１の処理システム２０において処理すべきでないと判定された場合、当該判定結果および当該入力データに付与されている内部番号（の情報）を接続処理部１０に含まれる判定情報処理部１４に送信する。
【００４０】
処理呼び出し部２４２は、判定部２４１から渡された入力データを用いて、本処理部２５を呼び出す。
【００４１】
本処理部２５は、入力データに対する分散データ処理を実行する。また、本処理部２５は、入力データが分散データ処理された結果（処理結果データ）を、分散データ処理制御部２１を介して接続処理部１０に含まれる結果データ収集部１５に送信する。
【００４２】
第２の処理システム３０は、分散データ処理制御部３１および分散データ処理部３２を含む。なお、図１においては省略されているが、分散データ処理部３２は、上記した第１の処理システム２０に含まれる分散データ処理部２２と同様に複数存在する。
【００４３】
分散データ処理制御部３１は、上記した第１の処理システム２０に含まれる分散データ処理制御部２１と同様の機能を有する機能部である。
【００４４】
分散データ処理部３２は、データ読み込み部３３および本処理部３４を含む。データ読み込み部３３は、上記した第１の処理システム２０の分散データ処理部２２に含まれるデータ読み込み部２３と同様の機能を有する機能部である。また、本処理部３４は、上記した第１の処理システム２０に含まれる分散データ処理部２２に含まれる本処理部２５と同様の機能を有する機能部である。
【００４５】
図２は、図１に示す接続処理部１０に含まれる処理システム情報ＤＢ１３のデータ構造の一例を示す。処理システム情報ＤＢ１３には、処理システム（第１の処理システム２０および第２の処理システム３０）毎に、当該処理システムに関する情報が格納される。
【００４６】
図２に示すように、処理ステム情報ＤＢ１３には、処理システムＩＤ、処理システム名およびＩＰアドレスが対応づけて格納されている。
【００４７】
処理システムＩＤは、処理システムを識別するための識別子である。処理システム名は、処理システムＩＤによって識別される処理システムの名称である。ＩＰアドレスは、処理システムＩＤによって識別される処理システムに割り当てられているＩＰアドレスである。
【００４８】
図２に示す例では、処理システム情報ＤＢ１３には、処理システムＩＤ「Ｋ００１」、処理システム名「第１の処理システム」およびＩＰアドレス「１７２．２６．ｘｘｘ．ｘｘｘ」が対応づけて格納されている。これによれば、処理システムＩＤ「Ｋ００１」によって識別される処理システム（ここでは、第１の処理システム２０）の処理システム名は「第１の処理システム」であり、当該第１の処理システム２０に割り当てられているＩＰアドレスが「１７２．２６．ｘｘｘ．ｘｘｘ」であることが示されている。
【００４９】
また、処理システム情報ＤＢ１３には、処理システムＩＤ「Ｋ００２」、処理システム名「第２の処理システム」およびＩＰアドレス「１７２．２６．ｙｙｙ．ｙｙｙ」が対応づけて格納されている。これによれば、処理システムＩＤ「Ｋ００２」によって識別される処理システム（ここでは、第２の処理システム３０）の処理システム名は「第２の処理システム」であり、当該第２の処理システム３０に割り当てられているＩＰアドレスが「１７２．２６．ｙｙｙ．ｙｙｙ」であることが示されている。
【００５０】
次に、図３のフローチャートを参照して、本実施形態に係る分散データ処理最適化装置の処理手順について説明する。
【００５１】
まず、接続処理部１０は、処理すべき大規模なデータを分散して処理する分散データ処理の基本単位とされるデータを分散データ処理最適化装置の外部から入力する（ステップＳ１）。接続処理部１０によって入力されるデータには、例えば文字列が含まれる。
【００５２】
ここでは、接続処理部１０は、例えばグループ会社内で書かれたＰＤＦファイル形式の調査報告書（データ）を入力するものとする。なお、分散データ処理最適化装置においては、接続処理部１０によって入力されたデータに対する分散データ処理として例えば調査報告書の文書分類処理が行われるものとする。以下、接続処理部１０によって入力されたデータを入力データとする。
【００５３】
次に、接続処理部１０に含まれる内部番号付与部１１は、接続処理部１０によってデータが入力されると、ユニークな内部番号を発番する。内部番号付与部１１は、内部番号として例えばＤ００００１を発番する。内部番号付与部１１は、入力データに対して発番された内部番号を付与する（ステップＳ２）。なお、内部番号付与部１１によって内部番号が付与された入力データは、データ送出部１２に渡される。
【００５４】
データ送出部１２は、内部番号が付与された入力データを内部番号付与部１１から受け取ると、当該入力データの複製（レプリカ）を当該データ送出部１２の内部に保存する（ステップＳ３）。このとき、データ送出部１２は、入力データに付与された内部番号に対応づけて当該入力データの複製を保存する。
【００５５】
また、データ送出部１２は、内部番号が付与された入力データを第１の処理システム２０に対して送信する。このとき、データ送出部１２は、例えば第１の処理システム２０を識別するための処理システムＩＤに対応づけて処理システム情報ＤＢ１３に格納されているＩＰアドレス（つまり、第１の処理システム２０に割り当てられているＩＰアドレス）を用いて入力データを送信する。
【００５６】
第１の処理システム２０に含まれる分散データ処理制御部２１は、データ送出部１２によって送信された入力データ（内部番号が付与された入力データ）を受信する。分散データ処理制御部２１は、第１の処理システム２０に含まれる分散データ処理部（つまり、当該分散データ処理制御部２１が管轄している分散データ処理部）２２の各々の負荷状況を確認し、受信された入力データを処理するのに適切な分散データ処理部２２に対して当該入力データの処理（分散データ処理）を手配する（ステップＳ４）。つまり、分散データ処理制御部２１は、受信された入力データの処理を適切な分散データ処理部２２に割り当てる処理を実行する。
【００５７】
分散データ処理制御部２１によって入力データの処理が手配された分散データ処理部２２に含まれるデータ読み込み部２３は、当該入力データを読み込む（ステップＳ５）。ここでは、入力データはＰＤＦファイル形式の調査報告書であるため、データ読み込み部２３は、例えば当該入力データ（ＰＤＦデータ）のテキストデータ化を実行する。
【００５８】
次に、データ分析部２４は、データ読み込み部２３によって読み込まれた入力データを分析することによって、当該入力データのチェックを行う（ステップＳ６）。この場合、データ分析部２４は、データ読み込み部２３によってテキストデータ化された入力データを解析（文字列解析）する。これによって、データ分析部２４は、入力データに含まれる文字列を抽出する。
【００５９】
データ分析部２４に含まれる判定部２４１は、データ分析部２４による分析結果（解析結果）に基づいて、入力データを第１の処理システム２０において処理すべきであるか否か（つまり、入力データを自ら処理すべきか否か）を判定する（ステップＳ７）。換言すれば、このステップＳ７の処理において、入力データが第１の処理システム２０が動作する環境（ここでは、プライベート環境）において処理されるべきか、または、第２の処理システム３０が動作する環境（ここでは、パブリック環境）において処理されるべきかの区分けが決定される。
【００６０】
具体的には、判定部２４１は、データ分析部２４によって抽出された文字列（入力データに含まれる文字列）の中に、例えば「社外秘」のような予め定められた（登録された）文字列が存在するか（含まれるか）否かを判定する。換言すれば、判定部２４１は、テキストデータ化された入力データから「社外秘」の文字列がデータ分析部２４によって抽出（検索）されたか否かを判定する。
【００６１】
データ分析部２４によって抽出された文字列の中に予め定められた文字列「社外秘」が存在する（含まれる）場合には、判定部２４１は、入力データは外部に出すことができないとして、当該入力データを第１の処理システム２０（が動作するプライベート環境）において処理すべきであると判定する。一方、データ分析部２４によって抽出された文字列の中に予め定められた文字列「社外秘」が存在しない（含まれない）場合には、判定部２４１は、入力データは外部に出すことができるとして、当該入力データを第１の処理システム２０において処理すべきでない（つまり、第２の処理システム３０が動作するパブリック環境において処理すべきである）と判定する。
【００６２】
入力データを第１の処理システム２０において処理すべきでない、つまり、入力データを自ら処理すべきでないと判定された場合（ステップＳ７のＮＯ）、判定部２４１は、当該入力データに付与されている内部番号および当該判定結果（ステップＳ７における判定結果）を接続処理部１０に含まれる判定情報処理部１４に対して送信する（ステップＳ８）。
【００６３】
具体的には、判定部２４１は、入力データに付与されている内部番号として例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１」を送信する。また、判定部２４１は、判定結果として、入力データを第１の処理システム２０において処理すべきでない旨を意味する例えばキーバリュー形式の「非該当環境＝第１の処理システム２０が動作するプライベート環境」という情報を生成し、送信する。
【００６４】
また、判定部２４１は、分散データ処理制御部２１において、分散データ処理部２２に対して処理を依頼した入力データと当該入力データに対する分散データ処理の結果（データ）との数を合わせるために、当該入力データに対する分散データ処理の結果としての空データ（ｎｕｌｌデータ）を分散データ処理制御部２１に返す（ステップＳ９）。
【００６５】
次に、接続処理部１０に含まれる判定情報処理部１４は、判定部２４１によって送信された内部番号および判定結果を受信する。この場合、判定情報処理部１４は、例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１（内部番号）  非該当環境＝第１の処理システム２０が動作するプライベート環境（判定結果）」という情報を受信する。
【００６６】
判定情報処理部１４は、内部番号および判定結果が受信されると、第１の処理システム２０でない処理システム（つまり、第２の処理システム３０）に入力データを送信するための指示処理を開始する。
【００６７】
この場合、判定情報処理部１４は、第２の処理システム３０に割り当てられているＩＰアドレスを入力データの送り先情報として処理システム情報ＤＢ１３から取得する（ステップＳ１０）。この場合、判定情報処理部１４は、第２の処理システム３０を識別するための処理システムＩＤ「Ｋ００２」（および当該第２の処理システム３０の処理システム名「第２の処理システム」）に対応づけて処理システム情報ＤＢ１３に格納されているＩＰアドレス「１７２．２６．ｙｙｙ．ｙｙｙ」を取得する。
【００６８】
なお、判定情報処理部１４は、受信された内部番号および判定結果と取得されたＩＰアドレスとをデータ送出部１２に渡す。この場合、判定情報処理部１４は、例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１（内部番号）  非該当環境＝第１の処理システム２０が動作するプライベート環境（判定結果）  実行予定環境＝第２の処理システム３０が動作するパブリック環境、１７２．２６．ｙｙｙ．ｙｙｙ（ＩＰアドレス）」という情報（データ）をデータ送出部１２に渡す。
【００６９】
データ送出部１２は、判定情報処理部１４から渡された内部番号に対応づけて当該データ送出部１２の内部に保存されている入力データ（の複製）を第２の処理システム３０に対して送信する（ステップＳ１１）。この場合、データ送出部１２は、判定情報処理部１４から渡されたＩＰアドレス（第２の処理システム３０に割り当てられているＩＰアドレス）を用いて入力データを送信する。
【００７０】
第２の処理システム３０に含まれる分散データ処理制御部３１は、データ送出部１２によって送信された入力データを受信する。分散データ処理制御部３１は、第２の処理システム３０に含まれる分散データ処理部（つまり、当該分散データ処理制御部３１が管轄している分散データ処理部）３２の各々の負荷状況を確認し、受信された入力データを処理するのに適切な分散データ処理部３２に対して当該入力データの処理（分散データ処理）を手配する。つまり、分散データ処理制御部３１は、上記した第１の処理システム２０に含まれる分散データ処理制御部２１と同様に、受信された入力データの処理を適切な分散データ処理部３２に割り当てる処理を実行する。
【００７１】
分散データ処理制御部３１によって入力データの処理が手配された分散データ処理部３２に含まれるデータ読み込み部３３は、当該入力データを読み込む（ステップＳ１２）。
【００７２】
次に、本処理部３４は、データ読み込み部３３によって読み込まれた入力データに対する分散データ処理を実行する（ステップＳ１３）。ここでは、本処理部３４は、入力データに対する分散データ処理として調査報告書の文書分類処理を実行する。
【００７３】
本処理部３４は、入力データが分散データ処理された結果（処理結果データ）を、分散データ処理制御部３１を介して接続処理部１０に対して送信する。
【００７４】
接続処理部１０に含まれる結果データ収集部１５は、本処理部３４によって送信された処理結果データを収集する（ステップＳ１４）。
【００７５】
また、結果データ収集部１５は、収集された処理結果データを外部に出力する（ステップＳ１５）。
【００７６】
一方、上記したステップＳ７において、入力データを第１の処理システム２０において処理すべきである、つまり、入力データを自ら処理すべきであると判定された場合、データ分析部２４に含まれる処理呼び出し部２４２は、本処理部２５を呼び出す。
【００７７】
処理呼び出し部２４２によって呼び出された本処理部２５は、データ読み込み部２３によって読み込まれた入力データに対する分散データ処理を実行する（ステップＳ１６）。
【００７８】
本処理部２５は、入力データが分散データ処理された結果（処理結果データ）を、分散データ処理制御部２１を介して接続処理部１０に対して送信する。
【００７９】
接続処理部１０に含まれる結果データ収集部１５は、本処理部２５によって送信された処理結果データを収集する（ステップＳ１７）。ステップＳ１７の処理が実行されると、上記したステップＳ１５の処理が実行される。
【００８０】
なお、上述した図３に示す処理は、接続処理部１０において順次入力されるデータ毎、つまり、分散データ処理最適化装置において実行される分散データ処理の基本単位とされるデータ毎に実行される。
【００８１】
上記したように本実施形態においては、外部から入力されたデータ（入力データ）が第１の処理システム２０において分析され、当該分析結果に基づいて当該入力データを第１の処理システム２０において処理すべきであるか否かが判定される。本実施形態においては、入力データを第１の処理システム２０において処理すべきであると判定された場合には当該入力データは当該第１の処理システム２０において分散データ処理され、一方、入力データを第１の処理システム２０において処理すべきでないと判定された場合には当該入力データは当該第１の処理システム２０ではない処理システム（ここでは、第２の処理システム３０）において分散データ処理される。
【００８２】
よって、本実施形態においては、例えば第１の処理システム２０に含まれる同一の分散データ処理部２２内において入力データが処理されるべき環境（の区分け）の判定処理および当該入力データの分散データ処理（本処理）が実行されることにより、異なる環境で動作する複数の処理システム（第１の処理システム２０および第２の処理システム３０）が存在する場合であっても高速に適切な処理システムにおいて入力データを分散データ処理することが可能となる。
【００８３】
また、本実施形態においては、例えば入力データが処理されるべき環境の判定処理（データ分析処理）を単に分散データ処理化した場合と比較して、当該分散データ処理における前処理および後処理の回数を低減することができるため、処理されるべき環境が不明（未知）の入力データであっても高速に処理することが可能となる。具体的には、本実施形態によれば、データ分析処理を分散データ処理化して分析結果を得た後に、データの本処理を分散データ処理化して処理結果を得る場合に比べても、例えば、プライベート環境およびパブリック環境の２つの分散環境で行われる場合では、３回の分散データ処理に関する前処理および後処理が２回で済む。
【００８４】
また、本実施形態においては、入力データが処理されるべき環境の判定処理が重い処理である場合には、より処理に必要な時間を短縮することができる。
【００８５】
なお、本実施形態においては、分散データ処理最適化装置に互いに異なる環境で動作する第１の処理システム２０および第２の処理システム３０の２つの処理システムが備えられ、第１の処理システム２０で分散データ処理されない入力データは全て第２の処理システム３０で分散データ処理されるものとして説明したが、分散データ処理最適化装置に３つ以上の処理システムが備えられる構成であっても構わない。
【００８６】
分散データ処理最適化装置に例えば３つの処理システム（例えば、第１〜第３の処理システム）が備えられている場合には、本実施形態における第１の処理システム２０の分散データ処理部２２に含まれるデータ分析部２４に相当する機能部が第１および第２の処理システムに含まれる。この場合において、第１の処理システムのデータ分析部（に含まれる判定部）において入力データが当該第１の処理システムにおいて処理すべきでないと判定された場合には、第２の処理システムのデータ分析部（に含まれる判定部）において入力データが第２の処理システムにおいて処理すべきであるか否かが判定される。つまり、第２の処理システムのデータ分析部において入力データが第２の処理システムにおいて処理すべきであると判定された場合には当該入力データは第２の処理システムにおいて分散データ処理され、一方、第２の処理システムのデータ分析部において入力データが第２の処理システムにおいて処理すべきでないと判定された場合には当該入力データは第３の処理システムにおいて分散データ処理されることになる。
【００８７】
なお、分散データ処理最適化装置に４つ以上の処理システムが備えられる場合についても同様である。
【００８８】
また、本実施形態においては、接続処理部１０によって入力されたデータ（入力データ）が分散データ処理の基本単位とされるデータであるものとして説明したが、例えば当該入力データが分散データ処理の基本単位に分割されていないデータであっても構わない。この場合、例えば第１の処理システム内の分散データ処理制御部２１において入力データが分散データ処理の基本単位に分割され、当該分割されたデータに対して内部番号が付与される。この内部番号は、分散データ処理制御部２１内に用意された内部番号付与部１１に相当する機能部で付与されてもよいし、接続処理部１０内の内部番号付与部１１で付与されても構わない。また、内部番号が付与されたデータのコピーは、データ送出部１２に送られる。なお、データ送出部１２に相当する機能部が第１の処理システム２０および第２の処理システム３０内にあって、接続情報処理部１４の判定情報処理部１４に問い合わせる構成であっても構わない。
【００８９】
［第２の実施形態］
次に、図４を参照して、本発明の第２の実施形態について説明する。図４は、本実施形態に係る分散データ処理最適化装置の主として機能構成を示すブロック図である。なお、前述した図１と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図１と異なる部分について主に述べる。
【００９０】
図４に示すように、本実施形態に係る分散データ処理最適化装置は、接続処理部５０および分散データ処理するための複数の処理システムを備える。なお、図４に示す分散データ処理最適化装置においては、複数の処理システムとして第１の処理システム６０、第２の処理システム３０および第３の処理システム７０が備えられている。
【００９１】
ここで、本実施形態に係る分散データ処理最適化装置に備えられる第１の処理システム６０、第２の処理システム３０および第３の処理システム７０は、前述した第１の実施形態と同様に、互いに異なる環境（分散環境）で動作するものとする。具体的には、第１の処理システム６０は、例えば画像処理に強い環境で動作するものとする。第２の処理システム３０は、例えば文書処理に強い環境で動作するものとする。また、第３の処理システム７０は、例えば数値計算処理に強い環境で動作するものとする。
【００９２】
接続処理部５０は、前述した第１の実施形態における処理システム情報ＤＢ１３および判定情報処理部１４に代えて、処理システム情報ＤＢ５１および判定情報処理部５２を含む。
【００９３】
処理システム情報ＤＢ５１は、第１の処理システム６０、第２の処理システム３０および第３の処理システム７０に関する情報が格納されるデータベースである。処理システム情報ＤＢ５１には、各処理システム（つまり、第１の処理システム６０、第２の処理システム３０および第３の処理システム７０）毎に、当該処理システムを示す処理システム情報、当該処理システムに割り当てられているＩＰアドレスおよび当該処理システムが動作する環境を示す環境情報が対応づけて格納されている。
【００９４】
判定情報処理部５２は、後述する第１の処理システム６０から送信された情報に基づいて、処理システム情報ＤＢ５１から入力データ（接続処理部５０によって入力された分散データ処理の基本単位とされるデータ）を送信すべき処理システムに割り当てられているＩＰアドレスを取得する。判定情報処理部５２は、処理システム情報ＤＢ５１から取得されたＩＰアドレスをデータ送出部１２に渡す（通知する）。
【００９５】
第１の処理システム６０は、分散データ処理部６１を含む。なお、図４においては省略されているが、分散データ処理部６１は、前述した第１の実施形態における分散データ処理部２２と同様に複数存在する。
【００９６】
分散データ処理部６１は、入力データを分散データ処理する機能を有する。分散データ処理部６１は、データ分析部６２を含む。
【００９７】
データ分析部６２は、前述した第１の実施形態におけるデータ分析部２４と同様に、データ読み込み部２３によって読み込まれた入力データを分析する機能を有する。データ分析部６２は、判定部６２１を含む。
【００９８】
判定部６２１は、データ分析部２４による分析結果に基づいて、データ読み込み部２３によって読み込まれた入力データが処理されるべき環境を判別する。
【００９９】
判定部６２１は、判別結果（判別された入力データが処理されるべき環境）に基づいて、データ読み込み部２３によって読み込まれた入力データを第１の処理システム６０において処理すべきか否かを判定する。つまり、判定部６２１は、入力データを第１の処理システム６０が動作する環境（画像処理に強い環境）において処理すべきか否かを判定する。
【０１００】
判定部６２１は、入力データを第１の処理システム６０において処理すべきでないと判定された場合、当該入力データを第１の処理システム６０において処理すべきでない旨の判定結果、当該入力データに付与されている内部番号および当該入力データが処理されるべき環境を示す判別結果（の情報）を接続処理部５０に含まれる判定情報処理部５２に送信する。
【０１０１】
第２の処理システム３０については、前述した第１の実施形態において説明した通りであるため、その詳しい説明を省略する。
【０１０２】
第３の処理システム７０は、分散データ処理制御部７１および分散データ処理部７２を含む。なお、図４においては省略されているが、分散データ処理部７２は、上記した第１の処理システム６０に含まれる分散データ処理部６１と同様に複数存在する。
【０１０３】
分散データ処理制御部７１は、前述した第１の実施形態において説明した分散データ処理制御部２１（前述した図１に示す第１の処理システム２０に含まれる分散データ処理制御部２１）と同様の機能を有する機能部である。
【０１０４】
分散データ処理部７２は、データ読み込み部７３および本処理部７４を含む。データ読み込み部７３は、前述した第１の実施形態において説明したデータ読み込み部２３（前述した図１に示す第１の処理システム２０の分散データ処理部２２に含まれるデータ読み込み部２３）と同様の機能を有する機能部である。また、本処理部７４は、前述した第１の実施形態において説明した本処理部２５（前述した図１に示す第１の処理システム２０の分散データ処理部２２に含まれる本処理部２５）と同様の機能を有する機能部である。
【０１０５】
図５は、図４に示す接続処理部５０に含まれる処理システム情報ＤＢ５１のデータ構造の一例を示す。処理システム情報ＤＢ５１には、処理システム（第１の処理システム６０、第２の処理システム３０および第３の処理システム７０）毎に、当該処理システムに関する情報が格納される。
【０１０６】
図５に示すように、処理システム情報ＤＢ５１には、処理システムＩＤ、処理システム名、ＩＰアドレスおよび環境情報が対応づけて格納されている。環境情報は、処理システムＩＤによって識別される処理システムが動作する環境を示す。
【０１０７】
図５に示す例では、処理システム情報ＤＢ５１には、処理システムＩＤ「Ｋ００１」、処理システム名「第１の処理システム」、ＩＰアドレス「１７２．２６．ｘｘｘ．ｘｘｘ」および環境情報「画像処理」が対応づけて格納されている。これによれば、処理システムＩＤ「Ｋ００１」によって識別される処理システム（ここでは、第１の処理システム６０）は、環境情報「画像処理」によって示される環境、つまり、画像処理に強い環境で動作することが示されている。
【０１０８】
また、処理システム情報ＤＢ５１には、処理システムＩＤ「Ｋ００２」、処理システム名「第２の処理システム」、ＩＰアドレス「１７２．２６．ｙｙｙ．ｙｙｙ」および環境情報「文書処理」が対応づけて格納されている。これによれば、処理システムＩＤ「Ｋ００２」によって識別される処理システム（ここでは、第２の処理システム３０）は、環境情報「文書処理」によって示される環境、つまり、文書処理に強い環境で動作することが示されている。
【０１０９】
更に、処理システム情報ＤＢ５１には、処理システムＩＤ「Ｋ００３」、処理システム名「第３の処理システム」、ＩＰアドレス「１７２．２６．ｚｚｚ．ｚｚｚ」および環境情報「数値計算処理」が対応づけて格納されている。これによれば、処理システムＩＤ「Ｋ００３」によって識別される処理システム（ここでは、第３の処理システム７０）は、環境情報「数値計算処理」によって示される環境、つまり、数値計算処理に強い環境で動作することが示されている。
【０１１０】
次に、図６のフローチャートを参照して、本実施形態に係る分散データ処理最適化装置の処理手順について説明する。
【０１１１】
まず、前述した図３に示すステップＳ１〜ステップＳ５に示す処理に相当するステップＳ２１〜ステップＳ２５に示す処理が実行される。なお、ステップＳ２１においては、接続処理部５０は、例えば電力会社グループにおける数値計算が必要な各地電力データシートを入力するものとする。つまり、分散データ処理最適化装置においては、接続処理部５０によって入力されたデータに対する分散データ処理として電力会社グループにおける数値計算が必要な各地電力データシートの処理が行われるものとする。以下、接続処理部５０によって入力されたデータを入力データとする。
【０１１２】
次に、第１の処理システム６０の分散データ処理部６１に含まれるデータ分析部６２は、データ読み込み部２３によって読み込まれた入力データを分析することによって、当該入力データのチェックを行う（ステップＳ２６）。この場合、データ分析部６２は、データ読み込み部２３によって読み込まれた入力データを解析することによって、例えば当該入力データに含まれる文字列等を抽出する。データ分析部６２は、例えば積分計算または大量の掛け算等の高度な数値計算の文字情報（文字列）が入力データに含まれている場合には、当該数値計算の文字情報を抽出する。また、データ分析部６２は、例えば画像情報が入力データに含まれている場合には、当該画像情報を抽出する。
【０１１３】
データ分析部６２に含まれる判定部６２１は、データ分析部２４による分析結果（解析結果）に基づいて、入力データが処理されるべき環境を判別する（ステップＳ２７）。換言すれば、判定部６２１は、入力データの適合分野を判別する。
【０１１４】
例えば画像情報が入力データから抽出された場合には、判定部６２１は、当該入力データが処理されるべき環境は画像処理に強い環境であると判別する。
【０１１５】
また、例えば積分計算または大量の掛け算等の高度な数値計算の文字情報（文字列）が入力データから抽出（検索）された場合には、判定部６２１は、当該入力データが処理されるべき環境は数値計算処理に強い環境であると判別する。具体的には、データ分析部２４による分析結果（文字情報の抽出結果）において高度な数値計算の文字列の出現頻度が予め定められた値（閾値）以上である場合には、判定部６２１は、入力データが処理されるべき環境は数値計算処理に強い環境であると判別する。
【０１１６】
また、例えば数値計算以外の文字情報が入力データから抽出された場合（数値計算以外の文字情報の出現頻度が閾値以上である場合）には、判定部６２１は、当該入力データが処理されるべき環境は文書処理に強い環境であると判別する。
【０１１７】
上記したように、入力データが例えば電力会社グループにおける数値計算が必要な各地電力データシートであり、当該入力データから数値計算の文字情報が抽出された場合には、当該入力データが処理されるべき環境は数値計算処理に強い環境であると判別される。
【０１１８】
判定部６２１は、ステップＳ２７における判別結果（入力データが処理されるべき環境を示す判別結果）に基づいて、当該入力データを第１の処理システム６０において処理すべきであるか否か（つまり、入力データを自ら処理すべきか否か）を判定する（ステップＳ２８）。以下、ステップＳ２７における判別結果を単に判別結果と称する。
【０１１９】
ここで、第１の処理システム６０においては、例えば当該第１の処理システム６０が動作する環境（ここでは、画像処理に強い環境）を示す環境情報が予め保持されている。判定部６２１は、例えば判別結果（によって示される入力データが処理されるべき環境）と第１の処理システム６０において予め保持されている環境情報によって示される環境（つまり、第１の処理システム６０が動作する環境）とを比較する。
【０１２０】
判定部６２１は、比較された結果、判別結果と第１の処理システム６０において予め保持されている環境情報によって示される環境とが一致する（つまり、判別された入力データが処理されるべき環境が第１の処理システム６０が動作する環境である）場合には、入力データを第１の処理システム６０において処理すべきであると判定する。一方、判定部６２１は、比較された結果、判別結果と第１の処理システム６０において予め保持されている環境情報によって示される環境とが一致しない場合には、入力データを第１の処理システム６０において処理すべきでないと判定する。
【０１２１】
入力データを第１の処理システム６０において処理すべきでない、つまり、入力データを自ら処理すべきでないと判定された場合（ステップＳ２８のＮＯ）、判定部６２１は、当該入力データに付与されている内部番号、判別結果および当該ステップＳ２８における判定結果（の情報）を接続処理部５０に含まれる判定情報処理部５２に送信する（ステップＳ２９）。以下、ステップＳ２８における判定結果を単に判定結果と称する。
【０１２２】
具体的には、判定部６２１は、入力データに付与されている内部番号として例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１」を送信する。また、判定部６２１は、判別結果（によって示される入力データが処理されるべき環境）として例えばキーバリュー形式の「環境（分野）＝数値計算（処理）」という情報を生成し、送信する。更に、判定部６２１は、判定結果として、入力データを第１の処理システム６０において処理すべきでない旨を意味する例えばキーバリュー形式の「非該当環境＝第１の処理システム６０が動作する環境（画像処理に強い環境）」という情報を生成し、送信する。
【０１２３】
また、判定部６２１は、前述した図３に示すステップＳ９の処理と同様に、入力データに対する分散データ処理の結果としての空データ（ｎｕｌｌデータ）を分散データ処理制御部２１に返す（ステップＳ３０）。
【０１２４】
次に、接続処理部５０に含まれる判定情報処理部５２は、判定部６２１によって送信された内部番号、判別結果および判定結果を受信する。この場合、判定情報処理部５２は、例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１（内部番号）  環境＝数値計算（判別結果）  非該当環境＝第１の処理システム６０が動作する環境（判定結果）」という情報を受信する。
【０１２５】
判定情報処理部５２は、内部番号、判別結果および判定結果が受信されると、第１の処理システム６０でない処理システム（つまり、第２の処理システム３０または第３の処理システム７０）に入力データを送信するための指示処理を開始する。
【０１２６】
この場合、判定情報処理部５２は、受信された判別結果（ここでは、「環境＝数値計算」）および処理システム情報ＤＢ５１に格納されている環境情報に基づいて、入力データを処理すべき処理システムを特定する（ステップＳ３１）。判定情報処理部５２は、受信された判別結果によって示される環境（入力データが処理されるべき環境）を示す環境情報に対応づけて処理システム情報ＤＢ５１に格納されている処理システムＩＤ（および処理システム名）を特定する。換言すれば、判定情報処理部５２は、受信された判別結果によって示される環境を示す環境情報に対応づけて処理システム情報ＤＢ５１に格納されている処理システムＩＤによって識別される処理システムを、入力データを処理すべき処理システムとして特定する。
【０１２７】
ここでは、入力データが処理されるべき環境は数値計算に強い環境であるため、上述した図５に示す処理システム情報ＤＢ５１の例によれば、判定情報処理部５２は、当該数値計算に強い環境を示す環境情報「数値計算処理」に対応づけて処理システム情報ＤＢ５１に格納されている処理システムＩＤ「Ｋ００３」によって識別される処理システム（つまり、第３の処理システム７０）を、入力データを処理すべき処理システムとして特定する。
【０１２８】
判定情報処理部５２は、特定された処理システム（ここでは、第３の処理システム７０）に割り当てられているＩＰアドレスを処理システム情報ＤＢ５１から取得する（ステップＳ３２）。具体的には、判定情報処理部５２は、特定された第３の処理システム７０を識別するための処理システムＩＤ（および当該第３の処理システム７０の処理システム名）に対応づけて処理システム情報ＤＢ５１に格納されているＩＰアドレス「１７２．２６．ｚｚｚ．ｚｚｚ」を取得する。
【０１２９】
なお、判定情報処理部５２は、受信された内部番号、判別結果および判定結果と取得されたＩＰアドレスとをデータ送出部１２に渡す。この場合、判定情報処理部５２は、例えば「ＩＮＴＥＲＮＡＬ＿ＩＤ＝Ｄ００００１（内部番号）  環境＝数値計算（判別結果）  非該当環境＝第１の処理システム６０が動作する画像処理に強い環境（判定結果）  実行予定環境＝第３の処理システム７０が動作する環境、１７２．２６．ｚｚｚ．ｚｚｚ（ＩＰアドレス）」という情報（データ）をデータ送出部１２に渡す。
【０１３０】
次に、前述した図３に示すステップＳ１１〜ステップＳ１５の処理に相当するステップＳ３３〜ステップＳ３７の処理が実行される。
【０１３１】
一方、上記したステップＳ７において、入力データを第１の処理システム６０において処理すべきである、つまり、入力データを自ら処理すべきであると判定された場合、データ分析部６２に含まれる処理呼び出し部２４２は、本処理部２５を呼び出す。
【０１３２】
以下、前述した図３に示すステップＳ１６およびステップＳ１７の処理に相当するステップＳ３８およびステップＳ３９の処理が実行される。ステップＳ３９の処理が実行されると、ステップＳ３７の処理が実行される。
【０１３３】
なお、上述した図６に示す処理は、接続処理部５０において順次入力されるデータ毎、つまり、分散データ処理最適化装置において実行される分散データ処理の基本単位とされるデータ毎に実行される。
【０１３４】
上記したように本実施形態においては、外部から入力されたデータ（入力データ）が第１の処理システム６０において分析され、当該分析結果に基づいて当該入力データが処理されるべき環境が判別される。本実施形態においては、判別された環境に基づいて入力データを第１の処理システム６０において処理すべきであるか否かが判定される。本実施形態においては、入力データを第１の処理システム６０において処理すべきであると判定された場合には当該入力データは当該第１の処理システム６０において分散データ処理され、一方、入力データを第１の処理システム６０において処理すべきでないと判定された場合には当該入力データは上記判別された環境で動作する処理システム（例えば、第３の処理システム７０）において分散データ処理される。
【０１３５】
よって、本実施形態においては、例えば複数の処理システムの各々が動作する互いに得意な処理が異なる環境（例えば、画像処理に強い環境、文書処理に強い環境および数値処理に強い環境等）が混合しているような場合であっても、入力データの分析結果に基づいて当該入力データの適合分野（つまり、当該入力データを処理すべき環境）を特定することができるため、前述した第１の実施形態と比較してより高速にデータ処理を実行することが可能となる。
【０１３６】
なお、本実施形態においては、分散データ処理最適化装置に互いに異なる環境で動作する第１の処理システム６０、第２の処理システム３０および第３の処理システム７０が備えられるものとして説明したが、分散データ処理最適化装置には、４つ以上の処理システムが備えられていても構わない。
【０１３７】
また、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。  
【符号の説明】
【０１３８】
１０，５０…接続処理部（入力手段）、１１…内部番号付与部、１２…データ送出部、１３，５１…処理システム情報ＤＢ（格納手段）、１４，５２…判定情報処理部、１５…結果データ収集部、２０，６０…第１の処理システム、２１…分散データ処理制御部、２２，６１…分散データ処理部、２３…データ読み込み部、２４，６２…データ分析部、２５…本処理部、３０…第２の処理システム、３１…分散データ処理制御部、３２…分散データ処理部、３３…データ読み込み部、３４…本処理部、７０…第３の処理システム、７１…分散データ処理制御部、７２…分散データ処理部、７３…データ読み込み部、７４…本処理部、２４１，６２１…判定部、２４２…処理呼び出し部。
【図１】
0005534885.tif 000002
【図２】
0005534885.tif 000003
【図３】
0005534885.tif 000004
【図４】
0005534885.tif 000005
【図５】
0005534885.tif 000006
【図６】
0005534885.tif 000007