(57)【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク（「ＳＡＮ」）をサポートする方法であって、
コンピュータ・システムから、仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求を前記ＳＡＮの第１ストレージ・マネージャで受信すること、
前記書込み要求の結果、ストレージ・システムへの前記仮想ストレージ・ボリュームのマッピングが更新されることがあるかどうかを判定すること、
前記書込み要求が第２ストレージ・マネージャによる前記マッピングの更新に関係しないとき、既存の前記マッピングに基づいて、前記第１ストレージ・マネージャから前記ストレージ・システムに前記データを書き込むこと、
前記コンピュータ・システムから、やはり前記仮想ストレージ・ボリュームに書き込むべき別のデータを含む別の書込み要求を前記第２ストレージ・マネージャで受信すること、
前記別の書込み要求の前記別のデータを前記第２ストレージ・マネージャから前記ストレージ・システムに書き込むこと、
前記書込み要求に応答して、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングを更新することを求める更新要求を、前記第１ストレージ・マネージャから前記第２ストレージ・マネージャに送信すること、
更新された前記マッピングを更新後マッピングとして前記第１ストレージ・マネージャで受信すること、および
前記更新後マッピングに基づいて前記データを前記第１ストレージ・マネージャから前記ストレージ・システムに書き込むことを含むことを特徴とする方法。
【請求項２】
前記更新要求が、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク・プロトコルおよびインターネット・プロトコル（「ＩＰ」）から選択されたプロトコルを使用して送信され、
前記ストレージ・システムが複数のディスク・ドライブを備え、
前記第１ストレージ・マネージャが、前記データが前記第２ストレージ・マネージャで受信されることなく前記ストレージ・システムに前記データを書き込む請求項１に記載の方法。
【請求項３】
マッピングを無効にするための無効化要求を第３ストレージ・マネージャで受信することであって、前記マッピングが前記第３ストレージ・マネージャでキャッシュされること
をさらに含む請求項１に記載の方法。
【請求項４】
前記第１ストレージ・マネージャが、前記第２ストレージ・マネージャと共有される記憶デバイスから前記更新後マッピングを読み取ることによって前記更新後マッピングを受信する請求項１に記載の方法。
【請求項５】
前記書込み要求が第１書込み要求であり、前記データが第１データである、請求項１に記載の方法であって、
前記仮想ストレージ・ボリュームに書き込むべき第２データを含む第２書込み要求を前記第２ストレージ・マネージャで受信すること、
前記第２書込み要求に応答して、前記第１書込み要求に応答して既に更新されている前記マッピングを前記第２ストレージ・マネージャで更新すること、および
前記第２書込み要求に応答して再び更新された前記マッピングに基づいて前記第２データを前記第２ストレージ・マネージャから前記ストレージ・システムに書き込むこと
をさらに含む方法。
【請求項６】
前記第１書込み要求に応答して既に更新されており、前記第１ストレージ・マネージャでキャッシュされる前記マッピングを無効にするための無効化要求を前記第２ストレージ・マネージャから前記第１ストレージ・マネージャに送信すること
をさらに含み、
前記第２ストレージ・マネージャが、前記第２データが前記第１ストレージ・マネージャで受信されることなく前記ストレージ・システムに前記第２データを書き込む請求項５に記載の方法。
【請求項７】
前記第２ストレージ・マネージャが前記マッピングを更新することを担当するという情報を配布すること
をさらに含み、
前記情報が、ユーザによってユーザ・インターフェースを通じて管理される請求項１に記載の方法。
【請求項８】
前記第２ストレージ・マネージャが前記マッピングを更新することを担当するという情報を配布すること
をさらに含み、
前記情報が、少なくとも前記第２ストレージ・マネージャとの接続のステータスに基づいて自動的に生成される請求項１に記載の方法。
【請求項９】
前記第２ストレージ・マネージャが前記マッピングを更新することを担当するという情報を配布すること
をさらに含み、
前記情報が、負荷平衡メトリックに基づいて自動的に生成される請求項１に記載の方法。
【請求項１０】
前記マッピングを更新する必要があると前記第１ストレージ・マネージャで判定すること
をさらに含み、
前記負荷平衡メトリックが、前記マッピングを更新する必要があると各ストレージ・マネージャが判定した回数を含む請求項９に記載の方法。
【請求項１１】
前記仮想ストレージ・ボリュームが複数の部分を含み、
前記書込み要求が第１書込み要求であり、
前記データが第１データであり、
前記第１データを前記仮想ストレージ・ボリュームの第１部分に書き込むべきであり、
前記マッピングが、前記ストレージ・システムへの前記仮想ストレージ・ボリュームの前記第１部分の第１マッピングである、請求項１に記載の方法であって、
前記仮想ストレージ・ボリュームの第２部分に書き込むべき第２データを含む第２書込み要求を前記第１ストレージ・マネージャで受信すること、
前記第２書込み要求に応答して、前記ストレージ・システムへの前記仮想ストレージ・ボリュームの前記第２部分の第２マッピングを前記第１ストレージ・マネージャで更新すること、および
前記第２書込み要求に応答して更新された前記第２マッピングに基づいて前記第２データを前記第１ストレージ・マネージャから前記ストレージ・システムに書き込むこと
をさらに含み、
前記第１ストレージ・マネージャが、前記第２データが前記第２ストレージ・マネージャで受信されることなく前記ストレージ・システムに前記第２データを書き込む方法。
【請求項１２】
第１ストレージ・マネージャ（１３３）に含まれる、ストレージ・エリア・ネットワーク（「ＳＡＮ」）をサポートする装置であって、
仮想ストレージ・ボリューム（１２３）に書き込むべきデータを含む書込み要求をコンピュータ・システム（１１３）から受信するように適合された第１受信要素（９１０）と、
前記書込み要求に応答して、ストレージ・システム（１４３）への前記仮想ストレージ・ボリュームのマッピングを更新することを求める更新要求を、前記第１ストレージ・マネージャから前記ＳＡＮの前記第２ストレージ・マネージャ（１３６）に送信する送信要素（９２３）と、
更新された前記マッピングを受信する第２受信要素（９２６）と、
前記更新されたマッピングに基づいて前記データを前記第１ストレージ・マネージャから前記ストレージ・システムに書き込む書込み要素（９３０）と
を備え、
前記第２ストレージ・マネージャ（１３６）が、やはり前記仮想ストレージ・ボリューム（１２３）に書き込むべき別のデータを含む別の書込み要求を前記コンピュータ・システム（１１３）から受信し、前記ストレージ・システム（１４３）に前記別の書込み要求の前記別のデータを書き込むことを特徴とする装置。
【請求項１３】
前記送信要素が、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク・プロトコルおよびインターネット・プロトコル（「ＩＰ」）から選択されたプロトコルを使用して前記更新要求を送信し、
前記ストレージ・システムが複数のディスク・ドライブを備え、
前記書込み要素が、前記データが前記第２ストレージ・マネージャで受信されることなく前記ストレージ・システムに前記データを書き込む請求項１２に記載の装置。
【請求項１４】
前記仮想ストレージ・ボリュームが複数のエリアを含み、
前記書込み要求が第１書込み要求であり、
前記データが第１データであり、
前記第１データを前記仮想ストレージ・ボリュームの第１エリアに書き込むべきであり、
前記マッピングが、前記ストレージ・システムへの前記仮想ストレージ・ボリュームの前記第１エリアの第１マッピングであり、
前記第１受信要素がさらに、前記仮想ストレージ・ボリュームの第２エリアに書き込むべき第２データを含む第２書込み要求を受信するように適合される、請求項１２に記載の装置であって、
前記第２書込み要求に応答して、前記ストレージ・システムへの前記仮想ストレージ・ボリュームの前記第２エリアの第２マッピングを更新する更新要素をさらに備え、
前記書込み要素がさらに、前記第２書込み要求に応答して更新された前記第２マッピングに基づいて前記第２データを、前記第２データが前記第２ストレージ・マネージャで受信されることなく前記第１ストレージ・マネージャから前記ストレージ・システムに書き込むように適合される装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはストレージ・エリア・ネットワーク（「ＳＡＮ」）に関し、より詳細には、ストレージ・エリア・ネットワーク内の仮想ストレージ管理のアクティブ−アクティブ・サポートに関する。
【背景技術】
【０００２】
コンピュータ・システムは通常、コンピュータ・システムによって使用されるデータを格納するストレージ・システムを備え、またはそれに接続する。大規模な企業では特に、コンピュータ・サーバのストレージのニーズが指数関数的に増大している。そのようなストレージのニーズを満たすために、コンピュータ・サーバがいくつかのディスク・ドライブを備える１つまたは複数のストレージ・システムにリモートに接続することを可能にするストレージ・エリア・ネットワーク（「ＳＡＮ」）を業界は提供している。通常、コンピュータ・サーバは、ＳＡＮによって提供される１つのデータを、高ファイル・レベルではなく、低データ・ブロック・レベルでアドレス指定することができる。
【０００３】
ある例では、コンピュータ・サーバがストレージ・システムのデータ・ブロックにアクセスするために使用するアドレスは、物理ストレージ・システムの実際のアドレスである。一方、別の例では、コンピュータ・サーバが仮想ストレージ・ボリュームにアクセスするために使用するアドレスは、物理ストレージ・システム内には存在しない。むしろ、仮想ストレージ・ボリュームは、ストレージ・マネージャがコンピュータ・サーバに提示する１つまたは複数の物理ストレージ・システムの抽象化を表す。ストレージ・マネージャは、コンピュータから仮想ストレージ・ボリューム内のアドレスを受信し、マッピングを使用して、アドレスを物理ストレージ・システム内に存在する実際のアドレスにマッピングする。
【０００４】
一般に「メタデータ」と呼ばれるものは、マッピングおよび他の関連情報を含むことに留意されたい。ストレージ・マネージャは、とりわけＦｉｂｒｅ  Ｃｈａｎｎｅｌアプライアンス、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（「ＲＡＩＤ」）コントローラ、またはエンハンスドＦｉｂｒｅ  Ｃｈａｎｎｅｌスイッチを含むコンピューティング・デバイスを備えることができる。仮想ストレージ・ボリュームのアドレスは物理ストレージ・システム内に直接存在しないので、仮想ストレージ・ボリュームは「仮想的」である。むしろ、仮想ストレージ・ボリュームの各部分は、１つまたは複数のストレージ・マネージャにより、マッピングに基づいて１つまたは複数のストレージ・システムのエリアにマッピングされる。マッピングを更新する必要がある場合、例えば仮想ストレージ・ボリュームの一部をストレージ・システムの別のエリアまたは別のストレージ・システムに書き込む必要がある場合、ストレージ・マネージャで「マップ障害」が生じる。コンピュータ・サーバは、１つまたは複数のストレージ・マネージャと通信することにより、コンピュータ・サーバが実際のストレージ・ボリュームにアクセスしているかのように仮想ストレージ・ボリュームにアクセスすることができる。
【０００５】
信頼性を改善するために、ストレージ・マネージャは、アクティブ−パッシブ対で動作することができ、したがってアクティブ・ストレージ・マネージャが何らかの理由で故障した場合、アクティブ・ストレージ・マネージャによって管理される仮想ストレージ・ボリューム（複数可）に関する一定の構成データが、パッシブ・ストレージ・マネージャに複製されていることになり、パッシブ・ストレージ・マネージャがアクティブとなり、コンピュータ・サーバにサービスを引き続き提供することが可能となる。しかし、コンピュータ・サーバは通常、代替ストレージ・マネージャと通信するために、特別なマルチパシング・ソフトウェア（ｍｕｌｔｉ−ｐａｔｈｉｎｇ  ｓｏｆｔｗａｒｅ）をインストールし、適切に構成することを必要とする。さらに、パッシブ・ストレージ・マネージャがアクティブとなる前に、パッシブ・ストレージ・マネージャは、コンピュータ・サーバにサービスを提供することができず、アクティブ・ストレージ・マネージャの作業負荷を共有することができない。
【０００６】
ストレージ・マネージャがアクティブ−アクティブ・モードで振る舞うことを可能にするために、従来の技法および構造では、Ｉ／Ｏシッピング技法が提供されている。この技法は、どちらかのストレージ・マネージャがコンピュータ・サーバにサービスを提供することができることを実現する。しかし、特定の仮想ストレージ・ボリューム（または仮想ストレージ・ボリュームのエリア）では、単一の好ましいストレージ・マネージャだけが、コンピュータ・サーバから受信したデータを対応するストレージ・システムに書き込むことを許可される。同様に、単一の好ましいストレージ・マネージャだけが、対応するストレージ・システムへの仮想ストレージ・ボリュームのマッピングを更新することを許可される。
【０００７】
書き込むべきデータが、好ましいストレージ・マネージャではなく、好ましくないストレージ・マネージャによって受信される場合、好ましくないストレージ・マネージャは、まずデータ全体を好ましいストレージ・マネージャに「シッピング」する必要がある。その後で、好ましいストレージ・マネージャは次いで、対応するストレージ・システムにデータを実際に書き込み、マッピングを更新することもできる。コンピュータ・サーバで見たとき、好ましくないストレージ・マネージャは好ましいストレージ・マネージャと異なるようには見えないことがあるが、ストレージ・マネージャの間でバックグラウンドで入出力データをシッピングする結果、著しいオーバヘッドおよび性能劣化が生じる。
【０００８】
あるいは、従来の技法および構造では、共用メモリによってサポートされるアクティブ−アクティブ・モデルが提供されている。このモデル下では、単一の好ましいストレージ・マネージャだけが対応するストレージ・システムへの仮想ストレージ・ボリュームのマッピングを更新することを可能にするのではなく、複数のストレージ・マネージャが、共有メモリを通じてマッピングを更新することを許可される。しかし、特別かつ／または複雑な（したがって費用のかかる）ハードウェアを使用して共用メモリを実装する必要がある。さらに、例えば共用メモリを通じたアクセス速度を維持するために、一般に、ストレージ・マネージャを互いに近接して配置する必要がある。したがって、ＳＡＮに追加のストレージ・マネージャを容易かつ／または安価に追加することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、アクティブ−アクティブ・ストレージ・マネージャでＳＡＮの高性能および信頼性を維持することが引き続き課題となっている。
【課題を解決するための手段】
【００１０】
本発明は、（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでＳＡＮの高性能および信頼性を維持する方法および装置を提供することにより、上記および他の問題を解決し、それによって有用な現況技術を前進させる。ある例では、ストレージ・マネージャが仮想ストレージ・ボリュームに書き込むべきデータをコンピュータ・サーバから受信したとき、ストレージ・マネージャは、書込み要求の結果、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングが更新されることがあるかどうかを判定する。ほとんどの場合そうであるが、書込み要求がマッピングの更新に関係しないとき、ストレージ・マネージャは単に、既存のマッピングに基づいてストレージ・システムにデータを書き込む。別の例では、ストレージ・マネージャは、マッピングを更新するために別のストレージ・マネージャに更新要求を送信する。その後で、ストレージ・マネージャは、別のストレージ・マネージャによって更新されたマッピングに基づいて、対応するストレージ・システムにデータを書き込む。有利なことに、マッピングに関するストレージ・マネージャ間で交換される情報量は、書き込むべきデータ全体よりも著しく少ないので、バックグラウンドで調整される情報量が劇的に低下する。
【００１１】
本明細書の一態様では、ストレージ・エリア・ネットワーク（「ＳＡＮ」）をサポートする方法が提供される。方法は、仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求をＳＡＮのストレージ・マネージャで受信することを含む。方法はまた、書込み要求の結果、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングが更新されることがあるかどうかを判定することをも含む。さらに、方法は、書込み要求がマッピングの更新に関係しないとき、既存のマッピングに基づいて、ストレージ・マネージャからストレージ・システムにデータを書き込むことを含む。
【００１２】
本発明の別の態様は、第１ストレージ・マネージャに含まれる、ストレージ・エリア・ネットワーク（「ＳＡＮ」）をサポートする装置を提供する。装置は、仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求を受信するように適合された第１受信要素を備える。装置はまた、書込み要求に応答して、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングを更新することを求める更新要求を、第１ストレージ・マネージャからＳＡＮの第２ストレージ・マネージャに送信する送信要素をも備える。さらに、装置は、更新されたマッピングを受信する第２受信要素を備える。装置は、更新されたマッピングに基づいてデータを第１ストレージ・マネージャからストレージ・システムに書き込む書込み要素をさらに備える。
【００１３】
本発明のさらに別の態様は、ストレージ・エリア・ネットワーク（「ＳＡＮ」）をサポートするシステムを提供する。システムは、ＳＡＮの第１ストレージ・マネージャおよびＳＡＮの第２ストレージ・マネージャを備える。第１ストレージ・マネージャは、ＳＡＮの第１ストレージ・マネージャで、仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求を受信する受信要素を備える。第１ストレージ・マネージャはまた、書込み要求に応答して、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングを更新することを求める更新要求を、第１ストレージ・マネージャから第２ストレージ・マネージャに送信する送信要素をも備える。第１ストレージ・マネージャは、マッピングが更新されたことを第１ストレージ・マネージャで受信する受信要素をさらに備える。さらに、第１ストレージ・マネージャは、更新されたマッピングに基づいてデータを第１ストレージ・マネージャからストレージ・システムに書き込む書込み要素を備える。
【図面の簡単な説明】
【００１４】
【図１】本発明の特徴および態様によるアクティブ−アクティブ・ストレージ・マネージャでサポートされる例示的ストレージ・エリア・ネットワークの概念図である。
【図２】本発明の特徴および態様による（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでサポートされる例示的ストレージ・エリア・ネットワークのブロック図である。
【図３】（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでストレージ・エリア・ネットワークをサポートするための本発明の特徴および態様による例示的方法を記述する流れ図である。
【図４】（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでストレージ・エリア・ネットワークをサポートするための本発明の特徴および態様による代替の例示的方法を記述する流れ図である。
【図５】書込み要求を受信するための例示的な追加の詳細を記述する流れ図である。
【図６】マッピングを受信するための例示的な追加の詳細を記述する流れ図である。
【図７】第２書込み要求を受信するための例示的な追加の詳細を記述する流れ図である。
【図８】仮想ストレージ・ボリュームが異なるストレージ・マネージャによって維持される複数の部分を含むときの本発明の特徴および態様による代替の例示的方法を記述する流れ図である。
【図９】本発明の特徴および態様によるストレージ・エリア・ネットワーク内の（仮想ストレージ・ボリュームを管理する）例示的ストレージ・マネージャのブロック図である。
【発明を実施するための形態】
【００１５】
図１は、本発明の特徴および態様による（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでサポートされる例示的ストレージ・エリア・ネットワークの概念図である。第１ストレージ・マネージャ１３３は、第１ストレージ・システム１４３（のエリア）への第１仮想ストレージ・ボリューム１２３の第１部分の第１マッピング１６２と、第２ストレージ・システム１４６（のエリア）への第１仮想ストレージ・ボリューム１２３の第２部分の第２マッピング１６５とを維持する。第２ストレージ・マネージャ１３６は、第２ストレージ・システム１４６（の別のエリア）への第２仮想ストレージ・ボリューム１２６（の部分）の第３マッピング１６８を維持する。より具体的には、ストレージ・マネージャは、マッピングを更新することを担当することによってマッピングを「維持」し、マッピングを更新することを許可されるストレージ・マネージャの中で唯一のストレージ・マネージャでよい。
【００１６】
ストレージ・マネージャは、コンピュータ・サーバ（例えば、１１３および１１６）に仮想ストレージ・ボリュームを提示し、コンピュータ・サーバが実際のストレージ・ボリュームにアクセスしているかのようにストレージ・マネージャと通信することによってコンピュータ・サーバが仮想ストレージ・ボリュームにアクセスすることを可能にする。コンピュータ・サーバ（１１３および１１６）が見るビューを示すために図で点線を使用し、ストレージ・マネージャとコンピュータ・サーバとの間の通信に関する実際のアクセス・リンクを示すために図で実線を使用する。より具体的には、第１コンピュータ・システム１１３は、点線で表すように第１仮想ストレージ・ボリューム１２３および第２仮想ストレージ・ボリューム１２６を認識している。同様に、第２コンピュータ・システム１１６も２つの仮想ストレージ・ボリューム（１２３および１２６）を認識している。
【００１７】
第１コンピュータ・システム１１３は、第１アクセス・リンク１５３を通じて第１ストレージ・マネージャ１３３と通信することによって第１仮想ストレージ・ボリューム１２３にアクセスすることができる。（あるいは、第１コンピュータ・システム１１３は、第２アクセス・リンク１５４を通じて第２ストレージ・マネージャ１３６と通信することによって第１仮想ストレージ・ボリューム１２３にアクセスすることもできる。）その後で、第１ストレージ・マネージャ１３３は、第１マッピング１６２に基づいて、第１コンピュータ・システム１１３によってアクセスされている第１仮想ストレージ・ボリューム１２３の一部が、第１ストレージ・システム１４３のエリアにマッピングされると判定することができる。次いで、第１コンピュータ・システム１１３がバックグラウンド・マッピングの知識を有することなく、第１ストレージ・マネージャ１３３は第１ストレージ・システム１４３のエリアにアクセスする。同様に、第２コンピュータ・システム１１６は、第２アクセス・リンク１５６を通じて第２ストレージ・マネージャ１３６と通信することによって第２仮想ストレージ・ボリューム１２６にアクセスすることができる（あるいは、第２コンピュータ・システム１１６は、第４アクセス・リンク１５８を通じて第１ストレージ・マネージャ１３３と通信することによって第２仮想ストレージ・ボリューム１２６にアクセスすることもできる）。その後で、第２ストレージ・マネージャ１３６は、第３マッピング１６８に基づいて、第２仮想ストレージ・ボリューム１２６のすべてが第２ストレージ・システム１４のエリアにマッピングされると判定することができる。
【００１８】
実際、バックグラウンドでのストレージ・システム（例えば１４３および１４６）はコンピュータ・システム（例えば１１３および１１６）に対して仮想化／抽象化され、したがってコンピュータ・システムはストレージ・システムを認識しない。むしろ、上述のように、マッピングにより、コンピュータ・システムが実際のストレージ・ボリュームにアクセスしているかのように、コンピュータ・システムが仮想ストレージ・ボリュームにアクセスするためにストレージ・マネージャと通信することが可能となる。有益には、コンピュータ・システムにどんな影響または変更も及ぼすことなく（仮想ストレージ・ボリュームをサイズ変更するために）仮想ストレージ・ボリュームの部分（例えば、１２３および１２６）を異なるストレージ・システム（例えば、１４３および１４６）にマッピングすることができる。
【００１９】
上述のように、第１コンピュータ・システム１１３は、どちらかのストレージ・マネージャ（例えば、１３３および１３６）を通じて仮想ストレージ・ボリューム（例えば１２３および１２６）にアクセスすることができる。同様に、第２コンピュータ・システム１１６も、どちらかのストレージ・マネージャ（例えば、１３３および１３６）を通じて仮想ストレージ・ボリューム（例えば、１２３および１２６）にアクセスすることができる。やはり上述のように、第２ストレージ・システム１４６への第２仮想ストレージ・ボリューム１２６の第３マッピング１６８が、第１ストレージ・マネージャ１３３ではなく第２ストレージ・マネージャ１３６によって維持される。
【００２０】
一例では、第１コンピュータ・システム１１３は、第１ストレージ・マネージャ１３３と通信して、データを第２仮想ストレージ・ボリューム１２６に書き込むことを要求することがある。第１ストレージ・マネージャ１３３は、第２ストレージ・マネージャ１３６にデータを「シッピング」しない。むしろ、第３マッピング１６８を更新する必要がある場合、第１ストレージ・マネージャ１３３は、第３マッピング１６８を更新するために改良型アクティブ−アクティブ・リンク１７５を通じて第２ストレージ・マネージャ１３６に更新要求を送信する。その後で、第１ストレージ・マネージャ１３３は、第２ストレージ・マネージャ１３６によって更新された第３マッピング１６８に基づいて、第２ストレージ・システム１４６にデータを書き込む。ある例では、第３マッピング１６８は、アクティブ−アクティブ・リンク１７５を介して受信されている可能性がある。別の例では、第１コンピュータ・システム１１３は、第２ストレージ・マネージャ１３６と通信して、やはりデータを第２仮想ストレージ・ボリューム１２６に書き込むことを要求することがある。第２ストレージ・マネージャ１３６はマッピングを維持するので、第２ストレージ・マネージャ１３６は、他のストレージ・マネージャとの対話なしに（第２ストレージ・マネージャ１３６自体で更新されていることがある）第３マッピング１６８に基づいて第２ストレージ・システム１４６にデータを書き込むことができる。
【００２１】
有益には、改良型アクティブ−アクティブ・リンク１７５が第１ストレージ・マネージャ１３３と第２ストレージ・マネージャ１３６との間に設けられ、その結果バックグラウンドで調整される情報量が劇的に低下することに留意されたい。実際には、改良型アクティブ−アクティブ・リンク１７５を使用することにより、ストレージ・マネージャによって維持されるマッピングを別のストレージ・マネージャと共有することができる。
【００２２】
第１ストレージ・マネージャ１３３および第２ストレージ・マネージャ１３６のそれぞれは、とりわけＦｉｂｒｅ  Ｃｈａｎｎｅｌアプライアンス、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（「ＲＡＩＤ」）コントローラ、またはエンハンスドＦｉｂｒｅ  Ｃｈａｎｎｅｌスイッチを含むコンピューティング・デバイスを備えることができる。例えば、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌプロトコル（「ＦＣＰ」）内にカプセル化されたコマンドに基づいて行動を起こすようにＦｉｂｒｅ  Ｃｈａｎｎｅｌスイッチを機能強化することができる。第１マッピング１６２、第２マッピング１６５、および第３マッピング１６８のそれぞれは、多種多様な構成で配列された１つまたは複数のテーブルおよび／またはデータベースのエントリに対応することができる。第１仮想ストレージ・ボリューム１２３および第２仮想ストレージ・ボリューム１２６はそれぞれ、（ストレージ・マネージャによって）コンピュータ・システムに論理ユニットとして提示することができ、論理ユニット番号（「ＬＵＮ」）と関連付けることができる。第１ストレージ・システム１４３および第２ストレージ・システム１４６のそれぞれは、ディスク・ドライブ、複数のディスク・ドライブ、ディスク・アレイ、１つまたは複数のテープ・ドライブまたは光磁気ドライブ、ならびに／あるいはデータ・ストレージ用の任意の他のデバイス（複数可）またはシステム（複数可）を含むことができる。
【００２３】
第１アクセス・リンク１５３、第２アクセス・リンク１５４、第３アクセス・リンク１５７、および第４アクセス・リンク１５８のそれぞれは、Ｆｉｂｒｅ  ＣｈａｎｎｅｌネットワークのＦｉｂｒｅ  Ｃｈａｎｎｅｌリンクを備えることができる。とりわけＩｎｆｉｎｉＢａｎｄ、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（「ＳＡＳ」）、Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（「ＳＡＴＡ」）、インターネットＳＣＳＩ（「ｉＳＣＳＩ」）、および／またはＦｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（「ＦＣｏＥ」）を含む他の適切な通信媒体／プロトコルを使用することもできる。改良型アクティブ−アクティブ・リンク１７５は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌリンクまたはイーサネット・リンクを備えることができ、第１ストレージ・マネージャ１３３および第２ストレージ・マネージャ１３６が、とりわけＦｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク・プロトコルおよびインターネット・プロトコル（「ＩＰ」）から選択されたプロトコルを使用して通信することを可能にする。とりわけＩｎｆｉｎｉＢａｎｄおよび／またはＳｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（「ＳＡＳ」）を含む任意の他の適切な通信媒体／プロトコルを使用して、改良型アクティブ−アクティブ・リンク１７５を設けることもできる。
【００２４】
図２は、本発明の特徴および態様による（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでサポートされる例示的ストレージ・エリア・ネットワークのブロック図である。第１コンピュータ・システム１１３は、第１ストレージ・マネージャ１３３および／または第２ストレージ・マネージャ１３６と通信することができる。同様に、第２コンピュータ・システム１１６は、第１ストレージ・マネージャ１３３および／または第２ストレージ・マネージャ１３６と通信することができる。
【００２５】
第１ストレージ・マネージャ１３３も、第１ストレージ・システム１４３と第２ストレージ・システム１４６のどちらとも通信する。同様に、第２ストレージ・マネージャ１３６も、第１ストレージ・システム１４３と第２ストレージ・システム１４６のどちらとも通信する。こうした通信は、とりわけＦｉｂｒｅ  Ｃｈａｎｎｅｌネットワークで実施することができる。さらに、第１ストレージ・マネージャ１３３は第２ストレージ・マネージャ１３６と通信する。上述のように、とりわけＦｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク・プロトコルおよびインターネット・プロトコル（「ＩＰ」）から選択されたプロトコルを使用して、通信を実施することができる。
【００２６】
管理ステーション２１０はストレージ仮想化マネージャ（「ＳＶＭ」）２３０と通信する。ＳＶＭ２３０は、第１ストレージ・マネージャ１３３および第２ストレージ・マネージャ１３６とも通信する。管理ステーション２１０により、ユーザが、コンピュータ・システムにとって利用可能な仮想ストレージ・ボリュームを構成し、かつ／またはストレージ・システムへの仮想ストレージ・ボリュームのマッピングを構成することが可能となる。したがって、ＳＶＭ２３０は、第１ストレージ・システム１４３、第２ストレージ・システム１４６、および／または記憶デバイス２６０とも通信することができる。本質的には、ＳＶＭ２３０は、例えばどのようにストレージを用意／提示すべきかを管理することにより、ストレージ仮想化／分散ストレージのための集中管理を実現する。ＳＶＭ２３０は、ストレージ・マネージャの内部または外部でよく、特別なアプライアンスまたはソフトウェアでよい。
【００２７】
管理ステーション２１０はユーザ・インターフェースを提示することができ、ユーザが仮想ストレージ・ボリュームを作成し、仮想ストレージ・ボリュームの一部をストレージ・システムのエリアにマッピングすべきであることを指定し、どのストレージ・マネージャがマッピングを維持すべきかを指定する（したがって、仮想ストレージ・ボリュームの一部に関する「好ましい」ストレージ・マネージャを定義する）ことを可能にする。ユーザ・インターフェースからの構成入力がＳＶＭ２３０に転送され、ＳＶＭ２３０は、構成情報をストレージ・マネージャに配布する。こうした通信は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌネットワーク・プロトコルおよびインターネット・プロトコル（「ＩＰ」）ら選択されたプロトコルを使用して、またはとりわけＩｎｆｉｎｉＢａｎｄおよび／またはＳｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ（「ＳＡＳ」）を含む任意の他の適切な通信媒体／プロトコルを使用して実施することができる。
【００２８】
ＳＶＭ２３０以外に、他のストレージ・マネージャまたはサード・パーティ構成要素も構成情報を配布することができる。ユーザによる手動構成以外に、ある例では、少なくともストレージ・マネージャとの接続のステータスに基づいて、構成情報を自動的に生成することもできる。例えば、ストレージ・マネージャに対する接続が（例えば、恐らくは改良型アクティブ−アクティブ・リンクを介して送信されるヘルシー・ハート・ビート・メッセージ（ｈｅａｌｔｈｙ  ｈｅａｒｔ  ｂｅａｔ  ｍｅｓｓａｇｅ）によって証明されるように）引き続き健全である場合、ストレージ・マネージャは、マッピングを引き続き維持すべきである。ストレージ・マネージャに対する接続がもはや健全ではない場合（またはそのストレージ・マネージャに対する接続が健全ではないことを示すストレージ・マネージャが、接続が健全であることを示すストレージ・マネージャよりも多い場合）、別のストレージ・マネージャがマッピングを維持すべきである。
【００２９】
別の例では、負荷平衡メトリックに基づいて構成情報を自動的に生成することができる。例えば、ストレージ・マネージャによって維持されるマッピングが非常に使用／更新される場合、別のストレージ・マネージャがマッピングの一部を維持して、ストレージ・マネージャ間の負荷の平衡を取ることが有益である。さらに別の例では、マッピングを更新する必要がある可能性があると各ストレージ・マネージャが判定した回数が追跡される。好ましくは、最も頻繁にマッピングを更新する必要があるストレージ・マネージャは、他のどんなストレージ・マネージャよりもむしろ、マッピングを維持するストレージ・マネージャでよい。
【００３０】
ストレージ・システムのエリアへの仮想ストレージ・ボリュームまたは仮想ストレージ・ボリュームの一部のそれぞれのマッピング（例えば、図１の第１マッピング１６２、第２マッピング１６５、および第３マッピング１６８）は、各ストレージ・マネージャで内部的または外部的に維持することができる。例えば、ある例では、各ストレージ・マネージャは、内部メモリおよび／または外部記憶デバイス内にマッピング・データを格納することができる。ある例では、マッピング・データは、ストレージ・マネージャ間で共有される記憶デバイス２６０上に格納することができる。
【００３１】
記憶デバイス２６０は、第１ストレージ・マネージャ１３３と第２ストレージ・マネージャ１３６のどちらも記憶デバイス２６０と通信することができるように、ディスク・ドライブ、ソリッド・ステート・ドライブ、ストレージ・システムまたはストレージ・アレイのエリアを備えることができる。記憶デバイス２６０は、第１マッピング１６２に対応する第１マッピング・データ２６２と、第２マッピング１６５に対応する第２マッピング・データ２６５と、第３マッピング１６８に対応する第３マッピング・データ２６８とを含む。上述のように、マッピングは、多種多様な構成で配列された１つまたは複数のテーブルおよび／またはデータベースのエントリに対応することができる。例えば、マッピング・データ（すなわち、ストレージ・システムのエリアへの１つまたは複数の仮想ストレージ・ボリュームのマッピング部分に関するデータ）はそれぞれ、単一のテーブル、仮想ストレージ・ボリュームにそれぞれ対応する別々のテーブル、データベース、または任意の他の適切な構造で配列することができる。
【００３２】
完全に機能するストレージ・エリア・ネットワーク内の多数の追加のかつ等価な構成要素およびモジュールを当業者は直ちに理解されよう。この議論を簡単かつ簡潔にするため、そのような追加のかつ等価な構成要素は本明細書では省略する。したがって、図１および２の構造は、本発明の特徴および態様の例示的実施形態を表すものに過ぎない。
【００３３】
図３は、（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでストレージ・エリア・ネットワークをサポートするための本発明の特徴および態様による例示的方法を記述する流れ図である。ステップ３１０で、第１ストレージ・マネージャが、仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求を受信する。第１ストレージ・マネージャは読取り要求も受信できることに留意されたい。いずれの場合も、次いで第１ストレージ・マネージャは、第１ストレージ・マネージャがストレージ・システムへの仮想ストレージ・ボリュームのマッピングを有するかどうかを判定する。ストレージ・マネージャでマッピングを受信した後に受信マッピングをキャッシュすることができるが、ストレージ・マネージャは、キャッシュしたマッピングを無効にするための無効化要求を受信することができることに留意されたい。第１ストレージ・マネージャがマッピングを有さない場合、一例では、第１ストレージ・マネージャは、マッピングを維持するストレージ・マネージャにマッピングを要求することができる。一例では、第１ストレージ・マネージャは、マッピングを維持するストレージ・マネージャと共有される記憶デバイスからマッピングにアクセスすることができる。読取り要求では、第１ストレージ・マネージャがマッピングを有すると、第１ストレージ・マネージャは、マッピングに基づいてストレージ・システムに読取り要求を送信する。
【００３４】
書込み要求では、ステップ３２０で、第１ストレージ・マネージャはまた、書込み要求の結果、ストレージ・システムへの仮想ストレージ・ボリュームのマッピングが更新されることがあるかどうかを判定する。例えば、第１ストレージ・マネージャは、書込み要求のタイプをチェックすることができる。代替実施形態の中でもとりわけ、既存のマッピングが書込み要求をサービスするのに十分なストレージを提供しないので、第１ストレージ・マネージャでマップ障害が生成されていることがある。上述の２つの判定ステップを組み合わせて、ａ）マッピングが存在しないこと、またはｂ）書込み要求では、マッピングを更新する必要があることを判定することができることに留意されたい。したがって、以下で論じるステップ３４０の更新要求は、マッピングを更新することを求める要求と、マッピングを要求することを求める要求のいずれかとなることができる。しかし、明快のため、判定ステップを別々に論じる。
【００３５】
ほとんどの場合そうであるが、書込み要求がマッピングの更新に関係しないとき、ステップ３３０で、ストレージ・マネージャは単に、既存のマッピングに基づいてストレージ・システム（すなわち、コンピュータ・システムによってアクセスされている仮想ストレージ・ボリュームの部分に対応するストレージ・システム）にデータを書き込む。第１ストレージ・マネージャは、他のストレージ・マネージャと対話することなくそのように行なうことができる。
【００３６】
そうでない場合、ステップ３４０で、第１ストレージ・マネージャは、書込み要求に応答して第２ストレージ・マネージャに更新要求を送信する。更新要求は、ストレージ・システム（または別のストレージ・システム）への仮想ストレージ・ボリュームのマッピングを更新するために送信される。ステップ３５０で、第１ストレージ・マネージャは、更新されたマッピングを受信する。ステップ３６０で、第１ストレージ・マネージャは、更新されたマッピングに基づいて、ストレージ・システムにデータを書き込む。実際には、判定ステップ３２０は、マッピングの更新に関係しない書込み要求を、マッピングが更新されることがある書込み要求と分離する。
【００３７】
図４は、（仮想ストレージ・ボリュームを管理する）アクティブ−アクティブ・ストレージ・マネージャでストレージ・エリア・ネットワークをサポートするための本発明の特徴および態様による代替の例示的方法を記述する流れ図である。ステップ４１０で、第２ストレージ・マネージャが仮想ストレージ・ボリュームのマッピングを更新することを担当するという情報をストレージ・システムに配布する。上述のように、ストレージ仮想化マネージャ（「ＳＶＭ」）を設けて、管理ステーションから受信した構成情報をストレージ・マネージャに配布することができる。しかし、他のストレージ・マネージャまたはサード・パーティ構成要素も構成情報を配布することができる。ステップ４２０で、第１ストレージ・マネージャは、コンピュータ・システムから第１書込み要求を受信する。要求は、仮想ストレージ・ボリュームに書き込むべき第１データを含む。ステップ４３０で、第１ストレージ・マネージャは、第１書込み要求に応答して、マッピングを更新することを求める更新要求を第２ストレージ・マネージャに送信する。ステップ４４０で、第２ストレージ・マネージャはマッピングを更新する。
【００３８】
ステップ４５０で、第２ストレージ・マネージャは、第３ストレージ・マネージャでキャッシュされるマッピングを無効にするための第１無効化要求を第３ストレージ・マネージャに送信することができる。ステップ４６０で、第３ストレージ・マネージャは、第３ストレージ・マネージャでキャッシュされるマッピングを無効にするための第１無効化要求を受信することができる。第１ストレージ・マネージャは、ステップ４３０で更新要求を送信した後に第１ストレージ・マネージャにキャッシュされるマッピングを無効にできることに留意されたい。別の例では、ストレージ・マネージャはどんなマッピングもキャッシュしないことがあり、したがって無効化要求を送信する必要はない。理解できるように、方法は、３つ以上のストレージ・マネージャをサポートするように直ちに容易に拡張することができる（すなわちＮ方向アクティブ−アクティブ実装）。
【００３９】
ステップ４７０で、第１ストレージ・マネージャは、更新されたマッピングを受信する。例えば、第１ストレージ・マネージャは、マッピングが更新されたという表示を第２ストレージ・マネージャから受信することができる。マッピングを受信することをより詳細に説明する。ステップ４８０で、第１ストレージ・マネージャは、更新されたマッピングに基づいて第１データをストレージ・システムに書き込む。有益には、第１ストレージ・マネージャは、データが第２ストレージ・マネージャで受信されることなく第１データを書き込み、したがってバックグラウンドで調整される情報量が劇的に低下する。ステップ４９０で、第２ストレージ・マネージャは第２書込み要求を受信し、第２データが第１ストレージ・マネージャで受信されることなく第２データを書き込む。ステップ４９０の詳細をより詳しく説明する。
【００４０】
図５は、書込み要求を受信するための例示的な追加の詳細を記述する流れ図である。ステップ３２０で、第１ストレージ・マネージャは、書込み要求の受信に応答してマッピングを更新する必要があるかどうかを判定する。ほとんどの場合そうであるが、書込み要求がマッピングを更新することに関係しないとき、ステップ３３０で、第１ストレージ・マネージャは単に、既存のマッピングに基づいてストレージ・システムにデータを書き込む。第１ストレージ・マネージャは、他のストレージ・マネージャと対話することなくそのように行なうことができる。そうでない場合、ステップ５１０で、第１ストレージ・マネージャは、第２ストレージ・マネージャがマッピングを更新することを担当すると判定する。例えば、この情報は、ＳＶＭによって第１ストレージ・マネージャに配布されていることがある。
【００４１】
図６は、マッピングを受信するための例示的な追加の詳細を記述する流れ図である。ある例では、ステップ６１０で、第１ストレージ・マネージャは、更新されたマッピングを第２ストレージ・マネージャから受信する。ある代替実施形態では、第２ストレージ・マネージャが第１ストレージ・マネージャからの更新要求に応答するときの同じ応答メッセージで、更新されたマッピングを第１ストレージ・マネージャによって受信することができる。別の代替実施形態では、更新されたマッピングを別々のメッセージで送信することができる。さらに別の代替実施形態では、マッピングのために第１ストレージ・マネージャが（更新要求以外の）第２要求を送信した後に、更新されたマッピングを第１ストレージ・マネージャによって受信することができる。別の例では、ステップ６２０で、第１ストレージ・マネージャは、第２ストレージ・マネージャと共有される記憶デバイスから更新されたマッピングを読み取ることにより、更新されたマッピングを受信する。
【００４２】
図７は、第２ストレージ・マネージャで第２書込み要求を受信するための例示的な追加の詳細を記述する流れ図である。ステップ７１０で、第２ストレージが、別のコンピュータ・システムから第２書込み要求を受信する。第２書込み要求は、仮想ストレージ・ボリュームに書き込むべき第２データを含む。ステップ７２０で、第２ストレージ・マネージャは、第２書込み要求に応答して、第１書込み要求に応答して既に更新されているマッピングを更新する。ステップ４２０に関して上記で述べた詳細と同様に、第２ストレージ・マネージャは、マッピングを更新する必要があること、および第２ストレージ・マネージャ自体がマッピングを更新することを担当することを判定することもできる。
【００４３】
ステップ７３０で、第２ストレージ・マネージャは、第１書込み要求に応答して既に更新されており、第１ストレージ・マネージャでキャッシュされるマッピングを無効にするための無効化要求を第１ストレージ・マネージャに送信することができる。しかし、別の例では、ストレージ・マネージャは、上述のようにどんなマッピングもキャッシュしないことがあり、したがって無効化要求を送信する必要はない。ステップ７４０で、第２ストレージ・マネージャは、第２書込み要求に応答して再び更新されたマッピングに基づいて第２データをストレージ・システムに書き込む。第２ストレージ・マネージャは、第２データが第１ストレージ・マネージャで受信されることなく第２データを書き込むことに留意されたい。
【００４４】
図８は、仮想ストレージ・ボリュームが異なるストレージ・マネージャによって維持される複数の部分を含むときの本発明の特徴および態様による代替の例示的方法を記述する流れ図である。ステップ８１０で、第１ストレージ・マネージャは、仮想ストレージ・ボリュームの第１部分に書き込むべき第１データを含む第１書込み要求を受信する。ステップ４２０に関して上記で説明した詳細と同様に、第１ストレージ・マネージャは、第１マッピングを更新する必要があること、および第２ストレージ・マネージャが第１マッピングを更新することを担当することを判定することもできる。ステップ８２０で、第１ストレージ・マネージャは、第１書込み要求に応答して、ストレージ・システムへの仮想ストレージ・ボリュームの第１部分の第１マッピングを更新することを求める更新要求を第２ストレージ・マネージャに送信する。ステップ８３０で、第１ストレージ・マネージャは、更新された第１マッピングを受信する。ステップ８４０で、第１ストレージ・マネージャは、更新された第１マッピングに基づいて第１データをストレージ・システムに書き込む。第１ストレージ・マネージャは、第１データが第２ストレージ・マネージャで受信されることなく第１データを書き込むことに留意されたい。
【００４５】
ステップ８５０で、第１ストレージ・マネージャは、仮想ストレージ・ボリュームの第２部分に書き込むべき第２データを含む第２書込み要求を受信する。ステップ４２０に関して上記で述べた詳細と同様に、第１ストレージ・マネージャは、第２マッピングを更新する必要があること、および第１ストレージ・マネージャ自体が第２マッピングを更新することを担当することを判定することもできる。ステップ８６０で、第１ストレージ・マネージャは、ストレージ・システムへの仮想ストレージ・ボリュームの第２部分の第２マッピングを更新する。ステップ８７０で、第１ストレージ・マネージャは、第２書込み要求に応答して更新された第２マッピングに基づいて第２データをストレージ・システムに書き込む。第１ストレージ・マネージャは、第２データが第２ストレージ・マネージャで受信されることなく第２データを書き込むことに留意されたい。
【００４６】
図３から８の方法で実施および／または省略することのできる多数の追加のかつ等価なステップを当業者は直ちに理解されよう。この議論を簡単かつ簡潔にするため、そのような追加のかつ等価なステップは本明細書では省略する。
【００４７】
図９は、本発明の特徴および態様によるストレージ・エリア・ネットワーク内の（仮想ストレージ・ボリュームを管理する）例示的ストレージ・マネージャのブロック図である。第１ストレージ・マネージャ１３３は、第１受信要素９１０、書込み要素９３０、およびアクティブ−アクティブ・リンク要素９２０を備える。第１受信要素は、第１コンピュータ・システム１１３から仮想ストレージ・ボリュームに書き込むべきデータを含む書込み要求を受信するように適合される。アクティブ−アクティブ・リンク要素９２０は、送信要素９２３および第２受信要素９２６を備える。アクティブ−アクティブ・リンク要素９２０はＳＶＭ２３０と第２ストレージ・マネージャ１３６のどちらとも通信する。より具体的には、送信要素９２３は、第１ストレージ・システム１４３への仮想ストレージ・ボリュームのマッピングを更新することを求める更新要求を第２ストレージ・マネージャ１３６に送信するように適合される。第２受信要素９２６は、更新されたマッピングを受信するように適合される。書込み要素９３０は、更新されたマッピングに基づいてデータを書き込む第１ストレージ・システム１４３と通信する。こうした要素のそれぞれは、カスタム化集積回路、プログラマブルロジックを使用して実装することができ、かつ／またはソフトウェア／ファームウェアで実装することができる。
【００４８】
完全に機能するストレージ・マネージャ内の多数の追加のかつ等価な構成要素およびモジュールを当業者は直ちに理解されよう。この議論を簡単かつ簡潔にするため、そのような追加のかつ等価な構成要素は本明細書では省略する。したがって、図９の構造は、本発明の特徴および態様の例示的実施形態を表すものに過ぎない。
【００４９】
図面および上記の説明で本発明を図示し、説明したが、そのような図示および説明は、限定的な性質のものではなく、例示的な性質のものであるとみなされるべきである。本発明の一実施形態およびその小さな変形形態を図示し、説明した。本発明の精神の中に包含されるすべての変更および修正について保護が望まれる。本発明の範囲内に包含される上述の実施形態の変形形態を当業者は理解されよう。その結果、本発明は、上記で論じた特定の例および図示に限定されず、以下の特許請求の範囲およびその均等物のみによって限定される。
【図１】
0005404914.tif 000002
【図２】
0005404914.tif 000003
【図３】
0005404914.tif 000004
【図４】
0005404914.tif 000005
【図５】
0005404914.tif 000006
【図６】
0005404914.tif 000007
【図７】
0005404914.tif 000008
【図８】
0005404914.tif 000009
【図９】
0005404914.tif 000010