JPH07210443A - 分散ファイル・システム - Google Patents

分散ファイル・システム

Info

Publication number
JPH07210443A
JPH07210443A JP6313490A JP31349094A JPH07210443A JP H07210443 A JPH07210443 A JP H07210443A JP 6313490 A JP6313490 A JP 6313490A JP 31349094 A JP31349094 A JP 31349094A JP H07210443 A JPH07210443 A JP H07210443A
Authority
JP
Japan
Prior art keywords
domain
distributed
address
name
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6313490A
Other languages
English (en)
Inventor
Alan Whitney
ウィットニー アレン
Yuval Neeman
ニーマン ユーヴァル
Sudheer Koneru
コーネル スードヘアー
Milan Shah
シャー ミラン
Peter J Cook
ジェイ クック ピーター
Arnold S Miller
エス ミラー アーノルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JPH07210443A publication Critical patent/JPH07210443A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/956Hierarchical
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 分散ファイル・システムが、オブジェクトを
モデルに対して分散ファイル・システムの要素を機能さ
せるものとして用いる。 【構成】 各オブジェクトは、関連する論理パス・ネー
ムと物理的アドレスを有している。すべての論理パス・
ネームの集合が、論理的にドメインに分割される分散ネ
ーム・スペースからなる。各ドメインはドメイン・ホル
ダー・オブジェクトを含んでおり、ドメイン・ホルダー
・オブジェクトを含むドメイン中のオブジェクトの論理
パス・ネームをオブジェクトの記憶された分散システム
中でアドレスにマッピングする。オブジェクトのアドレ
スが分散システムからの情報を検索するためにオブジェ
クトにアクセスするのに用いられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、概してファイルシステ
ムに関し、より詳しくは分散装置のための分散ファイル
システムに関する。
【0002】
【従来技術】既存の分散システムは、分散システム全体
に渡り異なる位置からファイルを検索することの可能な
分散ファイルシステムを提供する。既存の分散システム
は、ファイルと単独的に一致した論理パス・ネームを、
ファイルが記憶された物理的アドレスにマッピィングす
ることによってファイルへのアクセスを得る。ファイル
の論理パス・ネームは本質的にファイルの物理的アドレ
スと結合されている。
【0003】
【発明が解決しようとする課題】分散システム中でアク
ティブな論理パス・ネームのシェア・ナンバーのため
に、分散システムのサイズが大きくなるにつれて、論理
パス・ネームを物理的アドレスに物理的に有効なマッピ
ィングを提供するような方法で論理パス・ネームを管理
するのがより困難になる。さらに、単一の両立したネー
ム・スペースを分散システムのあらゆる位置から分散シ
ステムのユーザーに提供することがより困難になる。従
来のシステムは、フラグメンティット・ネーム・スペー
スを分散システムのユーザーに提供していた。
【0004】
【課題を解決するための手段および作用】従来技術の問
題点は、本発明によって克服される。本発明の一つの観
点によれば、分散システムはオブジェクトの分散された
ネーム・スペースを有しており、各オブジェクトがこの
オブジェクトを単独的に認識する論理ネームと対応する
アドレスの両方を有している。このオブジェクトは論理
的ドメインに分類され、これが階層構造に組織化され
る。各ドメインは階層構造中に上位ドメインを有し、階
層構造内に一つあるいはそれ以上の下位ドメインを有し
ている。ドメイン・コントローラ要素は各ドメインに設
けられている。各ドメイン・コントロラー要素はプリフ
ィックス・テーブルのようなキャッシュを保持してい
る。このキャッシュは、近接のいずれの上位ドメインに
対するドメイン・コントローラ要素のための分散ネーム
・スペース中に論理ネーム用のエントリーを保持する。
加うるに、キャッシュはまた近接のいずれの下位ドメイ
ンのためにドメイン・コントローラ要素のための分散ネ
ーム・スペース中に論理ネーム用のエントリーをドメイ
ン・コントロラー要素に保持する。上述のドメイン・コ
ントローラ要素の各エントリーは、ドメイン・コントロ
ーラ要素のためのアドレスを含んでいる。
【0005】第1コンピュータ要素が、分散システムに
設けられており分散システムからの情報のためのリクエ
ストを処理する。この第1コンピュータ要素は、分散ネ
ーム・スペース中の論理ネームの部分のためのエントリ
ーを記憶する第2キャッシュを含んでいる。各エントリ
ーは、関連する部分によって認識される分散システム中
のオブジェクトのアドレスを含んでいる。リクエスト
は、第1コンピュータ要素が受信した時点のオブジェク
トにアクセスすることができる。リクエストは分散シス
テム中のオブジュクトに対応する論理ネームを含んでい
る。論理ネームの一部が第1コンピュータ要素のキャッ
シュに記憶されているかどうかが決定される。第1コン
ピュータ要素に論理ネームの一部がエントリーされてい
ないことが決定される場合、いくつかのステップが実行
される。
【0006】第1に、第1コンピュータ要素を含んでい
るドメインのためのドメイン・コントローラ要素のアド
レスが、第1コンピュータ要素のキャッシュから検索さ
れる。論理ネームが、第1コンピュータ要素に含まれて
いるドメイン・コントローラ要素に伝送される。オブジ
ェクトの論理ネームに対応するアドレスが、第1コンピ
ュータ要素を含んでいるドメインのためのドメイン・コ
ントローラ要素のキャッシュから検索される。こうして
オブジェクトが検索アドレスにおいてアクセスされる。
【0007】本発明の他の観点によれば、分散システム
は第1記憶媒体区画および第2記憶媒体区画を有してい
る。第1ファイル・システムは第1記憶媒体区画上で起
動されてファイルが記憶、管理される。同様にして、第
2ファイル・システムは第1記憶媒体区画上で起動され
てファイルが記憶、管理される。第1および第2記憶媒
体区画は同じコンピュータ・システムの一部とすること
もでき、単に分離された記憶装置を構成することもで
き、あるいは別のコンピュータとすることも可能であ
る。第2ファイル・システムは第1ファイル・システム
とは異なる。分散ファイル・システムが設けられてい
る。分散ファイル・システムは、第1記憶媒体区画内の
ファイルおよび第2記憶媒体区画内のファイルを含む分
散ネーム・スペースを備えている。分散ファイル・シス
テムは、ネーム分析サービスを第1記ファイル・システ
ムと第2ファイル・システムに提供する。分散ファイル
・システムは第1記ファイル・システムと第2ファイル
・システムに対して透過(トランスペアレント)であ
る。
【0008】本発明のさらに他の観点によれば、分散シ
ステムはコンピュータ・システムで第1ネットワーク作
動システムを起動させ、コンピュータ・システムで第2
ネットワーク作動システムを起動させる。第1ネットワ
ーク作動システムは第2ネットワーク作動システムと異
なる。分散ファイル・システムはネットワーク作動シス
テムを備えており、分散システムにファイルの統一化分
散ネーム・スペースを備え付ける。分散ファイル・シス
テムはネーム分解サービスをネットワーク作動システム
に提供する。分散ネーム・スペースには、第1ネットワ
ーク作動システムを起動するコンピュータ・システムに
記憶されたファイルと、第2ネットワーク作動システム
を起動するコンピュータに記憶されたファイルが含まれ
ている。分散ファイル・システムはネットワーク作動シ
ステムに対して透過(トランスペアレント)である。
【0009】本発明のさらに他の観点によれば、分散シ
ステムは多機能要素を有している。分散システムの要素
は、論理的にドメインに区画される。各ドメインは他の
ドメインとは独立して動作可能な自給式である。分散シ
ステムは第1ドメインでネットワーク作動システムを起
動させ、機密保護方式を実行させる。ドメインは第1機
密保護方式とは異なる機密保護方式を実行し、分散ファ
イル・システムから独立している。
【0010】本発明の付加的な観点によれば、一方法は
分散システムで実行される。本方法において、分散ファ
イル・システムが分散ネームスペースを提供する。少な
くとも、一つの基礎をなすファイル・システムが、分散
システムに設けられておりファイル・システム動作を実
行する。ファイル・システム動作が実行されるオブジェ
クトが分散ネーム・スペースで見ることができ、ファイ
ル・システム動作が実行されない少なくとも一つのオブ
ジェクトも分散ネーム・スペースでみることができる。
【0011】
【実施例】本発明の好ましい実施例は分散ファイル・シ
ステムを提供する。本発明の好ましい実施例の分散ファ
イル・システムは、分散システムに分散された要素によ
って実行される。分散ファイル・システムは、ファイル
・システムの指名オブジェクトのために論理的透過性を
提供する。これによってシステム中のオブジェクトのパ
ス・ネームはその物理的位置に本質的に結びつかない。
さらに、分散ファイル・システムは、分散システムのた
めのネーム・スペースを単一の論理ツリー構造に組織化
する。分散ファイル・システムは分散システムを管理ド
メイン(詳細は後述する)に区画される。このドメイン
はそれぞれ別々の管理方式と機密保護方式を実行する。
一つのドメインによって実行される機密保護方式は、分
散ファイル・システムから独立することができる。分散
ファイル・システムは、異種ファイル・システムと異種
ネットワーク作動システムを有する分散システムの各部
分を一緒に「結合する」スーパー構造を提供する。分散
ファイル・システムは、ネーム分析サービスをファイル
・システムとネットワーク作動システムに提供するが、
分散ファイル・システムはファイル・システムとネット
ワーク作動システムに対しては透過(トランスペアレン
ト)である。
【0012】図1は本発明の好ましい実施例を実行する
のに適した分散システム100のブロック図である。図
1に示された分散システムの形態を単に一例として示し
たものとして当該技術を認識することができる。他の分
散システム形態も本発明を実行するのに使用することが
できる。
【0013】分散システム100はワークステーション
101、入力/出力(I/O)装置102、ネットワー
ク・サービス103、2次記憶装置104およびドメイ
ン・コントローラ106を含んでいる。ワークステーシ
ョン101とネットワーク・サービス103は内部記憶
装置、プロセッサおよび他の要素を含んでいる。ネット
ワーク・サービス103はネットワーク作動システムを
起動する。2次記憶装置104はディスク駆動装置ある
いは他の適当な2次記憶装置を含んでいる。ソフトウエ
アおよびデータは、ワークステーション101とドメイ
ン・コントローラ106の内部記憶装置内に格納されて
いることは理解できる。加うるに、ソフトウエアとデー
タは同様にして2次記憶装置104に記憶される。
【0014】分散システム100に含まれた要素は、ド
メイン108A、108Bおよび108Cに論理的に区
画される。各ドメインは分散システム100のハードウ
エアのサブセットとソフトウエア要素を含んでいる。各
ドメインは、ネットワーク作動システムを起動させる一
つあるいはそれ以上のネットワークを含んでいる。ドメ
イン108A、108Bおよび108Cが、機構の管理
部に対応する。ドメイン108A、108Bおよび10
8Cは、管理および機密保護の目的とする自給、自足式
ユニットである。ドメインは分散システム100のスケ
ーリングを容易にし、要素はシステムに対して容易に付
加ないし取り外しができる。
【0015】「ドメイン」の概念をより完全に理解する
ために、一例を考察すると役に立つ。分散システムが多
数の部所を有する会社に使用されると仮定する。このよ
うな環境において、第1ドメインは会社の製品開発部の
ハードウエアとソフトウエア要素を含んでおり、一方第
2ドメインは会社のマーケッテイング部のハードウエア
とソフトウエア要素を含んでいる。第3ドメインは会社
の経理部のハードウエアとソフトウエア要素を含んでお
り、第4ドメインは会社の販売部のハードウエアとソフ
トウエア要素を含んでいる。
【0016】各ドメインは少なくとも一つのドメイン・
コントローラ106を含んでいる。マルチ・ドメイン・
コントローラ106は各ドメイン(例えば、ドメイン1
08Bを参照)内に設けられていて、利用度が高められ
るとともにドメイン・コントローラ・リソースの負荷が
バランスされる。各ドメイン・コントローラは弁別機械
である。図2はドメイン・コントローラ200のいくつ
かの主要機能要素を示すブロック図である。分散システ
ム100内の各機能要素は、付加的な要素とともに図2
に示した機能要素を含んでいる。各ドメイン・コントロ
ーラ200内の機能要素は、ディレクトリー・サービス
情報を提供する。ディレクトリ・サービス(DS)エン
トリー202を含んでいる。各ドメイン・コントローラ
はディレクトリ・サービス(DS)サーバー204をも
含んでいる。DSサーバー204は、DSエントリー2
02へのアクセスを仲介する責任を負っている。DSエ
ントリー202は分散ファイル・システムのためにネー
ミング・サービスを提供する。このDSエントリーにつ
いては、本願の共同譲受人に譲渡された「ファイル・シ
ステム・サービスを有するディレクトリ・サービスの統
一化」と称する出願中の発明に、より詳しく開示されて
いる。
【0017】キー分散センター(KDC)206が、ド
メイン・コントローラ200に設けられており、ドメイ
ン内の機密保護を維持する働きをする。分散ファイル・
システム(DFS)マネジャー208が、ドメインに設
けられいて分散ファイル・システムに関する知識と、ド
メイン内に含まれたボリューム(後ほど詳述する)を管
理する。分散ファイル・システム・マネジャー208は
分散ネーム分析を容易にするための機能をも提供する。
分散ネーム分析には分散ネーム・スペース中のネームを
物理的アドレスに分析することを包含している。分散フ
ァイル・システム・マネジャー208は、付加的にプリ
フィックス・テーブル(後ほど詳述する)のための管理
とファイル・システムに関する知識のための管理を提供
する。
【0018】分散ファイル・システムにつきより詳しく
説明する前に、まずいくつかの概念を説明しておくと役
に立つ。「オブジェクト」は論理的構造で、データを保
持するデータ機構を含んでおり、また、データ機構に保
持されたデータ上で作動される機能を含んでいることも
ある。オブジェクトはいかなる機能をも含んでいないデ
ータのみを保持できる。分散ファイル・システムにおい
て、ハードウエア要素とソフトウエア要素両者がオブジ
ェクトとして変形される。オブジェクトとしてデータ処
理リソースを変形することは、リソースの詳細を知る必
要性からプログラムを孤立させる。
【0019】分散システム100内に設けられたオブジ
ェクトは「ボリューム」として知られるファイル・シス
テム機構に記憶される。このボリュームは、階層構造式
に組織化される(これについては後ほど詳述する)。ボ
リュームはファイル・システムを支持する物理的記憶装
置のユニットであり、オブジェクトの持続性記憶装置か
らなるファイルとディレクトリとのセットである。各ド
メインは、ドメインのためのオブジェクトを保持すると
ともに、ドメインに対してローカルであるネーム・スペ
ースを規定するそれ自体のボリュームを有している。
【0020】各ボリュームは、ボリュームで実行される
べき分散ネーム分析を許容する情報が保持された関連す
るボリューム・オブジェクトを有している。各ボリュー
ム・オブジェクトは単一のエントリー・パスを備えた単
一のボリュームであると言える。情報はボリュームに対
するエントリー・パスと、ボリュームへのアクセスのリ
クエストを処理するためのファイル・サーバーの同一性
(アイデンティティ)を含んでいる。ボリューム・オブ
ジェクトは、ボリューム・オブジェクトを含んでいるド
メインに、すぐ上のドメインとすぐ下のドメインのため
のエントリー・パスも記憶する。ボリュームを含んでい
るドメインのすべてのボリュームのためのエントリー・
パスもそこに記憶される。
【0021】分散システム中のオブジェクトのネーム
は、分散ネーム・スペースに組織化される。図3は分散
システムの分散ネーム・スペース300のような簡単な
例を示す。分散ファイル・システムは、分散ネーム・ス
ペースを見えるようにする。分散ネーム・スペース30
0は、分散システムの指名されたオブジェクトを図式的
に表現する単一の論理ツリーである。この単一のツリー
構造はシステムに関する知識を中心に集めるための場所
を提供し、全体のネーム・スペースにアクセスすること
を容易にする。分散ファイル・システムは装置とドメイ
ン間の結合部を隠しているので、分散システムはシーム
レスに見える。従って、システム中にあるシステム同志
間の違いと、システム中にあるネットワーク・システム
同志間の違いは、分散ネーム・スペースに隠されてい
る。分散ネーム・スペース300中の各ネームは、分散
システム内のオブジェクトに対応する。ドメイン・ホル
ダー・オブジェクトは、ドメイン・コントローラにそれ
ぞれ対応している。分散ネーム・スペース300の各ア
ーク(図3参照)は、ネーム・スペース中のパスの一部
に対応している。分散ネーム・スペース中で見ることの
できるオブジェクトは、ファイル・システム・オブジェ
クトに全て必要ではなく、むしろファイル・システム動
作のために利用できない非ファイル・システム・オブジ
ェクト、例えば遠隔処理コール(RPC)サーバー35
8が、分散ネーム・スペースにあってもよい。
【0022】分散ネーム・スペースのオブジェクトは図
3に示すようにドメインに分割される(ドメインW、
X、YおよびZに注意)。すべてのオブジェクトの必要
性をドメインの機密保護方式の一部とすることは無意味
である。従って、装置と、オブジェクトの集まりと、あ
るいはあらゆるドメインの信用形態外に属する周辺装置
がある。例えば、RPCサーバー358はドメインの一
部ではない。ドメイン内のオブジェクトは分散ネーム・
スペースのサブ−ツリーを形成する。従って、ドメイン
Xは、ドメイン・ホルダー・オブジェクト320とディ
レクトリー・オブジェクト322とボリューム・オブジ
ェクト324とサーバー・オブジェクト326とを含ん
でいる。ドメインYはドメイン・ホルダー・オブジェク
ト328とワークステーション・オブジェクト330と
ディレクトリー・オブジェクト332とドキュメント・
オブジェクト334とボリューム・オブジェクト336
とを含んでいる。ドメインWは、ドメイン・ホルダー・
オブジェクト306とボリューム・オブジェクト338
とドキュメント・オブジェクト340とディレクトリー
・オブジェクト342とドキュメント・オブジェクト3
44とを含んでいる。ドメインWは、ディレクトリー・
オブジェクト346も含んでいる。ディレクトリー・オ
ブジェクト346は、ドキュメント・オブジェクト35
0と352を含んでんでいる。最後に、ドメインZは、
ドメイン・ホルダー・オブジェクト308とワークステ
ーション・オブジェクト304とボリューム・オブジェ
クト354とドキュメント・オブジェクト356とを含
んでいる。
【0023】論理パス・ネームは、分散ネーム・スペー
ス300内でオブジェクト、ボリュームあるいは他の要
素を確認する。本発明の好ましい実施例の分散ファイル
・システムは、論理パス・ネームを物理的アドレスに分
解するための手段を提供する。
【0024】各ドメインに保持されたオブジェクトは、
一つあるいはそれ以上のボリュームに分割される。例え
ば、ドメインYはボリューム310を含んでいる。ドメ
インXはボリューム312を含んでいる。ドメインWは
ボリューム314と316を含んでいる。ドメインZは
ボリューム318を含んでいる。
【0025】二つのボリュームが「ジャンクション・ポ
イント」として知られる論理構造を介して接続される。
ジャンクション・ポイントは、「エントリー・ポイン
ト」と「エグジット・ポイント」から構成される。「エ
ントリー・ポイント」は、ボリュームあるいはドメイン
のためのネーム・スペースのルートに対応する論理パス
・ネームである。例えば、論理パス・ネーム「\b\
c」はドメインY内に論理的に含まれているボリューム
310のルーツに対応する。「エグジット・ポイント」
は、他のボリュームが付いている分散ネーム・スペース
中の一つのポイントに対応する。例えば、論理パス・ネ
ーム「\a」はドメインXのボリューム312からドメ
インWのボリューム314へのエグジット・ポイントで
ある。好ましい実施例において、任意のボリュームは多
数のエクジット・ポイントを有しているが、エントリー
・ポイントはただ一つである。「外部ジャンクション・
ポイント」はファイル・システム作動を利用できないネ
ーム・スペースを、分散ネーム・スペース300に接続
する。図3において、外部ジャンクション・ポイントは
ネーム・スペース319をボリューム312に接続す
る。外部ジャクンクション・ポイントは外部ネーム・ス
ペースの分散ファイル・システムとの結合を許容するこ
とが理解できる。
【0026】「論理ルーツ」は、分散ネーム・スペース
300中の一つのポイントを参考とするプログラム不変
量である。論理ルーツは、分散ネーム・スペース300
を介するファイルとオブジェクトへのアクセスを進行さ
せるのに使用する。論理ルーツはコンテキスト感受性が
あり、その同じ一つの論理ルートが異なる装置の異なる
アドレスに分析できる。論理ルーツは典型的にはドメイ
ンのルーツ、装置のネーム・スペースあるいはすべての
ドメインのルーツと同一視できる。論理ルーツは直系ア
ンセスター・オブジェクトを辿る必要なしに分散ネーム
・スペース300を形成するツリー中のオブジェクトに
直接アクセスするための近道である。例えば、図3は論
理パス・ネーム「\b\c」がドメインYへのエントリ
ー・ポイントであることを示している。この種の論理パ
ス・ネームは、論理ルートを形成するための例えば
「D:\」のような論理駆動記号に関連している。この
ようにして、論理パス・ネーム、例えば「\b\c\
d」はパス・ネーム「D:\d」を用いてアクセスでき
る。従って、図3の分散ネーム・スペース300は、論
理ルーツ・ノード302以外のオブジェクトを起点とし
て辿ることができる。論理ルーツは分散ネーム・スペー
ス全体のオブジェクトへのアクセスに使用される。
【0027】前述したように、本発明の好ましい実施例
はこれらの論理パス・ネーム(論理ルーツを含んでいて
もよい)を用いて分散システム100(図1)のオブジ
ェクトにアクセスする。図4はオブジェクトへのアクセ
スの要求がワークステーションで発生されたときのオブ
ジェクトへのアクセスを実行する工程を示す(ハイレベ
ル透過図から)。アクセス・オブジェクト・ルーチンの
コピーが、分散システム100のすべてのワークステー
ション101と分散システム100のすべてのドメイン
・コントローラ106に好便に記憶される。最初に、オ
ブジェクトへのアクセスのリクエストが受信される(ス
テップ402)。図示の都合上、リクエストは図5に示
すワークステーション500から発生されるものと仮定
する。ワークステーション500は入力/出力(I/
O)装置502、中央処理装置(CPU)504および
メモリ506を含んでいる。さらに、ワークステーショ
ン500はキーボード508とマウス510に接続され
ている。ワークステーション・メモリ506は、ワーク
ステーション作動システム512のコピーと少なくとも
一つのアプリケーション・プログラム514をホールド
する。作動システム512はアクセス・オブジェクト・
ルーチン516と、ローカル・ファイル・システムを管
理する責任を負っているローカル・ファイル・システム
・ドライバー526を含んでいる。メモリ500は四つ
の他のルーチン518、522、524および526も
ホールドする。これについては後ほど詳しく説明する。
【0028】オブジェクトへのアクセスのリクエスト
は、ワークステーション500のCPU504へ進行さ
れる。CPU504がアクセス・オブジェクト・ルーチ
ン516を実行するとともに、処理を開始してリクエス
トを達成する。リクエストはアプリケーション・プログ
ラム514から、あるいは作動システム512から発生
される。例えば、質問リクエストがキーボード508あ
るいはマウス510で入力されると仮定する。オブジェ
クトへの質問に対する質問リクエストが入力/出力装置
302によって受信され、ここから質問リクエストがC
PU504に伝送される。CPU504がアクセスされ
るべきオブジェクトの論理パス・ネームを抽出する(ス
テップ404)。物理的アドレスではなくて論理パス・
ネームが、このようなリクエストによって提供される。
従って、論理パス・ネームが分散システム100の物理
的アドレスに変換され、ここでオブジェクトがどこに記
憶されたか確認される(ステップ406)。換言すれ
ば、分散ネーム分析が実行される。このステップにとも
なう動作について次にさらに詳しく説明する。得られた
物理的アドレスでのオブジェクトがアクセスされる(ス
テップ408)。オブジェクトはワークステーションと
同じドメインに配置されるかあるいは他のドメインに遠
くに配置されるか、または概してドメインの外側に配置
されることが理解できる。
【0029】分散ファイル・システムはステップ406
によって必要とする分散ネーム分析を実行する。図6は
検索記憶位置ルーチン518のフローチャートであり、
分散システム100のオブジェクトのためにオブジェク
トの論理パス・ネームの物理的アドレスへのマッピング
を実行する(すなわち、図4のステップ406)。検索
記憶位置ルーチン518のコピーは、すべてのワークス
テーション101(図1)と分散システム100のドメ
イン・コントローラ106に記憶されるのが好ましい。
【0030】最初に、検索記憶位置ルーチン518が、
リクエストを受信して分散システム100からの情報を
検索する(ステップ602)。図示の都合上、ワークス
テーション500の検索記憶位置ルーチン518がリク
エストを受信し、分散システム100のローカル・サイ
トからの情報を検索するものと仮定する。アクセスされ
るべきオブジェクトのための論理パス・ネームが、リク
エストから得られる(ステップ604)。ワークステー
ション500のワークステーション・プリフィックス・
テーブル520が調査され、リクエストから得られた論
理パス・ネームのためのエントリーがプリフィックス・
テーブルに記憶され(ステップ606)ているかどうか
決定される。
【0031】ワークステーション・プリフィックス・テ
ーブル520はプリフィックス・テーブル・データ構造
のほんの一例にすぎない。各ドメイン・コントローラ1
06は、プリフィックス・テーブルをも含んでいる。図
8はプリフィックス・テーブル800のフォーマットを
より詳細に示したものである。プリフィックス・テーブ
ル800は、既に分析されている論理パス・ネームのた
めのアドレスをホールドするキャッシュとして作用す
る。プリフィックス・テーブル800は、オブジェクト
の論理パス・ネームを分散システム中の物理的アドレス
にマップするのに使用される。ボリュームは関連するボ
リューム・オブジェクトを有し、ハードウエア要素は典
型的にはリクエストを受けてボリュームと要素にそれぞ
れアクセスする関連するオブジェクトを有していること
が理解できる。別々のロー(行)あるいはエントリー8
02がプリフィックス・テーブル800内に保持された
各論理パス・ネームのために設けられている。各ロー8
02は複数のカラム(列)804を含んでいる。各カラ
ム804は別々のフィールドをホールドしている。カラ
ム806は分散ネーム・スペース内のオブジェクトを単
独的に識別する論理パス・ネームをホールドする。カラ
ム808がカラム806の論理パス・ネームに関連する
ストリングをホールドする。これは基礎をなすネットワ
ーク作動システム(例えば、ワシントン州、レドモンド
のマイクロソフト・コーポレーションから販売されてい
るマイクロソフトLANマネジャー等)に意味がある。
本発明の好ましい実施例の分散ファイル・システムは、
従来のネットワーク作動システムではなく、どちらかと
いえばネットワーク作動システムから独立しており個々
のネットワーク作動システム同志を結合させるスーパー
機構として作用する。
【0032】カラム810はローカル・ネットワーク作
動システム・サーバーあるいはローカル・ファイル・シ
ステムに対して意味のあるローカル・アドレスをホール
ドする。カラム812はローカル・ボリューム・フラグ
をホールドする。このローカル・ボリューム・フラグ
は、ロー802の論理パス・ネームがユーザによってロ
グ・オンされているかワークステーションのボリューム
と一致しているかどうかを表示する。カラム814がロ
ーカル・エグジット・ポイント・フラグをホールドす
る。このローカル・エグジット・ポイント・フラグが、
ロー802の論理パス・ネームがローカル・ボリューム
のエグジット・ポイントを表しているかどうかを表示す
る。カラム816が、ロー802の論理パス・ネームが
ドメイン・ホルダー・オブジェクトのための論理パス・
ネームを表しているかどうかを表示するリフェラル・サ
ービス・フラグをホールドする。最後に、カラム818
が、インター・ドメイン・ボリューム・フラグをホール
ドする。このインター・ドメイン・ボリューム・フラグ
は、ロー802の論理パス・ネームを有しているボリュ
ームが、プリフィックス・テーブルを含んでいるドメイ
ンの外部のドメインに記憶されているときはいつでもセ
ットされる。
【0033】分散システム100の分散ネーム・スペー
ス300のすべての論理パス・ネームがワークステーシ
ョン・プリフィックス・テーブル520に記憶される
と、オブジェクトの論理パス・ネームのマッピングが、
論理パス・ネームと対応するアドレスの検索の簡単なル
ックアップを伴うだけである。しかし、分散システム1
00は、何千あるいは何万ものハードウエワおよび対応
するネーム付けされたオブジェクトとしてモデルされた
ソフトウエア要素を備えたシステムに拡張するので、分
散ネーム・スペース300がこれに対応して拡張され
る。このような拡張分散システムのための単独プリフィ
クス・テーブルの管理は、このようなプリフィクス・テ
ーブルのシアー・サイズ(sheer size)のために実行不能
になる。
【0034】ステップ606において、検索記憶位置ル
ーチン518が、リクエストからの論理パス・ネームの
プリフィックスである最長の論理パス・ネームのための
ワークステーション・プリフィックス・テーブル520
を調査する。換言すれば、ワークステーション500
は、まず論理ネームのためのネーム分析が完了して、必
要知識を既にあるかどうかを発見することを要求する。
論理パス・ネームのためのプリフィクスの概念が多分例
として最もよく表現されている。例えば、「\a\b」
は論理パス・ネーム「\a\b\c」のプリフィックス
である。ステップ606で見つけられる最長のマッチン
グ・プリフィックスは、全論理パス・ネームと等価であ
る。すなわち、論理パス・ネームの先頭部のみと一致す
る。ステップ608において、検索記憶位置ルーチン5
20は、リクエストからの論理パス・ネームとワークス
テーション・プリフィックス・テーブル520の論理パ
ス・ネームとの間がマッチングされているか(すなわ
ち、プリフィックスが論理ネームの先頭部とマッチング
されているか)どうか決定される。これがマッチされて
おれば、ワークステーション・プリフィックス・テーブ
ル520中のマッチングされたエントリーがカラム81
2にそのローカル・ボリューム・フラグ・セットを有し
ているかどうか決定される(ステップ610)。換言す
れば、論理パス・ネームを有するオブジェクトがワーク
ステーションのローカル・ボリューム内にあるかどうか
決定する。ローカル・ボリューム・フラグがセットされ
ていれば、ローカル・アドレスがプリフィックス・テー
ブルのカラム810から検索され、また、リクエストか
らの論理パス・ネームが論理パス・ネームのマッチング
された部分の代わりに検索されたローカル・アドレスが
使用されることによって変換される(ステップ61
2)。次いで、コントロールがアクセス・オブジェクト
・ルーチン516に帰還される(図4参照)。
【0035】ステップ610において、マッチされたエ
ントリーがそのローカル・ボリューム・フラグ・セット
を有していないことが決定されれば、ワークステーショ
ン500は他の場所を検索して論理ネームを分析して物
理アドレスにしなければならない、従って論理パス・ネ
ームに関連するネットワーク・アドレスがワークステー
ション・プリフィックス・テーブル520のカラム80
8から検索される(ステップ614)。オブジェクトへ
のアクセスのリクエストは、検索ネットワーク・アドレ
スでネットワーク・サーバーに間接的に伝送される(ス
テップ616)。このリクエストはリディレクタに実際
に伝送され、ここからリクエストがネットワーク・サー
バーに伝送される。パーフォーム・サーバー・ネーム分
析ルーチン522はサーバーでネーム分析を実行するよ
うに呼び込まれる(ステップ618)。
【0036】図7はパーフォーム・サーバー・ネーム分
析ルーチン522によって実行されるステップのフロー
チャートを示す。論理パス・ネームがリクエストから得
られオブジェクトにアクセスし、これがサーバーに伝送
される(ステップ702)。ネットワーク・サーバー1
03が、パスがローカル・ボリュームを示しているかど
うか決定する(ステップ706)。パスがネットワーク
・サーバー103のローカル・ボリューム内にあれば、
ネーム分析がネットワーク・サーバー103によって実
行される(ステップ708)。ネットワーク・サーバー
が、サーバーのプリフィックス・テーブルに保持された
情報にアクセスしてネーム分析を実行する。ステップ7
08が完了すると、パーフォーム・サーバー・ネーム分
析ルーチン522がプロセス・コントロールを検索記憶
位置ルーチン518に戻す。
【0037】ステップ706において、論理パス・ネー
ムとローカル・ボリュームのためのサーバー・プリフィ
ックス・テーブルのエントリーのうちのいずれかとの間
でマッチしていないことが決定されると、判別エラーが
オリジネート・ワークステーションに戻され、リクエス
トからの論理パス・ネームがサーバー上のあらゆるロー
カル・ボリューム内に含まれる分散ネーム・スペース外
にあることを表示する(ステップ710)。ステップ7
10が完了すると、プロセス・コントロールがステップ
620で検索記憶位置ルーチン518に戻される。
【0038】サーバー・ネーム分析ルーチン522が実
行された後(ステップ618)、サーバーが、判別エラ
ーをリターンしたかどうか決定する(ステップ62
0)。サーバーが判別エラーをリターンさせると、ワー
キング・プリフィックス・テーブル・エントリー(現在
興味のあるプリフィックス・テーブル・エントリーを識
別する)がサーバーのプリフィックス・テーブルにエン
トリーされるようにセットされ、ここで突き合わせが行
なわれる(ステップ622)。
【0039】ステップ624において、ワーキング・プ
リフィックス・テーブル・エントリーがドメイン・コン
トローラに関連しているかどうか決定し、これによって
リフェラルを発生する。リフェラルはボリュームに関す
る情報のパケットであり、ボリュームはそのためのエン
トリー・パスと、ファイル・システム・ドライバーの認
識がボリュームにアクセスするように呼び出されるプロ
バイダーIDと、ネットワーク・プロバイダーに供給さ
れて、分散ファイル・システムとトークするか、あるい
は他のアドレス機構に関係するサービス・アドレスとを
含んでいる。ワーキング・プリフィックス・テーブル・
エントリーがそのリフェラル・サービス・フラグ(カラ
ム816)セットを有しているかどうか決定する。ワー
キング・プリフィックス・テーブル・エントリーが、リ
フェラルが発生されないことを表示すれば、ワーキング
・プリフィックス・テーブル・エントリーが、リクエス
トからの2番目に長い論理パス・ネームを含んでいるプ
リフィックス・テーブル中のエントリーに変更される
(ステップ626)。こうして、上述したようにステッ
プ624から始まる処理が繰り返される。これらのステ
ップは次の最良プリフィックスを求めて、リフェラルを
発生できるドメイン・コントローラを見出す。
【0040】ステップ624において、ワーキング・プ
リフィックス・テーブル・エントリーが、リフェラルが
発生できることを表示すると(すなわち、ワーキング・
プリフィックス・テーブル・エントリーがドメイン・コ
ンテナに関係していれば)、ステップ628においてゲ
ット・リフェラル・ルーチン524がリフェラルが得ら
れるように呼び出される(ステップ628)。このルー
チンについて次に詳述する。ワークステーションがプリ
フィックス・テーブル520のリフェラルから誘起され
た情報を記憶する(ステップ630)。
【0041】ステップ608で、プリフィックス・テー
ブルが、リクエスト内に含まれた論理パス・ネームのた
めのマッチング・プリフィックスを含んでいなければ、
ワークステーション500がドメイン・コントローラか
らの援助を求める。より詳しく説明すると、ワーキイン
グ・プリフィックス・テーブル・エントリーがワークス
テーションを含むドメインのドメイン・コントローラの
プリフィックス・テーブル関連するようにセットされ、
ここからリクエストが発生される(ステップ632)。
ステップ624で開始される上述したステップが、論理
パス・ネームがアドレスに分析されるまでドメイン・コ
ントローラで繰り返される。
【0042】図9はゲット・リフェラル・ルーチン52
4によって実行されるステップのフローチャートであ
る。最初に、ステップ902において、リフェラルのた
めのリクエストがワーキイング・プリフィックス・テー
ブル・エントリーに関連してドメイン・コントローラで
受信される。アクセスされるべきオブジェクトのための
論理パス・ネームがリクエストから引き出される(ステ
ップ904)。リクエストが受信されるドメイン・コン
トローラにおけるプリフィックス・テーブルが最長論理
パス・ネームのためのDFSマネジャー208の制御下
で検索さる。このパス・ネームはリフェラル・リクエス
トからの論理パス・ネームのプリフィックスで、これが
検索される(ステップ906)。テーブルのプリフィッ
クスのどれかと論理パス・ネーム間のマッチがあるかど
うかが決定される(ステップ908)。マッチがなけれ
ば、ステップ908において、リフェラルが近接する上
位ドメインのドメイン・コントローラのためのネットワ
ーク・アドレスを得ることによって形成される(すなわ
ち、プリフィックス・テーブルのカラム808に保持さ
れる)(ステップ910)。リフェラルがドメイン・コ
ントローラから、これがリクエストされたワークステー
ションに伝送される(ステップ920)。次いで、コン
トロールが記憶位置ルーチン518を検索に戻す。
【0043】ステップ908において、マッチがあるか
どうか決定される。マッチされた論理パス・ネームがド
メイン・コントローラのドメインの外部のボリュームに
関連しているかどうかが、インター−ドメイン・ボリュ
ーム・フラグが「ファルス」としてセットされているか
どうか調査される(ステップ912)ことによって決定
される。インター−ドメイン・ボリューム・フラグが
「ファルス」としてセットされておれば、リフェラルが
マッチされたプリフィックス・テーブル・エントリーか
ら構築され(ステップ913)、リフェラルが所望のボ
リュームを保持するワークステーションに進められる
(ステップ920)。インター−ドメイン・ボリューム
・フラグが「ツルー」にセットされておれば、処理はス
テップ914で続行される。
【0044】ステップ914において、リフェラル・サ
ービス・フラグがチェックされる。リフェラル・サービ
ス・フラグが「ファルス」にセットされておれば、ドメ
イン・コントローラのプリフィックス・テーブルが、現
在マッチされているプリフィックス・テーブル・エント
リー中の論理パス・ネームのプリフィックスである最長
論理パス・ネームにつき検索される(ステップ91
6)。処理がステップ914を繰り返すことによって続
行される(上述の通り)。
【0045】ステップ914において、リフェラル・サ
ービス・フラグが「ツルー」にセットされていることが
決定されれば、現在マッチされているプリフィックス・
テーブル・エントリーからドメイン・コントローラのネ
ットワーク・アドレスを得ることによって形成される
(ステップ918)。ステップ918が完了されると、
ステップ920による処理が続行され、ここでリフェラ
ルがこれを要求しているワークステーションに伝送され
る。次いでコントロールが記憶位置ルーチン518を検
索に戻す。
【0046】前述したように、プリフィックス・テーブ
ルが各ワークステーション101と各ドメイン・コント
ローラ106に記憶される。プリフィックス・テーブル
の各変数を初期化する必要がある。ドメイン・コントロ
ーラのプリフィックス・テーブルがドメイン中のボリュ
ームを表すボリューム・オブジェクトから検索されたデ
ータで初期化され、対応するドメイン・ホルダー・オブ
ジェクトを記憶する。
【0047】図15はドメイン・コントローラ・プリフ
ィックス・テーブル・ルーチン1104を初期化するこ
とによって実行されるステップを示し、このルーチンが
ボリューム・オブジェクトに記憶されたデータを用いて
ドメイン・コントローラ中のプリフィックス・テーブル
を初期化する。図11はこのような初期化に用いられる
ドメイン・コントローラ1100のいくつかの要素を示
す。ステップ1502において、初期化ドメイン・ルー
ト・ボリューム・ローカル情報ルーチン1106が呼び
出される。図10はこのルーチン1106によって実行
されるステップを示す。ステップ1001において、ド
メイン・ルーツ・ボリュームのエントリー・パスが、ド
メイン・コントローラ109を含んでいるドメインにつ
きルート・ボリュームのボリューム・オブジェクトから
検索される。エントリーがドメイン・コントローラ・プ
リフィックス・テーブル1102で形成され、検索エン
トリー・パスが形成されたエントリーに記憶される(ス
テップ1003)。ルーツ・ボリュームのローカル・ア
ドレスがルーツ・ボリュームのボリューム・オブジェク
トから検索され、ローカル・アドレスがエントリーに記
憶される(ステップ1005)。エントリー中のローカ
ル・ボリューム・フラグ812がセットされる(ステッ
プ1007)。ステップ1009において、ドメイン・
ルーツ・ボリュームのネットワーク・アドレスが、ルー
ツ・ボリュームのボリューム・オブジェクトから検索さ
れ、ネットワーク・アドレスがドメイン・コントローラ
・プリフィックス・テーブル1102のエントリーにセ
ットされる(ステップ1007)。ステップ1011に
おいて、ドメイン・コントローラ・プリフィックス・テ
ーブル907のエントリー中のリフェラル・サービス・
フラグ816がセットされる。ボリューム・オブジェク
トがドメイン・ルーツ・ボリュームにつき検索され、ド
メイン・ルーツ・ボリュームのための未処理エグジット
・ポイントがまだ存在しているかどうか判定される(ス
テップ1013)。ドメイン・ルーツ・ボリュームのエ
グジット・ポイントが、すべてのドメイン・ボリューム
・オブジェクトのためのドメイン・コントローラのプリ
フィックス・テーブルにロードされたエントリーを単に
試験することによって決定される。未処理エグジット・
ポイントがボリューム・オブジェクトに存在していれ
ば、処理がステップ1015から1021によって続行
される。
【0048】ステップ1015において、第1の未処理
エグジット・ポイントがドメイン・ルーツ・ボリューム
につきボリューム・オブジェクトから検索される。ステ
ップ1017において、検索されたエグジット・ポイン
トのエグジット・パスのためのドメイン・コントローラ
・プリフィックス・テーブル1102にエントリーがあ
るかどうか判定される。エグジット・パスにつきドメイ
ン・コントローラ・プリフィックス・テーブル1102
にエントリーが存在しない場合、エントリーが、検索さ
れたエグジット・ポイントのエグジット・パスのための
ドメイン・コントローラ・プリフィックス・テーブル1
102に形成される。ステップ1019が完了すると、
処理がステップ1021で続行される。ステップ101
7において、検索されたエグジット・ポイントのエグジ
ット・パスのためのドメイン・コントローラ・プリフィ
ックス・テーブル907のエントリーが見つかれば、処
理がステップ1021で続行される。ステップ1021
において、ステップ1015で検索されたエグジット・
ポイントのためのエグジット・パスを含んでいるエント
リーに対してローカル・エグジット・ポイント・フラグ
がセットされる。ステップ1021が完了されると、処
理がステップ1013に引き継がれる。
【0049】ステップ1013において、ドメイン・ル
ーツ・ボリュームのためのすべてのエグジット・ポイン
トが処理されたかどうか判定される。処理されていない
場合、コントロールがドメイン・コントローラ・プリフ
ィックス・テーブル・ルーチン1104を初期化操作に
戻す。
【0050】一旦、ドメイン・コントローラ・プリフィ
ックス・テーブル1102がドメイン・ルーツ・ボリュ
ーム・ローカル情報で初期化されると、ドメイン・コン
トローラ・プリフィックス・テーブル・ルーチン110
4の初期化操作が、ドメイン・非ルーツ・ボリューム・
ローカル情報ルーチン1108の初期化を引き出す(ス
テップ1504)。このルーチン1108が、ドメイン
の非ルーツ・ボリュームに対して各ボリューム・オブジ
ェクトからの非ルーツ・ボリュームのエントリー・パス
とネットワーク・アドレスを検索する。加えて、このル
ーチンが各検索エントリー・パスとネットワーク・アド
レスをドメイン・プリフィックス・テーブル1102に
記憶する。
【0051】図12はドメイン・非ルーツ・ボリューム
・ローカル情報ルーチン1108の初期化操作の好まし
いステップを示す。ドメイン中に非ルーツ・ボリューム
のための未処理ボリューム・オブジェクトがなにか存在
しているかどうか判定する(ステップ1202)。未処
理ボリューム・オブジェクトが存在していれば、非ルー
ツ・ボリュームのエントリー・パスが検索され(ステッ
プ1203)、第1未処理ボリューム・オブジェクトに
関連する非ルーツボリュームのエントリー・パスのため
の・ドメイン・コントローラ・プリフィックス・テーブ
ル1102に既にエントリーがあるかどうかが決定され
る(ステップ1204)。非ルーツ・ボリュームのエン
トリー・パスのためのドメイン・コントローラ・プリフ
ックス・テーブル1102にエントリーがない場合、エ
ントリーが、ドメイン・コントローラ・プリフィックス
・テーブル1102に形成される(ステップ121
0)。非ルーツ・ボリュームのエントリー・パスが、非
ルーツ・ボリュームのためにボリューム・オブジェクト
から検索される(ステップ1212)。エントリー・パ
スがドメイン・コントローラ・プリフィックス・テーブ
ル1102の形成エントリーに記憶される(ステップ1
214)。ステップ1213が完了されると、処理がス
テップ1206で続行される。ステップ1204におい
て、ドメイン・コントローラ・プリフィックス・テーブ
ル1204が非ルーツ・ボリュームのエントリー・パス
のためのエントリーを含んでいることが決定されれば、
処理1102がステップ1206で続行される。ステッ
プ1206において、非ルーツ・ボリュームのネットワ
ーク・アドレスがボリューム・オブジェクトから検索さ
れる。検索ネットワーク・アドレスが、非ルーツ・ボリ
ュームのためのエントリー・パスを含んでいるドメイン
・コントローラ・プリフィックス・テーブル1102の
エントリーに記憶される(ステップ1208)。ステッ
プ1208が完了すると、処理がステップ1202で再
度続行される。
【0052】ステップ1202において、非ルーツ・ボ
リュームのすべてのボリューム・オブジェクトが処理さ
れたかどうか決定され、コントロールがドメイン・コン
トローラ・プリフィックス・ルーチン1104を初期操
作に戻す。
【0053】こうしてドメイン・コントローラ・プリフ
ィックス・テーブル1102がドメイン・ルーツ・ボリ
ューム・ローカル情報で初期化され(ステップ150
2)、ドメイン・非ルーツ・ボリューム・ローカル情報
で初期化された(ステップ1504)以上は、ドメイン
・コントローラ・プリフィックス・テーブル・ルーチン
1104の初期化操作が、初期化インター−ドメイン情
報ルーチン1110を引き出す(ステップ1506)。
【0054】図13はステップ1506で引き出された
初期化インター−ドメイン情報ルーチン1110によっ
て実行されるステップのフローチャートである。最初
に、未処理ボリューム・オブジェクトが、ドメイン・コ
ントローラを含んでいるドメインに対して近接する上位
あるいは下位のドメインのためのルーツ・ボリュームを
表しているかどうかを決定する(ステップ1302)。
未処理ボリューム・オブジェクトが残っておれば、対応
するルーツ・ボリュームのためのエントリー・パスが第
1未処理ボリューム・オブジェクトから検索される(ス
テップ1304)。次に、エントリーがルーツ・ボリュ
ームのエントリー・パスのドメイン・コントローラ・プ
リフィックス・テーブル1102にあるかどうか決定さ
れる(ステップ1306)。このようなエントリーがな
い場合、ドメイン・コントロール・プリフィックス・テ
ーブル1102のエントリーが形成される(ステップ1
308)。検索エントリー・パスがドメイン・コントロ
ーラ・プリフィックス・テーブル1102の形成された
エントリーに記憶される(ステップ1312)。ステッ
プ1312が完了されると、処理がステップ1314で
続行される。ステップ1306において、エントリーが
ルーツ・ボリュームのエントリー・パスのためのドメイ
ン・コントローラ・プリフィックス・テーブル1102
にあることが決定されると、処理がステップ1314で
続行される。
【0055】ステップ1314において、ルーツ・ボリ
ュームのネットワーク・アドレスがボリューム・オブジ
ェクトから検索される。検索されたネットワーク・アド
レスが検索されたエントリー・パスを含んでいるドメイ
ン・コントローラ・プリフィックス・テーブル1102
のエントリーに記憶される(ステップ1316)。リフ
ェラル・サービス・フラグがセットされ、インター−ド
メイン・ボリューム・フラグが検索されたエントリー・
パスを含んでいるエントリーにセットされる(ステップ
1318)。ステップ1318が完了されると、処理が
ステップ1302で続行される。
【0056】ステップ1302において、近接する上位
ドメインと近接する下位ドメインのルート・ボリューム
のためのすべてのボリューム・オブジェクトが処理され
たことが決定されれば、コントロールがドメイン・コン
トローラ・プリフィックス・テーブル・ルーチン110
4を初期操作に戻す。
【0057】インター−ドメイン・ルーチン1110の
初期化から処理コントロールを戻すと、初期化ドメイン
・コントローラ・プリフィックス・テーブル・ルーチン
1104が処理を終了する。初期操作に関係する処理の
間、ドメイン・コントローラ・プリフィックス・テーブ
ル・ルーチンが停止され、処理がドメイン・コントロー
ラで続行される。
【0058】分散システム100のワークステーション
にあるフリフックス・テーブルは、そのドメインのエン
トリー・ポイントだけでなくワークステーションに記憶
された各ボリュームのためのエントリー・ポイントとエ
グジット・ポイントで初期化される。
【0059】ワークステーションのプリフィックス・テ
ーブルに記憶する好ましいデータはワークステーション
自体に持続的に記憶され、かつ、ここから検察される。
持続的に記憶されたデータはワークステーションの各ボ
リュームのエントリー・パスと;ドメインのドメイン・
コントローラの物理的アドレスと一緒に、ワークステー
ションを含んでいるドメインのエントリー・パスと;ワ
ークステーションに近接するあらゆる記憶装置の物理的
アドレスとを含んでいる。
【0060】図14はワークステーション・プリフィッ
クス・テーブルを初期化するルーチンの好ましいステッ
プを示す。ステップ1402において、ワークステーシ
ョン・プリフィックス・テーブルを初期化するルーチン
が、ワークステーション・プリフィックス・テーブルが
ワークステーションのすべてのローカル・ボリュームに
関する情報によって初期化されたかどうかを決定する。
未処理のローカル・ボリュームがなおも残っておれば、
ルーチンがワークステーションで持続する記憶から未処
理のローカル・ボリュームのエントリー・パスを検索す
る。検索されたエントリー・パスがワークステーション
・プリフィックス・テーブルに記憶される(ステップ1
404)。未処理のローカル・ボリュームのローカル・
アドレスが持続する記憶から検索され、ローカル・アド
レスがプリフィックス・テーブルに記憶される(ステッ
プ1406)。ローカル・ボリューム・フラグがワーク
ステーション・プリフィックス・テーブルにセットされ
る(ステップ1408)。次いで、ワークステーション
・プリフィックス・テーブルが、ワークステーションの
このローカル・ボリュームのためのすべてのエグジット
・ポイントに関する情報によって初期化されたかどうか
が決定される。ワークステーション・プリフィックス・
テーブルがこのローカル・ボリュームのためのすべての
エグジット・ポイントに関する情報によって初期化され
ていない場合、第1未処理エグジット・ポイントに関す
る情報がパーマネント・ストレージから検索される(ス
テップ1412)。ステップ1414において、検索エ
グジット・ポイントのエグジット・パスのためのワーク
ステーション・プリフィックス・テーブルにエントリー
があるかどうか決定される。エントリーがワークステー
ション・プリフィックス・テーブルに存在しない場合、
エントリーが検索エグジット・ポイントのエグジット・
パスのためのワークステーション・プリフィックス・テ
ーブルに形成される(ステップ1416)。ステップ1
416が完了すると、処理がステップ1418に継続さ
れる。ステップ1414において、エントリーが検索エ
グジット・ポイントのエグジット・パスのためのワーク
ステーション・プリフィックス・テーブルに存在するこ
とが決定されると、処理がステップ1418に継続され
る。
【0061】ステップ1418において、ローカル・エ
グジット・ポイント・フラグが、検索エグジット・ポイ
ントのためのエグジット・パスを含んでいるワークステ
ーション・プリフィックス・テーブル中のエントリーの
ためにセットされる。ステップ1418が完了すると、
処理がステップ1410に継続される。
【0062】ステップ1410において、ワークステー
ション・プリフィックス・テーブルがこのローカル・ボ
リュームのためのすべてのエグジット・ポイントに関す
る情報で初期化かれていることが決定されれば、処理が
ステップ1402に継続される。
【0063】ステップ1402において、ワークステー
ション・プリフィックス・テーブルが、ワークステーシ
ョンのすべてのローカル・ボリュームに関する情報で初
期化かれていることが決定され、ワークステーションを
含んでいるドメインのためのルート・ボリュームのエン
トリー・パスが検索される(ステップ1420)。ステ
ップ1422において、ワークステーションを含んでい
るドメインのルート・ボリュームのためのドメイン・コ
ントローラのネットワーク・アドレスが検索される。エ
ントリーがワークステーション・プリフィックス・テー
ブルに形成され、検索されたエントリー・パスがエント
リーの検索されたネットワーク・アドレス中に記憶され
る(ステップ1424)。ステップ1426において、
リフェラル・サービス・フラグがワークステーション・
プリフィックス・テーブル中の形成エントリーのために
セットされる。
【0064】以上説明したように、本発明の特定の実施
例につき図示例として説明してきたが、種々の変形例も
本発明の概念と思想から外れることなく作ることが可能
であるこもちろんである。従って、本発明は添付の請求
の範囲以外によって限定されるものではない。
【図面の簡単な説明】
【図1】本発明の好ましい実施例を実行する分散システ
ムのブロック図である。
【図2】図1のドメイン・コントローラのより詳しいブ
ロック図である。
【図3】本発明の好ましい実施例のための分散ネーム・
スペースの簡略化したサンプルを示す図である。
【図4】本発明の好ましい実施例のアクセス・オブジェ
クト・ルーチンによって実行されるステップを示すフロ
ー・チャートである。
【図5】本発明の好ましい実施例によるワークステーシ
ョンのより詳しいブロック図である。
【図6】本発明の好ましい実施例に用いた検索記憶位置
ルーチンのフロー・チャートである。
【図7】本発明の好ましい実施例のパーフォーム・サー
バー・ネーム分析ルーチンのフロー・チャートである。
【図8】本発明の好ましい実施例のプリフィックス・テ
ーブルのフォーマットを示すダイヤグラムである。
【図9】本発明の好ましい実施例のゲット・リフェラル
・ルーチンによって実行されるステップのフロー・チャ
ートである。
【図10】本発明の好ましい実施例の初期化ドメイン・
ルート・ボリューム・ローカル情報ルーチンによって実
行されるステップのフロー・チャートである。
【図11】本発明の好ましい実施例によるドメイン・コ
ントローラのブロック図である。
【図12】本発明の好ましい実施例の初期化ドメイン・
非ルート・ボリューム・ローカル情報ルーチンのフロー
・チャートである。
【図13】本発明の好ましい実施例の初期化インタード
メイン情報ルーチンによって実行されるステップを示す
フロー・チャートである。
【図14】本発明の好ましい実施例の初期化ワークステ
ーション・プリフィックス・テーブルによって実行され
るステップのフロー・チャートである。
【図15】本発明の好ましい実施例の初期化ドメイン・
コントローラ・プリフィックス・テーブル・ルーチンに
よって実行されるステップのフロー・チャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユーヴァル ニーマン アメリカ合衆国 ワシントン州 98004 ベルヴィュー ナインティファースト プ レイス ノースイースト 2765 (72)発明者 スードヘアー コーネル アメリカ合衆国 ワシントン州 98052 レッドモンド 119 ワンハンドレッドア ンドフィフティシックスス アベニューノ ースイースト 4850 (72)発明者 ミラン シャー アメリカ合衆国 ワシントン州 98052 レッドモンド エイエイ1094 ワンハンド レッドアンドフォーティエイス アベニュ ー ノースイースト 8500 (72)発明者 ピーター ジェイ クック アメリカ合衆国 ワシントン州 98027 イサカ シカモア ドライヴ サウスイー スト 1430 (72)発明者 アーノルド エス ミラー アメリカ合衆国 ワシントン州 98005 ベルヴィュー サウスイースト トゥエン ティセカンド プレイス 12806

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 各オブジェクトが分散ネーム・スペース
    中のオブジェクトに単独的に一致する論理ネームと対応
    するアドレスの両方を有しており、オブジェクトが論理
    ドメインにグループ分けされ、このドメインが階層構造
    に組織化され、この構造内で各ドメインが階層構造中の
    一つの上位ドメインと階層構造中の一つあるいはそれ以
    上の下位ドメインを有している分散システムにおいて、 各ドメインのためのドメイン・コントローラ要素を用意
    し、各ドメイン・コントローラ要素がいずれ近接する上
    位ドメインのためのドメイン・コントローラ要素の分散
    ネーム・スペース中の論理ネームのために、ドメイン・
    コントローラ要素のアドレスを含んでいるエントリーを
    記憶し、さらに、いずれ近接する下位ドメインのための
    いずれのドメイン・コントローラ要素のための分散ネー
    ム・スペース中の論理ネームのために、ドメイン・コン
    トローラ要素のアドレスを含んでいるエントリーを記憶
    するプリフィックス・テーブルをホールドする工程と;
    分散ネーム・スペースに論理ネームのプリフィックスの
    ためのエントリーを記憶する他のプリフィックス・テー
    ブルを含んでおり、また各エントリーがプリフィックス
    によってネーム付けされた分散システムにオブジェクト
    のアドレスを含んでいる分散システムからの情報のため
    のリクエストを処理する第1コンピュータ要素を用意す
    る工程と;分散システム中でアクセスすべきオブジェク
    トのための論理ネームを含んでいるリクエストを受信
    し、第1コンピュータ要素でオブジェクトにアクセスす
    る工程と;リクエストからの論理ネームのプリフィック
    スのためのエントリーが第1コンピュータ要素のプリフ
    ィックス・テーブルに記憶されているかどうかを決定す
    る工程と;論理ネームのプリフィックスのためのエント
    リーが第1コンピュータ要素のプリフィックス・テーブ
    ルに記憶されていないという決定に応答して、 第1コンピュータ要素のプリフィックス・テーブルか
    ら、第1コンピュータ要素を含んでいるドメインのため
    のドメイン・コントローラ要素のアドレスを検索する工
    程と;リクエストからの論理ネームを、第1コンピュー
    タ要素を含んでいるドメインのためのドメイン・コント
    ローラ要素に伝送する工程と;第1コンピュータ要素を
    含んでいるドメインのためのドメイン・コントローラ要
    素のプリフィックス・テーブルから、リクエストからの
    論理ネームに対応するアドレスを検索する工程と;リク
    エストからの論理ネームに対応する検索アドレスでオブ
    ジェクトにアクセスする工程と;からなることを特徴と
    するオブジェクトにアクセスするコンピュータ稼働方
    法。
  2. 【請求項2】 第1コンピュータ要素が、ローカル・ア
    ドレス・スペース中のオブジェクトに直接アクセスする
    コンピュータ稼働方法であって、 論理ネームのプリフィックスのためのエントリーが、第
    1コンピュータ要素のプリフィックス・テーブルに記憶
    されているという決定に応答して;第1コンピュータ要
    素のプリフィックス・テーブルにエントリーを有するプ
    リフィックスの内最長のマッチング・プリフックスを確
    認する工程と;最長マッチング・プリフィックスに関連
    するオブジェクトが、第1コンピュータ要素によって直
    接アクセス可能であるローカル・アドレス・スペースに
    記憶されているかどうかを決定する工程と;最長マッチ
    ング・プリフィックスに関連するオブジェクトがメモリ
    の一部のためのアドレスを得るローカル・アドレス・ス
    ペース中に記憶されていることが決定される工程と;メ
    モリの一部のために得られたアドレスを使用するオブジ
    ェクトにアクセスする工程と;をさらに含んでいること
    を特徴とする請求項1に記載の方法。
  3. 【請求項3】 分散システムがネットワーク・サーバー
    を含んでおり、 最長マッチング・プリフィックスと関連するオブジェク
    トが、第1コンピュータ要素によって直接アクセス可能
    であるローカル・アドレス・スペース中に記憶されてい
    ないことが決定される工程と;リクエストを進行させて
    オブジェクトをネットワーク・サーバーにアクセスさせ
    る工程と;論理ネームを、ネットワーク・サーバーにお
    けるアドレスへの分析を試行する工程と;をさらに含ん
    でいることを特徴とする請求項2に記載の方法。
  4. 【請求項4】 アドレスをオブジェクトにアクセスする
    のに使用して、論理ネームのネットワーク・サーバーに
    おけるアドレスへの分析を成功させる工程をさらに含ん
    でいることを特徴とする請求項3に記載の方法。
  5. 【請求項5】 ネットワーク・サーバーにおけるアドレ
    スの論理ネームの分析が成功しない場合に、 第1コンピュータ要素を含むドメインのために、第1コ
    ンピュータ要素のプリフィックス・テーブルから、ドメ
    イン・コントローラ要素のアドレスを検索する工程と;
    第1コンピュータ要素を含むドメインのために、リクエ
    ストからの論理ネームをドメイン・コントローラ要素に
    伝送する工程と;第1コンピュータ要素を含むドメイン
    のために、ドメイン・コントローラ要素のプリフィック
    ス・テーブルから、リクエストからの論理ネームに対応
    するアドレスを検索する工程と;リクエストから論理ネ
    ームに対応する検索されたアドレスにおいてオブジェク
    トにアクセスする工程と;をさらに含んでいることを特
    徴とする請求項4に記載の方法。
  6. 【請求項6】第1コンピュータ要素を含むドメインのた
    めに、リクエストをドメイン・コントローラ要素のアド
    レスが、物理的アドレスのためのリクエストを送信せず
    に検索されることを特徴とする請求項1に記載の方法。
  7. 【請求項7】 ドメイン・コントローラ要素を用意する
    工程が、論理ネームと、近接する上位ドメインと近接す
    る下位ドメインのためのドメイン・コントローラ要素の
    対応するアドレスを検索する工程を含んでおり、検索さ
    れた論理ネームと対応するアドレスを、ドメイン・コン
    トローラ要素のプリフィックス・テーブルに記憶する工
    程をさらに含んでいることを特徴とする請求項1に記載
    の方法。
  8. 【請求項8】 論理ネームが論理パス・ネームであるこ
    とを特徴とする請求項1に記載の方法。
  9. 【請求項9】 その要素が論理的に自給式ドメインに分
    割され、各ドメインがこのドメインに含まれ、かつ、ロ
    ーカル記憶装置を有するワークステーションである前記
    要素中にふくまれた情報をホールドするドメイン・コン
    トローラを含んでいる分散システムにおいて、 分散システム中のオブジェクトのために分散ネーム・ス
    ペースを備えた分散ファイル・システムを提供する工程
    と;ワークステーションで分散ネーム・スペース中の論
    理ネームによってオブジェクトが認識されるリクエスト
    を受信し、分散ネーム・スペース中のオブジェクトにア
    クセスする工程と;論理ネームの第1キャッシュとワー
    クステーションにおける関連する分析アドレスを提供す
    る工程と;既にアドレスに分析されているようにリクエ
    ストされたアクセスへのオブジェクトの論理ネームの最
    長マッチング部を位置付けする工程と;論理ネームの一
    部が未だアドレスに分析されていないということが第1
    キャッシュにアクセスすることによって決定される工程
    が、 ワークステーションを含んでいるドメインのためのドメ
    イン・コントローラにリクエストを進行させる工程と;
    論理ネームのための関連する分析アドレスのドメイン・
    コントローラに第2キャッシュを提供する工程と;リク
    エストされたアクセスへのオブジェクトの論理ネームの
    一部が、既にアドレスに分析されているかどうか決定す
    るように第2キャッシュにアクセスする工程と;リクエ
    ストされたアクセスへのオブジェクトの論理ネームの一
    部が、アドレスに分析されているということが第2キャ
    ッシュへのアクセスによって決定される工程が、 論理ネームの一部とアドレスをワークステーションに進
    行させる工程と;論理ネームの一部とアドレスをワーク
    ステーションの第1キャッシュに記憶させる工程と;第
    1キャッシュの工程へのアクセスから始まる前記諸工程
    を繰り返す工程と;からなることを特徴とする方法。
  10. 【請求項10】 リクエストされたアクセスへのオブジ
    ェクトの論理ネームの一部がアドレスに既に分析されて
    いるということが第1キャッシュへのアクセスによって
    決定される工程が、 論理ネームの一部のアドレスが、ワークステーションの
    ローカル記憶装置の記憶位置に関連しているかどうかを
    決定する工程と;論理ネームの一部のアドレス部分が、
    ワークステーションのローカル記憶装置の記憶位置に関
    連しているおり、論理ネームの一部へのアドレスを用い
    てオブジェクトにアクセスする工程と;からなることを
    特徴とする請求項9に記載の方法。
  11. 【請求項11】 ネットワーク・サーバーをさらに備え
    ている分散システムにおいて、 論理ネームの一部のアドレスが、ワークステーションの
    ローカル記憶装置外の記憶位置に関連するかどうかを決
    定する工程が、 論理ネームをネットワーク・サーバーに進行させる工程
    と;ネットワーク・サーバーにおいてアドレス中の論理
    ネームのネーム分析を試行する工程と;をさらに含んで
    いることを特徴とする請求項10に記載の方法。
  12. 【請求項12】 ネットワーク・サーバーにおけるネー
    ム分析が、論理ネームのアドレスへの分析を成功させる
    工程をさらに含んでいることを特徴とする請求項11の
    方法。
  13. 【請求項13】 ネットワーク・サーバーにおけるネー
    ム分析での論理ネームのアドレスへの分析が成功しない
    場合に、 ワークステーションで第1キャッシュを試験することに
    よって分析されるべく決定された論理ネームの一部によ
    って認識された分散ネーム・スペースを含んだドメイン
    のために、論理ネームを第2ドメイン・コントローラに
    進行させる工程と;論理ネームの他のキャッシュと、第
    2ドメイン・コントローラにおいて関連する分析アドレ
    スを用意する工程と;第2ドメイン・コントローラにお
    けるキャッシュにアクセスして、既に分析されている論
    理ネームの一部のためのアドレスを見出す工程と;見出
    されたアドレスをワークステーションに進行させる工程
    と;見出されたアドレスと論理ネームの関連する部分を
    ワークステーションの第1キャッシュに記憶させる工程
    と;からなることを特徴とする請求項11に記載の方
    法。
  14. 【請求項14】 第1記憶媒体部分と第2記憶媒体部分
    を有する分散システムにおいて、 ファイルを記憶、管理するために分散システムの第1記
    憶媒体部分で第1ファイル・システムを稼働させる工程
    と;ファイルを記憶、管理するために分散システムの第
    2記憶媒体部分で、第1ファイル・システムとは異なる
    第2ファイル・システムを稼働させる工程と;単一分散
    ネーム・スペースに、第1記憶媒体部分のファイルと第
    2記憶媒体部分のファイルとを備えるとともに、分散ネ
    ーム・スペースのためにネーム分析サービスを第1ファ
    イル・システムと第2ファイル・システムに備えてお
    り、第1ファイル・システムと第2ファイル・システム
    に対して透過(トランスペアレント)である分散ファイ
    ル・システムを用意する工程と;からなることを特徴と
    する方法。
  15. 【請求項15】 少なくとも一つの記憶媒体からなる分
    散システムが、 ファイルを記憶、管理するための第1ファイル・システ
    ムを稼働する第1記憶媒体部分と;ファイルを記憶、管
    理するための第1ファイル・システムとは異なる第2フ
    ァイル・システムを稼働する第2記憶媒体部分と;ファ
    イル・ネーム分散サービスを供給し、単一分散ネーム・
    スペースを備え、第1記憶媒体部分からのファイルと、
    第2記憶媒体部分からのファイルとを含んでおり、第1
    ファイルシステムと第2ファイル・システムに対して透
    過(トランスペアレント)である分散ファイル・システ
    ムと;からなることを特徴とする分散システム。
  16. 【請求項16】 記憶されたファイルを備えたコンピュ
    ータを有する分散システムにおいて、 コンピュータ・システムのうちの一つで第1ネットワー
    ク作動システムを稼働させる工程と;コンピュータ・シ
    ステムのうちの一つで第1ネットワーク作動システムと
    は異なる第2ネットワーク作動システムを稼働させる工
    程と;分散ファイル・サービスをネットワーク作動シス
    テムに提供し、このシステムがネーム分析サービスを第
    1ネットワーク作動システムと第2ネットワーク作動シ
    ステムに供給するとともに、分散システムに対して統一
    された分散ネームを供給する工程と;からなり、前記ネ
    ーム・スペースが、第1ネットワーク作動システムを稼
    働させるコンピュータ・システムに記憶されたファイル
    と、第2ネットワーク作動システムを稼働させるコンピ
    ュータ・システムに記憶されたファイルとを含んでお
    り、さらに、分散ファイルシステムが第1ネットワーク
    作動システムと第2ネットワーク・システムとに対して
    透過(トランスペアレント)であることを特徴とする方
    法。
  17. 【請求項17】 記憶されたファイルを有するコンピュ
    ータ・システムであって、前記コンピュータ・システム
    の少なくとも一つが第1ネットワーク作動システムを稼
    働させ、また、前記コンピュータ・システムの少なくと
    も一つが第1ネットワーク作動システムとは異なる第2
    ネットワーク・システムを稼働させるコンピュータ・シ
    ステムと;ネーム分析サービスを第1ネットワーク作動
    システムと第2ネットワーク作動システムに備え付ける
    とともに、ファイルの分散ネーム・スペースを提供する
    ために、ネットワーク作動システムに重ねられた分散フ
    ァイル・システムと;からなり、前記分散ネーム・スペ
    ースが第1ネットワーク作動システムを稼働させるコン
    ピュータ・システムに記憶されたファイルと、第2ネッ
    トワーク作動システムを稼働させるコンピュータ・シス
    テムとに記憶されたファイルとを含んでおり、分散ファ
    イル・システムが第1ネットワーク作動システムと第2
    ネットワーク・システムとに対して透過(トランスペア
    レント)であることを特徴とする分散システム。
  18. 【請求項18】 マルチ要素を有する分散システムにお
    いて、 分散システムの要素を論理的にドメインに分割し、各々
    他のドメインとは独立して動作する自給型であるドメイ
    ンを含むようにする工程と;ネーム分析サービスを備え
    るために、分散ファイル・システムを提供する工程と;
    第1ドメイン中の第1機密保護ポリシイを実行する少な
    くとも一つのネットワーク作動システムを稼働させる工
    程と;第1機密保護ポリシイとは異なる第1ドメインで
    分散ファイル・システムと独立した第2機密保護ポリシ
    イを実行する工程と;からなることを特徴とする方法。
  19. 【請求項19】 分散システムにおいて、 分散ネーム・スペースを提供する分散ファイル・システ
    ムを提供する工程と;ファイリング・システム動作を実
    行するために少なくとも一つの下層ファイル・システム
    を提供する工程と;ファイル・システム動作が分散ネー
    ム・スペースで見えるようにオブジェクトを形成する工
    程と;ファイル・システム操作が分散ネーム・スペース
    で見えるように実行させないように少なくとも一つのオ
    ブジェクトを形成する工程と;からなることを特徴とす
    る方法。
  20. 【請求項20】 第1ドメインと第2ドメインを含む論
    理ドメインに階層機構的に組織化された分散システムに
    おいて、 各オブジェクトがネーム・スペース内のオブジェクトと
    対応するアドレスと一致する論理ネームを有している分
    散ネーム・スペースを提供する工程と;各ドメインのた
    めのドメイン・コントローラがエントリーを記憶してい
    るプリフィックス・テーブルをホールドする工程であっ
    て、各エントリーが論理ネームの対応するプリフィック
    スのためのアドレスをホールドする工程と;リクエスト
    を受信し、第2ドメインからの第1ドメイン中のオブジ
    ェクトにアクセスする工程と;プリフックス・テーブル
    中の第1リフェラルを、第1ドメイン中のドメイン・コ
    ントローラに関連する第2ドメインのドメイン・コント
    ローラに提供する工程と;第2ドメインのドメイン・コ
    ントローラ中のプリフィックス・テーブルにアクセスし
    て、第1ドメイン中のドメイン・コントローラに関連す
    る第1リフェラルを得る工程と;プリフィックス・テー
    ブル中の第2リフェラルを、第1ドメイン中のドメイン
    ・コントローラに提供する工程と;第1リフェラルを用
    いて第1ドメイン中のドメイン・コントローラのプリフ
    ィックス・テーブルにアクセスして、第2リフェラルを
    得る工程と;第2リフェラルを用いてオブジェクトにア
    クセスする工程と;からなることを特徴とする方法。
  21. 【請求項21】 分散システムが第3ドメインに含まれ
    ており、第2リフェラルが第3ドメイン中の論理ネーム
    に関連していることを特徴とする請求項21の方法。
  22. 【請求項22】 分散システムが、第1ドメイン中のネ
    ットワーク・サーバーを含んでおり、第2リフェラルが
    第1ドメイン中のネットワーク・サーバーに関連してお
    り、第2リフェラルを用いてオブジェクトにアクセスす
    る工程が、第2リフェラルを用いて第1ドメイン中のネ
    ットワーク・サーバーにアクセスし、ネットワーク・サ
    ーバーを介してオブジェクトにアクセスする工程とから
    なることを特徴とする請求項21の方法。
JP6313490A 1993-12-29 1994-12-16 分散ファイル・システム Pending JPH07210443A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/174910 1993-12-29
US08/174,910 US5701462A (en) 1993-12-29 1993-12-29 Distributed file system providing a unified name space with efficient name resolution

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007243105A Division JP2008021330A (ja) 1993-12-29 2007-09-19 分散ファイル・システム

Publications (1)

Publication Number Publication Date
JPH07210443A true JPH07210443A (ja) 1995-08-11

Family

ID=22638031

Family Applications (2)

Application Number Title Priority Date Filing Date
JP6313490A Pending JPH07210443A (ja) 1993-12-29 1994-12-16 分散ファイル・システム
JP2007243105A Pending JP2008021330A (ja) 1993-12-29 2007-09-19 分散ファイル・システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007243105A Pending JP2008021330A (ja) 1993-12-29 2007-09-19 分散ファイル・システム

Country Status (5)

Country Link
US (2) US5701462A (ja)
EP (1) EP0661652B1 (ja)
JP (2) JPH07210443A (ja)
CA (1) CA2138630C (ja)
DE (1) DE69427681T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001516093A (ja) * 1997-08-13 2001-09-25 マイクロソフト コーポレイション ネットワークの位相的データの表現及び応用方法及び装置
JP2010532526A (ja) * 2007-06-29 2010-10-07 マイクロソフト コーポレーション 分散ファイルシステムのための効率的な更新
US8793645B2 (en) 2010-04-02 2014-07-29 Microsoft Corporation Replacement of data element in a graph

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884322A (en) * 1994-05-24 1999-03-16 Apple Computer, Inc. Method and apparatus for creating and assigning unique identifiers for network entities and database items in a networked computer system
US6941556B1 (en) * 1995-03-24 2005-09-06 Sun Microsystems, Inc. Method and system for type identification for multiple object interfaces in a distributed object environment
US5649103A (en) * 1995-07-13 1997-07-15 Cabletron Systems, Inc. Method and apparatus for managing multiple server requests and collating reponses
US5923848A (en) * 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US5768532A (en) * 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
US5862331A (en) * 1996-06-21 1999-01-19 Sun Microsystems, Inc. Name service system and method for automatic updating on interconnected hosts
US5793970A (en) * 1996-07-11 1998-08-11 Microsoft Corporation Method and computer program product for converting message identification codes using a conversion map accesible via a data link
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6647393B1 (en) 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US7058696B1 (en) 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US5995999A (en) * 1997-03-12 1999-11-30 Fujitsu Limited Naming system for hierarchically named computer accessible objects
US5946685A (en) * 1997-06-27 1999-08-31 Sun Microsystems, Inc. Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism
US6240414B1 (en) 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US7447712B2 (en) 1997-09-28 2008-11-04 Global 360, Inc. Structured workfolder
US5946681A (en) * 1997-11-28 1999-08-31 International Business Machines Corporation Method of determining the unique ID of an object through analysis of attributes related to the object
US5946680A (en) * 1997-11-28 1999-08-31 International Business Machines Corporation Method of determining the unique ID of an object in a peer to peer configuration of object indexes
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US7085480B1 (en) 1998-03-14 2006-08-01 Sony Corporation AV/C commands for accessing a hard disk device
US6377937B1 (en) 1998-05-28 2002-04-23 Paskowitz Associates Method and system for more effective communication of characteristics data for products and services
US6256031B1 (en) * 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6553421B1 (en) * 1998-09-15 2003-04-22 International Business Machines Corporation Method and system for broadcast management in a data communication network that permits namesharing
US6381627B1 (en) * 1998-09-21 2002-04-30 Microsoft Corporation Method and computer readable medium for discovering master DNS server computers for a given domain name in multiple master and multiple namespace configurations
US6449652B1 (en) * 1999-01-04 2002-09-10 Emc Corporation Method and apparatus for providing secure access to a computer system resource
US6381618B1 (en) * 1999-06-17 2002-04-30 International Business Machines Corporation Method and apparatus for autosynchronizing distributed versions of documents
US7418435B1 (en) 1999-08-05 2008-08-26 Oracle International Corporation Multi-model access to data
US7634453B1 (en) 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
JP5220974B2 (ja) 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US7421541B2 (en) * 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
US6553391B1 (en) * 2000-06-08 2003-04-22 International Business Machines Corporation System and method for replicating external files and database metadata pertaining thereto
WO2001098952A2 (en) * 2000-06-20 2001-12-27 Orbidex System and method of storing data to a recording medium
US7124408B1 (en) 2000-06-28 2006-10-17 Microsoft Corporation Binding by hash
US7117371B1 (en) 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US6754798B1 (en) * 2000-10-26 2004-06-22 International Business Machines Corporation Method and an apparatus for volume creation in the presence of multiple aggregators
US6751719B1 (en) * 2000-10-26 2004-06-15 International Business Machines Corporation Method and an apparatus to dynamically order features and to resolve conflicts in a multiple-layer logical volume management environment
KR100695303B1 (ko) * 2000-10-31 2007-03-14 삼성전자주식회사 제어 신호부 및 그 제조 방법과 이를 포함하는 액정 표시장치 및 그 제조 방법
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US20020174295A1 (en) * 2001-01-29 2002-11-21 Ulrich Thomas R. Enhanced file system failure tolerance
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
EP1370950B1 (en) * 2001-02-13 2017-12-27 NetApp, Inc. System and method for policy based storage provisioning and management
US20020184516A1 (en) * 2001-05-29 2002-12-05 Hale Douglas Lavell Virtual object access control mediator
US6588000B2 (en) 2001-08-09 2003-07-01 International Business Machines Corporation Method of partitioning large transistor design to facilitate transistor level timing
US6892264B2 (en) 2001-10-05 2005-05-10 International Business Machines Corporation Storage area network methods and apparatus for associating a logical identification with a physical identification
US7409396B2 (en) * 2002-02-08 2008-08-05 Pitts William M Method for creating an extensible content distribution framework
US6847968B2 (en) * 2002-02-08 2005-01-25 William M. Pitts Method for facilitating access to remote files
US20060168145A1 (en) * 2002-02-08 2006-07-27 Pitts William M Method for creating a secure and reliable content distribution framework
US6968345B1 (en) 2002-02-27 2005-11-22 Network Appliance, Inc. Technique to enable support for symbolic link access by windows clients
US6836775B2 (en) * 2002-04-24 2004-12-28 International Business Machines Corporation Method, apparatus and computer program product for file system referrals
US20030229689A1 (en) * 2002-06-06 2003-12-11 Microsoft Corporation Method and system for managing stored data on a computer network
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7506007B2 (en) 2003-03-03 2009-03-17 Microsoft Corporation Interval vector based knowledge synchronization for resource versioning
US7716187B2 (en) * 2003-05-21 2010-05-11 Microsoft Corporation System and method for transparent storage reorganization
US7313633B2 (en) * 2003-06-04 2007-12-25 Intel Corporation Methods and apparatus for updating address resolution data
US8145736B1 (en) 2003-06-30 2012-03-27 Symantec Operating Corporation Fast distributed object lookup for a computer network
US7660833B2 (en) 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
US7210125B2 (en) * 2003-07-17 2007-04-24 International Business Machines Corporation Method and system for application installation and management using an application-based naming system including aliases
US7483914B2 (en) 2003-07-17 2009-01-27 International Business Machines Corporation Method and system for implementing an application-based naming system
US7401104B2 (en) 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7529811B2 (en) 2003-08-21 2009-05-05 Microsoft Corporation Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system
US7590643B2 (en) 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8229932B2 (en) * 2003-09-04 2012-07-24 Oracle International Corporation Storing XML documents efficiently in an RDBMS
US7493592B2 (en) 2003-10-24 2009-02-17 Microsoft Corporation Programming interface for a computer platform
US7680950B1 (en) 2003-11-07 2010-03-16 Symantec Operating Corporation Efficient search for storage objects in a network
US7584220B2 (en) * 2004-10-01 2009-09-01 Microsoft Corporation System and method for determining target failback and target priority for a distributed file system
US7627547B2 (en) * 2004-11-29 2009-12-01 Oracle International Corporation Processing path-based database operations
US20100036840A1 (en) * 2005-09-09 2010-02-11 Pitts William M Presentation of Search Results
US7603376B1 (en) * 2005-09-22 2009-10-13 Emc Corporation File and folder scanning method and apparatus
US7499905B2 (en) * 2005-10-17 2009-03-03 Cisco Technology, Inc. Method and apparatus for accessing information based on distributed file system (DFS) paths
US8949455B2 (en) * 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US7788223B2 (en) 2005-12-05 2010-08-31 Microsoft Corporation Resource freshness and replication
US7640247B2 (en) * 2006-02-06 2009-12-29 Microsoft Corporation Distributed namespace aggregation
JP2008097214A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd アクセス権管理方法、管理計算機、及び管理プログラム
DE102007026242A1 (de) * 2007-05-30 2008-12-11 Carad Beteiligungen Gmbh Datenspeichereinrichtung
JP4948292B2 (ja) * 2007-06-29 2012-06-06 キヤノン株式会社 情報処理装置、情報管理方法、及びプログラム
US20090222509A1 (en) * 2008-02-29 2009-09-03 Chao King System and Method for Sharing Storage Devices over a Network
JP4748463B2 (ja) * 2008-04-02 2011-08-17 日本電気株式会社 ファイルシステム、ファイルシステムの制御方法
US20110035365A1 (en) * 2009-08-06 2011-02-10 Raytheon Company Distributed Knowledge Storage
US20110035349A1 (en) * 2009-08-07 2011-02-10 Raytheon Company Knowledge Management Environment
WO2014032266A1 (en) * 2012-08-31 2014-03-06 Microsoft Corporation Personal language model for input method editor
US10346422B2 (en) * 2012-10-18 2019-07-09 International Business Machines Corporation Use of proxy objects for integration between a content management system and a case management system
US20140114864A1 (en) 2012-10-22 2014-04-24 International Business Machines Corporation Case management integration with external content repositories
US11936812B2 (en) * 2021-12-22 2024-03-19 Kore.Ai, Inc. Systems and methods for handling customer conversations at a contact center

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US4914571A (en) * 1987-06-15 1990-04-03 International Business Machines Corporation Locating resources in computer networks
US5029199A (en) * 1989-08-10 1991-07-02 Boston Technology Distributed control and storage for a large capacity messaging system
US5095423A (en) * 1990-03-27 1992-03-10 Sun Microsystems, Inc. Locking mechanism for the prevention of race conditions
US5222242A (en) * 1990-09-28 1993-06-22 International Business Machines Corp. System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5434974A (en) * 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
US5493607A (en) * 1992-04-21 1996-02-20 Boston Technology Multi-system network addressing
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001516093A (ja) * 1997-08-13 2001-09-25 マイクロソフト コーポレイション ネットワークの位相的データの表現及び応用方法及び装置
JP2010532526A (ja) * 2007-06-29 2010-10-07 マイクロソフト コーポレーション 分散ファイルシステムのための効率的な更新
US8452821B2 (en) 2007-06-29 2013-05-28 Microsoft Corporation Efficient updates for distributed file systems
US8793645B2 (en) 2010-04-02 2014-07-29 Microsoft Corporation Replacement of data element in a graph

Also Published As

Publication number Publication date
CA2138630C (en) 2004-04-06
US5701462A (en) 1997-12-23
DE69427681D1 (de) 2001-08-16
EP0661652A1 (en) 1995-07-05
JP2008021330A (ja) 2008-01-31
EP0661652B1 (en) 2001-07-11
US5842214A (en) 1998-11-24
DE69427681T2 (de) 2001-10-31
CA2138630A1 (en) 1995-06-30

Similar Documents

Publication Publication Date Title
JPH07210443A (ja) 分散ファイル・システム
US8112443B2 (en) Method and system for executing a database query
EP0629960B1 (en) Extendible file system
US7580938B1 (en) Methods and apparatus facilitating efficient display of data
JP3696639B2 (ja) ディレクトリサービスのファイルシステムサービスとの統一
US5953716A (en) Querying heterogeneous data sources distributed over a network using context interchange
Bowman et al. Univers: An attribute‐based name server
KR20040005913A (ko) 검색 질의를 생성하는 방법 및 시스템
JPH08241231A (ja) データベース依存性解決方法
US11068456B2 (en) Level-based hierarchies
JPH11120117A (ja) グローバル・ファイル・システムを基礎とした、クラスタ上の装置を可視的にするシステムおよび方法
JPH11120116A (ja) コンピュータ・クラスタ上の物理装置への透過的なグローバル・アクセスを行うシステムおよび方法
JPH06110808A (ja) クライアントインターフェースをアプリケーションのオブジェクト指向呼出しに対処するための方法及び装置
US20150207868A1 (en) Federating applications providing modular data
JPH09508734A (ja) 分散形データベースシステム
JP2001188702A (ja) 分散ファイルシステム及びファイル操作方法
US6044369A (en) Hash table call router for widely varying function interfaces
WO2000065486A2 (en) A method of mapping semantic context to enable interoperability among disparate sources
US20050071363A1 (en) Method and apparatus for improving performance and scalability of an object manager
Ni et al. Trader cooperation to enable object sharing among users of homogeneous distributed systems
US8200723B1 (en) Metadata file system backed by database
US20040015542A1 (en) Hypermedia management system
US6134545A (en) Method and system for processing a query
KR20010070944A (ko) 데이터베이스 구조변화에 대응하는 웹기반 통신망성능감시 방법
Ni et al. Trading of Objects in a Heterogenous Large Distributed System

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060427

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060427

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070124

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070522

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20070821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070821