(57)【特許請求の範囲】
【請求項１】
書き込み要求位置およびチャンク割り当てステータスに従ってプールから割り当てられたチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、
データストレージに利用可能であり、前記プールに割り当てられる少なくとも１つの第１のストレージ領域と、
データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、
前記ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介する第１のネットワークインタフェースとを含み、
前記第２のストレージ領域をセキュリティ保護する前記キーは、前記第２のストレージ領域が追加されるプールを指定する情報を含み、
前記ストレージコントローラは、キーと該キーに対応する前記ストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能であり、
前記ストレージコントローラは、プール内の未使用のチャンクの数が予め定められた閾値より少ないときに前記ストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行し、
前記ストレージコントローラは、前記ストレージオンデマンド管理システムから前記プールの指定を含むキーを受信し、前記受信したキーに従って前記キー管理テーブルを更新することにより、前記少なくとも１つの第２のストレージ領域をデータストレージに利用可能にし、
前記ストレージコントローラは、前記キー管理テーブルが正しく更新されると前記ストレージオンデマンド管理システムに正常な完了のステータスを示し、
前記ストレージコントローラは、前記第２のストレージ領域をチャンクに分割し、前記分割した第２のストレージ領域内のチャンクを前記動的ボリュームに割り当て、前記第２のストレージ領域を分割したチャンクを、前記キーで指定されたプールのチャンクとして管理を開始し、
前記ストレージコントローラは、前記動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントし、
前記ストレージコントローラは、前記動的ボリュームにデータを有するチャンクがない場合に、前記受信したキーが撤回されるように前記ストレージオンデマンド管理システムに対して要求を発行するデータストレージシステム。
【請求項２】
前記ストレージオンデマンド管理システムは、要求優先順位テーブルに従って前記ストレージ領域追加要求を処理し、前記キーを前記データストレージシステムに送信するように動作可能である請求項１に記載のデータストレージシステム。
【請求項３】
前記ストレージコントローラは、前記少なくとも１つの第２のストレージ領域が利用可能になった後、前記少なくとも１つの第２のストレージ領域を前記プールに追加するようにさらに動作可能である請求項１に記載のデータストレージシステム。
【請求項４】
前記キー管理テーブルは、データストレージに利用可能でない各第２のストレージ領域に関して、隠されたキーを含む請求項１に記載のデータストレージシステム。
【請求項５】
前記ストレージコントローラは、前記ストレージオンデマンド管理システムからの前記キーの前記受信の後、前記受信されたキーを前記キー管理テーブルに書き込むようにさらに動作可能である請求項４に記載のデータストレージシステム。
【請求項６】
前記ストレージコントローラは、前記ストレージオンデマンド管理システムからの前記キーの前記受信の後、前記受信されたキーを前記キー管理テーブルの中の少なくとも１つの隠されたキーと照合し、前記受信されたキーと前記隠されたキーが合致すると、前記隠されたキーに対応する前記第２のストレージ領域が、データストレージに利用可能になるようにさせ、前記隠されたキーに対応する前記第２のストレージ領域を前記プールに割り当てるようにさらに動作可能である請求項４に記載のデータストレージシステム。
【請求項７】
前記第２のストレージ領域は、ハードディスクドライブである請求項１に記載のデータストレージシステム。
【請求項８】
前記第２のストレージ領域はストレージボリュームであり、前記ストレージコントローラが、前記プールに設定する複数の所定の閾値に従って、前記ストレージオンデマンド管理システムにストレージ領域追加要求に対する複数の優先順位をさらに発行し、前記動的ボリュームにデータを有するチャンクがない場合には、前記ストレージコントローラは前記受信したキーが撤回されるように前記ストレージオンデマンド管理システムに対して要求を発行する請求項１に記載のデータストレージシステム。
【請求項９】
前記ストレージコントローラは、前記ストレージオンデマンド管理システムにチャンク利用レポートを発行するようにさらに動作可能であり、前記チャンク利用レポートは、チャンク消費レート、および前記プールの中の残っているチャンクに関する情報を含む請求項１に記載のデータストレージシステム。
【請求項１０】
複数の第１の前記データストレージシステムが、他の前記データストレージシステムと接続するように動作可能な第２のネットワークインタフェースをさらに含み、
前記複数の第１のデータストレージシステムは、データストレージに利用可能でなく第２のキーによってセキュリティ保護された少なくとも１つの第３のストレージ領域を含む第２の前記データストレージシステムに、前記第２のネットワークインタフェースを介して接続し、
それぞれの前記第１のデータストレージシステムでは、チャンクを割り当てる前記プールの優先順位を示す所定の優先度に従ってチャンクの割り当てが行われ、
前記ストレージコントローラは、前記ストレージオンデマンド管理システムからの前記第２のキーの受信の後、前記第２のデータストレージシステムの前記少なくとも１つの第３のストレージ領域が、データストレージに利用可能になるようにさせ、前記第３のストレージ領域を前記プールに割り当てるように動作可能である請求項１に記載のデータストレージシステム。
【請求項１１】
前記ストレージコントローラは、前記データストレージシステムのすべてのストレージ領域が使用された後に初めて、前記第２のデータストレージシステムの前記第３のストレージ領域を前記プールに割り当てるようにさらに動作可能である請求項１０に記載のデータストレージシステム。
【請求項１２】
複数の第１の前記データストレージシステムが、リモートで接続された他の前記データストレージシステムと接続するように動作可能な第３のネットワークインタフェースをさらに含み、
前記複数の第１のデータストレージシステムは、データストレージに利用可能でなく第２のキーによってセキュリティ保護された少なくとも１つの第３のストレージ領域を含む第３の前記データストレージシステムに、前記第３のネットワークインタフェースを介してリモートで接続し、
それぞれの前記第１のデータストレージシステムでは、チャンクを割り当てる前記プールの優先順位を示す所定の優先度に従ってチャンクの割り当てが行われ、
前記ストレージコントローラは、前記ストレージオンデマンド管理システムからの第２のキーの受信の後、前記リモートで接続された第３のストレージシステムの前記少なくとも１つの第３のストレージ領域が、データストレージに利用可能になるようにさせ、前記リモートで接続された第３のストレージシステムの前記第３のストレージ領域を前記プールに割り当てるように動作可能である請求項１に記載のデータストレージシステム。
【請求項１３】
前記ストレージコントローラは、
容量サイズが固定された固定ボリュームをさらに提供および管理し、
前記動的ボリュームまたは前記固定ボリュームを追加する場合に、前記ストレージオンデマンド管理システムから前記キーを受信すると、前記動的ボリュームまたは前記固定ボリュームの追加要求および割り当てを管理する管理コンピュータに該キーを通知する請求項１に記載のデータストレージシステム。
【請求項１４】
データストレージシステムに動的チャンクを割り当てる動的チャンク割り当て方法において、
前記データストレージシステムは、書き込み要求位置およびチャンク割り当てステータスに従ってプールから割り当てられたチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、データストレージに利用可能であり、前記プールに割り当てられる少なくとも１つの第１のストレージ領域と、データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、前記ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介する第１のネットワークインタフェースとを有し、
前記第２のストレージ領域をセキュリティ保護する前記キーは、前記第２のストレージ領域が追加されるプールを指定する情報を含み、
前記ストレージコントローラは、キーと該キーに対応する前記ストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能であり、
前記データストレージシステムが、少なくとも１つの前記動的ボリュームを作成するステップと、
前記データストレージシステムが、書き込み要求位置およびチャンク割り当てステータスに従って、前記動的ボリュームに割り当てるステップと、
前記データストレージシステムが、少なくとも１つの前記第２のストレージ領域を提供するステップと、
前記ストレージコントローラが、プール内の未使用のチャンクの数が予め定められた閾値より少ないときにストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行するステップと、
前記ストレージコントローラが、前記ストレージオンデマンド管理システムから前記プールの指定を含むキーを受信するステップと、
前記ストレージコントローラが、前記受信したキーに従って前記キー管理テーブルを更新することにより、前記少なくとも１つの第２のストレージ領域をデータストレージに利用可能にするステップと、
前記ストレージコントローラが、前記キー管理テーブルが正しく更新されると前記ストレージオンデマンド管理システムに正常な完了のステータスを示すステップと、
前記ストレージコントローラが、前記第２のストレージ領域をチャンクに分割し、前記分割した第２のストレージ領域内のチャンクを前記動的ボリュームに割り当て、前記第２のストレージ領域を分割したチャンクを、前記キーで指定されたプールのチャンクとして管理を開始するステップと、
前記ストレージコントローラが、前記動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントするステップと、
前記ストレージコントローラが、前記動的ボリュームにデータを有するチャンクがない場合に、前記受信したキーが撤回されるように前記ストレージオンデマンド管理システムに対して要求を発行するステップとを有する
ことを特徴とする動的チャンク割り当て方法。
【請求項１５】
前記ストレージオンデマンド管理システムが、要求優先順位テーブルに従って前記ストレージ領域追加要求を処理することをさらに含む請求項１４に記載の動的チャンク割り当て方法。
【請求項１６】
前記少なくとも１つの第２のストレージ領域が、前記プールに追加されるようにすることをさらに含む請求項１４に記載の動的チャンク割り当て方法。
【請求項１７】
前記キー管理テーブルは、データストレージに利用可能でない各第２のストレージ領域に関して、隠されたキーを含む請求項１４に記載の動的チャンク割り当て方法。
【請求項１８】
前記ストレージオンデマンド管理システムからの前記キーの前記受信の後、前記受信されたキーを、前記キー管理テーブルの中の少なくとも１つの隠されたキーと照合し、前記受信されたキーと前記隠されたキーが合致すると、前記少なくとも１つの第２のストレージ領域が、ストレージに利用可能になるようにさせ、前記少なくとも１つの第２のストレージ領域を前記プールに割り当てることをさらに含む請求項１７に記載の動的チャンク割り当て方法。
【請求項１９】
前記第２のストレージ領域は、ハードディスクドライブである請求項１４に記載の動的チャンク割り当て方法。
【請求項２０】
前記第２のストレージ領域は、ストレージボリュームであり、前記ストレージコントローラが、前記プールに設定する複数の所定の閾値に従って、前記ストレージオンデマンド管理システムにストレージ領域追加要求に対する複数の優先順位をさらに発行し、前記動的ボリュームにデータを有するチャンクがない場合には、前記ストレージコントローラは前記受信したキーが撤回されるように前記ストレージオンデマンド管理システムに対して要求を発行する請求項１４に記載の動的チャンク割り当て方法。
【請求項２１】
前記ストレージオンデマンド管理システムにチャンク利用レポートを発行することをさらに含み、前記チャンク利用レポートは、チャンク消費レート、および前記プールの中の残っているチャンクに関する情報を含む請求項１４に記載の動的チャンク割り当て方法。
【請求項２２】
複数の第１の前記データストレージシステムが、他の前記データストレージシステムと接続するように動作可能な第２のネットワークインタフェースをさらに有し、
前記複数の第１のデータストレージシステムが、データストレージに利用可能でなく第２のキーによってセキュリティ保護された少なくとも１つの第３のストレージ領域を含む第２の前記データストレージシステムに、前記第２のネットワークインタフェースを介して接続し、
それぞれの前記第１のデータストレージシステムでは、チャンクを割り当てる前記プールの優先順位を示す所定の優先度に従ってチャンクの割り当てが行われること、および
前記ストレージオンデマンド管理システムからの前記第２のキーの受信の後、前記第３のストレージ領域が、ストレージに利用可能になるようにさせ、前記第２のデータストレージシステムの前記第３のストレージ領域を前記プールに割り当てることをさらに含む請求項１４に記載の動的チャンク割り当て方法。
【請求項２３】
前記データストレージシステムのすべての第２のストレージ領域が使用された後に初めて、前記第２のデータストレージシステムの前記第３のストレージ領域を前記プールに割り当てることをさらに含む請求項２２に記載の動的チャンク割り当て方法。
【請求項２４】
複数の第１の前記データストレージシステムが、リモートで接続された他の前記データストレージシステムと接続するように動作可能な第３のネットワークインタフェースをさらに有し、
前記複数の第１のデータストレージシステムが、データストレージに利用可能でなく第２のキーによってセキュリティ保護された少なくとも１つの第３のストレージ領域を含む第３の前記データストレージシステムに、前記第３のネットワークインタフェースを介してリモートで接続し、
それぞれの前記第１のデータストレージシステムでは、チャンクを割り当てる前記プールの優先順位を示す所定の優先度に従ってチャンクの割り当てが行われること、および
前記ストレージオンデマンド管理システムからの前記第２のキーの受信の後、前記第３のストレージ領域が、ストレージに利用可能になるようにさせ、前記リモートで接続された第３のデータストレージシステムの前記少なくとも１つの第３のストレージ領域を前記プールに割り当てることをさらに含む請求項１４に記載の動的チャンク割り当て方法。
【請求項２５】
前記ストレージコントローラが、容量サイズが固定された固定ボリュームをさらに提供および管理し、
前記ストレージコントローラが、前記動的ボリュームまたは前記固定ボリュームを追加する場合に、前記ストレージオンデマンド管理システムから前記キーを受信すると、前記動的ボリュームまたは前記固定ボリュームの追加要求および割り当てを管理する管理コンピュータに該キーを通知する請求項１４に記載の動的チャンク割り当て方法。
【請求項２６】
データストレージシステムに動的チャンクを割り当てる方法を実施する命令を格納しているコンピュータ可読媒体において、
前記データストレージシステムは、書き込み要求位置およびチャンク割り当てステータスに従ってプールから割り当てられたチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、データストレージに利用可能であり、前記プールに割り当てられる少なくとも１つの第１のストレージ領域と、データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、前記ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介するネットワークインタフェースとを有し、
前記第２のストレージ領域をセキュリティ保護する前記キーは、前記第２のストレージ領域が追加されるプールを指定する情報を含み、
前記ストレージコントローラは、キーと該キーに対応する前記ストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能であり、
前記データストレージシステムが、少なくとも１つの前記動的ボリュームを作成するステップと、
前記データストレージシステムが、書き込み要求位置およびチャンク割り当てステータスに従って、前記動的ボリュームに割り当てるステップと、
前記データストレージシステムが、少なくとも１つの前記第２のストレージ領域を提供するステップと、
前記ストレージコントローラが、プール内の未使用のチャンクの数が予め定められた閾値より少ないときにストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行するステップと、
前記ストレージコントローラが、前記ストレージオンデマンド管理システムから前記プールの指定を含むキーを受信するステップと、
前記ストレージコントローラが、前記受信したキーに従って前記キー管理テーブルを更新することにより、前記少なくとも１つの第２のストレージ領域をデータストレージに利用可能にするステップと、
前記ストレージコントローラが、前記キー管理テーブルが正しく更新されると前記ストレージオンデマンド管理システムに正常な完了のステータスを示すステップと、
前記ストレージコントローラが、前記第２のストレージ領域をチャンクに分割し、前記分割した第２のストレージ領域内のチャンクを前記動的ボリュームに割り当て、前記第２のストレージ領域を分割したチャンクを、前記キーで指定されたプールのチャンクとして管理を開始するステップと、
前記ストレージコントローラが、前記動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントするステップと、
前記ストレージコントローラが、前記動的ボリュームにデータを有するチャンクがない場合に、前記受信したキーが撤回されるように前記ストレージオンデマンド管理システムに対して要求を発行するステップとを有する方法を実施する命令を格納しているコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本発明は、ストレージリソース管理に関し、より具体的には、ストレージデバイスに新たなストレージ容量を追加するための技法に関する。
【背景技術】
【０００２】
[0002]  最近、動的チャンク割り当て能力を有するストレージシステムが、ストレージボリュームにおける物理ブロックの浪費を減らすように開発されている。ストレージデバイスに動的チャンク割り当て能力を提供するための前述した方法は、「Ａｕｔｏｍａｔｅｄ  ｏｎｌｉｎｅ  ｅｘｐａｎｓｉｏｎ  ｍｅｔｈｏｄ  ｆｏｒ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ」という名称の米国特許出願公開第２００４０１６２９５８号において開示されている。具体的には、動的チャンク割り当て能力を有するストレージシステムは、ボリュームを有するが、当初、物理ブロックは、それらのボリュームに全く割り当てられない。ストレージシステムは、ホストコンピュータによって発行される書き込みコマンドが受信されると、チャンクプールからチャンクを割り当てる。或るチャンクが、書き込みコマンドによって要求される領域に既に割り当てられている場合、その領域にチャンクは全く割り当てられない。チャンクは、チャンクプールからストレージボリュームに割り当てられる。チャンクプールに、利用可能なチャンクが全くない場合、書き込みコマンドは、失敗する。書き込みコマンド失敗を回避するのに、チャンクが尽きる前に、新たなチャンクが、チャンクプールに追加されなければならない。このため、チャンクプールの中のチャンクが尽きる前に、新たな追加の容量が、チャンクプールに提供されて、関連付けられなければならない。
【０００３】
[0003]  この追加の容量は、例えば、チャンクプールの中の利用可能なストレージが、事前定義された閾値を下回ると、注文されることが可能である。管理者または管理コンピュータが、少ない利用可能なストレージ容量の自動的通知に関する、この事前定義された閾値を設定することができる。管理者は、ストレージデバイスから受信された通知に応じて、要求される追加のストレージ容量をストレージベンダに注文することができる。
【０００４】
[0004]  他方、「Ｍｅｔｈｏｄ  ａｎｄ  ａｐｐａｒａｔｕｓ  ｆｏｒ  ｓｔｏｒａｇｅ−ｏｎ−ｄｅｍａｎｄ  ｓｅｒｖｉｃｅ」という名称の米国特許出願公開第２００２０１１２０４３号は、ＳｏＤ（ストレージオンデマンド）サービスの実施形態を開示している。顧客サイトにおいて追加のストレージ容量を追加するのに要求される時間を短縮するのに、顧客のストレージデバイスにおいて既に利用可能な追加の容量が、リモートで使用可能にされる。この参照文献において説明されるシステムでは、追加のストレージ容量は、顧客ストレージ装置内で既に提供されているが、「関連付けられて」はおらず、その容量をストレージ割り当てマネージャが使用することができるようにしている。他方、従来のＳｏＤ（ストレージオンデマンド）システムでは、ストレージ装置内で既に利用可能な追加の容量は、ホストコンピュータから受信されたＳｏＤデマンドを使用して関連付けられる。
【０００５】
[0005]  しかし、従来のストレージリソース管理技法は、動的チャンク割り当て能力を有するストレージデバイスのためのストレージオンデマンドステップを適用することによる、短い待ち時間で追加の容量の提供（新たなチャンクを追加すること）を可能にしていない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
[0006]  本発明の方法は、ストレージリソース管理のための従来の技法に関連する以上、およびその他の問題の１つまたは複数を実質的に未然に防ぐ方法およびシステムを対象とする。
【課題を解決するための手段】
【０００７】
[0007]  本発明の概念の一態様によれば、書き込み要求位置およびチャンク割り当てステータスに応じて、プールから割り当てられるチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、データストレージに利用可能であり、そのプールに割り当てられる少なくとも１つの第１のストレージ領域と、データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介する第１のネットワークインタフェースとを含むデータストレージシステムが、提供される。前述した第２のストレージ領域をセキュリティ保護するキーは、第２のストレージ領域が追加されるプールを指定する情報を含み、前述したストレージコントローラは、キーと該キーに対応するストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能である。前述したストレージコントローラは、プール内の未使用のチャンクの数が予め定められた閾値より少ないときにストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行し、ストレージオンデマンド管理システムから、プールの指定を含むキーを受信し、受信したキーに従って前述したキー管理テーブルを更新することにより、少なくとも１つの第２のストレージ領域をデータストレージに利用可能にし、キー管理テーブルが正しく更新されるとストレージオンデマンド管理システムに正常な完了のステータスを示し、第２のストレージ領域をチャンクに分割し、分割した第２のストレージ領域内のチャンクを動的ボリュームに割り当て、第２のストレージ領域を分割したチャンクを、前述したキーで指定されたプールのチャンクとして管理を開始し、動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントし、動的ボリュームにデータを有するチャンクがない場合に、受信したキーが撤回されるようにストレージオンデマンド管理システムに対して要求を発行する。
【０００８】
[0008]  本発明の概念の別の態様によれば、データストレージシステムに動的チャンクを割り当てる動的チャンク割り当て方法が提供され、データストレージシステムは、書き込み要求位置およびチャンク割り当てステータスに従ってプールから割り当てられたチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、データストレージに利用可能であり、プールに割り当てられる少なくとも１つの第１のストレージ領域と、データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介する第１のネットワークインタフェースとを有し、第２のストレージ領域をセキュリティ保護するキーは、第２のストレージ領域が追加されるプールを指定する情報を含み、ストレージコントローラは、キーと該キーに対応する前記ストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能である。本発明の動的チャンク割り当て方法は、少なくとも１つの動的ボリュームを作成するステップと、データストレージシステムが、書き込み要求位置およびチャンク割り当てステータスに従って、動的ボリュームに割り当てるステップと、データストレージシステムが、少なくとも１つの第２のストレージ領域を提供するステップと、ストレージコントローラが、プール内の未使用のチャンクの数が予め定められた閾値より少ないときにストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行するステップと、ストレージコントローラが、ストレージオンデマンド管理システムからプールの指定を含むキーを受信するステップと、ストレージコントローラが、受信したキーに従って前記キー管理テーブルを更新することにより、少なくとも１つの第２のストレージ領域をデータストレージに利用可能にするステップと、ストレージコントローラが、キー管理テーブルが正しく更新されるとストレージオンデマンド管理システムに正常な完了のステータスを示すステップと、ストレージコントローラが、第２のストレージ領域をチャンクに分割し、分割した第２のストレージ領域内のチャンクを動的ボリュームに割り当て、第２のストレージ領域を分割したチャンクを、キーで指定されたプールのチャンクとして管理を開始するステップと、ストレージコントローラが、動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントするステップと、ストレージコントローラが、動的ボリュームにデータを有するチャンクがない場合に、受信したキーが撤回されるようにストレージオンデマンド管理システムに対して要求を発行するステップとを有する。
【０００９】
[0009]  本発明の概念のさらに別の態様によれば、データストレージシステムに動的チャンクを割り当てる方法を実施する命令を格納しているコンピュータ可読媒体が提供され、データストレージシステムは、書き込み要求位置およびチャンク割り当てステータスに従ってプールから割り当てられたチャンクを有する少なくとも１つの動的ボリュームを管理するストレージコントローラと、データストレージに利用可能であり、プールに割り当てられる少なくとも１つの第１のストレージ領域と、データストレージに利用可能でなく、キーによってセキュリティ保護された少なくとも１つの第２のストレージ領域と、ストレージコントローラとストレージオンデマンド管理システムとの間で行われる通信を仲介するネットワークインタフェースとを有し、第２のストレージ領域をセキュリティ保護するキーは、第２のストレージ領域が追加されるプールを指定する情報を含み、ストレージコントローラは、キーと該キーに対応するストレージ領域との対応関係を示すキー管理テーブルを管理するように動作可能である。本発明のコンピュータ可読媒体は、データストレージシステムが、少なくとも１つの動的ボリュームを作成するステップと、データストレージシステムが、書き込み要求位置およびチャンク割り当てステータスに従って、動的ボリュームに割り当てるステップと、データストレージシステムが、少なくとも１つの第２のストレージ領域を提供するステップと、ストレージコントローラが、プール内の未使用のチャンクの数が予め定められた閾値より少ないときにストレージオンデマンド管理システムにプールの指定を含むストレージ領域追加要求を発行するステップと、ストレージコントローラが、ストレージオンデマンド管理システムからプールの指定を含むキーを受信するステップと、ストレージコントローラが、受信したキーに従って前記キー管理テーブルを更新することにより、少なくとも１つの第２のストレージ領域をデータストレージに利用可能にするステップと、ストレージコントローラが、キー管理テーブルが正しく更新されるとストレージオンデマンド管理システムに正常な完了のステータスを示すステップと、ストレージコントローラが、第２のストレージ領域をチャンクに分割し、分割した第２のストレージ領域内のチャンクを動的ボリュームに割り当て、前記第２のストレージ領域を分割したチャンクを、前記キーで指定されたプールのチャンクとして管理を開始するステップと、ストレージコントローラが、動的ボリュームにデータを有するチャンクがない場合に該動的ボリュームをアンマウントするステップと、ストレージコントローラが、動的ボリュームにデータを有するチャンクがない場合に、受信したキーが撤回されるようにストレージオンデマンド管理システムに対して要求を発行するステップとを有する方法を実施する命令を格納する。
【００１０】
[0010]  本発明の概念のさらなる態様によれば、複数のデータストレージ領域を含むボリュームと、未使用のデータストレージ領域を保持するためのプールと、ストレージコントローラとを含むデータストレージシステムが、提供される。ストレージコントローラは、書き込み要求およびデータストレージ領域割り当てステータスに応じて、そのプールから少なくとも１つの未使用のデータストレージ領域を、そのボリュームに割り当て、そのプールのステータスに応じて、データストレージシステムに接続された別のデータストレージシステムから、少なくとも１つの第２のボリュームをマウントし、そのマウントされた第２のボリュームを、そのプールに割り当てる。
【００１１】
[0011]  本発明に関連するさらなる態様は、一部は、以下の説明において示され、一部は、その説明から明白となり、あるいは本発明の実施によって知ることができる。本発明の態様は、以下の詳細な説明、および添付の特許請求の範囲において特に指摘される要素、および様々な要素と態様の組合せを使用して、実現され、達せられることが可能である。
【００１２】
[0012]  以上の説明も以下の説明もともに、単に例示的、かつ説明的であり、主張される発明、または発明の応用先を限定することは、全く意図していないことを理解されたい。
【００１３】
[0013]  本明細書に組み込まれ、本明細書の一部分を構成する添付の図面は、本発明の実施形態を例示し、説明とともに、本発明の技法の原理を明らかにし、例示する役割をする。
【発明を実施するための最良の形態】
【００１４】
[0041]  以下の詳細な説明において、同一の機能上の要素が同様の符号で示される、添付の図面を参照する。前述した添付の図面は、例として、限定としてではなく、本発明の原理と合致する特定の実施形態および実装形態を示す。これらの実施形態は、当業者が、本発明を実施することができるようにするだけ十分に詳細に説明され、本発明の範囲および趣旨を逸脱することなく、他の実施形態が利用されてもよく、様々な要素の構造上の変更および／または置換が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。さらに、説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形態で、専用のハードウェア、またはソフトウェアとハードウェアの組合せの形態で実施されることが可能である。
【００１５】
[0042]  第１の実施形態  システム構成
図１Ａは、本発明の技法が適用されるコンピュータ化されたストレージシステムの例示的な実施形態を示す。前述した第１の実施形態のコンピュータ化されたストレージシステムは、以下を含む。すなわち、
【００１６】
[0043]  ホストコンピュータ１０
本発明の技法の或る実施形態では、少なくとも１つのホストコンピュータ１０が、データネットワーク５０を介してストレージ装置１００に結合される。図１に示される実施形態では、２つのホストコンピュータ１０ａ、１０ｂが、そのように接続される。ホストコンピュータ１０は、少なくとも１つのＯＳ（オペレーティングシステム）１３を実行する。当業者には理解されるとおり、本発明は、いずれの特定のＯＳ１３にも限定されない。Ｗｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘなどの任意の適切なオペレーティングシステムが、ＯＳ１３として使用されることが可能である。また、アプリケーション１４が、ＯＳ１３の指示の下でホストコンピュータ１０によって実行されることが可能である。ＯＳ１３のためのファイルおよびデータ、ならびにアプリケーション１４が、ストレージ装置１００によって提供される１つまたは複数のストレージボリュームの中に格納される。ＯＳ１３およびアプリケーション１４は、格納されたファイルおよびデータにアクセスするために、ストレージ装置１００に書き込みコマンドおよび／または読み取りコマンドを発行する。
【００１７】
[0044]  中央管理コンピュータ５００
少なくとも１つの中央管理コンピュータ５００が、リモートネットワーク８０を介してストレージ装置１００および管理コンピュータ２００に接続される。この実施形態では、２つのルータ８１が、ストレージ装置１００、管理コンピュータ２００、および中央管理コンピュータ５００を接続するために使用される。各ルータ８１は、各サイト（顧客サイトおよびストレージベンダサイト）に配置される。
【００１８】
[0045]  ストレージ装置１００
説明される実施形態は、ストレージコントローラ１５０、ならびに１つまたは複数のＨＤＤ（ハードディスクドライブ）１０１および１０２を組み込んだ少なくとも１つのストレージ装置１００を含む。ＨＤＤ１０１および１０２は、２つのセグメントに分割される。第１のセグメントは、開いたセグメントと呼ばれる。他方のセグメントは、閉じたセグメントと呼ばれる。開いたセグメントにおけるＨＤＤ１０１は、ＦＳＶ（固定サイズボリューム）またはチャンクのために使用されることが可能である。閉じたセグメントにおけるＨＤＤ１０２は、中央管理コンピュータ５００によって供給される秘密キーなしに使用されることは可能でない。図示される実施形態におけるストレージ装置１００は、閉じたセグメントに複数のＨＤＤ１０２を有する。閉じたセグメントにおけるＨＤＤ１０２は、ホスト１０ａおよび１０ｂのユーザから隠されており、当初、データおよびファイルを格納するために利用できない。
【００１９】
[0046]  ストレージコントローラ１５０は、ＨＤＤの中に格納されたデータを保護するためのアレイアルゴリズムを適用することができる。ストレージ装置１００は、１つまたは複数のＨＤＤ１０１から成る１つまたは複数のチャンクプール１１０を有する。ストレージ装置１００は、１つまたは複数のストレージボリュームをホストコンピュータ１０ａおよび１０ｂに提供する。この実施形態では、ストレージ装置１００は、図１Ｂに示されるとおり、動的チャンク割り当てプログラム１６０を組み込む。前述したストレージボリュームは、ＤＣＡＶ（動的チャンク割り当てボリューム）として作成されることが可能である。代替として、ストレージボリュームは、従来のボリューム（固定サイズボリューム）として作成されてもよい。このため、図１Ａに示される実施形態のストレージ装置は、以下の２つのタイプのストレージボリューム、すなわち、動的チャンク割り当てボリュームおよび固定サイズボリュームを有することが可能である。
【００２０】
[0047]  データネットワーク５０
ホストコンピュータ１０ａおよび１０ｂと、ストレージ装置１００とは、データネットワーク５０を介して互いに接続される。この実施形態におけるデータネットワーク５０は、ファイバチャネルネットワークである。しかし、イーサネット（登録商標）やインフィニバンドなどの、他のネットワーク技術が、ネットワーク５０の実施形態において使用されることも可能である。様々な技術を使用するネットワークスイッチおよびネットワークハブが、ネットワーク５０の様々な要素を互いに接続するために使用されることが可能である。具体的には、図１Ａに示される実施形態では、ＦＣＳＷ５５（ファイバチャネルスイッチ５５）が、ホストコンピュータ１０ａおよび１０ｂ、ならびにストレージ装置１００を互いに接続するために使用される。この目的で、ホストコンピュータ１０およびストレージ装置１００は、ファイバチャネルデータネットワーク５０に接続するための１つまたは複数のＦＣＩＦ（ファイバチャネルインタフェースボード）を有する。
【００２１】
[0048]  リモートネットワーク８０
ストレージ装置１００および管理コンピュータ２００は、リモートネットワーク８０を介して、中央管理コンピュータ５００に接続される。図１Ａに示される実施形態におけるリモートネットワーク８０は、イーサネット（登録商標）技術を使用して実施される。しかし、他の適切なネットワーク技術が、リモートネットワーク８０を実施するのに使用されることも可能である。図示される例示的な実施形態では、中央管理コンピュータ５００、管理コンピュータ２００、およびストレージ装置１００は、ストレージ装置１００をイーサネット（登録商標）ベースのリモートネットワーク８０に接続することを円滑にする１つまたは複数のイーサネット（登録商標）インタフェースボード（例えば、図１ＡにおけるＥｔｈｅｒＩＦ１５８）を有する。
【００２２】
[0049]  管理ネットワーク９０
ホストコンピュータ１０およびストレージ装置１００は、管理ネットワーク９０を介して管理コンピュータ２００に接続される。図示される実施形態における管理ネットワーク９０は、イーサネット（登録商標）技術を使用して実施される。しかし、他のネットワーク技術が、この目的で使用されることも可能である。管理ネットワーク９０への接続を円滑にするのに、管理コンピュータ２００、ホストコンピュータ１０ａおよび１０ｂ、ならびにストレージ装置１００はそれぞれ、１つまたは複数のイーサネット（登録商標）インタフェースボード（例えば、図１ＡにおけるＥｔｈｅｒＩＦ１５９）を有する。
【００２３】
[0050]  ホストコンピュータ１０の構成
図１に示される実施形態では、ホストコンピュータ１０ａおよび１０ｂは、メモリ１２の中に格納された様々なプログラムを実行するためのＣＰＵ１１と、プログラムおよびデータを格納するためのメモリ１２と、データネットワーク５０に接続するためのＦＣＩＦ（ファイバチャネルインタフェース）１５と、コンピュータ１０を管理ネットワーク９０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）１９とを含む。図示される実施形態では、ＣＰＵ１１は、メモリ１２の中に格納された少なくとも２つのプログラムを実行する。具体的には、この実施形態では、ホストコンピュータ１０ａおよび１０ｂのメモリ１２は、ＣＰＵ１１によってともに実行される、ＯＳ１３（オペレーティングシステムプログラム１３）およびアプリケーションプログラム１４を格納する。
【００２４】
[0051]  管理コンピュータ２００の構成
管理コンピュータ２００は、図１Ｃに示される。管理コンピュータ２００は、以下を組み込む。すなわち、メモリ２２０の中に格納されたプログラムを実行するためのＣＰＵ２１０、プログラムおよびデータを格納するためのメモリ２２０、管理コンピュータ２００をリモートネットワーク８０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）２８０、および管理コンピュータを管理ネットワーク９０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）２９０である。管理コンピュータ２００の図示される実施形態では、ＣＰＵ２１０は、メモリ２２０によって格納された少なくとも２つのプログラムを実行する。具体的には、メモリ２２０は、中央管理コンピュータ５００にボリューム追加要求を発行するためのボリューム追加要求プログラム２２１と、ボリュームを作成し、ボリュームをホストコンピュータ１０に関連付けるよう、ストレージコントローラに要求するためのボリューム割り当てプログラム２２２とを格納する。
【００２５】
[0052]  中央管理コンピュータ５００の構成
図１Ｄに示される本発明の特定の実施形態では、中央管理コンピュータ５００は、以下を組み込むことが可能である。すなわち、メモリ５２０の中に格納されたプログラムを実行するためのＣＰＵ５１０、プログラムおよびデータを格納するためのメモリ５２０、中央管理コンピュータをリモートネットワーク８０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）５８０である。図示される実施形態では、ＣＰＵ５１０は、メモリ５２０の中に格納された少なくとも２つのプログラムを実行する。具体的には、メモリ５２０は、マスタキーテーブル、およびキーを提供することに関する優先順位を管理するためのストレージオンデマンド管理プログラム５２１と、追加のＨＤＤおよび／またはボリュームの使用の料金をユーザに請求するための料金請求プログラム５２５とを格納する。
【００２６】
[0053]  ストレージ装置１００の構成
図１Ｂに詳細に示されるストレージ装置１００は、開いたセグメントに配置された１つまたは複数のＨＤＤ１０１と、閉じたセグメントに配置された１つまたは複数のＨＤＤ１０２とから成る。さらに、ストレージ装置１００は、ストレージボリュームを管理するためのストレージコントローラ１５０を組み込む。図１Ｂに示されるストレージ装置１００の実施形態は、固定サイズボリューム１１１と、動的チャンク割り当てボリューム１１２とを含む１つまたは複数のストレージボリュームを組み込む。さらに、ストレージ装置１００は、１つまたは複数のチャンクプール１１０も含む。
【００２７】
[0054]  図１Ｂに示されるとおり、ストレージコントローラ１５０は、メモリ１５２の中に格納されたプログラムを実行するためのＣＰＵ１５１と、プログラムおよびデータを格納するためのメモリ１５２と、ストレージ装置１００をデータネットワーク５０に接続するためのファイバチャネルインタフェースＦＣＩＦ１５５と、ＨＤＤ１０１および１０２に接続するためのＳＡＴＡ  ＩＦ（インタフェース）１５６とを組み込むことが可能である。利用されるＨＤＤが、ＦＣ、ＳＣＳＩ、ＳＡＳなどの異なるインタフェース技術を使用する場合、ＳＡＴＡインタフェース１５６の代わりに、またはＳＡＴＡインタフェース１５６に加えて、適切なインタフェースが、提供されなければならないことに留意されたい。このため、本発明は、いずれの特定のインタフェースタイプまたはインタフェース技術にも限定されない。ストレージコントローラ１５０は、ホストコンピュータから受信されたデータ、ならびにＨＤＤ、およびその他のストレージ装置から読み取られたデータを格納するためのキャッシュ１５３と、リモートネットワーク８０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）１５８と、ストレージコントローラ１５０を管理ネットワーク９０に接続するためのＥｔｈｅｒＩＦ（イーサネット（登録商標）インタフェース）とをさらに含むことが可能である。図１Ｂに示されるストレージコントローラ１５０の実施形態では、ＣＰＵ１５１は、メモリ１５２の中に格納された少なくとも７つのプログラムを実行する。具体的には、メモリ１５２は、書き込み要求が受信され、それまでにチャンクが全く割り当てられていない場合、１つまたは複数のチャンクをボリュームに割り当てるための動的チャンク割り当てプログラム１６０と、キーが、中央管理コンピュータ５００から受信された際、キー管理テーブルを管理するためのキー管理プログラム１６１と、他のストレージ装置におけるボリュームをマウントするためのマウントプログラム１６２と、ホストコンピュータ１０からのＲＥＡＤ／ＷＲＩＴＥ／ＲＥＡＤ  ＣＡＰＡＣＩＴＹコマンドに応答するための応答プログラム１６３とを格納する。
【００２８】
[0055]  さらに、ストレージコントローラ１５０のメモリ１５２は、固定サイズボリュームを作成し、それらのボリュームをホストコンピュータ１０に割り当てるためのボリューム割り当てプログラム１６４と、新たなチャンクを作成して、それらのチャンクを適切なチャンクプールに関連付けるためのチャンクプール管理プログラム１６５と、チャンクプール１１０の中の残っているチャンクの数を報告するためのチャンクプール報告プログラム１６６とを格納する。
【００２９】
[0056]  ＦＳＶ（固定サイズボリューム）
ＦＳＶ（固定サイズボリューム）は、従来のストレージボリュームである。固定サイズボリュームのサイズによって決まる、要求される数のストレージデータブロックが、そのようなボリュームに、ボリュームが作成されると、割り当てられる。図２は、固定サイズボリューム１１１の例示的な実施形態を示す。図２に示される固定サイズボリューム１１１の実施形態は、５つのＨＤＤ１０１から成る。図示される実施形態では、構成するＨＤＤ１０１のそれぞれが、データブロックを固定サイズボリューム１１１に提供する。一実施例では、ボリューム１１１のサイズは、１０００ＧＢであり、ＨＤＤの数は、５つであり、ＲＡＩＤ５アルゴリズムが、適用され、各ＨＤＤは、ボリューム１１１が作成された時点で、２５０ＧＢをボリューム１１１に提供する。
【００３０】
[0057]  ＤＣＡＶ（動的チャンク割り当てボリューム）
ＤＣＡＶ（動的チャンク割り当てボリューム）は、第２の一般的に使用されるボリュームタイプである。動的チャンク割り当てボリュームが作成された時点で、そのボリュームに、データブロックは全く割り当てられていない。図３は、書き込みコマンド、動的チャンク割り当てボリューム１１２、チャンクプール１１０、ならびにチャンクおよびＨＤＤの間の関係を示す。図３に示される実施例では、動的チャンク割り当てボリューム１１２のサイズは、１００００ＧＢである。しかし、ボリューム１１２が作成された時点で、ボリューム１１２に、データブロックは全く割り当てられておらず、ボリュームのサイズだけが、ボリューム１１２に割り当てられている。データブロックは、動的チャンク割り当てボリューム１１２が、ホストコンピュータから、データと一緒に書き込みコマンドを受信した際に、ボリューム１１２に実際に割り当てられる。つまり、説明される実施形態では、ボリューム１１２が、書き込みコマンド１１２００を受信すると、チャンクが、ボリューム１１２に割り当てられる。割り当てられるチャンクは、実際には、ＨＤＤのデータブロックの集合である。動的チャンク割り当てボリューム１１２は、図３に示されるとおり、複数のセグメント（例えば、セグメント０〜３）に分割される。チャンクのサイズと、セグメントのサイズとは、この実施形態では、同一である。
【００３１】
[0058]  チャンクおよびチャンクプール
図４は、例示的なチャンク構成を示す。チャンクは、ＨＤＤの１つまたは複数のデータブロックから成る。この実施形態では、チャンクは、異なる５つのＨＤＤ上に配置されたブロックから成る。各チャンクは、そのチャンクを識別するための一意ＩＤを有する。未使用のチャンクは、チャンクプールとして管理される。チャンクプールは、チャンクプール管理テーブルを使用して管理される。この実施形態では、ストレージ装置１００は、１つのチャンクプール１１０を組み込む。したがって、ストレージ装置１００は、単一のチャンクプール１１０を管理するための１つのチャンクプール管理テーブルを組み込む。しかし、当業者には理解されるとおり、任意の適切な数のチャンクプールが、ストレージ装置１１０において使用されることが可能である。
【００３２】
[0059]  チャンクプール管理テーブル
図５Ａは、チャンクプール管理テーブル１６８の例示的な構成を示す。チャンクプール管理テーブル１６８の図示される例示的な実施形態は、パリティグループに割り当てられたパリティグループ番号を格納するための「パリティグループ番号」列１６８０１と、パリティグループの中に入っているＨＤＤ番号を格納するための「ＨＤＤ番号」列１６８０２と、チャンクに対応するＬＢＡ範囲を格納するための「ＬＢＡ範囲」列１６８０３と、チャンクを識別するためのチャンク番号を格納するための「チャンク番号」列１６８０４とを組み込む。さらに、チャンクプール管理テーブル１６８は、チャンクが、ボリュームに割り当てられているか否かのステータスを格納するための「割り当て済み」列１６８０５と、チャンクが、セグメントに割り当てられている、ボリューム番号を格納するための「ボリューム番号」列１６８０６とを含むことが可能である。
【００３３】
[0060]  前述したとおり、動的チャンク割り当てボリュームに、当初、チャンクは全く割り当てられていない。したがって、行１６８０５および行１６８０６のすべてのセルは、ＮＵＬＬ値を有する。
【００３４】
[0061]  チャンクテーブル
図６は、動的チャンク割り当てボリュームに関連付けられたチャンクテーブル１６９の例示的な実施形態を示す。チャンクテーブル１６９は、セグメントを識別するセグメント番号を格納するための「セグメント番号」列１６９０１と、チャンクが、割り当てられているか否かを示すステータス標識を格納するための「割り当て済み」列１６９０２と、チャンクが割り当てられているチャンク番号を格納するための「チャンク番号」列１６９０３とを含む。
【００３５】
[0062]  動的チャンク割り当てボリュームに、当初、チャンクは全く割り当てられていない。したがって、チャンクテーブル１６９の行１６９０２および行１６９０３のすべてのレコードは、ＮＵＬＬ値を有する。
【００３６】
[0063]  追加のＨＤＤ
本発明の説明される例示的な実施形態におけるストレージ装置１００は、装置１００のストレージ容量の即時の拡大を可能にする、さらなる未使用のＨＤＤを組み込む。これらの追加のＨＤＤは、取り付けられ、顧客にストレージ装置が発送される際にインストールされる隠された秘密キーを使用して、ユーザから隠される。このため、これらの追加のＨＤＤは、利用できず、ストレージシステム管理者は、これらの追加のＨＤＤが、ストレージ装置１００に関連付けられた管理コンピュータ２００には見えないため、これらの追加のＨＤＤを使用することができない。他方、ストレージ装置１００は、メモリ１５２の中に存在するキー管理テーブル１６７を保持する。特に、キー管理テーブル１６７の構成は、図７Ａに詳細に示される。本発明の説明される例示的な実施形態では、それぞれの隠された追加のＨＤＤは、そのＨＤＤ独自の隠されたキーを有する。
【００３７】
[0064]  図７に示されるとおり、キー管理テーブル１６７は、ＨＤＤを識別するためのＨＤＤ番号を格納するための「ＨＤＤ番号」列１６７０１と、それぞれのＨＤＤに対応する隠されたキーを格納するための「隠されたキー」列１６７０２とから成る。隠されたキーは、追加のＨＤＤがストレージ装置１００と一緒に発送される際に、提供される。キー管理テーブル１６７は、リモートネットワークを介して中央管理コンピュータから提供されたキーを格納するための「提供されたキー」列１６７０３と、キーマッチング動作の結果を格納するための「使用可能」列１６７０４とをさらに含む。前述したマッチング動作は、隠されたキー、および提供されたキーに関して動作する。それぞれのＨＤＤは、提供されたキーが、隠されたキーと合致した場合、使用可能にされる。
【００３８】
[0065]  図示される実施形態では、追加の各ＨＤＤを使用可能にするために、１つだけの隠されたキーが、提供される。追加のＨＤＤは、隠されたキーと合致する提供されたキーが、中央管理コンピュータ５００から提供されると、使用可能にされる。当初、キー管理テーブル１６７は、合致するキーペアを全く含まない。合致するキーが、中央管理コンピュータ５００から提供された場合、そのキーに対応するＨＤＤが、使用可能にされ、ストレージシステムが利用できるようになる。利用可能になるＨＤＤは、チャンクおよび固定サイズボリュームのために使用されることが可能である。
【００３９】
[0066]  ボリューム−ＨＤＤマッピング
図８は、本発明の説明される実施形態における例示的なボリューム−ＨＤＤマッピングを示す。図示される実施例では、ボリューム１１１は、５つのＨＤＤ、１０１−０１ないし１０１−０５から成る、固定サイズボリュームである。ボリューム１１２は、動的チャンク割り当てボリュームである。チャンクは、１０１−０６から１０１−１０までの５つのＨＤＤ１０１から成るチャンクプール１１０から提供される。管理コンピュータ２００上に存在するボリューム割り当てプログラム２２２が、ストレージ装置１００にボリューム割り当て要求を発行することができる。この要求に応答して、ストレージ装置１００上に存在するボリューム割り当てプログラム１６４は、固定サイズボリューム、または適切なサイズの動的チャンク割り当てボリュームを割り当てる。
【００４０】
[0067]  動的チャンク割り当てボリュームに関するプロセスフロー
ＲＥＡＤ  ＣＡＰＡＣＩＴＹコマンド
前述したとおり、ボリューム１１２は、動的チャンク割り当てボリュームであるため、ボリューム１１２に、当初、チャンクは全く割り当てられていない。ホストコンピュータ１０は、ストレージ装置１００から、アクセスされる動的チャンク割り当てボリュームに関する容量情報を得ることができる。コントローラ１５０のメモリ１５２の中に存在する応答プログラム１６３が、割り当てられたチャンクをボリュームが全く有さない場合でさえ、ＲＥＡＤ  ＣＡＰＡＣＩＴＹコマンドに応答して、前述した容量情報をホストコンピュータ１０に戻す。したがって、ホストコンピュータ１０は、ストレージ装置１００におけるボリューム１１２を、所定の特定のサイズを有するストレージボリュームとして認識する。
【００４１】
[0068]  ＷＲＩＴＥコマンド
データ書き込みプロセスは、図９を参照して説明される。具体的には、図９は、受信された書き込みコマンドに応答して、本発明のシステムの説明される実施形態の応答プログラム１６３および動的チャンク割り当てプログラム１６０によって実行される例示的なプロセスフローを示す。前述のプロセスフローは、以下のアクションを含む。すなわち、
【００４２】
[0069]  ステップ９１０  書き込みコマンドに対応するボリュームにおけるセグメント番号が、計算される。
【００４３】
[0070]  ステップ９１５  セグメントが、チャンクを既に有しているかどうかが調べられる。セグメントが、チャンクを有する場合、プロセスフローは、ステップ９８０に進む。
【００４４】
[0071]  ステップ９２０  チャンクプールから空いたチャンクを選択し、そのチャンクを、そのセグメントに割り当てる。
【００４５】
[0072]  ステップ９３０  チャンク割り当て動作が、成功したかどうかを調べる。チャンク割り当てが、失敗した場合、ステップ９３５に進む。
【００４６】
[0073]  ステップ９３５  書き込みエラーをホストコンピュータに報告する。
【００４７】
[0074]  ステップ９４０  チャンクプール管理テーブルを更新する。
【００４８】
[0075]  ステップ９５０  チャンクテーブルを更新する。
【００４９】
[0076]  ステップ９６０  チャンクプールの中の残っているチャンクの数を調べる。残りが、Ｙ未満である場合（ただし、Ｙ＜Ｘ）、ステップ９６５に進む。
【００５０】
[0077]  ステップ９６５  中央管理コンピュータ５００上のストレージオンデマンド管理プログラム５２１に、緊急レベルを有するチャンク追加要求を発行する。
【００５１】
[0078]  ステップ９７０  チャンクプールの中の残っているチャンクの数を調べる。この数が、所定の数Ｘ未満である場合、ステップ９７５に進む。
【００５２】
[0079]  ステップ９７５  ストレージオンデマンド管理プログラム521に、通常のレベルを有するチャンク追加要求を発行する。
【００５３】
[0080]  ステップ９８０  セグメントに割り当てられたチャンクにデータを書き込む。
【００５４】
[0081]  ステップ９９０  書き込みコマンドの完了を知らせる。
【００５５】
[0082]  ＲＥＡＤコマンド
読み取りプロセスは、図１０に関連して説明される。具体的には、図１０は、応答プログラム１６３によって実行される例示的なプロセスフローを示す。
【００５６】
[0083]  ステップ１０１０  読み取りコマンドに対応するボリュームにおけるセグメント番号を計算する。
【００５７】
[0084]  ステップ１０１５  セグメントが、チャンクを既に有しているかどうかを調べる。セグメントが、チャンクを既に有している場合、ステップ１０２０に進む。セグメントが、チャンクを全く有さない場合、ステップ１０３０に進む。
【００５８】
[0085]  ステップ１０２０  セグメントに割り当てられたチャンクの中のデータを戻す。
【００５９】
[0086]  ステップ１０３０  デフォルトのデータパターンを戻す。このステップにおいて転送される例示的なデフォルトのデータパターンには、すべて０、すべてＯｘＦＦなどが含まれる。
【００６０】
[0087]  ステップ１０９０  応答コマンドの完了を知らせる。
【００６１】
[0088]  ストレージオンデマンド管理プログラム
前述したとおり、チャンクプール管理プログラム１６５は、中央管理コンピュータ５００上のストレージオンデマンド管理プログラム５２１に、チャンク追加要求を発行する。ストレージオンデマンド管理プログラム５２１は、保留中要求テーブル５２９の中にチャンク追加要求を格納する。図１１Ａは、保留中要求テーブル５２９の例示的な実施形態を示した。保留中要求テーブル５２９の図示される実施形態は、チャンク追加要求に応答して、ストレージが発行するストレージ番号を格納するための「ストレージ番号」列５２９０１と、追加のためのターゲットチャンクプールを表すチャンクプール番号を格納するための「チャンクプール番号」列５２９０２と、要求レベル（通常／緊急）を格納するための「レベル」列５２９０３と、固定サイズボリューム割り当てを求める要求を格納するための「固定サイズボリューム」列５２９０４と、ストレージ装置または管理コンピュータが要求したＨＤＤの数を格納するための「要求したＨＤＤ数」列５２９０５とを含む。
【００６２】
[0089]  例えば、ボリューム１１２が、ホストコンピュータ１０ｂから、ボリューム１１２の様々なストレージロケーションに向けられた多数の書き込みコマンドを受信し、その結果、多数のチャンクが、ボリューム１１２に割り当てられた場合、チャンクプールの中の残っているチャンクの数は、前述したＸ閾値を下回る可能性がある。この場合、動的チャンク割り当てプログラム１６０は、ストレージオンデマンド管理プログラム５２１に、説明されるチャンク追加要求を発行する。すると、ストレージオンデマンド管理プログラム５２１は、図１１Ｂに示されるとおり、保留中要求テーブル５２９を更新する。
【００６３】
[0090]  また、管理コンピュータ２００上に存在するボリューム追加要求プログラム２２１も、ストレージオンデマンド管理プログラム５２１に、ボリューム追加要求を発行することができる。ストレージボリューム１１１が、間もなく全容量まで一杯になりそうになると、管理者は、管理コンピュータ２００上に存在するボリューム割り当てプログラム２２２を呼び出すことにより、新たなボリュームをホストコンピュータ１０ａに割り当てようと試みる。ストレージ装置１００における開いたセグメントに空いたＨＤＤが存在する場合、ボリューム割り当てプログラム２２２は、新たなボリュームをストレージ装置１００に割り当てることができる。利用可能な空いたＨＤＤが、ストレージ装置１００における開いたセグメントに全く存在しない場合、ボリューム追加要求プログラム２２１が、中央管理コンピュータ上に存在するストレージオンデマンド管理プログラム５２１に、ボリューム追加要求を発行する。図１１Ｃは、ボリューム追加要求プログラム２２１が、ストレージオンデマンド管理プログラム５２１に、そのようなボリューム追加要求を発行した後の保留中要求テーブル５２９を示す。
【００６４】
[0091]  ストレージオンデマンド管理プログラム５２１は、定期的に、例えば、１２時間間隔または２４時間間隔で、保留中要求テーブルを評価する。ストレージ装置１００内の残っている追加のＨＤＤの数が、保留中要求テーブルの中の要求に従って要求されるＨＤＤの総数に満たない場合、ストレージオンデマンド管理プログラムは、メモリ５２０の中に格納された優先順位テーブル５２２に従って、保留中要求テーブルの中に格納された要求を選択する。図１１Ｃに示される保留中要求テーブルの実施形態では、チャンク追加を求める１つの要求、および固定サイズボリューム追加を求める別の要求という２つの要求が、保留中である。図１２Ａは、優先順位テーブル５２２の例示的な実施形態５２２ａを示す。優先順位テーブル５２２ａは、前もって登録されなければならない。優先順位テーブル５２２ａによれば、１つのチャンク追加要求が、固定サイズボリューム追加よりも、そのチャンク追加動作が高い優先順位を有するため、選択される。ストレージオンデマンド管理プログラム５２１は、ボリューム割り当てのために利用可能なＨＤＤが全く残っていないため、そのボリューム追加要求に、管理コンピュータ２００に送信されるエラーコードで応答する。
【００６５】
[0092]  チャンクプールの中の残っているチャンクの数が、所定の閾値Ｙを下回った場合、チャンク割り当て要求が、保留中である間に、チャンクプール管理プログラム１６５は、ストレージオンデマンド管理プログラム５２１に、緊急レベルを有するチャンク追加要求を発行する。ストレージオンデマンド管理プログラム５２１は、次の評価タイミングを待つことなしに、チャンクを追加するためのキーをストレージ装置に提供することを始めることができる。
【００６６】
[0093]  ストレージオンデマンド管理プログラム５２１は、保留中要求テーブル５２９の中の要求エントリに従って、ストレージ装置１００にキーを提供する。図１３は、キー１３００の例示的な実施形態を示す。キー１３００は、マスタキーテーブル５５０から生成される。マスタキーテーブル５５０は、ストレージ装置１００の閉じたセグメントにおける追加のＨＤＤに割り当てられたすべてのキーを保持する。このため、中央管理コンピュータ５００は、ストレージ装置１００内のすべての追加のＨＤＤに関するキーに関する情報を保持する。キー値に加えて、キー１３００は、チャンクプール指定１１０も保持する。図１４は、マスタキーテーブル５５０の例示的な実施形態を示す。マスタキーテーブル５５０の図示される例示的な実施形態は、ストレージ装置識別番号を格納するための「ストレージ番号」列５５００１と、ストレージ装置１００が発送される際の閉じたセグメントにおけるＨＤＤを識別するＨＤＤ番号を格納するための「ＨＤＤ番号」列５５００２とを含む。
【００６７】
[0094]  さらに、マスタキーテーブル５５０は、追加のＨＤＤに割り当てられたキーを格納するための「キー」列５５００３と、現在のＨＤＤ使用ステータスを格納するための「使用中」列５５００４と、ＨＤＤの指定された使用目的を格納するための「目的」列５５００５とを組み込む。具体的には、ＨＤＤは、チャンクにおいて、または固定サイズボリュームにおいて使用されることが可能である。
【００６８】
[0095]  キー管理プログラム
キー管理プログラム１６１は、キー管理プログラム１６１が、キー１３００を受信すると、受信されたキー１３００に従ってキー管理テーブル１６７を更新する。本発明の説明される実施形態では、キー管理テーブル１６７は、図７Ｂに示されるとおり更新される。更新されると、閉じたセグメントにおける追加のＨＤＤ１０２−０１ないし１０２−０５が、開いたセグメントに入れられる。キー管理テーブル１６７が、正しく更新されると、キー管理プログラム１６１は、ストレージオンデマンド管理プログラム５２１に正常な完了のステータスを示す。ストレージオンデマンド管理プログラム５２１は、図１４Ｂに示されるとおり、マスタキーテーブル５５０を更新する。
【００６９】
[0096]  次に、キー管理プログラム１６１は、キー１３００の目的列における値を調べる。キーの目的列における値が、ボリューム追加を示す場合、キー１３００は、ボリューム割り当てプログラム１６４に送られる。ボリューム割り当てプログラム１６４は、固定サイズボリューム割り当て目的のＨＤＤ追加を管理コンピュータ２００に通知する。キーの目的列における値が、チャンク追加を示す場合、キー１３００は、チャンクプール管理プログラム１６５に送られる。
【００７０】
[0097]  ストレージオンデマンド管理プログラムおよびチャンクキー管理プログラムのプロセスフロー
図１８は、前述したプロセスフローの例示的な実施形態を示す。具体的には、ストレージオンデマンド管理プログラムは、以下のステップを含む。
【００７１】
[0098]  ステップ１８１０  チャンク追加要求またはボリューム追加要求を受信する。
【００７２】
[0099]  ステップ１８１２  保留中要求テーブル５２９に要求を格納する。
【００７３】
[00100]  ステップ１８１４  要求が、緊急レベルを有する場合、ステップ１８２０に進む。
【００７４】
[00101]  ステップ１８１６  指定された時間（例えば、１２時間または２４時間）が経過した場合、ステップ１８２０に進む。経過していない場合、ステップ１８１０に進む。
【００７５】
[00102]  ステップ１８２０  保留中要求テーブルの中の要求に、優先順位テーブルに従って優先順位を付ける。
【００７６】
[00103]  ステップ１８２２  キー管理プログラムにキーを提供する。
【００７７】
[00104]  キー管理プログラムの説明される実施形態は、以下のステップを含むことが可能である。すなわち、
【００７８】
[00105]  ステップ１８５０  キーを受信する。
【００７９】
[00106]  ステップ１８５２  キー管理テーブルを更新する（追加のＨＤＤが、開いたセグメントに入れられる）。
【００８０】
[00107]  ステップ１８５４  完了を報告する。
【００８１】
[00108]  ステップ１８５６  キーをチャンクプール管理プログラムに送る。
【００８２】
[00109]  ストレージオンデマンド管理プログラムの例示的な実施形態は、以下のステップを含むことが可能である。すなわち、
【００８３】
[00110]  ステップ１８２４  マスタキーテーブル５５０を更新する。
【００８４】
[00111]  ステップ１８２６  追加のＨＤＤの使用を開始することを、料金請求プログラム５２５に通知する。料金請求プログラム５２５は、追加のＨＤＤの使用を記録する。料金請求プログラム５２５は、ストレージ装置の所有者に請求書を発行することができる。
【００８５】
[00112]  次に、チャンクプール管理プログラムのプロセスフローの例示的な実施形態を説明する。チャンクプール管理プログラム１６５は、チャンクプール管理プログラム１６５が、キー１３００を受信すると、ＨＤＤにおいてチャンクを作成する。図１５は、チャンクプール管理プログラム１６５におけるプロセスフローを示す。
【００８６】
[00113]  ステップ１５１０  パリティグループを作成する。（パリティグループデータが、パリティグループに分解され、冗長なデータ、つまり、パリティ情報により、ＨＤＤ障害から保護される。）
【００８７】
[00114]  ステップ１５１５  パリティグループをチャンクに分割して、チャンク番号を割り当てる。
【００８８】
[00115]  ステップ１５２０  チャンクプール管理テーブルを更新する（更新されたチャンクプール管理テーブルが、図５Ｂに示される）。
【００８９】
[00116]  前述したとおり、管理コンピュータ２００またはホストコンピュータ１０の動作の中断なしに、新たなチャンクが、チャンクプール１１０に追加される。追加のＨＤＤが、ストレージ装置１００内で提供されておらず、容量オンデマンドシーケンスが、使用可能にされていない場合、ＨＤＤが、物理的に配送されなければならないため、チャンクを追加するのに、本発明の説明される実施形態に従ってこれを行うのに要求される時間より、はるかに長い時間がかかる。このため、ＨＤＤの物理的配送に依拠するシステムでは、閾値「Ｘ」の値は、ストレージリソースが完全に消費される時間までにＨＤＤが配送されることを確実にするため、相当に高く設定されなければならない。この高い閾値のため、そのようなシステムは、説明される実施形態と比較して、低いストレージ容量利用率を有する。
【００９０】
[00117]  チャンクプール報告プログラム
ストレージコントローラモジュール１５０は、チャンクプール報告プログラム１６６を実行することができる。チャンク報告プログラム１６６は、プールの中の残っているチャンクの数を、ストレージオンデマンド管理プログラム５２１に定期的に報告する。図１６は、チャンクプールレポート１６００の例示的な実施形態を示す。ストレージ番号、プール番号、および残っているチャンクの数が、前述したチャンクプールレポート１６００の中で報告される。
【００９１】
[00118]  ストレージオンデマンド管理プログラム５２１が、システム内の様々なストレージ装置から受信されたレポートを記録する。ストレージオンデマンド管理プログラム５２１は、受信されたそのようなレポートをログファイルの中に記録することができる。さらに、ストレージオンデマンド管理プログラム５２１は、各チャンクプールにおけるチャンク消費レートを計算することができる。例えば、図１７は、例示的なチャンクプールログを示す。図示されるチャンクプールログは、ストレージ番号を格納するための「ストレージ番号」列１７０００１と、プール番号を格納するための「プール番号」列１７０００２と、ストレージオンデマンド管理プログラムが、チャンクプールレポート１６００を受信した時刻を格納するための「タイムスタンプ」列１７０００３とを組み込む。さらに、例示的なチャンクプールログは、チャンクプールレポート１６００によって報告された、残っているチャンクの数を格納するための「残っているチャンク数」列１７０００４、および計算された消費レートを格納するための「消費レート」列１７０００５を含むことが可能である。本発明の一実施形態では、毎日のチャンク消費レートが、計算される。他の実施形態では、毎時の、毎週の、または毎月のレートが、同様に算出されることが可能である。
【００９２】
[00119]  ストレージオンデマンド管理プログラム５２１は、ストレージオンデマンド管理プログラム５２１が、チャンクプールレポートおよび／またはチャンクプールログによって示されるところにより、チャンクプールの中の残っているチャンクの数が少ないことを検出した場合、ストレージ装置から要求を受信することなしに、チャンクを追加するためのキーをストレージ装置に提供することができる。
【００９３】
[00120]  複数のチャンクプールの構成
ストレージ装置１００が、複数のチャンクプール（例えば、１１０−０１および１１０−０２）を有する場合、追加のＨＤＤは、事前定義された優先順位で特定のチャンクプールに関連付けられることが可能である。事前定義された優先順位は、前もってストレージ装置１００または中央管理コンピュータ５００において登録されなければならない。例えば、この場合、優先順位テーブル５５２は、図１２Ｂに示されるとおり、拡張されなければならない。
【００９４】
[00121]  第２の実施形態：階層システムの構成
図１９は、本発明の別の方法が適用されることが可能な情報システムの例示的な実施形態を示す。以下の説明は、前述した第１の実施形態と第２の実施形態との違いを強調する。具体的には、本発明のシステムの第２の実施形態では、図１９を参照すると、第１の実施形態のストレージ装置１００ａに加え、さらに２つのストレージ装置１００ｂおよび１００ｃが、提供される。これら３つのストレージ装置は、図１９を参照すると、ファイバチャネルスイッチ５６によって互いに接続される。この目的で、ストレージ装置１００ａは、装置１００ａを、その他のストレージ装置に接続するためのＦＣＩＦ１５７ａを備える。同様に、ストレージ装置１００ｂも、ファイバチャネルスイッチ５６に接続されたＦＣＩＦ１５７ｂを備える。このように、２つのストレージ装置１００ａおよび１００ｂは、ＦＣＳＷ５６を介してストレージ装置１００ｃに接続される。
【００９５】
[00122]  第２の実施形態において、ストレージ装置１００ａは、閉じたセグメントにおける複数のボリューム１１３ａ（ボリューム１１３ａは、ＨＤＤ上で作成される）を組み込むのに対して、ストレージ装置１００ｂは、閉じたセグメントにおける複数のボリューム１１３ｂ（ボリューム１１３ｂは、ＨＤＤ上で作成される）を組み込む。ストレージ装置１００ｃは、閉じたセグメントにおける複数のボリューム１１３ｃ（ボリューム１１３ｃは、ＨＤＤ上で作成される）を含む。
【００９６】
[00123]  やはり第２の実施形態において、ストレージ装置１００ａは、マウントプログラム１６２ａを実行するのに対して、ストレージ装置１００ｂは、マウントプログラム１６２ｂを実行する。やはり提供されるのが、ストレージ装置を互いに接続するためのＦＣＳＷ（ファイバチャネルスイッチ）５６である。第１の実施形態では、チャンクは、複数のＨＤＤを使用して作成されることに留意されたい。他方、第２の実施形態では、チャンクは、１つまたは複数のボリュームを使用して作成される。第２の実施形態のボリュームは、複数のＨＤＤを使用して作成される。
【００９７】
[00124]  閉じたセグメントにおけるボリューム
ストレージ装置１００ａ内およびストレージ装置１００ｂ内の閉じたセグメントにおけるボリューム１１３は、前述した秘密キーによって隠される。ストレージコントローラ１５０は、ストレージオンデマンド管理プログラム５２１によって、そのキーが提供されるまで、ボリューム１１３を明らかにしない。本発明のこの実施形態におけるキー管理テーブル１６７ｃの例示的な実施形態が、図２０に示される。図示されるキー管理テーブル１６７ｃは、ボリュームを識別するボリューム番号を格納するための「ボリューム番号」列１６７１１と、隠されたキーを格納するための「隠されたキー」列１６７１２とから成る。前述の隠されたキーは、特定のボリュームが、ストレージ装置１００ｃとともに発送される際に、提供される。キー管理テーブル１６７ｃは、管理ネットワークを介して中央管理コンピュータから提供されるキーを格納するための「提供されたキー」列１６７１３と、ボリュームのコンシューマを識別するストレージ番号を格納するための「ストレージ番号」列１６７１４とをさらに含む。
【００９８】
[00125]  マスタキーテーブル
第２の実施形態におけるマスタキーテーブル５５０の例示的な実施形態が、図２１に示される。この実施形態における図示されるマスタキーテーブル５５０は、ストレージ番号を格納するための「ストレージ番号」列５５０１１と、ストレージ装置の最初の発送時に、閉じたセグメントに配置されている各ボリュームに関するボリューム番号を格納するための「ボリューム番号」列５５０１２とを組み込む。マスタキーテーブル５５０は、ボリュームに割り当てられたキーを格納するための「キー」列５５０１３と、それぞれのボリュームの現在の使用ステータスを格納するための「使用中」列５５０１４とをさらに含む。
【００９９】
[00126]  ストレージオンデマンド管理プログラム
第１の実施形態の説明において前述したとおり、チャンクプール管理プログラム１６５は、ストレージオンデマンド管理プログラム５２１にチャンク追加要求を発行する。また、チャンクプール報告プログラム１６６が、プールの中の残っているチャンクの数を、ストレージオンデマンド管理プログラム５２１に定期的に報告する。第２の実施形態では、２つのストレージ装置１００ａおよび１００ｂが、前述したチャンク追加要求を独立に発行する。ストレージオンデマンド管理プログラム５２１は、各チャンク追加要求を保留中要求テーブル５２９の中に入れる。ストレージオンデマンド管理プログラム５２１は、この保留中要求テーブルの中のエントリを定期的に評価する。
【０１００】
第２の実施形態において、図１２Ｃに示される優先順位テーブル５２２ｃの実施形態が、使用される。この優先順位テーブル５２２ｃは、前もって登録されなければならない。優先順位テーブル５２２ｃの図示される実施形態によれば、ストレージオンデマンド管理プログラム５２１は、ストレージオンデマンド管理プログラム５２１が、チャンク追加要求を受信すると、同一のストレージ装置内の閉じたセグメントにおけるボリュームから、新たなチャンクを割り当てようとまず試みる。利用可能なボリュームが、同一のストレージ装置内に全く存在しない場合、ストレージオンデマンド管理プログラム５２１は、ストレージ装置１００ｃ内のボリューム１１３ｃから、新たなチャンクを割り当てようと試みる。ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５２２に従ってキーを提供する。
【０１０１】
[00128]  チャンクプール１１０ａが、追加のチャンクを要求する場合
チャンクプール管理プログラム１６５ａが、チャンク追加要求を発行し、ストレージ装置１００ａ内の閉じたセグメントにおいて利用可能なボリュームが、存在する場合、ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５２２およびマスタキーテーブルに従ってキーを提供する。説明されるシナリオでは、キーは、ストレージ装置１００ａに提供される。
【０１０２】
[00129]  キー管理プログラム１６１ａによってキーが受信されると、キー管理プログラム１６１ａは、その受信されたキーに従ってキー管理テーブル１６７ａを更新する。隠されたキーが、提供されたキーと合致すると、ボリュームは、使用可能にされる。その後、キー管理プログラム１６１ａが、ストレージオンデマンド管理プログラム５２１に正常な完了を報告する。チャンクプール管理プログラム１６５ａは、利用可能になったボリュームを使用して、チャンクを作成する。その後、チャンクプール管理テーブルが、更新される。
【０１０３】
[00130]  次に、チャンクプール１１０ｂが、追加のチャンクを要求する状況を説明する。チャンクプール管理プログラム１６５ｂが、チャンク追加要求を発行し、ストレージ装置１００ｂ内の閉じたセグメントにボリュームが全く存在しない場合、ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５２２およびマスタキーテーブルに従ってキーを提供する。この場合、ストレージ装置１００ｂ内にボリュームが全く存在しないため、キーは、ストレージ装置１００ｃに提供される。
【０１０４】
[00131]  キー管理プログラム１６１ｃによってキーが受信されると、ストレージ装置１００ｃ内のキー管理プログラム１６１ｃは、その受信されたキーに従ってキー管理テーブル１６７ｃを更新する。隠されたキーが、提供されたキーと合致すると、隠されたボリュームは、使用可能にされる。その後、キー管理プログラム１６１ｃは、ストレージオンデマンド管理プログラム５２１に、その動作の正常な完了を報告する。
【０１０５】
[00132]  次に、ストレージオンデマンド管理プログラム５２１が、ストレージ装置１００ｂ内のマウントプログラム１６２ｂに、特定のボリューム番号およびストレージ番号を有するマウント要求を発行する。マウントプログラム１６２ｂは、そのマウント要求に従ってボリュームをマウントする。ボリュームマウントが終了した後、チャンクプール管理プログラム１６５ｂは、マウントされたボリュームにおいてチャンクを作成する。その後、チャンクプール管理テーブルが、更新される。
【０１０６】
[00133]  ストレージ装置にＨＤＤを追加すること
ストレージ装置１００ｂは、ストレージ装置１００ｃ上のボリュームを使用しているため、複数のＨＤＤが、ストレージ装置１００ｂに追加されることが可能である。ストレージ装置１００ｃ内のチャンク上のデータは、追加されたＨＤＤ上で作成された新たなチャンクに移される。チャンクプール管理プログラム１６５は、チャンクプール管理プログラム１６５が、新たなＨＤＤを検出すると、それらの新たなＨＤＤ上でチャンクを作成する。次いで、チャンクプール管理プログラム１６５は、ストレージ装置１００ｂ内のチャンクにデータを移す。最終的に、ストレージ装置１００ｃ内にあるボリューム上のチャンクは、データ無しになる。マウントプログラム１６２ｂは、ボリュームが、データを有するチャンクを全く有さない場合、そのボリュームをアンマウントする。チャンクプール管理プログラム１６５ｂは、ストレージオンデマンド管理プログラム５２１にボリュームリターン要求を発行する。ストレージオンデマンド管理プログラム５２１は、ストレージ装置１００ｃからキーを撤回する。キーを撤回されたボリュームは、閉じたセグメントに再び入れられる。
【０１０７】
[00134]  次に、２つのチャンク追加要求が同時に受信された場合の本発明のシステムの動作を説明する。ストレージオンデマンド管理プログラム５２１において、同一の評価時間フレームで複数のチャンク追加要求が受信された場合、ストレージオンデマンド管理プログラム５２１は、毎日のチャンク消費レートを評価する。より高い消費レートを有するチャンクプールが、キーを発行することに関して優先される。ストレージオンデマンド管理プログラム５２１は、より高い消費レートを有するチャンクプールに一度に複数のボリュームを割り当てるために、複数のキーを提供することができる。
【０１０８】
[00135]  水平システム構成
図２２は、本発明の別の方法が適用されることが可能な情報システムのさらに別の例示的な実施形態を示す。この構成では、ストレージ装置１００ａ、１００ｂ、および１００ｃは、ＦＣＩＦ１５７を介して互いに接続される。
【０１０９】
[00136]  優先順位テーブル
この実施形態における優先順位テーブル５２２ｄは、図１２Ｄに示される。
【０１１０】
[00137]  マスタキーテーブル
第３の実施形態のマスタキーテーブル５５０が、図２１に示される。このマスタキーテーブルは、第２の実施形態の場合と同一である。
【０１１１】
[00138]  チャンクプール１１０ａが、追加のチャンクを必要とする場合
チャンクプール管理プログラム１６５ａが、チャンク追加要求を発行し、ストレージ装置１００ａ内の閉じたセグメントに空いたボリュームが存在する場合、ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５２２およびマスタキーテーブルに従ってキーを提供する。この場合、キーは、ストレージ装置１００ａに提供される。
【０１１２】
[00139]  チャンクプール１１０ｂが、追加のチャンクを必要とする場合
チャンクプール管理プログラム１６５ｂが、チャンク追加要求を発行し、ストレージ装置１００ｂ内の閉じたセグメントにボリュームが全く存在しない場合、ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５５０およびマスタキーテーブルに従ってキーを提供する。また、ストレージオンデマンド管理プログラム５２１は、閉じたセグメントにおける残っている容量、ならびにその他のストレージ装置１００ａおよび１００ｃにおけるチャンク消費レートを評価することもできる。例えば、閉じたセグメントにおける残っている容量が最大であり、チャンク消費レートが最低であるストレージ装置が、ストレージオンデマンド管理プログラム５２１によって選択される。
【０１１３】
[00140]  水平システム構成（内部接続）
図２６は、本発明の方法が適用されることが可能な情報システムの別の例示的な実施形態を示す。この構成では、ストレージ装置１００ａ、１００ｂ、および１００ｃは、相互接続２６００を介して互いに接続される。ストレージ装置１００ａ、１００ｂ、および１００ｃはそれぞれ、相互接続２６００に結合するためのＩＩＦ２６０１（インタフェースボード２６０１）を有する。インフィニバンド、イーサネット（登録商標）、ならびに独自の接続を含む他の適切な接続技術が、相互接続２６００を実施するために使用されることが可能である。
【０１１４】
[00141]  第３の実施形態  システム構成
図２３は、本発明の方法が適用されることが可能な情報システムのさらに別の例示的な実施形態を示す。次に、第２の実施形態と第３の実施形態の違いを、詳細に説明する。具体的には、第３の実施形態では、ストレージ装置１００ｄが、第２の実施形態の場合のように顧客サイトにではなく、ストレージベンダサイトに配置される。リモートデータネットワーク７０が、顧客サイトにおけるストレージ装置１００ａと、ストレージベンダサイトにおけるストレージ装置１００ｄとを互いに接続するために提供される。第３の実施形態におけるリモートデータネットワーク７０は、ファイバチャネル技術を使用して実施される。しかし、本発明の概念は、いずれの特定のネットワーキングシステムにも限定されず、イーサネット（登録商標）などの、他のネットワークインタフェースも利用されることが可能である。
【０１１５】
[00142]  リモートデータネットワーク７０を使用可能にするのに、第３の実施形態では、２つのルータ７１が、使用される。やはり第３の実施形態において、ストレージ装置１００ａは、要求キーを有する。要求キーは、ストレージ装置１００ａが、ストレージベンダによって発送される際に、ストレージ装置１００ａに提供される。要求キーは、ストレージベンダサイトに配置されたストレージボリュームを要求するために使用される。例示的な要求キーが、図２４に示される。図２４に示されるとおり、要求キーは、チャンクプール番号１１０ａと、対応するキー（図２４におけるａａａｘｘｘ）とを含む。
【０１１６】
[00143]  マスタキーテーブル
マスタキーテーブルは、前もって登録される。本発明の第３の実施形態におけるマスタキーテーブルは、図２５に示される。ストレージベンダサイトに配置された、ストレージ装置１００ｄに組み込まれるボリュームは、要求キーが、マスタキーテーブルの中の対応するレコードと合致した場合、提供される。ボリュームの最大容量は、マスタキーテーブルの中の「容量限界」列によって制限されることが可能であることに留意されたい。
【０１１７】
[00144]  優先順位テーブル
この実施形態に関する優先順位テーブルの例示的な実施形態が、図１２Ｅおよび図１２Ｆに示される。この実施形態では、２つの優先順位テーブルが、存在する。図１２Ｅに示される優先順位テーブル５２２ｅは、ストレージ装置１００ａにおけるボリューム割り当て優先順位を制御するために使用される。図１２Ｆに示される優先順位テーブル５２２ｆは、ストレージオンデマンド管理プログラム５２１において同一の評価時間フレームで複数のチャンク追加要求が受信された場合に、優先順位を制御するために使用される。
【０１１８】
[00145]  チャンクプール１１０ａが、追加のチャンクを必要とする場合
チャンクプール管理プログラム１６５ａが、要求キーを有するチャンク追加要求を発行し、ストレージ装置１００ａ内の閉じたセグメントにボリュームが全く存在しない場合、ストレージオンデマンド管理プログラム５２１は、要求キーが、マスタキーテーブルと合致した場合、ストレージ装置１００ｄ内のボリュームを準備し、さらに、ストレージオンデマンド管理プログラム５２１は、ストレージ装置１００ａ内のマウントプログラム１６２ａに、ボリューム番号と、ストレージ番号とを有するマウント要求を発行する。マウントプログラム１６２ａは、そのマウント要求に従ってボリュームをマウントする。ボリュームマウントが、終了した後、チャンクプール管理プログラム１６５ａは、マウントされたボリュームにおいてチャンクを作成する。チャンクプール管理テーブルが、更新される。
【０１１９】
[00146]  ボリュームサイズ
ストレージオンデマンド管理プログラム５２１は、ボリュームが割り当てられる際、ボリュームの容量を計算する。ストレージ装置１００ｄ内のボリュームは、一時的でなければならない。ストレージオンデマンド管理プログラム５２１は、チャンク消費レートおよびＨＤＤデリバリ待ち時間に従って、容量を計算する。例えば、チャンク消費レートが、１日当たり１０００チャンクであり、１チャンク当たり２ＭＢ、１０日のＨＤＤデリバリ時間、２０ＧＢ（＝１０００×２ＭＢ×１０）が、チャンクプール１１０ａに割り当てられる。
【０１２０】
[00147]  ストレージ装置１００ａにＨＤＤを追加する
この実施形態では、複数のＨＤＤが、１０日以内に追加されなければならない。ストレージ装置１００ｄ内のチャンク上のデータは、追加されたＨＤＤ上のモードである新たなチャンクに移される。チャンクプール管理プログラム１６５は、チャンクプール管理プログラム１６５が、新たなＨＤＤを検出すると、その新たなＨＤＤ上にチャンクを作成する。次いで、チャンクプール管理プログラム１６５は、ストレージ装置１００ａ内のチャンクにデータを移す。最終的に、ストレージ装置１００ｄ内にあるボリューム上のチャンクは、データ無しになる。マウントプログラム１６２ａが、そのボリュームをアンマウントする。チャンクプール管理プログラム１６５ａは、ストレージオンデマンド管理プログラム５２１にボリュームリターン要求を発行する。ストレージオンデマンドプログラム５２１は、そのボリュームを撤回する。
【０１２１】
[00148]  ストレージ装置に新たなＨＤＤを追加する代わりに、新たなストレージ装置が、システムに追加されてもよいことに留意されたい。その新たに追加されたストレージ装置は、ＦＣＩＦ１５７ａを介して既存のストレージ装置１００ａに接続されることが可能である。そのように追加されたストレージ装置は、チャンクを追加するために使用されることが可能なボリュームを提供する。また、ストレージオンデマンド管理プログラム５２１において同一の評価時間フレームで複数のチャンク追加要求が受信されると、ストレージオンデマンド管理プログラム５２１は、優先順位テーブル５２２ｆを評価して、それらの受信された要求を扱う優先順位を決定する。
【０１２２】
[00149]  料金請求プログラム５２５が、レンタル容量およびレンタル期間（この実施形態では、例えば、２０ＧＢおよび１０日間）を記録する。料金請求プログラム５２５は、ストレージ装置の所有者に、レンタル容量およびレンタル期間に基づく請求書を発行することができる。ストレージ装置１００ａは、閉じたセグメントにおけるボリュームなしに構成されてもよいことに留意されたい。
【０１２３】
[00150]  コンピュータプラットフォームの例示的な実施形態
図２７は、本発明の方法の或る実施形態が実施されることが可能なコンピュータ／サーバシステム２７００の或る実施形態を示すブロック図である。システム２７００は、コンピュータ／サーバプラットフォーム２７０１と、周辺デバイス２７０２と、ネットワークリソース２７０３とを含む。
【０１２４】
[00151]  コンピュータプラットフォーム２７０１は、コンピュータプラットフォーム２７０１の様々な部分にわたって、また、それらの部分の間で情報を通信を通信するためのデータバス２７０４または他の通信機構と、情報を処理するため、ならびに他の計算タスクおよび制御タスクを実行するためにバス２７０１に結合されたプロセッサ２７０５とを含むことが可能である。また、コンピュータプラットフォーム２７０１は、様々な情報、ならびにプロセッサ２７０５によって実行されるべき命令を格納するためにバス２７０４に結合された、ＲＡＭ（ランダムアクセスメモリ）または他の動的ストレージデバイスなどの、揮発性ストレージ２７０６も含む。また、揮発性ストレージ２７０６は、プロセッサ２７０５による命令の実行中に、一時的変数、または他の中間情報を格納するために使用されることも可能である。コンピュータプラットフォーム２７０１は、ＢＩＯＳ（基本入出力システム）などの、プロセッサ２７０５のための静的な情報および命令、ならびに様々なシステム構成パラメータを格納するためにバス２７０４に結合された読み取り専用メモリ（ＲＯＭまたはＥＰＲＯＭ）２７０７または他の静的ストレージデバイスをさらに含むことが可能である。磁気ディスク、光ディスク、またはソリッドステートフラッシュメモリデバイスなどの永続ストレージデバイス２７０８が、情報および命令を格納するために提供されて、バス２７０１に結合される。
【０１２５】
[00152]  コンピュータプラットフォーム２７０１は、システム管理者、あるいはコンピュータプラットフォーム２７０１のユーザに情報を表示するために、ＣＲＴ（陰極線管）、プラズマディスプレイ、またはＬＣＤ（液晶ディスプレイ）などのディスプレイ２７０９に、バス２７０４を介して結合されることが可能である。英数字キーおよびその他のキーを含む入力デバイス２７１０が、プロセッサ２７０５に情報およびコマンド選択を伝えるためにバス２７０１に結合される。別のタイプのユーザ入力デバイスは、プロセッサ２７０４に方向情報およびコマンド選択を伝えるため、およびディスプレイ２７０９上でカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御デバイス２７１１である。この入力デバイスは、通常、デバイスが、或る平面において位置を指定することを可能にする２つの軸、第１の軸（例えば、ｘ）と第２の軸（例えば、ｙ）における２自由度を有する。
【０１２６】
[00153]  外部ストレージデバイス２７１２が、バス２７０４を介してコンピュータプラットフォーム２７０１に接続されて、コンピュータプラットフォーム２７０１に追加のストレージ容量または取り外し可能なストレージ容量を提供することが可能である。コンピュータシステム２７００の或る実施形態では、外部の取り外し可能なストレージデバイス２７１２を使用して、他のコンピュータシステムとのデータの交換が円滑にされることが可能である。
【０１２７】
[00154]  本発明は、本明細書で説明される技法を実施するためのコンピュータシステム２７００の使用に関する。或る実施形態では、本発明のシステムは、コンピュータプラットフォーム２７０１などのマシン上に存在することが可能である。本発明の一実施形態によれば、本明細書で説明される技法は、プロセッサ２７０５が、揮発性メモリ２７０６の中に含まれる１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、コンピュータシステム２７００によって実行される。そのような命令は、永続ストレージデバイス２７０８などの、別のコンピュータ可読媒体から揮発性メモリ２７０６に読み込まれることが可能である。揮発性メモリ２７０６の中に含まれる命令のシーケンスの実行は、プロセッサ２７０５に、本明細書で説明されるプロセスステップを実行させる。代替の実施形態では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せで、ハードワイヤド回路が、本発明を実施するのに使用されてもよい。このため、本発明の実施形態は、ハードウェア回路とソフトウェアのいずれの特定の組合せにも限定されない。
【０１２８】
[00155]  本明細書で使用される「コンピュータ可読媒体」という用語は、実行のためにプロセッサ２７０５に命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で説明される方法および／または技法のいずれかを実施するための命令を担持することができる、マシン可読媒体の一例に過ぎない。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、以上には限定されない、多くの形態をとることが可能である。不揮発性媒体には、例えば、ストレージデバイス２７０８などの、光ディスクまたは磁気ディスクが含まれる。揮発性媒体には、揮発性ストレージ２７０６などの動的メモリが含まれる。伝送媒体には、データバス２７０４を含む配線を含め、同軸ケーブル、銅線、および光ファイバが含まれる。また、伝送媒体は、電波データ通信および赤外線データ通信中に生成されるような音波または光波の形態もとることが可能である。
【０１２９】
[00156]  コンピュータ可読媒体の一般的な形態には、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、フラッシュドライブ、メモリカード、他の任意のメモリチップもしくはメモリカートリッジ、後段で説明される搬送波、あるいはコンピュータが読み取ることができる他の任意の媒体が含まれる。
【０１３０】
[00157]  様々な形態のコンピュータ可読媒体が、実行のためにプロセッサ２７０５に１つまたは複数の命令の１つまたは複数のシーケンスを運ぶことにかかわることが可能である。例えば、命令は、最初、リモートコンピュータから磁気ディスク上で運ばれることが可能である。代替として、リモートコンピュータが、そのコンピュータの動的メモリに命令を読み込み、それらの命令を、モデムを使用して電話線を介して送信することができる。コンピュータシステム２７００にローカルのモデムが、電話線上でデータを受信し、赤外線送信機を使用して、そのデータを赤外線信号に変換することができる。赤外線検出器が、その赤外線信号で伝送されるデータを受信することができ、適切な回路が、データバス２７０４に、そのデータを乗せることができる。バス２７０４は、そのデータを揮発性ストレージ２７０６に伝送し、ストレージ２７０６から、プロセッサ２７０５が、命令を取り出して、実行する。揮発性メモリ２７０６によって受け取られた命令は、オプションとして、プロセッサ２７０５による実行前に、または実行後に、永続ストレージデバイス２７０８上に格納されてもよい。また、命令は、当技術分野でよく知られている様々なネットワークデータ通信プロトコルを使用して、インターネットを介してコンピュータプラットフォーム２７０１にダウンロードされることも可能である。
【０１３１】
[00158]  また、コンピュータプラットフォーム２７０１は、データバス２７０４に結合されたネットワークインタフェースカード２７１３などの、通信インタフェースも含む。通信インタフェース２７１３は、ローカルネットワーク２７１５に接続されたネットワークリンク２７１４に結合する双方向データ通信を提供する。例えば、通信インタフェース２７１３は、対応するタイプの電話線へのデータ通信接続を提供するＩＳＤＮ（デジタル総合サービス網）カードまたはモデムであることが可能である。別の例として、通信インタフェース２７１３は、適合するＬＡＮへのデータ通信接続を提供するＬＡＮ  ＮＩＣ（ローカルエリアネットワークインタフェースカード）であることが可能である。また、よく知られている８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、およびＢｌｕｅｔｏｏｔｈなどの無線リンクが、ネットワーク実施のために使用されることも可能である。いずれのそのような実施形態においても、通信インタフェース２７１３が、様々なタイプの情報を表すデジタルデータストリームを伝送する電気信号、電磁信号、または光信号を送受信する。
【０１３２】
ネットワークリンク２７１３は、通常、１つまたは複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク２７１４は、ローカルネットワーク２７１５を介して、ホストコンピュータ２７１６またはネットワークストレージ／サーバ２７１７への接続を提供することができる。さらに、または代替として、ネットワークリンク２７１３は、ゲートウェイ／ファイアウォール２７１７を介して、インターネットなどの、ワイドエリアネットワーク、つまり、グローバルネットワーク２７１８に接続することができる。このため、コンピュータプラットフォーム２７０１は、リモートネットワークストレージ／サーバ２７１９などの、インターネット２７１８上のいずれの場所に配置されたネットワークリソースにでもアクセスすることができる。他方、コンピュータプラットフォーム２７０１も、ローカルエリアネットワーク２７１５上および／またはインターネット２７１８上のいずれの場所に配置されたクライアントによってもアクセスされることが可能である。ネットワーククライアント２７２０および２７２１自体、プラットフォーム２７０１と同様のコンピュータプラットフォームに基づいて実施されることが可能である。
【０１３３】
[00160]  ローカルネットワーク２７１５とインターネット２７１８はともに、デジタルデータストリームを伝送する電気信号、電磁信号、または光信号を使用する。コンピュータプラットフォーム２７０１にデジタルデータを伝送し、プラットフォーム２７０１からデジタルデータを伝送する様々なネットワークを介する信号、ならびにネットワークリンク２７１４上、および通信インタフェース２７１３を介する信号は、情報を伝送する搬送波の例示的な形態である。
【０１３４】
[00161]  コンピュータプラットフォーム２７０１は、インターネット２７１８およびＬＡＮ２７１５を含む様々なネットワーク、ネットワークリンク２７１４、および通信インタフェース２７１３を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム２７０１が、ネットワークサーバの役割をする場合、システム２７０１は、インターネット２７１８、ゲートウェイ／ファイアウォール２７１７、ローカルエリアネットワーク２７１５、および通信インタフェース２７１３を介して、クライアント２７２０および／または２７２１上で実行されるアプリケーションプログラムのための要求されたコードまたはデータを伝送することが可能である。同様に、システム２７０１は、他のネットワークリソースからコードを受信することもできる。
【０１３５】
[00162]  受信されるコードは、受信されるにつれ、プロセッサ２７０５によって実行され、かつ／または後の実行のために、永続ストレージデバイス２７０８または揮発性ストレージデバイス２７０６の中に、あるいは他の不揮発性ストレージの中に格納されることが可能である。このようにして、コンピュータシステム２７０１は、搬送波の形態でアプリケーションコードを獲得することができる。
【０１３６】
[00163]  最後に、本明細書で説明されるプロセスおよび技法は、いずれの特定の装置にも本来的に関連しておらず、構成要素の任意の適切な組合せによって実施されることが可能であることを理解されたい。さらに、様々なタイプの汎用デバイスが、本明細書で説明される技術に従って使用されることが可能である。また、本明細書で説明される方法ステップを実行する専用の装置を構築することが有利であると判明する可能性もある。本発明を、すべての点で、制限的ではなく、例示的であることが意図される特定の実施例と関係して説明してきた。ハードウェア、ソフトウェア、およびファームウェアの多くの異なる組合せが、本発明を実施するのに適することが、当業者には理解されよう。例えば、説明されるソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）などの多種多様なプログラミング言語またはスクリプト言語で実施されることが可能である。
【０１３７】
[00164]  さらに、本発明の他の実施形態が、本明細書、および本明細書で開示される本発明の実施を考慮することにより、当業者には明白となろう。説明される実施形態の様々な態様および／または構成要素は、動的チャンク割り当て能力を有するコンピュータ化されたストレージシステムにおいて単独で使用されても、任意の組合せで使用されてもよい。本明細書および実施例は、単に例示的であり、本発明の範囲および趣旨は、添付の特許請求の範囲によって示されているものとする。
【図面の簡単な説明】
【０１３８】
【図１Ａ】[0014]本発明の方法が、適用されることが可能な情報システムの例示的な実施形態を示す図である。
【図１Ｂ】本発明の方法が、適用されることが可能な情報システムの例示的な実施形態を示す図である。
【図１Ｃ】本発明の方法が、適用されることが可能な情報システムの例示的な実施形態を示す図である。
【図１Ｄ】本発明の方法が、適用されることが可能な情報システムの例示的な実施形態を示す図である。
【図２】[0015]固定サイズボリューム１１１の例示的な実施形態を示す図である。
【図３】[0016]書き込みコマンド、動的チャンク割り当てボリューム１１２、チャンクプール１１０、チャンク、およびＨＤＤの間の関係を示す図である。
【図４】[0017]チャンク構成の例示的な実施形態を示す図である。
【図５Ａ】[0018]チャンクプール管理テーブル１６８の例示的な実施形態を示す図である。
【図５Ｂ】チャンクプール管理テーブル１６８の例示的な実施形態を示す図である。
【図６】[0019]チャンクテーブル１６９の例示的な実施形態を示す図である。
【図７Ａ】[0020]キー管理テーブル１６７の例示的な実施形態を示す図である。
【図７Ｂ】キー管理テーブル１６７の例示的な実施形態を示す図である。
【図８】[0021]ボリューム−ＨＤＤマッピングの例示的な実施形態を示す図である。
【図９】[0022]応答プログラム１６３および動的チャンク割り当てプログラム１６０における例示的なプロセスフローを示す図である。
【図１０】[0023]応答プログラム１６３における例示的なプロセスフローを示す図である。
【図１１Ａ】[0024]保留中要求テーブル５２９の例示的な実施形態を示す図である。
【図１１Ｂ】保留中要求テーブル５２９の例示的な実施形態を示す図である。
【図１１Ｃ】保留中要求テーブル５２９の例示的な実施形態を示す図である。
【図１２Ａ】[0025]優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１２Ｂ】優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１２Ｃ】優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１２Ｄ】優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１２Ｅ】優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１２Ｆ】優先順位テーブル５２２の例示的な実施形態を示す図である。
【図１３】[0026]キー１３００の例示的な実施形態を示す図である。
【図１４Ａ】[0027]マスタキーテーブル５５０の例示的な実施形態を示す図である。
【図１４Ｂ】マスタキーテーブル５５０の例示的な実施形態を示す図である。
【図１５】[0028]チャンクプール管理プログラム１６５の例示的なプロセスフローを示す図である。
【図１６】[0029]チャンクプールレポート１６００の例示的な実施形態を示す図である。
【図１７】[0030]チャンクプールログの例示的な実施形態を示す図である。
【図１８】[0031]本発明の或る実施形態の例示的なプロセスフローを示す図である。
【図１９】[0032]本発明の方法が適用されることが可能な情報システムの例示的な実施形態を示す図である。
【図２０】[0033]キー管理テーブル１６７ｃの例示的な実施形態を示す図である。
【図２１】[0034]マスタキーテーブル５５０の例示的な実施形態を示す図である。
【図２２】[0035]本発明の方法が適用されることが可能な情報システムの別の例示的な実施形態を示す図である。
【図２３】[0036]本発明の方法が適用されることが可能な情報システムの別の例示的な実施形態を示す図である。
【図２４】[0037]要求キーの例示的な実施形態を示す図である。
【図２５】[0038]マスタキーテーブルの別の例示的な実施形態を示す図である。
【図２６】[0039]本発明の方法が適用されることが可能な情報システムの別の例示的な実施形態を示す図である。
【図２７】[0040]本発明のシステムが実施されることが可能なコンピュータプラットフォームの例示的な実施形態を示す図である。
【図１Ａ】
0005264277.tif 000002
【図１Ｂ】
0005264277.tif 000003
【図１Ｃ】
0005264277.tif 000004
【図１Ｄ】
0005264277.tif 000005
【図２】
0005264277.tif 000006
【図３】
0005264277.tif 000007
【図４】
0005264277.tif 000008
【図５Ａ】
0005264277.tif 000009
【図５Ｂ】
0005264277.tif 000010
【図６】
0005264277.tif 000011
【図７Ａ】
0005264277.tif 000012
【図７Ｂ】
0005264277.tif 000013
【図８】
0005264277.tif 000014
【図９】
0005264277.tif 000015
【図１０】
0005264277.tif 000016
【図１１Ａ】
0005264277.tif 000017
【図１１Ｂ】
0005264277.tif 000018
【図１１Ｃ】
0005264277.tif 000019
【図１２Ａ】
0005264277.tif 000020
【図１２Ｂ】
0005264277.tif 000021
【図１２Ｃ】
0005264277.tif 000022
【図１２Ｄ】
0005264277.tif 000023
【図１２Ｅ】
0005264277.tif 000024
【図１２Ｆ】
0005264277.tif 000025
【図１３】
0005264277.tif 000026
【図１４Ａ】
0005264277.tif 000027
【図１４Ｂ】
0005264277.tif 000028
【図１５】
0005264277.tif 000029
【図１６】
0005264277.tif 000030
【図１７】
0005264277.tif 000031
【図１８】
0005264277.tif 000032
【図１９】
0005264277.tif 000033
【図２０】
0005264277.tif 000034
【図２１】
0005264277.tif 000035
【図２２】
0005264277.tif 000036
【図２３】
0005264277.tif 000037
【図２４】
0005264277.tif 000038
【図２５】
0005264277.tif 000039
【図２６】
0005264277.tif 000040
【図２７】
0005264277.tif 000041