JP3197789B2 - 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム - Google Patents

分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム

Info

Publication number
JP3197789B2
JP3197789B2 JP13823595A JP13823595A JP3197789B2 JP 3197789 B2 JP3197789 B2 JP 3197789B2 JP 13823595 A JP13823595 A JP 13823595A JP 13823595 A JP13823595 A JP 13823595A JP 3197789 B2 JP3197789 B2 JP 3197789B2
Authority
JP
Japan
Prior art keywords
directory
server
node
file
client
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
JP13823595A
Other languages
English (en)
Other versions
JPH086840A (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.)
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 JPH086840A publication Critical patent/JPH086840A/ja
Application granted granted Critical
Publication of JP3197789B2 publication Critical patent/JP3197789B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共用ファイルへのアク
セスを有するコンピュータ・システム分散ファイル・シ
ステムに関する。
【0002】
【従来の技術】分散コンピュータ・ネットワークにおい
ては、それぞれが独自のオペレーティング・システムの
制御下にある複数のデータ処理ノードが、通信ネットワ
ークおよびディスク上に格納されている共用ファイルに
よって結合されている。共用ファイルへのアクセスは、
それぞれのシステムで実施される分散ファイル・システ
ム・ソフトウェアによって提供される。
【0003】分散ファイル・システムの構成機能として
は、データ処理ノードのロッキング、遠隔ファイル・ア
クセス、および障害からの回復などがある。
【0004】ロッキングは、共用ファイルへのアクセス
を同期化してタスク間に競合が起こらないようにする1
つの方法である。この方法では、要求元のタスクはま
ず、ロックと呼ばれるデータ構造へのアクセスを獲得
し、次に、ロックによって保護されているファイル、デ
ータベース、またはその他のデータ・オブジェクト内の
データの読取りまたは修正を行うために、所望のアクセ
スのタイプを指示する。他のタスクは、要求元タスクが
所望のアクセスのタイプの指示を変更してロックを解除
し他のタスクがそれにアクセスできるようにするまで、
保護されているデータにアクセスすることができず、あ
るいは限定されたアクセス(たとえば読取りのみ)のみ
が与えられる。
【0005】一般に、異なるプロセッサ上で動作してい
るタスク間でのロック要求を解決し、特定のロック実体
へのアクセスを待っているタスクの待ち行列を維持する
ために、大域ロック管理プログラムが提供される。大域
ロック管理プログラムを有するコンピュータ・ネットワ
ークについては、たとえば米国特許第5161227号
および米国特許第5226143号に記載されている。
【0006】遠隔ファイル・アクセスは、ネットワーク
上のデータ処理ノードが、ネットワーク上の別のデータ
処理ノードに装着されているディスクに格納されている
データを取り出すためのソフトウェア機構である。ディ
スクが装着されているノードをサーバと呼び、データを
使用するノードをクライアントと呼ぶ。遠隔ファイル・
アクセスは、データ処理ノードのディスク上にデータを
書き込むためにも使用することができる。この機能を使
用可能にするソフトウェア部分は、クライアントとサー
バの両方で動作する。クライアント・ノードがディレク
トリの内容を調べる必要があるときは、たとえばクライ
アントはサーバにディレクトリ要求メッセージを送り、
サーバがディレクトリの内容で応答する。同様に、クラ
イアントがディレクトリ内にファイルを作成したいとき
は、クライアントはそれを求める要求を送り、サーバは
そのタスクを実行して、肯定応答で応答する。
【0007】
【発明が解決しようとする課題】データ処理ノードの障
害からの回復は、コンピュータ・ネットワークでは、特
に各ノードが前述のようにクライアントおよびサーバと
して相互に関係しあっている場合には、重要な機能であ
る。データ処理ノードは、ハードウェア・エラーによっ
て、あるいは増え続けているソフトウェア・エラーによ
って、障害を起こしたりクラッシュしたりすることがあ
る。障害を起こしたノードに接続されているディスクへ
のアクセスを回復するためには、障害を起こしたノード
を再始動させるか、またはそのディスクの制御を引き継
いでディスクへのアクセスを続いて提供することができ
るように別のノードをセットアップする。後者の方法
は、独立した電源と、そのディスクのための複数のアク
セス・ポートとを必要とする。ただし、ノードの再始動
や第2のノードによるディスク制御の引継ぎは、障害回
復の一部に過ぎない。分散ファイル・システムが適切に
中断なしに機能するためには、サーバのソフトウェア状
態も再構築しなければならない。
【0008】たとえば、サーバがディレクトリ内でのフ
ァイル作成要求を処理しているときに障害を起こした場
合、システムは作成操作が実際に成功したかどうかを判
定しなければならない。作成を試みる前にそのファイル
がすでに存在していた可能性があるため、ディレクトリ
内に名前が存在するだけではこれを判定するのに十分な
情報とはいえない。その場合、もしサーバが障害を起こ
していなかったとすれば、遠隔作成操作が、そのファイ
ルがすでに存在することを示す通知を返していたはずで
ある。
【0009】
【課題を解決するための手段】本発明の実施例に従う
と、分散ファイル・システムは、ディレクトリ操作を処
理している間にサーバが障害を起こした場合、ディレク
トリ操作の完了を決定するシステムおよび方法を備え
る。この方法によれば、クライアントはディレクトリに
対する大域ロックを獲得し、ディレクトリ操作を行うこ
とができるかどうかを判定し、行うことができる場合は
サーバに対して要求を行う。サーバがその要求を処理し
ている間に障害を起こした場合、ディレクトリの内容の
検査が行われ、要求した操作がサーバ障害の前に実行さ
れたかどうかが判定される。
【0010】
【実施例】本発明とともに使用するのに適した疎結合シ
ステムを、図1に示す。このシステムには、通信ネット
ワーク105を介して相互接続されたいくつかの処理ノ
ード(単にノードと呼ぶことがある)101〜104が
含まれている。ノードの1つ101は、ディスク106
上にインスタンス化されたファイル・システム114の
ファイル・サーバとして機能する。その他のノード10
2ないし104は、ファイル・システム114のクライ
アントである。ファイル・システム114は、ファイル
・システムを形成する各ファイルの名前、サイズ、およ
び修正日時などの情報を含むディレクトリ114aを含
む、従来型のものである。各ノードは、ファイル・シス
テム114内の共用ファイルへのアクセスを要求するこ
とができる、1つまたは複数のプロセスを実行すること
ができる。当業者には、図1のシステムに追加のファイ
ル・システムを組み込むことができること、および各ノ
ードにディスクを装着することができ、そのディスク上
にインスタンス化されているファイル・システムに関し
てサーバとして機能することができることが理解されよ
う。
【0011】各ノードは、ロック管理プログラム108
と、ノードが最も最近に使用したトークン(ロック識別
子)のローカル・メモリ・コピーを維持するロック状態
テーブル116とを備えている。各クライアント・ノー
ドは、そのノードが最も最近にアクセスしたディレクト
リおよびファイルのキャッシュ・コピー111も維持し
ている。サーバ・ノード101は、ファイル作成要求や
データ読取り要求など、クライアントからのファイル・
システム要求を処理するファイル・システム・サーバ・
タスク107と、サーバ・タスクからの要求をディスク
106のアクセス・コマンドに変換する物理ファイル・
システム109とを備えている。また、クライアント・
ノードは、1組のシステム・サービス118からのロー
カル要求を処理するファイル・システム・クライアント
・ソフトウェア112も備えている。システム・サービ
ス118は、ユーザ・プログラムとオペレーティング・
システム(図示せず)との間のインタフェースを提供す
る。これらのタスク107、112、およびサービス1
18は、UNIXまたはAIXオペレーティング・シス
テムに見られるような従来型のものでよく、本発明の原
理に従って変更することができる。
【0012】ノード101〜104は、たとえばAIX
3.2を使用するIBMのRISCシステム/600
0機上で実現することができる。通信プロトコルとして
は、たとえばUDP/IPまたはTCP/IPを使用す
ることができる。ネットワーク105は、たとえばトー
クン・リングなどの任意の従来型のものであってもよ
い。
【0013】クライアント・ノード上で動作しているプ
ロセス120(アプリケーションなど)は、システム・
サービス118を呼び出して、共用ファイル・システム
114のファイルの読み書きを行う。プロセスが要求す
るシステム・サービスの1つのタイプは、ファイルでは
なくディレクトリに関するものである。このようなサー
ビスを「ディレクトリ操作」と呼び、これにはディレク
トリの内容の読取り、ディレクトリからのファイルの削
除、ファイルまたはディレクトリの作成、およびファイ
ルの名前変更などが含まれる。
【0014】クライアント・タスクの操作のフローチャ
ートを図2に示す。アプリケーションがディレクトリ操
作を呼び出すと、ステップ201において分散ファイル
・システムのクライアント部分が、ロック管理プログラ
ム108を使用してディレクトリに対する書込み(排
他)ロックまたは読取り(共用)ロックを獲得する。
【0015】ロック管理プログラム108の動作は、要
求されたモード(たとえば読取りまたは書込み)でロッ
クが認可できない場合には、ロックが使用可能になるま
でアプリケーションを待たせ、ロックが使用可能になっ
た後にロックを認可するというものである。ディレクト
リ操作が、1つのディレクトリから別のディレクトリへ
のファイルの移動を必要とする場合は、2つのディレク
トリに対するロックを獲得する必要がある。
【0016】1つまたは複数のロックを獲得すると、ス
テップ202でクライアント102はディレクトリの内
容を調べて、サーバ上でその操作が実行された場合に操
作が成功するかどうかを判定する。
【0017】ディレクトリの内容を調べた後、ステップ
203でクライアントはサーバにメッセージを送り、要
求するディレクトリ操作、操作するディレクトリの名前
(内部表現)、操作するファイルの名前、および操作に
応じてその他の関連情報を、指定する。通常の操作では
(サーバが障害を起こさなかった場合)、このメッセー
ジに応答して、サーバはディスク114に格納されてい
るファイル・データに対してその操作を実行し、次に、
ステップ210でクライアントに要求された情報または
肯定応答を送る。
【0018】クライアントがサーバから応答メッセージ
を受け取ると、クライアントはステップ208で関係す
る1つまたは複数のディレクトリのロックを解除し、ス
テップ209で、アプリケーションに戻りコードを渡
し、ディレクトリ操作の呼出しが完了する。
【0019】ステップ205で、サーバが応答メッセー
ジを送る前に障害を起こしたとクライアントが判定した
場合、クライアントはサーバが再始動されたかまたは別
のノードがサーバ機能を引き継いだことを示す標識を待
ち、次いでステップ202でディレクトリ検査操作を繰
り返す。ディレクトリ検査操作202によって、ディレ
クトリ操作が正常に完了することが示されると、クライ
アントはその操作を再試行する。
【0020】ステップ202で、クライアントが操作が
完了しないと判定した場合、クライアントはステップ2
04でそのサーバ(または代替サーバ)が回復したかど
うかを判定する。サーバが回復した場合、クライアント
はステップ207でアプリケーションに成功の標識を返
す準備をし、ステップ208でそのディレクトリ・ロッ
クを解除する。ディレクトリ・ロックが解除されると、
クライアントはアプリケーションに成功コードを返す。
【0021】ステップ204で、クライアントがサーバ
(または代替サーバ)が回復しなかったと判定した場
合、クライアントはステップ206でアプリケーション
にエラー標識を送る準備をし、ステップ208でそのデ
ィレクトリ・ロックを解除する。準備(ステップ207
および210を参照)とは、適切な完了コード(エラー
または成功)をメモリ内の記憶場所に格納することを言
う。ディレクトリ・ロックが解除されると、ファイル・
システム・クライアント・ソフトウェア112がシステ
ム・サービス118に「エラー」完了コードを返し、次
にシステム・サービスがアプリケーション・プロセス1
20にその完了コードを渡す。
【0022】サーバ障害の検出は、タイムアウトを待
つ、あるいはサーバが障害状況メッセージをポスティン
グしたかどうかを監視するなど、いくつかの従来の方法
で行うことができる。障害検出機構は、サーバ・ノード
障害およびその後の再始動がすべてのクライアントに通
知される限り、クラスタのうちのどのノード上でも稼働
することができる。いずれにしても、ステップ205に
おいて、要求した操作ではなくサーバ・ノード自体が障
害を起こしたかどうかをクライアントが判定するという
ことを理解されたい。
【0023】要求した操作は、完全に動作可能なサーバ
が実行できない場合、失敗したとみなされる。たとえ
ば、一般的な分散システムでは、サーバはすでに存在し
ているファイルを作成したり、存在しないファイルを削
除したりすることはできない。サーバ・ノードは、ソフ
トウェアまたはハードウェアの問題により、少なくとも
要求された操作に関して動作不能なとき、障害を起こし
たとみなされる。サーバ障害の一例は、ディスク・エラ
ーのためにディレクトリを読み取ることができないこと
である。
【0024】次に、図2を参照しながら、ディレクトリ
内にファイルを作成する操作の例について検討する。ま
ず、ステップ201で、ディレクトリに対する書込み
(排他)ロックを獲得する。ロックが認可されると、ス
テップ202でクライアントは、ディレクトリを調べて
そのファイルがすでに存在するかどうかを確認すること
によって、完全に動作可能なサーバ上で操作が成功する
かどうかを判定する。このディレクトリ検査動作は、サ
ーバに要求メッセージ(図5に示す)を送ることによっ
て行うことができ、サーバは要求メッセージを受け取る
とディレクトリ検査(図3に示す)を実行する。
【0025】ステップ202で、ディレクトリ検査によ
ってファイル・システム内に当該ファイルがすでに存在
していると判定された場合、この操作はいずれにせよサ
ーバ上で失敗することになるため、クライアントは(ス
テップ208で)ディレクトリのロックを解除した後、
ステップ209でアプリケーションにエラー・コードを
返す。そのファイルが存在しない場合、ステップ203
でクライアントはサーバにメッセージを送って、以下で
説明するようにそのファイルを作成するよう要求する。
ファイル作成操作が他の理由によって失敗することもあ
ることに留意されたい。たとえば、作成を要求するユー
ザがそれを行う権限を持っていない場合、ステップ20
5および210が実行されて、ステップ209でクライ
アントにエラー・コードが返される。
【0026】クライアントで、ディレクトリに当該新規
ファイルがあるかどうかを検査してファイルが存在しな
いことがわかった場合、ステップ203でディレクトリ
の名前、作成する新規ファイルの名前、およびそれがフ
ァイル作成操作であることを示す標識がサーバに送られ
る。サーバが正常に動作する場合、サーバはステップ2
10でディレクトリ内にファイルを作成し、要求された
操作の成功を示すコードで応答する。
【0027】ディレクトリ検査を行う際のサーバの動作
を図3に示す。ステップ301でクライアントから「デ
ィレクトリ検査」メッセージを受け取った後、サーバは
ステップ302で物理ファイル・システム114からデ
ィレクトリ114aの内容を読み取る。次にサーバはス
テップ303で、要求された名前を持つファイルがすで
に存在するかどうかを判定する。ファイルがすでに存在
する場合、ステップ304でサーバはクライアントにそ
のことを示す応答を送り返す。ファイルが存在しない場
合、サーバはステップ305でクライアントにそのこと
を示すメッセージを送る。
【0028】図4に、「ファイル作成」メッセージを受
け取った後のファイル・システム・サーバ・ソフトウェ
ア内の制御の流れを示す。ステップ306でメッセージ
を受け取る。次にステップ307でメッセージ・フィー
ルド(図7)が抽出され、物理ファイル・システム・ソ
フトウェア107に渡される。物理ファイル・システム
動作の結果が(図8に示すタイプの)戻りメッセージに
入れられ、ステップ308でクライアントに送られる。
【0029】ディレクトリ検査メッセージの形式を、図
5に示す。ディレクトリ検査メッセージに含まれるフィ
ールドは、要求元ノードのノード識別子401(このフ
ィールドはサーバが応答メッセージを返すときに使用さ
れる)、メッセージ・タイプ・フィールド(この場合、
タイプは「ディレクトリ検査」である)、このファイル
を作成する権限を持っているユーザの識別子が入るユー
ザ識別子フィールド403(このフィールドはセキュリ
ティを実施するために使用される)、その中にファイル
が作成される親ディレクトリを識別するファイル・ハン
ドルが入るファイル・ハンドル・フィールド404、お
よび探索されその後で作成されるファイルの実際の名前
が入るファイル名フィールドである。
【0030】応答メッセージの形式を図6に示す。メッ
セージ・フィールドは、サーバの識別子を格納するサー
バIDフィールド406(応答を受け取るとクライアン
トはこの情報を使用してその応答を要求と相関させ
る)、メッセージ・タイプ・フィールド402(この場
合は「検査応答」)、およびファイルが見つかったかど
うかを示す応答コードを格納する応答コード・フィール
ド408である。
【0031】ファイル作成メッセージの形式を図7に示
す。フィールド401〜404は、「メッセージ・タイ
プ」フィールドが「作成」に設定される以外は、ディレ
クトリ検査メッセージと同じである。ファイル作成メッ
セージには、フィールド405の代わりに、作成するフ
ァイルの名前が入る作成ファイル・フィールド413が
ある。
【0032】図8に、ファイル・システム・サーバ・ソ
フトウェア107から送られるタイプの「ファイル作成
応答」メッセージの形式を示す。フィールドには、サー
バ・ノードの固有識別子414、この場合は「作成応
答」であるメッセージ・タイプ402、成功か失敗かを
示す物理ファイル・システム107からの応答コード4
08、新規作成されるファイルを識別するファイル・ハ
ンドル417、新規ファイルを記述する1組の属性41
8(すなわち、所有者、作成時間、サイズなど)が含ま
れる。
【0033】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0034】(1)クライアントが分散ファイル・シス
テム内にあるディレクトリの操作を要求する方法であっ
て、(a)ディレクトリに対するロックを獲得するステ
ップと、(b)サーバ・ノードのハードウェア障害がな
くディレクトリ操作が正常に完了するかどうかを判定す
るステップと、(c)ディレクトリ操作が正常に完了す
る場合にサーバにディレクトリ操作を行うように要求す
るステップと、(d)ディレクトリ操作の完了時にディ
レクトリのロックを解除するステップとを含む方法。 (2)前記ロックがクライアントによって獲得されるこ
と、および前記ディレクトリが分散ファイル・システム
のために前記サーバ・ノードによって維持されることを
特徴とする、上記(1)に記載の方法。 (3)(e)ディレクトリ操作の実行中にサーバ・ノー
ドの障害を検出するステップと、(f)サーバ・ノード
の障害が検出された場合に操作が正常に完了したかどう
かを判定するステップと、(g)操作が正常に完了しな
かったと判定された場合、サーバにディレクトリ操作を
行うように再度要求するステップとをさらに含む、上記
(2)に記載の方法。 (4)前記ステップ(f)が、操作を再要求した場合に
操作が正常に完了するかどうかを再度判定するステップ
と、操作が正常に完了するであろうと判定された場合に
サーバ・ノードに操作を実行するよう再要求するステッ
プと、操作が正常に完了しないであろうと判定された場
合に、操作が正常に完了したことをクライアントに通知
し、ロックを解除するステップとを含むことを特徴とす
る、上記(3)に記載の方法。 (5)クライアント・ノードおよびサーバ・ノードが、
共通の通信ネットワーク上のコンピュータ・システムで
あることを特徴とする、上記(4)に記載の方法。 (6)通信ネットワーク上のクライアント・ノードが、
分散ファイル・システム内のサーバ・ノードによって維
持されるディスク・ディレクトリに対する操作を要求す
る方法であって、(a)クライアント・ノードがディレ
クトリに対するロックを獲得するステップと、(b)サ
ーバ・ノードによって維持されるファイル・システム上
のディレクトリ操作が、サーバ・ノードのハードウェア
障害なしに正常に完了するかどうかを判定するステップ
と、(c)ファイル・システムに対するディレクトリ操
作が正常に完了すると判定された場合に、クライアント
がサーバ・ノードにディレクトリ操作を実行するよう要
求するステップと、(e)ファイル・システム上のディ
レクトリ操作が完了しないと判定された場合に、クライ
アント・ノードに障害コードを返すステップと、(f)
ファイル・システム上のディレクトリ操作が完了した
後、サーバ・ノードによるディレクトリのロックを解除
するステップとを含む方法。 (7)ロックがクライアント・ノードによって獲得され
ること、およびディレクトリが分散ファイル・システム
のためにサーバ・ノードによって維持されることを特徴
とする、上記(6)に記載の方法。 (8)(e)ディレクトリ操作の実行中にサーバ・ノー
ドの障害を検出するステップと、(f)サーバ・ノード
の障害が検出された場合に操作が正常に完了したかどう
かを判定するステップと、(g)操作が正常に完了しな
かったと判定された場合、サーバにディレクトリ操作を
行うように再度要求するステップとをさらに含む、上記
(7)に記載の方法。 (9)操作を再要求した場合に操作が正常に完了するか
どうかを再度判定するステップと、操作が正常に完了す
るであろうと判定された場合にサーバ・ノードに操作を
実行するよう再要求するステップと、操作が正常に完了
しないであろうと判定された場合に、操作が正常に完了
したことをクライアントに通知し、ロックを解除するス
テップとを、ステップ(f)が含むことを特徴とする、
上記(8)に記載の方法。 (10)クライアント・ノードおよびサーバ・ノード
が、共通の通信ネットワーク上のコンピュータ・システ
ムであることを特徴とする、上記(9)に記載の方法。 (11)サーバ・ノードを有する分散ファイル・システ
ムにおいて、クライアント・ノードがディレクトリ操作
を要求する際に使用するシステムであって、(a)ディ
レクトリに対するロックを獲得する手段と、(b)ファ
イル・システムに結合され、サーバ・ノードのハードウ
ェア障害なしにディレクトリ操作が正常に完了するかど
うかを判定する手段と、(c)判定手段に結合され、デ
ィレクトリ操作が完了すると判定された場合にサーバ・
ノードにディレクトリ操作を実行するように要求する手
段と、(d)ディレクトリ操作の完了時にディレクトリ
のロックを解除する手段とを含むシステム。 (12)分散ファイル・システム用のディレクトリがサ
ーバ・ノードによって維持されることを特徴とする、上
記(11)に記載のシステム。 (13)ディレクトリ操作の実行中にサーバの障害を検
出し、サーバの障害が検出された場合は操作が正常に完
了したかどうかを判定する手段と、操作が正常に完了し
なかったと判定された場合はサーバにディレクトリ操作
を実行するように再度要求する手段とをさらに含む、上
記(11)または上記(12)に記載のシステム。 (14)クライアント・ノードおよびサーバ・ノードが
共通の通信ネットワーク上のコンピュータ・システムで
あることを特徴とする、上記(11)、上記(12)ま
たは上記(13)に記載のシステム。
【0035】
【発明の効果】上述のとおり、本願発明によって、ディ
レクトリ操作を処理している間にサーバが障害を起こし
た場合、ディレクトリ操作の完了を決定するシステムお
よび方法が提供されることとなった。
【図面の簡単な説明】
【図1】本発明を採用するのに適したコンピュータ・ネ
ットワークの図である。
【図2】本発明のシステムにおける分散ファイル・シス
テムのクライアント・タスクのフローチャートである。
【図3】本発明のシステムにおける分散ファイル・シス
テムのサーバ・タスクのフローチャートである。
【図4】本発明のシステムにおける分散ファイル・シス
テムのサーバ・タスクのフローチャートである。
【図5】本発明のシステムにおけるメッセージ形式の図
である。
【図6】本発明のシステムにおけるメッセージ形式の図
である。
【図7】本発明のシステムにおけるメッセージ形式の図
である。
【図8】本発明のシステムにおけるメッセージ形式の図
である。
【符号の説明】
101 サーバ・ノード 102 クライアント・ノード 105 通信ネットワーク 106 ディスク
フロントページの続き (72)発明者 ウィリアム・エイ・キッシュ アメリカ合衆国12546 ニューヨーク州 ミラートン アール・ディー1 ボック ス22 (56)参考文献 Hal Stern 著 倉骨 彰 訳,「NFS & NIS」,第1版, 株式会社アスキー,1992年12月1日, p.189−192及びp.214−218 前川 守 外2名,「分散オペレーテ ィングシステム −UNIXの次にくる もの−」,第1版,共立出版株式会社, 1991年12月25日,p.168−176 Maurice J.Bach 著 坂本 文 外2名 訳,「bit別冊 UNIXカーネルの設計」,共立出版株 式会社,1990年10月5日,p.90−94 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 9/46 G06F 11/00 G06F 13/00 G06F 15/177

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】クライアントが分散ファイル・システム内
    にあるディレクトリの操作を要求する方法であって、 (a)ディレクトリに対するロックを獲得するステップ
    と、 (b)サーバ・ノードでディレクトリ操作が正常に完了
    するかどうかを判定するステップと、 (c)ディレクトリ操作が正常に完了すると判定される
    場合にサーバにディレクトリ操作を行うように要求する
    ステップと、 (d)ディレクトリ操作の実行中にサーバ・ノードの障
    害を検出するステップと、 (e)サーバ・ノードの障害が検出されない場合にはデ
    ィレクトリ操作の完了時にディレクトリのロックを解除
    するステップと、 (f)サーバ・ノードの障害が検出された場合には前記
    判定するステップ(b)を繰り返すステップと、 (g)前記繰り返すステップ(f)で、操作が正常に完
    了するであろうと判定された場合にサーバ・ノードに操
    作を実行するよう再要求するステップと、 (h)前記繰り返すステップ(f)で、操作が正常に完
    了しないであろうと判定された場合に、サーバ・ノード
    が回復したかどうかを判定するステップと、 (i)前記判定するステップ(h)で、サーバ・ノード
    が回復したと判定された場合、要求に対して成功の標識
    を返す準備をするステップと、 (j)前記判定するステップ(h)で、サーバ・ノード
    が回復しなかったと判定された場合、要求に対してエラ
    ーの標識を返す準備をするステップと、 (k)前記準備をするステップ(i)、(j)に続いて
    ディレクトリのロックを解除するステップとを含むこと
    を特徴とする方法。
  2. 【請求項2】クライアントが分散ファイル・システム内
    にあるディレクトリの操作を要求するシステムであっ
    て、 (a)ディレクトリに対するロックを獲得する手段と、 (b)サーバ・ノードでディレクトリ操作が正常に完了
    するかどうかを判定する手段と、 (c)ディレクトリ操作が正常に完了すると判定される
    場合にサーバにディレクトリ操作を行うように要求する
    手段と、 (d)ディレクトリ操作の実行中にサーバ・ノードの障
    害を検出する手段と、 (e)サーバ・ノードの障害が検出されない場合にはデ
    ィレクトリ操作の完了時にディレクトリのロックを解除
    する手段と、 (f)サーバ・ノードの障害が検出された場合には前記
    判定する手段(b)を繰り返す手段と、 (g)前記繰り返す手段(f)で、操作が正常に完了す
    るであろうと判定された場合にサーバ・ノードに操作を
    実行するよう再要求する手段と、 (h)前記繰り返す手段(f)で、操作が正常に完了し
    ないであろうと判定された場合に、サーバ・ノードが回
    復したかどうかを判定する手段と、 (i)前記判定する手段(h)で、サーバ・ノードが回
    復したと判定された場合、要求に対して成功の標識を返
    す準備をする手段と、 (j)前記判定する手段(h)で、サーバ・ノードが回
    復しなかったと判定された場合、要求に対してエラーの
    標識を返す準備をする手段と、 (k)前記準備をする手段(i)、(j)に続いてディ
    レクトリのロックを解除する手段とを含むことを特徴と
    するシステム。
JP13823595A 1994-06-16 1995-06-05 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム Expired - Fee Related JP3197789B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US260864 1988-10-21
US08/260,864 US5659682A (en) 1994-06-16 1994-06-16 Scheme to determine completion of directory operations for server recovery

Publications (2)

Publication Number Publication Date
JPH086840A JPH086840A (ja) 1996-01-12
JP3197789B2 true JP3197789B2 (ja) 2001-08-13

Family

ID=22990962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13823595A Expired - Fee Related JP3197789B2 (ja) 1994-06-16 1995-06-05 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム

Country Status (2)

Country Link
US (1) US5659682A (ja)
JP (1) JP3197789B2 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6134668A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6138250A (en) 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US5987477A (en) * 1997-07-11 1999-11-16 International Business Machines Corporation Parallel file system and method for parallel write sharing
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6065053A (en) 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6035420A (en) * 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6088816A (en) 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6154835A (en) 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6247139B1 (en) 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
US6249879B1 (en) * 1997-11-11 2001-06-19 Compaq Computer Corp. Root filesystem failover in a single system image environment
US6148417A (en) * 1998-01-14 2000-11-14 Micron Electronics, Inc. Method for determining a source of failure during a file system access
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US7930278B2 (en) * 1998-02-13 2011-04-19 Oracle International Corporation Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6330689B1 (en) 1998-04-23 2001-12-11 Microsoft Corporation Server architecture with detection and recovery of failed out-of-process application
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US7065540B2 (en) * 1998-11-24 2006-06-20 Oracle International Corporation Managing checkpoint queues in a multiple node system
US6490693B1 (en) 1999-08-31 2002-12-03 International Business Machines Corporation Dynamic reconfiguration of a quorum group of processors in a distributed computing system
US6526432B1 (en) * 1999-08-31 2003-02-25 International Business Machines Corporation Relaxed quorum determination for a quorum based operation of a distributed computing system
US6487678B1 (en) 1999-08-31 2002-11-26 International Business Machines Corporation Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system
US6542929B1 (en) 1999-08-31 2003-04-01 International Business Machines Corporation Relaxed quorum determination for a quorum based operation
US7596563B1 (en) * 1999-10-28 2009-09-29 Hewlett-Packard Development Company, L.P. Computerized file system and method
US6622259B1 (en) 2000-07-14 2003-09-16 International Business Machines Corporation Non-disruptive migration of coordinator services in a distributed computer system
US8086579B1 (en) 2002-01-22 2011-12-27 Oracle International Corporation Semantic response to lock requests to reduce coherence overhead in multi-node systems
DE10256148A1 (de) * 2002-11-29 2004-06-17 Basf Ag Gegenstand der vorliegenden Erfindung sind Zusammensetzungen enthaltend mindestens ein Copolymer (A) und mindestens ein Copolymer (B) sowie deren Verwendung in kosmetischen Zubereitungen
US7493513B2 (en) * 2003-04-29 2009-02-17 International Business Machines Corporation Automatically freezing functionality of a computing entity responsive to an error
US7376744B2 (en) 2003-05-09 2008-05-20 Oracle International Corporation Using local locks for global synchronization in multi-node systems
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
US8281282B2 (en) * 2005-04-26 2012-10-02 Ca, Inc. Method and apparatus for in-built searching and aggregating functionality
US7809828B2 (en) * 2007-04-11 2010-10-05 International Business Machines Corporation Method for maintaining state consistency among multiple state-driven file system entities when entities become disconnected
JP5303935B2 (ja) * 2008-01-08 2013-10-02 日本電気株式会社 データ多重化システムおよびデータ多重化方法
US8510334B2 (en) 2009-11-05 2013-08-13 Oracle International Corporation Lock manager on disk
JP2011242949A (ja) * 2010-05-17 2011-12-01 Fujitsu Ltd ファイル管理プログラム、ファイル管理方法、及び情報処理装置
US9235485B2 (en) * 2013-07-22 2016-01-12 International Business Machines Corporation Moving objects in a primary computer based on memory errors in a secondary computer
CN106355672B (zh) * 2016-08-29 2018-05-18 四川九洲空管科技有限责任公司 一种机载防撞系统故障记录方法
CN106355673B (zh) * 2016-08-29 2018-05-18 四川九洲空管科技有限责任公司 一种机载防撞系统故障记录系统及故障记录解码系统
CN111258957B (zh) * 2020-01-10 2023-06-02 北京百度网讯科技有限公司 分布式文件系统目录更新方法、装置、设备和介质
US11893064B2 (en) * 2020-02-05 2024-02-06 EMC IP Holding Company LLC Reliably maintaining strict consistency in cluster wide state of opened files in a distributed file system cluster exposing a global namespace

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE8437288U1 (de) * 1984-12-20 1985-03-21 Skf Kugellagerfabriken Gmbh, 8720 Schweinfurt Dichtungsanordnung f}r Lagerb}chsen, insbesondere f}r Kreuzgelenke
JPS63100562A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd フアイルシステム管理方式
US5151989A (en) * 1987-02-13 1992-09-29 International Business Machines Corporation Directory cache management in a distributed data processing system
JPH02310665A (ja) * 1989-05-25 1990-12-26 Toshiba Corp 分散トランザクション処理システム
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5032979A (en) * 1990-06-22 1991-07-16 International Business Machines Corporation Distributed security auditing subsystem for an operating system
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5129080A (en) * 1990-10-17 1992-07-07 International Business Machines Corporation Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers
US5303244A (en) * 1991-03-01 1994-04-12 Teradata Fault tolerant disk drive matrix
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
US5280611A (en) * 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Hal Stern 著 倉骨 彰 訳,「NFS & NIS」,第1版,株式会社アスキー,1992年12月1日,p.189−192及びp.214−218
Maurice J.Bach 著 坂本 文 外2名 訳,「bit別冊 UNIXカーネルの設計」,共立出版株式会社,1990年10月5日,p.90−94
前川 守 外2名,「分散オペレーティングシステム −UNIXの次にくるもの−」,第1版,共立出版株式会社,1991年12月25日,p.168−176

Also Published As

Publication number Publication date
JPH086840A (ja) 1996-01-12
US5659682A (en) 1997-08-19

Similar Documents

Publication Publication Date Title
JP3197789B2 (ja) 分散ファイル・システム内にあるディレクトリの操作を要求する方法およびシステム
US20200351346A1 (en) File service using a shared file access-rest interface
US6873995B2 (en) Method, system, and program product for transaction management in a distributed content management application
JP3504763B2 (ja) 分散システムに使用されるクライアント,サーバ及び記憶装置並びに分散システムにおける資源管理用サーバの復旧方法
US5434994A (en) System and method for maintaining replicated data coherency in a data processing system
US5649185A (en) Method and means for providing access to a library of digitized documents and images
US6647473B1 (en) Kernel-based crash-consistency coordinator
JP4603755B2 (ja) 複数のスナップショットプロバイダを共通に調整し、管理するための方法およびシステム
JP4028233B2 (ja) サーバ・エージェント・システム
JP4759570B2 (ja) データベース管理システムにおけるファイル操作のためのロックを提供するための手法
JP4286786B2 (ja) 分散トランザクション処理装置、分散トランザクション処理プログラムおよび分散トランザクション処理方法
US5544353A (en) Distributed processing object shared resource control apparatus and method
US10318475B2 (en) System and method for persistence of application data using replication over remote direct memory access
JPH07101409B2 (ja) 分散データ処理システムにおける確認方式
JPH0836513A (ja) データ管理方法及びデータ管理エラー回復方法
EP1001343B1 (en) Highly available asynchronous I/O for clustered computer systems
JPH11506552A (ja) pipes及びfifosを用いてマルチプロセッサ・コンピュータ・システムのファイルをアクセスする方法
US8135686B2 (en) Computer program, computer, and messaging system for returning a data item to a requestor
KR20050029202A (ko) 스토리지 영역 네트워크에서의 비동기 메시징 처리를 위한시스템 및 방법
Little et al. Object replication in Arjuna
JP3802977B2 (ja) 蓄積交換型電子会議システムにおける情報矛盾判定、修正装置及び方法並びに情報矛盾判定、修正プログラムを記録したコンピュータ読取可能な記憶媒体
JP3933770B2 (ja) 蓄積交換型電子会議システムにおける宛先矛盾判定、修正装置及び宛先矛盾判定、修正プログラムを記録したコンピュータ読取可能な記録媒体
CN115297129A (zh) 数据通信网络建立方法及装置
JPH11127148A (ja) 蓄積交換型電子会議システムにおける登録情報のリカバリ処理装置及び方法並びにリカバリ処理プログラムを記録した媒体
JP2000305832A (ja) 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees