説明

マルチクラスタ分散処理制御システム、代表クライアント端末、分散処理クラスタ及びマルチクラスタ分散処理制御方法

【課題】本発明は、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することが可能なシステム及び方法を提供することを目的とする。
【解決手段】代表クライアント端末2は、入力部21によって受け付けられたクラスタ識別子が示す分散処理クラスタ3の設定ファイルを暗号化する暗号化部24と、暗号化された設定ファイルと、入力部21によって受け付けられたコマンドとを、分散処理クラスタ3に送信する送信部25とを備え、分散処理クラスタ3は、受信部30によって受信された暗号化された設定ファイルを復号する復号部33と、復号された設定ファイルが分散処理クラスタ3の設定ファイルであると判定部34に判定された場合に、受信部30によって受信されたコマンドを処理する処理部35と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチクラスタ分散処理制御システム、代表クライアント端末、分散処理クラスタ及びマルチクラスタ分散処理制御方法に関する。
【背景技術】
【0002】
従来、非特許文献1のHadoopというマルチクラスタ分散処理制御システムが知られている。このようなシステムでは、数百台〜数万台レベルのサーバ群をひとつの大きなリソース(ディスク、メモリ、ネットワーク、CPUなど)を持つ処理システムとして構成する。比較的小さい台数の規模なら一つのクラスタとして運用することも可能だが、規模が大きくなりユーザも多くなると、セキュリティのためにも複数のクラスタに分け、分散処理クラスタとして運用する方が一般的である。
【0003】
上述のマルチクラスタ分散処理制御システムでは、分散処理クラスタの属性を定義する設定ファイルを指定することによって分散処理クラスタを使い分ける。設定ファイルは、分散処理クラスタの属性であるファイルシステムや分散処理の管理・制御を行うサーバのアドレスや、処理を行うサーバでデータを格納するディレクトリなどを含む。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Apache Hadoop project, http://hadoop.apache.org/
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来のマルチクラスタ分散処理制御システムでは、クライアント端末が分散処理クラスタを指定することはできても、分散処理クラスタがクライアント端末を認証する機能はないため、クライアント端末に、分散処理クラスタに対する設定ファイルさえあれば、どの端末も分散処理クラスタのクライアントになり、分散処理クラスタにアクセスできてしまう。また、当該端末の設定ファイルに対して意図的に属性を変更したり、誤って編集したりすることにより、意図しない操作が簡単にできてしまう危険性もある。
【0006】
さらに、クライアント端末がアクセスするシステムが、複数のクラスタを含む分散処理クラスタ環境では、それら複数の分散処理クラスタにアクセスする複数のクライアント端末を容易に制御することが難しいという問題もある。
【0007】
本発明は、上記課題の解決のためになされたものであり、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することが可能なマルチクラスタ分散処理制御システム、代表クライアント端末、分散処理クラスタ及びマルチクラスタ分散処理制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するために、本発明のマルチクラスタ分散処理制御システムは、一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムであって、前記代表クライアント端末は、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、前記クライアント端末のユーザの認証を行うユーザ認証手段と、前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、前記処理結果受信手段によって受信された処理結果を出力する出力手段と、を備え、前記分散処理クラスタは、前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、を備えている。
【0009】
また、本発明のマルチクラスタ分散処理制御方法は、一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムにより実行されるマルチクラスタ分散処理制御方法であって、前記代表クライアント端末が、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納ステップと、前記代表クライアント端末が、前記クライアント端末のユーザの認証を行うユーザ認証ステップと、前記代表クライアント端末が、前記ユーザ認証ステップにおいて認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力ステップと、前記代表クライアント端末が、前記入力ステップにおいて受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納ステップにおいて格納された設定ファイルから取得し、暗号化する暗号化ステップと、前記代表クライアント端末が、前記暗号化ステップにおいて暗号化された設定ファイルと、前記入力ステップにおいて受け付けられたコマンドとを、前記入力ステップにおいて受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信ステップと、前記分散処理クラスタが、前記コマンド送信ステップにおいて送信された暗号化された設定ファイルとコマンドとを受信するコマンド受信ステップと、前記分散処理クラスタが、前記コマンド受信ステップにおいて受信された暗号化された設定ファイルを復号する復号ステップと、前記分散処理クラスタが、前記復号ステップにおいて復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定ステップと、前記分散処理クラスタが、前記判定ステップにおいて当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信ステップにおいて受信されたコマンドを処理する処理ステップと、前記分散処理クラスタが、前記処理ステップにおいて処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信ステップと、前記代表クライアント端末が、前記処理結果送信ステップにおいて送信されたコマンドの処理結果を受信する処理結果受信ステップと、前記代表クライアント端末が、前記処理結果受信ステップにおいて受信された処理結果を出力する出力ステップと、を含んでいる。
【0010】
この発明によれば、一つ以上のクライアント端末から二つ以上の分散処理クラスタへの処理命令が代表クライアント端末によって中継される。これにより、マルチクラスタ分散処理環境に係わる中継処理を代表クライアント端末で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0011】
また、この発明によれば、分散処理クラスタそれぞれに関する設定ファイルは代表クライアント端末に格納される。これにより、設定ファイルは各クライアント端末ではなく代表クライアント端末に格納されるため、各クライアント端末が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0012】
また、この発明によれば、代表クライアント端末は、クライアント端末のユーザの認証を行った上で当該ユーザからコマンドとクラスタ識別子とを受け付ける。これにより、認証されたユーザから分散処理クラスタへの処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末は、ユーザから処理対象の分散処理クラスタの設定ファイルではなく当該分散処理クラスタのクラスタ識別子を受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0013】
また、この発明によれば、代表クライアント端末は、受け付けたクラスタ識別子が示す分散処理クラスタの設定ファイルを取得して暗号化し、分散処理クラスタは、代表クライアント端末から受信した暗号化された設定ファイルを復号する。これにより、設定ファイルは代表クライアント端末から分散処理クラスタに受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、設定ファイルは、代表クライアント端末及び分散処理クラスタにて暗号化及び復号されるので、暗号化及び復号のために第三の信頼できる端末は必要としないため、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0014】
また、この発明によれば、分散処理クラスタは、復号された設定ファイルが当該分散処理クラスタの設定ファイルであると判定された場合に、コマンドを処理する。これにより、分散処理クラスタは、信頼できる代表クライアント端末から当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0015】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理されることを特徴とする。
【0016】
この発明によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理手段のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0017】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記入力手段は、前記ユーザ認証手段によって認証されたユーザの電子署名を受け付け、前記コマンド送信手段は、前記入力手段によって受け付けられた電子署名を前記分散処理クラスタに送信し、前記コマンド受信手段は、前記代表クライアント端末から電子署名を受信し、前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名を認証する電子署名認証手段をさらに備え、前記復号手段は、前記電子署名認証手段によって電子署名が認証された場合に、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号することを特徴とする。
【0018】
この発明によれば、分散処理クラスタは、受信したユーザの電子署名の認証に応じて暗号化された設定ファイルを復号するか否かを判定する、すなわち、コマンドを処理するか否かを判定する。これにより、分散処理クラスタは、信頼できるクライアント端末のユーザから当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0019】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名のログを格納するログ格納手段をさらに備えることを特徴とする。
【0020】
この発明によれば、分散処理クラスタに処理を命令したクライアント端末のユーザの電子署名のログを格納することができる。これにより、分散処理クラスタに処理を命令してきたユーザを管理することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0021】
また、本発明のマルチクラスタ分散処理制御システムにおいて、前記格納手段によって格納された設定ファイルは、前記ユーザ認証手段によって認証された特定のユーザからのみ作成及び編集することができることを特徴とする。
【0022】
この発明によれば、設定ファイルは特定のユーザからのみ作成及び編集することができるため、設定ファイルを第三者によって意図的に変更されたり、誤って編集されたりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0023】
また、本発明のクライアント端末は、一つ以上のクライアント端末から接続された代表クライアント端末であり、同一の処理を分散処理するための二つ以上の分散処理クラスタに対して処理のコマンドを送信する前記代表クライアント端末であって、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、前記クライアント端末のユーザの認証を行うユーザ認証手段と、前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、前記処理結果受信手段によって受信された処理結果を出力する出力手段と、を備えている。
【0024】
この発明によれば、一つ以上のクライアント端末から二つ以上の分散処理クラスタへの処理命令が代表クライアント端末によって中継される。これにより、マルチクラスタ分散処理環境に係わる中継処理を代表クライアント端末で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0025】
また、この発明によれば、分散処理クラスタそれぞれに関する設定ファイルは代表クライアント端末に格納される。これにより、設定ファイルは各クライアント端末ではなく代表クライアント端末に格納されるため、各クライアント端末が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0026】
また、この発明によれば、代表クライアント端末は、クライアント端末のユーザの認証を行った上で当該ユーザからコマンドとクラスタ識別子とを受け付ける。これにより、認証されたユーザからのみ分散処理クラスタへの処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末は、ユーザから処理対象の分散処理クラスタの設定ファイルではなく当該分散処理クラスタのクラスタ識別子を受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0027】
また、本発明のクライアント端末において、前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理されることを特徴とする。
【0028】
この発明によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理手段のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0029】
また、本発明の分散処理クラスタは、同一の処理を分散処理するための二つ以上の分散処理クラスタであり、一つ以上のクライアント端末から接続された代表クライアント端末から処理のコマンドを受信する前記分散処理クラスタであって、前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、を備えている。
【0030】
この発明によれば、分散処理クラスタは、代表クライアント端末から受信した暗号化された設定ファイルを復号する。これにより、設定ファイルは代表クライアント端末から分散処理クラスタに受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0031】
また、この発明によれば、分散処理クラスタは、復号された設定ファイルが当該分散処理クラスタの設定ファイルであると判定された場合に、コマンドを処理する。これにより、分散処理クラスタは、信頼できる代表クライアント端末から当該分散処理クラスタに命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【発明の効果】
【0032】
本発明によれば、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【図面の簡単な説明】
【0033】
【図1】本実施形態のマルチクラスタ分散処理制御システムのシステム構成図である。
【図2】本実施形態の代表クライアント端末の機能を示すブロック図である。
【図3】本実施形態の分散処理クラスタの機能を示すブロック図である。
【図4】本実施形態の代表クライアント端末及び分散処理クラスタのハードウェア構成を示すブロック図である。
【図5】本実施形態の代表クライアント端末の処理を示すシーケンス図である。
【図6】本実施形態の分散処理クラスタの処理を示すシーケンス図である。
【発明を実施するための形態】
【0034】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0035】
(マルチクラスタ分散処理制御システム1の構成)
図1は、本実施形態のマルチクラスタ分散処理制御システム1のシステム構成図である。図1に示すように、このマルチクラスタ分散処理制御システム1は、代表クライアント端末2、二つ以上の分散処理クラスタ3及び一つ以上のクライアント端末4を含んで構成されている。また、図1に示すように、クライアント端末4と代表クライアント端末2、及び代表クライアント端末2と分散処理クラスタ3はネットワーク等により互いに接続されている。
【0036】
クライアント端末4は、PCや携帯端末等の情報機器から構成されており、代表クライアント端末2を介して分散処理クラスタ3に対して処理を命令し、分散処理クラスタ3から処理結果を、代表クライアント端末2を介して受け取る。
【0037】
代表クライアント端末2は、クライアント端末4と分散処理クラスタ3との中継を行う端末であり、PCやサーバ等の情報機器から構成されている。図1では一つの代表クライアント端末2が示されているが、一つに限るものではない。例えば、マルチクラスタ分散処理制御システム1において二つ以上の代表クライアント端末2が含まれ、クライアント端末4からの処理命令に基づく処理を代表クライアント端末2それぞれにて分散処理してもよい。
【0038】
分散処理クラスタ3は、同一の目的を持ち、同一のアプリケーションを分散処理するためのクラスタである。クラスタとは、図1の分散処理クラスタ3a、3b等が示すように、ファイルシステムや処理を管理・統括するサーバや、データを保持し実際に分析処理を行うサーバ群を合わせたものである。なお、分散処理クラスタ3a、3b等を総称して分散処理クラスタ3と呼ぶ。クラスタに対して処理を命令する際には、クラスタの各種属性定義している設定ファイルを、処理の内容(コマンド)と共に指定することによって、特定のクラスタに対する処理を制御したり、クラスタを使い分けたりすることができる。設定ファイルは、クラスタの属性であるファイルシステムや分散処理の管理・制御を行うサーバのアドレスや、処理を行うサーバでデータを格納するディレクトリなどを含む。
【0039】
(代表クライアント端末2の構成)
次に、代表クライアント端末2について詳細に説明する。図2は、代表クライアント端末2の機能を示すブロック図である。この代表クライアント端末2は、認証部20(ユーザ認証手段)、入力部21(入力手段)、格納部22(格納手段)、コマンド解析・作成部23、暗号化部24(暗号化手段)、送信部25(コマンド送信手段)、受信部26(処理結果受信手段)及び出力部27(出力手段)を含んで構成されている。
【0040】
このように構成された代表クライアント端末2は、図4に示されるハードウェアにより構成されている。図4は、代表クライアント端末2(及び分散処理クラスタ3)のハードウェア構成図である。図2に示される代表クライアント端末2は、物理的には、図4に示すように、CPU41、主記憶装置であるRAM42及びROM43、入力デバイスであるキーボード及びマウス等の入力装置44、ディスプレイ等の出力装置45、ネットワークカード等のデータ送受信デバイスである通信モジュール46、ハードディスク等の補助記憶装置47などを含むコンピュータシステムとして構成されている。図2において説明した各機能は、図4に示すCPU41、RAM42等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU41の制御のもとで入力装置44、出力装置45、通信モジュール46を動作させるとともに、RAM42や補助記憶装置47におけるデータの読み出し及び書き込みを行うことで実現される。以下、図2に示す機能ブロックに基づいて、各機能ブロックを説明する。
【0041】
認証部20は、クライアント端末4のユーザの認証を行う。例えば、認証部20は、ユーザのアカウントとパスワードをチェックして、正規のユーザであることを認証する。
【0042】
入力部21は、認証部20によって認証されたユーザから、分散処理クラスタ3で処理するコマンドと、当該分散処理クラスタ3を識別するクラスタ識別子とを受け付ける。さらに、入力部21は、認証部20によって認証されたユーザの電子署名を受け付けてもよい。なお、ユーザの電子署名は後述の格納部32によるアクセスログを記録するために必要であるが、必要ない場合は電子署名に関するマルチクラスタ分散処理制御システム1における処理は省略してもよい。
【0043】
格納部22は、分散処理クラスタ3それぞれに関する設定ファイルを格納する。格納部22によって格納された設定ファイルは、認証部20によって認証された特定のユーザからのみ作成及び編集することができる。さらに、格納部22は、当該代表クライアント端末2の公開鍵暗号方式における秘密鍵を格納してもよい。
【0044】
コマンド解析・作成部23は、入力部21によって受け付けられたクラスタ識別子が示す分散処理クラスタ3の設定ファイルを格納部22から特定及び取得する。また、コマンド解析・作成部23は、後述の暗号化部24によって設定ファイルが暗号化された際に、必要に応じて、クライアント端末4のユーザに対して電子署名を要求する。コマンド解析・作成部23による電子署名の要求に対して入力部21がユーザの電子署名を受け付けた際、コマンド解析・作成部23は、入力部21によって受け付けられたコマンド及び電子署名と、後述の暗号化部24によって暗号化された設定ファイルとを分散処理クラスタ3に送信するよう送信部25に指示する。
【0045】
暗号化部24は、コマンド解析・作成部23によって特定及び取得された設定ファイルを暗号化する。暗号化部24は、設定ファイルを暗号化する際に、格納部22によって格納された当該代表クライアント端末2の秘密鍵を利用して暗号化してもよい。
【0046】
送信部25は、暗号化部24によって暗号化された設定ファイルと、入力部21によって受け付けられたコマンドとを、入力部21によって受け付けられたクラスタ識別子が識別する分散処理クラスタ3に送信する。さらに、送信部25は、入力部21によって受け付けられた電子署名を分散処理クラスタ3に送信してもよい。
【0047】
受信部26は、送信部25によって送信されたコマンドの処理結果を分散処理クラスタ3から受信する。受信した処理結果が暗号化されていた場合、受信部26は、格納部22によって格納された当該代表クライアント端末2の秘密鍵を利用して復号する。なお、この復号処理は、受信部26ではなく、コマンド解析・作成部23や暗号化部24が行ってもよいし、復号部(不図示)が行ってもよい。
【0048】
出力部27は、受信部26によって受信された処理結果を出力する。例えば、出力部27は、処理結果の元となるコマンドを送信してきたクライアント端末4に対して処理結果を送信してもよいし、処理結果を出力装置45に表示してもよい。
【0049】
なお、暗号化部24等で使う暗号化や電子署名の方法については特に規定しないが、非対称鍵を使い、暗号化または電子署名する鍵と、後述の復号部33により復号する鍵が異なる鍵を使うのが望ましい。また、秘密鍵はそれぞれの代表クライアント端末2及び分散処理クラスタ3のみで保持し、公開鍵はマルチクラスタ分散処理制御システム1を構築する際、または、分散処理クラスタ3に含まれる処理サーバを事前にセットアップする際に、静的に配布しておくことを前提とする。マルチクラスタ分散処理制御システム1は、非対称鍵を使うことで、共有鍵を使う場合に比べ、信頼できる第三者サーバを必要としない。
【0050】
(分散処理クラスタ3の構成)
次に、分散処理クラスタ3について詳細に説明する。図3は、分散処理クラスタ3の機能を示すブロック図である。この分散処理クラスタ3は、一つのマスタ3Mと、一つ以上のスレーブ3Sとを含んで構成されている。このマスタ3Mは、受信部30(コマンド受信手段)、認証部31(電子署名認証手段)、格納部32(ログ格納手段)、復号部33(復号手段)、判定部34(判定手段)及び送信部36(処理結果送信手段)を含んで構成されている。また、スレーブ3Sは、処理部35(処理手段)を含んで構成されている。
【0051】
なお、マスタ3Mは複数のサーバで構築され、各サーバに異なる上記機能を含んでいてもよい。また、マスタ3M及び一つ以上のスレーブ3Sは、一つのサーバとして構築されてもよい。
【0052】
このように構成された分散処理クラスタ3は、図4に示されるハードウェアにより構成されている。分散処理クラスタ3は、代表クライアント端末2と同様に、図4に示すコンピュータシステムとして構成されている。図3において説明した各機能は、代表クライアント端末2と同様に、図4に示すハードウェア上で実現される。以下、図3に示す機能ブロックに基づいて、各機能ブロックを説明する。
【0053】
受信部30は、代表クライアント端末2から暗号化された設定ファイルとコマンドとを受信する。さらに、受信部30は、代表クライアント端末2から電子署名を受信してもよい。
【0054】
認証部31は、受信部30によって受信された電子署名を認証する。なお、認証部31は、必要に応じて電子署名を認証してもよい。
【0055】
格納部32は、受信部30によって受信された電子署名のログを格納する。なお、認証部31による電子署名の認証の成否に関わらず、受信部30によって受信された電子署名のログを格納してもよい。さらに、格納部32は、マルチクラスタ分散処理制御システム1に含まれる代表クライアント端末2それぞれの公開鍵暗号方式における公開鍵を格納してもよい。
【0056】
復号部33は、受信部30によって受信された暗号化された設定ファイルを復号する。また、復号部33は、認証部31によって電子署名が認証された場合に、受信部30によって受信された暗号化された設定ファイルを復号してもよい。また、復号部33は、設定ファイルを復号する際に、格納部32によって格納された、設定ファイルを送信してきた代表クライアント端末2の公開鍵を利用して復号してもよい。
【0057】
判定部34は、復号部33によって復号された設定ファイルが当該分散処理クラスタ3の設定ファイルであるか否かを判定する。例えば、判定部34は、復号された設定ファイルに含まれる分散処理クラスタの属性である分散処理の管理・制御を行うサーバのアドレスが、当該分散処理クラスタ3のアドレスと同一であるか否かによって、復号された設定ファイルが当該分散処理クラスタ3の設定ファイルであるか否かを判定してもよい。
【0058】
処理部35は、判定部34によって当該分散処理クラスタ3の設定ファイルであると判定された場合に、受信部30によって受信されたコマンドを処理する。また、処理部35は、当該分散処理クラスタ3を構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの処理部35にてコマンドが分散処理されてもよい。その際、判定部34が、設定ファイルに含まれる内容に基づいて、どのスレーブサーバの処理部35にどのように分散処理するかを指示してもよい。
【0059】
なお、復号部33によって復号された設定ファイルが当該分散処理クラスタ3の設定ファイルでないと判定された場合、処理部35が処理をすることなく、復号部33は後述の送信部36に対して、設定ファイルが当該分散処理クラスタ3のものでない旨やエラーメッセージを処理結果として送信するように指示する。
【0060】
送信部36は、処理部35によって処理されたコマンドの処理結果を代表クライアント端末2に送信する。送信部36は、格納部32によって格納された、設定ファイルを送信してきた代表クライアント端末2の公開鍵を利用して処理結果を暗号化し、暗号化された処理結果を代表クライアント端末2に送信してもよい。なお、この暗号化処理は、送信部36ではなく、復号部33が行ってもよいし、暗号化部(不図示)が行ってもよい。
【0061】
(代表クライアント端末2の処理)
次に、本実施形態の代表クライアント端末2の処理について説明する。図5は、本実施形態の代表クライアント端末2における処理を示すシーケンス図である。以下、各ステップについて説明する。
【0062】
まず、格納部22により、分散処理クラスタ3それぞれに関する設定ファイルが予め格納される(S60、格納ステップ)。次に、認証部20により、クライアント端末4のユーザの認証が行われる(S61、ユーザ認証ステップ)。次に、入力部21により、S61において認証されたユーザから、分散処理クラスタ3で処理するコマンドと、当該分散処理クラスタ3を識別するクラスタ識別子とが受け付けられる(S62、入力ステップ)。次に、コマンド解析・作成部23により、S62において受け付けられたクラスタ識別子が示す分散処理クラスタ3の設定ファイルをS60において格納された設定ファイルから特定及び取得する(S63)。次に、暗号化部24により、S63において特定及び取得された設定ファイルが暗号化され(S64、暗号化ステップ)、暗号化された設定ファイルがコマンド解析・作成部23に送信される。
【0063】
次に、コマンド解析・作成部23により、クライアント端末4のユーザに対してユーザの電子署名が要求され、入力部21により、ユーザの電子署名が受け付けられる(S65)。次に、コマンド解析・作成部23により、S62において受け付けられたコマンドと、S64において暗号化された設定ファイルと、S65において受け付けられた電子署名とを分散処理クラスタ3に対して送信するよう送信部25に指示される。次に、送信部25により、コマンドと暗号化された設定ファイルと電子署名とが、S62において受け付けられたクラスタ識別子が識別する分散処理クラスタ3に送信される(S66、コマンド送信ステップ)。
【0064】
S66の後、分散処理クラスタ3側で後述のS81〜S87が実行される。S87の後、受信部26により、S87において送信されたコマンドの暗号化された処理結果が受信される(S67、処理結果受信ステップ)。次に、受信部26により、暗号化された処理結果が復号される(S68)。次に、出力部27により、S68において復号された処理結果が出力される(S69、出力ステップ)。
【0065】
(分散処理クラスタ3の処理)
次に、本実施形態の分散処理クラスタ3の処理について説明する。図6は、本実施形態の分散処理クラスタ3における処理を示すシーケンス図である。以下、各ステップについて説明する。
【0066】
上述のS66の後、受信部30により、S66において送信されたコマンドと暗号化された設定ファイルと電子署名とが受信される(S80、コマンド受信ステップ)。次に、認証部31により、S80において受信された電子署名が認証される(S81)。次に、格納部32により、S80において受信された電子署名がログとして格納される(S82)。なお、S81とS82の順番は逆でもよい。
【0067】
次に、復号部33により、S80において受信された暗号化された設定ファイルが復号される(S83、復号ステップ)。次に、判定部34により、S83において復号された設定ファイルが当該分散処理クラスタ3の設定ファイルであるか否かが判定される(S84、判定ステップ)。次に、処理部35により、S84において当該分散処理クラスタ3の設定ファイルであると判定された場合に、S80において受信されたコマンドが処理される(S85、処理ステップ)。次に、送信部36により、S85において処理されたコマンドの処理結果が暗号化される(S86)。次に、送信部36により、S86において暗号化された処理結果が代表クライアント端末2に送信される(S87、処理結果送信ステップ)。
【0068】
(マルチクラスタ分散処理制御システム1の作用効果)
次に、本実施形態の代表クライアント端末2及び分散処理クラスタ3を含むマルチクラスタ分散処理制御システム1の作用効果について説明する。
【0069】
本実施形態によれば、一つ以上のクライアント端末4から二つ以上の分散処理クラスタ3への処理命令が代表クライアント端末2によって中継される。これにより、マルチクラスタ分散処理制御システム1に係わる中継処理を代表クライアント端末2で一元化することができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0070】
また、本実施形態によれば、分散処理クラスタ3それぞれに関する設定ファイルは代表クライアント端末2の格納部22により格納される。これにより、設定ファイルは各クライアント端末4ではなく代表クライアント端末2に格納されるため、各クライアント端末4が自端末にて設定ファイルを意図的に変更したり、誤って編集したりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0071】
また、本実施形態によれば、代表クライアント端末2は、クライアント端末4のユーザの認証を認証部20が行った上で当該ユーザからコマンドとクラスタ識別子とを入力部21により受け付ける。これにより、認証されたユーザからのみ分散処理クラスタ3への処理命令を受け付けることができるので、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、代表クライアント端末2は、ユーザから処理対象の分散処理クラスタ3の設定ファイルではなく当該分散処理クラスタ3のクラスタ識別子を入力部21により受け付けるため、ユーザから受け付けた信頼できない設定ファイルを元に処理を行うことはなく、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0072】
また、本実施形態によれば、代表クライアント端末2は、入力部21により受け付けたクラスタ識別子が示す分散処理クラスタ3の設定ファイルを、格納部22によって格納された設定ファイルから暗号化部24が取得して暗号化し、分散処理クラスタ3は、代表クライアント端末2から受信部30により受信した暗号化された設定ファイルを復号部33により復号する。これにより、設定ファイルは代表クライアント端末2から分散処理クラスタ3に受け渡されるまで暗号化されているので、途中の経路で設定ファイルが第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。さらに、設定ファイルは、代表クライアント端末2及び分散処理クラスタ3にて暗号化及び復号されるので、暗号化及び復号のために第三の信頼できる端末は必要としないため、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0073】
また、本実施形態によれば、暗号化部24が設定ファイルを暗号化する際に、当該代表クライアント端末2の秘密鍵を利用して暗号化する。そして、復号部33が設定ファイルを復号する際に、設定ファイルを送信してきた代表クライアント端末2の公開鍵を利用して復号する。このように、非対称鍵を使うことで、共有鍵を使う場合に比べ、信頼できる第三者サーバを必要としない。また、マルチクラスタ分散処理制御システム1において二つ以上の代表クライアント端末2が含まれる場合でも、分散処理クラスタ3側で代表クライアント端末2それぞれの公開鍵を格納することで、安全かつ容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0074】
また、本実施形態によれば、分散処理クラスタ3は、復号された設定ファイルが当該分散処理クラスタ3の設定ファイルであると判定部34により判定された場合に、処理部35がコマンドを処理する。これにより、分散処理クラスタ3は、信頼できる代表クライアント端末2から当該分散処理クラスタ3に命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0075】
また、本実施形態によれば、分散処理クラスタ3により実行された処理の処理結果を代表クライアント端末2に送信する際、設定ファイルを送信してきた代表クライアント端末2の公開鍵を利用して処理結果を暗号化し、代表クライアント端末2に送信する。そして代表クライアント端末2側で、格納部22によって格納された当該代表クライアント端末2の秘密鍵を利用して処理結果を復号する。これにより、処理結果は分散処理クラスタ3から代表クライアント端末2に受け渡されるまで暗号化されているので、途中の経路で処理結果が第三者に改ざんされたり盗み読みされたりされず、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0076】
また、本実施形態によれば、マルチクラスタ分散処理制御システムにおける実際の処理を行う処理部35のみが一つ以上のスレーブサーバにそれぞれ備えられることにより、スレーブサーバを容易にスケールアウトすることができ、容易に制御できるマルチクラスタ分散処理環境を実現することができる。
【0077】
また、本実施形態によれば、分散処理クラスタ3は、受信部30が受信したユーザの電子署名の認証部31による認証に応じて暗号化された設定ファイルを復号するか否かを復号部33が判定する、すなわち、処理部35によりコマンドを処理するか否かを判定する。これにより、分散処理クラスタ3は、信頼できるクライアント端末4のユーザから当該分散処理クラスタ3に命令されたコマンドであるか否かに応じてコマンドを処理するか否かを判定することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0078】
また、本実施形態によれば、分散処理クラスタ3に処理を命令したクライアント端末4のユーザの電子署名のログを格納部32により格納することができる。これにより、分散処理クラスタ3に処理を命令してきたユーザを管理することができ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【0079】
また、本実施形態によれば、設定ファイルは特定のユーザからのみ作成及び編集することができるため、設定ファイルを第三者によって意図的に変更されたり、誤って編集されたりすることを防ぎ、安全に制御できるマルチクラスタ分散処理環境を実現することができる。
【符号の説明】
【0080】
1…マルチクラスタ分散処理制御システム、2・・・代表クライアント端末、20・・・認証部、21・・・入力部、22・・・格納部、23・・・コマンド解析・作成部、24・・・暗号化部、25・・・送信部、26・・・受信部、27・・・出力部、3・・・分散処理クラスタ、3M・・・マスタ、3S・・・スレーブ、30・・・受信部、31・・・格納部、32・・・認証部、33・・・復号部、34・・・判定部、35・・・処理部、36・・・送信部36、4・・・クライアント端末。

【特許請求の範囲】
【請求項1】
一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムであって、
前記代表クライアント端末は、
前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、
前記クライアント端末のユーザの認証を行うユーザ認証手段と、
前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、
前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、
前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、
前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、
前記処理結果受信手段によって受信された処理結果を出力する出力手段と、
を備え、
前記分散処理クラスタは、
前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、
前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、
前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、
前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、
前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、
を備える、
ことを特徴とするマルチクラスタ分散処理制御システム。
【請求項2】
前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理される、
ことを特徴とする請求項1に記載のマルチクラスタ分散処理制御システム。
【請求項3】
前記入力手段は、前記ユーザ認証手段によって認証されたユーザの電子署名を受け付け、
前記コマンド送信手段は、前記入力手段によって受け付けられた電子署名を前記分散処理クラスタに送信し、
前記コマンド受信手段は、前記代表クライアント端末から電子署名を受信し、
前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名を認証する電子署名認証手段をさらに備え、
前記復号手段は、前記電子署名認証手段によって電子署名が認証された場合に、前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する、
ことを特徴とする請求項1または2に記載のマルチクラスタ分散処理制御システム。
【請求項4】
前記分散処理クラスタは、前記コマンド受信手段によって受信された電子署名のログを格納するログ格納手段をさらに備える、
ことを特徴とする請求項3に記載のマルチクラスタ分散処理制御システム。
【請求項5】
前記格納手段によって格納された設定ファイルは、前記ユーザ認証手段によって認証された特定のユーザからのみ作成及び編集することができる、
ことを特徴とする請求項1〜4の何れか一項に記載のマルチクラスタ分散処理制御システム。
【請求項6】
一つ以上のクライアント端末から接続された代表クライアント端末であり、同一の処理を分散処理するための二つ以上の分散処理クラスタに対して処理のコマンドを送信する前記代表クライアント端末であって、
前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納手段と、
前記クライアント端末のユーザの認証を行うユーザ認証手段と、
前記ユーザ認証手段によって認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力手段と、
前記入力手段によって受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納手段から取得し、暗号化する暗号化手段と、
前記暗号化手段によって暗号化された設定ファイルと、前記入力手段によって受け付けられたコマンドとを、前記入力手段によって受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信手段と、
前記コマンド送信手段によって送信されたコマンドの処理結果を前記分散処理クラスタから受信する処理結果受信手段と、
前記処理結果受信手段によって受信された処理結果を出力する出力手段と、
を備える、
ことを特徴とする代表クライアント端末。
【請求項7】
前記処理手段は、当該分散処理クラスタを構成する一つ以上のスレーブサーバにそれぞれ備えられ、それぞれの前記処理手段にてコマンドが分散処理される、
ことを特徴とする請求項6に記載の代表クライアント端末。
【請求項8】
同一の処理を分散処理するための二つ以上の分散処理クラスタであり、一つ以上のクライアント端末から接続された代表クライアント端末から処理のコマンドを受信する前記分散処理クラスタであって、
前記代表クライアント端末から暗号化された設定ファイルとコマンドとを受信するコマンド受信手段と、
前記コマンド受信手段によって受信された暗号化された設定ファイルを復号する復号手段と、
前記復号手段によって復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定手段と、
前記判定手段によって当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信手段によって受信されたコマンドを処理する処理手段と、
前記処理手段によって処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信手段と、
を備える、
ことを特徴とする分散処理クラスタ。
【請求項9】
一つ以上のクライアント端末から接続された代表クライアント端末と、同一の処理を分散処理するための二つ以上の分散処理クラスタとを含むマルチクラスタ分散処理制御システムにより実行されるマルチクラスタ分散処理制御方法であって、
前記代表クライアント端末が、前記分散処理クラスタそれぞれに関する設定ファイルを格納する格納ステップと、
前記代表クライアント端末が、前記クライアント端末のユーザの認証を行うユーザ認証ステップと、
前記代表クライアント端末が、前記ユーザ認証ステップにおいて認証されたユーザから、前記分散処理クラスタで処理するコマンドと、当該分散処理クラスタを識別するクラスタ識別子とを受け付ける入力ステップと、
前記代表クライアント端末が、前記入力ステップにおいて受け付けられたクラスタ識別子が示す前記分散処理クラスタの設定ファイルを前記格納ステップにおいて格納された設定ファイルから取得し、暗号化する暗号化ステップと、
前記代表クライアント端末が、前記暗号化ステップにおいて暗号化された設定ファイルと、前記入力ステップにおいて受け付けられたコマンドとを、前記入力ステップにおいて受け付けられたクラスタ識別子が識別する前記分散処理クラスタに送信するコマンド送信ステップと、
前記分散処理クラスタが、前記コマンド送信ステップにおいて送信された暗号化された設定ファイルとコマンドとを受信するコマンド受信ステップと、
前記分散処理クラスタが、前記コマンド受信ステップにおいて受信された暗号化された設定ファイルを復号する復号ステップと、
前記分散処理クラスタが、前記復号ステップにおいて復号された設定ファイルが当該分散処理クラスタの設定ファイルであるか否かを判定する判定ステップと、
前記分散処理クラスタが、前記判定ステップにおいて当該分散処理クラスタの設定ファイルであると判定された場合に、前記コマンド受信ステップにおいて受信されたコマンドを処理する処理ステップと、
前記分散処理クラスタが、前記処理ステップにおいて処理されたコマンドの処理結果を前記代表クライアント端末に送信する処理結果送信ステップと、
前記代表クライアント端末が、前記処理結果送信ステップにおいて送信されたコマンドの処理結果を受信する処理結果受信ステップと、
前記代表クライアント端末が、前記処理結果受信ステップにおいて受信された処理結果を出力する出力ステップと、
を含む、
ことを特徴とするマルチクラスタ分散処理制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−108650(P2012−108650A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−255891(P2010−255891)
【出願日】平成22年11月16日(2010.11.16)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】