(57)【要約】仮想マシン（ＶＭ）のデータへアクセスするための方法およびデバイスが説明される。仮想マシンへアクセスするためのコンピューティングデバイスは、アクセス要求処理モジュール、データ転送プロキシモジュール、および仮想ディスクを備える。アクセス要求処理モジュールは、ＶＭによって送信されるデータアクセス要求を受信し、要求アレイへデータアクセス要求を追加する。データ転送プロキシモジュールは、要求アレイからデータアクセス要求を取得し、取得されたデータアクセス要求を対応する仮想記憶ユニットへマップし、仮想記憶ユニットを分散記憶システムの対応する物理的記憶ユニットへマップする。データアクセス要求の種類に基づいて、対応するデータアクセス動作が実施されてもよい。
2014501962.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンのデータへアクセスするためのデバイスであって、
メモリと、
前記メモリへ連結された１つ以上のプロセッサと、
前記メモリ内に記憶され、仮想記憶ユニットを含む仮想ディスクと、
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能なアクセス要求処理モジュールであって、
仮想マシンからデータアクセス要求を受信し、
前記データアクセス要求を要求アレイへ追加する、アクセス要求処理モジュールと、
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能なデータ転送プロキシモジュールであって、
前記要求アレイから前記データアクセス要求を取得し、
前記データアクセス要求を記憶システムの物理的記憶ユニットに対応する仮想記憶ユニットへマップする、データ転送プロキシモジュールと、
を備える、デバイス。
【請求項２】
前記データ転送プロキシモジュールは、前記データアクセス要求に含まれる要求の種類に基づいて、前記データアクセス要求に関連付けられるデータに関してデータアクセス動作を更に実施する、請求項１に記載のデバイス。
【請求項３】
前記アクセス要求処理モジュールは、キャッシュ記憶装置が前記仮想マシンからの前記データアクセス要求の前記受信後に、前記データアクセス要求に関連付けられるデータを保持することを更に決定し、その後、前記データ転送プロキシモジュールが前記キャッシュ記憶装置から前記データを取得する、請求項１に記載のデバイス。
【請求項４】
前記データ転送プロキシモジュールは、キャッシュ記憶装置が前記要求アレイからの前記データアクセス要求の前記取得後に、前記データアクセス要求に関連付けられるデータを保持することを決定し、その後、前記キャッシュ記憶装置から前記データを取得する、請求項１に記載のデバイス。
【請求項５】
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能なキャッシュモジュールを更に備え、前記アクセス要求処理モジュールは、キャッシュ記憶装置が前記仮想マシンからの前記データアクセス要求の前記受信後に、前記データアクセス要求に関連付けられるデータを記憶しないことを決定し、その後、前記キャッシュモジュールが前記データを記憶する前記キャッシュ記憶装置のキャッシュスロットを作成する、請求項１に記載のデバイス。
【請求項６】
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能なキャッシュモジュールを更に備え、前記データ転送プロキシモジュールは、キャッシュ記憶装置が前記要求アレイからの前記データアクセス要求の前記取得後に、前記データアクセス要求に関連付けられたデータを記憶しないことを決定し、その後、前記キャッシュモジュールが前記データを記憶する前記キャッシュ記憶装置のキャッシュスロットを作成する、請求項１に記載のデバイス。
【請求項７】
前記キャッシュ記憶装置は、ローカルメモリまたはローカル物理的ディスクを備える、請求項６に記載のデバイス。
【請求項８】
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能なデータスナップショットモジュールを更に備え、前記仮想ディスクは、元のデータの仮想ディスクパーティション、スナップショットデータの仮想ディスクパーティション、およびマッピングパーティションを備え、前記データスナップショットモジュールは、前記マッピングパーティションから前記元のデータの仮想ディスクパーティションの仮想記憶ユニットと前記スナップショットデータの仮想ディスクパーティションの仮想記憶ユニットを取得する、請求項１に記載のデバイス。
【請求項９】
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能であり、エクスポート要求が受信された後に、前記元のデータの仮想記憶ユニットおよび前記スナップショットデータの仮想記憶ユニットを、前記分散記憶システムの物理的記憶ユニットへマップする、エクスポートモジュールを更に備える、請求項８に記載のデバイス。
【請求項１０】
前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行可能であり、インポート要求が受信された後に、前記分散記憶システムの物理的記憶ユニットを、前記元のデータの仮想記憶ユニットおよび前記スナップショットデータの仮想記憶ユニットへマップする、インポートモジュールを更に備える、請求項８に記載のデバイス。
【請求項１１】
前記データスナップショットモジュールは、前記物理的記憶ユニットから前記元のデータおよび前記スナップショットデータを更に取得する、請求項８に記載のデバイス。
【請求項１２】
仮想マシンのデータへアクセスするためのコンピュータ実装方法であって、
仮想マシンからデータアクセス要求を受信することと、
要求アレイ内に前記データアクセス要求を配置することと、
前記要求アレイから前記データアクセス要求を取得することと、  
前記データアクセス要求を仮想ディスクの仮想記憶ユニットへマップすることと、
前記仮想記憶ユニットを分散記憶システム内の物理的記憶装置へマップすることと、
前記データアクセス要求に関連付けられるデータ動作を実施することと、
を含む、方法。
【請求項１３】
前記データアクセス要求は、要求の種類、データ記憶装置の初期アドレス、およびデータサイズを含む、請求項１２に記載のコンピュータ実装方法。
【請求項１４】
前記実施することは、前記要求の種類に基づいて、データ動作を実施することを含む、請求項１２に記載のコンピュータ実装方法。
【請求項１５】
前記データが前記キャッシュ記憶装置に記憶されていない場合、前記分散記憶システムから前記データを取得した後、前記データアクセス要求に関連付けられたデータを記憶するキャッシュスロットを作成することと、
前記データが前記キャッシュ記憶装置に記憶されている場合、前記キャッシュ記憶装置から前記データを取得することと、
を更に含む、請求項１２に記載のコンピュータ実装方法。
【請求項１６】
スナップショット要求が受信された後、マッピングパーティションから、元のデータの仮想ディスクパーティションの仮想記憶ユニットおよびスナップショットデータの仮想ディスクパーティションの仮想記憶ユニットを取得することと、
エクスポート要求が受信された後、前記元のデータの仮想記憶ユニットおよび前記スナップショットデータの仮想記憶ユニットを、前記分散記憶ユニットの物理的記憶ユニットへマップすることと、
前記分散記憶システムから、前記元のデータおよび前記スナップショットデータを取得することと、
を更に含む、請求項１２に記載のコンピュータ実装方法。
【請求項１７】
１つ以上のコンピュータ可読媒体であって、コンピュータのプロセッサによって実行されるときに、
仮想マシンから、分散記憶システムの物理的記憶ユニットへマップする仮想ディスクの仮想記憶ユニットへマップする、データアクセス要求を受信することと、
前記データアクセス要求に基づいて、物理的記憶ユニットからデータを取得することと、
フロントエンドキャッシュ記憶装置が前記データを記憶しないという決定に応じて、前記データを記憶するフロントエンドキャッシュスロットを作成することと、
バックエンドキャッシュ記憶装置が前記データを記憶しないという決定に応じて、前記データを記憶するバックエンドキャッシュスロットを作成することと、
を含む行為を実施する命令により符号化される、１つ以上のコンピュータ可読媒体。
【請求項１８】
前記データの取得、前記フロントエンドキャッシュスロットの前記作成、および前記バックエンドキャッシュスロットの前記作成が、同時に実施される、請求項１７に記載の１つ以上のコンピュータ可読媒体。
【請求項１９】
前記フロントエンドキャッシュスロットはローカルコンピューティングデバイスのメモリ内に位置し、前記バックエンドキャッシュスロットは１つのローカルコンピューティングデバイスの物理的ディスク上に位置する、請求項１８に記載の１つ以上のコンピュータ可読媒体。
【請求項２０】
データスナップショット要求を受信した後、前記マッピングパーティションから、元のデータの仮想ディスクパーティションの仮想記憶ユニットおよびスナップショットデータの仮想ディスクパーティションの仮想記憶ユニットを取得することと、
エクスポート要求を受信した後、前記元のデータの仮想記憶ユニットおよび前記スナップショットデータの仮想記憶ユニットを、前記分散記憶システムの物理的記憶ユニットへマップすることと、
前記分散記憶システムから前記元のデータおよび前記スナップショットデータを取得することと、
を更に含む、請求項１７に記載の１つ以上のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、「ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ  ＦＯＲ  ＡＣＣＥＳＳＩＮＧ  ＶＩＲＴＵＡＬ  ＭＡＣＨＩＮＥ  ＤＡＴＡ」の名称の２０１０年１１月１２日に申請された中国特許第２０１０１０５４２９１６．１号に対する優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
本開示はコンピュータ技術分野に関する。より具体的には、本開示は仮想マシン上のデータへアクセスするための方法およびデバイスに関する。
【背景技術】
【０００３】
仮想マシン（ＶＭ）は、ソフトウェアを使用することによりハードウェアシステム全体の機能をシミュレーションし、分離された環境で動作するコンピュータシステムである。ＶＭ技術を実装することにより、物理的コンピュータは１つ以上の仮想コンピュータをエミュレートすることができる。物理的コンピュータと同様に、ＶＭは、例えば、オペレーティングシステムおよびアプリケーションをインストールし、インターネットリソースへアクセスすることができる。
【０００４】
一般的に、ＶＭのデータはＶＭの仮想ディスクに記憶される。仮想ディスクは、ミラードキュメント、論理仮想ボリューム、論理ディスク、または論理ディスクパーティションの形式でローカル物理的コンピュータの物理的ディスクに記憶される。ＶＭは、ローカルコンピュータの物理的ディスクへアクセスすることにより、データへアクセスすることができる。例えば、ローカルコンピュータがシャットダウンされ、または損傷すると、これは問題になる場合がある。
【発明の概要】
【０００５】
本開示は、仮想マシン（ＶＭ）データへアクセスするための方法およびデバイスを提供する。ある態様においては、デバイスはアクセス要求処理モジュール、データ転送プロキシモジュール、および仮想ディスクを備えてもよい。アクセス要求処理モジュールは、ＶＭによって送信されるデータアクセス要求を受信し、要求アレイへデータアクセス要求を追加する。データ転送プロキシモジュールは、要求アレイからデータアクセス要求を取得し、分散記憶システムの対応する物理的記憶ユニットへ仮想記憶ユニットをマップする。分散記憶システム内では、データアクセス要求の種類に基づいて、対応するデータアクセス動作が実施されてもよい。ある態様においては、デバイスは、二次レベルのキャッシュモジュール、三次レベルのキャッシュモジュール、および／またはデータスナップショットモジュールを更に備えてもよい。
【図面の簡単な説明】
【０００６】
発明を実施するための形態は、添付の図を参照して説明される。異なる図における同一の参照番号の使用は、類似または同一の品目を示す。
【図１】仮想マシン（ＶＭ）のデータへアクセスするための例示的コンピューティングデバイスの詳細を示す概略ブロック図である。
【図２】ＶＭのデータへアクセスするための例示的環境を示す概略図である。
【図３】例示的マッピング関係を示す概略ブロック図である。
【図４】ＶＭのデータへアクセスするための他の例示的コンピューティングデバイスの詳細を示す概略ブロック図である。
【図５】ＶＭのデータへアクセスするための更なる他の例示的コンピューティングデバイスの詳細を示す概略ブロック図である。
【図６】ＶＭのデータへアクセスするための別の更なる他の例示的コンピューティングデバイスの詳細を示す概略ブロック図である。
【図７】仮想ディスクと物理的記憶装置との間の例示的マッピング関係を示す概略ブロック図である。
【図８】ＶＭのデータへアクセスする例示的プロセスを示すフローチャートである。
【図９】ＶＭのデータへアクセスする他の例示的プロセスを示すフローチャートである。
【図１０】ＶＭのデータへアクセスする更なる他の例示的プロセスを示すフローチャートである。
【図１１】単一のＶＭのデータへアクセスするための例示的システムの詳細を示す概略ブロック図である。
【図１２】並列ＶＭのデータへアクセスするための例示的システムの詳細を示す概略ブロック図である。
【図１３】ＶＭマイグレーションを実行するための例示的システムの詳細を示す概略ブロック図である。
【図１４】共有記憶装置を実装することによって、ＶＭのデータへアクセスするための例示的システムの詳細を示す概略ブロック図である。
【発明を実施するための形態】
【０００７】
上記で述べたように、従来の仮想マシン（ＶＭ）技術の下では、局所的物理的コンピュータの状態がＶＭのデータの安全性および信頼性に影響する恐れがある。安全性および信頼性の懸念のために、ＶＭの開発および適用が大幅に制限されている。本開示では、例えば、分散記憶システムの物理的記憶装置へ仮想ディスクの仮想記憶装置をマップすることにより、ＶＭデータへアクセスする安全性および信頼性を改善する種々の例示的方法を説明する。本開示は、ＶＭと分散記憶システムとの間にデータ転送チャネルを提供できるので、全体的で、整合性があり、完全で、高効率、安全性があり、かつ互換性があるデータアクセスサービスを提供できる。
【０００８】
図１は、ＶＭのデータへアクセスするための例示的コンピューティングデバイス１００の詳細を示す概略ブロック図である。コンピューティングデバイス１００は、いずれかの好適なデバイスとして構成されてもよい。１つの例示的構成においては、コンピューティングデバイス１００は１つ以上のプロセッサ１０５、入力／出力インターフェース１０６、ネットワークインターフェース１０７、およびメモリ１０４を含む。
【０００９】
メモリ１０４は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリおよび／または読み出し専用メモリ（ＲＯＭ）もしくはフラッシュＲＡＭ等の不揮発性メモリの形態のコンピュータ可読媒体を含んでもよい。メモリ１０４は、コンピュータ可読媒体の例である。
【００１０】
コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、もしくは他のデータなどの情報の記憶のために任意の方法または技術で実装された、揮発性および不揮発性の、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体の例としては、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、またはコンピューティングデバイスによるアクセスのための情報を記憶するために使用することができる任意の他の非伝送媒体が挙げられるが、これらに限定されない。本明細書中で定義されるように、コンピュータ可読媒体は、変調されたデータ信号および搬送波などの一時的な媒体を含まない。
【００１１】
更に詳細にメモリ１０４を参照すると、メモリ１０４はアクセス要求処理モジュール１０１、データ転送プロキシモジュール１０２、および仮想ディスク１０３、ならびにＶＭ（図１に示されていない）のデータへのアクセスの全てまたは一部を実行するための１つ以上のアプリケーションを記憶してもよい。アクセス要求処理モジュール１０１は、ＶＭからデータアクセス要求を受信し、要求アレイにデータアクセス要求を追加する。ある実施形態においては、データアクセス要求は仮想ディスク１０３の仮想記憶ユニットへマップし、仮想記憶ユニットは分散記憶システムの物理的記憶ユニットへマップする（図２を参照）。
【００１２】
データ転送プロキシモジュール１０２は、要求アレイからデータアクセス要求を取得し、データアクセス要求を対応する仮想記憶ユニットへマップし、仮想記憶ユニットを分散記憶システムの対応する物理的記憶ユニットへマップする。ある実施形態においては、データ転送プロキシモジュール１０２は、データアクセス要求の種類に基づいて、分散記憶システムの物理的記憶ユニット上の対応するデータに関して動作を実施してもよい。
【００１３】
取得されたデータアクセス要求の種類が「データ書込み」であり、マップされる物理的記憶ユニットの情報が分散記憶システムへ送信されると仮定する。その結果、分散記憶システムは、物理的記憶ユニットの情報に基づいて、「データ書込み」動作を行う。取得されたデータアクセス要求の種類が「データ読取」である場合には、データは、物理的記憶ユニットの情報に基づいて、分散記憶システムから読み取られ、データはＶＭへ送り返され得る。
【００１４】
図２は、仮想マシン、コンピューティングデバイス（例えば、コンピューティングデバイス１００）、および分散記憶システムを含んでもよい例示的環境２００を示す概略図である。マッピング技術に基づいて、ＶＭの仮想ディスク内のデータを分散記憶システム内の複数の物理的コンピュータの物理的ディスク内に保存することができる。その結果、ＶＭデータに関連付けられるバックアップが実行され、記憶されたＶＭデータの安全性および信頼性が改善され得る。
【００１５】
図３は、例示的マッピング関係３００を示す概略ブロック図である。ある実施形態においては、要求アレイ内のデータアクセス要求は仮想ディスク内の仮想記憶ユニットへマップされ、仮想記憶ユニットは更に分散記憶システム内の物理的記憶ユニットへマップされる。図３に示されるように、データアクセス要求は、要求の種類、データの初期アドレス、データサイズ、およびアドレスサイズを含んでもよい。要求の種類は、データに関して要求された動作を示す（例えば、読取、書込みまたは削除）。データの初期アドレスは、データアクセス要求がアクセスする仮想ディスクの仮想記憶ユニット内のデータの初期アドレスを示す。データの初期アドレスおよびデータのサイズに基づいて、データの仮想記憶サイズが取得されてもよい。記憶サイズは、ＶＭに関連付けられる物理的コンピュータのメモリ内にデータアクセス要求に関連付けられるデータをキャッシュするための記憶サイズを示す。
【００１６】
データアクセス要求にマップされる仮想記憶ユニットは、データの初期アドレスおよびデータアクセス要求に関連付けられるデータのサイズに基づいて決定され得る。仮想記憶ユニットは、データアクセス要求に関連付けられるデータを保存するように構成される。仮想記憶ユニットおよび関連付けられたマッピング関係に基づいて、分散記憶システムの物理的記憶ユニットを決定することができる。初期アドレスおよびデータアクセス要求に関連付けられるデータのサイズに基づいて、データアクセス要求に関連付けられる物理的記憶ユニットは決定される。その後、ＶＭから分散記憶システムまでのデータアクセスチャネルが確立されるので、ＶＭから分散記憶システムまでのデータアクセスが実行され得る。
【００１７】
ある実施形態においては、データ転送プロキシモジュール１０２は、例えば、アクセス要求処理モジュール１０１から通知を取得した後に、要求アレイから個別のデータアクセス要求を取得してもよい。データ転送プロキシモジュール１０２は、定期的に積極的に要求アレイへアクセスして、データアクセス要求を取得してもよい。その後、最初にデータアクセス要求は、対応する仮想記憶ユニットへマップされ、対応する仮想記憶ユニットは分散記憶システムの対応する物理的記憶ユニットへ更にマップされる。マッピング技術に基づいて、物理的記憶ユニットを決定することができる。本開示において記載されるＶＭデータへアクセスする際にはデータをコピーしないでマッピング関係だけを必要とするので、短い時間と少ない記憶量を使用することにより、システムリソースが節減され得る。
【００１８】
ある実施形態においては、要求アレイはマルチスレディングアプリケーションに関して、あるスレッドに対応してもよい。１６個のスレッドが同時に作動され、各スレッドはデータ転送プロキシモジュール１０２の機能を実行すると仮定する。結果的に、ＶＭのデータへアクセスするために、コンピューティングデバイス１００内で、１６個のデータ転送プロキシモジュールが同時に作動され得る。
【００１９】
図４は、図１のデバイスと同様に、アクセス要求処理モジュール１０１、データ転送プロキシモジュール１０２および仮想ディスク１０３を含んでもよい例示的コンピューティングデバイス４００の詳細を示す概略ブロック図である。この図４の実装においては、コンピューティングデバイス４００は二次レベルキャッシュモジュール４０４を更に含む。ある実施形態においては、アクセス要求処理モジュール１０１がＶＭからデータ読取要求を受信した後に、アクセス要求処理モジュール１０１は、二次レベルキャッシュがデータアクセス要求に関連付けられたデータを記憶するかどうかを決定する。はいの場合には、キャッシュから直接データを読み取ることができる。いいえの場合には、アクセス要求処理モジュールはデータアクセス要求を要求アレイへ追加する。データ転送プロキシモジュール１０２がデータを読み取った後に、二次レベルキャッシュモジュール４０４はデータを記憶する二次レベルキャッシュスロットを作成する。
【００２０】
例えば、アクセス要求処理モジュール１０１がデータ読取要求（例えば、データＡを読み取ることを示すデータアクセス要求）を受信すると、アクセス要求処理モジュール１０１は二次レベルキャッシュを検索する。二次レベルキャッシュがデータＡを記憶する場合には、データＡは直接二次レベルキャッシュから読み取られる。読み取られない場合には、データ読取要求が要求アレイに追加され、マッピング技術に基づいて、データＡは分散記憶システムから読み取られるようになる。データ転送プロキシモジュール１０２がデータＡを読み取った後に、二次レベルキャッシュモジュール４０４はデータＡを記憶する二次レベルキャッシュスロットを作成する。ある実施形態においては、二次レベルキャッシュスロットは予め作成され、キャッシュ項目ＡはデータＡ用の二次レベルキャッシュスロット内に作成される。その後、データＡ用に作成されるキャッシュ項目Ａは、二次レベルキャッシュのキャッシュプールに追加される。したがって、データ転送プロキシモジュール１０２が新規のデータを読み取ると、二次レベルキャッシュモジュール４０４は二次レベルキャッシュ内に新規のキャッシュ項目を作成し、二次レベルキャッシュのキャッシュプール内へ新規のキャッシュ項目を追加する。
【００２１】
ある実施形態においては、二次レベルキャッシュはローカル物理的コンピュータの物理的メモリであり、ＶＭのデータへのアクセスを促進する。ある実施形態においては、ＶＭの仮想ディスク内のデータを、マッピング技術に基づいて、分散記憶システムの複数の物理的コンピュータの物理的ディスク内に保存することができて、ＶＭ内に記憶されるデータの安全性および信頼性を改善する。ある実施形態においては、フロントエンド方式システム内でデータの読取およびデータのキャッシュが、ＶＭのデータへアクセスする速度を更に増加させるために、同時に実施され得る。
【００２２】
図５は、図１および４のデバイスと同様に、アクセス要求処理モジュール１０１、データ転送プロキシモジュール１０２および仮想ディスク１０３を含んでもよい例示的コンピューティングデバイス５００の詳細を示す概略ブロック図である。図５の実装においては、デバイス５００も三次レベルキャッシュモジュール５０５を含む。ある実施形態においては、データ転送プロキシモジュール１０２は、データ転送プロキシモジュール１０２が要求アレイからデータ読取要求を受信した後に、キャッシュがデータアクセス要求に関連付けられるデータを記憶するかどうかを決定する。はいの場合には、データがキャッシュスロットから直接読み取られ得る。いいえの場合には、データ転送プロキシモジュール１０２はデータ読取要求を対応する仮想記憶ユニットへマップし、仮想記憶スペースを対応する物理的記憶ユニットへマップする。データ転送プロキシモジュール１０２がデータを読み取った後に、三次レベルキャッシュモジュール５０５はデータを記憶する三次レベルキャッシュスロットを作成する。ある実施形態においては、データ転送プロキシモジュール１０２は更にデータアクセス要求に関連付けられるデータに関して動作を実施してもよい。
【００２３】
例えば、データ転送プロキシモジュール１０２がデータ読取要求（例えば、データＣを読み取ることを表示するデータアクセス要求）を取得すると、データ転送プロキシモジュール１０２は三次レベルキャッシュを検索する。三次レベルキャッシュがデータＣを保持する場合には、データＣは三次レベルキャッシュから直接読み取られる。読み取られない場合には、取得されたデータ読取要求は、対応する物理的記憶ユニットへ更にマップされる対応する仮想記憶ユニットへマップされる。データ転送プロキシモジュール１０２がデータＣを読み取った後に、三次レベルキャッシュモジュール５０５はデータＣを記憶する三次レベルキャッシュスロットを作成する。ある実施形態においては、三次レベルキャッシュスロットは予め作成されて、キャッシュ項目ＣはデータＣ用の三次レベルキャッシュスロット内に作成される。その後、キャッシュ項目Ｃは三次レベルキャッシュのキャッシュプールへ追加される。したがって、データ転送プロキシモジュール１０２が新規のデータを読み取ると、三次レベルキャッシュモジュール５０５は三次レベルキャッシュ内に新規のキャッシュ項目を作成し、三次レベルキャッシュのキャッシュプール内へ新規のキャッシュ項目を追加する。
【００２４】
ある実施形態においては、三次レベルキャッシュスロットは、ローカル物理的コンピュータの物理的メモリであり、ＶＭのデータへのアクセスを促進する。ある実施形態においては、コンピュータデバイス５００は二次レベルキャッシュモジュール４０４および三次レベルキャッシュモジュール５０５の両方を含んでもよい。この状況においては、アクセス要求は最初にアクセス要求処理モジュール１０１に達して、メモリデータの処理はディスクデータの処理より早くなる。その結果、二次レベルキャッシュスロットはローカル物理的コンピュータの物理的メモリ内に位置してもよく、また、三次レベルキャッシュスロットは、ＶＭのデータへのアクセスを更に促すために、ローカル物理的コンピュータの物理的ディスク内に位置してもよい。ある実施形態においては、アドレスマッピングに基づいて、分散記憶システムの複数の物理的コンピュータの物理的ディスク内に、ＶＭの仮想ディスク内のデータを保存することができる。したがって、記憶されたＶＭデータの安全性および信頼性を改善することができる。ある実施形態においては、バックエンド方式システム内でのデータの読取およびデータのキャッシュが、ＶＭのデータへアクセスする速度を更に増加するために、同時に実施され得る。
【００２５】
図６は、例示的コンピューティングデバイス６００の他の可能な実装の詳細を示す概略ブロック図である。コンピューティングデバイス６００は、アクセス要求処理モジュール１０１、データ転送プロキシモジュール１０２、仮想ディスク１０３およびデータスナップショットモジュール６０６を含む。図６に示されるように、仮想ディスク１０３は、元のデータの仮想ディスクパーティション、スナップショットデータの仮想ディスクパーティションおよびマッピングパーティションを含んでもよい。ある実施形態においては、他の記憶装置内でデータをバックアップするために、特定の時間にスナップショットデータとして仮想ディスク内のデータを保存することができる。データスナップショットモジュール６０６は、マッピングパーティションから元のデータの仮想ディスクパーティションの仮想記憶スロットおよびスナップショットデータの仮想ディスクパーティションの仮想記憶スロットを取得する。
【００２６】
ある実施形態においては、元のデータの仮想記憶スロット、およびデータスナップショットモジュール６０６によって取得されるスナップショットデータの仮想記憶スロットを、分散記憶システムの対応する物理的記憶ユニットへマップするエクスポートモジュール６０７を、コンピューティングデバイス６００は含んでもよい。
【００２７】
ある実施形態においては、コンピューティングデバイス６００は、インポート要求が受信された後に、分散記憶システムの物理的記憶ユニットを、元のデータの仮想ディスクパーティションおよびスナップショットデータの仮想ディスクパーティションへマップするインポートモジュール（図示せず）をコンピューティングデバイス６００は含む。例えば、元のデータおよび分散記憶システム内のスナップショットデータを他のＶＭへエクスポートする必要がある場合には、インポートモジュールは分散記憶システムの物理的記憶ユニットを元のデータの仮想ディスクパーティションおよび他のＶＭ内のスナップショットデータの仮想ディスクパーティションへマップしてもよい。その結果、データは他の記憶システムへエクスポートされる。
【００２８】
図７は、仮想ディスクと物理的記憶装置との間の例示的なマッピング関係を示す概略ブロック図である。ある実施形態においては、元のデータの仮想ディスクパーティションの仮想記憶ユニットおよびスナップショットデータの仮想ディスクパーティションは、マッピングパーティション内で保持される。データスナップショットモジュール６０６がデータスナップショット要求を受信する場合には、仮想記憶ユニットはマッピングパーティションから取得される。エクスポートモジュール６０７は、仮想記憶ユニットを分散記憶システムの物理的記憶ユニットへマップし、元のデータおよびスナップショットデータを分散記憶システムの物理的記憶ユニットから取得できて、元のデータおよびスナップショットデータに基づいて、特定の時間におけるデータスナップショットが取得できるようになる。
【００２９】
ある実施形態においては、ＶＭデータへアクセスするためのデバイス内のセクタ符号は、Ｖｍ＿ｉｄ、Ｉｍａｇｅ＿ｉｄ、Ｖｂｄ＿ｉｄ、Ｐａｒ＿ｉｄ、およびＣｅｌｌ＿ｉｄを含んでもよい。Ｖｍ＿ｉｄ（３２ビット）はＶＭの数量であり、Ｉｍａｇｅ＿ｉ（３２ビット）は、関連付けられたミラー処理文書の数量であり、かつインポートされたスナップショットデータを示すことができ、Ｖｂｄ＿ｉｄ（８ビット）は仮想ハードドライブの数量であり、Ｐａｒ＿ｉｄ（８ビット）はパーティションの数量であり、Ｃｅｌｌ＿ｉｄ（６４ビット）はセクタの数量である。Ｖｍ＿ｉｄ、Ｉｍａｇｅ＿ｉｄ、Ｖｂｄ＿ｉｄ、およびＰａｒ＿ｉｄは管理システムによって構成され、ＶＭデータへアクセスするためのコンピューティングデバイスの関係および属性に関連付けられる情報を含む。ある実施形態においては、フロントエンド方式システムは、これらの符号を組み合わせて、上位文書システムから要求を受信した後に、分散記憶ユニットのセクタ場所を一意に識別する。その後、セクタ上での読取／書込み動作が、これらの符号に基づいて実施される。
【００３０】
図８から１０は、ＶＭのデータへアクセスする例示的プロセスを示すフローチャートである。プロセスは、ハードウェア、ソフトウェアまたはこれらの組合せで実行可能な動作順序を表わす論理フローチャートのブロックの集合として表示される。説明のために、プロセスは、図１および４から６において示されるコンピューティングデバイス１００、４００、５００および／または６００、図２において示されるコンピューティング環境２００、更に、図３および７において示されるマッピング関係３００および７００を参照して説明される。しかし、プロセスは、異なる環境およびデバイスを使用して実施されてもよい。更に、本文で説明される環境およびデバイスが使用され、別のプロセスを実施してもよい。
【００３１】
図８は、ＶＭのデータへアクセスする例示的プロセスを示すフローチャートである。８０１において、アクセス要求処理モジュール１０１は、ＶＭによって送信されるデータアクセス要求を受信する。８０２において、アクセス要求処理モジュール１０１は、データアクセス要求を要求アレイへ追加する。データアクセス要求は、仮想ディスク内の仮想記憶ユニットへマップし、仮想記憶ユニットは分散記憶システム内の物理的記憶ユニットへマップする。８０３から８０５において、データ転送プロキシモジュール１０２は、要求アレイからデータアクセス要求を取得し、データアクセス要求を対応する仮想記憶ユニットへマップし、仮想記憶ユニットを対応する物理的記憶ユニットへマップする。８０６において、データ転送プロキシモジュール１０２は、物理的記憶ユニットからデータを取得してもよい。ある実施形態においては、要求アレイ内の全てのデータアクセス要求が処理されるまで、８０１から８０６が繰り返されてもよい。
【００３２】
分散記憶システムは、データアクセス要求の種類に基づいて、物理的記憶ユニット内で対応するデータアクセス動作を実施してもよい。例えば、取得されたデータアクセス要求の種類が「データ書込み」であれば、コンピューティングデバイス１００から分散記憶システムへ送信される物理的記憶ユニット情報に基づいて、分散記憶システムは「データ書込み」動作を行う。取得されたデータアクセス要求の種類が「データ読取」であれば、物理的記憶ユニット情報に基づいて、分散記憶システムからデータが読み取られる。その結果、データアクセス要求へ関連付けられたＶＭへデータを送り返すことができる。
【００３３】
図９は、ＶＭのデータへアクセスする例示的プロセスを示すフローチャートである。９０１において、アクセス要求処理モジュール１０１は、ＶＭによって送信されるデータアクセス要求を受信する。９０２において、アクセス要求処理モジュール１０１は、二次レベルキャッシュユニットがデータアクセス要求に関連付けられるデータを記憶するかどうかを決定する。データが記憶される場合（即ち、９０２からの「はい」の分岐）には、データ転送プロキシモジュール１０２は９０３において直接データを読み取る。データが記憶されない場合（即ち、９０２からの「いいえ」の分岐）には、９０４においてデータアクセス要求が要求アレイへ追加された後に、データ転送プロキシモジュール１０２は、要求アレイからデータアクセス要求を取得する。９０５および９０６において、データ転送プロキシモジュール１０２はデータアクセス要求を対応する仮想記憶ユニットへマップし、仮想記憶ユニットを対応する物理的記憶ユニットへマップする。９０７において、データ転送プロキシモジュール１０２はデータアクセス要求に関連付けられたデータを取得する。９０８において、二次レベルキャッシュモジュール４０４は、データを記憶する二次レベルキャッシュスロットを作成する。ある実施形態においては、要求アレイ内の全てのデータアクセス要求が処理されるまで、９０１から９０８が繰り返されてもよい。
【００３４】
図１０は、ＶＭのデータへアクセスする例示的プロセスを示すフローチャートである。ある実施形態においては、データアクセス処理を促進するために、関連するデータ読取要求に基づいて、対応するデータ読取動作がマップされた物理的記憶ユニット内で実施された後に、三次レベルのキャッシュが作成されてもよい。１００１において、データ転送プロキシモジュール１０２は要求アレイからデータアクセス要求を取得する。１００２において、三次レベルキャッシュがデータアクセス要求に関連付けられるデータを記憶するかどうかを、データ転送プロキシモジュール１０２が決定する。データが記憶される場合（即ち、１００２からの「はい」の分岐）には、データ転送プロキシモジュール１０２は１００３において三次レベルキャッシュから直接データを読み取る。データが三次レベルキャッシュに記憶されない場合（即ち、１００２からの「いいえ」の分岐）には、データ転送プロキシモジュール１０２はデータアクセス要求を仮想記憶ユニットへマップし、仮想記憶ユニットを分散記憶システムの物理的記憶ユニットへマップする。１００６において、データ転送プロキシモジュール１０２は分散記憶システムからデータを取得する。１００７において、三次レベルキャッシュモジュールは、データを記憶する三次レベルキャッシュスロットを作成する。ある実施形態においては、要求アレイ内の全てのデータアクセス要求が処理されるまで、１００１から１００７が繰り返されてもよい。
【００３５】
ある実施形態においては、上記で説明されたプロセスは、データアクセス要求に関連付けられるスナップショットデータを取得することを更に含んでもよい。例えば、データスナップショットモジュール６０６は、スナップショット要求が受信された後に、仮想ディスクのマッピングパーティションから、元のデータの仮想ディスクパーティションの仮想記憶ユニットおよびスナップショットデータの仮想ディスクパーティションの仮想記憶ユニットを取得し、エクスポート要求が受信された後に、元のデータの仮想記憶ユニットおよびスナップショットデータの仮想記憶ユニットを分散記憶システムの対応する物理的記憶ユニットへマップしてもよい。
【００３６】
ある実施形態においては、フロントエンド方式システム内のデータアクセス要求に関連付けられるデータの読取およびキャッシュが、同時に実施され得る。例えば、アクセス要求処理モジュール１０１が次のデータアクセス要求を受信した後に、データアクセス要求に関連付けられるデータを、データを記憶するキャッシュから読み取って、ＶＭのデータへのアクセスを促進することができる。ある実施形態においては、バックエンド機構システム内のデータアクセス要求に関連付けられるデータの読取およびデータのキャッシュが、同時に実施され得る。例えば、データ転送プロキシモジュール１０２が次のデータアクセス要求を取得した後に、データを記憶するキャッシュからデータが読み取られ、ＶＭのデータへのアクセスを促進することができる。
【００３７】
ある実施形態においては、上記で説明されたプロセスは、異なる環境およびデバイスで、例えば、単一の仮想マシン起動、複数のマシン並列仮想マシン起動、仮想マシンマイグレーション、および／または共有記憶装置で実施されてもよい。図１１から１４は、これらの４つの場合を示す４つの異なる実施形態を示す。
【００３８】
図１１は、単一のＶＭのデータへアクセスするための例示的システム１１００の詳細を示す概略ブロック図である。システム１１００は、コンピューティングデバイス、また図１、４、および５のデバイスと同様に、ＶＭおよび分散システムの物理的記憶装置を含んでもよい。単一仮想マシン起動を実行することにより、ＶＭの起動時間および応答速度が改善される。
【００３９】
図１２は、並列ＶＭのデータへアクセスするための例示的システム１２００の詳細を示す概略ブロック図である。システム１２００は、コンピューティングデバイス、また図１、４、および５のデバイスと同様に、複数の並列ＶＭおよび分散システムの物理的記憶装置を含んでもよい。複数のマシン並列仮想マシン起動を実行することにより、ＶＭの起動時間および応答速度も改善される。
【００４０】
図１３は、ＶＭマイグレーションを実行するための例示的システム１３００の詳細を示す概略ブロック図である。システム１３００は、複数のコンピューティングデバイス、また図１、４、および５のデバイスと同様に、複数の対応するＶＭおよび分散システムの物理的記憶装置を含んでもよい。仮想マシンマイグレーションを実行することにより、データマイグレーションの量が低減され、マイグレーション速度が増加される。
【００４１】
図１４は、共有記憶装置を実行することにより、ＶＭのデータへアクセスするための例示的システム１４００の詳細を示す概略ブロック図である。システム１４００は、複数のコンピューティングデバイス、また図１、４、および５のデバイスと同様に、複数の対応するＶＭおよび分散システムの複数の物理的記憶ユニット（即ち、物理的記憶装置Ａ、Ｂ、およびＣ）を含んでもよい。システム１４００においては、分散システムがサーバ上にインストールされ、各サーバノードはデータをローカルハードドライブ（図示せず）内に記憶する。各サーバノードは、ＶＭデータへアクセスするための図１４の複数のコンピューティングデバイスを採用することにより、ストレージエリアネットワークを構築してもよい。したがって、ＳＡＮ共有ソフトウェアは、共有記憶デバイスを実装し、あるグループ内でデータ展開アクセスを管理するように構成されてもよい。例として、またこの例に限定されないが、ＳＡＮ共有ソフトウェアは、ｐＮＦＳ／ＧＦＳ２、およびＷｉｎｄｏｗｓ（登録商標）システム用のＣＩＦＳを含んでもよい。
【００４２】
本開示における実施形態は、単に図解目的であり、本開示の範囲を限定することを意図するものではない。当業者は、本開示に提供された実施形態に変更および改変を行うことが可能であろう。当業者が理解するであろういかなる変更および改変も、本開示の範囲内にある。
【図１】
2014501962.tif 000003
【図２】
2014501962.tif 000004
【図３】
2014501962.tif 000005
【図４】
2014501962.tif 000006
【図５】
2014501962.tif 000007
【図６】
2014501962.tif 000008
【図７】
2014501962.tif 000009
【図８】
2014501962.tif 000010
【図９】
2014501962.tif 000011
【図１０】
2014501962.tif 000012
【図１１】
2014501962.tif 000013
【図１２】
2014501962.tif 000014
【図１３】
2014501962.tif 000015
【図１４】
2014501962.tif 000016
【国際調査報告】
2014501962.tif 000017