JPH10512986A - コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パスネームの再構成 - Google Patents

コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パスネームの再構成

Info

Publication number
JPH10512986A
JPH10512986A JP8522949A JP52294996A JPH10512986A JP H10512986 A JPH10512986 A JP H10512986A JP 8522949 A JP8522949 A JP 8522949A JP 52294996 A JP52294996 A JP 52294996A JP H10512986 A JPH10512986 A JP H10512986A
Authority
JP
Japan
Prior art keywords
file
link
directory
inode
operating 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.)
Pending
Application number
JP8522949A
Other languages
English (en)
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers 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 Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH10512986A publication Critical patent/JPH10512986A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

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)【要約】 Link Idsは、コンピュータ・オペレーティング・システムにおけるディレクトリ構成のファイル・ハンドル(104−105)に関連付けられる。Link Idsは、ファイル・ハンドルを当該ファイル・ハンドルに関連付けられたファイルに対するパスネームへ固有にマップさせる。一つのインプリメンテーション・リストは、Link Idに関連付けられたネームに対するディレクトリ構成の高速検索(208)を容易にすべく用いられる。リストは、各エントリ・ペアがLink Idであるエントリ・ペア及びLink Idに関連付けられたネームが見出されうるディレクトリ番号を含む。

Description

【発明の詳細な説明】 コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パス ネームの再構成発明の分野 この発明は、一般にコンピュータ・オペレーティング・システムにおけるファ イルの識別に関し、特に、オペレーティング・システムによって保守されるファ イル・ハンドルからのパスネームの再構成に関する。発明の背景 従来のコンピュータ・オペレーティング・システムは、コンピュータ内に記憶 されたファイルを編成しかつ管理するために種々の方法を用いる。ファイルを編 成するための一つの一般的な方法は、ファイルまたはディレクトリを他のディレ クトリ内に存在させるディレクトリ構成によるものである。ディレクトリが別の ディレクトリ内に存在する場合、存在しているディレクトリは、“sub-director y(サブ・ディレクトリ)”と呼ばれる。ファイルは、その結果として“parent (ペアレント(親))”ディレクトリに存在する。ファイルのペアレント・ディ レクトリは、次いで、ペアレント・ディレクトリを有しうる、等であり、それゆ えに、ディレクトリの階層構造を生成する。それぞれがファイル及び更なるディ レクトリを含みうる、このディレクトリの階層構造は、図1Aに示すようなディ レクトリ・ツリー構造を結果として生ずる。特定のファイルをアクセスするため に、開始からのチェーンにおけるペアレント・ディレクトリのそれぞれ、または “root(ルート)”ディレクトリは、ファイルの名前と一緒に、ストリングで命 名される。合成ストリングは、“パスネーム”と呼ばれる。 図1Aは、“file1(ファイル1)”、“file2(ファイル2)”、“file3( ファイル3)”及び“file4(ファイル4)”のようなファイルを含む、ルート ・ディレクトリ、“directory1(ディレクトリ1)”を含んでいる従来技術のデ ィレクトリ構成を示す。directory1(ディレクトリ1)は、また、ディレクト リー directory2(ディレクトリ2)及びdirectory3(ディレクトリ3)も含む 。directory2(ディレクトリ2)は、次いで、ファイル file5(ファイル5) 及びfile6(ファイル6)を含む。directory3(ディレクトリ3)は、ファイルf ile7(ファイル7)及びfile8(ファイル8)を含みかつまた、ディレクトリー directory4(ディレクトリ4)及びdirectory5(ディレクトリ5)も含む。dire ctory4は、ファイル file9(ファイル9)及びfile10(ファイル10)を含む 。実際には、ディレクトリは、あらゆる数のファイルまたはディレクトリを含む ことができる。 オペレーティング・システムは、コンピュータ・システムのユーザに、図1A に示すディレクトリ構成のようなディレクトリ構成内のファイル及びディレクト リーを生成させ、アクセスさせ、かつ処理させる。例えば、ユーザは、ファイル を生成しかつファイルが特定のディレクトリに配置されるということを特定する ことができる。ユーザは、ファイルを削除または移動することもできる。同様に 、ディレクトリに対して、ユーザは、ディレクトリが生成されるかまたは削除さ れるということを特定することができる。Unixオペレーティング・システム に基づくオペレーティング・システム(即ち、Unixライクなオペレーティン グ・システム)のような、あるオペレーティング・システムは、ユーザに、ファ イルが二つ以上の名前によってアクセスすることができるようにファイル間に“ リンク”を生成させる。 図1Aでは、ファイル7は、テキスト・ストリング“/directory1/directory3 /file7”によって参照される。ディレクトリ、directory1、は、“root(ルート )”ディレクトリと呼ばれかつパスネームがファイルへの絶対パスを特定すると ころのパスネームにおいて開始ディレクトリとして常に与えられる。絶対パスネ ームは、更なる情報を必要としないで所与のファイル・システム内のあらゆるフ ァイルを独自に識別する。パスネームの別の形式は、相対的パスを用いてファイ ル及び“curren(現行)”ディレクトリのような基準点または開始点を識別する 、相対的パスネームである。 例えば、相対的パスでは、現行ディレクトリがdirectory3であると想定すると 、file7は、“file7”としてファイルの名前を与えることによってだけ参照され うる。相対的パスの別の例は、現行ディレクトリがdirectory1であると想定する と、file7をアクセスすべくパス“directory3/file7”を用いることである。説 明の容易性のために、このアプリケーションは、絶対パスネームにより本発明を 記述する。ここに示された概念が相対的パスネームにも同様に適用可能であると いうことは、明らかであろう。Unixディレクトリ構成及びパスネーム上の一 般情報は、例えば、ISO/IEC 9945−1,IEEE 1003.1− 1990を調べる。 パスネームは、ディレクトリ及びファイルを特定するために人間ユーザに対し て便利な方法であると同時に、オペレーティング・システムは、“file handle (ファイル・ハンドル)”と呼ばれるパスネームのより計算的に上便利な内部表 現を用いる。一般的に、ファイル・ハンドルは、固有の数字または数字群であり かつコンピュータ・システム内に存在しているディレクトリまたはファイルのよ うな項目を独自に識別する他の情報も含みうる。 Unixライク・オペレーティング・システムではファイル・ハンドルは、“ inode(アイノード)”number(ナンバー)と呼ばれる数字を含む。固有のinode numberは、ディレクトリ構成または“file system(ファイル・システム)”内 の各ファイル及びディレクトリに割り当てられる。ファイルまたはディレクトリ は、そのネームまたはファイル・ハンドルによって同等に参照されうる。本発明 を説明する目的に対し、inode number(アイノード・ナンバー)は、Unixオ ペレーティング・システムのファイル・システムにおける所与のファイルに対し てファイル・ハンドルと同等であると考えられる。 図1Bは、Unixライク・オペレーティング・システムにおけるディレクト リ・ツリー構造の例である。例えば、“directory1”、“file1”等の記述的ネ ームを用いるよりも、Unixライク・システムにおいて出会うようなより一般 的なネームが用いられる。例えば、ルート・ディレクトリは、ラベル“/”が与 えられ、図1Bに示される二つのディレクトリは、“usr”及び“usr1”とラベ ル付けされる。また、図1Bにおいて、ディレクトリ及びファイル(例えば、フ ァイル“x”、“y”、及び“z”)に対するネームは、ディレクトリ構成のグ ラフの縁(エッジ)に隣接して配置されるということにも注目する。図1Aにお けるようなディレクトリ・グラフのノードにおけるファイル及びディレクトリ・ ネームの代わりに、図1Bに示したinode numbers は、ノードに配置される。こ れは、ファイル及びディレクトリがファイル・ハンドル(即ち、inode numbers )によって表されるオペレーティング・システムの見地を示す。inode numbers は、括弧の中の数値として示される。inode numbers は、各ファイルまたディレ クトリに対する“meta data(メタ・データ)”を保持するデータ構造に関連付 けられる。meta-data は、サイズ、生成日、アクセス権利、等のような関連ファ イルまたはディレクトリについての情報を含む。 inode numbers(即ち、ファイル・ハンドル)にパスネームを翻訳、または“r esolve(分解)”するために、グラフにおいてエッジに隣接するネームは、ルー ト・ディレクトリから発して所望のファイルまで組み合わされる。例えば、ファ イル“y”は、6のinode number(または単に、“inode 6”)で示される。ino de 6 に対するパスネームは、“/usr1/y ”である。図1Bでは、ルート・ディ レクトリは、inode number 2を有し、ディレクトリusr は、inode number 3 を 有する、等。パスネーム内で、個別のファイル及びディレクトリ・ネームは、ス ラッシュ(“/”)文字を用いて分離されるということに注目する。例えば、in ode number 7に対するパスネームは、“/usr1/z ”である。 各ファイルは、ファイル・システムが一つ以上のディスク・ドライブを表すよ うなfile system(ファイル・システム)に存在する。ルート・ディレクトリを 含んでいるファイル・システムは、root file system(ルート・ファイル・シス テム)と呼ばれる。各ファイル・システムは、ルート・ディレクトリが先頭に付 けられたそれ自身のファイル階層構造を有する。ルート・ディレクトリに対する inode numberは、常に、慣習により、番号2である。Inode numbers は、ファイ ル・システム内で固有である。ファイル・システムは、mountingと呼ばれる処理 によりルート・ファイル・システムにグラフト(接ぎ木)される。例えば、ファ イル5(“/ usr/x ”)がディレクトリであれば、図2に示すように第2のファ イル・システムをそのディレクトリにmounted(取付けることが)できる。 図1Cでは、File System(ファイル・システム)2は、図1Aのinode numbe r 5(“directory5”)を有するディレクトリにおけるFile System(ファ イル・システム)1 に取り付けられている。取付け後に、File System 2 のルー ト・ディレクトリは、ファイル階層構造においてFile System 1 のdirectory5を 有効に置換したということに注目する。Directory5は、File System 2 が取り外 されるまで可視ではない。一度取付けが行われたならば、File System 2 のファ イルへのアクセスは、“/usr/x”で始まっているパスネームでなされる。例えば 、File System 2 のファイル6をアクセスするために、パスネーム“/usr/x/q/s ”が用いられるであろう。 パスネームを用いてファイルを捜し出す処理は、pathname resolution(パス ネーム・レゾルーション)と呼ばれる。パスネーム・レゾルーションのプロダク トは、file handle(ファイル・ハンドル)である。ファイル・ハンドルは、再 びファイルのネームを分解することなくファイルを参照するために内部的にオペ レーティング・システムによって用いられる。戻されたファイル・ハンドルは、 一般的にファイル・システム番号(device number(デバイス番号)と通常呼ば れる)とアイノード番号(inode number)の組合せである。この明細書内では、フ ァイル・ハンドルは、括弧で囲まれた一対の整数(例えば、(2,6))を用い て表される。 ファイル・システムにわたるファイルをリネーム(改名)することは、許され ない(例えば、図1Dでは“/usr1/y”を“/usr/x/p/f”にリネームすることは 、不法である)。 Unixシステムの有用な特徴は、ほとんどのインプリメンテーションがディ レクトリに単一のネームだけを持たせるけれども、ファイルは、二つ以上のネー ムを有することができるということである。link()システム呼出しは、既存のフ ァイルに対する新しいネームを加えるために用いられる。例えば、呼出しlink( “/usr/x/q/r”,“/usr/x/p/f”)が図1Cのディレクトリ構成を含んでいるオペ レーティング・システムにおいてなされたならば、結果は、図1Dに示すようで あろう。いま、パスネーム“/usr/x/q/r”または“/usr/x/p/f”のいずれかは、 ファイル(2,5)をアクセスするために用いることができる。これは、一つの ネームが主要ネームであり他のものがエイリアス(alias)であるという情況では ないということに注目する−−両方のネームは、同様に用いることができかつオ リジナル・ネームは、新しいネームに影響を及ぼさないで除去することができる 。 改名を伴うの場合のように、link()システム呼出しは、一般的にファイル・シ ステム間のリンクを許容しない。ファイル・ハンドルを与えて、ファイル・ハン ドルによって表されたファイルに分解する二つ以上のパスネームが存在しうると いう、問題がファイル編成で存在する。これは、ファイル・ハンドルに基づきパ スネームを再発生することを困難にする。例えば、ファイル(2,5)を与える と、上記したリンク呼出しにより、ファイルへの二つの可能なパスネームが存在 するであろう。アイノード番号によって供給された限定付き情報だけで、どのパ スネームがファイル・ハンドル、即ちアイノード番号(inode number)を生成する ために最初に用いられたかということを告げることは、不可能である。発明の目的および概要 従って、同じファイルに対する複数のファイル・ハンドルの一つであるファイ ル・ハンドルがファイル・ハンドルを生成すべく最初に分解されたパスネームを 再発生するために用いることができるようなシステムを有することが望ましい。 そのようなシステムは、例えば、ファイルが複数のファイル・ハンドル及びパス ネームを有する場合にファイルをオープンするために用いられるパスネームを発 生するために有用である。 所与のファイル・ハンドルにパスネームを独自にマップするために、本発明の システムは、ファイル・システム・アイノード・ナンバー(inode numbers)、ま たはファイル・ハンドルに関連付けられたさらなる情報を用いる。特に、システ ムは、“link Id ”と呼ばれる番号及びペアレント・ディレクトリのアイノード ・ナンバー(inode number)を用いる。Link Id は、ファイルに対するリンクを固 有に識別する番号である。 本発明の一実施例では、オペレーティング・システムにおけるファイル・ハン ドルにパスネームを分解する方法が用いられる。方法は、予め既存のペアレント ・ファイルからの新しいファイルに対するリンクを生成しかつ記憶し;新しいフ ァイルに対するノード番号を生成しかつ記憶し;新しいファイルに対する固有の リンクId番号を記憶するサブステップを実行することによって新しいファイル ににリンクId番号を割り当て、リンクId番号は、ターゲット・ファイルに対 する全てのリンクの中で固有でありかつ、先の段階に続いて、新しいファイルの ノード番号及びリンクIdを用いて新しいファイルに対するパスネームを分解す ることを含む。図面の簡単な説明 図1Aは、ディレクトリ構成の例を示す; 図1Bは、Unixライク・オペレーティング・システムにおけるディレクト リ・ツリー構成の例を示す; 図1Cは、別のものに取付けられた一つのファイル・システムを示す; 図1Dは、図1Cのディレクトリ構成に対するリンク・コマンドの実行の結果 を示す; 図2は、本発明に使用するために適する一般的なコンピュータ・システムにお ける基本サブシステムの説明図である; 図3は、ターゲット・アイノードに新しいネームをリンクすべくリンク・コマ ンドガ実行されるときに呼び出されるルーチンに対するフローチャートを示す; かつ 図4は、ファイル・ハンドルにパスネームを関連付けるためにファイル・シス テムにおけるLink Ids及びペアレント・リストを用いるルーチンに対す るフローチャートを示す。実施例 図2は、本発明に用いるのに適する一般的なコンピュータ・システムにおける 基本サブシステムの説明図である。図2では、サブシステムは、中央プロセッサ 10、システム・メモリ11、ディスプレイ・アダプタ12、モニタ13、等の ようなブロックによって表される。サブシステムは、システム・バス14を介し て相互接続される。プリンタ、キーボード、固定型ディスクのようなさらなるサ ブシステム及びその他が示されている。周辺装置及び入出力(I/O)機器は、 例えば、シリアル・ポート15によってコンピュータ・システムに接続すること ができる。例えば、シリアル・ポート15は、モデムまたはマウス入力機器にコ ンピュータ・システムを接続するために用いることができる。システム・バス1 4を介する相互接続は、中央プロセッサ10に各サブシステムと通信させかつシ ステム・メモリ11または固定型ディスク16からの命令の実行及びサブシステ ム間の情報の交換を制御させる。サブシステム及び相互接続の他の構成が可能で ある。 本発明は、“link Id(リンクId)”の概念を用いる。link Id は、本質的に は、ファイルに対するリンクの数の計数である。lastLinkId(ラストリンクId )フィールドは、オペレーティング・システムのディレクトリ構成における各ア イノードに対して維持される。lastLinkIdフィールドは、アイノードに割り当て られた、または“linked(リンクされた)”、各ネームに対するlink Id 番号を 含む。 ファイルが最初に生成された場合、関連アイノードのlastLinkIdフィールドは 、1に設定されかつファイルに対する初期リンクも1である。そのように後続リ ンクが加えられ、lastLinkIdが増分されかつその値が新しいリンクのIdになる 。link Idsは、アイノード内で固有であることが必要なだけであることに注目す る−−ファイルに割り当てられた最初のリンクは、常にlink Id 1 を有し、第2 のものは、link Id 2 を有する、等である。 例として、ルート・ファイル・システムが空でありファイル“/a”が生成され ると想定する。新しいファイルは、アイノード番号3を有し(なぜならば、ルー ト・ディレクトリがアイノード番号2を常に得るので)かつ“a”は、link Id 1 を有する。ルート・ディレクトリの内容を表Iに示す。 表1 いま、呼出しlink(“/a”,“/b”)がなされたならば、ディレクトリは、表I Iに 示すようである。 表2 次に、ディレクトリ“d”(アイノード番号4)がルート・ディレクトリに加 えられると想定する。ルート・ディレクトリの内容は、表IIIに示すようであ る。 表3 この点において、呼出しlink(“/a”,“/d/f”)がなされたならば、ルート・ ディレクトリの内容は、変更されずかつdirectory4の内容は、表IVに示すよう である。 表4 この点で、アイノード3のlastLinkIdフィールドは、ファイルが生成されて以 来ファイルに対する3つのリンクの合計が加えられたので値3を有する。 次に、フローチャートは、リンク・コマンドが実行された後にアイノードにLi nk Ids及びペアレント・リスト・エントリを割り当て、かつ所与のファイル・ハ ンドルにペスネームを分解、またはマップすべくLink Ids及びペアレント・リス ト・エントリ用いるための本発明のルーチンにおける段階を説明するために示さ れる。一般に、この明細書におけるフローチャートは、図2のコンピュータ・シ ステムのようなコンピュータ・システムにおいて実行する一つ以上のソフトウェ ア・ルーチンを説明する。ルーチンは、この技術分野において知られたようなあ らゆる手段によってインプリメントされうる。例えば、“C”、Pascal、 FORTRAN、アセンブリ言語、等のような、あらゆる数のコンピュータ・プ ログラミング言語が用いられうる。更に、手続き、オブジェクト指向型または人 工知能技術のような種々のプログラミング・アプローチが採り入れられうる。 フローチャートの段階は、一つ以上のソフトウェア・ルーチン、処理、サブル ーチン、モジュール、等によってインプリメントされうる。ある場合には段階は 、オペレーティング・システム呼出しの使用によってインプリメントされうる。 各フローチャートは、単に本発明の方法の広範な論理フローの説明のためであり かつ段階は、本発明の範疇から逸脱することなくフローチャートに追加またはそ れから除去されうるということが理解されるであろう。更に、フローチャートに おける段階の実行の順番は、本発明の範疇から逸脱することなく変更されうる。 ソフトウェアにおけるフローチャートによって記述された方法をインプリメント することにおけるさらなる考慮は、段階の選択及び順番における変更を命令(指 図)しうる。ある考慮は、割込み駆動型、ポーリング型、または他のスキームに よる事象取扱い(event handling)である。マルチプロセッシングまたはマルチタ スキング環境は、段階を“同時”に実行させる。説明の簡略化のために各フロー チャートのインプリメンテーションは、それが単一の“ルーチン”でインプリメ ントされるように参照される。 図3では、フローチャート100は、新しいネームをターゲット・アイノード にリンクすべくリンク・コマンドが、上述したように、実行されるときに段階1 02でエンター(入力)される。フローチャート100にエンター(入力)す るまえに、ターゲット・ノードがそれに関連付けられたlastLinkIdフィールドを 有するということを想定する。lastLinkIdフィールドは、最初、ターゲット・ア イノードへの初期(オリジナル)リンクに対して1に設定される。ターゲット・ アイノードは、1のLink Id を有する。ターゲット・アイノードを生成するため に用いられるネームは、例えば、“a”と命名されたリンクに対して、上記表I に示したようなLink Id 及びターゲット・アイノード番号に関連付けられる。表 のそれぞれは、ペアレント・ディレクトリに存在しているアイノードのペアレン ト・ディレクトリに関連付けられたアイノードに対する情報を表す。 ステップ104ではターゲット・アイノードに対するlastLinkId値は、新しい リンクに対するLink Id を生成すべく増分される。ステップ105ではIastLink Idの値は、ペアレント・ディレクトリ表におけるリンクされたネームに割り当て られる。この例では、ターゲット・アイノードは、“a”と呼ばれる、一つのリ ンクだけを有し、かつlastLinkId値は、1のままであった。それゆえに、増分さ れたlastLinkId値は、2である。新しいエントリは、具体的にルート・ディレク トリである、ターゲット・アイノードのペアレント・ディレクトリに対するペア レント・ディレクトリ表においてなされる。新しいエントリは、ターゲット・ア イノード3と共に、リンクされたネーム、“b”、及びLink Id 2 を含む。フロ ーチャートのルーチンは、ステップ106で出る。 それゆえに、図3のフローチャートは、リンク・コマンドがオペレーティング ・システムにおいて実行されるときにLink Idsを割り当てる方法を説明する。 図4は、パスネームをファイル・ハンドルに関連付けるためにファイル・シス テムにおけるLink Idsを用いるルーチンに対するフローチャート200を示す。 フローチャート200は、チャイルド・アイノード番号、ペアレント・アイノー ド番号、ファイル・システム番号及びLink Id を含んでいるファイル・ハンドル がパスされると想定されるようなステップ202でエンター(入力)される。 ステップ204では、ペアレント・アイノード番号及びファイル・システム番 号は、ペアレント・ディレクトリを捜し出すために用いられる。ステップ206 では、ディレクトリが捜し出されたかどうかというテストがなされる。ディレク トリが捜し出されなかったならば、ファイル・ハンドルは、“stale(ステール )” であると想定されかつルーチンは、ステップ213を介してエラーを伴って出さ れる。 ステップ208では、ディレクトリ表は、チャイルド・アイノード番号及びLi nk Id におけるマッチを探すために検索される。ステップ210では、マッチが 見出されたかどうかというテストiがなされる。マッチが見出されなかったなら ば、ファイル・ハンドルは、stale(ステール)であると想定されかつルーチン は、ステップ213を介してエラーを伴って出される。 ステップ212では、スラッシュ文字(“/”)及びチャイルド・アイノード 及びLink Id がマッチしているディレクトリ・エントリにおけるファイル・ネー ムは、完全なパスネームを形成すべくペアレント・ディレクトリのネームに追加 される。ペアレント・ディレクトリのネームは、オペレーティング・システムが ディレクトリ・ネームを得るために用いるあらゆる機能を用いて得られる。好ま しい実施例では、Unixオペレーティング・システム・コマンド“getcwd”に よって用いられたステップを後続する手順がペアレント・ディレクトリのネーム を得るために用いられる。 そして、ルーチンは、ステップ214で出される。 それゆえに、図4は、ファイル・ハンドルが複数のパスネームを有することが できるファイルに対するようなパスネームにファイル・ハンドルをマップするた めのルーチンを示す。 上記明細書では、本発明は、その特定の例示的実施例を参照して記載された。 しかしながら、請求の範囲に示されたような本発明のより広い精神及び範疇から 逸脱することなく種々の変更及び変形がなされうるということが明らかであろう 。従って、明細書及び図面は、限定的ではなく説明のためであると考えられるべ きであり、本発明は、請求の範囲によってのみ制限される。

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータ・システムで実行しているオペレーティング・システムにおけ るファイル・ハンドルにパスネームを分解する方法であり、前記コンピュータ・ システムは、プロセッサ及びメモリを含み、前記オペレーティング・システムは 、パスネームを定義すべく一連の順序付けられたリンクを受け容れることによっ てパスネームの生成を許容し、各リンクは、リンク・ネームを含み、各リンクは 、ペアレント・ファイル及びターゲット・ファイル間に関連付けられ、各ファイ ルは、ノード番号を有し、所与の一連の順序付けられたリンクは、シーケンスの 最終リンクに関連付けられたターゲット・ファイルに対するパスネームを定義し 、所与のファイルに対するファイル・ハンドルは、所与のファイルのノード番号 を含み、前記方法は、 次のサブステップを実行することによって新しいファイルににリンクID番 号を割り当て、 予め既存のペアレント・ファイルからの前記新しいファイルに対するリ ンクを生成しかつ記憶し; 前記新しいファイルに対するノード番号を生成しかつ記憶し; 前記新しいファイルに対する固有のリンクID番号を記憶し、 前記リンクID番号は、前記ターゲット・ファイルに対する全てのリンクの 中で固有であり;かつ 上記段階に続いて、前記新しいファイルの前記ノード番号及びリンクIDを 用いて前記新しいファイルに対する前記パスネームを再生する 段階を具備することを特徴とする方法。 2.前記オペレーティング・システムは、UNIXファイル及びディレクトリ編 成スを有しているオペレーティング・システムであることを特徴とする請求項1 に記載の方法。
JP8522949A 1995-01-23 1996-01-19 コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パスネームの再構成 Pending JPH10512986A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/379,312 US5566328A (en) 1995-01-23 1995-01-23 Reconstructing directory pathnames from file handles in a computer system
US08/379,312 1995-01-23
PCT/US1996/000783 WO1996023268A1 (en) 1995-01-23 1996-01-19 Reconstructing directory pathnames from file handles in a computer system

Publications (1)

Publication Number Publication Date
JPH10512986A true JPH10512986A (ja) 1998-12-08

Family

ID=23496728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8522949A Pending JPH10512986A (ja) 1995-01-23 1996-01-19 コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パスネームの再構成

Country Status (5)

Country Link
US (1) US5566328A (ja)
EP (1) EP0804770A4 (ja)
JP (1) JPH10512986A (ja)
CA (1) CA2195861A1 (ja)
WO (1) WO1996023268A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040097A (ja) * 2004-07-29 2006-02-09 Matsushita Electric Ind Co Ltd Avネットワーク機器、そのデータ転送方法、プログラム、記録媒体

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2715486B1 (fr) * 1994-01-21 1996-03-29 Alain Nicolas Piaton Procédé de comparaison de fichiers informatiques.
EP0882266A1 (en) 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
US5819296A (en) * 1996-10-31 1998-10-06 Veritas Software Corporation Method and apparatus for moving large numbers of data files between computer systems using import and export processes employing a directory of file handles
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
AU5454998A (en) * 1996-11-22 1998-06-10 Mangosoft Corporation System for tracking data
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
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
US5905990A (en) * 1997-06-23 1999-05-18 International Business Machines Corporation File system viewpath mechanism
US6480864B1 (en) * 1999-06-15 2002-11-12 Cisco Technology, Inc. RAM based directory layer for a flash file system
US7634453B1 (en) * 1999-08-13 2009-12-15 Storage Technology Corporation Distributed file data location
WO2001067207A2 (en) * 2000-03-09 2001-09-13 The Web Access, Inc. Method and apparatus for organizing data by overlaying a searchable database with a directory tree structure
US6970892B2 (en) * 2001-02-16 2005-11-29 Stratus Technologies Bermuda Ltd Implementing standards-based file operations in proprietary operating systems
US6775679B2 (en) * 2001-03-20 2004-08-10 Emc Corporation Building a meta file system from file system cells
US7200627B2 (en) * 2001-03-21 2007-04-03 Nokia Corporation Method and apparatus for generating a directory structure
EP1433086A4 (en) * 2001-09-26 2006-07-26 Emc Corp EFFICIENT MANAGEMENT OF LARGE SIZE FILES
US6985914B2 (en) * 2002-02-20 2006-01-10 Emc Corporation Cluster meta file system of file system cells managed by respective data movers of a network file server
US6980994B2 (en) * 2002-07-08 2005-12-27 International Business Machines Corporation Method, apparatus and computer program product for mapping file handles
US7752226B1 (en) * 2002-12-20 2010-07-06 Symantec Operating Corporation Reverse pathname lookup by inode identifier
US7716187B2 (en) * 2003-05-21 2010-05-11 Microsoft Corporation System and method for transparent storage reorganization
US20050044075A1 (en) * 2003-07-29 2005-02-24 Microsoft Corporation Method and apparatus for late-binding/dynamic pathname resolution
US7441097B2 (en) 2003-09-10 2008-10-21 Seagate Technology Llc Data storage system and method for adaptive reconstruction of a directory structure
US7814131B1 (en) 2004-02-02 2010-10-12 Network Appliance, Inc. Aliasing of exported paths in a storage system
US7293039B1 (en) 2004-03-12 2007-11-06 Network Appliance, Inc. Storage resource management across multiple paths
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
US7844646B1 (en) * 2004-03-12 2010-11-30 Netapp, Inc. Method and apparatus for representing file system metadata within a database for efficient queries
US8166005B2 (en) * 2004-09-21 2012-04-24 Emc Corporation Pathname caching and protection of the root directory in a nested multilayer directory structure
US7904906B2 (en) * 2004-11-23 2011-03-08 Stratus Technologies Bermuda Ltd. Tracking modified pages on a computer system
US7627547B2 (en) * 2004-11-29 2009-12-01 Oracle International Corporation Processing path-based database operations
US8949455B2 (en) * 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US7475077B2 (en) * 2006-01-31 2009-01-06 International Business Machines Corporation System and method for emulating a virtual boundary of a file system for data management at a fileset granularity
US20070266128A1 (en) * 2006-05-10 2007-11-15 Bhogal Kulvir S Method and apparatus for monitoring deployment of applications and configuration changes in a network of data processing systems
US7882539B2 (en) * 2006-06-02 2011-02-01 Microsoft Corporation Abstracting security policy from, and transforming to, native representations of access check mechanisms
JP5076736B2 (ja) * 2007-08-27 2012-11-21 日本電気株式会社 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム
US20090265780A1 (en) * 2008-04-21 2009-10-22 Varonis Systems Inc. Access event collection
US8572036B2 (en) 2008-12-18 2013-10-29 Datalight, Incorporated Method and apparatus for fault-tolerant memory management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479196A (en) * 1982-11-15 1984-10-23 At&T Bell Laboratories Hyperedge entity-relationship data base systems
JPS63286941A (ja) * 1987-05-20 1988-11-24 Hitachi Ltd フアイルシステム管理方式
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5218696A (en) * 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
AU631276B2 (en) * 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
US5301286A (en) * 1991-01-02 1994-04-05 At&T Bell Laboratories Memory archiving indexing arrangement
CA2067650C (en) * 1991-07-24 1996-10-22 Eric Jonathan Bauer Method and apparatus for operating a computer-based file system
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
US5434974A (en) * 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
CA2110243C (en) * 1992-12-31 1998-08-11 Philip Steven Winterbottom Apparatus and methods for making a portion of a first name space available as a portion of a second name space
JPH06290096A (ja) * 1993-03-31 1994-10-18 Matsushita Electric Ind Co Ltd パス名解決装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040097A (ja) * 2004-07-29 2006-02-09 Matsushita Electric Ind Co Ltd Avネットワーク機器、そのデータ転送方法、プログラム、記録媒体

Also Published As

Publication number Publication date
CA2195861A1 (en) 1996-08-01
WO1996023268A1 (en) 1996-08-01
EP0804770A1 (en) 1997-11-05
EP0804770A4 (en) 2008-02-13
US5566328A (en) 1996-10-15

Similar Documents

Publication Publication Date Title
JPH10512986A (ja) コンピュータ・システムにおけるファイル・ハンドルからのディレクトリ・パスネームの再構成
JP2708331B2 (ja) ファイル装置およびデータファイルアクセス方法
US5937411A (en) Method and apparatus for creating storage for java archive manifest file
US6134553A (en) Method for using region-sets to focus searches in hierarchical structures
US5692180A (en) Object-oriented cell directory database for a distributed computing environment
US7849112B2 (en) Using a file handle for associating the file with a tree quota in a file server
CA2137492C (en) System for and method of providing delta-versioning of the contents of pcte file objects
US7844617B2 (en) Systems and methods of directory entry encodings
US5530849A (en) Method of reading dynamic, hierarchical file system directories
US7720869B2 (en) Hierarchical structured abstract file system
JP2000090074A (ja) ドキュメントの管理方法
JP2011187068A (ja) リレーショナルシステムにおける階層的に編成された情報にアクセスするための階層的インデックス付け
US7480661B2 (en) Query services for database system
JP2000089989A (ja) 文書に付与されたプロパティを用いたサ―ビスの起動方法
US20020184252A1 (en) File tree comparator
JP2009009590A (ja) ウェブサイトのコンテンツの開発システム及び方法
US20080065661A1 (en) Saving and restoring an interlocking trees datastore
US5873092A (en) Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
Blair et al. A knowledge-based operating system
JPH09204308A (ja) マルチレベル・インデックス持ったオブジェクト・ネーム・サービスを含む情報処理システム及び方法
EP0270360A2 (en) Data management system
Westerberg A future computer environment for preliminary design
Thomas Version and configuration management on a software engineering database
JPH07271569A (ja) プログラム仕様書作成システム
US20020059255A1 (en) Apparatus and method for operating an information deposit and retrieval system with resource property system