(57)【特許請求の範囲】
【請求項１】
ディレクトリサービスを使用して分散ファイルシステム（ＤＦＳ）内のリソースへアクセスするための情報の効率的な維持・管理を提供するためのシステムであって、
１又は複数のネットワーク上のリソースの所在を示す少なくとも１つのＤＦＳリンクを有する少なくとも１つのＤＦＳ名前空間をホストするＤＦＳルートターゲットコンポーネントであって、
１又は複数のクライアントに、前記１又は複数のクライアントが前記リソースへアクセスするための情報を提供し、
前記情報は、前記ＤＦＳ名前空間内の前記ＤＦＳリンクに対する少なくとも１つの個別のディレクトリオブジェクトを含み、
前記ディレクトリオブジェクトは、前記ＤＦＳリンクに適切にアクセスするために使用されるメタデータであって、各ＤＦＳリンクにアクセスするための認証情報と、更新されたＤＦＳリンクのバージョン情報を含むメタデータを複数の属性として格納し、
前記メタデータをローカルに格納する
ＤＦＳルートターゲットコンポーネントと、
前記ＤＦＳルートターゲットコンポーネントにディレクトリサービスを提供するディレクトリサービスコンポーネントであって、
前記名前空間全体の属性情報を有し、
前記ＤＦＳルートターゲットコンポーネントへ提供するためのディレクトリオブジェクトを作成し、
ディレクトリコンポーネントと
を具えたことを特徴とするシステム。
【請求項２】
前記ディレクトリコンポーネントは、前記ディレクトリオブジェクトをＬＤＡＰオブジェクトとして作成し、前記メタデータを前記ＬＤＡＰオブジェクトの属性として格納するためにライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）実装を使用すること
を特徴とする請求項１記載のシステム。
【請求項３】
前記ディレクトリコンポーネントは、前記ＤＦＳルートターゲットコンポーネントから、更新されたＤＦＳ情報を受け取ることを特徴とする請求項１記載のシステム。
【請求項４】
前記ディレクトリコンポーネントは、１つまたは複数の異種のＤＦＳルートターゲットコンポーネントに前記更新について通知することを特徴とする請求項３記載のシステム。
【請求項５】
前記ＤＦＳルートターゲットコンポーネントは、所与の操作に有用なディレクトリオブジェクトを取り出すために前記ディレクトリコンポーネントに照会することを特徴とする請求項１記載のシステム。
【請求項６】
前記操作は、前記ディレクトリオブジェクトへの更新の発生についての通知を異種のＤＦＳルートターゲットコンポーネントから受け取ると開始される更新であることを特徴とする請求項５記載のシステム。
【請求項７】
前記ＤＦＳルートターゲットコンポーネントは、前記ディレクトリオブジェクトのローカルコピーを前記更新で更新することを特徴とする請求項６記載のシステム。
【請求項８】
前記少なくとも１つのＤＦＳリンクにアクセスするために使用される前記メタデータは、前記ディレクトリオブジェクトのスキーマに適合することを特徴とする請求項１記載のシステム。
【請求項９】
ディレクトリサービスを使用して、分散ファイルシステム（ＤＦＳ）内のリソースへアクセスするための情報の効率的な維持・管理をするための方法であって、
ディレクトリコンポーネントが、ＤＦＳルートターゲットコンポーネントから、ＤＦＳ名前空間内のＤＦＳリンクにアクセスするためのメタデータであって、各ＤＦＳリンクにアクセスするための認証情報と、更新されたＤＦＳリンクのバージョン情報を含むメタデータを受け取るステップと、
ディレクトリコンポーネントが、前記受信したメタデータを前記ＤＦＳリンクに対応する１つまたは複数の個別のディレクトリオブジェクトの属性として格納するステップであって、前記ディレクトリオブジェクトは、単一のＤＦＳ名前空間内の各々のＤＦＳリンクを表すディレクトリオブジェクトの一部であり、１又は複数のクライアントが前記リソースへアクセスするために使用する情報に含まれる、ステップと
を具えたことを特徴とする方法。
【請求項１０】
前記ディレクトリオブジェクトの属性として格納された前記メタデータは、前記ＤＦＳリンクの一部である１つまたは複数のネットワークリソースに関するデータを具えたことを特徴とする請求項９記載の方法。
【請求項１１】
前記ディレクトリオブジェクトは、そのリレーショナルデータベース照会を可能にするためにリレーショナルデータベースのリレーショナルオブジェクトとして実装されることを特徴とする請求項１０記載の方法。
【請求項１２】
前記ディレクトリオブジェクト内の前記ＤＦＳリンクにアクセスするために使用される前記メタデータを更新し、前記更新についての通知を提供するステップをさらに具えたことを特徴とする請求項９記載の方法。
【請求項１３】
１つまたは複数のディレクトリオブジェクトに関連する更新通知を受け取り、前記更新されたメタデータを決定するためにディレクトリコンポーネントに照会するステップをさらに具えたことを特徴とする請求項９記載の方法。
【請求項１４】
前記更新は、前記ＤＦＳリンクのうちの１つまたは複数の削除であり、前記削除は、前記対応するディレクトリオブジェクトの属性として示されることを特徴とする請求項１３記載の方法。
【請求項１５】
前記ディレクトリオブジェクトのレプリケーションを提供するために、前記決定された、更新されたメタデータに少なくとも一部分基づいて前記ディレクトリオブジェクトの前記属性を更新するステップをさらに具えたことを特徴とする請求項１３記載の方法。
【請求項１６】
前記ディレクトリオブジェクトのメタデータへ前記ＤＦＳリンクにアクセスするために使用される前記メタデータをスキーマ化するステップをさらに具えたことを特徴とする請求項９記載の方法。
【請求項１７】
分散ファイルシステム（ＤＦＳ）内のリソースへアクセスするための情報の効率的な維持・管理を提供するためにディレクトリサービス実装を使用するためのシステムであって、
１つまたは複数のネットワーク上のリソースの所在を示す少なくとも１つのＤＦＳリンクを備える少なくとも１つのＤＦＳ名前空間をホストする手段であって、
１又は複数のクライアントに、前記１又は複数のクライアントが前記リソースへアクセスするための情報を提供し、
前記情報は、前記ＤＦＳ名前空間内の前記ＤＦＳリンクに対する少なくとも１つの個別のディレクトリオブジェクトを含み、
前記ディレクトリオブジェクトは、前記ＤＦＳリンクに適切にアクセスするために使用される１つ又は複数のメタデータであって、各ＤＦＳリンクにアクセスするための認証情報と、更新されたＤＦＳリンクのバージョン情報を含むメタデータを複数の属性として格納し、
前記メタデータをローカルに格納する
手段と、
前記１つまたは複数メタデータを前記ＤＦＳ名前空間をホストする手段に渡すために１つまたは複数の個別のディレクトリオブジェクトを作成する手段であって、
前記名前空間全体の属性情報を有し、
前記受信したメタデータを前記ＤＦＳリンクに対応する１つまたは複数の個別のディレクトリオブジェクトの属性として格納してディレクトリオブジェクトを作成し、
前記ディレクトリオブジェクトは、単一のＤＦＳ名前空間内の各々のＤＦＳリンクを表すディレクトリオブジェクトの一部であり、１又は複数のクライアントが前記リソースへアクセスするために使用する情報に含まれ、
前記ディレクトリオブジェクトは前記名前空間に対して複数存在する
手段を含むことを特徴とするシステム。
【請求項１８】
前記ＤＦＳ名前空間に対応する前記個別のディレクトリオブジェクト内の前記メタデータを更新するための手段をさらに具え、
前記ＤＦＳ名前空間の残りの複数のディレクトリオブジェクトは、前記更新による影響を受けないことを特徴とする請求項１７記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ファイルシステムのための効率的な更新に関する。
【背景技術】
【０００２】
職場および世界中でコンピュータネットワーキング技術（例えばインターネット）が進化したことによって、生産性の大幅な増加がもたらされてきた。特に、多くの仕事が自動化され、また様々な価値あるサービスが、通信の増加、ワークフロー、および多くのビジネスおよび個人用アプリケーションの効果を促すために提供されている。ネットワーキング技術は、ユーザまたはアプリケーションがデータの論理パーティションを他のユーザおよびアプリケーションと共有するための共有機能性を提供する。例えば、ユーザは、何らかの許可規則に従ってネットワークを介してユーザがフォルダに直接アクセスすることを可能にすることによって、１つまたは複数の他のユーザとフォルダを共有することができる。この機能性は、ディレクトリサービスを活用するアプリケーションまたはサービスを実装することよって提供され、このディレクトリサービスは、例えば様々なユーザアカウントおよびネットワークリソースの識別面を定義し、管理する。ライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ：Ｌｉｇｈｔｗｅｉｇｈｔ  ｄｉｒｅｃｔｏｒｙ  ａｃｃｅｓｓ  ｐｒｏｔｏｃｏｌ）は、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ：ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ／ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）などのネットワークプロトコルを介して動作するディレクトリサービス実装の一例である。ＬＤＡＰは、効率およびアクセシビリティのためにレプリケートされたサービスを提供するために、複数のネットワーク装置間で分散させることができ、ＬＤＡＰサービス装置は、ＬＤＡＰ実装によって定義された更新手順によって同期され得る。
【０００３】
より最近の技術では、分散ファイルシステム（ＤＦＳ：ｄｉｓｔｒｉｂｕｔｅｄ  ｆｉｌｅ  ｓｙｓｔｅｍ）が、ＤＦＳリンクと呼ばれる単一のシームレスなリンク内の複数のネットワークリソースへのアクセスを提供するために実装されており、こうしたアクセスは一般に、所与の名前空間について提供される。ＤＦＳルートターゲットサーバは、複数のＤＦＳリンクを有する１つまたは複数の名前空間をホストし；ＤＦＳルートターゲットサーバは、後続のアクセスに備えてＤＦＳリンクデータを収集し管理する。ディレクトリサービス実装（例えばＬＤＡＰ）は、ＤＦＳルートノードが、名前空間に関連するリンクデータをその名前空間に関連する特定のディレクトリオブジェクトに格納することを可能にすることによってこの機能性を提供するために使用されてきた。この実装では、名前空間ディレクトリオブジェクトの属性は、名前空間の様々な共有に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のディレクトリサービス実装を用いて操作する場合、またはＤＦＳルートターゲットサーバへのキャッシュを更新する場合、単一のＤＦＳリンクへの更新を行うには、名前空間全体についての最新リンク情報を提供するためにＤＦＳルートターゲットサーバ間で名前空間全体に関連するディレクトリオブジェクトを転送し、格納することが必要である。
【課題を解決するための手段】
【０００５】
下記は、本明細書に述べられたいくつかの態様についての基本的な理解を促すために、簡略化された概要を提示している。この概要は、広範な概略ではなく、また重要な／重大な要素を識別するものでも、本明細書に述べられた様々な態様の範囲を定めるものでもない。その唯一の目的は、以下に提示されるより詳細な説明の序文として、いくつかの概念を簡略化された形で提示することである。
【０００６】
例えばＤＦＳリンクまたは共有がディレクトリサービスを使用して単一のディレクトリオブジェクトとして格納され得る、分散ファイルシステム（ＤＦＳ）機能性に関連するメタデータの効率的な更新が提供される。したがって、この追加の粒度レベルを提供することによって、リンクに関連するデータの修正時、名前空間全体に関連する単一のディレクトリオブジェクトではなく、単一のＤＦＳリンクに関連するディレクトリオブジェクトだけを更新することが必要となる。さらに、ＤＦＳリンクをディレクトリオブジェクトとして格納し、オブジェクトの属性に、リンクに関連するメタデータを取り込む（ｐｏｐｕｌａｔｅ）ことによって、データへの追加のサービスを提供するためにディレクトリサービス実装を使用することが可能になる。例えば、ＤＦＳリンクデータは、それについての照会および／または解釈が互換性をもつようにデータを標準化することを容易にするためにスキーマ化することができる。さらに、ディレクトリサービス実装の照会機能性は、例えば所与の操作（更新操作など）において関連レコードを検索するために、ＤＦＳリンクに関連しても同様に使用することができる。
【０００７】
一例では、ＤＦＳリンクは、１つまたは複数の使用可能なネットワークリソースの集合体として定義され、ＬＤＡＰ実装で単一のライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）オブジェクトとして格納され得る。さらに、ネットワークリソースの位置、それに関連する許可情報など、ＤＦＳリンクに関連するデータ、および（本明細書に述べられたような）他の情報が、リンクに関連するメタデータとして格納され得る。リンクに関連するデータおよび／またはリンク自体を更新する（例えばリンクを追加または削除する）と、単一のリンクに関連するＬＤＡＰオブジェクトが更新され得る。さらに、更新の存在に関して通知が、１つまたは複数のＤＦＳルートターゲットに送られ得る（またはＤＦＳルートターゲットは、ＬＤＡＰコンポーネントをポーリングすることができ）；名前空間内のＤＦＳデータのレプリケーションを保証するために、ＬＤＡＰ照会機能性を使用して更新済みのレコードを検索することができる。
【０００８】
上記内容および関連の目的を達成するために、例示的な特定の態様について、以下の説明および添付の図面に関連して本明細書に述べる。これらの態様は、実施することができる様々なやり方を示すものであり、そのすべてを本明細書で網羅することが意図されている。他の利点および新規の特徴は、図面と併せて考慮されるとき、以下の詳細な説明から明らかになり得る。
【図面の簡単な説明】
【０００９】
【図１】分散ファイルシステム（ＤＦＳ）名前空間データを異種のディレクトリオブジェクトに格納することを容易にする例示的なシステムのブロック図である。
【図２】ＤＦＳルートターゲットコンポーネントのオブジェクトおよびメタデータの更新を容易にする例示的なシステムのブロック図である。
【図３】複数のリソースへのＤＦＳデータの更新を容易にする例示的なシステムのブロック図である。
【図４】ＤＦＳディレクトリオブジェクトおよびノードの例示的なツリーのブロック図である。
【図５】ネットワーク環境内のＤＦＳデータの更新を容易にする例示的なシステムのブロック図である。
【図６】ＤＦＳリンクに対応するディレクトリオブジェクトの作成のための例示的なフローチャートである。
【図７】ＤＦＳリンクに関連するディレクトリデータを更新するための例示的なフローチャートである。
【図８】ディレクトリデータを介したＤＦＳリンクへのアクセスを提供するための例示的なフローチャートである。
【図９】適切な動作環境を示す概略ブロック図である。
【図１０】コンピュータ環境例の概略ブロック図である。
【発明を実施するための形態】
【００１０】
ディレクトリサービスなどの機能性を使用して、ＤＦＳおよび／または関連メタデータに関する付加価値を提供することができる、分散ファイルシステム（ＤＦＳ）のための効率的なメタデータ更新が提供される。ＤＦＳの定義は、変更が生じるとき単一の定義に関連するオブジェクトだけを更新するディレクトリサービスを使用して定義への更新が効率的に行われ得るように、オブジェクトの属性として格納されたメタデータを有する１つまたは複数のディレクトリオブジェクトとして生成することができ、同様に、検索、スキーマ検証および他のディレクトリプロパティが、定義に関連して使用され得る。これに関して、ＤＦＳ定義は、データを更新すると、単一の名前空間のすべての定義に関連する単一のリソースをトランスポートし、処理し、かつ／または更新することが必要とならないように、ディレクトリサービス実装において１つまたは複数の独立した自己完結型のリソースまたはオブジェクトとして展開される。
【００１１】
一例によれば、ＤＦＳサービスは、所与のドメインについて提供され得る。ドメインは、関連するドメインコントローラを有することができ、このドメインコントローラは、例えば、ＤＦＳ情報を格納するために使用されるディレクトリデータベースを管理し、受信された情報で残りのドメインコントローラを更新することができる。ＤＦＳリンクは、ドメイン上の１つまたは複数の集合リソース（または共有）を備えるＤＦＳノードによって定義することができ；この定義のメタデータは、１つまたは複数のディレクトリオブジェクトとして、またはその中に格納することができる。メタデータは、ＤＦＳリンクに適切にアクセスするために使用され得るデータを少なくとも備えることを理解されたい。この例では、名前空間内および／またはドメインコントローラもしくはＤＦＳノード上に他の多くのＤＦＳリンクが存在し得るが、ドメインコントローラは、ＤＦＳリンクに関連するディレクトリオブジェクトを単に追加することによって、新しいリンクを反映するようにそれぞれのディレクトリ情報を更新することができる。これに関して、ＤＦＳリンクをディレクトリオブジェクトの属性データとして表現する名前空間全体に対する１つのディレクトリオブジェクトを実装するのとは対照的に、所与の名前空間内にさらなるリンクが存在し得るが１つまたは複数のＤＦＳリンクに関連するデータを個別のディレクトリオブジェクトとして格納し、かつ／または管理することができる。さらに、異種のディレクトリオブジェクトまたはＤＦＳノードは、所与の名前空間に関連するオブジェクト全体を置き換え、かつ／または通信するのではなく、単一のオブジェクトを追加することによってローカル情報を更新することができる。これによって、ＤＦＳ情報のより効率的な更新が提供され、またさらに詳細に述べるように、リンクに関連してディレクトリサービス実装の他の機能性を使用することが可能となり得る。
【００１２】
次に、添付の図面を参照して、本開示の様々な態様について述べる。図面では、同じ符号は、全体を通して同様のまたは対応する要素に言及する。しかし、図面、および図面に関する詳細な説明は、特許請求された主題を開示された特定の形に限定するものではないことを理解されたい。より正確に述べると、特許請求された主題の精神および範囲に含まれるすべての修正物、等価物および代替物を網羅することが意図されている。
【００１３】
次に図に移ると、図１は、ＤＦＳリンクを１つまたは複数のディレクトリオブジェクトとして定義することを容易にするシステム１００を示している。１つまたは複数の名前空間のためのＤＦＳ機能性を提供するＤＦＳルートターゲットコンポーネント１０２、ならびに情報の効率的な格納、共有およびその更新を提供するために１つまたは複数の定義されたＤＳＦ名前空間のメタデータを収容することができるディレクトリコンポーネント１０４が示されている。一例によれば、ＤＦＳルートターゲットコンポーネント１０２は、メタデータ、ならびに他のＤＦＳリンクに関連するメタデータに付加価値を提供するためにディレクトリコンポーネント１０４を活用することができるように、（例えば名前空間に属し得る）ＤＦＳリンクを確立し、リンクに関連するメタデータをディレクトリコンポーネント１０４に提供することができる。
【００１４】
ＤＦＳルートターゲットコンポーネント１０２は、１つまたは複数の集合リソースに関する複数のＤＦＳリンクを定義し管理するために使用することができ、例えば、リソースは、ローカルに、かつ／あるいはリンクを介してネットワークまたはドメイン上で共有され得る。共有可能なリソースは、それだけに限らないが、ソフトウェアまたはオペレーティングシステムリソース（例えばファイル、フォルダ、アカウント、資格情報など）、ハードウェアリソース（プリンタ、ドライブ、スキャナ、プロセッサ、物理メモリを含むＩ／Ｏ装置など）および／または類似物を備え得る。一例によれば、ＤＦＳルートターゲットコンポーネント１０２は、フォルダやディレクトリなど、複数の共有リソースの一部の集合体のための単一のＤＦＳリンクを定義することができる。したがって、単一のリンクをＤＦＳルートターゲットコンポーネント１０２に要求することができ、このＤＦＳルートターゲットコンポーネント１０２は、複数のリソースへのアクセスを提供することができるが、この複数のリソースは、エンドユーザには単一のリソースのように見える。これに関して、ＤＦＳルートターゲットコンポーネント１０２は、１つまたは複数のＤＦＳ名前空間のＤＦＳリンクをホストすることができる。ＤＦＳリンクは、単一の、または複数の共有点をも同様に有する単一の装置に関係し得ることを理解されたい。ＤＦＳルートターゲットコンポーネント１０２によって定義されたＤＦＳリンクは、例えばドメイン全体に渡って使用可能なリソース、および／または特定のドメインコントローラによって管理されたリソースの範囲に及び；リンクに関連するメタデータおよび／またはその定義は、例えば所与のリンクに関連する１つまたは複数のオブジェクトの属性としてディレクトリコンポーネント１０４内に含まれ得る。
【００１５】
ディレクトリコンポーネント１０４は、検索、修正、配布、自動更新および／または類似物を含めて、複数の付加価値サービスを備えたディレクトリサービス実装を提供することができる。ディレクトリサービス実装は、例えば、ローカルおよび／またはリモートのネットワークリソースの格納および管理を提供することができ、ディレクトリコンポーネント１０４は、上述されたように、１つまたは複数の通信プロトコル（例えば伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ：ｕｓｅｒ  ｄａｔａｇｒａｍ  ｐｒｏｔｏｃｏｌ）、ポイントツーポイントプロトコル（ＰＰＰ：ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ）、および／または類似物など）によってこうしたリソースへのアクセスを可能にする。一例では、ディレクトリサービスデータを通信するためにＴＣＰ／ＩＰを使用し得るライトウェイトディレクトリアクセスプロトコル（ＬＤＡＰ）が、ディレクトリコンポーネント１０４によって使用され得る。ディレクトリコンポーネント１０４は、（例えばリレーショナルデータベース、階層ファイルまたはデータベース、フラットファイル、コンマ区切り値ファイル、実行可能プログラムもしくはサービス、および／または類似物を含めて）上記の機能性を提供するために様々な構成で実装することができ、また分散させることもできる（例えば、複数のネットワークリソースに冗長な／レプリケートされたデータおよび／またはサービスを提供する複数のディレクトリコンポーネントの一部など）。ディレクトリコンポーネント１０４は、上述されたように、ネットワーク上の様々なリソースに関連する複数のディレクトリオブジェクトを含むことができ、上記の付加価値サービスをディレクトリオブジェクトに関して実施することを可能にすることができる。したがって、所与の名前空間のＤＦＳリンクはそれぞれ、所与の名前空間のリンク全体に必ずしも関係するとは限らないディレクトリコンポーネント１０４の１つまたは複数のディレクトリオブジェクトに関することがあり、これに関して、ＤＦＳリンク情報は、ディレクトリコンポーネント１０４および／またはその提供されたサービスを活用することによって検索され、修正され、配布され、更新され、かつ／または他のやり方でアクセスされ得る。さらに、メタデータに変更が生じる場合、例えば名前空間内の実質上すべてのリンクに関連するディレクトリオブジェクトではなく、名前空間内のリンク全体ではなく所与のリンクに関連するディレクトリオブジェクトが異種のＤＦＳルートターゲットコンポーネントに転送され、より効率的な更新が提供され得る。
【００１６】
図２を参照すると、ディレクトリサービスを使用して、ＤＦＳリンクに関連するメタデータを格納し使用するための例示的なシステム２００が示されている。ＤＦＳルートターゲットコンポーネント１０２および２０２が、ローカルまたはネットワーク環境内の集約された、かつ／または単一のリソースのアクセスに関して１つまたは複数のリンクを定義することを可能にするために提供される。さらに、１つまたは複数のネットワークドメインに関連するサービスを複数のネットワーククライアント（図示せず）に提供するためのドメインコントローラ２０４が示されており；ドメインコントローラは、例えばドメインコントローラ２０４の一部としてディレクトリサービスを提供するために使用されるディレクトリコンポーネント１０４を備える。一例では、ドメインコントローラ２０４は、ネットワークドメインに参加することができ、ディレクトリコンポーネント１０４は、ＤＦＳルートターゲットコンポーネント１０２および２０２からのドメイン内で使用可能なＤＦＳリンクに関連する情報を編成し提供することができる。ドメインコントローラ２０４は、ディレクトリコンポーネント１０４を活用して、接続されたクライアントなどのドメインリソースにディレクトリサービスを提供し、ドメインリソースがディレクトリコンポーネント１０４内に指定された関連データに従って、ＤＦＳルートターゲットコンポーネント１０２および２０２によって定義されたＤＦＳリンクを使用することを可能にすることができる。
【００１７】
一例によれば、ディレクトリコンポーネント１０４は、それぞれのドメインコントローラ２０４に対応するディレクトリサービスに関連する情報を備えることができるが、しかし、さらにディレクトリコンポーネント１０４は、異種のディレクトリコンポーネント（図示せず）に格納されたディレクトリサービスに関連する情報を備えることができ、これに関して、レプリケートされた複数のディレクトリデータベースのうちの１つとなり得る。上述されたように、ディレクトリコンポーネント１０４内に格納された一部の情報は、それぞれのリンクがディレクトリコンポーネント１０４内の複数のオブジェクトの少なくとも１つに対応する、１つまたは複数の所与の名前空間のＤＦＳリンク（例えば１つまたは複数のリソースの集合体へのリンク）に関し得る。ＤＦＳルートターゲットコンポーネント１０２および２０２は、ディレクトリコンポーネント１０４を活用して、ディレクトリコンポーネント１０４に格納されたデータに基づいて１つまたは複数のネットワークリソースにＤＦＳ機能性を提供するためのＤＦＳメタデータを取得することができる。一例では、ＤＦＳルートターゲットコンポーネント１０２は、１つまたは複数のネットワークリソースに関連するＤＦＳリンクを作成するために使用することができ；リンクに関するデータ（例えば、後述されるようなリソース位置、許可情報など）は、ディレクトリコンポーネント１０４の１つまたは複数のディレクトリオブジェクトに格納することができ、この１つまたは複数のディレクトリオブジェクトは、名前空間全体の実質上すべてのリンクに必ずしも関係するのではなく、個別のＤＦＳリンクに関係する。データは、実質上任意の更新機構を使用してＤＦＳルートターゲットコンポーネント２０２に対して更新され、ＤＦＳルートターゲットコンポーネント２０２が、作成されたＤＦＳリンクへのアクセスをも提供することを可能にすることができる。
【００１８】
言及されたように、ディレクトリコンポーネント１０４は、所与の名前空間の実質上すべてのリンクを格納することを必要とせずに、ＤＦＳリンクごとに１つまたは複数のディレクトリオブジェクトを格納することができ；ＤＦＳリンクへの更新処理が行われる場合、ＤＦＳルートターゲットコンポーネントは、例えば、名前空間全体または所与のドメインコントローラ２０４の実質上すべてのリンクに関連するオブジェクトの更新とは対照的に、ＤＦＳリンクに関連する１つまたは複数のオブジェクトだけを更新する必要がある。一例では、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、メタデータのローカルキャッシュまたはコピーをロードすることができる。ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、１つまたは複数のディレクトリオブジェクトに変更が生じたことの通知を受けることができ、対象となるリンク（例えば更新されたリンク）を取得し、それに応じてそのローカル表現を更新するために、具体的には様々なＤＦＳリンクに関連するディレクトリオブジェクトを求めてディレクトリコンポーネント１０４に照会することができる。照会機能性は、一例では、ディレクトリサービス実装によって提供され得ることを理解されたい。さらに、リンクに関連するディレクトリオブジェクトは、関連する識別子を有することができ、この識別子は、（ＤＦＳリンクメタデータ属性の更新により）オブジェクトが更新されるときに変化することがあり、この変化は、ディレクトリコンポーネント１０４に伝搬され；この値は、変更を検出するために、ＤＦＳルートターゲットコンポーネント１０２および／または２０２のローカル値との不整合性を求めて照会され得る。その後、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、更新されたリンクへのアクセスを提供するために、それらのローカルデータを更新することができる。リンクの追加はディレクトリコンポーネント１０４からも同様に照会することができ、ディレクトリオブジェクトは存在するが、その属性が削除を示すように、削除されたＤＦＳリンクがディレクトリコンポーネント１０４からソフトデリートされ得る（ｓｏｆｔ−ｄｅｌｅｔｅ）場合、削除を検索することもできることを理解されたい。さらに、更新は、言及されたように、更新されたディレクトリオブジェクトを１つまたは複数のＤＦＳルートターゲットコンポーネント１０２および／または２０２にプッシュすること、プルの後に続く通知、ならびに／あるいはランダムの、時間が定められた、または他のイベントドリブン型のプルなど、実質上任意の機構を使用して行うことができる。
【００１９】
ＤＦＳルートターゲットコンポーネント１０２および２０２の初期化時、および／またはその存続期間を通じての様々なときに、ディレクトリコンポーネント１０４との完全な同期が行われることがあり、実質上すべてのデータおよびメタデータ（例えばディレクトリオブジェクトおよび属性）がディレクトリコンポーネント１０４からダウンロードされ、ＤＦＳルートターゲットコンポーネント１０２および２０２にアクセス可能に格納される。異種のＤＦＳルートターゲットコンポーネント（例えばＤＦＳルートターゲットコンポーネント２０４）を介してディレクトリデータへの更新が行われるとき、ＤＦＳルートターゲットコンポーネント２０２は、例えば増分更新を受けることがあり、逆も同様である。ＤＦＳルートターゲットコンポーネント１０２と２０２は両方とも、データが異種のＤＦＳルートターゲットコンポーネントによって変更される場合も同様に、増分更新され得ることを理解されたい。簡潔に述べられたように、増分更新は、更新を示すＤＦＳリンクの属性値を求めるディレクトリコンポーネント１０４の照会をトリガするイベントによって実施され得る。トリガは、ＤＦＳルートターゲットコンポーネント１０２および２０２によって受信されるイベント、タイマのイベント、および／または類似物であり得ることを理解されたい。さらに、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、ディレクトリコンポーネント１０４内でそれが更新したメタデータに対する更新を実施しないようにすることができる。
【００２０】
さらに、削除操作は、ディレクトリコンポーネント１０４に照会するとＤＦＳルートターゲットコンポーネント１０２および２０２がソフトデリートを認識し、それに応じてローカルレコードを削除し得るように、ＤＦＳリンクに関連するディレクトリオブジェクトの属性値（例えばソフトデリート）によって示すことができる。このために、削除値属性を有するＤＦＳリンクに対応する動的なオブジェクトがレプリケートされてもよく、ただし、この動的オブジェクトは、ディレクトリコンポーネント１０４によって収集されたガーベッジであり得る。したがって、作成が成功する場合、古いオブジェクトは削除することができ、新しいオブジェクトは、ディレクトリコンポーネント１０４に照会するＤＦＳルートターゲットコンポーネント１０２および／または２０２のための削除表示であり得る。さらに、他の更新および削除方式が可能であり、例えば、レイジー削除が行われることがあり、この場合、ＤＦＳリンクが要求されると、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、適切なオブジェクトを求めてディレクトリコンポーネント１０４をチェックすることができる。例えば、オブジェクトがなくなっている場合、リンクは削除されている。
【００２１】
述べられた諸例によれば、ディレクトリコンポーネント１０４のディレクトリサービス実装によって提供されるサービスは、例えば検索など、ＤＦＳリンクに関して使用され得る。したがって、使用可能なリンク、およびそれに関連するデータは、例えば、上述されたように使用可能な検索基準に基づいて１つまたは複数の関連リンクを検索するために、ディレクトリコンポーネント１０４を使用することにより照会することができる。さらに、ディレクトリスキーマ検証は、一例では、ディレクトリオブジェクトに関して実施され得る。所与のディレクトリオブジェクトに別々に関係する複数のＤＦＳリンクでは、リンクの適合性をもたらすＤＦＳリンクに、同じ制約が課され得る。また、新しいＤＦＳルートターゲットコンポーネントを設定し、または名前空間全体をレプリケートすることは、必ずしも名前空間の実質上すべてのリンクに関連するディレクトリオブジェクトではなく、所望のリンク（または所望の名前空間のリンク）に関連する個別のディレクトリオブジェクトが（例えば非同期に）転送され、新しいＤＦＳルートターゲットコンポーネントを構成するために使用され得るので、より効率的であり得る。
【００２２】
ＤＦＳリンクデータは、更新されると、例えば、ドメインコントローラ２０４、ならびに／あるいはＤＦＳルートターゲットコンポーネント１０２および／または２０２に接続された１つまたは複数のクライアントによって使用され得る（あるいはドメインコントローラ２０４は、クライアントの代理でＤＦＳルートターゲット１０２および／または２０２を活用し、またはその間の通信チャネルを開くことができる）。一例によれば、１つまたは複数のクライアントは、ＤＦＳリンクにアクセスすることができ、このＤＦＳリンクは、１つまたは複数のネットワークリソースの集約されたビューを備え得るが、上述されたように、その集合体のマシン境界は、クライアントに透過的である。ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、ドメインに関連する単一のコンポーネントであっても、例えばレプリケーションおよび／または有効な要求処理のために、（示されたように）１つまたは複数のコンポーネントに分散されてもよいことを理解されたい。さらに、それぞれＤＦＳルートターゲットコンポーネント１０２および／または２０２は、１つまたは複数の名前空間に従ってＤＦＳ機能性を提供することができる。ＤＦＳルートターゲットコンポーネント１０２および２０２は、レプリケートされたデータを提供することができるので、１つのＤＦＳルートターゲットコンポーネント１０２によって定義されたＤＦＳリンクが、ＤＦＳルートターゲットコンポーネント２０２を活用するクライアントまたは他の装置によって使用され得る。
【００２３】
次に図３に移ると、複数のネットワークリソース間でアクセス可能なＤＦＳリンクを確立するための例示的なシステム３００が示されている。ＤＦＳルートターゲットコンポーネント１０２および２０２は、ローカルの、または（例えばネットワークを介して）分散されたファイルシステムリソースへの１つまたは複数のリンクをホストするために提供される。クライアントコンポーネント３０２が提供され、このクライアントコンポーネント３０２は、ＤＦＳリンクデータの作成および／または取得のためのＤＦＳルートターゲットコンポーネント１０２との通信をもたらすＤＦＳ名前空間へのアクセスを要求することができる。１つまたは複数のネットワークリソースにディレクトリサービスを提供するためにそれぞれのディレクトリコンポーネント１０４を有するドメインコントローラ２０４および３０４も提供される。さらに、（例えばリンクターゲットとして）１つまたは複数のＤＦＳリンクに関係し得るネットワークリソース３０６および３０８が提供される。ここでは示されていないが、一実施形態では、ネットワークリソース３０６および／または３０８は、クライアントコンポーネント３０２の機能を実施することもでき、逆も同様であることを理解されたい。一例では、ＤＦＳルートターゲットコンポーネント１０２および２０２はそれぞれ、１つまたは複数のＤＦＳリンクに関連するメタデータを、１つまたは複数の最適なドメインコントローラ２０４および／または３０４の所与のＤＦＳリンクに関連するそれぞれのディレクトリコンポーネント１０４内に格納することができる。
【００２４】
ＤＦＳリンクは、上述されたように、リンクを要求するクライアントコンポーネント３０２（例えばクライアントコンポーネント３０２）のユーザがマシン境界を認識せずにリソースを見ることができるように、１つまたは複数の個別のネットワークリソース３０６および／または３０８へのアクセスを提供することができる。さらに、ＤＦＳリンクは、単一または複数のネットワークリソース上の複数の共有リソース（所与のリソース上の２つのフォルダなど）に関係し得る。したがって、一例では、ＤＦＳルートターゲットコンポーネント１０２は、ネットワークリソース３０６および／または３０８の１つまたは複数の共有リソースを備えるＤＦＳリンクを作成するために（一例ではクライアントコンポーネント３０２によって）使用され得る。ＤＦＳルートターゲットコンポーネント１０２は、ＤＦＳリンクに対応するディレクトリオブジェクトを作成するために、ドメインコントローラ２０４のディレクトリコンポーネント１０４を使用することができる。さらに、（許可、バージョン管理、ステータス、および後述された他の値など）リンクに関係するメタデータが、オブジェクトの属性として格納され得る。オブジェクトを作成すると、ドメインコントローラ２０４および／または３０４に接続された追加のＤＦＳルートターゲットコンポーネント（例えば図２のＤＦＳルートターゲットコンポーネント２０２）は、更新について通知を受け、または別のやり方で更新を発見し、それに応じて、上述されたようにローカルの表現を更新することができる。さらに、（上述されたようにディレクトリオブジェクト情報の更新を求める）ＤＦＳルートターゲットコンポーネント１０２によってＤＦＳリンクが更新され、または削除される場合、更新は、上述されたように、増分更新または完全同期によって伝搬され得る。ネットワークリソース３０６および／または３０８は他のネットワークリソースを介してレプリケートすることができ（または、例えば互いのレプリケーションとすることができ）、ＤＦＳルートターゲットコンポーネント１０２は、リソースの高い可用性のために、ネットワークリソース３０６／３０８、および／またはそのレプリケーションへのアクセスを提供できることを理解されたい。一例では、ＤＦＳルートターゲットコンポーネント１０２は、負荷分散方式に少なくとも一部基づいて、適切なリソースまたはレプリケーションを選ぶことができる。
【００２５】
ＤＦＳルートターゲットコンポーネント１０２内の現在の１つまたは複数の名前空間についてのＤＦＳリンク情報では、更新されたＤＦＳルートターゲットコンポーネント１０２は、ＤＦＳルートターゲットコンポーネント１０２を介してＤＦＳリンクおよびそのリソース（例えばネットワークリソース３０６および／または３０８）にアクセスするための情報を提供することができる。情報は、例えばリンクへのアクセスを求める際に使用するために、クライアントコンポーネント３０２に引き渡すことができる。さらに、示されたように、ドメインコントローラ２０４のディレクトリコンポーネント１０４は、所与のドメイン用のレプリケートされたデータベースとして機能する（例えばドメインコントローラ３０４のディレクトリコンポーネント１０４を含めた）複数のディレクトリコンポーネントのうちの１つであり得る。したがって、（ＤＦＳリンクデータを含めて）ディレクトリコンポーネント１０４内のディレクトリデータは、ディレクトリコンポーネント内に定義された機能を使用して同期することができる。ＤＦＳルートターゲットコンポーネント１０２がドメインコントローラ２０４のディレクトリコンポーネント１０４に対してＤＦＳリンクデータを更新するとき、データは、ディレクトリサービス実装用の事前定義された更新機構を使用するドメインコントローラ３０４のディレクトリコンポーネント１０４を含めて、ドメイン内の他のディレクトリコンポーネントに伝搬され得る。（例えばデータがドメインコントローラ２０４および／または３０４のディレクトリコンポーネント１０４に対して更新されるとき）更新通知がＤＦＳルートターゲットコンポーネント２０２に送られてもよく、ＤＦＳルートターゲットコンポーネント２０２は、更新されたデータを取得するために、最も近いディレクトリコンポーネント１０４（ドメインコントローラ３０４内のディレクトリコンポーネント）に同様に照会することができる。更新は、（例えば完全または増分更新同期によって）上記と同様に実施することができる。続いて、更新されたデータは、ＤＦＳルートターゲットコンポーネント２０２（図示せず）に接続された１つまたは複数のネットワークリソースによって使用され得る。ＤＦＳルートターゲットコンポーネント２０２によって定義されたＤＦＳリンクは、ＤＦＳルートターゲットコンポーネント１０２に対しても同様に更新され、それによって使用され得ることを理解されたい。
【００２６】
別の例によれば、ディレクトリコンポーネント１０４は、ＤＦＳメタデータスキーマの複数のバージョンを備えることができる。例えば、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、複数の名前空間をホストすることができ、ただし、それぞれの名前空間は、ディレクトリコンポーネント１０４内の異なるメタデータスキーマに対応し得る。バージョン情報を使用して、ディレクトリコンポーネント１０４は、例えば名前空間をホストし始めるために、あるいはネットワークに追加された新しいＤＦＳルートターゲットコンポーネントのために、ＤＦＳルートターゲットコンポーネント１０２および／または２０２にメタデータを適切に提供することができる。
【００２７】
次に図４に移ると、１つまたは複数の名前空間内の複数のＤＦＳリンクを表すために使用され得る例示的な階層ＤＦＳディレクトリサービスレイアウト４００が示されている。例えばドメイン内に存在することがあり、一例では名前空間アンカー（図示せず）に関係し得る異種の名前空間を表す名前空間ノード４０２および４０４が提供され、この名前空間アンカーは、名前空間に対するバージョン不可知論的アクセスを提供するために活用することができ、バージョン管理については、上記により詳しく述べている。名前空間ノード４０２は、それぞれＤＦＳターゲットノード４１０、４１２、４１４および４１６などの１つまたは複数の共有リソースの集合体を表し得るＤＦＳリンクオブジェクト４０６および４０８を有する。一例によれば、ＤＦＳターゲットノード４１２、４１４および４１６はそれぞれ、ネットワーク上の共有リソースに関係することがあり、ただし、これらのリソースが組み合わされて、ＤＦＳリンクオブジェクト４０８が関係するＤＦＳリンクが生成される。例えばＤＦＳターゲットノード４１２、４１４および４１６に関するメタデータは、ＤＦＳリンクオブジェクト４０８内に常駐することがあり；同様に、ＤＦＳターゲットノード４１０に関するメタデータは、ＤＦＳリンクオブジェクト４０６内の属性データとして表され得る。ＤＦＳリンクは、上述されたように、例えばそれが単一の共有リソースとして現れ得るように、共有リソースへ透過的なアクセスを提供するように要求され得る。同様にＤＦＳリンクオブジェクト４０６は、共有ネットワークリソースを同様に表し得るＤＦＳターゲットノード４１０へのアクセスを提供することができる。ＤＦＳリンクオブジェクト４０６および４０８は、名前空間ノード４０２として表されたドメイン用に定義された名前空間に関係し得る。（示されたように）所与のドメインについて、２つ以上の名前空間もまた定義され得ることを理解されたい。
【００２８】
ＤＦＳディレクトリサービスレイアウト４００は、例えばディレクトリサービス実装内に定義することができ、ただし、名前空間ノード４０２および４０４は、ディレクトリオブジェクトとして表され得る。さらに、ＤＦＳリンクオブジェクト４０６および４０８は、それぞれのＤＦＳターゲットノード４１０、４１２、４１４および４１６について記述し、またはそれに対応するメタデータを有する別個のディレクトリオブジェクトとして表すことができる。したがって、ディレクトリサービス機能性は、オブジェクトデータおよびメタデータに関して追加のサービスを提供するために活用することができる。述べられたように、ＤＦＳリンクを単一のディレクトリオブジェクトに関連付けることによって、リンクに関してさらなる粒度がもたらされる。例えば、リンク、またはそれに関連するデータが修正されるとき、基になる名前空間に関するオブジェクト（例えば、一般に、名前空間についての他のＤＦＳリンクデータもまた含み得る名前空間ノード４０２など）ではなく、（例えばＤＦＳリンクオブジェクト４０６など）単一のオブジェクトだけを、レプリケートされた他のディレクトリデータベースまたはＤＦＳルートノードに対して更新する必要がある。
【００２９】
これは、例えば、更新された所与のリンクに関連するディレクトリオブジェクトが、名前空間内のすべてのリンクに関連するディレクトリオブジェクトより小さいサイズになる可能性が高いので、より効率的であり得る。さらに、ディレクトリデータベースおよび／またはＤＦＳルートターゲット間でデータをレプリケートする場合、効率を高めるために、述べられたように、既存のディレクトリサービス検索／照会能力を使用して修正済みオブジェクトを検索することもできる。例えば、（ＤＦＳリンクオブジェクト４０６など）ＤＦＳリンクの特定のディレクトリオブジェクト内の１つまたは複数の値は、更新済みおよび／または削除済みのステータスに関連するデータ／メタデータを有し得る。このために、ディレクトリデータベース、ＤＦＳルートターゲット、および／または他のコンポーネントは、修正されたデータを検索し、それに応じてそれ自体のレコードを更新するために、ディレクトリサービス照会機構を使用してディレクトリデータに照会することができる。メタデータのこの効率的な更新によって、データの様々なリソース間のレプリケーションが保証される。述べられたように、各ＤＦＳリンクのディレクトリオブジェクトを使用することによって、適合性向上のためにもリンクデータへのスキーマを実施することができる。例えば、ＤＦＳリンクオブジェクト４０６および４０８の属性のスキーマは、１つまたは複数のディレクトリサービス実装を伴う操作性を促進するために、上述されたようにバージョン情報に関係するエントリを有することができる。さらに、オブジェクトスキーマは、それらが属する常駐の名前空間を識別する属性値、ＤＦＳリンクの一意の識別子、１つまたは複数の値が修正されたことの表示、最後の修正時間、照会リンクの数、コメント、プロパティ、ＤＦＳリンクの一部であるターゲットまたは共有のリスト、ＤＦＳリンクにアクセスするためのリンク経路、セキュリティ情報、短い名前などを有し得る。さらに、ＤＦＳリンクオブジェクト４０６および４０８は、例えば名前空間アンカー値、リンクが関係する名前空間値（例えば文字列、一意の識別子、ポインタ、オブジェクトクラスおよび／または類似物）、メタデータオブジェクトへのリンク、（ソフトデリートと呼ばれ得る）削除されるオブジェクトへのリンクを含めて属性を有することができ；属性は、スキーマにも対応し得る。これに関して、ディレクトリデータベースおよび／またはＤＦＳルートターゲットは、例えば、どのＤＦＳリンクが非アクティブか決定するために取り込まれた削除済みリンクを有するエントリを求めて照会することができる。
【００３０】
別の例によれば、ターゲットノードは、粒度を増すためにそれ自体がオブジェクトになり得る。したがって、ＤＦＳターゲットノード４１０、４１２、４１４および４１６は、別の抽象化レベルを提供するために個別のディレクトリオブジェクトに関係し得る。したがって、ターゲットに関するデータは、更新、検索などを含めて、上述されたようなディレクトリサービス実装の利点および機能性を得ることができる。
【００３１】
図５を参照すると、ネットワーク環境内でアクセス可能なＤＦＳリンクを定義するための例示的なシステム５００が示されている。ＤＦＳルートターゲットコンポーネント１０２および２０２が、それに通信可能に結合された１つまたは複数のクライアントコンポーネント３０２によるアクセスのための１つまたは複数のＤＦＳリンクを作成し管理するために提供される。さらに、ドメインコントローラ２０４および３０４は、データに一貫性があることを保証するためにそれぞれのＤＦＳルートターゲットコンポーネント１０２および２０２のメタデータを格納するためのディレクトリコンポーネント１０４を含む。さらに、ネットワークリソース３０６および３０８は、別個のまたは組み合わされた使用を１つまたは複数のＤＦＳリンクとして表すように示されている。さらに、例えば１つまたは複数のＤＦＳリンクに関して行われた１つまたは複数の推論を評価するために、ＤＦＳルートターゲットコンポーネント１０２および２０２に使用され得る推論コンポーネント５０２が提供される。一例では、ＤＦＳルートターゲットコンポーネント１０２および２０２は、上記に述べられたように、１つまたは複数の共有ネットワークリソースの集合体に関連するＤＦＳリンクを確立することができる。リンクに関連するメタデータは、全体を通してレプリケーションを保証するために、ディレクトリコンポーネント１０４間で取り込まれ、かつ／または更新され得る。さらに、ＤＦＳルートターゲットコンポーネント１０２および２０２は、例えば推論コンポーネント５０２によって行われた推論に少なくとも一部基づいてＤＦＳリンクを定義することができる。
【００３２】
述べられたように、ドメインコントローラ２０４および３０４（ならびに／あるいはそのデータベース）のレプリケートされたディレクトリコンポーネント１０４は、ＤＦＳルートターゲットコンポーネント１０２および２０２によって定義された１つまたは複数のＤＦＳリンクに関連するデータを格納するために、それぞれのＤＦＳルートターゲットコンポーネント１０２および２０２によって活用することができる。一例では、推論コンポーネント５０２は、１つまたは複数のディレクトリコンポーネント１０４にメタデータを入力するバージョンを推論することができ；したがって、ディレクトリコンポーネント１０４、ならびに／あるいはＤＦＳルートターゲットコンポーネント１０２および／または２０２がＤＦＳリンク構成ごとのディレクトリオブジェクトをサポートする場合、ＤＦＳルートターゲットコンポーネント１０２および／または２０２は、それに応じてデータを入力することができる。また、推論コンポーネント５０２は、コンピュータの数、共有の数、環境変数、システムの使用などを含めてネットワークプロパティに少なくとも一部基づいて、１つまたは複数のディレクトリコンポーネント１０４、ならびに／あるいはＤＦＳルートターゲットコンポーネント１０２および／または２０２の構成を予測することができる。さらに、推論コンポーネント５０２は、他の関連またはクロスドメインのＤＦＳルートターゲットコンポーネントの前の構成に少なくとも一部基づいて、１つまたは複数のＤＦＳリンクを割り当て、または定義することができる。前の構成はさらに、ＤＦＳルートターゲットコンポーネント１０２および／または２０２内で実装され、選ばれたサーバ構成に基づいて（例えばネットワーク設定や構成インターフェースによってなど）実施され得る。
【００３３】
推論コンポーネント５０２は、更新のためにも同様に使用することもできる。例えば、ＤＦＳルートターゲットコンポーネント１０２および／または２０２が、ＤＦＳリンクに関する更新を求めて様々な他のディレクトリコンポーネント１０４（例えば最も近いものなど）に照会することができるプル構成では、推論コンポーネントは、更新の時間間隔および／またはイベントを決定するために使用され得る。推論された時間間隔は、それだけに限らないが、例えば要求の数（または他の需要ベースのパラメータ）、名前空間内のリンクの数、リンクの位置、および／または含まれたターゲット共有のうちの１つまたは複数、バージョン、名前空間、および／またはリンクに関連する実質上任意の内部または外部の測定データ値、名前空間、および／または個々のコンポーネントを含めて、複数の要因に基づき得る。推論は、例えばディレクトリコンポーネント１０４間のデータを更新するために使用することもできる。さらに、推論コンポーネント５０２は、複数の推論に基づいて、本明細書に述べられたように１つまたは複数のＤＦＳリンク（特定のリンク、または特定のプロパティを満たすものなど）を求めて照会するために使用することができる。例えば、ＤＦＳリンクは、推論された類似の構成に従って、他のリンクの存在に基づいてディレクトリオブジェクトとして追加され得る。
【００３４】
上述のシステム、アーキテクチャなどは、複数のコンポーネント間の対話に関して述べられている。こうしたシステムおよびコンポーネントは、本明細書で指定されたコンポーネントまたはサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントの一部、ならびに／あるいは追加のコンポーネントを含み得ることを理解されたい。サブコンポーネントは、親コンポーネント内に含まれるのではなく、他のコンポーネントに通信可能に結合されたコンポーネントとして実装することもできる。さらに、１つまたは複数のコンポーネントおよび／またはサブコンポーネントは，集約機能性を提供するために、単一のコンポーネントへと組み合わされてもよい。システム間の通信、コンポーネントおよび／またはサブコンポーネントは、プッシュおよび／またはプルモデルに従って遂行することができる。コンポーネントは、簡潔にするために本明細書では具体的に述べていないが、当業者には知られている１つまたは複数の他のコンポーネントと対話することもできる。
【００３５】
さらに、理解されるように、開示されたシステムおよび方法の様々な部分は、人工知能、機械学習、または知識または規則ベースのコンポーネント、サブコンポーネント、プロセス、手段、方法論、または機構（例えばサポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイズ信頼度ネットワーク、ファジイ論理、データ融合エンジン、分類子．．．）を含み、またはそれからなり得る。とりわけ、こうしたコンポーネントは、実施される特定の機構またはプロセスを自動化して、例えばコンテキスト情報に基づいてアクションを推論することによってシステムおよび方法の一部の適応性、ならびに効率および知能を高めることができる。限定のためではなく、例を挙げると、こうした機構は、具体化されたビューなどの生成に関して使用することができる。
【００３６】
上記に述べられた例示的なシステムを考慮して、開示された主題に従って実施され得る方法論は、図６〜８のフローチャートに関してよりよく理解されよう。説明を単純にするために方法論が一連のブロックとして示され述べられているが、特許請求された主題は、ブロックの一部が、本明細書に示され述べられたものとは異なる順序で、かつ／または他のブロックと同時に行われ得るので、ブロックの順序によって制限されないことを理解されたい。さらに、示されたすべてのブロックが、以下に述べられた方法論を実施することを求められ得るとは限らない。
【００３７】
図６は、ＤＦＳリンクデータをディレクトリオブジェクトのインスタンスとして格納するための方法論６００を示している。述べられたように、ＤＦＳリンクデータは、ＤＦＳリンクのより効率的な更新および照会の提供のため、ディレクトリサービス実装で使用可能な特徴の使用を容易にするために１つまたは複数のディレクトリオブジェクト内に格納され得る。６０２で、ＤＦＳリンクの確立を求める要求が受け取られる。要求は、例えば、１つまたは複数のネットワーク（またはローカル）リソースを単一のＤＦＳリンクとしてまとめた集合体を作成することであり得る。リンクは、一例では、複数のリソースの組合せであるが、要求されたときは単一のリソースとして現れ得る。一例では、ＤＦＳリンクによって定義されたリソースが検証され得る。例えば、集約のために要求されるリソースは、ネットワーク上の異種のリソースであってもよく；したがって、ステータス、存在、および／またはリソースの使用可能性が、例えば動作可能なリンクを保証するために検証され得る。
【００３８】
６０４で、ＤＦＳリンクに関連する１つまたは複数のディレクトリオブジェクトが作成され得る。述べられたように、オブジェクトは、ＤＦＳリンクに関係することがあり、それに関連する１つまたは複数の属性としてメタデータを備えることができる。メタデータは、検証されたリソースの位置に関係することあり；さらに、認証情報が、検証されたリソースへのアクセスおよび／またはＤＦＳリンクへのアクセスのためにメタデータ内に含まれ得る。さらに、上述された、スキーマ化されたフィールドも含まれ得る。６０６で、メタデータが、ディレクトリオブジェクトの属性として格納され得る。ディレクトリオブジェクトを使用して、ＤＦＳリンクに対応するデータを格納することによって、スキーマは、適切なデータが取り込まれることを保証し、また本明細書に述べられたようなディレクトリサービスの機能性を提供するためにリンク上で実施され得る。
【００３９】
図７は、ＤＦＳリンクメタデータ（またはリンク自体）の追加、修正または削除時のディレクトリサービスデータベースおよび／またはＤＦＳルートターゲットの更新を容易にする方法論７００を示している。述べられたように、ＤＦＳリンクは、例えばリンクを更新する際にディレクトリサービス機能性を活用するために、ディレクトリオブジェクトとして格納され得る。７０２で、ＤＦＳリンクデータまたはメタデータに関連して、更新通知が受け取られ得る。例えば、ＤＦＳルートターゲットコンポーネントの要求または類似物などによって情報を更新すると、他のコンポーネントに更新について通知するために更新が送られ得る。更新は、例えば、ディレクトリサービス実装に応じて、更新された情報を備えてもよく、かつ／または例えば更新されたデータを示す表示となり得る。７０４で、更新されたデータを決定するために、ディレクトリサービスへの照会が開始されてもよく；これは、例えば１つまたは複数のディレクトリデータベースに対して行われ得る。述べられたように、ディレクトリサービス実装の照会機能性を使用して、１つまたは複数のＤＦＳリンクをＤＦＳルートターゲットの１つまたは複数のローカルリンクと比較して、例えばメタデータが変更されたかどうか、リンクが削除されたかどうか、かつ／またはリンクが追加されたかどうか決定することができる。削除されたリンクは、例えば、メタデータ内に示された削除値を有する通常のリンクであり得ることを理解されたい。
【００４０】
７０６で、更新されたリンクまたはメタデータが、例えばＤＦＳルートターゲットのローカルメモリ内などに格納され得る。ＤＦＳリンクは１つまたは複数の個別のディレクトリオブジェクトに関係するので、名前空間内の実質上すべてのリンクに関連するディレクトリオブジェクトではなく、データの更新のためにそのリンクのディレクトリオブジェクトだけにアクセスする必要がある。例えば、リンクが新しいリンクである場合、新しいリンクは、ＤＦＳルートターゲット内の新しいオブジェクトとして同様にレプリケートされ得る。これに関して、１つまたは複数のＤＦＳルートターゲットは、ドメインのメンバが最新のＤＦＳリンクへのアクセスを有することを保証するために、所与のドメインについて同期され得る。７０８で、こうしたアクセスが、最新のリンクまたはメタデータに対して許される。したがって、メタデータは、これに関して、ディレクトリサービスを活用することによって効率的に更新し使用することができる。
【００４１】
図８は、それぞれのリンクに関連する１つまたは複数のディレクトリオブジェクト内に格納された対応するデータを有するＤＦＳリンクへのアクセスを提供するための方法論８００を示している。８０２で、ＤＦＳリンクの要求（例えばＤＦＳリンクまたはその一部の使用を求める要求）が受け取られる。ＤＦＳリンクは、（例えばローカルで、かつ／またはネットワーク上で）１つまたは複数のリソースに関係することがあり、リソースは、（例えば、マシンまたはリソースの境界が透過的に見え得るように）エンドユーザには単一のソースのように見え得る。８０４で、メタデータが、要求されたＤＦＳリンクに関連するロードされたディレクトリオブジェクト（例えばＤＦＳルートターゲットのメモリにロードされたオブジェクト）から決定され得る。例えば、データは、リンク（例えば共有リソース）のターゲット位置、認証／認可情報、バージョン管理、名前空間および／または類似物に関係し得る。８０６で、ＤＦＳリンクの関連するリソース位置が、メタデータから抽出される。その共有リソースを得るために、リンクの認証／認可情報も同様に抽出され得ることを理解されたい。８０８で、リソース位置、またはそれへのリンクが、ＤＦＳリンクのリソースにアクセスする際に使用するために返され得る。
【００４２】
本明細書では、用語「コンポーネント」、「システム」などは、コンピュータ関連のエンティティ、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すものである。例えば、コンポーネントは、それだけに限らないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、インスタンス、実行可能ファイル、実行スレッド、プログラムおよび／またはコンピュータであり得る。例を挙げると、コンピュータ上で実行されるアプリケーションとコンピュータの両方が、コンポーネントであり得る。１つまたは複数のコンポーネントが、プロセスおよび／または実行スレッド内に常駐してもよく、コンポーネントは、１つのコンピュータ上に集中させ、かつ／または２つ以上のコンピュータ間で分散させてもよい。
【００４３】
単語「例示的な」は本明細書では、例、事例または例証として働くことを指すために使用されている。本明細書で「例示的」として示されたどんな態様または設計も、他の態様または設計よりも好ましいまたは有利であると必ずしも解釈すべきでない。さらに、例は、明瞭にし理解を促すためだけに提供されており、この技術革新またはその関連部分をいかなるやり方によっても制限するものではない。無数の追加または代替例を提示し得たであろうが、簡潔にするために省略されていることを理解されたい。
【００４４】
さらに、技術革新のすべてまたは一部は、開示された技術革新を実施するようにコンピュータを制御するソフトウェア、ファームウェア、ハードウェアまたはその任意の組合せを作成するための標準のプログラミングおよび／またはエンジニアリング技術を使用して、方法、装置または製品として実施され得る。本明細書では、用語「製品」は、任意のコンピュータ読取り可能装置または媒体からアクセス可能なコンピュータプログラムを包含するためのものである。例えば、コンピュータ読取り可能媒体は、それだけに限らないが、磁気記憶装置（例えばハードディスク、フロッピーディスク、磁気ストリップ．．．）、光ディスク（例えばコンパクトディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｋ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）．．．）、スマートカード、およびフラッシュメモリ装置（例えばカード、スティック、キードライブ．．．）を含み得る。さらに、電子メールを送受信し、あるいはインターネットやローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）などのネットワークにアクセスする際に使用されるものなど、コンピュータ読取り可能電子データを運ぶために搬送波が使用され得ることを理解されたい。もちろん、特許請求された主題の範囲または精神から逸脱せずに、多くの修正がこの構成に加えられ得ることが当業者には認識されよう。
【００４５】
開示された主題の様々な態様についての文脈を提供するために、図９および図１０、ならびに以下の議論は、開示された主題の様々な態様が実施され得る適切な環境についての簡潔な概説を提供するためのものである。この主題について、１つまたは複数のコンピュータ上で実行されるプログラムのコンピュータ実行可能命令の一般的な文脈で上記に述べられているが、この技術革新は、他のプログラムモジュールと組み合わせて実施することもできることが当業者には認識されよう。一般に、プログラムモジュールは、特定のタスクを実施し、かつ／または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造体などを含む。さらに、これらのシステム／方法は、単一のプロセッサ、マルチプロセッサまたはマルチコアプロセッサコンピュータシステム、ミニコンピューティング装置、メインフレームコンピュータ、ならびにパーソナルコンピュータ、手持ち式コンピューティング装置（例えば携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、電話、時計．．．）、マイクロプロセッサベースまたはプログラマブル家電または工業電子機器などを含めて、他のコンピュータシステム構成で実施され得ることが当業者には理解されよう。示された諸態様は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散コンピューティング環境でも実行され得る。しかし、特許請求された主題のすべてではないにしても一部は、スタンドアロンコンピュータ上で実施され得る。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリ記憶装置に置かれ得る。
【００４６】
図９を参照すると、本明細書に開示された様々な態様を実施するための例示的な環境９００が、コンピュータ９１２（例えばデスクトップ、ラップトップ、サーバ、手持ち式、プログラマブル家電または工業電子機器．．．）を含んでいる。コンピュータ９１２は、処理装置９１４と、システムメモリ９１６と、システムバス９１８とを含む。システムバス９１８は、それだけに限らないが、システムメモリ９１６を含めて、システムコンポーネントを処理装置９１４に結合する。処理装置９１４は、様々な使用可能なマイクロプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアおよび他のマルチプロセッサアーキテクチャが、処理装置９１４として使用され得ることを理解されたい。
【００４７】
システムメモリ９１６は、揮発性および不揮発性メモリを含む。起動時などにコンピュータ９１２内の要素間で情報を転送する基本ルーチンを含む基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）は、不揮発性メモリに格納される。限定するためではなく、例を挙げると、不揮発性メモリは、読取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）を含み得る。揮発性メモリは、処理を円滑に進めるための外部キャッシュメモリとして働くことができるランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を含む。
【００４８】
コンピュータ９１２は、取外し可能／取外し不可能、揮発性／不揮発性のコンピュータ記憶装置媒体をも含む。図９は、例えば大容量記憶装置９２４を示している。大容量記憶装置９２４は、それだけに限らないが、磁気または光ディスクドライブ、フロッピーディスクドライブ、フラッシュメモリまたはメモリスティックのような装置を含む。さらに、大容量記憶装置９２４は、記憶媒体を他の記憶媒体とは別々に含むことも、それと組み合わせて含むこともある。
【００４９】
図９は、ユーザおよび／または他のコンピュータと、適切な動作環境９００に示された基本のコンピュータリソースとの間の仲介として働くソフトウェアアプリケーション９２８を示している。こうしたソフトウェアアプリケーション９２８は、システムソフトウェアおよびアプリケーションソフトウェアのうちの１つまたは両方を含む。システムソフトウェアはオペレーティングシステムを含むことができ、このオペレーティングシステムは、コンピュータシステム９１２のリソースを制御し割り当てる働きをする大容量記憶９２４内に格納され得る。アプリケーションソフトウェアは、システムメモリ９１６および大容量記憶装置９２４のいずれかまたは両方に格納されたプログラムモジュールおよびデータを介して、システムソフトウェアによるリソースの管理を活用する。
【００５０】
コンピュータ９１２は、バス９１８に通信可能に結合されて、コンピュータ９１２との対話を円滑に進める１つまたは複数のインターフェースコンポーネント９２６をも含む。例を挙げると、インターフェースコンポーネント９２６は、ポート（例えばシリアル、パラレル、ＰＣＭＣＩＡ、ＵＳＢ、ＦｉｒｅＷｉｒｅ．．．）またはインターフェースカード（例えば音声、ビデオ、ネットワーク．．．）または類似物であり得る。インターフェースコンポーネント９２６は、入力を受け取り、（有線または無線で）出力を提供することができる。例えば、入力は、それだけに限らないが、ポインティング装置、例えばマウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、衛星放送アンテナ、スキャナ、カメラ、他のコンピュータおよび類似物を含めて、装置から受け取ることができる。出力は、インターフェースコンポーネント９２６を介してコンピュータ９１２から出力装置に供給することもできる。出力装置は、特に挙げると、ディスプレイ（例えばＣＲＴ、ＬＣＤ、プラズマ．．．）、スピーカ、プリンタおよび他のコンピュータを含み得る。
【００５１】
一例によれば、処理装置９１４は、１つまたは複数のＤＦＳリンクをディレクトリオブジェクトとして格納するための命令を備え、または受け取ることができ、ただし、大容量記憶９２４は、例えばディレクトリサービス実装のためのディレクトリオブジェクトを格納することができる。システムメモリ９１６は、さらにまたは別法としてこうした命令を収容することができ、処理装置９１４は、命令を処理するために使用され得ることを理解されたい。処理装置９１４は、これに関して、ＤＦＳリンクの要求を受け取り、要求されたデータを返すために、例えばＤＦＳルートターゲットのディレクトリオブジェクトにアクセスすることもできる。さらに、システムメモリ９１６は、例えば１つまたは複数の追加の動作環境とのレプリケーションを保証するためにディレクトリオブジェクトの更新を実施するための命令を保持することができ、かつ／または処理装置９１４は、それを備えることができる。
【００５２】
図１０は、この技術革新が対話し得るコンピューティング環境例１０００の概略ブロック図である。システム１０００は、１つまたは複数のクライアント１０１０を含む。クライアント１０１０は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティング装置）であり得る。システム１０００は、１つまたは複数のサーバ１０３０をも含む。したがって、システム１０００は、数あるモデルの中で特に挙げると、２層クライアントサーバモデル、または多層モデル（例えばクライアント、中層サーバ、データサーバ）に対応し得る。サーバ１０３０は、ハードウェアおよび／またはソフトウェア（例えばスレッド、プロセス、コンピューティング装置）とすることもできる。サーバ１０３０は、例えば、この技術革新の態様を使用することによって変換を実施するスレッドを収容することができる。クライアント１０１０とサーバ１０３０の間の可能な１つの通信は、２つ以上のコンピュータプロセス間で送信されるデータパケットの形であり得る。
【００５３】
システム１０００は、クライアント１０１０とサーバ１０３０の間の通信を円滑に進めるために使用され得る通信フレームワーク１０５０を含む。ここで、上述されたように、クライアント１０１０は、プログラムアプリケーションコンポーネントに対応し、サーバ１０３０は、インターフェース、および任意選択でストレージシステムの機能性を提供することができる。クライアント１０１０は、クライアント１０１０にローカルな情報を格納するために使用され得る１つまたは複数のクライアントデータストア１０６０に動作可能に接続される。同様に、サーバ１０３０は、サーバ１０３０にローカルな情報を格納するために使用され得る１つまたは複数のサーバデータストア１０４０に動作可能に接続される。
【００５４】
例を挙げると、１つまたは複数のクライアント１０１０は、（例えばサーバデータストア１０４０に格納された関連するデータを有し得る）１つまたは複数のＤＦＳリンクへのアクセス、またはその修正を望むことがある。クライアント１０１０は、例えば、ＤＦＳリンクの更新を求める要求を通信フレームワーク１０５０に送信することができ、サーバ１０３０は、リンクデータを更新し、サーバデータストア１０４０に格納することができる。さらに、サーバ１０３０は、全体を通して有効なレプリケーションを保証するために、通信フレームワーク１０５０を介して新しいデータで１つまたは複数の他のクライアント１０１０またはサーバ１０３０を更新することができる。続いて、更新されたデータは、例えば１つまたは複数のサーバ１０３０にアクセスを要求することによって、１つまたは複数の追加のクライアント１０１０に使用可能になり得る。
【００５５】
上記で述べられた内容は、特許請求された主題の態様の例を含む。もちろん、特許請求された主題について述べるためにコンポーネントまたは方法論の考えられるあらゆる組合せについて述べることは不可能であるが、開示された主題の多くのさらなる組合せおよび置換が可能であることが当業者には認識されよう。したがって、開示された主題は、添付の特許請求の範囲の精神および範囲内に含まれるこうしたすべての変更形態、修正形態および変形形態を包含するものである。さらに、用語「含む（ｉｎｃｌｕｄｅｓ、ｈａｓ、ｈａｖｉｎｇ）」またはその形の変形形態が、発明を実施するための形態または特許請求の範囲において使用される限りでは、こうした用語は、用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」が請求項において移行語として使用されるときに「備える」が解釈されるのと同様に包含的なものである。
【図１】
0005456670.tif 000002
【図２】
0005456670.tif 000003
【図３】
0005456670.tif 000004
【図４】
0005456670.tif 000005
【図５】
0005456670.tif 000006
【図６】
0005456670.tif 000007
【図７】
0005456670.tif 000008
【図８】
0005456670.tif 000009
【図９】
0005456670.tif 000010
【図１０】
0005456670.tif 000011