JPS63201743A - データ処理システム・ネットワークのためのキャッシング方法 - Google Patents
データ処理システム・ネットワークのためのキャッシング方法Info
- Publication number
- JPS63201743A JPS63201743A JP62277574A JP27757487A JPS63201743A JP S63201743 A JPS63201743 A JP S63201743A JP 62277574 A JP62277574 A JP 62277574A JP 27757487 A JP27757487 A JP 27757487A JP S63201743 A JPS63201743 A JP S63201743A
- Authority
- JP
- Japan
- Prior art keywords
- file
- directory
- node
- client
- server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で本発明を説明する。
A 産業上の利用分野
B 従来技術(第2図、第3図、第4図)C発明が解決
しようとする問題点 D 問題点を解決するための手段 E 実施例 El 分散システムの特徴 E2 ファイル・システムのマウント方法E′5 仮想
ファイル・システム間の関係(第1図、第5図、第6図
、第7図、第8 図、第9図、第10図、第11図、第 12図、第13図、第14図、第15 図、第16図、第17図、第18図、 第19図、第20図) F 発明の効果 A 産業上の利用分野 本発明は一般に分散データ処理システムのための動作の
改良、具体的にはローカル・エリア・ネットワーク(L
AN)もしくは大域ネットワーク(WAN)によって相
互接続された多重プロセッサ・システムのためのオペレ
ーティング・システムの改良に関する。本発明に従う改
良によって、ファイルがシステム中のどこにあっても、
システム中のプロセッサによるファイルをアクセスする
ためのファイル中ディレクトリ・キャッシングの効率が
増大する。
しようとする問題点 D 問題点を解決するための手段 E 実施例 El 分散システムの特徴 E2 ファイル・システムのマウント方法E′5 仮想
ファイル・システム間の関係(第1図、第5図、第6図
、第7図、第8 図、第9図、第10図、第11図、第 12図、第13図、第14図、第15 図、第16図、第17図、第18図、 第19図、第20図) F 発明の効果 A 産業上の利用分野 本発明は一般に分散データ処理システムのための動作の
改良、具体的にはローカル・エリア・ネットワーク(L
AN)もしくは大域ネットワーク(WAN)によって相
互接続された多重プロセッサ・システムのためのオペレ
ーティング・システムの改良に関する。本発明に従う改
良によって、ファイルがシステム中のどこにあっても、
システム中のプロセッサによるファイルをアクセスする
ためのファイル中ディレクトリ・キャッシングの効率が
増大する。
B 従来技術
本発明はネットワーク中に相互接続された複数のプロセ
ッサによって特徴付けられる分散データ処理システムに
関する。実際に実施される時は、本発明はIBMのシス
テム・ネットワーク・アーキテクチュア(SNA)、具
体的にはSNA LU6.2拡張プログラム間通信(
APPC)によりて相互接続される複数のIBM R
T(遠隔端末)PC(パーソナル・コンピュータ)上で
稼動する。
ッサによって特徴付けられる分散データ処理システムに
関する。実際に実施される時は、本発明はIBMのシス
テム・ネットワーク・アーキテクチュア(SNA)、具
体的にはSNA LU6.2拡張プログラム間通信(
APPC)によりて相互接続される複数のIBM R
T(遠隔端末)PC(パーソナル・コンピュータ)上で
稼動する。
SNAはそのリンク・レベルとしてゼロックス()(e
rox)社によって開発されたローカル・エリア・ネッ
トワーク(LAN)であるイーサ・ネット1 (Eth
ernet 1)もしくは5DLC(同期データ・リ
ンク制御)を使用する。イーサ・ネット・ローカル・エ
リア・ネットワークを含むローカル・エリア・ネットワ
ークの簡単な説明は1983年プレンティス・ホール社
の発行者ロバート。
rox)社によって開発されたローカル・エリア・ネッ
トワーク(LAN)であるイーサ・ネット1 (Eth
ernet 1)もしくは5DLC(同期データ・リ
ンク制御)を使用する。イーサ・ネット・ローカル・エ
リア・ネットワークを含むローカル・エリア・ネットワ
ークの簡単な説明は1983年プレンティス・ホール社
の発行者ロバート。
J、ブラドレによる著書ラレー、E、ジヨルダン及びブ
ルース・チャーチル著「IBM PCのための通信及
びネットワーキングJ (Larry E、 Jord
anand Bruce Churchill ”
Communicationsand Networ
king for the IBM PC”、p
ublished by Robert J、Br
ady (aPrentice−Hall comp
any)(1983))に見出される。コンピュータの
ための通信システム、具体的にSNA及び5DLCのよ
り明確な説明は1978年アデイソンーウエスリ社刊の
本R0J、シプサ著[分散システムのための通信アーキ
テクチュアJ (R,J、 Cypser”Commu
nicationsArchitecture fo
r DistributedSystems 、1p
ublia’hed by Addiaon−Wes
ley (1978))に見出される。しかしながら本
発明はイーサ・ネット・ローカル・エリア・ネットワー
クもしくはIBMのSNA以外のネットワークによって
相互接続されるIBM RTPC以外の他の及び異な
るコンピュータを使用して実施できることを理解された
い。
ルース・チャーチル著「IBM PCのための通信及
びネットワーキングJ (Larry E、 Jord
anand Bruce Churchill ”
Communicationsand Networ
king for the IBM PC”、p
ublished by Robert J、Br
ady (aPrentice−Hall comp
any)(1983))に見出される。コンピュータの
ための通信システム、具体的にSNA及び5DLCのよ
り明確な説明は1978年アデイソンーウエスリ社刊の
本R0J、シプサ著[分散システムのための通信アーキ
テクチュアJ (R,J、 Cypser”Commu
nicationsArchitecture fo
r DistributedSystems 、1p
ublia’hed by Addiaon−Wes
ley (1978))に見出される。しかしながら本
発明はイーサ・ネット・ローカル・エリア・ネットワー
クもしくはIBMのSNA以外のネットワークによって
相互接続されるIBM RTPC以外の他の及び異な
るコンピュータを使用して実施できることを理解された
い。
上述のように、以下説明する本発明は通信ネットワーク
中の分散データ処理システムに向けられる。このような
環境で、ネットワーク中のノードにある各プロセッサは
どのノードにファイルが存在するかにかかわらず、ネッ
トワーク中のすべてのファイルをアクセスできる。第2
図に示したように分散ネットワーク環境1は通信リンク
もしくはネットワーク6によって接続された2以上のノ
ードA、B及びCより成ることができる。ネットワーク
3は上述のようにローカル・エリア・ネットワーク(L
AN)もしくは大域ネットワーク(WAN)でよい。後
者はシステムの他のノードもしくはSNAネットワーク
への交換もしくは専用テレプロセシング(T、P )接
続より成る。ノードA、BもしくはCのうち任意のノー
ドには、上述のIBM RT PCのような処理シ
ステム10A、10Bもしくは10Cが存在する。この
ようなシステム10A110B及び10Cの各々は単一
ユーザ・システムもしくは多重ユーザーシステムでよく
、ネットワーク3を使用してネットワーク中の遠隔ノー
ドに存在するファイルをアクセスする能力を有する。た
とえば、局所ノードAに存在する処理システム10Aは
遠隔ノードB及びCにあるファイル5B及び5Cをアク
セスできる。
中の分散データ処理システムに向けられる。このような
環境で、ネットワーク中のノードにある各プロセッサは
どのノードにファイルが存在するかにかかわらず、ネッ
トワーク中のすべてのファイルをアクセスできる。第2
図に示したように分散ネットワーク環境1は通信リンク
もしくはネットワーク6によって接続された2以上のノ
ードA、B及びCより成ることができる。ネットワーク
3は上述のようにローカル・エリア・ネットワーク(L
AN)もしくは大域ネットワーク(WAN)でよい。後
者はシステムの他のノードもしくはSNAネットワーク
への交換もしくは専用テレプロセシング(T、P )接
続より成る。ノードA、BもしくはCのうち任意のノー
ドには、上述のIBM RT PCのような処理シ
ステム10A、10Bもしくは10Cが存在する。この
ようなシステム10A110B及び10Cの各々は単一
ユーザ・システムもしくは多重ユーザーシステムでよく
、ネットワーク3を使用してネットワーク中の遠隔ノー
ドに存在するファイルをアクセスする能力を有する。た
とえば、局所ノードAに存在する処理システム10Aは
遠隔ノードB及びCにあるファイル5B及び5Cをアク
セスできる。
遠隔ノードをアクセスする際に遭遇する問題は先ず独立
型のシステムがどのようにしてファイルにアクセスする
かを調べることによって明らかになろう。第3図に示し
た独立型システム10において、オペレーティング・シ
ステム(O8)11中の局所バッファ12はパーソナル
・コンビュータ中のハード・ファイルもしくはディスク
のようす永久メモリ2とユーザ・アドレス・スペース1
4の間で転送されるデータをバッファするのに使用され
る。オペレーティング・システム11中の局所バッファ
12は又局所キャッシュもしくはカーネル中バッファと
呼ばれる。局所キャッシュはメモリ(に移動した)常駐
ディスクによって最も良く理解できる。データはディス
ク上で持っていたものと同じ物理的特性を保持する。し
かしながら、情報は現在主システム・メモリ中において
達成される速度に極めて近い、より速いデータ転送速度
にする可能性のある媒体中に存在する。
型のシステムがどのようにしてファイルにアクセスする
かを調べることによって明らかになろう。第3図に示し
た独立型システム10において、オペレーティング・シ
ステム(O8)11中の局所バッファ12はパーソナル
・コンビュータ中のハード・ファイルもしくはディスク
のようす永久メモリ2とユーザ・アドレス・スペース1
4の間で転送されるデータをバッファするのに使用され
る。オペレーティング・システム11中の局所バッファ
12は又局所キャッシュもしくはカーネル中バッファと
呼ばれる。局所キャッシュはメモリ(に移動した)常駐
ディスクによって最も良く理解できる。データはディス
ク上で持っていたものと同じ物理的特性を保持する。し
かしながら、情報は現在主システム・メモリ中において
達成される速度に極めて近い、より速いデータ転送速度
にする可能性のある媒体中に存在する。
独立型システムにおいて、カーネル・バッファ12は装
置番号と装置内の局所ブロック番号(LBN)で指定さ
れるブロック15によって識別される。リード(読取り
)システム・コール16が発生される時は、これは第4
図の段階101に示したようにファイル5のファイル記
述子及びファイル5内のバイト範囲とともに発生される
。オペレーティング・システム(os)11はこの情報
を受取りこれを段階102で装置番号及び装置中の論理
ブロック番号(LBN)に変換する。次にオペレーティ
ング・システム11は装置番号及び論理ブロック番号に
従ってキャッシュ12を読取る(段階103)。
置番号と装置内の局所ブロック番号(LBN)で指定さ
れるブロック15によって識別される。リード(読取り
)システム・コール16が発生される時は、これは第4
図の段階101に示したようにファイル5のファイル記
述子及びファイル5内のバイト範囲とともに発生される
。オペレーティング・システム(os)11はこの情報
を受取りこれを段階102で装置番号及び装置中の論理
ブロック番号(LBN)に変換する。次にオペレーティ
ング・システム11は装置番号及び論理ブロック番号に
従ってキャッシュ12を読取る(段階103)。
ディスク2から読取られたデータはキャッシュ・ブロッ
ク15が必要になる迄キャッシュ・ブロック15中に保
持される。この結果処理システム10上で実行されてい
るアプリケーション・プログラム4からの相継ぐ読取り
要求は、前はディスクから読取っていた同じデータをデ
ィスク2からでなくキャッシュ12からアクセスする。
ク15が必要になる迄キャッシュ・ブロック15中に保
持される。この結果処理システム10上で実行されてい
るアプリケーション・プログラム4からの相継ぐ読取り
要求は、前はディスクから読取っていた同じデータをデ
ィスク2からでなくキャッシュ12からアクセスする。
キャッシュからの読取りはディスクをアクセスするより
も時間がかからず、従ってキャッシュから読取ることに
よって、アプリケージヨシ4のパホーマンスが改善され
る。明らかに、アクセスすべきデータがキャッシュ中に
存在しない時には、ディスク・アクセスを行わなければ
ならないが、この要求はまれにしか生じない。
も時間がかからず、従ってキャッシュから読取ることに
よって、アプリケージヨシ4のパホーマンスが改善され
る。明らかに、アクセスすべきデータがキャッシュ中に
存在しない時には、ディスク・アクセスを行わなければ
ならないが、この要求はまれにしか生じない。
同じようにアプリケーション4から書込まれるデータは
直ちにディスク2上に保管されず、キャッシュ12上に
書込まれる。これによっても時間が節約され、アプリケ
ーション4のノ(ホーマンスが改善される。キャッシュ
12中の修正されたデータ・ブロックはオペレーティン
グ・システム11の制御によって定期的にディスク2上
に保管される。
直ちにディスク2上に保管されず、キャッシュ12上に
書込まれる。これによっても時間が節約され、アプリケ
ーション4のノ(ホーマンスが改善される。キャッシュ
12中の修正されたデータ・ブロックはオペレーティン
グ・システム11の制御によって定期的にディスク2上
に保管される。
本発明を実施する環境であるAIXオペレーティング・
システムを利用する独立型システム中でのキャッシュの
使用はシステム−ディスクの全体的にパホーマンスを改
善し、相継ぐディスクの読取り及び書込みディスク動作
の除去によってアクセス時間を最小にする。
システムを利用する独立型システム中でのキャッシュの
使用はシステム−ディスクの全体的にパホーマンスを改
善し、相継ぐディスクの読取り及び書込みディスク動作
の除去によってアクセス時間を最小にする。
第2図に示した分散ネットワーク環境では、局所ノード
C中の処理システム10CがノードAからファイル5A
e読取る2つの方法が存在する。
C中の処理システム10CがノードAからファイル5A
e読取る2つの方法が存在する。
1つの方法では、処理システム10Cは全ファイル5A
eコピーでき、これをあたかもノードCに存在する局所
ファイル5Cであるかのように読取ることができる。こ
の方法でファイルを読取ると、仮にノードBにおける他
の処理システム10Bが、たとえばファイル5Aがノー
ドCでコピーされた後にファイル5Aを変更すると間勉
が生ずる。処理システム10Cはファイル5Aになされ
た最新の変更にアクセスできていない。
eコピーでき、これをあたかもノードCに存在する局所
ファイル5Cであるかのように読取ることができる。こ
の方法でファイルを読取ると、仮にノードBにおける他
の処理システム10Bが、たとえばファイル5Aがノー
ドCでコピーされた後にファイル5Aを変更すると間勉
が生ずる。処理システム10Cはファイル5Aになされ
た最新の変更にアクセスできていない。
処理システム10CがノードAにあるファイル5Aにア
クセスする他の方法は、ノードCにある処理システムが
必要とする時に一度に1ブロツク読取ることである。こ
の方法の問題は各読取り毎にネットワークの通信リンク
6を介して、ファイルの存在するノードAに進まなけれ
ばならない点 、にある。相継ぐ読取りごとにデータ
を送ることは時間がかかる。
クセスする他の方法は、ノードCにある処理システムが
必要とする時に一度に1ブロツク読取ることである。こ
の方法の問題は各読取り毎にネットワークの通信リンク
6を介して、ファイルの存在するノードAに進まなけれ
ばならない点 、にある。相継ぐ読取りごとにデータ
を送ることは時間がかかる。
ネットワークを介するファイルのアクセスは上述のよう
に2つの競合する問題を提示する。1つの問題は相継ぐ
読取り及び書込みのためにネットワークを介してデータ
を転送するのに要する時間にかかわる。他方ファイル・
データをノードに記憶してネットワークのトラヒックを
減少すると、ファイルの完全性が失われる。たとえば、
いくつかのノードの1つがファイルに書込み中であると
、このファイルにアクセスする他のノードは書込まれた
ばかりの最新の更新ファイルをアクセスできない。この
ような理由で、ファイルの完全性が失われ、ノードは正
しくない古いファイルにアクセスすることになる。本明
細書で、用語「サーバー(奉仕者)」はファイルを永久
的に記憶している処理システムを示し「クライエント(
依頼者)」はこのファイルにアクセスして処理する任意
の他の処理システムを意味するのに使用する。以下説明
する本発明は分散した情報を管理する問題に対する解決
を与えるオペレーティング・システムの一部である。
に2つの競合する問題を提示する。1つの問題は相継ぐ
読取り及び書込みのためにネットワークを介してデータ
を転送するのに要する時間にかかわる。他方ファイル・
データをノードに記憶してネットワークのトラヒックを
減少すると、ファイルの完全性が失われる。たとえば、
いくつかのノードの1つがファイルに書込み中であると
、このファイルにアクセスする他のノードは書込まれた
ばかりの最新の更新ファイルをアクセスできない。この
ような理由で、ファイルの完全性が失われ、ノードは正
しくない古いファイルにアクセスすることになる。本明
細書で、用語「サーバー(奉仕者)」はファイルを永久
的に記憶している処理システムを示し「クライエント(
依頼者)」はこのファイルにアクセスして処理する任意
の他の処理システムを意味するのに使用する。以下説明
する本発明は分散した情報を管理する問題に対する解決
を与えるオペレーティング・システムの一部である。
UNIXオペレーティング・システム環境における分散
データ処理システムを支援する他の方法も知られている
。たとえば、サン・マイクロシステム社はNetwor
k File System (ネットワーク・ファ
イル・システムNFS)’iミリリースており、ベル・
ラボラ) II社はRemoteFile Syst
em(遠隔ファイル・システムRFS)を開発している
。サン・マイクロシステム社のNFSはUSENIXl
9B6年夏期技術会議兼展示会で発表された議事録S
、 R,フライマン著)’Vnodes : Sun
Unixにおける多重ファイル・システム型のためのア
ーキテクチュア」第238−第247頁(S、R,Kl
eiman。
データ処理システムを支援する他の方法も知られている
。たとえば、サン・マイクロシステム社はNetwor
k File System (ネットワーク・ファ
イル・システムNFS)’iミリリースており、ベル・
ラボラ) II社はRemoteFile Syst
em(遠隔ファイル・システムRFS)を開発している
。サン・マイクロシステム社のNFSはUSENIXl
9B6年夏期技術会議兼展示会で発表された議事録S
、 R,フライマン著)’Vnodes : Sun
Unixにおける多重ファイル・システム型のためのア
ーキテクチュア」第238−第247頁(S、R,Kl
eiman。
”Vnodes : An Architectur
e forMultiple File Sys
tem Types 1nSun Unix、USE
NIXl 986 SummerTechnical
Conference and Exhibitio
n。
e forMultiple File Sys
tem Types 1nSun Unix、USE
NIXl 986 SummerTechnical
Conference and Exhibitio
n。
pp、238−249)、1985年USENIX会議
議事録ラッセル・サンドバーブ等著[サン・ネットワー
ク・ファイルシステムの設計及び具体例1 (Ru5s
el Sandberg et al、、Des
ign and Implementation
ofthe Sun Network Files
system”、Conference Proce
edings、Usenix1985、pp、 119
−130 )、ジョメン・チャン著「NFSにネットワ
ーク・ロッキング・サービスを与えるステータス・モニ
タ」、ダン暑つオルシュ等著[サン・ネットワーク・フ
ァイル・システム環境観」第117−124頁(Dan
Walsh et al、 Qverview o
f theSun Network Film Sy
stem”、pp、117−124)、ジョメイ・チャ
ン著「サンネット」第71−75頁(JoMe i
Changlo。
議事録ラッセル・サンドバーブ等著[サン・ネットワー
ク・ファイルシステムの設計及び具体例1 (Ru5s
el Sandberg et al、、Des
ign and Implementation
ofthe Sun Network Files
system”、Conference Proce
edings、Usenix1985、pp、 119
−130 )、ジョメン・チャン著「NFSにネットワ
ーク・ロッキング・サービスを与えるステータス・モニ
タ」、ダン暑つオルシュ等著[サン・ネットワーク・フ
ァイル・システム環境観」第117−124頁(Dan
Walsh et al、 Qverview o
f theSun Network Film Sy
stem”、pp、117−124)、ジョメイ・チャ
ン著「サンネット」第71−75頁(JoMe i
Changlo。
5unNet”、pp、7l−75)及びプラトレイ・
テイラ著「サン環境における安全ネットワーキング」第
28−36頁(Bradley Taylor。
テイラ著「サン環境における安全ネットワーキング」第
28−36頁(Bradley Taylor。
” 5ecure Networking in
the SunEnvironment”、pp、
2 s−36)を含む一連の出版物に説明されている
。AT&TRFSについても、1986年6月ジョーシ
ア州アトランタ市で開催されたUSENIX会議の議事
録アンドリウ、P、リフキン等著JRFSアーキテクチ
ュアの概観J (Andrew P、 Rifkin
etal、 、”RFS Architectur
al Overview”US ENIX Conf
erence Proceedings。
the SunEnvironment”、pp、
2 s−36)を含む一連の出版物に説明されている
。AT&TRFSについても、1986年6月ジョーシ
ア州アトランタ市で開催されたUSENIX会議の議事
録アンドリウ、P、リフキン等著JRFSアーキテクチ
ュアの概観J (Andrew P、 Rifkin
etal、 、”RFS Architectur
al Overview”US ENIX Conf
erence Proceedings。
At1anta、Georgia(June 198
6 )、pp、1=12)、リチャード・ハミルトン等
著[遠隔ファイル・シェアリングの管理者の見地」第1
−9頁(Ri chard Hamil ton e
t al、、An Administor’s V
iew of RemoteFilm Shari
ng”、pp、1−9)、トム拳ホートン等著[ファイ
ル・システム・スイッチ」pp。
6 )、pp、1=12)、リチャード・ハミルトン等
著[遠隔ファイル・シェアリングの管理者の見地」第1
−9頁(Ri chard Hamil ton e
t al、、An Administor’s V
iew of RemoteFilm Shari
ng”、pp、1−9)、トム拳ホートン等著[ファイ
ル・システム・スイッチ」pp。
1−2 (Tom Houghton et al
。、FileSystems 5w1tch”、pp
、1−2)及びディピッドJ、オランダ等著「システム
V中のネットワーキングのためのフレームワーク」第1
−8頁(David J、01ander et
al、、 II AFramework for
Networking in SystemV”
、pp、1−8)を含む一連の出版物に説明がなされて
いる。
。、FileSystems 5w1tch”、pp
、1−2)及びディピッドJ、オランダ等著「システム
V中のネットワーキングのためのフレームワーク」第1
−8頁(David J、01ander et
al、、 II AFramework for
Networking in SystemV”
、pp、1−8)を含む一連の出版物に説明がなされて
いる。
本発明が具体化される、サン・マイクロシステムズ社の
NFSと異なる分散サービス拳システムの1つの特徴は
、たとえばサン社の方法が実質的に無国籍マシーンを設
計した点にある。さらに具体的には、分散システムにお
けるサーバーは無国籍サーバーであるように設計されて
いる。このことはサーバーがクライエントのノードに関
して、どのクライエント・ノードがサーバーのファイル
に開放されているか、クライエントの処理が読取り専用
もしくは読取り書込みモードのどちらでファイルを開い
ているかどうか、もしくはクライエントがファイルのバ
イト範囲についてロックしたかどうかを示す情報のよう
な任意の情報を記憶していないことを意味する。この具
体例はサーバーの設計を簡単にする。それはクライエン
トが失敗した時もしくはサーバーにクライエントがサー
バーの資源についての要求を解除したことを適切に知ら
せないでオフ・ラインに進んだ時に生じ得る誤り回復状
態を処理しなくてよいからである。本発明が具体化され
る分散サービス・システムの設計では全(異なる方法が
使用される。さらに具体的には、本発明の分散サービス
・システムは多国籍サーバーの具体化として特徴付けら
れる。
NFSと異なる分散サービス拳システムの1つの特徴は
、たとえばサン社の方法が実質的に無国籍マシーンを設
計した点にある。さらに具体的には、分散システムにお
けるサーバーは無国籍サーバーであるように設計されて
いる。このことはサーバーがクライエントのノードに関
して、どのクライエント・ノードがサーバーのファイル
に開放されているか、クライエントの処理が読取り専用
もしくは読取り書込みモードのどちらでファイルを開い
ているかどうか、もしくはクライエントがファイルのバ
イト範囲についてロックしたかどうかを示す情報のよう
な任意の情報を記憶していないことを意味する。この具
体例はサーバーの設計を簡単にする。それはクライエン
トが失敗した時もしくはサーバーにクライエントがサー
バーの資源についての要求を解除したことを適切に知ら
せないでオフ・ラインに進んだ時に生じ得る誤り回復状
態を処理しなくてよいからである。本発明が具体化され
る分散サービス・システムの設計では全(異なる方法が
使用される。さらに具体的には、本発明の分散サービス
・システムは多国籍サーバーの具体化として特徴付けら
れる。
本明細書に説明される多国籍サーバーは誰がそのファイ
ルを使用中であるか、どのようにファイルが使用されつ
つあるかについての情報を保持する。そのためにはサー
バーは何等かの手段でクライエントとの接触が失われた
ことを検出し、クライエントに関する累積国籍情報が廃
棄できるようにしなければならない。本明細書で説明す
るキャッシュの管理戦略は、しかしながら、サーバーが
このような国籍情報を保持しない限り具体化できない。
ルを使用中であるか、どのようにファイルが使用されつ
つあるかについての情報を保持する。そのためにはサー
バーは何等かの手段でクライエントとの接触が失われた
ことを検出し、クライエントに関する累積国籍情報が廃
棄できるようにしなければならない。本明細書で説明す
るキャッシュの管理戦略は、しかしながら、サーバーが
このような国籍情報を保持しない限り具体化できない。
キャッシュの管理は以下説明するように、サーバーのフ
ァイルの開放の要求を発生したクライエント・ノードの
数及びこれ等の開放時の読取り/書込みモードによって
影響される。
ァイルの開放の要求を発生したクライエント・ノードの
数及びこれ等の開放時の読取り/書込みモードによって
影響される。
さらに具体的には、ファイル経路名の分析がしばしば行
われるので、この分析は効果的に行われなければならな
い。ファイル名を使用する各システム・コール、たとえ
ばマウント(接続)もしくは開放するにはディレクトリ
を読んでファイルの名前の経路の各要素を探索すること
が必要である。
われるので、この分析は効果的に行われなければならな
い。ファイル名を使用する各システム・コール、たとえ
ばマウント(接続)もしくは開放するにはディレクトリ
を読んでファイルの名前の経路の各要素を探索すること
が必要である。
ファイル名を使用するたびに多くのディレクトリを読取
らなければならないというパホーマンス上のペナルティ
はディレクトリの一部が遠隔ノードにある分散環境にお
いてはさらに厳しくなる。
らなければならないというパホーマンス上のペナルティ
はディレクトリの一部が遠隔ノードにある分散環境にお
いてはさらに厳しくなる。
成るUNIX(UNIXは米国におけるATTベル研究
所の商標)の具体例はこれ等がファイルの名を分析に使
用する各度にディレクトリの項目を記憶(キャッシュ)
する。前にキャッシュされた項目と共通の経路部分を有
する名前を有する同じファイル(単、複)についてのそ
の後のファイル名分析はキャッシュ中にディレクトリの
項目を見出すことができるので高速に実行される。キャ
ッシュ中にディレクトリの項目を見出すことはディレク
トリを読取り及び探索するよりも高速である。それは(
1)ディレクトリ・キャッシュが探索のために最適化さ
れているオペレーティング・システムによって保持され
る特殊データ構造であること(2)キャッシュはメモリ
に保持されているが、ディレクトリはファイル・システ
ムから読取る必要があること、及び(3)キャッシュは
通常調べるのに制限された数の項目を有することによる
。ディレクトリ・キャッシュは最も最近使用した、従っ
て最も有用である可能性の高いディレクトリ項目を保持
している。
所の商標)の具体例はこれ等がファイルの名を分析に使
用する各度にディレクトリの項目を記憶(キャッシュ)
する。前にキャッシュされた項目と共通の経路部分を有
する名前を有する同じファイル(単、複)についてのそ
の後のファイル名分析はキャッシュ中にディレクトリの
項目を見出すことができるので高速に実行される。キャ
ッシュ中にディレクトリの項目を見出すことはディレク
トリを読取り及び探索するよりも高速である。それは(
1)ディレクトリ・キャッシュが探索のために最適化さ
れているオペレーティング・システムによって保持され
る特殊データ構造であること(2)キャッシュはメモリ
に保持されているが、ディレクトリはファイル・システ
ムから読取る必要があること、及び(3)キャッシュは
通常調べるのに制限された数の項目を有することによる
。ディレクトリ・キャッシュは最も最近使用した、従っ
て最も有用である可能性の高いディレクトリ項目を保持
している。
ディレクトリ・キャッシュを使用する際にオペレーティ
ング・システムが当面する2つの主な問題が存在する。
ング・システムが当面する2つの主な問題が存在する。
キャッシュの内容はディレクトリの内容と一貫性が保持
されなくてはならず、キャッシュは太き(なりすぎては
ならない。キャッシュの一貫性が保持されることは重要
である。キャッシュが、ファイルのiノード番号をたと
えば45と指定したが、ディレクトリがおそら(MV(
移動)指令によって変更されてファイルの実際のiノー
ド番号が62になっていたとすると、ファイル名の分析
によって間違ったファイルを指摘し、開放動作は指摘さ
れたものと異なるファイルを開(。もしキャッシュが任
意に成長できるならば、結果的に大きくなりすぎてこれ
を探索するのに必要とされる時間がパホーマンスを劣化
させることになる。
されなくてはならず、キャッシュは太き(なりすぎては
ならない。キャッシュの一貫性が保持されることは重要
である。キャッシュが、ファイルのiノード番号をたと
えば45と指定したが、ディレクトリがおそら(MV(
移動)指令によって変更されてファイルの実際のiノー
ド番号が62になっていたとすると、ファイル名の分析
によって間違ったファイルを指摘し、開放動作は指摘さ
れたものと異なるファイルを開(。もしキャッシュが任
意に成長できるならば、結果的に大きくなりすぎてこれ
を探索するのに必要とされる時間がパホーマンスを劣化
させることになる。
独立型のシステムにおいては、オペレーティング・シス
テム自体がディレクトリに対するすべての変更に責任が
あり、オペレーティング・システムはディレクトリ・キ
ャッシュから変更された任意の項目を除去でき、常にデ
ィレクトリ・キャッシュに一貫性のある項目を残すこと
ができる。キャッシュが一杯になると、ある項目を除去
して新らしい項目のために余地を残すことができる。余
地を作るために除去される項目の選択は厳密でないが、
最も最近使用した項目を残すと、パホーマンスは通常は
とんど影響を受けない。独立型のシステムの場合にはデ
ィレクトリ・キャッシングの主要な問題はこのようにし
て処理されるので独立M 型のAIX を含むい(つかのUN工XTM具体例
もディレクトリ・キャッシングを行う。
テム自体がディレクトリに対するすべての変更に責任が
あり、オペレーティング・システムはディレクトリ・キ
ャッシュから変更された任意の項目を除去でき、常にデ
ィレクトリ・キャッシュに一貫性のある項目を残すこと
ができる。キャッシュが一杯になると、ある項目を除去
して新らしい項目のために余地を残すことができる。余
地を作るために除去される項目の選択は厳密でないが、
最も最近使用した項目を残すと、パホーマンスは通常は
とんど影響を受けない。独立型のシステムの場合にはデ
ィレクトリ・キャッシングの主要な問題はこのようにし
て処理されるので独立M 型のAIX を含むい(つかのUN工XTM具体例
もディレクトリ・キャッシングを行う。
独立型システムのための解決手段は分散環境では使用で
きない。ディレクトリ・キャッシュはクライエント・ノ
ードに保持されており、他のサーバー・ノード中のブイ
レフ) IJの変更は一貫しないキャッシュ項目を生ず
る。各サーバーにおける各ディレクトリの変更を各クラ
イエントのキャッシング・ディレクトリの項目に知らせ
ることによって一貫性を保持する試みはネットワークを
これ等のメツセージで一杯にし、ディレクトリ・キャッ
シングから得られるバホーマンスの利点をそこなう。
きない。ディレクトリ・キャッシュはクライエント・ノ
ードに保持されており、他のサーバー・ノード中のブイ
レフ) IJの変更は一貫しないキャッシュ項目を生ず
る。各サーバーにおける各ディレクトリの変更を各クラ
イエントのキャッシング・ディレクトリの項目に知らせ
ることによって一貫性を保持する試みはネットワークを
これ等のメツセージで一杯にし、ディレクトリ・キャッ
シングから得られるバホーマンスの利点をそこなう。
C発明が解決しようとする問題点
本発明の目的はネットワーク中のファイル・ディレクト
リの情報をキャッシングする能力を与え、その有効性を
保証し、変更がなされていない期間中はこの情報を不必
要に、非効果的に更新しないことによってネットワーク
中のファイル・ディレクトリをアクセスする時の動作効
率を改良することにある。
リの情報をキャッシングする能力を与え、その有効性を
保証し、変更がなされていない期間中はこの情報を不必
要に、非効果的に更新しないことによってネットワーク
中のファイル・ディレクトリをアクセスする時の動作効
率を改良することにある。
D 問題点を解決するための手段
本発明に従い、ネットワーク中で互に接続された複数の
データ処理システムのための改良されたディレクトリの
キャッシング技法が与えられる。
データ処理システムのための改良されたディレクトリの
キャッシング技法が与えられる。
システム中の局所即ちクライエント・データ処理システ
ムが遠隔の即ちサーバー・データ処理システムに単位の
ディレクトリ情報を質問する時は、サーバー・システム
はサーバー・システムのディレクトリの構造のその後の
変更に応答して関連ディレクトリ情報の追加の単位を自
動的にクライエント・システムに送ることができる。も
し複数の可能な理由の1つのためにサーバー・システム
がクライエント・システムの更新を続けることができな
い時には、サーバー・システムはクライエント・システ
ムにこの事実を通知し、これによってクライエント・シ
ステムはこの経路に関連して前に記憶したディレクトリ
・キャッシュ項目を自分自身で除去できる。それはクラ
イエント・システムがこのキャッシュされた経路情報を
現在正しいともはや考えることができないからである。
ムが遠隔の即ちサーバー・データ処理システムに単位の
ディレクトリ情報を質問する時は、サーバー・システム
はサーバー・システムのディレクトリの構造のその後の
変更に応答して関連ディレクトリ情報の追加の単位を自
動的にクライエント・システムに送ることができる。も
し複数の可能な理由の1つのためにサーバー・システム
がクライエント・システムの更新を続けることができな
い時には、サーバー・システムはクライエント・システ
ムにこの事実を通知し、これによってクライエント・シ
ステムはこの経路に関連して前に記憶したディレクトリ
・キャッシュ項目を自分自身で除去できる。それはクラ
イエント・システムがこのキャッシュされた経路情報を
現在正しいともはや考えることができないからである。
サーバー・システムがディレクトリ経路の更新情報をも
はや送り続けることができない可能性のある理由は、(
1)サーバーの処理資源の一般的飽和、(2)ディレク
トリのキャッシング更新機能に割当てられているサーバ
ー処理資源の飽和、(3)サーバー・システムトクライ
エント・システム間で信用ある通信リンクが現在利用で
きないこと、(4)たとえばサーバー・システムで保守
サービスを可能ならしめるために、サーバー・システム
を通信ネットワークから切断する必要性及び(5)クラ
イエント・システムから最近照会がないことである。
はや送り続けることができない可能性のある理由は、(
1)サーバーの処理資源の一般的飽和、(2)ディレク
トリのキャッシング更新機能に割当てられているサーバ
ー処理資源の飽和、(3)サーバー・システムトクライ
エント・システム間で信用ある通信リンクが現在利用で
きないこと、(4)たとえばサーバー・システムで保守
サービスを可能ならしめるために、サーバー・システム
を通信ネットワークから切断する必要性及び(5)クラ
イエント・システムから最近照会がないことである。
サーバー・システムが複数のクライエントの更新中に、
その更新機能を遂行するための資源がほぼ尽きた状態に
なると、サーバーは最近最も照会が少なかったクライエ
ントにこのことを、システムのパホーマンスがこの更新
能力を中断してもほとんど影響を受けることがないとい
うことを根拠して知らせる。
その更新機能を遂行するための資源がほぼ尽きた状態に
なると、サーバーは最近最も照会が少なかったクライエ
ントにこのことを、システムのパホーマンスがこの更新
能力を中断してもほとんど影響を受けることがないとい
うことを根拠して知らせる。
E 実施例
El 分散システムの特徴
以下マシンのファイルを管理する論理装置を修正して、
い(つかの異なるマシン中に物理的に存在するファイル
を局所ファイル会システムの一部であるように見せる分
散ファイル・システムを構成する時に遭遇する問題の解
決方法を説明する。
い(つかの異なるマシン中に物理的に存在するファイル
を局所ファイル会システムの一部であるように見せる分
散ファイル・システムを構成する時に遭遇する問題の解
決方法を説明する。
説明される具体例はAIXオペレーティング・システム
のファイル・システムの拡張である。このオペレーティ
ング・システムについての詳細については上述の技術論
文を参照されたい。以下、AIXファイル◆システムの
概念の特殊な知識、ツリー(木)構造化されたファイル
・システム、ディレクトリ、及びiノードを含むファイ
ル・システム組織を仮定している。
のファイル・システムの拡張である。このオペレーティ
ング・システムについての詳細については上述の技術論
文を参照されたい。以下、AIXファイル◆システムの
概念の特殊な知識、ツリー(木)構造化されたファイル
・システム、ディレクトリ、及びiノードを含むファイ
ル・システム組織を仮定している。
本発明の論議に関連するファイル・システムの主な特徴
を次に示す。
を次に示す。
(a) 個々のファイル・システム上の各ファイルは
そのiノード番号によって一意的に識別される。
そのiノード番号によって一意的に識別される。
(b) ディレクトリはファイルであり、従ってディ
レクトリはそのiノード番号によって一意的に識別され
る。
レクトリはそのiノード番号によって一意的に識別され
る。
註:ある場合には、ディレクトリとディレクトリでない
ファイル(たとえば、単にオリジナル・データを含むフ
ァイル、もしくは特殊ファイルもしくはパイプのような
UNIX誘導オペレーティング・システムによって支援
される他の型のファイル)を区別する必要がある。
ファイル(たとえば、単にオリジナル・データを含むフ
ァイル、もしくは特殊ファイルもしくはパイプのような
UNIX誘導オペレーティング・システムによって支援
される他の型のファイル)を区別する必要がある。
本明細書では用語「単純ファイル」を非ディレクトリ型
のファイルを示すのに使用する。特にことわらないかぎ
り、用語「ファイル」はディレクトリ・ファイルもしく
は単純ファイルのいずれかを意味し、用語「ディレクト
リ」はディレクトリ・ファイルを意味する。
のファイルを示すのに使用する。特にことわらないかぎ
り、用語「ファイル」はディレクトリ・ファイルもしく
は単純ファイルのいずれかを意味し、用語「ディレクト
リ」はディレクトリ・ファイルを意味する。
(c)ディレクトリは次の形式の項目の配列体を含む。
名前−iノード番号
ここでiノード番号は単純ファイルもしくは他のディレ
クトリのiノード番号である。
クトリのiノード番号である。
註:ディレクトリは他のディレクトリを含み、この他の
ディレクトリは他のディレクトリもしくは単純ファイル
を含むことができる。
ディレクトリは他のディレクトリもしくは単純ファイル
を含むことができる。
従ってディレクトリを多(のレベルの子孫のディレクト
リを含む部分ツリーの根とみなし、ツリーの葉を単純フ
ァイルとみなすことができる。
リを含む部分ツリーの根とみなし、ツリーの葉を単純フ
ァイルとみなすことができる。
本明細書で用語1子孫」は特定のディレクトリの下のフ
ァイル・ツリー中に存在するすべてのファイルを意味し
、他のディレクトリを通って達することのできるものも
含む。ディレクトリの1直接子孫」とはその名前がディ
レクトリに現われるファイル(単純ファイルもしくはデ
ィレクトリ)のみをさす。
ァイル・ツリー中に存在するすべてのファイルを意味し
、他のディレクトリを通って達することのできるものも
含む。ディレクトリの1直接子孫」とはその名前がディ
レクトリに現われるファイル(単純ファイルもしくはデ
ィレクトリ)のみをさす。
(d) 規約によって、ファイル・システムの根のデ
ィレクトリのiノード番号はiノード番号2とする。
ィレクトリのiノード番号はiノード番号2とする。
E2 ファイル・システムのマウント方法法に伝統的な
UNIXオペレーティング・システムが全ファイル・シ
ステムのマウント(連結取付け)を使用してファイル・
ツリーを形成する方法及びこのようなファイル・ツリー
の経路をたどる方法について説明する。
UNIXオペレーティング・システムが全ファイル・シ
ステムのマウント(連結取付け)を使用してファイル・
ツリーを形成する方法及びこのようなファイル・ツリー
の経路をたどる方法について説明する。
装置のファイル・システムの内の経路「/dir1/d
ir2/ファイル」をたどるときは次の段階を含む。
ir2/ファイル」をたどるときは次の段階を含む。
(1)iノード番号2によって識別されるファイル(装
置のルート・ディレクトリ)を読取る。
置のルート・ディレクトリ)を読取る。
(2)名前=dir1の項目を求めてディレクトリを探
索する。
索する。
(3)dirlに関連するiノード番号によって識別さ
れるファイル(これは経路中の次のディレクトリである
)を読取る。
れるファイル(これは経路中の次のディレクトリである
)を読取る。
(4) 名前=dir2の項目を求めてディレクトリ
を探索する。
を探索する。
(5) dir2に関連するiノード番号によって識
別されるファイル(これは経路中の次のディレクトリで
ある)を読取る。
別されるファイル(これは経路中の次のディレクトリで
ある)を読取る。
(6)名前=ファイルの項目を求めてディレクトリを探
索する。
索する。
(7) このディレクトリ中のファイルに関連するi
ノード番号は経路「/dir 1/dir 2/ファ;
イル」によって識別される単純ファイルのiノード番号
である。
ノード番号は経路「/dir 1/dir 2/ファ;
イル」によって識別される単純ファイルのiノード番号
である。
個々のファイル・システムに常駐するファイル・ツリー
はこれからノードの総合ファイル・ツリーが構成される
ビルデング・ブロック(積み木)である。特定の装置(
たとえば、ハード・ファイルの区画)がノードの根ファ
イル・システムヲ含む装置として指定される。他の装置
上に存在するファイル・ツリーはマウント動作によって
ノードのファイル・ツリーに付は加えることができる。
はこれからノードの総合ファイル・ツリーが構成される
ビルデング・ブロック(積み木)である。特定の装置(
たとえば、ハード・ファイルの区画)がノードの根ファ
イル・システムヲ含む装置として指定される。他の装置
上に存在するファイル・ツリーはマウント動作によって
ノードのファイル・ツリーに付は加えることができる。
マウント動作にとって2つの主要なパラメータは(1)
マウントさるべき装置の名前及び(2)装置のファイル
・ツリーをマウントするディレクトリ迄の経路である。
マウントさるべき装置の名前及び(2)装置のファイル
・ツリーをマウントするディレクトリ迄の経路である。
このディレクトリはすでにノード・ファイル・ツリーの
1部でなくてはならず、もしくはこのディレクトリはす
でに(マウント動作によって)ノード・ファイル・ツリ
ーに付は加えられたファイル・システム中のディレクト
リでなくてはならない。
1部でなくてはならず、もしくはこのディレクトリはす
でに(マウント動作によって)ノード・ファイル・ツリ
ーに付は加えられたファイル・システム中のディレクト
リでなくてはならない。
マウントが達成された後に、元々マウントしたディレク
トリを流れていた経路はマウントされたファイル・シス
テムのルートのiノ、−ドを通って流れる。マウント動
作は次のように進行する。
トリを流れていた経路はマウントされたファイル・シス
テムのルートのiノ、−ドを通って流れる。マウント動
作は次のように進行する。
(1)マウント点迄の経路に従い、マウントされた装置
によってカバーさるべきディレクトリの装置の名前及び
iノード番号を求める。
によってカバーさるべきディレクトリの装置の名前及び
iノード番号を求める。
(2)次のものを含むデータ構造を形成する。
(a) カバーされるディレクトリの装置の名前及び
iノード番号 (b) マウントされる装置の名前 ノードの総合ファイル・ツリー中で従う経路は(a)マ
ウントするiノード(即ち勿論この経路の終り)迄、装
置のファイル・ツリー中の経路に従う(b)−族マウン
ト点に遭遇するとマウント・データ構造を使用してどの
装置が経路中の次に来るかを決定し、(c)マウント構
造中に示された装置中のiノード2(ルートiノード)
の経路に従い始めることより成る。
iノード番号 (b) マウントされる装置の名前 ノードの総合ファイル・ツリー中で従う経路は(a)マ
ウントするiノード(即ち勿論この経路の終り)迄、装
置のファイル・ツリー中の経路に従う(b)−族マウン
ト点に遭遇するとマウント・データ構造を使用してどの
装置が経路中の次に来るかを決定し、(c)マウント構
造中に示された装置中のiノード2(ルートiノード)
の経路に従い始めることより成る。
マウント・データ構造は非持久性であり、これ等はディ
スク上に記憶されることはない。所望のマウントのリス
トは初期プログラム・ロード(IPL)の1部としてマ
シンの電源がオンにされる度に再発生しなければならな
い。以上の説明は伝統的なUNIXオペレーティング・
システムカ全ファイル・システムのマウントを使用して
ファイル・ツリーを形成する方法及びこのようなファイ
ル・ツリー中の経路を従う方法を示したものである。こ
のような具体例は装置上に常駐する全ファイル・システ
ムのマウンティングだけに制限される。本明細書及び上
述の参考論文に示された仮想ファイル・システムは(1
)装置のマウントを可能ならしめる他にファイル(ディ
レクトリもしくは単純ファイル)のマウントを可能なら
しめることによって装置上に常駐するファイル・システ
ムの1部をマウントすること及び(2)すでにファイル
・ツリーの1部になっているディレクトリ上に遠隔もし
くは局所ディレクトリをマウントすることを可能ならし
める。本発明はすでにファイル・ツリーの1部である単
純ファイル上に単純ファイル(遠隔もしくは局所の)を
マウントすることを可能ならしめることによって仮想フ
ァイル・システムの概念を補強する。
スク上に記憶されることはない。所望のマウントのリス
トは初期プログラム・ロード(IPL)の1部としてマ
シンの電源がオンにされる度に再発生しなければならな
い。以上の説明は伝統的なUNIXオペレーティング・
システムカ全ファイル・システムのマウントを使用して
ファイル・ツリーを形成する方法及びこのようなファイ
ル・ツリー中の経路を従う方法を示したものである。こ
のような具体例は装置上に常駐する全ファイル・システ
ムのマウンティングだけに制限される。本明細書及び上
述の参考論文に示された仮想ファイル・システムは(1
)装置のマウントを可能ならしめる他にファイル(ディ
レクトリもしくは単純ファイル)のマウントを可能なら
しめることによって装置上に常駐するファイル・システ
ムの1部をマウントすること及び(2)すでにファイル
・ツリーの1部になっているディレクトリ上に遠隔もし
くは局所ディレクトリをマウントすることを可能ならし
める。本発明はすでにファイル・ツリーの1部である単
純ファイル上に単純ファイル(遠隔もしくは局所の)を
マウントすることを可能ならしめることによって仮想フ
ァイル・システムの概念を補強する。
仮想ファイル・システムでは、特定の装置ファイル・シ
ステムに対して遂行される動作は明らかにノードの総合
ファイル・ツリーの構成及び使用を処理する動作とは区
別される。ノードの仮想ファイル・システムは局所及び
遠隔ファイルの両方にアクセスできる。
ステムに対して遂行される動作は明らかにノードの総合
ファイル・ツリーの構成及び使用を処理する動作とは区
別される。ノードの仮想ファイル・システムは局所及び
遠隔ファイルの両方にアクセスできる。
局所ファイルの管理は遠隔ファイルの管理よりも簡単で
ある。このため、仮想ファイル・システムの論議は2つ
の部分に分けられる。第1の部分は局所の動作だけを説
明する。この部分は遠隔動作を説明するための基本を与
える。同じデータ構造及び動作が遠隔及び局所動作の両
方に使用される。局所動作は独立型の動作に関連するデ
ータ及び手順の部面を説明する。遠隔動作についての論
議は遠隔動作に関連する情報を付は加えるにとどめ、局
所動作のセクションでなされた説明は繰返さない。
ある。このため、仮想ファイル・システムの論議は2つ
の部分に分けられる。第1の部分は局所の動作だけを説
明する。この部分は遠隔動作を説明するための基本を与
える。同じデータ構造及び動作が遠隔及び局所動作の両
方に使用される。局所動作は独立型の動作に関連するデ
ータ及び手順の部面を説明する。遠隔動作についての論
議は遠隔動作に関連する情報を付は加えるにとどめ、局
所動作のセクションでなされた説明は繰返さない。
E3 仮想ファイル・システム間の関係第5図は仮想フ
ァイル・システムのデータ構造間に存在する関係を示す
。マウント動作毎に新らしい仮想ファイル・システム(
vfS)のデータ構造が形成される。この構造の基本要
素は(、)この仮想ファイル・システムの根のVノード
(仮想ノード)へのポインタ(たとえばブロック21か
らブロック23への矢印)及び(b)この仮想ファイル
・システムが形成された時にマウントしたVノードへの
ポインタ(たとえばブロック25からブロック24への
矢印)である。
ァイル・システムのデータ構造間に存在する関係を示す
。マウント動作毎に新らしい仮想ファイル・システム(
vfS)のデータ構造が形成される。この構造の基本要
素は(、)この仮想ファイル・システムの根のVノード
(仮想ノード)へのポインタ(たとえばブロック21か
らブロック23への矢印)及び(b)この仮想ファイル
・システムが形成された時にマウントしたVノードへの
ポインタ(たとえばブロック25からブロック24への
矢印)である。
iノードを仮想ファイル・システムのファイル・システ
ム独立部分で表現する必要が生じた時は、これをVノー
ドで表わす。この構造の主な要素は次のものである。
ム独立部分で表現する必要が生じた時は、これをVノー
ドで表わす。この構造の主な要素は次のものである。
(a)■ノードを含むvfsへのポインタ(たとえばブ
ロック22からブロック21への矢印)(b) この
Vノード上にマウントするvfsへのポインタ(たとえ
ばブロック24からブロック25への矢印)。しかしな
がら、すべてのVノードが仮想ファイル・システムのた
めのマウント点ではない。即ち空ポインタはこのVノー
ドがマウント点でないことを示すことに注意されたい。
ロック22からブロック21への矢印)(b) この
Vノード上にマウントするvfsへのポインタ(たとえ
ばブロック24からブロック25への矢印)。しかしな
がら、すべてのVノードが仮想ファイル・システムのた
めのマウント点ではない。即ち空ポインタはこのVノー
ドがマウント点でないことを示すことに注意されたい。
(c)代理iノードもしくは実iノードへのポインタ(
たとえばブロック26からブロック32への矢印) (d) ノード表項目へのポインタ(このポインタは
ファイルが遠隔ファイルである時にだけ非空ポインタで
ある) 他のUNIXオペレーティング・システムと同じように
AIXオペレーティング・システムはこのシステムが使
用中の各iノードに関する情報を含むメモリ常駐表を保
持している。たとえばファイルが開かれる時は、そのi
ノードがディスクから読取られ、そのiノードの情報の
部分集合がある追加の情報とともにiノード表中に記憶
される。
たとえばブロック26からブロック32への矢印) (d) ノード表項目へのポインタ(このポインタは
ファイルが遠隔ファイルである時にだけ非空ポインタで
ある) 他のUNIXオペレーティング・システムと同じように
AIXオペレーティング・システムはこのシステムが使
用中の各iノードに関する情報を含むメモリ常駐表を保
持している。たとえばファイルが開かれる時は、そのi
ノードがディスクから読取られ、そのiノードの情報の
部分集合がある追加の情報とともにiノード表中に記憶
される。
iノード表の項目の主要要素は(a)ファイル・アクセ
ス構造リストのヘッドへのポインタ及び(b)ディスク
iノードからの情報(その詳細はここでは関係ない)で
ある。
ス構造リストのヘッドへのポインタ及び(b)ディスク
iノードからの情報(その詳細はここでは関係ない)で
ある。
ファイル・アクセス構造リストはどのノードが開いたフ
ァイルを有するかについての情報、これ等の開放のモー
ド(読取り専用もしくは読取り一書込み)についての情
報を記録する。ファイルを開いている各ノードには別個
のファイル・アクセス構造が存在する。この状態情報に
よってサーバーはどのように各クライエントがサーバー
のファイルを使用しているかを知ることができる。
ァイルを有するかについての情報、これ等の開放のモー
ド(読取り専用もしくは読取り一書込み)についての情
報を記録する。ファイルを開いている各ノードには別個
のファイル・アクセス構造が存在する。この状態情報に
よってサーバーはどのように各クライエントがサーバー
のファイルを使用しているかを知ることができる。
ファイル・システムはこれに対して遂行される動作のセ
ットを支援する。処理は次のようにファイル・システム
動作を遂行することによってファイル・システムと相互
作用する。
ットを支援する。処理は次のようにファイル・システム
動作を遂行することによってファイル・システムと相互
作用する。
(1)ユーザは(おそら()ある入力パラメータを与え
て動作の1つを呼出す。
て動作の1つを呼出す。
(2)ファイル・システム論理装置が動作を遂行する。
動作によってファイル−システムの内部状態が変ること
がある。
がある。
(3)ファイル・システム論理装置が呼出したユーザに
返答する。この返答はおそら(ある復帰パラメータであ
る。
返答する。この返答はおそら(ある復帰パラメータであ
る。
ファイル・システムでなされる動作はvn動作もしくは
vn opsと呼ばれる。いくつかのvnopsがあ
るが、ここでの説明にとって重要なものを次に説明する
。
vn opsと呼ばれる。いくつかのvnopsがあ
るが、ここでの説明にとって重要なものを次に説明する
。
(VNルックアップ〕
vnルックアップ動作ではファイル働システム中の経路
に従う際の主な繰返し段階はディレクトリ中の経路の構
成要素の名前を探知すること及び関連iノード番号を使
用してチェーン中の次のファイルを探知することである
。局所ファイルに行われるvy1ルックアップの動作の
ための擬似コードを次にあげる。
に従う際の主な繰返し段階はディレクトリ中の経路の構
成要素の名前を探知すること及び関連iノード番号を使
用してチェーン中の次のファイルを探知することである
。局所ファイルに行われるvy1ルックアップの動作の
ための擬似コードを次にあげる。
機能ルックアップ
入カニディレクトリVノード・ポインタディレクトリ中
で探索する名前 出カニ名前を見出したファイル/ d i rへのVノ
ードΦポインタ ディレ、クトリのVノード・ポインタをiノード・ポイ
ンタに変換する(V)−ドのポインタを使用する)。
で探索する名前 出カニ名前を見出したファイル/ d i rへのVノ
ードΦポインタ ディレ、クトリのVノード・ポインタをiノード・ポイ
ンタに変換する(V)−ドのポインタを使用する)。
ディレクトリのiノードをロックする。
もしくディレクトリ中の探索が許可されていないならば
) ディレクトリのiノードをアンロック 誤りを戻す ディレクトリ中に名前を探索する もしく見出されたら) 名前のためのファイル・ハンドルを形成(ディレクトリ
の項目に見出されたiノードを使用) ファイル・ハンドルのためのVノードへのポインタを求
める。
) ディレクトリのiノードをアンロック 誤りを戻す ディレクトリ中に名前を探索する もしく見出されたら) 名前のためのファイル・ハンドルを形成(ディレクトリ
の項目に見出されたiノードを使用) ファイル・ハンドルのためのVノードへのポインタを求
める。
ディレクトリのiノードをアンロック
ポインタをVノードに戻す。
そうでないならば(見出されないならば)ディレクトリ
のiノードをアンロック 誤りを戻す 〔ルックアップPN) ルックアップルn動作は経路に従う機能である。
のiノードをアンロック 誤りを戻す 〔ルックアップPN) ルックアップルn動作は経路に従う機能である。
その入力は経路(たとえば「/dir 1 / dir
2/ファイル」)であり、その復帰はファイルを表わす
Vノードへのポインタである。ルックアップpn・ は
vnルックアップを呼出して1つのディレクトリを読取
り、次にチェックしてvnルックアップによって戻され
たVノードがマウントしたかどう 。
2/ファイル」)であり、その復帰はファイルを表わす
Vノードへのポインタである。ルックアップpn・ は
vnルックアップを呼出して1つのディレクトリを読取
り、次にチェックしてvnルックアップによって戻され
たVノードがマウントしたかどう 。
かを知る。もしそのVノードがマウントしていなければ
、ルックアップpnが同じファイル・システム中のvn
ルックアップを呼出す。もしVノードがマウントしてい
ると、ルックアップpnはマウントされたファイル・シ
ステム(たとえば第5図のブロック24)からマウント
されたファイル・システム(たとえば第5図のブロック
25)へのポインタに従う。このvfsからは根Vノー
ド(たとえば第5図のブロック26)へのポインタに従
う。もしこのVノードがディレクトリで単純ファイルで
なければ、新らしいvnルックアップを発生して、入力
としてこのvfsのルー)vノード及び経路中の次の要
素を構成する名前を与える。ルックアップルn機能のた
めの擬似コードを下にあげる。
、ルックアップpnが同じファイル・システム中のvn
ルックアップを呼出す。もしVノードがマウントしてい
ると、ルックアップpnはマウントされたファイル・シ
ステム(たとえば第5図のブロック24)からマウント
されたファイル・システム(たとえば第5図のブロック
25)へのポインタに従う。このvfsからは根Vノー
ド(たとえば第5図のブロック26)へのポインタに従
う。もしこのVノードがディレクトリで単純ファイルで
なければ、新らしいvnルックアップを発生して、入力
としてこのvfsのルー)vノード及び経路中の次の要
素を構成する名前を与える。ルックアップルn機能のた
めの擬似コードを下にあげる。
機能ルックアップpn
入カニ経路の名前
出カニ指名されたVノードへのポインタもしく経路の最
初の文字が111であると)、探索のための現在のVノ
ードはユーザの根のディレクトリである。
初の文字が111であると)、探索のための現在のVノ
ードはユーザの根のディレクトリである。
そうでないと、探索されている現在のVノードはユーザ
の現在のディレクトリVノードである。
の現在のディレクトリVノードである。
反復する。
もしく経路の次の要素が61.″ならば)(現在のV)
−ドは仮想ファイル・システムの根であるから) 現在のVノードはこの仮想ファイル・システムをマウン
トするVノードとなる。
−ドは仮想ファイル・システムの根であるから) 現在のVノードはこの仮想ファイル・システムをマウン
トするVノードとなる。
もしくマウントするVノードがないならば)誤りを戻す
。”0.°′はファイル・システムの過去の根である。
。”0.°′はファイル・システムの過去の根である。
vnルックアップを使用して現在のVノードの経路要素
をルックアップする。
をルックアップする。
もしく vnルックアップが経路要素を見出すと)
現在のVノードはvnルックアップによって戻されたV
ノードとなる。
ノードとなる。
(現在のVノードはマウントされているので)、
マウントされた仮想ファイル・システムを表わすvfs
構造への現在のVノードのポインタに従う。
構造への現在のVノードのポインタに従う。
現在のVノードがマウントされたvfsの根Vノードと
なる。
なる。
そうでない時は、vnルックアップはファイルの要素を
戻すことはできない(誤り)。
戻すことはできない(誤り)。
探索は失敗する。
以上の動作を(追加の経路がなくなる迄)反復する。
戻る(現在のVノード)。
次にファイルへの経路に従いディレクトリをマウントす
るシナリオを説明することによって動作を説明する。先
ず、ファイルに向う経路に従うものとして、アプリケー
ション・プロセスがファイ/l/” / u / de
pt 54/ステータス“のためのシステム・コール(
開放)を発生したものとする。
るシナリオを説明することによって動作を説明する。先
ず、ファイルに向う経路に従うものとして、アプリケー
ション・プロセスがファイ/l/” / u / de
pt 54/ステータス“のためのシステム・コール(
開放)を発生したものとする。
仁の要求は第5図を参照して以下に説明するようにオペ
レーティング・システムで達成される(基本的にUNI
Xオペレーティング・システムと変らない動作について
の詳細はここでは説明しない)。
レーティング・システムで達成される(基本的にUNI
Xオペレーティング・システムと変らない動作について
の詳細はここでは説明しない)。
次の仮定を行う。先ずブロック21によって示したvf
sを根の仮想ファイル・システムであるものとする。次
にファイル°+/u”をVノード・ブロック24及び1
ノード・ブロック31によって表わす。第3に、前のマ
ウント動作である装置のファイル・システムがディレク
トリ゛I/u”上にマウントされているものとする。こ
のマウントはブロック25によって表わされるvfsを
形成したものである。第4に、ディレクトリ及びファイ
ルのすべてが同じ装置上にあるものとする。第5に、次
に示すディレクトリの項目が指示されたディレクトリ中
に存在するものとする。
sを根の仮想ファイル・システムであるものとする。次
にファイル°+/u”をVノード・ブロック24及び1
ノード・ブロック31によって表わす。第3に、前のマ
ウント動作である装置のファイル・システムがディレク
トリ゛I/u”上にマウントされているものとする。こ
のマウントはブロック25によって表わされるvfsを
形成したものである。第4に、ディレクトリ及びファイ
ルのすべてが同じ装置上にあるものとする。第5に、次
に示すディレクトリの項目が指示されたディレクトリ中
に存在するものとする。
ディレクトリ
iノード番号 名前 iノード番号2
” u ” 1545 ”de
pt54” 7171 ″ステータス”
12システム・コールを具体化するコードがこの経
路に従うルックアップpnを呼出す。ルックアップpn
は根仮想ファイルΦシステムのルートVノード(ブロッ
ク23)で開始し、このVノードによって表わされたデ
ィレクトリ・ファイル中の名前″u”をルックアップす
るvnルックアップを呼出す。vnルックアップはこの
ディレクトリ中に名前”u”がブロック31中でiノー
ド15と関連していることを見出す。vnルックアップ
はポインタをiノード15に関連するVノードに戻さな
ければならない。この動作を行うために、iノード15
がiノード表中にもたらされる。次にこれがチェックさ
れて親のvfs中にすでにこのVノードに対するVノー
ドが存在するかどうかを知る(入力Vノード(ブロック
26)は親のvfsに向うポインタを有する)。この場
合は存在する。
” u ” 1545 ”de
pt54” 7171 ″ステータス”
12システム・コールを具体化するコードがこの経
路に従うルックアップpnを呼出す。ルックアップpn
は根仮想ファイルΦシステムのルートVノード(ブロッ
ク23)で開始し、このVノードによって表わされたデ
ィレクトリ・ファイル中の名前″u”をルックアップす
るvnルックアップを呼出す。vnルックアップはこの
ディレクトリ中に名前”u”がブロック31中でiノー
ド15と関連していることを見出す。vnルックアップ
はポインタをiノード15に関連するVノードに戻さな
ければならない。この動作を行うために、iノード15
がiノード表中にもたらされる。次にこれがチェックさ
れて親のvfs中にすでにこのVノードに対するVノー
ドが存在するかどうかを知る(入力Vノード(ブロック
26)は親のvfsに向うポインタを有する)。この場
合は存在する。
次にvnルックアップは根のvfs(ブロック21)中
にVノードを見出し、ポインタをこのVノードに戻す。
にVノードを見出し、ポインタをこのVノードに戻す。
ルックアップpnは戻されたVノードが親のvfs中で
マウントするノードであることを発見する。ポインタは
Vノード(ブロック24)からマウントされるvfs(
ブロック25)に向う「マウント・オーバ」ポインタで
ある。ルックアップpnは新らしいvfs(ブロック2
5)の根Vノードへの「根Vノード」ポインタに従う。
マウントするノードであることを発見する。ポインタは
Vノード(ブロック24)からマウントされるvfs(
ブロック25)に向う「マウント・オーバ」ポインタで
ある。ルックアップpnは新らしいvfs(ブロック2
5)の根Vノードへの「根Vノード」ポインタに従う。
ルックアップpnはここで再びvnルックアップを呼出
す。今度はルートvノード(ブロック26)へのポイン
タ及び名前” dept 54 ”を入力する。
す。今度はルートvノード(ブロック26)へのポイン
タ及び名前” dept 54 ”を入力する。
上述のように、vnルックアップはディレクトリを読取
り、この名前に関するiノードを見出し、親vfs(ブ
ロック25)中のこのiノードに対するVノードを見出
すか、形成して、ポインタをこのVノードに戻す。ルッ
クアップpnはもう一度vnルックアップを呼出し、見
出したばかりのディレクトリのためのVノード及び名前
「ステータス」を入力する。vnルックアップはディレ
クトリを読取り、名前(ブロック34)に関連するiノ
ードを見出し、親vfs(ブロック25)中のこのiノ
ードのためのVノード(ブロック28)を見出すか、ポ
インタをこのVノードに戻す、システム・コールを具体
化するコードはここでこのファイルに対して要求された
動作を遂行する。
り、この名前に関するiノードを見出し、親vfs(ブ
ロック25)中のこのiノードに対するVノードを見出
すか、形成して、ポインタをこのVノードに戻す。ルッ
クアップpnはもう一度vnルックアップを呼出し、見
出したばかりのディレクトリのためのVノード及び名前
「ステータス」を入力する。vnルックアップはディレ
クトリを読取り、名前(ブロック34)に関連するiノ
ードを見出し、親vfs(ブロック25)中のこのiノ
ードのためのVノード(ブロック28)を見出すか、ポ
インタをこのVノードに戻す、システム・コールを具体
化するコードはここでこのファイルに対して要求された
動作を遂行する。
ここでアプリケーション・プロセスがマウント・システ
ム・コールを発生して、ディレクトリ”/ u / f
OO”の上にファイル″u / g o r p”を
マウントするものと仮定する。次のシナリオはどのよう
にしてこの要求がオペレーティング・システムによって
達成されるかを説明するものである、(再び、UNIX
オペレーティング・システムと基本的に変らない動作は
詳細には説明しない)。
ム・コールを発生して、ディレクトリ”/ u / f
OO”の上にファイル″u / g o r p”を
マウントするものと仮定する。次のシナリオはどのよう
にしてこの要求がオペレーティング・システムによって
達成されるかを説明するものである、(再び、UNIX
オペレーティング・システムと基本的に変らない動作は
詳細には説明しない)。
このシナリオは初期条件を表わす第6図、最終条件を表
わす第7図を参照して次の仮定を用いて説明する。先ず
、ブロック41によって表わすvfsをルートの仮想フ
ァイル・システムとし、第2に、含まれるディレクトリ
及びファイルのすべては同じ装置上にあるものとする。
わす第7図を参照して次の仮定を用いて説明する。先ず
、ブロック41によって表わすvfsをルートの仮想フ
ァイル・システムとし、第2に、含まれるディレクトリ
及びファイルのすべては同じ装置上にあるものとする。
第3に次のディレクトリの項目が示されたディレクトリ
に存在するものとする。
に存在するものとする。
ディレクトリ
iノード番号 名前 iノード番号2
”u” 152 ”
e t c” 83i s ”go
rp” 9283 ”foo”
7575 filel” 89マ
ウント・システム・コールを具体化するコードは次の動
作を行う。ルックアップpnが呼出され、マウントすべ
きファイル、”etc/foo”への経路に従う。この
動作の完了時に、ルー)vfs(ブロック41)は’
/ e t c / f o o”のためのVノード(
ブロック44)を含み、ブロック44はルー)vfs(
ブロック45)を指すポインタ及びiノード75のため
のiノード表項目(ブロック45)を指すポインタを有
する。ルックアップpnが呼出されて、マウントされる
べきファイル゛/e t c / g a r p ”
への経路に従う。この動作の完了時に、ルートvfa(
ブロック41)はルートvfa(ブロック41)へのポ
インタ及びiノード92のためのiノード表項目(ブロ
ック48)へのポインタを有する” / e tc /
gorp ” (ブロック49)のためのVノードを
含む。ここでマウント論理装置が先ず新らしいvfs(
ブロック46)を形成し次にその親vfs(ブロック4
6)へ戻すポインタ及びvfsのルートiノード(iノ
ード92、ブロック48)へのポインタを有するとのv
fs(ブロック46)をルートvノード(ブロック47
)を形成する。「マウント・オーバ」ポインタはルート
vfs(ブロック41)中のカバーされるVノード(ブ
ロック44)に設置され、その上にマウントするVノー
ド(ブロック44)へのポインタが新らしいvfs中に
設置される。
”u” 152 ”
e t c” 83i s ”go
rp” 9283 ”foo”
7575 filel” 89マ
ウント・システム・コールを具体化するコードは次の動
作を行う。ルックアップpnが呼出され、マウントすべ
きファイル、”etc/foo”への経路に従う。この
動作の完了時に、ルー)vfs(ブロック41)は’
/ e t c / f o o”のためのVノード(
ブロック44)を含み、ブロック44はルー)vfs(
ブロック45)を指すポインタ及びiノード75のため
のiノード表項目(ブロック45)を指すポインタを有
する。ルックアップpnが呼出されて、マウントされる
べきファイル゛/e t c / g a r p ”
への経路に従う。この動作の完了時に、ルートvfa(
ブロック41)はルートvfa(ブロック41)へのポ
インタ及びiノード92のためのiノード表項目(ブロ
ック48)へのポインタを有する” / e tc /
gorp ” (ブロック49)のためのVノードを
含む。ここでマウント論理装置が先ず新らしいvfs(
ブロック46)を形成し次にその親vfs(ブロック4
6)へ戻すポインタ及びvfsのルートiノード(iノ
ード92、ブロック48)へのポインタを有するとのv
fs(ブロック46)をルートvノード(ブロック47
)を形成する。「マウント・オーバ」ポインタはルート
vfs(ブロック41)中のカバーされるVノード(ブ
ロック44)に設置され、その上にマウントするVノー
ド(ブロック44)へのポインタが新らしいvfs中に
設置される。
次に独立型の動作のためのデータ構造を説明する。ここ
で本発明を支援するオペレーティング・システムを具体
化する、第2図に示したものと類似の分散システムを示
す第1図を参照する。第1図の参照番号は第2図及び第
3図中の対応する部品と同一番号が使用されている。次
の説明で、用語サーバーはファイルが永久的に記憶され
るノードを示すのに使用され、用語クライエントはこの
ファイルにアクセスするプロセスを有する他のノードを
意味するのに使用される。しかしながら、サーバーとい
う用語はある局所ネットワーク・システム中に使用され
る専用サーバーという用語を意味していないことに注意
されたい。本発明が具体化される分散サービス・システ
ムはシステム中の任意の個所に存在するファイルをアク
セスするシステム中の異なるノードで走行する広範囲の
種々のアプリケーションを支援する真の分散システムで
ある。
で本発明を支援するオペレーティング・システムを具体
化する、第2図に示したものと類似の分散システムを示
す第1図を参照する。第1図の参照番号は第2図及び第
3図中の対応する部品と同一番号が使用されている。次
の説明で、用語サーバーはファイルが永久的に記憶され
るノードを示すのに使用され、用語クライエントはこの
ファイルにアクセスするプロセスを有する他のノードを
意味するのに使用される。しかしながら、サーバーとい
う用語はある局所ネットワーク・システム中に使用され
る専用サーバーという用語を意味していないことに注意
されたい。本発明が具体化される分散サービス・システ
ムはシステム中の任意の個所に存在するファイルをアク
セスするシステム中の異なるノードで走行する広範囲の
種々のアプリケーションを支援する真の分散システムで
ある。
第1図に示されている分散システムのためのデータ構造
は第8図に示され、そのデータ構造の要素は第9A図乃
至第9F図に示されている。第13図は局所即ちクライ
エント・システムに存在する代表的なディレクトリ・ツ
リー構造、第14図は第13図のクライエント・ツリー
構造及びクライエント・システムによってアクセスされ
る遠隔即ちサーバー・ディレクトリ・ツリー構造の例を
示す。第8図を参照するに、クライエント・ノードは遠
隔サーバー・ノードに存在するファイルにアクセスでき
る。このようなりライエンドはサーバーのファイルの1
つをマウントすることによってサーバーのファイルにア
クセスする。クライエント・ノードでは、遠隔マウント
動作によって形成されるデータ構造が次のようにして局
所のエンティティをマウントすることによって形成され
るデータ構造と比較される。局所的な場合と丁度同じよ
うに、遠隔マウントはクライエント・ノード(たとえば
、ブロック54)中にvfsを形成する。iノード表項
目はしかしながら、遠隔ファイルからのiノード情報を
含まない。その代り、iノード表項目は代理(S)iノ
ードを含む。この代理iノードは遠隔iノードを表わし
ている。
は第8図に示され、そのデータ構造の要素は第9A図乃
至第9F図に示されている。第13図は局所即ちクライ
エント・システムに存在する代表的なディレクトリ・ツ
リー構造、第14図は第13図のクライエント・ツリー
構造及びクライエント・システムによってアクセスされ
る遠隔即ちサーバー・ディレクトリ・ツリー構造の例を
示す。第8図を参照するに、クライエント・ノードは遠
隔サーバー・ノードに存在するファイルにアクセスでき
る。このようなりライエンドはサーバーのファイルの1
つをマウントすることによってサーバーのファイルにア
クセスする。クライエント・ノードでは、遠隔マウント
動作によって形成されるデータ構造が次のようにして局
所のエンティティをマウントすることによって形成され
るデータ構造と比較される。局所的な場合と丁度同じよ
うに、遠隔マウントはクライエント・ノード(たとえば
、ブロック54)中にvfsを形成する。iノード表項
目はしかしながら、遠隔ファイルからのiノード情報を
含まない。その代り、iノード表項目は代理(S)iノ
ードを含む。この代理iノードは遠隔iノードを表わし
ている。
サーバー・ノードで、あるデータ構造体が構成され、ど
のようにして遠隔メートがそのファイルを使用中である
かについての状態情報を記憶することが可能になる。さ
らに具体的に説明すると、各サーバーはダミイvfs(
たとえばブロック71)によって、遠隔クライエントに
よって開かれたファイルを保持するvfsを与えること
ができる。
のようにして遠隔メートがそのファイルを使用中である
かについての状態情報を記憶することが可能になる。さ
らに具体的に説明すると、各サーバーはダミイvfs(
たとえばブロック71)によって、遠隔クライエントに
よって開かれたファイルを保持するvfsを与えること
ができる。
ダミイvfsはサーバーのファイル・ツリーの一部では
ない。遠隔ノードによって開かれている各ファイルにつ
いて、サーバーのダミイvfs中にはVノード(たとえ
ば、ブロック74)が存在する。
ない。遠隔ノードによって開かれている各ファイルにつ
いて、サーバーのダミイvfs中にはVノード(たとえ
ば、ブロック74)が存在する。
遠隔ノードによって開かれている各ファイルはサーバー
のiノード表(たとえば、ブロック85)中にiノード
表項目を有する。このiノード表の項目はサーバーにお
ける局所プロセスがファイルを開いたために存在するも
のと同じである。たとえば、遠隔が開いたために表中に
存在するブロック84はサーバーにおける動作のために
表中に存在するブロック88と同じ構造を有する。
のiノード表(たとえば、ブロック85)中にiノード
表項目を有する。このiノード表の項目はサーバーにお
ける局所プロセスがファイルを開いたために存在するも
のと同じである。たとえば、遠隔が開いたために表中に
存在するブロック84はサーバーにおける動作のために
表中に存在するブロック88と同じ構造を有する。
クライエント及びサーバーがサーバー・ファイルについ
て通信する時は、ファイルを識別する方法が必要である
。これはファイル・ハンドルによって行われる。クライ
エントの要求によってサーバーが特定のファイルの宛先
を返答する時は(遠隔開放要求の場合)、このファイル
はファイル・ハンドルで識別される。ファイル・ハンド
ルは次のフィールド、即ち装置の番号、iノード番号及
びiノード発生番号を含む。
て通信する時は、ファイルを識別する方法が必要である
。これはファイル・ハンドルによって行われる。クライ
エントの要求によってサーバーが特定のファイルの宛先
を返答する時は(遠隔開放要求の場合)、このファイル
はファイル・ハンドルで識別される。ファイル・ハンド
ルは次のフィールド、即ち装置の番号、iノード番号及
びiノード発生番号を含む。
ファイル・ハンドルの必要性を次のシナリオによって説
明する。クライエントがサーバーに要求して、その返答
としてファイル・ハンドルを受取ったものとする。クラ
イエントはこのファイル・ハンドルを記憶する。サーバ
ーにおけるあるアクティビティによってこのファイルが
削除され、iノード・スロットが他のファイルのために
再使用されているものとする。クライエントは記憶した
ファイル・ハンドルを使用してサーバーに要求する。サ
ーバーはファイル・ハンドルを受取り、新らしいファイ
ルについて動作を行う。この動作は受諾できない動作で
ある。
明する。クライエントがサーバーに要求して、その返答
としてファイル・ハンドルを受取ったものとする。クラ
イエントはこのファイル・ハンドルを記憶する。サーバ
ーにおけるあるアクティビティによってこのファイルが
削除され、iノード・スロットが他のファイルのために
再使用されているものとする。クライエントは記憶した
ファイル・ハンドルを使用してサーバーに要求する。サ
ーバーはファイル・ハンドルを受取り、新らしいファイ
ルについて動作を行う。この動作は受諾できない動作で
ある。
この欠点はiノード発生番号の使用によって防止される
。iノード発生番号はiノード中のフィールドとしてデ
ィスク上に記憶できる。サーバーがファイルを削除する
時、これはiノード発生番号をインクレメントする。も
し要求がサーバーに達すると、ファイル・ハンドルが分
離され、装置番号と1ノ一ド番号を使用して、iノード
を探知する。次にファイル・ハンドルのiノード発生番
号がiノードのiノード発生番号と比較される。
。iノード発生番号はiノード中のフィールドとしてデ
ィスク上に記憶できる。サーバーがファイルを削除する
時、これはiノード発生番号をインクレメントする。も
し要求がサーバーに達すると、ファイル・ハンドルが分
離され、装置番号と1ノ一ド番号を使用して、iノード
を探知する。次にファイル・ハンドルのiノード発生番
号がiノードのiノード発生番号と比較される。
もしこれ等の番号が異なると、要求は拒否される。
クライエントが遠隔サーバー上に存在するファイルを開
きたい時には、ネットワーク転送機構を使用して、サー
バーとの接続を確立する。このファイルに関するその後
のトランザクション(たとえば、読取り、書込み等)は
この接続上を流れる。
きたい時には、ネットワーク転送機構を使用して、サー
バーとの接続を確立する。このファイルに関するその後
のトランザクション(たとえば、読取り、書込み等)は
この接続上を流れる。
ノードはその表中の項目(たとえばブロック70)を使
用して、この遠隔ノードの現存する接続に関する情報を
記録する。
用して、この遠隔ノードの現存する接続に関する情報を
記録する。
ネットワーク中の1つのノードが他のノードに要求して
それ自身のために遂行できる動作の数には制限がある。
それ自身のために遂行できる動作の数には制限がある。
これ等の動作はdfa ops と呼ばれる。ノー
ドが他のノードを要求する時は、次の動作が生ずる。先
ず要求する側のノードがどのdfs動作を要求中である
かを指定し、この要求に適切なパラメータを含むメツセ
ージを添えて送る。次に受信側のノードがこの要求を受
取り、指定された動作を遂行する。最後に、受信ノード
はそのdfs動作に適した返答パラメータを含むメツセ
ージを送る。
ドが他のノードを要求する時は、次の動作が生ずる。先
ず要求する側のノードがどのdfs動作を要求中である
かを指定し、この要求に適切なパラメータを含むメツセ
ージを添えて送る。次に受信側のノードがこの要求を受
取り、指定された動作を遂行する。最後に、受信ノード
はそのdfs動作に適した返答パラメータを含むメツセ
ージを送る。
局所ノード内のファイル・システムに発生するvn
opsとネットワーク上で発生するdfs ops間
には密接な相互関係が存在する。遠隔ファイル上の代表
的な動作は次の通りである。先ず、局所カーネルはファ
イルが遠隔もしくは局所のいずれで動作を受けているか
を知らないで、vn opを発生する。第2に、ファ
イルが遠隔ノードに存在するので、ファイル・システム
を具体化するコードは対応するdfs opをファイ
ルを保持するノードに送る。もしこのファイルが局所フ
ァイルである場合には、動作が遂行され、復帰パラメー
タが戻され、タスクが完了することに注意されたい。
opsとネットワーク上で発生するdfs ops間
には密接な相互関係が存在する。遠隔ファイル上の代表
的な動作は次の通りである。先ず、局所カーネルはファ
イルが遠隔もしくは局所のいずれで動作を受けているか
を知らないで、vn opを発生する。第2に、ファ
イルが遠隔ノードに存在するので、ファイル・システム
を具体化するコードは対応するdfs opをファイ
ルを保持するノードに送る。もしこのファイルが局所フ
ァイルである場合には、動作が遂行され、復帰パラメー
タが戻され、タスクが完了することに注意されたい。
第3に、ファイルを保持するノードはdfs動作要求を
受取り、その局所ファイル・システムに、対応するvn
動作を遂行することを要求する。このvn opかもの
復帰パターンがdfs opのための復帰パラメータ
を構成するのに使用される。
受取り、その局所ファイル・システムに、対応するvn
動作を遂行することを要求する。このvn opかもの
復帰パターンがdfs opのための復帰パラメータ
を構成するのに使用される。
第4に、要求したノードはサーバー・ノードからのdf
s opの返答を受取り、df、s op復帰パラ
メータを使用し、元のvn動作要求に対する復帰パラメ
ータを構成する。
s opの返答を受取り、df、s op復帰パラ
メータを使用し、元のvn動作要求に対する復帰パラメ
ータを構成する。
この動作を、遠隔ファイルを局所ファイル上にマウント
し、ファイルへの経路をたどるシナリオで説明する。
し、ファイルへの経路をたどるシナリオで説明する。
最初のシナリオにおいて、クライエント−ノード中のア
プリケーション・プロセスがマウント・システム・コー
ルを発生して、サーバー−/−トのファイル゛’ /u
7g a r p ”を局所クライエント・ファイル
°’ / e t c / f o o”上にマウント
する。
プリケーション・プロセスがマウント・システム・コー
ルを発生して、サーバー−/−トのファイル゛’ /u
7g a r p ”を局所クライエント・ファイル
°’ / e t c / f o o”上にマウント
する。
次のシナリオはこの要求をどのようにして達成されるか
を説明する。このシナリオは初期条件を表わす第10図
、最終条件を表わす第11図を参照して、次の仮定によ
って説明する。ブロック51によって表わされたvfs
はクライエントのファイル・ツリーのルートの仮想ファ
イル−システムであり、含まれるすべてのディレクトリ
及びファイルは同一装置上にあるものとする。指示され
たディレクトリ中には次の項目が存在する。
を説明する。このシナリオは初期条件を表わす第10図
、最終条件を表わす第11図を参照して、次の仮定によ
って説明する。ブロック51によって表わされたvfs
はクライエントのファイル・ツリーのルートの仮想ファ
イル−システムであり、含まれるすべてのディレクトリ
及びファイルは同一装置上にあるものとする。指示され
たディレクトリ中には次の項目が存在する。
サーバーのノードのディレクトリ
iノード番号 名前 iノード番号2
”u” 1515 “
’gorp”92 92 ”file2” t57クライ
エント・ノードのディレクトリ iノード番号 名前 iノード番号2″et
c” 86 86 °’foo” 75マウント・
システム・コールを具体化するコードがルックアップp
nを呼出し、” e t c / f o o ”上に
マウントされるファイル迄の経路に従う。この動作が完
了すると、ルー) vfs (ブロック51)は根vf
s (ブロック51)へのポインタ、iノード75のた
めのiノード表項目(ブロック61)へのポインタを有
する” / e t c / f o o ”のための
Vノード(ブロック53)を含んでいる。
”u” 1515 “
’gorp”92 92 ”file2” t57クライ
エント・ノードのディレクトリ iノード番号 名前 iノード番号2″et
c” 86 86 °’foo” 75マウント・
システム・コールを具体化するコードがルックアップp
nを呼出し、” e t c / f o o ”上に
マウントされるファイル迄の経路に従う。この動作が完
了すると、ルー) vfs (ブロック51)は根vf
s (ブロック51)へのポインタ、iノード75のた
めのiノード表項目(ブロック61)へのポインタを有
する” / e t c / f o o ”のための
Vノード(ブロック53)を含んでいる。
マウントされるファイルは遠隔ノード中に存在するので
、dfsマウント要求がサーバー・ノードに発生されて
、マウントされるオブジェクトへの経路として°u /
g Or p ”−を通過する。dfsマウント要求
を受取ると、サーバー・ノードはルックアップpnを呼
出して、マウントされるファイル°“/ u / g
Or p”への経路に従う。このルックアップ動作が完
了すると、サーバー・ノードの根vfS(ブロック71
)はこの根vfsへのポインタ及びiノード92のため
のiノード表項目へのポインタを有する°“/ u /
g Or p ”のためのVノード74を含んでいる
。サーバーはiノード75(装置0、iノード92)中
の情報を使用して、ファイル″/ u / g Or
p ”のためのファイル・ハンドルを構成する。サーバ
ーはこのファイル・ハンドルをdfsマウント要求への
返答として戻し、Vノード及びiノードを解放する。最
後に、クライエントはdfsマウント要求に対する返答
としてのファイル・ハンドルを受取り、次のように新ら
しい仮想ファイル・システムを形成するのに必要な動作
を遂行する。
、dfsマウント要求がサーバー・ノードに発生されて
、マウントされるオブジェクトへの経路として°u /
g Or p ”−を通過する。dfsマウント要求
を受取ると、サーバー・ノードはルックアップpnを呼
出して、マウントされるファイル°“/ u / g
Or p”への経路に従う。このルックアップ動作が完
了すると、サーバー・ノードの根vfS(ブロック71
)はこの根vfsへのポインタ及びiノード92のため
のiノード表項目へのポインタを有する°“/ u /
g Or p ”のためのVノード74を含んでいる
。サーバーはiノード75(装置0、iノード92)中
の情報を使用して、ファイル″/ u / g Or
p ”のためのファイル・ハンドルを構成する。サーバ
ーはこのファイル・ハンドルをdfsマウント要求への
返答として戻し、Vノード及びiノードを解放する。最
後に、クライエントはdfsマウント要求に対する返答
としてのファイル・ハンドルを受取り、次のように新ら
しい仮想ファイル・システムを形成するのに必要な動作
を遂行する。
(、) 新らしいvfs (ブロック54)を形成
する。
する。
(b) とのvfsのために、親vfs (ブロッ
ク54)へ戻すポインタ及びvfsのルートiノード(
ブロック62)へのポインタを有するルートVノード(
ブロック55)を形成する。このvfsのルート・ノー
ドは遠隔ファイルであるから、ルートVノードからポイ
ントされるiノードは代理iノードである。この代理i
ノードはクライエントのdfsマウント要求に応答して
サーバーが戻したファイル・ノ・ンドルを含んでいる。
ク54)へ戻すポインタ及びvfsのルートiノード(
ブロック62)へのポインタを有するルートVノード(
ブロック55)を形成する。このvfsのルート・ノー
ドは遠隔ファイルであるから、ルートVノードからポイ
ントされるiノードは代理iノードである。この代理i
ノードはクライエントのdfsマウント要求に応答して
サーバーが戻したファイル・ノ・ンドルを含んでいる。
(c) ルートvfs(ブロック51)中にカバーさ
れるVノード(ブロック53)中にマウント・オーバー
・ポインタを設定する。
れるVノード(ブロック53)中にマウント・オーバー
・ポインタを設定する。
(d) 新らしいvfs (ブロック54)中に、
マウントするVノード(ブロック56)へのポインタを
設定する。
マウントするVノード(ブロック56)へのポインタを
設定する。
ここで上述の遠隔マウント(サーバーの/u/gorp
をクライエントの/ e j e / f OO上にマ
ウントする)を実行した後にクライエントのプロセスカ
システム・コールを発生して、ファイル“′/etc/
foo/ファイル2”′に操作する。以下のシナリオで
は、ブロック番号は初期条件を表わす第11図、及び開
放動作後のシステムの状態を表わす第12図を参照する
。最初に、システム・コールを具体化するコードがルッ
クアップpnを呼出してその経路に従う。ルックアップ
pnはルート仮想ファイル−システム(ブロック51)
のルー)vノード(ブロック52)から始まって、vn
ルックアップを呼出し、このVノードによって表わされ
るディレクトリ・ファイル中の名前II uI+をルッ
クアップする。vnルックアップはディレクトリ中に名
前“°U″がiノード15と関連していることを見出す
。vnルックアップはiノード15のためのルート仮想
ファイル・システム中にVノード及びiノードを構成し
、ルックアップpnにこのVノードへのポインタを戻す
。ルックアップpnは再びvnルックアップを呼出して
、今度は名前°“foo”をiノード15によって識別
されるディレクトリ中にルックアップする。vHルック
アップは指示されたディレクトリを読取り名前Nf00
11がブロック61中のiノード75に関連することを
知る。根のvfs(ブロック51)中にはすでにこのi
ノード(ブロック61)のためのVノード(ブロック5
3)が存在するので、vnルックアップはこのVノード
へのポインタを戻す。ルックアップpnは従って次のv
fs(ブロック54)へのマウント・オーバー・ポイン
タに従い、次に仮想ファイル・システムのルートVノー
ド(ブロック55)へのルートVノード・ポインタに従
う。ここでルックアップpnは経路の次のエレメント(
ファイル2)のためのvnルックアップを呼出し、ブロ
ック55及び名前ファイル2へのポインタのvnルック
アップを与える。探索しているディレクトリは遠隔ノー
ド中に存在し、クライエント代理iノード(ブロック6
2)中に記憶されているファイル・ハンドルによって識
別される。vy1ルックアップはdfsルックアップを
ファイルを保持しているサーバーに発生してディレクト
リ及びルックアップされるべき名前(ファイル2)を識
別するファイル・ハンドルを送る。
をクライエントの/ e j e / f OO上にマ
ウントする)を実行した後にクライエントのプロセスカ
システム・コールを発生して、ファイル“′/etc/
foo/ファイル2”′に操作する。以下のシナリオで
は、ブロック番号は初期条件を表わす第11図、及び開
放動作後のシステムの状態を表わす第12図を参照する
。最初に、システム・コールを具体化するコードがルッ
クアップpnを呼出してその経路に従う。ルックアップ
pnはルート仮想ファイル−システム(ブロック51)
のルー)vノード(ブロック52)から始まって、vn
ルックアップを呼出し、このVノードによって表わされ
るディレクトリ・ファイル中の名前II uI+をルッ
クアップする。vnルックアップはディレクトリ中に名
前“°U″がiノード15と関連していることを見出す
。vnルックアップはiノード15のためのルート仮想
ファイル・システム中にVノード及びiノードを構成し
、ルックアップpnにこのVノードへのポインタを戻す
。ルックアップpnは再びvnルックアップを呼出して
、今度は名前°“foo”をiノード15によって識別
されるディレクトリ中にルックアップする。vHルック
アップは指示されたディレクトリを読取り名前Nf00
11がブロック61中のiノード75に関連することを
知る。根のvfs(ブロック51)中にはすでにこのi
ノード(ブロック61)のためのVノード(ブロック5
3)が存在するので、vnルックアップはこのVノード
へのポインタを戻す。ルックアップpnは従って次のv
fs(ブロック54)へのマウント・オーバー・ポイン
タに従い、次に仮想ファイル・システムのルートVノー
ド(ブロック55)へのルートVノード・ポインタに従
う。ここでルックアップpnは経路の次のエレメント(
ファイル2)のためのvnルックアップを呼出し、ブロ
ック55及び名前ファイル2へのポインタのvnルック
アップを与える。探索しているディレクトリは遠隔ノー
ド中に存在し、クライエント代理iノード(ブロック6
2)中に記憶されているファイル・ハンドルによって識
別される。vy1ルックアップはdfsルックアップを
ファイルを保持しているサーバーに発生してディレクト
リ及びルックアップされるべき名前(ファイル2)を識
別するファイル・ハンドルを送る。
サーバーはdfsルックアップを受取って、このファイ
ル・ハンドルを使用して読取られるべきディレクトリを
識別し、vnルックアップを発生してこのディレクトリ
中の名前ファイル2を探索する。vnルックアップはi
ノード67のためのダミイ仮想ファイル・システム中に
Vノード及びiノードを構成する。このVノードのため
のポインタをルックアップpnに戻す。dfsルックア
ップはvnルックアップによって戻されたデータ構造中
の情報を使用してiノード67によって識別さ 、れる
ファイルのためのファイル・ノ為ンドルを構成する。サ
ーバーはこのファイル・ハンドルをdfsルックアップ
要求に対する返答としてクライエントに戻し、Vノード
及びiノードを解放する。クライエント中ではVノード
(ブロック55)及び代理iノード(ブロック63)が
見出されたファイルのために形成される。ファイル2は
経路の最後の部分であるから、ルックアップpnはその
呼び手に発見されたVノード(ブロック55)へのポイ
ンタを戻す。システム・コールを具体化するコードはこ
こでこのファイルに対して要求されていた動作を遂行す
る。
ル・ハンドルを使用して読取られるべきディレクトリを
識別し、vnルックアップを発生してこのディレクトリ
中の名前ファイル2を探索する。vnルックアップはi
ノード67のためのダミイ仮想ファイル・システム中に
Vノード及びiノードを構成する。このVノードのため
のポインタをルックアップpnに戻す。dfsルックア
ップはvnルックアップによって戻されたデータ構造中
の情報を使用してiノード67によって識別さ 、れる
ファイルのためのファイル・ノ為ンドルを構成する。サ
ーバーはこのファイル・ハンドルをdfsルックアップ
要求に対する返答としてクライエントに戻し、Vノード
及びiノードを解放する。クライエント中ではVノード
(ブロック55)及び代理iノード(ブロック63)が
見出されたファイルのために形成される。ファイル2は
経路の最後の部分であるから、ルックアップpnはその
呼び手に発見されたVノード(ブロック55)へのポイ
ンタを戻す。システム・コールを具体化するコードはこ
こでこのファイルに対して要求されていた動作を遂行す
る。
各サーバーはノード表と呼ばれる構造中にサーバーに接
続される遠隔ノードのリストを保持している。ノード表
は他のノードに対する接続についての情報及びクライエ
ントのキャッシュ・ディレクトリ情報についての情報を
含む。サーバーによってサーバーのディレクトリの項目
がキャッシングすることが予想されているノードはノー
ド表中にそのようにマークされる。サーバーはクライエ
ントカキャッシング中のディレクトリ項目を確実には知
らず(たとえばクライエントのキャッシュは第1のサー
バーの項目のすべてを押出して他のサーバーの項目が充
満されている)、サーバーは消極的で、要求したクライ
エント・ノードからのルックアップが、そのクライエン
トにキャッシュされた項目を生じたものと信じている。
続される遠隔ノードのリストを保持している。ノード表
は他のノードに対する接続についての情報及びクライエ
ントのキャッシュ・ディレクトリ情報についての情報を
含む。サーバーによってサーバーのディレクトリの項目
がキャッシングすることが予想されているノードはノー
ド表中にそのようにマークされる。サーバーはクライエ
ントカキャッシング中のディレクトリ項目を確実には知
らず(たとえばクライエントのキャッシュは第1のサー
バーの項目のすべてを押出して他のサーバーの項目が充
満されている)、サーバーは消極的で、要求したクライ
エント・ノードからのルックアップが、そのクライエン
トにキャッシュされた項目を生じたものと信じている。
サーバー中のディレクトリに変更があると、サーバーは
dfs fsアドバイスrpsを使用して、そのサー
バーのディレクトリの項目をキャッシュしていると信じ
ているすべてのクライエントに、サーバー中の一部のデ
ィレクトリの項目が変更されたことを知らせる。サーバ
ー中のディレクトリに変更があったことを示すdfs
fsアドバイスrpsメツセージはディレクトリの項
目をキャッシングしていることが予想されていることを
示すノード表中のすべてのノードに送られる。dfsf
sアドバイスrpsをクライエント・ノードに送った後
に、クライエント・ノードのためのノード表項目が更新
され、そのクライエントがサーバーのディレクトリ項目
をキャッシュしていないことが示される。このよりなd
fs fs アドバイスrpsk受取ったクライエン
トはdfs fsアドバイスrpsを送ったサーバー
中のディレクトリに対応するすべての項目をそのキャッ
シュから除去する。サーバーによってクライエントにd
fs fsアドバイスrpsが送られたサーバーはこ
のクライエントからの次のルックアップrpsを受取る
迄は追加のdfs fsアドバイスrpsをクライエ
ントに送らない。クライエントからルックアップrps
を受取ると、サーバーはそのクライエントのためのノー
ド表項目にディレクトリ項目をキャッシング中としてマ
ークする。サーバーのノード表は固定サイズのものでよ
い。利用できるスペースがな(て新らしいクライエント
をノード表に追加したい場合には、接続使用カウントが
0である表中の古い項目はこのクライエントにdfs
fsアドバイスrpsを送ることによって除去できる
。
dfs fsアドバイスrpsを使用して、そのサー
バーのディレクトリの項目をキャッシュしていると信じ
ているすべてのクライエントに、サーバー中の一部のデ
ィレクトリの項目が変更されたことを知らせる。サーバ
ー中のディレクトリに変更があったことを示すdfs
fsアドバイスrpsメツセージはディレクトリの項
目をキャッシングしていることが予想されていることを
示すノード表中のすべてのノードに送られる。dfsf
sアドバイスrpsをクライエント・ノードに送った後
に、クライエント・ノードのためのノード表項目が更新
され、そのクライエントがサーバーのディレクトリ項目
をキャッシュしていないことが示される。このよりなd
fs fs アドバイスrpsk受取ったクライエン
トはdfs fsアドバイスrpsを送ったサーバー
中のディレクトリに対応するすべての項目をそのキャッ
シュから除去する。サーバーによってクライエントにd
fs fsアドバイスrpsが送られたサーバーはこ
のクライエントからの次のルックアップrpsを受取る
迄は追加のdfs fsアドバイスrpsをクライエ
ントに送らない。クライエントからルックアップrps
を受取ると、サーバーはそのクライエントのためのノー
ド表項目にディレクトリ項目をキャッシング中としてマ
ークする。サーバーのノード表は固定サイズのものでよ
い。利用できるスペースがな(て新らしいクライエント
をノード表に追加したい場合には、接続使用カウントが
0である表中の古い項目はこのクライエントにdfs
fsアドバイスrpsを送ることによって除去できる
。
このようにして、サーバーの最も新らしいユーザだけが
ディレクトリの項目をキャッシュする。dfsfsアド
バイスrpsを受取ることによって、キャッシュを除去
する以外に、クライエントはもはやサーバーから必要な
dfs fsアドバイスrpaを受取ることがないの
で、サーバーのnid (ノード識別)接続が標準以下
(パッド)とマークされた時、即ちnidのための良好
(グツド)な接続が除去された時は、サーバーのnid
のためのすべての項目をディレクトリ・キャッシュから
除去する。
ディレクトリの項目をキャッシュする。dfsfsアド
バイスrpsを受取ることによって、キャッシュを除去
する以外に、クライエントはもはやサーバーから必要な
dfs fsアドバイスrpaを受取ることがないの
で、サーバーのnid (ノード識別)接続が標準以下
(パッド)とマークされた時、即ちnidのための良好
(グツド)な接続が除去された時は、サーバーのnid
のためのすべての項目をディレクトリ・キャッシュから
除去する。
クライエントがディレクトリ項目をキャッシュしている
ことを示すノード表中の項目はサーバーとエントリのク
ライエント間の接続の使用を示していす、接続の使用の
カウントをインクレメントできない。同じように、クラ
イエントのキャッシュ中にあるサーバーのディレクトリ
・データはその使用カウントがインクレメントされる対
応する接続を生じない。従って、クライエント及びサー
バー間の接続はクライエントがサーバーのディレクトリ
の項目を現在キャッシングしているというだけでは保持
できない。0になった使用カウントを有する接続を除去
する前に、クライエントがサーバーのディレクトリ項目
をキャッシュすることが予想されるならば、サーバーは
接続の他端にあるクライエントにdfs fsアドバ
イスrpsを送る。接続が失われても重大な問題は生じ
ない。接続がないとサーバーはクライエントに関するこ
とを忘れる。クライエントは標準以下の接続を発見する
時にそのキャッシュを除去することに注意されたい。で
きるだけ早く接続が標準以下であることを発見するため
に、クライエントは空のRPC。
ことを示すノード表中の項目はサーバーとエントリのク
ライエント間の接続の使用を示していす、接続の使用の
カウントをインクレメントできない。同じように、クラ
イエントのキャッシュ中にあるサーバーのディレクトリ
・データはその使用カウントがインクレメントされる対
応する接続を生じない。従って、クライエント及びサー
バー間の接続はクライエントがサーバーのディレクトリ
の項目を現在キャッシングしているというだけでは保持
できない。0になった使用カウントを有する接続を除去
する前に、クライエントがサーバーのディレクトリ項目
をキャッシュすることが予想されるならば、サーバーは
接続の他端にあるクライエントにdfs fsアドバ
イスrpsを送る。接続が失われても重大な問題は生じ
ない。接続がないとサーバーはクライエントに関するこ
とを忘れる。クライエントは標準以下の接続を発見する
時にそのキャッシュを除去することに注意されたい。で
きるだけ早く接続が標準以下であることを発見するため
に、クライエントは空のRPC。
即ち何ごとも伝えないが、接続使用カウントが0である
場合でも、最近使用されていす、通信プロセスが接続状
態に保持されていることを示す任意の接続を介して2つ
のノードが依然RPCを送受できるという事実を示すR
PCを送る。
場合でも、最近使用されていす、通信プロセスが接続状
態に保持されていることを示す任意の接続を介して2つ
のノードが依然RPCを送受できるという事実を示すR
PCを送る。
次の第1表はサーバー〇ノード表中に現われる情報の例
を示す。ノード表中の各ノードidに対して、識別され
るノードがディレクトリ情報をキャッシュできることを
示す簡単なフラグ(フラグがY)もしくは識別されるノ
ードが任意の情報をキャッシュしないことを示す簡単な
フラグ(フラグがN)が存在する。この例では、ノード
5は任意のディレクトリ情報をキャッシュしていす、従
って、サーバーにおいてディレクトリが変化した時もd
fs fsアドバイスrpsは必要でないが、ノード
20はディレクトリの情報をキャッシュ中であると信じ
られるので、サーバーのディレクトリが改名されるか削
除されたサブディレクトリを有する時はdfs fs
アドバイスrpaを送らなければならない。
を示す。ノード表中の各ノードidに対して、識別され
るノードがディレクトリ情報をキャッシュできることを
示す簡単なフラグ(フラグがY)もしくは識別されるノ
ードが任意の情報をキャッシュしないことを示す簡単な
フラグ(フラグがN)が存在する。この例では、ノード
5は任意のディレクトリ情報をキャッシュしていす、従
って、サーバーにおいてディレクトリが変化した時もd
fs fsアドバイスrpsは必要でないが、ノード
20はディレクトリの情報をキャッシュ中であると信じ
られるので、サーバーのディレクトリが改名されるか削
除されたサブディレクトリを有する時はdfs fs
アドバイスrpaを送らなければならない。
第 1 表
ノードid キャッシング中? 他の接続情報第2表
はディレクトリ・キャッシュ中に記憶される種類のデー
タの例を示す。この例では3つの異なるノード、即ちi
dが12.20及び52を有するノードが情報をキャッ
シュ中であることに注意されたい。ノード12の場合に
は同じ名前” b i n″”を有する2つの項目が存
在する。この事はノード12中の2つの異なるディレク
トリ中にこの名前”bin”′が生ずるので可能である
。この場合はおそら(A I X ”Mシステム中の2
つの共通ディレクトリである/ b i n及び/ u
s r / b i nを表わす、ファイル・ハンド
ル177及び123を有するディレクトリが存在する。
はディレクトリ・キャッシュ中に記憶される種類のデー
タの例を示す。この例では3つの異なるノード、即ちi
dが12.20及び52を有するノードが情報をキャッ
シュ中であることに注意されたい。ノード12の場合に
は同じ名前” b i n″”を有する2つの項目が存
在する。この事はノード12中の2つの異なるディレク
トリ中にこの名前”bin”′が生ずるので可能である
。この場合はおそら(A I X ”Mシステム中の2
つの共通ディレクトリである/ b i n及び/ u
s r / b i nを表わす、ファイル・ハンド
ル177及び123を有するディレクトリが存在する。
ツリー要素、ノードid1ディレクトリ・ファイル・ハ
ンドル及び名前は一緒になってディレクトリ・キャッシ
ュを探索する時の探索キイを形成する。ディレクトリ・
キャッシュの探索をスピード・アップするために、使用
される実際のデータ構造はより複雑になっている。
ンドル及び名前は一緒になってディレクトリ・キャッシ
ュを探索する時の探索キイを形成する。ディレクトリ・
キャッシュの探索をスピード・アップするために、使用
される実際のデータ構造はより複雑になっている。
高速探索のための情報を構成するための普通に使用され
ている方法のうち任意のものが使用できる。
ている方法のうち任意のものが使用できる。
第6表及び第17図に示されている方法はディレクトリ
・キャッシュの探索をスピード・アップするのにハツシ
ュ表を使用している。
・キャッシュの探索をスピード・アップするのにハツシ
ュ表を使用している。
第6表は、ディレクトリ・キャッシュの項目が上述の4
つのフィールドに加えて次の2対のリンク・フィールド
を使用することを示す。(1)項目を前後リストと呼ぶ
2重リンク・リストにリンクするのに使用する前後のフ
ィールド及び(2)すべての項目を新旧リストと呼ばれ
る1つの追加の2重リンク・リストにリンクするのに使
用される新、旧フィールド。2重リンク・リストは挿入
及び除去を簡単に行うのに使用される。項目をリストの
始めもしくは終りに移動するためには、項目は現在の位
置から取出されてリストの始めもしくは終りに挿入され
る。各項目は2つのリスト、即ち複数の前後リストのう
ちのある1つ及び単一の新旧リストの上に存在する。
つのフィールドに加えて次の2対のリンク・フィールド
を使用することを示す。(1)項目を前後リストと呼ぶ
2重リンク・リストにリンクするのに使用する前後のフ
ィールド及び(2)すべての項目を新旧リストと呼ばれ
る1つの追加の2重リンク・リストにリンクするのに使
用される新、旧フィールド。2重リンク・リストは挿入
及び除去を簡単に行うのに使用される。項目をリストの
始めもしくは終りに移動するためには、項目は現在の位
置から取出されてリストの始めもしくは終りに挿入され
る。各項目は2つのリスト、即ち複数の前後リストのう
ちのある1つ及び単一の新旧リストの上に存在する。
第 6 表
第17図はこれ等の項目のリストが完全なディレクトリ
・キャッシュ中に組織化される方法を示す。リストのす
べては2重にリンクされているが、図面を明瞭にするた
めに、順方向リスト・ポインタしか、示されていない。
・キャッシュ中に組織化される方法を示す。リストのす
べては2重にリンクされているが、図面を明瞭にするた
めに、順方向リスト・ポインタしか、示されていない。
最新ポインタは新旧リストの始めを指示し、最旧ポイン
タは同じリストの終りを指摘している。ノ・ツシュ表は
前後リストの各々の始めへのポインタを含んでいる。
タは同じリストの終りを指摘している。ノ・ツシュ表は
前後リストの各々の始めへのポインタを含んでいる。
ハツシュ機能は任意のノードid1ディレクトリ・ファ
イル・ハンドル及び経路名前部分をノ・ツシュ表へのイ
ンデックスにハツシュするものとじて定義され易。ハツ
シュ表中の同じ位置にハツシュするすべての項目はハツ
シュ表中のこの位置のポインタによって指摘される同じ
前後リスト中で互に連結される。
イル・ハンドル及び経路名前部分をノ・ツシュ表へのイ
ンデックスにハツシュするものとじて定義され易。ハツ
シュ表中の同じ位置にハツシュするすべての項目はハツ
シュ表中のこの位置のポインタによって指摘される同じ
前後リスト中で互に連結される。
本発明のディレクトリ像キャッシング動作を支持するの
に必要な次の4つの異なる動作が存在する。すなわち、
(1)サーバーのディレクトリ更新中のキャッシュの無
効化、(2)サーバーでルックアップ要求を処理中にキ
ャッシング中としてノードをマークする、(3)遠隔ル
ックアップ中にクライエントのディレクトリ・キャッシ
ュの使用、及び(4)クライエントが受取ったdfa
fsアドバイスrpsもしくはクライエントとサーバー
間の接続の故障に応答してキャッシュから項目を除去す
ることである。本明細書の説明はサーバーもしくはクラ
イエントとしてのノードの役割に焦点があてられるが、
多(のノードはあるファイルについてはクライエントと
して、他のファイルについてはサーバーとしての両方の
働きをする。従ってノードは一般にクライエント及びサ
ーバー動作の両方を支援する。
に必要な次の4つの異なる動作が存在する。すなわち、
(1)サーバーのディレクトリ更新中のキャッシュの無
効化、(2)サーバーでルックアップ要求を処理中にキ
ャッシング中としてノードをマークする、(3)遠隔ル
ックアップ中にクライエントのディレクトリ・キャッシ
ュの使用、及び(4)クライエントが受取ったdfa
fsアドバイスrpsもしくはクライエントとサーバー
間の接続の故障に応答してキャッシュから項目を除去す
ることである。本明細書の説明はサーバーもしくはクラ
イエントとしてのノードの役割に焦点があてられるが、
多(のノードはあるファイルについてはクライエントと
して、他のファイルについてはサーバーとしての両方の
働きをする。従ってノードは一般にクライエント及びサ
ーバー動作の両方を支援する。
動作(1):サーバーにおけるディレクトリ更新中のキ
ャッシュの無効化は次のように行われる。
ャッシュの無効化は次のように行われる。
もし項目が除去されるか再命名されつつある時に、
もし項目がサブディレクトリで単なるファイルでない時
は、 ノード表中の各行について もしこの行のクライエントがキャッシング中なら、 dfs fsアドレスをこの行のクライエントに送る
。
は、 ノード表中の各行について もしこの行のクライエントがキャッシング中なら、 dfs fsアドレスをこの行のクライエントに送る
。
このクライエントを非キャッシングと
してマーク
ここで第15図を参照するに、本発明のディレクトリ・
キャッシング技術に必要な動作を遂行する際のサーバー
における動作の流れ図が示されている。第15図の動作
はクライエントのディレクトリ上にマウントされるファ
イル・システムの部分を有するサーバーで、ディレクト
リの内容が更新される名産に実行される。
キャッシング技術に必要な動作を遂行する際のサーバー
における動作の流れ図が示されている。第15図の動作
はクライエントのディレクトリ上にマウントされるファ
イル・システムの部分を有するサーバーで、ディレクト
リの内容が更新される名産に実行される。
段階200で、テストがなされて、サーバーのディレク
トリ中の項目が除去もしくは再命名されつつあるかどう
かが判断される。除去中でなければこの動作は終る。そ
れは追加のディレクトリの内容に関する情報がサーバー
からクライエントに送り戻される必要がないからである
。段階200で、サーバー・ディレクトリ中の項目が除
去もしくは再命名されつつあることがわかると、段階2
01において、このサーバーのディレクトリの項目がキ
ャッシュ可能なものであるかどうかを判断するテストが
なされる。この項目はもしこれがすブディレクトリであ
るならばキャッシュ可能であり、単にファイルであるな
らばキャッシュ可能でない。項目がキャッシュ可能でな
い時には、動作はこの時点で終る。
トリ中の項目が除去もしくは再命名されつつあるかどう
かが判断される。除去中でなければこの動作は終る。そ
れは追加のディレクトリの内容に関する情報がサーバー
からクライエントに送り戻される必要がないからである
。段階200で、サーバー・ディレクトリ中の項目が除
去もしくは再命名されつつあることがわかると、段階2
01において、このサーバーのディレクトリの項目がキ
ャッシュ可能なものであるかどうかを判断するテストが
なされる。この項目はもしこれがすブディレクトリであ
るならばキャッシュ可能であり、単にファイルであるな
らばキャッシュ可能でない。項目がキャッシュ可能でな
い時には、動作はこの時点で終る。
項目がキャッシュ可能ならば、動作は段階202に進み
、この時点でノード表(第1表)の最初の行がアドレス
される。段階203でノード表中のこの行中のデータが
テストされ、この行に関連するクライエントがこのサー
バーのディレクトリ構造に関連する情報をキャッシング
中であるかどうかが判断される。クライエントがサーバ
ーのディレクトリ構造の任意の部分をアクセスした場合
はキャッシング中である。もしクライエントがキャッシ
ング中であるならば、段階204でfsアドバイス・メ
ツセージがこの行に関連するクライエントに送られ、ク
ライエントに対してこのサーバーに関連するそのディレ
クトリ・キャッシュ情報を消去するようにアドバイスす
る。段階205において、ノード表がマークされて、こ
のクライエントがもはやサブディレクトリ情報をキャッ
シュ中でないことが示され、段階206でノード表がチ
ェックされノード表中にさらに行が存在するかどうかが
判断される。これ以上性が存在しない時には、動作が終
りもしそれ以上の行がノード表中に存在する時には、段
階207で、ノード表中の次の行がアクセスされる。次
に動作は上述した段階203に戻る。もし段階206で
行のクライエントがキャッシング中でないことが見出さ
れると、動作は段階204及び205をバイパスして段
階206をジャンプし、ノード表中にさらに行が存在す
るかどうかが判断される。
、この時点でノード表(第1表)の最初の行がアドレス
される。段階203でノード表中のこの行中のデータが
テストされ、この行に関連するクライエントがこのサー
バーのディレクトリ構造に関連する情報をキャッシング
中であるかどうかが判断される。クライエントがサーバ
ーのディレクトリ構造の任意の部分をアクセスした場合
はキャッシング中である。もしクライエントがキャッシ
ング中であるならば、段階204でfsアドバイス・メ
ツセージがこの行に関連するクライエントに送られ、ク
ライエントに対してこのサーバーに関連するそのディレ
クトリ・キャッシュ情報を消去するようにアドバイスす
る。段階205において、ノード表がマークされて、こ
のクライエントがもはやサブディレクトリ情報をキャッ
シュ中でないことが示され、段階206でノード表がチ
ェックされノード表中にさらに行が存在するかどうかが
判断される。これ以上性が存在しない時には、動作が終
りもしそれ以上の行がノード表中に存在する時には、段
階207で、ノード表中の次の行がアクセスされる。次
に動作は上述した段階203に戻る。もし段階206で
行のクライエントがキャッシング中でないことが見出さ
れると、動作は段階204及び205をバイパスして段
階206をジャンプし、ノード表中にさらに行が存在す
るかどうかが判断される。
従って、この特定の実施例ではサーバーにおいてディレ
クトリ構造に変更が生じた時には、クライエントはサー
バーに関連するすべてのキャッシュされたディレクトリ
情報を消去するようにアドバイスされる。代替実施例は
変更された特定の経路に関連するキャッシュされた項目
だけを消去するようにクライエントにアドバイスするこ
と、もしくはクライエントにこの経路に対する実際の変
更についてアドバイスすることを含む。
クトリ構造に変更が生じた時には、クライエントはサー
バーに関連するすべてのキャッシュされたディレクトリ
情報を消去するようにアドバイスされる。代替実施例は
変更された特定の経路に関連するキャッシュされた項目
だけを消去するようにクライエントにアドバイスするこ
と、もしくはクライエントにこの経路に対する実際の変
更についてアドバイスすることを含む。
動作(2)ニルツクアップ要求中にディレクトリ情報を
キャッシュ中としてノードにマークする動作は次のよう
に遂行される。
キャッシュ中としてノードにマークする動作は次のよう
に遂行される。
あるクライエントによって要求されるルックアップ要求
を遂行する。
を遂行する。
もし結果がディレクトリのためのファイル・ハンドルで
あるならば、 / クライエントはこれをキャッシュできる /要求し
たクライエントのためのノード表の項目を見出す クライエントをディレクトリ情報をキャッシュ中として
マークする。
あるならば、 / クライエントはこれをキャッシュできる /要求し
たクライエントのためのノード表の項目を見出す クライエントをディレクトリ情報をキャッシュ中として
マークする。
次に第18図を参照すると、本発明のディレクトリ・キ
ャッシング技術に必要な動作を遂行するサーバーの動作
の詳細な流れ図が示されている。
ャッシング技術に必要な動作を遂行するサーバーの動作
の詳細な流れ図が示されている。
第18図に説明された動作は、以後サーバーとして働く
ノードによってルックアップ要求が受取られる度に実行
される。この要求はクライエントとして動作しているあ
る他のノードから受取られる。
ノードによってルックアップ要求が受取られる度に実行
される。この要求はクライエントとして動作しているあ
る他のノードから受取られる。
段階220で、ルックアップ要求はディレクトリ・キャ
ッシング中でないものとして遂行される。
ッシング中でないものとして遂行される。
段階221で、任意の返答をルックアップを要求したク
ライエントに戻す前に、ルックアップの結果を調べる。
ライエントに戻す前に、ルックアップの結果を調べる。
もしルックアップの結果である、ファイル・ハンドルが
クライエントによってキャッシュできるもの、即ちディ
レクトリのためのファイル・ハンドルである場合には、
実行は段階222に進む。ルックアップの結果が、通常
のファイルのためのファイル・ハンドルである時には、
クライエントはこの結果をキャッシュせず、動作は終る
。
クライエントによってキャッシュできるもの、即ちディ
レクトリのためのファイル・ハンドルである場合には、
実行は段階222に進む。ルックアップの結果が、通常
のファイルのためのファイル・ハンドルである時には、
クライエントはこの結果をキャッシュせず、動作は終る
。
この結果がキャッシュできる時は、動作は段階222に
進み、この時点で、要求を行ったクライエントのための
ノード表項目が見出される。段階226において、この
ノード表の項目が更新されて、対応するクライエントは
現在ディレクトリ情報をキャッシュ中であることが示さ
れる。段階223の後に動作が終了する。
進み、この時点で、要求を行ったクライエントのための
ノード表項目が見出される。段階226において、この
ノード表の項目が更新されて、対応するクライエントは
現在ディレクトリ情報をキャッシュ中であることが示さ
れる。段階223の後に動作が終了する。
従って、この特定の実施例では、サーバーは単に、クラ
イエントがあるディレクトリ情報をキャッシュ中である
と信じられるかどうかを示すプール代数値を記録する。
イエントがあるディレクトリ情報をキャッシュ中である
と信じられるかどうかを示すプール代数値を記録する。
遠隔ルックアップ中のクライエントのディレクトリ・キ
ャッシュを使用する動作(3)は次のように動作する。
ャッシュを使用する動作(3)は次のように動作する。
/*経路の名前の分析中は、あるディレクトリは常に次
の経路の名前の要素の探索が生ずるディレクトリである
。最初、このディレクトリは根のディレクトリであるか
原経路に依存する現在のワーキング・ディレクトリであ
る。ルックアップpnにおける経路の名前の分析中に、
探索が生ずるディレクトリはそのVノード・ポインタに
よって識別される。
の経路の名前の要素の探索が生ずるディレクトリである
。最初、このディレクトリは根のディレクトリであるか
原経路に依存する現在のワーキング・ディレクトリであ
る。ルックアップpnにおける経路の名前の分析中に、
探索が生ずるディレクトリはそのVノード・ポインタに
よって識別される。
*/
/*これは遠隔ルックアップのための手段であるから、
探索さるべきディレクトリは遠隔ディレクトリである。
探索さるべきディレクトリは遠隔ディレクトリである。
*/
一致した項目のためのブイレフ) IJ・キャッシュを
探索する。
探索する。
もし項目が見出されると、
項目を新旧リストの始めに移動する。
そうでない時は
dfsルックアップrpsを使用して遠隔ルックアップ
を遂行する。もしルックアップの結果がキャッシュ可能
であると、 結果をディレクトリ・キャッシュの新旧リストの開始点
に挿入する。
を遂行する。もしルックアップの結果がキャッシュ可能
であると、 結果をディレクトリ・キャッシュの新旧リストの開始点
に挿入する。
第19図を参照するに、本発明のディレクトリ・キャッ
シング技術に必要な動作を遂行する際のクライエントの
動作の詳細な流れ図が示されている。第19図に示され
た動作はクライエントが遠隔ディレクトリ中の名前をル
ックアップしなければならない度に実行される。
シング技術に必要な動作を遂行する際のクライエントの
動作の詳細な流れ図が示されている。第19図に示され
た動作はクライエントが遠隔ディレクトリ中の名前をル
ックアップしなければならない度に実行される。
段階230において、ディレクトリ・キャッシュが探索
される。この段階は以下より詳細に説明する。この探索
の結果は段階231でテストされる。もしこの探索の結
果が遠隔ブイレフ) IJにルックアップされたこの名
前のためのファイル・ハンドルであることを示すと、動
作は段階232に進む。段階262で、段階230中で
見出されたディレクトリ・キャッシュ項目が新旧リスト
の前面(一番若い方)に移動する。探索される度に項目
をリストの始めに移動することによって、最近使用した
項目がキャッシュ中に留まる可能性が生じ、最近はとん
ど使用されない項目は破棄される項目となる。リストは
2重にリンクされているので、新旧リストの始めに項目
を移動することは容易である。段階232の後に、動作
が終る。
される。この段階は以下より詳細に説明する。この探索
の結果は段階231でテストされる。もしこの探索の結
果が遠隔ブイレフ) IJにルックアップされたこの名
前のためのファイル・ハンドルであることを示すと、動
作は段階232に進む。段階262で、段階230中で
見出されたディレクトリ・キャッシュ項目が新旧リスト
の前面(一番若い方)に移動する。探索される度に項目
をリストの始めに移動することによって、最近使用した
項目がキャッシュ中に留まる可能性が生じ、最近はとん
ど使用されない項目は破棄される項目となる。リストは
2重にリンクされているので、新旧リストの始めに項目
を移動することは容易である。段階232の後に、動作
が終る。
段階231において、段階230の探索が失敗したこと
が判断されると、動作は段階233に進む。段階233
で、遠隔ルックアップを遂行するのに必要な動作(df
s )が遂行される。段階234で、段階233で遂
行された遠隔ルックアップの結果が検査される。この結
果がキャッシュ可能でない時、即ち結果が通常のファイ
ルのファイル・ハンドルである時は、動作が終る。
が判断されると、動作は段階233に進む。段階233
で、遠隔ルックアップを遂行するのに必要な動作(df
s )が遂行される。段階234で、段階233で遂
行された遠隔ルックアップの結果が検査される。この結
果がキャッシュ可能でない時、即ち結果が通常のファイ
ルのファイル・ハンドルである時は、動作が終る。
段階236中に戻って、ファイル・ハンドルがディレク
トリのファイル・ハンドルである時は、段階234はこ
のファイル・ハンドルがキャッシュ可能であると判断し
、動作は段階235に進行、する。段階235で、新旧
リストの終りにある項目が除去される。この項目はキャ
ッシュ中で最近はとんど使用しない即ち最も古い項目で
ある。段階236で、この項目はその特定の前後リスト
から除去される。段階267で段階230の探索中に使
用したノードid1ディレクトリ・ファイル・ハンドル
及び名前の値がハツシュ表中にハツシュされ、このハツ
シングの結果を使用してディレクトリ・キャッシュ・ハ
ツシュ表をインテックスし、指摘された前後リストを見
出す。段階238において、段階235中において得た
項目を段階237中で決定された前後リスト中に挿入し
、次にこの項目を段階230で得たノードid、デイレ
ク) IJ・ファイル・ハンドル及び名前の値並びに段
階233によって戻されたファイル・ハンドルで初期設
定する。段階238の後に、動作が終る。
トリのファイル・ハンドルである時は、段階234はこ
のファイル・ハンドルがキャッシュ可能であると判断し
、動作は段階235に進行、する。段階235で、新旧
リストの終りにある項目が除去される。この項目はキャ
ッシュ中で最近はとんど使用しない即ち最も古い項目で
ある。段階236で、この項目はその特定の前後リスト
から除去される。段階267で段階230の探索中に使
用したノードid1ディレクトリ・ファイル・ハンドル
及び名前の値がハツシュ表中にハツシュされ、このハツ
シングの結果を使用してディレクトリ・キャッシュ・ハ
ツシュ表をインテックスし、指摘された前後リストを見
出す。段階238において、段階235中において得た
項目を段階237中で決定された前後リスト中に挿入し
、次にこの項目を段階230で得たノードid、デイレ
ク) IJ・ファイル・ハンドル及び名前の値並びに段
階233によって戻されたファイル・ハンドルで初期設
定する。段階238の後に、動作が終る。
クライエントで受取ったdfs fsアドバイスrp
eに応答してキャッシュから項目を除去する動作(4)
は次のように進行する。
eに応答してキャッシュから項目を除去する動作(4)
は次のように進行する。
/”dfsfsアドバイスrpsを受取ることにより
/ 新旧表中の各ディレクトリ・キャッシュ項目について、 もし項目がdfs fsアドバイスrpeの送り手の
ノードidと同じノードidを有するならば、 項目を新旧リストから除去して、項目を新旧リストの終
りに挿入し、 項目中のノードid値を0のノードidにセットする。
/ 新旧表中の各ディレクトリ・キャッシュ項目について、 もし項目がdfs fsアドバイスrpeの送り手の
ノードidと同じノードidを有するならば、 項目を新旧リストから除去して、項目を新旧リストの終
りに挿入し、 項目中のノードid値を0のノードidにセットする。
AIXシステム中のどの実際のノードも0のノードid
を有することはないので、ディレクトリ・キャッシュの
項目のノードidを0に初期設定することによって探索
中の項目との一致の成功が防止される。項目を新旧リス
トの終りに移動することによって、項目は新らしい値を
キャッシュすべき時に再使用可能になる。
を有することはないので、ディレクトリ・キャッシュの
項目のノードidを0に初期設定することによって探索
中の項目との一致の成功が防止される。項目を新旧リス
トの終りに移動することによって、項目は新らしい値を
キャッシュすべき時に再使用可能になる。
第16図を参照すると、本発明のブイレフ) IJ・キ
ャッシング技術に必要とされる動作を遂行する際のクラ
イエントの動作(4)の詳細な流れ図が示されている。
ャッシング技術に必要とされる動作を遂行する際のクラ
イエントの動作(4)の詳細な流れ図が示されている。
第16図に示した動作はクライエントがdfs fs
アドバイスrpeを受取る毎に実行される。
アドバイスrpeを受取る毎に実行される。
段階250において、新旧リストの始めの項目が見出さ
れる。この項目は第17図で最新と名前の付されたポイ
ンタによって指摘される。段階251において、新旧リ
スト中の次の項目へのポインタが保管される。リストの
終りでは、このポインタは空である。段階252におい
て、この項目が検査される。もし項目のノードidがd
fs fsアドレスrpeの送り手のノードidと同
じならば(除去すべきものならば)、段階256.25
4.255及び256に進む。そうでない時、即ちノー
ドidが異なる時は、段階257に進む。
れる。この項目は第17図で最新と名前の付されたポイ
ンタによって指摘される。段階251において、新旧リ
スト中の次の項目へのポインタが保管される。リストの
終りでは、このポインタは空である。段階252におい
て、この項目が検査される。もし項目のノードidがd
fs fsアドレスrpeの送り手のノードidと同
じならば(除去すべきものならば)、段階256.25
4.255及び256に進む。そうでない時、即ちノー
ドidが異なる時は、段階257に進む。
段階253で、この項目は新旧リストから除去される。
段階254でこの項目が属する前後リストから除去され
る。段階255でこの項目が新旧リストの終りに挿入さ
、れる。段階256でこの項目のノードidが0にセッ
トされる。段階253.254.255及び256はア
クティブなキャッシュの要素から項目を効果的に除去し
、項目を再使用に利用可能にする。勿論、新旧リストの
終りへの道を見出した項目は、この過程によってここに
置かれなかった場合でも再使用に利用可能となる。項目
は探索される各席に新旧リストの始めに移動するので、
最近はとんど使用されなかった項目だけがリストの終り
に移動する。
る。段階255でこの項目が新旧リストの終りに挿入さ
、れる。段階256でこの項目のノードidが0にセッ
トされる。段階253.254.255及び256はア
クティブなキャッシュの要素から項目を効果的に除去し
、項目を再使用に利用可能にする。勿論、新旧リストの
終りへの道を見出した項目は、この過程によってここに
置かれなかった場合でも再使用に利用可能となる。項目
は探索される各席に新旧リストの始めに移動するので、
最近はとんど使用されなかった項目だけがリストの終り
に移動する。
段階257において、段階251で保管されたポインタ
が検査される。もしこれが項目へのポインタならば(さ
らに項目があるので)、動作は段階258に進行する。
が検査される。もしこれが項目へのポインタならば(さ
らに項目があるので)、動作は段階258に進行する。
段階258で、この項目は検査を受けている現在の項目
となり、動作は段階251に戻って続けられる。もし段
階257で段階251で保管したポインタが空であるこ
とがわかると、リストの終りに到達しているので、動作
が終る。
となり、動作は段階251に戻って続けられる。もし段
階257で段階251で保管したポインタが空であるこ
とがわかると、リストの終りに到達しているので、動作
が終る。
遠隔ルックアップ中にクライエントの側でディレクトリ
・キャッシュを使用する動作(6)はディレクトリ・キ
ャッシュの探索を必要とする。この探索は次のように進
行する。
・キャッシュを使用する動作(6)はディレクトリ・キ
ャッシュの探索を必要とする。この探索は次のように進
行する。
/*探索はディレクトリへの■ノード・ポインタ、ディ
レクトリを含むノードのためのノードid及び経路の名
前の一部である名前を使用して開始する。
レクトリを含むノードのためのノードid及び経路の名
前の一部である名前を使用して開始する。
*/
ディレクトリのためのVノード・ポインタをフアイル・
ハンドルに変換する。ファイル・ハンドルは代理iノー
ド中にあり、代理iノードはVノード春ポインタによっ
て指摘されるVノード構造のメンバによって指摘される
。
ハンドルに変換する。ファイル・ハンドルは代理iノー
ド中にあり、代理iノードはVノード春ポインタによっ
て指摘されるVノード構造のメンバによって指摘される
。
ノードid1ディレクトリ・ファイル・ハンドル及び名
前を使用してディレクトリ・キャッシュ・ハツシュ表中
にハツシュする。
前を使用してディレクトリ・キャッシュ・ハツシュ表中
にハツシュする。
計算されたハツシュによってインデックスされたハツシ
ュ表の要素によって指摘される前後リスト上の各項目に
ついて、 もし項目中のノードid1ディレクトリeファイル・ハ
ンドル及び名前が探索しているこれ等と一致すると、 その項目中に発見されたファイル・ハンドルを戻す。
ュ表の要素によって指摘される前後リスト上の各項目に
ついて、 もし項目中のノードid1ディレクトリeファイル・ハ
ンドル及び名前が探索しているこれ等と一致すると、 その項目中に発見されたファイル・ハンドルを戻す。
/*この時点で一致が見出されないと、キャッシュ中に
は一致は存在しない。
は一致は存在しない。
*/
非発見を戻す。
第20図を参照すると、本発明のディレクトリ・キャッ
シング技術によって必要な探索動作の詳細な流れ図が示
されている。第20図の動作は第19図の動作である段
階260が遂行される度に遂行される。。
シング技術によって必要な探索動作の詳細な流れ図が示
されている。第20図の動作は第19図の動作である段
階260が遂行される度に遂行される。。
この動作はノードid1ディレクトリへのVノード・ポ
インタ及び名前(経路の名前の一部)によって開始する
。段階270で、ディレクトリへのVノード・ポインタ
はファイル・ハンドルに変換される。これはVノード・
ポインタによって指摘された構造を調べることによって
行われる。ファイル・ハンドルは代理iノード中にあり
、代理iノードはVノード・ポインタによって指摘され
るVノード構造のメンバによって指摘される。段階27
1において、ノードid、段階270において決定され
たディレクトリ・ファイル・ハンドル及び名前がハツシ
ュされる。段階272で、このハツシュ値はディレクト
リ・ハツシュ表中にインデックスして前後リストの1つ
へのポインタを得るのに使用される。この特定のハツシ
ュ値のための前後リストが存在しない場合には、ノ・ツ
シュ表中に見出される値は空である。
インタ及び名前(経路の名前の一部)によって開始する
。段階270で、ディレクトリへのVノード・ポインタ
はファイル・ハンドルに変換される。これはVノード・
ポインタによって指摘された構造を調べることによって
行われる。ファイル・ハンドルは代理iノード中にあり
、代理iノードはVノード・ポインタによって指摘され
るVノード構造のメンバによって指摘される。段階27
1において、ノードid、段階270において決定され
たディレクトリ・ファイル・ハンドル及び名前がハツシ
ュされる。段階272で、このハツシュ値はディレクト
リ・ハツシュ表中にインデックスして前後リストの1つ
へのポインタを得るのに使用される。この特定のハツシ
ュ値のための前後リストが存在しない場合には、ノ・ツ
シュ表中に見出される値は空である。
段階273で、段階272中もしくは段階275中に見
出されるその後の繰返しにおいて見出されるポインタが
検査され、すべての項目が処理されたかどうかが判断さ
れる。もしすべての項目が処理されていると、動作は一
致キャッシュ項目が見出されなかったという表示によっ
て終る。もし少なくとも、処理さるべき1つ以上の項目
が存在すると、即ちポインタが空でないと、処理は段階
274に進む。
出されるその後の繰返しにおいて見出されるポインタが
検査され、すべての項目が処理されたかどうかが判断さ
れる。もしすべての項目が処理されていると、動作は一
致キャッシュ項目が見出されなかったという表示によっ
て終る。もし少なくとも、処理さるべき1つ以上の項目
が存在すると、即ちポインタが空でないと、処理は段階
274に進む。
段階274において、項目が検査される。もしそのノー
ドid1ディレクトリ・ハンドル及び名前フィールドが
段階271中に存在される探索要求のこれ等と一致する
と、動作は終り項目中に見出されたファイル・ハンドル
が戻される。もし一致しないと、動作は段階275に進
む。段階275で、検査すべき次の項目へのポインタは
現在の項目の次と命名されたフィールドから得られる。
ドid1ディレクトリ・ハンドル及び名前フィールドが
段階271中に存在される探索要求のこれ等と一致する
と、動作は終り項目中に見出されたファイル・ハンドル
が戻される。もし一致しないと、動作は段階275に進
む。段階275で、検査すべき次の項目へのポインタは
現在の項目の次と命名されたフィールドから得られる。
勿論、リストの終りには、次の項目は存在しない。
このことは次の段階273で判断される。
ファイルはしばしば再命名され除去される。上述したば
かりの方法では、サーバーはこれ等の共通の動作の1つ
が発生するたびに、ディレクトリの項目をキャッシュす
るすべてのクライエントにdfs fsアドバイスr
psを送ることが要請される。このことはクライエント
・ノードがキャッシュされた情報の恩恵を長時間受けら
れないようにする。これ迄に説明された方法の増強はこ
の問題をなくする。
かりの方法では、サーバーはこれ等の共通の動作の1つ
が発生するたびに、ディレクトリの項目をキャッシュす
るすべてのクライエントにdfs fsアドバイスr
psを送ることが要請される。このことはクライエント
・ノードがキャッシュされた情報の恩恵を長時間受けら
れないようにする。これ迄に説明された方法の増強はこ
の問題をなくする。
この増強方法はクライエント・ディレクトリ・ファイル
・ハンドルだけをキャッシングし、非ディレクトリ(通
常)ファイル・ハンドルをキャッシングしないものであ
る。非ディレクトリ・ファイルはしばしば削除もしくは
再指名されるが、ディレクトリ・ファイルはめったに削
除もしくは再指名されない。クライエントでディレクト
リのファイルの名前だけをキャッシュし、サーバーのデ
ィレクトリが削除もしくは再指名される時にだけ、クラ
イエントにfsアドバイス台メツセージを送ることによ
って、クライエントはキャッシュされたデータの無効化
が生ずる前にキャッシュした情報から長時間恩恵をこう
むることができる。たとえば経路の名前” / a /
l) / cnに従っであるファイルに達すると、ク
ライエントはa″をその関連ファイル・ハンドルととも
にキャッシュし、Il bllをその関連ファイル・ハ
ンドルとともにキャッシュし、キャッシュ゛11はその
関連ファイル−ハンドルとともにキャッシュしない。通
常のファイルを指名する任意の経路の指名の最後の要素
をキャッシュしないことには否定的な効果もある。サー
バーのノード表情報はより細か(保持できる。補強手段
はサーバーのノード表中に各クライエントについてクラ
イエントがキャッシングするディレクトリのリストを保
持することである。
・ハンドルだけをキャッシングし、非ディレクトリ(通
常)ファイル・ハンドルをキャッシングしないものであ
る。非ディレクトリ・ファイルはしばしば削除もしくは
再指名されるが、ディレクトリ・ファイルはめったに削
除もしくは再指名されない。クライエントでディレクト
リのファイルの名前だけをキャッシュし、サーバーのデ
ィレクトリが削除もしくは再指名される時にだけ、クラ
イエントにfsアドバイス台メツセージを送ることによ
って、クライエントはキャッシュされたデータの無効化
が生ずる前にキャッシュした情報から長時間恩恵をこう
むることができる。たとえば経路の名前” / a /
l) / cnに従っであるファイルに達すると、ク
ライエントはa″をその関連ファイル・ハンドルととも
にキャッシュし、Il bllをその関連ファイル・ハ
ンドルとともにキャッシュし、キャッシュ゛11はその
関連ファイル−ハンドルとともにキャッシュしない。通
常のファイルを指名する任意の経路の指名の最後の要素
をキャッシュしないことには否定的な効果もある。サー
バーのノード表情報はより細か(保持できる。補強手段
はサーバーのノード表中に各クライエントについてクラ
イエントがキャッシングするディレクトリのリストを保
持することである。
次にサーバー中のディレクトリへの変更によって、df
s fsアドバイスrpsが変更されたディレクトリ
の項目をキャッシングする可能性のあるクライエントに
送られ、クライエントが受取ったdfsfsアドバイス
によって変更されたディレクトリに対するキャッシュ項
目だけが除去され、そのサーバーのだめの項目のすべて
は除去されない。
s fsアドバイスrpsが変更されたディレクトリ
の項目をキャッシングする可能性のあるクライエントに
送られ、クライエントが受取ったdfsfsアドバイス
によって変更されたディレクトリに対するキャッシュ項
目だけが除去され、そのサーバーのだめの項目のすべて
は除去されない。
F 発明の効果
本発明に従い、ネットワーク中のファイル・ディレクト
リの情報をキャッシュしてその有効性を保証し、変更が
なされない期間中はこの情報を不必要に又非効率的に更
新しない能力を与えることによってネットワーク中のフ
ァイル・ディレクトリをアクセスする際の動作効率が太
いに改善される。
リの情報をキャッシュしてその有効性を保証し、変更が
なされない期間中はこの情報を不必要に又非効率的に更
新しない能力を与えることによってネットワーク中のフ
ァイル・ディレクトリをアクセスする際の動作効率が太
いに改善される。
第1図は本発明に従う分散データ処理システムのブロッ
ク図である。第2図は本発明の方法を動作させるように
設計される従来の代表的な分散データ処理システムのブ
ロック図である。第3図は代表的な独立型プロセッサ・
システムのブロック図である。第4図はプロセッサ上で
走行しているアプリケーションによって読取りシステム
・コールが発せられる時にオペレーティング・システム
によって遂行される段階を示した流れ図である。 第5図は本発明を支援するオペレーティング・システム
によって遂行される局所ノードにおけるファイル動作に
至る経路に従うシナリオを示したデータ構造のブロック
図である。第6図及び第7図はオペレーティング・シス
テムによって遂行される時の、局所ノードにおけるマウ
ント・ファイル動作のためのシナリオの前及び後の条件
を示したデータ構造を示したブロック図である。第8図
は第1図に示した分散ファイル・システムのためのデー
タ構造のブロック図である。第9A図、第9B図、第9
C図、第9D図、第9E図、及び第9F図は第8図に示
したデータ構造に使用されている要素の部品の働きを示
すブロック図である。第10図、第11図及び第12図
はオペレーティング・システムによって遂行される時の
分散されるシステムの局所及び遠隔ノードにおけるマウ
ント・ファイル動作及び経路に従う動作のためのシナリ
オを示したデータ構造のブロック図である。第13図は
局所即ちクライエント・システムに存在する代表的なデ
ィレクトリ・ツリー構造の図である。第14図は第16
図のクライエント・ディレクトリ・ツリー構造及びクラ
イエント・システムによってアクセスするのに使用され
る遠隔即ちサーバーのディレクトリ・ツリー構造を示し
た図である。第15図は本発明の改良ディレクトリ・キ
ャッシング技術を使用するシステム中でディレクトリを
更新する際のサーバーにおける動作を示した流れ図であ
る。第16図は本発明の改良されたディレクトリ・キャ
ッシング技術を使用するシステム中の、dfs fs
アドバイスに応答するクライエントの動作を示した詳細
な流れ図である。第17図はディレクトリ・キャッシュ
の内容を探索するのに使用するハツシュ表技術を示した
図である。第18図は本発明の改良ディレクトリ・キャ
ッシング技術を使用したシステム中のdfgルックアッ
プrpe要求に応答するサーバーの動作の詳細な流れ図
である。第19図は本発明の改良ディレクトリ・キャッ
シング技術を使用するシステム中で遠隔ディレクトリ中
のファイルの名前をルックアップ中のクライエントの動
作の詳細な流れ図である。第20図は本発明のディレク
トリ・キャッシュの探索動作の詳細な流れ図である。 1・・・・分散ネットワーク・システム、2A1B。 C・・・・ディスク、6・・・・ネットワーク、4A、
B。 C・・・・アプリケーション、5・・・・ファイル、1
0A、B、C・・・・処理システム、IIA、BlC・
・・・オペレーティング・システム、12A、B、C・
・・・カーネル・バッファ、13A、BlC・・・・プ
ロセス。 フライ1ント vfs 局PFr/を隔 サーIぐ− −りねり− クライエニド 局所/を隔 サーノぐ− □第11図 局所/L クライエシト 廿−八“− 第12図
ク図である。第2図は本発明の方法を動作させるように
設計される従来の代表的な分散データ処理システムのブ
ロック図である。第3図は代表的な独立型プロセッサ・
システムのブロック図である。第4図はプロセッサ上で
走行しているアプリケーションによって読取りシステム
・コールが発せられる時にオペレーティング・システム
によって遂行される段階を示した流れ図である。 第5図は本発明を支援するオペレーティング・システム
によって遂行される局所ノードにおけるファイル動作に
至る経路に従うシナリオを示したデータ構造のブロック
図である。第6図及び第7図はオペレーティング・シス
テムによって遂行される時の、局所ノードにおけるマウ
ント・ファイル動作のためのシナリオの前及び後の条件
を示したデータ構造を示したブロック図である。第8図
は第1図に示した分散ファイル・システムのためのデー
タ構造のブロック図である。第9A図、第9B図、第9
C図、第9D図、第9E図、及び第9F図は第8図に示
したデータ構造に使用されている要素の部品の働きを示
すブロック図である。第10図、第11図及び第12図
はオペレーティング・システムによって遂行される時の
分散されるシステムの局所及び遠隔ノードにおけるマウ
ント・ファイル動作及び経路に従う動作のためのシナリ
オを示したデータ構造のブロック図である。第13図は
局所即ちクライエント・システムに存在する代表的なデ
ィレクトリ・ツリー構造の図である。第14図は第16
図のクライエント・ディレクトリ・ツリー構造及びクラ
イエント・システムによってアクセスするのに使用され
る遠隔即ちサーバーのディレクトリ・ツリー構造を示し
た図である。第15図は本発明の改良ディレクトリ・キ
ャッシング技術を使用するシステム中でディレクトリを
更新する際のサーバーにおける動作を示した流れ図であ
る。第16図は本発明の改良されたディレクトリ・キャ
ッシング技術を使用するシステム中の、dfs fs
アドバイスに応答するクライエントの動作を示した詳細
な流れ図である。第17図はディレクトリ・キャッシュ
の内容を探索するのに使用するハツシュ表技術を示した
図である。第18図は本発明の改良ディレクトリ・キャ
ッシング技術を使用したシステム中のdfgルックアッ
プrpe要求に応答するサーバーの動作の詳細な流れ図
である。第19図は本発明の改良ディレクトリ・キャッ
シング技術を使用するシステム中で遠隔ディレクトリ中
のファイルの名前をルックアップ中のクライエントの動
作の詳細な流れ図である。第20図は本発明のディレク
トリ・キャッシュの探索動作の詳細な流れ図である。 1・・・・分散ネットワーク・システム、2A1B。 C・・・・ディスク、6・・・・ネットワーク、4A、
B。 C・・・・アプリケーション、5・・・・ファイル、1
0A、B、C・・・・処理システム、IIA、BlC・
・・・オペレーティング・システム、12A、B、C・
・・・カーネル・バッファ、13A、BlC・・・・プ
ロセス。 フライ1ント vfs 局PFr/を隔 サーIぐ− −りねり− クライエニド 局所/を隔 サーノぐ− □第11図 局所/L クライエシト 廿−八“− 第12図
Claims (1)
- 【特許請求の範囲】 第1のシステムによる第2のシステムのディレクトリ構
造に関する質問に応答して上記第1のシステムが上記第
2のシステムのディレクトリ経路情報の第1の単位を保
管するデータ処理システムのネットワークのためのディ
レクトリのキヤッシング方法において、 上記第2のシステム中のディレクトリ構造のその後の変
更に応答して、上記第2のシステムから上記第1のシス
テムに自動的に通知を送る段階を有する、 データ処理システム・ネットワークのためのキヤッシン
グ方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US014889 | 1987-02-13 | ||
| US07/014,889 US5151989A (en) | 1987-02-13 | 1987-02-13 | Directory cache management in a distributed data processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63201743A true JPS63201743A (ja) | 1988-08-19 |
| JPH0564811B2 JPH0564811B2 (ja) | 1993-09-16 |
Family
ID=21768380
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62277574A Granted JPS63201743A (ja) | 1987-02-13 | 1987-11-04 | データ処理システム・ネットワークのためのキャッシング方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5151989A (ja) |
| EP (1) | EP0278472B1 (ja) |
| JP (1) | JPS63201743A (ja) |
| BR (1) | BR8800330A (ja) |
| DE (1) | DE3853727T2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02266461A (ja) * | 1989-04-05 | 1990-10-31 | Nec Corp | データ引き渡し装置 |
| JPH02309445A (ja) * | 1989-05-15 | 1990-12-25 | Internatl Business Mach Corp <Ibm> | データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品 |
| JPH05504428A (ja) * | 1989-08-01 | 1993-07-08 | シリコン・グラフィックス,インコーポレイテッド | コンピュータオペレーティング及びファイル管理システム用ファイル変更モニタ |
| US6467026B2 (en) | 1999-07-23 | 2002-10-15 | Hitachi, Ltd. | Web cache memory device and browser apparatus utilizing the same |
| JP2008503817A (ja) * | 2004-06-24 | 2008-02-07 | シンビアン ソフトウェア リミテッド | コンピュータ・デバイスにおけるファイル管理 |
Families Citing this family (139)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1337132C (en) | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
| EP0463874A2 (en) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Cache arrangement for file system in digital data processing system |
| US5333318A (en) * | 1990-09-27 | 1994-07-26 | Motorola, Inc. | Creating and searching a quad linked list in a trunked communication system |
| US5237680A (en) * | 1990-09-27 | 1993-08-17 | Sun Microsystems, Inc. | Method for incremental rename propagation between hierarchical file name spaces |
| US5301286A (en) * | 1991-01-02 | 1994-04-05 | At&T Bell Laboratories | Memory archiving indexing arrangement |
| JP3602857B2 (ja) * | 1991-04-23 | 2004-12-15 | 株式会社日立製作所 | 多機種対応型情報処理システム、および、方法 |
| US5331673A (en) * | 1992-03-30 | 1994-07-19 | International Business Machines Corporation | Integrity of data objects used to maintain state information for shared data at a local complex |
| US5528490A (en) * | 1992-04-10 | 1996-06-18 | Charles E. Hill & Associates, Inc. | Electronic catalog system and method |
| US5568612A (en) * | 1992-11-18 | 1996-10-22 | Canon Kabushiki Kaisha | Method and apparatus for advertising services of two network servers from a single network node |
| US5454102A (en) * | 1993-01-19 | 1995-09-26 | Canon Information Systems, Inc. | Method and apparatus for transferring structured data using a self-generating node network |
| US5325527A (en) * | 1993-01-19 | 1994-06-28 | Canon Information Systems, Inc. | Client/server communication system utilizing a self-generating nodal network |
| WO1994018634A1 (en) * | 1993-02-01 | 1994-08-18 | Lsc, Inc. | Archiving file system for data servers in a distributed network environment |
| US5493728A (en) * | 1993-02-19 | 1996-02-20 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
| US5737536A (en) * | 1993-02-19 | 1998-04-07 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
| JPH06290096A (ja) * | 1993-03-31 | 1994-10-18 | Matsushita Electric Ind Co Ltd | パス名解決装置 |
| US5535116A (en) * | 1993-05-18 | 1996-07-09 | Stanford University | Flat cache-only multi-processor architectures |
| US5630116A (en) * | 1993-08-11 | 1997-05-13 | Nec Corporation | Automatic delivery system for master files in a distributed processing system |
| US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| US5604882A (en) * | 1993-08-27 | 1997-02-18 | International Business Machines Corporation | System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system |
| US5689700A (en) * | 1993-12-29 | 1997-11-18 | Microsoft Corporation | Unification of directory service with file system services |
| US5572729A (en) * | 1994-01-11 | 1996-11-05 | Sun Microsystems, Inc. | Method for stateless rename propagation between hierarchical file name spaces |
| US5588147A (en) * | 1994-01-14 | 1996-12-24 | Microsoft Corporation | Replication facility |
| US6119151A (en) * | 1994-03-07 | 2000-09-12 | International Business Machines Corp. | System and method for efficient cache management in a distributed file system |
| USRE44685E1 (en) * | 1994-04-28 | 2013-12-31 | Opentv, Inc. | Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system |
| US5659682A (en) * | 1994-06-16 | 1997-08-19 | International Business Machines Corporation | Scheme to determine completion of directory operations for server recovery |
| GB2294132A (en) * | 1994-10-10 | 1996-04-17 | Marconi Gec Ltd | Data communication network |
| US6128648A (en) * | 1994-11-23 | 2000-10-03 | International Business Machines Corporation | Information handling system and method for maintaining coherency between network servers and mobile terminals |
| US5644768A (en) * | 1994-12-09 | 1997-07-01 | Borland International, Inc. | Systems and methods for sharing resources in a multi-user environment |
| US5586291A (en) * | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
| US5608865A (en) * | 1995-03-14 | 1997-03-04 | Network Integrity, Inc. | Stand-in Computer file server providing fast recovery from computer file server failures |
| US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
| US5956712A (en) * | 1995-06-07 | 1999-09-21 | International Business Machines Corporation | Byte range locking in a distributed environment |
| US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
| US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
| US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
| DE69615565T2 (de) * | 1995-07-20 | 2002-07-11 | Novell, Inc. | Transaktionssynchronisierung in einem netz abtrennbarer rechner |
| CA2227431C (en) | 1995-07-20 | 2001-05-15 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
| US5918224A (en) * | 1995-07-26 | 1999-06-29 | Borland International, Inc. | Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server |
| US5826253A (en) * | 1995-07-26 | 1998-10-20 | Borland International, Inc. | Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients |
| US5778383A (en) * | 1995-08-08 | 1998-07-07 | Apple Computer, Inc. | System for dynamically caching and constructing software resource tables |
| US5956509A (en) | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
| JP3738787B2 (ja) * | 1995-10-19 | 2006-01-25 | 富士ゼロックス株式会社 | 資源管理装置及び資源管理方法 |
| US5860153A (en) * | 1995-11-22 | 1999-01-12 | Sun Microsystems, Inc. | Memory efficient directory coherency maintenance |
| US6012085A (en) * | 1995-11-30 | 2000-01-04 | Stampede Technolgies, Inc. | Apparatus and method for increased data access in a network file object oriented caching system |
| US6122637A (en) * | 1995-11-30 | 2000-09-19 | Yohe; Thomas Patrick | Apparatus and method for increased data access in an object oriented caching system |
| US5742817A (en) * | 1995-12-08 | 1998-04-21 | Emc Corporation | Method and apparatus for file server addressing |
| US5870542A (en) * | 1995-12-28 | 1999-02-09 | Sterling Commerce, Inc. | Security apparatus and method for a data processing system |
| US5864854A (en) * | 1996-01-05 | 1999-01-26 | Lsi Logic Corporation | System and method for maintaining a shared cache look-up table |
| US5873084A (en) * | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
| US5870605A (en) * | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
| JPH09282289A (ja) * | 1996-02-15 | 1997-10-31 | Hitachi Ltd | ネットワーク・システム |
| US5794232A (en) * | 1996-03-15 | 1998-08-11 | Novell, Inc. | Catalog services for distributed directories |
| US5970471A (en) * | 1996-03-22 | 1999-10-19 | Charles E. Hill & Associates, Inc. | Virtual catalog and product presentation method and apparatus |
| US5999946A (en) | 1996-04-10 | 1999-12-07 | Harris Corporation | Databases in telecommunications |
| US6625641B1 (en) * | 1996-06-03 | 2003-09-23 | Sun Microsystems, Inc. | Method and apparatus for providing client support without installation of server software |
| US5864837A (en) * | 1996-06-12 | 1999-01-26 | Unisys Corporation | Methods and apparatus for efficient caching in a distributed environment |
| US6412017B1 (en) | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
| US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
| US5832499A (en) * | 1996-07-10 | 1998-11-03 | Survivors Of The Shoah Visual History Foundation | Digital library system |
| US5905978A (en) * | 1996-07-15 | 1999-05-18 | Unisys Corporation | Window size determination using fuzzy logic |
| US5878434A (en) * | 1996-07-18 | 1999-03-02 | Novell, Inc | Transaction clash management in a disconnectable computer and network |
| FI101847B1 (fi) * | 1996-09-19 | 1998-08-31 | Nokia Telecommunications Oy | Menetelmä tilaajatietokannan käsittelemiseksi puhelinkeskuksessa |
| US6662205B1 (en) | 1996-10-01 | 2003-12-09 | International Business Machines Corporation | Scaleable and extensible system management architecture with dataless endpoints |
| US6138141A (en) * | 1996-10-18 | 2000-10-24 | At&T Corp | Server to client cache protocol for improved web performance |
| US6049809A (en) * | 1996-10-30 | 2000-04-11 | Microsoft Corporation | Replication optimization system and method |
| US5802600A (en) * | 1996-11-12 | 1998-09-01 | International Business Machines Corporation | Method and apparatus for determining a desirable directory/data block ratio in a cache memory |
| US5875444A (en) * | 1996-12-10 | 1999-02-23 | International Business Machines Corporation | Computer file system check and repair utility |
| US5950198A (en) * | 1997-03-24 | 1999-09-07 | Novell, Inc. | Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers |
| 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 |
| US6016508A (en) | 1997-07-02 | 2000-01-18 | Microsoft Corporation | Server-determined client refresh periods for dynamic directory services |
| US6006331A (en) | 1997-07-29 | 1999-12-21 | Microsoft Corporation | Recovery of online sessions for dynamic directory services |
| US6078952A (en) * | 1997-08-01 | 2000-06-20 | International Business Machines Corporation | Method and apparatus for maintaining directory services for a video transmission network |
| US6157942A (en) * | 1997-08-13 | 2000-12-05 | Microsoft Corporation | Imprecise caching of directory download responses for dynamic directory services |
| US6247139B1 (en) | 1997-11-11 | 2001-06-12 | Compaq Computer Corp. | Filesystem failover in a single system image environment |
| US6249879B1 (en) * | 1997-11-11 | 2001-06-19 | Compaq Computer Corp. | Root filesystem failover in a single system image environment |
| US6799224B1 (en) | 1998-03-10 | 2004-09-28 | Quad Research | High speed fault tolerant mass storage network information server |
| US6247017B1 (en) * | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
| US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
| US6260155B1 (en) | 1998-05-01 | 2001-07-10 | Quad Research | Network information server |
| US6604236B1 (en) | 1998-06-30 | 2003-08-05 | Iora, Ltd. | System and method for generating file updates for files stored on read-only media |
| US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
| EP0993163A1 (en) | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | Distributed client-based data caching system and method |
| US6185612B1 (en) | 1998-10-29 | 2001-02-06 | Novell, Inc. | Secure distribution and use of weighted network topology information |
| US6353831B1 (en) | 1998-11-02 | 2002-03-05 | Survivors Of The Shoah Visual History Foundation | Digital library system |
| US7283991B1 (en) * | 1999-03-11 | 2007-10-16 | Microsoft Corporation | Caching system for path search optimization |
| US7620620B1 (en) | 1999-08-05 | 2009-11-17 | Oracle International Corporation | Basing directory contents on a query that is associated with a file identifier |
| US6535970B1 (en) * | 2000-01-04 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for enhanced performance caching for path names |
| US7412462B2 (en) * | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
| US7028251B2 (en) * | 2000-03-02 | 2006-04-11 | Iora, Ltd. | System and method for reducing the size of data difference representations |
| EP1277180A2 (en) * | 2000-04-24 | 2003-01-22 | Visa International Service Association | Online payer authentication service |
| US7421541B2 (en) * | 2000-05-12 | 2008-09-02 | Oracle International Corporation | Version management of cached permissions metadata |
| US7263476B1 (en) * | 2000-06-12 | 2007-08-28 | Quad Research | High speed information processing and mass storage system and method, particularly for information and application servers |
| US7058691B1 (en) | 2000-06-12 | 2006-06-06 | Trustees Of Princeton University | System for wireless push and pull based services |
| US7373654B1 (en) * | 2000-07-20 | 2008-05-13 | International Business Machines Corporation | System, apparatus and method for updating security configurations of a plurality of servers from a centralized directory server |
| US7024476B1 (en) * | 2000-09-13 | 2006-04-04 | Canon Kabushiki Kaisha | Directory-enabled device management |
| US6625591B1 (en) * | 2000-09-29 | 2003-09-23 | Emc Corporation | Very efficient in-memory representation of large file system directories |
| KR100695303B1 (ko) * | 2000-10-31 | 2007-03-14 | 삼성전자주식회사 | 제어 신호부 및 그 제조 방법과 이를 포함하는 액정 표시장치 및 그 제조 방법 |
| US6725444B2 (en) * | 2000-12-14 | 2004-04-20 | Communication Technologies, Inc. | System and method for programmable removal of sensitive information from computing systems |
| US6990493B1 (en) * | 2000-12-22 | 2006-01-24 | Emc Corporation | File access system |
| EP1217805A1 (en) * | 2000-12-22 | 2002-06-26 | Sun Microsystems, Inc. | Method and apparatus for replacing data transmission request expressions |
| US20020107835A1 (en) * | 2001-02-08 | 2002-08-08 | Coram Michael T. | System and method for adaptive result set caching |
| US6970892B2 (en) * | 2001-02-16 | 2005-11-29 | Stratus Technologies Bermuda Ltd | Implementing standards-based file operations in proprietary operating systems |
| US20040205587A1 (en) * | 2001-08-07 | 2004-10-14 | Draper Stephen P.W. | System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable |
| US20030033303A1 (en) * | 2001-08-07 | 2003-02-13 | Brian Collins | System and method for restricting access to secured data |
| EP1320035A1 (en) * | 2001-12-11 | 2003-06-18 | Thomson Licensing S.A. | Storage device cache management |
| JP4154893B2 (ja) * | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
| US7065558B2 (en) * | 2002-02-22 | 2006-06-20 | Microsoft Corporation | Opportunistic directory cache and method of serving target directory information in a network environment |
| WO2004012379A2 (en) * | 2002-07-30 | 2004-02-05 | Deepfile Corporation | Method and apparatus for managing file systems and file-based data storage |
| US7805449B1 (en) | 2004-10-28 | 2010-09-28 | Stored IQ | System, method and apparatus for enterprise policy management |
| US8612404B2 (en) * | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
| US8417678B2 (en) | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
| US7287046B2 (en) * | 2002-09-30 | 2007-10-23 | Emc Corporation | Method and system of compacting sparse directories in a file system |
| US20050015557A1 (en) * | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
| US8229932B2 (en) * | 2003-09-04 | 2012-07-24 | Oracle International Corporation | Storing XML documents efficiently in an RDBMS |
| US7472254B2 (en) * | 2003-10-10 | 2008-12-30 | Iora, Ltd. | Systems and methods for modifying a set of data objects |
| US7324995B2 (en) * | 2003-11-17 | 2008-01-29 | Rackable Systems Inc. | Method for retrieving and modifying data elements on a shared medium |
| US20050108300A1 (en) * | 2003-11-17 | 2005-05-19 | Terrascale Technologies Inc. | Method for the management of local client cache buffers in a clustered computer environment |
| US7844582B1 (en) | 2004-10-28 | 2010-11-30 | Stored IQ | System and method for involving users in object management |
| US8510331B1 (en) | 2004-10-28 | 2013-08-13 | Storediq, Inc. | System and method for a desktop agent for use in managing file systems |
| US7904906B2 (en) * | 2004-11-23 | 2011-03-08 | Stratus Technologies Bermuda Ltd. | Tracking modified pages on a computer system |
| US7627547B2 (en) * | 2004-11-29 | 2009-12-01 | Oracle International Corporation | Processing path-based database operations |
| US8949455B2 (en) * | 2005-11-21 | 2015-02-03 | Oracle International Corporation | Path-caching mechanism to improve performance of path-related operations in a repository |
| US7769719B2 (en) * | 2006-01-05 | 2010-08-03 | International Business Machines Corporation | File system dump/restore by node numbering |
| US20070203877A1 (en) * | 2006-02-28 | 2007-08-30 | Fujie Qu | Intermediate cache utility for file system access |
| US8615635B2 (en) * | 2007-01-05 | 2013-12-24 | Sony Corporation | Database management methodology |
| US7844710B2 (en) * | 2007-02-27 | 2010-11-30 | Novell, Inc. | Proxy caching for directory services |
| JP4907605B2 (ja) * | 2007-06-25 | 2012-04-04 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム |
| US8156164B2 (en) * | 2007-07-11 | 2012-04-10 | International Business Machines Corporation | Concurrent directory update in a cluster file system |
| JP5076736B2 (ja) * | 2007-08-27 | 2012-11-21 | 日本電気株式会社 | 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム |
| US8326802B2 (en) * | 2009-06-11 | 2012-12-04 | International Business Machines Corporation | File system location verification using a sentinel |
| US8489654B2 (en) * | 2009-08-28 | 2013-07-16 | Beijing Innovation Works Technology Company Limited | Method and system for forming a virtual file system at a computing device |
| US8943019B1 (en) * | 2011-04-13 | 2015-01-27 | Symantec Corporation | Lookup optimization during online file system migration |
| US9552367B2 (en) | 2011-09-16 | 2017-01-24 | Ca, Inc. | System and method for network file system server replication using reverse path lookup |
| US8301597B1 (en) | 2011-09-16 | 2012-10-30 | Ca, Inc. | System and method for network file system server replication using reverse path lookup |
| 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 |
| US9646091B2 (en) * | 2014-02-24 | 2017-05-09 | Futurewei Technologies, Inc. | File joining on back end device |
| US10095704B2 (en) * | 2014-08-26 | 2018-10-09 | Ctera Networks, Ltd. | Method and system for routing data flows in a cloud storage system |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
| DE3581000D1 (de) * | 1984-05-19 | 1991-02-07 | British Aerospace | Industrielle verarbeitungs- und herstellungsverfahren. |
-
1987
- 1987-02-13 US US07/014,889 patent/US5151989A/en not_active Expired - Lifetime
- 1987-11-04 JP JP62277574A patent/JPS63201743A/ja active Granted
-
1988
- 1988-01-28 BR BR8800330A patent/BR8800330A/pt not_active Application Discontinuation
- 1988-02-09 DE DE3853727T patent/DE3853727T2/de not_active Expired - Fee Related
- 1988-02-09 EP EP88101854A patent/EP0278472B1/en not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| COMMUNICATIONS OF ACM=1986 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02266461A (ja) * | 1989-04-05 | 1990-10-31 | Nec Corp | データ引き渡し装置 |
| JPH02309445A (ja) * | 1989-05-15 | 1990-12-25 | Internatl Business Mach Corp <Ibm> | データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品 |
| JPH05504428A (ja) * | 1989-08-01 | 1993-07-08 | シリコン・グラフィックス,インコーポレイテッド | コンピュータオペレーティング及びファイル管理システム用ファイル変更モニタ |
| US6467026B2 (en) | 1999-07-23 | 2002-10-15 | Hitachi, Ltd. | Web cache memory device and browser apparatus utilizing the same |
| JP2008503817A (ja) * | 2004-06-24 | 2008-02-07 | シンビアン ソフトウェア リミテッド | コンピュータ・デバイスにおけるファイル管理 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE3853727D1 (de) | 1995-06-14 |
| DE3853727T2 (de) | 1996-01-25 |
| EP0278472A3 (en) | 1990-09-26 |
| BR8800330A (pt) | 1988-09-13 |
| US5151989A (en) | 1992-09-29 |
| EP0278472B1 (en) | 1995-05-10 |
| JPH0564811B2 (ja) | 1993-09-16 |
| EP0278472A2 (en) | 1988-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS63201743A (ja) | データ処理システム・ネットワークのためのキャッシング方法 | |
| US11086531B2 (en) | Scaling events for hosting hierarchical data structures | |
| US11297031B2 (en) | Hierarchical namespace service with distributed name resolution caching and synchronization | |
| US7822711B1 (en) | Conflict resolution for a distributed file sharing system | |
| CN106874383B (zh) | 一种分布式文件系统元数据的解耦合分布方法 | |
| EP0398494B1 (en) | Maintenance of file attributes in a distributed data processing system | |
| US5519855A (en) | Summary catalogs | |
| CN102239476B (zh) | 用于存储集群的共享名称空间 | |
| US7035931B1 (en) | Volume location service for a distributed file system | |
| EP0926608B1 (en) | Distributed persistent storage for intermittently connected clients | |
| US8407256B2 (en) | Arrangement for a distributed file system having data objects mapped independent of any data object attribute | |
| US7747682B2 (en) | Multiple storage class distributed nametags for locating items in a distributed computing system | |
| US6339793B1 (en) | Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems | |
| US7409397B2 (en) | Supporting replication among a plurality of file operation servers | |
| EP2035916A2 (en) | A method and system for federated resource discovery service in distributed systems | |
| US7433928B1 (en) | System pre-allocating data object replicas for a distributed file sharing system | |
| CN118535579B (zh) | 一种基于对象存储系统的数据处理方法和装置 | |
| US20030115202A1 (en) | System and method for processing a request using multiple database units | |
| JPH0668733B2 (ja) | データ処理システム及び方法 | |
| Zhou | The design and implementation of the Berkeley Internet Name Domain (BIND) servers | |
| HK40051859B (en) | Data archiving method, device, equipment and storage medium | |
| Neto | Geo-Replicated Buckets: An Optrimistic Geo-Replicated Shim for Key-Value Store |