JP2004302556A - 複数の計算機システム間でのデータ共有方法およびディスク制御装置 - Google Patents
複数の計算機システム間でのデータ共有方法およびディスク制御装置 Download PDFInfo
- Publication number
- JP2004302556A JP2004302556A JP2003091666A JP2003091666A JP2004302556A JP 2004302556 A JP2004302556 A JP 2004302556A JP 2003091666 A JP2003091666 A JP 2003091666A JP 2003091666 A JP2003091666 A JP 2003091666A JP 2004302556 A JP2004302556 A JP 2004302556A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- data
- remote
- command
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
【解決手段】ディスク制御装置30Aが、ホスト装置10Aが使用するディスクの識別子と対応して、リモートディスクの識別子と、リモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示す管理テーブル35Aを有し、ホスト計算機から特定ディスクへのデータ書込みコマンドを受信した時、上記管理テーブルが示す特定ディスクのコマンド転送制御情報に従って、上記特定ディスクへの上記書込みコマンドの実行と、リモートディスク制御装置30Bへの書込みコマンドの転送を制御する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、複数の計算機システム間でのデータ共有方法およびディスク制御装置に関する。
【0002】
【従来の技術】
グリッド技術で代表されるように、計算機ネットワークでは、1つの計算機から他の計算機に実行すべきアプリケーションを転送したり、アプリケーションの実行を指示する遠隔実行技術の開発が進められている。グリッド技術を適用すると、例えば、大規模科学技術計算における演算結果の高度化や、世界規模で分散している高性能計算機および科学技術データの共有化が可能となる。この種の計算機ネットワークにおいて、複数の計算機間でのデータ共有方法として、次の2つの方法が知られている。
【0003】
第1の方法は、データ処理(計算)に必要なデータを既に保有している計算機にアプリケーションの実行を要求するものであり、要求元ユーザが、予めどの計算機にどのようなデータが存在するかを調べておき、要求元ユーザの計算機から所望データをもつ他の計算機に対して、実行すべきアプリケーションを転送した後、データ処理の実行を要求する。この方法は、リモート計算機のプロセッサ性能が充分に高速な場合に有効であり、高性能計算機が使用される科学技術計算分野に適したデータ共有方法と言える。
【0004】
第2の方法は、計算に必要なデータを計算機間でコピーするものであり、アプリケーションを実行するリモート計算機に対して、要求元計算機から必要なデータを転送(コピー)した後、アプリケーションの実行を要求する。この方法は、データ保有している要求元計算機のプロセッサ性能が不足している場合に有効となる。しかしながら、要求元計算機からリモート計算機へのデータコピーがネットワークを介して行われるため、大規模なデータを必要とするアプリケーションを遠隔実行しようとすると、データコピーに時間がかかると言う問題がある。従って、データを既に保有しているリモート計算機にアプリケーションの実行を要求する第1の方法が一般的となっている。
【0005】
上述した計算機間でのデータコピーに関する従来技術として、例えば、ディスク制御装置が備えるリモートコピー機能が知られている。ここで言うリモートコピーは、2つのディスク制御装置間で専用チャネルを介してコピーデータを送受信することによって、ホスト装置を介することなく、それぞれのディスクの格納データを互いに同期して更新する機能を指す。リモートコピーでは、プライマリディスク制御装置とセカンダリディスク制御装置とが定義され、プライマリディスク制御装置側でディスクデータが更新されると、プライマリディスク制御装置が備えるリモートコピー機構によって、更新データが自動的にセカンダリディスク制御装置に転送され、セカンダリディスク制御装置側のディスクに反映されるようになっている。
【0006】
リモートコピー機能を利用すれば、互いに離れた場所にある2つディスク装置の格納データを一致(同期)させることが可能となる。従って、プライマリディスク制御装置や、プライマリディスク制御装置に接続されたホスト装置(ホスト計算機)に障害が発生した場合に、セカンダリディスク制御装置に接続されたホスト装置にその後のデータ処理を継続させることが可能となる。尚、データベースへのリモートコピー機能の適用に関する公知例としては、例えば、特開2002−149499号公報(特許文献1)や特開2002―49517号公報(特許文献2)がある。
【0007】
【特許文献】
特開2002−149499号
【特許文献】
特開2002―49517号公報
【0008】
【発明が解決しようとする課題】
然るに、上述したグリッド技術に代表される計算機間のデータ共有方法は、大容量データを利用するデータベース分野には簡単には適用できない。一般的に、データベースは、顧客(企業)が所有するデータ処理システムで運用/管理されており、例えば、膨大なデータを扱う大規模なデータベース処理を実行しようとした時、自社システムでは計算性能が不足した場合に、上述した計算機間でのデータ共有が必要となる。
【0009】
この場合、計算機で処理されるデータは、上記データ処理システムに固有のデータベースにのみ存在しているため、ネットワークで接続された他の高速計算機で上記データベース用のアプリケーションを実行しようとすると、前述の第2の共有方法を適用せざるを得ない。しかしながら、データベースに格納された膨大なデータをリモート計算機にコピーするためには長時間を要するため、データコピーが完了するまでデータベース処理が停止すると言う問題がある。
特許文献1と2は、いずれもシステム障害復旧の高速化または容易化を目的としたものであり、上述した計算機間でのデータ共有のためのデータコピー技術を提案したものではない。
【0010】
本発明の目的は、データベースシステムのように、大量のデータを処理対象とするアプリケーションの実行をリモート計算機で実行するのに適したデータ共有方法およびディスク制御装置を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明は、第1のディスク制御装置を備えた第1ホスト計算機と、第2のディスク制御装置を備えた第2ホスト計算機との間でのデータの共有方法において、
第1のディスク制御装置が、第1ホスト装置が使用するディスクの識別子と対応して、該ディスクに対応するリモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示す管理テーブルを有し、
第1ホスト計算機から特定ディスクへのデータ書込みコマンドを受信した第1のディスク制御装置が、上記管理テーブルが示す特定ディスクのコマンド転送制御情報に従って、上記特定ディスクへの上記書込みコマンドの実行と、第2のディスク制御装置への書込みコマンドの転送を制御することを特徴とする。
【0012】
本発明の1つの特徴は、第1ホスト計算機からのコピー方向反転コマンドに応答して、上記第1のディスク制御装置が、第2のディスク制御装置との間で、それぞれが有する特定ディスクの更新データのコピー方向反転のための制御手順を実行し、上記制御手順の完了後に、第1ホスト計算機から第2ホスト計算機に、上記特定ディスクを利用するデータ処理の実行を要求し、第2ホスト計算機によるデータ処理の実行過程で発行されたデータ書込みコマンドに応答して、上記第2のディスク制御装置が、自装置側の特定ディスクへのデータ書込みを実行して格納データを更新し、第1のディスク制御装置に対して、上記データ更新を相手装置側の特定ディスクに反映するための書込みコマンドを送信することにある。
【0013】
本発明の他の特徴は、第1ホスト計算機から特定ディスクのデータ読出しコマンドを受信した第1のディスク制御装置が、目的データがディスクキャッシュに無かった時、上記管理テーブルのコマンド転送制御情報から、上記特定ディスクが自装置に実在するローカルディスクか第2のディスク制御装置側に実体が存在する仮想ディスクかを判定し、上記特定ディスクがローカルディスクの場合は、該ローカルディスクからの読出しデータを第1ホスト装置に返送し、上記特定ディスクが仮想ディスクとなっていた場合は、第2のディスク制御装置に目的データの読出しを要求し、該第2のディスク制御装置から受信した目的データを第1ホスト装置に返送することにある。
【0014】
本発明の実施例では、第1ホスト計算機から特定ディスクへのデータ書込みコマンドが発行された場合、第1のディスク制御装置は、書込みデータをディスクキャッシュに一時的に格納する。この後、上記ディスクキャッシュの格納データについて、上記特定ディスクが自装置に実在するローカルディスクの場合は、該ローカルディスクに書き戻し、上記特定ディスクが仮想ディスクとなっていた場合は、第2のディスク制御装置に対して上記仮想ディスクへの書き戻しを要求する。
【0015】
上記目的を達成するため、本発明は、第1のディスク制御装置を備えた第1ホスト計算機と、第2のディスク制御装置を備えた第2ホスト計算機との間でのディスク格納データの共有方法において、
第1のディスク制御装置に接続された特定ディスクの格納データをブロック単位で上記第2のディスク制御装置の特定ディスクにコピーし、全データブロックのコピーが完了する前に、第1ホスト計算機から上記特定ディスクのデータ読出しコマンドを受信した第1のディスク制御装置が、目的データがディスクキャッシュに無かった時、該目的データに該当するデータブロックが第2のディスク制御装置側の特定ディスクに未だコピーされていなければ、自装置に接続された上記特定ディスクからの読出しデータを第1ホスト装置に返送し、上記目的データに該当するデータブロックが第2のディスク制御装置側の特定ディスクにコピー済みの場合は、第2のディスク制御装置に目的データの読出しを要求し、受信した目的データを第1ホスト装置に返送することを更に他の特徴とする。
【0016】
上記コピー処理により、全データブロックのコピーが完了した時、上記特定ディスクを前述したローカルディスクから仮想ディスクに変更できる。また、全データブロックのコピーが完了した特定ディスクを指定して、前述したコピー方向反転コマンドを発行することにより、データ処理の実行を第1ホスト装置から第2ホスト装置に切替えることが可能となる。
【0017】
本発明によるディスク制御装置は、ディスク装置に含まれるローカルディスクの識別子と対応して、リモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示すリモートコピー管理テーブルと、ホスト計算機からの受信コマンドに応じて、上記ディスク装置へのアクセスと、上記リモートディスク制御装置との通信を選択的に実行するリモートコピー制御部とを備え、該リモートコピー制御部が、ホスト計算機からにコピー方向反転コマンドに応答して、リモートディスク制御装置との間で特定ディスクの更新データのコピー方向反転のための制御手順を実行し、上記リモートコピー管理テーブルにおける上記特定ディスクと対応するコマンド転送制御情報を書き換えるための手段と、ホスト計算機からの上記ディスク装置に含まれる特定ディスクへのデータ書込みコマンドに応答して、上記リモートコピー管理テーブルに従って、上記特定ディスクへのデータ書込み動作と、該データ書込みによる更新データをリモートディスクに反映するための上記リモートディスク制御装置へのデータ書込みコマンドの送信動作を選択的に実行する手段とを有することを特徴とする。
【0018】
また、本発明のディスク制御装置は、ホスト装置が使用するディスクの識別子と対応して、該ディスクの接続状態と、該ディスクに対応するリモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、コマンド転送制御情報との関係を示すディスク管理テーブルと、上記ホスト計算機からの受信コマンドに応じて、上記ディスク管理テーブルに従って、ローカルディスク装置へのアクセスと、リモートディスク制御装置との通信を選択的に実行する仮想ディスク制御部とを備え、
該仮想ディスク制御部が、上記ホスト計算機から特定ディスクのデータ読出しコマンドを受信し、目的データがディスクキャッシュに無かった時、上記ディスク管理テーブルのコマンド転送制御情報から、上記特定ディスクが自装置に実在するローカルディスクかリモートディスク制御装置に実体が存在する仮想ディスクかを判定する手段と、上記特定ディスクがローカルディスクの場合は、該ローカルディスクからの読出しデータをホスト装置に返送し、上記特定ディスクが仮想ディスクとなっていた場合は、リモートディスク制御装置に目的データの読出しを要求し、該リモートディスク制御装置から受信した目的データをホスト装置に返送するための手段とを有することを特徴とする。
【0019】
本発明の1実施例では、ディスク制御装置が、ローカルディスク装置に接続された特定ディスクの格納データをブロック単位で間欠的にリモートディスク制御装置の特定ディスクにコピーするための手段を有し、ホスト計算機からのディスクアクセスコマンドが、上記コピー手段によるコピー処理の合間に実行されることを特徴とする。本発明の他の特徴は、以下に述べる実施例の説明から明らかになる。
【0020】
【発明の実施の形態】
図1は、本発明による遠隔ホスト間のデータ共有を実現する計算機ネットワークの基本的なシステム構成を示す。
10(10A、10B)は、ネットワーク1000に接続されたホスト装置であり、遠隔実行制御プログラム13(13A、13B)と、データベース・ディスクテーブル14(14A、14B)を備えている。遠隔実行制御プログラム14は、ネットワーク1000を介して、他のホスト装置との間で、アプリケーション等のプログラムの送受信機能と、該プログラムの実行機能をもつ。また、データベース・ディスクテーブル14には、各ホスト装置で使用されているデータベース用ディスクの識別情報が登録されている。
【0021】
ホスト装置10A(10B)には、ディスク制御装置30A(30B)が接続され、ディスク制御装置30A(30B)には、サービスプロセッサ(SVP)80と、複数のディスクドライブ50A1〜50An(50B1〜50Bn)からなるディスク装置50A(50B)が接続されている。ディスク制御装置30A(30B)は、ホスト装置10A(10B)から発行されるディスク入出力要求を解釈し、それを実行する機能を有し、ホスト装置10A(10B)から発行されるディスク入出力要求(READ/WRITEコマンド)に応答して、ディスクドライブ50A1〜50An(50B1〜50Bn)のデータリード/ライトを実行する。以下の説明では、簡単化のために、ディスクドライブ50A1〜50An(50B1〜50Bn)を単にディスクと呼ぶ。
【0022】
第1の実施例では、各ディスク制御装置30(30A、30B)は、リモートコピー制御部31(31A、31B)とリモートコピーテーブル35(35A、35B)を内蔵している。通常、ディスク制御装置が備える各種機能は、ディスク制御装置内のローカルプロセッサ(図示省略)が実行するソフトウェアによって実現される。上記リモートコピー制御部31の機能は、図9〜図12を参照して詳述するリモートコピー制御プログラムによって表される。
【0023】
リモートコピー制御部31の機能は、一般的には、ディザスタリカバリを目的として、チャネル90を介して遠隔の他のディスク装置との間でデータ同期をとるために利用される。すなわち、リモートコピー機能を利用して、2つのディスク装置間でデータ同期をとっておくことよって、一方のディスク装置がアクセス不能な状況に陥った場合に、他方のディスク装置を用いて計算サービスを継続することが可能となる。
本実施例では、リモートコピー機能を従来のデータ保護目的ではなく、複数のホスト装置(10A、10B)間でのデータベース用のデータ共有のために利用する。
【0024】
図2は、計算機ネットワークにおけるデータ共有の1例を示す。
ネットワーク1000を介して接続された2つのホスト装置10A、10Bでは、それぞれデータベース・アプリケーション11(11A、11B)やデータベースシステム12(12A、12B)が稼働している。各ホスト装置には、ディスク制御装置(図示省略)を介して、ディスク装置50(50A、50B)が接続され、ディスク装置50内にデータベースDBが構築されている。
【0025】
本実施例では、例えば、ホスト装置10Aで稼働していたデータベース・アプリケーション11Aをホスト装置10Bで遠隔的に実行させるためにリモートコピー機能を利用する。ここで、ホスト装置10Bのデータベース・アプリケーション11Bは、ホスト装置10Aのデータベース・アプリケーション11Aと同一機能を備えていることを前提とする。
通常、データベース・アプリケーション11(11A、11B)の実行は、データベースDBの内容更新処理を伴うため、ホスト装置10Aからホスト装置10Bにデータベース・アプリケーション11Bの遠隔実行を要求可能にするためには、ホスト10Aがデータベース・アプリケーション11Aを実行中は、ディスク装置50AのデータベースDBに生じたデータ変更をディスク装置50B側のデータベースDBに随時反映させておき、ホスト10Bがデータベース・アプリケーション11Bを遠隔実行中は、ディスク装置50BのデータベースDBに生じたデータ変更をディスク装置50A側のデータベースに随時反映させておく必要がある。
【0026】
図3は、データベース・アプリケーション11Bの遠隔実行に先立って、ホスト装置10A、ディスク制御装置30A、ホスト装置10B、ディスク制御装置30Bの間で実行されるリモートコピー方向反転制御手順の1例を示す。
ホスト装置10Aは、先ず、ディスク制御装置30Aに対して、モートコピー方向反転コマンドを発行する(201)。リモートコピー方向反転コマンドは、ディスク制御装置30Aと30Bとの間でデータベース更新結果のリモートコピー方向を切り替えるための制御コマンドで、本実施例の特徴の一つである。
【0027】
リモートコピー方向反転コマンドを受け取ったディスク制御装置30Aは、リモートディスク制御装置30Bに対して、リモートコピー方向反転確認要求コマンドを発行する(202)。このコマンドは、ディスク制御装置30Aがその後に発行するリモートコピー方向反転コマンドの受付け可否を問合せるためのものであり、リモートディスク制御装置30Bが上記コマンドを受信した時点では、リモートコピー方向は未だ反転されない。これは、例えば、複数のディスク制御装置に対してリモートコピーを行う時、特定のディスク制御装置がリモートコピー方向反転コマンドを許諾できなかった場合に起こるデータ不整合を未然に防止するためである。
【0028】
上記リモートコピー方向反転確認要求コマンドを受信したリモートディスク制御装置30Bは、リモートコピー方向反転要求を受付可能か否かをチェックし、もし、受付可能であれば、リモートコピー方向反転準備完了応答(許諾応答)をディスク制御装置30Aに回答する(203)。
【0029】
ディスク制御装置30Aは、上記リモートコピー方向反転準備完了応答を受信すると、リモートディスク制御装置30Bにモートコピー方向反転要求を発行(204)した後、自装置側のコピー方向の切替え体制を整える。リモートディスク制御装置30Bは、上記モートコピー方向反転要求を受信すると、データベースのコピー方向を切替えた後、ディスク制御装置30Aに対してモートコピー方向反転完了応答を通知する(205)。
【0030】
ディスク制御装置30Aは、上記モートコピー方向反転完了応答を受信すると、ホスト装置10Aに対して、モートコピー方向反転コマンド要求の完了応答を通知する(206)。ホスト装置10Aは、上記リモートコピー方向転コマンド要求の完了応答の受信を待って、リモートホスト装置10Bにデータベース・アプリケーションプログラムの遠隔実行要求を転送する(207)。
上記遠隔実行要求を受信したリモートホスト装置10Bが、データベース・アプリケーションプログラムを実行し、ディスク制御装置30BにデータWRITEコマンドを発行すると(210)、ディスク制御装置30Bが上記WRITEコマンドを実行し、ディスク制御装置30Bに接続されたディスク装置50Bにデータを書込む(211)。この時、ディスク制御装置30Bは、ディスク制御装置30Aに対して、リモートコピーのためのデータWRITEコマンドを送信する(212)。
【0031】
ディスク制御装置30Aは、上記WRITEコマンドを実行し(213)、ディスク装置50Aへのデータ書込みが完了すると、ディスク制御装置30Bに対してWRITEコマンド212の完了応答を送信する(214)。ディスク制御装置30Bは、ディスク制御装置30Aから上記完了応答214の受信を待って、ホスト装置10BにWRITEコマンド210に対する完了応答を返す。
【0032】
上記制御手順によれば、リモートコピー方向を反転した状態で、ホスト装置10Bによるデータベース・アプリケーションの遠隔実行が開始される。従って、リモートホスト装置10Bがデータベース・アプリケーションを実行し、ディスク制御装置30BがデータベースDBの内容を更新した場合、更新結果がホスト装置10A側のディスク装置50Aにコピーされるため、アプリケーションの遠隔実行中にディスク装置50Aと50Bのデータ同期を達成できる。
【0033】
また、上記制御手順によれば、ディスク制御装置30Aが、リモートコピー方向反転確認要求コマンドを送信し(第1フェーズ)、リモートディスク制御装置30Bがリモートコピー方向反転コマンドを実行できる状態にあることを確認した上で、リモートコピー方向反転コマンドを送信(第2フェーズ)しているため、ディスク制御装置30Aが複数のリモートディスク制御装置との間でリモートコピーを行う場合でも、コピー対象となる全てのディスクで保持データの同一性を保証することが可能となる。
【0034】
図4は、ホスト装置10A側で、データベースシステム12Aを使用して、データベース・アプリケーション11Aを実行した場合のディスク間のデータ同期を示している。
データベース・アプリケーション11Aが、データベース用のディスク50Ai、50Ajの内容を更新した場合、ディスク制御装置30A内のリモートコピー制御部31Aが、専用チャネル90を介して、リモートディスク制御装置30Bに更新データの書込み要求を転送し、ディスク制御装置30Bが上記更新データをデータベース用のディスク50Bi、50Bjに書き込む。従って、ディスク50Ai、50Ajの内容更新に同期して、リモートディスク50Bi、50Bjの内容が更新される。この時、ホスト装置10B側では、データベースシステム12Bは稼働しているが、データベース・アプリケーションは実行していないため、ホスト装置10Bによってデータベース用ディスク50Bi、50Bjが更新されることはない。
【0035】
図5は、ホスト装置10A側のディスク制御装置30Aと、リモートホスト装置10B側のディスク制御装置30Bとの間で、図3で説明したリモートコピー方向反転制御手順を実行し、ホスト装置10Aからの遠隔実行要求207に応答して、遠隔ホスト装置10Bがデータベース・アプリケーション11Aを実行した場合のデータ同期を示す。
【0036】
リモートホスト装置10Bに遠隔実行すべきデータベース・アプリケーション11Aがない場合は、ホスト装置10Aからホスト装置10Bに上記データベース・アプリケーション11Aを転送した後、遠隔実行要求207を発行すればよい。
【0037】
ホスト装置10Aは、リモートホスト装置10Bにデータベース・アプリケーション11Aの実行を要求した後、データベースシステム12Aを基本的に閉塞状態にする。従って、ホスト装置10Aは、データベースアクセスに関しては、ローカルホストとなる。
【0038】
リモートホスト装置10Bは、ホスト装置10Aからデータベース・アプリケーション11Aの実行要求を受信すると、データベースシステム12Bを使用してデータベース・アプリケーション11Aを実行し、ディスク50Bi、50Bjのデータ更新、あるいはデータ検索を開始する。
【0039】
図3で説明したリモートコピー方向反転制御の結果、ディスク制御装置30Bがデータベース用ディスク50Bi、50Bjの内容を更新すると、リモートコピー制御部31Bが、更新データの書込み要求を専用チャネル90を介してディスク制御装置30Aに転送し、ディスク制御装置30Aが、ディスク50Bi、50Bjに同期する形で、ディスク50Ai、50Ajの内容を更新する。従って、リモートホスト装置10Bでデータベース・アプリケーションを実行した場合であっても、ローカルホスト装置10A側のデータベース用ディスク50Ai、50Ajに最新データを保持できる。
【0040】
図6は、ディスク制御装置30Aが備えるリモートコピーテーブル35Aの内容と、該ディスク制御装置に接続されたローカルディスク50A1〜50A5との関係を示す。
リモートコピーテーブル35Aは、ディスク制御装置30Aに接続されたローカルディスクの識別子351をもつ複数のエントリからなり、リモートコピー制御部31Aは、上記リモートコピーテーブル35Aに登録されたエントリ内容に従ってリモートコピーを制御する。
【0041】
リモートコピーテーブル35Aの各エントリは、ローカルディスク識別子351と対応して、リモートディスク制御装置の識別子352と、リモートディスク識別子353と、コマンド転送制御情報354と示している。
リモードディスク識別子353は、ローカルディスク識別子351をもつディスク内容のコピー先(またはコピー元)となるリモートディスクを示し、リモートディスク制御装置識別子352は、上記リモートディスクが接続された他のディスク制御装置の識別子を示している。本実施例では、コマンド転送制御情報354には、リモートコピーの方向を決める「プライマリ」または「セカンダリ」を示すリモートコピー制御コードが設定される。
【0042】
例えば、制御コード354がプライマリとなっていた場合は、ディスク制御装置30Aのリモートコピー制御部31Aがプライマリ、リモートディスク制御装置側のリモートコピー制御部がセカンダリとなって、自制御装置(ローカルディスク)からリモートディスク制御装置(リモートディスク)の方向にリモートコピーが行なわれる。逆に、制御コード354がセカンダリとなっていた場合は、リモートディスク制御装置がプライマリ、ローカルディスク制御装置がセカンダリとなって、リモートディスクからローカルディスクの方向にリモートコピーが行なわれる。制御コード354がセカンダリとなったローカルディスクについては、ホスト装置からのデータ書込みは禁止され、リモートディスク制御装置からのコピーによってのみ格納データが更新される。
【0043】
ディスク制御装置30Aには、複数のディスク50A1〜50Anが接続されている。リモートコピーテーブル35Aにおいて、ローカルディスク識別子と対応して制御コード354を指定しておくことにより、同一のディスク制御装置に収容された複数のディスクに対して、ディスク毎に異なった方向のリモートコピーを実現できる。リモートコピーの対象となるディスクの指定は任意であり、例えば、データベース用ディスク50A3(VOL3)〜50A5(VOL5)のように、ローカルディスク群のうちの特定のディスクをリモートコピーテーブル35Aに登録できる。
【0044】
リモートディスク制御装置(例えば、ディスク制御装置30B)も、これと同様のリモートコピーテーブル35Bを備える。但し、リモートディスク制御装置側のテーブルエントリでは、同一のリモートコピー対象について、コマンド転送制御情報354としての設定コードが、上述したディスク制御装置30A側のリモートコピーテーブル35Aの設定コードとは逆になる。
【0045】
ディスク制御装置30Aは、ディスクアクセスの要求元となるアプリケーションの種類を認識することなく、ディスク50A1〜50Anをアクセスする。例えば、ディスク50A3〜50A5がデータベース用であっても、ディスク制御装置30Aは、これらのディスクへのアクセスを他のディスク(50A1、50A2、・・・)と同じように制御している。
【0046】
本実施例の一つの特徴は、ホスト装置10A(10B)からディスク制御装置30A(30B)に対して、データベースシステム12A(12B)が使用するディスクを教えることにある。アプリケーションをリモートホスト装置で実行する場合、上記アプリケーションで必要とするディスクは、該アプリケーションしか知らない。従って、プリケーションをリモートホスト装置で実行する場合は、ホスト装置10Aからディスク制御装置30Aに、リモートコピー方向の反転をどのディスクに対して行えばいいかを指定する。
【0047】
図7は、ホスト装置10Aが備えるデータベース(DB)ディスクテーブル14Aと、ホスト装置10Aからディスク制御装置30Aに発行されるリモートコピー方向反転コマンド700の1例を示す。
データベースシステム12Aは、遠隔実行制御プログラム13Aと、DBディスクテーブル14Aを備えている。遠隔実行制御プログラム13Aは、リモートホスト装置(例えば、10B)に対して、アプリケーションの実行要求と、必要に応じて実行すべきアプリケーションプログラムそのものの転送処理を行う。DBディスクテーブル14Aには、データベース用のアプリケーションが使用するディスクの識別子141と、該ディスクが接続されたディスク制御装置の識別子142との関係を示すエントリがリストとして登録されている。
【0048】
遠隔実行制御プログラム13Aは、リモートホスト装置へのアプリケーションの転送あるいはアプリケーションの実行要求に先立って、ホスト装置10Aに接続されたディスク制御装置30Aに対して、リモートコピー方向反転コマンド700を発行する。上記コマンド700は、リモートコピー方向反転を示すコマンドコードが設定されたコマンドフィールド701に続いて、リモートコピー方向を反転させるべきディスク数702と、リモートコピー方向を反転させるべきディスクの識別子703、704を含んでいる。リモートコピー方向を反転させるべきディスク識別子は同時に複数個を指定できる。
【0049】
ホスト装置10Aに複数のディスク制御装置が接続され、データベース用アプリケーションの実行に必要なディスクが、これら複数のディスク制御装置に分散していた場合は、上記リモートコピー方向反転コマンド700は、ディスク制御装置毎に発行される。ディスク制御装置10Aは、上記コマンド700に応答して、リモートディスク制御装置との間で、図3のリモートコピー方向反転制御手順202〜205を実行する。
【0050】
図8は、ホスト装置10A(10B)が実行する遠隔実行制御プログラム13のフローチャートを示す。
ホスト装置10Aは、DBディスクテーブル14A(14B)から、リモートコピー方向を反転すべきディスクを指定したリストを取得し(ステップ131)、上記リストで指定されたディスク制御装置30Aに対して、図7に示したリモートコピー方向反転コマンド700を発行(132)した後、上記コマンドに対するディスク制御装置からの応答を待つ(133)。ディスク制御装置30Aは、上記コマンド700を受信すると、図3のリモートコピー方向反転制御手順202〜205を実行した後、ホスト装置10Aにコマンド完了応答206を返送する。ディスク制御装置30Aは、コマンドの実行に失敗した場合は、エラー応答を返送する。
ホスト装置10Aは、ディスク制御装置30Aからコマンド応答を受信すると、受信応答がコマンド完了応答か否かを判定する(134)。受信応答がエラー応答の場合は、このプログラムの実行を終了する。受信応答が完了応答の場合は、データベースシステム12Aを閉塞し(135)、リモートホスト装置に対して遠隔実行を要求して(136)、このプログラムの実行を終了する。上記データベースシステムの閉塞により、自装置側とリモートホスト装置側でのデータベース・アプリケーションの同時実行が回避され、データの整合性を保つことができる。
【0051】
図9は、制御情報354でプライマリに指定されたディスク制御装置(ここでは、ディスク制御装置30A)におけるリモートコピー制御部(リモートコピー制御ルーチン)31Aのフローチャートを示す。
リモートコピー制御ルーチン31Aは、ホスト装置10Aからの受信コマンドが、リモートコピー方向反転コマンド700、またはリモートコピー対象ディスクへのデータWRITEコマンドの場合に有効となる。
プライマリディスク制御装置30Aは、ホスト装置10Aからの受信コマンドを解析し(ステップ301)、受信コマンドがリモートコピー方向反転コマンドか否かを判定する(302)。受信コマンドがリモートコピー方向反転コマンドでなければ、図10で後述するリモートコピー処理320を実行する。
【0052】
受信コマンドがリモートコピー方向反転コマンドの場合、プライマリディスク制御装置30Aは、データの整合性を保つ目的で、受信コマンドが示すリモートコピー対象ディスク(図7の例では、VOL3、VOL4)に関して、ホスト装置10Aからのデータ更新を禁止する(303)。この後、リモートコピーテーブル35Aから上記コピー対象ディスクと対応するリモートディスク制御装置の識別子を特定し、該リモートディスク制御装置に対して、チャネル90を介してリモートコピー方向反転確認コマンドを送信する(304)。尚、ホスト装置10Aからの受信コマンドで複数のコピー対象ディスクが指定され、リモートコピーに関与するリモートディスク制御装置が複数台になった場合は、上記確認コマンドは、これら複数のリモートディスク制御装置に対して送信される。
【0053】
プライマリディスク制御装置30Aは、チャネル90を介して、リモートディスク制御装置から上記確認コマンドに対する応答を受信(305)すると、受信応答の内容から、該リモートディスク制御装置がリモートコピー方向の反転準備を完了できたか否かを判定する(306)。応答が全て正常、すなわち、確認コマンドの送信先となった全てのリモートディスク制御装置がリモートコピー方向の反転準備を完了できた場合は、チャネル90を介して、リモートディスク制御装置にリモートコピー方向反転コマンドを転送する(307)。
【0054】
確認コマンドに対する応答が異常、すなわち、確認コマンドの送信先となった何れかのリモートディスク制御装置でリモートコピー方向を反転できない状態にあった場合は、確認コマンドの送信先となった全てのリモートディスク制御装置に対して、異常終了(リモートコピー方向反転の中止)を通知し(311)、ホスト装置10Aにリモートコピー方向反転コマンドの異常終了を通知して(312)、このルーチンを終了する。この場合、コピー対象ディスクに関するホスト装置10Aからのデータ更新禁止の状態は解消される。
【0055】
プライマリディスク制御装置30Aは、リモートコピー方向反転コマンドに対する応答を待ち、全てのリモートディスク制御装置からリモートコピー方向反転完了応答を受信できたか否かを判定する(308)。全てのリモートディスク制御装置から完了応答を受信できた場合は、リモートコピーテーブル35Aにおいて、ローカルディスク識別子351が上記リモートコピー対象ディスクに該当する各エントリの制御コード354をプライマリからセカンダリに変更し(309)、ホスト装置10Aにリモートコピー方向反転コマンドの完了応答を返して(310)、このルーチンを終了する。
【0056】
何れかのリモートディスク制御装置から、上記リモートコピー方向反転コマンドに対するエラー応答を受信した場合、プライマリディスク制御装置30Aは、ステップ310、311を実行して、このルーチンを終了する。この場合も、コピー対象ディスクに関するホスト装置10Aからのデータ更新禁止の状態は解消される。
【0057】
図10は、リモートコピー処理320の詳細フローチャートを示す。
リモートコピー処理320では、ホスト装置10Aからの受信コマンドが、リモートコピー対象ディスクをアクセスするコマンドか否かを判定し(321)、受信コマンドがリモートコピー対象ディスク以外のディスクをアクセスするREADコマンドまたはWRITEコマンドの場合は、通常のREAD/WRITE処理(328)が実行される。
【0058】
受信コマンドが、リモートコピー対象ディスクをアクセスするコマンドの場合は、受信コマンドの種類を判定する(322)。WRITEコマンドでなければ、ステップ328で通常のREAD処理が実行される。受信コマンドがWRITEコマンドの場合は、リモートコピーテーブル35Aを参照し、アクセスすべきディスクの制御コード354を判定する(323)。
【0059】
アクセスすべきディスクがセカンダリ状態となっていた場合は、リモートディスクとのデータ整合性を維持するための、ホスト装置にエラー応答を返送して(329)、このルーチンを終了する。アクセスすべきディスクがプライマリ状態となっていた場合は、受信コマンドが指定するリモートコピー対象ディスクに対してWRITEコマンドを実行する(324)。このWRITEコマンドの実行は、通常のディスク装置におけるデータの書込み動作と同様で、ディスクキャッシュへのデータ書込みを含む。
【0060】
WRITEコマンドの実行が完了すると、ディスク制御装置30Aは、リモートコピーテーブル35Aを参照して、該テーブルが指定する上記リモートコピー対象ディスクと対応するリモートディスク制御装置を特定し、チャネル90を介して、リモートディスク制御装置に上記WRITEコマンドに付随するデータのリモートディスクへの書込みを要求する(325)。この後、ディスク制御装置30Aは、リモートディスク制御装置によるデータの書込み終了を待ち(326)、チャネル90を介してリモートディスク制御装置から完了応答を受信すると、ホスト装置19AにWRITEコマンドの終了を通知(327)して、このルーチンを終了する。
【0061】
図11は、リモートコピー状態354でセカンダリに指定されたディスク制御装置(ここでは、ディスク制御装置30B)が、チャネル90からのコマンド受信時に実行するリモートコピー制御部(リモートコピー制御ルーチン)31Bのフローチャートを示す。
【0062】
セカンダリディスク制御装置30Bは、専用チャネル90を介してプライマリディスク制御装置30Aからの受信コマンドを解析し(ステップ331)、受信コマンドがリモートコピー方向反転確認コマンドか否かを判定する(332)。受信コマンドがリモートコピー方向反転確認コマンドでなければ、図12で後述するリモートコピー処理340を実行する。受信コマンドがリモートコピー方向反転確認コマンドの場合、セカンダリディスク制御装置30Bは、上記確認コマンドで指定されたディスクの状態を確認し(333)、指定ディスクがリモートコピー方向を反転可能な状態であれば、チャネル90を介して、上記確認コマンドの送信元ディスク制御装置にリモートコピー方向反転準備完了応答を送信する(334)。例えば、ディスク障害などの理由で、指定ディスクがリモートコピー方向を反転できない状態であれば、セカンダリディスク制御装置30Bは、上記反転準備完了応答に代えてエラー応答を送信する。
【0063】
セカンダリディスク制御装置30Bは、プライマリディスク制御装置30Aからの次のコマンドを待つ(335)。チャネル90から受信した次のコマンドがリモートコピー方向反転要求の場合は(336)、リモートコピーテーブル35B上で、上記方向反転要求(またはリモートコピー方向反転確認コマンド)が示すディスクの制御コード354をセカンダリ状態からプライマリ状態に変更(337)し、上記ディスクについてホスト装置10Bによるデータ更新を許可する(338)。セカンダリディスク制御装置30Bは、この後、チャネル90を介して、上記要求の送信元ディスク制御装置にリモートコピー方向反転完了応答を送信し(339)、このルーチンを終了する。
【0064】
ステップ335で受信した次のコマンドが、リモートコピー方向反転要求以外のコマンド、例えば、異常終了通知の場合は、ステップ337〜339を実行することなく、このルーチンを終了する。
【0065】
図12は、リモートコピー処理340の詳細フローチャートを示す。
リモートコピー処理340において、セカンダリディスク制御装置30Bは、チャネル90からの受信コマンドが、リモートコピー対象ディスクへのデータWRITEコマンドか否かを判定し(341、342)、受信コマンドが、リモートコピー対象ディスクへのWRITEコマンドでなければ、プライマリディスク制御装置(ディスク制御装置30A)にエラー応答を送信(346)した後、このルーチンを終了する。
【0066】
受信コマンドが、リモートコピー対象ディスクへのWRITEコマンドの場合は、リモートコピーテーブル35B上で、アクセスすべきディスクの制御コード354を判定する(343)。セカンダリディスク制御装置30Bは、アクセスすべきディスクがセカンダリ状態となっていることを確認して、WRITEコマンドを実行する(344)。この後、プライマリディスク制御装置にWRITEコマンドの終了を通知し(345)、このルーチンを終了する。尚、ステップ342で、アクセスすべきディスクがプライマリ状態となっていた場合は、チャネル90から受信したWRITEコマンドとリモートコピーテーブル35Bの定義内容とが矛盾するため、プライマリディスク制御装置にエラー応答を送信(346)した後、このルーチンを終了する。
【0067】
リモートコピーでセカンダリに指定されたディスクは、ホスト装置からのデータ更新を許されないが、本実施例によれば、各ディスク制御装置が備える上述したリモートコピー制御機能を利用して、ディスク制御装置間のリモートコピーの方向、すなわち、プライマリディスクとセカンダリディスクとの関係を動的に切替えることができる。従って、本実施例によれば、各ホスト装置が、リモートコピー方向を切替えた後、他のホスト装置にアプリケーションの遠隔実行を要求することにより、連携関係にある2つのホスト装置の何れからもディスク内容を更新することができ、且つ、これらのホスト装置が利用するディスク内容の変更を互いに同期させることが可能となる。
【0068】
図13は、上記実施例の変形例の一つを示している。
この例では、ディスク制御装置30Aが備えるデータベース用のディスク50A1〜50A4(DB1〜DB4)のコピーデータが、複数のリモートディスク制御装置30B、30Cに分散して保持されている。リモートディスク制御装置30Bには、ディスク50A1(DB1)、50A2(DB2)のコピーデータ保持ディスク50B1(DB1)、50B2(DB2)が接続され、リモートディスク制御装置30Cには、ディスク50A3(DB3)、50A4(DB4)のコピーデータ保持ディスク50C3(DB3)、50C4(DB4)が接続されている。
【0069】
図9と図11で説明したリモートコピー制御機能を利用すれば、図13のように、1つのディスク制御装置30Aと他の複数のディスク制御装置との間でも、データベースのリモートコピーを行なうことができ、ディスク制御装置30Aから他の複数のディスク制御装置に対して、アプリケーションの遠隔実行を要求することが可能となる。
【0070】
従来技術では、データベース等の大規模データの一括転送は、他のディスクへのコピー動作に時間がかかり過ぎるため、コピーデータを利用した遠隔ホスト装置によるアプリケーションのリモート実行が容易ではなかった。しかしながら、上記第1実施例に示したように、リモートコピー方向反転機能をもつ本発明のリモートコピー制御を利用すれば、データコピーの所要時間を短縮できる。従って、遠隔ホスト装置とローカルホスト装置との間で、データベース等のアプリケーションの実行に必要なデータを共有することが可能となり、大規模データを必要とするアプリケーションの遠隔実行を容易に実現できる。尚、本実施例では、ディスク制御装置間を専用チャネルで接続しているが、専用チャネルに代えて、例えば、ホスト装置に接続されているネットワークを利用してもよい。
【0071】
次に、本発明の第2実施例として、仮想ディスク機構を備えたディスク制御装置について説明する。第2実施例のディスク制御装置は、ディスク装置を持たないホスト装置と、ディスク装置を備えたリモートホスト装置との間でのデータ共有を可能とする。
【0072】
図14は、第2実施例による計算機ネットワークの基本的なシステム構成を示し、第1実施例と共通する要素には同一符号が適用されている。ホスト装置10A、10Bは、それぞれ遠隔実行制御プログラム13A、13Bを備えている。ホスト装置10Aに接続されたディスク制御装置30Aは、該ホスト装置からのリード/ライトデータを一時的に保存するためのディスクキャッシュ36Aと、仮想ディスク制御部41と、ディスク管理テーブル43と、ディスク移行制御部45を備えている。仮想ディスク制御部41とディスク移行制御部45は、ディスク制御装置30Aのプロセッサが実行するソフトウェア(プログラムルーチン)によって実現される。
本実施例では、ディスク制御装置30Aが管理するディスクの一部、例えば、50A1〜50A4が仮想ディスクとなっている。仮想ディスクの実体は、リモートディスク制御装置30B側のディスク装置50Bにある。ディスク制御装置30Aは、ローカルディスクを全く持たない構成となっていてもよい。一方、ホスト装置10Bには、ディスクキャッシュ36を内蔵したディスク制御装置30Bが接続され、ディスク制御装置30Bには、ディスク装置50B(ディスク50B1〜50Bn)が接続されている。
【0073】
仮想ディスク制御部41は、ホスト装置10Aから、実際にはディスク制御装置30Aに接続されていない仮想ディスクに対するリード/ライト要求を受信した時、これらの要求を専用チャネル90でリモートディスク制御装置30Bに転送する機能を有している。ディスク制御装置30Aは、上記仮想ディスク制御部41によって、実際には接続されていない仮想ディスクについて、ホスト装置10Aには恰もディスクが実在しているように振舞い、仮想ディスクをリード/ライトするアプリケーションの実行を可能とする。
ディスク移行制御部45は、SVP80からのディスク移行指令によって起動され、ディスク移行指令で指定されたローカルディスクの内容をリモートディスク装置50B側の指定のディスクにブロック単位でコピーする。
【0074】
図15は、第2実施例において、ホスト装置10Aからディスク制御装置30Aに、仮想ディスクに対するREADコマンドを発行した場合の動作シーケンスを示す。
220〜222は、ディスクキャッシュ36Aに目的データが存在した場合のシーケンスであり、ディスク制御装置30Aは、READコマンドを受信すると(220)、ディスクキャッシュ36Aに目的データが存在するか否かのヒット判定を行い(221)、ディスクキャッシュ36Aから読み出した目的データをホスト装置10Aに転送する(222)。
223〜228は、ディスクキャッシュ36Aに目的データが存在しなかった場合のシーケンスを示す。ディスク制御装置30Aは、READコマンドを受信すると(222)、ディスクキャッシュ36Aでヒット判定を行い(224)、目的データがディスクキャッシュ36Aに存在しないことが判明すると、リモートディスク制御装置10Bに目的データのREAD要求を発行する(225)。ディスク制御装置30Aは、リモートディスク制御装置10Bから目的データを受信すると(226)、これをディスクキャッシュ36Aに格納(227)した後、ホスト装置10Aに転送する(228)。
【0075】
図16は、第2実施例において、ホスト装置10Aからディスク制御装置30Aに、仮想ディスクに対するWRITEコマンドを発行した場合の動作シーケンスを示す。
ディスク制御装置30Aは、ホスト装置10AからWRITEコマンドを受信すると(130)、WRITEコマンドに付随する書き込みデータをディスクキャッシュ36Aに格納(231)した後、ホスト装置10Aに対してWRITEコマンドの終了通知を返す(232)。
【0076】
ディスクキャッシュは、通常、バッテリバックアップされているため、停電などの障害が発生しても、格納データが失われることは無い。しかしながら、ディスクキャッシュの格納データは、定期的にディスク装置に移す必要があるため、本実施例では、ディスク制御装置30Aは、定期的に書き戻し制御(233)を実行し、リモートディスク制御装置30Bに対して、ディスクキャッシュ格納データのWRITE要求を発行し(234)、リモートディスク制御装置30Bから、リモートディスクへの書き込み完了通知を受信する(235)。
【0077】
リモートディスク制御装置30Bでは、ホスト装置10BからのWRITEデータと同様、ディスク制御装置30AからのWRITE要求データを一旦ディスクキャッシュ36Bに格納した後、ディスク装置50Bに書き込んでもよいし、ディスク制御装置30AからWRITE要求データであれば、ディスクキャッシュに格納することなく、直ちにディスク装置50Bに書き込むように制御してもよい。
【0078】
図17は、第2実施例において、ホスト装置10Aからホスト装置10Bに、アプリケーションの遠隔実行を要求する場合の動作シーケンスを示す。
図16で述べたように、ディスク制御装置30Aは、仮想ディスクに格納すべき最新データの一部を一時的にディスクキャッシュ36Aにのみ格納しており、リモートディスク制御装置30Bに接続されているディスク装置50Bの内容が、必ずしもディスクキャッシュ36Aの最新データと一致していない。従って、ホスト装置10Aは、リモートホスト装置10Bへのアプリケーション遠隔実行要求に先立って、ディスク装置50Bの内容をディスクキャッシュ36Aの内容と一致させるために、ディスク制御装置30Aにキャッシュ書き戻しコマンドを発行する(240)。
【0079】
キャッシュ書き戻しコマンドには、2つのタイプがある。第1タイプのコマンドは、ディスクキャッシュ36Aに保持された全てのデータについてディスクへの書き戻しを指令するものであり、コマンド内に書き戻し対象データを限定するためのパラメータを含んでいない。第2タイプのコマンドは、書き戻し対象データを限定するためのパラメータ、例えば、ディスク指定パラメータを含む。第2タイプの書き戻しコマンドが発行された場合、ディスクキャッシュ36Aの保持データのうち、パラメータで指定された特定のキャッシュデータだけがディスク装置50Bに転送される。
【0080】
ディスク制御装置10Aは、ホスト装置10Aからキャッシュ書き戻しコマンドを受信すると、リモートディスク制御装置30Bに対して、上記キャッシュ書き戻しコマンドに従ったキャッシュデータの書き込みを要求する(241)。この要求に付随して、ディスク制御装置30Aからディスク制御装置30Bにキャッシュデータが転送され、これらのキャッシュデータがディスク制御装置30Bによってディスク装置50Bに書き込まれる。データ書き込みが正常終了すると、ディスク制御装置30Bからディスク制御装置30Aにデータ書き込みの完了通知が返送され(242)、ディスク制御装置30Aからホスト装置10Aに、キャッシュ書き戻しコマンドの実行完了が通知される(243)。
【0081】
ホスト装置10Aは、上記キャッシュ書き戻しコマンドの実行完了通知を待って、リモートホスト装置10Bに特定アプリケーションの遠隔実行を要求する(244)。これにより、ホスト装置10Bは、最新データが格納されたディスク装置50を参照して、アプリケーションプログラムに従ったデータ処理を実行することができる。
【0082】
図18は、仮想ディスク制御部41が参照するディスク管理テーブル43の構成を示す。
ディスク管理テーブル43は、ホスト装置が認識するディスク識別子431を持った複数のエントリ430−1、430−2、・・・からなり、各エントリは、ディスク容量432と、ディスクタイプ433と、コマンド転送制御情報434と、リモートディスク制御装置識別子435と、リモートディスク識別子436と、移行状態フラグ437を示している。
【0083】
仮想ディスク制御部41は、ディスクテーブル43に登録されたディスク識別子431をもつディスクについて、ホスト装置10Aのアクセスを許容する。また、ホスト装置10Aからの容量、ディスクタイプの問い合わせに対して、ディスク容量432が示す容量、ディスクタイプ433が示すタイプを回答する。
【0084】
本実施例では、コマンド転送制御情報434として、ディスクの実体がリモートディスク制御装置側に接続された仮想ディスクか、第1実施例のようにディスク制御装置30Aに実際に接続されたローカルディスクかの区分を示す接続状態コードが設定される。また、移行状態フラグ437は、後述するディスク移行制御部45によって、ローカルディスクの格納データがリモートディスクに移行中か否かを示しており、データ移行中のローカルディスクにはフラグ“1”が設定され、その他のローカルディスクと仮想ディスクには“0”が設定される。データ移行中のローカルディスクと対応するテーブルエントリには、SVP80から指定されたリモート制御装置識別子435とリモートディスク456とが設定され、データ移行が完了すると、制御情報(接続状態コード)434が仮想ディスク状態に変更される。
【0085】
ホスト装置10Aからディスクへのアクセス要求(READ/WRITEコマンド)が発生すると、仮想ディスク制御部41は、ディスクキャッシュ36Aをアクセスした後、上記ディスク管理テーブル43を参照してアクセス対象ディスクの制御情報434を判定し、アクセス対象が仮想ディスクの場合は、識別子435が示リモートディスク制御装置に対して、識別子436が示すリモートディスクへのアクセスを要求する。アクセス対象がローカルディスクの場合は、ディスク装置50A内に存在するローカルディスクに対して、通常のREAD/WRITEアクセスが実行される。
【0086】
図19は、仮想ディスク制御部(プログラムルーチン)41のフローチャートを示す。
仮想ディスク制御部41は、ホスト装置10Aからの受信コマンドを解析し(ステップ(411)、WRITEコマンドであれば、コマンドからアクセス対象となるディスク識別子を抽出し(424)、ディスクキャッシュ36Aにデータを格納する(425)。次に、図18に示したディスク管理テーブル43を参照し、上記ディスク識別子と対応するエントリ430−iの移行状態フラグ437を判定する(426)。移行状態フラグ437が“0”の場合は、ホスト装置10Aにコマンド終了を通知して(420)、このルーチンを終了する。
【0087】
移行状態フラグ437が“1”の場合は、上記WRITEコマンドでディスクキャッシュに格納された最新データを含む1ブロック分または数ブロック分のキャッシュデータをリモートディスクに書込み(427)、図20で後述するコピーマップ47を更新(428)した後、ステップ420を実行する。上記リモートディスクへのデータブロックの書込みは、上記テーブルエントリ430−iで識別子435が示すリモートディスク制御装置に対して、識別子436が示すリモートディスクへのデータWRITEコマンドを送信することによって行なわれる。
【0088】
ホスト装置10Aからの受信コマンドがREADコマンドの場合は、目的データがディスクキャッシュ36Aに格納されているか否かを判定する(412)。ディスクキャッシュで目的データにヒットした場合は、ディスクキャッシュから読み出した目的データをホスト装置10Aに送信(419)した後、ホスト装置10Aにコマンド終了通知を送信して(420)、このルーチンを終了する。
【0089】
ディスクキャッシュに目的データが無かった場合は、READコマンドからアクセス対象となるディスク識別子を抽出し(413)、ディスクテーブル43の上記ディスク識別子と対応するエントリ430−iを参照し、制御情報434を判定する(414)。アクセス対象ディスクがローカルディスクの場合は、移行状態フラグ437を判定する(421)。移行状態フラグ437が“0”であれば、ディスク識別子431が示すローカルディスクから通常のデータREAD処理を実行し(423)、読み込まれたデータをキャッシュに格納(418)した後、ステップ419を実行する。
【0090】
テーブルエントリ430−iで移行状態フラグ437が“1”の場合は、図20で後述するコピーマップ47から、目的データが既にリモートディスクに移行済みデータか否かを判定する(422)。目的データがリモートディスクに移行する前の状態にあれば、ローカルディスクから通常のデータREAD処理(423)を実行し、目的データが移行済みであれば、ステップ415を実行する。
【0091】
アクセス対象ディスクが仮想ディスクの場合、または、アクセス対象ディスクがローカルディスクであって、目的データがリモートディスクに移行済みの場合は、テーブルエントリ5430−iが示す識別子435と436に従って、リモートディスク制御装置とリモートディスクを特定し(415)、該リモートディスク制御装置に対して、上記リモートディスクからのデータREADを要求する(417)。
【0092】
仮想ディスク制御部は、リモートディスク制御装置からの応答を待ち、READデータと完了通知を受信すると(417)、受信したデータをキャッシュに格納(418)した後、ステップ419を実行する。これによって、アクセス対象ディスクがリモートディスク制御装置30Bに接続された仮想ディスクの場合でも、ディスク制御装置30Aは、ホスト装置10Aに対してアクセス対象ディスクが手元にあるかのように振舞うことができ、リモートディスク装置を有効に利用したデータのREAD/WRITEが可能となる。
【0093】
図20は、コピーマップ47の構成を示す。
コピーマップ47は、例えば、ディスクで最小アクセス単位となるデータブロック毎に、ローカルディスクのデータがリモートディスクに移行(コピー)されたか否かをフラグの状態によって示したものである。コピーマップ47の各フラグは、ローカルディスク上のデータブロック領域と対応しており、移行が完了した領域のフラグに“1”を設定することによって、アクセス対象となるデータブロックが既に移行(コピー)済みか否かを判断することができる。フラグの状態は、図19で説明した仮想ディスク制御ルーチン41におけるステップ428と、図21で説明するディスク移行制御ルーチン45で“0”から“1”に更新される。
【0094】
図21は、ディスク移行制御部(プログラムルーチン45)のフローチャートを示す。ディスク移行制御部45は、SVP80からのディスク移行コマンドによって起動される。データソースとなるローカルディスクの識別子と、データ移行先となるリモートディスクの識別子およびリモートディスク制御部識別子は、上記ディスク移行コマンドで指定される。
【0095】
ローカルディスクからリモートディスクへのデータの移行(コピー)は、例えば、ディスクの先頭ブロックから最終ブロックまでデータブロック単位で順次に行なわれ、コピーマップ47のフラッグが順次に“1”に設定される。但し、ディスク移行中のリモートディスクにホスト装置からのデータ書込みが発生した場合、図19で説明した仮想ディスク制御ルーチン41のステップ427で、該当ブロックがリモートディスクにコピー済みとなるため、コピーマップ47には、仮想ディスク制御ルーチンによる不連続なフラグ設定が加わる。
【0096】
ディスク移行制御部45は、先ず、ディスク管理テーブル43において、上記ディスク移行コマンドで指定されたローカルディスク識別子をもつエントリのフィールド435と436に、上記コマンドで指定されたリモートディスク制御部識別子とリモートディスク識別子をそれぞれ設定すると共に、移行状態フラグ437を“1”に変更し(450)、移行対象ブロックを示すパラメータjの値とコピーマップ47を初期化する(451)。
【0097】
次に、ホスト装置からのアクセスを禁止するために、データソースとなるローカルディスクをロックし(452)、パラメータjの値をインクリメント(453)した後、コピーマップ47を参照して、移行対象となる第jブロックが既にコピー済みか否かを判定する(454)。
【0098】
第jブロックが既にコピー済みの場合は、ホスト装置からのアクセスを許容するために、ローカルディスクをリリースし(458)、パラメータjの値と最大ブロック数とを比較することによって、全データブロックの移行処理が完了したか否かを判定する(459)。移行処理が完了していなければ、所定時間が経過するまで移行処理を休止し(462)、所定時間が経過したらステップ452に戻り、上述した動作を繰り返す。図19に示したホスト装置からの受信コマンドは、ディスク移行制御部45が上記休止状態にある期間内に実行される。
【0099】
第jブロックがコピー済みでなければ、ローカルディスクから第jブロックのデータを読み出し(455)、ディスク移行コマンドで指定されたリモートディスク制御部にデータWRITEコマンドを送信することによって、上記データブロックをリモートディスクに書き込む(456)。この後、コピーマップ上で第jブロックと対応するフラグを“1”に変更し(コピーマップの更新:457)、ローカルディスクをリリースし(458)、全データブロックの移行処理が完了したか否かを判定する(459)。
【0100】
上記処理を繰り返すことによって、ローカルディスク上のデータブロックが次々とリモートディスクに移行される。全てのデータブロックに移行が完了すると、SVP80に移行の完了を通知し(460)、ディスク管理テーブル43の上記ローカルディスクと対応する制御情報434を仮想ディスクに変更し、移行状態フラグ437を“0”に変更して(461)、このルーチンが終了する。
【0101】
図22は、第2実施例におけるデータ移行制御部45の動作を模式的に示す。ディスク制御装置30Aのデータ移行制御部45は、ホスト装置10AからREAD要求を受けると、目的データが移行(コピー)前のデータブロックに該当する場合は、ローカルディスク50A1から読み込んだ目的データRDATA1をホスト装置に返送する。目的データが移行済みのデータブロックに該当していた場合は、リモートディスク制御装置30BにREAD要求を転送し、リモートディスク50B5か読み出されたデータRDATA2をホスト装置10Aに転送する。ホスト装置10Aから、移行中のローカルディスク50A5に対するWRITE要求を受けた場合、データ移行制御部45は、リモートディスク制御装置30BにWRITE要求を転送し、データWDATAをリモートディスク50B5に書き込む。
【0102】
上記第2実施例によれば、仮想ディスクによって、ホスト装置10Aと遠隔ホスト装置10Bとがデータを共有できる。この場合、ホスト装置10Aは、仮想ディスクについてはハードウエアとしてのディスク装置を備える必要がないため、低コストで共有データを利用することができる。尚、第2実施例では、ホスト装置10A側のディスク制御装置30Aに仮想ディスク制御部41を備えたが、仮想ディスク制御部41は、リモートホスト装置側のディスク制御装置30Bにも設けてもよい。
【0103】
企業の合理化に伴って、それまで社内で行なってきた計算機システムの運用を他社(データセンタなど)に依託するアウトソーシングが普及しつつある。但し、それまで社内で正常に運用されてきた情報処理が、別の計算機システム上で正常に稼働するとは限らないため、計算機システムの管理者にとって、全ての情報処理を一度にアウトソーシングに移行することには大きな抵抗がある。
【0104】
本発明の第2実施例によれば、ホスト装置10A側に接続されていたローカルディスクの内容をリモートディスクに移行し、移行済みのローカルディスクを仮想ディスクとして利用することができるため、情報処理を段階的にアウトソーシングすることが可能となる。アウトソーシングへの移行には、例えば、次の段階が考えられる。
【0105】
第1段階では、ローカルディスクが容量不足となった顧客のディスク制御装置30Aに、本発明の仮想ディスク制御部41を適用し、豊富なディスク容量をもつリモートディスク装置50Bの一部を顧客のホスト装置10Aに仮想ディスクとして利用させる。顧客のホスト装置10Aにとっては、ローカルディスク容量が増えたように見える。
【0106】
通常、ディスク装置は、レンタルまたは買取りによって入手したハードウエア装置を計算機システムに組み込む形式で運用されているが、仮想ディスクは、従来の概念には属さないディスク領域である。この場合、例えば、仮想ディスクに対して課金する形式で、顧客とリース契約すればよい。仮想ディスクとして貸し出すメモリ容量またはディスク数に対して課金する仕組みを取り入れることによって、顧客の計算機システムを活かした形でのアウトソーシングが可能となる。
【0107】
第2段階では、第2実施例で説明したように、それ迄ローカルディスクに格納されていたデータベース等のデータをアウトソーシング予定先のホスト装置10Bの制御下にあるリモートディスクに移行する。この場合、データのみが移行され、顧客のホスト装置10Aは、上記ローカルディスクを仮想ディスクとしてアクセスできるため、ホスト装置の設定を一切変更する必要がない。従って、顧客計算機システムにおけるアプリケーションの実行時に不具合が生じる可能性は極めて少ない。
【0108】
第3段階では、顧客ホスト装置10Aの機能をリモートホスト装置10Bに完全に移行する。第2段階でデータの移行が完了しているため、顧客ホスト装置10Aで稼動していたアプリケーションと同一のソフトをアウトソーシング先のホスト装置10Bでテストランすることによって、リモートホスト装置側での処理を保証できる。顧客ホスト装置10Aによるデータ処理は、上記ホスト機能の移行期間中も継続できる。また、移行先で実行されるアプリケーションには大きな変更を加える必要がないため、第3段階でのアウトソーシングへの切替えは比較的円滑に行うことができる。
【0109】
上記第2実施例では、ローカルディスクの全データをリモートディスクに移行した時、ディスク移行制御部45が、ディスクテーブル43上で上記ローカルディスクを仮想ディスクに変更したが、この時、ローカルディスクとリモートディスクのデータ格納状態が同一になったため、ホスト装置10Aとホスト装置10Bで同一アプリケーションを実行可能な環境が整う。
【0110】
従って、上記ディスク移行制御部45の機能を、第1実施例のデータベース・アプリケーション遠隔実行のための前提条件となるローカルディスクと同一のリモートディスクを生成する目的で利用し、全データのコピーが完了した時点で、前述したディスク管理テーブルの更新(461)に代えて、第1実施例のリモートコピーテーブル35Aへの新たなエントリ登録を行なうようにしてもよい。 第1実施例の図9、図10に示したリモートコピー処理320では、ホスト装置から受信したREAD/WRITEコマンドが、リモートコピーテーブル35Aに登録されたリモートコピー対象ディスクへのWRITEコマンド以外の場合は、通常のREAD/WRITE処理(328)を実行しているが、例えば、該READ/WRITE処理(328)に代えて、図19に示した仮想ディスク制御41を実行させることによって、1つのディスク制御装置に第1実施例の機能と第2実施例の機能を兼備することも可能である。
【0111】
実施例では、ディスク制御装置間を専用チャネルで接続し、READ/WRITEコマンドを上記専用チャネルを介して通信した。しかしながら、ディスク制御装置間のREAD/WRITEコマンドの通信には、例えば、ホスト装置間を接続しているネットワークを使用してもよい。
【0112】
【発明の効果】
以上の実施例から明らかなように、本発明によれば、複数のホスト装置で同一のアプリケーションを実行する際に必要なデータの共有化を効率的に行うことができる。
【図面の簡単な説明】
【図1】本発明によるデータ共有を実現する計算機ネットワークの基本的なシステム構成図。
【図2】本発明の第1実施例を示す計算機ネットワークの構成図。
【図3】本発明によるリモートコピー方向反転制御手順の1例を示すシーケンス図。
【図4】図2の計算機ネットワークで、ホスト装置10A側でアプリケーションを実行した場合のデータ同期を説明するための図。
【図5】図2の計算機ネットワークで、ホスト装置10B側でアプリケーションを実行した場合のデータ同期を説明するための図。
【図6】リモートコピーテーブル35Aの1実施例を示す図。
【図7】ホスト装置10Aが備えるDBディスクテーブル14Aの内容と、コピー方向反転コマンド700の1例を示す図。
【図8】ホスト装置10A、10Bが実行する遠隔実行制御プログラムのフローチャート。
【図9】プライマリ指定されたディスク制御装置で実行されるリモートコピー制御のフローチャート。
【図10】図9のリモートコピー処理320の詳細フローチャート。
【図11】セカンダリ指定されたディスク制御装置で実行されるリモートコピー制御のフローチャート。
【図12】図11のリモートコピー処理340の詳細フローチャート。
【図13】第1実施例の変形例を説明するための図。
【図14】本発明の第2実施例を示すシステム構成図。
【図15】第2実施例においてホスト装置10AがREADコマンドを発行した場合のシーケンス図。
【図16】第2実施例においてホスト装置10AがWRITEコマンドを発行した場合のシーケンス図。
【図17】第2実施例においてホスト装置10Aからリモートホスト装置10Bにアプリケーションの遠隔実行を要求する場合のシーケンス図。
【図18】第2実施例のホスト装置10Aが備えるディスクテーブル43の構成図。
【図19】第2実施例のホスト装置10Aが備える仮想ディスク制御部41のフローチャート。
【図20】仮想ディスク制御部41とディスク移行制御部45が利用するコピーマップの構成図。
【図21】第2実施例のホスト装置10Aが備えるディスク移行制御部45のフローチャート。
【図22】第2実施例におけるデータREAD/WRITE動作の説明図。
【符号の説明】
10:ホスト装置、11:データベースアプリケーション、
12:データベースシステム、13:遠隔実行制御プログラム、
14:DBディスクテーブル、30:ディスク制御装置、
31:リモートコピー制御部、35:リモートコピーテーブル、
36:ディスクキャッシュ、41:仮想ディスク制御部、
43:ディスク管理テーブル、45:ディスク移行制御部、50:ディスク装置、
90:専用チャネル、1000:ネットワーク。
Claims (15)
- 第1のディスク制御装置を備えた第1ホスト計算機と、第2のディスク制御装置を備えた第2ホスト計算機との間でのデータ共有方法であって、
上記第1のディスク制御装置が、上記第1ホスト装置が使用するディスクの識別子と対応して、該ディスクに対応するリモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示す管理テーブルを有し、
第1ホスト計算機から特定ディスクへのデータ書込みコマンドを受信した第1のディスク制御装置が、上記管理テーブルが示す上記特定ディスクのコマンド転送制御情報に従って、上記特定ディスクへの上記書込みコマンドの実行と、上記第2のディスク制御装置への書込みコマンドの転送を制御することを特徴とするデータ共有方法。 - 前記第1ホスト計算機からのコピー方向反転コマンドに応答して、前記第1のディスク制御装置が、前記第2のディスク制御装置との間で、それぞれが有する特定ディスクの更新データのコピー方向反転のための制御手順を実行し、
上記制御手順の完了後に、上記第1ホスト計算機から前記第2ホスト計算機に、上記特定ディスクを利用するデータ処理の実行を要求し、
上記第2ホスト計算機によるデータ処理の実行過程で発行されたデータ書込みコマンドに応答して、上記第2のディスク制御装置が、自装置側の特定ディスクへのデータ書込みを実行して格納データを更新し、上記第1のディスク制御装置に対して、上記データ更新を相手装置側の特定ディスクに反映するための書込みコマンドを送信することを特徴とするデータ共有方法。 - 第1のディスク制御装置を備えた第1ホスト計算機と、第2のディスク制御装置を備えた第2ホスト計算機との間で、ディスク格納データを共有するための方法であって、
上記第1のディスク制御装置が、上記第1ホスト装置が使用するディスクの識別子と対応して、該ディスクに対応するリモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示す管理テーブルを有し、
第1ホスト計算機から特定ディスクのデータ読出しコマンドを受信した第1のディスク制御装置が、目的データがディスクキャッシュに無かった時、上記管理テーブルのコマンド転送制御情報から、上記特定ディスクが自装置に実在するローカルディスクか上記第2のディスク制御装置側に実体が存在する仮想ディスクかを判定し、
上記特定ディスクがローカルディスクの場合は、該ローカルディスクからの読出しデータを上記第1ホスト装置に返送し、
上記特定ディスクが仮想ディスクとなっていた場合は、上記第2のディスク制御装置に目的データの読出しを要求し、該第2のディスク制御装置から受信した目的データを上記第1ホスト装置に返送することを特徴とするデータ共有方法。 - 前記第1ホスト計算機から特定ディスクへのデータ書込みコマンドを受信した前記第1のディスク制御装置が、書込みデータをディスクキャッシュに一時的に格納しておき、
上記ディスクキャッシュの格納データについて、上記特定ディスクが自装置に実在するローカルディスクの場合は、該ローカルディスクに書き戻し、上記特定ディスクが仮想ディスクとなっていた場合は、前記第2のディスク制御装置に対して上記仮想ディスクへの書き戻しを要求することを特徴とする請求項3に記載のデータ共有方法。 - 第1のディスク制御装置を備えた第1ホスト計算機と、第2のディスク制御装置を備えた第2ホスト計算機との間でのデータ共有方法であって、
上記第1のディスク制御装置に接続された特定ディスクの格納データをブロック単位で上記第2のディスク制御装置の特定ディスクにコピーし、
全データブロックのコピーが完了する前に、上記第1ホスト計算機から上記特定ディスクのデータ読出しコマンドを受信した第1のディスク制御装置が、目的データがディスクキャッシュに無かった時、該目的データに該当するデータブロックが上記第2のディスク制御装置側の特定ディスクに未だコピーされていなければ、自装置に接続された上記特定ディスクからの読出しデータを上記第1ホスト装置に返送し、
上記目的データに該当するデータブロックが上記第2のディスク制御装置側の特定ディスクにコピー済みの場合は、上記第2のディスク制御装置に目的データの読出しを要求し、受信した目的データを上記第1ホスト装置に返送することを特徴とするデータ共有方法。 - 全データブロックのコピーが完了する前に、前記第1ホスト計算機から前記特定ディスクへのデータ書込みコマンドを受信した第1のディスク制御装置が、書込みデータをディスクキャッシュに一時的に格納した後、前記第2のディスク制御装置に対して、上記書込みデータに該当するデータブロックの相手装置側の特定ディスクへの書込みを要求することを特徴とする請求項5に記載のデータ共有方法。
- 前記第1のディスク制御装置が、全データブロックのコピーが完了した前記特定ディスクを仮想ディスクとして管理しておき、前記第1ホスト装置から上記仮想ディスクのデータ読出しコマンドを受信した第1のディスク制御装置が、目的データがディスクキャッシュに無かった時、前記第2のディスク制御装置に目的データの読出しを要求し、該第2のディスク制御装置から受信した目的データを上記第1ホスト装置に返送することを特徴とする請求項5または請求項6に記載のデータ共有方法。
- 全データブロックのコピーが完了した前記特定ディスクを指定して、前記第1ホスト計算機から前記第1のディスク制御装置に、コピー方向反転コマンドを発行し、
上記コピー方向反転コマンドに応答して、上記第1のディスク制御装置が、前記第2のディスク制御装置との間で、上記特定ディスクの更新データのコピー方向反転のための制御手順を実行し、
上記制御手順の完了後に、上記第1ホスト計算機から前記第2ホスト計算機に、上記特定ディスクを利用するデータ処理の実行を要求し、
上記第2ホスト計算機によるデータ処理の実行過程で発行されたデータ書込みコマンドに応答して、上記第2のディスク制御装置が、自装置側の特定ディスクへのデータ書込みを実行して格納データを更新し、上記第1のディスク制御装置に対して、上記データ更新を相手装置側の特定ディスクに反映するための書込みコマンドを送信することを特徴とする請求項5または請求項6に記載のデータ共有方法。 - 前記コピー方向反転制御手順が、前記第1のディスク制御装置から第2のディスク制御装置へのコピー方向反転可否の問合せと、前記第2のディスク制御装置からの受諾応答に伴う前記第1のディスク制御装置から第2のディスク制御装置へのコピー方向反転要求とを含むことを特徴とする請求項2または請求項8に記載のデータ共有方法。
- 前記データ処理の実行要求を含む前記第1ホスト計算機と第2ホスト計算機との間の通信が、第1のネットワークを介して行なわれ、前記コピー方向反転制御手順と書込みコマンド送信を含む前記第1のディスク制御装置と第2のディスク制御装置との間の通信が、上記第1のネットワークとは別の回線を介して行なわれることを特徴とする請求項2または請求項8に記載のデータ共有方法。
- ホスト計算機とディスク装置に接続され、通信回線を介して少なくとも1つのリモートディスク制御装置と通信するディスク制御装置であって、
上記ディスク装置に含まれるローカルディスクの識別子と対応して、リモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、リモートディスク制御装置へのコマンド転送制御情報との関係を示すリモートコピー管理テーブルと、
上記ホスト計算機からの受信コマンドに応じて、上記ディスク装置へのアクセスと、上記リモートディスク制御装置との通信を選択的に実行するリモートコピー制御部とを備え、該リモートコピー制御部が、
上記ホスト計算機からにコピー方向反転コマンドに応答して、上記リモートディスク制御装置との間で特定ディスクの更新データのコピー方向反転のための制御手順を実行し、上記リモートコピー管理テーブルにおける上記特定ディスクと対応するコマンド転送制御情報を書き換えるための手段と、
上記ホスト計算機からの上記ディスク装置に含まれる特定ディスクへのデータ書込みコマンドに応答して、上記リモートコピー管理テーブルに従って、上記特定ディスクへのデータ書込み動作と、該データ書込みによる更新データをリモートディスクに反映するための上記リモートディスク制御装置へのデータ書込みコマンドの送信動作を選択的に実行するための手段とを有することを特徴とするディスク制御装置。 - 前記リモートコピー制御部が、前記リモートディスク制御装置からディスクを指定してデータ書込みコマンドを受信した時、前記リモートコピー管理テーブルに従って上記コマンドの実行可否を判定し、上記指定ディスクへのデータ書込みを実行するための手段を有することを特徴とする請求項11に記載のディスク制御装置。
- ホスト計算機とディスク装置に接続され、通信回線を介して少なくとも1つのリモートディスク制御装置と通信するディスク制御装置であって、
上記ホスト装置が使用するディスクの識別子と対応して、該ディスクの接続状態と、該ディスクに対応するリモートディスクの識別子と、該リモートディスクを制御するリモートディスク制御装置の識別子と、コマンド転送制御情報との関係を示すディスク管理テーブルと、
上記ホスト計算機からの受信コマンドに応じて、上記ディスク管理テーブルに従って、上記ディスク装置へのアクセスと、上記リモートディスク制御装置との通信を選択的に実行する仮想ディスク制御部とを備え、
該仮想ディスク制御部が、
上記ホスト計算機から特定ディスクのデータ読出しコマンドを受信し、目的データがディスクキャッシュに無かった時、上記ディスク管理テーブルのコマンド転送制御情報から、上記特定ディスクが自装置に実在するローカルディスクかリモートディスク制御装置に実体が存在する仮想ディスクかを判定する手段と、
上記特定ディスクがローカルディスクの場合は、該ローカルディスクからの読出しデータを上記ホスト装置に返送し、上記特定ディスクが仮想ディスクとなっていた場合は、上記リモートディスク制御装置に目的データの読出しを要求し、該リモートディスク制御装置から受信した目的データを上記ホスト装置に返送するための手段とを有することを特徴とするディスク制御装置。 - 前記ホスト計算機から特定ディスクへのデータ書込みコマンドを受信した時、書込みデータをディスクキャッシュに一時的に格納しておき、上記ディスクキャッシュの格納データについて、上記特定ディスクがローカルディスクの場合は、該ローカルディスクに書き戻し、上記特定ディスクが仮想ディスクとなっていた場合は、前記リモートディスク制御装置に対して上記仮想ディスクへの書き戻しを要求するための手段を有することを特徴とする請求項13に記載のディスク制御装置。
- 前記ディスク装置に接続された特定ディスクの格納データをブロック単位で間欠的に上記リモートディスク制御装置の特定ディスクにコピーするための手段を有し、
前記ホスト計算機からのディスクアクセスコマンドが、上記コピー手段によるコピー処理の合間に実行されることを特徴とする請求項13または請求項14に記載のディスク制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003091666A JP2004302556A (ja) | 2003-03-28 | 2003-03-28 | 複数の計算機システム間でのデータ共有方法およびディスク制御装置 |
US10/650,828 US7219191B2 (en) | 2003-03-28 | 2003-08-29 | Data sharing method among remote computer systems and disk control device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003091666A JP2004302556A (ja) | 2003-03-28 | 2003-03-28 | 複数の計算機システム間でのデータ共有方法およびディスク制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004302556A true JP2004302556A (ja) | 2004-10-28 |
Family
ID=32985324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003091666A Pending JP2004302556A (ja) | 2003-03-28 | 2003-03-28 | 複数の計算機システム間でのデータ共有方法およびディスク制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7219191B2 (ja) |
JP (1) | JP2004302556A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006154935A (ja) * | 2004-11-25 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | ディスクレスブートシステムのストレージ接続方法、そのシステム、そのための管理サーバ、ストレージ、およびプログラム |
JP2012181819A (ja) * | 2011-03-01 | 2012-09-20 | Hitachi Ltd | 連続的なリモートコピーのためのネットワーク効率の改良 |
WO2018011882A1 (ja) * | 2016-07-12 | 2018-01-18 | 株式会社日立製作所 | 計算機システム及びストレージ装置の制御方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056466A (ja) * | 2003-08-08 | 2005-03-03 | Hitachi Ltd | 光ディスク装置 |
US7441052B2 (en) * | 2003-09-29 | 2008-10-21 | Hitachi Data Systems Corporation | Methods and apparatuses for providing copies of stored data for disaster recovery and other uses |
GB0507160D0 (en) * | 2005-04-08 | 2005-05-18 | Ibm | Data storage system with shared cache address space |
US20070050767A1 (en) * | 2005-08-31 | 2007-03-01 | Grobman Steven L | Method, apparatus and system for a virtual diskless client architecture |
JP2009089019A (ja) * | 2007-09-28 | 2009-04-23 | Fujitsu Ltd | マルチキャスト配信制御装置、コンピュータプログラム、マルチキャスト配信制御システム及びマルチキャスト配信制御方法 |
TW200919454A (en) * | 2007-10-18 | 2009-05-01 | Skymedi Corp | SATA electronic device and its method of data transmission |
US8069322B2 (en) * | 2008-08-15 | 2011-11-29 | International Business Machines Corporation | Active-active remote configuration of a storage system |
US8560639B2 (en) * | 2009-04-24 | 2013-10-15 | Microsoft Corporation | Dynamic placement of replica data |
US8769049B2 (en) * | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
US8769055B2 (en) | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Distributed backup and versioning |
US8935366B2 (en) | 2009-04-24 | 2015-01-13 | Microsoft Corporation | Hybrid distributed and cloud backup architecture |
US8527696B1 (en) * | 2009-09-30 | 2013-09-03 | Emc Corporation | System and method for out-of-band cache coherency |
US9720596B1 (en) * | 2014-12-19 | 2017-08-01 | EMC IP Holding Company LLC | Coalescing writes for improved storage utilization |
US11748191B2 (en) * | 2021-10-29 | 2023-09-05 | Micron Technology, Inc. | Techniques for error correction at a memory device |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695942A (ja) * | 1992-09-11 | 1994-04-08 | Sharp Corp | 二重ファイル化機能を有するコンピュータ装置 |
JPH07152491A (ja) * | 1993-11-29 | 1995-06-16 | Hitachi Ltd | 仮想ディスクシステム |
JPH08153030A (ja) * | 1994-11-30 | 1996-06-11 | Fujitsu Ltd | ファイル制御装置及び制御システム |
JPH1031561A (ja) * | 1996-07-16 | 1998-02-03 | Hitachi Ltd | データ多重化方法および情報処理装置ならびに記憶サブシステム |
JP2000132343A (ja) * | 1998-08-20 | 2000-05-12 | Hitachi Ltd | 記憶装置システム |
JP2002049517A (ja) * | 2000-05-25 | 2002-02-15 | Hitachi Ltd | 記憶システム |
JP2002140314A (ja) * | 2000-10-31 | 2002-05-17 | Toshiba Corp | データコピーシステム、データコピー方法及び記憶媒体 |
JP2002149499A (ja) * | 2000-08-29 | 2002-05-24 | Hitachi Ltd | データの完全性を備えるリモートコピーシステム |
JP2003091449A (ja) * | 2001-09-17 | 2003-03-28 | Hitachi Ltd | ストレージシステムおよびストレージシステムの管理方法 |
JP2003233467A (ja) * | 2001-12-14 | 2003-08-22 | Hitachi Ltd | ストレージベースリモートコピーでのパス選択方式 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JP3188071B2 (ja) | 1993-10-14 | 2001-07-16 | 富士通株式会社 | ディスクキャッシュ装置 |
US6353878B1 (en) * | 1998-08-13 | 2002-03-05 | Emc Corporation | Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem |
DE69938378T2 (de) | 1998-08-20 | 2009-04-30 | Hitachi, Ltd. | Kopieren von Daten in Speichersystemen |
US6446175B1 (en) * | 1999-07-28 | 2002-09-03 | Storage Technology Corporation | Storing and retrieving data on tape backup system located at remote storage system site |
DE60039033D1 (de) | 2000-05-25 | 2008-07-10 | Hitachi Ltd | Speichersystem zur Bestätigung der Datensynchronisierung während des asynchronen Fernkopierens |
US6859824B1 (en) * | 2000-06-30 | 2005-02-22 | Hitachi, Ltd. | Storage system connected to a data network with data integrity |
WO2002017055A1 (fr) * | 2000-08-18 | 2002-02-28 | Fujitsu Limited | Dispositif de commande de disque, procede de commande de disque, dispositif de commande a distance de disque, et procede de commande a distance de disque |
US6889233B2 (en) | 2001-06-18 | 2005-05-03 | Microsoft Corporation | Selective file purging for delete or rename |
US7152078B2 (en) * | 2001-12-27 | 2006-12-19 | Hitachi, Ltd. | Systems, methods and computer program products for backup and restoring storage volumes in a storage area network |
US7062517B2 (en) * | 2002-08-14 | 2006-06-13 | Hitachi, Ltd. | Method and apparatus for centralized computer management |
-
2003
- 2003-03-28 JP JP2003091666A patent/JP2004302556A/ja active Pending
- 2003-08-29 US US10/650,828 patent/US7219191B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695942A (ja) * | 1992-09-11 | 1994-04-08 | Sharp Corp | 二重ファイル化機能を有するコンピュータ装置 |
JPH07152491A (ja) * | 1993-11-29 | 1995-06-16 | Hitachi Ltd | 仮想ディスクシステム |
JPH08153030A (ja) * | 1994-11-30 | 1996-06-11 | Fujitsu Ltd | ファイル制御装置及び制御システム |
JPH1031561A (ja) * | 1996-07-16 | 1998-02-03 | Hitachi Ltd | データ多重化方法および情報処理装置ならびに記憶サブシステム |
JP2000132343A (ja) * | 1998-08-20 | 2000-05-12 | Hitachi Ltd | 記憶装置システム |
JP2002049517A (ja) * | 2000-05-25 | 2002-02-15 | Hitachi Ltd | 記憶システム |
JP2002149499A (ja) * | 2000-08-29 | 2002-05-24 | Hitachi Ltd | データの完全性を備えるリモートコピーシステム |
JP2002140314A (ja) * | 2000-10-31 | 2002-05-17 | Toshiba Corp | データコピーシステム、データコピー方法及び記憶媒体 |
JP2003091449A (ja) * | 2001-09-17 | 2003-03-28 | Hitachi Ltd | ストレージシステムおよびストレージシステムの管理方法 |
JP2003233467A (ja) * | 2001-12-14 | 2003-08-22 | Hitachi Ltd | ストレージベースリモートコピーでのパス選択方式 |
Non-Patent Citations (1)
Title |
---|
OS IV SYSTEMWALKER STORAGEMGR GR/CF使用手引書 V10用, vol. 第4版, JPN6009045803, 30 November 2002 (2002-11-30), JP, pages 64 - 64, ISSN: 0001410226 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006154935A (ja) * | 2004-11-25 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | ディスクレスブートシステムのストレージ接続方法、そのシステム、そのための管理サーバ、ストレージ、およびプログラム |
JP2012181819A (ja) * | 2011-03-01 | 2012-09-20 | Hitachi Ltd | 連続的なリモートコピーのためのネットワーク効率の改良 |
WO2018011882A1 (ja) * | 2016-07-12 | 2018-01-18 | 株式会社日立製作所 | 計算機システム及びストレージ装置の制御方法 |
JPWO2018011882A1 (ja) * | 2016-07-12 | 2018-12-06 | 株式会社日立製作所 | 計算機システム及びストレージ装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040193796A1 (en) | 2004-09-30 |
US7219191B2 (en) | 2007-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7111138B2 (en) | Storage system and storage control device | |
US6862632B1 (en) | Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written | |
US7120673B2 (en) | Computer storage system providing virtualized storage | |
EP1313017B1 (en) | Reversing a communication path between storage devices | |
JP4852298B2 (ja) | 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム | |
JP2004302556A (ja) | 複数の計算機システム間でのデータ共有方法およびディスク制御装置 | |
US6766359B1 (en) | Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system | |
JP4382602B2 (ja) | リモートコピーシステム | |
US20050283564A1 (en) | Method and apparatus for data set migration | |
JP2003006020A (ja) | 複製データベースアクセス装置とそのアクセス方法 | |
US6912632B2 (en) | Storage system, storage system control method, and storage medium having program recorded thereon | |
JP2009230742A (ja) | 高可用性、低容量のシン・プロビジョニング | |
US20110082833A1 (en) | Database parallel editing method | |
JPH08235046A (ja) | 共有データ処理装置及び共有データ処理システム | |
US20070255914A1 (en) | Storage system, remote copy and management method therefor | |
CA3070006A1 (en) | Method for reading data stored in a non-volatile cache using rdma | |
JP2004295465A (ja) | 計算機システム | |
JP4201447B2 (ja) | 分散処理システム | |
JP4629342B2 (ja) | ストレージ装置およびその制御方法 | |
US6983330B1 (en) | Method and apparatus for using multiple paths for processing out of band commands | |
US7117249B1 (en) | Computer system and data sharing method between computers | |
JP4580693B2 (ja) | 共有排他制御方法 | |
JP2004246702A (ja) | 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム | |
US7191278B2 (en) | Method for data accessing in a computer system including a storage system | |
JP5238469B2 (ja) | データベース処理方法、データベース処理プログラム、および、データベース指示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060322 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060322 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090525 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090908 |