(57)【特許請求の範囲】
【請求項１】
実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行う仮想ノード設定手段と、
前記仮想ノードの設定内容に応じて、前記ネットワークカードのＭＡＣアドレスを取得し、前記取得されたＭＡＣアドレスを前記ユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、前記仮想ＮＩＣの設定を行う仮想ＮＩＣ設定手段と、
前記ユーザＶＭから前記仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、前記ネットワークカードのＭＡＣアドレスを、前記仮想ＮＩＣのＭＡＣアドレスに変更し、前記実ＮＩＣの設定を行う実ＮＩＣ設定手段と
を具備する
仮想化システム。
【請求項２】
請求項１に記載の仮想化システムであって、
前記仮想ノード設定手段は、前記実ネットワークが直接のイーサネット（登録商標）である場合、前記仮想ノードをフレーム処理モードに設定し、
前記仮想ＮＩＣ設定手段は、前記実ネットワークが直接のイーサネット（登録商標）である場合、前記ユーザＶＭを活性化する前に、前記ネットワークカードのＭＡＣアドレスを取得し、前記取得されたＭＡＣアドレスを前記仮想ＮＩＣのＭＡＣアドレスに設定し、前記ユーザＶＭを活性化する
仮想化システム。
【請求項３】
請求項２に記載の仮想化システムであって、
前記仮想ノード設定手段は、前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ノードをＩＰパケット処理モードに設定し、
前記仮想ＮＩＣ設定手段は、前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ＮＩＣのＭＡＣアドレスを指定しないように設定し、
前記実ＮＩＣ設定手段は、前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ＮＩＣのＭＡＣアドレスを前記ネットワークカードのＭＡＣアドレスに設定する
仮想化システム。
【請求項４】
請求項３に記載の仮想化システムであって、
前記ユーザＶＭからアドレス解決プロトコル（ＡＲＰ）に基づく要求を受け取ると、前記ネットワークカードのＭＡＣアドレスを応答するプロキシＡＲＰと、
前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記プロキシＡＲＰの設定を行い、前記プロキシＡＲＰを活性化するプロキシＡＲＰ設定手段と
を更に具備する
仮想化システム。
【請求項５】
請求項４に記載の仮想化システムであって、
前記仮想ＮＩＣ向けのＤＨＣＰサーバと、
前記ＤＨＣＰサーバの設定を行い、前記実ネットワークのＩＰアドレス情報を、前記ＤＨＣＰサーバが前記仮想ＮＩＣに配付するＩＰアドレス情報として設定し、前記ＤＨＣＰサーバを活性化するＤＨＣＰサーバ設定手段と
を更に具備する
仮想化システム。
【請求項６】
請求項５に記載の仮想化システムであって、
前記仮想ＮＩＣから送信された通信を扱い、前記仮想ＮＩＣからの外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信かどうか判定し、前記外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信である場合、転送先を前記プロキシＡＲＰに決定し、前記仮想ノードを介して、前記プロキシＡＲＰに前記外向きイーサネット（登録商標）フレームを転送する外向き通信制御手段
を更に具備する
仮想化システム。
【請求項７】
請求項６に記載の仮想化システムであって、
前記外向き通信制御手段は、前記外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信でない場合、前記外向きイーサネット（登録商標）フレームがＤＨＣＰ通信かどうか判定し、前記外向きイーサネット（登録商標）フレームがＤＨＣＰ通信である場合、前記ＤＨＣＰサーバが活性状態か判定し、前記ＤＨＣＰサーバが活性状態である場合、転送先を前記ＤＨＣＰサーバに決定し、前記仮想ノードを介して、前記ＤＨＣＰサーバに前記外向きイーサネット（登録商標）フレームを転送する
仮想化システム。
【請求項８】
請求項７に記載の仮想化システムであって、
前記外向き通信制御手段は、転送先が前記プロキシＡＲＰ及び前記ＤＨＣＰサーバのいずれでもなく、前記仮想ノードがＩＰパケット処理モードである場合、前記外向きイーサネット（登録商標）フレームからＩＰパケットを取り出し、前記仮想ノードを介して、前記取り出されたＩＰパケットを前記実ネットワークに転送する
仮想化システム。
【請求項９】
請求項８に記載の仮想化システムであって、
前記仮想ＮＩＣへ向かう通信を扱い、前記仮想ノードがフレーム処理モードである場合に、前記実ネットワークからの内向きイーサネット（登録商標）フレームの宛先アドレスがブロードキャストアドレスである場合、前記内向きイーサネット（登録商標）フレームが前記ＤＨＣＰサーバには届かないようにフィルターし、前記内向きイーサネット（登録商標）フレームを前記仮想ＮＩＣに転送する内向き通信制御手段
を更に具備する
仮想化システム。
【請求項１０】
請求項９に記載の仮想化システムであって、
前記仮想ノード設定手段は、仮想私設通信網（ＶＰＮ）ノードが接続された際、ＶＰＮ接続がイーサネット（登録商標）レベルかどうか判定し、前記ＶＰＮ接続がイーサネット（登録商標）レベルでない場合、ＶＰＮネットワークに対するＩＰアドレス情報を前記仮想ノードに設定し、
前記ＤＨＣＰサーバ設定手段は、前記ＶＰＮノードのＩＰアドレス情報を、前記ＤＨＣＰサーバが配付するＩＰアドレス情報として設定し、前記ＤＨＣＰサーバを活性化する
仮想化システム。
【請求項１１】
請求項１０に記載の仮想化システムであって、
前記実ＮＩＣ設定手段は、前記仮想ノードのＭＡＣアドレスが変更された場合に、前記ＶＰＮ接続がイーサネット（登録商標）レベルである場合、前記仮想ＮＩＣのＭＡＣアドレスを前記ＶＰＮノードのＮＩＣのＭＡＣアドレスに設定する
仮想化システム。
【請求項１２】
実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行うステップと、
前記仮想ノードの設定内容に応じて、前記ネットワークカードのＭＡＣアドレスを取得し、前記取得されたＭＡＣアドレスを前記ユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、前記仮想ＮＩＣの設定を行うステップと、
前記ユーザＶＭから前記仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、前記ネットワークカードのＭＡＣアドレスを、前記仮想ＮＩＣのＭＡＣアドレスに変更し、前記実ＮＩＣの設定を行うステップと
を含む
仮想化方法。
【請求項１３】
請求項１２に記載の仮想化方法であって、
前記実ネットワークが直接のイーサネット（登録商標）である場合、前記仮想ノードをフレーム処理モードに設定するステップと、
前記実ネットワークが直接のイーサネット（登録商標）である場合、前記ユーザＶＭを活性化する前に、前記ネットワークカードのＭＡＣアドレスを取得し、前記取得されたＭＡＣアドレスを前記仮想ＮＩＣのＭＡＣアドレスに設定し、前記ユーザＶＭを活性化するステップと
を更に含む
仮想化方法。
【請求項１４】
請求項１３に記載の仮想化方法であって、
前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ノードをＩＰパケット処理モードに設定するステップと、
前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ＮＩＣのＭＡＣアドレスを指定しないように設定するステップと、
前記実ネットワークが直接のイーサネット（登録商標）でない場合、前記仮想ＮＩＣのＭＡＣアドレスを前記ネットワークカードのＭＡＣアドレスに設定するステップと
を更に含む
仮想化方法。
【請求項１５】
請求項１４に記載の仮想化方法であって、
前記実ネットワークが直接のイーサネット（登録商標）でない場合、プロキシＡＲＰの設定を行い、前記プロキシＡＲＰを活性化するステップと、
前記ユーザＶＭからアドレス解決プロトコル（ＡＲＰ）に基づく要求を受け取ると、前記プロキシＡＲＰにより、前記ネットワークカードのＭＡＣアドレスを応答するステップと
を更に含む
仮想化方法。
【請求項１６】
請求項１５に記載の仮想化方法であって、
前記仮想ＮＩＣ向けのＤＨＣＰサーバの設定を行い、前記実ネットワークのＩＰアドレス情報を、前記ＤＨＣＰサーバが前記仮想ＮＩＣに配付するＩＰアドレス情報として設定し、前記ＤＨＣＰサーバを活性化するステップ
を更に含む
仮想化方法。
【請求項１７】
請求項１６に記載の仮想化方法であって、
前記仮想ＮＩＣから送信された通信を扱い、前記仮想ＮＩＣからの外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信かどうか判定するステップと、
前記外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信である場合、転送先を前記プロキシＡＲＰに決定し、前記仮想ノードを介して、前記プロキシＡＲＰに前記外向きイーサネット（登録商標）フレームを転送するステップと
を更に含む
仮想化方法。
【請求項１８】
請求項１７に記載の仮想化方法であって、
前記外向きイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信でない場合、前記外向きイーサネット（登録商標）フレームがＤＨＣＰ通信かどうか判定するステップと、
前記外向きイーサネット（登録商標）フレームがＤＨＣＰ通信である場合、前記ＤＨＣＰサーバが活性状態か判定するステップと、
前記ＤＨＣＰサーバが活性状態である場合、転送先を前記ＤＨＣＰサーバに決定し、前記仮想ノードを介して、前記ＤＨＣＰサーバに前記外向きイーサネット（登録商標）フレームを転送するステップと
を更に含む
仮想化方法。
【請求項１９】
請求項１８に記載の仮想化方法であって、
転送先が前記プロキシＡＲＰ及び前記ＤＨＣＰサーバのいずれでもなく、前記仮想ノードがＩＰパケット処理モードである場合、前記外向きイーサネット（登録商標）フレームからＩＰパケットを取り出し、前記仮想ノードを介して、前記取り出されたＩＰパケットを前記実ネットワークに転送するステップ
を更に含む
仮想化方法。
【請求項２０】
請求項１９に記載の仮想化方法であって、
前記仮想ＮＩＣへ向かう通信を扱い、前記仮想ノードがフレーム処理モードである場合に、前記実ネットワークからの内向きイーサネット（登録商標）フレームの宛先アドレスがブロードキャストアドレスである場合、前記内向きイーサネット（登録商標）フレームが前記ＤＨＣＰサーバには届かないようにフィルターし、前記内向きイーサネット（登録商標）フレームを前記仮想ＮＩＣに転送するステップ
を更に含む
仮想化方法。
【請求項２１】
請求項２０に記載の仮想化方法であって、
仮想私設通信網（ＶＰＮ）ノードが接続された際、ＶＰＮ接続がイーサネット（登録商標）レベルかどうか判定し、前記ＶＰＮ接続がイーサネット（登録商標）レベルでない場合、ＶＰＮネットワークに対するＩＰアドレス情報を前記仮想ノードに設定するステップと、
前記ＶＰＮノードのＩＰアドレス情報を、前記ＤＨＣＰサーバが配付するＩＰアドレス情報として設定し、前記ＤＨＣＰサーバを活性化するステップと
を更に含む
仮想化方法。
【請求項２２】
請求項２１に記載の仮想化方法であって、
前記仮想ノードのＭＡＣアドレスが変更された場合に、前記ＶＰＮ接続がイーサネット（登録商標）レベルである場合、前記仮想ＮＩＣのＭＡＣアドレスを前記ＶＰＮノードのＮＩＣのＭＡＣアドレスに設定するステップ
を更に含む
仮想化方法。
【請求項２３】
実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行うステップと、
前記仮想ノードの設定内容に応じて、前記ネットワークカードのＭＡＣアドレスを取得し、前記取得されたＭＡＣアドレスを前記ユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、前記仮想ＮＩＣの設定を行うステップと、
前記ユーザＶＭから前記仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、前記ネットワークカードのＭＡＣアドレスを、前記仮想ＮＩＣのＭＡＣアドレスに変更し、前記実ＮＩＣの設定を行うステップと
をコンピュータに実行させるための
仮想化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システムに関し、特にネットワーク処理の一部を分離する仮想化システムに関する。
【背景技術】
【０００２】
近年、家庭や公衆のネットワーク接続環境が一段と整備され、重要な情報を持つ、もしくは重要な情報をネットワーク経由で入手可能なノート型パーソナルコンピュータ等の携帯型計算機を社外に持ち出して、社外でネットワークに接続する場合が増えている。
【０００３】
携帯型計算機の社外でのネットワーク接続は、重要な情報を社外に流出させてしまうようなセキュリティ事故を引き起こしてしまう可能性があることが、問題点として指摘されている。
【０００４】
そのため、セキュリティ管理者としては、ネットワークが安全ではないと考えられる場面では、社外に持ち出した携帯型計算機でのネットワークの使用を禁止したり、あるいは、仮想私設通信網（ＶＰＮ：Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）による通信のみに限定したり、あるいは、通信内容に何らかのフィルタリングを課したりしたい、等と考えるかもしれない。
【０００５】
ところが、利用するネットワークに応じて、携帯型計算機のオペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の設定変更を行ったり、もしくは、ＶＰＮその他のセキュリティソフトウェアを設定したりすることは、ほとんどの利用者にとっては困難である。そこで、セキュリティ管理者が、利用者の代わりに、携帯型計算機に対して、適切な設定を行うことが考えられるが、各利用者の携帯型計算機のオペレーティングシステム（ＯＳ）やアプリケーション（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  ｓｏｆｔｗａｒｅ）の環境は様々である。従って、セキュリティ管理者にとっても、全ての携帯型計算機に対して適切な設定を行うことは困難であると言える。また、仮に、セキュリティ管理者が、全ての携帯型計算機に対して適切な設定を行えたとしても、利用者の計算機のシステム管理者は、利用者自身である場合が多く、その場合、セキュリティ管理者が行った設定を、意図的に、あるいは偶発的に無効化してしまう可能性がある。
【０００６】
こうした携帯型計算機のシステム管理とネットワークセキュリティの問題を解決する方法として、仮想化システムの利用が考えられる。
【０００７】
仮想化システムとは、計算機環境を仮想的に実現する方式で、仮想的に実現した計算機環境である仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）と、複数の仮想マシンの管理や、実計算機システムの資源管理等を行うハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）を備える。ハイパーバイザは、仮想マシンモニタ（ＶＭＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）とも呼ばれる。仮想化システムでは、実デバイスの制御や、仮想化システムの管理インターフェース部分は、サービスＶＭという特別な仮想マシンが行う。ただし、ハイパーバイザとサービスＶＭは一体化している場合もある。また、利用者環境のための仮想マシンは、ユーザＶＭと呼ばれる。
【０００８】
仮想化システムを利用することで、外部ネットワークとの通信処理をユーザＶＭではなく、サービスＶＭで行わせるようにすることで、ユーザＶＭ上の利用者のオペレーティングシステム（ＯＳ）の管理者を、利用者自身として、それ以外のサービスＶＭやＶＭＭの管理者を、セキュリティ管理者等にすることができる。これにより、セキュリティ管理者の管理範囲を限定でき、また、この場合にサービスＶＭ上の環境を共通化することで、利用者毎に異なるオペレーティングシステム（ＯＳ）やアプリケーション（ＡＰ）の環境に対策を行う場合に比べて、管理負荷を低減できる。
【０００９】
このような仮想化システムの場合、ユーザＶＭ上の利用者環境からのネットワークの利用には、ユーザＶＭが持つ仮想通信デバイスを使用することになる。仮想通信デバイスは、実通信デバイスと同様に、通信のためのアドレスを持つ。この通信のためのアドレスには、イーサネット（登録商標）の場合の、媒体アクセス制御のためのＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）等がある。
【００１０】
また、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような閉じたネットワークでは、ＭＡＣアドレスのような通信のためのアドレスを、利用者の識別情報の一部として使用することがよくある。実通信デバイスでは、ＭＡＣアドレスのような通信のためのアドレスは、その製造時に一意の値が与えられるため、それを管理対象とすることはそれ程難しくはない。ところが、仮想通信デバイスの場合、生成時にＭＡＣアドレスのような通信のためのアドレスが決まるため、ＭＡＣアドレスのような通信のためのアドレスを識別情報の一部として管理対象とするには手間が掛かってしまうという問題があり、それを解決する方法が必要であると考えられる。
【００１１】
それから、サービスＶＭが、実通信デバイスのＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）や、実通信デバイス上での通信処理によって、実ネットワークについての何らかの判断を必要とする場合、ユーザＶＭの仮想通信デバイスには、その通信用にＩＰアドレスが別に必要となる。ところが、利用するネットワークによっては、複数のＩＰアドレスを得られない場合もある。複数のＩＰアドレスが得られない場合には、仮想通信デバイスには、仮のＩＰアドレスを与えて、サービスＶＭが  ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）等のアドレス変換を行うことでそれを解決することが考えられるが、サービスプロトコルによっては、アドレス変換への対応が困難な場合もあり、何らかの解決方法が必要であると考えられる。
【００１２】
関連する技術として、特開２００１−１２７８２２号公報（特許文献１）にネットワーク・アクセス技術間の切り替え方法が開示されている。
この関連技術では、異なるネットワーク・アクセス技術間の切り替えを提供するのに加え、ネットワーク・アクセス・アービトレータ（ＮＡＡ、Ｎｅｔｗｏｒｋ  Ａｃｃｅｓｓ  Ａｒｂｉｔｒａｔｏｒ）は、ＩＰ−ｉｎ−ＩＰカプセル化／カプセル化解除、プロキシＡＲＰ、無償ＡＲＰ（ｇｒａｔｕｉｔｏｕｓ  ＡＲＰ）などのモバイル・インターネット・プロトコル機能と共に動作する。
【００１３】
また、特開２００７−２２８０９８号公報（特許文献２）にネットワーク機能プロキシが開示されている。
この関連技術では、汎用コンピュータの汎用ＯＳ上で動作する組み込みＯＳシミュレータのネットワーク機能プロキシが、ネットワーク機能の代替機能を実現するネットワーク機能プロキシ部と、前記組み込みＯＳシミュレータから送信されるパケットデータの受け渡し先を、前記組み込みＯＳシミュレータが動作している汎用コンピュータか外部ネットワークかを判断するパケット分配部と、前記汎用コンピュータの汎用ＯＳのネットワーク層に対してネットワークデバイスドライバを装ってパケットデータを受け渡す機能を有するブリッジモジュールとを含む。  
【００１４】
また、特開平９−２３３０９４号公報（特許文献３）にバーチャルネットワークシステムが開示されている。
この関連技術では、ネットワーク層以上の上位プロトコルによって作成されたパケットに対してＬＡＮエミュレーション又はネイティブモードＡＴＭを行うかどうかを選択するセル化選択手段と、前記パケットをＭＡＣフレームとした後に前記ＭＡＣフレームからＡＴＭセルを作成するＬＡＮエミュレーション手段と、前記パケットから直接ＡＴＭセルを作成するネイティブモードＡＴＭ手段とを備え、前記セル化選択手段によってＬＡＮエミュレーション又はネイティブモードＡＴＭのどちらを行うかを選択し、前記選択された内容により前記ＬＡＮエミュレーション手段又はネイティブモードＡＴＭ手段によってＡＴＭセルを作成し、前記作成したＡＴＭセルによりデータ通信を行うものである。
【００１５】
また、特表２００５−５０６７２６号公報（特許文献４）に処理システムにおける仮想ネットワークシステムと方法が開示されている。
この関連技術では、仮想イーサネット（登録商標）ドライバは、適切な情報が各ノードのＡＲＰテーブルの中で終了するようにそれらを修正するために、そのシステムに入って出ていくＡＲＰパケットをすべて遮断する。パケットがイーサネット（登録商標）ドライバに対して待ち行列に入れられる前に、通常のＡＲＰロジックは出力パケットのリンクレイヤーヘッダに正確なＭＡＣアドレスを入れる。その後そのドライバは、パケットを送る方法を決定するためにリンクレイヤーヘッダ及び行き先ＭＡＣの検査だけを行う。そのドライバは直接的にはＡＲＰテーブルを操作しない。
【００１６】
【特許文献１】特開２００１−１２７８２２号公報
【特許文献２】特開２００７−２２８０９８号公報
【特許文献３】特開平９−２３３０９４号公報
【特許文献４】特表２００５−５０６７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ここでは、ユーザＶＭの仮想通信デバイスは、仮想ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）として、ユーザＶＭのデータリンクレベルの通信方式をイーサネット（登録商標）とする。実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）である場合、実ＮＩＣのＭＡＣアドレスと仮想ＮＩＣのＭＡＣアドレスを同一にする処理を自動化する。
【００１８】
実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）ではない場合、実ネットワークのデータリンク通信を、ユーザＶＭの仮想ＮＩＣに対しては、イーサネット（登録商標）による通信に変換する。この際、アドレス解決プロトコル（ＡＲＰ：Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）の回答を代行する方法として知られているプロキシＡＲＰを、ユーザＶＭの仮想ＮＩＣに対して行う。なお、プロキシ（ｐｒｏｘｙ）とは、内部ネットワークとインターネットの境にあって、直接インターネットに接続できない内部ネットワークのコンピュータに代わって、「代理」としてインターネットとの接続を行なうコンピュータ、又は、そのための機能を実現するソフトウェアのことである。
【００１９】
ユーザＶＭの仮想ＮＩＣに対するＩＰアドレス情報については、実ネットワークのＩＰアドレス情報を再利用する。これは、ＩＰアドレスの配付に使用されるＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバを、ユーザＶＭ環境に対して行う。
【００２０】
なお、ユーザＶＭの仮想ＮＩＣからの通信については、イーサネット（登録商標）フレームとそのペイロードから、処理方法を判断する。また、実ネットワークからの通信については、イーサネット（登録商標）フレームもしくはＩＰパケットから、処理方法を判断する。
【課題を解決するための手段】
【００２１】
本発明の仮想化システムは、実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行う仮想ノード設定手段と、仮想ノードの設定内容に応じて、ネットワークカードのＭＡＣアドレスを取得し、取得されたＭＡＣアドレスをユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、仮想ＮＩＣの設定を行う仮想ＮＩＣ設定手段と、ユーザＶＭから仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、ネットワークカードのＭＡＣアドレスを、仮想ＮＩＣのＭＡＣアドレスに変更し、実ＮＩＣの設定を行う実ＮＩＣ設定手段とを具備する。
【００２２】
本発明の仮想化方法は、実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行うステップと、仮想ノードの設定内容に応じて、ネットワークカードのＭＡＣアドレスを取得し、取得されたＭＡＣアドレスをユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、仮想ＮＩＣの設定を行うステップと、ユーザＶＭから仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、ネットワークカードのＭＡＣアドレスを、仮想ＮＩＣのＭＡＣアドレスに変更し、実ＮＩＣの設定を行うステップとを含む。
【００２３】
本発明の仮想化プログラムは、実ＮＩＣであるネットワークカードを介して接続された実ネットワークが直接のイーサネット（登録商標）かどうか判定し、ユーザＶＭの仮想ＮＩＣの対向ノードである仮想ノードの設定を行うステップと、仮想ノードの設定内容に応じて、ネットワークカードのＭＡＣアドレスを取得し、取得されたＭＡＣアドレスをユーザＶＭの仮想ＮＩＣのＭＡＣアドレスとして定義し、仮想ＮＩＣの設定を行うステップと、ユーザＶＭから仮想ＮＩＣのＭＡＣアドレスの変更を要求された場合、ネットワークカードのＭＡＣアドレスを、仮想ＮＩＣのＭＡＣアドレスに変更し、実ＮＩＣの設定を行うステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２４】
携帯型計算機の利用における安全性（セキュリティ）を向上し、安全性向上に伴う管理負荷の増大を抑える。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図１を参照すると、本発明の仮想化システムは、ネットワーク設定及び通信制御部１００と、プロキシＡＲＰ２００と、ＤＨＣＰサーバ３００と、仮想ノード４００と、実ネットワーク処理部５００と、ネットワークカード６００と、仮想ＮＩＣ７００を備える。
【００２６】
ネットワーク設定及び通信制御部１００は、仮想化システムでのネットワーク機能の設定と通信の制御を行う。プロキシＡＲＰ２００は、ユーザＶＭの仮想ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）向けのプロキシＡＲＰを実現する。プロキシＡＲＰでは、ルータのような第三者の中継デバイスが、受信側ホストにＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求をしているホストに対して、受信ホストの代わりにＡＲＰ応答を送る。プロキシＡＲＰを使用することで、ＬＡＮ上の他のシステムに対し、ＬＡＮに直接接続されていないシステムを、ＬＡＮに接続されているかのように見せかけることができる。ＤＨＣＰサーバ３００は、ユーザＶＭの仮想ＮＩＣ向けのＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバである。仮想ノード４００は、ユーザＶＭの仮想ＮＩＣの対向ノードである。実ネットワーク処理部５００は、実ネットワーク機能を処理する。ネットワークカード６００は、実ネットワーク用の実ＮＩＣである。仮想ＮＩＣ７００は、仮想ネットワーク用の仮想ＮＩＣである。ここでは、仮想ＮＩＣ７００は、ユーザＶＭ環境にあるＤＨＣＰクライアントにより利用されるものとする。
【００２７】
なお、実ＮＩＣとは、物理的に存在しているＮＩＣである。また、実ネットワークとは、物理的な通信回線である。通信回線は、有線、無線を問わない。ここでは、「仮想」という用語の対義語として、「実」という用語を使用している。また、ＶＭ環境とは、ハードウェアをエミュレートするプログラム等を示す。ここでは、ＶＭ環境として、ユーザＶＭ環境及びサービスＶＭ環境が存在する。
【００２８】
ネットワーク設定及び通信制御部１００、プロキシＡＲＰ２００、ＤＨＣＰサーバ３００、仮想ノード４００、及び実ネットワーク処理部５００は、仮想化システム構成のサービスＶＭ環境にあるソフトウェア機能である。ネットワーク設定及び通信制御部１００、プロキシＡＲＰ２００、ＤＨＣＰサーバ３００、仮想ノード４００、及び実ネットワーク処理部５００に該当する装置の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）等の処理装置、又はネットワーク設定及び通信制御部１００、プロキシＡＲＰ２００、ＤＨＣＰサーバ３００、仮想ノード４００、及び実ネットワーク処理部５００の各々として機能する半導体集積回路（ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等が考えられる。なお、ネットワーク設定及び通信制御部１００、プロキシＡＲＰ２００、ＤＨＣＰサーバ３００、仮想ノード４００、及び実ネットワーク処理部５００は同一の装置でも良い。
【００２９】
ネットワークカード６００は、ハードウェアである。仮想ＮＩＣ７００は、仮想マシンの要素である。このうち、ネットワーク設定及び通信制御部１００は、本実施形態に特有の構成要素である。但し、実際には、これらの例に限定されない。
【００３０】
ネットワーク設定及び通信制御部１００は、仮想ノード設定部１１０と、仮想ＮＩＣ設定部１２０と、実ＮＩＣ設定部１３０と、プロキシＡＲＰ設定部１４０と、ＤＨＣＰサーバ設定部１５０と、外向き通信制御部１６０と、内向き通信制御部１７０を備える。
【００３１】
仮想ノード設定部１１０は、仮想ノードの設定を行う。仮想ＮＩＣ設定部１２０は、仮想ＮＩＣの設定を行う。実ＮＩＣ設定部１３０は、実ＮＩＣの設定を行う。プロキシＡＲＰ設定部１４０は、ユーザＶＭの仮想ＮＩＣ向けのプロキシＡＲＰの設定を行う。ＤＨＣＰサーバ設定部１５０は、ユーザＶＭの仮想ＮＩＣ向けのＤＨＣＰサーバの設定を行う。外向き通信制御部１６０は、ユーザＶＭの仮想ＮＩＣから送信された通信を扱う。内向き通信制御部１７０は、ユーザＶＭの仮想ＮＩＣへ向かう通信を扱う。
【００３２】
仮想ノード４００は、ＩＰパケット処理部４１０と、フレーム処理部４２０を備える。
【００３３】
ＩＰパケット処理部４１０は、ＩＰパケットの処理を行う。フレーム処理部４２０は、イーサネット（登録商標）フレームの処理を行う。
【００３４】
次に、本発明の動作について説明する。
図１において、本発明の仮想化システムは、ハイパーバイザ、サービスＶＭ環境の順に起動する。サービスＶＭ環境は、サービスＶＭとその動作環境である。動作環境の例として、オペレーティングシステム（ＯＳ）及びアプリケーション（ＡＰ）が考えられる。また、サービスＶＭ環境の起動時に、実ネットワーク処理部５００が実ネットワークのネットワークカード６００を初期化することで、実ネットワークを利用可能となり、更にネットワークレベルのアドレス情報（ＩＰアドレス情報）が設定される。この場合における実ネットワークの接続方法には、イーサネット（登録商標）、もしくはＩＥＥＥ８０２．３接続、ＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）によるシリアル接続、ＰＰＰｏＥ（ＰＰＰ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標））接続、Ｗｉ−Ｆｉ（無線ＬＡＮ）接続等がある。ＩＰアドレス情報の取得方法には、ＤＨＣＰによる方法、手動による固定設定、ＰＰＰのサブプロトコルであるＩＰＣＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）による方法等がある。本発明では、これらの方法については特に指定せず、管理者や利用者によって、適切に実ネットワークが利用可能とされるものとする。
【００３５】
図２は、実ネットワークが利用可能となった後、ユーザＶＭ環境が起動する前の、ネットワーク設定及び通信制御部１００とその構成要素によるフローチャートである。
（１）ステップＳ２０１
接続された実ネットワークが直接のイーサネット（登録商標）かどうかの条件分岐で、仮想化システムは、直接のイーサネット（登録商標）かどうかの情報を実ネットワーク処理部５００から取得する。ここで、直接のイーサネット（登録商標）とは、データリンクレベルの通信にイーサネット（登録商標）、もしくはＩＥＥＥ８０２．３を使用する通信であり、ＰＰＰｏＥのようなイーサネット（登録商標）を使用するが、データリンクには、ＰＰＰを使用するような通信は当てはまらない。ここでは、仮想ノード設定部１１０は、実ネットワーク処理部５００とネットワークカード６００が接続された際、実ネットワークが直接のイーサネット（登録商標）かどうかを示す情報を、実ネットワーク処理部５００から取得する。
（２）ステップＳ２０２
実ネットワークが直接のイーサネット（登録商標）である場合、仮想ノード設定部１１０は、仮想ノード４００を、フレーム処理モードに設定する。フレーム処理モードについては、後で説明する。ここで、仮想ノード４００は、仮想ＮＩＣ７００に対向する通信ノードであり、そのデータリンクレベルのアドレスであるＭＡＣアドレスは、仮想化システムがその機能において、適当に設定したものとする。
（３）ステップＳ２０３
仮想ＮＩＣ設定部１２０は、実ネットワーク処理部５００から、ネットワークカード６００のＭＡＣアドレスを取得して、仮想ＮＩＣ７００のＭＡＣアドレスとして定義する。これにより、実ＮＩＣであるネットワークカード６００と仮想ＮＩＣ７００のＭＡＣアドレスは同一となる。図３は、ＭＡＣアドレスを設定する方向を示す。図３に示すように、実ネットワーク処理部５００とネットワークカード６００が接続された際、仮想ＮＩＣ設定部１２０は、実ネットワーク処理部５００を介してネットワークカード６００のＭＡＣアドレスを取得して、仮想ＮＩＣ７００のＭＡＣアドレスとして定義する。なお、この時点では、実際には、ユーザＶＭ環境は起動しておらず、ユーザＶＭ環境の仮想ＮＩＣ７００も、ＭＡＣアドレスの定義が変更されただけである。
（４）ステップＳ２０４
実ネットワークが直接のイーサネット（登録商標）でない場合、仮想ノード設定部１１０は、仮想ノード４００を、ＩＰパケット処理モードに設定する。ＩＰパケット処理モードについては、後で説明する。
（５）ステップＳ２０５
プロキシＡＲＰ設定部１４０は、プロキシＡＲＰ２００を起動する。このプロキシＡＲＰ２００は、ユーザＶＭ環境が仮想ＮＩＣ７００から、ＭＡＣアドレスの解決（ＡＲＰ）を要求した場合に、仮想ノード４００のＭＡＣアドレスを応答するものである。プロキシＡＲＰ２００が必要なのは、実ネットワークのデータリンクレベルがイーサネット（登録商標）ではない場合で、実ネットワークのデータリンクがイーサネット（登録商標）の場合には、実ネットワーク上の通信ノードがＡＲＰ要求に応答するので、プロキシＡＲＰ２００は必要ない。
（６）ステップＳ２０６
仮想ＮＩＣ設定部１２０は、仮想ＮＩＣ７００のＭＡＣアドレスを指定しない設定にする。これにより、仮想ＮＩＣ７００のＭＡＣアドレスは、仮想化システムがその機能により選択した値となる。
【００３６】
図４は、ユーザＶＭが起動して、仮想ＮＩＣ７００が活性化される際の、ネットワーク設定及び通信制御部１００とその構成要素によるフローチャートである。
（１）ステップＳ３０１
ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求しているかどうかの条件分岐である。一般に、ＮＩＣのＭＡＣアドレスは、通常はＮＩＣの製造時（仮想化システムの場合は生成時）に付与されたものが使用されるが、オペレーティングシステム（ＯＳ）側がＭＡＣアドレスを指定して、その値を変更することも可能である。ここでは、ネットワーク設定及び通信制御部１００は、ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求しているかどうか判定する。このとき、仮想ＮＩＣ設定部１２０は、仮想ノード４００を介して仮想ＮＩＣ７００からＭＡＣアドレスの変更の要求を受け取る。
（２）ステップＳ３０２
ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求している場合、仮想ＮＩＣ設定部１２０は、仮想ＮＩＣ７００のＭＡＣアドレスの指定を、ユーザＶＭ環境が指定した値に変更する。
（３）ステップＳ３０３
図２のステップＳ２０１と同じ条件分岐である。すなわち、仮想化システムは、接続された実ネットワークが直接のイーサネット（登録商標）かどうかの条件分岐で、実ネットワークが直接のイーサネット（登録商標）かどうかの情報を実ネットワーク処理部５００から取得する。ここでは、仮想ノード設定部１１０は、実ネットワーク処理部５００とネットワークカード６００が接続された際、実ネットワークが直接のイーサネット（登録商標）かどうかを示す情報を、実ネットワーク処理部５００から取得する。図５は、ＭＡＣアドレスを設定する方向を示す。図５に示すように、ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求している場合、実ネットワークのデータリンクはイーサネット（登録商標）であり、実ＮＩＣ設定部１３０は、ネットワークカード６００（実ＮＩＣ）のＭＡＣアドレスを、先に変更された仮想ＮＩＣ７００のＭＡＣアドレスに変更することになる。
（４）ステップＳ３０４
実ネットワークが直接のイーサネット（登録商標）である場合、実ＮＩＣ設定部１３０は、ネットワークカード６００（実ＮＩＣ）を非活性化する。
（５）ステップＳ３０５
実ＮＩＣ設定部１３０は、ネットワークカード６００（実ＮＩＣ）に対するＭＡＣアドレスの定義に、仮想ＮＩＣ７００のＭＡＣアドレスを設定する。
（６）ステップＳ３０６
実ＮＩＣ設定部１３０は、ネットワークカード６００（実ＮＩＣ）を活性化する。これにより、実ＮＩＣであるネットワークカード６００と、仮想ＮＩＣ７００のＭＡＣアドレスは同一となる。
（７）ステップＳ３０７
仮想ノード設定部１１０は、仮想ノード４００に対して、ネットワークレベルのＩＰアドレス情報を設定して、ネットワークレベルを活性化する。この場合のＩＰアドレス情報には、実ネットワーク処理部５００等の持つ実ネットワークのＩＰアドレス情報に対して、同一のネットワークアドレスで、異なるＩＰアドレスを、適当に選択する。例えば、実ネットワークに対するネットワークアドレスが「１０．２０．３０．０／２４」、ＩＰアドレスが「１０．２０．３０．４０」ならば、仮想ノード４００には、ネットワークアドレスを「１０．２０．３０．０／２４」、ＩＰアドレスを「１０．２０．３０．４１」とする。適当に選択したＩＰアドレスは、実ネットワークの他の通信ノードのＩＰアドレスと重複する可能性があるが、このＩＰアドレスは、ＤＨＣＰサーバ３００と仮想ＮＩＣ７００の間のＤＨＣＰプロトコル通信のために、ＤＨＣＰサーバ３００が使用するもので、他の通信には使用されないように、ネットワーク設定及び通信制御部１００が制御するので、問題とはならない。
（８）ステップＳ３０８
ＤＨＣＰサーバ設定部１５０は、実ネットワーク処理部５００等が持つ実ネットワークのＩＰアドレス情報を、ＤＨＣＰサーバ３００が配付するＩＰアドレス情報として設定する。ＤＨＣＰサーバ３００がＩＰアドレス情報を配付するのは、ネットワーク設定及び通信制御部１００によって、仮想ＮＩＣ７００に限定することとなる。
（９）ステップＳ３０９
ＤＨＣＰサーバ設定部１５０は、ＤＨＣＰサーバ３００を起動する。これにより、この後、仮想ＮＩＣ７００の活性化が完了すると、ユーザＶＭ環境のＤＨＣＰクライアントが、ＤＨＣＰプロトコルにより、ＤＨＣＰサーバ３００から、ＩＰアドレス情報を取得することになる。
【００３７】
図６は、外向き通信制御部１６０が、イーサネット（登録商標）フレームの転送先を決めるフローチャートである。仮想ＮＩＣ７００が送信したイーサネット（登録商標）フレームは、仮想ノード４００に到達するが、外向き通信制御部１６０はそれを入力として受け取る。
（１）ステップＳ４０１
アドレス解決プロトコル（ＡＲＰ）通信かどうかの条件分岐である。ここでは、外向き通信制御部１６０は、仮想ＮＩＣ７００からのイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信かどうか判定する。
（２）ステップＳ４０２
仮想ＮＩＣ７００からのイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信である場合の、プロキシＡＲＰ２００が活性状態かどうかの条件分岐である。ここでは、外向き通信制御部１６０は、プロキシＡＲＰ２００が活性状態かどうか判定する。プロキシＡＲＰ２００が活性状態ならば、プロキシＡＲＰ２００が転送先となる。この場合、外向き通信制御部１６０は、仮想ノード４００を介して、転送先であるプロキシＡＲＰ２００にイーサネット（登録商標）フレームを転送する。
（３）ステップＳ４０３
仮想ＮＩＣ７００からのイーサネット（登録商標）フレームがアドレス解決プロトコル（ＡＲＰ）通信でない場合の、ＤＨＣＰ通信かどうかの条件分岐である。ここでは、外向き通信制御部１６０は、仮想ＮＩＣ７００からのイーサネット（登録商標）フレームがＤＨＣＰ通信かどうか判定する。
（４）ステップＳ４０４
仮想ＮＩＣ７００からのイーサネット（登録商標）フレームがＤＨＣＰ通信の場合の、ＤＨＣＰサーバ３００が活性状態かどうかの条件分岐である。
ここでは、外向き通信制御部１６０は、ＤＨＣＰサーバ３００が活性状態かどうか判定する。ＤＨＣＰサーバ３００が活性状態ならば、ＤＨＣＰサーバ３００が転送先となる。この場合、外向き通信制御部１６０は、仮想ノード４００を介して、転送先であるＤＨＣＰサーバ３００にイーサネット（登録商標）フレームを転送する。転送先がプロキシＡＲＰ２００でもなく、ＤＨＣＰサーバ３００でもない場合は、実ネットワーク処理部５００が転送先となる。
（５）ステップＳ４０５
ＩＰパケット処理モードかどうかの条件分岐である。ここでは、外向き通信制御部１６０は、仮想ノード４００がＩＰパケット処理モードかどうか判定する。
（６）ステップＳ４０６
ＩＰパケット処理モードの場合、外向き通信制御部１６０は、イーサネット（登録商標）フレームからＩＰパケットを取り出し、実ネットワーク処理部５００への入力とする。なお、実際には、仮想ノード４００が、外向き通信制御部１６０からの指示に応じて、イーサネット（登録商標）フレームからＩＰパケットを取り出し、実ネットワーク処理部５００へ入力するようにしても良い。
【００３８】
図２のフローチャートにおいて、仮想ノード設定部１１０は、仮想ノード４００を、フレーム処理モード（ステップＳ２０２）か、ＩＰパケットモード（ステップＳ２０４）に設定している。ここでは、図７がフレーム処理モードを、図８がＩＰパケット処理モードを示している。
【００３９】
図７に示すフレーム処理モードは、実ネットワークのデータリンクレベルの通信がイーサネット（登録商標）の場合である。この場合、実ネットワーク処理部５００は、イーサネット（登録商標）フレームをフレーム処理部４２０に渡す。フレーム処理部４２０は、イーサネット（登録商標）フレームに対しては、何も行わない。この場合、ネットワークカード６００（実ＮＩＣ）は、ネットワーク上の全てのパケットを取り込むプロミスキャスモード（Ｐｒｏｍｉｓｃｕｏｕｓ  Ｍｏｄｅ）に設定する必要がないので、フレーム処理部４２０が処理するイーサネット（登録商標）フレームの宛先アドレスは、仮想ＮＩＣ７００のＭＡＣアドレス（実ＮＩＣのＭＡＣアドレスと同じ）、もしくは、ブロードキャストアドレスである。ここで、内向き通信制御部１７０は、宛先アドレスがブロードキャストアドレスの場合、それがＤＨＣＰサーバ３００には届かないようにフィルターする。そして、このイーサネット（登録商標）フレームは、仮想ＮＩＣ７００に渡されるようにする。また、仮想ＮＩＣ７００からのイーサネット（登録商標）フレームに対しては、外向き通信制御部１６０が、図６のフローチャートで説明したように処理する。
【００４０】
図８に示すＩＰパケット処理モードは、実ネットワークのデータリンクレベルの通信がイーサネット（登録商標）ではない場合で、実ネットワーク処理部５００は、データリンクレベルのフレームからＩＰパケットを取り出し、ＩＰパケット処理部４１０に渡す。ＩＰパケット処理部４１０は、送信元アドレスを仮想ノード４００、宛先アドレスを仮想ＮＩＣ７００としてイーサネット（登録商標）フレームを組み立て、仮想ＮＩＣ７００に渡す。また、仮想ＮＩＣ７００からのイーサネット（登録商標）フレームに対しては、外向き通信制御部１６０が、図６のフローチャートで説明したように処理する。
【００４１】
本実施形態では、仮想マシンを使用した利用者環境からネットワーク処理の一部分離を、効果的に行うことができる。その理由を以下に述べる。
【００４２】
理由の一つは、実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）である場合、実ＮＩＣのＭＡＣアドレスと仮想ＮＩＣのＭＡＣアドレスを同一にする処理を、自動化するためである。これにより、ネットワーク上のサービスで、ＭＡＣアドレスを利用者の識別情報として使用している場合、利用者環境を仮想化システム化しても、実ネットワーク上のサービスが持つ識別情報としてのＭＡＣアドレスの情報を変更する必要がない。加えて、実ＮＩＣは実ネットワークから、宛先が自分のＭＡＣアドレスかブロードキャストのイーサネット（登録商標）フレームのみを取り込めば良いことになるため、一般の仮想化システムとは異なり、実ＮＩＣをプロミスキャスモードに設定する必要がない。また、イーサネット（登録商標）フレームのＭＡＣアドレス変換（ＭＡＴ）といった重い処理を行う必要もない。
【００４３】
他の理由は、実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）でない場合、実ネットワークのデータリンク通信を、ユーザＶＭの仮想ＮＩＣに対してはイーサネット（登録商標）による通信に変換する処理を、自動化するためである。これにより、実ネットワークのデータリンクレベルの通信方式に応じて、利用者環境のネットワーク設定を変更する必要がない。
【００４４】
他の理由は、実ネットワークでのネットワークレベルのＩＰアドレス情報を、仮想ＮＩＣでのネットワークレベルのＩＰアドレス情報として再利用するためである。これにより、実ネットワークレベルに対するＩＰアドレスは、アドレス変換（ＮＡＴ）を行わなくとも、１つで済む。
【００４５】
以下に、本発明の第２実施形態について説明する。
図１において、実ネットワーク処理部５００は、仮想私設通信網（ＶＰＮ）接続を処理するものであっても良い。ＶＰＮは、ＩＰＳｅｃやＰＰＴＰのようにＩＰパケットを対象とするものが一般的であるが、イーサネット（登録商標）フレームを対象とするものもある。本実施形態において、ＶＰＮ接続を対象とする場合、実ネットワーク処理部５００はＶＰＮ処理を行うが、第１実施形態の場合と同じように、仮想ノード４００とはイーサネット（登録商標）フレーム又はＩＰパケットをやり取りする。
【００４６】
図２において、ＶＰＮ接続の場合、ステップＳ２０１は、ＶＰＮ接続はイーサネット（登録商標）レベルかどうかの条件分岐となる。また、ステップＳ２０３は、ネットワークカード６００（実ＮＩＣ）のＭＡＣアドレスの代わりに、接続がイーサネット（登録商標）ＶＰＮの通信ノードのＭＡＣアドレスを、仮想ＮＩＣ７００のＭＡＣアドレスとして定義する。他の各ステップに、そのまま使用できる。
【００４７】
図９は、ＶＰＮ接続の場合において、ユーザＶＭが起動して、仮想ＮＩＣ７００が活性化される際の、ネットワーク設定及び通信制御部１００とその構成要素によるフローチャートである。
（１）ステップＳ５０１
ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求しているかどうかの条件分岐である。一般に、ＮＩＣのＭＡＣアドレスは、通常は実ＮＩＣの製造時（仮想化システムの場合は仮想ＮＩＣの生成時）に付与されたものが使用されるが、オペレーティングシステム（ＯＳ）側がＭＡＣアドレスを指定して、その値を変更することも可能である。ここでは、ネットワーク設定及び通信制御部１００は、ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求しているかどうか判定する。このとき、仮想ＮＩＣ設定部１２０は、仮想ノード４００を介して仮想ＮＩＣ７００からＭＡＣアドレスの変更の要求を受け取る。なお、ステップＳ５０１とステップＳ５０２は、それぞれ図４のステップＳ３０１とステップＳ３０２と同じ処理である。
（２）ステップＳ５０２
ユーザＶＭ環境が仮想ＮＩＣ７００のＭＡＣアドレスの変更を要求している場合、仮想ＮＩＣ設定部１２０は、仮想ＮＩＣ７００のＭＡＣアドレスの指定を、ユーザＶＭ環境が指定した値に変更する。
（３）ステップＳ５０３
ＶＰＮ接続がイーサネット（登録商標）レベルかどうかの条件分岐で、仮想化システムは、ＶＰＮノードが接続された際、接続がイーサネット（登録商標）ＶＰＮかどうかの情報を実ネットワーク処理部５００から取得する。ステップＳ５０３は、図２のステップＳ２０１を、ＶＰＮ接続の場合に対応して変更したものと同じ条件分岐である。ここでは、仮想ノード設定部１１０は、実ネットワーク処理部５００とＶＰＮノードが接続された際、ＶＰＮ接続がイーサネット（登録商標）レベルかどうかを示す情報を、実ネットワーク処理部５００から取得する。これは、図２のステップＳ２０１を、ＶＰＮ接続の場合に対応して変更したものと同じ条件分岐である。接続がイーサネット（登録商標）ＶＰＮである場合は、ＶＰＮ接続はイーサネット（登録商標）レベルであり、実ＮＩＣ設定部１３０は、ＶＰＮノードのＮＩＣ（ＶＰＮ−ＮＩＣ）のＭＡＣアドレスを、変更された仮想ＮＩＣ７００のＭＡＣアドレスに変更することになる。
（４）ステップＳ５０４
ステップＳ５０３と同じ条件分岐である。ＶＰＮ接続がイーサネット（登録商標）レベルかどうかの条件分岐で、仮想化システムは、接続がイーサネット（登録商標）ＶＰＮかどうかの情報を実ネットワーク処理部５００から取得する。ここでは、仮想ノード設定部１１０は、実ネットワーク処理部５００と仮想ＮＩＣ７００が接続された際、ＶＰＮ接続がイーサネット（登録商標）レベルかどうかを示す情報を、実ネットワーク処理部５００から取得する。ＶＰＮ接続がイーサネット（登録商標）レベルである場合、特に何も行わない。
（５）ステップＳ５０５
仮想ノード設定部１１０は、仮想ノード４００に対して、ネットワークレベルのＩＰアドレス情報を設定して、ネットワークレベルを活性化する。この場合のＩＰアドレス情報には、実ネットワーク処理部５００等の持つＶＰＮネットワークのＩＰアドレス情報に対して、同一のネットワークアドレスで、異なるＩＰアドレスを、適当に選択する。図４のステップＳ３０７と同様の処理であるが、実ネットワークに対するＩＰアドレス情報の代わりに、ＶＰＮネットワークに対するＩＰアドレス情報を使用する点が異なる。なお、ＶＰＮネットワークとは、ＶＰＮを構築するネットワークである。
（６）ステップＳ５０６
ＤＨＣＰサーバ設定部１５０は、ＶＰＮノードのＩＰアドレス情報を、ＤＨＣＰサーバ３００が配付するＩＰアドレス情報として設定する。ＤＨＣＰサーバ３００がＩＰアドレス情報を配付するのは、ネットワーク設定及び通信制御部１００によって、仮想ＮＩＣ７００に限定される。なお、ＶＰＮ接続がイーサネット（登録商標）レベルの場合は、ＶＰＮノードはＩＰアドレス情報を持たず、また、仮想ＮＩＣ７００はＶＰＮ接続を通して、ＩＰアドレス情報を入手することができるので、ＤＨＣＰサーバ３００は必要ない。
（７）ステップＳ５０７
ＤＨＣＰサーバ設定部１５０は、ＤＨＣＰサーバ３００を起動する。これにより、この後、仮想ＮＩＣ７００の活性化が完了すると、ユーザＶＭ環境のＤＨＣＰクライアントが、ＤＨＣＰプロトコルにより、ＤＨＣＰサーバ３００から、ＩＰアドレス情報を取得することになる。図４のステップＳ３０９と同じ処理である。
（８）ステップＳ５０８
ＶＰＮ接続がイーサネット（登録商標）レベルである場合、実ＮＩＣ設定部１３０が、ＶＰＮノードのＮＩＣ（ＶＰＮ−ＮＩＣ）を非活性化する。
（９）ステップＳ５０９
実ＮＩＣ設定部１３０は、ＶＰＮノードのＮＩＣ（ＶＰＮ−ＮＩＣ）に対するＭＡＣアドレスの定義に、仮想ＮＩＣ７００のＭＡＣアドレスを設定する。
（１０）ステップＳ５１０
実ＮＩＣ設定部１３０は、ＶＰＮノードのＮＩＣ（ＶＰＮ−ＮＩＣ）を活性化する。これにより、ＶＰＮノードのＮＩＣ（ＶＰＮ−ＮＩＣ）と、仮想ＮＩＣ７００のＭＡＣアドレスは同一となる。
【００４８】
以下に、本発明の第３実施形態について説明する。
本実施形態では、ネットワークカード６００と仮想ＮＩＣ７００は１対１である必要がある。図１においては、ネットワークカード６００が１つあり、それに対して、仮想ＮＩＣ７００が１つであった。しかし、ネットワークカード６００の数は複数であっても良い。また、複数のネットワークカード６００の通信方式は、それぞれ異なっていても良い。この場合、ネットワークカード６００の数の分の仮想ＮＩＣ７００を定義できる。複数の仮想ＮＩＣ７００は、１つのユーザＶＭの中にあっても良いし、複数のユーザＶＭに分散していても良い。また、複数のＶＰＮノードに対しても同じであるし、ＶＰＮノードに対する場合と、ネットワークカード６００に対する場合は、同時に含まれていても良い。
【００４９】
また、本発明の仮想化システムでは、ハイパーバイザとサービスＶＭが分離していたが、これらは一体化していても良い。また、サービスＶＭが複数に分かれていても良い。
【００５０】
本発明は、携帯型計算機を対象として説明したが、対象は携帯型計算機に限らず、携帯型以外の計算機や、ＰＤＡ、携帯電話といった機器にも適用可能である。
【００５１】
以下に、発明の特徴について説明する。
本発明は、利用者環境からネットワーク処理の一部を分離する方法の一つで、仮想マシンを使用する。
【００５２】
本発明の特徴は、実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）である場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離しているにも関わらず、利用者環境からは、イーサネット（登録商標）が透過的に見えることである。
【００５３】
本発明の他の特徴は、実ネットワークのデータリンクレベルの通信方式がイーサネット（登録商標）ではない場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離し、それにより利用者環境からは、そのネットワークをイーサネット（登録商標）として透過的に見えることである。
【００５４】
本発明の更に他の特徴は、実ネットワーク上で仮想私設通信網（ＶＰＮ）を使用する場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離し、それにより利用者環境からは、そのネットワークをイーサネット（登録商標）として透過的に見えることである。
【００５５】
本発明は、携帯型端末一般での利用が考えられる。
【図面の簡単な説明】
【００５６】
【図１】図１は、本発明の仮想化システムの全体構成を示すブロック図である。
【図２】図２は、ユーザＶＭ起動前の処理を示すフローチャートである。
【図３】図３は、仮想ＮＩＣへのＭＡＣアドレスの設定の例を示す概念図である。
【図４】図４は、仮想ＮＩＣ活性化時の処理を示すフローチャートである。
【図５】図５は、実ＮＩＣへのＭＡＣアドレスの設定の例を示す概念図である。
【図６】図６は、外向き通信制御部の処理を示すフローチャートである。
【図７】図７は、フレーム処理モードの例を示す概念図である。
【図８】図８は、ＩＰパケット処理モードの例を示す概念図である。
【図９】図９は、ＶＰＮ接続の場合の仮想ＮＩＣ活性化時の処理を示すフローチャートである。
【符号の説明】
【００５７】
１００．．．ネットワーク設定及び通信制御部
１１０．．．仮想ノード設定部
１２０．．．仮想ＮＩＣ設定部
１３０．．．実ＮＩＣ設定部
１４０．．．プロキシＡＲＰ設定部
１５０．．．ＤＨＣＰサーバ設定部
１６０．．．外向き通信制御部
１７０．．．内向き通信制御部
２００．．．プロキシＡＲＰ（仮想ＮＩＣ向け）
３００．．．ＤＨＣＰサーバ（仮想ＮＩＣ向け）
４００．．．仮想ノード
４１０．．．ＩＰパケット処理部
４２０．．．フレーム処理部
５００．．．実ネットワーク処理部
６００．．．ネットワークカード（実ＮＩＣ）
７００．．．仮想ＮＩＣ
【図１】
0004488077.tif 000002
【図２】
0004488077.tif 000003
【図３】
0004488077.tif 000004
【図４】
0004488077.tif 000005
【図５】
0004488077.tif 000006
【図６】
0004488077.tif 000007
【図７】
0004488077.tif 000008
【図８】
0004488077.tif 000009
【図９】
0004488077.tif 000010