(57)【要約】【課題】仮想ＰＣを利用するシンクライアントシステムにおいて電力消費量を低減する。【解決手段】仮想計算機４００の電源状態をネットワーク経由で計算機３００より取得し記憶手段１０１に格納する手段と、計算機３００の電源状態をネットワーク経由で計算機３００より取得し記憶手段１０１に格納する手段と、仮想計算機４００の利用開始要求を操作端末２００から受信し電源オン状態かつ仮想計算機４００が未割当の計算機３００を割当候補として記憶手段１０１の格納データから検索する手段と、前記割当候補の計算機３００に対し利用開始要求に応じた仮想計算機４００を割り当てる手段と、割当候補の計算機３００に対し仮想計算機４００の電源をオンにする指示をネットワーク経由で通知する手段とから仮想ＰＣ管理システム１を構成する。【選択図】図１
2010086423.tif 000002
【特許請求の範囲】
【請求項１】
操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理する管理サーバが、
前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、
前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、
仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する処理と、
前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理と、
を実行することを特徴とする仮想ＰＣ管理方法。
【請求項２】
前記管理サーバが、
前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータを格納しており、
前記利用開始要求を操作端末から受信し、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を割当候補として前記記憶手段の格納データから検索する処理と、
前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
を実行することを特徴とする請求項１に記載の仮想ＰＣ管理方法。
【請求項３】
前記管理サーバが、
前記記憶手段にて、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係を格納しており、
仮想計算機の利用開始要求を操作端末から受信し、電源オン状態の計算機と電源オフ状態の計算機が電源供給対象に含まれた電源ユニットを前記記憶手段の格納データから検索し、ここで検索された電源ユニットの電源供給対象が含む電源オフ状態の計算機を割当候補として特定する処理と、
前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、
電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
を実行することを特徴とする請求項１または２に記載の仮想ＰＣ管理方法。
【請求項４】
前記管理サーバが、
前記記憶手段にて、前記計算機と、当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係を格納しており、
仮想計算機の利用開始要求を操作端末から受信し、各収容装置が収容する電源ユニットおよび当該電源ユニットが電源供給対象とする計算機と各計算機の電源状態データを前記記憶手段の格納データから抽出し、電源オン状態の計算機数を収容装置毎に算定して電源オン状態の計算機数が最少の収容装置を特定し、ここで特定した収容装置に対応付いた計算機のうち電源オフ状態の計算機を割当候補として特定する処理と、
前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、
電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
ことを特徴とする請求項１〜３のいずれかに記載の仮想ＰＣ管理方法。
【請求項５】
前記管理サーバが、
前記記憶手段にて、各計算機における仮想計算機の割当可能数と割当済みの仮想計算機のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係のデータとを格納しており、
仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を第１優先候補とし、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を第２優先候補とし、電源オン状態と電源オフ状態の計算機の両方が電源供給対象に含まれた電源ユニットの電源供給対象が含む電源オフ状態の計算機を第３優先候補とし、電源オン状態の計算機数が最少の収容装置に対応付いた計算機のうち電源オフ状態の計算機を第４優先候補として、前記記憶手段の格納データから計算機を検索する処理と、
前記検索により得られた計算機のうち最も優先度の高い計算機を割当候補として特定し、この計算機に対して前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理と、
を実行することを特徴とする請求項１〜４のいずれかに記載の仮想ＰＣ管理方法。
【請求項６】
前記管理サーバが、
前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータと、提供する仮想計算機の数に応じた計算機の計算性能または電力消費傾向の基準を定めたデータとを格納しており、
各計算機における割当済みの仮想計算機数を前記記憶手段の格納データから抽出し、ここで抽出した仮想計算機数に対応する計算機の計算性能または電力消費傾向の基準を前記記憶手段の格納データから検索する処理と、
前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各計算機に通知する処理と、
を実行することを特徴とする請求項１〜５のいずれかに記載の仮想ＰＣ管理方法。
【請求項７】
前記管理サーバが、
利用者からの仮想計算機の停止要求を、仮想計算機から受信する処理と、
前記仮想計算機の電源状態がオンからオフになったか監視する処理と、
前記仮想計算機を提供していた計算機に割り当てられていた全仮想計算機の電源状態がオフになったことを検知し、前記計算機の電源をオフにする指示をネットワーク経由で前記計算機に通知する処理と、
を実行することを特徴とする請求項１〜６のいずれかに記載の仮想ＰＣ管理方法。
【請求項８】
前記仮想計算機が、
前記操作端末との通信接続状態と遠隔操作の頻度を検知する処理と、
前記操作端末との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行し、
前記管理サーバが、
前記通知を前記仮想計算機から受信する処理と、
前記仮想計算機の割当先となる別の計算機を、前記割当候補の検索処理により特定し、ここで特定した割当候補の計算機に前記仮想計算機の割当先を変更する処理と、を実行する、
ことを特徴とする請求項１〜７のいずれかに記載の仮想ＰＣ管理方法。
【請求項９】
操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータシステムであり、
前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、
前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、
仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する手段と、
前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる手段と、
前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する手段と、
を備える仮想ＰＣ管理システム。
【請求項１０】
操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータに、
前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、
前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、
仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索するステップと、
前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てるステップと、
前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知するステップと、
を実行させる仮想ＰＣ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ＰＣ管理方法、仮想ＰＣ管理システム、および仮想ＰＣ管理プログラムに関するものであり、具体的には、仮想ＰＣを利用するシンクライアントシステムにおいて電力消費量を低減する技術に関する。
【背景技術】
【０００２】
計算機の適用範囲が拡大し、企業秘密等についての情報漏えいや不正アクセスなどを防止できる強固なセキュリティを必要とする分野でも計算機が利用され始めてきた。また、計算機の性能が向上し、セキュリティが確保された企業の建屋内だけでなく建屋外の自宅や出張先などでも携帯型の計算機が利用できるようになってきた。
【０００３】
このような状況に対応するため、重要な企業秘密が記録されたファイルを処理する計算機は、セキュリティが確保された建屋内に設置し、建屋外で携帯型計算機を利用する際には、建屋内の計算機を遠隔操作するセキュア計算機システムが考案された。このシステムでは、携帯型計算機は人間からのキーボード入力データなどを建屋内の計算機に送信する。一方、建屋内の計算機は企業秘密が記録されたファイルを処理し、その実行画面のイメージだけを携帯型計算機に送信する。これにより、企業秘密が記録されたファイルを建屋外に出さないため、ファイル単位での情報漏えいや不正アクセスを防止できる。
【０００４】
建屋内の計算機には、通常のＰＣを利用するほかに、仮想ＰＣを利用する方法がある。仮想ＰＣは、計算機を構成するハードウェアを、別の計算機がソフトウェア的にエミュレートして作り出したＰＣである。この仮想ＰＣは、プログラムからは、物理的なハードウェアと同じように（エミュレートされた）ハードウェアを利用できるので、通常のＰＣと同じように実行できる。また、ユーザが遠隔操作で利用する場合には、通常のＰＣと同じように利用できる。仮想ＰＣは、ハードウェアをエミュレートする計算機（以下仮想ＰＣサーバと呼ぶ）により提供される。仮想ＰＣサーバは、その処理能力に依存するが複数台の仮想ＰＣを提供できる。
【０００５】
こうしたシステムに関連する技術として、例えば、シンクライアントタイプの情報処理システムにおいて、ブレードＰＣと仮想ＰＣサーバを混在させて、これらの端末への割当てを制御することを課題とした、以下の方法が提案されている。
【０００６】
すなわち、ネットワークを介して互い接続された、複数の情報処理装置、該情報処装置を管理する管理サーバ及び複数の端末を有する情報処理システムにおける、情報処理装置の割当て方法であって、前記管理サーバは、前記何れかの端末から前記ネットワークを介して情報処理装置の割当て要求を受信し、該受信した割当て要求に対して、第一の記憶部に記憶されている前記情報処理装置の前記端末への割当て状態情報と、第二の記憶部に記憶されている前記端末のユーザへの前記情報処理装置の割当て条件情報に基づいて前記割当て要求元端末に割当てる情報処理装置を決定し、該決定した情報処理装置の宛先情報を前記ネットワークを介して前記割当て要求端末に送信し、前記第一の記憶部に記憶されている当該情報処理装置の端末への割当て状態を、未割当て状態から当該割当て要求元端末に割当てていることを示す状態に更新し、前記端末は、前記管理サーバに前記情報処理装置の割当て要求を前記ネットワークを介して送信し、前記管理サーバから該端末に割当てられた情報処理装置の宛先情報を前記ネットワークを介して受信し、該受信した宛先情報を用いて、該宛先情報を有する情報処理装置と通信し、前記情報処理装置は、前記管理サーバから前記ネットワークを介して該情報処理装置の宛先情報が送信された前記端末と通信を行うことを特徴とする情報処理装置の割当て方法（特許文献１参照）である。
【特許文献１】特開２００８−１５２５９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のシステムでは、ユーザと、ユーザが利用する計算機との対応関係をサーバ等で管理し、ユーザが遠隔操作の開始を要求した際に、前記サーバ等が接続先の計算機を決定する必要がある。特許文献１における手法では、この対応関係をサーバが固定的に持っており、ユーザは、常に同じ計算機が割り当てられる。
【０００８】
ここで、ユーザに割り当てられた計算機が仮想ＰＣである場合の電力消費量を考えてみる。通常のＰＣの場合には、ユーザが利用を停止したタイミングでＰＣの電源を停止できるが、仮想ＰＣの場合では、仮想ＰＣの電源を停止しても仮想ＰＣサーバは動作し続けるので省電力にはならない。また、仮想ＰＣが１台でも利用されていると仮想ＰＣサーバの電源を停止することができない。
【０００９】
したがって、ユーザ利用中の仮想ＰＣの数が少ない場合でも、それらの仮想ＰＣが多数の仮想ＰＣサーバに分散して提供されている状況であれば、仮想ＰＣを提供中の仮想ＰＣサーバの電源を停止させられずに無駄に電力を消費する。
【００１０】
そこで本発明は上記課題を鑑みてなされたものであり、仮想ＰＣを利用するシンクライアントシステムにおいて電力消費量を低減する技術の提供を主たる目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決する本発明の仮想ＰＣ管理方法は、仮想計算機と当該仮想計算機を提供する計算機との対応関係を管理する管理サーバが主体となって実行するものである。利用者が操作する操作端末（シンクライアント端末）がシンクライアント接続にて前記計算機（ブレードＰＣ等）を利用するに際し、前記計算機が提供する仮想計算機（仮想ＰＣ）を、電力消費量低減を考慮して前記操作端末に割り当てる技術となる。仮想計算機は、計算機を構成するハードウェアを、実際に物理的なハードウェアを具備する計算機がソフトウェア的にエミュレートして作り出した計算機となる。計算機はその処理能力に応じて複数台の仮想計算機を提供できる。
【００１２】
なお、前記仮想計算機は仮想化ソフトウェアにより生成される。こうした仮想化ソフトウェアは、仮想マシンモニタ(VMM：Virtual Machine Monitor)とも呼ばれるソフトウェアである。通常、単一のコンピュータを複数のコンピュータであるかのように分割して使うためのものである。
【００１３】
また、前記計算機としては、例えばブレードＰＣを想定できる。ブレードＰＣは、シャーシにおける格納区画に挿入して使用されるものである。シャーシの格納区画背面には、各ブレードＰＣと脱着自在な電源端子やネットワーク回線のインターフェイス、各種ケーブル類が一式備わっており、ブレードＰＣの増設や交換が容易となっている。通常、シャーシは複数台のブレードＰＣ（＝計算機）を収容可能であり、各ブレードＰＣに電源供給を行う１つの電源ユニットとなる。また、シャーシは収容装置（ラック等）に収容される。いくつかの収容装置が並んだ領域３は、空調装置４にて所定温度に維持される。
【００１４】
こうした本発明の仮想ＰＣ管理方法において、前記管理サーバは、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理を実行する。管理サーバは、前記電源状態のデータを得るべく、電源状態の回答要求を、例えば、前記ブレードＰＣのベースボード管理コントローラ（ＢＭＣ）に送信している。このＢＭＣは、IPMI仕様をサポートし、前記ブレードＰＣにおけるシステムボード上の各種センサー (温度、電圧、ファン、バスなど)等と通信して所定イベントを監視し、パラメータが基準値を超えた場合に警告とログイベントを送信したり、電源等のリモート制御を行う。また、ブレードＰＣの電源状態についてのデータ要求に対する応答処理も、このＢＭＣが実行できる。仮想計算機の電源状況については、仮想計算機を提供している計算機が当然把握しているので、前記管理サーバから計算機に要求を行えばよい。
【００１５】
また、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する処理を実行する。電源がオフになっている計算機の電源をオンにして新たに仮想計算機を割り当てるより、電源がすでにオンになっていて仮想計算機割当が現在なされていない計算機に仮想計算機を割り当てれば、現状からの電力消費量の増加を抑制できる。
【００１６】
また、前記管理サーバは、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。また、前記管理サーバは、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理を実行する。電源がオンとなった仮想計算機については、前記操作端末とのシンクライアント接続を確立し、操作端末からの利用を受け付けることとなる。
【００１７】
また、前記管理サーバが、前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータを格納しているとしてもよい。この場合、前記管理サーバは、前記利用開始要求を操作端末から受信し、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を割当候補として前記記憶手段の格納データから検索する処理を実行する。つまり、電源がオフになっている計算機の電源をオンにして新たに仮想計算機を割り当てるより、電源がすでにオンになっていて仮想計算機の割当余力がある計算機に仮想計算機を割り当てれば、現状からの電力消費量の増加を抑制できる。  
この時、前記管理サーバは、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。
【００１８】
また、前記管理サーバが、前記記憶手段にて、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係を格納しているとしてもよい。この場合、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態の計算機と電源オフ状態の計算機が電源供給対象に含まれた電源ユニットを前記記憶手段の格納データから検索し、ここで検索された電源ユニットの電源供給対象が含む電源オフ状態の計算機を割当候補として特定する処理を実行する。計算機を収容するシャーシ（＝電源ユニット）毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各計算機が混在するシャーシにおいて電源オフ状態の計算機を割当候補とすれば、例えば、現在は収容中の全計算機の電源がオフである電源ユニットへの電源供給を新たに再開するといったことを回避し、すでに電源供給がなされている電源ユニットを利用して電力消費量の増加を抑制できる。  
この場合、前記管理サーバは、前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理とを実行する。
【００１９】
また、前記管理サーバが、前記記憶手段にて、前記計算機と、当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係を格納しているとしてもよい。この時、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、各収容装置が収容する電源ユニットおよび当該電源ユニットが電源供給対象とする計算機と各計算機の電源状態データを前記記憶手段の格納データから抽出し、電源オン状態の計算機数を収容装置毎に算定して電源オン状態の計算機数が最少の収容装置を特定し、ここで特定した収容装置に対応付いた計算機のうち電源オフ状態の計算機を割当候補として特定する処理を実行する。つまり、収容装置のうち、現在の電力消費量が最少となっているものを特定して、そこの計算機に仮想計算機の割当余力があれば、該当計算機に仮想計算機の割当を行うことで、収容装置間での電力消費量を均衡させる。  
この場合、前記管理サーバは、前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。
【００２０】
また、前記管理サーバが、前記記憶手段にて、各計算機における仮想計算機の割当可能数と割当済みの仮想計算機のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係のデータとを格納しているとしてもよい。  
この場合、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を第１優先候補とし、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を第２優先候補とし、電源オン状態と電源オフ状態の計算機の両方が電源供給対象に含まれた電源ユニットの電源供給対象が含む電源オフ状態の計算機を第３優先候補とし、電源オン状態の計算機数が最少の収容装置に対応付いた計算機のうち電源オフ状態の計算機を第４優先候補として、前記記憶手段の格納データから計算機を検索する処理を実行する。すなわち、すでに上で述べた割当候補の各検索処理の結果に優先順位をつけるのである。
【００２１】
前記管理サーバは、前記検索により得られた計算機のうち最も優先度の高い計算機を割当候補として特定し、この計算機に対して前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。また、前記管理サーバは、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理を実行する。
【００２２】
また、前記管理サーバが、前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータと、提供する仮想計算機の数に応じた計算機の計算性能または電力消費傾向の基準を定めたデータとを格納しているとしてもよい。  
この場合、前記管理サーバは、各計算機における割当済みの仮想計算機数を前記記憶手段の格納データから抽出し、ここで抽出した仮想計算機数に対応する計算機の計算性能または電力消費傾向の基準を前記記憶手段の格納データから検索する処理を実行する。
【００２３】
また、前記管理サーバは、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各計算機に通知する処理を実行する。なお、前記計算機は、ＣＰＵのクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
【００２４】
また、前記管理サーバが、利用者からの仮想計算機の停止要求を、仮想計算機から受信する処理と、前記仮想計算機の電源状態がオンからオフになったか監視する処理と、前記仮想計算機を提供していた計算機に割り当てられていた全仮想計算機の電源状態がオフになったことを検知し、前記計算機の電源をオフにする指示をネットワーク経由で前記計算機に通知する処理と、を実行するとしてもよい。これによれば、現在は仮想計算機を提供していない計算機について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
【００２５】
また、前記仮想計算機が、前記操作端末との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行するとしてもよい。  
この場合、前記管理サーバが、前記通知を前記仮想計算機から受信する処理と、前記仮想計算機の割当先となる別の計算機を、前記割当候補の検索処理により特定し、ここで特定した割当候補の計算機に前記仮想計算機の割当先を変更する処理と、を実行する。つまり、電源オン状態ではあるが使われていない仮想計算機については、上述の割当候補の検索ロジックと同じロジックで移籍先の計算機を探し出し、割り当てるのである。このような処理を行えば、仮想計算機の割当先の集約＝オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
【００２６】
なお、上述の使われていない仮想計算機の割当先を変更するに際し、管理サーバまたは元々の割当先であった計算機が、前記仮想計算機についてのハイバネーションを実行するとしてもよい。ハイバネーションによれば、仮想計算機の電源オフ直前の状態（主としてメモリ上のデータ：各種データや起動アプリケーションなどの情報）を、管理サーバないし計算機のハードディスクドライブに保存する。そして、新たな割当先の計算機において仮想計算機の電源がオンされる時に、前記保存した情報を、前記管理サーバないし元の計算機のハードディスクドライブから新たな計算機のメモリに読み出して、電源オフ直前の状態から作業再開が可能となる。
【００２７】
また、ネットワークを介して計算機や仮想計算機の電源をオンにする手法としては、ネットワークブート（network boot）を想定できる。このネットワークブートは、ＯＳの起動方法の１つであり、ハードディスク等からＯＳを起動せず、ネットワーク経由でＯＳのイメージをダウンロードして起動する技術である。例えば、管理サーバ側に格納されたディスクイメージ（起動ディスク）を計算機のメモリが読み込むことによって計算機を起動できるようになっている。なお、計算機の電源オン・オフの制御は、例えば、前記管理サーバから計算機にWake-On-LAN要求を行うことで実行できる。
【００２８】
また、仮想計算機の割り当てに際しては、前記管理サーバが、ＩＰアドレスを前記仮想計算機に割り当てる。そして、前記ＩＰアドレスに基づいて前記仮想計算機のネットワークブートを実行する。また、割当が済んだ仮想計算機のＩＰアドレスは、操作端末に通知されることになる。こうしたＩＰアドレスの割り当てやネットワークブートの処理を実行する管理サーバは、ＤＨＣＰ（Dynamic Host Configuration Protocol ）サーバであり、ＰＸＥ（Preboot eXecution Environment）サーバであるとも言える。前記ＰＸＥサーバは、ネットワークブートする仮想計算機らに対してブートイメージを転送するものであり、フォーマットされたハードディスクしか搭載されていないシステムでも起動、ＯＳインストール/アップデート、ＯＳダウン時の診断といった管理作業を遠隔操作で行うことが可能である。
【００２９】
また、本発明の仮想ＰＣ管理システムは、操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータシステムであり、以下の手段を備えている。  
すなわち、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する手段と、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる手段と、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する手段と、を備える。
【００３０】
また、本発明の仮想ＰＣ管理プログラムは、操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータに、以下のステップを実行させるプログラムである。  
すなわち、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索するステップと、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てるステップと、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知するステップとである。
【００３１】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００３２】
本発明によれば、仮想ＰＣを利用するシンクライアントシステムにおいて電力消費量を低減可能となる。
【発明を実施するための最良の形態】
【００３３】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の仮想ＰＣ管理システム１のネットワーク構成図である。図１に示す仮想ＰＣ管理システム１は、ネットワーク１４０を介して互いに接続された、複数の計算機たる仮想ＰＣサーバ３００（ブレードＰＣなど）、前記仮想ＰＣサーバ３００ないし当該仮想ＰＣサーバ３００が提供する仮想ＰＣ４００（＝仮想計算機）とシンクライアント接続される操作端末２００、複数の前記仮想ＰＣ４００と当該仮想ＰＣ４００を提供する仮想ＰＣサーバ３００との対応関係や前記シンクライアント接続の管理を担う管理サーバ４００、を備えるシステムである。
【００３４】
なお、前記仮想ＰＣサーバ３００および仮想ＰＣ４００は、前記操作端末２００との間にＶＰＮ（Virtual Private Network）を構築し、このＶＰＮを介して、操作端末２００から送られてきた入力情報（入力装置の操作内容）を受信し処理すると共に、処理結果を示す映像情報（表示装置のデスクトップ画面）を操作端末２００に送信することとなる。仮想ＰＣサーバ３００および仮想ＰＣ４００は、通常は入出力装置をローカル接続しないで使用するサーバ装置となる。
【００３５】
次に、本実施形態における前記仮想ＰＣ管理システム１を構成する各装置について各々説明する。図２は本実施形態の管理サーバ１００の構成例を示す図である。前記管理サーバ１００は、本実施形態を実現する機能を備えるべくハードディスクドライブ１０１などに格納されたプログラム１０２をＲＡＭ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。なお、前記プログラム１０２は、管理サーバ１００のハードディスクドライブ１０１に当初から格納されている例の他、例えば、各種記録媒体（ＣＤやＤＶＤなど）や記憶媒体（ＵＳＢメモリ等）から、これらのインターフェイス１３７を介して介して管理サーバ１００がプログラム１０２を読み取って実行する例も想定できる。或いは、各種通信媒体（ネットワーク、搬送波、デジタル信号）を介して所定装置からの前記プログラム１０２の提供を受けて、実行する例も想定できる（この場合、通信媒体に応じた通信手段を管理サーバ１００が勿論備えている）。
【００３６】
また、前記管理サーバ１００は、各種ボタンなどの入力インターフェイス１０５、ディスプレイなどの出力インターフェイス１０６を必要に応じて備えてもよく、また、前記仮想ＰＣサーバ３００や仮想ＰＣ４００などとの間のデータ授受を担うＮＩＣ（Network Interface Card）１０７を有している。このＮＩＣには当然ながらＭＡＣアドレスが設定されている。
【００３７】
前記管理サーバ１００は、前記ＮＩＣ１０７により、前記仮想ＰＣサーバ３００や仮想ＰＣ４００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。また、管理サーバ１００は、フラッシュＲＯＭ１０８と、各機能部や装置等を接続するバスを中継するブリッジ１０９と、電源１２０と、を有する。
【００３８】
なお、前記フラッシュＲＯＭ１０８には、ＢＩＯＳ１３５が記憶されている。ＣＰＵ１０４は、電源１２０の投入後、先ずフラッシュＲＯＭ１０８にアクセスしてＢＩＯＳ１３５を実行することにより、管理サーバ１００のシステム構成を認識する。また、ハードディスクドライブ１０１には、各機能部（手段）やデータベース類の他に、ＯＳ１３６が記憶されている。このＯＳ１３６は、ＣＰＵ１０４が管理サーバ１００の各部を統括的に制御して、後述する各手段を実行するためのプログラムである。ＣＰＵ１０４は、ＢＩＯＳ１３５に従い、ハードディスクドライブ１０１からＯＳ１３６をＲＡＭ１０３にロードして実行する。これにより、ＣＰＵ１０４は、管理サーバ１００の各部を統括的に制御する。
【００３９】
続いて、前記管理サーバ１００が、例えばプログラム１０２に基づき構成・保持する手段につき説明を行う。なお、前記管理サーバ１００は、サーバ管理表１２５およびユーザ管理表１２６をハードディスクドライブ１０１に有しているものとする。勿論、前記各管理表１２５、１２６は、管理サーバ１００が自身のハードディスクドライブ１０１に備える例のみならず、ネットワーク１４０上に配置された他のサーバ装置に配置されているとしてもよい。
【００４０】
こうした管理サーバ１００は、前記仮想ＰＣ４００の電源状態をネットワーク経由で前記仮想ＰＣサーバ３００より取得し、この電源状態データを記憶手段１０１に格納し、また、前記仮想ＰＣサーバ３００の電源状態をネットワーク経由で前記仮想ＰＣサーバ３００より取得し、この電源状態データを記憶手段１０１に格納する電源状態取得手段１１０を備える。
【００４１】
なお、前記管理サーバ１００は、前記電源状態のデータを得るべく、電源状態の回答要求を、例えば、前記仮想ＰＣサーバ３００のベースボード管理コントローラ（ＢＭＣ３５０）に送信している。このＢＭＣ３５０は、IPMI仕様をサポートし、前記仮想ＰＣサーバ３００におけるシステムボード上の各種センサー (温度、電圧、ファン、バスなど)等と通信して所定イベントを監視し、パラメータが基準値を超えた場合に警告とログイベントを送信したり、電源等のリモート制御を行う。また、仮想ＰＣサーバ３００の電源状態についてのデータ要求に対する応答処理も、このＢＭＣ３５０が実行できる。仮想ＰＣ４００の電源状況については、仮想ＰＣ４００を提供している仮想ＰＣサーバ３００が当然把握しているので、前記管理サーバ１００から仮想ＰＣサーバ３００に要求を行えばよい。
【００４２】
また、前記管理サーバは、仮想ＰＣ４００の利用開始要求を操作端末２００から受信し、電源オン状態かつ仮想ＰＣ４００が未割当の仮想ＰＣサーバ３００を割当候補として前記記憶手段１０１のサーバ管理表１２５から検索する割当候補検索手段１１１を備える。電源がオフになっている仮想ＰＣサーバ３００の電源をオンにして新たに仮想ＰＣ４００を割り当てるより、電源がすでにオンになっていて仮想ＰＣ４００割当が現在なされていない仮想ＰＣサーバ３００に仮想ＰＣ４００を割り当てれば、現状からの電力消費量の増加を抑制できる。
【００４３】
また、前記管理サーバ１００は、前記割当候補の仮想ＰＣサーバ３００に対し、前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理を実行する、割当手段１１２を備える。また、前記管理サーバ１００は、前記割当候補の仮想ＰＣサーバ３００に対し、前記仮想ＰＣ４００の電源をオンにする指示をネットワーク経由で通知する電源管理手段１１３を備える。電源がオンとなった仮想ＰＣ４００については、前記操作端末２００とのシンクライアント接続を確立し、操作端末２００からの利用を受け付けることとなる。
【００４４】
また、前記管理サーバ１００は、前記記憶手段１０１のサーバ管理表１２５にて、各仮想ＰＣサーバ３００における、仮想ＰＣ４００の割当可能数と、割当済みの仮想ＰＣ４００のデータを格納しているとしてもよい。この場合、前記管理サーバ１００は、前記利用開始要求を操作端末２００から受信し、電源オン状態かつ割当済みの仮想ＰＣ数が割当可能数より小さい仮想ＰＣサーバ３００を割当候補として前記記憶手段１０１のサーバ管理表１２５から検索する。
【００４５】
つまり、電源がオフになっている仮想ＰＣサーバ３００の電源をオンにして新たに仮想ＰＣ４００を割り当てるより、電源がすでにオンになっていて仮想ＰＣ４００の割当余力がある仮想ＰＣサーバ３００に仮想ＰＣ４００を割り当てれば、現状からの電力消費量の増加を抑制できる。
【００４６】
この時、前記割当手段１１２は、前記割当候補の仮想ＰＣサーバ３００に対し、前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理を実行する。
【００４７】
また、前記管理サーバ１００が、前記記憶手段１０１のサーバ管理表１２５にて、前記仮想ＰＣサーバ３００と当該仮想ＰＣサーバ３００に電源供給を行うシャーシ３０（電源ユニット）との対応関係を格納しているとしてもよい。この場合、前記割当候補検索手段１１１は、仮想ＰＣ４００の利用開始要求を操作端末２００から受信し、電源オン状態の仮想ＰＣサーバ３００と電源オフ状態の仮想ＰＣサーバ３００が電源供給対象に含まれたシャーシ３０を前記記憶手段１０１のサーバ管理表１２５から検索し、ここで検索されたシャーシ３０の電源供給対象が含む電源オフ状態の仮想ＰＣサーバ３００を割当候補として特定する処理を実行する。
【００４８】
仮想ＰＣサーバ３００を収容するシャーシ３０（＝電源ユニット）毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各仮想ＰＣサーバ３００が混在するシャーシ３０において電源オフ状態の仮想ＰＣサーバ３００を割当候補とすれば、例えば、現在は収容中の全仮想ＰＣサーバ３００の電源がオフであるシャーシ３０への電源供給を新たに再開するといったことを回避し、すでに電源供給がなされているシャーシ３０を利用して電力消費量の増加を抑制できる。
【００４９】
この場合、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、電源をオンにする指示をネットワーク経由で通知する。また、前記割当手段１１２は、電源オン状態となった前記仮想ＰＣサーバ３００に対し、前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理を実行する。
【００５０】
また、前記管理サーバ１００が、前記記憶手段１０１のサーバ管理表１２５にて、前記仮想ＰＣサーバ３００と、当該仮想ＰＣサーバ３００に電源供給を行うシャーシ３０を収容するラック２０（収容装置）との対応関係を格納しているとしてもよい。この時、前記割当候補検索手段１１１は、仮想ＰＣ４００の利用開始要求を操作端末２００から受信し、各ラック２０が収容するシャーシ３０および当該シャーシ３０が電源供給対象とする仮想ＰＣサーバ３００と各仮想ＰＣサーバ３００の電源状態データを前記記憶手段１０１のサーバ管理表１２５から抽出し、電源オン状態の仮想ＰＣサーバ数をラック毎に算定して電源オン状態の仮想ＰＣサーバ数が最少のラック２０を特定し、ここで特定したラック２０に対応付いた仮想ＰＣサーバ３００のうち電源オフ状態の仮想ＰＣサーバ３００を割当候補として特定する処理を実行する。つまり、ラック２０のうち、現在の電力消費量が最少となっているものを特定して、そこの仮想ＰＣサーバ３００に仮想ＰＣ４００の割当余力があれば、該当仮想ＰＣサーバ３００に仮想ＰＣ４００の割当を行うことで、ラック間での電力消費量を均衡させる。
【００５１】
この場合、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、電源をオンにする指示をネットワーク経由で通知する。また、前記割当手段１１２は、電源オン状態となった前記仮想ＰＣサーバ３００に対し、前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理を実行する。
【００５２】
また、前記管理サーバ１００が、前記記憶手段１０１のサーバ管理表１２５にて、各仮想ＰＣサーバ３００における仮想ＰＣ４００の割当可能数と割当済みの仮想ＰＣ４００のデータと、前記仮想ＰＣサーバ３００と当該仮想ＰＣサーバ３００に電源供給を行うシャーシ３０との対応関係のデータと、前記仮想ＰＣサーバ３００と当該仮想ＰＣサーバ３００に電源供給を行うシャーシ３０を収容するラック２０との対応関係のデータとを格納しているとしてもよい。
【００５３】
この場合、前記割当候補検索手段１１１は、仮想ＰＣ４００の利用開始要求を操作端末２００から受信し、電源オン状態かつ仮想ＰＣ４００が未割当の仮想ＰＣサーバ３００を第１優先候補とし、電源オン状態かつ割当済みの仮想ＰＣ数が割当可能数より小さい仮想ＰＣサーバ３００を第２優先候補とし、電源オン状態と電源オフ状態の仮想ＰＣサーバ３００の両方が電源供給対象に含まれたシャーシ３０の電源供給対象が含む電源オフ状態の仮想ＰＣサーバ３００を第３優先候補とし、電源オン状態の計算機数が最少のラック２０に対応付いた仮想ＰＣサーバ３００のうち電源オフ状態の仮想ＰＣサーバ３００を第４優先候補として、前記記憶手段１０１のサーバ管理表１２５から仮想ＰＣサーバ３００を検索する処理を実行する。すなわち、すでに上で述べた割当候補の各検索処理の結果に優先順位をつけるのである。
【００５４】
前記割当候補検索手段１１１は、前記検索により得られた仮想ＰＣサーバ３００のうち最も優先度の高い仮想ＰＣサーバ３００を割当候補として特定する。また、前記割当手段１１２は、割当候補となった前記仮想ＰＣサーバ３００に対して前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理を実行する。また、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、前記仮想ＰＣ４００の電源をオンにする指示をネットワーク経由で通知する処理を実行する。
【００５５】
また、前記管理サーバ１００が、前記記憶手段１０１のサーバ管理表１２５にて、各仮想ＰＣサーバ３００における、仮想ＰＣ４００の割当可能数と、割当済みの仮想ＰＣ４００のデータと、提供する仮想ＰＣ４００の数に応じた仮想ＰＣサーバ３００の計算性能または電力消費傾向の基準を定めたデータとを格納しているとしてもよい。  
この場合、前記管理サーバ１００は、各仮想ＰＣサーバ３００における割当済みの仮想ＰＣ数を前記記憶手段１０１のサーバ管理表１２５から抽出し、ここで抽出した仮想ＰＣ数に対応する仮想ＰＣサーバ３００の計算性能または電力消費傾向の基準を前記記憶手段１０１のサーバ管理表１２５から検索する、性能検索手段１１４を備える。
【００５６】
また、前記性能検索手段１１４は、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各仮想ＰＣサーバ３００に通知する。なお、前記仮想ＰＣサーバ３００は、ＣＰＵ３０４のクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
【００５７】
また、前記電源管理手段１１３は、利用者からの仮想ＰＣ４００の停止要求を、仮想ＰＣ４００から受信し、前記仮想ＰＣ４００の電源状態がオンからオフになったか監視するとしてもよい。この場合、前記電源管理手段１１３は、前記仮想ＰＣ４００を提供していた仮想ＰＣサーバ３００に割り当てられていた全仮想ＰＣ４００の電源状態がオフになったことを検知し、前記仮想ＰＣサーバ３００の電源をオフにする指示をネットワーク経由で前記仮想ＰＣサーバ３００に通知する。  
これによれば、現在は仮想ＰＣ４００を提供していない仮想ＰＣサーバ３００について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
【００５８】
また、前記仮想ＰＣ４００は、前記操作端末２００との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末２００との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行する、ＯＳ・接続状態通知手段４１０を備えるとしてもよい。
【００５９】
この場合、前記管理サーバ１００の前記割当候補検索手段１１１が、前記通知を前記仮想ＰＣ４００から受信し、前記仮想ＰＣ４００の割当先となる別の仮想ＰＣサーバ３００を、前記割当候補の検索処理により特定する。また、前記割当手段１１２が、前記特定した割当候補の仮想ＰＣサーバ３００に前記仮想ＰＣ４００の割当先を変更する処理を実行する。つまり、電源オン状態ではあるが使われていない仮想ＰＣ４００については、上述の割当候補の検索ロジックと同じロジックで移籍先の仮想ＰＣサーバ３００を探し出し、割り当てるのである。このような処理を行えば、仮想ＰＣ４００の割当先の集約＝オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
【００６０】
なお、上述の使われていない仮想ＰＣ４００の割当先を変更するに際し、管理サーバ１００または元々の割当先であった仮想ＰＣサーバ３００が、前記仮想ＰＣ４００についてのハイバネーションを実行するとしてもよい。ハイバネーションによれば、仮想ＰＣ４００の電源オフ直前の状態（主としてメモリ上のデータ：各種データや起動アプリケーションなどの情報）を、管理サーバ１００ないし仮想ＰＣサーバ３００のハードディスクドライブ（記憶手段１０１）に保存する。そして、新たな割当先の仮想ＰＣサーバ３００において仮想ＰＣ４００の電源がオンされる時に、前記保存した情報を、前記管理サーバ１００ないし元の仮想ＰＣサーバ３００のハードディスクドライブから新たな仮想ＰＣサーバ３００のメモリ３０３に読み出して、電源オフ直前の状態から作業再開が可能となる。
【００６１】
また、ネットワーク１４０を介して仮想ＰＣサーバ３００や仮想ＰＣ４００の電源をオンにする手法としては、ネットワークブート（network boot）を想定できる。このネットワークブートは、ＯＳの起動方法の１つであり、ハードディスク等からＯＳを起動せず、ネットワーク経由でＯＳのイメージをダウンロードして起動する技術である。例えば、管理サーバ側に格納されたディスクイメージ（起動ディスク）を仮想ＰＣサーバ３００のメモリが読み込むことによって仮想ＰＣサーバ３００を起動できるようになっている。なお、仮想ＰＣサーバ３００の電源オン・オフの制御は、例えば、前記管理サーバ１００から仮想ＰＣサーバ３００にWake-On-LAN要求を行うことで実行できる。
【００６２】
また、仮想ＰＣ４００の割り当てに際しては、前記管理サーバ１００が、ＩＰアドレスを前記仮想ＰＣ４００に割り当てる。そして、前記ＩＰアドレスに基づいて前記仮想ＰＣ４００のネットワークブートを実行する。また、割当が済んだ仮想ＰＣ４００のＩＰアドレスは、操作端末２００に通知されることになる。こうしたＩＰアドレスの割り当てやネットワークブートの処理を実行する管理サーバ１００は、ＤＨＣＰ（Dynamic Host Configuration Protocol ）サーバであり、ＰＸＥ（Preboot eXecution Environment）サーバであるとも言える。前記ＰＸＥサーバは、ネットワークブートする仮想ＰＣ４００らに対してブートイメージを転送するものであり、フォーマットされたハードディスクしか搭載されていないシステムでも起動、ＯＳインストール/アップデート、ＯＳダウン時の診断といった管理作業を遠隔操作で行うことが可能である。
【００６３】
続いて、前記操作端末２００について説明する。図３は本実施形態の操作端末２００の構成例を示す図である。一方、前記操作端末２００は、管理サーバ１００の利用割当処理により、ネットワーク１４０を介して仮想ＰＣサーバ３００を利用する装置であって、シンクライアントとして必要な機能を備えるべくＴＰＭ２０１に格納されたプログラム２０２をＲＡＭ２０３に読み出し、演算装置たるＣＰＵ２０４により実行する。
【００６４】
また、前記操作端末２００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス２０５、ディスプレイなどの出力インターフェイス２０６、ならびに仮想ＰＣサーバ３００や管理サーバ１００などとの間のデータ授受を担うＮＩＣ２０７などを有している。前記操作端末２００は、前記ＮＩＣ２０７により、前記仮想ＰＣサーバ３００、管理サーバ１００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。
【００６５】
こうした操作端末２００として、本実施形態では、いわゆるＨＤＤレスタイプのシンクライアント端末を想定したが、これに限定されることなく、通常のＨＤＤを備える既存ＰＣをシンクライアント化した端末を想定してもよい。この一般ＰＣをシンクライアント端末化する技術については、ＯＳ内蔵のＵＳＢメモリを一般ＰＣのＵＳＢインターフェイスに接続し、ＯＳ起動、ＶＰＮ接続、管理サーバ認証といった一連のシンクライアント処理を実行するといった既存技術（参考：http://www.hitachi-ics.co.jp/product/seihin/jyourou/sec/sec.htmlなど）を採用すればよい。
【００６６】
また、前記操作端末２００は、各種デバイスを接続するためのＵＳＢポート２４４、フラッシュＲＯＭ２０８、キーボードおよびマウスを接続するためのＩ/Ｏコネクタ２６０、ディスプレイを接続するためのビデオカード２３０、これらの各部２０１〜２６０と接続するバスを中継するブリッジ２０９、電源２２０を有する。前記ＣＰＵ２０４は、電源２２０の投入後、先ずフラッシュＲＯＭ２０８にアクセスしてＢＩＯＳ２３５を実行することにより、操作端末２００のシステム構成を認識する。
【００６７】
フラッシュＲＯＭ２０８におけるＯＳ２３６は、ＣＰＵ２０４が操作端末２００の各部２０１〜２６０を統括的に制御して、後述する各手段に対応するプログラムを実行するためのプログラムである。ＣＰＵ２０４は、ＢＩＯＳ２３５に従い、フラッシュＲＯＭ２０８からＯＳ２３６をＲＡＭ２０３にロードして実行する。なお、本実施形態のＯＳ２３６には、組み込み型ＯＳ等のフラッシュＲＯＭ２０８に格納可能な比較的サイズの小さいものが利用される。
【００６８】
前記操作端末２００は、ＵＳＢポート２４４に接続された可搬型記憶媒体５０（ＵＳＢメモリ）が格納する利用者に関する証明書情報などと、入力インターフェイス２０５で入力された利用者のＩＤ、パスワードの情報とを用いた、管理サーバ１００に対する仮想ＰＣサーバ割当要求処理や仮想ＰＣサーバ３００との接続確立処理を実行する機能をシンクライアント端末として当然に備える。
【００６９】
前記可搬型記憶媒体５０の例としては、ＩＣチップをプラスティック筐体などの適宜な収納ケースに格納し、操作端末２００のＵＳＢポート２４４にデータ通信可能に接続される、例えばＵＳＢデバイスなどがあげられる。こうしたＩＣチップは、ＣＰＵと、メモリとから構成される。なお、この可搬型記憶媒体５０としては、ＩＣカード部とフラッシュメモリとが一体化したメモリカードに、個人証明書や秘密鍵およびパスワード、モバイル利用に必要な各種アプリケーションソフトウェアをプレインストールした認証デバイス（商標名：KeyMobile）を採用することができる。この可搬型記憶媒体５０がメモリにて記憶する情報としては、チップＩＤ、個人証明書や秘密鍵およびパスワードを格納した認証用情報、操作端末２００と仮想ＰＣサーバ３００との間の利用割当処理を行う管理サーバ４００のＩＰアドレス、およびソフトウェア（ＯＳや、当該可搬型記憶媒体５０の利用者に関する個人認証処理を実行するソフトウェアなど）が想定できる。
【００７０】
また、前記操作端末２００は、仮想ＰＣサーバ３００との接続確立処理の実行に伴い、当該操作端末２００の入力インターフェイス２０５にて入力された操作情報を前記仮想ＰＣサーバ３００のアドレスに宛てて送信し、当該操作情報に対応した映像情報を前記仮想ＰＣサーバ３００から受信して、当該操作端末２００の出力インターフェイス２０６に表示する機能もシンクライアント端末として当然に備える。
【００７１】
こうした前記操作端末２００は、リモート操作クライアント２７０と、暗号化通信プログラム２７１とを前記ＴＰＭ２０１にて備えている。前記リモート操作クライアント２７０は、操作端末２００が遠隔から仮想ＰＣサーバ３００のデスクトップにアクセスするためのプログラムであり、例えばＶＮＣのクライアント（ビューワ）プログラムである。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１からリモート操作クライアント２７０をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、Ｉ/Ｏコネクタ２６０の入力情報（キーボードおよびマウスの操作内容）を、例えばＶＰＮなどのネットワーク１４０を介して仮想ＰＣサーバ３００に送信すると共に、ＶＰＮ等のネットワーク１４０を介して当該仮想ＰＣサーバ３００から送られてきた映像情報（ディスプレイのデスクトップ画面）をビデオカード２３０に接続されたディスプレイなどの出力インターフェイス２０６に出力する。
【００７２】
また、前記暗号化通信プログラム２７１は、リモート操作クライアント２７０より通知されたアドレスを持つ仮想ＰＣサーバ３００との間に、ＶＰＮなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、ＩＰｓｅｃを用いた通信プログラムを想定できる。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１から暗号化通信プログラム２７１をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、ＮＩＣ２０７を介して自操作端末２００に割当てされた仮想ＰＣサーバ３００へ通信開始要求を送信して、当該仮想ＰＣサーバ３００との間にＶＰＮ等のネットワークを構築し、このＶＰＮ等を介して当該仮想ＰＣサーバ３００と通信する。
【００７３】
また、本実施形態における前記操作端末２００は、機器情報２７３を前記ＴＰＭ２０１にて備えている。前記機器情報２７３は、操作端末２００から接続確立要求等を送信する際に、この接続確立要求等に含まれる、当該操作端末２００の認証用情報である。具体的には、例えば、操作端末２００のＩＤや型番、ＭＡＣアドレスなどが想定できる。
【００７４】
なお、前記ＴＰＭ２０１は、スマートカード（ＩＣ カード）に搭載されるセキュリティチップに似た機能を持っており、非対称鍵による演算機能、またこれら鍵を安全に保管するための耐タンパー性を有するハードウェアチップである。このＴＰＭ２０１の機能としては、例えば、ＲＳＡ（Rivest-Shamir-Adleman Scheme）秘密鍵の生成・保管、ＲＳＡ秘密鍵による演算（署名、暗号化、復号）、ＳＨＡ−１（Secure Hash Algorithm １）のハッシュ演算、プラットフォーム状態情報（ソフトウェアの計測値）の保持（ＰＣR）、 鍵、証明書、クレデンシャルの信頼チェーンの保持、高品質な乱数生成、不揮発性メモリ、その他Opt-in やＩ／Ｏ等があげられる。
【００７５】
前記ＴＰＭ２０１は、暗号鍵（非対称鍵）の生成・保管・演算機能の他、プラットフォーム状態情報（ソフトウェアの計測値）をＴＰＭ内のレジスタＰＣＲ（Platform Configuration Registers）に安全に保管し、通知する機能を有している。ＴＰＭの最新仕様では、さらにローカリティやデリゲーション（権限委譲）等の機能が追加されている。なお、ＴＰＭ２０１は、物理的にプラットフォームのパーツ（マザーボードなど）に取り付けることとなっている。
【００７６】
次に、前記計算機しての仮想ＰＣサーバ３００について説明する。図４は本実施形態の仮想ＰＣサーバ３００の構成例を示す図である。この仮想ＰＣサーバ３００は、操作端末２００に提供する複数の仮想ＰＣ４００の他に、仮想ＰＣ４００の生成、削除、割当て、割当て解除、起動、停止といった処理を実行する仮想ＰＣ制御手段３１０（例：Xenなどの仮想化ソフトウェアにより構成される）と、仮想ＰＣサーバ３００自体の電源をネットワーク経由でオン／オフする制御を行う電源制御手段３１１（例：ＢＭＣ３５０など）とを備える。詳細は省略するが、仮想ＰＣサーバ３００は、任意の仮想ＰＣ４００を任意の仮想ＰＣサーバで実行できるよう、仮想ＰＣ４００の仮想ＰＣサーバへの割当て処理や、当該割当ての解除処理を実行できる。例えば、ネットワーク１４０で接続されたファイルサーバ（図示せず）に仮想ＰＣ４００を構成するファイルを置き、任意の仮想ＰＣサーバ３００が排他的にそのファイルを利用して仮想ＰＣ４００を提供する。この操作を割当てと呼ぶ。
【００７７】
こうした仮想ＰＣサーバ３００は、データセンターなどに設置されたシャーシ３０に挿入されて使用され、前記操作端末２００に仮想ＰＣ４００を提供するサーバ装置である。前記シャーシ３０は、複数の格納区画３５を備えており、格納区画３５ごとに仮想ＰＣサーバ３００の挿入を受け付けることができる。仮想ＰＣサーバ３００は、必要な機能を備えるべくＨＤＤ（ハードディスクドライブ）３０１などに格納されたプログラム３０２をＲＡＭ３０３に読み出し、演算装置たるＣＰＵ３０４により実行する。
【００７８】
また、前記仮想ＰＣサーバ３００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス３０５や、ディスプレイなどの出力インターフェイス３０６を必要に応じて備え、また、前記管理サーバ１００や仮想ＰＣ４００などとの間のデータ授受を担うＮＩＣ３０７などを有している。前記仮想ＰＣサーバ３００は、前記ＮＩＣ３０７により、前記管理サーバ１００や操作端末２００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。
【００７９】
また、仮想ＰＣサーバ３００は、他にも、フラッシュＲＯＭ（Read Only Memory）３０８と、デスクトップの映像情報を生成するビデオカード３３０と、これらの各部３０１〜３３０とバスとを中継するブリッジ３０９と、電源３２０とを有する。  
前記フラッシュＲＯＭ３０８には、ＢＩＯＳ（Basic Input/Output System）３３５が記憶されている。前記ＣＰＵ３０４は、電源３２０の投入後、先ずフラッシュＲＯＭ３０８にアクセスしてＢＩＯＳ３３５を実行することにより、仮想ＰＣサーバ３００のシステム構成を認識する。
【００８０】
こうした仮想ＰＣサーバ３００は、前記ＨＤＤ３０１において、リモート操作サーバ３７０、暗号化通信プログラム３７１、ＯＳ（Operating System）３３６、セッション管理エージェント３９０を格納している。前記ＯＳ３３６は、ＣＰＵ３０４が仮想ＰＣサーバ３００の各部３０１〜３３０を統括的に制御して、各手段を実現する各プログラムを実行するためのプログラムである。ＣＰＵ３０４は、ＢＩＯＳ３３５に従い、ＨＤＤ３０１からＯＳ３３６をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、仮想ＰＣサーバ３００の各部を統括的に制御する。
【００８１】
また、リモート操作サーバ３７０は、仮想ＰＣサーバ３００のデスクトップを操作端末２００から遠隔操作を可能とするためのプログラムであり、例えばＡＴ＆Ｔケンブリッジ研究所で開発されたＶＮＣ（Virtual Network Computing）のサーバプログラムである。ＣＰＵ３０４は、ＯＳ３３６に従い、ＨＤＤ３０１からリモート操作サーバ３７０をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ＶＰＮ等のネットワーク１４０を介して操作端末２００から送られてきた入力情報（キーボードおよびマウスの操作内容）を受信し処理すると共に、処理結果を示す映像情報（ディスプレイのデスクトップ画面）を、ＶＰＮ等のネットワーク１４０を介して操作端末２００に送信する。
【００８２】
また、前記暗号化通信プログラム３７１は、操作端末２００との間にＶＰＮ等のネットワーク１４０を構築するための通信プログラムであり、例えばＩＰｓｅｃ（Security Architecture for the Internet Protocol）を用いた通信プログラムである。ＣＰＵ３０４は、ＯＳ３３６に従い、ＨＤＤ３０１から暗号化通信プログラム３７１をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ＮＩＣ３０７を介して操作端末２００から受付けた接続確立要求等に従い、操作端末２００との間にＶＰＮ等のセキュアなネットワーク１４０を構築し、このＶＰＮ等を介して操作端末２００と通信を行なう。
【００８３】
また、前記セッション管理エージェント３９０は、管理サーバ１００を介して割り当てされた操作端末２００とのシンクライアント接続におけるセッション状態を管理するエージェントである。例えば、操作端末２００とのシンクライアント接続終了をモニタリングしており、セッション終了時にはその旨を管理サーバ１００に通知する。このセッション管理エージェント３９０は、仮想ＰＣ４００においてはＯＳ・接続状態通知手段４１０となる。
【００８４】
次に、仮想ＰＣ４００について説明する（図１参照）。この仮想ＰＣ４００は、前記操作端末２００のリモート操作クライアント２７０と通信し、操作端末２００からの遠隔操作を実現するリモート操作サーバ４０５を備える。また、ＯＳ４２０が動作中であって、リモート操作サーバ４０５に操作端末２００から接続がある状況において、操作端末２００から一定時間キー入力がないことを検知してその旨を管理サーバ１００にネットワーク１４０経由で通知するＯＳ・接続状態通知手段４１０を備える。また、ＯＳ４２０を備える。
【００８５】
基本的には、前記仮想ＰＣサーバ３００がシンクライアントサーバとして前記操作端末２００との間で処理できる機能を備えている（仮想ＰＣサーバ３００のハードウェアをエミュレートした結果であるが）。従って、この仮想ＰＣ４００が備えるハードウェア構成や備える機能ブロック等についての説明は、前記仮想ＰＣサーバ３００と同様であるとして省略する。
【００８６】
なお、これまで示した仮想ＰＣ管理システム１０を構成する各装置における各手段１１０〜１１４、３１０〜３１１らは、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記各ＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムをＲＡＭに読み出して、これを実行することとなる。
【００８７】
また、前記ネットワーク１４０に関しては、インターネット、ＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
【００８８】
−−−データベース構造−−−
次に、本実施形態において用いるデータベースの構造について説明する。図５は本実施形態における、（ａ）サーバ管理表１２５、（ｂ）ユーザ管理表１２６、の各データ構造例を示す図である。
【００８９】
サーバ管理表１２５は、仮想ＰＣサーバ３００が設置された物理的な位置（例えば搭載ラックなど）を識別する物理位置単位１０と、複数の仮想ＰＣサーバ３００間で共有している電源ユニットの単位（例えばシャーシ３０など）を識別する電源制御単位１１と、仮想ＰＣサーバ３００を識別する仮想ＰＣサーバＩＤ１２と、仮想ＰＣサーバ３００の電源が入っているか（ON）切れているか（OFF)を示す電源状態１３と、仮想ＰＣサーバ３００に割当てた仮想ＰＣ４００の識別子である仮想ＰＣＩＤ１４と、仮想ＰＣ４００の仮想的な電源が入っているか（ON）切れているか（OFF)を示す仮想ＰＣ電源状態１５と、仮想ＰＣ４００が持つネットワークアドレスであるＩＰアドレス１６の各データを格納したテーブルである。
【００９０】
前記管理サーバ１００は、このサーバ管理表１２５でもって、複数のユーザ、複数の操作端末２００、複数の仮想ＰＣ４００、仮想ＰＣサーバ３００の対応を管理する。つまり、どのユーザが、どの操作端末２００から、どの仮想ＰＣサーバ上で動作している仮想ＰＣ４００をリモート操作しているかを管理する。
【００９１】
ここで、前記物理位置単位１０と電源制御単位１１の各データの利用方法について説明する。図６は本実施形態の空調対象領域３の概念例を示す図である。例えば、複数（図６の例の場合、４つ）の仮想ＰＣサーバ３００が一つの電源装置３１と冷却ファン３２を備えたシャーシ３０に入っており、複数（図６の例の場合、２つ）のシャーシ３０がラック２０に搭載されている。また、複数のラック２０が一つの部屋（＝空調対象領域３）に設置されている。この部屋には空調装置４が設置されており、部屋全体を冷却している。
【００９２】
このような場合、部屋内で稼動する（つまり電源オン状態の）シャーシ３０が少なければ、動作させる電源装置３１と冷却ファン３１の数を減らすことができるので省電力となる。更に、部屋内で稼動するシャーシ３０が複数のラック２０にバランスよく分散すると、部屋全体の温度上昇が平均化される。そのため、前記部屋で稼働する空調装置４の運転量を抑えることが可能となり、省電力となる。
【００９３】
換言すれば、空調装置４が冷やすべくべき空間＝空調対象領域３、にラック２０が複数存在する状況において発熱箇所（つまり電源オン状態の機器）が偏在しないようにすれば、空調効率がアップする。以降の本実施形態における説明では、電源制御単位１１をシャーシ３０、物理位置単位１０をラック２０として想定する。
【００９４】
また、前記ユーザ管理表１２６は、前記操作端末２００を用いて仮想ＰＣ４００を利用するユーザについての情報を格納するテーブルである。このユーザ管理表１２６は、前記ユーザを識別するユーザ識別子１７と、ユーザに割当てた仮想ＰＣ４００の識別子である仮想ＰＣＩＤ１８とを対応づけたレコードの集合体となっている。仮想ＰＣ４００へのユーザの割当は前記管理サーバ１００が行っているから、このユーザ管理表１２６も管理サーバ１００が生成・管理する。
【００９５】
−−−処理フロー例１−−−
以下、本実施形態における仮想ＰＣ管理方法の実際手順について、図に基づき説明する。図７は本実施形態における仮想ＰＣ管理方法の処理フロー例１を示す図である。なお、以下で説明する仮想ＰＣ管理方法に対応する各種動作は、前記情報処理装システム１０を構成する管理サーバ１００や仮想ＰＣサーバ３００および仮想ＰＣ４００、操作端末２００らが、それぞれのＲＡＭに読み出して実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００９６】
ここではまず、操作端末２００から仮想ＰＣ４００をリモート操作するための仮想ＰＣ４００の割当や電源制御といった全体の流れを示す。この場合、前記操作端末２００は、入力インターフェイス２０５を介しユーザから入力されたユーザＩＤとパスワードを使ってユーザ認証を実行した上で、リモート操作クライアント２７０を用いて、前記ユーザに割当てられた仮想ＰＣ４００の利用開始要求処理を実行する。前記操作端末２００のリモート操作クライアント２７０は、前記ユーザＩＤを付与した利用開始要求を、前記管理サーバ１００に送信する。
【００９７】
一方、前記管理サーバ１００の割当候補検索手段１１１は、前記操作端末２００のリモート操作クライアント２７０から前記利用開始要求を受信する（ｓ１００）。そして、前記記憶手段１０１のユーザ管理表１２６から、前記ユーザＩＤに対応する仮想ＰＣＩＤ１８を取得し、当該仮想ＰＣＩＤ１８がサーバ管理表１２５に存在するかチェックする（ｓ１０１）。前記サーバ管理表１２５において前記ユーザＩＤに対応した前記仮想ＰＣＩＤ１８が設定済みである場合、前記割当候補検索手段１１１は、前記ユーザに対して仮想ＰＣ４００を割当て済みと判断し（ｓ１０１：ｙｅｓ）、対応するＩＰアドレス１６（サーバ管理表１２５より抽出）を、前記操作端末２００のリモート操作クライアント２７０に返す（ｓ１０５）。
【００９８】
他方、前記ステップｓ１０１で、前記サーバ管理表１２５において前記ユーザＩＤに対応した前記仮想ＰＣＩＤ１８が設定済みでなかった場合、前記割当候補検索手段１１１は、前記ユーザに対して仮想ＰＣ４００が未割当であると判断する（ｓ１０１：ｎｏ）。そして、前記ユーザ向けの仮想ＰＣ４００を割当てる仮想ＰＣサーバ３００、つまり割当候補の仮想ＰＣサーバ３００を、電力消費量が最低になるように決定する（ｓ１０２）。また、前記管理サーバ１００の割当手段１１２は、前記割当候補の仮想ＰＣサーバ３００に対し、前記利用開始要求に応じた前記仮想ＰＣ４００を割り当てる処理（例：ユーザ管理表１２６にて、割当候補の仮想ＰＣサーバ３００における仮想ＰＣ４００のＩＤと、前記ユーザＩＤとを対応付けする）を実行する。前記ステップｓ１０２の処理に関しては、処理フロー例２にて詳述する。
【００９９】
次に、前記管理サーバ１００の電源管理手段１１３は、サーバ管理表１２５において前記割当候補の仮想ＰＣサーバ３００について電源状態１３のデータが「ＯＮ」であるかチェックする（ｓ１０３）。前記割当候補の仮想ＰＣサーバ３００の電源状態が「ＯＦＦ」つまり、電源が入っていない場合（ｓ１０３：ｎｏ）、前記電源管理手段１１３は、前記仮想ＰＣサーバ３００の電源制御手段３１１（ＢＭＣ３５０）に対し、仮想ＰＣサーバ３００の電源を入れるようネットワーク経由で指示する（ｓ１０６）。
【０１００】
一方、前記割当候補の仮想ＰＣサーバ３００の電源状態が「ＯＮ」つまり、電源が入っていた場合（ｓ１０３：ｙｅｓ）、前記管理サーバ１００の電源管理手段１１３は、サーバ管理表１２５において、仮想ＰＣ電源状態１５のデータが「ＯＮ」であるかチェックする（ｓ１０４）。仮想ＰＣ４００の電源が入っていない場合（ｓ１０４：ｎｏ）、前記管理サーバ１００の電源管理手段１１３は、前記仮想ＰＣサーバ３００の仮想ＰＣ制御手段３１０に対し、仮想ＰＣ４００の電源を入れるようネットワーク経由で指示する（ｓ１０７）。このとき、仮想ＰＣサーバ３００に割当てた仮想ＰＣ４００の数に応じて仮想ＰＣサーバ３００のパフォーマンス設定を変更しても良い。例えば、割当てた仮想ＰＣ数が少ない場合には、仮想ＰＣサーバ３００のＣＰＵ３０４の動作モードを、低速度、低消費電力に設定するなどである。
【０１０１】
上述のステップｓ１０７の処理により、仮想ＰＣ４００の電源状態がＯＮとなれば、前記割当候補検索手段１１１は、前記仮想ＰＣ４００に対応するＩＰアドレス１６（サーバ管理表１２５より抽出）を、前記操作端末２００のリモート操作クライアント２７０に返し（ｓ１０５）、処理を終了する。
【０１０２】
なお、前記サーバ管理表１２５における仮想ＰＣサーバ３００の電源状態１３、および仮想ＰＣ電源状態１５の各データは、前記管理サーバ１００の電源状態取得手段１１０が予め取得してサーバ管理表１２５に設定しているものとする。この場合、前記電源状態取得手段１１０は、前記仮想ＰＣ４００の電源状態をネットワーク経由で前記仮想ＰＣサーバ３００より取得し、この電源状態データを記憶手段１０１のサーバ管理表１２５に格納し、また、前記仮想ＰＣサーバ３００の電源状態をネットワーク経由で前記仮想ＰＣサーバ３００（のＢＭＣ３５０）より取得し、この電源状態データを記憶手段１０１のサーバ管理表１２５に格納する。
【０１０３】
−−−処理フロー例２−−−
図８は、本実施形態における仮想ＰＣ管理方法の処理フロー例２を示す図である。ここでは、管理サーバ１００が、電力消費量が最低になるように仮想ＰＣ４００を仮想ＰＣサーバ３００に割当てるアルゴリズムを示す。
【０１０４】
ここで、前記管理サーバ１００の割当候補検索手段１１１は、電源オン状態かつ仮想ＰＣ４００が未割当の仮想ＰＣサーバ３００（電源オン状態かつ割当済みの仮想ＰＣ数が割当可能数より小さい仮想ＰＣサーバ３００とも言える）を割当候補として前記記憶手段１０１のサーバ管理表１２５から検索する（ｓ２００）。電源がオフになっている仮想ＰＣサーバ３００の電源をオンにして新たに仮想ＰＣ４００を割り当てるより、電源がすでにオンになっていて仮想ＰＣ４００の割当余力がある仮想ＰＣサーバ３００に仮想ＰＣ４００を割り当てれば、現状からの電力消費量の増加を抑制できる。前記ステップｓ２００で該当する仮想ＰＣサーバ３００が検索できた場合（ｓ２００：ｙｅｓ）、当該仮想ＰＣサーバ３００を割当候補として仮想ＰＣ４００の割当を行うこととなる。
【０１０５】
一方、前記ステップｓ２００で該当する仮想ＰＣサーバ３００が検索できなかった場合（ｓ２００：ｎｏ）、前記割当候補検索手段１１１は、前記サーバ管理表１２５における電源制御単位１１のデータに着目した処理を行う。この場合、前記割当候補検索手段１１１は、電源オン状態の仮想ＰＣサーバ３００と電源オフ状態の仮想ＰＣサーバ３００の両方が電源供給対象に含まれたシャーシ３０を前記サーバ管理表１２５から検索する。そして、ここで検索されたシャーシ３０の電源供給対象が含む電源オフ状態の仮想ＰＣサーバ３００を割当候補として特定する（ｓ２０１）。
【０１０６】
つまり、仮想ＰＣサーバ３００を収容するシャーシ３０（＝電源ユニット）毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各仮想ＰＣサーバ３００が混在するシャーシ３０において電源オフ状態の仮想ＰＣサーバ３００を割当候補とすれば、例えば、現在は収容中の全仮想ＰＣサーバ３００の電源がオフであるシャーシ３０への電源供給を新たに再開するといったことを回避し、すでに電源供給がなされているシャーシ３０を利用して電力消費量の増加を抑制できる。
【０１０７】
上記ステップｓ２０１で仮想ＰＣサーバ３００を特定できた場合（ｓ２０１：ｙｅｓ）、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、電源をオンにする指示をネットワーク経由で通知する（ｓ１０６）。
【０１０８】
他方、前記ステップｓ２０１で仮想ＰＣサーバ３００を特定できなかった場合（ｓ２０１：ｎｏ）、前記割当候補検索手段１１１は、サーバ管理表１２５において物理位置単位１０のデータに着目した処理を行う。この時、前記割当候補検索手段１１１は、各ラック２０が収容するシャーシ３０および当該シャーシ３０が電源供給対象とする仮想ＰＣサーバ３００と各仮想ＰＣサーバ３００の電源状態データを前記記憶手段１０１のサーバ管理表１２５から抽出する。次に、電源オン状態の仮想ＰＣサーバ数をラック毎に算定して電源オン状態の仮想ＰＣサーバ数が最少のラック２０を特定する。また、ここで特定したラック２０に対応付いた仮想ＰＣサーバ３００のうち電源オフ状態の仮想ＰＣサーバ３００を割当候補として特定する（ｓ２０２）。
【０１０９】
つまり、ラック２０のうち、現在の電力消費量が最少となっているものを特定して、そこの仮想ＰＣサーバ３００に仮想ＰＣ４００の割当余力があれば、該当仮想ＰＣサーバ３００に仮想ＰＣ４００の割当を行うことで、ラック間での電力消費量を均衡させる。
【０１１０】
上記ステップｓ２０２で仮想ＰＣサーバ３００を特定できた場合（ｓ２０２：ｙｅｓ）、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、電源をオンにする指示をネットワーク経由で通知する（ｓ１０６）。
【０１１１】
前記ステップｓ２０２で仮想ＰＣサーバ３００を特定できなかった場合（ｓ２０２：ｎｏ）、前記割当候補検索手段１１１は、サーバ管理表１２５から、最も仮想ＰＣサーバＩＤが小さく、電源状態１３が「ＯＦＦ」の仮想ＰＣサーバ３００を割当候補として選択する（ｓ２０３）。前記ステップｓ２０３で仮想ＰＣサーバ３００を特定できた場合（ｓ２０３：ｙｅｓ）、前記電源管理手段１１３は、前記割当候補の仮想ＰＣサーバ３００に対し、電源をオンにする指示をネットワーク経由で通知する（ｓ１０６）。もしも、前記ステップｓ２０３に至っても、仮想ＰＣサーバ３００を特定できなかった場合（ｓ２０３：ｎｏ）、前記割当候補検索手段１１１は、割当不能の旨を前記操作端末２００に返信し処理を終了する。
【０１１２】
上述してきたように、前記割当候補検索手段１１１は、優先順位１位（電源オン状態かつ仮想ＰＣ４００が未割当の仮想ＰＣサーバ３００）、優先順位２位（電源オン状態と電源オフ状態の仮想ＰＣサーバ３００の両方が電源供給対象に含まれたシャーシ３０の電源供給対象が含む電源オフ状態の仮想ＰＣサーバ３００）、優先順位３位（電源オン状態の計算機数が最少のラック２０に対応付いた仮想ＰＣサーバ３００のうち電源オフ状態の仮想ＰＣサーバ３００）、優先順位４位（最も仮想ＰＣサーバＩＤが小さく、電源状態１３が「ＯＦＦ」の仮想ＰＣサーバ３００）として、前記記憶手段１０１のサーバ管理表１２５から仮想ＰＣサーバ３００を検索する処理を実行する。すなわち、割当候補の各検索処理の結果に優先順位をつけるのである。
【０１１３】
前記管理サーバ１００の割当手段１１２は、上記のアルゴリズムで仮想ＰＣサーバ３００を選択し、サーバ管理表１２５の仮想ＰＣＩＤ１４に当該仮想ＰＣＩＤを設定し、仮想ＰＣ電源状態１５をOFFに設定する。
【０１１４】
−−−処理フロー例３−−−
続いて、ユーザが操作端末２００から、自分に割当てられた仮想ＰＣ４００を停止させた場合に、管理サーバ１００の電源管理手段１１３の動作を示す。図９は、本実施形態における仮想ＰＣ管理方法の処理フロー例３を示す図である。
【０１１５】
ユーザが、仮想ＰＣ４００のＯＳ４２０を停止する場合、仮想ＰＣ４００の前記ＯＳ・接続状態通知手段４１０は、その旨を、管理サーバ１００の電源管理手段１１３に通知する。  
前記電源管理手段１１３は、前記通知を受け取ると（ｓ３００）、前記仮想ＰＣサーバ３００（前記仮想ＰＣ４００を提供しているもの）の仮想ＰＣ制御手段３１０に対し、前記仮想ＰＣ４００の電源が停止したか問合せを行って、電源停止まで電源状態を監視する（ｓ３０１）。また、前記電源管理手段１１３は、前記仮想ＰＣサーバ３００の仮想ＰＣ制御手段３１０に、当該仮想ＰＣ４００を仮想ＰＣサーバ３００の割当てから解除するよう指示する。また、サーバ管理表１２５の仮想ＰＣＩＤ１４の欄から前記仮想ＰＣ４００のＩＤを削除する（ｓ３０２）。
【０１１６】
続いて、前記電源管理手段１１３は、前記サーバ管理表１２５から、前記仮想ＰＣサーバ３００に対応付けされた仮想ＰＣＩＤ１４がすべて未割当て、つまり全仮想ＰＣ４００の電源が停止されているかチェックする（ｓ３０３）。その結果、前記仮想ＰＣサーバ３００に対し割り当てられた仮想ＰＣ４００が一台も無い状態を確認し（ｓ３０３：ｙｅｓ）、前記電源管理手段１１３は、前記仮想ＰＣサーバ３００の電源制御手段３１１に対し、仮想ＰＣサーバ３００の電源を停止するよう指示する（ｓ３０４）。  
これによれば、現在は仮想ＰＣ４００を提供していない仮想ＰＣサーバ３００について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
【０１１７】
−−−処理フロー例４−−−
図１０は、本実施形態における仮想ＰＣ管理方法の処理フロー例４を示す図である。次に、ユーザが仮想ＰＣ４００の電源をＯＮにしたままシンクライアント接続を切断したり、一定時間入力をしなかった場合に、より省電力になるよう仮想ＰＣ４００を再割当てする処理について説明する。
【０１１８】
この場合、前記仮想ＰＣ４００のＯＳ・接続状態通知手段４１０は、前記操作端末２００との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末２００との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行する。
【０１１９】
一方、前記管理サーバ１００の割当候補検索手段１１１は、前記ＯＳ・接続状態通知手段４１０から、リモート操作サーバ４０５と操作端末２００との接続が切断したこと、操作端末２００から一定時間キー入力がない旨の通知を受信する（ｓ４００）。そして、前記割当候補検索手段１１１は、上記処理フロー例２の処理と同様に、電力消費量が最低になるよう、前記仮想ＰＣ４００の移動先の仮想ＰＣサーバ３００を決定する（ｓ４０１）。
【０１２０】
続いて、前記管理サーバ１００の割当候補検索手段１１１は、前記ステップｓ４０１で決定した仮想ＰＣサーバ３００に前記仮想ＰＣ４００を移動させることで、現状より電力消費量が減るか確認する（ｓ４０２）。例えば、サーバ管理表１２５における電源状態１３が「ＯＦＦ」の仮想ＰＣサーバ３００が増えるか否か等を確認する。たとえ仮想ＰＣ４００を他の仮想ＰＣサーバ３００に移動させたとしても、電源状態が「ＯＮ」である仮想ＰＣサーバ３００の数に変化が無いか、あるいは増えるとすれば、移動させる意味が無い。
【０１２１】
なお、ステップｓ４００、ｓ４０１、ｓ４０２の処理は、複数台の仮想ＰＣ４００からの通知を元に実行しても良い。例えば、２台の仮想ＰＣをセットにして移動させると仮想ＰＣサーバ３００の電源を「ＯＦＦ」にできるか計算することで、電力消費量が減るか確認する。
【０１２２】
なお、電力消費量が減少しないと確認された場合（ｓ４０２：ｎｏ）、処理を終了する。一方、電力消費量が減少すると確認された場合（ｓ４０２：ｙｅｓ）、管理サーバ１００の割当手段１１２は、前記仮想ＰＣサーバ３００（今まで仮想ＰＣ４００を提供していたもの）の仮想ＰＣ制御手段３１０に、前記移動先の仮想ＰＣサーバ３００に前記仮想ＰＣ４００を移動させるように指示し、サーバ管理表１２５を移動後の状態（つまり、仮想ＰＣサーバ３００に対する仮想ＰＣ４００のＩＤの設定を変更する）に変更する（ｓ４０３）。
【０１２３】
こうして、電源オン状態ではあるが使われていない仮想ＰＣ４００については、上述の割当候補の検索ロジックと同じロジックで移籍先の仮想ＰＣサーバ３００を探し出し、割り当てるのである。このような処理を行えば、仮想ＰＣ４００の割当先の集約＝オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
【０１２４】
なお、上記ステップｓ４０３に続き、前記電源管理手段１１３は、前記仮想ＰＣ４００についての停止要求を受信し、前記仮想ＰＣ４００を元々提供していた前記仮想ＰＣサーバ３００に割り当てられていた全仮想ＰＣ４００の電源状態がオフになったことを検知し（ｓ４０４：ｙｅｓ）、前記仮想ＰＣサーバ３００の電源をオフにする指示をネットワーク経由で前記仮想ＰＣサーバ３００に通知する（ｓ４０５）。
【０１２５】
−−−その他の例−−−
その他にも、例えば、仮想ＰＣサーバ３００に割当てた仮想ＰＣ４００の数に応じて仮想ＰＣサーバ３００のパフォーマンス設定を変更する処理を実行しても良い。この場合、前記管理サーバ１００は、前記記憶手段１０１のサーバ管理表１２５にて、各仮想ＰＣサーバ３００における、仮想ＰＣ４００の割当可能数と、割当済みの仮想ＰＣ４００のデータと、提供する仮想ＰＣ４００の数に応じた仮想ＰＣサーバ３００の計算性能または電力消費傾向の基準を定めたデータとを格納している。
【０１２６】
そして、前記管理サーバ１００の性能検索手段１１４は、各仮想ＰＣサーバ３００における割当済みの仮想ＰＣ数を、例えば、仮想ＰＣ数＝２、などと前記記憶手段１０１のサーバ管理表１２５から抽出する。また、ここで抽出した仮想ＰＣ数に対応する仮想ＰＣサーバ３００の計算性能または電力消費傾向の基準を、例えば、「仮想ＰＣ数＝２の時、計算性能＝７０％、電力消費傾向＝省電力モード」などとの時前記記憶手段１０１のサーバ管理表１２５から検索する。
【０１２７】
前記性能検索手段１１４は、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各仮想ＰＣサーバ３００に通知する。なお、前記仮想ＰＣサーバ３００は、ＣＰＵ３０４のクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
【０１２８】
以上本実施形態によれば、仮想ＰＣを利用するシンクライアントシステムで、ユーザが遠隔操作の開始や終了を要求したタイミングで、仮想ＰＣを提供する仮想ＰＣサーバの電源を制御し、仮想ＰＣを少数の仮想ＰＣサーバに集中させることで、利用する仮想ＰＣサーバを減らし、仮想ＰＣサーバの電力消費量を低減できる。  
したがって、仮想ＰＣを利用するシンクライアントシステムにおいて電力消費量を低減可能となる。
【０１２９】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【０１３０】
【図１】本実施形態の仮想ＰＣ管理システムのネットワーク構成図である。
【図２】本実施形態の管理サーバの構成例を示す図である。
【図３】本実施形態の操作端末の構成例を示す図である。
【図４】本実施形態の仮想ＰＣサーバの構成例を示す図である。
【図５】本実施形態における、（ａ）サーバ管理表、（ｂ）ユーザ管理表の各データ構造例を示す図である。
【図６】本実施形態の空調対象領域の概念例を示す図である。
【図７】本実施形態における仮想ＰＣ管理方法の処理フロー例１を示す図である。
【図８】本実施形態における仮想ＰＣ管理方法の処理フロー例２を示す図である。
【図９】本実施形態における仮想ＰＣ管理方法の処理フロー例３を示す図である。
【図１０】本実施形態における仮想ＰＣ管理方法の処理フロー例４を示す図である。
【符号の説明】
【０１３１】
１    仮想ＰＣ管理システム
３    空調対象領域
４    空調装置
２０    ラック（収容装置）
３０    シャーシ（電源ユニット）
３５    格納区画
１００    管理サーバ
１０１、３０１    ＨＤＤ（Hard Disk Drive）
１０２、２０２、３０２    プログラム
１０３、３０３    ＲＡＭ（Random Access Memory）
１０４、２０４、３０４    ＣＰＵ（Central Processing Unit）
１０５、２０５、３０５    入力インターフェイス
１０６、２０６、３０６    出力インターフェイス
１０７、２０７、３０７    通信装置、ＮＩＣ（Network Interface Card）
１０８、２０８、３０８    フラッシュＲＯＭ
１０９、２０９、３０９    ブリッジ
１１０    電源状態取得手段
１１１    割当候補検索手段
１１２    割当手段
１１３    電源管理手段
１１４    性能検索手段
１３６、２３６、３３６、４２０    ＯＳ
１２０、２２０、３２０    電源
１２５    サーバ管理表
１２６    ユーザ管理表
２３０、３３０    ビデオカード
１３５、２３５、３３５    ＢＩＯＳ
１４０    ネットワーク
２００    操作端末
２０１    ＴＰＭ（Trusted Platform Module）
２０３    ＲＡＭ（Random Access Memory）
２４４    ＵＳＢポート
２６０    Ｉ／Ｏコネクタ
２７０    リモート操作クライアント
２７１、３７１    暗号化通信プログラム
２７３    機器情報
３００    仮想ＰＣサーバ（計算機）
３１０    仮想ＰＣ制御手段
３１１    電源制御手段
３７０、４０５    リモート操作サーバ
３９０    セッション管理エージェント
４００    仮想ＰＣ（仮想計算機）
４０５    リモート操作サーバ
４１０    ＯＳ・接続状態通知手段
【図１】
2010086423.tif 000003
【図２】
2010086423.tif 000004
【図３】
2010086423.tif 000005
【図４】
2010086423.tif 000006
【図５】
2010086423.tif 000007
【図７】
2010086423.tif 000008
【図８】
2010086423.tif 000009
【図９】
2010086423.tif 000010
【図１０】
2010086423.tif 000011
【図６】
2010086423.tif 000012