JP3516362B2 - 共有データ処理装置及び共有データ処理システム - Google Patents

共有データ処理装置及び共有データ処理システム

Info

Publication number
JP3516362B2
JP3516362B2 JP04189595A JP4189595A JP3516362B2 JP 3516362 B2 JP3516362 B2 JP 3516362B2 JP 04189595 A JP04189595 A JP 04189595A JP 4189595 A JP4189595 A JP 4189595A JP 3516362 B2 JP3516362 B2 JP 3516362B2
Authority
JP
Japan
Prior art keywords
data
update
shared data
predetermined
storage device
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.)
Expired - Fee Related
Application number
JP04189595A
Other languages
English (en)
Other versions
JPH08235046A (ja
Inventor
真司 住元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP04189595A priority Critical patent/JP3516362B2/ja
Priority to US08/602,367 priority patent/US5813016A/en
Publication of JPH08235046A publication Critical patent/JPH08235046A/ja
Application granted granted Critical
Publication of JP3516362B2 publication Critical patent/JP3516362B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • 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
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高信頼性と高性能を必
要とする、複数のホスト装置等の複数のシステムによっ
て利用される共有記憶装置上での共有データの参照・更
新方式に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】従来、
複数のシステムが1つの記憶装置(共有記憶装置)上の
データ(共有データ)を共有することのできる方式が種
々存在する。
【0003】複数のシステムが共有記憶装置上の共有デ
ータを共有するための第1の従来方式として、クライア
ント−サーバ方式が知られている。この方式において
は、共有記憶装置が1つのサーバ装置に接続される。他
のクライアント装置は、共有記憶装置上の共有データに
アクセスする場合には、サーバ装置にアクセス依頼を送
信する。そして、サーバ装置はクライアント装置又は自
装置からのアクセス依頼を順番に又は所定の優先順位に
従って受け付け、各アクセス依頼に対応して共有記憶装
置にアクセスする。具体的には、ネットワークファイル
システム(NFS )等のクライアント−サーバ方式が良く
知られている。
【0004】しかし、第1の従来方式では、他のクライ
アント装置から共有記憶装置へのアクセス依頼がサーバ
装置に集中するため、サーバ装置にかかる負荷が大きく
なってしまう。この結果、共有記憶装置に対するアクセ
ス処理の性能が低下してしまうという問題点を有してい
る。
【0005】また、サーバ装置に障害が発生すると、他
のクライアント装置は共有記憶装置にアクセスできなく
なってしまうという問題点も有している。クライアント
−サーバ方式における上述のような問題点を解決するた
めの第2の従来方式として、分散ロックマネージャ等の
ロック機構を利用した多重化システムが知られている。
このシステムでは、例えば、共有記憶装置にSCSIバス等
を介して複数のホスト装置が接続される。ホスト装置
は、共有記憶装置上の共有データにアクセスするとき
は、その共有データにロックを設定する。ロックが設定
された共有データに対する他のホスト装置からのアクセ
スは制限される。共有データに対するアクセスが終了す
ると、その共有データに対するロックは解除される。こ
れにより、例えば、複数のホスト装置が1つの共有デー
タを同時に更新するというような、アクセスの競合を回
避することができる。
【0006】しかし、ロック機構を利用した第2の従来
方式では、各ホスト装置は、共有データへのアクセスに
先立って、他のホスト装置との間でロックのための通信
を行うと共に、その共有データにロックを設定するため
の制御処理を実行する必要がある。この結果、第2の従
来方式では、共有記憶装置上の共有データのアクセス処
理において、ロックのためのオーバヘッドが必要となっ
てしまい、共有記憶装置に対するアクセス処理の性能が
低下してしまうという問題点を有している。
【0007】また、ロック機構を利用した第2の従来方
式では、例えば、ホスト装置A上のプロセスAが共有記
憶装置上の第1の共有データにアクセスしその第1の共
有データにロックを設定している状態において、ホスト
装置BのプロセスBが共有記憶装置上の第2の共有デー
タにアクセスしその第2の共有データにロックを設定し
ているために、プロセスAが第2の共有データのロック
が解除されるのを待っている状態において、プロセスB
は逆に第1の共有データのロックが解除されるのを待っ
ている状態になったような場合に、双方のプロセスとも
待ち状態から抜け出せなくなってしまう、いわゆるデッ
ドロックの状態に陥ってしまうおそれがある。このた
め、第2の従来方式では、デッドロックを回避するため
の機構が必要になって、その機構のためのオーバヘッド
が必要になるという問題点を有している。
【0008】本発明は、複数のシステムから共有記憶装
置上の共有データへのアクセスにおいて、それらのアク
セスが1つのシステムに集中することを回避すると共
に、ロック機構等の排他制御の必要性を排除することを
目的とする。
【0009】
【課題を解決するための手段】図1は、本発明のブロッ
ク図である。本発明は、複数のデータ処理装置が、共有
記憶装置103(ファイルシステム本体部203)及び
更新記憶装置104(更新バッファ部204)をアクセ
スするためのバス106(SCSIバス205)を共有する
と共に、ネットワーク105(ネットワーク202)に
より相互に接続された共有データ処理システムを前提と
する。
【0010】そして、まず、複数のデータ処理装置のう
ちの少なくとも1つを構成する第1の種類のデータ処理
装置101(マスタホスト装置201m )内に、107
〜112で参照される各手段を有する。
【0011】即ち、第1の所定共有データアクセス制御
手段107(データアクセス制御部207m )は、他の
データ処理装置からネットワーク105を介して受信し
た共有記憶装置103に対する所定の共有データの更新
要求、又は自データ処理装置内で発生した所定の共有デ
ータの更新要求を受け付ける。
【0012】所定共有データ更新操作実行手段108
(ファイルシステム制御部206m )は、第1の所定共
有データアクセス制御手段107が受け付けた所定の共
有データの更新要求に対応して、所定の共有データの更
新操作を実行する。
【0013】バージョンデータ書込み手段109(仮想
デバイス部209m 内のアクセス切替部401m 内の書
込み制御部)は、所定共有データ更新操作実行手段10
8により更新された所定の共有データの1つのバージョ
ンを、更新記憶装置104に書き込む。
【0014】遅延更新手段110(遅延更新部403m
)は、更新記憶装置104に記憶されている所定の共
有データの所定のバージョンを、所定のタイミングで、
共有記憶装置103上の所定の共有データに対応する記
憶位置に書き込む。
【0015】第1の更新状態管理手段111(所在リス
ト部402m )は、更新記憶装置104における所定の
共有データの更新状態を管理する。更新状態通知手段1
12(データアクセス制御部207m )は、第1の更新
状態管理手段111が管理する更新記憶装置104にお
ける所定の共有データの更新状態を、ネットワーク10
5を介して複数のデータ処理装置に通知する。
【0016】次に、複数のデータ処理装置のうちの少な
くとも1つを構成する第2の種類のデータ処理装置10
1(スレーブホスト装置201si)内に、113〜11
6で参照される各手段を有する。
【0017】即ち、第2の所定共有データアクセス制御
手段113(データアクセス制御部207si)は、自デ
ータ処理装置内で発生した共有記憶装置103に対する
アクセス要求が所定の共有データの更新要求であった場
合には、その所定の共有データの更新要求を第1の種類
のデータ処理装置101に向けてネットワーク105に
送出する。また、第2の所定共有データアクセス制御手
段113は、上記アクセス要求が所定の共有データの参
照要求であった場合には、その所定の共有データの参照
要求を受け付ける。
【0018】所定共有データ参照操作実行手段114
(ファイルシステム制御部206si)は、第2の所定共
有データアクセス制御手段113が受け付けた所定の共
有データの参照要求に対応して、所定の共有データの参
照操作を実行する。
【0019】第2の更新状態管理手段116(バージョ
ン遷移部208si、所在リスト部402si)は、第1の
種類のデータ処理装置101からネットワーク105を
介して受信した更新記憶装置104における所定の共有
データの更新状態を管理する。
【0020】所定共有データ参照操作制御手段115
(仮想デバイス部209si内のアクセス切替部401si
内の読出し制御部)は、自データ処理装置から直接バス
106を介して、第2の更新状態管理手段116が管理
する更新記憶装置104における所定の共有データの更
新状態に応じて決定される、共有記憶装置103に記憶
されている所定の共有データ又は更新記憶装置104に
記憶されている所定の共有データの何れかに対して、所
定共有データ参照操作実行手段114によって実行され
る所定の共有データの参照操作を発行する。
【0021】以上の発明の構成において、第1の種類の
データ処理装置101は、第2の種類のデータ処理装置
102の全ての機能を含むように構成することができ
る。また、前述した所定の共有データの更新要求は、共
有記憶装置103に構築されているファイルシステム上
のファイルデータ以外の、そのファイルシステムの構造
を規定するシステムデータ(ディレクトリデータ、ディ
レクトリ及びファイルのiノード)に対する更新要求で
あるように構成することができる。
【0022】或いは、前述した所定の共有データの更新
要求は、共有記憶装置103に構築されているファイル
システム上のファイルデータ、又はそのファイルデータ
以外の、ファイルシステムの構造を規定するシステムデ
ータの何れかに対する更新要求であるように構成するこ
とができる。
【0023】次に、上述の発明の構成に基づく本発明の
第2の態様として、第1の種類のデータ処理装置101
に障害が発生した場合に、更新記憶装置104に記憶さ
れている所定の共有データを用いて、共有記憶装置10
3上の所定の共有データを修復する修復手段を更に有す
るように構成することができる。
【0024】また、上述の発明の構成に基づく本発明の
第3の態様として、更新記憶装置104に記憶されてい
る複数のバージョンの所定の共有データのうちの任意の
バージョンにアクセスするバージョンデータアクセス手
段を更に有するように構成することができる。
【0025】更に、上述の発明の構成に基づく本発明の
第4の態様として、ネットワーク105に複数の第1の
種類のデータ処理装置101が接続され、その複数の第
1の種類のデータ処理装置101のうちの運用されてい
る1台に障害が発生した場合に、他の第1の種類のデー
タ処理装置101が更新記憶装置104に対する制御機
能を引き継ぐように構成することができる。
【0026】最後に、上述の発明の構成に基づく本発明
の第5の態様として、更新記憶装置104はリングバッ
ファによって構成され、バージョンデータ書込み手段1
09による更新記憶装置104であるリングバッファに
対する所定の共有データの書込み動作は、追加書込みの
形態のみによって実行され、遅延更新手段110は、更
新記憶装置104であるリングバッファに対する所定の
共有データの書込み量に応じて起動されるように構成す
ることができる。
【0027】
【作用】本発明では、第1の種類のデータ処理装置10
1及び第2の種類のデータ処理装置102による所定の
共有データに対する更新動作は、第2の所定共有データ
アクセス制御手段113及びネットワーク105を介し
て、全て第1の種類のデータ処理装置101内の第1の
所定共有データアクセス制御手段107により受け付け
られた後に、所定共有データ更新操作実行手段108に
よって実行され、その更新結果は、バージョンデータ書
込み手段109によって更新記憶装置104に書き込ま
れる。
【0028】その間、第2の種類のデータ処理装置10
2による所定の共有データに対する参照動作は、自デー
タ処理装置内の第2の所定共有データアクセス制御手段
113によって受け付けられた後、自データ処理装置内
の所定共有データ参照操作実行手段114によって実行
され、その参照操作は、所定共有データ参照操作制御手
段115によって、共有記憶装置103に対して実行さ
れる。この結果、共有記憶装置103に記憶されている
1つ前のバージョンの上記所定の共有データがアクセス
される。このため、上記所定の共有データに対してロッ
クを設定する必要はない。
【0029】また、第1の種類のデータ処理装置101
において上記所定の共有データに対する更新動作が実行
されている間に、任意の第2の種類のデータ処理装置1
02において上記所定の共有データに対する新たな更新
要求が発生した場合は、その更新要求は第1の種類のデ
ータ処理装置101に転送される。第1の種類のデータ
処理装置101は、例えばキューを用いることによっ
て、各更新要求をその到着順に順次処理するため、更新
動作のアトミック性は確保される。
【0030】バージョンデータ書込み手段109が、新
しいバージョンの所定の共有データを更新記憶装置10
4に書き込んだ後、更新状態通知手段112は、この所
定の共有データの所在が共有記憶装置103から更新記
憶装置104に変更されたことを示す更新状態を第1の
更新状態管理手段111から読み出し、それを他の全て
の第2の種類のデータ処理装置102に向けてネットワ
ーク105に送出する。
【0031】第2の種類のデータ処理装置102内の第
2の更新状態管理手段116は、所定の共有データの所
在が共有記憶装置103から更新記憶装置104に変更
されたことを、ネットワーク202から受信する。これ
以後、所定共有データ参照操作制御手段115は、第2
の更新状態管理手段116が管理する上記更新状態に従
って、所定の共有データの参照操作を、更新記憶装置1
04に記憶された新しいバージョンの所定の共有データ
に対して実行させる。
【0032】一方、第1の種類のデータ処理装置101
内の遅延更新手段110は、更新記憶装置104に格納
されている新しいバージョンの所定の共有データを、適
当なタイミングで共有記憶装置103に転送する。
【0033】この間、第2の種類のデータ処理装置10
2において上記所定の共有データに対する参照要求が発
生した場合は、所定共有データ参照操作制御手段115
は、第2の更新状態管理手段116が管理する更新状態
に従って、上記所定の共有データの参照操作を、更新記
憶装置104に記憶された新しいバージョンの所定の共
有データに対して実行させる。
【0034】このように、遅延更新手段110による共
有記憶装置103に対する更新動作の間、第2の種類の
データ処理装置102は共有記憶装置103上ではなく
更新記憶装置104上の更新された所定の共有データに
対して参照操作を実行するため、上記所定の共有データ
に対してロックを設定する必要はない。
【0035】遅延更新手段110が、新しいバージョン
の所定の共有データを更新記憶装置104から共有記憶
装置103に転送した後、更新状態通知手段112は、
この所定の共有データの所在が更新記憶装置104から
共有記憶装置103に変更されたことを示す更新状態を
第1の更新状態管理手段111から読み出し、それを他
の全ての第2の種類のデータ処理装置102に向けてネ
ットワーク105に送出する。
【0036】第2の種類のデータ処理装置102内の第
2の更新状態管理手段116は、所定の共有データの所
在が更新記憶装置104から共有記憶装置103に変更
されたことを、ネットワーク202から受信する。これ
以後、所定共有データ参照操作制御手段115は、第2
の更新状態管理手段116が管理する上記更新状態に従
って、所定の共有データの参照操作を、共有記憶装置1
03に記憶された新しいバージョンの所定の共有データ
に対して実行させる。
【0037】一方、第2の種類のデータ処理装置102
が更新記憶装置104に記憶された新しいバージョンの
所定の共有データに対して参照操作を実行するようにな
った状態の後、ネットワーク105から受信した上記所
定の共有データの更新要求又は自装置内で発行した上記
所定の共有データの更新要求に対応して、第1の種類の
データ処理装置101内の所定共有データ更新操作実行
手段108において上記所定の共有データに対する新た
な更新操作の実行が開始された場合において、第2の種
類のデータ処理装置102において、上記所定の共有デ
ータに対する参照要求が発生した場合、それに対応する
参照操作は、所定共有データ参照操作制御手段115に
よって、更新記憶装置104上の1つ前のバージョンの
上記所定の共有データに対して実行される。
【0038】この場合、第1の種類のデータ処理装置1
01内のバージョンデータ書込み手段109による上記
所定の共有データに対する新たな更新操作は、更新記憶
装置104上の新しいバージョンのために割り当てられ
た記憶位置に対して実行され、その間、第2の種類のデ
ータ処理装置102内の所定共有データ参照操作制御手
段115は、参照操作を、更新記憶装置104上の1つ
前のバージョンの上記所定の共有データに対応する記憶
位置に対して実行するため、上記所定の共有データに対
してロックを設定する必要はない。
【0039】バージョンデータ書込み手段109が、最
新バージョンの所定の共有データを更新記憶装置104
に書き込んだ後、更新状態通知手段112は、この所定
の共有データの所在が更新記憶装置104上の1つ前の
バージョンの記憶位置から最新バージョンの記憶位置に
変更されたことを示す更新状態を第1の更新状態管理手
段111から読み出し、それを他の全ての第2の種類の
データ処理装置102に向けてネットワーク105に送
出する。
【0040】第2の種類のデータ処理装置102内の第
2の更新状態管理手段116は、所定の共有データの所
在が更新記憶装置104上で変更されたことを、ネット
ワーク202から受信する。これ以後、所定共有データ
参照操作制御手段115は、第2の更新状態管理手段1
16が管理する上記更新状態に従って、所定の共有デー
タの参照操作を、更新記憶装置104に記憶された最新
バージョンの所定の共有データに対して実行させる。
【0041】第1の種類のデータ処理装置101内の遅
延更新手段110は、更新記憶装置104に格納されて
いる複数のバージョンの所定の共有データのうち、例え
ば最新バージョンの所定の共有データのみを、適当なタ
イミングで、共有記憶装置103に転送することができ
る。
【0042】以上説明したように、本発明では、第1の
種類のデータ処理装置101によるデータアクセスの集
中処理が所定の共有データの更新処理のみに限定され、
所定の共有データの参照処理においては、データのバー
ジョンの遷移という概念に基づき、データのアクセス先
が共有記憶装置103又は更新記憶装置104の何れか
に振り分けられることにより、ロック機構を使用しな
い、共有データへの並列アクセスを実現することができ
る。
【0043】ここで、第1の種類のデータ処理装置10
1内の所定共有データ更新操作実行手段108及び第2
の種類のデータ処理装置102内の所定共有データ参照
操作実行手段114は、従来からある通常のファイルシ
ステムの機能として実現することができるため、従来の
ネットワークシステムに本発明の機能を追加すること
が、容易に実現できる。
【0044】また、第1の種類のデータ処理装置101
が第2の種類のデータ処理装置102の全ての機能を含
むように構成されることにより、第1の種類のデータ処
理装置101と第2の種類のデータ処理装置102を、
対等な関係のもとでネットワーク105に接続すること
ができる。
【0045】また、所定の共有データの更新要求が、共
有記憶装置103に構築されているファイルシステム上
のファイルデータ以外の、そのファイルシステムの構造
を規定するシステムデータ(ディレクトリデータ、ディ
レクトリ及びファイルのiノード)に対する更新要求で
あるように構成されることにより、第1の種類のデータ
処理装置101への更新要求の集中を回避することがで
きる。
【0046】或いは、所定の共有データの更新要求が、
共有記憶装置103に構築されているファイルシステム
上のファイルデータ、又はそのファイルデータ以外の、
ファイルシステムの構造を規定するシステムデータの何
れかに対する更新要求であるように構成されることによ
り、共有データの信頼性を最大限に高めることができ
る。
【0047】本発明の第2の態様では、更新記憶装置1
04の所定の共有データを用いることにより、ホスト障
害などの発生時において、共有記憶装置103上の所定
の共有データを容易に修復することができる。
【0048】本発明の第3の態様では、更新記憶装置1
04上の複数のバージョンの所定の共有データに自由に
アクセスすることができるようになる。本発明の第4の
態様では、ホスト障害などの発生時において、バックア
ップ用の第1の種類のデータ処理装置101が、更新記
憶装置104に対する制御機能を安全に引き継ぐことが
できる、本発明の第5の態様では、更新記憶装置104
がリングバッファによって構成されることで、更新記憶
装置104に対するバージョンデータ書込み手段109
及び遅延更新手段110による制御を単純化させること
ができる。
【0049】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。 <実施例の全体構成>図2は、本発明の実施例の構成図
である。
【0050】この実施例では、複数のホスト装置201
は、イーサネット等のネットワーク202によって相互
に接続される。また、複数のホスト装置201は、共通
のSCSIバス205を介し、ファイルシステム本体部20
3と更新バッファ部204を共有する。ファイルシステ
ム本体部203は、ブートブロック、スーパーブロック
等の管理データと、iノードデータと、ディレクトリフ
ァイル、通常ファイル、スペシャルファイル等を含むフ
ァイルデータとから構成され、SCSIバス205に接続さ
れる特には図示しない磁気ディスク記憶装置上に構築さ
れている。更新バッファ部204は、例えば、上記磁気
ディスク記憶装置上の、ファイルシステム本体部203
が構築されているパーティションと同じパーティション
内の連続領域に確保される。なお、更新バッファ部20
4は、必ずしも磁気ディスク記憶装置上に確保される必
要はなく、不揮発の半導体記憶装置上等に確保されても
よい。
【0051】複数のホスト装置201は同じ機能を有す
るように構成することができるが、運用時には、1つの
ホスト装置201がマスタホスト装置201m として設
定され、他のホスト装置201がスレーブホスト装置2
01s1〜201snとして設定される。
【0052】以下の説明においては、添字“m ”は、そ
れが付加される番号が指すブロックが、マスタホスト装
置201m に属することを示している。同様に、添字
“s1”〜“sn”は、それぞれが付加される番号が指すブ
ロックが、各スレーブホスト装置201s1〜201snに
属することを示しており、添字“si”は、それが付加さ
れる番号が指すブロックが任意のスレーブホスト装置2
01siに属することを示している。 <実施例の概略動作>本実施例の各ホスト装置201の
具体的な構成について説明する前に、本実施例の概略動
作について説明する。ステップ1 本実施例においては、スレーブホスト装置201si内の
アプリケーション部210siから発行された所定の共有
データ(iノード、ディレクトリファイル、ファイル本
体等の各データ。以下単に、“所定データ”と記載す
る。)に対するアクセス要求のうち、更新要求(書込み
要求)のみが、ネットワーク202を経由してマスタホ
スト装置201m に転送される。マスタホスト装置20
1m では、ネットワーク202から受信した更新要求又
は自装置内で発行した更新要求に対応して、ファイルシ
ステム本体部203上の所定データに対する更新動作が
実行され、その結果得られるデータは、ファイルシステ
ム本体部203に対してではなく、更新バッファ部20
4内のバージョンデータ格納領域213に、更新された
所定データとして順次記憶される。
【0053】なお、例えば通常ファイルの削除操作は、
そのファイルが属するディレクトリファイルのエントリ
からその通常ファイルのエントリを削除して、その通常
ファイルのiノードを解放する操作として規定できる。
即ち、ファイルの削除操作においては、ディレクトリフ
ァイルに対応する更新された所定データとiノードに対
応する更新された所定データが更新バッファ部204に
書き込まれることになる。このため、ファイルの削除操
作は、ファイルの作成操作及びファイルの書込み操作と
共に、更新バッファ部204に対して更新された所定デ
ータを書き込む操作として規定できる。
【0054】マスタホスト装置201m において上記所
定データに対する更新動作が実行されている間であっ
て、マスタホスト装置201m から後述する所在変更通
知が通知されるまでの間において、任意のスレーブホス
ト装置201si内のアプリケーション部210siにおい
て、上記所定データに対する参照要求(読出し要求)が
発生した場合には、そのスレーブホスト装置201si
は、マスタホスト装置201m を経由することなく、SC
SIバス205を介して、ファイルシステム本体部203
上の上記所定データを直接参照することができる。この
時点では、スレーブホスト装置201siは、マスタホス
ト装置201m により更新された新しいバージョンの所
定データではなく、ファイルシステム本体部203に記
憶されている古いバージョンの所定データにアクセスし
ていることになる。
【0055】このように、マスタホスト装置201m に
よる上記所定データに対する更新動作は更新バッファ部
204に対して実行され、その間、スレーブホスト装置
201siはファイルシステム本体部203上の1つ前の
バージョンの上記所定データにアクセスするため、上記
所定データに対してロックを設定する必要はない。
【0056】また、マスタホスト装置201m において
上記所定データに対する更新動作が実行されている間
に、任意のスレーブホスト装置201siにおいて上記所
定データに対する新たな更新要求が発生した場合は、そ
の更新要求はマスタホスト装置201m に転送される。
マスタホスト装置201m は、キューを用いることによ
って、各更新要求をその到着順に順次処理するため、更
新動作のアトミック性は確保される。
【0057】なお、ファイルシステム本体部203内
の、各ホスト装置201がローカルに管理する所定デー
タ(iノード、ディレクトリファイル、ファイル本体等
の各データ)に対して、そのホスト装置201内のアプ
リケーション部210でアクセス要求(更新要求又は参
照要求)が発生した場合、そのホスト装置201内のデ
ータアクセス制御部207が、共有データのマウント情
報等に基づいて、そのアクセス要求に対応するアクセス
関数をそのホスト装置201内のファイルシステム制御
部206に発行することにより、共有データに係るアク
セス要求とは独立して、そのホスト装置201からSCSI
バス205を介して上記ファイルシステム本体部203
内のローカルな所定データが直接アクセスされる。ステップ2 マスタホスト装置201m は、ステップ1で新しいバー
ジョンの所定データを更新バッファ部204に書き込ん
だ後、その所定データの所在がファイルシステム本体部
203から更新バッファ部204に変更されたことを示
す所在変更通知を、他の全てのスレーブホスト装置20
1s1〜201snに向けてネットワーク202に送出す
る。
【0058】任意のスレーブホスト装置201siは、こ
の所在変更通知を受信した後は、上記所定データに対す
るアクセス先を、ファイルシステム本体部203から更
新バッファ部204に変更する。これ以後、スレーブホ
スト装置201siは、マスタホスト装置201m によっ
て更新され更新バッファ部204に記憶された新しいバ
ージョンの所定データにアクセスするようになる。ステップ3 マスタホスト装置201m は、ステップ2で所在変更通
知をネットワーク202に送出した後、更新バッファ部
204に格納されている新しいバージョンの所定データ
を、適当なタイミングでファイルシステム本体部203
に転送する。
【0059】マスタホスト装置201m において新しい
バージョンの所定データに対する更新バッファ部204
からファイルシステム本体部203への転送動作が実行
されている間であって、マスタホスト装置201m から
新たな所在変更通知が通知されるまでの間において、任
意のスレーブホスト装置201si内のアプリケーション
部210siにおいて、上記所定データに対する参照要求
が発生した場合には、そのスレーブホスト装置201si
は、マスタホスト装置201m を経由することなく、SC
SIバス205を介して、更新バッファ部204上の新し
いバージョンの所定データを直接参照することができ
る。
【0060】このように、マスタホスト装置201m に
よるファイルシステム本体部203に対する更新動作の
間、スレーブホスト装置201siはファイルシステム本
体部203上ではなく更新バッファ部204上の更新さ
れた所定データにアクセスするため、上記所定データに
対してロックを設定する必要はない。ステップ4 マスタホスト装置201m は、ステップ3で新しいバー
ジョンの所定データをファイルシステム本体部203に
転送した後、その所定データが更新バッファ部204か
ら削除されたことを示す所在変更通知を、他の全てのス
レーブホスト装置201s1〜201snに向けてネットワ
ーク202に送出する。
【0061】任意のスレーブホスト装置201siは、こ
の所在変更通知を受信した後は、上記所定データに対す
るアクセス先を、更新バッファ部204からファイルシ
ステム本体部203に変更する。これ以後、スレーブホ
スト装置201siは、新しいバージョンの所定データに
アクセスするようになる。ステップ5 一方、前述のステップ2の結果、スレーブホスト装置2
01siが更新バッファ部204に記憶された新しいバー
ジョンの所定データにアクセスするようになった状態の
後、ネットワーク202から受信した更新要求又は自装
置内で発行した更新要求に対応して、マスタホスト装置
201m において上記所定データに対する新たな更新動
作の実行が開始された場合、マスタホスト装置201m
から新たな所在変更通知が通知されるまでの間におい
て、任意のスレーブホスト装置201si内のアプリケー
ション部210siにおいて、上記所定データに対する参
照要求が発生した場合、そのスレーブホスト装置201
siは、マスタホスト装置201m を経由することなく、
SCSIバス205を介して、更新バッファ部204上の1
つ前のバージョンの上記所定データを直接参照すること
ができる。
【0062】この場合、マスタホスト装置201m によ
る上記所定データに対する新たな更新動作は、更新バッ
ファ部204上の新しいバージョンのために割り当てら
れた記憶位置に対して実行され、その間、スレーブホス
ト装置201siは、更新バッファ部204上の、1つ前
のバージョンの上記所定データに対応する記憶位置にア
クセスするため、上記所定データに対してロックを設定
する必要はない。ステップ6 マスタホスト装置201m は、ステップ5で上記所定デ
ータの最新バージョンを更新バッファ部204に書き込
んだ後、そのデータの所在が更新バッファ部204上の
1つ前のバージョンに対応する記憶位置から最新バージ
ョンに対応する記憶位置に変更されたことを示す所在変
更通知を、他の全てのスレーブホスト装置201s1〜2
01snに向けてネットワーク202に送出する。
【0063】任意のスレーブホスト装置201siは、こ
の所在変更通知を受信した後は、上記所定データに対す
るアクセス先を、更新バッファ部204上の1つ前のバ
ージョンに対応する記憶位置から最新バージョンに対応
する記憶位置に変更する。これ以後、スレーブホスト装
置201siは、マスタホスト装置201m によって新た
に更新され更新バッファ部204に記憶された最新バー
ジョンの所定データにアクセスするようになる。ステップ7 マスタホスト装置201m は、ステップ6で所在変更通
知をネットワーク202に送出した後、更新バッファ部
204に格納されている複数のバージョンの所定データ
のうち、最新バージョンの所定データのみを、適当なタ
イミングで、ファイルシステム本体部203に転送す
る。以上のステップ1〜ステップ7として説明したよう
に、本実施例においては、マスタホスト装置201m に
よるデータアクセスの集中処理がデータの更新処理のみ
に限定され、データの参照処理においては、データのバ
ージョンの遷移という概念に基づき、データのアクセス
先がファイルシステム本体部203又は更新バッファ部
204の何れかに振り分けられることにより、ロック機
構を使用しない、共有データへの並列アクセスを実現す
ることができる。
【0064】図3は、上述した、バージョン遷移の概念
に基づくファイルシステムの一貫性確保の動作イメージ
を示す図である。マスタホスト装置201m では、所定
データが更新される毎にそのバージョンが上がってゆく
と共に、他のスレーブホスト装置201s1〜201snに
所在変更通知が通知される。スレーブホスト装置201
siでは、所在変更通知が有効に受信される毎に、参照す
る所定データのバージョンが上がってゆく。 <実施例の詳細構成>上述の機能を実現するための、本
発明の実施例のホスト装置201の詳細な構成について
説明する。
【0065】各ホスト装置201は、少なくとも、特に
は図示しないプロセッサと主記憶装置等を備えており、
これらのハードウエアによって実行されるオペレーティ
ングシステム及びアプリケーションプログラムの機能が
実現される。これらの機能のうち、本発明に特に関連す
る機能ブロックとして、ホスト装置201は、アプリケ
ーション部210、ファイルシステム制御部206、デ
ータアクセス制御部207、バージョン遷移部208、
仮想デバイス部209、及びデバイスドライバ部211
を含む。
【0066】まず、アプリケーション部210は、ユー
ザからのコマンドに基づき並列(時分割的)に実行され
るアプリケーションプログラムのプロセスに対応する。
次に、データアクセス制御部207は、所定データが属
するファイルシステムの種別、及び各アクセス要求に対
応するアクセス関数(open,write,read,close等)への
ポインタ等からなる、vノードと呼ばれる情報に基づい
て、アプリケーション部210からの所定データに対す
るアクセス要求を処理する。このvノードは、後述する
iノードと共にファイルシステム本体部203内又は後
述する更新バッファ部204内に記憶される。データア
クセス制御部207は、ファイルシステム制御部20
6、仮想デバイス部209、デバイスドライバ部21
1、及びSCSIバス205を介して、上記vノードにアク
セスする。
【0067】データアクセス制御部207の具体的な機
能を以下に示す。まず、データアクセス制御部207
は、第1の機能として、アプリケーション部210から
の所定データに対するアクセス要求を、ローカルな要求
とリモートの要求に振り分ける処理を行う。
【0068】即ち、スレーブホスト装置201si内のア
プリケーション部210siで発生した所定データに対す
るアクセス要求が、ファイルシステム本体部203上の
共有データに対する更新要求(書込み要求)であった場
合には、データアクセス制御部207siは、その更新要
求をマスタホスト装置201m に対するリモートプロシ
ジャコールに変換し、それを当該マスタホスト装置20
1m へ向けてネットワーク202に送出する。
【0069】また、スレーブホスト装置201si内のア
プリケーション部210siで発生した所定データに対す
るアクセス要求が、ファイルシステム本体部203上の
共有データに対する参照要求(読出し要求)であった場
合、又はファイルシステム本体部203上又はその他の
ファイルシステム上のローカルなデータに対するアクセ
ス要求(更新要求又は参照要求)であった場合には、デ
ータアクセス制御部207siは、そのアクセス要求に対
するアクセス関数を、自スレーブホスト装置201si内
のファイルシステム制御部206siに対して発行する。
【0070】マスタホスト装置201m 内のデータアク
セス制御部207m は、任意のスレーブホスト装置20
1siからネットワーク202を介して受信したリモート
プロシジャコールによるアクセス要求と、自マスタホス
ト装置201m 内のアプリケーション部210m で発生
したアクセス要求を、各アクセス要求に対応するアクセ
ス関数に変換し、それを自マスタホスト装置201m 内
のファイルシステム制御部206m に対して発行する。
【0071】データアクセス制御部207は、第2の機
能として、所定データに対するアクセス要求に対応する
アクセス関数をファイルシステム制御部206に対して
発行する場合に、各アクセス要求をキューに登録し、こ
のキュー上の各アクセス要求に対応するトランザクショ
ン処理を順次実行することにより、特にマスタホスト装
置201m 内のデータアクセス制御部207m による所
定データの更新操作において、複数のアクセス要求間で
矛盾が生じないように制御する。これにより、データ操
作のアトミック性が確保される。
【0072】データアクセス制御部207は、第3の機
能として、それがマスタホスト装置201m 内のデータ
アクセス制御部207m である場合に、仮想デバイス部
209m に対し、所定データの更新要求に基づいてファ
イルシステム制御部206mにより更新され、当該ファ
イルシステム制御部206m 内のキャッシュに記憶され
たトランザクションデータ(更新された所定データ)
を、デバイスドライバ部211m からSCSIバス205を
介して、更新バッファ部204内のバージョンデータ格
納領域213に格納するよう指示する。
【0073】データアクセス制御部207は、第4の機
能として、それがマスタホスト装置201m 内のデータ
アクセス制御部207m である場合に、上述の第3の機
能によって更新バッファ部204に格納されたトランザ
クションデータ(更新された所定データ)の、ファイル
システム本体部203上の記憶位置と、更新バッファ部
204上の記憶位置と、データ長等を含む所在データを
通知するための所在変更通知を、他の全てのスレーブホ
スト装置201s1〜201snに向けてネットワーク20
2に送出する。
【0074】次に、バージョン遷移部208は、それが
スレーブホスト装置201si内のバージョン遷移部20
8siである場合に、機能する。まず、バージョン遷移部
208siは、第1の機能として、マスタホスト装置20
1m からネットワーク202を介して通知された所在変
更通知に含まれる所在データに基づき、システム内の排
他制御を行いながら、仮想デバイス部209si内の後述
する所在リスト部402siが管理する所在リストを更新
する。
【0075】バージョン遷移部208siは、第2の機能
として、マスタホスト装置201mからネットワーク2
02を介して通知された所在変更通知をキューに登録
し、そのキュー上の所在変更通知を順次処理することに
よって、所在リストの状態遷移のアトミック性を確保す
る。
【0076】また、バージョン遷移部208siは、第3
の機能として、ファイルシステム制御部206siに対
し、所在変更通知に対応するキャッシュ上の所定データ
を無効にさせる指示を発行する。
【0077】次に、ファイルシステム制御部206は、
データアクセス制御部207から発行されたアクセス関
数に基づいて、ファイルシステム本体部203上の所定
データに対するアクセス処理を実行する。ここで、デー
タアクセス制御部207は、キャッシュを内蔵してお
り、このキャッシュに対する制御も併せて実行する。こ
のファイルシステム制御部206は、従来からあるファ
イルシステムの制御機能そのものである。
【0078】次に、仮想デバイス部209は、ファイル
システム制御部206からファイルシステム本体部20
3上の所定データに対する低水準のアクセス操作を、フ
ァイルシステム本体部203と更新バッファ部204の
何れかに振り分ける。ファイルシステム制御部206
は、あくまでもファイルシステム本体部203に対して
アクセス操作を発行するが、この操作が仮想デバイス部
209で刈り取られることにより、ファイルシステム本
体部203と更新バッファ部204の何れかに振り分け
れることが、本発明に関連する特徴である。即ち、本実
施例は、従来からあるファイルシステム制御部206の
機能を、本発明に関連するデータアクセス制御部20
7、バージョン遷移部208と、仮想デバイス部209
とにより、プロトコル的に挟み込んだサンドイッチ構造
を有する点が、大きな特徴である。
【0079】図4は、仮想デバイス部209の構成図で
ある。アクセス切替部401は、特には図示しない読出
し制御部と書込み制御部とから構成される。
【0080】アクセス切替部401内の特には図示しな
い読出し制御部は、所在リスト部402に記憶される所
在リストを参照することにより、ファイルシステム制御
部206で発行されたファイルシステム本体部203上
の所定データに対する読出し操作を、ファイルシステム
本体部203と更新バッファ部204の何れかに振り分
ける。
【0081】ファイルシステム制御部206において発
行される読出し操作は、所定データに対するファイルシ
ステム本体部203上の記憶位置を指定して発行され
る。より具体的には、上記読出し操作は、上記ファイル
システム本体部203上の記憶位置に対応する、例えば
ディスク番号とトラック番号とセクタ番号を指定した、
低水準のデータ操作である。
【0082】図5は、図4の所在リスト部402に記憶
される所在リストの例を示した図である。この所在リス
トには、更新バッファ部204に記憶されている更新さ
れた所定データに関して、その所定データに対応するフ
ァイルシステム本体部203上の記憶位置(ファイルシ
ステム位置)と、その所定データに対応する更新バッフ
ァ部204上の記憶位置(更新バッファ位置)と、その
所定データのデータ長(ブロック長)と、その所定デー
タの更新状態を示す更新フラグとから構成される、所在
データが記憶されている。
【0083】ファイルシステム位置と更新バッファ位置
は、例えばそれぞれ、ディスク番号と、トラック番号
と、セクタ番号とによって表現される。更新フラグとし
ては、更新された所定データに対して更新動作が実行中
であることを示す更新中フラグ、更新された所定データ
に対して更新動作が終了していることを示す更新済みフ
ラグ、更新された所定データに対して後述する遅延更新
部403が処理を実行していることを示す遅延更新中フ
ラグ、更新された所定データに対して後述する遅延更新
部403が処理を終了したことを示す遅延更新済みフラ
グ等がある。
【0084】アクセス切替部401内の特には図示しな
い読出し制御部は、ファイルシステム制御部206で発
行された所定データに対する読出し操作によって指定さ
れるファイルシステム本体部203の記憶位置が、所在
リスト部402に記憶される所在リスト内の何れかの所
在データの“ファイルシステム位置”項目の最新値と一
致するか否かを検索する。そして、上記読出し制御部
は、上記検索に成功した場合には、当該所在データ内の
“更新バッファ位置”項目の値と“データ長”項目の値
を参照することにより、上記所定データに対する読出し
操作を、更新バッファ部204に対して実行し、上記検
索に失敗した場合には、上記所定データに対する読出し
操作を、ファイルシステム本体部203に対して実行す
る。
【0085】一方、アクセス切替部401内の特には図
示しない書込み制御部は、ファイルシステム制御部20
6が所定データに対する書込み操作を発行すると、その
書込み操作によってファイルシステム制御部206内の
キャッシュに書き込まれた更新された所定データを、自
身が生成した後述するヘッダ部及びフッタ部と共に、更
新バッファ部204に書き込む。
【0086】その後、上記書込み制御部は、所在リスト
部402内の所在リストに、更新バッファ部204に書
き込まれた新しいバージョンの所定データに関する所在
データを追加し、その追加された所在データに関する所
在変更通知の発行を、データアクセス制御部207m に
対して依頼する。これを受けて、データアクセス制御部
207m は、新しいバージョンの上記所定データが更新
バッファ部204に追加されたことを示す所在変更通知
を、他の全てのスレーブホスト装置201s1〜201sn
に向けてネットワーク202に送出する。
【0087】任意のスレーブホスト装置201si内のバ
ージョン遷移部208siは、この所在変更通知を受信す
ると、その所在変更通知に基づいて仮想デバイス部20
9si内の所在リスト部402siに記憶されている所在リ
ストを更新する。
【0088】この結果、スレーブホスト装置201siか
らアクセスされる上記所定データのアクセス先が上述の
新たな所在リストに従って変更され、上記所定データの
バージョンが上がることになる。
【0089】次に、図4の遅延更新部403は、仮想デ
バイス部209がマスタホスト装置201m 内の仮想デ
バイス部209m に含まれる遅延更新部403m である
場合に機能する。遅延更新部403m は、所在リスト部
402m に記憶されている所在リストを参照しながら、
更新バッファ部204に格納されている所定データの最
新バージョンを、適当なタイミングで、ファイルシステ
ム本体部203上の、上記所定データに対応する記憶位
置に転送する。ここで、“適当なタイミング”とは、例
えば更新バッファ部204の空き記憶容量が所定値以下
になった時点、マスタホスト装置201m 上のプロセッ
サの空き時間、ファイルシステム制御部206m におけ
るメモリ使用量が一定以上になった場合、ファイルシス
テム制御部206m からのアクセス要求が一定時間なか
った場合等である。
【0090】上記転送処理において、遅延更新部403
m は、例えば転送の順番をスケジュールすることによ
り、転送効率を向上させることができる。具体的には、
例えば、遅延更新部403m は、使用ブロック数の小さ
い所定データから順に転送することにより、ファイルシ
ステム本体部203が格納されている磁気ディスク記憶
装置におけるシーク時間を短縮することができる。或い
は、遅延更新部403mは、連続したブロックは1回の
転送処理でまとめて転送することにより、磁気ディスク
記憶装置へのアクセスを効率的に実行することができ
る。更に、入出力処理に高い負荷がかかっている場合に
は、転送のタイミングを早め転送間隔を空けることによ
り、負荷を低減させることができる。
【0091】続いて、遅延更新部403m は、所在リス
ト部402m に記憶される所在リストから、転送が完了
した所定データに対応する全てのバージョンの所在デー
タを削除する。
【0092】その後、遅延更新部403m は、更新バッ
ファ部204からファイルシステム本体部203への転
送が完了した所在データの所在リストからの削除を要求
する所在変更通知の発行を、データアクセス制御部20
7m に対して依頼する。これを受けて、データアクセス
制御部207m は、当該所在変更通知を、他の全てのス
レーブホスト装置201s1〜201snに向けてネットワ
ーク202に送出する。
【0093】任意のスレーブホスト装置201si内のバ
ージョン遷移部208siは、この所在変更通知を受信す
ると、その所在変更通知に基づいて仮想デバイス部20
9si内の所在リスト部402siに記憶されている所在リ
ストを更新する。
【0094】この結果、スレーブホスト装置201siか
らアクセスされる上記所定データのアクセス先が、更新
バッファ部204からファイルシステム本体部203に
変更される。
【0095】次に、デバイスドライバ部211は、SCSI
バス205に対する信号インタフェースを制御する。最
後に、更新バッファ部204の構成にして説明する。
【0096】更新バッファ部204は、図2に示される
ように、マスタホスト決定領域212とバージョンデー
タ格納領域213とから構成される。マスタホスト決定
領域212には、複数のホスト装置201のうちマスタ
ホスト装置201m を決定するための情報が格納され
る。
【0097】バージョンデータ格納領域213には、マ
スタホスト装置201m によって更新された各バージョ
ンの所定データが格納される。図6は、バージョンデー
タ格納領域213に記憶されるデータの構成図である。
【0098】バージョンデータ格納領域213は、リン
グバッファとして構成される。この領域内の各更新され
た所定データは、ヘッダ部、データ部、及びフッタ部と
から構成されており、ヘッダ部とフッタ部のデータ構造
は同一である。
【0099】バージョンデータ格納領域213は、その
先頭から利用されてゆき、この領域の先頭には必ずヘッ
ダ部が配置される。バージョンデータ格納領域213の
有効領域の先頭と最後は、マスタホスト装置201m 内
の仮想デバイス部209m 内の前述した遅延更新部40
3m が管理し、この領域に格納されている所定データの
最新バージョンをファイルシステム本体部203に転送
する毎に、上記有効領域の先頭と最後の位置を更新す
る。
【0100】ヘッダ部には、データ部に格納される更新
された所定データの大きさ、データ連結ポインタ、バー
ジョンデータ格納領域213の有効範囲が格納されてい
る。データの大きさとしてはフッタ部の格納位置が格納
され、データ連結ポインタとしては連続番号が格納され
ることにより、フッタ部の正常性、及びフッタ部に続く
であろうヘッダ部の正常性が確認される。 <実施例の詳細動作>次に、本実施例の詳細動作例につ
いて説明する。マスタホスト装置201m でのファイルシステム更新動
作とスレーブホスト装置201siでのファイルシステム
参照動作 マスタホスト装置201m 内のアプリケーション部21
0m においてファイルシステム本体部203内の所定デ
ータに対する更新要求が発生し、これと並列して任意の
スレーブホスト装置201si内のアプリケーション部2
10siにおいて上記所定データに対する参照要求が発生
した場合の詳細動作について、図7〜図9の説明図と図
10の動作フローに基づいて説明する。
【0101】まず、図7は、ファイルシステム本体部2
03が、マスタホスト装置201m及びスレーブホスト
装置201siにマウントされた直後で、仮想デバイス部
209m 及び209siにはまだ所在リストは存在しない
状態を示している。
【0102】マスタホスト装置201m 内のアプリケー
ション部210m から、ファイルシステム本体部203
上の既存のディレクトリ/share/tmp/ の下にファイルb
の作成要求が発生し(図7の(1) 又は図10のS1の、vo
p#create)、それをマスタホスト装置201m 内のデー
タアクセス制御部207m が受け付ける。
【0103】データアクセス制御部207m は、まず、
仮想デバイス部209m に、ファイル作成のトランザク
ションの開始を指示する(図10のS2のbegin#trs )。
次に、データアクセス制御部207m は、ファイルシス
テム制御部206m に対して、ファイル作成のアクセス
関数を発行する(図10のS3のvop#call)。
【0104】これに対し、ファイルシステム制御部20
6m は、まず、ディレクトリ/share/tmp/ に対応するi
ノードが格納されている第21ブロックに対する参照操
作を発行する(図7(2) のread dir inode、図10のS
4)。
【0105】図7の例においては、マスタホスト装置2
01m 内の仮想デバイス部209m内の所在リスト部4
02m (図4)には、まだ所在リストが存在していな
い。このため、仮想デバイス部209m 内のアクセス切
替部401m (図4)内の特には図示しない読出し制御
部は、ファイルシステム制御部206m で発行された上
記第21ブロックに対する参照操作を、ファイルシステ
ム本体部203に対して実行する。
【0106】この結果、ファイルシステム本体部203
上の上記第21ブロックが読み出され、そのデータが、
仮想デバイス部209m を介して読み込まれる。ここ
で、iノードには、ファイルシステム本体部203内の
各ディレクトリファイル又は各通常ファイル等の記憶位
置情報(この例では、第43ブロック)のほか、各ファ
イルの大きさ、アクセスモード、リンク数、オーナーI
D、グループID、日付情報等の、属性情報が記憶され
る。
【0107】次に、ファイルシステム制御部206m
は、第21ブロックから取り出したiノードに格納され
ている情報に基づき、ディレクトリ/share/tmp/ に対応
するディレクトリファイルが格納されている第43ブロ
ックに対する参照操作を発行する(図7(3) のread di
r、図10のS4)。この場合も、第21ブロックの参照
の場合と同様に、仮想デバイス部209m により、ファ
イルシステム本体部203上の上記第43ブロックが読
み出され、そのデータが、仮想デバイス部209mを介
して読み込まれる。
【0108】更に、ファイルシステム制御部206m
は、空きiノードが格納されている第52ブロックに対
する参照操作を発行する(図10のS4)。この場合も、
第21又は第43ブロックの参照の場合と同様に、仮想
デバイス部209m により、ファイルシステム本体部2
03上の上記第52ブロックが読み出され、そのデータ
が、仮想デバイス部209m を介して読み込まれる。そ
して、ファイルシステム制御部206m は、その第52
ブロックのiノードに、ファイルbに関する情報を格納
する(図7(4) のread inode, modify inode for file
b )。
【0109】また、ファイルシステム制御部206m
は、第43ブロックのディレクトリファイルに、新たに
作成されるファイルbのエントリを追加すると共に、デ
ィレクトリ/share/tmp/ に対応する第21ブロックのi
ノードの内容を更新する(図7(5) のmodify dir data
and dir inode for file b)。
【0110】以上の更新結果は、ファイルシステム制御
部206m 内のキャッシュに反映されると共に、マスタ
ホスト装置201m 内の仮想デバイス部209m に通知
される(図10のS4)。
【0111】ファイルシステム制御部206m において
上述の更新動作が終了すると、データアクセス制御部2
07m は、仮想デバイス部209m に対して、上記更新
された所定データを更新バッファ部204に書き出すこ
とを指示する(図10のS5のbegin#cmt )。
【0112】仮想デバイス部209m 内のアクセス切替
部401m (図4)内の特には図示しない書込み制御部
は、上記指示を受け付けると、ファイルシステム制御部
206m 内のキャッシュに記憶されたトランザクション
データ(更新された第21、第43、及び第52ブロッ
ク)を、書込み制御部自身が生成したヘッダ部及びフッ
タ部と共に、更新バッファ部204に書き込む(図7
(6) のsync to transaction to MB 、図10のS6のsync
to MB)。
【0113】その後、上記書込み制御部は、図7に示さ
れるように、所在リスト部402m(図4)内の所在リ
ストに、更新バッファ部204に書き込まれた新しいバ
ージョンの所定データ(更新された第21、第43、及
び第52ブロック)に関する所在データ(図5参照)を
追加する。そして、上記書込み制御部は、その変更され
た所定データに関する所在変更通知の発行を、データア
クセス制御部207mに対して依頼する(図10のS
7)。
【0114】仮想デバイス部209m から所在変更通知
の発行を依頼されたデータアクセス制御部207m は、
新しいバージョンの上記所定データが更新バッファ部2
04に追加されたことを示す所在変更通知を、他の全て
のスレーブホスト装置201s1〜201snに向けてネッ
トワーク202に送出する(図10のS8のchange M
C)。
【0115】マスタホスト装置201m において第2
1、第43、及び第52ブロックに対する更新動作が実
行されている間であって、マスタホスト装置201m か
らネットワーク202に送出された上記所在変更通知を
任意のスレーブホスト装置201siが有効に受け付ける
までの間において、そのスレーブホスト装置201si内
のアプリケーション部210siにおいて、ディレクトリ
/share/tmp/ 内の既存のファイルaの参照要求が発生し
(図7の(a) 又は図10のS9の、vop#lookup)、それを
上記スレーブホスト装置201si内のデータアクセス制
御部207siが受け付けた場合を考える。
【0116】図7の例の場合、マスタホスト装置201
m での更新動作に関わる第21、第43ブロックと、当
該更新動作には関わらない第51ブロックが、上記参照
要求に対応する所定データである。
【0117】データアクセス制御部207siは、ファイ
ルシステム制御部206siに対し、ファイル参照のアク
セス関数を発行する(図10のS10 のvop#call)。これ
に対し、ファイルシステム制御部206siは、まず、デ
ィレクトリ/share/tmp/ に対応するiノードが格納され
ている第21ブロックに対する参照操作を発行する(図
7(b) のread dir inode、図10のS11 )。
【0118】図7の例では、スレーブホスト装置201
si内の仮想デバイス部209si内の所在リスト部402
si(図4)には、まだ所在リストが存在していない。こ
のため、仮想デバイス部209si内のアクセス切替部4
01si(図4)内の特には図示しない読出し制御部は、
ファイルシステム制御部206siで発行された上記第2
1ブロックに対する参照操作を、ファイルシステム本体
部203に対して実行する。
【0119】この結果、ファイルシステム本体部203
上の上記第21ブロックが、マスタホスト装置201m
を経由することなく直接読み出され(図10のS12 )、
そのデータが、仮想デバイス部209siを介して、ファ
イルシステム制御部206si内のキャッシュに読み込ま
れる。
【0120】この時点では、スレーブホスト装置201
siは、マスタホスト装置201m により更新された新し
いバージョンの第21ブロックではなく、ファイルシス
テム本体部203に記憶されている1つ前のバージョン
の第21ブロックにアクセスしていることになる。
【0121】続いて、ファイルシステム制御部206si
は、第21ブロックから取り出したiノードに格納され
ている情報に基づき、ディレクトリ/share/tmp/ に対応
するディレクトリファイルが格納されている第43ブロ
ックに対する参照操作を発行する(図7(c) のread di
r、図10のS11 )。この場合も、第21ブロックの参
照の場合と同様に、仮想デバイス部209siによって、
ファイルシステム本体部203上の上記第43ブロック
が、マスタホスト装置201m を経由することなく直接
読み出され(図10のS12 )、そのデータが、仮想デバ
イス部209siを介して、ファイルシステム制御部20
6si内のキャッシュに読み込まれる。
【0122】更に、ファイルシステム制御部206si
は、第43ブロックから取り出したディレクトリファイ
ルのエントリからファイルaに対応するiノード番号を
読み出し、それに基づいて、ファイルaに対応するiノ
ードが格納されている第51ブロックに対する参照操作
を発行する(図7(d) のread inode for file a 、図1
0のS11 )。第51ブロックはマスタホスト装置201
m における更新動作には関わらないデータであるため、
仮想デバイス部209siによって、ファイルシステム本
体部203上の上記第51ブロックが、マスタホスト装
置201m を経由することなく直接読み出され(図10
のS12 )、そのデータが、仮想デバイス部209siを介
して、ファイルシステム制御部206si内のキャッシュ
に読み込まれる。
【0123】以上の参照結果が、ファイルシステム制御
部206siから、ファイルアクセス制御部207siを介
して、スレーブホスト装置201siで実行されているア
プリケーション部210siに返される(図10のS13
)。
【0124】上記参照動作の後、マスタホスト装置20
1m からネットワーク202に送出された前述した所在
変更通知が上記スレーブホスト装置201siで有効に受
け付けられるまでの間において、更に、スレーブホスト
装置201si内のアプリケーション部210siにおい
て、ディレクトリ/share/tmp/ 内の既存のファイルaの
参照要求が発生し(図10のS14 のvop#lookup)、それ
をデータアクセス制御部207siが受け付けた場合を考
える。この場合には、その参照要求に対応する第21、
第43、及び第51ブロックの各データは、既にファイ
ルシステム制御部206si内のキャッシュに保持されて
いる。このため、データアクセス制御部207siがファ
イルシステム制御部206siに対しファイル参照のアク
セス関数を発行すると(図10のS15 のvop#call)、フ
ァイルシステム制御部206siは、キャッシュ内の上記
各ブロックの情報を、そのままファイルアクセス制御部
207siを介して、スレーブホスト装置201siで実行
されているアプリケーション部210siに返す(図10
のS16 )。
【0125】このように、マスタホスト装置201m に
よる上記各ブロックに対する更新動作は更新バッファ部
204に対して実行され、その間、スレーブホスト装置
201siはファイルシステム本体部203上又はファイ
ルシステム制御部206si内のキャッシュ上の1つ前の
バージョンの上記各ブロックにアクセスするため、上記
各ブロックに対してロックを設定する必要はない。
【0126】続いて、前述した更新動作に基づいてマス
タホスト装置201m 内のデータアクセス制御部207
m がネットワーク202に送出した所在変更通知を、任
意のスレーブホスト装置201si内のバージョン遷移部
208siが受信した後の動作について説明する。図8
は、図7の状態に続く状態を示している。
【0127】バージョン遷移部208siは、上述の所在
変更通知を受け付けると(図10のS17 のhad#invalida
te(version-up))、まず、スレーブホスト装置201si
内のアプリケーション部210siからのファイル参照要
求を禁止する(図8(a) のaccess block、図10のS18
のinode-lock)。
【0128】次に、バージョン遷移部208siは、所在
変更通知に基づいて、仮想デバイス部209si内の所在
リスト部402m (図4)に、更新バッファ部204に
書き込まれた第21、第43、及び第52ブロックの新
しいバージョンに関する所在データ(図5参照)が設定
された所在リストを設定する(図8(b) のswich vdevli
st、図10のS19 のchange vdev )。
【0129】続いて、バージョン遷移部208siは、フ
ァイルシステム制御部206siに対し、キャッシュ上
の、所在変更通知に対応する第21及び第43ブロック
を、無効にさせる指示を発行する(図8(c) のinvalida
te cache and name cache 、図10のS20 のinvalidate
cache)。なお、キャッシュ上の第51ブロックは、マ
スタホスト装置201m での更新動作に関連しないため
(図7参照)、そのブロックは無効にされない。
【0130】最後に、バージョン遷移部208siは、ス
レーブホスト装置201si内のアプリケーション部21
0siに対するファイル参照要求の禁止を解除する(図8
(d)のaccess block off、図10のS21 のinode-unloc
k)。その後、バージョン遷移部208siは、ネットワ
ーク202を介して、マスタホスト装置201m 内のデ
ータアクセス制御部207m に、所在リストのバージョ
ンアップ処理の完了を通知する(図10のS22 )。
【0131】上述のようにして、任意のスレーブホスト
装置201siが、マスタホスト装置201m の所在変更
通知に基づき、仮想デバイス部209si内の所在リスト
部402siに、更新バッファ部204に書き込まれた第
21、第43、及び第52ブロックの新しいバージョン
に関する所在データが設定された所在リストを設定した
後に、そのスレーブホスト装置201si内のアプリケー
ション部210siにおいて、ディレクトリ/share/tmp/
内の、マスタホスト装置201m において新たに作成さ
れたファイルbの参照要求が発生し(図9の(a) 又は図
10のS23 の、vop#lookup)、それを上記スレーブホス
ト装置201si内のデータアクセス制御部207siが受
け付けた場合を考える。図9は、図8の状態に続く状態
を示している。
【0132】データアクセス制御部207siは、ファイ
ルシステム制御部206siに対し、ファイル参照のアク
セス関数を発行する(図10のS24 のvop#call)。これ
に対し、ファイルシステム制御部206siは、まず、デ
ィレクトリ/share/tmp/ に対応するiノードが格納され
ている第21ブロックに対する参照操作を実行する(図
9(b) のread dir inode、図10のS25 )。
【0133】この場合、ファイルシステム制御部206
siは、始めに、バージョン遷移部208siによる所在リ
スト部402に対する所在リストの変更処理を禁止させ
た後に、キャッシュ上の第21ブロックを参照しようと
する。しかし、キャッシュ上の第21ブロックは、バー
ジョン遷移部208siによって無効にされている(図8
(c) のinvalidate cache and name cache 、図10のS2
0 のinvalidate cache)。このため、ファイルシステム
制御部206siは、当該第21ブロックに対するロック
を獲得した後に、第21ブロックに対する参照操作を仮
想デバイス部209siに発行する。
【0134】図9の例では、スレーブホスト装置201
si内の仮想デバイス部209si内の所在リスト部402
si(図4)に、マスタホスト装置201m によって更新
バッファ部204に書き込まれた第21、第43、及び
第52ブロックの新しいバージョンに関する所在データ
(図5参照)が設定されている。このため、仮想デバイ
ス部209si内のアクセス切替部401si(図4)内の
特には図示しない読出し制御部は、ファイルシステム制
御部206siで発行された上記第21ブロックに対する
参照操作を、更新バッファ部204に対して実行する。
【0135】この結果、更新バッファ部204から、新
しいバージョンの第21ブロックが読み出されて(図1
0のS26 )、そのデータが、仮想デバイス部209siを
介して、ファイルシステム制御部206si内のキャッシ
ュに読み込まれる。ファイルシステム制御部206si
は、当該第21ブロックに対するロックを解除した後、
バージョン遷移部208siに対する所在リストの変更処
理の禁止を解除する。
【0136】続いて、ファイルシステム制御部206si
は、新しいバージョンの第21ブロックから取り出した
iノードに格納されている情報に基づき、ディレクトリ
/share/tmp/ に対応するディレクトリファイルが格納さ
れている第43ブロックに対する参照操作を発行する
(図9(c) のread dir、図10のS25 )。この場合も、
第21ブロックの参照の場合と同様に、仮想デバイス部
209siによって、更新バッファ部204上の新しいバ
ージョンの第43ブロックが読み出されて(図10のS2
6 )、そのデータが、仮想デバイス部209siを介し
て、ファイルシステム制御部206si内のキャッシュに
読み込まれる。
【0137】更に、ファイルシステム制御部206si
は、第43ブロックから取り出したディレクトリファイ
ルのエントリからファイルbに対応するiノード番号を
読み出し、それに基づいて、ファイルbに対応するiノ
ードが格納されている第52ブロックに対する参照操作
を発行する(図9(d) のread inode for file b 、図1
0のS25 )。この場合も、第21又は第43ブロックの
参照の場合と同様に、仮想デバイス部209siによっ
て、更新バッファ部204上の新しいバージョンの第5
2ブロックが読み出されて(図10のS26 )、そのデー
タが、仮想デバイス部209siを介して、ファイルシス
テム制御部206si内のキャッシュに読み込まれる。
【0138】以上の参照結果が、ファイルシステム制御
部206siから、ファイルアクセス制御部207siを介
して、スレーブホスト装置201siで実行されているア
プリケーション部210siに返される(図10のS27
)。スレーブホスト装置201siでのファイルシステム更新
動作 次に、上述した図9の状態に続いて、スレーブホスト装
置201si内のアプリケーション部210siにおいてフ
ァイルシステム本体部203内の所定データに対する更
新要求が発生した場合の詳細動作について、図11〜図
13の説明図と図14の動作フローに基づいて説明す
る。
【0139】図11は、上述した図9の状態に続く状態
を示している。スレーブホスト装置201si内のアプリ
ケーション部210siから、ファイルシステム本体部2
03上の既存のディレクトリ/share/tmp/ の下にファイ
ルcの作成要求が発生し(図11の(a) 又は図14のS1
の、vop#create)、それをスレーブホスト装置201si
内のデータアクセス制御部207siが受け付ける。
【0140】データアクセス制御部207siは、パス名
/share/tmp/ に基づいて、上記ファイル作成要求が共有
データに対する要求であることを識別すると、そのファ
イル作成要求をマスタホスト装置201m に対するリモ
ートプロシジャコール(図11の(b) 又は図14のS2
の、rpc#create)に変換し、それを当該マスタホスト装
置201m へ向けてネットワーク202に送出する。
【0141】マスタホスト装置201m 内のデータアク
セス制御部207m においては、ネットワーク202か
ら受信された上記リモートプロシジャコールに基づき、
ファイル/share/tmp/cの作成要求が発生する(図11の
(1) 又は図14のS3の、vop#create)。
【0142】これ以降、前述した、マスタホスト装置2
01m 内のアプリケーション部210m においてファイ
ルシステム本体部203内の所定データに対する更新要
求が発生した場合と、同様の制御動作が実行される。
【0143】即ち、データアクセス制御部207m は、
まず、仮想デバイス部209m に、ファイル作成のトラ
ンザクションの開始を指示する(図14のS4のbegin#tr
s )。
【0144】次に、データアクセス制御部207m は、
ファイルシステム制御部206m に対して、ファイル作
成のアクセス関数を発行する(図14のS5のvop#cal
l)。これに対し、ファイルシステム制御部206m
は、まず、ディレクトリ/share/tmp/ に対応するiノー
ドが格納されている第21ブロックに対する参照操作を
発行する(図11(2) のread dir inode、図14のS
6)。
【0145】図11の例では、マスタホスト装置201
m 内の仮想デバイス部209m 内の所在リスト部402
m (図4)内の所在リストには、最新の第21、第4
3、及び第52ブロックが更新バッファ部204に存在
することを示す所在データが設定されており、かつ、そ
れらの最新の第21、第43、及び第52ブロックは、
ファイルシステム制御部206m 内のキャッシュに存在
する。
【0146】このため、ファイルシステム制御部206
m は、更新バッファ部204内の最新の第21ブロック
と同じデータをキャッシュから読み込む。次に、ファイ
ルシステム制御部206m は、第21ブロックから取り
出したiノードに格納されている情報に基づき、ディレ
クトリ/share/tmp/ に対応するディレクトリファイルが
格納されている第43ブロックに対する参照操作を発行
する(図11(3) のread dir、図14のS6)。この場合
も、第21ブロックの参照の場合と同様に、更新バッフ
ァ部204内の最新の第43ブロックと同じデータをキ
ャッシュから読み込む。
【0147】更に、ファイルシステム制御部206m
は、空きiノードが格納されている第57ブロックに対
する参照操作を発行する(図14のS6)。この場合、キ
ャッシュには第57ブロックは保持されていない。従っ
て、ファイルシステム制御部206m は、上記第57ブ
ロックに対する参照操作を、仮想デバイス部209m に
発行する。
【0148】第57ブロックは更新バッファ部204に
は存在しておらず、仮想デバイス部209m 内の所在リ
スト部402m 内の所在リストには、第57ブロックが
更新バッファ部204に存在することを示す所在データ
が設定されていない。このため、仮想デバイス部209
m 内のアクセス切替部401m (図4)内の特には図示
しない読出し制御部は、ファイルシステム制御部206
m で発行された上記第57ブロックに対する参照操作
を、ファイルシステム本体部203に対して実行する。
【0149】この結果、ファイルシステム本体部203
上の第57ブロックが、仮想デバイス部209m を介し
てファイルシステム制御部206m に読み込まれる。フ
ァイルシステム制御部206m は、その第57ブロック
のiノードに、ファイルcに関する情報を格納する(図
11(4) のread inode, modify inode for file c )。
【0150】また、ファイルシステム制御部206m
は、第43ブロックのディレクトリファイルに、新たに
作成されるファイルcのエントリを追加すると共に、デ
ィレクトリ/share/tmp/ に対応する第21ブロックのi
ノードの内容を更新する(図11(5) のmodify dir dat
a and dir inode for file c)。
【0151】以上の更新結果は、ファイルシステム制御
部206m 内のキャッシュに反映されると共に、マスタ
ホスト装置201m 内の仮想デバイス部209m に通知
される(図14のS6)。
【0152】ファイルシステム制御部206m において
上述の更新動作が終了すると、データアクセス制御部2
07m は、仮想デバイス部209m に対して、上記更新
された所定データを更新バッファ部204に書き出すこ
とを指示する(図14のS7のbegin#cmt )。
【0153】仮想デバイス部209m 内のアクセス切替
部401m (図4)内の特には図示しない書込み制御部
は、上記指示を受け付けると、ファイルシステム制御部
206m 内のキャッシュに記憶されたトランザクション
データ(更新された第21、第43、及び第57ブロッ
ク)を、書込み制御部自身が生成したヘッダ部及びフッ
タ部と共に、更新バッファ部204に書き込む(図11
(6) のsync to transaction to MB 、図14のS8のsync
to MB)。
【0154】この結果、更新バッファ部204上には、
最新の第52ブロックのほかに、1つ前のバージョンの
第21及び第43ブロックと、最新の第21、第43、
及び第57ブロックが記憶されたことになる。
【0155】その後、上述の書込み制御部は、図11に
示されるように、所在リスト部402m (図4)内の所
在リストに、更新バッファ部204に書き込まれた最新
バージョンの所定データ(更新された第21、第43、
及び第57ブロック)に関する所在データを追加する。
そして、上記書込み制御部は、その変更された所定デー
タに関する所在変更通知の発行を、データアクセス制御
部207m に対して依頼する(図14のS9)。
【0156】仮想デバイス部209m から所在変更通知
の発行を依頼されたデータアクセス制御部207m は、
最新バージョンの上記所定データが更新バッファ部20
4に追加されたことを示す所在変更通知を、他の全ての
スレーブホスト装置201s1〜201snに向けてネット
ワーク202に送出する(図14のS10 のchange M
C)。
【0157】なお、データアクセス制御部207m は、
上記所在変更通知を、スレーブホスト装置201si内の
データアクセス制御部207siからの前述したリモート
プロシジャコール(図11の(b) 又は図14のS2の、rp
c#create)に対する応答として、上記スレーブホスト装
置201siに向けて返すようにしてもよい。
【0158】図12は、図11の状態に続く状態を示し
ている。スレーブホスト装置201si内のバージョン遷
移部208siは、上記所在変更通知を受け付けると(図
14のS11 のhad#invalidate(version-up))、まず、ス
レーブホスト装置201si内のアプリケーション部21
0siからのファイル参照要求を禁止する(図12(a) の
access block、図14のS12 のinode-lock)。
【0159】次に、バージョン遷移部208siは、所在
変更通知に基づいて、仮想デバイス部209si内の所在
リスト部402m (図4)内の所在リストに、更新バッ
ファ部204に書き込まれた第21、第43、及び第5
7ブロックの最新バージョンに関する所在データを追加
する(図12(b) のswich vdev list 、図14のS13のc
hange vdev )。
【0160】続いて、バージョン遷移部208siは、フ
ァイルシステム制御部206siに対し、キャッシュ上
の、所在変更通知に対応する第21及び第43ブロック
を、無効にさせる指示を発行する(図12(c) のinvali
date cache and name cache 、図14のS14 のinvalida
te cache)。
【0161】最後に、バージョン遷移部208siは、ス
レーブホスト装置201si内のアプリケーション部21
0siに対するファイル参照要求の禁止を解除する(図1
2(d) のaccess block off、図14のS15 のinode-unlo
ck)。その後、バージョン遷移部208siは、ネットワ
ーク202を介して、マスタホスト装置201m 内のデ
ータアクセス制御部207m に、所在リストのバージョ
ンアップ処理の完了を通知する(図14のS16 )。
【0162】上述したようにして、スレーブホスト装置
201siが、マスタホスト装置201m の所在変更通知
に基づいて、仮想デバイス部209si内の所在リスト部
402si内の所在リストに、既に更新バッファ部204
に書込まれている第52ブロックの所在データに加え、
新たに更新バッファ部204に書き込まれた第21、第
43、及び第57ブロックの最新バージョンに関する所
在データを追加した後に、そのスレーブホスト装置20
1si内のアプリケーション部210siにおいて、ディレ
クトリ/share/tmp/ 内の、マスタホスト装置201m に
おいて新たに作成されたファイルcの参照要求が発生し
(図13の(a) 又は図14のS17 の、vop#lookup)、そ
れを上記スレーブホスト装置201si内のデータアクセ
ス制御部207siが受け付けた場合を考える。図13
は、図12の状態に続く状態を示している。
【0163】データアクセス制御部207siは、ファイ
ルシステム制御部206siに対し、ファイル参照のアク
セス関数を発行する(図14のS18 のvop#call)。これ
に対し、ファイルシステム制御部206siは、まず、デ
ィレクトリ/share/tmp/ に対応するiノードが格納され
ている第21ブロックに対する参照操作を実行する(図
13(b) のread dir inode、図14のS19 )。
【0164】この場合、ファイルシステム制御部206
siは、始めに、バージョン遷移部208siによる所在リ
スト部402に対する所在リストの変更処理を禁止させ
た後に、キャッシュ上の第21ブロックを参照しようと
する。しかし、キャッシュ上の第21ブロックは、バー
ジョン遷移部208siによって無効にされている(図1
2(c) のinvalidate cache and name cache 、図14の
S14 のinvalidate cache)。このため、ファイルシステ
ム制御部206siは、当該第21ブロックに対するロッ
クを獲得した後に、第21ブロックに対する参照操作を
仮想デバイス部209siに発行する。
【0165】図13の例では、スレーブホスト装置20
1si内の仮想デバイス部209si内の所在リスト部40
2si(図4)に、マスタホスト装置201m によって更
新バッファ部204に書き込まれた第21、第43、第
52、及び第57ブロックの最新バージョンに関する所
在データが設定されている。このため、仮想デバイス部
209si内のアクセス切替部401si(図4)内の特に
は図示しない読出し制御部は、ファイルシステム制御部
206siで発行された上記第21ブロックに対する参照
操作を、更新バッファ部204に対して実行する。
【0166】この結果、更新バッファ部204から、新
しいバージョンの第21ブロックが読み出されて(図1
4のS20 )、そのデータが、仮想デバイス部209siを
介して、ファイルシステム制御部206si内のキャッシ
ュに読み込まれる。ファイルシステム制御部206si
は、当該第21ブロックに対するロックを解除した後、
バージョン遷移部208siに対する所在リストの変更処
理の禁止を解除する。
【0167】続いて、ファイルシステム制御部206si
は、新しいバージョンの第21ブロックから取り出した
iノードに格納されている情報に基づき、ディレクトリ
/share/tmp/ に対応するディレクトリファイルが格納さ
れている第43ブロックに対する参照操作を発行する
(図13(c) のread dir、図14のS19 )。この場合
も、第21ブロックの参照の場合と同様に、仮想デバイ
ス部209siによって、更新バッファ部204上の新し
いバージョンの第43ブロックが読み出されて(図14
のS20 )、そのデータが、仮想デバイス部209siを介
して、ファイルシステム制御部206si内のキャッシュ
に読み込まれる。
【0168】更に、ファイルシステム制御部206si
は、第43ブロックから取り出したディレクトリファイ
ルのエントリからファイルcに対応するiノード番号を
読み出し、それに基づいて、ファイルbに対応するiノ
ードが格納されている第57ブロックに対する参照操作
を発行する(図13(d) のread inode for file c 、図
14のS19 )。この場合も、第21又は第43ブロック
の参照の場合と同様に、仮想デバイス部209siによっ
て、更新バッファ部204上の新しいバージョンの第5
7ブロックが読み出されて(図14のS20 )、そのデー
タが、仮想デバイス部209siを介して、ファイルシス
テム制御部206si内のキャッシュに読み込まれる。
【0169】以上の参照結果が、ファイルシステム制御
部206siから、ファイルアクセス制御部207siを介
して、スレーブホスト装置201siで実行されているア
プリケーション部210siに返される(図14のS21
)。更新バッファ部204からファイルシステム本体部20
3への遅延更新動作 続いて、更新バッファ部204からファイルシステム本
体部203への遅延更新動作の詳細動作について、図1
5及び図16の説明図に基づいて説明する。
【0170】図15は、上述した図13の状態に続く状
態を示している。更新バッファ部204からファイルシ
ステム本体部203への、更新された所定データの遅延
更新動作は、マスタホスト装置201m 内の仮想デバイ
ス部209m 内の遅延更新部403m (図4)によっ
て、例えば更新バッファ部204の空き記憶容量が所定
値以下になった時点、マスタホスト装置201m 上のプ
ロセッサの空き時間、ファイルシステム制御部206m
におけるメモリ使用量が一定以上になった場合、又はフ
ァイルシステム制御部206m からのアクセス要求が一
定時間なかった場合等において、実行される。遅延更新
部403m は、まず、更新バッファ部204上で遅延更
新を実行すべき範囲に関して、データアクセス制御部2
07m が、前述した所在変更通知の処理を完了している
ことをチェックする(図15(1) のcheck UPDATE-list
job finished)。このチェックにより、全てのホスト装
置201内の仮想デバイス部209が、遅延更新動作の
対象とされるブロックへのアクセスを更新バッファ部2
04へ向けるように、動作していることが保証される。
【0171】次に、遅延更新部403m は、所在リスト
部402m 内の所在リスト中の所在データのうち、更新
バッファ部204内の各ブロックの最新バージョンに関
する所在データを、リストアップする。図15の例で
は、第21及び第43ブロックの最新バージョンに対応
する所在データと、第52及び第57ブロックに対応す
る所在データが、それぞれリストアップされる。
【0172】続いて、遅延更新部403m は、リストア
ップした各所在データに含まれる更新バッファ位置及び
ファイルシステム位置に基づいて(図5参照)、当該各
所在データに対応する更新バッファ部204上のブロッ
クを、デバイスドライバ部211m 及びSCSIバス205
を介して、ファイルシステム本体部203内の当該各所
在データに対応する記憶位置に書き込む(図15(2) の
write block from MBto FS )。図15の例では、第2
1、第43、第52及び第57ブロックが、更新バッフ
ァ部204からファイルシステム本体部203へ転送さ
れる。
【0173】図16は、図15の状態に続く状態を示し
ている。まず、マスタホスト装置201m 内の仮想デバ
イス部209m 内の遅延更新部403m は、他の部分か
らの更新バッファ部204へのアクセスを禁止した後、
所在リスト部402m に記憶される所在リストから、前
述のリストアップした所在データに含まれるファイルシ
ステム位置の値と同じ値をファイルシステム位置として
含む所在データを、全て削除する(図16(1) のLock M
B access, and remove UPDATE-list)。この結果、更新
バッファ部204からファイルシステム本体部203へ
の転送が完了した所定データに対応する全てのバージョ
ンの所在データが、所在リストから削除される。図16
の例では、第21及び第43ブロックのそれぞれ2つの
バージョンの所在データと、第52及び第57ブロック
のそれぞれ1つのバージョンの所在データが、所在リス
トから削除される。
【0174】その後、遅延更新部403m は、更新バッ
ファ部204からファイルシステム本体部203への転
送が完了した所在データの全てのバージョンの、所在リ
ストからの削除を、要求する所在変更通知の発行を、デ
ータアクセス制御部207mに対して依頼する。これを
受けて、データアクセス制御部207m は、当該所在変
更通知を、他の全てのスレーブホスト装置201s1〜2
01snに向けてネットワーク202に送出する(図16
(2) のRPC to slave host to remove UPDATE-list )。
【0175】任意のスレーブホスト装置201si内のバ
ージョン遷移部208siは、この所在変更通知を受信す
ると、他の部分からの更新バッファ部204へのアクセ
スを禁止した後、仮想デバイス部209si内の所在リス
ト部402siに記憶される所在リストから、所在変更通
知によって通知された所在データに含まれるファイルシ
ステム位置の値と同じ値をファイルシステム位置として
含む所在データを、全て削除する(図16(a) のLock M
B access, and remove UPDATE-list)。この結果、更新
バッファ部204からファイルシステム本体部203へ
の転送が完了した所定データに対応する全てのバージョ
ンの所在データが、所在リストから削除される。図16
の例では、第21及び第43ブロックのそれぞれ2つの
バージョンの所在データと、第52及び第57ブロック
のそれぞれ1つのバージョンの所在データが、所在リス
トから削除される。
【0176】この結果、スレーブホスト装置201siか
らアクセスされる上記各ブロックのアクセス先が、更新
バッファ部204からファイルシステム本体部203に
変更される。その他の動作例 マスタホスト装置201m 内のアプリケーション部21
0m 又は任意のスレーブホスト装置201si内のアプリ
ケーション部210siから、ファイルシステム本体部2
03上に既に存在する共有ファイルに対する新たなデー
タの追加要求が発生した場合も、更新要求の一部とし
て、マスタホスト装置201m が一括して処理する。
【0177】この場合には、マスタホスト装置201m
において、まず、データアクセス制御部207m から上
記データ追加要求を受けたファイルシステム制御部20
6mが、対象ファイルに関連するディレクトリファイル
のiノードが格納されているブロック、そのディレクト
リファイルデータが格納されているブロック、及び対象
ファイルのiノードが格納されているブロック等の内容
を更新すると共に、ファイルシステム本体部203上の
空きブロックを確保してそこにデータを書き込む。
【0178】そして、仮想デバイス部209m 内のアク
セス切替部401m 内の読出し制御部が、前述したよう
にして、上述の更新されたブロックを更新バッファ部2
04に書き込むと共に、それに応じて、所在リスト部4
02内の所在リストを更新する。
【0179】その後、データアクセス制御部207m
が、上記更新された所在リストに関する所在変更通知
を、、他の全てのスレーブホスト装置201s1〜201
snに向けてネットワーク202に送出する。
【0180】なお、ディレクトリ構造の変更やファイル
の作成などの、ファイルシステムの構造を変更するよう
な更新要求に対してのみ、マスタホスト装置201m が
一括して処理して、その更新結果を更新バッファ部20
4に書き込むように構成し、既存のファイルに対するデ
ータブロックの追加要求等のファイル更新要求に対して
は、マスタホスト装置201m を経由せずに、スレーブ
ホスト装置201siがSCSIバス205を介してファイル
システム本体部203に直接書き込むように構成するこ
ともできる。これにより、ファイルデータに対するバー
ジョン管理はできなくなるが、ファイルシステム構造の
信頼性を確保したまま、マスタホスト装置201m への
更新処理の集中を回避することができる。 <他の実施例>上述したように、更新バッファ部204
は、ファイルシステム本体部203上の1つの所定デー
タ(ブロックデータ)に関して、複数のバージョンを保
持することができる。
【0181】この特徴を利用することにより、本発明で
は、マスタホスト装置201m に障害が発生した場合で
あって、そのマスタホスト装置201m の修復時におい
て、更新バッファ部204内のデータをファイルシステ
ム本体部203に反映させる機能を、マスタホスト装置
201m に備えることも可能である。
【0182】また、本発明では、マスタホスト装置20
1m に、更新バッファ部204に保持されている任意の
バージョンのデータにアクセスさせるような機能を備え
ることも可能である。
【0183】一方、本発明において、ネットワーク20
2に、バックアップ用のマスタホスト装置201m を接
続しておき、メインのマスタホスト装置201m に障害
が発生した場合に、上記バックアップ用のマスタホスト
装置201m が、更新バッファ部204に対する制御機
能を引き継ぐことによって、ファイルシステム本体部2
03の一貫性を確保することも可能である。
【0184】また、本発明では、ファイルシステム本体
部203及び更新バッファ部204を多重に構成し、シ
ステム全体の信頼性を高めることも可能である。更に、
本発明では、複数のホスト装置によって共有されないロ
ーカルなデータを1つのホスト装置がマスタホスト装置
を経由しないでファイルシステムに書き出すような場合
に、そのホスト装置専用に設けられた更新バッファ部に
書き出すように構成することにより、そのようなローカ
ルなデータについても、バージョン管理を行うと共に、
データの信頼性を高めることが可能となる。
【0185】
【発明の効果】本発明によれば、第1の種類のデータ処
理装置によるデータアクセスの集中処理が所定の共有デ
ータの更新処理のみに限定され、所定の共有データの参
照処理においては、データのバージョンの遷移という概
念に基づいて、データのアクセス先が共有記憶装置又は
更新記憶装置の何れかに振り分けられることにより、ロ
ック機構を使用しない、共有データへの並列アクセスを
実現することが可能となる。
【0186】ここで、第1の種類のデータ処理装置内の
所定共有データ更新操作実行手段及び第2の種類のデー
タ処理装置内の所定共有データ参照操作実行手段は、従
来からある通常のファイルシステムの機能として実現す
ることができるため、従来のネットワークシステムに本
発明の機能を追加することが、容易に実現することが可
能となる。
【0187】また、第1の種類のデータ処理装置が第2
の種類のデータ処理装置の全ての機能を含むように構成
されることにより、第1の種類のデータ処理装置と第2
の種類のデータ処理装置を、対等な関係のもとでネット
ワークに接続することが可能となる。
【0188】また、所定の共有データの更新要求が、共
有記憶装置に構築されているファイルシステム上のファ
イルデータ以外の、そのファイルシステムの構造を規定
するシステムデータ(ディレクトリデータ、ディレクト
リ及びファイルのiノード)に対する更新要求であるよ
うに構成されることにより、第1の種類のデータ処理装
置への更新要求の集中を回避することが可能となる。
【0189】或いは、所定の共有データの更新要求が、
共有記憶装置に構築されているファイルシステム上のフ
ァイルデータ、又はそのファイルデータ以外の、ファイ
ルシステムの構造を規定するシステムデータの何れかに
対する更新要求であるように構成されることにより、共
有データの信頼性を最大限に高めることが可能となる。
【0190】本発明の第2の態様によれば、更新記憶装
置の所定の共有データを用いることにより、ホスト障害
などの発生時において、共有記憶装置上の所定の共有デ
ータを容易に修復することが可能となる。
【0191】本発明の第3の態様によれば、更新記憶装
置上の複数のバージョンの所定の共有データに自由にア
クセスすることが可能となる。本発明の第4の態様によ
れば、ホスト障害などの発生時において、バックアップ
用の第1の種類のデータ処理装置が、更新記憶装置に対
する制御機能を安全に引き継ぐことが可能となる。
【0192】本発明の第5の態様によれば、更新記憶装
置がリングバッファによって構成されることで、更新記
憶装置に対するバージョンデータ書込み手段及び遅延更
新手段による制御を単純化させることが可能となる。
【図面の簡単な説明】
【図1】本発明のブロック図である。
【図2】本発明の実施例の構成図である。
【図3】バージョン遷移の概念に基づくファイルシステ
ムの一貫性確保の動作イメージを示す図である。
【図4】仮想デバイス部209の構成図である。
【図5】所在リストの例を示した図である。
【図6】バージョンデータ格納領域のデータ構成図であ
る。
【図7】マスタホスト装置でのファイルシステム更新動
作とスレーブホスト装置でのファイルシステム参照動作
の説明図(前バージョンでの参照)である。
【図8】マスタホスト装置でのファイルシステム更新動
作とスレーブホスト装置でのファイルシステム参照動作
の説明図(バージョンの切替え)である。
【図9】マスタホスト装置でのファイルシステム更新動
作とスレーブホスト装置でのファイルシステム参照動作
の説明図(新バージョンでの参照)である。
【図10】マスタホスト装置でのファイルシステム更新
動作とスレーブホスト装置でのファイルシステム参照動
作の動作フローを示す図である。
【図11】スレーブホスト装置でのファイルシステム更
新動作の説明図(その1)である。
【図12】スレーブホスト装置でのファイルシステム更
新動作の説明図(その2)である。
【図13】図12の動作の後のスレーブホスト装置での
ファイルシステム参照動作の説明図である。
【図14】スレーブホスト装置でのファイルシステム更
新/参照動作の動作フローを示す図である。
【図15】マスタホスト装置での更新バッファ部からフ
ァイルシステム本体部への遅延更新動作の説明図(その
1)である。
【図16】マスタホスト装置での更新バッファ部からフ
ァイルシステム本体部への遅延更新動作の説明図(その
2)である。
【符号の説明】
101 第1の種類のデータ処理装置 102 第2の種類のデータ処理装置 103 共有記憶装置 104 更新記憶装置 105 ネットワーク 106 バス 107 第1の所定共有データアクセス制御手段 108 所定共有データ更新操作実行手段 109 バージョンデータ書込み手段 110 遅延更新手段 111 第1の更新状態管理手段 112 更新状態通知手段 113 第2の所定共有データアクセス制御手段 114 所定共有データ参照操作実行手段 115 所定共有データ参照操作制御手段 116 第2の更新状態管理手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−225239(JP,A) クラスタシステム向け共有ファイルシ ステムの提案,情報処理学会第50回(平 成7年前期)全国大会,日本,1995年 3月15日,pp.4−249〜4−250 クラスタ向け共有ファイルシステムの 実現と評価,情報処理学会研究報告,日 本,1995年 8月22日,Vol.95 N o.79,pp.9−16 適応型時刻印方式に基づく同時実行制 御方式,情報処理学会論文誌,日本, 1992年 6月15日,Vol.33 No. 6,pp.802−811 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 13/00

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】共有記憶装置及び更新記憶装置をアクセス
    するためのバスを共有すると共に、ネットワークにより
    相互に接続された複数のデータ処理装置のうちの少なく
    とも1つを構成する第1の種類のデータ処理装置内に設
    けられ、 他の前記データ処理装置から前記ネットワークを介して
    受信した前記共有記憶装置に対する所定の共有データの
    更新要求、又は自データ処理装置内で発生した前記所定
    の共有データの更新要求を受け付ける第1の所定共有デ
    ータアクセス制御手段と、 該第1の所定共有データアクセス制御手段が受け付けた
    前記所定の共有データの更新要求に対応して、前記所定
    の共有データの更新操作を実行する所定共有データ更新
    操作実行手段と、 該所定共有データ更新操作実行手段により更新された前
    記所定の共有データの1つのバージョンを、前記更新記
    憶装置に書き込むバージョンデータ書込み手段と、 前記更新記憶装置に記憶されている前記所定の共有デー
    タの所定のバージョンを、所定のタイミングで、前記共
    有記憶装置上の前記所定の共有データに対応する記憶位
    置に書き込む遅延更新手段と、 前記更新記憶装置における前記所定の共有データの更新
    状態を管理する第1の更新状態管理手段と、 該第1の更新状態管理手段が管理する前記更新記憶装置
    における前記所定の共有データの更新状態を、前記ネッ
    トワークを介して前記複数のデータ処理装置に通知する
    更新状態通知手段と、 を有することを特徴とする共有データ処理装置。
  2. 【請求項2】共有記憶装置及び更新記憶装置をアクセス
    するためのバスを共有すると共に、ネットワークにより
    相互に接続された複数のデータ処理装置のうちの少なく
    とも1つを構成する第2の種類のデータ処理装置内に設
    けられ、 自データ処理装置内で発生した前記共有記憶装置に対す
    るアクセス要求が所定の共有データの更新要求であった
    場合には、該所定の共有データの更新要求を前記複数の
    データ処理装置のうちの1つを構成する第1の種類のデ
    ータ処理装置に向けて前記ネットワークに送出し、前記
    アクセス要求が前記所定の共有データの参照要求であっ
    た場合には、該所定の共有データの参照要求を受け付け
    る第2の所定共有データアクセス制御手段と、 該第2の所定共有データアクセス制御手段が受け付けた
    前記所定の共有データの参照要求に対応して、前記所定
    の共有データの参照操作を実行する所定共有データ参照
    操作実行手段と、 前記第1の種類のデータ処理装置から前記ネットワーク
    を介して受信した前記更新記憶装置における前記所定の
    共有データの更新状態を管理する第2の更新状態管理手
    段と、 自データ処理装置から直接前記バスを介して、前記第2
    の更新状態管理手段が管理する前記更新記憶装置におけ
    る前記所定の共有データの更新状態に応じて決定され
    る、前記共有記憶装置に記憶されている前記所定の共有
    データ又は前記更新記憶装置に記憶されている前記所定
    の共有データの何れかに対して、前記所定共有データ参
    照操作実行手段によって実行される前記所定の共有デー
    タの参照操作を発行する所定共有データ参照操作制御手
    段と、 を有することを特徴とする共有データ処理装置。
  3. 【請求項3】複数のデータ処理装置が、共有記憶装置及
    び更新記憶装置をアクセスするためのバスを共有すると
    共に、ネットワークにより相互に接続された共有データ
    処理システムであって、 前記複数のデータ処理装置のうちの少なくとも1つを構
    成する第1の種類のデータ処理装置内に、 他の前記データ処理装置から前記ネットワークを介して
    受信した前記共有記憶装置に対する所定の共有データの
    更新要求、又は自データ処理装置内で発生した前記所定
    の共有データの更新要求を受け付ける第1の所定共有デ
    ータアクセス制御手段と、 該第1の所定共有データアクセス制御手段が受け付けた
    前記所定の共有データの更新要求に対応して、前記所定
    の共有データの更新操作を実行する所定共有データ更新
    操作実行手段と、 該所定共有データ更新操作実行手段により更新された前
    記所定の共有データの1つのバージョンを、前記更新記
    憶装置に書き込むバージョンデータ書込み手段と、 前記更新記憶装置に記憶されている前記所定の共有デー
    タの所定のバージョンを、所定のタイミングで、前記共
    有記憶装置上の前記所定の共有データに対応する記憶位
    置に書き込む遅延更新手段と、 前記更新記憶装置における前記所定の共有データの更新
    状態を管理する第1の更新状態管理手段と、 該第1の更新状態管理手段が管理する前記更新記憶装置
    における前記所定の共有データの更新状態を、前記ネッ
    トワークを介して前記複数のデータ処理装置に通知する
    更新状態通知手段と、 を有し、 前記複数のデータ処理装置のうちの少なくとも1つを構
    成する第2の種類のデータ処理装置内に、 自データ処理装置内で発生した前記共有記憶装置に対す
    るアクセス要求が所定の共有データの更新要求であった
    場合には、該所定の共有データの更新要求を前記第1の
    種類のデータ処理装置に向けて前記ネットワークに送出
    し、前記アクセス要求が前記所定の共有データの参照要
    求であった場合には、該所定の共有データの参照要求を
    受け付ける第2の所定共有データアクセス制御手段と、 該第2の所定共有データアクセス制御手段が受け付けた
    前記所定の共有データの参照要求に対応して、前記所定
    の共有データの参照操作を実行する所定共有データ参照
    操作実行手段と、 前記第1の種類のデータ処理装置から前記ネットワーク
    を介して受信した前記更新記憶装置における前記所定の
    共有データの更新状態を管理する第2の更新状態管理手
    段と、 自データ処理装置から直接前記バスを介して、前記第2
    の更新状態管理手段が管理する前記更新記憶装置におけ
    る前記所定の共有データの更新状態に応じて決定され
    る、前記共有記憶装置に記憶されている前記所定の共有
    データ又は前記更新記憶装置に記憶されている前記所定
    の共有データの何れかに対して、前記所定共有データ参
    照操作実行手段によって実行される前記所定の共有デー
    タの参照操作を発行する所定共有データ参照操作制御手
    段と、 を有することを特徴とする共有データ処理システム。
  4. 【請求項4】前記第1の種類のデータ処理装置は、前記
    第2の種類のデータ処理装置の全ての機能を含む、 ことを特徴とする請求項3に記載の共有データ処理シス
    テム。
  5. 【請求項5】前記所定の共有データの更新要求は、前記
    共有記憶装置に構築されているファイルシステム上のフ
    ァイルデータ以外の、該ファイルシステムの構造を規定
    するシステムデータに対する更新要求である、 ことを特徴とする請求項1または2に記載の共有データ
    処理装置
  6. 【請求項6】前記所定の共有データの更新要求は、前記
    共有記憶装置に構築されているファイルシステム上のフ
    ァイルデータ、又は該ファイルデータ以外の、前記ファ
    イルシステムの構造を規定するシステムデータの何れか
    に対する更新要求である、 ことを特徴とする請求項1または2に記載の共有データ
    処理装置
  7. 【請求項7】前記第1の種類のデータ処理装置に障害が
    発生した場合に、前記更新記憶装置に記憶されている前
    記所定の共有データを用いて、前記共有記憶装置上の前
    記所定の共有データを修復する修復手段を更に有する、 ことを特徴とする請求項3に記載の共有データ処理シス
    テム。
  8. 【請求項8】前記更新記憶装置に記憶されている複数の
    バージョンの前記所定の共有データのうちの任意のバー
    ジョンにアクセスするバージョンデータアクセス手段を
    更に有する、 ことを特徴とする請求項3に記載の共有データ処理シス
    テム。
  9. 【請求項9】前記ネットワークに、複数の前記第1の種
    類のデータ処理装置が接続され、該複数の第1の種類の
    データ処理装置のうちの運用されている1台に障害が発
    生した場合に、他の前記第1の種類のデータ処理装置が
    前記更新記憶装置に対する制御機能を引き継ぐ、 ことを特徴とする請求項3に記載の共有データ処理シス
    テム。
  10. 【請求項10】前記更新記憶装置はリングバッファによ
    って構成され、 前記バージョンデータ書込み手段による前記更新記憶装
    置である前記リングバッファに対する前記所定の共有デ
    ータの書込み動作は、追加書込みの形態のみによって実
    行され、 前記遅延更新手段は、前記更新記憶装置である前記リン
    グバッファに対する前記所定の共有データの書込み量に
    応じて起動される、 ことを特徴とする請求項3に記載の共有データ処理シス
    テム。
JP04189595A 1995-03-01 1995-03-01 共有データ処理装置及び共有データ処理システム Expired - Fee Related JP3516362B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04189595A JP3516362B2 (ja) 1995-03-01 1995-03-01 共有データ処理装置及び共有データ処理システム
US08/602,367 US5813016A (en) 1995-03-01 1996-02-16 Device/system for processing shared data accessed by a plurality of data processing devices/systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04189595A JP3516362B2 (ja) 1995-03-01 1995-03-01 共有データ処理装置及び共有データ処理システム

Publications (2)

Publication Number Publication Date
JPH08235046A JPH08235046A (ja) 1996-09-13
JP3516362B2 true JP3516362B2 (ja) 2004-04-05

Family

ID=12621029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04189595A Expired - Fee Related JP3516362B2 (ja) 1995-03-01 1995-03-01 共有データ処理装置及び共有データ処理システム

Country Status (2)

Country Link
US (1) US5813016A (ja)
JP (1) JP3516362B2 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930794A (en) 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6081807A (en) * 1997-06-13 2000-06-27 Compaq Computer Corporation Method and apparatus for interfacing with a stateless network file system server
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
JP3307587B2 (ja) * 1998-05-08 2002-07-24 日本電気株式会社 ミドルウェア蓄積データの更新方法と該方法を実行するサーバシステム
US8516055B2 (en) 1998-05-29 2013-08-20 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device in a wireless data network
US6779019B1 (en) 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US7209955B1 (en) 1998-05-29 2007-04-24 Research In Motion Limited Notification system and method for a mobile data communication device
US6463463B1 (en) 1998-05-29 2002-10-08 Research In Motion Limited System and method for pushing calendar event messages from a host system to a mobile data communication device
US9374435B2 (en) 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US6438585B2 (en) 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US7689721B2 (en) * 1998-05-29 2010-03-30 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US7209949B2 (en) 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6182197B1 (en) * 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6243706B1 (en) * 1998-07-24 2001-06-05 Avid Technology, Inc. System and method for managing the creation and production of computer generated works
US6446237B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6272662B1 (en) * 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6505244B1 (en) * 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network
US6765864B1 (en) 1999-06-29 2004-07-20 Cisco Technology, Inc. Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network
US6499058B1 (en) 1999-09-09 2002-12-24 Motokazu Hozumi File shared apparatus and its method file processing apparatus and its method recording medium in which file shared program is recorded and recording medium in which file processing program is recorded
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6557082B1 (en) 2000-03-30 2003-04-29 International Business Machines Corporation Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices
EP2237580B1 (en) * 2000-04-10 2013-01-09 Research In Motion Limited System and method for indicating the state of a message
US7010303B2 (en) 2000-12-22 2006-03-07 Research In Motion Limited Wireless router system and method
CA2368404C (en) 2001-01-18 2005-08-09 Research In Motion Limited Unified messaging system and method
US7328263B1 (en) * 2001-01-30 2008-02-05 Cisco Technology, Inc. Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach
JP4394298B2 (ja) * 2001-02-20 2010-01-06 日本電気株式会社 マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
JP3755415B2 (ja) * 2001-04-04 2006-03-15 株式会社デンソー 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体
US7076510B2 (en) * 2001-07-12 2006-07-11 Brown William P Software raid methods and apparatuses including server usage based write delegation
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
WO2003025802A1 (en) * 2001-09-21 2003-03-27 Polyserve, Inc. A system and method for collaborative caching in a multinode system
AU2002341784A1 (en) * 2001-09-21 2003-04-01 Polyserve, Inc. A system and method for efficient lock recovery
US7317699B2 (en) 2001-10-26 2008-01-08 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
CN100366025C (zh) 2001-12-07 2008-01-30 捷讯研究有限公司 从主服务到移动台分布信息的方法
US7010528B2 (en) * 2002-05-23 2006-03-07 International Business Machines Corporation Mechanism for running parallel application programs on metadata controller nodes
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US8140622B2 (en) 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US7519984B2 (en) * 2002-06-27 2009-04-14 International Business Machines Corporation Method and apparatus for handling files containing confidential or sensitive information
JP4153324B2 (ja) * 2003-01-31 2008-09-24 松下電器産業株式会社 差分データ生成装置及び方法、更新後データ復元装置及び方法、並びにプログラム
US7324995B2 (en) * 2003-11-17 2008-01-29 Rackable Systems Inc. Method for retrieving and modifying data elements on a shared medium
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7962449B2 (en) * 2004-06-25 2011-06-14 Apple Inc. Trusted index structure in a network environment
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
CA2606193C (en) 2005-04-18 2015-03-17 Research In Motion Limited Method for providing wireless application privilege management
EP1760610A1 (en) * 2005-08-31 2007-03-07 France Telecom Method for managing shared data and related device
JP4740766B2 (ja) * 2006-02-27 2011-08-03 富士通株式会社 データ受信装置、データ送受信システム、データ送受信システムの制御方法及びデータ受信装置の制御プログラム
US8179872B2 (en) 2007-05-09 2012-05-15 Research In Motion Limited Wireless router system and method
JP5385545B2 (ja) * 2008-04-17 2014-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーション トランザクションの実行を制御する装置及び方法
JP5343399B2 (ja) * 2008-05-22 2013-11-13 富士通株式会社 管理プログラム、管理方法、及び管理装置
US10496608B2 (en) * 2009-10-28 2019-12-03 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10802973B1 (en) 2019-07-01 2020-10-13 Bank Of America Corporation Data access tool
US11429593B2 (en) * 2020-01-13 2022-08-30 EMC IP Holding Company LLC Maintaining a shared state among networked computing devices using a shared data store
US11650957B2 (en) * 2021-06-01 2023-05-16 International Business Machines Corporation Receiving at a cache node notification of changes to files in a source file system served from a cache file system at the cache node
US11645238B2 (en) 2021-06-01 2023-05-09 International Business Machines Corporation Notifying a cache file system of changes to files in a source file system served from the cache file system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
US5077658A (en) * 1987-10-19 1991-12-31 International Business Machines Corporation Data access system for a file access processor
US5369763A (en) * 1989-02-01 1994-11-29 Kansas State University Research Foundation Data storage and retrieval system with improved data base structure
JPH032939A (ja) * 1989-05-30 1991-01-09 Hitachi Ltd データ管理方法
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
JP2667039B2 (ja) * 1990-05-18 1997-10-22 株式会社東芝 データ管理システムおよびデータ管理方法
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
JP2533266B2 (ja) * 1991-06-14 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
US5544353A (en) * 1993-06-14 1996-08-06 International Business Machines Corporation Distributed processing object shared resource control apparatus and method
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
クラスタシステム向け共有ファイルシステムの提案,情報処理学会第50回(平成7年前期)全国大会,日本,1995年 3月15日,pp.4−249〜4−250
クラスタ向け共有ファイルシステムの実現と評価,情報処理学会研究報告,日本,1995年 8月22日,Vol.95 No.79,pp.9−16
適応型時刻印方式に基づく同時実行制御方式,情報処理学会論文誌,日本,1992年 6月15日,Vol.33 No.6,pp.802−811

Also Published As

Publication number Publication date
US5813016A (en) 1998-09-22
JPH08235046A (ja) 1996-09-13

Similar Documents

Publication Publication Date Title
JP3516362B2 (ja) 共有データ処理装置及び共有データ処理システム
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US5202971A (en) System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
JP3335801B2 (ja) 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法
JP4124331B2 (ja) Dbms向け仮想ボリューム作成・管理方法
JP2505939B2 (ja) デ―タのキャストアウトを制御する方法
JP4105398B2 (ja) 情報処理システム
EP1465072A2 (en) Computer system with distributed file system for managing distributed files
PL176975B1 (pl) Sposób skutecznego buforowania zbiorów w systemie zbiorów rozproszonych
JP2004005289A (ja) 記憶装置システム
JPH0522259B2 (ja)
JP2004178289A (ja) スナップショット取得方法、ディスク装置及びストレージシステム
US20090193207A1 (en) Computer system, remote copy method and first computer
JPH09311839A (ja) データ共用方式
JPH0883253A (ja) 仮想空間管理方法及び装置
JPWO2004055675A1 (ja) ファイル管理装置、ファイル管理プログラム、ファイル管理方法およびファイルシステム
JP2004334434A (ja) 双方向コピー制御機能を有する記憶装置システム
JP2011150458A (ja) 情報処理装置、情報処理システム、データ・アーカイブ方法およびデータ削除方法
JP2004302556A (ja) 複数の計算機システム間でのデータ共有方法およびディスク制御装置
CN115443457A (zh) 事务处理方法、分布式数据库系统、集群及介质
US20040220934A1 (en) Performance optimization for data sharing across batch sequential processes and on-line transaction processes
JPH11120057A (ja) ファイルバックアップ方法
JPH0622015B2 (ja) データ処理システムの制御方法
JP2685530B2 (ja) 共用データの管理方法
JP3437938B2 (ja) データ構造割当ての結果をプレビューする方法及び装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040116

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees