(57)【要約】【課題】同一プロトコルを用いた異なるファイルアクセスのそれぞれに対する返信パケットのＱｏＳを独立に制御する。【解決手段】ストレージシステム１０は、ＮＡＳクライアント８０からのファイルアクセス要求を処理するプロトコル制御部２７と、ＮＡＳクライアント８０からのファイルアクセス要求に対する応答としてＮＡＳクライアント８０に返信される返信パケットに設定される優先度を、ＮＡＳクライアント８０がアクセスしたアクセス領域に予め設定されている優先度に基づいて計算する優先度計算部２３を備える。【選択図】図１
2007310772.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからのアクセス要求を処理するストレージシステムであって、
前記クライアントからのアクセス要求に対する応答として前記クライアントに返信される返信パケットに設定される優先度を、前記クライアントがアクセスしたアクセス領域に予め設定されている優先度に基づいて計算する優先度計算部を備える、ストレージシステム。
【請求項２】
クライアントからのアクセス要求を処理するストレージシステムであって、
前記クライアントからのアクセス要求に対する応答として前記クライアントに返信される返信パケットに設定される優先度を、前記ストレージシステムの状態情報に基づいて計算する優先度計算部を備える、ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記状態情報は、前記アクセス領域を提供するストレージデバイスの構成情報、前記ストレージシステムの負荷情報、前記ストレージシステムの障害情報のうち何れかの情報を含む、ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記優先度計算部は、前記ストレージシステムに障害が生じているときには、前記ストレージシステムに障害が生じてないときよりも、前記返信パケットの優先度を高く設定する、ストレージシステム。
【請求項５】
請求項３に記載のストレージシステムであって、
前記優先度計算部は、前記ストレージシステムに障害が生じているときには、前記ストレージシステムに障害が生じてないときよりも、前記返信パケットの優先度を低く設定する、ストレージシステム。
【請求項６】
クライアントからのアクセス要求を受信するステップと、
前記クライアントからのアクセス要求に対する応答として前記クライアントに返信される返信パケットに設定される優先度を、前記クライアントがアクセスしたアクセス領域に予め設定されている優先度に基づいて計算するステップと、
前記返信パケットを前記クライアントに返信するステップと、
を備える通信制御方法。
【請求項７】
請求項６に記載の通信制御方法であって、
前記返信パケットに設定される優先度を、前記ストレージシステムの状態情報に基づいて計算するステップを更に備える、通信制御方法。
【請求項８】
請求項７に記載の通信制御方法であって、
前記状態情報は、前記アクセス領域を提供するストレージデバイスの構成情報、前記ストレージシステムの負荷情報、前記ストレージシステムの障害情報のうち何れかの情報を含む、通信制御方法。
【請求項９】
請求項８に記載の通信制御方法であって、
前記ストレージシステムに障害が生じているときには、前記ストレージシステムに障害が生じてないときよりも、前記返信パケットの優先度を高く設定するステップを更に備える、通信制御方法。
【請求項１０】
請求項８に記載の通信制御方法であって、
前記ストレージシステムに障害が生じているときには、前記ストレージシステムに障害が生じてないときよりも、前記返信パケットの優先度を低く設定するステップを更に備える、通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステム及び通信制御方法に関し、特に、ストレージシステムからクライアントに送信されるパケットの送信優先制御に関する。
【背景技術】
【０００２】
大量のデータを管理するためのストレージシステムとして、ディスアレイシステムが用いられている。ディスクアレイシステムは、複数のディスクドライブをアレイ状に配設して構成されるもので、ＲＡＩＤ（Redundant Arrays of Independent Inexpensive Disks）構成された記憶資源をホスト計算機に提供する。ホスト計算機とディスクアレイシステムとの間のインタフェースとして、ＦＣ（Fibre Channel）プロトコル、ＳＣＳＩ（Small Computer System Interface）プロトコル、ｉＳＣＳＩ（internet SCSI）プロトコル、ＥＳＣＯＮ（Enterprise System Connection：登録商標）などのブロック単位でＩ／Ｏリクエストを処理するブロックＩ／Ｏインタフェースの他、ＮＦＳ（Network File System）プロトコル、ＣＩＦＳ（Common Interface File System）プロトコルなどのファイル単位でＩ／Ｏリクエストを処理するファイルＩ／Ｏインタフェースが用いられている。
【０００３】
近年、企業で取り扱うデータ容量の増加に伴い、ストレージシステムの利用形態も多様化しつつある。例えば、ＩＰネットワーク経由でＮＡＳクライアントからのファイルアクセスを受信し、ＮＡＳクライアントにファイルサービスを提供するＮＡＳ機能を搭載したストレージシステムが開発されている。ファイルサービス向上の観点から、ＩＰネットワークを流れるＩＰパケットの通信品質の向上が検討されている。例えば、特開２００２−２４４８９９号公報、及び特開２００５−３２３２４５号公報には、ＱｏＳ（Quality of Service）制御について言及されている。
【特許文献１】特開２００２−２４４８９９号公報
【特許文献２】特開２００５−３２３２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、従来では、プロトコル単位でのＱｏＳ制御が中心であった。例えば、ＮＦＳプロトコル、ＣＩＦＳプロトコル、ＮＦＳプロトコルのそれぞれに予め優先準位を設定しておいて、ＱｏＳ制御をしていた。このようなＱｏＳ制御では、例えば、ＮＦＳプロトコルに基づくファイルアクセスに対する返信パケットの優先度は、ＣＩＦＳプロトコルに基づくファイルアクセスに対する返信パケットの優先度よりも高く設定するということが可能である。
【０００５】
しかし、ＮＡＳサーバを用いたファイルサービスが提供されるようになると、同一プロトコルを用いた異なるファイルアクセスのそれぞれに対する返信パケットのＱｏＳを独立に制御する必要性が生じてきた。例えば、あるＮＡＳクライアントから重要度の高いフォルダへのアクセス要求に対する返信パケットに設定される優先度は、他のＮＡＳクライアントから重要度の低いフォルダへのアクセス要求に対する返信パケットに設定される優先度よりも高い方が望ましい。
【０００６】
そこで、本発明は同一プロトコルを用いた異なるアクセスのそれぞれに対する返信パケットのＱｏＳを独立に制御するストレージシステム及び通信制御方法を提案することを課題とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明のストレージシステムは、クライアントからのアクセス要求を処理するストレージシステムであって、クライアントからのアクセス要求に対する応答としてクライアントに返信される返信パケットに設定される優先度を、クライアントがアクセスしたアクセス領域に予め設定されている優先度に基づいて計算する優先度計算部を備える。
【０００８】
本発明の他の観点によるストレージシステムは、クライアントからのアクセス要求を処理するストレージシステムであって、クライアントからのアクセス要求に対する応答としてクライアントに返信される返信パケットに設定される優先度を、ストレージシステムの状態情報に基づいて計算する優先度計算部を備える。
【０００９】
ここで、状態情報は、アクセス領域を提供するストレージデバイスの構成情報、ストレージシステムの負荷情報、ストレージシステムの障害情報のうち何れかの情報を含む。
【００１０】
優先度計算部は、ストレージシステムに障害が生じているときには、ストレージシステムに障害が生じてないときよりも、返信パケットの優先度を低く設定してもよい。この計算方法は、ストレージシステムに障害が生じているときには、アクセスが遅延することを想定し、返信パケットの優先度を高くしても、その遅延分を補うことができないという運用方法に好適である。
【００１１】
優先度計算部は、ストレージシステムに障害が生じているときには、ストレージシステムに障害が生じてないときよりも、返信パケットの優先度を高く設定してもよい。この計算方法は、ストレージシステムに障害が生じているときには、返信パケットの優先度を高くしてアクセスの遅延を補うという運用方法に好適である。
【００１２】
本発明の通信制御方法は、クライアントからのアクセス要求を受信するステップと、クライアントからのアクセス要求に対する応答としてクライアントに返信される返信パケットに設定される優先度を、クライアントがアクセスしたアクセス領域に予め設定されている優先度に基づいて計算するステップと、返信パケットをクライアントに返信するステップと、を備える。
【発明の効果】
【００１３】
本発明によれば、同一プロトコルを用いた異なるアクセスのそれぞれに対する返信パケットのＱｏＳを独立に制御することができる。
【発明を実施するための最良の形態】
【００１４】
以下、各図を参照しながら本発明の実施形態について説明する。
図１は本実施形態に係るストレージシステム１０の機能ブロックを示す。ストレージシステム１０は、主に、ＮＡＳサーバ２０、及び記憶装置４０を備える。ＮＡＳサーバ２０は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）に基づいてデータ通信を行うＬＡＮ（Local Area Network）又はその他のＩＰ（Internet Protocol）ネットワーク上に配置されたＬＡＮスイッチ７０を介して一つ以上のＮＡＳクライアント８０に接続している。ＬＡＮスイッチ７０は、ＮＡＳクライアント８０とＮＡＳサーバ２０との間で送受信されるＩＰパケットをレイヤ３レベルでルーティング制御するＬ３スイッチである。Ｌ３スイッチに替えてＬ２スイッチを配置してもよい。
【００１５】
ＮＡＳクライアント８０は、ＮＦＳ、ＣＩＦＳ、ＦＴＰ等のファイル転送プロトコルに基づいて、ストレージシステム１０にファイルアクセス要求を行う。ＮＡＳクライアント８０は、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等である。
【００１６】
ＮＡＳサーバ２０は、ＮＡＳクライアント８０と記憶装置４０との間のデータ入出力を制御するアダプタとして機能する。ＮＡＳサーバ２０は、ＮＡＳクライアント８０から送信されるファイルアクセス要求を受信し、このファイルアクセス要求に応じたＩ／Ｏ要求を記憶装置４０に送信する。Ｉ／Ｏ要求には、ライトアクセス又はリードアクセス等を区別するアクセス種別が含まれる。例えば、ＮＡＳクライアント８０からライトアクセスが送信されると、ＮＡＳサーバ２０は、ＮＡＳクライアント８０から送信されたライトデータと、ライトアクセス種別とを含むＩ／Ｏ要求を記憶装置４０に送信する。また、ＮＡＳクライアント８０からリードアクセスが送信されると、ＮＡＳサーバ２０は、リードアクセス種別を含むＩ／Ｏ要求を記憶装置４０に送信し、記憶装置４０から取得したリードデータをファイル単位でＮＡＳクライアント８０に送信する。
【００１７】
ＮＡＳサーバ２０は、ＬＡＮポート２１、パケット処理部２２、優先度計算部２３、テーブル作成部２４、クライアント管理部２５、記憶装置管理部２６、プロトコル制御部２７、ファイルシステム制御部２８、インタフェース部２９、管理テーブル３０、及び優先度計算テーブル３１を備える。
【００１８】
ＬＡＮポート２１は、ＮＡＳクライアント８０とＮＡＳサーバ２０とを接続するための通信インタフェースとして機能する。
【００１９】
パケット処理部２２は、ＮＡＳクライアント８０からＮＡＳサーバ２０へ送信されるＩＰパケットを受信する処理と、ＮＡＳサーバ２０からＮＡＳクライアント８０へＩＰパケットを送信する処理とを実行する。
【００２０】
優先度計算部２３は、ＮＡＳサーバ２０からＮＡＳクライアント８０へ送信されるＩＰパケットの優先度を計算する。優先度計算処理（図１６参照）の詳細については、後述する。
【００２１】
テーブル作成部２４は、優先度計算テーブル３１を作成する。優先度計算テーブル３１（図９参照）及びその作成処理（図１０乃至図１５参照）の詳細については後述する。
【００２２】
クライアント管理部２５は、どのＮＡＳクライアント８０からファイルアクセスの要求を受けたかを管理する。
【００２３】
記憶装置管理部２６は、記憶装置４０の負荷情報及び障害情報等の情報を管理する。
【００２４】
プロトコル管理部２７は、ＮＦＳ、ＣＩＦＳ、ＦＴＰ等のファイル転送プロトコルの処理を行う。
【００２５】
ファイルシステム制御部２８は、フォルダと論理ユニットとの対応付けを管理する。
【００２６】
インタフェース部２９は、ＮＡＳサーバ２０と記憶装置４０との間のデータ通信を制御する。
【００２７】
管理テーブル３０（図８参照）の詳細については、後述する。
【００２８】
記憶装置４０は、主に、記憶制御装置５０、及び複数のストレージデバイス６０を備える。記憶制御装置５０は、ストレージデバイス６０をいわゆるＲＡＩＤ方式に規定されるＲＡＩＤレベル（例えば、０，１，４，５）で制御することができる。
【００２９】
記憶制御装置５０は、インタフェース部５１、状態監視部５２、リード／ライト処理部５３、ディスクキャッシュ５４、及びボリューム複製制御部５５を備える。
【００３０】
インタフェース部５１は、記憶装置４０とＮＡＳサーバ２０とを接続するための通信インタフェースとして機能する。
【００３１】
状態監視部５２は、記憶装置４０の障害情報及び負荷情報を管理する。障害情報として、ストレージデバイス６０の障害の有無、記憶制御装置５０の障害の有無、ディスクキャッシュ５４の障害の有無、クラスタフェールオーバの有無がある。負荷情報として、Ｉ／Ｏ処理に要するレスポンスタイム、コピー処理実行の有無、バックアップ処理実行の有無、ＣＰＵ使用率などがある。
【００３２】
リード／ライト処理部５３は、ストレージデバイス６０へのリード／ライト処理を制御する。
【００３３】
ディスクキャッシュ５４は、ストレージデバイス６０に読み書きされるデータを一時的に格納するためのキャッシュメモリである。
【００３４】
ボリューム複製制御部５５は、ボリュームの複製処理、及びバックアップ処理を制御する。
【００３５】
ストレージデバイス６０は、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、フラッシュメモリ、光ディスクドライブ等の物理デバイスである。ハードディスクドライブとして、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Attached Technology Adapted）ディスクドライブ、ＳＣＳＩ（Small Computer System Interface）ディスクドライブなどを用いることができる。
【００３６】
尚、ストレージシステム１０がｉＳＣＳＩサーバを備えている場合には、ＮＡＳクライアント８０に替えて、ストレージシステム１０は、ｉＳＣＳＩクライアントからのブロックアクセス要求を受け付けることも可能である。
【００３７】
図２はストレージシステム１０の記憶階層を示している。図１に示した符号と同一符号のデバイス等は同一のデバイス等を示すものとして、その詳細な説明を省略する。
【００３８】
ＲＡＩＤグループ６１は、例えば、４つのストレージデバイス６０を一組としてグループ化することにより（３Ｄ＋１Ｐ）、或いは８つのストレージデバイス６０を一組としてグループ化することにより（７Ｄ＋１Ｐ）、構成される。即ち、複数のストレージデバイス６０のそれぞれが提供する記憶領域が集合して一つのＲＡＩＤグループ６１が構成される。ＲＡＩＤグループ６１は、パリティグループ或いはＥＣＣグループと別称することもできる。
【００３９】
一つのＲＡＩＤグループ６１を複数に分割することにより、複数の論理デバイス６２を形成することもできるし、或いは複数のＲＡＩＤグループ６１を集めて一つの論理デバイス６２を形成することもできる。
【００４０】
各々のＬＡＮポート２１には、一つ以上の論理ユニット６３がアサインされる。論理ユニット６３は、ＮＡＳクライアント８０が認識する論理的な記憶単位である。例えば、ＮＡＳクライアント８０がＵＮＩＸ（登録商標）系のシステムである場合には、論理ユニット６３は、デバイスファイル（Device File）に対応付けられる。ＮＡＳクライアント８０がＷｉｎｄｏｗｓ（登録商標）系のシステムである場合には、論理ユニット６３は、ドライブレター（ドライブ名）に対応付けられる。各々の論理ユニット６３には、ＬＵＮ（Logical Unit Number）がアサインされる。
【００４１】
各々の論理ユニット６３には、単一又は複数の論理デバイス６２がマッピングされる。ＮＡＳクライアント８０がオープン系システムの場合、ＮＡＳクライアント８０は、論理デバイス６２を一つの物理的なデバイスとして認識し、ＬＵＮや論理ブロックアドレスを指定することにより、所望の論理デバイス６２にアクセスする。ＮＡＳクライアント８０がメインフレーム系システムの場合、ＮＡＳクライアント８０は、論理デバイス６２を直接認識する。
【００４２】
図３はＮＡＳクライアント８０とＮＡＳサーバ２０との間で送受信されるＩＰｖ４パケットフォーマットを示す。ＩＰｖ４パケットは、バージョン番号フィールド（４ビット）、ヘッダ長フィールド（４ビット）、ＴｏＳ（Time of Service）フィールド（８ビット）、パケット長フィールド（１６ビット）、識別子フィールド（１６ビット）、フラグフィールド（３ビット）、フラグメントオフセットフィールド（１３ビット）、ＴＴＬ（Time to live）フィールド（８ビット）、プロトコル番号フィールド（８ビット）、ヘッダチェックサムフィールド（１６ビット）、送信元ＩＰアドレス（３２ビット）、宛先ＩＰアドレス（３２ビット）、オプションフィールド（３２×ｎビット）、パディング（可変長ビット）、及びデータ本体を含む。
【００４３】
ＩＰｖ４パケット内のデータ本体には、アクセス領域を特定する情報及びアクセスコマンド（リードコマンド又はライトコマンド）が格納されている。ＴｏＳフィールドには、ＩＰパケットをレイヤ３レベルで優先制御するために用いられるＴｏＳ値として、例えば、図４に示すような３ビットの値を有するPrecedence値、又は図５に示すような６ビットの値を有するＤＳＣＰ（Differentiated Services Codepoint）値が格納されている。
【００４４】
尚、ＮＡＳクライアント８０とＮＡＳサーバ２０との間で送受信されるＩＰパケットのプロトコルバージョンは、バージョン４に限られるものではなく、ＩＰパケットをＱｏＳ制御できるものであればよい。例えば、バージョン６であってもよい。
【００４５】
図６はＮＡＳクライアント８０とＮＡＳサーバ２０との間で送受信されるＭＡＣ（Media Access Control）フレームフォーマットを示す。ＭＡＣフレームは、宛先ＭＡＣアドレス（６バイト）、送信元ＭＡＣアドレス（６バイト）、ＶＬＡＮ（Virtual Local Area Network）タグフィールド（４バイト）、タイプ／長さフィールド（２バイト）、データ（４６〜１５００バイト）、ＦＣＳ（Frame Check Sequence）フィールド（４バイト）を含む。
【００４６】
データフィールドには、上述したＩＰｖ４パケットが含まれる。ＶＬＡＮタグフィールドは、ＮＡＳクライアント８０とＮＡＳサーバ２０とを接続するＩＰネットワークにＶＬＡＮが適用される場合に、ＭＡＣフレームに付加されるオプションフィールドである。ＶＬＡＮとは、一つのスイッチングハブの各ポート（又はＭＡＣアドレス）をグループ分けし、それぞれのグループを独立したＬＡＮ（ブロードキャスト・ドメイン）として機能させるネットワークである。
【００４７】
ＶＬＡＮタグフィールドには、ＴＰＩＤ（Tag Protocol Identifier）フィールド、及びタグ制御情報フィールドが格納される。タグ制御情報フィールドには、ＣｏＳ（Class of Service）値、ＣＦＩ（Canonical Format Indicator）、ＶＬＡＮ ＩＤが格納される。ＣｏＳ値は、ＭＡＣフレームをレイヤ２レベルで優先制御するために用いられる情報であり、図７に示すような３ビットの値を有する。
【００４８】
図８は管理テーブル３０のテーブル構造を示す。管理テーブル３０は、ＮＡＳクライアント８０からアクセスされるそれぞれの記憶領域（以下、アクセス領域と称する。）に対応付けられる一つ以上のエントリを保持する。アクセス領域は、ＮＡＳクライアント８０が認識する論理的な記憶領域の単位であり、例えば、フォルダ又は論理ボリュームである。各エントリは、“＃”、“アクセス領域”、“ＬＵ”、“ＲＡＩＤグループ”、“優先度”、“プロトコル”、“ＱｏＳ制御”、“構成情報”、“監視パラメータ”、“障害情報”、及び“負荷情報”を対応付けている。
【００４９】
“＃”の欄には、各エントリを識別する番号が格納される。“アクセス領域”の欄には、アクセス領域に対応するフォルダ名又はボリューム名が格納される。“ＬＵ”の欄には、アクセス領域を提供する論理ユニットの番号（ＬＵＮ）が格納される。“ＲＡＩＤグループ”の欄には、アクセス領域が属するＲＡＩＤグループの番号が格納される。“優先度”の欄には、アクセス領域に設定されている優先度が格納される。アクセス領域に優先度が設定されていない場合には、“無し”のステータスが格納される。“プロトコル”の欄には、ＱｏＳ制御を実行する通信プロトコルの名称が格納されている。同図に示す例では、ＮＡＳクライアント８０がＮＦＳ又はＣＩＦＳのプロトコルでフォルダ１にアクセスするときにＱｏＳ制御を実行することを示す。
【００５０】
“ＱｏＳ制御”の欄には、ＴｏＳ値（Precedence値又はＤＳＣＰ値）又はＣｏＳ値のうち何れの情報を用いてＱｏＳ制御をするかを示す情報が格納される。同図に示す例では、ＮＡＳクライアント８０がボリューム２にアクセスするときには、Precedence値を用いてＱｏＳ制御を実行することを示す。“構成情報”の欄には、“ＲＡＩＤレベル”、“デバイスタイプ”が格納される。“ＲＡＩＤレベル”の欄には、アクセス領域が属するＲＡＩＤグループのＲＡＩＤレベルが格納される。“デバイスタイプ”の欄には、ストレージデバイス６０の種別が格納される。例えば、ストレージデバイス６０がハードディスクである場合、“デバイスタイプ”の欄には、ストレージデバイス６０がＦＣディスクであるのか又はＳＡＴＡディスクであるのかを示す情報が格納される。
【００５１】
“監視パラメータ”の欄には、後述する負荷情報（レスポンスタイム、レプリケーション実行の有無、ＣＰＵ使用率、バックアップ実行の有無）のうちどの情報を用いてＱｏＳ制御を実行するのかを示す情報が格納される。同図に示す例では、ＮＡＳクライアント８０がボリューム３にアクセスするときには、レプリケーションの実行の有無を負荷情報としてＱｏＳ制御を実行することを示す。
【００５２】
“障害情報”の欄には、“デバイス障害”、“コントローラ障害”、“キャッシュ障害”、“クラスタフェールオーバ”が格納される。“デバイス障害”の欄には、ストレージデバイス６０に障害が生じているか否かを示す情報が格納される。“コントローラ障害”の欄には、記憶制御装置５０に障害が生じているか否かを示す情報が格納される。“キャッシュ障害”の欄には、ディスクキャッシュ５４に障害が生じているか否かを示す情報が格納される。“クラスタフェールオーバ”の欄には、クラスタフェールオーバが生じているか否かを示す情報が格納される。
【００５３】
“負荷情報”の欄には、“レスポンス”、“レプリケーション実行”、“ＣＰＵ使用率”、“バックアップ実行”が格納される。“レスポンス”の欄には、ＮＡＳクライアント８０からのファイルアクセス要求に対するストレージシステム１０のレスポンスタイムが格納される。“レプリケーション実行”の欄には、記憶装置４０がボリュームのレプリケーション処理を実行しているか否かを示す情報が格納される。“ＣＰＵ使用率”には、記憶制御装置５０のＣＰＵ使用率が格納される。“バックアップ実行”の欄には、記憶装置４０がボリュームのバックアップ処理を実行しているか否かを示す情報が格納される。
【００５４】
図９は優先度計算テーブル３１のテーブル構造を示す。優先度計算テーブル３１は、ＮＡＳクライアント８０からのファイルアクセス要求に対してＮＡＳサーバ２０がＮＡＳクライアント８０に返信するＩＰパケットに設定される優先度を計算するための情報を格納する。優先度計算テーブル３１は、ＮＡＳクライアント８０からアクセスされるそれぞれのアクセス領域に対応付けられる一つ以上のエントリを保持する。各エントリは、“送信元アドレス”、“ＴｏＳ値／ＣｏＳ値”、“優先度”、“構成情報”、“障害情報”、“負荷情報”を対応付ける。
【００５５】
“送信元アドレス”の欄には、ＮＡＳクライアント８０からのファイルアクセス要求に対する応答として、ＩＰパケットを返送する宛先（要求元のＮＡＳクライアント８０のＩＰアドレス又はＭＡＣアドレス）が格納される。
【００５６】
ＮＡＳサーバ２０からＮＡＳクライアント８０に送信されるＩＰパケットに設定される優先度を、ＴｏＳ値を用いて計算する場合には、“ＴｏＳ値／ＣｏＳ値”の欄には、ＮＡＳクライアント８０からＮＡＳサーバ２０にファイルアクセス要求として送信されるＩＰパケットに設定されているＴｏＳ値が格納される。一方、ＮＡＳサーバ２０からＮＡＳクライアント８０に送信されるＭＡＣフレームに設定される優先度を、ＣｏＳ値を用いて計算する場合には、“ＴｏＳ値／ＣｏＳ値”の欄には、ＮＡＳクライアント８０からＮＡＳサーバ２０にファイルアクセス要求として送信されるＭＡＣフレームに設定されているＣｏＳ値が格納される。
【００５７】
“優先度”の欄には、ＮＡＳクライアント８０からファイルアクセス要求されるアクセス領域に設定されている優先度が格納される。“構成情報”の欄、“障害情報”の欄、“負荷情報”の欄にそれぞれ格納される情報は、上述した構成情報、障害情報、負荷情報と同じなので、詳細な説明は省略する。
【００５８】
次に、図１０乃至図１５を参照しながら優先度計算テーブル３１の作成処理について説明する。
【００５９】
図１０はＴｏＳ値記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からＩＰパケットを受信すると（ステップ１００１）、パケットヘッダを解析し（ステップ１００２）、パケットヘッダにＴｏＳ値が設定されているか否かを判定する（ステップ１００３）。
【００６０】
パケットヘッダにＴｏＳ値が設定されているならば（ステップ１００３；ＹＥＳ）、テーブル作成部２４は、ＴｏＳ値と送信元アドレス（ＮＡＳクライアント８０のネットワークアドレス）とを優先度計算テーブル３１に記録する（ステップ１００４）。
【００６１】
一方、パケットヘッダにＴｏＳ値が設定されてないならば（ステップ１００３；ＮＯ）、テーブル作成部２４は、ＴｏＳ値が設定されていないことを示すステータスを優先度計算テーブル３１に記録する（ステップ１００５）。
【００６２】
図１１はＣｏＳ値記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からＭＡＣフレームを受信すると（ステップ１１０１）、フレームヘッダを解析し（ステップ１１０２）、フレームヘッダにＣｏＳ値が設定されているか否かを判定する（ステップ１１０３）。
【００６３】
フレームヘッダにＣｏＳ値が設定されているならば（ステップ１１０３；ＹＥＳ）、テーブル作成部２４は、ＣｏＳ値と送信元アドレス（ＮＡＳクライアント８０のネットワークアドレス）とを優先度計算テーブル３１に記録する（ステップ１１０４）。
【００６４】
一方、フレームヘッダにＣｏＳ値が設定されてないならば（ステップ１１０３；ＮＯ）、テーブル作成部２４は、ＣｏＳ値が設定されていないことを示すステータスを優先度計算テーブル３１に記録する（ステップ１１０５）
【００６５】
図１２は優先度記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からファイルアクセスが要求されているアクセス領域を特定し（ステップ１２０１）、管理テーブル３０を参照して、そのアクセス領域に優先度が設定されているか否かを判定する（ステップ１２０２）。
【００６６】
アクセス領域に優先度が設定されているならば（ステップ１２０２；ＹＥＳ）、テーブル作成部２４は、アクセス領域に設定されている優先度を記録する（ステップ１２０３）。
【００６７】
一方、アクセス領域に優先度が設定されてないならば（ステップ１２０２；ＮＯ）、テーブル作成部２４は、アクセス領域に優先度が設定されてないことを示すステータスを優先度計算テーブル３１に記録する（ステップ１２０４）。
【００６８】
図１３は構成情報記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からファイルアクセスが要求されているアクセス領域を特定し（ステップ１３０１）、管理テーブル３０を参照して、そのアクセス領域が属するＲＡＩＤグループのＲＡＩＤレベルを優先度計算テーブル３１に記録し（ステップ１３０２）、そのアクセス領域を提供するストレージデバイス６０のデバイスタイプを優先度計算テーブル３１に記録する（ステップ１３０３）。
【００６９】
図１４は障害情報記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からファイルアクセスが要求されているアクセス領域を特定し（ステップ１４０１）、管理テーブル３０を参照して、そのアクセス領域に関する障害（デバイス障害、コントローラ障害、キャッシュ障害及びクラスタフェールオーバ）が生じているか否かを判定する（ステップ１４０２）。
【００７０】
アクセス領域に関する障害が生じていれば（ステップ１４０２；ＹＥＳ）、テーブル作成部２４は障害が生じていることを示すステータスを優先度計算テーブル３１に記録する（ステップ１４０３）。
【００７１】
一方、アクセス領域に関する障害が生じてないならば（ステップ１４０２；ＮＯ）、テーブル作成部２４は、障害が生じてないことを示すステータスを優先度計算テーブル３１に記録する（ステップ１４０４）。
【００７２】
図１５は負荷情報記録処理ルーチンを示す。テーブル作成部２４は、ＮＡＳクライアント８０からファイルアクセスが要求されているアクセス領域を特定し（ステップ１５０１）、管理テーブル３０を参照して、そのアクセス領域に関するレプリケーション実行の有無又はバックアップ実行の有無を優先度計算テーブル３１に記録する（ステップ１５０２）。
【００７３】
そして、テーブル作成部２４は、アクセス領域に関するレスポンスタイムを優先度計算テーブル３１に記録し（ステップ１５０３）、アクセス領域に関するＣＰＵ使用率を優先度計算テーブル３１に記録する（ステップ１５０４）。
【００７４】
次に、図１６を参照しながら優先度計算処理について説明する。優先度計算部２３は、ＮＡＳクライアント８０からのファイルアクセス要求に対する応答として、ＮＡＳサーバ２０からＮＡＳクライアント８０に返送されるＩＰパケット（以下、返信パケットと称する。）に設定されるＴｏＳ値（又はＭＡＣフレームに設定されるＣｏＳ値）を、優先度計算テーブル３１に記録された情報を用いて計算する。
【００７５】
優先度計算部２３は、優先度計算テーブル３１を参照し（ステップ１６０１）、アクセス領域に設定されている優先度、及び記憶装置４０の状態情報の両方ともステータスなしが記録されているか否かを判定する（ステップ１６０２）。記憶装置４０の状態情報は、構成情報（ＲＡＩＤレベル、デバイスタイプ）、障害情報（デバイス障害、コントローラ障害、キャッシュ障害、クラスタフェールオーバ）、及び負荷情報（レスポンスタイム、レプリケーション実行、ＣＰＵ使用率、バックアップ実行）を総称するものである。
【００７６】
優先度及び状態情報のうち何れかにステータスありが記録されている場合には（ステップ１６０２；ＮＯ）、優先度計算部２３は、ＮＡＳクライアント８０から受信したＩＰパケットに設定されているＴｏＳ値（又はＭＡＣフレームに設定されているＣｏＳ値）と、アクセス領域に設定されている優先度と、記憶装置４０の状態情報とを基に返信パケットに設定されるＴｏＳ値（又はＣｏＳ値）を計算する（ステップ１６０３）。返信パケットに設定される優先度の計算方法については、後述する。
【００７７】
一方、優先度及び状態情報の両方ともステータスなしが記録されている場合には（ステップ１６０２；ＹＥＳ）、優先度計算部２３は、ＮＡＳクライアント８０から受信したＩＰパケットに設定されているＴｏＳ値（又はＭＡＣフレームに設定されているＣｏＳ値）と同じ値を返信パケットの優先度として設定する（ステップ１６０４）。
【００７８】
次に、返信パケットに設定される優先度の計算方法について説明する。
説明の便宜上、優先度を以下のように定義する。
（１）優先度は、その値が小さい程、優先度が高いものとする。
（２）優先度の値は、１以上の自然数とする。
上記の定義によれば、優先度「１」が最優先となる。但し、上記の定義は、あくまでも便宜上のものであって、本実施形態は上記の定義に限られるものではない。
【００７９】
ここで、ＮＡＳサーバ２０からＮＡＳクライアント８０に送信される返信パケットの優先度（ＴｏＳ値又はＣｏＳ値）をＰ１、ＮＡＳサーバ２０がＮＡＳクライアント８０から受信するＩＰパケットの優先度（優先度計算テーブル３１に記録されているＴｏＳ値又はＣｏＳ値）をＰ２、ファイルアクセスが要求されているアクセス領域に設定されている優先度（優先度計算テーブル３１に記録されている優先度）をＰ３、記憶装置４０の状態情報（優先度計算テーブル３１に記録されている構成情報、障害情報、及び負荷情報）をＰ４とすると、Ｐ１は以下の計算式に基づいて計算される。
Ｐ１＝Ｋ１×Ｐ２×Ｌ１×Ｐ３×Ｍ１×Ｐ４
ここで、Ｋ１，Ｌ１，Ｍ１は、重み係数であり、１以上の自然数の値をとる。例えば、Ｐ１を計算する上で、アクセス領域に設定されている優先度Ｐ３を重視する場合には、Ｌ１の値をＫ１，Ｍ１の値よりも大きく設定すればよい。また、Ｐ１の値として、ＴｏＳ値とＣｏＳ値のうち何れの情報を採用するのかは、管理テーブル３０の“ＱｏＳ制御”の欄に格納されている情報に基づいて決定される。
【００８０】
また、構成情報をＰ５、障害情報をＰ６、負荷情報をＰ７とすると、Ｐ４は以下の計算式に基づいて計算される。
Ｐ４＝Ｋ２×Ｐ５×Ｌ２×Ｐ６×Ｍ２×Ｐ７
ここで、Ｋ２，Ｌ２，Ｍ２は、重み係数であり、１以上の自然数の値をとる。例えば、Ｐ４を計算する上で、障害情報Ｐ６を重視する場合には、Ｌ２の値をＫ２，Ｍ２の値よりも大きく設定すればよい。
【００８１】
構成情報Ｐ５の値は、以下のようにして計算する。
Ｐ５＝［ＲＡＩＤレベル］×［デバイスタイプ］
［ＲＡＩＤレベル］＝１  ：ＲＡＩＤ０
［ＲＡＩＤレベル］＝２  ：ＲＡＩＤ０／１
［ＲＡＩＤレベル］＝３  ：ＲＡＩＤ１
［ＲＡＩＤレベル］＝４  ：ＲＡＩＤ５
［ＲＡＩＤレベル］＝５  ：ＲＡＩＤ６
［デバイスタイプ］＝１  ：ＦＣディスク
［デバイスタイプ］＝３  ：ＳＡＴＡディスク
【００８２】
障害情報Ｐ６の値は、以下のようにして計算する。
Ｐ６＝［デバイス障害］×［コントローラ障害］×［キャッシュ障害］×［クラスタフェールオーバ］
［デバイス障害］＝１  ：デバイス障害無し
［デバイス障害］＝５  ：デバイス障害有り
［コントローラ障害］＝１  ：コントローラ障害無し
［コントローラ障害］＝５  ：コントローラ障害有り
［キャッシュ障害］＝１  ：キャッシュ障害無し
［キャッシュ障害］＝５  ：キャッシュ障害有り
［クラスタフェールオーバ］＝１  ：クラスタフェールオーバ無し
［クラスタフェールオーバ］＝５  ：クラスタフェールオーバ有り
【００８３】
負荷情報Ｐ７の値は、管理テーブル３０に格納されている監視パラメータで指定されているものを選択し、以下のようにして求める。
Ｐ７＝１  ：レプリケーション実行無し
Ｐ７＝２  ：レプリケーション実行有り
Ｐ７＝１  ：バックアップ実行無し
Ｐ７＝２  ：バックアップ実行有り
Ｐ７＝１  ：レスポンスタイム７ｍＳ以上
Ｐ７＝２  ：レスポンスタイム７ｍＳ未満
Ｐ７＝１  ：ＣＰＵ使用率５０％以上
Ｐ７＝２  ：ＣＰＵ使用率５０％未満
例えば、ボリューム２に設定されている監視パラメータは、レスポンスタイムなので、Ｐ７＝１となる。
【００８４】
尚、上記の計算方法は、記憶装置４０に障害が生じているときには、ファイルアクセスが遅延することを想定し、返信パケットの優先度を高くしても、その遅延分を補うことができないことに着目して、返信パケットの優先度を低くするという運用方法に立脚している。但し、記憶装置４０に障害が生じているときには、返信パケットの優先度を高くしてファイルアクセスの遅延を補うという運用方法も考えられる。かかる運用方法では、障害情報Ｐ６の値は、以下のようにして計算する。
Ｐ６＝［デバイス障害］×［コントローラ障害］×［キャッシュ障害］×［クラスタフェールオーバ］
［デバイス障害］＝５  ：デバイス障害無し
［デバイス障害］＝１  ：デバイス障害有り
［コントローラ障害］＝５  ：コントローラ障害無し
［コントローラ障害］＝１  ：コントローラ障害有り
［キャッシュ障害］＝５  ：キャッシュ障害無し
［キャッシュ障害］＝１  ：キャッシュ障害有り
［クラスタフェールオーバ］＝５  ：クラスタフェールオーバ無し
［クラスタフェールオーバ］＝１  ：クラスタフェールオーバ有り
【００８５】
尚、上記の計算式に基づいて、返信パケットの優先度の値を設定し直すタイミングとしては、１パケット単位であってもよく、或いは１ファイル単位（又は１セッション単位）であってもよい。１パケット単位でＱｏＳ制御すると、その時々の状況に応じた適切なＱｏＳ制御が可能になる。１ファイル単位でＱｏＳ制御すると、ＱｏＳ制御が簡易になり、ＮＡＳサーバ２０の負荷を低減できる。
【図面の簡単な説明】
【００８６】
【図１】本実施形態に係るストレージシステムの機能ブロック図である。
【図２】ストレージシステムの記憶階層の説明図である。
【図３】ＩＰｖ４パケットフォーマットの説明図である。
【図４】Precedence値の説明図である。
【図５】ＤＳＣＰ値の説明図である。
【図６】ＭＡＣフレームフォーマットの説明図である。
【図７】ＣｏＳ値の説明図である。
【図８】管理テーブルの説明図である。
【図９】優先度計算テーブルの説明図である。
【図１０】ＴｏＳ値記録処理ルーチンを示すフローチャートである。
【図１１】ＣｏＳ値記録処理ルーチンを示すフローチャートである。
【図１２】優先度記録処理ルーチンを示すフローチャートである。
【図１３】構成情報記録処理ルーチンを示すフローチャートである。
【図１４】障害情報記録処理ルーチンを示すフローチャートである。
【図１５】負荷情報記録処理ルーチンを示すフローチャートである。
【図１６】優先度計算処理ルーチンを示すフローチャートである。
【符号の説明】
【００８７】
１０…ストレージシステム  ２０…ＮＡＳサーバ  ２３…優先度計算部  ２４…テーブル作成部  ３０…管理テーブル  ３１…優先度計算テーブル  ４０…記憶装置  ５０…記憶制御装置  ６０…ストレージデバイス  ７０…ＬＡＮスイッチ  ８０…ＮＡＳクライアント
【図１】
2007310772.tif 000003
【図２】
2007310772.tif 000004
【図３】
2007310772.tif 000005
【図４】
2007310772.tif 000006
【図５】
2007310772.tif 000007
【図６】
2007310772.tif 000008
【図７】
2007310772.tif 000009
【図８】
2007310772.tif 000010
【図９】
2007310772.tif 000011
【図１０】
2007310772.tif 000012
【図１１】
2007310772.tif 000013
【図１２】
2007310772.tif 000014
【図１３】
2007310772.tif 000015
【図１４】
2007310772.tif 000016
【図１５】
2007310772.tif 000017
【図１６】
2007310772.tif 000018