(57)【要約】【課題】仮想マシンの効率性、応答性の低下を抑制する情報処理システム、仮想マシン、物理マシン、情報処理方法、及びプログラムを提供する。【解決手段】異なる物理マシン上で動作する仮想マシンを備え、第１の前記物理マシン上で動作する第１の前記仮想マシンと、第２の前記物理マシン上で動作する第２の前記仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムは、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部と、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理部と、を備える。【選択図】図２
2020160653.tif 000002
【特許請求の範囲】
【請求項１】
異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおいて、
前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部と、
前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理部と、
を備える、情報処理システム。
【請求項２】
前記判定部は、前記記憶情報が更新されるときに、前記記憶情報と前記要否情報とに基づいて、更新される前記記憶情報のうち、前記同期情報に含まれる情報を更新同期情報と判定し、更新される前記記憶情報のうち、前記非同期情報に含まれる情報を更新非同期情報と判定し、
前記第１処理部は、前記更新同期情報について、前記同期処理を実行する、
請求項１に記載の情報処理システム。
【請求項３】
前記第１処理部は、前記更新非同期情報がある場合に、前記非同期情報の更新が行われることを示す非同期情報更新情報を生成し、前記非同期情報更新情報について前記同期処理を行う、
請求項２に記載の情報処理システム。
【請求項４】
前記非同期情報更新情報と前記非同期情報を更新するための情報とを対応付けた対処情報と、前記非同期情報更新情報とに基づいて、前記非同期情報の更新を行う第２処理部を更に備える、
請求項３に記載の情報処理システム。
【請求項５】
異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける仮想マシンであって、
前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部、
を備える、仮想マシン。
【請求項６】
異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける仮想マシンを動作させる物理マシンであって、
前記仮想マシンが、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する場合に、
前記同期情報について、仮想マシンを動作させる他の物理マシンとの間で同期処理を行う第１処理部、
を備える、物理マシン。
【請求項７】
異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける情報処理方法であって、
前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定ステップと、
前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理ステップと、
を含む、情報処理方法。
【請求項８】
異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムのコンピュータに、
前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定ステップと、
前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理ステップと、
を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、仮想マシン、物理マシン、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
物理マシン上で実行される仮想マシン環境では、物理マシンの状態が重要である。そのため、物理マシンの状態によっては、仮想マシンを実行する物理マシンを他の物理マシンに変更することがある。例えば、仮想マシンが実行させる物理マシンについて、当該物理マシンの負荷の上昇等が生じる場合に、仮想マシンを他の物理マシンに移動し、その動作を継続することができる。また、物理マシンが故障等により動作を継続できない場合でも、仮想マシンを他の物理マシン上で再度起動することにより、動作の継続を実現できる。
このような仮想マシン環境を実現するための１つの方法として、仮想マシンを構成する仮想ディスクに対する情報が共有ディスク装置に記憶する方法がある。この方法では、複数の物理マシン間で共有ディスク装置が共有される。また、別の方法として、共有ディスク装置を利用しない方法がある。この方法では、仮想ディスクに対する書き込みを、ネットワークを介した通信により、他の物理マシンに逐次転送し、その変更を複数の物理マシン間で共有する。
特許文献１には、関連する技術として、送信側の仮想マシンへの書き込みが発生した場合に、実行状態の差分を受信側の仮想マシンに送信する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６４０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の方式では、仮想ディスクに対する変更は複数物理マシン間で共有する必要がある。しかしながら、仮想ディスクに対する変更には反映を行う必要がないものが含まれる。そのため、このような情報を共有することによって、仮想マシンの効率性、応答性が低下してしまう場合があった。
【０００５】
本発明は、上記の課題を解決する、情報処理システム、仮想マシン、物理マシン、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおいて、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部と、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理部と、を備える、情報処理システムである。
【０００７】
また、本発明の一態様によれば、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける仮想マシンであって、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部、を備える、仮想マシンである。
【０００８】
また、本発明の一態様によれば、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける仮想マシンを動作させる物理マシンであって、前記仮想マシンが、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する場合に、前記同期情報について、仮想マシンを動作させる他の物理マシンとの間で同期処理を行う第１処理部を備える、物理マシンである。
【０００９】
また、本発明の一態様によれば、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムにおける情報処理方法であって、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定ステップと、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理ステップと、を含む情報処理方法である。
【００１０】
また、本発明の一態様によれば、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン上で動作する第１の仮想マシンと、第２の物理マシン上で動作する第２の仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システムのコンピュータに、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定ステップと、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理ステップと、を実行させるための、プログラムである。
【発明の効果】
【００１１】
本発明によれば、仮想マシンの効率性、応答性の低下を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る情報処理システム１の構成の一例を示す概要ブロック図である。
【図２】本発明の一実施形態に係る情報処理システム１の構成の詳細な一例を示す概略ブロック図である。
【図３】本発明の一実施形態に係る記憶識別情報の一例を示す図である。
【図４】本発明の一実施形態に係る対処情報の一例を示す図である。
【図５】本発明の一実施形態に係る仮想マシンの記憶情報の更新処理の一例を示すフローチャートである。
【図６】本発明の一実施形態に係る他の物理マシンで仮想マシンを開始する場合の動作の一例を示すフローチャートである。
【図７】本発明の一実施形態に係る他の物理マシンで仮想マシンを開始する場合の動作の別の一例を示すフローチャートである。
【図８】本発明の一実施形態に係る情報処理システムの最小構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の一実施形態について詳しく説明する。
【００１４】
図１は、本発明の一実施形態に係る情報処理システム１の構成の一例を示す概略ブロック図である。
情報処理システム１は、多数の物理マシン１０（１０Ａ、１０Ｂ・・・）を備える。物理マシン１０（１０Ａ、１０Ｂ・・・）は、ネットワークＮＷを介して接続されている。ネットワークＮＷは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、又はインターネット等の情報通信ネットワークである。情報通信ネットワークは、有線又は無線のネットワークでも良いし、種々のネットワークを組み合わせたネットワークであっても良い。
【００１５】
本実施形態では、説明の都合上、物理マシン１０が２つである例を説明するが、物理マシン１０は、複数の物理マシン１０（１０Ａ、１０Ｂ、・・・）を備えてもよい。また、本実施形態において、物理マシン１０（１０Ａ、１０Ｂ、・・・）は、情報処理システム１が備える任意の物理マシンを示す場合、又は特に区別しない場合には、物理マシン１０として説明する。
【００１６】
物理マシン１０は、例えば、ネットワークＮＷを介して、ユーザが所持するデスクトップパソコン、ノートパソコン、タブレット端末、スマートフォンなどから接続されるサーバなどの処理装置である。
物理マシン１０は、内部に備える複数の仮想マシン２０（２０Ａ−１、２０Ａ−２、・・・２０Ａ−Ｎ、２０Ｂ−１、２０Ｂ−２、・・・２０Ｂ−Ｎ）の制御を行う。物理マシン１０は、複数の仮想マシン２０を同時に実行可能である。また、物理マシン１０は、複数の仮想マシン２０の記憶情報について、同期や共有などの処理を行う。本実施形態では、説明の都合上、仮想マシン２０が各物理マシン１０に１つ備える例を説明するが、仮想マシン２０は、１つの物理マシン１０に対し、複数備わっていてもよい。また、本実施形態において、仮想マシン２０（２０Ａ−１、２０Ａ−２、・・・、２０Ａ−Ｎ、２０Ｂ−１、２０Ｂ−２、・・・２０Ｂ−Ｎ）は、情報処理システム１が備える任意の仮想マシンを示す場合、又は特に区別しない場合には、仮想マシン２０として説明する。また、物理マシン１０Ａの複数の仮想マシン２０（２０Ａ−１、２０Ａ−２、・・・２０Ａ−Ｎ）は、物理マシン１０Ａが備える任意の仮想マシンを示す場合、又は特に区別しない場合には、仮想マシン２０Ａとして説明する。また、物理マシン１０Ｂについても同様に、物理マシン１０Ｂが備える任意の仮想マシンを示す場合、又は特に区別しない場合には、仮想マシン２０Ｂとして説明する。
【００１７】
本実施形態では、ユーザが、最初に物理マシン１０Ａ（第１の物理マシンの一例）上の仮想マシン２０Ａ（第１の仮想マシンの一例）を利用し、次に別の物理マシンである物理マシン１０Ｂ（第２の物理マシンの一例）上の仮想マシン２０Ｂ（第２の仮想マシンの一例）を利用する場合の処理について説明するが、本発明の実施形態はこれには限られない。
【００１８】
例えば、物理マシン１０Ａは、仮想マシン２０Ａが記憶する記憶情報を同期情報と非同期情報とに分けて記憶する。ここで非同期情報とは、同期しないまま喪失しても仮想マシン２０の動作に影響のない情報である。動作に影響のない情報とは、例えば、仮想マシン２０Ａが一時的に利用するための情報や、更新前の情報から生成することが可能な情報である。更新前の情報から更新後の情報を生成する手段（以下、更新前の情報から更新後の情報を生成することを「復元する」とも称する）については、詳細を後述する。復元手段に関する情報は、物理マシン１０Ａ及び物理マシン１０Ｂとの間で予め共有される情報に含まれる。
同期情報とは、非同期情報以外の情報である。
【００１９】
物理マシン１０Ａは、仮想マシン２０Ａが記憶する記憶情報の更新が行われる場合に、他の仮想マシン２０と同期が不要な更新非同期情報と、同期が必要な更新同期情報とを、仮想マシン２０Ａから受け入れる。更新非同期情報は、非同期情報のうち、更新が行われる情報である。更新同期情報とは、同期情報のち、更新が行われる情報である。なお、更新同期情報は、非同期情報の更新が行われたことを示す情報（以下、「非同期情報更新情報」とも称する）を含む。非同期情報更新情報については、詳細を後述する。
物理マシン１０Ａは、受け入れた更新非同期情報と更新同期情報を記憶する。また、物理マシン１０Ａは、更新同期情報を物理マシン１０Ｂに送信する。
【００２０】
物理マシン１０Ｂは、受信した更新同期情報と物理マシン１０Ｂが記憶する同期情報とに基づいて、同期情報を更新する。また、物理マシン１０Ｂは共有情報と、更新同期情報に含まれる非同期情報更新情報と、物理マシン１０Ｂが記憶する非同期情報に基づいて、非同期情報を更新する。これにより、物理マシン１０Ａと物理マシン１０Ｂとは仮想マシン２０Ａと仮想マシン２０Ｂに関して、同一の記憶情報を持つことができる。
【００２１】
これにより、情報処理システム１は、物理マシン１０Ａと物理マシン１０Ｂとの間で更新情報の全てを同期することなく、仮想マシンに関する記憶情報を共有することが可能になる。これにより、ネットワークＮＷを介して送受信する情報が少なくなることでネットワークＮＷを介する他の送受信情報への影響が小さくなる。そのため応答性の低下を抑制することができる。また、同期する情報が少なくなるため、同期処理に必要なリソースを低減することができ、他の処理の効率を高めることができる。そのため、効率性の低下を抑制することができる。
【００２２】
物理マシン１０（１０Ａ、１０Ｂ）は、通信制御部１１（１１Ａ、１１Ｂ）、制御部１２（１２Ａ、１２Ｂ）、ディスク制御部１３（１３Ａ、１３Ｂ）、記憶部１４（１４Ａ、１４Ｂ）、複数の仮想マシン２０（２０Ａ、２０Ｂ）を備える。なお、物理マシン１０Ａが備える、通信制御部１１Ａ、制御部１２Ａ、ディスク制御部１３Ａ、及び記憶部１４Ａと、物理マシン１０Ｂが備える、通信制御部１１Ｂ、制御部１２Ｂ、ディスク制御部１３Ｂ、及び記憶部１４Ｂの各機能は基本的に同一である。すなわち、以下説明される物理マシン１０Ａの機能と、物理マシン１０Ｂの機能は入れ替えることができる。
以下では、物理マシン１０Ａの各機能について説明する。
【００２３】
通信制御部１１Ａは、ネットワークＮＷを介して各種通信を行う通信モジュールである。通信制御部１１Ａは、例えば、通信制御部１１Ｂとの間で、各種通信を行う。
制御部１２Ａ（第１処理部の一例）は、物理マシン１０Ａの制御を行う。制御部１２Ａは、例えば、通信制御部１１Ａから入力された入力情報、後述するディスク制御部１３Ａから入力された入力情報に基づいて、仮想マシン２０Ａの制御を行う。また、仮想マシン２０Ａから入力された入力情報に対応した出力情報を、通信制御部１１Ａを介して他の物理マシン（物理マシン１０Ｂ）に送信する。また、仮想マシン２０Ａから入力された入力情報に対応した出力情報を、ディスク制御部１３Ａに出力する。
【００２４】
ディスク制御部１３Ａは、記憶部１４Ａに対する読み出し及び書き込みを制御する。ディスク制御部１３Ａは、例えば、通信制御部１１Ａ又は制御部１２Ａから入力された入力情報に対応する情報を記憶部１４Ａに記憶させる。また、ディスク制御部１３Ａは、通信制御部１１Ａ又は制御部１２Ａから入力された入力情報に対応する情報を記憶部１４Ａから取得し、通信制御部１１Ａ又は制御部１２Ａに出力する。
記憶部１４Ａは、例えば、ハードディスクドライブ、メモリなどの記憶装置である。記憶部１４Ａは、ファームウェアやアプリケーションプログラムなど、制御部１２Ａが実行するための各種プログラム、及び、制御部１２Ａが実行した処理の結果などを記憶する。また、記憶部１４Ａは、仮想マシン２０Ａを実行するために必要な情報を記憶する。
仮想マシン２０Ａは、物理マシン１０Ａ上で動作する仮想的なマシンである。仮想マシン２０Ａの詳細については後述する。
【００２５】
次に、図２を用いて仮想マシンを含む物理マシン１０の詳細な構成について説明する。
図２は、本発明の一実施形態に係る情報処理システム１の構成の詳細な一例を示す概略ブロック図である。
【００２６】
物理マシン１０に備わる仮想マシン２０は仮想化した処理装置である。仮想マシン２０は、例えば、デスクトップパソコン、ノートパソコン、タブレット端末、スマートフォン、サーバなどを仮想化した処理装置である。
仮想マシン２０（２０Ａ、２０Ｂ）は、仮想マシン制御部２１（２１Ａ、２１Ｂ）、仮想ディスク制御部２２（２２Ａ、２２Ｂ）、及び、仮想記憶部２３（２３Ａ、２３Ｂ）を備える。なお、仮想マシン２０Ａが備える、仮想マシン制御部２１Ａ、仮想ディスク制御部２２Ａ、及び仮想記憶部２３Ａと、仮想マシン２０Ｂが備える、仮想マシン制御部２１Ｂ、仮想ディスク制御部２２Ｂ、及び仮想記憶部２３Ｂの各機能は基本的に同一である。すなわち、以下説明される仮想マシン２０Ａの各機能と、仮想マシン２０Ｂの各機能とは入れ替えることができる。
以下では、仮想マシン２０Ａの各機能について説明する。
【００２７】
仮想マシン制御部２１Ａは、仮想マシン２０Ａの制御を行う。
後述する仮想ディスク制御部２２Ａから入力された入力情報に基づいて仮想マシン２０Ａの制御を行う。また、仮想マシン２０Ａから入力された入力情報に対応した出力情報を、仮想ディスク制御部２２Ａに出力する。
【００２８】
仮想ディスク制御部２２Ａ（判定部の一例）は、仮想記憶部２３Ａの制御を行う。仮想ディスク制御部２２Ａは、例えば、仮想マシン制御部２１Ａから入力された入力情報に対応する情報を仮想記憶部２３Ａに記憶させる。また、仮想マシン制御部２１Ａは、仮想マシン制御部２１Ａから入力された入力情報に対応する出力情報を、仮想記憶部２３Ａから取得し、仮想マシン制御部２１Ａに出力する。
また、仮想ディスク制御部２２Ａは、仮想マシン２０Ａの外部との通信が必要な情報の送受信を行う。仮想ディスク制御部２２Ａは、仮想マシン制御部２１Ａから入力された入力情報のうち仮想マシン２０Ａの外部との通信が必要な情報を制御部１２Ａに出力する。また、仮想ディスク制御部２２Ａは、制御部１２Ａから受信した情報を、仮想マシン制御部２１Ａに出力するか、又は仮想記憶部２３Ａに記憶させる。
【００２９】
仮想記憶部２３Ａは、例えば、ハードディスクドライブ、メモリなどの記憶装置を仮想化したものである。仮想記憶部２３Ａは、ファームウェアやアプリケーションプログラムなど、仮想マシン制御部２１Ａが実行するための各種プログラム、及び、仮想マシン制御部２１Ａが実行した処理の結果などを記憶する。
【００３０】
仮想記憶部２３Ａは仮想的な記憶部であり、仮想記憶部２３Ａが記憶する実際の情報は、記憶部１４Ａに記憶されている。従って、仮想記憶部２３Ａに対する読み出し又は書き込みは、実際には制御部１２Ａを介して、記憶部１４に対する読み出し又は書き込みとして実現される。
例えば、仮想ディスク制御部２２Ａが仮想記憶部２３Ａに情報を書き込む場合、実際には、まず、仮想ディスク制御部２２Ａは、制御部１２Ａに書き込む情報を出力する。制御部１２Ａは仮想ディスク制御部２２Ａから入力される情報に基づいて、ディスク制御部１３Ａを介して、記憶部１４Ａに当該情報を書き込む。制御部１２Ａは書き込みが終了した情報を仮想ディスク制御部２２Ａに出力する。書き込み処理の詳細については後述する。
また、仮想ディスク制御部２２Ａが仮想記憶部２３Ａから情報を読み出す場合、実際には、まず、仮想ディスク制御部２２Ａは、制御部１２Ａに読み出す情報を出力する。制御部１２Ａは仮想ディスク制御部２２Ａから入力される情報に基づいて、ディスク制御部１３Ａを介して、記憶部１４Ａから当該情報を読み出す。制御部１２Ａは読み出した情報を仮想ディスク制御部２２Ａに出力する。
【００３１】
記憶部１４Ａは、仮想記憶部２３Ａに関する情報を、共有情報記憶部１４１Ａ、同期情報記憶部１４２Ａ、及び非同期情報記憶部１４３Ａに分けて記憶する。以下各記憶部について説明する。
【００３２】
共有情報記憶部１４１Ａは、複数の物理マシン１０で共有される共有情報を記憶する。共有情報は、記憶識別情報と対処情報とを含む。記憶識別情報とは、仮想記憶部２３Ａの情報と、同期情報記憶部１４２Ａ又は非同期情報記憶部１４３Ａのどちらに記憶させるかを示す情報とを関連付けた情報である。また、対処情報とは、非同期情報記憶部１４３Ａに記憶される情報と他の物理マシン１０Ｂで復元するための復元手段に関する情報（以下、「復元方法情報」とも称する）とを対応づけた情報である。
以下、共有情報記憶部１４１Ａが記憶する情報の一例について、図３、図４を用いて説明する。
【００３３】
図３は、本発明の一実施形態に係る共有情報記憶部１４１Ａの記憶識別情報の一例を示す図である。
図３に示す一例では、記憶識別情報（要否情報の一例）は、仮想記憶情報と、識別情報とを対応付けた情報である。仮想記憶情報は、仮想記憶部２３Ａが記憶するファイルやフォルダの位置を示す情報である。識別情報は、復元方法情報を識別するための識別子である。
図３に示す一例では、「仮想記憶情報」が“／・・・／ｔｅｍｐ／＊”で示される情報は、「識別情報」が“識別子１０１”であることを示す。なお、本実施形態では、同期情報については、復元の必要がない。そのため、仮想記憶部２３Ａのうち、同期情報に相当する情報については、記憶識別情報を有さない。すなわち、仮想記憶情報で示される情報は、全て非同期情報として記憶部１４Ａに記憶される情報である。
【００３４】
図４は、本発明の一実施形態に係る共有情報記憶部１４１Ａの対処情報の一例を示す図である。
図４に示す一例では、対処情報は、識別情報と復元方法情報とを対応付けた情報である。図４に示す一例では、「識別情報」が“識別子１０１”で識別される情報に対応する「復元方法情報」は“削除”である。これは“識別子１０１”で識別される情報は、例えば、仮想マシン２０Ａが一時的に利用するための情報であり、削除しても動作に影響を与えない情報であることを示す。また、図４に示す一例では、「識別情報」が“識別子１０２”で識別される情報に対応する「復元方法情報」は“共有記憶情報Ａで置換”である。これは、“識別子１０２”で識別される情報は、例えば、仮想マシン２０Ａの更新前の非同期情報と、共有記憶情報Ａに基づいて復元可能な情報であることを示す。また、この場合、共有情報記憶部１４１Ａは、共有記憶情報Ａを予め記憶する。
【００３５】
図２に戻って、同期情報記憶部１４２Ａは、同期情報を記憶する。また、同期情報記憶部１４２Ａは通信制御部１１Ａ及び通信制御部１１Ｂを介して、物理マシン１０Ｂの同期情報記憶部１４２Ｂと同期される。共有情報記憶部１４１Ａ、同期情報記憶部１４２Ａは、共有情報記憶部１４１Ｂ、同期情報記憶部１４２Ｂと同一の内容であるが、共有情報記憶部１４１Ａ及び共有情報記憶部１４１Ｂは前もって共有されているのに対し、同期情報記憶部１４２Ａ及び同期情報記憶部１４２Ｂは、仮想マシン２０Ａが仮想記憶部２３Ａの更新を行う場合に、同期される。
【００３６】
また、非同期情報記憶部１４３Ａは、非同期情報を記憶する。非同期情報は物理マシン１０Ａと物理マシン１０Ｂとの間で同期されない。従って、非同期情報記憶部１４３Ａと非同期情報記憶部１４３Ｂとは同一の内容ではないこともある。また、非同期情報が存在しない場合には、非同期情報記憶部１４３Ｂも存在しない。
【００３７】
続いて、仮想マシン制御部２１Ａが仮想ディスク制御部２２Ａに対して仮想記憶部２３Ａの更新（書き込みなど）を示す情報を出力する場合の処理について説明する。
【００３８】
図５は、本発明の一実施形態に係る仮想マシンの記憶情報の更新処理の一例を示すフローチャートである。
【００３９】
仮想マシン制御部２１Ａは、仮想記憶部２３Ａに対して更新を行う場合、仮想ディスク制御部２２Ａに対し、更新を行うことを示す情報を出力する（ステップＳ１００）。このとき、仮想マシン制御部２１Ａは更新対象及び更新内容を示す情報（以下、「更新内容情報」とも称する）についても、仮想ディスク制御部２２Ａに出力する。仮想ディスク制御部２２Ａは情報を受け入れると処理をステップＳ１０１に進める。
【００４０】
仮想ディスク制御部２２Ａは、記憶識別情報を読み出し、更新対象が同期情報であるか否かを判定する（ステップＳ１０１）。具体的には、仮想ディスク制御部２２Ａは、制御部１２Ａに記憶識別情報を要求する情報を出力する。制御部１２Ａは、ディスク制御部１３Ａを介して共有情報記憶部１４１Ａから記憶識別情報を取得する。制御部１２Ａは、取得した情報を仮想ディスク制御部２２Ａに出力する。仮想ディスク制御部２２Ａは、取得した記憶識別情報と、更新内容情報とに基づいて、更新対象が、記憶識別情報の仮想記憶情報に存在するか否かを判定する。
仮想ディスク制御部２２Ａは、更新対象が、記憶識別情報の仮想記憶情報に存在しない場合、更新対象は同期情報であると判定する（ステップＳ１０１：ＹＥＳ）。この場合、仮想ディスク制御部２２Ａは処理をステップＳ１０２に進める。
仮想ディスク制御部２２Ａは、更新対象が、記憶識別情報の仮想記憶情報に存在する場合、更新対象は同期情報でない（非同期情報である）と判定する（ステップＳ１０１：ＮＯ）。この場合、仮想ディスク制御部２２Ａは処理をステップＳ１０７に進める。
【００４１】
仮想ディスク制御部２２Ａは、制御部１２Ａに対して、更新内容情報を用いて同期情報を更新することを要求する情報を出力する（ステップＳ１０２）。具体的には、仮想ディスク制御部２２Ａは、識別情報を付加しない更新内容情報を制御部１２Ａに出力する。制御部１２Ａは仮想ディスク制御部２２Ａから入力された情報を受け入れると、処理をステップＳ１０３に進める。
【００４２】
制御部１２Ａ及びディスク制御部１３Ａは、更新内容情報に基づいて、同期情報記憶部１４２Ａを更新する（ステップＳ１０３）。具体的には、まず、制御部１２Ａは、受け入れた更新内容情報に識別情報が付加されていないことに基づいて、ディスク制御部１３Ａに対して、更新対象が、同期情報記憶部１４２Ａに記憶される情報であると判定する。制御部１２Ａは、判定結果に基づき、更新内容情報と、当該情報を同期情報記憶部１４２Ａに記憶させることを示す情報を出力する。ディスク制御部１３Ａは入力された情報に基づいて、同期情報記憶部１４２Ａの更新対象の情報を更新内容に基づいて更新する。ディスク制御部１３Ａは更新が終了すると、終了したことを示す情報を制御部１２Ａに出力する。制御部１２Ａは入力された情報を受け入れると、処理をステップＳ１０４に進める。
【００４３】
制御部１２Ａは、共有情報記憶部１４１Ｂの同期処理を要求する（ステップＳ１０４）。具体的には、制御部１２Ａは、識別情報の付加されていない更新内容情報を通信制御部１１Ａに出力する。通信制御部１１Ａは、受け入れた情報を、ネットワークＮＷを介して、他の物理マシン（物理マシン１０Ｂ）に送信する。通信制御部１１Ｂは受信した情報を制御部１２Ｂに出力する。制御部１２Ｂは入力された情報を受け入れると、処理をステップＳ１０５に進める。
【００４４】
制御部１２Ｂ（第２処理部の一例）は、受け入れた更新内容情報に識別情報が付加されていないことに基づいて、更新対象が、同期情報記憶部１４２Ｂに記憶される情報であると判定する。制御部１２Ｂは、判定結果に基づき、ディスク制御部１３Ｂに対して、更新内容情報と、当該情報を同期情報記憶部１４２Ｂに記憶させることを示す情報を出力する。ディスク制御部１３Ｂは入力された情報に基づき、同期情報記憶部１４２Ｂの更新対象となる情報を、更新内容に基づいて更新する。ディスク制御部１３Ｂは更新が終了すると、終了したことを示す情報を制御部１２Ｂに出力する。制御部１２Ｂは入力された情報を受け入れると、処理をステップＳ１０６に進める。
【００４５】
制御部１２Ｂは、同期処理が完了したことを示す情報を、物理マシン１０Ａに送信する（ステップＳ１０６）。具体的には、制御部１２Ｂは、同期処理が完了したことを示す情報を、通信制御部１１Ｂを介して物理マシン１０Ａに送信する。制御部１２Ａは、通信制御部１１Ａを介して物理マシン１０Ｂの同期処理が完了したことを示す情報を受け入れる。制御部１２Ａは、全ての他の物理マシン１０の同期処理が完了した場合、仮想ディスク制御部２２Ａに対し、更新完了を示す情報を送信し、更新処理を終了する。
【００４６】
仮想ディスク制御部２２Ａは、制御部１２Ａに対して、更新内容情報を用いて非同期情報を更新することを要求する情報を出力する（ステップＳ１０７）。具体的には、仮想ディスク制御部２２Ａは、記憶識別情報と更新対象とに基づいて、更新内容情報に識別情報を付加する。仮想ディスク制御部２２Ａは識別情報を付加した更新内容情報を、制御部１２Ａに出力する。制御部１２Ａは仮想ディスク制御部２２Ａから入力された情報を受け入れると、処理をステップＳ１０８に進める。
【００４７】
制御部１２Ａ及びディスク制御部１３Ａは、仮想ディスク制御部２２Ａから入力された情報に基づいて、非同期情報記憶部１４３Ａを更新する（ステップＳ１０８）。具体的には、まず、制御部１２Ａは、受け入れた更新内容情報に識別情報が付加されていることに基づいて、更新対象が、非同期情報記憶部１４３Ａに記憶される情報であると判定する。制御部１２Ａは、判定結果に基づいて、ディスク制御部１３Ａに対して、更新内容情報と、当該情報を非同期情報記憶部１４３Ａに記憶させることを示す情報を出力する。ディスク制御部１３Ａは入力された情報に基づき、非同期情報記憶部１４３Ａの更新対象の情報を更新内容に基づいて更新する。ディスク制御部１３Ａは更新が終了すると、終了したことを示す情報を制御部１２Ａに出力する。制御部１２Ａは入力された情報を受け入れると、処理をステップＳ１０９に進める。
【００４８】
制御部１２Ａは、非同期情報更新情報を同期情報記憶部１４２Ａに反映させる（ステップＳ１０９）。具体的には、まず制御部１２Ａは、更新内容情報に基づき、非同期情報記憶部１４３Ａに更新を行ったことを示す非同期情報更新情報を生成し、ディスク制御部１３Ａに出力する。ここで、非同期情報更新情報は、更新内容情報に付加された識別情報と、更新対象が非同期情報記憶部１４３Ａに記憶される情報であることを示す情報を含むが、更新内容は含まない。
ディスク制御部１３Ａは入力された情報を、同期情報記憶部１４２Ａに記憶させる。ディスク制御部１３Ａは処理を終了すると、終了したことを示す情報を制御部１２Ａに出力する。制御部１２Ａは入力された情報を受け入れると、処理をステップＳ１１０に進める。
【００４９】
制御部１２Ａは、非同期情報更新情報の同期処理を要求する（ステップＳ１１０）。具体的には、制御部１２Ａは、非同期情報更新情報を通信制御部１１Ａに出力する。通信制御部１１Ａは、受け入れた情報を、ネットワークＮＷを介して、他の物理マシン（物理マシン１０Ｂ）に送信する。通信制御部１１Ｂは受信した情報を制御部１２Ｂに出力する。制御部１２Ｂは入力された情報を受け入れると、処理をステップＳ１１１に進める。
【００５０】
制御部１２Ｂは、ディスク制御部１３Ｂに対して、受け入れた非同期情報更新情報と、当該情報を同期情報記憶部１４２Ｂに記憶させることを示す情報を出力する。ディスク制御部１３Ｂは入力された情報に基づき、同期情報記憶部１４２Ｂに非同期情報更新情報を反映する。ディスク制御部１３Ｂは処理が終了すると、終了したことを示す情報を制御部１２Ｂに出力する。制御部１２Ｂは入力された情報を受け入れると、処理をステップＳ１０６に進める。
制御部１２Ａは、上述した処理と同様の処理を行い、他の物理マシン１０の全てが非同期情報更新情報の更新を終了すると、仮想ディスク制御部２２Ａに対し、更新完了を示す情報を送信し、更新処理を終了する。
【００５１】
続いて、制御部１２Ｂが仮想マシン２０Ｂを起動する場合の処理について説明する。まず、物理マシン１０Ｂが物理マシン１０Ａに接続できる場合の処理について説明する。
図６は、本発明の一実施形態に係る他の物理マシンで仮想マシンを開始する場合の動作の一例を示すフローチャートである。
【００５２】
まず、制御部１２Ｂは、通信制御部１１Ｂを介して、非同期情報記憶部１４３Ａを要求する情報を物理マシン１０Ａに送信し（ステップＳ２００）、情報処理システム１は処理をステップＳ２０１に進める。
【００５３】
制御部１２Ａは、取得した情報に基づいて、非同期情報記憶部１４３Ａを制御部１２Ｂに送信する（ステップＳ２０１）。具体的には、まず、制御部１２Ａは、通信制御部１１Ａを介して、物理マシン１０Ｂから非同期情報記憶部１４３Ａを要求する情報を取得する。制御部１２Ａは、取得した情報をディスク制御部１３Ａに出力する。ディスク制御部１３Ａは入力された情報に基づいて非同期情報記憶部１４３Ａから、非同期情報を読み出す。ディスク制御部１３Ａは読み出した情報を制御部１２Ａに出力する。制御部１２Ａは、入力された情報を、通信制御部１１Ａを介して、物理マシン１０Ｂに送信する。その後、情報処理システム１は、処理をステップＳ２０２に進める。
【００５４】
制御部１２Ｂは、取得した情報を用いて非同期情報記憶部１４３Ｂを生成させる（ステップＳ２０３）。具体的には、制御部１２Ｂは、通信制御部１１Ｂを介して物理マシン１０Ａから受信した情報をディスク制御部１３Ｂに出力する。ディスク制御部１３Ｂは受け入れた情報を非同期情報記憶部１４３Ｂとして、記憶部１４Ｂに記憶させる。ディスク制御部１３Ｂは、処理を終了すると、処理が終了したことを示す情報を制御部１２Ｂに出力する。制御部１２Ｂは入力された情報を受け入れると、処理をステップＳ２０３に進める。
【００５５】
制御部１２Ｂは、仮想マシン２０Ｂを開始する（ステップＳ２０３）。制御部１２Ｂは、同期情報記憶部１４２Ｂ及び非同期情報記憶部１４３Ｂが記憶部１４Ｂに存在することに基づいて、仮想マシン２０Ｂの起動処理を開始する。同期情報記憶部１４２Ｂ及び非同期情報記憶部１４３Ｂは、同期情報記憶部１４２Ａ及び非同期情報記憶部１４３Ａと同一の内容であるので、仮想マシン２０Ｂは仮想マシン２０Ａの終了時と同じ状態で開始することができる。
以上が、制御部１２Ｂが仮想マシン２０Ｂを起動する場合の処理の説明である。
【００５６】
続いて、何らかの理由によって物理マシン１０Ａに接続できない場合に、制御部１２Ｂが仮想マシン２０Ｂを起動する場合の処理について説明する。また、以下の処理においては、予め記憶部１４Ｂに記憶されている非同期情報はなく、非同期情報記憶部１４３Ｂが存在しない場合について説明するが、本実施形態はこれに限られない。
図７は、本発明の一実施形態に係る他の物理マシンで仮想マシンを開始する場合の動作の別の一例を示すフローチャートである。
【００５７】
まず、制御部１２Ｂは、非同期情報に関する情報を取得する（ステップＳ３００）。具体的には、まず、制御部１２Ｂは、ディスク制御部１３Ｂに非同期情報更新情報を要求する情報を出力する。ディスク制御部１３Ｂは、受け入れた情報に基づいて、同期情報記憶部１４２Ｂから非同期情報更新情報を取得する。ディスク制御部１３Ｂは取得した情報を制御部１２Ｂに出力する。ディスク制御部１３Ｂは、非同期情報更新情報が同期情報記憶部１４２Ｂに存在しない場合、存在しないことを示す情報を制御部１２Ｂに出力する。制御部１２Ｂは、入力された情報を受け入れ、処理をステップＳ３０１に進める。
【００５８】
制御部１２Ｂは、非同期情報があるか否かを判定する（ステップＳ３０１）。具体的には、制御部１２Ｂは取得した情報が非同期情報更新情報である場合、非同期情報があると判定する（ステップＳ３０１：ＹＥＳ）。この場合、制御部１２Ｂは処理をステップＳ３０２に進める。また、制御部１２Ｂは、取得した情報が非同期情報更新情報がないことを示す情報である場合、非同期情報がないと判定する（ステップＳ３０１：ＮＯ）。この場合、制御部１２Ｂは処理をステップＳ３０５に進める。
【００５９】
制御部１２Ｂは、共有情報を取得する（ステップＳ３０２）。具体的には、制御部１２Ｂは、非同期情報更新情報に含まれる識別情報を取得する。制御部１２Ｂは、取得した識別情報と一致する対処情報を要求する情報をディスク制御部１３Ｂに出力する。ディスク制御部１３Ｂは入力された情報を受け入れ、共有情報記憶部１４１Ｂから、受け入れた識別情報と一致する対処情報を取得する。ディスク制御部１３Ｂは、取得した対処情報を制御部１２Ｂに出力する。制御部１２Ｂは、対処情報を取得すると、処理をステップＳ３０３に進める。
【００６０】
制御部１２Ｂは、非同期情報を生成する（ステップＳ３０３）。具体的には、制御部１２Ｂは、取得した対処情報と、非同期情報更新情報とに基づいて、非同期情報を生成する。制御部１２Ｂは、生成した非同期情報を記憶させる情報をディスク制御部１３Ｂに出力する。ディスク制御部１３Ｂは、非同期情報を非同期情報記憶部１４３Ｂに記憶させる。ディスク制御部１３Ｂは処理が完了すると、制御部１２Ｂに完了したことを示す情報を出力する。制御部１２Ｂは、入力された情報を受け入れると、処理をステップＳ３０４に進める。
【００６１】
制御部１２Ｂは、仮想マシン２０Ｂを開始する（ステップＳ３０４）。制御部１２Ｂは、同期情報記憶部１４２Ｂ及び非同期情報記憶部１４３Ｂが記憶部１４Ｂに存在することに基づいて、仮想マシン２０Ｂの起動処理を開始する。
【００６２】
制御部１２Ｂは、非同期情報がない場合、空の非同期情報を作成する（ステップＳ３０５）。具体的には、制御部１２Ｂは、空の非同期情報を作成することを指示する情報をディスク制御部１３Ｂに出力する。ディスク制御部１３Ｂは、入力された情報に基づいて、非同期情報記憶部１４３Ｂが空であることを示す情報を生成する。ディスク制御部１３Ｂは処理が完了すると、制御部１２Ｂに完了したことを制御部１２Ｂに完了したことを示す情報を出力する。制御部１２Ｂは、入力された情報を受け入れると、処理をステップＳ３０４に進める。
以上が、物理マシン１０Ａに接続できない場合に、制御部１２Ｂが仮想マシン２０Ｂを起動する場合の処理の説明である。
【００６３】
以上説明したように、情報処理システム１は、異なる物理マシン上で動作する仮想マシンを備え、第１の物理マシン（物理マシン１０Ａ）上で動作する第１の仮想マシン（仮想マシン２０Ａ）と、第２の物理マシン（物理マシン１０Ｂ）上で動作する第２の仮想マシン（仮想マシン２０Ｂ）との間で前記仮想マシンの記憶情報を共有する情報処理システムにおいて、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報（例えば、記憶識別情報）と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する判定部（例えば、仮想ディスク制御部２２Ａ）と、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する第１処理部（制御部１２Ａ）とを備える。
【００６４】
これにより、情報処理システム１は、物理マシン１０Ａと物理マシン１０Ｂとの間で更新情報の全てを同期することなく、仮想マシンに関する記憶情報を共有することが可能になる。これにより、ネットワークＮＷを介して送受信する情報が少なくなることでネットワークＮＷを介する他の送受信情報への影響が小さくなる。そのため応答性の低下を抑制することができる。また、同期する情報が少なくなるため、同期処理に必要なリソースを低減することができ、他の処理の効率を高めることができる。そのため、効率性の低下を抑制することができる。
【００６５】
また、情報処理システム１の前記判定部は、前記記憶情報が更新されるときに、前記記憶情報と前記要否情報とに基づいて、更新される前記記憶情報のうち、前記同期情報に含まれる情報を更新同期情報と判定し、更新される前記記憶情報のうち、前記非同期情報に含まれる情報を更新非同期情報と判定し、前記第１処理部は、前記更新同期情報について、前記同期処理を実行する。
これにより、情報処理システム１は、更新毎に全ての更新情報を同期することなく、物理マシン１０Ａと物理マシン１０Ｂとの間で更新情報の全てを同期することなく、仮想マシンに関する記憶情報を共有することが可能になる。これにより、ネットワークＮＷを介して送受信する情報が少なくなることでネットワークＮＷを介する他の送受信情報への影響が小さくなる。そのため、応答性や効率性の低下を抑制することができる。
【００６６】
また、前記第１処理部は、前記更新非同期情報がある場合に、前記非同期情報の更新が行われることを示す非同期情報更新情報を生成し、前記非同期情報更新情報について前記同期処理を行う。
これにより、情報処理システム１は、更新時に同期が行われない非同期情報についても、更新が行われたかどうかを知らせることができる。更新が行われた非同期情報については、他の物理マシン上で仮想マシンを動作させる場合にのみ取得すればよいので、通信負荷を軽減することができ、応答性や効率性の低下を抑制することができる。
【００６７】
また、情報処理システム１は、前記非同期情報更新情報と前記非同期情報を更新するための情報とを対応付けた対処情報と、前記非同期情報更新情報とに基づいて、前記非同期情報の更新を行う第２処理部を更に備える。
これにより、他の物理マシン上の非同期情報についても更新を行うことが可能になり、複数の物理マシン間上で動作する仮想マシンの記憶情報を、通信負荷を軽減したまま、共有することができる。そのため、応答性や効率性の低下を抑制することができる。
【００６８】
図８は、上記の実施形態に関わる情報処理システムの最小構成の一例を示すブロック図である。
この図に示すように、異なる物理マシン上で動作する仮想マシンを備え、第１の前記物理マシン上で動作する第１の前記仮想マシンと、第２の前記物理マシン上で動作する第２の前記仮想マシンとの間で前記仮想マシンの記憶情報を共有する情報処理システム１は、少なくとも判定部１０１と第１処理部１０２とを備える。
判定部１０１は、前記記憶情報と、前記第１の仮想マシンと前記第２の仮想マシンとの間で同期の要否を示す要否情報と、に基づいて、前記同期の必要な前記記憶情報を同期情報と判定し、前記同期の不要な前記記憶情報を非同期情報と判定する。
第１処理部１０２は、前記同期情報について、複数の前記仮想マシンの間で同期処理を実行する。
【００６９】
なお、上述した実施形態において、非同期情報は、複数の物理マシン１０間で共有しない例を説明したが、これには限られない。例えば、定期的に複数の物理マシン１０間で非同期情報の差分情報を共有してもよい。この場合、共有後に起動した仮想マシン２０において更新された非同期情報に関する情報だけを、非同期情報更新情報として同期してもよい。
【００７０】
また、上述した実施形態において、共有情報記憶部１４１（１４１Ａ、１４１Ｂ）は、各物理マシン１０で同じものを保持する例を説明したが、これには限られない。例えば、共有ディスク装置や、ネットワークＮＷを介して接続された記憶装置上に共有情報が存在し、各物理マシン１０は、当該共有情報を参照してもよい。
【００７１】
また、上述した実施形態において、物理マシン１０Ａに接続できず非同期情報記憶部１４３Ａを取得できない場合に、非同期情報更新情報を用いて非同期情報を生成する例を説明したが、これには限られない。例えば、制御部１２Ｂは、非同期情報更新情報を無効化させ、空の非同期情報記憶部１４３Ｂを作成するようにしてもよい。
【００７２】
また、上述した実施形態において、物理マシン１０は、例えば、ネットワークＮＷを介して、ユーザが所持するデスクトップパソコン、ノートパソコン、タブレット端末、スマートフォンなどから接続されるサーバなどの処理装置である例を説明したが、これには限られない。例えば、ユーザが所持するデスクトップパソコン、ノートパソコン、タブレット端末、スマートフォンなどの端末装置であってもよい。
【００７３】
また、上述した実施形態において、識別情報は非同期情報についてのみ付加される例を説明したが、これには限られない。例えば、同期情報については同期情報であることを示す識別情報が付加されるようであってもよい。このとき、制御部１２は識別情報に基づいて、更新内容情報が同期情報であるか非同期情報であるかを判定する。
【００７４】
また、上述した各実施形態において、制御部１２Ａとディスク制御部１３Ａとが同一の物理マシン１０Ａに含まれる例を説明したが、これには限られない。例えば、ディスク制御部１３Ａ、記憶部１４Ａを含む記憶装置Ａが物理マシン１０Ａの外部に備えられてもよい。同様にディスク制御部１３Ｂ、記憶部１４Ｂを含む記憶装置Ｂが物理マシン１０Ｂの外部に備えられてもよい。なお、記憶装置Ａと記憶装置Ｂとは異なる。
【００７５】
また、上述した実施形態における物理マシン１０の一部、例えば、制御部１２（１２Ａ、１２Ｂ）などをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、物理マシン１０に内蔵されたコンピュータシステムであって、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。
【００７６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７７】
また、上述した実施形態における物理マシン１０の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。情報処理システム１の各機能部は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００７８】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【符号の説明】
【００７９】
１・・・情報処理システム、１０、１０Ａ、１０Ｂ・・・物理マシン、１１、１１Ａ、１１Ｂ・・・通信制御部、１２、１２Ａ、１２Ｂ・・・制御部、１３、１３Ａ、１３Ｂ・・・ディスク制御部、１４、１４Ａ、１４Ｂ・・・記憶部、１４１Ａ、１４１Ｂ・・・共有情報記憶部、１４２Ａ、１４２Ｂ・・・同期情報記憶部、１４３Ａ、１４３Ｂ・・・非同期情報記憶部、２０、２０Ａ、２０Ｂ・・・仮想マシン、２１、２１Ａ、２１Ｂ・・・仮想マシン制御部、２２、２２Ａ、２２Ｂ・・・仮想ディスク制御部、２３、２３Ａ、２３Ｂ・・・仮想記憶部
【図１】
2020160653.tif 000003
【図２】
2020160653.tif 000004
【図３】
2020160653.tif 000005
【図４】
2020160653.tif 000006
【図５】
2020160653.tif 000007
【図６】
2020160653.tif 000008
【図７】
2020160653.tif 000009
【図８】
2020160653.tif 000010