説明

ジョブ実行装置及びその制御方法

【課題】 エンドユーザのコンピュータ機器の遊休リソースをP2P(Peer to Peer)やグリッドコンピューティング等に有効活用する。その際、エンドユーザのリソースを安全に保護し、かつ、外部コンピュータ機器から要求されたジョブを安全に保護する。
【解決手段】 仮想マシンモニタ2が、当該仮想マシンモニタの管理専用に設けられる管理専用仮想マシン3と、外部コンピュータ向けのジョブを実行するサービス用仮想マシン4と、エンドユーザ向けのジョブを実行するエンドユーザ用仮想マシン5とを備える。また、外部コンピュータとの通信を暗号化する通信暗号化機能6,8を備え、かつ、管理専用仮想マシン3は、当該管理専用仮想マシンへのアクセスを許可するノード管理サーバの正当性を当該アクセスを許可する前に確認する機能を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、並列処理システムに係り、特に、仮想マシンモニタを利用した並列処理システムに関する。
【背景技術】
【0002】
1台のコンピュータ上で複数のOS(Operating System)を制御するプログラムとして、仮想マシンモニタが知られている。特に、英国ケンブリッジ大学で開発が進められたXen(商標)やVMware社のVMware(登録商標)等は広く知られた仮想マシンモニタである。
【0003】
この仮想マシンモニタを用いると、1台のコンピュータが複数の異なるOSを制御し、各OS上で異なるジョブを並列に処理することができる。仮想マシンモニタは、複数の仮想マシンを実行し、各仮想マシンは、互いに異なるOSを動作させることができる。
【0004】
なお、出願人はこの技術に関する公知技術文献の存在を知らない。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本願は、上記仮想マシンモニタを利用し、エンドユーザのジョブと、外部コンピュータ機器から要求されたジョブとを並列に処理し、エンドユーザのコンピュータ機器の遊休リソースをP2P(Peer to Peer)やグリッドコンピューティング等に有効活用する。その際、エンドユーザのリソースを外部コンピュータ機器のアクセスから安全に保護し、かつ、外部コンピュータ機器から要求されたジョブをエンドユーザの操作から安全に保護することを課題とする。
【課題を解決するための手段】
【0006】
そこで、本願発明のジョブ実行装置では、以下の構成を採用する。即ち、仮想マシンモニタを備えたジョブ実行装置において、仮想マシンモニタが、当該仮想マシンモニタの管理専用に設けられる管理専用仮想マシンと、外部コンピュータ向けのジョブを実行するサービス用仮想マシンと、ジョブ実行装置のエンドユーザ向けのジョブを実行するエンドユーザ用仮想マシンとを備える。このうち、管理専用仮想マシン及びサービス用仮想マシンは、外部コンピュータとの通信を暗号化する通信暗号化機能を備える。かつ、管理専用仮想マシンは、当該管理専用仮想マシンへのアクセスを許可するノード管理サーバの正当性を当該アクセスを許可する前に確認する機能を備える。
【0007】
また、上記ジョブ実行装置の制御方法は、以下の手順とする。先ず、管理専用仮想マシンに装備されたノード管理クライアントが、ノード管理システムに装備されたノード管理サーバにアクセスする。このアクセスに対し、前記ノード管理サーバが、自己のサーバ証明書を記憶領域から読み出し、ノード管理クライアントに送信する。当該ノード管理クライアントは、ノード管理サーバの発行したサーバ証明書を受信し、このサーバ証明書に基づいてノード管理サーバの正当性を確認する。当該ノード管理サーバの正当性を確認できた場合、ノード管理クライアントが、ノード認証キーを記憶領域から読み出し、ノード管理サーバへ送信する。当該ノード管理サーバが、ノード管理クライアントから送信されたノード認証キーを受信し、このノード認証キーに基づいてノード管理クライアントの正当性を確認する。当該ノード管理クライアントの正当性を確認できた後においては、ノード管理サーバが、ノード管理クライアントに対し制御コマンドを発行する。このコマンドを受信したノード管理クライアントが、当該受信したコマンドに対応する処理を実行し、当該コマンドに対応した制御を仮想マシンモニタに対して施す。
【0008】
ここで、上記ノード認証キーは、ジョブ実行装置の生産時に記憶領域に書き込むようにしてもよい。
【発明の効果】
【0009】
以上のように、仮想マシンモニタを採用し、サービス用仮想マシンと、エンドユーザ用仮想マシンとを別々に設けることにより、これらの仮想マシンで実行される各OSは同列のOSとなり、各OS用のメモリ領域はアイソレーション(分離)され、メモリ領域の互いの干渉が不可能になると共に、大容量記憶装置に構築される各OSのファイルシステムもアイソレーションされる。このため、エンドユーザからはサービス用仮想マシンの処理は見えない。また、エンドユーザのジョブがサービス用仮想マシンで取り扱うデータ等にアクセスすることや、逆に、サービス用仮想マシンのジョブがエンドユーザのデータ等にアクセスする事態が防止され、処理の信頼性及び安全性が保たれる。また、サービス用仮想マシンが行う通信は通信暗号化機能によって暗号化できるので、エンドユーザや第三者がサービス用仮想マシンにおける通信を傍受する事態も防止される。
【0010】
また、上記の制御方法を採用した場合は、管理専用仮想マシンの側に、ネットワークサーバ機能を用意する必要がないため、ネットワーク越しに管理専用仮想マシンへ接続することはできない。このため、エンドユーザや第三者が管理専用仮想マシンにアクセスし、仮想マシンモニタを制御することはできず、仮想マシンモニタ及び各仮想マシンにおけるセキュリティ状態を保護することができる。また、ノード管理クライアントとノード管理サーバとの間の通信は暗号化することができるので、通信の盗聴や改竄のリスクも少ない。
【0011】
また、ノード認証キーをジョブ実行装置の生産時に記録しておく場合は、管理専用仮想マシンにクライアント証明書を用意しなくても、正当なクライアントであることを確認できる。クライアント証明書を用意する必要がないので、ノードクライアントにかかるコストを比較的安価に抑えることができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の一実施形態を説明する。この実施例では、仮想マシンモニタとして、Xen(商標)を使用している。
【0013】
図1において、クライアントノードは、パソコンや家庭用ゲーム機等のコンピュータ機器であって、インターネットに接続し通信可能となっている。図1ではクライアントノードA,Bの2台しか図示していないが、クライアントノードは3台以上の複数が存在してもよい。また、P2Pジョブ管理システム100と、ノード管理システム200もまたインターネットに接続され、クライアントノードA,Bとの通信が可能となっている。クライアントノードA,Bは、エンドユーザのジョブを処理することに加え、P2Pジョブ管理システム100の管理下において、クライアントノード相互間のP2P通信を伴ったジョブを実行できるようになっている。ノード管理システム200は、クライアントノードA,Bにコマンドを発行し、クライアントノードの動作環境を制御する機能を有する。このため、ノード管理システム200は、ノードクライアントA,Bと通信するためのノード管理サーバ210を実行する。ノード管理サーバ210は、ノードクライアントA,Bに送付するためのサーバ証明書Sを記憶領域に格納している。
【0014】
クライアントノードA,Bの構成は、図2に示すようになっている。ハードウェア1は、コンピュータ機器の一般的な要素を備えており、エンドユーザの指示を入力する入力装置、エンドユーザに情報を出力する出力装置、インターネットを介して通信を行う通信装置、処理に伴う情報を記憶する記憶装置及びこれら各装置と連携して処理を実行する処理装置とを具備する。ハードウェア上では仮想マシンモニタ2が実行される。更に、仮想マシンモニタ2は、3つの仮想マシン3,4,5を実行する。
【0015】
3つの仮想マシン3,4,5は、その一つを仮想マシンモニタ2の管理専用とし(以下、これを管理専用仮想マシン3という)、もう一つはP2Pサービス用とし(以下、これをP2Pサービス用仮想マシン4という)、他の一つはエンドユーザ用とする(以下、これをエンドユーザ用仮想マシン5という)。各仮想マシン3,4,5には、仮想マシンモニタ2が、各仮想マシン3,4,5を識別するための識別子が付与されている。
【0016】
このうち、管理専用仮想マシン3は、他の仮想マシンを管理する特権を持ち、物理ハードウェアにアクセスするためのデバイス・ドライバや,ほかのドメインを管理するための管理コマンドなどを備えている。管理専用仮想マシン3は、仮想マシンモニタ2を管理するための所定のOSを実行する。当該OS上では、ノード管理サーバ210と通信するためのノード管理クライアント7が実行される。また、当該OS上では、インターネットを通じた通信を必要に応じて暗号化して行うための通信暗号化機能6が提供される。更に、管理専用仮想マシン3には、ノードクライアントの正当性をノード管理サーバに対して示すためのノード認証キーCが記録されている。管理専用仮想マシン3では、エンドユーザの入力装置による入力やエンドユーザの出力装置への出力を行う手段を持たない。その方法としては、具体的には、エンドユーザ用仮想マシン5からのドライバ類へのアクセス処理依頼に対応するためデバイスのドライバは持つが、当該OSで実行されるプログラムがこれらのエンドユーザ向けのデバイスとの入出力を受け付けないようにすることが考えられる。
【0017】
また、P2Pサービス用仮想マシン4は、P2Pサービスのジョブの実行を前提とした所定のOSを実行し、当該OS上では、P2Pサービスのジョブを処理するための所定のアプリケーションが実行される。更に、当該OS上では、管理専用仮想マシン3と同様に、インターネットを通じた通信を必要に応じて暗号化して行うための通信暗号化機能8が提供される。これに加え、大容量記憶装置11に構築されたファイルシステムに格納するファイルを暗号化するファイル暗号化機能9も備えている。P2Pサービス用仮想マシン4では、エンドユーザの入力装置による入力やエンドユーザの出力装置への出力を行う手段を持たない。その方法としては、具体的には、当該OSの機能としてこれらの手段を提供しないようにする、当該OSで実行されるプログラムがこれらのエンドユーザ向けのデバイスとの入出力を受け付けないようにするといったことが考えられる。
【0018】
また、エンドユーザ用仮想マシン5は、エンドユーザのジョブの実行を前提とした所定のOSを実行し、当該OS上では、エンドユーザのジョブを処理するための所定のアプリケーションが実行される。必要に応じた通信暗号化もなされる。
仮想マシン4,5が物理ハードウェアを使用する場合は,仮想マシンモニタ経由で仮想マシン3の持つドライバ類にアクセス処理を依頼する。
【0019】
仮想マシンモニタ2は、上記の複数の仮想マシン3,4,5の動作プライオリティを設定するプライオリティ設定機能2aを備えている。本実施形態において、プライオリティ設定機能は、エンドユーザ用仮想マシン5の処理が優先されるように設定されている。
【0020】
続いて、仮想マシンモニタ2の具体例を図3に示す。仮想マシンモニタ2としてXen(商標)を採用した場合、各仮想マシン3,4,5の識別子としてXen(商標)における仮想マシンの管理単位であるドメインを用い、仮想マシン3をドメイン0、仮想マシン4をドメインU1、仮想マシン5をドメインU2とする。また、通信暗号化機能6,8としては、SSL(Secure Socket Layer)の採用が考えられる。また、ノード認証キーCの実装方法としては、ノードクライアントの装置の生産時に、秘密の文字列を仮想マシン3が管理する、仮想マシン4,5がアクセスできない記憶領域に書き込むことが考えられる。
【0021】
また、仮想マシンモニタとしてVMWare(商標)を使用するのであれば、Xen(商標)での実施例における仮想マシンモニタ、仮想マシン3の代わりにハードウェアを制御する主OSとしてWindows(登録商標)やLinux(商標)等のOSを導入し、主OS上で仮想マシンモニタのVMWare(商標)を実行するという構成とし、VMWare(商標)上で動作する仮想マシンとして仮想マシン4,5を実行するという構成にしてもよい。
【0022】
以上のように、仮想マシンモニタ2を採用し、P2Pサービス用仮想マシン4と、エンドユーザ用仮想マシン5とを別々に設けることにより、各仮想マシン4,5で実行される各OSは同列のOSとなり、各OS用のメモリ領域はアイソレーション(分離)され、メモリ領域の互いの干渉が不可能になると共に、大容量記憶装置11に構築される各OSのファイルシステムもアイソレーションされる。このため、エンドユーザからはP2P処理の内容は見えない。また、エンドユーザのジョブがP2Pサービスのデータ等にアクセスすることや、逆に、P2Pサービスのジョブがエンドユーザのデータ等にアクセスする事態が防止され、処理の信頼性及び安全性が保たれる。また、P2Pサービス用仮想マシン4が行う通信は通信暗号化機能8によって暗号化できるので、エンドユーザや第三者がP2Pサービスに関する通信を傍受する事態も防止される。
【0023】
しかしながら、エンドユーザや第三者が管理専用仮想マシン3にアクセスし、仮想マシンモニタ2を制御することを許してしまうと、各仮想マシンのセキュリティ状態が崩されるおそれがある。そこで、本発明では、エンドユーザや権限のない第三者が管理専用仮想マシン3にアクセスできないように工夫を取り入れている。その工夫を次に説明する。
【0024】
まず、管理専用仮想マシン3のOSでは、キーボード、マウス、ディスプレイなど、エンドユーザが操作できる入力装置、出力装置との入力、出力の手段を持たせないようにし、管理専用仮想マシン3には、ネットワーク経由でのみアクセスできるようにする。
【0025】
図4は、管理専用仮想マシン3において実行されるノード管理クライアント7と、ノード管理システム200との間で行われる通信手順を示している。通信手順は図の上から下に向かって時系列に並んでいる。
【0026】
まず、ノード管理システム200がノード管理クライアント7にコマンドを発行するためには、両者の通信を接続する必要がある。両者の接続は、ノード管理クライアント7の側からノード管理システム200へアクセスすることによって行う(S1)。このステップは、例えば管理専用仮想マシン3のOSが起動したあとに自動的にされるようにする。このアクセスに対し、ノード管理サーバ210は、自己のサーバ証明書を記憶領域から読み出し、ノード管理クライアント7に送信する(S2)。ノード管理クライアント7は、ノード管理サーバ210が発行したサーバ証明書を受信し、このサーバ証明書に基づいてノード管理システム200の正当性を確認する(S3)。
【0027】
ノード管理システム200の正当性を確認できた場合、ノード管理クライアント7は、ノード認証キーCを記憶領域から読み出し、ノード管理システム200へ送信する(S4)。ノード管理システム200は、ノード管理クライアント7から送信されたノード認証キーCを受信し、このノード認証キーCに基づいてノード管理クライアント7の正当性を確認する(S5)。
【0028】
ノード管理クライアント7の正当性を確認できた後においては、ノード管理システム200は、ノード管理クライアント7に対し、必要な時に、必要な制御コマンドを発行する(S6)。このコマンドを受信したノード管理クライアント7は、当該受信したコマンドに対応する処理を実行し、当該コマンドに対応した制御を仮想マシンモニタ2に対して施す(S7)。コマンドに対応する処理が完了すると、ノード管理クライアント7は、当該処理の結果をノード管理システム200に通知する(S8)。
【0029】
これにより、ノードクライアントA,Bの仮想マシンモニタ2は、権限のあるノード管理システム200によって適切に制御される。そして、当該制御された仮想マシンモニタ2の上で、P2Pサービス用仮想マシン4は、P2Pジョブ管理システム100の管理の下にP2Pサービスのジョブを実行する。同時に、制御された仮想マシンモニタ2の上で、エンドユーザ用仮想マシン5は、エンドユーザに要求されたジョブを実行する。
【0030】
また、上記の通信手順によれば、管理専用仮想マシン3に、ネットワークサーバ機能を用意する必要がないため、ネットワーク越しに管理専用仮想マシン3へ接続することはできない。このため、エンドユーザや第三者が管理専用仮想マシン3にアクセスし、仮想マシンモニタ2を制御することはできず、仮想マシンモニタ2及び各仮想マシンにおけるセキュリティ状態を保護することができる。また、ノード管理クライアントとノード管理サーバとの間の通信は暗号化することができるので、通信の盗聴や改竄のリスクも少ない。また、ノード認証キーCを生産時に記録しておけば、管理専用仮想マシンにクライアント証明書を用意しなくても、正当なクライアントであることを確認できる。クライアント証明書を用意する必要がないので、ノードクライアントにかかるコストを比較的安価に抑えることができる。
【0031】
ところで、上記の実施形態では、識別子ドメインU1の仮想マシン4で行われる処理をP2Pサービスのジョブとして説明したが、P2Pサービスのジョブに限られるものではない。例えば、グリッドコンピューティングのジョブでもよい。具体例としては、ノードクライアントAのエンドユーザが依頼した高度な情報検索ジョブを、ノードクライアントAとBの識別子ドメインU1の仮想マシン4に分散し、高度な情報検索のジョブを行わせること等が考えられる。また、各クライアントでのP2Pサービス用仮想マシン4、エンドユーザ用仮想マシン5の識別子は共通でなくてもよい。管理専用仮想マシン3、P2Pサービス用仮想マシン4では、セキュリティ維持の観点から考えて差し支えのない情報についてはエンドユーザのキーボードなどのクライアント機器からの問合せを受け付けるようにする、モニターなどの出力装置に出力されるようにする等してもよい。エンドユーザがノード認証キーCをハードディスクの中身を調べて不正に直接知る可能性があるが、これについては、ノード認証キーCはあらかじめ暗号化されて保存されており、ノード管理システム200との通信時に管理専用仮想マシン3上で復号されて利用されるようにするといった対策が考えられる。管理専用仮想マシン3が持つほかのドメインを管理するための管理コマンドの内容を他のドメインの起動、終了などだけに限定すれば、何らかの方法でノード認証キーがエンドユーザに漏洩してしまったとしても、P2Pサービス用仮想マシンは、P2Pジョブ管理システム100管理下の作業を、不正に妨害されることなく実行できる。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施形態を示すブロック図である。
【図2】図1に示すノードクライアントの構成図である。
【図3】図2に示すノードクライアントの具体例を示す構成図である。
【図4】ノード管理クライアントとノード管理サーバとの間の通信手順を示す流れ図である。
【符号の説明】
【0033】
1 ノードクライアントのハードウェア
2 仮想マシンモニタ
2a プライオリティ設定機能
3 管理専用仮想マシン
4 P2Pサービス用仮想マシン
5 エンドユーザ用仮想マシン
6,8 通信暗号化機能
7 ノード管理クライアント
9 ファイル暗号化機能
100 P2Pジョブ管理システム
200 ノード管理システム
210 ノード管理サーバ
A,B ノードクライアント
C ノード認証キー
S サーバ証明書

【特許請求の範囲】
【請求項1】
仮想マシンモニタを備えたジョブ実行装置において、
前記仮想マシンモニタが、当該仮想マシンモニタの管理専用に設けられる管理専用仮想マシンと、外部コンピュータ向けのジョブを実行するサービス用仮想マシンと、前記ジョブ実行装置のエンドユーザ向けのジョブを実行するエンドユーザ用仮想マシンとを備え、
前記管理専用仮想マシン及び前記サービス用仮想マシンは、外部コンピュータとの通信を暗号化する通信暗号化機能を備え、
かつ、前記管理専用仮想マシンは、当該管理専用仮想マシンへのアクセスを許可するノード管理サーバの正当性を当該アクセスを許可する前に確認する機能を備えていることを特徴としたジョブ実行装置。
【請求項2】
請求項1記載のジョブ実行装置をノード管理システムから遠隔制御する方法であって、
先ず、前記管理専用仮想マシンに装備されたノード管理クライアントが、前記ノード管理システムに装備されたノード管理サーバにアクセスするステップと、
このアクセスに対し、前記ノード管理サーバが、自己のサーバ証明書を記憶領域から読み出し、前記ノード管理クライアントに送信するステップと、
当該ノード管理クライアントは、ノード管理サーバの発行した前記サーバ証明書を受信し、このサーバ証明書に基づいて前記ノード管理サーバの正当性を確認するステップと、
当該ノード管理サーバの正当性を確認できた場合、ノード管理クライアントが、ノード認証キーを記憶領域から読み出し、ノード管理サーバへ送信するステップと、
当該ノード管理サーバが、ノード管理クライアントから送信されたノード認証キーを受信し、このノード認証キーに基づいてノード管理クライアントの正当性を確認するステップと、
当該ノード管理クライアントの正当性を確認できた後において、前記ノード管理サーバが、前記ノード管理クライアントに対し制御コマンドを発行するステップと、
このコマンドを受信したノード管理クライアントが、当該受信したコマンドに対応する処理を実行し、当該コマンドに対応した制御を前記仮想マシンモニタに対して施すステップと、
を備えたことを特徴とするジョブ実行装置の制御方法。
【請求項3】
請求項1記載のジョブ実行装置において、
請求項2記載のノード認証キーを前記ジョブ実行装置の生産時に記憶領域に書き込むことを特徴としたジョブ実行装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−171076(P2008−171076A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−1559(P2007−1559)
【出願日】平成19年1月9日(2007.1.9)
【出願人】(399014484)ヴィジョンアーツ株式会社 (19)
【Fターム(参考)】