JPWO2008117472A1 - コンピュータ、遠隔起動方法、および遠隔起動プログラム - Google Patents

コンピュータ、遠隔起動方法、および遠隔起動プログラム Download PDF

Info

Publication number
JPWO2008117472A1
JPWO2008117472A1 JP2009506184A JP2009506184A JPWO2008117472A1 JP WO2008117472 A1 JPWO2008117472 A1 JP WO2008117472A1 JP 2009506184 A JP2009506184 A JP 2009506184A JP 2009506184 A JP2009506184 A JP 2009506184A JP WO2008117472 A1 JPWO2008117472 A1 JP WO2008117472A1
Authority
JP
Japan
Prior art keywords
determination
host
address information
magic packet
computer
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
JP2009506184A
Other languages
English (en)
Other versions
JP5304640B2 (ja
Inventor
裕 江▲崎▼
裕 江▲崎▼
湯原 雅信
雅信 湯原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008117472A1 publication Critical patent/JPWO2008117472A1/ja
Application granted granted Critical
Publication of JP5304640B2 publication Critical patent/JP5304640B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させること。この課題を解決するために、Mパケット取得部(151)は、受信されたマジックパケットを取得する。アドレス検出部(152)は、マジックパケットに格納されたMACアドレスを検出する。制御リスト記憶部(153)は、MACアドレスとゲストOS(160−1〜160−n)との対応を記憶しており、それぞれのゲストOS(160−1〜160−n)を遠隔操作によって起動させるか否かを規定している。起動判定部(154)は、制御リスト記憶部(153)を参照し、マジックパケットに格納されたMACアドレスに対応するゲストOS(160−1〜160−n)を起動させるか否かを判定する。ゲストOS制御部(155)は、起動判定部(154)によって起動させると判定されたゲストOS(160−1〜160−n)を起動させる。

Description

本発明は、基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータ、遠隔起動方法、および遠隔起動プログラムに関し、特に、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムに関する。
従来、例えばパーソナルコンピュータやサーバなどを遠隔操作する機能として、例えば特許文献1に記載されたWOL(Wake On LAN)がある。WOLは、LAN(Local Area Network)に接続されたコンピュータが休止状態であるときに、このコンピュータを同じくLANに接続された他のコンピュータから起動させる技術である。WOLを用いることにより、例えばネットワーク管理者は、身近にあるコンピュータを操作して遠隔地のコンピュータを管理することが可能となる。
このようなWOLを実行するためには、起動されるコンピュータのネットワークカード、マザーボード、BIOS(Basic Input/Output System)、およびOSなどがWOLに対応している必要がある。
特開2000−209220号公報
ところで、近年、1つのコンピュータ上で複数のOSを動作させる仮想マシン(VM:Virtual Machine)が注目されている。仮想マシンでは、コンピュータの電源を入れた際に最初に起動されるホストOSと、ホストOS上で動作するゲストOSとを同時に動作させることが可能である。このため、あるOS上でのみ動作可能なソフトウェアを他のOSをホストOSとするハードウェアでも使用することが可能となる。
このような仮想マシンに対して上述のWOLを適用する場合には、通常、コンピュータの電源が入れられ、ホストOSが起動される。しかしながら、コンピュータが備えるゲストOSについては起動されることがなく、ゲストOSに関する管理を遠隔地から行うことは困難であるという問題がある。
特に、ゲストOSは、1つのコンピュータに複数備えられることがあり、単にネットワーク経由で遠隔地から起動を指示するだけでは、どのゲストOSを起動させるべきか不明であり、仮想マシンに特有の問題が生じる。
さらに、計算機リソースの節約のためには、ホストOSが起動した状態でも不要なゲストOSは停止しておくことが好ましい。しかし、一旦ゲストOSを停止してしまうと、現状ではWOLによる起動ができないため、遠隔操作に備えて不要なゲストOSを起動させたままとされることが考えられる。
本発明はかかる点に鑑みてなされたものであり、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータであって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、前記検出手段によって検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定手段と、前記判定手段による判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御手段とを有することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、前記記憶手段を参照してOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、前記検出手段によって検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定手段と、前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定手段とを含むことを特徴とする。
また、本発明は、上記発明において、前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動方法であって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを有することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、前記検出工程にて検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定工程と、前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定工程とを含むことを特徴とする。
また、本発明は、上記発明において、前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動方法であって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットがホストOSの起動を指示するものであるか否かを判定する第1判定工程と、前記第1判定工程における判定の結果、マジックパケットがホストOSの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する第2判定工程と、前記第2判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを実行させることを特徴とする。
本発明によれば、OSの起動を指示するマジックパケットをネットワーク経由で取得し、取得されたマジックパケットに格納されたアドレス情報を検出し、検出されたアドレス情報に対応するOSを起動させるか否かを判定し、判定の結果、OSを起動させると判定された場合に、アドレス情報に対応するOSを起動させる。このため、ホストOSおよび複数のゲストOSをマジックパケットに含まれるアドレス情報で識別するとともに、遠隔操作での起動が許可されているか否かを判定することができ、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。
また、本発明によれば、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定する。このため、OSごとに遠隔操作による起動を許可するか否かを設定しておくことができ、仮想マシンにおけるOSの遠隔起動を柔軟に制御することができる。
また、本発明によれば、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定するため、マジックパケットの送信元アドレスによってはOSの遠隔起動を制限することができ、セキュリティ面での安全性を確保することができる。
また、本発明によれば、検出されたアドレス情報に対応するOSがホストOSであるか否かを判定し、判定の結果、アドレス情報に対応するOSがホストOS以外のOSである場合に、アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する。このため、ホストOS以外に複数のゲストOSが備えられたコンピュータにおいても、起動対象のゲストOSを正確に特定し、指定されたゲストOSを正しく起動させることができる。
また、本発明によれば、アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れるため、遠隔操作によってコンピュータの電源を入れることによりホストOSが起動され、以後、ゲストOSの起動を指示するマジックパケットが取得された場合に、ホストOS上の処理によってゲストOSを起動させることができる。
図1は、本発明の一実施の形態に係るコンピュータの要部構成を示すブロック図である。 図2は、一実施の形態に係るマジックパケットのフォーマット例を示す図である。 図3は、一実施の形態に係る制御リストの一例を示す図である。 図4は、一実施の形態に係る制御リストの他の一例を示す図である。 図5は、一実施の形態に係るマジックパケット受信時の動作を示すフロー図である。 図6は、一実施の形態に係るホストOS起動時の動作を示すシーケンス図である。 図7は、一実施の形態に係るゲストOS起動時の動作を示すシーケンス図である。
符号の説明
110 LANカード
120 BIOS
130 電源制御部
140 ハイパーバイザ
150 ホストOS
151 Mパケット取得部
152 アドレス検出部
153 制御リスト記憶部
154 起動判定部
155 ゲストOS制御部
160−1〜160−n ゲストOS
本発明の骨子は、WOL用のマジックパケットに含まれるMAC(Media Access Control)アドレスから起動対象のOSを判別し、このOSの起動の可不可を判定した上で、可能であれば指定されたOSを起動させることである。以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
図1は、本実施の形態に係るコンピュータの要部構成を示すブロック図である。同図に示すコンピュータは、LANカード110、BIOS120、電源制御部130、ハイパーバイザ140、ホストOS150、およびゲストOS160−1〜160−n(nは1以上の整数)を有している。
LANカード110は、コンピュータを図示しないLANに接続するインタフェースであり、ホストOS150またはゲストOS160−1〜160−nの起動を指示するマジックパケットを受信する。そして、LANカード110は、受信したマジックパケットがホストOS150の起動を指示するものである場合には、BIOS120を介して電源制御部130へコンピュータの電源を入れるように指示する。
なお、マジックパケットは、例えば図2に示すような構成となっている。すなわち、マジックパケットにおいては、マジックパケットの送信元アドレスおよび宛先アドレスが先頭に配置されている。送信元アドレスは、図1に示したコンピュータをネットワーク経由で起動させるコンピュータのアドレスであり、マジックパケットの送信元アドレスである。また、宛先アドレスは、図1に示したコンピュータのアドレスであり、マジックパケットの宛先アドレスである。
さらに、マジックパケットは、インターネットプロトコル(IP:Internet Protocol)における所定のIPヘッダ、同期に用いられる同期用ビット、およびマジックパケットのエラーチェックに用いられるCRC(Cyclic Redundancy Check)などを有している。そして、起動させるOSを指定する情報として、ホストOS150およびゲストOS160−1〜160−nのいずれか1つのOSに対応するMACアドレスが16回繰り返されてマジックパケットに格納されている。
したがって、LANカード110は、受信したマジックパケットに格納されたMACアドレスがホストOS150を指定するものである場合には、BIOS120を介して電源制御部130へコンピュータの電源を入れるように指示する。また、LANカード110は、受信したマジックパケットに格納されたMACアドレスがゲストOS160−1〜160−nを指定するものである場合には、マジックパケットをBIOS120およびハイパーバイザ140を介してホストOS150へ出力する。
BIOS120は、ホストOS150およびゲストOS160−1〜160−nに対してLANカード110および電源制御部130を含む周辺デバイスへの基本的な入出力の環境を提供する。
電源制御部130は、BIOS120を介したLANカード110からの指示により、ホストOS150を起動させるマジックパケットが受信された場合に、コンピュータの電源を入れる。電源制御部130がコンピュータの電源を入れることにより、ホストOS150が起動する。
ハイパーバイザ140は、ホストOS150およびゲストOS160−1〜160−nがコンピュータのハードウェアを利用可能なように、ハードウェアを仮想化する。したがって、ホストOS150およびゲストOS160−1〜160−nは、ハイパーバイザ140上で動作する。
ホストOS150は、コンピュータの動作の根幹となる基本ソフトウェアであり、電源制御部130によってコンピュータの電源が入れられると起動する。また、ホストOS150は、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合に、ゲストOS160−1〜160−nの起動を制御する。
具体的には、ホストOS150は、マジックパケット取得部(以下「Mパケット取得部」と略記する)151、アドレス検出部152、制御リスト記憶部153、起動判定部154、およびゲストOS制御部155を備えている。
Mパケット取得部151は、LANカード110において受信されたマジックパケットであって、ゲストOS160−1〜160−nのいずれかのOSの起動を指示するマジックパケットを取得する。
アドレス検出部152は、Mパケット取得部151によって取得されたマジックパケットに格納されたMACアドレスを検出する。すなわち、アドレス検出部152は、起動対象のOSを指定するMACアドレスをマジックパケットから検出し、検出されたMACアドレスを起動判定部154へ通知する。また、アドレス検出部152は、マジックパケットに格納されたMACアドレス以外にも、マジックパケットの送信元アドレスを検出して起動判定部154へ通知するようにしても良い。
制御リスト記憶部153は、MACアドレスとゲストOS160−1〜160−nとの対応を記憶しており、それぞれのゲストOS160−1〜160−nを遠隔操作によって起動させるか否かを規定している。すなわち、制御リスト記憶部153は、例えば図3に示すように、MACアドレスに対応するゲストOS160−1〜160−nに加えて、それぞれのゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された際に、実際に起動するか否かを示す制御リストを記憶する。例えば図3に示す制御リストにおいては、MACアドレス「0x0017421405e6」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−1を起動することが規定されている一方、MACアドレス「0x0017421405e8」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−3を起動しないことが規定されている。
また、制御リスト記憶部153は、例えば図4に示すように、マジックパケットの送信元アドレスによってゲストOS160−1〜160−nの起動の有無を規定する制御リストを記憶していても良い。すなわち、図4に示す制御リストにおいては、MACアドレス「0x0017421405e6」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−1を起動するが、マジックパケットの送信元アドレスが「192.100.xx.xx」および「192.168.xx.xx」である場合は、ゲストOS160−1を起動しないことが規定されている。なお、制御リストには、上述した条件以外にも、ゲストOS160−1〜160−nの遠隔操作による起動を許可するか否かの条件が規定されていて良い。
起動判定部154は、アドレス検出部152からMACアドレスが通知されると、制御リスト記憶部153に記憶された制御リストを参照し、MACアドレスに対応するゲストOS160−1〜160−nを起動させるか否かを判定する。すなわち、起動判定部154は、アドレス検出部152から通知されたMACアドレスに対応するゲストOS160−1〜160−nを制御リスト記憶部153に記憶された制御リストから把握し、このゲストOS160−1〜160−nについて遠隔操作での起動が許可されているか否かを制御リストから判断する。このとき、起動判定部154は、アドレス検出部152から通知されるマジックパケットの送信元アドレスによって、ゲストOS160−1〜160−nの起動が許可されているか否かを判断するようにしても良い。
ゲストOS制御部155は、起動判定部154によってゲストOS160−1〜160−nを起動させると判定された場合、このゲストOS160−1〜160−nをハイパーバイザ140を介して起動させる。
ゲストOS160−1〜160−nは、ホストOS150とは異なる基本ソフトウェアであり、ホストOS150上では動作しないアプリケーションなどを動作させることができる。ゲストOS160−1〜160−nは、ホストOS150内のゲストOS制御部155によって起動が制御される。
次いで、上記のように構成されたコンピュータにおけるマジックパケット受信時の動作について、図5に示すフロー図を参照しながら説明する。
まず、他のコンピュータから送信されたマジックパケットは、LAN経由で図1に示したコンピュータのLANカード110によって受信される(ステップS101)。LANカード110によってマジックパケットが受信されると、このマジックパケットのフォーマットが正規のマジックパケットのものであるか否かが判定され(ステップS102)、不正なマジックパケットであればLANカード110によって廃棄される。
また、マジックパケットのフォーマットが正規のものであれば(ステップS102Yes)、LANカード110によってマジックパケットに格納されたMACアドレスが参照され、ホストOS150の起動を指示するマジックパケットであるか否かが判断される(ステップS103)。具体的には、マジックパケットにおいて16回繰り返されているMACアドレスがホストOS150のMACアドレスであるか否かが判断される。そして、MACアドレスがホストOS150に対応するものである場合は(ステップS103Yes)、LANカード110からBIOS120を経て電源制御部130へ指示が出され、コンピュータの電源が入れられる。これに伴い、ホストOS150が起動される(ステップS105)。
一方、マジックパケットに格納されたMACアドレスがホストOS150に対応するものでない場合は(ステップS103No)、マジックパケットがLANカード110から出力され、ホストOS150のMパケット取得部151によって取得される。なお、この時点でホストOS150が起動していない場合は、LANカード110によってマジックパケットが廃棄される。ホストOS150が起動しており、Mパケット取得部151によってマジックパケットが取得された場合には、アドレス検出部152によって、Mパケット取得部151に取得されたマジックパケットに格納されたMACアドレスが検出される(ステップS104)。このとき、アドレス検出部152によって、MACアドレスとともにマジックパケットの送信元アドレスが検出されるようにしても良い。
アドレス検出部152によってMACアドレスが検出されると、起動判定部154によって、検出されたMACアドレスに対応するゲストOS160−1〜160−nと、このゲストOS160−1〜160−nを起動させるか否かとが判定される(ステップS106)。具体的には、起動判定部154によって、MACアドレスに対応するゲストOS160−1〜160−nが制御リスト記憶部153から読み出され、同時に、このゲストOS160−1〜160−nに対する遠隔操作での起動が許可されるか否かが制御リスト記憶部153から読み出される。遠隔操作での起動が許可されるか否かは、ゲストOS160−1〜160−nごとに規定されていても良いし、特定のマジックパケットの送信元アドレスについては起動を制限するなどのように規定されていても良い。
起動判定部154における判定の結果、遠隔操作による起動が許可されていなければ(ステップS106No)、ゲストOS160−1〜160−nが起動することなく処理が終了する。また、遠隔操作による起動が許可されていれば(ステップS106Yes)、起動させるゲストOS160−1〜160−nが起動判定部154からゲストOS制御部155へ通知され、ゲストOS制御部155によって、ハイパーバイザ140を介して起動判定部154から通知されたゲストOS160−1〜160−nが起動される(ステップS107)。
このように、本実施の形態においては、マジックパケットに格納されたMACアドレスからゲストOS160−1〜160−nを一意に識別し、起動対象のゲストOS160−1〜160−nの遠隔操作での起動が許可されているか否かを制御リストから判定し、許可されている場合にのみホストOS150からゲストOS160−1〜160−nを起動させる。このため、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。また、マジックパケットの送信元アドレスによっては、ゲストOS160−1〜160−nの起動を制限することなどを制御リストに規定しておけば、遠隔操作でのゲストOS160−1〜160−nの起動に制限を設けることができ、セキュリティ面での安全性を確保することができる。
次に、ホストOS150の起動を指示するマジックパケットがコンピュータに受信された場合とゲストOS160−1〜160−nの起動を指示するマジックパケットがコンピュータに受信された場合との動作について、図6および図7に示すシーケンス図を参照しながら説明する。まず、図6を参照して、ホストOS150の起動を指示するマジックパケットが受信された場合について説明する。
LANカード110においてマジックパケットが受信されると、このマジックパケットに格納されたMACアドレスが確認され、ここでは、LANカード110によってホストOS150の起動が指示されていると判断される。この場合、LANカード110は、BIOS120に対してコンピュータの電源を入れる旨の指示を送出し(ステップS201)、BIOS120は、この指示を電源制御部130へ転送する(ステップS202)。そして、電源制御部130によってコンピュータの電源が入れられるとともに、ホストOS150へ起動指示が出され(ステップS203)、ホストOS150が起動する。
これにより、LANに接続された他のコンピュータから送信されたマジックパケットによって、図1に示したコンピュータの電源が入り、ホストOS150が起動する。そして、ホストOS150が起動することにより、以下に説明するように、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合にゲストOS160−1〜160−nの起動が制御される。
図7は、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合のコンピュータ内の動作を示すシーケンス図である。
LANカード110においてマジックパケットが受信されると、このマジックパケットに格納されたMACアドレスが確認され、ここでは、LANカード110によってホストOS150の起動が指示されていないと判断される。この場合、LANカード110によってマジックパケットがBIOS120へ送出され(ステップS301)、マジックパケットは、BIOS120からハイパーバイザ140へ転送され(ステップS302)、さらにホストOS150へ転送される(ステップS303)。
そして、マジックパケットは、Mパケット取得部151によって取得され、マジックパケットに格納されたMACアドレスがアドレス検出部152によって検出される(ステップS304)。MACアドレスは、起動判定部154へ通知され、起動判定部154によって、制御リスト記憶部153に記憶された制御リストが参照されることにより、MACアドレスに対応するゲストOS160−1〜160−nを起動させるか否かが判定される(ステップS305)。
ここでは、MACアドレスに対応するゲストOS160−1〜160−nを起動させると判定されたものとすると、ゲストOS制御部155によって、MACアドレスに対応するゲストOS160−1〜160−nを起動させる旨の指示がハイパーバイザ140へ送出され(ステップS306)、指定されたゲストOS160−1〜160−nのいずれか1つ(図7においては単に「ゲストOS160」としている)がハイパーバイザ140から起動される(ステップS307)。
以上のように、本実施の形態においては、起動対象のOSを指定するMACアドレスが格納されたマジックパケットをコンピュータが受信すると、コンピュータは、マジックパケットからMACアドレスを検出し、このMACアドレスに対応するゲストOSの起動の可不可を制御リストから判定し、起動が許可される場合には、MACアドレスに対応するゲストOSを起動させる。このため、ホストOSおよび複数のゲストOSをマジックパケットに含まれるMACアドレスで識別し、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。また、ゲストOSを起動する際には、起動が許可されているか否かを判定し、セキュリティ面での案税制を確保することができる。
本発明は、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させる場合に適用することができる。
本発明は、基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータ、遠隔起動方法、および遠隔起動プログラムに関し、特に、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムに関する。
従来、例えばパーソナルコンピュータやサーバなどを遠隔操作する機能として、例えば特許文献1に記載されたWOL(Wake On LAN)がある。WOLは、LAN(Local Area Network)に接続されたコンピュータが休止状態であるときに、このコンピュータを同じくLANに接続された他のコンピュータから起動させる技術である。WOLを用いることにより、例えばネットワーク管理者は、身近にあるコンピュータを操作して遠隔地のコンピュータを管理することが可能となる。
このようなWOLを実行するためには、起動されるコンピュータのネットワークカード、マザーボード、BIOS(Basic Input/Output System)、およびOSなどがWOLに対応している必要がある。
特開2000−209220号公報
ところで、近年、1つのコンピュータ上で複数のOSを動作させる仮想マシン(VM:Virtual Machine)が注目されている。仮想マシンでは、コンピュータの電源を入れた際に最初に起動されるホストOSと、ホストOS上で動作するゲストOSとを同時に動作させることが可能である。このため、あるOS上でのみ動作可能なソフトウェアを他のOSをホストOSとするハードウェアでも使用することが可能となる。
このような仮想マシンに対して上述のWOLを適用する場合には、通常、コンピュータの電源が入れられ、ホストOSが起動される。しかしながら、コンピュータが備えるゲストOSについては起動されることがなく、ゲストOSに関する管理を遠隔地から行うことは困難であるという問題がある。
特に、ゲストOSは、1つのコンピュータに複数備えられることがあり、単にネットワーク経由で遠隔地から起動を指示するだけでは、どのゲストOSを起動させるべきか不明であり、仮想マシンに特有の問題が生じる。
さらに、計算機リソースの節約のためには、ホストOSが起動した状態でも不要なゲストOSは停止しておくことが好ましい。しかし、一旦ゲストOSを停止してしまうと、現状ではWOLによる起動ができないため、遠隔操作に備えて不要なゲストOSを起動させたままとされることが考えられる。
本発明はかかる点に鑑みてなされたものであり、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができるコンピュータ、遠隔起動方法、および遠隔起動プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータであって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、前記検出手段によって検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定手段と、前記判定手段による判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御手段とを有することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、前記記憶手段を参照してOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定手段は、前記検出手段によって検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定手段と、前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定手段とを含むことを特徴とする。
また、本発明は、上記発明において、前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動方法であって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを有することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする。
また、本発明は、上記発明において、前記判定工程は、前記検出工程にて検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定工程と、前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定工程とを含むことを特徴とする。
また、本発明は、上記発明において、前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動方法であって、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットがホストOSの起動を指示するものであるか否かを判定する第1判定工程と、前記第1判定工程における判定の結果、マジックパケットがホストOSの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する第2判定工程と、前記第2判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを有することを特徴とする。
また、本発明は、基本機能を提供するホストOSを含む複数のOSを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程とを実行させることを特徴とする。
本発明によれば、OSの起動を指示するマジックパケットをネットワーク経由で取得し、取得されたマジックパケットに格納されたアドレス情報を検出し、検出されたアドレス情報に対応するOSを起動させるか否かを判定し、判定の結果、OSを起動させると判定された場合に、アドレス情報に対応するOSを起動させる。このため、ホストOSおよび複数のゲストOSをマジックパケットに含まれるアドレス情報で識別するとともに、遠隔操作での起動が許可されているか否かを判定することができ、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。
また、本発明によれば、アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定する。このため、OSごとに遠隔操作による起動を許可するか否かを設定しておくことができ、仮想マシンにおけるOSの遠隔起動を柔軟に制御することができる。
また、本発明によれば、マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定するため、マジックパケットの送信元アドレスによってはOSの遠隔起動を制限することができ、セキュリティ面での安全性を確保することができる。
また、本発明によれば、検出されたアドレス情報に対応するOSがホストOSであるか否かを判定し、判定の結果、アドレス情報に対応するOSがホストOS以外のOSである場合に、アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する。このため、ホストOS以外に複数のゲストOSが備えられたコンピュータにおいても、起動対象のゲストOSを正確に特定し、指定されたゲストOSを正しく起動させることができる。
また、本発明によれば、アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れるため、遠隔操作によってコンピュータの電源を入れることによりホストOSが起動され、以後、ゲストOSの起動を指示するマジックパケットが取得された場合に、ホストOS上の処理によってゲストOSを起動させることができる。
本発明の骨子は、WOL用のマジックパケットに含まれるMAC(Media Access Control)アドレスから起動対象のOSを判別し、このOSの起動の可不可を判定した上で、可能であれば指定されたOSを起動させることである。以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
図1は、本実施の形態に係るコンピュータの要部構成を示すブロック図である。同図に示すコンピュータは、LANカード110、BIOS120、電源制御部130、ハイパーバイザ140、ホストOS150、およびゲストOS160−1〜160−n(nは1以上の整数)を有している。
LANカード110は、コンピュータを図示しないLANに接続するインタフェースであり、ホストOS150またはゲストOS160−1〜160−nの起動を指示するマジックパケットを受信する。そして、LANカード110は、受信したマジックパケットがホストOS150の起動を指示するものである場合には、BIOS120を介して電源制御部130へコンピュータの電源を入れるように指示する。
なお、マジックパケットは、例えば図2に示すような構成となっている。すなわち、マジックパケットにおいては、マジックパケットの送信元アドレスおよび宛先アドレスが先頭に配置されている。送信元アドレスは、図1に示したコンピュータをネットワーク経由で起動させるコンピュータのアドレスであり、マジックパケットの送信元アドレスである。また、宛先アドレスは、図1に示したコンピュータのアドレスであり、マジックパケットの宛先アドレスである。
さらに、マジックパケットは、インターネットプロトコル(IP:Internet Protocol)における所定のIPヘッダ、同期に用いられる同期用ビット、およびマジックパケットのエラーチェックに用いられるCRC(Cyclic Redundancy Check)などを有している。そして、起動させるOSを指定する情報として、ホストOS150およびゲストOS160−1〜160−nのいずれか1つのOSに対応するMACアドレスが16回繰り返されてマジックパケットに格納されている。
したがって、LANカード110は、受信したマジックパケットに格納されたMACアドレスがホストOS150を指定するものである場合には、BIOS120を介して電源制御部130へコンピュータの電源を入れるように指示する。また、LANカード110は、受信したマジックパケットに格納されたMACアドレスがゲストOS160−1〜160−nを指定するものである場合には、マジックパケットをBIOS120およびハイパーバイザ140を介してホストOS150へ出力する。
BIOS120は、ホストOS150およびゲストOS160−1〜160−nに対してLANカード110および電源制御部130を含む周辺デバイスへの基本的な入出力の環境を提供する。
電源制御部130は、BIOS120を介したLANカード110からの指示により、ホストOS150を起動させるマジックパケットが受信された場合に、コンピュータの電源を入れる。電源制御部130がコンピュータの電源を入れることにより、ホストOS150が起動する。
ハイパーバイザ140は、ホストOS150およびゲストOS160−1〜160−nがコンピュータのハードウェアを利用可能なように、ハードウェアを仮想化する。したがって、ホストOS150およびゲストOS160−1〜160−nは、ハイパーバイザ140上で動作する。
ホストOS150は、コンピュータの動作の根幹となる基本ソフトウェアであり、電源制御部130によってコンピュータの電源が入れられると起動する。また、ホストOS150は、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合に、ゲストOS160−1〜160−nの起動を制御する。
具体的には、ホストOS150は、マジックパケット取得部(以下「Mパケット取得部」と略記する)151、アドレス検出部152、制御リスト記憶部153、起動判定部154、およびゲストOS制御部155を備えている。
Mパケット取得部151は、LANカード110において受信されたマジックパケットであって、ゲストOS160−1〜160−nのいずれかのOSの起動を指示するマジックパケットを取得する。
アドレス検出部152は、Mパケット取得部151によって取得されたマジックパケットに格納されたMACアドレスを検出する。すなわち、アドレス検出部152は、起動対象のOSを指定するMACアドレスをマジックパケットから検出し、検出されたMACアドレスを起動判定部154へ通知する。また、アドレス検出部152は、マジックパケットに格納されたMACアドレス以外にも、マジックパケットの送信元アドレスを検出して起動判定部154へ通知するようにしても良い。
制御リスト記憶部153は、MACアドレスとゲストOS160−1〜160−nとの対応を記憶しており、それぞれのゲストOS160−1〜160−nを遠隔操作によって起動させるか否かを規定している。すなわち、制御リスト記憶部153は、例えば図3に示すように、MACアドレスに対応するゲストOS160−1〜160−nに加えて、それぞれのゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された際に、実際に起動するか否かを示す制御リストを記憶する。例えば図3に示す制御リストにおいては、MACアドレス「0x0017421405e6」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−1を起動することが規定されている一方、MACアドレス「0x0017421405e8」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−3を起動しないことが規定されている。
また、制御リスト記憶部153は、例えば図4に示すように、マジックパケットの送信元アドレスによってゲストOS160−1〜160−nの起動の有無を規定する制御リストを記憶していても良い。すなわち、図4に示す制御リストにおいては、MACアドレス「0x0017421405e6」を格納したマジックパケットが受信された場合には、このMACアドレスに対応するゲストOS160−1を起動するが、マジックパケットの送信元アドレスが「192.100.xx.xx」および「192.168.xx.xx」である場合は、ゲストOS160−1を起動しないことが規定されている。なお、制御リストには、上述した条件以外にも、ゲストOS160−1〜160−nの遠隔操作による起動を許可するか否かの条件が規定されていて良い。
起動判定部154は、アドレス検出部152からMACアドレスが通知されると、制御リスト記憶部153に記憶された制御リストを参照し、MACアドレスに対応するゲストOS160−1〜160−nを起動させるか否かを判定する。すなわち、起動判定部154は、アドレス検出部152から通知されたMACアドレスに対応するゲストOS160−1〜160−nを制御リスト記憶部153に記憶された制御リストから把握し、このゲストOS160−1〜160−nについて遠隔操作での起動が許可されているか否かを制御リストから判断する。このとき、起動判定部154は、アドレス検出部152から通知されるマジックパケットの送信元アドレスによって、ゲストOS160−1〜160−nの起動が許可されているか否かを判断するようにしても良い。
ゲストOS制御部155は、起動判定部154によってゲストOS160−1〜160−nを起動させると判定された場合、このゲストOS160−1〜160−nをハイパーバイザ140を介して起動させる。
ゲストOS160−1〜160−nは、ホストOS150とは異なる基本ソフトウェアであり、ホストOS150上では動作しないアプリケーションなどを動作させることができる。ゲストOS160−1〜160−nは、ホストOS150内のゲストOS制御部155によって起動が制御される。
次いで、上記のように構成されたコンピュータにおけるマジックパケット受信時の動作について、図5に示すフロー図を参照しながら説明する。
まず、他のコンピュータから送信されたマジックパケットは、LAN経由で図1に示したコンピュータのLANカード110によって受信される(ステップS101)。LANカード110によってマジックパケットが受信されると、このマジックパケットのフォーマットが正規のマジックパケットのものであるか否かが判定され(ステップS102)、不正なマジックパケットであればLANカード110によって廃棄される。
また、マジックパケットのフォーマットが正規のものであれば(ステップS102Yes)、LANカード110によってマジックパケットに格納されたMACアドレスが参照され、ホストOS150の起動を指示するマジックパケットであるか否かが判断される(ステップS103)。具体的には、マジックパケットにおいて16回繰り返されているMACアドレスがホストOS150のMACアドレスであるか否かが判断される。そして、MACアドレスがホストOS150に対応するものである場合は(ステップS103Yes)、LANカード110からBIOS120を経て電源制御部130へ指示が出され、コンピュータの電源が入れられる。これに伴い、ホストOS150が起動される(ステップS105)。
一方、マジックパケットに格納されたMACアドレスがホストOS150に対応するものでない場合は(ステップS103No)、マジックパケットがLANカード110から出力され、ホストOS150のMパケット取得部151によって取得される。なお、この時点でホストOS150が起動していない場合は、LANカード110によってマジックパケットが廃棄される。ホストOS150が起動しており、Mパケット取得部151によってマジックパケットが取得された場合には、アドレス検出部152によって、Mパケット取得部151に取得されたマジックパケットに格納されたMACアドレスが検出される(ステップS104)。このとき、アドレス検出部152によって、MACアドレスとともにマジックパケットの送信元アドレスが検出されるようにしても良い。
アドレス検出部152によってMACアドレスが検出されると、起動判定部154によって、検出されたMACアドレスに対応するゲストOS160−1〜160−nと、このゲストOS160−1〜160−nを起動させるか否かとが判定される(ステップS106)。具体的には、起動判定部154によって、MACアドレスに対応するゲストOS160−1〜160−nが制御リスト記憶部153から読み出され、同時に、このゲストOS160−1〜160−nに対する遠隔操作での起動が許可されるか否かが制御リスト記憶部153から読み出される。遠隔操作での起動が許可されるか否かは、ゲストOS160−1〜160−nごとに規定されていても良いし、特定のマジックパケットの送信元アドレスについては起動を制限するなどのように規定されていても良い。
起動判定部154における判定の結果、遠隔操作による起動が許可されていなければ(ステップS106No)、ゲストOS160−1〜160−nが起動することなく処理が終了する。また、遠隔操作による起動が許可されていれば(ステップS106Yes)、起動させるゲストOS160−1〜160−nが起動判定部154からゲストOS制御部155へ通知され、ゲストOS制御部155によって、ハイパーバイザ140を介して起動判定部154から通知されたゲストOS160−1〜160−nが起動される(ステップS107)。
このように、本実施の形態においては、マジックパケットに格納されたMACアドレスからゲストOS160−1〜160−nを一意に識別し、起動対象のゲストOS160−1〜160−nの遠隔操作での起動が許可されているか否かを制御リストから判定し、許可されている場合にのみホストOS150からゲストOS160−1〜160−nを起動させる。このため、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。また、マジックパケットの送信元アドレスによっては、ゲストOS160−1〜160−nの起動を制限することなどを制御リストに規定しておけば、遠隔操作でのゲストOS160−1〜160−nの起動に制限を設けることができ、セキュリティ面での安全性を確保することができる。
次に、ホストOS150の起動を指示するマジックパケットがコンピュータに受信された場合とゲストOS160−1〜160−nの起動を指示するマジックパケットがコンピュータに受信された場合との動作について、図6および図7に示すシーケンス図を参照しながら説明する。まず、図6を参照して、ホストOS150の起動を指示するマジックパケットが受信された場合について説明する。
LANカード110においてマジックパケットが受信されると、このマジックパケットに格納されたMACアドレスが確認され、ここでは、LANカード110によってホストOS150の起動が指示されていると判断される。この場合、LANカード110は、BIOS120に対してコンピュータの電源を入れる旨の指示を送出し(ステップS201)、BIOS120は、この指示を電源制御部130へ転送する(ステップS202)。そして、電源制御部130によってコンピュータの電源が入れられるとともに、ホストOS150へ起動指示が出され(ステップS203)、ホストOS150が起動する。
これにより、LANに接続された他のコンピュータから送信されたマジックパケットによって、図1に示したコンピュータの電源が入り、ホストOS150が起動する。そして、ホストOS150が起動することにより、以下に説明するように、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合にゲストOS160−1〜160−nの起動が制御される。
図7は、ゲストOS160−1〜160−nの起動を指示するマジックパケットが受信された場合のコンピュータ内の動作を示すシーケンス図である。
LANカード110においてマジックパケットが受信されると、このマジックパケットに格納されたMACアドレスが確認され、ここでは、LANカード110によってホストOS150の起動が指示されていないと判断される。この場合、LANカード110によってマジックパケットがBIOS120へ送出され(ステップS301)、マジックパケットは、BIOS120からハイパーバイザ140へ転送され(ステップS302)、さらにホストOS150へ転送される(ステップS303)。
そして、マジックパケットは、Mパケット取得部151によって取得され、マジックパケットに格納されたMACアドレスがアドレス検出部152によって検出される(ステップS304)。MACアドレスは、起動判定部154へ通知され、起動判定部154によって、制御リスト記憶部153に記憶された制御リストが参照されることにより、MACアドレスに対応するゲストOS160−1〜160−nを起動させるか否かが判定される(ステップS305)。
ここでは、MACアドレスに対応するゲストOS160−1〜160−nを起動させると判定されたものとすると、ゲストOS制御部155によって、MACアドレスに対応するゲストOS160−1〜160−nを起動させる旨の指示がハイパーバイザ140へ送出され(ステップS306)、指定されたゲストOS160−1〜160−nのいずれか1つ(図7においては単に「ゲストOS160」としている)がハイパーバイザ140から起動される(ステップS307)。
以上のように、本実施の形態においては、起動対象のOSを指定するMACアドレスが格納されたマジックパケットをコンピュータが受信すると、コンピュータは、マジックパケットからMACアドレスを検出し、このMACアドレスに対応するゲストOSの起動の可不可を制御リストから判定し、起動が許可される場合には、MACアドレスに対応するゲストOSを起動させる。このため、ホストOSおよび複数のゲストOSをマジックパケットに含まれるMACアドレスで識別し、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させることができる。また、ゲストOSを起動する際には、起動が許可されているか否かを判定し、セキュリティ面での案税制を確保することができる。
本発明は、複数のOSを備えた仮想マシンにおいてもそれぞれのOSをネットワーク経由で個別に起動させる場合に適用することができる。
図1は、本発明の一実施の形態に係るコンピュータの要部構成を示すブロック図である。 図2は、一実施の形態に係るマジックパケットのフォーマット例を示す図である。 図3は、一実施の形態に係る制御リストの一例を示す図である。 図4は、一実施の形態に係る制御リストの他の一例を示す図である。 図5は、一実施の形態に係るマジックパケット受信時の動作を示すフロー図である。 図6は、一実施の形態に係るホストOS起動時の動作を示すシーケンス図である。 図7は、一実施の形態に係るゲストOS起動時の動作を示すシーケンス図である。
110 LANカード
120 BIOS
130 電源制御部
140 ハイパーバイザ
150 ホストOS
151 Mパケット取得部
152 アドレス検出部
153 制御リスト記憶部
154 起動判定部
155 ゲストOS制御部
160−1〜160−n ゲストOS

Claims (15)

  1. 基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータであって、
    OSの起動を指示するマジックパケットをネットワーク経由で取得する取得手段と、
    前記取得手段によって取得されたマジックパケットに格納されたアドレス情報を検出する検出手段と、
    前記検出手段によって検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定手段と、
    前記判定手段による判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御手段と
    を有することを特徴とするコンピュータ。
  2. 前記判定手段は、
    アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する記憶手段を含み、
    前記記憶手段を参照してOSを起動させるか否かを判定することを特徴とする請求項1記載のコンピュータ。
  3. 前記判定手段は、
    マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする請求項1記載のコンピュータ。
  4. 前記判定手段は、
    前記検出手段によって検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定手段と、
    前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定手段と
    を含むことを特徴とする請求項1記載のコンピュータ。
  5. 前記第1判定手段による判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御手段をさらに有することを特徴とする請求項4記載のコンピュータ。
  6. 基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータの遠隔起動方法であって、
    OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
    前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
    前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、
    前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程と
    を有することを特徴とする遠隔起動方法。
  7. 前記判定工程は、
    アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定することを特徴とする請求項6記載の遠隔起動方法。
  8. 前記判定工程は、
    マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする請求項6記載の遠隔起動方法。
  9. 前記判定工程は、
    前記検出工程にて検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定工程と、
    前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定工程と
    を含むことを特徴とする請求項6記載の遠隔起動方法。
  10. 前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOSである場合に、コンピュータの電源を入れる電源制御工程をさらに有することを特徴とする請求項9記載の遠隔起動方法。
  11. 基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータの遠隔起動方法であって、
    OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
    前記取得工程にて取得されたマジックパケットがホストOSの起動を指示するものであるか否かを判定する第1判定工程と、
    前記第1判定工程における判定の結果、マジックパケットがホストOSの起動を指示するものでない場合に、マジックパケットに格納されたアドレス情報を検出する検出工程と、
    前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する第2判定工程と、
    前記第2判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程と
    を有することを特徴とする遠隔起動方法。
  12. 基本機能を提供するホストOS(Operating System)を含む複数のOSを備えたコンピュータの遠隔起動プログラムであって、前記コンピュータに、
    OSの起動を指示するマジックパケットをネットワーク経由で取得する取得工程と、
    前記取得工程にて取得されたマジックパケットに格納されたアドレス情報を検出する検出工程と、
    前記検出工程にて検出されたアドレス情報に対応するOSを起動させるか否かを判定する判定工程と、
    前記判定工程における判定の結果、OSを起動させると判定された場合に、前記アドレス情報に対応するOSを起動させる制御工程と
    を実行させることを特徴とする遠隔起動プログラム。
  13. 前記判定工程は、
    アドレス情報に対応するOSおよび各OSを遠隔操作によって起動させるか否かを記憶する制御リストを参照してOSを起動させるか否かを判定することを特徴とする請求項12記載の遠隔起動プログラム。
  14. 前記判定工程は、
    マジックパケットの送信元アドレスに応じてOSを起動させるか否かを判定することを特徴とする請求項12記載の遠隔起動プログラム。
  15. 前記判定工程は、
    前記検出工程にて検出されたアドレス情報に対応するOSがホストOSであるか否かを判定する第1判定工程と、
    前記第1判定工程における判定の結果、前記アドレス情報に対応するOSがホストOS以外のOSである場合に、前記アドレス情報に対応するOSを特定し、特定されたOSを起動させるか否かを判定する第2判定工程と
    を含むことを特徴とする請求項12記載の遠隔起動プログラム。
JP2009506184A 2007-03-27 2007-03-27 コンピュータ、起動方法、および起動プログラム Expired - Fee Related JP5304640B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/056493 WO2008117472A1 (ja) 2007-03-27 2007-03-27 コンピュータ、遠隔起動方法、および遠隔起動プログラム

Publications (2)

Publication Number Publication Date
JPWO2008117472A1 true JPWO2008117472A1 (ja) 2010-07-08
JP5304640B2 JP5304640B2 (ja) 2013-10-02

Family

ID=39788215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009506184A Expired - Fee Related JP5304640B2 (ja) 2007-03-27 2007-03-27 コンピュータ、起動方法、および起動プログラム

Country Status (3)

Country Link
US (1) US8661238B2 (ja)
JP (1) JP5304640B2 (ja)
WO (1) WO2008117472A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5149732B2 (ja) * 2008-07-30 2013-02-20 株式会社日立製作所 仮想計算機システム
JP5359328B2 (ja) * 2009-02-02 2013-12-04 日本電気株式会社 仮想計算機の起動制御システム、その起動制御方法、情報処理装置、プログラム及び記録媒体
WO2010113248A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
JP2011060023A (ja) * 2009-09-10 2011-03-24 Bsn Net:Kk バックアップシステム
JP5458899B2 (ja) * 2010-01-12 2014-04-02 富士通株式会社 仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システム
WO2012164651A1 (ja) * 2011-05-27 2012-12-06 株式会社日立製作所 インタフェース装置、計算機システム、及び計算機制御方法
JP5773166B2 (ja) * 2012-04-05 2015-09-02 株式会社日立製作所 計算機の制御方法、計算機及び計算機システム
US10261821B2 (en) * 2016-12-02 2019-04-16 Dell Products L.P. System and method to expose remote virtual media partitions to virtual machines

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2543640B2 (ja) * 1991-12-10 1996-10-16 株式会社日立製作所 仮想計算機システム
US5835719A (en) * 1994-10-20 1998-11-10 Advanced Micro Devices, Inc. Apparatus and method for remote wake-up in system having interlinked networks
KR100378537B1 (ko) * 1994-10-20 2003-07-12 아드밴스트 마이크로 디이바이시스 인코포레이티드 원격웨이크-업시스템및방법
US5802305A (en) * 1996-05-17 1998-09-01 Microsoft Corporation System for remotely waking a sleeping computer in power down state by comparing incoming packet to the list of packets storing on network interface card
US5983353A (en) * 1997-01-21 1999-11-09 Dell Usa, L.P. System and method for activating a deactivated device by standardized messaging in a network
US5938771A (en) * 1997-10-30 1999-08-17 Advanced Micro Devices, Inc. Apparatus and method in a network interface for enabling power up of a host computer using magic packet and on-now power up management schemes
JP2000099414A (ja) * 1998-09-08 2000-04-07 Internatl Business Mach Corp <Ibm> パケット受信表示装置及びシステム
US6405259B1 (en) * 1998-12-08 2002-06-11 International Business Machines Corporation Data processing system and method for transmission of a network packet specifying a group identifier identifying a selected plurality of clients
JP2000209220A (ja) * 1999-01-14 2000-07-28 Toshiba Corp コンピュ―タ、ネットワ―ク制御装置、およびこれらを用いたシステム並びにリモ―ト起動方法
JP2000295257A (ja) * 1999-04-06 2000-10-20 Toshiba Tec Corp ネットワークシステムの遠隔電源投入方法及び遠隔電源制御装置
JP2003162515A (ja) * 2001-11-22 2003-06-06 Fujitsu Ltd クラスタシステム
US7251736B2 (en) * 2003-06-25 2007-07-31 International Business Machines Corporation Remote power control in a multi-node, partitioned data processing system via network interface cards
US20050154928A1 (en) * 2004-01-08 2005-07-14 International Business Machines Corporation Remote power-on functionality in a partitioned environment
US7346792B2 (en) * 2004-08-12 2008-03-18 International Business Machines Corporation Method and system for managing peripheral connection wakeup in a processing system supporting multiple virtual machines
US8112534B2 (en) * 2006-07-26 2012-02-07 Dell Products L.P. Apparatus and method for remote power control
US20080089338A1 (en) * 2006-10-13 2008-04-17 Robert Campbell Methods for remotely creating and managing virtual machines

Also Published As

Publication number Publication date
US8661238B2 (en) 2014-02-25
WO2008117472A1 (ja) 2008-10-02
US20090319768A1 (en) 2009-12-24
JP5304640B2 (ja) 2013-10-02

Similar Documents

Publication Publication Date Title
JP5304640B2 (ja) コンピュータ、起動方法、および起動プログラム
US9152195B2 (en) Wake on cloud
JP5074351B2 (ja) システム構築方法及び管理サーバ
JP4966753B2 (ja) 情報処理システム、および情報処理方法
JP2013137650A (ja) 情報処理装置および通信制御方法
JP2011082599A (ja) 通信装置及び方法、並びにプログラム
JP2009015507A (ja) データ処理装置およびデータ処理装置の制御方法およびプログラムおよび記録媒体
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
CN105162667B (zh) 虚拟机配置方法和装置
US9612645B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium for reducing power consumption in response to a transition
JP4991668B2 (ja) コンピュータシステムおよび修正パッチ確認/適用方法
JP5533005B2 (ja) 情報処理装置、計算機システム及びプログラム
JP2007219762A (ja) リモート電源制御システム及びリモート電源制御装置
JP2009128991A (ja) シンクライアントシステム
JP2006293787A (ja) 無線通信装置の設定方法
JP2011181074A (ja) 無線通信装置の設定方法、記憶媒体、情報処理装置、記録方法、及びシステム
JP5070879B2 (ja) 仮想サーバシステム、サーバ装置
JP2011145827A (ja) 仮想バスシステム、およびデバイス管理方法
JP6376108B2 (ja) 情報処理装置及びプログラム
JP2009177375A (ja) 画像処理装置および画像処理装置への機能追加方法
JP6418107B2 (ja) 情報処理装置及びプログラム
JP6477111B2 (ja) 情報処理装置及び情報処理プログラム
JP6281122B2 (ja) 情報処理装置
JP2011100178A (ja) シンクライアントシステムにおけるシステム起動及び終了方法
JP5791564B2 (ja) 画像形成装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120611

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130311

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130319

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: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees