"運用系と待機系で共有ストレージを有し、運用系の物理マシン上で動作する仮想マシンの実行状態と待機系の物理マシン上で動作する仮想マシンのメモリの内容を任意のタイミングで同期させるメモリ同期システムであって、前記運用系の仮想マシンは、前記共有ストレージに読み出し命令が発生すると、該読み出し命令の読み込み位置及び読み出し位置及び読み出しサイズを記憶手段に格納する読み出し命令捕捉手段と、前記共有ストレージに書き込み命令が発生すると、前回同期時からの差分情報を取得して前記待機系の仮想マシンに送信する差分情報転送手段と、前記記憶手段から前記読み込み位置、前記読み出し位置、前記読み出しサイズを取得して、前記待機系に転送する同期データ転送手段と、を有し、前記待機系の仮想マシンは、前記運用系の仮想マシンから受信した該運用系の仮想マシンの前記差分情報を当該待機系の仮想マシンに反映させる差分情報反映手段と、前記運用系の仮想マシンから受信した前記読み込み位置で指定される待機系の仮想マシンメモリに、前記読み出し位置で指定される前記共有ストレージのデータを、前記読み出しサイズ分読み込む同期手段と、を有することを特徴とするメモリ同期システム。運用系と待機系で共有ストレージを有し、運用系の物理マシン上で動作する仮想マシンのメモリと待機系の物理マシン上で動作する仮想マシンのメモリを任意のタイミングで同期させるメモリ同期方法であって、前記運用系の仮想マシンにおいて、読み出し命令捕捉手段が、前記共有ストレージに読み出し命令が発生すると、該読み出し命令の読み込み位置及び読み出し位置及び読み出しサイズを記憶手段に格納する読み出し命令捕捉ステップと、差分情報転送手段が、前記共有ストレージに書き込み命令が発生すると、前回同期時からの差分情報を取得して前記待機系の仮想マシンに送信する差分情報転送ステップと、同期データ転送手段が、前記記憶手段から前記読み込み位置、前記読み出し位置、前記読み出しサイズを取得して、前記待機系に転送する同期データ転送ステップと、前記待機系の仮想マシンにおいて、差分情報反映手段が、前記運用系の仮想マシンから受信した該運用系の仮想マシンの前記差分情報を当該待機系の仮想マシンに反映させる差分情報反映ステップと、同期手段が、前記運用系の仮想マシンから受信した前記読み込み位置で指定される待機系の仮想マシンメモリに、前記読み出し位置で指定される前記共有ストレージのデータを、前記読み出しサイズ分読み込む同期ステップと、を行うことを特徴とするメモリ同期方法。運用系と待機系で共有ストレージを有し、運用系の物理マシン上で動作する仮想マシンのメモリと待機系の物理マシン上で動作する仮想マシンのメモリを任意のタイミングで同期させる同期システムにおける運用系の仮想マシンであって、前記共有ストレージに読み出し命令が発生すると、該読み出し命令の読み込み位置及び読み出し位置及び読み出しサイズを記憶手段に格納する読み出し命令捕捉手段と、前記共有ストレージに書き込み命令が発生すると、前回同期時からの差分情報を取得して前記待機系の仮想マシンに送信する差分情報転送手段と、前記記憶手段から前記読み込み位置、前記読み出し位置、前記読み出しサイズを取得して、前記待機系に転送する同期データ転送手段と、を有することを特徴とする運用系の仮想マシン。運用系と待機系で共有ストレージを有し、運用系の物理マシン上で動作する仮想マシンのメモリと待機系の物理マシン上で動作する仮想マシンのメモリを任意のタイミングで同期させる同期システムにおける待機系の仮想マシンであって、前記運用系の仮想マシンから受信した該運用系の仮想マシンにおける、前回同期時からの前記差分情報を当該待機系の仮想マシンに反映させる差分情報反映手段と、前記運用系の仮想マシンから読み込み位置、読み出し位置、読み出しサイズを受信し、該読み込み位置で指定される待機系の仮想マシンメモリに、該読み出し位置で指定される前記共有ストレージのデータを、該読み出しサイズ分読み込む同期手段と、を有することを特徴とする待機系の仮想マシン。コンピュータを、請求項3または4記載の仮想マシンとして機能させるためのメモリ同期プログラム。しかしながら、上記の非特許文献1の技術は、ストレージの読み出しにより変更が生じた仮想マシンのメモリを一致させるために、メモリのデータそのものを転送する方式であるので、転送量が大きいという問題がある。また、非特許文献2の技術は、ストレージの読み出しにより、変更が生じた仮想マシンのメモリを一致させるために、メモリデータそのものを転送する方式であるので、転送量が大きいという問題がある。また、非特許文献3の技術は、ストレージの読み出しにより、変更が生じた仮想マシンのメモリを一致させるために、メモリデータそのものを転送する方式であるので、転送量が大きいという問題がある。また、特許文献1の技術は、マスタは記憶装置にあるデータそのものをスレーブに転送するので、転送量が大きいという問題がある。本発明は、上記の点に鑑みなされたもので、運用系と待機系のストレージが一致している場合例えば、共有ストレージの利用に、データ転送量を削減することが可能なメモリ同期方法及び運用系の仮想マシン及び待機系の仮想マシン及びメモリ同期プログラムを提供することを目的とする。上記の課題を解決するために、本発明は、運用系と待機系で共有ストレージを有し、運用系の物理マシン上で動作する仮想マシンの実行状態と待機系の物理マシン上で動作する仮想マシンのメモリの内容を任意のタイミングで同期させるメモリ同期システムであって、前記運用系の仮想マシンにおいて、読み出し命令捕捉手段が、前記共有ストレージに読み出し命令が発生すると、該読み出し命令の読み込み位置及び読み出し位置及び読み出しサイズを記憶手段に格納する読み出し命令捕捉ステップと、差分情報転送手段が、前記共有ストレージに書き込み命令が発生すると、前回同期時からの差分情報を取得して前記待機系の仮想マシンに送信する差分情報転送ステップと、同期データ転送手段が、前記記憶手段から前記読み込み位置、前記読み出し位置、前記読み出しサイズを取得して、前記待機系に転送する同期データ転送ステップと、前記待機系の仮想マシンにおいて、差分情報反映手段が、前記運用系の仮想マシンから受信した該運用系の仮想マシンの前記差分情報を当該待機系の仮想マシンに反映させる差分情報反映ステップと、同期手段が、前記運用系の仮想マシンから受信した前記読み込み位置で指定される待機系の仮想マシンメモリに、前記読み出し位置で指定される前記共有ストレージのデータを、前記読み出しサイズ分読み込む同期ステップと、を行う。上記のように本発明は、運用系と待機系において共有ストレージを利用している場合に、運用系の仮想マシンの実行状態の差分とストレージ読み出し命令の内容読み込み位置、読み出し位置、読み出しサイズを待機系に転送することにより、運用系と待機系の仮想マシンメモリを一致させているため、データそのものを転送する必要がないため、転送量を削減することができる。また、待機系では運用系から取得した読み出し命令に基づいて、共有ストレージの読み出しを行うため、メモリの状態を一致させることができる。以下、図面と共に、本発明の実施の形態を説明する。本発明において、同期とは、運用系の物理マシン上で動作する仮想マシンの実行状態CPU,メモリ、デバイスと、待機系の物理マシン上で動作する仮想マシンの実行状態を任意のタイミングで一致させる処理であり、継続的に行われるものとする。本発明のシステム構成は、前述の図1と同様の構成であるが、同期制御部11で行われる処理が異なる。なお、以下において、運用系の仮想マシン20Aでは、アプリケーションが動作しているため、実行状態は常に更新されていくものとし、待機系の仮想マシン20Bでは、アプリケーションが動作していないため、実行状態は変化しない、という前提とする。また、以下の実施の形態では、運用系1Aと待機系1Bは共に共有ストレージ2を用いるものとする。まず、運用系1Aの同期制御部11Aの処理について説明する。図4は、本発明の一実施の形態における運用系の同期制御部の全体のフローチャートである。ステップ310同期制御部11Aは、共有ストレージ2に対する読み出しが発生したかを判断し、発生した場合にはステップ320に移行する。ステップ320同期制御部11Aは、共有ストレージ2からの読み出しを捕捉し、当該読み出し命令を主記憶装置等の記憶手段図示せずに格納する。当該処理の詳細については、図5にて後述する。ステップ330次に、同期制御部11Aは、運用系のストレージ書き込みが発生したかを判定し、発生したことを検知した場合には、同期を開始する。なお、このための処理としては、図2非特許文献2と同様に、共有ストレージ2への書き込みを契機に同期処理を行う方法と同様である。ステップ340同期制御部11Aは、運用系1Aと待機系1Bを同期させるために必要なデータを待機系1Bに転送する。当該処理の詳細いついては図6にて後述する。次に、上記のステップ320の処理について説明する。図5は、本発明の一実施の形態におけるステップ320の詳細フローチャートである。ステップ410同期制御部11Aは、仮想マシン20Aによるストレージ2からの読み出しを捕捉する。ステップ420同期制御部11Aは、ストレージ読み出しを検知すると、ストレージ読み出し命令を主記憶装置等の記憶手段図示せずに格納する。ここで、格納されるストレージ読み出し命令の情報としては、読み込み位置例えば、仮想マシンのページアドレス、読み出し位置例えば、ストレージ2のセクタ番号、読み出しサイズ等である。次に、図4のステップ340の処理について説明する。非特許文献2とは、待機系の同期制御部11Bに送信する情報が異なる。図6は、本発明の一実施の形態におけるステップ340の詳細フローチャートである。ステップ510同期制御部11Aは、運用系の仮想マシン20Aより、前回同期時からの差分メモリを取得する。但し、ストレージ読み出しにより変更が生じたメモリは除く。運用系仮想マシン20Aの実行状態の差分CPU,差分メモリ、デバイスを待機系1Bの同期制御部11Bに送信する。ステップ520同期制御部11Aは、ステップ320で記憶手段図示せずに格納したストレージの読み出し命令読み出しデータの位置、読み込み位置、読み込みサイズを取り出し、待機系1Bの同期制御部11Bへ送信する。なお、本データは複数個からなることもある。ステップ530受信側の待機系1Bから全データの受信完了通知が送信されてきたかを判断し、送信されてきた場合はステップ540に移行する。ステップ540ステップ520で記憶手段図示せずに保存したストレージの読み出し命令を破棄する。これは、次回同期時に、同一のデータの転送を防ぐための処理である。次に、待機系1Bの処理について説明する。図7は、本発明の一実施の形態における待機系の同期制御部のフローチャートである。ステップ610同期制御部11Bは、前述のステップ510、520の処理によって運用系1Aから送信されている運用系1Aの仮想マシン20Aの実行状態の差分及びストレージ2に対する読み出し命令等の同期用のデータを受信したかを判断し、受信した場合はステップ620に移行する。ステップ620受信した運用系1Aの仮想マシン20Aの実行状態の差分を待機系1Bの仮想マシン20Bの実行状態に反映させる。ステップ630同期制御部11Bは、待機系ストレージ2のデータ及びストレージデータの読み出し命令読み込み位置、読み出しデータの位置、読み出しサイズが入力されると、読み込み位置で指定される主記憶装置上の仮想マシンメモリに、読み出しデータの位置で指定されるストレージ2のデータを、指定されているサイズ分読み込む。これにより、運用系1Aの仮想マシンメモリと待機系の仮想マシンメモリを一致させることができる。ステップ640運用系側からの全データの受信完了通知を運用系1Aに送信する。上記のように、本発明では、ステップ420において、ストレージ読み出し命令を運用系1Aの記憶手段に保存しているため、ステップ520及びステップ630で利用することができる。つまり、ストレージデータを読み出すことにより運用系1の仮想マシンのメモリに変更が生じても、ストレージ2には同じストレージデータが存在しているので、データそのものは転送する必要がない。仮想マシンメモリの代わりに転送するストレージ読み出し命令のデータサイズは、仮想マシンメモリそのもののデータと比較して十分に小さいので転送量を削減できる。また、待機系1Bは、ステップ630においてストレージデータの読み出し命令に基づいて運用系1Aと同様のストレージ2から読み出しを行うため、メモリの状態を一致させることができる。上記の実施の形態では、運用系マシンと待機系マシンが1:1の場合を示したが、以下に運用系マシンと待機系マシンがN:1,または、1:Nの例を示す。図8は、本発明の一実施の形態における物理マシンの構成を示す図その1である。同図に示す構成において、運用系マシンAと待機系マシンBは、ストレージaを共有し、待機系マシンBとはストレージbを共有している。物理マシンの構成に関しては、運用系マシン数:待機系マシン数=N:1の構成をとることが可能である。同図に示す待機系マシンの仮想マシンの1つは、運用系マシンAの仮想マシンと同期し、もう一方の仮想マシンは運用系マシンBと同期する。但し、仮想マシンの構成に関しては、運用系仮想マシン数:待機系仮想マシン数=N:1と、運用系仮想マシンのバックアップとなる待機系仮想マシンが、一つ以上必要となる。なお、ある運用系仮想マシンのバックアップの先に待機系仮想マシンが複数ある場合は、運用系の故障後、どちらを新たに運用系とするか選択する必要がある。また、ストレージを同一状態に保つための構成は図8の例に限らない。例えば、運用系、待機系がそれぞれ別々のストレージを利用し、常に同一に保つ処理を行ってもよい。図9は、本発明の一実施の形態における物理マシンの構成を示す図その2である。同図に示す構成において、運用系と待機系A,Bは、ストレージを共有している。同図に示すように、物理マシンのン構成に関しては、運用系マシン数:待機系マシン数=1:Nの構成をとることが可能である。同図に示す待機系マシンA,B上の仮想マシンは両方とも、運用系の仮想マシンと同期している。但し、仮想マシンの構成に関しては、運用系仮想マシン数:待機系仮想マシン数=1:Nと、運用系仮想マシンのバックアップとなる待機系仮想マシンが、一つ以上必要となる。なお、ある運用系仮想マシンのバックアップの先に待機系仮想マシンが複数ある場合は、運用系の故障後、どちらを新たに運用系とするか選択する必要がある。また、ストレージを同一状態に保つための構成は図8、9の例に限定されることなく、例えば、運用系、待機系がそれぞれ別々のストレージを利用し、常に同一に保つ処理を行ってもよい。次に、本発明と従来技術の性能評価の結果を示す。図10は、評価のための実験環境を示す。同図において、評価のあめに、実験環境となるマシンを2台用意し、一方を運用系システム、もう一方を待機系システムとする。運用系のゲストOS上で、ファイルコピーを実行し、負荷をかけている。図11は、本発明と従来技術の同期一回当りのデータ転送量を示す。同図のデータは、運用系と待機系を100回同期させた時に発生したデータ転送量の平均値である。本発明を利用した場合は、従来技術非特許文献2と比較して、以下の効果を得ることができた。なお、本発明と非特許文献2の同期のタイミングは同一のため、発生する同期回数に変化はない。全体その他ストレージ読み出しにより変更が生じたメモリ情報としては、571KBから494KBとなり、13のデータ転送量が削減できた。なお、上記のその他とは、仮想マシン実行状態CPU,デバイス、メモリからストレージ読み出しにより変更が生じたメモリデータサイズを差し引いたものである。ストレージ読み出しにより変更が生じたメモリ情報としては、77KBから0.14KBとなり、99のデータ転送量が削減できた。なお、上記のストレージ読み出しによる変更が生じたメモリ情報とは、従来技術非特許文献2の場合はメモリデータであり、本発明の場合はストレージ読み出し命令である。なお、運用系及び待機系の同期制御部の動作をプログラムとして構築し、仮想マシンとして利用される物理マシンにインストールして実行させることが可能である。本発明は上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更応用が可能である。"