JP2008503817A - コンピュータ・デバイスにおけるファイル管理 - Google Patents

コンピュータ・デバイスにおけるファイル管理 Download PDF

Info

Publication number
JP2008503817A
JP2008503817A JP2007517453A JP2007517453A JP2008503817A JP 2008503817 A JP2008503817 A JP 2008503817A JP 2007517453 A JP2007517453 A JP 2007517453A JP 2007517453 A JP2007517453 A JP 2007517453A JP 2008503817 A JP2008503817 A JP 2008503817A
Authority
JP
Japan
Prior art keywords
list
file
directory
tag
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.)
Pending
Application number
JP2007517453A
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.)
Symbian Software Ltd
Original Assignee
Symbian Software Ltd
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 Symbian Software Ltd filed Critical Symbian Software Ltd
Publication of JP2008503817A publication Critical patent/JP2008503817A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Landscapes

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

Abstract

コンピュータ・デバイス上でディレクトリを読む場合、リストをクライアントのアプリケーションに引き渡す際にファイルサーバは唯一のタグをリストに付加する。ファイルサーバは、ファイルが対応するファイルの物理アドレスと共に唯一なタグのリストを保持する。クライアントがファイルをオープンすることを望むと、クライアントはファイルサーバにタグを渡すことによりファイルをオープンすることができる。これによりファイルサーバは、ファイル名からファイルの物理的位置を見出すために2度目のディレクトリ検索を企てることを必要とせず、直接ファイルをロードすることができる。

Description

本発明は、コンピュータ・デバイスにおけるファイル管理に関し、特にコンピュータ・デバイスにおいてファイルをオープンする改良された方法に関する。
本明細書において使用する用語であるコンピュータ・デバイスはあらゆる形式の電動のコンピュータ・デバイスを含むように拡張して考えられ、データ記録装置、ハンドヘルドおよびパーソナルコンピュータを含むあらゆるタイプまたは形式のコンピュータ、携帯電話機、スマートフォン、そして、通信、画像の記録および/または再生、計算機能を単一装置内で組み合わせるコミュニケータを含むあらゆるフォームファクタの通信装置、および他の形式の無線および有線の情報装置を含む。
コンピュータ・デバイス上のファイルは永続的な名称を付されたデータの格納装置であり、単一のビット・ストリームとして提示される。ファイル管理は、最も単純なコンピュータ・デバイスは別として全てのオペレーティングシステムの主なタスクの1つである。初期のスタンドアロンのパーソナルコンピュータでは、マイクロソフト社の最初のOS(オペレーティングシステム)に対してDOS(ディスク・オペレーティングシステム)という略称を選択したことにも示されるように、ファイル管理は恐らく間違いなく主なオペレーティングシステムのタスクであった。ユーザインタフェースはより複雑になり、ネットワーク化され、接続されたシステムの増大およびコンピューティングと通信の装置の融合によりネットワークおよびリンク管理の重要性は増したが、ファイル管理は依然としてあらゆる先端的コンピュータ・デバイスのコアとなる機能の1つである。
近年のオペレーティングシステムにおける最も基本的なファイル管理は、
・システムのディレクトリまたはファイル・インデックスの維持すること、
・要求に応じて名称付きファイルをオープンまたは生成すること、
・コンテンツの読み取りまたは書き込みを可能にすること、
・ファイルまたは内容の削除を可能にすること
である。ファイル管理の処理をするオペレーティングシステムの部分はファイルシステムと呼ばれる。
ファイルシステムはOSの基本的な部分であるが、ファイルシステムは、システムの最も重大なボトルネックの1つであることがよくあり、多重のファイルシステムアクセスは、それ故あらゆるコンピュータ・デバイスの動作の実効速度を低下させる。これには2つの主な理由が存在する。
・ファイルシステムが行う必要のある仕事の複雑さの故に、データファイルの書き込みと検索は計算上極めてコストを要しうる。大部分のファイルシステムは複数のレベルの間接的手法を使用して、特定のハードウエアの特性と非効率性を抽象化し、また格納する必要のある種々のタイプのデータに論理的構造を課す。さらに読み出し専用(RO)でない全てのファイルシステムは、その管理するデータの内容の変化に動的に対処しなければならない;ファイルシステムは書き込みの発生の際に、システムの既存データの完全性が損なわれることのないことを保証し、また「ディスク・フル」および「不良ブロック」などのエラーの状況を予測し、処理しなければならない。
・さらに重要なことは、永続的ファイルを格納する物理的媒体(ディスク駆動装置であるか否かにかかわらず、歴史的理由からディスクまたは駆動装置を一般に意味する)は殆ど常にコンピュータ・デバイスを含む他のハードウエアよりアクセス速度が遅い。これは、パーソナルコンピュータに使用される従来のフロッピー(登録商標)およびハードディスク駆動装置では最も顕著であり、これらの装置は比較的遅い金属化合物の磁気格納装置に依存する。一般的なフロッピー(登録商標)ディスクのデータ伝送速度は150キロビット/秒に過ぎない。ハードディスクは遥かに速く、今や100メガビット/秒の速度に近づくが、これは今や1.5ギガビット/秒を超える可能性のある装置のランダムアクセスメモリ(RAM)の速度より依然として遥かに遅い。その比較的遅い生のデータ伝送速度とともに、ディスク駆動装置は、また媒体を物理的に回転させる必要から不利な影響を受ける;これはより近代的なCDおよびDVD駆動装置と共有する特性であり、これらはレーザ技術に依存し、データを読み、代表的にはフロッピー(登録商標)ディスクの速度の10倍に達する速度でデータを書き込むことができ、フロッピー(登録商標)ディスクの速度の約50倍の速度でデータを読み込むことができる。全てのディスク媒体に関する問題は、比較的起動が遅く;ディスクを読み出しうる前に正しい位置まで回転させなければならないので、直ちにデータを供給することができず、駆動装置の読み出し準備ができるのを待つ必要からさらに遅延が増すことである。
これらの考察はここ数年重要性を増しつつあるが、これは移動電話機、パーソナル・デジタル・アシスタント(PDA)およびデジタルカメラなどのバッテリで動作するモバイル・コンピュータ・デバイスへの適用によるものである。このクラスの装置は一般に固定の格納装置にディスク媒体を使用せず(アップル社のiPodなどの幾つかのMP3プレイヤーは例外である)、フラッシュメモリディスク、CF(Compact Flash)カード、MMCカード(MultiMedia Cards)、メモリースティック、SM(Smart Media)(登録商標)カードおよびSD(Secure Digital)カードなどの固体媒体を一般に使用する。
・これらの固体媒体はディスク駆動装置と同様の遅延の問題に困ることはないが、そのデータ伝送速度は依然としてRAMより遥かに遅く(代表的には1メガビット/秒から2メガビット/秒)、従って全体的装置性能を改善するためにディスクアクセスを減らそうとする上記の動機は同様に当てはまる。
・さらに良く知られていることは、読み出し専用メモリ(ROM)へのアクセス速度はランダムアクセスメモリ(RAM)の場合より遥かに遅く;これが、大部分のパーソナルコンピュータがROMの内容をRAMにコピーし、メモリアクセスを遅いROMの代わりに速いRAMへ対応付けし直し、性能を改善する1つの理由である。セル電話機、PDAおよびデジタルカメラなどのROMで起動しバッテリで動作するモバイル・デバイスのユーザは立ち上がり時間がより速いことにより大きな利点となり得るが、これは、電源投入と装置が動作状態になる間の遅延がこれらの装置のユーザにとって欲求不満と見られることが多いからである。ROMのファイルシステムを高速化するものは何であれ、起動時間を減らし、このクラスの装置にとってそれ故きわめて望ましく、少なからず有益である。
・同様に重要なのは、固体格納装置へのアクセスは、バッテリで動作する装置がより速い速度で電力を消費することに繋がり、これは明らかにバッテリの再充電または取替えの間の使用可能寿命をより短くする結果となる。それ故、ファイルシステムへのアクセスを最小にするあらゆる技術は電力の保存に役立ち、装置可用性の増大となる。
コンピュータシステム設計者およびソフトウエア設計者は長年の間、コンピュータ・デバイス全体として動作を高速化するために、ファイルシステムおよび物理的ディスク両方へのアクセスを最小にする方法を求めてきた。大部分の速度改善はキャッシュ技術の使用に頼っている。
例えばデータブロックの一部をディスクなどのより遅い媒体から読む必要がある場合、ブロック全てを読み、読み取りキャッシュにおけるRAMなどのより速い媒体に一時的に格納することができる;これは、データが既にキャッシュにあるので、その後同じブロックからデータを読むのにより遅い格納媒体にアクセスする必要がないことを意味する(この方法でキャッシュからデータを読むことができることはキャッシュヒットとして知られる)。書き込みキャッシュ(レイジー書き込みとしても知られている)は、複数回の非効率的書き込み動作を無くすことにより少し異なるように動作し;メモリのディスクに書かれる少量のデータは、物理的書き込みを行うに値するほど十分なデータが集まるまでキャッシュに保持される。
この発明の分野に対して特別な関心があり、それほど知られていないキャッシュメカニズムは名前キャッシュであり、これはファイルシステムにおける特定のボトルネックに提供するために設計されたものである。
名前キャッシュが動作する前提では、ファイルシステムが一般にファイルの物理的位置に対するポインタおよびディレクトリを論理的階層構造におけるその名前と共に格納する。そのような構造では単一のルートのディレクトリは、常にファイルの取出しが始まる最初の場所である;ルート(つまりトップレベル)のディレクトリは幾つかのディレクトリエントリを含み、これらのエントリはファイルを直接指定できるか、または代わりに1以上の第2のレベルのディレクトリを指定することができる。これら第2のレベルのディレクトリは、自らファイルを直接指定することができるか、または第3のレベルのディレクトリを指定することができる。このディレクトリのネスティングは深さ方向に多数のレベルまで続きうる。
名前キャッシュが扱うように設計されるボトルネックは、ファイルをその固有のパス名から出発してディスク上で物理的に位置づけるのに使用される方法から生じ、パス名はファイル名を含み、ファイル名はファイルが見つかるサブディレクトリによりプレフィックスを付され、サブディレクトリは次にサブディレクトリが見つかるディレクトリによりプレフィックスを付される、などによりルートディレクトリに戻る。
ファイルを物理的に位置づけるためにパス名が与えられれば、ファイルシステムは、
1)ファイル名を表す文字列をその独立のディレクトリおよびファイル要素に分解し、
2)ディスク上のルートディレクトリを見つけ、
3)次レベルディレクトリの名称に対し適合するものが見つかるまで各々のディレクトリのエントリを読むことを繰り返し、
4)次レベルディレクトリのその物理的位置を含む属性を検索し、次レベルディレクトリをディスク上に見出し、
5)最低位レベルのディレクトリに達するまで、パスの各々のディレクトリについてステップ3および4を繰り返し、
6)ファイル名について適合するものが見つかるまで最低位レベルのディレクトリの各々のエントリを読むことを繰り返し、
7)ファイルの物理的位置を含むファイル属性を検索する、
必要がある。
文字列比較、ファイルシステム探索およびファイルシステムの読み出しの繰り返しの多くの回数は名前キャッシュの使用により削減されることができる。これは直近にアクセスしたファイルの物理的位置およびディレクトリをその名前と共に格納する。
DNLC(ディレクトリ/動的名称ルックアップ・キャッシュ)はUnix(登録商標)/Linux系オペレーティングシステム(まとめて*nixとして参照される)で使用される名前キャッシュなどに関して一般的に実装される。DNLCによりシステム上のファイルをオープンしようとする場合、まずハッシュアルゴリズムによりキャッシュにおける完全修飾パス名を調べ、キャッシュヒットのキャッシュエントリから直接ファイルの物理的位置を検索し、キャッシュにファイル名がなければキャッシュにおいてディレクトリを調べ(最も内側から外に向かって)、ディレクトリの1つにキャッシュヒットがあれば、その物理的位置をキャッシュから得ることができ、検索はディスク上のそのポイントから行うことができる。キャッシュにおいて少なくとも幾つかのパス名が提供されると、この方法は頻繁にアクセスするファイルのディスクアクセスを軽減するのに有効でありうる。
全ての現在のオペレーティングシステムは、ディレクトリのリスト要求およびファイルのオープン要求を別個の、独立の動作と見る。
この発明は、ディレクトリのリスト要求が分離してなされる非常に稀な場合を基本にしており、ディレクトリのリストの極めて多くは、そのリストにおいて返されるファイルの1つをオープンすることを予期して要求される。コンピュータ・デバイスにおけるディレクトリ検索が最も一般的に使用されるケースは、ディレクトリを走査し、そのディレクトリにおいてオープンするべき1以上のファイルを選択するアプリケーションに続く要求である。
代表的な例は多くのオペレーティングシステム、特に起動過程において見ることができる。例えばマイクロソフト社のWindows(登録商標)では、多くのファイルは\windows\system32などのシステムディレクトリからロードされる、一方頻繁にアクセスされるUnix(登録商標)およびLinuxのシステムディレクトリは/etc/binおよび/libを含む。シンビアンソフトウェア社の移動電話機用の先端的オペレーティングシステムである、SymbianOS(商標)は、起動時、および、実行可能ファイルおよびリソースファイルの読み込み時の双方で、\sysおよび\resourceなどのディレクトリにアクセスする。
このタスクを実行する通常の方法は、ファイルサーバからディレクトリのリストを要求することにより始まるが、ファイルサーバは、複数のクライアントのアプリケーションおよび処理に対してファイルシステムアクセスを提供することに対応する要素である。ディレクトリのリストはディスク上でディレクトリ情報を見つけ、次いで各々のエントリを見て回り、クライアントに返されるリストを構築することにより生成される。次いでクライアントはファイルのリストを検索し、ファイル名をファイルサーバに渡して、ファイルをオープンするこの点でディレクトリを再度読み、再び検索して、ファイルエントリおよびファイルエントリからディスク上のファイルの位置を見つける。
この処理の明らかな欠点は、ディレクトリ検索とそれに続くファイルのオープンとの間の関係認識の失敗により、完全に不要な2度目のディレクトリ検索が必要になることである。ファイル位置に関する全ての情報は、ディレクトリリストが最初に構築されたときには利用可能であったが、無視される。従って、ファイルを実際にオープンする場合にこの情報を求めてディレクトリを再度検索するのに、時間およびそれによるバッテリ電力が消費される。
1以上のディレクトリのリストは読み取りキャッシュに保持することができ、この場合物理的ディスクに戻るよりメモリにキャッシュされたコピーを通じて検索するほうが疑いなく早い。さらにファイルまたはディレクトリが頻繁にオープンされるならば、その場合その物理的位置を名前キャッシュに保持することが可能である。
しかしこれらの方法のいずれも、最初のアクセスが廃棄されるため2度アクセスし、読み、検索しなければならない有用な情報(ディレクトリのリスト)に関する基本的問題を解決していない。読み取りキャッシュがディレクトリのコピーを含めば、これだけでもディスクからディレクトリを読む必要がなくなる。読み取りキャッシュは2度検索しなければならず;名前キャッシュは、未だオープンされていないファイルには役立ちそうにない。
それ故コンピュータ・デバイスにおけるファイル管理の改善された方法を提供することが本発明の目的である。
本発明の第1の態様によれば、ディレクトリ構造を組み込むコンピュータ・デバイスにおけるファイル管理の方法が提供され、本方法は、
a.ファイルシステムのディレクトリのリストがディレクトリにおける各々のエントリに対する唯一に識別可能なタグを含むように構成するステップ、
b.クライアントにディレクトリのリストを提供する場合に、そのエントリにより参照されるオブジェクトの物理的位置を示すリストにおける各々のエントリに対するタグを含むリストのコピーを保持するステップ、
c.オブジェクトのタグの参照によりオブジェクトをオープンする要求を受理するステップ、
d.オブジェクトの物理的位置を検索し、オブジェクトの物理的位置においてオブジェクトをオープンするステップ、
を含む。
本発明の第2の態様によれば、第1の態様の方法に従い動作するように構成されるコンピュータ・デバイスが提供される。
本発明の第3の態様によれば、装置が第1の態様の方法に従い動作するようにするコンピュータ・デバイスのためのオペレーティングシステムが提供される。
本発明の実施形態を、さらに実施例のみの方法により以下に説明する。
本発明によりクライアントがディレクトリのリストを要求する場合、ファイルシステムは2つのリストを構築する;1つはクライアントに返されるが、他方はサーバにより保持される。クライアントに返されるリストは標準のディレクトリリストであり、各々のエントリはサーバ側のリストにおいて対応するエントリを参照するタグを含むように拡張される。サーバの保持するリストは、駆動装置上の各々のファイルの物理的位置に関する情報(これはファイルをオープンするために必要な情報である)と共に;(最低限)タグを含む。クライアントに返される各々のエントリはタグを付されているので、クライアントは、自分のリストとサーバ側のリストとの間のリンクを損なうことなく自らのリストを自由に分類することができることに注意されたい。
好ましくは、サーバリストは配列へのインデックスとしてまた動作するリストにおける各々の項目のタグと共に配列において保持される。
クライアントがファイルをオープンすることを望む場合、新しいファイルのオープン方法がファイルサーバにより提供される。ファイル名またはパス名をパラメータとして渡す代わりに、この新しい方法はディレクトリのリストにおける1つのエントリに対するタグをパラメータとして採用する。
ファイルサーバは、次いでこのタグを使用してその配列における位置情報を見つけ、これをファイルシステムに渡す。ファイルは、次いでこのディレクトリを再度検索することを必要とせず、直ちにオープンすることができる。
この方法は、キャッシュのヒットが生じる場合にも、依然としてファイルを名前によりオープンしなければならず、余分な検索のオーバヘッドを招く、ディレクトリのリストを単にキャッシュするシステムに対して明らかに有利である。ユニコードのファイル名を使用する特に最近のシステムにおいて、これに伴う複数の文字列の比較は些細なものではない。
読み取り専用ファイルシステム(ROMおよびROFSディスクに対するものなど)では、ディスクの内容が変化しないので既に説明したステップで十分である。それ故ディレクトリのリストの検索後ファイルがロードされる全ての場合に性能の改善がある;この発明のファイルシステムの革新により、ファイルを、検索を含むことなくタグにより直接オープンすることが常に可能になる。
以上の革新を書き込み可能な駆動装置に拡張するために、ディレクトリリストへの変更に対処するメカニズムが含まれることがある。そのような変更は、例えば既存ファイルの長さの変更、ファイルの削除、または新ファイルの生成を含むことができる。
以上を達成するための幾つかの可能なメカニズムについて、次に説明する。
最も簡単なメカニズムは、ディレクトリが変更されるとサーバ側のリスト全体を無効化するフラグを立てることである。この場合タグを渡すことによりエントリにより参照するファイル(または任意のオブジェクト)をオープンしようとすると、その場合ファイルサーバが、クライアントにエラーコードを返すようにし、これにより次にファイル(またはオブジェクト)を名前によるオープンに立ち戻る。
上記メカニズムの修正された実装により、サーバ側リストがファイル名、およびタグとファイルの物理的位置を追加して格納することを要求する。この場合無効リストのファイルにタグを渡すことにより、以上の例におけるクライアントよりむしろファイルサーバが、クライアントには透過的にファイルまたはオブジェクトを名前によるオープンに立ち戻るようにする。
サーバ側リストにおけるファイル名の格納の必要を避ける別のメカニズムでは、タグとファイル名の両方をパラメータとして採用するファイルをオープンする方法の追加バージョンを提供する。このメカニズムは書き込み可能なファイルシステムと共に使用することができ、サーバ側リストにおけるファイル名の格納を必要とせず、上記のサーバが名前によるファイルのオープンへの透過的な立ち戻りを可能とする。
この実装においてサーバ側リストにファイル名を保持する必要のないことは、メモリの利用に関して特に有利である。全ての名前(特に長いユニコード名)を格納することはメモリに関して特にわずらわしいことでありえ;結果としてDNLCの名前キャッシュの多くの*nix実装により、キャッシュされる名前の長さを約15文字に制限することが必要であることが分かったが、これは名称キャッシュ方式の利用性に大きく影響する。バッテリで動作するモバイル・コンピュータ・デバイスは、特にリソースに制限があり、そのためサーバリストが書き込み可能な駆動装置に対してもタグおよび物理的位置を単に格納できる方法は極めて望ましく、有益であると考えられる。
オプションで後の2つのメカニズムのいずれかにより、サーバによる名前を指定されたファイルのタグによりオープンすることに戻ると同時にサーバ側リストを自動的に更新することができる。
ファイルサーバがディレクトリに潜在的に変化を引き起こす動作を積極的に監視し、リストが常に有効であることを確かめるためにディレクトリのリストの内容を動的に調整することができるようにすることにより、一組のより複雑なメカニズムを開発することもできる。例えば、サーバが、ディレクトリ上にファイルをオープンするリストの有無を調べ、その後に変更を行い、サーバ側配列における単一のエントリを無効にするか、または新しい情報によりエントリを理想的に更新する、ように構成することができる。
単一のエントリが無効にされる場合、エラーコードがクライアントに返されるか、またはサーバリストが上記のようにファイル名を含めば、サーバは名前によりファイルをオープンすることに自動的に戻ることができるが;サーバ側のリストのエントリを更新し、同時に再有効化することも選択肢として可能である。
ROM/ROFS駆動装置への本発明の適用は、装置の立ち上がり時間を直接改善するので最も重要である。本発明のこの形式の単純さは、サーバ側リストの初期生成と格納以上に、重大な実行時のオーバヘッドがないことを意味し;このオーバヘッドが遅い外部媒体よりむしろコンピュータ・デバイスの内部メモリを含むので、初期オーバヘッドは、タグによりファイルをオープンする新しい要求が最初に使用されるときにほぼ確実に償われる。
この発明の1つの特別な利点は、以前のクライアントのAPI(アプリケーション・プログラム・インタフェース)との両立性を損なうことなく、この発明の利点を大部分のファイルシステムのAPIに含めることができることである。唯一必要な変更は、通常1以上のファイルをオープンするOpen()関数であり、この関数はパラメータとしてタグをファイル名に加えて採用するか、またはファイル名の代わりに採用するかのいずれかである。とはいえ、あるシステムではこの発明を使用するために変更を必要とすることがあることは認められるが、この発明を使用するように適合する場合、ディレクトリ検索およびファイルをオープンすることを単一の動作としてカプセル化する方法は、大抵の場合動作速度および電力消費に関して利益を得る。
ファイルサーバがディレクトリリストをどれだけ多く保持すべきかを決める幾つかの方法があり、その例を次に概括する。
・単一のサーバ側リストは各々の論理的駆動装置の全てのファイルセッションに対して提供することができ;これは、1台のクライアントが単一のファイルセッションにおいてファイルをロードしようとしているか、または単一のディレクトリが全てのファイルセッションにより使用されている状況では有益である。しかしながら、ファイルサーバは、複数のクライアントが互いに他を締め出すことなくファイルにアクセスすることを認めるように使用されるので、以上のような状況は実際には比較的稀にしか起こりそうにない。
・ファイルセッション毎に1つのサーバ側リストを提供することができる。これは単一のサーバ側リストの場合より、潜在的により多くのメモリを使用するが、複数セッションがファイルサーバによりオープンされる場合には依然有益である。
・ファイルセッション毎に複数のサーバ側リストを提供することもできる;これは固有の数によるか、または追加の方法を導入するかのいずれかにより実装することができるが、追加の方法は全てのファイルセッションにある最小数のリストを与えるが、またセッションがメモリ使用およびシステム負荷のようなファクタに依存して固定の最大値か、または動的な最大値のいずれかまで余分のリストを要求することを許可する。この場合、セッションに複数のリストがある場合、サーバは使用中の全てのタグが全てのリストについて一意であることを保証する必要があることに注意されたい。
・起動ROMにおいて共通に使用されるシステムディレクトリの事前にコンパイル済みのリストを使用することができ、これにより多数の動作がディレクトリ検索を行うことなく進行することができ、より早い起動時間に関して特に有益と考えられる。
これらのオプションのうちどれが個々の状況において最良であるかは、共通の使用パターンを見つけるために装置のプロファイルを見ることにより決めることができる。当業者はそのようなプロファイルを見ることを達成する方法を知り、また速度に対するメモリ使用における必要なトレードオフの状況により、先立って厳密に規定できないことも理解する。
従って、本発明によりコンピュータ・デバイスのディレクトリを読む場合、ファイルサーバは、リストをクライアントのアプリケーションに渡す場合に、リストに固有のタグを付加する。ファイルサーバは固有のタグリストをタグが対応するファイルの物理的アドレスと共に保持する。クライアントがファイルをオープンすることを望むと、クライアントはタグをファイルサーバに渡すことによりファイルをオープンすることができる。これによりファイルサーバは、ファイルのファイル名からファイルの物理的位置を見つけるために2度目のディレクトリ検索を計画することを必要とせず、ファイルを直接ロードすることができる。
本発明は、既知のファイル管理システムに対して、以下を含む幾つかの重要な利点を提供すると考えられる。
・ディレクトリリストの構築時にファイルの位置情報を保持することによる、ディスクにおけるディレクトリの2重検索の回避;これはクライアントが、ディレクトリを再度検索することを必要とせず、この情報から直ちにファイルをオープンすることができることを意味する。
・ファイルをオープンするためのより速い検索;コードが短く、より遅い固定格納装置に対してより少ないアクセスが必要である。これは、同じディレクトリの検索の後にファイル読み込みが続く場合、特に有益である。
・電力効率が良くない固定格納装置、および低サイクルのCPUには、アクセスのより少ないことが要求されるので、モバイル・コンピュータ・デバイスのバッテリ寿命の改善を達成することができ、ユーザの満足度および環境に関する利点を提供する。
・装置を起動するために使用される読み取り専用ファイルシステムに適用すると、本発明は装置の電源投入と装置が動作状態になる間の時間がより短くなる。これにより、電力を節約するために電源を切ることがよくあるが、完全な機能への素早いアクセスが極めて有用であり、重要と考えられる、移動電話機、PDAおよびデジタルカメラなどの、特に携帯型のバッテリで動作する装置のユーザ使用体験および利用性を直接改善する。
・望まないディスクアクセスおよびディレクトリ検索を除去することによる速度および電力消費の最適化。この点において、本発明は、ディスクアクセスは減らすが、ディレクトリの検索を除去しないキャッシュ方法より優れる。
・ディレクトリ全体のキャッシュと比較して、サーバ側リストのメモリ要求は遥かに少ない。本発明は、最小限としてタグおよび物理的ディスクアドレスを含む。さらに好ましい実装では、タグは配列として保持するサーバ側リストへのインデックスとして使用することができ、ファイルの物理的位置の取出しが極めて早くなり、キャッシュと違って検索の必要がない。
・一般のキャッシュ技術と比較して、遥かに少ない管理のオーバヘッドが達成される;保守およびキャッシュの検索は小さくない課題であり、キャッシュがなければ追加の負担が存在する。
・大部分のオペレーティングシステムに対して、この発明はきわめて早急に実装することができ、既存のAPIおよびデータ構造に対する変更は非常に少ない。従って、既存ソフトウエアとの両立性を損なわない確率が高い。
・本方法は極めて汎用的であり、種々のオペレーティングシステムのAPIにより使用される普通の表現およびパターン、および広く種々のプログラム言語において実装することができる。
・ファイルをオープンする以前の方法は変更なく動作するので、既存ソフトウエアのアプリーションを変更する必要はない。
・新しいファイルのオープン方法は簡単であるので、本発明の使用を決定するアプリケーション開発者の要求する労力は非常に少ない。
本発明を個々の実施形態を参照して説明したが、当然のことながら、修正は添付の特許請求の範囲により規定されるように、本発明の範囲内において行うことができる。

Claims (16)

  1. ディレクトリ構造を組み込むコンピュータ・デバイスにおけるファイル管理の方法であって、該方法は、
    a.ファイルシステムのディレクトリのリストが前記ディレクトリにおける各々のエントリに対する唯一に識別可能なタグを含むように構成するステップと、
    b.クライアントに前記ディレクトリのリストを提供する場合に、エントリにより参照されるオブジェクトの物理的位置を示す前記リストにおける各々のエントリに対するタグを含む前記リストのコピーを保持するステップと、
    c.オブジェクトのタグの参照によりオブジェクトをオープンする要求を受理するステップと、
    d.前記オブジェクトの前記物理的位置を検索し、前記オブジェクトの物理的位置において前記オブジェクトをオープンするステップと、
    を含む方法。
  2. 前記ファイルシステムはファイルサーバにより制御され、前記ファイルサーバと1以上の異なるセッションを維持するように構成された複数のクライアントにファイルシステムサービスを提供することを特徴とする請求項1に記載の方法。
  3. 前記オブジェクトは、ファイルまたは他のディレクトリまたは任意の他のエンティティを含むように選択されることを特徴とする請求項1または2に記載の方法。
  4. 前記タグは配列の形式のリストで維持され、該配列において前記タグが個々のオブジェクトの前記物理的位置の検索を可能にするためのインデックスとして作用することを特徴とする請求項1乃至3の何れか1項に記載の方法。
  5. 前記ファイルシステムは、読み取り専用ファイルシステムを含むことを特徴とする請求項1乃至4の何れか1項に記載の方法。
  6. 前記読み取り専用ファイルシステムは、前記コンピュータ・デバイスの起動に使用されることを特徴とする請求項5に記載の方法。
  7. 前記ファイルシステムは、書き込み可能なファイルシステムを含むことを特徴とする請求項1乃至4の何れか1項に記載の方法。
  8. 前記保持されるリストは、本来導出された前記ディレクトリに変更がなされると無効化され、前記クライアントが名前により前記オブジェクトをオープンするようにするため、無効化されたリストにタグを有するオブジェクトをオープンすることを要求するクライアントにエラーコードを返送することを特徴とする請求項7に記載の方法。
  9. 前記リストの前記保持されたコピーは、オブジェクトに対する個々の名前をさらに備え、前記保持されるリストは、本来導出された前記ディレクトリに変更がなされると無効化され、無効化されたリストのオブジェクトをオープンする要求により、前記保持されるリストにおける前記個々の名前を使用して、前記オブジェクトがオープンされるようにすることを特徴とする請求項7に記載の方法。
  10. 前記ファイルシステムは、タグおよびオブジェクトの名前により参照されるオブジェクトをオープンする要求を受理するように構成され、前記保持されるタグのリストが、本来導出された前記ディレクトリに変更がなされると無効化され、無効化されたリストのタグによりオブジェクトをオープンする要求により前記ファイルシステムが前記オブジェクトの名前を使用して前記オブジェクトがオープンされるようにすることを特徴とする請求項7に記載の方法。
  11. 前記ファイルシステムは、無効とされたリストによりオブジェクトが名前によりオープンされるようにした後に、保持されるリストを更新し、再度有効化するように構成されることを特徴とする請求項8乃至10の何れか1項に記載の方法。
  12. 前記ファイルシステムは、保持されるディレクトリのリストを有するディレクトリにおけるエントリへの変化を生じさせる活動を監視するように構成され、タグが変化により影響を受けるといつでも、前記保持されるリストを無効化する代わりにタグが無効化され、無効化されたタグを使用して要求がなされる場合にのみ、オブジェクトが名前によりオープンされるか、または、前記ファイルシステムは、他の場合には無効化されるエントリを動的に更新するように構成されることを特徴とする請求項8乃至10の何れか1項に記載の方法。
  13. a.単一の保持されるディレクトリのリストがシステムの各々の論理駆動装置に許可されるか、
    b.固定数の保持されるディレクトリのリストがファイルサーバのセッション毎に許可されるか、
    c.複数の保持されるディレクトリのリストがクライアントの要求によりファイルサーバのセッション毎に固定または動的最大値まで許可されるか、
    の何れかであることを特徴とする請求項1乃至12の何れか1項に記載の方法。
  14. 読み取り専用ファイルシステムの使用がプロファイリングされ、前記起動過程か、または他に定められ、予測される前記コンピュータ・デバイスの動作シーケンスの間に自動的に使用するために、1以上の保持されるディレクトリのリストが予め定義され、起動ROMに含まれることを特徴とする請求項5または6、または請求項5または6に従属する場合の請求項13に記載の方法。
  15. 請求項1乃至14の何れか1項に規定される方法に従い動作するように構成されるコンピュータ・デバイス。
  16. コンピュータ・デバイスを請求項1乃至14の何れか1項に規定される方法に従い動作させるための、該コンピュータ・デバイスのためのオペレーティングシステム。
JP2007517453A 2004-06-24 2005-06-22 コンピュータ・デバイスにおけるファイル管理 Pending JP2008503817A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0414175A GB2415517B (en) 2004-06-24 2004-06-24 File management in a computing device
PCT/GB2005/002462 WO2006000768A1 (en) 2004-06-24 2005-06-22 File management in a computing device

Publications (1)

Publication Number Publication Date
JP2008503817A true JP2008503817A (ja) 2008-02-07

Family

ID=32800124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007517453A Pending JP2008503817A (ja) 2004-06-24 2005-06-22 コンピュータ・デバイスにおけるファイル管理

Country Status (6)

Country Link
US (1) US20080027946A1 (ja)
EP (1) EP1763801A1 (ja)
JP (1) JP2008503817A (ja)
CN (1) CN100524302C (ja)
GB (1) GB2415517B (ja)
WO (1) WO2006000768A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210288A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd ファイル処理プログラム、ファイル処理方法、ファイル処理装置および関数プログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280908B2 (en) 2006-06-30 2012-10-02 Microsoft Corporation Merging file system directories
CN101183367B (zh) * 2007-01-23 2010-06-09 腾讯科技(深圳)有限公司 一种利用标签管理文件的方法、即时通信客户端及系统
US8776056B2 (en) 2008-11-06 2014-07-08 Nec Corporation Maintenance system, maintenance method and program for maintenance
JP5483116B2 (ja) * 2008-11-06 2014-05-07 日本電気株式会社 メンテナンスシステム、メンテナンス方法、及びメンテナンス用プログラム
US8672427B2 (en) * 2010-01-25 2014-03-18 Pepsico, Inc. Video display for product merchandisers
CN102982031B (zh) * 2011-09-05 2015-04-01 腾讯科技(深圳)有限公司 文件打开方法及装置
US10169348B2 (en) * 2012-08-23 2019-01-01 Red Hat, Inc. Using a file path to determine file locality for applications
US20140280188A1 (en) * 2013-03-15 2014-09-18 Perforce Software, Inc. System And Method For Tagging Filenames To Support Association Of Information
US12072763B2 (en) 2015-11-30 2024-08-27 Pure Storage, Inc. Utilizing memories of different operational speeds in a vast storage network
US10423362B2 (en) * 2015-11-30 2019-09-24 International Business Machines Corporation Utilizing multiple dispersal algorithms to encode data for storage in a dispersed storage network
CN108959297B (zh) * 2017-05-19 2021-09-28 海马云(天津)信息技术有限公司 文件系统返回指定标识的方法、装置及电子设备
US10585802B1 (en) * 2017-07-13 2020-03-10 EMC IP Holding Company LLC Method and system for caching directories in a storage system
CN109101640A (zh) * 2018-08-21 2018-12-28 赛凡信息科技(厦门)有限公司 一种对象数据在文件系统中的分布方案
CN111737204B (zh) * 2020-06-12 2024-03-19 北京百度网讯科技有限公司 文件目录遍历方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201743A (ja) * 1987-02-13 1988-08-19 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ処理システム・ネットワークのためのキャッシング方法
JPH02266443A (ja) * 1989-04-06 1990-10-31 Fuji Xerox Co Ltd ファイルシステムのファイル管理方式
JPH02309445A (ja) * 1989-05-15 1990-12-25 Internatl Business Mach Corp <Ibm> データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品
JPH0581210A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd クラスタ・マルチプロセツサ協調処理方法
JPH06175903A (ja) * 1992-12-11 1994-06-24 Hitachi Ltd ファイル管理方式
JPH06205014A (ja) * 1992-10-14 1994-07-22 Internatl Business Mach Corp <Ibm> 経路指定方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307497A (en) * 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5742817A (en) * 1995-12-08 1998-04-21 Emc Corporation Method and apparatus for file server addressing
US6775670B2 (en) * 1998-05-29 2004-08-10 Luc Bessette Method and apparatus for the management of data files
US6370549B1 (en) * 1999-01-04 2002-04-09 Microsoft Corporation Apparatus and method for searching for a file
US6535970B1 (en) * 2000-01-04 2003-03-18 International Business Machines Corporation Method and apparatus for enhanced performance caching for path names
US6928426B2 (en) * 2000-12-30 2005-08-09 Intel Corporation Method and apparatus to improve file management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63201743A (ja) * 1987-02-13 1988-08-19 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ処理システム・ネットワークのためのキャッシング方法
JPH02266443A (ja) * 1989-04-06 1990-10-31 Fuji Xerox Co Ltd ファイルシステムのファイル管理方式
JPH02309445A (ja) * 1989-05-15 1990-12-25 Internatl Business Mach Corp <Ibm> データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品
JPH0581210A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd クラスタ・マルチプロセツサ協調処理方法
JPH06205014A (ja) * 1992-10-14 1994-07-22 Internatl Business Mach Corp <Ibm> 経路指定方法及び装置
JPH06175903A (ja) * 1992-12-11 1994-06-24 Hitachi Ltd ファイル管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210288A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd ファイル処理プログラム、ファイル処理方法、ファイル処理装置および関数プログラム

Also Published As

Publication number Publication date
EP1763801A1 (en) 2007-03-21
GB2415517B (en) 2010-03-03
GB0414175D0 (en) 2004-07-28
WO2006000768A1 (en) 2006-01-05
CN1973288A (zh) 2007-05-30
GB2415517A (en) 2005-12-28
US20080027946A1 (en) 2008-01-31
CN100524302C (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
JP2008503817A (ja) コンピュータ・デバイスにおけるファイル管理
CN109213772B (zh) 数据存储方法及NVMe存储系统
EP2478442B1 (en) Caching data between a database server and a storage system
US7827364B2 (en) Multistage virtual memory paging system
US8489821B2 (en) Managing concurrent accesses to a cache
JP4359448B2 (ja) ファイルシステムフィルタドライバのためのファイルネームを管理するシステム及び方法
US5008820A (en) Method of rapidly opening disk files identified by path names
US20140344509A1 (en) Hard disk caching with automated discovery of cacheable files
US20090177836A1 (en) Methods and apparatuses for managing data in a computer storage system
US20130290636A1 (en) Managing memory
WO2022063059A1 (zh) 键值存储系统的数据管理方法及其装置
US20030074524A1 (en) Mass storage caching processes for power reduction
US20100205368A1 (en) Method and system for caching data in a storage system
JP5426576B2 (ja) 仮想化技術を利用したデータ入出力方法及び装置
CN113094336B (zh) 基于Cuckoo哈希的文件系统目录管理方法及系统
CN112131200B (zh) 一种基于cifs共享的分布式海量文件查询系统和方法
JP2009003934A (ja) データ管理システム及びデータ管理方法、並びにデータ管理方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US8060697B1 (en) Dynamically allocated secondary browser cache
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
WO2007087754A1 (fr) Procédé et système de référençage basé sur une bibliothèque d&#39;objets
JP2001195197A (ja) 記憶されたレコードについてのフォーマット情報を効率的に提供するためのディレクトリを含むデジタル・データ・サブシステム
CN116627345A (zh) 应用于海量value键值对的高性能KV缓存方法及装置
JP2021117560A (ja) 情報処理システム、情報処理装置およびプログラム
Feltham et al. Linear hashing implementations for flash memory
US20100318564A1 (en) Implementing an ephemeral file system backed by a nfs server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090309

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090319

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110304

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110822

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120327