JP4617297B2 - ファイル・システムのオブジェクトへのアクセスを管理する方法、システム及び記憶媒体 - Google Patents

ファイル・システムのオブジェクトへのアクセスを管理する方法、システム及び記憶媒体 Download PDF

Info

Publication number
JP4617297B2
JP4617297B2 JP2006506046A JP2006506046A JP4617297B2 JP 4617297 B2 JP4617297 B2 JP 4617297B2 JP 2006506046 A JP2006506046 A JP 2006506046A JP 2006506046 A JP2006506046 A JP 2006506046A JP 4617297 B2 JP4617297 B2 JP 4617297B2
Authority
JP
Japan
Prior art keywords
client
session lock
file system
lock
session
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
JP2006506046A
Other languages
English (en)
Other versions
JP2006525571A (ja
JP2006525571A5 (ja
Inventor
アナンサナラヤナン、ラジャゴパル
エバーハート、クレイグ
ジュジュリ、ベンカテスワララオ
リーズ、ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006525571A publication Critical patent/JP2006525571A/ja
Publication of JP2006525571A5 publication Critical patent/JP2006525571A5/ja
Application granted granted Critical
Publication of JP4617297B2 publication Critical patent/JP4617297B2/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Description

本発明は、一般には、コンピューティング環境内部での処理に関し、より詳細には、コンピューティング環境のオブジェクトへのアクセスを管理することに関する。
あるコンピューティング環境の、ファイル、ディレクトリなど、様々なオブジェクトへのアクセスは、セキュリティを提供し、データ完全性を保つために制御される。多くのコンピューティング環境では、この制御にロッキング・プロトコルを使用する。たとえば、分散ファイル・システムでは、ファイル・システム・オブジェクトへのアクセスの管理は、複数のロックによって行われる。例として、ロックには、ファイル・システムの内容のキャッシュの協調に使用されるものもあり、異なるクライアントによるファイル・システム・オブジェクトへのアクセスの協調に使用されるものもある。
システムのパフォーマンスを高めるために、1つ又は複数のロックのキャッシュが、1つ又は複数のクライアント・キャッシュ内で行われる。したがって、キャッシュされるロックが、使用の時点で有効であるようにすることが重要である。キャッシング・プロトコルが存在しているとはいえ、キャッシュされるロック、又は他のキャッシュされるエンティティをさらに管理する機能がやはり必要とされている。
従来技術の欠点に対する取り組み及び付加的な利点の提供が、コンピューティング環境のオブジェクトへのアクセスを管理する方法の提供によって行われる。
本発明の一態様では、たとえば、前記コンピューティング環境のオブジェクトへのアクセスの禁止を前記オブジェクトに対応するキャッシュ済みエンティティを介して行うこと、及び、前記オブジェクトへのアクセスの許可を前記オブジェクトに対応する別のキャッシュ済みエンティティを介して行うことを含み、前記キャッシュ済みエンティティ及び前記別のキャッシュ済みエンティティが、一定の時間、コンカレントに維持される方法が提供される。
本発明のさらなる一態様では、ファイル・システムのオブジェクトへのアクセスを管理する方法であって、たとえば、前記ファイル・システムのサーバが、前記ファイル・システムのオブジェクトに対応するエンティティの一貫性のない状態を提供することを容易にすること、前記ファイル・システムのクライアントが、前記オブジェクトの1つ又は複数の既存のオープンの無効化を、前記一貫性のない状態に応答して行うこと、及び、前記クライアントが、前記オブジェクトの1つ又は複数の他のオープンの許可を、前記サーバから提供中のオブジェクトに対応する別のエンティティに応答して行うことを含み、少なくとも1つの無効化された既存のオープン及び少なくとも1つの他のオープンが、一定の時間、コンカレントにオープンの状態にある方法が提供される。
本発明の別の一態様では、コンピューティング環境のオブジェクトへのアクセスを管理する方法であって、たとえば、前記コンピューティング環境のサーバが、前記コンピューティング環境のオブジェクトに関連付けられているエンティティの一貫性のない状態の提供を容易にすること、及び、前記サーバが、前記オブジェクトに関連づけられている別のエンティティを提供することを含み、前記一貫性のないエンティティ及び前記別のエンティティが、前記オブジェクトへのアクセスの管理のために、一定の時間、コンカレントにアクセス可能である方法が提供される。
上で要約した方法に対応するシステム及びコンピュータ・プログラム製品に対しても、本明細書では説明及び特許請求を行う。
さらなる機能及び利点が、本発明の技法を通して実現される。本発明の他の実施形態及び態様は、本明細書中で詳細に説明を行い、特許請求を行う発明の一部と見なす。
本発明と見なされる主題(subject matter)は、特に指摘を行い、本明細書に添付の特許請求の範囲で明確に特許請求を行う。本発明の以上及び他の目的、特徴、及び利点は、添付の図面と合わせて解釈する以下の詳細な説明から明らかである。
概要
本発明の一態様によれば、コンピューティング環境のオブジェクトへのアクセスを管理するための機能が提供される。オブジェクトへのアクセスの禁止は、そのオブジェクトに対応するあるキャッシュ済みエンティティを介して行うが、そのオブジェクトへのアクセスの許可は、別のキャッシュ済みエンティティを介して行う。このあるキャッシュ済みエンティティ及びこの別のキャッシュ済みエンティティは、少なくともある時間の間、コンカレントに維持される。ある例では、キャッシュ済みエンティティは、オブジェクトへのアクセスを制御するロックに相当する。たとえば、ファイル・システムでは、ファイル・システム・オブジェクトの1つ又は複数の既存のオープンの無効化を、一貫性のなくなるファイル・システム・オブジェクトに関連付けられているキャッシュ済みエンティティ(たとえば、ロック)に応答して行う。しかし、少なくとも1つの無効化された既存のオープンを、無効であるがオープンの状態で維持する一方で、ファイル・システム・オブジェクトの1つ又は複数の新しいオープンを、そのオブジェクトを代表する別のキャッシュ済みエンティティを使用することによって進めることを許可している。
詳細な説明
本発明の1つ又は複数の態様を組み込み使用するためのコンピューティング環境のある実施形態を、図1を参照して説明する。コンピューティング環境100は、たとえば、接続106を介して別のコンピューティング・ユニット104へと結合されるコンピューティング・ユニット102を含む。コンピューティング・ユニットは、たとえば、パーソナル・コンピュータ、ラップトップ、ワークステーション、メインフレーム、ミニ・コンピュータ、又は他のどのようなタイプのコンピューティング・ユニットも含む。コンピューティング・ユニット102は、コンピューティング・ユニット104と同じタイプのユニットであってもなくてもよい。ユニットを結合する接続は、有線接続、又は、LAN(local area network、構内通信網)、WAN(wide area network、広域通信網)、トークン・リング、イーサネット(R)接続、インターネット接続などの任意のタイプのネットワーク接続である。
ある例では、コンピューティング・ユニットが、それぞれ、オペレーティング・システム108を実行しており、これは、たとえば、ニューヨーク州アーモンク(Armonk, New York)にあるインターナショナル・ビジネス・マシーンズ・コーポレーション(InternationalBusiness Machines Corporation、IBMはIBM Corporationの商標)の提供するz/OSオペレーティング・システム、UNIX(R:OpenGroupの米国およびその他の国における商標)オペレーティング・システム、Linux、Windows(R:Microsoft Corporationの米国およびその他の国における商標)、又は他のオペレーティング・システムなどである。あるコンピューティング・ユニットのオペレーティング・システムは、別のコンピューティング・ユニットと同じでも異なっていてもよい。さらに、他の例では、コンピューティング・ユニットのうちの1つ又は複数はオペレーティング・システムを含んでいなくてもよい。
ある実施形態では、コンピューティング・ユニット102は、コンピューティング・ユニット104上の(サーバとしても知られる)サーバ・アプリケーション112に結合される(クライアントとしても知られる)クライアント・アプリケーション110を含む。クライアント110のサーバ112との通信は、たとえば、アプリケーションを結合するTCP/IPリンク上のNFS(Network File System)プロトコルを介して行われる。さらに、少なくとも1つのコンピューティング・ユニット上で、1つ又は複数のユーザ・アプリケーション114が実行中である。
ある特定の実施形態では、環境は、分散ファイル・システムなどのファイル・システム(図2)を含み、そこでは、SAN(storage area network、ストレージ・エリア・ネットワーク)116が、1つ又は複数のクライアント110及び1つ又は複数のサーバ112が1つ又は複数のストレージ装置118への高速リンクを介したアクセスを容易にするために使用されている。SANの使用により、高性能分散ファイル・システムの提供が可能になり、これにより、クライアントは、データのアクセスを、読み書きをそれ自体のために行うサーバを通して行うのではなく、データをストレージ装置から直接に得ることが可能になる。しかし、クライアント・アクセスの協調が、1つ又は複数のサーバを介して行われる。
分散ファイル・システムでは、たとえば、ユーザ・アプリケーション、クライアント・アプリケーションなどを含むクライアント・コンピューティング・ユニット上で動作するアプリケーションで、たとえば、1つ又は複数のコンピューティング・ユニットにわたって分散するファイル・システム名前空間へのアクセスが行われる。名前空間は、アプリケーションによってアクセス可能な1つ又は複数のファイル・システム・オブジェクトを含む。ある例では、名前空間はツリー構造として整理され、たとえば、クライアントにアクセス可能なデータを含むファイル、他のオブジェクトの整理に使用するディレクトリ、オブジェクトの名前ルックアップのリダイレクトが行われるツリー内の点であるシンボリック・リンクなど、様々なタイプのオブジェクトを含む。
ファイル・システム・オブジェクトには、たとえば、ファイル・システム・オブジェクトへのアクセスを容易にするのに使用するエンティティが関連付けられている。こうしたエンティティは、クライアント常駐キャッシュ120内で、より高速なアクセスのためにキャッシュされる。ある実施形態では、1つ又は複数のアプリケーション(たとえば、ユーザ・アプリケーション、クライアント・アプリケーション)が、キャッシュ済みエンティティへのアクセス権をもつ。
キャッシュ済みエンティティには、これに関連付けられている複数の属性があるが、それには、たとえば、何個のアプリケーションがそのエンティティに対するハンドルを有するかを示す参照カウント、そのキャッシュ済みエンティティが有効であるかどうかを指定する有効性インジケータがある。キャッシュ済みエンティティは、一例としてはリンク・リスト(linked list)200(図3)などのデータ構造の形で互いに結合されている。
ファイル・システム・オブジェクトへのアクセスは、セキュリティ及びデータ完全性を維持するために制御される。ファイル・システム・オブジェクトへのアクセスを管理することに関連付けられている論理のある実施形態を下で説明する。
まず図5を参照すると、アプリケーションが、(ファイルなど)ファイル・システム・オブジェクトのオープンを要求する(ステップ300)。ある例では、このアプリケーションは、クライアント・コンピューティング・ユニット上で実行中であり、このオープンは、そのクライアントのキャッシュ内で要求されたファイル・システム・オブジェクトに関連付けられているエンティティに対する検索を実行することを含む(ステップ302)。このエンティティは、そのファイル・システム・オブジェクトへのアクセスを容易にする際に使用され、例示の目的で、本明細書ではエンティティXと呼ぶ。関連付けられているエンティティがキャッシュ内にない場合(問い合わせ304)、そのエンティティのインスタンスを作成し、キャッシュに追加する(ステップ306)。これは、たとえば、202で示すように(図4)、エンティティXをキャッシュ済みエンティティのリンク・リストの最後に追加する(appending)ことを含む。図5に戻って、この後、このキャッシュ済みエンティティの参照カウントをインクリメントし(ステップ308)、このエンティティに対するハンドルを計算する(ステップ310)。ある例では、このことは、ハンドル(たとえば、ハンドルHx)として返されるキャッシュ済みエンティティのアドレスを決定することを含む(ステップ312)。
戻って問い合わせ304を参照すると、キャッシュ検索が万一成功した場合は、キャッシュ済みエンティティの参照カウントをインクリメントし(ステップ308)、処理では続いてエンティティのハンドルの計算を行う(ステップ310)。これでオープンの処理が終わる。
クライアント・コンピューティング・ユニット上で実行中の1つ又は複数のアプリケーションは、同一のファイル・システム・オブジェクトのオープンを要求することができる。そのような場合、アプリケーションのそれぞれが、図6に示すように、クライアントから同じハンドルを得ることができる。ここに示すように、アプリケーション1〜4は、それぞれ、処理のため、ハンドルHxを受け取り使用している。
アプリケーションの処理の間、読み取り又は書き込みの操作などの操作の要求が、このオープンされたファイル・システム・オブジェクトに対して行われる。この処理の一部として、ファイル・システム・オブジェクトへのアクセスを容易にする際に使用する、キャッシュ済みエンティティの有効性に関する検査を行う。この検査に関連付けられている論理のある実施形態を、図7を参照して説明する。有効性に関して検査すべきキャッシュ済みエンティティは、オープンで返されたオブジェクト・ハンドルに対応するエンティティである(ステップ500)。ある例では、この検査は、キャッシュ済みエンティティの有効性インジケータを検査することを含む。エンティティが無効状態にある場合(問い合わせ502)、エラーが返される(ステップ504)。そうでない場合、成功の標示が返される(ステップ506)。
ある時点で、キャッシュ済みエンティティの一貫性がなくなることがあるかもしれない。キャッシュ済みエンティティに一貫性が万一なくなった場合には、図8を参照して説明するように、これをシャドウ・エンティティへと変換する。キャッシュ済みエンティティに一貫性がなくなるのに応答して(ステップ600)、キャッシュ内でキャッシュ済みエンティティ、たとえばエンティティXに関する検索を行う(ステップ602)。そのキャッシュ済みエンティティを、エンティティのリンク・リストから削除する(ステップ604)。しかし、そのエンティティはキャッシュ内にシャドウ・エンティティ(すなわち、スタンド・アロンのエンティティ)として残る(ステップ606)。たとえば、そのエンティティはキャッシュの別の部分へと移動され、シャドウ・エンティティとマークされる。このことの一例を図9に示してあり、そこではキャッシュ700にはシャドウ・エンティティ702がある。この後、キャッシュの統計量を更新する(ステップ608)(図8)。たとえば、このキャッシュに対するエンティティ・カウントをデクリメントする。
本発明の一態様によれば、古いオープンはどれも、オープンの際に受け取ったハンドルを使用しているエンティティを依然として参照するが、新しいオープンはどれも、そのエンティティがもはやメインのエンティティ・ハッシュ・テーブル・リスト(たとえば、リンク・リスト)内にないため、キャッシュ・ミスを引き起こすことになる。このため、そのエンティティがキャッシュへと持ち込まれ、新しいハンドルを持つことになる。したがって、図9の例に示すように、アプリケーション1〜4ではまだハンドルHxを使用しており、このためエラーが返されることになるが(704)、アプリケーション5は、新しいハンドルNHxを受け取り、このためアクセスの成功が可能になる(706)。したがって、アプリケーション1〜4に関連付けられているオープンは無効化されるが、アプリケーション5に関連付けられているオープンは許可される。無効化されたオープン及び許可されたオープンは、一定の時間(たとえば、一貫性のないキャッシュ・エンティティがクローズされるまで)、コンカレントにオープンの状態のまま残る。アプリケーション1〜4がこのエンティティをクローズした後、このエンティティはなくなり、これらのアプリケーションではもはやこのエンティティに関してオープンの状態ではなくなる。
キャッシュ済みエンティティをクローズすることに関連付けられている論理のある実施形態を、図10を参照して説明する。オープンで返されたハンドルをもつエンティティ上のクローズが行われる(ステップ800)。キャッシュ済みエンティティの参照カウントをデクリメントする(ステップ802)。参照カウントが0でない場合(問い合わせ804)、クローズの処理は完了する。しかし、参照カウントが0の場合、それがシャドウ・エンティティであるかどうかに関して判断を行う(問い合わせ806)。そうである場合、そのエンティティの割り当てを解除する(deallocated)(ステップ808)。そうでない場合、そのエンティティをキャッシュから削除する(ステップ810)。これでクローズの処理が終わる。
上で説明したのは、オブジェクトの新しいオープンが許可されるが、古いオープンに対する動作が禁止される機能である。この機能を使用するある特定の例が、分散ファイル・システム用のロッキング機構の場合にある。たとえば、ファイル・システムでは、本明細書中ではセッション・ロックと呼ぶ、分散ロックを使用して、ファイル・システムの異なるクライアントの間でのファイル・システム・オブジェクトへのアクセスを制御している。ある例では、クライアントにはそれぞれ、ファイル・システム・オブジェクトごとにセッション・ロックが1つあるが、このロックは、そのクライアントに関連付けられている2つ以上のアプリケーションのために働いている可能性がある。たとえば、クライアント1が、ファイル「Foo」というファイル・システム・オブジェクト用の、エンティティXというセッション・ロックを得る。このクライアントの1つ又は複数のアプリケーションでは、このロックを、ファイルにアクセスする(たとえば、読み取り、書き込み、作成、検索(find))際に使用する(通常、暗黙にであるが、他の実施形態では明示的にも可能である)。このことは、さらに下で図11〜12を参照して説明する。
アプリケーションがファイル・システム・オブジェクトのオープンを要求すると(ステップ900)、オープン要求がそのアプリケーションからクライアントへと(たとえば、プラットフォーム独立であるCSM(Client State Manager)へ、プラットフォーム依存であるIFS(Installable File System)を介して)送られる(ステップ902)。クライアントでは、ファイル・システム・オブジェクトに対するセッション・ロックがあるかどうか、そのキャッシュの検査を行う(ステップ904)。キャッシュ・ヒットのある場合(問い合わせ906)、成功がクライアントへと返される(ステップ908)。そうでない場合、クライアントは要求をサーバに送り、サーバがその要求を処理する(ステップ910)。許可が成功しない場合(問い合わせ912)、エラーが返される(ステップ914)。そうでない場合、サーバからの成功の応答により、ファイル・システム・オブジェクトに対するセッション・ロックが要求されたクライアントに対して許可される(ステップ916)。クライアントはセッション・ロックをキャッシュし(ステップ917)、したがって、後続のオープンでは、クライアントは成功をローカルに返す。同一のファイル・システム・オブジェクトに対して動作しているあるクライアントに関連付けられている異なるアプリケーションには、異なるファイル記述子があっても、セッション・ロックが1つしかない可能性がある。
クライアントは、キャッシュしたセッション・ロックのハンドル(たとえば、アドレス)を、オープンを要求しているアプリケーションに提供する(ステップ918)。このハンドルは、この後、さらなる処理で使用される。
たとえば、成功したオープンに応答して、オープンされたファイル・システム・オブジェクトに対する1つ又は複数の操作(たとえば、読み取り、書き込み、検索(find)、又は他の操作)が開始される(ステップ920)(図12)。操作ごとに、セッション・ロックの有効性に関して検査を行う(問い合わせ922)。ある例では、セッション・ロックが、そのロックに関連付けられているリースが期限切れとなるときに無効となる可能性がある。たとえば、リースは、クライアントとサーバの間の契約であり、その中で、サーバは、クライアントのキャッシュ内のデータの正確さを、そのリースに指定された特定の期間保証する。リースは、期限切れになる前に更新することができる。しかし、リースが(たとえば、接続切断(disconnect)、サーバのクラッシュ、又は他の何らかの理由で)更新されない場合、リース期間の終わりに、リースの間に得たロックは無効化される。したがって、クライアントは、有効なロックがないときには、キャッシュされたデータに対して操作を行うことができない。このため、操作を続けるためには、クライアントはサーバに対して認証をやり直して、新しいリースを開始し、無効なロックの再アサートを試みる(ステップ924)。成功した場合、ロックの無効状態はクライアントによって有効に変わり、操作が続く(ステップ928)。同様に、セッション・ロックが有効である場合(問い合わせ922)、処理は続行される。
しかし、再アサートが成功しなかった場合(問い合わせ926)、セッション・ロックは一貫性のない状態にある(ステップ930)。このため、様々な動作を行う(ステップ932)。たとえば、ファイル・システム・オブジェクトのオープンのインスタンスはどれも無効化される。オープンのインスタンスを無効化するには、キャッシュされているセッション・ロックをシャドウ・エンティティにするために、クライアントは、それをシャドウ・エンティティとマークし、キャッシュ・リストから取り除き、スタンド・アロンのエンティティとしてキャッシュに残す。ロックはキャッシュ・リストから取り除かれているため、セッション・ロックへの既存の参照は(たとえば、そのシャドウの状態が理由で)エラーを受け取り、これにより、それらの参照に関連付けられているオープンが無効化されることになる。ロックがスタンド・アロンのエンティティとしてキャッシュ内で維持されるのは、そのオブジェクトへの既存の参照が途絶える(dropped)までである。この後、このエンティティはクローズされる。しかし、そのシャドウ・エンティティに対応するファイルへの新しいアクセス(たとえば、オープン)により、新しいキャッシュ済みエンティティ(たとえば、新しいセッション・ロック)が作成され、新しいアクセスは正常に続けられることが可能になる。つまり、クライアントから見ると、これはそのロックに初めてアクセスするようなものである。したがって、クライアントは、セッション・ロック要求をサーバへと送り、新しいセッション・ロックを返してもらう。このセッション・ロックへの新しい参照は正しく働くが、古いロックへの参照はエラーを受け取る。
利点
ファイル・システム・オブジェクトへのアクセスを管理するための機能を、上で詳細に説明した。ファイル・システム・オブジェクトの1つ又は複数の既存のオープンが無効化される可能性がある一方で、1つ又は複数の新しいオープンが許可される。ある例では、これは、キャッシュ済みエンティティ、特にシャドウ・エンティティを介して達成される。シャドウ・エンティティの使用により、所望の管理の利益が既存の設計又はコードあるいはその両方における最小限の変更で、有利に提供される。さらに、これにより、システムのパフォーマンスの改善が、1つ又は複数の古いオープンがまだクローズされていなくても、ファイル・システム・オブジェクトにアクセスできるようにすることによって行われる。またさらに、キャッシュ済みエンティティをこのように維持することによって、クライアント・キャッシュを不必要に大きくし維持を困難にするはずの、オープンごとにセッション・ロックのインスタンスを1つ有する必要がない。
代替実施形態
本明細書では好ましい実施形態を詳細に示し説明してきたが、様々な修正、追加、代用などを本発明の趣旨から逸脱することなく行え、したがってこれらは、以下の特許請求の範囲の定める、本発明の範囲内にあると見なされることが当業者には明らかであろう。
たとえば、上で説明したある実施形態では、1つのクライアントが1つのサーバに結合されているが、他の実施形態では、1つ又は複数のクライアントが1つ又は複数のサーバに結合され、あるいは、その任意の組み合わせの可能性がある。この1つ又は複数のクライアントは、1つ又は複数のコンピューティング・ユニット上にある可能性がある。同様に、この1つ又は複数のサーバは、1つ又は複数のコンピューティング・ユニット上にある可能性がある。さらに、この1つ又は複数のクライアント及び1つ又は複数のサーバは、1つのコンピューティング・ユニット上にある可能性がある。
さらに、コンピューティング環境の例を与えているが、これらは例に過ぎない。他の環境を使用してもよい。たとえば、本明細書ではファイル・システムに関して一例を説明したが、これは1つの例に過ぎない。本発明の1つ又は複数の態様は、他の環境に適用可能である。またさらに、本明細書では、セッション・ロックに関して一例を説明したが、他のタイプのロック又は他のタイプの資源を説明することもできる。キャッシュ済みエンティティは、ロッキング以外のためでもよく、他の理由で使用することが可能である。一例としては、キャッシュ済みエンティティは、あるオブジェクトのインスタンス自体であってもよい。
しかも、上で説明した諸実施形態では、キャッシュ・エンティティに一貫性がなくなるのは、期限切れのリースに応答してであるが、キャッシュ済みエンティティに一貫性がなくなる他の様々な理由があってもよい。これらはすべて、特許請求を行う発明の一部と見なされる。さらに、エンティティのキャッシュしたリストは、リンク・リスト以外のデータ構造内にあるとすることができる。
またさらに、ファイル・システム・オブジェクトへのアクセスを要求するアプリケーションは、ユーザ・アプリケーション、クライアント・アプリケーション、又は他などのようなタイプのアプリケーションも含むがこれに限定されない様々なアプリケーションとすることができる。
本明細書で示した流れ図は、単なる例である。これらの図及び又はそこに説明したステップ(又は操作)には、本発明の趣旨を逸脱することなく、多くの変種があってよい。たとえば、ステップは異なる順序で行ってもよく、又はステップを追加、削除、又は変更してもよい。こうした変種のすべては、特許請求を行う発明の一部と見なされる。
本発明は、たとえば、コンピュータ可用媒体を有する製造物(たとえば、1つ又は複数のコンピュータ・プログラム製品)に含めることが可能である。この媒体には、その中に、たとえば、本発明の諸機能を提供し容易にするコンピュータ可読プログラム・コード手段又は論理(たとえば、命令、コード、コマンドなど)がある。製造物は、コンピュータ・システムの一部として含めることも、別々に販売することも可能である。
さらに、機械で読み取り可能であり、本発明の諸機能を行うためにその機械で実行可能な命令からなる少なくなくとも1つのプログラムを実施する少なくとも1つのプログラム・ストレージ装置を提供することが可能である。
本開示の範囲は、本明細書に開示するどのような新規な特徴又は諸特徴の組み合わせも含む。出願者は、ここに、新しい特許請求の範囲をそのような特徴又は諸特徴の組み合わせに対して述べることを、この出願又はこれから派生するさらなるどのような出願に対する審査手続(prosecution)中に行えることを告知する。特に、後続の特許請求の範囲に関しては、従属請求項からの特徴は、独立請求項の特徴と組み合わせることができ、それぞれの独立請求項からの特徴は、どのような適切なやり方でも、単に特許請求の範囲に列挙した特定の組み合わせでなく組み合わせることができる。
疑念を避けるために、本明細書で説明及び特許請求の範囲を通して使用する「含む」(comprising)という用語は、「だけからなる」(consistingonly of)を意味するものと解釈すべきではない。
本発明の1つ又は複数の態様を組み込み使用するためのコンピューティング環境のある実施形態を示す図である。 本発明の1つ又は複数の態様を組み込み使用するためのファイル・システムを示す図である。 本発明の一態様による、図2のクライアント・キャッシュの例を示す図である。 本発明の一態様による、図2のクライアント・キャッシュの例を示す図である。 本発明の一態様による、ファイル・システム・オブジェクトをオープンすることに関連付けられている論理のある実施形態を示す図である。 本発明の一態様による、そのハンドルに対応するファイル・システム・オブジェクトへのアクセスに使用される同一のハンドルを有する複数のアプリケーションを示す図である。 本発明の一態様による、キャッシュ済みエンティティの有効性を検査することに関連付けられている論理のある実施形態を示す図である。 本発明の一態様による、キャッシュ済みエンティティをシャドウ・エンティティへと変換することに関連付けられている論理のある実施形態を示す図である。 本発明の一態様による、古いエンティティ・ハンドルを使用しエラーを受け取るアプリケーションの一例を、新しいエンティティ・ハンドルを使用する別のアプリケーションの処理が成功する一方で示す図である。 本発明の一態様による、キャッシュ済みエンティティをクローズすることに関連付けられている論理のある実施形態を示す図である。 本発明の一態様を使用する特定の例に関連付けられている論理のある実施形態を示す図である。 本発明の一態様を使用する特定の例に関連付けられている論理のある実施形態を示す図である。

Claims (16)

  1. クライアント及びサーバーを含むファイル・システムのオブジェクトへのアクセスを管理する方法であって、
    前記クライアント内のキャッシュのリンク・リスト内にあり且つ前記ファイル・システムのオブジェクトに対応する第1セッション・ロックがリースが期限切れになり新しいリースの開始が成功しなかった場合に応答して生じる状態である一貫性がない状態にあることを前記クライアントが見出すステップと、
    前記ファイル・システムのクライアントが、前記第1セッション・ロックが前記一貫性がない状態にあることに応答して、前記第1セッション・ロックを前記リンク・リストからはずして前記キャッシュ内に残すことによりシャドウの状態にするステップと、
    前記第1セッション・ロックを前記シャドウの状態にした後に、前記クライアントのアプリケーションが前記ファイル・システムの同じオブジェクトをオープンしたことに応答して、前記クライアントが、前記ファイル・システムの前記同じオブジェクトに対応する新たな第2セッション・ロックを前記キャッシュのリンク・リストに追加するステップとを含み、
    前記シャドウの状態にされた前記第1セッション・ロックがクローズされるまでの時間、前記シャドウの状態にされた前記第1セッション・ロック及び前記第2セッション・ロックが、前記キャッシュ内にコンカレントに維持される、方法。
  2. 前記シャドウ状態にされた前記第1セッション・ロックを介する前記オブジェクトへのアクセスが前記クライアントにより禁止され、前記第2セッション・ロックを介する前記同じオブジェクトへのアクセスが前記クライアントにより許可される、請求項1に記載の方法。
  3. 前記一貫性がない状態にあることを前記ファイル・システムが見出すステップの前に、
    前記クライアントの第1アプリケーションが前記ファイル・システムのオブジェクトをオープンしたことに応答して、前記クライアントが、前記ファイル・システムの前記オブジェクトに対応する前記第1セッション・ロックを前記キャッシュのリンク・リストに追加するステップを行い、
    前記ファイル・システムの同じオブジェクトをオープンした前記クライアントのアプリケーションが第2アプリケーションである、請求項1に記載の方法。
  4. 前記第1セッション・ロックを前記キャッシュのリンク・リストに追加するステップの後に、
    前記クライアントが前記第1セッション・ロックのハンドルを前記第1アプリケーションに与えるステップが行われる、請求項3に記載の方法。
  5. 前記第2セッション・ロックを前記キャッシュのリンク・リストに追加するステップの後に、前記クライアントにより前記第2セッション・ロックのハンドルが前記第2アプリケーションに与えられる、請求項3又請求項4に記載の方法。
  6. 前記第1セッション・ロックを前記リンク・リストからはずして前記キャッシュ内に維持することによりシャドウの状態にした後に行われる、前記第1セッション・ロックのハンドルを使用する前記第1アプリケーションの前記オブジェクトへのアクセスが前記クライアントにより禁止され、
    前記第2セッション・ロックのハンドルを使用する前記第2アプリケーションの前記オブジェクトへのアクセスが前記クライアントにより許可される、請求項4又は請求項5に記載の方法。
  7. 前記シャドウの状態にされた前記第1セッション・ロックがクローズされた後に、前記クライアントが前記シャドウ状態にある前記第1セッション・ロックを前記キャッシュから削除する、請求項1に記載の方法。
  8. 前記第1セッション・ロックは、何個のアプリケーションが前記第1セッション・ロックに対するハンドルを有するかを示す参照カウントを有し、前記シャドウの状態にされた前記第1セッション・ロックがクローズされるまでの時間は、前記シャドウの状態にある前記第1セッション・ロックの参照カウントがゼロになるまでの時間である、請求項1に記載の方法。
  9. クライアント及びサーバーを含むファイル・システムのオブジェクトへのアクセスを管理するシステムであって、
    前記クライアント内のキャッシュのリンク・リスト内にあり且つ前記ファイル・システムのオブジェクトに対応する第1セッション・ロックがリースが期限切れになり新しいリースの開始が成功しなかった場合に応答して生じる状態である一貫性がない状態にあることを前記クライアントが見出し、
    前記ファイル・システムのクライアントが、前記第1セッション・ロックが前記一貫性がない状態にあることに応答して、前記第1セッション・ロックを前記リンク・リストからはずして前記キャッシュ内に残すことによりシャドウの状態にし、
    前記第1セッション・ロックを前記シャドウの状態にした後に、前記クライアントのアプリケーションが前記ファイル・システムの同じオブジェクトをオープンしたことに応答して、前記クライアントが、前記ファイル・システムの前記同じオブジェクトに対応する新たな第2セッション・ロックを前記キャッシュのリンク・リストに追加し、
    前記シャドウの状態にされた前記第1セッション・ロックがクローズされるまでの時間、前記シャドウの状態にされた前記第1セッション・ロック及び前記第2セッション・ロックが、前記キャッシュ内にコンカレントに維持される、システム。
  10. 前記シャドウ状態にされた前記第1セッション・ロックを介する前記オブジェクトへのアクセスが前記クライアントにより禁止され、前記第2セッション・ロックを介する前記同じオブジェクトへのアクセスが前記クライアントにより許可される、請求項9に記載のシステム。
  11. 前記一貫性がない状態にあることを前記ファイル・システムが見出す前に、
    前記クライアントの第1アプリケーションが前記ファイル・システムのオブジェクトをオープンしたことに応答して、前記クライアントが、前記ファイル・システムの前記オブジェクトに対応する前記第1セッション・ロックを前記キャッシュのリンク・リストに追加し
    前記ファイル・システムの同じオブジェクトをオープンした前記クライアントのアプリケーションが第2アプリケーションである、請求項9に記載のシステム。
  12. 前記第1セッション・ロックを前記キャッシュのリンク・リストに追加した後に、前記クライアントが前記第1セッション・ロックのハンドルを前記第1アプリケーションに与える、請求項11に記載のシステム。
  13. 前記第2セッション・ロックを前記キャッシュのリンク・リストに追加した後に、前記クライアントにより前記第2セッション・ロックのハンドルが前記第2アプリケーションに与えられる、請求項11又請求項12に記載のシステム。
  14. 前記第1セッション・ロックを前記リンク・リストからはずして前記キャッシュ内に維持することによりシャドウの状態にした後に行われる、前記第1セッション・ロックのハンドルを使用する前記第1アプリケーションの前記オブジェクトへのアクセスが前記クライアントにより禁止され、
    前記第2セッション・ロックのハンドルを使用する前記第2アプリケーションの前記オブジェクトへのアクセスが前記クライアントにより許可される、請求項12又は請求項13に記載のシステム。
  15. 前記シャドウの状態にされた前記第1セッション・ロックがクローズされた後に、前記クライアントが前記シャドウ状態にある前記第1セッション・ロックを前記キャッシュから削除する、請求項9に記載のシステム。
  16. 前記第1セッション・ロックは、何個のアプリケーションが前記第1セッション・ロックに対するハンドルを有するかを示す参照カウントを有し、前記シャドウの状態にされた前記第1セッション・ロックがクローズされるまでの時間は、前記シャドウの状態にある前記第1セッション・ロックの参照カウントがゼロになるまでの時間である、請求項9に記載のシステム。
JP2006506046A 2003-04-29 2004-03-31 ファイル・システムのオブジェクトへのアクセスを管理する方法、システム及び記憶媒体 Expired - Fee Related JP4617297B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/427,081 US7409389B2 (en) 2003-04-29 2003-04-29 Managing access to objects of a computing environment
PCT/GB2004/001358 WO2004097630A2 (en) 2003-04-29 2004-03-31 Managing access to objects of a computing environment

Publications (3)

Publication Number Publication Date
JP2006525571A JP2006525571A (ja) 2006-11-09
JP2006525571A5 JP2006525571A5 (ja) 2007-05-10
JP4617297B2 true JP4617297B2 (ja) 2011-01-19

Family

ID=33310037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006506046A Expired - Fee Related JP4617297B2 (ja) 2003-04-29 2004-03-31 ファイル・システムのオブジェクトへのアクセスを管理する方法、システム及び記憶媒体

Country Status (7)

Country Link
US (2) US7409389B2 (ja)
EP (1) EP1618472B1 (ja)
JP (1) JP4617297B2 (ja)
CN (1) CN100397343C (ja)
AT (1) ATE496332T1 (ja)
DE (1) DE602004031101D1 (ja)
WO (1) WO2004097630A2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409389B2 (en) * 2003-04-29 2008-08-05 International Business Machines Corporation Managing access to objects of a computing environment
US20050091658A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US7574439B2 (en) * 2004-05-20 2009-08-11 International Business Machines Corporation Managing a nested request
US7587594B1 (en) 2004-08-30 2009-09-08 Microsoft Corporation Dynamic out-of-process software components isolation for trustworthiness execution
US9124653B2 (en) * 2004-09-03 2015-09-01 Symantec Corporation Method and apparatus for allowing sharing of streamable applications
US7665098B2 (en) * 2005-04-29 2010-02-16 Microsoft Corporation System and method for monitoring interactions between application programs and data stores
US7660797B2 (en) * 2005-05-27 2010-02-09 Microsoft Corporation Scanning data in an access restricted file for malware
US8990954B2 (en) * 2007-06-20 2015-03-24 International Business Machines Corporation Distributed lock manager for file system objects in a shared file system
US8862590B2 (en) * 2007-06-29 2014-10-14 Microsoft Corporation Flexible namespace prioritization
US8185566B2 (en) * 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
US9684573B2 (en) * 2010-04-29 2017-06-20 Veritas Technologies Llc Dismounting a storage volume
CN103729247B (zh) * 2012-10-12 2017-04-12 阿里巴巴集团控股有限公司 数据获取请求的处理方法、系统及服务器
CN104346345B (zh) * 2013-07-24 2019-03-26 上海中兴软件有限责任公司 数据的存储方法及装置
JP5750497B2 (ja) * 2013-12-11 2015-07-22 株式会社アイキュエス アクセス制御装置、プログラム及びアクセス制御システム
US10264071B2 (en) 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
US10031883B2 (en) * 2015-10-16 2018-07-24 International Business Machines Corporation Cache management in RDMA distributed key/value stores based on atomic operations
US11741050B2 (en) 2021-01-29 2023-08-29 Salesforce, Inc. Cloud storage class-based variable cache availability
US11622000B2 (en) 2021-01-29 2023-04-04 Salesforce, Inc. Grey failure handling in distributed storage systems
US11509721B2 (en) 2021-01-31 2022-11-22 Salesforce.Com, Inc. Cookie-based network location of storage nodes in cloud
CN112835643B (zh) * 2021-02-02 2022-05-17 睿云联(厦门)网络通讯技术有限公司 基于设备影子服务对云对讲设备的管理方法和装置及设备

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060144A (en) * 1989-03-16 1991-10-22 Unisys Corporation Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US5261069A (en) * 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
JPH0827754B2 (ja) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5418966A (en) 1992-10-16 1995-05-23 International Business Machines Corporation Updating replicated objects in a plurality of memory partitions
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
JP2507235B2 (ja) 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
US5634122A (en) * 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US5805809A (en) * 1995-04-26 1998-09-08 Shiva Corporation Installable performance accelerator for maintaining a local cache storing data residing on a server computer
US5761659A (en) * 1996-02-29 1998-06-02 Sun Microsystems, Inc. Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters
US5862376A (en) * 1996-06-24 1999-01-19 Sun Microsystems, Inc. System and method for space and time efficient object locking
US6574654B1 (en) * 1996-06-24 2003-06-03 Oracle Corporation Method and apparatus for lock caching
US6041383A (en) * 1996-07-22 2000-03-21 Cabletron Systems, Inc. Establishing control of lock token for shared objects upon approval messages from all other processes
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
US6035379A (en) * 1997-01-09 2000-03-07 Microsoft Corporation Transaction processing for user data employing both logging and shadow copying
CA2201275A1 (en) * 1997-03-27 1998-09-27 Chris L. Brealey Locking tool data objects in a framework environment
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6016508A (en) * 1997-07-02 2000-01-18 Microsoft Corporation Server-determined client refresh periods for dynamic directory services
US6023706A (en) * 1997-07-11 2000-02-08 International Business Machines Corporation Parallel file system and method for multiple node file access
US6108654A (en) * 1997-10-31 2000-08-22 Oracle Corporation Method and system for locking resources in a computer system
US6516351B2 (en) * 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6119115A (en) * 1998-03-12 2000-09-12 Microsoft Corporation Method and computer program product for reducing lock contention in a multiple instruction execution stream processing environment
JPH11353220A (ja) * 1998-06-09 1999-12-24 Hitachi Ltd キャッシュ制御方法およびリモートファイルロックの獲得制御方法およびファイル書込み制御方法
US6460048B1 (en) * 1999-05-13 2002-10-01 International Business Machines Corporation Method, system, and program for managing file names during the reorganization of a database object
US6584548B1 (en) * 1999-07-22 2003-06-24 International Business Machines Corporation Method and apparatus for invalidating data in a cache
US6499031B1 (en) * 1999-07-26 2002-12-24 Microsoft Corporation Systems and methods for using locks with computer resources
US6389420B1 (en) * 1999-09-30 2002-05-14 Emc Corporation File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration
US6496907B1 (en) * 1999-10-22 2002-12-17 Apple Computer, Inc. System and method for updating from a read-only to a read-write entry and concurrently invalidating stale cache copies from head-to-tail and tail-to-head directions
US6502108B1 (en) * 1999-10-25 2002-12-31 International Business Machines Corporation Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens
US6529906B1 (en) * 2000-01-28 2003-03-04 Oracle Corporation Techniques for DLM optimization with re-mastering events
US6775703B1 (en) * 2000-05-01 2004-08-10 International Business Machines Corporation Lease based safety protocol for distributed system with multiple networks
US6601069B2 (en) * 2000-12-15 2003-07-29 Hewlett-Packard Development Company, L.P. Synchronization using commitment
US6842754B2 (en) * 2001-04-17 2005-01-11 Hewlett Packard Development Company, L.P. Lease enforcement in a distributed file system
WO2003027853A1 (en) * 2001-09-21 2003-04-03 Polyserve, Inc. A system and method for synchronisation for enforcing mutual exclusion among multiple negotiators
US6769048B2 (en) * 2001-12-06 2004-07-27 Sun Microsystems, Inc. Cache synchronization method, system and apparatus for a distributed application and an object located in a client cache
US7065558B2 (en) * 2002-02-22 2006-06-20 Microsoft Corporation Opportunistic directory cache and method of serving target directory information in a network environment
US6938139B2 (en) * 2002-06-21 2005-08-30 Jp Morgan Chase Bank Method and system for data element change across multiple instances of data base cache
US6941310B2 (en) * 2002-07-17 2005-09-06 Oracle International Corp. System and method for caching data for a mobile application
US7093230B2 (en) * 2002-07-24 2006-08-15 Sun Microsystems, Inc. Lock management thread pools for distributed data systems
US7020750B2 (en) * 2002-09-17 2006-03-28 Sun Microsystems, Inc. Hybrid system and method for updating remote cache memory with user defined cache update policies
EP1584036A4 (en) * 2003-01-17 2008-06-18 Tacit Networks Inc METHOD AND SYSTEM FOR USING INTERMEDIATE STORAGE IN A DISTRIBUTED FILE SYSTEM
US7409389B2 (en) * 2003-04-29 2008-08-05 International Business Machines Corporation Managing access to objects of a computing environment

Also Published As

Publication number Publication date
CN100397343C (zh) 2008-06-25
WO2004097630A3 (en) 2005-01-20
JP2006525571A (ja) 2006-11-09
CN1774697A (zh) 2006-05-17
US20040220976A1 (en) 2004-11-04
US20080313185A1 (en) 2008-12-18
US8700584B2 (en) 2014-04-15
ATE496332T1 (de) 2011-02-15
EP1618472A2 (en) 2006-01-25
EP1618472B1 (en) 2011-01-19
WO2004097630A2 (en) 2004-11-11
US7409389B2 (en) 2008-08-05
DE602004031101D1 (de) 2011-03-03

Similar Documents

Publication Publication Date Title
JP4617297B2 (ja) ファイル・システムのオブジェクトへのアクセスを管理する方法、システム及び記憶媒体
US11647097B2 (en) Providing access to managed content
CA2587529C (en) Infrastructure for performing file operations by a database server
US6757705B1 (en) Method and system for client-side caching
US7548918B2 (en) Techniques for maintaining consistency for different requestors of files in a database management system
JP4759570B2 (ja) データベース管理システムにおけるファイル操作のためのロックを提供するための手法
US10042916B2 (en) System and method for storing data in clusters located remotely from each other
GB2328535A (en) Determining how changes to underlying data affect cached objects
US7716260B2 (en) Techniques for transaction semantics for a database server performing file operations
JPH05143435A (ja) データベースシステム
Callaghan et al. NFS Version 4 Working Group S. Shepler INTERNET-DRAFT Sun Microsystems Document: draft-ietf-nfsv4-03-00. txt C. Beame Hummingbird Communications

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20051207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100824

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees