(57)【要約】      （修正有）【課題】ＮＷ化されたデバイスに広がるデータにアクセスするシステムの提供。【解決手段】データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答等のアドレス指定を実行するためのコマンドを第１データストレージシステムに送る。少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答等にアクセスする。データセットと、第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とのアドレス指定を実行するためのコマンドを、データセット中の少なくとも第２サブセットを有する第２データストレージシステムに送る。データセット中の第２サブセットと、第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とにアクセスする。【選択図】図１Ａ
2010140477.tif 000002
【特許請求の範囲】
【請求項１】
データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答、あるいは、前記データセット中の少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかとのアドレス指定を実行するためのコマンドを第１データストレージシステムに送る工程と、
前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする工程と、
前記データセットと、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とのアドレス指定を実行するためのコマンドを、前記データセット中の少なくとも第２サブセットを有する前記第２データストレージシステムに送る工程と、
前記データセット中の前記第２サブセットと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とにアクセスする工程と
を備える方法。
【請求項２】
請求項１記載の方法であって、
前記第１データストレージシステムにコマンドを送る工程が、小型コンピューター用周辺機器インターフェース（ＳＣＳＩ）入出力（Ｉ／Ｏ）要求コマンドを介して、前記第１データストレージシステムにコマンドを送る工程を備え、前記第１データストレージシステムがＳＣＳＩストレージシステムであり、かつ、前記第２データストレージシステムがＳＣＳＩストレージシステムであり、
前記第２データストレージシステムにコマンドを送る工程が、ＳＣＳＩ  Ｉ／Ｏ要求コマンドを介して、前記第２データストレージシステムにコマンドを送る工程を備え、前記第２データストレージシステムがＳＣＳＩストレージシステムであり、かつ、前記第３データストレージシステムがＳＣＳＩストレージシステムである
方法。
【請求項３】
請求項１記載の方法であって、
前記第１データストレージシステムに対する前記リファラルが、前記第１データストレージシステムに対するアクセスを可能にするための前記第１データストレージシステムのポートを識別する第１ポート識別子を備え、
前記第２データストレージシステムに対する前記リファラルが、前記第２データストレージシステムに対するアクセスを可能にするための前記第２データストレージシステムのポートを識別する第２ポート識別子を備え、
前記第３データストレージシステムに対する前記リファラルが、前記第３データストレージシステムに対するアクセスを可能にするための前記第３データストレージシステムのポートを識別する第３ポート識別子を備える
方法。
【請求項４】
請求項１記載の方法であって、
前記第１データストレージシステムに対する前記リファラルが、
前記第１データストレージシステムのポートに関連する第１ポート識別子と、
前記データセット中の前記第１サブセットの第１データオフセットと、
前記第１データストレージシステムの第１データ長と、を備え、
前記第２データストレージシステムに対する前記リファラルが、
前記第２データストレージシステムのポートに関連する第２ポート識別子と、
前記データセット中の前記第２サブセットの第２データオフセットと、
前記第２データストレージシステムの第２データ長と、を備え、
前記第３データストレージシステムに対する前記リファラルが、
前記第３データストレージシステムのポートに関連する第３ポート識別子と、
前記データセット中の前記第３サブセットの第３データオフセットと、
前記第３データストレージシステムの第３データ長と、を備える
方法。
【請求項５】
請求項４記載の方法であって、
前記第１データストレージシステムの前記第１データ長が、前記データセット中の前記第１サブセットのデータ長と、前記第１データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第２データストレージシステムの前記第２データ長が、前記データセット中の前記第２サブセットのデータ長と、前記第２データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第３データストレージシステムの前記第３データ長が、前記データセット中の前記第３サブセットのデータ長と、前記第３データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計である
方法。
【請求項６】
請求項１記載の方法であって、
前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする工程が、
前記第１データストレージシステムのステータスと、前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答とを受信する工程を備え、
前記データセット中の前記第２サブセットにアクセスする工程が、
前記第２データストレージシステムのステータスと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とを受信する工程を備える
方法。
【請求項７】
請求項６記載の方法であって、
前記第１ストレージシステムのステータスを転送する前記第１データストレージシステムを介して、前記データセット中の前記第１サブセットへのアクセスが実行され、
前記第２ストレージシステムのステータスを転送する前記第２データストレージシステムを介して、前記データセット中の前記第２サブセットへのアクセスが実行される
方法。
【請求項８】
第１リファラル応答を生成する、あるいは、データセット中の第１サブセットを格納して、第１リファラル応答を生成する、の少なくともいずれかを実行する第１データストレージシステムと、
前記データセット中の第２サブセットを格納し、第２リファラル応答を生成する、第２データストレージシステムと、を備えるストレージスラスターで、
前記第１リファラル応答が、前記第２データストレージシステムに対するリファラルを含み、前記第２リファラル応答が、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む
ストレージクラスター。
【請求項９】
請求項８記載のストレージクラスターであって、
前記第１データストレージシステムがＳＣＳＩストレージシステムであり、前記第２データストレージシステムがＳＣＳＩストレージシステムであり、さらに、前記第３データストレージシステムがＳＣＳＩストレージシステムである、
ストレージクラスター。
【請求項１０】
請求項８記載のストレージクラスターであって、
前記第１データストレージシステムに対する前記リファラルが、前記第１データストレージシステムに対するアクセスを可能にするための前記第１データストレージシステムのポートを識別する第１ポート識別子を備え、
前記第２データストレージシステムに対する前記リファラルが、前記第２データストレージシステムに対するアクセスを可能にするための前記第２データストレージシステムのポートを識別する第２ポート識別子を備え、
前記第３データストレージシステムに対する前記リファラルが、前記第３データストレージシステムに対するアクセスを可能にするための前記第３データストレージシステムのポートを識別する第３ポート識別子を備える
ストレージクラスター。
【請求項１１】
請求項８記載のストレージクラスターであって、
前記第１データストレージシステムに対する前記リファラルが、
前記第１データストレージシステムのポートに関連する第１ポート識別子と、
前記データセット中の前記第１サブセットの第１データオフセットと、
前記第１データストレージシステムの第１データ長と、を備え、
前記第２データストレージシステムに対する前記リファラルが、
前記第２データストレージシステムのポートに関連する第２ポート識別子と、
前記データセット中の前記第２サブセットの第２データオフセットと、
前記第２データストレージシステムの第２データ長と、を備え、
前記第３データストレージシステムに対する前記リファラルが、
前記第３データストレージシステムのポートに関連する第３ポート識別子と、
前記データセット中の前記第３サブセットの第３データオフセットと、
前記第３データストレージシステムの第３データ長と、を備える
ストレージクラスター。
【請求項１２】
請求項１１記載のストレージクラスターであって、
前記第１データストレージシステムの前記第１データ長が、前記データセット中の前記第１サブセットのデータ長と、前記第１データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第２データストレージシステムの前記第２データ長が、前記データセット中の前記第２サブセットのデータ長と、前記第２データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第３データストレージシステムの前記第３データ長が、前記データセット中の前記第３サブセットのデータ長と、前記第３データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計である、
ストレージクラスター。
【請求項１３】
データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答、あるいは、前記データセット中の少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかとのアドレス指定を実行するためのコマンドを第１データストレージシステムに送る手段と、
前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする手段と、
前記データセットと、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とのアドレス指定を実行するためのコマンドを、前記データセット中の少なくとも第２サブセットを有する前記第２データストレージシステムに送る手段と、
前記データセット中の前記第２サブセットと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とにアクセスする手段と
を備えるシステム。
【請求項１４】
請求項１３記載のシステムで、
前記第１データストレージシステムにコマンドを送る手段が、小型コンピューター用周辺機器インターフェース（ＳＣＳＩ）入出力（Ｉ／Ｏ）要求コマンドを介して、前記第１データストレージシステムにコマンドを送る手段を備え、前記第１データストレージシステムがＳＣＳＩストレージシステムであり、かつ、前記第２データストレージシステムがＳＣＳＩストレージシステムであり、
前記第２データストレージシステムにコマンドを送る手段が、ＳＣＳＩ  Ｉ／Ｏ要求コマンドを介して、前記第２データストレージシステムにコマンドを送る手段を備え、前記第２データストレージシステムがＳＣＳＩストレージシステムであり、かつ、前記第３データストレージシステムがＳＣＳＩストレージシステムである
システム。
【請求項１５】
請求項１３記載のシステムであって、
前記第１データストレージシステムに対する前記リファラルが、前記第１データストレージシステムに対するアクセスを可能にするための前記第１データストレージシステムのポートを識別する第１ポート識別子を備え、
前記第２データストレージシステムに対する前記リファラルが、前記第２データストレージシステムに対するアクセスを可能にするための前記第２データストレージシステムのポートを識別する第２ポート識別子を備え、
前記第３データストレージシステムに対する前記リファラルが、前記第３データストレージシステムに対するアクセスを可能にするための前記第３データストレージシステムのポートを識別する第３ポート識別子を備える
システム。
【請求項１６】
請求項１３記載のシステムであって、
前記第１データストレージシステムに対する前記リファラルが、
前記第１データストレージシステムのポートに関連する第１ポート識別子と、
前記データセット中の前記第１サブセットの第１データオフセットと、
前記第１データストレージシステムの第１データ長と、を備え、
前記第２データストレージシステムに対する前記リファラルが、
前記第２データストレージシステムのポートに関連する第２ポート識別子と、
前記データセット中の前記第２サブセットの第２データオフセットと、
前記第２データストレージシステムの第２データ長と、を備え、
前記第３データストレージシステムに対する前記リファラルが、
前記第３データストレージシステムのポートに関連する第３ポート識別子と、
前記データセット中の前記第３サブセットの第３データオフセットと、
前記第３データストレージシステムの第３データ長と、を備える
システム。
【請求項１７】
請求項１６記載のシステムであって、
前記第１データストレージシステムの前記第１データ長が、前記データセット中の前記第１サブセットのデータ長と、前記第１データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第２データストレージシステムの前記第２データ長が、前記データセット中の前記第２サブセットのデータ長と、前記第２データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計であり、
前記第３データストレージシステムの前記第３データ長が、前記データセット中の前記第３サブセットのデータ長と、前記第３データストレージシステムに対するすべての派生リファラル応答に含まれるすべての派生データストレージシステム上に存在する前記データセット中のすべてのサブセットのデータ長との合計である
システム。
【請求項１８】
請求項１３記載のシステムであって、
前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする手段が、
前記第１データストレージシステムのステータスと、前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答とを受信する手段を備え、
前記データセット中の前記第２サブセットにアクセスする手段が、
前記第２データストレージシステムのステータスと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とを受信する手段を備える
システム。
【請求項１９】
請求項１８記載のシステムであって、
前記第１ストレージシステムのステータスを転送する前記第１データストレージシステムを介して、前記データセット中の前記第１サブセットへのアクセスが実行されることが、前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする手段に通知され、
前記第２ストレージシステムのステータスを転送する前記第２データストレージシステムを介して、前記データセット中の前記第２サブセットへのアクセスが実行されることが、前記データセット中の前記第２サブセットにアクセスする手段に通知される
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク化されたストレージに関し、さらに詳しくは、イニシエータシステムとブロック・ストレージクラスター内の多数のポートとの間で任意の数の小型コンピューター用周辺機器インターフェース（ＳＣＳＩ）リファラルを提供するシステム並びに方法に関する。
【背景技術】
【０００２】
ブロック・ストレージのクラスター化およびネットワーク化されたストレージにより、複数のストレージデバイスに広がるデータにアクセスするシステムや方法が提供される。
【発明の概要】
【０００３】
本発明の方法は、これに限定されるものではないが、データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答、あるいは、前記データセット中の少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかとのアドレス指定を実行するためのコマンドを第１データストレージシステムに送る工程と、前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする工程と、前記データセットと、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とのアドレス指定を実行するためのコマンドを、前記データセット中の少なくとも第２サブセットを有する前記第２データストレージシステムに送る工程と、前記データセット中の前記第２サブセットと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とにアクセスする工程とを備える。
【０００４】
本発明のストレージクラスターは、これに限定されるものではないが、第１リファラル応答を生成する、あるいは、データセット中の第１サブセットを格納して、第１リファラル応答を生成する、の少なくともいずれかを実行する第１データストレージシステムと、前記データセット中の第２サブセットを格納し、第２リファラル応答を生成する、第２データストレージシステムと、を備えるストレージスラスターで、前記第１リファラル応答が、前記第２データストレージシステムに対するリファラルを含み、前記第２リファラル応答が、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む。
【０００５】
本発明のシステムは、これに限定されるものではないが、データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答、あるいは、前記データセット中の少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかとのアドレス指定を実行するためのコマンドを第１データストレージシステムに送る手段と、前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスする手段と、前記データセットと、前記第１データストレージシステムと第３データストレージシステムの少なくともいずれか一つに対するリファラルを含む第２リファラル応答とのアドレス指定を実行するためのコマンドを、前記データセット中の少なくとも第２サブセットを有する前記第２データストレージシステムに送る手段と、前記データセット中の前記第２サブセットと、前記第１データストレージシステムと前記第３データストレージシステムの少なくともいずれか一つに対する前記リファラルを含む前記第２リファラル応答とにアクセスする手段と、を備える。
【０００６】
上述の発明の概要並びに以下の発明の詳細な説明は、例示および説明を目的としたものに過ぎず、本発明の要旨を必ずしも限定するものではない。本明細書に組み込まれ、その一部を形成する添付図面は、本発明の要旨を例示するものである。以下に示す本発明の説明および図面は、本発明の原理を説明するためのものである。
【図面の簡単な説明】
【０００７】
【図１Ａ】本発明の一実施例として、ブロック・ストレージプロトコルを介してアクセス可能なネットワーク化されたストレージ実装／システムの一部を示すブロック図。
【図１Ｂ】本発明の一実施例として、ブロック・ストレージプロトコルを介してアクセス可能なネットワーク化されたストレージ実装／システムの残部を示すブロック図。
【図２】リファラルを用いたＳＣＳＩコマンド／応答の遠隔手続き呼び出し（リモート・プロシージャ・コール）の概略を示すブロック図。
【図３】イニシエータシステムとブロック・ストレージクラスターとの間の通信方法を示すフローチャート。
【図４】実施例におけるＳＣＳＩリファラルリストのフォーマットを示す図。
【図５】連結型リファラルリスト配信における一連のＳＣＳＩリファラルを示すブロック図。
【図６】ツリー型リファラルリスト配信における一連のＳＣＳＩリファラルを示すブロック図。
【発明を実施するための形態】
【０００８】
以下、添付の図面を参照して、本発明の実施形態の要旨を詳細に説明する。
【０００９】
ブロック・ストレージプロトコルを介してアクセス可能なネットワーク化されたストレージ実装／システムを図１に示す。ブロック・ストレージプロトコルの例としては、ファイバー・チャンネル（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）、ｉＳＣＳＩ、シリアル接続ＳＣＳＩ（ＳＡＳ）等のネットワーク対応メディアトランスポート手段により実行される小型コンピューター用周辺機器インターフェース（ＳＣＳＩ）プロトコルが挙げられる。
【００１０】
本発明は、ＳＣＳＩ  ＲＤＭＡプロトコル（ＳＲＰ）など他のブロック・ストレージプロトコルでも実装可能である。本発明のシステム／方法は、ブロック・ストレージプロトコルを拡張して、ブロック・ストレージクラスターを形成する複数の離散型協動ストレージシステムに対して、共通の論理ブロックアドレス空間を有するデータを分配する。
【００１１】
ネットワーク化されたストレージ実装／システム／ストレージインフラ１００は、アプリケーションシステム／サーバー１０２を備える。アプリケーションシステム１０２は、一つあるいは複数のアプリケーション１０４を実行する。アプリケーションシステム１０２上で実行されるアプリケーション１０４は、ネットワーク（たとえば、ストレージエリアネットワーク（ＳＡＮ）１１０）を通して／介して／用いて、一つあるいは複数のストレージシステム（１０６ないし１０８）上に格納されるストレージリソースにアクセス可能である。アプリケーションは、サーバーのオペレーティングシステム１１４のブロック・ストレージプロトコル・スタック（たとえば、小型コンピューター用周辺機器インターフェース（ＳＣＳＩ）プロトコルスタック）１１２を用いて、（汎用性を犠牲にすることなく）ストレージリソース／ネットワーク・ストレージリソースにアクセス可能である。サーバー１０２のオペレーティングシステム１１４は、サーバーのハードウェア上で直接実行されるものでもよいし、あるいは、汎用性を犠牲にすることなく仮想化された環境下におけるバーチャル・マシン内で実行されるものでもよい。
【００１２】
本発明の実施例において、サーバー１０２のＳＣＳＩプロトコルスタック１１２は、ローカル（たとえば、サーバー上）ストレージリソースあるいはリモート（たとえば、ネットワーク上）ストレージリソースを、ブロック・ストレージデバイス／論理ユニット／ＳＣＳＩ論理ユニットとして、アプリケーション１０４に与える。各論理ユニット／ＳＣＳＩ論理ユニットは、固有の論理ブロックアドレス空間を有するものでもよい。サーバー１０２および／あるいはストレージシステム（１０６ないし１０８）の一つあるいは複数のＳＡＮアダプター１１６が、リモート・ストレージリソース／リモート・ストレージデバイス（１０６ないし１０８）にアクセス可能である。一つあるいは複数のＳＡＮアダプター１１６は、ブロック・ストレージプロトコルがマッピングされるネットワーク・メディアトランスポート・プロトコルを実行する。たとえば、ＳＣＳＩプロトコルを、さまざまな種類の実行可能なネットワーク・トランスポート手段にマッピングすることも可能である。汎用性を犠牲にすることなく、ＳＡＮアダプター１１６並びにそのメディアトランスポート層プロトコルを物理ネットワークアダプターあるいは仮想ネットワークアダプターとしてもよい。
【００１３】
本発明の実施形態において、ストレージエリアネットワーク１１０は、任意のネットワークメディアおよびポートレベルでアドレス指定ができるトランスポート・プロトコルから実現可能である（たとえば、ファイバー・チャンネル（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）、インフィニバンド（ＩｎｆｉｎｉＢａｎｄ）、シリアル接続ＳＣＳＩ（ＳＡＳ））。メディアトランスポート層プロトコルは、ネットワーク・ファブリック１１０を介して、端点から端点ポートへのプロトコルパケットのすべてのルーティング（経路指定）を行う。汎用性を犠牲にすることなく、ネットワーク１１０は、単一ファブリックあるいは複数の冗長ファブリックとして実現される。アプリケーションシステム／サーバー１０２上のネットワークポートが、ストレージシステム（１０６ないし１０８）上のネットワークポートに物理的に到達可能であることが、望ましい。
【００１４】
本発明の別の実施形態において、ストレージシステム（１０６ないし１０８）は、ネットワーク化された接続ストレージデバイスであってもよい。たとえば、ストレージシステム（１０６ないし１０８）は汎用コンピューターでもよく、あるいは、専用のストレージ・アレイや、ＳＡＮ１１０上でローカルデバイスを認識可能にしたネットワーク化ディスクドライブでもよい。メディアトランスポート層プロトコルを実行するＳＡＮポートを介して、ストレージシステムのストレージリソースにアクセス可能である。ＳＣＳＩ層が、このＳＡＮポートを、ストレージ・ネットワークとの通信用ストレージ・ポートとして用いる。ストレージシステム１０６ないし１０８の各々が、物理的ストレージデバイスにおけるデータ保護あるいはブロック抽象化を可能にするローカル・ブロック仮想化層（１１８ないし１２０）を備えるようにしてもよい。たとえば、レイド（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ：ＲＡＩＤ）等のデータ保護を、専用ネットアーク・ストレージシステム上で行うようにしてもよい。ストレージシステム１０６ないし１０８の各々が、さらに、ネットワーク１１０をエクスポート先として、実際に接続される物理的ストレージデバイス１２６にアクセス可能な内部ブロック・プロトコルスタック（１２２ないし１２４）を備えるようにしてもよい。
【００１５】
個々のストレージシステム（１０６ないし１０８）に増設ストレージデバイス１２６を追加することにより、あるいは、ストレージエリアネットワークに増設ストレージシステム（１０６ないし１０８）を追加することにより、アプリケーション・サーバー／アプリケーションシステム／サーバー１０２が利用可能なストレージ容量を拡張することができる。個々のストレージシステム（１０６ないし１０８）に増設ストレージデバイス１２６を追加する場合には、クラスターブロック仮想化層（１３２）がストレージシステム（１０６ないし１０８）内のローカル・ブロック仮想化層（１１８ないし１２０）を用いて、複数の物理ディスク（１２６）から複数のストレージシステム（１０６ないし１０８）にわたる大容量の仮想ボリューム（１２８、１３０）を作成することができる。これにより、仮想ボリューム（１２８、１３０）の単一論理ブロックアドレス空間を保持することができるが、ある時点では、個々のストレージシステム（１０６ないし１０８）上の物理接続ポイントがすべて埋まってしまう。すなわち、総容量の拡大には、限界がある。ストレージエリアネットワークに増設ストレージシステム（１０６ないし１０８）を追加する場合には、単一のストレージシステムの物理限界を超えて、アプリケーションが利用可能な総ストレージ容量を増大することが可能である。ただし、アプリケーション・サーバー（１０２）が利用可能なように、複数のストレージシステム（１０６ないし１０８）により与えられるストレージ容量を組み合わせて、共通論理ブロックアドレス空間に統合する必要がある。
【００１６】
種々の手法を用いて、複数のネットワーク接続ストレージシステム（１０６ないし１０８）上に、ストレージリソース１２６から単一名空間／共通論理ブロックアドレス空間を作成することができる。これらの手法では、たとえば、クラスタ化されたファイルシステムやオブジェクト・ストレージプロトコル等のさまざまなストレージプロトコルが利用可能である。ブロック・ストレージクラスター・アグリゲーションをストレージ・ネットワーク１１０に追加して、複数の冗長ＳＡＮファブリック１１０の各々に内蔵されるクラスターブロック仮想化デバイスにより、ブロッククラスター・アグリゲーションが実現されるようにしてもよい。クラスターブロック仮想化デバイスは、ネットアーク・ストレージシステムとアプリケーションシステムの間に設置される。クラスターブロック仮想化デバイスは、ネットワーク・ストレージシステム／ストレージシステムによりエクスポートされたブロック・ストレージ論理ユニットをインポートし、仮想ボリュームを生成することによって、ブロック仮想化のための付加層を形成できる。さらに、クラスターブロック仮想化デバイスは、論理ユニットとして、仮想ボリュームをアプリケーションシステムにエクスポート可能である。アプリケーションシステムは、ストレージシステムによりエクスポートされた論理ユニットを認識したり、これにアクセスするのではなく、仮想ボリューム／クラスター仮想ボリュームを認識するに過ぎない。クラスター仮想化マネージャーは、クラスター物理構造の発見、仮想化マッピング、管理を実現する。クラスター仮想化マネージャーは、ＳＡＮ周縁部内あるいはＳＡＮ周縁部上のいずれかに存在する独立の冗長デバイス群上に設置される。汎用化を犠牲にすることなく、ブロック・ストレージクラスター・アグリゲーション機能を、クラスターブロック仮想化デバイス／ブロッククラスター仮想化デバイスに分配する。
【００１７】
あるいは、ブロック・ストレージクラスター・アグリゲーション／ブロッククラスター・アグリゲーションを、アプリケーションシステム１０２に追加するようにしてもよい（アプリケーションシステム・アグリゲーション）。たとえば、アプリケーションシステムのブロック・ストレージプロトコル・スタックに増設抽象化層を追加することにより、ブロッククラスター・アグリゲーションを実現することができる。数多くのオプションの実行により、アプリケーションシステム上にこの抽象化層を設置することが可能である。ブロック仮想化層は、ストレージシステムによりエクスポートされた論理ユニットを覆い隠し、ブロック・ストレージプロトコル・スタック内のブロック仮想化層よりも上層に仮想ボリュームを与える。ブロック・ストレージクラスター・アグリゲーションをストレージエリアネットワークに追加する場合（ネットワーク・アグリゲーション）とは異なり、アプリケーションシステムにブロック・ストレージクラスター・アグリゲーションを追加する場合には、ストレージシステムによってエクスポートされた論理ユニットにアプリケーションシステム／サーバーがアクセス可能である。ブロック仮想化層は、論理ユニットへのアクセスを、アプリケーションシステム／サーバー上で実行されるアプリケーションから隠すことができる。ネットワーク・アグリゲーションの場合と同様に、ブロッククラスター・アグリゲーションをアプリケーションシステムに追加する場合には、クラスター内のストレージリソースを見い出し、アプリケーション・サーバーに対して仮想化マッピングを分散するクラスター仮想化マネージャー機能が存在する。この管理手法の変形として、各サーバー内に別個のクラスター仮想化構造を設定し、アプリケーション・サーバーが仮想ボリュームを共有しないようにする。仮想ボリュームの共有には、クラスター間仮想化マネージャーが必要となる。
【００１８】
（図１に示すように）本発明の実施例において、ストレージシステム（１０６ないし１０８）にブロック・ストレージクラスター・アグリゲーションを追加することが可能である（ストレージシステム・アグリゲーション）。ストレージシステム（１０６ないし１０８）の少なくとも一つのブロック・プロトコルスタック（１２２ないし１２４）に追加されるクラスターブロック仮想化層１３２により、ブロッククラスター・アグリゲーションを実現するようにしてもよい。クラスターブロック仮想化層１３２は、ローカル・ストレージシステムおよびリモート・ストレージシステム上のストレージデバイス１２６を組み合わせて、仮想ボリューム（１２８、１３０）に統合する。クラスター内の各ストレージシステム（１０６ないし１０８）上のストレージデバイス１２６は、他のストレージシステムの一つあるいは複数により検出可能／認識可能である（たとえば、ストレージシステム１０６のストレージデバイスは、ストレージシステム１０７および１０８により認識可能であり、ストレージシステム１０７のストレージデバイスは、ストレージシステム１０６および１０８により認識可能であり、ストレージシステム１０８のストレージデバイスは、ストレージシステム１０６および１０７により認識可能である）。これにより、クラスターブロック仮想化層１３２による仮想ボリューム（１２８、１３０）の生成が可能になる。種々のストレージシステム・アグリゲーション実装において、クラスターブロック仮想化層１３２により、ストレージエリアネットワーク１１０を介して、アプリケーションシステム１０２に仮想ボリューム（１２８、１３０）のみがエクスポートされる。ネットワーク化されたストレージ実装においては、一つあるいは複数の別のストレージシステム上におけるデータを必要とするストレージシステム（１０６ないし１０８のいずれか一つ）に送られた入出力（Ｉ／Ｏ）要求を、Ｉ／Ｏ要求を満たすことができる該当ストレージシステムに転送する。さまざまな手法により、プロキシＩ／Ｏ等の入出力先変更およびコマンド転送を実行することができる。上述した他のブロック・ストレージクラスター手法と同様に、ストレージシステム・アグリゲーションでは、ストレージインフラ内の少なくとも一つのストレージシステム（１０６ないし１０８）上に、独立クラスター仮想化マネージャー機能１３４が必要となる。汎用化を犠牲にすることなく、クラスター内のストレージシステム（１０６ないし１０８）に対して、クラスター仮想化マネージャー機能１３４を分散することも可能である。これにより、低コストで侵害性の低いストレージ管理機能が実現できる。
【００１９】
ブロック・ストレージボリュームを複数のストレージシステム（１０６ないし１０８）に拡散するようにしてもよい。また、アプリケーションシステム１０２は、クラスター内の任意のストレージシステム上のデータにアクセス可能である。さらに、仮想ボリューム（１２８、１３０）が、すべてのストレージノード／ストレージシステム（１０６ないし１０８）に対する共通ブロックアドレス空間を与えるようにしてもよい。
【００２０】
図１に示す実装／システム１００のようなネットワーク化されたストレージ実装／システムと共に用いられるＳＣＳＩリファラル（ｒｅｆｅｒｒａｌ）手法／方法を提供する。本発明の実施例に従って、ネットワーク化されたストレージ実装を介するデータ転送方法（たとえば、イニシエータシステム／イニシエータとブロック・ストレージクラスターとの間の通信方法）の概要を図３に示す。たとえば、この方法により、（図２および図３を参照して）後述するストレージプロトコル・コマンドと応答のシーケンスを用いて、ブロックストレージのクラスター化を実現するようにしてもよい（たとえば、ＳＣＳＩコマンド／応答の遠隔手続き読み出し（リモート・プロシージャ・コール）モデル）。本発明の実施形態において、方法３００は、データセットと、少なくとも第２データストレージシステムに対するリファラルを含む第１リファラル応答、あるいは、前記データセット中の少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかとのアドレス指定を実行するためのコマンドを第１データストレージシステムに送るステップ３０２を備える。たとえば、ブロック・ストレージクラスターは、第１データストレージシステム１０６と、第２データストレージシステム１０８と、第３データストレージシステム１０７とを備え、各データストレージシステムは、物理的ストレージデバイス１２６と通信可能に接続される、あるいは、物理的ストレージデバイス２１６を内蔵する。第１データストレージシステム１０６は、データセット中の第１サブセットを備えるようにしてもよい。第１リファラル応答は、データセット中の他のサブセットを備える他のデータストレージシステム（たとえば、第２データストレージシステム１０８）への少なくとも一つのリファラルを含む。コマンドは、イニシエータ／イニシエータシステム／ホスト／サーバー１０２により、ストレージエリアネットワーク１１０を介して、第１データストレージシステム１０６（ターゲットシステム／ターゲット）に送信される。コマンドは、データ要求（たとえば、読み出し要求）等の入出力（Ｉ／Ｏ）要求であってもよい。あるいは、ターゲットがブロック・ストレージクラスター内の任意のストレージシステムであり、ブロック・ストレージクラスター内のターゲットとなり得る任意のストレージシステム上の任意のポート（たとえば、図２に示すＳＣＳＩターゲット０のポート）を用いて、コマンドを送信するようにしてもよい。あるいは、コマンドがＳＣＳＩコマンドであり、イニシエータ／イニシエータシステム１０２がＳＣＳＩイニシエータであり、ターゲット（たとえば、第１ストレージシステム１０６）がＳＣＳＩターゲットでもよい。
【００２１】
ストレージエリアネットワーク１１０／ネットワークトランスポートを介してコマンドを送る場合には、構築されたイニシエータ−ターゲット間の接続（たとえば、Ｉ＿Ｔ  Ｎｅｘｕｓ）による送信を行う。ＳＣＳＩプロトコルにおいて、イニシエータ−ターゲット間のＩ＿Ｔ  Ｎｅｘｕｓは、イニシエータ上のＳＣＳＩポート（たとえば、サーバー／アプリケーションシステム１０２のＳＣＳＩポート）とターゲット上のＳＣＳＩポート（たとえば、第１ストレージシステム１０６のＳＣＳＩポート）との間で構築されるものでもよい。複数のストレージシステムを備えるブロック・ストレージクラスターは、クラスター内のすべてのストレージシステム上の各ポートに対して、固有のポート識別名を与える。さらに、各ＳＣＳＩコマンドが、データの開始アドレスとデータボリュームの論理ブロックアドレス空間における長さとによって、転送するべきデータを識別するようにしてもよい。
【００２２】
本発明の実施形態において、方法３００は、前記少なくとも第２データストレージシステムに対するリファラルを含む前記第１リファラル応答、あるいは、前記データセット中の前記少なくとも第１サブセット並びに前記少なくとも第２ストレージシステムに対するリファラルを含む前記第１リファラル応答の少なくともいずれかにアクセスするステップ３０４を備える。第１リファラル応答は、第１データストレージシステム１０６からイニシエータシステム１０２に転送される。本発明の実施例において、コマンドを受信するストレージシステム（たとえば、ターゲットストレージシステム）内に格納される／上に存在する要求データの任意のサブセットが、イニシエータに、あるいは、イニシエータから移動／転送される。たとえば、一連のＳＣＳＩデータ転送工程に従って、上述した／同様のＩ＿Ｔ  Ｎｅｘｕｓによりターゲット１０６とイニシエータ１０２との間でデータ移動を行うものでもよい（たとえば、第１ストレージシステム１０６上に格納されたデータをアプリケーションシステム／イニシエータシステム１０２に転送するものでもよい）。本発明の実施例において、所定のＳＣＳＩコマンドに応じて、イニシエータとターゲットとの間でいずれか一方向に、あるいは、双方向に、データ転送が行われる。データセット中の第１サブセットへのアクセス工程で、イニシエータシステム１０２が、第１サブセット転送の完了を示す第１データストレージシステム１０６のステータスを受信するようにしてもよい。このステータスは、たとえば、標準的なＳＣＳＩステータス指標でもよい。
【００２３】
データ要求で要求されるデータのサブセットが第１データストレージシステムに格納されておらず／上に存在せず、ブロック・ストレージクラスターに含まれる複数のストレージシステムの一つである第２データストレージシステムに格納されている／上に存在する場合、リファラル応答は、第１データストレージシステムからイニシエータシステムに転送される。リファラル応答は、最初のデータ要求で要求されたデータのすべてが転送されたわけではないことを示す指標をイニシエータに与えるものでもよい。リファラル応答は、イニシエータシステムに対するリファラルを第２データストレージシステムに与えるものでもよい。リファラル応答は、データの一部／データの残りが格納される、クラスター内の一つあるいは複数の他のストレージシステム（たとえば、第２ストレージシステム１０８）を示す指標をイニシエータシステムに指し示す／与えるものでもよい。第１データストレージシステムが有するデータに基づいて、第１データストレージシステムがリファラル応答を生成するようにしてもよい。リファラル応答は、要求されたデータの残り（たとえば、ステップ３０２で受信した最初のデータ要求で要求されたデータの残り）が存在する／格納される、クラスター内の一つあるいは複数の他のストレージシステム／クラスターノード（たとえば、第２ストレージシステム１０８）に対するリファラルのリストを含むものでもよい。
【００２４】
上述したように、他の各クラスターノード／ストレージシステムに対するリファラルは、最初のデータ要求を満たすために、イニシエータが各クラスターノード／ストレージシステムからデータを取得するためのものである。本発明の実施例において、リファラルリストに含まれる各リファラルは、イニシエータが参照する各ストレージシステム／ノードに関する（図４に示すような）情報を備える。この情報には、ポート識別子（たとえば、最初のデータ要求で要求されたデータの残りの少なくとも一部を有するクラスターノード／ストレージシステム上のポートに関連付けられたポート識別子）と、オフセット（たとえば、関連データストレージシステム／ストレージノード上に存在するデータの第１バイトの論理ブロックアドレス）と、データ長（たとえば、リファラルのために転送するべきデータの量）と、が含まれる。データ長は、関連データストレージシステム／ストレージノード上に存在する、転送するべきサブセットのデータの量でもよい。データ長は、関連データストレージシステム／ストレージノード由来のすべての派生データストレージシステム／ストレージノード上に存在する、転送するべきすべてのサブセットのデータの総量でもよい。第１データストレージシステム／ストレージノードのリファラルリストに第２データストレージシステム／ストレージノードが含まれる場合、第２データストレージシステム／ストレージノードは、第１データストレージシステム／ストレージノード由来の派生データストレージシステム／ストレージノードである。また、第２データストレージシステム／ストレージノード由来の派生データストレージシステム／ストレージノードは、第１データストレージシステム／ストレージノード由来の派生データストレージシステム／ストレージノードと同一でもよい。リファラル応答が存在しないということは、すなわち、データストレージシステム／ストレージノードが、それに由来する派生データストレージシステム／ストレージノードを持たないことを意味する。リファラルを完了するために必要なボリューム、論理ユニット、ターゲット等の他の情報は、ＳＣＳＩリファラルを生成したコマンドのコンテキストから得られる。
【００２５】
本発明の実施形態において、方法３００は、前記データセットと第２リファラル応答とのアドレス指定を実行するためのコマンドを前記第２データストレージシステムに送るステップ３０６を備える。第２データストレージシステム１０８は、前記データセット中の第２サブセットを有する。第２リファラル応答は、前記データセットの別のサブセットを有する他のデータストレージシステム（たとえば、第３データストレージシステム１０７）に対する少なくとも一つのリファラルを含む。コマンドは、イニシエータ／イニシエータシステム／ホスト／サーバー１０２により、ストレージエリアネットワーク１１０を介して、第２データストレージシステム１０８（ターゲットシステム／ターゲット）に送信される。コマンドは、データ要求（たとえば、読み出し要求）等の入出力（Ｉ／Ｏ）要求であってもよい。あるいは、ターゲットがブロック・ストレージクラスター内の任意のストレージシステムであり、ブロック・ストレージクラスター内のターゲットとなり得る任意のストレージシステム上の任意のポート（たとえば、図２に示すＳＣＳＩターゲット１のポート）を用いて、コマンドを送信するようにしてもよい。あるいは、コマンドがＳＣＳＩコマンドであり、イニシエータ／イニシエータシステム１０２がＳＣＳＩイニシエータであり、ターゲット（たとえば、第２ストレージシステム１０８）がＳＣＳＩターゲットでもよい。
【００２６】
ストレージエリアネットワーク１１０／ネットワークトランスポートを介してコマンドを送る場合には、構築されたイニシエータ−ターゲット間の接続（たとえば、Ｉ＿Ｔ  Ｎｅｘｕｓ）による送信を行う。ＳＣＳＩプロトコルにおいて、イニシエータ−ターゲット間のＩ＿Ｔ  Ｎｅｘｕｓは、イニシエータ上のＳＣＳＩポート（たとえば、サーバー／アプリケーションシステム１０２のＳＣＳＩポート）とターゲット上のＳＣＳＩポート（たとえば、第２ストレージシステム１０８のＳＣＳＩポート）との間で構築されるものでもよい。複数のストレージシステムを備えるブロック・ストレージクラスターは、クラスター内のすべてのストレージシステム上の各ポートに対して、固有のポート識別名を与える。さらに、各ＳＣＳＩコマンドが、データの開始アドレスとデータボリュームの論理ブロックアドレス空間における長さとによって、転送するべきデータを識別するようにしてもよい。
【００２７】
本発明の実施形態において、方法３００は、前記データセット中の前記第２サブセットと前記第２リファラル応答とにアクセスするステップ３０８を備える。第２リファラル応答は、第２データストレージシステム１０８からイニシエータシステム１０２に転送される。本発明の実施例において、コマンドを受信するストレージシステム（たとえば、ターゲットストレージシステム）内に格納される／上に存在する要求データの任意のサブセットが、イニシエータに、あるいは、イニシエータから移動／転送される。たとえば、一連のＳＣＳＩデータ転送工程に従って、上述した／同様のＩ＿Ｔ  Ｎｅｘｕｓによりターゲット１０８とイニシエータ１０２との間でデータ移動を行うものでもよい（たとえば、第２ストレージシステム１０８上に格納されたデータをアプリケーションシステム／イニシエータシステム１０２に転送するものでもよい）。本発明の実施例において、所定のＳＣＳＩコマンドに応じて、イニシエータとターゲットとの間でいずれか一方向に、あるいは、双方向に、データ転送が行われる。データセット中の第２サブセットへのアクセス工程で、イニシエータシステム１０２が、第２サブセット転送の完了を示す第２データストレージシステム１０８のステータスを受信するようにしてもよい。このステータスは、たとえば、標準的なＳＣＳＩステータス指標でもよい。
【００２８】
データ要求で要求されるデータのサブセットが第２データストレージシステムに格納されておらず／上に存在せず、ブロック・ストレージクラスターに含まれる複数のストレージシステムの一つである第３データストレージシステムに格納されている／上に存在する場合、リファラル応答は、第２データストレージシステムからイニシエータシステムに転送される。リファラル応答は、最初のデータ要求で要求されたデータのすべてが転送されたわけではないことを示す指標をイニシエータに与えるものでもよい。リファラル応答は、イニシエータシステムに対するリファラルを第３データストレージシステムに与えるものでもよい。リファラル応答は、データの一部／データの残りが格納される、クラスター内の一つあるいは複数の他のストレージシステム（たとえば、第３ストレージシステム１０７）を示す指標をイニシエータシステムに指し示す／与えるものでもよい。第２データストレージシステムが有するデータに基づいて、第２データストレージシステムがリファラル応答を生成するようにしてもよい。リファラル応答は、要求されたデータの残り（たとえば、ステップ３０２で受信した最初のデータ要求で要求されたデータの残り）が存在する／格納される、クラスター内の一つあるいは複数の他のストレージシステム／クラスターノード（たとえば、第３ストレージシステム１０７）に対するリファラルのリストを含むものでもよい。ブロック・ストレージプロトコル・イニシエータ１０２は、リファラルリストに表示されるポートを用いて、最初のデータ要求で要求されたデータを保持する、クラスター内に存在する他のストレージシステムすべてに対して、独立にコマンドを送るようにしてもよい。リファラルに基づいて送られるコマンドに応じて、すべてのデータ転送が完了した後、ブロック・ストレージプロトコルは、呼び出し側に戻って、一連の処理を完了する。
【００２９】
図５および図６に、本発明の実施例に従うデータセット配信用リファラルリストの例を示す。たとえば、連結型リファラルリスト配信５００では、リファラルリストは、最大で４つのリファラルを含み、総データ長は１６０ブロックであり、個々のデータストレージ／クラスターノードは、１０ブロックのデータ長のデータセットのサブセットを有する。連結型リファラルリスト配信５００において、（図示しない）イニシエータシステムは、総データ長が１７０ブロックであるデータセットにアクセスするためのコマンドを、（図示しない）第１データストレージシステムに送り、データ長が１０ブロックであるデータセットのサブセットと、データストレージ／クラスターノード５０２ないし５０８に対するリファラルを含むリファラルリストと、を受信する。リファラル５０２ないし５０６には、リファラルによって参照されるデータサブセットのポート識別子と、データオフセットと、データ長とが含まれる。リファラル５０８のデータストレージ／クラスターノードは、データストレージ／クラスターノード５１０ないし５１６に対するリファラルを含むリファラルリスト（矢印５５０で示す）を備える。リファラル５１０ないし５３２のデータストレージ／クラスターノードは、すべて、リファラル５０８のデータストレージ／クラスターノードに由来する派生データストレージ／クラスターノードであり、リファラル５０８のデータ長は、リファラル５１０ないし５３２の総データ長とリファラル５０８のサブセットデータ長との合計である。同様に、リファラル５１６のデータストレージ／クラスターノードは、データストレージ／クラスターノード５１８ないし５２４に対するリファラルを含むリファラルリスト（矢印５５１で示す）を備える。リファラル５１８ないし５３２のデータストレージ／クラスターノードは、すべて、リファラル５１６のデータストレージ／クラスターノードに由来する派生データストレージ／クラスターノードである。リファラル５０２ないし５０６、５１０ないし５１４、５１８ないし５２２、５２６ないし５３２のデータストレージ／クラスターノードには、これらに由来する派生データストレージ／クラスターノードが存在しない。
【００３０】
ツリー型リファラルリスト配信６００では、リファラルリストは、最大で４つのリファラルを含み、総データ長は１６０ブロックであり、個々のデータストレージ／クラスターノードは、１０ブロックのデータ長のデータセットのサブセットを有する。ツリー型リファラルリスト配信６００において、（図示しない）イニシエータシステムは、総データ長が１７０ブロックであるデータセットにアクセスするためのコマンドを、（図示しない）第１データストレージシステムに送り、データ長が１０ブロックであるデータセットのサブセットと、データストレージ／クラスターノード６０２ないし６０８に対するリファラルを含むリファラルリストと、を受信する。リファラル６０２ないし６０８には、各リファラル並びに各リファラル由来の派生リファラルによって参照されるデータサブセットのポート識別子と、データオフセットと、データ長とが含まれる。リファラル６０２ないし６０８のデータストレージ／クラスターノードは、すべて、リファラルリスト６５０ないし６５３を備える。リファラル６０８のデータストレージ／クラスターノードは、データストレージ／クラスターノード６２８ないし６３２に対するリファラルを含むリファラルリスト（矢印６５３で示す）を備える。リファラル６２８ないし６３２のデータストレージ／クラスターノードは、すべて、リファラル６０８のデータストレージ／クラスターノードに由来する派生データストレージ／クラスターノードであり、リファラル６０８のデータ長は、リファラル６２８ないし６３２の総データ長とリファラル６０８のサブセットデータ長との合計である。同様に、リファラル６０４のデータストレージ／クラスターノードは、データストレージ／クラスターノード６１６ないし６２０に対するリファラルを含むリファラルリスト（矢印６５１で示す）を備える。リファラル６１６ないし６２０のデータストレージ／クラスターノードは、すべて、リファラル６０４のデータストレージ／クラスターノードに由来する派生データストレージ／クラスターノードである。リファラル６１０ないし６１４、６１６ないし６２０、６２２ないし６２６、６２８ないし６３２のデータストレージ／クラスターノードには、これらに由来する派生データストレージ／クラスターノードが存在しない。
【００３１】
ブロック・ストレージクラスター手法は、さまざまに変更可能である。たとえば、クラスター内のすべてのストレージシステム（１０６ないし１０８）に対して、ブロック・ストレージプロトコル・ターゲットを分配するように構成してもよい。また、クラスター内のすべてのストレージシステム上のすべてのポートが、固有のポート識別子を持つように構成してもよい。さらに、仮想ボリュームを有するすべてのストレージシステムが、仮想ボリュームの論理ブロックアドレス空間を共有するように構成してもよい。また、すべてのストレージシステム（１０６ないし１０８）上のクラスターブロック仮想化機能（１３４）により、クラスター内のいずれのストレージシステムが仮想ボリューム（１２８、１３０）内のデータのいずれのアドレス範囲を保持しているかを特定するように構成してもよい。
【００３２】
上述したように、本発明の方法は、ストレージシステム（１０６ないし１０８）上でブロックを仮想化するブロック・ストレージクラスター内で実現されるものでもよい。本発明のシステム／方法は、コマンド転送やプロキシＩ／Ｏを利用するのではなく、ステータス情報とＳＣＳＩ認識データにおけるリファラルのリストを用いてローカルデータ転送を完了することにより、他のクラスターノード上にデータが存在することを示すクラスターブロックの仮想化（１３２、１３４）を実現する。ここで、ステータス情報が、ＳＣＳＩ照合条件を含むようにしてもよい。
【００３３】
新しい照合条件を検出し、各リファラルに対する新しいＳＣＳＩコマンドを発行し、すべてのリファラルの完了を追跡するように、ＳＣＳＩイニシエータ１０２を構成してもよい。また、さまざまなイニシエータ−ターゲット間の接続において、リファラルを介して取得されたデータを蓄積するように、イニシエータ１０２を構成してもよい。
【００３４】
本発明の方法を、デバイスが読み取り可能な命令の集合すなわちソフトウェアによって実現するようにしてもよい。上述した方法に含まれる各ステップの順序や階層は、単に実施例であるアプローチの一例に過ぎない。設計の都合に応じて、本発明の要旨の範囲内で、方法に含まれる各ステップの順序や階層を適宜変更して、再配列することも可能である。以下に示す方法クレームでも、要素となる各工程を所定の順序で例示しているに過ぎず、この順序や階層に本発明の方法を何ら限定するものではない。
【００３５】
以上、本発明の開示内容並びに利点を説明してきたが、本発明の要旨を逸脱しない範囲で、あるいは、その主な利点を何ら犠牲にすることなく、構成要素の形態、構造、配置をさまざまに変形・変更可能である。上述の実施例は、本発明を例示するものに過ぎない。以下に示す特許請求の範囲は、さまざまな変形・変更も包含するものである。
【図１Ａ】
2010140477.tif 000003
【図１Ｂ】
2010140477.tif 000004
【図２】
2010140477.tif 000005
【図３】
2010140477.tif 000006
【図４】
2010140477.tif 000007
【図５】
2010140477.tif 000008
【図６】
2010140477.tif 000009