(57)【要約】本発明は、ポリシーに従うストレージネットワーク内の選択的移動を提供する。そのポリシーは、ファイル属性（例えば、ファイル形式、ファイルサイズ、最終アクセス時間、アクセス頻度）に基づいて、どのオブジェクトをソースファイルサーバから目的ファイルサーバに移動させるかを確立するルールを含むことができる。例えば、事業生産性に付加価値を加えることなく、高価なまたは重要なファイルサーバにおいてＩ／Ｏ帯域幅を浪費する大きなマルチメディアファイルを商品ファイルサーバまたはそれほど重要でないファイルサーバに移動させることができる。【選択図】図６
2008515120.tif 000002
【特許請求の範囲】
【請求項１】
ストレージネットワーク内のオブジェクトを選択的に移動させる方法であって、
前記ストレージネットワーク内のオブジェクトを格納するためのルールを含むポリシーを受信する工程と、
前記ストレージネットワーク内のソースファイルサーバにおいてツリー構造に格納されたオブジェクトを詳しく検討する工程と、
前記ツリー構造の代表的なレコードをポリシーデータベースに投入する工程と、
前記オブジェクトに関連したトランザクションを反映するために、前記ポリシーデータベースを更新する工程と、
どのオブジェクトを移動させるかを決定するために、前記ポリシーデータベース内のレコードに対して前記ルールを実行する工程と、
前記ソースファイルサーバ上の位置から目的ファイルサーバ上の位置に前記オブジェクトを移動させる工程と、
を有することを特徴とする方法。
【請求項２】
ストレージネットワーク内のオブジェクトにアクセスする方法であって、
ソースファイルサーバにおける前記オブジェクトの位置を含むＮＡＳ（ネットワーク接続ストレージ）ファイルハンドルを受信する工程と、
前記オブジェクトの位置から独立したスイッチファイルハンドルを前記オブジェクトの代表として送信する工程と、
前記ストレージネットワーク内にオブジェクトを格納するためのルールを含むポリシーに従って、前記ソースファイルサーバ上の位置から目的ファイルサーバ上の位置に前記オブジェクトを選択的に移動させる工程と、
前記スイッチファイルハンドルに関連したアクセスリクエストを受信する工程と、
前記目的ファイルサーバ上の位置に前記アクセスリクエストを送信する工程と、
を有することを特徴とする方法。
【請求項３】
請求項２に記載の方法において、
前記オブジェクトは、サブディレクトリおよびファイルを代表したオブジェクトを有するディレクトリを含むことを特徴とする方法。
【請求項４】
請求項２に記載の方法において、
前記オブジェクトがファイルを含むことを特徴とする方法。
【請求項５】
請求項２に記載の方法において、
前記オブジェクトを選択的に移動させる工程は、前記オブジェクトに関連したデータを移動させる工程を含むことを特徴とする方法。
【請求項６】
請求項２に記載の方法において、
前記ＮＡＳファイルハンドルは、ＮＦＳ（ネットワークファイルシステム）ファイルハンドルおよびＣＩＦＳ（共通インターネットファイルシステム）ファイルハンドルから構成される一群からの一つを含むことを特徴とする方法。
【請求項７】
ストレージネットワーク内のオブジェクトを選択的に移動させる方法のために、その上に具体化されたコンピュータプログラム命令およびデータを有するコンピュータ読み取り可能な媒体を含むコンピュータプログラムプロダクトであって、
前記方法は、
前記ストレージネットワーク内のオブジェクトを格納するためのルールを含むポリシーを受信する工程と、
前記ストレージネットワーク内のソースファイルサーバにおいてツリー構造に格納されたオブジェクトを詳しく検討する工程と、
前記ツリー構造の代表的なレコードをポリシーデータベースに投入する工程と、
前記オブジェクトに関連したトランザクションを反映するために、前記ポリシーデータベースを更新する工程と、
どのオブジェクトを移動させるかを決定するために、前記ポリシーデータベース内のレコードに対して前記ルールを実行する工程と、
前記ソースファイルサーバ上の位置から目的ファイルサーバ上の位置に前記オブジェクトを移動させる工程と、
を有することを特徴とするコンピュータプログラムプロダクト。
【請求項８】
ストレージネットワーク内のオブジェクトを選択的に移動させるＮＡＳ（ネットワーク接続ストレージ）スイッチであって、
前記ストレージネットワーク内のオブジェクトを格納するためのルールを含むポリシーを受信するポリシーモジュールと、
前記ストレージネットワーク内のソースファイルサーバにおいてツリー構造に格納されたオブジェクトを詳しく検討し、前記ツリー構造のファイルシステムを代表したレコードを生成するレコードレポジトリと、
前記オブジェクトに関連したトランザクションを反映するために、前記レコードレポジトリを更新するモニタリングモジュールと、
前記ソースファイルサーバ上の位置から目的ファイルサーバ上の位置に前記決定されたオブジェクトを移動させる移動エンジンとを備え、
前記ポリシーモジュールは、どのオブジェクトを移動させるかを決定ために、ポリシーデータベース内のレコードに対して前記ルールを実行することを特徴とするＮＡＳ（ネットワーク接続ストレージ）スイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にストレージネットワークに関し、より具体的には、ストレージネットワークにおける選択的ファイル移動に関する。
【０００２】
本出願は、Thomas K. Wong他による「内蔵アクセス頻度／ファイル属性蓄積を有するレイヤー７ネットワーク接続ストレージ（ＮＡＳ）プロトコルスイッチおよび貯蔵ポリシーモニタ」という表題の２００４年９月３０日に出願された米国仮出願第６０／６１５，００２号についての米国特許法第１１９条（ｅ）項に規定する優先権を主張する。
【背景技術】
【０００３】
コンピュータネットワークにおいて、ネットワークに直接接続されたＮＡＳ（ネットワーク接続ストレージ）ファイルサーバは、ストレージネットワークのための安価で容易に構成可能なソリューションを提供する。これらのＮＡＳファイルサーバは、あらゆるオペレーティングシステムを実行するクライアントとオープンプロトコルを利用する通信との相互運用を可能とするファイルシステムを含むものである。そのため、ＮＡＳファイルサーバは自己完結型である。ＮＡＳファイルサーバ上のファイルにアクセスするために、例えば、ＵＮＩＸベースのクライアントは、カリフォルニア州サンタクララのサンマイクロシステムズによるＮＦＳ（ネットワークファイルシステム）プロトコルを利用することができ、Ｗｉｎｄｏｗｓベースのクライアントは、ワシントン州レドモンドのマイクロソフトコーポレーションによるＣＩＦＳ（共通ネットワークファイルシステム）を利用することができる。しかしながら、オペレーティングシステムはクライアント−ファイルサーバ間の通信に影響を及ぼさない。そこで、ＮＡＳファイルサーバは、本来のユニバーサルファイルアクセスを提供するものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、より高価で強力なＳＡＮ（ストレージエリアネットワーク）ファイルサーバは、バックエンドにおけるファイバチャネルあるいは専用のネットワークにより接続されるリソースを利用するものである。ＳＡＮファイルシステムは、オペレーティングシステムの一部であるか、クライアントで実行するアプリケーションである。しかし、異種のクライアントのオペレーティングシステムでは、ＳＡＮファイルサーバ上の互換性を確保するために、ストレージネットワークに格納されるべき各ファイルの追加のコピーが必要である。さらに、ＳＡＮにおけるファイルサーバ間の通信は専有のプロトコルを使用するので、一般的に共通のベンダーにより提供されるものである。その結果、価格と使いやすさが主要な検討事項であるときＮＡＳファイルサーバが好ましい。しかしながら、ＳＡＮストレージネットワークに対してＮＡＳストレージネットワークの利益にも欠点を有している。
【０００５】
ＮＡＳファイルサーバの欠点の一つは、集中制御がないことである。したがって、各クライアントは、各ＮＦＳファイルサーバとの間で個別に通信チャネルを維持しなければならない。ＮＡＳファイルサーバがストレージネットワークに追加され、あるいは切り離されると、各クライアントは、必要に応じて関連付けられたストレージリソースのディレクトリをマウントし、あるいはアンマウントしなければならない。特に、ハードウェアは変更されたが、ネットワーク上で利用可能な特定のファイルには変更がない場合（例えば、故障したＮＡＳファイルサーバが同等に構成されたバックアップＮＡＳファイルサーバに交換される場合）、このことは非効率的である。
【０００６】
関連した欠点は、ストレージネットワーク内でファイルを移動させるたびに（例えば、ファイル移動中やファイル複製中に）クライアントが再構成されなければならないことである。クライアントは、ファイルサーバ上のディレクトリまたはファイルオブジェクトの物理的位置を特定するＮＡＳファイルハンドルを作成する。そのオブジェクトにアクセスするために、クライアントは、ＮＡＳファイルサーバに直接オブジェクトアクセスリクエストを送信する。ファイルが異なるＮＡＳファイルサーバに移動されると、ファイルへアクセスするための次のリクエストは、そのファイルを位置し、新しいＮＡＳファイルハンドルを作成するための新しい検索を必要とする。
【０００７】
別の欠点は、ＮＡＳファイルサーバがファイル操作およびアクセスに関連した入出力リクエストを取り扱うことで浪費し得ることである。その結果、クエリ等の追加の処理タスクにより、ＮＡＳファイルサーバには過度の負荷がかかってしまう。ファイルサーバは、一般に、クエリにより要求された情報の検索においてツリー構造のディレクトリツリーを見回る。そして、複数のファイルシステムがあるならば、各ファイルシステムを個別に見回る。必然的に、ファイルサーバは、入出力リクエストに対して反応的でなくなるか、クエリに応答するのに長い待ち時間を必要とする。ある状況では、長い待ち時間により、そのリクエストが新鮮でなくなってしまうかもしれない。
【０００８】
また、ＮＡＳファイルサーバは、例えば重要なデータに他の重要でないデータを格納することによって組織化されず、非能率的になり得る。例えば、被雇用者の自由時間に利用されるＭＰ３の大きいマルチメディア収集物により、企業の生産性に密接に関連する情報（例えば、金融レコード）を受信する際の待ち時間を増大させてしまう。他の例では、滅多にアクセスされないファイルは高級な高帯域のファイルサーバ上に格納されるのに対し、頻繁にアクセスされるファイルは消耗品の低帯域のサーバ上に格納される。
【０００９】
したがって、ストレージネットワーク上のファイルサーバ間で選択的にオブジェクトを移動させることを提供するネットワークデバイスが必要とされる。また、例えば、入出力リクエストを点検する際にファイルサーバに負荷をかけずに移動すべきファイルを識別する必要がある。
【課題を解決するための手段】
【００１０】
本発明は、ポリシーに従うストレージネットワーク内における選択的移動を提供する。そのポリシーは、ファイル属性（例えば、ファイル形式、ファイルサイズ、最終アクセス時間、アクセス頻度）に基づいて、どのオブジェクトをソースファイルサーバから目的ファイルサーバに移動させるかを確立するルールを含むことができる。例えば、事業生産性に付加価値を加えることなく、高価なまたは重要なファイルサーバにおいてＩ／Ｏ帯域幅を浪費する大きなマルチメディアファイルを商品ファイルサーバあるいはそれほど重要でないファイルサーバに移動させることができる。一実施形態では、クライアントとストレージネットワーク上のＮＡＳファイルサーバとのデータパスにおけるＮＡＳ（ネットワーク接続ストレージ）スイッチは、ストレージネットワーク上の位置から独立したファイルハンドルを用いて選択的な移動を実行する。静的なファイルハンドルと動的になり得る位置との間のマッピングにより、クライアントは、移動処理を介して持続するファイルハンドルを利用して、移動後のオブジェクトにアクセスすることができる。
【００１１】
本発明に従って構成されるシステムの一実施形態は、ストレージネットワークのフロントエンドのクライアント、並びに、バックエンドのソースファイルサーバおよび目的ファイルサーバの両方と通信するＮＡＳスイッチを備える。ＮＡＳスイッチは、位置とは独立したスイッチファイルハンドルと、ソースファイルサーバおよび目的ファイルサーバから受信されるＮＡＳファイルハンドル（例えば、ＣＩＦＳファイルハンドルやＮＦＳファイルハンドル）とを関連付ける。そして、ＮＡＳスイッチは、スイッチファイルハンドルをクライアントにエクスポートする。クライアントからの次のオブジェクトアクセスリクエストに応じて、ＮＡＳスイッチは、適切なＮＡＳファイルサーバへの送信するために、適切なＮＡＳファイルハンドルとスイッチファイルハンドルとを取り替える。
【００１２】
有利にも、ネットワークデバイスは、入出力リクエストヲしよう可能とするような重要な活動のために高級なファイルサーバを取っておくために、ファイル形式および他の属性に従ってストレージネットワークを組織することができる。
【発明を実施するための最良の形態】
【００１３】
本発明は、ポリシーに従ってストレージネットワーク内における選択的な移動を提供する。ポリシーは、ソースファイルサーバから目的ファイルサーバへいずれのオブジェクトを移動させるかを確立するルールを含むことができる。例えば、事業生産性に付加価値を加えることなく、高価なまたは重要なファイルサーバにおいて帯域幅を浪費する大きなマルチメディアファイルを商品ファイルサーバまたはそれほど重要でないファイルサーバに移動させることができる。一実施形態では、ストレージネットワーク上のクライアントとＮＡＳファイルサーバとのデータパスにおけるＮＡＳ（ネットワーク接続ストレージ）スイッチは、ストレージネットワークとは独立したファイルハンドルを用いて選択的な移動を実行する。静的なファイルハンドルと動的になり得る位置との間のマッピングにより、クライアントは、移動処理を介して持続するファイルハンドルを利用して、移動後のオブジェクトにアクセスすることができる。図１〜図３に関してシステムのいくつかの実施形態を記述し、図４〜図６に関してそのシステムにおいて稼働する方法のいくつかの実施形態を記述する。
【００１４】
図１は、本発明の一実施形態におけるストレージネットワークシステム１００を示す高水準のブロック図である。システム１００は、ＮＡＳスイッチ１１０と、ネットワーク１９５に接続されるクライアント１４０とを備える。ＮＡＳスイッチ１１０、ソースファイルサーバ１２０および目的ファイルサーバ１３０は、それぞれ、サブネットワーク１９６を介して通信可能に接続される。なお、システム１００は種々の構成を取ることができ、例えば、ある実施形態では、追加のクライアント１４０、追加のソースファイルサーバ１２０、追加の目的ファイルサーバ１３０および追加のＮＡＳスイッチ１１０を含んでもよい。システム１００のコンポーネントは、例えば、ｘ８６タイプのプロセッサを有するパーソナルコンピュータ、ワークステーション、専用のＮＡＳ装置、変更されたサーバブレード等に実装される。このようなパーソナルコンピュータは、オペレーティングシステムやアプリケーションプログラムを実行するものである。また、専用のＮＡＳ装置は、最適化されたオペレーティングシステムやアプリケーションプログラムを含むものである。一実施形態では、ストレージネットワーク１７５は、ＮＦＳやＣＩＦＳのようなプロトコルを利用するＮＡＳを備える。別の実施形態では、ストレージネットワーク１７５は、ＮＡＳ、ＳＡＮ、および他のタイプのストレージネットワークを備える。さらに別の実施形態では、ストレージネットワーク１７５は、ＮＡＳ以外の分散標準または専有ストレージシステムを備える。
【００１５】
ＮＡＳスイッチ１１０は、ソースファイルサーバ１２０上のある位置から目的ファイルサーバ１３０上のある位置にオブジェクトを選択的に移動させる。この選択的移動では、ポリシーにより決定されるように、ファイル形式、ファイルサイズ、ファイルアクセス頻度、他のファイル条件、スケジュール等のファイル属性に基づいて、いずれのオブジェクトが移動されるかを決定することができる。そのポリシーは、あるファイル属性や条件に応じて、あるアクションを記述するルールを含むことができる。一実施形態では、ＮＡＳスイッチ１１０は、レポートにおけるポリシーの効果を示すリハーサルを実行することができる。ポリシーは、所望の結果に到達するように反復して調整されてもよい。
【００１６】
ＮＡＳスイッチ１１０は、オブジェクト管理に関してクライアント１４０に連続的な気付かれることのない処理の実行を提供する。具体的には、ＮＡＳスイッチ１１０は、ストレージネットワーク１７５上において、物理的構成、オブジェクト管理、オブジェクト移動、オブジェクト複製、効果的なストレージおよび他のサービスに関するタスクを取り除くことができる。好ましくは、ＮＡＳスイッチ１１０は、クライアント１４０に対するファイルサーバの処理をエミュレートするとともに、ファイルサーバ１２０、１３０に対するクライアントの処理をエミュレートする。したがって、ＮＡＳスイッチ１１０がソースファイルサーバ１２０のために意図されたＮＡＳリクエストを目的ファイルサーバ１３０上の適切な位置に変更することができる。そのため、クライアント１４０はＮＡＳスイッチ１１０の存在に気付くことがない。クライアント１４０は、ファイル書き込み、ディレクトリ読み込み等のオブジェクトリクエストをＮＡＳスイッチ１１０に送る。同様に、ＮＡＳスイッチ１１０は、サーバファイルハンドルに含まれるリクエストがクライアント１４０から発したものであるかのようにそれらを再送することができる。そのため、ファイルサーバ１２０、１３０はＮＡＳスイッチ１１０の存在に気付くことがない。そうするために、ＮＡＳスイッチ１１０は、マッピング、翻訳、ブリッジ化、パケット転送、他のネットワークインタフェース機能および他の制御処理を用いて、ファイルハンドルスイッチングを実行することができる。それにより、クライアント１４０がファイルの物理的位置の変更を追跡する必要性を低減することができる。
【００１７】
一実施形態では、ＮＡＳスイッチ１１０は、ＮＡＳスイッチハンドルを含むエクスポートされたファイルシステムディレクトリをファイルサーバ１２０、１３０から受信する。クライアント１４０とＮＡＳスイッチ１１０との互換性を作るために、ＮＡＳスイッチ１１０は、そのファイルシステムディレクトリを内部スイッチファイルシステムにマップする。そして、ＮＡＳスイッチ１１０は、その内部スイッチファイルシステムをクライアント１４０に送信する。オブジェクトを要求するために、クライアント１４０は、エクスポートされたスイッチファイルシステムを詳しく検討して、要求されたオペレーションとともにクライアント１４０がＮＡＳスイッチ１１０に送信するスイッチファイルハンドルを選択する。
【００１８】
一般に、ＮＡＳファイルハンドルは、オブジェクトが存在する限り、ディレクトリファイルサーバ等のファイルサーバ１２０、１３０上において、ディレクトリやファイル等のオブジェクトを独自に識別する。ＮＡＳファイルハンドルは、特定のファイルサーバであり、ファイルハンドルを発行したファイルサーバ１２０、１３０のみに有効なものである。ファイル名からファイルハンドルを得る処理は、検索（look-up）と呼ばれる。ＮＡＳファイルハンドルは、例えば表１Ａおよび１Ｂを参照して以下に詳述するように、ＮＦＳやＣＩＦＳ等のプロトコルに従ってフォーマットされてもよい。一方、スイッチファイルハンドルは、位置とは独立してディレクトリやファイルオブジェクトを識別し、ファイル複製、移動および他のデータ転送を介してそれを持続させる。スイッチファイルハンドルは、修正されたＮＡＳファイルハンドルであってもよい。修正ＮＡＳファイルハンドルは、ソースファイルサーバ１２０よりもむしろＮＡＳスイッチ１１０内の内部システムに関する。これにより、ＮＡＳスイッチ１１０は、持続したファイルハンドルを代わりのＮＡＳファイルハンドルの選択にマッピングすることができる。元のＮＡＳファイルハンドルは、ソースファイルサーバ１２０上の初期オブジェクトに関する。格納されたＮＡＳファイルハンドルは、ファイルサーバ１２０、１３０上のオブジェクトとして格納されたＮＡＳファイルハンドに関する。このＮＡＳファイルハンドルは、代わりのファイル位置に向いている。
【００１９】
ＮＡＳスイッチ１１０により処理されるオブジェクトアクセスリクエストは、例えば、ディレクトリやファイルの読み込み、書き込み、作成、削除、移動およびコピーを含む。ネームスペースアクセスは、検索、改名、削除あるいは作成のようなネームスペースにアクセスし、あるいは修正するオペレーションに関する。ファイルアクセスは、読み込みや書き込みのようなファイルにアクセスし、あるいは修正するオペレーションに関する。オブジェクトは、ディレクトリオブジェクトまたはファイルオブジェクトに関すればよい。ディレクトリオブジェクトは、ディレクトリ内にサブディレクトリとファイルオブジェクトとをさらに備える。ここで用いられるように、種々の用語は、移動前のオブジェクトの位置（例えば、「初期の（primary）」、「ソース（source）」、「元の（original）」および「第１の（first）」に関して同じ意味で用いられる。また、種々の用語は、移動後の同一のオブジェクトの位置（例えば、「複製（replica）」、「目的（destination）」、「置換（substitute）」および「第２の（second）」）に関して用いられる。以下、ＮＡＳスイッチ１１０およびその中で稼働する方法のさらなる実施形態を説明する。
【００２０】
クライアント１４０は、ソースファイルサーバ１２０のために意図されるスイッチファイルハンドルをＮＡＳスイッチ１１０に送信することにより、ファイルサーバ１２０、１３０上のリソースにアクセスする。スイッチハンドルを見出すために、まず、クライアント１４０は、スイッチファイルハンドルを含むエクスポートされるスイッチファイルシステムをマウントする。クライアント１４０は、そのファイルハンドルを得るためにオブジェクトを検索し、関連したリクエストを送信する。クライアント１４０の視点からすると、トランザクションは、変更しないオブジェクト位置を有するファイルサーバ１２０、１３０により実行される。そして、クライアント１４０は、同様の方法でファイル複製の前後にわたりＮＡＳスイッチ１１０と相互作用する。クライアント１４０のユーザは、コマンドラインインタフェース、ウィンドウ環境、ソフトウェアアプリケーションあるいはその他同様のものを介してオペレーションを送信することができる。一実施形態では、ＮＡＳスイッチ１１０は、ＮＡＳストレージネットワーク以外のストレージネットワーク１７５へのアクセスをさらに提供する。
【００２１】
ソースファイルサーバ１２０は、デフォルトであるか、ファイル移動前のクライアント１４０のための初期のネットワークファイルサーバである。ソースファイルサーバ１２０は、ソースオブジェクト１２５をさらに備える。ソースオブジェクト１２５は、企業データ、レコード、データベース情報、アプリケーション等のネームスペースディレクトリおよびファイルを含む。ソースファイルサーバ１２０は、ネームスペース移動からの結果を相互に関連付け、ＮＡＳスイッチ１１０により保持される移動されたディレクトリのテーブルを格納することができる。また、ソースファイルサーバ１２０は、ＮＡＳスイッチ１１０により保持され、各移動ディレクトリおよびファイルオブジェクトを示すファイルハンドル移動テーブルを格納することができる。ソースファイルサーバ１２０は、例えば、オペレーティングシステムおよびアプリケーションをｘ８６タイプのプロセッサで利用するパーソナルコンピュータ、ワークステーション、最適化されたオペレーションシステムおよびアプリケーションを有する専用のＮＡＳ装置、変更されたサーバブレード等を備える。
【００２２】
目的ファイルサーバ１３０は、ファイル移動後、ＮＡＳスイッチ１１０により用いられる初期のネットワークファイルサーバになる。目的ファイルサーバ１３０は、目的オブジェクト１３５をさらに備える。目的オブジェクト１３５は、複製されたネームスペースとソースファイルとを含む。目的ファイルサーバ１３０は、ソースファイルサーバ１２０を参照して上述されたものと同一のハードウェアおよびソフトウェアを含むことができる。好ましくは、ソースファイルサーバ１２０および目的ファイルサーバ１３０は、ＮＡＳファイルサーバであるが、ファイル移動を本質的にサポートしない他の分散的なプロトコルを用いるファイルサーバであってもよい。以下、ソースファイルサーバ１２０および目的ファイルサーバ１３０並びに関連する方法のさらなる実施形態を説明する。
【００２３】
ネットワーク１９５は、接続されたホスト（例えば、１１０、１４０）間のデータ転送を容易にする。ネットワーク１９５との接続は、有線でも無線でもよく、パケットでも回路交換でもよい。このような接続は、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＩＥＥＥ（米国電気電子技術者協会）８０２．１１、ＩＥＥＥ８０２．３（すなわち、イーサネット）、ＡＴＭ（非同期転送モード）等のネットワークプロトコルを用いればよい。ネットワーク１９５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク）、インターネットなどを含む。一実施形態では、ＮＡＳスイッチ１１０は、インターネットに接続されるクライアント１４０と、ＬＡＮに接続されるディレクトリファイルサーバ１２０およびシャドウファイルサーバ１３０との間のゲートウェイとして機能する。サブネットワーク１９６は、好ましくは、ＮＡＳスイッチ１１０に対して最適な応答時間を提供するローカルエリアネットワークである。一実施形態では、サブネットワーク１９６はネットワーク１９５に統合される。
【００２４】
図２は、本発明の一実施形態におけるＮＡＳスイッチ１１０を示すブロック図である。ＮＡＳスイッチ１１０は、マッピングモジュール２１０と、選択的移動モジュール２２０とを備える。一般に、マッピングモジュール２１０は、オブジェクトに関連したファイルハンドル入出力トランザクションを取り扱う。マッピングモジュール２１０は、ツリー構造のファイルサーバの最後の行程まで更新を追跡するために、成功した入出力トランザクションについての情報を選択的移動モジュール２２０に送信する。なお、モジュールは、単に機能性の模範的な分類である。
【００２５】
ファイル移動前に、マッピングモジュール２１０は、リクエストを有するスイッチファイルハンドルをクライアント１４０から受信する。クライアント１４０は、元のＮＡＳファイルハンドルを見出すためにスイッチファイルハンドルを用いる。マッピングモジュール２１０は、リクエストで元のＮＡＳファイルハンドルをソースファイルサーバ１２０に送信する。オブジェクトがストレージネットワーク１７５内の位置をまだ変えていないならば、マッピングモジュール２１０は元のＮＡＳファイルハンドルを用いる。マッピングモジュール２１０は、オブジェクトがデータ移動の一部であるか否かを決定するために、スイッチファイルハンドルを選択的移動モジュール２２０に送信することができる。また、ファイルサーバインタフェース２２０は、オブジェクトがデータ移動を完了したか否かを決定するために、スイッチファイルハンドルを入出力先変更モジュール２３０に送信することができる。いずれの場合でも、適切なＮＡＳファイルハンドルは、クライアントリクエストを適切なファイルサーバ１２０、１３０に転送するのに用いるために、マッピングモジュール２１０のために戻される。
【００２６】
ファイル移動後、マッピングモジュール２１０は、ファイルハンドル移動テーブル内のクライアント１４０から受信したスイッチファイルハンドルを検索する。オブジェクトが移動されていたならば、入出力先変更モジュールは、目的ファイルサーバ１３０上の位置に対応する目的ＮＡＳファイルハンドルを出力する。
【００２７】
選択的移動モジュール２２０は、マッピングモジュールからの成功した入出力トランザクションに関する情報を受信する。別の実施形態では、選択的移動モジュール２２０は、マッピングモジュール２１０から向けられたトランザクションを遮ることができ、あるいは、マッピングモジュール２１０に送信されたトランザクションと全く同一のものを受信することができる。オブジェクトを移動させるポリシーを実行すると、選択的移動モジュール２２０は、マッピングモジュール２１０のファイル位置を更新することができる。
【００２８】
図３は、本発明の一実施形態における選択的移動モジュール２２０を示すブロック図である。選択的移動モジュール２２０は、モニタリングモジュール３１０と、ポリシーモジュール３２０と、移動エンジン３３０と、レコードレポジトリ３４０とを備える。一般に、レコードレポジトリは、ツリー構造ディレクトリまたはシェアの詳しい検討（見回り）を利用して投入され、レコードは、ディレクトリ内のオブジェクトを有するトランザクションに関する情報に更新される。ポリシーモジュール３２０は、クエリまたはレコードレポジトリ３４０との分類相互作用を介してポリシーベースの移動を実行することができる。
【００２９】
モニタリングモジュール３１０は、オブジェクトを含む成功した入出力トランザクションに関する情報を受信する。その情報は１以上のログを構成してもよい。例えば、ファイルまたはディレクトリが読み出されるたびにアクセスログを更新することができる。ログは、追跡されたトランザクションの重要度に基づいて保持されてもよい。例えば、一実施形態では、すべてのファイルまたはディレクトリの作成を追跡している間、最後のファイル移動のみを追跡する。別の最適化では、アクセスログは、各アクセスの時間を記録することなく、１時間以上アクセスを計数することができる。モニタリングモジュール３１０は、処理のためにそのログをレコードレポジトリ３４０に周期的に送信する（例えば、１時間に一度）。
【００３０】
ポリシーモジュール３２０は選択的な移動のためのルールを格納する。そのルールは、ネットワーク管理者によって事前に設定されてもよく、あるいは作成されてもよい。例えば、「ファイル形式はＭＰＥＧである」や「ファイルサイズは１００メガバイトより大きい」。ポリシーモジュール３２０は、ある条件を満たすファイルを特定するために、レコードレポジトリ３４０上の検索によりルールを実行することができる。一実施形態では、ユーザインタフェース（例えば、ウェブブラウザにより見られる）により、ネットワーク管理者はルールを構成することができる。１日に１度や１週間に１度のようなポリシー毎の原則に基づいて、ポリシーモジュール３２０に周期的にトリガを与えてもよい。
【００３１】
移動エンジン３３０は、ポリシーモジュール３２０により特定されたファイルを移動させすることができる。例えば、昨年アクセスされなかった各ファイルを滅多にアクセスされないファイル用の専用のファイルサーバに移動させることができる。一実施形態では、移動エンジン３３０は、各オブジェクトに関連したデータを移動させる前に、各オブジェクトに関連したネームスペースを移動させる。
【００３２】
レコードレポジトリ３４０は、ツリー構造のディレクトリを詳しく検討することによって、ツリー構造のディレクトリ内のオブジェクトに関連したレコードを格納することができる。モニタリングモジュール３１０からログを受信すると、レコードレポジトリ３４０はレコードを更新することができる。レコードレポジトリ３４０は、詳しい検討によりディレクトリと周期的に同期することができる。
【００３３】
図６は、本発明の一実施形態におけるポリシーに応じた選択的な移動を提供する方法６００を示すフローチャートである。ソースファイルサーバ上のオブジェクトの位置を含むＮＡＳファイルハンドルを受信する（ステップ６１０）。オブジェクトの代表として、その位置とは独立したスイッチファイルハンドルを送信する（ステップ６２０）。ストレージネットワークにオブジェクトを格納するためのルールを含むポリシーに従って、ソースファイルサーバ上の位置から目的ファイルサーバ上の位置にそのオブジェクトを移動させる（ステップ６３０）。スイッチファイルハンドルに関連したアクセスリクエストを受信する（ステップ６４０）。目的ファイルサーバ上の位置にそのアクセスリクエストを送信する（ステップ６５０）。
【００３４】
図７は、本発明の別の実施形態におけるポリシーに応じた選択的な移動を提供する方法７００を示すフローチャートである。ストレージネットワークにオブジェクトを格納するためのルールを含むポリシーを受信する（ステップ７１０）。ストレージネットワーク内のソースファイルサーバにおいてツリー構造に格納されたオブジェクトを詳しく検討する（ステップ７２０）。ポリシーデータベース（あるいはレコードレポジトリ）にツリー構造を代表したレコードを投入する（ステップ７３０）。オブジェクトに関連したトランザクションを反映するように、ポリシーデータベースを更新する（ステップ７４０）。いずれのオブジェクトを移動すべきであるかを決定するために、ポリシーデータベース内のレコードに対してルールを実行する（ステップ７５０）。ソースファイルサーバ上の位置から目的ファイルサーバ上の位置にそのオブジェクトを移動させる（ステップ７６０）。
【００３５】
上述の説明は、多くの特定の詳細を完全に説明するために提供されたものである。ストレージネットワークの分野において、本発明の例示された特徴に多くの異なる変更を施すことが可能であること言うまでもない。したがって、当業者は、上述の特定の詳細な説明がなくても本発明を実施することができることを疑いようもなく評価するであろう。また、実際に、当業者は、本発明の教示および意図を満足する限り、本発明の実施形態にその他の変更を実施することができると理解するであろう。例えば、ＮＡＳプロトコルのストレージネットワークオペレーションを参照して本発明を記述したが、ＮＡＳ以外の分散化ストレージネットワーク用の将来のプロトコルや組み合わせられたプロトコルネットワークにおいても、同様に本発明を具体化することができる。したがって、上述の特定の実施に限定するように本発明を理解すべきではなく、添付の特許請求の範囲により本発明を理解すべきである。
【００３６】
適切なコンピューティング装置で実行されるプログラム命令により、本発明の処理、特徴あるいは機能を実行することができる。コンピューティング装置の例としては、企業サーバ、アプリケーションサーバ、ワークステーション、パーソナルコンピュータ、ネットワークコンピュータ、ネットワークアプリケーション、セットトップボックス、宅内オートメーション装備、ＰＯＳ端末機、自動車およびパーソナル通信装置が含まれる。コンピュータ読み取り可能な媒体や記憶ボリュームとして、あるいはインターネットを介して、プログラム命令を配信することができる。プログラム命令は、ソースコード、オブジェクトコード、スクリプトのようなあらゆる適切な形式のものであればよい。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施形態におけるストレージネットワークシステムを示す高水準のブロック図である。
【図２】本発明の一実施形態におけるＮＡＳスイッチを示すブロック図である。
【図３】本発明の一実施形態における選択的移動モジュールを示すブロック図である。
【図４】本発明の一実施形態におけるＮＡＳストレージネットワーク内の透過的なファイル移動を提供する方法を示す高水準のフローチャートである。
【図５】本発明の一実施形態における元のＮＡＳファイルハンドルをスイッチファイルハンドルと関連付ける方法を示すフローチャートである。
【図６】本発明の一実施形態におけるポリシーに応じた選択的な移動を提供する方法を示すフローチャートである。
【図７】本発明の別の実施形態におけるポリシーに応じた選択的な移動を提供する方法を示すフローチャートである。
【図１】
2008515120.tif 000003
【図２】
2008515120.tif 000004
【図３】
2008515120.tif 000005
【図４】
2008515120.tif 000006
【図５】
2008515120.tif 000007
【図６】
2008515120.tif 000008
【図７】
2008515120.tif 000009