JP4617194B2 - 仮想ストレージ・コントローラ間での自己最適化作業負荷分配 - Google Patents

仮想ストレージ・コントローラ間での自己最適化作業負荷分配 Download PDF

Info

Publication number
JP4617194B2
JP4617194B2 JP2005129031A JP2005129031A JP4617194B2 JP 4617194 B2 JP4617194 B2 JP 4617194B2 JP 2005129031 A JP2005129031 A JP 2005129031A JP 2005129031 A JP2005129031 A JP 2005129031A JP 4617194 B2 JP4617194 B2 JP 4617194B2
Authority
JP
Japan
Prior art keywords
virtual
controller
copy
request
message
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
JP2005129031A
Other languages
English (en)
Other versions
JP2005322230A5 (ja
JP2005322230A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005322230A publication Critical patent/JP2005322230A/ja
Publication of JP2005322230A5 publication Critical patent/JP2005322230A5/ja
Application granted granted Critical
Publication of JP4617194B2 publication Critical patent/JP4617194B2/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/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/0647Migration mechanisms
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般にデータ・ストレージ・システムに関し、具体的に言えば、仮想ストレージ・コントローラ間でのより効率的なボリューム(volume)・コピー動作の提供に関する。
高性能のストレージ・コントローラは、ネットワーク化されたホストからストレージ・ライブラリなどの1つまたは複数のストレージ・ユニットへの入出力(I/O)要求を管理する。ストレージ・コントローラには、1つまたは複数のホストおよびアダプタと通信するための1つまたは複数のホスト・バス・アダプタまたはインターフェース、あるいはストレージ・ユニットが接続されたストレージ・サーバと通信するためのインターフェースが含まれる。ストレージ・システムを含む情報技術システムは、サイトの災害または機能停止からの保護を必要とすることがあり、機能停止は計画的または非計画的な場合がある。さらに情報技術システムは、データ移送、データ・バックアップ、またはデータ複写のための機能を必要とすることがある。災害または機能停止からの回復、データ移送、データ・バックアップ、およびデータ複写のための実施には、ストレージ・システム内でのデータのミラーリングまたはコピーが含まれる場合がある。こうしたデータのミラーリングまたはコピーは、情報技術システムのホスト、ストレージ・システム、および接続ネットワーク構成要素、の間での対話を必要とすることがある。
ピアツーピア(「PtP」)ストレージ環境では、2つの仮想ストレージ・サーバがそれぞれいくつか(4つまたは8つなど)の仮想ストレージ・コントローラに接続される。各コントローラおよび各サーバに接続されたホスト・デバイスが、ストレージ・ライブラリに接続される。ライブラリは、多数のストレージ・ドライブ、多数のデータ・カートリッジ用のシェルフ、およびシェルフとストレージ・ドライブとの間で要求されたカートリッジを移送するための1つまたは複数のアクセス機構を含むことができる。ホスト・デバイスに対しては、システム全体が単一の自動化ストレージ・ライブラリとして現われる。本明細書では本発明を、磁気テープ媒体上に格納されたデータに関して説明する。したがって本明細書では、「仮想ストレージ・コントローラ」および「仮想ストレージ・サーバ」をそれぞれ「仮想テープ・コントローラ」(「VTC」)および「仮想テープ・サーバ」(「VTS」)と呼ぶ場合もある。しかしながら本発明は、テープ環境での使用に限定されるものではなく、磁気ディスク・ストレージおよび光ストレージなどの他の環境でも同様に実施可能である。
図1は、本発明が実施可能な典型的なデータ・ストレージ・システム100を示すブロック図である。IBM(登録商標)Model AXO Virtual Tape Controllerなどのいくつか(典型的には4つまたは8つ)の仮想テープ・コントローラ110A、110B、110C、および110Dが、それぞれ、IBM 3494 Model Bxx Virtual Tape Serverなどの2つの仮想テープ・サーバ120Aおよび120Bに接続される。第1のVTS 120Aは第1のテープ・ライブラリ130Aに接続され、第2のVTS 120Bは第2のテープ・ライブラリ130Bに接続される。ライブラリ130Aおよび130Bは、IBMモデル3494テープ・ライブラリとすることができる。各VTC 110A〜Dは、IBM System/390(登録商標)などのホスト・デバイス140にも接続される。
記載された構成は、ピアツーピアのコピー動作も可能である。図2に示された従来の方法では、顧客データ150のボリュームが、ホスト140からVTCの1つである110Aへ書き込み要求の一部として転送される(ステップ1)。ボリューム150は、関連ライブラリ130A内のテープ媒体の最終ストレージ用に、VTSの1つである120Aへ転送される(ステップ3)。さらに、ホスト書き込み要求を受信したVTC 110Aは、ボリューム150を第2のライブラリ130B内の媒体にコピーする(ステップ5)ための要求を、第2のVTS 120Bに対して発行する(ステップ4)。即時モードで動作している場合、第1のVTC 110Aは、ボリューム150が第2のライブラリ130Bにコピーされたことが通知される(ステップ6)まで待機した後、書き込み要求が完了したという確認をホスト140に提供する(ステップ7)。別のモードの場合、第1のVTC 110Aは、書き込み要求が完了したことをホスト140に通知した後、ボリューム150が第2のライブラリ130Bにコピーされた旨の通知を受信することができる。ホスト140は「完了」メッセージを受信した後、別のI/Oオペレーションを含む他のオペレーションを自由に実行することができる。
図示された従来の方法では、通常、ホスト・デバイス140はVTC 110A〜Dの現在の作業負荷とはほとんど無関係に、書き込み動作を処理するVTCを選択する。AXO VTCは3つの同時複製動作しか実行できないので、その作業キュー(queue)内には16または32の複製などのかなりのバックログを有する可能性がある。したがって、動作が完了した旨をホスト140に通知できるまでにかなりの時間がかかる可能性があり、これによってホスト140が同じ時間枠に他の動作を実行するのが妨げられる。さらに、キュー内にあるジョブが少ない他のVTCは、最初のVTCがキューで作業をしている間アイドルとなる可能性がある。
特定のVTC−VTS通信リンクが他のホストI/O動作によって過剰に利用された場合、同様の問題が生じる。こうした他の動作が、キュー内のコピー要求を遅延させる可能性がある。
したがって、コピー要求を分配するためのより効率の良い方法が求められている。
本発明は、データ・ストレージ・システム内でのコピー動作の効率を上げるための方法、装置、およびプログラムを提供するものである。複数の仮想ストレージ・コントローラが、それぞれホスト・デバイスおよび2つの仮想ストレージ・サーバと通信している。どちらの仮想ストレージ・サーバも、それぞれ自動化されたストレージ・ライブラリに接続される。各コントローラには1つのコピー・キューが含まれる。顧客データのボリュームをサーバの1つを介して関連ライブラリ内の媒体に格納するように指示した後、開始コントローラは、当該ボリュームを他のライブラリにコピーするようにという旨の要求をコピー・キューにキューイングする。当該要求がごく短い期間の間に開始コントローラによって処理されない場合、開始コントローラは当該コピー要求を他のコントローラにブロードキャストする。好ましくは、当該コピー要求は最初に開始コントローラからサーバの1つにあるルーティング・デバイスに送信され、これが、当該要求を他のそれぞれのコントローラにブロードキャストする。コピー要求は、他のそれぞれのコントローラのコピー・キューにキューイングされる。コントローラの1つが当該要求を処理し、ボリュームが第2のライブラリにコピーされた後、処理コントローラは他のコントローラにメッセージをブロードキャストし、他のコントローラはそれぞれのコピー・キューからコピー要求をデキューイング(dequeuing)する。こうしたメッセージを受信すると、開始コントローラは、ボリュームが首尾よく格納およびコピーされた旨のメッセージをホスト・デバイスに送信する。
2つまたはそれ以上のコントローラがほぼ同時にコピー要求を処理しようとする可能性を減らすために、好ましくはコピー要求が各コピー・キュー内に配置される時間と、これを各コントローラが処理できる時間との間に、遅延が課される。当該遅延は、各コントローラについて事前に決定するか、または各コピー要求に伴ってランダムに生成することができる。
図3のブロック図および図4の流れ図を参照しながら、本発明の実施態様について説明する。データ・ストレージ・システム300は、いくつか(4つまたは8つなど)の仮想テープ・コントローラ310A、310B、310C、および310Dを含む。各コントローラ310A〜Dは、適切なアダプタおよびインターフェースを介して2つの仮想テープ・サーバ320Aおよび320Bに接続される。第1のサーバ320Aは第1の自動化ストレージ・ライブラリ330Aに接続され、第2のサーバ320Bは第2の自動化ストレージ・ライブラリ330Bに接続される。各コントローラ310A〜Dは、適切なアダプタおよびインターフェースを介してホスト・デバイス340とも接続される。各コントローラ310A〜Dは、それぞれコピー・キュー312A〜Dを含み、サーバ320Aおよび320Bはどちらも、それぞれルーティング・デバイス322Aおよび322Bを含む。
動作時、ホスト340は仮想コントローラ310のうちの1つを選択し(ステップ400)、顧客データのボリューム350を格納する旨の書き込み要求を発行する(ステップ402)。図示された例では、選択されたコントローラは第2のコントローラ310Bであるが、前述のように任意のコントローラを選択することができる。書き込み要求は、選択された仮想コントローラ310Bから2つの仮想サーバのうちの1つに送信され(図示された例では、書き込み要求は第1のサーバ320Aに送信される)(ステップ404)、次にこれが関連するライブラリ330Aにボリュームを格納する(ステップ406)。ホスト340は、コントローラ310Bへの書き込み要求の発行を完了すると、「書き込み完了」メッセージを発行する(ステップ408)。選択されたコントローラ310Bは、そのキュー312B内に、関連するライブラリ330Bに格納するために第2のサーバ320Bを介してボリュームをコピーする旨の要求をキューイングする(ステップ410)。
第2のコントローラ310Bのコピー・キュー312B内で待機状態となっているジョブがわずかである場合(ステップ412)、当該要求は、コピー要求を第2のサーバ320Bへ送信することによって、1秒などの比較的短時間のうちに処理される可能性がある(ステップ414)。しかしながら、より多くのジョブが、当該要求を即時に処理するために第2のコントローラ310Bに関するキュー内で待機状態となっている場合がある。第2のコントローラ310Bは、当該コピー要求をキューの最初に進むまで待機させておく(数秒またはそれ以上かかる可能性がある)のではなく、当該コピー要求を他のコントローラ310A、310C、および310Dにブロードキャストする(ステップ416)。好ましくは、当該コピー要求は第1にサーバ320のうちの1つにあるルータ322に送信され、図示された例では、第1のサーバ320A内のルーティング・デバイス322Aが採用される(ステップ416)。その後、当該ルーティング・デバイス322Aは当該コピー要求を他のコントローラ310A、310C、および310Dのすべてにブロードキャストし、当該コピー要求は、他の各コントローラ310A、C、およびDのコピー・キュー312A、C、およびDそれぞれにキューイングされる(ステップ418)。
最終的には、コピー・ジョブは、起点のコントローラ310Bのコピー要求を含むコピー要求312A、B、C、およびDのうちの1つの最初まで進むことになる。図示された例では、コピー・ジョブは、ボリュームのコピー350Aを第2のサーバ320Bへ送信し(ステップ420)、これが第2のライブラリ330B内の媒体に格納する(ステップ422)ことにより、第3のコントローラ310Cによって処理される。その後、第3のコントローラ310Cは、他の処理中でないコントローラ310A、B、およびDに「完了」メッセージをブロードキャストする(ステップ424)。好ましくは、「完了」メッセージは、第1にサーバのうちの1つのルーティング・デバイス(図3では第2のサーバ320Bのルーティング・デバイス322B)に送信され、これがメッセージを他のコントローラ310A、B、およびDにブロードキャストする(ステップ426)。他のすべてのコントローラ310A、B、およびDは、そのそれぞれのコピー・キュー312A、B、およびDからコピー・ジョブをデキューイングする(ステップ428)。さらに起点のコントローラ310Bは、「完了」メッセージを受信すると(または起点のコントローラ310Bが要求を処理すると)、「完了」メッセージをホスト340に返送する(ステップ340)。
コントローラ310A〜Dのうちの2つまたはそれ以上が、同時にコピー要求の処理を試みることが可能である。したがって、コピー要求が処理される前に、各コントローラ内での遅延を課すことが好ましい。たとえば各コントローラ310A〜Dは、同時処理の可能性を減少させるために、ランダムな時間遅延を生成することができる。遅延は、従来の乱数生成器から生成される、特定のコントローラのユニット数と組み合わされたコピーされるボリューム名に基づいて生成される、時間単位のリスト(0、1、2、または3秒など)からランダムに選択される、あるいは、他の好適な方法から生成されることが可能である。同時処理の可能性を減少させることができる他の要素は、コントローラ310A〜Dがコピー要求を含むメッセージを取り出す速度が、それぞれの現在の作業負荷に依存していることである。コントローラは、メッセージを取り出すためにいつでも動作を即時に一時停止できるとは限らない。
図5は、本発明が実施可能な仮想テープ・コントローラ310を示すブロック図である。コントローラ310は、コピー・キュー312に加えて、メモリ316に格納されたコンピュータ読取り可能アプリケーション・コード318に埋め込まれた命令を実行するようにプログラムされたプロセッサ314を含む。
記載された技法は、標準的なプログラミングまたはエンジニアリング技法、あるいはその両方を使用して、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成する方法、装置、またはコンピュータ・プログラムとして実施することができる。本明細書で使用される「コンピュータ・プログラム」という用語は、ハードウェア論理(たとえば集積回路チップ、プログラム可能ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)、あるいは、コンピュータ読取り媒体(たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなどの磁気ストレージ媒体)、光学ストレージ(たとえばCD−ROM、光ディスクなど)、揮発性および不揮発性のメモリ・デバイス(たとえばEEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラム可能論理など)で実施される、コードまたは論理を表す。プロセッサが、このコンピュータ読取り可能媒体のコードにアクセスして実行する。インプリメンテーションが実行されるコードには、伝送媒体を介して、またはネットワークを通じてファイル・サーバからもアクセスすることができる。このような場合、コードがインプリメントされる製品は、ネットワーク伝送回線、無線伝送媒体、空間を介した信号伝搬、電波、赤外線信号、その他などの、伝送媒体を備えることができる。もちろん当業者であれば、本構成には、本実施態様の範囲から逸脱することなく多くの修正が実行可能であること、ならびに当該製品は、当分野で周知の任意の情報伝搬媒体を備えることが可能であることを理解されよう。
図に示された論理は、一定の順序で発生する一定のイベントを示している。代替の実施態様では、一定の動作を異なる順序で実行、修正、または除去することが可能である。さらに諸ステップを前述の論理に追加し、それでもなお記載された実施態様に準じることも可能である。また、本明細書に記載された動作を順番に実行するか、または一定の動作を並行して処理することも可能である。さらに動作は、単一の処理ユニットによって、または分散型処理ユニットによって実行可能である。
以上、本発明の目的について、本明細書に開示された実施形態を通じて完全に実現してきた。当業者であれば、本発明の様々な態様が、本発明に不可欠な機能を逸脱することなく様々な実施形態を通じて達成できることを理解されよう。特定の実施形態は例示的なものであり、添付の特許請求の範囲に記載された本発明の範囲を限定することを意図するものではない。
本発明が実施可能なデータ・ストレージ・システムを示すブロック図である。 データ・ストレージ・システム内のコピー要求を処理する従来技術の方法を示すブロック図である。 データ・ストレージ・システム内のコピー要求を処理する本発明の方法を示すブロック図である。 本発明の方法を示す流れ図である。 本発明の仮想ストレージ・コントローラを示すブロック図である。
符号の説明
312A コピー・キュー
312B コピー・キュー
312C コピー・キュー
312D コピー・キュー
322A ルータ
322B ルータ
330A ストレージ
330B ストレージ
340 ホスト
350 ボリューム
350A コピー

Claims (19)

  1. 2つの仮想サーバとそれぞれがホスト・デバイスおよび各仮想サーバに結合された複数の仮想コントローラとを有し、各仮想サーバは2つのストレージ・ライブラリのうちの1つにさらに結合された、データ・ストレージ・システム内に、データを格納するための方法であって、
    データのボリュームを格納するためにホスト・デバイスからの書き込み要求を第1の仮想コントローラ内で受信するステップと、
    第1のライブラリに格納するために前記ボリュームを第1の仮想サーバへ送信するステップと、
    前記第1の仮想コントローラのキューに前記ボリュームをコピーする旨の要求をキューイングするステップと、
    前記コピー要求が前記第1の仮想コントローラによって所定の時間内に処理されない場合は、
    (a) 前記コピー要求を各々の他の仮想コントローラにブロードキャストするステップと、
    (b) 前記コピー要求を各々の他の仮想コントローラのコピー・キュー内に配置するステップと、
    (c) 前記コピー要求を前記仮想コントローラのうちの1つによって処理するステップと、
    (d) 前記処理中の仮想コントローラから各々の処理中でない仮想コントローラへ、「完了」メッセージをブロードキャストするステップと、
    前記第1の仮想コントローラから前記ホスト・デバイスへ「コピー完了」メッセージを送信するステップと、
    を有する方法。
  2. 前記コピー要求を各々の他の仮想コントローラにブロードキャストするステップが、
    コピー要求を、前記第1の仮想コントローラから、前記第1および第2の仮想サーバのうちの1つにあるルーティング・デバイスへ送信するステップと、
    前記コピー要求を、前記ルーティング・デバイスから各々の他の仮想コントローラへブロードキャストするステップと、
    を有する、請求項1に記載の方法。
  3. 前記「完了」メッセージを、各々の処理中でない仮想コントローラへブロードキャストするステップが、
    前記「完了」メッセージを、前記処理中の仮想コントローラから、前記第1および第2の仮想サーバのうちの1つにあるルーティング・デバイスへ送信するステップと、
    前記「完了」メッセージを、前記ルーティング・デバイスから各々の他の仮想コントローラへブロードキャストするステップと、
    を有する、請求項1に記載の方法。
  4. 前記コピー要求を各々の他の仮想コントローラへブロードキャストするステップが、
    コピー要求を、前記第1の仮想コントローラから、前記第1および第2の仮想サーバのうちの1つにあるルーティング・デバイスへ送信するステップと、
    前記コピー要求を、前記ルーティング・デバイスから他の各仮想コントローラへブロードキャストするステップと、
    を有し、
    前記「完了」メッセージを、各々の処理中でない仮想コントローラへブロードキャストするステップが、
    前記「完了」メッセージを、前記処理中の仮想コントローラから、前記第1および第2の仮想サーバのうちの1つにあるルーティング・デバイスへ送信するステップと、
    前記「完了」メッセージを、前記ルーティング・デバイスから各々の他の仮想コントローラへブロードキャストするステップと、
    を有する、
    請求項1に記載の方法。
  5. 前記コピー要求の処理に続いて、各々の処理中でない仮想コントローラのキューから前記コピー要求をデキューイングするステップをさらに有する、請求項1に記載の方法。
  6. 各々の仮想コントローラが、各種遅延期間について前記コピー要求を処理しようとするのを防止するステップをさらに有する、請求項1に記載の方法。
  7. 各種遅延の各々がランダムな遅延を有する、請求項6に記載の方法。
  8. 各種遅延期間の各々が複数の所定の時間単位からランダムに選択される、請求項6に記載の方法。
  9. 前記所定の時間がほぼ1秒である、請求項1に記載の方法。
  10. 前記仮想コントローラが仮想テープ・コントローラであり、前記仮想サーバが仮想テープ・サーバである、請求項1に記載の方法。
  11. その各々がホスト・デバイスに接続された複数の仮想コントローラと、
    その各々が各仮想コントローラに接続された第1および第2の仮想サーバと、
    その各々が第1および第2の仮想サーバにそれぞれ接続された、第1および第2のストレージ・ライブラリと、
    データのボリュームを格納するための前記ホスト・デバイスからの書き込み要求を第1の仮想コントローラ内で受信するための手段と、
    前記第1のストレージ・ライブラリに格納するために前記第1の仮想サーバへ前記ボリュームを送信するための手段と、
    前記第1の仮想コントローラのキューに前記ボリュームをコピーする旨の要求をキューイングするための手段と、
    前記コピー要求が前記第1の仮想コントローラによって所定の時間枠内に処理されない場合は、前記コピー要求を各々の他の仮想コントローラにブロードキャストするための手段と、
    前記コピー要求を各々の他の仮想コントローラのキューにキューイングするための手段と、
    前記コピー要求を前記仮想コントローラのうちの1つによって処理するための手段と、
    前記処理中の仮想コントローラから各々の処理中でないコントローラへ、「完了」メッセージをブロードキャストするための手段と、
    前記第1の仮想コントローラから前記ホスト・デバイスへ「コピー完了」メッセージを送信するための手段と、
    を有する、データ・ストレージ・システム。
  12. ホスト・デバイスに接続するためのホスト・アダプタと、
    第1および第2の仮想ストレージ・サーバにそれぞれ接続するための第1および第2のアダプタであって、前記第1および第2の仮想サーバはそれぞれ第1および第2のストレージ・ライブラリに結合され、さらに複数の他の仮想ストレージ・コントローラの各々に結合される、第1および第2のアダプタと、
    前記ホスト・デバイスから受信したコピー要求を格納するためのコピー・キューと、
    (1) データのボリュームを格納するために前記ホスト・デバイスから書き込み要求を受信するための命令、
    (2) 前記第1のライブラリに格納するために前記ボリュームを前記第1の仮想ストレージ・サーバへ送信するための命令、
    (3) 前記ボリュームをコピーする旨の要求を前記コピー・キューにキューイングするための命令、
    (4) 前記コピー要求が所定の時間内に前記仮想ストレージ・コントローラによって処理されない場合は、前記コピー要求を各々の他の仮想コントローラにブロードキャストし、それによって前記コピー要求が各々の他の仮想ストレージ・コントローラ内のコピー・キューにキューイングされるための命令、
    (5) 前記コピー要求を前記仮想コントローラのうちの1つによって処理するための命令、
    (6) 前記コピー要求を処理した仮想ストレージ・コントローラから「完了」メッセージを受信し、前記「完了」メッセージが各々の処理中でないストレージ・コントローラへブロードキャストされるための命令、
    (7) 前記ホスト・デバイスへ「コピー完了」メッセージを送信するための命令、
    を実行するようにプログラムされたプロセッサと、
    を有する、仮想ストレージ・コントローラ。
  13. ホスト・デバイスに接続するためのホスト・アダプタと、
    第1および第2の仮想ストレージ・サーバにそれぞれ接続するための第1および第2のアダプタであって、前記第1および第2の仮想サーバはそれぞれ第1および第2のストレージ・ライブラリに結合され、さらに、第1の仮想ストレージ・コントローラを含む複数の他の仮想ストレージ・コントローラの各々に結合される、第1および第2のアダプタと、
    コピー要求を格納するためのコピー・キューと、
    (1)前記第1の仮想ストレージ・コントローラからボリュームをコピーする旨の要求を受信するための命令、
    (2)前記ボリュームをコピーする旨の要求を前記コピー・キューにキューイングするための命令、
    (3)他の仮想ストレージ・コントローラから「完了」メッセージが受信されない場合に、前記コピー要求を処理するための命令、
    (4)各々の他の仮想ストレージ・コントローラに「完了」メッセージをブロードキャストするための命令、
    を実行するようにプログラムされたプロセッサと、
    を有する、仮想ストレージ・コントローラ。
  14. 前記仮想ストレージ・コントローラが、他の仮想ストレージ・コントローラと実質的に同時に前記コピー要求を処理しようとする可能性、を減少させるための命令をさらに有する、請求項13に記載の仮想ストレージ・コントローラ。
  15. 前記コピー要求を処理するための前記命令が、
    他の仮想ストレージ・コントローラから「完了」メッセージが受信されない場合、遅延期間後に前記要求を処理するための命令と、
    前記遅延期間中に他の仮想ストレージ・コントローラから「完了」メッセージが受信された場合、前記コピー要求を取り消し、前記コピー・キューから前記コピー要求を除去するための命令と、
    を有する、請求項14に記載の仮想ストレージ・コントローラ。
  16. 前記遅延期間が、前記コピー要求の対象である前記ボリュームの名前と組み合わされた仮想ストレージ・コントローラのユニット番号から生成された番号を有する、請求項15に記載の仮想ストレージ・コントローラ。
  17. プログラム可能コンピュータと共に使用可能なコンピュータ読取り可能媒体のコンピュータ・プログラムであって、前記コンピュータ・プログラムは、顧客データを格納するために具体化され、複数のうちの第1の仮想ストレージ・コントローラ上で実行可能なコンピュータ読取り可能コードを有し、各々の仮想ストレージ・コントローラは、ホスト・デバイスと第1および第2の仮想ストレージ・サーバとに結合され、前記コンピュータ読取り可能コードは、
    データのボリュームを格納するために前記ホスト・デバイスから前記第1の仮想ストレージ・コントローラによって書き込み要求が受信された場合に、
    (1) 第1のライブラリに格納するために前記ボリュームを前記第1の仮想ストレージ・サーバに送信し、
    (2) 前記ボリュームをコピーする旨の要求を前記第1の仮想ストレージ・コントローラ内のキューにキューイングし、
    (3) 前記コピー要求が前記第1の仮想ストレージ・コントローラによって所定の時間内に処理されない場合には、
    (3−1) 前記コピー要求を各々の他の仮想ストレージ・コントローラにブロードキャストし、それによって前記コピー要求が各々の他の仮想ストレージ・コントローラのキュー内にキューイングされ、
    (3−2) 前記コピー要求を処理中の第2の仮想ストレージ・コントローラから「完了」メッセージを受信し、
    (4) 前記コピー要求が前記第1の仮想ストレージ・コントローラによって所定の時間内に処理される場合には、
    (4−1) 第2のライブラリに格納するために前記ボリュームを前記第2の仮想ストレージ・サーバに送信し、
    (4−2) 「完了」メッセージを各々の他の仮想ストレージ・コントローラにブロードキャストし、それによって各々の他の仮想ストレージ・コントローラ内のコピー・キューから前記コピー要求が除去され、
    (5) 前記ホスト・デバイスへ「コピー完了」メッセージを送信し、
    データのボリュームを格納するために前記ホスト・デバイスから前記第2の仮想ストレージ・コントローラによって書き込み要求が受信された場合に、
    (6) 前記第2の仮想ストレージ・コントローラからボリュームをコピーする旨の要求を受信し、
    (7) 前記コピー要求を前記キューにキューイングし、
    (8) 「完了」メッセージが他の仮想ストレージ・コントローラから受信されない場合には、
    (8−1) 前記コピー要求を処理し、
    (8−2) 「完了」メッセージを各々の他のストレージ・コントローラにブロードキャストする、
    ための命令を有する、コンピュータ・プログラム。
  18. 前記コピー要求が前記第1の仮想ストレージ・コントローラによって所定の時間内に処理されない場合に、前記「完了」メッセージの受信に続いて、各々の処理中でない仮想コントローラの前記キューから前記コピー要求をデキューイングするための命令と、
    データのボリュームを格納するために前記第2の仮想ストレージ・コントローラによって前記ホスト・デバイスから書き込み要求が受信された場合に、前記コピー要求の前記処理に続いて、前記コピー要求を前記キューから除去するための命令と、
    をさらに有する、請求項17に記載のコンピュータ・プログラム。
  19. 前記ボリュームをコピーする旨の要求が、前記第1の仮想ストレージ・コントローラによって前記第2の仮想ストレージ・コントローラから受信された場合、前記第1の仮想ストレージ・コントローラが、他の仮想ストレージ・コントローラと実質的に同時に前記コピー要求を処理しようとする可能性、を減少させるための命令をさらに有する、請求項17に記載のコンピュータ・プログラム。
JP2005129031A 2004-05-05 2005-04-27 仮想ストレージ・コントローラ間での自己最適化作業負荷分配 Expired - Fee Related JP4617194B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/839,516 US7636916B2 (en) 2004-05-05 2004-05-05 Self-optimizing workload distribution among virtual storage controllers

Publications (3)

Publication Number Publication Date
JP2005322230A JP2005322230A (ja) 2005-11-17
JP2005322230A5 JP2005322230A5 (ja) 2008-05-08
JP4617194B2 true JP4617194B2 (ja) 2011-01-19

Family

ID=35240630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129031A Expired - Fee Related JP4617194B2 (ja) 2004-05-05 2005-04-27 仮想ストレージ・コントローラ間での自己最適化作業負荷分配

Country Status (3)

Country Link
US (1) US7636916B2 (ja)
JP (1) JP4617194B2 (ja)
CN (1) CN1321365C (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853759B2 (en) * 2007-04-23 2010-12-14 Microsoft Corporation Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US7689759B2 (en) * 2007-08-29 2010-03-30 International Business Machines Corporation Method and apparatus for providing continuous access to shared tape drives from multiple virtual tape servers within a data storage system
JP4674242B2 (ja) * 2008-02-05 2011-04-20 富士通株式会社 仮想化スイッチ、コンピュータシステムおよびデータコピー方法
US9886211B2 (en) 2009-10-07 2018-02-06 International Business Machines Corporation Selecting a virtual tape server in a storage system to provide data copy while minimizing system job load
US9047126B2 (en) * 2011-04-06 2015-06-02 International Business Machines Corporation Continuous availability between sites at unlimited distances
US9058304B2 (en) * 2011-06-30 2015-06-16 International Business Machines Corporation Continuous workload availability between sites at unlimited distances
US9641449B2 (en) 2012-05-22 2017-05-02 International Business Machines Corporation Variable configurations for workload distribution across multiple sites
US8595385B1 (en) * 2013-05-28 2013-11-26 DSSD, Inc. Method and system for submission queue acceleration
JP2016018384A (ja) * 2014-07-08 2016-02-01 富士通株式会社 ストレージ制御装置、ストレージシステム、及びプログラム
WO2016112956A1 (en) 2015-01-13 2016-07-21 Huawei Technologies Co., Ltd. System and method for dynamic orchestration
US10996967B1 (en) * 2016-06-24 2021-05-04 EMC IP Holding Company LLC Presenting virtual disks as dual ported drives to a virtual storage system
CN113778914B (zh) * 2020-06-09 2024-06-18 华为技术有限公司 用于执行数据处理的装置、方法、和计算设备
CN113176951A (zh) * 2021-04-20 2021-07-27 京东数字科技控股股份有限公司 消息复制方法、装置、设备及计算机可读介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440686A (en) * 1993-12-22 1995-08-08 International Business Machines Corporation Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates
JP2000010897A (ja) * 1998-05-28 2000-01-14 Compaq Computer Corp コンピュ―タ・システムにおいて用いられマルチ処理を行う入出力サブシステムの間でタスクを分散させるシステム及び方法
JP2003067248A (ja) * 2001-06-27 2003-03-07 Internatl Business Mach Corp <Ibm> 記憶装置のキャッシング方法およびシステム
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP2003242097A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd クロスコール機能を備えるディスク制御装置
JP2003316715A (ja) * 2002-04-24 2003-11-07 Hitachi Ltd 複数ポートを有するコンピュータの制御方法、複数ポートを有するコンピュータ、コンピュータシステムの制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
GB9414951D0 (en) * 1994-07-25 1994-09-14 British Telecomm Computer system having client-server architecture
WO1998040810A2 (en) * 1997-03-12 1998-09-17 Storage Technology Corporation Network attached virtual tape data storage subsystem
US6003044A (en) * 1997-10-31 1999-12-14 Oracle Corporation Method and apparatus for efficiently backing up files using multiple computer systems
US6393537B1 (en) * 1998-01-06 2002-05-21 International Business Machines Corporation Host storage management control of outboard data movement
US6477591B1 (en) * 1998-03-03 2002-11-05 Highground Systems, Inc. Method and apparatus for storing and copying data via a first path and a second path wherein second path bypasses mirror driver
US6249849B1 (en) * 1999-06-16 2001-06-19 International Business Machines Corporation “Fail-Safe” updating of redundant data in multiple data storage libraries
US6502165B1 (en) * 1999-12-03 2002-12-31 International Business Machines Corporation Balanced access to data volumes with redundant copies stored in data storage libraries
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6535967B1 (en) * 2000-01-19 2003-03-18 Storage Technology Corporation Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
US6477628B1 (en) * 2000-01-28 2002-11-05 International Business Machines Corporation Backup copy achieving improved efficiency by waiting until rewind/unload command for bulk data copy
US6804755B2 (en) * 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6507883B1 (en) * 2000-10-23 2003-01-14 International Business Machines Corporation Recalling logical volumes to cache from physical media volumes for redundant storage in automated data storage libraries
US6510500B2 (en) * 2001-03-09 2003-01-21 International Business Machines Corporation System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment
US6779058B2 (en) * 2001-07-13 2004-08-17 International Business Machines Corporation Method, system, and program for transferring data between storage devices
EP1440536B1 (en) * 2001-10-29 2005-06-08 Nokia Corporation Method for providing multicast and/or broadcast services to user terminals
US7401124B2 (en) * 2003-09-05 2008-07-15 International Business Machines Corporation Apparatus and method to write information to two geographically separated virtual tape servers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440686A (en) * 1993-12-22 1995-08-08 International Business Machines Corporation Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates
JP2000010897A (ja) * 1998-05-28 2000-01-14 Compaq Computer Corp コンピュ―タ・システムにおいて用いられマルチ処理を行う入出力サブシステムの間でタスクを分散させるシステム及び方法
JP2003067248A (ja) * 2001-06-27 2003-03-07 Internatl Business Mach Corp <Ibm> 記憶装置のキャッシング方法およびシステム
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP2003242097A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd クロスコール機能を備えるディスク制御装置
JP2003316715A (ja) * 2002-04-24 2003-11-07 Hitachi Ltd 複数ポートを有するコンピュータの制御方法、複数ポートを有するコンピュータ、コンピュータシステムの制御方法

Also Published As

Publication number Publication date
US7636916B2 (en) 2009-12-22
CN1694057A (zh) 2005-11-09
US20050251547A1 (en) 2005-11-10
CN1321365C (zh) 2007-06-13
JP2005322230A (ja) 2005-11-17

Similar Documents

Publication Publication Date Title
JP4617194B2 (ja) 仮想ストレージ・コントローラ間での自己最適化作業負荷分配
US8055865B2 (en) Managing write requests to data sets in a primary volume subject to being copied to a secondary volume
US7904684B2 (en) System and article of manufacture for consistent copying of storage volumes
US9652414B1 (en) Balancing response times for synchronous I/O requests having different priorities
US7523275B2 (en) Method, system, and program for maintaining a copy relationship between primary volumes and corresponding secondary volumes
CN100385406C (zh) 执行与多个代理节点关联的备份节点的计划备份
JP5147941B2 (ja) 異なるネットワークを介した1次ストレージから2次ストレージへの書き込みコピーを管理するための方法、システム、およびコンピュータ・プログラム
JP4898625B2 (ja) ホストの入力/出力(i/o)活動を変更し、i/o活動が向けられるストレージ・ドライブが、要求された情報にアクセスすることを可能にする方法、システム及びコンピュータ・プログラム
US8032702B2 (en) Disk storage management of a tape library with data backup and recovery
US7991972B2 (en) Determining whether to use a full volume or repository for a logical copy backup space
US7890714B1 (en) Redirection of an ongoing backup
JP2005322230A5 (ja)
JP5263902B2 (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびコンピュータ・プログラム
JP2005216299A (ja) ストレージネットワークにおける書き込みオペレーション制御
US20080002694A1 (en) Method to accelerate NDMP based virtual tape library operations
US8903766B2 (en) Data mirroring using a virtual connection
US7698519B2 (en) Backup of hierarchically structured storage pools
US8456994B2 (en) Transmit request management in a distributed shared storage system
US7882329B2 (en) Cancellation of individual logical volumes in premigration chains
US8909825B2 (en) System for determining a maximum multiplicity set for communication lines between a plurality of devices using a calculated rate received from the plurality of devices
US7636821B2 (en) Asynchronous hybrid mirroring system
US7587466B2 (en) Method and computer system for information notification
JP2016167297A (ja) コンピュータシステムでのデータの複製を最適化するための方法、装置およびコンピュータプログラム
JP4072963B2 (ja) ストレージ・ボリュームの整合したコピーのための方法、システム、および製品
US20180173784A1 (en) Optimized cloning for backup to disk

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080325

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101012

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: 20101019

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101025

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees