JP3041528B2 - フアイル・システム・モジュール - Google Patents

フアイル・システム・モジュール

Info

Publication number
JP3041528B2
JP3041528B2 JP2042723A JP4272390A JP3041528B2 JP 3041528 B2 JP3041528 B2 JP 3041528B2 JP 2042723 A JP2042723 A JP 2042723A JP 4272390 A JP4272390 A JP 4272390A JP 3041528 B2 JP3041528 B2 JP 3041528B2
Authority
JP
Japan
Prior art keywords
file
layer
directory
files
file system
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.)
Expired - Fee Related
Application number
JP2042723A
Other languages
English (en)
Other versions
JPH02249043A (ja
Inventor
デビッド・ヘンドリクス
エバン・アダムス
トム・リヨン
テレンス・シイ・ミラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH02249043A publication Critical patent/JPH02249043A/ja
Application granted granted Critical
Publication of JP3041528B2 publication Critical patent/JP3041528B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、たとえばUNIXオペレーテイング・システム
環境において使用されるような階層形フアイル構造を用
いているコンピユータ・システムに関する。
〔発明の背景〕
現在市販されているコンピユータ・システムは、低コ
ストのマイクロプロセツサ・パーソナル・コンピユータ
から複雑で高価格の本体系コンピユータまで、価格と複
雑さに関して分類される。しかし、コンピユータ・シス
テムは、同様の基本的コンポーネント、すなわちコンピ
ユータ演算の実行を制御する少なくとも1つの中央処理
装置(CPU)、コンピユータ・システムへの情報の入力
およびシステムからの情報の出力を制御する入力/出力
装置、およびコンピユータ演算を行なうためCPUが使用
する情報を記憶するメモリすなわち記憶場所を含んでい
ると言つてもよい。
CPUは、所定のコンピユータ演算がどのように行なわ
れるべきかを指令するオペレーテイング・システムによ
り制御される。オペレーテイング・システムの一部に、
コンピユータ・システムにおけるフアイル構造を決定し
かつ制御するフアイル・システム・モジユールがある。
使用されているあるタイプのフアイル構造は、階層形
フアイル構造と呼ばれている。階層形フアイル構造にお
いて、フアイルは、“ルート”と呼ばれる単一ルート・
ノードで開始する木状構造に構成されている。1つ以上
のノードはルートに接続され、かつ1つ以上のノード
は、各ノードに接続されている。フアイル・システム構
造の各ノン・リーフ・ノードは、すなわち、それに接続
されていない他のノードを有するノードは、フアイルの
登録簿であり、木のリーフ・ノードにおけるフアイル
は、登録簿、レギユラ・フアイル、またはデイバイス・
フアイルのような特殊な種類のフアイルのいずれかであ
る。
特定の階層形のフアイル・システムにおいて、フアイ
ルの名前は、フアイルをシステム階層においてどのよう
に配置するかを示している経路名である。経路名は、
“/"で分けられた一連のコンポーネント名である。全経
路名は“/"記号で開始し、かつフアイル・システムのル
ートで開始しフアイルの木を経由しさらに連続する経路
に通じている枝をたどることによりフアイルが見つけら
れることを明記している。たとえば、経路名/usr/src/c
md/two.cは、第1図のボツクスに示されているような経
路をたどつて、図示の木の参照番号5で示されたtwo.c
フアイルを指定している。
ソフトウエアの開発環境において、様々なコンピユー
タのプログラマは、単一のプログラムについて、または
互いに関係し共に動作する一群のプログラムについて同
時に仕事をしていることがある。最も短時間で仕事が完
了するよう、仕事を同時に行なうことが非常に要求され
ている。代表的には、ソフトウエアの各プログラマは、
プログラマが携わつているフアイル構造の一部にそれら
フアイルのコピーを作り、かつプログラマの目標を達成
するため、それら特定のコピーについて仕事をする。し
たがつて、プロダクトが20のプログラムから成つている
場合、各プログラマは、プログラマのユーザ領域にそれ
ら20のプログラムのコピーを有している。
この構成における問題点は、各プログラマは、1つの
フアイルについて仕事をするためには、通常、大量のフ
アイルを用いて仕事をしなければならないことである。
したがつて、これらフアイルの複数コピーが、システム
の多くの場所に存在しているので、大量のデイスク・メ
モリ空間が要求されかつ配置の複雑性とフアイルの識別
が増すことになる。さらに、見のがしたり、または古い
バージヨンのプログラムとプログラムの現在のバージヨ
ンを取り違えたりしやすい。たとえば、一人のプログラ
マが、5月の改訂(revision)日を有しているプログラ
ムのある部分について仕事をし、かつ二人目のプログラ
マが、6月の改訂日を有しているプログラムについて仕
事をしている。いずれかのプログラマによる変更は、異
なるバージヨンに含まれ、プログラマにより開発された
新しいソフトウエアを組み込むため、コードは、コード
の最後のバージヨンに含まれなければならず、これは反
復性でやつかいな作業である。
〔発明の概要〕
したがつて、本発明の目的は、フアイル構造を含みか
つ専用フアイル階層および共用フアイル階層から成るコ
ンピユータ・システムを提供することである。専用階層
は、専用ユーザだけが改変したフアイルを含んでいる。
本発明の他の目的は、ユーザがフアイルを変えようと
する場合、共用フアイルが専用ユーザ・フアイルに自動
的に書き込まれるコンピユータ・システムを提供するこ
とである。
本発明の別の目的は、フアイル構造におけるフアイル
の位置に関係なく、共通名によりフアイルをアクセスす
ることができるコンピユータ・システムを提供すること
である。
本発明の更に別の目的は、フアイル登録簿が共用およ
び専用フアイルの両方を含んでいるコンピユータ・シス
テムを提供することである。
本発明のコンピユータ・システムにおいて、オペレー
テイング・システムは、コンピユータ・システムのユー
ザがフアイル階層を共用するとともに、専用フアイル階
層も有することができるようにする透明フアイル・シス
テム・モジユール(TFS)を有し、共用階層からのフア
イルは、それらが変えられる場合のみ専用階層にコピー
される(この特徴は“コピー・オン・ライト”手続きと
呼ばれる)。書き込みは、専用階層においてのみ行なわ
れる。したがつて、共用階層におけるフアイルは絶対に
変化されないので、各ユーザは、他の人により変化され
ないようになつている。更に、フアイルは、それらが変
化される場合だけコピーされ、変化されるまで、共用フ
アイルが使用される。その結果、かなりのデイスク空間
を節約することができる。
TFSにより見ることができる登録簿は、単一の登録簿
としてユーザに現れるが、実際には多くの層に存在して
いる登録簿のフアイルに関するリストから成つている。
各層は物理登録簿で、それら層は探索リンクと呼ばれて
いるリンクにより結合されている。各層は、それに関連
した探索リンクを有し、それはその後の次の層の登録簿
名を含んでいる。TFSにより見ることができる最初の層
は前面層で、この層から探索リンクをたどることにより
見つけられる層は、前面層の後にある“後面層”とみな
せる。もし同じフアイルが正面の層にあつて、後面層の
フアイルを覆うようなことがなければ、フアイルは後面
層から見える。そのため、前面層は半透明すなわち選択
的に透明であると言える。
以下、添付の図面に基いて、本発明の実施例に関し説
明する。
〔実施例〕
本発明のシステムにおいて、フアイル・システムは、
共用フアイル階層と専用階層をユーザに供給し、ユーザ
により編集された共用フアイルがユーザの専用階層に自
動的にコピーされる透明フアイル・システム・モジユー
ル(TFS)から成る。TFSモジユールにより、探索リンク
は、各登録簿に関し形成されている。登録簿に関する探
索リンクは、登録簿とともに層に記憶されたポインタを
有し、ポインタは、登録簿の後の次の層に存在する次の
登録簿を示す。したがつて、フアイルは、探索リンクに
より識別された層を調べることにより、正面層の後にあ
る登録簿または層からアクセスされることができる。
物理層は、1つのコンピユータ・システムにおけるメ
モリまたは記憶装置の1つの場所に、またはコンピユー
タ・ネツトワークにより相互に結合された複数のコンピ
ユータ・システムに位置する複数の場所に配置されてい
る。ユーザまたはプロセスがフアイルをアクセスするた
びに、TFSモジユールにより、フアイルの最も新しいバ
ージヨンがアクセスのため提供される。さらに、ユーザ
が登録簿のリストを要求した場合、TFSモジユールによ
り、登録簿のリストがデイスプレイされ、探索リンクに
より相互に結合された登録簿の間で見つけられたフアイ
ルの最も新しいバージヨンだけをリストする。リストさ
れたフアイルは、別々の後面層に位置する共用フアイル
か、または前面層に位置しユーザにとつて専用の専用フ
アイルである。
階層形フアイル構造を使用しているオペレーテイング
・システムの1つには、ベル研究所が最初に開発したUN
IX(UNIXはAT&Tの登録商標である)オペレーテイング
・システムがある。本実施例は、UNIXオペレーテイング
・システムの環境について述べているが、本発明のシス
テムは、階層形フアイル構造を使用している他のオペレ
ーテイング・システムにも適用し得ることは明白であろ
う。
UNIXベースド・システムにおいて、オペレーテイング
・システムは、ハードウエアと直接的に相互作用し、プ
ログラムに対して共通のサービスを供給しかつ特定のコ
ンピユータ・システムのハードウエアの特殊性からソフ
トウエアおよびユーザを切り離す。一組の層としてシス
テムを見れば、オペレーテイング・システムは、一般に
“システム・カーネル”または、ただ“カーネル”と呼
ばれ、ユーザのプログラムからの切り離しを強める。プ
ログラムは、基本的ハードウエアに関係ないので、異な
るハードウエアで動作しているUNIXシステム間でプログ
ラムを移動することは簡単である。カーネル内に位置す
るUNIXフアイル・システムはフアイル構造を構成してい
る。
カーネルは、第2図に示されており、第2図は、3つ
のレベル、すなわちユーザ/プログラム・カーネル,ハ
ードウエアを示している。システム呼出しおよびライブ
ラリ・インタフエイスはプログラムおよびカーネル間の
境界すなわちインタフエイスを表している。システム呼
出しは、フアイル・システムとインタフエイスするシス
テム呼出しと、プロセス制御システムと相互作用するシ
ステム呼出しとに分割される。プロセス制御システム
は、プロセス同期、インタプロセス通信、メモリ管理、
およびプロセス・スケジユーリングに対して応答可能で
ある。フアイル・システムは、フアイルを管理し、フア
イル・スペースを割り当て、フリー・スペースを管理
し、フアイルのアクセスを制御し、さらにユーザとプロ
グラムに関してデータを検索する。
第3(a)図に示されたシステムは、本発明のシステ
ムの一実施例を示している。カーネル60は、ユーザ・レ
ベル70においてユーザ/プログラムにインタフエイス
し、かつハードウエア・レベル80においてハードウエア
にインタフエイスしている。フアイル・システムは、フ
アイル・システム・コマンドを受信しかつアクセスされ
るべき現在の登録簿がTFS登録簿であるかどうかを決定
するフアイル・システム・インタフエイス90を有してい
る。これは、フアイル・システム・インタフエイス90に
よりアクセス可能な表またはフアイルを記憶することに
より達成されることが望ましく、インタフエイス90は、
TFSモジユールを介してアクセスされるべきフアイル・
システムまたはそれらの登録簿を識別する。
UNIXベースド・システムの1つには、カリフオルニア
州マウンテン・ビユー所在のサン・マイクロシステムズ
社製のSUNOS(サン・オペレーテイング・システム)が
ある。このオペレーテイング・システムは、最も新しい
バージヨンにネツトワーク・フアイル・システム(以
後、NFS)を含んでいる。なお、NFSについては、サン・
マイクロシステムズ社により公開された、サンドバーグ
他による「サン・ネツトワーク・フアイル・システムの
設計およびインプリメンテーシヨン」と題する論文に記
載されている。バーチヤル・フアイル・システム(以
後、VFS)は、NFSに関連している。VFSは、SUNOSカーネ
ル内の複数のフアイル・システムを調節するためのフア
イル・インタフエイス・アーキテクチユアである。特
に、VFSは、4.2BSDフアイル・システムのようなローカ
ル・デイスク・フアイル・システムや、NFSのようなス
テートレス・リモート・フアイル・システムや、AT&T
のRFSのようなステートフル・リモート・フアイル・シ
ステムや、またはMSDOSのような非UNIXフアイル・シス
テムをサポートするフアイル・システム・インタフエイ
スを供給する。なお、VFSについては、サン・マイクロ
システムズ社により公開されたエア・アール・クレイン
マンによる「Vノード;サンUNIXにおけるマルチ・フア
イル・システム・タイプのアーキテクチュア」と題する
論文に示されている。
VFSにより、異なるマウント・データを必要とする異
なるフアイル・システムをマウントすることができる。
これを行なうには、システム・マウント・コマンドを使
用して、フアイル・システム・タイプ、マウント・ポイ
ントである登録簿、マウントされるべき登録簿、“読み
取り専用”のような様々な総称フラツグ、およびフアイ
ル・システムの特別なタイプのデータのポインタを供給
する。マウント・システム・コマンドは、そのフアイル
・システム・タイプの1つとして、TFSを受け入れる。
したがつて、フアイル・システムは、登録簿またはフ
アイル・システムがマウントされる時、ユーザにより
“TFSタイプ”であると識別される。“マウント”コマ
ンドは、経路名位置(たとえば、“/usr/src")により
識別されるフアイル・システム階層に、命名されたフア
イル・システムを取りつける。たとえば、第1フアイル
・システム“/aaa/bbb/ccc"が第2フアイル・システム
“/usr/src"にマウントされる場合、その結果できたフ
アイル・システムは、“/usr/src/aaa/bbb/ccc"から成
る。取りつけられるべきフアイル・システムのこの経路
名は、TFSシステムの最も前の書き込み可能登録簿を表
す経路名である。
現在の登録簿がTFS登録簿である場合、実行されるど
の登録簿コマンドもTFSモジュール95を介して実行され
る。そうでなければ、コマンドは、以後“総称フアイル
・システム・モジユール"120として示される非TFSモジ
ユールにより実行される。コマンドが、TFSモジユール
・システム95を介して実行されるものであるならば、TF
Sサーバ・プロセス(ユーザ・プログラム)の制御の下
でTFSモジユールは、適切なコマンドをハードウエア制
御システム110に供給してハードウエア100にコマンドを
実行させる総称フアイル・システム・モジュール120を
介して要求を行なう。フアイルを読み取る、または登録
簿のリストを供給するといつたコマンドを受けると、TF
Sモジユール・システム95は、フアイル・システムにお
ける複数層に位置するフアイルの最も新しいバージヨン
をアクセスするため、指定された登録簿からの探索リン
クおよびTFSフアイル・システムに関して特別の他の特
徴を使用する。
第3(b)図は、カーネルに関する修正を最少にする
本発明の第2の実施例を示している。この実施例におい
て、TFSフアイル・システム・モジユールは、サーバと
してフアイル・システム・インタフエイスに接続したネ
ツトワーク・フアイル・システム・モジユール(NFS)
のような先にあるフアイル・システム・モジユールに接
続している。NFSモジユールは、それが結合されているN
FSサーバにコマンドを送る。TFSのために、TFSモジユー
ルは、フアイル・サーバである。したがつて、システム
・コマンドは、TFSモジユールに送られる。NFSモジユー
ルを動作するコマンドが既にカーネルにあるので、TFS
がNFSサーバとして働く時、カーネルは修正されなくて
もよい。このように、TFSフアイル・システムに関連し
たコマンドは、最初にNFSモジユールに送られ、ここで
それらは、TFSモジユールにより実行されるよう進めら
れる。その後、TFSモジユールは、前述した方法で層登
録簿を供給する。
本発明のいずれの実施例においても、ユーザは、1つ
しか専用の前面層を有していない。前面層に関する登録
簿の名は、マウント時間において指定され、TFSサーバ
・プロセスに送られる。TFSサーバ・プロセスは、層の
残りを決定するため、指定された前面層から探索リンク
をたどる。探索リンクは、SUNOSに関するネツトワーク
・ソフトウエア環境におけるソフトウエア・コマンド
“取得する(acquire)”および“保存する”により最
初に確立され、他のコマンドは他のシステムにおいて使
用されることは明らかである。これらコマンドは、ユー
ザがフアイルを最初に見る時に使用され、次の後面層を
示す。
本実施例において述べたように、フアイル・システム
の探索リンクは、登録簿に関連したフアイルにあり、か
つ特定の登録簿の後の層に関する次の後面登録簿を識別
する。実際、登録簿はそれを示している探索リンクによ
り後面層に存在していると指定される。探索リンクが確
立されると、その後面登録簿におけるフアイルは、TFS
サーバ・プロセスにより読み取り専用として指定され
る。各登録簿の探索リンクがその登録簿に関連したフア
イルに配置されていると示されているが、フアイル・シ
ステム全体の探索リンクは、フアイル・システムのルー
ト登録簿のような中央位置に位置する単一フアイルに配
置されていてもよい。探索リンクは、後面層に位置する
共用フアイルの登録簿を識別する。フアイルは、探索リ
ンクが確立されているので、簡単に“共用”に指定され
る。
TFSモジユールが、“特定のフアイルをリストする”
のような実行されるべきコマンドを受けとると、デフオ
ルトにより前面であるとコマンドで識別されたTFS登録
簿は、要求されたフアイルが前面層に位置しているかど
うかを決定するよう最初に調べられる。フアイルが前面
層に位置していない場合、TFSモジユールは、探索リン
クを含んでいるフアイルを読み取り、かつ探索リンクで
識別された登録簿のフアイルを調べる。このプロセス
は、探索リンクにより識別された最後の登録簿が読み取
られるまで、すなわちフアイルが見つかるまで継続す
る。要求されたフアイルが見つかると、それは、たとえ
フアイルが前面層の後の多くの層の後面層に位置してい
ても、それがユーザの現在の登録簿すなわち前面層に位
置していた場合と同様の方法でユーザに識別される。多
くの層または登録簿を探索するこの全オペレーシヨン
は、ユーザに対して透明である。
第4図は、フアイルone.c,フアイルtwo.c,フアイルth
ree.cの異なるバージヨンを含んでいる探索リンク40,45
により接続された3つの層10,20,30を示している。層30
は、専用層で、それらフアイルのユーザに関する最も新
しいバージヨンを示しているフアイルone.c3およびフア
イルthree.c1を含んでいる。フアイルone.c3およびフア
イルtwo.c1は、ユーザがフアイルを作つたかまたはフア
イルの共用バージヨンを修正したかを示している専用フ
アイルである。専用層30のすぐ後の層は、層20である。
これは、one.c3の初期のバージヨンであるフアイルone.
c2を含んでいる。フアイルone.c2は、ユーザが修正した
か、またはフアイルに書き込んだ場合、層30に自動的に
コピーされる。共用層10は、探索リンク40により後の層
20に接続される。共用層10は、one.c2の初期のバージヨ
ンであるフアイルone.c1とフアイルtwo.c1を含んでい
る。本発明のTFSモジユールを使用して、その結果得ら
れたフアイル構造、すなわちユーザが見ることができか
つアクセスできるフアイル構造は、単一の登録簿で、単
一の層は、フアイルone.c3,two.c1,three.c1を含んでい
る。第4(b)図において、フアイルone.c3およびthre
e.c1は専用層30から編成され、かつフアイルtwo.c1は共
用後面層10から編成されている。このように、システム
のユーザは複数層の複雑性の影響を受けないようにされ
ている。さらに、後面層に位置する共用フアイルは、ユ
ーザがフアイルを修正しようとする時、ユーザの専用前
面層にフアイルを自動的にコピーするコピー・オン・ラ
イト特性によりユーザが修正できないように保護されて
いる。
後面層が読み取り専用で、専用層が読み取りおよび書
き込みアクセス可能である唯一の層なので、フアイル
は、専用層から削除されるだけである。しかし、ユーザ
が後面層に位置しているあるフアイルを必要としないな
らば、ユーザは、“ホワイト・アウト(white out)”
機能によりそれらフアイルを効果的に削除することがで
きる。ホワイト・アウト機能により、ユーザが彼の登録
簿を再び見る時にデイスプレイされるはずのフアイル
が、覆われてユーザには見えない。すなわちアクセスで
きない。ホワイト・アウト・エントリがリストされるフ
アイルが供給される。このフアイルは、フアイル・シス
テム演算が実行される時、特定のフアイルが覆われる。
すなわち“ホワイト・アウト”されるかどうかを決定す
るため、TFSモジユールにより参照される。フアイル・
システムのホワイト・アウト・エントリは、フアイル・
システムのルート登録簿における単一フアイルに記憶さ
れる。選択的に、登録簿のホワイト・アウト・エントリ
を含んでいるフアイルは、各登録簿に記憶されるか、ま
たはホワイト・アウト・エントリは、探索リンクを含ん
でいる同じフアイルに組み込まれる。本実施例におい
て、ホワイト・アウト・コマンドを受けるフアイルをリ
ストしかつ特定のフアイルのホワイト・アウト表示を除
去するコマンドが含まれている。
本発明のシステムの他の実施例では、条件付き探索リ
ンクが設けられている。条件付き探索リンクは、2つ以
上の登録簿を示すことができ、示された登録簿は、使用
されるバリアントに依存している。この結果を得るた
め、各探索リンクは、探索リンクのバリアントがあるこ
とを示す一連の文字を供給する。使用に際し、TFSモジ
ユールは、マウント・コマンドにおいて与えられるフア
イル・システム指定からどのバリアントを使用するかを
決定し、ストリングは、適切な探索リンクを読み取つ
て、次の後面層の名を生じるよう、TFSモジユールによ
り適切なバリアント名を取り換えられる。
これら条件付き探索リンクは、各バージヨンが、同じ
ソース・コードからそれ自身のオプジエクト・コードを
コンパイルすることができるので、オペレーテイング・
システムの異なるバージヨンに関して多くの同じソース
・フアイルが使用される場合に特に有用である。
第5図は、2つの異なるハードウエア・アーキテクチ
ユアにおいて使用される2つのバリアントsys3,sys4が
示されている。ここには、さらに2つの改訂(revisio
n)すなわち改訂1,2が示されており、各改訂は、sys3,s
ys4のバリアントのそれぞれに関するバリアント層と2
つのバリアントの間で共用される層210を有している。s
ys3,sys4バリアントは、探索リンクで改訂2の210の共
用層に至る改訂2の200,205の層を有している。共用層2
10は、Sview Rev1の条件付き探索リンク215を有してい
る。本実施例において、“Sview"は、条件付き探索リン
クに使用される表示である。ユーザがsys3バリアントを
見る場合、この条件付き探索リンクはsys3改訂1の層22
0を示し、かつユーザがsys4バリアントを見る場合、探
索リンクは、sys4改訂1の層225を示す。sys3,sys4改訂
の層220,225は、改訂1の層240に関する共用層に至る規
則的、すなわち無条件探索リンク230,235を有してい
る。条件付き探索リンクと共用層により、フアイルは異
なるバリアントにより共用されることができるので、共
用層におけるソース・フアイルは、sys3,sys4バリアン
トにおいて見ることができる。
したがつて、特定のバリアントである前面層にフアイ
ルをコピーするように、1つのバリアントで演算してい
るユーザが共用層からのソース・フアイルを修正するの
を阻止するように保護されている。このことが起きる
と、ソース・フアイルは、ソース・フアイルの最も新し
いバージヨンが、特定のバリアントであるユーザの前面
層にあるのでもはや共用されず、またバリアント間で共
用される層にはもはや存在しない。したがつて、ソース
・フアイルの最も新しいバージヨンは、それが修正され
る場合でも共用層に存在することが望ましい。この特徴
は、副層から成る前面層、共用副層、各バリアントに関
する副層を供給することによつて達成される。このよう
に、共用またはバリアント副層に関して行なわれた修正
は、特定の副層において保持される。フアイルが2つの
前面副層のいずれかにおいて見つけられた場合、フアイ
ルはその副層において修正される。第6図には、このこ
とが示されている。前面層である改訂2の共用層におけ
るフアイルone.cが、sys3バリアントの下で演算してい
るユーザにより修正される場合、フアイルは改訂2のバ
リアント副層210にはコピーされず、そのかわりにフア
イルは改訂2の共用副層205に残る。さらに、フアイル
が作られる場合、それは、フアイル名が共用副層に現れ
なければ、前面バリアント副層に作られ、それによつて
フアイルは前面共用副層に作られる。副層の保存は、後
面層の書き込み機能でコピーに対して同様に行なわれ、
修正されるべきフアイルが後面層の共用副層において見
つけられた場合、そのフアイルは前面層の共用副層にコ
ピーされる。修正されるべきフアイルがバリアント副層
において見つけられた場合、それは前面層のバリアント
副層にコピーされる。
たとえば、第6図に示すように、改訂1の共用層220
におけるフアイルtwo.c215が修正される場合、それは改
訂2の205の共用副層にコピーされる。しかし、フアイ
ルtwo.oが修正される場合、それは改訂2の210のバリア
ント副層にコピーされる。このように、たつた1つの前
面書き込み可能層しか存在しないが、層は共用バリアン
ト副層を表している複数の副層から成つている。
ここに示した本発明における問題の1つは、後面層の
数が増すにつれ、最後の後面層に到達するまで多くの登
録簿と探索リンク・フアイルを読み取る必要がある登録
簿の内容をリストするような、フアイル・システム機能
を実施するのに、探索リンクの数と時間がかかることで
ある。したがつて、本発明のシステムの他の実施例にお
いては、フアイル捜し出しおよび登録簿読み取り機能を
促進するのに、“バツク・フアイル”のようなフアイル
捜し出しキヤツシユが使用されている。
多層フアイル・システムに関する演算を実行するのに
必要な演算の数や時間を最少にするため、バツク・フア
イルが使用されている。登録簿バツク・フアイルは、フ
アイルが見つけられる後面層の経路名とフアイル・シス
テムにおける全ての読み取り専用フアイルのリストを含
んでいる。このように、登録簿を読み取るには、TFSシ
ステムは、フアイル・システムにおけるフアイルの実際
の位置や名前を決定するため、前面層の登録簿エントリ
と前面層に位置するその登録簿のバツク・フアイルを読
み取るだけでよい。さらに後面層に位置するフアイル
は、単にバツク・フアイルにより位置を決定することに
よつて直接的にアクセスすることができる。バツク・フ
アイルは、それが読み取り専用であるので、すなわち一
旦フアイルが後面層に配置されるとそれは後面層に残つ
て後面層のフアイルは変化できないため、常に正確であ
る。
バツク・フアイルは、ユーザがTFSにおいてフアイル
を捜す場合またはTFS登録簿を読み取る場合に、TFSプロ
セス・サーバにより書き込まれる。その時、登録簿に関
するバツク・フアイルが存在しない場合、1つ作られ
る。通常、前面層の新しいバツク・フアイルを構成する
のに使用することができる次の後面層の登録簿に関する
バツク・フアイルがあるので、これは簡単なプロセスで
ある。このように、通常、読み取り専用フアイルの残り
の位置を、第1読み取り専用層におけるバツク・フアイ
ルから決定することができるので、第1読み取り専用層
の内容だけを読み取ればよい。
本発明について、実施例に関して説明してきたが、特
許請求の範囲に基いて様々に改変し得ることは、当業者
には明白であろう。
【図面の簡単な説明】
第1図は階層形フアイル・システム構造を示し、第2図
はUNIXベースド・コンピユータ・システムのブロツク
図、第3(a)図は本発明のシステムの一実施例におけ
るTFSモジユール・システムの位置を示したブロツク
図、第3(b)図は本発明のシステムの他の実施例にお
けるTFSモジユール・システムの位置を示したブロツク
図、第4(a),(b)図は本発明のシステムによりユ
ーザが見ることができる結果構造および階層形フアイル
・システムを示し、第5図は共用層と様々な層を含んで
いる本発明のシステムの一実施例を使用している階層形
フアイル・システムを示し、第6図は第4図に関して述
べた本発明のシステムの別の実施例を示している。 10,20,30……層、40,45……探索リンク、60……カーネ
ル、70……ユーザ・レベル、80……ハードウエア・レベ
ル、90……フアイル・システム・インタフエイス、95…
…TFSモジユール、100……ハードウエア、110……ハー
ドウエア制御システム、120……総称フアイル・システ
ム・モジユール、215,230,235……探索リンク。
フロントページの続き (72)発明者 エバン・アダムス アメリカ合衆国・94577 カリフオルニ ア州・サン リーンドロ・エスチュデイ ロ アヴエニユウ・643 (72)発明者 トム・リヨン アメリカ合衆国・94301 カリフオルニ ア州・パロ アルト・フルトン ストリ ート・234 (72)発明者 テレンス・シイ・ミラー アメリカ合衆国・94025 カリフオルニ ア州・メンロ パーク・オーク コー ト・169 (56)参考文献 特開 昭62−125445(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置(CPU)と入出力装置とメモ
    リを備え、前記CPUがオペレーティング・システムによ
    って制御され、前記オペレーティング・システムが、コ
    ンピュータ・システム内のディスク上にあるファイルへ
    のアクセスを編成しかつ制御するファイル・システム・
    モジュールを含み、前記ファイル・システム・モジュー
    ルが、階層ファイル構造に編成されたファイルを含む登
    録簿を含むファイル・システムにファイルを編成するマ
    ルチユーザ・コンピュータ・システムにおいて、 指定されたファイル階層を、各層が少なくとも1つの登
    録簿を含む2つ以上の層に構造化するステップと、 指定されたファイル階層の2つ以上の層が生成時間順に
    配置されて、指定されたファイル階層内のファイルのよ
    り古い改訂版を含む層が、同じファイルのより新しい改
    訂版を含む層の下に配置されるようになされた、任意の
    数のユーザによって共用できる順序付きの1組の共用層
    を生成するステップと、 各前面層内にあるファイルが、特定のユーザのみが特定
    のユーザの前面層内のファイルから読み取りまたファイ
    ルに書き込むことができるように指定され、各前面層が
    指定されたファイル階層の順序付きの1組の共用層の前
    に配置される、それぞれ少なくとも1つの登録簿を含
    み、それぞれシステムの特定のユーザによって制御され
    かつシステムの他のユーザと共用されない1つまたは複
    数の前面層を設けるステップと、 これらのファイルが特定のユーザの前面層の登録簿にあ
    るか、それとも順序付きの1組の共用層の登録簿にある
    かに関わらず、すべてのファイルが特定のユーザの前面
    登録簿にあるかのように、ファイルの最も新しい改訂版
    を特定のユーザに表示するステップと を含む、ファイルの現在の改訂版への共用アクセスなら
    びに専用アクセスをユーザに提供する方法。
  2. 【請求項2】順序付きの1組の共用層を生成する上記ス
    テップは、更に、順序付きの1組の共用層のうち特定の
    層を該特定の層の下方にある1つの層に探索リンクによ
    って接続する第1の接続工程を有すると共に、1つまた
    は複数の前面層を設ける上記ステップは、更に、1つま
    たは複数の前面層のそれぞれを順序付きの1組の共用層
    の最上層に探索リンクを使用して接続する第2の接続工
    程を有し、上記探索リンクは各層の登録簿と協働すると
    共に探索リンクが位置している層の後方にある層の登録
    簿の経路名称を有し、この経路名称はファイルシステム
    内の登録簿の場所を表示している請求項1記載の方法。
  3. 【請求項3】特定のユーザガ指定されたファイルへの書
    込みコマンドを実行しようと試みた場合に、指定された
    ファイルを順序付きの1組の共用層のうちの1層から特
    定のユーザの前面層へ自動的にコピーし、それによりコ
    ピー操作または指定されたファイルの修正されたコピー
    の位置が特定のユーザにわからないように、特定のユー
    ザの前面層内の指定されたファイルのコピーが、コピー
    操作をトリガした書込みコマンドに従って修正されるス
    テップをさらに含む、請求項1に記載の方法。
  4. 【請求項4】1つまたは複数の前面層と順序付きの1組
    の共用層を探索リンクを介して接続するステップは、新
    たな層が生成された場合に上記の探索リンクを形成する
    付加的ステップを有する請求項2の方法。
  5. 【請求項5】中央処理装置(CPU)と入出力装置とメモ
    リを備え、前記CPUがオペレーティング・システムによ
    って制御され、前記オペレーティング・システムが、コ
    ンピュータ・システム内のディスク上にあるファイルへ
    のアクセスを編成かつ制御するファイル・システム・モ
    ジュールを含み、前記ファイル・システム・モジュール
    が、ファイルを含む登録簿と階層ファイル構造に編成さ
    れたファイルとを含むファイル・システムにファイルを
    編成するマルチユーザ・コンピュータ・システムにおい
    て、 指定されたファイル階層を、各層が少なくとも1つの登
    録簿を含む2つ以上の層に構造化する編成手段と、 指定されたファイル階層の2つ以上の層が生成時間順に
    配置されて、指定されたファイル階層内のファイルのよ
    り古い改訂版を含む層が、同じファイルのより新しい改
    訂版を含む層の下に配置されるようになされた、任意の
    数のユーザによって共用できる順序付きの1組の共用層
    を生成する順序付け手段と、 各前面層内にあるファイルが、特定のユーザのみが特定
    のユーザの前面層内のファイルから読み取りまたファイ
    ルに書き込みできるように指定され、各前面層が指定さ
    れたファイル階層の順序付きの1組の共用層の前に配置
    される、それぞれ少なくと1つの登録簿を含み、それぞ
    れシステムの特定のユーザによって制御されかつシステ
    ムの他のユーザと共用されない1つまたは複数の前面層
    を設ける第1の成層手段と、 これらのファイルが特定のユーザの前面層内の登録簿に
    あるか、それとも順序付きの1組の共用層の登録簿にあ
    るかに関わらず、すべてのファイルが特定のユーザの前
    面登録簿内にあるかのように、ファイルの最も新しい改
    訂版を特定のユーザに表示する表示手段と を含む、ファイル・システム・モジュールと協働する半
    透明のファイル・システム・モジュール。
  6. 【請求項6】順序付きの1組の共用層を生成する上記順
    序付け手段は、更に、順序付きの1組の共用層のうち特
    定の層を該特定の層の下方にある1つの層に探索リンク
    によって接続し、且つ1つまたは複数の前面層のそれぞ
    れを順序付きの1組の共用層の最上層に探索リンクを使
    用して接続する接続手段を有し、上記探索リンクは各層
    の登録簿内に位置しており、且つ探索リンクファイルが
    位置する層の背後の層の登録簿の経路名称を有し、この
    経路名称は不透明ファイルシステム内の登録簿の場所を
    表示している請求項5記載の不透明ファイル・システム
    ・モジュール。
  7. 【請求項7】特定のユーザが指定されたファイルへの書
    込みコマンドを実行しようと試みた場合に、指定された
    ファイルを順序付きの1組の共用層のうちの1層から特
    定のユーザの前面層へ自動的にコピーし、それによりコ
    ピー操作または指定されたファイルの修正されたコピー
    の位置が特定のユーザにわからないように、特定のユー
    ザの前面層内の指定されたファイルのコピーが、コピー
    操作をトリガした書込みコマンドに従って修正されるコ
    ピー手段をさらに含む、請求項5に記載の半透明のファ
    イル・システム・モジュール。
  8. 【請求項8】コマンドが透過的ファイル・システム・モ
    ジュールによって実行されるように、ファイル・システ
    ム・モジュールからの指定されたファイル階層に対する
    任意のファイル・システム・コマンドを透過的ファイル
    ・システム・モジュールに送る経路指定手段をさらに含
    む、請求項5に記載の半透明のファイル・システム・モ
    ジュール。
  9. 【請求項9】登録簿に含まれるファイルの別形のタイプ
    に従って登録簿を識別する指定手段と、 アクセスすべきファイルの別形のタイプを識別する識別
    手段を含み、特定のユーザの前面層登録簿を介して、特
    定のユーザによって要求された別形タイプによって識別
    される登録簿内にあるファイルへのアクセスが特定のユ
    ーザに与えられる、1つまたは複数の前面層の少なくと
    も1つの登録簿内および順序付きの1組の共用層内にあ
    るファイルにアクセスするアクセス手段と をさらに含む、請求項5に記載の半透明なファイル・シ
    ステム・モジュール。
  10. 【請求項10】ファイル・システム・モジュールはコン
    ピュータ・ネットワークを介して相互に接続している複
    数のコンピュータ・システムの中に存在し、これによっ
    てファイル・システムの異なる部分がコンピュータ・ネ
    ットワークを介して相互に接続した異なるコンピュータ
    ・システムに設けられている請求項5記載の不透明ファ
    イル・システム・モジュール。
  11. 【請求項11】特定のユーザによるその特定のユーザの
    前面層からのアクセスが許可されない、順序付きの1組
    の共用層のうちの1層内の不要なファイルを識別する、
    ホワイトアウト・ファイルを特定のユーザの前面層内で
    確立するマーク付け手段と、 ホワイトアウト・ファイルを読み取り、ファイル・シス
    テムに関する任意の操作を実行した際に、ホワイトアウ
    ト・ファイルを含む層から見たときまたはホワイトアウ
    ト・ファイルを含む層より上の層から見たときに、マス
    クされた不要なファイルが、システムの特定のユーザに
    見えないように、ホワイトアウト・ファイルにリストさ
    れた不要なファイルをマスクアウトする読み取り手段と
    を 含んでいて、不要なファイルが順序付きの1組の共用層
    を共用する他者からアクセスできるように、不要なファ
    イルを削除せずに、順序付きの1組の共用層内にある不
    要なファイルへのアクセスをなくすマスキング手段を、
    さらに備える、請求項5に記載の半透明のファイル・シ
    ステム・モジュール。
  12. 【請求項12】1つまたは複数の前面層のそれぞれと順
    序付きの1組の共用層とを探索リンクを介して接続する
    前記接続手段は、新しい層が生成された時上記のような
    探索リンクを形成する手段を有する請求項6記載の不透
    明ファイル・システム・モジュール。
  13. 【請求項13】探索リンクファイルは各層の少なくとも
    1つの登録簿内に位置しており、この探索リンクファイ
    ルは次の後面層にある登録簿に含まれるバリアントタイ
    プのファイルを表示するバリアント形名称と希望のバリ
    アントタイプのファイルを含む次の後面層内に位置する
    登録簿の場所を示す経路名称を有する請求項9記載の不
    透明ファイル・システム・モジュール。
  14. 【請求項14】特定のユーザの前面層と順序付きの1組
    の共用層にアクセスするアクセス手段は、更に、指定さ
    れたファイル階層についてファイル・システム・モジュ
    ールからのファイル・システム命令を不透明ファイル・
    システム・モジュールに送る手段を有し、これによって
    上記命令が不透明ファイル・システム・モジュールを介
    して実行される請求項13記載の不透明ファイル・システ
    ム・モジュール。
  15. 【請求項15】1又は複数の前面層のそれぞれは、少な
    くとも第1および第2の副層を有し、この第1の副層は
    バリアントタイプによって表示されないファイル群の登
    録簿を具備し、上記第2の副層はバリアントタイプによ
    って表示されるファイル群の登録簿を有する請求項14記
    載の不透明ファイル・システム・モジュール。
  16. 【請求項16】特定のユーザが順序付きの1組の共用層
    の1つの層にある選択されたファイルを必要とした場合
    にこの選択されたファイルを特定のユーザの前面層に自
    動的にコピーし、且つバリアントタイプによって表示さ
    れない選択された層群をバリアントタイプで表示されて
    ない副層の登録簿にコピーし、更にバリアントタイプで
    表示されるファイルをバリアントタイプによって表示さ
    れる副層の登録簿にコピーするコピー手段を有する請求
    項15記載の不透明ファイル・システム・モジュール。
JP2042723A 1989-02-24 1990-02-26 フアイル・システム・モジュール Expired - Fee Related JP3041528B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31528789A 1989-02-24 1989-02-24
US315,287 1989-02-24

Publications (2)

Publication Number Publication Date
JPH02249043A JPH02249043A (ja) 1990-10-04
JP3041528B2 true JP3041528B2 (ja) 2000-05-15

Family

ID=23223726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2042723A Expired - Fee Related JP3041528B2 (ja) 1989-02-24 1990-02-26 フアイル・システム・モジュール

Country Status (3)

Country Link
US (1) US5313646A (ja)
JP (1) JP3041528B2 (ja)
CA (1) CA1323448C (ja)

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
EP0930566A3 (en) 1992-07-06 2006-07-05 Microsoft Corporation Method and system for composing objects
US6286013B1 (en) 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
CA2120461C (en) * 1993-04-01 2009-09-22 Aaron R. Reynolds Common name space for long and short filenames
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
JPH0721034A (ja) * 1993-06-28 1995-01-24 Fujitsu Ltd 文字列複写処理方法
US5530849A (en) * 1993-08-16 1996-06-25 Cornell Research Foundation, Inc. Method of reading dynamic, hierarchical file system directories
BE1007551A3 (nl) * 1993-09-24 1995-08-01 Philips Electronics Nv Werkwijze voor het in een rekenmachine automatisch herstellen van consistentie in een hierarchische objektstruktuur na een interaktie door een gebruiker en rekenmachine voorzien van zo een systeem voor automatische consistentieherstelling.
US5588147A (en) * 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
US5483652A (en) * 1994-01-24 1996-01-09 Digital Equipment Corporation Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment
JPH07302236A (ja) * 1994-05-06 1995-11-14 Hitachi Ltd 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法
US5680609A (en) * 1994-06-10 1997-10-21 Intel Corporation Method and apparatus for synchronizing file deletions in computer systems
US5603019A (en) * 1994-07-25 1997-02-11 International Business Machines Corporation Takeover technique for networked virtual filesystems
US5701463A (en) * 1994-09-09 1997-12-23 Cheyenne Advanced Technology Limited Method of replacing the identity of a file with another as part of a file open request in a computer system
JP2912840B2 (ja) * 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5745752A (en) * 1994-12-13 1998-04-28 Microsoft Corporation Dual namespace client having long and short filenames
US5566328A (en) * 1995-01-23 1996-10-15 Tandem Computers Incorporated Reconstructing directory pathnames from file handles in a computer system
US5930831A (en) * 1995-02-23 1999-07-27 Powerquest Corporation Partition manipulation architecture supporting multiple file systems
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US6108759A (en) * 1995-02-23 2000-08-22 Powerquest Corporation Manipulation of partitions holding advanced file systems
US5978577A (en) * 1995-03-17 1999-11-02 Csg Systems, Inc. Method and apparatus for transaction processing in a distributed database system
US5826254A (en) * 1995-04-18 1998-10-20 Digital Equipment Corporation System for selectively browsing a large, distributed directory tree using authentication links
US5644736A (en) * 1995-05-25 1997-07-01 International Business Machines Corporation System and method for selecting components of a hierarchical file structure
JP3335801B2 (ja) * 1995-07-05 2002-10-21 株式会社日立製作所 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
US5758334A (en) * 1995-07-05 1998-05-26 International Business Machines Corporation File system remount operation with selectable access modes that saves knowledge of the volume path and does not interrupt an executing process upon changing modes
US5805899A (en) * 1995-07-06 1998-09-08 Sun Microsystems, Inc. Method and apparatus for internal versioning of objects using a mapfile
WO1997004389A1 (en) * 1995-07-20 1997-02-06 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US6192365B1 (en) 1995-07-20 2001-02-20 Novell, Inc. Transaction log management in a disconnectable computer and network
US5678015A (en) * 1995-09-01 1997-10-14 Silicon Graphics, Inc. Four-dimensional graphical user interface
US5668958A (en) * 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5701458A (en) * 1995-09-20 1997-12-23 International Business Machines Corporation System and method for managing arbitrary subsets of access control lists in a computer network
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
GB2311392B (en) * 1996-03-22 1998-03-04 Digital Equipment Corp A method of maintaining information in a memory of a computer system
US5946490A (en) * 1996-03-22 1999-08-31 Northeastern University Automata-theoretic approach compiler for adaptive software
US6601091B1 (en) * 1996-03-28 2003-07-29 Networks Associates Technology, Inc. Method for improving the perceived performance of a computer system
US5968152A (en) * 1996-04-10 1999-10-19 Apple Computer, Inc. Method and apparatus for extending key space in a plug and play ROM
US5974410A (en) * 1996-06-28 1999-10-26 Microsoft Corporation Method and system for filtering in a uniform data interface
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5878434A (en) * 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
AU5365998A (en) 1996-11-27 1998-06-22 1 Vision Software, L.L.C. File directory and file navigation system
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6401099B1 (en) 1996-12-06 2002-06-04 Microsoft Corporation Asynchronous binding of named objects
US6148294A (en) * 1996-12-20 2000-11-14 Siemens Information And Communication Networks, Inc. System and method for computer directory updating and presentation based on frequency of access
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
US5924102A (en) * 1997-05-07 1999-07-13 International Business Machines Corporation System and method for managing critical files
US5905990A (en) * 1997-06-23 1999-05-18 International Business Machines Corporation File system viewpath mechanism
US6125373A (en) 1997-09-19 2000-09-26 Microsoft Corporation Identifying a driver that is an owner of an active mount point
US5991777A (en) * 1997-09-19 1999-11-23 Microsoft Corporation System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium
US6260040B1 (en) 1998-01-05 2001-07-10 International Business Machines Corporation Shared file system for digital content
WO1999042934A2 (en) * 1998-02-20 1999-08-26 Storm Systems, Llc File system performance enhancement
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6604236B1 (en) 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
US6574591B1 (en) * 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6356863B1 (en) 1998-09-08 2002-03-12 Metaphorics Llc Virtual network file server
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US8335775B1 (en) * 1999-08-05 2012-12-18 Oracle International Corporation Versioning in internet file system
US7634453B1 (en) 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
US6622170B1 (en) 1999-09-10 2003-09-16 International Business Machines Corporation System and method for DEN/LDAP client database access with a backoff capability
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
WO2001048634A2 (en) * 1999-12-27 2001-07-05 Texar Software Corp. Virtual resource attribute directory
US7028251B2 (en) * 2000-03-02 2006-04-11 Iora, Ltd. System and method for reducing the size of data difference representations
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
EP1325427A2 (en) 2000-06-21 2003-07-09 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7222132B2 (en) * 2001-03-20 2007-05-22 Swsoft Holdings, Ltd. Common template file system tree for virtual environments and virtual servers
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7440980B2 (en) * 2001-04-03 2008-10-21 Qnx Software Systems Gmbh & Co. Kg Computer file management system
US7433900B2 (en) * 2001-04-03 2008-10-07 Qnx Software Systems Gmbh & Co. Kg Custom filesystem having file mappings to files of a real filesystem
US7047257B2 (en) * 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US7219122B1 (en) * 2001-04-23 2007-05-15 Massachusetts Institute Of Technology Software service handoff mechanism with a performance reliability improvement mechanism (PRIM) for a collaborative client-server system
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
JP3776769B2 (ja) * 2001-08-08 2006-05-17 株式会社東芝 ファイルサーバシステムおよびその制御方法
NZ531200A (en) * 2001-08-13 2006-03-31 Qualcomm Inc Application level access privilege to a storage area on a computer device
EP1300757A1 (en) * 2001-10-02 2003-04-09 Sun Microsystems, Inc. Shareable installation hierarchies
US6859812B1 (en) * 2001-10-31 2005-02-22 Hewlett-Packard Development Company, L.P. System and method for differentiating private and shared files within a computer cluster
US7725490B2 (en) 2001-11-16 2010-05-25 Crucian Global Services, Inc. Collaborative file access management system
US6909910B2 (en) * 2002-02-01 2005-06-21 Microsoft Corporation Method and system for managing changes to a contact database
US7293033B1 (en) * 2002-03-27 2007-11-06 Swsoft Holdings, Ltd. System and method for providing effective file-sharing in a computer system to allow concurrent multi-user access
US7783665B1 (en) * 2002-03-27 2010-08-24 Parallels Holdings, Ltd. Effective file-sharing among virtual environments
AU2003241292A1 (en) * 2002-04-11 2003-10-27 Linuxcare, Inc. Managing multiple virtual machines
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US8843903B1 (en) 2003-06-11 2014-09-23 Symantec Corporation Process tracking application layered system
US7496931B2 (en) * 2003-12-30 2009-02-24 Symantec Corporation Portable memory storage devices containing public context application layers
US7461086B1 (en) 2006-01-03 2008-12-02 Symantec Corporation Run-time application installation application layered system
US8010961B1 (en) 2003-06-11 2011-08-30 Symantec Corporation Data layer prioritization in an application layered system
US7512977B2 (en) * 2003-06-11 2009-03-31 Symantec Corporation Intrustion protection system utilizing layers
US7970789B1 (en) 2003-06-11 2011-06-28 Symantec Corporation Sublayered application layered system
US7542988B1 (en) * 2006-01-03 2009-06-02 Symantec Corporation File type associative application layered system
US7461096B1 (en) 2003-06-11 2008-12-02 Symantec Corporation Weighted prioritizing layered computing system
US7165260B2 (en) 2002-06-12 2007-01-16 Fsl, L.L.C. Layered computing systems and methods for insecure environments
AU2003251504A1 (en) * 2002-06-12 2003-12-31 Fslogic Inc. Systems and methods for the creation of software packages using layered systems
US7945897B1 (en) 2002-06-12 2011-05-17 Symantec Corporation Method and system for running an application in a clean operating environment using a layered computing system
US7620956B2 (en) * 2003-06-11 2009-11-17 Symantec Corporation Portable memory storage devices with application layers
US7877413B1 (en) 2002-06-12 2011-01-25 Symantec Corporation Path variablizing layered system
US7886291B1 (en) 2003-06-11 2011-02-08 Symantec Corporation Layer typed prioritizing application layered systems
US7549164B2 (en) * 2003-06-11 2009-06-16 Symantec Corporation Intrustion protection system utilizing layers and triggers
US20040015522A1 (en) * 2002-06-13 2004-01-22 International Business Machines Corporation Apparatus, system and method of providing a stackable private write file system
US7197516B1 (en) 2002-07-22 2007-03-27 Veritas Operating Corporation Method and system for an overlay filesystem
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
US7801894B1 (en) 2004-10-28 2010-09-21 Stored IQ Method and apparatus for harvesting file system metadata
US8417678B2 (en) * 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
WO2004012379A2 (en) * 2002-07-30 2004-02-05 Deepfile Corporation Method and apparatus for managing file systems and file-based data storage
US7519910B2 (en) * 2002-10-10 2009-04-14 International Business Machines Corporation Method for transferring files from one machine to another using adjacent desktop displays in a virtual network
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) * 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7516145B2 (en) 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
JP2007503658A (ja) * 2003-05-07 2007-02-22 レバンタ,インク. 共有読み出し専用ファイルシステムにおけるウイルス検出及び警報
US7168035B1 (en) 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
CA2434644A1 (fr) * 2003-06-30 2004-12-30 Archidata Inc. Systeme pour la certification des plans et devis produits par les professionnels et les maitres d'ouvrage de la construction
US7581177B1 (en) 2003-08-01 2009-08-25 Microsoft Corporation Conversion of structured documents
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
US20050091286A1 (en) * 2003-09-12 2005-04-28 Adam Fineberg Tracking and replicating file system changes
US7827362B2 (en) * 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7472254B2 (en) * 2003-10-10 2008-12-30 Iora, Ltd. Systems and methods for modifying a set of data objects
US7644376B2 (en) * 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US20050091658A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7313720B1 (en) 2004-02-12 2007-12-25 Network Appliance, Inc. Technique for increasing the number of persistent consistency point images in a file system
US7430711B2 (en) 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US7636710B2 (en) * 2004-03-04 2009-12-22 Symantec Operating Corporation System and method for efficient file content searching within a file system
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7568101B1 (en) 2004-05-13 2009-07-28 Microsoft Corporation Digital signatures with an embedded view
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
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
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7584417B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7509353B2 (en) 2004-11-16 2009-03-24 Microsoft Corporation Methods and systems for exchanging and rendering forms
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US9639554B2 (en) * 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7437376B2 (en) 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7509419B2 (en) * 2005-01-13 2009-03-24 International Business Machines Corporation Method for providing remote access redirect capability in a channel adapter of a system area network
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US7300621B2 (en) * 2005-03-16 2007-11-27 Siemens Power Generation, Inc. Method of making a ceramic matrix composite utilizing partially stabilized fibers
US20060235863A1 (en) * 2005-04-14 2006-10-19 Akmal Khan Enterprise computer management
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
KR101130475B1 (ko) * 2005-05-25 2012-03-27 마이크로소프트 코포레이션 데이터 통신 프로토콜
US7543228B2 (en) 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8015165B2 (en) 2005-12-14 2011-09-06 Oracle International Corporation Efficient path-based operations while searching across versions in a repository
US7472140B2 (en) * 2005-12-20 2008-12-30 Oracle International Corporation Label-aware index for efficient queries in a versioning system
US7543004B2 (en) * 2005-12-22 2009-06-02 Oracle International Corporation Efficient support for workspace-local queries in a repository that supports file versioning
US7533136B2 (en) * 2005-12-22 2009-05-12 Oracle International Corporation Efficient implementation of multiple work areas in a file system like repository that supports file versioning
US7730032B2 (en) * 2006-01-12 2010-06-01 Oracle International Corporation Efficient queriability of version histories in a repository
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
GB0623916D0 (en) * 2006-11-30 2007-01-10 Ibm Methods, apparatus and computer programs for change management in a data processing environment
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
GB2446169A (en) * 2006-12-01 2008-08-06 David Irvine Granular accessibility to data in a distributed and/or corporate network
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
GB2450538A (en) * 2007-06-28 2008-12-31 Symbian Software Ltd Copying computer files when manipulation is requested
US20110040812A1 (en) * 2007-12-20 2011-02-17 Virtual Computer, Inc. Layered Virtual File System
US8639734B1 (en) 2008-03-31 2014-01-28 Symantec Operating Corporation Use of external information about a file to determine virtualization
US8688641B1 (en) 2008-03-31 2014-04-01 Symantec Operating Corporation Per user and per process layer visibility
US8438196B1 (en) 2008-03-31 2013-05-07 Symantec Operating Corporation Finer grained data organization using data sublayers
US8315996B2 (en) * 2008-08-13 2012-11-20 International Business Machines Corporation Efficient management of customized functionality within shared data objects
AU2008246236B1 (en) * 2008-11-18 2009-10-01 International Business Machines Corporation Presentation of items arranged in a hierarchy
US20110055299A1 (en) * 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
WO2011022388A1 (en) * 2009-08-17 2011-02-24 Virtual Computer, Inc. Layered virtual file system
US8881140B1 (en) 2009-09-04 2014-11-04 Symantec Corporation Systems and methods for virtualizing software associated with external computer hardware devices
US8621365B2 (en) * 2010-04-06 2013-12-31 Asustek Computer Inc. File sharing method and system
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8490207B2 (en) * 2011-05-31 2013-07-16 Red Hat, Inc. Performing zero-copy sends in a networked file system with cryptographic signing
CA2778733A1 (en) * 2011-05-31 2012-11-30 Research In Motion Limited Method and system for data synchronization including file system abstraction
CN102296501A (zh) * 2011-06-16 2011-12-28 中国农业大学 无缝线路锁定轨温预处理系统
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742450A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5001628A (en) * 1987-02-13 1991-03-19 International Business Machines Corporation Single system image uniquely defining an environment for each user in a data processing system
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
JPS6410353A (en) * 1987-07-03 1989-01-13 Hitachi Ltd Computer file system
US5077658A (en) * 1987-10-19 1991-12-31 International Business Machines Corporation Data access system for a file access processor
US4914569A (en) * 1987-10-30 1990-04-03 International Business Machines Corporation Method for concurrent record access, insertion, deletion and alteration using an index tree
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US4912637A (en) * 1988-04-26 1990-03-27 Tandem Computers Incorporated Version management tool

Also Published As

Publication number Publication date
JPH02249043A (ja) 1990-10-04
US5313646A (en) 1994-05-17
CA1323448C (en) 1993-10-19

Similar Documents

Publication Publication Date Title
JP3041528B2 (ja) フアイル・システム・モジュール
US5781908A (en) File data synchronizer in a distributed data computer network
US6374268B1 (en) Methods and systems for an incremental file system
US5905990A (en) File system viewpath mechanism
KR100359670B1 (ko) 파일의내부구조구성방법및시스템
JP4035872B2 (ja) ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
US5367671A (en) System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
US20010027457A1 (en) Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents
US7526479B2 (en) Configuration manager in enterprise computing system
US5689701A (en) System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax
US6760723B2 (en) Storage management across multiple time zones
US7831643B1 (en) System, method and computer program product for multi-level file-sharing by concurrent users
US6658436B2 (en) Logical view and access to data managed by a modular data and storage management system
US7882071B2 (en) Systems and methods for a snapshot of data
US5412808A (en) System for parsing extended file names in an operating system
US7958101B1 (en) Methods and apparatus for mounting a file system
US5781190A (en) Method and system for transferring a slide presentation between computers
EP0450917A2 (en) Distributed computer systems
US7379948B2 (en) System and method for retrieving registry data
JPH05197697A (ja) ソフトウエア・システム構築装置及び方法
JP2004355660A (ja) 小さいオブジェクトデータストリームを使用する、データオブジェクトを保存する方法
JPH1031612A (ja) 高度ファイル・サーバ
US4855907A (en) Method for moving VSAM base clusters while maintaining alternate indices into the cluster
US7836102B2 (en) Method and system for enhancing software documentation and help systems
US8095542B1 (en) Methods and apparatus for allowing access to content

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees