(57)【要約】【課題】  通信ネットワークへの接続・非接続を繰り返す計算機に備わる記憶装置のデータを保全する。【解決手段】  計算機は、記憶装置に書き込まれるデータを捕捉して記憶装置の更新状態を管理し、記憶制御装置と通信が可能な状態にあるときに、記憶装置へのデータの書き込みと独立して、記憶装置に書き込まれたデータを記憶制御装置に転送し、記憶制御装置と通信が不可能な状態にあるときに、記憶装置に書き込まれたデータの記憶制御装置への転送を中断し、転送状態を管理することを特徴とする。【選択図】  図１
2008305288.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備える計算機と記憶制御装置と通信ネットワークから構成される情報システムであって、
計算機は、記憶装置に書き込まれるデータを捕捉して、記憶装置の更新状態を管理し、
記憶制御装置と通信が可能な状態にあるときに、記憶装置へのデータの書き込みと独立して、記憶装置に書き込まれたデータを記憶制御装置に転送し、
記憶制御装置と通信が不可能な状態にあるときに、記憶装置に書き込まれたデータの記憶制御装置への転送を中断し、転送状態を管理する
ことを特徴とする情報システム
【請求項２】
請求項１に記載の情報システムであって、
前記計算機は、記憶装置のデータ書き込み領域に対応する差分ビットマップを備え、
前記差分ビットマップを利用して、前記記憶装置の更新状態と、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する
ことを特徴とする情報システム。
【請求項３】
請求項２に記載の情報システムであって、
前記計算機は、前記通信ネットワークとの接続状況に応じて、前記差分ビットマップによるデータ書き込み領域の管理単位を切り替える
ことを特徴とする情報システム。
【請求項４】
請求項１に記載の情報システムであって、
前記計算機は、記憶装置のデータ書き込み領域に対応するジャーナルデータを備え、
前記ジャーナルデータを利用して、前記記憶装置の更新状態と、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する
ことを特徴とする情報システム。
【請求項５】
請求項２と請求項４に記載の情報システムであって、
前記計算機は、前記通信ネットワークとの接続環境に応じて、前記記憶装置の更新状態と、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する方法を切り替える
ことを特徴とする情報システム。
【請求項６】
請求項１に記載の情報システムであって、
前記計算機は、前記計算機に備わる計算資源の使用量に応じて、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送を制御する
ことを特徴とする情報システム。
【請求項７】
請求項１に記載の情報システムであって、
前記計算機は、前記計算機における利用者の作業量に応じて、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送を制御する
ことを特徴とする情報システム。
【請求項８】
請求項１に記載の情報システムであって、
前記計算機は、相互に独立して実行される第1のオペレーティングシステムと、第2のオペレーティングシステムを備え、
前記第1のオペレーティングシステムは、前記記憶装置にデータを書き込み、
前記第2のオペレーティングシステムは、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれるデータを捕捉して、前記記憶装置の更新状態を管理し、
前記記憶制御装置と通信が可能な状態にあるときに、前記第1のオペレーティングシステムによる前記記憶装置へのデータの書き込みとは独立して、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータを前記記憶制御装置に転送し、
前記記憶制御装置と通信が不可能な状態にあるときに、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータの前記記憶制御装置への転送を中断し、転送状態を管理する
ことを特徴とする情報システム。
【請求項９】
請求項８に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記第1のオペレーティングシステムによる前記記憶装置へのデータ書き込み領域に対応する差分ビットマップを備え、
前記差分ビットマップを利用して、前記記憶装置の更新状態と、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する
ことを特徴とする情報システム。
【請求項１０】
請求項９に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記通信ネットワークとの接続状況に応じて、前記差分ビットマップによるデータ書き込み領域の管理単位を切り替える
ことを特徴とする情報システム。
【請求項１１】
請求項８に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記第1のオペレーティングシステムによる前記記憶装置へのデータ書き込み領域に対応するジャーナルデータを備え、
前記ジャーナルデータを利用して、前記記憶装置の更新状態と、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する
ことを特徴とする情報システム。
【請求項１２】
請求項９と請求項１１に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記通信ネットワークとの接続環境に応じて、前記記憶装置の更新状態と、前記記憶装置に書き込まれたデータの前記記憶制御装置への転送状態を管理する方法を切り替える
ことを特徴とする情報システム。
【請求項１３】
請求項８に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記計算機に備わる計算資源の使用量に応じて、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータの前記記憶制御装置への転送を制御する
ことを特徴とする情報システム。
【請求項１４】
請求項８に記載の情報システムであって、
前記第2のオペレーティングシステムは、前記計算機における利用者の作業量に応じて、前記第1のオペレーティングシステムにより前記記憶装置に書き込まれたデータの前記記憶制御装置への転送を制御する
ことを特徴とする情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置のデータの保存機能を備えた計算機に関し、特に、記憶装置のデータを外部の記憶制御装置に転送する、データ複製機能あるいはリモートコピー機能（以下、リモートコピー機能とする）を備えた計算機に関する。
【背景技術】
【０００２】
ユーザが文書処理などのアプリケーションプログラムで使用するパソコンなどのクライアント用途の計算機は、ウェブサーバやメールサーバのように複数のユーザにサービスを提供するためのアプリケーションプログを実行するサーバ用途の計算機と基本的に同じ構成であり、CPU、メモリ、ハードディスク、ネットワーク接続などの計算資源からなる。
【０００３】
ただし、クライアント用途の計算機は、サーバ用途の計算機に比較して、一般的に、計算資源の量が限られていることが多い。また、クライアント用途の計算機は、特にラップトップ型（ノート型）などの可搬型の場合など、移動などにより物理的な衝撃を受けて故障に至ることも多い。
【０００４】
計算機は、オペレーティングシステム、アプリケーションプログラムやユーザデータなどをハードディスクなどの記憶装置に格納しており、オペレーティングシステムは、ユーザからの指示などに応じて、アプリケーションプログラムやユーザデータなどを記憶装置からメモリに読み込み、ユーザデータなどを更新して記憶装置に書き込む。
【０００５】
そのようなデータの保全のための技術として、例えば、複数のハードディスクをまとめて1台のハードディスクとして管理するRAID（Redundant Arrays of Inexpensive Disks）技術が良く知られており、主にサーバ用途の計算機に実装されている。
【０００６】
一方、クライアント用途の計算機においても故障率を鑑みて、サーバ用との計算機と同じく、データを確実に保全するための措置が必要であるが、上記RAID技術は、複数のハードディスクを必要とするため、計算資源量が限られたクライアント用途の計算機には適切な手法とはいえない。
【０００７】
そこで、ストレージのデータ領域に対応するビットマップを利用して、第1のストレージのデータを第2のストレージに転送する技術が開示されている（例えば、特許文献１参照。）。
【０００８】
また、第1のストレージへのライトデータを捕捉して、第2のストレージへ転送する技術が開示されている（例えば、特許文献2参照）
【特許文献１】米国特許出願公開第2005/0071589号明細書
【特許文献２】米国特許出願公開第2004/0078630号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前記文献に記載の技術では、第1のストレージと第2のストレージとの間の通信が維持される場合には有効であるが、通信が可能な状態と不可能な状態を繰り返すような状況は考慮されておらず、そのような状況において適切な手法とはいえない。
【００１０】
また、第1のストレージから読み出したアプリケーションプログラムなどによる処理と、第1のストレージのデータを第2のストレージに転送する処理が、別々の計算資源を利用する場合には有効であるが、計算資源を共用するような状況は考慮されておらず、そのような状況において適切な手法とはいえない。
【００１１】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、例えば可搬型の計算機であるために、通信ネットワークへの接続が可能な状態と不可能な状態を繰り返すような状況に計算機がおかれていても、計算機に備わるハードディスクなどの記憶装置に書き込まれたデータを保全できる機能を備えた情報システムを提供することにある。
【００１２】
さらに、計算機においてアプリケーションプログラムなどによる処理と、記憶装置に書き込まれたデータを転送する処理が計算資源を共用する場合においても、アプリケーションプログラムなどによる処理を妨げずに、記憶装置のデータ転送処理を実行できる機能を備えた情報システムを提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決すべく、本発明の一つ観点に従う情報システムは、記憶装置を備える計算機と記憶制御装置と通信ネットワークから構成される情報システムであって、計算機は、記憶装置に書き込まれるデータを捕捉して、記憶装置の更新状態を管理し、記憶制御装置と通信が可能な状態にあるときに、記憶装置へのデータの書き込みと独立して、記憶装置に書き込まれたデータを記憶制御装置に転送し、記憶制御装置と通信が不可能な状態にあるときに、記憶装置に書き込まれたデータの記憶制御装置への転送を中断し、転送状態を管理することを特徴とする。さらに、計算機は、計算機に備わる計算資源の使用量に応じて、記憶装置に書き込まれたデータの記憶制御装置への転送を制御することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、可搬型の計算機、あるいは、CPUなどの計算資源が限られている計算機からなる情報システムにおいても、その条件に合致した情報保存方法を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を、図面を参照して説明する。なお、各図における同一符号は同一物あるいは相当物を示す。また、類似物については、説明の都合上、符号に添え字を追加して区別することがある。
【００１６】
図１は本発明の実施形態が適用されたシステム構成図の概略図である。
【００１７】
図示するように、本実施形態の情報システムは、計算機121、記憶制御装置101、通信ネットワーク131から構成される。
【００１８】
記憶制御装置101は、常時、通信ネットワーク131と接続している。一方、計算機121は、ネットワーク131と常時接続しているとは限らず、接続状態と非接続状態を繰り返す。したがって、計算機121は、記憶制御装置101と通信が可能な状態と不可能な状態を繰り返す状況にある。
【００１９】
通信ネットワーク131は、IPプロトコルなどに従う通信パケットが転送される一般的な通信ネットワークであり、インターネットやイントラネット、あるいは、それらの複合的な通信ネットワークである。
【００２０】
計算機121は、通常の計算機と同一の構成である。具体的には、CPU122、メモリ124、記憶装置130、通信インタフェース123などの計算資源を備える。また、内部信号線125、出力装置126および入力装置127を備える。
【００２１】
CPU122は、メモリ124に記憶されるプログラムを実行することによって、各種処理を行うプロセッサである。
【００２２】
メモリ124は、例えば高速アクセスが可能な揮発性メモリであり、CPU122によって実行されるプログラム、および、CPU122によって必要とされる情報などを記憶する。
【００２３】
記憶装置130はディスク128を備えている。ディスク128は、例えばSATA（Serial Advanced Technology Attachment）ディスクドライブなどのストレージデバイスである。ディスク128上に複数の論理ボリューム129を設定し、オペレーティングシステム、アプリケーションプログラムやユーザデータなどに各種情報を格納する。
【００２４】
あるいは、記憶装置130は、不揮発性半導体メモリを備えていてもよい。不揮発性半導体メモリは、例えば、フラッシュメモリである。実施例の以下の記述では、記憶装置130がディスク128を備えている場合について説明しているが、ディスク128を不揮発性半導体メモリに置き換えてもよく、その場合においても同様の効果が得られる。
【００２５】
ディスク128、あるいは、ディスク128を含む記憶装置130には、セキュリティ機能が備わっていても良い。また、セキュリティ機能は、後述する管理OS214、あるいは、管理プログラム211に備わっており、それらか論理ボリューム129に対して処理を行っても良い。ここで、セキュリティ機能とは、論理ボリューム129に格納されたユーザデータなどの各種情報の、第三者による、盗み見などによる漏洩、破壊、改竄などの行為を防ぐための機能のことである。
【００２６】
例えば、セキュリティ機能は、TPM（Trusted Platform Module）チップなどと連動した論理ボリューム129のデータを暗号化する機能である。また、あらかじめ設定した時限を過ぎたときに、論理ボリューム129へのアクセスを禁止する機能や、論理ボリューム129のデータを消去するような機能であってもよい。また、さらには、計算機121に備わるバッテリー残量があらかじめ設定した値を下回ったときに、論理ボリューム129へのアクセスを禁止する機能や、論理ボリューム129のデータを消去するような機能であってもよい。また、さらには、記憶制御装置128や他の装置からの通信を契機として、論理ボリューム129へのアクセスを禁止する機能や論理ボリューム129のデータを消去するような機能であってもよい。
【００２７】
計算機121内のディスク128における一つの論理ボリューム129は、後述する記憶制御装置101内のディスク112における一つの論理ボリューム113と、リモートコピーのためのペアを構成している。計算機121から論理ボリューム113へのアクセスには、iSCSI（Internet Small Computer System Interface）プロトコルなどの通信プロトコルを利用する。
【００２８】
通信インタフェース123は、通信ネットワーク131を介して記憶制御装置101に接続することが可能であり、接続状態のときには、TCP/IPに基づき計算機121との間でのデータや制御信号の送受信を行う。
【００２９】
内部信号線125は、例えばバスである。内部信号線125は、CPU122、メモリ124、ディスク128、通信インタフェース123、出力装置126、および、入力装置127を相互に接続する。
【００３０】
出力装置126は、各種情報を表示するための装置であり、例えば、ディスプレイである。
【００３１】
入力装置127は、利用者が各種情報を入力するために利用ための装置であり、例えば、キーボード又はマウスである。
【００３２】
記憶制御装置101は、主に、コントローラ102と記憶装置111備える。
【００３３】
コントローラ102は、CPU103、メモリ106、通信インタフェース104、記憶装置側インタフェース105を備え、記憶装置111は複数のディスク112を備える。
【００３４】
ディスク112は、FC（Fiber Channel）ディスクドライブ、SATA（Serial Advanced Technology Attachment）ディスクドライブ、PATA（Parallel Advanced Technology Attachment）ディスクドライブ、FATA（Fiber Attached Technology Adapted）ディスクドライブ、SAS（Serial Attached SCSI）ディスクドライブ、あるいは、SCSI（Small Computer System Interface）ディスクドライブなどのストレージデバイスである。なお、記憶装置111は、不揮発性半導体メモリで、あるいは、上記したディスクドライブと不揮発性半導体メモリとの混載で構成されてもよい。不揮発性半導体メモリは、例えば、フラッシュメモリである。
【００３５】
ディスク112、あるいは、ディスク112を含む記憶装置111、或いは、コントローラ102には、セキュリティ機能が備わっていても良い。ここで、ディスク112、あるいは、記憶装置111、あるいは、コントローラ102に備わるセキュリティ機能とは、計算機121に備わる論理ボリューム129に格納された情報で、第三者による、盗み見などによる漏洩、破壊、改竄などの行為を受けた可能性のある情報が、記憶制御装置101に転送された場合に、そのような情報が、論理ボリューム113に反映されることを防ぐための機能のことである。
【００３６】
つまり、第三者による、盗み見などによる漏洩、破壊、改竄などの行為を受けた可能性のある論理ボリューム129の情報の受信を防ぐための機能、あるいは、そのような情報を受信した場合に、受信した情報を削除するための機能、あるいは、そのような情報を論理ボリューム113に書き込んだ場合に、書き込んだ情報を削除するための機能、あるいは、そのような情報を論理ボリューム113に書き込んだ場合に、書き込んだ情報を格納する論理ボリューム113の全データを削除する機能である。
【００３７】
このセキュリティ機能は、あらかじめ設定した時限を過ぎたときに、論理ボリューム113へのアクセスを禁止する機能や、そのような時限に論理ボリューム113に転送された情報を削除する機能、あるいは、そのような時限に転送された情報が書き込まれた論理ボリューム113の書き込み部分の、あるいは、全データを削除する機能であってもよい。また、記憶制御装置101や他の装置からの問い合わせに対して、計算機121が応答しない場合や、誤った応答をした場合に、論理ボリューム113へのアクセスを禁止する機能や、そのようなときに場合に、論理ボリューム113に転送された情報を削除する機能、あるいは、転送された情報が書き込まれた論理ボリューム113の書き込み部分の、あるいは、全データを削除する機能であってもよい。
【００３８】
コントローラ102は、記憶装置111内の複数のディスク112を、いわゆるRAID方式で規定されるRAIDレベル（例えば、0、1、5）で制御することができる。RAID方式では、複数のディスク112を一つのRAIDグループとして管理し、RAIDグループ上に、計算機121からのアクセス単位である論理ボリューム113を、複数、定義する。それぞれの論理ボリューム113には、LUN（Logical UnitNumber）を割り当てる。
【００３９】
CPU103は、計算機121からのデータ入出力要求に応答して、複数のディスク112へのI/O処理（データ読み込みやデータ書き込み）を制御するプロセッサである。
【００４０】
メモリ106は、例えば高速アクセスが可能な揮発性メモリであり、各種マイクロプログラム、および論理ボリューム113の管理テーブルなどを記憶する。
【００４１】
通信インタフェース104は、通信ネットワーク131を介して計算機121と接続することが可能であり、接続状態のときには、TCP/IPに基づき計算機121との間でのデータや制御信号の送受信を行う。
【００４２】
記憶装置側インタフェース105は、ディスク112との接続を制御するコントローラであり、ディスク112を制御するプロトコルに基づくディスク112へのデータ入出力要求を制御する。
【００４３】
内部信号線107は、例えばバスである。内部信号線107は、CPU103、メモリ106、記憶装置側インタフェース105、通信インタフェース104を相互に接続する。
【００４４】
図２は、本発明の実施の形態における計算機121の機能構成図である。
【００４５】
計算機121では、ユーザ処理OS（Operating System）202と管理OS214が、独立して実行される。独立して実行されるとは、ユーザ処理OS202と管理OS214が計算機121の計算資源であるCPU122、メモリ124、通信インタフェース123、ディスク128などを論理的にあるいは物理的に分割して利用し、互いの実行が他に影響を与えないことをいう。ここで、上記分割された資源に対して、上記ユーザ処理OS202と管理OS214が割り当てられている。
【００４６】
ディスク128における論理ボリューム129は、ユーザ処理OS（Operating System）202と管理OS214に対して、例えば、ユーザ処理OS（Operating System）202に二つの論理ボリュームを割当て、管理OS214には一つの論理ボリュームを割り当てるというように、論理ボリューム129単位でそれぞれのOSに割り当てられている。
【００４７】
これら複数のOSを実行するための処理は複数OS管理機能232で行う。複数OS管理機能232上で、ユーザ処理OS202と管理OS214を独立して実行され、ユーザ処理OS202が障害などにより停止した場合でも、管理OS214は処理を継続できる。
【００４８】
ユーザ処理OS202と管理OS214との間の通信は、複数OS管理機能232に備わる仮想的なネットワークである内部通信機能231を通じて行う。また、計算機121と通信ネットワーク131とが接続しているときには、各OSと通信ネットワーク131との通信は内部通信機能231を通じて実行される。
【００４９】
ユーザ処理OS202は、主に、ボリュームI/O機能203と通信機能204を備える。また、文書編集プログラム、電子メール編集・送受信プログラム、ウェブ閲覧プログラムなどのアプリケーションプログラム201を利用者に提供する。ユーザ処理OS202は、ボリュームI/O機能203と通信機能204を通じて、アプリケーションプログラム201から論理ボリューム129へのアクセスを処理する。
【００５０】
管理OS214は、主に、通信機能204(2)を備える。また、ボリュームI/O捕捉・管理機能212、リモートコピー機能213を備えた管理プログラム211を実行する。ボリュームI/O捕捉・管理機能212、リモートコピー機能213による処理については、後述する。
【００５１】
図３は、計算機121の管理OS214によって使用されるボリューム管理テーブルを示す説明図である。
【００５２】
このボリューム管理テーブルは、例えば、計算機121のメモリ124に記憶させることができる。また、論理ボリューム129の領域に保持することも可能である。
【００５３】
ボリューム管理テーブルは、論理ボリューム129とそのリモートコピーの相手となる論理ボリューム113に関する情報を含み、VOL-ID301、パス情報302、属性303、ペア情報304、ペア状態305、最終コピー時刻306、最終コピーブロックID307などから構成される。
【００５４】
VOL-ID301は、計算機121において論理ボリューム129を識別するために一意に決定される番号である。
【００５５】
パス情報302には、論理ボリューム129へのアクセスパス情報を設定する。
【００５６】
ボリュームの属性303は、例えば、「正」、「副」を設定する。「正」の属性が設定されたボリュームは、リモートコピーにおいて正ボリューム（コピー元ボリューム）として使用されていることを示す。「副」の属性が設定されたボリュームは、リモートコピーにおいて副ボリューム（コピー先ボリューム）として使用されていることを示す。なお、これ以外の属性を採用することもできる。
【００５７】
以降の説明では、計算機121の論理ボリューム129のうち、幾つかを正ボリュームとして使用し、記憶制御装置101の論理ボリューム113のうち、幾つかを副ボリュームとして使用する場合を説明するが、計算機121の論理ボリューム129の幾つかを副ボリューム、記憶制御装置101の論理ボリューム113の幾つかを正ボリュームとして使用することも可能である。
【００５８】
ペア情報304には、コピーペアを形成する相手先ボリュームを特定するための情報を設定する。例えば、ペアとなるボリュームを有する記憶制御装置のID、ペアとなるボリュームのVOL-IDやパス情報などである。
【００５９】
ペア状態305には、例えば、「ペア」、「サスペンド」、「シンプレックス」などを設定する。「ペア」とは、二つのボリュームがコピーペアを形成しており、正ボリュームの記憶内容が副データボリュームに反映されている状態を示す。「サスペンド」とは、コピーペアが解消されており、コピー元ボリュームに生じたデータ更新は、コピー元で差分管理されている状態を示す。「シンプレックス」とは、コピーペアに関与しない通常のボリュームであることを示す。
【００６０】
計算機121に備わるリモートコピー機能213により、計算機121の論理ボリューム129から対応する記憶制御装置101の論理ボリューム113へのリモートコピー処理の起動にともなって、当該論理ボリューム129に関するペア状態304は「コピー」に更新され、リモートコピー処理の終了にともなって、当該論理ボリューム129に関するペア状態304は「サスペンド」に更新される。
【００６１】
最終コピー時刻306には、正ボリュームから副ボリュームに対して、最後にコピーが実行されて終了した時刻、あるいは、コピー処理のため更新状態を確認したが更新がなかったためにコピーをする必要がなかった最後の確認時刻を登録する。なお、最終コピー時刻306には、時刻の代わりに、計算機121に備わるTPM（Trusted Platform Module）などを利用して得られるカウンタ値を登録しても良い。
【００６２】
最終コピーブロックID307には、正ボリュームにおいて副ボリュームへコピーされた最後のブロック領域のID（後述）、あるいは、コピー処理のため更新状態を確認したが更新がなかったためにコピーをする必要がなかった最後にブロック領域のIDを登録する。
【００６３】
記憶制御装置101も、図３に示した計算機121の備えるボリューム管理テーブルと同様のボリューム管理テーブルを保持する。記憶制御装置101は、このボリューム管理テーブルを、例えば、メモリ106に記憶させることができる。また、論理ボリューム113の領域に保持することも可能である。
【００６４】
記憶制御装置101に備わるボリューム管理テーブルは、論理ボリューム113とそのリモートコピーの相手となる論理ボリューム129に関する情報を含み、VOL-ID301、パス情報302、属性303、ペア情報304、ペア状態305、最終コピー時刻306、最終コピーブロックID307などから構成される。
【００６５】
記憶制御装置101に備わるボリューム管理テーブルにおけるペア状態305は、計算機121から記憶制御装置101へのリモートコピー処理の開始にともなって、「コピー」に更新され、リモートコピー処理の終了にともなって「サスペンド」に更新される。
【００６６】
計算機121に備わるリモートコピー機能213により、計算機121の論理ボリューム129から、対応する記憶制御装置101の論理ボリューム113への、リモートコピー処理の起動にともなって、当該論理ボリューム113に関するペア状態304は「コピー」に更新され、リモートコピー処理の終了にともなって、当該論理ボリューム113に関するペア状態304は「サスペンド」に更新される。
【００６７】
あるいは、記憶制御装置101の管理者の指示などにより、ペア情報305を「サスペンド」に固定することも可能である。この場合、計算機121の論理ボリューム129から記憶制御装置101の当該論理ボリューム113に対するモートコピーの要求に対して、記憶制御装置101は応答しない、あるいは、通信拒絶を伝える応答を行う。
【００６８】
図４から図６を用いて、ユーザ処理OS202が、ユーザ処理OS202に割り当てられた論理ボリューム129に対してアクセス（データ読み込みやデータ書き込み）を行う際に、管理OS214がそのアクセスを捕捉する処理について説明する。
【００６９】
図４では、ユーザ処理OS202が、管理OS214を経由せずに論理ボリューム129へアクセスする場合を説明している。
【００７０】
ユーザ処理OS202上の文書編集プログラムなどアプリケーションプログラム201は、ファイルシステム機能421から提供されるファイル単位でのデータへの操作とアクセス機能を利用して、ファイル単位のデータをメモリ124に読み込んで作業を行う（S401）。
【００７１】
ユーザ処理OS202のボリュームI/O機能203は、コントローラ機能412を通じて、論理ボリューム129からメモリ124へのデータの読み込み、メモリ124から論理ボリューム129へのデータの書き込みなどの操作を行う（S402）。
【００７２】
ボリュームI/O機能203とは、例えばファイルシステム機能421に備わっており、固定サイズの配列で論理ボリューム129にアクセスする機能である。
【００７３】
また、コントローラ機能412とは、ボリュームI/O機能203に対して、論理ボリューム129へのアクセスを提供する機能である。コントローラ機能412は、SCSI（Small Computer System Interface）機能413と同様の機能であってもよい。
【００７４】
ボリュームI/O機能203から論理ボリューム129へアクセス（S402）が行われると、ボリュームI/O機能203とコントローラ機能412の間に位置するフィルタリング機能431が、アクセスを捕捉し、リードデータやライトデータのコピーを、管理OS214上の管理プログラム211に備わるボリュームI/O捕捉・管理機能212に転送する。
【００７５】
フィルタリング機能431によりコピーされたリードデータ、ライトデータは、ユーザ処理OS202に備わるSCSI機能413と通信機能204（iSCSI（Internet Small Computer System Interface）機能423およびその下位に位置するTCP（Transmission Control Protocol）/IP（Internet Protocol）機能424）、複数OS管理機能232に備わる内部通信機能231、管理OS214に備わる通信機能204(2)（TCP/IP機能424(2)およびその上位に位置するiSCSI機能423(2)）とSCSI機能413(2)の順に各機能を経由して、ボリュームI/O捕捉・管理機能212に転送される（S403A）。
【００７６】
あるいは、フィルタリング機能431によりコピーされたリードデータ、ライトデータは、SCSI以外のインタフェースを通じて、ユーザ処理OS202に備わるTCP/IP機能424、複数OS管理機能232に備わる内部通信機能231、管理OS214に備わるTCP/IP機能424(2)の順に各機能を経由して、ボリュームI/O捕捉・管理機能212に転送される（S403B）。
【００７７】
図５および図６は、ユーザ処理OS202は、管理OS214を経由して論理ボリューム129へアクセスする場合を説明している。
【００７８】
図５に図示するように、ユーザ処理OS202のボリュームI/O機能203は、ユーザ処理OS202に備わるSCSI機能413と通信機能204（iSCSI機能423およびその下位に位置するTCP/IP機能424）、複数OS管理機能232に備わる内部通信機能231、管理OS214に備わる通信機能204(2)（TCP/IP機能424(2)およびその上位に位置するiSCSI機能423(2)）、SCSI機能413(2)、および、コントローラ機能412(2)の順に各機能を経て、論理ボリューム129へのアクセスを行う（S502）。
【００７９】
ボリュームI/O機能203から論理ボリューム129へアクセス（S502）が行われると、TCP/IP機能424の下位に位置するフィルタリング機能534が、IP形式のアクセスを捕捉し、リードデータやライトデータのコピーを、管理OS214上の管理プログラム211に備わるボリュームI/O捕捉・管理機能212に転送する。
【００８０】
フィルタリング機能534によりコピーされたリードデータ、ライトデータは、TCP/IP機能424(2)、iSCSI機能423(2)、SCSI機能413(2)の各機能を経由して、ボリュームI/O捕捉・管理機能212に転送される（S503A）。
【００８１】
あるいは、ボリュームI/O機能203から論理ボリューム129へアクセス（S502）が行われると、TCP/IP機能424(2)とiSCSI機能423(2)の間に位置するフィルタリング機能533が、iSCSI形式のアクセスを捕捉し、リードデータやライトデータのコピーを、管理OS214上の管理プログラム211に備わるボリュームI/O捕捉・管理機能212に転送する。
【００８２】
フィルタリング機能533によりコピーされたリードデータ、ライトデータは、iSCSI機能423(2)、SCSI機能413(2)の各機能を経由して、ボリュームI/O捕捉・管理機能212に転送される（S503B）。
【００８３】
あるいは、ボリュームI/O機能203から論理ボリューム129へアクセス（S502）が行われると、iSCSI機能423(2)とSCSI機能413(2)の間に位置するフィルタリング機能532が、SCSI形式のアクセスを捕捉し、リードデータやライトデータのコピーを、管理OS214上の管理プログラム211に備わるボリュームI/O捕捉・管理機能212に転送する。
【００８４】
フィルタリング機能532によりコピーされたリードデータ、ライトデータは、SCSI機能413(2)を経由して、ボリュームI/O捕捉・管理機能212に転送される（S503C）。
【００８５】
あるいは、ボリュームI/O機能203から論理ボリューム129へアクセス（S502）が行われると、SCSI機能413(2)の上位に位置するフィルタリング機能531が、アクセスを捕捉し、リードデータやライトデータのコピーを、管理OS214上の管理プログラム211に備わるボリュームI/O捕捉・管理機能212に転送する（S503D）。
【００８６】
あるいは、図６に示すように、ボリュームI/O捕捉・管理機能212がフィルタリング機能を備えていてもよい。つまり、ユーザ処理OS202のボリュームI/O機能203は、ユーザ処理OS202に備わるSCSI機能413と通信機能204（iSCSI機能423およびその下位に位置するTCP/IP機能424）、複数OS管理機能232に備わる内部通信機能231、管理OS214に備わる通信機能204(2)（TCP/IP機能424(2)およびその上位に位置するiSCSI機能423(2)）、SCSI機能413(2)を経て、さらに、ボリュームI/O捕捉・管理機能212を経由し、コントローラ機能412(2)を経て、論理ボリューム129へのアクセスを行ってもよい（S602）。
【００８７】
次に図７を用いて、ボリュームI/O機能203のアクセスによる論理ボリューム129の更新の管理方式、および、論理ボリューム129の更新を記憶制御装置101に備わる論理ボリューム113に反映させる方式について説明する。計算機121内の論理ボリューム129には、アプリケーションプログラム201やアプリケーションが使用するユーザ用のデータを格納するデータボリューム129(2)と、ジャーナルデータを格納するジャーナルボリューム129(3)がある。
【００８８】
図４から図６で説明したような、ボリュームI/O機能203がデータリードやデータライトのためにアクセスする論理ボリューム129は、データボリューム129(2)に相当する。したがって、データボリューム129(2)は、ユーザ処理OS202に割り当てられる。
【００８９】
ジャーナルデータとは、ライトデータにシーケンス番号（管理番号）を対応付けて生成するデータである。ボリュームI/O捕捉・管理機能212が捕捉したライトデータを管理するための一つの手段として利用する。したがって、ジャーナルデータを格納するジャーナルボリューム129(3)は、管理OS214に割り当てられる。
【００９０】
データボリューム129(2)の更新を管理する一つの方法は、データボリューム129(2)を直接的に管理する方法である。データボリューム129(2)の更新の管理には、データボリューム129(2)の書き込み領域に対応する差分ビットマップ（後述）を利用する。
【００９１】
この更新の管理方法では、データボリューム129(2)に対して、記憶制御装置101内の論理ボリューム113であるデータボリューム113(2)をリモートコピーの相手として設定し、リモートコピーを実行する（S701）。これにより、データボリューム113(2)に生成される更新を、直接的にデータボリューム113(2)に反映する。この方法の詳細については、図８から図１４を利用して後述する。
【００９２】
データボリューム129(2)の更新を管理する別の一つの方法は、データボリューム129(2)に対するアクセスを管理することにより、データボリューム129(2)に生成される更新を間接的に管理する方法である。データボリューム129(2)に対するアクセスの管理には、ジャーナルボリューム129(3)を利用する。
【００９３】
この更新の管理方法では、ジャーナルボリューム129(3)に対して、記憶制御装置101内の論理ボリューム113であるジャーナルボリューム113(3)をリモートコピーの相手として設定し、リモートコピーを実行する（S711）。
【００９４】
リモートコピーの実行によりジャーナルボリューム129(3)に格納したジャーナルデータをジャーナルボリューム113(3)に反映する。その後、ジャーナルボリューム113(3)にコピーされたジャーナルデータをデータボリューム113(2)に適用する（S712）。これにより、データボリューム129(2)の更新を、間接的にデータボリューム113(2)に反映する。この方法の詳細については、図１５から図１７を利用して後述する。
【００９５】
あるいは、計算機121において、ジャーナルデータをメモリ124に格納してもよい。つまり、ジャーナルボリューム129(3)を論理ボリューム129に割り当てるのでなく、メモリ124上に仮想的なジャーナルボリューム129(3)を生成しても良い。以下の記述では、論理ボリューム129に割り当てたジャーナルボリューム129(3)の場合について説明しているが、メモリ124上に形成された仮想的なジャーナルボリューム129(3)に置き換えてもよく、その場合についても同様の効果が得られる。記憶制御装置101におけるジャーナルボリューム113(3)についても同様である。
【００９６】
図８から図１４を利用して、差分ビットマップ801を利用したデータボリューム129(2)の更新管理方法、および、記憶制御装置101内のデータボリューム113(2)へのリモートコピーの方法について説明する。
【００９７】
図８は、差分ビットマップ801によるデータボリューム129(2)の更新管理方法の概要図であり、図９はデータボリューム129(2)の領域を分割したブロック領域の管理テーブルの説明図である。ブロック領域管理テーブルは、差分ビットマップ801の一つの実装例である。図１０は、ブロック領域をさらに小ブロックに分割して書き込み領域の管理を行う場合における、ライトデータ管理テーブルの説明図である。
【００９８】
差分ビットマップ801は、データボリューム129(2)内の複数のブロック領域（例えば、1つのブロック領域のサイズは64Kバイト）にそれぞれ対応したビット情報902を有する。ビット情報902は「０」あるいは「１」に設定される。
【００９９】
ビット情報902が「０」である場合は、データボリューム129(2)の当該ブロック領域のデータと、当該ブロックに対応する記憶制御装置101内のデータボリューム113(2)のブロック領域のデータが同一であることを示す。また、ビット情報902が「１」である場合は、データボリューム129(2)の当該ブロック領域のデータと、当該ブロックに対応する記憶制御装置101内のデータボリューム113(2)のブロック領域のデータに差分があることを示す。
【０１００】
したがって、差分ビットマップ801のビット情報902がすべて「０」の場合、データボリューム129(2)とデータボリューム113(2)が完全に同期している状態を示す。
【０１０１】
差分ビットマップ801に「１」のビット情報902が含まれる場合、データボリューム129(2)が、ボリュームI/O機能203からのデータ書き込みにより一つあるいは複数のブロック領域が更新され、データボリューム113(2)との間で差分が発生している状態を示す。
【０１０２】
図９はデータボリューム129(2)の差分ビットマップ801の一つの実装例であるブロック領域管理テーブルの説明図である。ブロック領域管理テーブルは、例えば、計算機121のメモリ124に記憶させることができる。また、いずれかの論理ボリューム129の領域に保持することも可能である。
【０１０３】
ブロック領域管理テーブルは、当該ブロック領域の一意な識別番号であるブロックID901、当該ブロック領域のビット情報を登録するビット情報902、当該ブロック領域のデータ書き込みによる更新時刻を登録するブロック更新時刻903、当該ブロック領域のコピーの開始時刻を登録するコピー開始時刻904、当該ブロック領域のコピー終了時刻を登録するコピー終了時刻905、当該ブロック領域に関連付けられたライトデータ管理情報802の格納位置を登録するライトデータ管理情報アドレス906などを含む。
【０１０４】
ブロック更新時刻903、コピー開始時刻904、コピー終了時刻905には、時刻の代わりに、計算機121に備わるTPM（Trusted Platform Module）などを利用して得られるカウンタ値を登録することもできる。
【０１０５】
ライトデータ管理情報802は、データボリューム129(2)の更新領域をブロック領域より小さいブロック領域（例えば512バイト）で管理するための情報である。この管理には、図１０に示すような、リスト構造を持つライトデータ管理テーブルを利用する。
【０１０６】
ライトデータ管理テーブルは、ライトデータが書き込まれたデータボリューム129(1)のIDを登録するVOL-ID301(2)、ライトデータが書き込まれたブロック領域のIDを登録するブロックID901(2)、差分ビットマップ801におけるビットの位置を示すビット位置1001、次に結び付けられるライトデータ管理情報の格納位置を示す次ライトデータ管理情報アドレス906(2)、ブロック領域内におけるライトデータが書き込まれた小ブロック領域の先頭位置をあらわす先頭アドレス1003、先頭アドレス1003からの小ブロック領域の大きさを表す領域長1004などから構成される。
【０１０７】
ライトデータ管理テーブルも、例えば、計算機121のメモリ124に記憶させることができる。また、いずれかの論理ボリューム129の領域に保持することも可能である。
【０１０８】
図１１は、差分ビットマップ801を利用したデータボリューム129(2)の更新管理の流れを示す図である。
【０１０９】
ユーザ処理OS202では、図４から図６を用いて説明したように、ボリュームI/O機能203からデータボリューム129(2)に対するアクセス（データ読み込みやデータ書き込み）を実行する（S402/S502/S602）。
【０１１０】
データボリューム129(2)へのアクセスの内容を確認し（S1101）、ライトデータである場合には、データボリューム129(2)の当該ブロック領域にデータを書き込む（S1102）。
【０１１１】
一方、管理OS214においては、ユーザ処理OS202のデータボリューム129(2)へのデータ書き込みに対応して、データボリューム129(2)の更新状態を管理する。
【０１１２】
ボリュームI/O捕捉・管理機能212は、図４から図６を用いて説明したように、ボリュームI/O機能203からデータボリューム129(2)へのアクセスを捕捉する（S403A/S403B/S503A/S503B/S503C/S503D/S602）。
【０１１３】
ボリュームI/O捕捉・管理機能212は、捕捉したアクセスの内容を確認し（S1103）、ライトデータである場合は、図９に示したブロック領域管理テーブルにおいて、データボリューム129(2)の書き込みブロック領域に対応するビット情報902を「１」に設定する（S1104）。
【０１１４】
さらに、ボリュームI/O捕捉・管理機能212は、データが書き込まれてブロック領域が更新された時刻を、ブロック更新時刻903に登録する（S1105）。
【０１１５】
さらに、ボリュームI/O捕捉・管理機能212は、ブロック領域に書き込まれたライトデータをより小さな領域で管理するためにライトデータ管理情報802を更新する（S1106）。S1106の処理は、図１２のS1201からS1210の処理に相当する。
【０１１６】
以下、図１２を用いて、ボリュームI/O捕捉・管理機能212が実行するライトデータ管理情報802の更新処理を説明する。
【０１１７】
当該ブロック領域にライトデータ管理情報802が関連付けられているかを確認するために、図９に示したブロック領域管理テーブルにおけるライトデータ管理情報アドレス906の値を参照する（S1201）。
【０１１８】
ブロック領域管理テーブルにライトデータ管理情報アドレス906が登録されてない場合は、新規にライトデータ管理情報802の格納領域を生成し、その位置を示すアドレスをブロック領域管理テーブルのライトデータ管理アドレス906に登録する（S1207）。
【０１１９】
新規に生成したライトデータ管理情報802の格納領域に対して、前述したVOL-ID301(2)、ブロックID901(2)、ビット位置1001、先頭アドレス1003、領域長1004の各データを登録する（S1208）。ここでは、次ライトデータ管理情報アドレス906(2)については空欄のままにしておく。
【０１２０】
ブロック領域管理テーブルにライトデータ管理情報アドレス情報906が登録されている場合は、そのアドレスからライトデータ管理テーブルのライトデータ管理情報802を検索する。検索されたライトデータ管理情報802の先頭アドレス1003と領域長1004をもとに既存のライトデータ領域が、新たに書き込まれたライトデータ領域と重なるか否かを調べる（S1202）。
【０１２１】
重なる場合は、ライトデータ領域を結合して、すでに登録されているライトデータ管理情報802の先頭アドレス1003および領域長1004を更新する（S1203）。
【０１２２】
例えば、図８に例示するように、当該ブロック領域に対してライトデータ管理情報802（先頭アドレス1003=32、領域長1004=64）が登録されている状態で、当該ブロック領域に対して新たにライトデータ管理情報802(2)（先頭アドレス1003=64、領域長1004=48）に相当するデータ書き込みが発生した場合、ライトデータ管理情報802（先頭アドレス1003=32、領域長1004=64）にライトデータ管理情報802(2)（先頭アドレス1003=64、領域長1004=48）を結合し、ライトデータ管理情報802の先頭アドレス1003を32、領域長1004を80（802(3)）に更新する。
【０１２３】
重ならない場合は、当該ブロック領域に関連付けられているライトデータ管理情報802の個数が、あらかじめ設定しているしきい値以下であるか否かを調べる（S1205）。
【０１２４】
しきい値以下であれば、新規にライトデータ管理情報802の格納領域を生成し、その位置を示すアドレスを、既存のライトデータ管理情報802の次ライトデータ管理情報アドレス906(2)欄に登録し（S1206）、S1208に進む。
【０１２５】
S1203、S1208の結果、当該ブロック領域に関連付けられている一つあるいは複数のライトデータ管理情報802について、その領域長1004の合計値が、あらかじめ設定しているしきい値以下であるかを判定する（S1204）。しきい値以下であれば、当該ブロック領域に対して一つあるいは複数のライトデータ管理情報802をそのまま登録しておく。
【０１２６】
S1204において、ライトデータ管理情報802の領域長1004の合計値が、あらかじめ設定しているしきい値より大きい場合、あるいは、S1205において、当該ブロック領域に関連付けられているライトデータ管理情報802の個数が、あらかじめ設定しているしきい値より大きい場合は、ライトデータ管理テーブルから当該ブロック領域に関連付けられている全てのライトデータ管理情報802を削除する（S1209）。
【０１２７】
さらに、ブロック領域管理テーブルから、当該ブロック領域に対応するライトデータ管理情報アドレス906を削除する（S1210）。
【０１２８】
次に図１３と図１４を用いて、計算機121のリモートコピー機能213による、データボリューム129(2)に生成された更新を記憶制御装置101のデータボリューム113(2)に反映させる処理について説明する。
【０１２９】
計算機121のリモートコピー機能213は、ボリュームI/O捕捉・管理機能212とは独立に動作する。リモートコピー処理の起動が要求されたら、リモートコピー処理を実行する（S1301）。リモートコピー処理の起動の契機については後述する。
【０１３０】
ここで、リモートコピー機能213の処理起動の契機は、後述するように計算機121内の処理に基づいており、記憶制御装置101の処理とは独立している。
【０１３１】
あるいは、リモートコピー機能213の起動は、記憶制御装置101からの要求を契機として実行されてもよい。この場合における起動後の処理は、計算機121内の処理に基づき、記憶制御装置101の処理とは独立してリモートコピー機能213を起動した場合と、全く同様である。
【０１３２】
ボリューム領域管理テーブルにおいて当該データボリューム129(2)のデータを検索し、ペア状態304を「コピー」に更新する（S1302）。
【０１３３】
ボリューム領域管理テーブルにおいて当該データボリューム129(2)のデータを検索し、コピー処理を行った最終ブロック領域を確認するために、最終コピーブロックID307を取得する（S1303）。
【０１３４】
計算機121と記憶制御装置101との通信状態が通信要件を満たすか否かを確認する（S1304）。通信要件の確認方法については後述する。
【０１３５】
通信要件が満たされる場合は、一つの契機によってリモートコピー処理が起動されてから、差分ビットマップ801（あるいは、その一つの実装例であるブロック領域管理テーブル）の全ブロック領域で更新状態（ブロック領域管理テーブルにおけるビット情報902）を確認したか否かを判断する（S1308）。
【０１３６】
更新状態を確認していないブロック領域が残っている場合は、次のブロック領域をコピー対象に設定し（S1309）、ブロック領域単位のコピー処理を実施する（S1310）。
【０１３７】
通信要件が満たされない場合、あるいは、一つの契機によってリモートコピー処理が起動されてから、差分ビットマップ801の全てのブロック領域で更新状態が確認されており、更新状態を確認していないブロック領域が残っていない場合は、当該契機によって起動されたリモートコピー処理を終了する。
【０１３８】
リモートコピー処理の終了においては、ボリューム領域管理テーブルにおける当該データボリューム129(2)の最終コピー時刻306を更新する（S1305）。最終コピー時刻306には、ブロック領域単位のコピー処理(S1310)を終了した時刻を登録する。
【０１３９】
さらに、ボリューム領域管理テーブルにおける当該データボリューム129(2)の最終コピーブロックID307を更新する（S1306）。最終コピーブロックID307には、ブロック領域単位のコピー処理(S1310)を終了したブロック領域のIDを登録する。
【０１４０】
さらに、ボリューム管理テーブルにおいて当該データボリューム129(2)のペア状態304を「サスペンド」に更新する（S1307）。そして、再度、S1301に戻る。
【０１４１】
次に、図１４を用いて、ブロック領域単位のコピー処理（S1310）を説明する。ブロック領域単位のコピー処理（S1310）は、図１４のS1401からS1413までの処理に相当する。
【０１４２】
計算機121と記憶制御装置101との間の通信要件が満たされており、一つの契機によってリモートコピー処理が起動されてから、差分ビットマップ801に更新未確認のブロック領域が残っている場合に、次のブロック領域をコピー対象に設定し（S1309）、ブロック単位のコピー処理を実施する。
【０１４３】
ブロック領域管理テーブルのビット情報902が「０」であるか「１」であるかを確認する（S1401）。「０」であれば、当該ブロック領域においては、コピーペアとなるブロック領域と同期された状態からデータ書き込みが発生していないので、リモートコピーをする必要がない。よってS1304に戻る。
【０１４４】
ブロック領域管理テーブルのビット情報902が「１」であれば、当該ブロック領域においては、コピーペアとなるブロック領域と同期された状態からデータ書き込みが発生しているので、リモートコピー処理を実行して更新をコピーペアとなるブロック領域に反映する。まず、ブロック領域管理テーブルのコピー開始時刻904に現在時刻を登録する（S1402）。
【０１４５】
ブロック領域管理テーブルのライトデータ管理情報アドレス906を参照し、当該ブロック領域に対してライトデータ管理情報802が関連付けられているか確認する（S1403）。
【０１４６】
ライトデータ管理情報アドレス906が登録されていない場合は、ブロック領域の単位で、コピーペアとなる記憶制御装置1101内のデータボリューム113(2)のブロックに対してリモートコピー処理を実行する（S1404）。
【０１４７】
記憶制御装置101からのリモートコピーに対する応答により、リモートコピーが成功か否かを判断する（S1405）。リモートコピーが失敗した場合は、通信状態が変化している可能性があるので、S1304に戻り、通信要件が満たされているか否かを確認する。
【０１４８】
リモートコピーが成功した場合は、ブロック領域管理テーブルのブロック更新時刻903が、コピー開始時刻904より小さい（以前である）ことを確認する（S1406）。
【０１４９】
もし、ブロック更新時刻903が、コピー開始時間904より大きい（最近である）場合は、当該ブロック領域のリモートコピー中に当該ブロック領域がボリュームI/O機能203により更新された（コピー開始時刻以降にデータが書き込まれた）ことを示しているので、当該ブロック領域に対して、再度、リモートコピー処理を実行するためS1402の処理に戻る。
【０１５０】
ブロック更新時刻903が、コピー開始時刻904より小さい（以前である）場合は、当該ブロック領域のリモートコピー中に当該ブロック領域は更新されていない。この条件において、当該ブロックに発生した更新（データ書き込み）を、コピーペアとなるデータボリューム131(2)のブロック領域に反映し、当該ブロック領域とそのコピーペアのブロック領域間の差分を解消したので、ブロック領域管理テーブルの当該ブロックのコピー終了時刻905を更新し（S1412）、ビット情報902を「０」に更新する（S1413）。
【０１５１】
S1403においてライトデータ管理情報アドレス906が登録されている場合は、当該ブロックのライトデータ領域が小ブロックで管理されているので、ライトデータ管理情報アドレス906を参照し、ライトデータ管理テーブルのライトデータ管理情報802を検索する（S1407）。
【０１５２】
ライトデータ管理情報802の先頭アドレス1003や領域長1004などの情報をもとに小ブロック領域に対してリモートコピー処理を実行する（S1408）
次に、S1405と同様の処理および判断を実行する（S1409）。
【０１５３】
次に、S1406と同様の処理および判断を実行する（S1410）。
【０１５４】
ブロック更新時刻903が、コピー開始時刻904より小さい（以前である）場合は、当該小ブロック領域のリモートコピー中に当該ブロック領域は更新されていない。この条件において、当該小ブロックに発生した更新（データ書き込み）を、コピーペアとなるデータボリューム131(2)のブロック領域に反映したので、ライトデータ管理テーブルの当該ライトデータ管理情報802の次ライトデータ管理アドレス906(2)を参照し、さらに、ライトデータ管理情報802が登録されているかを確認する。次ライトデータ管理アドレス906(2)が登録されている場合は、S1407に戻り、そのアドレスによって指し示されるライトデータ管理情報802に対して、S1407からの処理を実施する。
【０１５５】
次ライトデータ管理アドレス906(2)が登録されてない場合は、当該ブロックに発生した更新（データ書き込み）を、コピーペアとなるデータボリューム131(2)のブロック領域に反映し、当該ブロック領域とそのコピーペアのブロック領域間の差分を解消したので、S1412、および、S1413の処理を実行する。
【０１５６】
図１４に例示するブロック領域単位のリモートコピーでは、ブロック領域のリモートコピーを実行するたびに、通信状態を確認している。計算機121と記憶制御装置101との通信が途絶した場合、ボリューム管理テーブルにおいて、その時点における最終コピー時刻306と最終コピーブロックID307を保持するので、通信の回復時には、通信途絶時点のコピー状態からリモートコピーを再開することができる。
【０１５７】
上記に説明した、ボリュームI/O捕捉・管理機能212が実行するデータボリューム129(2)の更新管理とデータボリューム131(2)へのリモートコピーにおいては、各ブロック領域において、ライトデータ領域のサイズがしきい値以下であるとき、あるいは、ライトデータ領域を管理するライトデータ管理情報802の個数がしきい値以下であるときには、小ブロック領域単位で管理し、それ以外の場合には、ブロック領域単位で管理することにより、効率的な管理を実現している。
【０１５８】
この管理方法において、計算機121と通信ネットワーク131が接続状態（計算機121と記憶制御装置101との通信状態）に応じて、データボリューム129(2)の更新管理単位を切り替えることも可能である。
【０１５９】
例えば、あらかじめ、計算機121のデータボリューム129(2)と記憶制御装置101のデータボリューム113(2)が同期しているとする。
【０１６０】
計算機121が記憶制御装置101と通信可能な状態にあれば、リモートコピー処理によりに、データボリューム129(2)に発生した更新（データ書き込み）を、そのデータ書き込み発生時間から比較的短時間の後に、データボリューム131(2)に反映することができる。
【０１６１】
このように、通信可能な状態であれば、データボリューム129(2)に発生したデータボリューム131(2)との差分は比較的短時間の後に解消されるので、この差分の領域は蓄積されて大きくなることはないと考えられ、管理領域は小さい方がよい。
【０１６２】
したがって、通信可能な状態であれば、ライトデータ管理情報802を利用して小ブロック領域単位で管理する方が効率的であると考えられる。
【０１６３】
一方、計算機121が記憶制御装置101と通信可能な状態にない場合、リモートコピー処理を実行できない。データボリューム129(2)に発生した更新（データ書き込み）を、データボリューム131(2)に反映することができるのは、通信が回復した後であり、そのデータ書き込み発生時間からから比較的長時間の後になると考えられる。
【０１６４】
このように、通信が不可能な状態の場合、データボリューム129(2)に発生したデータボリューム131(2)との差分は通信が回復するまで解消されず、通信が途絶している時間に応じて、差分の領域は蓄積されて大きくなると考えられるので、管理領域は大きくてもよい。
【０１６５】
したがって、通信が不可能な状態であれば、ライトデータ管理情報802を利用せずブロック単位で管理する方が効率的であると考えられる。
【０１６６】
以上を考え合わせ、計算機121が記憶制御装置101と通信可能な状態にある場合には、ライトデータ管理情報802を利用して小ブロック領域で、データボリューム129(2)に生成される更新を管理する。そして、計算機121と記憶制御装置101との通信が途絶した時点で、ライトデータ管理情報802が関連付けられた全てのブロック領域においてS1209とS1210の処理を行い、データボリューム129(2)に生成される更新の管理単位をブロック領域単位に切り替える。さらに、計算機121と記憶制御装置101との通信が回復したら、再度、小ブロック領域での管理に戻す、といった管理単位の切り替え処理を行う。
【０１６７】
以上の処理により、ボリュームI/O捕捉・管理機能212は、計算機121と記憶制御装置101の通信状態に応じたデータボリューム129(2)の更新の効率的な管理を実現できる。
【０１６８】
次に、図１５から図１７を利用して、ジャーナルボリューム129(3)を利用したデータボリューム129(2)の更新管理方法、および、ジャーナルボリューム129(3)のリモートコピーの相手として設定した記憶制御装置101内のジャーナルボリューム113(3)へのリモートコピーの方法について説明する。
【０１６９】
図１５に、データボリューム129(2)とジャーナルボリューム129(3)との関係を示す。
【０１７０】
ジャーナルボリューム129(3)は、各データボリューム129(2)への更新（データ書き込み）を管理する。
【０１７１】
ジャーナルボリューム129(3)の記憶領域の先頭側には、更新情報領域1501が設けられ、この更新情報領域に続く記憶領域には、ライトデータ領域1502が設けられる。
【０１７２】
ライトデータ領域1502には、各データボリューム129(2)に書き込まれたライトデータのコピーが格納される。更新情報領域1501には、ライトデータ領域1502に記憶されているライトデータの格納先アドレスとシーケンス番号（SEQ）（管理番号）が対応付けられて格納される。
【０１７３】
シーケンス番号は、ボリュームI/O捕捉・管理機能212によってライトデータが捕捉される度に発行される一意な番号であり、更新順序を管理するため番号である。
【０１７４】
図１６にジャーナルボリューム129(3)を利用したデータボリューム129(2)の更新管理の流れを示す。これは、図１１に示した、差分ビットマップ801を利用したデータボリューム129(2)の更新管理の流れと類似の処理であり、図１１と異なる処理（S1604〜S1606）についてのみ説明する。
【０１７５】
ボリュームI/O捕捉・管理機能212は、捕捉したアクセスの内容を確認し（S1103）、ライトデータである場合は、当該ライトデータを管理するために一意なシーケンス番号を取得する（S1604）。
【０１７６】
さらに、当該ライトデータにシーケンス番号（管理番号）を対応付けてジャーナルデータを生成する（S1605)
さらに、ボリュームI/O捕捉・管理機能212は、ジャーナルデータをジャーナルボリューム129(3)の更新情報領域1501、および、ライトデータ領域1502に書き込む（S1606）
次に、図１７を用いて、ジャーナルボリューム129(3)のリモートコピー処理の流れを説明する。これは、図１３と図１４に示した、差分ビットマップ801を利用したデータボリューム129(2)のリモートコピー処理の流れと類似の処理であり、図１３と異なる処理（S1708〜S1712）についてのみ説明する。
【０１７７】
ジャーナルボリューム129(3)において、ジャーナルデータの存在を確認する（S1708）。後述するが、ジャーナルデータはリモートコピーが成功した場合に削除するので、ジャーナルボリューム129(3)にジャーナルデータが存在する場合は、リモートコピーの対象となる。
【０１７８】
ジャーナルデータが存在しない場合、つまり、全てのジャーナルデータは、リモートコピー先である記憶制御装置101のジャーナルボリューム113(3)に転送されたと考えられる。この場合、S1305に進む。
【０１７９】
ジャーナルデータが存在する場合は、次のシーケンス番号の（最も小さなシーケンス番号の、最も古いシーケンス番号の）ジャーナルデータをリモートコピーの対象に設定し（S1709）、リモートコピー処理を実行する（S1710）
S1405の処理と同じく、記憶制御装置1101からのリモートコピーに対する応答により、リモートコピーが成功か否かを判断する（S1711）。リモートコピーが失敗した場合は、S1405と同様に、S1304に戻る。
【０１８０】
リモートコピーが成功した場合は、データボリューム129(2)に対する更新（ライトデータ）を、リモートコピーのペアであるジャーナルボリューム113(3)に反映することができたので、ジャーナルボリューム129(3)から当該ジャーナルデータを削除する（S1712）。
【０１８１】
上記に説明した、ボリュームI/O捕捉・管理機能212が実行するジャーナルデータを利用したデータボリューム129(2)への更新の反映では、ライトデータの順序情報を保存してデータボリューム129(2)に生成された更新をデータボリューム113(2)に反映する。
【０１８２】
したがって、記憶制御装置101において、データボリューム129(2)への書き込み履歴を管理でき、データボリューム113(2)において、過去の時点のデータボリューム129(2)の状態を再現することが可能になる。ただし、ジャーナルデータ保存のためにジャーナルボリューム129(3)に割り当てる容量について検討する必要がある。
【０１８３】
例えば、計算機121が記憶制御装置101と通信可能な状態にあれば、データボリューム129(2)へのデータ書き込みに対応してジャーナルボリューム129(3)に格納したジャーナルデータを、そのデータ書き込み発生時間から比較的短時間の後に、ジャーナルボリューム131(3)に転送することができる。
【０１８４】
この場合、ジャーナルボリューム129(3)に格納したジャーナルデータは比較的短時間の後にジャーナルボリューム131(3)に転送され、転送が成功した時点で削除されるので、ジャーナルボリューム129(3)の容量は比較的小さくてすむ。
【０１８５】
一方、計算機121と記憶制御装置101の通信が不可能な場合には、データボリューム129(2)へのデータ書き込みに応じてジャーナルデータがジャーナルボリューム129(3)に蓄積され続けため、通信回復までに発生するジャーナルデータを格納できるだけのジャーナルボリューム129(3)の容量が必要である。
【０１８６】
そこで、ジャーナルボリューム129(3)に割り当てる容量を抑えるために、計算機121と通信ネットワーク131が接続環境（計算機121と記憶制御装置101との通信環境）に応じて、データボリューム129(2)の更新管理およびリモートコピーの方法を使い分けてもよい。
【０１８７】
ここでは、ジャーナルボリューム129(3)の容量の最適化の観点、つまり、計算機121における記憶装置130の容量の最適利用の観点を挙げたが、さらに、別の観点でもよい。
【０１８８】
差分ビットマップ801を用いた方法に比較して、ジャーナルボリューム129(3)を用いた方法は、データボリューム129(2)に生成された更新を、履歴情報を含めて、コピーペアであるデータボリューム131(2)に反映させることができる一方で、捕捉した全てのライトデータを転送することになるので、転送データ量が多いという特徴がある。したがって、通信ネットワーク131のデータ転送性能の観点に基づいて、データボリューム129(2)の更新管理およびリモートコピーの方法を切り替えても良い。
【０１８９】
計算機121が社内のような通信条件の場所に設置され、常時、記憶制御装置101と通信可能な環境にある場合、あるいは、記憶制御装置101との間の通信ネットワーク131の帯域が大きく遅延が小さい場合は、ジャーナルボリューム129(3)を用いてデータボリューム129(2)に生成された更新を、履歴情報を含めて、コピーペアであるデータボリューム131(2)に反映させる。
【０１９０】
計算機121が社外のような通信条件の場所に持ち出され、間欠的にしか記憶制御装置101と通信ができないような場合、あるいは、常時、通信が可能であっても通信ネットワーク131の帯域が小さく遅延が大きい場合においては、差分ビットマップ801を利用した方法によりデータボリューム129(2)に生成された更新を、コピーペアであるデータボリューム131(2)に反映させる。
【０１９１】
計算機121が設置されている環境は、管理OS211が計算機121に割り当てられたIPアドレスの情報により判断できる。また、通信ネットワーク131の性能は、管理OS211が記憶制御装置101との通信経路における遅延時間や利用可能帯域を測定することにより把握できる。
【０１９２】
このようにデータボリューム129(2)の更新の管理方法を計算機121の通信ネットワーク131への接続環境や通信ネットワーク131の性能に応じて切り替えることにより、計算機121においてジャーナルボリューム129(2)への割当容量を抑え、あるいは、通信ネットワーク131に過度の負荷を与えずに、データボリューム129(2)の一部の更新履歴を管理でき、かつ、データボリューム129(2)の全データを保全できる。
【０１９３】
次に、図１８を利用して、リモートコピー機能213によるリモートコピー処理の起動の制御方法（リモートコピー処理の起動の判断（S1301））について説明する。
【０１９４】
リモートコピー処理の起動は、ボリュームI/O捕捉・管理機能212が、ボリュームI/O機能203からのライトデータを捕捉するたびごとに、あるいは、一定回数捕捉するごとに起動してもよい。
【０１９５】
あるいは、一定時間間隔で定期的にリモートコピー処理を起動することもできる（1801）。
【０１９６】
あるいは、計算機121における、または、ユーザ処理OS202における単位時間当たりの計算資源使用量が、あらかじめ設定したしきい値を下回った時点で、リモートコピー処理を起動することもできる（1802）。ここで、計算資源使用量とは、計算機121のCPU122における利用量、プロセッサ・キューのスレッド数、ハードウェア割込み数、メモリ124における利用可能な物理メモリサイズ、ファイルシステムキャッシュの使用数、ディスク128における空き領域、アクセス時間、読み込み/書き込み動作回数、キュー内の読み取り/書き込み要求数、通信インタフェース123における帯域利用量、送受信バイト数、送受信パケット数などである。これらの計算資源使用量の時間変動が激しい場合は、時間方向に移動平均をとるなどして平滑化する。
【０１９７】
あるいは、計算機121における、または、ユーザ処理OS202における単位時間当たりの計算資源使用量が、あらかじめ設定したしきい値を下回った時点において、一定時間間隔でリモートコピー処理を起動することもできる（1803）
あるいは、計算機121における、または、ユーザ処理OS202における単位時間当たりの計算資源未使用量の時間積分値が、あらかじめ設定したしきい値に達した時点で、リモートコピー処理を起動することもできる（1804）
以上のようにリモートコピー処理を起動すれば、計算機121、または、ユーザ処理OS202に対して、リモートコピー処理による負荷を与えないようにすることができる。
【０１９８】
あるいは、計算機121における、または、ユーザ処理OS202における単位時間当たりの利用者の作業量が、あらかじめ設定したしきい値を下回った時点で、リモートコピー処理を起動することもできる（1805）。ここで、利用者の作業量とは、例えば、利用者によるキーボード、マウス入力回数である。作業量の時間変動が激しい場合は、時間方向に移動平均値をとるなどして平滑化する。
【０１９９】
あるいは、計算機121における、または、ユーザ処理OS202における単位時間当たりの利用者による作業量の時間積分値が、あらかじめ設定したしきい値に達した時点で、リモートコピー処理を起動することもできる（1806）
以上のようにリモートコピー処理を起動すれば、利用者の作業量に追随して、リモートコピー処理を起動でき、利用者の作業量に伴って発生したデータボリューム129(2)の更新を、タイムリーにデータボリューム131(2)に反映できる。
【０２００】
次に、図１９を利用して、計算機121と記憶制御装置101の間における通信状態の確認処理の流れ（通信要件を満たすか否かの判断処理（S1304））について説明する。
【０２０１】
管理OS214は、計算機121と通信ネットワーク131との接続状態を、通信インタフェース123の起動状態などにより判断する（S1901）。
【０２０２】
通信ネットワーク131との接続状態にない場合は、再接続処理回数が、あらかじめ設定したしきい値以下であるかを確認する（S1902）。
【０２０３】
再接続処理回数がしきい値以下である場合は、再度、ネットワーク接続処理を実行する（S1903）。ネットワーク接続処理は、利用可能な無線ネットワーク基地局を探索するなどして行う。
【０２０４】
再接続処理回数がしきい値を上回る場合（しきい値回数ネットワーク接続を試みても失敗した場合）は、通信要件を満たさないと判断する（S1907）。
【０２０５】
計算機121と通信ネットワーク131が接続していると判断された場合は、計算機121と記憶制御装置101の間の通信性能が、あらかじめ設定したしきい値を上回っているかを確認する（S1904）。ここで通信性能とは、例えば、計算機121と記憶制御装置101との間の通信遅延時間や利用可能帯域である。
【０２０６】
通信性能がしきい値以下である場合は、通信要件を満たさないと判断する（S1907）。このとき、計算機121からの通信の要求に対して記憶制御装置101の応答がない場合も、しきい値以下としてよい。さらに、計算機121からの通信の要求に対して記憶制御装置101の拒絶応答があった場合も、応答がない場合と同様に扱ってよい。
【０２０７】
さらに、計算機121の利用者の認証を実施する（S1905）。利用者の認証には、利用者の設定するパスワードや鍵データなどの情報を利用する。
【０２０８】
認証に失敗した場合は通信要件を満たさないとし（S1907）、認証に成功した場合は、通信要件を満たすとする（S1906）。
【０２０９】
以上のように、本発明の実施の形態における情報システムは、記憶装置130を備える計算機121と記憶制御装置101と通信ネットワーク131から構成される情報システムであって、計算機121は、記憶装置130に書き込まれるデータを捕捉して、記憶装置130の更新状態を管理し、記憶制御装置101と通信が可能な状態にあるときに、記憶装置130へのデータの書き込みと独立して、記憶装置130に書き込まれたデータを記憶制御装置101に転送し、記憶制御装置101と通信が不可能な状態にあるときに、記憶装置130に書き込まれたデータの記憶制御装置101への転送を中断し、転送状態を管理する。
【０２１０】
さらに、計算機121は、計算機121に備わる計算資源の使用量に応じて、記憶装置130に書き込まれたデータの記憶制御装置101への転送を制御する。
【０２１１】
以上により、計算機121は、通信ネットワーク131への接続が可能な状態と不可能な状態を繰り返すような状況においても、計算機121に備わる記憶装置130に書き込まれたデータを保全できる。
【０２１２】
さらに、計算機121において、アプリケーションプログラム201などによる処理を妨げずに、記憶装置130のデータ転送処理を実行できる。
【０２１３】
したがって、計算機121が可搬型である、あるいは、CPUなどの計算資源が限られている場合においても、記憶装置130のデータを保全できる。
【図面の簡単な説明】
【０２１４】
【図１】本発明の実施形態における情報システムの概略構成図である。
【図２】本発明の実施形態における計算機の機能構成図である。
【図３】ボリューム管理テーブルの説明図である。
【図４】ユーザ処理OS側でボリュームI/Oを捕捉する場合の説明図である。
【図５】管理OS側でボリュームI/Oを捕捉する場合の説明図である。
【図６】図５とは異なる処理によって管理OS側でボリュームI/Oを捕捉する場合の説明図である。
【図７】データボリューム管理、リモートコピー方式の説明図である。
【図８】ビットマップによるデータボリューム更新管理の概要説明図である。
【図９】ブロック領域管理テーブルの説明図である。
【図１０】ライトデータ管理テーブルの説明図である。
【図１１】ビットマップを利用したデータボリュームの更新管理処理を示すフローチャートである。
【図１２】ライトデータ管理情報の更新処理を示すフローチャートである。
【図１３】ビットマップを利用したリモートコピー処理を示すフローチャートである。
【図１４】ブロック領域単位のモートコピー処理を示すフローチャートである。
【図１５】データボリュームとジャーナルボリュームの関係を示す説明図である。
【図１６】ジャーナルボリュームを利用したデータボリュームの更新管理処理を示すフローチャートである。
【図１７】ジャーナルボリュームのリモートコピー処理を示すフローチャートである。
【図１８】コピー処理の起動制御方法の概要説明図である。
【図１９】通信状態の確認処理を示すフローチャートである。
【符号の説明】
【０２１５】
１０１  記憶制御装置
１０２  コントローラ
１０３  CPU
１０４  通信インタフェース
１０５  記憶装置側インタフェース
１０６  メモリ
１０７  内部信号線
１１１  記憶装置
１１２  ディスク
１１３  論理ボリューム
１２１  計算機
１２２  CPU
１２３  通信インタフェース
１２４  メモリ
１２５  内部信号線
１２６  出力装置
１２７  入力装置
１２８  ディスク
１２９  論理ボリューム
１３０  記憶装置
１３１  通信ネットワーク
【図１】
2008305288.tif 000003
【図２】
2008305288.tif 000004
【図３】
2008305288.tif 000005
【図４】
2008305288.tif 000006
【図５】
2008305288.tif 000007
【図６】
2008305288.tif 000008
【図７】
2008305288.tif 000009
【図８】
2008305288.tif 000010
【図９】
2008305288.tif 000011
【図１０】
2008305288.tif 000012
【図１１】
2008305288.tif 000013
【図１２】
2008305288.tif 000014
【図１３】
2008305288.tif 000015
【図１４】
2008305288.tif 000016
【図１５】
2008305288.tif 000017
【図１６】
2008305288.tif 000018
【図１７】
2008305288.tif 000019
【図１８】
2008305288.tif 000020
【図１９】
2008305288.tif 000021