(57)【要約】【課題】中継装置のコストを低減できるようにし、恒常的に発生しうる通信回線の品質劣化に対処できるようにする。【解決手段】ＦＩＦＯバッファ１０１，１０２は、回線接続部１０３からのデータを、受信した順番を保持して記憶する。ＦＩＦＯバッファＡ１０１は、記憶するデータを、順番に取り出して回線接続部１０３に渡す。そして、回線接続部１０３は、ＦＩＦＯバッファＡ１０１からのデータを、通信回線１００３を介してストレージＢ３０に送信する。ＦＩＦＯバッファＢ１０２は、回線接続部１０３からのデータを蓄積する。ストレージＢ３０から回線障害の通知情報を受信すると、中央監視部１０４は、回線接続部１０３に回線を切り替えさせる。そして、回線接続部１０３は、ＦＩＦＯバッファＢ１０２からのデータを、通信回線１００４を介してストレージＢ３０に送信し、データ転送を再開する。【選択図】  図２
2004247781.tif 000002
【特許請求の範囲】
【請求項１】
第一のストレージから第二のストレージへのデータの転送を中継する中継装置であって、
第一のストレージから送信されるデータを伝送する第一通信経路および第二通信経路から、それぞれ同一データを受信する受信手段と、
第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段と、
第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段と、
第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段と、
第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段とを備え、
送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路を介してデータを送信する
ことを特徴とする中継装置。
【請求項２】
第一通信経路、第二通信経路、第三通信経路および第四通信経路とは異なる通信経路を介して、第一のストレージまたは第二のストレージから回線障害の発生を示す障害通知を受信する障害通知受信手段を備え、
制御手段は、前記障害通知受信手段が障害通知を受信した場合、送信手段が送信すべきデータの切り替えを行うか否かを判定する
請求項１記載の中継装置。
【請求項３】
障害通知受信手段は、再送信すべきデータを特定する特定情報を含む障害通知を受信し、
制御手段は、
障害通知受信手段が障害通知を受信した場合、第一の記憶手段と第二の記憶手段のうち第二のストレージに送信されるデータを出力していた方に、特定情報によって特定されるデータが保持されているか否かを判定し、
再送信を要求されたデータが保持されていないと判定した場合、送信手段に送信すべきデータを切り替えさせる
請求項２記載の中継装置。
【請求項４】
制御手段は、
障害通知受信手段が障害通知を受信した場合、第一の記憶手段と第二の記憶手段のうち第二のストレージに送信されるデータを出力していた方に、障害が発生しているか否かを判定し、
障害が発生していると判定した場合、送信手段に送信すべきデータを切り替えさせる
請求項２または請求項３記載の中継装置。
【請求項５】
第一通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第一のデータ包括手段と、
第二通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第二のデータ包括手段とを備え、
第一の記憶手段は、第一のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、
第二の記憶手段は、第二のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力する
請求項１から請求項５のうちのいずれか１項に記載の中継装置。
【請求項６】
第一のデータ包括手段は、データの書き込みを指示する書き込みコマンドデータと、書き込まれるデータとを含む包括データを生成し、
第二のデータ包括手段は、書き込みコマンドデータと、書き込まれるデータとを含む包括データを生成する
請求項５記載の中継装置。
【請求項７】
第一のストレージから、前記第一のストレージに対して遠隔地に設置された第二のストレージにデータを転送する遠隔レプリケーションシステムであって、
第１のストレージから第２のストレージへのデータの転送を中継する中継装置を備え、
前記中継装置は、
第一のストレージから送信されるデータを伝送する第一通信経路および第二通信経路から、それぞれ同一データを受信する受信手段と、
第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段と、
第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段と、
第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段と、
第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段とを備え、
前記送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路を介してデータを送信する
ことを特徴とする遠隔レプリケーションシステム。
【請求項８】
第一のストレージまたは第二のストレージは、
データの転送中に、回線障害が発生したか否かを判定し、
回線障害が発生したと判定した場合に、第一通信経路、第二通信経路、第三通信経路および第四通信経路とは異なる通信経路を介して、回線障害の発生を示す障害通知を中継装置に送信し、
中継装置は、第一のストレージまたは第二のストレージから前記障害通知を受信する障害通知受信手段を備え、
中継装置の制御手段は、前記障害通知受信手段が障害通知を受信した場合、送信手段が送信すべきデータの切り替えを行うか否かを判定する
請求項７記載の遠隔レプリケーションシステム。
【請求項９】
中継装置は、
第一通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第一のデータ包括手段と、
第二通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第二のデータ包括手段とを備え、
第一の記憶手段は、第一のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、
第二の記憶手段は、第二のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、
第二のストレージは、前記中継装置から第三通信経路または第四通信経路を介して受信した包括データを、第一のデータ包括手段または第二のデータ包括手段によって一データ単位として纏められる前の二以上のデータに分解する
請求項７または請求項８記載の遠隔レプリケーションシステム。
【請求項１０】
第一のストレージから受信するデータを一時記憶して先入れ先出し順に出力する一時記憶装置を二重化して備え、前記一時記憶装置が出力するデータを第二のストレージに送信する中継装置に搭載される中継プログラムであって、
前記中継装置のコンピュータに、
各一時記憶装置のうちのいずれか一方の一時記憶装置が出力するデータを第二のストレージに送信する処理、
第一のストレージまたは第二のストレージから、回線障害の発生を示す障害通知を受信した場合に、第二のストレージに送信すべきデータの切り替えを行うか否かを判定する処理、および
データの切り替えを行うと判定した場合に、他方の一時記憶装置が出力するデータを第二のストレージに送信する処理
を実行させるための中継プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遠隔レプリケーションシステム（ｒｅｐｌｉｃａｔｉｏｎ  ｓｙｓｔｅｍ）の中継装置、遠隔レプリケーションシステム、および中継プログラムに関する。
【０００２】
【従来の技術】
災害などが発生してもコンピュータシステムの機能を維持できるようにするために、正常系（稼働系）のシステムと待機系のシステムとが設けられたコンピュータシステムが実現されている。特許文献１には、メインセンタ（正常系のシステム）とリモートセンタ（待機系のシステム）とでデータの二重化を図るディスクサブシステムが記載されている。特許文献１に記載されたディスクサブシステムでは、正常系のシステムに、正常系のストレージとそのストレージを使用するホストコンピュータとが接続される。待機系のシステムも同様である。そして、正常系のストレージと待機系のストレージとが、専用回線やインターネットなどの通信ネットワークを介して接続される。
【０００３】
正常系のシステムから待機系のシステムにデータを送信する場合には、正常系のシステムから中継装置にデータを送信し、中継装置から待機系のシステムにデータを送信する場合がある。一般に、中継装置は、正常系のシステムから受信したデータを待機系のシステムに送信し、待機系のシステムから受信完了の通知を受けたときに、正常系のシステムに待機系へのデータ転送が完了したことを通知している。そして、正常系のシステムは、中継装置にデータを送信した場合、データ転送が完了した旨の通知を中継装置から受信してから次の処理を開始する。
【０００４】
【特許文献１】
特開２０００−３０５８５６号公報（第４−６頁、第１図）
【０００５】
【発明が解決しようとする課題】
正常系のシステムから中継装置を介して待機系のシステムにデータを送信する場合には、以下のような問題があった。中継装置は、正常系のシステムから受信したデータを待機系のシステムに送信し、待機系のシステムから受信完了の通知を受けたときに、転送が完了したことを正常系のシステムに通知する。そして、正常系のシステムは、転送が完了した旨の通知を中継装置から受信しなければ、次の処理に移行しない。そのため、正常系のシステムが中継装置にデータを送信してから、次の処理を開始できるまでの時間がかかってしまうという問題があった。特に、災害対策として中継装置や待機系のシステムを設ける場合には、正常系のシステムの遠隔地に中継装置を配置し、待機系のシステムをより遠い場所に配置する。その結果、正常系システムと中継装置との間でデータや通知を送受信する時間や、中継装置と待機系システムとの間でデータや通知を送受信する時間がかかってしまい、正常系のシステムにおける次の処理の開始が遅れてしまう。
【０００６】
上記の問題を解決するシステムとして、出願人は、特願２００２−２４９０４９号において、中継装置を介して待機系のシステムにデータを送信する場合に、正常系のシステムが早く次の処理を開始できるデータ複製システムを開示している。図６は、データ複製システムの構成の例を示すブロック図である。図６に示すように、データ複製システムにおいて、ストレージＡ９２０が、ストレージＡ９２０を使用するホストコンピュータ９４０とローカルに接続されている。ストレージＡ９２０は、インターネットや専用線などの通信ネットワーク９００１を介して中継装置９１０に接続されている。また、中継装置９１０は、通信ネットワーク９００２を介してストレージＢ９３０に接続されている。
【０００７】
図７は、中継装置９１０の構成の例を示すブロック図である。図７に示すように、中継装置９１０は、例えば、ストレージＡ９２０およびストレージＢ９３０と通信を行う回線接続部９１０３と、中継処理のシーケンス管理を行う中央監視部９１０４と、ストレージＡ９２０およびストレージＢ９３０から受信したデータを一時記憶する不揮発性記憶手段９１０１とを含む。不揮発性記憶手段９１０１は、例えば、磁気ディスク装置、光ディスク装置または光磁気ディスク装置の集合であるディスクアレイ装置などの不揮発性記憶装置である。
【０００８】
中継装置９１０は、ストレージＡ９２０から受信したコマンドおよびデータを不揮発性記憶手段９１０１に記憶し、記憶されたコマンドおよびデータを任意のタイミングで待機系のストレージＢ９３０に送信する。そして、ストレージＡ９２０は、中継装置９１０に対してデータ転送を完了したときに、ストレージＢ９３０に対してデータ転送を完了したとみなすことによって次の処理を早く開始することができる。さらに、中継装置を複数設けて、ストレージＡ９２０からストレージＢ９３０へのデータ転送を同時に複数の中継装置によって中継し、通信ネットワークの通信量の平均化を図る場合も考えられる。
【０００９】
出願人は、特願２００２−２４９０４９号に開示したデータ複製システムによって、中継装置を介して待機系のシステムにデータを送信する際における正常系システムの早期の処理開始を可能としたが、以下の点において改良の余地がある。正常系のシステムから受信したコマンドおよびデータを記憶する媒体として、中継装置で不揮発性記憶装置を用いると、レプリケーション（ｒｅｐｌｉｃａｔｉｏｎ  ）のコンシステンシ（一貫性：ｃｏｎｓｉｓｔｅｎｃｙ  ）を確保できる。しかし、正常系および待機系のストレージと同様に、中継装置においても不揮発性記憶装置を用いると、中継装置にかかるコストは、正常系および待機系のストレージにかかるコストと同程度となる。また、中継装置を複数設ける場合には、さらに中継装置にかかるコストが増加する。従って、中継装置にかかるコストを、正常系および待機系のストレージのコストと比較して低減できるようにすることが好ましい。
【００１０】
また、特願２００２−２４９０４９号に開示したデータ複製システムでは、通信回線に異常が発生した場合に対処するためにデータに冗長性と訂正機能とをもたせている。例えば、元データからパリティデータを生成し、元データの一部が欠落してもパリティデータから元データを復元できるようにしている。冗長データに基づくエラー訂正は、例えば、瞬間的な回線障害や正常系システムが災害により障害を受けた場合などの対処を可能とする。しかし、誤り率の低下など恒常的な通信回線の品質劣化が発生している場合には、冗長データに基づくエラー訂正で対処しようとすると、エラー訂正の計算量が増加しデータ受信側の処理負担が大きくなる。従って、恒常的に発生しうる通信回線の品質劣化に対する対処手段を備えることが好ましい。
【００１１】
さらに、ストレージと中継装置との間の伝送手順において、送信側のコマンドおよびデータの送信に対して受信側から多数の応答信号（ＡＣＫ：ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ  ）が送信される。図８は、データ複製システムにおける各ストレージ９２０，９３０と中継装置９１０との間のデータの流れを示す説明図である。図８に示すように、例えば、ストレージＡ９２０から中継装置９１０には、データパケットや送信するデータ長などの情報を含んだデータライトコマンドのパケットが送信される。そして、各パケットに対して受信側の中継装置９１０から応答信号が送信される。中継装置１０とストレージＢ３０との間の通信についても同様である。
【００１２】
また、データパケットを受信した場合に、中継装置１０がストレージＡ９２０にレスポンスパケットを送信する場合も考えられる。図８に示すように、ストレージＡ９２０がレスポンスパケットを受信した場合に中継装置１０に応答信号を送信するようにすると、さらに多くの応答信号が各ストレージ９２０，９３０と中継装置９１０との間で送信される。
【００１３】
なお、図８では送信するデータパケットが１つのみである場合を例に説明したが、送信するデータパケットが複数ある場合には、さらに多くの応答信号が各ストレージ９２０，９３０と中継装置９１０との間で送信される。各ストレージ９２０，９３０と中継装置９１０との間の通信において、受信側から多数の応答信号が送信されるとデータ転送の処理負担が大きくなる。従って、受信側からの応答信号の送信回数を低減して、データ転送の処理負担を低減できることが好ましい。
【００１４】
そこで、本発明は、中継装置のコストを低減できるようにすることを目的とする。また、恒常的に発生しうる通信回線の品質劣化に対処できるようにすることを目的とする。さらに、データ転送の処理負担を低減できるようにすることを目的とする。
【００１５】
【課題を解決するための手段】
本発明による中継装置は、第一のストレージ（例えば、ストレージＡ２０）から第二のストレージ（例えば、ストレージＢ３０）へのデータの転送を中継する中継装置であって、第一のストレージから送信されるデータを伝送する第一通信経路（例えば、通信回線１００１）および第二通信経路（例えば、通信回線１００２）から、それぞれ同一データを受信する受信手段（回線接続部１０３によって実現される）と、第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段（ＦＩＦＯバッファＡ１０１によって実現される）と、第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段（ＦＩＦＯバッファＢ１０２によって実現される）と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段（回線接続部１０３によって実現される）と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段（中央監視部１０４によって実現される）とを備え、送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路（例えば、通信回線１００３）を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路（例えば、通信回線１００４）を介してデータを送信することを特徴とする。
【００１６】
中継装置は、第一通信経路、第二通信経路、第三通信経路および第四通信経路とは異なる通信経路（例えば、通信回線１００５）を介して、第一のストレージまたは第二のストレージから回線障害の発生を示す障害通知を受信する障害通知受信手段（回線接続部１０３によって実現される）を備え、制御手段は、障害通知受信手段が障害通知を受信した場合、送信手段が送信すべきデータの切り替えを行うか否かを判定するものであってもよい。そのような構成によれば、中継装置は、待機系の通信回線に切り替えて、待機系の記憶手段に記憶されたデータを待機系のストレージに送信することができる。
【００１７】
障害通知受信手段は、再送信すべきデータを特定する特定情報（例えば、順番情報）を含む障害通知を受信し、制御手段は、障害通知受信手段が障害通知を受信した場合、第一の記憶手段と第二の記憶手段のうち第二のストレージに送信されるデータを出力していた方に、特定情報によって特定されるデータが保持されているか否かを判定し、再送信を要求されたデータが保持されていないと判定した場合、送信手段に送信すべきデータを切り替えさせるものであってもよい。そのような構成によれば、通信回線に障害が発生しデータ復旧ができない場合に、中継装置は、待機系の通信回線に切り替えて、待機系の記憶手段に記憶されたデータを待機系のストレージに送信することができる。
【００１８】
制御手段は、障害通知受信手段が障害通知を受信した場合、第一の記憶手段と第二の記憶手段のうち第二のストレージに送信されるデータを出力していた方に、障害が発生しているか否かを判定し、障害が発生していると判定した場合、送信手段に送信すべきデータを切り替えさせるものであってもよい。そのような構成によれば、正常系の記憶手段に障害が発生しデータ復旧ができない場合に、中継装置は、待機系の通信回線に切り替えて、待機系の記憶手段に記憶されたデータを待機系のストレージに送信することができる。
【００１９】
中継装置は、第一通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データ（例えば、包括パケット）を生成する第一のデータ包括手段（パケットバッファＡ１０６によって実現される）と、第二通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第二のデータ包括手段（パケットバッファＢ１０７によって実現される）とを備え、第一の記憶手段は、第一のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、第二の記憶手段は、第二のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力するものであってもよい。そのような構成によれば、正常系のシステムから受信した複数のデータを一データ単位として纏めたデータを、待機系のストレージに送信する。そして、待機系のストレージは、受信したデータについて纏めてレスポンスを中継装置に送信する。従って、受信側からの応答信号の送信回数を低減し、データ転送の処理負担を低減することができる。
【００２０】
第一のデータ包括手段は、データの書き込みを指示する書き込みコマンドデータと、書き込まれるデータとを含む包括データを生成し、第二のデータ包括手段は、書き込みコマンドデータと、書き込まれるデータとを含む包括データを生成するものであってもよい。そのような構成によれば、書き込みコマンドデータと書き込まれるデータとを一データ単位として纏めたデータを、待機系のストレージに送信する。そして、待機系のストレージは、一データ単位として受信した書き込みコマンドおよびデータについて纏めてレスポンスを中継装置に送信する。従って、受信側からの応答信号の送信回数を低減し、データ転送の処理負担を低減することができる。
【００２１】
本発明による遠隔レプリケーションシステムは、第一のストレージから、第一のストレージに対して遠隔地に設置された第二のストレージにデータを転送する遠隔レプリケーションシステムであって、第１のストレージから第２のストレージへのデータの転送を中継する中継装置を備え、中継装置は、第一のストレージから送信されるデータを伝送する第一通信経路および第二通信経路から、それぞれ同一データを受信する受信手段と、第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段と、第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段とを備え、送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路を介してデータを送信することを特徴とする。
【００２２】
遠隔レプリケーションシステムにおいて、第一のストレージまたは第二のストレージは、データの転送中に、回線障害が発生したか否かを判定し、回線障害が発生したと判定した場合に、第一通信経路、第二通信経路、第三通信経路および第四通信経路とは異なる通信経路を介して、回線障害の発生を示す障害通知を中継装置に送信するものであってもよい。そのような構成によれば、中継装置は、待機系の通信回線に切り替えて、待機系の記憶手段に記憶されたデータを待機系のストレージに送信することができる。
【００２３】
遠隔レプリケーションシステムにおいて、中継装置は、第一通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第一のデータ包括手段と、第二通信経路を介して受信した二以上のデータを一データ単位として纏めた包括データを生成する第二のデータ包括手段とを備え、第一の記憶手段は、第一のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、第二の記憶手段は、第二のデータ包括手段が生成した包括データを一時記憶し、包括データ毎に先入れ先出し順に出力し、第二のストレージは、中継装置から第三通信経路または第四通信経路を介して受信した包括データを、第一のデータ包括手段または第二のデータ包括手段によって一データ単位として纏められる前の二以上のデータに分解するものであってもよい。そのような構成によれば、正常系のシステムから受信した複数のデータを一データ単位として纏めたデータを、待機系のストレージに送信する。そして、待機系のストレージは、受信したデータについて纏めてレスポンスを中継装置に送信する。従って、受信側からの応答信号の送信回数を低減し、データ転送の処理負担を低減することができる。
【００２４】
本発明による中継プログラムは、第一のストレージから受信するデータを一時記憶して先入れ先出し順に出力する一時記憶装置を二重化して備え、一時記憶装置が出力するデータを第二のストレージに送信する中継装置に搭載される中継プログラムであって、中継装置のコンピュータに、各一時記憶装置のうちのいずれか一方の一時記憶装置が出力するデータを第二のストレージに送信する処理、第一のストレージまたは第二のストレージから、回線障害の発生を示す障害通知を受信した場合に、第二のストレージに送信すべきデータの切り替えを行うか否かを判定する処理、およびデータの切り替えを行うと判定した場合に、他方の一時記憶装置が出力するデータを第二のストレージに送信する処理を実行させることを特徴とする。
【００２５】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態を図面を参照して説明する。図１は、本発明による中継装置を適用した遠隔レプリケーションシステムの構成の例を示すブロック図である。図１に示すように、遠隔レプリケーションシステムは、データを記憶するストレージＡ２０と、ストレージＡ２０を使用して処理を実行するホストコンピュータ４０と、ストレージＡ２０から転送されたデータを記憶するストレージＢ３０と、ストレージＡ２０からストレージＢ３０へのデータの転送を中継する中継装置１０とを含む。ストレージＡ２０およびストレージＢ３０は、例えば、単体の磁気ディスク装置、光ディスク装置または光磁気ディスク装置である。
【００２６】
本実施の形態では、ストレージＢ３０は、ストレージＡ２０および中継装置１０に対して遠隔地に設置される。また、中継装置１０は、ストレージＡ２０およびストレージＢ３０に対して遠隔地に設置される。例えば、ストレージＢ３０および中継装置１０は、ストレージＡ２０の設置場所において生じる災害の影響が波及すると想定される範囲の外に設置される。
【００２７】
ストレージＡ２０と中継装置１０とは、通信回線１００１および通信回線１００２によって接続される。中継装置１０とストレージＢ３０とは、通信回線１００３および通信回線１００４によって接続される。さらに、中継装置１０、ストレージＡ２０、およびストレージＢ３０は、通信回線１００５によって相互に接続される。通信回線１００１，１００２，１００３，１００４，１００５は、専用線などの通信ネットワークである。
【００２８】
図２は、中継装置１０の構成の一例を示すブロック図である。図２に示すように、中継装置１０は、ストレージＡ２０から受信したデータを一時記憶するＦＩＦＯバッファＡ１０１およびＦＩＦＯバッファＢ１０２と、ストレージＡ２０およびストレージＢ３０との通信を行う回線接続部１０３と、中継処理のシーケンス管理を行う中央監視部１０４とを含む。中央監視部１０４は、例えば、プログラムに従って動作するＣＰＵによって実現される。なお、図２において、説明の便宜のため回線接続部１０３を中継装置１０の入力側（ストレージＡ２０側）と出力側（ストレージＢ３０側）との２箇所に示すが、中継装置１０の入力側に示す回線接続部１０３と、中継装置１０の出力側に示す回線接続部１０３とは同一物である。
【００２９】
また、図２に示すように、ＦＩＦＯバッファＡ１０１は、通信回線１００１を介してストレージＡ２０と接続される。ＦＩＦＯバッファＡ１０１は、通信回線１００３を介してストレージＢ３０と接続される。ＦＩＦＯバッファＢ１０２は、通信回線１００２を介してストレージＡ２０と接続される。ＦＩＦＯバッファＢ１０２は、通信回線１００４を介してストレージＢ３０と接続される。中央監視部１０４は、中継装置１０内部で割り込み線１０５によって回線接続部１０３に接続される。
【００３０】
ＦＩＦＯバッファＡ１０１およびＦＩＦＯバッファＢ１０２は、受け取ったデータを、受け取った順番を保持して記憶し、受け取った順番に出力するＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ：先入れ先出し）バッファである。なお、ＦＩＦＯバッファＡ１０１およびＦＩＦＯバッファＢ１０２は、不揮発性の記憶装置でなくてもよい。すなわち、所定のリセット操作がなされたとき、記憶したデータを消去してしまうものであってもよい。
【００３１】
ＦＩＦＯバッファＡ１０１は、ストレージＡ２０から通信回線１００１を介して受信したデータを、受信した順番を保持して記憶する。回線接続部１０３がストレージＢ３０にデータを送信する際に、ＦＩＦＯバッファＡ１０１は、記憶するデータを、ストレージＡ２０から受信した順番（先入れ先出し順）に回線接続部１０３に出力する。ＦＩＦＯバッファＡ１０１は、データを回線接続部１０３に出力すると、出力したデータを保持せずに次々に消去する。そして、回線接続部１０３は、ＦＩＦＯバッファＡ１０１が出力したデータを、出力された順番に、通信回線１００３を介してストレージＢ３０に送信する。
【００３２】
ＦＩＦＯバッファＡ１０１と同様に、ＦＩＦＯバッファＢ１０２は、ストレージＡ２０から通信回線１００２を介して受信したデータを、受信した順番を保持して記憶する。ＦＩＦＯバッファＢ１０２は、通常時には、保持するデータ量がバッファ容量に達するまでデータを出力せずにそのまま蓄積する。ＦＩＦＯバッファＢ１０２は、保持するデータ量がバッファ容量に達すると、受信した順番（先入れ先出し順）に保持するデータを出力する。そして、回線接続部１０３は、通常時には、ＦＩＦＯバッファＢ１０２が出力したデータを、ストレージＢ３０に送信せずにそのまま消去する。従って、ＦＩＦＯバッファＢ１０２は、ストレージＡ２０に送信したデータと同じデータを、一定時間保持することができる。
【００３３】
ＦＩＦＯバッファＡ１０１または通信回線１００３に障害が発生した場合には、回線接続部１０３は、データを送信する回線を通信回線１００３から通信回線１００４に切り替える。そして、回線接続部１０３は、ＦＩＦＯバッファＢ１０２が出力したデータを、出力された順番に、通信回線１００４を介してストレージＢ３０に送信する。すなわち、ＦＩＦＯバッファＡ１０１は正常系（稼働系）のバッファとしての役割を果たし、ＦＩＦＯバッファＢ１０２は待機系のバッファとしての役割を果たす。
【００３４】
受信手段は、回線接続部１０３によって実現される。第一の記憶手段は、ＦＩＦＯバッファＡ１０１によって実現される。第二の記憶手段は、ＦＩＦＯバッファＢ１０２によって実現される。送信手段は、回線接続部１０３によって実現される。制御手段は、中央監視部１０４によって実現される。障害通知受信手段は、回線接続部１０３によって実現される。
【００３５】
なお、中継装置１０は、中央監視部１０４に実行させるための中継プログラムを、中央監視部１０４に内蔵または外付けされる記憶装置（図示せず）に記憶している。中継プログラムは、中央監視部１０４に、各一時記憶装置のうちのいずれか一方の一時記憶装置が出力するデータを第二のストレージに送信する処理、第一のストレージまたは第二のストレージから、回線障害の発生を示す障害通知を受信した場合に、第二のストレージに送信すべきデータの切り替えを行うか否かを判定する処理、およびデータの切り替えを行うと判定した場合に、他方の一時記憶装置が出力するデータを第二のストレージに送信する処理を実行させるためのプログラムである。
【００３６】
次に、動作について説明する。図３は、遠隔レプリケーションシステムにおける回線切り替えの処理経過の例を示す流れ図である。通常時において、ストレージＡ２０からデータの転送が開始されると、中継装置１０は、ストレージＡ２０からのデータを中継しストレージＢ３０に転送する（ステップＳ１０）。ストレージＡ２０からストレージＢ３０に転送されるデータはパケットデータである。また、ストレージＡ２０が送信するパケットデータは、データの順番を示す順番情報を含む。
【００３７】
ステップＳ１０において、ストレージＡ２０は、パケットデータを、通信回線１００１を介して中継装置１０に送信する。また、ストレージＡ２０は、通信回線１００１を介して送信したパケットデータと同じデータを、通信回線１００２を介して中継装置１０に送信する。中継装置１０の回線接続部１０３は、ストレージＡ２０から、通信回線１００１を介してパケットデータを受信する。回線接続部１０３は、受信したパケットデータをＦＩＦＯバッファＡ１０１に記憶させる。ＦＩＦＯバッファＡ１０１は、回線接続部１０３からのパケットデータを、受け取った順番を保持して記憶する。そして、ＦＩＦＯバッファＡ１０１は、受け取った順番に、記憶しているパケットデータを回線接続部１０３に出力する。回線接続部１０３は、ＦＩＦＯバッファＡ１０１が出力したパケットデータを、通信回線１００３を介してストレージＢ３０に送信する。
【００３８】
また、回線接続部１０３は、ストレージＡ２０から、通信回線１００２を介してパケットデータを受信する。回線接続部１０３は、受信したパケットデータをＦＩＦＯバッファＢ１０２に記憶させる。ＦＩＦＯバッファＢ１０２は、回線接続部１０３からのパケットデータを、受け取った順番を保持して記憶する。そして、回線接続部１０３は、通常時には、ＦＩＦＯバッファＢ１０２が出力したパケットデータを、ストレージＢ３０に送信せずにそのまま消去する。
【００３９】
ストレージＢ３０は、中継装置１０から、通信回線１００３を介してパケットデータを受信する。ストレージＢ３０は、データの受信中に、通信回線１００３に回線障害が発生したか否かを判定する（ステップＳ２０）。例えば、ストレージＢ３０は、受信したデータについてパリティーエラーやＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ）エラーを検出した場合に、回線障害が発生したと判定する。また、例えば、ストレージＢ３０は、パケットデータを予め定めた所定時間内に受信できずタイムアウトを検出した場合に、回線障害が発生したと判定する。また、例えば、タイムアウト検出後に所定回数のリトライを行っても障害が回復しないリトライオーバーフローを検出した場合に、回線障害が発生したと判定する。ステップＳ２０で、通信回線１００３に回線障害が発生していないと判定した場合には、ステップ１０のデータ転送処理が繰り返し実行される。
【００４０】
ステップＳ２０で、通信回線１００３に回線障害が発生したと判定した場合には、ストレージＢ３０は、回線障害が発生した旨を通知する通知情報を、通信回線１００５を介して中継装置１０に送信する（ステップＳ３０）。ステップＳ３０において、ストレージＢ３０は、受信したパケットデータに含まれる順番情報を抽出し、再送信を要求するパケットデータの順番情報を特定する。そして、ストレージＢ３０は、特定した順番情報を付加して、通信回線１００５を介して通知情報を中継装置１０に送信する。
【００４１】
中継装置１０の回線接続部１０３は、ストレージＢ３０から、通信回線１００５を介して通知情報を受信する。通知情報を受信すると、回線接続部１０３は、通知情報を、割り込み線１０５を介して中央監視部１０４に渡す。中央監視部１０４は、通知情報を受け取ると、回線接続部１０３にストレージＢ３０へのパケットデータの送信を中断させる（ステップＳ４０）。
【００４２】
中央監視部１０４は、通知情報に含まれる順番情報に基づいて、再送信を要求されたパケットデータを特定する。中央監視部１０４は、再送信を要求されたパケットデータの復旧が可能であるか否かを判断する（ステップＳ５０）。ステップＳ５０において、中央監視部１０４は、ＦＩＦＯバッファＡ１０１に、再送信を要求されたパケットデータがまだ保持されているか否かを判断する。再送信を要求されたパケットデータが保持されている場合には、中央監視部１０４は、パケットデータの復旧が可能であると判断する。保持されていない場合には、中央監視部１０４は、パケットデータの復旧は不可能であると判断する。
【００４３】
また、ステップＳ５０において、中央監視部１０４は、ＦＩＦＯバッファＡ１０１の障害が発生しているか否かを判断する。例えば、中央監視部１０４は、ＦＩＦＯバッファＡ１０１の出力においてパリティーエラーを検出した場合や、ＦＩＦＯバッファＡ１０１からの応答を予め定めた所定時間内に受け取ることができずタイムアウトを検出した場合には、ＦＩＦＯバッファＡ１０１の障害であると判断する。ＦＩＦＯバッファＡ１０１の障害であると判断した場合には、中央監視部１０４は、パケットデータの復旧は不可能であると判断する。
【００４４】
ステップＳ５０でパケットデータの復旧は可能であると判断した場合には、中央監視部１０４は、回線接続部１０３にパケットデータの送信を再開させる（ステップＳ６０）。そして、回線接続部１０３は、ＦＩＦＯバッファＡ１０１からパケットデータを受け取り、通信回線１００３を介してストレージＢ３０に送信を再開する。
【００４５】
ステップＳ５０でパケットデータの復旧は不可能であると判断した場合には、中央監視部１０４は、回線接続部１０３にパケットデータを送信する通信回線を、通信回線１００３から通信回線１００４に切り替えさせる（ステップＳ７０）。回線接続部１０３は、ＦＩＦＯバッファＢ１０２から受け取ったパケットデータのうち、再送信を要求されたパケットデータの１つ前までのデータを破棄する。そして、回線接続部１０３は、ＦＩＦＯバッファＢ１０２から受け取ったパケットデータのうち、再送信を要求されたパケットデータ以降のデータについて、通信回線１００４を介してストレージＢ３０に送信を再開する（ステップＳ８０）。
【００４６】
以上のように、本実施の形態によれば、中継装置が、正常系のシステムから受信したコマンドおよびデータを記憶する媒体として、ＦＩＦＯバッファを備える。一般に、ＦＩＦＯバッファは、不揮発性メモリなどの記憶手段と比較して低コストである。従って、レプリケーションのコンシステンシを損なうことなく、中継装置にかかるコストを、正常系および待機系のストレージのコストと比較して低減することができる。
【００４７】
また、ＦＩＦＯバッファを二重化し、中継装置が、正常系のＦＩＦＯバッファと待機系のＦＩＦＯバッファとを備える。さらに、中継装置と待機系のストレージとの間の通信回線も二重化され、正常系のＦＩＦＯバッファと待機系のＦＩＦＯバッファとは、それぞれ別々の通信回線によって待機系のストレージと接続される。そして、正常系のＦＩＦＯバッファや通信回線の恒常的な品質劣化が発生した場合に、中継装置は、待機系の通信回線に切り替えて待機系のＦＩＦＯバッファが記憶するデータを待機系のストレージに送信する。そして、待機系のＦＩＦＯバッファや通信回線の品質が良好であれば、エラー訂正の計算量の増加を低減しデータ受信側の処理負担を低減できる。従って、瞬間的な回線障害や正常系システムが災害により障害を受けた場合だけでなく、恒常的に発生しうる通信回線の品質劣化にも対処することができる。
【００４８】
なお、本実施の形態では、ストレージＢ３０が回線障害を検出した場合に通知情報を中継装置１０に送信する場合を例に説明したが、ストレージＡ２０が回線障害を検出し通知情報を中継装置１０に送信するようにしてもよい。例えば、ストレージＡ２０は、ストレージＡ２０自身の障害によって通信回線１００１を介して中継装置１０にデータを送信できなかった場合に、回線障害が発生したと判断する。また、例えば、データパケットの受信の際に、中継装置１０は、レスポンスパケットをストレージＡ２０に送信する。ストレージＡ２０は、データパケットを送信した後に、中継装置１０から、通信回線１００１を介して所定時間内にレスポンスパケットを受信できずタイムアウトを検出した場合に、回線障害が発生したと判断する。また、例えば、タイムアウト検出後に所定回数のリトライを行っても障害が回復しないリトライオーバフローを検出した場合に、回線障害が発生したと判断する。
【００４９】
回線障害が発生したと判断すると、ストレージＡ２０は、通信回線１００５を介して通知情報を中継装置１０に送信する。通知情報を受信すると、中継装置１０は、待機系の通信回線１００４に切り替えてＦＩＦＯバッファＢ１０２が記憶するデータをストレージＢ３０に送信する。
【００５０】
実施の形態２．
次に、本発明の第２の実施の形態を図面を参照して説明する。図４は、本実施の形態における中継装置１０の構成の例を示すブロック図である。なお、遠隔レプリケーションシステムの構成は、第１の実施の形態で示した構成と同様である。また、回線障害発生時の回線切り替え処理の動作手順についても、第１の実施の形態で示した動作手手順と同様である。
【００５１】
図４に示すように、中継装置１０は、第１の実施の形態で示した構成に加えて、パケットバッファＡ１０６と、パケットバッファＢ１０７とを含む。パケットバッファＡ１０６は、回線接続部１０３とＦＩＦＯバッファＡ１０１との間に配置され、入力側を回線接続部１０３に接続され、出力側をＦＩＦＯバッファＡ１０１に接続される。パケットバッファＢ１０７は、回線接続部１０３とＦＩＦＯバッファＢ１０２との間に配置され、入力側を回線接続部１０３に接続され、出力側をＦＩＦＯバッファＢ１０２に接続される。
【００５２】
パケットバッファＡ１０６は、回線接続部１０３からパケットデータを受け取ると、受け取ったパケットデータを一旦蓄積する。パケットバッファＡ１０６は、蓄積するパケットデータの数が予め定めた所定数に達すると、蓄積するパケットデータを一データ単位に纏めたパケットを生成する。以下、パケットバッファＡ１０６またはパケットバッファＢ１０７によって一纏めにされたパケットを包括パケットと記す。包括パケットを生成すると、パケットバッファＡ１０６は、包括パケットをＦＩＦＯバッファＡ１０１に渡す。そして、ＦＩＦＯバッファＡ１０１は、パケットバッファＡ１０６から受け取った包括パケットを、受け取った順番を保持して記憶する。
【００５３】
パケットバッファＡ１０６と同様に、パケットバッファＢ１０７も、回線接続部１０３から受け取ったパケットデータを一纏めにして包括パケットを生成し、ＦＩＦＯバッファＢ１０２に渡す。そして、ＦＩＦＯバッファＢ１０２は、パケットバッファＢ１０７から受け取った包括パケットを、受け取った順番を保持して記憶する。
【００５４】
第一のデータ包括手段は、パケットバッファＡ１０６によって実現される。第二のデータ包括手段は、パケットバッファＢ１０７によって実現される。
【００５５】
図５は、本実施の形態における各ストレージ２０，３０と中継装置１０との間のデータの流れを示す説明図である。本例では、ストレージＡ２０からストレージＢ３０に、中継装置１０を介して１つのデータパケットを転送する場合を例に説明する。すなわち、ストレージＡ２０からストレージＢ３０に、データ数が１つである旨の情報を含んだデータライトコマンドのパケットと、１つのデータパケットとが転送される。図５に示すように、ストレージＡ２０と中継装置１０との間の通信については、図８に示したデータ複製システムの場合と同様に、データライトコマンドのパケット、データパケット、およびレスポンスパケットに対して、それぞれ応答信号（ＡＣＫ）が送信される。
【００５６】
ストレージＡ２０から、通信回線１００３を介してデータライトコマンドのパケットおよびデータパケットを受信すると、中継装置１０のパケットバッファＡ１０６は、受信したデータライトコマンドのパケットおよびデータパケットを、受信した順番に一旦蓄積する。パケットバッファＡ１０６は、データライトコマンドのパケットおよびデータパケットを一纏めにして包括パケットを生成する。そして、中継装置１０は、パケットバッファＡ１０６が生成した包括パケットを、通信回線１００３を介してストレージＢ３０に送信する。
【００５７】
パケットバッファＡ１０６と同様に、パケットバッファＢ１０７は、データライトコマンドのパケットおよびデータパケットを一纏めにして包括パケットを生成する。パケットバッファＢ１０７が生成した包括パケットは、ＦＩＦＯバッファＢ１０２に蓄積される。ＦＩＦＯバッファＢ１０２は、パケットバッファＢ１０７から受け取った順番を保持して包括パケットを記憶し蓄積する。保持するデータ量がバッファ容量に達した場合には、ＦＩＦＯバッファＢ１０２は、記憶する包括パケットを、受け取った順番に先入れ先出し順で出力する。回線接続部１０３は、通常時には、ＦＩＦＯバッファＢ１０２が出力した包括パケットを、ストレージＢ３０に送信せずにそのまま破棄する。
【００５８】
ストレージＢ３０は、受信した包括パケットを、一データ単位に纏める前の状態に解凍するためのパケットバッファ（図示せず）を含む。中継装置１０から、通信回線１００３を介して包括パケットを受信すると、ストレージＢ３０のパケットバッファは、受信した包括パケットを解凍してデータライトコマンドのパケットとデータパケットとに戻す。ストレージＢ３０は、解凍されたデータライトコマンドのパケットとデータパケットとを確認すると、レスポンスパケットを、通信回線１００３を介して中継装置１０に送信する。
【００５９】
なお、包括パケットとして一データ単位に纏められるデータパケットは１つに限定されない。例えば、同時に２以上のデータパケットを一データ単位に纏めて包括パケットを生成してもよい。また、本実施の形態では、中継装置１０のパケットバッファＡ１０６およびパケットバッファＢ１０７が包括パケットを生成する場合を例に説明したが、ストレージＡ２０もパケットバッファを含み、ストレージＡ２０のパケットバッファが包括パケットを生成するようにしてもよい。
【００６０】
以上のように、本実施の形態によれば、正常系のシステムから受信した複数のパケットを一データ単位として纏めたデータを、待機系のストレージに送信する。そして、待機系のストレージは、受信したデータについて纏めてレスポンスを中継装置に送信する。従って、受信側からの応答信号の送信回数を低減し、データ転送の処理負担を低減することができる。
【００６１】
【発明の効果】
本発明によれば、中継装置が、第一のストレージから送信されるデータを伝送する第一通信経路および第二通信経路から、それぞれ同一データを受信する受信手段と、第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段と、第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段とを備え、送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路を介してデータを送信するので、レプリケーションのコンテンシを損なうことなく、中継装置にかかるコストを、正常系および待機系のストレージのコストと比較して低減することができる。また、瞬間的な回線障害や正常系システムが災害により障害を受けた場合だけでなく、恒常的に発生しうる通信回線の品質劣化にも対処することができる。
【００６２】
また、本発明によれば、遠隔レプリケーションシステムが、第一のストレージから、第一のストレージに対して遠隔地に設置された第二のストレージにデータを転送する遠隔レプリケーションシステムであって、第１のストレージから第２のストレージへのデータの転送を中継する中継装置を備え、中継装置は、第一のストレージから送信されるデータを伝送する第一通信経路および第二通信経路から、それぞれ同一データを受信する受信手段と、第一通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第一の記憶手段と、第二通信経路から受信したデータを一時記憶し、先入れ先出し順に出力する第二の記憶手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらか一方を第二のストレージに送信する送信手段と、第一の記憶手段が出力するデータと第二の記憶手段が出力するデータのうちのどちらを送信手段が送信すべきかを制御する制御手段とを備え、送信手段は、第一の記憶手段が出力するデータを送信する場合、第三通信経路を介してデータを送信し、第二の記憶手段が出力するデータを送信する場合、第四通信経路を介してデータを送信するので、レプリケーションのコンテンシを損なうことなく、中継装置にかかるコストを、正常系および待機系のストレージのコストと比較して低減することができる。また、瞬間的な回線障害や正常系システムが災害により障害を受けた場合だけでなく、恒常的に発生しうる通信回線の品質劣化にも対処することができる。
【００６３】
さらに、本発明によれば、中継装置の中継プログラムが、中継装置のコンピュータに、各一時記憶装置のうちのいずれか一方の一時記憶装置が出力するデータを第二のストレージに送信する処理、第一のストレージまたは第二のストレージから、回線障害の発生を示す障害通知を受信した場合に、第二のストレージに送信すべきデータの切り替えを行うか否かを判定する処理、およびデータの切り替えを行うと判定した場合に、他方の一時記憶装置が出力するデータを第二のストレージに送信する処理を実行させるので、通信回線に障害が発生しデータ復旧ができない場合に、待機系の通信回線に切り替えて、待機系の記憶手段に記憶されたデータを待機系のストレージに送信することができる。従って、瞬間的な回線障害や正常系システムが災害により障害を受けた場合だけでなく、恒常的に発生しうる通信回線の品質劣化にも対処することができる。
【図面の簡単な説明】
【図１】本発明による中継装置を適用した遠隔レプリケーションシステムの構成の例を示すブロック図である。
【図２】中継装置の構成の一例を示すブロック図である。
【図３】回線切り替えの処理経過の一例を示す流れ図である。
【図４】中継装置の構成の他の例を示すブロック図である。
【図５】各ストレージと中継装置との間のデータの流れを示す説明図である。
【図６】従来のデータ複製システムの構成の例を示すブロック図である。
【図７】従来のデータ複製システムの中継装置の構成の例を示すブロック図である。
【図８】従来のデータ複製システムにおける各ストレージと中継装置との間のデータの流れを示す説明図である。
【符号の説明】
１０  中継装置
１０１  ＦＩＦＯバッファＡ
１０２  ＦＩＦＯバッファＢ
１０３  回線接続部
１０４  中央監視部
１０５  割り込み線
２０  ストレージＡ
３０  ストレージＢ
４０  ホストコンピュータ
１００１，１００２，１００３，１００４，１００５  通信回線
【図１】
2004247781.tif 000003
【図２】
2004247781.tif 000004
【図３】
2004247781.tif 000005
【図４】
2004247781.tif 000006
【図５】
2004247781.tif 000007
【図６】
2004247781.tif 000008
【図７】
2004247781.tif 000009
【図８】
2004247781.tif 000010