データ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラム
【課題】ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、転送時間を短くすることができるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムを提供する。
【解決手段】転送処理の対象となる複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]を取得する取得部11と、取得部11が取得したトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて、転送処理に要する転送時間を試算し、試算された転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部12と、を備える。
【解決手段】転送処理の対象となる複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]を取得する取得部11と、取得部11が取得したトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて、転送処理に要する転送時間を試算し、試算された転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部12と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムに関し、特に、ストレージ間のリモートデータ転送において、データの転送順序を制御するデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、記録すべきデータ量の増加に伴い、企業または自治体などで用いられる業務用ストレージの記録容量は増大の一途である。これに伴い、大震災等によって業務用ストレージに記録されている多量のデータが失われるなどといった事態を防ぐため、種々の対策が行われている。たとえば、物理的に離れた遠隔地にデータセンターのミラーサイトを設け、ネットワークを介してデータをミラーサイトへ転送するというストレージシステムがある。
【0003】
また、このようなストレージシステムとしては、データの転送時間を短くするため、たとえば、更新された履歴のみを差分データとして他のデータと分けて管理を行い、この差分データのみをミラーサイトへ転送するものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−275494号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、ストレージ間において、個々の差分データ量にばらつきがある複数の磁気ディスクについて、転送処理を行う場合がある。ここで、ストレージ、ネットワークおよびストレージに搭載されている磁気ディスク単体についてデータの転送速度を比較すると、
ストレージのI/O性能(ストレージの転送速度)>ネットワーク帯域(ネットワークの転送速度)>磁気ディスク単体のI/O性能(磁気ディスク単体の転送速度)
という関係である。
【0006】
このため、ストレージ間において複数の磁気ディスクの差分データを転送する場合には、ネットワーク帯域を十分利用して転送処理を行うほど効率がよく、転送時間を短くすることができる。
【0007】
しかしながら、個々の差分データ量にばらつきがある複数の磁気ディスクのすべてについて転送処理を並行して行うと、差分データ量が少ない磁気ディスクから順に転送処理が終了する。そして、差分データ量が最も多い磁気ディスクの転送処理が最後に終了する(図11参照)。
【0008】
このとき、上述した転送速度の関係のように、磁気ディスク単体の転送速度はネットワークの転送速度よりも遅いため、差分データ量が最も多い磁気ディスクのみの転送処理が行われている間は、ネットワーク帯域が十分に利用されていない。このため、結果として転送時間が長くなるという問題がある。
【0009】
この発明は、上述の課題を解決するためになされたもので、その目的は、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、転送時間を短くすることができるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の一側面におけるデータ転送制御装置は、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とする。
【0011】
上記目的を達成するため、本発明の一側面におけるデータ転送制御システムは、
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とする。
【0012】
また、上記目的を達成するため、本発明の一側面におけるデータ転送制御方法は、ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とする。
【0013】
また、上記目的を達成するため、本発明の一側面におけるプログラムは、ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とする。
【発明の効果】
【0014】
本発明におけるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムによれば、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、転送時間を短くすることができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態におけるデータ転送制御装置を含むシステム全体の構成を示すブロック図である。
【図2】磁気ディスクに含まれるトラックごとに、データの転送速度が異なることを示す図である。
【図3】本発明の実施の形態におけるデータ転送制御装置の制御部の構成を示すブロック図である。
【図4】本発明の実施の形態におけるデータ転送制御装置のメモリの構成を示す図である。
【図5】本発明の実施の形態におけるデータ転送制御装置による転送処理の制御のための事前準備の流れを説明するフローチャートである。
【図6】本発明の実施の形態におけるデータ転送制御装置による転送制御の動作の流れを説明するフローチャートである。
【図7】本発明の実施の形態におけるデータ転送制御装置による最適グループ数の決定処理の流れを説明するフローチャートである。
【図8】本発明の実施の形態におけるデータ転送制御装置による差分データ転送処理の流れを説明するフローチャートである。
【図9】本発明の実施の形態におけるデータ転送制御装置による転送制御が行われた場合における、転送時間と転送量との関係を示す図である。
【図10】本発明の実施の形態におけるデータ転送制御装置を実現するコンピュータの一例を示すブロック図である。
【図11】従来の転送処理のおける転送時間と転送量との関係を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態におけるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムについて、図を参照しながら説明する。
【0017】
[システム構成]
最初に、図1から図9を用いて、本発明の実施の形態におけるデータ転送制御装置10の構成、および、これを用いたデータ転送制御システムの構成について説明する。図1は、本発明の実施の形態におけるデータ転送制御装置10を含むシステム全体の構成を示すブロック図であり、図2は、磁気ディスクに含まれるトラックごとに、データの転送速度が異なることを示す図である。
【0018】
図1に示すように、データ転送制御装置10を含むデータ転送制御システム100は、ローカルストレージ(第1ストレージ)1と、リモートストレージ(第2ストレージ)2と、を備えている。ローカルストレージ1は、データ転送制御装置10と、処理部20と、磁気ディスク群30と、を備えている。リモートストレージ2は、ローカルストレージ1から物理的に離れた遠隔地に設けられ、ローカルストレージ1とネットワークを介して接続されている。また、リモートストレージ2は、処理部40と、磁気ディスク群50と、を備えている。
【0019】
本発明の実施の形態では、差分データがローカルストレージ1からリモートストレージ2へネットワークを介して転送される場合について説明する。
【0020】
磁気ディスク群30は、各々異なる識別番号が付された複数の磁気ディスクを含む。また、これら複数の磁気ディスクは、それぞれ差分データを記録している。
【0021】
なお、図2に示すように、磁気ディスクは、同心円状に複数のトラックを有している。そして、トラックごとにデータの転送速度が異なる。また、外側のトラックから、転送速度をB[1]、B[2]、・・・、B[M]とすると(Mは、磁気ディスクに含まれるトラック数)、これらは、B[1]>B[2]>・・・>B[M]という関係になっている。そして、磁気ディスクに記録された差分データは、複数のトラックに分布しており、それぞれ対応するトラックの転送速度によって転送処理が行われる。
【0022】
処理部20は、磁気ディスク群30に含まれる各磁気ディスクについて、トラックごとのデータの転送速度B[i](1≦i≦M)を実測する。また、処理部20は、ローカルストレージ1およびリモートストレージ2が接続されているネットワークの転送速度を実測する。そして、処理部20は、実測したトラックごとの転送速度B[i]およびネットワークの転送速度をデータ転送制御装置10に出力する。
【0023】
また、処理部20は、外部から差分データの転送指示を受けると、データ転送制御装置10に、転送処理の制御要求を出力する。さらに、処理部20は、転送処理の対象である磁気ディスクの識別番号、および、当該磁気ディスクに記録されている差分データを磁気ディスク群30から読み出し、各磁気ディスクについてトラックごとの差分データ量d[i]をデータ転送制御装置10に出力する。
【0024】
また、処理部20は、制御要求を受けたデータ転送制御装置10が、後述する転送処理の制御を行い、制御指示を処理部20に出力すると、制御指示に従い、リモートストレージ2の処理部40へ差分データの転送を行う。そして、転送先である処理部40は、磁気ディスク群50に転送された差分データを出力し、磁気ディスク群50に含まれる磁気ディスクに、転送された差分データが記録される。
【0025】
データ転送制御装置10は、処理部20から制御要求を受けて、差分データの転送処理の制御を行う。すなわち、データ転送制御装置10は、転送処理の対象である複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御し、制御指示を処理部20に出力する。
【0026】
具体的には、データ転送制御装置10は、取得部11と、制御部12と、を備えている。 取得部11は、処理部20から出力される、各磁気ディスクのトラックごとの転送速度B[i]、ネットワークの転送速度、制御要求、および、トラックごとの差分データ量d[i]を取得する。
【0027】
制御部12は、取得部11が取得したトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて、転送処理に要する転送時間を試算する。また、制御部12は、試算した転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する。
【0028】
すなわち、本発明の実施の形態に係るデータ転送制御装置10によれば、試算された転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序が決定される。
【0029】
このため、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、複数の磁気ディスクをすべて並行して転送処理する場合と異なり、ネットワーク帯域を十分に利用する時間を長くすることができ、転送時間を短くすることができる。
【0030】
さらに、データ転送制御装置10では、磁気ディスクにおける差分データの分布を考慮し、トラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて転送時間を試算する。このため、データ転送制御装置10によれば、より正確な転送時間を試算することができ、適切な制御を行うことができる。以下、本発明の実施の形態に係るデータ転送制御装置10の構成を、更に具体的に説明する。
【0031】
[データ転送制御装置の構成]
図3は、本発明の実施の形態におけるデータ転送制御装置10の制御部12の構成を示すブロック図であり、図4は、本発明の実施の形態におけるデータ転送制御装置10のメモリ17の構成を示す図である。
【0032】
図3に示すように、本実施の形態に係るデータ転送制御装置10の制御部12は、正規化部13と、グループ数決定部14と、振分け部15と、転送指示部16と、メモリ17と、を備えている。
【0033】
(正規化部)
正規化部13は、転送処理の対象である磁気ディスクについて、トラックごとの差分データを所定の転送速度で転送処理する場合における転送時間を得るために、トラックごとの差分データ量d[i]に対して正規化処理を行う。
【0034】
具体的には、正規化部13は、下記式(1)を満たすように、トラックごとのデータ量d[i]を正規化して、各磁気ディスクについて正規化後の差分データ量Dを取得する。
【数1】
【0035】
ただし、Dは正規化後の差分データ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0036】
ここで、上述のように、差分データは磁気ディスクの複数のトラックに分布して記録され、それぞれ対応するトラックの転送速度によって転送処理が行われる。しかしながら、転送時間を試算する際、異なる複数の転送速度を用いると演算処理が複雑になる。このため、基準となる所定の転送速度を用いて転送時間を試算することが好ましい。
【0037】
従って、正規化部13は、転送速度の最小値であるB[M]を基準となる所定の転送速度と仮定する。そして、正規化部13は、複数のトラックに分布して記録された差分データをすべて転送速度B[M]で転送処理すると仮定して、トラックごとの差分データ量d[i]を正規化する。
【0038】
また、正規化部13は、このようにして得られた正規化後の差分データ量Dを、各磁気ディスクの差分データ量として、メモリ17に登録する。
【0039】
(グループ数決定部)
グループ数決定部14は、転送処理の対象である複数の磁気ディスクを、1または2以上のグループに分けるための最適なグループの数を決定する。なお、このグループ数が、並行して転送処理が行われる磁気ディスクの数である。また、転送処理の対象である磁気ディスクの数は、L個であるとする。
【0040】
具体的には、グループ数決定部14は、まず、任意の自然数であるN個(1≦N≦L)のグループを作成し、各グループに磁気ディスクを振り分ける。そして、グループ数決定部14は、正規化部13により正規化された後の差分データ量Dおよび所定の転送速度に基づいて、グループ数をN個とした場合における、転送時間を試算する。
【0041】
グループ数決定部14は、このような転送時間の試算を、N=1からN=Lまで繰り返し、転送時間が最短となる場合におけるグループ数Nを、最適グループ数として決定する。
【0042】
(振分け部)
振分け部15は、グループ数決定部14が決定した最適グループ数の分だけグループを設ける。そして、振分け部15は、最も差分データ量Dが多い磁気ディスクを最も総差分データ量が少ないグループに対して振り分ける。このような振分けが、L個の磁気ディスクのすべてについて行われることにより、すべてのグループについて、総差分データ量に大きな偏りがなく、複数の磁気ディスクが振り分けられる。
【0043】
(転送指示部)
転送指示部16は、各グループについて、差分データ量Dの少ない磁気ディスクから順に転送処理されるように、磁気ディスクの転送順序を並び替え、この順序で転送処理が実施されるように、処理部20に制御指示を出力する。
【0044】
さらに、転送指示部16は、処理部20による転送処理が行われている最中に、取得部11が、新たに転送処理の対象となる磁気ディスクに含まれるトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]を取得したか否かを確認する。すなわち、転送指示部16は、取得処理部20が新たに転送指示を外部から受けたか否かを確認する。
【0045】
ここで、上述のように、処理部20が新たに外部から転送指示を受けると、処理部20は、転送処理の対象である磁気ディスクの識別番号、および、当該磁気ディスクのトラックごとの差分データ量d[i]を取得部11に出力する。そして、取得部11が、取得した情報をメモリ17に記録する。このため、転送指示部16は、定期的にメモリ17を確認することにより、処理部20が新たに転送指示を受けたか否かを確認することができる。
【0046】
そして、処理部20が新たな転送指示を受けた場合には、転送指示部16は、転送処理の最中である磁気ディスクの当該転送処理が終了するのを待ち、転送処理終了後に、再び正規化部13による正規化処理が行われるように転送処理を停止させる。
【0047】
(メモリ)
メモリ17は、図4に示すように、ネットワークの転送速度、トラックごとの転送速度B[i]、トラックごとの転送速度B[i]の最小値B[M]を記録する。また、メモリ17は、テーブルT1を有し、テーブルT1には、転送処理の対象である磁気ディスクの識別番号、各磁気ディスクの差分データ量Dおよび振分け先であるグループが関連づけられて登録される。
【0048】
また、メモリ17は、転送対象となる磁気ディスクの数Lを記録する。また、メモリ17は、テーブルT2を有し、テーブルT2には、磁気ディスクの振分け先であるグループのグループ番号、各グループの総差分データ量および各グループに振り分けられる磁気ディスクの識別番号が関連づけられて登録される。
【0049】
また、メモリ17は、転送時間の試算値、転送時間の試算に用いられる転送速度、試算して得られる転送時間のうち最短の転送時間、最適なグループ数を記録する。
【0050】
なお、図4に示す構成は一例であり、メモリ17の構成がこれらに限定されるものではない。また、メモリ17は、ローカルストレージ1に実装される磁気ディスクの個数分の登録することが可能なサイズである。
【0051】
[システム動作]
次に、図5から図8を参照して本発明の実施の形態のデータ転送制御装置10の動作について詳細に説明する。図5は、本発明の実施の形態におけるデータ転送制御装置10による転送処理の制御のための事前準備の流れを説明するフローチャートである。また、図6は、本発明の実施の形態におけるデータ転送制御装置10による転送制御の動作の流れを説明するフローチャートである。以下の説明においては、適宜図1から図4を参酌する。
【0052】
また、本発明の実施の形態では、データ転送制御装置10を動作させることによって、データ転送制御方法が実施される。よって、本発明の実施の形態におけるデータ転送制御方法の説明は、以下のデータ転送制御装置10の動作説明に代える。
【0053】
(事前準備処理)
図5に示すように、まず、処理部20がネットワークの転送速度を実測し、取得部11に出力する。そして、取得部11が、取得したネットワークの転送速度をメモリ17に記録する(ステップJ1)。
【0054】
次に、処理部20が、磁気ディスク群30に含まれる各磁気ディスクについて、トラックごとのデータの転送速度B[i]を実測し、取得部11に出力する。そして、取得部11が、取得したトラックごとの転送速度B[i]を、メモリ17に記録する(ステップJ2)。
【0055】
次に、取得部11が、メモリ17に記録されている転送速度B[i]の中で最小の転送速度B[M]を、メモリ17に記録する(ステップJ3)。
【0056】
(転送処理の制御動作)
以下、処理部20が外部から転送指示を受けた場合における、データ転送制御装置10による転送処理の制御動作を、「転送指示の受付処理」、「グループ数の決定処理」、「グループ分け処理」および「差分データ転送処理」に分けて説明する。
【0057】
(1)転送指示の受付処理
図6に示すように、処理部20が外部から転送指示を受けると、取得部11が、処理部20から、転送処理の制御要求および転送処理の対象であるL個の磁気ディスクの識別番号を取得する(ステップA1)。
【0058】
次に、取得部11が、転送処理の対象である磁気ディスクの識別番号を、テーブルT1(図4参照)に登録する(ステップA2)。
【0059】
次に、取得部11が、テーブルT1に登録されているL個の磁気ディスクのそれぞれについて、トラックごとの差分データ量d[i]を取得する。そして、取得部11が、これらトラックごとの差分データ量d[i]をメモリ17に出力する。
【0060】
次に、正規化部13が、メモリ17を参照し、上記式(1)を用いて、トラックごとの差分データ量d[i]を正規化して、正規化後の差分データ量Dを算出し、この差分データ量DをテーブルT1に登録する(ステップA3)。
【0061】
なお、B[M]は転送速度の最小値であって、メモリ17に記録されている。また、トラックごとの転送速度B[i]もまたメモリ17に記録されている。
【0062】
(2)グループ数の決定処理
次に、グループ数決定部14が、転送処理の対象であるL個の磁気ディスクを、1または2以上のグループに分けるための最適なグループの数を決定する。
【0063】
具体的には、まず、グループ数決定部14が、テーブルT1に登録されている磁気ディスクの差分データ量Dが降順となるようにソートする(ステップA4)。そして、グループ数決定部14が、テーブルT1に登録されている磁気ディスクの数Lをメモリ17に登録する。
【0064】
次に、グループ数決定部14が、任意の自然数であるN個(1≦N≦L)のグループを作成し、各グループに対してテーブルT1に登録された磁気ディスクを振り分けて、転送時間を試算する。そして、グループ数決定部14が、転送時間が最短となる場合におけるグループ数Nを最適グループ数として決定する(ステップA5)。
【0065】
ここで、図7は、本発明の実施の形態におけるデータ転送制御装置10による最適グループ数の決定処理の流れを説明するフローチャートである。具体的には、図7に示すように、グループ数決定部14が、以下の処理(ステップB1〜B5)を行うことにより、磁気ディスクをN個のグループ数に分けた場合の転送時間を試算する。
【0066】
まず、グループ数決定部14が、テーブルT2にグループ1からグループNまでのN個のグループを登録する。また、グループ数決定部14は、テーブルT2に登録した各グループの総差分データ量を、0で初期化する(ステップB1)。
【0067】
次に、グループ数決定部14が、各グループに磁気ディスクを振り分けて、グループごとに差分データ量Dの合計値(総差分データ量)を得て、この総差分データ量をテーブルT2に登録する(ステップB2)。
【0068】
詳細には、グループ数決定部14が、降順にソートされたテーブルT1の1行目から最終行目に至るまで、すなわち差分データ量Dが多い磁気ディスクから順に、以下の(i)および(ii)の手順を繰り返す。
(i)まず、グループ数決定部14が、テーブルT2に登録されているN個のグループを、総差分データ量の昇順にソートする。なお、テーブルT1の1行目の磁気ディスクを振り分ける場合には、全てのグループの総差分データ量は0である。
(ii)そして、グループ数決定部14は、テーブルT2の1行目の総差分データ量に、テーブルT1に登録されている磁気ディスクの差分データ量Dを加算する。
【0069】
すなわち、グループ数決定部14は、差分データ量Dが多い磁気ディスクから順に、総差分データ量が少ないグループに振り分けていく。そして、このような振り分けが、テーブルT1に登録されたL個の磁気ディスクのすべてについて行われる。
【0070】
次に、グループ数決定部14が、転送時間を試算するために、まず、テーブルT2に登録されているグループを、総差分データ量の降順にソートする(ステップB3)。また、グループ数決定部14は、メモリ17に記録されている転送時間の試算値を、0で初期化する。
【0071】
そして、グループ数決定部14が、磁気ディスクをN個のグループに振り分けた場合の転送時間を試算して、メモリ17に記録する(ステップB4)。
【0072】
詳細には、グループ数決定部14が、テーブルT2に登録されているグループの数が0になるまで、以下の(iii)〜(vi)の手順を繰り返す。なお、グループ数決定部14による転送時間の試算は、各グループが並行して転送処理され、グループ内では磁気ディスク毎にパラレルに転送処理が実施される前提で行う。
【0073】
(iii)まず、グループ数決定部14は、メモリ17に記録されているネットワークの転送速度をグループの数である「N」で割った値と、メモリ17に記録されている最小の転送速度B[i]と、を比較する。そして、グループ数決定部14は、小さい方の値を、転送時間の試算に用いる転送速度としてメモリ17に記録する。
(iv)次に、グループ数決定部14は、テーブルT2の最終行目に登録されているグループの総差分データ量、すなわち最も少ない総差分データ量を、転送時間の試算に用いる転送速度で割り、得た値(転送時間)を、メモリ17のうち転送時間の試算値に加算する。
(v)次に、グループ数決定部14は、テーブルT2に登録されているすべてのグループの総差分データ量から、テーブルT2の最終行目に登録されているグループの総差分データ量を減算する。なお、この減算により、少なくとも最終行目に登録されているグループの総差分データ量は0になる。
(vi)次に、グループ数決定部14は、総差分データ量が0になったグループを、テーブルT2から削除する。
【0074】
このように、グループ数決定部14が、テーブルT2に登録されているグループの数が0になるまで、上記の(iii)から(vi)の手順を繰り返す。これにより、転送時間の試算値が加算されていき、最終的に転送時間の試算値としてメモリ17に記録されている時間が、L個の磁気ディスクをN個のグループに振り分けた場合の転送時間に相当する。
【0075】
次に、グループ数決定部14が、メモリ17を参照し、磁気ディスクをN個のグループに振り分けた場合の転送時間の試算値と、十分大きな数値で初期化されている最短転送時間と、を比較する。そして、転送時間の試算値が、最短転送時間よりも小さい場合には、グループ数決定部14は、転送時間の試算値を新たに最短転送時間として記録する(ステップB5)。
【0076】
そして、グループ数決定部14が、このような転送時間の試算を、N=1からN=Lまで繰り返し、転送時間が最短となる場合におけるグループ数Nを最適グループ数として決定する。そして、グループ数決定部14は、このようにして決定した最適グループ数をメモリ17に記録する。
【0077】
(3)グループ分け処理
次に、振分け部15が、グループ数決定部14により決定された最適グループ数の分だけグループを設け、最も差分データ量Dが多い磁気ディスクを、最も総差分データ量が少ないグループに振り分ける。
【0078】
すなわち、まず、振分け部15が、ステップB1と同様に、テーブルT2に最適グループ数の分だけグループを登録する。また、振分け部15は、テーブルT2に登録した各グループの総差分データ量を、0で初期化する(ステップA6)。
【0079】
次に、ステップB2と同様に、振分け部15が、各グループに磁気ディスクを振り分けて、グループごとに総差分データ量を得て、テーブルT2に登録する(ステップA7)。
【0080】
詳細には、振分け部15が、降順にソートされたテーブルT1の1行目から最終行目に至るまで、すなわち差分データ量Dが多い磁気ディスクから順に、以下の(vii)、(viii)および(iX)の手順を繰り返す。
(vii)まず、振分け部15は、テーブルT2に登録されているグループを、総差分データ量の昇順にソートする。
(viii)そして、振分け部15は、テーブルT2の1行目の総差分データ量に、テーブルT1の磁気ディスクの差分データ量Dを加算する。
(iX)さらに、振分け部15は、テーブルT1の所属グループの項目に、振分け先であるグループのグループ番号を登録する。
【0081】
すなわち、振分け部15は、差分データ量Dが多い磁気ディスクから順に、総差分データ量が少ないグループに振り分けていく。そして、このような振分けが、テーブルT1に登録されたL個の磁気ディスクのすべてについて行われる。
【0082】
(4)差分データ転送処理
次に、転送指示部16が、テーブルT1に登録されている磁気ディスクの数が0になるまで、以下の処理(ステップC1〜C3)を行い、差分データの転送処理の制御指示を処理部20に出力する(ステップA8)。
【0083】
ここで、図8は、本発明の実施の形態におけるデータ転送制御装置10による差分データ転送処理の流れを説明するフローチャートである。具体的には、図8に示すように、まず、転送指示部16は、降順にソートされているテーブルT1の最終行目から1行目に至るまで順に、すなわち差分データ量Dが少ない磁気ディスクから順に、振分け先であるグループ番号を参照する。そして、転送指示部16は、参照したグループ番号に対応づけて、当該磁気ディスクの識別番号をテーブルT2に登録する(ステップC1)。
【0084】
次に、転送指示部16が、テーブルT2に登録されている識別番号を参照し、登録されている識別番号の順、すなわち差分データ量Dの少ない磁気ディスクの順に、転送処理が実施されるように処理部20に制御指示を出力する(ステップC2)。なお、転送指示部16は、対応する磁気ディスクが既に転送中の磁気ディスクである場合にはスキップする。
【0085】
次に、転送指示部16は、転送処理が行われている最中に、処理部20が新たに転送指示を外部から受けたか否かを確認する(ステップC3)。そして、処理部20が新たに転送指示を受けた場合には、転送指示部16は、転送処理の最中である磁気ディスクの当該転送処理が終了するのを待ち、転送処理終了後に、再び正規化部13による正規化処理が行われるように転送処理を停止させる。これにより、図6に示すステップA2に戻り、上記の処理が繰り返される。
【0086】
また、転送指示部16は、転送処理が終了した磁気ディスクについては、当該磁気ディスクの登録をテーブルT1から削除する(ステップC4)。
【0087】
このように、転送指示部16が、ステップC1からステップC4の処理を、各グループについて並行して行い、テーブルT1に登録されている磁気ディスクの数が0になるまで繰り返す。これにより、各グループにおいて、差分データ量Dが少ない磁気ディスクから順にパラレルに転送処理が実施される。
【0088】
上記のように、データ転送制御装置10による転送処理の制御が行われると、転送時間と転送量との関係は、図9に示すような関係になる。図9は、本発明の実施の形態におけるデータ転送制御装置10による転送制御が行われた場合における、転送時間と転送される差分データ量(転送量)との関係を示す図である。
【0089】
図9に示す具体例では、差分データ量Dが1GB、4GBの2つの磁気ディスクがグループ1に、差分データ量Dが2GB、3GBの2つの磁気ディスクがグループ2に、振り分けられている。なお、たとえばネットワークの転送速度は200(MB/s)であり、各磁気ディスクの転送速度は100(MB/s)であるとする。
【0090】
まず、グループ1では差分データ量が1GBの磁気ディスクの転送処理が実施され、並行して、グループ2では差分データ量が2GBの磁気ディスクの転送処理が実施される。そして、差分データ量が1GBの磁気ディスクの転送終了後に、差分データ量が4GBの磁気ディスクの転送処理が実施される。さらに、差分データ量が2GBの磁気ディスクの転送終了後に、差分データ量が3GBの磁気ディスクの転送処理が実施される。
【0091】
すなわち、本発明の実施の形態に係るデータ転送制御装置10では、従来のように全ての磁気ディスクの転送処理を並行して行う場合(図11参照)と比較して、転送量が安定しており、ネットワーク帯域を十分に利用することのできる時間が長い。このため、結果として転送時間を短くすることができる。
【0092】
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図5から図8に示すステップを実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本発明の実施の形態におけるデータ転送制御装置10を実現することができる。
【0093】
本発明の実施の形態におけるプログラムをコンピュータによって実行した場合、コンピュータのCPU(Central Processing Unit)は、取得部11、制御部12のうちの正規化部14、試算部15、グループ数決定部16、振分け部17および転送指示部18(図3を参照)として機能し、処理を行う。また、本発明の実施の形態におけるデータ転送制御装置10では、制御部12のうちのメモリ17は、コンピュータに備えられたハードディスク等の記憶装置によって実現されている。
【0094】
ここで、本発明の実施の形態におけるデータ転送制御装置10に係るプログラムを実行することによって、データ転送制御装置10を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態におけるデータ転送制御装置10を実現するコンピュータの一例を示すブロック図である。
【0095】
図10に示すように、コンピュータ150は、CPU121と、メインメモリ122と、記憶装置123と、入力インターフェイス124と、表示コントローラ125と、データリーダ/ライタ126と、通信インターフェイス127と、を備える。これらの各部は、バス131を介して、互いにデータ通信可能に接続される。
【0096】
CPU121は、記憶装置123に格納された、本発明の実施の形態におけるプログラム(コード)をメインメモリ122に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ122は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本発明の実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体130に格納された状態で提供される。なお、本発明の実施の形態におけるプログラムは、通信インターフェイス127を介して接続されたインターネット上で流通するものであっても良い。
【0097】
また、記憶装置123の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス124は、CPU121と、キーボード及びマウスといった入力機器128との間のデータ伝送を仲介する。表示コントローラ125は、ディスプレイ装置129と接続され、ディスプレイ装置129での表示を制御する。データリーダ/ライタ126は、CPU121と記録媒体130との間のデータ伝送を仲介し、記録媒体130からのプログラムの読み出し、及びコンピュータ150における処理結果の記録媒体130への書き込みを実行する。通信インターフェイス127は、CPU121と、他のコンピュータとの間のデータ伝送を仲介する。
【0098】
また、記録媒体130の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
【0099】
[効果]
このように、本発明の実施の形態に係るデータ転送制御装置10によれば、取得部11が、転送処理の対象となる複数の磁気ディスクについて、それぞれに含まれるトラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]を取得する。また、制御部12が、取得部11が取得したトラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]に基づいて、転送処理に要する転送時間を試算する。さらに、制御部12が、試算された転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する。
【0100】
このため、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、複数の磁気ディスクをすべて並行して転送処理する場合と異なり、ネットワーク帯域を十分に利用する時間を長くすることができ、転送時間を短くすることができる。
【0101】
さらに、データ転送制御装置10によれば、トラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]に基づいて転送時間を試算するため、正確な転送時間を試算することができ、より適切な制御を行うことができる。
【0102】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12がトラックごとの差分データを所定の転送速度で転送処理する場合における転送時間を得るために、トラックごとの差分データ量d[i]を正規化する。そして、制御部12が、正規化後のデータ量Dおよび所定の転送速度に基づいて、転送時間を試算する。
【0103】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、トラックごとの転送速度の違いにかかわらず、基準となる所定の転送速度を用いて転送時間を試算することができるため、演算処理を軽減させることができる。
【0104】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12は、上記式(1)を満たすように、トラックごとの差分データ量d[i]を正規化する。
【0105】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、複雑な演算式を用いることなく、正規化後の差分データ量Dを取得することができる。
【0106】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、 制御部12は、転送処理の最中に、処理部20が新たな転送指示を受けたか否かを確認する。そして、制御部12は、処理部20が新たな転送指示を受けた場合には、転送時間を再び試算し、再び試算された転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御する。
【0107】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、転送処理の最中に新たに転送指示が出力された場合であっても、転送処理を制御して転送時間を短くすることができる。
【0108】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、グループに複数の磁気ディスクを振り分ける。また、制御部12は、振り分けられたグループに含まれる磁気ディスクの転送順序を、差分データ量Dが少ない磁気ディスクから順に転送処理されるように並び替える。
【0109】
これにより、転送対象である磁気ディスクの数Lは、差分データ量Dが多い磁気ディスクから順に転送処理する場合などと比較して、早期に減少する。
【0110】
ここで、たとえば転送処理の最中に新たに転送指示が出力された場合、再度最適グループ数が決定される。このとき、グループ数決定部14は、N=1からN=Lまで、N個のグループを設けた場合の転送時間を試算して、最適グループ数を決定する。このため、Lは小さい値であるほど計算量は少なくなる。
【0111】
そして、本発明の実施の形態に係るデータ転送制御装置10によれば、上記のように、転送対象である磁気ディスクの数Lは早期に減少するため、再度最適グループ数を決定する際などにおいて計算量を少なくすることができる。
【0112】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記20)によって表現することができるが、以下の記載に限定されるものではない。
【0113】
(付記1)
ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御装置。
【0114】
(付記2)
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記1に記載のデータ転送制御装置。
【0115】
(付記3)
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記2に記載のデータ転送制御装置。
【数2】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0116】
(付記4)
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする付記1から付記3のいずれかに記載のデータ転送制御装置。
【0117】
(付記5)
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記4に記載のデータ転送制御装置。
【0118】
(付記6)
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御システム。
【0119】
(付記7)
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記6に記載のデータ転送制御システム。
【0120】
(付記8)
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記7に記載のデータ転送制御システム。
【数3】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0121】
(付記9)
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする付記6から付記8のいずれかに記載のデータ転送制御システム。
【0122】
(付記10)
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記9に記載のデータ転送制御システム。
【0123】
(付記11)
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とするデータ転送制御方法。
【0124】
(付記12)
前記ステップ(b)において、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記11に記載のデータ転送制御方法。
【0125】
(付記13)
前記ステップ(b)において、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記12に記載のデータ転送制御方法。
【数4】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0126】
(付記14)
前記データ転送制御方法は、さらに、
(d)前記ステップ(c)において制御された磁気ディスクの転送順序に従い、転送処理を行うステップを含み、
前記ステップ(d)において、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度の取得の有無を判断し、取得した場合には、前記ステップ(b)に戻ることを特徴とする付記11から付記13のいずれかに記載のデータ転送制御方法。
【0127】
(付記15)
前記ステップ(c)において、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記14に記載のデータ転送制御方法。
【0128】
(付記16)
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とするプログラム。
【0129】
(付記17)
前記ステップ(b)において、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記16に記載のプログラム。
【0130】
(付記18)
前記ステップ(b)において、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記17に記載のプログラム。
【数5】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0131】
(付記19)
前記プログラムは、
(d)前記ステップ(c)において制御された磁気ディスクの転送順序に従い、転送処理を行うステップを更に前記コンピュータに実行させ、
前記ステップ(d)において、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度の取得の有無を判断し、取得した場合には、前記コンピュータに前記ステップ(b)を実行させることを特徴とする付記16から付記18のいずれかに記載のプログラム。
【0132】
(付記20)
前記ステップ(c)において、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記19に記載のプログラム。
【符号の説明】
【0133】
1 ローカルストレージ
2 リモートストレージ
10 データ転送制御装置
11 取得部
12 制御部
13 正規化部
14 グループ数決定部
15 振分け部
16 転送指示部
17 メモリ
20 処理部
30 磁気ディスク群
40 処理部
50 磁気ディスク群
100 データ転送制御システム
【技術分野】
【0001】
本発明は、データ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムに関し、特に、ストレージ間のリモートデータ転送において、データの転送順序を制御するデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、記録すべきデータ量の増加に伴い、企業または自治体などで用いられる業務用ストレージの記録容量は増大の一途である。これに伴い、大震災等によって業務用ストレージに記録されている多量のデータが失われるなどといった事態を防ぐため、種々の対策が行われている。たとえば、物理的に離れた遠隔地にデータセンターのミラーサイトを設け、ネットワークを介してデータをミラーサイトへ転送するというストレージシステムがある。
【0003】
また、このようなストレージシステムとしては、データの転送時間を短くするため、たとえば、更新された履歴のみを差分データとして他のデータと分けて管理を行い、この差分データのみをミラーサイトへ転送するものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−275494号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、ストレージ間において、個々の差分データ量にばらつきがある複数の磁気ディスクについて、転送処理を行う場合がある。ここで、ストレージ、ネットワークおよびストレージに搭載されている磁気ディスク単体についてデータの転送速度を比較すると、
ストレージのI/O性能(ストレージの転送速度)>ネットワーク帯域(ネットワークの転送速度)>磁気ディスク単体のI/O性能(磁気ディスク単体の転送速度)
という関係である。
【0006】
このため、ストレージ間において複数の磁気ディスクの差分データを転送する場合には、ネットワーク帯域を十分利用して転送処理を行うほど効率がよく、転送時間を短くすることができる。
【0007】
しかしながら、個々の差分データ量にばらつきがある複数の磁気ディスクのすべてについて転送処理を並行して行うと、差分データ量が少ない磁気ディスクから順に転送処理が終了する。そして、差分データ量が最も多い磁気ディスクの転送処理が最後に終了する(図11参照)。
【0008】
このとき、上述した転送速度の関係のように、磁気ディスク単体の転送速度はネットワークの転送速度よりも遅いため、差分データ量が最も多い磁気ディスクのみの転送処理が行われている間は、ネットワーク帯域が十分に利用されていない。このため、結果として転送時間が長くなるという問題がある。
【0009】
この発明は、上述の課題を解決するためになされたもので、その目的は、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、転送時間を短くすることができるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の一側面におけるデータ転送制御装置は、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とする。
【0011】
上記目的を達成するため、本発明の一側面におけるデータ転送制御システムは、
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とする。
【0012】
また、上記目的を達成するため、本発明の一側面におけるデータ転送制御方法は、ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とする。
【0013】
また、上記目的を達成するため、本発明の一側面におけるプログラムは、ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とする。
【発明の効果】
【0014】
本発明におけるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムによれば、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、転送時間を短くすることができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態におけるデータ転送制御装置を含むシステム全体の構成を示すブロック図である。
【図2】磁気ディスクに含まれるトラックごとに、データの転送速度が異なることを示す図である。
【図3】本発明の実施の形態におけるデータ転送制御装置の制御部の構成を示すブロック図である。
【図4】本発明の実施の形態におけるデータ転送制御装置のメモリの構成を示す図である。
【図5】本発明の実施の形態におけるデータ転送制御装置による転送処理の制御のための事前準備の流れを説明するフローチャートである。
【図6】本発明の実施の形態におけるデータ転送制御装置による転送制御の動作の流れを説明するフローチャートである。
【図7】本発明の実施の形態におけるデータ転送制御装置による最適グループ数の決定処理の流れを説明するフローチャートである。
【図8】本発明の実施の形態におけるデータ転送制御装置による差分データ転送処理の流れを説明するフローチャートである。
【図9】本発明の実施の形態におけるデータ転送制御装置による転送制御が行われた場合における、転送時間と転送量との関係を示す図である。
【図10】本発明の実施の形態におけるデータ転送制御装置を実現するコンピュータの一例を示すブロック図である。
【図11】従来の転送処理のおける転送時間と転送量との関係を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態におけるデータ転送制御装置、これを用いたデータ転送制御システム、データ転送制御方法およびプログラムについて、図を参照しながら説明する。
【0017】
[システム構成]
最初に、図1から図9を用いて、本発明の実施の形態におけるデータ転送制御装置10の構成、および、これを用いたデータ転送制御システムの構成について説明する。図1は、本発明の実施の形態におけるデータ転送制御装置10を含むシステム全体の構成を示すブロック図であり、図2は、磁気ディスクに含まれるトラックごとに、データの転送速度が異なることを示す図である。
【0018】
図1に示すように、データ転送制御装置10を含むデータ転送制御システム100は、ローカルストレージ(第1ストレージ)1と、リモートストレージ(第2ストレージ)2と、を備えている。ローカルストレージ1は、データ転送制御装置10と、処理部20と、磁気ディスク群30と、を備えている。リモートストレージ2は、ローカルストレージ1から物理的に離れた遠隔地に設けられ、ローカルストレージ1とネットワークを介して接続されている。また、リモートストレージ2は、処理部40と、磁気ディスク群50と、を備えている。
【0019】
本発明の実施の形態では、差分データがローカルストレージ1からリモートストレージ2へネットワークを介して転送される場合について説明する。
【0020】
磁気ディスク群30は、各々異なる識別番号が付された複数の磁気ディスクを含む。また、これら複数の磁気ディスクは、それぞれ差分データを記録している。
【0021】
なお、図2に示すように、磁気ディスクは、同心円状に複数のトラックを有している。そして、トラックごとにデータの転送速度が異なる。また、外側のトラックから、転送速度をB[1]、B[2]、・・・、B[M]とすると(Mは、磁気ディスクに含まれるトラック数)、これらは、B[1]>B[2]>・・・>B[M]という関係になっている。そして、磁気ディスクに記録された差分データは、複数のトラックに分布しており、それぞれ対応するトラックの転送速度によって転送処理が行われる。
【0022】
処理部20は、磁気ディスク群30に含まれる各磁気ディスクについて、トラックごとのデータの転送速度B[i](1≦i≦M)を実測する。また、処理部20は、ローカルストレージ1およびリモートストレージ2が接続されているネットワークの転送速度を実測する。そして、処理部20は、実測したトラックごとの転送速度B[i]およびネットワークの転送速度をデータ転送制御装置10に出力する。
【0023】
また、処理部20は、外部から差分データの転送指示を受けると、データ転送制御装置10に、転送処理の制御要求を出力する。さらに、処理部20は、転送処理の対象である磁気ディスクの識別番号、および、当該磁気ディスクに記録されている差分データを磁気ディスク群30から読み出し、各磁気ディスクについてトラックごとの差分データ量d[i]をデータ転送制御装置10に出力する。
【0024】
また、処理部20は、制御要求を受けたデータ転送制御装置10が、後述する転送処理の制御を行い、制御指示を処理部20に出力すると、制御指示に従い、リモートストレージ2の処理部40へ差分データの転送を行う。そして、転送先である処理部40は、磁気ディスク群50に転送された差分データを出力し、磁気ディスク群50に含まれる磁気ディスクに、転送された差分データが記録される。
【0025】
データ転送制御装置10は、処理部20から制御要求を受けて、差分データの転送処理の制御を行う。すなわち、データ転送制御装置10は、転送処理の対象である複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御し、制御指示を処理部20に出力する。
【0026】
具体的には、データ転送制御装置10は、取得部11と、制御部12と、を備えている。 取得部11は、処理部20から出力される、各磁気ディスクのトラックごとの転送速度B[i]、ネットワークの転送速度、制御要求、および、トラックごとの差分データ量d[i]を取得する。
【0027】
制御部12は、取得部11が取得したトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて、転送処理に要する転送時間を試算する。また、制御部12は、試算した転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する。
【0028】
すなわち、本発明の実施の形態に係るデータ転送制御装置10によれば、試算された転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序が決定される。
【0029】
このため、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、複数の磁気ディスクをすべて並行して転送処理する場合と異なり、ネットワーク帯域を十分に利用する時間を長くすることができ、転送時間を短くすることができる。
【0030】
さらに、データ転送制御装置10では、磁気ディスクにおける差分データの分布を考慮し、トラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]に基づいて転送時間を試算する。このため、データ転送制御装置10によれば、より正確な転送時間を試算することができ、適切な制御を行うことができる。以下、本発明の実施の形態に係るデータ転送制御装置10の構成を、更に具体的に説明する。
【0031】
[データ転送制御装置の構成]
図3は、本発明の実施の形態におけるデータ転送制御装置10の制御部12の構成を示すブロック図であり、図4は、本発明の実施の形態におけるデータ転送制御装置10のメモリ17の構成を示す図である。
【0032】
図3に示すように、本実施の形態に係るデータ転送制御装置10の制御部12は、正規化部13と、グループ数決定部14と、振分け部15と、転送指示部16と、メモリ17と、を備えている。
【0033】
(正規化部)
正規化部13は、転送処理の対象である磁気ディスクについて、トラックごとの差分データを所定の転送速度で転送処理する場合における転送時間を得るために、トラックごとの差分データ量d[i]に対して正規化処理を行う。
【0034】
具体的には、正規化部13は、下記式(1)を満たすように、トラックごとのデータ量d[i]を正規化して、各磁気ディスクについて正規化後の差分データ量Dを取得する。
【数1】
【0035】
ただし、Dは正規化後の差分データ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0036】
ここで、上述のように、差分データは磁気ディスクの複数のトラックに分布して記録され、それぞれ対応するトラックの転送速度によって転送処理が行われる。しかしながら、転送時間を試算する際、異なる複数の転送速度を用いると演算処理が複雑になる。このため、基準となる所定の転送速度を用いて転送時間を試算することが好ましい。
【0037】
従って、正規化部13は、転送速度の最小値であるB[M]を基準となる所定の転送速度と仮定する。そして、正規化部13は、複数のトラックに分布して記録された差分データをすべて転送速度B[M]で転送処理すると仮定して、トラックごとの差分データ量d[i]を正規化する。
【0038】
また、正規化部13は、このようにして得られた正規化後の差分データ量Dを、各磁気ディスクの差分データ量として、メモリ17に登録する。
【0039】
(グループ数決定部)
グループ数決定部14は、転送処理の対象である複数の磁気ディスクを、1または2以上のグループに分けるための最適なグループの数を決定する。なお、このグループ数が、並行して転送処理が行われる磁気ディスクの数である。また、転送処理の対象である磁気ディスクの数は、L個であるとする。
【0040】
具体的には、グループ数決定部14は、まず、任意の自然数であるN個(1≦N≦L)のグループを作成し、各グループに磁気ディスクを振り分ける。そして、グループ数決定部14は、正規化部13により正規化された後の差分データ量Dおよび所定の転送速度に基づいて、グループ数をN個とした場合における、転送時間を試算する。
【0041】
グループ数決定部14は、このような転送時間の試算を、N=1からN=Lまで繰り返し、転送時間が最短となる場合におけるグループ数Nを、最適グループ数として決定する。
【0042】
(振分け部)
振分け部15は、グループ数決定部14が決定した最適グループ数の分だけグループを設ける。そして、振分け部15は、最も差分データ量Dが多い磁気ディスクを最も総差分データ量が少ないグループに対して振り分ける。このような振分けが、L個の磁気ディスクのすべてについて行われることにより、すべてのグループについて、総差分データ量に大きな偏りがなく、複数の磁気ディスクが振り分けられる。
【0043】
(転送指示部)
転送指示部16は、各グループについて、差分データ量Dの少ない磁気ディスクから順に転送処理されるように、磁気ディスクの転送順序を並び替え、この順序で転送処理が実施されるように、処理部20に制御指示を出力する。
【0044】
さらに、転送指示部16は、処理部20による転送処理が行われている最中に、取得部11が、新たに転送処理の対象となる磁気ディスクに含まれるトラックごとのデータ量d[i]およびトラックごとのデータの転送速度B[i]を取得したか否かを確認する。すなわち、転送指示部16は、取得処理部20が新たに転送指示を外部から受けたか否かを確認する。
【0045】
ここで、上述のように、処理部20が新たに外部から転送指示を受けると、処理部20は、転送処理の対象である磁気ディスクの識別番号、および、当該磁気ディスクのトラックごとの差分データ量d[i]を取得部11に出力する。そして、取得部11が、取得した情報をメモリ17に記録する。このため、転送指示部16は、定期的にメモリ17を確認することにより、処理部20が新たに転送指示を受けたか否かを確認することができる。
【0046】
そして、処理部20が新たな転送指示を受けた場合には、転送指示部16は、転送処理の最中である磁気ディスクの当該転送処理が終了するのを待ち、転送処理終了後に、再び正規化部13による正規化処理が行われるように転送処理を停止させる。
【0047】
(メモリ)
メモリ17は、図4に示すように、ネットワークの転送速度、トラックごとの転送速度B[i]、トラックごとの転送速度B[i]の最小値B[M]を記録する。また、メモリ17は、テーブルT1を有し、テーブルT1には、転送処理の対象である磁気ディスクの識別番号、各磁気ディスクの差分データ量Dおよび振分け先であるグループが関連づけられて登録される。
【0048】
また、メモリ17は、転送対象となる磁気ディスクの数Lを記録する。また、メモリ17は、テーブルT2を有し、テーブルT2には、磁気ディスクの振分け先であるグループのグループ番号、各グループの総差分データ量および各グループに振り分けられる磁気ディスクの識別番号が関連づけられて登録される。
【0049】
また、メモリ17は、転送時間の試算値、転送時間の試算に用いられる転送速度、試算して得られる転送時間のうち最短の転送時間、最適なグループ数を記録する。
【0050】
なお、図4に示す構成は一例であり、メモリ17の構成がこれらに限定されるものではない。また、メモリ17は、ローカルストレージ1に実装される磁気ディスクの個数分の登録することが可能なサイズである。
【0051】
[システム動作]
次に、図5から図8を参照して本発明の実施の形態のデータ転送制御装置10の動作について詳細に説明する。図5は、本発明の実施の形態におけるデータ転送制御装置10による転送処理の制御のための事前準備の流れを説明するフローチャートである。また、図6は、本発明の実施の形態におけるデータ転送制御装置10による転送制御の動作の流れを説明するフローチャートである。以下の説明においては、適宜図1から図4を参酌する。
【0052】
また、本発明の実施の形態では、データ転送制御装置10を動作させることによって、データ転送制御方法が実施される。よって、本発明の実施の形態におけるデータ転送制御方法の説明は、以下のデータ転送制御装置10の動作説明に代える。
【0053】
(事前準備処理)
図5に示すように、まず、処理部20がネットワークの転送速度を実測し、取得部11に出力する。そして、取得部11が、取得したネットワークの転送速度をメモリ17に記録する(ステップJ1)。
【0054】
次に、処理部20が、磁気ディスク群30に含まれる各磁気ディスクについて、トラックごとのデータの転送速度B[i]を実測し、取得部11に出力する。そして、取得部11が、取得したトラックごとの転送速度B[i]を、メモリ17に記録する(ステップJ2)。
【0055】
次に、取得部11が、メモリ17に記録されている転送速度B[i]の中で最小の転送速度B[M]を、メモリ17に記録する(ステップJ3)。
【0056】
(転送処理の制御動作)
以下、処理部20が外部から転送指示を受けた場合における、データ転送制御装置10による転送処理の制御動作を、「転送指示の受付処理」、「グループ数の決定処理」、「グループ分け処理」および「差分データ転送処理」に分けて説明する。
【0057】
(1)転送指示の受付処理
図6に示すように、処理部20が外部から転送指示を受けると、取得部11が、処理部20から、転送処理の制御要求および転送処理の対象であるL個の磁気ディスクの識別番号を取得する(ステップA1)。
【0058】
次に、取得部11が、転送処理の対象である磁気ディスクの識別番号を、テーブルT1(図4参照)に登録する(ステップA2)。
【0059】
次に、取得部11が、テーブルT1に登録されているL個の磁気ディスクのそれぞれについて、トラックごとの差分データ量d[i]を取得する。そして、取得部11が、これらトラックごとの差分データ量d[i]をメモリ17に出力する。
【0060】
次に、正規化部13が、メモリ17を参照し、上記式(1)を用いて、トラックごとの差分データ量d[i]を正規化して、正規化後の差分データ量Dを算出し、この差分データ量DをテーブルT1に登録する(ステップA3)。
【0061】
なお、B[M]は転送速度の最小値であって、メモリ17に記録されている。また、トラックごとの転送速度B[i]もまたメモリ17に記録されている。
【0062】
(2)グループ数の決定処理
次に、グループ数決定部14が、転送処理の対象であるL個の磁気ディスクを、1または2以上のグループに分けるための最適なグループの数を決定する。
【0063】
具体的には、まず、グループ数決定部14が、テーブルT1に登録されている磁気ディスクの差分データ量Dが降順となるようにソートする(ステップA4)。そして、グループ数決定部14が、テーブルT1に登録されている磁気ディスクの数Lをメモリ17に登録する。
【0064】
次に、グループ数決定部14が、任意の自然数であるN個(1≦N≦L)のグループを作成し、各グループに対してテーブルT1に登録された磁気ディスクを振り分けて、転送時間を試算する。そして、グループ数決定部14が、転送時間が最短となる場合におけるグループ数Nを最適グループ数として決定する(ステップA5)。
【0065】
ここで、図7は、本発明の実施の形態におけるデータ転送制御装置10による最適グループ数の決定処理の流れを説明するフローチャートである。具体的には、図7に示すように、グループ数決定部14が、以下の処理(ステップB1〜B5)を行うことにより、磁気ディスクをN個のグループ数に分けた場合の転送時間を試算する。
【0066】
まず、グループ数決定部14が、テーブルT2にグループ1からグループNまでのN個のグループを登録する。また、グループ数決定部14は、テーブルT2に登録した各グループの総差分データ量を、0で初期化する(ステップB1)。
【0067】
次に、グループ数決定部14が、各グループに磁気ディスクを振り分けて、グループごとに差分データ量Dの合計値(総差分データ量)を得て、この総差分データ量をテーブルT2に登録する(ステップB2)。
【0068】
詳細には、グループ数決定部14が、降順にソートされたテーブルT1の1行目から最終行目に至るまで、すなわち差分データ量Dが多い磁気ディスクから順に、以下の(i)および(ii)の手順を繰り返す。
(i)まず、グループ数決定部14が、テーブルT2に登録されているN個のグループを、総差分データ量の昇順にソートする。なお、テーブルT1の1行目の磁気ディスクを振り分ける場合には、全てのグループの総差分データ量は0である。
(ii)そして、グループ数決定部14は、テーブルT2の1行目の総差分データ量に、テーブルT1に登録されている磁気ディスクの差分データ量Dを加算する。
【0069】
すなわち、グループ数決定部14は、差分データ量Dが多い磁気ディスクから順に、総差分データ量が少ないグループに振り分けていく。そして、このような振り分けが、テーブルT1に登録されたL個の磁気ディスクのすべてについて行われる。
【0070】
次に、グループ数決定部14が、転送時間を試算するために、まず、テーブルT2に登録されているグループを、総差分データ量の降順にソートする(ステップB3)。また、グループ数決定部14は、メモリ17に記録されている転送時間の試算値を、0で初期化する。
【0071】
そして、グループ数決定部14が、磁気ディスクをN個のグループに振り分けた場合の転送時間を試算して、メモリ17に記録する(ステップB4)。
【0072】
詳細には、グループ数決定部14が、テーブルT2に登録されているグループの数が0になるまで、以下の(iii)〜(vi)の手順を繰り返す。なお、グループ数決定部14による転送時間の試算は、各グループが並行して転送処理され、グループ内では磁気ディスク毎にパラレルに転送処理が実施される前提で行う。
【0073】
(iii)まず、グループ数決定部14は、メモリ17に記録されているネットワークの転送速度をグループの数である「N」で割った値と、メモリ17に記録されている最小の転送速度B[i]と、を比較する。そして、グループ数決定部14は、小さい方の値を、転送時間の試算に用いる転送速度としてメモリ17に記録する。
(iv)次に、グループ数決定部14は、テーブルT2の最終行目に登録されているグループの総差分データ量、すなわち最も少ない総差分データ量を、転送時間の試算に用いる転送速度で割り、得た値(転送時間)を、メモリ17のうち転送時間の試算値に加算する。
(v)次に、グループ数決定部14は、テーブルT2に登録されているすべてのグループの総差分データ量から、テーブルT2の最終行目に登録されているグループの総差分データ量を減算する。なお、この減算により、少なくとも最終行目に登録されているグループの総差分データ量は0になる。
(vi)次に、グループ数決定部14は、総差分データ量が0になったグループを、テーブルT2から削除する。
【0074】
このように、グループ数決定部14が、テーブルT2に登録されているグループの数が0になるまで、上記の(iii)から(vi)の手順を繰り返す。これにより、転送時間の試算値が加算されていき、最終的に転送時間の試算値としてメモリ17に記録されている時間が、L個の磁気ディスクをN個のグループに振り分けた場合の転送時間に相当する。
【0075】
次に、グループ数決定部14が、メモリ17を参照し、磁気ディスクをN個のグループに振り分けた場合の転送時間の試算値と、十分大きな数値で初期化されている最短転送時間と、を比較する。そして、転送時間の試算値が、最短転送時間よりも小さい場合には、グループ数決定部14は、転送時間の試算値を新たに最短転送時間として記録する(ステップB5)。
【0076】
そして、グループ数決定部14が、このような転送時間の試算を、N=1からN=Lまで繰り返し、転送時間が最短となる場合におけるグループ数Nを最適グループ数として決定する。そして、グループ数決定部14は、このようにして決定した最適グループ数をメモリ17に記録する。
【0077】
(3)グループ分け処理
次に、振分け部15が、グループ数決定部14により決定された最適グループ数の分だけグループを設け、最も差分データ量Dが多い磁気ディスクを、最も総差分データ量が少ないグループに振り分ける。
【0078】
すなわち、まず、振分け部15が、ステップB1と同様に、テーブルT2に最適グループ数の分だけグループを登録する。また、振分け部15は、テーブルT2に登録した各グループの総差分データ量を、0で初期化する(ステップA6)。
【0079】
次に、ステップB2と同様に、振分け部15が、各グループに磁気ディスクを振り分けて、グループごとに総差分データ量を得て、テーブルT2に登録する(ステップA7)。
【0080】
詳細には、振分け部15が、降順にソートされたテーブルT1の1行目から最終行目に至るまで、すなわち差分データ量Dが多い磁気ディスクから順に、以下の(vii)、(viii)および(iX)の手順を繰り返す。
(vii)まず、振分け部15は、テーブルT2に登録されているグループを、総差分データ量の昇順にソートする。
(viii)そして、振分け部15は、テーブルT2の1行目の総差分データ量に、テーブルT1の磁気ディスクの差分データ量Dを加算する。
(iX)さらに、振分け部15は、テーブルT1の所属グループの項目に、振分け先であるグループのグループ番号を登録する。
【0081】
すなわち、振分け部15は、差分データ量Dが多い磁気ディスクから順に、総差分データ量が少ないグループに振り分けていく。そして、このような振分けが、テーブルT1に登録されたL個の磁気ディスクのすべてについて行われる。
【0082】
(4)差分データ転送処理
次に、転送指示部16が、テーブルT1に登録されている磁気ディスクの数が0になるまで、以下の処理(ステップC1〜C3)を行い、差分データの転送処理の制御指示を処理部20に出力する(ステップA8)。
【0083】
ここで、図8は、本発明の実施の形態におけるデータ転送制御装置10による差分データ転送処理の流れを説明するフローチャートである。具体的には、図8に示すように、まず、転送指示部16は、降順にソートされているテーブルT1の最終行目から1行目に至るまで順に、すなわち差分データ量Dが少ない磁気ディスクから順に、振分け先であるグループ番号を参照する。そして、転送指示部16は、参照したグループ番号に対応づけて、当該磁気ディスクの識別番号をテーブルT2に登録する(ステップC1)。
【0084】
次に、転送指示部16が、テーブルT2に登録されている識別番号を参照し、登録されている識別番号の順、すなわち差分データ量Dの少ない磁気ディスクの順に、転送処理が実施されるように処理部20に制御指示を出力する(ステップC2)。なお、転送指示部16は、対応する磁気ディスクが既に転送中の磁気ディスクである場合にはスキップする。
【0085】
次に、転送指示部16は、転送処理が行われている最中に、処理部20が新たに転送指示を外部から受けたか否かを確認する(ステップC3)。そして、処理部20が新たに転送指示を受けた場合には、転送指示部16は、転送処理の最中である磁気ディスクの当該転送処理が終了するのを待ち、転送処理終了後に、再び正規化部13による正規化処理が行われるように転送処理を停止させる。これにより、図6に示すステップA2に戻り、上記の処理が繰り返される。
【0086】
また、転送指示部16は、転送処理が終了した磁気ディスクについては、当該磁気ディスクの登録をテーブルT1から削除する(ステップC4)。
【0087】
このように、転送指示部16が、ステップC1からステップC4の処理を、各グループについて並行して行い、テーブルT1に登録されている磁気ディスクの数が0になるまで繰り返す。これにより、各グループにおいて、差分データ量Dが少ない磁気ディスクから順にパラレルに転送処理が実施される。
【0088】
上記のように、データ転送制御装置10による転送処理の制御が行われると、転送時間と転送量との関係は、図9に示すような関係になる。図9は、本発明の実施の形態におけるデータ転送制御装置10による転送制御が行われた場合における、転送時間と転送される差分データ量(転送量)との関係を示す図である。
【0089】
図9に示す具体例では、差分データ量Dが1GB、4GBの2つの磁気ディスクがグループ1に、差分データ量Dが2GB、3GBの2つの磁気ディスクがグループ2に、振り分けられている。なお、たとえばネットワークの転送速度は200(MB/s)であり、各磁気ディスクの転送速度は100(MB/s)であるとする。
【0090】
まず、グループ1では差分データ量が1GBの磁気ディスクの転送処理が実施され、並行して、グループ2では差分データ量が2GBの磁気ディスクの転送処理が実施される。そして、差分データ量が1GBの磁気ディスクの転送終了後に、差分データ量が4GBの磁気ディスクの転送処理が実施される。さらに、差分データ量が2GBの磁気ディスクの転送終了後に、差分データ量が3GBの磁気ディスクの転送処理が実施される。
【0091】
すなわち、本発明の実施の形態に係るデータ転送制御装置10では、従来のように全ての磁気ディスクの転送処理を並行して行う場合(図11参照)と比較して、転送量が安定しており、ネットワーク帯域を十分に利用することのできる時間が長い。このため、結果として転送時間を短くすることができる。
【0092】
[プログラム]
本発明の実施の形態におけるプログラムは、コンピュータに、図5から図8に示すステップを実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本発明の実施の形態におけるデータ転送制御装置10を実現することができる。
【0093】
本発明の実施の形態におけるプログラムをコンピュータによって実行した場合、コンピュータのCPU(Central Processing Unit)は、取得部11、制御部12のうちの正規化部14、試算部15、グループ数決定部16、振分け部17および転送指示部18(図3を参照)として機能し、処理を行う。また、本発明の実施の形態におけるデータ転送制御装置10では、制御部12のうちのメモリ17は、コンピュータに備えられたハードディスク等の記憶装置によって実現されている。
【0094】
ここで、本発明の実施の形態におけるデータ転送制御装置10に係るプログラムを実行することによって、データ転送制御装置10を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態におけるデータ転送制御装置10を実現するコンピュータの一例を示すブロック図である。
【0095】
図10に示すように、コンピュータ150は、CPU121と、メインメモリ122と、記憶装置123と、入力インターフェイス124と、表示コントローラ125と、データリーダ/ライタ126と、通信インターフェイス127と、を備える。これらの各部は、バス131を介して、互いにデータ通信可能に接続される。
【0096】
CPU121は、記憶装置123に格納された、本発明の実施の形態におけるプログラム(コード)をメインメモリ122に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ122は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本発明の実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体130に格納された状態で提供される。なお、本発明の実施の形態におけるプログラムは、通信インターフェイス127を介して接続されたインターネット上で流通するものであっても良い。
【0097】
また、記憶装置123の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス124は、CPU121と、キーボード及びマウスといった入力機器128との間のデータ伝送を仲介する。表示コントローラ125は、ディスプレイ装置129と接続され、ディスプレイ装置129での表示を制御する。データリーダ/ライタ126は、CPU121と記録媒体130との間のデータ伝送を仲介し、記録媒体130からのプログラムの読み出し、及びコンピュータ150における処理結果の記録媒体130への書き込みを実行する。通信インターフェイス127は、CPU121と、他のコンピュータとの間のデータ伝送を仲介する。
【0098】
また、記録媒体130の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
【0099】
[効果]
このように、本発明の実施の形態に係るデータ転送制御装置10によれば、取得部11が、転送処理の対象となる複数の磁気ディスクについて、それぞれに含まれるトラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]を取得する。また、制御部12が、取得部11が取得したトラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]に基づいて、転送処理に要する転送時間を試算する。さらに、制御部12が、試算された転送時間に基づいて、複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する。
【0100】
このため、ストレージ間において複数の磁気ディスクに記録されたデータの転送処理を行う場合に、複数の磁気ディスクをすべて並行して転送処理する場合と異なり、ネットワーク帯域を十分に利用する時間を長くすることができ、転送時間を短くすることができる。
【0101】
さらに、データ転送制御装置10によれば、トラックごとの差分データ量d[i]およびトラックごとの転送速度B[i]に基づいて転送時間を試算するため、正確な転送時間を試算することができ、より適切な制御を行うことができる。
【0102】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12がトラックごとの差分データを所定の転送速度で転送処理する場合における転送時間を得るために、トラックごとの差分データ量d[i]を正規化する。そして、制御部12が、正規化後のデータ量Dおよび所定の転送速度に基づいて、転送時間を試算する。
【0103】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、トラックごとの転送速度の違いにかかわらず、基準となる所定の転送速度を用いて転送時間を試算することができるため、演算処理を軽減させることができる。
【0104】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12は、上記式(1)を満たすように、トラックごとの差分データ量d[i]を正規化する。
【0105】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、複雑な演算式を用いることなく、正規化後の差分データ量Dを取得することができる。
【0106】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、 制御部12は、転送処理の最中に、処理部20が新たな転送指示を受けたか否かを確認する。そして、制御部12は、処理部20が新たな転送指示を受けた場合には、転送時間を再び試算し、再び試算された転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御する。
【0107】
このため、本発明の実施の形態に係るデータ転送制御装置10によれば、転送処理の最中に新たに転送指示が出力された場合であっても、転送処理を制御して転送時間を短くすることができる。
【0108】
また、上記のように、本発明の実施の形態に係るデータ転送制御装置10によれば、制御部12は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、グループに複数の磁気ディスクを振り分ける。また、制御部12は、振り分けられたグループに含まれる磁気ディスクの転送順序を、差分データ量Dが少ない磁気ディスクから順に転送処理されるように並び替える。
【0109】
これにより、転送対象である磁気ディスクの数Lは、差分データ量Dが多い磁気ディスクから順に転送処理する場合などと比較して、早期に減少する。
【0110】
ここで、たとえば転送処理の最中に新たに転送指示が出力された場合、再度最適グループ数が決定される。このとき、グループ数決定部14は、N=1からN=Lまで、N個のグループを設けた場合の転送時間を試算して、最適グループ数を決定する。このため、Lは小さい値であるほど計算量は少なくなる。
【0111】
そして、本発明の実施の形態に係るデータ転送制御装置10によれば、上記のように、転送対象である磁気ディスクの数Lは早期に減少するため、再度最適グループ数を決定する際などにおいて計算量を少なくすることができる。
【0112】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記20)によって表現することができるが、以下の記載に限定されるものではない。
【0113】
(付記1)
ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御装置。
【0114】
(付記2)
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記1に記載のデータ転送制御装置。
【0115】
(付記3)
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記2に記載のデータ転送制御装置。
【数2】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0116】
(付記4)
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする付記1から付記3のいずれかに記載のデータ転送制御装置。
【0117】
(付記5)
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記4に記載のデータ転送制御装置。
【0118】
(付記6)
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御システム。
【0119】
(付記7)
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記6に記載のデータ転送制御システム。
【0120】
(付記8)
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記7に記載のデータ転送制御システム。
【数3】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0121】
(付記9)
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする付記6から付記8のいずれかに記載のデータ転送制御システム。
【0122】
(付記10)
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記9に記載のデータ転送制御システム。
【0123】
(付記11)
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とするデータ転送制御方法。
【0124】
(付記12)
前記ステップ(b)において、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記11に記載のデータ転送制御方法。
【0125】
(付記13)
前記ステップ(b)において、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記12に記載のデータ転送制御方法。
【数4】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0126】
(付記14)
前記データ転送制御方法は、さらに、
(d)前記ステップ(c)において制御された磁気ディスクの転送順序に従い、転送処理を行うステップを含み、
前記ステップ(d)において、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度の取得の有無を判断し、取得した場合には、前記ステップ(b)に戻ることを特徴とする付記11から付記13のいずれかに記載のデータ転送制御方法。
【0127】
(付記15)
前記ステップ(c)において、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記14に記載のデータ転送制御方法。
【0128】
(付記16)
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とするプログラム。
【0129】
(付記17)
前記ステップ(b)において、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする付記16に記載のプログラム。
【0130】
(付記18)
前記ステップ(b)において、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする付記17に記載のプログラム。
【数5】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【0131】
(付記19)
前記プログラムは、
(d)前記ステップ(c)において制御された磁気ディスクの転送順序に従い、転送処理を行うステップを更に前記コンピュータに実行させ、
前記ステップ(d)において、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度の取得の有無を判断し、取得した場合には、前記コンピュータに前記ステップ(b)を実行させることを特徴とする付記16から付記18のいずれかに記載のプログラム。
【0132】
(付記20)
前記ステップ(c)において、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする付記19に記載のプログラム。
【符号の説明】
【0133】
1 ローカルストレージ
2 リモートストレージ
10 データ転送制御装置
11 取得部
12 制御部
13 正規化部
14 グループ数決定部
15 振分け部
16 転送指示部
17 メモリ
20 処理部
30 磁気ディスク群
40 処理部
50 磁気ディスク群
100 データ転送制御システム
【特許請求の範囲】
【請求項1】
ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御装置。
【請求項2】
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする請求項1に記載のデータ転送制御装置。
【請求項3】
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする請求項2に記載のデータ転送制御装置。
【数6】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【請求項4】
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする請求項1から請求項3のいずれか1項に記載のデータ転送制御装置。
【請求項5】
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする請求項4に記載のデータ転送制御装置。
【請求項6】
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御システム。
【請求項7】
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とするデータ転送制御方法。
【請求項8】
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とするプログラム。
【請求項1】
ストレージ間において複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置において、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御装置。
【請求項2】
前記制御部は、前記トラックごとのデータを所定の転送速度で転送処理する場合における前記転送時間を得るために、前記トラックごとのデータ量を正規化し、正規化後のデータ量および前記所定の転送速度に基づいて、前記転送時間を試算することを特徴とする請求項1に記載のデータ転送制御装置。
【請求項3】
前記制御部は、下記式(1)を満たすように、前記トラックごとのデータ量を正規化することを特徴とする請求項2に記載のデータ転送制御装置。
【数6】
ただし、Dは正規化後のデータ量、Mは磁気ディスクに含まれるトラックの数、B[i]は外側からi番目のトラックのデータの転送速度、d[i]は外側からi番目のトラックのデータ量を表す。
【請求項4】
前記制御部は、前記データの転送処理の最中に、前記取得部が、新たに転送処理の対象となる磁気ディスクに含まれる前記トラックごとのデータ量および前記トラックごとのデータの転送速度を、取得した場合には、前記転送時間を再び試算し、再び試算された前記転送時間に基づいて、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を再び制御することを特徴とする請求項1から請求項3のいずれか1項に記載のデータ転送制御装置。
【請求項5】
前記制御部は、並行して転送処理を行う磁気ディスクの数だけグループを作成し、前記グループに前記複数の磁気ディスクを振り分け、振り分けられた前記グループに含まれる磁気ディスクの転送順序を、データ量が少ない磁気ディスクから順に転送処理されるように並び替えることを特徴とする請求項4に記載のデータ転送制御装置。
【請求項6】
第1ストレージと、
前記第1ストレージとネットワークを介して接続され、前記第1ストレージからデータが転送される第2ストレージと、を備え、
前記第1ストレージは、複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御装置を備え、
前記データ転送制御装置は、
転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得する取得部と、
前記取得部が取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算し、試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御する制御部と、
を備えることを特徴とするデータ転送制御システム。
【請求項7】
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御を行うデータ転送制御方法であって、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、前記転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を含むことを特徴とするデータ転送制御方法。
【請求項8】
ストレージ間における複数の磁気ディスクに記録されたデータの転送処理の制御に用いられるプログラムであって、
コンピュータに、
(a)前記転送処理の対象となる前記複数の磁気ディスクについて、それぞれに含まれるトラックごとのデータ量および前記トラックごとのデータの転送速度を取得するステップと、
(b)前記ステップ(a)において取得した前記トラックごとのデータ量および前記トラックごとのデータの転送速度に基づいて、転送処理に要する転送時間を試算するステップと、
(c)前記ステップ(b)において試算された前記転送時間に基づいて、前記複数の磁気ディスクのうち、並行して転送処理を行う磁気ディスクの数および磁気ディスクの転送順序を制御するステップと、
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−69064(P2013−69064A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−206256(P2011−206256)
【出願日】平成23年9月21日(2011.9.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願日】平成23年9月21日(2011.9.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]