(57)【要約】  複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させること。この課題を解決するために、Ｍパケット取得部（１５１）は、受信されたマジックパケットを取得する。アドレス検出部（１５２）は、マジックパケットに格納されたＭＡＣアドレスを検出する。制御リスト記憶部（１５３）は、ＭＡＣアドレスとゲストＯＳ（１６０−１〜１６０−ｎ）との対応を記憶しており、それぞれのゲストＯＳ（１６０−１〜１６０−ｎ）を遠隔操作によって起動させるか否かを規定している。起動判定部（１５４）は、制御リスト記憶部（１５３）を参照し、マジックパケットに格納されたＭＡＣアドレスに対応するゲストＯＳ（１６０−１〜１６０−ｎ）を起動させるか否かを判定する。ゲストＯＳ制御部（１５５）は、起動判定部（１５４）によって起動させると判定されたゲストＯＳ（１６０−１〜１６０−ｎ）を起動させる。
2008117472.tif 000002
【特許請求の範囲】
【請求項１】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータであって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、
前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、
前記検出手段によって検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定手段と、
前記判定手段による判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御手段と
を有することを特徴とするコンピュータ。
【請求項２】
前記判定手段は、
アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、
前記記憶手段を参照してＯＳを起動させるか否かを判定することを特徴とする請求項１記載のコンピュータ。
【請求項３】
前記判定手段は、
マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする請求項１記載のコンピュータ。
【請求項４】
前記判定手段は、
前記検出手段によって検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定手段と、
前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定手段と
を含むことを特徴とする請求項１記載のコンピュータ。
【請求項５】
前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする請求項４記載のコンピュータ。
【請求項６】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、
前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を有することを特徴とする遠隔起動方法。
【請求項７】
前記判定工程は、
アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定することを特徴とする請求項６記載の遠隔起動方法。
【請求項８】
前記判定工程は、
マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする請求項６記載の遠隔起動方法。
【請求項９】
前記判定工程は、
前記検出工程にて検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定工程と、
前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定工程と
を含むことを特徴とする請求項６記載の遠隔起動方法。
【請求項１０】
前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする請求項９記載の遠隔起動方法。
【請求項１１】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットがホストＯＳの起動を指示するものであるか否かを判定する第１判定工程と、
前記第１判定工程における判定の結果、マジックパケットがホストＯＳの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する第２判定工程と、
前記第２判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を有することを特徴とする遠隔起動方法。
【請求項１２】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、
前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を実行させることを特徴とする遠隔起動プログラム。
【請求項１３】
前記判定工程は、
アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定することを特徴とする請求項１２記載の遠隔起動プログラム。
【請求項１４】
前記判定工程は、
マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする請求項１２記載の遠隔起動プログラム。
【請求項１５】
前記判定工程は、
前記検出工程にて検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定工程と、
前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定工程と
を含むことを特徴とする請求項１２記載の遠隔起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータ、遠隔起動方法、および遠隔起動プログラムに関し、特に、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムに関する。
【背景技術】
【０００２】
従来、例えばパーソナルコンピュータやサーバなどを遠隔操作する機能として、例えば特許文献１に記載されたＷＯＬ（Wake  On  LAN）がある。ＷＯＬは、ＬＡＮ（Local  Area  Network）に接続されたコンピュータが休止状態であるときに、このコンピュータを同じくＬＡＮに接続された他のコンピュータから起動させる技術である。ＷＯＬを用いることにより、例えばネットワーク管理者は、身近にあるコンピュータを操作して遠隔地のコンピュータを管理することが可能となる。【０００３】
このようなＷＯＬを実行するためには、起動されるコンピュータのネットワークカード、マザーボード、ＢＩＯＳ（Basic  Input/Output  System）、およびＯＳなどがＷＯＬに対応している必要がある。【０００４】
【特許文献１】特開２０００−２０９２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年、１つのコンピュータ上で複数のＯＳを動作させる仮想マシン（ＶＭ：Virtual  Machine）が注目されている。仮想マシンでは、コンピュータの電源を入れた際に最初に起動されるホストＯＳと、ホストＯＳ上で動作するゲストＯＳとを同時に動作させることが可能である。このため、あるＯＳ上でのみ動作可能なソフトウェアを他のＯＳをホストＯＳとするハードウェアでも使用することが可能となる。【０００６】
このような仮想マシンに対して上述のＷＯＬを適用する場合には、通常、コンピュータの電源が入れられ、ホストＯＳが起動される。しかしながら、コンピュータが備えるゲストＯＳについては起動されることがなく、ゲストＯＳに関する管理を遠隔地から行うことは困難であるという問題がある。【０００７】
特に、ゲストＯＳは、１つのコンピュータに複数備えられることがあり、単にネットワーク経由で遠隔地から起動を指示するだけでは、どのゲストＯＳを起動させるべきか不明であり、仮想マシンに特有の問題が生じる。【０００８】
さらに、計算機リソースの節約のためには、ホストＯＳが起動した状態でも不要なゲストＯＳは停止しておくことが好ましい。しかし、一旦ゲストＯＳを停止してしまうと、現状ではＷＯＬによる起動ができないため、遠隔操作に備えて不要なゲストＯＳを起動させたままとされることが考えられる。【０００９】
本発明はかかる点に鑑みてなされたものであり、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータであって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、前記検出手段によって検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定手段と、前記判定手段による判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御手段とを有することを特徴とする。【００１１】
また、本発明は、上記発明において、前記判定手段は、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、前記記憶手段を参照してＯＳを起動させるか否かを判定することを特徴とする。【００１２】
また、本発明は、上記発明において、前記判定手段は、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする。【００１３】
また、本発明は、上記発明において、前記判定手段は、前記検出手段によって検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定手段と、前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定手段とを含むことを特徴とする。【００１４】
また、本発明は、上記発明において、前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする。【００１５】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを有することを特徴とする。【００１６】
また、本発明は、上記発明において、前記判定工程は、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定することを特徴とする。【００１７】
また、本発明は、上記発明において、前記判定工程は、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする。【００１８】
また、本発明は、上記発明において、前記判定工程は、前記検出工程にて検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定工程と、前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定工程とを含むことを特徴とする。【００１９】
また、本発明は、上記発明において、前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする。【００２０】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットがホストＯＳの起動を指示するものであるか否かを判定する第１判定工程と、前記第１判定工程における判定の結果、マジックパケットがホストＯＳの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する第２判定工程と、前記第２判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを有することを特徴とする。【００２１】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得し、取得されたマジックパケットに格納されたアドレス情報を検出し、検出されたアドレス情報に対応するＯＳを起動させるか否かを判定し、判定の結果、ＯＳを起動させると判定された場合に、アドレス情報に対応するＯＳを起動させる。このため、ホストＯＳおよび複数のゲストＯＳをマジックパケットに含まれるアドレス情報で識別するとともに、遠隔操作での起動が許可されているか否かを判定することができ、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。【００２３】
また、本発明によれば、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定する。このため、ＯＳごとに遠隔操作による起動を許可するか否かを設定しておくことができ、仮想マシンにおけるＯＳの遠隔起動を柔軟に制御することができる。【００２４】
また、本発明によれば、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定するため、マジックパケットの送信元アドレスによってはＯＳの遠隔起動を制限することができ、セキュリティ面での安全性を確保することができる。【００２５】
また、本発明によれば、検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定し、判定の結果、アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する。このため、ホストＯＳ以外に複数のゲストＯＳが備えられたコンピュータにおいても、起動対象のゲストＯＳを正確に特定し、指定されたゲストＯＳを正しく起動させることができる。【００２６】
また、本発明によれば、アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れるため、遠隔操作によってコンピュータの電源を入れることによりホストＯＳが起動され、以後、ゲストＯＳの起動を指示するマジックパケットが取得された場合に、ホストＯＳ上の処理によってゲストＯＳを起動させることができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の一実施の形態に係るコンピュータの要部構成を示すブロック図である。
【図２】図２は、一実施の形態に係るマジックパケットのフォーマット例を示す図である。
【図３】図３は、一実施の形態に係る制御リストの一例を示す図である。
【図４】図４は、一実施の形態に係る制御リストの他の一例を示す図である。
【図５】図５は、一実施の形態に係るマジックパケット受信時の動作を示すフロー図である。
【図６】図６は、一実施の形態に係るホストＯＳ起動時の動作を示すシーケンス図である。
【図７】図７は、一実施の形態に係るゲストＯＳ起動時の動作を示すシーケンス図である。
【符号の説明】
【００２８】
１１０  ＬＡＮカード
１２０  ＢＩＯＳ
１３０  電源制御部
１４０  ハイパーバイザ
１５０  ホストＯＳ
１５１  Ｍパケット取得部
１５２  アドレス検出部
１５３  制御リスト記憶部
１５４  起動判定部
１５５  ゲストＯＳ制御部
１６０−１〜１６０−ｎ  ゲストＯＳ
【発明を実施するための最良の形態】
【００２９】
本発明の骨子は、ＷＯＬ用のマジックパケットに含まれるＭＡＣ（Media  Access  Control）アドレスから起動対象のＯＳを判別し、このＯＳの起動の可不可を判定した上で、可能であれば指定されたＯＳを起動させることである。以下、本発明の一実施の形態について、図面を参照して詳細に説明する。【００３０】
図１は、本実施の形態に係るコンピュータの要部構成を示すブロック図である。同図に示すコンピュータは、ＬＡＮカード１１０、ＢＩＯＳ１２０、電源制御部１３０、ハイパーバイザ１４０、ホストＯＳ１５０、およびゲストＯＳ１６０−１〜１６０−ｎ（ｎは１以上の整数）を有している。【００３１】
ＬＡＮカード１１０は、コンピュータを図示しないＬＡＮに接続するインタフェースであり、ホストＯＳ１５０またはゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットを受信する。そして、ＬＡＮカード１１０は、受信したマジックパケットがホストＯＳ１５０の起動を指示するものである場合には、ＢＩＯＳ１２０を介して電源制御部１３０へコンピュータの電源を入れるように指示する。【００３２】
なお、マジックパケットは、例えば図２に示すような構成となっている。すなわち、マジックパケットにおいては、マジックパケットの送信元アドレスおよび宛先アドレスが先頭に配置されている。送信元アドレスは、図１に示したコンピュータをネットワーク経由で起動させるコンピュータのアドレスであり、マジックパケットの送信元アドレスである。また、宛先アドレスは、図１に示したコンピュータのアドレスであり、マジックパケットの宛先アドレスである。【００３３】
さらに、マジックパケットは、インターネットプロトコル（ＩＰ：Internet  Protocol）における所定のＩＰヘッダ、同期に用いられる同期用ビット、およびマジックパケットのエラーチェックに用いられるＣＲＣ（Cyclic  Redundancy  Check）などを有している。そして、起動させるＯＳを指定する情報として、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎのいずれか１つのＯＳに対応するＭＡＣアドレスが１６回繰り返されてマジックパケットに格納されている。【００３４】
したがって、ＬＡＮカード１１０は、受信したマジックパケットに格納されたＭＡＣアドレスがホストＯＳ１５０を指定するものである場合には、ＢＩＯＳ１２０を介して電源制御部１３０へコンピュータの電源を入れるように指示する。また、ＬＡＮカード１１０は、受信したマジックパケットに格納されたＭＡＣアドレスがゲストＯＳ１６０−１〜１６０−ｎを指定するものである場合には、マジックパケットをＢＩＯＳ１２０およびハイパーバイザ１４０を介してホストＯＳ１５０へ出力する。【００３５】
ＢＩＯＳ１２０は、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎに対してＬＡＮカード１１０および電源制御部１３０を含む周辺デバイスへの基本的な入出力の環境を提供する。【００３６】
電源制御部１３０は、ＢＩＯＳ１２０を介したＬＡＮカード１１０からの指示により、ホストＯＳ１５０を起動させるマジックパケットが受信された場合に、コンピュータの電源を入れる。電源制御部１３０がコンピュータの電源を入れることにより、ホストＯＳ１５０が起動する。【００３７】
ハイパーバイザ１４０は、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎがコンピュータのハードウェアを利用可能なように、ハードウェアを仮想化する。したがって、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎは、ハイパーバイザ１４０上で動作する。【００３８】
ホストＯＳ１５０は、コンピュータの動作の根幹となる基本ソフトウェアであり、電源制御部１３０によってコンピュータの電源が入れられると起動する。また、ホストＯＳ１５０は、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合に、ゲストＯＳ１６０−１〜１６０−ｎの起動を制御する。【００３９】
具体的には、ホストＯＳ１５０は、マジックパケット取得部（以下「Ｍパケット取得部」と略記する）１５１、アドレス検出部１５２、制御リスト記憶部１５３、起動判定部１５４、およびゲストＯＳ制御部１５５を備えている。【００４０】
Ｍパケット取得部１５１は、ＬＡＮカード１１０において受信されたマジックパケットであって、ゲストＯＳ１６０−１〜１６０−ｎのいずれかのＯＳの起動を指示するマジックパケットを取得する。【００４１】
アドレス検出部１５２は、Ｍパケット取得部１５１によって取得されたマジックパケットに格納されたＭＡＣアドレスを検出する。すなわち、アドレス検出部１５２は、起動対象のＯＳを指定するＭＡＣアドレスをマジックパケットから検出し、検出されたＭＡＣアドレスを起動判定部１５４へ通知する。また、アドレス検出部１５２は、マジックパケットに格納されたＭＡＣアドレス以外にも、マジックパケットの送信元アドレスを検出して起動判定部１５４へ通知するようにしても良い。【００４２】
制御リスト記憶部１５３は、ＭＡＣアドレスとゲストＯＳ１６０−１〜１６０−ｎとの対応を記憶しており、それぞれのゲストＯＳ１６０−１〜１６０−ｎを遠隔操作によって起動させるか否かを規定している。すなわち、制御リスト記憶部１５３は、例えば図３に示すように、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎに加えて、それぞれのゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された際に、実際に起動するか否かを示す制御リストを記憶する。例えば図３に示す制御リストにおいては、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ６」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−１を起動することが規定されている一方、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ８」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−３を起動しないことが規定されている。【００４３】
また、制御リスト記憶部１５３は、例えば図４に示すように、マジックパケットの送信元アドレスによってゲストＯＳ１６０−１〜１６０−ｎの起動の有無を規定する制御リストを記憶していても良い。すなわち、図４に示す制御リストにおいては、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ６」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−１を起動するが、マジックパケットの送信元アドレスが「１９２．１００．ｘｘ．ｘｘ」および「１９２．１６８．ｘｘ．ｘｘ」である場合は、ゲストＯＳ１６０−１を起動しないことが規定されている。なお、制御リストには、上述した条件以外にも、ゲストＯＳ１６０−１〜１６０−ｎの遠隔操作による起動を許可するか否かの条件が規定されていて良い。【００４４】
起動判定部１５４は、アドレス検出部１５２からＭＡＣアドレスが通知されると、制御リスト記憶部１５３に記憶された制御リストを参照し、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かを判定する。すなわち、起動判定部１５４は、アドレス検出部１５２から通知されたＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを制御リスト記憶部１５３に記憶された制御リストから把握し、このゲストＯＳ１６０−１〜１６０−ｎについて遠隔操作での起動が許可されているか否かを制御リストから判断する。このとき、起動判定部１５４は、アドレス検出部１５２から通知されるマジックパケットの送信元アドレスによって、ゲストＯＳ１６０−１〜１６０−ｎの起動が許可されているか否かを判断するようにしても良い。【００４５】
ゲストＯＳ制御部１５５は、起動判定部１５４によってゲストＯＳ１６０−１〜１６０−ｎを起動させると判定された場合、このゲストＯＳ１６０−１〜１６０−ｎをハイパーバイザ１４０を介して起動させる。【００４６】
ゲストＯＳ１６０−１〜１６０−ｎは、ホストＯＳ１５０とは異なる基本ソフトウェアであり、ホストＯＳ１５０上では動作しないアプリケーションなどを動作させることができる。ゲストＯＳ１６０−１〜１６０−ｎは、ホストＯＳ１５０内のゲストＯＳ制御部１５５によって起動が制御される。【００４７】
次いで、上記のように構成されたコンピュータにおけるマジックパケット受信時の動作について、図５に示すフロー図を参照しながら説明する。【００４８】
まず、他のコンピュータから送信されたマジックパケットは、ＬＡＮ経由で図１に示したコンピュータのＬＡＮカード１１０によって受信される（ステップＳ１０１）。ＬＡＮカード１１０によってマジックパケットが受信されると、このマジックパケットのフォーマットが正規のマジックパケットのものであるか否かが判定され（ステップＳ１０２）、不正なマジックパケットであればＬＡＮカード１１０によって廃棄される。【００４９】
また、マジックパケットのフォーマットが正規のものであれば（ステップＳ１０２Ｙｅｓ）、ＬＡＮカード１１０によってマジックパケットに格納されたＭＡＣアドレスが参照され、ホストＯＳ１５０の起動を指示するマジックパケットであるか否かが判断される（ステップＳ１０３）。具体的には、マジックパケットにおいて１６回繰り返されているＭＡＣアドレスがホストＯＳ１５０のＭＡＣアドレスであるか否かが判断される。そして、ＭＡＣアドレスがホストＯＳ１５０に対応するものである場合は（ステップＳ１０３Ｙｅｓ）、ＬＡＮカード１１０からＢＩＯＳ１２０を経て電源制御部１３０へ指示が出され、コンピュータの電源が入れられる。これに伴い、ホストＯＳ１５０が起動される（ステップＳ１０５）。【００５０】
一方、マジックパケットに格納されたＭＡＣアドレスがホストＯＳ１５０に対応するものでない場合は（ステップＳ１０３Ｎｏ）、マジックパケットがＬＡＮカード１１０から出力され、ホストＯＳ１５０のＭパケット取得部１５１によって取得される。なお、この時点でホストＯＳ１５０が起動していない場合は、ＬＡＮカード１１０によってマジックパケットが廃棄される。ホストＯＳ１５０が起動しており、Ｍパケット取得部１５１によってマジックパケットが取得された場合には、アドレス検出部１５２によって、Ｍパケット取得部１５１に取得されたマジックパケットに格納されたＭＡＣアドレスが検出される（ステップＳ１０４）。このとき、アドレス検出部１５２によって、ＭＡＣアドレスとともにマジックパケットの送信元アドレスが検出されるようにしても良い。【００５１】
アドレス検出部１５２によってＭＡＣアドレスが検出されると、起動判定部１５４によって、検出されたＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎと、このゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かとが判定される（ステップＳ１０６）。具体的には、起動判定部１５４によって、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎが制御リスト記憶部１５３から読み出され、同時に、このゲストＯＳ１６０−１〜１６０−ｎに対する遠隔操作での起動が許可されるか否かが制御リスト記憶部１５３から読み出される。遠隔操作での起動が許可されるか否かは、ゲストＯＳ１６０−１〜１６０−ｎごとに規定されていても良いし、特定のマジックパケットの送信元アドレスについては起動を制限するなどのように規定されていても良い。【００５２】
起動判定部１５４における判定の結果、遠隔操作による起動が許可されていなければ（ステップＳ１０６Ｎｏ）、ゲストＯＳ１６０−１〜１６０−ｎが起動することなく処理が終了する。また、遠隔操作による起動が許可されていれば（ステップＳ１０６Ｙｅｓ）、起動させるゲストＯＳ１６０−１〜１６０−ｎが起動判定部１５４からゲストＯＳ制御部１５５へ通知され、ゲストＯＳ制御部１５５によって、ハイパーバイザ１４０を介して起動判定部１５４から通知されたゲストＯＳ１６０−１〜１６０−ｎが起動される（ステップＳ１０７）。【００５３】
このように、本実施の形態においては、マジックパケットに格納されたＭＡＣアドレスからゲストＯＳ１６０−１〜１６０−ｎを一意に識別し、起動対象のゲストＯＳ１６０−１〜１６０−ｎの遠隔操作での起動が許可されているか否かを制御リストから判定し、許可されている場合にのみホストＯＳ１５０からゲストＯＳ１６０−１〜１６０−ｎを起動させる。このため、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。また、マジックパケットの送信元アドレスによっては、ゲストＯＳ１６０−１〜１６０−ｎの起動を制限することなどを制御リストに規定しておけば、遠隔操作でのゲストＯＳ１６０−１〜１６０−ｎの起動に制限を設けることができ、セキュリティ面での安全性を確保することができる。【００５４】
次に、ホストＯＳ１５０の起動を指示するマジックパケットがコンピュータに受信された場合とゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットがコンピュータに受信された場合との動作について、図６および図７に示すシーケンス図を参照しながら説明する。まず、図６を参照して、ホストＯＳ１５０の起動を指示するマジックパケットが受信された場合について説明する。【００５５】
ＬＡＮカード１１０においてマジックパケットが受信されると、このマジックパケットに格納されたＭＡＣアドレスが確認され、ここでは、ＬＡＮカード１１０によってホストＯＳ１５０の起動が指示されていると判断される。この場合、ＬＡＮカード１１０は、ＢＩＯＳ１２０に対してコンピュータの電源を入れる旨の指示を送出し（ステップＳ２０１）、ＢＩＯＳ１２０は、この指示を電源制御部１３０へ転送する（ステップＳ２０２）。そして、電源制御部１３０によってコンピュータの電源が入れられるとともに、ホストＯＳ１５０へ起動指示が出され（ステップＳ２０３）、ホストＯＳ１５０が起動する。【００５６】
これにより、ＬＡＮに接続された他のコンピュータから送信されたマジックパケットによって、図１に示したコンピュータの電源が入り、ホストＯＳ１５０が起動する。そして、ホストＯＳ１５０が起動することにより、以下に説明するように、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合にゲストＯＳ１６０−１〜１６０−ｎの起動が制御される。【００５７】
図７は、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合のコンピュータ内の動作を示すシーケンス図である。【００５８】
ＬＡＮカード１１０においてマジックパケットが受信されると、このマジックパケットに格納されたＭＡＣアドレスが確認され、ここでは、ＬＡＮカード１１０によってホストＯＳ１５０の起動が指示されていないと判断される。この場合、ＬＡＮカード１１０によってマジックパケットがＢＩＯＳ１２０へ送出され（ステップＳ３０１）、マジックパケットは、ＢＩＯＳ１２０からハイパーバイザ１４０へ転送され（ステップＳ３０２）、さらにホストＯＳ１５０へ転送される（ステップＳ３０３）。【００５９】
そして、マジックパケットは、Ｍパケット取得部１５１によって取得され、マジックパケットに格納されたＭＡＣアドレスがアドレス検出部１５２によって検出される（ステップＳ３０４）。ＭＡＣアドレスは、起動判定部１５４へ通知され、起動判定部１５４によって、制御リスト記憶部１５３に記憶された制御リストが参照されることにより、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かが判定される（ステップＳ３０５）。【００６０】
ここでは、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させると判定されたものとすると、ゲストＯＳ制御部１５５によって、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させる旨の指示がハイパーバイザ１４０へ送出され（ステップＳ３０６）、指定されたゲストＯＳ１６０−１〜１６０−ｎのいずれか１つ（図７においては単に「ゲストＯＳ１６０」としている）がハイパーバイザ１４０から起動される（ステップＳ３０７）。【００６１】
以上のように、本実施の形態においては、起動対象のＯＳを指定するＭＡＣアドレスが格納されたマジックパケットをコンピュータが受信すると、コンピュータは、マジックパケットからＭＡＣアドレスを検出し、このＭＡＣアドレスに対応するゲストＯＳの起動の可不可を制御リストから判定し、起動が許可される場合には、ＭＡＣアドレスに対応するゲストＯＳを起動させる。このため、ホストＯＳおよび複数のゲストＯＳをマジックパケットに含まれるＭＡＣアドレスで識別し、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。また、ゲストＯＳを起動する際には、起動が許可されているか否かを判定し、セキュリティ面での案税制を確保することができる。
【産業上の利用可能性】
【００６２】
本発明は、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させる場合に適用することができる。
【図１】
2008117472.tif 000003
【図２】
2008117472.tif 000004
【図３】
2008117472.tif 000005
【図４】
2008117472.tif 000006
【図５】
2008117472.tif 000007
【図６】
2008117472.tif 000008
【図７】
2008117472.tif 000009
【手続補正書】
【提出日】平成21年5月15日(2009.5.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータであって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、
前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、
前記検出手段によって検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定手段と、
前記判定手段による判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御手段と
を有することを特徴とするコンピュータ。
【請求項２】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、
前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を有することを特徴とする遠隔起動方法。
【請求項３】
前記判定工程は、
アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定することを特徴とする請求項２記載の遠隔起動方法。
【請求項４】
前記判定工程は、
マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする請求項２記載の遠隔起動方法。
【請求項５】
前記判定工程は、
前記検出工程にて検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定工程と、
前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定工程と
を含むことを特徴とする請求項２記載の遠隔起動方法。
【請求項６】
前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする請求項５記載の遠隔起動方法。
【請求項７】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットがホストＯＳの起動を指示するものであるか否かを判定する第１判定工程と、
前記第１判定工程における判定の結果、マジックパケットがホストＯＳの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する第２判定工程と、
前記第２判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を有することを特徴とする遠隔起動方法。
【請求項８】
基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、
ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、
前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程と
を実行させることを特徴とする遠隔起動プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本機能を提供するホストＯＳ（Operating  System）を含む複数のＯＳを備えたコンピュータ、遠隔起動方法、および遠隔起動プログラムに関し、特に、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムに関する。
【背景技術】
【０００２】
従来、例えばパーソナルコンピュータやサーバなどを遠隔操作する機能として、例えば特許文献１に記載されたＷＯＬ（Wake  On  LAN）がある。ＷＯＬは、ＬＡＮ（Local  Area  Network）に接続されたコンピュータが休止状態であるときに、このコンピュータを同じくＬＡＮに接続された他のコンピュータから起動させる技術である。ＷＯＬを用いることにより、例えばネットワーク管理者は、身近にあるコンピュータを操作して遠隔地のコンピュータを管理することが可能となる。
【０００３】
このようなＷＯＬを実行するためには、起動されるコンピュータのネットワークカード、マザーボード、ＢＩＯＳ（Basic  Input/Output  System）、およびＯＳなどがＷＯＬに対応している必要がある。
【０００４】
【特許文献１】特開２０００−２０９２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年、１つのコンピュータ上で複数のＯＳを動作させる仮想マシン（ＶＭ：Virtual  Machine）が注目されている。仮想マシンでは、コンピュータの電源を入れた際に最初に起動されるホストＯＳと、ホストＯＳ上で動作するゲストＯＳとを同時に動作させることが可能である。このため、あるＯＳ上でのみ動作可能なソフトウェアを他のＯＳをホストＯＳとするハードウェアでも使用することが可能となる。
【０００６】
このような仮想マシンに対して上述のＷＯＬを適用する場合には、通常、コンピュータの電源が入れられ、ホストＯＳが起動される。しかしながら、コンピュータが備えるゲストＯＳについては起動されることがなく、ゲストＯＳに関する管理を遠隔地から行うことは困難であるという問題がある。
【０００７】
特に、ゲストＯＳは、１つのコンピュータに複数備えられることがあり、単にネットワーク経由で遠隔地から起動を指示するだけでは、どのゲストＯＳを起動させるべきか不明であり、仮想マシンに特有の問題が生じる。
【０００８】
さらに、計算機リソースの節約のためには、ホストＯＳが起動した状態でも不要なゲストＯＳは停止しておくことが好ましい。しかし、一旦ゲストＯＳを停止してしまうと、現状ではＷＯＬによる起動ができないため、遠隔操作に備えて不要なゲストＯＳを起動させたままとされることが考えられる。
【０００９】
本発明はかかる点に鑑みてなされたものであり、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータであって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、前記検出手段によって検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定手段と、前記判定手段による判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御手段とを有することを特徴とする。
【００１１】
また、本発明は、上記発明において、前記判定手段は、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、前記記憶手段を参照してＯＳを起動させるか否かを判定することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記判定手段は、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記判定手段は、前記検出手段によって検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定手段と、前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定手段とを含むことを特徴とする。
【００１４】
また、本発明は、上記発明において、前記第１判定手段による判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする。
【００１５】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを有することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記判定工程は、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定することを特徴とする。
【００１７】
また、本発明は、上記発明において、前記判定工程は、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定することを特徴とする。
【００１８】
また、本発明は、上記発明において、前記判定工程は、前記検出工程にて検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定する第１判定工程と、前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、前記アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する第２判定工程とを含むことを特徴とする。
【００１９】
また、本発明は、上記発明において、前記第１判定工程における判定の結果、前記アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする。
【００２０】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動方法であって、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットがホストＯＳの起動を指示するものであるか否かを判定する第１判定工程と、前記第１判定工程における判定の結果、マジックパケットがホストＯＳの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する第２判定工程と、前記第２判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを有することを特徴とする。
【００２１】
また、本発明は、基本機能を提供するホストＯＳを含む複数のＯＳを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するＯＳを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、ＯＳを起動させると判定された場合に、前記アドレス情報に対応するＯＳを起動させる制御工程とを実行させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、ＯＳの起動を指示するマジックパケットをネットワーク経由で取得し、取得されたマジックパケットに格納されたアドレス情報を検出し、検出されたアドレス情報に対応するＯＳを起動させるか否かを判定し、判定の結果、ＯＳを起動させると判定された場合に、アドレス情報に対応するＯＳを起動させる。このため、ホストＯＳおよび複数のゲストＯＳをマジックパケットに含まれるアドレス情報で識別するとともに、遠隔操作での起動が許可されているか否かを判定することができ、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。
【００２３】
また、本発明によれば、アドレス情報に対応するＯＳおよび各ＯＳを遠隔操作によって起動させるか否かを記憶する制御リストを参照してＯＳを起動させるか否かを判定する。このため、ＯＳごとに遠隔操作による起動を許可するか否かを設定しておくことができ、仮想マシンにおけるＯＳの遠隔起動を柔軟に制御することができる。
【００２４】
また、本発明によれば、マジックパケットの送信元アドレスに応じてＯＳを起動させるか否かを判定するため、マジックパケットの送信元アドレスによってはＯＳの遠隔起動を制限することができ、セキュリティ面での安全性を確保することができる。
【００２５】
また、本発明によれば、検出されたアドレス情報に対応するＯＳがホストＯＳであるか否かを判定し、判定の結果、アドレス情報に対応するＯＳがホストＯＳ以外のＯＳである場合に、アドレス情報に対応するＯＳを特定し、特定されたＯＳを起動させるか否かを判定する。このため、ホストＯＳ以外に複数のゲストＯＳが備えられたコンピュータにおいても、起動対象のゲストＯＳを正確に特定し、指定されたゲストＯＳを正しく起動させることができる。
【００２６】
また、本発明によれば、アドレス情報に対応するＯＳがホストＯＳである場合に、コンピュータの電源を入れるため、遠隔操作によってコンピュータの電源を入れることによりホストＯＳが起動され、以後、ゲストＯＳの起動を指示するマジックパケットが取得された場合に、ホストＯＳ上の処理によってゲストＯＳを起動させることができる。
【発明を実施するための最良の形態】
【００２７】
本発明の骨子は、ＷＯＬ用のマジックパケットに含まれるＭＡＣ（Media  Access  Control）アドレスから起動対象のＯＳを判別し、このＯＳの起動の可不可を判定した上で、可能であれば指定されたＯＳを起動させることである。以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００２８】
図１は、本実施の形態に係るコンピュータの要部構成を示すブロック図である。同図に示すコンピュータは、ＬＡＮカード１１０、ＢＩＯＳ１２０、電源制御部１３０、ハイパーバイザ１４０、ホストＯＳ１５０、およびゲストＯＳ１６０−１〜１６０−ｎ（ｎは１以上の整数）を有している。
【００２９】
ＬＡＮカード１１０は、コンピュータを図示しないＬＡＮに接続するインタフェースであり、ホストＯＳ１５０またはゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットを受信する。そして、ＬＡＮカード１１０は、受信したマジックパケットがホストＯＳ１５０の起動を指示するものである場合には、ＢＩＯＳ１２０を介して電源制御部１３０へコンピュータの電源を入れるように指示する。
【００３０】
なお、マジックパケットは、例えば図２に示すような構成となっている。すなわち、マジックパケットにおいては、マジックパケットの送信元アドレスおよび宛先アドレスが先頭に配置されている。送信元アドレスは、図１に示したコンピュータをネットワーク経由で起動させるコンピュータのアドレスであり、マジックパケットの送信元アドレスである。また、宛先アドレスは、図１に示したコンピュータのアドレスであり、マジックパケットの宛先アドレスである。
【００３１】
さらに、マジックパケットは、インターネットプロトコル（ＩＰ：Internet  Protocol）における所定のＩＰヘッダ、同期に用いられる同期用ビット、およびマジックパケットのエラーチェックに用いられるＣＲＣ（Cyclic  Redundancy  Check）などを有している。そして、起動させるＯＳを指定する情報として、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎのいずれか１つのＯＳに対応するＭＡＣアドレスが１６回繰り返されてマジックパケットに格納されている。
【００３２】
したがって、ＬＡＮカード１１０は、受信したマジックパケットに格納されたＭＡＣアドレスがホストＯＳ１５０を指定するものである場合には、ＢＩＯＳ１２０を介して電源制御部１３０へコンピュータの電源を入れるように指示する。また、ＬＡＮカード１１０は、受信したマジックパケットに格納されたＭＡＣアドレスがゲストＯＳ１６０−１〜１６０−ｎを指定するものである場合には、マジックパケットをＢＩＯＳ１２０およびハイパーバイザ１４０を介してホストＯＳ１５０へ出力する。
【００３３】
ＢＩＯＳ１２０は、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎに対してＬＡＮカード１１０および電源制御部１３０を含む周辺デバイスへの基本的な入出力の環境を提供する。
【００３４】
電源制御部１３０は、ＢＩＯＳ１２０を介したＬＡＮカード１１０からの指示により、ホストＯＳ１５０を起動させるマジックパケットが受信された場合に、コンピュータの電源を入れる。電源制御部１３０がコンピュータの電源を入れることにより、ホストＯＳ１５０が起動する。
【００３５】
ハイパーバイザ１４０は、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎがコンピュータのハードウェアを利用可能なように、ハードウェアを仮想化する。したがって、ホストＯＳ１５０およびゲストＯＳ１６０−１〜１６０−ｎは、ハイパーバイザ１４０上で動作する。
【００３６】
ホストＯＳ１５０は、コンピュータの動作の根幹となる基本ソフトウェアであり、電源制御部１３０によってコンピュータの電源が入れられると起動する。また、ホストＯＳ１５０は、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合に、ゲストＯＳ１６０−１〜１６０−ｎの起動を制御する。
【００３７】
具体的には、ホストＯＳ１５０は、マジックパケット取得部（以下「Ｍパケット取得部」と略記する）１５１、アドレス検出部１５２、制御リスト記憶部１５３、起動判定部１５４、およびゲストＯＳ制御部１５５を備えている。
【００３８】
Ｍパケット取得部１５１は、ＬＡＮカード１１０において受信されたマジックパケットであって、ゲストＯＳ１６０−１〜１６０−ｎのいずれかのＯＳの起動を指示するマジックパケットを取得する。
【００３９】
アドレス検出部１５２は、Ｍパケット取得部１５１によって取得されたマジックパケットに格納されたＭＡＣアドレスを検出する。すなわち、アドレス検出部１５２は、起動対象のＯＳを指定するＭＡＣアドレスをマジックパケットから検出し、検出されたＭＡＣアドレスを起動判定部１５４へ通知する。また、アドレス検出部１５２は、マジックパケットに格納されたＭＡＣアドレス以外にも、マジックパケットの送信元アドレスを検出して起動判定部１５４へ通知するようにしても良い。
【００４０】
制御リスト記憶部１５３は、ＭＡＣアドレスとゲストＯＳ１６０−１〜１６０−ｎとの対応を記憶しており、それぞれのゲストＯＳ１６０−１〜１６０−ｎを遠隔操作によって起動させるか否かを規定している。すなわち、制御リスト記憶部１５３は、例えば図３に示すように、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎに加えて、それぞれのゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された際に、実際に起動するか否かを示す制御リストを記憶する。例えば図３に示す制御リストにおいては、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ６」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−１を起動することが規定されている一方、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ８」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−３を起動しないことが規定されている。
【００４１】
また、制御リスト記憶部１５３は、例えば図４に示すように、マジックパケットの送信元アドレスによってゲストＯＳ１６０−１〜１６０−ｎの起動の有無を規定する制御リストを記憶していても良い。すなわち、図４に示す制御リストにおいては、ＭＡＣアドレス「０ｘ００１７４２１４０５ｅ６」を格納したマジックパケットが受信された場合には、このＭＡＣアドレスに対応するゲストＯＳ１６０−１を起動するが、マジックパケットの送信元アドレスが「１９２．１００．ｘｘ．ｘｘ」および「１９２．１６８．ｘｘ．ｘｘ」である場合は、ゲストＯＳ１６０−１を起動しないことが規定されている。なお、制御リストには、上述した条件以外にも、ゲストＯＳ１６０−１〜１６０−ｎの遠隔操作による起動を許可するか否かの条件が規定されていて良い。
【００４２】
起動判定部１５４は、アドレス検出部１５２からＭＡＣアドレスが通知されると、制御リスト記憶部１５３に記憶された制御リストを参照し、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かを判定する。すなわち、起動判定部１５４は、アドレス検出部１５２から通知されたＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを制御リスト記憶部１５３に記憶された制御リストから把握し、このゲストＯＳ１６０−１〜１６０−ｎについて遠隔操作での起動が許可されているか否かを制御リストから判断する。このとき、起動判定部１５４は、アドレス検出部１５２から通知されるマジックパケットの送信元アドレスによって、ゲストＯＳ１６０−１〜１６０−ｎの起動が許可されているか否かを判断するようにしても良い。
【００４３】
ゲストＯＳ制御部１５５は、起動判定部１５４によってゲストＯＳ１６０−１〜１６０−ｎを起動させると判定された場合、このゲストＯＳ１６０−１〜１６０−ｎをハイパーバイザ１４０を介して起動させる。
【００４４】
ゲストＯＳ１６０−１〜１６０−ｎは、ホストＯＳ１５０とは異なる基本ソフトウェアであり、ホストＯＳ１５０上では動作しないアプリケーションなどを動作させることができる。ゲストＯＳ１６０−１〜１６０−ｎは、ホストＯＳ１５０内のゲストＯＳ制御部１５５によって起動が制御される。
【００４５】
次いで、上記のように構成されたコンピュータにおけるマジックパケット受信時の動作について、図５に示すフロー図を参照しながら説明する。
【００４６】
まず、他のコンピュータから送信されたマジックパケットは、ＬＡＮ経由で図１に示したコンピュータのＬＡＮカード１１０によって受信される（ステップＳ１０１）。ＬＡＮカード１１０によってマジックパケットが受信されると、このマジックパケットのフォーマットが正規のマジックパケットのものであるか否かが判定され（ステップＳ１０２）、不正なマジックパケットであればＬＡＮカード１１０によって廃棄される。
【００４７】
また、マジックパケットのフォーマットが正規のものであれば（ステップＳ１０２Ｙｅｓ）、ＬＡＮカード１１０によってマジックパケットに格納されたＭＡＣアドレスが参照され、ホストＯＳ１５０の起動を指示するマジックパケットであるか否かが判断される（ステップＳ１０３）。具体的には、マジックパケットにおいて１６回繰り返されているＭＡＣアドレスがホストＯＳ１５０のＭＡＣアドレスであるか否かが判断される。そして、ＭＡＣアドレスがホストＯＳ１５０に対応するものである場合は（ステップＳ１０３Ｙｅｓ）、ＬＡＮカード１１０からＢＩＯＳ１２０を経て電源制御部１３０へ指示が出され、コンピュータの電源が入れられる。これに伴い、ホストＯＳ１５０が起動される（ステップＳ１０５）。
【００４８】
一方、マジックパケットに格納されたＭＡＣアドレスがホストＯＳ１５０に対応するものでない場合は（ステップＳ１０３Ｎｏ）、マジックパケットがＬＡＮカード１１０から出力され、ホストＯＳ１５０のＭパケット取得部１５１によって取得される。なお、この時点でホストＯＳ１５０が起動していない場合は、ＬＡＮカード１１０によってマジックパケットが廃棄される。ホストＯＳ１５０が起動しており、Ｍパケット取得部１５１によってマジックパケットが取得された場合には、アドレス検出部１５２によって、Ｍパケット取得部１５１に取得されたマジックパケットに格納されたＭＡＣアドレスが検出される（ステップＳ１０４）。このとき、アドレス検出部１５２によって、ＭＡＣアドレスとともにマジックパケットの送信元アドレスが検出されるようにしても良い。
【００４９】
アドレス検出部１５２によってＭＡＣアドレスが検出されると、起動判定部１５４によって、検出されたＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎと、このゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かとが判定される（ステップＳ１０６）。具体的には、起動判定部１５４によって、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎが制御リスト記憶部１５３から読み出され、同時に、このゲストＯＳ１６０−１〜１６０−ｎに対する遠隔操作での起動が許可されるか否かが制御リスト記憶部１５３から読み出される。遠隔操作での起動が許可されるか否かは、ゲストＯＳ１６０−１〜１６０−ｎごとに規定されていても良いし、特定のマジックパケットの送信元アドレスについては起動を制限するなどのように規定されていても良い。
【００５０】
起動判定部１５４における判定の結果、遠隔操作による起動が許可されていなければ（ステップＳ１０６Ｎｏ）、ゲストＯＳ１６０−１〜１６０−ｎが起動することなく処理が終了する。また、遠隔操作による起動が許可されていれば（ステップＳ１０６Ｙｅｓ）、起動させるゲストＯＳ１６０−１〜１６０−ｎが起動判定部１５４からゲストＯＳ制御部１５５へ通知され、ゲストＯＳ制御部１５５によって、ハイパーバイザ１４０を介して起動判定部１５４から通知されたゲストＯＳ１６０−１〜１６０−ｎが起動される（ステップＳ１０７）。
【００５１】
このように、本実施の形態においては、マジックパケットに格納されたＭＡＣアドレスからゲストＯＳ１６０−１〜１６０−ｎを一意に識別し、起動対象のゲストＯＳ１６０−１〜１６０−ｎの遠隔操作での起動が許可されているか否かを制御リストから判定し、許可されている場合にのみホストＯＳ１５０からゲストＯＳ１６０−１〜１６０−ｎを起動させる。このため、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。また、マジックパケットの送信元アドレスによっては、ゲストＯＳ１６０−１〜１６０−ｎの起動を制限することなどを制御リストに規定しておけば、遠隔操作でのゲストＯＳ１６０−１〜１６０−ｎの起動に制限を設けることができ、セキュリティ面での安全性を確保することができる。
【００５２】
次に、ホストＯＳ１５０の起動を指示するマジックパケットがコンピュータに受信された場合とゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットがコンピュータに受信された場合との動作について、図６および図７に示すシーケンス図を参照しながら説明する。まず、図６を参照して、ホストＯＳ１５０の起動を指示するマジックパケットが受信された場合について説明する。
【００５３】
ＬＡＮカード１１０においてマジックパケットが受信されると、このマジックパケットに格納されたＭＡＣアドレスが確認され、ここでは、ＬＡＮカード１１０によってホストＯＳ１５０の起動が指示されていると判断される。この場合、ＬＡＮカード１１０は、ＢＩＯＳ１２０に対してコンピュータの電源を入れる旨の指示を送出し（ステップＳ２０１）、ＢＩＯＳ１２０は、この指示を電源制御部１３０へ転送する（ステップＳ２０２）。そして、電源制御部１３０によってコンピュータの電源が入れられるとともに、ホストＯＳ１５０へ起動指示が出され（ステップＳ２０３）、ホストＯＳ１５０が起動する。
【００５４】
これにより、ＬＡＮに接続された他のコンピュータから送信されたマジックパケットによって、図１に示したコンピュータの電源が入り、ホストＯＳ１５０が起動する。そして、ホストＯＳ１５０が起動することにより、以下に説明するように、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合にゲストＯＳ１６０−１〜１６０−ｎの起動が制御される。
【００５５】
図７は、ゲストＯＳ１６０−１〜１６０−ｎの起動を指示するマジックパケットが受信された場合のコンピュータ内の動作を示すシーケンス図である。
【００５６】
ＬＡＮカード１１０においてマジックパケットが受信されると、このマジックパケットに格納されたＭＡＣアドレスが確認され、ここでは、ＬＡＮカード１１０によってホストＯＳ１５０の起動が指示されていないと判断される。この場合、ＬＡＮカード１１０によってマジックパケットがＢＩＯＳ１２０へ送出され（ステップＳ３０１）、マジックパケットは、ＢＩＯＳ１２０からハイパーバイザ１４０へ転送され（ステップＳ３０２）、さらにホストＯＳ１５０へ転送される（ステップＳ３０３）。
【００５７】
そして、マジックパケットは、Ｍパケット取得部１５１によって取得され、マジックパケットに格納されたＭＡＣアドレスがアドレス検出部１５２によって検出される（ステップＳ３０４）。ＭＡＣアドレスは、起動判定部１５４へ通知され、起動判定部１５４によって、制御リスト記憶部１５３に記憶された制御リストが参照されることにより、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させるか否かが判定される（ステップＳ３０５）。
【００５８】
ここでは、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させると判定されたものとすると、ゲストＯＳ制御部１５５によって、ＭＡＣアドレスに対応するゲストＯＳ１６０−１〜１６０−ｎを起動させる旨の指示がハイパーバイザ１４０へ送出され（ステップＳ３０６）、指定されたゲストＯＳ１６０−１〜１６０−ｎのいずれか１つ（図７においては単に「ゲストＯＳ１６０」としている）がハイパーバイザ１４０から起動される（ステップＳ３０７）。
【００５９】
以上のように、本実施の形態においては、起動対象のＯＳを指定するＭＡＣアドレスが格納されたマジックパケットをコンピュータが受信すると、コンピュータは、マジックパケットからＭＡＣアドレスを検出し、このＭＡＣアドレスに対応するゲストＯＳの起動の可不可を制御リストから判定し、起動が許可される場合には、ＭＡＣアドレスに対応するゲストＯＳを起動させる。このため、ホストＯＳおよび複数のゲストＯＳをマジックパケットに含まれるＭＡＣアドレスで識別し、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させることができる。また、ゲストＯＳを起動する際には、起動が許可されているか否かを判定し、セキュリティ面での案税制を確保することができる。
【産業上の利用可能性】
【００６０】
本発明は、複数のＯＳを備えた仮想マシンにおいてもそれぞれのＯＳをネットワーク経由で個別に起動させる場合に適用することができる。
【図面の簡単な説明】
【００６１】
【図１】図１は、本発明の一実施の形態に係るコンピュータの要部構成を示すブロック図である。
【図２】図２は、一実施の形態に係るマジックパケットのフォーマット例を示す図である。
【図３】図３は、一実施の形態に係る制御リストの一例を示す図である。
【図４】図４は、一実施の形態に係る制御リストの他の一例を示す図である。
【図５】図５は、一実施の形態に係るマジックパケット受信時の動作を示すフロー図である。
【図６】図６は、一実施の形態に係るホストＯＳ起動時の動作を示すシーケンス図である。
【図７】図７は、一実施の形態に係るゲストＯＳ起動時の動作を示すシーケンス図である。
【符号の説明】
【００６２】
１１０  ＬＡＮカード
１２０  ＢＩＯＳ
１３０  電源制御部
１４０  ハイパーバイザ
１５０  ホストＯＳ
１５１  Ｍパケット取得部
１５２  アドレス検出部
１５３  制御リスト記憶部
１５４  起動判定部
１５５  ゲストＯＳ制御部
１６０−１〜１６０−ｎ  ゲストＯＳ
【国際調査報告】
2008117472.tif 000010
2008117472.tif 000011
2008117472.tif 000012
2008117472.tif 000013