JPH0713844A - 新たなファイルシステムを既存のファイルシステムに対応付ける方法及び拡張可能なファイルシステム - Google Patents

新たなファイルシステムを既存のファイルシステムに対応付ける方法及び拡張可能なファイルシステム

Info

Publication number
JPH0713844A
JPH0713844A JP6142214A JP14221494A JPH0713844A JP H0713844 A JPH0713844 A JP H0713844A JP 6142214 A JP6142214 A JP 6142214A JP 14221494 A JP14221494 A JP 14221494A JP H0713844 A JPH0713844 A JP H0713844A
Authority
JP
Japan
Prior art keywords
file system
file
new
data
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6142214A
Other languages
English (en)
Inventor
Yousef A Khalidi
ヨーゼフ・エイ・カーリディ
Michael N Nelson
マイケル・エル・ネルソン
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 JPH0713844A publication Critical patent/JPH0713844A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 既存ファイルシステムの上に拡張ファイルシ
ステムを構築する技術およびその具体的方法を打立て
る。 【構成】 アーキテクチャは、既存のファイルシステム
の上に新たなファイルシステム(層)をスタックする
(又は組立てる)ことにより、ファイルシステム機能性
の拡張を可能にする。新たな層のインプリメンタは新た
な層によりエクスポートされるファイルを下部層のファ
イルと一貫性を保持するオプション、並びに下部層のフ
ァイルと同一のキャッシュメモリを共用するオプション
を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、コンピュータ
オペレーティングシステム、分散形多重プロセッサハー
ドウェアシステム、オブジェクト指向プログラミング及
び仮想メモリシステムの分野に関する。詳細にいえば、
本発明は、ファイルシステムを1組の動的に構成可能な
層として構成することによりファイルシステム機能性を
設定し且つ効率良く拡張する改良された技法に関する。
【0002】
【従来の技術】従来、コンピュータにおけるオペレーテ
ィングシステムの役割は、ハードウェア資源(中央処理
装置(「CPU」)、メモリ及び入出力装置)を効率良
く管理することであった。一般に、ファイルはディスク
ドライブ又は磁気テープシステムに記憶されるので、こ
の管理機能はファイルシステムを管理する役割を含んで
いた。
【0003】クライアントレベルでのファイルシステム
のインプリメンテーションを可能にするマイクロ核を伴
なうオブジェクト指向オペレーティングシステムは、従
来はクライアントが処理する必要のなかったメモリ管理
に際して複雑な問題を生じさせる。さらに、広範囲分散
形コンピュータネットワークでは、効率の良い局所キャ
ッシング技法がないと、異なるコンピュータに常駐する
ファイルは不必要なネットワーク通信トラフィックを発
生させる。それにもかかわらず、マイクロ核システム
は、既存のファイルシステムに機能性を追加し、新たな
ファイルシステムを生成し且つ旧ファイルシステムを拡
張することを可能にする一方で、既存のファイルシステ
ム及び既存のキャッシング能力を複製するため又は大幅
に修正するために新たなコードを書込む必要性を最小限
に抑える環境をクライアントに与える。
【0004】この開示は拡張可能ファイルシステムアー
キテクチャと、拡張可能ファイルシステムの方法及び装
置とを説明する。従来の技術を検討するに際しては、い
くつかの用語を定義しておくのが望ましい。ファイル
は、その作成者により定義される関連情報の集合体であ
る。一般に、ファイルはプログラム(ソースとオブジェ
クト双方の形態)と、データとを表現する。データファ
イルは数字、英字、英数字又は2進数のいずれであって
も良く、また、自由な形態をとっていても良く、あるい
は、厳密に書式化されていても良い。一般に、ファイル
はファイルの作成者及びユーザーにより定義される意味
をもつビット、バイト、行又はレコードのシーケンスで
ある。ファイルは名前付けされ、その名前によって参照
される。多くの階層ファイルシステムにおいては、ファ
イルの名前はシステム階層の中でそのファイルの場所を
いかにして探索すべきかを記述する経路名である。経路
名は「/」文字で分離されたコンポーネント名のシーケ
ンスである。欠けるところのない経路名は、ファイルシ
ステムのルートから始め、連続してゆく経路に至る分岐
経路をたどってファイルツリーを進むことによりファイ
ル見出されることを指定する「/」文字で始まる。たと
えば、経路名「/usr/src/cmd/two.c」は「two.c」 を指
示する。次にファイルシステムは、データの符号化、フ
ォーマット及び長さと、その他の特定の特性とから成る
特定の型を伴ない、特定の1組のファイルをどのように
して管理すべきかに関する知識をもつアプリケーション
プログラムである。
【0005】UNIX(登録商標)システムでは、オペ
レーティングシステムは、プログラムに対して共通サー
ビスを実行し且つソフトウェア及びユーザー/クライア
ントを特定のコンピュータシステムのハードウェアの特
異性から隔離してハードウェアと直接に対話する。(U
NIXはUNIX System Laborator
ies,Inc.の登録商標である。)UNIXの場
合、オペレーティングがユーザー/クライアントプログ
ラムからの隔離を強調して、一般的にはオペレーティン
グシステムを「システム核」、単に「核」と呼ぶ。核の
内部に位置するUNIXファイルシステムは、ファイル
構成を組織する。従来、ファイルシステムは、ファイル
及びディレクトリを生成、削除し;ファイル及びディレ
クトリを操作するための基本プログラムルーチンについ
てについて支援を実行し;ファイルをディスク記憶装置
にマッピングし;且つファイルのプログラム、プロセス
及びユーザーのアクセスを制限することによりファイル
の一般保護を実行することによって、ファイルシステム
自身を管理する必要がある。最新のオペレーティングシ
ステムにおいては、このファイル管理機能は仮想メモリ
サブシステムの使用を含んでいた。
【0006】共用メモリをもつものもあり、遠隔アクセ
ス可能なファイルシステムをもつものもある分散形コン
ピュータシステムは、ファイルが分散形システムの様々
なコンピュータの間に物理的に分散されている場合に複
数のユーザーによるファイルの共用を支援するために、
「分散形コンピュータシステム(「DFS」)」を生成
するに至った。DFSは、分散形システムの機械の間に
クライアント、サーバ及び記憶装置が分散されているよ
うなファイルシステムである。サーバと記憶装置の場所
及び多様性はクライアントには見えない。オペレーティ
ングシステム及びファイルシステムの詳細については、
A.Silberschatz,J.Peterson
及びP.Glavinのテキスト「Operating
System Concepts」第3版(1991
年、Addison−Wesley Publishi
ng Inc.刊)を参照のこと。
【0007】典型的には、1つのオペレーティングシス
テムがユーザーにより変更可能(拡張可能)でない1つ
又は2つの型のファイルシステムを提供する。UNIX
のような現在のシステムでは、ファイルシステムは(名
前付け機能に加えて)、安定した記憶媒体を管理し且つ
仮想メモリシステムと協働してメモリにデータをキャッ
シュする記憶メカニズムを構成する。何らかの方法でフ
ァイルシステムの機能性を拡張させることができるアー
キテクチャはいくつかある。仮想ファイルシステム(V
FS)は、元来、UNIX核の中で複数のファイルシス
テムに対応するように設計されていた。すなわち、VF
Sは新たなファイルシステム全体を追加するのを援助で
きるではあろうが、たとえば、物理ディスク管理を保持
し且つ新たなディレクトリ層を設定するなど、ファイル
システムの複数の別個の部分を置換える又はエンハンス
することはきわめて困難である。新たなファイルシステ
ム機能性を追加するためには、既存のファイルシステム
を変更する(現在の何千行ものファイルシステムの知識
と、低レベル核デバッギングツールとを要求する)か、
あるいは、新たなファイルシステムを追加する(同様
に、大半が既存のファイルシステム支援コードの複製で
ある通常は複数行にわたるコードの書込みを要求する)
かのいずれかが必要である。
【0008】近年、既存のファイルシステムに関して新
たなファイルシステムのインプリメンテーションを支援
するためにVFSを進化させようとする提案がなされ
た。Apollo拡張可能IOシステムや、FICUS
システムなどの他のシステムにおいては、ある制限の中
でファイルシステムを拡張できる。そのようなシステム
は、他のシステムと共に、ファイルシステムを拡張する
必要性を実証している。しかしながら、それらのシステ
ムの目標は必然的に限定されてしまう。FICUS、並
びにスタック可能ファイリング層フレームワークを使用
して機能性を追加しようとする最近の試みの詳細につい
ては、John S.Heidemann及びGera
ld J.Popekの「A Layered App
roachto File System Devel
opment」(ロサンジェルス、カルフォルニア大
学、コンピュータサイエンス学部、Technical
Report CSD−910007、1991年3
月刊);及びJohn S.Heidemann及びG
erald J.Popekのドラフトレポート「Fi
le System Development wit
h Stackable Layers」(ロサンジェ
ルス、カルフォルニア大学、コンピュータサイエンス学
部、1992年3月28日刊)の2つの論文を参照のこ
と。
【0009】マイクロ核オペレーティングシステムの出
現によって、ファイルシステムは核の外側でユーザーレ
ベルサーバにおいて実現されつつある。それらの新たな
ファイルシステムは効果の高い性能を提供するために、
新たな一連の問題を解決しなければならない。ところ
が、マイクロ核アーキテクチャは、それに加えて、必要
な機密保護又は暗号化の要求を処理するために既存のフ
ァイルシステムに機能性を追加することと共に、ユーザ
ーシステム又はオペレーティングシステムの破壊を最小
限に抑えて新たなキャッシング能力及びコヒーレンシー
能力を追加することを可能にする。既存のファイルシス
テムに追加することが必要になるであろう新たな機能性
の例としては、データ又はファイルの圧縮、複製、暗号
化、分散及び拡張ファイル属性がある。
【0010】フレキシブル拡張可能ファイルシステムア
ーキテクチャについて必要である広い意味での必要条件
は次の4つである: 1.既存のファイルシステムの利用 新たなファイルシステム機能性を導入するとき、既存の
ファイルシステムを容易に利用できるようにすべきであ
る。既存のファイルシステムのクライアントに影響を及
ぼさずに、これを達成可能にすべきである。 2.キャッシング。有効性能の上から、拡張可能ファイ
ルシステムアーキテクチャはファイルデータ及び属性を
キャッシングする手段を定義しなければならない。 3.コヒーレンシー。キャッシング、分散及び異なる視
点から同一のデータをアクセスする複数のクライアント
の存在があるために、アーキテクチャはファイルデータ
及び属性をコヒーレントに保持するフレームワークを定
義しなければならない。ところが、ファイルシステムの
インプリメンテーションに対してコヒーレンシー方式を
残すべきである。この場合、コヒーレントは、いずれか
1人のユーザーがデータ又は属性のコピー中の1つのフ
ィールドを更新するときに全てのユーザーのアドレスス
ペースにおけるデータと属性を更新しなければならない
ということを意味する。 4.機能性の動的追加。ラン中のシステムに新たな機能
性を追加すると共に、ファイルの機能性を動的に拡張す
ることを可能にすべきである。加えて、新たなファイル
システムは核又はユーザーモードに常駐できるべきであ
る。
【0011】
【発明の概要】この開示は拡張可能ファイルシステムの
アーキテクチャと、拡張可能ファイルシステムの装置及
び方法とを説明する。アーキテクチャは、既存のファイ
ルシステムの上に新たなファイルシステム(層)をスタ
ックする(又は組立てる)ことにより、ファイルシステ
ム機能性の拡張を可能にする。新たなファイルシステム
層のインプリメンタは、新たな層により利用可能にされ
るファイルを下部の層のファイルとコヒーレントに保持
するオプション、並びに下部の層のファイルと同じキャ
ッシュメモリを共用するオプションを有する。また、フ
ァイルシステムの名前スペースを配列するためのフレキ
シブルフレームワークも提供される。既存の層の上への
新たな層の組立ては(コンパイル時/構成時に)静的に
又は(ブート時/ラン時に)動的に実行可能である。加
えて、ファイルシステム層は同一のアドレススペースに
あっても、異なるアドレススペースにあっても良く、局
所コンピュータノード又は遠隔コンピュータノードで実
現できる。
【0012】名前付けサービスを有するコンピュータシ
ステムにおいて、既存のファイルの場所を確定し、既存
のファイルシステムと新たなファイルシステムとの間の
名前付け結合が成立するように新たなファイルシステム
を名前付けサービスに結合し、且つ新たなファイルシス
テムにコヒーレントデータを提供する能力を有するデー
タ移動機構によって新たなファイルシステムを既存のフ
ァイルシステムに結合するために使用する方法を開示す
る。
【0013】また、名前付けサービスを使用して既存の
ファイルシステムの場所を探索する識別装置と、既存の
ファイルシステムに結合できると共に、クライアントが
どのシステムにファイルが入っているかという知識をも
たずにいずれのファイルシステムのファイルをもアクセ
スすることができるように名前付けサービスに結合でき
る新たなファイルシステムの事例を生成するファイルシ
ステム生成メカニズムと、既存のファイルシステムを含
む層から新たなファイルシステムを含む層にコヒーレン
トデータを提供することができるデータ移動機構とを具
備する分散形コンピュータシステムにおける拡張可能フ
ァイルシステムをも開示する。本発明のシステムの目
的、特徴及び利点は以下の説明から明白になるであろ
う。
【0014】〔表記法及び用語〕以下の詳細な説明の大
部分は、コンピュータメモリ内部のデータビットに関す
る演算のアルゴリズム及び記号表示によって提示され
る。それらのアルゴリズムによる説明や表現は、データ
処理技術に熟達する人がその作業の内容を他の当業者に
最も有効に伝達するために使用する手段である。
【0015】ここでは、また、一般的にも、アルゴリズ
ムは所望の結果に至る首尾一貫したステップのシーケン
スであると考えられている。それらのステップは物理的
量の物理的操作を要求するステップである。通常、それ
らの量は記憶、転送、組合せ、比較及びその他の方法に
よる操作が可能である電気信号又は磁気信号の形態をと
るが、必ずそうであるとは限らない。場合によっては、
主として一般に使用されている用語であるという理由に
より、それらの信号をビット、値、要素、記号、文字、
項、数などと呼ぶと好都合であることがわかる。ただ
し、それらの用語及びそれに類する用語は、全て、適切
な物理的量と関連させるべきものであり、単にそのよう
な量に便宜上付されたラベルであるにすぎないというこ
とを忘れてはならない。
【0016】さらに、実行される操作を、オペレータが
実行する知的動作と一般には関連している加算又は比較
などの用語で呼ぶことが多い。本発明の一部を形成す
る、ここで説明する動作のいずれにおいても、そのよう
なオペレータの能力は不要であり、多くの場合に望まし
くない。動作は機械の動作である。本発明の動作を実行
するのに有用な機械には、汎用デジタルコンピュータは
それに類する装置がある。あらゆるケースにおいて、コ
ンピュータを動作させる際の方法動作と、計算それ自体
の方法との明確な区別に留意すべきである。本発明は、
電気信号又は他の物理的(たとえば、機械的、化学的)
信号を処理して、別の所望の物理的信号を発生するとき
にコンピュータを動作させるための方法ステップに関す
る。
【0017】本発明は、それらの動作を実行するための
装置にも関する。この装置は要求される目的に合わせて
特別に構成されても良いが、汎用コンピュータに記憶さ
せたコンピュータプログラムによりそのコンピュータを
選択的に起動又は再構成しても良い。ここで提示される
アルゴリズムは、元来、特定のコンピュータ又は他の特
定の装置に関連するものではない。詳細にいえば、本発
明の教示に従って書込んだプログラムと共に様々な汎用
機械を使用できるであろうし、あるいは、要求される方
法ステップを実行するためにはより特殊化した装置を構
成するほうが好都合であるとわかるかもしれない。多種
多様なそれらの機械について要求される構造は以下の説
明から明白になるであろう。
【0018】
【実施例】この開示の中では、拡張可能ファイルシステ
ムのアーキテクチャを説明する。また、そのアーキテク
チャのインプリメンテーションをも説明する。このアー
キテクチャでは、既存のファイルシステムの上に新たな
ファイルシステム(層)をスタックする(すなわち、組
立てる)ことにより、ファイルシステムの機能性を拡張
することができる。新たな層のインプリメンタは新たな
層によりエクスポートされるファイルをその下に位置す
る層のファイルとコヒーレントに保持するというオプシ
ョンと、下に位置する層のファイルと同一のキヤッシュ
メモリと共用するというオプションとを有する。さら
に、ファイルシステムの名前スペースを配列するための
フレキシブルフレームワークをも開示する。既存の層の
上への新たな層の組立ては(コンパイル時/構成時に)
静的に又は(ブート時/ラン時に)動的に実行可能であ
る。加えて、ファイルシステムの層は同じアドレススペ
ースにあっても良いし、あるいは異なるアドレススペー
スにあっても良く、また局所コンピュータノードで実現
されても良く、あるいは、遠隔コンピュータノードで実
現されても良い。
【0019】以下の説明中、本発明を完全に理解させる
ために、説明の便宜上、特定のデータや構成を挙げる。
ここで説明する好ましい実施例は、Sun Micro
systems(登録商標),Inc.(Sun Mi
crosystemsはSun Microsyste
ms,Inc.の登録商標である)が製造しているSP
RINGオブジェクト指向オペレーティングシステムの
一部として実現される。SPRINGについては、以下
に、好ましい実施例の説明の中である程度詳細に説明す
る。しかしながら、特定の詳細がなくとも本発明を実施
しうること及び様々なコンピュータシステムの構成及び
密結合プロセッサの様々な構成又は型又はモデル、ある
いは、疎結合多重プロセッサシステムの様々な構成にお
いて本発明を実現しうることは当業者には明白であろ
う。
【0020】ファイルシステムスタッキングアーキテク
チャ このファイルシステムスタッキングアーキテクチャは、
既存のファイルシステムインプリメンテーションの機能
性を拡張し且つその上に構築される新たなファイルシス
テムを追加することができる。これはシステムに新たな
ファイルシステム層を追加することによって実行され
る。新たな層のインタフェースがあるファイルシステム
のインタフェースに準拠している限り、新たな層がいか
にして実現されるかということとは関係なく、クライア
ントは新たな層をファイルシステムとみなすことに注意
するのは重要である。インプリメンテーションは、それ
自体もファイルシステムインタフェースに準拠していな
ければならない下方のファイルシステムを新たな層がど
のように利用するかを決定する。インタフェースは、一
般にインタフェース定義言語で指定されるオブジェクト
(たとえば、ファイルシステム、キャッシュ、ページャ
など)とその方法(演算)の記述である。管理決定は、
どのファイルシステムを他のファイルシステム(又は別
個のファイル)の上にスタックすべきかを選択し且つ名
前スペースを適宜配列するために使用される。
【0021】所定の1つの層によりエクスポートされる
ファイルと、その下方に位置する層との間に1対1の対
応が成立している必要はない。ファイルシステムは、実
際には存在しないファイルをエクスポートしても良い。
同様に、所定のファイルシステムのインプリメンテーシ
ョンがそのような決定を実行する。ファイルをエクスポ
ートするということは、ファイルをクライアントに対し
てアクセス可能にすることを意味している。これは、通
常、そのファイルの名前を名前スペースに結合すること
により実行される。
【0022】図1は、スタックされたファイルシステム
の構成の1例を示す。図1を参照すると、典型的なファ
イルシステム層200はファイルシステムのインタフェ
ース202と、そのファイルシステムを実現するプログ
ラムコード204とを含む。層fs4 200は層fs
2 208と、層fs3 206とに結合し、層fs3
206は層fs1 210に結合している。図示する
通り、層fs2 208はディスクドライブ214に結
合し、層fs1 210は異なるディスクドライブ21
2に結合している。図1において、各々のボックスはフ
ァイルシステムインタフェースをエクスポートする層を
表わす。「ファイルシステムインタフェース」をエクス
ポートすることは、ファイルをエクスポートすることと
同様である。ファイルシステムオブジェクトをエクスポ
ートするとき、通常は、そのオブジェクトの名前を名前
スペースに結合させることにより、そのオブジェクトを
クライアントに対してアクセス可能にする。(以下にさ
らに詳細に説明するように)拡張可能ファイルシステム
アーキテクチャの好ましい実施例においては、ファイル
システムオブジェクトは、アクセスすることによって、
このファイルシステムによりエクスポートされるファイ
ルを含む名前スペースへのアクセスが可能になることを
意味する「名前付けコンテキスト」でもあるという点に
注意すべきである。スタックの最下部には、記憶装置
(たとえば、ディスクドライブなど)の上に直接に構築
されるベースファイルシステムfs1 210及びfs
2 208がある。fs3 206のインプリメンテー
ションは1つの下部ファイルシステムを使用し、一方、
fs4 200のインプリメンテーションはその機能を
実現するために2つの下部ファイルシステムを使用する
(たとえば、fs3 206は圧縮ファイルシステムで
あり、fs4 200はミラリング(mirrorin
g)ファイルシステムである)。fs3 206とfs
4 200について下部ファイルシステムとしてどのフ
ァイルシステムを使用すべきかの選択が管理決定であ
る。様々なファイルシステムによりエクスポートされる
ファイルを露出すべきか否か(及び何に対して露出すべ
きか)も管理決定である。尚、ベースファイルシステム
fs1 200及びfs2 208についてどのディス
クドライブを使用すべきかの決定は現在実施されている
ディスク区分の装着方式に類似している。
【0023】拡張自在ファイルシステムアーキテクチャ
には2つの主要な構成要素がある: 1.次の2つのサブコンポーネントから成るデータ移動
機構: a)データをキャッシュし且つそのデータをコヒーレン
トに保持するスタック可能ページャインタフェース;及
び b)ファイル属性をキャッシュし且つそれらの属性をコ
ヒーレントに保持するスタック可能属性インタフェー
ス; 2.ファイルシステムを組立て且つファイル名前スペー
スを配列するためにフレキシブル名前付けアーキテクチ
ャと共に使用されるスタック可能ファイルシステムイン
タフェース。
【0024】データ移動機構 スタック可能ページャインタフェース データ移動機構は1つのファイルシステム層に、それよ
り下位の層との間でデータをページングすると共に、よ
り上位の層についてデータをキャッシュする能力を与え
ることができなければならない。また、データ移動機構
がファイルデータと属性データの双方をコヒーレントに
保持する能力を提供することも不可欠である。SPRI
NGキャッシュオブジェクト及びページャオブジェクト
を使用するそのようなデータ移動機構の好ましい一実施
例については、以下にさらに詳細に説明する。一般に、
マイクロ核システムにおいては、誰でもキャッシュオブ
ジェクトを実現することができる。仮想メモリマネージ
ャ(VMM)はそのようなキャッシュマネージャの1つ
である。ページャは他のページャに対してキャッシュマ
ネージャとしても動作することができる。従って、ペー
ジャはそのデータをいくつかのキャッシュマネージャに
キャッシュさせても良く、それらのキャッシュマネージ
ャの一部は仮想メモリマネージャであっても良い。ペー
ジャに関する限り、特定のキャッシュマネージャがVM
Mであるか否かにかかわらず、ページャはそのデータの
コヒーレンシーを維持するために同一のアルゴリズムを
使用する。
【0025】図2を参照すると、データ移動機構を利用
するページャ及びキャッシュマネージャとしてのファイ
ルシステム層の構成の1例が示されている。ファイルシ
ステム層fs2 220はページャP2 222及びP
3 224を含む。ページャP2 222はキャッシュ
C2 236に結合して、層fs2 220をVMM2
32(この場合には仮想メモリマネージャである)に結
合している。層fs2220は、ページャP3 224
(fs2 220の中にある)とキャッシュC3 22
8(fs1 226)との結合によって、層fs1 2
26にも結合されている。最後に、層fs1 226
は、ページャP1 230とキャッシュC1 234と
の結合によって層VMM232にも結合されている。図
2は、ファイルサーバが同時にページャ及びキャッシュ
マネージャとしてどのように動作しうるかを示す。詳細
にいえば、この図においては、fs1 226はVMM
232に対してページャオブジェクトP1 230を介
してページャとして動作し、また、fs1 226はf
s2 220に対してはキャッシュオブジェクトC3
228を介してキャッシュマネージャとして動作する。
【0026】データキャッシングに関してファイルシス
テム層のインプリメンタが実行しなければならないデザ
イン上可能な決定は次の2つである:まず、その層のフ
ァイルを下部ファイルシステムのファイルとコヒーレン
トに保持すべきか否かの決定である。ファイルシステム
はそれらのファイルについてキャッシュマネージャとし
て動作することにより下部ファイルとのコヒーレンシー
を維持できる。
【0027】次に、その層のファイルと、下部ファイル
システムのファイルとについて同一のキャッシュページ
を使用すべきか否かの決定である。ファイルシステム
は、下部ファイルについて使用されたのと同じキャッシ
ュを使用するという効果が得られるように下部ファイル
システムへ局所バインドを送り出すことにより、同一の
キャッシュメモリを使用できる。局所バインドは、要求
を受けるファイルシステム層と同じコンピュータノード
においてキャッシュマネージャにより発行されるバイン
ド要求である。従って、この決定は下部ファイルシステ
ム層と同じ機械に層を保持又は配置すべきか否かの決定
と同じことになる。データ移動機構はそのいずれかを実
行する能力を与える。好ましい実施例で使用するバイン
ド要求自体については、以下の「SPRINGのデータ
移動機構」の項で説明する。
【0028】スタック可能ファイル属性インタフェース 先の項では、キャッシュオブジェクトインタフェース及
びページャオブジェクトインタフェースをデータをアク
セスし且つキャッシュすると共に、そのデータをコヒー
レントに保持するためのビルディングブロックとしてい
かにして使用できるかを説明した。ところが、キャッシ
ュオブジェクトインタフェースとページャオブジェクト
インタフェースのみでは、ファイルシステムをスタック
するには不十分である。ファイルは、データに加えて、
アクセス時間、修正時間及びファイル長さなどの属性を
含む。ファイルと関連づけて良い属性としては、他に、
アクセス制御リスト及び一般化属性リストがある。
【0029】ファイル属性を処理する方式の1つは、キ
ャッシュオブジェクトインタフェースとページャオブジ
ェクトインタフェースにより多くの動作を追加するとい
うものであろう。そのような方式には2つの問題があ
る。第1に、将来起こりうるファイルシステム拡張によ
り必要なると思われる全ての動作について決定を実行す
るのは不可能である。第2に、データ移動インタフェー
スにファイルシステム特有動作を追加すると、そのイン
タフェースの非ファイルシステムクライアントのインプ
リメンテーションは複雑になってしまう。
【0030】キャッシュオブジェクトインタフェースと
ページャオブジェクトインタフェースにファイル特有動
作の負担を負わせるのに代わる好ましい方式は、キャッ
シュインタフェースとページャインタフェースをfs-cac
heインタフェースと、fs-pagerインタフェースのサブク
ラスをそれぞれ設けるという方法である。それら2つの
インタフェースは、ファイルシステムを処理するに際し
て適切な開始点となるいくつかのファイル属性動作(基
本的には、アクセス時間、修正時間及びファイル長さを
キャッシュし且つコヒーレントに保持するための動作)
を追加する。尚、さらに多くのファイルシステム機能性
を追加するために、fs-cacheインタフェースとfs-pager
インタフェースをさらにサブクラス化することができ
る。特定のファイルシステムインプリメンテーションに
よりそれらのオブジェクトを別の部分型に狭めても良
く、あるいは、より多くの動作を追加するためにそれら
のインタフェースをさらにサブクラス化しても良い。こ
こで開示する拡張可能ファイルシステムアーキテクチャ
に対してファイル特定動作を開発し且つ使用する方法が
他にも存在していることは、当業者には認められるであ
ろう。
【0031】好ましい実施例におけるインプリメンテー
ション 拡張可能ファイルシステムの好ましい一実施例を説明す
る前に、SPRINGオブジェクト指向オペレーティン
グシステムの環境と機能を説明する必要がある。
【0032】SPRINGオブジェクトは、状態を含み
且つその状態を操作するための1組の方法を提供する抽
象である。オブジェクトとその方法の記述は、インタフ
ェース定義言語で指定されるインタフェースである。イ
ンタフェースはインプリメンタ(サーバ)と、オブジェ
クトのクライアントとの間の強タイプ付きコントラクト
である。
【0033】SPRINGドメインは、スレッドの集合
体を伴なうアドレススペースである。所定の1つのドメ
インが一部のオブジェクトのサーバとして動作すると共
に、別のオブジェクトのクライアントとして動作するこ
ともありうる。インプリメンタとクライアントは同一の
ドメインにあっても良いし、異なるドメインにあっても
良い。
【0034】SPRINGはオブジェクト指向であるの
で、インタフェース継承の概念を支援する。SPRIN
Gは単一インタフェース継承と、複数のインタフェース
継承の双方の概念を支援する。「foo」型のオブジェ
クトを受入れるインタフェースは「foo」のサブクラ
スの事例をも受入れる。たとえば、address_space オブ
ジェクトは、memory_object 取上げ且つそれをアドレス
スペースにマッピングする方法を有する。同じ方法は、
memory_object インタフェースから継承されたオブジェ
クトであれば、ファイルオブジェクト及びframe_buffer
オブジェクトをも受入れる。
【0035】SPRING核は基本クロスドメイン呼出
し及びスレッドと、低レベル機械依存処理と、メモリマ
ッピング及び物理的メモリ管理のための基本仮想メモリ
支援とを支援する。SPRING核は他のSPRING
核に関する知識をもたず、遠隔呼出しは全てネットワー
クプロクシサーバにより処理される。加えて、仮想メモ
リシステムは記憶及びネットワークのコヒーレンシーを
処理するために外部ページャに依存する。
【0036】図3を参照すると、典型的なSPRING
ノードは核50に加えていくつかのサーバをランする。
それらのサーバはドメインマネージャ52と;仮想メモ
リマネージャ(「VMM」)54と;名前サーバ56
と;CFSファイルサーバ58と;局所ファイルサーバ
60と;動的に連係されたライブラリを管理し且つキャ
ッシングする必要があるリンカドメイン62と;遠隔呼
出しを処理するネットワークプロクシ64と;基本端末
処理並びにフレームバッファ及びマウス支援を実行する
ttyサーバ66とを含む。SPRINGシステムに設
けられていても良い他の主要なコンポーネントはUNI
Xプロセスサーバ68と、サブコントラクトレジストリ
69と、任意の数のSPRINGアプリケーション70
である。現在、SPRINGは分散形オペレーティング
システムと、分散アプリケーションの支援フレームワー
クとを含む。
【0037】インタフェース定義言語 SPRINGの単一化原理は、全てのキーインタフェー
スが1つの標準インタフェース定義言語で定義されると
いうものである。この言語はオブジェクト指向であり、
多重継承の支援を含む。これは真にインタフェース特性
と関係しており、インプリメンテーション情報を提供し
ない。
【0038】インタフェース定義言語から言語特定スタ
ブを生成することが可能である。それらのスタブはSP
RINGインタフェースに対して言語特定マッピングを
実行する。たとえば、本発明における主要インプリメン
テーション言語のC++では、SPRINGオブジェク
トはC++オブジェクトによって表現される。スタブオ
ブジェクトに関わる方法を呼出す場合、その方法は現在
アドレススペースの中で局所呼出しを実行するか、ある
いは、別の機械にあっても良い別のアドレススペースへ
呼出しを送り出すかのいずれかである。
【0039】SPRINGは、インタフェースとインプ
リメンテーションとの分離に著しく重きを置いている。
クライアントは局所オブジェクトと認知するものについ
て操作するように拘束され、システムはそれらのオブジ
ェクトがどのように実現されるかということには制約を
課さない。たとえば、1つのオブジェクトの基礎状態は
クライアントと同じアドレススペースにある場合もあ
り、別のアドレススペースにある場合もあろうし、クラ
イアントとサーバとが共用するメモリに入っている場合
もあり、それらの状態のうちいくつかの間で動的に移動
する場合もあろう。
【0040】SPRINGオブジェクトモデル SPRINGは他の分散形オブジェクト指向システムと
はわずかに異なる方式でオブジェクトを見ており、サブ
コントラクトの詳細を論じる前にこの点を明瞭にしてお
くことが必要である。
【0041】多くの分散形システムは、オブジェクトが
サーバ機械に常駐し且つクライアント機械はサーバのオ
ブジェクトを指示するオブジェクトハンドルを所有する
ようなモデルを提示する(図4aを参照)。そこで、ク
ライアントはオブジェクトでなく、オブジェクトハンド
ルを渡してゆく。
【0042】SPRINGは、クライアントがオブジェ
クトハンドルではなく、オブジェクトを直接に操作して
いるモデルを提示する(図4bを参照)。それらのオブ
ジェクトの一部は偶発的に何れかの遠隔場所で全ての重
要状態を保持することもあるので、その局所状態は単に
この遠隔場所に対するハンドルのみから構成されてい
る。1つのオブジェクトは一度に1つの場所にしか存在
できないため、オブジェクトがいずれか別のところへ送
信されると、送信側はそのオブジェクトをもたなくな
る。ところが、送信前にオブジェクトをコピーすること
も可能であり、その時点で、同一の遠隔場所を指示する
2つの別個のオブジェクトが存在するという事態も実現
しうるであろう。
【0043】従って、一部のオブジェクト指向システム
においては、何らかの遠隔オブジェクトを参照するオブ
ジェクトハンドルをいくつかのクライアントが有してい
るといえるであろうが、SPRINGでは、いくつかの
クライアントが同一の遠隔場所を参照するオブジェクト
を有するということになるであろう。
【0044】多くのサーバ利用オブジェクトについて、
この区別は主に用語の1つである。ところが、SPRI
NGはサーバ利用でないオブジェクト、すなわち、オブ
ジェクトの状態がクライアントとサーバとの間で分割さ
れているようなオブジェクトをも支援する。その場合に
は、クライアントを単にポインタを所有しているだけで
はなく、真のオブジェクトを所有しているとみなすと、
はるかに好都合である。
【0045】現時点では、SPRINGオペレーティン
グシステムは、基本オブジェクト指向プロセス間通信及
びメモリ管理を実行する最小の核に基づいている。名前
付け、ページング、ファイルシステムなどの機能性は、
全て、基本核の最上部でユーザーモードサービスとして
与えれる。システムは、本来、分散形であり、重大な機
能についてネットワーク性能を増進するために、いくつ
かのキャッシング技法が使用される。また、システムは
マスク、vi、csh、Xウィンドウシステムなどの標
準ユーティリティを支援するのに十分なUNIXエミュ
レーションをも支援する。
【0046】SPRINGのデータ移動機構 SPRINGでは、ノードごとの仮想メモリマネージャ
(VMM)が局所メモリのマッピング、共用及びキャッ
シングを処理する必要がある。VMMは、補助記憶装置
のアクセス及び機械間コヒーレンシーの維持に際して、
外部ページャに依存する。
【0047】仮想メモリシステムの大半のクライアント
はアドレススペースオブジェクト及びメモリオブジェク
トのみを処理する。アドレススペースオブジェクトはS
PRINGドメインの仮想メモリスペースを表現し、一
方、メモリオブジェクトはアドレススペースにマッピン
グすることができる記憶装置(メモリ)の抽象である。
メモリオブジェクトの1例はファイルオブジェクトであ
る(SPRINGにおけるファイルインタフェースはメ
モリオブジェクトインタフェースから継承される)。ア
ドレススペースオブジェクトはVMMにより実現され
る。
【0048】メモリオブジェクトは長さを設定し且つ問
合せるための動作と、オブジェクトにバインドするため
の動作とを有する(以下の説明を参照)。メモリオブジ
ェクトに関するページイン/アウト動作又は読取り/書
込み動作はない(これは、Carnegie Mell
on Universityが開発したMACHのよう
なシステムとは対照的である)。SPRINGファイル
インタフェースはファイル読取り及び書込みの動作を実
行する(ただし、ページインとページアウトの動作を実
行しない)。メモリ抽象をページング動作を実行するイ
ンタフェースから分離することは、SPRINGファイ
ルシステムを実現する上で非常に有用であったSPRI
NG仮想メモリシステムの1つの特徴である。この分離
によって、メモリオブジェクトのインプリメンタと、メ
モリオブジェクトの内容を提供するページャオブジェク
トのインプリメンタとを異なるものにすることができ
る。
【0049】キャッシュオブジェクトへのメモリオブジ
ェクトのバインド VMMがメモリオブジェクトをアドレススペースにマッ
ピングすることを求められたとき、メモリオブジェクト
自体はこのデータを獲得するための動作を実行しないの
で、VMMはメモリオブジェクトにより表現される実際
のメモリを獲得することができなければならない。従っ
て、VMMは、そのメモリオブジェクトについてのバイ
ンド動作を呼出すことによりメモリオブジェクトを実現
するページャとコンタクトする。バインド動作の目的
は、メモリオブジェクトの内容を提供する局所データキ
ャッシュをVMMに指示することである。
【0050】バインド動作中、VMMとページャはペー
ジャオブジェクト及びキャッシュオブジェクトの2つの
オブジェクトを交換する。ページャオブジェクトはメモ
リブロックをページイン、ページアウトするための動作
を実行するもので、VMMにより局所キャッシュをポピ
ュレートするために使用される。キャッシュオブジェク
トはVMMによって実現され、ページャによりキャッシ
ュの状態に影響を及ぼすために使用される。ページャオ
ブジェクトとキャッシュオブジェクトの動作は、それぞ
れ、次の通りである:
【0051】 ページャオブジェクト動作 説明 page_in =データをキャッシュに導入することを要求する。 page_out =ページャにデータを書込み且つキャッシュからデータ を除去する。 write_out =ページャにデータを書込み且つデータを読取り専用モ ードに保持する。 sync =ページャにデータを書込み且つデータをモードに保持 する。
【0052】 キャッシュオブジェクト動作 説明 flush_back =キャッシュからデータを除去し且つ修正ブロックをペ ージャへ送信する。 deny_writes =読取り−書込みブロックを読取り専用に格下げし且つ 修正ブロックをページャに戻す。 write_back =修正ブロックをページャに戻す。データはキャッシュ に呼出し前と同じモードに保持される。 delete_range =キャッシュからデータを除去する−データは戻されな い。 zero_fill =キャッシュの特定の範囲がゼロ−充てんされることを VMMに指示する。その範囲の中のデータブロックは VMMにより読取り−書込みモードに保持される。 populate =データブロックをキャッシュ内へ導入する。
【0053】所定のページャオブジェクト−キャッシュ
オブジェクト対は、ページャとVMMとの間に二方向通
信チャネルを構成する。典型的には、所定のページャド
メインとVMMとの間にはそのようなチャネルが数多く
存在している。
【0054】VMMに関する限り、各メモリオブジェク
トは一意のものであり、VMMは、VMMがメモリオブ
ジェクトの内容を獲得する源になるデータキャッシュを
指示するために、メモリオブジェクトのページャに依存
している。この余分の間接参照レベルによって、同じペ
ージを共用する(ただし、おそらくは異なるアクセス権
をカプセル化しているであろう)異なるメモリオブジェ
クトがVMMの2つの別個のキャッシュの間で同じペー
ジを往復してフラッシングする代わりに、VMMの同一
のキャッシュを共用できるようになる。
【0055】データコヒーレンシーの維持 1つのメモリオブジェクトをキャッシングしている異な
るVMMの間でデータコヒーレンシーを維持するタスク
は、そのメモリオブジェクトに対するページャの仕事で
ある。コヒーレンシープロトコルはアーキテクチャによ
り指定される。ページャはそれが希望するどのようなコ
ヒーレンシープロトコルでも自在に実現できる。キャッ
シュオブジェクトインタフェース及びページャオブジェ
クトインタフェースは、コヒーレンシープロトコルを構
成するための基本ビルディングブロックを提供する。図
10、図11、図12、図13及び図14は、ファイル
データ及び属性データのキャッシングとコヒーレンシー
に関わる拡張可能ファイルシステムのインプリメンテー
ションの好ましい実施例で使用されるようなキャッシュ
オブジェクト、ページャオブジェクト及びメモリオブジ
ェクトと、fs_cacheオブジェクト及びfs_pagerオブジェ
クトと、fsオブジェクト及びstackable_fsオブジェクト
のインタフェース定義言語形態のコード記述をそれぞれ
含む。
【0056】図10は、キャッシュマネージャによりエ
クスポートされるcache_objectのインタフェースを含む
(VMMとページャはキャッシュマネージャとして動作
している)。次に続く図には、ページャによりエクスポ
ートされるオブジェクトのインタフェースを挙げる。下
記のコードは、パラメータごとに1つのパスモードを指
定する。copy(コピー)をパスしたSPRINGオ
ブジェクトは、呼出しを実行した後、呼出し側及び呼出
された側に対してアクセス可能なままであり、一方、c
onsumed(消費された)オブジェクトは呼出しの
二次効果として呼出し側ドメインから削除される。Bo
rrow(借り)は入−出パスモードであり、prod
uce(生成)は出モードである。スペースの関係上、
いくつかの方法、大半のコンポーネント及び型の宣言を
示していない。多くの方法は誤りが生じた場合に、例外
を発生させる。それらの例外の説明も示されていない。
【0057】(先に指示したマッピング動作及びバイン
ド動作がどのように実行されるかということに関する詳
細は、本明細書にも参考として取入れてあるYouse
fA.Khalidi及びMichael N.Nel
sonによる同時係属出願第07/904,226号、
名称「A Method and Apparatus
for a Secure Protocol fo
r VirtualMemory Managers
that use Memory Objects」の
中に記載されている。)
【0058】SPRINGにおける拡張可能ファイルシ
ステム 先に概要を示したSPRINGオブジェクト指向システ
ムの定義に従って、本発明の拡張可能ファイルシステム
の好ましい実施例のインプリメンテーションを説明す
る。図5は、ここで開示する拡張可能ファイルシステム
アーキテクチャを使用して新たなファイルシステム層を
生成する際に使用される一般ステップのブロック線図で
ある。そこで、この手続きをさらに詳細に説明する。
【0059】図6を参照すると、次に続く説明に合わせ
てスタック拡張可能ファイルシステムの1例が示されて
いる。分散形ファイルシステム(DFS)層300は圧
縮ファイルシステム(COMPFS)層302の上にス
タックされており、COMPFS層302自体は記憶フ
ァイルシステム(SFS)層304の上にスタックさ
れ、SFS層304は仮想メモリマネージャ(VMM)
層306の上にスタックされている。COMPFS層3
02は、ページャオブジェクトP3 316からキャッ
シュオブジェクトC3 328への結合を介して、VM
M層306にも直接に結合している。ファイルシステム
オブジェクト「fileDFS 」308、「fil
COMP」312及び「fileSFS 」322は各々の層
の中に含まれている。また、4つの層の間のキャッシュ
オブジェクト−ページャオブジェクトの付加的結合は次
のように示されている:キャッシュオブジェクトC1
326及びページャオブジェクトP1 324はVMM
306をSFS層304に結合し、キャッシュオブジェ
クトC2 318及びページャオブジェクトP2 32
0はCOMPFS層302をSFS層304に結合し、
キャッシュオブジェクトC4310及びページャオブジ
ェクトP4 314はDFS層300をCOMPFS層
302に結合している。
【0060】拡張可能ファイルシステムスタック及び名
前スペースの構成 次に、図6に示すようなファイルシステムスタックをど
のようにして構成するか、並びに好ましい実施例におい
てその結果として得られるファイル名スペースをどのよ
うにして構成するかということについて説明する。ファ
イルシステム層を構成するためのメカニズムが必要であ
る。これまで提示した例では、他のファイルシステムの
上にスタックされた同一のファイルシステムの事例を含
む別の層も存在しうるので、1つの層は現実にはファイ
ルシステムの1つの事例である。好ましい実施例におい
ては、スタック可能ファイルシステムの事例を生成する
ために使用されるインタフェースstackable_fs_creator
を定義する。このインタフェースは生成という1つの動
作を実行し、この動作はstackable_fs型のファイルシス
テムの事例を戻すものである。stackable_fsインタフェ
ースはfsインタフェース及びnaming_contextインタフェ
ースから継承される。すなわち:
【0061】〔数1〕
【0062】ブート時又はラン時間中に、ファイルシス
テム型(たとえば、DFS及びCOMPFS)ごとにフ
ァイルシステムクリエータを生成する。ファイルシステ
ムクリエータが始動されたとき、ファイルシステムクリ
エータはそれ自体を周知の名前スペースに登録する。た
とえば、/fs_creators/dfs_creatorなどである。
【0063】新たなファイルシステムを構成するための
方法は次の通りである: 1.周知の名前スペースから正規の名前付け分解動作を
使用してファイルシステムクリエータオブジェクトをル
ックアップする(たとえば、/fs_creator で「dfs_crea
tor」をルックアップして、stackable_fs_creator 型で
あるオブジェクトdfs_creator_objを戻す。
【0064】2.ステップ1により戻されたファイルシ
ステムクリエータオブジェクトを使用して、ファイルシ
ステムの事例を生成する。たとえば、stackable_fs df
s=dfs_creator_obj->create (); 3.dfs 事例に下部ファイルシステムとしてstackable_
fs型のオブジェクトを与える。たとえば、dfs->stackon
(fs2 ); 尚、fs2 はstackable_fs型であるので、これもnaming_c
ontextである。2つ以上の下部ファイルシステムの上に
スタックを実行するために、スタックオン動作を2度以
上呼出すことができる−特定の1つの層をスタックしう
るファイルシステムの最大数は、そのインプリメンテー
ションによって決まる。
【0065】4.新たなファイルシステムの事例のファ
イルをユーザープログラムに対して露出させるために、
その事例を名前スペースのいずれかの箇所にバインドす
る。たとえば、some_name_server->bind(cxt,dfs); 尚、dfs も名前付け−コンテキストである。層が同一の
ドメインにより実現されるようにファイルシステムを構
成することが望まれる場合には、それらの層を生成する
ために使用されるクリエータオブジェクトを同一のドメ
インによって実現しなければならない。ファイルシステ
ムを構成しているアドミニストレータに、クリエータオ
ブジェクトが同一のドメインにより実現されるか否かを
判定させるために、いくつかの層を実現する特定のドメ
インはそのクリエータオブジェクトの全てを含むコンテ
キストを構成する。たとえば、DFS層とCOMPFS
層の双方を実現するドメインD1は、そのクリエータオ
ブジェクトを名前/fs_creators/D1/dfs_creator 及びfs
_creators/D1/compfs_creator の下に登録する。
【0066】次に図7を参照して、図6に示す拡張可能
ファイルシステムスタックを生成する際に使用するステ
ップを説明する。このセットアップにおいて、SFSの
上にスタックされているCOMPFSの上にDFSをス
タックする。このスタックは次のステップを使用して生
成される:
【0067】1.COMPFSクリエータオブジェクト
(compfs_creator_obj)の場所を探索するために、名前
付けサービス(たとえば、/fs_creator) に問合せる
(ステップ400)。 2.COMPFSの事例(compfs)を生成するためにco
mpfs_creator_objを要求する(たとえば、stackable_fs
compfs=compfs_creator_obj->create())(ステップ
402)。 3.stackable_fs型である(naming_contextでもある)
SFSオブジェクト(sfs)の場所を名前付けサービス
において探索する(たとえば、/fs/SFSOaからルックア
ップする)(ステップ404)。
【0068】4.ステップ2で生成したcompfsをステッ
プ3でルックアップしたsfs の上にスタックするため
に、そのcompfsを要求する(たとえば、compfs->stacko
n(sfs))(ステップ406)。 5.SFS,COMPFS及びDFSの各ファイルをエ
クスポートすべきか(並びにどこへエクスポートすべき
か)の決定を実行する。ファイルシステムのstackable_
fsオブジェクトをいずれかの箇所でコンテキストにバイ
ンドすることにより、そのファイルシステムをエクスポ
ートする。たとえば、「compfsオブジェクト」(naming
_contextでもある)を名前スペースにバインドすること
により、全てのcompfsファイルがエクスポートされると
考えられる(ステップ408)。
【0069】DFSの事例を生成し、それをcompfsの上
にスタックし且つそのファイルを名前スペースを介して
エクスポートするために、ステップ1、2、4及び5を
繰返す。たとえば、DSFに関しては、 stackable_fs dfs=dfs_creator_obj->create() dfs->stackon(compfs)
【0070】ここで、名前ルックアップが専用DFSプ
ロトコル(図6の334)を経て到達すると仮定する。
そこで、図8を参照すると、DFSにより実現されるフ
ァイルについて名前ルックアップを処理するために実行
されるステップは次の通りである: ・DFSはファイルの名前を分解し且つファイルオブジ
ェクトを戻すための要求を受ける(ステップ420)。 ・DFSはsfsオブジェクト(名前付けコンテキスト
である)をルートとする名前スペースに要求されたファ
イルを求めて問合せる(ステップ422)。 ・次に、COMPFSは、圧縮データを記憶するために
使用するファイルを求めて、sfsオブジェクト(同様
にnaming_contextである)をルートとする名前スペース
に問合せることにより、SFS中のファイルを分解する
(ステップ424)。 ・SFSはディスクから要求されたファイルをルックア
ップし、所望のファイルを表現するファイルオブジェク
ト(file_sfs)をCOMPFSに戻す(ステップ42
6)。 ・COMPFSは、SFSとのC2−P2結合をセット
アップするために、file_ sfsについてのバインド動作
を呼出す。次に、COMPFSは、圧縮解除ファイルを
表現するファイルオブジェクトをDFSに戻す(file_c
ompfs )(ステップ248)。 ・DFSはfile_compfs についてバインド動作を呼出し
て、COMPFSとのC4−P4結合を成立させる。次
に、DFSはDFSファイルを表現するファイルをその
呼出し側に戻す(file_dfs)(ステップ430)。
【0071】次に図9を参照すると、DFSファイルに
関する読取りを処理するために実行するステップが示さ
れている。専用DFSプロトコルを介して到達した遠隔
読取り要求の結果は次の通りである:
【0072】・DFSはfile_dfsを読取るための要求を
受信する(ステップ440)。 ・DFSはP4に対してページ−インを発行する(ステ
ップ442)。 ・COMPFSはP2に対して1つ又は複数の読取り専
用ページ−インを発行する(ステップ444)。 ・SFSはディスクから要求されたデータを読取り、そ
のデータをCOMPFSに戻す(ステップ446)。 ・COMPFSはデータの圧縮を解除し、それをDFS
に戻す(ステップ448)。 ・DFSは専用DFSプロトコルを介してデータをその
DFSクライアントへ送信する(ステップ450)。
【0073】尚、いずれかの時点で、ページャとして動
作しているSFSはP2−C2(図6)結合についてコ
ヒーレンシーアクションを開始しても良く、その結果、
COMPFSはP4−C4についてコヒーレンシーアク
ションを実行するであろう。同様に、スタックに沿った
キャッシュマネージャのいずれか(C1 326、C3
328、C2 318又はC4 310)からの要求
は、ページャによるコヒーレンシーをトリガするであろ
う。
【0074】また、いずれかの時点で、file_comp 31
2を介して又は(圧縮解除して)file_sfs 322を介
して、ファイル_dfs (図6の308)の下部データを
アクセスしても良いという点に注意する。そのような全
てのアクセスは互いにコヒーレントであると共に、遠隔
DFSクライアントとコヒーレントである。
【0075】本発明を特定のコンテキスト及びオペレー
ティングシステム環境で好ましい一実施例によって説明
したが、オブジェクト指向であるにしろ、ないにしろ、
本発明を変形を伴なって、別のコンテキストで、異なる
オペレーティングシステムにおいて特許請求の範囲の趣
旨の中で実施できることは当業者には認識されるであろ
う。
【図面の簡単な説明】
【図1】 本発明のファイルスタッキングアーキテクチ
ャを示すブロック線図。
【図2】 本発明のファイルスタッキングアーキテクチ
ャにおけるページャ及びキャッシュマネージャとしての
ファイルシステム層の使用を示すブロック線図。
【図3】 好ましい実施例で使用されるSPRINGシ
ステムの1つのノードにおける主要システムコンポーネ
ントを示すブロック線図。
【図4】 SPRINGにおける用語「オブジェクト」
の使用を示す図。
【図5】 拡張可能ファイルシステム層を生成するため
の一般手続きのブロック線図。
【図6】 好ましい実施例における拡張可能ファイルシ
ステム事例の例の線図。
【図7】 好ましい実施例における拡張可能ファイルシ
ステム事例の生成の1例を示すブロック線図。
【図8】 好ましい実施例で名前ルックアップを処理す
るために実行する一連のステップの例を示すブロック線
図。
【図9】 好ましい実施例で拡張可能ファイルシステム
事例に対する読取り動作を処理するために実行する一連
のステップの例を示すブロック線図。
【図10】 好ましい実施例におけるキャッシュオブジ
ェクトインタフェース定義のコード記述。
【図11】 好ましい実施例におけるページャオブジェ
クトインタフェース定義及びメモリオブジェクトインタ
フェース定義のコード記述。
【図12】 好ましい実施例におけるfs_cacheオブジェ
クトインタフェース定義のコード記述。
【図13】 好ましい実施例におけるfs_pagerオブジェ
クトインタフェース定義のコード記述。
【図14】 好ましい実施例におけるfsファイルシステ
ムインタフェース定義及びstackable_fsファイルシステ
ムインタフェース定義のコード記述。
【符号の説明】 200…ファイルシステム層fs4、202…インタフ
ェース、204…プログラムコード、206…層fs
3、208…層fs2、210…層fs1、212,2
14…ディスクドライブ、220…ファイルシステム層
fs2、222…ページャP2、224…ページャP
3、226…層fs1、228…キャッシュC3、23
0…ページャP1、232…層VMM、234…キャッ
シュC1、236…キャッシュC2、300…DFS
層、302…COMPFS層、304…SFS層、30
6…VMM層、308…ファイルシステムオブジェクト
fileDFS 、310…キャッシュオブジェクトC4、
312…ファイルシステムオブジェクトfileCOMP
314…ページャオブジェクトP4、316…ページャ
オブジェクトP3、318…キャッシュオブジェクトC
2、320…ページャオブジェクトP2、322…ファ
イルシステムオブジェクトfileSFS 、324…ペー
ジャオブジェクトP1、326…キャッシュオブジェク
トC1、328…キャッシュオブジェクトC3、334
…専用DFSプロトコル。
【数1】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・エル・ネルソン アメリカ合衆国 94070 カリフォルニア 州・サン カルロス・ヒルクレスト ロー ド・158

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 名前付けサービスを有するコンピュータ
    システムで新たなファイルシステムを既存のファイルシ
    ステムに対応付ける方法において,前記名前付けサービ
    スに問合せることにより、前記既存のファイルシステム
    の場所を確定する過程と;前記既存のファイルシステム
    を前記新たなファイルシステムを介してアクセスできる
    ように、前記新たなファイルシステムを前記名前付けサ
    ービスに結合する過程と;前記新たなファイルシステム
    にコヒーレントデータを提供する能力を有するデータ移
    動機構により前記ファイルシステムを前記既存のファイ
    ルシステムに結合する過程とから成る方法。
  2. 【請求項2】 前記新たなファイルシステムを含む前記
    第2の層の上の第3の層に追加ファイルシステムを挿入
    する追加過程と、前記追加ファイルシステムを前記名前
    付けサービスと、前記新たなファイルシステムとに結合
    する追加過程とをさらに含む請求項1記載の方法。
  3. 【請求項3】 名前付けサービスに結合する既存のファ
    イルシステムを有するコンピュータシステムの拡張可能
    ファイルシステムにおいて,前記既存のファイルシステ
    ムの場所を探索するために前記名前付けサービスをアク
    セスすることにより、前記既存のファイルシステムを識
    別する識別装置と;前記コンピュータシステムに結合
    し、それ自体を前記既存のファイルシステムと対応付け
    ることにより前記既存のファイルシステムに機能性を追
    加することができる新たなファイルシステムと;前記コ
    ンピュータシステムに結合し、前記既存のファイルシス
    テムにあるファイルを前記新たなファイルシステムを参
    照することによりアクセスできるように、前記新たなフ
    ァイルシステムを前記名前付けサービスに結合する結合
    機構と;前記コンピュータシステムに結合し、前記新た
    なファイルシステムを介してアクセスされているファイ
    ルデータに関してキャッシングサービスを実行すること
    により、前記既存のファイルシステムから前記新たなフ
    ァイルシステムにコヒーレントデータを提供することが
    できるデータ移動機構とを具備する拡張可能ファイルシ
    ステム。
  4. 【請求項4】 1つ又は複数のコンピュータを有し、各
    コンピュータがオペレーティングシステムと、既存のフ
    ァイルシステムと、ファイルに名前をマッピングできる
    名前付けサービスとを有するような分散形コンピュータ
    システムの拡張可能ファイルシステムにおいて,コンピ
    ュータにあり、そのコンピュータで前記名前付けサービ
    スをアクセスすることにより前記既存のファイルシステ
    ムの場所を識別する識別装置と;前記コンピュータに結
    合し、前記既存のファイルシステムに結合できる前記新
    たなファイルシステムの事例を生成することにより、新
    たなファイルシステムを生成するファイルシステム生成
    機構と;前記コンピュータに結合し、クライアントが前
    記既存のファイルシステムにあるファイルを、前記新た
    なファイルシステムの知識を全くもたずに前記新たなフ
    ァイルシステムを介して経路指定してアクセスすること
    ができるように、前記新たなファイルシステムを前記名
    前付けサービスに結合する結合機構と;前記コンピュー
    タに結合し、前記既存のファイルシステムを含む第1の
    層から前記新たなファイルシステムを含む第2の層にコ
    ヒーレントファイルデータを提供するデータ移動機構と
    を具備する拡張可能ファイルシステム。
  5. 【請求項5】 前記新たなファイルシステムを含む前記
    第2の層の上に挿入することができ且つ前記名前付けサ
    ービスと、前記新たなファイルシステムとに結合できる
    第3の層の追加ファイルシステムをさらに具備する請求
    項4記載の拡張可能ファイルシステム。
  6. 【請求項6】 複数の追加ファイルシステムをさらに具
    備し、前記追加ファイルシステムの各々は前記分散形コ
    ンピュータシステムのどの場所のコンピュータでも実現
    可能であり、且つ前記追加ファイルシステムの各々はイ
    ンプリメンタが希望する任意の順序で互いに結合する層
    として実現でき、前記結合は名前付け機構と、データを
    1つの層から次の層へ移動させることができるデータ移
    動機構とによるものである請求項4記載の拡張可能ファ
    イルシステム。
  7. 【請求項7】 遠隔コンピュータノードに配置された第
    2のファイルシステムに結合しうる新たなファイルシス
    テムを局所コンピュータノードに生成する目的でデータ
    処理システムで使用するためにコンピュータプログラム
    が記録されているコンピュータ読取り可能媒体を有し、
    前記局所コンピュータノードは通信リンクにより少なく
    とも1つの遠隔コンピュータノードに結合されているよ
    うなコンピュータプログラム製品において,前記第2の
    ファイルシステムにあるファイルデータと属性データを
    前記局所コンピュータノードから直接にアクセスできる
    と共に、前記局所ノードの前記新たなファイルシステム
    を介してもアクセスでき、前記新たなファイルシステム
    を介する前記第2のファイルシステムのデータの前記ア
    クセスはページャプログラムからキャッシュプログラム
    への結合を介して実行され、その結果、前記ファイルデ
    ータ及び前記属性データをコヒーレントに維持する能力
    が与えられるように、名前付けサービスをアクセスする
    ことにより前記第2のファイルシステムの場所を探索し
    且つ前記新たなファイルシステムを前記名前付けサービ
    スに結合するプログラムコードメカニズムを具備するコ
    ンピュータプログラム製品。
JP6142214A 1993-06-17 1994-06-02 新たなファイルシステムを既存のファイルシステムに対応付ける方法及び拡張可能なファイルシステム Pending JPH0713844A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7871493A 1993-06-17 1993-06-17
US078,714 1993-06-17

Publications (1)

Publication Number Publication Date
JPH0713844A true JPH0713844A (ja) 1995-01-17

Family

ID=22145791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6142214A Pending JPH0713844A (ja) 1993-06-17 1994-06-02 新たなファイルシステムを既存のファイルシステムに対応付ける方法及び拡張可能なファイルシステム

Country Status (4)

Country Link
US (1) US5561799A (ja)
EP (1) EP0629960B1 (ja)
JP (1) JPH0713844A (ja)
DE (1) DE69424597T2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863395A (ja) * 1994-08-19 1996-03-08 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法
JPH09198297A (ja) * 1995-10-03 1997-07-31 Internatl Business Mach Corp <Ibm> 拡張属性サポートを有する分散ファイル・システム・トランスレータ
US6397258B1 (en) 1998-09-14 2002-05-28 Matsushita Electric Industrial, Co., Ltd. File system
JP2002524793A (ja) * 1998-09-08 2002-08-06 メタフォリクス エルエルシー 仮想ファイル・サーバ
JP2006511100A (ja) * 2002-09-23 2006-03-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) プラグイン・ソフトウエアを用いて移動体プラットフォームの機能を拡張するための方法及びシステム
JP2008034954A (ja) * 2006-07-26 2008-02-14 Canon Inc 映像記録再生装置及びその制御方法、並びにプログラム

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5724512A (en) * 1995-04-17 1998-03-03 Lucent Technologies Inc. Methods and apparatus for storage and retrieval of name space information in a distributed computing system
US6023711A (en) * 1995-06-08 2000-02-08 International Business Machines Corporation System and method for flexible file encapsulation through latent levels of isolation
US5721948A (en) * 1996-02-29 1998-02-24 Sun Microsystems, Inc. System for creating mount command from verified programmable options compatible with file system types to attach media file system to an existing file system
US5745679A (en) * 1996-03-06 1998-04-28 Micron Technology, Inc. Method and device for file transfer by cascade release
US5930513A (en) * 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
US5991763A (en) * 1996-10-29 1999-11-23 Sun Microsystems, Inc. Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system
US6128711A (en) * 1996-11-12 2000-10-03 Compaq Computer Corporation Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
AU5365998A (en) 1996-11-27 1998-06-22 1 Vision Software, L.L.C. File directory and file navigation system
US6061740A (en) * 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management
US6115549A (en) * 1997-02-12 2000-09-05 Novell, Inc. Directory-services-based software distribution apparatus and method
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
US6134615A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US5940841A (en) * 1997-07-11 1999-08-17 International Business Machines Corporation Parallel file system with extended file attributes
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
US6163812A (en) * 1997-10-20 2000-12-19 International Business Machines Corporation Adaptive fast path architecture for commercial operating systems and information server applications
WO1999042934A2 (en) * 1998-02-20 1999-08-26 Storm Systems, Llc File system performance enhancement
US6697846B1 (en) 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6804718B1 (en) 1999-03-18 2004-10-12 Kent Ridge Digital Labs Computing system and method for migrating a mobile computing environment
US7634453B1 (en) 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
US6195650B1 (en) * 2000-02-02 2001-02-27 Hewlett-Packard Company Method and apparatus for virtualizing file access operations and other I/O operations
US6961726B1 (en) 2000-05-25 2005-11-01 International Business Machines Corporation Method of, system for, and computer program product for storing, retrieving, and using remote host file attributes on a local file system
US6842770B1 (en) * 2000-08-18 2005-01-11 Apple Computer, Inc. Method and system for seamlessly accessing remotely stored files
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
US6598119B2 (en) * 2001-02-09 2003-07-22 At&T Corp. Database management system with a multiple-level cache arrangement
GB0129044D0 (en) * 2001-12-05 2002-01-23 Koninkl Philips Electronics Nv Data storage methods and apparatuses with basic and extended file system capacity
JP2003215880A (ja) * 2002-01-23 2003-07-30 Oki Data Corp カラー画像記録装置
US7542988B1 (en) 2006-01-03 2009-06-02 Symantec Corporation File type associative application layered system
US7620956B2 (en) * 2003-06-11 2009-11-17 Symantec Corporation Portable memory storage devices with application layers
US7461096B1 (en) 2003-06-11 2008-12-02 Symantec Corporation Weighted prioritizing layered computing system
US7461086B1 (en) * 2006-01-03 2008-12-02 Symantec Corporation Run-time application installation application layered system
US7496931B2 (en) * 2003-12-30 2009-02-24 Symantec Corporation Portable memory storage devices containing public context application layers
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
US7165260B2 (en) * 2002-06-12 2007-01-16 Fsl, L.L.C. Layered computing systems and methods for insecure environments
US7549164B2 (en) * 2003-06-11 2009-06-16 Symantec Corporation Intrustion protection system utilizing layers and triggers
US7970789B1 (en) 2003-06-11 2011-06-28 Symantec Corporation Sublayered application layered system
US7512977B2 (en) * 2003-06-11 2009-03-31 Symantec Corporation Intrustion protection system utilizing layers
US7886291B1 (en) 2003-06-11 2011-02-08 Symantec Corporation Layer typed prioritizing application layered systems
US8010961B1 (en) 2003-06-11 2011-08-30 Symantec Corporation Data layer prioritization in an application layered system
US7877413B1 (en) 2002-06-12 2011-01-25 Symantec Corporation Path variablizing layered system
US8843903B1 (en) 2003-06-11 2014-09-23 Symantec Corporation Process tracking application layered system
AU2003251504A1 (en) * 2002-06-12 2003-12-31 Fslogic Inc. Systems and methods for the creation of software packages using layered systems
US8320241B2 (en) * 2002-07-30 2012-11-27 Brocade Communications System, Inc. Fibre channel network employing registered state change notifications with enhanced payload
US7035860B2 (en) * 2003-01-17 2006-04-25 International Business Machines Corporation Trusted access by an extendible framework method, system, article of manufacture, and computer program product
US7401092B2 (en) 2003-06-26 2008-07-15 Standbysoft Llc Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system
CN1849574A (zh) * 2003-08-06 2006-10-18 皇家飞利浦电子股份有限公司 呈现多个项目的方法
US20050091226A1 (en) * 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support
US20050216684A1 (en) * 2003-11-21 2005-09-29 Matsushita Electric Industrial Co., Ltd. Information recording medium, data processing apparatus, and recording region setting method of information recording medium
US20050273858A1 (en) * 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US7831642B1 (en) * 2004-09-30 2010-11-09 Symantec Operating Corporation Page cache management for a shared file
US7730015B1 (en) * 2004-10-15 2010-06-01 Oracle America, Inc. Stackable storage access mechanism for file systems
US7300621B2 (en) * 2005-03-16 2007-11-27 Siemens Power Generation, Inc. Method of making a ceramic matrix composite utilizing partially stabilized fibers
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US7860908B2 (en) * 2005-10-20 2010-12-28 International Business Machines Corporation Computer method for handling private process state in a stacking file system
US7725477B2 (en) * 2005-12-19 2010-05-25 Microsoft Corporation Power filter for online listing service
CN100442235C (zh) * 2006-06-28 2008-12-10 上海宝信软件股份有限公司 三层架构下的集成编译环境的实现方法
US8032570B2 (en) * 2007-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. Efficient stacked file system and method
US20090112915A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Class configuration for locally cached remote data binding
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
US20110055299A1 (en) * 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
US8881140B1 (en) 2009-09-04 2014-11-04 Symantec Corporation Systems and methods for virtualizing software associated with external computer hardware devices
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US9292569B2 (en) 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration
US9679084B2 (en) * 2013-03-14 2017-06-13 Oracle International Corporation Memory sharing across distributed nodes
US9256603B1 (en) 2013-06-28 2016-02-09 Emc Corporation File system over fully provisioned volume file in direct mode
US9256614B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over fully provisioned volume file in direct mode
US9329803B1 (en) 2013-06-28 2016-05-03 Emc Corporation File system over thinly provisioned volume file in mapped mode
US9256629B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system snapshots over thinly provisioned volume file in mapped mode
US9898414B2 (en) 2014-03-28 2018-02-20 Oracle International Corporation Memory corruption detection support for distributed shared memory applications
CN103984722B (zh) * 2014-05-14 2018-10-02 上海上讯信息技术股份有限公司 带节点的文件系统及文件处理方法
US10467139B2 (en) 2017-12-29 2019-11-05 Oracle International Corporation Fault-tolerant cache coherence over a lossy network
US10452547B2 (en) 2017-12-29 2019-10-22 Oracle International Corporation Fault-tolerant cache coherence over a lossy network
RU2718233C1 (ru) * 2019-10-01 2020-03-31 Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») Способ построения файловой системы на базе иерархии узлов

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014192A (en) * 1985-05-06 1991-05-07 Motorola Computer X, Inc. System for locating a file in a logical ring by sequentially forwarding access request with file system name and file name
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5202982A (en) * 1990-03-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for the naming of database component files to avoid duplication of files
US5367635A (en) * 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863395A (ja) * 1994-08-19 1996-03-08 Nippon Telegr & Teleph Corp <Ntt> データアクセス方法
JPH09198297A (ja) * 1995-10-03 1997-07-31 Internatl Business Mach Corp <Ibm> 拡張属性サポートを有する分散ファイル・システム・トランスレータ
JP2002524793A (ja) * 1998-09-08 2002-08-06 メタフォリクス エルエルシー 仮想ファイル・サーバ
US6397258B1 (en) 1998-09-14 2002-05-28 Matsushita Electric Industrial, Co., Ltd. File system
JP2006511100A (ja) * 2002-09-23 2006-03-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) プラグイン・ソフトウエアを用いて移動体プラットフォームの機能を拡張するための方法及びシステム
JP2008034954A (ja) * 2006-07-26 2008-02-14 Canon Inc 映像記録再生装置及びその制御方法、並びにプログラム
JP4653035B2 (ja) * 2006-07-26 2011-03-16 キヤノン株式会社 映像記録装置及びその制御方法、並びにプログラム
US8634692B2 (en) 2006-07-26 2014-01-21 Canon Kabushiki Kaisha Image recording/reproducing apparatus, control method thereof, program and storage medium

Also Published As

Publication number Publication date
EP0629960B1 (en) 2000-05-24
DE69424597D1 (de) 2000-06-29
EP0629960A3 (en) 1995-03-15
US5561799A (en) 1996-10-01
DE69424597T2 (de) 2001-03-01
EP0629960A2 (en) 1994-12-21

Similar Documents

Publication Publication Date Title
JPH0713844A (ja) 新たなファイルシステムを既存のファイルシステムに対応付ける方法及び拡張可能なファイルシステム
US6871245B2 (en) File system translators and methods for implementing the same
JP2779587B2 (ja) コンピュータシステムに用いる名前スペースの一部分を別の名前スペースの一部分として利用可能にするための装置及びその方法
KR100293795B1 (ko) 분산형데이터베이스시스템및데이터엔티티액세스방법
US7831643B1 (en) System, method and computer program product for multi-level file-sharing by concurrent users
US5765154A (en) Resource management system
US6643654B1 (en) System and method for representing named data streams within an on-disk structure of a file system
US5946685A (en) Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism
US5701462A (en) Distributed file system providing a unified name space with efficient name resolution
US6366916B1 (en) Configurable and extensible system for deploying asset management functions to client applications
US5623666A (en) Distributed computing system
US5001628A (en) Single system image uniquely defining an environment for each user in a data processing system
JP3083853B2 (ja) グローバルにディストリビュートされたソフトウェア・コンポーネントを管理するための方法
JPH11288395A (ja) オブジェクトの遠隔的ブラウズ方法及びシステム
JPH08339355A (ja) 分散形システムでの処理タスク実行呼び出し方法及び装置
US7117505B2 (en) Methods, systems, and apparatus to interface with storage objects
JPH0926890A (ja) オブジェクトを管理するための方法、装置、および、データ構造
JPH076091A (ja) メモリスペースの使用を管理する方法及びコンピュータシステム
US6829761B1 (en) Method and apparatus for managing shared memory in a run-time environment
US7167867B1 (en) Self-describing file system
US6912561B1 (en) Method and apparatus for using classes, encapsulating data with its behaviors, for transferring between databases and client applications and for enabling applications to adapt to specific constraints of the data
US20060253858A1 (en) Software service application and method of servicing a software application
US7209248B1 (en) Managing the lifetime of distributed resource data using temporal scopes
EP0278314B1 (en) Single system image
Ballesteros et al. The Design and Implementation of Plan B 3rd edition. A dynamic distributed computing environment.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050104