(57)【特許請求の範囲】
【請求項１】
ハードディスクを搭載しない複数のクライアントPCと、複数のPCブレードが搭載された第１のサーバと、各クライアントPCと各PCブレードとの対応付けを行う第２のサーバとから成り、各PCブレードは自PCブレードの電源を制御する電源制御機構を内蔵し、前記第２のサーバは各クライアントPCからの接続要求に対して各クライアントPCに対応付けされたPCブレードに内蔵された電源制御機構に電源状態取得コマンドを送信し、前記電源状態取得コマンドを受信した前記電源制御機構は当該PCブレードの電源ON/OFF状態を前記第２のサーバに返信し、前記第２のサーバは前記返信が電源OFF状態であった場合に前記電源制御機構に電源ONコマンドを送信し、前記電源ONコマンドを受信した前記電源制御機構は当該PCブレードの電源をONにした後に前記前記第２のサーバに実行完了を返信し、前記第２のサーバは前記実行完了を受信後に前記接続要求を行ったクライアントPCに当該クライアントPCに対応付けされたPCブレードのIPアドレスを送信する電源制御機構の制御インタフェースを有する計算機システムにおいて、複数の仮想PCが構築された第３のサーバを設け、前記仮想PC上に前記PCブレードに内蔵される電源制御機構の制御インタフェースと互換性を有する仮想電源制御機構ソフトウェアを搭載し、各クライアントPCと各仮想PCとの対応付けを前記第２のサーバが行い、前記仮想PCでは前記PCブレードに内蔵された電源制御機構の代わりに前記仮想電源制御機構ソフトウェアで構築された仮想電源制御機構が動作し、前記電源状態取得コマンドを受信した前記仮想電源制御機構は当該仮想PC上のOS稼動状況を電源ON/OFF状態として前記第２のサーバに返信し、前記電源ONコマンドを受信した前記仮想電源制御機構は当該仮想PCにシステム起動を指示した後に前記前記第２のサーバに実行完了を返信することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
大量のクライアントPCの運用管理コスト削減、またPCの盗難・紛失などによる情報流出の防止を目的としてハードディスクを搭載しないセキュリティPCから、センタに集約し、一元管理されたクライアントPCにリモートで接続し利用するクライアント統合システムが各社より提供されている。クライアントPCの集約の方法は大きく分けて、ブレードPCを用いた方法と、1台の物理的なコンピュータのプロセッサ、メモリ等を論理的に分割し複数の仮想的なコンピュータとして利用するサーバ仮想化技術を用いた仮想PC型の2種類がある。
【０００２】
本発明は、仮想PCに係わり、ブレードPC型と仮想PC型を混在させたクライアント統合システムを容易に実現する方法に関する。
【背景技術】
【０００３】
ブレード型クライアントPCにより多数のクライアントPCを統合するブレードPC型クライアント統合システムは、各個人に割り当てるクライアントPCが物理的に存在するため管理が容易であり、また1台のPCブレードが故障しても他のブレードPCには影響を及ぼさないなどのメリットがある。しかし、1台1台のクライアントPCが物理的に必要となるため、一定以上の台数を集約することは難しい。
【０００４】
サーバ仮想化技術を用いた仮想PC型クライアント統合システムは、1台の物理的なコンピュータの上に仮想的なPCを構成するため、物理的なコンピュータに障害が発生するとその物理コンピュータ上の仮想PCすべてに障害が伝播する可能性があるという問題があるが、コンピュータの性能向上に従って1台の物理サーバ上により多くの仮想PCを集約することができるようになるため、ブレードPC型に比べスペース的、コスト的に優位となる。また、ハードウェアによるサーバ仮想化機構などにより高い信頼性を持ったサーバ仮想化が可能な製品が提供され始めるなど、将来的にはセキュアPCによるクライアント統合はサーバ仮想化技術を用いた仮想PC型クライアント統合システムが主流になると考えられる。
【０００５】
【特許文献１】特開２００５−２３５１５９号公報
【特許文献２】特開２００５−３３９５２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ブレードPC型と仮想PC型のクライアント統合システムは、センタに集約されたクライアントPCの管理・制御の方法が異なる。このため、現在ブレードPC型クライアント統合システムを採用しているユーザが、これを仮想PC型クライアント統合システムに入れ替える場合には、セキュリティPCとブレードPCとの接続を管理するブレードPCコントロールサーバとブレードPCを、あるいはシステム全体を入れ替える必要がある。また、2つの全く異なる管理・制御方法のクライアント統合システムが並存しないようにするためには、大量のブレードPCを含め一度に入れ替える必要があるなどの課題がある。
【課題を解決するための手段】
【０００７】
PCブレードには、ブレードPCコントロールサーバからの指示を受けてPCブレードの電源制御を行うハードウェアである電源制御機構が搭載されている。通常、電源制御機構は、PCブレードの電源制御のほか、PCブレードの状態取得や、障害検知等の制御を行うBMC(Baseboard Management Controller)に内蔵されていることが多い。本発明では、この電源制御機構の制御インタフェースと互換性を有するソフトウェアである仮想電源制御機構を仮想PC上に搭載することで、ブレードPC型クライアント統合システムに容易に仮想PCを追加・混在を実現する。
【発明の効果】
【０００８】
本発明により、ブレードPC型クライアント統合システムで使用しているセキュリティPC、ブレードPCコントロールサーバを入れ替えることなく、ブレードPC型クライアント統合システムの管理・制御方法の中に、仮想PCを追加、混在させることにより、ブレードPC型クライアント統合システムから、徐々に仮想PC型クライアント統合システムに移行することができ、段階的かつ最適な移行工数・コストによる移行が可能となる。
【発明を実施するための最良の形態】
【０００９】
図１は本発明を実現するシステム全体を示しており、例として10台のPCブレードを搭載したブレードPC1台によるブレードPC型クライアント統合システムに、10台の仮想PCに論理的に分割された仮想PC用サーバ1台を追加した、ブレードPCと仮想PCが混在したクライアント統合システムの実施の一形態を示している。
【００１０】
ブレードPC 10は、PCブレード 101からPCブレード 110までの10台のPCブレードを搭載するブレードPCである。各PCブレードはそれぞれが独立した1台のクライアントPCとして機能する。この図では、各PCブレードは内部にOS等のシステムおよびアプリケーション、データを記憶するハードディスクを内蔵している。このハードディスクはPCブレードに内蔵されず外付けのディスクアレイ装置として接続される例もある。PCブレード 101は内部にPCブレードのリモート電源制御を行うハードウェアである電源制御機構 1011を内蔵している。この電源制御機構により、ブレードPCコントロールサーバ20からネットワークを介して送られてくるPCブレードの電源ON/OFFなどの指示を実行する。
【００１１】
ブレードPCコントロールサーバ 20は各ブレードPCとユーザが操作するセキュリティPCとの対応づけを行うサーバである。対応付けを行うためのブレードPCコントロールプログラム 201と、どのユーザにどのブレードPCが割り当てられているかが登録されているPCブレード割当DB(データベース) 202から構成される。
【００１２】
仮想PC用サーバ 30は、サーバ仮想化機能により、論理的に複数のコンピュータとして利用可能な機能を備えたサーバである。サーバ仮想化機能には、大きく分けてソフトウェアによるものとハードウェアによるものの2種類があるが、この実施例では、ハードウェアによるサーバ仮想化機構301により、仮想PC 30101から仮想PC 30110に論理的に分割されている。各仮想PCは、仮想PC用サーバ 30の持つ物理的なプロセッサ、メモリ、I/Oなどを、サーバ仮想化機構301により論理的に分割し割り当てられているため、PCブレード 101〜110のようにそれぞれ物理的なサーバとしては存在していない。各仮想PC用のOS等のシステムおよびアプリケーション、データを記憶するハードディスクは、仮想PC用サーバ 30にFC(ファイバチャネル)スイッチ 40を介して接続されているディスクアレイ 50に集約されている。仮想PC 30101が、OS等のシステムやアプリケーションを読み込んだり、あるいは業務のデータを読み書きする場合は、仮想PC用サーバ 30の持つFC(ファイバチャネル)インタフェース 302を介して仮想PC30101用のハードディスク 501に対してアクセスが行われる。FCインタフェース 302は、各仮想PCで共有されており、仮想PC 30101以外の仮想PCがディスクにアクセスする場合も、同様にFCインタフェース 302を介してアクセスが行われる。
【００１３】
ブレードPC 10およびブレードPCコントロールサーバ 20、仮想PC用サーバ 30はLANにより接続されており、互いに通信を行うことができるようになっている。また、このネットワークには、ルータ 60、インターネット 70を介して、ユーザが実際の作業を行うセキュリティPC 801〜810が接続されている。
【００１４】
図2は、電源制御機構を含むPCブレードのブロック図を示したものである。LANコネクタ 9011はPCブレード 101をLANに接続するためのコネクタである。DC電源コネクタ 9021はPCブレード 101にDC電源を供給するためのコネクタである。図1のブレードPC 10のシャーシに挿入することで、PCブレード 101のLANコネクタ 9011、DC電源コネクタ 9021が、ブレードPC 10のシャーシ内にあるLANコネクタ、DC電源コネクタに接続される。LANコネクタ 9011はEthernet(登録商標)コントローラ 9012に接続されている。Ethernet(登録商標)コントローラ 9012はPCブレード 10におけるLANを介したデータ送信および受信処理を行うものである。DC電源コネクタ 9021はDC電源コントローラ 9022に接続されている。DC電源コントローラ 9022は、プロセッサ  9031、メモリ 9032等を含むPCブレード本体回路 903への電源供給のON/OFFを行う。Ethernet(登録商標)コントローラ 9012およびDC電源コントローラ 9022は、電源制御機構 1011に接続されている。電源制御機構 1011は、Ethernet(登録商標)コントローラ 9012を介して、図1のブレードPCコントロールサーバからの電源状態確認、電源制御などのコマンドに対して受信および返信することが可能である。また電源制御機構 1011は、DC電源コントローラ 9022を介して、PCブレード本体回路 903へのDC電源供給状態、DC電源ON/OFFなど電源制御などを行うことが可能である。電源制御機構 1011、Ethernet(登録商標)コントローラ、DC電源コントローラには、PCブレード本体の電源ON/OFF状態に関わらず常に電源が供給されており、PCブレード本体回路 903が電源OFFの状態でも動作可能となっている。
【００１５】
図3は、図1のPCブレード割当DB 202に登録される情報の例を示したものである。PCブレード割当DB 202には、各ユーザに対してどのPCブレードあるいは仮想PCが割当てられているかの情報が登録されている。各ユーザはユーザID情報として、各PCブレードまたは仮想PCはIPアドレスとして登録されている。PCブレード割当DB 202では、PCブレードまたは仮想PCはIPアドレスによって区別されるだけなので、ブレードPCコントロールサーバやセキュリティPCからは、接続先がPCブレードであるか仮想PCであるかの区別はなく、ブレードPCであるという前提で処理が行われる。
【００１６】
以下に本発明の実施の手順を説明する。
【００１７】
まずブレードPC型クライアント統合システムにおけるPCブレードとセキュリティPCの割当て、接続手順の例を示す。
【００１８】
図4は、ブレードPC型クライアン統合システムにおけるセキュリティPCとPCブレードの割当て、接続開始の際のブレードPCコントロールサーバとPCブレード間の手続きの流れを示したものである。各ユーザがどのPCブレードに割り当てられているか、割り当てられたPCブレードの情報は、あらかじめブレードPCコントロールサーバ 20のPCブレード割当DB 202に登録しておく。
【００１９】
PCブレードの利用を開始する際、まずユーザが使用するセキュリティPC 801からブレードPCコントロールサーバ20へ、ログイン時にユーザが入力したユーザID情報とともにPCブレードへの接続要求が送信される。セキュリティPCの接続要求を受信したブレードPCコントロールプログラム 201は(401)、接続要求に含まれるユーザID情報が、PCブレード割当DB 202に登録されているかどうかを検索する(402)。ユーザID情報が、PCブレード割当DBに登録されていなかった場合(403-N0)、ブレードPCコントロールプログラム 201は、接続要求を行ったセキュリティPC 801に割当可能なPCブレードが存在しないことを通知する(404)。ユーザID情報がPCブレード割当DB 202に登録されていた場合(403-Yes)、そのユーザID情報に対応するPCブレードのIPアドレスをPCブレード割当DB 202より取得する。図4の例では、PCブレード 101のIPアドレスを取得している(405)。
【００２０】
ユーザID情報に対応するPCブレードのIPアドレスを取得後、ブレードPCコントロールプログラム 201は、実際に当該PCブレードが存在しているかどうかを存在確認コマンドの実行により確認する(406)。具体的には存在を確認したいPCブレードのIPアドレスを指定してPINGコマンドを実行し、これに対する返信の有無により当該PCブレードの存在の有無を確認する。PINGコマンドは、インターネットやイントラネットなどのTCP/IPネットワークの接続状態を診断するプログラムとして一般的に使われているものである。PCブレード 101に対して実行されたPINGコマンドを受信した電源制御機構 1011は、当該PCブレードが存在していることをブレードPCコントロールサーバ 20に返信する(407)。電源制御機構は、PCブレード本体の電源ON/OFF状態に関わらず常に電源が供給されているため、自身が内蔵されるPCブレードが電源OFFの状態でも、ブレードPCコントロールサーバ 20からの存在確認コマンドに対し返信することが可能である。もし、一定時間以上待っても当該PCブレードから存在確認コマンドに対する返信がない場合(408-No)、ブレードPCコントロールプログラム 201は、接続要求を行ったセキュリティPC 801に割当可能なPCブレードが存在しないことを通知する(404)。
【００２１】
存在確認コマンドにより、PCブレード 101の存在を確認したブレードPCコントロールプログラム 201は(408-Yes)、次にPCブレード 101のIPアドレスを指定して電源状態取得コマンドを実行することにより、PCブレード 101の電源ON/OFF状態を確認する(409)。電源状態取得コマンドを受信したPCブレード 101の電源制御機構 1011は、PCブレード 101のDC電源状態を確認し、電源ONの場合は”1”を、電源OFFの場合は”0”を返信する(410)。ブレードPCコントロールプログラム 201は、PCブレード 101からの電源状態取得コマンドに対する返信が電源ON状態”1”であった場合(411-Yes)、接続要求を行ったセキュリティPC 801に対しPCブレード 101のIPアドレスを送信し(412)、要求されたユーザID情報に対応するPCブレードが利用可能であることを通知する。PCブレード 101からの電源状態取得コマンドに対する返信が電源OFF状態”0”であった場合(411-No)、ブレードPCコントロールプログラム 201は、PCブレードが利用可能となるように、PCブレード 101のIPアドレスを指定して、電源制御コマンド(電源ON)を実行する(413)。電源制御コマンド(電源ON)を受信したPCブレード 101の電源制御機構 1011は、PCブレード 101のDC電源をONした後、実行完了を返信する(414)。ブレードPCコントロールプログラム 201は、PCブレード 101からの電源制御コマンド(電源ON)に対する実行完了を受信後、接続要求を行ったセキュリティPC 801に対しPCブレード 101のIPアドレスを送信し、要求されたユーザID情報に対応するPCブレードが利用可能であることを通知する。
【００２２】
PCブレード 101のIPアドレスを受信したセキュリティPC 801は、このIPアドレスを用いてPCブレード 101と通信を開始し、ログインしたユーザに対してはPC作業環境を提供する。
【００２３】
次に本発明を用いた、ブレードPC型と仮想PC型を混在させたクライアント統合システムを容易に実現する方法について説明する。
【００２４】
図5は、ブレードPC型クライアン統合システムに追加した仮想PCとセキュリティPCの割当て、接続開始の際のブレードPCコントロールサーバと仮想PC間の手続きの流れを示したものである。各ユーザがどの仮想PCに割り当てられているかの情報は、PCブレードの場合と同様、あらかじめブレードPCコントロールサーバ 20のPCブレード割当DB 202に登録しておく。登録される仮想PCの情報は、PCブレードのものと同一の形式であるため、ブレードPCコントロールサーバ 20は、仮想PCをPCブレードであるという前提で処理を行う。
【００２５】
ブレードPCの利用を開始する際、まずユーザが使用するセキュリティPC 801からブレードPCコントロールサーバ20へ、ログイン時にユーザが入力したユーザID情報とともにPCへの接続要求が送信される(501)。セキュリティPCの接続要求を受信したブレードPCコントロールプログラム 201は、接続要求に含まれるユーザID情報が、PCブレード割当DB 202に登録されているかどうかを検索する(502)。ユーザID情報が、PCブレード割当DB 202に登録されていなかった場合(503-No)、ブレードPCコントロールプログラム 201は、接続要求を行ったセキュリティPC 801に割当可能なPCブレードが存在しないことを通知する(504)。ユーザID情報がPCブレード割当DB 202に登録されていた場合(503-Yes)、そのユーザID情報に対応するPCブレードのIPアドレスをPCブレード割当DB 202より取得する(505)。図5の例では、仮想PC 30101のIPアドレスを取得している。この時、ブレードPCコントロールサーバ 20共に取得したIPアドレスが仮想PCのものであるという区別はなく、通常のPCブレードのものとして処理している。
【００２６】
ユーザID情報に対応するPCブレードのIPアドレスを取得後、ブレードPCコントロールプログラム 201は、実際に当該仮想PC(実際にはブレードPCとしてブレードPCコントロールサーバ 20は動作)が存在しているかどうかを存在確認コマンドの実行により確認する(506)。仮想PC 30101に対して実行されたPINGコマンドを受信した仮想電源制御機構 301011は、当該仮想PCが存在していることをブレードPCコントロールサーバ 20に返信する。もし、一定時間以上待っても当該仮想PCから存在確認コマンドに対する返信がない場合(508-No)、ブレードPCコントロールプログラム 201は、接続要求を行ったセキュリティPC 801に割当可能なPCブレードが存在しないことを通知する(504)。
【００２７】
存在確認コマンドにより、仮想PC 30101の存在を確認したブレードPCコントロールプログラム 201は、次に仮想PC 30101のIPアドレスを指定して電源状態取得コマンドを実行することにより(509)、仮想PC 30101の電源ON/OFF状態の確認を行う。仮想PC 30101は、実際には仮想PC用サーバ 30上の仮想的なコンピュータであるため通常電源ON状態であり、各仮想PCにおいて個別に電源ON/OFFは行われない。このため、電源状態取得コマンドを受信した仮想PC 30101の仮想電源制御機構 301011は、電源ON/OFF状態の代わりに仮想PC上のOS稼働状況を確認し、OS稼働状態の場合は電源ON状態”1”を、OS非稼働状態の場合は電源OFF状態”0”を返信することで、仮想PCが利用可能な状態になっているかどうかをブレードPCコントロールサーバ 20に通知する(510)。ブレードPCコントロールプログラム 201は、仮想PC 30101からの電源状態取得コマンドに対する返信が電源ON状態”1”であった場合(511-Yes)、接続要求を行ったセキュリティPC 801に対し仮想PC 30101のIPアドレスを送信し(512)、要求されたユーザID情報に対応するPCブレードが利用可能であることを通知する。仮想PC 30101からの電源状態取得コマンドに対する返信が電源OFF状態”0”であった場合(511-No)、ブレードPCコントロールプログラム 201は、PCブレードが利用可能となるように、仮想PC 30101のIPアドレスを指定して、電源制御コマンド(電源ON)を実行する(513)。電源制御コマンド(電源ON)を受信した仮想PC 30101の仮想電源制御機構 301011は、仮想PC 30101にシステム起動を指示した後、実行完了を返信する(514)。ブレードPCコントロールプログラム 201は、仮想PC 30101からの電源制御コマンド(電源ON)に対する実行完了を受信後、接続要求を行ったセキュリティPC 801に対し仮想PC 30101のIPアドレスを送信し(512)、要求されたユーザID情報に対応するPCブレードが利用可能であることを通知する。
【００２８】
仮想PC 30101のIPアドレスを受信したセキュリティPC 801は、このIPアドレスを用いて仮想PC 30101と通信を開始し、ログインしたユーザに対してはPC作業環境を提供する。セキュリティPC 801は接続先の仮想PC 30101が通常のPCブレードであるものとして処理を行う。
【００２９】
このように本発明では、仮想PC上にPCブレードの電源制御機構の機能を実現する仮想電源制御機構ソフトウェアを搭載し、ブレードPCコントロールサーバからのコマンドを受信、処理することで、ブレードPC型クライアント統合システムのブレードPCコントロールサーバに対して仮想PCを擬似的にPCブレードに見せかけている。これにより、ブレードPC型クライアント統合システムで使用していたセキュリティPC、ブレードPCコントロールサーバを交換あるいは仕様変更することなく、ブレードPC型クライアント統合システムに仮想PCを容易に追加、混在させることが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本発明を実現するシステム全体図
【図２】電源制御機構を含むPCブレードのブロック図
【図３】PCブレード割当DBに登録される情報例
【図４】PCブレードの割当て、接続開始時の手順
【図５】仮想PCの割当て、接続開始時の手順
【符号の説明】
【００３１】
１０  ブレードPC
１０１、１０２、１１０  PCブレード
１０１１  電源制御機構
２０  ブレードPCコントロールサーバ
２０１，２０２  ブレードPCコントロールプログラム
３０  仮想PC用サーバ
３０１０１、３０１０２、３０１１０  仮想PC
３０１０１１  仮想電源制御機構
【図１】
0004871832.tif 000002
【図２】
0004871832.tif 000003
【図３】
0004871832.tif 000004
【図４】
0004871832.tif 000005
【図５】
0004871832.tif 000006