JP2003022206A - ファイル管理プログラムおよびファイル管理装置 - Google Patents

ファイル管理プログラムおよびファイル管理装置

Info

Publication number
JP2003022206A
JP2003022206A JP2001206613A JP2001206613A JP2003022206A JP 2003022206 A JP2003022206 A JP 2003022206A JP 2001206613 A JP2001206613 A JP 2001206613A JP 2001206613 A JP2001206613 A JP 2001206613A JP 2003022206 A JP2003022206 A JP 2003022206A
Authority
JP
Japan
Prior art keywords
directory
file
information
limit value
parent
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
JP2001206613A
Other languages
English (en)
Inventor
Seishiro Hamanaka
征志郎 浜中
Mamoru Yokoyama
衛 横山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001206613A priority Critical patent/JP2003022206A/ja
Priority to US10/173,798 priority patent/US7383286B2/en
Publication of JP2003022206A publication Critical patent/JP2003022206A/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/99931Database or file accessing
    • 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

Abstract

(57)【要約】 【課題】 少ない処理負荷でファイルの所在を特定し、
高度なファイル管理を行う。 【解決手段】 ファイル操作要求が出されると、ファイ
ル操作手段3により、ファイル操作が行われる。ファイ
ル操作によって、任意のディレクトリの下にファイルが
配置された場合には、親ディレクトリ情報設定手段4に
よって、ファイルに対応する親ディレクトリ情報とし
て、任意のディレクトリの識別情報が設定される。その
後、ファイルを指定した親ディレクトリ取得要求が出さ
れると、親ディレクトリ情報提供手段5によって、指定
されたファイルの親ディレクトリが参照され、任意のデ
ィレクトリの識別情報が出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータのファ
イルを管理するためのファイル管理プログラムおよびフ
ァイル管理装置に関し、特にディレクトリ構造における
ファイルの所在を効率よく管理するファイル管理プログ
ラムおよびファイル管理装置に関する。
【0002】
【従来の技術】一般的に、コンピュータは、ファイルシ
ステムによりハードディスク装置(HDD:Hard Disk
Drive)などの記憶装置に格納されるファイルを管理し
ている。ファイルシステムは、ファイルの所在管理を行
うための管理情報と、ファイル実体で構成される構造体
である。
【0003】通常のファイルシステムは、多数のファイ
ルを管理しやすくするために、階層構造を採っている。
階層構造を有するファイルシステムでは、ディレクトリ
を節、一般ファイルを葉とする木構造を有している。
【0004】ファイルは、ファイル名と、そのファイル
の所在を示す階層構造上の位置によって特定される。階
層構造上の位置は、予め決められたルートディレクトリ
から順にディレクトリを辿り、ファイルが置かれたディ
レクトリに至るまでの経路で示される。このようなディ
レクトリの経路は、パスと呼ばれる。ファイルシステム
は、パスとファイル名により、ファイルを探索する。
【0005】従来のファイルシステムでは、各ディレク
トリに対して、そのディレクトリ配下のディレクトリや
ファイルに関する管理情報が設定されている。したがっ
て、ファイルのパスとファイル名とが分かっていれば、
ディレクトリ構造を上から順に辿ることで、目的のファ
イルにアクセスすることができる。
【0006】
【発明が解決しようとする課題】しかし、従来のファイ
ルシステムでは、ファイルから親ディレクトリを辿る手
段を持っていない。そのため、通常のディレクトリ探索
と異なる方法で、対象となるファイルを見つけたとき
に、そのファイルのパス名を生成するためには、ルート
ディレクトリから順に、全ての経路を検査し、該当する
ファイルを探索するしか手段がない。この場合、発見の
確率を考慮すると平均的にファイルシステムの半分を探
索しなければならない。そのため、処理負荷が大きく、
大量の処理を高速に実行しなければならない大規模なフ
ァイルシステムでは実用的ではなかった。
【0007】また、ファイルから親ディレクトリを辿る
有効な手段を持っていないことは、ファイルシステムの
機能拡張を妨げる原因にもなっていた。たとえば、ディ
レクトリ配下の子ディレクトリを含むファイルに対して
ある種の属性(例えばファイルへのアクセスが発生して
もアクセス時刻情報を更新しない)を設定する機能を考
えた場合、ファイル、ディレクトリ個々にその性質を記
録し、処理発生時にその情報を参照しその条件に従って
動作する実装が考えられる。この場合、ファイルシステ
ムの持つディレクトリの移動機能を考えた場合、移動先
に求められる性質を、移動対象となるディレクトリ配下
のディレクトリやファイルの全てに対してリアルタイム
に特定の性質を再設定するのは、実際の運用上困難であ
る。そのため、一貫性を犠牲にした中途半端なものしか
実現できていなかった。
【0008】ファイルから親ディレクトリを辿ることが
できれば、あるディレクトリ配下の子ディレクトリやフ
ァイルに与えるべき性質を設定しておき、ファイルが操
作された際に、ファイルから親ディレクトリを辿り、親
ディレクトリに設定された性質に応じた処理をファイル
に施すことができる。すなわち、無理に、あるディレク
トリ配下の全てのディレクトリやファイルそれぞれに、
性質を設定する必要がなくなる。
【0009】このように、ファイルからその親ディレク
トリを辿れないことに起因して、ファイルシステムの応
用範囲が狭められていた。たとえば、ディレクトリに対
して与えた属性によって、そのディレクトリ配下の全て
のディレクトリやファイルに特別な制御を行うことも難
しかった。
【0010】本発明はこのような点に鑑みてなされたも
のであり、少ない処理負荷でファイルの所在を特定し、
高度なファイル管理を行うことができるファイル管理プ
ログラムおよびファイル管理装置を提供することを目的
とする。
【0011】
【課題を解決するための手段】第1の発明では上記課題
を解決するために、図1に示すような機能をコンピュー
タに実行させることができるファイル管理プログラムが
提供される。
【0012】本発明に係るファイル管理プログラムが実
行するコンピュータは、ファイル操作要求に応答して、
ファイルを任意のディレクトリの下に配置するファイル
操作手段3と、ファイル操作手段3によりファイルが配
置されると、ファイルの親ディレクトリ情報として、任
意のディレクトリの識別情報を設定する親ディレクトリ
情報設定手段4と、ファイルを指定した親ディレクトリ
情報取得要求に応答して、ファイルの親ディレクトリ情
報を参照し、任意のディレクトリの識別情報を出力する
親ディレクトリ情報提供手段5として機能する。
【0013】これにより、ファイル操作要求が出される
と、ファイル操作手段3により、ファイル操作が行われ
る。ファイル操作によって、任意のディレクトリの下に
ファイルが配置された場合には、親ディレクトリ情報設
定手段4によって、ファイルに対応する親ディレクトリ
情報として、任意のディレクトリの識別情報が設定され
る。その後、ファイルを指定した親ディレクトリ取得要
求が出されると、親ディレクトリ情報提供手段5によっ
て、指定されたファイルの親ディレクトリ情報が参照さ
れ、任意のディレクトリの識別情報が出力される。
【0014】第2の発明では上記課題を解決するため
に、識別情報を有するディレクトリを用いてファイルを
管理するためのファイル管理プログラムにおいて、コン
ピュータを、ディレクトリ毎に、記憶領域の使用量の制
限値を設定する制限値設定手段と、ファイル操作要求が
あると、ファイル操作を実行した場合の各ディレクトリ
の記憶領域の使用予定量を計算し、前記各ディレクトリ
において、前記制限値設定手段で設定された制限値と使
用予定量とを比較する比較手段と、前記比較手段で比較
された結果、使用予定量が制限値を超えるディレクトリ
が存在しない場合に、前記ファイル操作要求に応答して
ファイル操作を実行するファイル操作手段として機能さ
せることを特徴とするファイル管理プログラムが提供さ
れる。
【0015】このようなファイル管理プログラムがコン
ピュータで実行されると、制限値設定手段により、ディ
レクトリ毎に、記憶領域の使用量の制限値が設定され
る。その後、ファイル操作要求があると、比較手段によ
り、ファイル操作を実行した場合の各ディレクトリの記
憶領域の使用予定量が計算され、各ディレクトリにおい
て、制限値設定手段で設定された制限値と使用予定量と
が比較される。そして、比較手段で比較された結果、使
用予定量が制限値を超えるディレクトリが存在しない場
合、ファイル操作手段により、ファイル操作要求に応答
してファイル操作が実行される。
【0016】第3の発明では上記課題を解決するため
に、識別情報を有するディレクトリを用いてファイルを
管理するためのファイル管理装置において、ファイル操
作要求に応答して、前記ファイルを任意のディレクトリ
の下に配置するファイル操作手段と、前記ファイル操作
手段により前記ファイルが配置されると、前記ファイル
の親ディレクトリ情報として、前記任意のディレクトリ
の識別情報を設定する親ディレクトリ情報設定手段と、
前記ファイルを指定した親ディレクトリ情報取得要求に
応答して、前記ファイルの親ディレクトリ情報を参照
し、前記任意のディレクトリの識別情報を出力する親デ
ィレクトリ情報提供手段と、を有することを特徴とする
ファイル管理装置が提供される。
【0017】このようなファイル管理装置によれば、上
記第1の発明に係るファイル管理プログラムに基づくコ
ンピュータの処理と同様の処理が、ファイル管理装置で
実現される。
【0018】第4の発明では上記課題を解決するため
に、識別情報を有するディレクトリを用いてファイルを
管理するためのファイル管理装置において、ディレクト
リ毎に、記憶領域の使用量の制限値を設定する制限値設
定手段と、ファイル操作要求があると、ファイル操作を
実行した場合の各ディレクトリの記憶領域の使用予定量
を計算し、前記各ディレクトリにおいて、前記制限値設
定手段で設定された制限値と使用予定量とを比較する比
較手段と、前記比較手段で比較された結果、使用予定量
が制限値を超えるディレクトリが存在しない場合に、前
記ファイル操作要求に応答してファイル操作を実行する
ファイル操作手段と、を有することを特徴とするファイ
ル管理装置が提供される。
【0019】このようなファイル管理装置によれば、上
記第2の発明に係るファイル管理プログラムに基づくコ
ンピュータの処理と同様の処理が、ファイル管理装置で
実現される。
【0020】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。本発明のファイル管理プログラムを実行するコンピ
ュータは、記憶領域1、管理情報2、ファイル操作手段
3、親ディレクトリ情報設定手段4、親ディレクトリ情
報提供手段5および探索手段6を有する。
【0021】記憶領域1は、特定のファイルシステムで
管理される記憶領域である。たとえば、ハードディスク
装置などのストレージデバイス内の記憶領域である。図
1の例では、記憶領域1内に、ディレクトリ1a,1
b,1cとファイル1dとが格納されている。記憶領域
1内のデータは、ディレクトリ1aを最上位とした木構
造を形成している。
【0022】たとえば、図1の例では、ディレクトリ1
aの下にディレクトリ1bが配置され、ディレクトリ1
bの下にディレクトリ1cが配置され、ディレクトリ1
bとディレクトリ1cとの下にファイル1dが配置され
ている。なお、ディレクトリ1a,1b,1cとファイ
ル1dとには、それぞれ識別情報a〜dが予め設定され
ている。
【0023】管理情報2は、記憶領域1内のディレクト
リ1a,1b,1cとファイル1dとのそれぞれに対応
する親ディレクトリ情報2a〜2dを有している。ファ
イル操作手段3は、ファイル操作要求に応答して、記憶
領域1内において、ファイルを任意のディレクトリの下
に配置する。たとえば、ファイル操作手段3は、ファイ
ル1dをディレクトリ1bとディレクトリ1cとの下に
配置する。また、ファイル操作手段3は、ファイル操作
要求に応答して、上位ディレクトリの下に下位ディレク
トリを配置する。
【0024】親ディレクトリ情報設定手段4は、ファイ
ル操作手段3によりファイルが配置されると、配置され
たファイルの親ディレクトリ情報として、ファイルを配
置したディレクトリの識別情報を設定する。親ディレク
トリ情報設定手段4は、ファイルが複数のディレクトリ
の下に配置された場合には、配置されたファイルの親デ
ィレクトリ情報として、複数のディレクトリそれぞれの
識別情報を設定する。
【0025】たとえば、親ディレクトリ情報設定手段4
は、ファイル1dがディレクトリ1bとディレクトリ1
cとの下に配置されると、ファイル1dの親ディレクト
リ情報2dとして、ディレクトリ1bの識別情報bとデ
ィレクトリ1cの識別情報cとを設定する。また、親デ
ィレクトリ情報設定手段4は、ファイル操作手段3によ
り、上位ディレクトリの下に下位ディレクトリが配置さ
れると、配置された下位ディレクトリの親ディレクトリ
情報として、上位ディレクトリの識別情報を設定する。
【0026】親ディレクトリ情報提供手段5は、ファイ
ル(あるいはディレクトリ)を指定した親ディレクトリ
情報取得要求に応答して、ファイル(あるいはディレク
トリ)の親ディレクトリ情報を参照し、ディレクトリの
識別情報を出力する。たとえば、親ディレクトリ情報提
供手段5は、ファイル1dに関する親ディレクトリ取得
要求を受け取ると、ディレクトリ1bの識別情報bと、
ディレクトリ1cの識別情報cとを出力する。
【0027】探索手段6は、ファイルの経路探索要求に
応答して、ファイルの親ディレクトリ情報に示されてい
るディレクトリの識別情報から順に、各ディレクトリの
親ディレクトリ情報に設定されている識別情報で示され
るディレクトリを辿り、最上位のディレクトリまでの経
路を探索する。そして、探索手段6は、探索結果とし
て、ファイルから最上位のディレクトリまでの経路を出
力する。
【0028】図1の例では、探索手段6は、親ディレク
トリ情報提供手段5に親ディレクトリ取得要求を出すこ
とにより、ファイルやディレクトリの親ディレクトリ情
報として設定されている識別情報を取得する。
【0029】このような構成のファイル管理装置によれ
ば、ファイル作成のファイル操作要求が出されると、フ
ァイル操作手段3によって、ファイルが作成される。す
ると、親ディレクトリ情報設定手段4によって、作成さ
れたファイルに対応する親ディレクトリ情報として、そ
のファイルが配置されたディレクトリの識別情報が設定
される。
【0030】その後、経路探索要求が出されると、探索
手段6から親ディレクトリ情報提供手段5に親ディレク
トリ取得要求が出される。たとえば、ファイル1dの識
別情報dを指定した経路探索要求であれば、探索手段6
から親ディレクトリ情報提供手段5へ、ファイル1d
(識別情報d)の親ディレクトリ取得要求が出される。
【0031】親ディレクトリ取得要求を受けた親ディレ
クトリ情報提供手段5により、指定されたファイルまた
はディレクトリの親ディレクトリ情報に設定されている
識別情報が、探索手段6に出力される。たとえば、ファ
イル1dの親ディレクトリ取得要求を受け取ったのであ
れば、ファイル1dに対応する親ディレクトリ情報2d
に設定されている識別情報b,cが探索手段6に対して
出力される。
【0032】すると、探索手段6により、受け取った識
別情報が最上位のディレクトリに達するまで、受け取っ
た識別情報を指定した親ディレクトリ取得要求が、繰り
返し親ディレクトリ情報提供手段5に出力される。その
結果、親ディレクトリ情報提供手段5から探索手段6
へ、最初に指定したファイルから最上位のディレクトリ
に達するまでの経路上の各ディレクトリの識別情報が、
順次出力される。たとえば、ファイル1dの経路探索要
求であれば、ファイル1dの親ディレクトリ情報として
2つの識別情報が設定されているため、「d→c→b→
a」と「d→b→a」との2つ経路の識別情報の列が、
親ディレクトリ情報提供手段5から探索手段6へ出力さ
れる。
【0033】最後に、探索手段6により、探索結果の経
路情報が出力される。たとえば、親ディレクトリ情報提
供手段5から出力された識別情報が、後に出力されたも
のから順に並べられ、最上位のディレクトリからファイ
ルに至るまでの経路として、探索手段6から出力され
る。ファイル1dの経路探索要求であれば、「a→b→
c→d」と「a→b→d」とが探索結果として出力され
る。
【0034】このようにして、ファイルを指定して、順
に親ディレクトリを探索することが可能となる。たとえ
ば、ファイルシステムのルートのディレクトリ情報を事
前に保持することで、ルートのディレクトリまでのファ
イルからの逆探索を行い、各ディレクトリから子ファイ
ル(ディレクトリを含む)へのパス名が生成できる。
【0035】しかも、各ファイルが複数の親ディレクト
リ情報を保持できるため、複数のディレクトリの下に配
置されたファイルについても全てのパス名が生成でき
る。なお、図1に示したファイル管理装置の機能を、各
種コンピュータに対して、ファイルシステムの一部とし
て実装することができる。たとえば、UNIX(登録商
標)系のOS(Operating System)で動作するコンピュー
タ、WINDOWS(登録商標)系のOSで動作するコンピュ
ータのいずれのコンピュータにも実装可能である。ま
た、ファイルサーバに実装することで、既存のファイル
システムを有するコンピュータであっても、ネットワー
ク経由で本発明のファイルシステムによる機能を利用す
ることが可能である。
【0036】[ファイルサーバによる本発明の実施の形
態]以下に、ファイルサーバの1つであるNAS(Netwo
rk Attached Storage)ファイラに本発明に係るファイル
システムを実装する場合を例に採り、本発明の実施の形
態を説明する。
【0037】図2は、本発明のシステム構成例を示す図
である。図2に示すように、NASファイラ100に
は、ネットワーク10を介して複数のクライアントコン
ピュータ(以下、単にクライアントと呼ぶ)20、20
a,20b,20c,・・・が接続されている。ネット
ワーク10は、たとえば、LAN(Local Area Network)
である。クライアント20、20a,20b,20c,
・・・は、たとえば、UNIXなどのマルチユーザに対
応したOSで動作するコンピュータである。
【0038】図3は、NASファイラのハードウェア構
成例を示す図である。NASファイラ100は、CPU
(Central Processing Unit)101によって装置全体が
制御されている。CPU101には、バス107を介し
てRAM(Random Access Memory)102、複数のハード
ディスクドライブ(HDD:Hard Disk Drive)103,
103a,103b,・・・、グラフィック処理装置1
04、入力インタフェース105、および通信インタフ
ェース106が接続されている。
【0039】RAM102には、CPU101に実行さ
せるOS(Operating System)のプログラムやアプリケー
ション部の少なくとも一部が一時的に格納される。ま
た、RAM102には、CPU101による処理に必要
な各種データが格納される。HDD103,103a,
103b,・・・には、OSやアプリケーション部が格
納される。HDD103,103a,103b,・・・
は、たとえばRAID(Redundant Array of Independen
t Disks)により管理され、高速で信頼性の高いファイル
管理が行われる。
【0040】グラフィック処理装置104には、モニタ
11が接続されている。グラフィック処理装置104
は、CPU101からの命令に従って、画像をモニタ1
1の画面に表示させる。入力インタフェース105に
は、キーボード12とマウス13とが接続されている。
入力インタフェース105は、キーボード12やマウス
13から送られてくる信号を、バス107を介してCP
U101に送信する。
【0041】通信インタフェース106は、ネットワー
ク10に接続されている。通信インタフェース106
は、ネットワーク10を介して、他のコンピュータとの
間でデータの送受信を行う。
【0042】なお、図3には、NASファイラ100の
ハードウェア構成例を示したが、クライアント20,2
0a,20b,20c,・・・のハードウェア構成もほ
ぼ同様である。ただし、クライアント20,20a,2
0b,20c,・・・は、HDDを複数有している必要
はない。
【0043】以上のようなハードウェア構成によって、
本実施の形態の処理機能を実現することができる。図4
は、本実施の形態のシステムにおける処理機能を示す機
能ブロック図である。クライアント20は、アプリケー
ション部21とネットワーク制御部22とを有してい
る。アプリケーション部21は、ユーザの操作入力など
による命令に応じて処理を実行する。
【0044】アプリケーション部21が実行する処理の
中には、ファイル操作に関する処理要求の出力も含まれ
る。ファイル操作に関する処理とは、たとえば、ファイ
ルの作成、ファイル移動、ファイル削除、ハードリンク
作成である。
【0045】ハードリンクとは、あるファイル実体に対
して、その本来の名前に加えて、別のパスによるアクセ
スも可能にする機能である。通常のファイルシステムで
は、0個以上のファイルまたはディレクトリを子にもつ
ディレクトリを節、ファイルを葉とする木構造を持つ。
しかし、UNIX系のOSのファイルシステムにおいて
は、同一のファイルを子とする複数のディレクトリの存
在を認めており、複数のディレクトリを親に持つファイ
ルはハードリンクと呼ばれている。ハードリンクを持つ
ファイルシステムは純粋な木構造とはならない。
【0046】また、アプリケーション部21は、NAS
ファイラ100のファイルシステムに対して、ディレク
トリに対する属性の設定要求を出したり、ファイルを特
定して、そのファイルのパスの取得要求を出したりする
こともできる。
【0047】ネットワーク制御部22は、アプリケーシ
ョン部21からの要求に応じて、所定のネットワークプ
ロトコルにより、NASファイラ100と通信を行うこ
とができる。ネットワーク制御部22がNASファイラ
100と通信することで、アプリケーション部21は、
NASファイラ100内のファイルシステムを利用する
ことができる。
【0048】NASファイラ100は、ネットワーク制
御部110、ファイルシステム制御部120、入出力ド
ライバ部130、およびデータ記憶部140を有してい
る。ネットワーク制御部110は、ネットワーク10を
介したクライアント20,20a,20b,20c,・
・・との間の通信を制御する。ネットワーク制御部11
0は、クライアント20,20a,20b,20c,・
・・からの要求をファイルシステム制御部120に渡し
たり、要求に対するファイルシステム制御部120から
の応答を、ネットワーク10を介してクライアント2
0,20a,20b,20c,・・・に送信したりす
る。
【0049】ファイルシステム制御部120は、ファイ
ルシステムインタフェース処理部121、ファイルシス
テム情報管理部122、属性設定管理部123、ファイ
ル操作部124およびディスク管理部125を有してい
る。
【0050】ファイルシステムインタフェース処理部1
21は、ネットワーク制御部110を介して、アプリケ
ーション部21からの要求を受け取り、その要求の内容
に応じた処理の命令を、ファイルシステム情報管理部1
22、属性設定管理部123およびファイル操作部12
4に渡す。また、ファイルシステムインタフェース処理
部121は、ファイルシステム情報管理部122、属性
設定管理部123およびファイル操作部124から処理
結果を受け取り、処理結果を示す応答をネットワーク制
御部110を介してアプリケーション部21に送る。
【0051】ファイルシステム情報管理部122は、フ
ァイルシステムのディレクトリやファイルに関する情報
を管理している。たとえば、ファイルシステム情報管理
部122は、ディレクトリやファイルの親ディレクトリ
の情報を格納したり、ディレクトリやファイルの親ディ
レクトリの情報を参照して、ディレクトリパスを下位か
ら上位へと辿ったりすることができる。
【0052】属性設定管理部123は、ディレクトリや
ファイルの属性を管理している。ここでいう属性は、デ
ィレクトリやファイルに対して、所定の規則を与えるも
のである。たとえば、属性を設定することで、「ファイ
ルへのアクセスが発生してもアクセス時刻情報を更新し
ない」という規則や、「ディレクトリ配下のディスク使
用量が予め設定した制限値を超えない」という規則が与
えられる。
【0053】ファイル操作部124は、データ記憶部1
40に格納されているファイルを操作する。ファイルの
操作としては、ファイルの作成、ファイルの移動、ファ
イルの削除、ハードリンクの作成などがある。
【0054】ディスク管理部125は、RAID機構な
どを用いて、データ記憶部140を構成するHDD10
3,103a,103b,・・・に対するデータの入出
力を管理する。
【0055】入出力ドライバ部130は、データ記憶部
140に含まれるHDD103,103a,103b,
・・・それぞれの動作を制御する。また、入出力ドライ
バ部130は、HDD103,103a,103b,・
・・へのデータの書き込みや、データの読み出しを行
う。
【0056】データ記憶部140は、複数のHDD10
3,103a,103b,・・・によりデータを記憶す
る。次に、上記のような構成のシステムにおいて提供さ
れるファイルシステムの構造について説明する。
【0057】図5は、本実施の形態におけるファイルシ
ステム構造の一例を示す図である。たとえば、図5に示
すファイルシステムでは、複数のディレクトリ31〜3
5と複数のファイル41〜44とを有している。ディレ
クトリ31はルートディレクトリであり、木構造におけ
る最上位の位置に配置されている。
【0058】ディレクトリ31の直接の子として、2つ
のディレクトリ32,33が配置されている。ディレク
トリ32の直接の子として、ディレクトリ34と2つの
ファイル41,42とが配置されている。ディレクトリ
33の直接の子としてディレクトリ35とファイル43
とが配置されている。ディレクトリ34の直接の子とし
て、2つのファイル42,43が配置されている。ディ
レクトリ35の直接の子として、ファイル44が配置さ
れている。
【0059】このように、ディレクトリ31〜35とフ
ァイル41〜44とは、木構造に構造化されている。た
だし、ハードリンクを用いると、ファイル42やファイ
ル43のように、複数のディレクトリの子として配置す
ることができる。すなわち、ファイル42は、ディレク
トリ32の子であると共にディレクトリ34の子でもあ
る。
【0060】ここで、ハードリンクを用いたファイルシ
ステムの構造が、ディレクトリやファイルの管理情報と
して、どのように定義されているのかについて説明す
る。図6は、ファイルシステム構造の定義例を示す図で
ある。図6の例は、ファイルシステム全体の管理情報の
中から、図5に示したディレクトリ32,34の管理情
報32a,34aと、ファイル41,42の管理情報4
1a,42aとの記述部分を抜き出したものである。
【0061】ディレクトリ32,34の管理情報32
a,34aには、直接の子ファイルの一覧、親ディレク
トリ情報、および属性情報が設定されている。直接の子
ファイルの一覧には、そのディレクトリの直下に配置さ
れたディレクトリとファイルとの名称(ディレクトリ名
とファイル名)、およびそのディレクトリやファイルを
特定する情報(識別情報)が設定されている。
【0062】親ディレクトリ情報には、そのディレクト
リの直接上のディレクトリの識別情報が設定されてい
る。属性情報には、そのディレクトリに対する属性情報
が設定されている。
【0063】ファイル41,42の管理情報41a,4
2aには、直接の親のディレクトリ情報として、親ディ
レクトリの識別情報が設定されている。特にファイル4
2には、親ディレクトリが複数存在するため、ファイル
42の管理情報42aには、直接の親ディレクトリ情報
のリスト(識別情報の配列)が設定されている。
【0064】このように、ファイル41,42に対し
て、直接の親ディレクトリの管理情報41a,42aを
設定したことで、ファイル41,42からそのファイル
のパスを探索することが可能となる。その結果、ファイ
ルからファイルパス名の高速な生成が実現できる。
【0065】また、各ディレクトリ32,34に属性情
報を設定したことにより、所定のディレクトリ配下の全
てのファイルおよびディレクトリをグループ化して、属
性設定することが可能となる。
【0066】なお、各ファイル情報は識別情報で参照可
能なデータ構造を取る。識別情報はUNIXファイルシ
ステムの場合、inode番号が使用される。次に、本発明
のファイルシステムにおける処理内容を説明する。
【0067】[ハードリンクを含まないパス名探索]ま
ず、ハードリンクを含まない場合のパス名の探索方法に
ついて説明する。図7は、ファイルシステム処理におけ
る指示の流れを示す図である。図7に示す矢印は、指示
を出す側から指示(処理要求)を受ける側に対して向い
ている。なお、図7では、ファイルシステム情報管理部
122と属性設定管理部123との中に、本実施の形態
に係る処理機能が示されている。また、図4に示したク
ライアント20のネットワーク制御部22やNASファ
イラ100のネットワーク制御部110などは、単に処
理要求の伝送を仲介するものであるため、図8では省略
している。
【0068】ファイルシステム情報管理部122は、親
ディレクトリ情報格納処理部122aと親ディレクトリ
情報参照処理部122bとを有している。親ディレクト
リ情報格納処理部122aは、ディレクトリやファイル
の管理情報の1つとして、親ディレクトリ情報を格納す
る。
【0069】親ディレクトリ情報参照処理部122b
は、親ディレクトリ取得要求に応じて、ディレクトリや
ファイルの管理情報内の親ディレクトリ情報を参照し、
親ディレクトリの識別情報を返送する。たとえば、属性
設定管理部123の上位ディレクトリ探索処理部123
bからの親ディレクトリ取得要求要求に応じて、ディレ
クトリやファイルの管理情報内の親ディレクトリ情報を
参照し、親ディレクトリに関する情報を上位ディレクト
リ探索処理部123bに渡す。
【0070】属性設定管理部123は、ディレクトリ属
性設定処理部123a、上位ディレクトリ探索処理部1
23b、およびディレクトリ属性値返却部123cを有
している。
【0071】ディレクトリ属性設定処理部123aは、
クライアント20のアプリケーション部21からの属性
値設定要求に応じて、ディレクトリの管理情報に対して
属性値を設定する。
【0072】上位ディレクトリ探索処理部123bは、
クライアント20のアプリケーション部21からの経路
探索要求に応じて、指定されたファイルの所在を示すパ
スを探索する。パスの探索の際には、ファイルシステム
情報管理部122の親ディレクトリ情報参照処理部12
2bに、ファイルやディレクトリの親ディレクトリ情報
取得要求を渡す。親ディレクトリの情報を繰り返し取得
することで、指定されたファイルまでのルートディレク
トリからのパスを探索することができる。
【0073】ディレクトリ属性値返却部123cは、ア
プリケーション部21からのディレクトリ属性値の取得
依頼に応じて、指定されたディレクトリに設定されてい
る属性値を応答する。
【0074】アプリケーション部21からファイルシス
テム制御部120へは、ファイル作成、ファイル移動、
ファイル削除、ハードリンク作成、親ディレクトリ情報
取得、親ディレクトリ情報順序設定、および属性設定な
どの処理要求が出される。たとえば、ファイル作成、フ
ァイル移動などのファイル操作時には、アプリケーショ
ン部21からファイルシステム制御部120に対して、
ファイル操作要求が発行される。ファイルシステム制御
部120では、ファイルシステムインタフェース処理部
121が、ファイル操作部124に対して、ファイル操
作要求に応じたファイル操作を指示する。
【0075】さらに、ファイルシステムインタフェース
処理部121は、ファイルシステム情報管理部122に
対して、ファイル情報の更新を依頼する。このファイル
更新依頼では、従来と異なり、親ディレクトリ情報の更
新指示も出される。ファイル情報の更新依頼を受けたフ
ァイルシステム情報管理部122は、ファイルの更新日
時を設定するなどの一般的なファイルの情報を設定する
と共に、親ディレクトリ情報格納処理部122aに対し
て、親ディレクトリ情報の格納を指示する。
【0076】すると、親ディレクトリ情報格納処理部1
22aが、操作対象となったファイルの管理情報に対し
て、そのファイルの親ディレクトリの識別情報を設定す
る。具体的には、親ディレクトリ情報格納処理部122
aからディスク管理部125に対して、捜査対象となっ
たファイルの管理情報が格納されている領域に対して、
親ディレクトリの識別情報の書き込みを要求する。ディ
スク管理部125は、要求に応じて、データ記憶部14
0を構成するHDD103,103a,103b,・・
・に、親ディレクトリの識別情報を書き込む。
【0077】このようにして、ファイルが作成された
り、ファイルが移動されたりすると、作成または移動さ
れたファイルの管理情報に、親ディレクトリの識別情報
が設定される。なお、ディレクトリの作成および移動の
処理においても同様に、作成または移動されたディレク
トリの管理情報に、親ディレクトリの識別情報が設定さ
れる。
【0078】クライアント20において、ファイルのパ
スを探索する場合、アプリケーション部21から、ファ
イルを指定した親ディレクトリ情報取得要求がファイル
システム制御部120に出される。すると、ファイルシ
ステム制御部120では、ファイルシステムインタフェ
ース処理部121からファイルシステム情報管理部12
2に対して、親ディレクトリ情報取得要求が出される。
親ディレクトリ取得要求を受け取ったファイルシステム
情報管理部122では、親ディレクトリ情報参照処理部
122bが、ディスク管理部125を介して、指定され
たファイルの管理情報内の親ディレクトリ情報を参照す
る。そして、親ディレクトリ情報参照処理部122b
は、指定された親ディレクトリの情報を返却する。
【0079】このような、親ディレクトリ情報の獲得処
理を繰り返し実行することにより、アプリケーション部
21において、ファイルのパス名を探索することができ
る。図8は、パス名探索処理の手順を示すフローチャー
トである。以下、図8に示す処理をステップ番号に沿っ
て説明する。なお、以下の処理では、ディレクトリもフ
ァイルの1つとして取り扱われる。すなわち、ディレク
トリ名は、ファイル名でもある。
【0080】[ステップS101]アプリケーション部
21は、パス名を探索すべきファイルの存在するファイ
ルシステムの、ルートディレクトリの識別情報を取得す
る。 [ステップS102]アプリケーション部21は、パス
名を探索すべきファイルを対象ファイルとする。
【0081】[ステップS103]アプリケーション部
21は、対象ファイルの識別情報が、ファイルシステム
のルートディレクトリの識別情報と一致するか否かを判
断する。識別情報が一致した場合には、処理がステップ
S109に進められる。識別情報が一致しなかった場合
には、処理がステップS104に進められる。
【0082】[ステップS104]アプリケーション部
21は、ファイルシステム制御部120に対して親ディ
レクトリ情報の獲得要求を出力し、対象ファイルの親デ
ィレクトリ情報を獲得する。ここで獲得する親ディレク
トリ情報には、親ディレクトリの識別情報が含まれる。
【0083】[ステップS105]アプリケーション部
21は、ファイルシステム制御部120に対して、親デ
ィレクトリ内のファイルの一覧獲得要求を出力し、親デ
ィレクトリ内のファイル(子ファイル)の一覧(ファイ
ル名と識別情報とを含む)を取得する。
【0084】[ステップS106]アプリケーション部
21は、対象ファイルの識別情報と一致する識別情報の
子ファイルを検索する。 [ステップS107]アプリケーション部21は、対象
ファイルと識別情報が一致した子ファイルのファイル名
を記憶する。
【0085】[ステップS108]アプリケーション部
21は、現在の親ディレクトリを対象ファイルとして、
処理をステップS103に進める。これにより、親ディ
レクトリがルートディレクトリになるまで、ディレクト
リ構造の下位から上位に向かって、ファイル名の取得が
行われていく。
【0086】[ステップS109]ステップS103に
おいて、対象ファイルの識別情報がルートディレクトリ
の識別情報と一致すると判断されると、アプリケーショ
ン部21は、ステップS107で記憶したファイル名
を、記憶した順に連結して、パス名を生成し、処理を終
了する。
【0087】このようにして、アプリケーション部21
は、任意のファイルのパス名を容易に取得することがで
きる。その結果、ファイルからファイルパス名の高速な
生成が実現できる。
【0088】なお、図8の説明では、パス名探索処理の
全体的な制御をアプリケーション部21が行うように説
明しているが、図8においてアプリケーション部21が
行っていた処理を、ファイルシステム制御部120内で
行うこともできる。たとえば、アプリケーション部21
からのパス名探索要求を受けたファイルシステムインタ
フェース処理部121が図8の説明におけるアプリケー
ション部21と同様の処理を行う。そして、ファイルシ
ステムインタフェース処理部121は、ステップS10
9で生成されたパス名をアプリケーション部21に送信
する。
【0089】[ハードリンクを含むパス名探索]次に、
ハードリンクが行われる場合について説明する。ハード
リンクが行われる場合、ディレクトリやファイルの管理
情報に設定された親ディレクトリ情報が使用される。フ
ァイル作成処理は、ハードリンクが行われない場合と同
様である。
【0090】ハードリンクが行われる場合には、アプリ
ケーション部21からの要求に従って、親ディレクトリ
情報格納処理部122aにおいて複数の親ディレクトリ
情報が管理される。ファイルの移動時には、同じく親デ
ィレクトリ情報格納処理部122aが、元の親ディレク
トリの情報を親ディレクトリ情報格納域から削除し、新
たな親ディレクトリ情報を追加する。親ディレクトリ情
報格納処理部122aは、同一の親ディレクトリから複
数のリンク情報が存在する場合には、リンク数に合わせ
て重複した親ディレクトリ情報を保持する。ファイル移
動時の元ディレクトリが重複していた場合には、親ディ
レクトリ情報格納処理部122aは、いずれか一つの親
ディレクトリエントリを削除することで、リンク数と一
致させる。リンクの削除時においては、親ディレクトリ
情報格納処理部122aは、該当する親ディレクトリの
エントリ情報を一つ管理域から削除する。
【0091】図9は、ハードリンクにおける親ディレク
トリ情報格納領域の状態遷移を示す図である。図9に
は、識別情報がKのファイルの親ディレクトリ情報格納
領域の状態遷移を示している。
【0092】親ディレクトリ情報格納領域51には、ハ
ードリンクの個数情報51aと、親ディレクトリ識別情
報列51bとが格納されている。ハードリンク追加前の
状態では、個数情報51aにはn(nは自然数)個と設
定されており、親ディレクトリ識別情報列51bには、
n個の識別情報M1,M2,・・・,Mnが設定されて
いる。
【0093】ここで、識別情報がLのディレクトリへの
ハードリンクが追加されると、個数情報51aには、1
が加算される。また、親ディレクトリ識別情報列51b
には、識別情報Lが追加される。
【0094】これにより、ハードリンク追加後の親ディ
レクトリ情報格納領域52の個数情報52aにはn+1
が設定され、親ディレクトリ識別情報列51bには、n
+1個の識別情報M1,M2,・・・,Mn,Lが設定
される。
【0095】アプリケーション部21から親ディレクト
リ情報取得要求が来た場合、ファイルシステム制御部1
20は、親ディレクトリ情報参照処理部122bによ
り、指定された親ディレクトリ情報として、親ディレク
トリ情報の個数と個々の親ディレクトリ情報を返却す
る。
【0096】アプリケーションでファイルのパス名を求
める場合の手順は以下のようになる。図10は、ハード
リンクを含むファイルシステムにおけるパス名探索手順
を示すフローチャートの前半である。以下に、図10に
示す処理をステップ番号に沿って説明する。
【0097】[ステップS111]アプリケーション部
21は、ファイルシステム制御部120から、パス名を
探索すべきファイルの存在するファイルシステムのルー
トディレクトリの識別情報を取得する。
【0098】[ステップS112]アプリケーション部
21は、パス名を探索すべきファイルを対象ファイルと
して設定する。 [ステップS113]アプリケーション部21は、対象
ファイルの識別情報が、ファイルシステムのルートディ
レクトリの識別情報と一致するか否かを判断する。識別
情報が一致した場合には、処理が終了する。識別情報が
一致しなかった場合には、処理がステップS114に進
められる。
【0099】[ステップS114]アプリケーション部
21は、ファイルシステム制御部120に対して親ディ
レクトリ情報の獲得要求を出力し、対象ファイルの親デ
ィレクトリ情報を獲得する。ここで獲得する親ディレク
トリ情報には、親ディレクトリの識別情報が含まれる。
その後、端子Aを介して、図11に示すステップS11
5に処理が進められる。
【0100】図11は、ハードリンクを含むファイルシ
ステムにおけるパス名探索手順を示すフローチャートの
後半である。以下に、図11に示す処理をステップ番号
に沿って説明する。
【0101】[ステップS115]アプリケーション部
21は、現在の親ディレクトリの中の未処理の親ディレ
クトリを選択し、ファイルシステム制御部120に対し
て選択した親ディレクトリ内のファイルの一覧獲得要求
を出力し、親ディレクトリ内のファイル(子ファイル)
の一覧(ファイル名と識別情報とを含む)を取得する。
【0102】[ステップS116]アプリケーション部
21は、対象ファイルの識別情報と一致する識別情報の
子ファイルを検索する。 [ステップS117]アプリケーション部21は、対象
ファイルと識別情報が一致した子ファイルのファイル名
を記憶する。
【0103】[ステップS118]アプリケーション部
21は、現在の親ディレクトリの識別情報が、ファイル
システムのルートディレクトリの識別情報と一致するか
否かを判断する。識別情報が一致した場合には、処理が
ステップS121に進められる。識別情報が一致しなか
った場合には、処理がステップS119に進められる。
【0104】[ステップS119]アプリケーション部
21は、現在の親ディレクトリを対象ファイルとする。 [ステップS120]アプリケーション部21は、ファ
イルシステム制御部120に対して親ディレクトリ情報
の獲得要求を出力し、ステップS119で対象ファイル
とされたディレクトリの親ディレクトリ情報を獲得す
る。その後、処理がステップS115に進められる。
【0105】[ステップS121]アプリケーション部
21は、ステップS117で記憶したファイル名を、記
憶した順に連結して、パス名を生成する。 [ステップS122]アプリケーション部21は、生成
したパス名を記憶する。このとき、ステップS117で
記憶したファイル名を消去する。
【0106】[ステップS123]アプリケーション部
21は、パス名を探索すべきファイルの全ての親ディレ
クトリ情報に対して、ステップS115からステップS
122の処理を実行したか否かを判断する。親ディレク
トリ情報に対して処理を実行した場合には、処理がステ
ップS124に進められる。未処理の親ディレクトリが
ある場合には、処理がステップS115に進められる。
【0107】[ステップS124]アプリケーション部
21は、ステップS122で記憶したパス名のリストを
生成する。これにより、ハードリンクを有する場合に
は、パス名を探索するファイルの親ディレクトリの数に
応じたパス名のリストを生成することができる。その結
果、ファイルに対応する全てのパス名の高速な生成が実
現できる。
【0108】なお、図10と図11の説明では、パス名
探索処理の全体的な制御をアプリケーション部21が行
うように説明しているが、図10と図11とにおいてア
プリケーション部21が行っていた処理を、ファイルシ
ステム制御部120内で行うこともできる。たとえば、
アプリケーション部21からのパス名探索要求を受けた
ファイルシステムインタフェース処理部121が図10
と図11とにおけるアプリケーション部21と同様の処
理を行う。そして、ファイルシステムインタフェース処
理部121は、ステップS124で生成されたパス名を
アプリケーション部21に送信する。
【0109】[親ディレクトリの優先順の設定]ファイ
ルシステムがハードリンク機能を有する場合、任意のフ
ァイルのリンク元の親ディレクトリの優先順を設定する
ことができる。この場合、ディレクトリの管理情報に含
まれる親ディレクトリ情報、ファイルの管理情報に含ま
れる親ディレクトリ情報が利用される。
【0110】親ディレクトリの優先順を設定する場合、
まず、アプリケーション部21がファイルシステム制御
部120に対して親ディレクトリ情報の順序設定要求を
出力する。
【0111】ファイルシステム制御部120は、アプリ
ケーション部21から親ディレクトリ情報の順序設定要
求が来た場合、親ディレクトリ情報格納処理部122a
に、親ディレクトリの順序設定処理を依頼する。親ディ
レクトリ情報格納処理部122aでは、依頼内容におい
て親ディレクトリ情報の不足のないこと、設定を変更す
る権利の妥当性を確認した上で、親ディレクトリの順序
を入れ替える。
【0112】アプリケーション部21から親ディレクト
リ情報取得要求が来た場合、ファイルシステム制御部1
20は、親ディレクトリ情報参照処理部122bによ
り、指定された親ディレクトリの情報として、個数と個
々の親ディレクトリ情報を、優先順に沿って、優先順位
の高い親ディレクトリ情報から順に出力する。
【0113】たとえば、図9に示すように、親ディレク
トリ情報格納領域51には、ハードリンクの個数情報5
1aと、親ディレクトリ識別情報列51bとが格納され
ている。このとき、親ディレクトリ識別情報列51bの
図中左側ほど優先順位を高く、右側ほど優先順位を低く
定義する。この場合、親ディレクトリ情報格納処理部1
22aは、アプリケーション部21からの指示に従い、
優先順位の高い親ディレクトリの識別情報から順に、親
ディレクトリ識別情報列51bの左から並べ直す。ま
た、親ディレクトリ情報参照処理部122bは、親ディ
レクトリ識別情報を出力する際には、親ディレクトリ識
別情報列51bの左から順に出力する。
【0114】これにより、ハードリンク情報に順序性を
持たせることが可能になり、後述するファイルの属性制
御時にハードリンクファイルの属性優先度制御を実現で
きる。たとえば、ハードリンクされた2つのディレクト
リに相反する属性が設定されていた場合、優先順位の高
い親ディレクトリの属性のみを反映させることができ
る。すなわち、優先順位の高い親ディレクトリに「配下
のファイルを圧縮する」という属性が設定され、優先順
位の低い親ディレクトリに「配下のファイルを圧縮しな
い」という属性が設定されていた場合、これらの2つの
ディレクトリからハードリンクされたファイルは、圧縮
される。
【0115】このように、複数の親ディレクトリの間に
優先順を設定したことにより、管理情報と実際のファイ
ルとの整合性を保つことができる。すなわち、複数の親
ディレクトリに相反する属性が設定されていた場合で
も、常に優先順位の高い親ディレクトリの属性が反映さ
れる。しがって、ファイルの属性が不確定になることが
なく、運用時の監視コストが軽減できる。
【0116】[ディレクトリへの属性設定」次に、ディ
レクトリへの属性設定について説明する。本実施の形態
では、あるディレクトリに設定した属性を、その配下
(子孫)のディレクトリに伝搬させることができる。デ
ィレクトリの属性の伝搬には、ディレクトリやファイル
に設定されている親ディレクトリ情報と、ディレクトリ
に設定されている属性情報が用いられる。
【0117】アプリケーション部21からファイルシス
テム制御部120に対して、ディレクトリに対する属性
設定要求が来た場合、ファイルシステム制御部120
は、属性設定管理部123内のディレクトリ属性設定処
理部123aに処理を依頼する。ディレクトリ属性設定
処理部123aは、設定の内容、設定する権利の妥当性
を確認した上で、ディレクトリに対して属性の設定を行
う。
【0118】ファイルに対して操作を行う場合、属性設
定管理部123は、ディレクトリとファイルとの親ディ
レクトリ情報を元に、ファイルシステムのルートディレ
クトリに辿りつくまでの親を順に探索し、先祖のディレ
クトリの中で属性の設定されているディレクトリを探索
する。ルートディレクトリまでの全てのディレクトリに
属性の設定がなく、途中にハードリンクが存在した場
合、属性設定管理部123は、2番目以降の親ディレク
トリについて、同様に属性情報を探索する。属性設定管
理部123は、属性情報がみつかった場合には探索を中
断し、その都度、見つかった属性情報に従って処理を実
行する。これにより、上位のディレクトリに設定された
属性を、ファイルあるいはディレクトリに反映させるこ
とができる。
【0119】属性反映処理手順は以下のようになる。図
12は、属性反映処理の手順を示すフローチャートの前
半である。以下に、図12に示す処理をステップ番号に
沿って説明する。この処理は、ファイル操作部124か
ら属性設定管理部123に対して、属性値取得要求が出
された場合に実行される処理である。なお、ファイル操
作部124は、アプリケーション部21などからファイ
ル操作の指示(ファイル作成やファイル移動などの指
示)が出された場合に、操作対象のファイルに対する処
理内容を決定するために、属性設定管理部123に対し
て、属性値取得要求を出す。
【0120】[ステップS131]ファイル操作部12
4から属性値取得要求を受け取った属性設定管理部12
3では、上位ディレクトリ探索処理部123bが、ファ
イルシステム制御部120から、属性を反映すべきファ
イルの存在するファイルシステムのルートディレクトリ
の識別情報を取得する。
【0121】[ステップS132]ディレクトリ属性値
返却部123cは、属性を反映すべきファイルを対象フ
ァイルとして設定する。 [ステップS133]ディレクトリ属性値返却部123
cは、対象ファイルの識別情報が、ファイルシステムの
ルートディレクトリの識別情報と一致するか否かを判断
する。識別情報が一致した場合には、端子Bを介して、
処理が図13に示すステップS141に進められる。識
別情報が一致しなかった場合には、処理がステップS1
34に進められる。
【0122】[ステップS134]上位ディレクトリ探
索処理部123bは、ファイルシステム制御部120に
対して親ディレクトリ情報の獲得要求を出力し、対象フ
ァイルの親ディレクトリ情報を獲得する。ここで獲得す
る親ディレクトリ情報には、親ディレクトリの識別情報
が含まれる。その後、端子Cを介して図13に示すステ
ップS135に処理が進められる。
【0123】図13は、属性反映処理の手順を示すフロ
ーチャートの後半である。以下に、図13に示す処理を
ステップ番号に沿って説明する。 [ステップS135]ディレクトリ属性値返却部123
cは、現在の親ディレクトリの中から未処理の親ディレ
クトリの1つを選択し、その親ディレクトリに属性情報
が設定されているか否かを判断する。属性情報が設定さ
れている場合には、処理がステップS136に進められ
る。属性情報が設定されていない場合には、処理がステ
ップS137に進められる。
【0124】[ステップS136]ディレクトリ属性値
返却部123cは、現在の親ディレクトリの属性情報を
取得する。その後、処理がステップS143に進められ
る。 [ステップS137]ディレクトリ属性値返却部123
cは、現在の親ディレクトリの識別情報がファイルシス
テムのルートディレクトリの識別情報と一致するか否か
を判断する。識別情報が一致した場合には、処理がステ
ップS140に進められ、識別情報が一致しなかった場
合には、処理がステップS138に進められる。
【0125】[ステップS138]ディレクトリ属性値
返却部123cは、現在の親ディレクトリを対象ファイ
ルとする。 [ステップS139]ディレクトリ属性値返却部123
cは、ファイルシステム制御部120に対して親ディレ
クトリ情報の獲得要求を出力し、ステップS138で対
象ファイルとされたディレクトリの親ディレクトリ情報
を獲得する。その後、処理がステップS135に進めら
れる。
【0126】[ステップS140]ディレクトリ属性値
返却部123cは、属性を探索すべきファイルの全ての
親ディレクトリ情報に対して、ステップS135〜ステ
ップS139の処理を行ったか否かを判断する。全ての
親ディレクトリに対して処理が完了していれば、処理が
ステップS141に進められる。未処理の親ディレクト
リがあれば、処理がステップS135に進められる。
【0127】[ステップS141]ディレクトリ属性値
返却部123cは、ルートディレクトリに属性情報が設
定されているか否かを判断する。属性情報が設定されて
いる場合には、処理がステップS142に進められる。
属性情報が設定されていない場合には、処理がステップ
S143に進められる。
【0128】[ステップS142]ディレクトリ属性値
返却部123cは、ルートディレクトリの属性情報を取
得する。 [ステップS143]ディレクトリ属性値返却部123
cは、ステップS136またはステップS142で取得
した属性情報を、ファイル操作部124またはアプリケ
ーション部21に対して出力する。すると、ファイル操
作部124またはアプリケーション部21において、属
性を反映すべきファイルに対して、属性情報に従った処
理が実行される。
【0129】このようにして、ディレクトリ毎に設定さ
れた属性に従った処理を、そのディレクトリの配下のデ
ィレクトリに対して実行させることができる。たとえ
ば、ディレクトリに対して、ファイルを圧縮して格納す
べき旨の属性が設定されていれば、そのディレクトリの
配下にファイルが作成される場合には、そのファイルに
は圧縮処理が施される。
【0130】その結果、従来は、即時反映が困難だった
ディレクトリ配下への一括の属性設定を、リアルタイム
に設定可能とし、かつ、ファイルの移動時にも移動先に
設定された属性が即時に設定できる。
【0131】また、以上の処理を複数システムからアク
セス可能なNASファイラで実現したことにより、複数
のクライアントに共通の属性を設定することが容易に可
能となる。また、共通のファイルシステムの一部に特定
ノードにのみ作用する属性を設定することも可能であ
る。
【0132】[使用量管理]次に、ディレクトリ毎の属
性情報を用いたファイルシステム制御の例として、ディ
レクトリ毎の使用量管理を行う場合について説明する。
【0133】まず、ディレクトリ毎の使用量管理処理の
基本概念について説明する。従来のファイルシステムの
中には、ファイルシステム中のファイル数やファイルデ
ータの使用量とその制限値をユーザ毎およびグループ毎
に保持することができるものがある。このようなファイ
ルシステムでは、ファイル数やファイルデータの使用量
とその制限値を参照し、ユーザ毎およびグループ毎に使
用量を制限することができる。
【0134】しかし、従来は、特定のディレクトリ配下
のファイル数およびファイルデータの使用量について制
限をかける機能を持つファイルシステムは存在しなかっ
た。そこで、以下の例では、前述のディレクトリの属性
情報の中に、ファイル数の制限値とデータ使用量の制限
値とを設けて、特定のディレクトリ配下のファイル数お
よびファイルデータの使用量について制限をかけるよう
にする。
【0135】図14は、使用制限を行うときのディレク
トリの属性情報のデータ構造の一例を示す図である。図
14の例では、ディレクトリの属性情報60内に、制限
有無情報61、直近の制限ディレクトリ情報62、およ
び制限値リスト63を含んでいる。
【0136】制限有無情報61は、一般の制限、ユーザ
毎の制限、グループ毎の制限のそれぞれについて、制限
値が設定されているか否かを示すフラグである。直近の
制限ディレクトリ情報62は、制限がかけられている最
も近い先祖(上位)のディレクトリの情報(たとえば、
inode番号)である。
【0137】制限値リスト63は、現在の使用量と制限
値とが設定された情報である。制限値リスト63には、
一般制限値情報63a、ユーザ毎に設けられたユーザ制
限値情報63b,63c、およびグループ毎に設けられ
たグループ制限値情報63d,63eが含まれている。
【0138】一般制限値情報63aには、ユーザやグル
ープに拘わらない制限値と、現在の使用量とを示す情報
が含まれている。図14の例では、一般制限値情報63
aに、容量制限値(hard limit of blocks)63aa、使
用容量(current blocks)63ab、ファイル数制限値(h
ard limit of files)63ac、およびファイル数(curr
ent files)63adが含まれている。
【0139】容量制限値63aaは、使用可能記憶容量
を示している。たとえば、ハードディスクを複数のブロ
ックに分けている場合に、使用可能なブロック数が設定
される。
【0140】使用容量63abは、現在使用されている
記憶容量である。これは、属性情報60が設定されてい
るディレクトリの配下(サブディレクトリ以下)の全て
のファイルの容量の総計である。
【0141】ファイル数制限値63acは、使用可能な
ファイル数の上限値である。ファイル数63adは、現
在存在するファイル数である。これは、属性情報60が
設定されているディレクトリの配下(サブディレクトリ
以下)の全てのファイルの総数である。
【0142】ユーザ制限値情報63b,63cも、一般
制限値情報63aと同様の情報を含んでいる。ただし、
使用容量とファイル数に関しては、対象となるユーザが
所有者(オーナ)となっているファイルのみ集計対象と
なる。なお、ユーザ制限値情報63b,63cは、ユー
ザ毎に使用量の制限がある場合にのみ、属性情報60に
含まれていればよい。
【0143】グループ制限値情報63d,63eも、一
般制限値情報63aと同様の情報を含んでいる。ただ
し、使用容量とファイル数に関しては、対象となるグル
ープに属するユーザが所有者(オーナ)となっているフ
ァイルのみ集計対象となる。なお、グループ制限値情報
63d,63eは、グループ毎に使用量の制限がある場
合にのみ、属性情報60に含まれていればよい。
【0144】図15は、使用制限を行うときのファイル
の管理情報のデータ構造例を示す図である。図15
(A)は、ハードリンクがない場合のファイルの管理情
報71を示している。図15(B)は、ハードリンクが
ある場合のファイルの管理情報72を示している。
【0145】ハードリンクがない場合には、ファイルの
管理情報71に、制限のかかっている一番近い祖先のデ
ィレクトリを示す直近の制限ディレクトリ情報71aが
含まれる。
【0146】また、ハードリンクがある場合には、ファ
イルの管理情報72に、制限のかかっている一番近い祖
先のディレクトリの集合を示す直近の制限ディレクトリ
リスト72aが含まれる。
【0147】すなわち、全てのファイルとディレクトリ
とには、そのファイルまたはディレクトリより上の階層
にあり、かつ使用量の制限が設定された一番近い階層の
ディレクトリの情報が設定される。そのようなディレク
トリがない場合は、ファイルとディレクトリとに対し
て、使用量の制限が設定されたディレクトリがないとい
う情報を有する。このディレクトリを順にたどっていく
ことによりそのディレクトリより上の階層にありかつ使
用量の制限が設定されたすべてのディレクトリの一覧を
得ることができる。
【0148】また、ファイルが複数のディレクトリに所
属するハードリンクである場合には、その全ての系列の
先祖ディレクトリに関して、直近の制限ディレクトリ情
報を持つこととなる。
【0149】なお、図14に示した属性情報60は、フ
ァイル作成/削除およびブロック割付け/解放などのフ
ァイルシステム更新時に、現在の使用量の値が更新され
る。また、ファイル作成前またはブロック割付け前に制
限値が参照され、ファイルの作成などにより制限値を超
える場合は、その処理が制限される。
【0150】また、ユーザ毎に使用量の制限がある場
合、ファイル操作が行われたときに、ファイル操作を指
示したユーザの現在の使用量が更新される。また、ファ
イル作成前またはブロック割付け前にユーザ毎の制限値
が参照され、ファイルの作成などにより制限値を超える
場合は、その処理が制限される。
【0151】同様に、グループ毎に使用量の制限がある
場合、ファイル操作が行われたときに、ファイル操作を
指示したユーザが属するグループの現在の使用量が更新
される。また、ファイル作成前またはブロック割付け前
にグループ毎の制限値を参照され、ファイルの作成など
のより制限値を超える場合は、その処理が制限される。
【0152】使用量の更新、制限値の参照を行うべきデ
ィレクトリは、直近の制限ディレクトリ情報を参照し
て、制限の設けられた上位のディレクトリをリストアッ
プすることができる。
【0153】図16は、使用量更新、制限値参照ディレ
クトリ決定の処理手順を示すフローチャートである。以
下に、図16に示す処理をステップ番号に沿って説明す
る。 [ステップS201]ファイルシステム制御部120
は、処理対象の起点となるファイルまたはディレクトリ
を決定する。ファイル作成/削除時には、対象となるフ
ァイルの親ディレクトリが起点となる。ブロック割付け
/解放時には、対象となるファイル自身が起点となる。
起点となるファイルまたはディレクトリが、処理対象と
される。なお、処理対象の起点がディレクトリの場合に
は、そのディレクトリの属性情報が参照される。
【0154】[ステップS202]ファイルシステム制
御部120は、処理対象とされたファイルまたはディレ
クトリの直近の制限ディレクトリ情報を参照し、上位の
ディレクトリの中で制限のかけられているディレクトリ
が存在するか否かを判断する。制限のかけられているデ
ィレクトリが存在する場合には、処理がステップS20
3に進められ、存在しない場合には処理が終了する。
【0155】[ステップS203]ファイルシステム制
御部120は、ステップS202で参照した直近の制限
ディレクトリ情報で示されているディレクトリを処理対
象とする。
【0156】[ステップS204]ファイルシステム制
御部120は、処理対象のディレクトリの属性情報を参
照する。その後、処理がステップS202に進められ
る。このようにして、起点となるファイルまたはディレ
クトリから順に直近の制限ディレクトリ(制限のかかっ
ている一番近いディレクトリ)で指し示されたディレク
トリを辿りながら、祖先のディレクトリの中で使用制限
が課されている全てのディレクトリの属性情報を参照す
ることができる。
【0157】なお、ファイルが複数のディレクトリに所
属するハードリンクである場合には、直近の制限ディレ
クトリが複数存在する。この場合には、各ハードリンク
毎に、参照ディレクトリの決定処理が行われることにな
る。
【0158】次に、使用量の制限を設けた処理の具体的
な適用例について説明する。図17は、使用制限を設け
る場合の機能構成を示す機能ブロック図である。なお、
図中の矢印はデータの流れを表すものではなく、制御の
流れ(制御依存)を示す。
【0159】使用制限に関係する処理として、アプリケ
ーション部21からファイルシステム制御部120に、
ファイル作成、ファイル削除、ファイル移動、ブロック
割付け、ブロック解放、使用量制限値設定/解除などの
要求が出される。これらの要求は、ファイルシステム制
御部120のファイルシステムインタフェース処理部1
21で受け取られ、ファイル操作部124や使用量制御
部150に送られる。
【0160】使用量制御部150は、ディレクトリ毎に
使用量の制限値や、ファイル数の制限値に基づいて、フ
ァイルシステムのファイル操作を管理する。使用量制御
部150は、使用量制限値判定処理部151、使用量現
在値更新処理部152、および使用量制限値設定処理部
153を有している。
【0161】使用量制限値判定処理部151は、アプリ
ケーション部21からファイル作成などのファイル操作
要求が出されると、使用予定量を計算し、使用量制限値
と使用予定量とを比較する。使用量制限値を超えてなけ
れば、使用量制限値判定処理部151は、ファイル操作
部124に対してファイル操作を許可する。使用量制限
値を超えてしまうようであれば、使用量制限値判定処理
部151は、ファイル操作部124に対して、ファイル
操作を禁止する。
【0162】使用量現在値更新処理部152は、アプリ
ケーション部21からファイル作成などのファイル操作
要求が出され、ファイル操作部124によりファイル操
作が行われると、そのファイルの上位の各ディレクトリ
の使用量の現在値を更新する。
【0163】使用量制限値設定処理部153は、アプリ
ケーション部21から使用量制限値設定や解除の要求が
出されると、その要求に従って、使用量の制限値を設定
または解除する。
【0164】なお、使用量制御部150は、図4に示し
た属性設定管理部123の一機能である。すなわち、属
性の1つとして、使用量の制限(使用可能な記憶容量や
ファイル数)を設定可能とした場合に、属性設定管理部
123が有すべき機能である。なお、使用量制御部15
0の機能の一部(たとえば、直近の制限ディレクトリの
探索)を、ファイルシステム情報管理部122に含ませ
ることもできる。
【0165】図17に示したような構成によれば、たと
えば、ファイル作成またはブロック割付け等の使用量が
増えるファイルシステム更新要求があった場合、ファイ
ルシステムインタフェース処理部121は使用量制限値
判定処理部151に制御を渡す(ステップS211)。
使用量制限値判定処理部151は、使用予定量と制限値
とを比較し、使用量の制限値を超えるかどうかを判定す
る。ここで、制限値を超えないと判断した場合は、使用
量制限値判定処理部151は、制御をファイルシステム
インタフェース処理部121に戻す(ステップS21
2)。
【0166】すると、ファイルシステムインタフェース
処理部121から、ファイルの更新要求がファイル操作
部124に出される(ステップS213)。ファイル操
作部124は、ディスク管理部125を経由してファイ
ルシステム更新を行う。このとき、同時に、ファイルシ
ステムインタフェース処理部121から、使用量現在値
更新要求が、使用量現在値更新処理部152に出される
(ステップS214)。使用量現在値更新処理部152
は、ファイル操作部124、ディスク管理部125を経
由して現在値の更新を行う。
【0167】また、あるディレクトリに対して制限値を
設定/解除する場合、ファイルシステムインタフェース
処理部121は制御を使用量制限値設定処理部153に
渡す(ステップS215)。すると、使用量制限値設定
処理部153は、制限値の設定/解除を行う。
【0168】次に、使用量制限処理を行うためのデータ
構造について説明する。図18は、使用量制限処理を行
うためのディレクトリのデータ構造の一例を示す図であ
る。なお、図18には、ディレクトリの管理情報のう
ち、使用量制限処理に関係するデータのみを示してい
る。
【0169】ディレクトリの管理情報210には、一般
制限フラグ211、ユーザ制限フラグ212、グループ
制限フラグ213、制限ディレクトリinode番号21
4、および制限値リストinode番号215が含まれてい
る。
【0170】一般制限フラグ211は、ディレクトリ配
下のファイルについてファイル数およびファイルデータ
についての使用量の制限の有無を示すフラグである。一
般制限フラグ211には、1ビットのフィールドがあれ
ばよい。ディレクトリ配下のファイルについて制限があ
る場合には、一般制限フラグ211がたてられる(1が
設定される)。
【0171】ユーザ制限フラグ212は、ディレクトリ
配下のファイルについてファイル数およびファイルデー
タについてのユーザ毎の使用量の制限の有無を示すフラ
グである。ユーザ制限フラグ212には、1ビットのフ
ィールドがあればよい。ディレクトリ配下のファイルに
ついてユーザ毎の制限がある場合には、ユーザ制限フラ
グ212がたてられる(1が設定される)。
【0172】グループ制限フラグ213は、ディレクト
リ配下のファイルについてファイル数およびファイルデ
ータについてのグループ毎の使用量の制限の有無を示す
フラグである。グループ制限フラグ213には、1ビッ
トのフィールドがあればよい。ディレクトリ配下のファ
イルについてグループ毎の制限がある場合には、グルー
プ制限フラグ213がたてられる(1が設定される)。
【0173】制限ディレクトリinode番号214は、デ
ィレクトリの管理情報210に対応するディレクトリよ
り上の階層にあるディレクトリで、かつ制限がかかって
いて、かつこのディレクトリに一番近い階層のディレク
トリのinode番号である。ディレクトリの管理情報21
0に対応するディレクトリより上の全てのディレクトリ
に制限がかけられてない場合は、制限がかかっている先
祖ディレクトリはないという意味で、制限ディレクトリ
inode番号214には0が入る。
【0174】制限値リストinode番号215は、使用量
と制限値のリストを格納した内部ファイル220のinod
e暗号である。一般制限フラグ211、ユーザ制限フラ
グ212、およびグループ制限フラグ213のいずれか
のビットに1が設定され、ディレクトリの管理情報21
0に対応するディレクトリ配下のファイルに制限がかけ
られている場合、制限値リストinode番号215にその
使用量と制限値のリストを格納した内部ファイル220
のinode番号が入る。一般制限フラグ211、ユーザ制
限フラグ212、およびグループ制限フラグ213のす
べてにビットが設定されておらず、制限がかけられてい
ない場合、設定されていないという意味で、制限値リス
トinode番号215に0が入る。
【0175】なお、この内部ファイル220は一般のデ
ィレクトリや通常ファイルと異なりどのディレクトリに
もエントリされておらず、UNIXにおけるls等の一般
コマンドでは参照できない。
【0176】内部ファイル220には、一般制限情報2
21、ユーザ制限情報222、およびグループ制限情報
223が含まれている。一般制限情報221は、ディレ
クトリの管理情報210に対応するディレクトリ配下の
ファイル数とファイルデータ量に関する現在の値と、制
限値である。一般制限情報221には、ブロック数の制
限値221a、現在の使用ブロック数221b、ファイ
ル数の制限値221c、および現在のファイル数221
dが設定されている。ブロック数の制限値221aは、
ディレクトリの管理情報210に対応するディレクトリ
の配下のファイルで使用可能なブロック数である。現在
の使用ブロック数221bは、ディレクトリの管理情報
210に対応するディレクトリの配下のファイルで現在
使用しているブロック数である。ファイル数の制限値2
21cは、ディレクトリの管理情報210に対応するデ
ィレクトリの配下のファイル数の制限値である。現在の
ファイル数221dは、ディレクトリの管理情報210
に対応するディレクトリの配下の現在のファイル数であ
る。
【0177】このように、ファイル数とファイルデータ
の使用量と制限値に関する情報は、特定の情報を持つ構
造体により管理される。以下、ブロック数の制限値、現
在の使用ブロック数、ファイル数の制限値、および現在
のファイル数で構成されるデータ構造をdqblk構造体と
呼ぶことにする。
【0178】ユーザ制限情報222は、ユーザ毎に設け
られている。ユーザ制限情報222の内容は、一般制限
情報221と同様のdqblk構造体である。ただし、ユー
ザ制限情報222における現在のブロック数や現在のフ
ァイル数は、ユーザ制限情報222に対応するユーザの
所有するファイルのみが集計される。
【0179】グループ制限情報223は、グループ毎に
設けられている。グループ制限情報223の内容は、一
般制限情報221と同様のdqblk構造体である。ただ
し、グループ制限情報223の現在のブロック数や現在
のファイル数は、グループ制限情報223に対応するグ
ループに属するユーザの所有するファイルのみが集計さ
れる。
【0180】一般制限情報221は、内部ファイル22
0の先頭のオフセット位置に記録される。ユーザ制限情
報222は、内部ファイル220の (uid + 1) × size
of(dqblk構造体) のオフセット位置に記録される。グル
ープ制限情報223は、内部ファイル220の (gid +
(uidの最大値 + 1) + 1) × sizeof(dqblk構造体) のオ
フセット位置に記録される。なお、uidとは、ユーザの
識別子であり、各ユーザに対して1から昇順に自然数が
割り当てられる。gidとは、グループの識別子であり、
各グループに対して1から昇順に自然数が割り当てられ
る。sizeof(dqblk構造体)とは、dqblk構造体のデータ容
量である。
【0181】従ってuidやgidから即座にその情報が格納
されている位置を決定できる。なお、ユーザ毎、グルー
プ毎の使用量を設定する場合、使用量の制限値が設定さ
れているユーザやグループの使用量の値のみを更新する
ようにすることができる。また、内部ファイル220に
対して、使用量および制限値が設定されているユーザ、
グループのdqblk構造体のみを割付けるようにしてもよ
い。
【0182】図19は、使用量制限処理を行うためのフ
ァイルのデータ構造の一例を示す図である。なお、図1
9には、ファイルの管理情報のうち、使用量制限処理に
関係するデータのみを示している。ファイルの管理情報
310には、制限ディレクトリinode番号311と制限
ディレクトリinode番号リストへのポインタ312が含
まれている。
【0183】制限ディレクトリinode番号311は、制
限のかかっている一番近い上位のディレクトリのinode
番号である。制限ディレクトリinode番号311には、
ファイルの管理情報310に対応するファイルより上の
階層にあるディレクトリで、かつ制限がかかっていて、
かつこのファイルに一番近い階層のディレクトリのinod
e番号が入る。ファイルの管理情報310に対応するフ
ァイルより上の全てのディレクトリに制限がかけられて
いない場合は、制限がかかっている先祖ディレクトリは
ないという意味で0が入る。
【0184】制限ディレクトリinode番号リストへのポ
インタ312は、制限のかかっている一番近い上位のデ
ィレクトリのinode番号のリストが格納されたファイル
(制限ディレクトリinode番号リスト320)へのポイ
ンタである。制限ディレクトリinode番号リストへのポ
インタ312は、ファイルの管理情報310に対応する
ファイルが複数のディレクトリに所属するハードリンク
の場合にのみ設定される。
【0185】制限ディレクトリinode番号リスト320
には、制限のかかっている一番近い上位のディレクトリ
のinode番号の配列またはリストが格納される。したが
って、制限ディレクトリinode番号リスト320には、
各ハードリンクに応じた系列の先祖ディレクトリのinod
e番号が、ハードリンクの数だけ設定される。
【0186】次に、ディレクトリやファイルの制限ディ
レクトリinode番号の設定例について説明する。図20
は、ディレクトリツリーの一例を示す図である。図20
には、複数のディレクトリ411〜415とファイル4
21,422とからなる木構造が示されている。木構造
上、図中左側が上位である。使用量の制限が設定されて
いるディレクトリ411,413,414,415は、
二重線の四角で表されている。使用量の制限が設定され
ていないディレクトリとファイルは、一重線の四角で表
されている。四角を結ぶ線はそれらのファイルまたはデ
ィレクトリ間の親子関係を表し、左側が親、右側が子と
いう関係を表している。
【0187】ディレクトリ411〜415やファイル4
21,422の四角内には、そのディレクトリまたはフ
ァイルのinode番号が示されている。ディレクトリ41
1〜415やファイル421,422の四角の下の数字
は、制限ディレクトリinode番号(制限のかかっている
一番近い上位のディレクトリのinode番号)を示してい
る。
【0188】なお、このようなディレクトリツリーの定
義は、後述する図26〜図29に関しても同様である。
図20の例では、ディレクトリ411がルートディレク
トリである。ディレクトリ411には使用量の制限が設
定されている。ディレクトリ411のinode番号は2で
あり、制限ディレクトリinode番号は0である。制限デ
ィレクトリinode番号に0が設定されていることは、こ
れより上位の階層のディレクトリには制限値が設定され
ていないことを表している。
【0189】ディレクトリ411の直下に、2つのディ
レクトリ412,413が設けられている。ディレクト
リ412には、使用量の制限が設定されていない。ディ
レクトリ412のinode番号は3であり、制限ディレク
トリinode番号は2である。ディレクトリ413には、
使用量の制限が設定されている。ディレクトリ413の
inode番号は4であり、制限ディレクトリinode番号は2
である。
【0190】ディレクトリ412の直下に、2つのディ
レクトリ414,415が設けられている。ディレクト
リ414には、使用量の制限が設定されている。ディレ
クトリ414のinode番号は5であり、制限ディレクト
リinode番号は2である。ディレクトリ415には、使
用量の制限が設定されている。ディレクトリ415のin
ode番号は6であり、制限ディレクトリinode番号は2で
ある。
【0191】ディレクトリ414の直下には、ファイル
421が設けられている。ファイル421のinode番号
は7であり、制限ディレクトリinode番号は5である。
ディレクトリ415の直下には、ファイル422が設け
られている。ファイル422は、ディレクトリ413に
対するハードリンクが設定されている。したがって、フ
ァイル422は、ディレクトリ413の直下のファイル
でもある。ファイル422のinode番号は8であり、制
限ディレクトリinode番号は6,4である。
【0192】このような構造に基づいて、各ファイル4
21,422の先祖ディレクトリの中で、使用量の制限
が設定されているディレクトリ一覧を検出することがで
きる。
【0193】たとえば、ファイル421の制限ディレク
トリinode番号を参照し、ディレクトリ414のinode番
号5を得る。すると、ディレクトリ414の制限ディレ
クトリinode番号を参照し、ディレクトリ411のinode
番号2を得る。次に、ディレクトリ411の制限ディレ
クトリinode番号を参照し、inode番号0を得る。inode
番号0は、上位の階層のディレクトリに制限値が設定さ
れていないことを示すため、ファイル421の操作に影
響を及ぼすディレクトリのinode番号の一覧は、{5,2}
となる。
【0194】ファイル422は、2つのディレクトリ4
15,413から参照されているリンク数2のファイル
であるため、制限ディレクトリinode番号6,4のそれ
ぞれの系列において、制限値の設定された先祖ディレク
トリの一覧はこの両方のリストを辿る。すると、ファイ
ル422の操作に影響を及ぼすディレクトリのinode番
号の一覧として{6, 2}, {4, 2}が得られる。
【0195】なお、上記の説明では、使用量が設定され
た上位のディレクトリの探索において、制限ディレクト
リinode番号が0のディレクトリに達したことで探索を
終了しているが、ルートディレクトリのinode番号2に
達したことをもって、探索を終了させてもよい。
【0196】次に、現在の使用量更新処理について説明
する。ファイル作成/削除またはブロック割付け/解放
等のファイルシステム更新により使用量が変更された場
合、必要に応じて使用量を管理しているディレクトリの
情報を更新する必要がある。
【0197】図21は、使用量更新処理の手順を示すフ
ローチャートの前半である。以下、図21に示す処理を
ステップ番号に沿って説明する。以下の処理は、ファイ
ルの作成/削除、ブロックの割付け/解放の操作が行わ
れた際に、実行される処理である。
【0198】[ステップS211]使用量現在値更新処
理部152は、ファイル操作がファイル作成/削除か否
かを判断する。ファイル作成/削除の場合には処理がス
テップS212に進められる。ファイル作成/削除では
ない場合は、ブロックの割付け/解放の操作が行われた
ものと判断し、処理がステップS213に進められる。
【0199】[ステップS212]ファイル作成/削除
時は、使用量現在値更新処理部152は、current_ino
にその親ディレクトリのinode番号を設定する。その
後、処理がステップS216に進められる。
【0200】[ステップS213]ブロック割付け/解
放時は、使用量現在値更新処理部152は、current_i
noにそのファイル自身のinode番号を設定する。 [ステップS214]使用量現在値更新処理部152
は、current_inoのinode番号に該当するディレクトリ
の制限ディレクトリinode番号を参照し、そのinode番号
が0か否かを判断する。制限ディレクトリinode番号が
0であれば、処理を終了する。制限ディレクトリinode
番号が0でなければ処理がステップS215に進められ
る。
【0201】[ステップS215]使用量現在値更新処
理部152は、ステップS214で参照した制限ディレ
クトリinode番号をcurrent_inoに設定する。 [ステップS216]使用量現在値更新処理部152
は、current_inoのinode番号に対応するディレクトリ
に一般制限フラグが設定されているか否かを判断する。
一般制限フラグが設定されている場合には、処理がステ
ップS217に進められる。一般制限フラグが設定され
ていない場合には、端子Dを介して処理が図22のステ
ップS220に進められる。
【0202】[ステップS217]使用量現在値更新処
理部152は、実行されたファイル操作がファイル作成
/削除処理か否かを判断する。ファイル作成/削除であ
る場合には、処理がステップS218に進められる。フ
ァイル作成/削除でない場合には、処理がステップS2
19に進められる。
【0203】[ステップS218]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリの一般制限情報における現在
のファイル数を更新する。ファイル数の更新とは、ファ
イルの作成であれば現在のファイル数に1を加算する処
理であり、ファイルの削除であれば現在のファイル数か
ら1を減算する処理である。その後、端子Dを介して処
理が図22のステップS220に進められる。
【0204】[ステップS219]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリの一般制限情報における現在
の使用ブロック数を更新する。ブロック数の更新とは、
ブロックの割り当てであれば現在の現在の使用ブロック
数に、割り当てたブロック数を加算する処理であり、ブ
ロックの解放であれば、現在のブロック数から、解放し
たブロック数を減算する処理である。その後、端子Dを
介して処理が図22のステップS220に進められる。
【0205】図22は、使用量制限処理の手順を示すフ
ローチャートの後半である。以下、図22に示す処理を
ステップ番号に沿って説明する。 [ステップS220]使用量現在値更新処理部152
は、current_inoのinode番号に対応するディレクトリ
にユーザ制限フラグが設定されているか否かを判断す
る。ユーザ制限フラグが設定されている場合には、処理
がステップS221に進められる。ユーザ制限フラグが
設定されていない場合には、処理がステップS224に
進められる。
【0206】[ステップS221]使用量現在値更新処
理部152は、実行されたファイル操作がファイル作成
/削除処理か否かを判断する。ファイル作成/削除であ
る場合には、処理がステップS222に進められる。フ
ァイル作成/削除でない場合には、処理がステップS2
23に進められる。
【0207】[ステップS222]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリのユーザ制限情報(ファイル
操作を指示したユーザに対応するもの)における現在の
ファイル数を更新する。その後、処理がステップS22
4に進められる。
【0208】[ステップS223]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリのユーザ制限情報(ファイル
操作を指示したユーザに対応するもの)における現在の
使用ブロック数を更新する。その後、処理がステップS
224に進められる。
【0209】[ステップS224]使用量現在値更新処
理部152は、current_inoのinode番号に対応するデ
ィレクトリにグループ制限フラグが設定されているか否
かを判断する。グループ制限フラグが設定されている場
合には、処理がステップS225に進められる。グルー
プ制限フラグが設定されていない場合には、端子Eを介
して処理が図21に示すステップS214に進められ
る。
【0210】[ステップS225]使用量現在値更新処
理部152は、実行されたファイル操作がファイル作成
/削除処理か否かを判断する。ファイル作成/削除であ
る場合には、処理がステップS226に進められる。フ
ァイル作成/削除でない場合には、処理がステップS2
27に進められる。
【0211】[ステップS226]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリのグループ制限情報(ファイ
ル操作を指示したユーザが属するグループに対応するも
の)における現在のファイル数を更新する。その後、端
子Eを介して処理が図21に示すステップS214に進
められる。
【0212】[ステップS227]使用量現在値更新処
理部152は、current_inoに設定されているinode番
号に該当するディレクトリのグループ制限情報(ファイ
ル操作を指示したユーザが属するグループに対応するも
の)における現在の使用ブロック数を更新する。その
後、端子Eを介して処理が図21に示すステップS21
4に進められる。
【0213】以上のようにして、ファイル操作が行われ
る度に、使用量の更新が行われる。なお、対象ファイル
がハードリンクであり、制限ディレクトリinode番号が
複数ある場合、そのすべてについて図21、図22の処
理が行われる。
【0214】次に、使用量制限処理について説明する。
ファイル作成またはブロック割付け等のファイルシステ
ム更新により使用量が増えるような変更がある場合、制
限がかかっているディレクトリの管理情報が検査され
る。そして、制限値を超える場合、ファイルシステムの
オペレーションをエラー復帰させ、ファイル作成などを
制限する。
【0215】図23は、使用量制限処理の手順を示すフ
ローチャートの前半である。以下、図23に示す処理を
ステップ番号に沿って説明する。なお、この処理は、フ
ァイル作成、ブロック割付けなどの、使用量の増加を伴
うファイル操作要求が出された際に実行される。
【0216】[ステップS231]使用量制限値判定処
理部151は、ファイル操作要求が、ファイルの作成要
求か否かを判断する。ファイルの作成要求の場合には処
理がステップS232に進められる。ファイルの作成要
求でない場合には、ブロックの割付け要求と判断し、処
理がステップS233に進められる。
【0217】[ステップS232]使用量制限値判定処
理部151は、current_inoにその親ディレクトリのin
ode番号を設定する。その後、処理がステップS236
に進められる。
【0218】[ステップS233]使用量制限値判定処
理部151は、current_inoにそのファイル自身のinod
e番号を設定する。 [ステップS234]使用量制限値判定処理部151
は、current_inoのinode番号に該当するディレクトリ
の制限ディレクトリinode番号を参照し、そのinode番号
が0か否かを判断する。制限ディレクトリinode番号が
0であれば、処理を終了する。制限ディレクトリinode
番号が0でなければ処理がステップS235に進められ
る。
【0219】[ステップS235]使用量制限値判定処
理部151は、ステップS234で参照した制限ディレ
クトリinode番号をcurrent_inoに設定する。 [ステップS236]使用量制限値判定処理部151
は、current_inoのinode番号に対応するディレクトリ
に一般制限フラグが設定されているか否かを判断する。
一般制限フラグが設定されている場合には、処理がステ
ップS237に進められる。一般制限フラグが設定され
ていない場合には、端子Fを介して処理が図24のステ
ップS241に進められる。
【0220】[ステップS237]使用量制限値判定処
理部151は、要求されたファイル操作がファイル作成
か否かを判断する。ファイル作成である場合には、処理
がステップS238に進められる。ファイル作成でない
場合(ブロック割付けの場合)には、処理がステップS
239に進められる。
【0221】[ステップS238]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリの一般制限情報における現在
のファイル数に1を加算した場合に、ファイル数の制限
値を超えるか否かを判断する。ファイル数の制限値を超
える場合には、処理がステップS240に進められる。
ファイル数の制限値を超えない場合には、端子Fを介し
て処理がステップS241に進められる。
【0222】[ステップS239]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリの一般制限情報における現在
の使用ブロック数に、操作要求で示されているブロック
数を加算した場合に、ブロック数の制限値を超えるか否
かを判断する。ブロック数の制限値を超える場合には、
処理がステップS240に進められる。ブロック数の制
限値を超えない場合には、端子Fを介して処理が図24
のステップS241に進められる。
【0223】[ステップS240]使用量制限値判定処
理部151は、エラー処理を行う。たとえば、使用量制
限値判定処理部151は、ファイル操作部124に対し
てエラーメッセージを出力し、ファイル操作を禁止す
る。その後、処理が終了する。
【0224】図24は、使用量制限処理の手順を示すフ
ローチャートの後半である。以下、図24に示す処理を
ステップ番号に沿って説明する。 [ステップS241]使用量制限値判定処理部151
は、current_inoのinode番号に対応するディレクトリ
にユーザ制限フラグが設定されているか否かを判断す
る。ユーザ制限フラグが設定されている場合には、処理
がステップS242に進められる。ユーザ制限フラグが
設定されていない場合には、処理がステップS245に
進められる。
【0225】[ステップS242]使用量制限値判定処
理部151は、要求されたファイル操作がファイル作成
か否かを判断する。ファイル作成である場合には、処理
がステップS243に進められる。ファイル作成でない
場合(ブロック割付けの場合)には、処理がステップS
244に進められる。
【0226】[ステップS243]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリのユーザ制限情報(ファイル
操作を指示したユーザに対応するもの)における現在の
ファイル数に1を加算した場合に、ファイル数の制限値
を超えるか否かを判断する。ファイル数の制限値を超え
る場合には、端子Hを介して処理がステップS240に
進められる。ファイル数の制限値を超えない場合には、
処理がステップS245に進められる。
【0227】[ステップS244]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリのユーザ制限情報(ファイル
操作を指示したユーザに対応するもの)における現在の
使用ブロック数に、操作要求で示されているブロック数
を加算した場合に、ブロック数の制限値を超えるか否か
を判断する。ブロック数の制限値を超える場合には、端
子Hを介して処理がステップS240に進められる。ブ
ロック数の制限値を超えない場合には、処理がステップ
S245に進められる。
【0228】[ステップS245]使用量制限値判定処
理部151は、current_inoのinode番号に対応するデ
ィレクトリにグループ制限フラグが設定されているか否
かを判断する。グループ制限フラグが設定されている場
合には、処理がステップS246に進められる。グルー
プ制限フラグが設定されていない場合には、端子Gを介
して処理が図23のステップS234に進められる。
【0229】[ステップS246]使用量制限値判定処
理部151は、要求されたファイル操作がファイル作成
か否かを判断する。ファイル作成である場合には、処理
がステップS247に進められる。ファイル作成でない
場合(ブロック割付けの場合)には、処理がステップS
248に進められる。
【0230】[ステップS247]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリのグループ制限情報(ファイ
ル操作を指示したユーザが属するグループに対応するも
の)における現在のファイル数に1を加算した場合に、
ファイル数の制限値を超えるか否かを判断する。ファイ
ル数の制限値を超える場合には、端子Hを介して処理が
図23のステップS240に進められる。ファイル数の
制限値を超えない場合には、端子Gを介して処理が図2
3のステップS234に進められる。
【0231】[ステップS248]使用量制限値判定処
理部151は、current_inoに設定されているinode番
号に該当するディレクトリのグループ制限情報(ファイ
ル操作を指示したユーザが属するグループに対応するも
の)における現在の使用ブロック数に、操作要求で示さ
れているブロック数を加算した場合に、ブロック数の制
限値を超えるか否かを判断する。ブロック数の制限値を
超える場合には、端子Hを介して処理が図23のステッ
プS240に進められる。ブロック数の制限値を超えな
い場合には、端子Gを介して処理が図23のステップS
234に進められる。
【0232】以上のようにして、ファイル操作要求の際
に、使用量制限値を超えるかどうかの判定が行われる。
図23、図24に示した処理がエラーなしに終了したこ
とが確認されると、ファイル操作部124において、フ
ァイル操作要求に応じた処理が行われる。なお、対象フ
ァイルがハードリンクであり、制限ディレクトリinode
番号が複数ある場合、そのすべてについて図23、図2
4の処理が行われる。
【0233】次に、ファイル、ディレクトリ移動時の処
理について説明する。あるファイルまたはディレクトリ
を別のディレクトリに移動させる場合、使用量の再計算
および移動先の使用量制限値のチェックを行う必要があ
る。
【0234】図25は、移動処理の手順を示すフローチ
ャートである。以下に、図25に示す処理をステップ番
号に沿って説明する。[ステップS251]使用量制限
値判定処理部151は、移動元ディレクトリ配下のすべ
てのファイルを調べ、総ファイル数とファイルデータの
使用量(総ブロック数)を求める。使用量制限値判定処
理部151は、総ファイル数をsrc_filesに設定し、総
ブロック数をsrc_blocksに設定する。
【0235】[ステップS252]使用量制限値判定処
理部151は、移動先ディレクトリの管理情報における
現在のファイル数と使用ブロック数、およびファイル数
とブロック数との制限値を参照する。
【0236】[ステップS253]使用量制限値判定処
理部151は、src_filesとsrc_blocksとに基づい
て、ディレクトリまたはファイルを移動させた場合に、
移動先ディレクトリの制限値を超えるか否かを判断す
る。制限値を超える場合には、処理がステップS254
に進められる。制限値を超えない場合には、処理がステ
ップS255に進められる。
【0237】[ステップS254]使用量制限値判定処
理部151は、エラー処理を行う。たとえば、使用量制
限値判定処理部151は、ファイル操作部124に対し
てエラーメッセージを出力し、ファイル操作を禁止す
る。その後、処理が終了する。
【0238】[ステップS255]使用量現在値更新処
理部152は、移動先ディレクトリのファイル数に、sr
c_filesの値を加算する。また、使用量現在値更新処理
部152は、移動先ディレクトリの使用ブロック数にsr
c_blocksの値を加算する。
【0239】[ステップS256]使用量制限値判定処
理部151は、使用量制限値の判定がエラー無く終了し
たことをファイル操作部124に伝える。すると、ファ
イル操作部124は、ファイルの移送要求に応じて、フ
ァイルを移動処理を実行する。
【0240】[ステップS257]使用量現在値更新処
理部152は、移動元ディレクトリのファイル数から、
src_filesの値を減算する。また、使用量現在値更新処
理部152は、移動先ディレクトリの使用ブロック数か
ら、src_blocksの値を減算する。
【0241】以下の処理では、使用量制限値の更新処理
を行う。すなわち、あるファイルを別のディレクトリに
移動した場合、そのファイルの制限ディレクトリinode
番号を更新する必要が生じる。そこで、以下のような使
用量制限値の更新処理が行われる。
【0242】[ステップS258]使用量制限値設定処
理部153は、移動先のディレクトリに制限値が設定さ
れているか否かを判断する。制限値が設定されている場
合には、処理がステップS259に進められる。制限値
が設定されていない場合には処理がステップS260に
進められる。
【0243】[ステップS259]使用量制限値設定処
理部153は、移動先のディレクトリに制限値が設定さ
れている場合、その移動先のディレクトリのinode番号
をset_inoに設定する。その後、処理がステップS26
1に進められる。
【0244】[ステップS260]使用量制限値設定処
理部153は、移動先のディレクトリに制限値が設定さ
れていない場合、その移動先のディレクトリの制限ディ
レクトリinode番号をset_inoに設定する。
【0245】[ステップS261]使用量制限値設定処
理部153は、移動対象のディレクトリ配下のファイル
のうち、制限ディレクトリinode番号に、移動対象のデ
ィレクトリより上の階層のディレクトリ番号または0が
設定されているファイルについて、制限ディレクトリin
ode番号をset_inoに書き換える。
【0246】以上のようにして、ディレクトリやファイ
ルを移動することができる。なお、対象ファイルがハー
ドリンクであり、制限ディレクトリinode番号が複数あ
る場合、そのすべてについてステップS258〜ステッ
プS261に示した処理が行われる。
【0247】なお、制限値が設定されているディレクト
リより下の階層のファイルについては検索しなくてよ
い。たとえば、移動対象のディレクトリに制限値が設定
されている場合は、書き換える必要があるのは移動対象
のディレクトリのみである。
【0248】ここで、ディレクトリの移動に伴う制限デ
ィレクトリinode番号の書き換え処理について、具体例
を用いて説明する。図26は、ディレクトリ移動前のデ
ータ構造の一例を示す図である。図26の例では、ディ
レクトリ511〜514とファイル521,522とが
示されている。
【0249】ディレクトリ511はルートディレクトリ
であり、制限値が設定されている。ディレクトリ511
のinode番号は2であり、制限ディレクトリinode番号は
0である。
【0250】ディレクトリ511の直下に2つのディレ
クトリ512,513が配置されている。ディレクトリ
512は制限値が設定されておらず、inode番号が3、
制限ディレクトリinode番号が2である。ディレクトリ
513は制限値が設定されており、inode番号が4、制
限ディレクトリinode番号が2である。ディレクトリ5
12の直下にディレクトリ514が配置されている。デ
ィレクトリ514は制限値が設定されており、inode番
号が5、制限ディレクトリinode番号が2である。
【0251】ディレクトリ514の直下に2つのファイ
ル521,522が配置されいている。ファイル521
のinode番号は9であり、制限ディレクトリinode番号は
5である。ファイル522のinode番号は6であり、制
限ディレクトリinode番号は5である。
【0252】このような構造のデータにおいて、inode
番号5のディレクトリ514をinode番号4のディレク
トリ513の直下に移動した場合を考える。図27は、
ディレクトリを移動後のデータ構造の一例を示す図であ
る。図26と比較すると、inode番号5のディレクトリ
514が、ディレクトリ513の直下に配置されてい
る。また、ディレクトリ514の制限ディレクトリinod
e番号は、2から4に変更されている。なお、ディレク
トリ値514の配下のファイル521,522の制限デ
ィレクトリinode番号に変更はない。
【0253】次に、制限値設定処理について説明する。
あるディレクトリ(設定対象ディレクトリ)に対して制
限値を設定する場合は、以下の処理を行う。
【0254】まず、使用量制限値設定処理部153は、
設定対象ディレクトリの配下のファイルのうち、制限デ
ィレクトリinode番号に、設定対象ディレクトリより上
の階層のディレクトリのinode番号または0が設定され
ているファイルについて、制限ディレクトリinode番号
を、設定対象ディレクトリのinode番号に書き換える。
このとき、制限値が設定されているディレクトリより下
の階層のファイルについては、検索しなくてもよい。
【0255】次に、使用量現在値更新処理部152は、
設定対象ディレクトリ配下のすべてのファイルを調べ、
ファイル数とファイルデータの使用量を集計する。集計
した値に基づいて、設定対象ディレクトリのファイル数
と使用ブロック数とを設定する。
【0256】図28は、制限値設定前のデータ構造の一
例を示す図である。図28の例では、ディレクトリ61
1〜614とファイル621〜624とが示されてい
る。ディレクトリ611はルートディレクトリであり、
制限値が設定されている。ディレクトリ611のinode
番号は2であり、制限ディレクトリinode番号は0であ
る。
【0257】ディレクトリ611の直下に2つのディレ
クトリ612,613が配置されている。ディレクトリ
612は制限値が設定されておらず、inode番号が3、
制限ディレクトリinode番号が2である。ディレクトリ
613は制限値が設定されておらず、inode番号が4、
制限ディレクトリinode番号が2である。
【0258】ディレクトリ612の直下に、ディレクト
リ614とファイル622とが配置されている。ディレ
クトリ614は、制限値が設定されているディレクトリ
であり、inode番号が5、制限ディレクトリinode番号が
2である。ファイル622は、inode番号が6、制限デ
ィレクトリ番号が2である。ディレクトリ614の直下
には、ファイル621が配置されている。ファイル62
1は、inode番号が9、制限ディレクトリ番号が5であ
る。
【0259】ディレクトリ613の直下に2つのファイ
ル623,624が配置されている。ファイル623の
inode番号は7であり、制限ディレクトリinode番号は2
である。ファイル624のinode番号は8であり、制限
ディレクトリinode番号は2である。
【0260】このようなデータ構造において、ディレク
トリ612に制限値を設定する場合を考える。図29
は、制限値設定後のデータ構造の一例を示す図である。
図28と異なる点は、まず、ディレクトリ612に制限
値が設定されている。そして、ディレクトリ614の制
限ディレクトリinode番号が2から3に変更されてい
る。同様に、ファイル622の制限ディレクトリinode
番号が2から3に変更されている。
【0261】以上説明したように、ディレクトリ単位で
ファイル数およびファイルデータの使用量についてファ
イルシステムが定常的に管理する機能をNASファイラ
100で実現することができる。これによりより細かい
使用量制限の設定ができるようになり、ファイルシステ
ムの利便性が向上する。
【0262】たとえば、従来、ディレクトリ毎に使用量
の制限をかけるには、たとえば、使用量の制限をかけた
いディレクトリ毎にファイルシステムを分ける方法があ
った。しかし、この方法では、制限値がそれぞれのファ
イルシステムのサイズに制限され、制限値を大きくした
い場合はファイルシステム再構築を伴うため利便性に欠
けていた。
【0263】本実施の形態に示したように各ディレクト
リに使用量の制限値を設定し、ファイル操作時にその制
限値を参照し、使用量が制限値を超えないようにするこ
とで、ディレクトリ単位に使用量の管理を行うことがで
きる。これにより、たとえば、ワークグループ毎に、作
成したデータを格納するディレクトリを定めておき、そ
のディレクトリに対して使用制限を設定することができ
る。これにより、たとえば、あるワークグループのデー
タ量が膨大となり、他のワークグループにおける作業領
域が枯渇するようなことがなくなる。しかも、ワークグ
ループ毎に使用量の制限値が決められていれば、各グル
ープで無駄なファイルを整理する努力が払われるように
なり、システム全体の記憶容量の効率化が図れる。
【0264】しかも、ユーザ毎またはグループ毎の使用
量を制限を行うことができるため、よりきめの細かいフ
ァイルシステムの管理が可能となる。また、各ファイル
の管理情報として、使用量を制限しているディレクトリ
のinode番号を保持することで、ファイル作成/削除や
ブロック割付け/解放等のファイルシステム更新の性能
劣化を最小限にとどめることができる。
【0265】さらに、本実施の形態によれば、使用量を
制限するディレクトリを保持する上で、それぞれのファ
イルでは使用量を制限しているディレクトリのうちで一
番近い階層のディレクトリについてのみ記録している。
これにより、ディレクトリ移動などのファイルシステム
構造変更の際の情報更新による性能劣化を最小限にとど
めることができる。
【0266】また、ファイルが複数のディレクトリに所
属するハードリンクの場合であっても、その所属するす
べてのディレクトリから使用量を制限できることができ
る。これにより、ハードリンクを利用可能なファイルシ
ステムにも適用することができ、高い汎用性を得ること
ができる。
【0267】なお、上記の制限値の説明では、使用量の
制限を1段階でおこなっていたが、ディレクトリ毎の使
用量の制限を多段階に設けることができる。たとえば、
使用量の制限の1段目として、ソフトリミットを設定
し、ソフトリミットに付随してタイムリミットを設定す
る。使用量の制限の2段目として、ソフトリミットより
も緩やかな制限値(ソフトリミットより制限値のファイ
ル数やブロック数が多い)のハードリミットを設定す
る。このハードリミットは、上記実施の形態における制
限値(ファイル数の制限値やブロック数の制限値)であ
る。
【0268】ファイルシステムでは、使用量がソフトリ
ミットを超えたときに、時間計測を開始する。このと
き、使用量がソフトリミットを超えたことを示すメッセ
ージを、利用者の使用している表示装置に表示させても
よい。ファイルシステムは、使用量がソフトリミットを
超えてからタイムリミットの時間以上経過すると、該当
するディレクトリ配下へのファイルの作成またはブロッ
ク割り当て操作を禁止する。
【0269】このように他段階に制限値を設けること
で、制限値(ハードリミット)ぎりぎりまで既に使用し
ているのを利用者が気づかずに作業を行い、その結果、
新たに作成した重要なファイルを保存できなくなるよう
な事態を回避することができる。
【0270】なお、ソフトリミットとして、ファイル数
の制限値とブロック数の制限値を設定した場合、ファイ
ル数のタイムリミットと、ブロック数のタイムリミット
とを個別に設定してもよい。
【0271】なお、上記の説明では、ファイルサーバの
1つであるNASファイラ100に本発明に係るファイ
ルシステム(ファイルシステム制御部120)を実装
し、ネットワークを介して接続されたクライアント20
のアプリケーション部21からファイルシステムに対す
る操作を行う場合について説明したが、ファイルシステ
ム制御部120とアプリケーション部21が、1つの装
置内に実装されていてもよい。たとえば、クライアント
20内にファイルシステム制御部120の機能を実装
し、クライアント20の記憶装置を管理させることもで
きる。
【0272】また、上記の処理機能は、サーバコンピュ
ータとクライアントコンピュータとに、ファイル管理プ
ログラムを実行させることで実現することができる。そ
の場合、NASファイラなどのサーバコンピュータが有
すべき機能の処理内容を記述したサーバプログラム、お
よびクライアントコンピュータが有すべき機能の処理内
容を記述したクライアントプログラムが提供される。サ
ーバプログラムをサーバコンピュータで実行することに
より、上記本実施の形態の処理機能がサーバコンピュー
タ上で実現される。また、クライアントプログラムをク
ライアントコンピュータで実行することにより、上記本
実施の形態の処理機能がクライアントコンピュータ上で
実現される。
【0273】処理内容を記述したサーバプログラムやク
ライアントプログラムは、コンピュータで読み取り可能
な記録媒体に記録しておくことができる。コンピュータ
で読み取り可能な記録媒体としては、磁気記録装置、光
ディスク、光磁気記録媒体、半導体メモリなどがある。
磁気記録装置には、ハードディスク装置(HDD)、フ
レキシブルディスク(FD)、磁気テープなどがある。
光ディスクには、DVD(Digital Versatile Disc)、D
VD−RAM(Random Access Memory)、CD−ROM(C
ompact Disc Read Only Memory)、CD−R(Recordabl
e)/RW(ReWritable)などがある。光磁気記録媒体に
は、MO(Magneto-Optical disc)などがある。
【0274】サーバプログラムやクライアントプログラ
ムを流通させる場合には、たとえば、各プログラムが記
録されたDVD、CD−ROMなどの可搬型記録媒体が
販売される。また、クライアントプログラムをサーバコ
ンピュータの記憶装置に格納しておき、ネットワークを
介して、サーバコンピュータからクライアントコンピュ
ータにクライアントプログラムを転送することもでき
る。
【0275】サーバプログラムを実行するサーバコンピ
ュータは、たとえば、可搬型記録媒体に記録されたサー
バプログラムを、自己の記憶装置に格納する。そして、
サーバコンピュータは、自己の記憶装置からサーバプロ
グラムを読み取り、サーバプログラムに従った処理を実
行する。なお、サーバコンピュータは、可搬型記録媒体
から直接サーバプログラムを読み取り、そのサーバプロ
グラムに従った処理を実行することもできる。
【0276】クライアントプログラムを実行するクライ
アントコンピュータは、たとえば、可搬型記録媒体に記
録されたクライアントプログラムもしくはサーバコンピ
ュータから転送されたクライアントプログラムを、自己
の記憶装置に格納する。そして、クライアントコンピュ
ータは、自己の記憶装置からクライアントプログラムを
読み取り、クライアントプログラムに従った処理を実行
する。なお、クライアントコンピュータは、可搬型記録
媒体から直接クライアントプログラムを読み取り、その
クライアントプログラムに従った処理を実行することも
できる。また、クライアントコンピュータは、サーバコ
ンピュータからクライアントプログラムが転送される毎
に、逐次、受け取ったクライアントプログラムに従った
処理を実行することもできる。
【0277】(付記1) 識別情報を有するディレクト
リを用いてファイルを管理するためのファイル管理プロ
グラムにおいて、コンピュータを、ファイル操作要求に
応答して、前記ファイルを任意のディレクトリの下に配
置するファイル操作手段と、前記ファイル操作手段によ
り前記ファイルが配置されると、前記ファイルの親ディ
レクトリ情報として、前記任意のディレクトリの識別情
報を設定する親ディレクトリ情報設定手段と、前記ファ
イルを指定した親ディレクトリ情報取得要求に応答し
て、前記ファイルの親ディレクトリ情報を参照し、前記
任意のディレクトリの識別情報を出力する親ディレクト
リ情報提供手段と、として機能させることを特徴とする
ファイル管理プログラム。
【0278】(付記2) 前記親ディレクトリ情報設定
手段は、前記任意のディレクトリが複数の場合には、前
記ファイルの親ディレクトリ情報として、複数の前記任
意のディレクトリそれぞれの識別情報を設定することを
特徴とする付記1記載のファイル管理プログラム。
【0279】(付記3) 前記ファイルの親ディレクト
リ情報として設定された複数の識別情報それぞれに対し
て優先順を設定する優先順設定手段をさらに有し、前記
親ディレクトリ情報提供手段は、前記複数の識別情報を
出力する際に、優先順に沿った順番で前記複数の識別情
報を出力することを特徴とする付記2記載のファイル管
理プログラム。
【0280】(付記4) 前記ファイル操作手段は、フ
ァイル操作要求に応答して、上位ディレクトリの下に下
位ディレクトリを配置し、前記親ディレクトリ情報設定
手段は、前記ファイル操作手段により前記下位ディレク
トリが配置されると、配置された前記下位ディレクトリ
の親ディレクトリ情報として、前記上位ディレクトリの
識別情報を設定し、前記ファイルの経路探索要求に応答
して、前記ファイルの親ディレクトリ情報に示されてい
る前記任意のディレクトリの識別情報で示されるディレ
クトリから順に、各ディレクトリの親ディレクトリ情報
に設定されている識別情報で示されるディレクトリを辿
り、最上位のディレクトリまでの経路を探索する探索手
段をさらに有する、ことを特徴とする付記1記載のファ
イル管理プログラム。
【0281】(付記5) 前記親ディレクトリ情報設定
手段は、前記任意のディレクトリが複数の場合には、前
記ファイルの親ディレクトリ情報として、複数の前記任
意のディレクトリそれぞれの識別情報を設定し、前記探
索手段は、前記ファイルの親ディレクトリとして設定さ
れている複数の前記識別情報毎に、前記最上位のディレ
クトリまでの経路を探索することを特徴とする付記4記
載のファイル管理プログラム。
【0282】(付記6) 所定のファイル管理規則を示
す属性情報を、ディレクトリに設定する属性情報設定手
段と、前記ファイルの経路探索要求を前記探索手段に出
力して前記探索手段から探索結果の経路を受け取り、前
記探索結果の経路上の各ディレクトリに設定されている
属性情報に対応するファイル管理規則を、前記ファイル
に適用することを特徴とする付記4記載のファイル管理
プログラム。
【0283】(付記7) 識別情報を有するディレクト
リを用いてファイルを管理するためのファイル管理プロ
グラムにおいて、コンピュータを、ディレクトリ毎に、
記憶領域の使用量の制限値を設定する制限値設定手段
と、ファイル操作要求があると、ファイル操作を実行し
た場合の各ディレクトリの記憶領域の使用予定量を計算
し、前記各ディレクトリにおいて、前記制限値設定手段
で設定された制限値と使用予定量とを比較する比較手段
と、前記比較手段で比較された結果、使用予定量が制限
値を超えるディレクトリが存在しない場合に、前記ファ
イル操作要求に応答してファイル操作を実行するファイ
ル操作手段と、として機能させることを特徴とするファ
イル管理プログラム。
【0284】(付記8) 前記制限値設定手段は、前記
記憶領域の使用量の制限値として、前記ディレクトリ配
下に配置可能なファイル数を設定することを特徴とする
付記7記載のファイル管理プログラム。
【0285】(付記9) 前記制限値設定手段は、前記
記憶領域の使用量の制限値として、前記ディレクトリ配
下に配置されたファイルで使用可能な記憶容量を設定す
ることを特徴とする付記7記載のファイル管理プログラ
ム。
【0286】(付記10) 前記制限値設定手段は、各
ディレクトリに対して、ユーザ毎に前記記憶領域の使用
量の制限値を設定し、前記比較手段は、前記ファイル操
作要求を出したユーザの使用量と、当該ユーザの使用量
の制限値とを比較することを特徴とする付記7記載のフ
ァイル管理プログラム。
【0287】(付記11) 前記制限値設定手段は、各
ディレクトリに対して、グループ毎に前記記憶領域の使
用量の制限値を設定し、前記比較手段は、前記ファイル
操作要求を出したユーザの属するグループの使用量と、
当該グループの使用量の制限値とを比較することを特徴
とする付記7記載のファイル管理プログラム。
【0288】(付記12) 識別情報を有するディレク
トリを用いてファイルを管理するためのファイル管理装
置において、ファイル操作要求に応答して、前記ファイ
ルを任意のディレクトリの下に配置するファイル操作手
段と、前記ファイル操作手段により前記ファイルが配置
されると、前記ファイルの親ディレクトリ情報として、
前記任意のディレクトリの識別情報を設定する親ディレ
クトリ情報設定手段と、前記ファイルを指定した親ディ
レクトリ情報取得要求に応答して、前記ファイルの親デ
ィレクトリ情報を参照し、前記任意のディレクトリの識
別情報を出力する親ディレクトリ情報提供手段と、を有
することを特徴とするファイル管理装置。
【0289】(付記13) 前記親ディレクトリ情報設
定手段は、前記任意のディレクトリが複数の場合には、
前記ファイルの親ディレクトリ情報として、複数の前記
任意のディレクトリそれぞれの識別情報を設定すること
を特徴とする付記12記載のファイル管理装置。
【0290】(付記14) 前記ファイルの親ディレク
トリ情報として設定された複数の識別情報それぞれに対
して優先順を設定する優先順設定手段をさらに有し、前
記親ディレクトリ情報提供手段は、前記複数の識別情報
を出力する際に、優先順に沿った順番で前記複数の識別
情報を出力することを特徴とする付記13記載のファイ
ル管理装置。
【0291】(付記15) 前記ファイル操作手段は、
ファイル操作要求に応答して、上位ディレクトリの下に
下位ディレクトリを配置し、前記親ディレクトリ情報設
定手段は、前記ファイル操作手段により前記下位ディレ
クトリが配置されると、配置された前記下位ディレクト
リの親ディレクトリ情報として、前記上位ディレクトリ
の識別情報を設定し、前記ファイルの経路探索要求に応
答して、前記ファイルの親ディレクトリ情報に示されて
いる前記任意のディレクトリの識別情報で示されるディ
レクトリから順に、各ディレクトリの親ディレクトリ情
報に設定されている識別情報で示されるディレクトリを
辿り、最上位のディレクトリまでの経路を探索する探索
手段をさらに有する、ことを特徴とする付記12記載の
ファイル管理装置。
【0292】(付記16) 前記親ディレクトリ情報設
定手段は、前記任意のディレクトリが複数の場合には、
前記ファイルの親ディレクトリ情報として、複数の前記
任意のディレクトリそれぞれの識別情報を設定し、前記
探索手段は、前記ファイルの親ディレクトリとして設定
されている複数の前記識別情報毎に、前記最上位のディ
レクトリまでの経路を探索することを特徴とする付記1
5記載のファイル管理装置。
【0293】(付記17) 所定のファイル管理規則を
示す属性情報を、ディレクトリに設定する属性情報設定
手段と、前記ファイルの経路探索要求を前記探索手段に
出力して前記探索手段から探索結果の経路を受け取り、
前記探索結果の経路上の各ディレクトリに設定されてい
る属性情報に対応するファイル管理規則を、前記ファイ
ルに適用することを特徴とする付記15記載のファイル
管理装置。
【0294】(付記18) 識別情報を有するディレク
トリを用いてファイルを管理するためのファイル管理装
置において、ディレクトリ毎に、記憶領域の使用量の制
限値を設定する制限値設定手段と、ファイル操作要求が
あると、ファイル操作を実行した場合の各ディレクトリ
の記憶領域の使用予定量を計算し、前記各ディレクトリ
において、前記制限値設定手段で設定された制限値と使
用予定量とを比較する比較手段と、前記比較手段で比較
された結果、使用予定量が制限値を超えるディレクトリ
が存在しない場合に、前記ファイル操作要求に応答して
ファイル操作を実行するファイル操作手段と、を有する
ことを特徴とするファイル管理装置。
【0295】(付記19) 前記制限値設定手段は、前
記記憶領域の使用量の制限値として、前記ディレクトリ
配下に配置可能なファイル数を設定することを特徴とす
る付記18記載のファイル管理装置。
【0296】(付記20) 前記制限値設定手段は、前
記記憶領域の使用量の制限値として、前記ディレクトリ
配下に配置されたファイルで使用可能な記憶容量を設定
することを特徴とする付記18記載のファイル管理装
置。
【0297】(付記21) 前記制限値設定手段は、各
ディレクトリに対して、ユーザ毎に前記記憶領域の使用
量の制限値を設定し、前記比較手段は、前記ファイル操
作要求を出したユーザの使用量と、当該ユーザの使用量
の制限値とを比較することを特徴とする付記18記載の
ファイル管理装置。
【0298】(付記22) 前記制限値設定手段は、各
ディレクトリに対して、グループ毎に前記記憶領域の使
用量の制限値を設定し、前記比較手段は、前記ファイル
操作要求を出したユーザの属するグループの使用量と、
当該グループの使用量の制限値とを比較することを特徴
とする付記18記載のファイル管理装置。
【0299】(付記23) 識別情報を有するディレク
トリを用いてファイルを管理するためのファイル管理プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体において、前記コンピュータを、ファイル操作要求に
応答して、前記ファイルを任意のディレクトリの下に配
置するファイル操作手段と、前記ファイル操作手段によ
り前記ファイルが配置されると、前記ファイルの親ディ
レクトリ情報として、前記任意のディレクトリの識別情
報を設定する親ディレクトリ情報設定手段と、前記ファ
イルを指定した親ディレクトリ情報取得要求に応答し
て、前記ファイルの親ディレクトリ情報を参照し、前記
任意のディレクトリの識別情報を出力する親ディレクト
リ情報提供手段と、として機能させることを特徴とする
記録媒体。
【0300】(付記24) 識別情報を有するディレク
トリを用いてファイルを管理するためのファイル管理プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体において、前記コンピュータを、ディレクトリ毎に、
記憶領域の使用量の制限値を設定する制限値設定手段
と、ファイル操作要求があると、ファイル操作を実行し
た場合の各ディレクトリの記憶領域の使用予定量を計算
し、前記各ディレクトリにおいて、前記制限値設定手段
で設定された制限値と使用予定量とを比較する比較手段
と、前記比較手段で比較された結果、使用予定量が制限
値を超えるディレクトリが存在しない場合に、前記ファ
イル操作要求に応答してファイル操作を実行するファイ
ル操作手段と、として機能させることを特徴とする記録
媒体。
【0301】
【発明の効果】以上説明したように本発明では、ファイ
ルに対して、ファイルの親ディレクトリ情報として、フ
ァイルが配置されたディレクトリの識別情報を設定し、
親ディレクトリ取得要求に応じて、ファイルの親ディレ
クトリ情報を出力するようにしたため、ファイルから親
ディレクトリを辿ることができる。その結果、少ない処
理負荷でファイルの所在を探索することができ、上位の
ディレクトリに設定された属性を配下のファイルに反映
させるなどの高度なファイル管理を容易に実現できる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明のシステム構成例を示す図である。
【図3】NASファイラのハードウェア構成例を示す図
である。
【図4】本実施の形態のシステムにおける処理機能を示
す機能ブロック図である。
【図5】本実施の形態におけるファイルシステム構造の
一例を示す図である。
【図6】ファイルシステム構造の定義例を示す図であ
る。
【図7】ファイルシステム処理における指示の流れを示
す図である。
【図8】パス名探索処理の手順を示すフローチャートで
ある。
【図9】ハードリンクにおける親ディレクトリ情報格納
領域の状態遷移を示す図である。
【図10】ハードリンクを含むファイルシステムにおけ
るパス名探索手順を示すフローチャートの前半である。
【図11】ハードリンクを含むファイルシステムにおけ
るパス名探索手順を示すフローチャートの後半である。
【図12】属性反映処理の手順を示すフローチャートの
前半である。
【図13】属性反映処理の手順を示すフローチャートの
後半である。
【図14】使用制限を行うときのディレクトリの属性情
報のデータ構造の一例を示す図である。
【図15】使用制限を行うときのファイルの管理情報の
データ構造例を示す図である。図15(A)は、ハード
リンクがない場合のファイルの管理情報を示している。
図15(B)は、ハードリンクがある場合のファイルの
管理情報を示している。
【図16】使用量更新、制限値参照ディレクトリ決定処
理の手順を示すフローチャートである。
【図17】使用制限を設ける場合の機能構成を示す機能
ブロック図である。
【図18】使用量制限処理を行うためのディレクトリの
データ構造の一例を示す図である。
【図19】使用量制限処理を行うためのファイルのデー
タ構造の一例を示す図である
【図20】ディレクトリツリーの一例を示す図である。
【図21】使用量更新処理の手順を示すフローチャート
の前半である。
【図22】使用量制限処理の手順を示すフローチャート
の後半である。
【図23】使用量制限処理の手順を示すフローチャート
の前半である
【図24】使用量制限処理の手順を示すフローチャート
の後半である。
【図25】移動処理の手順を示すフローチャートであ
る。
【図26】ディレクトリ移動前のデータ構造の一例を示
す図である。
【図27】ディレクトリを移動後のデータ構造の一例を
示す図である。
【図28】制限値設定前のデータ構造の一例を示す図で
ある。
【図29】制限値設定後のデータ構造の一例を示す図で
ある。
【符号の説明】
1 記憶領域 1a〜1c ディレクトリ 1d ファイル 2 管理情報 2a〜2d 親ディレクトリ情報 3 ファイル操作手段 4 親ディレクトリ情報設定手段 5 親ディレクトリ情報提供手段 6 探索手段 10 ネットワーク 20,20a〜20c クライアント 100 NASファイラ
【手続補正書】
【提出日】平成14年6月12日(2002.6.1
2)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0067
【補正方法】変更
【補正内容】
【0067】[ハードリンクを含まないパス名探索]ま
ず、ハードリンクを含まない場合のパス名の探索方法に
ついて説明する。図7は、ファイルシステム処理におけ
る指示の流れを示す図である。図7に示す矢印は、指示
を出す側から指示(処理要求)を受ける側に対して向い
ている。なお、図7では、ファイルシステム情報管理部
122と属性設定管理部123との中に、本実施の形態
に係る処理機能が示されている。また、図4に示したク
ライアント20のネットワーク制御部22やNASファ
イラ100のネットワーク制御部110などは、単に処
理要求の伝送を仲介するものであるため、図では省略
している。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】変更
【補正内容】
【0076】すると、親ディレクトリ情報格納処理部1
22aが、操作対象となったファイルの管理情報に対し
て、そのファイルの親ディレクトリの識別情報を設定す
る。具体的には、親ディレクトリ情報格納処理部122
aからディスク管理部125に対して、操作対象となっ
たファイルの管理情報が格納されている領域に対して、
親ディレクトリの識別情報の書き込みを要求する。ディ
スク管理部125は、要求に応じて、データ記憶部14
0を構成するHDD103,103a,103b,・・
・に、親ディレクトリの識別情報を書き込む。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0115
【補正方法】変更
【補正内容】
【0115】このように、複数の親ディレクトリの間に
優先順を設定したことにより、管理情報と実際のファイ
ルとの整合性を保つことができる。すなわち、複数の親
ディレクトリに相反する属性が設定されていた場合で
も、常に優先順位の高い親ディレクトリの属性が反映さ
れる。したがって、ファイルの属性が不確定になること
がなく、運用時の監視コストが軽減できる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正内容】
【0116】[ディレクトリへの属性設定次に、ディ
レクトリへの属性設定について説明する。本実施の形態
では、あるディレクトリに設定した属性を、その配下
(子孫)のディレクトリに伝搬させることができる。デ
ィレクトリの属性の伝搬には、ディレクトリやファイル
に設定されている親ディレクトリ情報と、ディレクトリ
に設定されている属性情報が用いられる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0174
【補正方法】変更
【補正内容】
【0174】制限値リストinode番号215は、使用量
と制限値のリストを格納した内部ファイル220のinod
e番号である。一般制限フラグ211、ユーザ制限フラ
グ212、およびグループ制限フラグ213のいずれか
のビットに1が設定され、ディレクトリの管理情報21
0に対応するディレクトリ配下のファイルに制限がかけ
られている場合、制限値リストinode番号215にその
使用量と制限値のリストを格納した内部ファイル220
のinode番号が入る。一般制限フラグ211、ユーザ制
限フラグ212、およびグループ制限フラグ213のす
べてにビットが設定されておらず、制限がかけられてい
ない場合、設定されていないという意味で、制限値リス
トinode番号215に0が入る。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0239
【補正方法】変更
【補正内容】
【0239】[ステップS256]使用量制限値判定処
理部151は、使用量制限値の判定がエラー無く終了し
たことをファイル操作部124に伝える。すると、ファ
イル操作部124は、ファイルの移送要求に応じて、フ
ァイル移動処理を実行する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0252
【補正方法】変更
【補正内容】
【0252】このような構造のデータにおいて、inode
番号5のディレクトリ514をinode番号4のディレク
トリ513の直下に移動した場合を考える。図27は、
ディレクトリを移動後のデータ構造の一例を示す図であ
る。図26と比較すると、inode番号5のディレクトリ
514が、ディレクトリ513の直下に配置されてい
る。また、ディレクトリ514の制限ディレクトリinod
e番号は、2から4に変更されている。なお、ディレク
リ514の配下のファイル521,522の制限ディ
レクトリinode番号に変更はない。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0269
【補正方法】変更
【補正内容】
【0269】このように段階に制限値を設けること
で、制限値(ハードリミット)ぎりぎりまで既に使用し
ているのを利用者が気づかずに作業を行い、その結果、
新たに作成した重要なファイルを保存できなくなるよう
な事態を回避することができる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】図22
【補正方法】変更
【補正内容】
【図22】使用量更新処理の手順を示すフローチャート
の後半である。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 識別情報を有するディレクトリを用いて
    ファイルを管理するためのファイル管理プログラムにお
    いて、 コンピュータを、 ファイル操作要求に応答して、前記ファイルを任意のデ
    ィレクトリの下に配置するファイル操作手段と、 前記ファイル操作手段により前記ファイルが配置される
    と、前記ファイルの親ディレクトリ情報として、前記任
    意のディレクトリの識別情報を設定する親ディレクトリ
    情報設定手段と、 前記ファイルを指定した親ディレクトリ情報取得要求に
    応答して、前記ファイルの親ディレクトリ情報を参照
    し、前記任意のディレクトリの識別情報を出力する親デ
    ィレクトリ情報提供手段と、 として機能させることを特徴とするファイル管理プログ
    ラム。
  2. 【請求項2】 前記ファイル操作手段は、ファイル操作
    要求に応答して、上位ディレクトリの下に下位ディレク
    トリを配置し、 前記親ディレクトリ情報設定手段は、前記ファイル操作
    手段により前記下位ディレクトリが配置されると、配置
    された前記下位ディレクトリの親ディレクトリ情報とし
    て、前記上位ディレクトリの識別情報を設定し、 前記ファイルの経路探索要求に応答して、前記ファイル
    の親ディレクトリ情報に示されている前記任意のディレ
    クトリの識別情報で示されるディレクトリから順に、各
    ディレクトリの親ディレクトリ情報に設定されている識
    別情報で示されるディレクトリを辿り、最上位のディレ
    クトリまでの経路を探索する探索手段をさらに有する、 ことを特徴とする請求項1記載のファイル管理プログラ
    ム。
  3. 【請求項3】 識別情報を有するディレクトリを用いて
    ファイルを管理するためのファイル管理プログラムにお
    いて、 コンピュータを、 ディレクトリ毎に、記憶領域の使用量の制限値を設定す
    る制限値設定手段と、 ファイル操作要求があると、ファイル操作を実行した場
    合の各ディレクトリの記憶領域の使用予定量を計算し、
    前記各ディレクトリにおいて、前記制限値設定手段で設
    定された制限値と使用予定量とを比較する比較手段と、 前記比較手段で比較された結果、使用予定量が制限値を
    超えるディレクトリが存在しない場合に、前記ファイル
    操作要求に応答してファイル操作を実行するファイル操
    作手段と、 として機能させることを特徴とするファイル管理プログ
    ラム。
  4. 【請求項4】 識別情報を有するディレクトリを用いて
    ファイルを管理するためのファイル管理装置において、 ファイル操作要求に応答して、前記ファイルを任意のデ
    ィレクトリの下に配置するファイル操作手段と、 前記ファイル操作手段により前記ファイルが配置される
    と、前記ファイルの親ディレクトリ情報として、前記任
    意のディレクトリの識別情報を設定する親ディレクトリ
    情報設定手段と、 前記ファイルを指定した親ディレクトリ情報取得要求に
    応答して、前記ファイルの親ディレクトリ情報を参照
    し、前記任意のディレクトリの識別情報を出力する親デ
    ィレクトリ情報提供手段と、 を有することを特徴とするファイル管理装置。
  5. 【請求項5】 識別情報を有するディレクトリを用いて
    ファイルを管理するためのファイル管理装置において、 ディレクトリ毎に、記憶領域の使用量の制限値を設定す
    る制限値設定手段と、 ファイル操作要求があると、ファイル操作を実行した場
    合の各ディレクトリの記憶領域の使用予定量を計算し、
    前記各ディレクトリにおいて、前記制限値設定手段で設
    定された制限値と使用予定量とを比較する比較手段と、 前記比較手段で比較された結果、使用予定量が制限値を
    超えるディレクトリが存在しない場合に、前記ファイル
    操作要求に応答してファイル操作を実行するファイル操
    作手段と、 を有することを特徴とするファイル管理装置。
JP2001206613A 2001-07-06 2001-07-06 ファイル管理プログラムおよびファイル管理装置 Pending JP2003022206A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001206613A JP2003022206A (ja) 2001-07-06 2001-07-06 ファイル管理プログラムおよびファイル管理装置
US10/173,798 US7383286B2 (en) 2001-07-06 2002-06-18 File management system with parent directory search functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001206613A JP2003022206A (ja) 2001-07-06 2001-07-06 ファイル管理プログラムおよびファイル管理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007332234A Division JP4173189B2 (ja) 2007-12-25 2007-12-25 ファイル管理プログラム

Publications (1)

Publication Number Publication Date
JP2003022206A true JP2003022206A (ja) 2003-01-24

Family

ID=19042717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001206613A Pending JP2003022206A (ja) 2001-07-06 2001-07-06 ファイル管理プログラムおよびファイル管理装置

Country Status (2)

Country Link
US (1) US7383286B2 (ja)
JP (1) JP2003022206A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093391A1 (ja) * 2003-04-10 2004-10-28 Fujitsu Limited 関係管理制御プログラム、装置、及びシステム
JP2005056011A (ja) * 2003-08-08 2005-03-03 Hitachi Ltd 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP2006092215A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 階層構造が設定されたディレクトリの編集を支援するプログラム、ディレクトリ編集支援方法及びディレクトリ編集支援装置
JP2006302037A (ja) * 2005-04-21 2006-11-02 Canon Inc ファイル管理装置及びその制御方法
JP2009282891A (ja) * 2008-05-26 2009-12-03 Konica Minolta Business Technologies Inc データ配信装置、データ配信方法、及びデータ配信プログラム
JP2010176574A (ja) * 2009-01-30 2010-08-12 Canon Inc データ管理方法及び装置
US7953733B2 (en) 2005-04-18 2011-05-31 Canon Kabushiki Kaisha Recording/playback apparatus, recording/playback method, program, and storage medium
JP2017511515A (ja) * 2014-08-25 2017-04-20 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド ファイルをスキャンする方法及び装置
KR20170102772A (ko) * 2016-03-02 2017-09-12 한국전자통신연구원 로그 구조 파일 시스템의 메타 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20220072545A (ko) * 2020-11-25 2022-06-02 (주)디지탈쉽 데이터 분할 기반 데이터 전처리 장치 및 방법

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003213113A1 (en) * 2002-02-21 2003-09-09 Precise Software Solutions, Inc. System and method for analyzing input/output activity on local attached storage
US7945652B2 (en) * 2002-08-06 2011-05-17 Sheng (Ted) Tai Tsao Display multi-layers list item in web-browser with supporting of concurrent multi-users
US7421438B2 (en) * 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7188316B2 (en) * 2003-03-24 2007-03-06 Microsoft Corporation System and method for viewing and editing multi-value properties
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7240292B2 (en) * 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US7890960B2 (en) 2003-03-26 2011-02-15 Microsoft Corporation Extensible user context system for delivery of notifications
US7650575B2 (en) * 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) * 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7499925B2 (en) * 2003-03-27 2009-03-03 Microsoft Corporation File system for displaying items of different types and from different physical locations
US7290052B2 (en) * 2003-06-19 2007-10-30 Microsoft Corporation System and method for enforcing quotas on object creation in a replicated directory service database
US20040267827A1 (en) * 2003-06-30 2004-12-30 International Business Machines Corporation Method, apparatus, and program for maintaining quota information within a file system
US20050010610A1 (en) * 2003-07-08 2005-01-13 Konica Minolta Business Technologies, Inc. File management system, file management apparatus and image forming apparatus
US7849112B2 (en) * 2003-09-03 2010-12-07 Emc Corporation Using a file handle for associating the file with a tree quota in a file server
US7958097B1 (en) * 2003-09-24 2011-06-07 Parallels Holdings, Ltd. Method and system for implementation of data storage quota
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7181463B2 (en) 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
JP5101887B2 (ja) * 2004-01-13 2012-12-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 家庭内ネットワークコンテンツのフィルタリング方法及びシステム
US7506332B2 (en) * 2004-03-24 2009-03-17 Sap Ag Object set optimization using dependency information
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7992103B2 (en) 2004-04-26 2011-08-02 Microsoft Corporation Scaling icons for representing files
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7496583B2 (en) * 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
US8108430B2 (en) 2004-04-30 2012-01-31 Microsoft Corporation Carousel control for metadata navigation and assignment
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
US9760652B2 (en) * 2004-06-21 2017-09-12 International Business Machines Corporation Hierarchical storage architecture using node ID ranges
US7774326B2 (en) * 2004-06-25 2010-08-10 Apple Inc. Methods and systems for managing data
US7437358B2 (en) 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7801854B2 (en) * 2004-11-15 2010-09-21 Microsoft Corporation Managing lists and other items in an electronic file system
US7599907B2 (en) * 2004-11-30 2009-10-06 Microsoft Corporation Method and system applying policy on screened files
US7805469B1 (en) * 2004-12-28 2010-09-28 Symantec Operating Corporation Method and apparatus for splitting and merging file systems
JP4311386B2 (ja) * 2005-02-14 2009-08-12 セイコーエプソン株式会社 ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置
US7383503B2 (en) * 2005-02-23 2008-06-03 Microsoft Corporation Filtering a collection of items
US8490015B2 (en) * 2005-04-15 2013-07-16 Microsoft Corporation Task dialog and programming interface for same
US20060236253A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Dialog user interfaces for related tasks and programming interface for same
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US8522154B2 (en) 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
US7502871B2 (en) * 2005-05-23 2009-03-10 International Business Machines Corporation Method for query/modification of linear block address table entries for direct I/O
US20070005815A1 (en) * 2005-05-23 2007-01-04 Boyd William T System and method for processing block mode I/O operations using a linear block address translation protection table
US7464189B2 (en) * 2005-05-23 2008-12-09 International Business Machines Corporation System and method for creation/deletion of linear block address table entries for direct I/O
US7502872B2 (en) * 2005-05-23 2009-03-10 International Bsuiness Machines Corporation Method for out of user space block mode I/O directly between an application instance and an I/O adapter
US20060265525A1 (en) * 2005-05-23 2006-11-23 Boyd William T System and method for processor queue to linear block address translation using protection table control based on a protection domain
US7552240B2 (en) * 2005-05-23 2009-06-23 International Business Machines Corporation Method for user space operations for direct I/O between an application instance and an I/O adapter
US20060294115A1 (en) * 2005-06-23 2006-12-28 Emc Corporation Methods and apparatus for storing content in a file system
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US8224793B2 (en) * 2005-07-01 2012-07-17 International Business Machines Corporation Registration in a de-coupled environment
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7873683B2 (en) * 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US8977657B2 (en) * 2005-07-28 2015-03-10 International Business Machines Corporation Finding lost objects in a file system having a namespace
US8417687B2 (en) 2005-08-31 2013-04-09 Sony Corporation File processing apparatus, file processing method, program and recording medium
US7657662B2 (en) * 2005-08-31 2010-02-02 International Business Machines Corporation Processing user space operations directly between an application instance and an I/O adapter
US7577761B2 (en) * 2005-08-31 2009-08-18 International Business Machines Corporation Out of user space I/O directly between a host system and a physical adapter using file based linear block address translation
US7500071B2 (en) * 2005-08-31 2009-03-03 International Business Machines Corporation Method for out of user space I/O with server authentication
US20070168567A1 (en) * 2005-08-31 2007-07-19 Boyd William T System and method for file based I/O directly between an application instance and an I/O adapter
US7617216B2 (en) * 2005-09-07 2009-11-10 Emc Corporation Metadata offload for a file server cluster
US7925681B2 (en) * 2006-04-28 2011-04-12 Microsoft Corporation Bypass of the namespace hierarchy to open files
KR100877063B1 (ko) * 2006-05-29 2009-01-07 삼성전자주식회사 데이터를 관리하는 장치 및 방법
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US20080059510A1 (en) * 2006-08-31 2008-03-06 Daniel Cardamore Multimedia system framework having layer consolidating access to multiple media devices
US20080086491A1 (en) * 2006-10-04 2008-04-10 Mediatek Inc. Multimedia management and playback apparatus
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
US9110920B1 (en) 2007-05-03 2015-08-18 Emc Corporation CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames
JP5198018B2 (ja) * 2007-09-20 2013-05-15 株式会社日立製作所 ストレージサブシステム及び記憶制御方法
US8046378B1 (en) 2007-09-26 2011-10-25 Network Appliance, Inc. Universal quota entry identification
US8131784B1 (en) * 2007-09-26 2012-03-06 Network Appliance, Inc. Multiple node quota filter
KR101526965B1 (ko) 2008-02-29 2015-06-11 엘지전자 주식회사 단말기 및 그 제어 방법
US7962532B1 (en) * 2008-04-30 2011-06-14 Netapp, Inc. Management of directory quotas for file systems
US7890454B2 (en) * 2008-05-08 2011-02-15 International Business Machines Corporation Method and system for data disaggregation
US8229884B1 (en) * 2008-06-04 2012-07-24 United Services Automobile Association (Usaa) Systems and methods for monitoring multiple heterogeneous software applications
US8103623B2 (en) * 2010-02-25 2012-01-24 Silicon Motion Inc. Method for accessing data stored in storage medium of electronic device
CN102455982B (zh) * 2010-10-15 2014-12-03 慧荣科技股份有限公司 用来存取储存在电子装置中的储存媒体的数据的方法
US8554809B1 (en) 2011-05-26 2013-10-08 Emc Corporation Calculating quota usage without impacting file system services
US10019451B2 (en) * 2011-09-29 2018-07-10 Quantum Corporation Path lookup in a hierarchical file system
US9104675B1 (en) * 2012-05-01 2015-08-11 Emc Corporation Inode to pathname support with a hard link database
US9317511B2 (en) * 2012-06-19 2016-04-19 Infinidat Ltd. System and method for managing filesystem objects
US20140013242A1 (en) * 2012-07-06 2014-01-09 The Nasdaq Omx Group, Inc. Collaborative due diligence review system
US10319171B2 (en) * 2014-03-28 2019-06-11 Ncr Corporation Media escape prevention for self-service terminal
US10037341B1 (en) * 2014-03-31 2018-07-31 EMC IP Holding Company LLC Nesting tree quotas within a filesystem
US10452484B2 (en) * 2014-05-15 2019-10-22 Carbonite, Inc. Systems and methods for time-based folder restore
WO2016122603A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Dynamically inheritable attribute
US10108624B1 (en) * 2015-02-04 2018-10-23 Amazon Technologies, Inc. Concurrent directory move operations using ranking rules
JP6620730B2 (ja) * 2016-11-18 2019-12-18 京セラドキュメントソリューションズ株式会社 情報処理装置及び画像形成装置
CN107247722B (zh) * 2017-04-25 2020-11-06 北京金山安全软件有限公司 一种文件扫描方法、装置及智能终端
US10972435B2 (en) * 2018-09-05 2021-04-06 Servicenow, Inc. Dynamic discovery of executing applications
US11372812B2 (en) * 2018-10-08 2022-06-28 Silicon Motion, Inc. Mobile device and method capable of earlier determining that a number of files in a directory of an external connected storage device is about to full
CN113590543A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 信息处理的方法、设备和计算机程序产品

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945475A (en) * 1986-10-30 1990-07-31 Apple Computer, Inc. Hierarchical file system to provide cataloging and retrieval of data
US5418942A (en) * 1989-07-06 1995-05-23 Krawchuk; Kenneth V. System and method for storing and managing information
US5721919A (en) * 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
JPH0778098A (ja) * 1993-09-08 1995-03-20 Fujitsu Ltd ファイル管理システム
US6427123B1 (en) * 1999-02-18 2002-07-30 Oracle Corporation Hierarchical indexing for accessing hierarchically organized information in a relational system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093391A1 (ja) * 2003-04-10 2004-10-28 Fujitsu Limited 関係管理制御プログラム、装置、及びシステム
JP2005056011A (ja) * 2003-08-08 2005-03-03 Hitachi Ltd 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP2006092215A (ja) * 2004-09-22 2006-04-06 Fuji Xerox Co Ltd 階層構造が設定されたディレクトリの編集を支援するプログラム、ディレクトリ編集支援方法及びディレクトリ編集支援装置
US7953733B2 (en) 2005-04-18 2011-05-31 Canon Kabushiki Kaisha Recording/playback apparatus, recording/playback method, program, and storage medium
JP2006302037A (ja) * 2005-04-21 2006-11-02 Canon Inc ファイル管理装置及びその制御方法
JP4591546B2 (ja) * 2008-05-26 2010-12-01 コニカミノルタビジネステクノロジーズ株式会社 データ配信装置、データ配信方法、及びデータ配信プログラム
JP2009282891A (ja) * 2008-05-26 2009-12-03 Konica Minolta Business Technologies Inc データ配信装置、データ配信方法、及びデータ配信プログラム
JP2010176574A (ja) * 2009-01-30 2010-08-12 Canon Inc データ管理方法及び装置
JP2017511515A (ja) * 2014-08-25 2017-04-20 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド ファイルをスキャンする方法及び装置
KR20170102772A (ko) * 2016-03-02 2017-09-12 한국전자통신연구원 로그 구조 파일 시스템의 메타 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR102545067B1 (ko) * 2016-03-02 2023-06-20 한국전자통신연구원 로그 구조 파일 시스템의 메타 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20220072545A (ko) * 2020-11-25 2022-06-02 (주)디지탈쉽 데이터 분할 기반 데이터 전처리 장치 및 방법
KR102504537B1 (ko) 2020-11-25 2023-02-28 (주)디지탈쉽 데이터 분할 기반 데이터 전처리 장치 및 방법

Also Published As

Publication number Publication date
US7383286B2 (en) 2008-06-03
US20030009484A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
JP2003022206A (ja) ファイル管理プログラムおよびファイル管理装置
US8316066B1 (en) Shadow directory structure in a distributed segmented file system
US7769711B2 (en) Migration of control in a distributed segmented file system
US9460105B2 (en) Managing performance within an enterprise object store file system
US7574443B2 (en) Scalable clustered storage system
US8600951B2 (en) Systems, methods and programming for routing and indexing globally addressable objects and associated business models
US8266192B2 (en) File-sharing system and method for processing files, and program
US7363352B2 (en) Method for accessing distributed file system
US7406484B1 (en) Storage allocation in a distributed segmented file system
US7590667B2 (en) File replication method for distributed file systems
US7567978B1 (en) Population of discovery data
CN101276366A (zh) 防止文件重复存储的计算机系统
JP2002503000A (ja) ウェブサイトを開発するためのシステムと方法
JP2003345643A (ja) ネットワークストレージシステムの仮想一元化方法及び装置
JP2009541856A (ja) 分散システム内の連合リソース発見のための方法およびコンピュータ可読媒体(分散システム内の連合リソース発見サービスのための方法およびシステム)
WO2006013992A1 (ja) ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP2001188702A (ja) 分散ファイルシステム及びファイル操作方法
JPH08185348A (ja) 情報処理装置および情報処理方法
JP4173189B2 (ja) ファイル管理プログラム
JP4247975B2 (ja) データ管理方法、データ管理システム、およびそのためのプログラムならびに記録媒体
US11940954B2 (en) Methods for ensuring correctness of file system analytics and devices thereof
CN114661676B (zh) 分布式数据库管理系统、方法、电子设备及可读存储介质
US8935307B1 (en) Independent data access in a segmented file system
JP4166054B2 (ja) データベース再構成装置、プログラムおよび記録媒体
CN115328859A (zh) 一种元数据访问方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080129