JP5640572B2 - 情報処理装置、情報処理プログラムおよびコピー処理方法 - Google Patents

情報処理装置、情報処理プログラムおよびコピー処理方法 Download PDF

Info

Publication number
JP5640572B2
JP5640572B2 JP2010195289A JP2010195289A JP5640572B2 JP 5640572 B2 JP5640572 B2 JP 5640572B2 JP 2010195289 A JP2010195289 A JP 2010195289A JP 2010195289 A JP2010195289 A JP 2010195289A JP 5640572 B2 JP5640572 B2 JP 5640572B2
Authority
JP
Japan
Prior art keywords
copy
block
time
size
unit
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.)
Expired - Fee Related
Application number
JP2010195289A
Other languages
English (en)
Other versions
JP2012053645A (ja
Inventor
宏太郎 捧
宏太郎 捧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010195289A priority Critical patent/JP5640572B2/ja
Priority to US13/212,599 priority patent/US8819366B2/en
Publication of JP2012053645A publication Critical patent/JP2012053645A/ja
Application granted granted Critical
Publication of JP5640572B2 publication Critical patent/JP5640572B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明はデータのコピーを行う情報処理装置、情報処理プログラムおよびコピー処理方法に関する。
現在、コンピュータを用いたデータ処理が広く行われるようになり、データを蓄積・利用するためのストレージ技術が一層重要となっている。この点、データアクセスの高速化およびデータ保管に対する高信頼化を実現するストレージ技術として、従来はRAID(Redundant Arrays of Independent Disks)が一般的に利用されてきた。RAIDでは、データを必要に応じて分割・複製して、複数のディスク装置に分散して配置する。これにより、複数のディスク装置間で負荷が分散されることによる高速化、データが冗長化されることによる高信頼化が実現されている。
ところで近年では、RAIDにより構築した複数の記憶領域を更に組み合わせてユーザに提供する仮想化ストレージシステムが構築されている。仮想化ストレージシステムは、ネットワークを介して接続された複数のストレージ装置と、仮想化スイッチ装置と、を備えている。仮想化スイッチ装置は、複数のストレージ装置内の記憶領域を組み合わせて論理的な記憶領域を構築し、提供する。ユーザは、当該記憶領域を用いることで、仮想化スイッチ装置配下のストレージ装置を意識することなく容易にデータ管理を行える。
ここで、仮想化ストレージシステムではデータのコピーが行われる。例えば、バックアップのためのコピーである。この場合、サイズの大きなデータを1度に複製しようとすると、コピー処理に演算資源が長時間占有され、ホストI/O(Input / Output)などの他の処理の実行待ち時間が増大する。そこで、対象データを所定サイズのブロック単位に順次コピーすることが考えられる。他の処理と切り替えながらブロック単位にコピーを実行すれば、見かけ上、コピー処理とそれ以外の処理とを並列して実行できる。
特開2000−259467号公報 特開2007−094994号公報
しかし、データをブロック単位に分割してコピー(以下、個々のブロックのコピー処理をブロックコピーと称する)しても、あるブロックコピーに長時間を要すると他の処理の実行待ち時間は増大する。そこで、1ブロックコピー当たりに許容される最大時間(タイムアウト)が定められるのが一般的である。あるブロックコピーでタイムアウトが発生すると、当該ブロックコピーは中断され、次に予定された他の処理を開始できる。
一方で、タイムアウトにより中断したブロックコピーは未完了となる。このため、同一ブロックにつき再試行が必要となる。その場合、再試行時にも対象のストレージ装置で高負荷状態が継続していると、再度タイムアウトが生じる可能性がある。すると、更に再試行を要し、悪循環となるおそれがある。
本発明はこのような点に鑑みてなされたものであり、データのコピーを効率的に行うことができる情報処理装置、情報処理プログラムおよびコピー処理方法を提供することを目的とする。
上記課題を解決するために、情報処理装置が提供される。この情報処理装置は、処理部と、時間計測部と、制御部と、を有する。処理部は、第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーする。時間計測部は、処理部によるブロックのコピーに要した時間を計測する。制御部は、計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間とブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、ブロックのサイズを算出したサイズに変更する。
また、上記情報処理装置と同様の処理をコンピュータに実行させる情報処理プログラムが提供される。
また、上記情報処理装置と同様の処理を行うコピー処理方法が提供される。
上記情報処理装置、情報処理プログラムおよびコピー処理方法によれば、データのコピーを効率的に行うことができる。
第1の実施の形態に係る情報処理装置を示す図である。 第2の実施の形態に係る仮想化ストレージシステムを示す図である。 第2の実施の形態の仮想化スイッチ装置のハードウェア構成を示す図である。 第2の実施の形態のストレージ装置のハードウェア構成を示す図である。 第2の実施の形態の仮想化スイッチ装置の機能構成を示す図である。 第2の実施の形態の制御値テーブルのデータ構造例を示す図である。 第2の実施の形態のコピー処理の各期間を示す図である。 第2の実施の形態のコピー処理を示すフローチャートである。 第2の実施の形態のブロックサイズ制御処理を示すフローチャートである。 第2の実施の形態の通常時のコピー処理の流れの具体例を示す図である。 第2の実施の形態のコピー処理の流れの第1の具体例を示す図である。 第2の実施の形態のコピー処理の流れの第2の具体例を示す図である。 高負荷時のコピー処理の流れの比較例を示す図である。 第3の実施の形態の仮想化スイッチ装置の機能構成を示す図である。 第3の実施の形態の論理ユニット管理テーブルのデータ構造例を示す図である。 第3の実施の形態のコピー処理管理テーブルのデータ構造例を示す図である。 第3の実施の形態の優先度テーブルのデータ構造例を示す図である。 第3の実施の形態のプレタイムアウト予測展開処理を示すフローチャートである。 第3の実施の形態の複数プレタイムアウト予測展開処理を示すフローチャートである。 第3の実施の形態のコピー処理抽出テーブルの第1の具体例を示す図である。 第3の実施の形態のコピー処理抽出テーブルの第2の具体例を示す図である。 第3の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。 第3の実施の形態のコピー処理抽出テーブルの具体例を示す図である。 第3の実施の形態の優先度更新処理を示すフローチャートである。 第3の実施の形態の優先度更新処理の具体例を示す図である。 第4の実施の形態の仮想化スイッチ装置の機能構成を示す図である。 第4の実施の形態の所要時間履歴テーブルのデータ構造例を示す図である。 第4の実施の形態の比率テーブルのデータ構造例を示す図である。 第4の実施の形態の差分テーブルのデータ構造例を示す図である。 第4の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。 コピー処理の所要時間の遷移の具体例を示す図である。
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る情報処理装置を示す図である。情報処理装置1は、処理部1a、時間計測部1bおよび制御部1cを有する。
処理部1aは、記憶部2に記憶されたデータを所定サイズに分割したブロック4を単位として記憶部3にコピーする。データのコピー処理は、例えば記憶部2に記憶されたデータを記憶部3に移行・バックアップする場合などに実行される。具体的なタイミングとしては、ユーザによるデータのコピー操作を受け付けた場合や記憶部2,3に冗長化された記憶領域の作成(リビルドやコピーバック)などを行う場合である。
ここで、ブロックコピーの具体的な手順は次の通りである。(1)処理部1aは、記憶部2からブロック4を取得する。(2)処理部1aは、取得したブロック4を記憶部3に出力し、記録させる。このように、処理部1aは、コピーすべきデータの未コピー部分からブロック4を取得し、記憶部2から記憶部3へ順次コピーする。
時間計測部1bは、処理部1aによるブロック4のコピーに要した時間を計測する。時間計測部1bが計測する時間は、処理部1aが上記(1)の処理を開始してから、(2)の処理を完了するまでに要した時間である。なお、以下ではブロックコピーに要した時間をコピー時間と称することもある。
制御部1cは、時間計測部1bが計測した時間がタイムアウト時間よりも短い所定の閾値Tuに達している場合、ブロックサイズ4aを現在のサイズよりも小さいブロックサイズ4bに変更する。そして、制御部1cは、ブロックサイズ4bでブロックコピーを行うよう処理部1aに指示する。
また、時間計測部1bが計測した時間が閾値Tlよりも短い場合、制御部1cは、現在のブロックサイズ4cよりも大きいブロックサイズ4dとする。そして、制御部1cは、ブロックサイズ4dでブロックコピーを行うよう処理部1aに指示する。
情報処理装置1によれば、処理部1aにより、記憶部2に記憶されたデータがブロック4の単位で記憶部3にコピーされる。時間計測部1bにより、処理部1aのブロック4のコピーに要した時間が計測される。制御部1cにより、計測した時間がタイムアウト時間よりも短い所定の閾値Tuに達している場合、ブロックサイズ4aが現在のサイズよりも小さいブロックサイズ4bに変更される。
これにより、データのコピーを効率的に行える。具体的には以下の通りである。
処理部1aのブロックコピーに要した時間は、記憶部2,3の負荷に影響されると考えられる。例えば、両ノードの何れか、または一方で高負荷状態となっている場合、処理部1aのコピー時間は長くなる。コピー時間が長過ぎると、他の処理の実行待ち時間に影響を与える他、タイムアウトが発生してブロックコピーを中断する場合も考えられる。この場合、同一内容のブロックにつき中断したブロックコピーの再試行が必要となり、対象データのコピーおよび他の処理が一層遅延するおそれがある。そこで、コピー時間が長い場合にはブロックサイズを小さくする。これにより、ブロックにつき1回のコピー時間が短縮され、他の処理の実行待ち時間に与える影響を軽減できる。また、タイムアウトの発生を未然に抑止できる。
一方、例えば、両ノードで低負荷状態となっている場合、処理部1aのコピー時間は短くなる。しかし、コピー時間が短過ぎるとブロックコピーの頻度が高まる。すると、情報処理装置1において、コピー処理および他の処理を含めた複数の処理プロセスの実行切替に伴うオーバーヘッドが増大してコピー処理が却って遅延するおそれが生ずる。そこで、例えばコピー時間が短い場合には、ブロックサイズを大きくする。これにより、上記オーバーヘッドを軽減して情報処理装置1によるコピー処理の遅延を軽減することもできる。
更に、ブロックサイズの変更要否を決定するために、記憶部2,3の負荷を取得する必要がない。このため、ストレージシステムなどに対して当該機能を容易に導入できる。
以下の実施の形態では、仮想化ストレージシステムに情報処理装置1を適用する場合を例に採り、更に詳細に説明する。
[第2の実施の形態]
図2は、第2の実施の形態に係る仮想化ストレージシステムを示す図である。この仮想化ストレージシステムは、複数のユーザに対して高信頼のRAIDシステムを提供する。各ユーザは、業務サーバ11,12,13で扱うデータを、当該仮想化ストレージシステムが提供するRAIDシステムで管理できる。
この仮想化ストレージシステムは、仮想化スイッチ装置100およびストレージ装置200,300,400を有する。仮想化スイッチ装置100には、ストレージ装置200,300,400および業務サーバ11,12,13が接続されており、ストレージエリアネットワーク(SAN:Storage Area Network)を構成する。仮想化ストレージシステムは、サービス事業者が運用する。当該サービス事業者のRAIDシステムを提供するサービス形態は、例えばIaaS(Infrastructure as a Service)と呼ばれることもある。
仮想化スイッチ装置100は、ストレージ装置200,300,400に接続されたストレージ装置200,300,400を組み合わせて論理的な記憶領域を構築する。当該記憶領域を以下では論理ボリュームと称する。仮想化スイッチ装置100は、業務サーバ11,12,13に論理ボリュームの利用環境を提供する。仮想化スイッチ装置100は、論理ボリュームにおけるデータの作成、コピー、削除、オープン、更新などを制御する。
ストレージ装置200,300,400は、内蔵する複数のHDD(Hard Disk Drive)、あるいはSSD(Solid State Drive)などの記憶デバイスを用いたRAIDシステムである。ストレージ装置200,300,400は、複数のRAIDグループを含む。RAIDグループは、複数の記憶デバイスの集合である。ストレージ装置200,300,400は、業務サーバ11,12,13が扱うデータを、例えば顧客ごとに記憶する。
各RAIDグループには、複数の論理ユニット番号(LUN:Logical Unit Number)が定義される。LUNは、業務サーバ11,12,13のOS(Operating System)から1台の記憶デバイスとして認識される論理的な記憶領域(論理領域)を示す識別情報である。なお、以下では、当該論理的な記憶領域自体を示すものとしてLUNの用語を用いることもある。
業務サーバ11,12,13は、業務アプリケーションを実行する。業務サーバ11,12,13は、業務アプリケーションで処理するデータを仮想化スイッチ装置100が提供する論理領域に格納する。
図3は、第2の実施の形態の仮想化スイッチ装置のハードウェア構成を示す図である。仮想化スイッチ装置100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、NVRAM(Non Volatile RAM)103、入力インタフェース104、通信部105、ポート106,106a,106b,106c,106d,・・・およびポート107,107a,107b,107c,107d,・・・を有する。
CPU101は、仮想化スイッチ装置100全体の動作を制御する。
RAM102は、CPU101に実行させるOSのプログラムやアプリケーションソフトウェア(以下、アプリケーションという)のプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、CPU101による処理に必要な各種データを記憶する。
NVRAM103は、OSのプログラム、アプリケーションのプログラムを記憶する。また、NVRAM103は、CPU101による処理に必要な各種データを記憶する。
入力インタフェース104は、外部装置からの入力を受け付ける。入力インタフェースは、例えば、シリアル通信用ポートである。システム管理者は、入力インタフェース104に作業用のコンピュータを接続し、Telnetなどのプロトコルを用いて仮想化スイッチ装置100に対する各種設定を行える。
通信部105は、データ通信処理を行う。通信部105は、ポート106,106a,106b,106c,106d,・・・およびポート107,107a,107b,107c,107d,・・・と接続される。
ポート106,106a,106b,106c,106d,・・・は、ストレージ装置200,300,400と接続する通信用ポートである。ポート106,106a,106b,106c,106d,・・・は、例えばファイバチャネル(Fibre Channel)用のインタフェースである。この場合、仮想化スイッチ装置100とストレージ装置200,300,400とは、ポート106,106a,106b,106c,106d,・・・を介してファイバケーブルや同軸ケーブルなどにより接続できる。
図3の例では、ストレージ装置200はポート106,106a,106b,106cと接続されている。ストレージ装置300,400もストレージ装置200と同様、ポート106d,・・・のうちの複数のポートと接続されている。このように通信路を冗長化すれば、通信の信頼性の向上を図れる。
ポート107,107a,107b,107c,107d,・・・は、業務サーバ11,12,13と接続する通信用ポートである。ポート107,107a,107b,107c,107d,・・・は、例えばファイバチャネル用のインタフェースである。
図3の例では、業務サーバ11はポート104に接続されている。業務サーバ12はポート104aに接続されている。業務サーバ13はポート104bに接続されている。ただし、業務サーバ11,12,13とポート107,107a,107b,107c,107d,・・・との間の接続も、業務サーバ200,300,400とポート106,106a,106b,106c,106d,・・・との間の接続と同様に通信経路を冗長化してもよい。
図4は、第2の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置200は、記憶部210、コントローラ221,222,223,・・・および通信部231,232,233,・・・を有する。
記憶部210は、複数の記憶デバイスから構成されている。記憶部210は、RAIDグループ211,212,213,・・・を有する。RAIDグループ211,212,213,・・・は、複数の記憶デバイスの一部を組み合わせて構築された記憶域である。RAIDグループ211,212,213,・・・のRAIDレベルは、それぞれ同一でもよいし異なっていてもよい。例えば、全てのRAIDグループをRAID5としてもよい。あるいは、RAIDグループ211をRAID1とし、RAIDグループ212をRAID5とするなど、RAIDグループごとにRAIDレベルが異なってもよい。
RAIDグループ211は、論理ユニット211a,211b,・・・を含む。論理ユニット211a,211b,・・・は、RAIDグループ211の記憶領域を分割して定義した記憶領域である。なお、RAIDグループ212,213,・・・についても、RAIDグループ211と同様に1または複数の論理ユニットが定義されている。
コントローラ221,222,223,・・・は、記憶部210に含まれる記憶デバイスを組み合わせてRAIDグループ211,212,213,・・・を構築する。更に、コントローラ221,222,223,・・・は、RAIDグループ211,212,213,・・・に含まれる各論理ユニットに対するデータアクセスを制御する。
通信部231,232,233,・・・は、仮想化スイッチ装置100とファイバケーブルなどで接続され、データ通信する。このように通信部231,232,233,・・・を冗長化させることで、仮想化スイッチ装置100とストレージ装置200との間の通信路の信頼性向上や通信速度の高速化を図れる。
なお、ストレージ装置300,400もストレージ装置200と同様のハードウェア構成により実現できる。
図5は、第2の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置100は、制御情報記憶部110、コピー処理部120、処理時間計測部130およびブロックサイズ制御部140を有する。これらの機能は、CPU101が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
制御情報記憶部110は、ブロックサイズの制御に必要な制御情報を記憶する。
コピー処理部120は、ストレージ装置間、あるいは単一のストレージ装置内でデータのコピーを行う。例えば、ストレージ装置200に設けられた論理ユニットとストレージ装置300に設けられた論理ユニットとの間でデータのコピーを行う(図5ではこの場合を図示している)。また、例えばストレージ装置200に設けられた論理ユニット間でデータのコピーを行う。以下、ストレージ装置200からストレージ装置300に対してデータのコピーを行う場合を想定して説明する。ただし、他のストレージ装置間あるいは同一のストレージ装置内でコピーを行う場合も同様である。
ここで、コピー処理部120によるコピー処理の具体的な手順は次の通りである。(1)コピー処理部120は、ストレージ装置200からコピー対象のデータを所定サイズのブロック単位に取得する。(2)コピー処理部120は、取得したブロックをストレージ装置300に出力し、記録させる。このように、コピー処理部120は、コピーすべきデータの未コピー部分をブロック単位に取得し、ストレージ装置200からストレージ装置300へ順次コピーする。
処理時間計測部130は、コピー処理部120によるコピー時間を計測する。処理時間計測部130が計測する時間は、コピー処理部120が上記(1)の処理を開始してから、(2)の処理を完了するまでに要した時間である。処理時間計測部130は、計測した時間をブロックサイズ制御部140に出力する。
ブロックサイズ制御部140は、処理時間計測部130が計測した時間に基づいて、ブロックのブロックサイズを変更する。ブロックサイズ制御部140は、変更後のブロックサイズでコピーを行うようコピー処理部120に指示する。
図6は、第2の実施の形態の制御値テーブルのデータ構造例を示す図である。制御値テーブル111は、制御情報記憶部110に予め格納される。制御値テーブル111には、タイムアウト値、コピー時間上限、コピー時間下限、最大ブロックサイズを示す項目が設けられている。
タイムアウト値の項目には、1ブロック当たりのコピー時間のタイムアウト値T(秒)が設定される。コピー時間上限の項目には、コピー時間として許容される上限値Tu(秒)が設定される。コピー時間下限の項目には、コピー時間として許容される下限値Tl(秒)が設定される。最大ブロックサイズの項目には、コピーするブロックサイズの最大値X(MB:Mega Bytes)が設定される。
制御値テーブル111には、例えばタイムアウト値Tが“10”(秒)、コピー時間上限値Tuが“7”(秒)、コピー時間下限値Tlが“3”(秒)、最大ブロックサイズXが“16”(MB)という情報が設定される。
タイムアウト値Tの“10”(秒)は、コピー処理部120が現在のブロックのコピー処理について、開始から“10”(秒)が経過した場合には、当該コピー処理を中断することを示している。コピー時間上限値Tuの“7”(秒)およびコピー時間下限値Tlの“3”(秒)は、コピー時間の範囲として許容されている時間がコピー処理の開始から“3”〜“7”(秒)であることを示している。コピー処理の開始からタイムアウト値Tまでの期間のうち、当該Tl〜Tuまでの期間はブロックサイズの変更対象とはならない期間である。最大ブロックサイズXの“16”(MB)は、1ブロックの最大サイズを示しており、当該最大サイズよりもブロックサイズを大きくすることは禁止される。過負荷となっていない通常の運用時には、コピー処理の速度向上を図るため最大ブロックサイズXでブロックコピーを行う。
図7は、第2の実施の形態のコピー処理の各期間を示す図である。時間T0は、コピー処理の開始時間を示す。開始時間T0〜コピー時間下限値Tlおよびコピー時間上限値Tu〜タイムアウト値Tの期間はブロックサイズ変更対象期間である。コピー処理部120は、処理時間計測部130が計測した時間がブロックサイズ変更対象期間に含まれる場合、ブロックサイズを変更する。具体的には、コピー処理部120は処理時間計測部130が計測した時間がTu〜Tの期間内にある場合、ブロックサイズを小さくする。また、コピー処理部120は処理時間計測部130が計測した時間がT0〜Tlの期間内にある場合、ブロックサイズを大きくする。
ここで、以下の説明では、処理時間計測部130が計測した時間がTu〜Tの期間にあることをプレタイムアウトと称する。
次に、以上のような構成を備える仮想化スイッチ装置100の処理手順を説明する。
図8は、第2の実施の形態のコピー処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS11]コピー処理部120は、対象データにつきブロック単位でのコピー(ブロックコピー)を開始する。
[ステップS12]処理時間計測部130は、コピー処理部120がブロックコピーを開始すると、その処理時間の計測を開始する。
[ステップS13]コピー処理部120は、1つのブロックのコピーを完了する。
[ステップS14]処理時間計測部130は、コピー処理部120がブロックのコピーを完了すると、開始から完了までの時間をブロックサイズ制御部140に出力する。
[ステップS15]ブロックサイズ制御部140は、処理時間計測部130が計測した時間に基づいて、ブロックサイズを変更する。ブロックサイズ制御部140は、ブロックサイズを変更する場合、変更後のブロックサイズをコピー処理部120に指示する。
[ステップS16]コピー処理部120は、ブロックサイズ制御部140からブロックサイズの変更を指示されたか否かを判定する。変更を指示された場合、処理をステップS17に進める。変更を指示されていない場合、処理をステップS18に進める。
[ステップS17]コピー処理部120は、指示されたブロックサイズに変更する。
[ステップS18]コピー処理部120は、次に送信すべきブロックが存在するか否かを判定する。次に送信すべきブロックが存在する場合、処理をステップS11に進める。次に送信すべきブロックが存在しない場合、処理を完了する。コピー処理部120は、コピー処理の対象データのうち未送信部分が存在する場合には、次に送信すべきブロックが存在すると判定する。一方、当該対象データにつき未送信部分が存在しない場合には、次に送信すべきブロックが存在しないと判定する。
このようにして、仮想化スイッチ装置100は、ブロックサイズ制御部140により指示されたブロックサイズで順次ブロック単位でのコピーを行う。
次に、上記ステップS15のブロックサイズ制御処理の手順を詳細に説明する。
図9は、第2の実施の形態のブロックサイズ制御処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS21]ブロックサイズ制御部140は、処理時間計測部130が計測したコピー時間tを取得する。
[ステップS22]ブロックサイズ制御部140は、t>Tuであるか否かを判定する。ここで、Tuは、制御情報記憶部110に記憶された制御値テーブル111に定義されるコピー時間上限値である。t>Tuの場合、処理をステップS23に進める。t≦Tuの場合、処理をステップS25に進める。
[ステップS23]ブロックサイズ制御部140は、現ブロックサイズNを取得する。ブロックサイズ制御部140は、例えば前回ブロックサイズを決定した際に、そのブロックサイズをRAM103に保持する。すると、RAM103を参照してNを取得できる。また、ブロックサイズ制御部140は、コピー処理部120からNを取得してもよい。
[ステップS24]ブロックサイズ制御部140は、次ブロックサイズN1を算出する。具体的には、コピーブロック係数K1をK1=Tu/tとする。K1により、N1をN1=K1×Nとして算出する。そして、処理をステップS29に進める。
[ステップS25]ブロックサイズ制御部140は、t<Tlであるか否かを判定する。ここで、Tlは、制御値テーブル111に定義されるコピー時間下限値である。t<Tlの場合、処理をステップS26に進める。t≧Tlの場合、処理を完了する。
[ステップS26]ブロックサイズ制御部140は、現ブロックサイズNを取得する。具体的な方法は、ステップS23に示した通りである。
[ステップS27]ブロックサイズ制御部140は、次ブロックサイズN1を算出する。具体的には、コピーブロック係数K2をK2=Tl/tとする。そして、N1をN1=K2×Nとして算出する。
[ステップS28]ブロックサイズ制御部140は、N1≦Xであるか否かを判定する。ここで、Xは、制御値テーブル111に定義される最大ブロックサイズである。N1≦Xである場合、処理をステップS29に進める。N1>Xである場合、処理を完了する。
[ステップS29]ブロックサイズ制御部140は、ブロックサイズをN1に変更するようコピー処理部120に通知する。そして、処理を完了する。
このようにして、ブロックサイズ制御部140は、ブロックサイズをNからN1へ変更する。具体的には、計測時間tがコピー時間上限値Tuよりも大きい場合には、現ブロックサイズNにK1(K1<1)を乗じてN1<Nとなるようブロックサイズを決定する。
一方、計測時間tがコピー時間下限値Tlよりも小さい場合には、現ブロックサイズNにK2(K2>1)を乗じてN2>Nとなるようブロックサイズを決定する。ただし、ブロックサイズの上限を最大ブロックサイズXとする。最大ブロックサイズXよりも大きくすると、プレタイムアウトまたはタイムアウトの発生する可能性が高まるからである。なお、このようにしてブロックサイズが大きくなるよう制御する理由は、ブロックサイズが小さいと、一度にコピーできるデータ量が低下して、コピー性能が劣化するためである。すなわち、コピー処理の完了までの所要時間が長くなり過ぎないようにするためである。
コピー処理部120は、ブロックサイズ制御部140に通知されたブロックサイズで次のブロックのコピー処理を行う。
次に、仮想化スイッチ装置100のコピー処理の具体例を、比較例と比較しつつ説明する。
図10は、第2の実施の形態の通常時のコピー処理の流れの具体例を示す図である。図10では、仮想化スイッチ装置100が制御するコピー処理P1、他の処理P2,P3の通常時の実行順序が示されている。ここで、通常時とは標準的な負荷状態の時を示す。
コピー処理P1は、ストレージ装置200からストレージ装置300へデータのコピーを行う処理である。具体的には、仮想化スイッチ装置100がストレージ装置200からブロックを取得し、ストレージ装置300への書き込みが完了するまでを示す。
処理P2,P3は、例えばホストI/Oである。処理P2,P3は、他のデータのコピー処理でもよい。
各処理P1,P2,P3は、所定の順序で間欠的に実行されるよう仮想化スイッチ装置100でスケジューリングされている。以下、各処理の実行手順を説明する。これらの処理は、仮想化スイッチ装置100が備えるCPU101により行われる。
仮想化スイッチ装置100は、コピー処理P1を実行する。ブロック単位のコピー処理である。通常負荷時のブロックサイズは最大ブロックサイズXである。仮想化スイッチ装置100は当該ブロックのコピー処理をTu以下の時間で完了する(ステップST1)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST2)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST3)。
仮想化スイッチ装置100は、コピー処理P1を実行する。次の単位ブロックのコピー処理である。
仮想化スイッチ装置100は当該ブロックのコピー処理をTu以下の時間で完了する(ステップST4)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST5)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST6)。
このように、通常負荷時には、ブロックのコピー処理がTu以下で完了するため、最大ブロックサイズXで各ブロックのコピーが順次行われる。
図11は、第2の実施の形態のコピー処理の流れの第1の具体例を示す図である。コピー処理P1、他の処理P2,P3については図10と同様である。
仮想化スイッチ装置100は、コピー処理P1を実行する。ブロック単位のコピー処理である。現ブロックサイズはNで表される。仮想化スイッチ装置100は当該ブロックのコピー処理をTuよりも長い時間で完了する。すると、仮想化スイッチ装置100は、次回のブロックサイズをNよりも小さいサイズに変更する。具体的には、当該ステップに要した時間tを用いてK1=Tu/t(K1<1)を算出する。そして、N1=K1×Nを求め、NにN1を代入する(ステップST11)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST12)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST13)。
仮想化スイッチ装置100は、コピー処理P1を実行する。現ブロックサイズはNであり、ステップST11よりも小さいブロックサイズである。仮想化スイッチ装置100は当該ブロックのコピー処理をTuよりも長い時間で完了する。すると、仮想化スイッチ装置100は、次回のブロックサイズをNよりも小さいサイズに変更する。具体的な計算方法は、ステップST11と同様である。これにより、Nがより小さい値に更新される(ステップST14)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST15)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST16)。
仮想化スイッチ装置100は、コピー処理P1を実行する。現ブロックサイズはNであり、ステップST14よりも小さいブロックサイズである。仮想化スイッチ装置100は当該ブロックのコピー処理をTuよりも短く、かつ、Tlよりも長い時間で完了する(ステップST17)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST18)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST19)。
このように、仮想化スイッチ装置100はブロックコピーに要する時間がTu以下となるようブロックサイズを変更する。
図12は、第2の実施の形態のコピー処理の流れの第2の具体例を示す図である。コピー処理P1、他の処理P2,P3については図10と同様である。
仮想化スイッチ装置100は、コピー処理P1を実行する。ブロック単位のコピー処理である。現ブロックサイズはNで表される。仮想化スイッチ装置100は当該ブロックのコピー処理をTlよりも短い時間で完了する。すると、仮想化スイッチ装置100は、次回のブロックサイズをNよりも大きいサイズに変更する。具体的には、当該ステップに要した時間tを用いてK2=Tl/t(K2>1)を算出する。そして、N2=K2×Nを求め、NにN2を代入する(ステップST21)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST22)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST23)。
仮想化スイッチ装置100は、コピー処理P1を実行する。現ブロックサイズはNであり、ステップST21よりも大きいブロックサイズである。仮想化スイッチ装置100は当該ブロックのコピー処理をTlよりも短い時間で完了する。すると、仮想化スイッチ装置100は、次回のブロックサイズをNよりも大きいサイズに変更する。具体的な計算方法は、ステップST21と同様である。これにより、Nがより大きい値に更新される(ステップST24)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST25)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST26)。
仮想化スイッチ装置100は、コピー処理P1を実行する。現ブロックサイズはNであり、ステップST24よりも大きいブロックサイズである。仮想化スイッチ装置100は当該ブロックのコピー処理をTlよりも長く、かつ、Tuよりも短い時間で完了する(ステップST27)。
仮想化スイッチ装置100は処理P2を実行し、完了する(ステップST28)。
仮想化スイッチ装置100は処理P3を実行し、完了する(ステップST29)。
このように、仮想化スイッチ装置100はブロックコピーに要する時間がTl以上となるようブロックサイズを変更する。
次に、上記第2の実施の形態のコピー処理に対する比較例を説明する。
図13は、高負荷時のコピー処理の流れの比較例を示す図である。図13に示す各図は、本実施の形態のコピー処理方法を採らない場合を例示している。コピー処理P1、他の処理P2,P3については図10と同様である。なお、図13に示す処理主体を仮想化スイッチ装置100と区別するため、単に“仮想化スイッチ装置”と表記する。
図13(A)は、ブロックのコピー処理にタイムアウトを設けない場合である。図13(B)は、ブロックのコピー処理にタイムアウトを設ける場合である。図13(C)は、ブロックのコピー処理にタイムアウトを設け、かつ、タイムアウトが発生すると事後的にブロックのサイズを小さくする方法である。
図13(A)では、タイムアウトを設けていない。よって、仮想化スイッチ装置はコピー処理P1において1ブロックのコピーが完了しない限り、処理P2,P3を実行することはない(ステップST101)。このため、コピー処理P1、処理P2,P3の処理遅延が増大する。
図13(B)では、タイムアウトを設けている。仮想化スイッチ装置は、コピー処理P1を実行する。1ブロックのコピー処理である。仮想化スイッチ装置は当該ブロックのコピー処理を開始後、タイムアウト値T以内に完了しない。すると、タイムアウトが発生してコピー処理P1を中断する(ステップST201)。そして、仮想化スイッチ装置は、処理P2を実行し、完了する(ステップST202)。仮想化スイッチ装置は処理P3を実行し、完了する(ステップST203)。仮想化スイッチ装置は、コピー処理P1を実行する。ステップST201のブロックコピーの再試行である。仮想化スイッチ装置は、当該ブロックのコピー処理を開始後、タイムアウト値T以内に完了しない。すると、タイムアウトが発生してコピー処理P1を中断する(ステップST204)。そして、仮想化スイッチ装置は処理P2を実行し、完了する(ステップST205)。
このように、処理P2,P3は実行されるものの、コピー処理P1の対象となっているストレージ装置200,300で高負荷状態が継続している限り、再度タイムアウトが発生する。
図13(C)では、タイムアウト発生後、ブロックサイズを現在のブロックサイズよりも小さくする。仮想化スイッチ装置は、コピー処理P1を実行する。1ブロックのコピー処理である。すると、タイムアウトが発生してコピー処理P1を中断する(ステップST301)。そして、仮想化スイッチ装置は処理P2を実行し、完了する(ステップST302)。仮想化スイッチ装置は、処理P3を実行し、完了する(ステップST303)。仮想化スイッチ装置は、コピー処理P1を実行する。ステップST301のブロックのコピーの再試行である。このとき、ステップST301でタイムアウトが発生したことから、ブロックサイズを前回よりも小さくして、ブロックのコピー処理を行う(ステップST304)。そして、仮想化スイッチ装置は、処理P2を実行し、完了する(ステップST305)。仮想化スイッチ装置は、処理P3を実行し、完了する(ステップST306)。
このように、事後的にブロックサイズを小さくしたとしても、ステップST301のコピーを再試行しなければならず、最大でタイムアウト値分のコピー処理時間が無駄となる。また、再試行時にコピー処理P1の対象となっているストレージ装置200,300で高負荷状態が継続していると、再度タイムアウトが発生する可能性が高い。
このように、上記比較例(A)〜(C)の何れもコピー処理に無駄が発生し、効率が悪い。
これに対し、仮想化スイッチ装置100は、ブロックコピーに要した時間に応じて、予めブロックサイズを変更する。このため、タイムアウトの発生を未然に抑止でき、ブロックコピーのリトライ頻度を低減できるので、コピー処理を効率的に行える。また、タイムアウトの発生頻度を低減できるので、ストレージ装置に与える負荷を軽減できる。
[第3の実施の形態]
以下、第3の実施の形態を図面を参照して詳細に説明する。前述の第2の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
第3の実施の形態では、あるストレージ装置内のある論理ユニットでプレタイムアウトが発生した場合に、他の論理ユニットに関するコピー処理に対してもブロックサイズの変更を行う。これにより、複数のコピー処理につき効率化を図れる。以下では、このような機能を実現する仮想化スイッチ装置について具体的に説明する。
なお、第3の実施の形態に係る仮想化ストレージシステムの全体構成は、図2で説明した第2の実施の形態に係る仮想化ストレージシステムの全体構成と同様であるため、説明を省略する。ただし、仮想化スイッチ装置100に代えて、仮想化スイッチ装置100aを備える点が異なる。
また、第3の実施の形態の仮想化スイッチ装置100aのハードウェア構成は、図5で説明した第2の実施の形態の仮想化スイッチ装置100のハードウェア構成と同様であるため、説明を省略する。
図14は、第3の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置100aは、制御情報記憶部110a、コピー処理部120、処理時間計測部130、ブロックサイズ制御部140および変更対象検出部150を有する。これらの機能は、CPU101が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
ここで、コピー処理部120、処理時間計測部130およびブロックサイズ制御部140の機能は、図5の仮想化スイッチ装置100で同一の符号を付して説明した各構成と同様であるため説明を省略する。
制御情報記憶部110aは、第2の実施の形態で説明した制御情報記憶部110に対応する。制御情報記憶部110aは、ストレージ装置200,300,400の論理ユニット構成を定義した論理ユニット管理情報を更に記憶する。
変更対象検出部150は、処理時間計測部130が計測したあるコピー処理のブロックコピーの所要時間を取得して、制御情報記憶部110aに記憶された論理ユニット管理情報を参照し、ブロックサイズを変更すべきコピー処理を検出する。変更対象検出部150は、検出したコピー処理を示すコピー処理識別情報をブロックサイズ制御部140に出力する。ブロックサイズ制御部140は、変更対象検出部150から取得したコピー処理識別情報に対応するコピー処理につきブロックサイズを変更するようコピー処理部120に指示する。
図15は、第3の実施の形態の論理ユニット管理テーブルのデータ構造例を示す図である。論理ユニット管理テーブル111aは、制御情報記憶部110aに予め格納される。論理ユニット管理テーブル111aには、項番、LUN、ポート、RAIDグループ、コントローラおよび筐体を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの論理ユニットに関する情報を示す。
項番の項目には、レコードを識別するための識別番号が設定される。LUNの項目には、LUNが設定される。ポートの項目には、LUNに対応するポートの識別情報が設定される。なお、ポートは、通信部231,232,233,・・・の通信ポートに対応する。RAIDグループの項目には、LUNに対応するRAIDグループの識別情報が設定される。コントローラの項目には、LUNに対応するコントローラの識別情報が設定される。なお、コントローラとは、コントローラ221,222,223,・・・に対応する。筐体の項目には、LUNに対応する筐体の識別情報が設定される。ここで、以下の例において筐体の識別情報“001”はストレージ装置200を示すものとする。また、筐体の識別情報“002”はストレージ装置300を示すものとする。また、筐体の識別情報“003”はストレージ装置400を示すものとする。
論理ユニット管理テーブル111aには、例えば、項番が“1”、LUNが“LUN1−1”、ポートが“001−P00”、RAIDグループが“001−R00”、コントローラが“001−C00”、筐体が“001”という情報が設定される。
この項番“1”のレコードは、ストレージ装置200に設けられたLUN“LUN1−1”につき、ポート“001−P00”、コントローラ“001−C00”が割り当てられていることを示している。また、当該LUNがRAIDグループ“001−R00”に属することを示している。
図16は、第3の実施の形態のコピー処理管理テーブルのデータ構造例を示す図である。コピー処理管理テーブル112は、変更対象検出部150により生成され、制御情報記憶部110aに格納される。コピー処理管理テーブル112には、コピー処理識別番号、コピー条件、プレタイムアウトの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのコピー処理に関する情報を示す。
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。ここで、当該識別情報には、コピー元、または、コピー先、の何れかを示す識別子が付与される。具体的には、コピー元につき“S(Sourceの頭文字)”が設定される。また、コピー先につき“D(Destinationの頭文字)”が設定される。コピー条件の項目には、当該コピー処理に関係する環境を示す情報が設定される。コピー条件の例として、LUN、ポート番号、RAIDグループ、コントローラ、筐体が示される。プレタイムアウトの項目には、当該コピー処理においてプレタイムアウトが発生しているか否かを示す情報が設定される。
コピー処理管理テーブル112には、例えば、コピー処理識別番号が、“S0001”、LUNが“LUN1−1”、ポートが“001−P00”、RAIDグループが“001−R00”、コントローラが“001−C00”、筐体が“001”、プレタイムアウトが“発生”という情報が設定される。
すなわち、当該コピー処理識別番号“S0001”で示されるコピー処理において、プレタイムアウトが“発生”していることが示されている。また、当該コピー処理は、ストレージ装置200のLUN“LUN1−1”がコピー元であることを示している。更に、当該コピー処理に関係する環境として、ポート“001−P00”、RAIDグループ“001−R00”、コントローラ“001−C00”が用いられていることを示している。
ここで、“S0001”の数値部分と“D0001”の数値部分とは共通している。これは、“S0001”の処理でコピー元から取得したブロックを“D0001”の処理でコピー先へ書き込むことを示す。すなわち、“S0001”と“D0001”とがセットで1つのブロックコピーを構成する。また、プレタイムアウトの発生の有無は、“S0001”および“D0001”の両処理を合わせて検出する。よって、プレタイムアウトが発生している場合には、双方につきプレタイムアウトの項目に“発生”が設定される。一方、プレタイムアウトが発生していない場合には、双方につきプレタイムアウトの項目に“未発生”が設定される。他のコピー処理識別番号についても同様の関係である。
なお、以下の説明では、説明を簡略化するため、コピー処理識別番号を挙げてコピー処理“S0001”などと称し、コピー処理を特定した説明を行うこともある。
図17は、第3の実施の形態の優先度テーブルのデータ構造例を示す図である。優先度テーブル113は、制御情報記憶部110aに予め格納される。優先度テーブル113は、変更対象検出部150によって参照され、変更対象のコピー処理を検出する処理に用いられる。優先度テーブル113は、変更対象検出部150により更新される。
優先度テーブル113には、コピー条件、ポイント、優先度の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのコピー条件に関する情報を示す。
コピー条件の項目には、コピー処理管理テーブル112に設定された各コピー条件の種別が設定される。ポイントの項目には、当該コピー条件に対して取得されているポイントが設定される。優先度の項目には、ポイントに応じた各コピー条件の優先度が設定される。ここで、優先度の値は、その値が小さいほど対応するコピー条件の優先度が高いことを示すものとする。“優先度が高い”とは、ブロックサイズの変更対象とするコピー処理を検出する際に、当該コピー条件を優先的に選択することを意味する。
優先度テーブル113には、例えば、コピー条件が“LUN”、ポイントが“5”、優先度が“1”という情報が設定される。ポイント“5”は、優先度テーブル113では最高の値である。よって、優先度は最高であり、最高優先度“1”が設定されている。
次に、以上のような構成を備える仮想化スイッチ装置100aの処理手順を説明する。なお、コピー処理部120およびブロックサイズ制御部140によるコピー処理およびブロックサイズ制御処理は、図8,9で説明した第2の実施の形態のコピー処理およびブロックサイズ制御処理と同様であるため、説明を省略する。
図18は、第3の実施の形態のプレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS31]変更対象検出部150は、コピー処理部120が実行するコピー処理につき処理時間計測部130が計測した処理時間計測結果を取得して、当該コピー処理につきプレタイムアウトが発生した旨を検知する。すると、当該コピー処理につきプレタイムアウトが“発生”したことをコピー処理管理テーブル112に登録する。コピー条件の各条件値は、コピー処理部120がコピー処理の対象としているLUNの情報に基づいて、制御情報記憶部110aに記憶された論理ユニット管理テーブル111aを参照することで取得できる。なお、この場合、プレタイムアウトとして検知した当該コピー処理については、第2の実施の形態で説明したようにブロックサイズ制御部140によりブロックサイズの変更が行われる。
[ステップS32]変更対象検出部150は、所定時間だけ待機する。この間、変更対象検出部150は、コピー処理部120が実行した各コピー処理につきコピー処理管理テーブル112への登録を継続する。
[ステップS33]変更対象検出部150は、コピー処理管理テーブル112を参照して、ステップS31でプレタイムアウトとなったコピー処理以外の他のコピー処理が発生したかを判定する。他のコピー処理が発生した場合、処理をステップS34に進める。他のコピー処理が発生していない場合、処理を完了する。
[ステップS34]変更対象検出部150は、コピー処理管理テーブル112を参照して、他のコピー処理においてプレタイムアウトが発生しているか否かを判定する。発生している場合、処理をステップS35に進める。発生していない場合、処理をステップS36に進める。
[ステップS35]変更対象検出部150は、複数プレタイムアウト発生時におけるブロックサイズ変更の予測展開処理を行う。“複数プレタイムアウト発生時”とは、プレタイムアウトを検出したコピー処理以外の他の処理でもプレタイムアウトを検出した場合を示す。すなわち、この場合の予測展開処理とは、プレタイムアウトが発生した他のコピー処理を選択し、そのコピー処理についてもブロックサイズの変更を行うことを意味する。当該処理の詳細は図19で後述する。そして、処理をステップS37に進める。
[ステップS36]変更対象検出部150は、単独プレタイムアウト発生時におけるブロックサイズ変更の予測展開処理を行う。“単独プレタイムアウト発生時”とは、プレタイムアウトを検出したコピー処理以外の他の処理でプレタイムアウトを検出していない場合を示す。すなわち、この場合の予測展開処理とは、プレタイムアウトの発生していない他のコピー処理を選択し、そのコピー処理についてもブロックサイズの変更を行うことを意味する。当該処理の詳細は図22で後述する。そして、処理をステップS37に進める。
[ステップS37]変更対象検出部150は、制御情報記憶部110に記憶された優先度テーブル113を更新する。
このようにして、変更対象検出部150は、あるコピー処理でプレタイムアウトを検出した場合に、他のコピー処理に対してもブロックサイズの変更を行う。
なお、上記ステップS32において、変更対象検出部150が所定時間待機している間、ブロックサイズ制御部140によるブロックサイズの変更も中止状態としてもよい。
次に、上記ステップS35で示した複数プレタイムアウト発生時の予測展開処理を説明する。
図19は、第3の実施の形態の複数プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS41]変更対象検出部150は、制御情報記憶部110aに記憶されたコピー処理管理テーブル112を参照して、プレタイムアウトが発生したコピー処理を抽出する。その抽出結果が、図20で後述するコピー処理抽出テーブルである。
[ステップS42]変更対象検出部150は、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数とは、あるコピー条件についてみたときに、そのコピー条件値と同一のコピー条件値を含むコピー処理の総数である。例えば、同一のコピー条件値を含む他のコピー処理が存在しない場合、共通コピー処理数は“1”である。また、同一のコピー条件値を含む他のコピー処理が1つ存在する場合、共通コピー処理数は“2”である。更に、ある1つのコピー条件について、複数の共通コピー処理数が算出される場合には、複数の共通コピー処理数のうちの最大値を共通コピー処理数として採用する。
[ステップS43]変更対象検出部150は、各コピー条件について求めた共通コピー処理数(“1”を除く)につき、最小のコピー処理数(以下、最小共通コピー処理数と称する)を特定する。変更対象検出部150は、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップS44に進める。1つである場合、処理をステップS45に進める。
[ステップS44]変更対象検出部150は、制御情報記憶部110aに記憶された優先度テーブル113を参照して、各最小共通コピー処理数に対応するコピー条件のうち、優先度が最高のものを特定する。そして、特定したコピー条件につき当該最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップS46に進める。
[ステップS45]変更対象検出部150は、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップS46に進める。
[ステップS46]変更対象検出部150は、ステップS44またはステップS45において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部140に指示する。ブロックサイズ制御部140は、変更対象検出部150から指示されたコピー処理について、図18のステップS31で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部120に指示する。コピー処理部120は、指示されたコピー処理につきブロックサイズの変更を行う。
このようにして、変更対象検出部150は、あるコピー処理についてプレタイムアウトを検出すると、その後にプレタイムアウトが発生した他のコピー処理に対してもブロックサイズの変更を行う。
これにより、複数のコピー処理を並行して行っている場合に、各コピー処理でのタイムアウトの発生を、より効率的に抑制できる。その結果、各ストレージ装置の負荷を低減して、各ストレージ装置に対するコピー処理をより効率的に実行できる。
なお、プレタイムアウトが発生した他のコピー処理全てについてブロックサイズの変更を行わないのは、ブロックサイズの縮小による影響をできるだけ局所化するためである。すなわち、ブロックサイズを縮小することによるコピー性能の劣化を、できるだけ少数のコピー処理に留めることで、コピー処理全体に対する影響を低減するためである。
また、複数プレタイムアウト予測展開処理においても、後述の単独プレタイムアウト予測展開処理と同様に、最初にプレタイムアウトを検知したコピー処理と同じコピー条件値を含むコピー処理のみを対象として、ブロックサイズの変更対象を検出してもよい。
以下、複数プレタイムアウト予測展開処理を、コピー処理抽出テーブルの具体例を示しながら説明する。
図20は、第3の実施の形態のコピー処理抽出テーブルの第1の具体例を示す図である。コピー処理抽出テーブル112aは、変更対象検出部150により生成され、制御情報記憶部110aに格納される。変更対象検出部150は、制御情報記憶部110aに記憶されたコピー処理管理テーブル112のプレタイムアウトの項目を参照して、プレタイムアウト“発生”が設定されているレコードを抽出することで、コピー処理抽出テーブル112aを生成できる。コピー処理抽出テーブル112aに設けられた各項目は、コピー処理管理テーブル112に設けられた各項目と同一であるため説明を省略する。
変更対象検出部150は、コピー処理抽出テーブル112aに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル112aは、変更対象検出部150が図19で説明したステップS42,S43,S45の処理を行う場合の例である。なお、最初にプレタイムアウトを検知したコピー処理は、コピー処理識別番号“S0001”および“D0001”に対応するコピー処理であるとする。
まず、変更対象検出部150は、コピー処理抽出テーブル112aを参照して、コピー条件ごとに共通コピー処理数を算出する(ステップS42)。具体的には、次のような計算を行う。
(1)コピー条件“LUN”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“1”である。
(2)コピー条件“ポート”では、コピー条件値“001−P00”を共通に含むコピー処理が3つある。また、コピー条件値“002−P00”を共通に含むコピー処理が2つある。そのうちの大きい方を共通コピー処理数とするので、共通コピー処理数は“3”である。
(3)コピー条件“RAIDグループ”では、コピー条件値“001−R00”を共通に含むコピー処理が2つある。よって、共通コピー処理数は“2”である。
(4)コピー条件“コントローラ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“1”である。
(5)コピー条件“筐体”では、コピー条件値“001”を共通に含むコピー処理が4つある。また、コピー条件値“002”を共通に含むコピー処理が4つある。よって、共通コピー処理数は“4”である。
上記計算の結果に基づいて、変更対象検出部150は、1以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する(ステップS43)。本例の場合、最小共通コピー処理数は“2”であり、この値は複数存在していない。
よって、変更対象検出部150は、最小共通コピー処理数“2”に対応するコピー条件“RAIDグループ”について、共通コピー処理数を算出するために参照したコピー条件値“001−R00”を含むコピー処理“S0001”および“S0002”を特定する(ステップS44)。変更対象検出部150は、コピー処理“S0002”(および“D0002”のセット)に対してもブロックサイズの変更を行うようブロックサイズ制御部140に指示する(ステップS46)。
ここで、コピー処理“S0001”に対するブロックサイズの変更の指示を行わないのは次の理由による。すなわち、“S0001”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部140によるブロックサイズの変更が既に行われているためである。
図21は、第3の実施の形態のコピー処理抽出テーブルの第2の具体例を示す図である。コピー処理抽出テーブル112bは、変更対象検出部150により生成され、制御情報記憶部110aに格納される。生成方法は、コピー処理抽出テーブル112aと同様である。コピー処理抽出テーブル112bに設けられた各項目は、コピー処理管理テーブル112に設けられた各項目と同一であるため説明を省略する。
変更対象検出部150は、コピー処理抽出テーブル112bに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル112bは、変更対象検出部150が図19で説明したステップS42,S43,S44の処理を行う場合の例である。なお、最初にプレタイムアウトを検知したコピー処理は、コピー処理識別番号“S0011”および“D0011”に対応するコピー処理であるとする。
まず、変更対象検出部150は、コピー処理抽出テーブル112bを参照して、コピー条件ごとに共通コピー処理数を算出する(ステップS42)。具体的には、次のような計算を行う。
(1)コピー条件“LUN”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“1”である。
(2)コピー条件“ポート”では、コピー条件値“002−P00”を共通に含むコピー処理が2つある。よって、共通コピー処理数は“2”である。
(3)コピー条件“RAIDグループ”では、コピー条件値“003−R00”を共通に含むコピー処理が2つある。また、コピー条件値“003−R01”を共通に含むコピー処理が2つある。よって、共通コピー処理数は“2”である。
(4)コピー条件“コントローラ”では、コピー条件値が同じものが存在しない。よって、共通コピー処理数は“1”である。
(5)コピー条件“筐体”では、コピー条件値“002”を共通に含むコピー処理が4つある。また、コピー条件値“003”を共通に含むコピー処理が4つある。よって、共通コピー処理数は“4”である。
上記計算の結果に基づいて、変更対象検出部150は、1以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する(ステップS43)。本例の場合、最小共通コピー処理数は“2”であり、この値は複数存在する。
よって、変更対象検出部150は、制御情報記憶部110aに記憶された優先度テーブル113を参照し、最小共通コピー処理数“2”に対応するコピー条件“ポート”および“RAIDグループ”のうち優先度の高いものを特定する。例えば、優先度テーブル113では、コピー条件“ポート”および“RAIDグループ”では、“ポート”の優先度の方が高い。このため、変更対象検出部150は、コピー条件“ポート”を優先度の高いものとして特定する。
更に、変更対象検出部150は、当該コピー条件“ポート”につき、共通コピー処理数を算出するために参照したコピー条件値“002−P00”を含むコピー処理“S0011”および“S0012”を特定する。変更対象検出部150は、コピー処理“S0012”(および“D0012”のセット)に対してもブロックサイズの変更を行うようブロックサイズ制御部140に指示する(ステップS46)。
ここで、コピー処理“S0011”に対するブロックサイズの変更の指示を行わないのは次の理由による。すなわち、“S0011”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部140によるブロックサイズの変更が既に行われているためである。
次に、図18のステップS36で示した単独プレタイムアウト発生時の予測展開処理を説明する。
図22は、第3の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS51]変更対象検出部150は、制御情報記憶部110aに記憶されたコピー処理管理テーブル112を参照して、全てのコピー処理を抽出する。その抽出結果が、図23で後述するコピー処理抽出テーブルである。
[ステップS52]変更対象検出部150は、コピー処理抽出テーブルを参照して各コピー処理のコピー条件をチェックする。
[ステップS53]変更対象検出部150は、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含む他のコピー処理が存在するか否かを判定する。存在する場合、処理をステップS54に進める。存在しない場合、処理を完了する。
[ステップS54]変更対象検出部150は、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数の算出方法は、図19のステップS42で説明した方法と同様である。ただし、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含むコピー処理との間のみで共通コピー処理数を算出する点が異なる。
[ステップS55]変更対象検出部150は、各コピー条件について求めた共通コピー処理数(“1”を除く)につき、最小共通コピー処理数を特定する。変更対象検出部150は、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップS56に進める。1つである場合、処理をステップS57に進める。
[ステップS56]変更対象検出部150は、制御情報記憶部110aに記憶された優先度テーブル113を参照して、各最小共通コピー処理数に対応するコピー条件のうち、優先度が最高のものを特定する。そして、特定したコピー条件につき当該最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップS58に進める。
[ステップS57]変更対象検出部150は、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップS58に進める。
[ステップS58]変更対象検出部150は、ステップS56またはステップS57において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部140に指示する。ブロックサイズ制御部140は、変更対象検出部150から指示されたコピー処理について、図18のステップS31で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部120に指示する。コピー処理部120は、指示されたコピー処理につきブロックサイズの変更を行う。
このようにして、変更対象検出部150は、あるコピー処理についてプレタイムアウトを検出すると、その後に当該コピー処理と同一のコピー条件値を含むコピー処理に対してもブロックサイズの変更を行う。
これにより、複数のコピー処理を並行して行っている場合、他のコピー処理でプレタイムアウトが発生していなくても、プレタイムアウトの発生のおそれのあるコピー処理につき、その発生を未然に抑制できる。なぜなら、プレタイムアウトの発生しているコピー処理の環境(コピー条件値)では、当該環境を構成する各資源(ディスク、コントローラおよびポートなど)の負荷が高くなっていると考えられる。このため、同一の環境で実行されているコピー処理は、その後にプレタイムアウトの発生する可能性が高いと考えられるからである。
その結果、各ストレージ装置の負荷を低減して、各ストレージ装置に対するコピー処理をより効率的に実行できる。
以下、単独プレタイムアウト予測展開処理を、コピー処理抽出テーブルの具体例を示しながら説明する。
図23は、第3の実施の形態のコピー処理抽出テーブルの具体例を示す図である。コピー処理抽出テーブル112cは、変更対象検出部150により生成され、制御情報記憶部110aに格納される。なお、コピー処理抽出テーブル112cは、コピー処理管理テーブル112と同じ内容であるため、両テーブルを別個に設けなくてもよい。コピー処理抽出テーブル112cに設けられた各項目は、コピー処理管理テーブル112に設けられた各項目と同一であるため説明を省略する。
変更対象検出部150は、コピー処理抽出テーブル112cに基づいて共通コピー処理数を算出する。コピー処理抽出テーブル112cは、変更対象検出部150が図22で説明したステップS53,S54,S55,S56の処理を行う場合の例である。
更に、プレタイムアウトを検知したコピー処理は、コピー処理識別番号“S0001”および“D0001”に対応するコピー処理であるとする。ここで、コピー処理抽出テーブル112cでは、データ取得(“S”で始まるコピー処理識別番号)と取得したデータの書き込み(“D”で始まるコピー処理識別番号)との対応関係が分かり易いよう、セットとなる処理のレコードが連続するように記載している。
まず、変更対象検出部150は、コピー処理抽出テーブル112cを参照して、プレタイムアウトを検知したコピー処理と同一のコピー条件値を含むコピー処理が存在するかを判定する(ステップS53)。具体的には、以下の通りである。
“S0001”で示されるコピー処理のコピー条件“RAIDグループ”を参照すると、そのコピー条件値は“001−R00”である。このコピー条件値と同じコピー条件値を含むコピー処理として“D0002”が存在している。また、“S0001”で示されるコピー処理のコピー条件“筐体”を参照すると、そのコピー条件値は“001”である。このコピー条件値と同じコピー条件値を含むコピー処理として“D0002”が存在している。更に、“D0001”で示されるコピー処理のコピー条件“筐体”を参照すると、そのコピー条件値は“002”である。このコピー条件値と同じコピー条件値を含むコピー処理として“S0003”が存在している。
よって、変更対象検出部150は、プレタイムアウトを検知したコピー処理と同一のコピー条件値を含むコピー処理が存在すると判定する。
そして、変更対象検出部150は、コピー処理抽出テーブル112cを参照して、コピー条件ごとに共通コピー処理数を算出する(ステップS54)。具体的には、次のような計算を行う。
(1)コピー条件“LUN”では、コピー処理“S0001”、“D0001”に対応するコピー条件値はそれぞれ“LUN1−1”、“LUN2−1”である。これに対し、コピー条件値“LUN1−1”または“LUN2−1”を含むものが他に存在しない。よって、共通コピー処理数は“1”である。
(2)コピー条件“ポート”では、コピー処理“S0001”、“D0001”に対応するコピー条件値はそれぞれ“001−P00”、“002−P00”である。これに対し、コピー条件値“001−P00”または“002−P00”を含むものが他に存在しない。よって、共通コピー処理数は“1”である。
(3)コピー条件“RAIDグループ”では、コピー処理“S0001”、“D0001”に対応するコピー条件値はそれぞれ“001−R00”、“002−R00”である。この場合、コピー条件値“001−R00”を含むコピー処理として“D0002”が存在する。よって、共通コピー処理数は“2”である。
(4)コピー条件“コントローラ”では、コピー処理“S0001”、“D0001”に対応するコピー条件値はそれぞれ“001−C00”、“002−C00”である。これに対し、コピー条件値“001−C00”または“002−C00”を含むものが他に存在しない。よって、共通コピー処理数は“1”である。
(5)コピー条件“筐体”では、コピー処理“S0001”、“D0001”に対応するコピー条件値はそれぞれ“001”、“002”である。この場合、コピー条件値“001”を含むコピー処理として“D0002”が存在する。また、コピー条件値“002”を含むコピー処理として、“S0003”が存在する。すなわち、“001”、“002”の何れについても共通コピー処理数は“2”となる。よって、当該コピー条件の共通コピー処理数は“2”である。
上記計算の結果に基づいて、変更対象検出部150は、1以外の共通コピー処理数で最小値、すなわち最小共通コピー処理数を特定し、それが複数あるかを判定する(ステップS55)。本例の場合、最小共通コピー処理数は“2”であり、この値はコピー条件“RAIDグループ”および“筐体”に対して求められており、複数存在する。
よって、変更対象検出部150は、制御情報記憶部110aに記憶された優先度テーブル113を参照し、最小共通コピー処理数“2”に対応するコピー条件“RAIDグループ”および“筐体”のうち優先度の高いものを特定する。例えば、優先度テーブル113では、コピー条件“RAIDグループ”および“筐体”では、“RAIDグループ”の優先度の方が高い。このため、変更対象検出部150は、コピー条件“RAIDグループ”を優先度の高いものとして特定する。
更に、変更対象検出部150は、当該コピー条件“RAIDグループ”につき、共通コピー処理数を算出するために参照したコピー条件値“001−R00”を含むコピー処理“D0002”を特定する。変更対象検出部150は、コピー処理“S0002”(および“D0002”のセット)に対してもブロックサイズの変更を行うようブロックサイズ制御部140に指示する(ステップS58)。
ここで、コピー処理“S0001”に対するブロックサイズの変更の指示を行わないのは、次の理由による。すなわち、“S0001”に対応するコピー処理は、最初にプレタイムアウトが検出されたものであり、ブロックサイズ制御部140によるブロックサイズの変更が既に行われているためである。
次に、図18のステップS37で示した優先度更新処理を説明する。
図24は、第3の実施の形態の優先度更新処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS61]変更対象検出部150は、制御情報記憶部110aに記憶された優先度テーブル113を取得する。変更対象検出部150は、選択対象となったコピー条件に対してポイント加算する。選択対象となったコピー条件とは、優先度テーブル113を用いて優先度の比較を行ったコピー条件を示す。変更対象検出部150は、当該コピー条件につき、1ポイントを加算する。これにより、優先度テーブル113のポイントの項目が更新される。
[ステップS62]変更対象検出部150は、優先度テーブル113に設定されたポイントの値に基づいて、優先度を決定する。具体的には、変更対象検出部150は、高ポイントのコピー条件ほど、優先度が高くなるように、優先度テーブル113の優先度の項目を更新する。
[ステップS63]変更対象検出部150は、ポイントが同値のコピー条件が存在するか否かを判定する。存在する場合、処理をステップS64に進める。存在しない場合、処理を完了する。
[ステップS64]変更対象検出部150は、新たにポイントを加算した方のコピー条件の優先度を上げる。
このように、変更対象検出部150はプレタイムアウトの予測展開処理を行う都度、優先度テーブル113を更新する。
図25は、第3の実施の形態の優先度更新処理の具体例を示す図である。優先度テーブル113は、更新前を示している。優先度テーブル113aは、更新中を示している。優先度テーブル113bは、更新後を示している。
優先度テーブル113の状態において、変更対象検出部150はプレタイムアウトの予測展開処理を行う際に、コピー条件“ポート”、“RAIDグループ”および“筐体”について優先度の比較を行ったとする。すると、変更対象検出部150は、当該各コピー条件のポイントに1を加算する。これにより、“ポート”のポイントは“5”、“RAIDグループ”のポイントは“4”、“筐体”のポイントは“2”となる(ステップS61)。
変更対象検出部150は、このようにして求めた各コピー条件のポイントに基づいて、優先度を決定する(ステップS62)。具体的には、ポイントが最高の“5”であるコピー条件が“LUN”と“ポート”の2つ存在する。よって、変更対象検出部150は、“LUN”と“ポート”の2つのコピー条件に最高優先度の“1”が設定されている。
また、ポイントが2番目に大きい“4”であるコピー条件“RAIDグループ”が存在する。よって、変更対象検出部150は、“RAIDグループ”を優先度“3”とする。優先度“2”としないのは、優先度“1”のコピー条件が2つ存在しているためである。
更に、ポイントが最小の“2”であるコピー条件が“コントローラ”と“筐体”の2つ存在する。よって、変更対象検出部150は、“コントローラ”と“筐体”の2つのコピー条件を最低優先度の“4”とする。その結果が優先度テーブル113aである。
優先度テーブル113aでは、ポイントが同値のコピー条件が存在している(ステップS63)。よって、変更対象検出部150は、ポイントが同値の各コピー条件につき新たにポイントを加算した方のコピー条件の優先度を上げる(ステップS64)。具体的には、今回コピー条件“ポート”に対してポイントを加算することで、“LUN”と“ポート”とのポイントが同値となっている。よって、変更対象検出部150は、相対的に“ポート”の優先度が上がるように“LUN”の優先度を“1”から“2”に変更する。同様に、今回コピー条件“筐体”に対してポイントを加算することで、“コントローラ”と“筐体”とのポイントが同値となっている。よって、変更対象検出部150は、相対的に“筐体”の優先度が上がるように“コントローラ”の優先度を“4”から“5”に変更する。その結果が優先度テーブル113bである。
このように優先度テーブル113を更新していくことで、プレタイムアウトの発生し易いと考えられるコピー条件を含むコピー処理を、容易に特定できるようになる。
[第4の実施の形態]
以下、第4の実施の形態を図面を参照して詳細に説明する。前述の第2,第3の実施の形態との相違点について主に説明し、同様の事項に関しては説明を省略する。
第4の実施の形態では、第3の実施の形態に加えて、次の機能を提供する。すなわち、単独プレタイムアウト発生時の予測展開処理において、ブロックサイズの変更対象を特定するために、プレタイムアウトが発生したコピー処理とブロックコピーの所要時間の変動傾向の近いコピー処理を検出する。これにより、プレタイムアウトまたはタイムアウトの発生する可能性の高いコピー処理を精度良く検出できる。以下では、このような機能を実現する仮想化スイッチ装置について具体的に説明する。
なお、第4の実施の形態に係る仮想化ストレージシステムの全体構成は、図2で説明した第2の実施の形態に係る仮想化ストレージシステムの全体構成と同様であるため、説明を省略する。ただし、仮想化スイッチ装置100に代えて、仮想化スイッチ装置100bを備える点が異なる。
また、第4の実施の形態の仮想化スイッチ装置100bのハードウェア構成は、図5で説明した第2の実施の形態の仮想化スイッチ装置100のハードウェア構成と同様であるため、説明を省略する。
図26は、第4の実施の形態の仮想化スイッチ装置の機能構成を示す図である。仮想化スイッチ装置100bは、制御情報記憶部110b、コピー処理部120、処理時間計測部130、ブロックサイズ制御部140および変更対象検出部150aを有する。これらの機能は、CPU101が所定のプログラムを実行することで実現される。ただし、これらの機能の一部または全部を専用のハードウェアで実現してもよい。
ここで、コピー処理部120、処理時間計測部130およびブロックサイズ制御部140の機能は、図5の仮想化スイッチ装置100で同一の符号を付して説明した各構成と同様であるため説明を省略する。
制御情報記憶部110bは、第2,第3の実施の形態で説明した制御情報記憶部110,110aに対応する。更に、各コピー処理の履歴情報を記憶する。
変更対象検出部150aは、第3の実施の形態で説明した変更対象検出部150に対応する。すなわち、変更対象検出部150aは、処理時間計測部130が計測したあるコピー処理のブロックコピーの所要時間を取得して、制御情報記憶部110bに記憶された論理ユニット管理情報を参照し、ブロックサイズを変更すべきコピー処理を検出する。変更対象検出部150aは、検出したコピー処理を示すコピー処理識別情報をブロックサイズ制御部140に出力する。ブロックサイズ制御部140は、変更対象検出部150aから取得したコピー処理識別情報に対応するコピー処理につきブロックサイズを変更するようコピー処理部120に指示する。
ここで、変更対象検出部150aは、変更対象検出部150と次の点で異なっている。すなわち、変更対象検出部150aは、プレタイムアウトとなったコピー処理を検知し、その後、単独プレタイムアウト予測展開処理を実行する際に、当該コピー処理とブロックコピーの所要時間の変動傾向が似ているコピー処理を検出する。
図27は、第4の実施の形態の所要時間履歴テーブルのデータ構造例を示す図である。所要時間履歴テーブル114は、変更対象検出部150aにより生成され、制御情報記憶部110bに格納される。所要時間履歴テーブル114には、コピー処理識別番号、各回の所要時間履歴の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのコピー処理に関する履歴情報を示す。
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。なお、所要時間履歴テーブル114にはブロックのコピー元からの取得およびコピー先への書き込みを示す“S”や“D”の頭文字は付加されていない。なぜなら、あるブロックコピーの所要時間は、コピー元からブロックの取得を開始して、コピー先へブロックの書き込みを完了するまでであり、これら各処理を区別して扱う必要がないためである。各回の所要時間履歴の項目には、過去の所定回数分のブロックコピーに要した時間(秒)が設定される。“0”回目が直近の履歴である。また、“−9”回目が本テーブル中、最も過去の履歴である。
所要時間履歴テーブル114には、例えば、コピー処理識別番号が“0001”、回数“−9”〜“0”で示される各回において所要時間が“1.1”秒、“2.1”秒、“3.1”秒、“3.2”秒、“2.3”秒、“1.2”秒、“2.3”秒、“3.2”秒、“4.3”秒、“7.2”秒という情報が設定されている。
図28は、第4の実施の形態の比率テーブルのデータ構造例を示す図である。比率テーブル115は、変更対象検出部150aにより生成され、制御情報記憶部110bに格納される。比率テーブル115には、コピー処理識別番号、前回との比率の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのコピー処理に関する情報を示す。
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。前回との比率の項目には、各回の所要時間履歴につき、前回分の所要時間との比が設定される。
比率テーブル115には、例えば、コピー処理識別番号が“0001”、回数“−9”〜“0”で示される各回において前回との比率が“−”、“1.91”、“1.48”、“1.03”、“0.72”、“0.52”、“1.92”、“1.39”、“1.34”、“1.67”という情報が設定されている。ここで、“−9”回における“−(設定なし)”は、それ以前の履歴が破棄されていることから、前回分の所要時間との比を取得できないことを示している。また、“−8”回における“1.91”は、所要時間履歴テーブル114で示した“−8”回における所要時間“2.1”秒と、“−9”回における所要時間“1.1”秒と、の比(2.1÷1.1)である。他の回における比も同様にして求めたものである。
図29は、第4の実施の形態の差分テーブルのデータ構造例を示す図である。差分テーブル116は、変更対象検出部150aにより生成され、制御情報記憶部110bに格納される。差分テーブル116には、コピー処理識別番号、比較対象との差分の絶対値、合計の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのコピー処理に関する情報を示す。
コピー処理識別番号の項目には、コピー処理を識別するための識別情報が設定される。比較対象との差分の絶対値の項目には、比率テーブル115に設定された各回の比率につきプレタイムアウトが発生したコピー処理との当該比率の差分の絶対値が設定される。合計の項目には、レコードに含まれる差分の絶対値の合計が設定される。
差分テーブル116には、例えば、コピー処理識別番号が“0001”、回数“−9”〜“0”で示される各回において比較対象との差分の絶対値が“−”、“0”、“0”、・・・、“0”、合計が“0”という情報が設定される。これは、プレタイムアウトが発生したコピー処理が“0001”で示されるコピー処理であることを示している。具体的には、比率テーブル115のコピー処理識別番号“0001”のレコードについて、“−9”回における“−(設定なし)”、“−8”回における“1.91−1.91=0”、“−7”回における“1.48−1.48=0”、・・・の演算結果が設定されたものである。更に、合計の“0”は、差分テーブル116のコピー処理識別番号“0001”のレコードの差分の絶対値を合計したものである。
差分テーブル116には、例えば、コピー処理識別番号が“0002”、回数“−9”〜“0”で示される各回において比較対象との差分の絶対値が“−”、“0.91”、“0.52”、“0.03”、“0.78”、“0.48”、“1.25”、“0.39”、“0.21”、“1.00”、合計が“4.73”という情報が設定される。
これは、比率テーブル115のコピー処理識別番号“0001”のレコードと、コピー処理識別番号“0002”のレコードと、に含まれる各回の比率の差分の絶対値である。具体的には、比率テーブル115の“−9”回における“−(設定なし)”を反映したもの、“−8”回における“1.91−1.00=0.91”、“−7”回における“1.48−2.00=−0.52”の絶対値“0.52”、“−6”回における“1.03−1.00=0.03”、・・・の演算結果が設定されたものである。更に、合計の“4.73”は、差分テーブル116のコピー処理識別番号“0002”のレコードの差分の絶対値を合計したものである。
次に、以上のような構成を備える仮想化スイッチ装置100bの処理手順を説明する。ここで、コピー処理部120およびブロックサイズ制御部140によるコピー処理およびブロックサイズ制御処理は、図8,9で説明した第2の実施の形態のコピー処理およびブロックサイズ制御処理と同様であるため、説明を省略する。更に、変更対象検出部150aによるプレタイムアウト予測展開処理および複数プレタイムアウト予測展開処理は、図18,19で説明した第3の実施の形態のプレタイムアウト予測展開処理および複数プレタイムアウト予測展開処理と同様であるため、説明を省略する。
また、変更対象検出部150aは、各コピー処理のブロックコピーの所要時間につき、所定回数分の履歴を取得し、制御情報記憶部110bに記憶された所要時間履歴テーブル114に記録しているものとする。
図30は、第4の実施の形態の単独プレタイムアウト予測展開処理を示すフローチャートである。以下、各処理をステップ番号に沿って説明する。
[ステップS71]変更対象検出部150aは、制御情報記憶部110bに記憶されたコピー処理管理テーブル112を参照して、コピー処理抽出テーブル112cを生成する。
[ステップS72]変更対象検出部150aは、コピー処理抽出テーブル112cを参照して各コピー処理のコピー条件をチェックする。
[ステップS73]変更対象検出部150aは、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含む他のコピー処理が存在するか否かを判定する。存在する場合、処理をステップS74に進める。存在しない場合、処理を完了する。
[ステップS74]変更対象検出部150aは、コピー条件ごとに共通コピー処理数を算出する。共通コピー処理数の算出方法は、図19のステップS42で説明した方法と同様である。ただし、プレタイムアウトが発生したコピー処理と同一のコピー条件値を含むコピー処理との間のみで共通コピー処理数を算出する点が異なる。
[ステップS75]変更対象検出部150aは、各コピー条件について求めた共通コピー処理数(“1”を除く)につき、最小共通コピー処理数を特定する。変更対象検出部150aは、最小共通コピー処理数が複数存在するか否かを判定する。複数存在する場合、処理をステップS76に進める。1つである場合、処理をステップS79に進める。
[ステップS76]変更対象検出部150aは、制御情報記憶部110bに記憶された所要時間履歴テーブル114を参照して、比率テーブル115を生成し、制御情報記憶部110bに格納する。
[ステップS77]変更対象検出部150aは、比率テーブル115を参照して、差分テーブル116を生成し、制御情報記憶部110bに格納する。
[ステップS78]変更対象検出部150aは、比率テーブル115を参照して、合計の項目に設定された値の最も小さいコピー処理(“0”を除く)を特定する。そして、処理をステップS80に進める。
[ステップS79]変更対象検出部150aは、最小共通コピー処理数の算出の際に参照したコピー条件値を含むコピー処理を特定して処理をステップS80に進める。
[ステップS80]変更対象検出部150aは、ステップS78またはステップS79において特定したコピー処理について、ブロックサイズを変更するようブロックサイズ制御部140に指示する。ブロックサイズ制御部140は、変更対象検出部150aから指示されたコピー処理について、図18のステップS31で決定したブロックサイズと同じブロックサイズでのコピーを行うようコピー処理部120に指示する。コピー処理部120は、指示されたコピー処理につきブロックサイズの変更を行う。
このようにして、変更対象検出部150aは、あるコピー処理についてプレタイムアウトを検出すると、当該コピー処理とブロックコピーの所要時間の変動傾向が最も似通った傾向を示すコピー処理をブロックサイズの変更対象として特定する。
以下、上記単独プレタイムアウト発生時の予測展開処理の具体例を、各コピー処理におけるブロックコピーの所要時間の時間変動の例を示しながら説明する。
図31は、コピー処理の所要時間の遷移の具体例を示す図である。グラフ500は、所要時間履歴テーブル114を折れ線グラフに示したものである。グラフ500には、系列510,520,530,540が示されている。
系列510は、コピー処理識別番号“0001”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列520は、コピー処理識別番号“0002”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列530は、コピー処理識別番号“0003”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。系列540は、コピー処理識別番号“0004”に対応するコピー処理のブロックコピーの所要時間の履歴を示す。
ここで、系列510を参照すると、直近のブロックコピーにおいて、所要時間がTuを超えており、プレタイムアウトが発生している。そして、その後所定時間内に他のコピー処理でプレタイムアウトが発生していない。よって、仮想化スイッチ装置100bは、単独プレタイムアウト発生時の予測展開処理(図30の処理)を行う。このとき、コピー処理“0001”と並列にコピー処理“0002”、“0003”、“0004”が実行されており、各コピー処理のコピー条件値に基づいて求めた最小共通コピー処理数が複数存在するとする。すると、図30に示したステップS76,S77,S78の処理により、プレタイムアウトの発生したコピー処理“0001”と処理時間の変動の傾向が最も近似するコピー処理がブロックサイズの変更対象として特定される。
具体的には、変更対象検出部150aは、所要時間履歴テーブル114に基づいて、比率テーブル115を生成する。更に、変更対象検出部150aは、比率テーブル115に基づいて、差分テーブル116を生成する。差分テーブル116は、上述したように、プレタイムアウトの発生したコピー処理“0001”と他のコピー処理との差分を示すものである。よって、差分テーブル116に設定された合計の項目が最小のコピー処理を特定すれば、そのコピー処理が、プレタイムアウトの発生したコピー処理“0001”と処理時間の変動の傾向が最も近似するコピー処理である。
差分テーブル116の例では、コピー処理“0003”のレコードで合計の項目に設定された値が最小である。したがって、コピー処理“0003”がプレタイムアウトの発生した“0001”のブロックコピーの所要時間の変動傾向に最も近いと考えられる。このため、変更対象検出部150aは、コピー処理“0003”をブロックサイズの変更対象として検出する。
このようにして、仮想化スイッチ装置100bは、あるコピー処理についてプレタイムアウトを検出すると、当該コピー処理とブロックコピーの所要時間の変動傾向が最も似通った傾向を示すコピー処理を特定し、そのコピー処理につきブロックサイズの変更を行う。
これにより、プレタイムアウトの発生のおそれのあるコピー処理の特定精度を向上できる。なぜなら、ブロックコピーの所要時間の変動傾向が近似している場合には、現時点ではプレタイムアウトが発生していなくても、その後にブロックコピーの所要時間が長くなる傾向にあると考えられる。このため、そのようなコピー処理ではプレタイムアウトが発生する可能性が高いと考えられるからである。
その結果、第2,第3の実施の形態と同様の効果を奏するとともに、プレタイムアウトおよびタイムアウトの発生をより効率的に抑制することができる。
なお、上記の仮想化スイッチ装置100,100a,100bの機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上、本件の情報処理装置、情報処理プログラムおよびコピー処理方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1) 第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーする処理部と、
前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する制御部と、
を有することを特徴とする情報処理装置。
(付記2) 前記処理部は、第1のデータをコピーする第1のコピーと、第2のデータをコピーする第2のコピーと、をブロック単位で順次実行しており、
前記制御部は、前記時間計測部が前記第1のコピーにつき計測したブロックのコピーに要した第1の時間が前記閾値に達している場合、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
ことを特徴とする付記1記載の情報処理装置。
(付記3) 前記制御部は、前記第1の時間および前記時間計測部が前記第2のコピーにつき計測したブロックのコピーに要した第2の時間の両方が前記閾値に達している場合に、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
ことを特徴とする付記2記載の情報処理装置。
(付記4) 前記制御部は、前記第1の時間が前記閾値に達している場合、制御情報記憶部に記憶されており、前記第1のコピーおよび前記第2のコピーそれぞれにつき各コピーに関係する複数のコピー条件情報を記録したコピー処理管理情報を参照して、前記第1のコピーと前記第2のコピーとに共通するコピー条件情報が存在する場合に、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
ことを特徴とする付記2または3の何れか1つに記載の情報処理装置。
(付記5) 前記処理部は、更に、第3のデータをコピーする第3のコピーをブロック単位で順次実行しており、
前記制御部は、前記第1の時間が前記閾値に達している場合、前記制御情報記憶部に記憶された前記コピー処理管理情報を参照して、前記第1のコピーと前記第2のコピーとに共通する第1のコピー条件情報と、前記第1のコピーと前記第3のコピーとに共通する第2のコピー条件情報と、が存在する場合に、前記コピー条件情報それぞれに定義された優先度に基づいて、前記第2,第3のコピーの何れのブロックのサイズを変更するかを決定する、
ことを特徴とする付記4記載の情報処理装置。
(付記6) 前記制御部は、前記第2,第3のコピーの何れのブロックのサイズを変更するかを決定するたびに、前記優先度を変更することを特徴とする付記5記載の情報処理装置。
(付記7) 前記制御部は、前記時間計測部が計測した時間が前記閾値よりも小さい下限値に達していない場合、前記ブロックのサイズを現在のサイズよりも大きくなるよう変更することを特徴とする付記1乃至6の何れか1つに記載の情報処理装置。
(付記8) 第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記9) 情報処理装置が、
第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーし、
前記ブロックのコピーに要した時間を計測し、
計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する、
ことを特徴とするコピー処理方法。
1 情報処理装置
1a 処理部
1b 時間計測部
1c 制御部
2,3 記憶部
4 ブロック
4a,4b,4c,4d ブロックサイズ

Claims (7)

  1. 第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーする処理部と、
    前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
    計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する制御部と、
    を有することを特徴とする情報処理装置。
  2. 前記処理部は、第1のデータをコピーする第1のコピーと、第2のデータをコピーする第2のコピーと、をブロック単位で順次実行しており、
    前記制御部は、前記時間計測部が前記第1のコピーにつき計測したブロックのコピーに要した第1の時間が前記閾値に達している場合、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記制御部は、前記第1の時間および前記時間計測部が前記第2のコピーにつき計測したブロックのコピーに要した第2の時間の両方が前記閾値に達している場合に、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
    ことを特徴とする請求項2記載の情報処理装置。
  4. 第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーする処理部と、
    前記処理部による前記ブロックのコピーに要した時間を計測する時間計測部と、
    計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、前記ブロックのサイズを現在のサイズよりも小さくなるよう変更する制御部と、を有し、
    前記処理部は、第1のデータをコピーする第1のコピーと、第2のデータをコピーする第2のコピーと、をブロック単位で順次実行しており、
    前記制御部は、前記時間計測部が前記第1のコピーにつき計測したブロックのコピーに要した第1の時間が前記閾値に達している場合、制御情報記憶部に記憶されており、前記第1のコピーおよび前記第2のコピーそれぞれにつき各コピーに関係する複数のコピー条件情報を記録したコピー処理管理情報を参照して、前記第1のコピーと前記第2のコピーとに共通するコピー条件情報が存在する場合に、前記第1のコピーのブロックのサイズおよび前記第2のコピーのブロックのサイズを変更する、
    ことを特徴とする情報処理装置。
  5. 前記制御部は、前記時間計測部が計測した時間が前記閾値よりも小さい下限値に達していない場合、前記ブロックのサイズを現在のサイズよりも大きくなるよう変更することを特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
  6. 第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーし、
    前記ブロックのコピーに要した時間を計測し、
    計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する、
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  7. 情報処理装置が、
    第1の記憶部に記憶されたデータを所定サイズに分割したブロック単位で第2の記憶部に順次コピーし、
    前記ブロックのコピーに要した時間を計測し、
    計測した時間がタイムアウト時間よりも短い所定の閾値に達している場合、計測した時間と前記ブロックの現在のサイズとに基づいて現在のサイズよりも小さいサイズを算出し、前記ブロックのサイズを算出したサイズに変更する、
    ことを特徴とするコピー処理方法。
JP2010195289A 2010-09-01 2010-09-01 情報処理装置、情報処理プログラムおよびコピー処理方法 Expired - Fee Related JP5640572B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010195289A JP5640572B2 (ja) 2010-09-01 2010-09-01 情報処理装置、情報処理プログラムおよびコピー処理方法
US13/212,599 US8819366B2 (en) 2010-09-01 2011-08-18 Data processing device, non-transitory computer readable medium and method for controlling data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010195289A JP5640572B2 (ja) 2010-09-01 2010-09-01 情報処理装置、情報処理プログラムおよびコピー処理方法

Publications (2)

Publication Number Publication Date
JP2012053645A JP2012053645A (ja) 2012-03-15
JP5640572B2 true JP5640572B2 (ja) 2014-12-17

Family

ID=45698689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010195289A Expired - Fee Related JP5640572B2 (ja) 2010-09-01 2010-09-01 情報処理装置、情報処理プログラムおよびコピー処理方法

Country Status (2)

Country Link
US (1) US8819366B2 (ja)
JP (1) JP5640572B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016967B2 (en) * 2001-11-08 2006-03-21 Northrop Grumman Corporation Methodology for fast file transfer protocol
JP6160236B2 (ja) * 2013-05-20 2017-07-12 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム
WO2015198441A1 (ja) * 2014-06-26 2015-12-30 株式会社日立製作所 計算機システム、管理計算機、および管理方法
JP6233279B2 (ja) * 2014-11-07 2017-11-22 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、およびコントローラー
JP6544039B2 (ja) * 2015-05-20 2019-07-17 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージシステム
JP7305990B2 (ja) * 2019-03-12 2023-07-11 富士通株式会社 転送プログラム、転送方法、および情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000253056A (ja) 1999-02-25 2000-09-14 Fuji Xerox Co Ltd 送信帯域制御装置
JP2000259467A (ja) 1999-03-04 2000-09-22 Mitsubishi Electric Corp データアクセス装置およびデータアクセス方法
JP2002196894A (ja) 2000-12-26 2002-07-12 Nec Corp ディスクアレイ装置間データ送受信方式
US7366866B2 (en) * 2003-10-30 2008-04-29 Hewlett-Packard Development Company, L.P. Block size allocation in copy operations
US7774542B2 (en) * 2005-07-06 2010-08-10 Ji Zhang System and method for adaptive operation of storage capacities of RAID systems
JP4817783B2 (ja) 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置

Also Published As

Publication number Publication date
US20120054457A1 (en) 2012-03-01
JP2012053645A (ja) 2012-03-15
US8819366B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
JP5640572B2 (ja) 情報処理装置、情報処理プログラムおよびコピー処理方法
JP4749140B2 (ja) データマイグレーション方法及びシステム
US9122787B2 (en) Method and apparatus to utilize large capacity disk drives
JP4990322B2 (ja) データ移動管理装置及び情報処理システム
US6457139B1 (en) Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system
JP5099128B2 (ja) ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US7870105B2 (en) Methods and apparatus for deduplication in storage system
US7673110B2 (en) Control method of device in storage system for virtualization
US6122685A (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
JP5390067B2 (ja) データのブロックを伝送するための優先順位方式
US20090300283A1 (en) Method and apparatus for dissolving hot spots in storage systems
US7146474B2 (en) System, method and computer program product to automatically select target volumes for a fast copy to optimize performance and availability
US20130067162A1 (en) Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment
JP4935331B2 (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
WO2013190590A1 (en) Computer system and data migration method
US8352766B2 (en) Power control of target secondary copy storage based on journal storage usage and accumulation speed rate
US9229660B2 (en) Storage system and method for controlling storage system
US20080276061A1 (en) Method and computer for determining storage device
US7886186B2 (en) Storage system and management method for the same
US11704034B2 (en) Load balancing in a storage system
US6633955B1 (en) Four way support for dynamic mirror service policy
JP2017033118A (ja) 制御装置、制御プログラム、及び制御方法
US8572343B2 (en) Synchronous extent migration protocol for paired storage
US6341317B1 (en) Method and apparatus for managing a log of information in a computer system including an intelligent storage system
JP2019003586A (ja) ストレージ制御装置およびパス切り替え制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees