(57)【要約】【課題】結合されたセッション環境におけるセッションのクラスタのためのセッション情報を統合するための方法、システム、およびプログラムを提供する。【解決手段】クラスタを備える複数の各セッションについての情報は、プロセッサ・セッションのメモリ内に記憶される。各セッションは、少なくとも１つの一次システムと、少なくとも１つの二次システムに関連し、各セッション内において、少なくとも１つの一次システムから少なくとも１つの二次システムに更新がコピーされる。複数のセッションについてのメモリ内のセッション情報を処理して、クラスタについての統合セッション情報をクラスタ内のセッションについてのセッション情報に基づいて生成する。クラスタについての統合セッション情報は、セッションについての情報を保持するマスタ・データ・セットに書き込まれる。【選択図】図１
2007220103.tif 000002
【特許請求の範囲】
【請求項１】
クラスタを備える複数の各セッションについてのセッション情報をプロセッサのメモリに記憶するステップであって、各セッションは、少なくとも１つの一次システムと少なくとも１つの二次システムとを関連付け、各セッション内において、前記少なくとも１つの一次システムから前記少なくとも１つの二次システムへ更新がコピーされる、ステップと、
前記複数のセッションについての前記メモリ内のセッション情報を処理して、前記クラスタについての統合セッション情報を、前記クラスタ内の前記セッションについての前記セッション情報に基づいて生成するステップと、
前記クラスタについての前記統合セッション情報を、セッションについての情報を保持するマスタ・データ・セットに書き込むステップとを含む、方法。
【請求項２】
一次システム、二次システム、およびマスタ・データ・セットと通信するシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリと、
動作を行うために前記プロセッサによって実行されるコードを備えるコンピュータ読み出し可能な媒体とを備え、前記動作は、
クラスタを備える複数の各セッションについてのセッション情報をプロセッサのメモリに記憶するステップであって、各セッションは、少なくとも１つの前記一次システムと少なくとも１つの前記二次システムとを関連付け、各セッション内において、前記少なくとも１つの一次システムから前記少なくとも１つの二次システムへ更新がコピーされる、ステップと、
前記複数のセッションについての前記メモリ内のセッション情報を処理して、前記クラスタについての統合セッション情報を、前記クラスタ内の前記セッションについての前記セッション情報に基づいて生成するステップと、
前記クラスタについての前記統合セッション情報を、セッションについての情報を保持する前記マスタ・データ・セットに書き込むステップ
とを含む、システム。
【請求項３】
前記動作は、前記クラスタに含まれないセッションについての情報を前記マスタ・データ・セットに書き込むステップをさらに含み、
前記クラスタに含まれない前記セッションは、前記少なくとも１つの一次システムから前記少なくとも１つの二次システムへ更新がコピーされるように、少なくとも１つの一次システムと少なくとも１つの二次システムとを関連付ける、請求項２に記載のシステム。
【請求項４】
前記プロセッサは、第１のプロセッサを備え、
第２のプロセッサをさらに含み、前記クラスタに含まれない前記セッションは、第２のプロセッサによって管理され、前記第１のプロセッサは、前記クラスタ内の前記セッションについての更新をコピーする前記動作を管理する、請求項３に記載のシステム。
【請求項５】
前記クラスタは、第１のクラスタを備え、
前記マスタ・データ・セットは、追加のプロセッサによって管理されるセッションを含む追加のクラスタからの情報を含むように適合される、請求項２に記載のシステム。
【請求項６】
前記情報を処理するステップは、
前記メモリ内に示された各セッションについての最新更新時間を判断するステップを含み、
前記統合情報は、前記判断された最新更新時間の最小値を備える、請求項２に記載のシステム。
【請求項７】
追加のプロセッサをさらに備え、
前記マスタ・データ・セットは、前記追加のプロセッサによって管理される少なくとも１つの一次ストレージと少なくとも１つの二次ストレージとを関連付ける結合されたセッションからの情報を含むように適合され、
前記追加のプロセッサは、前記マスタ・データ・セット内の前記統合情報を読み出して、前記マスタ・データ・セット内で示された全ての前記結合されたセッションに渡る前記最新更新時間の前記最小値を判断して、結合されたセッションに渡るデータの整合性を保持することができる、請求項６に記載のシステム。
【請求項８】
前記情報を処理するステップは、
前記メモリ内に示された各セッションについてのエラー・フラグの値を判断するステップをさらに含み、前記統合情報を生成するステップは、判断された全ての前記エラー・フラグに対して論理和演算を行うステップを含み、前記統合エラー・フラグがエラーを示すと判断したことに応じて、追加のセッションを管理する追加のプロセッサが更新に失敗する、請求項２に記載のシステム。
【請求項９】
前記情報を処理するステップは、
前記メモリ内に示された各セッションについての状態フラグの値を判断するステップを含み、
前記統合情報を生成するステップは、
前記判断された値に対して第１の種類の動作を行って、第１の動作についての統合情報を判断するステップと、
【請求項１０】
前記状態フラグは、前記セッションが前記マスタ・データ・セット内に表された全ての他のセッションと整合性があるかどうかを示し、前記第１の種類の動作は、論理和演算を含み、前記第２の種類の動作は、論理積演算を含む、請求項９に記載のシステム。
【請求項１１】
追加のプロセッサをさらに備え、
前記マスタ・データ・セットは、前記追加のプロセッサによって管理される少なくとも１つの一次ストレージと少なくとも１つの二次ストレージとを関連付ける結合されたセッションからの情報を含むように適合され、
少なくとも１つのセッションを管理する１つのプロセッサは、
各クラスタまたは、前記マスタ・データ・セット内に示されたクラスタ内に含まれないセッションについての情報を処理して、前記マスタ・データ・セット内に示された全てのセッションについての情報を提供する値を取得するステップと、
前記値を処理して、前記一次システムから二次システムへの書き込み更新を行うかどうかを判断するステップと
を行うことができる、請求項２に記載のシステム。
【請求項１２】
以下の動作を行わせるコードを実行するために、メモリを有するプロセッサを備えるコンピュータに  マスタ・データ・セットを生成するステップと、
クラスタを備える複数の各セッションについてのセッション情報を前記メモリに記憶するステップであって、各セッションは、少なくとも１つの一次システムと、少なくとも１つの二次システムとに関連し、各セッション内において、前記少なくとも１つの一次システムから前記少なくとも１つの二次システムへ更新がコピーされる、ステップと、
前記複数のセッションについてのメモリ内のセッション情報を処理して、前記クラスタについての統合セッション情報を、前記クラスタ内の前記セッションについての前記セッション情報に基づいて生成するステップと、
前記クラスタについての前記統合セッション情報を、セッションについての情報を保持するマスタ・データ・セットに書き込むステップと
を実行させる、プログラム。
【請求項１３】
前記動作は、前記クラスタに含まれないセッションについての情報を前記マスタ・データ・セットに書き込むステップをさらに含み、
前記クラスタに含まれない前記セッションは、前記少なくとも１つの一次システムから前記少なくとも１つの二次システムへ更新がコピーされるように、少なくとも１つの一次システムと少なくとも１つの二次システムとを関連付ける、請求項１２に記載のプログラム。
【請求項１４】
前記プロセッサは、第１のプロセッサを備え、
前記プログラムは、前記クラスタに含まれない前記セッションを管理する第２のプロセッサによって実行されるコードをさらに備え、前記第１のプロセッサは、前記クラスタ内の前記セッションについての更新をコピーする前記動作を管理する、請求項１３に記載のプログラム。
【請求項１５】
前記クラスタは、第１のクラスタを備え、
前記マスタ・データ・セットは、追加のプロセッサによって管理されるセッションを含む追加のクラスタからの情報を含むように適合される、請求項１２に記載のプログラム。
【請求項１６】
前記情報を処理するステップは、
前記メモリ内に示された各セッションについての最新更新時間を判断するステップを含み、
前記統合情報は、前記判断された最新更新時間の最小値を備える、請求項１２に記載のプログラム。
【請求項１７】
前記マスタ・データ・セットは、追加のプロセッサによって管理される少なくとも１つの一次ストレージと少なくとも１つの二次ストレージとを関連付ける結合されたセッションからの情報を含むように適合され、
前記プログラムは、
前記マスタ・データ・セット内の前記統合情報を読み出して、前記マスタ・データ・セット内で示された全ての前記結合されたセッションに渡る前記最新更新時間の前記最小値を判断して、結合されたセッションに渡るデータの整合性を保持するステップ
を含む動作を行うために前記追加のプロセッサによって実行されるコードをさらに備える、請求項１６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、結合セッション環境におけるセッションのクラスタのためのセッション情報を統合するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
災害復旧システムは、典型的には、単一の時点における突発的な障害またはある期間に渡るデータ損失という２つの種類の障害に対処する。２番目の種類である漸進的災害においては、ボリュームに対する更新が失われることがある。データ更新の復旧を助けるためには、データのコピーを遠隔地に提供してもよい。そのような二重または影のコピーは、典型的には、アプリケーション・システムが新規のデータを一次ストレージ装置へ書き込んでいる間に作成される。二次サイトにおけるデータの遠隔コピーを保持するために、インターナショナル・ビジネス・マシン社（「ＩＢＭ」）の拡張リモート・コピー（ＸＲＣ）、結合ＸＲＣ（ＣＸＲＣ）、グローバル・コピー、およびグローバル・ミラー・コピーなどの互いに異なるコピー技術を使用してもよい。これらの互いに異なるコピー技術は、ＩＢＭパブリケーション「Ｔｈｅ  ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  ＤＳ６０００  Ｓｅｒｉｅｓ：Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｏｐｅｎ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（ＴｏｔａｌＳｔｏｒａｇｅは、ＩＢＭ社の登録商標）、ＩＢＭ文書番号ＳＧ２４‐６７８３‐００（２００５年９月）および「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ：Ｉｍｐｌｅｍｅｎｔｉｎｇ  ＥＳＳ  Ｃｏｐｙ  Ｓｅｒｖｉｃｅｓ  ｗｉｔｈ  ＩＢＭ  ｅＳｅｒｖｅｒ  ｚＳｅｒｉｅｓ」（ＴｏｔａｌＳｔｏｒａｇｅは、ＩＢＭ社の登録商標、ｅＳｅｒｖｅｒはＩＢＭ社の商標）、ＩＢＭ文書番号ＳＧ２４‐５６８０‐０４（２００４年７月）に記載されている。
【０００３】
データ・ミラーリング・システムにおいて、データは、ボリュームの対で保持される。ボリュームの対は、一次ストレージ装置内のボリュームと、一次ボリューム内に保持されるデータの同一コピーを含む二次ストレージ装置内の対応ボリュームとからなる。一次および二次ストレージ・コントローラを使用して、一次および二次ストレージ装置に対するアクセスを制御してもよい。あるバックアップ・システムにおいて、互いに異なるアプリケーションによって互いに異なる一次ストレージ装置に書き込まれた更新がタイム・スタンプとして整合性のある時刻（ＴＯＤ）値を使用するように、均一の時間アクセス・システムを提供するために、シスプレックス・タイマが使用される。アプリケーション・システムは、データ・セットに対して、そのようなデータ・セットを一次ストレージ内のボリュームに書き込む際にタイム・スタンプを押す。データ更新の妥当性は、一次ボリュームに対してなされたのと同じ順番で、ボリュームの対のうちの二次ボリュームにおいて更新がなされることを保証することに関連する。アプリケーション・プログラムによって提供されたタイム・スタンプは、データ更新の論理シーケンスを決定する。
【０００４】
データベース・システムのような数多くのアプリケーション・プログラムにおいて、先行する書き込みが生じないと生じることができない書き込みがある。そうでなければ、データの妥当性は脅かされることになる。妥当性が以前のデータ書き込みの発生に依存するそのようなデータ書き込みは、依存的な書き込みとして知られている。一次および二次ストレージ内のボリュームは、全ての書き込みが論理順に転送された場合、すなわち全ての依存的な書き込みがそれに依存する書き込みの前に転送された場合に、整合性を有する。整合性グループは、整合のあるタイム・スタンプと同じまたはそれより以前のタイム・スタンプを有する整合性グループ内の全てのデータ書き込みについての整合性のある時間を有する。整合性グループとは、依存的な書き込みが整合性のあるやり方で確保されるような、一次ボリュームに対する更新の集まりである。整合性のある時間とは、二次ボリュームに対する更新が整合性を有することをその時間までシステムが補償する、直近の時間である。整合性グループは、ボリュームおよびストレージ装置に渡って、データの整合性を保持する。よって、データが二次ボリュームから回復された場合には、回復されたデータは、整合性を有することになる。
【０００５】
整合性グループは、セッション内で形成される。セッションに割り当てられた全てのボリュームの対は、同一の整合性グループ内に保持された更新を有することになる。よって、セッションを使用して、整合性グループ内にグループ化されることになるボリュームを決定する。整合性グループは、ジャーナル装置またはボリューム内に形成される。ジャーナルから、整合性グループを形成するために収集された更新が二次ボリュームに適用される。ジャーナルからの更新が二次ボリュームに適用されている間にシステムが故障した場合には、回復動作の間、二次ボリュームへの書き込みを完了しなかった更新は、ジャーナルから回復されて、二次ボリュームへ適用される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
結合ＸＲＣ環境（ＣＸＲＣ）などの結合されたセッション環境において、互いに異なるプロセッサに渡って分散された複数のセッションは、結合セッション環境におけるセッション毎の最新の更新の時間を提供するマスタ・データ・セットを介して、その更新を整合させる。セッションは、全てのセッションに渡ってデータの整合性を保持するために読み出す、結合された環境内の他のセッションについてのマスタ・データ・セットに、更新されたセッション情報を書き込まなければならない。セッションは、マスタ・データ・セットにアクセスして、最新更新時間の最小値より大きな更新をセッションが適用しないように、全てのセッションに渡って最新更新時間の最小値を決定する必要がある。マスタ・データ・セットに対する読み出しおよび書き込みを行うセッションは、他のセッションに対して、そのような動作を行うのをロック・アウトしてもよい。結合されたセッション環境においてセッション数が増加するにつれて、に対する読み出しおよび書き込み数は増加し、アクセスを得ようとする他のセッションに対して遅れを生じさせる場合がある。
【０００７】
これらの理由により、当該技術において、マスタ・データ・セットの使用および管理を改善するための手法を提供する必要が生じる。
【課題を解決するための手段】
【０００８】
結合されたセッション環境におけるセッションのクラスタのためのセッション情報を統合するための方法、システム、およびプログラムが提供される。クラスタを備える複数の各セッションについての情報は、プロセッサ・セッションのメモリ内に記憶される。各セッションは、少なくとも１つの一次システムと、少なくとも１つの二次システムに関連し、各セッション内において、少なくとも１つの一次システムから少なくとも１つの二次システムに更新がコピーされる。複数のセッションについてのメモリ内のセッション情報を処理して、クラスタについての統合セッション情報をクラスタ内のセッションについてのセッション情報に基づいて生成する。クラスタについての統合セッション情報は、セッションについての情報を保持するマスタ・データ・セットに書き込まれる。
【０００９】
さらなる実施形態において、クラスタに含まれないセッションについての情報は、マスタ・データ・セットに書き込まれる。クラスタに含まれないセッションは、少なくとも１つの一次システムから少なくとも１つの二次システムに更新がコピーされるように、少なくとも１つの一次システムと少なくとも１つの二次システムとを関連付ける。
【００１０】
さらなる実施形態において、プロセッサは、第１のプロセッサを備え、クラスタに含まれないセッションは、第２のプロセッサによって管理され、第１のプロセッサは、クラスタ内のセッションについての更新をコピーする動作を管理する。
【００１１】
さらなる実施形態において、クラスタは、第１のクラスタを備え、マスタ・データ・セットは、追加のプロセッサによって管理されるセッションを含む追加のクラスタからの情報を含むように適合される。
【００１２】
さらなる実施形態において、情報を処理するステップは、メモリ内に示された各セッションについての最新更新時間を判断するステップを含み、統合情報は、判断された最新更新時間の最小値を備える。
【００１３】
さらなる実施形態において、マスタ・データ・セットは、追加のプロセッサによって管理される少なくとも１つの一次ストレージと少なくとも１つの二次ストレージとを関連付ける結合されたセッションからの情報を含むように適合される。追加のプロセッサは、マスタ・データ・セット内の統合情報を読み出して、マスタ・データ・セット内で示された全ての結合されたセッションに渡る最新更新時間の最小値を判断して、結合されたセッションに渡るデータの整合性を保持する。
【００１４】
さらなる実施形態において、情報を処理するステップは、メモリ内に示された各セッションについてのエラー・フラグの値を判断するステップを含み、統合情報は、判断された全てのエラー・フラグに対して論理和演算を行うことを含み、統合エラー・フラグがエラーを示すと判断したことに応じて、追加のセッションを管理する追加のプロセッサが更新に失敗する。
【００１５】
さらなる実施形態において、情報を処理するステップは、メモリ内に示された各セッションについての状態フラグの値を判断するステップを含み、統合情報は、判断された値に対して第１の種類の動作を行って第１の動作についての統合情報を判断し、判断された値に対して第２の種類の動作を行って第２の動作についての統合情報を判断することによって生成される。
【００１６】
さらなる実施形態において、状態フラグは、セッションがマスタ・データ・セット内に表された全ての他のセッションと整合性があるかどうかを示し、第１の種類の動作は、論理和演算を含み、第２の種類の動作は、論理積演算を含む。
【００１７】
さらなる実施形態において、マスタ・データ・セットは、追加のプロセッサによって管理される少なくとも１つの一次ストレージと少なくとも１つの二次ストレージとを関連付けるセッションからの情報を含むように適合される。少なくとも１つのセッションを管理する１つプロセッサは、各クラスタまたは、マスタ・データ・セット内に示されたクラスタ内に含まれないセッションについての情報を処理して、マスタ・データ・セット内に示された全てのセッションについての情報を提供する値を取得して、当該値を処理して一次システムから二次システムへの書き込み更新を行うかどうかを判断する。
【発明を実施するための最良の形態】
【００１８】
図１は、ネットワーク・コンピューティング環境の一実施形態を示す。ネットワーク２は、複数の一次制御ユニット４ａ…４ｍ，４ｎと、一次ストレージ６ａ…６ｍ，６ｎと、一次ストレージ６ａ…６ｍ，６ｎから二次制御ユニット１０ａ…１０ｍ，１０ｎおよび対応二次ストレージ１２ａ…１２ｍ，１２ｎへのコピーを管理するデータ・ムーバ８ａ…８ｍ，８ｎと、一次ストレージ６ａ…６ｍ，６ｎへ更新を書き込むホスト１４と、システム・タイマ１８と、マスタ・データ・セット２０とを含む。データ・ムーバ８ａ…８ｍ，８ｎは、プロセッサ２２ａおよび２２ｂにおいて実施される。構成要素４ａ…４ｍ，４ｎ，６ａ…６ｍ，６ｎ，８ａ…８ｍ，８ｎ，１０ａ…１０ｍ，１０ｎ，１２ａ…１２ｍ，１２ｎ、１４，１８，２０，２２ａ，２２ｂは、ネットワーク２に接続され、ネットワーク２は、これらの構成要素間の通信を可能にしている。ネットワーク２は、互いに異なるネットワーク２の要素間の通信の１つ以上の経路を提供する１つ以上のスイッチを含んでもよい。
【００１９】
説明する実施形態において、単一のプロセッサ２２ａは、複数のシステム・データ・ムーバ（ＳＤＭ）プログラム８ａ…８ｍ，８ｎを含んでもよく、各ＳＤＭ８ａ…８ｍ，８ｎは、１つ以上のセッションについての更新の転送を管理する。一次ボリュームに適用される更新が関連二次ボリュームにコピーされるように、一次および二次ボリュームを関連付ける。１つのセッションに関連した一次および二次ボリュームは、１つ以上の一次制御ユニット４ａ…４ｍと、１つ以上の二次制御ユニット１０ａ…１０ｍとによって管理されてもよい。単一のプロセッサ２２ａによって保持される複数のセッションは、クラスタ２４を備える。よって、クラスタ２４は、単一のプロセッサ２２ａ内で管理されたセッションを表す。各セッションは、プロセッサ２２ａ内でそれ自体のアドレス空間が割り当てられてもよい。
【００２０】
個別セッション２５のような個別セッションは、複数のセッションのクラスタ内には含まれない。そのような場合、個別セッション２５についてのＳＤＭ８ｎを保持するプロセッサ２２ｂは、任意の他のセッションについてのＳＤＭを含まない。図１は、データの整合性を保持しているデータの１つのクラスタ２４および１つの個別セッション２５のみを示す。他の実施形態において、複数のクラスタおよびセッションの一部でない複数の個別セッションがあってもよい。さらなる実施形態において、１つのプロセッサは、単一のプロセッサにおいて実施された各セッションがクラスタ化されない個別のセッションを備えるように、クラスタ内に結合されていない複数のセッションを実施してもよい。
【００２１】
システム・データ・ムーバ（ＳＤＭ）プログラム８ａ…８ｎは、一次ストレージ６ａ…６ｎからの更新を読み出して、一次ストレージ６ａ…６ｎからの更新の整合性グループを形成して、対応二次ストレージ１２ａ…１２ｎに書き込む。一次制御ユニット４ａ…４ｎにおいて、更新は、一次制御ユニット４ａ…４ｎのキャッシュ内のサイド・ファイルに書き込まれてもよい。その後、更新は、ＳＤＭ８ａ…８ｎによって保持されたジャーナル２６ａ…２６ｎに転送されてもよい。各ジャーナル２６ａ…２６ｎ内において、更新は、整合性グループに編成される。ジャーナル２６ａ…２６ｎは、１つ以上の整合性グループを記憶してもよい。整合性グループは、整合性タイム・スタンプと同じまたはそれより以前のタイム・スタンプを有する整合性グループ内の全てのデータ書き込みについての整合性のある時間を有する。整合性グループとは、依存的な書き込みが整合性のあるやり方で確保されるような、一次ボリュームに対する更新の集まりである。整合性のある時間とは、二次ボリュームに対する更新が整合性を有することをその時間までにシステムが補償する、直近の時間である。整合性グループは、ボリュームおよびストレージ装置に渡って、データの整合性を保持する。よって、データが二次ボリュームから回復された場合には、回復されたデータは、整合性を有することになる。
【００２２】
整合性グループは、セッション内で形成される。セッションに割り当てられた全ての一次および二次ボリュームの対は、同一の整合性グループ内に保持された更新を有することになる。よって、セッションを使用して、整合性グループ内にグループ化されることになるボリュームを決定する。ジャーナル２６ａ…２６ｎからの更新が二次ボリュームに適用されている間にシステムが故障した場合には、回復動作の間、二次ボリュームへの書き込みを完了しなかった更新は、ジャーナル２６ａ…２６ｎから回復されて、二次ボリュームへ適用される。
【００２３】
図１において、ＳＤＭ８ａ…８ｎは、プロセッサ２２ａおよび２２ｂ内に実施されたプログラムを備える。一代替実施形態において、ＳＤＭ８ａ…８ｎは、一次制御ユニット４ａ…４ｎ、二次制御ユニット１０ａ…１０ｎなどの他のシステムにおいて実施されてもよい。
【００２４】
クラスタ２４についての複数のセッションを管理するプロセッサ２２ａは、マスタ・データ・セット２０へのセッション情報の読み出しおよび書き込みを管理するクラスタ・マネージャ２８プログラムを含む。ＳＤＭ８ｎは、クラスタ内にないセッションについてのセッション情報をマスタ・データ・セット２０へ書き込む。セッションのクラスタを管理するプロセッサ２２ａは、また、共通メモリ３０を含む。クラスタ２４内のセッション情報は、共通メモリ３０に書き込まれる。クラスタ・マネージャ２８は、複数のセッションについての共通メモリ３０内のセッション情報を統合して、クラスタ２４内の全てのセッションについての統合セッション情報ををマスタ・データ・セット２０へ書き込む。さらに、クラスタ・マネージャ２８は、マスタ・データ・セット２０内の情報を統合して、クラスタ２４内のセッションへ提供して、セッションＳＤＭ８ａ…８ｍが一次から二次ストレージへ更新をコピーする場合に使用する。
【００２５】
マスタ・データ・セット２０は、セッションに渡って整合性が保持されるセッションのリストを含む。マスタ・データ・セット２０のリストは、クラスタ２４の部分でない個別セッションについての情報と、クラスタ２４内の全てのセッションについての統合情報を提供する各クラスタについての単一の統合エントリとを含む。マスタ・データ・セット２０は、ストレージ６ａ…６ｎおよび１２ａ…１２ｎ内のボリューム上に常駐してもよく、ディスク・ストレージ装置内に記憶されてもよい。一次／二次制御対についてのジャーナル・データ・セット２６ａ…２６ｎは、任意の装置に常駐してもよい。図１において、各ＳＤＭ８ａ…８ｎは、情報がマスタ・データ・セット２０において示される１つのセッションの一部である。クラスタ・マネージャ２８および個別ＳＤＭ８ｎは、マスタ・データ・セット２０にアクセスすることができる。
【００２６】
システム・タイマ１８は、全てのＳＤＭ８ａ…８ｎに渡って共通時間を使用して、更新をボリュームに書き込むアプリケーション・プログラムについての共通時間基準を提供することを保証して、更新は順序が乱れてミラーリングされていないことを保証する。一旦ジャーナル２６ａ…２６ｎ内の更新が整合性グループ内に編成されると、整合性グループ内の更新が、二次ストレージ１２ａ…１２ｎに適用される。整合性グループの作成は、データの任意の種類についての更新シーケンス妥当性とともに、リアル・タイムで、データを遠隔地に投影することになる。妥当性グループを使用すれば、セッション内の二次ストレージ１２ａ…１２ｎに適用された更新は、整合性グループの整合性のある時間において整合性があり、セッション間で整合性を有する。ジャーナル２２ａ…２２ｎから二次ストレージ１２ａ…１２ｎ内の二次ボリュームへ更新を書き込む間に障害が生じた場合には、回復の間に、システム小が中に割り込まれた更新は、ジャーナルから回復でき、二次ボリュームへ再適用できる。このように、回復中の一時点においてセッション内およびセッションに渡る整合性が保証される。コピー動作は、インターナショナル・ビジネス・マシン社（「ＩＢＭ」）の拡張リモート・コピー（ＸＲＣ）、結合ＸＲＣ（ＣＸＲＣ）、グローバル・コピー、グローバル・ミラー・コピー、およびピア・ツー・ピア遠隔コピー（ＰＰＲＣ）などの同期ミラーリングのように、マスタ・データ・セット２０を使用して、セッションに渡って整合性を保持する。
【００２７】
ネットワーク２は、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、インターネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ピア・ツー・ピア・ネットワーク、無線ネットワーク、アービトレート型ループ・ネットワークなどを備えてもよい。ストレージ６ａ…６ｎおよび１２ａ…１２ｎは、単純ディスク束（ＪＢＯＤ）、直接アクセス・ストレージ装置（ＤＡＳＤ）、独立ディスクの冗長アレイ（ＲＡＩＤ）アレイ、仮想化装置、テープ・ストレージ、フラッシュ・メモリなどのストレージ装置のアレイを備えてもよい。プロセッサ２２ａおよび２２ｂは、オペレーティング・システムを有する別個のシステムを備えてもよく、または単一のシステム内に実施される複数の論理区画（ＬＰＡＲ）または仮想プロセッサのうちの１つを備えてもよい。
【００２８】
一次制御ユニット４ａ…４ｍおよび二次制御ユニット１０ａ…１０ｍは、それぞれ、オペレーティング・システム３２ａ…３２ｎおよび３４ａ…３４ｎと、コピー動作を行うためのミラーリング・プログラムとを含む。ホスト１４は、オペレーティング・システム３６と、一次制御ユニット４ａ…４ｍに対する入出力要求を通信する１つ以上のアプリケーション３８とを含む。
【００２９】
図２は、個別セッション情報５０の一実施形態を示す。個別セッション情報５０は、クラスタ２４内の各ＳＤＭ８ａ…８ｍが共通メモリ３０へ書き込むセッション情報、またはＳＤＭ８ｎがマスタ・データ・セット２０へ書き込む個別セッション２５についてのセッション情報を備えてもよい。個別セッション情報５０は、セッション識別子（ＩＤ）５２と、ジャーナル２６ａ…２６ｎに書き込まれた一次制御ユニット４ａ…４ｎにおける最新の更新の最新更新時間５４と、当該セッションについてエラーが生じたかどうかを示すエラー・フラグ５６と、マスタ・データ・セット２０に情報が保持された他のセッションに対して当該セッションが整合性を有するかどうかを示すインターロック・フラグ５８と、当該セッションに含まれるボリューム数を示すボリューム数フィールド６０とを含む。
【００３０】
図３は、クラスタ２４内のセッションについて共通メモリ３０に保持された個別セッション情報５０からクラスタ・マネージャ２８によって生成された統合セッション情報７０の一実施形態を示す。１つのクラスタ２４についての統合セッション情報７０は、クラスタ識別子７２と、クラスタ２４内の全てのセッションについての最新更新時間７４と、クラスタ２４内の全てのセッションについての個別セッション情報５０についてのエラー・フラグ５６を論理和演算することによって形成されてもよい統合エラー・フラグ７６と、クラスタ２４内の全てのセッションについてのインターロック・フラグ５８に対して互いに異なる動作を行うことによって形成される２つの統合インターロック・フラグ７８および８０と、全てのクラスタ化されたセッション内のボリューム総数を備えるボリューム総数８２とを含む。例えば、第１のインターロック・フラグ７８は、クラスタ２４内のセッションについての全ての個別インターロック・フラグ５８を論理和演算することによって形成されてもよく、第２のインターロック・フラグ８０は、クラスタ２４内のセッションについての全ての個別インターロック・フラグ５８を論理積演算することによって形成されてもよい。インターロック・フラグについて互いに異なる統合値を保持する理由は、互いに異なる動作／機能は、値の論理和演算対論理積演算などの互いに異なるやり方で形成された統合情報を必要とすることがあるからである。
【００３１】
図２および図３は、個別およびクラスタ化されたセッション情報の一実施形態をそれぞれ示す。他の実施において、個別およびクラスタ化されたセッション情報について、異なるまたは追加の情報が含まれてもよい。
【００３２】
図４は、ＳＤＭ８ａ…８ｎによって管理されたセッションいついての個別セッション情報５０を更新するための、ＳＤＭ８ａ…８ｎによって行われる動作を示す。ＳＤＭ８ａ…８ｎが（ブロック１００において）セッション情報を更新するための動作を開始すると、（ブロック１０２において）セッションがクラスタの一部でない、例えば、個別セッション２５である場合に、ＳＤＭ８ｎは、（ブロック１０４において）個別セッション情報５０、例えば、当該セッションについての最新行進時間５４、エラー５６、およびインターロック・フラグ５８をマスタ・データ・セット２０に書き込む。（ブロック１０２において）セッションがクラスタ２４の一部である場合、ＳＤＭ８ａ…８ｎは、（ブロック１０６において）個別セッション情報５０を、クラスタ２４用共通メモリ３０内のエントリに書き込む。
【００３３】
図５は、マスタ・データ・セット２０への書き込み動作数を統合および減少するために、クラスタ２４についての統合セッション情報をマスタ・データ・セット２０へ書き込むために、クラスタ・マネージャ２８によって行われる動作の一実施形態を示す。（ブロック１５０において）セッションを統合化するために呼び出されると、クラスタ・マネージャ２８は、（ブロック１５２）において、クラスタ２４内の複数のセッションについてのメモリ３０内の個別セッション情報５０を処理して、クラスタ２４についての統合セッション情報７０を生成する。ブロック１５２におけるセッション情報統合動作は、ブロック１５４から１６８における動作によって行われてもよい。統合された最新更新時間を判断するために、クラスタ・マネージャ２８は、（ブロック１５４において）個別セッション情報５０から、共通メモリ３０内において示されたクラスタ２４内の各セッションについての最新更新時間５４を判断する。その後、クラスタ・マネージャ２８は、（ブロック１５６において）クラスタ２４内の全てのセッションについて判断された最新更新時間の最小値を備える統合最新更新時間７４を判断する。統合エラー・フラグを判断するために、クラスタ・マネージャ２８は、（ブロック１５８において）メモリ内において示された各セッションについてのエラー・フラグの値を判断する。（ブロック１６０において）共通メモリ３０から判断されたエラー・フラグ７６に対して論理和演算を行うことによって、統合エラー・フラグ７６が判断される。
【００３４】
２つの統合インターロック・セッション情報値７８および８０を判断するために、クラスタ・マネージャ２８は、（ブロック１６２において）共通メモリ３０から、クラスタ２４内の各セッションについてのインターロック・フラグの値を判断する。その後、クラスタ・マネージャ２８は、（ブロック１６４において）クラスタ２４内のセッションについての個別セッション情報５０内の全インターロック・フラグ５８に対する論理和などの第１の種類の動作を、クラスタ２４内のセッションについてのインターロック・フラグ５８に対する行うことによって、第１の動作／機能についての統合インターロック・フラグを判断する。論理積演算などの第２の種類の動作を、（ブロック１６６において）個別セッションのインターロック・フラグ５８に対して行ってもよい。同一のデータに対する互いに異なる動作を必要とする互いに異なる機能によって使用される統合セッション情報を生成する場合に、互いに異なる動作を同一のセッション情報に対して行ってもよい。その後、クラスタ・マネージャ２８は、（ブロック１６８において）クラスタについての統合セッション情報７０をマスタ・データ・セット２０へ書き込む。
【００３５】
図６は、一次ストレージ６ａ…６ｎに対する更新を二次ストレージ１２ａ…１２ｎへコピーするために、ＳＤＭ８ａ…８ｎによって行われる動作の一実施形態を示す。（ブロック２００において）更新をコピーするために呼び出されると、ＳＤＭ８ａ…８ｎは、（ブロック２０２において）ネットワーク２内の各クラスタ２４についての統合エラー・フラグ７６を判断する。ＳＤＭ８ａ…８ｎは、マスタ・データ・セット２０を読み出すこと、または全てのクラスタについてのクラスタ・マネージャ２８を呼び出すことによって、全てのクラスタについての共通メモリをアクセスして、クラスタセッションについてのエラー・フラグを読み出すことによって、統合エラー・フラグ７６を取得してもよい。一実施形態において、クラスタ化されたセッション２４についてのクラスタ・マネージャ２８は、マスタ・データ・セット２０にアクセスして、他のクラスタについてのマスタ・データ・セット２０内のエントリ、または個別セッション２５を統合化して、ＳＤＭ８ａ…８ｎに提供して使用に供してもよい。
【００３６】
ＳＤＭ８ａ…８ｎは、（ブロック２０４において）マスタ・データ・セット２０を読み出すことによって、クラスタ内に含まれない全個別セッションについてのエラー・フラグ５６をさらに判断する。その後、ＳＤＭ８ａ…８ｎは、（ブロック２０６において）（クラスタ内にない個別セッション２５およびクラスタについての統合エラー・フラグ７６について）判断された全エラー・フラグの論理和演算を行う。（ブロック２０８において）論理和値がエラーを示している場合には、例えば、１の値を示している場合には、（ブロック２１０において）更新動作は失敗である。なぜなら、１つのセッションの失敗は、結合されたセッション環境全体の失敗を引き起こすからである。（ブロック２０８において）どのセッションにもエラーがないことを論理和値が示している場合には、ＳＤＭ８ａ…８ｎは、（ブロック２１２において）（クラスタ・マネージャ２８から、またはマスタ・データ・セット２０を読み出して）各クラスタについての統合最新更新時間７４を判断する。ＳＤＭ８ａ…８ｎは、（ブロック２１４において）マスタ・データ・セット２０を読み出すことによって、クラスタ２４内に含まれない全個別セッション２５についての最新更新時間５４をさらに判断する。その後、ＳＤＭ８ａ…８ｎは、（ブロック２１６において）結合された環境における全セッションについて判断された最新更新時間の最小値を判断する。その後、ＳＤＭ８ａ…８ｎは、（ブロック２１８において）全最新更新時間の最小値以下の時間を有するジャーナル２６ａ…２６ｎにおける全更新の整合性グループを形成して、（ブロック２２０において）形成された整合性グループ内の更新を２次ストレージ１２ａ…１２ｎへ書き込む。このように、結合されたセッション環境におけるクラスタ化された全セッションおよび個別セッションに渡って整合性が保持される。
【００３７】
図７は、セッション情報を使用する互いに異なる機能によって行われる動作の一実施形態を示す。これらの機能は、ＳＤＭ８ａ…８ｎ、クラスタ・マネージャ２８、また何らかの他の構成要素の一部であってもよい。（ブロック２５０において）機能のうちの１つが呼び出されたことに応じて、機能（または他の構成要素）は、（ブロック２５２において）（クラスタ・マネージャから、またはマスタ・データ・セット２０を読み出して）各クラスタ２４についての統合インターロック・フラグ７８を判断し、（ブロック２５４において）マスタ・データ・セット２０を読み出すことによって、クラスタ内に含まれない全個別セッション２５についてのインターロック・フラグ５８を判断する。その後、（ブロック２５６において）機能に依存した演算（例えば、論理和、論理積、または他の機能）が、結合された環境内の全セッションに付いて判断された全インターロック・フラグに対して行われて、全セッションに渡る統合機能依存インターロック値を判断する。機能は、（ブロック２５８において）判断された統合インターロック値を使用する。代替実施形態において、図６の動作は、インターロック・フラグ以外のセッション情報に対して行われてもよい。
【００３８】
上述の実施形態により、セッションのクラスタについてのマスタ・データ・セットに対する書き込み数は、単一のプロセッサによって管理されるクラスタ内のセッションについてのセッション情報をクラスタ・マネージャに統合させることによって、削減される。さらに、読み出し数も削減される。なぜならば、最新更新時間およびエラー・フラグなどの更新関連動作を行うのに必要な情報が、各クラスタ毎に、クラスタ内の複数のセッションについてのセッション情報を提供する統合セッション情報に統合されるからである。よって、結合された環境内のセッション数が増加すると、マスタ・データ・セットに対する読み出しおよび書き込み数は、クラスタ内に追加されたセッションについては特に、必ずしも同様に増加するものではない。マスタ・データ・セットに対する読み出しおよび書き込み数を削減すると、他のセッションによるアクセスが完了する前にマスタ・データ・セットにアクセスするためにセッションが待たなければならない遅れが削減される。
【００３９】
追加の実施形態の詳細
上述の動作は、標準的なプログラミングまたは技術手法あるいはその両方を使用する方法、装置、または製品として実施されて、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを生んでもよい。上述の動作は、「コンピュータ読み出し可能な媒体」内に保持されたコードとして実施されてもよく、プロセッサは、コードをコンピュータ読み出し可能な媒体から読み出しおよび実行してもよい。コンピュータ読み出し可能な媒体は、磁気ストレージ媒体（例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど）、光学ストレージ（ＣＤ‐ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性および不揮発性メモリ装置（ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、ファームウェア、プログラム可能な論理）などのような媒体を備えてもよい。上述の動作を実施するコードは、ハードウェア論理（例えば、集積回路チップ、プログラム可能なゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）においてさらに実施されてもよい。さらに、上述の動作を実施するコードは、「送信信号」において実施されてもよく、送信信号は、空間または光ファイバ、銅線などの送信媒体を通じて伝播してもよい。コードまたは論理が符号化される送信信号は、無線信号、衛星送信、無線波、赤外線信号、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）などさらに備えてもよい。コードまたは論理が符号化される送信信号は、は、送信局によって送信され、受信局によって受信されることができ、送信信号内のコードまたは論理は、装置の受信または送信局において、ハードウェアまたはコンピュータ読み出し可能な媒体において復号化および記憶されてもよい。「製品」は、コンピュータ読み出し可能な媒体、ハードウェア論理、またはコードが実施されてもよい送信信号あるいはその全てを備える。上述の実施形態の動作を実施するコードが符号化されている装置は、コンピュータ読み出し可能な媒体またはハードウェア論理を備えてもよい。当然ながら、本発明の範囲から逸脱することなく本構成に対して数多くの修正を行ってもよく、製品は当該技術において既知の適切な情報搬送媒体を備えてもよいことを、当業者は理解するだろう。
【００４０】
「実施形態」という用語は、特に明記しない限り、「本発明の１つ以上（ではあるが全てではない）の実施形態」を意味する。
【００４１】
「含む」、「備える」、「有する」という用語およびその変形は、特に明記しない限り、「含むが、それに限定されない」ということを意味する。
【００４２】
項目の列挙されたリストは、特に明記しない限り、任意のまたは全ての項目が互いに排他的であることを示唆するものではない。
【００４３】
「前記」および「当該」という用語は、特に明記しない限り、「１つ以上」を意味する。
【００４４】
互いに通信を行う装置は、特に明記しない限り、連続的な通信を互いに行う必要はない。加えて、互いに通信を行う装置は、直接的に、または１つ以上の仲介物を通じて間接的に通信してもよい。
【００４５】
互いに通信を行ういくつかの構成要素を伴う実施形態の説明は、そのような構成要素の全てを要することを示唆するものではない。逆に、本発明の想定される幅広い多様な実施形態を示すために、オプションの構成要素を説明している。
【００４６】
さらに、処理ステップ、方法ステップ、アルゴリズムなどはシーケンシャルな順序で説明されている場合があるが、そのような処理、方法、アルゴリズムは、逆の順序で行うように構成されてもよい。言い換えれば、説明するようなステップのシーケンスまたは順序は、必ずしもその順序でステップが行われる必要があることを示すものではない。本明細書において説明した処理のステップは、現実的な任意の順序で行われてもよい。さらに、同時に行われてもよいステップもある。
【００４７】
本明細書において単一の装置または製品が説明されている場合、単一の装置／製品の代わりに、１つ以上の装置／製品（協働するかしないかに関わらず）を使用してもよい。同様に、本明細書において１つ以上の装置または製品が説明されている場合（協働するかしないかに関わらず）、１つ以上の装置または製品の代わりに、単一の装置／製品が使用されてもよく、または、示された装置またはプログラムの数の代わりに、異なる数の装置／製品を使用してもよい。装置の機能または特徴あるいはその両方は、そのような機能／特徴を有すると明示的に説明されていない１つ以上の他の装置によって交換可能に実施されてもよい。よって、本発明の他の実施形態は、装置自体を含む必要がない。
【００４８】
図４、図５、図６、および図７の図示の動作は、ある順序で生じる、あるイベントを示す。代替実施形態において、ある動作は、異なる順序で、修正、または除去されて行われてもよい。さらに、上述の論理にステップが追加されて、それでも上述の実施形態に合致してもよい。さらに、本明細書において述べた動作は、連続的に生じてもよく、または特定の動作が並行して行われてもよい。さらに、動作は、単一の処理ユニットまたは分散された処理ユニットによって行われてもよい。
【００４９】
本発明の様々な実施形態の以上の説明は、例示および説明の目的で提示された。網羅的を意図するものではなく、また、開示された厳密な形式に本発明を限定することを意図するものではない。数多くの修正および変形が、上記教示の観点から可能である。本発明の範囲は、この詳細な説明によって限定されるものではなく、添付の請求項によって限定されるものであることが意図されている。上述の説明、例、およびデータは、本発明の構成の製造および使用の完全な説明を提供している。本発明の数多くの実施形態は、本発明の精神および範囲から逸脱しないで作成可能であるので、本発明は、添付の請求項内に存在する。
【図面の簡単な説明】
【００５０】
【図１】ネットワーク・コンピューティング環境の一実施形態を示す。
【図２】個別セッション情報の一実施形態を示す。
【図３】統合セッション情報の一実施形態を示す。
【図４】セッション情報を更新するための動作の一実施形態を示す。
【図５】クラスタの一部であるセッションのためのセッション情報を統合する動作の一実施形態を示す。
【図６】一次ストレージに対する更新を二次ストレージへコピーする動作の一実施形態を示す。
【図７】セッション情報を統合して使用するための機能のための動作の一実施形態を示す。
【符号の説明】
【００５１】
２  ネットワーク
４ａ  一次制御ユニット
４ｎ  一次制御ユニット
６ａ  一次ストレージ
６ｎ  一次ストレージ
８ａ  ＳＤＭ
８ｎ  ＳＤＭ
１０ａ  二次制御ユニット
１０ｎ  二次制御ユニット
１２ａ  二次ストレージ
１２ｎ  二次ストレージ
１４  ホスト
１８  システム・タイマ
２０  マスタ・データ・セット
２２ａ  プロセッサ
２２ｂ  プロセッサ
２４  クラスタ
２４  アプリケーション
２５  セッション
２６  オペレーティング・システム
２６ａ  ジャーナル
２６ｎ  ジャーナル
２８  クラスタ・マネージャ
２８ａ  オペレーティング・システム
２８ｎ  オペレーティング・システム
３０  共通メモリ
３０ａ  オペレーティング・システム
３０ｎ  オペレーティング・システム
【図１】
2007220103.tif 000003
【図２】
2007220103.tif 000004
【図３】
2007220103.tif 000005
【図４】
2007220103.tif 000006
【図５】
2007220103.tif 000007
【図６】
2007220103.tif 000008
【図７】
2007220103.tif 000009