JP2010086423A - 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム - Google Patents

仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム Download PDF

Info

Publication number
JP2010086423A
JP2010086423A JP2008256779A JP2008256779A JP2010086423A JP 2010086423 A JP2010086423 A JP 2010086423A JP 2008256779 A JP2008256779 A JP 2008256779A JP 2008256779 A JP2008256779 A JP 2008256779A JP 2010086423 A JP2010086423 A JP 2010086423A
Authority
JP
Japan
Prior art keywords
virtual
computer
power
server
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008256779A
Other languages
English (en)
Other versions
JP4966942B2 (ja
Inventor
Daisuke Yokota
大輔 横田
Akihisa Nagami
明久 永見
Fumio Noda
文雄 野田
Masayuki Tosaka
雅之 登坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008256779A priority Critical patent/JP4966942B2/ja
Priority to US12/511,782 priority patent/US8316248B2/en
Publication of JP2010086423A publication Critical patent/JP2010086423A/ja
Application granted granted Critical
Publication of JP4966942B2 publication Critical patent/JP4966942B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

【課題】仮想PCを利用するシンクライアントシステムにおいて電力消費量を低減する。
【解決手段】仮想計算機400の電源状態をネットワーク経由で計算機300より取得し記憶手段101に格納する手段と、計算機300の電源状態をネットワーク経由で計算機300より取得し記憶手段101に格納する手段と、仮想計算機400の利用開始要求を操作端末200から受信し電源オン状態かつ仮想計算機400が未割当の計算機300を割当候補として記憶手段101の格納データから検索する手段と、前記割当候補の計算機300に対し利用開始要求に応じた仮想計算機400を割り当てる手段と、割当候補の計算機300に対し仮想計算機400の電源をオンにする指示をネットワーク経由で通知する手段とから仮想PC管理システム1を構成する。
【選択図】図1

Description

本発明は、仮想PC管理方法、仮想PC管理システム、および仮想PC管理プログラムに関するものであり、具体的には、仮想PCを利用するシンクライアントシステムにおいて電力消費量を低減する技術に関する。
計算機の適用範囲が拡大し、企業秘密等についての情報漏えいや不正アクセスなどを防止できる強固なセキュリティを必要とする分野でも計算機が利用され始めてきた。また、計算機の性能が向上し、セキュリティが確保された企業の建屋内だけでなく建屋外の自宅や出張先などでも携帯型の計算機が利用できるようになってきた。
このような状況に対応するため、重要な企業秘密が記録されたファイルを処理する計算機は、セキュリティが確保された建屋内に設置し、建屋外で携帯型計算機を利用する際には、建屋内の計算機を遠隔操作するセキュア計算機システムが考案された。このシステムでは、携帯型計算機は人間からのキーボード入力データなどを建屋内の計算機に送信する。一方、建屋内の計算機は企業秘密が記録されたファイルを処理し、その実行画面のイメージだけを携帯型計算機に送信する。これにより、企業秘密が記録されたファイルを建屋外に出さないため、ファイル単位での情報漏えいや不正アクセスを防止できる。
建屋内の計算機には、通常のPCを利用するほかに、仮想PCを利用する方法がある。仮想PCは、計算機を構成するハードウェアを、別の計算機がソフトウェア的にエミュレートして作り出したPCである。この仮想PCは、プログラムからは、物理的なハードウェアと同じように(エミュレートされた)ハードウェアを利用できるので、通常のPCと同じように実行できる。また、ユーザが遠隔操作で利用する場合には、通常のPCと同じように利用できる。仮想PCは、ハードウェアをエミュレートする計算機(以下仮想PCサーバと呼ぶ)により提供される。仮想PCサーバは、その処理能力に依存するが複数台の仮想PCを提供できる。
こうしたシステムに関連する技術として、例えば、シンクライアントタイプの情報処理システムにおいて、ブレードPCと仮想PCサーバを混在させて、これらの端末への割当てを制御することを課題とした、以下の方法が提案されている。
すなわち、ネットワークを介して互い接続された、複数の情報処理装置、該情報処装置を管理する管理サーバ及び複数の端末を有する情報処理システムにおける、情報処理装置の割当て方法であって、前記管理サーバは、前記何れかの端末から前記ネットワークを介して情報処理装置の割当て要求を受信し、該受信した割当て要求に対して、第一の記憶部に記憶されている前記情報処理装置の前記端末への割当て状態情報と、第二の記憶部に記憶されている前記端末のユーザへの前記情報処理装置の割当て条件情報に基づいて前記割当て要求元端末に割当てる情報処理装置を決定し、該決定した情報処理装置の宛先情報を前記ネットワークを介して前記割当て要求端末に送信し、前記第一の記憶部に記憶されている当該情報処理装置の端末への割当て状態を、未割当て状態から当該割当て要求元端末に割当てていることを示す状態に更新し、前記端末は、前記管理サーバに前記情報処理装置の割当て要求を前記ネットワークを介して送信し、前記管理サーバから該端末に割当てられた情報処理装置の宛先情報を前記ネットワークを介して受信し、該受信した宛先情報を用いて、該宛先情報を有する情報処理装置と通信し、前記情報処理装置は、前記管理サーバから前記ネットワークを介して該情報処理装置の宛先情報が送信された前記端末と通信を行うことを特徴とする情報処理装置の割当て方法(特許文献1参照)である。
特開2008−152591号公報
上記のシステムでは、ユーザと、ユーザが利用する計算機との対応関係をサーバ等で管理し、ユーザが遠隔操作の開始を要求した際に、前記サーバ等が接続先の計算機を決定する必要がある。特許文献1における手法では、この対応関係をサーバが固定的に持っており、ユーザは、常に同じ計算機が割り当てられる。
ここで、ユーザに割り当てられた計算機が仮想PCである場合の電力消費量を考えてみる。通常のPCの場合には、ユーザが利用を停止したタイミングでPCの電源を停止できるが、仮想PCの場合では、仮想PCの電源を停止しても仮想PCサーバは動作し続けるので省電力にはならない。また、仮想PCが1台でも利用されていると仮想PCサーバの電源を停止することができない。
したがって、ユーザ利用中の仮想PCの数が少ない場合でも、それらの仮想PCが多数の仮想PCサーバに分散して提供されている状況であれば、仮想PCを提供中の仮想PCサーバの電源を停止させられずに無駄に電力を消費する。
そこで本発明は上記課題を鑑みてなされたものであり、仮想PCを利用するシンクライアントシステムにおいて電力消費量を低減する技術の提供を主たる目的とする。
上記課題を解決する本発明の仮想PC管理方法は、仮想計算機と当該仮想計算機を提供する計算機との対応関係を管理する管理サーバが主体となって実行するものである。利用者が操作する操作端末(シンクライアント端末)がシンクライアント接続にて前記計算機(ブレードPC等)を利用するに際し、前記計算機が提供する仮想計算機(仮想PC)を、電力消費量低減を考慮して前記操作端末に割り当てる技術となる。仮想計算機は、計算機を構成するハードウェアを、実際に物理的なハードウェアを具備する計算機がソフトウェア的にエミュレートして作り出した計算機となる。計算機はその処理能力に応じて複数台の仮想計算機を提供できる。
なお、前記仮想計算機は仮想化ソフトウェアにより生成される。こうした仮想化ソフトウェアは、仮想マシンモニタ(VMM:Virtual Machine Monitor)とも呼ばれるソフトウェアである。通常、単一のコンピュータを複数のコンピュータであるかのように分割して使うためのものである。
また、前記計算機としては、例えばブレードPCを想定できる。ブレードPCは、シャーシにおける格納区画に挿入して使用されるものである。シャーシの格納区画背面には、各ブレードPCと脱着自在な電源端子やネットワーク回線のインターフェイス、各種ケーブル類が一式備わっており、ブレードPCの増設や交換が容易となっている。通常、シャーシは複数台のブレードPC(=計算機)を収容可能であり、各ブレードPCに電源供給を行う1つの電源ユニットとなる。また、シャーシは収容装置(ラック等)に収容される。いくつかの収容装置が並んだ領域3は、空調装置4にて所定温度に維持される。
こうした本発明の仮想PC管理方法において、前記管理サーバは、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理を実行する。管理サーバは、前記電源状態のデータを得るべく、電源状態の回答要求を、例えば、前記ブレードPCのベースボード管理コントローラ(BMC)に送信している。このBMCは、IPMI仕様をサポートし、前記ブレードPCにおけるシステムボード上の各種センサー (温度、電圧、ファン、バスなど)等と通信して所定イベントを監視し、パラメータが基準値を超えた場合に警告とログイベントを送信したり、電源等のリモート制御を行う。また、ブレードPCの電源状態についてのデータ要求に対する応答処理も、このBMCが実行できる。仮想計算機の電源状況については、仮想計算機を提供している計算機が当然把握しているので、前記管理サーバから計算機に要求を行えばよい。
また、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する処理を実行する。電源がオフになっている計算機の電源をオンにして新たに仮想計算機を割り当てるより、電源がすでにオンになっていて仮想計算機割当が現在なされていない計算機に仮想計算機を割り当てれば、現状からの電力消費量の増加を抑制できる。
また、前記管理サーバは、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。また、前記管理サーバは、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理を実行する。電源がオンとなった仮想計算機については、前記操作端末とのシンクライアント接続を確立し、操作端末からの利用を受け付けることとなる。
また、前記管理サーバが、前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータを格納しているとしてもよい。この場合、前記管理サーバは、前記利用開始要求を操作端末から受信し、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を割当候補として前記記憶手段の格納データから検索する処理を実行する。つまり、電源がオフになっている計算機の電源をオンにして新たに仮想計算機を割り当てるより、電源がすでにオンになっていて仮想計算機の割当余力がある計算機に仮想計算機を割り当てれば、現状からの電力消費量の増加を抑制できる。
この時、前記管理サーバは、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。
また、前記管理サーバが、前記記憶手段にて、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係を格納しているとしてもよい。この場合、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態の計算機と電源オフ状態の計算機が電源供給対象に含まれた電源ユニットを前記記憶手段の格納データから検索し、ここで検索された電源ユニットの電源供給対象が含む電源オフ状態の計算機を割当候補として特定する処理を実行する。計算機を収容するシャーシ(=電源ユニット)毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各計算機が混在するシャーシにおいて電源オフ状態の計算機を割当候補とすれば、例えば、現在は収容中の全計算機の電源がオフである電源ユニットへの電源供給を新たに再開するといったことを回避し、すでに電源供給がなされている電源ユニットを利用して電力消費量の増加を抑制できる。
この場合、前記管理サーバは、前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理とを実行する。
また、前記管理サーバが、前記記憶手段にて、前記計算機と、当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係を格納しているとしてもよい。この時、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、各収容装置が収容する電源ユニットおよび当該電源ユニットが電源供給対象とする計算機と各計算機の電源状態データを前記記憶手段の格納データから抽出し、電源オン状態の計算機数を収容装置毎に算定して電源オン状態の計算機数が最少の収容装置を特定し、ここで特定した収容装置に対応付いた計算機のうち電源オフ状態の計算機を割当候補として特定する処理を実行する。つまり、収容装置のうち、現在の電力消費量が最少となっているものを特定して、そこの計算機に仮想計算機の割当余力があれば、該当計算機に仮想計算機の割当を行うことで、収容装置間での電力消費量を均衡させる。
この場合、前記管理サーバは、前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。
また、前記管理サーバが、前記記憶手段にて、各計算機における仮想計算機の割当可能数と割当済みの仮想計算機のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係のデータとを格納しているとしてもよい。
この場合、前記管理サーバは、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を第1優先候補とし、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を第2優先候補とし、電源オン状態と電源オフ状態の計算機の両方が電源供給対象に含まれた電源ユニットの電源供給対象が含む電源オフ状態の計算機を第3優先候補とし、電源オン状態の計算機数が最少の収容装置に対応付いた計算機のうち電源オフ状態の計算機を第4優先候補として、前記記憶手段の格納データから計算機を検索する処理を実行する。すなわち、すでに上で述べた割当候補の各検索処理の結果に優先順位をつけるのである。
前記管理サーバは、前記検索により得られた計算機のうち最も優先度の高い計算機を割当候補として特定し、この計算機に対して前記利用開始要求に応じた前記仮想計算機を割り当てる処理を実行する。また、前記管理サーバは、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理を実行する。
また、前記管理サーバが、前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータと、提供する仮想計算機の数に応じた計算機の計算性能または電力消費傾向の基準を定めたデータとを格納しているとしてもよい。
この場合、前記管理サーバは、各計算機における割当済みの仮想計算機数を前記記憶手段の格納データから抽出し、ここで抽出した仮想計算機数に対応する計算機の計算性能または電力消費傾向の基準を前記記憶手段の格納データから検索する処理を実行する。
また、前記管理サーバは、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各計算機に通知する処理を実行する。なお、前記計算機は、CPUのクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
また、前記管理サーバが、利用者からの仮想計算機の停止要求を、仮想計算機から受信する処理と、前記仮想計算機の電源状態がオンからオフになったか監視する処理と、前記仮想計算機を提供していた計算機に割り当てられていた全仮想計算機の電源状態がオフになったことを検知し、前記計算機の電源をオフにする指示をネットワーク経由で前記計算機に通知する処理と、を実行するとしてもよい。これによれば、現在は仮想計算機を提供していない計算機について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
また、前記仮想計算機が、前記操作端末との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行するとしてもよい。
この場合、前記管理サーバが、前記通知を前記仮想計算機から受信する処理と、前記仮想計算機の割当先となる別の計算機を、前記割当候補の検索処理により特定し、ここで特定した割当候補の計算機に前記仮想計算機の割当先を変更する処理と、を実行する。つまり、電源オン状態ではあるが使われていない仮想計算機については、上述の割当候補の検索ロジックと同じロジックで移籍先の計算機を探し出し、割り当てるのである。このような処理を行えば、仮想計算機の割当先の集約=オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
なお、上述の使われていない仮想計算機の割当先を変更するに際し、管理サーバまたは元々の割当先であった計算機が、前記仮想計算機についてのハイバネーションを実行するとしてもよい。ハイバネーションによれば、仮想計算機の電源オフ直前の状態(主としてメモリ上のデータ:各種データや起動アプリケーションなどの情報)を、管理サーバないし計算機のハードディスクドライブに保存する。そして、新たな割当先の計算機において仮想計算機の電源がオンされる時に、前記保存した情報を、前記管理サーバないし元の計算機のハードディスクドライブから新たな計算機のメモリに読み出して、電源オフ直前の状態から作業再開が可能となる。
また、ネットワークを介して計算機や仮想計算機の電源をオンにする手法としては、ネットワークブート(network boot)を想定できる。このネットワークブートは、OSの起動方法の1つであり、ハードディスク等からOSを起動せず、ネットワーク経由でOSのイメージをダウンロードして起動する技術である。例えば、管理サーバ側に格納されたディスクイメージ(起動ディスク)を計算機のメモリが読み込むことによって計算機を起動できるようになっている。なお、計算機の電源オン・オフの制御は、例えば、前記管理サーバから計算機にWake-On-LAN要求を行うことで実行できる。
また、仮想計算機の割り当てに際しては、前記管理サーバが、IPアドレスを前記仮想計算機に割り当てる。そして、前記IPアドレスに基づいて前記仮想計算機のネットワークブートを実行する。また、割当が済んだ仮想計算機のIPアドレスは、操作端末に通知されることになる。こうしたIPアドレスの割り当てやネットワークブートの処理を実行する管理サーバは、DHCP(Dynamic Host Configuration Protocol )サーバであり、PXE(Preboot eXecution Environment)サーバであるとも言える。前記PXEサーバは、ネットワークブートする仮想計算機らに対してブートイメージを転送するものであり、フォーマットされたハードディスクしか搭載されていないシステムでも起動、OSインストール/アップデート、OSダウン時の診断といった管理作業を遠隔操作で行うことが可能である。
また、本発明の仮想PC管理システムは、操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータシステムであり、以下の手段を備えている。
すなわち、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する手段と、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる手段と、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する手段と、を備える。
また、本発明の仮想PC管理プログラムは、操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータに、以下のステップを実行させるプログラムである。
すなわち、前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索するステップと、前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てるステップと、前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知するステップとである。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
本発明によれば、仮想PCを利用するシンクライアントシステムにおいて電力消費量を低減可能となる。
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の仮想PC管理システム1のネットワーク構成図である。図1に示す仮想PC管理システム1は、ネットワーク140を介して互いに接続された、複数の計算機たる仮想PCサーバ300(ブレードPCなど)、前記仮想PCサーバ300ないし当該仮想PCサーバ300が提供する仮想PC400(=仮想計算機)とシンクライアント接続される操作端末200、複数の前記仮想PC400と当該仮想PC400を提供する仮想PCサーバ300との対応関係や前記シンクライアント接続の管理を担う管理サーバ400、を備えるシステムである。
なお、前記仮想PCサーバ300および仮想PC400は、前記操作端末200との間にVPN(Virtual Private Network)を構築し、このVPNを介して、操作端末200から送られてきた入力情報(入力装置の操作内容)を受信し処理すると共に、処理結果を示す映像情報(表示装置のデスクトップ画面)を操作端末200に送信することとなる。仮想PCサーバ300および仮想PC400は、通常は入出力装置をローカル接続しないで使用するサーバ装置となる。
次に、本実施形態における前記仮想PC管理システム1を構成する各装置について各々説明する。図2は本実施形態の管理サーバ100の構成例を示す図である。前記管理サーバ100は、本実施形態を実現する機能を備えるべくハードディスクドライブ101などに格納されたプログラム102をRAM103に読み出し、演算装置たるCPU104により実行する。なお、前記プログラム102は、管理サーバ100のハードディスクドライブ101に当初から格納されている例の他、例えば、各種記録媒体(CDやDVDなど)や記憶媒体(USBメモリ等)から、これらのインターフェイス137を介して介して管理サーバ100がプログラム102を読み取って実行する例も想定できる。或いは、各種通信媒体(ネットワーク、搬送波、デジタル信号)を介して所定装置からの前記プログラム102の提供を受けて、実行する例も想定できる(この場合、通信媒体に応じた通信手段を管理サーバ100が勿論備えている)。
また、前記管理サーバ100は、各種ボタンなどの入力インターフェイス105、ディスプレイなどの出力インターフェイス106を必要に応じて備えてもよく、また、前記仮想PCサーバ300や仮想PC400などとの間のデータ授受を担うNIC(Network Interface Card)107を有している。このNICには当然ながらMACアドレスが設定されている。
前記管理サーバ100は、前記NIC107により、前記仮想PCサーバ300や仮想PC400らと例えばインターネットやLANなどのネットワーク140を介して接続し、データ授受を実行する。また、管理サーバ100は、フラッシュROM108と、各機能部や装置等を接続するバスを中継するブリッジ109と、電源120と、を有する。
なお、前記フラッシュROM108には、BIOS135が記憶されている。CPU104は、電源120の投入後、先ずフラッシュROM108にアクセスしてBIOS135を実行することにより、管理サーバ100のシステム構成を認識する。また、ハードディスクドライブ101には、各機能部(手段)やデータベース類の他に、OS136が記憶されている。このOS136は、CPU104が管理サーバ100の各部を統括的に制御して、後述する各手段を実行するためのプログラムである。CPU104は、BIOS135に従い、ハードディスクドライブ101からOS136をRAM103にロードして実行する。これにより、CPU104は、管理サーバ100の各部を統括的に制御する。
続いて、前記管理サーバ100が、例えばプログラム102に基づき構成・保持する手段につき説明を行う。なお、前記管理サーバ100は、サーバ管理表125およびユーザ管理表126をハードディスクドライブ101に有しているものとする。勿論、前記各管理表125、126は、管理サーバ100が自身のハードディスクドライブ101に備える例のみならず、ネットワーク140上に配置された他のサーバ装置に配置されているとしてもよい。
こうした管理サーバ100は、前記仮想PC400の電源状態をネットワーク経由で前記仮想PCサーバ300より取得し、この電源状態データを記憶手段101に格納し、また、前記仮想PCサーバ300の電源状態をネットワーク経由で前記仮想PCサーバ300より取得し、この電源状態データを記憶手段101に格納する電源状態取得手段110を備える。
なお、前記管理サーバ100は、前記電源状態のデータを得るべく、電源状態の回答要求を、例えば、前記仮想PCサーバ300のベースボード管理コントローラ(BMC350)に送信している。このBMC350は、IPMI仕様をサポートし、前記仮想PCサーバ300におけるシステムボード上の各種センサー (温度、電圧、ファン、バスなど)等と通信して所定イベントを監視し、パラメータが基準値を超えた場合に警告とログイベントを送信したり、電源等のリモート制御を行う。また、仮想PCサーバ300の電源状態についてのデータ要求に対する応答処理も、このBMC350が実行できる。仮想PC400の電源状況については、仮想PC400を提供している仮想PCサーバ300が当然把握しているので、前記管理サーバ100から仮想PCサーバ300に要求を行えばよい。
また、前記管理サーバは、仮想PC400の利用開始要求を操作端末200から受信し、電源オン状態かつ仮想PC400が未割当の仮想PCサーバ300を割当候補として前記記憶手段101のサーバ管理表125から検索する割当候補検索手段111を備える。電源がオフになっている仮想PCサーバ300の電源をオンにして新たに仮想PC400を割り当てるより、電源がすでにオンになっていて仮想PC400割当が現在なされていない仮想PCサーバ300に仮想PC400を割り当てれば、現状からの電力消費量の増加を抑制できる。
また、前記管理サーバ100は、前記割当候補の仮想PCサーバ300に対し、前記利用開始要求に応じた前記仮想PC400を割り当てる処理を実行する、割当手段112を備える。また、前記管理サーバ100は、前記割当候補の仮想PCサーバ300に対し、前記仮想PC400の電源をオンにする指示をネットワーク経由で通知する電源管理手段113を備える。電源がオンとなった仮想PC400については、前記操作端末200とのシンクライアント接続を確立し、操作端末200からの利用を受け付けることとなる。
また、前記管理サーバ100は、前記記憶手段101のサーバ管理表125にて、各仮想PCサーバ300における、仮想PC400の割当可能数と、割当済みの仮想PC400のデータを格納しているとしてもよい。この場合、前記管理サーバ100は、前記利用開始要求を操作端末200から受信し、電源オン状態かつ割当済みの仮想PC数が割当可能数より小さい仮想PCサーバ300を割当候補として前記記憶手段101のサーバ管理表125から検索する。
つまり、電源がオフになっている仮想PCサーバ300の電源をオンにして新たに仮想PC400を割り当てるより、電源がすでにオンになっていて仮想PC400の割当余力がある仮想PCサーバ300に仮想PC400を割り当てれば、現状からの電力消費量の増加を抑制できる。
この時、前記割当手段112は、前記割当候補の仮想PCサーバ300に対し、前記利用開始要求に応じた前記仮想PC400を割り当てる処理を実行する。
また、前記管理サーバ100が、前記記憶手段101のサーバ管理表125にて、前記仮想PCサーバ300と当該仮想PCサーバ300に電源供給を行うシャーシ30(電源ユニット)との対応関係を格納しているとしてもよい。この場合、前記割当候補検索手段111は、仮想PC400の利用開始要求を操作端末200から受信し、電源オン状態の仮想PCサーバ300と電源オフ状態の仮想PCサーバ300が電源供給対象に含まれたシャーシ30を前記記憶手段101のサーバ管理表125から検索し、ここで検索されたシャーシ30の電源供給対象が含む電源オフ状態の仮想PCサーバ300を割当候補として特定する処理を実行する。
仮想PCサーバ300を収容するシャーシ30(=電源ユニット)毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各仮想PCサーバ300が混在するシャーシ30において電源オフ状態の仮想PCサーバ300を割当候補とすれば、例えば、現在は収容中の全仮想PCサーバ300の電源がオフであるシャーシ30への電源供給を新たに再開するといったことを回避し、すでに電源供給がなされているシャーシ30を利用して電力消費量の増加を抑制できる。
この場合、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、電源をオンにする指示をネットワーク経由で通知する。また、前記割当手段112は、電源オン状態となった前記仮想PCサーバ300に対し、前記利用開始要求に応じた前記仮想PC400を割り当てる処理を実行する。
また、前記管理サーバ100が、前記記憶手段101のサーバ管理表125にて、前記仮想PCサーバ300と、当該仮想PCサーバ300に電源供給を行うシャーシ30を収容するラック20(収容装置)との対応関係を格納しているとしてもよい。この時、前記割当候補検索手段111は、仮想PC400の利用開始要求を操作端末200から受信し、各ラック20が収容するシャーシ30および当該シャーシ30が電源供給対象とする仮想PCサーバ300と各仮想PCサーバ300の電源状態データを前記記憶手段101のサーバ管理表125から抽出し、電源オン状態の仮想PCサーバ数をラック毎に算定して電源オン状態の仮想PCサーバ数が最少のラック20を特定し、ここで特定したラック20に対応付いた仮想PCサーバ300のうち電源オフ状態の仮想PCサーバ300を割当候補として特定する処理を実行する。つまり、ラック20のうち、現在の電力消費量が最少となっているものを特定して、そこの仮想PCサーバ300に仮想PC400の割当余力があれば、該当仮想PCサーバ300に仮想PC400の割当を行うことで、ラック間での電力消費量を均衡させる。
この場合、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、電源をオンにする指示をネットワーク経由で通知する。また、前記割当手段112は、電源オン状態となった前記仮想PCサーバ300に対し、前記利用開始要求に応じた前記仮想PC400を割り当てる処理を実行する。
また、前記管理サーバ100が、前記記憶手段101のサーバ管理表125にて、各仮想PCサーバ300における仮想PC400の割当可能数と割当済みの仮想PC400のデータと、前記仮想PCサーバ300と当該仮想PCサーバ300に電源供給を行うシャーシ30との対応関係のデータと、前記仮想PCサーバ300と当該仮想PCサーバ300に電源供給を行うシャーシ30を収容するラック20との対応関係のデータとを格納しているとしてもよい。
この場合、前記割当候補検索手段111は、仮想PC400の利用開始要求を操作端末200から受信し、電源オン状態かつ仮想PC400が未割当の仮想PCサーバ300を第1優先候補とし、電源オン状態かつ割当済みの仮想PC数が割当可能数より小さい仮想PCサーバ300を第2優先候補とし、電源オン状態と電源オフ状態の仮想PCサーバ300の両方が電源供給対象に含まれたシャーシ30の電源供給対象が含む電源オフ状態の仮想PCサーバ300を第3優先候補とし、電源オン状態の計算機数が最少のラック20に対応付いた仮想PCサーバ300のうち電源オフ状態の仮想PCサーバ300を第4優先候補として、前記記憶手段101のサーバ管理表125から仮想PCサーバ300を検索する処理を実行する。すなわち、すでに上で述べた割当候補の各検索処理の結果に優先順位をつけるのである。
前記割当候補検索手段111は、前記検索により得られた仮想PCサーバ300のうち最も優先度の高い仮想PCサーバ300を割当候補として特定する。また、前記割当手段112は、割当候補となった前記仮想PCサーバ300に対して前記利用開始要求に応じた前記仮想PC400を割り当てる処理を実行する。また、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、前記仮想PC400の電源をオンにする指示をネットワーク経由で通知する処理を実行する。
また、前記管理サーバ100が、前記記憶手段101のサーバ管理表125にて、各仮想PCサーバ300における、仮想PC400の割当可能数と、割当済みの仮想PC400のデータと、提供する仮想PC400の数に応じた仮想PCサーバ300の計算性能または電力消費傾向の基準を定めたデータとを格納しているとしてもよい。
この場合、前記管理サーバ100は、各仮想PCサーバ300における割当済みの仮想PC数を前記記憶手段101のサーバ管理表125から抽出し、ここで抽出した仮想PC数に対応する仮想PCサーバ300の計算性能または電力消費傾向の基準を前記記憶手段101のサーバ管理表125から検索する、性能検索手段114を備える。
また、前記性能検索手段114は、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各仮想PCサーバ300に通知する。なお、前記仮想PCサーバ300は、CPU304のクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
また、前記電源管理手段113は、利用者からの仮想PC400の停止要求を、仮想PC400から受信し、前記仮想PC400の電源状態がオンからオフになったか監視するとしてもよい。この場合、前記電源管理手段113は、前記仮想PC400を提供していた仮想PCサーバ300に割り当てられていた全仮想PC400の電源状態がオフになったことを検知し、前記仮想PCサーバ300の電源をオフにする指示をネットワーク経由で前記仮想PCサーバ300に通知する。
これによれば、現在は仮想PC400を提供していない仮想PCサーバ300について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
また、前記仮想PC400は、前記操作端末200との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末200との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行する、OS・接続状態通知手段410を備えるとしてもよい。
この場合、前記管理サーバ100の前記割当候補検索手段111が、前記通知を前記仮想PC400から受信し、前記仮想PC400の割当先となる別の仮想PCサーバ300を、前記割当候補の検索処理により特定する。また、前記割当手段112が、前記特定した割当候補の仮想PCサーバ300に前記仮想PC400の割当先を変更する処理を実行する。つまり、電源オン状態ではあるが使われていない仮想PC400については、上述の割当候補の検索ロジックと同じロジックで移籍先の仮想PCサーバ300を探し出し、割り当てるのである。このような処理を行えば、仮想PC400の割当先の集約=オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
なお、上述の使われていない仮想PC400の割当先を変更するに際し、管理サーバ100または元々の割当先であった仮想PCサーバ300が、前記仮想PC400についてのハイバネーションを実行するとしてもよい。ハイバネーションによれば、仮想PC400の電源オフ直前の状態(主としてメモリ上のデータ:各種データや起動アプリケーションなどの情報)を、管理サーバ100ないし仮想PCサーバ300のハードディスクドライブ(記憶手段101)に保存する。そして、新たな割当先の仮想PCサーバ300において仮想PC400の電源がオンされる時に、前記保存した情報を、前記管理サーバ100ないし元の仮想PCサーバ300のハードディスクドライブから新たな仮想PCサーバ300のメモリ303に読み出して、電源オフ直前の状態から作業再開が可能となる。
また、ネットワーク140を介して仮想PCサーバ300や仮想PC400の電源をオンにする手法としては、ネットワークブート(network boot)を想定できる。このネットワークブートは、OSの起動方法の1つであり、ハードディスク等からOSを起動せず、ネットワーク経由でOSのイメージをダウンロードして起動する技術である。例えば、管理サーバ側に格納されたディスクイメージ(起動ディスク)を仮想PCサーバ300のメモリが読み込むことによって仮想PCサーバ300を起動できるようになっている。なお、仮想PCサーバ300の電源オン・オフの制御は、例えば、前記管理サーバ100から仮想PCサーバ300にWake-On-LAN要求を行うことで実行できる。
また、仮想PC400の割り当てに際しては、前記管理サーバ100が、IPアドレスを前記仮想PC400に割り当てる。そして、前記IPアドレスに基づいて前記仮想PC400のネットワークブートを実行する。また、割当が済んだ仮想PC400のIPアドレスは、操作端末200に通知されることになる。こうしたIPアドレスの割り当てやネットワークブートの処理を実行する管理サーバ100は、DHCP(Dynamic Host Configuration Protocol )サーバであり、PXE(Preboot eXecution Environment)サーバであるとも言える。前記PXEサーバは、ネットワークブートする仮想PC400らに対してブートイメージを転送するものであり、フォーマットされたハードディスクしか搭載されていないシステムでも起動、OSインストール/アップデート、OSダウン時の診断といった管理作業を遠隔操作で行うことが可能である。
続いて、前記操作端末200について説明する。図3は本実施形態の操作端末200の構成例を示す図である。一方、前記操作端末200は、管理サーバ100の利用割当処理により、ネットワーク140を介して仮想PCサーバ300を利用する装置であって、シンクライアントとして必要な機能を備えるべくTPM201に格納されたプログラム202をRAM203に読み出し、演算装置たるCPU204により実行する。
また、前記操作端末200は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス205、ディスプレイなどの出力インターフェイス206、ならびに仮想PCサーバ300や管理サーバ100などとの間のデータ授受を担うNIC207などを有している。前記操作端末200は、前記NIC207により、前記仮想PCサーバ300、管理サーバ100らと例えばインターネットやLANなどのネットワーク140を介して接続し、データ授受を実行する。
こうした操作端末200として、本実施形態では、いわゆるHDDレスタイプのシンクライアント端末を想定したが、これに限定されることなく、通常のHDDを備える既存PCをシンクライアント化した端末を想定してもよい。この一般PCをシンクライアント端末化する技術については、OS内蔵のUSBメモリを一般PCのUSBインターフェイスに接続し、OS起動、VPN接続、管理サーバ認証といった一連のシンクライアント処理を実行するといった既存技術(参考:http://www.hitachi-ics.co.jp/product/seihin/jyourou/sec/sec.htmlなど)を採用すればよい。
また、前記操作端末200は、各種デバイスを接続するためのUSBポート244、フラッシュROM208、キーボードおよびマウスを接続するためのI/Oコネクタ260、ディスプレイを接続するためのビデオカード230、これらの各部201〜260と接続するバスを中継するブリッジ209、電源220を有する。前記CPU204は、電源220の投入後、先ずフラッシュROM208にアクセスしてBIOS235を実行することにより、操作端末200のシステム構成を認識する。
フラッシュROM208におけるOS236は、CPU204が操作端末200の各部201〜260を統括的に制御して、後述する各手段に対応するプログラムを実行するためのプログラムである。CPU204は、BIOS235に従い、フラッシュROM208からOS236をRAM203にロードして実行する。なお、本実施形態のOS236には、組み込み型OS等のフラッシュROM208に格納可能な比較的サイズの小さいものが利用される。
前記操作端末200は、USBポート244に接続された可搬型記憶媒体50(USBメモリ)が格納する利用者に関する証明書情報などと、入力インターフェイス205で入力された利用者のID、パスワードの情報とを用いた、管理サーバ100に対する仮想PCサーバ割当要求処理や仮想PCサーバ300との接続確立処理を実行する機能をシンクライアント端末として当然に備える。
前記可搬型記憶媒体50の例としては、ICチップをプラスティック筐体などの適宜な収納ケースに格納し、操作端末200のUSBポート244にデータ通信可能に接続される、例えばUSBデバイスなどがあげられる。こうしたICチップは、CPUと、メモリとから構成される。なお、この可搬型記憶媒体50としては、ICカード部とフラッシュメモリとが一体化したメモリカードに、個人証明書や秘密鍵およびパスワード、モバイル利用に必要な各種アプリケーションソフトウェアをプレインストールした認証デバイス(商標名:KeyMobile)を採用することができる。この可搬型記憶媒体50がメモリにて記憶する情報としては、チップID、個人証明書や秘密鍵およびパスワードを格納した認証用情報、操作端末200と仮想PCサーバ300との間の利用割当処理を行う管理サーバ400のIPアドレス、およびソフトウェア(OSや、当該可搬型記憶媒体50の利用者に関する個人認証処理を実行するソフトウェアなど)が想定できる。
また、前記操作端末200は、仮想PCサーバ300との接続確立処理の実行に伴い、当該操作端末200の入力インターフェイス205にて入力された操作情報を前記仮想PCサーバ300のアドレスに宛てて送信し、当該操作情報に対応した映像情報を前記仮想PCサーバ300から受信して、当該操作端末200の出力インターフェイス206に表示する機能もシンクライアント端末として当然に備える。
こうした前記操作端末200は、リモート操作クライアント270と、暗号化通信プログラム271とを前記TPM201にて備えている。前記リモート操作クライアント270は、操作端末200が遠隔から仮想PCサーバ300のデスクトップにアクセスするためのプログラムであり、例えばVNCのクライアント(ビューワ)プログラムである。CPU204は、OS236に従い、TPM201からリモート操作クライアント270をRAM203にロードして実行する。これにより、CPU204は、I/Oコネクタ260の入力情報(キーボードおよびマウスの操作内容)を、例えばVPNなどのネットワーク140を介して仮想PCサーバ300に送信すると共に、VPN等のネットワーク140を介して当該仮想PCサーバ300から送られてきた映像情報(ディスプレイのデスクトップ画面)をビデオカード230に接続されたディスプレイなどの出力インターフェイス206に出力する。
また、前記暗号化通信プログラム271は、リモート操作クライアント270より通知されたアドレスを持つ仮想PCサーバ300との間に、VPNなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、IPsecを用いた通信プログラムを想定できる。CPU204は、OS236に従い、TPM201から暗号化通信プログラム271をRAM203にロードして実行する。これにより、CPU204は、NIC207を介して自操作端末200に割当てされた仮想PCサーバ300へ通信開始要求を送信して、当該仮想PCサーバ300との間にVPN等のネットワークを構築し、このVPN等を介して当該仮想PCサーバ300と通信する。
また、本実施形態における前記操作端末200は、機器情報273を前記TPM201にて備えている。前記機器情報273は、操作端末200から接続確立要求等を送信する際に、この接続確立要求等に含まれる、当該操作端末200の認証用情報である。具体的には、例えば、操作端末200のIDや型番、MACアドレスなどが想定できる。
なお、前記TPM201は、スマートカード(IC カード)に搭載されるセキュリティチップに似た機能を持っており、非対称鍵による演算機能、またこれら鍵を安全に保管するための耐タンパー性を有するハードウェアチップである。このTPM201の機能としては、例えば、RSA(Rivest-Shamir-Adleman Scheme)秘密鍵の生成・保管、RSA秘密鍵による演算(署名、暗号化、復号)、SHA−1(Secure Hash Algorithm 1)のハッシュ演算、プラットフォーム状態情報(ソフトウェアの計測値)の保持(PCR)、 鍵、証明書、クレデンシャルの信頼チェーンの保持、高品質な乱数生成、不揮発性メモリ、その他Opt-in やI/O等があげられる。
前記TPM201は、暗号鍵(非対称鍵)の生成・保管・演算機能の他、プラットフォーム状態情報(ソフトウェアの計測値)をTPM内のレジスタPCR(Platform Configuration Registers)に安全に保管し、通知する機能を有している。TPMの最新仕様では、さらにローカリティやデリゲーション(権限委譲)等の機能が追加されている。なお、TPM201は、物理的にプラットフォームのパーツ(マザーボードなど)に取り付けることとなっている。
次に、前記計算機しての仮想PCサーバ300について説明する。図4は本実施形態の仮想PCサーバ300の構成例を示す図である。この仮想PCサーバ300は、操作端末200に提供する複数の仮想PC400の他に、仮想PC400の生成、削除、割当て、割当て解除、起動、停止といった処理を実行する仮想PC制御手段310(例:Xenなどの仮想化ソフトウェアにより構成される)と、仮想PCサーバ300自体の電源をネットワーク経由でオン/オフする制御を行う電源制御手段311(例:BMC350など)とを備える。詳細は省略するが、仮想PCサーバ300は、任意の仮想PC400を任意の仮想PCサーバで実行できるよう、仮想PC400の仮想PCサーバへの割当て処理や、当該割当ての解除処理を実行できる。例えば、ネットワーク140で接続されたファイルサーバ(図示せず)に仮想PC400を構成するファイルを置き、任意の仮想PCサーバ300が排他的にそのファイルを利用して仮想PC400を提供する。この操作を割当てと呼ぶ。
こうした仮想PCサーバ300は、データセンターなどに設置されたシャーシ30に挿入されて使用され、前記操作端末200に仮想PC400を提供するサーバ装置である。前記シャーシ30は、複数の格納区画35を備えており、格納区画35ごとに仮想PCサーバ300の挿入を受け付けることができる。仮想PCサーバ300は、必要な機能を備えるべくHDD(ハードディスクドライブ)301などに格納されたプログラム302をRAM303に読み出し、演算装置たるCPU304により実行する。
また、前記仮想PCサーバ300は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス305や、ディスプレイなどの出力インターフェイス306を必要に応じて備え、また、前記管理サーバ100や仮想PC400などとの間のデータ授受を担うNIC307などを有している。前記仮想PCサーバ300は、前記NIC307により、前記管理サーバ100や操作端末200らと例えばインターネットやLANなどのネットワーク140を介して接続し、データ授受を実行する。
また、仮想PCサーバ300は、他にも、フラッシュROM(Read Only Memory)308と、デスクトップの映像情報を生成するビデオカード330と、これらの各部301〜330とバスとを中継するブリッジ309と、電源320とを有する。
前記フラッシュROM308には、BIOS(Basic Input/Output System)335が記憶されている。前記CPU304は、電源320の投入後、先ずフラッシュROM308にアクセスしてBIOS335を実行することにより、仮想PCサーバ300のシステム構成を認識する。
こうした仮想PCサーバ300は、前記HDD301において、リモート操作サーバ370、暗号化通信プログラム371、OS(Operating System)336、セッション管理エージェント390を格納している。前記OS336は、CPU304が仮想PCサーバ300の各部301〜330を統括的に制御して、各手段を実現する各プログラムを実行するためのプログラムである。CPU304は、BIOS335に従い、HDD301からOS336をRAM303にロードして実行する。これにより、CPU304は、仮想PCサーバ300の各部を統括的に制御する。
また、リモート操作サーバ370は、仮想PCサーバ300のデスクトップを操作端末200から遠隔操作を可能とするためのプログラムであり、例えばAT&Tケンブリッジ研究所で開発されたVNC(Virtual Network Computing)のサーバプログラムである。CPU304は、OS336に従い、HDD301からリモート操作サーバ370をRAM303にロードして実行する。これにより、CPU304は、VPN等のネットワーク140を介して操作端末200から送られてきた入力情報(キーボードおよびマウスの操作内容)を受信し処理すると共に、処理結果を示す映像情報(ディスプレイのデスクトップ画面)を、VPN等のネットワーク140を介して操作端末200に送信する。
また、前記暗号化通信プログラム371は、操作端末200との間にVPN等のネットワーク140を構築するための通信プログラムであり、例えばIPsec(Security Architecture for the Internet Protocol)を用いた通信プログラムである。CPU304は、OS336に従い、HDD301から暗号化通信プログラム371をRAM303にロードして実行する。これにより、CPU304は、NIC307を介して操作端末200から受付けた接続確立要求等に従い、操作端末200との間にVPN等のセキュアなネットワーク140を構築し、このVPN等を介して操作端末200と通信を行なう。
また、前記セッション管理エージェント390は、管理サーバ100を介して割り当てされた操作端末200とのシンクライアント接続におけるセッション状態を管理するエージェントである。例えば、操作端末200とのシンクライアント接続終了をモニタリングしており、セッション終了時にはその旨を管理サーバ100に通知する。このセッション管理エージェント390は、仮想PC400においてはOS・接続状態通知手段410となる。
次に、仮想PC400について説明する(図1参照)。この仮想PC400は、前記操作端末200のリモート操作クライアント270と通信し、操作端末200からの遠隔操作を実現するリモート操作サーバ405を備える。また、OS420が動作中であって、リモート操作サーバ405に操作端末200から接続がある状況において、操作端末200から一定時間キー入力がないことを検知してその旨を管理サーバ100にネットワーク140経由で通知するOS・接続状態通知手段410を備える。また、OS420を備える。
基本的には、前記仮想PCサーバ300がシンクライアントサーバとして前記操作端末200との間で処理できる機能を備えている(仮想PCサーバ300のハードウェアをエミュレートした結果であるが)。従って、この仮想PC400が備えるハードウェア構成や備える機能ブロック等についての説明は、前記仮想PCサーバ300と同様であるとして省略する。
なお、これまで示した仮想PC管理システム10を構成する各装置における各手段110〜114、310〜311らは、ハードウェアとして実現してもよいし、メモリやHDD(Hard Disk Drive)などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記各CPUがプログラム実行に合わせて記憶装置より該当プログラムをRAMに読み出して、これを実行することとなる。
また、前記ネットワーク140に関しては、インターネット、LANの他、ATM回線や専用回線、WAN(Wide Area Network)、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、VPN(Virtual Private Network)など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
−−−データベース構造−−−
次に、本実施形態において用いるデータベースの構造について説明する。図5は本実施形態における、(a)サーバ管理表125、(b)ユーザ管理表126、の各データ構造例を示す図である。
サーバ管理表125は、仮想PCサーバ300が設置された物理的な位置(例えば搭載ラックなど)を識別する物理位置単位10と、複数の仮想PCサーバ300間で共有している電源ユニットの単位(例えばシャーシ30など)を識別する電源制御単位11と、仮想PCサーバ300を識別する仮想PCサーバID12と、仮想PCサーバ300の電源が入っているか(ON)切れているか(OFF)を示す電源状態13と、仮想PCサーバ300に割当てた仮想PC400の識別子である仮想PCID14と、仮想PC400の仮想的な電源が入っているか(ON)切れているか(OFF)を示す仮想PC電源状態15と、仮想PC400が持つネットワークアドレスであるIPアドレス16の各データを格納したテーブルである。
前記管理サーバ100は、このサーバ管理表125でもって、複数のユーザ、複数の操作端末200、複数の仮想PC400、仮想PCサーバ300の対応を管理する。つまり、どのユーザが、どの操作端末200から、どの仮想PCサーバ上で動作している仮想PC400をリモート操作しているかを管理する。
ここで、前記物理位置単位10と電源制御単位11の各データの利用方法について説明する。図6は本実施形態の空調対象領域3の概念例を示す図である。例えば、複数(図6の例の場合、4つ)の仮想PCサーバ300が一つの電源装置31と冷却ファン32を備えたシャーシ30に入っており、複数(図6の例の場合、2つ)のシャーシ30がラック20に搭載されている。また、複数のラック20が一つの部屋(=空調対象領域3)に設置されている。この部屋には空調装置4が設置されており、部屋全体を冷却している。
このような場合、部屋内で稼動する(つまり電源オン状態の)シャーシ30が少なければ、動作させる電源装置31と冷却ファン31の数を減らすことができるので省電力となる。更に、部屋内で稼動するシャーシ30が複数のラック20にバランスよく分散すると、部屋全体の温度上昇が平均化される。そのため、前記部屋で稼働する空調装置4の運転量を抑えることが可能となり、省電力となる。
換言すれば、空調装置4が冷やすべくべき空間=空調対象領域3、にラック20が複数存在する状況において発熱箇所(つまり電源オン状態の機器)が偏在しないようにすれば、空調効率がアップする。以降の本実施形態における説明では、電源制御単位11をシャーシ30、物理位置単位10をラック20として想定する。
また、前記ユーザ管理表126は、前記操作端末200を用いて仮想PC400を利用するユーザについての情報を格納するテーブルである。このユーザ管理表126は、前記ユーザを識別するユーザ識別子17と、ユーザに割当てた仮想PC400の識別子である仮想PCID18とを対応づけたレコードの集合体となっている。仮想PC400へのユーザの割当は前記管理サーバ100が行っているから、このユーザ管理表126も管理サーバ100が生成・管理する。
−−−処理フロー例1−−−
以下、本実施形態における仮想PC管理方法の実際手順について、図に基づき説明する。図7は本実施形態における仮想PC管理方法の処理フロー例1を示す図である。なお、以下で説明する仮想PC管理方法に対応する各種動作は、前記情報処理装システム10を構成する管理サーバ100や仮想PCサーバ300および仮想PC400、操作端末200らが、それぞれのRAMに読み出して実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
ここではまず、操作端末200から仮想PC400をリモート操作するための仮想PC400の割当や電源制御といった全体の流れを示す。この場合、前記操作端末200は、入力インターフェイス205を介しユーザから入力されたユーザIDとパスワードを使ってユーザ認証を実行した上で、リモート操作クライアント270を用いて、前記ユーザに割当てられた仮想PC400の利用開始要求処理を実行する。前記操作端末200のリモート操作クライアント270は、前記ユーザIDを付与した利用開始要求を、前記管理サーバ100に送信する。
一方、前記管理サーバ100の割当候補検索手段111は、前記操作端末200のリモート操作クライアント270から前記利用開始要求を受信する(s100)。そして、前記記憶手段101のユーザ管理表126から、前記ユーザIDに対応する仮想PCID18を取得し、当該仮想PCID18がサーバ管理表125に存在するかチェックする(s101)。前記サーバ管理表125において前記ユーザIDに対応した前記仮想PCID18が設定済みである場合、前記割当候補検索手段111は、前記ユーザに対して仮想PC400を割当て済みと判断し(s101:yes)、対応するIPアドレス16(サーバ管理表125より抽出)を、前記操作端末200のリモート操作クライアント270に返す(s105)。
他方、前記ステップs101で、前記サーバ管理表125において前記ユーザIDに対応した前記仮想PCID18が設定済みでなかった場合、前記割当候補検索手段111は、前記ユーザに対して仮想PC400が未割当であると判断する(s101:no)。そして、前記ユーザ向けの仮想PC400を割当てる仮想PCサーバ300、つまり割当候補の仮想PCサーバ300を、電力消費量が最低になるように決定する(s102)。また、前記管理サーバ100の割当手段112は、前記割当候補の仮想PCサーバ300に対し、前記利用開始要求に応じた前記仮想PC400を割り当てる処理(例:ユーザ管理表126にて、割当候補の仮想PCサーバ300における仮想PC400のIDと、前記ユーザIDとを対応付けする)を実行する。前記ステップs102の処理に関しては、処理フロー例2にて詳述する。
次に、前記管理サーバ100の電源管理手段113は、サーバ管理表125において前記割当候補の仮想PCサーバ300について電源状態13のデータが「ON」であるかチェックする(s103)。前記割当候補の仮想PCサーバ300の電源状態が「OFF」つまり、電源が入っていない場合(s103:no)、前記電源管理手段113は、前記仮想PCサーバ300の電源制御手段311(BMC350)に対し、仮想PCサーバ300の電源を入れるようネットワーク経由で指示する(s106)。
一方、前記割当候補の仮想PCサーバ300の電源状態が「ON」つまり、電源が入っていた場合(s103:yes)、前記管理サーバ100の電源管理手段113は、サーバ管理表125において、仮想PC電源状態15のデータが「ON」であるかチェックする(s104)。仮想PC400の電源が入っていない場合(s104:no)、前記管理サーバ100の電源管理手段113は、前記仮想PCサーバ300の仮想PC制御手段310に対し、仮想PC400の電源を入れるようネットワーク経由で指示する(s107)。このとき、仮想PCサーバ300に割当てた仮想PC400の数に応じて仮想PCサーバ300のパフォーマンス設定を変更しても良い。例えば、割当てた仮想PC数が少ない場合には、仮想PCサーバ300のCPU304の動作モードを、低速度、低消費電力に設定するなどである。
上述のステップs107の処理により、仮想PC400の電源状態がONとなれば、前記割当候補検索手段111は、前記仮想PC400に対応するIPアドレス16(サーバ管理表125より抽出)を、前記操作端末200のリモート操作クライアント270に返し(s105)、処理を終了する。
なお、前記サーバ管理表125における仮想PCサーバ300の電源状態13、および仮想PC電源状態15の各データは、前記管理サーバ100の電源状態取得手段110が予め取得してサーバ管理表125に設定しているものとする。この場合、前記電源状態取得手段110は、前記仮想PC400の電源状態をネットワーク経由で前記仮想PCサーバ300より取得し、この電源状態データを記憶手段101のサーバ管理表125に格納し、また、前記仮想PCサーバ300の電源状態をネットワーク経由で前記仮想PCサーバ300(のBMC350)より取得し、この電源状態データを記憶手段101のサーバ管理表125に格納する。
−−−処理フロー例2−−−
図8は、本実施形態における仮想PC管理方法の処理フロー例2を示す図である。ここでは、管理サーバ100が、電力消費量が最低になるように仮想PC400を仮想PCサーバ300に割当てるアルゴリズムを示す。
ここで、前記管理サーバ100の割当候補検索手段111は、電源オン状態かつ仮想PC400が未割当の仮想PCサーバ300(電源オン状態かつ割当済みの仮想PC数が割当可能数より小さい仮想PCサーバ300とも言える)を割当候補として前記記憶手段101のサーバ管理表125から検索する(s200)。電源がオフになっている仮想PCサーバ300の電源をオンにして新たに仮想PC400を割り当てるより、電源がすでにオンになっていて仮想PC400の割当余力がある仮想PCサーバ300に仮想PC400を割り当てれば、現状からの電力消費量の増加を抑制できる。前記ステップs200で該当する仮想PCサーバ300が検索できた場合(s200:yes)、当該仮想PCサーバ300を割当候補として仮想PC400の割当を行うこととなる。
一方、前記ステップs200で該当する仮想PCサーバ300が検索できなかった場合(s200:no)、前記割当候補検索手段111は、前記サーバ管理表125における電源制御単位11のデータに着目した処理を行う。この場合、前記割当候補検索手段111は、電源オン状態の仮想PCサーバ300と電源オフ状態の仮想PCサーバ300の両方が電源供給対象に含まれたシャーシ30を前記サーバ管理表125から検索する。そして、ここで検索されたシャーシ30の電源供給対象が含む電源オフ状態の仮想PCサーバ300を割当候補として特定する(s201)。
つまり、仮想PCサーバ300を収容するシャーシ30(=電源ユニット)毎に、その電源状態を確認することで、電源オン状態、電源オフ状態の各仮想PCサーバ300が混在するシャーシ30において電源オフ状態の仮想PCサーバ300を割当候補とすれば、例えば、現在は収容中の全仮想PCサーバ300の電源がオフであるシャーシ30への電源供給を新たに再開するといったことを回避し、すでに電源供給がなされているシャーシ30を利用して電力消費量の増加を抑制できる。
上記ステップs201で仮想PCサーバ300を特定できた場合(s201:yes)、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、電源をオンにする指示をネットワーク経由で通知する(s106)。
他方、前記ステップs201で仮想PCサーバ300を特定できなかった場合(s201:no)、前記割当候補検索手段111は、サーバ管理表125において物理位置単位10のデータに着目した処理を行う。この時、前記割当候補検索手段111は、各ラック20が収容するシャーシ30および当該シャーシ30が電源供給対象とする仮想PCサーバ300と各仮想PCサーバ300の電源状態データを前記記憶手段101のサーバ管理表125から抽出する。次に、電源オン状態の仮想PCサーバ数をラック毎に算定して電源オン状態の仮想PCサーバ数が最少のラック20を特定する。また、ここで特定したラック20に対応付いた仮想PCサーバ300のうち電源オフ状態の仮想PCサーバ300を割当候補として特定する(s202)。
つまり、ラック20のうち、現在の電力消費量が最少となっているものを特定して、そこの仮想PCサーバ300に仮想PC400の割当余力があれば、該当仮想PCサーバ300に仮想PC400の割当を行うことで、ラック間での電力消費量を均衡させる。
上記ステップs202で仮想PCサーバ300を特定できた場合(s202:yes)、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、電源をオンにする指示をネットワーク経由で通知する(s106)。
前記ステップs202で仮想PCサーバ300を特定できなかった場合(s202:no)、前記割当候補検索手段111は、サーバ管理表125から、最も仮想PCサーバIDが小さく、電源状態13が「OFF」の仮想PCサーバ300を割当候補として選択する(s203)。前記ステップs203で仮想PCサーバ300を特定できた場合(s203:yes)、前記電源管理手段113は、前記割当候補の仮想PCサーバ300に対し、電源をオンにする指示をネットワーク経由で通知する(s106)。もしも、前記ステップs203に至っても、仮想PCサーバ300を特定できなかった場合(s203:no)、前記割当候補検索手段111は、割当不能の旨を前記操作端末200に返信し処理を終了する。
上述してきたように、前記割当候補検索手段111は、優先順位1位(電源オン状態かつ仮想PC400が未割当の仮想PCサーバ300)、優先順位2位(電源オン状態と電源オフ状態の仮想PCサーバ300の両方が電源供給対象に含まれたシャーシ30の電源供給対象が含む電源オフ状態の仮想PCサーバ300)、優先順位3位(電源オン状態の計算機数が最少のラック20に対応付いた仮想PCサーバ300のうち電源オフ状態の仮想PCサーバ300)、優先順位4位(最も仮想PCサーバIDが小さく、電源状態13が「OFF」の仮想PCサーバ300)として、前記記憶手段101のサーバ管理表125から仮想PCサーバ300を検索する処理を実行する。すなわち、割当候補の各検索処理の結果に優先順位をつけるのである。
前記管理サーバ100の割当手段112は、上記のアルゴリズムで仮想PCサーバ300を選択し、サーバ管理表125の仮想PCID14に当該仮想PCIDを設定し、仮想PC電源状態15をOFFに設定する。
−−−処理フロー例3−−−
続いて、ユーザが操作端末200から、自分に割当てられた仮想PC400を停止させた場合に、管理サーバ100の電源管理手段113の動作を示す。図9は、本実施形態における仮想PC管理方法の処理フロー例3を示す図である。
ユーザが、仮想PC400のOS420を停止する場合、仮想PC400の前記OS・接続状態通知手段410は、その旨を、管理サーバ100の電源管理手段113に通知する。
前記電源管理手段113は、前記通知を受け取ると(s300)、前記仮想PCサーバ300(前記仮想PC400を提供しているもの)の仮想PC制御手段310に対し、前記仮想PC400の電源が停止したか問合せを行って、電源停止まで電源状態を監視する(s301)。また、前記電源管理手段113は、前記仮想PCサーバ300の仮想PC制御手段310に、当該仮想PC400を仮想PCサーバ300の割当てから解除するよう指示する。また、サーバ管理表125の仮想PCID14の欄から前記仮想PC400のIDを削除する(s302)。
続いて、前記電源管理手段113は、前記サーバ管理表125から、前記仮想PCサーバ300に対応付けされた仮想PCID14がすべて未割当て、つまり全仮想PC400の電源が停止されているかチェックする(s303)。その結果、前記仮想PCサーバ300に対し割り当てられた仮想PC400が一台も無い状態を確認し(s303:yes)、前記電源管理手段113は、前記仮想PCサーバ300の電源制御手段311に対し、仮想PCサーバ300の電源を停止するよう指示する(s304)。
これによれば、現在は仮想PC400を提供していない仮想PCサーバ300について電源オン状態を維持することで発生する無駄な電力消費量の発生を抑制することができる。
−−−処理フロー例4−−−
図10は、本実施形態における仮想PC管理方法の処理フロー例4を示す図である。次に、ユーザが仮想PC400の電源をONにしたままシンクライアント接続を切断したり、一定時間入力をしなかった場合に、より省電力になるよう仮想PC400を再割当てする処理について説明する。
この場合、前記仮想PC400のOS・接続状態通知手段410は、前記操作端末200との通信接続状態と遠隔操作の頻度を検知する処理と、前記操作端末200との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行する。
一方、前記管理サーバ100の割当候補検索手段111は、前記OS・接続状態通知手段410から、リモート操作サーバ405と操作端末200との接続が切断したこと、操作端末200から一定時間キー入力がない旨の通知を受信する(s400)。そして、前記割当候補検索手段111は、上記処理フロー例2の処理と同様に、電力消費量が最低になるよう、前記仮想PC400の移動先の仮想PCサーバ300を決定する(s401)。
続いて、前記管理サーバ100の割当候補検索手段111は、前記ステップs401で決定した仮想PCサーバ300に前記仮想PC400を移動させることで、現状より電力消費量が減るか確認する(s402)。例えば、サーバ管理表125における電源状態13が「OFF」の仮想PCサーバ300が増えるか否か等を確認する。たとえ仮想PC400を他の仮想PCサーバ300に移動させたとしても、電源状態が「ON」である仮想PCサーバ300の数に変化が無いか、あるいは増えるとすれば、移動させる意味が無い。
なお、ステップs400、s401、s402の処理は、複数台の仮想PC400からの通知を元に実行しても良い。例えば、2台の仮想PCをセットにして移動させると仮想PCサーバ300の電源を「OFF」にできるか計算することで、電力消費量が減るか確認する。
なお、電力消費量が減少しないと確認された場合(s402:no)、処理を終了する。一方、電力消費量が減少すると確認された場合(s402:yes)、管理サーバ100の割当手段112は、前記仮想PCサーバ300(今まで仮想PC400を提供していたもの)の仮想PC制御手段310に、前記移動先の仮想PCサーバ300に前記仮想PC400を移動させるように指示し、サーバ管理表125を移動後の状態(つまり、仮想PCサーバ300に対する仮想PC400のIDの設定を変更する)に変更する(s403)。
こうして、電源オン状態ではあるが使われていない仮想PC400については、上述の割当候補の検索ロジックと同じロジックで移籍先の仮想PCサーバ300を探し出し、割り当てるのである。このような処理を行えば、仮想PC400の割当先の集約=オン状態の電源の集約がさらに進み、システム全体としての電力消費量を低減することにつながる。
なお、上記ステップs403に続き、前記電源管理手段113は、前記仮想PC400についての停止要求を受信し、前記仮想PC400を元々提供していた前記仮想PCサーバ300に割り当てられていた全仮想PC400の電源状態がオフになったことを検知し(s404:yes)、前記仮想PCサーバ300の電源をオフにする指示をネットワーク経由で前記仮想PCサーバ300に通知する(s405)。
−−−その他の例−−−
その他にも、例えば、仮想PCサーバ300に割当てた仮想PC400の数に応じて仮想PCサーバ300のパフォーマンス設定を変更する処理を実行しても良い。この場合、前記管理サーバ100は、前記記憶手段101のサーバ管理表125にて、各仮想PCサーバ300における、仮想PC400の割当可能数と、割当済みの仮想PC400のデータと、提供する仮想PC400の数に応じた仮想PCサーバ300の計算性能または電力消費傾向の基準を定めたデータとを格納している。
そして、前記管理サーバ100の性能検索手段114は、各仮想PCサーバ300における割当済みの仮想PC数を、例えば、仮想PC数=2、などと前記記憶手段101のサーバ管理表125から抽出する。また、ここで抽出した仮想PC数に対応する仮想PCサーバ300の計算性能または電力消費傾向の基準を、例えば、「仮想PC数=2の時、計算性能=70%、電力消費傾向=省電力モード」などとの時前記記憶手段101のサーバ管理表125から検索する。
前記性能検索手段114は、前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各仮想PCサーバ300に通知する。なお、前記仮想PCサーバ300は、CPU304のクロック数変更手段や省電力モード管理手段などといった計算性能と電力消費量を変更する手段を備えている。
以上本実施形態によれば、仮想PCを利用するシンクライアントシステムで、ユーザが遠隔操作の開始や終了を要求したタイミングで、仮想PCを提供する仮想PCサーバの電源を制御し、仮想PCを少数の仮想PCサーバに集中させることで、利用する仮想PCサーバを減らし、仮想PCサーバの電力消費量を低減できる。
したがって、仮想PCを利用するシンクライアントシステムにおいて電力消費量を低減可能となる。
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本実施形態の仮想PC管理システムのネットワーク構成図である。 本実施形態の管理サーバの構成例を示す図である。 本実施形態の操作端末の構成例を示す図である。 本実施形態の仮想PCサーバの構成例を示す図である。 本実施形態における、(a)サーバ管理表、(b)ユーザ管理表の各データ構造例を示す図である。 本実施形態の空調対象領域の概念例を示す図である。 本実施形態における仮想PC管理方法の処理フロー例1を示す図である。 本実施形態における仮想PC管理方法の処理フロー例2を示す図である。 本実施形態における仮想PC管理方法の処理フロー例3を示す図である。 本実施形態における仮想PC管理方法の処理フロー例4を示す図である。
符号の説明
1 仮想PC管理システム
3 空調対象領域
4 空調装置
20 ラック(収容装置)
30 シャーシ(電源ユニット)
35 格納区画
100 管理サーバ
101、301 HDD(Hard Disk Drive)
102、202、302 プログラム
103、303 RAM(Random Access Memory)
104、204、304 CPU(Central Processing Unit)
105、205、305 入力インターフェイス
106、206、306 出力インターフェイス
107、207、307 通信装置、NIC(Network Interface Card)
108、208、308 フラッシュROM
109、209、309 ブリッジ
110 電源状態取得手段
111 割当候補検索手段
112 割当手段
113 電源管理手段
114 性能検索手段
136、236、336、420 OS
120、220、320 電源
125 サーバ管理表
126 ユーザ管理表
230、330 ビデオカード
135、235、335 BIOS
140 ネットワーク
200 操作端末
201 TPM(Trusted Platform Module)
203 RAM(Random Access Memory)
244 USBポート
260 I/Oコネクタ
270 リモート操作クライアント
271、371 暗号化通信プログラム
273 機器情報
300 仮想PCサーバ(計算機)
310 仮想PC制御手段
311 電源制御手段
370、405 リモート操作サーバ
390 セッション管理エージェント
400 仮想PC(仮想計算機)
405 リモート操作サーバ
410 OS・接続状態通知手段

Claims (10)

  1. 操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理する管理サーバが、
    前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、
    前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する処理と、
    仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する処理と、
    前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
    前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理と、
    を実行することを特徴とする仮想PC管理方法。
  2. 前記管理サーバが、
    前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータを格納しており、
    前記利用開始要求を操作端末から受信し、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を割当候補として前記記憶手段の格納データから検索する処理と、
    前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
    を実行することを特徴とする請求項1に記載の仮想PC管理方法。
  3. 前記管理サーバが、
    前記記憶手段にて、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係を格納しており、
    仮想計算機の利用開始要求を操作端末から受信し、電源オン状態の計算機と電源オフ状態の計算機が電源供給対象に含まれた電源ユニットを前記記憶手段の格納データから検索し、ここで検索された電源ユニットの電源供給対象が含む電源オフ状態の計算機を割当候補として特定する処理と、
    前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、
    電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
    を実行することを特徴とする請求項1または2に記載の仮想PC管理方法。
  4. 前記管理サーバが、
    前記記憶手段にて、前記計算機と、当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係を格納しており、
    仮想計算機の利用開始要求を操作端末から受信し、各収容装置が収容する電源ユニットおよび当該電源ユニットが電源供給対象とする計算機と各計算機の電源状態データを前記記憶手段の格納データから抽出し、電源オン状態の計算機数を収容装置毎に算定して電源オン状態の計算機数が最少の収容装置を特定し、ここで特定した収容装置に対応付いた計算機のうち電源オフ状態の計算機を割当候補として特定する処理と、
    前記割当候補の計算機に対し、電源をオンにする指示をネットワーク経由で通知する処理と、
    電源オン状態となった前記計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
    ことを特徴とする請求項1〜3のいずれかに記載の仮想PC管理方法。
  5. 前記管理サーバが、
    前記記憶手段にて、各計算機における仮想計算機の割当可能数と割当済みの仮想計算機のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットとの対応関係のデータと、前記計算機と当該計算機に電源供給を行う電源ユニットを収容する収容装置との対応関係のデータとを格納しており、
    仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を第1優先候補とし、電源オン状態かつ割当済みの仮想計算機数が割当可能数より小さい計算機を第2優先候補とし、電源オン状態と電源オフ状態の計算機の両方が電源供給対象に含まれた電源ユニットの電源供給対象が含む電源オフ状態の計算機を第3優先候補とし、電源オン状態の計算機数が最少の収容装置に対応付いた計算機のうち電源オフ状態の計算機を第4優先候補として、前記記憶手段の格納データから計算機を検索する処理と、
    前記検索により得られた計算機のうち最も優先度の高い計算機を割当候補として特定し、この計算機に対して前記利用開始要求に応じた前記仮想計算機を割り当てる処理と、
    前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する処理と、
    を実行することを特徴とする請求項1〜4のいずれかに記載の仮想PC管理方法。
  6. 前記管理サーバが、
    前記記憶手段にて、各計算機における、仮想計算機の割当可能数と、割当済みの仮想計算機のデータと、提供する仮想計算機の数に応じた計算機の計算性能または電力消費傾向の基準を定めたデータとを格納しており、
    各計算機における割当済みの仮想計算機数を前記記憶手段の格納データから抽出し、ここで抽出した仮想計算機数に対応する計算機の計算性能または電力消費傾向の基準を前記記憶手段の格納データから検索する処理と、
    前記検索により特定された基準に応じた計算性能または電力消費傾向への変更指示を各計算機に通知する処理と、
    を実行することを特徴とする請求項1〜5のいずれかに記載の仮想PC管理方法。
  7. 前記管理サーバが、
    利用者からの仮想計算機の停止要求を、仮想計算機から受信する処理と、
    前記仮想計算機の電源状態がオンからオフになったか監視する処理と、
    前記仮想計算機を提供していた計算機に割り当てられていた全仮想計算機の電源状態がオフになったことを検知し、前記計算機の電源をオフにする指示をネットワーク経由で前記計算機に通知する処理と、
    を実行することを特徴とする請求項1〜6のいずれかに記載の仮想PC管理方法。
  8. 前記仮想計算機が、
    前記操作端末との通信接続状態と遠隔操作の頻度を検知する処理と、
    前記操作端末との通信接続が切断したこと、および遠隔操作が一定時間なかったことを前記管理サーバに通知する処理とを実行し、
    前記管理サーバが、
    前記通知を前記仮想計算機から受信する処理と、
    前記仮想計算機の割当先となる別の計算機を、前記割当候補の検索処理により特定し、ここで特定した割当候補の計算機に前記仮想計算機の割当先を変更する処理と、を実行する、
    ことを特徴とする請求項1〜7のいずれかに記載の仮想PC管理方法。
  9. 操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータシステムであり、
    前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、
    前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納する手段と、
    仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索する手段と、
    前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てる手段と、
    前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知する手段と、
    を備える仮想PC管理システム。
  10. 操作端末からネットワーク経由で遠隔操作できる仮想計算機と当該仮想計算機を提供する計算機との対応関係を記憶手段にて管理するコンピュータに、
    前記仮想計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、
    前記計算機の電源状態をネットワーク経由で前記計算機より取得し、この電源状態データを記憶手段に格納するステップと、
    仮想計算機の利用開始要求を操作端末から受信し、電源オン状態かつ仮想計算機が未割当の計算機を割当候補として前記記憶手段の格納データから検索するステップと、
    前記割当候補の計算機に対し、前記利用開始要求に応じた前記仮想計算機を割り当てるステップと、
    前記割当候補の計算機に対し、前記仮想計算機の電源をオンにする指示をネットワーク経由で通知するステップと、
    を実行させる仮想PC管理プログラム。
JP2008256779A 2008-10-01 2008-10-01 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム Expired - Fee Related JP4966942B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008256779A JP4966942B2 (ja) 2008-10-01 2008-10-01 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム
US12/511,782 US8316248B2 (en) 2008-10-01 2009-07-29 Virtual PC management method, virtual PC management system, and virtual PC management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008256779A JP4966942B2 (ja) 2008-10-01 2008-10-01 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム

Publications (2)

Publication Number Publication Date
JP2010086423A true JP2010086423A (ja) 2010-04-15
JP4966942B2 JP4966942B2 (ja) 2012-07-04

Family

ID=42058901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008256779A Expired - Fee Related JP4966942B2 (ja) 2008-10-01 2008-10-01 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム

Country Status (2)

Country Link
US (1) US8316248B2 (ja)
JP (1) JP4966942B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108655A (ja) * 2010-11-16 2012-06-07 Hitachi Ltd シンクライアント制御システム
JP2012190264A (ja) * 2011-03-10 2012-10-04 Sanken Electric Co Ltd 電源装置およびプログラム
JP2012252703A (ja) * 2011-06-01 2012-12-20 Hon Hai Precision Industry Co Ltd 仮想マシン監視システム及びその監視方法
JP2013020553A (ja) * 2011-07-13 2013-01-31 Ntt Docomo Inc シンクライアントサーバシステム、通信システム及び画面情報送信方法
JP2013093053A (ja) * 2010-08-09 2013-05-16 Sanken Electric Co Ltd 電源装置、プログラムおよび制御方法
JP2013168140A (ja) * 2012-02-16 2013-08-29 Hon Hai Precision Industry Co Ltd バーチャルマシンの配置方法
JP2015165361A (ja) * 2014-03-03 2015-09-17 日本電気株式会社 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム
WO2016121317A1 (ja) * 2015-01-27 2016-08-04 日本電気株式会社 仮想化システム、サーバ、端末、仮想化方法及びプログラム記録媒体

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5178230B2 (ja) * 2008-02-19 2013-04-10 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
JP5691390B2 (ja) * 2010-10-25 2015-04-01 サンケン電気株式会社 電源装置およびプログラム
US8473108B2 (en) * 2010-11-09 2013-06-25 Hitachi, Ltd. Information apparatus and method of optimizing cooling efficiency of air conditioner
CN102479302A (zh) * 2010-11-24 2012-05-30 鸿富锦精密工业(深圳)有限公司 密码保护系统及方法
US9891939B2 (en) * 2011-03-03 2018-02-13 Microsoft Technology Licensing, Llc Application compatibility with library operating systems
JP5579650B2 (ja) * 2011-04-28 2014-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 監視対象プロセスを実行する装置及び方法
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US8635493B2 (en) 2011-05-17 2014-01-21 Vmware, Inc. High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
GB2500434A (en) * 2012-03-23 2013-09-25 Cognovo Ltd Scheduling actions based on the state of the resources needed to execute the actions
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US9335986B1 (en) * 2013-12-11 2016-05-10 Amazon Technologies, Inc. Hot patching to update program code and/or variables using a separate processor
CN103645956A (zh) * 2013-12-18 2014-03-19 浪潮电子信息产业股份有限公司 一种集群智能负载管理的方法
WO2015176262A1 (zh) * 2014-05-22 2015-11-26 华为技术有限公司 一种节点互连装置、资源控制节点和服务器系统
US9455977B1 (en) 2014-06-20 2016-09-27 Emc Corporation Remote management interface using credentials associated with respective access control intervals
US10469399B2 (en) * 2015-12-29 2019-11-05 International Business Machines Corporation Managing remote device based on physical state of a management device
US10512053B2 (en) 2016-05-10 2019-12-17 Servicenow, Inc. System and method for selectively hibernating and restarting a node of an application instance
EP3472719B1 (en) * 2016-06-21 2021-08-04 Noa, Inc. Method and apparatus of implementing a vpn tunnel
US10496429B2 (en) * 2017-07-20 2019-12-03 Vmware, Inc. Managing virtual computing instances and physical servers
US10528397B2 (en) * 2017-11-13 2020-01-07 American Megatrends International, Llc Method, device, and non-transitory computer readable storage medium for creating virtual machine
US20210034389A1 (en) * 2019-07-29 2021-02-04 Citrix Systems, Inc. Desktop virtualization with linked power management to client devices
US11237839B2 (en) 2020-06-19 2022-02-01 Dell Products L.P. System and method of utilizing platform applications with information handling systems
US11340937B2 (en) * 2020-06-24 2022-05-24 Dell Products L.P. System and method of utilizing platform applications with information handling systems
US11836499B2 (en) * 2021-12-16 2023-12-05 Dell Products L.P. System and method of operating system executables with information handling systems (IHS)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192612A (ja) * 2002-12-09 2004-07-08 Internatl Business Mach Corp <Ibm> 区分化されたデータ処理システムにおける電力節減
JP2007072768A (ja) * 2005-09-07 2007-03-22 Nec Corp サーバ、ジョブスケジューリング方法、プログラム、記録媒体
JP2007179437A (ja) * 2005-12-28 2007-07-12 Fujitsu Ltd 管理システム、管理プログラムおよび管理方法
JP2007272297A (ja) * 2006-03-30 2007-10-18 Nec Corp オンデマンドクライアントサービスシステム、その管理方法、及びプログラム
JP2007310791A (ja) * 2006-05-22 2007-11-29 Hitachi Ltd 計算機システムの消費電力低減方法、及びそのプログラム
JP2007536657A (ja) * 2004-05-08 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシン・コンピュータ・プログラムの動的マイグレーション
JP2008152591A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd 情報処理装置の割当て方法、情報処理システム及び管理サーバ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4814539B2 (ja) 2005-03-10 2011-11-16 株式会社日立製作所 ネットブート方法
JP4100421B2 (ja) 2005-09-26 2008-06-11 株式会社日立製作所 コンピュータシステム
EP2037362A4 (en) * 2006-05-24 2012-04-18 Nec Corp ADMINISTRATIVE APPROACH FOR VIRTUAL MACHINES, METHOD FOR MANAGING A VIRTUAL MACHINE AND PROGRAM
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
JP2007300665A (ja) 2007-06-29 2007-11-15 Hitachi Ltd 動画像表示方法及びシステム
JP4990079B2 (ja) 2007-09-18 2012-08-01 株式会社日立製作所 ディスク領域割当管理システム、ディスク領域割当管理方法、管理サーバ、および計算機

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192612A (ja) * 2002-12-09 2004-07-08 Internatl Business Mach Corp <Ibm> 区分化されたデータ処理システムにおける電力節減
JP2007536657A (ja) * 2004-05-08 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシン・コンピュータ・プログラムの動的マイグレーション
JP2007072768A (ja) * 2005-09-07 2007-03-22 Nec Corp サーバ、ジョブスケジューリング方法、プログラム、記録媒体
JP2007179437A (ja) * 2005-12-28 2007-07-12 Fujitsu Ltd 管理システム、管理プログラムおよび管理方法
JP2007272297A (ja) * 2006-03-30 2007-10-18 Nec Corp オンデマンドクライアントサービスシステム、その管理方法、及びプログラム
JP2007310791A (ja) * 2006-05-22 2007-11-29 Hitachi Ltd 計算機システムの消費電力低減方法、及びそのプログラム
JP2008152591A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd 情報処理装置の割当て方法、情報処理システム及び管理サーバ

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013093053A (ja) * 2010-08-09 2013-05-16 Sanken Electric Co Ltd 電源装置、プログラムおよび制御方法
JP2015043215A (ja) * 2010-08-09 2015-03-05 サンケン電気株式会社 電源装置、プログラムおよび制御方法
JP2012108655A (ja) * 2010-11-16 2012-06-07 Hitachi Ltd シンクライアント制御システム
JP2012190264A (ja) * 2011-03-10 2012-10-04 Sanken Electric Co Ltd 電源装置およびプログラム
JP2012252703A (ja) * 2011-06-01 2012-12-20 Hon Hai Precision Industry Co Ltd 仮想マシン監視システム及びその監視方法
JP2013020553A (ja) * 2011-07-13 2013-01-31 Ntt Docomo Inc シンクライアントサーバシステム、通信システム及び画面情報送信方法
JP2013168140A (ja) * 2012-02-16 2013-08-29 Hon Hai Precision Industry Co Ltd バーチャルマシンの配置方法
JP2015165361A (ja) * 2014-03-03 2015-09-17 日本電気株式会社 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム
WO2016121317A1 (ja) * 2015-01-27 2016-08-04 日本電気株式会社 仮想化システム、サーバ、端末、仮想化方法及びプログラム記録媒体
JP2016139236A (ja) * 2015-01-27 2016-08-04 日本電気株式会社 仮想化システム、サーバ、端末、仮想化方法、及びそのためのプログラム

Also Published As

Publication number Publication date
US8316248B2 (en) 2012-11-20
JP4966942B2 (ja) 2012-07-04
US20100083015A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
JP4966942B2 (ja) 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム
JP5972924B2 (ja) Tpmアクセスを仮想化するシステム
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
US9086907B2 (en) Apparatus and method for managing virtual machine addresses
JP5047870B2 (ja) マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
JP6466476B2 (ja) マルチオペレーティングシステム装置に対するアクセス分離
US10116744B2 (en) System and method for providing management network communication and control in a data center
JP2007310901A (ja) コンピュータシステム
JP2010257430A (ja) 計算機およびアクセス制御方法
WO2018192478A1 (zh) 云管理平台、虚拟机管理方法及其系统
JP2007233815A (ja) 情報処理システムおよび情報処理装置の割当管理方法
EP3066604B1 (en) Data accessibility control
JP2013089148A (ja) 計算機システムおよび計算機システムにおけるモジュール引き継ぎ方法
JP5220675B2 (ja) シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
JP2011170613A (ja) 情報処理装置、計算機システム及びプログラム
JP4982454B2 (ja) 情報処理方法および情報処理システム
KR100735875B1 (ko) 라이브 부팅매체를 이용한 서버 원격접속과 다중 오에스사용 시스템 및 그 방법
US20090172135A1 (en) Pre-boot retrieval of an external boot file
JP6172735B2 (ja) ブレードサーバ、電力供給制御方法および電力供給制御プログラム
EP2693718B1 (en) Information processing system, collecting program, and collecting method
JPWO2014188478A1 (ja) 仮想環境と非仮想環境が混在するクラウドシステムにおける監視項目制御方法、管理計算機及び計算機システム
JP2009064271A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120402

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees