(57)【要約】【課題】  トランスペアレントなストレージ再編成のための改良されたシステムおよび方法を提供すること。【解決手段】  再編成サーバを使用して、多数のサーバから数台のサーバへストレージを統合したり、数台のサーバから多数のサーバへストレージを分散したりすることができる。そのためには、レガシーサーバ名を再編成サーバ名のネットワークアドレスに別名付けすることができる。それぞれのレガシーシェアのコンテンツおよび許可を、他のサーバ上の一意のシェア名にコピーすることができる。次に、レガシーサーバ名を使用して再編成サーバ上にルートを作成し、そのルート上に作成可能な他のサーバにコピーされたレガシーシェアを指すリンクを作成することができる。その後、任意のクライアントは、レガシーシェア名を使用して再配置されたレガシーシェアへのアクセスを要求することができる。【選択図】  図２
2004348742.tif 000002
【特許請求の範囲】
【請求項１】
ストレージを再編成するためのコンピュータシステムであって、
ファイルシェア要求を受け取るためのファイルシステムと、
前記ファイルシステムに動作可能に結合されたパスリライタであって、前記ファイルシステムによって受け取られたファイルシェア要求のパスを書き換えるためのパスリライタと、
前記ファイルシステムに動作可能に結合されたパスリダイレクタであって、前記ファイルシェア要求の前記書き換えられたパスを他のストレージロケーションにリダイレクトするためのパスリダイレクタと
を備えたことを特徴とするシステム。
【請求項２】
前記ファイルシステムによって受け取られたファイルシェア要求に関する情報を格納するためのデータベースをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記データベースは、ログファイルを含むことを特徴とする請求項２に記載のシステム。
【請求項４】
前記格納される情報は、前記ファイルシェア要求に関する使用情報を含むことを特徴とする請求項２に記載のシステム。
【請求項５】
前記ファイルシステムは、分散ファイルシステムを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記ファイルシェア要求の前記書き換えられたパスを他のストレージロケーションにリダイレクトすることは、前記ファイルシェア要求の前記書き換えられたパスを前記コンピュータシステム上のストレージロケーションにリダイレクトすることを含むことを特徴とする請求項１に記載のシステム。
【請求項７】
分散コンピューティングシステムであって、
パスリライタに動作可能に結合されたファイルシステムを有する第１のサーバであって、前記ファイルシステムによって受け取られたファイルシェア要求のパスを書き換えるための第１のサーバと、
前記第１のサーバに動作可能に結合された第２のサーバであって、ファイルシステムを有する第２のサーバと、
前記第１のサーバの前記ファイルシステムに動作可能に結合されたパスリダイレクタであって、前記第１のサーバによって受け取られたファイルシェア要求の書き換えられたパスを前記第２のサーバのシェア名にリダイレクトするためのパスリダイレクタと
を備えたことを特徴とするシステム。
【請求項８】
前記第１のサーバに動作可能に結合されたデータベースであって、前記第１のサーバの前記ファイルシステムによって受け取られたファイルシェア要求に関する情報を格納するためのデータベースをさらに備えたことを特徴とする請求項７に記載のシステム。
【請求項９】
請求項１に記載のシステムを備えた構成要素であって、コンピュータにより実行可能な構成要素を有することを特徴とするコンピュータ読取り可能媒体。
【請求項１０】
ストレージを再編成するためのコンピュータシステムにおける方法であって、
レガシーサーバの名前を再編成サーバのネットワークアドレスに別名付けするステップと、
前記レガシーサーバ上のシェアのコンテンツおよび許可を宛先サーバにコピーするステップと、
前記再編成サーバ上に前記レガシーサーバ名を使用してルートを作成するステップと、
前記宛先サーバにコピーされた前記シェアへのリンクを前記再編成サーバ上の前記レガシーサーバのルートに作成するステップと
を備えることを特徴とする方法。
【請求項１１】
前記レガシーサーバからコピーされた前記シェアについて前記宛先サーバ上に一意のシェア名を作成することをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記一意のシェア名は、ユーザに可視でないことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記一意のシェア名は、クライアントに可視でないことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記レガシーシェアパスを使用して前記宛先サーバにコピーされた前記シェアにアクセスすることをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１５】
レガシーサーバの名前を再編成サーバのネットワークアドレスに別名付けすることは、レガシーサーバの名前を、前記レガシーサーバに使用されるすべての命名スキームについて、再編成サーバのネットワークアドレスに別名付けすることを含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記レガシーサーバ上のシェアのコンテンツおよび許可を宛先サーバにコピーすることは、前記レガシーサーバ上のシェアのコンテンツおよび許可を前記再編成サーバにコピーすることを含むことを特徴とする請求項１０に記載の方法。
【請求項１７】
前記レガシーサーバ上のシェアのコンテンツおよび許可を宛先サーバにコピーすることは、前記レガシーサーバ上のシェアのコンテンツおよび許可を、前記宛先サーバ上の別個の分散ファイルシステムの名前スペースにコピーすることを含むことを特徴とする請求項１０に記載の方法。
【請求項１８】
前記レガシーサーバ上の他のシェアのコンテンツおよび許可を第２の宛先サーバにコピーすることと、
前記第２の宛先サーバにコピーされた前記他のシェアへのリンクを、前記再編成サーバ上の前記レガシーサーバルートに作成することと
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１９】
前記レガシーサーバ上の他のシェアのコンテンツおよび許可を第２の宛先サーバにコピーすることは、前記レガシーサーバ上の他のシェアのコンテンツおよび許可を前記再編成サーバにコピーすることを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記再編成サーバ上に前記レガシーサーバ名を使用してルートを作成することは、１つまたは複数の文字を前記レガシーサーバ名にプリペンドすることによって変更されたレガシーサーバ名を使用してルートを作成することを含むことを特徴とする請求項１０に記載の方法。
【請求項２１】
１つまたは複数の文字を前記レガシーサーバ名にプリペンドすることは、ハッシュマークを前記レガシーサーバ名にプリペンドすることを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
請求項１０に記載の方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
【請求項２３】
再編成されたストレージにアクセスするためのクライアントサーバコンピュータネットワークにおける方法であって、
再配置されたレガシーシェアパス名についてクライアントからの要求をサーバにて受け取るステップと、
前記レガシーシェアパスを前記サーバ自体の名前を使用してプリペンドすることによって、前記レガシーシェアのパス名を書き換えるステップと、
前記書き換えられたレガシーシェアパス名における任意のリンクを解決するステップと、
前記再配置されたレガシーシェアのストレージロケーションの前記シェアパス名で前記クライアント要求に応答するステップと
を備えることを特徴とする方法。
【請求項２４】
別名付けされたレガシーサーバ名を解決してサーバのネットワークアドレスへの接続を確立することをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２５】
再配置されたレガシーシェアパス名に対するアクセス要求をサーバに送ることをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２６】
アクセス要求をサーバに送ることは、Ｄｆｓ作成要求を送ることを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記レガシーシェアパスを書き換えることは、パスリライタを呼び出して前記レガシーシェアパスを書き換えることを含むことを特徴とする請求項２３に記載の方法。
【請求項２８】
前記書き換えられたレガシーシェアパスをトラバースする間にリンクに遭遇することをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２９】
前記書き換えられたレガシーシェアパスにおいて任意のリンクを解決することは、パスリダイレクタを呼び出して前記書き換えられたレガシーシェアパスにおいて任意のリンクを解決することを含むことを特徴とする請求項２３に記載の方法。
【請求項３０】
前記再配置されたレガシーシェアの前記ストレージロケーションの前記シェアパスにアクセスすることをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項３１】
前記再配置されたレガシーシェアの前記ストレージロケーションの前記シェアパスにアクセスすることは、前記再配置されたレガシーシェアの前記ストレージロケーションのネットワークアドレスにＤｆｓ作成要求を送ることを含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記再配置されたレガシーシェアの前記ストレージロケーションの前記シェアパスにアクセスすることは、別個のＤｆｓ名前スペースのパスにアクセスすることを含むことを特徴とする請求項３０に記載の方法。
【請求項３３】
前記書き換えられたレガシーシェアパスをトラバースする間にＤｆｓ再パースポイントに遭遇することをさらに備えることを特徴とする請求項２３に記載の方法。
【請求項３４】
前記パスがリンクを収容することを示すメッセージを前記クライアントに戻すことをさらに備えることを特徴とする請求項３３に記載の方法。
【請求項３５】
参照パスについて参照要求メッセージを前記クライアントから受け取ることをさらに備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
請求項２３に記載の方法を行うためのコンピュータ実行可能命令を有することを特徴とするコンピュータ読取り可能媒体。
【請求項３７】
再配置されたストレージのためのコンピュータシステムであって、
再配置されたレガシーシェアに対するファイルアクセス要求を受け取るための手段と、
前記受け取られたファイルアクセス要求のパスを書き換えるための手段と、
前記ファイルアクセス要求の前記書き換えられたパスを他のストレージロケーションにリダイレクトするための手段と
を備えたことを特徴とするシステム。
【請求項３８】
前記ファイルアクセス要求の前記書き換えられたパスを他のストレージロケーションにリダイレクトするための手段は、前記ファイルアクセス要求の前記書き換えられたパスにおいて任意のリンクを解決するための手段を含むことを特徴とする請求項３７に記載のシステム。
【請求項３９】
前記ファイルアクセス要求の前記書き換えられたパスを他のストレージロケーションにリダイレクトするための手段は、前記ファイルアクセス要求の前記書き換えられたパスを別個の名前スペースにリダイレクトするための手段を含むことを特徴とする請求項３７に記載のシステム。
【請求項４０】
前記再配置されたレガシーシェアの前記ストレージロケーションの前記ファイルシェアパスを使用して前記要求に応答するための手段をさらに備えたことを特徴とする請求項３７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータシステムに関し、より詳細には、トランスペアレントなストレージ再編成のための改良されたシステムおよび方法に関する。
【背景技術】
【０００２】
ストレージの再編成は、いくつもの理由によって動機付けることができる。たとえば、ストレージの移行および統合は、企業におけるストレージサーバの総所有コストを削減するのに役立つ重要なオペレーションである。総所有コストを削減するにあたっての１つの重要な要素が、ストレージサーバの管理に必要な時間および費用を削減すること、すなわちサーバの数を減らすことである。驚くにあたらないが、ストレージ統合は、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）ＮＴサーバのバージョン４．０からＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）サーバ２００３への変更のように、より新しく性能の良いサーババージョンへのアップグレードに伴って行われることが多い。ストレージ管理者は、このようなアップグレードを利用して、ストレージを多くのレガシー（ｌｅｇａｃｙ）サーバから、レガシーサーバ上にあったすべてのコンテンツをサービスすることができる１台または数台の新しいマシンに統合することによって、管理オーバヘッドを削減することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ファイルシェア（ｓｈａｒｅ）を、「ｆｏｏ」および「ｂａｒ」などの２つのサーバから再配置する場合、実施される１つの共通した戦略が、サーバ名「ｆｏｏ」およびサーバ名「ｂａｒ」の両方を同じストレージサーバにマッピングすることである。このストレージの再編成で生じる可能性のある１つの問題が、＼＼ｆｏｏ＼ｐｕｂｌｉｃおよび＼＼ｂａｒ＼ｐｕｂｌｉｃなど、同じ名前を有する２つのファイルシェアを同じストレージサーバ上に再配置しようとすることから生じる名前の衝突（ｃｌａｓｈ）である。通常、２つのシェアは、どちらもパス名＼＼ｓｅｒｖｅｒ＼ｐｕｂｌｉｃで作成する必要があるであろう。このような名前の衝突は、バージョン化などの１つまたは複数の周知の技法を用いて、再配置されたシェアの一方または両方を名前変更することによって、避けることができるであろう。しかし、システム管理者は、このような名前の衝突を避けるためにファイルシェア名を修正しなければならない場合、レガシーシェアを統合することをためらうことがある。
【０００４】
名前の衝突を避けるためにユーザに可視（ｖｉｓｉｂｌｅ）のファイルシェア名を修正すると、いくつかの問題が生じる。第１に、ストレージの再編成中にユーザに可視のファイルシェア名を修正するには、ユーザをトレーニングして新しい名前を使用する必要があるであろう。さらに、文書、Ｗｅｂページ、およびアプリケーションに埋め込まれたファイルシェアパス名を見つける必要があり、古い名前を新しい名前に変更する必要があるであろう。これらの面倒な活動には、ストレージ管理者にとってストレージの再編成を管理するさらなる時間および費用が必要になるであろう。
【０００５】
ストレージ管理者がレガシーシェア名を使用してストレージを再編成し、ユーザまたはクライアントがレガシーシェア名を使用して再配置されたレガシーシェアにアクセスすることが可能な方法が求められている。このような何らかのシステムおよび方法により、システム管理者が再配置されたレガシーシェアに対するクライアントアクセスを容易かつ効率的に監視することができるようにすべきであり、その結果、ストレージ管理者は頻繁に使用されていない再配置されたレガシーシェアを廃棄することができるようになる。
【課題を解決するための手段】
【０００６】
簡潔に言えば、本発明は、トランスペアレントにストレージを再編成するための改良されたシステムおよび方法を提供する。このため、レガシーシェアを１つまたは複数のレガシーサーバから１つまたは複数の他のサーバへ再配置することができる再編成サーバが提供される。再編成サーバは、受け取ったレガシーパスに他のサーバ名をトランスペアレントにプリペンド（ｐｒｅｐｅｎｄ）するためのパスリライタ（ｒｅｗｒｉｔｅｒ）と、書き換えられたレガシーシェアパスをトラバース（ｔｒａｖｅｒｓｅ）する間に遭遇する可能性のある新しいストレージロケーションへの任意のリンクを解決（ｒｅｓｏｌｖｅ）するためのパスリダイレクタ（ｒｅｄｉｒｅｃｔｏｒ）とを備えた、分散ファイルシステムを含むことができる。再編成サーバは、再配置されたレガシーシェアのアクセスおよび使用情報を記録するためのデータベースまたはログファイルを含むこともできる。
【０００７】
本発明は、先ずレガシーサーバの名前を再編成サーバのネットワークアドレスに別名付け（ａｌｉａｓｉｎｇ）することによって、ストレージをトランスペアレントに再編成することができる。そして、それぞれのレガシーシェアのコンテンツおよび許可を、他のサーバ上の一意のシェア名にコピーすることができる。次に、レガシーサーバ名を使用して再編成サーバ上にルートを作成し、そのルート上に、他のサーバ上にコピーされたレガシーシェアを指すリンクを作成することができる。そして、任意のクライアントは、レガシーシェア名を使用して、再配置されたレガシーシェアへのアクセスを要求することができる。再編成サーバは、受け取ったレガシーパスを再編成サーバ名でプリペンドすることによって受け取ったレガシーパスを書き換え、書き換えられたレガシーシェアパス名における任意のリンクを解決し、再配置されたレガシーシェアのストレージロケーションのシェアパス名で応答することができる。
【０００８】
有利なこととして、このシステムおよび方法を使用して、以前にはまったく異なったファイルシェアを再構成し、単一の名前スペースに統合することができる。さらに本発明を使用して、ストレージを多くのサーバから数台のサーバへ統合することに加えて、ストレージを数台のサーバから多数のサーバへ拡張することができる。単一の再編成サーバ上のレガシーシェアへのアクセスおよびその使用に関する情報を記録することによって、ストレージ管理者は、管理および保存の目的でレガシーシェアへのアクセスおよび使用を容易に監視することができる。さらに、提供されるシステムおよび方法は、パス書き換えおよびパスリダイレクトの機能を備えた任意のファイルシステムまたは名前解決プロトコルを使用することができるように柔軟性があり、拡張可能である。このように、本発明によって提供されるリダイレクトは、シェアパス名、サーバ名、ファイルシステムプロトコル、および他のデータアクセスプロトコルにわたって広範囲に対応することができる。
【０００９】
他の利点は、図面と共に以下の詳細な記述から明らかになろう。
【発明を実施するための最良の形態】
【００１０】
（例示的な動作環境）
図１に、本発明を実施することができる好適なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関していかなる制限を示唆することを意図するものではない。さらにコンピューティング環境１００は、例示的なオペレーティング環境１００に示された構成要素のいずれか１つまたはそれらの組合せに関して、いかなる依存性または要件を有するものと解釈されるべきではない。
【００１１】
本発明は、多数の他の汎用または特定用途のコンピューティングシステム環境または構成で動作可能である。本発明と共に使用するのに適した周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、タブレットデバイス、ヘッドレスサーバ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピュータリング環境などが含まれるが、これらに限定されるものではない。
【００１２】
本発明は、プログラムモジュールなどのコンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するかまたは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、プログラムモジュールはメモリ記憶デバイスを含むローカルおよび／またはリモートのコンピュータ記憶媒体に配置することができる。
【００１３】
図１を参照すると、本発明を実施するためのシステム例には、コンピュータ１１０の形態の汎用コンピューティングデバイスが含まれる。コンピュータ１１０の構成要素には、処理ユニット１２０、システムメモリ１３０、および、システムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１が含まれるが、これらに限定されるものではない。システムバス１２１は、メモリバスもしくはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、数種のバス構造のいずれであってもよい。限定ではなく、例として、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００１４】
コンピュータ１１０は、通常、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、揮発性および不揮発性の両媒体ならびに取外し可能および取外し不可の両媒体を含む、コンピュータ１１０によってアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく、例として、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなど、情報を格納するための任意の方法または技術で実装された揮発性および不揮発性、取外し可能および取外し不可の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を格納するために使用することができ、コンピュータ１１０によってアクセスすることができる任意の他の媒体が含まれるが、これらに限定されるものではない。通信媒体は、通常、搬送波または他のトランスポートメカニズムなどの変調データ信号にコンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを具体化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、信号に情報を符号化するような様式でその特徴の１つまたは複数が設定または変更された信号を意味する。限定ではなく、例として、通信媒体には、有線ネットワークもしくは直接配線接続などの有線媒体、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記のいずれの組合せも、コンピュータ読取り可能媒体の範囲に含まれるべきである。
【００１５】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの、揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の要素間で情報の転送を助ける基本ルーチンが入っている基本入出力システム１３３（ＢＩＯＳ）は、通常、ＲＯＭ１３１内に格納される。ＲＡＭ１３２は、通常、処理ユニット１２０によって即時にアクセス可能であり、そして／または現在動作中であるデータおよび／またはプログラムモジュールを収容する。限定ではなく、例として、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７が示されている。
【００１６】
コンピュータ１１０は、他の取外し可能／取外し不可、揮発性／不揮発性のコンピュータ記憶媒体を含むこともできる。単に例として、図１には、取外し不可な不揮発性磁気媒体との読取りまたは書込みを行うハードディスクドライブ１４１、取外し可能な不揮発性磁気ディスク１５２との読取りまたは書込みを行う磁気ディスクドライブ１５１、および、ＣＤ  ＲＯＭまたは他の光媒体などの取外し可能な不揮発性光ディスク１５６との読取りまたは書込みを行う光ディスクドライブ１５５が示されている。例示的なオペレーティング環境で使用することができる他の取外し可能／取外し不可、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどが含まれるが、これらに限定されるものではない。ハードディスクドライブ１４１は、通常、インターフェース１４０などの取外し不可メモリインターフェースを通してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０などの取外し可能メモリインターフェースによってシステムバス１２１に接続される。
【００１７】
上述し、図１に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびコンピュータ１１０のための他のデータのストレージを提供する。たとえば図１では、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても異なっていてもよいことに留意されたい。本明細書では、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７が少なくとも異なるコピーであることを示すためにこれらには異なる番号が与えられている。ユーザは、タブレットまたは電子デジタイザ１６４、マイクロフォン１６３、キーボード１６２、および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１６１などの入力デバイスを通して、コンピュータ１１０にコマンドおよび情報を入力することができる。図１に示されていない他の入力デバイスには、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ、または、バイオメトリックセンサ、環境センサ、位置センサ、もしくは他のタイプのセンサを収容するデバイスを含む他のデバイスが含まれる。これらおよび他の入力デバイスは、多くの場合、システムバスに結合されているユーザ入力インターフェース１６０を通して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することもできる。モニタ１９１または他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタ１９１は、タッチスクリーンパネルなどと一体化することもできる。モニタおよび／またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピュータのように、コンピューティングデバイス１１０が組み込まれた筐体に物理的に連結することができる。さらに、コンピューティングデバイス１１０などのコンピュータは、出力周辺インターフェース１９４などを通して接続することができるスピーカ１９４およびプリンタ１９５などの他の周辺出力デバイスを含むこともできる。
【００１８】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作可能である。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、通常は、コンピュータ１１０に関して上記で述べた要素のうちの多くまたはすべてを含むが、図１ではメモリ記憶デバイス１８１のみが示されている。図１に表現した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィスや企業規模のコンピュータネットワーク、イントラネット、およびインターネットでよく見られるものである。ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０はネットワークインターフェースまたはアダプタ１７０を通してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は通常、モデム１７２、またはインターネットなどのＷＡＮ１７３を介した通信を確立するための他の手段を含む。モデム１７２は内蔵であっても外付けであってもよく、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して示されたプログラムモジュールまたはその一部をリモートメモリ記憶デバイスに格納することができる。限定ではなく、例として、図１では、リモートアプリケーションプログラム１８５がメモリデバイス１８１上にあるものとして示されている。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されよう。
【００１９】
（トランスペアレントなストレージ再編成）
本発明は、一般に、トランスペアレントなストレージ再編成を提供するための方法およびシステムを対象とする。本明細書で使用されるストレージ再編成とは、１つのコンピュータから他のコンピュータへのファイルシェアの任意の再配置を意味する。本明細書で定義されるシェアとは、リモートファイルシステムまたはデータアクセスプロトコルを介して公開されるファイルおよびディレクトリのセットを意味する。レガシーシェアとは、様々な企業、政府機関、および他の組織のサーバ上で使用されているシェアなど、以前から存在するシェアを意味する。
【００２０】
ストレージ再編成の１つの形態に、ストレージ統合がある。ストレージ統合とは、本明細書ではストレージサーバを含む１つまたは複数の他のストレージシステムへのファイルシェアの任意の再配置であって、結果としてストレージシステムのセットを削減することになる再配置を意味する。本明細書に記載された様々なブロック図、流れ図、およびシナリオは、単なる例に過ぎず、本発明が適用されることになる他のシナリオが多くあることを理解されよう。
【００２１】
ストレージは、様々なシステム構成を使用して多くの方法で再編成することができる。一例として、図２のシステムについて、ストレージを再編成するためのシステムである統合サーバの一実施形態を使用して説明することにする。統合サーバは、１つまたは複数のレガシーサーバからストレージを統合することによって、ストレージを再編成することができる。１つまたは複数のレガシーサーバからストレージを統合するためのシステムは、ストレージを再編成するために記載したシステム構成要素を使用することができる多くのシステム構成のうちの一例であることを理解されよう。
【００２２】
図２の図面を見ると、ストレージを再編成するためのシステム構成要素の例示的なアーキテクチャを一般的に表すブロック図が示されている。当業者であれば、図に示されたブロックにおいて実施される機能は別の構成要素として実施可能であるか、あるいは、いくつかまたはすべてのブロックの機能が単一の構成要素において実施可能であることを理解されよう。たとえば、データベース２１０のための機能を分散ファイルシステム２０４に含めることができる。あるいは、パスリライタ２０６の機能を別の構成要素として実施することができる。
【００２３】
サーバ２０２は、分散ファイルシステム２０４およびデータベース２１０を含むことができる。一般に、分散ファイルシステム２０４およびデータベース２１０は、カーネルコンポーネント、アプリケーションプログラム、リンクされたライブラリ、オブジェクトなど、任意のタイプの実行可能ソフトウェアコードとすることができる。分散ファイルシステム２０４は、動作可能に結合されたパスリライタ２０６および動作可能に結合されたパスリダイレクタ２０８を含むことができる。これらの構成要素のそれぞれは、カーネルコンポーネント、アプリケーションプログラム、リンクされたライブラリ、オブジェクト、または他のタイプの実行可能ソフトウェアコードなど、任意のタイプの実行可能ソフトウェアコードとすることができる。
【００２４】
特に、分散ファイルシステム２０４は、図２でそれぞれパスリライタ２０６およびパスリダイレクタ２０８によって示されたように実施されるパス書き換えおよびパスリダイレクトを備えた任意のファイルシステムとすることができる。このようなファイルシステムは、任意のタイプのファイルプロトコルを使用してファイルシェアにアクセスするための要求を受け取ることができ、ファイルシェアにアクセスするためにサーバメッセージブロック（ＳＭＢ）プロトコルを使用するか、あるいは同様の特性を提供するＮｅｔＢＩＯＳプロトコル、ネットワークファイルシステム（ＮＦＳ）プロトコル、Ｎｅｔｗａｒｅファイル共有プロトコル（ＮＦＳＰ）、または他のプロトコルなどの他のタイプのファイルシステムプロトコルを使用するＭｉｃｒｏｓｏｆｔ（登録商標）分散ファイルシステム（Ｄｆｓ）がある。一実施形態では、パス書き換えおよびパスリダイレクトで補強されたＤｆｓサービスをサーバ２０２上で実行することができる。このＤｆｓサービスは、たとえば、サーバ２０２のオペレーティングシステムのレジストリにあるレジストリキーなど、オペレーティングシステム構成を通じて有効にすることができる。
【００２５】
分散ファイルシステム２０４は、ファイルにアクセスするための要求を受け取ることができる。パスリライタ２０６は、レガシーシェアのための任意のパスを自動的に書き換えて、レガシーサーバ名に別のサーバ名をプリペンドすることができる。たとえば、統合サーバなどの一実施形態では、パスリライタ２０６は、レガシーシェアパスを書き換えて、レガシーシェアパスに統合サーバ名をプリペンドすることができる。統合サーバ上にある分散ファイルシステム２０４は、パス名を書き換えた後、書き換えられたパス名に関して通常の処理を継続することができる。この通常の処理の一部として、分散ファイルシステム２０４はレガシーサーバ名に対応するＤｆｓルートにアクセスし、レガシーシェアパス名をトラバースし、再配置されたレガシーシェアのストレージロケーションを指すリンクに遭遇することができる。この場合、分散ファイルシステム２０４はパスリダイレクタ２０８を呼び出すことができる。
【００２６】
パスリダイレクタ２０８は、書き換えられたレガシーシェアパスを含め、レガシーシェアパスをトラバースする間に遭遇した任意のリンクを解決することができる。このようなリンクは、Ｄｆｓ、ＳＭＢ、ＮｅｔＢＩＯＳ、ＮＦＳ、ＮＦＳＰ、または他のタイプのプロトコルなどのファイルシステムプロトコルによってサポートすることができる任意の種類のパスを指すことができる。リンクを解決すると、分散ファイルシステムは、再配置されたレガシーシェアのストレージロケーションのシェアパスで応答することができる。
【００２７】
統合サーバの一実施形態では、統合されたストレージを別個のＤｆｓの名前スペースの中で編成することができる。この場合、リンクは、統合されたレガシーシェアに対応する名前スペースの中のパスを収容することができる。有利なことに、統合されたサーバのパスリダイレクタ２０８は、今度はそのパスを新しい名前スペースにリダイレクトすることができ、その後、新しいＤｆｓ名前スペース内で、新しいＤｆｓ名前スペースへのリダイレクトに影響を与えることなく、ストレージを移動または再編成することができる。
【００２８】
データベース２１０は、分散ファイルシステム２０４に動作可能に結合されており、アクセス活動およびレガシーシェアの使用を記録および監視することができる。データベースは、任意のタイプのデータベースであっても、またはログファイルであってもよい。サーバがレガシーシェアに対する要求を見つけるときは常に、分散ファイルシステム２０４は要求についての情報をデータベースまたはログファイルにログすることができる。アクセスされたレガシーシェアの名前、どのクライアントがシェアへのアクセスを要求したかなど、レガシーシェアへのアクセスに関するどのような情報もデータベースに記録することができる。この情報は、ストレージ管理者によっていくつもの方法で使用することができる。たとえば、ストレージ管理者は、レガシーシェアのアクティブな使用を追跡することができる。シェアがあまり頻繁に使用されていないとストレージ管理者が判断した場合、その管理者はそれらのシェアを廃棄することができる。別の例として、ストレージ管理者は情報を使用して、どのユーザまたはアプリケーションがレガシーパスにアクセスしているかをマッピングすることができ、その結果、ストレージ管理者は、新しいパス名を使用してどのアプリケーションを更新する必要があるか、あるいは、どのユーザに新しいパス名へのリンクを更新するように通知するかを決定することができる。
【００２９】
１つまたは複数のレガシーサーバからストレージを統合するための記載されたシステムは、ストレージの再編成のための図２に示したシステム構成要素を使用することのできる多くのシステム構成の一例である。ストレージを再編成するための他のシステム構成には、モノリシックサーバから１つまたは複数の小規模サーバにわたってレガシーファイルシェアを分散させることによって、モノリシックサーバを置換えるための記載されたシステム構成要素を使用することが可能な分散サーバを含むことができる。さらに他のシステム構成は、レガシーサーバ上のレガシーファイルシェアを置換サーバに転送することによって、レガシーサーバを置換サーバと置換えるための記載されたシステム構成要素を使用することが可能な転送サーバを含むことができる。
【００３０】
図３は、レガシーサーバから他のサーバ上にシェアを再編成するために行われるステップを一般的に表す流れ図である。ステップ３０２では、どのレガシーサーバ名も再編成サーバのネットワークアドレスに別名付けすることができる。レガシーシェアは、再編成サーバまたは他の宛先サーバに格納することができる。レガシーサーバ名に別名を付けると、結果としてレガシーサーバ名の名前検索は再編成サーバに対して解決されることになり、レガシーサーバについてのどのような要求も代わりに、要求を処理するために再編成サーバに対してなされることになる。この別名付けは、ドメイン名システム（ＤＮＳ）およびＮｅｔＢＩＯＳ名など、レガシーサーバに使用されたすべての命名スキームに対して実行されて、任意のプロトコルを通してレガシーサーバ名に関する任意の検索が、実際には、要求が処理されることになる再編成サーバのアドレスとなることを確実なものにすることができる。
【００３１】
レガシーサーバ名に再編成サーバ名で別名付けした後、ステップ３０４で、それぞれのレガシーシェアのコンテンツおよび許可を宛先サーバにコピーすることができる。一実施形態では、再編成サーバは、１つまたは複数のレガシーシェアに対する宛先サーバとしての機能を果たすこともできる。ステップ３０６で、それぞれのレガシーシェアに新しい一意のシェア名が割り当てられる。一実施形態では、この一意のシェア名はユーザまたはクライアントマシンには可視ではない場合がある。ステップ３０８で、レガシーサーバ名を使用して、レガシーサーバのＤｆｓルートを再編成マシン上に作成することができる。一実施形態では、レガシーサーバのＤｆｓルートがレガシーサーバの同一名を有しない場合があり、代わりにレガシーサーバのＤｆｓルート名は、識別子文字列をレガシーサーバ名にプリペンドするなど、レガシーサーバ名の変形とする場合がある。ステップ３１０で、レガシーシェアがコピーされた宛先サーバ上のシェア名へのＤｆｓリンクをレガシーサーバのルート上に作成することができる。レガシーサーバのルート上にリンクが作成されると、コピーされたレガシーシェアに宛先サーバからアクセスすることができる。当業者であれば、図３に記載されたステップが、レガシーサーバから他のサーバにシェアを再編成するために異なる順序で実行できることを理解されよう。たとえば、レガシーファイルのコンテンツおよび許可が宛先サーバにコピーされる前に、レガシーサーバのルートおよびレガシーサーバのルート上のリンクを再編成マシン上に作成することができる。
【００３２】
本発明の一実施形態では、サーバ２０２は、レガシーサーバからより小規模な宛先サーバのセット上にレガシーシェアを統合することのできる統合サーバとすることができる。図４は、統合シェアがレガシーサーバから新しいサーバ上にシェアを統合することを一般的に表す例示的な図である。この実施形態では、レガシーサーバＭｉ４０２など、いくつかのレガシーサーバＭ１からＭｉがあってよい。これらのサーバのそれぞれは、＼＼Ｍｉ＼Ｓｊなどのパス名を使用してアクセスされる１つまたは複数のシェアＳ１からＳｊを備えたファイルシステム４０４を有することができる。ストレージ管理者は、クライアントマシンが同じパス名を使用して任意のシェアへのアクセスを継続することができるので、これらのシェアを新しいストレージサーバのより小さなセット上（新しいサーバＮＳなど）に統合したいと望む場合がある。
【００３３】
しかし、いくつかのシェア名が普及しているので、１つのマシン上のシェアが他のマシン上のシェアと同じ名前を有する場合がある。たとえば、「ｐｕｂｌｉｃ」という名前は一般的なシェア名である。マシンＭｉおよびＭｋ上に、それぞれパス名＼＼Ｍｉ＼ｐｕｂｌｉｃおよび＼＼Ｍｋ＼ｐｕｂｌｉｃを使用してアクセス可能な「ｐｕｂｌｉｃ」というシェア名がある場合がある。同じ名前の２つのシェアが同じサーバ上に統合されると、一方または両方のシェアにアクセス用の一意のパス名が割り当てられない限り、名前の衝突が生じる場合がある。通常、名前の衝突を避けるために、一方または両方のシェアにアクセスするためのパス名を変更する。しかし、本発明では、ストレージ管理者がストレージデバイスのより小さなセット上でこれらのシェアを統合できるようにすることができ、その結果、クライアントマシンは、たとえ名前の衝突が生じる場合であっても、同じパス名を使用して任意のシェアにアクセスを継続することができる。そのためには、統合サーバＣＳ４０６は、図２に記載したように、パスリライタ２０６によって実施されるパス書き換えと、パスリダイレクタ２０８によって実施されるパスリダイレクトとを備えた分散ファイルシステム２０４を含むことができる。
【００３４】
図４の第１のステップは、レガシーサーバ名Ｍｉを統合サーバＣＳ４０６のネットワークアドレスに別名付けして、レガシーサーバの名前、この場合はＭｉを統合サーバＣＳのネットワークアドレスに解決するようにさせることであって、その結果、レガシーサーバＭｉに対するどんな要求も代わりに、統合サーバＣＳに向けられることになる。この別名付け（ａｌｉａｓｉｎｇ）は、ドメイン名システム（ＤＮＳ）およびＮｅｔＢＩＯＳ名など、レガシーサーバに使用されたすべての命名スキームに対して実行して、任意のプロトコルを通してレガシーサーバ名に関する任意の検索が、実際には、レガシーサーバＭｉのアドレスではなく、統合サーバＣＳのアドレスとなることを確実なものにすることができる。
【００３５】
第２のステップは、あらゆる統合されたレガシーシェアについて行われることがある。統合されることになるそれぞれのレガシーシェアＳｊは、レガシーサーバＭｉ４０２から新しいサーバＮＳ４１０にコピーすることができる。シェアＳｊのコンテンツおよび許可を新しいサーバＮＳ４１０にコピーすることができ、ユーザまたはクライアントマシンに可視ではない可能性のある新しい一意のシェア名をシェアＳｊに与えることができる。名前の競合を引き起こすことのない任意の名前を新しいシェアに使用することができる。一実施形態では、命名スキーム「＼＼ＮＳ＼Ｍｉ−Ｓｊ」がこのような競合が起こらないことを確実なものにすることができる。
【００３６】
第３のステップは、統合されたレガシーサーバＭｉごとに１回実行することができる。レガシーサーバ名を使用して、名前Ｍｉを有する新しいＤＦＳルートなど、レガシーサーバのルートを統合サーバＣＳ４０６上に作成することができる。その結果、統合サーバＣＳは、＼＼ＣＳ＼Ｍｉの形式のパスへのアクセスに応答するか、またはローカルに処理することができる。パスリライタ２０６が使用可能な状態で、統合サーバＣＳ４０６の分散ファイルシステム２０４が、＼＼Ｍｉなど、サーバ名Ｍｉで始まるパス名を受け取るときは常に、＼＼ＣＳ＼Ｍｉの後に残りのパスが続くようにパスを書き換えることができる。このように、分散ファイルシステム２０４は、書き換えられたパスがローカルのＤｆｓルートに対応することを見つけることができ、その後、Ｄｆｓプロトコルに従ってそのローカルルートにアクセスすることができる。
【００３７】
一実施形態では、ルートまたはシェア名の最初の文字には違法であるハッシュマーク（ｈａｓｈ  ｍａｒｋ、＃）などの文字を使用して、統合サーバ上にレガシーサーバのルートを作成する前に、それをレガシーサーバ名にプリペンドすることができる。レガシーサーバのルートを作成するためにレガシーサーバ名をそのように修正することによって、統合サーバＣＳ上のローカルシェア名とレガシーサーバのルート名との間に衝突が発生しないであろうことを確実なものにすることができる。このような文字で始まるローカルルートまたはシェア名がないと想定すると、統合サーバＣＳ上のローカルシェアの名前と、統合されたシェアのレガシーサーバからの名前とを素早く識別することができる。これによってストレージ管理者は、有利なこととして統合サーバＣＳ上のどのルートがローカルルートであるか、そしてどのルートが統合されたシェアからであるかを素早く識別することができる。
【００３８】
第４のステップは、新しいサーバ上に統合されるレガシーシェアＳｊごとに１回実行することができる。統合サーバＣＳのレガシーサーバのルート＼＼ＣＳ＼Ｍｉ上に、レガシーシェアがコピーされた新しいサーバＮＳ４１０上のシェア名＼＼ＮＳ＼Ｍｉ−Ｓｊへのリンクを作成することができる。このようなリンクは、Ｄｆｓ、ＳＭＢ、ＮｅｔＢＩＯＳ、ＮＦＳ、ＮＦＳＰ、または他のタイプのプロトコルを含む、分散ファイルシステムプロトコルによってサポートすることのできる任意の種類のパスを指すことができる。一実施形態では、このリンクは、新しいサーバＮＳ４１０上の統合されたレガシーシェアのロケーションを直接指すＤｆｓリンクとすることができる。この場合、＼＼ＣＳ＼Ｍｉ＼Ｓｊで始まるパスを、ルート＼＼ＣＳ＼ＭｉからリンクＳｊに遭遇するまでトラバースし、新しいサーバＮＳ４１０上のファイルシステム４１２の統合されたレガシーシェア＼＼ＮＳ＼Ｍｉ−Ｓｊの新しいロケーションに要求をリダイレクトすることができる。統合サーバの他の実施形態では、統合されたストレージを別個のＤｆｓ名前スペースに編成することができる。この場合、リンクは、統合されたレガシーシェアに対応するパスを名前スペースに収容することができる。有利なことに、統合されたサーバのパスリダイレクタ２０８は、次に、そのパスを新しい名前スペースにリダイレクトすることができ、その後、新しいＤｆｓ名前スペース内で、新しいＤｆｓ名前スペース中へのリダイレクトに影響を与えることなく、統合サーバＣＳ上でのどのような構成変更も必要とすることなく、ストレージを移動または再編成することができる。
【００３９】
レガシーサーバのルート上でリンクが作成されると、新しいサーバＮＳ４１０上で統合されたレガシーシェアにアクセスできるようになる。当業者であれば、図４に表現されたステップが、レガシーサーバから新しいサーバにシェアを統合するために異なる順序で実行できることが理解されよう。たとえば、レガシーファイルのコンテンツおよび許可が新しいサーバＮＳ４１０にコピーされる前に、レガシーサーバのルートおよびレガシーサーバのルート上のリンクを統合サーバＣＳ４０６上に作成することができる。レガシーシェアが新しいサーバ上に統合された後、レガシーサーバを廃棄したり、改名したりするか、または他の目的に使用することができる。
【００４０】
図５は、レガシーサーバから他のサーバに移動された再編成済みシェアにアクセスするために実行されるステップを一般的に表す流れ図である。クライアントは、レガシーシェア名を使用して再編成されたレガシーシェアにアクセスしようと思う場合がある。ステップ５０２で、クライアントは、別名のレガシーサーバ名を解決し、再編成サーバＣＳのネットワークアドレスへの接続を確立することができる。その後クライアントは、ステップ５０４で、レガシーシェアにアクセスするための要求を再編成サーバに送信することができる。一実施形態では、この要求は、レガシーシェアにアクセスを確立するためのＤｆｓ要求とすることができる。
【００４１】
ステップ５０６で、再編成サーバは、再編成サーバ名をレガシーシェアパスにプリペンドすることによってレガシーシェアパスを書き換えることができ、その結果、分散ファイルシステムは、書き換えられたパスがレガシーサーバ名を有するローカルルートに対応することを見つけ、その後そのローカルルートにアクセスすることができる。レガシーシェアパスを書き換えた後、再編成サーバ上の分散ファイルシステムは、書き換えられたパスに関して通常の処理を継続する。その通常の処理の一部として、分散ファイルシステム２０４は書き換えられたレガシーシェアパスをトラバースし、再配置されたレガシーシェアのストレージロケーションを指すリンクに遭遇することができる。この場合、分散ファイルシステム２０４は、ステップ５０８で、パスリダイレクタ２０８を呼び出すことによって、書き換えられたレガシーシェアパスをトラバースする間に遭遇した任意のリンクを解決することができる。このようなリンクは、Ｄｆｓ、ＳＭＢ、ＮｅｔＢＩＯＳ、ＮＦＳ、ＮＦＳＰ、または他のタイプのプロトコルを含む、分散ファイルシステムプロトコルによってサポートすることができるどのような種類のパスでも指すことができる。
【００４２】
リンクを解決すると、分散ファイルシステムはステップ５１０で、再配置されたレガシーシェアのストレージロケーションのシェアパスで応答することができる。次にクライアントは、ステップ５１２でレガシーシェアにアクセスすることができる。レガシーシェアへのリダイレクトに関する情報は、データベースに記録することもできる。再編成サーバの一実施形態では、再配置されたストレージを別個のＤｆｓ名前スペース内で編成することができる。この場合、リンクは、再編成されたレガシーシェアに対応する名前スペースの中のパスを収容することができる。有利なこととして、再編成サーバのパスリダイレクタ２０８は、今度はそのパスを新しい名前スペースにリダイレクトし、その後、新しいＤｆｓ名前スペース内で、新しいＤｆｓ名前スペースへのリダイレクトに影響を与えることなく、ストレージを移動または再編成することができる。
【００４３】
再編成サーバを統合サーバとすることができる本発明の実施形態に戻ると、図６は、図４で以前に記載し図示したように他のサーバ上に統合されたレガシーシェアにクライアントがアクセスすることを一般的に表す例示的な図である。この実施形態では、クライアント６０２は、レガシーシェア＼＼Ｍｉ＼Ｓｊに関するアクセス要求を統合サーバＣＳ４０６に送ることができる。図６の第１のステップでは、レガシーパス＼＼Ｍｉ＼Ｓｊへのアクセスを望むクライアントが、ＤＮＳまたはＮｅｔＢＩＯＳ、あるいは任意の他の名前解決プロトコルのいずれかを通じて、統合サーバＣＳ４０６に別名付けされたサーバ名Ｍｉを解決することができる。次にクライアントは、ＳＭＢプロトコルを介して統合サーバＣＳ４０６のネットワークアドレスに接続することができる。クライアントおよびサーバは、レガシーシェアがＤｆｓシェアであることをネゴシエートすることができ、その後クライアントは、レガシーパス＼＼Ｍｉ＼Ｓｊの作成要求を統合サーバＣＳ４０６に送ることができる。
【００４４】
第２のステップでは、パスリライタ２０６を使用可能にした分散ファイルシステム２０４を実行中の統合サーバがレガシーパス＼＼Ｍｉ＼Ｓｊの作成要求を受け取ることができる。シェアに関する任意のタイプの要求がパスリライタを使用可能にした状態で受け取られると、統合サーバ上の分散ファイルシステムは、統合サーバ名をパスにプリペンドすることによって、レガシーシェアに関する任意のパスを自動的に書き換えることができる。たとえば、パス名＼＼Ｍｉ＼Ｓｊを有するシェアに関する要求を受け取ると、統合サーバ上の分散ファイルシステムは、このパス名に関して何らかの処理を実行する前に、このパスを自動的に＼＼ＣＳ＼Ｍｉ＼Ｓｊに書き換えることができる。その結果、統合サーバＣＳは、＼＼ＣＳ＼Ｍｉの形式のパスへのアクセスに応答するか、またはローカルに処理することができる。パス名を書き換えた後、統合サーバ上の分散ファイルシステムは、書き換えられたパス名上で通常の処理を継続することができる。分散ファイルシステム２０４は、このパスがローカルルートに対応することを見つけることができ、そしてローカルルートＭｉにアクセスすることができる。一実施形態では、統合サーバは、書き換えられたパス＼＼ＣＳ＼Ｍｉ＼Ｓｊを使用してどのルートも見つけることができない場合、クライアントによって送られた当初のパス＼＼Ｍｉ＼Ｓｊに自動的に戻ることができ、これが統合されなかったローカルルートであると想定することができる。
【００４５】
ステップ３では、分散ファイルシステムはレガシーシェアのパス名をトラバースし、ファイルシステム４０８のレガシーパス＼＼Ｍｉ＼Ｓｊ内のリンクＳｊなど、再配置されたレガシーシェアのストレージロケーションを指すリンクに遭遇することができる。一実施形態では、統合サーバ上のＳＭＢサーバは、レガシーシェアパスをトラバースし、Ｓｊがリンクであることを示す再パース（ｒｅｐａｒｓｅ）ポイントを発見することができ、Ｓｊがリンクであることをクライアント６０２に示す、ＳＴＡＴＵＳ＿ＰＡＴＨ＿ＮＯＴ＿ＣＯＶＥＲＥＤなどのメッセージを戻すことができる。ステップ４では、クライアント６０２は、＼＼Ｍｉ＼Ｓｊに関する参照メッセージを統合サーバに送ることができる。メッセージを受け取ると、統合サーバＣＳは、ステップ５で参照要求パス＼＼Ｍｉ＼Ｓｊを＼＼ＣＳ＼Ｍｉ＼Ｓｊに書き換えることができ、パスリダイレクタ２０８を使用して、書き換えられたパス＼＼ＣＳ＼Ｍｉ＼Ｓｊが＼＼ＮＳ＼Ｍｉ−Ｓｊへのリンクにマッピングしているかどうかを判定することができる。パス内には多くのリンクがある場合があり、このプロセスが、パス中で発見された各リンクについて、同じかまたは異なるサーバ上で繰り返すことができることに留意されたい。一実施形態では、統合サーバが書き換えられたパス＼＼ＣＳ＼Ｍｉ＼Ｓｊを使用して何のルートも見つけることができない場合、クライアントによって送られた当初のパス＼＼Ｍｉ＼Ｓｊに自動的に戻すことができ、これが統合されなかったローカルルートであると想定することができる。
【００４６】
ステップ６では、統合サーバは、統合されたレガシーシェアの新しいロケーションであるシェアパス＼＼ＮＳ＼Ｍｉ−Ｓｊへの参照でクライアントに応答する。クライアントは、次にステップ７でパス＼＼ＮＳ＼Ｍｉ−Ｓｊにアクセスすることができる。一実施形態では、クライアントマシンは統合されたレガシーシェアのロケーションへの参照を自動的にキャッシュすることができ、クライアントは、統合サーバをくまなく調べたり、リダイレクトしたりする必要なく、任意の追加のアクセスについて、または特定の期間中に、統合されたレガシーシェアのロケーションに直接アクセスすることができる。
【００４７】
図４および６では、１つの統合サーバが示されているが、統合されたレガシーシェアについて名前のリダイレクトを行うことのできる統合サーバは、１つまたは複数あってもよい。さらに一実施形態では、図７に示したように、レガシーシェアを１つまたは複数の他のサーバ上に配置することもできる。図７の統合サーバ４０６のファイルシステム４０８は、レガシーサーバ名Ｍ１からＭＮに対するローカルルートを含むことができ、そのルートのそれぞれは、そのレガシーサーバのレガシーシェアがコピーされている新しいサーバ上のシェア名へのリンクＳｊを有する。たとえば、統合サーバ４０６のファイルシステム４０８は、新しいサーバＮＳ１  ７０２のファイルシステム７０４上に統合されたレガシーシェア＼＼ＮＳ１＼Ｍ１−Ｓｊを指すリンクＳｊを有するレガシーサーバ名Ｍ１に対するローカルルートを含んでいる。同様に、統合サーバ４０６のファイルシステム４０８は、新しいサーバＮＳＮ７１０のファイルシステム７１２上に統合されたレガシーシェア＼＼ＮＳＮ＼ＭＮ−Ｓｊを指すリンクＳｊを有するレガシーサーバ名ＭＮに対するローカルルートを含んでいる。
【００４８】
統合されたレガシーシェアに対する名前のリダイレクトを行うことに加えて、図８に示したような他の実施形態において、統合サーバはそれ自体、統合されたレガシーシェアのサブセットをホストすることができる。図８の統合サーバ４０６のファイルシステム４０８は、レガシーサーバ名Ｍ１からＭＮに対するローカルルートを含むことができる。レガシーサーバ名Ｍ２およびＭ３に関するローカルルートを除き、ローカルルートのそれぞれは、そのレガシーサーバに対するレガシーシェアがコピーされている新しいサーバ上のシェア名へのリンクＳｊを有する。これらの統合されたレガシーシェアについて、統合サーバ４０６は、名前のリダイレクトを行うことができる。たとえば、統合サーバ４０６のファイルシステム４０８は、新しいサーバＮＳ２  ７０６のファイルシステム７０８上の統合されたレガシーシェア＼＼ＮＳ２＼Ｍ４−Ｓｊを指すリンクＳｊを有するレガシーサーバ名Ｍ４に対するローカルルートを含んでいる。しかし、統合サーバ４０６のファイルシステム４０８はそれ自体、統合されたレガシーシェア＼＼Ｍ２＼Ｓｊおよび＼＼Ｍ３＼Ｓｊを、それぞれ、シェア名＼＼ＣＳ＼Ｍ２−Ｓｊおよび＼＼ＣＳ＼Ｍ３−Ｓｊの下でホストすることができる。統合シェア４０６は、これらの統合されたレガシーシェアについても名前のリダイレクトを行うことができる。当業者であれば、他の実施形態において、統合サーバのみで統合されたシェアのすべてをホストできるであろうことを理解されよう。
【００４９】
このシステムおよび方法がトランスペアレントにストレージを再編成することができるだけでなく、有利なこととして、本発明により、分散ファイルシステムにおける複数のロケーションではなく単一のロケーションにて、再編成されたレガシーシェアへのアクセスおよび使用を監視することができる。統合サーバがレガシーシェアに対する要求を見つけると常に、分散ファイルシステム２０４は、その要求に関する情報をデータベースまたはログファイルにログすることができる。アクセスされたレガシーシェアの名前、どのクライアントがシェアへのアクセスを要求したかなど、レガシーシェアへのアクセスに関するどんな情報もデータベースに記録することができる。この情報はストレージ管理者によって使用されて、レガシーシェアのアクティブな使用を追跡し、あまり頻繁に使用されていないシェアを廃棄することができる。さらにストレージ管理者は、この情報を使用して、どのユーザまたはアプリケーションがレガシーパスにアクセスしているかをマッピングすることができ、その結果、ストレージ管理者は、どのアプリケーションを新しいパス名で更新する必要があるか、またあるいは、どのユーザに新しいパス名へのリンクを更新するよう通知するかを決定することができる。
【００５０】
上記の詳細な説明からわかるように、本発明は、ストレージをトランスペアレントに再編成するための改良されたシステムおよび方法を提供するものであり、その結果、クライアントまたはユーザが再編成されたストレージにレガシーシェア名を使用してアクセスすることができる。有利なこととして、文書、Ｗｅｂページ、およびアプリケーションに埋め込まれたレガシー名を、再配置されたレガシーシェアの新しいストレージロケーションに対するパス名に変更する必要がないだけでなく、再配置されたレガシーシェアのパス名を使用するためにユーザをトレーニングする必要もない。ここで理解されるように、１つまたは複数のレガシーサーバからストレージを統合するための記載されたシステムおよび方法は、ストレージを再編成するために本発明を使用することができる多くのシステム構成の一例に過ぎない。ストレージを再編成するための他のシステム構成には、モノリシックサーバから１つまたは複数の小規模サーバにわたってレガシーファイルシェアを分散させることによって、モノリシックサーバを置換えるために本発明を使用することのできる分散サーバを含むことができる。このように、本発明は、多数のサーバから数台のサーバへとストレージを統合することに加えて、数台のサーバから多数のサーバへとストレージを拡張するために使用することも可能である。他のシステム構成には、レガシーサーバ上のレガシーファイルシェアを置換サーバに転送することによって、レガシーサーバを置換サーバと置き換えるためのシステムおよび方法を使用することができる転送サーバを含むことができる。さらに、提供されるシステムおよび方法は、柔軟性があって拡張可能であり、パス書き換えおよびパスリダイレクトが実装されるファイルシステムまたは名前解決プロトコルを使用する任意のファイルシステムまたはデータアクセスシステムを使用することができる。さらに、本発明が提供するリダイレクトは、シェアパス名、サーバ名、および、ファイルシステムまたはデータアクセスプロトコルにわたって行うことができる。このように、このアプローチを使用して、たとえばＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）Ｓｈａｒｅｐｏｉｎｔサーバ上で、ストレージを統合することができる。結果として、このシステムおよび方法は、現代のコンピューティングに必要とされる重要な利点および恩恵をもたらす。
【００５１】
本発明は、様々な修正および代替の構成が可能であるが、そのうちの特定の実施形態を図面に示し、上記で詳細に説明した。しかし、本発明を開示した特定の形態に限定する意図はなく、その逆に、本発明の趣旨および範囲内にあてはまるすべての修正形態、代替構成、および等価物を対象とすることが意図されている。
【図面の簡単な説明】
【００５２】
【図１】本発明を組み込むことのできるコンピュータシステムを一般的に表すブロック図である。
【図２】本発明の一態様に従って、ストレージを再編成するためのシステム構成要素の例示的なアーキテクチャを一般的に表すブロック図である。
【図３】本発明の一態様に従って、レガシーサーバから他のサーバ上にシェアを再編成するために行われるステップを一般的に表す流れ図である。
【図４】本発明の一態様に従って、統合サーバがレガシーサーバから新しいサーバ上にシェアを統合することを一般的に表す例示的な図である。
【図５】本発明の一態様に従って、レガシーサーバから他のサーバに移動された再編成済みシェアにアクセスするために行われるステップを一般的に表す流れ図である。
【図６】本発明の一態様に従って、クライアントが他のサーバ上に統合されたレガシーシェアにアクセスすることを一般的に表す例示的な図である。
【図７】本発明の一態様に従って、統合サーバがいくつかの他のサーバ上に位置する統合されたレガシーシェアに対して名前のリダイレクトを実行することを一般的に表す例示的な図である。
【図８】本発明の一態様に従って、統合サーバが統合されたレガシーシェアのサブセットをホストすることを一般的に表す例示的な図である。
【符号の説明】
【００５３】
１００  コンピューティングシステム環境
１１０  コンピューティングデバイス
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  取外し不可の不揮発性メモリインターフェース
１４１  ハードディスクドライブ
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取外し可不揮発性メモリインターフェース
１５１  磁気ディスクドライブ
１５２  取外し可能な不揮発性磁気ディスク
１５５  光ディスクドライブ
１５６  取外し可能な不揮発性光ディスク
１６０  ユーザ入力インターフェース
１６１  マウス
１６２  キーボード
１６３  マイク
１６４  タブレット
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８１  メモリ記憶デバイス
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェース
１９１  モニタ
１９２  タッチスクリーンインターフェース
１９３  出力周辺インターフェース
１９４  スピーカ
１９５  プリンタ
２０２  サーバ
２０４  分散ファイルシステム
２０６  パスリライタ
２０８  パスリダイレクタ
２１０  データベース
４０２  レガシーサーバＭｉ
４０４  ファイルシステム
４０６  統合サーバＣＳ
４０８  ファイルシステム
４１０  新しいサーバＮＳ
４１２  ファイルシステム
６０２  クライアント
７０２  新しいサーバＮＳ１
７０４  ファイルシステム
７０６  新しいサーバＮＳ２
７０８  ファイルシステム
７１０  新しいサーバＮＳＮ
７１２  ファイルシステム
【図１】
2004348742.tif 000003
【図２】
2004348742.tif 000004
【図３】
2004348742.tif 000005
【図４】
2004348742.tif 000006
【図５】
2004348742.tif 000007
【図６】
2004348742.tif 000008
【図７】
2004348742.tif 000009
【図８】
2004348742.tif 000010