JPH08278913A - クライアント/サーバをベースにした多重プロセッサ・ファイル・システム - Google Patents

クライアント/サーバをベースにした多重プロセッサ・ファイル・システム

Info

Publication number
JPH08278913A
JPH08278913A JP8002244A JP224496A JPH08278913A JP H08278913 A JPH08278913 A JP H08278913A JP 8002244 A JP8002244 A JP 8002244A JP 224496 A JP224496 A JP 224496A JP H08278913 A JPH08278913 A JP H08278913A
Authority
JP
Japan
Prior art keywords
file
client
disk
server
node
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.)
Granted
Application number
JP8002244A
Other languages
English (en)
Other versions
JP3627034B2 (ja
Inventor
James Charles Gregerson
ジェームズ・チャールズ・グレガーソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08278913A publication Critical patent/JPH08278913A/ja
Application granted granted Critical
Publication of JP3627034B2 publication Critical patent/JP3627034B2/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
    • 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/912Applications of a database
    • Y10S707/922Communications
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】クライアント・プロセッサにより書込まれたク
ライアント・ファイルをサーバ及び他のノードからファ
イル操作時に見えないようにする。 【解決手段】クライアント・プロセッサがクライアント
・ディスクにファイルを読取る場合、クライアント・プ
ロセッサがファイルのサーバ・コピーを入手し、読取り
操作の前に、ファイルのサーバ・コピーがより最新であ
る場合、そのファイルをクライアント・ディスクにイン
ストールする。アプリケーション・ファイルの更新が、
瞬時にクライアント・ディスクに提供されるように考慮
がなされている。クライアント・プロセッサがファイル
に書込むと、それはファイルの書込みフラグを設定し、
それで、クライアント・プロセッサによって書込まれた
ファイルがサーバ及び他のノードからのファイル操作時
に見えなくする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多重プロセッサ・
システムの分散ファイル・システムに関連するもので、
更に詳細に述べれば、サーバからシステムのプロセッサ
へファイルを渡すためのサーバを有する分散ファイル・
システムに関連するものである。
【0002】
【従来の技術】分散ファイル・システムは、サーバから
多重プロセッサ・システムのクライアント・プロセッサ
へファイルを渡すシステムであることは知られている。
ファイル・システムは、クライアント・プロセッサでフ
ァイルのコピーに加えられる如何なる変更も、クライア
ント・プロセッサからサーバに戻され、ファイル・コピ
ーの一貫性を維持するシステムであることも知られてい
る。2種類のこのようなファイル引渡しシステムはサン
・マイクロシステムズ社(Sun Microsyst
ems,Inc.)から入手可能なネットワーク・ファ
イル・システム(NFS)とペンシルバニア州ピッツバ
ーグのトランザーク(TransarcInc.)社か
ら入手可能なアンドリュウ・ファイル・システム(AF
S)である。
【0003】各プロセッサが独自のオペレーティング・
システムを有する多重プロセッサ・システムでは、ブー
ト時に、完全なオペレーティング・システムを各プロセ
ッサに追加する必要がある。例えば、複数のデータレス
・ワークステーションでの、このような同時ブート時間
は余りにも遅く、修正するのに費用がかかる。
【0004】
【発明が解決しようとする課題】本発明の第1の目的
は、クライアント・プロセッサによって書込まれたクラ
イアント・ファイルをサーバ及び他のノードからのファ
イル操作に見えないようにするクライアント/サーバを
基本にしたファイル・システムを提供することにある。
【0005】本発明の他の目的は、サーバ・コピーがク
ライアント・コピーの内容より最新である場合、クライ
アント・ファイルを読取る前に、同ファイルのコピーを
サーバから入手するクライアント/サーバを基本にした
ファイル・システムを提供することにある。
【0006】本発明の他の目的は、古くなったクライア
ント・ファイルが新しいクライアント・ファイルのため
のスペースを作るためにクライアントによって削除され
るエージング・スキーマを有するクライアント/サーバ
を基本にしたファイル・システムにおいて、クライアン
ト・ファイルを固定化し、固定化されたクライアント・
ファイルはエージング・スキーマによって古くなっても
削除されないようにする方法を提供することにある。
【0007】本発明の他の目的は、サーバがクライアン
ト・ファイル操作を制御するためにクライアント・ノー
ドのフラグをリセットするクライアント/サーバを基本
にしたファイル・システムを提供することにある。
【0008】本発明の他の目的は、当該ファイルが1ペ
ージ以上のデータを含み、サーバによるファイル操作は
ページ単位に行われるクライアント/サーバを基本にし
たファイル・システムを提供することにある。
【0009】本発明の他の目的は、オペレーティング・
システム・ソフトウェアがサーバにインストールされ、
オペレーティング・システム・ファイルが必要に応じて
クライアント・ノードに送られる多重プロセッサ・シス
テムにおけるオペレーティング・システム・ソフトウェ
アのシングル・ポイント・ソフトウェア導入を提供する
ことにある。
【0010】
【課題を解決するための手段】本発明は複数のノードを
有する多重プロセッサ・システムのための分散ファイル
・システムを含み、各ノードはクライアント・プロセッ
サとクライアント・ディスクとを有する。ノードは、ノ
ード間にファイルの引渡しをするための通信ファブリッ
クに接続されている。ノードの1つは、ファイルをサー
バから他のノードのどれかに渡すためのサーバとして機
能する。クライアント・プロセッサが、クライアント・
ディスクのファイルを読取る場合、クライアント・プロ
セッサは、ファイルの最新コピーを入手し、読取り操作
の前に同コピーをクライアント・ディスクにインストー
ルする。クライアント・プロセッサがファイルに書込む
場合、そのファイルの書込みフラグを設定して、その結
果、クライアント・プロセッサによって書込まれたファ
イルは、サーバ及び他のノードからのファイル操作には
見えなくする。
【0011】
【発明の実施の形態】図1は本発明のシステム10の概
略図であって、複数のノード、ノード1からノードNまで
を含む。各ノードは、クライアント・プロセッサ、P1
からPNまでの1つを含み、クライアント・ディスク記
憶装置D1からDNまでの1つを含む。ノードは、ローカ
ル・エリア・ネットワーク(LAN)、又はスイッチ、
又は両方である通信ファブリック12によって接続され
ている。このようなシステムの例として、IBM社が販
売しているSP2がある。今日のファイル・システムで
は、ノードの1つ、例えばノード3は、ファイル・サー
バ・ノード14としての役割を果たし、通信ファブリッ
ク12を介して、サーバ・ノード14とシステム10の
他のクライアント・ノードとの間でファイルの引渡しを
行う。これ以降サーバ・ノード14は単にサーバ14と
して言及される。このような分散ファイル・システムは
周知のことであり、したがって更に詳述されない。
【0012】本発明のファイル・システムでは、各クラ
イアント・ノードは、クライアント・プロセッサPXが
クライアント・ディスクDX上のファイルの操作を実行
するようなプログラムを含む。これらの操作は、読取
り、書込み、作成、及び削除操作を含む。
【0013】以降PX及びDXとして言及されるクライア
ント・プロセッサとクライアント・ディスクはP1から
PNのいずれかのプロセッサ、及び対応するD1からDN
のディスクをそれぞれ言及するものとする。クライアン
ト・ファイルが書込まれるときには、そのファイルには
フラグがたてられて、当該クライアント・ファイルはサ
ーバ14及び他のノードからのファイル操作には見えな
くなる。また本発明では、クライアント・プロセッサP
Xがそのクライアント・ディスクDXのファイルを読取り
たいときには、サーバ14における当該ファイルのコピ
ーがクライアント・ディスクDXのコピーより最新であ
るか否かを決定するためにチェックが行われる。若し、
それが最新である場合には、当該ファイルのサーバ・コ
ピーは読取り操作が実行される前に分散ファイル・シス
テムによりクライアント・ディスクDXに引渡される。
どのファイルがより最新であるかの決定はいくつかの方
法で行うことができる。この決定を行う一方法は、サー
バ・ファイルのタイム・スタンプをクライアント・ファ
イルのタイム・スタンプと比較し、最新のタイム・スタ
ンプの付いたファイルを使用することである。他の方法
では、サーバ14のファイルが、クライアント・ディス
クDのファイルより最新である場合、活動状態に設定さ
れるクライアント・ディスクD上の当該ファイルにイン
ストール・ビット又はフラグを用いることである。フラ
グとビットはここでは互換性を持たせた使い方をしてい
るが、願わくは、1個のフラグは1個以上のビットで構
成されていると理解される。このフラグには、望むな
ら、当該フラグがエラーによって1つの状態から他の状
態への意図しない変化をしなかったことを確認するため
の妥当性チェック・スキーマを含めても良い。
【0014】クライアント・ディスクはインストール・
ビットが非活動状態にある限り常に使用される。当該フ
ァイルの新規又は最新バージョンがサーバ14にインス
トールされている場合、サーバ14のプログラムは当該
ファイルのコピーのために各クライアント・ディスクD
1〜DNを検索し、各クライアント・コピーのインストー
ル・ビットを活動状態にリセットする。クライアント・
プロセッサPXが、それで、クライアント・ファイルを
読取ろうとする場合、同プロセッサはインストール・ビ
ットが活動状態であることを確認し、そのことはサーバ
14のファイルのコピーがより最新であり、ファイルが
使用される前に通信ファブリック12を介して、クライ
アント・ディスクに渡される筈であることを示してい
る。
【0015】各クライアント・プロセッサPXは、新規
クライアント・ファイルを格納するための余地を作るた
めにクライアント・ディスクDXのクライアント・ファ
イルをエイジ・アウトするためのエイジング・ロジック
を含む。新規クライアント・ファイルがクライアント・
ディスクDXに追加される場合、エイジング・ロジック
は古くなったファイルを決めて、そのファイルは削除さ
れる。各クライアント・プロセッサは、読取り専用のク
ライアント・ファイルをクライアント・ディスクDXに
固定化する能力を有し、これによって固定化されたファ
イルはエイジング・ロジックでのクライアント・プロセ
ッサPXによって削除されない。
【0016】図2はクライアント・ディスクDXの内容
を概略図にしたもので、ディレクトリ部分20とデータ
部分22を含む。ディレクトリ部分20はデータ部分2
2に格納されたデータを有するファイルの各々に対する
制御レコード24を含む。各制御レコード24は、イン
ストール・ビット26と、書込みビット28と、ピン・
ビット30と、タイム・スタンプ32、及びポインタ3
4を含む。インストール・ビットは任意選択で、ファイ
ルが最新コピーであるか否か決定するために使用され
る。ファイルが、クライアント・ディスクDXに最初に
書込まれるとき、インストール・ビット26は非活動状
態にリセットされる。クライアント・プロセッサPX
が、ここで検討されたように、そのクライアント・ディ
スクDXのクライアント・ファイルに読取り操作のため
にアクセスする場合、当該ファイルのインストール・ビ
ット26の状態(state)が応答される。インスト
ール・ビット26が非活動状態である場合、クライアン
ト・ファイルは読取られる。インストール・ビット26
が活動状態にある場合、サーバ14のファイルのコピー
は、当該ファイルが読取られる前に、通信ファブリック
12を介して、クライアント・ディスクDXへ転送され
る。書込みビット28は、このノードでそのクライアン
ト・ファイル上のサーバ又は他のクライアント・ノード
による操作について、当該ファイルがサーバ14から見
えるか否かを決定するために使用される。書込みビット
28が活動状態にある場合、サーバ14又は他のノード
によるクライアント・ファイル上のすべての操作は中止
される。書込みビット28は通常クライアント・プロセ
ッサPXが当該ファイルに書込むことにより活動状態に
設定される。ピン・ビット30は固定されたファイルが
エイジング・ロジックによって削除されないようにエイ
ジング・ロジック(後で説明される)を無効にするのに
使用され、こうしてクライアント・ディスクDxに固定
される。タイム・スタンプ32はどのファイルのコピー
が最新か決定するためにインストール・ビットの代わり
に使用することができる。タイム・スタンプが使用され
る場合、クライアント・ファイルが読取られる度にメッ
セージがサーバ14に送られなければならない、また、
サーバ14のファイルのコピーのタイム・スタンプは最
新性を決定するために取出されなければならない。こう
して、ファイルが頻繁に読取られる場合インストール・
ビットはより効率的に使用される。しかし、インストー
ル・ビットが使用される場合、当該ファイルのより最新
のコピーがサーバ14にインストールされる度に、クラ
イアント・ディスクD1〜DNの各々は、ポーリングされ
なければならないし、当該ファイルの各コピーのインス
トール・ビット26は活動状態にセットされなければな
らない。したがって、ファイルが余り頻繁に読取られ
ず、サーバ14に新規ファイルを敏速にインストールす
ることが望ましい場合、最新性を決定するためにタイム
・スタンプを使用することにより、より効率的になる。
制御レコード24はこのファイルのためのデータ部分2
2のデータ36を指し示すポインタ34をも含む。この
ようなディレクトリ20やポインタ34の使用は周知の
ことであり、更に詳述されない。
【0017】図3はサーバ14のサーバ・ディスクに関
する論理ボリュームを示す。サーバ・ディスク200は
図2と関連づけて説明してあるが、ディレクトリ部分と
データ部分を含むが、理解しやすくするためにデータ部
分のみ示されている。サーバ・ディスク200のデータ
・ファイルはクライアント・ディスクの読取り及び書込
み操作に関連して最近リリースされたファイル又は最新
バージョンのファイルをクライアントに渡すために使用
され、図4及び図5に関連して更に詳しく説明されるト
リガー・ファイル202を含む。同トリガー機構は、ソ
フトウェアの改訂版に対して、ノード・パーティション
(ある種のドメイン)ポイントを要求できる。サーバ・
ディスク200のデータ・ファイルはアプリケーション
1(204)、アプリケーション2(205)、アプリ
ケーション3(206)、アプリケーション4(20
7)、及びアプリケーション1.2(208)のような
アプリケーションに分割される。210に示されるよう
に、各アプリケーションは1つ以上のファイルを含み、
212に示されるように、各ファイルは複数のページを
含む。ファイルは各ファイルの内容によって異るサイズ
であることがある。しかし、当該技術で周知の通り、ペ
ージ212はすべて同一サイズである。ページ・サイズ
は伝送及び記憶の都合に合わせて、周知の通り選択され
る。
【0018】214で示されているように、トリガー・
ファイル202は複数のレコードを有し、第1レコード
は218に示されており、各レコードはアプリケーショ
ンを表す。トリガー・ファイル202の各レコードは2
つの部分に分割され、第1部分216は、より古いか、
より低いレベルであり、第2部分217は、より新しい
か、より高いレベルである。各レコード218はトリガ
ー・ビット220を有し、第1部分216の1つ以上の
ポインタ222と、第2部分217の1つ以上のポイン
タ224とを有する。ポインタ222の各々はレコード
218によって表わされるアプリケーションの低いレベ
ルのファイルの位置を指し示し、ポインタ224の各々
は、レコード218によって表わされるアプリケーショ
ンの高いレベルのファイルの位置を指し示す。例えば、
レコード218がアプリケーション1(204)と、そ
れより高いバージョン1.2(208)を表わす場合、
第1部分216はアプリケーション204のファイルに
対するポインタ222を含み、第2部分217はアプリ
ケーション・ファイル208のファイルを指し示してい
るポインタ224を含む。トリガー・ビット220が活
動状態でない場合、ポインタ222は204からアプリ
ケーション・ファイルを入手するのに使用され、また、
トリガー・ビット220が活動状態のとき、ポインタ2
24は208からアプリケーション・ファイルを入手す
るのに使用される。アプリケーションが最初にサーバ・
ディスク200にロードされるとき、レコードがトリガ
ー・ファイル202の当該アプリケーションに割当てら
れ、割当てられたレコードのトリガー・ビットが非活動
状態にリセットされ、更に、当該アプリケーションのフ
ァイルに対するポインタは、ポインタ222にロードさ
れる。システム管理者がサーバ・ディスク200のアプ
リケーションをアップグレードしてより高いバージョン
にしたい場合、より高いバージョンのアプリケーション
・ファイルに対するポインタは、アップグレードされる
アプリケーションを表わすトリガー・ファイル202の
レコードに対するポインタ224にロードできることも
理解されるだろう。それでクライアント・ディスクD1
〜DN上の変更されたファイルのすべてのインストール
・ビットは、図8に関連して検討されるサーバ操作で活
動状態に設定される。それから、システム管理者は、ト
リガー・ビット220を活動状態に変更する。このこと
は、当該操作がクライアントによって使用される特定の
アプリケーションのすべてのファイルが、インストール
処理中レベルが混合された操作が回避されるように低い
バージョンから高いバージョンに同時に変更されるよう
に操作がアトミックに行われるようにすることは理解さ
れるであろう。読取り及び書込み操作に関連して、クラ
イアントによって検討されているように、アプリケーシ
ョンのトリガー・ビットが非活動状態にある場合、アプ
リケーション・ファイルの低いバージョンが使用され
る。システム管理者は、トリガー・ビット220を非活
動状態に単にリセットすることによって、より高いレベ
ルのアプリケーションからより低いアプリケーションに
切替えることができることも理解されるだろう。混合コ
ードのバック・リリースは保管することができ、それら
の使用は、既に説明されているように、対応するトリガ
ー・ビットを非活動状態にリセットすることにより回復
することができる。同様に、複数トリガー・ビットを使
って複数のアップグレードを行うことができる。部分2
16と部分217はトリガー・ファイル202というよ
り別ディレクトリであるということが理解されるだろ
う。
【0019】図4はクライアント・ディスクDX上のフ
ァイルのクライアント・プロセッサによる読取り操作の
流れ図である。38でディレクトリ部分20は、希望す
るファイルがクライアント・ディスクDX上に存在する
か否かを判断するために探索される。38でのチェック
が否定の場合、希望するファイルがサーバ14にあるか
否かを判断するために39でチェックが行われる。39
でのチェックの結果が否定の場合、40でエラーのシグ
ナルが出される。39でのチェックの結果が肯定の場
合、サーバ上のファイルのトリガー・ビットが活動状態
にあるか否かを判断するために41でチェックが行われ
る。41でのトリガー・ビットが活動状態にない場合、
ファイルをクライアント・ファイルDXにインポートす
るために十分なスペースがあるか否かを判断するため
に、401でスペース・チェックが行われる。スペース
・チェックは図6と関連して検討される。401でのス
ペース・チェックの後、古いレベルのサーバ・ファイル
がクライアント・ファイルとして42でインポートさ
れ、サーバのディレクトリからインストール・フラグが
402でインポートされ、クライアント・ファイルが4
4で読取られ、同操作は45で終了する。402でのサ
ーバ・ディレクトリからのインストール・フラグのイン
ポートは、最初に要求された場合、古いファイルが使用
される可能性を防止し、更に、トリガー・ビットを突然
セットすること防止する。このことを考慮して、ファイ
ルのインポートはオペレーティング・システムの標準フ
ァイル・パシング・オペレーションを用いて行われ、サ
ーバ・ファイルのインポートが行われることが理解され
るだろう。41でトリガー・ビットが活動状態にある場
合、サーバ・ファイルをインポートするスペースがある
ことを確認するため、403でスペース・チェックが行
われ、新規レベルのサーバ・ファイルが53でインポー
トされ、クライアント・ファイルのインストール・フラ
グが43で非活動状態にリセットされ、クライアント・
ファイルが44で読取られ、当該操作は45で終了す
る。希望するファイルが38のクライアント・ディスク
にある場合、書込みビットは46でチェックされる。書
込みビットが46で活動状態にあるとき、当該ファイル
は44で読取られ、当該操作は45で終了する。書込み
フラグが46で非活動状態にある場合、当該ファイルが
サーバ14にあるか否か判断するために47でチェック
が行われる。ファイルがサーバ14にない場合、クライ
アント・ディスクDXのファイルは44で読取られ、当
該操作は45で終了する。47で、ファイルがサーバ1
4にある場合、サーバ・コピーは前述の通り、それがよ
り最新であるか否かを判断するために48でチェックさ
れる。サーバ・コピーが48でより最新でない場合、ク
ライアント・コピーは44で読取られ、当該操作は45
で終了する。サーバ・コピーが48でより最新である場
合、サーバ・ファイルのトリガー・ビットは49でチェ
ックされる。トリガー・ビットが49で非活動状態であ
るとき、クライアント・ファイルは44で読取られ、操
作は45で終了する。トリガー・ビットが49で活動状
態にある場合、サーバ・ファイルをインポートする十分
なスペースがあるか否かを判断するために、404でチ
ェックが行われ、新規レベルのサーバ・ファイルが50
でインポートされ、51でクライアント・ファイルに上
書きされ、インストール・ビットが非活動状態にリセッ
トされる。51の後、新規クライアント・コピーは44
で読取られ、当該操作は45で終了する。
【0020】図5はクライアント・プロセッサPXによ
るクライアント・ディスクDXのファイルの書込み操作
の流れ図である。必要ならば、サーバ・ファイルをイン
ポートするのに十分なスペースがあることを保証するた
めに405でチェックが行われる。スペース・チェック
は図6と関連して検討される。405でのチェックの後
で、書込まれるファイルがクライアント・ディスクDX
にあるか否かを判断するためにクライアント・ディスク
DXのディレクトリ20のチェックが55で行われる。
55でのチェックの結果が否定であれば、ファイルがサ
ーバ14にあるか否かを判断するために56でチェック
が行われる。ファイルがサーバ14にもない場合、57
でクライアント・ディスクDXでそのファイルが作ら
れ、書込みフラグ又はビットが58で活動状態にセット
され、ファイルは59で書込まれ、そして当該操作は6
0で終了する。56で判断した時、当該ファイルが当該
サーバにある場合、ファイルは62でインポートされ、
当該操作は上述のように58に継続される。55で判断
した時、当該ファイルがクライアント・ディスクDXに
ある場合、その書込フラグは63でチェックされる。書
込みフラグが63で活動状態にある場合、当該操作は記
述されたように59に行く。クライアント・プロセッサ
PXにより書込まれているすべてのファイルはクライア
ント・ディスクDXに固定化されるが、それらのファイ
ルは後述するようにサーバ14と他のクライアント・ノ
ードから見えないことが理解されるだろう。書込みフラ
グが63で活動状態にない場合、当該ファイルがサーバ
14にあるか否かを判断するために64でチェックが行
われる。64で判断した時、サーバー14にファイルが
ない場合、書込み操作は59へ移る。当該ファイルが6
4でサーバ14にある場合、前述の通り、サーバ・ファ
イルがより最新であるか否かを判断するため66で判定
が行われる。当該サーバ・ファイルが66でより最新で
ない場合、クライアント・ファイルは前述の通り59で
書込まれる。当該サーバ・コピーが66でより最新であ
る場合、当該ファイルのトリガー・ビットが68でチェ
ックされる。68でチェックされたトリガー・ビットが
活動状態にない場合、当該クライアント・ファイルは5
9で書込まれ、当該操作は60で終了する。68でチェ
ックされたトリガー・ビットが活動状態にあるとき、新
規レベルのサーバ・ファイルは70でインポートされ、
72でクライアント・ファイルに上書きされ、当該クラ
イアントの書込みフラグは58で活動状態にセットさ
れ、クライアント・ファイルは59で書込まれ、当該操
作は60で終了する。
【0021】図6は、希望に応じてそのクライアント・
プロセッサPXによりファイルに書込み、サーバ・ファ
イルをインポートし、又はファイルをクライアント・デ
ィスクDXに作成するためにクライアント・ディスクDX
上に十分なスペースがあるか否かチェックする操作に関
する流れ図である。80で、クライアント・ディスクD
Xに十分なスペースがあるか否かを判断するためにチェ
ックが行われる。十分なスペースがある場合、操作は8
4で終了する。80で十分なスペースがない場合、ディ
レクトリ20の第1制御レコード24をチェックする8
6に操作は移る。そのレコードの書込みビットが活動状
態にあるか否かを判断するために88でチェックが行わ
れる。書込みビットが活動状態にない場合、同レコード
は90でエージング・リストに追加される。当該書込ビ
ットが88で活動状態にある場合、ピン・ビットが活動
状態にあるか否かを判断するために92でチェックが行
われる。ピン・ビットが活動状態にない場合、当該レコ
ードが90でエージング・リストに追加される。当該ピ
ン・ビットが92で活動状態にある場合、又は、書込み
ビット又はピン・ビットのどちらかが活動状態にないた
め当該レコードが90でエージング・リストに追加され
ている場合、最終レコードのチェックが94で行われ
る。このレコードがディレクトリ20の最終レコード2
4でない場合、当該操作は次のレコードを見るために8
6へ戻される。すべてのレコードのチェックが完了した
場合、当該操作は古くなったファイルを判断するために
96でエイジング・ロジックを実行し、こうして判定さ
れた古くなったファイルは削除され、新規ファイルを作
成するためのスペースを作る。このようなエイジング・
ロジック・スキーマはLRUロジックであり、周知の方
法であるので、更に検討はされない。96にて、エージ
ング・ロジック・オペレーションと当該ファイルの削除
が行われた後、当該操作は84で終了する。
【0022】図7は、クライアント・プロセッサPXに
よってファイルをクライアント・ディスクDXから削除
するための操作の流れ図である。100でループとして
表わされているように、クライアント・ディスクDXか
ら削除されるファイルを探すための探索が行われる。当
該レコードが100で発見されると、そのレコードは1
02でクライアント・ディスクDXのみから削除され
る。当該クライアント・ファイルの消去により、図2で
示されたような、当該ファイルの全てのフラグと制御レ
コードもディレクトリ20から消去されることは理解さ
れるだろう。それで当該操作は104で終了する。
【0023】図8は、クライアント・プロセッサPXに
よって書込まれたクライアント・ファイルがサーバ14
から見えないようにするためにクライアント・ディスク
DXに対するサーバ操作を如何に実行するかに関する流
れ図である。サーバ14はクライアント・ディスクDX
のファイルの操作を要求する場合、第1レコードは10
6で検査される。このファイルの書込みフラグが活動状
態であるか否かを判断するために108でチェックが行
われる。108で書込みフラグが活動状態にある場合、
このファイルが当該ディレクトリの最終レコードである
か否かをチェックするために、当該操作は110に移
る。当該書込みフラグが108で活動状態にない場合、
このファイルがサーバ要求が実行されるターゲット・フ
ァイルであるか否かを判断するために112でチェック
が行われる。例えば、要求された操作がすべてのファイ
ルに対するグローバルな操作である場合、すべてのクラ
イアント・ファイルがターゲット・ファイルであり、1
08で判断した時に、活動状態の書込みフラグを有する
クライアント・ファイルを除いてサーバ要求によって操
作される。当該操作が、特定ファイルに対するものであ
る場合、同特定ファイルは112でチェックされる。1
12でのチェック結果が否定の場合、これが当該ディレ
クトリの最終レコードであるか否かをチェックするため
に当該操作は110に移る。112でのチェック結果が
肯定の場合、即ち、現在のファイルがサーバ要求が意図
したものである場合、そのファイルに対して要求された
サーバ操作は114で完了し、当該操作は116で終了
する。当該レコードが110で最終レコードでない場
合、当該操作はディレクトリの次のレコードを見に10
6へ移り、上述の通り、ループを介して継続する。当該
レコードが110で最終レコードである場合、当該操作
は116で終了する。
【0024】前に検討された通り、114のサーバ操作
は、すべてのファイルのインストール・ビットを活動状
態にリセットするようなグローバルな操作であることも
あり、その場合には、すべてのレコードが112で選択
される。望むなら、システム管理者はクライアント・プ
ロセッサが強制的に希望するファイルの最新コピーをサ
ーバ14からインポートするために、いくつかのファイ
ル又はすべてのファイルを非活動状態にするため、書込
みフラグ及び/又は、ピン・フラグを含むフラグをグロ
ーバルにリセットすることもできる。検討した通り、特
定ファイルのみのためのフラグの1つのステート(状
態)の変更又は、特定ファイルのみ削除するといった特
定ファイルのみに対するサーバ要求を実行するために1
12でファイル毎に特定のファイルを選択できる。サー
バ操作はサーバ14でクライアント・ディスクDX上の
すべてのファイルを表示することができる。このような
要求はグローバルな要求で、クライアント・ディスクD
Xのディレクトリ20の中に制御レコード24を有する
すべてのファイルが、書込みフラグ又はビット28が活
動状態にあるファイルを除いて、当該サーバで表示され
る。ディスプレイ操作又はサーバ14に予約されていな
い他の操作は、他のクライアントの1つ又は複数のディ
スク上のファイルに対して任意のクライアント・プロセ
ッサによっても実行できることは理解されるだろう。書
込ビット28が活動状態にある場合、関連するファイル
は自身のクライアント・プロセッサPXによってのみ表
示され得る。
【0025】この発明は、P1からPNまでの各プロセッ
サのオペレーティング・システムがX/Open Co
mpany Ltd.を通じて独占的に認可されたUN
IXオペレーティング・システム、又はIBM社から出
されているIBM仕様のUNIXオペレーティング・シ
ステムであるAIXオペレーティング・システムの場合
特に有効である。ブート時に、すべてのノードにオペレ
ーティング・システムをロードする代わりに、本発明で
は、当該オペレーティング・システムをサーバ14にの
みロードすれば良く、オペレーティング・システム・フ
ァイルがクライアント・ノードで必要とされる度に、説
明されたようにサーバ14から取出すことができる。オ
ペレーティング・システム・ファイルがクライアント・
プロセッサが書込むことにより個別化される場合、その
ファイルは、そのクライアント・ノードに専用となり、
書込みビットを活動状態にすることにより、サーバ14
から見えなくなる。また既に説明した通り、選択された
複数のオペレーティング・システム・ファイル又は完全
なオペレーティング・システムは、より最新のリリース
で更新したり、最新ファイルは必要に応じてクライアン
ト・ノードにインポートされる。リブート及び基本ファ
イル・パシング・オペレーションの実行に必要とされる
ようなオペレーティング・システム・ファイルのいくつ
かは、システム管理者によってクライアント・ディスク
に送られ、それらのファイルはクライアント・ディスク
に固定され、既述のエイジング・ロジックによって削除
や置換えが行われないようにすることもできる。こうし
て、クライアント・ノードのリブート、及び基本ファイ
ル・パシング・オペレーションを実行するために必要な
ファイルは、常にクライアント・ディスクに存在する。
更に、非オペレーティング・システム・ファイルもまた
本ファイル・システムによって取扱われるということは
理解されるだろう。本ファイル・システムによって処理
されるファイルはサーバ14からクライアント・ノード
へ移動するだけであることに気がつくだろう。このよう
にして、本ファイル・システムは単一方向のファイル・
システムとして言及することができる。
【0026】図3について、本ファイル・システムの1
つの実施例は、ファイル210よりもページ212にも
とづくものである。データレス・オペレーションは、当
該技術でよく知られている方法で、ページが当該クライ
アント・ディスクのページング域に固定化できるように
することによって拡張することができる。
【0027】まとめとして、本発明の構成に関して、以
下の事項を開示する。
【0028】(1) 各ノードがクライアント・プロセ
ッサ及びクライアント・ファイルを保持するためのクラ
イアント・ディスクを有する複数のノードであって、前
記ノードの1つがファイル・サーバとして機能する制御
ノードであり、前記制御ノードのクライアント・ディス
クは、クライアント・ファイルに対応するサーバ・ファ
イルを有するサーバ・ディスクであるノードと、サーバ
・ファイルを前記クライアント・ディスクに渡すための
前記複数のノードに接続された通信ファブリックと、各
ノードのクライアント・プロセッサが、そのノードのク
ライアント・ディスクのファイルに対する読取り及び書
込みのような特定ファイルにアクセスするための各ノー
ドにおける読取り/書込み手段であって、特定ファイル
がそのクライアント・ディスクにあるか否かを判断する
ための決定手段と、前記決定手段により前記特定ファイ
ルがクライアント・ディスクにないと判断された場合、
通信ファブリックを介して前記特定ファイルに対応する
サーバ・コピーをサーバ・ディスクからクライアント・
ディスクへインポートするためのファイル・インポート
手段と、前記の決定手段によりクライアント・ディスク
にあると判断された前記特定ファイルが、前記クライア
ント・プロセッサによって書込まれたか否かをテスト
し、前記特定ファイルが書込まれていた場合には、前記
ファイル・インポート手段が、前記特定ファイルをイン
ポートすることを防止する書込みテスト手段と、特定フ
ァイルのクライアント・コピーが、クライアント・プロ
セッサによって書込まれる場合、特定ファイルのクライ
アント・コピーに書込みフラグを立てるフラグ設定手段
とを有する前記読取り/書込み手段とを含む、ファイル
・システム。 (2) 前記決定の手段が、前記特定ファイルがクライ
アント・ディスクにあると判断し、前記書込みテスト手
段は前記特定ファイルがクライアント・プロセッサによ
って書込まれていないと判断する場合、サーバ・ディス
ク上の特定ファイルの対応するコピーが、クライアント
・ディスク上の特定ファイルより、より新しいか否かの
比較を行い、特定ファイルのサーバ・ファイル・コピー
がより新しい場合、通信ファブリックを介して、ファイ
ル・インポート手段が特定ファイルの対応するサーバ・
コピーをサーバ・ディスクからクライアント・ディスク
へインポートさせる、前記読取り/書込み手段の各々に
おける比較手段を含む、(1)に記載のファイル・シス
テム。 (3) 前記クライアント・ディスクと前記サーバ・デ
ィスク上の各ファイルがタイム・スタンプを有し、前記
比較手段が、前記クライアント・ディスク上の前記特定
ファイルのタイム・スタンプを前記サーバ・ディスクの
対応するファイルのものと比較し、前記サーバ・ディス
クの対応するファイルがより新しいか否かを決定する、
(2)に記載のファイル・システム。 (4) 前記クライアント・ディスク上の各ファイルは
インストール・ビットを有し、前記サーバは、サーバ・
ディスクの対応するファイルがより最新バージョンに変
更されたクライアント・ディスクの各ファイルのインス
トール・ビットを活動状態に変更するためのサーバ・フ
ァイル・コマンド手段を有し、前記比較手段は、活動状
態にある場合には、前記サーバ・ディスクの前記の対応
するファイルがより新しいことを意味する前記特定ファ
イルのインストール・ビットの状態を比較する、(2)
に記載のファイル・システム。 (5) 他のノードのファイルにファイル・コマンドを
実行するための各ノードのファイル・コマンド手段と、
他のノードからのファイル・コマンドの実行中、書込み
フラグを有する前記クライアント・ディスク上のクライ
アント・ファイルをスキップし、それによって、クライ
アント・ファイルが他のノードのファイル・コマンド手
段から見えなくするスキップ手段とを更に含む、(2)
に記載のファイル・システム。 (6) 前記読取り/書込み手段は、書込まれるファイ
ルがクライアント・ディスク又はサーバ・ディスクに存
在しない場合、書込むべきファイルをクライアント・デ
ィスク上に作成するファイル作成手段を含む、(1)に
記載のファイル・システム。 (7) 前記読取り/書込み手段はファイルを削除し、
前記ファイル作成手段によって作成されるファイル用に
クライアント・ディスク上にスペースをつくるファイル
削除手段を含む、(6)に記載のファイル・システム。 (8) 前記ファイル削除手段は、前記ファイル作成手
段によって削除される古くなったファイルを決定するた
めのエイジング・ロジックを含む、(7)に記載のファ
イル・システム。 (9) 前記エイジング・ロジックはLRUロジックを
使用する、(8)に記載のファイル・システム。 (10) 前記読取り/書込み手段は、ファイルを前記
クライアント・ディスクに固定化し、前記ファイル作成
手段によって作成されるファイルのためのスペースをも
うける際に、前記ファイル削除手段が、固定化されたフ
ァイルを削除しないようにする固定化手段を含む、
(7)に記載のファイル・システム。 (11)前記サーバ・ディスクは、各アプリケーション
は1つ以上のファイルを有し、少くとも1つのアプリケ
ーションはより低いバージョンとより高いバージョンを
有する、1つ以上のアプリケーションと、各アプリケー
ションに対するトリガー手段であって、前記トリガー手
段は、特定アプリケーションのためにインポートされる
べきファイルがバージョンのより低い特定アプリケーシ
ョンからのものである場合は第1状態(state)
を、前記特定アプリケーションのためにインポートされ
るべきファイルがバージョンのより高い特定アプリケー
ションからのものである場合は第2状態を有するトリガ
ー手段と、前記サーバからインポートされるべきファイ
ルのトリガー手段の状態を比較し、当該ファイルがより
低いレベルのアプリケーション、又はより高いレベルの
アプリケーションからインポートされるべきかを決定す
るトリガー比較手段を含む各インポート手段と、を含む
(4)に記載のファイル・システム。 (12) 前記ファイルは1つ以上のページを含み、前
記ファイル・インポート手段は、特定ファイルの前記サ
ーバ・コピーをサーバ・ディスクからクライアント・デ
ィスクへ一度に1ページだけインポートするための手段
を含む、(1)に記載のファイル・システム。 (13) 複数のノードを含むファイル・システムにお
いて、各ノードはクライアント・プロセッサとクライア
ント・ファイルを保持するためのクライアント・ディス
クを有し、前記ノードの1つはファイル・サーバとして
機能する制御ノードであって、前記制御ノードのクライ
アント・ディスクはクライアント・ファイルに対応する
サーバ・ファイルを有し、通信ファブリックはサーバ・
ファイルを前記クライアント・ディスクへ渡せるように
前記複数のノードに接続されており、各ノードの読取り
/書込み手段は、各ノードのクライアント・プロセッサ
が、そのノードのクライアント・ディスク上のファイル
に読取り及び書込みできるように特定ファイルへのアク
セスを提供する、上記ファイル・システムにおいて、特
定ファイルがそのクライアント・ディスク上にあるか否
かを判断する段階と、前記特定ファイルがクライアント
・ディスク上にないと判断された場合、通信ファブリッ
クを介して、特定ファイルの対応するサーバ・コピーを
サーバ・ディスクからクライアント・ディスクへインポ
ートする段階と、クライアント・ディスク上にあると判
断された前記特定ファイルが前記クライアント・プロセ
ッサによって書込まれたか否かをテストする段階と、前
記特定ファイルが書込まれていた場合、前記特定ファイ
ルのインポートを防止する段階と、特定ファイルのクラ
イアント・コピーがクライアント・プロセッサにより書
込まれる場合、特定ファイルのクライアント・コピーに
書き込みフラグを立てる段階とを含む方法。 (14) 前記特定ファイルがクライアント・ディスク
上にあり、特定ファイルがクライアント・プロセッサに
より書込まれていないと判断される場合、サーバ・ディ
スク上の特定ファイルの対応するコピーが、クライアン
ト・ディスク上の特定ファイルより、より新しいかどう
かを比較する段階と、特定ファイルのサーバ・ファイル
・コピーがより新しい場合に、通信ファブリックを介し
て、サーバ・ディスクからクライアント・ディスクへ特
定ファイルの対応するサーバ・コピーをインポートする
段階とを更に含む、(13)に記載の方法。 (15) 前記クライアント・ディスクと前記サーバ・
ディスク上の各ファイルは、タイム・スタンプを有して
いて、前記方法は、前記サーバ・ディスク上の対応する
ファイルがより新しいか否かを判断するとき、前記クラ
イアント・ディスク上の前記特定ファイルのタイム・ス
タンプを前記サーバ・ディスク上の対応するファイルと
比較する段階を更に含む、(14)に記載の方法。 (16) 前記クライアント・ディスクの各ファイルは
インストール・ビットを有し、前記方法は、サーバ・デ
ィスクの対応するファイルがより新しいバージョンに変
更されているクライアント・ディスク上の各ファイルの
インストール・ビットを活動状態へ変更する段階と、前
記サーバ・ディスクの前記の対応ファイルがより最新か
否かの判断をするときに、前記特定ファイルのインスト
ール・ビットの状態を比較し、それが活動状態にあるか
否かを判断する段階とを、更に含む、(14)に記載の
ファイル・システム。 (17) 前記ファイル・システムにおける他のノード
のクライアント・ファイル操作を任意のノードのプロセ
ッサにより実行する段階と、クライアント・ファイルが
書込まれていることを示している書込みフラグを有する
各クライアント・ディスク上のクライアント・ファイル
を他のノードから見えなくする段階とを更に含む、(1
4)に記載の方法。 (18) 書込むべきファイルがクライアント・ディス
ク及びサーバ・ディスクのどちらにも存在しない場合、
書込むべきファイルをクライアント・ディスク上に作成
する段階を更に含む、(13)に記載の方法。 (19) 書込まれる前記ファイルを作成する前に、フ
ァイルを削除し、クライアント・ディスク上にスペース
をつくる段階を更に含む、(18)に記載の方法。 (20) ファイル削除段階が、削除すべき古くなった
ファイルを決定する段階を含む、(19)に記載の方
法。 (21) 前記の古くなったファイルがLRUロジック
を使用する、(20)に記載の方法。 (22) 前記ファイル作成段階によって作成されるフ
ァイルのためのスペースをつくる場合、ファイルを前記
クライアント・ディスクに固定化し、前記ファイル削除
段階が固定化されたファイルを削除しないようにする段
階を更に含む、(19)に記載の方法。 (23) 前記サーバ・ディスクは:各アプリケーショ
ンは1つ以上のファイルを有し、少くとも1つのアプリ
ケーションはより低いバージョン及びより高いバージョ
ンを有する1つ以上のアプリーケーションと、各アプリ
ケーションに対するトリガー手段であって、前記トリガ
ー手段は、特定アプリケーションのためにインポートさ
れるべきファイルが、特定アプリケーションのより低い
バージョンからの場合の第1状態と、前記特定アプリケ
ーションのためにインポートされるべきファイルが、特
定アプリケーションのより高いバージョンからの場合の
第2状態とを有するトリガー手段と、前記サーバからイ
ンポートされるべきファイルのトリガー手段の状態を比
較し、ファイルがより低いレベルのアプリケーション、
又はより高いアプリケーションからインポートされるべ
きか判断する段階を更に含む前記方法とを含む、(1
6)に記載のファイル・システム。 (24) 各ノードはクライアント・プロセッサとクラ
イアント・ファイルを保持するためのクライアント・デ
ィスクを有する複数のノードであって、前記ノードの1
つはファイル・サーバとして機能する制御ノードであ
り、前記制御ノードのクライアント・ディスクは、クラ
イアント・ファイルに対応するサーバ・ファイルを有す
るサーバ・ディスクであるノードと、前記クライアント
・ディスクにサーバ・ファイルを引渡すための、前記複
数のノードに接続されている通信ファブリックと、その
ノードのクライアント・プロセッサによって、書込まれ
たクライアント・ディスク上のファイルが前記ファイル
・サーバ及び、他のクライアント・ノードから見えない
ようにする各ノードの手段と含むファイル・システム。 (25) 各ノードはクライアント・プロセッサとクラ
イアント・ファイルを保持するためのクライアント・デ
ィスクを有する複数のノードであって、前記ノードの1
つはファイル・サーバとして機能する制御ノードであ
り、前記制御ノードのクライアント・ディスクはオペレ
ーティング・システム・ファイルを有するサーバ・ディ
スクであるノードと、前記クライアント・ディスクにオ
ペレーティング・システム・ファイルを引き渡すための
前記複数のノードに接続されている通信ファブリック
と、そのクライアント・ディスクが特定オペレーティン
グ・システム・ファイルを必要する場合のみ、特定オペ
レーティング・システム・ファイルを前記サーバ・ディ
スクからそのノードのクライアント・ディスクにインポ
ートする、各ノードのファイル・インポート手段とを含
むファイル・システム。 (26) 前記ファイル・インポート手段は、前記サー
バからファイルをインポートするための十分なスペース
がない場合、クライアント・ディスクからファイルを削
除するための削除手段を含む、(25)に記載のファイ
ル・システム。 (27) 前記ファイル・インポート手段は、特定オペ
レーティング・システム・ファイルを前記クライアント
・ディスクに固定化し、固定化されたファイルが前記削
除手段によって削除されないようにするための固定化手
段を含む、(26)に記載のファイリング・システム。
【図面の簡単な説明】
【図1】通信ファブリックによって接続された複数のノ
ードを有し、各ノードはクライアント・プロセッサとク
ライアント・ディスク装置を有するファイル・システム
・ネットワークの概略図である。
【図2】図1のネットワークのクライアント・ディスク
の内容の概略図である。
【図3】図1のネットワークのサーバ・ディスクの論理
図である。
【図4】図1のネットワークのクライアント・ディスク
のクライアント・プロセッサによる読取り操作の流れ図
である。
【図5】図1のネットワークのクライアント・ディスク
に対して行われるクライアント・プロセッサによる書込
み操作の流れ図である。
【図6】クライアント・ファイルが書込まれるか、サー
バからインポートされるか、又は図1のネットワークの
クライアント・ディスクに作られる前にクライアント・
ディスク上に十分なスペースがあるか否かをチェックす
るためのクライアント・プロセッサによる操作に関する
流れ図である。
【図7】図1のネットワークのクライアント・ディスク
からファイルを削除するためのクライアント・プロセッ
サによる操作に関する流れ図である。
【図8】クライアント・ディスクでの操作を実行するた
めに図1のネットワークのファイル・サーバの操作に関
する流れ図である。クライアント・ディスク上のフラグ
付ファイルはサーバ操作時に見えない。

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】各ノードがクライアント・プロセッサ及び
    クライアント・ファイルを保持するためのクライアント
    ・ディスクを有する複数のノードであって、 前記ノードの1つがファイル・サーバとして機能する制
    御ノードであり、前記制御ノードのクライアント・ディ
    スクは、クライアント・ファイルに対応するサーバ・フ
    ァイルを有するサーバ・ディスクであるノードと、 サーバ・ファイルを前記クライアント・ディスクに渡す
    ための前記複数のノードに接続された通信ファブリック
    と、 各ノードのクライアント・プロセッサが、そのノードの
    クライアント・ディスクのファイルに対する読取り及び
    書込みのような特定ファイルにアクセスするための各ノ
    ードにおける読取り/書込み手段であって、 特定ファイルがそのクライアント・ディスクにあるか否
    かを判断するための決定手段と、 前記決定手段により前記特定ファイルがクライアント・
    ディスクにないと判断された場合、通信ファブリックを
    介して前記特定ファイルに対応するサーバ・コピーをサ
    ーバ・ディスクからクライアント・ディスクへインポー
    トするためのファイル・インポート手段と、 前記の決定手段によりクライアント・ディスクにあると
    判断された前記特定ファイルが、前記クライアント・プ
    ロセッサによって書込まれたか否かをテストし、前記特
    定ファイルが書込まれていた場合には、前記ファイル・
    インポート手段が、前記特定ファイルをインポートする
    ことを防止する書込みテスト手段と、 特定ファイルのクライアント・コピーが、クライアント
    ・プロセッサによって書込まれる場合、特定ファイルの
    クライアント・コピーに書込みフラグを立てるフラグ設
    定手段とを有する前記読取り/書込み手段とを含む、フ
    ァイル・システム。
  2. 【請求項2】前記決定の手段が、前記特定ファイルがク
    ライアント・ディスクにあると判断し、前記書込みテス
    ト手段は前記特定ファイルがクライアント・プロセッサ
    によって書込まれていないと判断する場合、サーバ・デ
    ィスク上の特定ファイルの対応するコピーが、クライア
    ント・ディスク上の特定ファイルより、より新しいか否
    かの比較を行い、特定ファイルのサーバ・ファイル・コ
    ピーがより新しい場合、通信ファブリックを介して、フ
    ァイル・インポート手段が特定ファイルの対応するサー
    バ・コピーをサーバ・ディスクからクライアント・ディ
    スクへインポートさせる、前記読取り/書込み手段の各
    々における比較手段を含む、請求項1に記載のファイル
    ・システム。
  3. 【請求項3】前記クライアント・ディスクと前記サーバ
    ・ディスク上の各ファイルがタイム・スタンプを有し、
    前記比較手段が、前記クライアント・ディスク上の前記
    特定ファイルのタイム・スタンプを前記サーバ・ディス
    クの対応するファイルのものと比較し、前記サーバ・デ
    ィスクの対応するファイルがより新しいか否かを決定す
    る、請求項2に記載のファイル・システム。
  4. 【請求項4】前記クライアント・ディスク上の各ファイ
    ルはインストール・ビットを有し、前記サーバは、サー
    バ・ディスクの対応するファイルがより最新バージョン
    に変更されたクライアント・ディスクの各ファイルのイ
    ンストール・ビットを活動状態に変更するためのサーバ
    ・ファイル・コマンド手段を有し、前記比較手段は、活
    動状態にある場合には、前記サーバ・ディスクの前記の
    対応するファイルがより新しいことを意味する前記特定
    ファイルのインストール・ビットの状態を比較する、請
    求項2に記載のファイル・システム。
  5. 【請求項5】他のノードのファイルにファイル・コマン
    ドを実行するための各ノードのファイル・コマンド手段
    と、他のノードからのファイル・コマンドの実行中、書
    込みフラグを有する前記クライアント・ディスク上のク
    ライアント・ファイルをスキップし、それによって、ク
    ライアント・ファイルが他のノードのファイル・コマン
    ド手段から見えなくするスキップ手段とを更に含む、請
    求項2に記載のファイル・システム。
  6. 【請求項6】前記読取り/書込み手段は、書込まれるフ
    ァイルがクライアント・ディスク又はサーバ・ディスク
    に存在しない場合、書込むべきファイルをクライアント
    ・ディスク上に作成するファイル作成手段を含む、請求
    項1に記載のファイル・システム。
  7. 【請求項7】前記読取り/書込み手段はファイルを削除
    し、前記ファイル作成手段によって作成されるファイル
    用にクライアント・ディスク上にスペースをつくるファ
    イル削除手段を含む、請求項6に記載のファイル・シス
    テム。
  8. 【請求項8】前記ファイル削除手段は、前記ファイル作
    成手段によって削除される古くなったファイルを決定す
    るためのエイジング・ロジックを含む、請求項7に記載
    のファイル・システム。
  9. 【請求項9】前記エイジング・ロジックはLRUロジッ
    クを使用する、請求項8に記載のファイル・システム。
  10. 【請求項10】前記読取り/書込み手段は、ファイルを
    前記クライアント・ディスクに固定化し、前記ファイル
    作成手段によって作成されるファイルのためのスペース
    をもうける際に、前記ファイル削除手段が、固定化され
    たファイルを削除しないようにする固定化手段を含む、
    請求項7に記載のファイル・システム。
  11. 【請求項11】前記サーバ・ディスクは、 各アプリケーションは1つ以上のファイルを有し、少く
    とも1つのアプリケーションはより低いバージョンとよ
    り高いバージョンを有する、1つ以上のアプリケーショ
    ンと、 各アプリケーションに対するトリガー手段であって、前
    記トリガー手段は、特定アプリケーションのためにイン
    ポートされるべきファイルがバージョンのより低い特定
    アプリケーションからのものである場合は第1状態(s
    tate)を、前記特定アプリケーションのためにイン
    ポートされるべきファイルがバージョンのより高い特定
    アプリケーションからのものである場合は第2状態を有
    するトリガー手段と、 前記サーバからインポートされるべきファイルのトリガ
    ー手段の状態を比較し、当該ファイルがより低いレベル
    のアプリケーション、又はより高いレベルのアプリケー
    ションからインポートされるべきかを決定するトリガー
    比較手段を含む各インポート手段と、 を含む請求項4に記載のファイル・システム。
  12. 【請求項12】前記ファイルは1つ以上のページを含
    み、前記ファイル・インポート手段は、特定ファイルの
    前記サーバ・コピーをサーバ・ディスクからクライアン
    ト・ディスクへ一度に1ページだけインポートするため
    の手段を含む、請求項1に記載のファイル・システム。
  13. 【請求項13】複数のノードを含むファイル・システム
    において、各ノードはクライアント・プロセッサとクラ
    イアント・ファイルを保持するためのクライアント・デ
    ィスクを有し、前記ノードの1つはファイル・サーバと
    して機能する制御ノードであって、前記制御ノードのク
    ライアント・ディスクはクライアント・ファイルに対応
    するサーバ・ファイルを有し、通信ファブリックはサー
    バ・ファイルを前記クライアント・ディスクへ渡せるよ
    うに前記複数のノードに接続されており、各ノードの読
    取り/書込み手段は、各ノードのクライアント・プロセ
    ッサが、そのノードのクライアント・ディスク上のファ
    イルに読取り及び書込みできるように特定ファイルへの
    アクセスを提供する、上記ファイル・システムにおい
    て、 特定ファイルがそのクライアント・ディスク上にあるか
    否かを判断する段階と、 前記特定ファイルがクライアント・ディスク上にないと
    判断された場合、通信ファブリックを介して、特定ファ
    イルの対応するサーバ・コピーをサーバ・ディスクから
    クライアント・ディスクへインポートする段階と、 クライアント・ディスク上にあると判断された前記特定
    ファイルが前記クライアント・プロセッサによって書込
    まれたか否かをテストする段階と、 前記特定ファイルが書込まれていた場合、前記特定ファ
    イルのインポートを防止する段階と、 特定ファイルのクライアント・コピーがクライアント・
    プロセッサにより書込まれる場合、特定ファイルのクラ
    イアント・コピーに書き込みフラグを立てる段階とを含
    む方法。
  14. 【請求項14】前記特定ファイルがクライアント・ディ
    スク上にあり、特定ファイルがクライアント・プロセッ
    サにより書込まれていないと判断される場合、サーバ・
    ディスク上の特定ファイルの対応するコピーが、クライ
    アント・ディスク上の特定ファイルより、より新しいか
    どうかを比較する段階と、 特定ファイルのサーバ・ファイル・コピーがより新しい
    場合に、通信ファブリックを介して、サーバ・ディスク
    からクライアント・ディスクへ特定ファイルの対応する
    サーバ・コピーをインポートする段階とを更に含む、請
    求項13に記載の方法。
  15. 【請求項15】前記クライアント・ディスクと前記サー
    バ・ディスク上の各ファイルは、タイム・スタンプを有
    していて、前記方法は、前記サーバ・ディスク上の対応
    するファイルがより新しいか否かを判断するとき、前記
    クライアント・ディスク上の前記特定ファイルのタイム
    ・スタンプを前記サーバ・ディスク上の対応するファイ
    ルと比較する段階を更に含む、請求項14に記載の方
    法。
  16. 【請求項16】前記クライアント・ディスクの各ファイ
    ルはインストール・ビットを有し、前記方法は、サーバ
    ・ディスクの対応するファイルがより新しいバージョン
    に変更されているクライアント・ディスク上の各ファイ
    ルのインストール・ビットを活動状態へ変更する段階
    と、前記サーバ・ディスクの前記の対応ファイルがより
    最新か否かの判断をするときに、前記特定ファイルのイ
    ンストール・ビットの状態を比較し、それが活動状態に
    あるか否かを判断する段階とを、更に含む、請求項14
    に記載のファイル・システム。
  17. 【請求項17】前記ファイル・システムにおける他のノ
    ードのクライアント・ファイル操作を任意のノードのプ
    ロセッサにより実行する段階と、クライアント・ファイ
    ルが書込まれていることを示している書込みフラグを有
    する各クライアント・ディスク上のクライアント・ファ
    イルを他のノードから見えなくする段階とを更に含む、
    請求項14に記載の方法。
  18. 【請求項18】書込むべきファイルがクライアント・デ
    ィスク及びサーバ・ディスクのどちらにも存在しない場
    合、書込むべきファイルをクライアント・ディスク上に
    作成する段階を更に含む、請求項13に記載の方法。
  19. 【請求項19】書込まれる前記ファイルを作成する前
    に、ファイルを削除し、クライアント・ディスク上にス
    ペースをつくる段階を更に含む、請求項18に記載の方
    法。
  20. 【請求項20】ファイル削除段階が、削除すべき古くな
    ったファイルを決定する段階を含む、請求項19に記載
    の方法。
  21. 【請求項21】前記の古くなったファイルがLRUロジ
    ックを使用する、請求項20に記載の方法。
  22. 【請求項22】前記ファイル作成段階によって作成され
    るファイルのためのスペースをつくる場合、ファイルを
    前記クライアント・ディスクに固定化し、前記ファイル
    削除段階が固定化されたファイルを削除しないようにす
    る段階を更に含む、請求項19に記載の方法。
  23. 【請求項23】前記サーバ・ディスクは:各アプリケー
    ションは1つ以上のファイルを有し、少くとも1つのア
    プリケーションはより低いバージョン及びより高いバー
    ジョンを有する1つ以上のアプリーケーションと、 各アプリケーションに対するトリガー手段であって、前
    記トリガー手段は、特定アプリケーションのためにイン
    ポートされるべきファイルが、特定アプリケーションの
    より低いバージョンからの場合の第1状態と、前記特定
    アプリケーションのためにインポートされるべきファイ
    ルが、特定アプリケーションのより高いバージョンから
    の場合の第2状態とを有するトリガー手段と、 前記サーバからインポートされるべきファイルのトリガ
    ー手段の状態を比較し、ファイルがより低いレベルのア
    プリケーション、又はより高いアプリケーションからイ
    ンポートされるべきか判断する段階を更に含む前記方法
    とを含む、請求項16に記載のファイル・システム。
  24. 【請求項24】各ノードはクライアント・プロセッサと
    クライアント・ファイルを保持するためのクライアント
    ・ディスクを有する複数のノードであって、 前記ノードの1つはファイル・サーバとして機能する制
    御ノードであり、前記制御ノードのクライアント・ディ
    スクは、クライアント・ファイルに対応するサーバ・フ
    ァイルを有するサーバ・ディスクであるノードと、 前記クライアント・ディスクにサーバ・ファイルを引渡
    すための、前記複数のノードに接続されている通信ファ
    ブリックと、 そのノードのクライアント・プロセッサによって、書込
    まれたクライアント・ディスク上のファイルが前記ファ
    イル・サーバ及び、他のクライアント・ノードから見え
    ないようにする各ノードの手段と含むファイル・システ
    ム。
  25. 【請求項25】各ノードはクライアント・プロセッサと
    クライアント・ファイルを保持するためのクライアント
    ・ディスクを有する複数のノードであって、 前記ノードの1つはファイル・サーバとして機能する制
    御ノードであり、前記制御ノードのクライアント・ディ
    スクはオペレーティング・システム・ファイルを有する
    サーバ・ディスクであるノードと、 前記クライアント・ディスクにオペレーティング・シス
    テム・ファイルを引渡すための前記複数のノードに接続
    されている通信ファブリックと、 そのクライアント・ディスクが特定オペレーティング・
    システム・ファイルを必要する場合のみ、特定オペレー
    ティング・システム・ファイルを前記サーバ・ディスク
    からそのノードのクライアント・ディスクにインポート
    する、各ノードのファイル・インポート手段とを含むフ
    ァイル・システム。
  26. 【請求項26】前記ファイル・インポート手段は、前記
    サーバからファイルをインポートするための十分なスペ
    ースがない場合、クライアント・ディスクからファイル
    を削除するための削除手段を含む、請求項25に記載の
    ファイル・システム。
  27. 【請求項27】前記ファイル・インポート手段は、特定
    オペレーティング・システム・ファイルを前記クライア
    ント・ディスクに固定化し、固定化されたファイルが前
    記削除手段によって削除されないようにするための固定
    化手段を含む、請求項26に記載のファイル・システ
    ム。
JP00224496A 1995-01-23 1996-01-10 クライアント/サーバをベースにした多重プロセッサ・ファイル・システム Expired - Fee Related JP3627034B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US376710 1989-07-07
US08/376,710 US5758342A (en) 1995-01-23 1995-01-23 Client server based multi-processor file system wherein client files written to by a client processor are invisible to the server

Publications (2)

Publication Number Publication Date
JPH08278913A true JPH08278913A (ja) 1996-10-22
JP3627034B2 JP3627034B2 (ja) 2005-03-09

Family

ID=23486147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00224496A Expired - Fee Related JP3627034B2 (ja) 1995-01-23 1996-01-10 クライアント/サーバをベースにした多重プロセッサ・ファイル・システム

Country Status (3)

Country Link
US (1) US5758342A (ja)
EP (1) EP0723237A1 (ja)
JP (1) JP3627034B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140079350A (ko) * 2011-06-16 2014-06-26 신씨 아이엔씨. 전송을 위한 서버 시스템의 그래픽 데이터 프로세싱

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US6718550B1 (en) 1996-06-26 2004-04-06 Sun Microsystems, Inc. Method and apparatus for improving the performance of object invocation
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5941949A (en) * 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
US6016489A (en) * 1997-12-18 2000-01-18 Sun Microsystems, Inc. Method and apparatus for constructing stable iterators in a shared data collection
US6510460B1 (en) 1997-12-18 2003-01-21 Sun Microsystems, Inc. Method and apparatus for enforcing locking invariants in multi-threaded systems
US6438616B1 (en) 1997-12-18 2002-08-20 Sun Microsystems, Inc. Method and apparatus for fast, local corba object references
US6249803B1 (en) 1997-12-18 2001-06-19 Sun Microsystems, Inc. Method and apparatus for executing code during method invocation
US6405264B1 (en) 1997-12-18 2002-06-11 Sun Microsystems, Inc. Marshaling and unmarshaling framework for supporting filters in a distributed object system
US6516354B2 (en) 1997-12-18 2003-02-04 Sun Microsystems, Inc. Method and apparatus for efficient representation of variable length identifiers in a distributed object system
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6735625B1 (en) 1998-05-29 2004-05-11 Cisco Technology, Inc. System and method for automatically determining whether a product is compatible with a physical device in a network
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6243715B1 (en) * 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
US6418456B1 (en) * 1998-11-24 2002-07-09 International Business Machines Corporation Clean-up of files in a network system
US6996627B1 (en) * 1999-05-25 2006-02-07 Realnetworks, Inc. System and method for providing update information
US7062765B1 (en) 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
US6401215B1 (en) * 1999-06-03 2002-06-04 International Business Machines Corporation Resynchronization of mirrored logical data volumes subsequent to a failure in data processor storage systems with access to physical volume from multi-initiators at a plurality of nodes
KR100333741B1 (ko) * 1999-06-30 2002-04-25 이계철 푸시시스템에서 멀티서버를 이용한 채널 연동 방법
US6496863B1 (en) 1999-09-30 2002-12-17 International Business Machines Corporation Method and system for communication in a heterogeneous network
US7039682B2 (en) * 2000-12-15 2006-05-02 International Business Machines Corporation Extension of the BOOTP protocol towards automatic reconfiguration
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
US8738703B2 (en) 2006-10-17 2014-05-27 Citrix Systems, Inc. Systems and methods for providing online collaborative support
US7895267B2 (en) * 2007-10-26 2011-02-22 Intermec Ip Corporation Extensible method and system for performing management operations on known and unknown targets
US9373152B2 (en) * 2010-06-17 2016-06-21 Thinci, Inc. Processing of graphics data of a server system for transmission including multiple rendering passes
US8566346B2 (en) 2010-08-06 2013-10-22 Navteq B.V. Page server for navigation data
US10452620B2 (en) * 2011-09-30 2019-10-22 International Business Machines Corporation Automatic file version verification within electronic mail
JP7098427B2 (ja) * 2018-06-08 2022-07-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6329841A (ja) * 1986-07-23 1988-02-08 Nec Corp リリ−スプログラム管理方式
JPS63262724A (ja) * 1987-04-02 1988-10-31 インターナシヨナル・ビジネス・マシーンズ・コーポレーション データ処理ネツトワーク
JPH02226443A (ja) * 1989-02-28 1990-09-10 Ricoh Co Ltd 補助記憶装置
JPH034340A (ja) * 1989-05-12 1991-01-10 Internatl Business Mach Corp <Ibm> データ処理システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0776939B2 (ja) * 1988-03-16 1995-08-16 富士ゼロックス株式会社 通信ネットワークシステム
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
US5566331A (en) * 1994-01-24 1996-10-15 University Corporation For Atmospheric Research Mass storage system for file-systems
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6329841A (ja) * 1986-07-23 1988-02-08 Nec Corp リリ−スプログラム管理方式
JPS63262724A (ja) * 1987-04-02 1988-10-31 インターナシヨナル・ビジネス・マシーンズ・コーポレーション データ処理ネツトワーク
JPH02226443A (ja) * 1989-02-28 1990-09-10 Ricoh Co Ltd 補助記憶装置
JPH034340A (ja) * 1989-05-12 1991-01-10 Internatl Business Mach Corp <Ibm> データ処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140079350A (ko) * 2011-06-16 2014-06-26 신씨 아이엔씨. 전송을 위한 서버 시스템의 그래픽 데이터 프로세싱

Also Published As

Publication number Publication date
EP0723237A1 (en) 1996-07-24
JP3627034B2 (ja) 2005-03-09
US5758342A (en) 1998-05-26

Similar Documents

Publication Publication Date Title
JP3627034B2 (ja) クライアント/サーバをベースにした多重プロセッサ・ファイル・システム
US8156165B2 (en) Transaction-safe FAT files system
US6996706B1 (en) Booting an operating system or running other pre-boot code from a file stored under a different operating system
US7035881B2 (en) Organization of read-write snapshot copies in a data storage system
US8024507B2 (en) Transaction-safe FAT file system improvements
JP4721639B2 (ja) ストレージアクセスキー
KR100962055B1 (ko) 컴퓨터 시스템들간의 객체 공유
US6957362B2 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
JP5007046B2 (ja) コンポーネントベースのソフトウェア・プロダクトの保守
US6408434B1 (en) System and method for using a substitute directory to automatically install an update program
JP5081631B2 (ja) データの削除を管理するための方法および装置
US5903753A (en) Name space registry with backward compatibility for older applications
US7155713B1 (en) Componentized operating system
US20090077087A1 (en) Access controller that controls access to files by using access control list
JP4825433B2 (ja) 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム
US7886270B2 (en) Methods, systems, and computer program products for file version control management
JPH03171239A (ja) 高性能ファイルシステム
JP2005196747A (ja) 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法
JP2001521254A (ja) モバイル・デバイスのアプリケーション・インストール管理システムおよび方法
US20180225058A1 (en) Write filter with dynamically expandable overlay
US7716664B2 (en) Metadata-based application model for large applications
CN101981550A (zh) 数据库系统、数据库更新方法、数据库以及数据库更新程序
US7234039B1 (en) Method, system, and apparatus for determining the physical memory address of an allocated and locked memory buffer
JP2007128448A (ja) ファイルシステム及びファイル情報処理方法
JPH11282687A (ja) プログラム自動改版方法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040628

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071217

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees