(57)【特許請求の範囲】
【請求項１】
一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムであって、
前記代表クライアント端末は、
前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、
前記クライアント端末のユーザの認証を行うユーザ認証手段と、
前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、
前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、
前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、
前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、
前記処理結果受信手段によって受信された処理結果を出力する出力手段と、
を備え、
前記分散処理クラスタは、
前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、
前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、
前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、
前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、
前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、
を備える、
ことを特徴とするマルチクラスタ分散処理制御システム。
【請求項２】
前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理される、
ことを特徴とする請求項１に記載のマルチクラスタ分散処理制御システム。
【請求項３】
前記入力手段は、前記ユーザ認証手段によって認証されたユーザの電子署名を受け付け、
前記コマンド送信手段は、前記入力手段によって受け付けられた電子署名を前記分散処理クラスタに送信し、
前記コマンド受信手段は、前記代表クライアント端末から電子署名を受信し、
前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名を認証する電子署名認証手段をさらに備え、
前記復号手段は、前記電子署名認証手段によって電子署名が認証された場合に、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する、
ことを特徴とする請求項１または２に記載のマルチクラスタ分散処理制御システム。
【請求項４】
前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名のログを格納するログ格納手段をさらに備える、
ことを特徴とする請求項３に記載のマルチクラスタ分散処理制御システム。
【請求項５】
前記格納手段によって格納された設定ファイルは、前記ユーザ認証手段によって認証された特定のユーザからのみ作成及び編集することができる、
ことを特徴とする請求項１〜４の何れか一項に記載のマルチクラスタ分散処理制御システム。
【請求項６】
一つ以上のクライアント端末から接続された代表クライアント端末であり、同一の処理を分散処理するための二つ以上の分散処理クラスタに対して処理のコマンドを送信する前記代表クライアント端末であって、
前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、
前記クライアント端末のユーザの認証を行うユーザ認証手段と、
前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、
前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、
前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、
前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、
前記処理結果受信手段によって受信された処理結果を出力する出力手段と、
を備える、
ことを特徴とする代表クライアント端末。
【請求項７】
一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムにより実行されるマルチクラスタ分散処理制御方法であって、
前記代表クライアント端末が、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納ステップと、
前記代表クライアント端末が、前記クライアント端末のユーザの認証を行うユーザ認証ステップと、
前記代表クライアント端末が、前記ユーザ認証ステップにおいて認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力ステップと、
前記代表クライアント端末が、前記入力ステップにおいて受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納ステップにおいて格納された設定ファイルから取得し、暗号化する暗号化ステップと、
前記代表クライアント端末が、前記暗号化ステップにおいて暗号化された設定ファイルと、前記入力ステップにおいて受け付けられたコマンドとを、前記入力ステップにおいて受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信ステップと、
前記分散処理クラスタが、前記コマンド送信ステップにおいて送信された暗号化された設定ファイルとコマンドとを受信するコマンド受信ステップと、
前記分散処理クラスタが、前記コマンド受信ステップにおいて受信された暗号化された設定ファイルを復号する復号ステップと、
前記分散処理クラスタが、前記復号ステップにおいて復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定ステップと、
前記分散処理クラスタが、前記判定ステップにおいて当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信ステップにおいて受信されたコマンドを処理する処理ステップと、
前記分散処理クラスタが、前記処理ステップにおいて処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信ステップと、
前記代表クライアント端末が、前記処理結果送信ステップにおいて送信されたコマンドの処理結果を受信する処理結果受信ステップと、
前記代表クライアント端末が、前記処理結果受信ステップにおいて受信された処理結果を出力する出力ステップと、
を含む、
ことを特徴とするマルチクラスタ分散処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチクラスタ分散処理制御システム、代表クライアント端末、分散処理クラスタ及びマルチクラスタ分散処理制御方法に関する。
【背景技術】
【０００２】
従来、非特許文献１のＨａｄｏｏｐというマルチクラスタ分散処理制御システムが知られている。このようなシステムでは、数百台〜数万台レベルのサーバ群をひとつの大きなリソース（ディスク、メモリ、ネットワーク、ＣＰＵなど）を持つ処理システムとして構成する。比較的小さい台数の規模なら一つのクラスタとして運用することも可能だが、規模が大きくなりユーザも多くなると、セキュリティのためにも複数のクラスタに分け、分散処理クラスタとして運用する方が一般的である。
【０００３】
上述のマルチクラスタ分散処理制御システムでは、分散処理クラスタの属性を定義する設定ファイルを指定することによって分散処理クラスタを使い分ける。設定ファイルは、分散処理クラスタの属性であるファイルシステムや分散処理の管理・制御を行うサーバのアドレスや、処理を行うサーバでデータを格納するディレクトリなどを含む。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Apache Hadoop project, http://hadoop.apache.org/
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来のマルチクラスタ分散処理制御システムでは、クライアント端末が分散処理クラスタを指定することはできても、分散処理クラスタがクライアント端末を認証する機能はないため、クライアント端末に、分散処理クラスタに対する設定ファイルさえあれば、どの端末も分散処理クラスタのクライアントになり、分散処理クラスタにアクセスできてしまう。また、当該端末の設定ファイルに対して意図的に属性を変更したり、誤って編集したりすることにより、意図しない操作が簡単にできてしまう危険性もある。
【０００６】
さらに、クライアント端末がアクセスするシステムが、複数のクラスタを含む分散処理クラスタ環境では、それら複数の分散処理クラスタにアクセスする複数のクライアント端末を容易に制御することが難しいという問題もある。
【０００７】
本発明は、上記課題の解決のためになされたものであり、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することが可能なマルチクラスタ分散処理制御システム、代表クライアント端末、分散処理クラスタ及びマルチクラスタ分散処理制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために、本発明のマルチクラスタ分散処理制御システムは、一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムであって、前記代表クライアント端末は、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、前記クライアント端末のユーザの認証を行うユーザ認証手段と、前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、前記処理結果受信手段によって受信された処理結果を出力する出力手段と、を備え、前記分散処理クラスタは、前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、を備えている。
【０００９】
また、本発明のマルチクラスタ分散処理制御方法は、一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムにより実行されるマルチクラスタ分散処理制御方法であって、前記代表クライアント端末が、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納ステップと、前記代表クライアント端末が、前記クライアント端末のユーザの認証を行うユーザ認証ステップと、前記代表クライアント端末が、前記ユーザ認証ステップにおいて認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力ステップと、前記代表クライアント端末が、前記入力ステップにおいて受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納ステップにおいて格納された設定ファイルから取得し、暗号化する暗号化ステップと、前記代表クライアント端末が、前記暗号化ステップにおいて暗号化された設定ファイルと、前記入力ステップにおいて受け付けられたコマンドとを、前記入力ステップにおいて受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信ステップと、前記分散処理クラスタが、前記コマンド送信ステップにおいて送信された暗号化された設定ファイルとコマンドとを受信するコマンド受信ステップと、前記分散処理クラスタが、前記コマンド受信ステップにおいて受信された暗号化された設定ファイルを復号する復号ステップと、前記分散処理クラスタが、前記復号ステップにおいて復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定ステップと、前記分散処理クラスタが、前記判定ステップにおいて当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信ステップにおいて受信されたコマンドを処理する処理ステップと、前記分散処理クラスタが、前記処理ステップにおいて処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信ステップと、前記代表クライアント端末が、前記処理結果送信ステップにおいて送信されたコマンドの処理結果を受信する処理結果受信ステップと、前記代表クライアント端末が、前記処理結果受信ステップにおいて受信された処理結果を出力する出力ステップと、を含んでいる。
【００１０】
この発明によれば、一つ以上のクライアント端末から二つ以上の分散処理クラスタへの処理命令が代表クライアント端末によって中継される。これにより、マルチクラスタ分散処理環境に係わる中継処理を代表クライアント端末で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１１】
また、この発明によれば、分散処理クラスタそれぞれに関する設定ファイルは代表クライアント端末に格納される。これにより、設定ファイルは各クライアント端末ではなく代表クライアント端末に格納されるため、各クライアント端末が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１２】
また、この発明によれば、代表クライアント端末は、クライアント端末のユーザの認証を行った上で当該ユーザからコマンドとクラスタ識別子とを受け付ける。これにより、認証されたユーザから分散処理クラスタへの処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末は、ユーザから処理対象の分散処理クラスタの設定ファイルではなく当該分散処理クラスタのクラスタ識別子を受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１３】
また、この発明によれば、代表クライアント端末は、受け付けたクラスタ識別子が示す分散処理クラスタの設定ファイルを取得して暗号化し、分散処理クラスタは、代表クライアント端末から受信した暗号化された設定ファイルを復号する。これにより、設定ファイルは代表クライアント端末から分散処理クラスタに受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、設定ファイルは、代表クライアント端末及び分散処理クラスタにて暗号化及び復号されるので、暗号化及び復号のために第三の信頼できる端末は必要としないため、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１４】
また、この発明によれば、分散処理クラスタは、復号された設定ファイルが当該分散処理クラスタの設定ファイルであると判定された場合に、コマンドを処理する。これにより、分散処理クラスタは、信頼できる代表クライアント端末から当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１５】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理されることを特徴とする。
【００１６】
この発明によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理手段のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１７】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記入力手段は、前記ユーザ認証手段によって認証されたユーザの電子署名を受け付け、前記コマンド送信手段は、前記入力手段によって受け付けられた電子署名を前記分散処理クラスタに送信し、前記コマンド受信手段は、前記代表クライアント端末から電子署名を受信し、前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名を認証する電子署名認証手段をさらに備え、前記復号手段は、前記電子署名認証手段によって電子署名が認証された場合に、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号することを特徴とする。
【００１８】
この発明によれば、分散処理クラスタは、受信したユーザの電子署名の認証に応じて暗号化された設定ファイルを復号するか否かを判定する、すなわち、コマンドを処理するか否かを判定する。これにより、分散処理クラスタは、信頼できるクライアント端末のユーザから当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００１９】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名のログを格納するログ格納手段をさらに備えることを特徴とする。
【００２０】
この発明によれば、分散処理クラスタに処理を命令したクライアント端末のユーザの電子署名のログを格納することができる。これにより、分散処理クラスタに処理を命令してきたユーザを管理することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２１】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記格納手段によって格納された設定ファイルは、前記ユーザ認証手段によって認証された特定のユーザからのみ作成及び編集することができることを特徴とする。
【００２２】
この発明によれば、設定ファイルは特定のユーザからのみ作成及び編集することができるため、設定ファイルを第三者によって意図的に変更されたり、誤って編集されたりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２３】
また、本発明のクライアント端末は、一つ以上のクライアント端末から接続された代表クライアント端末であり、同一の処理を分散処理するための二つ以上の分散処理クラスタに対して処理のコマンドを送信する前記代表クライアント端末であって、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、前記クライアント端末のユーザの認証を行うユーザ認証手段と、前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、前記処理結果受信手段によって受信された処理結果を出力する出力手段と、を備えている。
【００２４】
この発明によれば、一つ以上のクライアント端末から二つ以上の分散処理クラスタへの処理命令が代表クライアント端末によって中継される。これにより、マルチクラスタ分散処理環境に係わる中継処理を代表クライアント端末で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２５】
また、この発明によれば、分散処理クラスタそれぞれに関する設定ファイルは代表クライアント端末に格納される。これにより、設定ファイルは各クライアント端末ではなく代表クライアント端末に格納されるため、各クライアント端末が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２６】
また、この発明によれば、代表クライアント端末は、クライアント端末のユーザの認証を行った上で当該ユーザからコマンドとクラスタ識別子とを受け付ける。これにより、認証されたユーザからのみ分散処理クラスタへの処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末は、ユーザから処理対象の分散処理クラスタの設定ファイルではなく当該分散処理クラスタのクラスタ識別子を受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２７】
また、本発明のクライアント端末において、前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理されることを特徴とする。
【００２８】
この発明によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理手段のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００２９】
また、本発明の分散処理クラスタは、同一の処理を分散処理するための二つ以上の分散処理クラスタであり、一つ以上のクライアント端末から接続された代表クライアント端末から処理のコマンドを受信する前記分散処理クラスタであって、前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、を備えている。
【００３０】
この発明によれば、分散処理クラスタは、代表クライアント端末から受信した暗号化された設定ファイルを復号する。これにより、設定ファイルは代表クライアント端末から分散処理クラスタに受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００３１】
また、この発明によれば、分散処理クラスタは、復号された設定ファイルが当該分散処理クラスタの設定ファイルであると判定された場合に、コマンドを処理する。これにより、分散処理クラスタは、信頼できる代表クライアント端末から当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【発明の効果】
【００３２】
本発明によれば、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【図面の簡単な説明】
【００３３】
【図１】本実施形態のマルチクラスタ分散処理制御システムのシステム構成図である。
【図２】本実施形態の代表クライアント端末の機能を示すブロック図である。
【図３】本実施形態の分散処理クラスタの機能を示すブロック図である。
【図４】本実施形態の代表クライアント端末及び分散処理クラスタのハードウェア構成を示すブロック図である。
【図５】本実施形態の代表クライアント端末の処理を示すシーケンス図である。
【図６】本実施形態の分散処理クラスタの処理を示すシーケンス図である。
【発明を実施するための形態】
【００３４】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００３５】
（マルチクラスタ分散処理制御システム１の構成）
図１は、本実施形態のマルチクラスタ分散処理制御システム１のシステム構成図である。図１に示すように、このマルチクラスタ分散処理制御システム１は、代表クライアント端末２、二つ以上の分散処理クラスタ３及び一つ以上のクライアント端末４を含んで構成されている。また、図１に示すように、クライアント端末４と代表クライアント端末２、及び代表クライアント端末２と分散処理クラスタ３はネットワーク等により互いに接続されている。
【００３６】
クライアント端末４は、ＰＣや携帯端末等の情報機器から構成されており、代表クライアント端末２を介して分散処理クラスタ３に対して処理を命令し、分散処理クラスタ３から処理結果を、代表クライアント端末２を介して受け取る。
【００３７】
代表クライアント端末２は、クライアント端末４と分散処理クラスタ３との中継を行う端末であり、ＰＣやサーバ等の情報機器から構成されている。図１では一つの代表クライアント端末２が示されているが、一つに限るものではない。例えば、マルチクラスタ分散処理制御システム１において二つ以上の代表クライアント端末２が含まれ、クライアント端末４からの処理命令に基づく処理を代表クライアント端末２それぞれにて分散処理してもよい。
【００３８】
分散処理クラスタ３は、同一の目的を持ち、同一のアプリケーションを分散処理するためのクラスタである。クラスタとは、図１の分散処理クラスタ３ａ、３ｂ等が示すように、ファイルシステムや処理を管理・統括するサーバや、データを保持し実際に分析処理を行うサーバ群を合わせたものである。なお、分散処理クラスタ３ａ、３ｂ等を総称して分散処理クラスタ３と呼ぶ。クラスタに対して処理を命令する際には、クラスタの各種属性定義している設定ファイルを、処理の内容（コマンド）と共に指定することによって、特定のクラスタに対する処理を制御したり、クラスタを使い分けたりすることができる。設定ファイルは、クラスタの属性であるファイルシステムや分散処理の管理・制御を行うサーバのアドレスや、処理を行うサーバでデータを格納するディレクトリなどを含む。
【００３９】
（代表クライアント端末２の構成）
次に、代表クライアント端末２について詳細に説明する。図２は、代表クライアント端末２の機能を示すブロック図である。この代表クライアント端末２は、認証部２０（ユーザ認証手段）、入力部２１（入力手段）、格納部２２（格納手段）、コマンド解析・作成部２３、暗号化部２４（暗号化手段）、送信部２５（コマンド送信手段）、受信部２６（処理結果受信手段）及び出力部２７（出力手段）を含んで構成されている。
【００４０】
このように構成された代表クライアント端末２は、図４に示されるハードウェアにより構成されている。図４は、代表クライアント端末２（及び分散処理クラスタ３）のハードウェア構成図である。図２に示される代表クライアント端末２は、物理的には、図４に示すように、ＣＰＵ４１、主記憶装置であるＲＡＭ４２及びＲＯＭ４３、入力デバイスであるキーボード及びマウス等の入力装置４４、ディスプレイ等の出力装置４５、ネットワークカード等のデータ送受信デバイスである通信モジュール４６、ハードディスク等の補助記憶装置４７などを含むコンピュータシステムとして構成されている。図２において説明した各機能は、図４に示すＣＰＵ４１、ＲＡＭ４２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ４１の制御のもとで入力装置４４、出力装置４５、通信モジュール４６を動作させるとともに、ＲＡＭ４２や補助記憶装置４７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図２に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００４１】
認証部２０は、クライアント端末４のユーザの認証を行う。例えば、認証部２０は、ユーザのアカウントとパスワードをチェックして、正規のユーザであることを認証する。
【００４２】
入力部２１は、認証部２０によって認証されたユーザから、分散処理クラスタ３で処理するコマンドと、当該分散処理クラスタ３を識別するクラスタ識別子とを受け付ける。さらに、入力部２１は、認証部２０によって認証されたユーザの電子署名を受け付けてもよい。なお、ユーザの電子署名は後述の格納部３２によるアクセスログを記録するために必要であるが、必要ない場合は電子署名に関するマルチクラスタ分散処理制御システム１における処理は省略してもよい。
【００４３】
格納部２２は、分散処理クラスタ３それぞれに関する設定ファイルを格納する。格納部２２によって格納された設定ファイルは、認証部２０によって認証された特定のユーザからのみ作成及び編集することができる。さらに、格納部２２は、当該代表クライアント端末２の公開鍵暗号方式における秘密鍵を格納してもよい。
【００４４】
コマンド解析・作成部２３は、入力部２１によって受け付けられたクラスタ識別子が示す分散処理クラスタ３の設定ファイルを格納部２２から特定及び取得する。また、コマンド解析・作成部２３は、後述の暗号化部２４によって設定ファイルが暗号化された際に、必要に応じて、クライアント端末４のユーザに対して電子署名を要求する。コマンド解析・作成部２３による電子署名の要求に対して入力部２１がユーザの電子署名を受け付けた際、コマンド解析・作成部２３は、入力部２１によって受け付けられたコマンド及び電子署名と、後述の暗号化部２４によって暗号化された設定ファイルとを分散処理クラスタ３に送信するよう送信部２５に指示する。
【００４５】
暗号化部２４は、コマンド解析・作成部２３によって特定及び取得された設定ファイルを暗号化する。暗号化部２４は、設定ファイルを暗号化する際に、格納部２２によって格納された当該代表クライアント端末２の秘密鍵を利用して暗号化してもよい。
【００４６】
送信部２５は、暗号化部２４によって暗号化された設定ファイルと、入力部２１によって受け付けられたコマンドとを、入力部２１によって受け付けられたクラスタ識別子が識別する分散処理クラスタ３に送信する。さらに、送信部２５は、入力部２１によって受け付けられた電子署名を分散処理クラスタ３に送信してもよい。
【００４７】
受信部２６は、送信部２５によって送信されたコマンドの処理結果を分散処理クラスタ３から受信する。受信した処理結果が暗号化されていた場合、受信部２６は、格納部２２によって格納された当該代表クライアント端末２の秘密鍵を利用して復号する。なお、この復号処理は、受信部２６ではなく、コマンド解析・作成部２３や暗号化部２４が行ってもよいし、復号部（不図示）が行ってもよい。
【００４８】
出力部２７は、受信部２６によって受信された処理結果を出力する。例えば、出力部２７は、処理結果の元となるコマンドを送信してきたクライアント端末４に対して処理結果を送信してもよいし、処理結果を出力装置４５に表示してもよい。
【００４９】
なお、暗号化部２４等で使う暗号化や電子署名の方法については特に規定しないが、非対称鍵を使い、暗号化または電子署名する鍵と、後述の復号部３３により復号する鍵が異なる鍵を使うのが望ましい。また、秘密鍵はそれぞれの代表クライアント端末２及び分散処理クラスタ３のみで保持し、公開鍵はマルチクラスタ分散処理制御システム１を構築する際、または、分散処理クラスタ３に含まれる処理サーバを事前にセットアップする際に、静的に配布しておくことを前提とする。マルチクラスタ分散処理制御システム１は、非対称鍵を使うことで、共有鍵を使う場合に比べ、信頼できる第三者サーバを必要としない。
【００５０】
（分散処理クラスタ３の構成）
次に、分散処理クラスタ３について詳細に説明する。図３は、分散処理クラスタ３の機能を示すブロック図である。この分散処理クラスタ３は、一つのマスタ３Ｍと、一つ以上のスレーブ３Ｓとを含んで構成されている。このマスタ３Ｍは、受信部３０（コマンド受信手段）、認証部３１（電子署名認証手段）、格納部３２（ログ格納手段）、復号部３３（復号手段）、判定部３４（判定手段）及び送信部３６（処理結果送信手段）を含んで構成されている。また、スレーブ３Ｓは、処理部３５（処理手段）を含んで構成されている。
【００５１】
なお、マスタ３Ｍは複数のサーバで構築され、各サーバに異なる上記機能を含んでいてもよい。また、マスタ３Ｍ及び一つ以上のスレーブ３Ｓは、一つのサーバとして構築されてもよい。
【００５２】
このように構成された分散処理クラスタ３は、図４に示されるハードウェアにより構成されている。分散処理クラスタ３は、代表クライアント端末２と同様に、図４に示すコンピュータシステムとして構成されている。図３において説明した各機能は、代表クライアント端末２と同様に、図４に示すハードウェア上で実現される。以下、図３に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００５３】
受信部３０は、代表クライアント端末２から暗号化された設定ファイルとコマンドとを受信する。さらに、受信部３０は、代表クライアント端末２から電子署名を受信してもよい。
【００５４】
認証部３１は、受信部３０によって受信された電子署名を認証する。なお、認証部３１は、必要に応じて電子署名を認証してもよい。
【００５５】
格納部３２は、受信部３０によって受信された電子署名のログを格納する。なお、認証部３１による電子署名の認証の成否に関わらず、受信部３０によって受信された電子署名のログを格納してもよい。さらに、格納部３２は、マルチクラスタ分散処理制御システム１に含まれる代表クライアント端末２それぞれの公開鍵暗号方式における公開鍵を格納してもよい。
【００５６】
復号部３３は、受信部３０によって受信された暗号化された設定ファイルを復号する。また、復号部３３は、認証部３１によって電子署名が認証された場合に、受信部３０によって受信された暗号化された設定ファイルを復号してもよい。また、復号部３３は、設定ファイルを復号する際に、格納部３２によって格納された、設定ファイルを送信してきた代表クライアント端末２の公開鍵を利用して復号してもよい。
【００５７】
判定部３４は、復号部３３によって復号された設定ファイルが当該分散処理クラスタ３の設定ファイルであるか否かを判定する。例えば、判定部３４は、復号された設定ファイルに含まれる分散処理クラスタの属性である分散処理の管理・制御を行うサーバのアドレスが、当該分散処理クラスタ３のアドレスと同一であるか否かによって、復号された設定ファイルが当該分散処理クラスタ３の設定ファイルであるか否かを判定してもよい。
【００５８】
処理部３５は、判定部３４によって当該分散処理クラスタ３の設定ファイルであると判定された場合に、受信部３０によって受信されたコマンドを処理する。また、処理部３５は、当該分散処理クラスタ３を構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの処理部３５にてコマンドが分散処理されてもよい。その際、判定部３４が、設定ファイルに含まれる内容に基づいて、どのスレーブサーバの処理部３５にどのように分散処理するかを指示してもよい。
【００５９】
なお、復号部３３によって復号された設定ファイルが当該分散処理クラスタ３の設定ファイルでないと判定された場合、処理部３５が処理をすることなく、復号部３３は後述の送信部３６に対して、設定ファイルが当該分散処理クラスタ３のものでない旨やエラーメッセージを処理結果として送信するように指示する。
【００６０】
送信部３６は、処理部３５によって処理されたコマンドの処理結果を代表クライアント端末２に送信する。送信部３６は、格納部３２によって格納された、設定ファイルを送信してきた代表クライアント端末２の公開鍵を利用して処理結果を暗号化し、暗号化された処理結果を代表クライアント端末２に送信してもよい。なお、この暗号化処理は、送信部３６ではなく、復号部３３が行ってもよいし、暗号化部（不図示）が行ってもよい。
【００６１】
（代表クライアント端末２の処理）
次に、本実施形態の代表クライアント端末２の処理について説明する。図５は、本実施形態の代表クライアント端末２における処理を示すシーケンス図である。以下、各ステップについて説明する。
【００６２】
まず、格納部２２により、分散処理クラスタ３それぞれに関する設定ファイルが予め格納される（Ｓ６０、格納ステップ）。次に、認証部２０により、クライアント端末４のユーザの認証が行われる（Ｓ６１、ユーザ認証ステップ）。次に、入力部２１により、Ｓ６１において認証されたユーザから、分散処理クラスタ３で処理するコマンドと、当該分散処理クラスタ３を識別するクラスタ識別子とが受け付けられる（Ｓ６２、入力ステップ）。次に、コマンド解析・作成部２３により、Ｓ６２において受け付けられたクラスタ識別子が示す分散処理クラスタ３の設定ファイルをＳ６０において格納された設定ファイルから特定及び取得する（Ｓ６３）。次に、暗号化部２４により、Ｓ６３において特定及び取得された設定ファイルが暗号化され（Ｓ６４、暗号化ステップ）、暗号化された設定ファイルがコマンド解析・作成部２３に送信される。
【００６３】
次に、コマンド解析・作成部２３により、クライアント端末４のユーザに対してユーザの電子署名が要求され、入力部２１により、ユーザの電子署名が受け付けられる（Ｓ６５）。次に、コマンド解析・作成部２３により、Ｓ６２において受け付けられたコマンドと、Ｓ６４において暗号化された設定ファイルと、Ｓ６５において受け付けられた電子署名とを分散処理クラスタ３に対して送信するよう送信部２５に指示される。次に、送信部２５により、コマンドと暗号化された設定ファイルと電子署名とが、Ｓ６２において受け付けられたクラスタ識別子が識別する分散処理クラスタ３に送信される（Ｓ６６、コマンド送信ステップ）。
【００６４】
Ｓ６６の後、分散処理クラスタ３側で後述のＳ８１〜Ｓ８７が実行される。Ｓ８７の後、受信部２６により、Ｓ８７において送信されたコマンドの暗号化された処理結果が受信される（Ｓ６７、処理結果受信ステップ）。次に、受信部２６により、暗号化された処理結果が復号される（Ｓ６８）。次に、出力部２７により、Ｓ６８において復号された処理結果が出力される（Ｓ６９、出力ステップ）。
【００６５】
（分散処理クラスタ３の処理）
次に、本実施形態の分散処理クラスタ３の処理について説明する。図６は、本実施形態の分散処理クラスタ３における処理を示すシーケンス図である。以下、各ステップについて説明する。
【００６６】
上述のＳ６６の後、受信部３０により、Ｓ６６において送信されたコマンドと暗号化された設定ファイルと電子署名とが受信される（Ｓ８０、コマンド受信ステップ）。次に、認証部３１により、Ｓ８０において受信された電子署名が認証される（Ｓ８１）。次に、格納部３２により、Ｓ８０において受信された電子署名がログとして格納される（Ｓ８２）。なお、Ｓ８１とＳ８２の順番は逆でもよい。
【００６７】
次に、復号部３３により、Ｓ８０において受信された暗号化された設定ファイルが復号される（Ｓ８３、復号ステップ）。次に、判定部３４により、Ｓ８３において復号された設定ファイルが当該分散処理クラスタ３の設定ファイルであるか否かが判定される（Ｓ８４、判定ステップ）。次に、処理部３５により、Ｓ８４において当該分散処理クラスタ３の設定ファイルであると判定された場合に、Ｓ８０において受信されたコマンドが処理される（Ｓ８５、処理ステップ）。次に、送信部３６により、Ｓ８５において処理されたコマンドの処理結果が暗号化される（Ｓ８６）。次に、送信部３６により、Ｓ８６において暗号化された処理結果が代表クライアント端末２に送信される（Ｓ８７、処理結果送信ステップ）。
【００６８】
（マルチクラスタ分散処理制御システム１の作用効果）
次に、本実施形態の代表クライアント端末２及び分散処理クラスタ３を含むマルチクラスタ分散処理制御システム１の作用効果について説明する。
【００６９】
本実施形態によれば、一つ以上のクライアント端末４から二つ以上の分散処理クラスタ３への処理命令が代表クライアント端末２によって中継される。これにより、マルチクラスタ分散処理制御システム１に係わる中継処理を代表クライアント端末２で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７０】
また、本実施形態によれば、分散処理クラスタ３それぞれに関する設定ファイルは代表クライアント端末２の格納部２２により格納される。これにより、設定ファイルは各クライアント端末４ではなく代表クライアント端末２に格納されるため、各クライアント端末４が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７１】
また、本実施形態によれば、代表クライアント端末２は、クライアント端末４のユーザの認証を認証部２０が行った上で当該ユーザからコマンドとクラスタ識別子とを入力部２１により受け付ける。これにより、認証されたユーザからのみ分散処理クラスタ３への処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末２は、ユーザから処理対象の分散処理クラスタ３の設定ファイルではなく当該分散処理クラスタ３のクラスタ識別子を入力部２１により受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７２】
また、本実施形態によれば、代表クライアント端末２は、入力部２１により受け付けたクラスタ識別子が示す分散処理クラスタ３の設定ファイルを、格納部２２によって格納された設定ファイルから暗号化部２４が取得して暗号化し、分散処理クラスタ３は、代表クライアント端末２から受信部３０により受信した暗号化された設定ファイルを復号部３３により復号する。これにより、設定ファイルは代表クライアント端末２から分散処理クラスタ３に受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、設定ファイルは、代表クライアント端末２及び分散処理クラスタ３にて暗号化及び復号されるので、暗号化及び復号のために第三の信頼できる端末は必要としないため、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７３】
また、本実施形態によれば、暗号化部２４が設定ファイルを暗号化する際に、当該代表クライアント端末２の秘密鍵を利用して暗号化する。そして、復号部３３が設定ファイルを復号する際に、設定ファイルを送信してきた代表クライアント端末２の公開鍵を利用して復号する。このように、非対称鍵を使うことで、共有鍵を使う場合に比べ、信頼できる第三者サーバを必要としない。また、マルチクラスタ分散処理制御システム１において二つ以上の代表クライアント端末２が含まれる場合でも、分散処理クラスタ３側で代表クライアント端末２それぞれの公開鍵を格納することで、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７４】
また、本実施形態によれば、分散処理クラスタ３は、復号された設定ファイルが当該分散処理クラスタ３の設定ファイルであると判定部３４により判定された場合に、処理部３５がコマンドを処理する。これにより、分散処理クラスタ３は、信頼できる代表クライアント端末２から当該分散処理クラスタ３に命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７５】
また、本実施形態によれば、分散処理クラスタ３により実行された処理の処理結果を代表クライアント端末２に送信する際、設定ファイルを送信してきた代表クライアント端末２の公開鍵を利用して処理結果を暗号化し、代表クライアント端末２に送信する。そして代表クライアント端末２側で、格納部２２によって格納された当該代表クライアント端末２の秘密鍵を利用して処理結果を復号する。これにより、処理結果は分散処理クラスタ３から代表クライアント端末２に受け渡されるまで暗号化されているので、途中の経路で処理結果が第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７６】
また、本実施形態によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理部３５のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７７】
また、本実施形態によれば、分散処理クラスタ３は、受信部３０が受信したユーザの電子署名の認証部３１による認証に応じて暗号化された設定ファイルを復号するか否かを復号部３３が判定する、すなわち、処理部３５によりコマンドを処理するか否かを判定する。これにより、分散処理クラスタ３は、信頼できるクライアント端末４のユーザから当該分散処理クラスタ３に命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７８】
また、本実施形態によれば、分散処理クラスタ３に処理を命令したクライアント端末４のユーザの電子署名のログを格納部３２により格納することができる。これにより、分散処理クラスタ３に処理を命令してきたユーザを管理することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【００７９】
また、本実施形態によれば、設定ファイルは特定のユーザからのみ作成及び編集することができるため、設定ファイルを第三者によって意図的に変更されたり、誤って編集されたりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【符号の説明】
【００８０】
１…マルチクラスタ分散処理制御システム、２・・・代表クライアント端末、２０・・・認証部、２１・・・入力部、２２・・・格納部、２３・・・コマンド解析・作成部、２４・・・暗号化部、２５・・・送信部、２６・・・受信部、２７・・・出力部、３・・・分散処理クラスタ、３Ｍ・・・マスタ、３Ｓ・・・スレーブ、３０・・・受信部、３１・・・格納部、３２・・・認証部、３３・・・復号部、３４・・・判定部、３５・・・処理部、３６・・・送信部３６、４・・・クライアント端末。
【図１】
0005631164.tif 000002
【図２】
0005631164.tif 000003
【図３】
0005631164.tif 000004
【図４】
0005631164.tif 000005
【図５】
0005631164.tif 000006
【図６】
0005631164.tif 000007