(57)【要約】【課題】分散ファイル・システムが、オブジェクトをモデルに対して分散ファイル・システムの要素を機能させるものとして用いる。【解決手段】各オブジェクトは、関連する論理パス・ネームと物理的アドレスを有している。すべての論理パス・ネームの集合が、論理的にドメインに分割される分散ネーム・スペースからなる。各ドメインはドメイン・ホルダー・オブジェクトを含んでおり、ドメイン・ホルダー・オブジェクトを含むドメイン中のオブジェクトの論理パス・ネームをオブジェクトの記憶された分散システム中でアドレスにマッピングする。オブジェクトのアドレスが分散システムからの情報を検索するためにオブジェクトにアクセスするのに用いられる。【選択図】図１
2008021330.tif 000002
【特許請求の範囲】
【請求項１】
各オブジェクトが、分散ネーム・スペース中のオブジェクトを単独的に識別する論理ネームと対応するアドレスの両方を有しており、前記オブジェクトが論理ドメインにグループ分けされ、このドメインが階層構造に組織化され、この構造内で各ドメインが階層構造中の一つの上位ドメインと階層構造中の一つあるいはそれ以上の下位ドメインとを有している、そのような、オブジェクトの分散ネーム・スペースを有する分散システムにおいて、
各ドメインのためのドメイン・コントローラ要素を利用可能にする工程であって、各ドメイン・コントローラ要素は、いずれの近接する上位ドメインのためのドメイン・コントローラ要素の分散ネーム・スペース中の論理ネームのためのエントリーと、いずれの近接する下位ドメイン内のいずれのドメイン・コントローラ要素のための前記分散ネーム・スペース中の論理ネームのためのエントリーとを記憶するプリフィックス・テーブルをホールドするものであり、前記エントリーの各々が、前記ドメイン・コントローラ要素の各々のアドレスを指定するものである、そのような、ドメイン・コントローラ要素を利用可能にする工程と；
前記分散システムからの情報を求めるリクエストを処理する第１コンピュータ要素を利用可能にする工程であって、前記第１コンピュータ要素は、前記分散ネーム・スペース中の論理ネームのプリフィックスのためのエントリーを記憶する他のプリフィックス・テーブルを含むものであり、各エントリーが、前記プリフィックスによってネーム付けされた、前記分散システム中の選択されたオブジェクトのアドレスを指定するものである、そのような、第１コンピュータ要素を利用可能にする工程と；
前記第１コンピュータ要素において前記選択されたオブジェクトにアクセスするためのリクエストを受信する工程であって、前記リクエストが、前記分散システム中でアクセスすべき前記選択されたオブジェクトのための論理ネームを含んでいる、そのような、リクエストを受信する工程と、
前記リクエストからの前記選択されたオブジェトの論理ネームのプリフィックスのためのエントリーが、前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されているかどうかを決定する工程と；
前記選択されたオブジェクトの論理ネームのプリフィックスのためのエントリーが前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されていないという決定に応答して、
前記第１コンピュータ要素の前記プリフィックス・テーブルから、前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスを検索する工程と；
前記リクエストからの前記選択されたオブジェクトの論理ネームを、前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素に伝送する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のプリフィックス・テーブルから、前記選択されたオブジェクトのアドレスを検索する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラのプリフィックス・テーブルから検索された前記アドレスで前記オブジェクトにアクセスする工程と
を備えることを特徴とする、コンピュータ・システムがオブジェクトにアクセスするための、コンピュータで実施される方法。
【請求項２】
前記第１コンピュータ要素が、ローカル・アドレス・スペース中のオブジェクトに直接アクセスできる前記方法であって、
前記選択されたオブジェクトの論理ネームのプリフィックスのためのエントリーが、前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されているという決定に応答して；
前記第１コンピュータ要素の前記プリフィックス・テーブルにエントリーを有するプリフィックスの内最長のマッチング・プリフィックスを識別する工程と；
前記最長マッチング・プリフィックスに関連するオブジェクトが、前記第１コンピュータ要素によって直接アクセス可能である前記ローカル・アドレス・スペースに記憶されているかどうかを決定する工程と；
前記最長マッチング・プリフィックスに関連する前記オブジェクトが前記ローカル・アドレス・スペース中に記憶されていることが決定される場合には、メモリの一部のためのアドレスを得る工程と；
前記メモリの一部のための前記得られたアドレスを使用して、前記最長マッチング・プリフィックスに関連する前記オブジェクトにアクセスする工程と
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記分散システムは、ネットワーク・サーバーを含んでおり、
前記最長マッチング・プリフィックスに関連する前記オブジェクトが、前記第１コンピュータ要素によって直接アクセス可能である前記ローカル・アドレス・スペース中に記憶されていないことが決定される場合には、
前記選択されたオブジェクトにアクセスするための前記リクセストを前記ネットワーク・サーバに転送する工程と、
前記ネットワーク・サーバーにおいて、前記論理ネームをアドレスに解決することを試行する工程と
をさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記ネットワーク・サーバにおいて、前記選択されたオブジェクトの論理ネームのアドレスへの解決が成功した場合、該アドレスを使用して前記オブジェクトにアクセスする工程をさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記ネットワーク・サーバーにおける、前記選択されたオブジェクトの論理ネームのアドレスへの解決が成功しない場合には、
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスを、前記第１コンピュータ要素のプリフィックス・テーブルから検索する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素に、前記リクエストからの前記選択されたオブジェクトの論理ネームを伝送する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のプリフィックス・テーブルから、前記リクエストからの前記選択されたオブジェクトの論理ネームに対応するアドレスを検索する工程と；
前記リクエストからの前記論理ネームに対応する前記検索されたアドレスで前記オブジェクトにアクセスする工程と；
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスが、この物理的なアドレスを求めるリクエストを送信せずに検索されることを特徴とする請求項１に記載の方法。
【請求項７】
ドメイン・コントローラ要素を利用可能にする前記工程は、前記近接する上位ドメインのための前記ドメイン・コントローラ要素および前記近接する下位ドメインのための前記ドメイン・コントローラ要素の前記論理ネームと対応するアドレスとを検索する工程を含んでおり、前記方法は、前記検索された論理ネームと対応するアドレスとを、前記ドメイン・コントローラ要素のプリフィックス・テーブルに記憶する工程をさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記論理ネームは、論理パス・ネームであることを特徴とする請求項１に記載の方法。
【請求項９】
その要素が自給式ドメインに論理的に分割される諸要素を有する分散システムであって、各ドメインが、このドメインに何が含まれ、かつ、ローカル記憶装置を有するワークステーションである前記要素中に何が含まれているかについての情報をホールドするドメイン・コントローラを含んでいる、そのような、分散システムにおいて、あるコンピュータ・システムにおける方法が、
前記分散システム中のオブジェクトのために分散ネーム・スペースを備えた分散ファイル・システムを利用可能にする工程と；
前記分散ネーム・スペース中の選択されたオブジェクトにアクセスするためのリクエストであって、前記分散ネーム・スペース中の前記選択されたオブジェクトの論理ネームによって該オブジェクトが識別される、そのような、前記リクエストを、前記ワークステーションにおいて受信する工程と；
前記ワークステーションにおいて、オブジェクトの論理ネームおよび関連する解決された前記オブジェクトのアドレスの第１キャッシュを利用可能にする工程と；
前記ワークステーションにおいて前記第１キャッシュにアクセスして、それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームであって既にアドレスに解決されている論理ネームの最長マッチング部を位置特定する工程と；
前記選択されたオブジェクトの論理ネームの一部が未だアドレスに解決されていないということが前記第１キャッシュにアクセスすることによって決定される場合には、
前記ワークステーションを含んでいる前記ドメインのためのドメイン・コントローラに前記リクエストを転送する工程と；
前記ドメイン・コントローラにおいて、論理ネームのための関連する解決済みのアドレスの第２キャッシュを利用可能にする工程と；
前記第２キャッシュにアクセスして、それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームの一部が既にアドレスに解決されているかどうか決定する工程と；
それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームの一部がアドレスに解決されていることが、前記第２キャッシュにアクセスすることによって決定される場合には、
解決済みの前記選択されたオブジェクトの論理ネームの前記一部と、前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスとを前記ワークステーションに転送する工程と；
前記論理ネームの前記一部と、前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスとを前記ワークステーションにおいて前記第１キャッシュに記憶させる工程と；
前記第１キャッシュにアクセスする工程から始まる上記諸工程を繰り返す工程と
を備えることを特徴とする方法。
【請求項１０】
それへのアクセスがリクエストされた前記オブジェクトの論理ネームの一部がアドレスに既に解決されているということが前記第１キャッシュにアクセスすることによって決定される場合には、
前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスが、前記ワークステーションの前記ローカル記憶装置の記憶位置を参照するかどうかを決定する工程と；
解決済みである前記選択されたオブジェクトの論理ネームの前記アドレス部分が、前記ワークステーションの前記ローカル記憶装置の記憶位置を参照する場合には、
前記論理ネームの前記一部がそれに解決されている前記アドレスを用いて前記選択されたオブジェクトにアクセスする工程と
をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記分散システムは、ネットワーク・サーバをさらに備えてなり、前記方法は、
解決済みの前記選択されたオブジェクトの論理ネームの前記一部のアドレスが、前記ワークステーションのローカル記憶装置外の記憶位置を参照することが決定される場合には、
前記選択されたオブジェクトの論理ネームを前記ネットワーク・サーバーに転送する工程と；
前記ネットワーク・サーバーにおいて、アドレスへの前記選択されたオブジェクトの論理ネームのネーム解決を試行する工程と；
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記選択されたオブジェクトの論理ネームをアドレスに解決する際、前記ネットワーク・サーバーにおけるネーム解決が成功である場合には、前記アドレスを使用して前記選択されたオブジェクトにアクセスする工程をさらに備えることを特徴とする請求項１１の方法。
【請求項１３】
前記選択されたオブジェクトの論理ネームをアドレスに解決する際、前記ネットワーク・サーバーにおける前記ネーム解決が成功しない場合には、
前記ワークステーションにおいて前記第１キャッシュを試験することによって解決されることを決定された前記選択されたオブジェクトの論理ネームの前記一部によって識別された前記分散ネーム・スペースの一部を含んだドメインのための第２ドメイン・コントローラに、前記選択されたオブジェクトの論理ネームを転送する工程と；
前記第２ドメイン・コントローラにおいて、論理ネームおよび関連する解決済みのアドレスの他のキャッシュを利用可能にする工程と；
前記第２ドメイン・コントローラにおいて、前記キャッシュにアクセスして、既に解決されている前記選択されたオブジェクトの論理ネームの一部のためのアドレスを見出す工程と；
前記第２ドメイン・コントローラの前記キャッシュにおいて見出された前記アドレスを前記ワークステーションに転送する工程と；
転送された前記アドレスと前記選択されたオブジェクトの論理ネームの関連する部分を前記ワークステーションの前記第１キャッシュに記憶させる工程と
を備えることを特徴とする請求項１１に記載の方法。
【請求項１４】
第１ドメインと第２ドメインとを含む論理ドメインに階層的に組織化された分散システムにおいて、あるコンピュータ・システムにおける方法が、
オブジェクトの分散ネーム・スペースを利用可能にする工程であって、各オブジェクトが、前記ネーム・スペース内のオブジェクトを識別する論理ネームと対応するアドレスとを有するものである、そのような、前記オブジェクトの分散ネーム・スペースを利用可能にする工程と；
各ドメインのためのドメイン・コントローラを利用可能にする工程であって、各ドメイン・コントローラは、エントリーを記憶しているプリフィックス・テーブルをホールドするものであり、各エントリーが、論理ネームの対応するプリフィックスのためのアドレスをホールドするものである、そのような、各ドメインのためのドメイン・コントローラを利用可能にする工程と；
前記第１ドメイン内のオブジェクトにアクセスするためのリクエストを前記第２ドメインから受信する工程と；
前記第１ドメイン内のドメイン・コントローラを参照するリフェラルであって、前記第２ドメインのドメイン・コントローラの前記プリフィックス・テーブル中の第１リフェラルを利用可能にする工程と；
前記第２ドメインのドメイン・コントローラの前記プリフィックス・テーブルにアクセスして、前記第１ドメイン内のドメイン・コントローラを参照する前記第１リフェラルを得る工程と；
前記第１ドメイン内のドメイン・コントローラの前記プリフィックス・テーブル中の第２リフェラルを利用可能にする工程と；
前記第１リフェラルを用いて前記第１ドメイン内のドメイン・コントローラの前記プリフィックス・テーブルにアクセスして、前記第２リフェラルを得る工程と；
前記第２リフェラルを用いて前記オブジェクトにアクセスする工程と
を備えることを特徴とする方法。
【請求項１５】
前記分散システムは、第３ドメインを含み、前記第２リフェラルは、前記第３ドメインにおける論理ネームを参照することを特徴とする請求項１４の方法。
【請求項１６】
前記分散システムは、前記第１ドメイン内のネットワーク・サーバーを含み、前記第２リフェラルは、前記第１ドメイン内の前記ネットワーク・サーバーを参照し、前記第２リフェラルを用いて前記オブジェクトにアクセスする工程は、前記第２リフェラルを用いて前記第１ドメイン内の前記ネットワーク・サーバーにアクセスし、前記ネットワーク・サーバーを介して前記オブジェクトにアクセスする工程を含むことを特徴とする請求項１５の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してファイルシステムに関し、より詳しくは分散装置のための分散ファイルシステムに関する。
【背景技術】
【０００２】
既存の分散システムは、分散システム全体に渡り異なる位置からファイルを検索することの可能な分散ファイルシステムを提供する。既存の分散システムは、ファイルと単独的に一致した論理パス・ネームを、ファイルが記憶された物理的アドレスにマッピィングすることによってファイルへのアクセスを得る。ファイルの論理パス・ネームは本質的にファイルの物理的アドレスと結合されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
分散システム中でアクティブな論理パス・ネームのシェア・ナンバーのために、分散システムのサイズが大きくなるにつれて、論理パス・ネームを物理的アドレスに物理的に有効なマッピィングを提供するような方法で論理パス・ネームを管理するのがより困難になる。さらに、単一の両立したネーム・スペースを分散システムのあらゆる位置から分散システムのユーザーに提供することがより困難になる。従来のシステムは、フラグメンティット・ネーム・スペースを分散システムのユーザーに提供していた。
【課題を解決するための手段】
【０００４】
従来技術の問題点は、本発明によって克服される。本発明の一つの観点によれば、分散システムはオブジェクトの分散されたネーム・スペースを有しており、各オブジェクトがこのオブジェクトを単独的に認識する論理ネームと対応するアドレスの両方を有している。このオブジェクトは論理的ドメインに分類され、これが階層構造に組織化される。各ドメインは階層構造中に上位ドメインを有し、階層構造内に一つあるいはそれ以上の下位ドメインを有している。ドメイン・コントローラ要素は各ドメインに設けられている。各ドメイン・コントロラー要素はプリフィックス・テーブルのようなキャッシュを保持している。このキャッシュは、近接のいずれの上位ドメインに対するドメイン・コントローラ要素のための分散ネーム・スペース中に論理ネーム用のエントリーを保持する。加うるに、キャッシュはまた近接のいずれの下位ドメインのためにドメイン・コントローラ要素のための分散ネーム・スペース中に論理ネーム用のエントリーをドメイン・コントロラー要素に保持する。上述のドメイン・コントローラ要素の各エントリーは、ドメイン・コントローラ要素のためのアドレスを含んでいる。
【０００５】
第１コンピュータ要素が、分散システムに設けられており分散システムからの情報のためのリクエストを処理する。この第１コンピュータ要素は、分散ネーム・スペース中の論理ネームの部分のためのエントリーを記憶する第２キャッシュを含んでいる。各エントリーは、関連する部分によって認識される分散システム中のオブジェクトのアドレスを含んでいる。リクエストは、第１コンピュータ要素が受信した時点のオブジェクトにアクセスすることができる。リクエストは分散システム中のオブジュクトに対応する論理ネームを含んでいる。論理ネームの一部が第１コンピュータ要素のキャッシュに記憶されているかどうかが決定される。第１コンピュータ要素に論理ネームの一部がエントリーされていないことが決定される場合、いくつかのステップが実行される。
【０００６】
第１に、第１コンピュータ要素を含んでいるドメインのためのドメイン・コントローラ要素のアドレスが、第１コンピュータ要素のキャッシュから検索される。論理ネームが、第１コンピュータ要素に含まれているドメイン・コントローラ要素に伝送される。オブジェクトの論理ネームに対応するアドレスが、第１コンピュータ要素を含んでいるドメインのためのドメイン・コントローラ要素のキャッシュから検索される。こうしてオブジェクトが検索アドレスにおいてアクセスされる。
【０００７】
本発明の他の観点によれば、分散システムは第１記憶媒体区画および第２記憶媒体区画を有している。第１ファイル・システムは第１記憶媒体区画上で起動されてファイルが記憶、管理される。同様にして、第２ファイル・システムは第１記憶媒体区画上で起動されてファイルが記憶、管理される。第１および第２記憶媒体区画は同じコンピュータ・システムの一部とすることもでき、単に分離された記憶装置を構成することもでき、あるいは別のコンピュータとすることも可能である。第２ファイル・システムは第１ファイル・システムとは異なる。分散ファイル・システムが設けられている。分散ファイル・システムは、第１記憶媒体区画内のファイルおよび第２記憶媒体区画内のファイルを含む分散ネーム・スペースを備えている。分散ファイル・システムは、ネーム解決サービスを第１記ファイル・システムと第２ファイル・システムに提供する。分散ファイル・システムは第１記ファイル・システムと第２ファイル・システムに対して透過（トランスペアレント）である。
【０００８】
本発明のさらに他の観点によれば、分散システムはコンピュータ・システムで第１ネットワーク作動システムを起動させ、コンピュータ・システムで第２ネットワーク作動システムを起動させる。第１ネットワーク作動システムは第２ネットワーク作動システムと異なる。分散ファイル・システムはネットワーク作動システムを備えており、分散システムにファイルの統一化分散ネーム・スペースを備え付ける。分散ファイル・システムはネーム分解サービスをネットワーク作動システムに提供する。分散ネーム・スペースには、第１ネットワーク作動システムを起動するコンピュータ・システムに記憶されたファイルと、第２ネットワーク作動システムを起動するコンピュータに記憶されたファイルが含まれている。分散ファイル・システムはネットワーク作動システムに対して透過（トランスペアレント）である。
【０００９】
本発明のさらに他の観点によれば、分散システムは多機能要素を有している。分散システムの要素は、論理的にドメインに区画される。各ドメインは他のドメインとは独立して動作可能な自給式である。分散システムは第１ドメインでネットワーク作動システムを起動させ、機密保護方式を実行させる。ドメインは第１機密保護方式とは異なる機密保護方式を実行し、分散ファイル・システムから独立している。
【００１０】
本発明の付加的な観点によれば、一方法は分散システムで実行される。本方法において、分散ファイル・システムが分散ネームスペースを提供する。少なくとも、一つの基礎をなすファイル・システムが、分散システムに設けられておりファイル・システム動作を実行する。ファイル・システム動作が実行されるオブジェクトが分散ネーム・スペースで見ることができ、ファイル・システム動作が実行されない少なくとも一つのオブジェクトも分散ネーム・スペースでみることができる。
【発明を実施するための最良の形態】
【００１１】
本発明の好ましい実施例は分散ファイル・システムを提供する。本発明の好ましい実施例の分散ファイル・システムは、分散システムに分散された要素によって実行される。分散ファイル・システムは、ファイル・システムの指名オブジェクトのために論理的透過性を提供する。これによってシステム中のオブジェクトのパス・ネームはその物理的位置に本質的に結びつかない。さらに、分散ファイル・システムは、分散システムのためのネーム・スペースを単一の論理ツリー構造に組織化する。分散ファイル・システムは分散システムを管理ドメイン（詳細は後述する）に区画される。このドメインはそれぞれ別々の管理方式と機密保護方式を実行する。一つのドメインによって実行される機密保護方式は、分散ファイル・システムから独立することができる。分散ファイル・システムは、異種ファイル・システムと異種ネットワーク作動システムを有する分散システムの各部分を一緒に「結合する」スーパー構造を提供する。分散ファイル・システムは、ネーム解決サービスをファイル・システムとネットワーク作動システムに提供するが、分散ファイル・システムはファイル・システムとネットワーク作動システムに対しては透過（トランスペアレント）である。
【００１２】
図１は本発明の好ましい実施例を実行するのに適した分散システム１００のブロック図である。図１に示された分散システムの形態を単に一例として示したものとして当該技術を認識することができる。他の分散システム形態も本発明を実行するのに使用することができる。
【００１３】
分散システム１００はワークステーション１０１、入力／出力（Ｉ／Ｏ）装置１０２、ネットワーク・サービス１０３、２次記憶装置１０４およびドメイン・コントローラ１０６を含んでいる。ワークステーション１０１とネットワーク・サービス１０３は内部記憶装置、プロセッサおよび他の要素を含んでいる。ネットワーク・サービス１０３はネットワーク作動システムを起動する。２次記憶装置１０４はディスク駆動装置あるいは他の適当な２次記憶装置を含んでいる。ソフトウエアおよびデータは、ワークステーション１０１とドメイン・コントローラ１０６の内部記憶装置内に格納されていることは理解できる。加うるに、ソフトウエアとデータは同様にして２次記憶装置１０４に記憶される。
【００１４】
分散システム１００に含まれた要素は、ドメイン１０８Ａ、１０８Ｂおよび１０８Ｃに論理的に区画される。各ドメインは分散システム１００のハードウエアのサブセットとソフトウエア要素を含んでいる。各ドメインは、ネットワーク作動システムを起動させる一つあるいはそれ以上のネットワークを含んでいる。ドメイン１０８Ａ、１０８Ｂおよび１０８Ｃが、機構の管理部に対応する。ドメイン１０８Ａ、１０８Ｂおよび１０８Ｃは、管理および機密保護の目的とする自給、自足式ユニットである。ドメインは分散システム１００のスケーリングを容易にし、要素はシステムに対して容易に付加ないし取り外しができる。
【００１５】
「ドメイン」の概念をより完全に理解するために、一例を考察すると役に立つ。分散システムが多数の部所を有する会社に使用されると仮定する。このような環境において、第１ドメインは会社の製品開発部のハードウエアとソフトウエア要素を含んでおり、一方第２ドメインは会社のマーケッテイング部のハードウエアとソフトウエア要素を含んでいる。第３ドメインは会社の経理部のハードウエアとソフトウエア要素を含んでおり、第４ドメインは会社の販売部のハードウエアとソフトウエア要素を含んでいる。
【００１６】
各ドメインは少なくとも一つのドメイン・コントローラ１０６を含んでいる。マルチ・ドメイン・コントローラ１０６は各ドメイン（例えば、ドメイン１０８Ｂを参照）内に設けられていて、利用度が高められるとともにドメイン・コントローラ・リソースの負荷がバランスされる。各ドメイン・コントローラは弁別機械である。図２はドメイン・コントローラ２００のいくつかの主要機能要素を示すブロック図である。分散システム１００内の各機能要素は、付加的な要素とともに図２に示した機能要素を含んでいる。各ドメイン・コントローラ２００内の機能要素は、ディレクトリー・サービス情報を提供する。ディレクトリ・サービス（ＤＳ）エントリー２０２を含んでいる。各ドメイン・コントローラはディレクトリ・サービス（ＤＳ）サーバー２０４をも含んでいる。ＤＳサーバー２０４は、ＤＳエントリー２０２へのアクセスを仲介する責任を負っている。ＤＳエントリー２０２は分散ファイル・システムのためにネーミング・サービスを提供する。このＤＳエントリーについては、本願の共同譲受人に譲渡された「ファイル・システム・サービスを有するディレクトリ・サービスの統一化」と称する出願中の発明に、より詳しく開示されている。
【００１７】
キー分散センター（ＫＤＣ）２０６が、ドメイン・コントローラ２００に設けられており、ドメイン内の機密保護を維持する働きをする。分散ファイル・システム（ＤＦＳ）マネジャー２０８が、ドメインに設けられていて分散ファイル・システムに関する知識と、ドメイン内に含まれたボリューム（後ほど詳述する）を管理する。分散ファイル・システム・マネジャー２０８は分散ネーム解決を容易にするための機能をも提供する。分散ネーム解決には分散ネーム・スペース中のネームを物理的アドレスに解決することを包含している。分散ファイル・システム・マネジャー２０８は、付加的にプリフィックス・テーブル（後ほど詳述する）のための管理とファイル・システムに関する知識のための管理を提供する。
【００１８】
分散ファイル・システムにつきより詳しく説明する前に、まずいくつかの概念を説明しておくと役に立つ。「オブジェクト」は論理的構造で、データを保持するデータ機構を含んでおり、また、データ機構に保持されたデータ上で作動される機能を含んでいることもある。オブジェクトはいかなる機能をも含んでいないデータのみを保持できる。分散ファイル・システムにおいて、ハードウエア要素とソフトウエア要素両者がオブジェクトとして変形される。オブジェクトとしてデータ処理リソースを変形することは、リソースの詳細を知る必要性からプログラムを孤立させる。
【００１９】
分散システム１００内に設けられたオブジェクトは「ボリューム」として知られるファイル・システム機構に記憶される。このボリュームは、階層構造式に組織化される（これについては後ほど詳述する）。ボリュームはファイル・システムを支持する物理的記憶装置のユニットであり、オブジェクトの持続性記憶装置からなるファイルとディレクトリとのセットである。各ドメインは、ドメインのためのオブジェクトを保持するとともに、ドメインに対してローカルであるネーム・スペースを規定するそれ自体のボリュームを有している。
【００２０】
各ボリュームは、ボリュームで実行されるべき分散ネーム解決を許容する情報が保持された関連するボリューム・オブジェクトを有している。各ボリューム・オブジェクトは単一のエントリー・パスを備えた単一のボリュームであると言える。情報はボリュームに対するエントリー・パスと、ボリュームへのアクセスのリクエストを処理するためのファイル・サーバーの同一性（アイデンティティ）を含んでいる。ボリューム・オブジェクトは、ボリューム・オブジェクトを含んでいるドメインに、すぐ上のドメインとすぐ下のドメインのためのエントリー・パスも記憶する。ボリュームを含んでいるドメインのすべてのボリュームのためのエントリー・パスもそこに記憶される。
【００２１】
分散システム中のオブジェクトのネームは、分散ネーム・スペースに組織化される。図３は分散システムの分散ネーム・スペース３００のような簡単な例を示す。分散ファイル・システムは、分散ネーム・スペースを見えるようにする。分散ネーム・スペース３００は、分散システムの指名されたオブジェクトを図式的に表現する単一の論理ツリーである。この単一のツリー構造はシステムに関する知識を中心に集めるための場所を提供し、全体のネーム・スペースにアクセスすることを容易にする。分散ファイル・システムは装置とドメイン間の結合部を隠しているので、分散システムはシームレスに見える。従って、システム中にあるシステム同志間の違いと、システム中にあるネットワーク・システム同志間の違いは、分散ネーム・スペースに隠されている。分散ネーム・スペース３００中の各ネームは、分散システム内のオブジェクトに対応する。ドメイン・ホルダー・オブジェクトは、ドメイン・コントローラにそれぞれ対応している。分散ネーム・スペース３００の各アーク（図４参照）は、ネーム・スペース中のパスの一部に対応している。分散ネーム・スペース中で見ることのできるオブジェクトは、ファイル・システム・オブジェクトに全て必要ではなく、むしろファイル・システム動作のために利用できない非ファイル・システム・オブジェクト、例えば遠隔処理コール（ＲＰＣ）サーバー３５８が、分散ネーム・スペースにあってもよい。
【００２２】
分散ネーム・スペースのオブジェクトは図３に示すようにドメインに分割される（ドメインＷ、Ｘ、ＹおよびＺに注意）。すべてのオブジェクトの必要性をドメインの機密保護方式の一部とすることは無意味である。従って、装置と、オブジェクトの集まりと、あるいはあらゆるドメインの信用形態外に属する周辺装置がある。例えば、ＲＰＣサーバー３５８はドメインの一部ではない。ドメイン内のオブジェクトは分散ネーム・スペースのサブ−ツリーを形成する。従って、ドメインＸは、ドメイン・ホルダー・オブジェクト３２０とディレクトリー・オブジェクト３２２とボリューム・オブジェクト３２４とサーバー・オブジェクト３２６とを含んでいる。ドメインＹはドメイン・ホルダー・オブジェクト３２８とワークステーション・オブジェクト３３０とディレクトリー・オブジェクト３３２とドキュメント・オブジェクト３３４とボリューム・オブジェクト３３６とを含んでいる。ドメインＷは、ドメイン・ホルダー・オブジェクト３０６とボリューム・オブジェクト３３８とドキュメント・オブジェクト３４０とディレクトリー・オブジェクト３４２とドキュメント・オブジェクト３４４とを含んでいる。ドメインＷは、ディレクトリー・オブジェクト３４６も含んでいる。ディレクトリー・オブジェクト３４６は、ドキュメント・オブジェクト３５０と３５２を含んでいる。最後に、ドメインＺは、ドメイン・ホルダー・オブジェクト３０８とワークステーション・オブジェクト３０４とボリューム・オブジェクト３５４とドキュメント・オブジェクト３５６とを含んでいる。
【００２３】
論理パス・ネームは、分散ネーム・スペース３００内でオブジェクト、ボリュームあるいは他の要素を確認する。本発明の好ましい実施例の分散ファイル・システムは、論理パス・ネームを物理的アドレスに分解するための手段を提供する。
【００２４】
各ドメインに保持されたオブジェクトは、一つあるいはそれ以上のボリュームに分割される。例えば、ドメインＹはボリューム３１０を含んでいる。ドメインＸはボリューム３１２を含んでいる。ドメインＷはボリューム３１４と３１６を含んでいる。ドメインＺはボリューム３１８を含んでいる。
【００２５】
二つのボリュームが「ジャンクション・ポイント」として知られる論理構造を介して接続される。ジャンクション・ポイントは、「エントリー・ポイント」と「エグジット・ポイント」から構成される。「エントリー・ポイント」は、ボリュームあるいはドメインのためのネーム・スペースのルートに対応する論理パス・ネームである。例えば、論理パス・ネーム「＼ｂ＼ｃ」はドメインＹ内に論理的に含まれているボリューム３１０のルーツに対応する。「エグジット・ポイント」は、他のボリュームが付いている分散ネーム・スペース中の一つのポイントに対応する。例えば、論理パス・ネーム「＼ａ」はドメインＸのボリューム３１２からドメインＷのボリューム３１４へのエグジット・ポイントである。好ましい実施例において、任意のボリュームは多数のエクジット・ポイントを有しているが、エントリー・ポイントはただ一つである。「外部ジャンクション・ポイント」はファイル・システム作動を利用できないネーム・スペースを、分散ネーム・スペース３００に接続する。図３において、外部ジャンクション・ポイントはネーム・スペース３１９をボリューム３１２に接続する。外部ジャクンクション・ポイントは外部ネーム・スペースの分散ファイル・システムとの結合を許容することが理解できる。
【００２６】
「論理ルーツ」は、分散ネーム・スペース３００中の一つのポイントを参考とするプログラム不変量である。論理ルーツは、分散ネーム・スペース３００を介するファイルとオブジェクトへのアクセスを進行させるのに使用する。論理ルーツはコンテキスト感受性があり、その同じ一つの論理ルートが異なる装置の異なるアドレスに解決できる。論理ルーツは典型的にはドメインのルーツ、装置のネーム・スペースあるいはすべてのドメインのルーツと同一視できる。論理ルーツは直系アンセスター・オブジェクトを辿る必要なしに分散ネーム・スペース３００を形成するツリー中のオブジェクトに直接アクセスするための近道である。例えば、図３は論理パス・ネーム「＼ｂ＼ｃ」がドメインＹへのエントリー・ポイントであることを示している。この種の論理パス・ネームは、論理ルートを形成するための例えば「Ｄ：＼」のような論理駆動記号に関連している。このようにして、論理パス・ネーム、例えば「＼ｂ＼ｃ＼ｄ」はパス・ネーム「Ｄ：＼ｄ」を用いてアクセスできる。従って、図３の分散ネーム・スペース３００は、論理ルーツ・ノード３０２以外のオブジェクトを起点として辿ることができる。論理ルーツは分散ネーム・スペース全体のオブジェクトへのアクセスに使用される。
【００２７】
前述したように、本発明の好ましい実施例はこれらの論理パス・ネーム（論理ルーツを含んでいてもよい）を用いて分散システム１００（図１）のオブジェクトにアクセスする。図４はオブジェクトへのアクセスの要求がワークステーションで発生されたときのオブジェクトへのアクセスを実行する工程を示す（ハイレベル透過図から）。アクセス・オブジェクト・ルーチンのコピーが、分散システム１００のすべてのワークステーション１０１と分散システム１００のすべてのドメイン・コントローラ１０６に好便に記憶される。最初に、オブジェクトへのアクセスのリクエストが受信される（ステップ４０２）。図示の都合上、リクエストは図５に示すワークステーション５００から発生されるものと仮定する。ワークステーション５００は入力／出力（Ｉ／Ｏ）装置５０２、中央処理装置（ＣＰＵ）５０４およびメモリ５０６を含んでいる。さらに、ワークステーション５００はキーボード５０８とマウス５１０に接続されている。ワークステーション・メモリ５０６は、ワークステーション作動システム５１２のコピーと少なくとも一つのアプリケーション・プログラム５１４をホールドする。作動システム５１２はアクセス・オブジェクト・ルーチン５１６と、ローカル・ファイル・システムを管理する責任を負っているローカル・ファイル・システム・ドライバー５２６を含んでいる。メモリ５００は四つの他のルーチン５１８、５２２、５２４および５２６もホールドする。これについては後ほど詳しく説明する。
【００２８】
オブジェクトへのアクセスのリクエストは、ワークステーション５００のＣＰＵ５０４へ転送される。ＣＰＵ５０４がアクセス・オブジェクト・ルーチン５１６を実行するとともに、処理を開始してリクエストを達成する。リクエストはアプリケーション・プログラム５１４から、あるいは作動システム５１２から発生される。例えば、質問リクエストがキーボード５０８あるいはマウス５１０で入力されると仮定する。オブジェクトへの質問に対する質問リクエストが入力／出力装置３０２によって受信され、ここから質問リクエストがＣＰＵ５０４に伝送される。ＣＰＵ５０４がアクセスされるべきオブジェクトの論理パス・ネームを抽出する（ステップ４０４）。物理的アドレスではなくて論理パス・ネームが、このようなリクエストによって提供される。従って、論理パス・ネームが分散システム１００の物理的アドレスに変換され、ここでオブジェクトがどこに記憶されたか確認される（ステップ４０６）。換言すれば、分散ネーム解決が実行される。このステップにともなう動作について次にさらに詳しく説明する。得られた物理的アドレスでのオブジェクトがアクセスされる（ステップ４０８）。オブジェクトはワークステーションと同じドメインに配置されるかあるいは他のドメインに遠くに配置されるか、または概してドメインの外側に配置されることが理解できる。
【００２９】
分散ファイル・システムはステップ４０６によって必要とする分散ネーム解決を実行する。図６は検索記憶位置ルーチン５１８のフローチャートであり、分散システム１００のオブジェクトのためにオブジェクトの論理パス・ネームの物理的アドレスへのマッピングを実行する（すなわち、図４のステップ４０６）。検索記憶位置ルーチン５１８のコピーは、すべてのワークステーション１０１（図１）と分散システム１００のドメイン・コントローラ１０６に記憶されるのが好ましい。
【００３０】
最初に、検索記憶位置ルーチン５１８が、リクエストを受信して分散システム１００からの情報を検索する（ステップ６０２）。図示の都合上、ワークステーション５００の検索記憶位置ルーチン５１８がリクエストを受信し、分散システム１００のローカル・サイトからの情報を検索するものと仮定する。アクセスされるべきオブジェクトのための論理パス・ネームが、リクエストから得られる（ステップ６０４）。ワークステーション５００のワークステーション・プリフィックス・テーブル５２０が調査され、リクエストから得られた論理パス・ネームのためのエントリーがプリフィックス・テーブルに記憶され（ステップ６０６）ているかどうか決定される。
【００３１】
ワークステーション・プリフィックス・テーブル５２０はプリフィックス・テーブル・データ構造のほんの一例にすぎない。各ドメイン・コントローラ１０６は、プリフィックス・テーブルをも含んでいる。図８はプリフィックス・テーブル８００のフォーマットをより詳細に示したものである。プリフィックス・テーブル８００は、既に解決されている論理パス・ネームのためのアドレスをホールドするキャッシュとして作用する。プリフィックス・テーブル８００は、オブジェクトの論理パス・ネームを分散システム中の物理的アドレスにマップするのに使用される。ボリュームは関連するボリューム・オブジェクトを有し、ハードウエア要素は典型的にはリクエストを受けてボリュームと要素にそれぞれアクセスする関連するオブジェクトを有していることが理解できる。別々のロー（行）あるいはエントリー８０２がプリフィックス・テーブル８００内に保持された各論理パス・ネームのために設けられている。各ロー８０２は複数のカラム（列）８０４を含んでいる。各カラム８０４は別々のフィールドをホールドしている。カラム８０６は分散ネーム・スペース内のオブジェクトを単独的に識別する論理パス・ネームをホールドする。カラム８０８がカラム８０６の論理パス・ネームに関連するストリングをホールドする。これは基礎をなすネットワーク作動システム（例えば、ワシントン州、レドモンドのマイクロソフト・コーポレーションから販売されているマイクロソフトＬＡＮマネジャー等）に意味がある。本発明の好ましい実施例の分散ファイル・システムは、従来のネットワーク作動システムではなく、どちらかといえばネットワーク作動システムから独立しており個々のネットワーク作動システム同志を結合させるスーパー機構として作用する。
【００３２】
カラム８１０はローカル・ネットワーク作動システム・サーバーあるいはローカル・ファイル・システムに対して意味のあるローカル・アドレスをホールドする。カラム８１２はローカル・ボリューム・フラグをホールドする。このローカル・ボリューム・フラグは、ロー８０２の論理パス・ネームがユーザによってログ・オンされているかワークステーションのボリュームと一致しているかどうかを表示する。カラム８１４がローカル・エグジット・ポイント・フラグをホールドする。このローカル・エグジット・ポイント・フラグが、ロー８０２の論理パス・ネームがローカル・ボリュームのエグジット・ポイントを表しているかどうかを表示する。カラム８１６が、ロー８０２の論理パス・ネームがドメイン・ホルダー・オブジェクトのための論理パス・ネームを表しているかどうかを表示するリフェラル・サービス・フラグをホールドする。最後に、カラム８１８が、インター・ドメイン・ボリューム・フラグをホールドする。このインター・ドメイン・ボリューム・フラグは、ロー８０２の論理パス・ネームを有しているボリュームが、プリフィックス・テーブルを含んでいるドメインの外部のドメインに記憶されているときはいつでもセットされる。
【００３３】
分散システム１００の分散ネーム・スペース３００のすべての論理パス・ネームがワークステーション・プリフィックス・テーブル５２０に記憶されると、オブジェクトの論理パス・ネームのマッピングが、論理パス・ネームと対応するアドレスの検索の簡単なルックアップを伴うだけである。しかし、分散システム１００は、何千あるいは何万ものハードウエワおよび対応するネーム付けされたオブジェクトとしてモデルされたソフトウエア要素を備えたシステムに拡張するので、分散ネーム・スペース３００がこれに対応して拡張される。このような拡張分散システムのための単独プリフィクス・テーブルの管理は、このようなプリフィクス・テーブルのシアー・サイズ(sheer size)のために実行不能になる。
【００３４】
ステップ６０６において、検索記憶位置ルーチン５１８が、リクエストからの論理パス・ネームのプリフィックスである最長の論理パス・ネームのためのワークステーション・プリフィックス・テーブル５２０を調査する。換言すれば、ワークステーション５００は、まず論理ネームのためのネーム解決が完了して、必要知識を既にあるかどうかを発見することを要求する。論理パス・ネームのためのプリフィクスの概念が多分例として最もよく表現されている。例えば、「＼ａ＼ｂ」は論理パス・ネーム「＼ａ＼ｂ＼ｃ」のプリフィックスである。ステップ６０６で見つけられる最長のマッチング・プリフィックスは、全論理パス・ネームと等価である。すなわち、論理パス・ネームの先頭部のみと一致する。ステップ６０８において、検索記憶位置ルーチン５２０は、リクエストからの論理パス・ネームとワークステーション・プリフィックス・テーブル５２０の論理パス・ネームとの間がマッチングされているか（すなわち、プリフィックスが論理ネームの先頭部とマッチングされているか）どうか決定される。これがマッチされておれば、ワークステーション・プリフィックス・テーブル５２０中のマッチングされたエントリーがカラム８１２にそのローカル・ボリューム・フラグ・セットを有しているかどうか決定される（ステップ６１０）。換言すれば、論理パス・ネームを有するオブジェクトがワークステーションのローカル・ボリューム内にあるかどうか決定する。ローカル・ボリューム・フラグがセットされていれば、ローカル・アドレスがプリフィックス・テーブルのカラム８１０から検索され、また、リクエストからの論理パス・ネームが論理パス・ネームのマッチングされた部分の代わりに検索されたローカル・アドレスが使用されることによって変換される（ステップ６１２）。次いで、コントロールがアクセス・オブジェクト・ルーチン５１６に帰還される（図４参照）。
【００３５】
ステップ６１０において、マッチされたエントリーがそのローカル・ボリューム・フラグ・セットを有していないことが決定されれば、ワークステーション５００は他の場所を検索して論理ネームを解決して物理アドレスにしなければならない、従って論理パス・ネームに関連するネットワーク・アドレスがワークステーション・プリフィックス・テーブル５２０のカラム８０８から検索される（ステップ６１４）。オブジェクトへのアクセスのリクエストは、検索ネットワーク・アドレスでネットワーク・サーバーに間接的に伝送される（ステップ６１６）。このリクエストはリディレクタに実際に伝送され、ここからリクエストがネットワーク・サーバーに伝送される。パーフォーム・サーバー・ネーム解決ルーチン５２２はサーバーでネーム解決を実行するように呼び込まれる（ステップ６１８）。
【００３６】
図７はパーフォーム・サーバー・ネーム解決ルーチン５２２によって実行されるステップのフローチャートを示す。論理パス・ネームがリクエストから得られオブジェクトにアクセスし、これがサーバーに伝送される（ステップ７０２）。ネットワーク・サーバー１０３が、パスがローカル・ボリュームを示しているかどうか決定する（ステップ７０６）。パスがネットワーク・サーバー１０３のローカル・ボリューム内にあれば、ネーム解決がネットワーク・サーバー１０３によって実行される（ステップ７０８）。ネットワーク・サーバーが、サーバーのプリフィックス・テーブルに保持された情報にアクセスしてネーム解決を実行する。ステップ７０８が完了すると、パーフォーム・サーバー・ネーム解決ルーチン５２２がプロセス・コントロールを検索記憶位置ルーチン５１８に戻す。
【００３７】
ステップ７０６において、論理パス・ネームとローカル・ボリュームのためのサーバー・プリフィックス・テーブルのエントリーのうちのいずれかとの間でマッチしていないことが決定されると、判別エラーがオリジネート・ワークステーションに戻され、リクエストからの論理パス・ネームがサーバー上のあらゆるローカル・ボリューム内に含まれる分散ネーム・スペース外にあることを表示する（ステップ７１０）。ステップ７１０が完了すると、プロセス・コントロールがステップ６２０で検索記憶位置ルーチン５１８に戻される。
【００３８】
サーバー・ネーム解決ルーチン５２２が実行された後（ステップ６１８）、サーバーが、判別エラーをリターンしたかどうか決定する（ステップ６２０）。サーバーが判別エラーをリターンさせると、ワーキング・プリフィックス・テーブル・エントリー（現在興味のあるプリフィックス・テーブル・エントリーを識別する）がサーバーのプリフィックス・テーブルにエントリーされるようにセットされ、ここで突き合わせが行なわれる（ステップ６２２）。
【００３９】
ステップ６２４において、ワーキング・プリフィックス・テーブル・エントリーがドメイン・コントローラに関連しているかどうか決定し、これによってリフェラルを発生する。リフェラルはボリュームに関する情報のパケットであり、ボリュームはそのためのエントリー・パスと、ファイル・システム・ドライバーの認識がボリュームにアクセスするように呼び出されるプロバイダーＩＤと、ネットワーク・プロバイダーに供給されて、分散ファイル・システムとトークするか、あるいは他のアドレス機構に関係するサービス・アドレスとを含んでいる。ワーキング・プリフィックス・テーブル・エントリーがそのリフェラル・サービス・フラグ（カラム８１６）セットを有しているかどうか決定する。ワーキング・プリフィックス・テーブル・エントリーが、リフェラルが発生されないことを表示すれば、ワーキング・プリフィックス・テーブル・エントリーが、リクエストからの２番目に長い論理パス・ネームを含んでいるプリフィックス・テーブル中のエントリーに変更される（ステップ６２６）。こうして、上述したようにステップ６２４から始まる処理が繰り返される。これらのステップは次の最良プリフィックスを求めて、リフェラルを発生できるドメイン・コントローラを見出す。
【００４０】
ステップ６２４において、ワーキング・プリフィックス・テーブル・エントリーが、リフェラルが発生できることを表示すると（すなわち、ワーキング・プリフィックス・テーブル・エントリーがドメイン・コンテナに関係していれば）、ステップ６２８においてゲット・リフェラル・ルーチン５２４がリフェラルが得られるように呼び出される（ステップ６２８）。このルーチンについて次に詳述する。ワークステーションがプリフィックス・テーブル５２０のリフェラルから誘起された情報を記憶する（ステップ６３０）。
【００４１】
ステップ６０８で、プリフィックス・テーブルが、リクエスト内に含まれた論理パス・ネームのためのマッチング・プリフィックスを含んでいなければ、ワークステーション５００がドメイン・コントローラからの援助を求める。より詳しく説明すると、ワーキイング・プリフィックス・テーブル・エントリーがワークステーションを含むドメインのドメイン・コントローラのプリフィックス・テーブル関連するようにセットされ、ここからリクエストが発生される（ステップ６３２）。ステップ６２４で開始される上述したステップが、論理パス・ネームがアドレスに解決されるまでドメイン・コントローラで繰り返される。
【００４２】
図９はゲット・リフェラル・ルーチン５２４によって実行されるステップのフローチャートである。最初に、ステップ９０２において、リフェラルのためのリクエストがワーキイング・プリフィックス・テーブル・エントリーに関連してドメイン・コントローラで受信される。アクセスされるべきオブジェクトのための論理パス・ネームがリクエストから引き出される（ステップ９０４）。リクエストが受信されるドメイン・コントローラにおけるプリフィックス・テーブルが最長論理パス・ネームのためのＤＦＳマネジャー２０８の制御下で検索さる。このパス・ネームはリフェラル・リクエストからの論理パス・ネームのプリフィックスで、これが検索される（ステップ９０６）。テーブルのプリフィックスのどれかと論理パス・ネーム間のマッチがあるかどうかが決定される（ステップ９０８）。マッチがなければ、ステップ９０８において、リフェラルが近接する上位ドメインのドメイン・コントローラのためのネットワーク・アドレスを得ることによって形成される（すなわち、プリフィックス・テーブルのカラム８０８に保持される）（ステップ９１０）。リフェラルがドメイン・コントローラから、これがリクエストされたワークステーションに伝送される（ステップ９２０）。次いで、コントロールが記憶位置ルーチン５１８を検索に戻す。
【００４３】
ステップ９０８において、マッチがあるかどうか決定される。マッチされた論理パス・ネームがドメイン・コントローラのドメインの外部のボリュームに関連しているかどうかが、インター−ドメイン・ボリューム・フラグが「ファルス」としてセットされているかどうか調査される（ステップ９１２）ことによって決定される。インター−ドメイン・ボリューム・フラグが「ファルス」としてセットされておれば、リフェラルがマッチされたプリフィックス・テーブル・エントリーから構築され（ステップ９１３）、リフェラルが所望のボリュームを保持するワークステーションに進められる（ステップ９２０）。インター−ドメイン・ボリューム・フラグが「ツルー」にセットされておれば、処理はステップ９１４で続行される。
【００４４】
ステップ９１４において、リフェラル・サービス・フラグがチェックされる。リフェラル・サービス・フラグが「ファルス」にセットされておれば、ドメイン・コントローラのプリフィックス・テーブルが、現在マッチされているプリフィックス・テーブル・エントリー中の論理パス・ネームのプリフィックスである最長論理パス・ネームにつき検索される（ステップ９１６）。処理がステップ９１４を繰り返すことによって続行される（上述の通り）。
【００４５】
ステップ９１４において、リフェラル・サービス・フラグが「ツルー」にセットされていることが決定されれば、現在マッチされているプリフィックス・テーブル・エントリーからドメイン・コントローラのネットワーク・アドレスを得ることによって形成される（ステップ９１８）。ステップ９１８が完了されると、ステップ９２０による処理が続行され、ここでリフェラルがこれを要求しているワークステーションに伝送される。次いでコントロールが記憶位置ルーチン５１８を検索に戻す。
【００４６】
前述したように、プリフィックス・テーブルが各ワークステーション１０１と各ドメイン・コントローラ１０６に記憶される。プリフィックス・テーブルの各変数を初期化する必要がある。ドメイン・コントローラのプリフィックス・テーブルがドメイン中のボリュームを表すボリューム・オブジェクトから検索されたデータで初期化され、対応するドメイン・ホルダー・オブジェクトを記憶する。
【００４７】
図１５はドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４を初期化することによって実行されるステップを示し、このルーチンがボリューム・オブジェクトに記憶されたデータを用いてドメイン・コントローラ中のプリフィックス・テーブルを初期化する。図１１はこのような初期化に用いられるドメイン・コントローラ１１００のいくつかの要素を示す。ステップ１５０２において、初期化ドメイン・ルート・ボリューム・ローカル情報ルーチン１１０６が呼び出される。図１０はこのルーチン１１０６によって実行されるステップを示す。ステップ１００１において、ドメイン・ルーツ・ボリュームのエントリー・パスが、ドメイン・コントローラ１０９を含んでいるドメインにつきルート・ボリュームのボリューム・オブジェクトから検索される。エントリーがドメイン・コントローラ・プリフィックス・テーブル１１０２で形成され、検索エントリー・パスが形成されたエントリーに記憶される（ステップ１００３）。ルーツ・ボリュームのローカル・アドレスがルーツ・ボリュームのボリューム・オブジェクトから検索され、ローカル・アドレスがエントリーに記憶される（ステップ１００５）。エントリー中のローカル・ボリューム・フラグ８１２がセットされる（ステップ１００７）。ステップ１００９において、ドメイン・ルーツ・ボリュームのネットワーク・アドレスが、ルーツ・ボリュームのボリューム・オブジェクトから検索され、ネットワーク・アドレスがドメイン・コントローラ・プリフィックス・テーブル１１０２のエントリーにセットされる（ステップ１００７）。ステップ１０１１において、ドメイン・コントローラ・プリフィックス・テーブル９０７のエントリー中のリフェラル・サービス・フラグ８１６がセットされる。ボリューム・オブジェクトがドメイン・ルーツ・ボリュームにつき検索され、ドメイン・ルーツ・ボリュームのための未処理エグジット・ポイントがまだ存在しているかどうか判定される（ステップ１０１３）。ドメイン・ルーツ・ボリュームのエグジット・ポイントが、すべてのドメイン・ボリューム・オブジェクトのためのドメイン・コントローラのプリフィックス・テーブルにロードされたエントリーを単に試験することによって決定される。未処理エグジット・ポイントがボリューム・オブジェクトに存在していれば、処理がステップ１０１５から１０２１によって続行される。
【００４８】
ステップ１０１５において、第１の未処理エグジット・ポイントがドメイン・ルーツ・ボリュームにつきボリューム・オブジェクトから検索される。ステップ１０１７において、検索されたエグジット・ポイントのエグジット・パスのためのドメイン・コントローラ・プリフィックス・テーブル１１０２にエントリーがあるかどうか判定される。エグジット・パスにつきドメイン・コントローラ・プリフィックス・テーブル１１０２にエントリーが存在しない場合、エントリーが、検索されたエグジット・ポイントのエグジット・パスのためのドメイン・コントローラ・プリフィックス・テーブル１１０２に形成される。ステップ１０１９が完了すると、処理がステップ１０２１で続行される。ステップ１０１７において、検索されたエグジット・ポイントのエグジット・パスのためのドメイン・コントローラ・プリフィックス・テーブル９０７のエントリーが見つかれば、処理がステップ１０２１で続行される。ステップ１０２１において、ステップ１０１５で検索されたエグジット・ポイントのためのエグジット・パスを含んでいるエントリーに対してローカル・エグジット・ポイント・フラグがセットされる。ステップ１０２１が完了されると、処理がステップ１０１３に引き継がれる。
【００４９】
ステップ１０１３において、ドメイン・ルーツ・ボリュームのためのすべてのエグジット・ポイントが処理されたかどうか判定される。処理されていない場合、コントロールがドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４を初期化操作に戻す。
【００５０】
一旦、ドメイン・コントローラ・プリフィックス・テーブル１１０２がドメイン・ルーツ・ボリューム・ローカル情報で初期化されると、ドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４の初期化操作が、ドメイン・非ルーツ・ボリューム・ローカル情報ルーチン１１０８の初期化を引き出す（ステップ１５０４）。このルーチン１１０８が、ドメインの非ルーツ・ボリュームに対して各ボリューム・オブジェクトからの非ルーツ・ボリュームのエントリー・パスとネットワーク・アドレスを検索する。加えて、このルーチンが各検索エントリー・パスとネットワーク・アドレスをドメイン・プリフィックス・テーブル１１０２に記憶する。
【００５１】
図１２はドメイン・非ルーツ・ボリューム・ローカル情報ルーチン１１０８の初期化操作の好ましいステップを示す。ドメイン中に非ルーツ・ボリュームのための未処理ボリューム・オブジェクトがなにか存在しているかどうか判定する（ステップ１２０２）。未処理ボリューム・オブジェクトが存在していれば、非ルーツ・ボリュームのエントリー・パスが検索され（ステップ１２０３）、第１未処理ボリューム・オブジェクトに関連する非ルーツボリュームのエントリー・パスのための・ドメイン・コントローラ・プリフィックス・テーブル１１０２に既にエントリーがあるかどうかが決定される（ステップ１２０４）。非ルーツ・ボリュームのエントリー・パスのためのドメイン・コントローラ・プリフックス・テーブル１１０２にエントリーがない場合、エントリーが、ドメイン・コントローラ・プリフィックス・テーブル１１０２に形成される（ステップ１２１０）。非ルーツ・ボリュームのエントリー・パスが、非ルーツ・ボリュームのためにボリューム・オブジェクトから検索される（ステップ１２１２）。エントリー・パスがドメイン・コントローラ・プリフィックス・テーブル１１０２の形成エントリーに記憶される（ステップ１２１４）。ステップ１２１３が完了されると、処理がステップ１２０６で続行される。ステップ１２０４において、ドメイン・コントローラ・プリフィックス・テーブル１２０４が非ルーツ・ボリュームのエントリー・パスのためのエントリーを含んでいることが決定されれば、処理１１０２がステップ１２０６で続行される。ステップ１２０６において、非ルーツ・ボリュームのネットワーク・アドレスがボリューム・オブジェクトから検索される。検索ネットワーク・アドレスが、非ルーツ・ボリュームのためのエントリー・パスを含んでいるドメイン・コントローラ・プリフィックス・テーブル１１０２のエントリーに記憶される（ステップ１２０８）。ステップ１２０８が完了すると、処理がステップ１２０２で再度続行される。
【００５２】
ステップ１２０２において、非ルーツ・ボリュームのすべてのボリューム・オブジェクトが処理されたかどうか決定され、コントロールがドメイン・コントローラ・プリフィックス・ルーチン１１０４を初期操作に戻す。
【００５３】
こうしてドメイン・コントローラ・プリフィックス・テーブル１１０２がドメイン・ルーツ・ボリューム・ローカル情報で初期化され（ステップ１５０２）、ドメイン・非ルーツ・ボリューム・ローカル情報で初期化された（ステップ１５０４）以上は、ドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４の初期化操作が、初期化インター−ドメイン情報ルーチン１１１０を引き出す（ステップ１５０６）。
【００５４】
図１３はステップ１５０６で引き出された初期化インター−ドメイン情報ルーチン１１１０によって実行されるステップのフローチャートである。最初に、未処理ボリューム・オブジェクトが、ドメイン・コントローラを含んでいるドメインに対して近接する上位あるいは下位のドメインのためのルーツ・ボリュームを表しているかどうかを決定する（ステップ１３０２）。未処理ボリューム・オブジェクトが残っておれば、対応するルーツ・ボリュームのためのエントリー・パスが第１未処理ボリューム・オブジェクトから検索される（ステップ１３０４）。次に、エントリーがルーツ・ボリュームのエントリー・パスのドメイン・コントローラ・プリフィックス・テーブル１１０２にあるかどうか決定される（ステップ１３０６）。このようなエントリーがない場合、ドメイン・コントロール・プリフィックス・テーブル１１０２のエントリーが形成される（ステップ１３０８）。検索エントリー・パスがドメイン・コントローラ・プリフィックス・テーブル１１０２の形成されたエントリーに記憶される（ステップ１３１２）。ステップ１３１２が完了されると、処理がステップ１３１４で続行される。ステップ１３０６において、エントリーがルーツ・ボリュームのエントリー・パスのためのドメイン・コントローラ・プリフィックス・テーブル１１０２にあることが決定されると、処理がステップ１３１４で続行される。
【００５５】
ステップ１３１４において、ルーツ・ボリュームのネットワーク・アドレスがボリューム・オブジェクトから検索される。検索されたネットワーク・アドレスが検索されたエントリー・パスを含んでいるドメイン・コントローラ・プリフィックス・テーブル１１０２のエントリーに記憶される（ステップ１３１６）。リフェラル・サービス・フラグがセットされ、インター−ドメイン・ボリューム・フラグが検索されたエントリー・パスを含んでいるエントリーにセットされる（ステップ１３１８）。ステップ１３１８が完了されると、処理がステップ１３０２で続行される。
【００５６】
ステップ１３０２において、近接する上位ドメインと近接する下位ドメインのルート・ボリュームのためのすべてのボリューム・オブジェクトが処理されたことが決定されれば、コントロールがドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４を初期操作に戻す。
【００５７】
インター−ドメイン・ルーチン１１１０の初期化から処理コントロールを戻すと、初期化ドメイン・コントローラ・プリフィックス・テーブル・ルーチン１１０４が処理を終了する。初期操作に関係する処理の間、ドメイン・コントローラ・プリフィックス・テーブル・ルーチンが停止され、処理がドメイン・コントローラで続行される。
【００５８】
分散システム１００のワークステーションにあるフリフックス・テーブルは、そのドメインのエントリー・ポイントだけでなくワークステーションに記憶された各ボリュームのためのエントリー・ポイントとエグジット・ポイントで初期化される。
【００５９】
ワークステーションのプリフィックス・テーブルに記憶する好ましいデータはワークステーション自体に持続的に記憶され、かつ、ここから検察される。持続的に記憶されたデータはワークステーションの各ボリュームのエントリー・パスと；ドメインのドメイン・コントローラの物理的アドレスと一緒に、ワークステーションを含んでいるドメインのエントリー・パスと；ワークステーションに近接するあらゆる記憶装置の物理的アドレスとを含んでいる。
【００６０】
図１４はワークステーション・プリフィックス・テーブルを初期化するルーチンの好ましいステップを示す。ステップ１４０２において、ワークステーション・プリフィックス・テーブルを初期化するルーチンが、ワークステーション・プリフィックス・テーブルがワークステーションのすべてのローカル・ボリュームに関する情報によって初期化されたかどうかを決定する。未処理のローカル・ボリュームがなおも残っておれば、ルーチンがワークステーションで持続する記憶から未処理のローカル・ボリュームのエントリー・パスを検索する。検索されたエントリー・パスがワークステーション・プリフィックス・テーブルに記憶される（ステップ１４０４）。未処理のローカル・ボリュームのローカル・アドレスが持続する記憶から検索され、ローカル・アドレスがプリフィックス・テーブルに記憶される（ステップ１４０６）。ローカル・ボリューム・フラグがワークステーション・プリフィックス・テーブルにセットされる（ステップ１４０８）。次いで、ワークステーション・プリフィックス・テーブルが、ワークステーションのこのローカル・ボリュームのためのすべてのエグジット・ポイントに関する情報によって初期化されたかどうかが決定される。ワークステーション・プリフィックス・テーブルがこのローカル・ボリュームのためのすべてのエグジット・ポイントに関する情報によって初期化されていない場合、第１未処理エグジット・ポイントに関する情報がパーマネント・ストレージから検索される（ステップ１４１２）。ステップ１４１４において、検索エグジット・ポイントのエグジット・パスのためのワークステーション・プリフィックス・テーブルにエントリーがあるかどうか決定される。エントリーがワークステーション・プリフィックス・テーブルに存在しない場合、エントリーが検索エグジット・ポイントのエグジット・パスのためのワークステーション・プリフィックス・テーブルに形成される（ステップ１４１６）。ステップ１４１６が完了すると、処理がステップ１４１８に継続される。ステップ１４１４において、エントリーが検索エグジット・ポイントのエグジット・パスのためのワークステーション・プリフィックス・テーブルに存在することが決定されると、処理がステップ１４１８に継続される。
【００６１】
ステップ１４１８において、ローカル・エグジット・ポイント・フラグが、検索エグジット・ポイントのためのエグジット・パスを含んでいるワークステーション・プリフィックス・テーブル中のエントリーのためにセットされる。ステップ１４１８が完了すると、処理がステップ１４１０に継続される。
【００６２】
ステップ１４１０において、ワークステーション・プリフィックス・テーブルがこのローカル・ボリュームのためのすべてのエグジット・ポイントに関する情報で初期化かれていることが決定されれば、処理がステップ１４０２に継続される。
【００６３】
ステップ１４０２において、ワークステーション・プリフィックス・テーブルが、ワークステーションのすべてのローカル・ボリュームに関する情報で初期化かれていることが決定され、ワークステーションを含んでいるドメインのためのルート・ボリュームのエントリー・パスが検索される（ステップ１４２０）。ステップ１４２２において、ワークステーションを含んでいるドメインのルート・ボリュームのためのドメイン・コントローラのネットワーク・アドレスが検索される。エントリーがワークステーション・プリフィックス・テーブルに形成され、検索されたエントリー・パスがエントリーの検索されたネットワーク・アドレス中に記憶される（ステップ１４２４）。ステップ１４２６において、リフェラル・サービス・フラグがワークステーション・プリフィックス・テーブル中の形成エントリーのためにセットされる。
【００６４】
以上説明したように、本発明の特定の実施例につき図示例として説明してきたが、種々の変形例も本発明の概念と思想から外れることなく作ることが可能であることは理解されよう。従って、本発明は添付の請求の範囲以外によって限定されるものではない。
【図面の簡単な説明】
【００６５】
【図１】本発明の好ましい実施例を実行する分散システムのブロック図である。
【図２】図１のドメイン・コントローラのより詳しいブロック図である。
【図３】本発明の好ましい実施例のための分散ネーム・スペースの簡略化したサンプルを示す図である。
【図４】本発明の好ましい実施例のアクセス・オブジェクト・ルーチンによって実行されるステップを示すフロー・チャートである。
【図５】本発明の好ましい実施例によるワークステーションのより詳しいブロック図である。
【図６】本発明の好ましい実施例に用いた検索記憶位置ルーチンのフロー・チャートである。
【図７】本発明の好ましい実施例のパーフォーム・サーバー・ネーム解決（ネーム分析）ルーチンのフロー・チャートである。
【図８】本発明の好ましい実施例のプリフィックス・テーブルのフォーマットを示すダイヤグラムである。
【図９】本発明の好ましい実施例のゲット・リフェラル・ルーチンによって実行されるステップのフロー・チャートである。
【図１０】本発明の好ましい実施例の初期化ドメイン・ルート・ボリューム・ローカル情報ルーチンによって実行されるステップのフロー・チャートである。
【図１１】本発明の好ましい実施例によるドメイン・コントローラのブロック図である。
【図１２】本発明の好ましい実施例の初期化ドメイン・非ルート・ボリューム・ローカル情報ルーチンのフロー・チャートである。
【図１３】本発明の好ましい実施例の初期化インタードメイン情報ルーチンによって実行されるステップを示すフロー・チャートである。
【図１４】本発明の好ましい実施例の初期化ワークステーション・プリフィックス・テーブルによって実行されるステップのフロー・チャートである。
【図１５】本発明の好ましい実施例の初期化ドメイン・コントローラ・プリフィックス・テーブル・ルーチンによって実行されるステップのフロー・チャートである。
【図１】
2008021330.tif 000003
【図２】
2008021330.tif 000004
【図３】
2008021330.tif 000005
【図４】
2008021330.tif 000006
【図５】
2008021330.tif 000007
【図６】
2008021330.tif 000008
【図７】
2008021330.tif 000009
【図８】
2008021330.tif 000010
【図９】
2008021330.tif 000011
【図１０】
2008021330.tif 000012
【図１１】
2008021330.tif 000013
【図１２】
2008021330.tif 000014
【図１３】
2008021330.tif 000015
【図１４】
2008021330.tif 000016
【図１５】
2008021330.tif 000017
【手続補正書】
【提出日】平成19年10月19日(2007.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各オブジェクトが、分散ネーム・スペース中のオブジェクトを単独的に識別する論理ネームと対応するアドレスの両方を有しており、前記オブジェクトが論理ドメインにグループ分けされ、このドメインが階層構造に組織化され、この構造内で各ドメインが階層構造中の一つの上位ドメインと階層構造中の一つあるいはそれ以上の下位ドメインとを有している、そのような、オブジェクトの分散ネーム・スペースを有する分散システムにおいて、
各ドメインのためのドメイン・コントローラ要素を利用可能にする工程であって、各ドメイン・コントローラ要素は、いずれの近接する上位ドメインのためのドメイン・コントローラ要素の分散ネーム・スペース中の論理ネームのためのエントリーと、いずれの近接する下位ドメイン内のいずれのドメイン・コントローラ要素のための前記分散ネーム・スペース中の論理ネームのためのエントリーとを記憶するプリフィックス・テーブルをホールドするものであり、前記エントリーの各々が、前記ドメイン・コントローラ要素の各々のアドレスを指定するものであって、前記ドメインの各々は別々の管理方式と機密保護方式を実行できる、そのような、ドメイン・コントローラ要素を利用可能にする工程と；
前記分散システムからの情報を求めるリクエストを処理する第１コンピュータ要素を利用可能にする工程であって、前記第１コンピュータ要素は、前記分散ネーム・スペース中の論理ネームのプリフィックスのためのエントリーを記憶する他のプリフィックス・テーブルを含むものであり、各エントリーが、前記プリフィックスによってネーム付けされた、前記分散システム中の選択されたオブジェクトのアドレスを指定するものである、そのような、第１コンピュータ要素を利用可能にする工程と；
前記第１コンピュータ要素において前記選択されたオブジェクトにアクセスするためのリクエストを受信する工程であって、前記リクエストが、前記分散システム中でアクセスすべき前記選択されたオブジェクトのための論理ネームを含んでいる、そのような、リクエストを受信する工程と、
前記リクエストからの前記選択されたオブジェトの論理ネームのプリフィックスのためのエントリーが、前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されているかどうかを決定する工程と；
前記選択されたオブジェクトの論理ネームのプリフィックスのためのエントリーが前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されていないという決定に応答して、
前記第１コンピュータ要素の前記プリフィックス・テーブルから、前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスを検索する工程と；
前記リクエストからの前記選択されたオブジェクトの論理ネームを、前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素に伝送する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のプリフィックス・テーブルから、前記選択されたオブジェクトのアドレスを検索する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラのプリフィックス・テーブルから検索された前記アドレスで前記オブジェクトにアクセスする工程と
を備えることを特徴とする、コンピュータ・システムがオブジェクトにアクセスするための、コンピュータで実施される方法。
【請求項２】
前記第１コンピュータ要素が、ローカル・アドレス・スペース中のオブジェクトに直接アクセスできる前記方法であって、
前記選択されたオブジェクトの論理ネームのプリフィックスのためのエントリーが、前記第１コンピュータ要素の前記プリフィックス・テーブルに記憶されているという決定に応答して；
前記第１コンピュータ要素の前記プリフィックス・テーブルにエントリーを有するプリフィックスの内最長のマッチング・プリフィックスを識別する工程と；
前記最長マッチング・プリフィックスに関連するオブジェクトが、前記第１コンピュータ要素によって直接アクセス可能である前記ローカル・アドレス・スペースに記憶されているかどうかを決定する工程と；
前記最長マッチング・プリフィックスに関連する前記オブジェクトが前記ローカル・アドレス・スペース中に記憶されていることが決定される場合には、メモリの一部のためのアドレスを得る工程と；
前記メモリの一部のための前記得られたアドレスを使用して、前記最長マッチング・プリフィックスに関連する前記オブジェクトにアクセスする工程と
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記分散システムは、ネットワーク・サーバーを含んでおり、
前記最長マッチング・プリフィックスに関連する前記オブジェクトが、前記第１コンピュータ要素によって直接アクセス可能である前記ローカル・アドレス・スペース中に記憶されていないことが決定される場合には、
前記選択されたオブジェクトにアクセスするための前記リクセストを前記ネットワーク・サーバに転送する工程と、
前記ネットワーク・サーバーにおいて、前記論理ネームをアドレスに解決することを試行する工程と
をさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記ネットワーク・サーバにおいて、前記選択されたオブジェクトの論理ネームのアドレスへの解決が成功した場合、該アドレスを使用して前記オブジェクトにアクセスする工程をさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記ネットワーク・サーバーにおける、前記選択されたオブジェクトの論理ネームのアドレスへの解決が成功しない場合には、
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスを、前記第１コンピュータ要素のプリフィックス・テーブルから検索する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素に、前記リクエストからの前記選択されたオブジェクトの論理ネームを伝送する工程と；
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のプリフィックス・テーブルから、前記リクエストからの前記選択されたオブジェクトの論理ネームに対応するアドレスを検索する工程と；
前記リクエストからの前記論理ネームに対応する前記検索されたアドレスで前記オブジェクトにアクセスする工程と；
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１コンピュータ要素を含んでいる前記ドメインのための前記ドメイン・コントローラ要素のアドレスが、この物理的なアドレスを求めるリクエストを送信せずに検索されることを特徴とする請求項１に記載の方法。
【請求項７】
ドメイン・コントローラ要素を利用可能にする前記工程は、前記近接する上位ドメインのための前記ドメイン・コントローラ要素および前記近接する下位ドメインのための前記ドメイン・コントローラ要素の前記論理ネームと対応するアドレスとを検索する工程を含んでおり、前記方法は、前記検索された論理ネームと対応するアドレスとを、前記ドメイン・コントローラ要素のプリフィックス・テーブルに記憶する工程をさらに備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記論理ネームは、論理パス・ネームであることを特徴とする請求項１に記載の方法。
【請求項９】
その要素が自給式ドメインに論理的に分割される諸要素を有し、ドメインの各々が別々の管理方式と機密保護方式を実行できる分散システムであって、各ドメインが、このドメインに何が含まれ、かつ、ローカル記憶装置を有するワークステーションである前記要素中に何が含まれているかについての情報をホールドするドメイン・コントローラを含んでいる、そのような、分散システムにおいて、あるコンピュータ・システムにおける方法が、
前記分散システム中のオブジェクトのために分散ネーム・スペースを備えた分散ファイル・システムを利用可能にする工程と；
前記分散ネーム・スペース中の選択されたオブジェクトにアクセスするためのリクエストであって、前記分散ネーム・スペース中の前記選択されたオブジェクトの論理ネームによって該オブジェクトが識別される、そのような、前記リクエストを、前記ワークステーションにおいて受信する工程と；
前記ワークステーションにおいて、オブジェクトの論理ネームおよび関連する解決された前記オブジェクトのアドレスの第１キャッシュを利用可能にする工程と；
前記ワークステーションにおいて前記第１キャッシュにアクセスして、それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームであって既にアドレスに解決されている論理ネームの最長マッチング部を位置特定する工程と；
前記選択されたオブジェクトの論理ネームの一部が未だアドレスに解決されていないということが前記第１キャッシュにアクセスすることによって決定される場合には、
前記ワークステーションを含んでいる前記ドメインのためのドメイン・コントローラに前記リクエストを転送する工程と；
前記ドメイン・コントローラにおいて、論理ネームのための関連する解決済みのアドレスの第２キャッシュを利用可能にする工程と；
前記第２キャッシュにアクセスして、それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームの一部が既にアドレスに解決されているかどうか決定する工程と；
それへのアクセスがリクエストされている前記選択されたオブジェクトの論理ネームの一部がアドレスに解決されていることが、前記第２キャッシュにアクセスすることによって決定される場合には、
解決済みの前記選択されたオブジェクトの論理ネームの前記一部と、前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスとを前記ワークステーションに転送する工程と；
前記論理ネームの前記一部と、前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスとを前記ワークステーションにおいて前記第１キャッシュに記憶させる工程と；
前記第１キャッシュにアクセスする工程から始まる上記諸工程を繰り返す工程と
を備えることを特徴とする方法。
【請求項１０】
それへのアクセスがリクエストされた前記オブジェクトの論理ネームの一部がアドレスに既に解決されているということが前記第１キャッシュにアクセスすることによって決定される場合には、
前記選択されたオブジェクトの論理ネームの前記一部がそれに解決された前記アドレスが、前記ワークステーションの前記ローカル記憶装置の記憶位置を参照するかどうかを決定する工程と；
解決済みである前記選択されたオブジェクトの論理ネームの前記アドレス部分が、前記ワークステーションの前記ローカル記憶装置の記憶位置を参照する場合には、
前記論理ネームの前記一部がそれに解決されている前記アドレスを用いて前記選択されたオブジェクトにアクセスする工程と
をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記分散システムは、ネットワーク・サーバをさらに備えてなり、前記方法は、
解決済みの前記選択されたオブジェクトの論理ネームの前記一部のアドレスが、前記ワークステーションのローカル記憶装置外の記憶位置を参照することが決定される場合には、
前記選択されたオブジェクトの論理ネームを前記ネットワーク・サーバーに転送する工程と；
前記ネットワーク・サーバーにおいて、アドレスへの前記選択されたオブジェクトの論理ネームのネーム解決を試行する工程と；
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記選択されたオブジェクトの論理ネームをアドレスに解決する際、前記ネットワーク・サーバーにおけるネーム解決が成功である場合には、前記アドレスを使用して前記選択されたオブジェクトにアクセスする工程をさらに備えることを特徴とする請求項１１の方法。
【請求項１３】
前記選択されたオブジェクトの論理ネームをアドレスに解決する際、前記ネットワーク・サーバーにおける前記ネーム解決が成功しない場合には、
前記ワークステーションにおいて前記第１キャッシュを試験することによって解決されることを決定された前記選択されたオブジェクトの論理ネームの前記一部によって識別された前記分散ネーム・スペースの一部を含んだドメインのための第２ドメイン・コントローラに、前記選択されたオブジェクトの論理ネームを転送する工程と；
前記第２ドメイン・コントローラにおいて、論理ネームおよび関連する解決済みのアドレスの他のキャッシュを利用可能にする工程と；
前記第２ドメイン・コントローラにおいて、前記キャッシュにアクセスして、既に解決されている前記選択されたオブジェクトの論理ネームの一部のためのアドレスを見出す工程と；
前記第２ドメイン・コントローラの前記キャッシュにおいて見出された前記アドレスを前記ワークステーションに転送する工程と；
転送された前記アドレスと前記選択されたオブジェクトの論理ネームの関連する部分を前記ワークステーションの前記第１キャッシュに記憶させる工程と
を備えることを特徴とする請求項１１に記載の方法。
【請求項１４】
第１ドメインと第２ドメインとを含む論理ドメインに階層的に組織化された分散システムであって、前記ドメインの各々は別々の管理方式と機密保護方式を実行できる、そのような、分散システムにおいて、あるコンピュータ・システムにおける方法が、
オブジェクトの分散ネーム・スペースを利用可能にする工程であって、各オブジェクトが、前記ネーム・スペース内のオブジェクトを識別する論理ネームと対応するアドレスとを有するものである、そのような、前記オブジェクトの分散ネーム・スペースを利用可能にする工程と；
各ドメインのためのドメイン・コントローラを利用可能にする工程であって、各ドメイン・コントローラは、エントリーを記憶しているプリフィックス・テーブルをホールドするものであり、各エントリーが、論理ネームの対応するプリフィックスのためのアドレスをホールドするものである、そのような、各ドメインのためのドメイン・コントローラを利用可能にする工程と；
前記第１ドメイン内のオブジェクトにアクセスするためのリクエストを前記第２ドメインから受信する工程と；
前記第１ドメイン内のドメイン・コントローラを参照するリフェラルであって、前記第２ドメインのドメイン・コントローラの前記プリフィックス・テーブル中の第１リフェラルを利用可能にする工程と；
前記第２ドメインのドメイン・コントローラの前記プリフィックス・テーブルにアクセスして、前記第１ドメイン内のドメイン・コントローラを参照する前記第１リフェラルを得る工程と；
前記第１ドメイン内のドメイン・コントローラの前記プリフィックス・テーブル中の第２リフェラルを利用可能にする工程と；
前記第１リフェラルを用いて前記第１ドメイン内のドメイン・コントローラの前記プリフィックス・テーブルにアクセスして、前記第２リフェラルを得る工程と；
前記第２リフェラルを用いて前記オブジェクトにアクセスする工程と
を備えることを特徴とする方法。