JPH11282741A - ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法 - Google Patents

ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法

Info

Publication number
JPH11282741A
JPH11282741A JP10080719A JP8071998A JPH11282741A JP H11282741 A JPH11282741 A JP H11282741A JP 10080719 A JP10080719 A JP 10080719A JP 8071998 A JP8071998 A JP 8071998A JP H11282741 A JPH11282741 A JP H11282741A
Authority
JP
Japan
Prior art keywords
file
directory
integrated
mount
file name
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
JP10080719A
Other languages
English (en)
Inventor
Kiyouka Bin
京華 閔
Yoshimasa Masuoka
義政 増岡
Shigekazu Inohara
茂和 猪原
Fumio Noda
文雄 野田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10080719A priority Critical patent/JPH11282741A/ja
Publication of JPH11282741A publication Critical patent/JPH11282741A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 マウント可能なファイルなどをユーザが指定
できる柔軟な、ディレクトリのマウント方法を提供す
る。 【解決手段】 ローカルファイル名ツリーのディレクト
リ/xを共通ファイル名ツリー2のいずれかのディレク
トリcにマウントするときに、マウント可能な同名ファ
イルの種別などを示すマウント許可条件、アクセス動作
を規制する読み出し操作情報、書き込み操作情報および
アクセス権限表などユーザが指定する情報をマウント先
cに対応して設定する。アクセス権限はマウント元/x
にも対応して設定される。これらにより、マウントを許
可されるファイルの選択と、マウントされたファイルf
またはgに対するアクセス要求の実行が制御される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は分散ファイルシステ
ムのディレクトリを合成する方法に関する。
【0002】
【従来の技術】計算機のファイル・システムにおける名
前づけは、ファイル・システムの基本機能のひとつであ
る。名前づけの役割は、計算機上のさまざまなデータや
プログラム(以後、ファイルと総称する)を一意に識別
することと、ユーザ間のファイルの共有を助けることで
ある。ファイルにつけられた名前を「ファイル名」と呼
ぶ。その全体を「ファイル名空間」と呼ぶ。
【0003】多くのファイル・システムのファイル名空
間は、階層的な木構造をなす。この木構造は、ディレク
トリとファイルからなる。ディレクトリは木構造の分岐
点である。一方、ファイルは木構造の末端であり、ディ
レクトリの下におかれる。このようなファイル名空間を
ファイル名ツリーとも呼ぶ。
【0004】ネットワークによって、ひとつの計算機か
ら別の計算機上のファイルをアクセスすることが可能に
なった。1980年頃から、ネットワーク上の複数の計
算機を跨る分散ファイル・システムの技術が登場し、発
展してきた。このなかの代表的な技術には、共通ファイ
ル名空間の技術、位置透過性と独立性の技術、キャッシ
ング技術、複製技術、アクセス・コントロール技術、認
証技術があり、これらは現在も発展を続けている。以
下、共通ファイル名空間の技術、位置透過性と位置独立
性の技術を説明する。
【0005】R. Sandberg他著"The Sun Network File S
ystem: Design, Implementation and Experience", A.
L. AnandaとB. Srinivasan編"Distributed Computing S
ystems: Concepts and Structures", IEEE Computer So
ciety Press, pp. 300-314,1991に記載の方法(以後
「公知例1」と呼ぶ)によれば、計算機Bのファイル・
システムにより管理されるネームツリー内のいずれかの
ディレクトリ、例えばXに、他の計算機Aのファイルシ
ステムにより管理されるネームツリー内の他のディレク
トリ、例えばUを組み込むという操作が知られている。
この操作では、ディレクトリXの名称をディレクトリU
に割り当てる。この操作を行うと、計算機B上のアプリ
ケーションプログラムが計算機AのディレクトリUをア
クセスする場合、アクセス要求がディレクトリXを指定
すればよく、計算機AのディレクトリUをユーザが指定
する必要はない(位置透過性)。
【0006】このように、あるネームツリー上のディレ
クトリXの名称を他のネームツリー上のディレクトリU
に割り当てる操作は、ディレクトリXにディレクトリU
をマウントすると呼ばれている。この操作では、ディレ
クトリXは、マウント先のディレクトリ呼ばれ、ディレ
クトリUは、マウント元のディレクトリと呼ばれる。
【0007】J. H. Howard他著"Scale and Performance
in a Distributed File System",ACM Transactions on
Computer Systems, vol. 6, no. 1, pp. 51-81, Febru
ary1988に記載の方法(以後「公知例2」と呼ぶ)で
は、異なるファイル・システムが提案されている。ファ
イル・サーバ計算機とクライアント計算機を区別してお
り、各クライアント計算機は、ファイル名空間をローカ
ルなファイル名空間(もしくはローカルなファイル名ツ
リー)と共通ファイル名空間(もしくは共通ファイル名
ツリー)とで構成する。本明細書を通じて「ローカル」
という語は、ひとつの計算機がネットワークを経由せず
にアクセスできる資源を指す。共通ファイル名空間もし
くは共通ファイル名ツリーはファイル・サーバ計算機群
が提供し、ローカルなファイル名空間もしくはローカル
なファイル名ツリーは各クライアント計算機がそれぞれ
別のものを持つ。共通ファイル名ツリーを構成するディ
レクトリおよびローカルなファイル名ツリーを構成する
ディレクトリを本明細書では、共通ディレクトリおよび
ローカルディレクトリと呼ぶことがある。この従来技術
では、異なるクライアント計算機が管理するローカルデ
ィレクトリを共通のファイルネームツリー上の共通ディ
レクトリにマウントされる。各クライアント計算機は、
このような共通ネームツリーを使用してそれぞれのサー
バ計算機が管理する共通ファイルを、それぞれのファイ
ルを管理するサーバ計算機がどれであるかを意識しない
でアクセスすることが出来る。また、クライアント計算
機側に影響せず、共通ネームツリーに登録されたディレ
クトリやファイルをファイル・サーバ計算機群の中に移
動することが可能である。このように、ディレクトリや
ファイルが特定の計算機に縛られないことを、以後「位
置独立性」と呼ぶ。
【0008】以上の公知例に記載のマウント方法では、
各計算機に散在したファイル(以後「分散ファイル」と
呼ぶ)を論理的にまとめたい時に次の問題が生じる。た
とえば、同じ種類の情報を格納したファイルが別々の計
算機のローカルなファイル名ツリーに属する二つのディ
レクトリに入っている場合、一方のローカルファイルネ
ームツリー上のローカルなディレクトリを他方のローカ
ルファイルネームツリー上の他のローカルディレクトリ
にまとめて整理したい場合、上記一方のディレクトリを
上記他方のディレクトリにマウントすると、上記一方の
ディレクトリに属する複数のファイルをアクセスするこ
とができるようになるが、上記一方のディレクトリに属
する複数のファイルは隠されてしまい、アクセスするこ
とができなくなる。
【0009】このような問題を有しないマウント方法と
して、ユニオン・マウント法が提案されている。この技
術によれば、上記の問題が無いマウントの結果、マウン
ト元のディレクトリはマウント先のディレクトリに合成
されると呼んでいる。ユニオン・マウント法には二種類
がある。M. K. McKusick他著“The Design and Impleme
ntation of the 4.4 BSD Operating System", Addison-
Wesley, 1996の「6.7 Stackable Filesystems」に記載の
方法(以後「公知例3」と呼ぶ)とR. Pike他著“The U
se of Name Space in Plan 9", Plan 9: Programmer's
Manual Volume 2, Second Edition, pp. 29-34, 1995に
記載の方法(以後「公知例4」と呼ぶ)である。
【0010】
【発明が解決しようとする課題】これらの方法によるデ
ィレクトリのマウントは異なるところがあるが、マウン
トされるディレクトリに上下関係が付けられる。すなわ
ち、あるディレクトリ(マウント先のディレクトリ)に
他のディレクトリ(マウント元のディレクトリ)をマウ
ントするとき、マウント先のディレクトリはマウント元
のディレクトリの下側のディレクトリとして扱われる。
ディレクトリのマウント結果はその上下関係に依存す
る。即ち、ユーザがあるファイル名のファイルに対する
アクセスを試みたとき、そのファイル名のファイルが属
するディレクトリと他のディレクトリとの上下関係によ
り、そのファイルへのアクセスあるいはそのファイルの
更新が制限されるなどファイルが属するディレクトリの
上下関係に依存してそのファイルへのアクセスに制限が
生じる。以下、図2を用いて具体的に説明する。
【0011】図2では、記憶装置20にあるディレクト
リ“x”21、ファイル“a”22、ファイル“b”2
3、サブディレクトリ“z”24、ファイル“d”25
が格納されており、記憶装置30にあるディレクトリ
“y”31、ファイル“a”32、ファイル“c”3
3、サブディレクトリ“z”34、ファイル“e”35
が格納されている。公知例3と公知例4のユニオン・マ
ウント法をそれぞれ使って、記憶装置20にあるディレ
クトリ“x”21を記憶装置30にあるディレクトリ
“y”31の上にマウントするとする。
【0012】公知例3のユニオン・マウントのマウント
結果はファイル名ツリー40に示される。ファイル名ツ
リー40にあるディレクトリ“y”41はマウント・ポ
イントであり、ディレクトリ“x”21をそこにマウン
トする前は記憶装置30にあるディレクトリ“y”31
を参照する。ディレクトリ“x”21をそこにマウント
すれば、次のマウント仕様に従ってマウントが行われ
る。ここで、マウント先のディレクトリ“y”41は、
マウント元のディレクトリ“x”21より下に位置する
ディレクトリとして扱われる。
【0013】(a)上側のディレクトリ“x”21に含
まれるファイル“a”22と下側のディレクトリ“y”
41に含まれるファイル“a”32は同名のファイルで
ある。下側のディレクトリ“y”31に属する、記憶装
置30内のファイル“a”32は参照されないし、変更
もされない。このように、下側ディレクトリのファイル
は、上側ディレクトリの同名のファイルにより隠され
る。なお、ファイル“a”42は、記憶装置20内のフ
ァイル“a”22を参照する。また、ファイル“a”4
2を変更すれば(48)参照の、記憶装置20内のファ
イル“a”22が変更される(48’)。
【0014】(b)記憶装置30内のファイル“c”3
3と同名のファイルは、上側ディレクトリ“x”21に
含まれていない。このようにマウント対象となったディ
レクトリ群の中に一番上ではないディレクトリに入って
いるファイルはread−onlyに制限される。すな
わち、ファイル“c”44は記憶装置30内のファイル
“c”33を参照できるが、これを変更することができ
ない。
【0015】(c)もしファイル“c”44を変更しよ
うとすると(49)、ファイル“c”33は、記憶装置
20にある一番上側のディレクトリ“x”21にコピー
アップされる(49’)。すなわち、記憶装置20内の
ファイル“c”33’が新規に作られ、その後は、変更
は記憶装置20内のファイル“c”33’に反映される
(49”)。記憶装置30内のファイル“c”33には
この変更は反映されない。
【0016】(d)上側のディレクトリ“x”21に含
まれるサブディレクトリ“z”24と下側のディレクト
リ“y”41に含まれるサブディレクトリ“z”34は
同名のサブディレクトリである。ファイル名ツリー40
では、サブディレクトリ“z”45において、ディレク
トリ“y”41におけるマウントと同じマウント仕様に
従ったマウントがサブディレクトリ“z”34とサブデ
ィレクトリ“z”24とに対して再帰的に行われる。し
かし、ファイル名ツリー40内のファイル“d”46
は、記憶装置30内のファイル“e”35を参照する
が、この参照はread−onlyである。
【0017】公知例4によるマウント結果はファイル名
ツリー50に示される。ファイル名ツリー50にあるデ
ィレクトリ“y”51はマウント・ポイントであり、マ
ウントする前に記憶装置30にあるディレクトリ31を
参照する。一旦そこにマウントすれば次のマウント仕様
に従ってマウントが行われる。
【0018】(a)同名ファイルは全部見えるが、その
うちの一番上のファイルにしかアクセスできない。すな
わち、ファイル名ツリー50にファイル“a”52とフ
ァイル“a”52’が二つ見える。ファイル“a”52
は記憶装置20内のファイル“a”22を参照する。フ
ァイル“a”52’は参照先がない。ファイル“a”5
2を変更すれば(58)、参照先記憶装置20内のファ
イル“a”22が変更される(58’)。
【0019】(b)同名のサブディレクトリは全部見え
るが、そのうちの一番上のサブディレクトリにしかアク
セスできない。このことが原因となって、ディレクトリ
マウントは同名サブディレクトリに対して再帰的に行わ
れない。すなわち、ファイル名ツリー50にサブディレ
クトリ“z”55とサブディレクトリ“z”55’が二
つに見える。サブディレクトリ“z”55は記憶装置2
0内のサブディレクトリ“z”24を参照する。サブデ
ィレクトリ“z”55’は参照先がない。ファイル
“d”56は、記憶装置20内のファイル“d”25を
参照する。記憶装置30内のファイル“e”35はファ
イル名ツリー50から見えない。
【0020】なお、従来のマウント方法では、あるマウ
ント先のディレクトリにマウント元のディレクトリをマ
ウントするときに、マウント可否は、マウントを要求す
るユーザがマウント先のディレクトリとマウント元のデ
ィレクトリに対してアクセス権限を有するか否かのチェ
ックによってのみ判断される。
【0021】公知例3のマウント方法はもともとソフト
ウェアのバージョン管理に向けるディレクトリマウント
であるため、仕様上、ディレクトリの上下関係が定めら
れている。これはソフトウェアのバージョン管理に適し
ているが、分散ファイルをマウントする時には、上に示
されたように、最も上のディレクトリ内の同名ファイル
あるいはサブディレクトリ内のファイルしかアクセスあ
るいは更新できないのでは、ファイル管理の上で不便で
ある。
【0022】したがって、本発明の目的は、マウントす
べき複数のディレクトリの上限関係に依存しないでアク
セスできるファイルあるいは更新できるファイルが定ま
るディレクトリマウント方法を提供することである。
【0023】本発明の他の目的は、アクセスできるファ
イルあるいは更新できるファイルをより柔軟に定めるこ
とができるディレクトリマウント方法を提供することで
ある。
【0024】本発明のさらに他の目的は、アクセスでき
るファイルあるいは更新できるファイルをユーザが自由
に定めることができるディレクトリマウント方法を提供
することである。
【0025】
【課題を解決するための手段】上記課題を解決するため
に、本発明によるディレクトリのマウント方法では、デ
ィレクトリのマウントに際し、マウント先のディレクト
リに対応してマウント許可条件をユーザに指定可能にす
る。このマウント許可条件は、マウント可能なファイル
に関する条件を指定する。たとえば、操作の対象となる
ファイル(特に同名によって重なったファイル)の内容
と属性により、マウント可能なファイルを指定する。マ
ウント許可条件を変えることによって異なる方法でディ
レクトリのマウントを行える。
【0026】すなわち、本発明によるマウント方法で
は、マウントを実行する前に、分散計算機システム内の
複数の計算機に共通に定められたファイル名ツリーを構
成する複数のディレクトリの各々に対応して、そのディ
レクトリに属することができるファイルに関連する、マ
ウントを要求したユーザが指定したマウント条件を予め
記憶する。本明細書では、ディレクトリに属するファイ
ルはそのディレクトリの直下にあるファイル及び再帰的
にそのディレクトリのサブディレクトリに属するファイ
ルからなる集合にあるファイル、即ち、そのディレクト
リにおけるサブツリーに属するファイルを指す。
【0027】分散計算機システム内の複数の計算機の一
つにそれぞれ接続された複数の記憶装置のいずれかに対
応するローカルファイル名ツリーのいずれかのマウント
元のローカルディレクトリを、上記共通ファイル名ツリ
ーのいずれかのマウント先の共通ディレクトリにマウン
トするときに、上記マウント元のローカルディレクトリ
に属する複数のファイルの各々が、そのマウント先の共
通のディレクトリに対応して記憶されたマウント条件を
満たすか否かを判別する。
【0028】上記複数のファイルの全てが上記マウント
先の共通ディレクトリに対応して記憶された上記マウン
ト条件を満たすときには、上記マウント元のローカルデ
ィレクトリを上記マウント先の共通のディレクトリにマ
ウントする。
【0029】たとえば、同名ファイルとして、複製ファ
イル、同等ファイル、同類ファイルを扱う場合に、これ
らの同名ファイルの内のいずれに対してマウントを許可
するかをユーザの指定に従ってディレクトリ毎に定める
ことができる。
【0030】さらに、本発明によるファイルアクセス方
法では、ある共通ディレクトリに属する同じ名称を有す
る複数の同名ファイルのファイル名を指定するファイル
読み出し要求が発生した場合に、それらの同名ファイル
のいずれをアクセスするかを決めるための読み出し操作
を予めその共通のディレクトリに対応してユーザが指定
することを可能にする。これにより、それらの同名ファ
イルへのアクセスをユーザが指定した基準により行うこ
とが可能になる。例えば、読み出し要求の処理時には、
同名によって重なった複数のファイルにはどれにでも読
み出しのためのアクセスさせることもできる。また、書
き込み要求の処理時には、基本ファイルに対して行った
書き込みに対応する変更を複数の同名ファイルに対し
て、それぞれのファイルの種類に応じて行い、それによ
りそれらの同名ファイルと基本ファイルとの一致制御を
自動的に行うことができる。
【0031】すなわち、本発明よる読み出しのためのフ
ァイルアクセス方法では、いずれかの共通ディレクトリ
に、いずれかの記憶装置に対するローカルファイル名ツ
リーのいずれかのローカルディレクトリをマウントする
ときに、マウント元のローカルディレクトリに属するフ
ァイルが同名ファイルであるときには、そのファイルに
関する情報として、そのファイルの同名ファイルの種類
を上記共通ディレクトリに対応して記憶する。
【0032】上記マウントのときに、その共通ディレク
トリに属する複数の同名ファイルがある場合にそれらの
同名ファイルのいずれか一つを選択して読み出すための
条件を指定する、マウントを要求したユーザにより指定
された読み出し操作情報をその共通のディレクトリに対
応して記憶する。
【0033】その共通ディレクトリに属するいずれかの
ファイルに対する読み出し要求が発生したときに、その
共通ディレクトリにマウントされたマウント元のローカ
ルディレクトリが複数あれば、それらのマウント元のロ
ーカルディレクトリに属するファイルの中に、アクセス
要求が指定したファイル名と同じ名称を有する複数の同
名ファイルがあるか否かを、それぞれのファイルに対し
て記憶されたファイルの種類により判別し、複数の同名
のファイルがあれば、その共通ディレクトリに対応して
記憶された上記読み出し操作情報に従って、上記複数の
同名ファイルの一つを選択して読み出す。
【0034】また、本発明よる書き込みのためのファイ
ルアクセス方法では、いずれかの共通ディレクトリに、
いずれかの記憶装置に対するローカルファイル名ツリー
のいずれかのローカルディレクトリをマウントするとき
に、マウント元のローカルディレクトリに属するファイ
ルが同名ファイルであるときには、そのファイルに関す
る情報として、そのファイルの同名ファイルの種類を上
記共通ディレクトリに対応して記憶し、上記マウントの
ときに、その共通ディレクトリに属する複数の同名ファ
イルがある場合にそれらの同名ファイルに対して実行す
べき書き込み操作を指定する、上記マウントを要求した
ユーザにより指定された書き込み操作情報をその共通の
ディレクトリに対応して記憶する。
【0035】その共通ディレクトリに属するいずれかの
ファイルに対する書き込み要求が発生したときに、その
共通ディレクトリにマウントされたマウント元のローカ
ルディレクトリが複数あれば、それらのマウント元のロ
ーカルディレクトリに属するファイルの中に、アクセス
要求が指定したファイル名と同じ名称を有する複数の同
名ファイルがあるか否かを、それぞれのファイルに対し
て記憶されたファイルの種類により判別し、複数の同名
のファイルがあれば、その共通ディレクトリに対応して
記憶された上記書き込み操作情報に従って、上記複数の
同名ファイルに対して上記書き込み要求に関連する書き
込み操作を実行する。
【0036】さらに、本発明によるアクセス権限の判別
方法では、マウント先のディレクトリ毎にユーザが指定
したアクセス権限情報を定めることができる。さらに、
マウント元のディレクトリごとに、ユーザが指定したア
クセス権限情報を定めることができる。
【0037】
【発明の実施の形態】以下、本発明の実施の一形態とし
て、本発明に係るマウント方法−統合マウント法を使用
する分散ファイル・システム(「統合ファイル名システ
ム」(Unified Name System−UN
S))を説明する。
【0038】統合ファイル名システムは各計算機により
管理されるローカルファイル名ツリーに登録されたファ
イルをまとめて管理するファイル名ツリーを提供する。
以後、統合ファイル名システムによるファイル名ツリー
を「統合ファイル名ツリー」(Unified Nam
e Tree−UNT)と呼ぶ。統合ファイル名ツリー
は木構造であり、全ユーザに共通である。統合ファイル
名ツリーは、分散計算機システムの各計算機により管理
されるローカルファイル名ツリーに対比して、共通ファ
イル名ツリーと呼ぶことができる。本明細書では、共通
ファイル名ツリーを構成するディレクトリおよびローカ
ルなファイル名ツリーを構成するディレクトリをそれぞ
れ共通ディレクトリおよびローカルディレクトリと呼ぶ
ことができる。したがって統合ファイル名ツリーを構成
するディレクトリも共通ディレクトリと呼ぶことができ
る。
【0039】あるファイル名ツリーに属するディレクト
リを他のファイル名ツリーに属するディレクトリにマウ
ントすることは、マウント元のディレクトリに、マウン
ト先のディレクトリの名称を割り当てる操作を言う。そ
の割り当てに関する情報をマウント先のディレクトリに
対応して記憶されるなどの処理が実行される。
【0040】統合ファイル名システムは統合ファイル名
ツリーを階層的に分割して統合ファイル名ツリーの分散
と多重化を実現する。これによってスケーラビリティと
信頼性の高いファイル名空間を提供することができる。
【0041】以後、統合マウント法によりディレクトリ
を他のディレクトリにマウントすることを「統合マウン
トする」ということがある。同様に、統合マウント法に
よるディレクトリのマウントを「ディレクトリ統合」と
呼び、ディレクトリ統合による同名ファイルのマウント
を「ファイル統合」と呼び、ディレクトリ統合とファイ
ル統合のためのポリシーを「統合ポリシー」と呼び、デ
ィレクトリ統合から得たディレクトリを「統合ディレク
トリ」と呼び、統合ディレクトリに入っているまたはフ
ァイル統合から得たファイルを「統合ファイル」と呼
び、統合ディレクトリと統合ファイルの名前を「統合フ
ァイル名」とと呼ぶことがある。
【0042】図3を用いて、本発明のマウント法による
ディレクトリのマウント手順の概略と特徴をまず説明す
る。図3では、記憶装置20は、分散計算機システム内
の図示しないある計算機に接続された記憶装置であり、
その記憶装置20に対するローカルファイル名ツリーに
は、ローカルディレクトリ“x”21、ファイル“a”
22、ファイル“b”23、サブディレクトリ“z”2
4、ファイル“d”25が登録されていると仮定する。
同様に、図示しない他の計算機に接続された記憶装置3
0に対するローカルファイル名ツリーには、ローカルデ
ィレクトリ“y”31、ファイル“a”32、ファイル
“c”33、サブディレクトリ“z”34、ファイル
“e”35が登録されていると仮定する。統合マウント
法を使って、記憶装置20に対するディレクトリ“x”
21と記憶装置30に対するディレクトリ“y”31
を、統合ファイル名ツリー60上の統合ディレクトリ
“u”61にマウントする。統合ディレクトリ“u”6
1はマウント・ポイントであり、マウントする時に作ら
れる。
【0043】本発明によるマウント方法の利点は以下の
通りである。
【0044】(a)統合ファイル名ツリー内では、複数
の同名ファイルを一つの統合ファイルとして見せること
ができる。しかもすべての同名ファイルを参照すること
ができるようにすることもできる。どのファイルを参照
するかの選択はユーザが予め指定した読み出し操作にし
たがって自動的に決定される。例えば、統合ファイル名
ツリー60の統合ファイル“a”62は記憶装置20内
のファイル“a”22と記憶装置30内のファイル
“a”32の両方を参照することができる。また、この
ような統合ファイルを変更する時に、設定された統合ポ
リシーによる一致制御方法に従って、当該統合ファイル
が参照する同名ファイルを変更する。例えば、統合ファ
イル名ツリー60の統合ファイル“a”62を変更する
時に、まず記憶装置20内のファイル“a”22を変更
する(68’)。ファイル“a”22への変更(6
8’)が全部終わったら、記憶装置30内のファイル
“a”32への一致制御(68”)を行う。このため、
同名ファイルを隠さないで適当なファイルを参照するこ
ともできるし、同名ファイルの一致性を自動的に行うこ
ともできる。
【0045】(b)統合ファイルは、統合ポリシーによ
って、自分の参照するファイルの元々の属性をそのまま
持ち続けるか、或は属性の変更や追加をするかを選択で
きる。例えば、統合ファイル名ツリー60の統合ファイ
ル“b”63が参照する記憶装置20内のファイル
“b”23は変更できる属性があっても、統合ファイル
“b”63は変更できない属性を持つことができる。こ
のときには、統合ファイル名ツリー60からファイル
“b”23を変更することができない。また、統合ファ
イル名ツリー60の統合ファイル“c”64が参考先の
記憶装置30にファイル“c”33の変更できる属性を
継承するとすれば、統合ファイル“c”64を変更する
ことができる(69)。その変更はファイル“c”33
への変更になる(69’)。このように、仕様上の制限
がないで、統合ポリシーを用いてファイルに柔軟なアク
セスを行うことができる。
【0046】(c)ディレクトリマウントは同名サブデ
ィレクトリにも再帰的に行われる。例えば、統合ファイ
ル名ツリー60の統合ディレクトリ“z”65は記憶装
置20にあるディレクトリ“z”24と記憶装置30に
あるディレクトリ“z”34がマウントされる場合、こ
の再帰的なマウントが行われる。このため、マウント・
ポイントにおける統合ディレクトリの全体ツリーをマウ
ントすることができる。
【0047】統合マウント法の統合ポリシーはマウント
・ポイント毎およびマウント対象となるディレクトリ毎
に設定される。統合ディレクトリへのマウント操作やア
クセス操作は設定された統合ポリシーに従って行われ
る。統合ポリシーによりファイルやディレクトリの属性
(例えば、アクセス制限、日付、サイズ等)を変更また
は追加することもできる。このため、柔軟なファイル名
空間を構築することができる。もちろん、統合マウント
法は適当な統合ポリシーを使ってユニオン・マウントを
シミュレートすることができる。
【0048】これらの手段によって上下関係のないディ
レクトリマウントができるようになり、かつ、従来のデ
ィレクトリマウントより高い柔軟性(即ち、各種のディ
レクトリマウント)を達成することができる。
【0049】統合ファイル名システムについて以下に詳
細に説明する。
【0050】(A)統合ファイル名システムのハードウ
ェア構成およびネットワーク接続 図1に、統合ファイル名システムのハードウェア構成を
示す。1台以上の計算機101、102、103、10
4等が、ネットワーク1に接続されている。前記計算機
は、それぞれプロセッサ、主記憶装置、ネットワーク・
インタフェースを有し、計算機内でプログラムを実行し
たり、ネットワーク1を経由して他の計算機と通信する
ことができる。また、計算機103および計算機104
は、記憶装置(主記憶装置の一部、または磁気ディス
ク、光ディスクなどのような補助記憶装置)を有してお
り、計算機103および104上で実行されるプログラ
ムは、それぞれ記憶装置123および124上のデータ
にアクセスすることができる。なお、図1では、統合フ
ァイル名ツリーを管理する計算機として一つの計算機1
01がある場合を示しているが、この数は複数でもよ
い。後述するように、図7に、統合ファイル名ツリーを
管理する計算機が複数である場合の構成を示す。以後の
すべての説明は、統合ファイル名ツリーを管理する計算
機が一つである場合あるいは複数である場合のいずれか
に関して与えられるが、その説明は、統合ファイル名ツ
リーを管理する計算機が複数である場合あるいは一つで
ある場合にもそのままあるいは適宜修正されてあてはめ
ることができる。説明の修正が必要な場合にも、その修
正は自明であるので、とくにその修正については説明を
省略する。
【0051】前記ネットワーク・インタフェースのそれ
ぞれには、一意なネットワーク・アドレス(以下「アド
レス」と略す)を割り当てる。前記アプリケーションプ
ログラム(以下、アプリケーションプログラムを単にア
プリケーションと呼ぶ)112とファイル・サーバ11
3および114、および統合ファイル名結合子(Uni
fied Name Binder−UNB)111の
間の通信などは、このアドレスを用いて、次のように実
現される。すなわち、送信する側が送り先のアドレス
と、送りたいデータを格納している主記憶装置上の領域
を指定して、自分のネットワーク・インタフェースに指
令を送ることにより、ネットワークを経由して、前記送
り先のアドレスを割り当てられたネットワーク・インタ
フェースによって受信され、受信する側で指定した主記
憶装置上の領域に書き込まれる。
【0052】この「各ネットワーク・インタフェースに
一意のアドレスを割り当てたとき、送信側が送り先のア
ドレスを指定することによって、送信したいデータが、
指定したアドレスを割り当てられたネットワーク・イン
タフェースを有する装置に正しく届けられる」という機
能を実現する通信方式についてのより具体的な説明は、
文献W. Richard Stevens, "UNIX Network Programmin
g", Prentice-Hall, pp.171-196に述べられている。本実
施の形態においては、当該通信方式が確立しているもの
とし、本明細書では、当該通信方式についてのこれ以上
の詳細な説明は省略する。
【0053】(B)統合ファイル名システムのソフトウ
ェア構成 図1に、統合ファイル名システムのソフトウェア構成も
示す。統合ファイル名システムは、ファイル・サーバ1
13、114、統合ファイル名結合子111により実現
され、これによりアプリケーション112は統合ファイ
ル名システムを利用することができる。ここで、ファイ
ル・サーバ、統合ファイル名結合子およびアプリケーシ
ョンは、それぞれ独立したプログラムであり、計算機上
で実行される。また、図1では、ファイル・サーバ11
3、114、統合ファイル名結合子111、およびアプ
リケーション112は、それぞれ別の計算機で実行さ
れ、既に述べたようにネットワーク1を経由して互いに
通信することができる。ただし、これらのプログラムの
一部または全部が同じ計算機上で実行されていても何ら
差し支えない。
【0054】図1の計算機102で実行されているアプ
リケーション112は、ファイル・アクセスを行う前
に、アクセスしたいファイルのファイル名を指定する。
本実施の形態では、この時に、統合ファイル名を指定す
ることにより、異なる計算機103、104等の記憶装
置123、124等に分散して格納されているファイル
にアクセスすることができる。
【0055】図1の計算機103、104上では、それ
ぞれファイル・サーバ113および114が実行されて
いる。ファイル・サーバ113および114は、ネット
ワーク1を経由して他の計算機から送信されたファイル
・アクセス要求を受信し、要求に応じて、それぞれ記憶
装置123および124に格納されたファイルに対する
ファイル・アクセスを実行し、結果をネットワーク1を
経由して要求を送信したプログラムに返す。
【0056】図1の計算機101では、統合ファイル名
結合子111が実行されている。統合ファイル名結合子
111は、内部データ構造を用いて、統合ファイル名ツ
リー2の管理と統合ファイル名ツリー2に対するファイ
ル名の解決とを行うプログラムである。
【0057】統合ファイル名ツリー2は、概念的にはク
ライアントが用いる共通のファイルのファイル名をすべ
て含む。ここで、概念的には、ファイル名とは、ディレ
クトリの名称と狭義のファイルの名称を含む。しかし、
統合ファイル名ツリー2を表現する内部データ構造は、
必ずしも共通のファイルのファイル名をすべて含む必要
がない。内部データ構造の量を節約する等の目的で、統
合ファイル名ツリー2の表現に必要最小限のファイル名
のみ登録する方がより望ましい。本実施の形態の統合フ
ァイル名ツリー2の図では、太線は、登録されたファイ
ル名、ここでは具体的には登録されたディレクトリの名
称を表す。細線は、登録されていないが概念的に統合フ
ァイル名ツリー2に含まれるファイル名、具体的には、
狭義のファイルの名称を表す。
【0058】上記内部データ構造については、後に図9
を用いてより詳細に説明する。統合ファイル名の解決と
は、統合ファイル名から、上記統合ファイル名を有する
ファイル実体(複数である場合もありうる)をアクセス
できるファイル・サーバがどれであるか、当該ファイル
・サーバ内のどこに格納されているか、どのようなアク
セス制御をかけられているかなどを示す情報として、フ
ァイル・サーバのアドレスと当該ファイル・サーバ内の
ローカル・パス名とアクセス制御表などを含む情報(こ
のような情報を「結合情報(Bind Informa
tion−BI)」と呼ぶ)を生成することである。
【0059】統合ファイル名結合子111は3つの役割
を果たす。第1に、アプリケーションがある統合ファイ
ル名を指定してファイル・アクセスを行うときに、当該
統合ファイル名を解決した結果得られた結合情報を当該
アプリケーションに通知する。第2に、複数のファイル
が同じ統合ファイル名を有する時、もし当該複数のファ
イルの内容が一致でなければ、当該複数のファイルに対
して一致制御を行う。第3に、新たに他のファイルシス
テムをその統合ファイルシステムにマウントするマウン
ト要求が発行された時に、統合ファイル名ツリー2の内
容を更新し、新しくマウントされた当該他のファイル・
システムを統合ファイル名システムから利用可能にす
る。
【0060】前記3つの統合ファイル名結合子の役割に
つき、より詳細に説明する。前記統合ファイル名結合子
の第1の役割では、アプリケーションがある統合ファイ
ル名を指定してファイル・アクセスを行うときに、当該
統合ファイル名を解決した結果を当該アプリケーション
に通知する。
【0061】例えば図1においてアプリケーション11
2が統合ファイル名“//a/c/g”を有するファイ
ルにアクセスしようとするとき、アプリケーション11
2は統合ファイル名結合子111に当該統合ファイル名
“//a/c/g”を送信する(141)。
【0062】ここで、実際に統合ファイル名結合子11
1に当該統合ファイル名を送信する手続きは、アプリケ
ーションの開発者がアプリケーションにプログラムして
も、あるいはあらかじめ当該手続きをライブラリとして
作成しておき、アプリケーションの開発時または実行時
にアプリケーションに組み込んでもよい。後者の場合、
アプリケーションの開発者は前記ライブラリのサブルー
チンを呼び出すだけで、当該手続きの詳細を知る必要が
ないという利点がある。なお、アプリケーション112
が実行する141以外の手続きにおいても、これは同じ
である。
【0063】アプリケーション112から統合ファイル
名を受信した統合ファイル名結合子111は、自分が管
理している統合ファイル名ツリー2を参照し、受信した
統合ファイル名を解決する。その結果結合情報をアプリ
ケーションに返す(142)。ここで、受信した統合フ
ァイル名を有するファイル実体が複数存在する時は、当
該複数のファイル実体に関する情報をすべて含む結合情
報が、アプリケーション112に返される。図1におい
て、統合ファイル名結合子111の受信した統合ファイ
ル名が“//a/c/g”の時は、アプリケーション1
12にファイル・サーバ113におけるファイル“/u
/c/g”1235とファイル・サーバ114における
ファイル“/x/g”1245の両方の情報を含む結合
情報が返される。
【0064】統合ファイル名結合子111からの応答1
42を受信したアプリケーション112は、受信した結
合情報を参照し、アプリケーションが所望するファイル
・アクセスの種類(読みだし、書き込み、ディレクトリ
の内容のリスト等)に応じ、適切なファイル・サーバに
おけるファイル実体を選択してファイル・アクセスを実
行する(143)。図1の場合のように、アプリケーシ
ョン112が所望するファイル・アクセスの種類によっ
ては、統合ファイル名結合子111から複数のファイル
実体の情報を含む結合情報が返されることがある。この
場合でも、アプリケーション112は、当該複数のファ
イル実体の一部だけを選択してファイル・アクセスを行
うことができる。以上の手順により、統合ファイル名結
合子111を用いて、アプリケーション112は統合フ
ァイル名を指定してファイル・アクセスを行うことがで
きる。
【0065】前記統合ファイル名結合子の第2の役割で
は、複数のファイルが同じ統合ファイル名を有する時、
もし当該複数のファイルの内容が一致でなければ、当該
複数のファイルに対して一致制御を行う。
【0066】例えば図1の場合では、記憶装置124に
ファイル名“/x/g”で格納されているファイル12
45が、記憶装置123にファイル名“/u/c/g”
で格納されているファイル1235の複製であり、両フ
ァイルが同じ統合ファイル名“//a/c/g”を有す
る。ファイル1235がアプリケーション112による
ファイル・アクセス143によって書き換えられた時、
当該ファイル・アクセス143を実行したファイル・サ
ーバ113から、一致制御要求が統合ファイル名結合子
111に送信される(144)。一致制御要求144を
受信した統合ファイル名結合子111は、統合ファイル
名“//a/c/g”を有するファイルが複数あるかど
うかを調べ、もしあれば(図1の場合はファイル123
5と1245)、書き換えられたファイル1245の内
容をファイル・サーバ113を経由して読み出し、ファ
イル・サーバ114を経由してファイル1245に書込
むことにより、ファイル1235と1245の内容を一
致させる(145、146)。
【0067】本実施の形態では、ファイル1235が書
き換えられたことを、一致制御要求144として統合フ
ァイル名結合子111に通知するのは、ファイル・サー
バ113が行っているが、ファイル1235への書込み
を行ったアプリケーション112が一致制御要求144
と同等の通知を統合ファイル名結合子111に送信して
もよい。統合ファイルの一致制御については、後に「統
合ファイル名システムにおける統合ポリシー」を説明す
る時により詳細に説明する。
【0068】統合ファイル名結合子111の第3の役割
では、新たに他のファイルシステムを統合ファイル名シ
ステムにマウントするマウント要求が発行された時に、
統合ファイル名ツリー2の内容を更新し、新しくマウン
トされたファイル・システムを統合ファイル名システム
から利用可能にする。
【0069】例えば図1において、記憶装置123のデ
ィレクトリ“/u”が統合ファイル名ツリー2上の統合
ディレクトリ“//a”に統合マウント(131)され
た状態で、さらに記憶装置124のディレクトリ“/
x”を統合ファイル名ツリー2上の統合ディレクトリ
“//a/c”に統合マウント(133)しようとする
と、当該新たな統合マウント要求を受信した統合ファイ
ル名結合子111は、すでに統合マウントされている統
合ファイル名を調べ、もし統合マウント処理133によ
り、同じ統合ファイル名を有する複数のファイルの実体
が生じるとき(図1ではファイル1235と1245お
よび1234と1244)は、前記統合ファイル名結合
子111の第2の役割にて説明したのと同様の手続きに
より、ファイル1235と1245に対して一致制御を
行う(145、146)。その上で、今後アプリケーシ
ョン112が統合ファイル名ツリー2上の統合ディレク
トリ“//a/c/g”を指定した時は、アプリケーシ
ョン112に返す結合情報として、ファイル・サーバ1
13内のファイル1235の情報だけでなく、ファイル
・サーバ114内のファイル1245の情報も含めるよ
うにする。
【0070】(C)統合ファイル名結合子による統合フ
ァイル名ツリーの構築 図4から図6までは、図1に示した統合ファイル名ツリ
ー2を作成する過程を示す。
【0071】図4は、統合ファイル名ツリー2の初期状
態を示す。本実施の形態では、統合ファイル名ツリー内
のルートディレクトリは“//”で表す。したがって、
この初期状態では統合ファイル名ツリー2には他のディ
レクトリがまだマウントされていないルート統合ディレ
クトリ“//”しかない。
【0072】図5は、図4の空状態の統合ファイル名ツ
リー2に対して2つのディレクトリがマウントされた後
の統合ファイル名ツリー2を示す。
【0073】計算機103上で実行されるファイル・サ
ーバ113は記憶装置123に格納されているローカル
・ファイル・システムを維持している。まず、当該ロー
カル・ファイル・システム上のディレクトリ“/u”1
231が統合ファイル名ツリー2上の統合ディレクトリ
“//a”に統合マウントされる(131)。この結
果、ディレクトリ//aが統合ファイル名ツリー2に登
録され、ローカル・ディレクトリ“/u”1231に参
照する。この結果、統合ファイル名ツリー2上でファイ
ル・サーバ113上のディレクトリ“/u”1231と
その下のディレクトリ群やファイル群をアクセスするこ
とができる。例えば、パス“//a”は“/u”123
1を、“//a/c”は“/u/c”1232を、“/
/a/d”は“/u/d”1233を、“//a/c/
f”は“/u/c/f”1234を、“//a/c/
g”は“/u/c/g”1235をそれぞれ参照する。
【0074】計算機105上で実行されるファイル・サ
ーバ115は記憶装置125に格納されているローカル
・ファイル・システムを維持している。当該ローカル・
ファイル・システム上のディレクトリ“/v”1251
が統合ファイル名ツリー2上の統合ディレクトリ“//
b/e”に統合マウントされる(132)と、ディレク
トリ“//b/e”が統合ファイル名ツリー2に登録さ
れ、ローカル・ディレクトリ“/v”1251に参照す
る。このツリー2上でファイル・サーバ115上の“/
v”1251とその下のディレクトリ群やファイル群を
アクセスすることができる。例えば、パス“//b/
e”は“/v”1251を、“//b/e/i”は“/
v/i”1252を、それぞれ参照する。注意すべきと
ころは、他のディレクトリがマウントされていないディ
レクトリ、例えば、ルートディレクトリ“//”とディ
レクトリ“//b”が存在できることである。本実施の
形態ではこのようなディレクトリも、それらが統合ファ
イル名ツリー2上にある以上、統合ディレクトリと呼
ぶ。
【0075】図6は、図5の状態からもう2つのディレ
クトリがマウントされた統合ファイル名ツリー2の状態
を示す。
【0076】計算機104上で実行されるファイル・サ
ーバ114は記憶装置124に格納されているローカル
・ファイル・システムを維持している。当該ローカル・
ファイル・システム上のディレクトリ“/x”1243
を統合ファイル名ツリー2上のすでに存在する統合ディ
レクトリ“//a/c”に複製ディレクトリとしてマウ
ントすることもできる(133)。このマウントの場合
には、統合ディレクトリ“//a/c”とその下の統合
ディレクトリ群や統合ファイル群は複製としてローカル
・ディレクトリ“/x”1243に丸ごとコピーされ
る。図6の場合は、“//a/c/f”を“/x/f”
1244に、“//a/c/g”を“/x/g”124
5にコピーされる。
【0077】計算機105に新規ファイル・サーバ11
5’が新たに加えられたと仮定する。当該ファイル・サ
ーバ115’は記憶装置125’に格納されているロー
カル・ファイル・システムを維持している。当該ローカ
ル・ファイル・システム上のディレクトリ“/y/z”
1255を統合ファイル名ツリー2上のすでに存在する
統合ディレクトリ“//b/e”に追加して登録される
ようにマウントすることができる(134)。ファイル
・サーバ115上の“/v”1251とファイル・サー
バ115’上の“/y/z”1255が統合ファイル名
ツリー2上の同じ統合ディレクトリ“//b/e”に統
合マウントされる結果として、ディレクトリ“//b/
e”はディレクトリ“/v”1251と“/y/z”1
255とをマウントしたディレクトリとなる。従って、
“//b/e”の下にある“i”と“j”は“/v”1
251の下にある“i”1252と“/y/z”125
5の下にある“j”1256をそれぞれ参照する。
【0078】図6には図示していないが、複数のディレ
クトリが統合マウントされる時に、マウント元のディレ
クトリに属するいずれかのファイルとマウント先のディ
レクトリに属する他のファイルとが同名のファイルであ
れば、それらの同名のファイルに対して一致制御を行
う。統合ファイルの一致制御については、次の「統合フ
ァイル名システムにおける統合ポリシー」節にてより詳
細に説明する。
【0079】(D)統合ファイル名システムにおける統
合ポリシー 統合ファイル名システムにおけるディレクトリ統合を用
いて、記憶装置に分散して格納されている複数のファイ
ルの実体(以後、適宜「記憶装置に格納されたファイル
の実体」を「ファイル」と称する)は一つの統合ファイ
ル名を有することができる。ここでこれらのファイルは
五種類に定義される。
【0080】(a)基本ファイル:統合ファイル名が参
照するファイルが一つしかない場合はそのファイル、複
数ある場合はマウント要求の発行者により指定されたフ
ァイルである。
【0081】(b)複製ファイル:基本ファイルと比べ
て、物理レベルの中身が同じであるファイル、即ち、完
全にコピーされ、同じバイナリ・コードを持っているフ
ァイルである。
【0082】(c)同等ファイル:基本ファイルと比べ
て、物理レベルの中身が違うが論理レベルの中身が同じ
であるファイル、例えば、異種の編集ツールで作った同
じ文章とか、異種機上でコンパイルした同じコマンドの
実行コードなどである。即ち、これらのファイルは、フ
ァイル・フォーマットが違うが、論理的な中身は同じで
あると考えることができる。
【0083】(d)同類ファイル:基本ファイルと比べ
て、物理レベルの中身が違うが論理レベルの中身が同じ
意味を持っているファイル、例えば、違うプログラマに
よる大体同じ仕様を持っているプログラムとか、違う記
者による同じニュースに関するレポートとか、違う言語
に翻訳された文章などである。
【0084】(e)異種ファイル:基本ファイルと比べ
て、物理レベルの中身も論理レベルの中身も意味も全然
違うファイル、即ち、上記の四つの種類の以外のファイ
ルである。
【0085】一つの統合ファイル名に対して上記5つの
種類が混在することができる。
【0086】統合ファイル名システムにおける統合ポリ
シーは、複数のファイルが一つの統合ファイル名を有す
る時に、どの種類のファイルが統合できるかに関する基
準とどのファイルにどのようにアクセスするかの基準を
定める。例えば、次の統合ポリシーが設定できる。
【0087】(a)基本ファイルと複製ファイルと同等
ファイルしか統合できない;(b)基本ファイルだけが
あれば基本ファイルにアクセスする;(c)複製ファイ
ルがあれば一番早くアクセスできたファイルにアクセス
する;(d)同等ファイルがあればクライアント計算機
が認識できるファイルにアクセスする;(e)複製ファ
イルと同等ファイルの両方があれば(c)かつ(d)に
従う。
【0088】複製ファイルのみで構成されるディレクト
リを特に複製ディレクトリと呼ぶ。複製ディレクトリ
は、頻繁に使われるので、これを簡単に指定する方法を
統合ファイル名システムは備える。即ち、あるマウント
先の共通ディレクトリに統合対象となったマウント元の
ローカルディレクトリがマウントされる時に、統合ポリ
シーに当該マウント元のローカルディレクトリが複製デ
ィレクトリであると指定されると、当該マウント元のロ
ーカルディレクトリに当該マウント先の共通ディレクト
リとそのサブディレクトリよりなるサブツリーが複製さ
れる。例えば図1において、マウント要求133が発行
される時に「ファイル・サーバ114上のディレクトリ
“/x”1243が複製ディレクトリであり、基本ファ
イルを複製する」という統合ポリシーが設定されると、
統合ディレクトリ“//a/c”とその下の基本ファイ
ルは自動的にファイル・サーバ114上のディレクトリ
“/x”1243に複製される。
【0089】統合ファイル名システム本実施の形態で
は、統合対象となったマウント元のローカルディレクト
リを統合ファイル名ツリーにあるマウント・ポイントに
あるマウント先の共通ディレクトリにマウントする毎
に、統合ポリシーを設定することが必要となる。マウン
ト毎の統合ポリシーの設定により、統合ファイル名ツリ
ーの使用目的に合わせる種々のサブツリーを作ることが
できる。例えば、後述の読み出し専用(read−on
ly)ポリシーを使えば、統合ファイル名ツリーに読み
出し専用(read−only)サブツリーを作ること
ができる。後述の複製ポリシーを使えば、統合ファイル
名ツリーに複製を持つサブツリーを作ることができる。
【0090】統合ポリシーはマウント先毎とマウント元
毎の二つの部分に分けて設定される。統合ポリシーのマ
ウント先毎の部分の設定は最初のマウント元をマウント
先にマウントする際に行われる。統合ポリシーの内、マ
ウント元毎の部分の設定はマウント元をマウント先にマ
ウントする際に毎回行われる。統合ポリシーの内、マウ
ント先のディレクトリに関する部分は、後に説明する結
合情報ヘッダ413(図9)内に記憶される。統合ポリ
シーの内、マウント元のディレクトリに関する部分は、
後に説明する結合ユニット412,412’、416ま
たは416’(図9)内に記憶される。統合ポリシーに
は次のデータ項目が含まれている。
【0091】1.マウントの許可条件 a.統合できるファイル種類(マウント先毎) この情報は統合ファイル名ツリーのいずれかのディレク
トリがマウント先に指定されたときに、そのマウント先
のディレクトリに対応して記憶される。この情報は、マ
ウント先のディレクトリにあるファイルと同名のファイ
ルがマウント元のディレクトリにある場合に、マウント
を許されるマウント元のファイルの種類として、基本フ
ァイル、複製ファイル、同等ファイル、同類ファイルと
異種ファイルの中からいくつかを指定する。このファイ
ル種類は、後に述べるように、結合情報ヘッダ413
(図11)内の統合ポリシー表4133内に統合ファイ
ル種類4171として記憶される。その記憶された具体
的な内容の例は、図21のビットマップ571に示され
る。
【0092】b.統合する方式(マウント元毎) この情報は、統合ファイル名ツリーのいずれかのディレ
クトリに他のマウント元のディレクトリがマウントされ
たときに、そのマウント先に対応して、かつ、そのマウ
ント元のディレクトリ別に記憶される。この情報は、マ
ウント元のファイルとしてオリジナルか複製かを一つ選
ぶ。オリジナルの場合は、マウント元におけるサブツリ
ーに含まれたファイルの種類、即ち、基本ファイルか複
製ファイルか同等ファイルか同類ファイルか異種ファイ
ルかの一つを指定する。
【0093】統合方式として、オリジナルが指定された
場合には、マウント先がマウントを許すファイルの種類
の中にそのオリジナルと指定されたファイルの種類が含
まれるか否かを判断され、それによりそのマウント元の
ファイルのマウントを許すか否かが決められる。統合方
式として複製が指定された場合には、このマウント元の
ローカルディレクトリは複製ディレクトリとして扱わ
れ、マウント先のディレクトリのファイルの写しがマウ
ント元のローカルファイルに転送される。このファイル
種類は、後に述べるように、結合ユニット412(図1
0)内に統合方式4123として記憶される。その記憶
された具体的な内容の例は、図21のビットマップ57
2に示される。
【0094】2.アクセス制御表 a.マウント先のアクセス制御表(マウント先毎) この表は、いずれかの統合ディレクトリに関するアクセ
ス権限情報を保持する。すなわち、統合ファイル名ツリ
ーのいずれかのディレクトリがマウント先に指定された
ときに、そのディレクトリに関するアクセス権限情報と
して記憶される。この情報は、マウント先のディレクト
リにおけるサブツリーにあるファイルをアクセスする権
限を指定するもので、マウント先ディレクトリ権限情報
と呼ぶことができる。アクセス権限情報としては種々の
ものを使用可能である。例えば、この情報は、ユーザ或
はグループ毎のアクセス権限項目のリストからなる。そ
のアクセス権限項目は、ユーザ或はグループのIDと、
そのユーザ或はグループがそのディレクトリに属するフ
ァイルを書き換える権限及び読み出すことができる権限
の有無のしるしからなる。このアクセス権限情報を使用
するときには、統合ファイル名システムを使用するアプ
リケーションプログラムを起動したユーザのIDまたは
そのユーザが属するグループのIDが使用される。
【0095】マウント要求は、この表の情報として特定
のアクセス権限情報を設定するか、何も設定しないかを
選択する。何も設定しないと全てのユーザがアクセス可
になる。このアクセス制御表はマウント先ディレクトリ
の全サブツリーに作用する。このアクセス制御表は、後
に述べるように、結合情報ヘッダ413(図11)内の
統合ポリシー表4133内にアクセス制限表4172と
して記憶される。
【0096】b.マウント元のアクセス制御表(マウン
ト元毎) この情報は、統合ファイル名ツリーのいずれかのディレ
クトリにマウントされたマウント元のローカルディレク
トリに関するアクセス権限情報である。すなわち、この
情報は、統合ファイル名ツリーのいずれかのディレクト
リに他のマウント元のディレクトリがマウントされたと
きに、そのマウント先に対応して、そのマウント元のデ
ィレクトリに関するアクセス権限情報として記憶され
る。このアクセス制限表は、マウント元のディレクトリ
におけるサブツリーにあるファイルをアクセスする権限
を指定する情報を含み、マウント元ディレクトリアクセ
ス権限情報と呼ぶことができる。この情報の例は、上に
述べて、統合ディレクトリに関するものと同じである。
【0097】マウント要求はこの表に含めるアクセス権
限として特定の情報を指定するか、何も設定しないかを
選択する。何も設定しないと、全てのアクセス元のユー
ザがアクセス可になる。このアクセス制御表はマウント
元ディレクトリの全サブツリーに作用する。このアクセ
ス制限表は、後に述べるように、結合ユニット412
(図10)内にアクセス制限表4124として記憶され
る。
【0098】アクセス要求は、上記2種のアクセス制御
表によるアクセス権限の有無を判断するための情報、た
とえばユーザ或はグループのIDを指定する。そのアク
セス要求が要求するファイルが属する統合ディレクトリ
へのアクセスが許されるか否かが、前述の統合ディレク
トリに関するアクセス制御表により判断される。また、
そのファイルが属するローカルディレクトリへのアクセ
スが許されるか否かは、前述の統合ディレクトリに対す
るアクセスが許された状態で、このローカルディレクト
リに関するアクセス制御表により判断される。結局、こ
のローカルディレクトリへのアクセスが許されるか否か
は両方のアクセス制御表がアクセスを許すときに許され
る。このため、あるファイルまたはディレクトリに対す
るアクセス権限は、そのファイルまたはディレクトリに
おけるマウント先とマウント元により、すなわち、その
ファイルまたはディレクトリが使われた場所により決め
ることができる。
【0099】3.統合ファイルの読み出し操作(マウン
ト先毎) この情報は、統合ファイル名ツリーのいずれかのディレ
クトリがマウント先に指定されたときに、そのディレク
トリに対応して記憶される。この読み出し操作は、マウ
ント先のディレクトリにあるファイルの実体を読み出す
アクセス要求が発生し、アクセス対象のファイルと同名
のファイルが複数あると判明した場合、それらの同名フ
ァイルの内、読み出すべきファイルを選択する方法を指
定することができる。この読み出し操作の例は次のデフ
ォルトポリシーにおいて与えられる。この読み出し操作
情報は、この操作を実現するプログラムへのポインタ
(例えば、プログラム名称、アドレスなど)を保持す
る。この読み出し操作情報は、後に述べるように、結合
情報ヘッダ413(図11)内の統合ポリシー表413
3内に読み出し操作4173として記憶される。
【0100】4.統合ファイルの書き込み操作(マウン
ト先毎) この情報は、統合ファイル名ツリーのいずれかのディレ
クトリがマウント先に指定されたときに、そのディレク
トリに対応して記憶される。この書き込み操作は、マウ
ント先のディレクトリにあるファイルの実体に書き込み
を行うアクセス要求が発生し、アクセス対象のファイル
名を同名のファイルが複数あると判明した場合、それら
の同名ファイルの内、書き込むべきファイルを選択する
方法を指定することができる。一般には基本ファイルに
対して、書き込み要求を実行するが、基本ファイル以外
の同名のファイルに対しては、その内容を基本ファイル
と一致させるための処理(一致制御)を行う。この書き
込み操作情報の例は次のデフォールトポリシーにおいて
与えられる。この書き込み操作情報は、この操作を実現
するプログラムへのポインタ(例えば、プログラム名
称、アドレスなど)を保持する。この情報は、後に述べ
るように、結合情報ヘッダ413(図11)内の統合ポ
リシー表4133内に書き込み操作4174として記憶
される。
【0101】以下はいくつかの典型的な統合ポリシーを
挙げる。
【0102】(1)デフォルト・ポリシー 1.マウントの許可条件 a.統合できるファイル種類 基本ファイルと複製ファイルと同等ファイルしか統合で
きない。
【0103】b.統合する方式 オリジナルである。ファイル種類はマウント要求の発行
者により指定される。
【0104】2.アクセス制御表 a.マウント先のアクセス制御表 何も設定しない。
【0105】b.マウント元のアクセス制御表 何も設定しない。
【0106】3.統合ファイルの読み出し操作 a.基本ファイルだけが存在すれば、基本ファイルを読
み出す。
【0107】b.複製ファイルが存在すれば、一番早く
取れるファイルを読み出す。
【0108】c.同等ファイルが存在すれば、クライア
ント計算機が認識できるファイルを読み出す。このよう
なファイルが複数あればその中に一番早く取れるファイ
ルを読み出す。
【0109】d.同類ファイルが存在すれば、ユーザが
読める或は好きなファイルを読み出す。このようなファ
イルが複数あればその中に一番早く取れるファイルを読
み出す。
【0110】e.上記の四種類のファイルが混在すれ
ば、上記のbかつcかつdに従う。
【0111】f.上記の四種類のファイルが存在しなけ
れば、「ファイルが存在しない」というエラーを返す。
【0112】4.統合ファイルの書き込み操作 a.基本ファイルだけが存在すれば、基本ファイルに書
き込む。基本ファイル以外の同名ファイルが存在すれ
ば、以下のようにして一致制御を実行する。
【0113】b.複製ファイルが存在すれば、まず基本
ファイルに書き込む。基本ファイルをクローズした時、
更新した基本ファイルをすべての複製ファイルにコピー
する。
【0114】c.同等ファイルが存在すれば、まず基本
ファイルに書き込む。基本ファイルをクローズした時、
更新した基本ファイルをすべての同等ファイルに変換す
る。
【0115】d.同類ファイルが存在すれば、まず基本
ファイルに書き込む。基本ファイルをクローズした時、
更新した基本ファイルをすべての同類ファイルに変換す
る。
【0116】e.上記の四種類のファイルが混在すれ
ば、上記のbかつcかつdに従う。
【0117】f.上記の四種類のファイルが存在しなけ
れば、新規基本ファイルを作る。
【0118】デフォルト・ポリシーを少し変更すれば次
のようなポリシーを作ることができる。
【0119】(2)read−onlyポリシー 1.マウントの許可条件 デフォルト・ポリシーと同じである。
【0120】2.アクセス制御表 a.マウント先のアクセス制御表 read−onlyである。従って、マウント先におけ
るサブツリーに入った全てのディレクトリとファイルを
読み出すことしかない。
【0121】b.マウント元のアクセス制御表 何も設定しない。
【0122】3.統合ファイルの読み出し操作 デフォルト・ポリシーと同じである。
【0123】4.統合ファイルの書き込み操作 禁止される。
【0124】(3)複製ポリシー 1.マウントの可否判断 a.統合できるファイル種類 基本ファイルと複製ファイルしか統合できない。
【0125】b.統合する方式 複製である。マウント元が空であれば、マウント先に含
まれた基本ファイルとサブディレクトリを全部に当該マ
ウント元の下にそのままコピーする;空でなければ、
「複製ディレクトリとして使えない」というエラーを返
す。
【0126】2.アクセス制御表 マウント元およびマウント先の両方に関してデフォルト
・ポリシーと同じである。
【0127】3.統合ファイルの読み出し操作 デフォルト・ポリシーと同じである。
【0128】4.統合ファイルの書き込み操作 デフォルト・ポリシーと同じである。
【0129】よく使われる統合ポリシーを指定する情報
を含む設定ファイルを事前に用意して、マウントする時
にこの設定ファイルを指定する方法を採れば、簡単に統
合ポリシーを設定することができる。または、設定ファ
イルが用意されていない統合ポリシーを使用するときに
は、マウント時に必要なデータ項目をそれぞれ入力する
か、或は内容が近い統合ポリシーに対して準備された設
定ファイルがあるときには、その設定ファイルに対して
修正、追加、削除等の編集を行うことにより、所望の統
合ポリシー用の設定ファイルを簡単に作成できる。統合
ポリシーを支持する各種のプログラムが必要である。こ
れらのプログラムの追加や変更や削除により、支持され
使える統合ポリシーが変わる。
【0130】(E)複数の統合ファイル名結合子による
統合ファイル名ツリーの分割管理 これまでは統合ファイル名結合子は分散計算機環境内に
ただ1つ存在し、当該統合ファイル名結合子が統合ファ
イル名ツリーを構築するとしてきたが、統合ファイル名
結合子を分散計算機環境内に複数設け、1つの統合ファ
イル名ツリーを当該複数の統合ファイル名結合子で分担
させることも可能である。1つの統合ファイル名結合子
に統合ファイル名ツリー全体の管理のためのデータやア
プリケーション等からの通信が集中すると、統合ファイ
ル名結合子の実行性能が低下する。しかし、統合ファイ
ル名結合子を分散計算機環境内に複数設けると、この性
能低下を防止できる。また、計算機の障害等によりいず
れかの統合ファイル名結合子が正常に動作しない場合で
も分散ファイルシステムとしての機能を維持し続けるこ
とができる。
【0131】図7に1つの統合ファイル名ツリーを複数
の統合ファイル名結合子によって構築する場合の一例を
示す。計算機201、201’、202、203、20
4がネットワーク1に接続されており、各計算機では統
合ファイル名結合子211、211’、212、21
3、214がそれぞれ実行されている。ここで、統合フ
ァイル名ツリー2が階層的に4つの領域221、22
2、223、224に分割され(分割された統合ファイ
ル名ツリーの1つ1つを「領域」と呼ぶ)、それぞれの
領域を1つ以上の統合ファイル名結合子が管理する。図
7では、統合ファイル名結合子211および統合ファイ
ル名結合子211’が共に領域221を、統合ファイル
名結合子212が領域222を、統合ファイル名結合子
213が領域223を、統合ファイル名結合子214が
領域224を管理している。また、それぞれの統合ファ
イル名結合子は自分の管理している領域に関する情報を
格納する結合情報データ構造(Bind Inform
ation DataBase−BIDB)を持ってい
る。図7では、統合ファイル名結合子211が結合情報
データ構造231を、統合ファイル名結合子211’が
結合情報データ構造231’を、統合ファイル名結合子
212が結合情報データ構造232を、統合ファイル名
結合子213が結合情報データ構造233を、統合ファ
イル名結合子214が結合情報データ構造234を持っ
ている。
【0132】図7の統合ファイル名ツリー2を利用して
ファイルにアクセスしようとするアプリケーション(図
7には図示していない)は、まず自分の知っている統合
ファイル名結合子(ここでは統合ファイル名結合子21
3とする)に、図1の141と同様に統合ファイル名
“//a/c/g”を指定して要求を送信する。
【0133】前記要求を受信した統合ファイル名結合子
213は、指定された統合ファイル名が自分の管理する
領域の中にあるかどうか調べ、なければ別の統合ファイ
ル名結合子を選び、その統合ファイル名結合子に前記ア
プリケーションからの要求を転送する。ここでは、アプ
リケーションの指定した統合ファイル名が“//a/c
/g”であり、領域223外にあるので、別の統合ファ
イル名結合子に要求が転送される。統合ファイル名“/
/a/c/g ”が領域223の子領域(ここで、領域
224)にも入っていないため、領域223の親領域
(ここで、領域221)から統合ファイル名“//a/
c/g ”の入っている領域を探す。要求の転送先とし
ては、領域221を担当している統合ファイル名結合子
211または統合ファイル名結合子211’のいずれか
一方が選ばれる。ここで、前記2つの統合ファイル名結
合子の内どちらか選ばれるかは、過去に当該アプリケー
ションが利用した方を利用する方法、あるいは両方に要
求を送信し、先に応答の返ってきた方を利用する方法な
どにより決められる。ここでは統合ファイル名結合子2
11が選ばれたものとする。
【0134】要求を転送された統合ファイル名結合子2
11も、同様に指定された統合ファイル名が自分の管理
する領域221の中にあるかどうか調べる。ここでは、
統合ファイル名“//a/c/g ”は領域221にな
いが、その一部である“//a”を有する領域221の
子領域222に入っている可能性がある。従って領域2
22を管理する統合ファイル名結合子212が選ばれ
る。
【0135】要求を転送された統合ファイル名結合子2
12も、同様に指定された統合ファイル名が自分の管理
する領域222内にあるかどうか調べる。当該統合ファ
イル名“//a/c/g ”は領域222内に存在する
ので、統合ファイル名結合子212は次に自分の保持し
ているデータを参照して、図1の142と同じく該当す
る統合ファイルの結合情報を前記要求を送信してきたア
プリケーションに返す。
【0136】もしアプリケーションが、過去の履歴等に
より、自分が所望の統合ファイル名“//a/c/g
”の存在する領域222を知っている場合は、上記の
手順を踏まずに、直接統合ファイル名結合子212に図
1の141と同様の要求を送信することができる。これ
により、領域221を管理する統合ファイル名結合子2
11、統合ファイル名結合子211’などにかかる処理
負荷をさらに低減することが可能である。
【0137】本実施の形態では、以上の手順により、統
合ファイル名ツリー2を複数の統合ファイル名結合子で
分割して管理させた場合でも、図1の場合と同じように
統合ファイル名ツリーを利用してアプリケーションから
ファイルにアクセスできるようにすることが可能であ
る。しかも、統合ファイル名ツリーを分割して複数の統
合ファイル名結合子で管理することにより、管理データ
や通信の1つの統合ファイル名結合子への集中による統
合ファイル名結合子の実効性能低下を防ぐことができ
る。さらに、新しく領域を追加したり、領域内のファイ
ル名ツリーを変更したりといった操作も、当該領域を管
理する統合ファイル名結合子に対してのみ行えばよいた
め、統合ファイル名ツリー2の構成変更も非常に容易で
ある。
【0138】また、本実施の形態では、複数の統合ファ
イル名結合子が1つの領域を管理するようにすることが
できる。このため、当該複数の統合ファイル名結合子の
どれか1つが実行されている計算機に障害が発生した場
合などでも、アプリケーションから統合ファイル名ツリ
ー2を引き続き利用することができる。
【0139】(F)統合ファイル名結合子のデータ構造 既に述べたように、統合ファイル名ツリーは、統合ファ
イル名結合子が保持しているデータ構造により管理され
ている。ここでは、当該データ構造につき、より詳細に
説明する。
【0140】図8は、アプリケーション、統合ファイル
名結合子、およびファイル・サーバの各プログラムの相
互作用により、アプリケーションが統合ファイル名ツリ
ーを利用してファイルにアクセスしている様子を示した
ものである。図8には図示していないが、これらのプロ
グラムが動作し、また互いに通信するためのハードウェ
ア構成は、すでに図1を用いて説明した構成と同様であ
る。
【0141】アプリケーション312は、統合ファイル
名結合子リスト320を保持している。統合ファイル名
結合子リスト320は、1つ以上の統合ファイル名結合
子のアドレスを格納したテーブルである。アプリケーシ
ョン312は、統合ファイル名結合子に要求341を出
す際に、統合ファイル名結合子リスト320に記載のア
ドレスに要求を送信する。統合ファイル名結合子リスト
320に記載のアドレスが複数ある時は、どれか1つを
選んで要求を送信してもよく、また1つ以上の統合ファ
イル名結合子に同時に要求を送信することもできる。要
求341は、統合ファイル名と、アプリケーション31
2のアドレス、およびアプリケーションが所望のマウン
ト操作或はアクセス種類(読み込みのみ、書き込みな
ど)からなる。
【0142】統合ファイル名結合子311は、結合情報
データ構造4を保持する。結合情報データ構造は、統合
ファイル名結合子内に1つづつ設けられ、当該統合ファ
イル名結合子の管理する領域に関する情報がすべて格納
される。なお、以下説明する結合情報データ構造311
の内容は、統合ファイル名ツリー2を分割して統合ファ
イル名結合子311とともに管理する統合ファイル名結
合子311’等の結合情報データ構造でも同様である。
結合情報データ構造311は、1つ以上の結合情報41
1、411’等と、1つ以上の結合子位置(Binde
r Location−BL)421、421’等を含
んでいる。結合情報データ構造については、後に図9を
用いてより詳細に説明する。
【0143】結合情報411は、図11を用いて後述す
るが、ある統合ファイル名を有するファイルの実体32
1、321’が格納されたファイル・サーバ313、3
13’のアドレスおよびファイル・サーバ内のローカル
・パス名などを管理している。要求341を送信したア
プリケーション312には、この結合情報411のコピ
ーが応答として返される(342)。結合情報411
は、1つ以上の結合ユニット(Bind Unit−B
U)412、412’等を含んでいる。1つの結合ユニ
ットは、マウント・ポイントに1つのディレクトリの実
体に関する情報(ファイル・サーバのアドレス、ファイ
ル・サーバ内のローカル・パス名、アクセス制御など)
を含んでいる。結合ユニットのより詳細な内容について
は、図10を用いて後述する。図8では、結合ユニット
412が、ファイル・サーバ313のアドレスを、結合
ユニット412’が、別のファイル・サーバ313’の
アドレスを含んでいる。1つの結合情報が複数の結合ユ
ニットを含んでいるときは、同じ統合ファイル名を持つ
ディレクトリの実体が、複数存在することを意味する。
なお、以上の説明は、結合情報411’等でも同様であ
る。
【0144】結合子位置421は、要求341に含まれ
る統合ファイル名が、統合ファイル名結合子311の管
理する領域内に存在しないときに、既に述べたように他
の統合ファイル名結合子311’等に要求を転送(34
1’)するため、統合ファイル名結合子311によって
参照される(結合子位置421’等でも同様である)。
結合子位置421は、ある1つの領域を管理する統合フ
ァイル名結合子のアドレスを含んでいる。当該領域を管
理する統合ファイル名結合子が(前記したように)複数
ある時は、結合子位置421に複数の統合ファイル名結
合子のアドレスが含まれる。図8では、結合子位置42
1が統合ファイル名結合子311’のアドレスを含んで
おり、統合ファイル名結合子311は結合子位置421
を参照して統合ファイル名結合子311’に要求を転送
(341’)している。要求を転送された統合ファイル
名結合子311’は、統合ファイル名結合子311と同
様に結合情報データ構造を保持し、その内容として結合
情報と結合子位置を含んでいる。統合ファイル名結合子
311’は、結合情報411”が要求341’に含まれ
ている統合ファイル名に対応するときは、結合情報41
1”の内容のコピーをアプリケーション312に返す
(342’)。この時、要求341’に記載された、ア
プリケーション312のアドレスが参照される。
【0145】応答342(または342’)によって、
結合情報411(または411”)のコピーを受信した
アプリケーション312は、当該結合情報の内容を参照
し、適切なファイル・サーバ(図8ではファイル・サー
バ313)を選択し、当該ファイル・サーバとの間でフ
ァイル・アクセス343、344を行う。
【0146】図9は、結合情報データ構造の詳細な内容
を示す。結合情報データ構造4は2つの部分からなる。
第1部分は、マウント先(即ち、統合ファイル名ツリー
におけるマウント・ポイント)に関する情報を保持する
結合情報411、411’等と複数の結合情報をまとめ
る結合情報テーブル410である。第2部分は、親領
域、現在領域、子領域それぞれの統合ファイル名結合子
位置情報を保持する結合子位置テーブル422、42
2’等と複数の結合子位置テーブルをまとめる領域テー
ブル420である。結合情報データ構造ヘッダ400は
結合情報テーブル410へのポインタ401と領域テー
ブル420へのポインタ402を保持している。
【0147】結合情報411は1つのマウント先に関す
る情報を保持する。結合情報411は次の情報を含む。
第1は、当該マウント先の統合ファイル名4131であ
る。第2は、マウント元に関する情報を保持する結合ユ
ニット412、412’等と複数の結合ユニットをまと
める結合ユニットテーブル414である。第3は、当該
マウント先における統合ポリシー表4133である。第
4は、当該マウント先における一致制御表4134であ
る。結合情報ヘッダ413は上記の情報の実体413
1、4133、4134と情報の実体へのポインタ41
32を保持する。なお、以上の説明は、結合情報41
1’等でも同様である。
【0148】結合ユニット412は、1つのマウント元
に関する情報を保持する。この情報によってマウント元
へのアクセスが可能である。図10に示すように、結合
ユニット412は次の情報を含む。第1は、当該マウン
ト元のファイル・サーバのアドレス4121である。第
2は、当該マウント元の、当該ファイル・サーバ内での
ローカル・パス名4122である。第3は、当該マウン
ト元が、オリジナル・ディレクトリか複製ディレクトリ
かを示す統合方式4123である。第4は、当該マウン
ト元におけるディレクトリやファイルに対するアクセス
制御表4124である。第5は、当該マウント元の他の
各種属性4125(サイズ、タイム・スタンプ、ファイ
ル・サーバ種類、およびファイル種類など)である。な
お、以上の説明は、結合ユニット412’等でも同様で
ある。
【0149】上記の統合ポリシー表4133は、前記マ
ウント先に対する次の設定を含む(図11に示す)。第
1は、当該マウント先の統合ファイル種類4171であ
る。第2は、当該マウント先における統合ディレクトリ
や統合ファイルに対するアクセス制御表4172であ
る。第3は、当該マウント先における統合ファイルの読
み出し操作4173である。第4は、当該マウント先に
おける統合ファイルの書き込み操作4174である。こ
れらの情報仕方については「統合ファイル名システムに
おける統合ポリシー」節に記載した。
【0150】上記の一致制御表4134は、統合ファイ
ル名結合子の一貫性保持機構で用いられる。当該一致制
御表4134は、前記マウント先について次の情報を含
む(図11に示す)。第1は、現時点での統合ファイル
の一貫性の状態を示す一致状態4181である。第2
は、一貫性がとられていない時間に許容範囲の最大値を
示す許容不一致時間4182である。第3は、複数のマ
ウント元のうち、一貫性がとられていないディレクトリ
またはファイルの実体に関する情報を記録する結合ユニ
ット416、416’をまとめる不一致リスト415へ
のポインター4183である。
【0151】結合子位置テーブル422、422’等
は、親領域、現在領域と複数の子領域に1つづつ設けら
れ、当該領域と当該領域に対応づけられる統合ファイル
名結合子との対応関係を保持する。ここで、結合子位置
テーブル422は1つ以上の結合子位置421、42
1’等を保持する。即ち、親領域に1つ以上の統合ファ
イル名結合子が対応づけられる。結合子位置421、4
21’等は、統合ファイル名結合子が動作する計算機の
アドレスと当該計算機内での当該統合ファイル名結合子
のID番号を含む。結合子位置テーブル422’等も結
合子位置テーブル422と同様なデータ構造を持つ。
【0152】親領域の結合子位置テーブルまたは子領域
の結合子位置テーブルをみることで、ある統合ファイル
名を解決する際に次にアクセスすべき統合ファイル名結
合子がわかる。アプリケーション側の計算機は、結合子
位置テーブルに保持される統合ファイル名結合子のうち
どれか1つに統合ファイル名の解決の要求を送ればよ
い。この自由度は、以下の利点がある。第1に、統合フ
ァイル名の解決の処理コストを低減するための動的な最
適化が可能である。例えば、アプリケーション側の計算
機が、当該計算機からもっとも近い統合ファイル名結合
子を記憶しておき、当該統合ファイル名結合子を用いる
ことを指定することができる。第2に、1つの統合ファ
イル名結合子が故障によって動作しなくなった場合、別
の統合ファイル名結合子に切り替えることができる。第
3に、統合ファイル名の解決にかかる負荷を、複数の統
合ファイル名結合子を使うことで分散することができ
る。なお、現在領域の結合子位置テーブルは、結合情報
データ構造の複製の一貫性を保つために用いられる。
【0153】図12から図15までは、図6と図7に示
した例を用いる場合、複数の領域221、222、22
3、224に階層的に分散された結合情報データ構造2
31、231’、232、233、234の具体的な構
造と内容を示す。
【0154】図12は、領域名“//”である領域(即
ちルート領域)221の結合情報データ構造231とそ
の複製231’を示す。当該結合情報データ構造231
と231’の結合情報データ構造ヘッダ240は結合情
報テーブル2410へのポインタ241と領域テーブル
2420へのポインタ242を持つ。当該領域221に
マウント・ポイントが存在しないので、当該結合情報デ
ータ構造231と231’の結合情報テーブル2410
は空2411である。
【0155】当該結合情報データ構造231と231’
の領域テーブル2420に関しては、以下の通りであ
る。第1に、当該領域221がルート領域なので、親領
域は存在しない。従って親領域名は空2421であり、
親領域の結合子位置テーブルへのポインタも空2422
である。第2に、現在領域が当該領域221なので、現
在領域名は当該領域221名“//”2423である。
当該領域221の統合ファイル名結合子が2つの計算機
201、201’に二重化される統合ファイル名結合子
211、211’なので、ポインタ2424に指された
現在領域221の結合子位置テーブル243は2つの結
合子位置を保持する。当該2つの結合子位置はそれぞれ
統合ファイル名結合子211、211’のアドレス24
30、2430’である。統合ファイル名結合子211
のアドレス2430は計算機201のアドレス2431
と統合ファイル名結合子211のID番号2432から
なる。統合ファイル名結合子211’のアドレス243
0’は計算機201’のアドレス2431’と統合ファ
イル名結合子211’のID番号2432’からなる。
第3に、当該領域221の子領域が領域222と領域2
23なので、子領域名はそれぞれ“//a”245と
“//b”247である。子領域222の統合ファイル
名結合子212が計算機202で稼働されるので、ポイ
ンタ2426に指された当該子領域222の結合子位置
テーブル244には統合ファイル名結合子212のアド
レス2440が入っている。子領域223の統合ファイ
ル名結合子213が計算機203で稼働されるので、ポ
インタ2428に指された当該子領域223の結合子位
置テーブル245には統合ファイル名結合子213のア
ドレスが入っている。
【0156】図13は、領域名“//a”である領域2
22の結合情報データ構造232を示す。当該結合情報
データ構造232の結合情報データ構造ヘッダ250は
結合情報テーブルへ2510のポインタ251と領域テ
ーブル2520へのポインタ252を持つ。当該領域2
22にマウント・ポイントが“//a”と“//a/
c”なので、当該結合情報データ構造232の結合情報
テーブル2510にはマウント先“//a”の結合情報
253へのポインタ2511とマウント先“//a/
c”の結合情報254Bへのポインタ2512が入って
いる。
【0157】マウント先“//a”の結合情報253の
結合情報ヘッダ2530は、当該結合情報253の統合
ファイル名“//a”2531、結合ユニットテーブル
2535へのポインタ2532、統合ポリシー表253
3と一致制御表2534からなる。ファイル・サーバ1
13におけるローカル・ディレクトリ“/u”1231
が統合ファイル名“//a”に統合マウントされたの
で、当該結合情報253の結合ユニットテーブル253
5にはマウント元“/u”1231の結合ユニット25
50へのポインタ2536が入っている。マウント元
“/u”1231の結合ユニット2550は、ファイル
・サーバ113のアドレス2551、ローカル・パス名
“/u”2552、「オリジナル」である統合方式25
53、マウント元“/u”1231のためのアクセス制
御2554と各種属性2555を保持する。
【0158】マウント先“//a/c”の結合情報25
4の結合情報ヘッダ2540は、当該結合情報254の
統合ファイル名“//a/c”2541、結合ユニット
テーブル2545へのポインタ2542、統合ポリシー
表2543と一致制御表2544からなる。ファイル・
サーバ113におけるローカル・ディレクトリ“/u/
c”1232が「オリジナル」として、ファイル・サー
バ114におけるローカル・ディレクトリ“/x”12
43が「複製」として、統合ファイル名“//a/c”
に統合マウントされたので、当該結合情報254の結合
ユニットテーブル2545にはマウント元“/u/c”
1232の結合ユニット2560へのポインタ2546
とマウント元“/x”1243の結合ユニット2570
へのポインタ2547が入っている。マウント元“/u
/c”1232の結合ユニット2560は、ファイル・
サーバ113のアドレス2561、ローカル・パス名
“/u/c”2562、「オリジナル」である統合方式
2563、マウント元“/u/c”1232のためのア
クセス制御2564と各種属性2565を保持する。マ
ウント元“/x”1243の結合ユニット2570は、
ファイル・サーバ114のアドレス2571、ローカル
・パス名“/x”2572、「複製」である統合方式2
573、マウント元“/x”1243のためのアクセス
制御2574と各種属性2575を保持する。
【0159】複製ディレクトリが存在する場合として、
マウント先“//a/c”の結合情報254にある一致
制御表2544は以下の通りである。第1に、現在の一
致状態は「一致」25441である。第2に、許容不一
致時間は10秒25442である。第3に、現在の一致
状態が「一致」であるから、不一致リストが存在しな
い。不一致リストへのポインタは空25443である。
【0160】結合情報データ構造232の領域テーブル
252に関しては、以下の通りである。第1に、親領域
がルート領域221なので、親領域名は“//”252
1である。親領域221の統合ファイル名結合子が2つ
の計算機201、201’に二重化される統合ファイル
名結合子211、211’なので、ポインタ2522に
指された親領域221の結合子位置テーブル258は2
つの結合子位置を持つ。当該2つの結合子位置はそれぞ
れ統合ファイル名結合子211、211’のアドレス2
580、2580’である。第2に、現在領域が当該領
域222なので、現在領域名は当該領域222名“//
a”2523である。現在領域222の統合ファイル名
結合子212が計算機202で稼働されるので、ポイン
タ2524に指された現在領域222の結合子位置テー
ブル259には統合ファイル名結合子212のアドレス
2590が入っている。第3に、当該領域222の子領
域が存在しないので、子領域名は空2525であり、子
領域の結合子位置テーブルへのポインタも空2526で
ある。
【0161】図14は、領域名“//b”である領域2
23の結合情報データ構造233を示す。当該結合情報
データ構造233の結合情報データ構造ヘッダ260は
結合情報テーブル2610へのポインタ261と領域テ
ーブル2620へのポインタ262を持つ。当該領域2
23にマウント・ポイントが存在しないので、当該結合
情報データ構造233の結合情報テーブル2610は空
2611である。
【0162】結合情報データ構造233の領域テーブル
2620に関しては、以下の通りである。第1に、親領
域がルート領域221なので、親領域名は“//”26
21である。親領域221の統合ファイル名結合子が2
つの計算機201、201’に二重化される統合ファイ
ル名結合子212、212A’なので、ポインタ262
2に指された親領域221の結合子位置テーブル263
は2つの結合子位置を持つ。当該2つの結合子位置はそ
れぞれ統合ファイル名結合子211、211’のアドレ
ス2630、2630’である。第2に、現在領域が当
該領域223なので、現在領域名は当該領域223名
“//b”2623である。現在領域223の統合ファ
イル名結合子213が計算機130Cで稼働されるの
で、ポインタ2624に指された現在領域223の結合
子位置テーブル264には統合ファイル名結合子213
のアドレス2640が入っている。第3に、当該領域2
23の子領域が領域224なので、子領域名は“//b
/e”2625である。子領域224の統合ファイル名
結合子214が計算機204で稼働されるので、ポイン
タ2626に指された子領域224の結合子位置テーブ
ル265には統合ファイル名結合子214のアドレス2
650が入っている。
【0163】図15は、領域名“//b/e”である領
域224の結合情報データ構造234を示す。当該結合
情報データ構造234の結合情報データ構造ヘッダ27
0はBNIテーブル2710へのポインタ271と領域
テーブル2720へのポインタ272を持つ。当該領域
224にマウント・ポイントが“//b/e”なので、
当該結合情報データ構造234の結合情報テーブル27
10にはマウント先“//b/e”の結合情報273へ
のポインタ2711が入っている。
【0164】マウント先“//b/e”の結合情報27
3の結合情報ヘッダ2730は、当該結合情報273の
統合ファイル名“//b/e”2731、結合ユニット
テーブル2735へのポインタ2732、統合ポリシー
表2733と一致制御表2734からなる。ファイル・
サーバ115におけるローカル・ディレクトリ“/v”
1251とファイル・サーバ115’におけるローカル
・ディレクトリ“/y/z”1255とも「オリジナ
ル」として、マウント先“//b/e”に統合マウント
されたので、当該結合情報273の結合ユニットテーブ
ル2735にはマウント元“/v”1251の結合ユニ
ット2740へのポインタ2736とマウント元“/y
/z”1255の結合ユニット2750へのポインタ2
737が入っている。マウント元“/v”1251の結
合ユニット2740は、ファイル・サーバ115のアド
レス2741、ローカル・パス名“/v”2742、
「オリジナル」である統合方式2743、マウント元
“/v”1251のためのアクセス制御2744と各種
属性2745を保持する。マウント元“/y/z”12
55の結合ユニット2750は、ファイル・サーバ11
5’のアドレス2751、ローカル・パス名“/y/
z”2752、「オリジナル」である統合方式275
3、マウント元“/y/z”1255のためのアクセス
制御2754と各種属性2755を保持する。
【0165】結合情報データ構造234の領域テーブル
272に関しては、以下の通りである。第1に、親領域
が領域223なので、親領域名は“//b”2721で
ある。親領域223の統合ファイル名結合子213が計
算機203で稼働されるので、ポインタ2722に指さ
れた親領域223の結合子位置テーブル276には統合
ファイル名結合子213のアドレス2760が入ってい
る。第2に、現在領域が当該領域224なので、現在領
域名は“//b/e”2723である。現在領域224
の統合ファイル名結合子214が計算機204で稼働さ
れるので、ポインタ2724に指された現在領域224
の結合子位置テーブル277には統合ファイル名結合子
214のアドレス2770が入っている。第3に、当該
領域224の子領域が存在しないので、子領域名は空2
725であり、子領域の結合子位置テーブルへのポイン
タも空2726である。
【0166】(G)統合ファイル名ツリーにアクセス時
の統合ファイル名システムの内部動作 図16のフローチャートを用いて、図8を参照しなが
ら、エンド・ユーザがアプリケーション・プログラムを
使って、統合ファイル名ツリーをアクセスする時の統合
ファイル名システムの内部動作を説明する。
【0167】第1のフェーズ(アプリケーション側):
ユーザ操作によりアプリケーション312が、ディレク
トリまたはファイルへのアクセスを要求した際、アクセ
ス要求が指定した要求ファイル名を取り出し(51
1)、統合ファイル名であるか、即ち要求ファイル名が
“//”で始まるか否かを検査する(512)。統合フ
ァイル名であれば、この要求341は統合ファイル名ツ
リーに向けたものであるので、当該アプリケーション3
12は、統合ファイル名結合子リスト320に記載した
適当な統合ファイル名結合子311に当該要求341を
送信して(514)から、統合ファイル名結合子からの
応答を待つ(515)。当該要求341には次のデータ
が入っている:統合ファイル名、アクセス種類と当該ア
プリケーション312に戻るアドレス。統合ファイル名
でなければ、当該ディレクトリまたはファイルは当該ア
プリケーション312の動作する計算機上のファイルで
あるので、当該アプリケーション312はそれ自身が動
作する計算機上のローカル・ファイル・システムにアク
セスする(513)。
【0168】統合ファイル名結合子リストに記載の統合
ファイル名結合子に要求を送信するステップ514で
は、統合ファイル名結合子リスト320から何らかのア
ルゴリズムを用いて統合ファイル名結合子が選択され
る。もし統合ファイル名結合子リスト320が空なら、
エラー「統合ファイル名結合子が指定されていない」が
返される、そうでなければ、上記要求341は候補であ
る統合ファイル名結合子に送信される。もし候補である
統合ファイル名結合子への送信に失敗し、失敗理由がネ
ットワークまたは候補である統合ファイル名結合子の故
障であるなら、統合ファイル名結合子リスト320上、
次の統合ファイル名結合子があるかどうか調べる。ここ
でもし、次の統合ファイル名結合子が存在すれば、当該
次の統合ファイル名結合子を候補である統合ファイル名
結合子とし、上記要求341は候補である統合ファイル
名結合子に送信される。このように、送信成功または統
合ファイル名結合子リスト320の中のすべての統合フ
ァイル名結合子に送信失敗まで繰り返す。失敗した場
合、エラー「すべての統合ファイル名結合子が使用でき
ない」が返される。
【0169】第2のフェーズ(統合ファイル名結合子
側):上記統合ファイル名結合子311は、アプリケー
ションからの要求を待つ(531)状態で、上記アプリ
ケーション312からの要求341を受けると、当該要
求341により指定された統合ファイル名とその統合フ
ァイル名結合子311自身が動作する計算機上の結合情
報データ構造の中にある領域テーブルの現在領域名とを
比較(532)することにより、当該統合ファイル名が
現在領域内であるかどうかを検査する(533)。
【0170】当該統合ファイル名が現在領域にあれば、
当該統合ファイル名結合子311は結合情報テーブルか
ら、当該統合ファイル名に該当する結合情報411を検
索する(534)。検索結果(即ち該当する結合情報4
11の内容)が当該要求元(即ち上記アプリケーション
312)に応答342として送られる(536)。検索
結果としては、もし当該統合ファイル名に該当する結合
情報411が存在すれば当該結合情報411、そうでな
ければエラー「ディレクトリまたはファイルが存在しな
い」である。もし当該統合ファイル名が、現在領域の外
であれば、当該要求341は別の領域の統合ファイル名
結合子に転送される(535)。
【0171】別の領域の統合ファイル名結合子へ要求を
転送するステップ535の手順は、以下の通りである
(図17に示す)。現在の統合ファイル名結合子311
は、自分の結合情報データ構造の領域テーブルに格納さ
れた親領域名または子領域名の内、当該統合ファイル名
と最も近い領域を見出し(541)、この見出された親
領域または子領域を選択された領域とする。次に、当該
選択された領域の結合子位置テーブルを検索し、該当す
る統合ファイル名結合子を見出す(542)。該当する
統合ファイル名結合子が見つかったかどうかによって、
処理が分けられる(543)。もし1つ以上の統合ファ
イル名結合子が当該選択された領域に対応づけられてい
る場合、適当なアルゴリズムで統合ファイル名結合子を
1つ選択する。当該要求341は、その統合ファイル名
結合子411’に転送される(545)。要求転送が成
功したかどうかが検査され(546)、もしこの転送が
失敗した場合、上記のステップ(542)に戻って、該
当する新しい統合ファイル名結合子を見出す。該当する
統合ファイル名結合子が見つからなかったまたはすべて
の該当する統合ファイル名結合子に要求が転送され、失
敗した場合、エラー「統合ファイル名結合子が利用不
能」が上記アプリケーション312に応答342として
送られる(544)。
【0172】現在の統合ファイル名結合子311は、一
連の処理を完了し、次の要求を待つ(531)。
【0173】第3のフェーズ(アプリケーション側):
上記アプリケーション312は、統合ファイル名結合子
からの応答を待つ状態で上記応答342を受け取る(5
15)。もし結果が、上記要求341の統合ファイル名
の結合情報であれば、当該アプリケーション312は、
統合ファイル名結合子リスト320を更新し(51
8)、そして、受信した結合情報からファイル・サーバ
を決定し、アクセス要求343を送信する(519)。
そうでなければ、即ちエラーである場合(516)、統
合ファイル名結合子からのエラーが返される(51
7)。
【0174】統合ファイル名結合子リストを更新するス
テップ518は以下の手順で行なわれる。統合ファイル
名結合子リスト320が検査され、上記応答342を返
す統合ファイル名結合子が含まれていなければ、その統
合ファイル名結合子を当該統合ファイル名結合子リスト
320に追加する。そうでなければ、その統合ファイル
名結合子が当該統合ファイル名結合子リスト320に既
に存在するので、その統合ファイル名結合子の優先度を
適当に高める。
【0175】受信した結合情報からファイル・サーバを
決定し、アクセス要求送信するステップ519は以下の
方法で行われる。当該受信した結合情報の統合ポリシー
表に記入されたポリシーとその結合情報に入っているマ
ウント元ごとの結合ユニットの情報(図10に示すよう
な統合方式4123、アクセス制御表4124、各種属
性4125)とを用いて、さらにアクセス要求が要求す
るアクセスの種類(ファイルの読み出し、ファイルの書
き込み、ディレクトリの内容のリストなど)に依存し
て、アクセス要求送信先のファイル・サーバを決める。
【0176】すなわち、アクセス要求が指定するディレ
クトリに対応して記憶された、そのアクセス要求が指定
するファイル名のファイルに対する結合情報411をア
クセスする。その中の結合情報ヘッダ413に含まれた
統合ポリシー表4133(図11)内に含まれている読
み出し操作4173、書き込み操作4174のいずれか
を、アクセス要求が要求するアクセスの種類に応じて読
み出す。さらにその結合情報411に含まれた結合ユニ
ット412、412’を読み出す。複数の結合ユニット
が含まれているときには、全ての結合ユニットを読み出
す。アクセス要求が指定するファイル名のファイルに対
する目的の結合ユニットが複数検出されたときには、そ
れぞれの結合ユニット内の各種属性4125の内、ファ
イルの種類を読み出し、そのファイルが同名ファイルで
あるか否か、同名ファイルであるときには同名ファイル
の種別を判断する。
【0177】複数の目的の結合ユニットが検出され、そ
れぞれの結合ユニットに記憶されたファイルの種類が同
名ファイルであるときには、それらの同名ファイルのそ
れぞれに対してアクセスを実行するか否かと、アクセス
を実行するときにはアクセス動作の内容とを、統合ポリ
シー表4133(図11)から読み出された読み出し操
作4173または書き込み操作4174のいずれかとア
クセス要求が指定するアクセスの種類に基づいて決定す
る。アクセスすると決定されたファイルが属するサーバ
計算機に、そのファイルに対して決定されたアクセス動
作を指定するアクセス要求を送信する。
【0178】なお、アクセス要求送信する前に、すでに
統合ポリシーの説明の中で説明したように、マウント先
毎(即ち結合情報毎)のアクセス制御表4172とマウ
ント元毎(即ち結合ユニット毎)のアクセス制御表41
24の両方のそれぞれによって同時にアクセスが許可さ
れているかにより、当該アクセスの可否を判断する。可
の場合、送信する;否の場合、拒否する。次は例を用い
て三つのアクセスの種類について上記アクセス要求送信
ステップ519の処理の詳細を説明する。
【0179】第1のアクセスの種類は、ファイルの読み
出しである。例えば、アプリケーションは図6に示す統
合ファイル“//b/e/j”を読み出そうとする。こ
の場合、当該アプリケーションは統合ファイル名結合子
から図15に示す結合情報273を受信する。 結合情
報273に入っている結合ユニットはファイル・サーバ
115における「オリジナル」としてのマウント元“/
v”1251の結合ユニット2740と、ファイル・サ
ーバ115’における「オリジナル」としてのマウント
元“/y/z”1255の結合ユニット2750であ
る。
【0180】ここで、結合情報273における統合ポリ
シー表に設定されたポリシーはデフォルト・ポリシーで
あるとする。このポリシーにより指定される読み出し操
作4173は、すでにデフォルト・ポリシーの説明の中
に記載したように、アクセス要求されたファイルに対し
て基本ファイル以外の同名ファイルがあれば、その同名
ファイルの種類が、複製ファイル、同等ファイル、同類
ファイルのいずれかであるかにより、読み出すべきファ
イルを決める。
【0181】今の場合には、図6の例では、ファイル名
“//b/e/j”のファイルが登録されているディレ
クトリeには基本ファイルi、jのみが登録されている
と仮定している。したがって、ディレクトリeからは、
ファイルi、jのみが検出され、ファイルjの同名ファ
イルが検出されないので、ファイルjの基本ファイルの
みがアクセスされる。その方法は以下の通りである。
【0182】もし、当該アプリケーションの所在する計
算機には当該両マウント元1251、1255へのアク
セス記録がなければ、統合ファイル“//b/e/j”
の実体はどのファイル・サーバに格納されているかわか
らないので、通常両ファイル・サーバ115、115’
にアクセスする必要がある。このため、ステップ519
では両ファイル・サーバ115、115’を決定し、同
時にアクセス要求を送信する。もし、当該両マウント元
1251、1255へのアクセス記録があれば、例えば
統合ディレクトリ“//b/e”の内容をリストしてか
ら当該統合ファイル“//b/e/j”をアクセスする
場合、ステップ519ではそのアクセス記録によりファ
イル・サーバ115’を決定することができる。
【0183】なお、図6と異なり、一般的にはディレク
トリeにファイルjの同名ファイルが登録されている可
能性がある。したがって、上記読み出し要求の処理は一
般的には以下のようにして行われる。まず、ディレクト
リeに対応して記憶された、読み出し要求が指定するフ
ァイル名に対応する複数の結合ユニットが読み出され、
それぞれの結合ユニットに含まれたファイル種類が判断
される。こうして、複数の同名ファイルの種類が判断さ
れると、読み出し操作情報4173にしたがって一つの
同名ファイルを選択し、そのファイルの実体を管理する
サーバ計算機に読み出し要求を送る。
【0184】第2のアクセスの種類は、ファイルの書き
込みである。例えば、アプリケーションは図6に示す統
合ファイル“//a/c/f”を書き込もうとする。こ
の場合、当該アプリケーションは統合ファイル名結合子
から図13に示す結合情報254を受信する。結合情報
254に入っている結合ユニットはファイル・サーバ1
13における「オリジナル」としてのマウント元“/u
/c”1232の結合ユニット2560と、ファイル・
サーバ114における「複製」としてのマウント元“/
x”1243の結合ユニット2570である。
【0185】ここで、結合情報254における統合ポリ
シー表に設定されたポリシーはデフォルト・ポリシーで
あるとする。このポリシーにより指定される書き込み操
作4174は、すでにデフォルト・ポリシーの説明の中
に記載したように、アクセス要求されたファイルに対し
て基本ファイル以外の同名ファイルがあれば、その同名
ファイルに対しても一致制御のためのアクセスを行う。
そのアクセスの種類は同名ファイルの種類が、複製ファ
イル、同等ファイル、同類ファイルのいずれかであるか
により異なる。その同名ファイルが複製ファイルの時に
は、基本ファイルへの書き込みを行い、基本ファイルが
クローズされた時点で、複製ファイルに基本ファイルを
複製ファイルにコピーする。
【0186】今の例では、ディレクトリcには、基本フ
ァイル1234と複製ファイル1244が登録されてい
る。この場合、ステップ519により決定するアクセス
要求送信先のファイル・サーバは、基本ファイル123
4を管理するファイル・サーバ113である。デフォル
ト・ポリシーに記述されたように、基本ファイル“/u
/c/f”1234をクローズした時、更新した当該基
本ファイルは統合ファイル名結合子の一致制御機構によ
り複製ファイル“/x/f”1244にコピーされる。
【0187】第3のアクセスの種類は、ディレクトリの
内容のリストである。例えば、アプリケーションは図6
に示す統合ディレクトリ“//a/e”の内容をリスト
しようとする。第1のアクセスの種類と同じように、当
該アプリケーションは統合ファイル名結合子から図15
に示す結合情報273を受信する。ここで、結合情報2
73における統合ポリシー表に設定されたポリシーもデ
フォルト・ポリシーであるとする。リスト処理の場合に
は、この統合ポリシー内の読み出し操作情報が使用され
る。統合ディレクトリの内容をすべてリストするため、
すべての「オリジナル」としてのマウント元にアクセス
する必要がある。このため、ステップ519では両ファ
イル・サーバ115、115’を決定し、同時に両マウ
ント元“/v”1251と“/y/z”1255のアク
セス要求を送信する。
【0188】第4のフェーズ(ファイル・サーバ側):
ファイル・サーバ313は上記アクセス要求343を受
け取り、当該アクセス要求343で指定されたディレク
トリまたはファイルにアクセスする。そして、上記アプ
リケーション312にアクセス結果344を返す。
【0189】第5のフェーズ(アプリケーション側):
上記アプリケーション312は、ファイル・サーバから
の応答を待つ状態で上記ファイル・サーバ313からの
上記アクセス結果344を受け取る(520)。当該ア
プリケーション312は、当該アクセス結果344に対
して適当な処理(例えば、複数のファイル・サーバに分
散され、格納されたディレクトリのディレクトリ統合)
を行ない(521)、処理した結果を返す(522)。
【0190】上記のアクセス内部動作は、アクセス先が
マウント・ポイントであるかどうかに関わらず、統合フ
ァイル名ツリーにあるすべての統合ファイルまたは統合
ディレクトリに適用する。このため、あるマウント・ポ
イントにおける統合ポリシーはそのマウント・ポイント
におけるサブツリーにあるすべての統合ファイルまたは
統合ディレクトリに適用する。すなわち、ディレクトリ
統合は同名サブディレクトリにも再帰的に行われる。
【0191】(H)統合ファイル名ツリーにマウント時
の統合ファイル名システムの内部動作 マウントは、システム管理者がシステム管理ツールを使
用してマウント要求を統合ファイルシステムに対して発
行したときに行われる。マウントに使用する統合ポリシ
ー、マウント元ディレクトリ、マウント先ディレクトリ
等の情報はこのときにシステム管理者が指定する。統合
マウント方法を用いて統合ファイル名ツリーにマウント
する時には、結合情報と結合ユニットのレコードが新規
に作られる。即ち、新規のマウント先にマウントする時
に新規に結合情報レコードと結合ユニットレコードが作
られ、既に存在するマウント先に新規にマウント元をマ
ウントする時に新規に結合ユニットレコードだけが作ら
れる。従って、マウント要求を発行する時に結合情報と
結合ユニット構造に含まれるべきデータの内、自動的に
生成できないデータの入力が必要である。具体的に、結
合情報レコードに必要なデータは、統合ファイル名、統
合ポリシーのマウント先毎の部分(即ち、統合ファイル
種類、アクセス制御表、読み出し操作、書き込み操作)
と一致制御規制(即ち、許容不一致時間)であり、結合
ユニットレコードに必要なデータはファイル・サーバの
アドレス、ローカル・パス名と統合ポリシーのマウント
元毎の部分(即ち、統合方式、アクセス制御表)と、マ
ウント元の属性の内のファイル種類等である。
【0192】図20のフローチャートは統合ファイル名
ツリーにマウント時の統合ファイル名システムの内部動
作を示す。以下は、図20を用いて、図8を参照しなが
ら、統合ファイル名システムのマウント内部動作を説明
する。
【0193】第1のフェーズ(アプリケーション側):
アプリケーション312が、ディレクトリまたはファイ
ルをマウントする要求を出した際、マウント先のファイ
ル名を取り出し(551)、統合ファイル名であるか、
即ち要求ファイル名が“//”で始まるか否かを検査す
る(552)。統合ファイル名であれば、この要求34
1は統合ファイル名ツリーに向けたものであるので、当
該アプリケーション312は、統合ファイル名結合子リ
スト320に記載した適当な統合ファイル名結合子31
1に当該要求341を送信して(554)から、統合フ
ァイル名結合子からの応答を待つ(555)。当該要求
341には次のデータが入っている:前述した統合ファ
イル名などの結合情報レコードに必要なデータと当該ア
プリケーション312に戻るアドレス。統合ファイル名
でなければ、当該マウント先は当該アプリケーション3
12が動作する計算機上のローカル・ファイル名ツリー
にあるので、当該アプリケーション312は、既存のマ
ウント方法を用いて、自身が動作する計算機上のローカ
ル・ファイル・システムにマウントする(553)。
【0194】第2のフェーズ(統合ファイル名結合子
側):上記統合ファイル名結合子311は、アプリケー
ションからの要求を待つ(561)状態で、上記アプリ
ケーション312からの要求341を受けると、図16
に示すように、結合情報データ構造から当該要求341
にある統合ファイル名を探す(562)。これによっ
て、上記マウント先は新規であるかどうかを判断する
(563)。新規なマウント先であれば、要求341か
ら受け取った入力データに基づいて新規結合情報とその
中の新規結合ユニットを作成して(564、566)、
当該新規結合情報の内容を上記アプリケーション312
に応答342として送信する(467)。既に存在して
いれば、当該マウント先の結合情報に格納された結合情
報毎の統合ポリシーと要求341から受け取った結合ユ
ニット毎の統合ポリシーに基づいて当該マウントの可否
を判断する(565)。マウント可であれば、当該マウ
ント先の結合情報の中の新規結合ユニットを作成して
(566)、当該結合情報の内容を上記アプリケーショ
ン312に応答342として送信する(467)。マウ
ント否であれば、エラー「マウント拒否」を上記アプリ
ケーション312に応答342として送信する(46
8)。
【0195】マウント可否の判断の仕組みは図21に示
される。結合情報411毎の統合ポリシー表4133に
記載の統合ファイル種類4171(図11)は、統合可
能なファイル種類に対応するビットからなるマウント可
否ビットマップ571として記憶されている。このビッ
トマップ571のいずれかのビットに「1」が立ってい
れば、マウント元のファイルがオリジナルである場合
に、該当するファイル種類のファイルのマウントが許可
される。そうでなければ(即ち、「0」である場合)、
該当するファイル種類のファイルのマウントが拒否され
る。図21の場合は、基本ファイル、複製ファイルと同
等ファイルに対してマウントが許可される。それ以外の
ファイル種類(即ち、同類ファイルと異種ファイル)は
拒否される。
【0196】結合ユニット412(図10)内の統合方
式4123と各種属性4125内のファイル種類は、統
合方式4123がオリジナルを示す時の複数のファイル
種類に対応する複数のビットとその統合方式が複製であ
ることにそれぞれ対応する1ビットからなるマウント方
式ビットマップ572として実際には記憶されている。
「1」が立っているビットは実行すべきマウント方式を
示すことになる。マウント方式は六つある。一回のマウ
ント時点で使えるマウント方式は一つしかないから、こ
のビットマップ572に一つの「1」しか立っていな
い。図21の場合は、マウント方式はオリジナルの複製
である。即ち、マウント時に同名になるファイルは複製
ファイルと見なす。
【0197】マウントの可否の判断のために各々のマウ
ント方式に対応する判断プログラムが使用される。判断
プログラム・テーブル576は各々のマウント方式に適
用する判断プログラムのアドレスを記憶している。
【0198】マウント可否を判断する処理は二つのステ
ップに分けられる。第1ステップでは、まず、結合情報
毎の統合ポリシーのマウント可否ビットマップ571と
結合ユニット毎の統合ポリシーのマウント方式ビットマ
ップ572の論理積を取る。すなわち、図21が示すよ
うに、ビットマップ571の各ビットと、ビットマップ
572内のファイルの種類を示す対応するビットとの論
理積をそれぞれ取り(573)、さらに、ビットマップ
571内の複製ファイルに対応するビットと、ビットマ
ップ572内の統合方式がビットマップであるか否かを
示すビットとの論理積を取り(573’)、これら二つ
の論理積により得られる複数のビットからなるビットマ
ップ574内の一つのビットに「1」が立っていれば、
第2ステップに行く(575の「yes」)。そうでな
けば、マウントを拒否する(575の「no」)。第2
ステップでは、判断プログラム・テーブル576から許
可されたマウント方式に適用する判断プログラムのアド
レスを取り出し、結合ユニットに入ったすべての同名に
なるファイルに対して該当する判断プログラムを実行す
る(577)。図21の場合は、該当判断プログラムは
複製ファイルの判断ツールであり、このプログラムは、
例えば、UNIXのcmpとdiffコマンドよりな
る。判断プログラムにより、マウント可否を判定する
(578)。
【0199】各判断プログラムは、対応するマウント方
式により定まる処理を実行する。より具体的には、結果
ビットマップ574内の統合方式がオリジナルでファイ
ル種類が基本ファイルであることに対応するビットが1
のときには、同名基本ファイル存在判断ツールが実行さ
れる。このプログラムは、マウント元の基本ファイルと
同名の基本ファイルがマウント先のディレクトリに存在
するか否かを判定する。もし、同名の基本ファイルが存
在すれば、この判断プログラムは、マウント元の基本フ
ァイルのマウントはできないと判断する。
【0200】結果ビットマップ574内の統合方式がオ
リジナルで、ファイル種類がそれぞれ複製ファイル、同
等ファイル、同類ファイル、異種ファイルに対応するビ
ットがそれぞれ1のときには、それぞれ複製ファイルの
判断ツール、同等ファイルの判断ツール、同類ファイル
の判断ツール、異種ファイルの判断ツールが実行され
る。それぞれのプログラムは、マウント元のファイルと
同じファイル名を有するマウント先のファイルが、それ
ぞれ複製ファイル、同等ファイル、同類ファイル、異種
ファイルであるかを判断する。もし、マウント先の同名
ファイルが、その特定の種類の同名ファイルでないとき
には、それぞれの判断プログラムは、マウント元の同名
ファイルのマウントはできないと判断する。
【0201】結果ビットマップ574内の統合方式が複
製であることに対応するビットが1のときに実行される
判断ツールは、マウント先の全ツリーをマウント元にコ
ピーし、コピーが成功したか否かを判断するプログラム
である。もし、マウント元のファイルを記憶するローカ
ルな記憶装置の容量が不足等の理由によりコピーを行え
ないとき、あるいはコピーを実行中に何らかの理由にコ
ピー動作が中断されたときには、このプログラムは、マ
ウント元のディレクトリのマウントはできない判断す
る。
【0202】第3のフェーズ(アプリケーション側):
上記アプリケーション312は、統合ファイル名結合子
からの応答を待つ状態で上記応答342を受け取る(5
55)。もし結果が、上記要求341の統合ファイル名
の結合情報であれば、当該アプリケーション312は、
統合ファイル名結合子リスト320を更新し(55
8)、そして、当該結合情報を返して終了する(55
9)。そうでなければ、即ちエラーである場合、統合フ
ァイル名結合子からのエラーが返される(557)。
【0203】今まで説明した統合マウント方法はファイ
ルに対しても適用できる。即ち、マウント元がファイル
であれば、マウント先がファイルである。マウント元と
してのファイルが複数がある場合は、ディレクトリ統合
による同名ファイルの処理と同じように、マウント先で
当該複数のファイルをマウントする(即ち、ファイル統
合)。
【0204】(I) 統合ファイル名システムにおける
統合ファイルの一致制御 統合ファイルの一致制御は結合情報の一致制御表と統合
ポリシー表を参照する。ある結合情報レコードの一致制
御表にある一致状態が「不一致」になると、この結合情
報レコードに対する一致制御が起動される。統合ポリシ
ーの書き込み操作に従って一致制御が行われ、許容不一
致時間以内に「一致」状態にさせる。
【0205】統合ファイルの一致制御は、複製ファイル
に対する一致制御だけではなく、同等ファイルと同類フ
ァイルに対する一致制御も含まれている。例えば、上記
のデフォルト・ポリシーの「4.統合ファイルの書き込
み操作」は、統合ファイルの一致制御の一方法を定め
る。そこで、複製ファイルを更新する時に簡単なコピー
で済むことができるが、他の種類のファイルを更新する
場合は対応する変換ツールが必要である。
【0206】(J)応用例 これまで説明してきた統合ファイル名システムは、ロー
カル・エリア・ネットワーク(LAN)から広域ネット
ワーク(WAN)まで幅広い分散計算機環境に適用で
き、また前記分散計算機環境を構成する計算機として、
パーソナル・コンピュータ(PC)やワークステーショ
ン(WS)から大型計算機(並列計算機を含む)まで多
様な計算機を用いることができる。下記に統合ファイル
名システムの応用例として、2種類の典型的な分散計算
機環境を挙げ、それぞれにどのように統合ファイル名シ
ステムを適用するかを説明し、それぞれどのような効果
があるかを明らかにする。
【0207】(応用例1)図18に本応用例における分
散計算機環境の構成を示す。LAN600に、1台以上
のデスクトップ機(PCまたはWS)601、601’
等および602、602’等が接続されている。また、
LAN600には、大型計算機603が接続されてい
る。デスクトップ機601、601’等および大型計算
機603には、ファイル621、621’等が格納され
ている。
【0208】図18の分散計算機環境において、ユーザ
がデスクトップ機601、601’等および602、6
02’等上で実行しているアプリケーションがファイル
621、621’等にアクセスしようとする場合、従来
の技術では、次のような問題があった。第1は、デスク
トップ機601等におけるユーザ(またはユーザが実行
しているアプリケーション、或はアプリケーションが使
用しているファイル・システム)は、必要なファイルが
どの計算機上にあるかを意識していなくてはいけなかっ
た。第2は、ユーザがファイルを複製する時や、プログ
ラムのファイルをバージョン・アップしたり異種機に適
用する時、それらのファイルは互いに別のファイル名を
持つため、すべてのファイル名を把握していなくてはな
らず、しかも複製ファイルのどれか1つを更新したとき
はその他の複製ファイルをすべて更新し、最新かつ特定
計算機で実行できるプログラムを選択する必要があるな
ど、ユーザによる管理が困難であった。
【0209】図18に示す分散計算機環境では、例えば
統合ファイル名システムを次のように適用できる。図1
8において、ファイル621、621’等を格納してい
るデスクトップ機602、602’等および大型計算機
603のそれぞれにおいて、ファイル・サーバ613、
613’等を実行する。さらに、大型計算機603上
で、統合ファイル名結合子611を実行する。統合ファ
イル名結合子611が含んでいる結合情報データ構造に
は、すでに図9ないし図15を用いて説明した方法によ
り、ファイル・サーバ613、613’等への結合情報
がすべて統合ファイル名ツリー2に基づいて保持され
る。デスクトップ機601、601’等および602、
602’等の上のアプリケーション612、612’、
612”等は、“//”で始まるファイル名を指定して
ファイル・アクセス要求を行うことにより、図8と図1
6を用いて説明した通り、統合ファイル名ツリー2に基
づく統合ファイル名を用いて、ファイル621、62
1’等にアクセスすることができる。
【0210】上記のように統合ファイル名システムを適
用することにより、前記従来技術における問題点を解決
することができる。第1に、前記アプリケーション61
2、612’、612”等は、複数の計算機に分散して
いるファイル621、621’等に、統合ファイル名ツ
リー2に基づく統合ファイル名を指定することでアクセ
スすることができる。ここで、あるファイルがどの計算
機に格納されているかは統合ファイル名結合子611が
決定するため、統合ファイル名の指定において、ファイ
ルの格納された計算機を指定する必要がない。従って、
ユーザ(およびユーザが実行しているアプリケーション
とアプリケーションが使用しているファイル・システ
ム)はファイルがどの計算機に格納されているかを意識
せず、ファイル621、621’等に容易にアクセスす
ることができる。
【0211】第2に、統合ファイル名結合子611が保
持している結合情報データ構造の構造(図9)から明ら
かなように、ファイル621、621’等のうち複数の
異なるファイルが、同じ統合ファイル名を持つことがで
きる。すでに説明したように、アプリケーションが、同
じ統合ファイル名を有する複数のファイルに対して当該
統合ファイル名を指定してアクセスすると、統合ポリシ
ーにより適当なファイルにアクセスすることができる。
例えば、あるプログラムの複数バージョンのファイルに
同じ統合ファイル名を与えることと、また最新かつアプ
リケーションにおける計算機で実行できるバージョンを
アクセスする統合ポリシーを設定することにより、当該
統合ファイル名で最新かつアプリケーションにおける計
算機で実行できるプログラムを自動的に選んで実行する
ことができる。また複製の場合、アクセスの結果は当該
統合ファイル名を持つすべての複製ファイルに反映され
る。従って、ユーザはあるファイルの複製や複数バージ
ョンを、ファイル名を変えることなく設けることができ
る。しかも、当該複製のどれか1つに変更を加えた場合
でも、ユーザはその他の当該複製に当該変更を自分で反
映する必要がない。当該複数バージョンのある場合、ユ
ーザは複数バージョンの存在を意識する必要がなく適当
なバージョンをアクセスすることができる。
【0212】図18の分散計算機環境では、統合ファイ
ル名結合子は大型計算機603にただ1つ設けられてい
るが、これは統合ファイル名結合子を大型計算機603
上で実行することが効率的であることによる。その理由
は、大型計算機は一般に他のデスクトップ機と比較して
高性能でかつ連続運転され、また大型計算機には大容量
の磁気ディスク等が設けられ、多数のファイルが格納さ
れているためである。しかし、既に述べたように、本実
施形態の統合ファイル名システムでは複数の統合ファイ
ル名結合子が1つの統合ファイル名ツリーを構成するこ
とができるため、場合によってはデスクトップ機60
1、601’等および602、602’等の上のどれか
でも統合ファイル名結合子を実行できる。異なる計算機
上で複数の統合ファイル名結合子を実行することによ
り、統合ファイル名結合子内の処理を負荷分散して高速
化したり、計算機のどれかに障害が発生して、その計算
機上の統合ファイル名結合子が停止した場合でも、アプ
リケーションが統合ファイル名ツリーを用いてファイル
・アクセスを継続できるようにしたりすることができ
る。
【0213】図18の分散計算機環境は、デスクトップ
機と大型計算機がLANで接続された構成であるが、当
該デスクトップ機や大型計算機がすべて1台の並列計算
機のノードであり、LANの代わりに内部ネットワーク
で接続されている場合、あるいは一部が並列計算機のノ
ードであり、残りは並列計算機外のデスクトップ機(ま
たは別の並列計算機の各ノード)であり、LANおよび
内部ネットワークで接続されている場合でも、まったく
同じように統合ファイル名システムを適用し、前記した
計算機名(またはノード名)を指定する必要のないファ
イル・アクセスや自動的な複製管理とバージョン管理な
どの利点が得られる。
【0214】(応用例2)図19に、本応用例における
分散計算機環境を示す。広域ネットワーク(WAN)7
00に、多数のサーバ計算機701、701’等が接続
されている。当該サーバ計算機は、それぞれ大型計算機
や、サーバ機や、あるいはデスクトップ機などの計算機
である。また、WAN700にはデスクトップ機702
やゲートウェイ705が接続されている。ゲートウェイ
705は、後述するプロキシサーバ714を実行するこ
とのできる計算機(ルータ等も含む)である。ゲートウ
ェイ705は、さらにローカル・アリア・ネットワーク
(LAN)600に接続されている。LAN600には
1台以上のデスクトップ機703、703’等が接続さ
れている。LAN600にも1台以上のサーバ計算機7
04、704’等が接続されている場合がある。また、
図示していないが、デスクトップ機702やゲートウェ
イ705と同様のデスクトップ機やゲートウェイが、W
AN700に接続されていてもよい。
【0215】上記構成を有する図19の分散計算機環境
では、下記のソフトウェアが実行されている。サーバ計
算機701では、ファイル・サーバ713が実行されて
いる。ファイル・サーバ713は、WAN700経由で
要求を受信し、要求に応じて1つ以上のファイル72
1、721’等の内容を送信する。これらは、他のサー
バ計算機701’等、および、LAN600経由で要求
を受信することを除けば、サーバ計算機704、70
4’等(図19ではファイル・サーバの記載を省略して
いる)でも同様である。また、デスクトップ機703お
よび702では、ユーザによってアプリケーション71
2および712’が実行されている。アプリケーション
712は、サーバ計算機701のアドレスと、サーバ計
算機701が保持するファイル721のファイル名(サ
ーバ計算機701内でファイル721を識別できるファ
イル名)を指定して要求を送信することにより、ファイ
ル721の内容を受信する。以下、デスクトップ機70
3’等においても、デスクトップ機703と同様であ
る。
【0216】さらに、ゲートウェイ705では、プロキ
シサーバ714が実行されている。プロキシサーバ71
4は、アプリケーション712とファイル・サーバ71
3とを中継する役割を果たす。より具体的には、プロキ
シサーバ714は、アプリケーション712がファイル
・サーバ713のファイル721を要求した時に、ファ
イル・サーバ713から転送されてきたファイルの内容
を受信し(743)、自分の中のキャッシュ722に格
納し、受信したファイルの内容を要求を送信したアプリ
ケーション712に送信する(744)。これにより、
アプリケーション712や、デスクトップ機703、7
03’等の上で実行されている別のアプリケーション
が、同じファイル721を要求しようとしたときは、プ
ロキシサーバ714のキャッシュ722の内容が転送さ
れるため、WAN700を経由したファイル転送が発生
せず、前記アプリケーションは要求したファイルを高速
に受信することができる。なお、図示していないが、キ
ャッシュ722には複数のファイルの内容を格納してい
てもよい。
【0217】上記構成の分散計算機環境における問題
は、次の2点である。第1に、アプリケーション712
は、ファイル721を指定するために、サーバ計算機7
01のアドレスをまず指定しなくてはならない。そのた
め、ファイル621の内容が必要な場合、ファイル72
1を格納しているサーバ計算機701のアドレスも知っ
ていなくてはならないだけでなく、例えばサーバ計算機
の構成変更などによりファイル721が別のサーバ計算
機に移動すると、アプリケーション712はファイル7
21を受信することができなくなる。第2に、プロキシ
サーバ714のキャッシュ722の内容は、多くの場
合、ファイル721の内容と常に一致していることが要
求される。図19の分散計算機環境でこの要求を満たす
には、プロキシサーバ714は、アプリケーション71
2がファイル721を要求した時に、前記のようにキャ
ッシュ722の内容をアプリケーション712に転送す
る前に、サーバ計算機701に対して、キャッシュ72
2の内容とファイル721の内容が一致しなくなったか
どうかを毎回問い合わせ、もし不一致であれば、キャッ
シュ722の内容を破棄してサーバ計算機701からフ
ァイル721を転送しなくてはならない。この場合、ア
プリケーション712がファイル721を要求してから
ファイル721の内容を受信するまでの応答時間が長く
なるという問題がある。
【0218】図19の分散計算機環境における上記の問
題は、統合ファイル名システムを次のように適用するこ
とで解決できる。図19で、各サーバ計算機701およ
び704上では、それぞれ統合ファイル名結合子71
1、711’が実行されている。また、図示していない
が、その他のサーバ計算機701’等および704’等
においても同様に統合ファイル名結合子が実行されてい
ることができる。それぞれの統合ファイル名結合子は、
すでに図7ないし図15を用いて説明した方式により領
域名にもとづいて設定され、統合ファイル名ツリー2を
構成している。上記の状況で、アプリケーション71
2、712’等およびプロキシサーバ714は、統合フ
ァイル名を指定することにより、統合ファイル名ツリー
2にもとづいて各サーバ計算機のファイルにアクセスす
ることができる。ここで、既に述べたように、ファイル
721を指定する統合ファイル名に、ファイル721を
格納しているサーバ計算機701のアドレスは含まれな
い。従って、アプリケーションがファイル721を必要
とするとき、サーバ計算機701のアドレスを知ってい
る必要はないだけでなく、ファイル721が別のサーバ
計算機に移動した場合でも、アプリケーションは同じ統
合ファイル名を指定することにより、ファイル721の
内容を受け取ることができる。
【0219】また、プロキシサーバ714が前記のよう
にファイル721の内容を受信し、キャッシュ722に
格納した後で、自分のアドレスを統合ファイル名結合子
711に送信し、ファイル721の複製を保持している
ことを統合ファイル名結合子711に通知する(74
5)。これにより、すでに説明したように、統合ファイ
ル名結合子711内の結合情報データ構造(図19には
示していない)に、図10のファイル・サーバのアドレ
スとしてプロキシサーバ714のアドレスが格納され、
統合方式に「複製」が格納された結合ユニットが新規に
作成され、以後ファイル721が変更された場合、キャ
ッシュ722の内容も更新され、常にファイル721の
内容とキャッシュ722の内容が一致するように保たれ
る。従って、アプリケーション712がファイル721
の内容を要求し、プロキシサーバ714内のキャッシュ
722にファイル721の内容のコピーがある場合、プ
ロキシサーバ714はキャッシュ722の内容がファイ
ル・サーバ713にファイル721の内容と一致してい
るかどうかを調べることなくキャッシュ722の内容を
アプリケーション712に転送することができ、アプリ
ケーション712がファイル721を要求してからファ
イル721の内容を受信するまでの応答時間を短縮でき
る。
【0220】変形例として、アプリケーション712の
実行されているデスクトップ機703自体が、過去に受
け取ったファイルの内容をキャッシュとして保持してい
る場合もありうる。この場合、デスクトップ機703上
でファイル・サーバを実行し、アプリケーション712
がファイルを受け取ってキャッシュに格納したときに、
前記ステップ745と同様に複製を有することを統合フ
ァイル名結合子711に登録することにより、デスクト
ップ機703上で実行されるアプリケーションは、統合
ファイル名を用いて常にファイル721の最新の内容
を、自分と同じデスクトップ機内のキャッシュから高速
に受け取ることができる。
【0221】また、前記の特別な場合として、統合ファ
イル名の付け方を定めることにより、各サーバ計算機の
保持する情報を、分野ごとに一覧することができるよう
になる。前記の、ファイルを要求する際にアプリケーシ
ョンがサーバ計算機のアドレスを指定しなくてはならな
い方法では、一般に1つの分野でも(例えば同業の企業
ごとに)複数のサーバ計算機に分かれているため、ある
分野の情報をまとめて受信することができない。それに
対し、統合ファイル名システムでは、統合ファイル名を
用いて、サーバ計算機のアドレスを特定せずにファイル
を要求することができる。そこで、統合ファイル名の付
け方として、それぞれのファイルの内容が属する分野を
統合ファイル名に反映(例えば“//計算機/ソフトウ
ェア/ファイルシステム/分散ファイルシステム/統合
ファイル名システム”などと)させることにより、ある
分野の情報を複数のサーバ計算機が保持している場合で
も、アプリケーションは(例えば統合ファイル名“//
計算機/ソフトウェア/ファイルシステム”などと指定
することにより)所望の分野の情報を一覧することがで
きる。
【0222】以上に示したように、本実施の形態によれ
ば、従来技術のできない上下関係のないディレクトリマ
ウントを含む多種のディレクトリマウントまたはファイ
ルマウントを実現できる。また、異なるローカルファイ
ル名ツリーに分散して配置されたディレクトリまたはフ
ァイルを一つのディレクトリまたはファイルにまとめる
ことができる。しかも、統合ポリシーにより、特に同名
によって重なった複数のファイルに対して、マウント時
のマウント仕方およびマウント後のアクセス手順と一致
制御方法とアクセス制御をユーザが設定可能となる。ま
た、従来より便利な複製管理やバージョン管理などを行
うことができる。
【0223】なお、以上に示したファイル統合と統合ポ
リシーを用いれば、ユーザまたはアプリケーションは、
ファイル名を変えることなくファイルの複製や複数バー
ジョンなどを設けることもできる。しかも、これらのフ
ァイルに対して一致制御方法とアクセス方法の選択は設
定された統合ポリシーにより自動的に行われる。
【0224】
【発明の効果】本発明によるマウント方法によれば、デ
ィレクトリのマウント時にディレクトリ毎にマウントを
許可するファイルに関連する、ユーザが指定したマウン
ト条件を設定できるので、いろいろの態様でマウントを
行うことができる。
【0225】さらに、本発明によるファイルアクセス方
法によれば、マウント先のディレクトリに対応して、ユ
ーザが指定した読み出し操作および書き込み操作を設定
できるので、ファイルアクセスをユーザ指定の態様によ
り実行することができる。
【0226】さらに、本発明によるアクセス権限判別方
法では、マウント先のディレクトリに対応して、ユーザ
指定のアクセス権限情報を指定することができる。さら
に、同じマント先に対して、マウント元に対応してユー
ザが指定したアクセス権限情報も設定できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態としての分散ファイルシ
ステム統合ファイル名システムの、ハードウェア構成お
よびソフトウェア構成を示す図である。
【図2】従来のユニオン・マウントを示す図である。
【図3】本発明のマウント方法を示す図である。
【図4】統合ファイル名システムにおける、統合ファイ
ル名ツリーの構築過程を示す図である。
【図5】統合ファイル名システムにおける、統合ファイ
ル名ツリーの構築過程を示す図である。
【図6】統合ファイル名システムにおける、統合ファイ
ル名ツリーの構築過程を示す図である。
【図7】統合ファイル名システムにおいて、統合ファイ
ル名ツリーが複数の統合ファイル名結合子によって構築
されているときの、ハードウェアおよびソフトウェア構
成の一例を示す図である。
【図8】統合ファイル名システムにおける、アプリケー
ション、統合ファイル名結合子およびファイル・サーバ
の各プログラムの相互作用を示す図である。
【図9】統合ファイル名システムにおける、結合情報デ
ータ構造の内容を示す図である。
【図10】統合ファイル名システムにおける、結合ユニ
ットの内容を示す図である。
【図11】統合ファイル名システムにおける、結合情報
の内容を示す図である。
【図12】統合ファイル名システムにおける、結合情報
データ構造の内容の一例を示す図である。
【図13】統合ファイル名システムにおける、結合情報
データ構造の内容の一例を示す図である。
【図14】統合ファイル名システムにおける、結合情報
データ構造の内容の一例を示す図である。
【図15】統合ファイル名システムにおける、結合情報
データ構造の内容の一例を示す図である。
【図16】アクセス処理手順を示すフローチャートであ
る。
【図17】図16におけるステップ535の動作の詳細
を示す図である。
【図18】統合ファイル名システムの応用例1におけ
る、ソフトウェアおよびハードウェア構成を示す図であ
る。
【図19】統合ファイル名システムの応用例2におけ
る、ソフトウェアおよびハードウェア構成を示す図であ
る。
【図20】マウント処理手順を示すフローチャートであ
る。
【図21】図20でのマウント可否判断処理のフローチ
ャートである。
【符号の説明】
111、211−214、611、711 統合ファイ
ル名結合子 2、60 統合ファイル名ツリー 221−224 統合ファイル名ツリーの領域 320 統合ファイル名結合子リスト 4、231−234 結合情報データ構造 411 結合情報 412 結合ユニット 421 結合子位置
フロントページの続き (72)発明者 野田 文雄 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】ネットワークにより接続された複数の計算
    機と、それぞれ上記複数の計算機のいずれかに接続され
    た複数の記憶装置とを有し、それぞれ上記複数の記憶装
    置の一つに記憶された複数のファイルが属する複数の共
    通ディレクトリが登録された、上記複数の計算機に共通
    のファイル名ツリーと、各記憶装置に記憶された複数の
    ファイルが属する複数のローカルディレクトリが登録さ
    れた、各記憶装置に対応するローカルファイル名ツリー
    とを使用して各記憶装置に記憶されたファイルをアクセ
    スする分散計算機システムにおいて、 上記共通のファイル名ツリーに含まれる複数のディレク
    トリの各々に対応して、そのディレクトリに属すること
    ができるファイルに関連する、マウントを要求したユー
    ザが指定したマウント条件を予め記憶し、 上記複数の記憶装置のいずれかに対応するローカルファ
    イル名ツリーのいずれかのマウント元のローカルディレ
    クトリを、上記共通のファイル名ツリーのいずれかのマ
    ウント先の共通ディレクトリにマウントする前に、上記
    マウント元のローカルディレクトリに属する複数のファ
    イルの各々が、そのマウント先の共通のディレクトリに
    対応して記憶されたマウント条件を満たすか否かを判別
    し、 上記複数のファイルの内、上記マウント先の共通ディレ
    クトリに対応して記憶された上記マウント条件を満たす
    ファイルが上記マウント先の共通のディレクトリに新た
    に属するように、上記マウント元のローカルディレクト
    リを上記マウント先の共通のディレクトリにマウントす
    るディレクトリのマウント方法。
  2. 【請求項2】上記共通のファイル名ツリーのいずれかの
    共通ディレクトリに対応して記憶された上記マウント条
    件は、その共通ディレクトリにすでに属するファイルと
    その共通ディレクトリに新たに属しうるファイルとの関
    係に関する条件を含む請求項1記載のディレクトリのマ
    ウント方法。
  3. 【請求項3】上記マウント条件は、その共通ディレクト
    リにすでに属するファイルの名称と同じ名称を有する同
    名ファイルに関する条件を含む請求項2記載のディレク
    トリのマウント方法。
  4. 【請求項4】上記マウント条件は、上記同名ファイルの
    種類に関する条件を含む請求項3記載のディレクトリの
    マウント方法。
  5. 【請求項5】上記同名ファイルの種類は、複製ファイ
    ル、同等ファイル、同類ファイルの内の少なくとも一つ
    を含む請求項4記載のディレクトリのマウント方法。
  6. 【請求項6】上記マウント元のローカルディレクトリを
    上記マウント先の共通ディレクトリにマウントする前
    に、上記マウント元のローカルディレクトリに対応し
    て、マウント元が複製ディレクトリか否かを指定し、 上記マウント元のローカルディレクトリが複製ディレク
    トリとして指定されなかったときには、上記判別ステッ
    プと上記マウントステップとを実行し、 上記マウント元のローカルディレクトリが複製ディレク
    トリとして指定されたときには、マウント先の共通のデ
    ィレクトリにすでに属しているファイルの写しを上記マ
    ウント元のローカルディレクトリに転送する請求項1記
    載のディレクトリのマウント方法。
  7. 【請求項7】ネットワークにより接続された複数の計算
    機と、それぞれ上記複数の計算機のいずれかに接続され
    た複数の記憶装置とを有し、それぞれ上記複数の記憶装
    置の一つに記憶された複数のファイルが属する複数の共
    通ディレクトリが登録された、上記複数の計算機に共通
    のファイル名ツリーと、各記憶装置に記憶された複数の
    ファイルが属する複数のローカルディレクトリが登録さ
    れた、各記憶装置に対応するローカルファイル名ツリー
    とを使用して各記憶装置に記憶されたファイルをアクセ
    スする分散計算機システムにおいて、 いずれかの共通ディレクトリに、いずれかの記憶装置に
    対するローカルファイル名ツリーのいずれかのローカル
    ディレクトリをマウントするときに、マウント元のロー
    カルディレクトリに属するファイルが同名ファイルであ
    るときには、そのファイルに関する情報として、そのフ
    ァイルの同名ファイルの種類を上記共通ディレクトリに
    対応して記憶し、 上記マウントのときに、その共通ディレクトリに属する
    複数の同名ファイルがある場合にそれらの同名ファイル
    のいずれか一つを選択して読み出すための条件を指定す
    る、マウントを要求したユーザにより指定された読み出
    し操作情報をその共通のディレクトリに対応して記憶
    し、 その共通ディレクトリに属するいずれかのファイルに対
    する読み出し要求が発生したときに、その共通ディレク
    トリにマウントされたマウント元のローカルディレクト
    リが複数あれば、それらのマウント元のローカルディレ
    クトリに属するファイルの中に、アクセス要求が指定し
    たファイル名と同じ名称を有する複数の同名ファイルが
    あるか否かを、それぞれのファイルに対して記憶された
    ファイルの種類により判別し、 複数の同名のファイルがあれば、その共通ディレクトリ
    に対応して記憶された上記読み出し操作情報に従って、
    上記複数の同名ファイルの一つを選択して読み出すファ
    イルアクセス方法。
  8. 【請求項8】上記同名ファイルの種類は、複製ファイ
    ル、同等ファイル、同類ファイルの内の少なくとも一つ
    を含む請求項7記載のファイルアクセス方法。
  9. 【請求項9】ネットワークにより接続された複数の計算
    機と、それぞれ上記複数の計算機のいずれかに接続され
    た複数の記憶装置とを有し、それぞれ上記複数の記憶装
    置の一つに記憶された複数のファイルが属する複数の共
    通ディレクトリが登録された、上記複数の計算機に共通
    のファイル名ツリーと、各記憶装置に記憶された複数の
    ファイルが属する複数のローカルディレクトリが登録さ
    れた、各記憶装置に対応するローカルファイル名ツリー
    とを使用して各記憶装置に記憶されたファイルをアクセ
    スする分散計算機システムにおいて、 いずれかの共通ディレクトリに、いずれかの記憶装置に
    対するローカルファイル名ツリーのいずれかのローカル
    ディレクトリをマウントするときに、マウント元のロー
    カルディレクトリに属するファイルが同名ファイルであ
    るときには、そのファイルに関する情報として、そのフ
    ァイルの同名ファイルの種類を上記共通ディレクトリに
    対応して記憶し、 上記マウントのときに、その共通ディレクトリに属する
    複数の同名ファイルがある場合にそれらの同名ファイル
    に対して実行すべき書き込み操作を指定する、上記マウ
    ントを要求したユーザにより指定された書き込み操作情
    報をその共通のディレクトリに対応して記憶し、 その共通ディレクトリに登録されたいずれかのファイル
    に対する書き込み要求が発生したときに、その共通ディ
    レクトリにマウントされたマウント元のローカルディレ
    クトリが複数あれば、それらのマウント元のローカルデ
    ィレクトリに属するファイルの中に、アクセス要求が指
    定したファイル名と同じ名称を有する複数の同名ファイ
    ルがあるか否かを、それぞれのファイルに対して記憶さ
    れたファイルの種類により判別し、 複数の同名のファイルがあれば、その共通ディレクトリ
    に対応して記憶された上記書き込み操作情報に従って、
    上記複数の同名ファイルに対して上記書き込み要求に関
    連する書き込み操作を実行するファイルアクセス方法。
  10. 【請求項10】上記同名ファイルの種類は、複製ファイ
    ル、同等ファイル、同類ファイルの内の少なくとも一つ
    を含む請求項9記載のファイルアクセス方法。
  11. 【請求項11】ネットワークにより接続された複数の計
    算機と、それぞれ上記複数の計算機のいずれかに接続さ
    れた複数の記憶装置とを有し、それぞれ上記複数の記憶
    装置の一つに記憶された複数のファイルが属する複数の
    共通ディレクトリが属する、上記複数の計算機に共通の
    ファイル名ツリーと、各記憶装置に記憶された複数のフ
    ァイルが属する複数のローカルディレクトリが属する、
    各記憶装置に対応するローカルファイル名ツリーとを使
    用して各記憶装置に記憶されたファイルをアクセスする
    分散計算機システムにおいて、 上記共通のファイル名ツリーに含まれた複数の共通ディ
    レクトリの各々に対応して、その共通ディレクトリに登
    録されたいずれかのファイルのアクセスを許可するか否
    かを決定するための、ユーザが指定した共通ディレクト
    リアクセス権限情報を予め記憶し、 いずれかの共通ディレクトリに属するファイルに対する
    アクセス要求が発生したときに、そのアクセス要求にそ
    のファイルへのアクセスを許すか否かを、その共通ディ
    レクトリに対して記憶された共通ディレクトリアクセス
    権限情報に基づいて判別するアクセス権限判別方法。
  12. 【請求項12】いずれかの共通ディレクトリに、いずれ
    かの記憶装置に対するローカルファイル名ツリーのいず
    れかのローカルディレクトリをマウントするときに、そ
    の共通のディレクトリに対応して、そのローカルディレ
    クトリに属するファイルのアクセスを許可するか否かを
    決定するための、ユーザが指定したローカルディレクト
    リアクセス権限情報を記憶するステップをさらに有し、 上記判別ステップでは、上記アクセス要求にアクセスを
    許すか否かを、上記アクセス要求が要求するファイルが
    属する共通ディレクトリに関して記憶された共通ディレ
    クトリアクセス権限情報と、その共通ディレクトリにマ
    ウントされたローカルディレクトリに関して記憶された
    ローカルディレクトリアクセス権限情報とに基づいて判
    別する請求項11記載のアクセス権限判別方法。
JP10080719A 1998-03-27 1998-03-27 ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法 Pending JPH11282741A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10080719A JPH11282741A (ja) 1998-03-27 1998-03-27 ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10080719A JPH11282741A (ja) 1998-03-27 1998-03-27 ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法

Publications (1)

Publication Number Publication Date
JPH11282741A true JPH11282741A (ja) 1999-10-15

Family

ID=13726174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10080719A Pending JPH11282741A (ja) 1998-03-27 1998-03-27 ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法

Country Status (1)

Country Link
JP (1) JPH11282741A (ja)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050733A (ja) * 2001-08-08 2003-02-21 Toshiba Corp ファイルサーバシステムおよびその制御方法
WO2004109517A1 (ja) * 2003-06-09 2004-12-16 Fujitsu Limited ストレージ管理装置、ストレージ装置、ファイル処理システム、ファイル管理システム、並びにこれらの方法およびプログラム
JP2005502096A (ja) * 2001-01-11 2005-01-20 ゼット−フォース コミュニケイションズ インコーポレイテッド ファイルスイッチ及び交換ファイルシステム
JP2009080779A (ja) * 2007-09-27 2009-04-16 Hitachi Ltd 計算機システム及びファイル管理方法
CN101814310A (zh) * 2004-07-22 2010-08-25 松下电器产业株式会社 重放装置和重放方法
US7788335B2 (en) 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US8195769B2 (en) 2001-01-11 2012-06-05 F5 Networks, Inc. Rule based aggregation of files and transactions in a switched file system
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US8397059B1 (en) 2005-02-04 2013-03-12 F5 Networks, Inc. Methods and apparatus for implementing authentication
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8417681B1 (en) 2001-01-11 2013-04-09 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8433735B2 (en) 2005-01-20 2013-04-30 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788335B2 (en) 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US8417681B1 (en) 2001-01-11 2013-04-09 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
JP2005502096A (ja) * 2001-01-11 2005-01-20 ゼット−フォース コミュニケイションズ インコーポレイテッド ファイルスイッチ及び交換ファイルシステム
US8195769B2 (en) 2001-01-11 2012-06-05 F5 Networks, Inc. Rule based aggregation of files and transactions in a switched file system
USRE43346E1 (en) 2001-01-11 2012-05-01 F5 Networks, Inc. Transaction aggregation in a switched file system
JP2003050733A (ja) * 2001-08-08 2003-02-21 Toshiba Corp ファイルサーバシステムおよびその制御方法
EP1632856A4 (en) * 2003-06-09 2007-02-28 Fujitsu Ltd STORAGE MANAGEMENT UNIT, STORAGE UNIT, FILE PROCESSING SYSTEM, FILE MANAGEMENT SYSTEM, AND METHODS AND PROGRAMS THEREOF
EP1632856A1 (en) * 2003-06-09 2006-03-08 Fujitsu Limited Storage management unit, storage unit, file processing system, file management system, and their methods and programs
WO2004109517A1 (ja) * 2003-06-09 2004-12-16 Fujitsu Limited ストレージ管理装置、ストレージ装置、ファイル処理システム、ファイル管理システム、並びにこれらの方法およびプログラム
CN101814310A (zh) * 2004-07-22 2010-08-25 松下电器产业株式会社 重放装置和重放方法
CN101814307A (zh) * 2004-07-22 2010-08-25 松下电器产业株式会社 重放装置和重放方法
US8036513B2 (en) * 2004-07-22 2011-10-11 Panasonic Corporation Playback apparatus and playback method
US8347099B2 (en) 2004-07-22 2013-01-01 Panasonic Corporation Playback apparatus and playback method
US8433735B2 (en) 2005-01-20 2013-04-30 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8397059B1 (en) 2005-02-04 2013-03-12 F5 Networks, Inc. Methods and apparatus for implementing authentication
JP2009080779A (ja) * 2007-09-27 2009-04-16 Hitachi Ltd 計算機システム及びファイル管理方法
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US11108815B1 (en) 2009-11-06 2021-08-31 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US8392372B2 (en) 2010-02-09 2013-03-05 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
USRE48725E1 (en) 2012-02-20 2021-09-07 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices

Similar Documents

Publication Publication Date Title
JPH11282741A (ja) ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法
JP3968242B2 (ja) 共有データにアクセスするための方法と装置
US20070055703A1 (en) Namespace server using referral protocols
US20070088702A1 (en) Intelligent network client for multi-protocol namespace redirection
US7831643B1 (en) System, method and computer program product for multi-level file-sharing by concurrent users
US20070038697A1 (en) Multi-protocol namespace server
US8984031B1 (en) Managing data storage for databases based on application awareness
US8694549B2 (en) Dynamic management of multiple persistent data stores
US7409397B2 (en) Supporting replication among a plurality of file operation servers
US5239647A (en) Data storage hierarchy with shared storage level
US6678700B1 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
US6938039B1 (en) Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
AU639802B2 (en) Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US5905990A (en) File system viewpath mechanism
US7483915B2 (en) Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US6530036B1 (en) Self-healing computer system storage
US7376658B1 (en) Managing cross-store relationships to data objects
US20050256907A1 (en) Systems and methods for the utilization of metadata for synchronization optimization
US20050114291A1 (en) System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20020143795A1 (en) Improved method and system of computer file management
US20050055380A1 (en) Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US20050049994A1 (en) Systems and methods for the implementation of a base schema for organizing units of information manageable by a hardware/software interface system
US6789086B2 (en) System and method for retrieving registry data
CA2532909A1 (en) Systems and methods for interfacing application programs with an item-based storage platform
RU2358312C2 (ru) Система и способ представления для пользователя взаимосвязанных элементов