(57)【特許請求の範囲】
【請求項１】
外部のネットワークと接続するインターフェイス部と、第１のストレージデバイスと、第２のストレージデバイスと、前記インターフェイス部を制御すると共に前記インターフェイス部を介して前記第１のストレージデバイスと前記第２のストレージデバイスを制御するストレージコントローラを含むストレージサブシステムであって、
前記第１のストレージデバイスのアクセス性能が前記第２のストレージデバイスのアクセス性能より優れ、
前記ストレージコントローラは、特定のユーザの前記第１のストレージデバイスの利用容量及び前記第２のストレージデバイスの利用容量の合計値についての第1の閾値を有し、
前記特定のユーザからの外部のネットワーク経由で送信される書き込みデータの書き込み要求を前記インターフェイス部が受信すると、前記ストレージコントローラは前記第１のストレージデバイスで前記特定のユーザが既に利用している容量、前記第２のストレージデバイスで前記特定のユーザが既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越えるかを判定し、
前記特定のユーザが前記第１のストレージデバイスを既に利用している容量、前記特定のユーザが前記第２のストレージデバイスを既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越える場合には、前記ストレージコントローラは前記書き込みデータを前記第２のストレージデバイスに記憶し、
前記特定のユーザが前記第１のストレージデバイスの既に利用している容量、前記特定のユーザが前記第２のストレージデバイスの既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越えない場合には、前記ストレージコントローラは前記書き込みデータを前記第１のストレージデバイスに記憶することを特徴とするストレージサブシステム。
【請求項２】
外部のネットワークと接続する第１のインターフェイス部と、第１のストレージデバイスと、前記第１のインターフェイス部を制御すると共に前記第１のインターフェイス部を介して前記第１のストレージデバイスを制御する第１のストレージコントローラを含む第１のストレージサブシステムと、
前記外部のネットワークを経由して前記第１のインターフェイス部と接続された第２のインターフェイス部と、第２のストレージデバイスと、前記第２のインターフェイス部を制御すると共に前記第２のインターフェイス部を介して前記第２のストレージデバイスを制御する第２のストレージコントローラを含む第２のストレージサブシステムと、を含むストレージシステムであって、
前記第１のストレージデバイスのアクセス性能が前記第２のストレージデバイスのアクセス性能より優れ、
前記第１のストレージコントローラは、特定のユーザの前記第１のストレージデバイスの利用容量及び前記第２のストレージデバイスの利用容量の合計値についての第1の閾値を有し、
前記特定のユーザからの外部のネットワーク経由で送信される書き込みデータの書き込み要求を前記第1のインターフェイス部が受信すると、前記第1のストレージコントローラは前記第１のストレージデバイスで前記特定のユーザが既に利用している容量、前記第２のストレージデバイスで前記特定のユーザが既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越えるかを判定し、
前記特定のユーザが前記第１のストレージデバイスを既に利用している容量、前記特定のユーザが前記第２のストレージデバイスを既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越えない場合には、前記第１のストレージコントローラは前記書き込みデータを前記第１のストレージデバイスに記憶し、
前記特定のユーザが前記第１のストレージデバイスを既に利用している容量、前記特定のユーザが前記第２のストレージデバイスを既に利用している容量及び前記書き込みデータのデータ容量の合計値が前記第１の閾値を越える場合には、前記第１のストレージコントローラは前記第２のインターフェイス部に書き込み要求を発行し、
前記第２のストレージコントローラは前記第２のストレージデバイスに前記書き込みデータを記憶することを特徴とするストレージシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージサービスの提供技術に関し、特に、ネットワークを利用してユーザにストレージを有償で使用させるサービス等に適用して有効な技術に関する。
【０００２】
【従来の技術】
近年、インターネットに代表される情報通信の基盤の整備が進み、コンピュータはネットワークに接続されるのが一般的となった。また、コンピュータや通信システムの能力の向上と共にコンピュータが扱うデータ量も増加し、そのデータを格納するストレージ装置も急激に大容量化が進んでいる。
【０００３】
このような背景から、ネットワークとストレージを組み合わせた新しいサービスが始まっている。即ち、サーバ側が大容量のストレージ装置をネットワークに接続し、ユーザ側は、そのストレージ装置の容量の一部をネットワークを経由して使用し、サーバ側に使用料を支払う。これにより、ユーザはストレージ装置を設置する空間を確保する必要がなくなる。一方、サーバ側も出荷時に装置をユーザのところへ運搬する必要がなくなり、その装置を工場内等の保守しやすい環境に設置すれば、迅速かつ低コストの保守サービスを提供できるという利点がある。
【０００４】
【発明が解決しようとする課題】
上記のようなストレージサービスにおいては、サーバが提供できる記録容量が有限であるため、ユーザが使用する容量の上限を予め決めておく必要がある。そして、ユーザがサーバに支払う料金はこの上限が大きい程高く設定することが合理的である。ユーザは、この上限を超えた容量を記録しようとすると書込み禁止となりユーザ側のシステム障害を引き起こす可能性があるため、十分に余裕のある容量に上限を設定することが望ましい。しかし、上記のように使用容量の上限にリンクした料金体系においては、ユーザは、十分に余裕のある容量を確保しようとすると、殆ど使用しない容量のための料金をサーバ側に支払い続けなければならない。
【０００５】
本発明の目的は、ネットワークを利用してユーザにストレージを提供するサービスにおいて、十分に余裕のあるストレージ容量を比較的安価でユーザに提供することにある。
【０００６】
本発明の他の目的は、ネットワークを利用してユーザにストレージを提供するサービスにおいて、ユーザが、容量超過による書込禁止等の障害の発生を懸念することなく、ストレージの提供を受けることを可能ならしめることにある。
【０００７】
本発明の他の目的は、ネットワークを利用してユーザにストレージを提供するサービスにおいて、ストレージの容量およびアクセス性能の最適化を実現することにある。
【０００８】
【課題を解決するための手段】
本発明では、サーバ側がネットワークに接続してユーザに提供するストレージを、性質の異なる２種類のストレージデバイス（第１のストレージデバイスと第２のストレージデバイス）で構成する。ここで、第２のストレージデバイスは、第１のストレージデバイスと比較して容量当りのコストが安いかわりに、応答時間やデータ転送レートといったデータアクセス性能は第１のストレージデバイスより劣ってもよい。例えば、第１のストレージデバイスは磁気ディスク装置であり、第２のストレージデバイスは磁気テープ装置である。
【０００９】
一方、ユーザが使用できる容量の上限として第１の上限とそれより大きい第２の上限の２種類を設定し、サーバは、容量が第１の上限を超えない間はそのユーザのデータを全て第１のストレージデバイス上に記録し、容量が第１の上限を超えても、第２の上限を超えない間はその第１の上限を超えた分のデータを第２のストレージデバイス上に記録する。サーバは、容量が第１の上限を超えないユーザに対しては既定のアクセス性能を保証する。このとき、ユーザに課する料金の体系は、第２の上限が同一の条件で比較したとき、第１の上限の割合が低い程低料金となるようにする。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の第１の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの構成例を示す概念図である。
【００１２】
本実施の形態のストレージサブシステム１００は、図示しないサーバ側がユーザに提供するストレージの全体であり、ネットワーク１７０に接続され、同じくネットワーク１７０に接続されている複数のユーザ１８０からアクセスされる構成となっている。第１のストレージデバイス１１０は、本実施の形態においては一例として冗長構成の複数の磁気ディスクドライブで構成される磁気ディスクアレイ装置とし、インタフェース部１５０に接続され、ユーザ１８０のデータを記録する。第２のストレージデバイス１２０は、本実施の形態においては一例として磁気テープライブラリ装置とし、インタフェース部１５０に接続され、ユーザのデータを記録する。
【００１３】
インタフェース部１５０は、ネットワーク１７０、キャッシュメモリ１４０、ストレージコントローラ１６０、第１のストレージデバイス１１０及び第２のストレージデバイス１２０に接続され、ストレージコントローラ１６０に制御されてユーザとストレージデバイス間のデータの転送を行うと共に、ユーザからの要求をストレージコントローラ１６０に転送する。
【００１４】
キャッシュメモリ１４０は、インタフェース部１５０に接続され、ユーザから送られたデータを第１または第２のストレージデバイス１２０に記録する際、及び、第１または第２のストレージデバイス１２０からユーザにデータを転送する際に、そのデータを一時格納する。
【００１５】
ストレージコントローラ１６０は、インタフェース部１５０に接続され、ユーザからの書込み・読み出し要求に従ってユーザとストレージデバイス間の転送をインタフェース部１５０に指示すると共に、ユーザ毎の使用容量を把握し、ユーザから送られたデータを第１のストレージデバイス１１０に記録するか、第２のストレージデバイス１２０に記録するか、そのどちらにも記録せずにユーザに書込み禁止を通知するかの判定を行う。
【００１６】
操作部１３０は、ストレージサブシステム１００の管理者がストレージサブシステム１００のユーザ登録や容量上限の設定を行う他、その他の一般的な設定を変更したり保守を行う際のインタフェースであり、本実施の形態においては、ストレージコントローラ１６０との通信手段を有するパーソナルコンピュータである。
【００１７】
ユーザ１８０はネットワーク１７０に接続されたコンピュータシステムであり、ネットワーク１７０を経由してストレージサブシステム１００を利用する。
【００１８】
複数のユーザ１８０は、図８に例示されるユーザ管理テーブル１９０にてサーバ側に管理され、識別される。
【００１９】
すなわち、個々のユーザ１８０毎に設けられるユーザ管理テーブル１９０には、個々のユーザ１８０にユニークに付与されたユーザＩＤ１９０ａ、パスワード１９０ｂ、ユーザマシン識別子１９０ｃ、ログイン中フラグ１９０ｄ、後述の第１の上限Ｌ１が格納される容量閾値１９０ｅ、後述の第２の上限Ｌ２が格納される容量閾値１９０ｆ、第１のストレージデバイス１１０におけるユーザ使用中容量１９０ｇ、第２のストレージデバイス１２０におけるユーザ使用中容量１９０ｈ、第１のストレージデバイス１１０における当該ユーザの使用領域（ファイル）のアドレス１９０ｉ、第１のストレージデバイス１１０における当該ユーザのアクセス頻度、日時等のアクセス履歴情報１９０ｊ、第２のストレージデバイス１２０における当該ユーザの使用領域（ファイル）のアドレス１９０ｋ、第２のストレージデバイス１２０における当該ユーザのアクセス頻度、日時等のアクセス履歴情報１９０ｌ、等の情報を含んでいる。
【００２０】
ユーザ使用中容量１９０ｇおよびユーザ使用中容量１９０ｈの値は、第１のストレージデバイス１１０および第２のストレージデバイス１２０における後述の書込、消去、移動の都度更新される。
【００２１】
個々のユーザ１８０が最初にアクセス開始するログイン時においては、ログイン要求があると、サーバはユーザ１８０にユーザ名とパスワードを要求し、ユーザはサーバにユーザ名とパスワードを返答し、サーバは、該当するユーザ１８０のユーザ管理テーブル１９０を見つけ出し、ログイン中フラグ１９０ｄを“１”にし、ユーザのマシンの識別子（例えば、ＩＰアドレス）をユーザマシン識別子１９０ｃに設定する。これにより、個々のユーザ１８０の認証および識別が行われる。
【００２２】
この最初のアクセス開始以降（ログイン中）では、書込み／読み出し／消去等の要求があると、その要求の送信元のＩＰアドレスからユーザを識別するとともに、ログイン中フラグ１９０ｄが“１”になっている事を確認した後に要求を実行する。
【００２３】
また、ユーザ１８０がストレージサービスを終了するログアウト時においては、ユーザ１８０からのログアウト要求があると、その要求の送信元のＩＰアドレス等のユーザマシン識別子１９０ｃからユーザを識別し、ログイン中フラグが“１”になっている事を確認した後、ログイン中フラグを“０”に戻す。
【００２４】
次に、本発明の第１の実施の形態を適用したストレージサービスにおいてユーザがサーバと事前に取り交わす契約を説明する。ユーザは、サーバとの間で、そのユーザがストレージサブシステム１００において使用できる容量の第１の上限Ｌ１（テラバイト）と第２の上限Ｌ２（テラバイト）を取り決める。ここで、Ｌ２はＬ１と同じかまたはＬ１より大きくなければならない。ユーザはＬ２を超える容量を使用することはできない。また、ユーザが使用している容量がＬ１を超えない間はサーバはそのユーザに一定のアクセス性能を保証する。このとき、ユーザがサーバに支払う料金Ｃは、
Ｃ＝Ｃ１・Ｌ１＋Ｃ２・（Ｌ２−Ｌ１）    ……………………（１）
によって計算される。ここで、Ｃ１とＣ２はそれぞれ第１のストレージデバイス１１０と第２のストレージデバイス１２０における１テラバイト当りの料金であり、サーバとユーザの契約によって決められてよいが、必ず、
Ｃ１＞Ｃ２    ………………………………………………………（２）
が満足されなければならない。
【００２５】
次に、ユーザ１８０からストレージサブシステム１００に書込み要求があった場合のストレージサブシステム１００の動作の一例を図２のフローチャート等を用いて説明する。
【００２６】
インタフェース部１５０がユーザからの書込み要求を受信すると（ステップＳ１０１）、要求のあったデータを一旦、キャッシュメモリ１４０に格納する（ステップＳ１０２）。上記の書込み要求には、その書込み要求をしたユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれており、ストレージコントローラ１６０は、その情報から書込み要求をしたユーザ１８０を識別し（ステップＳ１０３）、第１のストレージデバイス１１０と第２のストレージデバイス１２０に既に記録されているそのユーザのデータの総容量（ユーザ使用中容量１９０ｇおよびユーザ使用中容量１９０ｈの和）と、今回書込み要求があったデータの容量の総和と、そのユーザに設定されている第１の上限および第２の上限とを比較する（ステップＳ１０４）。その結果、上記の容量の総和が第２の上限より大きいとき、書込み禁止をユーザに通報し（ステップＳ１０８）、そのデータは第１及び第２のストレージデバイス１２０のいずれにも書込まないまま、書込み動作を終了する。
【００２７】
上記の容量の総和が第１の上限より大きく、第２の上限より小さいとき（ステップＳ１０５）、キャッシュメモリ１４０に格納されたデータを第２のストレージデバイス１２０に書き込み（ステップＳ１０９）、ユーザ１８０に書込み終了を通報し（ステップＳ１１０）、書込み動作を終了する。上記の容量の総和が第１の上限Ｌ１より小さいとき、キャッシュメモリ１４０に格納されたデータを第１のストレージデバイス１１０に書き込み（ステップＳ１０６）、ユーザ１８０に書込み終了を通報し（ステップＳ１０７）、書込み動作を終了する。
【００２８】
次に、ユーザ１８０からストレージサブシステム１００に読み出し要求があった場合のストレージサブシステム１００の動作を図３を用いて説明する。ここで、読み出し要求には、その読み出し要求を行ったユーザ１８０を識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。インタフェース部１５０がユーザからの読み出し要求を受信すると（ステップＳ２０１）、ストレージコントローラ１６０はその読み出し要求を行ったユーザを識別し（ステップＳ２０２）、その読み出し要求のあったデータ（当該データ）が第１のストレージデバイス１１０と第２のストレージデバイス１２０のいずれに記録されているかを判別する（ステップＳ２０３）。当該データが第１のストレージデバイスに記録されていた場合、第１のストレージデバイスからの当該データの読み出しと要求したユーザへの転送をインタフェース部１５０に実行させる（ステップＳ２０７）。
【００２９】
当該データが第２のストレージデバイス１２０に記録されていた場合、第２のストレージデバイス１２０からの当該データの読み出しと要求したユーザへの転送をインタフェース部１５０に実行させ（ステップＳ２０４）、更に、当該データと同一のユーザが第１のストレージデバイス１１０に記録しているデータと当該データのアクセス頻度（アクセス履歴情報１９０ｊ）を比較する（ステップＳ２０５）。ここで、アクセス頻度とは、ユーザが一定期間（例えば、最近一週間）にそのデータへアクセスした回数であり、その一定期間とはユーザのストレージの利用形態に応じて決めることができる。上記の第１のストレージデバイス１１０に記録しているデータの中に当該データよりアクセス頻度が低いものが存在した場合、そのアクセス頻度の低いデータを第１のストレージデバイス１１０から第２のストレージデバイス１２０に移動し、当該データを第２のストレージデバイス１２０から第１のストレージデバイス１１０に移動する（ステップＳ２０６）。この移動は、当該データのユーザへの転送が終了した直後に行っても、夜間等のユーザからのアクセス要求の少ない時間帯に行ってもよい。
【００３０】
次に、ユーザからストレージサブシステムに消去要求があった場合のストレージサブシステムの動作を図４を用いて説明する。ここで、消去要求には、その消去要求を行ったユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。インタフェース部１５０がユーザからの消去要求を受信すると（ステップＳ３０１）、ストレージコントローラ１６０は、その消去要求を行ったユーザを識別し（ステップＳ３０２）、その消去要求のあったデータ（当該データ）が第１のストレージデバイス１１０と第２のストレージデバイス１２０のいずれに記録されているかを判別する（ステップＳ３０３）。当該データが第２のストレージデバイス１２０に記録されていた場合、第２のストレージデバイス１２０からの当該データの消去をインタフェース部１５０に実行させ（ステップＳ３０８）、消去終了をユーザに通報する（ステップＳ３０９）。
【００３１】
当該データが第１のストレージデバイス１１０に記録されていた場合、第１のストレージデバイス１１０からの当該データの消去をインタフェース部１５０に実行させ（ステップＳ３０４）、更に、当該データと同一のユーザが第２のストレージデバイス１２０に記録しているか判別し（ステップＳ３０５）、記録していない場合には消去終了をユーザに通報する（ステップＳ３１０）。記録している場合、当該データのうちアクセス頻度の高いものから順に、第１の上限を超えない範囲で、第１のストレージデバイス１１０に移動し（ステップＳ３０６）、消去終了をユーザに通報する（ステップＳ３０７）。このステップＳ３０６の移動は、当該データのユーザへの転送が終了した直後に行っても、夜間等のユーザからのアクセス要求の少ない時間帯に行ってもよい。
【００３２】
次に、本発明の第２の実施の形態を図５〜８を用いて説明する。
【００３３】
第２の実施の形態の構成は、図１に示された第１の実施の形態と同様であるので説明を省略する。
【００３４】
次に、本発明の第２の実施の形態を適用したストレージサービスにおいてユーザがサーバと事前に取り交わす契約を説明する。ユーザは、サーバとの間で、そのユーザがストレージサブシステムにおいて使用できる容量の第１の上限Ｌ１（テラバイト）と第２の上限Ｌ２（テラバイト）を取り決める。ここで、Ｌ２はＬ１と同じかまたはＬ１より大きくなければならない。ユーザはＬ２を超える容量を使用することはできない。また、ユーザが使用している容量がＬ１を超えたときは、超えた分を一定期間（例えば、一週間）は記録しておくが、その期間が経過した後はサーバが消去する。ユーザは、そのデータが消去されないようにするためには契約内容を変更しＬ１を引き上げなければならない。このとき、ユーザがサーバに支払う料金Ｃは、本発明の第１の実施の形態に記載の式（１）及び式（２）によって計算される。
【００３５】
また、上述の契約形態のほかに、次のような契約を取り交わす場合にも、本発明の第２の実施の形態に適用できる。ユーザは、ストレージサブシステムにおいて使用できる容量を指定する。それを第１の上限Ｌ１とする。またユーザは、上限Ｌ１を一時的に超えて利用することができる" 超過分の一時保存サービス" を選択できるようにする。このとき、第２の上限Ｌ２は、上限Ｌ１よりも大きくかつ第２のストレージサブシステムの最大許容量または最大使用可能量を超えない範囲で自動設定する。または、先の契約形態と同様、一時保存サービスにおける上限Ｌ２をその時設定してもよい。ユーザは、第１のストレージデバイスに対して上限Ｌ１を超えたデータを記憶させても、一時保存サービスを選択してあれば、上限Ｌ２の容量まで第２のストレージデバイスを一時的に利用することができる。このときの料金は、一時サービスとして定額とするか、または本発明の第１の実施の形態に記載の式（１）及び式（２）によって計算された額とすればよい。ユーザに上限Ｌ２を見せる代わりに" 超過分の一時保存サービス" として提供することで、ユーザにとって簡易なサービスを提供することが可能となる。
【００３６】
次に、第２の実施の形態においてユーザからストレージサブシステムに書込み要求があった場合のストレージサブシステムの動作を図５を用いて説明する。インタフェース部１５０がユーザからの書込み要求を受信すると（ステップＳ４０１）、要求のあったデータを一旦、キャッシュメモリ１４０に格納する（ステップＳ４０２）。上記の書込み要求には、その書込み要求をしたユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれており、ストレージコントローラ１６０は、その情報から書込み要求をしたユーザを識別し（ステップＳ４０３）、第１のストレージデバイス１１０と第２のストレージデバイス１２０に既に記録されているそのユーザのデータの総容量と、今回書込み要求があったデータの容量の総和と、そのユーザに設定されている第１の上限および第２の上限とを比較する（ステップＳ４０４）。
【００３７】
その結果、上記の容量の総和が第２の上限より大きいとき、書込み禁止をユーザに通報し（ステップＳ４０８）、そのデータは第１及び第２のストレージデバイス１２０のいずれにも書込まない。ここで、書込み要求をしたユーザが第２のストレージデバイス１２０中にデータを持っていないときはそのまま書込み動作を終了し（ステップＳ４０９）、持っているとき、ストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ４１０）、書込み動作を終了する。
【００３８】
一方、上記の容量の総和が第１の上限より大きく、第２の上限より小さいとき（ステップＳ４０５）、キャッシュメモリ１４０に格納されたデータを第２のストレージデバイス１２０に書き込み（ステップＳ４１１）、更にストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ４１２）、ユーザに書込み終了を通報し（ステップＳ４１３）、書込み動作を終了する。上記の容量の総和が第１の上限より小さいとき、キャッシュメモリ１４０に格納されたデータを第１のストレージデバイス１１０に書き込み（ステップＳ４０６）、ユーザに書込み終了を通報し（ステップＳ４０７）、書込み動作を終了する。
【００３９】
次に、本発明第２の実施の形態においてユーザからストレージサブシステムに読み出し要求があった場合のストレージサブシステムの動作を図６を用いて説明する。ここで、読み出し要求には、その読み出し要求を行ったユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。インタフェース部１５０がユーザからの読み出し要求を受信すると（ステップＳ５０１）、ストレージコントローラ１６０はその読み出し要求を行ったユーザを識別し（ステップＳ５０２）、その読み出し要求のあったデータ（当該データ）が第１のストレージデバイス１１０と第２のストレージデバイス１２０のいずれに記録されているかを判別する（ステップＳ５０３）。当該データが第１のストレージデバイス１１０に記録されていた場合、第１のストレージデバイス１１０からの当該データの読み出しと要求したユーザへの転送をインタフェース部１５０に実行させる（ステップＳ５０６）。次に、読み出し要求をしたユーザが第２のストレージデバイス１２０内にデータを持っていないとき（ステップＳ５０７）、そのまま読み出し動作を終了し、持っているとき、ストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ５０５）、読み出し動作を終了する。
【００４０】
一方、当該データが第２のストレージデバイス１２０に記録されていた場合、第２のストレージデバイス１２０からの当該データの読み出しと要求したユーザへの転送をインタフェース部１５０に実行させ（ステップＳ５０４）、次に、ストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ５０５）、読み出し動作を終了する。
【００４１】
次に、ユーザからストレージサブシステムに消去要求があった場合のストレージサブシステムの動作を図７を用いて説明する。ここで、消去要求には、その消去要求を行ったユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。インタフェース部１５０がユーザからの消去要求を受信すると（ステップＳ６０１）、ストレージコントローラ１６０は、その消去要求を行ったユーザを識別し（ステップＳ６０２）、その消去要求のあったデータ（当該データ）が第１のストレージデバイス１１０と第２のストレージデバイス１２０のいずれに記録されているかを判別する（ステップＳ６０３）。当該データが第２のストレージデバイス１２０に記録されていた場合、第２のストレージデバイス１２０からの当該データの消去をインタフェース部１５０に実行させる（ステップＳ６０８）。次に、この消去によってこのユーザのデータが第２のストレージデバイス１２０に存在しなくなったときはユーザに消去終了を通報して消去動作を終了し（ステップＳ６０９）、消去後もそのユーザのデータが第２のストレージデバイス１２０に残っているとき（ステップＳ６１１）、ストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ６１２）、ユーザに消去終了を通報して消去動作を終了する（ステップＳ６０７）。
【００４２】
一方、当該データが第１のストレージデバイス１１０に記録されていた場合、第１のストレージデバイス１１０からの当該データの消去をインタフェース部１５０に実行させ（ステップＳ６０４）、次に、このユーザが第２のストレージデバイス１２０に記録しているデータがなければ（ステップＳ６０５）、ユーザに消去終了を通報して消去動作を終了し（ステップＳ６１０）、あれば、そのデータのうちアクセス頻度の高いものから順に、第１の上限を超えない範囲で、第１のストレージデバイス１１０に移動する（ステップＳ６０６）。
【００４３】
次に、この移動によってこのユーザのデータが第２のストレージデバイス１２０に存在しなくなったときは（ステップＳ６１１）ユーザに消去終了を通報して消去動作を終了し（ステップＳ６０７）、移動後もそのユーザのデータが第２のストレージデバイス１２０に残っているとき、ストレージコントローラ１６０はユーザに対して、▲１▼そのユーザの容量が第１の上限を超過していること、▲２▼第１の上限を超過したデータの保持期限、▲３▼上記保持期限を超えたデータは消去されること、▲４▼上記保持期限を超えてデータを保持するためには第１の上限を引き上げる契約変更が必要であること、の４項目を通知し（ステップＳ６１２）、ユーザに消去終了を通報して消去動作を終了する（ステップＳ６０７）。
【００４４】
このように、本実施の形態によれば、ユーザ１８０の使用容量の大小に応じて、アクセス性能および記憶容量の単価の異なる複数の第１のストレージデバイス１１０および第２のストレージデバイス１２０を使いわけることで、ネットワーク１７０を利用してユーザ１８０にストレージを提供するサービスにおいて、十分に余裕のあるストレージ容量を比較的安価でユーザ１８０に提供することが可能になる。
【００４５】
また、複数の第１の上限Ｌ１および第２の上限Ｌ２を設定して段階的に複数の第１のストレージデバイス１１０および第２のストレージデバイス１２０を使いわけることで、ネットワーク１７０を利用してユーザ１８０にストレージを提供するサービスにおいて、ユーザ１８０が、容量超過による書込禁止等の障害の発生を懸念することなく、ストレージの提供を受けることが可能となる。
【００４６】
また、アクセス性能および記憶容量の単価の異なる複数の第１のストレージデバイス１１０および第２のストレージデバイス１２０におけるユーザ１８０の使用容量の状況変化に応じて、低速アクセスの第２のストレージデバイス１２０から高速アクセスの第１のストレージデバイス１１０への当該ユーザ１８０のデータの移動を行うことで、ネットワーク１７０を利用してユーザ１８０にストレージを提供するサービスにおいて、ストレージの容量およびアクセス性能の最適化を実現することができる。
【００４７】
以上、本発明の第１及び第２の実施の形態においては、第１のストレージデバイス１１０を磁気ディスクアレイ装置、第２のストレージデバイス１２０を磁気テープライブラリ装置としたが、第１のストレージデバイス１１０及び第２のストレージデバイス１２０を共に磁気ディスクアレイ装置として、第２のストレージデバイス１２０を第１のストレージデバイス１１０より容量当りの単価の安い磁気ディスク装置で構成してもよい。この他の組合せであっても、第２のストレージデバイス１２０に第１のストレージデバイス１１０より容量当りの単価の安いデバイスを採用することにより、効果を損ねることなく本発明を実施できる。
【００４８】
次に、本発明の第３の実施の形態を図９〜１２を用いて説明する。
【００４９】
この第３の実施の形態では、ネットワーク１７０にＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する複数の第１のストレージサブシステム１００Ａおよび第２のストレージサブシステム１０１を接続し、これらのサブシステムが、ユーザ１８０に対して、複数レベルの閾値管理および複数レベルのアクセス速度のストレージサービスを提供する場合を例示している。
【００５０】
すなわち、図９の構成例において、第１のストレージサブシステム１００Ａは、高速なストレージデバイス１１０ａと、キャッシュメモリ１４０、インタフェース部１５０、ストレージコントローラ１６０、操作部１３０を備え、各部の動作は、図１に例示された第１の実施の形態と同様である。
【００５１】
また、第２のストレージサブシステム１０１は、第１のストレージサブシステム１００Ａのストレージデバイス１１０ａよりもアクセス性能は低い（低速）が、単位容量の単価も安いストレージデバイス１１１と、キャッシュメモリ１４１、インタフェース部１５１、ストレージコントローラ１６１、操作部１３１を備え、各部の動作は、図１に例示された第１の実施の形態と同様である。
【００５２】
本実施の形態の場合、ユーザ１８０は、常に、第１のストレージサブシステム１００Ａにアクセスする。第１のストレージサブシステム１００Ａは、ユーザ１８０に対してはサーバとして振る舞い、第２のストレージサブシステム１０１に対してはユーザとして振る舞う。
【００５３】
次に、ユーザ１８０からＳＡＮを構成する第１のストレージサブシステム１００Ａに書込み要求があった場合の動作の一例を図１０のフローチャート等を用いて説明する。
【００５４】
第１のストレージサブシステム１００Ａのインタフェース部１５０がユーザからの書込み要求を受信すると（ステップＳ７０１）、要求のあったデータを一旦、キャッシュメモリ１４０に格納する（ステップＳ７０２）。上記の書込み要求には、その書込み要求をしたユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれており、ストレージコントローラ１６０は、その情報から書込み要求をしたユーザ１８０を識別し（ステップＳ７０３）、第１のストレージサブシステム１００Ａと第２のストレージサブシステム１０１に既に記録されているそのユーザのデータの総容量と、今回書込み要求があったデータの容量の総和と、そのユーザに設定されている第１の上限および第２の上限とを比較する（ステップＳ７０４）。その結果、上記の容量の総和が第２の上限より大きいとき、第１のストレージサブシステム１００Ａは書込み禁止をユーザに通報し（ステップＳ７０８）、そのデータは第１及び第２のストレージサブシステム１０１のいずれにも書込まないまま、書込み動作を終了する。
【００５５】
上記の容量の総和が第１の上限より大きく、第２の上限より小さいとき（ステップＳ７０５）、第１のストレージサブシステム１００Ａは、第２のストレージサブシステム１０１に書込要求を発行し（ステップＳ７０９）、キャッシュメモリ１４０に格納されたデータを第２のストレージサブシステム１０１に書き込み（ステップＳ７１０）、第２のストレージサブシステム１０１は書込終了を第１のストレージサブシステム１００Ａに通知し（ステップＳ７１１）、第１のストレージサブシステム１００Ａはユーザ１８０に書込み終了を通報し（ステップＳ７１２）、書込み動作を終了する。
【００５６】
上記の容量の総和が第１の上限Ｌ１より小さいとき、キャッシュメモリ１４０に格納されたデータを当該第１のストレージサブシステム１００Ａ（ストレージデバイス１１０ａ）に書き込み（ステップＳ７０６）、第１のストレージサブシステム１００Ａはユーザ１８０に書込み終了を通報し（ステップＳ７０７）、書込み動作を終了する。
【００５７】
次に、ユーザ１８０からＳＡＮの第１のストレージサブシステム１００Ａに読み出し要求があった場合の動作を図１１を用いて説明する。ここで、読み出し要求には、その読み出し要求を行ったユーザ１８０を識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。
【００５８】
第１のストレージサブシステム１００Ａのインタフェース部１５０がユーザからの読み出し要求を受信すると（ステップＳ８０１）、ストレージコントローラ１６０はその読み出し要求を行ったユーザを識別し（ステップＳ８０２）、その読み出し要求のあったデータ（当該データ）が第１のストレージサブシステム１００Ａと第２のストレージサブシステム１０１のいずれに記録されているかを判別する（ステップＳ８０３）。当該データが第１のストレージサブシステム１００Ａに記録されていた場合、ストレージデバイス１１０ａからの当該データの読み出しと要求したユーザへの転送をインタフェース部１５０に実行させる（ステップＳ８０９）。
【００５９】
当該データが第２のストレージサブシステム１０１に記録されていた場合、第１のストレージサブシステム１００Ａは、第２のストレージサブシステム１０１に読み出し要求を発行し（ステップＳ８０４）、第２のストレージサブシステム１０１からの当該データの読み出しと要求した第１のストレージサブシステム１００Ａへの転送をインタフェース部１５１に実行させ（ステップＳ８０５）、第１のストレージサブシステム１００Ａは受け取ったデータをユーザ１８０に送信する（ステップＳ８０６）。
【００６０】
更に、当該データと同一のユーザが第１のストレージサブシステム１００Ａに記録しているデータと当該データのアクセス頻度（アクセス履歴情報１９０ｊ）を比較する（ステップＳ８０７）。ここで、アクセス頻度とは、ユーザが一定期間（例えば、最近一週間）にそのデータへアクセスした回数であり、その一定期間とはユーザのストレージの利用形態に応じて決めることができる。上記の第１のストレージサブシステム１００Ａに記録しているデータの中に当該データよりアクセス頻度が低いものが存在した場合、そのアクセス頻度の低いデータを第１のストレージサブシステム１００Ａから第２のストレージサブシステム１０１に移動し、当該データを第２のストレージサブシステム１０１から第１のストレージサブシステム１００Ａに移動する（ステップＳ８０８）。この移動は、当該データのユーザへの転送が終了した直後に行っても、夜間等のユーザからのアクセス要求の少ない時間帯に行ってもよい。
【００６１】
次に、ユーザからＳＡＮを構成する第１のストレージサブシステム１００Ａに消去要求があった場合のストレージサブシステムの動作を図１２を用いて説明する。ここで、消去要求には、その消去要求を行ったユーザを識別する情報（ユーザマシン識別子１９０ｃ）が含まれている。
【００６２】
第１のストレージサブシステム１００Ａのインタフェース部１５０がユーザからの消去要求を受信すると（ステップＳ９０１）、ストレージコントローラ１６０は、その消去要求を行ったユーザを識別し（ステップＳ９０２）、その消去要求のあったデータ（当該データ）が第１のストレージサブシステム１００Ａと第２のストレージサブシステム１０１のいずれに記録されているかを判別する（ステップＳ９０３）。当該データが第２のストレージサブシステム１０１に記録されていた場合、第２のストレージサブシステム１０１のストレージデバイス１１１からの当該データの消去をインタフェース部１５０に実行させ（ステップＳ９０８）、消去終了を第１のストレージサブシステム１００Ａに通報し（ステップＳ９０９）、第１のストレージサブシステム１００Ａはユーザ１８０に消去終了を通報して（ステップＳ９１０）、終了する。
【００６３】
当該データが第１のストレージサブシステム１００Ａに記録されていた場合、第１のストレージサブシステム１００Ａのストレージデバイス１１０ａからの当該データの消去をインタフェース部１５０に実行させ（ステップＳ９０４）、更に、当該データと同一のユーザが第２のストレージサブシステム１０１に記録しているか判別し（ステップＳ９０５）、記録していない場合には第１のストレージサブシステム１００Ａは消去終了をユーザに通報する（ステップＳ９１１）。
【００６４】
記録している場合、当該データのうちアクセス頻度の高いものから順に、第１の上限を超えない範囲で、第１のストレージサブシステム１００Ａに移動し（ステップＳ９０６）、消去終了をユーザに通報する（ステップＳ９０７）。このステップＳ９０６の移動は、当該データのユーザへの転送が終了した直後に行っても、夜間等のユーザからのアクセス要求の少ない時間帯に行ってもよい。
【００６５】
このように、本実施の形態によれば、ユーザ１８０の使用容量の大小に応じて、ＳＡＮを構成し、アクセス性能および記憶容量の単価の異なる複数の第１のストレージサブシステム１００Ａおよび第２のストレージサブシステム１０１を使いわけることで、ネットワーク１７０を利用してユーザ１８０にＳＡＮによるストレージを提供するサービスにおいて、十分に余裕のあるストレージ容量を比較的安価でユーザ１８０に提供することが可能になる。
【００６６】
また、複数の第１の上限Ｌ１および第２の上限Ｌ２を設定して段階的に複数の第１のストレージサブシステム１００Ａおよび第２のストレージサブシステム１０１を使いわけることで、ネットワーク１７０を利用してユーザ１８０にＳＡＮのストレージを提供するサービスにおいて、ユーザ１８０が、容量超過による書込禁止等の障害の発生を懸念することなく、ストレージの提供を受けることが可能となる。
【００６７】
また、アクセス性能および記憶容量の単価の異なる複数の第１のストレージサブシステム１００Ａおよび第２のストレージサブシステム１０１におけるユーザ１８０の使用容量の状況変化に応じて、低速アクセスの第２のストレージサブシステム１０１から高速アクセスの第１のストレージサブシステム１００Ａへの当該ユーザ１８０のデータの移動を行うことで、ネットワーク１７０を利用してユーザ１８０にＳＡＮのストレージを提供するサービスにおいて、ストレージの容量およびアクセス性能の最適化を実現することができる、という効果が得られる。
【００６８】
本願の特許請求の範囲に記載された発明を見方を変えて表現すれば以下の通りである。
【００６９】
＜１＞  ストレージシステムの記憶領域をネットワークを経由してユーザに有償で使用させるストレージサービスであって、
前記ストレージシステムの前記記憶領域は少なくとも１つの第１のストレージデバイスと、少なくとも１つの第２のストレージデバイスからなり、前記ユーザのデータ容量が前記第１のストレージデバイスの容量を超えない間は前記第２のストレージデバイスを前記ユーザに使用させず、前記ユーザの前記データ容量が前記第１のストレージデバイスの容量を超えたときに前記第２のストレージデバイスをユーザに使用させることを特徴とするストレージサービス。
【００７０】
＜２＞  項目＜１＞記載のストレージサービスであって、該第１のストレージデバイスにおいてユーザが使用を許可された第１の上限容量と該第２のストレージデバイスにおいてそのユーザが使用を許可された第２の上限容量とをユーザが決定し、該第１の上限容量と該第２の上限容量の合計が同じであっても、該合計に対する該第２の上限容量の占める割合が高い程、そのユーザへの課金額が低くなることを特徴とするストレージサービス。
【００７１】
＜３＞  項目＜２＞記載のストレージサービスであって、ユーザが使用する容量が該第１の上限容量を超えない間は、該ユーザの該ストレージシステムへのアクセスに既定の速度が保証されることを特徴とするストレージサービス。
【００７２】
＜４＞  項目＜３＞記載のストレージサービスであって、該第１のストレージデバイスが１つまたは複数の磁気ディスク装置であり、該第２のストレージデバイスが１つまたは複数の磁気テープ装置であることを特徴とするストレージサービス。
【００７３】
＜５＞  項目＜３＞記載のストレージサービスであって、該ストレージシステムはユーザがデータにアクセスする頻度を計測し、同一ユーザのデータで該第１のストレージデバイスに記録されたデータよりアクセス頻度の高いデータが該第２のストレージデバイス中に存在するとき、両者を交換する機能を有することを特徴とするストレージサービス。
【００７４】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７５】
【発明の効果】
本発明によれば、ネットワークを利用してユーザにストレージを提供するサービスにおいて、十分に余裕のあるストレージ容量を比較的安価でユーザに提供することができる、という効果が得られる。
【００７６】
本発明によれば、ネットワークを利用してユーザにストレージを提供するサービスにおいて、ユーザが、容量超過による書込禁止等の障害の発生を懸念することなく、ストレージの提供を受けることを可能ならしめることができる、という効果が得られる。
【００７７】
本発明によれば、ネットワークを利用してユーザにストレージを提供するサービスにおいて、ストレージの容量およびアクセス性能の最適化を実現することができる、という効果が得られる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの構成例を示す概念図である。
【図２】本発明の第１の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（書込動作）の一例を示すフローチャートである。
【図３】本発明の第１の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（読出動作）の一例を示すフローチャートである。
【図４】本発明の第１の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（消去動作）の一例を示すフローチャートである。
【図５】本発明の第２の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（書込動作）の一例を示すフローチャートである。
【図６】本発明の第２の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（読出動作）の一例を示すフローチャートである。
【図７】本発明の第２の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（消去動作）の一例を示すフローチャートである。
【図８】本発明の実施の形態であるストレージサービスの提供方法を実施するストレージシステムにて用いられる制御情報の一例を示す概念図である。
【図９】本発明の第３の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの構成例を示す概念図である。
【図１０】本発明の第３の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（書込動作）の一例を示すフローチャートである。
【図１１】本発明の第３の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（読出動作）の一例を示すフローチャートである。
【図１２】本発明の第３の実施の形態であるストレージサービスの提供方法を実施するストレージシステムの作用（消去動作）の一例を示すフローチャートである。
【符号の説明】
１００…ストレージサブシステム、１１０…第１のストレージデバイス、１２０…第２のストレージデバイス、１３０…操作部、１４０…キャッシュメモリ、１５０…インタフェース部、１６０…ストレージコントローラ、１００Ａ…第１のストレージサブシステム、１１０ａ…ストレージデバイス、１０１…第２のストレージサブシステム、１１１…ストレージデバイス、１３１…操作部、１４１…キャッシュメモリ、１５１…インタフェース部、１６１…ストレージコントローラ、１７０…ネットワーク、１８０…ユーザ、１９０…ユーザ管理テーブル、Ｌ１…第１の上限、Ｌ２…第２の上限。
【図１】
0004128751.tif 000002
【図２】
0004128751.tif 000003
【図３】
0004128751.tif 000004
【図４】
0004128751.tif 000005
【図５】
0004128751.tif 000006
【図６】
0004128751.tif 000007
【図７】
0004128751.tif 000008
【図８】
0004128751.tif 000009
【図９】
0004128751.tif 000010
【図１０】
0004128751.tif 000011
【図１１】
0004128751.tif 000012
【図１２】
0004128751.tif 000013