JP4430722B2 - マルチプロトコルの統一ファイルロッキング - Google Patents

マルチプロトコルの統一ファイルロッキング Download PDF

Info

Publication number
JP4430722B2
JP4430722B2 JP2008148947A JP2008148947A JP4430722B2 JP 4430722 B2 JP4430722 B2 JP 4430722B2 JP 2008148947 A JP2008148947 A JP 2008148947A JP 2008148947 A JP2008148947 A JP 2008148947A JP 4430722 B2 JP4430722 B2 JP 4430722B2
Authority
JP
Japan
Prior art keywords
file
protocol
lock
locking
file server
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
JP2008148947A
Other languages
English (en)
Other versions
JP2008305405A (ja
Inventor
アンドレア・ボー
Original Assignee
ネットアップ,インコーポレイテッド
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 ネットアップ,インコーポレイテッド filed Critical ネットアップ,インコーポレイテッド
Publication of JP2008305405A publication Critical patent/JP2008305405A/ja
Application granted granted Critical
Publication of JP4430722B2 publication Critical patent/JP4430722B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • 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

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)

Description

本発明は、マルチプロトコルファイルサーバにおけるロッキングに関するものである。
統合されたコンピュータネットワークにおいて、複数のクライアントデバイスがファイルを共有することが好ましい。1つの既知の方法は、それら複数のクライアントデバイスからのファイルサーバ要求を受け取りかつ応答できるネットワークファイルサーバを、ファイルを記憶するために設けることである。これらのファイルサーバ要求は、ファイルサーバプロトコルを用いて作成される。このファイルサーバプロトコルは、ファイルサーバとクライアントデバイスの両方によって認識され順守されている。ファイルはファイルサーバに記憶されているので、複数のクライアントデバイスが、ファイルに対して同時にアクセスすることができる。
この技術分野における1つの問題は、複数のさまざまなファイルサーバプロトコルがあることである。それぞれは、ファイルオペレーションに対して異なるセマンティクスを有する。1つのファイルサーバが複数のファイルサーバプロトコルを認識するようにできることが知られているが、多くのファイルサーバプロトコルは、ファイルロッキングおよびファイル共有に関して、異なりかつ互換性のないセマンティクスを有するので、特に困難である。互換性のないロッキングセマンティクスは、複数のさまざまなクライアントデバイスにおいて、1つのファイルシステムを規定する障害となる。第1クライアントデバイスが第1ファイルサーバプロトコル(第1ファイルロッキングセマンティクス)に依存するならば、第2ファイルサーバプロトコル(第2ファイルロッキングセマンティクス)を用いる第2クライアントデバイスは、第1ファイルクライアントデバイスにおけるアプリケーションが完全に作動しなくなるようにするかもしれない。したがって、各ファイルサーバプロトコルの正しいオペレーションは、他の全てのファイルサーバプロトコルによるファイルロッキングセマンティクスが一致するかどうかに左右される。
例えば、UNIXオペレーティングシステム(またはその変形)を用いるデバイスで一般的に使用されるプロトコルは、NFS(ネットワークファイルシステム(Network File System))プロトコルである。Windowsオペレーティングシステム(またはその変形)は、「PC NFS」インプリメンテーションによってNFSプロトコルも使用することができる。NFSプロトコルは、ステイトレス(stateless)であるように作成され、そのためファイルを共有できなくするようなセマンティクスを備えていない、またはファイルが1つのクライアントデバイスに制限されるセマンティクスを備えていない。それに対して、Windowsオペレーティングシステム(またはその変形)を用いるデバイスで一般的に使用されるプロトコルは、CIFS(コモンインターネットファイルシステム(Common Internet File System))プロトコルである。CIFSプロトコルは、範囲の広い強制ファイルロッキングセマンティクスを有する。CIFSクライアントデバイスは、このセマンティクスに依存し、また順守している。
既知のシステムにおいて、NFSプロトコルは、付属のファイルロッキングプロトコル、つまりNLM(ネットワークロックマネージャ(Network Lock Manager))が追加されているが、NFSプロトコルは、NLMロックを単なる勧告として扱っている。この方法がファイルロッキングセマンティクスをNFSアプリケーションに与えるという目的を達成し、NFSアプリケーションがこの方法を使用しても、この方法によって、NFSアプリケーションがファイルロッキングセマンティクスを無視することを妨げることはできないし、クライアントデバイスが複数のさまざまなファイルサーバプロトコルのファイルロッキングセマンティクスに左右されない。
したがって、さまざまなファイルサーバプロトコルを用いるクライアントデバイスにおいてファイルロッキングセマンティクスを強制的に実行するシステムおよび方法を提供することが好ましい。これが、本発明の実施の形態において得られる利点である。この実施の形態において、複数の同一ファイルロッキングセマンティクスが、マルチプロトコルファイルサーバのカーネル(kernel)に統合され、サーバによって認識されるさまざまなファイルサーバプロトコルのいずれを使用してもクライアントデバイスにおいて強制的に実行される。好ましい実施の形態において、クライアントデバイスがネットワークファイルサーバ上にある共有されたファイルシステムにアクセスしているときに、CIFSプロトコルの特定のファイルロッキングセマンティクスは、NFSクライアントデバイスがCIFSクライアントデバイスと同時に利用できるように実行されて、データの保全性を保護する。
なお、特開平6−19771号公報に記載されたファイル管理機構では、異種プロトコルを使用するクライアントによるファイルの共用が記載されている。
特開平6−19771号公報
本発明は、複数のさまざまなファイルサーバプロトコルを正しく同時に利用するための方法およびシステムを提供する。複数のさまざまなファイルサーバプロトコルを認識するファイルサーバは、同一のマルチプロトコルロックマネージメントシステム(同一のファイルロッキングセマンティクスを含む)を規定する。それは、全てのクライアントデバイスに対して同一のファイルロッキングセマンティックスを実施し、またファイルサーバによって認識されたプロトコルを実施する。好ましい実施の形態において、第1のファイルサーバプロトコル(例えば、CIFS)は、アパチュニスティックファイルロッキング技術によって、強制的なファイルオープンおよびファイルロッキングのセマンティクスを実施する。それに対して、第2のファイルサーバプロトコル(例えば付属プロトコルNLMつきのNFS)は、ファイルオープンのセマンティクスがなく、助言的なバイトレンジロッキングのセマンティクスとファイルロッキングのセマンティクスを規定するだけである。
いずれかのクライアントデバイスがデータの読み出しまたは書き込みを行うまたは新しいファイルロックまたはバイトレンジロックを獲得する前に、始めのクライアントデバイスがいずれのクライアントデバイスであっても、さらに現在のロックに対して始めのファイルサーバプロトコルまたはファイルロッキングプロトコルがいずれのプロトコルであっても、ファイルサーバは、いずれかのクライアントデバイスが獲得していようとしているロックが現在のロックと矛盾していないかどうか判定することを同一のファイルロッキングのセマンティクスは、規定している。CIFSクライアントデバイスがデータの読み出しまたは書き込みを試行するケースにおいては、クライアントデバイスがファイルを開けるとき、ファイルサーバはこの判定を実行する。CIFSクライアントデバイスがバイトレンジロックを要求するケースにおいては、クライアントデバイスがバイトレンジロックを要求するとき、ファイルサーバはこの判定を実行する。NFSクライアントデバイスのケースにおいては、クライアントデバイスが実際に読み出しまたは書き込み要求を発するとき、またはNFSクライアントデバイスが、バイトレンジの読み出しまたは書き込みを実施する意図を示すNLMバイトレンジロックを要求するとき、ファイルサーバはこの判定を実行する。ファイルロッキングのセマンティクスを実行することによって、NFSクライアントデバイスによる悪影響からファイルデータを保護する。
本発明の第2の態様において、ファイルを開ける際に、「アップロック」(アパチュニスティックロック)、つまり1つのクライアントだけにファイルの読み出しまたは書き込みを行うことを認める排他的なファイルロックを、CIFSクライアントデバイスは獲得することが可能である。クライアントデバイスが、アップロックされたファイルに対して、ノンCIFS(つまり、NFSまたはNLM)プロトコル要求を発するとき、ファイルサーバは、CIFSクライアントデバイスに対してアップロックブレークメッセージを送る、このアップロックブレークメッセージは、CIFSクライアントデバイスが、全てのキャッシュされた書き込み操作を実施する機会を与え、さらにはファイルを閉じる機会を与えてもよい。NFSおよびNLM要求によりアップロックをブレークすることを認めることにより、ファイルデータの保全性を保護すると同時にNFSクライアントデバイスによりファイルデータを利用できることを保証する。
本発明の第3の態様において、CIFSクライアントデバイスは、ファイルシステムにおける1つのディレクトリに対する「チェンジモニタリング」ロックを獲得することができる。該ディレクトリにおいて変化が生じたときに、ファイルサーバは、変化が生じたことをCIFSクライアントデバイスに対して通知する。(ディレクトリにおける変化とは、ディレクトリ内でのファイルの作成、ファイルの削除、ファイルの改名、ディレクトリ内へのファイルの移動、ディレクトリ外へのファイルの移動を含む。)ファイルサーバは、CIFSクライアントデバイスおよびノンCIFSクライアントデバイスの両方によってディレクトリにおいて変化が生じていないか注目しており、その変化を「チェンジモニタリング」ロックを有するCIFSクライアントデバイスに通知する。
以下の説明において、本発明の好ましい実施の形態は、好ましいプロセスステップとデータ構造について記載されている。この出願明細書を精読すると、当業者は、本発明の実施の形態が、この出願明細書に記載された特定のプロセスステップとデータ構造用に作成された汎用プロセッサと、特殊用途プロセッサと、その他の回路とを用いて実施されることが分かり、さらに本発明の実施の形態が、この出願明細書に記載された特定のプロセッサステップとデータ構造を実施するために、不適当な実験または更なる発明を必要としないことが分かる。
システム構造(クライアント/サーバ)
図1は、マルチプロトコルファイルサーバを含むシステムの第1のブロック図を示す。
システム100は、ファイルサーバ110と、コンピュータネットワーク120と、複数のクライアントデバイス130とを含む。
ファイルサーバ110は、プロセッサ111と、大容量記憶装置112とを含む。大容量記憶装置112は、記憶し検索するためのデータを有する複数のファイル113を記憶し検索することができる。プロセッサ111は、ネットワーク120から複数の要求メッセージ121を受信し、コマンドおよびデータとしてメッセージを解析し、大容量記憶装置112にあるファイル113を操作し、コマンドおよびデータに対する応答として応答メッセージを送信することができる。
ファイルサーバ110とクライアントデバイス130は、ネットワーク120に接続されており、ネットワーク120上で送信されるメッセージ121を用いて通信する。メッセージ121は、クライアントデバイス130によってファイルサーバ110に送信されるファイルシステム要求と、ファイルサーバ110によってクライアントデバイス130に送信されるファイルシステム応答とを含む。
システム構造(ファイルロッキングセマンティクス)
図2は、マルチプロトコルファイルサーバを含むシステムの第2のブロック図を示す。
システム100は、Unixクライアントデバイス201と、PC NFS Windowsクライアントデバイス202と、CIFS Windowsクライアントデバイス203とを含む複数のクライアントデバイス130を含む。Unixクライアントデバイス201は、Unixオペレーティングシステムを実行し、Unix/NFSファイルサーバプロトコルを使用する。PC NFS Windowsクライアントデバイス202は、Windowsオペレーティングシステムを実行し、PC NFSファイルサーバプロトコルを使用する。CIFS Windowsクライアントデバイス203は、Windowsオペレーティングシステムを実行し、CIFSファイルサーバプロトコルを使用する。
Unixクライアントデバイス201とPC NFS Windowsクライアントデバイス202は、NFSファイルサーバプロトコルを用いてファイルサーバ110と通信する。NFSファイルサーバプロトコルは、NFSファイルサーバプロトコルパーサ211によってファイルサーバ110で認識される。CIFSWindowsクライアントデバイス203は、CIFSファイルサーバプロトコルを用いてファイルサーバ110と通信する。CIFSファイルサーバプロトコルは、CIFSファイルサーバプロトコルパーサ212によってファイル110で認識される。NFSファイルサーバプロトコルまたはCIFSファイルサーバプロトコルのいずれかを用いるメッセージは、プロセッサ111によって解析され、アップロックマネージャ220によって処理される。
アップロックマネージャ220は、CIFSアップロックを有するファイル113へのアクセスを管理する。アップロックマネージャ220の操作は、図3と図5での説明でより詳細に記載される。アップロックマネージャエレメント220は、クロスプロトコルロックマネージャ230に接続される。
クロスプロトコルロックマネージャ230は、ファイルサーバ110のファイルロッキングセマンティクスを管理する。クロスプロトコルロックマネージャ230は、4つのタイプのロックに関する情報を処理し記録する。その4つのタイプは、CIFSバイトレンジロック241と、CIFSファイルロック242と、PC NFS(NLM)ファイルロック243と、NLMバイトレンジロック244とである。クロスプロトコルロックマネージャ230の操作は、図3と図4での説明でより詳細に記載される。
異なるファイルロッキングセマンティクス
図2についての記載で示されているように、ファイルサーバ要求メッセージ140は、Unixクライアントデバイス201、PC NFSWindowsクライアントデバイス202、またはCIFSWindowsクライアントデバイス203から受信される。また、このファイルサーバ要求メッセージ140は、NFSファイルサーバプロトコルまたはCIFSファイルサーバプロトコルを使用することができる。それぞれが、異なるファイルサーバプロトコルを使用することに加えて、これらのタイプのクライアントデバイス130は、それぞれ、ファイルサーバ110によって与えられる異なるモデルのファイルロッキングを有する。
特に、NFSファイルサーバプロトコルは、いかなる形式のファイルオープンまたはファイルクローズのセマンティクスなしでも、ファイルシステムオペレーションの実行することを規定する。これらのNFSファイルシステムオペレーションは、ファイルデータに対する読み出しまたは書き込みオペレーションか、またはファイルシステム操作(つまり、ディレクトリに対する読み出しおよび書き込みオペレーション)を含むことができる。ファイルシステム操作は、ファイルまたはディレクトリの作成、ファイルまたはディレクトリの改名、1つのディレクトリから別のディレクトリへのファイルの移動、ファイルシステムからのファイルまたはディレクトリの除去(削除)を含んでもよい。
NLM付属プロトコルは、ファイルに関するバイトレンジロックの獲得と解除を規定する。これらのバイトレンジロックは「リードロック」であってもよい。リードロックは、(例えば、その他のクライアントデバイス130における)他の対応しているアプリケーションに働きかけて、特定のバイトレンジへの書き込みを控えさせる。その代わりとして、これらのバイトレンジロックは、「ライトロック」であってもよい。ライトロックは、その他の対応しているアプリケーションに働きかけて、特定のバイトレンジに対する読み出しまたは書き込みを控えさせる。
CIFSファイルサーバプロトコルは、ファイル113におけるデータに対する読み出しオペレーションまたは書き込みオペレーションを行おうとする前に、ファイルオープンオペレーションを実行することと、オープンされたファイル113に関するファイルロックを獲得することとを規定している。ファイルオープン時に、CIFSクライアントデバイス130は、所望のアクセスモード(リードオンリー(read-only)、ライトオンリー(write-only)、またはリードライト(read-write))を指定し、同じファイル113をオープンしようとするその他のクライアントデバイス130に対して所望のディナイモード(ディナイノン(deny-none)、ディナイリード(deny-read)、ディナイライト(deny-write)、ディナイオール(deny-all))を指定することができる。それ以後、CIFSファイルシステムオペレーションは、オープンされているファイルに対するアクセスモードをチェックすることだけが必要である。CIFSクライアントデバイス130は、クライアントデバイス130がオープンしているファイルにおけるバイトレンジに対してバイトレンジロックを指定することもできる。バイトレンジロックは、「ライトロック」(リードライトのアクセスモードと、ディナイオールのディナイモードとを有する)と呼ばれる排他的ロックか、「リードロック」(リードオンリーのアクセスモードと、ディナイライトのディナイモードとを有する)と呼ばれる非排他的ロックかのいずれかである。
ファイルサーバ110は、アクセスモードとディナイモードを組み合わせるロックモードを決定する。ここにおいて使用されているように、「ロックモード」という用語は、ファイルサーバ110によって設定された、アクセスモードとディナイモードとを組み合わせる同一のロックモードを表している。
ファイルオープン時に、CIFSクライアントデバイス130は、アップロック(オパチュニスティックロック)を獲得することもできる。アップロックは、ファイルをオープンするCIFSクライアントデバイス130は、別のクライアントデバイス130がそのファイルを利用しようとしない限りファイルに対する排他的なアクセス権を有することを規定する。アップロックは、アップロックの排他性が他のクライアントデバイス130のアクセスによってブレークされるという警告のために、クライアントデバイス130が必要としている以上のファイルに対する排他性を規定する。
ファイルサーバ110は、NFS(付属プロトコルNLMありもしくは付属プロトコルNLMなし)またはCIFSを用いて、複数のクライアントデバイス130間の正しい相互利用を規定する。正しく相互利用するために、ファイルサーバ110は、同一ファイルロッキングセマンティクスを規定する。好ましい実施の形態において、同一ファイルロッキングセマンティクスは以下の効果を有する。
ファイルサーバ110は、CIFSクライアントによってオープンされかつ使用されている、ディナイライトまたはディナイオール等のディナイモードであるファイル113におけるデータに対して、Unixクライアントデバイス201が上書きするNFSライトオペレーションを実行することを防ぐ。
ファイルサーバ110は、Unixクライアントデバイス201およびPC NFS Windowsクライアントデバイス202が、CIFSクライアントによってオープンされかつ使用されているファイル113を除去するまたは改名するというNFSファイルシステムオペレーションを実行することを防ぐ。
Unixクライアントデバイス201またはPC NFS Windowsクライアントデバイス202が、CIFSクライアントデバイスによってアップロックされたファイル113に対してデータを書きこむ、ファイル113を除去するまたはファイル113の名前を変えるために、NFS要求を作成するとき、ファイルサーバ110は、ファイル113にCIFSアップロックセマンティクスを実施する。ファイルサーバ110は、アップロックブレークメッセージ140を、アップロックを保持するクライアントデバイス130に送信し、クライアントデバイス130から応答を受け取る。クライアントデバイス130がファイル113を閉じるならば、NFS要求は続行し、ファイルサーバ110はそれを許可する。
Unixクライアントデバイス201またはPC NFS Windowsクライアントデバイス202が、CIFSクライアントデバイスによってアップロックされたファイル113からデータを読み出すために、NFS要求を作成するとき、ファイルサーバ110は、ファイル113に対してCIFSアップロックセマンティクスを実施する。ファイルサーバ110は、アップロックブレークメッセージ140を、アップロックを保持するクライアントデバイス130に送信し、クライアントデバイス130から応答を受け取る。クライアントデバイス130がファイル113を閉じるか、またはファイルのライトキャッシュをファイルサーバ110に書きこむときに、NFS要求は続行し、ファイルサーバ110はそれを許可する。
ファイルサーバ110は、特定のロックモードに関して、CIFS Windowsクライアントデバイス203からのファイルオープン要求と、PC NFS Windowsクライアントデバイス202からのNLMファイルロック要求とに対する互換性をテストする。NLM「ファイルロック」という用語は、ここでは、以下の書類において記載されるNLM「シェアーロック」という既知の用語の代わりに使用される。その書類は、X/Open CAE 仕様書、X/Open相互作用プロトコル、XNFS第4版(X/Openドキュメント番号C218)であり、本明細書に完全に記載されているように参照として本明細書に含まれている。特定のロックモードは、要求されたアクセスモードおよびディナイモードを組み合わせることにより、ファイルサーバ110によって決定される。
これらの効果を生じさせるために、ファイルサーバ110は、以下のファイルロックマネージメントオペレーションを実行する。
CIFSファイルオープン要求メッセージ140を受け取る際に、ファイルサーバ110は、現在のCIFSおよびNLMファイルロックと矛盾し、かつ既存のNLMバイトレンジロックと矛盾するファイルオープン要求をテストする。新しく要求されたファイルロックと比較するために、ファイルサーバ110は、現在のNLMバイトレンジロックを、ディナイノンのディナイモードを有するものとして、また非排他性ロックであるリードオンリーのアクセスモードと排他性ロックであるリードライトのアクセスモードとを有するものとして扱う。
CIFSバイトレンジロック要求メッセージ140を受け取る際に、ファイルサーバ110は、現在のCIFSおよびNLMバイトレンジロックと矛盾するバイトレンジロック要求をテストする。
NLMバイトレンジロック要求メッセージ140を受け取る際に、ファイルサーバ110は、現在のCIFSおよびNLMバイトレンジロックと矛盾し、かつ現在のCIFSファイルロックと矛盾するバイトレンジロック要求をテストする。
PC NFS クライアントデバイス130(ファイルオープン要求メッセージ140をシミュレートするために使用される)からのNLMファイルロック要求メッセージ140を受け取る際に、ファイルサーバ110は、既存のCIFSおよびNLMファイルロックとは相容れず、かつ既存のNLMバイトレンジロックとは相容れないNLMファイルロック要求をテストする。新たに要求されたNLMファイルロックと比較するために、ファイルサーバ110は、既存のNLMバイトレンジロックを、ディナイノンのディナイモードを有するものとして、また非排他性ロックであるリードオンリーのアクセスモードと、排他性ロックであるリードライトのアクセスモードとを有するものとして扱う。
オペレーション方法(マルチプロトコルファイルサーバ)
図3は、マルチプロトコルファイルサーバを操作する方法のプロセスフローチャートを示す。
マルチプロトコルファイルサーバの操作方法300は、本明細書において記載されているように、複数のプロセスステップとフローポイントを含む。これらのプロセスステップとフローポイントは、少なくとも1つのクライアントデバイス130とともにファイルサーバ110によって実行される。
フローポイント310において、ファイルサーバ110は、ファイルサーバ要求メッセージ140を受け取れる状態にある。
ステップ311において、ファイルサーバ110は、ファイルサーバ要求メッセージ140を受け取り、解析する。ファイルサーバ110は、ファイルサーバ要求メッセージ140がNFSファイルサーバプロトコル、NLMファイルロッキングプロトコル、CIFSファイルロッキングプロトコルのいずれを使用するか判定する。ファイルサーバ要求メッセージ140が、NFSファイルサーバプロトコル、またはNLMファイルロッキングプロトコルを使用するならば、方法300は、ステップ312に続く。ファイルサーバリクエスト要求メッセージ140が、CIFSファイルサーバプロトコルを使用するならば、方法300は、ステップ313に続く。
ステップ312において、ファイルサーバ110は、要求メッセージ140がファイルシステムオペレーション(データの読み出しもしくは書き込み、またはディレクトリの変更等)を実行するためのNFSファイルサーバ要求を含む。その代わりとして、ファイルサーバ110は、要求メッセージ140がNLMバイトレンジロックを獲得するためのNLMファイルロッキング要求を含む。どちらのケースにおいても、方法300は、フローポイント320に続く。
ステップ313において、ファイルサーバ110は、ファイルサーバ要求メッセージ140がCIFSのリードもしくはライトオペレーションを実行することか、CIFSバイトレンジロックを獲得することか、またはCIFSファイルオープンオペレーションを実行することか判定する。ファイルサーバ要求メッセージ140が、CIFSバイトレンジロックを獲得することであるか、またはCIFSファイルオープンオペレーションを実行することであるならば、方法300は、フローポイント320に続く。ファイルサーバ要求メッセージ140が、CIFSのリードもしくはライトオペレーションを実行することであれば、方法はフローポイント330に続く。ファイルサーバ要求メッセージ140が、CIFS「チェンジ通知」要求であるならば、方法は、フローポイント350に続く(チェンジ通知要求は、図6の説明とともにさらに記載される)。
フローポイント320において、ファイルサーバ110は、ファイルサーバ要求メッセージ140によって要求されたオペレーションとファイル113のファイルロッキングステータスとを比較できる状態にある。ファイル113のファイルロッキングステータスは、ファイル113に対する現在のファイルロックおよびバイトレンジロックを含む。
ステップ321において、ファイルサーバ110は、ファイルサーバ要求メッセージ140が対象にしているファイル113を判断し、このファイル113がアップロックされているかどうか判定する。ファイル113がアップロックされているならば、方法300は、ステップ322に続く。ファイル113がアップロックされていないならば、方法300は、ステップ323に続く。
ステップ322において、ファイルサーバ110は本明細書に記載されているようにアップロックをブレークする。ステップ322の実行は、図5についての説明でさらに記載される。アップロックをブレークさせることによって、ファイル113のファイルロッキングステータスを変化させることが可能である。
ステップ323において、ファイルサーバ110は、同一のファイルロッキングセマンティクスを用いて、要求されたオペレーションとファイル113のファイルロッキングステータスを比較する。このステップにおいて、要求されたオペレーションは、NFSの読み出しもしくは書き込みオペレーション、NFSもしくはCIFSのディレクトリ変更オペレーション、NLMのファイルロックもしくはバイトレンジロックを獲得しようとする試み、CIFSファイルオープンオペレーションであってもよい。ステップ323の動作と、同一のファイルロッキングセマンティクスは、図4の説明とともにさらに記載される。この比較は、要求されたオペレーションが許容できることを示すならば、方法300は、ステップ324に続く。要求されたオペレーションが許容できないのであれば、方法300はステップ325に続く。
ステップ324において、ファイルサーバ110は、要求されたオペレーションを実行する。方法300はフローポイント340に続く。
ステップ325において、ファイルサーバ110は、要求されたオペレーションの実行を拒絶し、エラーメッセージを伴ってクライアントデバイス130に対して応答する。方法300は、フローポイント340に続く。
フローポイント330において、ファイルサーバ110は、ファイルサーバ要求メッセージ140によって要求されたオペレーションと、ファイル113のファイルロッキングステータスと比較できる状態にある。
フローポイント350において、ファイルサーバ110は、本明細書に記載されているように、チェンジ通知オペレーションを実行できる状態にある。
ステップ351において、第1のCIFSクライアントデバイス130は、ディレクトリに対するファイルロックを要求し(ディレクトリをオープンするためにファイルシステム要求メッセージ140を用いて)、ディレクトリに対するファイルロックを、ディレクトリに関するチェンジモニタリングロックに変換する。このステップ351の実行は、図6の説明とともにさらに記載される。
フローポイント340において、ファイルサーバ110は、ファイルサーバ要求メッセージ140に対して応答し、方法300は、ファイルサーバ要求メッセージ140について完了する。
オペレーション方法(クロスプロトコルロックマネージャ)
図4は、マルチプロトコルファイルサーバにおけるクロスプロトコルロックマネージャを操作する方法のプロセスフローチャートを示す。
マルチプロトコルファイルサーバにおけるクロスプロトコルロックマネージャを操作する方法400は、本明細書において記載されているように、複数のプロセスステップとフローポイントを含む。これらのプロセスステップとフローポイントは、少なくとも1つのクライアントデバイス130とともにファイルサーバ110によって実行される。
フローポイント410において、ファイルサーバ110は、ファイルサーバ要求メッセージ140における要求されたオペレーションを、ファイル113のファイルロッキングステータスと比較できる状態にある。
ファイルサーバ110は、同一のファイルロッキングセマンティクスを使用して、どのファイルサーバプロトコルで要求されたオペレーションのファイルロッキング状態でも同じ方法で作成する。同一のファイルロッキングセマンティクスは、同一の複数のファイルロックを識別する。それぞれのファイルロックは、要求しているクライアントデバイス130に対するアクセスモードと、全ての他のクライアントデバイス130に対するディナイモードとを含む。
好ましい実施の形態において、アクセスモードは、リードオンリー、ライトオンリー、またはリードライトの3つの可能性のうちの1つである。同様に、好ましい実施の形態において、ディナイモードは、ディナイノン、ディナイリード、ディナイライト、ディナイオールの4つの可能性のうちの1つである。
第1クライアントデバイス130がファイル113に対するファイルロックを獲得した後、第2クライアントデバイス130によって要求されかつファイルサーバ110によって決定されたロックモードが、ファイル113のファイルロッキングステータスと互換性があるならば、第2クライアントデバイス130は、ファイル113だけにアクセスすることができる。例えば、第1クライアントデバイス130は、ファイル113に対するディナイライトのディナイモードを有するファイルロックを獲得することができる。第2NFSクライアントデバイス130は、ファイル113に対して書き込もうとすることもできるし、または第2CIFSクライアントデバイス130は、ライトアクセスを含むアクセスモードで、ファイル113をオープンしようとすることもできる。いずれもケースにおいても(ファイル113に対するファイルロックが、本明細書に記載されているように、アパチュニスティックロックでないならば)、ファイルサーバ110は、第2クライアントデバイス130による要求を拒否する。
本明細書に示されているように、ファイルサーバ110は、第2クライアントデバイス130によって使用されるファイルサーバプロトコルに応じて、たびたび第2クライアントデバイス130によって要求されるアクセスとファイルロックとの比較を実行する。
第2クライアントデバイス130が、CIFSファイルサーバプロトコルを使用してファイル113をオープンするならば、ファイルサーバ110は、ファイルオープン時にファイル113のファイルロッキングステータスをチェックする。
第2クライアントデバイス130が、NFSファイルサーバプロトコルを使用してファイル113に対する読み出しまたは書きこみを実行するならば、実際にファイルシステムオペレーションを実行するときに、ファイルサーバ110は、ファイル113のファイルロッキングステータスをチェックする。これは、ファイル113を動かす、移動させる、またはファイル113の名前を変える等のオペレーションのように、第1クライアントデバイス130の対象領域からファイルを移動させる影響を有するファイルシステムオペレーションにも当てはまる。
第2クライアントデバイス130がCIFSファイルサーバプロトコルを使用してバイトレンジロックを要求するならば、バイトレンジロックが要求されたときに、ファイルサーバ110は、ファイル113のファイルロッキングステータスと、他のCIFSまたはNLMバイトレンジロックとが矛盾しているかチェックする。バイトレンジロックが要求されたときに、ファイルサーバ110は、バイトレンジロックと他のCIFSファイルロックとが矛盾しているかチェックしない。それは、バイトレンジロックと他のCIFSファイルロックとが矛盾しているかは、ファイルオープン時にチェックされたからである。
第2クライアントデバイス130がNLMプロトコルを使用してバイトレンジロックを要求するならば、バイトレンジロックが要求されたときに、ファイルサーバ110は、ファイル113のファイルロッキングステータスが、現在のCIFSまたはNLMバイトレンジロックと矛盾しているか、また現在のCIFSファイルロックと矛盾しているかチェックする。
ステップ421において、ファイルサーバ110は、ファイル113と関連するファイルロックがすでにつ以上あるかどうか判断する。ファイルロックがつ以上あるならば、方法400は、ステップ422に続く。ファイルロックがつ以上ないならば、方法は、ステップ411に続く。
ステップ422において、ファイルサーバ110は、ファイル113に関するファイルロックをファイル113に関する1つの同等のファイルロックに併合する。このステップ422を実行するために、すでに存在しているファイルロックが1つにまとめられるまで、ファイルサーバ110は、すでに存在しているファイルロックと追加するファイルロックとを表1において相互参照する。
表1は、1つにまとめられたファイルロッキングセマンティクスを用いて、マルチプロトコルファイルサーバにおけるロック変換表を示す。
Figure 0004430722
ロック変換マトリックス
A=アクセスモード(R=リード、W=ライト、RW=リードライト、ANY=R、W、RWのいずれか)
D=ディナイモード(DN=ディナイノン、DR=ディナイリード、DW=ディナイライト、DA=ディナイオール)
ステップ411において、ファイルサーバ110は、ファイルサーバ要求メッセージ140において要求されたオペレーションの種類を判断する。要求されたオペレーションがCIFSファイルオープンオペレーションであるならば、方法400は、ステップ423に続く。要求されたオペレーションがNFSファイルサーバオペレーションであるならば、方法400は、ステップ431に続く。要求されたオペレーションが、バイトレンジロックについてのCIFS要求またはNLM要求であるならば、ファイルシステム110は、ステップ441に続く。
ステップ423において、ファイルサーバ110は、ファイル113に関するファイルロックと、第2クライアントデバイス130によって要求されたファイルオープンとを比較する。このステップ423を実行するために、ファイルサーバ110は、すでに存在するファイルロックと、新しく要求されたアクセスモードおよびディナイモードとを表2において相互参照し、対応する表のエントリーに応じて新しく要求されたアクセスモードおよびディナイモードを許可するか、または拒否する。
ファイルサーバ110が、新しく要求されたアクセスモードおよびディナイモードを許可するならば、方法400は、ステップ424を実行する。ファイルサーバ110が、新しく要求されたアクセスモードおよびディナイモードを拒否するならば、方法400は、ステップ424を実行しない。
表2は、1つにまとめられたファイルロッキングセマンティクスを用いて、マルチプロトコルファイルサーバにおいて試行されたファイルロックの相互参照を示す。
Figure 0004430722
表2において示されているように、すでに存在しているファイルロックと、新しく要求されたアクセスモードおよびディナイモードとの各ペアは、対応する決定を備えている。その決定により、新しく要求されたアクセスモードおよびディナイモードが拒否されるか、または許可される。
ファイルサーバ110は、現在のCIFSファイルロックと、ファイルオープンオペレーションを実行するための新しい要求との間の矛盾をチェックするならば、現在のCIFSファイルロックは、新しいファイルオープン要求において要求されたアクセスモードおよびディナイモードについて相互参照される。
ファイルサーバ110は、現在のファイルロックと、ファイルのリードオペレーションまたはライトオペレーションを実行するための新しいNFS要求との間の矛盾をチェックするならば、集合体ロックモード(現在のファイルロックの組み合わせ)は、新しい要求を実行するために必要とされるアクセスモードについて相互参照される。
ファイルサーバ110は、現在のファイルロックまたはバイトレンジロックと、NLMバイトレンジロックに対する新しい要求との間の矛盾をチェックするならば、現在のファイルロックとバイトレンジロックは、新しいNLMバイトレンジロック要求と同等のロックモードについて相互参照される。現在のファイルロックを比較するために、ファイルサーバ110は、新たに要求されたNLMバイトレンジロックを、ディナイノンのディナイモードを有するものとして、さらに非排他性ロック(「リードロック」とも呼ばれる)の場合、リードオンリーのアクセスモードを、排他性ロック(「ライトロック」とも呼ばれる)の場合、リードライトのアクセスモードを有するものとして扱う。既存のバイトレンジロックと比較するために、ファイルサーバ110は、新たに要求されたNLMバイトレンジロックを、リードロックの場合、リードオンリーのアクセスモードとディナイライトのディナイモードとを有するものとして、さらにライトロックの場合、リードライトのアクセスモードとディナイオールのディナイモードとを有するものとして扱う。
次に、方法400は、フローポイント450に続く。
ステップ431において、ファイルサーバ110は、ファイル113のファイルロッキングステータスを、第2クライアントデバイス130によって要求されたオペレーションと比較する。このステップ431を実行するために、ファイルサーバ110は、ファイルロックに関するディナイモードと要求されたオペレーションとを比較し、その比較に応じて要求されたオペレーションを許可するか、または拒否する。
次に、方法400は、フローポイント450に続く。
ステップ441において、ファイルサーバ110は、ファイル113のファイルロッキングステータスを、第2クライアントデバイス130によって要求されたNLMバイトレンジロックと比較する。好ましい実施の形態において、CIFSバイトレンジロック要求は、バイトレンジロックのみについてチェックされる。それは、それらが以前のCIFSファイルオープンオペレーションを必要とし、現在のファイルロックは、以前のCIFSファイルオープンオペレーションのときに、すでにチェックされているからである。このステップ441を実行するために、ファイルサーバ110は、以前から存在するファイルロッキングステータスと要求されたバイトレンジロックを表3において相互参照し、対応する表エントリーに応じて要求されたバイトレンジロックを許可するか、または拒否する。
ファイルサーバ110が、新しく要求されたNLMバイトレンジロックを許可するならば、方法400は、ステップ442を実行する。ファイルサーバ110が、新しく要求されたバイトレンジロックを拒否するならば、方法400は、ステップ442を実行しない。
表3は、1つにまとめられたファイルロッキングセマンティクスを用いて、マルチプロトコルファイルサーバにおける新たに要求されたNLMバイトレンジロックと現在のファイルロックとの相互参照を示す。
Figure 0004430722
表3において示されているように、既存のファイルロックと新たに要求されたNLMバイトレンジロックの各ペアは、対応する決定を備えている。その決定により、新しく要求されたバイトレンジロックが拒否されるか、または許可される。
ステップ442において、ファイルサーバ110は、新しい追加のバイトレンジロックとして新しく要求されたバイトレンジロックとファイル113を関連付ける。
方法400は、フローポイント450に続く。
フローポイント450において、ファイルサーバ110は、ファイルサーバ要求メッセージ140において要求されたオペレーションと、ファイル113のファイルロッキングステータスを比較し、要求されたオペレーションを許可するか、または拒否する。
オペレーション方法(アップロックマネージャ)
図5は、マルチプロトコルファイルサーバにおけるアップロックマネージャを操作する方法のプロセスフローチャートを示す。
マルチプロトコルファイルサーバにおけるアップロックマネージャを操作する方法500は、本明細書において記載されているように、複数のプロセスステップとフローポイントを含む。これらのプロセスステップとフローポイントは、少なくとも1つのクライアントデバイス130とともにファイルサーバ110によって実行される。
アップロックは、Windowsオペレーティングシステム環境におけるファイルロッキングの分野において知られている。アップロックは、ワシントン州レドモンドにあるマイクロソフト社(Microsoft Corporation)で販売されている「WindowsNT4.0」オペレーティングシステムで利用できるマニュアルにさらに記載されている。このマニュアルは、例えばftp.microsoft.comのdirectory/developr/drg/CIFSのホストにある、FTPプロトコルによって入手可能なCIFS IETF仕様書を含む。この仕様書は、cifs6.docまたはcifs6.txtを含んでおり、本明細書において全部記載されているように参照によって本明細書に含まれる。
フローポイント510において、ファイルサーバ110は、ファイル113をオープンするためにCIFS第1クライアントデバイス130からの要求を受け取れる状態にある。
ステップ511において、ファイルサーバ110は、CIFS第1クライアントデバイス130からファイル113に対するファイルオープン要求を受け取る。ファイルオープン要求はアクセスモードとディナイモードを指定する。
ステップ512において、ファイルサーバ110は、要求を許可すると判断し、第1クライアントデバイス130に対して指定されたアクセスモードとディナイモードとを有するファイルロックを与える。
ステップ513において、クライアントデバイス130が、ファイルオープン要求でアップロックを要求しているならば、ファイルサーバ110は、第1クライアントデバイス130に、第1クライアントデバイス130が実際必要としているものよりもできるだけ高い排他的レベルにあるアップロックを与える。
例えば、CIFS第1クライアントデバイス130が、リードオンリーのアクセスモードとディナイライトのディナイモードとを有するファイル113をオープンするとき、ファイルサーバ110は、そのタイプのファイルロックと、ファイル113とを対応させる。ファイルサーバ110は、さらにリードライトのアクセスモードとディナイオールのディナイモードとを有するファイル113と、アップロックとを対応させる。
フローポイント520において、ファイルサーバ110は、ファイル113に対するファイルロックについて、CIFS第1クライアントデバイス130からの要求に応答する。
フローポイント530において、第2クライアントデバイス130は、ファイル113をオープンしようと試みる。
ステップ531において、ファイルサーバ110は、第2CIFSクライアントデバイス130からのファイルオープン要求か、またはPC NFSクライアントデバイス130からのNLMファイルロック要求かのいずれかを受け取る。
このステップ531の実行の一部として、ファイルサーバ110は、アップロックをブレークし、アップロックを保持している第1クライアントデバイス130からの応答を獲得する間に、ファイルサーバ110は、第2クライアントデバイス130による要求の実行を延期する。
ステップ532において、ファイルサーバ110は、「アップロックブレーク」メッセージ140をCIFS第1クライアントデバイス130に送信することによってアップロックをブレークする。
第2クライアントデバイス130がCIFSクライアントデバイス130であるならば、アップロックがブレークされることは予想される。第2クライアントデバイス130が、NFSクライアントデバイス130であるならば、CIFS第1クライアントデバイス130が「アップロックブレーク」メッセージ140に対して応答するまで、ファイルサーバ110は、NFS(またはNLM)プロトコル要求メッセージ140に対する応答を遅らせる。
ステップ533において、CIFS第1クライアントデバイス130は、「アップロックブレーク」メッセージ140を受け取り、以下の2つの方法のいずれかでメッセージ140に対して応答することができる。
CIFS第1クライアントデバイス130は、ファイル113をクローズすることができる(したがって、ファイルオープンと関連付けられたファイルロックを除去する)。
CIFS第1クライアントデバイス130は、クライアントデバイス130において、ローカルにキャッシュされた、ファイル113に対する全ての未実行のCIFSライト要求およびバイトレンジロック要求を出力してもよく(すなわち、CIFS第1クライアントデバイス130は、ファイルシステムオペレーションの結果をファイルサーバ110に転送する)、CIFS第1クライアントデバイス130がファイル113に対して獲得したリードアヘッドデータを捨ててもよい。リードアヘッドデータは捨てられるべきである。それは、第2クライアントデバイス130が、その後リードアヘッドデータを無効にする新しいデータをファイルに対して書き込む可能性があるためである。
ステップ534において、ファイルサーバ110は、CIFS第1クライアントデバイス130からの応答を受け取る。
ステップ535において、ファイルサーバ110は、CIFS第1クライアントデバイス130がファイル113をオープンにしたままであるか否かを判定する。オープンにしたままであるならば、ファイルサーバ110は、第2クライアントデバイス130による要求に包含されるロックモードを、ファイル113の新しいファイルロッキングステータスと比較する。ファイルサーバ110は、第2クライアントデバイス130による要求が続行することを許可するならば、フローポイント540に続く。ファイルサーバ110は、第2クライアントデバイス130による要求が続行することを許可しないならば、要求を拒否する。
フローポイント540において、ファイルサーバ110は、ステップ531において示された第2クライアントデバイス130からの要求を許可するように準備している。
オペレーションの方法(チェンジ通知マネージャ)
図6は、マルチプロトコルファイルサーバにおけるチェンジ通知マネージャの操作方法のプロセスフローチャートを示す。
マルチプロトコルファイルサーバにおけるチェンジ通知マネージャを操作する方法600は、本明細書において記載されているように、複数のプロセスステップとフローポイントを含む。これらのプロセスステップとフローポイントは、少なくとも1つのクライアントデバイス130とともにファイルサーバ110によって実行される。
フローポイント610において、ファイルサーバ110は、ファイルサーバ要求メッセージ140を受け取れる状態にある。
ステップ611において、ファイルサーバ110は、ファイルサーバ110上のディレクトリを指定するファイルオープン要求メッセージ140を第1クライアントデバイス130から受け取る。ファイルサーバ110は、ファイルオープン要求を許可すると判断し、ディレクトリに関するCIFSファイルロックを第1CIFSクライアントデバイス130に与える。
ステップ612において、ファイルサーバ110は、オープンディレクトリを参照するチェンジ通知要求メッセージをCIFSクライアントデバイス130から受け取って、オープンディレクトリに関するファイルロックをチェンジモニタリングロックに変換する。
ステップ613において、ファイルサーバ110は、オープンディレクトリに関するファイルロックを、指定されたディレクトリに関するチェンジモニタリングロックに変換する。
フローポイント620において、「チェンジモニタリング」ロックは指定されたディレクトリと関連付けられており、第1CIFSクライアントデバイス130は、そのディレクトリに関する変化が通知される状態にある。
ステップ621において、ファイルサーバ110は、指定されたディレクトリに関する変更を要求しかつ第1クライアントデバイスへのチェンジ通知のきっかけとなるファイルサーバ要求メッセージ140を第2クライアントデバイス130から受け取る。(チェンジのタイプは、ファイル作成、ファイル削除、ファイル改名、ディレクトリ間のファイル移動、ファイル属性の変化、ファイル修正回数の変化を含む。)第2クライアントデバイス130からのファイルサーバ要求メッセージ140は、CIFSまたはNFSのいずれかである。第2クライアントデバイス130は、Unix NFSクライアントデバイス201、PC NFSクライアントデバイス202、CIFS Windowsクライアントデバイス203のいずれか1つである。
ステップ622において、ファイルサーバ110は、「チェンジモニタリング」ロックを保有する第1クライアントデバイス130に、ステップ621において示された変化を通知する。この変化は、複数のエントリーを含んでもよい。エントリーのそれぞれは、モニターされるディレクトリ内の変更されたファイル113またはサブディレクトリの名前と、変化のタイプの両方を特定する。対象とする第1クライアントデバイス130が1つ以上あるならば、ファイルサーバ110は、対象とする第1クライアントデバイスの全てに通知する。
チェンジ通知は、WindowsNTオペレーティングシステム環境におけるファイルロッキングの分野において知られている。チェンジ通知は、ワシントン州レドモンドにあるマイクロソフト社(Microsoft Corporation)で販売されている「WindowsNT4.0」オペレーティングシステムで利用できるマニュアルにさらに記載されている。このマニュアルは、例えばftp.microsoft.comのdirectory/developr/drg/CIFSのホストにある、FTPプロトコルによって入手可能なCIFS IETF仕様書を含む。この仕様書は、cifs6.docまたはcifs6.txtを含んでおり、本明細書において全部記載されているように参照によって本明細書に含まれる。
フローポイント630において、ファイルサーバ110は、指定されたディレクトリに関する変化を第1CIFSクライアントデバイス130に通知し、次のメッセージ140に対して準備する。
別の実施の形態
本明細書には好ましい実施の形態が開示されているが、多くの変形例が本発明の概念、範囲、精神内にある可能性があるものであり、これらの変形例は、本明細書を精読すれば当業者には明らかになるであろう。
技術的な付録
本発明に関するその他の情報、また更なる情報は、本明細書とともに記載された技術的な付録において含まれる。この技術的な付録は、30ページ(図面を含む)を含み、本明細書に全部記載されたように、参照によって含まれる。
マルチプロトコルファイルサーバを含むシステムの第1のブロック図を示す。 マルチプロトコルファイルサーバを含むシステムの第2のブロック図を示す。 マルチプロトコルファイルサーバを操作する方法のプロセスフローチャートを示す。 マルチプロトコルファイルサーバにおけるクロスプロトコルロックマネージャを操作する方法のプロセスフローチャートを示す。 マルチプロトコルファイルサーバにおけるアップロックマネージャを操作する方法のプロセスフローチャートを示す。 マルチプロトコルファイルサーバにおけるチェンジ通知マネージャを操作する方法のプロセスフローチャートを示す。
符号の説明
100 ファイルサーバ、 111 プロセッサ、 112 大容量記憶装置、 120 ネットワーク、 130 クライアントデバイス。

Claims (10)

  1. マルチプロトコルファイルサーバにより、前記マルチプロトコルファイルサーバにより具体化される複数のさまざまなファイルロッキングプロトコルを用いる1組のクライアントデバイスの間で同一のロッキングセマンティクスを実行する方法であって、
    第1ロッキングプロトコルを用いて、選択されたデータセットに関するオパチュニスティックロックを第1クライアントデバイスに与えるステップと、
    第2のクライアントデバイスが、前記第1ロッキングプロトコルと異なる第2プロトコルを用いて、選択された前記データセットへのアクセスを要求するとき、選択された前記データセットに関する前記オパチュニスティックロックをブレークするステップと、
    前記同一のロッキングセマンティクスを用いて、前記複数のさまざまなファイルロッキングプロトコルの中の異なる複数のファイルロッキングプロトコルにおいて、前記データセットについてすでに存在している複数のファイルロックを1つの同等のファイルロックに併合し、前記1つの同等のファイルロックを用いて、選択された前記データセットに関するロッキングステータスを生成するステップと、
    要求された前記アクセスを、生成された前記ロッキングステータスと比較するステップと、
    要求された前記アクセスと、生成された前記ロッキングステータスの間に矛盾がないならば、要求された前記アクセスを与えるステップと
    からなる方法。
  2. 前記生成ステップは、ロック互換性マトリックスを使用する請求項1に記載の方法。
  3. 前記比較ステップは、ロック変換マトリックスを使用する請求項1に記載の方法。
  4. 前記同一のロッキングセマンティクスは、アクセスタイプを特定するアクセスモードと、アクセスタイプをディナイするディナイモードとからなる請求項1に記載の方法。
  5. 前記ブレークするステップは、さらに、
    アップロックブレークメッセージを前記第1クライアントデバイスに送信するステップと、
    前記アップロックブレークメッセージへの応答が第1クライアントデバイスから受け取られるまで、要求されたオペレーションの実行を遅らせるステップと
    を含むことを特徴とする請求項1に記載の方法。
  6. 複数のさまざまなファイルロッキングプロトコルを具体化するマルチプロトコルファイルサーバであって、
    大容量記憶装置と、
    ネットワークへのインタフェースと、
    前記複数のさまざまなファイルロッキングプロトコルを用いる1組のクライアントデバイスにより前記インタフェースを介して前記大容量記憶装置にアクセスするための同一のロッキングセマンティクスを実行するプロセッサとからなり、
    前記プロセッサは、
    第1ロッキングプロトコルを用いて、選択されたデータセットに関するオパチュニスティックロックを第1クライアントデバイスに与える第1承諾手段と、
    第2のクライアントデバイスが、前記第1ロッキングプロトコルと異なる第2プロトコルを用いて、選択された前記データセットへのアクセスを要求するとき、選択された前記データセットに関する前記オパチュニスティックロックをブレークするブレーク手段と、
    前記同一のロッキングセマンティクスを用いて、前記複数のさまざまなファイルロッキングプロトコルの中の異なる複数のファイルロッキングプロトコルにおいて、前記データセットについてすでに存在している複数のファイルロックを1つの同等のファイルロックに併合し、前記1つの同等のファイルロックを用いて、選択された前記データセットに関するロッキングステータスを生成する生成手段と、
    要求された前記アクセスを、生成された前記ロッキングステータスと比較する比較手段と、
    要求された前記アクセスと、生成された前記ロッキングステータスの間に矛盾がないならば、要求された前記アクセスを与える第2承諾手段とを含む、
    マルチプロトコルファイルサーバ。
  7. 前記生成手段はロック互換性マトリックスを使用する請求項6に記載のマルチプロトコルファイルサーバ。
  8. 前記比較手段はロック変換マトリックスを使用する請求項6に記載のマルチプロトコルファイルサーバ。
  9. 前記同一のロッキングセマンティクスは、アクセスタイプを特定するアクセスモードと、アクセスタイプをディナイするディナイモードとからなる請求項6に記載のマルチプロトコルファイルサーバ。
  10. 前記ブレーク手段は、さらに、
    アップロックブレークメッセージを前記第1クライアントデバイスに送信する送信手段と、
    前記アップロックブレークメッセージへの応答が第1クライアントデバイスから受け取られるまで、要求されたオペレーションの実行を遅らせる遅延手段と
    を含むことを特徴とする請求項6に記載のマルチプロトコルファイルサーバ。
JP2008148947A 1997-12-05 2008-06-06 マルチプロトコルの統一ファイルロッキング Expired - Fee Related JP4430722B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US98539897A 1997-12-05 1997-12-05

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000524743A Division JP2001526426A (ja) 1997-12-05 1998-11-30 マルチプロトコルの統一ファイルロッキング

Publications (2)

Publication Number Publication Date
JP2008305405A JP2008305405A (ja) 2008-12-18
JP4430722B2 true JP4430722B2 (ja) 2010-03-10

Family

ID=25531449

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000524743A Pending JP2001526426A (ja) 1997-12-05 1998-11-30 マルチプロトコルの統一ファイルロッキング
JP2008148947A Expired - Fee Related JP4430722B2 (ja) 1997-12-05 2008-06-06 マルチプロトコルの統一ファイルロッキング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000524743A Pending JP2001526426A (ja) 1997-12-05 1998-11-30 マルチプロトコルの統一ファイルロッキング

Country Status (5)

Country Link
US (2) US6516351B2 (ja)
EP (1) EP1034493A1 (ja)
JP (2) JP2001526426A (ja)
CA (1) CA2312492C (ja)
WO (1) WO1999030254A1 (ja)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US6516351B2 (en) * 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6279011B1 (en) * 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
JP3786521B2 (ja) * 1998-07-01 2006-06-14 株式会社日立製作所 半導体集積回路及びデータ処理システム
JP4745478B2 (ja) * 1999-01-29 2011-08-10 キヤノン株式会社 ネットワークプリントシステム及び情報処理装置及びその制御方法
US6922729B1 (en) * 1999-07-30 2005-07-26 International Business Machines Corporation Multi-connection control system
US9092535B1 (en) 1999-09-21 2015-07-28 Google Inc. E-mail embedded textual hyperlink object
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US7840639B1 (en) * 1999-09-21 2010-11-23 G&H Nevada-Tek Method and article of manufacture for an automatically executed application program associated with an electronic message
US7043553B2 (en) * 1999-10-07 2006-05-09 Cisco Technology, Inc. Method and apparatus for securing information access
JP5220974B2 (ja) 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
GB2394816B (en) * 1999-10-18 2004-08-11 Fisher Rosemount Systems Inc Accessing and updating a configuration database from distributed physical locations within a process control system
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US7203735B1 (en) * 1999-10-21 2007-04-10 International Business Machines Corporation Files transfer between a remote home server and a local server
US20030140112A1 (en) * 1999-11-04 2003-07-24 Satish Ramachandran Electronic messaging system method and apparatus
US6651123B1 (en) * 2000-03-30 2003-11-18 International Business Machines Corporation File system locking
US6993131B1 (en) * 2000-09-12 2006-01-31 Nokia Corporation Method and system for managing rights in digital information over a network
US20020055923A1 (en) * 2000-11-01 2002-05-09 Sun Microsystems, Inc. Mandatory locking mechanisms for UNIX file systems
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7383288B2 (en) 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and switched file system
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US8239354B2 (en) 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
AU2002249939A1 (en) * 2001-01-11 2002-07-24 Z-Force Communications, Inc. File switch and switched file system
US7788335B2 (en) * 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US7509322B2 (en) * 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
US6959337B2 (en) * 2001-04-23 2005-10-25 Hewlett-Packard Development Company, L.P. Networked system for assuring synchronous access to critical facilities
US20020188697A1 (en) * 2001-06-08 2002-12-12 O'connor Michael A. A method of allocating storage in a storage area network
US7370217B2 (en) * 2001-11-16 2008-05-06 Intel Corporation Regulating file system device access
US7529778B1 (en) 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
JP2003233520A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
JP2003233519A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
US7313557B1 (en) * 2002-03-15 2007-12-25 Network Appliance, Inc. Multi-protocol lock manager
US7051050B2 (en) * 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
JP2003281140A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd コンテンツ配信方法および配信システム
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7797392B2 (en) * 2002-11-26 2010-09-14 International Business Machines Corporation System and method for efficiently supporting multiple native network protocol implementations in a single system
US7877511B1 (en) 2003-01-13 2011-01-25 F5 Networks, Inc. Method and apparatus for adaptive services networking
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
JP2004280283A (ja) 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
JP4320195B2 (ja) 2003-03-19 2009-08-26 株式会社日立製作所 ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法
US7233946B1 (en) * 2003-04-11 2007-06-19 Sun Microsystems, Inc. File interval lock generation interface system and method
US7409389B2 (en) * 2003-04-29 2008-08-05 International Business Machines Corporation Managing access to objects of a computing environment
WO2005043323A2 (en) * 2003-10-27 2005-05-12 Archivas, Inc. Policy-based management of a redundant array of independent nodes
US7380246B2 (en) * 2003-12-15 2008-05-27 Lenovo (Singapore) Pte. Ltd. Method and system of accessing at least one target file in a computer system with an operating system with file locking implemented with byte-range locking
US7660882B2 (en) * 2004-06-10 2010-02-09 Cisco Technology, Inc. Deploying network element management system provisioning services
US20060015493A1 (en) * 2004-07-15 2006-01-19 International Business Machines Corporation Enhanced records manager and related methods
US7617256B2 (en) * 2004-07-19 2009-11-10 Microsoft Corporation Remote file updates through remote protocol
US7784088B2 (en) * 2004-07-30 2010-08-24 Research In Motion Limited Method and system for managing delayed user authentication
US7996908B2 (en) * 2004-07-30 2011-08-09 Research In Motion Limited Method and system for coordinating client and host security modules
US7315926B2 (en) * 2004-09-21 2008-01-01 Emc Corporation Lock management for concurrent access to a single file from multiple data mover computers
US7885970B2 (en) * 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US20060167838A1 (en) * 2005-01-21 2006-07-27 Z-Force Communications, Inc. File-based hybrid file storage scheme supporting multiple file switches
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US8332485B1 (en) 2005-03-04 2012-12-11 Cisco Technology, Inc. Lock optimization and lock prediction approaches for reducing client-server messages
US8332526B2 (en) * 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US7853962B1 (en) 2005-05-31 2010-12-14 Cisco Technology, Inc. Method and apparatus for optimization of remote procedure call communications
US20060277221A1 (en) * 2005-06-01 2006-12-07 Green Hills Software, Inc. Transactional file system with client partitioning
US7716307B1 (en) * 2005-10-21 2010-05-11 Cisco Technology, Inc. Method and apparatus for reducing client-server messages associated with opening a file
US7636767B2 (en) * 2005-11-29 2009-12-22 Cisco Technology, Inc. Method and apparatus for reducing network traffic over low bandwidth links
US7644121B2 (en) * 2005-11-30 2010-01-05 Clickpath, Llc Method and system for online session tracking
US7581004B2 (en) * 2006-02-15 2009-08-25 Gabriel Jakobson System and method for alerting on open file-share sessions on a user's electronic device
US7904435B2 (en) 2006-03-10 2011-03-08 Yahoo! Inc. System and method for resource lock acquisition and reclamation in a network file system environment
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US8788685B1 (en) * 2006-04-27 2014-07-22 Netapp, Inc. System and method for testing multi-protocol storage systems
US8583596B2 (en) * 2006-11-29 2013-11-12 Red Hat, Inc. Multi-master referential integrity
US20080243847A1 (en) * 2007-04-02 2008-10-02 Microsoft Corporation Separating central locking services from distributed data fulfillment services in a storage system
US8433693B2 (en) * 2007-04-02 2013-04-30 Microsoft Corporation Locking semantics for a storage system based on file types
US20090077097A1 (en) * 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
US8682916B2 (en) * 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US20090204705A1 (en) * 2007-11-12 2009-08-13 Attune Systems, Inc. On Demand File Virtualization for Server Configuration Management with Limited Interruption
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US7809776B1 (en) * 2007-11-30 2010-10-05 Netapp, Inc. System and method for supporting change notify watches for virtualized storage systems
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8230439B2 (en) * 2008-08-22 2012-07-24 International Business Machines Corporation Green computing interchange switching function
WO2010041515A1 (ja) * 2008-10-06 2010-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のアプリケーションサーバにより共有データをアクセスするシステム
US9031990B2 (en) * 2009-08-11 2015-05-12 Q2 Management Inc. Data processing system for manufacturing quality inspection management system
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
JP5349269B2 (ja) * 2009-12-07 2013-11-20 ブリヂストンスポーツ株式会社 テニスボール用フェルトおよびテニスボール
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8965862B2 (en) 2010-09-17 2015-02-24 Microsoft Corporation Directory oplock
JP5539833B2 (ja) * 2010-09-29 2014-07-02 キヤノン電子株式会社 情報処理装置及びその制御方法、コンピュータプログラムならびにコンピュータ可読記憶媒体
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
JP5249368B2 (ja) * 2011-01-31 2013-07-31 株式会社バッファロー ネットワーク装置
US8849880B2 (en) 2011-05-18 2014-09-30 Hewlett-Packard Development Company, L.P. Providing a shadow directory and virtual files to store metadata
US9507797B2 (en) * 2011-06-06 2016-11-29 Hewlett Packard Enterprise Development Lp Cross-protocol locking with a file system
US8620865B2 (en) * 2011-06-24 2013-12-31 Netapp, Inc. System and method for providing a unified storage system that supports file/object duality
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
EP2853966A1 (de) * 2013-09-30 2015-04-01 Siemens Aktiengesellschaft Industrielles Automatisierungssystem mit wenigstens einer Steuerung und einem Speicher
US20150106298A1 (en) * 2013-10-11 2015-04-16 Prolifiq Sofware Inc. Selective sharing of electronic information
US9336406B2 (en) * 2013-11-14 2016-05-10 Futurewei Technologies, Inc. Multiprotocol access control list with guaranteed protocol compliance
US10536523B2 (en) * 2014-05-11 2020-01-14 Microsoft Technology Licensing, Llc File service using a shared file access-rest interface
US10169367B2 (en) * 2014-06-06 2019-01-01 Panzura, Inc. Managing opportunistic locks in a distributed file system
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US9917882B2 (en) * 2014-11-30 2018-03-13 Sonicwall Inc. Transparent deferred spooling store and forward based on standard network system and client interface
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10313486B2 (en) 2015-01-07 2019-06-04 Sonicwall Inc. Optimizing transfer of fragmented packetized data
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9813526B2 (en) 2015-05-26 2017-11-07 Sonicwall Inc. Reducing transmission pathway lengths within a distributed network
US10158735B2 (en) 2015-08-07 2018-12-18 Sonicwall Inc. Read-ahead on signed connections with unsigning, inline, transparent proxies
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
KR102107277B1 (ko) * 2016-08-08 2020-05-06 (주)나무소프트 피싱 또는 랜섬웨어 공격을 차단하는 방법 및 시스템
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US11082494B2 (en) 2019-12-05 2021-08-03 Western Digital Technologies, Inc. Cross storage protocol access response for object data stores
US11455213B2 (en) * 2020-02-05 2022-09-27 EMC IP Holding Company LLC Method and system for parallel data transmission and cooperating backups
CN115951844B (zh) * 2023-03-13 2023-06-06 浪潮电子信息产业股份有限公司 分布式文件系统的文件锁管理方法、设备及介质
CN115934743B (zh) * 2023-03-13 2023-06-02 浪潮电子信息产业股份有限公司 一种文件锁管理方法、系统、设备及计算机可读存储介质

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814971A (en) 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4719569A (en) 1985-10-11 1988-01-12 Sun Microsystems, Inc. Arbitrator for allocating access to data processing resources
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4742450A (en) 1986-01-16 1988-05-03 International Business Machines Corporation Method to share copy on write segment for mapped files
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
CA1299757C (en) 1987-08-28 1992-04-28 Brent Cameron Beardsley Device initiated partial system quiescing
EP0306244B1 (en) 1987-09-04 1995-06-21 Digital Equipment Corporation Fault tolerant computer system with fault isolation
US5109515A (en) 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
JP2625866B2 (ja) 1988-04-26 1997-07-02 日本電気株式会社 電子機器筐体の冷却構造
US5043876A (en) 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US4937763A (en) 1988-09-06 1990-06-26 E I International, Inc. Method of system state analysis
US5065354A (en) 1988-09-16 1991-11-12 Compaq Computer Corporation Queued posted-write disk write method with improved error handling
US5067099A (en) 1988-11-03 1991-11-19 Allied-Signal Inc. Methods and apparatus for monitoring system performance
US4984272A (en) 1988-11-30 1991-01-08 At&T Bell Laboratories Secure file handling in a computer operating system
JPH02165241A (ja) 1988-12-19 1990-06-26 Toshiba Corp ファイルアクセス方式
US5222217A (en) 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5113442A (en) 1989-03-06 1992-05-12 Lachman Associates, Inc. Method and apparatus for providing access control in a secure operating system
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5454099A (en) 1989-07-25 1995-09-26 International Business Machines Corporation CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5230047A (en) 1990-04-16 1993-07-20 International Business Machines Corporation Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure
JPH04130950A (ja) 1990-09-21 1992-05-01 Toshiba Corp ネットワークシステム
US5146588A (en) 1990-11-26 1992-09-08 Storage Technology Corporation Redundancy accumulator for disk drive array memory
US5321837A (en) 1991-10-11 1994-06-14 International Business Machines Corporation Event handling mechanism having a process and an action association process
GB9126779D0 (en) 1991-12-17 1992-02-12 Int Computers Ltd Security mechanism for a computer system
US5469566A (en) 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
JPH0619771A (ja) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5448718A (en) 1992-04-20 1995-09-05 International Business Machines Corporation Method and system for time zero backup session security
US5335235A (en) 1992-07-07 1994-08-02 Digital Equipment Corporation FIFO based parity generator
US5596754A (en) * 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management
US5504883A (en) 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
US5522050A (en) 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
EP1003103B1 (en) 1993-06-03 2008-10-01 Network Appliance, Inc. Write anywhere file-system layout method and apparatus
EP0701715A4 (en) 1993-06-04 1999-11-17 Network Appliance Corp METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY
CA2166420C (en) 1993-07-01 2006-03-28 James R. Woodhill System and method for distributed storage management on networked computer systems
US5572711A (en) 1993-09-28 1996-11-05 Bull Hn Information Systems Inc. Mechanism for linking together the files of emulated and host system for access by emulated system users
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
EP0713183A3 (en) 1994-11-18 1996-10-02 Microsoft Corp Network-independent shadow files
US6085234A (en) * 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5617568A (en) 1994-12-14 1997-04-01 International Business Machines Corporation System and method for supporting file attributes on a distributed file system without native support therefor
US5689701A (en) 1994-12-14 1997-11-18 International Business Machines Corporation System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax
US5604862A (en) 1995-03-14 1997-02-18 Network Integrity, Inc. Continuously-snapshotted protection of computer files
US5696895A (en) 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5603051A (en) 1995-06-06 1997-02-11 Hewlett-Packard Company Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus
US5675782A (en) 1995-06-06 1997-10-07 Microsoft Corporation Controlling access to objects on multiple operating systems
US5761669A (en) 1995-06-06 1998-06-02 Microsoft Corporation Controlling access to objects on multiple operating systems
US5628005A (en) * 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5729705A (en) 1995-07-24 1998-03-17 Symbios Logic Inc. Method and apparatus for enhancing throughput of disk array data transfers in a controller
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5668958A (en) 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5737744A (en) 1995-10-13 1998-04-07 Compaq Computer Corporation Disk array controller for performing exclusive or operations
US5740367A (en) * 1995-11-03 1998-04-14 Spilo; Michael L. Method and apparatus for improving the throughput of a local area network
US5742752A (en) 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5737523A (en) 1996-03-04 1998-04-07 Sun Microsystems, Inc. Methods and apparatus for providing dynamic network file system client authentication
US5819310A (en) 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US5825877A (en) 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US6161165A (en) 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US5915087A (en) 1996-12-12 1999-06-22 Secure Computing Corporation Transparent security proxy for unreliable message exchange protocols
US5931935A (en) 1997-04-15 1999-08-03 Microsoft Corporation File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system
US5876278A (en) 1997-05-29 1999-03-02 Cheng; Henry Cooling device
US6067541A (en) 1997-09-17 2000-05-23 Microsoft Corporation Monitoring document changes in a file system of documents with the document change information stored in a persistent log
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US5996086A (en) 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US5999943A (en) 1997-10-31 1999-12-07 Oracle Corporation Lob locators
US5940828A (en) * 1997-11-18 1999-08-17 International Business Machines Corporation Locking contention resolution for shared resources
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US5890959A (en) 1998-03-31 1999-04-06 Digital Equipment Corporation High efficiency blower system with integral backflow preventor
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6654912B1 (en) 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes

Also Published As

Publication number Publication date
US20030065796A1 (en) 2003-04-03
CA2312492C (en) 2006-02-07
JP2008305405A (ja) 2008-12-18
CA2312492A1 (en) 1999-06-17
EP1034493A1 (en) 2000-09-13
US6516351B2 (en) 2003-02-04
JP2001526426A (ja) 2001-12-18
WO1999030254A1 (en) 1999-06-17
US20020019874A1 (en) 2002-02-14
US7293097B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
JP4430722B2 (ja) マルチプロトコルの統一ファイルロッキング
US7434057B2 (en) System and method for watermarking in accessed data in a storage system
JP4613023B2 (ja) プロトコル独立型クライアント側キャッシュ(protocol−independentclient−sidecaching)システムおよび方法
US7613724B1 (en) Metadirectory namespace and method for use of the same
US6381602B1 (en) Enforcing access control on resources at a location other than the source location
US5689638A (en) Method for providing access to independent network resources by establishing connection using an application programming interface function call without prompting the user for authentication data
US8127222B2 (en) Latches-links as virtual attachments in documents
US7664785B2 (en) Method and apparatus of WAFS backup managed in centralized center
US20080244738A1 (en) Access control
US20080307138A1 (en) Method and system for locking resources in a distributed environment
EP1489510A2 (en) Mechanism for exposing shadow copies in a networked environment
US8762434B1 (en) Aliasing of exported paths in a storage system
US20040230795A1 (en) Policy engine to control the servicing of requests received by a storage server
US7512990B2 (en) Multiple simultaneous ACL formats on a filesystem
US7694095B2 (en) Managing snapshots using messages
US20080320590A1 (en) Method and apparatus for creating secured file views in a software partition
CN112765663A (zh) 文件访问控制方法、装置、设备、服务器及存储介质
US7016897B2 (en) Authentication referral search for LDAP
Borr Secureshare: Safe unix/windows file sharing through multiprotocol locking
KR100604239B1 (ko) 다양한 파일 록킹 프로토콜에 대한 단일 파일 록킹 의미론을 실시하여 파일 서버를 동작하는 방법 및 이 방법에 의해 동작되는 파일 서버
JP2004348324A (ja) ストレージ装置及びその制御方法
KR100539891B1 (ko) 동명파일 생성억제방법
Borr 2nd USENIX Windows NT Symposium [Technical Program]

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090306

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091217

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

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: 20121225

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees