JP4665040B2 - 計算機およびアクセス制御方法 - Google Patents

計算機およびアクセス制御方法 Download PDF

Info

Publication number
JP4665040B2
JP4665040B2 JP2009110092A JP2009110092A JP4665040B2 JP 4665040 B2 JP4665040 B2 JP 4665040B2 JP 2009110092 A JP2009110092 A JP 2009110092A JP 2009110092 A JP2009110092 A JP 2009110092A JP 4665040 B2 JP4665040 B2 JP 4665040B2
Authority
JP
Japan
Prior art keywords
virtual machine
client
memory
file
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.)
Active
Application number
JP2009110092A
Other languages
English (en)
Other versions
JP2010257430A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009110092A priority Critical patent/JP4665040B2/ja
Priority to US12/763,056 priority patent/US8032883B2/en
Publication of JP2010257430A publication Critical patent/JP2010257430A/ja
Application granted granted Critical
Publication of JP4665040B2 publication Critical patent/JP4665040B2/ja
Active 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Description

本発明は、仮想マシンモニタ上で複数の仮想マシンが稼働する計算機および仮想マシンからファイルへのアクセス制御方法に関する。
オフィスに設置されたコンピュータが盗難され、社内の機密情報が洩れる事がある。
特許文献1は、1台の計算機上に2つのOSを搭載し、1つはアプリケーション用のOS、もう1つは共有するハードディスク装置との通信処理を行うOSであり、アプリケーションからの共有ディスクへ装置のアクセスは必ず第2のOSを経由させることを開示している。
特開2003−337736号公報
上述した文献は、ネットワーク上に流れるデータの盗聴を防止する技術を開示している。機密情報を有するコンピュータが持ち出された時の機密情報の漏洩に対応することができない。
本発明の目的は、持ち出し後の紛失や盗難にあっても機密情報の漏洩を防止することが可能な計算機およびアクセス制御方法を提供することにある。
本発明の一例に係わる計算機は、ローカルディスクと、メモリと、前記計算機内で動作する仮想マシンモニタと、仮想マシンモニタ上で稼働し、クライアント用仮想マシンと前記クライアント用仮想マシンからアクセス可能な内部ファイルサーバが稼働するファイルサーバ仮想マシンとを含む複数の仮想マシンと、前記ローカルディスクの一部と前記メモリの一部とを管理し、前記複数の仮想マシンの起動を制御する仮想マシンマネージャと、ネットワークを介して外部ファイルサーバが稼働する外部サーバと通信ができるか否かを監視する監視手段と、前記監視手段が通信できないと判断するまでは前記クライアント用仮想マシンからのファイルのアクセスを前記外部サーバまたは前記内部ファイルサーバに対して行い、前記監視手段が通信できると判断してから第1の時間の間に通信できないと判断した場合に、前記仮想マシンマネージャが管理する前記ローカルディスクの一部またはメモリの一部に対して前記クライアント用仮想マシンからのファイルのライトアクセスを行うアクセス制御手段と、前記監視手段が前記監視手段が通信できると判断してから前記外部サーバと前記第1の時間より長い第2の時間の間に通信できないと判断した場合に、前記ローカルディスクの一部またはメモリの一部にライトアクセスされたファイルを削除するファイル削除手段とを具備することを特徴とする。
本発明によれば、盗難にあったり、紛失しても機密情報の漏洩を防止することが可能になる。
本発明の一実施形態に係わる計算機としてのクライアントコンピュータの構成を示すブロック図。 本発明の一実施形態に係わるブロックデータの再配置の説明に用いる図。 図1に示す監視モニタの動作説明に用いる図。 図1に示すブロックデータリマッピングの基本動作を説明する図。 図1に示すブロックデータリマッピングの基本動作を説明する図。 ブロックデータリマッピングが管理するデータ構造を示す図。 図1に示すクライアントコンピュータのシステム構成を示すブロック図。 デバイスを管理するデバイスマネージャの構成および仮想マシン、仮想マシンモニタとの関連を示すブロック図。 クライアントコンピュータの起動から仮想マシン実行までの動作フローを示すフローチャートを示す図。 クライアントコンピュータの起動から仮想マシン実行までの動作フローを示すフローチャートを示す図。 クライアントコンピュータの起動から仮想マシン実行までの動作フローを示す図。 クライアントコンピュータの起動から仮想マシン実行までの動作フローを示す図。 デバイスプロファイルの例を示す図。 デバイスモデル構成リストの例を示す図。 仮想デバイスモデルの構成例を示す図。 アドレス空間の変換例を示す図。 アドレス空間の変換例を示す図。
本発明の実施の形態を以下に図面を参照して説明する。
図1に示すように、本発明の一実施形態に係わる計算機としてのクライアントコンピュータを示すブロック図である。
図1に示すように、コンピュータ10は、仮想マシンモニタ(ハイパーバイザ)230、仮想マシンマネージャ210、デバイスマネージャ220、仮想マシン200、ディスクコントローラエミュレータ(DCE)241、ブロックデータリマッピング(BDR)242、暗号化エンジン(EE)243、仮想サーバ300、LANコントローラ110、USBコントローラ113、IEEE1394コントローラ116、PCIデバイス114、GPU(Graphycs Processor Unit)105/サウンドコントローラ106、ハードディスクドライブ111等を有する。
仮想マシンモニタ230は、LANコントローラ110、USBコントローラ113、IEEE1394コントローラ116、PCIデバイス114、GPU(Graphycs Processor Unit)105/サウンドコントローラ106等のハードウェアを管理し、仮想マシンモニタ230上で動作する各仮想マシン200および仮想サーバ300に対してリソース割り当てを行う。また仮想マシンモニタ230は、仮想マシン200および仮想サーバ300の実行スケジュールと仮想マシンからのI/O要求をハードウェアへ振り分ける。
仮想マシンマネージャ210は、仮想マシンモニタ230上で動作する仮想マシン200および仮想サーバ300の起動制御等を行う。デバイスマネージャ220は、仮想マシン200および仮想サーバ300の起動前にハードウェアの管理を行う。また、デバイスマネージャは、仮想マシン200および仮想サーバ300の起動後に、I/Oデバイスとの通信制御等も行う。また、仮想マシンマネージャ210は、仮想マシンから参照され、初期のオペレーティングシステムのロード起動指示、ACPI(電源管理、I/Oコントロール)を行う。
なお、仮想マシンモニタ230、仮想マシンマネージャ210、デバイスマネージャ220、仮想マシン200、および仮想サーバ300は、プロセッサ上で動作するソフトウエアモジュールである。
LANコントローラ110は、本コンピュータをLAN(Local Area Network)に接続するためのネットワークインターフェースである。USBコントローラ113は、USBバスに接続されたキーボード13、タッチパッド16、HDD/フラッシュメモリ113A等のUSBデバイスとの通信を制御するコントローラである。IEEE1394コントローラ116は、IEEE1394バスに接続された外部デバイスとの通信を制御するコントローラである。PCIデバイス114は,PCIバスに接続されたデバイスである。GPU105は、ディスプレイを制御する表示コントローラである。このGPU105はビデオメモリ(VRAM)を有しており、OS/アプリケーションプログラムによってビデオメモリに描画された表示データから、ディスプレイに表示すべき表示イメージを形成する映像信号を生成する。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカに出力する。
HDD111には、コンピュータ10をユーザに提供した時点で、オペレーティングシステム,ドライバ、アプリケーションを実行するためのインストールイメージが格納されている。通常は、このインストールイメージを用いて、オペレーティングシステムを起動した後、ドライバ、アプリケーションの実行を行うことによってコンピュータ10を使用する(非仮想マシンモード)。コンピュータ10を仮想環境で使用する際、このインストールイメージを仮想マシンとして実行し、他のサービスOSがバックグランドで同時に実行される(仮想マシンモード)。モードの切り替えは仮想マシンマネージャ210によって行われる。仮想マシンマネージャ210は起動時にどちらのモードで使用するかをユーザに尋ね、ユーザの指示に応じて仮想マシンモードおよび非仮想マシンモードの何れかでシステムを起動する。
なお、仮想マシンモードで動作する際は、仮想マシンとH/Wを制御する仮想マシンモニタ(ハイパーバイザ)と、仮想マシンに対してデバイスI/Oのリソース割り当て等を行うデバイスマネージャと、仮想マシンのインストールイメージをロードするローダが動作する。
ディスクコントロールエミュレータ241は、ディスクコントローラをエミュレートするソフトウェアモジュールである。仮想マシン200および仮想サーバ300は、ディスクコントロールエミュレータ241で制御されるディスクを認識し、仮想的に作られたHDDとなる。ディスクコントロールエミュレータ241は、IDE(Integrated Drive Electronics)やAHCI(Advance Host Controller Interface)などの規格に準拠した標準的なコントローラをソフトウェアでエミュレートし、一部DMA転送などはハードウェアで実行させる仮想ディスクコントローラである。この仮想ディスクにリードまたはライトするデータは、ディスクコントロールエミュレータ241を経由して、書き込むデータの情報をブロックデータリマッピング242に送る。ブロックデータリマッピング242では、実際のデータの保存場所をシステムメモリまたはローカルディスク、または外部のサーバのファイルに再配置する。
図2を参照してデータの再配置を説明する。再配置するブロックデータは、仮想マシン200の一つであるWindows(登録商標)等のクライアント用OSが稼働するクライアント用仮想マシン200Aから書込み命令があった場合、ブロックデータを別の場所に再配置する。読み込み命令があった場合、ブロックデータリマッピング242が、以前書込みした同じブロックデータが存在するか確認し、なければ本来のディスクからリードするよう指示する。これにより、元のインストールイメージには書き込みは行わず、書き込み変更されたブロックデータのみブロックデータリマッピング242で再配置され、メモリ103またはローカルディスク111上のファイル、または外部ファイルサーバ400に保存され、元のインストールイメージの差分のみが各場所に保管される。
図1に示すように、仮想サーバ300内では、監視モニタ(PCM)301、サーチエンジン(SE)302、およびファイルサーバ(FS)303等が稼働している。
監視モニタ301は、ファイルの再配置を制御するソフトウェアモジュールである。
サーチエンジン302は、クライアント用仮想マシン200Aのインストールイメージ内のファイルを参照し、仮想マシンのインストールイメージ内のファイルを検索することができる。サーチエンジン302は、サーチエンジン302は、クライアント用仮想マシン200Aの停止中、またはサスペンド中に、指定のパターン、ファイル名のデータがある場合には、クライアント用仮想マシン200Aの起動を停止または警告表示する。
また、ファイルサーバ303は、ローカルディスク内のファイルを管理する。
次に、図3を参照して、監視モニタ301の動作を説明する。
イニシャル(INIT)状態で、クライアント用仮想マシン200Aは起動せず、仮想サーバ300が起動する。イニシャル状態において仮想サーバ300内で稼働する監視モニタ301は、ブロックデータリマッピング242にブロックデータの取得先を指示する。ブロックデータの取得先は前回のシャットダウン時に動作モードを示す動作モード設定が仮想サーバ300内に記録される。よって、監視モニタ301は、動作モード設定を参照してブロックデータリマッピング242にブロックデータの取得先を指示する。また、監視モニタ301は仮想マシンマネージャ210に、動作モードに基づいたモードでのクライアント用仮想マシン200Aの起動を指示する。
クライアント用仮想マシン200Aの動作モードには、企業内、自宅などの外部サーバと接続(有線無線を問わない)をしている管理モードと、外部サーバと切断されたモバイル(MOBILE)モードとがある。監視モニタ301は、ブロックデータリマッピング242にそれぞれの動作モードに応じたブロックデータ(ローカルディスクとの差分)の保管場所の指示を行う。
管理モードでは、ユーザデータの参照先が外部ファイルサーバに設定されたシステムデータを用いて起動する。また、モバイルモードでは、ユーザデータ内のクライアント用仮想マシン200Aの起動に必要なファイルの参照先が、仮想サーバに設定されたシステムデータを用いて起動し、アドミニストレータが許可(設定)したファイルが内部ファイルサーバに保存される。
仮想マシンマネージャ210がクライアント用仮想マシン200Aを起動する間、監視モニタ301はアイドル(IDLE)状態で待機する。クライアント用仮想マシン200Aの起動が完了すると、監視モニタ301は、動作モード設定に応じた状態(モバイル状態、或いはアクティブ(ACTIVE)状態)に遷移する。
動作モード設定が管理モードの場合、監視モニタ301はアクティブ状態に遷移する。アクティブ状態では、監視モニタ301は、時間T1でタイムアウトするタイマを設定する。
アクティブ状態において、監視モニタ301は、外部ファイルサーバとの間で定期的にキープアライブ(KeepAlive)を送受信する。外部サーバからの応答が、ある時間T1の間の存在しない場合は、監視モニタ301は、ウエイト(WAIT)状態に遷移する。
ウエイト状態の場合、外部サーバとの通信が一時的にできないことを考慮し、監視モニタ301は、ブロックデータリマッピング242による書き込み先をローカルディスクに変更する。また、時間T2×N1でタイムアウトし、時間T2毎に時間の経過を監視モニタ301に通知するタイマを設定する。
ウエイト状態において、外部サーバからの応答が有ると、監視モニタ301は、時間T2×N1でタイムアウトするタイマをリセットし、アクティブ状態に遷移する。
ウエイト状態の間は、コンピュータ10での作業を中断することなく使用は可能である。ただし、設定された時間T2毎にクライアント用仮想マシン200A上のユーザインタフェースに警告表示またはコンピュータ10に設けられているLEDを点滅させて警告表示する。
警告しても外部サーバからの応答がなく、最後に外部ファイルサーバの応答を受けてから時間T2×N1時間が経過すると、監視モニタ301は仮想マシンモニタ230に対してクライアント用仮想マシン200Aのロックを指示する。仮想マシンモニタ230は、CPUスケジューリング、メモリアロケート、I/O制御を一時的に停止し、クライアント用仮想マシン200Aに対してサスペンド(SuspendtoRAM)を要求する。また、監視モニタ301は、時間T3でタイムアウトするタイマを設定する。
監視モニタ301はロック(LOCK)状態に遷移する。ロック状態では、システム全体の電源はオン状態であり、仮想マシンモニタ230および、仮想サーバ300は動作している。クライアント用仮想マシン200Aは休止状態であり、クライアント用仮想マシン200Aが使用しているメモリ内容をローカルディスクの仮想マシンモニタ230が管理する領域に保存する。
ロック状態において、ユーザがコンピュータのレジューム処理の要求を行ったら、クライアント用仮想マシン200Aは先ほど保存したメモリ内容をロードし、クライアント用仮想マシン200Aをレジュームする。そして、監視モニタ301はウエイト状態に戻る。また、ウエイト状態に戻る際、監視モニタ301は時間T2×N1でタイムアウトするタイマをリセットし、時間T1でタイムアウトするタイマを設定する。
サスペンドした状態のロック状態からアクティブ状態にならない場合、時間T3が経過すると、監視モニタ301は、先ほどローカルディスクに保存したメモリ内容とブロックデータリマッピング242によって保存されたブロックデータを削除するよう、ブロックデータリマッピング242に指示する。ブロックデータリマッピング242がメモリ内容とブロックデータを削除する間、監視モニタ301はパージ(PURGE)状態に遷移する。ブロックデータリマッピング242がメモリ内容およびブロックデータを削除すると、監視モニタ301は、次回起動時にモバイルモードでクライアント用仮想マシン200Aを起動することを示す起動モード設定を監視モニタ301内に記録してからシステム全体をシャットダウンして、イニシャル(INIT)状態に遷移する。
また、アクティブ状態からユーザがコンピュータのサスペンド処理、またはシャットダウン処理を要求をした場合、監視モニタ301は仮想マシンモニタ230に対してクライアント用仮想マシン200Aのロックを指示する。仮想マシンモニタ230は、CPUスケジューリング、メモリアロケート、I/O制御を一時的に停止し、クライアント用仮想マシン200Aに対してサスペンド(SuspendtoRAM)を要求する。そして、監視モニタ301は、仮想マシンマネージャ210にクライアント用仮想マシン200Aのサスペンドまたはシャットダウンを要求する。
以上の処理で、監視モニタ301は、一定時間外部サーバとの通信が切断され、企業内等からのLANから離脱したと判断するとモード変更せずに持ち出されたと判断し、パージ(PURGE)状態となりモバイルモードとなる。この時、使用していたデータ、ファイル、メモリ上のデータはローカルディスクから削除され、外部へのデータの持ち出しを防止する。
また、モバイル状態であるコンピュータ10を、LANに接続し、所定のデータを取得するには、モードを管理モードに変更しなければ、外部サーバのデータと、それまで管理モードで作業していたデータを参照できない。モバイル状態で取得したデータ、ダウンロードしたファイル等を管理モードで管理するデータに承認なしに入れることができない。
次に、図4および図5のフローチャートを参照して、アクティブ状態およびウエイト状態におけるブロックデータリマッピング242の基本動作を説明する。また、図6を参照して、ブロックデータリマッピング242が管理するデータ構造を説明する。
仮想マシン200からディスクへのリード/ライトの要求はリクエストブロックリスト(RBL)で渡される。リクエストブロックリストは複数のリクエストブロック(RB)のリストからなり、リクエストブロックにはディスクの論理ブロックアドレスLBA(Logical Block Addressing)と要求ブロック番号RBN、リード/ライト属性を含む構造体である。リクエストブロックリストは、ディスクコントロールエミュレータ241からブロックデータリマッピング242に渡され、ブロックデータリマッピング242はリクエストブロックリストを取得する(ステップS11)。
ブロックデータリマッピング242は、リクエストブロックリストから1つずつリクエストブロックを取り出し(ステップS12)、リクエストブロックが有効か否かをチェックする(ステップS13)。無効またはリクエストブロックが無い場合(ステップS13のNo)、そのままブロックデータリマッピング242の処理は終了する。
リクエストブロックが有効な場合(ステップS13のYes)、ブロックデータリマッピング242は、取り出したリクエストブロックの中からLBAを取り出し、ハッシュ値HAの計算を行う(ステップS14)。ハッシュテーブルにはインデックスリスト(index-list)へのポインタがある。ブロックデータリマッピング242は、ハッシュ値HAからポインタを参照することによって、そのインデックスリストを取り出す(ステップS15)。インデックスリスト中にインデックス(index)がない場合(ステップS16のYes)、ブロックデータリマッピング242は、クライアント用仮想マシン200Aからの要求がリードであるか否かを判別する(ステップS31)。要求がリードの場合(ステップS31のYes)、ディスクコントロールエミュレータ241は、リクエストブロックの内容をディスクコントロールエミュレータ241へ戻し、ローカルディスクからリードを実行する(ステップS39)。
リード要求ではない場合(ライト要求の場合)(ステップS31のNo)、インデックスブロックを新たに取得し(ステップS32)、ブロック数NBに応じたライトデータ分のエリアを確保する(ステップS33)。確保した場所のMAPOFFSETと書き込みブロック数NBをインデックスブロックに設定する。そのインデックスブロックをハッシュ値が同じインデックスリスト中に追加する(ステップS35)。そして、ブロックデータリマッピング242は、再配置先にデータを書き込み指示する(ステップS36)。そして、ブロックデータリマッピング242は、再配置先が外部サーバであるか否かを判別する(ステップS37)。再配置先が外部サーバの場合(ステップS37のYes)、ブロックデータリマッピング242は、インデックス中のMEMORYフラグを有効にし、外部サーバに転送指示をする。
インデックスが存在する場合(ステップS16のNo)、ブロックデータリマッピング242は、インデックスブロックに含まれるLBAと一致するか否かを判別する(ステップS17)。一致しない場合(ステップS17のNo)、ブロックデータリマッピング242は、次のインデックスブロックをインデックスリストから取り出し(ステップS15)、再度LBAが一致するインデックスを探す。LBAと一致するインデックスがあった場合、ブロックデータリマッピング242は、インデックス中にMEMORYフラグが有効であるか否かを判別する(ステップS18)。有効な場合(ステップS18のYes)、ブロックデータリマッピング242は、メモリに対してリード/ライトを実行するようメモリ上でのデータが存在するオフセットアドレス(MAPOFFSET)とブロック数(NB)をディスクコントロールエミュレータ241に渡し、ディスクコントロールエミュレータ241がリード/ライトを実行する(ステップS20)。この時、リードであった場合、次のリクエストブロックを処理する。そして、ブロックデータリマッピング242はクライアント用仮想マシン200Aからの要求がリードであるか否かを判別する(ステップS21)。リードではない場合(ステップS21のNo)、またはMEMORYフラグが有効ではない場合(ステップS18のNo)、ブロックデータリマッピング242は、インデックス中のLBAとNBとをディスクコントロールエミュレータ241に渡す。ディスクコントロールエミュレータ241は、LBAとNBとに基づいて、ローカルディスクに対してリード/ライトを実行する(ステップS19)。
上述したように、監視モニタで外部サーバとの接続を定期的にチェックし、応答がない場合にはクライアントOSの動作に関わらず、ロック、パージすることで、ローカルディスクにデータを残さず、コンピュータを持ち出されても機密情報の漏洩を防止できる。ユーザのモード変更忘れにも対処できる。
(システム構成)
次に、図7を参照して、本コンピュータのシステム構成について説明する。
本コンピュータは、図7に示されているように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクス・プロセッシング・ユニット(GPU)105、ビデオメモリ(VRAM)105A、サウンドコントローラ106、BIOS−ROM109、LANコントローラ110、ハードディスクドライブ(HDD)111、DVDドライブ112、PCIデバイス114、モデム115、IEEE 1394コントローラ116、およびエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)117等を備えている。
CPU101は本コンピュータ10の動作を制御するプロセッサであり、ハードディスクドライブ(HDD)111から主メモリ103にロードされる、各種アプリケーションプログラムを実行する。また、CPU101は、BIOS−ROM109に格納されたシステムBIOS(Basic Input Output System)も実行する。BIOSはハードウェア制御のためのプログラムである。
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリー・コントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるディスプレイ117を制御する表示コントローラである。このGPU105によって生成される表示信号はディスプレイ117に送られる。
サウスブリッジ104は、LPC(Low Pin Count)バス上のレガシーデバイス18を含む各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ104は、ハードディスクドライブ(HDD)111およびDVDドライブ112を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18に出力する。USBコントローラ113は、USB規格のシリアルバスを介して外部機器との通信を実行する。IEEE 1394コントローラ116は、IEEE 1394規格のシリアルバスを介して外部機器との通信を実行する。モデム115は、電話回線を介してなどのアナログ回線を通じてデータ通信を行うための信号変換装置である。
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。さらに、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)116は、リモコンユニットインタフェース20との通信を実行する機能を有している。
上記デバイスの内、GPU105,LANコントローラ110、HDD11およびDVDが接続されるIDE(Integrated Drive Electronics)コントローラ、USBコントローラ113,IEEE1394コントローラ116,モデム115、その他PCIデバイス114などは、PCIデバイスとして接続されている。CPU101からは、PCIの規格に沿った形で上記デバイスにアクセスし、動作する。
本コンピュータは、インテル(登録商標)のダイレクトI/Oテクノロジー(VT−d)」をサポートした装置である。VT−dでは,I/Oを仮想化する技術である。VT−dは、特に,チップ・セット、I/Oコントローラ,メモリー・コントローラの部分を担っている。
I/Oデバイスの仮想化にはいくつかの手法があるが、VT−dをサポートしている本装置では、パススルー・モデルを用いて、I/Oデバイスを仮想化する。パススルー・モデルでは、仮想マシンモニタがI/Oデバイスを直接仮想マシンに割り当てることができる。例えば、仮想マシンごとに専用のSCSIカードやネットワーク・カードなどを用意し、それらを1つずつ仮想マシンに割り当てる。また、デバイスマネージャは、PCIデバイスの初期化制御を行う。
以下に、仮想マシンの起動、およびI/Oデバイスの割り当てについて説明する。
図8は、H/Wデバイスを管理するデバイスマネージャの構成および仮想マシン、仮想マシンモニタとの関連を示す。
図9、図10、図11、図12は、コンピュータ10の起動(電源ONによる)から仮想マシン実行までの動作フローを示す。
ユーザがパワーボタンを押下操作することによってウェイクアップイベントが発生すると、CPU102はBIOS−ROM109に搭載されているBIOSによってPOST(Power-On Self Test)処理を実行する(ステップS41)。POST処理が終了すると、起動したブートローダは、通常ならばOSをロードするが、このPCは、ブートローダは、仮想マシンマネージャ210、デバイスマネージャ220、仮想マシンモニタ230をロード、起動する(ステップS44)。
ここで、仮想マシンの起動指示(通常のOS起動と同じ)があると、仮想マシンマネージャ210は、起動するユーザ情報を決定する(ステップS45)。PCのIDや、予め設定されたユーザ名などからユーザを決定すると、仮想マシンマネージャ210は、ハードディスクドライブからインストールイメージを取得する(ステップS51)。なお、すべてロードするのではなく、仮想マシンが初期起動するために必要なローダ、システムファイル、ドライバ等をロードする。同時に仮想マシンマネージャは、デバイスマネージャ220にユーザに適したデバイスを構築するように指示する。
デバイスマネージャ220は、ユーザ情報からデバイスプロファイル250をロードし(ステップS61)、デバイスプロファイルに応じたデバイスモデル211を構成する(ステップS62)。デバイスプロファイル250の例を図13に示す。デバイスモデルの構成は、デバイスモデル生成部221がBIOSのACPI情報からコンピュータ10が持つ実際のHWデバイス情報を取得し、プロファイル情報と照合して構成する。例えば、ACPI情報にUSBデバイスが存在することが記述されていた場合、プロファイル情報にDeviceTypeがUSBであるリストがあるか探し、リストに存在する場合にはそのUSBデバイスを仮想マシンが使用するように図14のデバイスモデル構成リストを構成する。ACPI情報にデバイスが存在していても、デバイスプロファイルに同じタイプのデバイスが存在しない場合には、デバイスモデル構成リストには追加しない。また、デバイスプロファイルにあって、ACPI情報にない場合も同様である。すべてのデバイスについて確認が終了すると図15に示すような仮想デバイスモデルが構成される。図15に示すように、ホストブリッジ270にバス0を介してグラフィクス・プロセッシング・ユニット105V、USBコントローラ113V、およびPCI−PCIブリッジ280が接続されている。PCI-PCIブリッジ280にバス1を介してIEEE1394コントローラ116Vが接続されている。バス1にPCI−PCIブリッジ290を介してISAバスが接続されている。ISAバスにキーボード/マウスコントローラ117Vが接続されている。
図15に示す仮想デバイスモデルを作成するにあたって、デバイスマネージャ220は、実コンピュータのデバイス(バスNo.、デバイスID, Function ID)と同じになるように構成し、そこに新に追加するデバイスがあれば、デバイスIDが重ならないように追加、隠蔽すべきデバイスがあればそのデバイスを削除する。これにより、プリインストールイメージのオペレーティングシステムおよびドライバを再構成せずに仮想環境で起動できるようになる。
デバイスマネージャ220は、図14に示すデバイスモデル構成リストに従って、仮想マシンモニタ230に対しデバイスの登録を行う(ステップS63)。登録の際、デバイスマネージャ220は、PCIデバイスBUS番号、PCIデバイスDevice番号、PCIデバイスFunction番号、使用するI/Oポートアドレス(PIOおよびMMIO)、仮想I/Oポートアドレス(PIOおよびMMIO)のIOMAP情報、また、割込み番号(IRQ)、仮想割込み番号(VIRQ)を仮想マシンモニタ230に通知する。
また、デバイスマネージャ220は、仮想マシン上のSMBIOS、拡張BIOS、およびVIDEO BIOSのアドレス空間を、実マシンのメモリ空間に割り当てられているSMBIOS、拡張BIOS、およびVIDEO BIOSのアドレスと一致するようにするための情報をデバイスモデルに加える。
SMBIOSはユーザ、オペレーティングシステム、アプリケーション等がコンピュータに特有な情報を不揮発性メモリに格納した情報のコピーであり、オペレーティングシステム、アプリケーション等はSMBIOSに格納されている情報を利用することができる。SMBIOSはC000h〜FFFFHの範囲にマッピングされる。拡張BIOSは、PCIスロット等に装着された拡張カード上に内蔵されたBIOSである。拡張BIOSブート時にメモリ上のC000h〜DFFFHの範囲にマッピングされる。VIDEO BIOSは、GPU105が設けられた拡張カードに設けられたVideo Video BIOSに高速にアクセスするためにC000h〜DFFFhにマッピングされたシャドーである。
登録が終了すると、デバイスマネージャ220は、仮想マシンマネージャ210にクライアント用仮想マシン200Aの起動を指示する(ステップS64)。仮想マシンマネージャ210は、指示に応じてサーバ240からダウンロードした仮想マシンを起動する(ステップS52)。起動したクライアント用仮想マシン200Aは、オペレーティングシステム(OS)起動時の初期化の課程で、デバイスドライバのロード(ステップS53)、デバイスドライバの初期化を実行する(ステップS54)。そして、オペレーティングシステムの起動後、仮想マシン内でアプリケーションが起動する(ステップS55)。デバイスドライバの初期化時やアプリケーションからPIOアクセスがあった場合、仮想マシンモニタは、アクセスをトラップする(ステップS57)。
仮想マシンモニタ230は、このIOMAPの登録により、クライアント用仮想マシン200AからPCIデバイスへのPCIコンフィグレーション空間へのアクセスやポートI/Oへのアクセスまたは割込みが発生した場合、アクセスをトラップし(ステップS57)、登録のアドレスへ変換してアクセスする。
I/Oポートへのアクセスのうち、PCIコンフィグレーション空間へのアクセスの場合、仮想マシンモニタ230は、デバイスマネージャ220をコールし、デバイスマネージャ220がPCIコンフィグレーション空間へのアクセスを代行する。このアクセスの代行の場合、二つのアクセス方法が有る。そのため、デバイスマネージャは、PCIコンフィグレーションにアクセスするデバイスを特定する(ステップS65)。そして、特定したデバイスがパススルーデバイスへのアクセスであるか否かを判別する(ステップS66)。パススルーデバイスへのアクセスであると判断した場合(ステップS66のYES)、、実際のPCIデバイスのコンフィグレーション空間にアクセスする(ステップS67)。また、パススルーデバイスへのアクセスでは無いと判断した場合(ステップS66のNO)、そのコンフィグレーション空間をコピーしたダミーのエリアがデバイスマネージャ220内にあり、直接アクセスする必要がないデバイス、他の仮想マシンと共有しているデバイスは、ダミーのエリアに対してリード/ライトを行う。
また、MMIOおよびDMA転送については、仮想マシンからの要求に対して、アドレス変換ユニット260がアドレス変換情報に従って、仮想物理アドレスからマシンアドレスへ変換しアクセスする。このアドレス変換ユニット260は、メモリー・コントローラが設けられているデバイスに設けられる。アドレス変換ユニット260は、I/Oメモリ管理ユニット(IOMMU)261とDMARU(DMA Remapping Unit)262とを有する。I/Oメモリ管理ユニット(IOMMU)261は、クライアント用仮想マシン200Aが主メモリ上のMMIOエリアにアクセスする場合に用いられる。この場合、仮想マシン側からは通常のデバイスを使用しているのと何ら変わらないので、仮想マシンのデバイスドライバを直接利用して仮想マシンから利用できるようになる。
また、DMARU262は、クライアント用仮想マシン200Aに割り当てられているメモリ空間とDMA転送する場合に用いられる。図16はアドレス変換の様子を示す。図16に示すように、仮想マシン物理アドレス空間上のページメモリ、並びにPCIデバイス1、PCIデバイス2、およびPCIデバイス3のMMIOエリアと、実マシンアドレス空間上のページメモリ、並びにPCIデバイス1、PCIデバイス2、およびPCIデバイス3のMMIOエリアとの変換が、仮想マシンモニタ、I/Oメモリ管理ユニット(IOMMU)261、DMARU(DMA Remapping Unit)262とよって行われる。
図16に示すように、仮想マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSと実マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSとは、アドレス変換ユニット260経由で等化的に1:1のアドレスにマッピングされている。
IBM PCの標準的なアーキテクチャでは、セグメント000h〜9FFFhまでがRAM、A000H〜BFFFHまでがビデオメモリやビデオBIOS、C000H〜FFFH迄が拡張BIOS等の予約領域として設計されている。
上述したSMBIOS、拡張BIOS、およびVIDEO BIOSは、アプリケーションがオペレーティングシステムがインストール時にそれぞれの使用する領域がマッピングされる。従って、SMBIOS、拡張BIOS、およびVIDEO BIOSのアドレスが仮想マシンでのアドレス空間と実マシン上でのアドレス空間のアドレスが異なると、アプリケーションやオペレーティングシステムはSMBIOS、拡張BIOS、およびVIDEO BIOSにアクセスすることができなくなる。
上述したように、仮想マシンでのアドレス空間と実マシン上でのアドレス空間のアドレスを等化にマッピングすることで、実マシンと同じ内容を仮想マシンから参照、実行することができるようになる。
なお、図17に示すように、仮想マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSと実マシンの物理アドレス空間上のSMBIOS、拡張BIOS(Ext. BIOS)、およびVIDEO BIOSとは、アドレス変換ユニット260経由で等化的に1:1のアドレスにマッピングされて無くても良い。図17に示すアドレス変換例では、コンピュータ毎にSMBIOS、拡張BIOS、VIDEO BIOS等が割り当てられるアドレスが異なることがあり、別のコンピュータで作られたイメージを用いてシステムを起動することができない場合がある。
また、仮想マシンは、起動時にPCIやレガシーデバイスのプローブ(検索)を行う時に、デバイスへアクセスすると、実マシンのデバイスではなく、図15の仮想デバイスモデルのデバイスへアクセスし、そのモデルのデバイス構成で仮想マシンは起動する。
コンピュータ10側に仮想マシンモニタ、デバイスマネージャによって仮想マシンに直接マッピング可能なデバイスを割り当て、実メモリ空間と仮想マシン内でのメモリ空間とのアドレス変換をハードウエアで行うことによって、仮想マシンのI/O性能、操作性が飛躍的に向上する。その結果、マルチメディアを扱うアプリケーションやCADなどの高速描画行うの動作が可能となる。
また、仮想マシンのI/Oエミュレーションが不要になり、エミュレーションが対応していないなどの理由で使用できなかったデバイスが、仮想マシンのデバイスドライバを直接利用して仮想マシンから利用できるようになる。
ユーザ毎にデバイスプロファイルを用意することによって、使用できるI/Oデバイスが指定でき、OS(仮想マシン)からは認識できるI/Oが限られ、ユーザがデバイスドライバをインストールなどして故意にデバイスを有効しようとしても不可能ため、情報漏洩等の防止に役立つセキュリティ対策ができる。
仮想マシンのイメージを別のサーバでロード・起動することにより、ユーザ毎の環境設定がコンピュータのH/Wを変えてもインストール、再設定の作業をせずに利用できる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
200…仮想マシン,200A…クライアント用仮想マシン,210…仮想マシンマネージャ,211…デバイスモデル,220…デバイスマネージャ,221…デバイスモデル生成部,230…仮想マシンモニタ,240…サーバ,241…ディスクコントロールエミュレータ,242…ブロックデータリマッピング,243…暗号化エンジン,300…仮想サーバ,301…監視モニタ,302…サーチエンジン,303…ファイルサーバ,400…外部ファイルサーバ。

Claims (6)

  1. 計算機であって、
    ローカルディスクと、
    メモリと、
    前記計算機内で動作する仮想マシンモニタと、
    仮想マシンモニタ上で稼働し、クライアント用仮想マシンと前記クライアント用仮想マシンからアクセス可能な内部ファイルサーバが稼働するファイルサーバ仮想マシンとを含む複数の仮想マシンと、
    前記ローカルディスクの一部と前記メモリの一部とを管理し、前記複数の仮想マシンの起動を制御する仮想マシンマネージャと、
    ネットワークを介して外部ファイルサーバが稼働する外部サーバと通信ができるか否かを監視する監視手段と、
    前記監視手段が通信できないと判断するまでは前記クライアント用仮想マシンからのファイルのアクセスを前記外部サーバまたは前記内部ファイルサーバに対して行い、前記監視手段が通信できると判断してから第1の時間の間に通信できないと判断した場合に、前記仮想マシンマネージャが管理する前記ローカルディスクの一部またはメモリの一部に対して前記クライアント用仮想マシンからのファイルのライトアクセスを行うアクセス制御手段と、
    前記監視手段が前記監視手段が通信できると判断してから前記外部サーバと前記第1の時間より長い第2の時間の間に通信できないと判断した場合に、前記ローカルディスクの一部またはメモリの一部にライトアクセスされたファイルを削除するファイル削除手段と
    を具備することを特徴とする計算機。
  2. 前記ローカルディスクの一部またはメモリの一部にライトアクセスされたファイルを暗号化する暗号化手段を更に具備することを特徴とする請求項1に記載の計算機。
  3. 前記監視手段は、前記外部ファイルサーバと設定された時間の間に通信できないことを検出した場合に、前記仮想マシンマネージャに前記クライアント用仮想マシンの強制終了またはサスペンドを指示し、
    前記仮想マシンマネージャは、前記監視手段からの指示に応じて前記クライアント用仮想マシンを強制終了またはサスペンドすることを特徴とする請求項1に記載の計算機。
  4. デバイスプロファイルと前記計算機に設けられたI/Oデバイス構成とに応じて、前記クライアント用仮想マシンに対してI/Oデバイスを割り当てる情報を含むデバイスモデルを作成するデバイスマネージャと、
    前記クライアント用仮想マシンが前記割り当てられたI/OデバイスにMMIOアクセスするためのアドレス変換、および前記割り当てられたI/Oデバイスと前記クライアント用仮想マシンとの間でDMA転送を行うためのアドレス変換を行うためのアドレス変換回路を有するメモリコントローラとを更に具備し、
    前記仮想マシンモニタは、前記デバイスモデルに基づいて前記クライアント用仮想マシンに前記I/Oデバイスを割り当て、
    前記デバイスモデルに応じて、前記アドレス変換回路を用いて前記アクセスまたは前記DMA転送を行うことを特徴とする請求項1に記載の計算機。
  5. 前記計算機に設けられたI/Oデバイスと、システムBIOS(Basic Input/Output System)と別のBIOSとをメモリ空間に割り当てる割り当て手段を更に具備し、
    前記デバイスマネージャは、前記クライアント用仮想マシンのアドレス空間上の前記別のBIOSのアドレスを前記割り当て手段が割り当てたアドレスと同一のアドレスに割り当てるための情報とを含むデバイスモデルを作成し、
    前記クライアント用仮想マシンは、前記別のBIOSにアクセスする場合、前記アドレス変換回路を用いてアクセスすることを特徴とする請求項4に記載の計算機。
  6. ローカルディスクと、メモリと、仮想マシンモニタ上で稼働する、ユーザ用仮想マシンおよび前記クライアント用仮想マシンからアクセス可能な内部ファイルサーバが稼働するファイルサーバ仮想マシンを含む複数の仮想マシンと、前記ローカルディスクの一部と前記メモリの一部とを管理し、前記複数の仮想マシンの起動を制御する仮想マシンマネージャとを有する計算機のアクセス制御方法であって、
    前記複数の仮想マシンの一つはクライアント用仮想マシンであり、
    前記複数の仮想マシンの一つは前記クライアント用仮想マシンからアクセス可能な内部ファイルサーバが稼働するファイルサーバ仮想マシンであって、
    前記アクセス制御方法は、
    ネットワークを介して外部ファイルサーバが稼働する外部サーバと通信ができるか否かを監視し、
    前記外部サーバと通信できないと判断するまでは前記外部ファイルサーバまたは前記内部ファイルサーバ内のファイルにアクセスし、
    前記外部サーバと通信できると判断してから第1の時間の間に通信できないと判断した場合に前記仮想マシンマネージャが管理する前記ローカルディスクの一部または前記メモリの一部に対して前記クライアント用仮想マシンからのファイルのライトアクセスを行い
    前記外部サーバと通信できると判断してから前記第1の時間より長い第2の時間の間に通信できないと判断した場合に、前記ローカルディスクの一部または前記メモリの一部にライトアクセスされたファイルを削除する
    ことを特徴とするアクセス制御方法。
JP2009110092A 2009-04-28 2009-04-28 計算機およびアクセス制御方法 Active JP4665040B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009110092A JP4665040B2 (ja) 2009-04-28 2009-04-28 計算機およびアクセス制御方法
US12/763,056 US8032883B2 (en) 2009-04-28 2010-04-19 Controlling access from the virtual machine to a file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009110092A JP4665040B2 (ja) 2009-04-28 2009-04-28 計算機およびアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2010257430A JP2010257430A (ja) 2010-11-11
JP4665040B2 true JP4665040B2 (ja) 2011-04-06

Family

ID=42993260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009110092A Active JP4665040B2 (ja) 2009-04-28 2009-04-28 計算機およびアクセス制御方法

Country Status (2)

Country Link
US (1) US8032883B2 (ja)
JP (1) JP4665040B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101173415B1 (ko) * 2010-05-11 2012-08-10 엘에스산전 주식회사 에너지 표시장치 및 그 방법
ES2415832T3 (es) * 2010-06-03 2013-07-29 Telefonaktiebolaget L M Ericsson Ab (Publ) Dispositivo de procesamiento
JP4922443B2 (ja) * 2010-08-26 2012-04-25 株式会社東芝 コンピュータシステム、情報処理装置およびセキュリティ保護方法
JP2012203805A (ja) * 2011-03-28 2012-10-22 Mitsubishi Electric Corp 情報管理装置及び情報管理システム及び情報管理方法及びプログラム
JP5733628B2 (ja) * 2011-09-29 2015-06-10 株式会社日立製作所 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
JP5812915B2 (ja) * 2012-03-28 2015-11-17 京セラ株式会社 携帯端末、データ管理方法およびデータ管理プログラム
US9213564B1 (en) * 2012-06-28 2015-12-15 Amazon Technologies, Inc. Network policy implementation with multiple interfaces
US9384158B2 (en) 2014-03-14 2016-07-05 International Business Machines Corporation Dynamic universal port mode assignment
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US10747730B2 (en) * 2014-10-10 2020-08-18 Sap Se Providing extended file storage for applications
US9766918B2 (en) 2015-02-23 2017-09-19 Red Hat Israel, Ltd. Virtual system device identification using GPU to host bridge mapping
CN105656904A (zh) * 2016-01-20 2016-06-08 佛山市瑞马克建材科技有限公司 一种企业信息数据防外泄系统
US11579861B2 (en) 2016-02-12 2023-02-14 Nutanix, Inc. Virtualized file server smart data ingestion
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
CN108008911A (zh) * 2016-11-01 2018-05-08 阿里巴巴集团控股有限公司 读写请求处理方法及装置
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10728090B2 (en) * 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US10223149B2 (en) * 2016-12-15 2019-03-05 Intel Corporation Implementing device models for virtual machines with reconfigurable hardware
CN109669757A (zh) * 2017-10-16 2019-04-23 中兴通讯股份有限公司 虚拟机删除方法及装置
US11182187B2 (en) * 2018-04-17 2021-11-23 Red Hat Israel, Ltd. Dynamic network connectivity verification in distributed virtual environments
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN113296876B (zh) * 2020-06-30 2022-05-06 阿里巴巴集团控股有限公司 虚拟机的设备直通方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337736A (ja) * 2002-05-20 2003-11-28 Hitachi Ltd 計算機、ハードディスク装置、複数の該計算機及び共有ハードディスク装置から構成されるディスク装置共有システム、及び該共有システムにおいて利用されるディスク装置の共有方法
JP2007233989A (ja) * 2006-02-06 2007-09-13 Fujitsu Business Systems Ltd 情報漏洩防止プログラム、情報漏洩防止方法および情報漏洩防止装置
JP2007316789A (ja) * 2006-05-24 2007-12-06 Takashi Kato クライアントシステム、サーバシステム、これらの制御方法、制御プログラム、データ消去システム及び方法
JP2008305287A (ja) * 2007-06-11 2008-12-18 Hitachi Ltd ユーザ操作端末の記憶装置情報制御方式

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127094A (en) * 1987-11-09 1992-06-30 Hitachi, Ltd. Virtual storage type computer system
JP2004258840A (ja) * 2003-02-25 2004-09-16 Hitachi Ltd 仮想化されたi/oデバイスをもつ計算機システム
US7246174B2 (en) * 2003-10-28 2007-07-17 Nacon Consulting, Llc Method and system for accessing and managing virtual machines
US7506170B2 (en) * 2004-05-28 2009-03-17 Microsoft Corporation Method for secure access to multiple secure networks
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
JP4784105B2 (ja) 2005-02-01 2011-10-05 富士ゼロックス株式会社 情報処理装置およびその制御方法、情報管理システム
JP4756902B2 (ja) 2005-04-27 2011-08-24 グローバルフレンドシップ株式会社 情報漏洩防止システム
US8086873B2 (en) * 2006-06-05 2011-12-27 Lenovo (Singapore) Pte. Ltd. Method for controlling file access on computer systems
JP5089429B2 (ja) * 2008-02-21 2012-12-05 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US20090276774A1 (en) * 2008-05-01 2009-11-05 Junji Kinoshita Access control for virtual machines in an information system
JP5035182B2 (ja) * 2008-08-27 2012-09-26 富士通株式会社 アクセス制御システム、アクセス制御方法、アクセス制御プログラム、及びアクセス制御プログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337736A (ja) * 2002-05-20 2003-11-28 Hitachi Ltd 計算機、ハードディスク装置、複数の該計算機及び共有ハードディスク装置から構成されるディスク装置共有システム、及び該共有システムにおいて利用されるディスク装置の共有方法
JP2007233989A (ja) * 2006-02-06 2007-09-13 Fujitsu Business Systems Ltd 情報漏洩防止プログラム、情報漏洩防止方法および情報漏洩防止装置
JP2007316789A (ja) * 2006-05-24 2007-12-06 Takashi Kato クライアントシステム、サーバシステム、これらの制御方法、制御プログラム、データ消去システム及び方法
JP2008305287A (ja) * 2007-06-11 2008-12-18 Hitachi Ltd ユーザ操作端末の記憶装置情報制御方式

Also Published As

Publication number Publication date
US8032883B2 (en) 2011-10-04
US20100275205A1 (en) 2010-10-28
JP2010257430A (ja) 2010-11-11

Similar Documents

Publication Publication Date Title
JP4665040B2 (ja) 計算機およびアクセス制御方法
US8924703B2 (en) Secure virtualization environment bootable from an external media device
US8595723B2 (en) Method and apparatus for configuring a hypervisor during a downtime state
JP2009259108A (ja) 情報処理装置および情報処理装置の制御方法
US8909946B2 (en) Efficient power management of a system with virtual machines
US10067777B2 (en) Supporting multiple operating system environments in computing device without contents conversion
CN102541619B (zh) 虚拟机管理装置和方法
US20130174151A1 (en) Information processing apparatus and method of controlling virtual machine
JP2008530706A (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
JP2009145931A (ja) 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
JP2012009013A (ja) 部分仮想化マシンに基づく統一格納装置
US9672055B2 (en) Information processing system having two sub-systems with different hardware configurations which enable switching therebetween
US9753739B2 (en) Operating system management of second operating system
US20060070065A1 (en) Memory support for heterogeneous virtual machine guests
JP2011514992A (ja) 仮想化技術を利用したデータ入出力方法及び装置
JP6242502B2 (ja) 仮想計算機システムの制御方法及び仮想計算機システム
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
JP2005182615A (ja) エミュレーションシステムおよびエミュレーション方法
JP2024512960A (ja) ページ移行を提供するためのシステム及び方法
JP2010128943A (ja) 情報処理装置および情報処理装置の制御方法
KR20210061108A (ko) 가상화 시스템 및 그 시스템에서의 호스트와 게스트 사이의 데이터 교환 방법
WO2022100693A1 (zh) 一种地址转换关系的配置方法及计算机系统
Bem Virtual machine for computer forensics–the open source perspective
JP5468490B2 (ja) 仮想化環境が実現されているコンピュータにおいてディスク・ドライブにアクセスする方法およびコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110107

R151 Written notification of patent or utility model registration

Ref document number: 4665040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350