(57)【特許請求の範囲】
【請求項１】
複数の端末とネットワークを介して接続し、複数の仮想マシンが動作する情報処理装置を有するネットワークシステムであって、
前記情報処理装置は、
前記複数の端末の各々に対し、ホームゲートウエイの機能を仮想化した仮想ホームゲートウエイを提供する複数の第１仮想マシンと、
ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）処理を行うとともに前記第１仮想マシンを介さずに前記複数の端末と接続し、前記複数の端末からの信号に応じて、当該端末に対応する仮想ホームゲートウエイを起動させる第２仮想マシンとを有し、
前記複数の第１仮想マシンの各々は、各第１仮想マシンにおけるプロセス状態を確認し、前記端末から使用されていない未使用の仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、前記端末から使用されている仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、移行先の前記第１仮想マシンで前記未使用の仮想ホームゲートウエイを停止し、
前記複数の第１仮想マシンの各々は、全ての前記仮想ホームゲートウエイを他の第１仮想マシンに移行した場合、停止する
ことを特徴とするネットワークシステム。
【請求項２】
前記複数の端末ごとに、前記端末と、当該端末に対応する仮想ホームゲートウエイと、前記第２仮想マシンとがＶＬＡＮ（Virtual  Local  Area  Network）を介して１：１（固定）に接続し、
前記第２仮想マシンは、前記端末からのＤＨＣＰにかかる信号を前記仮想ホームゲートウエイに代わって代理受信し、前記仮想ホームゲートウエイを起動させるとともに、前記端末とのＤＨＣＰにかかる信号処理する
ことを特徴とする請求項１に記載のネットワークシステム。 
【請求項３】
複数の端末とネットワークを介して接続し、複数の仮想マシンが動作する情報処理装置を有するネットワークシステムで実行される仮想化方法であって、
複数の第１仮想マシンが、前記複数の端末の各々に対し、ホームゲートウエイの機能を仮想化した仮想ホームゲートウエイを提供する工程と、
ＤＨＣＰ処理を行うとともに前記第１仮想マシンを介さずに前記複数の端末と接続する第２仮想マシンが、前記複数の端末からの信号に応じて、当該端末に対応する仮想ホームゲートウエイを起動させる工程と、
前記複数の第１仮想マシンの各々は、各第１仮想マシンにおけるプロセス状態を確認し、前記端末から使用されていない未使用の仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、前記端末から使用されている仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、移行先の前記第１仮想マシンで前記未使用の仮想ホームゲートウエイを停止する工程と、
前記複数の第１仮想マシンの各々は、全ての前記仮想ホームゲートウエイを他の第１仮想マシンに移行した場合、停止する工程と、
を含んだことを特徴とする仮想化方法。
【請求項４】
複数の第１仮想マシンが、複数の端末の各々に対し、ホームゲートウエイの機能を仮想化した仮想ホームゲートウエイを提供するステップと、
ＤＨＣＰ処理を行うとともに前記第１仮想マシンを介さずに前記複数の端末と接続する第２仮想マシンが、前記複数の端末からの信号に応じて、当該端末に対応する仮想ホームゲートウエイを起動させるステップと、
前記複数の第１仮想マシンの各々は、各第１仮想マシンにおけるプロセス状態を確認し、前記端末から使用されていない未使用の仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、前記端末から使用されている仮想ホームゲートウエイを、前記第１仮想マシンを識別する番号の若い順に、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行し、移行先の前記第１仮想マシンで前記未使用の仮想ホームゲートウエイを停止するステップと、
前記複数の第１仮想マシンの各々は、全ての前記仮想ホームゲートウエイを他の第１仮想マシンに移行した場合、停止するステップと、
をコンピュータに実行させるための仮想化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、仮想化方法および仮想化プログラムに関する。
【背景技術】
【０００２】
従来、ユーザ宅などのＣＰＥ（Customer  Premises  Equipment）エリアにおいて、ＰＣ等のＩＰ（Internet  Protocol）装置や、家電製品やセンサ装置などの非ＩＰ（Internet  Protocol）装置が接続されたホームネットワーク（ＨＮＷ：Home  Network）の構築が普及している。かかるＨＮＷは、同一セグメントのＬＡＮ（Local  Area  Network）であることにより、ＩＰブロードキャストやＩＰマルチキャストによって接続機器を発見するＵＰｎＰ（Universal  Plug  and  Play）や、ＤＬＮＡ（Digital  Living  Network  Alliance）、ＥＣＨＯＮＥＴ、ＥＣＨＯＮＥＴ  Ｌｉｔｅ、Ｂｏｎｊｏｕｒなどを容易に適用させることができる。
【０００３】
例えば、上述した規格に対応した装置がＨＮＷに接続されると、接続された装置や、当該装置が提供可能なサービスの発見、ＨＮＷ上の装置間の相互接続を自動的に行うことが可能となるため、ＨＮＷに接続される種々の装置の接続設定にかかるユーザの負担を大きく低減させることができる。
【０００４】
さらに、近年、ＨＮＷにおける新たなサービスを実現するためにＨＧＷ（Home  Gateway）が利用されている。例えば、ＨＧＷは、ＯＳＧｉ（Open  Services  Gateway  initiative）を利用した制御プログラムが組み込まれ、ＨＮＷ上の家電製品やセンサ装置を制御するサービスを実現する。これにより、ユーザ又はサービス提供者は、遠隔からＨＮＷ上の装置を制御することができるようになる。
【０００５】
しかしながら、上述したように、ＨＮＷに対して提供されるサービスが高性能、高機能になるに従い、また提供されるサービスの数が増加するに従い、ＨＧＷに求められるハード・ソフトの性能や機能の要求条件が高まる。ここで、ＨＧＷは、構成が１つの筐体に収められ、ユーザ宅内に設置されている場合、上述した要求条件が高まると、ユーザは、要求条件を満たすスペックを備えたＨＧＷに交換する必要があり、ユーザにとって大きな負担となる。
【０００６】
そこで、近年、ＨＮＷ内の非ＩＰ装置（例えば、家電製品やセンサ装置など）の処理及び制御をＣＰＥエリア内のＨＧＷに実行させず、ネットワーク機能仮想化（ＮＦＶ：Network  Functions  Virtualization）によって、インターネットを介して接続されたクラウド側（エッジエリア側）でプロトコル変換などを実行させるＨＧＷの仮想化が知られている。ＮＦＶにより仮想化されたＨＧＷ（以下、ｖＨＧＷ（virtual  Home  Gateway：仮想ホームゲートウエイ）と呼ぶ）では、エッジエリアに用意した汎用サーバの仮想マシン（ＶＭ：Virtual  Machine）上でＨＧＷとしての機能が実現される。このため、ｖＨＧＷでは、ＨＧＷとしての機能や性能に関するリソースをエッジエリアの仮想マシン上で容易に拡充することができ、ＨＮＷに対して種々のサービスを提供することができる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「ETSI  GS  NFV  001  V1.1.1(2013-10)  Network  Functions  Virtualisation(NFV)；  Use  Cases」、［平成２６年８月２２日検索］、インターネット＜URL:http://www.etsi.org/deliver/etsi_gs/NFV/001_099/001/01.01.01_60/gs_NFV001v010101p.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ファイアーウオール（ＦＷ：Firewall）などのネットワークサービスは、各端末が一つのＦＷに多重に収容可能であり、動的にＦＷを選択可能である。このため、仮想化されたＦＷ（以下、ｖＦＷ（virtual  Firewall）と呼ぶ）は、端末数の増減に対して、緩やかに増減設することが可能である。しかしながら、ｖＨＧＷは、原則として端末とｖＨＧＷとは１：１（固定）であることから、端末数の増減に対して、即時対応が求められる。
【０００９】
図８は、従来のネットワークシステム２００を例示するブロック図である。図８に示すように、ネットワークシステム２００では、ＣＰＥエリアにおける複数の端末２０１が、アクセスエリアのスイッチ２０２を介し、仮想マシン２０３上のｖＨＧＷのそれぞれに接続されている。
【００１０】
これらのｖＨＧＷについては、常に全てのｖＨＧＷが使用されているわけではない。言い換えると、全ｖＨＧＷ配下の全ての端末２０１が立ち上がっているわけではないので、端末２０１の数に対応したｖＨＧＷを用意すると、使用されないｖＨＧＷが生じる場合がある。ここで、エッジエリアに用意するｖＨＧＷの数が数百〜数千万となった場合、常時、全ｖＨＧＷを立ち上げ状態にすると、使用されていないｖＨＧＷ分の負荷が、他の使用されているｖＨＧＷの負荷に影響を及ぼす。また、使用されていないｖＨＧＷ分の余分な電力を消費することとなる。
【００１１】
本発明は、上記に鑑みてなされたものであって、各端末の要求に対応しつつ、仮想ホームゲートウエイにかかる負荷を低減することを可能とするネットワークシステム、仮想化方法および仮想化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、実施形態にかかるネットワークシステムは、複数の端末とネットワークを介して接続し、複数の仮想マシンが動作する情報処理装置を有するネットワークシステムであって、前記情報処理装置は、前記複数の端末の各々に対し、ホームゲートウエイの機能を仮想化した仮想ホームゲートウエイを提供する複数の第１仮想マシンと、前記複数の端末からの信号に応じて、当該端末に対応する仮想ホームゲートウエイを起動させる第２仮想マシンとを有し、前記複数の第１仮想マシンの各々は、前記端末から使用されていない未使用の仮想ホームゲートウエイを、前記端末から使用されている仮想ホームゲートウエイが動作している第１仮想マシンへ移行して前記未使用の仮想ホームゲートウエイを停止することを特徴とする。
【発明の効果】
【００１３】
実施形態にかかるネットワークシステムによれば、各端末の要求に対応しつつ、仮想ホームゲートウエイにかかる負荷を低減することができる、という効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態にかかるネットワークシステムを例示するブロック図である。
【図２】図２は、ｖＨＧＷにかかるネットワーク構成を説明する説明図である。
【図３】図３は、端末とｖＨＧＷとの接続を説明する説明図である。
【図４】図４は、接続方式の比較例を説明する説明図である。
【図５】図５は、仮想マシンにおけるリソース開放を説明する説明図である。
【図６】図６は、ｖＨＧＷの立ち上げにかかる動作を示すラダーチャートである。
【図７】図７は、仮想マシンにかかるプログラムを実行するコンピュータを示す図である。
【図８】図８は、従来のネットワークシステムを例示するブロック図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して実施形態にかかるネットワークシステム、仮想化方法および仮想化プログラムを詳細に説明する。なお、以下の説明において、同様の構成要素には共通の符号を付与するとともに、重複する説明を省略する。
【００１６】
図１は、実施形態にかかるネットワークシステム１００を例示するブロック図である。図１に示すように、ネットワークシステム１００は、仮想マシンＶＭ０、ＶＭ１…が動作する物理マシンである情報処理装置１を有する。情報処理装置１は、アクセスエリアに設けられたスイッチ２などのネットワーク機器を介してＣＰＥエリアに設けられた複数の端末３と接続する。なお、複数の端末３の各々は、互いに異なるＨＮＷに属するものであり、互いに異なるＨＧＷと接続するものとする。
【００１７】
情報処理装置１は、仮想マシンＶＭ０、ＶＭ１…の生成や制御を行うハイパーバイザ１１と、種々のハードウエア１０とを有する。かかる情報処理装置１は、２重化されていてもよい。また、ハイパーバイザ１１は、１台の物理マシン（情報処理装置１）を論理的（仮想的）に複数のマシンに見せるための土台となる制御プログラムであり、仮想マシンモニタ（ＶＭＭ：Virtual  Machine  Monitor）等と呼ばれることがある。このハイパーバイザ１１により、仮想マシンＶＭ０、ＶＭ１…は、論理的には異なるマシンとして構成することができ、例えば、仮想ＭＡＣ、仮想ＩＰアドレスを設定してＬｉｎｕｘ（登録商標）などの仮想のＯＳ１２（Operating  System）をインストールすることができる。
【００１８】
また、ハイパーバイザ１１は、メモリ上にある仮想マシンＶＭ０、ＶＭ１…の情報をコピーすることで、物理マシン間において仮想マシンＶＭ０、ＶＭ１…を無瞬断で移行できるライブマイグレーション機能を有する。このライブマイグレーション機能を用いることで、仮想マシンＶＭ０、ＶＭ１が提供するサービス（例えば仮想ホームゲートウエイ）は、例えば２重化されている情報処理装置１の間などにおいて、無瞬断で移行することができる。
【００１９】
仮想マシンＶＭ０、ＶＭ１…は、利用者に提供するサービスであるＡＰ１３（ＡＰ：Application）と、ハイパーバイザ１１によって制御されるＯＳ１２とを含む。なお、情報処理装置１に含まれる仮想マシン（ＶＭ）の数は、図示のものに限られない。
【００２０】
仮想マシンＶＭ０、ＶＭ１…は、ＡＰ１３によって、複数の端末３の各々に対し、ホームゲートウエイの機能を仮想化した仮想ホームゲートウエイ（ｖＨＧＷ）を提供する。また、仮想マシンＶＭ０、ＶＭ１…は、ＡＰ１３によって、複数の端末３からの信号に応じて、端末３に対応するホームゲートウエイを起動させる仮想サーバとしての機能を提供する。なお、本実施形態では、一例として、仮想マシンＶＭ０が仮想サーバとしての機能を提供し、仮想マシンＶＭ１…がｖＨＧＷを提供するものとする。
【００２１】
図２は、ｖＨＧＷ３０にかかるネットワーク構成を説明する説明図である。図２に示すように、仮想マシンＶＭ０は、複数の端末３からの信号に応じて、端末３に対応するｖＨＧＷ３０を起動させる仮想サーバ２０を有する。仮想マシンＶＭ１は、各端末３に対応したｖＨＧＷ３０を有する。
【００２２】
複数の端末３と、仮想サーバ２０と、各端末３に対応したｖＨＧＷ３０とは、ＩＤ（ＶＬＡＮＩＤ＝１、２…）等で識別可能なＶＬＡＮ（Virtual  Local  Area  Network）を介したネットワークＮＷにより互いに接続される。具体的には、各端末３と、その端末３に対応するｖＨＧＷ３０とは、ＶＬＡＮＩＤで識別可能なＶＬＡＮを介して、１：１（固定）に接続される。
【００２３】
図３は、端末３とｖＨＧＷ３０との接続を説明する説明図である。図３に示すように、仮想マシンＶＭ１は、スイッチ２としての機能を仮想化した仮想スイッチ３１を有する。例えば、ＶＬＡＮＩＤ＝２で識別されるＶＬＡＮについては、スイッチ２において端末３が接続するＶＬＡＮポートと、仮想スイッチ３１においてｖＨＧＷ３０が接続するＶＬＡＮポートとがＶＬＡＮＩＤ＝２として固定的に括り付けられている。これにより、端末３と、その端末３に対応するｖＨＧＷ３０とは、例えばＶＬＡＮＩＤ＝２で識別されるＶＬＡＮを介して、１：１（固定）に接続される。
【００２４】
また、仮想サーバ２０は、ネットワークＮＷにおける全ＶＬＡＮに接続される。このため、仮想サーバ２０では、ＶＬＡＮＩＤで識別可能なＶＬＡＮを介して、各端末３からの信号を受信することができる。また、仮想サーバ２０は、端末３の起動時などに送信される信号をＶＬＡＮを介して受信した場合、端末３が属するＶＬＡＮと接続するｖＨＧＷ３０を起動させる。具体的には、仮想サーバ２０は、端末３ごとに、端末３が属するＶＬＡＮのＶＬＡＮＩＤと、そのＶＬＡＮを介して接続するｖＨＧＷ３０を識別する情報（例えばプロセスＩＤ）との対応関係が記述されたテーブルデータが予め設定されている。そして、仮想サーバ２０は、端末３からの信号を受信した場合に、上述したテーブルデータを参照することで、端末３に対応したｖＨＧＷ３０を識別し、仮想マシンＶＭ１に対してｖＨＧＷ３０の起動にかかる立ち上げ要求を通知する。これにより、仮想サーバ２０は、端末３からの信号をもとに、端末３に対応するｖＨＧＷ３０を起動させることができる。
【００２５】
なお、本実施形態では、仮想サーバ２０は、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）にかかるＤＨＣＰＤＩＳＣＯＶＥＲなどの端末３からの信号に応じて、その端末３の属するＶＬＡＮのＩＤに対応したｖＨＧＷ３０を立ち上げる。
【００２６】
図４は、接続方式の比較例を説明する説明図である。図４に示すように、ＶＬＡＮ方式では、ＣＰＥエリアの端末３からエッジエリアのｖＨＧＷ３０までＬ２（レイア２）なので、ＤＨＣＰＤＩＳＣＯＶＥＲなどの信号は端末３からｖＨＧＷ３０まで到達可能である。同様に、端末３からのＤＨＣＰＤＩＳＣＯＶＥＲ信号は、仮想サーバ２０まで到達可能である。
【００２７】
なお、ＧＲＥ（ＩＰｉｎＩＰ）方式やＬ３ＮＷ（Ｌ３（レイヤ３）装置を介したネットワーク）方式では、ＤＨＣＰはＬ３を超えることができないので、ＤＨＣＰＤＩＳＣＯＶＥＲなどの信号は端末３からｖＨＧＷ３０まで不到達である。同様に、端末３からのＤＨＣＰＤＩＳＣＯＶＥＲ信号は、仮想サーバ２０まで不到達である。したがって、ネットワークＮＷについては、ＶＬＡＮ方式とすることで、端末３からのＤＨＣＰＤＩＳＣＯＶＥＲ信号に応じた、仮想サーバ２０でのｖＨＧＷ３０の立ち上げを可能としている。
【００２８】
仮想マシンＶＭ１は、前述したライブマイグレーション機能を用いることで、端末３から使用されていない未使用のｖＨＧＷ３０を検知し、その未使用のｖＨＧＷ３０を別の仮想マシンに片寄してからｓｈｕｔｄｏｗｎ（停止）することで、リソースを開放する。具体的には、仮想マシンＶＭ１は、ｖＨＧＷ３０に対応した端末３との通信セッションを監視し、その通信セッションが終了している場合にｖＨＧＷ３０が未使用であると検知する。そして、仮想マシンＶＭ１は、各仮想マシンにおけるプロセス状態を確認し、未使用のｖＨＧＷ３０を、端末３から使用されているｖＨＧＷ３０が動作している仮想マシンへ移行して未使用のｖＨＧＷ３０を停止する。
【００２９】
図５は、仮想マシンＶＭ１〜ＶＭ４におけるリソース開放を説明する説明図である。図５に示すように、仮想マシンＶＭ１〜ＶＭ４は、情報処理装置１において動作し、ｖＨＧＷ３０を提供する仮想マシンである。ここで、仮想マシンＶＭ１〜ＶＭ４内の一つの四角形は、一つのｖＨＧＷ３０についてのプロセスを示し、内部の数値は負荷を示すものとする。また、仮想マシンＶＭ１〜ＶＭ４の負荷容量は「１０」とする。
【００３０】
初期状態であるＳ１において、仮想マシンＶＭ１〜ＶＭ４の各々には、ユーザ使用中の２つのｖＨＧＷ３０と、ユーザ未使用の３つのｖＨＧＷ３０とが動作している。ここで、仮想マシンＶＭ１〜ＶＭ４は、ＶＭを識別する番号の若い順などの所定の規則に従い、ｖＨＧＷ３０にかかるプロセスを使用中のｖＨＧＷ３０が動作している仮想マシンへ片寄せして集約する。
【００３１】
具体的には、仮想マシンの負荷容量の範囲内となるように、仮想マシンＶＭ３は未使用のｖＨＧＷ３０を仮想マシンＶＭ１に片寄せし、仮想マシンＶＭ４は未使用のｖＨＧＷ３０を仮想マシンＶＭ２に片寄せする。また、仮想マシンＶＭ４は、使用中のｖＨＧＷ３０を仮想マシンＶＭ３へ片寄せする。そして、仮想マシンＶＭ４は、未使用のｖＨＧＷ３０が片寄せされたところでｖＨＧＷ３０をｓｈｕｔｄｏｗｎ（停止）する（Ｓ２）。
【００３２】
また、仮想マシンＶＭ１、ＶＭ２には負荷容量に空きがあることから、仮想マシンＶＭ３は、使用中のｖＨＧＷ３０を仮想マシンＶＭ１、ＶＭ２へ片寄せする。そして、仮想マシンＶＭ１、ＶＭ２は、未使用のｖＨＧＷ３０が片寄せされたところでｖＨＧＷ３０をｓｈｕｔｄｏｗｎ（停止）する（Ｓ３）。
【００３３】
このように片寄せを行うことで、仮想マシンＶＭ３、ＶＭ４は、ｖＨＧＷ３０にかかるプロセスがなくなることから、停止することができる。したがって、複数の端末３に対応したｖＨＧＷ３０のために、多くの仮想マシンを立ち上げておく必要がなくなることから、ｖＨＧＷ３０にかかる負荷を低減することができる。
【００３４】
また、上述した片寄せを行うことで、ｓｈｕｔｄｏｗｎ（停止）状態のｖＨＧＷ３０は、動作中の仮想マシンＶＭ１、ＶＭ２に移行している。したがって、ｓｈｕｔｄｏｗｎ（停止）状態のｖＨＧＷ３０は、端末３の起動などによって立ち上げが要求された場合において、即時立ち上げに対応することができる。
【００３５】
図６は、ｖＨＧＷ３０の立ち上げにかかる動作を示すラダーチャートである。図６に示すように、端末３は、起動時などにおいてネットワークＮＷへ接続した際に、ＤＨＣＰＤＩＳＣＯＶＥＲなどの信号を送信する（Ｓ１０）。この信号は、端末３が所属するＶＬＡＮを介して仮想サーバ２０で受信される。仮想サーバ２０では、端末３からのＤＨＣＰＤＩＳＣＯＶＥＲを受けて、端末３が所属するＶＬＡＮのｖＨＧＷ３０を起動するための立ち上げ要求を仮想マシンＶＭ１へ送信する（Ｓ１１）。この立ち上げ要求をもとに、仮想マシンＶＭ１は、ｖＨＧＷ３０を立ち上げる（Ｓ１２）。
【００３６】
また、仮想サーバ２０では、端末３からのＤＨＣＰＤＩＳＣＯＶＥＲに対して、ＤＨＣＰＯＦＦＥＲを応答する（Ｓ１３）。これにより、端末３では、ｖＨＧＷ３０が立ち上がる間、仮想サーバ２０からのＤＨＣＰＯＦＦＥＲをもとにＤＨＣＰ処理を継続して行うことができる。このため、ＤＨＣＰ処理がタイムアウトすることを防止でき、ＤＨＣＰ処理がタイムアウトした場合に生じるタイムラグの発生を抑止できる。
【００３７】
以上のように、実施形態にかかるネットワークシステム１００は、複数の端末３とネットワークＮＷを介して接続し、複数の仮想マシンＶＭ０、ＶＭ１…が動作する情報処理装置１を有する。情報処理装置１は、複数の端末３の各々に対し、ホームゲートウエイの機能を仮想化したｖＨＧＷ３０を提供する複数の仮想マシンＶＭ１、ＶＭ２…と、複数の端末３からの信号に応じて、端末３に対応するｖＨＧＷ３０を起動させる仮想サーバ２０を提供する仮想マシンＶＭ０とを有する。複数の仮想マシンＶＭ１、ＶＭ２の各々は、端末３から使用されていない未使用のｖＨＧＷ３０を、端末３から使用されているｖＨＧＷ３０が動作している仮想マシンへ移行して未使用のｖＨＧＷ３０を停止する。したがって、ネットワークシステム１００は、各端末３の要求に対応しつつ、ｖＨＧＷ３０にかかる負荷を低減することができる、という効果を奏する。
【００３８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【００３９】
例えば、上述した実施形態で説明したハイパーバイザ１１、仮想マシンＶＭ０、ＶＭ１…は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、ハイパーバイザ１１、仮想マシンＶＭ０、ＶＭ１…の機能を実現するプログラムを実行するコンピュータの一例を説明する。
【００４０】
図７は、仮想マシンにかかるプログラムを実行するコンピュータ１０００を示す図である。図７に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００４１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００４２】
ここで、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログムモジュール１０９３およびプログラムデータ１０９４を記憶する。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行することで、上述したハイパーバイザ１１、仮想マシンＶＭ０、ＶＭ１…としての機能を実現する。
【００４３】
なお、プログラムにかかるプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムにかかるプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００４４】
これらの実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【００４５】
例えば、本実施形態では、端末３からの信号としてＤＨＣＰにかかるＤＨＣＰＤＩＳＣＯＶＥＲ信号を例示し、ＤＨＣＰＤＩＳＣＯＶＥＲ信号に応じてｖＨＧＷ３０を立ち上げる構成を例示した。しかしながら、ｖＨＧＷ３０の立ち上げにかかる端末３からの信号は、ＤＨＣＰＤＩＳＣＯＶＥＲ信号だけでなく、ＡＲＰ（Address  Resolution  Protocol）などであってもよく、特に限定しない。
【符号の説明】
【００４６】
１００…ネットワークシステム
１…情報処理装置
２、２０２…スイッチ
３…端末
１０…ハードウエア
１１…ハイパーバイザ
１２…ＯＳ
１３…ＡＰ
２０…仮想サーバ
３０…ｖＨＧＷ
３１…仮想スイッチ
ＮＷ…ネットワーク
ＶＭ０〜ＶＭ４、２０３…仮想マシン
１０００…コンピュータ
２００…従来のネットワークシステム
【図１】
0006267606.tif 000002
【図２】
0006267606.tif 000003
【図３】
0006267606.tif 000004
【図４】
0006267606.tif 000005
【図５】
0006267606.tif 000006
【図６】
0006267606.tif 000007
【図７】
0006267606.tif 000008
【図８】
0006267606.tif 000009