(57)【要約】      （修正有）【課題】データを処理するための方法、装置、デバイスおよびコンピュータ可読記憶媒体を提供する。【解決手段】データ処理方法は、仮想マシンの仮想メモリから仮想マシンの仮想ディスクにデータブロックを記憶するための、データブロックを記憶するための仮想メモリアドレス及びデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信し、仮想メモリアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定し、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶する。仮想ディスク内のデータブロックのメモリアドレスと物理メモリのメモリアドレスとのマッピング関係を生成することにより、データの仮想ディスクへの記憶を実現し、データのスワップアウト動作におけるデータコピーを減少させ、データ処理の効率を向上させる。【選択図】図２
2020194522.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するための方法であって、
仮想マシンの仮想メモリから前記仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、
前記仮想メモリアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することと、
前記仮想ディスクアドレスと前記物理メモリアドレスとを関連付けて記憶することとを含む方法。
【請求項２】
前記仮想ディスクアドレスに基づいて、前記物理メモリに、前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが存在するか否かを判定することと、
前記第１物理メモリブロックが存在することに応じて、前記第１物理メモリブロックを解放することとをさらに含む請求項１に記載の方法。
【請求項３】
前記物理メモリにおいて前記仮想メモリに対して第２物理メモリブロックを割り当てることと、
割り当てられた前記第２物理メモリブロックのアドレスと前記仮想メモリアドレスとを関連付けて記憶することをさらに含む請求項１に記載の方法。
【請求項４】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想ディスクに記憶されていることを示すことをさらに含む請求項１に記載の方法。
【請求項５】
データを処理するための方法であって、
仮想マシンの仮想ディスクから前記仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、
前記仮想ディスクアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することと、
前記仮想メモリアドレスと前記物理メモリアドレスとを関連付けて記憶することとを含む方法。
【請求項６】
前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することは、
前記仮想ディスクアドレスに基づいて、前記物理メモリアドレスが存在するか否かを判定することと、
前記物理メモリアドレスが存在しないことに応じて、前記物理メモリから第１物理メモリブロックを割り当てることと、
前記データブロックを前記仮想ディスクに関連する物理ディスクから前記第１物理メモリブロックに記憶することと、
第１物理ブロックのアドレスを前記物理メモリアドレスとして決定することを含む請求項５に記載の方法。
【請求項７】
前記仮想メモリアドレスに基づいて、前記物理メモリ内の、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリブロックに対応する第２物理メモリブロックを決定することと、
前記第２物理メモリブロックを解放することをさらに含む請求項５に記載の方法。
【請求項８】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想メモリに記憶されていることを示すことをさらに含む請求項５に記載の方法。
【請求項９】
データを処理するための装置であって、
仮想マシンの仮想メモリから前記仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第１受信モジュールと、
前記仮想メモリアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定するように構成される第１物理メモリアドレス決定モジュールと、
前記仮想ディスクアドレスと前記物理メモリアドレスとを関連付けて記憶するように構成される第１アドレス記憶モジュールとを備える装置。
【請求項１０】
前記仮想ディスクアドレスに基づいて、前記物理メモリに、前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが存在するか否かを判定するように構成される第１物理メモリブロック判定モジュールと、
前記第１物理メモリブロックが存在することに応じて、前記第１物理メモリブロックを解放するように構成される第１解放モジュールとをさらに備える請求項９に記載の装置。
【請求項１１】
前記物理メモリにおいて前記仮想メモリに対して第２物理メモリブロックを割り当てるように構成される第１割り当てモジュールと、
割り当てられた前記第２物理メモリブロックのアドレスと前記仮想メモリアドレスとを関連付けて記憶するように構成される仮想メモリアドレス記憶モジュールとをさらに備える請求項９に記載の装置。
【請求項１２】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想ディスクに記憶されていることを示すように構成される第１送信モジュールをさらに備える請求項９に記載の装置。
【請求項１３】
データを処理するための装置であって、
仮想マシンの仮想ディスクから前記仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第２受信モジュールと、
前記仮想ディスクアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定するように構成される第２物理メモリアドレス決定モジュールと、
前記仮想メモリアドレスと前記物理メモリアドレスとを関連付けて記憶するように構成される第２アドレス記憶モジュールとを備える装置。
【請求項１４】
前記第２物理メモリアドレス決定モジュールは、
前記仮想ディスクアドレスに基づいて、前記物理メモリアドレスが存在するか否かを判定するように構成される判定モジュールと、
前記物理メモリアドレスが存在しないことに応じて、前記物理メモリから第１物理メモリブロックを割り当てるように構成される第２割り当てモジュールと、
前記データブロックを前記仮想ディスクに関連する物理ディスクから前記第１物理メモリブロックに記憶するように構成されるデータブロック記憶モジュールと、
第１物理ブロックのアドレスを前記物理メモリアドレスとして決定するように構成される第３物理メモリアドレス決定モジュールとを含む請求項１３に記載の装置。
【請求項１５】
前記仮想メモリアドレスに基づいて、前記物理メモリ内の、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリブロックに対応する第２物理メモリブロックを決定するように構成される第２物理メモリブロック決定モジュールと、
前記第２物理メモリブロックを解放するように構成される第２解放モジュールとをさらに備える請求項１３に記載の装置。
【請求項１６】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想メモリに記憶されていることを示すように構成される第２送信モジュールとをさらに備える請求項１３に記載の装置。
【請求項１７】
１つ又は複数のプロセッサと、
１つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、
前記１つまたは複数のプログラムを前記１つまたは複数のプロセッサに実行させることにより、請求項１〜４のいずれか１項に記載の方法を前記１つまたは複数のプロセッサに実現させる、電子デバイス。
【請求項１８】
１つ又は複数のプロセッサと、
５つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、
前記１つまたは複数のプログラムを前記１つまたは複数のプロセッサに実行させることにより、請求項５〜８のいずれか１項に記載の方法を前記１つまたは複数のプロセッサに実現させる、電子デバイス。
【請求項１９】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記プログラムがプロセッサにより実行されると、請求項１〜４のいずれか１項に記載の方法を実現させる、コンピュータ可読記憶媒体。
【請求項２０】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記プログラムがプロセッサにより実行されると、請求項５〜８のいずれか１項に記載の方法を実現させる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施例は、主としてコンピュータ分野に関し、より具体的には、データを処理するための方法、装置、デバイスおよびコンピュータ可読記憶媒体に関する。
【背景技術】
【０００２】
コンピュータの発展に伴い、仮想マシンの応用範囲もますます大きくなってきている。例えば、ますます多くのインターネットサービスがクラウドに展開されるように選択されている。クラウドにサービスを展開した後、ユーザがクラウドで動作する仮想マシンによりこれらの展開されたサービスを実行する。仮想マシンを利用することにより、ユーザがサービスを処理する効率を大幅に向上させることができる。
【０００３】
また、仮想マシンにより様々なサービスを実行する際には、仮想マシンで様々な異なるデータを処理することができる。サービスの実行中において、仮想マシンがその処理するデータを保存する場合もある。仮想マシンによりサービスを実行することで、同一プラットフォーム又は同一ホストで異なるオペレーティングシステムを実行し、ホストデバイスと異なるオペレーティングシステムとの互換性を向上させることができる。しかしながら、仮想マシンの使用中、解決しようとする様々な問題が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示の例示的な実施例によれば、データを処理するための方法が提供される。
【課題を解決するための手段】
【０００５】
本開示の第１態様では、データを処理するための方法が提供される。該方法は、仮想マシンの仮想メモリから仮想マシンの仮想ディスクにデータブロックを記憶するための要求（リクエスト）であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、仮想メモリアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定することと、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶することとを含む。
【０００６】
本開示の第２態様では、データを処理するための方法が提供される。該方法は、仮想マシンの仮想ディスクから仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、仮想ディスクアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定することと、仮想メモリアドレスと物理メモリアドレスとを関連付けて記憶することとを含む。
【０００７】
本開示の第３態様では、データを処理するための装置が提供される。該装置は、仮想マシンの仮想メモリから仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第１受信モジュールと、仮想メモリアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定するように構成される第１物理メモリアドレス決定モジュールと、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶するように構成される第１アドレス記憶モジュールとを備える。
【０００８】
本開示の第４態様では、データを処理するための装置が提供される。該装置は、仮想マシンの仮想ディスクから仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第２受信モジュールと、仮想ディスクアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定するように構成される第２物理メモリアドレス決定モジュールと、仮想メモリアドレスと物理メモリアドレスとを関連付けて記憶するように構成される第２アドレス記憶モジュールとを備える。
【０００９】
本開示の第５態様では、１つ又は複数のプロセッサと、１つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、１つまたは複数のプログラムを１つまたは複数のプロセッサに実行させることにより、本開示の第１態様にかかる方法を１つまたは複数のプロセッサに実現させる、電子デバイスが提供される。
【００１０】
本開示の第６態様では、１つ又は複数のプロセッサと、１つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、１つまたは複数のプログラムを１つまたは複数のプロセッサに実行させることにより、本開示の第２態様にかかる方法を１つまたは複数のプロセッサに実現させる、電子デバイスが提供される。
【００１１】
本開示の第７態様では、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、このコンピュータプログラムがプロセッサにより実行されると、本開示の第１態様にかかる方法を実現させる、コンピュータ可読記憶媒体が提供される。
【００１２】
本開示の第８態様では、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、このコンピュータプログラムがプロセッサにより実行されると、本開示の第２態様にかかる方法を実現させる、コンピュータ可読記憶媒体が提供される。
【００１３】
発明の概要に記載された内容は、本開示の実施例の主な又は重要な特徴を限定することを意図するものではなく、本開示の範囲を限定するものでもないことが理解されるべきである。本開示の他の特徴は、以下の説明により容易に理解されるようになる。
【図面の簡単な説明】
【００１４】
本開示の各実施例の上記および他の特徴、利点および態様は、添付の図面と共に以下の詳細な説明を参照することによって、より明確になる。図面において、同一又は類似の参照符号は同一又は類似の要素を示す。
【図１】本開示の実施例によるデータを処理するための例示的な環境１００の模式図を示す。
【図２】本開示の実施例によるデータを処理する方法２００のフローチャートを示す。
【図３】本開示の実施例によるデータを処理する方法３００のフローチャートを示す。
【図４】本開示の実施例によるデータを処理するための例示的な環境４００の模式図を示す。
【図５】本開示の実施例によるデータを処理するための装置５００の模式ブロック図を示す。
【図６】本開示の実施例によるデータを処理するための装置６００の模式ブロック図を示す。
【図７】本開示の様々な実施例を実施可能なコンピューティングデバイス７００のブロック図を示す。
【発明を実施するための形態】
【００１５】
以下、本開示の実施例について図面を参照して詳細に説明する。本開示のいくつかの実施例が図面に示されているが、本開示は、様々な形態で実施することができ、本明細書で説明される実施形態に限定されると解釈されるべきではなく、むしろ、本開示をより完全に理解するために、これらの実施例が提供されることが理解されるべきである。本開示の図面及び実施例は、例示的なものに過ぎず、本開示の請求の範囲を限定するものではないことが理解されるべきである。
【００１６】
本開示の実施例の説明では、「含む」という用語およびそれに類似する用語は、開放性に含む、すなわち「含むが、これに限定されない」を意味すると理解されるべきである。「基づく」という用語は、「少なくとも部分的に基づく」を意味すると理解されるべきである。「一実施例」または「この実施例」という用語は、「少なくとも１つの実施例」を意味すると理解されるべきである。「第１」や「第２」などの用語は、異なるまたは同一のオブジェクトを指すことができる。以下、他の明確かつ暗示的な定義がさらに含まれることができる。
【００１７】
一般的には、コンピューティングデバイスにおいて、メモリが不十分である場合に、プロセッサはスワップアウト動作を実行し、メモリ内の一部のあまり使用されないデータをディスクに記憶することにより、メモリの負担を緩和する。これらのデータが必要とされると、プロセッサは、スワップイン動作を実行し、データをディスクからメモリに読み返す。クラウドコンピューティングの普及に伴い、仮想マシンシステムもしばしばこのようなスワップイン／スワップアウトメカニズムを使用する。仮想マシンが実行するスワップアウト動作は、仮想メモリ内のデータを仮想ディスクに記憶することである。仮想ディスクは実際に物理マシンでのディスクファイルによってシミュレートされるものであり、即ち、仮想ディスクは物理マシンの物理ディスクでの所定の記憶空間に対応する。したがって、スワップアウト動作は、実際に仮想メモリのデータを物理ディスクに書き込むことである。これに対応して、スワップイン動作は、必要なデータを仮想ディスクから仮想メモリに読み返し、実際には物理ディスクから対応するデータを読み出して仮想メモリに書き戻す。
【００１８】
仮想マシンにおいてスワップアウト又はスワップイン動作が実行されると、物理ディスクへのアクセスはデータ処理効率に影響を与える。物理ディスクへのアクセス動作には、バッファＩ／Ｏ方式とダイレクトＩ／Ｏ方式という２つの方式がある。バッファＩ／Ｏ方式は、メモリ内の、適切なタイミングでディスクファイルと同期するキャッシュページに直接アクセスすることである。ダイレクトＩ／Ｏ方式は、ディスクに対して直接アクセス動作を行うことである。しかしながら、ダイレクトＩ／Ｏ方式では、ディスクに対してＩ／Ｏ動作を行うため、速度が遅く、効率が比較的低い。バッファＩ／Ｏ方式については、仮想メモリに対応する物理メモリ内のデータをキャッシュページに直接コピーするため、メモリ内でのデータコピーであり、スワップアウトの場合にダイレクトＩ／Ｏ方式よりも優れる。しかしながら、スワップイン動作について、キャッシュページが既に破棄されていれば、バッファＩ／Ｏ方式では、まずデータを物理ディスクからキャッシュページに読み出し、次にキャッシュページ内のデータを仮想メモリに対応する物理メモリ内にコピーする必要がある。この場合、バッファＩ／Ｏ方式の性能は、ダイレクトＩ／Ｏ方式よりも劣る。また、スワップイン動作又はスワップアウト動作において、２つの方式はいずれもメモリ内でデータコピー動作を行う必要があり、大量の時間を消費し、データ処理の効率を低下させる。
【００１９】
本開示の実施例によれば、データを処理するための改良された方法が提供される。この態様では、仮想メモリから仮想ディスクにデータブロックを記憶するための要求を取得し、この要求で示される仮想メモリアドレスに基づいて対応する物理メモリアドレスを決定し、その後、関連付けられた物理メモリアドレスおよび要求で示される仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスによって、データブロックの仮想ディスクへの記憶が実現される。仮想ディスクから仮想メモリにデータを記憶する場合にも同様の動作が行われる。データブロックのメモリアドレスのマッピング関係を変更することによってデータブロックの移動を実現し、データブロックを仮想ディスクに記憶するか又は仮想メモリに記憶する過程におけるデータのコピーを減少させ、データ処理の効率を向上させる。
【００２０】
図１は、本開示の実施例によるデータを処理するための例示的な環境１００の模式図を示す。例示的な環境１００は、例えば、仮想マシン１０２の動作を管理するためのマネージャ１０１などのコンピューティングデバイスを含む。マネージャ１０１は、データブロックが仮想マシン１０２の仮想メモリ１０４から仮想マシン１０２の仮想ディスク１０５に記憶され、又はデータブロックが仮想ディスク１０５から仮想メモリ１０４に記憶されるように、仮想マシン１０２を管理することができる。マネージャ１０１は、個別のコンピューティングデバイスであってもよく、この仮想マシン１０２に関連するストレージシステム内のコントローラであってもよく、仮想マシン１０２の動作を管理可能な任意の他の適切なデバイスであってもよい。上記の例は、本開示の実施例を説明するためのものに過ぎず、本開示を限定するものではない。
【００２１】
図１の仮想マシン１０２は例示的なものであり、本開示を限定するものではないことが理解されるべきである。当業者は、必要に応じて、マネージャ１０１が任意の適切な数の仮想マシンを管理するようにすることができる。
【００２２】
仮想マシン１０２とは、物理マシンのハードウェアプラットフォームで特定のアプリケーションによって作成されたアプリケーション実行環境を指し、物理マシンを使用することのように、ユーザが、その環境によりアプリケーションを実行し、それと対話することができる。１つの仮想マシンを作成する際には、一般的に、仮想マシン１０２が動作中に使用するために、マネージャ１０１を介して仮想マシンをホスティングするホストシステムからいくつかのリソースを割り当てる必要がある。該リソースは、例えば、コンピューティングリソース（例えばＣＰＵ、ＧＰＵ、ＦＰＧＡなど）、ストレージリソース（例えばメモリ、ストレージディスクなど）、ネットワークリソース（例えばネットワークカードなど）などの仮想マシンを実行するための任意の利用可能なリソースとすることができる。
【００２３】
仮想マシン１０２は、仮想メモリ１０４と仮想ディスク１０５とを含む。仮想メモリ１０４に記憶されたデータブロックは、仮想メモリ１０４に対応する物理メモリ１０３に記憶される。いくつかの実施例では、データブロックの仮想メモリ１０４でのメモリアドレスと、該データブロックの物理メモリ１０３でのメモリアドレスとの間にはマッピング関係がある。代替的または付加的に、それらのマッピング関係はデータ項目としてマッピングテーブルに記憶される。例えば、該マッピングテーブルは、シャドウページテーブルまたは拡張ページテーブルであってもよい。マネージャ１０２は、データブロックの仮想メモリ１０４でのメモリアドレスに基づいて、マッピングテーブルを介して対応する物理メモリ内のメモリアドレスを見つけることができる。上記の例は、本開示の実施例を説明するためのものに過ぎず、本開示を限定するものではない。
【００２４】
仮想ディスク１０５に記憶されたデータブロックは、仮想ディスク１０５に対応する物理メモリ１０３又はホストの物理ディスクに記憶される。仮想ディスク１０５でのデータブロックが物理メモリ１０３に存在すれば、データブロックの仮想ディスク１０５でのアドレスとデータブロックの物理メモリ１０３でのアドレスとの間にマッピング関係がある。いくつかの実施例では、該マッピング関係はデータ項目としてホストページテーブルに記憶される。仮想ディスク１０５でのデータブロックが物理メモリに存在しなければ、仮想ディスク１０５でのデータブロックは物理ディスクに記憶される。付加的に、データブロックの仮想ディスク１０５でのアドレスとデータブロックの物理ディスクでのアドレスとの間にはマッピング関係がある。このマッピング関係は、例えば、仮想ディスクと物理ディスクとのマッピング関係を実現するためのホストファイルなどの予め定められたファイルによって実現される。上記の例は、本開示の実施例を説明するためのものに過ぎず、本開示を限定するものではない。
【００２５】
物理メモリ１０３は、仮想メモリ１０４でのデータ及び仮想ディスク１０５内のデータの一部を記憶するために使用される。いくつかの実施例では、物理メモリ１０３に記憶された仮想ディスク１０５内のデータブロックは、物理ディスクに定期的にフラッシュされる。いくつかの実施例では、物理メモリ１０３に記憶された仮想ディスク１０５のデータ量が所定量よりも大きくなると、物理メモリ１０３内の仮想ディスク１０５に関連するデータブロックが物理ディスクにフラッシュされる。上記の例は、本開示の実施例を説明するためのものに過ぎず、本開示を限定するものではない。
【００２６】
上述した図１は、本開示の実施例によるデータを処理するための例示的な環境１００の模式図を示す。次に、図２を参照して本開示の実施例によるデータを処理するための方法２００のフローチャートを説明する。方法２００は、図１のマネージャ１０１によって実現されることができる。説明を容易にするために、図１を参照して方法２００について説明する。特定の順序で示されているが、方法２００のいくつかのステップは、示されているのとは異なる順序でまたは並列に実行されてもよいことが理解されるべきである。本開示の実施例は、この点に関して限定されない。また、図１を参照して方法２００について説明することは、一例に過ぎず、方法２００を限定するものではない。
【００２７】
ブロック２０２において、マネージャ１０１は、仮想マシン１０２の仮想メモリ１０４から仮想マシン１０２の仮想ディスク１０５にデータブロックを記憶するための要求であって、仮想メモリ１０４においてデータブロックを記憶するための仮想メモリアドレスおよび仮想ディスク１０５においてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信する。仮想マシン１０２が仮想メモリ１０４内のデータに対してスワップアウト動作を行うと、仮想ストレージ１０４内のデータが仮想ディスク１０５に記憶される。したがって、仮想マシン１０２は、スワップアウトすべきデータブロックの仮想メモリ１０４でのメモリアドレス及び仮想ディスク１０５でのデータブロックを記憶するために使用されるべきメモリアドレスを含むデータのスワップアウトの要求をマネージャ１０１に送信する。
【００２８】
ブロック２０４において、マネージャ１０１は、仮想メモリアドレスに基づいて、仮想マシン１０２に関連する物理メモリ１０３内のデータブロックを記憶するための物理メモリアドレスを決定する。マネージャ１０１が仮想マシン１０２から送信されたデータのスワップアウトの要求を受信したら、要求における仮想メモリアドレスによって該データブロックの実際に位置する物理メモリでのアドレスを決定する。いくつかの実施例では、仮想メモリ１０４内のデータブロックのメモリアドレスは、データブロックの位置する物理メモリ１０３でのメモリアドレスとマッピング関係を有する。いくつかの実施例では、該マッピング関係は、データ項目として第１マッピングテーブルに記憶され、該第１マッピングテーブルは、例えばシャドウページテーブルまたは拡張ページテーブルであってもよい。したがって、マネージャ１０１は、仮想メモリ１０４内のデータブロックが位置する物理メモリアドレスを第１マッピングテーブルを介して見つけることができる。
【００２９】
ブロック２０６において、マネージャ１０１は、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶する。いくつかの実施例では、マネージャ１０１は、取得されたデータブロックが位置する物理メモリアドレスとデータブロックを記憶するための仮想ディスクアドレスとを関連付けて記憶する。例えば、物理メモリアドレスと仮想ディスクアドレスとのマッピング関係をデータ項目として、データブロックの仮想ディスク１０５でのアドレスとデータブロックの物理メモリ１０３でのアドレスとのマッピング関係を記憶するための第２マッピングテーブルに記憶する。例えば、該第２マッピングテーブルはホストページテーブルであってもよい。データブロックが位置する物理メモリアドレスが仮想ディスク１０５のアドレスとマッピング関係を有するため、データブロックが仮想ディスク１０５に記憶されていることを示す。
【００３０】
仮想メモリ内のデータを仮想ディスクに記憶する過程において、データブロックが位置する物理メモリと仮想ディスクとのマッピング関係を変更するだけで、データのスワップアウト動作を実現し、データブロックのコピー量を減少させ、スワップアウト効率を向上させる。
【００３１】
また、仮想メモリ１０４内のデータブロックを仮想ディスク１０５にスワップアウトした後に、仮想メモリブロックが新しいデータを記憶することができるようにするために、仮想メモリ１０４内の該データブロックを記憶する仮想メモリブロックを物理メモリ１０３内の新しい物理メモリブロックにマッピングする必要がある。この場合、マネージャ１０１は、物理メモリ１０３内で仮想メモリ１０４に対して新しい物理メモリブロックを割り当てる。そして、マネージャ１０１は、割り当てられた新しい物理メモリブロックのアドレスを仮想メモリアドレスに関連付けて記憶し、例えば仮想メモリ１０４と物理メモリ１０３とのマッピングテーブルに記憶する。
【００３２】
マネージャ１０１は、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶する際に、仮想ディスクアドレスに基づいて、データブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが物理メモリ１０３に存在するかどうかを判定する必要がある。第１物理メモリブロックが存在すれば、第１物理メモリブロックを解放する。
【００３３】
上記の動作が完了すると、マネージャ１０１は、仮想マシン１０２へ応答を送信し、データブロックが仮想ディスク１０５に記憶されていることを示す。
【００３４】
第１物理メモリブロックが存在すると判定した場合に、該第１物理メモリブロックを解放することにより、物理メモリのメモリ空間が他のデータを記憶することに早速に用いられ、物理メモリの使用効率を向上させることができる。
【００３５】
以上本開示の実施例によるデータを処理するための方法２００のフローチャートを、図２を参照して説明したが、以下、本開示の実施例によるデータを処理するための方法３００のフローチャートを図３を参照して説明する。方法３００は、仮想ディスクから仮想メモリにデータブロックを記憶するために使用され、図１のマネージャ１０１によって実現されることができる。説明を容易にするために、図１を参照して方法３００について説明する。特定の順序で示されているが、方法３００のいくつかのステップは、示されているのとは異なる順序でまたは並列に実行されてもよいことが理解されるべきである。本開示の実施例は、この点に関して限定されない。また、図１を参照して方法３００について説明することは、一例に過ぎず、方法３００を限定するものではない。
【００３６】
ブロック３０２において、マネージャ１０１は、仮想マシン１０２の仮想ディスク１０５から仮想マシン１０２の仮想メモリ１０４にデータブロックを記憶するための要求であって、仮想メモリ１０４においてデータブロックを記憶するための仮想メモリアドレスおよび仮想ディスク１０５においてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信する。仮想マシン１０２が仮想ディスク１０５のデータを読み込むと、仮想ディスク１０５内のデータが仮想メモリ１０４に記憶される。したがって、仮想マシン１０２は、データブロックの仮想ディスク１０５でのメモリアドレス及び仮想メモリ１０４でのデータブロックを記憶するために使用されるべきメモリアドレスを含む要求をマネージャ１０１に送信する。
【００３７】
ブロック３０４において、マネージャ１０１は、仮想ディスクアドレスに基づいて、仮想マシン１０２に関連する物理メモリ１０３内のデータブロックを記憶するための物理メモリアドレスを決定する。
【００３８】
いくつかの実施例では、マネージャ１０１は、仮想ディスクアドレスに基づいて物理メモリアドレスが存在するかどうかを判定する。物理メモリアドレスが存在しない場合に、マネージャ１０１は、物理メモリ１０３から新しい物理メモリブロックを割り当てる。そして、マネージャ１０１は、仮想ディスク１０５に関連する物理ディスクからこの新しく割り当てられた物理メモリブロックにデータブロックを読み取る。マネージャ１０１は、この新しっく割り当てられた物理メモリブロックのアドレスを物理メモリアドレスとして決定する。
【００３９】
ブロック３０６において、マネージャ１０１は、仮想メモリアドレスと物理メモリアドレスとを関連付けて記憶する。記憶が完了すると、仮想マシン１０２は、仮想メモリアドレスに基づいて、対応するデータブロックを見つけることができる。よって、データブロックは仮想メモリ１０４に記憶される。
【００４０】
仮想ディスク内のデータを仮想メモリに記憶する過程において、データブロックが位置する物理メモリアドレスと仮想メモリアドレスとのマッピング関係を変更するだけで、データブロックを仮想ディスクから仮想メモリに記憶することを実現し、データブロックのコピー量を減少させ、データ移動の効率を向上させる。
【００４１】
また、仮想ディスク１０５内のデータブロックを仮想メモリ１０４に記憶する際に、マネージャ１０１は、仮想メモリアドレスに基づいて、仮想メモリ内のメモリブロックに対応する物理メモリ１０３内の以前の物理メモリブロックを決定する。マネージャ１０１は、この以前の物理メモリブロックを決定した後に、この以前の物理メモリブロックを解放する。いくつかの実施例では、マネージャ１０１は、仮想メモリ１０４と物理メモリ１０３とのマッピングテーブルに基づいて、仮想メモリアドレスに対応する物理メモリブロックを検索し、その後、この物理メモリブロックによって占有されるメモリ空間を解放する。上記の例は、本開示の実施例を説明するためのものに過ぎず、本開示を限定するものではない。
【００４２】
上記の動作が完了すると、マネージャ１０１は、仮想マシン１０２へ応答を送信し、データブロックが仮想メモリ１０４に記憶されていることを示す。
【００４３】
仮想メモリのメモリブロックに対応する物理メモリ内の物理メモリブロックを決定し、その対応するメモリ空間を解放することによって、物理メモリの記憶空間を他のデータに使用して、物理メモリの使用効率を向上させることができる。
【００４４】
図４は、本開示の実施例による仮想マシンを起動するための例示的な環境４００の模式図を示す。例示的な環境４００は、物理メモリ１０３と、仮想マシン１０２と、物理ディスク４０３とを含む。仮想マシン１０２は、仮想メモリ１０４と仮想ディスク１０５とを含む。物理メモリ１０３は、仮想メモリ１０４内のデータブロックを記憶するために使用される。したがって、第１マッピングテーブル４０４には、物理メモリ１０３内においてデータブロックを記憶するための物理ブロックのアドレス又はデータブロックのアドレスと、仮想メモリ１０４においてデータブロックを記憶するためのメモリブロックのアドレス又はデータブロックのアドレスとのマッピング関係が記憶されている。例えば、第１マッピングテーブル４０４は、シャドウページテーブルまたは拡張ページテーブルであってもよい。第１メモリブロック４０１と第２メモリブロック４０６とのマッピング関係は、第１マッピングテーブル４０４に記憶される。
【００４５】
仮想ディスク１０５と物理メモリ１０３との間には、第２マッピングテーブル４０５がある。第２マッピングテーブル４０５には、仮想ディスク１０５内のデータブロックが位置するメモリブロックのアドレス又はデータブロックのアドレスと、物理メモリ１０３内のデータブロックが位置するメモリブロックのアドレス又はデータブロックのアドレスとのマッピング関係が記憶されている。仮想ディスク１０５内の第４メモリブロック４０７のアドレスと物理メモリ１０３内の第３メモリブロック４０２のアドレスとのマッピング関係は、第２マッピングテーブル４０５に記憶される。一例では、第２マッピングテーブル４０５は、ホストページテーブルである。また、仮想ディスク１０５のデータブロックのアドレス又はデータブロックが位置するメモリブロックのアドレスが第２マッピングテーブル４０５において対応するマッピング関係がなければ、仮想ディスク１０５内の該データブロックが物理ディスク４０３に存在することを示す。付加的に、仮想ディスク１０５と物理ディスク４０３との間に、データブロックまたはメモリブロックの対応関係を反映するファイルが存在する。一例では、該ファイルはホストファイルである。
【００４６】
いくつかの実施例では、マネージャ１０１は、仮想メモリ１０４の第２メモリブロック４０６内のデータブロックを仮想ディスク１０５の第４メモリブロック４０７に記憶する際に、第２メモリブロック４０６および第４メモリブロック４０７のアドレスを受信する。マネージャ１０１は、第２メモリブロック４０６内のアドレスに基づいて、第１マッピングテーブル４０４で第１メモリブロック４０１のアドレスを見つける。そして、マネージャ１０１は、第２マッピングテーブル４０５で第４メモリブロック４０７のマッピング関係を検索し、マッピング関係がなければ、第２マッピングテーブル４０５に第１メモリブロック４０１のアドレス及び第４メモリブロック４０７のアドレスを記憶する。したがって、仮想ディスク１０５内のアドレスによって該データブロックを見つけることができ、その結果、データブロックが仮想ディスク１０５に記憶されていることを示す。第２マッピングテーブル４０５に第４メモリブロック４０７のアドレスに関連するマッピング関係が存在すれば、該マッピング関係は第１メモリブロック４０１のアドレスと第４メモリブロック４０７のアドレスとのマッピング関係に変更される。また、マネージャ１０１は、第４メモリブロック４０７に対応する第３メモリブロック４０２が占有するメモリ空間を解放する。
【００４７】
また、第１メモリブロック４０１が仮想ディスク１０５内のアドレスに対応するため、物理メモリ１０３で第２メモリブロック４０６に対応するメモリブロックをさらに割り当て、それらのマッピング関係を第１マッピングテーブル４０４に記憶する必要がある。上記の動作が完了すると、マネージャ１０１は、仮想マシン１０２へデータのスワップアウト動作が完了するという応答を送信する。
【００４８】
いくつかの実施例では、マネージャ１０１は、仮想メモリ１０５の第４メモリブロック４０７内のデータブロックを仮想ディスク１０４の第２メモリブロック４０６に記憶する際に、第４メモリブロック４０７のアドレスおよび第２メモリブロック４０６のアドレスを受信する。マネージャ１０１は、第２メモリブロック４０７のアドレスに基づいて、第４マッピングテーブル４０５で対応するマッピング関係があるかどうかを判定する。対応するマッピング関係があれば、物理メモリ１０３に第４メモリブロック４０７に対応する第３メモリブロック４０２が存在することを示す。第２マッピングテーブル４０５に対応するマッピング関係がなければ、第４メモリブロック４０７内のデータが物理ディスク４０３に記憶されていることを示す。そして、マネージャ１０１は、仮想ディスク１０５と物理ディスク４０３とのマッピング関係によって、物理ディスク４０３で第４メモリブロック４０７に対応するデータブロックを見つけてから、物理メモリ１０３に第３のメモリブロック４０２を割り当て、データブロックを第３メモリブロック４０２に読み取る。そして、マネージャ１０１は、第３メモリブロック４０２のアドレスと第２メモリブロック４０６のアドレスとのマッピング関係を第１マッピングテーブル４０４に記憶する。したがって、仮想マシン１０２は、仮想メモリ１０４内のアドレスによって該データブロックを見つけることができ、該データブロックが仮想メモリ１０４に記憶されていることを示す。
【００４９】
また、第２メモリブロック４０６に対応する第１メモリブロック４０１を解放する必要がある。上記の動作が完了すると、マネージャ１１０は仮想マシン１０２へ仮想ストレージ１０４へのデータの記憶が完了するという応答を送信する。
【００５０】
図５は本開示の実施例によるデータを処理するための装置５００の模式ブロック図を示す。装置５００は、図１のマネージャ１０１に含まれてもよく、またはマネージャ１０１として実現されてもよい。図５に示すように、装置５００は、仮想マシンの仮想メモリから仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第１受信モジュール５０２を備える。装置５００は、仮想メモリアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定するように構成される第１物理メモリアドレス決定モジュール５０４をさらに備える。装置５００は、仮想ディスクアドレスと物理メモリアドレスとを関連付けて記憶するように構成される第１アドレス記憶モジュール５０６をさらに備える。
【００５１】
いくつかの実施例では、装置５００は、仮想ディスクアドレスに基づいて、物理メモリに、仮想ディスクにおいてデータブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが存在するか否かを判定するように構成される第１物理メモリブロック判定モジュールと、第１物理メモリブロックが存在することに応じて、第１物理メモリブロックを解放するように構成される第１解放モジュールとをさらに備える。
【００５２】
いくつかの実施例では、装置５００は、物理メモリにおいて仮想メモリに対して第２物理メモリブロックを割り当てるように構成される第１割り当てモジュールと、割り当てられた第２物理メモリブロックのアドレスと仮想メモリアドレスとを関連付けて記憶するように構成される仮想メモリアドレス記憶モジュールとをさらに備える。
【００５３】
いくつかの実施例では、デバイス５００は、要求に対する応答を仮想マシンに送信して、データブロックが仮想ディスクに記憶されていることを示すように構成される第１送信モジュールをさらに備える。
【００５４】
図６は本開示の実施例によるデータを処理するための装置６００の模式ブロック図を示す。装置６００は、図１のマネージャ１０１に含まれてもよく、またはマネージャ１０１として実現されてもよい。図６に示すように、装置６００は、仮想マシンの仮想ディスクから仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、仮想メモリにおいてデータブロックを記憶するための仮想メモリアドレス及び仮想ディスクにおいてデータブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第２受信モジュール６０２を備える。装置６００は、仮想ディスクアドレスに基づいて、仮想マシンに関連する物理メモリ内のデータブロックを記憶するための物理メモリアドレスを決定するように構成される第２物理メモリアドレス決定モジュールをさらに備える。装置６００は、仮想メモリアドレスと物理メモリアドレスとを関連付けて記憶するように構成される第２アドレス記憶モジュール６０６をさらに備える。
【００５５】
いくつかの実施例では、第２物理メモリアドレス決定モジュール６０４は、仮想ディスクアドレスに基づいて、物理メモリアドレスが存在するか否かを判定するように構成される判定モジュールと、物理メモリアドレスが存在しないことに応じて、物理メモリから第１物理メモリブロックを割り当てるように構成される第２割り当てモジュールと、データブロックを仮想ディスクに関連する物理ディスクから第１物理メモリブロックに記憶するように構成されるデータブロック記憶モジュールと、第１物理ブロックのアドレスを物理メモリアドレスとして決定するように構成される第３物理メモリアドレス決定モジュールとを含む。
【００５６】
いくつかの実施例では、装置６００は、仮想メモリアドレスに基づいて、物理メモリ内の、仮想メモリにおいてデータブロックを記憶するための仮想メモリブロックに対応する第２物理メモリブロックを決定するように構成される第２物理メモリブロック決定モジュールと、第２物理メモリブロックを解放するように構成される第２解放モジュールとをさらに備える。
【００５７】
いくつかの実施例では、装置６００は、要求に対する応答を仮想マシンに送信して、データブロックが仮想メモリに記憶されていることを示すように構成される第２送信モジュールをさらに備える。
【００５８】
図７は、本開示の実施例を実施可能な電子デバイス７００の模式ブロック図を示す。デバイス７００は、図１のマネージャ１０１を実装するために使用されることができる。図面に示すように、デバイス７００は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２に記憶されているコンピュータプログラムコマンド、または記憶手段７０８からＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３にロードされたコンピュータプログラムコマンドに従って各種の適切な動作および処理を実行するコンピューティングユニット７０１を備える。ＲＡＭ７０３には、デバイス７００が操作するために必要な各種プログラムやデータも記憶されることができる。コンピューティングユニット７０１、ＲＯＭ７０２及びＲＡＭ７０３は、バス７０４を介して相互に接続されている。また、バス７０４には、入出力（Ｉ／Ｏ）インタフェース７０５も接続されている。
【００５９】
キーボードやマウスなどの入力手段７０６と、様々なタイプのディスプレイやスピーカなどの出力手段７０７と、磁気ディスクや光ディスクなどの記憶手段７０８と、ネットワークカードやモデム、無線通信送受信機などの通信手段７０９を含むデバイス７００の複数の構成要素は、Ｉ／Ｏインターフェース７０５に接続されている。通信手段７０９は、デバイス７００がインターネットなどのコンピュータネットワークおよび／または様々な電気通信ネットワークを介して他のデバイスと情報／データを交換することを許容する。
【００６０】
コンピューティングユニット７０１は、処理およびコンピューティング能力を有する様々な汎用および／または専用の処理コンポーネントとすることができる。コンピューティングユニット７０１のいくつかの例は、中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、様々な専用の人工知能（ＡＩ）コンピューティングチップ、機械学習モデルアルゴリズムを実行する様々なコンピューティングユニット、デジタル信号プロセッサ（ＤＳＰ）、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。コンピューティングユニット７０１は、方法２００および３００などの上述の方法および処理のそれぞれを実行する。例えば、いくつかの実施例では、方法２００および３００は、機械可読媒体、例えば記憶手段７０８に有形に含まれるコンピュータソフトウェアプログラムとして実施されることができる。いくつかの実施例では、コンピュータプログラムの一部または全部が、ＲＯＭ７０２および／または通信手段７０９を介してデバイス７００にロードおよび／またはインストールされることができる。コンピュータプログラムがＲＡＭ７０３にロードされコンピューティングユニット７０１によって実行されると、上述の方法２００および３００の１つまたは複数のステップが実行されることが可能である。代替として、他の実施例では、コンピューティングユニット７０１は、他の任意の適切な形態（例えばファームウェア）によって方法２００および３００を実行するように構成されてもよい。
【００６１】
本明細書では、上述した機能は、少なくとも部分的に１つ又は複数のハードウェアロジックコンポーネントによって実行されることができる。例えば、限定するものではないが、使用することができる例示的なハードウェア論理構成要素は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準製品（ＡＳＳＰ）、オンチップシステム（ＳＯＣ）、負荷プログラマブルロジックデバイス（ＣＰＬＤ）などを含む。
【００６２】
本開示の方法を実施するためのプログラムコードは、１つまたは複数のプログラミング言語の任意の組み合わせにより記述されることができる。それらのプログラムコードは、プログラムコードがプロセッサやコントローラによって実行されると、フローチャートおよび／またはブロック図に示された機能／動作を実行させるように、汎用コンピュータ、専用コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサやコントローラに提供されることができる。プログラムコードは、完全に機械で実行されてもよく、部分的に機械で実行されてもよく、スタンドアロンソフトウェアパッケージとして機械で部分的に実行されてもよく、リモート機械で部分的に実行されてもよく、またはリモート機械またはサーバで完全に実行されてもよい。
【００６３】
本開示のコンテキストにおいて、機械可読媒体は、命令実行システム、装置やデバイスが使用する、または命令実行システム、装置やデバイスと組み合わせて使用するためのプログラムを含むまたは記憶することができる有形媒体であってもよい。機械可読媒体は、機械可読信号媒体であってもよく、機械可読記憶媒体であってもよい。機械可読媒体は、電子式、磁気式、光学式、電磁式、赤外線式、または半導体システム、装置やデバイス、またはそれらの任意の適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のさらなる具体的な例は、１つ又は複数のラインによる電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、コンパクトコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、またはそれらの任意の適切な組み合わせを含む。
【００６４】
また、各動作は特定の順序で記載されているが、これは、各動作が図示された特定の手順や順序で順次に実行されるように要求される、または所望の結果を得るために図示された動作のすべてが実行されるように要求されることと理解されるべきである。特定の環境下で、マルチタスクおよび並列処理が有利であり得る。同様に、上述したように、いくつかの具体的な実施の詳細が説明されるが、これらは本開示の範囲を限定するものと解釈されるべきではない。別個の実施例のコンテキストで説明されたいくつかの特徴は、単一の実施において組み合わされて実施されてもよい。逆に、単一の実施のコンテキストで説明された各特徴も、複数の実施において、個別または任意の適切なサブコンビネーションの形態で実施されてもよい。
【００６５】
本テーマは、構造的特徴および／または方法論理的動作に特定される言語で説明されたが、添付の特許請求の範囲で限定されるテーマは、必ずしも上述した特定の特徴または動作に限定されないことが理解されるべきである。逆に、上述した特定の特徴および動作は、特許請求の範囲を実施するための例示的な形態に過ぎない。
【図１】
2020194522.tif 000003
【図２】
2020194522.tif 000004
【図３】
2020194522.tif 000005
【図４】
2020194522.tif 000006
【図５】
2020194522.tif 000007
【図６】
2020194522.tif 000008
【図７】
2020194522.tif 000009
【手続補正書】
【提出日】令和2年6月8日(2020.6.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理するための方法であって、
仮想マシンの仮想メモリから前記仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、
前記仮想メモリアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することと、
前記仮想ディスクアドレスと前記物理メモリアドレスとを関連付けて記憶することとを含む方法。
【請求項２】
前記仮想ディスクアドレスに基づいて、前記物理メモリに、前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが存在するか否かを判定することと、
前記第１物理メモリブロックが存在することに応じて、前記第１物理メモリブロックを解放することとをさらに含む請求項１に記載の方法。
【請求項３】
前記物理メモリにおいて前記仮想メモリに対して第２物理メモリブロックを割り当てることと、
割り当てられた前記第２物理メモリブロックのアドレスと前記仮想メモリアドレスとを関連付けて記憶することをさらに含む請求項１に記載の方法。
【請求項４】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想ディスクに記憶されていることを示すことをさらに含む請求項１に記載の方法。
【請求項５】
データを処理するための方法であって、
仮想マシンの仮想ディスクから前記仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信することと、
前記仮想ディスクアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することと、
前記仮想メモリアドレスと前記物理メモリアドレスとを関連付けて記憶することとを含む方法。
【請求項６】
前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定することは、
前記仮想ディスクアドレスに基づいて、前記物理メモリアドレスが存在するか否かを判定することと、
前記物理メモリアドレスが存在しないことに応じて、前記物理メモリから第１物理メモリブロックを割り当てることと、
前記データブロックを前記仮想ディスクに関連する物理ディスクから前記第１物理メモリブロックに記憶することと、
第１物理ブロックのアドレスを前記物理メモリアドレスとして決定することを含む請求項５に記載の方法。
【請求項７】
前記仮想メモリアドレスに基づいて、前記物理メモリ内の、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリブロックに対応する第２物理メモリブロックを決定することと、
前記第２物理メモリブロックを解放することをさらに含む請求項５に記載の方法。
【請求項８】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想メモリに記憶されていることを示すことをさらに含む請求項５に記載の方法。
【請求項９】
データを処理するための装置であって、
仮想マシンの仮想メモリから前記仮想マシンの仮想ディスクにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第１受信モジュールと、
前記仮想メモリアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定するように構成される第１物理メモリアドレス決定モジュールと、
前記仮想ディスクアドレスと前記物理メモリアドレスとを関連付けて記憶するように構成される第１アドレス記憶モジュールとを備える装置。
【請求項１０】
前記仮想ディスクアドレスに基づいて、前記物理メモリに、前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクメモリブロックに対応する第１物理メモリブロックが存在するか否かを判定するように構成される第１物理メモリブロック判定モジュールと、
前記第１物理メモリブロックが存在することに応じて、前記第１物理メモリブロックを解放するように構成される第１解放モジュールとをさらに備える請求項９に記載の装置。
【請求項１１】
前記物理メモリにおいて前記仮想メモリに対して第２物理メモリブロックを割り当てるように構成される第１割り当てモジュールと、
割り当てられた前記第２物理メモリブロックのアドレスと前記仮想メモリアドレスとを関連付けて記憶するように構成される仮想メモリアドレス記憶モジュールとをさらに備える請求項９に記載の装置。
【請求項１２】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想ディスクに記憶されていることを示すように構成される第１送信モジュールをさらに備える請求項９に記載の装置。
【請求項１３】
データを処理するための装置であって、
仮想マシンの仮想ディスクから前記仮想マシンの仮想メモリにデータブロックを記憶するための要求であって、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリアドレス及び前記仮想ディスクにおいて前記データブロックを記憶するための仮想ディスクアドレスを示す要求を受信するように構成される第２受信モジュールと、
前記仮想ディスクアドレスに基づいて、前記仮想マシンに関連する物理メモリ内の前記データブロックを記憶するための物理メモリアドレスを決定するように構成される第２物理メモリアドレス決定モジュールと、
前記仮想メモリアドレスと前記物理メモリアドレスとを関連付けて記憶するように構成される第２アドレス記憶モジュールとを備える装置。
【請求項１４】
前記第２物理メモリアドレス決定モジュールは、
前記仮想ディスクアドレスに基づいて、前記物理メモリアドレスが存在するか否かを判定するように構成される判定モジュールと、
前記物理メモリアドレスが存在しないことに応じて、前記物理メモリから第１物理メモリブロックを割り当てるように構成される第２割り当てモジュールと、
前記データブロックを前記仮想ディスクに関連する物理ディスクから前記第１物理メモリブロックに記憶するように構成されるデータブロック記憶モジュールと、
第１物理ブロックのアドレスを前記物理メモリアドレスとして決定するように構成される第３物理メモリアドレス決定モジュールとを含む請求項１３に記載の装置。
【請求項１５】
前記仮想メモリアドレスに基づいて、前記物理メモリ内の、前記仮想メモリにおいて前記データブロックを記憶するための仮想メモリブロックに対応する第２物理メモリブロックを決定するように構成される第２物理メモリブロック決定モジュールと、
前記第２物理メモリブロックを解放するように構成される第２解放モジュールとをさらに備える請求項１３に記載の装置。
【請求項１６】
前記要求に対する応答を前記仮想マシンに送信して、前記データブロックが前記仮想メモリに記憶されていることを示すように構成される第２送信モジュールとをさらに備える請求項１３に記載の装置。
【請求項１７】
１つ又は複数のプロセッサと、
１つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、
前記１つまたは複数のプログラムを前記１つまたは複数のプロセッサに実行させることにより、請求項１〜４のいずれか１項に記載の方法を前記１つまたは複数のプロセッサに実現させる、電子デバイス。
【請求項１８】
１つ又は複数のプロセッサと、
５つまたは複数のプログラムを記憶する記憶装置と、を備える電子デバイスであって、
前記１つまたは複数のプログラムを前記１つまたは複数のプロセッサに実行させることにより、請求項５〜８のいずれか１項に記載の方法を前記１つまたは複数のプロセッサに実現させる、電子デバイス。
【請求項１９】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記プログラムがプロセッサにより実行されると、請求項１〜４のいずれか１項に記載の方法を実現させる、コンピュータ可読記憶媒体。
【請求項２０】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記プログラムがプロセッサにより実行されると、請求項５〜８のいずれか１項に記載の方法を実現させる、コンピュータ可読記憶媒体。
【請求項２１】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜４のいずれか１項に記載の方法を実現させるコンピュータプログラム。
【請求項２２】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項５〜８のいずれか１項に記載の方法を実現させるコンピュータプログラム。
【外国語明細書】
2020194522000001.pdf