(57)【特許請求の範囲】
【請求項１】
ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成部と、
前記識別情報生成部によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶部と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶部により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動部と
を有することを特徴とする仮想計算機。
【請求項２】
前記識別情報記憶部によって記憶される識別情報を使用して、当該識別情報に対応付けられたゲストＯＳが起動された場合、当該識別情報を前記識別情報記憶部から破棄する識別情報破棄部を有することを特徴とする請求項１に記載の仮想計算機。
【請求項３】
前記識別情報生成部は、
前記識別情報をＭＡＣ（Media Access Control address）アドレスと同一形式で生成することを特徴とする請求項１又は請求項２に記載の仮想計算機。
【請求項４】
前記ゲストＯＳ起動部は、
前記ゲストＯＳの起動結果を、当該ゲストＯＳの起動要求元に送信することを特徴とする請求項１から請求項３のいずれか１つに記載の仮想計算機。
【請求項５】
ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成手順と、
前記識別情報生成手順によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶手順と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶手順により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動手順と
をコンピュータに実行させることを特徴とする遠隔起動プログラム。
【請求項６】
コンピュータが、
ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成ステップと、
前記識別情報生成ステップによって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶ステップと、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶ステップにより記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動ステップと
を実行することを特徴とする遠隔起動方法。
【請求項７】
ホストＯＳ及び前記ホストＯＳによって制御されるゲストＯＳを備える仮想計算機と、前記仮想計算機とネットワークを介して接続される遠隔計算機とを有する仮想計算機システムであって、
前記仮想計算機は、
前記ゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で前記遠隔計算機から取得した場合に、当該識別情報を生成する識別情報生成部と、
前記識別情報生成部にて生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶部と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で前記遠隔計算機から取得した場合に、当該識別情報を前記識別情報記憶部により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動部と
を有することを特徴とする仮想計算機システム。
【請求項８】
前記ゲストＯＳ起動部は、
前記ゲストＯＳの起動結果を、前記ゲストＯＳの起動要求元の遠隔計算機に送信し、
前記遠隔計算機は、
前記ゲストＯＳ起動部から送信された、前記ゲストＯＳの起動結果を出力部に出力する起動結果出力部を有することを特徴とする請求項７に記載の仮想計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータやサーバ等を遠隔操作する機能として、ＷＯＬ（Wake  on  LAN）がある。ＷＯＬは、ＬＡＮ（Local  Area  Network）に接続されたコンピュータの電源が切断されているときに、このコンピュータを同じくＬＡＮに接続された他のコンピュータから電源が切断されているコンピュータの電源を起動させる技術である。ＷＯＬを用いることにより、例えばネットワーク管理者は、コンピュータのメンテナンスを夜間や休日に一斉に実施する場合に、現場に行かなくても身近にあるコンピュータを操作し、遠隔地のコンピュータの電源を起動することが可能となる。
【０００３】
このようなＷＯＬを実行するためには、起動されるコンピュータのＬＡＮカード、マザーボード、ＢＩＯＳ（Basic  Input/Output  System）、及びＯＳ等がＷＯＬに対応している必要がある。
【０００４】
ここで、クライアントサーバシステムの実マシン環境におけるＷＯＬのしくみについて、図１３を参照しながら説明する（非特許文献１を参照）。図１３は、実マシン環境のＷＯＬを説明する図である。図１３に示すように、ＷＯＬクライアントは、電源が切断中の管理対象パソコンの電源起動を遠隔操作する。具体的には、ＷＯＬクライアントは、電源切断中の管理対象パソコンのＭＡＣアドレスを連続して１６個含むＷＯＬパケット（マジックパケット）を送信する。そして、ＷＯＬに対応したＬＡＮアダプタ（ＬＡＮカード）がマジックパケットを認識し、マジックパケットに含まれたＭＡＣアドレスに対応する管理対象パソコンの電源を起動する。
【０００５】
また、複数の異なるノードを２以上のパーティションに区分編成した実マシン環境が提案されている。このような実マシン環境では、パーティション管理ソフトウェアが、パーティション内のノードに含まれる各ＮＩＣ（Network  Interface  Card）のＷＯＬフィルタを構成する。そして、パーティション管理ソフトウェアは、ＮＩＣへ向けられたマジックパケットを認識し、ＮＩＣに対するノードの電源を起動する。
【０００６】
ところで、近年、１つのコンピュータ上で複数のＯＳを動作させる仮想計算機（ＶＭ：Virtual  Machine）が注目されている。仮想計算機では、コンピュータの電源を投入した際に最初に起動されるホストＯＳと、ホストＯＳ上で動作するゲストＯＳとを同時に動作させることが可能である。
【０００７】
このような仮想計算機に対して上記のＷＯＬを適用する場合には、通常、コンピュータの電源の投入に応じて、ホストＯＳが起動される。そして、ホストＯＳがゲストＯＳの電源を起動する。ここで、仮想計算機環境におけるＷＯＬのしくみについて、図１４を参照しながら説明する。図１４は、仮想計算機環境のＷＯＬを説明する図である。図１４に示すように、例えば管理用パソコンが、電源が切断中のゲストＯＳの電源起動を遠隔操作する。具体的には、管理用パソコンは、ホストＯＳへのログインを実行する。そして、管理用パソコンがホストＯＳへのログインに成功した場合には、管理用パソコンがホストＯＳに対し、電源切断中のゲストＯＳの電源起動を指示する。そして、ホストＯＳは、指示されたゲストＯＳの電源を起動する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１７１４１２号公報
【特許文献２】特開２００５−２０７２８号公報
【非特許文献】
【０００９】
【非特許文献１】http://itpro.nikkeibp.co.jp/article/Keyword/20070222/262829/  ITpro、2006.09.15
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、仮想計算機環境における従来のＷＯＬ技術では、第三者であっても仮想計算機が備えるゲストＯＳをネットワーク経由で不正に起動できてしまうという問題がある。すなわち、ネットワーク管理者等の遠隔操作者は、管理用パソコンを操作し、ホストＯＳにログインできれば、ホストＯＳを介して、全てのゲストＯＳに対してアクセスできる。そのため、ホストＯＳにログインするために必要なユーザ名及びパスワードが漏洩すると、これらを知った第三者が、ホストＯＳにログインし、ゲストＯＳをネットワーク経由で不正に起動できてしまうことになる。
【００１１】
開示の技術は、上記に鑑みてなされたものであって、仮想計算機環境におけるゲストＯＳをネットワーク経由で不正に起動されることを防止できるセキュアな仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示する仮想計算機は、一つの態様において、ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成部と、前記識別情報生成部によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶部と、ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶部により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動部とを備える。
【発明の効果】
【００１３】
本願の開示する仮想計算機の一つの態様によれば、仮想計算機が備えるゲストＯＳに対するネットワーク経由の不正な起動を確実に防止できるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係る仮想計算機の構成を示す機能ブロック図である。
【図２】図２は、仮想計算機の全体構成の一例を示す図である。
【図３】図３は、実施例２に係る仮想計算機システムの構成を示す機能ブロック図である。
【図４】図４は、マジックパケットキー管理記憶部のデータ構造の一例を示す図である。
【図５】図５は、マジックパケットキー記憶部のデータ構造の一例を示す図である。
【図６】図６は、マジックパケットキー生成処理の動作を示すフローチャートである。
【図７】図７は、ゲストＯＳ起動処理の動作を示すフローチャートである。
【図８】図８は、実施例２に係る仮想計算機システムの動作を示すシーケンス図である。
【図９】図９は、実施例３に係る仮想計算機システムの構成を示す機能ブロック図である。
【図１０】図１０は、ゲストＯＳ起動処理の動作を示すフローチャートである。
【図１１】図１１は、実施例３に係る仮想計算機システムの動作を示すシーケンス図である。
【図１２】図１２は、遠隔起動プログラムを実行するコンピュータを示す図である。
【図１３】図１３は、実マシン環境のＷＯＬを説明する図である。
【図１４】図１４は、仮想計算機環境のＷＯＬを説明する図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システムの実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
【実施例１】
【００１６】
図１は、本実施例１に係る仮想計算機の構成を示す機能ブロック図である。図１に示すように、仮想計算機１は、ネットワークと接続し、ホストＯＳ１０及びゲストＯＳ２０−１〜２０−ｎを有する。また、ホストＯＳ１０は、識別情報生成部１１、識別情報記憶部１２及びゲストＯＳ起動部１３を有する。
【００１７】
ゲストＯＳ（Operating  System）２０−１〜２０−ｎの起動は、ホストＯＳ１０により制御される。そして、識別情報生成部１１が、ゲストＯＳ２０−１〜２０−ｎの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する。
【００１８】
識別情報記憶部１２は、識別情報生成部１１によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する。ゲストＯＳ起動部１３は、ゲストＯＳの停止中に、識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得する。この場合に、ゲストＯＳ起動部１３は、当該識別情報を識別情報記憶部１２により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、ホストＯＳ１０を介して起動する。
【００１９】
ここで、ホストＯＳ１０及びゲストＯＳ２０−１〜２０−ｎ（例えばｎを「３」とする）を含む仮想計算機１の全体構成を、図２を参照しながら説明する。図２（ａ）は、仮想計算機１の全体構成図を示し、図２（ｂ）は、入出力（ＩＯ：Input／Output）処理の実行図を示す。図２（ａ）に示すように、仮想計算機１は、ホストＯＳ１０、ゲストＯＳ２０−１〜２０−３のほか、ハイパーバイザ３０及びハードウェア４０を有する。
【００２０】
ホストＯＳ１０は、仮想計算機１の動作の根幹となる基本ソフトウェアであり、ゲストＯＳ２０−１〜２０−３の起動や停止等全ての制御を行う。また、ホストＯＳ１０は、ＣＰＵ（Central  Processing  Unit）、メモリ及びＩＯ等の資源をゲストＯＳ２０−１〜２０−３に割り当てる。さらに、ホストＯＳ１０は、ゲストＯＳ２０−１〜２０−３が実行した仮想的な入出力処理を行って、実装された入出力装置に反映させる。例えば、図２（ｂ）に示すように、ホストＯＳ１０は、ゲストＯＳ２０−１が実行した仮想的な入出力処理の処理結果を、ＨＤＤ（Hard  Disk  Drive）装置に記憶する。また、ホストＯＳ１０は、ゲストＯＳ２０−２が実行した仮想的な入出力処理の処理結果を、ネットワークに送信する。
【００２１】
ゲストＯＳ２０−１〜２０−３は、ホストＯＳ１０と同様に基本ソフトウェアであり、ホストＯＳ１０上では動作しないアプリケーション等を動作させることができる。また、ゲストＯＳ２０−１〜２０−３は、ホストＯＳ１０にて割り当てられた資源を用いて、仮想的に入出力処理を実行し、入出力処理の処理結果をホストＯＳ１０を介して入出力装置に反映する。さらに、ゲストＯＳ２０−１〜２０−３は、自ＯＳが停止中にホストＯＳ１０によって起動される。
【００２２】
ハイパーバイザ３０は、ホストＯＳ１０及びゲストＯＳ２０−１〜２０−３がコンピュータのハードウェア４０を利用可能なように、ハードウェア４０を仮想化する。そして、ホストＯＳ１０及びゲストＯＳ２０−１〜２０−３は、ハイパーバイザ３０上で動作する。なお、ハイパーバイザ３０は、仮想計算機１に電源を投入すると、最初に動作し、ホストＯＳ１０を起動する。
【００２３】
ハードウェア４０は、ネットワークと接続するＬＡＮ（Local  Area  Network）カード等を指し、ＬＡＮカードを含む周辺デバイスへの基本的な入出力の環境を提供するＢＩＯＳ（Basic  Input/Output  System）によって制御される。
【００２４】
ハードウェア４０は、例えばゲストＯＳ２０−１の起動に使用する新たな識別情報の生成要求をネットワークから取得した場合、当該生成要求を、ハイパーバイザ３０を介して識別情報生成部１１に伝達する。そして、識別情報生成部１１は、ゲストＯＳ２０−１の起動に使用する新たな識別情報を生成する。また、識別情報記憶部１２は、識別情報生成部１１にて生成された識別情報を、当該識別情報を使用して起動するゲストＯＳ２０−１に対応付けて記憶する。さらに、ゲストＯＳ２０−１の停止中に、ハードウェア４０は、識別情報を使用してゲストＯＳ２０−１を起動する起動要求をネットワークから取得した場合、当該起動要求を、ハイパーバイザ３０を介してゲストＯＳ起動部１３に伝達する。そして、ゲストＯＳ起動部１３は、伝達された識別情報を識別情報記憶部１２により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳ２０−１を起動する。
【００２５】
このようにして、仮想計算機１は、ゲストＯＳの起動に使用する新たな識別情報の生成要求がされる度に、新たな識別情報を生成し、最新の生成要求の際に生成された新たな識別情報を当該ゲストＯＳに対応付ける。このため、仮想計算機１は、ネットワーク経由で識別情報を使用したゲストＯＳの起動要求がされると、当該ゲストＯＳに対応付けられた最新の新たな識別情報で、起動要求の際使用された識別情報の正当性を確認できる。その結果、仮想計算機１は、ゲストＯＳに対する不正な起動を確実に防止でき、当該ゲストＯＳの起動をセキュアにできる。すなわち、仮想計算機１は、ゲストＯＳの起動要求の際に用いられる識別情報が漏洩した場合であっても、漏洩した識別情報を用いてのゲストＯＳの起動を防止できる。
【実施例２】
【００２６】
［実施例２に係る仮想計算機の構成］
図３は、実施例２に係る仮想計算機２を用いた仮想計算機システム９の構成を示す機能ブロック図である。仮想計算機システム９は、仮想計算機２及びクライアント側計算機３を有する。仮想計算機２は、ホストＯＳ及びゲストＯＳを制御するホストＯＳ制御部５０と、記憶部６０と、各ゲストＯＳを制御するゲストＯＳ制御部７０−１〜７０−ｎとを有する。また、ホストＯＳ制御部５０は、マジックパケットキー生成部５１、ゲストＯＳ起動部５２及びマジックパケットキー破棄部５３を有する。また、記憶部６０には、マジックパケットキー管理記憶部６１が含まれる。さらに、ゲストＯＳ制御部７０−１〜７０−ｎは、異なるゲストＯＳにそれぞれ備えられ、マジックパケットキー要求部７１及びマジックパケットキー送信部７２をそれぞれ有する。
【００２７】
なお、ホストＯＳ制御部５０及びゲストＯＳ制御部７０−１〜７０−ｎは、例えばＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路である。また、ホストＯＳ制御部５０及びゲストＯＳ制御部７０−１〜７０−ｎは、これに限定されるものではなく、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等の電子回路であっても良い。また、記憶部６０は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、又は、ＨＤＤ、光ディスク等の記憶装置である。
【００２８】
マジックパケットキー生成部５１は、各ゲストＯＳのいずれかのＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得すると、当該識別情報を生成する。具体的には、マジックパケットキー生成部５１は、ゲストＯＳ制御部７０−１〜７０−ｎのマジックパケットキー要求部７１から新たな識別情報の生成要求を取得すると、ゲストＯＳに対応付けられる識別情報を生成する。
【００２９】
例えば、マジックパケットキー生成部５１は、各ゲストＯＳに対応付けられる識別情報を、ＵＵＩＤ（Universally  Unique  IDentifier）を用いて生成する。また、マジックパケットキー生成部５１は、識別情報をＭＡＣアドレスと同一形式で生成するものとしても良い。具体的には、マジックパケットキー生成部５１は、識別情報をＭＡＣアドレスと同様に、１６進文字を１２個連続した文字列、例えば「０ｘＡＡＢＢＣＣＤＤＥＥＦＦ」で生成する。さらに、マジックパケットキー生成部５１は、ＵＵＩＤを用いて生成するものとして説明したが、これに限定されず、各ゲストＯＳに対して一意に定められる識別情報であれば良い。なお、本実施例では、かかる識別情報を、「マジックパケットキー」というものとする。
【００３０】
また、マジックパケットキー生成部５１は、生成したマジックパケットキーを、当該マジックパケットキーを使用して起動するゲストＯＳに対応付けて、マジックパケットキー管理記憶部６１に格納する。ここで、マジックパケットキー管理記憶部６１について、図４を参照しながら説明する。図４は、マジックパケットキー管理記憶部６１に記憶されるデータのデータ構造の一例を示す図である。図４に示すように、マジックパケットキー管理記憶部６１は、複数のゲストＯＳ毎に、エントリ番号６１ａ、ゲストＯＳ名６１ｂ及びマジックパケットキー６１ｃを対応付けて記憶する。
【００３１】
エントリ番号６１ａは、ゲストＯＳに一意に対応付けられる番号であり、例えば「１」から昇順に連番で付けられる。ゲストＯＳ名６１ｂは、ゲストＯＳにあらかじめ定められている識別子である。マジックパケットキー６１ｃは、ゲストＯＳ名６１ｂに対応付けられたマジックパケットキーである。このマジックパケットキー６１ｃは、ゲストＯＳ名６１ｂに対して１対１に対応付けられるものであっても良い。すなわち、複数のクライアント側計算機３が同一のゲストＯＳを起動する場合、各クライアント側計算機３が使用するマジックパケットキー６１ｃは、当該ゲストＯＳに対して一意に対応付けられるものであっても良い。
【００３２】
また、マジックパケットキー６１ｃは、ゲストＯＳ名６１ｂに対して１対ｎ（ｎ＞１）に対応付けられるものであっても良い。すなわち、複数のクライアント側計算機３が同一のゲストＯＳを起動する場合、各クライアント側計算機３が使用するマジックパケットキー６１ｃは、当該ゲストＯＳに対して、クライアント側計算機３毎に対応付けられるものであっても良い。例えば、図４の例では、マジックパケットキー６１ｃは、ゲストＯＳ名６１ｂ「Ｇｕｅｓｔ１」に対して、クライアント側計算機３毎に対応付けられる。一方は「ＡＡ−ＢＢ−ＣＣ−ＤＤ−ＥＥ−ＦＦ」であり、他方は「ＧＧ−ＨＨ−ＩＩ−ＪＪ−ＫＫ−ＬＬ」である。なお、前述したとおり、マジックパケットキー６１ｃは、ＭＡＣアドレスと同一形式であっても良い。
【００３３】
図３の説明に戻ると、マジックパケットキー生成部５１は、生成したマジックパケットキーを、マジックパケットキーの要求元のゲストＯＳ制御部７０−１〜７０−ｎに送信する。
【００３４】
ゲストＯＳ起動部５２は、ゲストＯＳの停止中に、マジックパケットキーを使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得する。この場合に、ゲストＯＳ起動部５２は、当該マジックパケットキーをマジックパケットキー管理記憶部６１により記憶されたマジックパケットキー６１ｃと照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、ホストＯＳを介して起動する。さらに、ゲストＯＳ起動部５２は、起動判定部５２ａ及び起動部５２ｂを有する。
【００３５】
起動判定部５２ａは、ゲストＯＳの停止中に、マジックパケットキーを使用して当該ゲストＯＳを起動する起動要求をクライアント側計算機３からネットワーク経由で取得すると、当該マジックパケットキーに対応付けられたゲストＯＳを起動するか否かを判定する。具体的には、起動判定部５２ａは、ゲストＯＳの起動要求であってマジックパケットキーが付加された起動要求をゲストＯＳ起動要求部８３から取得すると、取得した起動要求から付加されたマジックパケットキーを抽出する。そして、起動判定部５２ａは、抽出したマジックパケットキーとマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃとを照合する。そして、起動判定部５２ａは、当該マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたいずれかのマジックパケットキー６１ｃと一致した場合には、一致したマジックパケットキーに対応付けられたゲストＯＳを起動するものと判定する。一方、起動判定部５２ａは、当該マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたいずれのマジックパケットキー６１ｃとも一致しない場合には、ゲストＯＳを起動しないものと判定する。
【００３６】
起動部５２ｂは、ゲストＯＳを起動するものと判定し、且つ当該ゲストＯＳが停止中である場合、停止中の当該ゲストＯＳを起動する。また、起動部５２ｂは、ゲストＯＳを起動した起動結果を、ゲストＯＳの起動要求元のクライアント側計算機３に送信する。
【００３７】
マジックパケットキー破棄部５３は、マジックパケットキー管理記憶部６１によって記憶されるマジックパケットキーを使用してゲストＯＳが起動された場合、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄する。例えば、マジックパケットキー破棄部５３は、マジックパケットキーが１回使用されると、このマジックパケットキーを「無効キー」と判断するものとする。すなわち、マジックパケットキー破棄部５３は、起動部５２ｂによりマジックパケットキーを使用してゲストＯＳが起動されると、当該マジックパケットキーを「無効キー」と判断する。そして、マジックパケットキー破棄部５３は、当該マジックパケットキーをマジックパケットキー管理記憶部６１から削除する。なお、上記では、マジックパケットキー破棄部５３は、マジックパケットキーが１回使用されると当該マジックパケットキーを「無効キー」と判断する場合を説明したが、これに限定されるものではない。例えば、マジックパケットキー破棄部５３は、同一のマジックパケットキーが所定回数使用されると、当該マジックパケットキーを「無効キー」と判断しても良い。さらに、マジックパケットキー破棄部５３は、マジックパケットキー毎に定められる有効期限又は有効期間が経過した場合、当該マジックパケットキーを「無効キー」と判断しても良い。
【００３８】
マジックパケットキー要求部７１は、自ゲストＯＳの起動に使用される新たなマジックパケットキーの生成要求をクライアント側計算機３からネットワーク経由で取得する。すると、マジックパケットキー要求部７１は、当該マジックパケットキーの生成要求をマジックパケットキー生成部５１に出力する。また、マジックパケットキー要求部７１は、マジックパケットキー生成部５１から、生成された新たなマジックパケットキーを取得する。
【００３９】
マジックパケットキー送信部７２は、マジックパケットキー要求部７１にて取得された新たなマジックパケットキーを、マジックパケットキーの要求元のゲストＯＳマジックパケットキー要求部８１に送信する。
【００４０】
ゲストＯＳマジックパケットキー要求部８１は、ゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求を、当該ゲストＯＳを備える仮想計算機２のマジックパケットキー要求部７１に、ネットワーク経由で出力する。また、ゲストＯＳマジックパケットキー要求部８１は、マジックパケット要求部７１から新たなマジックパケットキーを取得すると、マジックパケットキー記憶部８２に格納する。
【００４１】
ここで、マジックパケットキー記憶部８２について、図５を参照しながら説明する。図５は、マジックパケットキー記憶部８２に記憶されるデータのデータ構造の一例を示す図である。図５に示すように、マジックパケットキー記憶部８２は、マジックパケットキー８２ａ等を記憶する。マジックパケットキー８２ａは、クライアント側計算機３によって起動されるゲストＯＳに対応付けられたマジックパケットキーである。例えば、図５の例では、ゲストＯＳに対応付けられたマジックパケットキー８２ａは、「ＡＡ−ＢＢ−ＣＣ−ＤＤ−ＥＥ−ＦＦ」である。
【００４２】
ゲストＯＳ起動要求部８３は、ゲストＯＳの停止中に、マジックパケットキー記憶部８２に記憶されているマジックパケットキーを使用して当該ゲストＯＳを起動する起動要求を、ネットワークを経由してゲストＯＳ起動部５２に出力する。また、ゲストＯＳ起動要求部８３は、ゲストＯＳの起動結果を、ゲストＯＳ起動部５２から取得する。そして、ゲストＯＳ起動要求部８３は、取得した起動結果からゲストＯＳの起動が成功したか否かを判断する。
【００４３】
［実施例２に係るマジックパケットキー生成処理の動作］
次に、実施例２に係るマジックパケットキー生成処理を、図６を参照して説明する。図６は、マジックパケットキー生成処理の動作を示すフローチャートである。以下に示すフローチャートのうち、ステップＳ１１及びステップＳ１８は、クライアント側計算機３の動作である。また、ステップＳ１２及びステップＳ１７は、ゲストＯＳ制御部７０−１〜７０−ｎの動作である。さらに、ステップＳ１３〜１６は、ホストＯＳ制御部５０の動作であるものとする。なお、本動作の説明では、ゲストＯＳ制御部７０−１を有するゲストＯＳのマジックパケットキーが生成される場合を例として説明する。
【００４４】
まず、クライアント側計算機３のゲストＯＳマジックパケット要求部８１は、ゲストＯＳ制御部７０−１を有するゲストＯＳに接続する。そして、ゲストＯＳマジックパケット要求部８１は、接続したゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求を、ネットワーク経由で当該ゲストＯＳのマジックパケットキー要求部７１に送信する（ステップＳ１１）。
【００４５】
続いて、マジックパケットキー要求部７１は、ゲストＯＳマジックパケット要求部８１から新たなマジックパケットキーの生成要求をネットワーク経由で取得すると、マジックパケットキー生成部５１に新たなマジックパケットキーの割り当て要求を送信する（ステップＳ１２）。
【００４６】
続いて、ホスト制御部５０のマジックパケットキー生成部５１は、マジックパケットキー要求部７１から新たなマジックパケットキーの割り当て要求を取得すると、依頼元のゲストＯＳに対応付けられる新たなマジックパケットキーを生成する（ステップＳ１３）。
【００４７】
そして、マジックパケットキー生成部５１は、生成したマジックパケットキーが他のゲストＯＳのマジックパケットキーに割り当てられているか否かを判定する（ステップＳ１４）。そして、マジックパケットキーが他のゲストＯＳのマジックパケットキーに割り当てられていると判定された場合には（ステップＳ１４、Ｙｅｓ）、マジックパケットキーを再生成するために、ステップＳ１３に移行する。
【００４８】
一方、マジックパケットキーが他のゲストＯＳのマジックパケットキーに割り当てられていないと判定された場合には（ステップＳ１４、Ｎｏ）、マジックパケットキーを割り当て依頼がされたゲストＯＳに対応付けて、マジックパケットキー管理記憶部６１に格納する（ステップＳ１５）。
【００４９】
そして、マジックパケットキー生成部５１は、生成したマジックパケットキーを、依頼元のゲストＯＳ制御部７０−１に送信する（ステップＳ１６）。
【００５０】
続いて、ゲストＯＳ制御部７０−１のマジックパケットキー送信部７２は、マジックパケットキー生成部５１によって生成された新たなマジックパケットキーを、マジックパケットキーの生成要求元のゲストＯＳマジックパケットキー要求部８１に送信する（ステップＳ１７）。
【００５１】
続いて、クライアント側計算機３のゲストＯＳマジックパケットキー要求部８１は、マジックパケット要求部７１からマジックパケットキーを取得すると、このマジックパケットキーをマジックパケットキー記憶部８２に格納する（ステップＳ１８）。
【００５２】
［実施例２に係るゲストＯＳ起動処理の動作］
次に、実施例２に係るゲストＯＳ起動処理を、図７を参照して説明する。図７は、ゲストＯＳ起動処理の動作を示すフローチャートである。以下に示すフローチャートのうち、ステップＳ２１は、クライアント側計算機３の動作である。また、ステップＳ２２〜３１は、ホストＯＳ制御部５０の動作であるものとする。なお、本動作の説明では、ゲストＯＳ制御部７０−１を有するゲストＯＳが停止中にネットワーク経由で起動される場合を例として説明する。
【００５３】
まず、クライアント側計算機３のゲストＯＳ起動要求部８３は、停止中のゲストＯＳを起動する起動要求であってマジックパケットキーが付加された起動要求を、ネットワーク経由でゲストＯＳ起動部５２に送信する（ステップＳ２１）。
【００５４】
続いて、ホストＯＳ制御部５０の起動判定部５２ａは、ゲストＯＳ起動要求部８３からゲストＯＳを起動する起動要求を取得すると、取得した起動要求からマジックパケットキーを抽出する。そして、起動判定部５２ａは、抽出したマジックパケットキーが、マジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致するか否かを判定する（ステップＳ２２）。そして、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致しないと判定された場合には（ステップＳ２２、Ｎｏ）、起動判定部５２は、マジックパケットキーが不一致である旨の起動結果を、起動要求元に送信する（ステップＳ２３）。
【００５５】
一方、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致すると判定された場合には（ステップＳ２２、Ｙｅｓ）、起動判定部５２は、マジックパケットキーに対応付けられたゲストＯＳが未起動か否かを判定する（ステップＳ２４）。そして、ゲストＯＳが未起動でない、すなわちゲストＯＳが起動済みであると判定された場合には（ステップＳ２４、Ｎｏ）、マジックパケットキー破棄部５３は、マジックパケットキーを「無効キー」であると判断して、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄する（ステップＳ２５）。そして、起動判定部５２ａは、マジックパケットキーに対応付けられたゲストＯＳが起動済みである旨の起動結果を、起動要求元に送信する（ステップＳ２６）。
【００５６】
一方、ゲストＯＳが未起動であると判定された場合には（ステップＳ２４、Ｙｅｓ）、起動部５２ｂは、マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ２７）。続いて、起動部５２ｂは、ゲストＯＳの起動が成功したか否かを判定する（ステップＳ２８）。そして、ゲストＯＳの起動が成功しなかったと判定された場合には（ステップＳ２８、Ｎｏ）、起動判定部５２ａは、ゲストＯＳの起動の失敗原因を示す起動結果を、起動要求元に送信する（ステップＳ２９）。
【００５７】
一方、ゲストＯＳの起動が成功したと判定された場合は（ステップＳ２８、Ｙｅｓ）、マジックパケットキー破棄部５３は、マジックパケットキーを「無効キー」であると判断し、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄する（ステップＳ３０）。そして、起動部５２ｂは、ゲストＯＳの起動が成功した旨の起動結果を、起動要求元に送信する（ステップＳ３１）。
【００５８】
［実施例２に係る仮想計算機システムの動作］
次に、実施例２に係る仮想計算機システム９の動作を、データの受け渡しの観点から説明する。図８は、実施例２に係る仮想計算機システム９の処理動作を示すシーケンス図である。なお、本動作の説明では、ゲストＯＳ制御部７０−１を機能させるゲストＯＳが、ネットワーク経由で起動される場合を例として説明する。
【００５９】
クライアント側計算機３は、ゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求を、ゲストＯＳ制御部７０−１へ送信する（ステップＳ４１〜４２）。そして、ゲストＯＳ制御部７０−１は、当該生成要求を、ホストＯＳ制御部５０へ送信する（ステップＳ４３〜４４）。
【００６０】
続いて、ホストＯＳ制御部５０は、ゲストＯＳの新たなマジックパケットキーを生成する（ステップＳ４５）。そして、ホストＯＳ制御部５０は、生成したマジックパケットキーを、当該マジックパケットキーを使用して起動するゲストＯＳに対応付けてマジックパケットキー管理記憶部６１に格納する。そして、ホストＯＳ制御部５０は、生成した新たなマジックパケットキーを要求元のゲストＯＳ制御部７０−１を介してクライアント側計算機３へ送信する（ステップＳ４６〜Ｓ４７）。そして、クライアント側計算機３は、当該マジックパケットキーをマジックパケットキー記憶部８２に格納する。
【００６１】
その後、ゲストＯＳ制御部７０−１を機能させるゲストＯＳが停止したとする。この場合、クライアント側計算機３は、マジックパケットキー記憶部８２に記憶されているマジックパケットキーを使用して停止中のゲストＯＳを起動する起動要求をホストＯＳ制御部５０へ送信する（ステップＳ４８〜Ｓ４９）。
【００６２】
続いて、ホストＯＳ制御部５０は、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致するか否かを判定し、一致する場合には、マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ５０）。ここでは、一致したマジックパケットキーがゲストＯＳ制御部７０−１を機能させるゲストＯＳに対応付けられたマジックパケットキーであるものとすると、ホストＯＳ制御部５０は、当該マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ５１〜５２）。
【００６３】
そして、ホストＯＳ制御部５０は、ゲストＯＳの起動結果を取得すると（ステップＳ５３）、取得した起動結果をクライアント側計算機３に送信する（ステップＳ５４）。
【００６４】
［実施例２の効果］
上記実施例２によれば、ホストＯＳ制御部５０は、ゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求をネットワーク経由でクライアント側計算機３から取得する。すると、ホストＯＳ制御部５０は、当該マジックパケットキーを生成し、生成したマジックパケットキーを、当該マジックパケットキーを使用して起動するゲストＯＳに対応付けてマジックパケットキー管理記憶部６１に記憶する。そして、ホストＯＳ制御部５０は、ゲストＯＳの停止中に、マジックパケットキーを使用して当該ゲストＯＳを起動する起動要求をネットワーク経由でクライアント側計算機３から取得する。すると、ホストＯＳ制御部５０は、当該マジックパケットキーをマジックパケットキー管理記憶部６１により記憶されたマジックパケットキーと照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、ホストＯＳを介して起動する。
【００６５】
かかる構成によれば、ホストＯＳ制御部５０は、ゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求がされる度に、新たなマジックパケットキーを生成し、最新の生成要求の際に生成された新たなマジックパケットキーを当該ゲストＯＳに対応付ける。このため、ホストＯＳ制御部５０は、ネットワーク経由でマジックパケットキーを使用したゲストＯＳの起動要求がされると、当該ゲストＯＳに対応付けられた最新の新たなマジックパケットキーで、起動要求の際使用されたマジックパケットキーの正当性を確認できる。その結果、ホストＯＳ制御部５０は、ゲストＯＳに対する不正な起動を確実に防止でき、当該ゲストＯＳの起動をセキュアにできる。すなわち、ホストＯＳ制御部５０は、ゲストＯＳの起動要求の際に用いられるマジックパケットキーが漏洩した場合であっても、漏洩したマジックパケットキーを用いてのゲストＯＳの起動を防止できる。また、ホストＯＳ制御部５０が、クライアント側計算機３の起動要求に応じて停止中のゲストＯＳを起動しているので、ＬＡＮカードやＢＩＯＳにＷＯＬ（Wake  on  LAN）機能が搭載されていなくてもＷＯＬを簡易に実現することができる。さらに、ホストＯＳ制御部５０が、ゲストＯＳの起動を制御しているので、クライアント側計算機３がホストＯＳにログインしてゲストＯＳを起動する場合と比べ、操作によるミスを回避できるとともに、セキュリティ面での安全性を確保できる。
【００６６】
また、実施例２によれば、ゲストＯＳ起動部５２が、マジックパケットキー管理記憶部６１によって記憶されるマジックパケットキーを使用して、当該マジックパケットキーに対応付けられたゲストＯＳを起動する。この場合、マジックパケットキー破棄部５３は、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄するようにした。これにより、ホストＯＳ制御部５０は、常時同一のマジックパケットキーを用いる場合と比較して、セキュリティ面での安全性を確保できる。
【００６７】
また、実施例２によれば、マジックパケットキー破棄部５３が、ゲストＯＳ起動部５２によってマジックパケットキーを使用して当該ゲストＯＳを所定回数起動した場合、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄するようにした。仮に、ゲストＯＳ上で動作するアプリケーションが終了すると、このゲストＯＳが停止するとする。この場合、マジックパケットキー破棄部５３が、ゲストＯＳ用のマジックパケットキーの起動成功毎に起動に使用したマジックパケットキーを破棄するようにすれば、セキュリティ面での安全性をさらに確保できる。
【００６８】
また、実施例２によれば、マジックパケットキー破棄部５３が、ゲストＯＳに対応付けられたマジックパケットキーの有効期限が経過した場合、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄するようにした。これにより、ゲストＯＳ起動部５２は、クライアント側計算機３に記憶されたマジックパケットキーを何度も使用することを防止でき、セキュリティ面での安全性を確保できる。
【００６９】
また、実施例２によれば、マジックパケットキー生成部５１は、マジックパケットキーをＭＡＣアドレスと同一形式で生成する場合であっても良い。これにより、現存するＷＯＬ機能を備えるソフトウェアを流用できるので、ゲストＯＳ起動処理の開発工程を大幅に削減できる。
【実施例３】
【００７０】
ところで、実施例２に係る仮想計算機システム９では、クライアント側計算機５がネットワーク経由でホストＯＳ制御部５０に対してゲストＯＳの起動要求を行う場合を説明した。仮想計算機システム９は、これに限定されるものではなく、クライアント側計算機５がネットワーク経由でホストＯＳ制御部５０に対してゲストＯＳの起動要求を行い、起動要求に基づき起動されたゲストＯＳの起動結果を表示しても良い。
【００７１】
そこで、実施例３では、仮想計算機システム９９が、クライアント側計算機５がネットワーク経由でホストＯＳ制御部５０に対してゲストＯＳの起動要求を行い、起動要求に基づき起動されたゲストＯＳの起動結果を表示する場合を説明する。
【００７２】
［実施例３に係る仮想計算機の構成］
図９は、実施例３に係る仮想計算機４を用いた仮想計算機システム９９の構成を示す機能ブロック図である。図９は、実施例３に係る仮想計算機システム９９の構成を示す機能ブロック図である。なお、図３に示す仮想計算機システム９と同一の構成については同一符号を示すことで、その重複する構成及び動作の説明については省略する。実施例２と実施例３とが異なるところは、クライアント側計算機５に起動結果表示部８４を追加した点にある。
【００７３】
ホストＯＳ制御部５０の起動部５２ｂは、ゲストＯＳの起動要求に対する起動結果を当該ゲストＯＳから取得し、取得した起動結果をゲストＯＳの起動要求元であるクライアント側計算機５の起動結果表示部８４に送信する。例えば、ホストＯＳがＵＮＩＸ（登録商標）である場合には、起動部５２ｂは、電源起動に関するシステムコールやライブラリ関数のリターンコードを、起動を要求したゲストＯＳから取得する。そして、起動部５２ｂは、取得したリターンコードを、クライアント側計算機５に送信する。
【００７４】
クライアント側計算機５の起動結果表示部８４は、ホストＯＳ制御部５０の起動部５２ｂから送信されたゲストＯＳの起動結果を出力する。具体的には、起動結果表示部８４は、起動部５２ｂから送信された情報、すなわちゲストＯＳの起動が成功した起動結果又はゲストＯＳの起動が失敗した原因を示す起動結果を、例えばモニタに表示する。このゲストＯＳの起動が失敗した原因とは、メモリ容量不足やＣＰＵ不足等がある。なお、起動結果表示部８４は、ホストＯＳ制御部５０の起動判定部５２ａから送信された起動結果、すなわちマジックパケットキーが不一致である旨又はゲストＯＳが起動済みである旨の起動結果を出力しても良い。
【００７５】
［実施例３に係るマジックパケットキー生成処理の動作］
次に、実施例３に係るマジックパケットキー生成処理は、実施例２（図６）と同様であるので、その説明については省略する。
【００７６】
［実施例３に係るゲストＯＳ起動処理の動作］
次に、実施例３に係るゲストＯＳ起動処理を、図１０を参照して説明する。図１０は、ゲストＯＳ起動処理の動作を示すフローチャートである。以下に示すフローチャートのうち、ステップＳ２１及びステップＳ６１は、クライアント側計算機５の動作である。また、ステップＳ２２〜３１は、ホストＯＳ制御部５０の動作であるものとする。なお、本動作の説明では、ゲストＯＳ制御部７０−１を有するゲストＯＳがネットワーク経由で起動される場合を例として説明する。また、マジックパケットキー破棄部５３は、マジックパケットキーが１回使用されると、このマジックパケットキーを「無効キー」と判断するものとする。さらに、図７に示すゲストＯＳ起動処理の動作を示すフローチャートと同一の動作については同一符号を示すことで、その重複する動作の説明については簡略する。
【００７７】
まず、クライアント側計算機５のゲストＯＳ起動要求部８３は、停止中のゲストＯＳを起動する起動要求であってマジックパケットキーが付加された起動要求を、ネットワーク経由でゲストＯＳ起動部５２に送信する（ステップＳ２１）。続いて、ホストＯＳ制御部５０の起動判定部５２は、取得したマジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致するか否かを判定する（ステップＳ２２）。そして、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致しないと判定された場合には（ステップＳ２２、Ｎｏ）、起動判定部５２ａはマジックパケットキーが不一致である旨の起動結果を起動要求元に送信する（ステップＳ２３）。
【００７８】
一方、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致すると判定された場合には（ステップＳ２２、Ｙｅｓ）、起動判定部５２は、マジックパケットキーに対応付けられたゲストＯＳが未起動か否かを判定する（ステップＳ２４）。そして、ゲストＯＳが未起動でない、すなわちゲストＯＳが起動済みであると判定された場合には（ステップＳ２４、Ｎｏ）、マジックパケットキー破棄部５３は、マジックパケットキーを「無効キー」であると判断して、当該マジックパケットキーをマジックパケットキー管理記憶部６１から破棄する（ステップＳ２５）。そして、起動判定部５２ａは、ゲストＯＳが起動済みである旨の起動結果を、起動要求元に送信する（ステップＳ２６）。
【００７９】
一方、ゲストＯＳが未起動であると判定された場合には（ステップＳ２４、Ｙｅｓ）、起動部５２ｂは、マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ２７）。続いて、起動部５２ｂは、ゲストＯＳの起動が成功したか否かを判定する（ステップＳ２８）。そして、ゲストＯＳの起動が成功しなかったと判定された場合には（ステップＳ２８、Ｎｏ）、起動部５２ｂは、ゲストＯＳの起動の失敗原因を示す起動結果を、起動要求元に送信する（ステップＳ２９）。例えば、ホストＯＳがＵＮＩＸ（登録商標）である場合には、起動部５２ｂは、電源起動に関するシステムコールやライブラリ関数のリターンコードを起動要求元に送信する。
【００８０】
一方、ゲストＯＳの起動が成功したと判定された場合には（ステップＳ２８、Ｙｅｓ）、マジックパケットキー破棄部５３は、マジックパケットキーを「無効キー」であると判断し、当該マジックパケットキーを破棄する（ステップＳ３０）。そして、起動部５２ｂは、ゲストＯＳの起動が成功した旨の起動結果を、起動要求元に送信する（ステップＳ３１）。
【００８１】
そして、起動要求元のクライアント側計算機５の起動結果表示部８４は、起動判定部５２ａ又は起動部５２ｂからゲストＯＳの起動結果を取得すると、取得した起動結果を、例えばモニタに表示する（ステップＳ６１）。
【００８２】
［実施例３に係る仮想計算機システムの動作］
次に、実施例３に係る仮想計算機システム９９の動作を、データの受け渡しの観点から説明する。図１１は、実施例３に係る仮想計算機システム９９の処理動作を示すシーケンス図である。なお、本動作の説明では、ゲストＯＳ制御部７０−１を機能させるゲストＯＳが、ネットワーク経由で起動される場合を例として説明する。また、図８に示す仮想計算機システムの処理動作を示すシーケンスと同一の処理動作については同一符号を示すことで、その重複する動作の説明については簡略する。
【００８３】
クライアント側計算機５は、ゲストＯＳの起動に使用する新たなマジックパケットキーの生成要求を、ゲストＯＳ制御部７０−１へ送信する（ステップＳ４１〜４２）。そして、ゲストＯＳ制御部７０−１は、当該生成要求をホストＯＳ制御部５０へ送信する（ステップＳ４３〜４４）。
【００８４】
続いて、ホストＯＳ制御部５０は、ゲストＯＳの新たなマジックパケットキーを生成し（ステップＳ４５）、生成したマジックパケットキーを、当該マジックパケットキーを使用して起動するゲストＯＳに対応付けてマジックパケットキー管理記憶部６１に格納する。そして、ホストＯＳ制御部５０は、新たなマジックパケットキーを要求元のゲストＯＳ制御部７０−１を介してクライアント側計算機５へ送信する（ステップＳ４６〜Ｓ４７）。そして、クライアント側計算機５は、当該マジックパケットキーをマジックパケットキー記憶部８２に格納する。
【００８５】
その後、ゲストＯＳ制御部７０−１を機能させるゲストＯＳが停止したとする。この場合、クライアント側計算機５は、マジックパケットキー記憶部８２に記憶されているマジックパケットキーを使用して停止中のゲストＯＳを起動する起動要求を、ホストＯＳ制御部５０へ送信する（ステップＳ４８〜Ｓ４９）。
【００８６】
続いて、ホストＯＳ制御部５０は、マジックパケットキーがマジックパケットキー管理記憶部６１に記憶されたマジックパケットキー６１ｃと一致するか否かを判定し、一致する場合には、マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ５０）。ここでは、一致したマジックパケットキーがゲストＯＳ制御部７０−１を機能させるゲストＯＳに対応付けられたマジックパケットキーであるものとすると、ホストＯＳ制御部５０は、当該マジックパケットキーに対応付けられたゲストＯＳを起動する（ステップＳ５１〜５２）。
【００８７】
続いて、ホストＯＳ制御部５０は、ゲストＯＳの起動結果を取得すると（ステップＳ５３）、取得した起動結果をクライアント側計算機５に送信する（ステップＳ５４）。そして、クライアント側計算機５は、ゲストＯＳの起動結果を、例えばモニタに表示する（ステップＳ７１）。
【００８８】
［実施例３の効果］
上記実施例３によれば、ホストＯＳ制御部５０のゲストＯＳ起動部５２は、ゲストＯＳの起動結果を、ゲストＯＳの起動要求元のクライアント側計算機５に送信し、クライアント側計算機５は、送信された起動結果を出力するようにした。これにより、クライアント側計算機５では、仮にゲストＯＳの起動結果が失敗であっても、起動結果からその失敗原因を認識できるので、失敗原因に応じた措置を遠隔からネットワーク管理者に行わせることができる。
【００８９】
［その他］
なお、仮想計算機２、４は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記したホストＯＳ制御部５０、マジックパケットキー管理記憶部６１及びゲストＯＳ制御部７０−１〜７０−ｎの各機能を搭載することによって実現することができる。
【００９０】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、ゲストＯＳ起動部５２とマジックパケットキー破棄部５３とを１つの部として統合しても良い。一方、マジックパケットキー生成部５１を、マジックパケットキーを生成する生成部と、生成したマジックパケットキーをマジックパケットキー管理記憶部６１に格納する格納部とに分散しても良い。また、記憶部６０を仮想計算機２、４の外部装置としてネットワーク経由で接続するようにしても良い。
【００９１】
［プログラム］
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、図３に示した仮想計算機２と同様の機能を有する遠隔起動プログラムを実行するコンピュータの一例を説明する。
【００９２】
図１２は、遠隔起動プログラムを実行するコンピュータを示す図である。図１２に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ（Read  Only  Memory）１０４０、ＣＰＵ（Central  Processing  Unit）１０５０及びバス１０６０を有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ１０４０及びＣＰＵ１０５０は、それぞれバス１０６０によって接続されている。また、ＣＰＵ１０５０は、ホストＯＳ１０５１及びゲストＯＳ１０５２−１〜１０５２−ｎを含む。
【００９３】
ＲＯＭ１０４０には、図３に示した仮想計算機２と同様の機能を発揮する遠隔起動プログラムが予め記憶されている。具体的には、ＲＯＭ１０４０には、マジックパケットキー生成プログラム１０４１、ゲストＯＳ起動プログラム１０４２、マジックパケットキー要求プログラム１０４３及びマジックパケットキー送信プログラム１０４４が記憶されている。
【００９４】
そして、ＣＰＵ１０５０のホストＯＳ１０５１は、マジックパケットキー生成プログラム１０４１及びゲストＯＳ起動プログラム１０４２を読み出して実行する。ＣＰＵ１０５０のゲストＯＳ１０５２−１〜１０５２−ｎは、マジックパケットキー要求プログラム１０４３及びマジックパケットキー送信プログラム１０４４を読み出して実行する。これにより、図１２に示すように、マジックパケットキー生成プログラム１０４１の実行により、マジックパケットキー生成プロセス１０５１ａが生成され、ゲストＯＳ起動プログラム１０４２の実行により、ゲストＯＳ起動プロセス１０５１ｂが生成される。また、マジックパケットキー要求プログラム１０４３は、マジックパケットキー要求プロセス１０５２ａになり、マジックパケットキー送信プログラム１０４４は、マジックパケットキー送信プロセス１０５２ｂになる。
【００９５】
なお、マジックパケットキー生成プロセス１０５１ａは、図３に示したマジックパケットキー生成部５１に対応し、ゲストＯＳ起動プロセス１０５１ｂは、図３に示したゲストＯＳ起動部５２に対応する。また、マジックパケットキー要求プロセス１０５２ａは、図３に示したマジックパケットキー要求部７１に対応し、マジックパケットキー送信プロセス１０５２ｂは、図３に示したマジックパケットキー送信部７２に対応する。
【００９６】
また、ＨＤＤ１０３０には、図１２に示すようにマジックパケットキー管理情報１０３１が設けられる。マジックパケットキー管理情報１０３１は、例えば、図３に示した記憶部６０に記憶されるマジックパケットキー管理記憶部６１等の各種データに対応する。
【００９７】
なお、上記した各プログラム１０４１〜１０４４については、必ずしもＲＯＭ１０４０に記憶させなくても良い。例えば、コンピュータ１０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」にプログラム１０４１〜１０４４を記憶させても良い。又は、コンピュータ１０００の内外に備えられるハードディスクドライブ（ＨＤＤ）等の「固定用の物理媒体」にプログラム１０４１〜１０４４を記憶させても良い。又は、公衆回線、インターネット、ＬＡＮ、ＷＡＮ等を介してコンピュータ１０００に接続される「他のコンピュータ（又はサーバ）」にプログラム１０４１〜１０４４を記憶させても良い。そして、コンピュータ１０００は、上記したフレキシブルディスク等から各プログラムを読み出して実行するようにしても良い。
【００９８】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【００９９】
（付記１）ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成部と、
前記識別情報生成部によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶部と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶部により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動部と
を有することを特徴とする仮想計算機。
【０１００】
（付記２）前記識別情報記憶部によって記憶される識別情報を使用して、当該識別情報に対応付けられたゲストＯＳが起動された場合、当該識別情報を前記識別情報記憶部から破棄する識別情報破棄部を有することを特徴とする付記１に記載の仮想計算機。
【０１０１】
（付記３）前記識別情報破棄部は、
前記ゲストＯＳに対応付けられた識別情報を使用して、前記ゲストＯＳ起動部によって当該ゲストＯＳが所定回数起動された場合、当該識別情報を前記識別情報記憶部から破棄することを特徴とする付記２に記載の仮想計算機。
【０１０２】
（付記４）前記識別情報破棄部は、
前記ゲストＯＳに対応付けられた識別情報の有効期限が経過した場合、当該識別情報を前記識別情報記憶部から破棄することを特徴とする付記２に記載の仮想計算機。
【０１０３】
（付記５）前記識別情報生成部は、
前記識別情報をＭＡＣ（Media Access Control address）アドレスと同一形式で生成することを特徴とする付記１から付記４のいずれか１つに記載の仮想計算機。
【０１０４】
（付記６）前記ゲストＯＳ起動部は、
前記ゲストＯＳの起動結果を、当該ゲストＯＳの起動要求元に送信することを特徴とする付記１から付記５のいずれか１つに記載の仮想計算機。
【０１０５】
（付記７）ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成手順と、
前記識別情報生成手順によって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶手順と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶手順により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動手順と
をコンピュータに実行させることを特徴とする遠隔起動プログラム。
【０１０６】
（付記８）ホストＯＳ（Operating System）によって制御されるゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で取得した場合に、当該識別情報を生成する識別情報生成ステップと、
前記識別情報生成ステップによって生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶ステップと、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で取得した場合に、当該識別情報を前記識別情報記憶ステップにより記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動ステップと
を含むことを特徴とする遠隔起動方法。
【０１０７】
（付記９）ホストＯＳ及び前記ホストＯＳによって制御されるゲストＯＳを備える仮想計算機と、前記仮想計算機とネットワークを介して接続される遠隔計算機とを有する仮想計算機システムであって、
前記仮想計算機は、
前記ゲストＯＳの起動に使用する新たな識別情報の生成要求をネットワーク経由で前記遠隔計算機から取得した場合に、当該識別情報を生成する識別情報生成部と、
前記識別情報生成部にて生成された識別情報を、当該識別情報を使用して起動するゲストＯＳに対応付けて記憶する識別情報記憶部と、
ゲストＯＳの停止中に、前記識別情報を使用して当該ゲストＯＳを起動する起動要求をネットワーク経由で前記遠隔計算機から取得した場合に、当該識別情報を前記識別情報記憶部により記憶された識別情報と照合し、照合結果に基づいて、起動要求がされたゲストＯＳを、前記ホストＯＳを介して起動するゲストＯＳ起動部と
を有することを特徴とする仮想計算機システム。
【０１０８】
（付記１０）前記ゲストＯＳ起動部は、
前記ゲストＯＳの起動結果を、前記ゲストＯＳの起動要求元の遠隔計算機に送信し、
前記遠隔計算機は、
前記ゲストＯＳ起動部から送信された、前記ゲストＯＳの起動結果を出力部に出力する起動結果出力部を有することを特徴とする付記９に記載の仮想計算機システム。
【符号の説明】
【０１０９】
１、２、４  仮想計算機
３、５  クライアント側計算機
１０  ホストＯＳ
１１  識別情報生成部
１２  識別情報記憶部
１３  ゲストＯＳ起動部
２０−１〜ｎ  ゲストＯＳ
３０  ハイパーバイザ
４０  ハードウェア
５０  ホストＯＳ制御部
５１  マジックパケットキー生成部
５２  ゲストＯＳ起動部
５２ａ  起動判定部
５２ｂ  起動部
５３  マジックパケットキー破棄部
６０  記憶部
６１  マジックパケットキー管理記憶部
７０−１〜ｎ  ゲストＯＳ制御部
７１  マジックパケットキー要求部
７２  マジックパケットキー送信部
８１  ゲストＯＳマジックパケットキー要求部
８２  マジックパケットキー記憶部
８３  ゲストＯＳ起動要求部
８４  起動結果表示部
９、９９  仮想計算機システム
【図１】
0005458899.tif 000002
【図２】
0005458899.tif 000003
【図３】
0005458899.tif 000004
【図４】
0005458899.tif 000005
【図５】
0005458899.tif 000006
【図６】
0005458899.tif 000007
【図７】
0005458899.tif 000008
【図８】
0005458899.tif 000009
【図９】
0005458899.tif 000010
【図１０】
0005458899.tif 000011
【図１１】
0005458899.tif 000012
【図１２】
0005458899.tif 000013
【図１３】
0005458899.tif 000014
【図１４】
0005458899.tif 000015