JP2007328785A - 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法 - Google Patents

複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP2007328785A
JP2007328785A JP2007149530A JP2007149530A JP2007328785A JP 2007328785 A JP2007328785 A JP 2007328785A JP 2007149530 A JP2007149530 A JP 2007149530A JP 2007149530 A JP2007149530 A JP 2007149530A JP 2007328785 A JP2007328785 A JP 2007328785A
Authority
JP
Japan
Prior art keywords
session
thread
storage volume
computing device
remote mirroring
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.)
Granted
Application number
JP2007149530A
Other languages
English (en)
Other versions
JP5235338B2 (ja
Inventor
Liang Tan Michael
マイケル・リアン・タン
Sanjoy Das
サンジョイ・ダス
Sathees Babu Kodi
サジース・バブー・コディ
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 JP2007328785A publication Critical patent/JP2007328785A/ja
Application granted granted Critical
Publication of JP5235338B2 publication Critical patent/JP5235338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Abstract

【課題】複数の仮想化リモート・ミラーリング・セッションの整合性グループを作成および管理するためのシステムおよび方法を提供する。
【解決手段】ユーザは、複数の仮想セッションがあたかも異なる物理セッションに属するストレージ・ボリュームであるかのように、これらのセッションを作成および管理する。フェイルオーバおよびフェイルバック・オペレーションを、仮想セッションの第1のセットに関して実行しながら、他の仮想セッションは未中断で続行することが可能である。選択されたアプリケーションの実動作業負荷を、他のアプリケーションが実動サイトで実行を継続しながら、選択的なフェイルオーバ・オペレーションを介して実動サイトから回復サイトへ一時的に移動させるフレキシビリティがユーザに与えられる。その後、それらのフェイルオーバしたアプリケーションは実動サイトにフェイルバックし、物理セッションと再結合することができる。
【選択図】図5

Description

本出願は、一般に、改良されたデータ処理システムおよび方法に関する。とりわけ、本出願は、複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法を対象とする。
ビジネス関連情報の保守および使用に関してコンピューティング・システムおよびストレージ・システムへの依存が益々増加しつつある現在のビジネスでは、災害時回復がかなり重要である。したがって、企業および個人が自分のストレージ・システムの障害イベント時であっても自分のデータにアクセスできることを保証する助けとなるように、多くの異なる災害時回復メカニズムが考案されてきた。
これまでに開発されてきたこうした災害時回復メカニズムの1つが、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシンズ社から入手可能なGlobal Mirror(TM)災害時回復ソリューションであり、これは、DS8100、DS8300、DS6800、ESS Model 800、およびESS Model 750を含むIBM(IBM Corporationの商標)のエンタープライズ・ストレージ・デバイス上で使用可能である。
Global Mirror(TM)は、非同期技術を使用して2つのサイトにわたる長距離リモート・コピー・ソリューションを提供する。Global Mirror(TM)ソリューションは、全体性能に影響を与えることなく、より長い距離を介したストレージ・ユニットのボリューム・ペア間でのデータのミラーリング機能を提供する。Global Mirror(TM)は、ローカル・サイトでの災害時に、回復(またはリモート)サイトでアプリケーション整合データを提供するようにも設計される。リモート・ボリュームのセットを数秒ごとに作成することによって、Global Mirror(TM)ソリューションは、大規模なデータベースおよびボリュームが複数のストレージ・ユニットにわたる場合に生じる可能性のある、整合性の問題に対処する。Global Mirror(TM)を使用すると、リモート・サイトのデータは、ローカル・サイトのデータのポイント・イン・タイム整合コピーであるように維持される。
既存のコピー・サービス機能Global Copy(TM)およびFlashCopy(IBM Corporationの商標)に基づく。Global Mirror(TM)オペレーションは、回復サイトにおいて、正規の間隔で、ソース・ボリュームへのI/Oを中断することなく、定期的にポイント・イン・タイムFlashCopy(R)オペレーションを起動し、したがって、ほぼ最新のデータ・バックアップを連続して更新する。その後、多くのボリュームを、マスタ・ストレージ・ユニットによって管理されるセッションにグループ化することにより、複数のボリュームにまたがってポイント・イン・タイム整合性を維持しながら、複数のボリュームを同時に回復サイトにコピーすることができる。
Global Mirror(TM)ソリューションでは、マスタ・ストレージ・ユニットがGlobal Mirror(TM)セッションでの整合性グループの作成を制御する。マスタ・ストレージ・ユニットは、従属ストレージ・ユニットにコマンドを送る。ストレージ・ユニットは、単一のGlobal Mirror(TM)セッションのみに対するマスタとすることができる。
重複ストレージ・ユニットは、マスタ・ストレージ・ユニットからコマンドを受け取る。従属ストレージ・ユニットは、Global Mirror(TM)セッションが開始された時点で識別される。従属ストレージ・ユニットは整合性グループを形成し、他のGlobal Mirror(TM)処理を実行する。従属ストレージ・ユニットは、1つのマスタ・ストレージ・ユニットによってのみ制御可能である。
セッションとは、データの整合コピーを作成するためにまとめて管理される、複数のストレージ・ユニットをまたがるボリュームの集まりのことである。セッションは、企業全体にわたって固有のIDで識別される。IDは、Global Mirror(TM)整合性グループに参加することになるボリュームを識別する。災害時回復の場合、回復に必要なセッション内のボリュームは、障害時点まで一貫していることが必要である。これらのボリューム上のデータが順番どおりにコピーされない場合、これらのボリュームを使用する回復手順は役に立たなくなる。
複数のストレージ・ユニットがGlobal Mirror(TM)セッションに参加している場合、制御パスは、マスタ・ストレージ・ユニットから従属ストレージ・ユニットへと確立される。各マスタ・ストレージ・ユニットとその対応する各従属ストレージ・ユニットとの間には、別々の制御パスを提供することができる。マスタ・ストレージ・ユニットは、定義された制御パスを使用して、その従属ストレージ・ユニットと直接通信する。
アクティブなGlobal Mirror(TM)セッション内の自動サイクルは、以下のように動作して、リモート・サイトでのデータをローカル・サイトでのデータのポイント・イン・タイム整合コピーとなるように維持する。第1に、ボリュームの整合性グループがローカル・サイトで作成される。整合データの増分がリモート・サイトに送られ、FlashCopy(R)オペレーションがリモート・サイトで実行される。その後、非同期トラックをコピーするために、ローカル・サイトとリモート・サイトとの間でGlobal Copyオペレーションが再開される。これらのステップは、定義された時間間隔に従って反復される。
現在、Global Mirror(TM)ソリューションは、1つの物理ストレージ制御ユニット、すなわちストレージ・サブシステム用の制御プロセッサについて、一度に1つの物理セッションを実行することしかできない。これにより、1つのストレージ制御ユニット上で時には異なるサービス・レベルで合意している、複数のアプリケーションを有する可能性のある企業の、業務フレキシビリティは大幅に減少する。すなわち、1つの物理ストレージ制御ユニットについて1つの物理セッションしか実行できないため、特定のボリューム・セットについて、ユーザが、スケジューリングされたフェイルオーバまたはフェイルバック・オペレーションを所望する場合、フェイルオーバまたはフェイルバック・オペレーションは、物理ストレージ制御ユニットによって制御されるすべてのストレージ・ボリュームに関して、したがって、物理ストレージ制御ユニットを利用するすべてのアプリケーションに関して、実行されなければならない。
したがって、たとえ1つのアプリケーションのみのストレージ・ボリュームについてフェイルオーバまたはフェイルバック・オペレーションが望ましい場合であっても、すべてのストレージ・ボリュームおよびアプリケーションがフェイルオーバまたはフェイルバック・オペレーションを受けなければならない。したがって、Global Mirror(TM)ベースのストレージ・システムなどのリモート・ミラーリング・ストレージ・システムの物理セッション内で、単一のアプリケーションに関連付けられた個々のストレージ・ボリュームまたは個々のストレージ・ボリューム・セットを、フェイルオーバまたはフェイルバック・オペレーションの対象とすることができる、メカニズムを有することが望ましい。
例示的諸実施形態では、Global Mirror(TM)ベースのストレージ・システムなどのリモート・ミラーリング・ストレージ・システムの単一の物理セッションを仮想化するためのメカニズムを提供するため、ユーザは、複数の仮想セッションがあたかも異なる物理セッションに属するストレージ・ボリュームであるかのように、これらのセッションを作成および管理することができる。例示的諸実施形態のメカニズムでは、フェイルオーバおよびフェイルバック・オペレーションなどのリモート・ミラーリング・オペレーションを、仮想セッションの第1のセットに関して実行しながら、他の仮想セッションは未中断(uninterrupted)で続行することが可能である。したがって、ユーザには、選択されたアプリケーションの実動作業負荷を、他のアプリケーションが実動サイトで実行を継続しながら、選択的なフェイルオーバ・オペレーションを介して実動サイトから回復サイトへ一時的に移動させるフレキシビリティが与えられる。その後、それらのフェイルオーバしたアプリケーションは実動サイトにフェイルバックし、物理セッションと再結合することができる。
例示的な諸実施形態では、各ストレージ制御ユニット上の設計により、可能なアクティブ物理セッションが1つしかない間、この物理セッションに属するすべてのボリュームを、ユーザが別々に制御することを望む個々のアプリケーションそれぞれに従ってグループに分離することができる。個々のアプリケーションそれぞれについて仮想セッション・グループを生成するために、セッション・ポリシー・ファイルは、1次ボリューム、2次ボリューム、FlashCopy(R)ボリューム、制御パス情報、および各仮想セッション・グループに関するセッション・パラメータを指定する。仮想セッションは、ソース・ボリュームとターゲット・ボリューム、すなわち実動サイト・ボリュームと回復サイト・ボリュームとの間に、別個の制御パス関係を必要とし、セッション・パラメータは、すべてのセッション、すなわちセッション識別子、整合性グループ間隔、最大整合性グループ排出(drain)時間、最大調整タイマ、マスタ・サーバなどの間で同じである。
その後、セッション・ポリシー・ファイルは、それぞれが、対応するストレージ制御ユニットへの接続オブジェクト、パス接続オブジェクト、および、ストレージ制御ユニットに関連付けられた物理ストレージ・デバイスを表すボリューム・オブジェクトを含む、セッション・データ・オブジェクトに変換される。すべてのサブセッション・オブジェクトを含む、単一の統一最高セッション・オブジェクトが提供される。この最高セッション・オブジェクトは、ストレージ制御ユニットのための実物理セッションを表す。
同じ単一物理セッション内で複数の仮想セッションを調整するために、オペレーション・スレッド・グループ(OTG)、タスク命令ポインタ(TIP)、およびユニーク・セッション識別子(USI)が提供される。特定仮想セッションのフェイルオーバまたはフェイルバックなどの各リモート・ミラーリング・オペレーションについて、すべてのセッションは1つのスレッド・グループ、すなわちOTGに属するスレッドとして操作されることになる。
タスク命令ポインタ(TIP)は、OTG用のグローバル・ポインタである。TIPは、ある操作における特定のステップが完了すると、個々のスレッドによって更新される。物理セッションの保全性および整合性を維持するために、OTG内の各スレッドによってTIP全体が正常に更新されるまで、単一のスレッドを進行させられないことが重要である。別の方法として、TIPの更新が成功しない場合、こうした更新が成功するか、または失敗した諸ステップを修正するために修正アクションが実行されるまで、および特定スレッドの特定の失敗したステップが正常に再実行されるまで、あらゆるスレッドは待機しなければならない。スレッド操作が、それらのユニーク・セッション識別子に基づくあるステップの「スキッピング」を要求した場合、OTGを次のステップへ進ませるために、その特定のスレッドはTIPを「成功」として更新することになる。
OTG内の各スレッドには、リモート・ミラーリング・オペレーションを実行するためにユーザのセッション選択に基づくユニーク・セッション識別子(USI)が割り当てられる。USIの目的は、各スレッドが、リモート・ミラーリング・オペレーションの各ステップを実行し、それらに対して別々に応答できるようにすること、たとえば、次のステップを実行するためのTIPを更新または検索するか否かを決定することである。
したがってUSIは、フェイルオーバまたはフェイルバック・オペレーションなどのリモート・ミラーリング・オペレーションの各ステップで、個々のスレッドが別々のアクションを実行できるようにする。OTG内のすべての他のスレッドが、仮想セッション・オペレーションのそれら自体の次のアクションに進む準備ができるまで、いかなるスレッドも仮想セッション・オペレーションの次のアクションに進むことができないように、TIPを使用してOTGの様々なスレッド間に整合性が提供される。したがって、TIPは物理セッションの整合性を維持する責務を負い、USIは各スレッドがOTG内の他のスレッドと別に動作できるようにする責務を負う。これら2つのメカニズムならびにポリシー・オブジェクト、接続オブジェクト、およびボリューム・オブジェクトの組み合わせによって、ストレージ制御ユニットの物理セッション内にある個々の仮想セッションが、物理セッション内の他の仮想セッションとは無関係にミラーリング・オペレーションを体験できるようにする。したがって、個々のアプリケーションに関連付けられたボリュームはリモート・ミラーリング・オペレーションを体験できる一方で、他の個々のアプリケーションに関連付けられた他のボリュームは、リモート・ミラーリング・オペレーションを体験せずに動作を続行することができる。
例示的一実施形態では、コンピュータ読み取り可能プログラムを有するコンピュータ使用可能媒体を備えたコンピュータ・プログラム製品が提供される。コンピュータ読み取り可能プログラムは、コンピューティング・デバイス上で実行された場合、コンピューティング・デバイスに関連付けられたストレージ制御ユニットについての物理セッションをコンピューティング・デバイスに確立させる。物理セッションは、複数のストレージ・ボリューム・グループを含むことができる。さらにコンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、各ストレージ・ボリューム・グループについての仮想セッションを物理セッション内に確立させる。コンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、ストレージ・ボリューム・グループのうちの1つに関して、コンピューティング・デバイスと第2のコンピューティング・デバイスとの間のリモート・ミラーリング・オペレーションを選択的に実行させる一方で、複数のストレージ・ボリューム・グループのうちの他のストレージ・ボリューム・グループはリモート・ミラーリング・オペレーションの対象とはしないこともできる。リモート・ミラーリング・オペレーションは、たとえば、フェイルオーバ・オペレーションまたはフェイルバック・オペレーションのうちの1つとすることができる。
リモート・ミラーリング・オペレーションは、コンピューティング・デバイス上で実行中のアプリケーション・インスタンスに関連付けられた第1のストレージ・ボリューム内のアプリケーション・データの、第2のコンピューティング・デバイスに関連付けられたストレージ・システムの第2のストレージ・ボリュームへの、ピアツーピア・リモート・コピー・オペレーションを含むことができる。
さらにコンピュータ読み取り可能プログラムは、コンピュータ・デバイスに、セッション・ポリシー・ファイルを受け取らせることもできる。セッション・ポリシー・ファイルは、物理セッションおよびストレージ・ボリューム・グループを識別するパラメータを含むことができる。コンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、各ストレージ・ボリューム・グループについて仮想セッションを確立するために、各ストレージ・ボリューム・グループについて仮想セッション・オブジェクトを生成させることもできる。仮想セッション・オブジェクトは、特定のストレージ制御ユニットに接続するための接続オブジェクトと、セッション・ポリシー・ファイル内に指定されたボリューム・グループに関する制御パス情報に基づいて生成されるパス接続オブジェクトと、セッション・ポリシー・ファイル内に指定された仮想セッションの一部である各ボリュームについてのボリューム・オブジェクトとを含むことができる。
さらにコンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、セッション・ポリシー・ファイルに基づく物理セッション・オブジェクトを生成させることができる。物理セッション・オブジェクトは、仮想セッション・オブジェクト、オペレーション・スレッド・グループ(OTG)、およびタスク命令ポインタ(TIP)を含むことができる。OTGは、各仮想セッション・オブジェクトについて1つのスレッド、および物理セッション・オブジェクトについてマスタ・スレッドという、複数のスレッドからなるものとすることが可能である。各スレッドは、仮想セッションと物理セッションとを区別するためのユニーク・セッション識別子を有することができる。
コンピュータ読み取り可能プログラムは、OTG内の複数のスレッドを使用してリモート・ミラーリング・オペレーションのオペレーションを実行すること、および、1つのストレージ・ボリューム・グループはリモート・ミラーリング・オペレーションを実行し、他のストレージ・ボリューム・グループはリモート・ミラーリング・オペレーションを実行しないように、複数のスレッド内のスレッドのユニーク・セッション識別子を使用して、リモート・ミラーリング・オペレーションのオペレーションの実行を調整することによって、コンピューティング・デバイスに、リモート・ミラーリング・オペレーションを選択的に実行させることができる。さらにコンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、リモート・ミラーリング・オペレーションの対応するスレッドのオペレーションが完了した後に、OTGの個々のスレッドごとにTIPを更新させることもできる。さらにコンピュータ読み取り可能プログラムは、コンピューティング・デバイスに、現在のオペレーションが正常に完了したことを示すようにOTG内のすべてのスレッドがTIPを更新するまで、OTG内のスレッドの実行を次のオペレーションへと続行させないようにすることもできる。
リモート・ミラーリング・オペレーションは、フェイルオーバ・オペレーションとすることができる。このフェイルオーバ・オペレーションの一部として、OTGの複数のスレッドのうちの物理セッション・スレッドは、物理セッションを休止することが可能であり、OTGの複数のスレッドのうちの第1の仮想セッション・スレッドは、第1の仮想セッション・スレッドに関連付けられたストレージ・ボリューム・グループから、第2のコンピューティング・デバイスに関連付けられたストレージ・ボリューム・グループへの、フェイルオーバを開始することができる。物理セッション・スレッドは、第1の仮想セッション・スレッドに関連付けられたストレージ・ボリューム・グループを物理セッション・オブジェクトから除去し、物理セッションに関連付けられた他の仮想セッションの他のストレージ・ボリューム・グループのオペレーションを再開することができる。
コンピューティング・デバイスおよび第2のコンピューティング・デバイスは、位相的に互いにリモートに配置することができる。コンピューティング・デバイスおよび第2のコンピューティング・デバイスは、地理的に互いにリモートに配置することもできる。
他の例示的実施形態では、データ処理システムと他のデータ処理システムとの間でリモート・ミラーリング・オペレーションを実行するためのデータ処理システムが提供される。データ処理システムは、プロセッサと、プロセッサに結合されたメモリとを備えることができる。メモリは、プロセッサによって実行された場合に、コンピュータ・プログラム製品の例示的実施形態に関して上記で概説した様々なオペレーション、またはそれらの組み合わせをプロセッサに実行させる、命令を含むことができる。
他の例示的実施形態では、実動サイト・システムと回復サイト・システムとの間でリモート・ミラーリング・オペレーションを実行するための方法が提供される。この方法は、実動サイト・システムに関連付けられたストレージ制御ユニットに関する物理セッションを確立するステップを含むことができる。物理セッションは、複数のストレージ・ボリューム・グループを含むことができる。さらにこの方法は、各ストレージ・ボリューム・グループについて、物理セッション内に仮想セッションを確立するステップも含むことができる。リモート・ミラーリング・オペレーションは、ストレージ・ボリューム・グループのうちの1つに関して、実動サイト・システムと回復サイト・システムの間で選択的に実行する一方で、複数のストレージ・ボリューム・グループのうちの他のストレージ・ボリューム・グループはリモート・ミラーリング・オペレーションの対象とはしないことができる。さらにこの方法は、コンピュータ・プログラム製品の例示的実施形態に関して上記で概説した様々なオペレーション、またはそれらの組み合わせを含むこともできる。
他の例示的実施形態では、データ・ミラーリング・サービスを提供する方法が提供される。この方法は、実動サイト・コンピューティング・デバイスまたは回復サイト・コンピューティング・デバイスのうちの1つまたは複数を提供するステップと、1つの実動サイト・コンピューティング・デバイスまたは回復サイト・コンピューティング・デバイスのうちの少なくとも1つに、データ・ミラーリング・サービス・アプリケーション・ソフトウェアを提供するステップとを、含むことができる。データ・ミラーリング・サービス・アプリケーション・ソフトウェアは、1つまたは複数の実動サイト・コンピューティング・デバイスに関連付けられたストレージ制御ユニットに関する物理セッションを確立することができる。物理セッションは、複数のストレージ・ボリューム・グループを含むことができる。
さらにデータ・ミラーリング・サービス・アプリケーション・ソフトウェアは、各ストレージ・ボリューム・グループについて、物理セッション内に仮想セッションを確立することもできる。さらにデータ・ミラーリング・サービス・アプリケーション・ソフトウェアは、複数のストレージ・ボリューム・グループのうちの他のストレージ・ボリューム・グループはリモート・ミラーリング・オペレーションの対象ではないが、ストレージ・ボリューム・グループのうちの1つに関して、実動サイト・コンピューティング・デバイスと回復サイト・コンピューティング・デバイスとの間で、リモート・ミラーリング・オペレーションを選択的に実行することもできる。
本発明のこれらおよび他の特徴および利点については、本発明の例示的諸実施形態の以下の詳細な説明で説明するか、または、当業者であればそれらに照らして明らかとなろう。
本発明の特徴と思われる新規な機能については、添付の特許請求の範囲に記載される。しかしながら、本発明それ自体、ならびにその好ましい使用方法、他の目的、および利点は、例示的実施形態の以下の詳細な説明を添付の図面に関連して参照することで、最も良く理解されるであろう。
例示的諸実施形態は、個々のアプリケーション・ボリュームに対して、物理セッション内の他のアプリケーション・ボリュームとは無関係にリモート・ミラーリング・オペレーションを実行できるように、リモート・ミラーリング・システム内の物理セッションを仮想化するためのメカニズムを提供する。例示的諸実施形態は、好ましくは、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシンズ社から入手可能な、Global Mirror(TM)などのリモート・ミラーリング・システムで実施される。したがって例示的諸実施形態は、好ましくは、実動サイトのアプリケーション・ボリュームがリモートに配置された回復サイトに複製される、分散型データ処理システムで実施される。例示的諸実施形態はGlobal Mirror(TM)のリモート・ミラーリング・システムでの使用に関して説明されるが、例示的諸実施形態はGlobal Mirror(TM)での使用に限定されるものではなく、現在知られているかまたは今後開発される可能性のある、任意のリモート・ミラーリング・システムで利用可能であることを理解されたい。
「リモートに配置される」とは、実動サイトが、1つまたは複数の通信ネットワーク上で回復サイトから地形的にリモートに配置されることを意味する。地形的にリモートに配置された回復サイトは、実動サイトのストレージ・エリア・ネットワーク(SAN)またはサーバ・クラスタの外部にある。地形的にリモートに配置された回復サイトは、地理的にリモートに配置されることに加えて、地形的にもリモートに配置することができるが、これは必須ではない。
次に図面を参照しながら、特に図1〜2を参照しながら、例示的諸実施形態が実施可能なデータ処理環境の例示図が示される。図1〜2は単なる例であって、本発明の諸態様または諸実施形態が実施可能な環境に関して、いかなる制限をも主張または示唆する意図のないことを理解されたい。本発明の趣旨または範囲を逸脱することなく、記載された環境に対する多くの修正が実行可能である。
次に図面を参照すると、図1は、例示的諸実施形態の諸態様が実施可能な例示的分散型データ処理システムの絵画図を示す。分散型データ処理システム100は、例示的諸実施形態のうちの諸実施形態が実施可能な、コンピュータのネットワークを含むことができる。分散型データ処理システム100は、分散型データ処理システム100内で互いに接続された様々なデバイスおよびコンピュータ間に通信リンクを提供するために使用される媒体である、少なくとも1つのネットワーク102を含む。ネットワーク102は、有線、無線の通信リンク、または光ファイバ・ケーブルなどの、接続を含むことができる。
示された例では、サーバ104およびサーバ106は、ストレージ・ユニット108と共にネットワーク102に接続される。加えて、クライアント110、112、および114もネットワーク102に接続される。これらのクライアント110、112、および114は、たとえばパーソナル・コンピュータ、ネットワーク・コンピュータなどとすることができる。示された例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータを、クライアント110、112、および114に提供する。クライアント110、112、および114は、示された例ではサーバ104に対するクライアントである。分散型データ処理システム100は、図示されていない追加のサーバ、クライアント、および他のデバイスを含むことができる。
示された例では、分散型データ処理システム100は、互いに通信するためのプロトコルの伝送制御プロトコル/インターネット・プロトコル(TCP/IP)スイートを使用する、ネットワークおよびゲートウェイの全世界的な集合を表す、ネットワーク102を備えるインターネットである。インターネットの中心には、データおよびメッセージをルーティングする何千もの商用、公用、教育用、および他のコンピュータ・システムからなる、主要ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。もちろん、分散型データ処理システム100は、たとえばイントラネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などの、いくつかの異なるタイプのネットワークを含むように実施することもできる。前述のように、図1は、本発明の様々な諸実施形態に関するアーキテクチャ上の制限としてではなく、一例として意図されているため、図1に示された特定の諸要素は、本発明の例示的諸実施形態が実施可能な環境に関する制限とみなされるべきではない。
次に図2を参照すると、例示的諸実施形態の諸態様が実施可能な、例示的データ処理システムのブロック図が示されている。データ処理システム200は、本発明の例示的諸実施形態に関するプロセスを実施するコンピュータ使用可能コードまたは命令を配置することが可能な、図1のサーバ104またはクライアント110などのコンピュータの一例である。
示された例では、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)202ならびにサウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(SB/ICH)204を含む、ハブ・アーキテクチャを採用する。処理ユニット206、主メモリ208、およびグラフィックス・プロセッサ210が、NB/MCH 202に接続する。グラフィックス・プロセッサ210は、加速式グラフィックス・ポート(AGP)を介してNB/MCH 202に接続することができる。
示された例では、ローカル・エリア・ネットワーク(LAN)アダプタ212がSB/ICH 204に接続する。オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、読み取り専用メモリ(ROM)224、ハード・ディスク・ドライブ(HDD)226、CD−ROMドライブ230、ユニバーサル・シリアル・バス(USB)ポートおよび他の通信ポート232、およびPCI/PCIeデバイス234は、バス238およびバス240を介してSB/ICH 204に接続する。PCI/PCIeデバイスは、たとえばイーサネット(登録商標)・アダプタ、アドイン・カード、およびノート型コンピュータ用のPCカードを含むことができる。PCIはカード・バス・コントローラを使用するが、PCIeは使用しない。ROM 224は、たとえばフラッシュ・バイナリ入力/出力システム(BIOS)とすることができる。
HDD 226およびCD−ROMドライブ230は、バス240を介してSB/ICH 204に接続する。HDD 226およびCD−ROMドライブ230は、たとえばIntegrated Drive Electronics(IDE)またはSerial Advanced Technology Attachment(SATA)インターフェースを使用することができる。Super I/O(SIO)デバイス236はSB/ICH 204に接続することができる。
オペレーティング・システムは処理ユニット206上で実行する。オペレーティング・システムは、図2内のデータ処理システム200内の様々なコンポーネントの制御を調整および提供する。クライアントとして、オペレーティング・システムは、Microsoft(R) Windows(登録商標)XP(MicrosoftおよびWindowsは米国または他の諸外国、あるいはその両方におけるMicrosoft Corporationの商標である)などの市販のオペレーティング・システムとすることができる。Java(登録商標)プログラミング・システムなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムに関連して実行可能であり、Java(登録商標)プログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供する(Javaは、米国または他の諸外国、あるいはその両方におけるSun Microsystems, Inc.の商標である)。
サーバとして、データ処理システム200は、たとえば、Advanced Interactive Executive(AIX(R))オペレーティング・システムまたはLINUX(R)オペレーティング・システムを実行する、IBM(R) eServer(TM) pSeries(R)コンピュータ・システムとすることができる(eServer、pSeries、およびAIXは、米国、他の諸外国、またはその両方におけるIBM Corporationの商標であり、LINUXは、米国、他の諸外国、またはその両方におけるLinus Torvaldsの商標である)。データ処理システム200は、処理ユニット206内の複数のプロセッサを含む対称型マルチプロセッサ(SMP)システムとすることができる。別の方法として、単一プロセッサ・システムを採用することもできる。
オペレーティング・システム向けの命令、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムは、HDD 226などのストレージ・デバイス上に配置され、処理ユニット206による実行のために主メモリ208内にロードすることができる。本発明の例示的諸実施形態に関するプロセスは、たとえば主メモリ208、ROM 224などのメモリ内、あるいはたとえば1つまたは複数の周辺デバイス226および230内に配置可能な、コンピュータ使用可能プログラム・コードを使用する処理ユニット206によって実行することができる。
図2に示されるようなバス238またはバス240などのバス・システムは、1つまたは複数のバスからなるものとすることができる。もちろん、バス・システムは、ファブリックまたはアーキテクチャに取り付けられた異なるコンポーネントまたはデバイス間でのデータの転送を提供する、任意のタイプの通信ファブリックまたはアーキテクチャを使用して実施することができる。図2のモデム222またはネットワーク・アダプタ212などの通信ユニットは、データの送信および受信に使用される1つまたは複数のデバイスを含むことができる。たとえばメモリは、主メモリ208、ROM 224、または図2のNB/MCH 202内に見られるようなキャッシュとすることができる。
当業者であれば、図1〜2内のハードウェアが実施によって変わる場合があることを理解されよう。図1〜2に示されたハードウェアに加えて、またはこれらの代わりに、フラッシュ・メモリ、等価の不揮発性メモリ、または光ディスク・ドライブなどの、他の内部ハードウェアまたは周辺デバイスを使用することも可能である。また、例示的諸実施形態の諸プロセスは、本発明の趣旨および範囲を逸脱することなく、前述のSMPシステム以外のマルチプロセッサ・データ処理システムに適用することもできる。
さらに、データ処理システム200は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、携帯情報端末(PDA)などを含む、いくつかの異なるデータ処理システムのうちのいずれかの形を取ることができる。いくつかの例では、データ処理システム200は、たとえばオペレーティング・システム・ファイルあるいはユーザ生成データまたはその両方を格納するための不揮発性メモリを提供するように、フラッシュ・メモリで構成された、ポータブル・コンピューティング・デバイスとすることができる。本質的に、データ処理システム200は、アーキテクチャ上の制限なしに、任意の既知または今後開発されるデータ処理システムとすることができる。
例示的諸実施形態を備えた前述の例示的な分散型データ処理システムとの関連において、第1のサーバまたはサーバのセットは、電子ビジネス・エンタープライズ向けの1つまたは複数のアプリケーションを提供することができる。サーバは、アプリケーションに対応するデータがストレージ・システムの様々なボリューム内に格納される、1つまたは複数のストレージ制御ユニットを有する、関連付けられたストレージ・システムを有することができる。電子ビジネス・エンタープライズのアプリケーションに「実動サイト」を提供するこれらのサーバに加えて、1つまたは複数の通信ネットワーク内の、位相的およびおそらくは地理的にリモートに配置された位置に、第2のサーバまたはサーバのセットが提供される。これらの第2のサーバは、アプリケーション・データをリモート・ミラーリング・オペレーションの一部として格納することが可能な、関連付けられたストレージ・システムを有することができる。したがってこれらの第2のサーバは、実動サイトで実行しているアプリケーションのフェイルオーバおよびフェイルバック回復用のアプリケーション・データを格納するために、「回復サイト」を提供する。
典型的には、既知のリモート・ミラーリング・オペレーションにおいて、ストレージ制御ユニットには単一の物理セッションしかないため、リモート・ミラーリング・オペレーションが実行されることになる場合、これは、ストレージ制御ボリュームによって管理されるすべてのボリュームに関して実行される。図3は、一例示的実施形態に従った、リモート・ミラーリング・オペレーションを示す例示図である。示された例では、PPRC−XDとも呼ばれるGlobal Mirror(TM)製品を使用して、この場合はピアツーピアのリモート・コピー・オペレーションである、リモート・ミラーリング・オペレーションが実行される。Global Mirror(TM)は、1つのサイト(実動サイトと呼ばれる)から第2のサイト(回復サイトと呼ばれる)へのアプリケーション・システム・データのシャドウイングを可能にする、Enterprise Storage Server(ESS)(IBM Corporationの商標)機能である。実動サイトのESS内のデータを保持する論理ボリュームは1次ボリュームと呼ばれ、回復サイトのミラーリング済みデータを保持する対応する論理ボリュームは2次ボリュームと呼ばれる。一例示的実施形態では、Enterprise Systems Connection(ESCON)(IBM Corporationの商標)リンクを使用して、実動サイトESSと回復サイトESSとの間の接続を提供することができる。
図3は、Global Mirror(TM)が同期モード(PPRC−SYNC)で動作する場合の、書き込みオペレーションのシーケンスを示す。図3に示されるように、この同期タイプのオペレーションでは、実動サイトの1次ボリューム320に対して実行された更新は、回復サイトの2次ボリューム330にも同期的にシャドウイングされる。これは同期ソリューションであることから、書き込み更新は、コンピューティング・デバイス310上で実行中のアプリケーションに関する書き込みが完了したとみなされるまで、両方のコピー(1次および2次)で保証される。
PPRC−SYNCオペレーションでは、アプリケーションの観点からすれば、1次ボリューム320および2次ボリューム330の両方で更新が同期的に実行されるまで、アプリケーションは「書き込み完了」状態にならないため、回復サイトの2次ボリューム330にあるデータは、1次ボリューム320にあるデータと常に一致するリアルタイム・データである。
この特徴の含意の1つは、通常のPPRC−SYNCオペレーションで、1次ボリューム320で適用されたシーケンスと同じシーケンスで、従属書き込みが2次ボリューム330で適用されることである。これは、回復の際に、アプリケーションの整合性という観点から非常に重要である。PPRC−SYNCは、整合性チェックポイントを構築するためにアプリケーションに定期的に割り込む必要なしに、回復サイトで連続するデータの整合性を提供することができる。アプリケーションの観点からすれば、これは、回復ロケーションで常に有効なデータを有する非介入(non-disruptive)方法である。
図3では同期PPRCオペレーションが示されているが、例示的諸実施形態のメカニズムは、同期および非同期の両方のリモート・コピー・オペレーションに対して等しく適用可能であることを理解されたい。非同期のリモート・コピー・オペレーションでは、データが2次ボリューム330内でコミットされるのに先立って、「書き込み完了」を1次ボリューム320から戻すことができる。
図3から明らかなように、Global Mirror(TM)またはPPRC−XD製品によって提供されるような既知のリモート・ミラーリング・システムでは、
ストレージ制御ユニットの物理セッションに関連付けられたすべてのアプリケーション・データおよびメタデータが、リモート・ミラーリング・オペレーションの対象でなければならない。単一のアプリケーション・インスタンスに関連付けられたデータおよびメタデータなどの、アプリケーション・データおよびメタデータのサブセットを選択し、そのアプリケーション・データおよびメタデータのサブセットに関してリモート・ミラーリング・オペレーションを実行する機能はない。
例示的諸実施形態は、物理セッションを、選択されたアプリケーション・ボリュームでリモート・ミラーリング・オペレーションを個々に実行するために使用可能な複数の仮想セッションに仮想化するための、メカニズムを提供する。したがって、例示的諸実施形態のメカニズムを使用すると、仮想セッションの第1のセットに関してフェイルオーバおよびフェイルバック・オペレーションなどのリモート・ミラーリング・オペレーションを実行し、他の仮想セッションは中断せずに続行することができる。したがって、ユーザには、選択的フェイルオーバ・オペレーションを介して、選択されたアプリケーション実動作業負荷を、実動サイトから回復サイトに一時的に移動させる一方で、他のアプリケーションは実動サイトで継続して実行することが可能な、柔軟性が提供される。その後、それらのフェイルオーバしたアプリケーションを実動サイトにフェイルバックして、物理セッションを再結合することができる。
例示的諸実施形態では、各ストレージ制御ユニット上で設計により可能なアクティブな物理セッションは1つのみであるが、この物理セッションに属するすべてのボリュームは、ユーザが別々に制御することを望む個々のアプリケーションそれぞれに従って、グループに分離することができる。個々のアプリケーションそれぞれについて仮想セッション・グループを生成するために、グループに関して、1次ボリューム、2次ボリューム、FlashCopy(R)ボリューム、制御パス情報、およびセッション・パラメータを指定する、セッション・ポリシー・ファイルが作成される。仮想セッションは、ソース・ボリュームとターゲット・ボリューム、すなわち実動サイト・ボリュームと回復サイト・ボリュームの間に、別個の制御パス関係を必要とし、セッション・パラメータはすべてのセッション間で同じである。セッション・ポリシー・ファイルを介して、これらの別個の制御パス、別個のグループ、およびグループに関する他のセッション・パラメータが指定される。
図4は、一例示的実施形態に従った、セッション・ポリシー・ファイルの一例である。図4に示されたセッション・ポリシー・ファイルの例は、拡張可能マークアップ言語(XML)形式で提供されるが、例示的諸実施形態はこうした形式に限定されるものではない。むしろセッション・ポリシー・ファイルは、本発明の趣旨および範囲を逸脱することなく、他のマークアップ言語形式および非マークアップ言語形式を含む任意の好適な形式で提供することができる。
図4に示されるように、セッション・ポリシー・ファイルの第1の部分410は、非同期ピアツーピア・リモート・コピー(PPRC)オペレーションで使用されることになる、たとえば「Shark」(IBM Corporationの商標)またはエンタープライズ・ストレージ・システム(ESS)などの、ストレージ・サーバを識別する。PPRCオペレーションは、アプリケーション・データのボリュームを、実動サイトから位相的にリモートに配置された回復サイトへとコピーする、リモート・ミラーリング・オペレーションである。Global Mirror(TM)は、こうしたPPRCオペレーションの一例である。
セッション・ポリシー・ファイルの第2の部分420は、リモート・ミラーリング・オペレーションを実行するために使用されることになる、実動サイトと回復サイトとの間の制御パスを識別する。示された例では、物理セッションの一部である2つの別個のボリューム・グループそれぞれについて、2つの別々の制御パスが定義される。
セッション・ポリシー・ファイルの第3の部分430は、セッション識別子、整合性グループ間隔、最大整合性グループ排出時間、最大調整タイマ、マスタ・ストレージ・ユニット、すなわちmaster lssなどを含む、物理セッションに関するセッション識別子および他のパラメータを識別する。第3の部分430におけるこれらのセッション・パラメータは、セッション・ポリシー・ファイルに指定されたすべてのボリューム・グループに適用する。
セッション識別子は、ボリュームの整合性コピーを作成する場合にまとめて管理される、ストレージ・ボリュームの集まりを表す、物理セッションを表すユニーク番号である。このストレージ・ボリュームの集まりは、あるドメイン内の、1つまたは複数の論理ストレージ・サブシステム(LSS)および1つまたは複数のエンタープライズ・ストレージ・システム(ESS)内に常駐することができる。物理セッションは、PPRC環境に関与している各LSSに対してオープンでなければならない。LSS上であるセッションがオープンな場合、そのLSSからのボリュームを物理セッションに追加できることを意味する。
cgintervalパラメータは、データのグローバルな整合性を維持するために整合性グループを形成するための時間である。maxdraintimeパラメータは、最大整合性グループ排出時間である。maxcoordinateintervalパラメータは、最大調整タイマである。master lssパラメータは、他のLSSを制御するマスタESS内のLSSである。マスタとは、整合性グループの作成を制御するためおよび物理セッションを管理するために従属ESSと通信する、ESS内部の機能に関する用語である。マスタは、マスタESS内で物理セッション開始/再開コマンドがLSSに対して発行される場合に定義される。
セッション・ポリシー・ファイルの第4の部分440では、物理セッションに関するボリューム・グループが指定される。図4に示されるように、2つの別々のボリューム・グループがボリューム「relationship」として識別される。これら別々のボリューム・グループは、たとえば特定のユーザまたは企業エンティティ用の実動サイトに提供される、異なるアプリケーションまたはアプリケーション・インスタンスに関連付けることができる。
図4に示されたような個々のセッション・ポリシー・ファイルは、XMLパーサを使用することなどによって解析され、それぞれが対応するストレージ制御ユニットへの接続オブジェクト、パス接続オブジェクト、およびストレージ制御ユニットに関連付けられた物理ストレージ・デバイスを表すボリューム・オブジェクトを含む、個々のセッション・データ・オブジェクトに変換することができる。セッション・ポリシー・ファイルの第4の部分440に指定された各ボリューム・グループは、仮想セッションに関する別々のセッション・データ・オブジェクトを生成するための基本とすることができる。すべての仮想セッション・データ・オブジェクト、すなわち「サブセッション」オブジェクトを含む、単一の統合最高位(supreme)セッション・オブジェクトも提供可能である。この最高位セッション・オブジェクトは、ストレージ制御ユニットの実物理セッションを表す。
図5は、一例示的実施形態に従った、セッション・ポリシー・ファイルに基づいて生成されるオブジェクト間の関係を示す例示図である。図5に示されるように、セッション・ポリシー・ファイルから、ストレージ制御ユニットの実際の物理セッションを表す物理セッション・オブジェクト510が提供される。物理セッション・オブジェクト510は、セッション・ポリシー・ファイル内のボリューム・グループ定義から生成される仮想セッション・オブジェクト520および530を含む。これらの仮想セッション・オブジェクト520および530は、それぞれ、特定のストレージ制御ユニットに接続するための関連付けられた接続オブジェクト522および532と、セッション・ポリシー・ファイル内に指定されたボリューム・グループに関する制御パス情報に基づいて生成されるパス接続オブジェクト524および534とを有する。加えて、さらに仮想セッション・オブジェクト520および530は、仮想セッションの一部であるそれぞれのボリュームに関するボリューム・オブジェクト526および536を有する。
図5に示された様々なオブジェクトは、個々のボリューム・グループ、たとえば個々のアプリケーションまたはアプリケーション・インスタンスに関して、リモート・ミラーリング・オペレーションの性能を制御するために、例示的諸実施形態のメカニズムによって使用される。これらのオブジェクトを備えた個々のボリューム・グループをリモート・ミラーリング・オペレーションの対象とし、同じ物理セッション内の他のボリューム・グループは変更されないままとすることができる。したがって、個々のアプリケーションをリモート・ミラーリング・オペレーションの対象とし、実動サイトの他のアプリケーションがリモート・ミラーリング・オペレーションからの干渉なしに動作を続行できるようにすることができる。
図5に示されたオブジェクトを備える物理セッション・オブジェクト510は、オペレーション・スレッド・グループ(OTG)512およびタスク命令ポインタ(TIP)514を含む。OTG 512内の個々のスレッドは、仮想セッション間を区別するための関連付けられたユニーク・セッション識別子(USI)を有する。OTG 512、TIP 514、およびUSIは、同じ単一物理セッション内の複数の仮想セッションを調整するために、例示的諸実施形態のメカニズムによって利用される。
例示的諸実施形態では、特定仮想セッションのフェイルオーバまたはフェイルバックなどの各リモート・ミラーリング・オペレーションについて、すべての仮想セッションが同じ単一のスレッド・グループ、すなわちOTG 512に属するスレッドとして動作されることになる。
タスク命令ポインタ(TIP)514は、OTG 512のグローバル・ポインタである。TIP 514は、リモート・ミラーリング・オペレーションにおけるそれらの特定のステップが完了した後に、個々のスレッドによって更新される。物理セッションの保全性および整合性を維持するために、OTG 512内の各スレッドによってTIP 514全体が正常に更新されるまで、いかなる単一スレッドも処理できないことが重要である。別の方法として、TIP 514の更新が成功しなかった場合、あらゆるスレッドは、TIP 514のこうしたスレッド更新が成功するか、または、失敗したステップを訂正するための訂正アクションが実行され、特定スレッドの特定の失敗したステップが正常に再実行されるまで、待機しなければならない。スレッド・オペレーションが、ユニーク・セッション識別子(USI)に基づいてある種のステップを「スキップ」するように要求した場合、その特定のスレッドは、OTG 512が次のステップに進むために、TIP 514を「成功」として更新することになる。
OTG 512内の各スレッドには、フェイルオーバまたはフェイルバック・オペレーションを実行するためのセッションのユーザ選択に基づくユニーク・セッション識別子(USI)が割り当てられる。USIの目的は、各スレッドが、リモート・ミラーリング・オペレーションの各ステップを実行し、それらに別々に応答できるようにすること、たとえば、次のステップを実行するためにTIP 514を更新または探索するか否かを決定することである。
したがってUSIは、個々のスレッドが、フェイルオーバまたはフェイルバック・オペレーションなどのリモート・ミラーリング・オペレーションの各ステップで、別々のアクションを実行できるようにする。TIP 514は、OTG 512内のすべての他のスレッドがリモート・ミラーリング・オペレーションにおけるそれら自体の次のアクションに進む準備ができるまで、いかなるスレッドもリモート・ミラーリング・オペレーションにおける次のアクションに進むことができないように、OTG 512の様々なスレッド間の整合性を提供するために使用される。したがって、TIP 514は物理セッションの整合性を維持する責務を負い、USIは、各スレッドがOTG 512内の他のスレッドとは別に動作できるようにする責務を負う。これら2つのメカニズムと、ポリシー・オブジェクト、接続オブジェクト、およびボリューム・オブジェクトの組み合わせによって、ストレージ制御ユニットの物理セッション内の個々の仮想セッションが、物理セッション内の他の仮想セッションとは独立にリモート・ミラーリング・オペレーションを受けられるようになる。したがって、個々のアプリケーションに関連付けられたボリュームは、リモート・ミラーリング・オペレーションを受けられるが、他の個々のアプリケーションに関連付けられた他のボリュームは、リモート・ミラーリング・オペレーションを受けずに動作を続行することができる。
図6は、一例示的実施形態に従った、リモート・ミラーリング・オペレーションを示す例示図である。図6に示されるように、例示的諸実施形態のリモート・ミラーリング・オペレーションは、個々のアプリケーション・インスタンス620に関連付けられたボリューム610はリモート・ミラーリング・オペレーションを受けられるが、他のアプリケーション・インスタンス630および640は、実動サイト650において通常の様式で動作を続行できるようにする。たとえば、アプリケーション・インスタンス620に関連付けられたボリューム610は、実動サイト650と、位相的およびオプションで地理的にリモートに配置された回復サイト660との間で、ピアツーピア・リモート・コピー(PPRC)オペレーションの対象とすることができる。
図3に示された既知のリモート・ミラーリング・オペレーションとは対照的に、例示的諸実施形態は、リモート・ミラーリング・オペレーションのより微細な適用のためのメカニズムを提供する。リモート・ミラーリング・オペレーションのこの微細な適用は、おそらく例示的諸実施形態の仮想化およびリモート・ミラーリング・オペレーション制御メカニズムを介して作られる。リモート・ミラーリング・オペレーション制御メカニズムには、以下で説明するように、リモート・ミラーリング・オペレーション中のボリューム・グループ間の整合性を維持しながら、単一のボリューム・グループへのリモート・ミラーリング・オペレーションの適用を制御するための、OTG、TIP、およびUSIの使用が含まれる。
一般に、実動サイトのストレージ・サーバがリモート・ミラーリング・オペレーションを実行するためのものである場合、リモート・ミラーリング・オペレーションは、スケジュール、ユーザ入力などに応答して開始される。リモート・ミラーリング・オペレーションを実行するためのコマンドは、物理セッション・オブジェクトによって維持されるそれぞれの仮想セッション・オブジェクトについてのスレッドをOTGに作成させる、物理セッション・オブジェクトに提供される。各スレッドには、作成されたスレッドを管理するためにOTGが使用するUSIが提供される。物理セッション・オブジェクトのTIPは、初期値に初期化される。TIPは、たとえば、OTG内に各スレッド用のビットを含むことが可能であり、これらのビットを初期値に設定することができる。
物理セッションを仮想化するために使用されるメカニズムが初期化され、OTGの様々なスレッドの制御メカニズムが初期化されると、物理セッション・オブジェクトを使用してリモート・ミラーリング・オペレーションが実行される。リモート・ミラーリング・オペレーションで実行される諸ステップは、実行されるリモート・ミラーリング・オペレーションのタイプによって異なる。例示の目的で、OTG内の異なるスレッドによって表された様々な仮想セッションを制御するための例示的諸実施形態の制御メカニズムを例示するために、オペレーションの例としてフェイルオーバ・リモート・ミラーリング・オペレーションが使用されることになる。
図7は、一例示的実施形態に従った、仮想セッションに関するフェイルオーバ・オペレーションの様々なステップを示す例示図である。フェイルオーバ・オペレーションでは、マスタ物理制御ユニット、すなわちストレージ・サーバ・コントローラが、フェイルオーバ・オペレーションを制御する責務を負うことに留意されたい。マスタ物理制御ユニットは、セッション・パラメータの一部としてグローバル・ミラーリング・セッション用に指定される。他のストレージ・サーバ・コントローラは、そのグローバル・ミラーリング・セッション用のマスタ物理制御ユニットに従属する。
フェイルオーバ・オペレーションにおいて、フェイルオーバ・オペレーションの第1のステップは、すべてのストレージ・デバイスがそれらの最新の整合性グループの形成を完了するように、物理セッションを休止することである。したがって、実動サイトのボリュームは「フェイルオーバ」、たとえば、ピアツーピア・リモート・コピー・オペレーションを使用して、位相的にリモートに配置された回復サイトにリモートにコピーされる。フェイルオーバ・オペレーションが実行された後、フェイルオーバされたボリュームのFlashCopyを実行し、それによってフェイルオーバ・ボリュームのグローバルに整合性のあるコピーを更新することができる。このフェイルオーバ・オペレーションは、図7に示された様式で例示的諸実施形態によって修正され、その結果、フェイルオーバは物理セッション内の個々のボリューム・グループに関して実行される。
図7に示されるように、必要なフェイルオーバ・オペレーションを実行するためのOTG内のスレッドの初期化の一部として、物理セッションに関してリモート・ミラーリング・オペレーション全体を制御するために使用される主セッション・スレッドである、第1のスレッド710が生成される。第1の仮想セッション・オブジェクトに提供される第2のスレッド720と、第2の仮想セッション・オブジェクトに提供される第3のスレッド730と、第3の仮想セッション・オブジェクトに提供される第4のスレッド730とを含む、他の仮想セッションのそれぞれについて、追加のスレッドが作成される。これらのスレッドはそれぞれOTGの一部であり、OTGが異なるオペレーションを異なるスレッド710〜740ごとに実行させるために使用する、それ自体のユニークUSIを有する。
示された例では、フェイルオーバ・オペレーションは、第1の仮想セッションに関連付けられた第1のボリューム・グループAと、位相的にリモートに配置された回復サイトの第2のボリューム・グループBとの間で実行される。その一方で、他の仮想セッションに関連付けられた他のボリューム・グループは、フェイルオーバ・オペレーションの対象ではない。
図7に示されるように、第1に主セッション・スレッド710は、物理セッションを休止するための休止オペレーションを実行するために使用され、その結果、すべてのストレージ・デバイスがそれらの最新の整合性グループの形成を終了することになる。休止オペレーションが正常に完了すると、主セッション・スレッド710に関連付けられたTIPビットが指定の値、たとえば0に設定される。
前述のように、仮想セッション間の整合性を保証するために、リモート・ミラーリング・オペレーション全体を次のステップに進める前に、各スレッドはそれらの関連付けられたTIPビットを指定の値、たとえば0に更新しなければならない。したがって、他のスレッド720〜740はそれぞれ、スレッドに関連付けられたTIPビットのみが正常終了(successfully complete)値に設定される、スキップ・オペレーションを実行する。
各スレッド710〜740では、TIPビット値がすべて正常終了値に設定されたかどうかに関して判定が行われる。TIPビット値が正常終了となるように更新された場合にのみ、スレッド710〜740はそれぞれ、次のステージに進むことができるようになる。すべてのTIPビット値が正常終了値に設定されていない場合、スレッド710〜740は、TIPビット値が正常終了値に更新されるまでスレッドが待機する、待機オペレーションに入る。すべてのTIPビット値が正常終了を示すと、リモート・ミラーリング・オペレーションを次のステージへと続行させることが可能であり、TIPビット値はそれらの初期値にリセットされる。
フェイルオーバ・オペレーションの次のステージでは、TIPビット値を更新することにより、すべてのスレッド710〜740が正常終了を示した後、第1の仮想セッション・オブジェクトに関連付けられた第2のスレッド720を使用してフェイルオーバ・オペレーションが実行される。このフェイルオーバ・オペレーションは、実動サイトの第1のボリューム・グループAから、位相的にリモートに配置された回復サイトの第2のボリューム・グループBへの、ピアツーピア・リモート・コピー・オペレーションを実行する。フェイルオーバ・オペレーションの正常終了後、第2のスレッド720は、フェイルオーバ・オペレーションが正常に終了したことを示す対応するTIPビット値を更新する。
他のスレッド710および730〜740は、スキップ・オペレーションを実行し、それらの対応するTIPビット値を、正常終了を示すように更新する。再度、各スレッド710〜740において、TIPビット値が各スレッド710〜740におけるオペレーションの正常終了を示すかどうかに関して、判定が行われる。正常終了を示す場合、フェイルオーバ・オペレーションは次のステップに進むことが可能であり、示さない場合、スレッドは、すべてのスレッドによって正常終了が示されるまで待機オペレーションに入る。
フェイルオーバ・オペレーションの第3のステージで、主セッション・スレッド710は、第2のスレッド720に関連付けられた仮想セッション(VS1)を物理セッションから除去する。VS1がフェイルオーバした場合、(物理セッション全体に対する初期休止後)残りの仮想セッションがグローバル・ミラー・オペレーションを再開することになるため、この除去が実行される。VS1セッションを除去するために、VS1関係セッション・オブジェクト(ボリューム、接続、パスなど)が主物理セッションから除去され、結果として、物理セッションはVS1コンテンツでグローバル・ミラー・オペレーションを続行することになる。
VS1の除去が実行されている間、他のスレッド720〜740は、フェイルオーバ・オペレーションの以前のステップと同様に、スキップ・オペレーションを実行する。その後、主セッション・スレッド710は、物理セッションの一部を残す他の仮想セッション730〜740に関連付けられたアプリケーション・インスタンスを再開する。他のスレッド720〜740はスキップ・オペレーションを実行する。その後、主セッション・スレッド710および仮想セッション・スレッド730〜740は終了する。
フェイルオーバ・オペレーションの対象である仮想セッションに関連付けられたスレッド720は、ボリューム・グループBとFlashCopyボリューム・グループCとの間でFlashCopyオペレーションが実行されている状態が続行される。その後、第2のスレッド720は、第2のスレッド720に関連付けられた仮想セッションに関連付けられたボリューム上でI/Oオペレーションを終了または開始する。
前述のオペレーション・シーケンスで、OTGは様々なスレッド710〜740のUSIを使用して、前述の様々なオペレーションを実行するための命令をディスパッチする。フェイルオーバ・オペレーションは仮想セッション(VS1)に関連付けられたストレージ・ボリューム・グループAに関して実行されるため、フェイルオーバおよびFlashCopy命令は、このスレッド720に関連付けられたUSIを使用して第2のスレッド720にディスパッチされることになる。同様に、フェイルオーバ・オペレーションの制御に関連付けられた命令は、フェイルオーバ・オペレーションに関するOTGをセットアップするため、および他の仮想セッションに関連付けられたストレージ・ボリューム・グループに関連付けられたアプリケーション・インスタンスを再開するために必要な、オペレーションを実行する、その関連付けられたUSIを使用して第1のスレッド710に発行される。フェイルオーバ・オペレーションの一部ではない他のスレッドには、基本的にはこれらのスレッドにいかなるアクションも実行させないために、それらのUSIに基づいてスキップ命令が発行される。
したがって、前述の内容から、仮想セッション2(VS2)および仮想セッション3(VS3)に関連付けられたストレージ・ボリューム・グループはフェイルオーバされないが、仮想セッション1(VS1)に関連付けられたストレージ・ボリューム・グループは、位相的にリモートに配置された回復サイト、すなわち、ストレージ・ボリューム・グループCへのFlashCopyを備えたストレージ・ボリューム・グループBへと、フェイルオーバされることが理解されよう。したがって、例示的諸実施形態のメカニズムを使用して、ストレージ制御ユニットの物理セッション内にある1セットのストレージ・ボリュームを、リモート・ミラーリング・オペレーションの対象とし、物理セッション内のその他は対象としないことができる。
図8は、例示的実施形態に従った、例示的フェイルオーバ・オペレーションの概略を示す流れ図である。流れ図の各ブロックおよび流れ図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることを理解されよう。これらのコンピュータ・プログラム命令を、マシンを製造するためにプロセッサまたは他のプログラム可能データ処理装置に提供し、その結果、プロセッサまたは他のプログラム可能データ処理装置上で実行する命令が、流れ図のブロックに指定された機能を実施するための手段を作成することができる。特定の様式で機能するようにプロセッサまたは他のプログラム可能データ処理装置に命令可能なこれらのコンピュータ・プログラム命令を、コンピュータ読み取り可能メモリまたはストレージ媒体内に格納し、その結果、コンピュータ読み取り可能メモリまたはストレージ媒体内に格納された命令が、流れ図のブロックに指定された機能を実施する命令手段を含む製品を製造することもできる。
したがって、流れ図のブロックは、指定された機能を実行するための手段の組み合わせ、指定された機能を実行するためのステップの組み合わせ、および指定された機能を実行するためのプログラム命令手段をサポートする。流れ図の各ブロックおよび流れ図内のブロックの組み合わせが、指定された機能を実行する特定用途向けハードウェア・ベースのコンピュータ・システムによって、または特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実施可能であることも理解されよう。
図8に示されるように、オペレーションはリモート・ミラーリング・オペレーションを開始するためのコマンドを受け取ることによって開始される(ステップ810)。リモート・ミラーリング・オペレーション・コマンドに応答して、OTGが初期化される(ステップ820)。前述のように、この初期化は、各仮想セッションに関するスレッド、ならびにリモート・ミラーリング・オペレーションを調整および制御するための主セッション・スレッドの、作成を含むことができる。さらにこの初期化は、各スレッドへのUSIの割り当て、およびTIPビット値のそれらの初期値への設定を含むこともできる。
リモート・ミラーリング・オペレーションの次のステージに関連付けられた命令が、作成された各スレッドにディスパッチされる(ステップ830)。スレッドは、リモート・ミラーリング・オペレーションの現在のステップに対して、ディスパッチされた命令を実行する(ステップ840)。すべてのスレッドがそれらのそれぞれの命令の正常終了を示したかどうかに関して、判定が行われる(ステップ850)。正常終了を示していない場合、オペレーションは、すべてのスレッドが正常終了を示すまで待機する(ステップ860)。
すべてのスレッドが正常終了を示す場合、リモート・ミラーリング・オペレーションが完了したかどうかに関して判定が行われる(ステップ870)。完了していない場合、オペレーションはステップ830に戻り、リモート・ミラーリング・オペレーションの次のステージに対する命令がディスパッチされる。リモート・ミラーリング・オペレーションが完了した場合、オペレーションは終了する。
前述の図7および図8は、フェイルオーバ・オペレーションの性能を対象としているが、フェイルバック・オペレーションに関して同様のオペレーションが実行可能であることに留意されたい。フェイルバック・オペレーションでは、物理ストレージ・ボリュームが使用可能になった場合、フェイルオーバ・オペレーションの後、たとえば管理者が管理者のワークステーションを介して、実動サイト・システムにフェイルバック・コマンドをサブミットすることによって、フェイルバック・オペレーションを開始することができる。ピアツーピア・リモート・コピー・パスは、アプリケーション・インスタンスに関する仮想セッションの作成と共に、実動サイトと回復サイトの間で再確立することができる。その後、確立された仮想セッションを使用して、アプリケーション・インスタンスに関して回復サイト・ボリュームに格納されたデータを、実動サイト・ボリュームおよび実動サイト・システム上で再開されたアプリケーション・インスタンスにフェイルバックすることができる。こうしたフェイルバックは、物理セッションの一部である他の仮想セッションとは独立に実行可能であるため、結果として他の仮想セッションは、通常の機能モードで動作を続行することができる。
このようにして例示的諸実施形態は、ストレージ制御ユニットの物理セッション内にある個々のボリューム・グループをリモート・ミラーリング・オペレーションの対象とすることが可能なメカニズムを提供する。したがって、既知のリモート・ミラーリング・オペレーションとは対照的に、例示的諸実施形態では、ストレージ制御ユニットの物理セッションの仮想化を介して、実動サイトと回復サイトとの間でミラーリングされることになるデータおよびメタデータのより微細な選択を提供し、データおよびメタデータがミラーリング・オペレーションの一部ではないアプリケーション・インスタンスが、オペレーションを続行できるようにする。
以上、本発明について、完全に機能しているデータ処理システムとの関連において説明してきたが、当業者であれば、本発明の諸プロセスが命令のコンピュータ読み取り可能媒体の形、プログラムそのものの形、および多種多様な形で配布可能であること、ならびに本発明が、配布を実施するために実際に使用される特定タイプの信号搬送媒体にはかかわらず等しく適用されることに留意されたい。コンピュータ読み取り可能媒体の例には、フロッピィ・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの、書き込み可能タイプの媒体、ならびに、デジタルおよびアナログの通信リンク、たとえば無線周波および光信号伝送などの伝送形式を使用する有線または無線の通信リンクなどの、伝送タイプの媒体が含まれる。コンピュータ読み取り可能媒体は、特定のデータ処理システムで実際に使用するために復号される、符号化フォーマットの形を取ることができる。
本発明について提示してきた説明は、例示および説明を目的とするものであって、本発明を網羅することまたは開示された形に限定することは意図されていない。当業者であれば、多くの修正形態および変形形態が明らかとなろう。実施形態は、本発明の原理、実際の応用例について最も良く説明するため、および、当業者が企図された特定の用途に合わせた様々な修正形態を備える様々な諸実施形態について、本発明を理解できるようにするために、選択および説明したものである。
例示的諸実施形態の例示的態様が実施可能な分散型データ処理環境を示す、例示図である。 例示的諸実施形態の例示的態様が実施可能なデータ処理デバイスを示す、例示的ブロック図である。 一例示的実施形態に従った、リモート・ミラーリング・オペレーションを示す例示図である。 一例示的実施形態に従った、セッション・ポリシー・ファイルの一例を示す図である。 一例示的実施形態に従った、セッション・ポリシー・ファイルに基づいて生成されるオブジェクト間の関係を示す例示図である。 一例示的実施形態に従った、ミラーリング・オペレーションを示す例示図である。 一例示的実施形態に従った、仮想セッションに関するフェイルオーバ・オペレーションの様々なステップを示す例示図である。 例示的実施形態に従った、例示的フェイルオーバ・オペレーションの概略を示す流れ図である。
符号の説明
510 物理セッション・オブジェクト
512 OTG
514 TIP
520 仮想セッション1オブジェクト
522 接続オブジェクト
524 パス接続オブジェクト
526 ボリューム・オブジェクト
530 仮想セッション2オブジェクト
532 接続オブジェクト
534 パス接続オブジェクト
536 ボリューム・オブジェクト

Claims (35)

  1. コンピューティング・デバイス上で実行された場合、前記コンピューティング・デバイスに、
    前記コンピューティング・デバイスに関連付けられたストレージ制御ユニットについて、複数のストレージ・ボリューム・グループを含む物理セッションを確立させること、
    それぞれの前記ストレージ・ボリューム・グループについての仮想セッションを、前記物理セッション内に確立させること、および
    前記ストレージ・ボリューム・グループのうちの1つに関して、前記コンピューティング・デバイスと第2のコンピューティング・デバイスとの間のリモート・ミラーリング・オペレーションを選択的に実行させる一方で、前記複数のストレージ・ボリューム・グループ内の他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションの対象としないこと、
    を実行させる、コンピュータ・プログラム。
  2. 前記リモート・ミラーリング・オペレーションが、
    前記コンピューティング・デバイス上で実行中のアプリケーション・インスタンスに関連付けられた第1のストレージ・ボリューム内のアプリケーション・データの、前記第2のコンピューティング・デバイスに関連付けられたストレージ・システムの第2のストレージ・ボリュームへの、ピアツーピア・リモート・コピー・オペレーションを有する、請求項1に記載のコンピュータ・プログラム。
  3. さらに前記プログラムが、前記コンピューティング・デバイスに、
    前記物理セッションおよび前記ストレージ・ボリューム・グループを識別するパラメータを有する、セッション・ポリシー・ファイルを受け取らせること、および
    それぞれの前記ストレージ・ボリューム・グループについて仮想セッションを確立するために、それぞれの前記ストレージ・ボリューム・グループについて仮想セッション・オブジェクトを生成させること、
    を実行させる、請求項1に記載のコンピュータ・プログラム。
  4. 前記仮想セッション・オブジェクトが、
    特定のストレージ制御ユニットに接続するための接続オブジェクトと、
    前記セッション・ポリシー・ファイル内に指定された前記ボリューム・グループに関する制御パス情報に基づいて生成されるパス接続オブジェクトと、
    前記セッション・ポリシー・ファイル内に指定された前記仮想セッションの一部であるそれぞれの前記ボリュームについてのボリューム・オブジェクトと、
    を有する、請求項3に記載のコンピュータ・プログラム。
  5. さらに前記プログラムが、前記コンピューティング・デバイスに、
    前記セッション・ポリシー・ファイルに基づいて物理セッション・オブジェクトを生成させることであって、前記物理セッション・オブジェクトは、前記仮想セッション・オブジェクトと、オペレーション・スレッド・グループ(OTG)と、タスク命令ポインタ(TIP)とを有する、生成すること、
    を実行させる、請求項3に記載のコンピュータ・プログラム。
  6. 前記OTGが、各仮想セッション・オブジェクトについて1つのスレッド、および前記物理セッション・オブジェクトについてはマスタ・スレッドの、複数のスレッドからなり、各スレッドが、前記仮想セッションと前記物理セッションとを区別するためのユニーク・セッション識別子を有する、請求項5に記載のコンピュータ・プログラム。
  7. 前記プログラムが、
    前記OTG内の前記複数のスレッドを使用して、前記リモート・ミラーリング・オペレーションのオペレーションを実行すること、および
    前記1つのストレージ・ボリューム・グループが前記リモート・ミラーリング・オペレーションを実行し、他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションを実行しないように、前記複数のスレッド内の前記スレッドの前記ユニーク・セッション識別子を使用して、前記リモート・ミラーリング・オペレーションのオペレーションの実行を調整すること、
    によって、前記コンピューティング・デバイスにリモート・ミラーリング・オペレーションを選択的に実行させる、請求項6に記載のコンピュータ・プログラム。
  8. さらに前記プログラムが、前記コンピューティング・デバイスに、
    前記リモート・ミラーリング・オペレーションの対応するスレッドのオペレーションが完了した後に、前記OTGの個々のスレッドごとに前記TIPを更新させること
    を実行させる、請求項7に記載のコンピュータ・プログラム。
  9. さらに前記プログラムが、前記コンピューティング・デバイスに、
    現在のオペレーションが正常に完了したことを示すように前記OTG内のすべてのスレッドが前記TIPを更新するまで、前記OTG内のスレッドの実行を次のオペレーションへと続行させないようにすること
    を実行させる、請求項8に記載のコンピュータ・プログラム。
  10. 前記リモート・ミラーリング・オペレーションが、フェイルオーバ・オペレーションであり、
    前記OTGの前記複数のスレッドのうちの物理セッション・スレッドが、前記物理セッションを休止し、
    前記OTGの前記複数のスレッドのうちの第1の仮想セッション・スレッドが、前記第1の仮想セッション・スレッドに関連付けられたストレージ・ボリューム・グループから、前記第2のコンピューティング・デバイスに関連付けられたストレージ・ボリューム・グループへの、フェイルオーバを開始し、
    前記物理セッション・スレッドが、前記第1の仮想セッション・スレッドに関連付けられた前記ストレージ・ボリューム・グループを前記物理セッション・オブジェクトから除去し、前記物理セッションに関連付けられた他の仮想セッションの他のストレージ・ボリューム・グループのオペレーションを再開する、
    請求項8に記載のコンピュータ・プログラム。
  11. 前記リモート・ミラーリング・オペレーションが、フェイルオーバ・オペレーションまたはフェイルバック・オペレーションのうちの1つである、請求項1に記載のコンピュータ・プログラム。
  12. 前記コンピューティング・デバイスおよび第2のコンピューティング・デバイスが、位相的に互いにリモートに配置される、請求項1に記載のコンピュータ・プログラム。
  13. 前記コンピューティング・デバイスおよび第2のコンピューティング・デバイスが、地理的に互いにリモートに配置される、請求項1に記載のコンピュータ・プログラム。
  14. プロセッサと、
    前記プロセッサによって実行された場合に、前記プロセッサに、
    コンピューティング・デバイスに関連付けられたストレージ制御ユニットについて、複数のストレージ・ボリューム・グループを含む物理セッションを確立させること、
    それぞれの前記ストレージ・ボリューム・グループについて、前記物理セッション内に仮想セッションを確立させること、および
    前記ストレージ・ボリューム・グループのうちの1つに関して、前記コンピューティング・デバイスと第2のコンピューティング・デバイスとの間でリモート・ミラーリング・オペレーションを選択的に実行させる一方で、前記複数のストレージ・ボリューム・グループ内の他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションの対象としないこと、
    を実行させる命令を含む、前記プロセッサに結合されたメモリと、
    を備える、データ処理システムと他のデータ処理システムとの間でリモート・ミラーリング・オペレーションを実行するためのデータ処理システム。
  15. 前記リモート・ミラーリング・オペレーションが、
    前記データ処理システム上で実行中のアプリケーション・インスタンスに関連付けられた第1のストレージ・ボリューム内のアプリケーション・データの、他のデータ処理システムに関連付けられたストレージ・システムの第2のストレージ・ボリュームへの、ピアツーピア・リモート・コピー・オペレーションを有する、請求項14に記載のシステム。
  16. さらに前記命令が、前記プロセッサに、
    前記物理セッションおよび前記ストレージ・ボリューム・グループを識別するパラメータを有する、セッション・ポリシー・ファイルを受け取らせること、および
    それぞれの前記ストレージ・ボリューム・グループについて仮想セッションを確立するために、それぞれの前記ストレージ・ボリューム・グループについて仮想セッション・オブジェクトを生成させること、
    を実行させる、請求項14に記載のシステム。
  17. 前記仮想セッション・オブジェクトが、
    特定のストレージ制御ユニットに接続するための接続オブジェクトと、
    前記セッション・ポリシー・ファイル内に指定された前記ボリューム・グループに関する制御パス情報に基づいて生成されるパス接続オブジェクトと、
    前記セッション・ポリシー・ファイル内に指定された前記仮想セッションの一部であるそれぞれの前記ボリュームについてのボリューム・オブジェクトと、
    を有する、請求項16に記載のシステム。
  18. さらに前記命令が、前記プロセッサに、
    前記セッション・ポリシー・ファイルに基づいて物理セッション・オブジェクトを生成させることであって、前記物理セッション・オブジェクトは、前記仮想セッション・オブジェクトと、オペレーション・スレッド・グループ(OTG)と、タスク命令ポインタ(TIP)とを有する、生成すること、
    を実行させる、請求項16に記載のシステム。
  19. 前記OTGが、各仮想セッション・オブジェクトについて1つのスレッド、および前記物理セッション・オブジェクトについてはマスタ・スレッドの、複数のスレッドからなり、各スレッドが、前記仮想セッションと前記物理セッションとを区別するためのユニーク・セッション識別子を有する、請求項18に記載のシステム。
  20. 前記命令が、
    前記OTG内の前記複数のスレッドを使用して、前記リモート・ミラーリング・オペレーションのオペレーションを実行すること、および
    前記1つのストレージ・ボリューム・グループが前記リモート・ミラーリング・オペレーションを実行し、他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションを実行しないように、前記複数のスレッド内の前記スレッドの前記ユニーク・セッション識別子を使用して、前記リモート・ミラーリング・オペレーションのオペレーションの実行を調整すること、
    によって、前記プロセッサにリモート・ミラーリング・オペレーションを選択的に実行させる、請求項19に記載のシステム。
  21. さらに前記命令が、前記プロセッサに、
    前記リモート・ミラーリング・オペレーションの対応するスレッドのオペレーションが完了した後に、前記OTGの個々のスレッドごとに前記TIPを更新させること
    を実行させる、請求項20に記載のシステム。
  22. さらに前記命令が、前記プロセッサに、
    現在のオペレーションが正常に完了したことを示すように前記OTG内のすべてのスレッドが前記TIPを更新するまで、前記OTG内のスレッドの実行を次のオペレーションへと続行させないようにすること
    を実行させる、請求項21に記載のシステム。
  23. 前記リモート・ミラーリング・オペレーションが、フェイルオーバ・オペレーションであり、
    前記OTGの前記複数のスレッドのうちの物理セッション・スレッドが、前記物理セッションを休止し、
    前記OTGの前記複数のスレッドのうちの第1の仮想セッション・スレッドが、前記第1の仮想セッション・スレッドに関連付けられたストレージ・ボリューム・グループから、前記第2のコンピューティング・デバイスに関連付けられたストレージ・ボリューム・グループへの、フェイルオーバを開始し、
    前記物理セッション・スレッドが、前記第1の仮想セッション・スレッドに関連付けられた前記ストレージ・ボリューム・グループを前記物理セッション・オブジェクトから除去し、前記物理セッションに関連付けられた他の仮想セッションの他のストレージ・ボリューム・グループのオペレーションを再開する、
    請求項20に記載のシステム。
  24. 前記リモート・ミラーリング・オペレーションが、フェイルオーバ・オペレーションまたはフェイルバック・オペレーションのうちの1つである、請求項14に記載のシステム。
  25. 前記コンピューティング・デバイスおよび第2のコンピューティング・デバイスが、位相的に互いにリモートに配置される、請求項14に記載のシステム。
  26. 前記コンピューティング・デバイスおよび第2のコンピューティング・デバイスが、地理的に互いにリモートに配置される、請求項14に記載のシステム。
  27. 実動サイト・システムに関連付けられたストレージ制御ユニットに関する、複数のストレージ・ボリューム・グループを含む物理セッションを確立するステップと、
    それぞれの前記ストレージ・ボリューム・グループについて、前記物理セッション内に仮想セッションを確立するステップと、
    前記ストレージ・ボリューム・グループのうちの1つに関して、前記実動サイト・システムと回復サイト・システムの間のリモート・ミラーリング・オペレーションを選択的に実行するステップであって、その一方で、前記複数のストレージ・ボリューム・グループ内の他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションの対象としない、選択的に実行するステップと、
    を有する、実動サイト・システムと回復サイト・システムとの間でリモート・ミラーリング・オペレーションを実行するための方法。
  28. 前記リモート・ミラーリング・オペレーションが、
    コンピューティング・デバイス上で実行中のアプリケーション・インスタンスに関連付けられた第1のストレージ・ボリューム内のアプリケーション・データの、第2のコンピューティング・デバイスに関連付けられたストレージ・システムの第2のストレージ・ボリュームへの、ピアツーピア・リモート・コピー・オペレーションを有する、請求項27に記載の方法。
  29. 前記物理セッションおよび前記ストレージ・ボリューム・グループを識別するパラメータを有する、セッション・ポリシー・ファイルを受け取るステップと、
    それぞれの前記ストレージ・ボリューム・グループについて仮想セッションを確立するために、それぞれの前記ストレージ・ボリューム・グループについて仮想セッション・オブジェクトを生成するステップと、
    をさらに有する、請求項27に記載の方法。
  30. 前記セッション・ポリシー・ファイルに基づいて物理セッション・オブジェクトを生成するステップであって、前記物理セッション・オブジェクトは、前記仮想セッション・オブジェクトと、オペレーション・スレッド・グループ(OTG)と、タスク命令ポインタ(TIP)とを有する、生成するステップをさらに有する、請求項29に記載の方法。
  31. 前記OTGが、各仮想セッション・オブジェクトについて1つのスレッド、および前記物理セッション・オブジェクトについてはマスタ・スレッドの、複数のスレッドからなり、各スレッドが、前記仮想セッションと前記物理セッションとを区別するためのユニーク・セッション識別子を有する、請求項30に記載の方法。
  32. リモート・ミラーリング・オペレーションを選択的に実行するステップが、
    前記OTG内の前記複数のスレッドを使用して、前記リモート・ミラーリング・オペレーションのオペレーションを実行するステップと、
    前記1つのストレージ・ボリューム・グループが前記リモート・ミラーリング・オペレーションを実行し、他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションを実行しないように、前記複数のスレッド内の前記スレッドの前記ユニーク・セッション識別子を使用して、前記リモート・ミラーリング・オペレーションのオペレーションの実行を調整するステップと、
    を有する、請求項31に記載の方法。
  33. 前記リモート・ミラーリング・オペレーションの対応するスレッドのオペレーションが完了した後に、前記OTGの個々のスレッドごとに前記TIPを更新するステップをさらに有する、請求項32に記載の方法。
  34. 現在のオペレーションが正常に完了したことを示すように前記OTG内のすべてのスレッドが前記TIPを更新するまで、前記OTG内のスレッドの実行を次のオペレーションへと続行させないようにするステップをさらに有する、請求項33に記載の方法。
  35. 実動サイトのコンピューティング・デバイスまたは回復サイトのコンピューティング・デバイスのうちの1つまたは複数を提供するステップと、
    1つの実動サイトのコンピューティング・デバイスまたは回復サイトのコンピューティング・デバイスのうちの少なくとも1つにデータ・ミラーリング・サービス・アプリケーション・ソフトウェアを提供するステップであって、前記データ・ミラーリング・サービス・アプリケーション・ソフトウェアが、
    前記1つまたは複数の実動サイトのコンピューティング・デバイスに関連付けられたストレージ制御ユニットについて、複数のストレージ・ボリューム・グループを含む物理セッションを確立し、
    それぞれの前記ストレージ・ボリューム・グループについての仮想セッションを、前記物理セッション内に確立し、
    前記ストレージ・ボリューム・グループのうちの1つに関して、前記実動サイトのコンピューティング・デバイスと前記回復サイトのコンピューティング・デバイスとの間のリモート・ミラーリング・オペレーションを選択的に実行させる一方で、前記複数のストレージ・ボリューム・グループ内の他のストレージ・ボリューム・グループは前記リモート・ミラーリング・オペレーションの対象としない、
    提供するステップと、
    を有する、データ・ミラーリング・サービスを提供する方法。
JP2007149530A 2006-06-08 2007-06-05 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法 Active JP5235338B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/422962 2006-06-08
US11/422,962 US7657782B2 (en) 2006-06-08 2006-06-08 Creating and managing multiple virtualized remote mirroring session consistency groups

Publications (2)

Publication Number Publication Date
JP2007328785A true JP2007328785A (ja) 2007-12-20
JP5235338B2 JP5235338B2 (ja) 2013-07-10

Family

ID=38920373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007149530A Active JP5235338B2 (ja) 2006-06-08 2007-06-05 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法

Country Status (3)

Country Link
US (1) US7657782B2 (ja)
JP (1) JP5235338B2 (ja)
CN (1) CN101086714B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115565A3 (ko) * 2012-01-30 2013-10-10 엘지전자 주식회사 가상 머신 관리 방법 및 이를 위한 장치
US10089201B2 (en) 2014-07-22 2018-10-02 Fujitsu Limited Storage device, storage system and non-transitory computer-readable storage medium for mirroring of data

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680908B2 (en) * 2006-09-28 2010-03-16 Microsoft Corporation State replication
US7779291B2 (en) * 2006-12-29 2010-08-17 Emc Corporation Four site triangular asynchronous replication
US7788207B2 (en) * 2007-07-09 2010-08-31 Blackboard Inc. Systems and methods for integrating educational software systems
US8271420B2 (en) * 2007-07-09 2012-09-18 Blackboard Inc. Systems and methods for integrating educational software systems
US8019732B2 (en) * 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9367512B2 (en) * 2009-04-22 2016-06-14 Aventura Hq, Inc. Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment
US8234332B2 (en) * 2009-04-22 2012-07-31 Aventura Hq, Inc. Systems and methods for updating computer memory and file locations within virtual computing environments
US9244716B2 (en) * 2009-10-30 2016-01-26 Avaya Inc. Generation of open virtualization framework package for solution installations and upgrades
KR20110080583A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 원격 운영체제 복구 가능한 컴퓨터 시스템 및 그 방법
US8392754B2 (en) 2010-10-11 2013-03-05 International Business Machines Corporation Disaster recovery production takeover
US8751762B2 (en) 2011-03-30 2014-06-10 International Business Machines Corporation Prevention of overlay of production data by point in time copy operations in a host based asynchronous mirroring environment
US8639984B2 (en) * 2011-08-09 2014-01-28 International Business Machines Corporation Checkpoint debugging using mirrored virtual machines
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
US9239868B2 (en) 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Virtual session management and reestablishment
CN104272281A (zh) * 2012-06-25 2015-01-07 株式会社日立制作所 计算机系统和应用程序运行环境转移方法
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9235464B2 (en) 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
US20140164323A1 (en) * 2012-12-10 2014-06-12 Transparent Io, Inc. Synchronous/Asynchronous Storage System
US9063997B2 (en) 2013-02-12 2015-06-23 International Business Machines Corporation Asynchronous pausing of the formation of consistency groups
US9307011B2 (en) * 2013-04-01 2016-04-05 Netapp, Inc. Synchronous mirroring of NVLog to multiple destinations (architecture level)
WO2015081473A1 (zh) * 2013-12-02 2015-06-11 华为技术有限公司 异步复制方法、装置与系统
CN105094942B (zh) * 2014-04-23 2018-09-21 华为技术有限公司 Hsm会话管理方法、管理虚拟机和服务器
US9804935B1 (en) * 2015-01-26 2017-10-31 Intel Corporation Methods for repairing a corrupted database to a new, correct state by selectively using redo and undo operations
US9935824B2 (en) 2015-06-15 2018-04-03 International Business Machines Corporation Virtualization of consistency groups
US10671493B1 (en) 2017-08-29 2020-06-02 Wells Fargo Bank, N.A. Extended remote copy configurator of three-site data replication for disaster recovery
US11379335B2 (en) * 2017-10-05 2022-07-05 International Business Machines Corporation Self-reporting remote copy performance on a consistency group
WO2020162943A1 (en) * 2019-02-07 2020-08-13 Thogamalai Krishnakumar Arumugham Holistic intelligence and autonomous information system and method thereof
US11150845B2 (en) 2019-11-01 2021-10-19 EMC IP Holding Company LLC Methods and systems for servicing data requests in a multi-node system
US11392464B2 (en) * 2019-11-01 2022-07-19 EMC IP Holding Company LLC Methods and systems for mirroring and failover of nodes
US11294725B2 (en) 2019-11-01 2022-04-05 EMC IP Holding Company LLC Method and system for identifying a preferred thread pool associated with a file system
US11288211B2 (en) 2019-11-01 2022-03-29 EMC IP Holding Company LLC Methods and systems for optimizing storage resources
CN112887192B (zh) * 2021-01-12 2023-05-30 讯飞智元信息科技有限公司 跨网通信方法及其电子设备、计算机可读存储介质
CN116501264B (zh) * 2023-06-25 2023-09-15 苏州浪潮智能科技有限公司 一种数据存储方法、装置、系统、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259348A (ja) * 1998-01-26 1999-09-24 Internatl Business Mach Corp <Ibm> ボリュ―ムのスナップショット・コピ―を行う装置及び方法
US20040006587A1 (en) * 2002-07-02 2004-01-08 Dell Products L.P. Information handling system and method for clustering with internal cross coupled storage
JP2005182532A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd データ多重化制御方法
JP2005202532A (ja) * 2004-01-14 2005-07-28 Hitachi Ltd 複数コピーグループの一括サスペンド方法およびシステム
WO2005071544A1 (en) * 2003-06-18 2005-08-04 International Business Machines Corporation Method. system. and program for andling a failover to a remote storage location

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504894A (en) 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
JP2516317B2 (ja) * 1992-10-13 1996-07-24 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理システムとディジタル信号プロセッサへのロ―ディング方法
US5671439A (en) 1995-01-10 1997-09-23 Micron Electronics, Inc. Multi-drive virtual mass storage device and method of operating same
JPH08228203A (ja) 1995-02-21 1996-09-03 Fujitsu Ltd データ転送方式
US5778411A (en) * 1995-05-16 1998-07-07 Symbios, Inc. Method for virtual to physical mapping in a mapped compressed virtual storage subsystem
US6393481B1 (en) * 1997-10-06 2002-05-21 Worldcom, Inc. Method and apparatus for providing real-time call processing services in an intelligent network
US6035306A (en) * 1997-11-24 2000-03-07 Terascape Software Inc. Method for improving performance of large databases
US7100071B2 (en) 1998-07-16 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for allocating fail-over memory
AU2112301A (en) 1999-09-24 2001-04-24 Sun Microsystems, Inc. Mechanism for enabling session information to be shared across multiple processes
US6625161B1 (en) 1999-12-14 2003-09-23 Fujitsu Limited Adaptive inverse multiplexing method and system
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6820182B1 (en) * 2000-10-18 2004-11-16 International Business Machines Corporation Support for exhaustion recovery in a data processing system with memory mirroring
AU2002239391A1 (en) * 2000-11-30 2002-06-11 Message Machines, Inc. Systems and methods for routing messages to communications devices
JP4457184B2 (ja) * 2001-02-13 2010-04-28 ネットアップ,インコーポレイテッド ストレージシステムにおけるフェイルオーバー処理
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6757778B1 (en) * 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system
US7000142B2 (en) * 2002-07-25 2006-02-14 Lsi Logic Corporation Mirrored extensions to a multiple disk storage system
US7613298B2 (en) * 2002-10-03 2009-11-03 Medialive System and process for adaptive and progressive scrambling of video streams
US20050162424A1 (en) 2003-02-07 2005-07-28 Yuko Imai Computer product, session management method, and session management apparatus
US7583607B2 (en) 2003-03-06 2009-09-01 Hewlett-Packard Development Company, L.P. Method and apparatus for designating and implementing support level agreements
US7120824B2 (en) * 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US20050050273A1 (en) * 2003-08-27 2005-03-03 Horn Robert L. RAID controller architecture with integrated map-and-forward function, virtualization, scalability, and mirror consistency
JP2007527170A (ja) 2004-02-19 2007-09-20 ジョージア テック リサーチ コーポレイション 並列通信のためのシステムおよび方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259348A (ja) * 1998-01-26 1999-09-24 Internatl Business Mach Corp <Ibm> ボリュ―ムのスナップショット・コピ―を行う装置及び方法
US20040006587A1 (en) * 2002-07-02 2004-01-08 Dell Products L.P. Information handling system and method for clustering with internal cross coupled storage
WO2005071544A1 (en) * 2003-06-18 2005-08-04 International Business Machines Corporation Method. system. and program for andling a failover to a remote storage location
JP2005182532A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd データ多重化制御方法
JP2005202532A (ja) * 2004-01-14 2005-07-28 Hitachi Ltd 複数コピーグループの一括サスペンド方法およびシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115565A3 (ko) * 2012-01-30 2013-10-10 엘지전자 주식회사 가상 머신 관리 방법 및 이를 위한 장치
KR20140099873A (ko) * 2012-01-30 2014-08-13 엘지전자 주식회사 가상 머신 관리 방법 및 이를 위한 장치
US9891937B2 (en) 2012-01-30 2018-02-13 Lg Electronics Inc. Method for managing virtual machine and device therefor
US10089201B2 (en) 2014-07-22 2018-10-02 Fujitsu Limited Storage device, storage system and non-transitory computer-readable storage medium for mirroring of data

Also Published As

Publication number Publication date
CN101086714A (zh) 2007-12-12
CN101086714B (zh) 2010-08-18
JP5235338B2 (ja) 2013-07-10
US20080010496A1 (en) 2008-01-10
US7657782B2 (en) 2010-02-02

Similar Documents

Publication Publication Date Title
JP5235338B2 (ja) 複数の仮想化リモート・ミラーリング・セッション整合性グループを作成および管理するためのシステムおよび方法
JP5147229B2 (ja) 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法
US10936447B2 (en) Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
US10146453B2 (en) Data migration using multi-storage volume swap
US10733060B2 (en) Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups
US9400611B1 (en) Data migration in cluster environment using host copy and changed block tracking
US7287181B2 (en) Mirrored volume replication method, apparatus, and system
JP5156682B2 (ja) ストレージシステムにおけるバックアップ方法
JP7004714B2 (ja) 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法
US10719244B2 (en) Multi-mode data replication for data loss risk reduction
US7111004B2 (en) Method, system, and program for mirroring data between sites
JP2005243026A (ja) 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム
JP2008511924A (ja) 長距離通信リンク上でのデータ複製を用いた、地理的に分散配置されたサーバノードのクラスタにおける自動化されたフェールオーバー
JP2006164080A (ja) データ処理方法及びシステム
US7647357B2 (en) Data transfer management in consistency group formation
EP2260379B1 (en) Method and system for storage replication
JP6227771B2 (ja) 論理ボリュームを管理するためのシステム及び方法
US10282263B1 (en) Creating distributed storage during partitions
US10275324B2 (en) Replication with multiple consistency groups per volume
JP4072963B2 (ja) ストレージ・ボリュームの整合したコピーのための方法、システム、および製品
Budrean et al. High availability solutions for transactional database systems
JP4583075B2 (ja) サイト間でデータをミラーリングする方法、システム、およびプログラム
Carter et al. Implementing AlwaysOn Availability Groups

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

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

Year of fee payment: 3