"複数のデータ処理装置に含まれる第1データ処理装置が、データの写しを作成するとともに前記データの写しを保存するメモリの第1アドレスを含む復元情報を作成し、前記複数のデータ処理装置に含まれる第2データ処理装置に前記データまたは前記データの写しを送信し、前記複数のデータ処理装置の少なくとも一のデータ処理装置のメモリであって前記複数のデータ処理装置で共有される共有メモリに前記復元情報を保存することを特徴とするデータ処理方法。前記データの写しが送信されるとき、通信速度に基づいて前記複数のデータ処理装置の中から前記第2データ処理装置が選択されることを特徴とする請求項1に記載のデータ処理方法。前記データは、前記第1データ処理装置のメモリに保存されることを特徴とする請求項2に記載のデータ処理方法。前記データが送信されるとき、前記データの写しは前記第1データ処理装置のメモリに保存されることを特徴とする請求項1乃至請求項3の何れか一に記載のデータ処理方法。前記復元情報は、前記データの写しを保存するメモリを含むデータ処理装置の識別子と、前記データを保存するメモリを含むデータ処理装置の識別子と、前記メモリに保存される前記データのアドレスと、を含むことを特徴とする請求項1乃至請求項4の何れか一に記載のデータ処理方法。前記復元情報は、前記データを保存するメモリを含むデータ処理装置の識別子と前記メモリに保存される前記データのアドレスとを含み、前記復元情報の識別子が前記共有メモリに保存される他の復元情報の識別子と一致するときは、前記他の復元情報のアドレスを前記復元情報のアドレスに更新することを特徴とする請求項1乃至請求項4の何れか一に記載のデータ処理方法。前記データの読み出しエラーが発生するとき、前記共有メモリに保存される前記復元情報に基づいて前記データの写しを読み出すことを特徴とする請求項1乃至請求項6の何れか一に記載のデータ処理方法。複数のデータ処理装置のうちの第1データ処理装置で機能するとともにメモリアクセス情報に基づくデータの写しを作成する制御ユニットと、前記メモリアクセス情報に基づいて、前記複数のデータ処理装置の第2データ処理装置に前記データの写しを送信するかまたは前記データの写しを前記第1データ処理装置のメモリに保存する通信ユニットと、前記データの写しを保存するメモリのアドレスを含む復元情報を作成するとともに、前記複数のデータ処理装置で共有される共有メモリに前記復元情報を保存する復元ユニットと、を含むデータ処理システム。前記複数のデータ処理装置の通信速度を取得する通信速度監視ユニットを含むことを特徴とする請求項8に記載のデータ処理システム。前記通信ユニットは、前記通信速度に基づいて前記第2データ処理装置を選択することを特徴とする請求項9に記載のデータ処理システム。前記通信ユニットは、前記第2データ処理装置から前記アドレスを取得し、前記復元ユニットに送信することを特徴とする請求項8乃至請求項10の何れか一に記載のデータ処理システム。前記通信ユニットは、前記メモリアクセスが前記第1データ処理装置に対するときは前記データの写しを前記第2データ処理装置に送信し、前記メモリアクセスが前記第1データ処理装置以外のデータ処理装置に対するときは前記データの写しを前記第1データ処理装置のメモリに保存することを特徴とする請求項8乃至請求項11の何れか一に記載のデータ処理システム。前記復元情報は、前記データを保存するメモリを含むデータ処理装置の識別子と前記メモリに保存される前記データのアドレスとを含み、前記復元ユニットは、前記復元情報の識別子が前記共有メモリに保存される他の復元情報の識別子と一致するときは、前記他の復元情報のアドレスを前記復元情報のアドレスに更新することを特徴とする請求項8乃至請求項12の何れか一に記載のデータ処理システム。前記通信ユニットは、前記データの写しを送信されるとき、通信速度に基づいて前記複数のデータ処理装置の中から前記第2データ処理装置を選択することを特徴とする請求項8乃至請求項13の何れか一に記載のデータ処理システム。しかしながら、上記特許文献1,2の技術では、ネットワーク障害などで端末間のつながりが途切れるとデータの参照がおこなえず、仮想的な共有メモリが破壊される問題があった。また、特許文献3の技術によるバックアップでは、バックアップをとるために送信する補助データおよびパリティデータのサイズが大きく、書込み要求が発生してからすべての処理が完了するまでに時間を要するため、バックアップの応答性能を向上できなかった。上記各特許文献の技術では、ネットワークを通じて補助データやパリティデータを頻繁にやりとりするが、ネットワークの通信速度は、端末内部のメモリの読み書きの速度に対して圧倒的に遅い。したがって、書込み要求が発生してからすべての処理が完了するまでの時間のうち、通信に多くの時間を要することとなり、高い応答性能を実現することが困難である。これにより、仮想共有メモリが破壊されたとき、その復旧に時間がかかることになる。開示のデータ処理方法およびデータ処理システムは、上述した問題点を解消するものであり、複数の端末間で構築する仮想共有メモリの信頼性を高め、効率的に復元できることを目的とする。上述した課題を解決し、目的を達成するため、開示技術は、複数のデータ処理装置に含まれる第1データ処理装置が、データの写しを作成するとともに前記データの写しを保存するメモリの第1アドレスを含む復元情報を作成し、前記複数のデータ処理装置に含まれる第2データ処理装置に前記データまたは前記データの写しを送信し、前記複数のデータ処理装置の少なくとも一のデータ処理装置のメモリであって前記複数のデータ処理装置で共有される共有メモリに前記復元情報を保存すること、を含む。開示のデータ処理方法およびデータ処理システムによれば、複数の端末間で構築する仮想共有メモリの信頼性を高め、効率的に復元できるという効果を奏する。実施の形態開示技術は、複数の端末でデータを共有し、仮想共有メモリを形成する。そして、データの冗長情報を何れかの端末に保存しておく。この際、データの書込み先に基づき、冗長情報を書込む先を選択する。この冗長情報として、耐障害性を高めるためにデータのコピーを用いる。仮想共有メモリにデータを書込む際、実際の書込み先物理メモリが他端末の物理メモリであった場合、コピーを自端末に書込む。書込み先が自端末の物理メモリであった場合、グループの中で自端末と最も高速に通信をおこなえる端末の物理メモリにコピーを書込む。これによってデータ復元時における冗長情報の受け渡しにかかる通信時間を最小とする。また、冗長情報としてデータのコピーを用いる。このコピーは、パリティを用いるより耐障害性が高く、パリティ生成のための補助データを必要とせず、パリティとサイズは同等であり、冗長情報を作るのに必要な通信量を減らすことができる。端末装置の構成以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。図1は、データ処理システムに含まれる端末装置の構成を示すブロック図である。図1に示す端末装置端末100は、データ処理システムを構成する複数のデータ処理装置のうちの1台を図示したものであり、たとえば、携帯電話機を用いて構成できる。この端末装置100は、ハードウェア101と、オペレーティングシステムOS102と、ソフトウェア103とを有する。ハードウェア101は、CPU111と、メモリ112と、キャリア通信部113と、アドホック通信部114と、I/O115と、ストレージ116と、メモリコントローラ117とを含む。OS102は、メモリ管理部121と、通信ライブラリ122と、を含む。ソフトウェア103は、通信処理をおこなうアプリケーションアプリ131を含む。CPU111は、端末装置100の全体の処理を制御し、OS102のプログラムメモリ管理部121、通信ライブラリ122、およびソフトウェア103のアプリケーション131を実行する。図示のように、端末装置100は、複数のCPU111を搭載し並列処理する構成であってもよい。メモリ112は、CPU111の実行時にアクセスされ、他の複数の端末とともに仮想共有メモリを構築する。また、このメモリ112には、復元情報118と、グループ構成情報119の領域を含む。キャリア通信部113は、図示しない基地局を介して他の端末との間で通信をおこなう。アドホック通信部114は、他の端末装置100との間でアドホック通信をおこなう際に用いられる。I/O115は、端末装置100に対するデータ入出力用のインターフェースである。ストレージ116は、フラッシュメモリ等の記憶媒体である。OS102のメモリ管理部121は、仮想共有メモリ実現部123と、アドレス変換部124と、高信頼ライブラリ125とが設けられる。高信頼ライブラリ125は、制御部制御ユニット126と、通信部通信ユニット127と、復元部復元ユニット128と、通信速度監視部通信速度監視ユニット129と、を含む。複数の端末を用いた仮想共有メモリは、仮想メモリ実現部123により管理される。高信頼ライブラリ125は、グルーピングされた複数の端末100で仮想共有メモリを構築する際に、仮想共有メモリに耐障害性を持たせる機能を有する。高信頼ライブラリ125が仮想共有メモリ実現部123からメモリアクセス情報を取得すると、制御部126が耐障害性のための冗長情報を作成配置先を決定する。冗長情報の配置先が他の端末100であった場合、通信部127により配置先として最適な端末100を選択し、冗長情報を送信する。また、制御部126は、仮想共有メモリ実現部123からメモリアクセス情報を取得し、通信部127にデータの写しであるコピーの情報を送信する。また、通信部127は、メモリアクセスとコピーの情報を復元部128に送信する。通信部127は、制御部126からコピーの情報を取得し、グループ構成情報119から、仮想共有メモリを構築している複数の端末情報、および端末の通信速度などの情報を取得する。また、通信部127は、通信ライブラリ122を用いて他端末にデータの冗長情報であるコピーを送信する。この通信ライブラリ122は、コンピュータ間の通信や一つのコンピュータ上のプロセス間の通信を実現するプログラム群で、OS102が標準的に備えている。復元部128は、冗長情報が存在する端末100の位置を復元情報118として作成し、グループの端末100全体と共有する。復元部128は、制御部126からメモリアクセスとコピーの情報を取得すると、復元情報118に書込む。通信速度監視部129は、周期的にグループの端末との通信速度を取得し、端末情報と通信速度をグループ構成情報119に書込む。図1に示す構成例では、メモリ管理部121内部に高信頼ライブラリ125を配置する例としたが、これに限らず、OS102内であればメモリ管理部121の外部に高信頼ライブラリ125を配置し、高信頼ライブラリ125とメモリ管理部121とが相互に情報をやりとりする構成としてもよい。システムの適用例図2は、図1に示したコンピュータを用いたシステムの適用例を示す図である。図2において、ネットワークNWは、サーバ201,202とクライアント231~234とが通信可能なネットワークであり、たとえば、LANLocalAreaNetwork、WANWideAreaNetwork、インターネット、携帯電話網などで構成される。サーバ202は、クラウド220を構成するサーバ群サーバ221~225の管理サーバである。クライアント231~234のうち、クライアント231はノート型パソコン、クライアント232はデスクトップ型パソコン、クライアント233は携帯電話機スマートフォン、PHSPersonalHandyphoneSystemでもよい、クライアント234はタブレット型端末である。図2のサーバ201,202,221~225、クライアント231~234は、たとえば、図1に示したデータ処理装置により実現される。図3-1は、グループ構成情報の例を示す図表である。仮想共有メモリを構築する際に用いられるグループ構成情報119は、グループの各端末の識別子と、自端末と該端末との通信速度と、の対応表である。端末識別子は、各端末を一意に特定できるもので、たとえば、図示のMACアドレスとしたり、SIM番号、電話番号などを用いることができる。通信速度は、単位時間あたりに端末間でやりとりできるデータ量で、図示のようにbpsbitpersecond等を用いることができる。図3-2は、復元情報の例を示す図表である。復元情報118は、データが読み出し不能な場合に、コピーデータを読み出すために用いる。データとコピーそれぞれが書込まれている端末識別子と、物理メモリアドレスの対応表である。データとは、仮想共有メモリで実際に扱われるデータであり、コピーとは前記データの冗長情報として作成されたコピーである。物理メモリアドレスとは、データおよびコピーの内容が実際に保持されている物理メモリ内のアドレスのことである。システムの処理内容データおよびコピーの書込みの全体処理について図4は、仮想共有メモリ構築時におけるデータ書込み時の動作処理を示すフローチャートである。まず、アプリケーションアプリ131がメモリ112に書込み要求を発行するとステップS401、メモリ管理部121は、書込み先が仮想共有メモリであるか判断するステップS402。書込み先が仮想共有メモリでなかった場合はステップS402:自端末のメモリ、メモリ管理部121は、自端末のメモリ112に対する通常のメモリ書込み処理をおこないステップS403、処理を終了する。一方、書込み先が仮想共有メモリであった場合はステップS402:仮想共有メモリ、仮想共有メモリ実現部123によるメモリアクセス情報に基づき、仮想共有メモリ他端末のメモリに対する書込み処理をおこなうステップS404。この後、仮想共有メモリ実現部123が書込み処理を終えると、高信頼ライブラリ125は、書込んだデータのコピーを作成しステップS405、データの物理的な書込み先が自端末かどうか判断するステップS406。データの書込み先が自端末であった場合はステップS406:自端末のメモリ、グループを構成している端末のうち自端末との通信速度が最速の端末にコピーを書込むステップS407。一方、書込み先が他端末であった場合はステップS406:他端末のメモリ、コピーを自端末に書込むステップS408。その後、書込んだデータと、コピーの書込む位置を復元情報118に反映させ、復元情報118を更新しステップS409、処理を終了する。データおよびコピーの読込みの全体処理について図5は、仮想共有メモリ構築時におけるデータ読込み時の動作処理を示すフローチャートである。はじめに、アプリがメモリ112に読込み要求を発行するとステップS501、メモリ管理部121は、読込み先が仮想共有メモリであるか判断するステップS502。読込み先が仮想共有メモリでなければステップS502:自端末のメモリ、メモリ管理部121は自端末のメモリ112から通常のメモリ読込み処理をおこなうステップS503。一方、読込み先が仮想共有メモリであった場合はステップS502:仮想共有メモリ、仮想共有メモリ実現部123によるメモリアクセス情報に基づき、仮想共有メモリから読込み処理をおこなうステップS504。この後、仮想共有メモリ実現部123が読込み処理を終えると、高信頼ライブラリ125は、この読込み処理が成功したか判断するステップS505。読込みに成功した場合はステップS505:Yes、高信頼ライブラリ125は何もせず、処理を終了する。一方、読込みに失敗した場合にはステップS505:No、復元部128が復元情報118を読み出し、この読込みに失敗したデータに対応するコピーを保持する端末を特定しステップS506、特定した端末からコピーを取得しステップS507、処理を終了する。図6は、データのコピーの書込み先を説明する図である。図4に示した書込み処理において、仮想共有メモリにデータを書込む際、a実際の書込み先物理メモリが他端末601のメモリ112であった場合には、コピーを自端末600に書込む。一方、b書込み先が自端末600のメモリ112であった場合には、グループの中で自端末600と最も高速に通信をおこなえる端末602のメモリ112にコピーを書込む。書込み時における制御部の処理について図7-1は、書込み時に制御部がおこなう処理内容を示すフローチャートである。高信頼ライブラリ125の制御部126は、仮想共有メモリ実現部123の書込み処理実行を契機に処理実行する。はじめに、制御部126は、仮想共有メモリ実現部123から書込みデータと、書込み先の端末識別子と物理メモリアドレスを取得するステップS701。つぎに、取得した書込みデータのコピーを作成したのちステップS702、取得した端末識別子が自身の端末識別子と一致するか判断するステップS703。一致した場合はステップS703:Yes、通信部127にコピーのデータを送信しステップS704、通信部127からコピーの書込み先である端末識別子と物理メモリアドレスを取得しステップS705、ステップS707に移行する。一致しなかった場合はステップS703:No、自端末のメモリ112にコピーを書込みステップS706、ステップS707に移行する。ステップS707では、制御部126は、復元部128にデータを書込んだ先の端末識別子と物理メモリアドレスと、コピーを書込んだ先の端末識別子と物理メモリアドレスとを送信しステップS707、復元情報118を更新して、終了する。読込み時における制御部の処理について図7-2は、読込み時に制御部がおこなう処理内容を示すフローチャートである。制御部126は、仮想共有メモリ実現部123の読込み処理実行を契機に処理実行する。まず、仮想共有メモリ実現部123から読込みデータと、読込み先の端末識別子と物理メモリアドレスを取得するステップS711。つぎに、復元情報118から端末識別子と物理メモリアドレスの一覧を取得しステップS712、この一覧の中に仮想共有メモリ実現部123から取得した端末識別子と物理メモリアドレスに一致するエントリが存在するか判断するステップS713。エントリが存在した場合はステップS713:Yes、データに対応するコピーの存在位置端末識別子と物理メモリアドレスからコピーを取得しステップS714、コピーの取得が成功したか判断するステップS715。コピーの取得に成功した場合はステップS715:Yes、このコピーを仮想共有メモリ実現部123に送信しステップS716、処理を終了する。エントリが存在しなかった場合ステップS713:No、およびコピーの取得に失敗した場合はステップS715:No、読込みに失敗したことを示すエラー通知を仮想共有メモリ実現部123に送信しステップS717、処理を終了する。送信側の通信部の処理について図8-1は、送信側の端末の通信部がおこなう処理内容を示すフローチャートである。通信部127は、制御部126がデータのコピーを送信することを契機に処理実行する。まず、通信部127は、制御部126から送られてきたコピーを受け取るとステップS801、グループ構成情報119から端末識別子と通信速度の一覧を取得するステップS802。つぎに、取得した一覧から通信速度が最も速い端末を選択しステップS803、この端末に対して通信ライブラリ122を用いてコピーのデータを送信するステップS804。その後、送信先の端末からコピーを書込んだ先のメモリ112の物理メモリアドレスを取得しステップS805、制御部126に、コピーを配置した端末の端末識別子と取得した物理メモリアドレスを送信しステップS806、処理を終了する。受信側の通信部の処理について図8-2は、受信側の端末の通信部がおこなう処理内容を示すフローチャートである。通信部127は、他端末の通信部127がコピーを送信することを契機に処理実行する。まず、通信部127は、他端末の通信部127からコピーを受け取るステップS811。つぎに、自端末のメモリ112に受け取ったコピーを書込むステップS812。その後、コピーを送信してきた端末の通信部127に対して、受け取ったコピーを書込んだメモリ112の物理メモリアドレスを送信しステップS813、処理を終了する。復元部の処理について図9は、復元部がおこなう処理内容を示すフローチャートである。データを復元するためにおこなっておく処理内容について記載してある。復元部128は、制御部126が端末識別子などを送信することを契機に処理実行する。まず、復元部128は、制御部126からデータを書込んだ先の端末識別子と物理メモリアドレスと、コピーを書込んだ先の端末識別子と物理メモリアドレスと、を取得するステップS901。つぎに、復元情報118から端末識別子と物理メモリアドレスの一覧を取得するステップS902。その後、取得した一覧の中に制御部126から取得した端末識別子と物理メモリアドレスに一致するエントリが存在するか判断するステップS903。エントリが存在する場合はステップS903:Yes、このエントリにあるコピーの書込み先の端末識別子と物理メモリアドレスが、制御部126から取得したコピーの書込み先の端末識別子と物理メモリアドレスと一致するか判断するステップS904。一致した場合はステップS904:Yes、そのまま動作を終了する。一方、一致しなかった場合はステップS904:No、このエントリに制御部126から取得したコピーの書込み先の端末識別子と物理メモリアドレスを上書き登録しステップS905、ステップS907に移行する。ステップS903において、エントリが存在しなかった場合はステップS903:No、新たにエントリを追加作成し、制御部126から取得したデータとコピーの端末識別子と物理メモリアドレスを登録しステップS906、ステップS907に移行する。ステップS907では、グループ端末全体にこのエントリの変更更新を通知しステップS907、処理を終了する。通信速度監視部の処理について図10は、通信速度監視部がおこなう処理内容を示すフローチャートである。通信速度監視部129は、周期的に以下の処理を実行する。たとえば、端末100が一定時間ごとに基地局との接続を確認する周期と同期して実行してもよい。通信速度監視部129は、まず、グループ構成情報からエントリ数Nと端末識別子リストIDを取得するステップS1001。つぎに、自端末と、リストに存在するすべての端末の通信速度を測定する。具体的には、端末数iを初期値0にしステップS1002、端末数iがエントリ数N未満であればステップS1003:Yes、ある一つの端末端末識別子リストIDiの通信速度Tiを測定するステップS1004。通信速度の測定は、たとえば、小さなデータたとえば32Byteのデータを実際に端末に送信して、送信した時刻と返答を受け取った時刻から求めることができる。その後、測定した端末の通信速度をグループ構成情報119に登録しステップS1005、端末数iをインクリメントしステップS1006、ステップS1003に戻る。以降、ステップS1004~ステップS1006の処理をおこない、エントリ数Nのグループすべての端末に対して、同様に通信速度の測定と登録をおこなう。グループすべての端末に対する測定が終了すればステップS1003:No、処理を終了する。データ冗長化処理にかかる時間について図6に示したように、4台の端末がグルーピングされ仮想共有メモリを構築している状況においてデータ冗長化処理にかかる時間について考察する。図6に示した状況で自端末600は仮想共有メモリに対して書込みをおこなっている。このとき、仮想共有メモリ実現部123は、仮想アドレスから端末識別子と物理アドレスへの変換をおこない、自端末は、この端末の変換されたアドレスに対してデータの書込みをおこなう。以下の例では、データのサイズは1MByte、通信速度は自端末-書込み先端末間が4Mbps、書込み先端末-パリティ配置端末間が8Mbps、その他は図6に記載した通りとする。書込み先が他端末の場合図11は、データの書込み先が他端末であった場合の処理時間を示すタイムチャートである。はじめに、従来技術、すなわち、補助データの作成およびパリティの送信をおこなう構成について説明する。この従来技術では、アプリからメモリ書込み要求が発生するとステップS1101、メモリ管理部にて仮想アドレスから物理アドレスへの変換論物変換がおこなわれるステップS1102。この論物変換は、端末のメモリ112に格納されている対応表を参照することでおこなわれるため、その実行時間は遅くとも数百us~数ms程度である。論物変換によって書込み先の端末と物理アドレスが得られると、自端末は、書込み先端末に対してデータを送信するステップS1103。データは、1MByteであり、自端末-書込み先端末間の通信速度は4Mbpsであるため、データ送信には2sかかる。書込み先端末はデータの受信を終えると、グループの端末に対して補助データの問い合わせをするステップS1104。問い合わせる内容は、必要なデータの量や端末識別子などで、発生する通信量は多くても数Kbyteであるため補助データ問い合わせ時間は数ms程度である。問い合わせ後、書込み先端末は補助データの受信をおこなうステップS1105。補助データは、少なくとも1MByte以上であるので、この受信には最低でも2sかかる。補助データの受信が終わると、書込み先端末はパリティを作成するステップS1106。パリティはデータと補助データの排他的論理和をとることで作成され、少なくとも1MByteのパリティを作成することになる。CPUの動作周波数を1GHz、IPCInstructionperCycleを1、1命令あたり4Byteのデータを扱えると仮定すると、250usでパリティを作成することができる。キャッシュミスなどのオーバーヘッドを考慮しても数ms程度である。パリティの作成が終わると、書込み先端末はパリティ問い合わせをおこなうステップS1107。パリティ問い合わせは、パリティを格納できる空き容量を持つ端末を探すためにおこなわれる。問い合わせる内容は、上述した補助データ問い合わせとほぼ同様で、問い合わせ時間は数ms程度である。パリティ問い合わせ後、書込み先端末はパリティ配置先端末に対してパリティを送信するステップS1108。パリティは1MByteで、書込み先端末-パリティ配置先端末間の通信速度は8Mbpsであるため、パリティの送信にかかる時間は1sである。パリティ送信後、書込み先端末は、復元情報を作成するステップS1109。復元情報は、データが読み出せない場合に補助データとパリティからデータを復元する際に利用される情報で、具体的にはデータの存在位置端末の識別子と物理メモリアドレスなどと、補助データとパリティの存在位置と、の対応表である。復元情報の作成は、論物変換のときと同様に、端末のメモリ112の参照となるため、その時間は数ms程度である。復元情報を作成後、書込み先端末は、作成した復元情報をグループすべての端末へ送信するステップS1110。復元情報はデータと補助データ、パリティそれぞれの存在位置でありそのサイズは数Kbyte程度であるので、復元情報送信にかかる時間は補助データ問い合わせのときと同様に数ms程度である。以上から、従来技術では、データ冗長化処理にかかる全体時間は5.1s程度となる。つぎに、開示技術でのデータ冗長化処理について説明する。上述した実施の形態では、アプリ131からメモリ書込要求が発生するとステップS1101、メモリ管理部121にて仮想アドレスから物理アドレスへの変換論物変換がおこなわれるステップS1111。これは、従来技術の場合と同様であり、論物変換にかかる時間は数ms程度である。論物変換後、自端末はコピーの作成をおこなうステップS1112。コピーは、データと全く同じ内容であり、そのサイズは1MByteとなるので、パリティ作成と同様に、コピーの作成の時間は、数百us~数ms程度である。このとき作成されたコピーは自端末のメモリ112上に格納される。コピー作成の後、自端末は書込み先端末に対してデータを送信するステップS1113。データは1MByteであり、自端末-書込み先端末間の通信速度は4Mbpsであるため、データ送信には2sかかる。データ送信の後、自端末は復元情報118を作成するステップS1114。復元情報118は、データが読み出せない場合にコピーをデータの代わりにする際に利用される情報で、具体的にはデータの存在位置端末の識別子と物理メモリアドレスなどと、コピーの存在位置と、の対応表である。復元情報の作成は、論物変換のときと同様に、端末のメモリ112への参照となるため、その時間は数ms程度である。復元情報118を作成後、自端末は作成した復元情報118をグループすべての端末へ送信するステップS1115。復元情報118は、データと補助データ、パリティそれぞれの存在位置であり、そのサイズは数Kbyte程度であるので、復元情報118の送信にかかる時間は、補助データ問い合わせのときと同様に数ms程度である。以上から、開示技術では、データ冗長化処理にかかる全体時間は2.1s程度となる。このように、開示技術によれば、従来技術の5.1sの半分以下の時間で済む。書込み先が自端末の場合図12は、データの書込み先が自端末であった場合の処理時間を示すタイムチャートである。はじめに、従来技術について説明する。従来技術では、アプリからメモリ書込要求が発生するとステップS1201、メモリ管理部にて仮想アドレスから物理アドレスへの変換論物変換がおこなわれるステップS1202。この論物変換は、端末のメモリ112に格納されている対応表を参照することでおこなわれるため、その実行時間は遅くとも数百us~数ms程度である。論物変換によって書込み先の端末と物理アドレスが得られると、自端末はグループの端末に対して補助データの問い合わせをするステップS1203。問い合わせる内容は、必要なデータの量や端末識別子などで、発生する通信量は、多くても数Kbyteであるため補助データ問い合わせ時間は数ms程度である。問い合わせ後、自端末は補助データの受信をおこなうステップS1204。補助データは、少なくとも1MByte以上であるので、この受信には最低でも2sかかる。補助データの受信が終わると、自端末はパリティを作成するステップS1205。パリティは、データと補助データの排他的論理和をとることで作成され、少なくとも1MByteのパリティを作成することになる。CPUの動作周波数を1GHz、IPCInstructionperCycleを1、1命令あたり4Byteのデータを扱えると仮定すると、250usでパリティを作成することができる。キャッシュミスなどのオーバーヘッドを考慮しても数ms程度である。パリティの作成が終わると、自端末はパリティ問い合わせをおこなうステップS1206。パリティ問い合わせは、パリティを格納できる空き容量を持つ端末を探すためにおこなわれる。問い合わせる内容は、補助データ問い合わせとほぼ同様で、問い合わせ時間は数ms程度である。パリティ問い合わせ後、自端末はパリティ配置先端末に対してパリティを送信するステップS1207。パリティは、1MByteで、書込み先端末-パリティ配置先端末間の通信速度は8Mbpsであるため、パリティの送信にかかる時間は1sである。パリティ送信後、自端末は復元情報を作成するステップS1208。復元情報は、データが読み出せない場合に補助データとパリティからデータを復元する際に利用される情報で、具体的にはデータの存在位置端末の識別子と物理メモリアドレスなどと、補助データとパリティの存在位置と、の対応表である。復元情報の作成は、論物変換のときと同様端末のメモリ112への参照となるため、その時間は数ms程度である。復元情報を作成後、自端末は作成した復元情報をグループすべての端末へ送信するステップS1209。復元情報は、データと補助データ、パリティそれぞれの存在位置であり、そのサイズは数Kbyte程度であるので、復元情報送信にかかる時間は補助データ問い合わせのときと同様に数ms程度である。以上から、従来技術ではデータ冗長化処理にかかる全体時間は3.1s程度となる。つぎに、開示技術でのデータ冗長化処理について説明する。上述した実施の形態では、アプリ131からメモリ書込要求が発生すると、メモリ管理部121にて仮想アドレスから物理アドレスへの変換論物変換がおこなわれるステップS1211。これは従来技術の場合と同様なので、論物変換にかかる時間は数ms程度である。論物変換後、自端末はコピーの作成をおこなうステップS1212。コピーは、データと全く同じ内容でありそのサイズは1MByteとなるので、パリティ作成と同様にコピーの作成にかかる時間は数百us~数ms程度である。このとき作成されたコピーは、自端末のメモリ112上に格納される。コピー作成の後、自端末は、コピー問い合わせをおこなうステップS1213。コピー問い合わせは、コピーを配置するのに適した端末を選択するためにおこなわれる。問い合わせる内容は、補助データ問い合わせとほぼ同様で、問い合わせ時間は数ms程度である。コピー問い合わせ後、自端末はコピー配置先端末に対してコピーを送信するステップS1214。コピーは、1MByteで、自端末-コピー配置先端末間の通信速度は8Mbpsであるため、コピーの送信にかかる時間は1sである。コピー送信後、自端末は復元情報118を作成するステップS1215。復元情報118は、データが読み出せない場合にコピーをデータの代わりとする際に利用される情報で、具体的にはデータの存在位置端末の識別子と物理メモリアドレスなどと、コピーの存在位置と、の対応表である。復元情報118の作成は、論物変換のときと同様、端末のメモリ112への参照となるため、その時間は数ms程度である。復元情報118を作成後、自端末は作成した復元情報をグループすべての端末へ送信するステップS1216。復元情報118は、データとコピーそれぞれの存在位置であり、そのサイズは数Kbyte程度であるので、復元情報118の送信にかかる時間は、補助データ問い合わせのときと同様に、数ms程度である。以上から、開示技術によれば、データ冗長化処理にかかる全体時間は1.1s程度となる。このように、従来技術の1/3程度の時間で済む。以上説明した開示技術によれば、複数の端末で仮想共有メモリを構築することにより、大きなメモリ容量を得ることができるようになる。開示の技術では、複数の端末がネットワークを介して接続された構成であり、ネットワーク状況の変化により、ある端末への接続がおこなえないときを想定している。これに対応すべく、あらかじめデータのコピーを作成し、データの書き込み先の端末と異なる端末にコピーを配置しておく。これにより、ネットワーク上で接続できない端末が生じても、コピーを用いてデータを復元でき、仮想共有メモリのデータ内容を維持でき、信頼性を向上できるようになる。また、ネットワークの通信速度を考慮してグループの中で自端末と最も高速に通信をおこなえる端末の物理メモリにコピーを書込む構成であるため、データ復元を短時間でおこなうことができるようになる。また、データのコピーを用いてデータ復元するため、パリティを用いるに比して耐障害性が高く、パリティ生成のための補助データを必要とせず、通信量を減らし、効率的に復元できるようになる。"