JPH1069422A - 切断中の処理のためのファイル番号リマッピング方法及び装置 - Google Patents

切断中の処理のためのファイル番号リマッピング方法及び装置

Info

Publication number
JPH1069422A
JPH1069422A JP9097544A JP9754497A JPH1069422A JP H1069422 A JPH1069422 A JP H1069422A JP 9097544 A JP9097544 A JP 9097544A JP 9754497 A JP9754497 A JP 9754497A JP H1069422 A JPH1069422 A JP H1069422A
Authority
JP
Japan
Prior art keywords
file number
server
client
file
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9097544A
Other languages
English (en)
Inventor
Robert Mastors
ロバート・マスターズ
Sam L Falkner
サム・エル・フォークナー
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1069422A publication Critical patent/JPH1069422A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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】
【従来の技術】ネットワーク上のクライアント/サーバ
計算機システムにおいては、サーバのみが新たに作成さ
れるファイルに対するファイル番号の選択を全体的に制
御するというファイル・システム・アーキテクチャが採
用されている。例えば、ネットワーク状のサーバ/クラ
イアント環境において動作するUNIX は、サーバが全て
の新規作成ファイルに対するファイル番号の選択を制御
するように設計されている。クライアント上で走ってい
るアプリケーション・プログラムが新規ファイルを作成
する必要があるときはいつでも、クライアントは対応し
て、サーバに対して、新規ファイルに未使用のファイル
番号を割り当てるように要求する。通常の動作状態の下
では、かかるファイル・システム・アーキテクチャは円
滑に動作可能である。しかしながら、サーバが不動作状
態(即ち、クラッシュ)になった場合、またはサーバお
よびクライアント間のネットワーク接続が不動作状態に
なった場合、クライアント上で動作しているアプリケー
ション・プログラムは、重大な問題を発生せずに、新規
ファイルを作成することができない。
【0003】UNIXに基づくオペレーティング・システム
では、iノード(inode)、インデックス・ノード、または
iノード番号(inode number)として知られているファイ
ル番号は、ファイル・システム内に保持されている各フ
ァイルの属性である。あらゆるUNIXファイルは一意のi
ノードを有し、当該ファイルの様々な特性を記述する情
報を引用する。この情報は、ファイル・タイプ、ファイ
ル・アクセス許可、ファイル所有(file ownership)、フ
ァイルの最後の修正を示すタイム・スタンプ、およびフ
ァイルに対するデータ・ブロックのディスク位置を指し
示すインデックスのアレイのようなメタデータ情報(met
adata information)を含む。これらのiノードは、当該i
ノードによってインデックスされるメタデータと共に、
iノード・テーブル内に保持される。iノード・テーブル
は、UNIXシステムのサーバ内の既知のディスク位置に保
持されている。
【0004】ファイルに対して一貫性のあるファイル番
号を保持することは、UNIXシステムにおける基本的な指
針であり、UNIXオペレーティング・システムのために書
かれた多くのアプリケーション・プログラムは、所与の
ファイルに対するファイル番号は決して変わることがな
いという前提を拠り所とするものもある。したがって、
オペレーティング・システムがアプリケーション・プロ
グラムに対して、一貫性がありしかも一意のファイル番
号を所与のファイルに与えることは必須である。
【0005】各ファイルに対して一意で一貫性のあるフ
ァイル番号を保持するためには、ファイルに対するファ
イル番号の決定を、サーバのみの責任とする。これに
は、新規ファイルには新しいファイル番号を新たに作成
する責任が含まれる。クライアントは、サーバが確立し
たファイル番号に従い、これを使用することを義務付け
られる。ファイル番号は特に定まった規則がなくサーバ
によって選択されるので、サーバが新規ファイルに割り
当てる次のファイル番号を予測することは不可能であ
る。
【0006】クライアントは、新規作成ファイルに対す
るファイル番号の割り当てについては、サーバに依存す
るので、サーバが動作不能になると、クライアントは通
常新規ファイルを作成することができなくなる。サーバ
とクライアントがネットワーク上で接続されている場
合、例えば、サーバが不動作状態になったり(即ち、ク
ラッシュ)、クライアントおよびサーバ間のネットワー
ク接続が保全性を喪失した(即ち、切断)場合に、サー
バが動作不能になる可能性がある。
【0007】
【発明が解決しようとする課題】本発明以前では、サー
バまたはネットワークが不動作状態となると、クライア
ントは、通常、サーバが再び使用可能になるまで、新規
ファイルの作成ができなかった。
【0008】この問題に対処した従来の手法の1つが、
カーネギー・メロン大学において、Codaとして知られて
いるファイル・システムによって実施された。Codaの手
法では、サーバが固定数のファイル番号をクライアント
に予め割り当てておき、サーバが使用不能の間それを使
用するようにした。しかしながら、クライアントは予め
割り当てられたファイル番号分しか新規ファイルを作成
することができないので、Codaの手法はこの問題に対し
て限定的な解決案を示したに過ぎない。単一のサーバに
多数のクライアントが接続されているネットワーク状シ
ステムにおいて、長時間サーバが使用不能になった場
合、クライアントは予め割り当てられたファイル番号を
全て使い果たし、その後サーバが使用不能の間クライア
ントは新規ファイルを全く作成できなくなるという可能
性がある。
【0009】加えて、ファイル番号を予め割り当てる場
合に本質的な必要事項として、かかるファイル番号が実
際に使用されるか否かには関係なく、通常のサーバ動作
の間、ファイル番号の予約(reserves)が保持されなけれ
ばならない。ファイル番号は、クライアントが新規ファ
イルを作成するときに使用するために必要な有限資源で
ある。サーバの通常動作の間にファイル番号を予約する
即ち予め割り当てると、ファイル番号の事前割り当て(p
re-allocation)によって、いつでもクライアントによっ
て使用可能であるべきサーバ資源が消費されることにな
る。多数のクライアントが単一サーバに接続されている
ネットワーク状システムにおいては、サーバが使用可能
なファイル番号を予約済みとして保持してあるために、
通常動作の間にクライアントが使用可能な予め割り当て
られていないファイル番号を全て使い果たし、その後
は、通常の動作状態において、クライアントが新規ファ
イルを作成できなくなるという事態もあり得ることであ
る。
【0010】最後に、ファイル番号を予め割り当てるに
は、ネットワーク状ファイル・システムを実施する際に
使用される業界標準プロトコルに変更を加える必要があ
る。多くの場合、業界標準のプロトコルを変更するシス
テムを市場に出すことは商業的にに実行不可能である。
【0011】
【課題を解決するための手段】本発明によれば、サーバ
が使用不能のときはいつでも、一意のファイル番号を有
する新規ファイルを作成する機能(ability)をクライア
ントに与えることによって、上述の問題の解決を図っ
た。本発明の方法による実施形態においては、これを達
成するに当たり、コンピュータ・ネットワーク内におい
て、サーバが割り当てたファイル番号を、クライアント
が割り当てたファイル番号にリマップする。サーバが動
作不能の間に、新規ファイルを作成するアプリケーショ
ン・プログラムの要求に応答して、ファイル番号を格納
しリマップするテーブルが作成される。クライアント
は、サーバが使用不能の間に作成される新規ファイル
に、新たなファイル番号を割り当て、この新たなファイ
ル番号をテーブルに格納する。クライアントによって割
り当てられたファイル番号は、クライアントによって以
前に使用されたファイル番号またはアクセスされたファ
イル番号以外のものとなるように選択可能である。
【0012】サーバが使用可能となった時点で、サーバ
が割り当てた、ファイルの真のファイル番号をサーバか
ら得て、テーブルに格納する。サーバが割り当てた真の
ファイル番号は、クライアントが割り当てたファイル番
号に、テーブル内でマップされるので、サーバが使用不
能の間、クライアントは透過的に新規ファイルの作成が
可能となる。
【0013】前記テーブルは第1列と第2列とによる構
造とすることができ、第1列にはサーバが割り当てたフ
ァイル番号が格納され、第2列にはクライアントが割り
当てたファイル番号が格納される。クライアントは、作
成された新規ファイルのファイル番号に対するあらゆる
要求に応答してテーブルにアクセスし、この新規ファイ
ルに対する適切なファイル番号を報告する。
【0014】本発明の他の実施例では、クライアントが
割り当てた新規ファイル番号とサーバが割り当てた他の
ファイル番号との間のあらゆる衝突は、クライアントが
割り当てた新規ファイル番号にマップするテーブルにフ
ラグを書き込むことによって検出される。サーバが割り
当てたファイル番号は、クライアントが割り当てた新規
ファイル番号のテーブル・エントリと比較され、これに
よって、サーバが割り当てたファイル番号がクライアン
トが割り当てた新規ファイル番号と衝突する場合を検出
する。
【0015】ファイル番号間で衝突が検出された場合、
いかなるものでも、クライアントが選択した第2の新し
いファイル番号を新規ファイルに割り当てることによっ
て解決する。第2の新しいファイル番号は、サーバが割
り当てた真のファイル番号にマップされる。このように
して、クライアントの新しいファイル番号とサーバが作
成した他のファイル番号との間の衝突を排除することが
できる。
【0016】上述のコンピュータ実施ステップは、本発
明の他の実施形態においては、1つの製造物、即ち、上
述のステップを実行する命令のコンピュータ・プログラ
ムを収容したコンピュータ記憶媒体として提供される。
【0017】本発明の機械による実施形態においては、
コンピュータ・ネットワークにおいてクライアントおよ
びサーバが選択したファイル番号をリマップすることに
よって、サーバが使用不能の間、クライアントの新規フ
ァイル作成を可能とする装置を提供する。クライアント
が新規ファイルに割り当てるために、ファイル番号選択
モジュールが第1ファイル番号を選択し、ファイル番号
要求所ジュールは、新規ファイルに対応してサーバが割
り当てた第2ファイル番号を要求する。ファイル番号テ
ーブルは、テーブル内に第1ファイル番号および第2フ
ァイル番号を格納し、ファイル番号が一貫性をもって保
持されるように、ファイル番号テーブル内では第1ファ
イル番号が第2ファイル番号にマップされている。
【0018】本発明の他の実施例では、報告モジュール
が、アプリケーション・プログラムの新規ファイルへの
アクセス要求に応答して、アプリケーション・プログラ
ムに第1ファイル番号を報告する。警告モジュールは、
テーブルに格納されている第1ファイル番号に対して、
サーバが割り当てた他のファイル番号と衝突の可能性が
あるものとして印を付ける。衝突検出モジュールは、ク
ライアントが割り当てた第1ファイル番号が、サーバが
割り当てた他のファイル番号と衝突しているか否かにつ
いて判定を行う。更に、衝突補正モジュールは、クライ
アントが割り当てた第1ファイル番号とサーバが割り当
てた他のファイル番号との間の衝突を補正する。
【0019】本発明の大きな有用性は、サーバが新規フ
ァイルに対してファイル番号を作成することができなく
ても、クライアントが透過的に新規ファイルの作成を可
能とする点にある。
【0020】本発明の更に他の有用性は、ファイル番号
を予め割り当てる必要なく、サーバが使用不能の間に、
クライアントによる新規ファイルの作成を可能にするこ
とである。
【0021】本発明の更に他の有用性は、標準ファイル
・システムを変更することなく、または業界においてサ
ーバの動作を保持するための標準的なネットワーク・プ
ロトコルから逸脱することなく、サーバが使用不能の間
に、クライアントが新規ファイルの作成を可能とするこ
とである。
【0022】本発明の更に他の有用性は、サーバが使用
不能の間に、ファイルに対してファイル番号の一貫性の
ある使用を提供する点にある。
【0023】本発明の上述のおよびその他の有用な特徴
ならびに利点は、以下の添付図面に示す本発明の好適実
施例のより特定的な記載から明白となろう。
【0024】
【発明の実施の形態】ここに記載する本発明の実施例
は、クライアント・サーバー・コンピュータ・システム
を有する分散情報処理システムにおける論理処理として
実施するものである。本発明の論理処理は、(1)コン
ピュータ・システム上で実行する一連のコンピュータ実
装ステップとして、および(2)コンピュータ・システ
ム内部の相互接続機械モジュールとして、実施する。実
施形態は、本発明を実施するコンピュータ・システムの
性能要件によって異なる選択事項である。したがって、
ここに記載する本発明の実施例を構成する論理処理につ
いては、処理、ステップ、またはモジュールというよう
に様々な呼び方をすることとする。
【0025】本発明は、サーバが使用不能となったとき
にはいつでも、クライアントに新規ファイルを作成する
機能を与えるものである。クライアントは、あるテーブ
ルを利用して、ファイル番号を格納しマップする。この
テーブルについては以下でより詳細に説明する。テーブ
ルは、サーバが作成したファイル番号を格納する列と、
クライアントが作成したファイル番号を格納する列とを
有するような構造とすることができる。
【0026】サーバは通常あらゆるファイルに対してフ
ァイル番号を作成するので、クライアントはどちらのフ
ァイル番号を使用すべきかというジレンマに直面する。
クライアントは開始するにあたって、現在使用中でない
「空き」ファイル番号を選択し、この「空き」ファイル
番号を新規ファイルに割り当てる。しかしながら、サー
バは最終的にそのファイルに対するファイル番号の作成
を制御する。サーバが再度使用可能となったとき、クラ
イアントはサーバに新規ファイルを作成するように要求
し、サーバはそのファイルにファイル番号を割り当て
る。したがって、本発明は、クライアントが作成したフ
ァイル番号およびサーバのファイル番号を格納し、それ
ぞれマッピングするためのファイル番号テーブルを作成
し、このテーブルをクライアントがメモリ内に保持す
る。クライアントは、このファイル番号テーブルを使用
することにより、処理が切断されていた間に作成された
ファイルにアクセスする、クライアント上で走るアプリ
ケーション・ソフトウエア全てに、一貫性をもって適切
なファイル番号を報告する。例えば、クライアントが2
345のファイル番号を作成し、後に9876のサーバ
・ファイル番号に対応する場合、クライアントは、当該
クライアント上で走るアプリケーション・ソフトウエア
全てに対して、2345のファイル番号を保持する。ク
ライアントがリブートしたとき、このファイルに対する
以降のアクセスは、サーバによって割り当てられた適正
なファイル番号に対応する。このように、本発明は、サ
ーバが使用不能の間に、クライアントが新規ファイル番
号の作成を可能とするものである。
【0027】本発明の別の重要な態様は、クライアント
が選択したファイル番号が、偶然既に存在し、サーバ上
のファイルに関連するものであったという状況に関連す
る。この状況は、ファイル番号の「衝突(conflict)」と
して知られている。通常、サーバはシステム上に配置さ
れた全ファイルに対する全ファイル番号のマスタ・リス
トを保持しているが、クライアントは、アプリケーショ
ンが必要とするファイル番号の局在的コピーを保持する
に過ぎない。クライアントにとってリスト全体を保持す
ることは非効率的であるので、ファイル番号のクライア
ント・コピーは、サーバが保持する全ファイル番号の総
括的リストではない。したがって、サーバが使用不能に
なったときに、クライアントが新規ファイルを作成する
際に、サーバが既に異なるファイルに割り当ててある
「空き」ファイル番号を選択する可能性がある。また、
サーバが使用可能となった後に、処理の切断中にクライ
アントが選択したものと同じファイル番号を、サーバが
異なるファイルに割り当てる可能性もある。
【0028】ファイル番号の潜在的な衝突を検出するた
めに、本発明は、クライアントが作成した全ファイル番
号について、ファイル番号テーブル内で、クライアント
が「フラグを立てる(flag)」ことを教示する。保持して
いる各クライアント・ファイルに対して、クライアント
は、クライアント・ファイル番号をサーバ列にコピーす
ることによって、テーブル内に別個のエントリを作成
し、現在はサーバ列にあるこのファイル番号を、クライ
アント・ファイル番号列内のゼロにマップする。このよ
うにして、テーブルのサーバ列内に保持されているファ
イル番号に、無効番号としてのフラグを立て、ファイル
番号の衝突が存在する場合、クライアントがそれを検出
できるようにする。
【0029】クライアントが作成したファイル番号が、
サーバによって異なるファイルに割り当てられているこ
とを後にクライアントが知った場合、クライアントはこ
のファイル番号の衝突を補正するために何らかの行動を
起こさなければならない。以下に記載する本発明の好適
実施例の下では、クライアントは他の新たな「空き」フ
ァイル番号を作成し、それをファイル番号テーブル10
0に書き込み、衝突の原因となったサーバ・ファイル番
号にマップする。このようにして、クライアントは、当
該クライアント上で処理中のアプリケーション・ソフト
ウエアに対して、一意のファイル番号を表示する。クラ
イアントが選択したこの新しい「空き」ファイル番号
が、サーバによって既に割り当てられていたり、後に割
り当てられる可能性はあるが、他の衝突が発生すること
は非常に希である。新しいファイル番号との別の衝突が
発生した場合、クライアントは単に別の新しいファイル
番号を作成し、衝突を起こしたサーバ・ファイル番号に
対応するテーブルの位置にそれを書き込む。このプロセ
スは、サーバが割り当てていない、正真正銘の「空き」
ファイル番号が選択されるまで継続する。
【0030】一例として、処理が切断されている間に、
クライアントが新規ファイルを作成し、それに3456
というファイル番号を割り当てたとする。その後、サー
バは再び使用可能となる。クライアントは新規ファイル
をサーバに報告し、サーバはそのファイルに9876と
いうファイル番号を割り当てる。サーバ・ファイル番号
9876は、システム上では、この新規ファイルに対す
る「真」のファイル番号である。クライアントは、その
ファイル番号テーブルにおいて、クライアント・ファイ
ル番号3456に対して、サーバ・ファイル番号987
6をマップするエントリを保持する。サーバ・ファイル
番号との衝突の可能性について、クライアントが選択し
たファイル番号にフラグを立てるために、クライアント
は、テーブルのサーバ列において、3456のファイル
番号テーブル内に別のエントリを作成し、そのファイル
番号をゼロのクライアント・ファイル番号にマップす
る。その後サーバ上のファイルに対してアクセスがあっ
た場合、クライアントは、サーバから得られた実際のフ
ァイル番号を、テーブルに保持されているサーバ・ファ
イル番号と比較する。ファイルが3456というサーバ
・ファイル番号を有する場合、テーブルがゼロにマップ
されたサーバ・ファイル番号3456を有するので、ク
ライアントはファイル番号の衝突が存在することを検出
する。したがって、クライアントは新しいファイル番号
(即ち、101)を作成し、サーバ・ファイル番号34
56にマップするクライアント列のエントリの下に、こ
の新しいファイル番号を書き込むことによって、この衝
突を解決する。したがって、サーバ・ファイル番号34
56に対するあらゆるアクセスは、101として一貫性
をもってアプリケーション・プログラムに報告される。
尚、クライアントは、テーブル内の101というサーバ
・ファイル番号の下に新しいエントリを作成し、このエ
ントリをゼロのクライアント・ファイル番号にマップす
ることによって、後に発生し得るファイル番号の衝突に
対して、再度フラグで知らせることを注記しておく。
【0031】本発明によれば、ネットワーク内のクライ
アント・プロセッサ35のような遠隔ワークステーショ
ンにおけるユーザは、このネットワークを通じて、図1
に示すようなコンピュータ・サーバに通信を行う。サー
バ20は、入出力部22、中央演算装置23、およびメ
モリ部24を有するプロセッサ21を含む。入出力部2
2は、任意に、キーボード25、表示装置またはモニタ
26、およびディスク記憶装置29に接続される。入出
力部22は、ネットワーク46上で遠隔クライアント局
35に通信を行う、通信アダプタを含む。アプリケーシ
ョン・プログラム45は、クライアント局35上で動作
し、サーバ20が保持するファイルにアクセス可能であ
る。本発明の装置および方法を実行するコンピュータ・
プログラム生産物は、メモリ部24、またはディスク記
憶装置29または同様の記憶媒体(図示せず)に存在す
るか、あるいはクライアント35が用いる記憶媒体上に
存在する場合もある。サーバ20またはクライアント3
5のいずれかとして使用可能な計算機システムの例は、
Sun Microsystems社が提供するSPARCシステム(SPARCは
Sun Microsystems社の商標である)、IBM社およびそ
の他のIBM互換パーソナル・コンピュータの製造者が
提供するパーソナル・コンピュータ、ならびにUNIX(UN
IXはX/Open社によって使用許諾される商標である)、OS
/2、HP-UX、AIX、DOS等(OS/2およびAIXはIBM社の商
標である)のオペレーティング・システムを走らせるシ
ステムが含まれる。
【0032】クライアント35およびサーバ20はネッ
トワーク46を通じて通信を行う。ネットワーク46
は、サーバのディスク29上に保持されているファイル
へのアクセスを、クライアント35に与える。サーバ2
0は、ディスク29上に、ネットワーク全体に対するフ
ァイル番号のテーブルおよび各ファイルに対するファイ
ル・データを保持している。
【0033】クライアントによるファイル作成は、通
常、クライアント35上で走るアプリケーション・プロ
グラム45による新規ファイルの要求に応答して実行さ
れる。クライアントは、通常、サーバが新規ファイルを
作成し、新しいファイル番号を割り当てることを要求し
なければならない。このような状況下で、ネットワーク
接続46の不動作、サーバ20のクラッシュ、またはそ
の他の理由により、サーバ20が使用不能となった場
合、クライアント35は新規ファイルの作成を継続でき
なくなってしまう。以下で説明するように、本発明は、
サーバの使用不能にも拘わらず、クライアントが新規フ
ァイルの作成を可能とするものである。
【0034】図2および図3は、サーバが使用不能にな
った場合のファイル作成に関連する処理を示す。図2の
処理60から開始して、クライアント/サーバ・ネット
ワーク状計算機システムにおいて通常に行われるよう
に、クライアントは処理62においてサーバ上にファイ
ルを作成し、次に判断処理66において、このファイル
作成が成功したか否かについて判定を行う。サーバおよ
びネットワーク双方が動作状態にあれば、ファイルの作
成は成功し、クライアントはその通常のファイル処理に
進む。例えば、処理68において、クライアントはサー
バから新規作成ファイルのメタデータを入手する。メタ
データは、ファイル番号のような、新規作成ファイルの
属性を含むことができる。
【0035】しかしながら、処理66において、サーバ
上でのファイル作成が失敗であったことが検出された場
合、恐らくサーバまたはネットワークが不動作状態とな
ったために、サーバが使用不能となっている。したがっ
て、クライアントは処理70において、図3に示すよう
に、切断状態の下で新規ファイルを作成するステップを
実行する。
【0036】切断状態の下で新規ファイルを作成する処
理70(図3)を実行するために、クライアントは、こ
のファイルに新しいファイル番号を割り当てる。過去の
ネットワーク状計算機システムでは、新規作成ファイル
に対するファイル番号の作成および割り当ては、最終的
にサーバの責任であるので、この処理は単純に不可能で
あった。本発明の好適実施例はこの基本的概念を変える
ものではないが、本発明の実施例は、クライアントが新
規ファイルに対するファイル番号を作成し保持すること
を許しつつ、サーバにも同一ファイルに異なるファイル
番号を割り当てることを許すものである。
【0037】図3において、切断状態の下でファイル作
成を実行する処理のフローは、処理71において開始す
る。処理71では、クライアントが割り当てたファイル
番号およびサーバが割り当てたファイル番号を格納しリ
マップするテーブル100(図6)を作成する。本発明
の好適実施例の下では、このテーブルはサーバが使用不
能の間に作成されるが、このテーブルは、特定の実施形
態によっては、他の様々な場合にも作成可能であること
は、当業者には認められよう。例えば、サーバが処理9
4および96間(図5)において再び使用可能となった
後に、このテーブルを作成することも可能である。
【0038】図3に戻り、処理72において、現在使用
されていないファイル番号を選択する。クライアント
は、その使用済みファイルの記録を詳細に調べ、以前に
サーバによって割り当てられていない「空き」ファイル
番号を発見する。ファイルの記録はディスク・キャッシ
ュに保持することも可能である。既に説明したように、
クライアントが保持する既存ファイル番号のリストは、
サーバによってネットワーク・システムに対して割り当
てられたファイル番号全ての総括的リストである必要は
ない。したがって、クライアントが「空き」であり未使
用であると判断するファイル番号は、実際には、サーバ
が割り当てたファイル番号と衝突することも可能性があ
る。以下で論ずるが、図7ないし図10における論理処
理は、このファイル番号の衝突の可能性に対する解決策
を提供するものである。
【0039】クライアントが「空き」ファイル番号を得
た後、処理74(図3)において、この「空き」ファイ
ル番号を用いて新規ファイルを作成する。既に述べたよ
うに、ファイル番号は、クライアント上で走るアプリケ
ーション・プログラムが利用し得るファイルの属性であ
る。処理74において、この新規作成ファイルを特定の
ファイル番号に関連付けることにより、大きな遅れを生
じることなく、新規ファイルを作成するというアプリケ
ーション・プログラムの要求を満足させる。処理78に
おいて、クライアントが保持するテーブル100にこの
ファイル番号を書き込む。
【0040】図4は、サーバまたはネットワークが再び
使用可能になったか否かを判定するためにクライアント
が実施するシーケンス、およびサーバが使用可能になっ
たときに必要とされるステップを示す。処理84におい
て、サーバまたはネットワークが再び動作状態となった
か否かについて判定を行う。例えば、処理84では、サ
ーバが応答するまで、サーバまたはネットワークに周期
的に(即ち、30秒間隔で)「ピング(ping)」すること
ができる。処理84においてサーバが使用可能であると
判定されると、判断処理88が、作成すべきファイルが
あるか否かについて判定を行う。例えば、処理88で
は、サーバが使用不能であった間にクライアントによっ
て新規ファイルおよびファイル番号が作成されたことを
示す非ゼロ・エントリがあるかについて、テーブル10
0の内容を調べることができる。サーバが使用不能の間
にクライアントによってファイルが作成されていた場
合、処理90において、図5の処理に示すように、サー
バ上にそのファイルを作成し、ファイル番号をリマップ
する。
【0041】図5ないし図10は、サーバが使用可能と
なった後のリマッピング処理を示す。図5は、ファイル
番号リマッピングの論理処理を示す。図6は、ファイル
番号をリマップするためにクライアントが保持するファ
イル番号テーブル100を示す。図7ないし図10は、
ファイル番号衝突の検出処理および解決処理を示す。
【0042】クライアントは図6のファイル番号テーブ
ル100を利用する。このテーブルは、クライアントの
揮発性メモリに保持することができるので、ファイル番
号リマッピング情報は、クライアント上で走るアプリケ
ーション・プログラムが必要とする場合にのみ保持され
る。
【0043】ファイル番号テーブル100は、サーバ列
102およびクライアント列104を有する。このテー
ブル内のエントリは、サーバまたはクライアントのいず
れかによって割り当てられたファイル番号を反映し、エ
ントリの行位置は、割り当てられたファイル番号間のマ
ッピングを示す。例えば、図6において、クライアント
が割り当てたファイル番号3456は、サーバ・ファイ
ル番号9876に対応する。クライアントは、サーバの
使用不能の間にクライアントが作成した、3456とい
うファイル番号を、クライアントが以前に3456のフ
ァイル番号を提示したアプリケーションに報告する。し
かしながら、クライアントは、サーバ上で保持されてい
るこのファイルの「真」のファイル番号は9876であ
ることを知っている。更に、クライアントは、クライア
ントがサーバからファイル番号を受信したときはいつで
も、切断処理の後にこのテーブルにアクセスする。図7
および図8に関連して以下で説明するが、クライアント
はこのテーブルの内容を用いて、ファイル番号の衝突が
存在するか否かについて判定を行う。
【0044】図5において、処理92ではサーバ上でフ
ァイルを作成し、サーバはこの新規作成ファイルに一意
のファイル番号を割り当てる。図3に示し既に説明した
ように、クライアントは、処理72ないし74におい
て、切断中の処理の間に、「空き」ファイル番号を既に
選択し割り当ててある。
【0045】サーバは最終的に新規ファイル番号を割り
当てる責任があり、クライアントはファイル番号をクラ
イアント上で走るソフトウエア・アプリケーションに一
貫性をもって報告しなければならないので、クライアン
トはサーバからこのファイルに対する「真」のファイル
番号を入手する必要がある。処理94において、新しく
割り当てられたファイル番号をサーバから入手し、テー
ブル100において、クライアントが割り当てた「空
き」ファイル番号に、このファイル番号をリマップする
ことができる。
【0046】サーバが新規作成ファイルに割り当てたフ
ァイル番号を入手した後、処理96において、テーブル
100に新しい行を作成する。この行は新規作成ファイ
ルに対するエントリを含む。クライアントは、サーバが
割り当てた「真」のファイル番号を、サーバ列102の
下の行に入力する。また、クライアントは、この特定フ
ァイルに対応してクライアントが以前に割り当てた「空
き」ファイル番号を、クライアント列104に入力す
る。こうして、「真」のサーバ・ファイル番号が、「空
き」クライアント・ファイル番号にマップされたことに
なる。
【0047】処理98において、クライアント・ファイ
ル番号およびその他のサーバ・ファイル番号間に生じ得
る衝突を検出するために、クライアント・ファイル番号
にフラグを立てる、即ち、印を付ける(signal)。クライ
アントはテーブル100内に別の行を作成する。テーブ
ルのサーバ列102の下にクライアントが割り当てたフ
ァイル番号を入力し、クライアント列104をゼロで満
たし、無効なファイル番号であることを示す。こうし
て、クライアントが割り当てたファイル番号にフラグが
立てられたことになる。サーバが使用不能の間にクライ
アントが既に割り当てたファイル番号を、クライアント
が後にサーバから入手した場合、ファイル番号の衝突が
生ずる。
【0048】既に論じたように、ファイル番号テーブル
100を保持する目的は、サーバが割り当てた「真」の
ファイル番号を、クライアントが割り当てたファイル番
号にリマップすることである。このようにして、サーバ
またはネットワークが不動作状態にあった間にファイル
を作成したにも拘わらず、サーバの観点からはファイル
番号の一貫性を保持し、クライアント上で走るソフトウ
エア・アプリケーションの観点からもファイル番号の一
貫性が保持されることになる。
【0049】図7および図8は、クライアントがあるフ
ァイルのファイル番号を、そのクライアント上で走るア
プリケーション・プログラムに報告し、ファイル番号の
衝突を検出する際の処理を示す。
【0050】ファイル番号の報告は、アプリケーション
・プログラムのファイルへのアクセス要求に応答して、
処理110において開始する。クライアントがファイル
番号をアプリケーションに報告できるようになる前に、
クライアントは、要求されたファイルが有する番号が、
テーブル100に含まれているエントリを使用してリマ
ップする必要があるものか否かについて判定を行わなけ
ればならない。
【0051】処理112において、要求されたファイル
に対してサーバが割り当てた「真」のファイル番号を、
サーバから入手する。処理114において、サーバによ
って保持されている「真」のファイル番号とは異なるフ
ァイル番号を、クライアントがアプリケーション・ソフ
トウエアに報告する必要があるかについて判定を行う。
【0052】処理112によってサーバから入手した
「真」のファイル番号を用いることによって、処理11
4では、ファイル番号テーブル100のサーバ列102
を詳細に調べ、この「真」のサーバ・ファイル番号に対
応する、一致したエントリがあるか否かについて判定を
行う。「真」のサーバ・ファイル番号とテーブル100
のサーバ列102内のファイル番号のいずれとの間にも
一致がない場合、処理116において、処理112から
入手した「真」のサーバ・ファイル番号をユーザ・アプ
リケーションに報告する。このような状況の下では、フ
ァイル番号のリマッピングは不要である。
【0053】しかしながら、要求されたファイルに対し
てサーバから入手した「真」のファイル番号が、テーブ
ル100のサーバ列102内のエントリと一致した場
合、この「真」のファイル番号は、テーブル100の内
容を用いて、クライアントによってリマップする必要が
ある。また、クライアントは、この「真」のファイル番
号が、切断中の処理期間の間にクライアントが既に割り
当てたファイル番号と衝突するか否かについて判定を行
わなければならない。
【0054】ファイル番号の衝突を検出するために、処
理98において既に説明し図5および図6に示したよう
に、クライアントは、サーバ列102内のファイル番号
をクライアント列104内のゼロにマップすることによ
って、クライアントが割り当てたファイル番号に対して
既にフラグを立ててある。処理112から入手した
「真」のサーバ・ファイル番号と、テーブルのサーバ列
内のファイルとの間で一致が発見された場合、処理11
8において、エントリのクライアント列を検査し、その
クライアント列にゼロが存在するか否かについて判定を
行う。このエントリのクライアント列がゼロでなけれ
ば、ファイル番号の衝突は存在せず、処理120におい
て、クライアント列に含まれているファイル番号をユー
ザ・アプリケーションに報告する。これは、処理116
による処理と同様である。例えば、図8のテーブル10
0に示すエントリを用いて、クライアント上で走るソフ
トウエア・アプリケーションが、サーバが割り当てたフ
ァイル番号9876に対応するファイルに対するアクセ
スを要求した場合、クライアントはテーブル100のサ
ーバ列を検査し、ファイル番号9876を有するエント
リの位置を突き止める。次に、クライアントは同じ行の
クライアント列をチェックし、このエントリがゼロであ
るか否かについて検査を行う。この行エントリに対する
クライアント列は3456であり、ゼロではないので、
クライアントは、要求されたファイルのファイル番号が
3456であることを、単にユーザ・アプリケーション
に報告すればよい。
【0055】処理118(図7)において、行エントリ
に対するクライアント列にゼロがあると判定した場合、
ファイル番号間の衝突が検出されたことになる。言い換
えれば、クライアントは、サーバも割り当てていたファ
イル番号を作成した訳である。サーバはファイル番号の
割り当てに対して最終的に責任があるので、処理122
において、ファイル番号の衝突を透過的に解決する。こ
れを図8ないし図10に示す。
【0056】図9を参照すると、クライアントは、処理
123において開始し、検出したファイル番号の衝突を
解決する。処理124において、ステップ72(図3)
において既に説明したように、新しくしかも異なる「空
き」ファイル番号を見つけ出す。この選択した新しいフ
ァイル番号は未だ使用されていないものとする。処理1
26(図9)において、ファイル番号テーブル100を
用い、処理118(図7)によってファイル番号の衝突
が検出されたテーブルの行位置に入力を行う。次に、処
理126において、新たに獲得した「空き」ファイル番
号を用いて、クライアント列104のこの行を更新す
る。
【0057】次に、処理128において、図5のステッ
プ98で行ったのと同様に、テーブルに新しい行エント
リを追加し、新しい「空き」ファイル番号をサーバ列1
02に書き込み、ゼロをクライアント列104に書き込
む。こうして、新しくかつ異なる「空き」クライアント
・ファイル番号をサーバ・ファイル番号に割り当て、マ
ップすることによって、ファイル番号間の衝突は解決さ
れたことになる。再び、この「空き」クライアント・フ
ァイル番号にフラグを立てることによって、将来生じる
可能性のある衝突の検出および補正ができるようにして
おく。ファイル番号間の衝突を解決したので、処理13
0において、この新しい「空き」ファイル番号をユーザ
・アプリケーションに報告する。衝突を解決するプロセ
ス124ないし130は、クライアントがサーバ・ファ
イル番号と衝突しないファイル番号を選択するまで繰り
返すことができる。
【0058】一例として図10を参照すると、クライア
ントが割り当てたファイル番号3456が、「真」のフ
ァイル番号である9876にマップされている。その
後、クライアントは、サーバが別のファイルにファイル
番号3456を割り当ててあることを発見し、ファイル
番号の衝突が生じる結果となる。この衝突を解決するた
めに、101という新しい「空き」ファイル番号を選択
し、3456というクライアントが割り当てたファイル
番号にマップする。このようにして、クライアント上で
走るアプリケーション・プログラムによる、サーバ・フ
ァイル番号3456を有するファイルに対するアクセス
は全て、アプリケーションには101として報告され
る。サーバ・ファイル番号9876を有するサーバ・フ
ァイルに対するアクセスは、3456のままアプリケー
ションに報告される。したがって、アプリケーションは
ファイル番号3456(サーバ・ファイル番号9876
にマップする)と、101(サーバ・ファイル3456
にマップする)とを受けることになる。ファイル番号1
01にもゼロを用いてフラグが立てられているが、将来
発生する可能性のある衝突を検出するための処置であ
る。
【0059】一旦クライアントが新規ファイルを作成
し、ファイル番号がクライアントによって作成され保持
されたなら、以下のようにして、本発明はクライアント
/サーバ・システムの処理全体に調和する。クライアン
トがサーバからのファイルにアクセスする場合、クライ
アントは最初にこのサーバからのファイルに対して
「真」のファイル番号を入手する。このファイルに
「真」のサーバ・ファイル番号を入手した後、クライア
ントはテーブルのサーバ列を詳細に調べる。テーブルの
サーバ列の下に一致するエントリが存在しなければ、フ
ァイル番号のリマッピングは不要である。しかしなが
ら、一致するエントリが存在する場合(即ち、サーバか
ら入手した「真」のファイル番号が、テーブルのサーバ
列に保持されている1つのエントリと一致した場合)、
クライアントは、「真」のサーバ・ファイル番号を、ク
ライアントが作成したファイル番号にリマップする必要
があり、これは、前述のように、テーブルのクライアン
ト列内に新しいファイル番号を作成することによって、
ファイル番号の衝突を解決しなければならない場合があ
る。
【0060】本発明の好適実施例は、サーバおよびクラ
イアント上で走るアプリケーション・プログラム双方に
対して透過的である。クライアントおよびその中で動作
するアプリケーション・プログラムは、サーバが使用不
能の間でも、ファイルを作成することができるようにな
った。
【0061】図11は、本発明の代替実施例を示す。フ
ァイル番号リマッピング・インターフェース150は、
サーバ20およびアプリケーション・プログラム45間
のファイル番号情報を提供する。インターフェース15
0は、テーブル100(図6)を含み、ここで論じたク
ライアントによって実行する処理全てを実行することも
可能である。また、インターフェース150は、ハード
ウエア装置として、またはクライアント上で走るソフト
ウエア・インターフェースとして実施することも可能で
ある。これにより、インターフェース150は、サー
バ、アプリケーション・プログラム、およびクライアン
トに対して透過的なファイル番号のリマッピングを可能
とする。
【0062】尚、本発明の好適実施例の説明においてフ
ァイル番号として数字を使用したが、非数字、英数字、
またはその他の記号をファイル番号として使用するよう
な状況においても、本発明は適用可能であることは、当
業者には明白であろう。
【0063】以上本発明の好適実施例を参照しながら、
本発明について具体的に示しかつ記載したが、その形態
および詳細において、本発明の精神および範囲から逸脱
することなく、他に様々な変更が可能であることは、当
業者には理解されよう。
【図面の簡単な説明】
【図1】サーバと多数のクライアントが通信ネットワー
クに接続され、本発明の論理処理を実行する分散処理計
算機システムを示す図。
【図2】本発明のファイル作成の論理処理を示す図。
【図3】本発明の下でサーバが使用不能のときのファイ
ル作成の論理処理を示す図。
【図4】新規ファイルを作成した後にサーバが使用可能
となったときに、本発明の下で実行される論理処理を示
す図。
【図5】本発明によるファイル番号マッピングを示すフ
ロー・チャート。
【図6】図5の処理に関連するファイル番号テーブルの
内容を示す図。
【図7】本発明によるファイル番号の報告およびファイ
ル番号における衝突の検出を示すフロー・チャート。
【図8】図7の処理に関連するファイル番号テーブルの
内容を示す図。
【図9】本発明によるファイル番号の衝突の解決法を示
すフロー・チャート。
【図10】図9の処理に関連するファイル番号テーブル
の内容を示す図。
【図11】好適実施例の代替実施例を示す図。
【符号の説明】
20 サーバ 22 入出力部 23 中央演算装置 24 メモリ部 25 キーボード 26 表示装置 29 ディスク記憶装置 35 遠隔クライアント局 45 アプリケーション・プログラム 46 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 ロバート・マスターズ アメリカ合衆国コロラド州80920,コロラ ド・スプリングス,ケイプウッド・コート 8340 (72)発明者 サム・エル・フォークナー アメリカ合衆国コロラド州80920,コロラ ド・スプリングス,チョークチェリー・ド ライヴ 5807

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】サーバとクライアントとを有するコンピュ
    ータ・ネットワークにおいて、クライアントが選択した
    ファイル番号をサーバが選択したファイル番号にリマッ
    プすることにより、サーバが使用不能の間に、クライア
    ントが新規ファイルを作成可能とする装置であって、 クライアントによって前記新規ファイルに割り当てるた
    めに第1ファイル番号を選択するファイル番号選択モジ
    ュールと、 前記新規ファイルに対応して、前記サーバが割り当てる
    第2ファイル番号を要求するファイル番号要求モジュー
    ルと、 前記第1ファイル番号および前記第2ファイル番号を格
    納するファイル番号テーブルであって、前記第1ファイ
    ル番号を前記第2ファイル番号にマップする前記ファイ
    ル番号テーブルと、から成ることを特徴とする装置。
  2. 【請求項2】請求項1記載の装置であって、更に、 アプリケーション・プログラムによる前記新規ファイル
    へのアクセス要求に応答して、前記アプリケーション・
    プログラムに前記第1ファイル番号を報告する報告モジ
    ュールを含むことを特徴とする装置。
  3. 【請求項3】請求項1記載の装置であって、更に、 前記ファイル番号テーブルにおいて、前記第1ファイル
    番号に、前記サーバが割り当てた他のファイル番号との
    衝突の可能性があるものとして印を付ける、警告モジュ
    ールを含むことを特徴とする装置。
  4. 【請求項4】請求項3記載の装置であって、更に、 前記警告モジュールに応答して、前記クライアントが割
    り当てた前記第1ファイル番号が前記サーバが割り当て
    た前記他のファイル番号と衝突するか否かを検出する衝
    突検出モジュールを含むことを特徴とする装置。
  5. 【請求項5】請求項3記載の装置であって、更に、 前記衝突検出モジュールに応答して、前記クライアント
    が割り当てた前記第1ファイル番号と前記サーバが割り
    当てた前記他のファイル番号との間の衝突を補正する衝
    突補正モジュールを含むことを特徴とする装置。
  6. 【請求項6】クライアントとサーバとを有し、前記サー
    バが新規ファイルに対するファイル番号を作成する責任
    があるコンピュータ・ネットワークにおいて、前記サー
    バが作成したファイル番号を前記クライアントが作成し
    たファイル番号にリマップする方法であって、 前記クライアントにおいて、ファイル番号を格納するテ
    ーブルを作成し保持するステップと、 前記クライアントにおいて、前記サーバが使用不能の間
    に作成された前記新規ファイルに新しいファイル番号を
    割り当てるステップと、 前記クライアントが作成した前記新しいファイル番号を
    前記テーブルに格納するステップと、 前記サーバが使用可能となったときに、前記サーバが使
    用不能であった間に作成された前記新規ファイルに前記
    サーバが割り当てた真のファイル番号を、前記サーバか
    ら入手するステップと、 前記サーバが前記新規作成されたファイルに割り当てた
    前記真のファイル番号を、前記テーブルに格納するステ
    ップと、 前記テーブルにおいて、前記サーバが割り当てた前記真
    のファイル番号を、前記クライアントが割り当てた前記
    新しいファイル番号にマップすることにより、前記サー
    バが使用不能である間に、前記クライアントが新規ファ
    イルを透過的に作成可能とするステップと、から成るこ
    とを特徴とする方法。
  7. 【請求項7】請求項6記載の方法において、前記割り当
    てるステップは、更に、 前記クライアントが既に使用しているファイル番号に基
    づいて、新しいファイル番号を未使用として選択するス
    テップを含むことを特徴とする方法。
  8. 【請求項8】請求項6記載の方法であって、更に、 前記サーバが割り当てたファイル番号を格納するため
    に、前記テーブル内に第1列を作成するステップと、 前記クライアントが割り当てたファイル番号を格納する
    ために、前記テーブル内に第2列を作成するステップ
    と、を含むことを特徴とする方法。
  9. 【請求項9】請求項6記載の方法であって、更に、 前記新規ファイルのファイル番号に対するいずれかの要
    求に応答して、前記クライアントによって前記テーブル
    をアクセスするステップと、 前記新規ファイルに対する前記ファイル番号を適切に報
    告するステップと、を含むことを特徴とする方法。
  10. 【請求項10】請求項6記載の方法であって、更に、 前記クライアントが割り当てた前記新しいファイル番号
    と、前記サーバが割り当てた他のファイル番号との間の
    衝突を検出するステップを含むことを特徴とする方法。
  11. 【請求項11】請求項10記載の方法において、前記衝
    突を検出するステップは、更に、 前記クライアントが割り当てた前記新しいファイル番号
    にマップする前記テーブルにフラグを書き込むステップ
    と、 前記サーバが割り当てた前記他のファイル番号を、前記
    テーブル内に格納されている前記クライアントが割り当
    てた前記新しいファイル番号と比較することによって、
    前記他のファイル番号が前記新しいファイル番号と衝突
    する場合を検出するステップと、を含むことを特徴とす
    る方法。
  12. 【請求項12】請求項10記載の方法であって、更に、 前記新規ファイル番号と前記他のファイル番号との間の
    衝突を解決するステップを含むことを特徴とする方法。
  13. 【請求項13】請求項12記載の方法において、前記衝
    突を解決するステップは、更に、 前記新規ファイルに第2の新しいファイル番号を割り当
    てるステップであって、前記クライアントによって前記
    第2の新しいファイル番号を選択するステップと、 前記第2の新しいファイル番号を、前記サーバが割り当
    てた真のファイル番号にマップすることによって、前記
    クライアントが割り当てた前記新しいファイル番号と、
    前記サーバが割り当てた前記他のファイル番号との間の
    衝突を排除するステップと、を含むことを特徴とする方
    法。
  14. 【請求項14】計算機システムにおいて読み取り可能で
    あり、コンピュータ・ネットワークにおいてサーバが作
    成したファイル番号をクライアントが作成したファイル
    番号にリマップするコンピュータ・プロセスを実行する
    ための命令のコンピュータ・プログラムをエンコードし
    た、コンピュータ・プログラム記憶媒体であって、前記
    コンピュータ・プロセスは、 前記クライアントにおいて、ファイル番号を格納するテ
    ーブルを作成し保持するステップと、 前記クライアントにおいて、前記サーバが使用不能の間
    に作成された前記新規ファイルに新しいファイル番号を
    割り当てるステップと、 前記テーブルに前記クライアントが作成した前記新しい
    ファイル番号を格納するステップと、 前記サーバが使用可能となったときに、前記サーバが使
    用不能であった間に作成された前記新規ファイルに前記
    サーバが割り当てた真のファイル番号を、前記サーバか
    ら入手するステップと、 前記新規作成されたファイルに前記サーバが割り当てた
    前記真のファイル番号を、前記テーブルに格納するステ
    ップと、 前記テーブルにおいて、前記サーバが割り当てた前記真
    のファイル番号を、前記クライアントが割り当てた前記
    新しいファイル番号にマップすることにより、前記サー
    バが使用不能である間に、前記クライアントが新規ファ
    イルを透過的に作成可能とするステップと、から成るこ
    とを特徴とするコンピュータ・プログラム記憶媒体。
  15. 【請求項15】請求項14記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセスに
    おける前記割り当てステップは、更に、 前記クライアントが既に使用しているファイル番号に基
    づいて、新しいファイル番号を未使用として選択するス
    テップを含むことを特徴とするコンピュータ・プログラ
    ム記憶媒体。
  16. 【請求項16】請求項14記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセス
    は、更に、 前記新規ファイルのファイル番号に対するいずれかの要
    求に応答して、前記クライアントによって前記テーブル
    をアクセスするステップと、 前記新規ファイルに対する前記ファイル番号を適切に報
    告するステップと、を含むことを特徴とするコンピュー
    タ読み取り可能プログラム記憶媒体。
  17. 【請求項17】請求項14記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセス
    は、更に、 前記クライアントが割り当てた前記新しいファイル番号
    と、前記サーバが割り当てた他のファイル番号との間の
    衝突を検出するステップを含むことを特徴とするコンピ
    ュータ・プログラム記憶媒体。
  18. 【請求項18】請求項17記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセスに
    おける前記衝突検出ステップは、更に、 前記クライアントが割り当てた前記新しいファイル番号
    にマップする前記テーブルにフラグを書き込むステップ
    と、 前記サーバが割り当てた前記他のファイル番号を、前記
    テーブル内に格納されている前記クライアントが割り当
    てた前記新しいファイル番号と比較することによって、
    前記他のファイル番号が前記新しいファイル番号と衝突
    する場合を検出するステップと、を含むことを特徴とす
    るコンピュータ・プログラム記憶媒体。
  19. 【請求項19】請求項17記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセス
    は、更に、 前記新規ファイル番号と前記他のファイル番号との間の
    衝突を解決するステップを含むことを特徴とするコンピ
    ュータ・プログラム記憶媒体。
  20. 【請求項20】請求項19記載のコンピュータ・プログ
    ラム記憶媒体において、前記コンピュータ・プロセスに
    おける前記衝突解決ステップは、更に、 前記新規ファイルに第2の新しいファイル番号を割り当
    てるステップであって、前記クライアントによって前記
    第2の新しいファイル番号を選択するステップと、 前記第2の新しいファイル番号を、前記サーバが割り当
    てた真のファイル番号にマップすることによって、前記
    クライアントが割り当てた前記新しいファイル番号と、
    前記サーバが割り当てた前記他のファイル番号との間の
    衝突を排除するステップと、から成ることを特徴とする
    コンピュータ・プログラム記憶媒体。
JP9097544A 1996-04-15 1997-04-15 切断中の処理のためのファイル番号リマッピング方法及び装置 Pending JPH1069422A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/631,933 US5832512A (en) 1996-04-15 1996-04-15 Apparatus and method for file number re-mapping for disconnected operations in a client-server network
US631933 1996-04-15

Publications (1)

Publication Number Publication Date
JPH1069422A true JPH1069422A (ja) 1998-03-10

Family

ID=24533369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9097544A Pending JPH1069422A (ja) 1996-04-15 1997-04-15 切断中の処理のためのファイル番号リマッピング方法及び装置

Country Status (4)

Country Link
US (1) US5832512A (ja)
EP (1) EP0802488B1 (ja)
JP (1) JPH1069422A (ja)
DE (1) DE69700557T2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US5974424A (en) * 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node
US5983267A (en) * 1997-09-23 1999-11-09 Information Architects Corporation System for indexing and displaying requested data having heterogeneous content and representation
US6178429B1 (en) * 1997-11-26 2001-01-23 Cisco Technology, Inc. Mechanism for ensuring SCM database consistency on multi-part operation boundaries
US6801927B1 (en) 1999-09-24 2004-10-05 Akamba Corporation Network adaptor card with reverse proxy and cache and method implemented therewith
US6308238B1 (en) 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers
US6877036B1 (en) 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
US6944642B1 (en) * 1999-10-04 2005-09-13 Microsoft Corporation Systems and methods for detecting and resolving resource conflicts
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
US6728716B1 (en) * 2000-05-16 2004-04-27 International Business Machines Corporation Client-server filter computing system supporting relational database records and linked external files operable for distributed file system
US7876748B1 (en) 2000-09-07 2011-01-25 International Business Machines Corporation Stable hash-based mapping computation for a dynamically varying target set
US7254636B1 (en) 2003-03-14 2007-08-07 Cisco Technology, Inc. Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy
US7653699B1 (en) 2003-06-12 2010-01-26 Symantec Operating Corporation System and method for partitioning a file system for enhanced availability and scalability
US7433928B1 (en) 2003-12-31 2008-10-07 Symantec Operating Corporation System pre-allocating data object replicas for a distributed file sharing system
US7478400B1 (en) 2003-12-31 2009-01-13 Symantec Operating Corporation Efficient distributed transaction protocol for a distributed file sharing system
US7480681B2 (en) * 2004-12-06 2009-01-20 Sap Ag System and method for a transaction manager
US9146773B2 (en) * 2004-12-06 2015-09-29 Sap Se System and method for implicit transaction control
US20070073989A1 (en) * 2005-08-31 2007-03-29 Interdigital Technology Corporation Method and apparatus for efficient data storage and management
US7769779B2 (en) * 2006-11-02 2010-08-03 Microsoft Corporation Reverse name mappings in restricted namespace environments
KR101525220B1 (ko) * 2007-09-28 2015-06-10 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
US20110078198A1 (en) * 2009-09-30 2011-03-31 Ade Lee Automatic serial number and request id allocation in a replicated (cloned) certificate authority and data recovery management topology
US8200811B2 (en) * 2009-09-30 2012-06-12 Red Hat, Inc. Automatic server administration of serial numbers in a replicated certificate authority topology
US10044835B1 (en) 2013-12-11 2018-08-07 Symantec Corporation Reducing redundant transmissions by polling clients

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318647A (ja) * 1987-06-23 1988-12-27 Mitsubishi Electric Corp デ−タファイル受信方法
US4941059A (en) * 1988-09-13 1990-07-10 Compaq Computer Corporation Method for restoring computer files, including improved steps for location of head clusters of files
US5175851A (en) * 1989-05-15 1992-12-29 International Business Machines Corporation System and method for controlling client machine access to a portion of a file with a variable length
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5237680A (en) * 1990-09-27 1993-08-17 Sun Microsystems, Inc. Method for incremental rename propagation between hierarchical file name spaces
US5555404A (en) * 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
US5628005A (en) * 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment

Also Published As

Publication number Publication date
DE69700557T2 (de) 2000-05-25
US5832512A (en) 1998-11-03
EP0802488A1 (en) 1997-10-22
EP0802488B1 (en) 1999-09-29
DE69700557D1 (de) 1999-11-04

Similar Documents

Publication Publication Date Title
JPH1069422A (ja) 切断中の処理のためのファイル番号リマッピング方法及び装置
US7200664B2 (en) Distributed network storage system with virtualization
US7024527B1 (en) Data restore mechanism
US6850955B2 (en) Storage system and control method
US7035881B2 (en) Organization of read-write snapshot copies in a data storage system
US8510508B2 (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US6823436B2 (en) System for conserving metadata about data snapshots
US6877011B2 (en) System and method for host based storage virtualization
KR100404555B1 (ko) 데이터 프로세서 제어형 데이터 저장 시스템, 동적 재동기화 방법, 및 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체
US20070185934A1 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US7020744B2 (en) Computer system
JP5081631B2 (ja) データの削除を管理するための方法および装置
US6880053B2 (en) Instant refresh of a data volume copy
US20060053260A1 (en) Computing system with memory mirroring and snapshot reliability
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
US8185500B2 (en) Information processing apparatus, and operation method of storage system
US20240330116A1 (en) Allocating system rdp metadata space with io performance priority
CN112131191B (zh) 一种namenode文件系统的管理方法、装置及设备
CN108694209B (zh) 基于对象的分布式索引方法和客户端
WO2026056530A1 (zh) 数据处理方法、系统、设备、介质和产品
JP2005032166A (ja) ストレージ装置及びストレージ装置のアクセス制御方法
HK1182804A (en) Distributed data mirroring method and data store nodes
HK1182804B (en) Distributed data mirroring method and data store nodes