説明

情報処理装置及びその制御方法

【課題】
複数のストレージ装置における同一時刻の動作結果を信頼性高く取得し得る情報処理装置及びその制御方法を提案する。
【解決手段】
複数のストレージ装置と接続された情報処理装置及びその制御方法において、複数のストレージ装置のそれぞれについて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出し、複数のストレージ装置に対して、任意の未来時刻に、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を加算した時刻を所定動作の実行時刻として設定し、未来時刻の経過後に、複数のストレージ装置からそれぞれ所定動作の実行結果を回収するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びその制御方法に関し、特にリモートコピーシステムに適用して好適なものである。
【背景技術】
【0002】
従来、地震、火災、洪水等の天災やテロなどに対するデータ保護方法として、100〜数100〔km〕程度分離したローカルサイト及びリモートサイトにそれぞれ設置した正側及び副側のストレージ装置間でデータを二重化して保有する、いわゆるリモートコピー機能が搭載された計算機システム(以下、これをリモートコピーシステムと呼ぶ)が実用化されている。
【0003】
リモートコピーは、同期型と非同期型の2種類に大別される。このうち、同期型は、正側のストレージ装置(以下、これを正ストレージ装置と呼ぶ)及び副側のストレージ装置(以下、これを副ストレージ装置と呼ぶ)の両方にデータを書き込んだことを条件として、ホスト装置にライト完了を報告するようにしてリモートコピーが行われ、非同期型は、正ストレージ装置にデータが書き込まれた段階で、ホスト装置にライト完了を報告し、適当な時期に更新時刻を示すタイムスタンプ等の属性情報を付加してそのデータを副ストレージ装置に転送するようにしてリモートコピーが行われる。
【0004】
なお、下記特許文献1には、リモートコピー技術に関連して、リモートコピー先において、リモートコピー元の各第1のグループにそれぞれ対応させて、それぞれ1又は複数の第2のボリュームを含む複数の第2のグループを設定すると共に、設定した第2のグループごとに、ジャーナルを定期的にかつ作成された順番で第1のストレージ装置から取得し、取得したジャーナルを対応する第2のグループ内の対応する第2のボリュームに反映する一方、第2のボリュームに未反映の状態で滞留しているジャーナルに含まれる第2のグループごとの最新のタイムスタンプを比較して、最新及び最古のタイムスタンプの時間差を検出し、時間差が予め設定された閾値を超えた場合に、タイムスタンプが最古の第2のグループについてのジャーナルを、他の第2のグループについてのジャーナルに優先して取得することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−123055号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、リモートコピーシステムのホスト装置に搭載される機能として、正ストレージ装置及び副ストレージ装置からその稼働状態を表す稼働情報をそれぞれ収集し、収集した稼働情報自体や当該稼働情報に基づいて算出されたリモートコピーシステム全体としての稼働情報を表示する機能(以下、これを稼働情報表示機能と呼ぶ)がある。
【0007】
この場合、かかる稼働情報表示機能によりユーザに提示される稼働情報の1つとして、非同期リモートコピーの正側に対する副側の遅延時間がある。この遅延時間は、非同期リモートコピーのペアに設定された正ストレージ装置におけるデータの最終更新時刻と、副ストレージ装置における転送データの最終タイムスタンプ時刻との差分として算出される。
【0008】
そして、従来のリモートコピーシステムでは、ホスト装置から正ストレージ装置及び副ストレージ装置に状態取得コマンドを発行し、この状態取得コマンドを受信した正ストレージ装置及び副ストレージ装置が、それぞれ状態取得コマンドを受信した時点におけるデータの最終更新時刻や転送データの最終タイムスタンプ時刻をホスト装置に通知することにより、ホスト装置がこれらの情報に基づいてかかる遅延時間を算出して表示していた。
【0009】
しかしながら、従来、状態取得コマンドの発行は、ホスト装置からの伝送距離や通信岐路の違いを考慮せずに行われていた。この場合において、例えばホスト装置から正ストレージ装置及び副ストレージ装置に同時に状態取得コマンドを発行したとしても、その状態取得コマンドが正ストレージ装置に到達する時刻と、その状態取得コマンドが副ストレージ装置に到達する時刻との間には、ホスト装置からの伝送距離や、通信経路の違いに応じた時間差が生じる。
【0010】
従って、上述のような従来の手法によると、同一時点での正ストレージ装置におけるデータの最終更新時刻と、副ストレージ装置における転送データの最終タイムスタンプ時刻とを正確に収集できず、信頼性の高い遅延時間をユーザに提供し難い問題があった。
【0011】
また個々のストレージ装置が保持する内部時間(以下、これをローカルタイムと呼ぶ)には幾らかのずれがあり、例え状態取得コマンドが同一のタイミングで正ストレージ装置及び副ストレージ装置に到達したとしても、正ストレージ装置におけるデータの最終更新時刻と、副ストレージ装置における転送データの最終タイムスタンプ時刻とを同一のローカルタイムにおける稼働情報として取得することができず、信憑性に欠ける問題があった。
【0012】
以上のような問題は、正ストレージ装置や副ストレージ装置からデータの最終更新時刻又は転送データの最終タイムスタンプ時刻を取得する場合に限らず、同一時点における正ストレージ装置及び副ストレージ装置の動作結果を回収する必要がある場合に生じる問題である。
【0013】
本発明は以上の点を考慮してなされたもので、複数のストレージ装置における同一時刻の動作結果を信頼性高く取得し得る情報処理装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【0014】
かかる課題を解決するため本発明においては、複数のストレージ装置と接続された情報処理装置において、前記複数のストレージ装置のそれぞれについて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する時間差検出部と、前記複数のストレージ装置に対して、任意の未来時刻に、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を加算した時刻を所定動作の実行時刻として設定する動作実行設定部と、前記未来時刻の経過後に、前記複数のストレージ装置からそれぞれ前記所定動作の実行結果を回収する実行結果回収部とを備えることを特徴とする。
【0015】
また本発明においては、複数のストレージ装置と接続された情報処理装置の制御方法において、前記複数のストレージ装置のそれぞれについて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する第1のステップと、前記複数のストレージ装置に対して、任意の未来時刻に、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を加算した時刻を所定動作の実行時刻として設定する第2のステップと、前記未来時刻の経過後に、前記複数のストレージ装置からそれぞれ前記所定動作の実行結果を回収する第3のステップとを備えることを特徴とする。
【発明の効果】
【0016】
本発明によれば、複数のストレージ装置における同一時刻の動作結果を信頼性高く取得し得る情報処理装置及びその制御方法を実現できる。
【図面の簡単な説明】
【0017】
【図1】本実施の形態によるリモートコピーシステムの全体構成を概略的に示すブロック図である。
【図2】ホスト装置のメモリに格納された制御プログラム及び制御データの説明に供する概念図である。
【図3】ストレージ装置のメモリに格納された制御プログラム及び制御データの説明に供する概念図である。
【図4】時間差管理テーブルの構成を示す概念図である。
【図5】ローカルタイム指定コマンド管理テーブルの構成を示す概念図である。
【図6】本実施の形態による稼働情報収集・表示機能の説明に供する概念図である。
【図7】本実施の形態による稼働情報収集・表示機能の説明に供する概念図である。
【図8】本実施の形態による稼働情報収集・表示機能の説明に供する概念図である。
【図9】ローカルタイム取得コマンドの説明に供する概念図である。
【図10】ローカルタイム指定コマンドの説明に供する概念図である。
【図11】戻り値の説明に供する概念図である。
【図12】稼働情報収集・表示機能に関するホスト装置のCPUの一連の処理の流れを示すフローチャートである。
【図13】初期設定処理の処理手順を示すフローチャートである。
【図14A】ローカルタイム取得処理の処理手順を示すフローチャートである。
【図14B】ローカルタイム取得処理の処理手順を示すフローチャートである。
【図15】時間差計算処理の処理手順を示すフローチャートである。
【図16】実行動作予約処理の処理手順を示すフローチャートである。
【図17】結果回収・表示処理の処理手順を示すフローチャートである。
【符号の説明】
【0018】
1……リモートコピーシステム、2……ホスト装置、3A……正ストレージ装置,3B……副ストレージ装置、10,22A,22B……CPU、11,20……物理ディスク、23A,23B……メモリ、30……リモートコピー管理プログラム、31……時間差管理テーブル、32……リモートコピー制御プログラム、33……ローカルタイム指定コマンド管理テーブル、40……ローカルタイム取得コマンド、41……ローカルタイム指定コマンド、42……戻り値。
【発明を実施するための最良の形態】
【0019】
以下図面について、本発明の一実施の形態を詳述する。
【0020】
(1)本実施の形態によるリモートコピーシステムの構成
図1において、1は全体として本実施の形態によるリモートコピーシステムを示す。このリモートコピーシステム1は、ローカルサイトに設置されたホスト装置2と、ローカルサイトに設置された1又は複数の正ストレージ装置3(3A)と、リモートサイトに設置された1又は複数の副ストレージ装置3(3B)とから構成されている。なお、以下においては、正ストレージ装置3Aと副ストレージ装置3Bとを特に区別する必要がない場合には、これら正ストレージ装置3A及び副ストレージ装置3Bをまとめてストレージ装置3と呼ぶ。
【0021】
ホスト装置2は、CPU(Central Processing Unit)10及びメモリ11等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。このホスト装置2は、第1のネットワーク5を介して各ストレージ装置3とそれぞれ接続されており、この第1のネットワーク5を介して正ストレージ装置3Aにデータの読み書きを行うほか、各ストレージ装置3から必要な情報を収集し得るようになされている。
【0022】
ストレージ装置3は、それぞれ複数の物理ディスク20と、これら物理ディスク20に対するデータの読み書きを制御するコントローラ21とから構成されている。
【0023】
物理ディスク20は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクや、SATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクなどから構成される。
【0024】
各物理ディスク20は、コントローラ21によりRAID(Redundant Arrays of Independent Disks)方式で運用される。1又は複数の物理ディスク20により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が設定される。そしてデータは、この論理ボリューム内に所定大きさのブロック(以下、これを論理ブロックと呼ぶ)又はファイルを単位として記憶される。
【0025】
各論理ボリュームには、それぞれ固有の識別子(以下、これをLUN(Logical Unit number)と呼ぶ)が付与される。本実施の形態の場合、論理ボリュームに対するデータの入出力は、このLUNと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【0026】
コントローラ21は、CPU22及びメモリ23を備えて構成される。CPU22は、ストレージ装置3全体の動作制御を司るプロセッサである。またメモリ23には、各種制御プログラムが格納される。メモリ23に格納された各種制御プログラムをCPU22が実行することにより、ストレージ装置3全体としての各種処理が行われる。
【0027】
なお本実施の形態の場合、正ストレージ装置3A及び副ストレージ装置3Bには、それぞれ他方の副ストレージ装置3A又は正ストレージ装置3Aとの間で非同期リモートコピーを行い得る非同期リモートコピー機能が搭載されている。
【0028】
そして正ストレージ装置3Aは、当該正ストレージ装置3A内の論理ボリュームに対してホスト装置2からデータが書き込まれたときに、その論理ボリュームに対するデータの書き込みとは非同期に、当該データを、更新時刻を表すタイムスタンプやそのデータの書込み位置などの属性情報を付加して副ストレージ装置3Bに転送し、副ストレージ装置3Bにおいて、そのデータを当該副ストレージ装置3B内の対応する論理ボリュームの対応する位置に書き込むようになされている。
【0029】
(2)ホスト装置における稼働情報表示機能
次に、ホスト装置2に搭載された稼働情報表示機能について説明する。本リモートコピーシステム1の場合、ホスト装置2には、同一時点における正ストレージ装置3A及び副ストレージ装置3Bの稼働情報を取得し、取得したこれらの稼働情報や当該稼働情報に基づいて算出したリモートコピーシステム1全体としての稼働情報を表示する稼働情報表示機能が搭載されている。
【0030】
実際上、ホスト装置2は、自己の内部時間(以下、これをホストタイムと呼ぶ)と、各ストレージ装置3の内部時間(以下、これをローカルタイムと呼ぶ)との間の時間差を取得し、取得したこれらの時間差に基づいて、同一時点における正ストレージ装置3A及び副ストレージ装置3Bの稼働情報とを取得できるように、各ストレージ装置3Bに対してそれぞれ異なるローカルタイムと、そのローカルタイムに実行すべき動作(例えばデータの最終更新時刻又は転送データの最終タイムスタンプ時刻の取得)とを設定する。
【0031】
そしてホスト装置2は、その後、かかる動作命令に従って正ストレージ装置3A及び副ストレージ装置3Bがそれぞれ取得した稼働情報と回収し、回収したこれらの稼働情報や、当該稼働情報に基づいて計算されたリモートコピーシステム全体としての稼働情報(例えば非同期リモートコピーにおける正側に対する副側の遅延時間)を表示する。
【0032】
このような稼働情報表示機能を実現するための手段として、ホスト装置2のメモリ11には、図2に示すように、正ストレージ装置3A及び副ストレージ装置3B間において実行される非同期リモートコピーを制御するためのリモートコピー管理プログラム30に加えて、時間差管理テーブル31が格納され、各ストレージ装置3のメモリ23には、それぞれ図3に示すように、正ストレージ装置3A及び副ストレージ装置3B間において非同期リモートコピーを実行するための制御プログラムであるリモートコピー制御プログラム32に加えて、ローカルタイム指定コマンド管理テーブル33が格納されている。
【0033】
時間差管理テーブル31は、ホストタイムと、ホスト装置2が管理している各ストレージ装置3のローカルタイムとの間の時間差を管理するためのテーブルであり、図4に示すように、エントリ番号欄31A、ストレージ装置製造番号欄31B、ローカル−ホスト間時間差欄31C、第1のローカルタイム欄31D、第2のローカルタイム欄31E、第1のI/O実行時間欄31F及び第2のI/O実行時間欄31Gから構成される。
【0034】
そしてエントリ番号欄31Aには、そのエントリ(行)に付与されたエントリ番号が格納される。またストレージ装置製造番号欄31Bには、そのエントリに対応するストレージ装置3の製造番号が格納され、ローカル−ホスト間時間差欄31Cには、そのストレージ装置3のローカルタイムとホストタイムとの間の時間差が格納される。
【0035】
さらに第1のローカルタイム欄31Dには、後述する1回目のローカルタイムの取得処理により得られた対応するストレージ装置3のローカルタイムが格納され、第2のローカルタイム欄31Eには、2回目のローカルタイムの取得処理により得られたそのストレージ装置3のローカルタイムが格納される。
【0036】
さらに第1のI/O実行時間欄31Fには、かかる1回目のローカルタイムの取得処理に要した時間が格納され、第2のI/O実行時間欄31Gには、2回目のローカルタイムの取得処理に要した時間が格納される。
【0037】
一方、ローカルタイム指定コマンド管理テーブル33は、ホスト装置2から発行されたコマンドをそのストレージ装置3において管理するためのテーブルであり、実行状態欄33A、動作実行ローカルタイム欄33B、サブコマンド欄33C、動作指示内容欄33D及び結果格納バッファ欄33Eから構成される。
【0038】
そして実行状態欄33Aには、ホスト装置2から与えられたコマンドに応じた動作の現在の実行状態が格納される。なお、この実行状態としては、コマンドに応じた動作を実行中であることを表す「実行中」と、その動作が完了したことを表す「完了」と、その動作の完了後であって、その動作により得られた情報が未だホスト装置2により回収が行われていないことを表す「要求なし」とがある。
【0039】
また動作実行ローカルタイム欄33Bには、予めホスト装置2により指定された、かかる動作を実行すべきローカルタイム(以下、これを動作実行ローカルタイムと呼ぶ)が格納される。この動作実行ローカルタイムは、後述のようにそのストレージ装置3のローカルタイム及びホストタイム間の時間差を考慮して、所望する複数のストレージ装置3に所望する動作を同一時刻に一斉に実行させるために決定されたローカルタイムである。従って、この動作実行ローカルタイムは、ストレージ装置3ごとに異なる値となる場合が多い。
【0040】
さらにサブコマンド欄33Cには、ホスト装置2から与えられたコマンドに含まれるサブコマンドが格納される。このサブコマンドは、そのストレージ装置3に実行させるべき動作(例えばデータの最終更新時刻又は転送データの最終タイムスタンプ時刻の取得)を表す情報である。また動作指示内容欄33Dには、サブコマンド欄33Cに格納されている動作を実行する際に必要となる各種のパラメータが格納される。
【0041】
さらに結果格納バッファ欄33Eには、サブコマンド欄33Cに格納された動作を実行した結果として得られた情報(データの最終更新時刻又は更新データの最終タイムスタンプ時刻)が格納される。
【0042】
(3)稼働情報表示機能に関する各種処理の概要
次に、稼働情報表示機能に関連してリモートコピーシステム1において実行される各種処理の概要について図6〜図11を参照して説明する。なお図6は、ローカルサイトに正ストレージ装置3Aが1台のみ設置され、リモートサイトに副ストレージ装置3Bが1台のみ設置された場合の一例である。
【0043】
ホスト装置2は、最初に、現在のホストタイムHt(0)を取得し、この後、各ストレージ装置3からの1回目のローカルタイムの取得処理を実行する。
【0044】
具体的にホスト装置2は、図6に示すように、まず、時間差管理テーブル31(図4)に登録されたストレージ装置3のうち、最もエントリ番号が小さいエントリに対応するストレージ装置3に対して図9に示すようなローカルタイム取得コマンド40を発行する。
【0045】
このローカルタイム取得コマンド40は、ホスト装置2がストレージ装置3に対してそのストレージ装置3の現在のローカルタイムを問い合わせるためのコマンドであり、ストレージ装置3に対して稼働情報を取得すべきことを指示するコマンドが格納されたコマンド欄40Aと、そのとき取得すべき稼働情報がそのストレージ装置3の現在のローカルタイムであることを示すサブコマンドが格納されたサブコマンド欄40Bとから構成される。そしてホスト装置2は、この後、ローカルタイム取得コマンド40に対するストレージ装置3からの応答を待つ。
【0046】
このローカルタイム取得コマンド40を受信したストレージ装置3は、そのローカルタイム取得コマンド40を受信した時点における当該ストレージ装置3のローカルタイム(以下、これを第1のローカルタイムと呼ぶ)Lt1(1)を取得し、取得した第1のローカルタイムLt1(1)をそのローカルタイム取得コマンド40に対する応答としてホスト装置2に送信する。
【0047】
そしてホスト装置2は、ストレージ装置3から第1のローカルタイムLt1(1)が送信されると、その第1のローカルタイムLt1(1)を受信した時点のホストタイムHt(1)を取得する。
【0048】
次いでホスト装置2は、ストレージ装置3にローカルタイム取得コマンド40を発行してから当該ローカルタイム取得コマンド40に対するストレージ装置3からの応答を受信するまでの時間Hu1(1)(=Ht(1)−Ht(0))を求め、これを時間差管理テーブル31(図4)の対応するエントリの第1のI/O実行時間欄31F(図4)に格納する。なお、以下においては、ストレージ装置3に1回目のローカルタイム取得コマンド40を発行してから当該ローカルタイム取得コマンド40に対するストレージ装置3からの応答を受信するまでの時間Hu1(1)を、第1のI/O実行時間と呼ぶものとする。またホスト装置2は、このとき取得した第1のローカルタイムLt1(1)を、そのエントリの第1の取得ローカルタイム欄31Dに格納する。
【0049】
そしてホスト装置2は、この後、時間差管理テーブル31に登録されたすべてのストレージ装置3に対して、エントリ番号が小さいものから順番に同様の処理を実行する。これによりホスト装置2は、時間差管理テーブル31に登録された各ストレージ装置3の第1のI/O実行時間Hu1(i)(i=1,2,……,N)と、これらストレージ装置3の第1のローカルタイムLt1(i)(i=1,2,……,N)とを順次取得し、取得した第1のI/O実行時間Hu1(i)及び第1のローカルタイムLt1(i)をそれぞれ時間差管理テーブル31の第1のI/O実行時間欄31F及び第1のローカルタイム欄31Dに登録する。なお、変数「i」は、時間差管理テーブル31(図4)における対応するストレージ装置3のエントリ番号である。
【0050】
またホスト装置2は、以上のようにして1回目のローカルタイム(第1のローカルタイムLt1(i))の取得処理を終えると、現在のホストタイムHt(N)(図6ではHt(2))を取得し、取得したホストタイムをホスト基準時刻Hsとして記憶する。このホスト基準時刻Hsは、1回目のローカルタイムの取得処理と、後述する2回目のローカルタイムの取得処理との中間点であり、後述のようにホストタイムと、各ストレージ装置3のローカルタイムとの差分を求める際の基準となる値である。
【0051】
そしてホスト装置2は、この後、2回目のローカルタイムの取得処理を実行する。具体的に、ホスト装置2は、1回目のローカルタイムの取得処理と同様に、時間差管理テーブル31に登録されたストレージ装置3のうち、最もエントリ番号が小さいエントリに対応するストレージ装置3に対して2回目のローカルタイム取得コマンド40を発行する。
【0052】
そしてホスト装置2は、やがてかかるローカルタイム取得コマンド40に対する応答として、ストレージ装置3から当該ストレージ装置3におけるそのローカルタイム取得コマンド40を受信した時点のローカルタイム(以下、これを第2のローカルタイムと呼ぶ)Lt2(1)が送信されると、その応答を受信した時点のホストタイムHt(N+1)を取得する。
【0053】
次いでホスト装置2は、ストレージ装置に2回目のローカルタイム取得コマンド40を発行してから当該ローカルタイム取得コマンド40に対するストレージ装置3からの応答を受信するまでの時間Hu2(1)(=Ht(N+1)−Ht(N))を求め、これを時間差管理テーブル31における対応するエントリの第2のI/O実行時間欄31G(図4)に格納する。なお、以下においては、ストレージ装置3に2回目のローカルタイム取得コマンド40を発行してから当該ローカルタイム取得コマンド40に対するストレージ装置3からの応答を受信するまでの時間Hu2(1)を第2のI/O実行時間と呼ぶものとする。またホスト装置2は、このとき取得した第2のローカルタイムLt2(1)を、そのエントリの第2の取得ローカルタイム欄31E(図4)に格納する。
【0054】
そしてホスト装置2は、この後、時間差管理テーブル31に登録されたすべてのストレージ装置に対して、エントリ番号が小さいものから順番に同様の処理を実行する。これによりホスト装置2は、時間差管理テーブル31に登録された各ストレージ装置3の第2のI/O実行時間Hu2(i)(i=1,2,……,N)と、これらストレージ装置の第2のローカルタイムLt2(i)(i=1,2,……,N)とを順次取得し、取得した第2のI/O実行時間Hu2(i)及び第2のローカルタイムLt2(i)をそれぞれ時間差管理テーブル31の第2のI/O実行時間欄31G及び第2のローカルタイム欄31Eに登録する。なお、変数「i」は、時間差管理テーブル31(図4)における対応するストレージ装置3のエントリ番号である。
【0055】
この後、ホスト装置2は、各ストレージ装置3について、それぞれ1回目のローカルタイム取得コマンド40の発行により取得したそのストレージ装置3の第1のローカルタイムLt1(i)と、2回目のローカルタイム取得コマンド40の発行により取得したそのストレージ装置3の第2のローカルタイムLt1(i)との間の差分Qt(=Lt2(i)−Lt1(i))を求める。この際、ホスト装置2は、I/O入出力の遅延による変動を平準化するため、次式のように、すべてのストレージ装置(i=1,2,……,N)の平均値を用いる。
【数1】

【0056】
この差分Qtは、図7に示すように、第1のローカルタイムLt1(i)と第2のローカルタイムLt2(i)とを取得するために要した合計時間(つまり第1及び第2のI/O実行時間Hu1(i),Hu2(i)の合計時間)Ttから、ホスト装置2からストレージ装置3へのローカルタイム取得コマンド40の伝送時間(以下、これをI/Oコマンド伝送時間と呼ぶ)Tr1と、ストレージ装置3からホスト装置2への応答の転送時間(以下、これを応答転送時間と呼ぶ)Tr2とを引いた値である。
【0057】
なお、ホスト装置2からストレージ装置3へのI/Oコマンド伝送時間Tr1及びストレージ装置3からホスト装置2への応答転送時間Tr2と、ホストタイムHt(i)との関係を図8に示す。この図8からも明らかなように、I/Oコマンド伝送時間Tr1及び応答転送時間Tr2と、ホストタイムHt(i)との関係は、次式のように表すことができる。
【数2】

【0058】
ここで、I/Oコマンド伝送時間Tr1と、応答転送時間Tr2とが同じ(Tr1=Tr2)であると仮定すると、これらI/Oコマンド伝送時間Tr1及び応答転送時間Tr2は、次式のように、ホストタイムHt(i)からホストタイムHt(i+1)までの時間の半分となる。
【数3】

【0059】
続いてホスト装置2は、上述のようにして求めた各ストレージ装置3の第1及び第2のローカルタイムLt1(i),Lt2(i)の差分Qtを用いて、ホスト基準時刻Hsに対する各ストレージ装置3のローカルタイムと、ホストタイムとの間の時間差(以下、これをローカル−ホスト間時間差と呼ぶ)Dif(i)を次式により求める。
【数4】

【0060】
なお(4)式において、Bは、1回目のローカルタイム(第1のローカルタイムLt1(i))の取得時において「i」が2よりも大きいときには次式
【数5】


で与えられる値であり、「i」がNのときには次式
【数6】


で与えられる値である。
【0061】
また(4)式において、Aは、2回目のローカルタイム(第2のローカルタイムLt2(i))の取得時において「i」の値が2よりも大きいときには次式
【数7】


で与えられる値であり、「i」がNのときには次式
【数8】


で与えられる値である。
【0062】
この後、ホスト装置2は、任意の未来時刻(例えば5分後)Htを決定すると共に、ストレージ装置3ごとに、上述のようにして取得したそのストレージ装置3のローカル−ホスト間時間差Dif(i)を未来時刻Htに加算した時刻を出し、算出した時刻を動作実行時刻(以下、これを動作実行ローカルタイムと呼ぶ)として指定した図10に示すようなローカルタイム指定コマンド41をそのストレージ装置3にそれぞれ送信する。
【0063】
このローカルタイム指定コマンド41は、ホスト装置2がストレージ装置3に対して所望の動作実行ローカルタイムを指定して所望動作(ここでは稼働情報の取得。以下、同様。)をその動作実行ローカルタイムに実行すべきことを指示するためのコマンドであり、そのコマンドがローカルタイム指定コマンドであることを表す情報が格納されたコマンド欄41Aと、動作実行ローカルタイムが格納された動作実行ローカルタイム欄41Bと、そのストレージ装置に実行させようとする動作を表すサブコマンドが格納されたサブコマンド欄41Cと、ストレージ装置がその動作を実行する際に必要となる各種パラメータが格納された動作指示内容欄41Dとから構成される。そしてホスト装置2は、この後、ローカルタイム指定コマンド41に対するストレージ装置からの応答を待つ。
【0064】
このローカルタイム指定コマンド41を受信した各ストレージ装置3は、それぞれそのローカルタイム指定コマンド41において指定された動作実行ローカルタイム、サブコマンド(動作指示)、動作指示内容を、それぞれローカルタイム指定コマンド管理テーブル33(図5)の動作実行ローカルタイム欄33B、サブコマンド欄33C及び動作指示内容欄33Dに格納する。
【0065】
また各ストレージ装置3は、この後、ローカルタイム指定コマンド管理テーブル33の動作実行ローカルタイム欄33Bを監視する。そしてストレージ装置3は、やがて自己のローカルタイムが動作実行ローカルタイム欄33Bに格納されている動作実行ローカルタイムとなると、そのローカルタイム指定コマンド管理テーブル33のサブコマンド欄33Cに格納されている動作を実行する。これにより、かかるローカルタイム指定コマンド41を受信した複数のストレージ装置3が、同一時刻にローカルタイム指定コマンド41により指定された動作を一斉に実行することになる。また各ストレージ装置3は、かかる動作により得られた動作結果(ここでは稼働情報)を、ローカルタイム指定コマンド管理テーブル33の結果格納バッファ欄33Eに格納する。
【0066】
一方、ホスト装置2は、ホストタイムが上述の未来時刻Htを経過すると、時間差管理テーブル31に登録されている各ストレージ装置3に対して結果取得コマンドをそれぞれ送信する。そしてこの結果取得コマンドを受信した各ストレージ装置3は、図11に示すように、対応する動作を実行したローカルタイムを実行ローカルタイム部32Aに格納し、ローカルタイム指定コマンド管理テーブル33の結果格納バッファ欄33Eに格納されている動作結果を動作実行ローカルタイム欄33Bに格納した戻り値42をホスト装置2に送信する。
【0067】
かくしてホスト装置2は、各ストレージ装置3から送信される戻り値42に基づき得られたストレージ装置3ごとの稼働情報や、これらの動作結果に基づき計算されたリモートコピーシステム1全体としての稼働情報を表示する。
【0068】
(4)稼働情報表示機能に関するホスト装置のCPUの具体的な処理
(4−1)全体の流れ
次に、以上のような稼働情報表示機能に関するホスト装置2のCPU10(図1)の具体的な処理の内容について説明する。なお、以下の一連の処理は、ホスト装置2のメモリ11に格納されている上述のリモートコピー管理プログラム30(図2)に基づいて実行される。
【0069】
図12は、かかる稼働情報表示機能に関するホスト装置2のCPU10の一連の処理の流れを示す。CPU10は、ユーザ操作により稼働情報の表示命令が入力されるなどすると、まず、時間差管理テーブル31(図4)を初期設定し(SP1)、この後、時間差管理テーブル31に登録されている各ストレージ装置3について、上述の第1及び第2のI/O実行時間Hu1(i),Hu2(i)と、上述の第1及び第2のローカルタイムLt1(i)、Lt2(i)とを取得する(SP2)。
【0070】
続いてCPU10は、ステップSP2の処理により得られたストレージ装置3ごとの第1及び第2のI/O実行時間Hu1(i),Hu2(i)と、第1及び第2のローカルタイムLt1(i)、Lt2(i)とに基づいて、ストレージ装置3ごとのローカル−ホスト間時間差Dif(i)をそれぞれ計算する(SP3)。
【0071】
次いでCPU10は、ステップSP3において得られたローカル−ホスト間時間差Dif(i)を任意の未来時刻Htを加算することによりストレージ装置3ごとの動作実行ローカルタイムをそれぞれ決定し、この動作実行ローカルタイムと、実行すべき動作とを指定したローカルタイム指定コマンド41(図10)を時間差管理テーブル31に登録されている各ストレージ装置3にそれぞれ発行する(SP4)。
【0072】
この後、CPU10は、未来時刻Htの経過後に、各ストレージ装置3からローカルタイム指定コマンド41において指定した動作を実行することにより得られた稼働情報を回収し、回収したストレージ装置3ごとの稼働情報や、これらの稼働情報に基づき計算されたリモートコピーシステム1全体としての稼働情報をホスト装置2に表示させる(SP5)。
【0073】
(4−2)初期設定処理
図13は、図12のステップSP1におけるCPU10の具体的な処理手順を示す。CPU10は、この図13に示す処理手順に従って時間差管理テーブル31(図4)を初期設定する。
【0074】
すなわちCPU10は、図12のステップSP1に進むと、この初期設定処理を開始し、まず、空の時間差管理テーブル31を作成する(SP10)。
【0075】
続いてCPU10は、OS又はリモートコピー管理プログラム30(図2)が管理しているストレージ装置3であって、ステップSP13について後述する処理を実行していないストレージ装置3の製造番号をそのOS又はリモートコピー管理プログラム30に問い合わせる(SP11)。
【0076】
続いてCPU10は、ステップSP11の問い合わせに対していずれかのストレージ装置3の製造番号を取得できたか否かに基づいて、OS又はリモートコピー管理プログラム30が管理しているすべてのストレージ装置3についてステップSP13の処理を実行し終えたか否かを判断する(SP12)。
【0077】
そしてCPU10は、この判断において否定結果を得ると、時間差管理テーブル31に新たなエントリを追加し、そのエントリのストレージ装置製造番号欄31B(図4)に、ステップSP11の問い合わせに対してOS又はリモートコピー管理プログラム30から得られたストレージ装置3の製造番号を格納する(SP13)。またCPU10は、ステップSP11に戻り、この後、ステップSP12において肯定結果を得るまで同様の処理を繰り返す。
【0078】
そしてCPU10は、やがてステップSP11の問い合わせに対していずれのストレージ装置3の製造番号をも取得できないことによりステップSP12において肯定結果を得ると、この初期設定処理を終了して、図12の処理に戻る。
【0079】
(4−3)ローカルタイム取得処理
一方、図14A及び図14Bは、図12のステップSP2におけるCPU10の具体的な処理手順を示す。CPU10は、この図14A及び図14Bに示す処理手順に従って、時間差管理テーブル31に登録されている各ストレージ装置3について、第1及び第2のI/O実行時間Hu1(i),Hu2(i)と、第1及び第2のローカルタイムLt1(i),Lt2(i)とを取得する。
【0080】
すなわちCPU10は、図12のステップSP2に進むと、図14A及び図14Bに示すローカルタイム取得処理を開始し、まず、現在のホストタイムHt(0)を取得し(SP20)、この後、変数「i」を「1」にリセットする(SP21)。
【0081】
続いてCPU10は、時間差管理テーブル31におけるエントリ番号が「i」のエントリに対応するストレージ装置3に対して、ローカルタイム取得コマンド40(図9)を発行し(SP22)、この後、このローカルタイム取得コマンド40に対する対応するストレージ装置3からの応答を受信するのを待ち受ける(SP23)。
【0082】
そしてCPU10は、やがてかかる応答を受信すると、現在のホストタイムHt(i)(この段階ではHt(1))を取得する(SP24)。またCPU10は、このホストタイムHt(i)と、1つ前に取得したホストタイムHt(i-1)とに基づいて第1のI/O実行時間Hu1(i)(この段階ではHu1(1))を求め、求めた第1のI/O実行時間Hu1(i)を時間差管理テーブル31の「i」番目のエントリの第1のI/O実行時間欄31F(図4)に格納する(SP25)。
【0083】
次いでCPU10は、ステップSP23において受信した対応するストレージ装置3からの応答に含まれるローカルタイムを第1のローカルタイムLt1(i)(この段階ではLt1(1))として、時間差管理テーブル31の「i」番目のエントリの第1のローカルタイム欄31D(図4)に格納する(SP26)。
【0084】
この後、CPU10は、時間差管理テーブル31を参照して、当該時間差管理テーブル31に登録されているすべてのストレージ装置についてステップSP22〜ステップSP26の処理を実行し終えたか否かを判断する(SP27)。
【0085】
CPU10は、この判断において否定結果を得ると、変数「i」をインクリメントした後(SP28)、ステップSP22に戻る。そしてCPU10は、この後、ステップSP27において肯定結果を得るまで、同様の処理を繰り返す。
【0086】
そしてCPU10は、時間差管理テーブル31に登録されたすべてのストレージ装置3について、第1のI/O実行時間Hu1(i)と、第1のローカルタイムLt1(i)とを時間差管理テーブル31に登録し終えることによりステップSP27において肯定結果を得ると、現在のホストタイムHt(N)をホスト基準時刻Hsとして取得する(SP29)。そしてCPU10は、この後、変数「i」を「1」にリセットする(SP30)。
【0087】
続いてCPU10は、時間差管理テーブル31におけるエントリ番号が「i」のエントリに対応するストレージ装置3に対して、再度、ローカルタイム取得コマンド40(図9)を発行し(SP31)、この後、このローカルタイム取得コマンド40に対する対応するストレージ装置3からの応答を受信するのを待ち受ける(SP32)。
【0088】
そしてCPU10は、やがてかかる応答を受信すると、現在のホストタイムHt(i+N)を取得する(SP33)。またCPU10は、このホストタイムHt(i+N)と、1つ前に取得したホストタイムHt(i-1+N)とに基づいて第2のI/O実行時間Hu2(i) (この段階ではHu2(1))を求め、求めた第2のI/O実行時間Hu2(i)を時間差管理テーブル31の「i」番目のエントリの第2のI/O実行時間欄31G(図4)に格納する(SP34)。
【0089】
次いでCPU10は、ステップSP32において受信した対応するストレージ装置3からの応答に含まれるローカルタイムを第1のローカルタイムLt2(i)(この段階ではLt2(1))として、時間差管理テーブル31の「i」番目のエントリの第2のローカルタイム欄31Eに格納する(SP35)。
【0090】
この後、CPU10は、時間差管理テーブル31を参照して、当該時間差管理テーブル31に登録されているすべてのストレージ装置3についてステップSP31〜ステップSP35の処理を実行し終えたか否かを判断する(SP36)。
【0091】
CPU10は、この判断において否定結果を得ると、変数「i」をインクリメントした後(SP37)、ステップSP31に戻る。そしてCPU10は、この後、ステップSP36において肯定結果を得るまで、同様の処理を繰り返す。
【0092】
そしてCPU10は、時間差管理テーブル31に登録されたすべてのストレージ装置3について、第2のI/O実行時間Hu2(i)と、第2のローカルタイムLt2(i)とを時間差管理テーブル31に登録し終えることによりステップSP36において肯定結果を得ると、このローカルタイム取得処理を終了して図12の処理に戻る。
【0093】
(4−4)時間差計算処理
他方、図15は、図12のステップSP3におけるCPU10の具体的な処理手順を示す。CPU10は、この図15に示す処理手順に従って、時間差管理テーブル31に登録されている各ストレージ装置3について、そのストレージ装置3のローカル−ホスト間時間差Dif(i)を取得する
【0094】
すなわちCPU10は、図12のステップSP3に進むと、図15に示す時間差計算処理を開始し、まず、差分合計値を「0」にリセットすると共に(SP40)、変数「i」を「1」にリセットする(SP41)。
【0095】
続いてCPU10は、第2のローカルタイムLt2(i)と、第1のローカルタイムLt1(i)との差分(Lt2(i)−Lt1(i))を現在の差分合計値に加算することにより新たな差分合計値を算出する(SP42)。またCPU10は、変数「i」の値が時間差管理テーブル31に登録されているストレージ装置数Nよりも小さいか否かを判断する(SP43)。
【0096】
CPU10は、この判断において肯定結果を得ると、変数「i」をインクリメントする(SP44)。またCPU10は、ステップSP42に戻り、この後、ステップSP43において否定結果を得るまで同様の処理を繰り返す。これにより差分合計値として、時間差管理テーブル31に登録された各ストレージ装置3の第2及び第1のローカルタイムLt2(i),Lt1(i)の差分を合計した値が求められる。
【0097】
そしてCPU10は、やがて時間差管理テーブル31に登録されているすべてのストレージ装置3に対するステップSP42〜ステップSP44の処理を実行し終えることによりステップSP43において否定結果を得ると、ステップSP42〜ステップSP44の処理により最終的に求められた差分合計値を、時間差管理テーブル31に登録されているストレージ装置数Nで割ることにより上述の差分Qtを求める(SP45)。
【0098】
次いでCPU10は、変数「i」を「1」にリセットし(SP46)、時間差管理テーブル31におけるエントリ番号が「i」のエントリの第1のI/O実行時間欄31F(図4)に格納されている第1のI/O実行時間Hu1(i)を「2」で割ることにより得られた値を「B」とする(SP47)。
【0099】
またCPU10は、変数「i」に「1」を加えた値を変数「j」として(SP48)、この変数「j」の値が時間差管理テーブル31に登録されているストレージ装置数N以下であるか否かを判断する(SP49)。
【0100】
CPU10は、この判断において否定結果を得ると、「B」の値に第1のI/O実行時間Hu1(j)を加えることにより新たな「B」を算出し(SP50)、さらに変数「j」の値をインクリメントした後(SP51)、ステップSP49に戻る。そしてCPU10は、この後、ステップSP49において否定結果を得るまで、ステップSP49〜ステップSP51の処理を繰り返す。このステップSP49〜ステップSP51の処理により、(4)式における「B」の値が順次求められることになる。
【0101】
そしてCPU10は、やがてステップSP49において否定結果を得ると、時間差管理テーブル31におけるエントリ番号が「i」のエントリの第2のI/O実行時間欄31G(図4)に格納されている第2のI/O実行時間Hu2(i)を「2」で割ることにより得られた値を「A」とする(SP52)。
【0102】
またCPU10は、変数「i」を変数「j」として(SP53)、この変数「j」の値が時間差管理テーブル31に登録されているストレージ装置数Nよりも1だけ小さい値(N−1)以下であるか否かを判断する(SP54)。
【0103】
CPU10は、この判断において否定結果を得ると、「A」の値に第2のI/O実行時間Hu2(j)を加えることにより新たな「A」を算出し(SP55)、さらに変数「j」の値をインクリメントした後(SP56)、ステップSP54に戻る。そしてCPU10は、この後、ステップSP54において否定結果を得るまで、ステップSP54〜ステップSP56の処理を繰り返す。このステップSP54〜ステップSP56の処理により、(4)式における「A」の値が順次求められることになる。
【0104】
そしてCPU10は、やがてステップSP54において否定結果を得ると、(4)式の演算を実行することにより、対応するストレージ装置3のローカル−ホスト間時間差Dif(i)を求める(SP57)。
【0105】
次いでCPU10は、変数「i」の値が時間差管理テーブル31に登録されたストレージ装置数N未満であるか否かを判断する(SP58)。そしてCPU10は、この判断において肯定結果を得ると、変数「i」をインクリメントした後(SP59)、ステップSP47に戻る。
【0106】
そしてCPU10は、この後、対象とするストレージ装置3を順次他のストレージ装置3に切り替えながらステップSP58において肯定結果を得るまで、ステップSP47〜ステップSP59の処理を繰り返す。これにより時間差管理テーブル31に登録された各ストレージ装置3について、そのストレージ装置3のローカルタイムと、ホストタイムとの間の時間差であるローカル−ホスト間時間差Dif(i)が順次求められることになる。
【0107】
そしてCPU10は、やがて時間差管理テーブル31に登録されたすべてのストレージ装置についてローカル−ホスト間時間差Dif(i)を求め終えることによりステップSP58において否定結果を得ると、この時間差計算処理を終了して図12の処理に戻る。
【0108】
(4−5)実行動作予約処理
図16は、図12のステップSP4におけるCPU10の具体的な処理手順を示す。CPU10は、この図16に示す処理手順に従って、時間差管理テーブル31に登録されている各ストレージ装置3に対して、動作実行ローカルタイムと、当該動作実行ローカルタイムに実行すべき動作とを設定する。
【0109】
すなわちCPU10は、まず、上述の未来時刻Htを決定し(SP60)、この後、変数「i」の値を「1」にリセットする(SP61)。
【0110】
続いてCPU10は、時間差管理テーブル31におけるエントリ番号が「i」のエントリに対応するストレージ装置3に対して、ステップSP60において決定した未来時刻Htに、図15の時間差計算処理において算出した対応するローカル−ホスト間時間差Dif(i)を加算した値を動作実行ローカルタイムとし、所望する動作(ここでは稼働情報の取得)をサブコマンドとするローカルタイム指定コマンド41(図10)を発行する(SP62)。
【0111】
次いでCPU10は、変数「i」の値が時間差管理テーブル31に登録されているストレージ装置数N未満であるか否かを判断する(SP63)。そしてCPU10は、この判断において肯定結果を得ると、変数「i」をインクリメントした後(SP64)、ステップSP62に戻り、この後、ステップSP63において否定結果を得るまで同様の処理を繰り返す。
【0112】
そしてCPU10は、やがて時間差管理テーブル31に登録されているすべてのストレージ装置3に対して上述のローカルタイム指定コマンド41を発行し終えることによりステップSP63において否定結果を得ると、この実行動作予約処理を終了する。
【0113】
(4−6)結果回収・表示処理
図17は、図12のステップSP5におけるCPU10の具体的な処理手順を示す。CPU10は、この図17に示す処理手順に従って、図16の実行動作予約処理により各ストレージ装置にそれぞれ予約設定した動作の動作結果(稼働情報)を回収し、回収した稼働情報やこの稼働情報に基づいて計算されるリモートコピーシステム1全体としての稼働情報を表示する。
【0114】
すなわちCPU10は、図12のステップSP5に進むと、この結果回収・表示処理を開始し、図16の実行動作予約処理のステップSP60において決定した未来時刻Htが経過するのを待ち受ける(SP70)。そしてCPU10は、やがてホストタイムが未来時刻Htを経過すると、変数「i」を「1」にリセットする(SP71)。
【0115】
続いてCPU10は、時間差管理テーブル31におけるエントリ番号が「i」のエントリに対応するストレージ装置3に対して、結果取得コマンドを発行する(SP72)。かくして、この結果取得コマンドを受信したストレージ装置3は、当該ストレージ装置3が保持するローカルタイム指定コマンド管理テーブル33(図5)の結果格納バッファ欄33Eに格納されている稼働情報をホスト装置2に送信する。
【0116】
またCPU10は、変数「i」の値が時間差管理テーブル31に登録されているストレージ装置数N未満であるか否かを判断し(SP73)、肯定結果を得ると、変数「i」をインクリメントした後(SP74)、ステップSP72に戻る。そしてCPU10は、この後、ステップSP73において否定結果を得るまでステップSP72〜ステップSP74の処理を繰り返す。
【0117】
そしてCPU10は、やがて時間差管理テーブル31に登録されたすべてのストレージ装置3に対して結果取得コマンドを発行し終えることによりステップSP73において否定結果を得ると、結果取得コマンドに対する各ストレージ装置3からの応答により得られた稼働情報に基づいてリモートコピーシステム1全体としての稼働情報(例えば非同期リモートコピーにおける正側に対する副側の遅延時間)を計算する。またCPU10は、計算結果をホスト装置2に表示させ(SP75)、この後、この結果回収・表示処理を終了して図12の処理に戻る。
【0118】
(5)本実施の形態の効果
以上のように本実施の形態によるリモートコピーシステム1では、ホスト装置2が、ホストタイムと、ストレージ装置3のローカルタイムとの時間差Dif(i)をストレージ装置3ごとに求め、求めた時間差Dif(i)に任意の未来時刻Htを加算した時刻を動作実行ローカルタイムとして各ストレージ装置3に設定し、未来時刻Htの経過後に、各ストレージ装置3から動作実行ローカルタイムにおいて実行した動作の実行結果を回収するようにしているため、各ストレージ装置3から同一時刻に実行した動作結果を得ることができる。かくするにつき、複数のストレージ装置における同一時刻の動作結果を信頼性高く取得することができる。
【0119】
また、かかる未来時刻Htとして業務が稼働していない時間帯を選択することにより、業務に影響を与えることなく、各ストレージ装置3の稼働情報を取得することができる。
【0120】
(6)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成されたリモートコピーシステム1に適用するようにした場合について述べたが、本発明はこれに限らず、複数のストレージ装置から同一時刻の動作情報を収集する必要があるこの他種々の構成の計算機システムに広く適用することができる。
【0121】
また上述の実施の形態においては、本発明による機能をホスト装置2に搭載するようにした場合について述べたが、本発明はこれに限らず、かかる機能をホスト装置2とは別個に設けられた管理サーバ等の他の情報処理装置に搭載するようにしても良い。
【0122】
さらに上述の実施の形態においては、ストレージ装置3の内部時間(ローカルタイム)と、ホスト装置2の内部時間(ホストタイム)との間の時間差を検出する時間差検出部と、各ストレージ装置3に対して、任意の未来時刻Htに、当該ストレージ装置3の内部時間と、ホスト装置2の内部時間との間の時間差を加算した時刻を所定動作の実行時刻(動作実行ローカルタイム)として設定する動作実行設定部と、未来時刻Htの経過後に、各ストレージ装置3からそれぞれかかる所定動作の実行結果を回収する実行結果回収部とを、ホスト装置2全体の動作制御を司る1つのCPU10により構成するようにした場合について述べたが、本発明はこれに限らず、これら時間差検出部、動作実行設定部及び実行結果回収部としての機能の一部又は全部を、CPU10とは別個に設けられたCPU等に搭載したり、これら時間差検出部、動作実行設定部及び又は実行結果回収部としての機能を有するハードウェアをCPU10とは別個に設けるようにしても良い。
【産業上の利用可能性】
【0123】
本発明は、リモートコピーシステムにおけるホスト装置のほか、情報処理装置に広く適用することができる。

【特許請求の範囲】
【請求項1】
複数のストレージ装置と接続された情報処理装置において、
前記複数のストレージ装置のそれぞれについて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する時間差検出部と、
前記複数のストレージ装置に対して、任意の未来時刻に、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を加算した時刻を所定動作の実行時刻として設定する動作実行設定部と、
前記未来時刻の経過後に、前記複数のストレージ装置からそれぞれ前記所定動作の実行結果を回収する実行結果回収部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記所定動作は、
前記実行時刻における前記ストレージ装置の稼働情報を取得する動作であり、
前記実行結果回収部は、
前記複数のストレージ装置からそれぞれ前記所定動作の実行結果として当該ストレージ装置の前記稼働情報を回収し、回収した前記ストレージ装置ごとの前記稼働情報及び又は当該稼働情報に基づき得られる情報を表示する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複数のストレージ装置は、非同期リモートコピーを実行し、
前記稼働情報は、
前記非同期リモートコピーを実行している正側のストレージ装置においてはデータの最終更新時刻の取得であり、副側のストレージ装置においては正側のストレージ装置から転送される更新データの最終タイムスタンプ時刻の取得である
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記実行結果回収部は、
回収した前記ストレージ装置ごとの前記稼働情報に基づいて、正側のストレージ装置におけるデータの最終更新時刻と、副側のストレージ装置における更新データの最終タイムスタンプ時刻との差分を、前記非同期リモートコピーにおける正側及び副側の遅延時間として表示する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記時間差検出部は、
ストレージ装置に対して当該ストレージ装置における内部時刻を取得し応答すべきコマンドを2回送信し、各前記コマンドの送信によりそれぞれ得られた当該コマンドを受信した時点の前記ストレージ装置の内部時刻と、各前記コマンドをそれぞれ前記ストレージ装置に送信してから当該コマンドの応答を受信するまでの時間間隔とに基づいて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
複数のストレージ装置と接続された情報処理装置の制御方法において、
前記複数のストレージ装置のそれぞれについて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する第1のステップと、
前記複数のストレージ装置に対して、任意の未来時刻に、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を加算した時刻を所定動作の実行時刻として設定する第2のステップと、
前記未来時刻の経過後に、前記複数のストレージ装置からそれぞれ前記所定動作の実行結果を回収する第3のステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項7】
前記所定動作は、
前記実行時刻における前記ストレージ装置の稼働情報を取得する動作であり、
前記第3のステップでは、
前記複数のストレージ装置からそれぞれ前記所定動作の実行結果として当該ストレージ装置の前記稼働情報を回収し、回収した前記ストレージ装置ごとの前記稼働情報及び又は当該稼働情報に基づき得られる情報を表示する
ことを特徴とする請求項6に記載の情報処理装置の制御方法。
【請求項8】
前記複数のストレージ装置は、非同期リモートコピーを実行し、
前記稼働情報は、
前記非同期リモートコピーを実行している正側のストレージ装置においてはデータの最終更新時刻の取得であり、副側のストレージ装置においては正側のストレージ装置から転送される更新データの最終タイムスタンプ時刻の取得である
ことを特徴とする請求項6に記載の情報処理装置の制御方法。
【請求項9】
前記第3のステップでは、
回収した前記ストレージ装置ごとの前記稼働情報に基づいて、正側のストレージ装置におけるデータの最終更新時刻と、副側のストレージ装置における更新データの最終タイムスタンプ時刻との差分を、前記非同期リモートコピーにおける正側及び副側の遅延時間として表示する
ことを特徴とする請求項6に記載の情報処理装置の制御方法。
【請求項10】
前記第1のステップでは、
ストレージ装置に対して当該ストレージ装置における内部時刻を取得し応答すべきコマンドを2回送信し、各前記コマンドの送信によりそれぞれ得られた当該コマンドを受信した時点の前記ストレージ装置の内部時刻と、各前記コマンドをそれぞれ前記ストレージ装置に送信してから当該コマンドの応答を受信するまでの時間間隔とに基づいて、当該ストレージ装置の内部時間と、当該情報処理装置の内部時間との間の時間差を検出する
ことを特徴とする請求項6に記載の情報処理装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−134152(P2011−134152A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−293753(P2009−293753)
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】