JPH07262074A - Cache management method, computer file system and cache device - Google Patents

Cache management method, computer file system and cache device

Info

Publication number
JPH07262074A
JPH07262074A JP6295474A JP29547494A JPH07262074A JP H07262074 A JPH07262074 A JP H07262074A JP 6295474 A JP6295474 A JP 6295474A JP 29547494 A JP29547494 A JP 29547494A JP H07262074 A JPH07262074 A JP H07262074A
Authority
JP
Japan
Prior art keywords
file system
cache
request
data
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6295474A
Other languages
Japanese (ja)
Other versions
JP2705006B2 (en
Inventor
Thomas George Cantrell
トマス・ジョージ・カントレル
Sebnem Jaji
セブネム・ジャージー
Amal Ahmed Shaheen
アマル・アハメド・シャーヒーン
Byron Ward Richard
リチャード・バイロン・ワード
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 JPH07262074A publication Critical patent/JPH07262074A/en
Application granted granted Critical
Publication of JP2705006B2 publication Critical patent/JP2705006B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE: To make the cache of the storing means of a client operable when the object is disconnected from a server by confirming whether or not data related to a file system object exist by testing the cache and responding to a file system object request when the data exist. CONSTITUTION: A request 320 is vicariously received by means of a VFS interface 328, delivered to a distributed file system client 322 residing in the kernel address space 312 of the client 322, and further delivered to a distributed file system server 324 at a server kernel 316 in the form of a message 326 through a network. The server 324 accesses a storage device 390 by using the VFS interface 328. The client 322 inspects a cache for the presence of effective data in the cache before requesting data from the server 324.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、データを管理するため
の情報処理システムに関する。より具体的には、本発明
は、分散ファイル・システムにおけるクライアントのデ
ータ管理に関する。さらに具体的には、本発明は、接続
時または切断時のクライアント操作をサポートできる分
散ファイル・システムのクライアントにおけるキャッシ
ュとログ記録に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing system for managing data. More specifically, the present invention relates to client data management in distributed file systems. More specifically, the present invention relates to caching and logging in distributed file system clients that can support client operations on connect or disconnect.

【0002】[0002]

【従来の技術】コンピュータ・ワークステーションの能
力と記憶容量が向上してきた。本来、ワークステーショ
ンは、分離された1つまたは複数の作業を行うために1
人のオペレータによって使用されていた。組織内の多く
のユーザにワークステーションが配備されて、その台数
が増加したため、ワークステーション間で通信し、ユー
ザ間でデータを共用する必要が生まれた。その結果、図
1に示すような分散ファイル・システム・アーキテクチ
ャが開発されるようになった。
BACKGROUND OF THE INVENTION Computer workstations have increased in capacity and storage capacity. In essence, a workstation has 1 unit for performing one or more separate tasks.
Used by human operators. Workstations have been deployed to many users within an organization and the number has increased, which has created the need to communicate between workstations and share data between users. As a result, a distributed file system architecture as shown in FIG. 1 has been developed.

【0003】図1では複数のワークステーションがロー
カル・エリア・ネットワーク(LAN)によって相互接
続されている。複数のローカルLANを相互接続するた
めに広域ネットワーク(WAN)を使用することもでき
る。LANおよびWANは単一の論理ネットワークを形
成する。図1では、ワークステーションがサーバS1、
S2、S3、およびクライアントC1、C2、C3とし
て示されている。ワークステーションをクライアントと
呼ぶかサーバと呼ぶかは、ネットワーク内でそのワーク
ステーションが実行する機能によって決まる。特定のワ
ークステーションがクライアントとサーバを兼務する場
合もある。分散ファイル・システムを実現するには、少
なくとも1台のサーバと少なくとも1台のクライアント
が存在しなければならない。
In FIG. 1, a plurality of workstations are interconnected by a local area network (LAN). A wide area network (WAN) may also be used to interconnect multiple local LANs. LAN and WAN form a single logical network. In FIG. 1, the workstation is the server S1,
Shown as S2, S3 and clients C1, C2, C3. Whether a workstation is called a client or a server depends on the function it performs in the network. In some cases, a particular workstation doubles as both a client and a server. To implement a distributed file system, there must be at least one server and at least one client.

【0004】従来、クライアント・ワークステーション
は、LANのサービスを受け、ファイルなどの資源を共
用するために、いつでもLANに接続されていた。つま
り、LANからの切断は、ワークステーションがLAN
資源から切り離されたことを意味していた。そのため、
切り離されたクライアントでは、切断前に必要なファイ
ルとプログラムをクライアント側にコピーしておかなけ
れば、作業を続行できなかった。
Traditionally, client workstations have always been connected to a LAN to receive LAN services and share resources such as files. In other words, when disconnecting from the LAN, the workstation
It meant being cut off from resources. for that reason,
The disconnected client could not continue without the necessary files and programs copied to the client side before disconnecting.

【0005】ポータブル・ワークステーションの能力が
向上したため、切り離された状態での計算環境すなわち
「モービル」コンピューティングが実用可能になった。
現在では、デスクトップ型またはデスクサイド型ユニッ
トと同等のプロセッサ、メモリ、およびディスク記憶容
量を備えたポータブル・ワークステーションを購入する
ことができる。しかし、現在のポータブル・ワークステ
ーションまたはポータブル・コンピュータは、切り離さ
れた場合に上記と同じ制約を受ける。つまり、切断前に
そのファイルまたはプログラムのコピーを作成しておか
なければ、共用資源を一切使用できないのである。ワー
クステーションを再接続する場合、ユーザは、ポータブ
ル装置側で変更されたファイルとネットワーク上のファ
イルとの調整を手作業で行わなければならない。図1に
は、切断可能なポータブル・ワークステーションがネッ
トワークに点線で接続されたクライアントC1 102
として示されている。
The increased capabilities of portable workstations have made the computing environment or "mobile" computing in an isolated state feasible.
You can now buy a portable workstation with the same processor, memory, and disk storage capacity as a desktop or deskside unit. However, current portable workstations or computers are subject to the same restrictions as above when disconnected. In other words, if you do not make a copy of the file or program before disconnecting, you cannot use any shared resources. When reconnecting the workstation, the user must manually reconcile the modified file on the portable device with the file on the network. In FIG. 1, a client C1 102 has a disconnectable portable workstation connected to the network by a dotted line.
As shown.

【0006】図1に示すようなネットワークを介するデ
ータ・ファイルの共用は、時間をかけて発展してきた。
最も単純な形式の共用では、クライアントは、サーバ側
のファイルからデータを要求することができる。必要な
データはクライアント・プロセッサに送られ、そのデー
タに対して行った変更または修正はサーバ側に返され
る。第一のクライアントが保持するファイルのデータを
第二のクライアントが変更しないようにするため、適当
なロックが設定されている。
The sharing of data files over networks such as that shown in FIG. 1 has evolved over time.
In its simplest form of sharing, a client can request data from a file on the server side. The required data is sent to the client processor and any changes or modifications made to that data are returned to the server. Appropriate locks are set to prevent the second client from changing the data in the file held by the first client.

【0007】分散ファイル・システムは、もっと効率よ
く複数のクライアントにデータを分散し、もっと効率よ
くファイルの共用を制御するための機構を追加すること
で、ファイル共用機能を強化している。分散ファイル・
システムは数多く存在する。一般的な分散ファイル・シ
ステムとしては、Transarc社が販売するAnd
rewファイル・システム(AFS)がある。
The distributed file system enhances the file sharing function by adding a mechanism for more efficiently distributing data to a plurality of clients and more efficiently controlling file sharing. Distributed file
There are many systems. A typical distributed file system is And sold by Transarc.
There is a rew file system (AFS).

【0008】AFSは、サーバ・データにアクセスする
クライアント側にファイル・キャッシュを作成すること
で、分散ファイル処理の効率を高めている。このキャッ
シュはクライアントのアプリケーションによって参照さ
れ、キャッシュ・ミスが発生した場合だけ、サーバから
データが取り出される。データをキャッシュすること
で、ネットワーク通信量が削減され、クライアント側の
応答時間が短縮される。
AFS enhances the efficiency of distributed file processing by creating a file cache on the client side that accesses server data. This cache is referenced by the client application and data is retrieved from the server only if a cache miss occurs. Caching data reduces network traffic and client response time.

【0009】AFSのキャッシュ整合性は、サーバのコ
ールバック・システムに基づくものである。サーバは、
特定のデータがキャッシュされた各クライアントに対
し、クライアントのキャッシュ・データを無効にする条
件を通知する。無効になったデータは、キャッシュから
除去されるので、必要な場合はサーバから獲得し直さな
ければならない。
AFS cache coherency is based on the server's callback system. The server is
Notify each client whose particular data has been cached of the condition that invalidates the client's cached data. Invalidated data is removed from the cache and must be reacquired from the server if necessary.

【0010】AFSに接続されたワークステーションを
切断すると、クライアントによる分散ファイル・アクセ
スが失われる。切断によってキャッシュが無効になった
場合、クライアントは自動的にすべてのコールバックを
消去する。
Disconnecting a workstation connected to the AFS results in loss of distributed file access by the client. If the cache is invalidated by a disconnect, the client automatically clears all callbacks.

【0011】分散ファイル・システム(DFS)は、A
FSに次ぐもので、OSF分散計算環境(DCE)をサ
ポートする。DFSでは、クライアントのキャッシュ整
合性を確保するためにサーバ・ベースのトークン機構を
使用する。クライアントは、自分のキャッシュに入って
いるデータが有効になるようにするため、「読取り」ト
ークンを獲得する。クライアントがファイル内のデータ
を変更する場合は、そのデータ用の「書込み」トークン
を獲得する。C1などのクライアントに「書込み」トー
クンを許諾すると、他のすべてのクライアントに存在す
る同じデータ用の「読取り」トークンが無効になる。ト
ークンを無効にすると、これらのクライアントのキャッ
シュ・データが無効になる。DFSシステムから切断す
ると、クライアントは未解決のトークンを失う。このク
ライアントは、トークンが欠落しているため、キャッシ
ュ・データに対しても読取りまたは書込みを行うことが
できなくなる。
Distributed File System (DFS) is an A
Second to FS, it supports the OSF Distributed Computing Environment (DCE). DFS uses a server-based token mechanism to ensure client cache coherency. The client gets a "read" token so that the data in its cache is valid. When a client modifies the data in a file, it gets a "write" token for that data. Granting a "write" token to a client such as C1 invalidates a "read" token for the same data that exists on all other clients. Invalidating the token invalidates the cached data for these clients. Upon disconnecting from the DFS system, the client loses outstanding tokens. The client will not be able to read or write to cached data due to the missing token.

【0012】カーネギー・メロン大学は、AFSネット
ワークに接続された切離し可能ワークステーションをサ
ポートしようと努力してきた。このCODAプロジェク
トは、一定のデータ可用性を持つ分散ファイル・システ
ムの提供を目標とする。複数のサーバにデータを複写
し、クライアントによる切断時の操作をサポートするこ
とにより、この目標を達成する。"Coda: A highly Avai
lable File System fora Distributed Workstation Env
ironment"(IEEE Transactions, Vol. 39, No.4, 19
90年4月)を参照されたい。
Carnegie Mellon University has endeavored to support detachable workstations connected to the AFS network. This CODA project aims to provide a distributed file system with constant data availability. It achieves this goal by copying the data to multiple servers and supporting disconnect operations by clients. "Coda: A highly Avai
lable File System fora Distributed Workstation Env
ironment "(IEEE Transactions, Vol. 39, No.4, 19
See April 1990).

【0013】CODAの分散操作は、楽天的なデータ複
製制御によって達成される。楽天的な制御を行うと、多
くのクライアントは、切断されていてもデータを読み書
きすることができる。データの矛盾は、後で識別して解
明すべきものとして残される。悲観的な複製制御では、
読み書きを単一区画に制限することですべての競合を回
避する。切断すると、クライアントは別のクライアント
がデータにアクセスできるかどうかを判別できなくな
る。また、悲観的な複製制御の下では、クライアントは
書込みができなくなる恐れがある。"Disconnected Oper
ation in the Coda File System"(J. Kistler, M Saty
anarayanan, Carnegie Mellon University, Proceeding
s of the 13th ACM Symposium on Operating Systems P
rinciples,1991年10月)を参照されたい。
The distributed operation of CODA is achieved by optimistic data replication control. With optimistic control, many clients can read and write data even when disconnected. Inconsistencies in the data remain to be identified and resolved later. With pessimistic replication control,
Avoid all conflicts by limiting reading and writing to a single partition. Disconnecting prevents a client from determining if another client can access the data. Also, under pessimistic replication control, the client may not be able to write. "Disconnected Oper
ation in the Coda File System "(J. Kistler, M Saty
anarayanan, Carnegie Mellon University, Proceeding
s of the 13th ACM Symposium on Operating Systems P
rinciples, October 1991).

【0014】CODAの分散操作では、クライアントは
クライアント側のキャッシュに保持されているデータに
対してアクセスと更新を続行することができる。キャッ
シュ・ミスが発生すると、クライアントはサーバからの
データにアクセスできなくなるため、このような場合だ
け、ファイル操作が失敗に終わる。AFSとCODA
は、ファイル全体をキャッシュする。CODAは、切断
時の操作中にファイルを更新し、そのデータに対して行
ったすべての変更のログを記録する。再接続された場
合、ログに記録されているトランザクションをサーバ・
ファイルに適用することによって、そのデータのサーバ
側のすべての複製を更新するのは、クライアント側の責
任である。データの矛盾は、手作業による介入のために
解明を据え置くことで処理される。
The distributed operation of CODA allows a client to continue to access and update data held in its client-side cache. Only in this case will a file operation fail because a cache miss will prevent the client from accessing the data from the server. AFS and CODA
Caches the entire file. CODA updates the file during the disconnect operation and keeps a log of all changes made to that data. When reconnected, the logged transaction will
It is the client's responsibility to update all server-side copies of that data by applying it to the file. Data inconsistencies are dealt with by deferring resolution for manual intervention.

【0015】CODAの主な欠点は、CODAサーバへ
の接続しかサポートされていない点である。AFSと同
様、CODAも分散ファイル・システム・プロトコルの
1つである。CODAは、サーバ(複数も可)とすべて
のクライアントが同じ分散ファイル・システム・プロト
コルを使用しているという事実を頼りにしている。この
ため、切断時の操作をサポートするには、ネットワーク
内のすべてのクライアントとサーバをCODAプロトコ
ルに変更する必要がある。
The main drawback of CODA is that it only supports connections to CODA servers. Like AFS, CODA is a distributed file system protocol. CODA relies on the fact that the server (s) and all clients use the same distributed file system protocol. Therefore, all clients and servers in the network must be changed to the CODA protocol to support disconnect operations.

【0016】もう1つの取組み方は、"Disconnected Op
eration for AFS"(L. B. HustonおよびP. Honeyman, C
enter for Information Technology Integration, The
University of Michigan, published in the Proceedin
gs of the USENIX Mobile and Location-Independent C
omputing Symposium, 1993年8月)において、Hust
onおよびHoneymanによって提唱されている。Hustonおよ
びHoneymanが提案するクライアント・システムは、サー
バに対して修正を加えずに標準のAFSサーバに接続で
きるものである。クライアント側のコード修正によっ
て、切断時の操作と再接続がサポートされる。再接続と
調整は、切断中にすべてのトランザクションをログ記録
することで達成される。すべての読取り、書込み、また
は更新がトランザクション・ログに記録され、このトラ
ンザクション・ログが再接続時にサーバに再生される。
この取組み方には、標準のAFSサーバをサポートする
という利点がある。しかし、AFS分散ファイル・シス
テム・プロトコルの存在に依存しているため、AFSサ
ーバ以外のサーバでは機能しない。この完全にログ記録
する方法でも、システム効率が損なわれる。また、ログ
のサイズによって、クライアント側のディスク空間の問
題と、あらゆるサイズのシステムでの調整遅延も発生す
る恐れがある。
Another approach is "Disconnected Op"
eration for AFS "(LB Huston and P. Honeyman, C
enter for Information Technology Integration, The
University of Michigan, published in the Proceedin
gs of the USENIX Mobile and Location-Independent C
Hust at the omputing Symposium, August 1993).
Proposed by on and Honeyman. The client system proposed by Huston and Honeyman can connect to a standard AFS server without modification to the server. Client-side code modifications support disconnect operations and reconnects. Reconnection and reconciliation is achieved by logging all transactions during disconnects. Every read, write, or update is recorded in the transaction log and this transaction log is replayed to the server on reconnect.
This approach has the advantage of supporting standard AFS servers. However, it relies on the existence of the AFS distributed file system protocol and therefore does not work on servers other than the AFS server. This fully logged approach also compromises system efficiency. Also, log size can lead to client-side disk space issues and throttling delays on systems of all sizes.

【0017】このため、再接続時に効率の良い調整を行
うことで切断されたクライアントが継続操作できるよう
な分散ファイル・システムを提供するには、技術的な問
題が存在する。また、多くの分散ファイル・システム・
プロトコルでは使用できないような分散ファイル・シス
テム・クライアントを生成することも技術的な問題であ
る。最後になるが、オブジェクトまたはパス名の解明の
ためにオペレーティング・システムの構文から独立した
分散ファイル・システム・クライアントを生成するとい
う技術的な問題も存在する。
Therefore, there is a technical problem in providing a distributed file system in which a disconnected client can continuously operate by performing efficient adjustment when reconnecting. In addition, many distributed file systems
It is also a technical problem to create a distributed file system client that cannot be used in the protocol. Finally, there is also the technical problem of creating a distributed file system client independent of operating system syntax for object or pathname resolution.

【0018】[0018]

【発明が解決しようとする課題】このため、本発明の一
目的は、サーバから切断されたときに動作可能な分散フ
ァイル・システム・クライアントを提供することにあ
る。
SUMMARY OF THE INVENTION Therefore, one object of the present invention is to provide a distributed file system client which is operable when disconnected from a server.

【0019】本発明の他の目的は、再接続時の調整のた
めにトランザクションを効率よくログ記録する、切断可
能なクライアントを提供することにある。
Another object of the present invention is to provide a disconnectable client that efficiently logs transactions for coordination during reconnection.

【0020】本発明の他の目的は、キャッシュに必要な
メモリ容量とディスク空間を削減し、キャッシュ処理の
速度と効率を向上させるために、効率の良いキャッシュ
機能を備えたファイル・システム・クライアントを提供
することにある。
Another object of the present invention is to provide a file system client equipped with an efficient cache function in order to reduce the memory capacity and disk space required for cache and to improve the speed and efficiency of cache processing. To provide.

【0021】本発明の他の目的は、複数の分散ファイル
・システム・プロトコルで動作可能な分散ファイル・シ
ステム・クライアントを提供することにある。
Another object of the present invention is to provide a distributed file system client operable with a plurality of distributed file system protocols.

【0022】本発明の他の目的は、オペレーティング・
システムから独立した分散ファイル・システム・クライ
アントを提供することにある。
Another object of the present invention is to
To provide a distributed file system client that is system independent.

【0023】本発明の他の目的は、分解したオブジェク
ト名の積極的キャッシングによってキャッシュ効率を高
めることにある。
Another object of the present invention is to improve cache efficiency by aggressively caching decomposed object names.

【0024】本発明の他の目的は、オブジェクト名に依
存せず、それぞれが異なるオブジェクト名構文規則を有
する複数の親オブジェクトを各ファイル・システム・オ
ブジェクトが持てるようにするためのキャッシュ管理シ
ステムを提供することにある。
Another object of the present invention is to provide a cache management system that allows each file system object to have a plurality of parent objects that are independent of the object name and each have different object name syntax rules. To do.

【0025】本発明の上記およびその他の目的、特徴、
および利点は、添付図面に示す本発明の実施例に関する
詳細な説明によって明らかになるだろう。ただし、添付
図面では、同じ参照番号は、本発明の同じ部分を表して
いる。
The above and other objects, features and characteristics of the present invention,
And advantages will be apparent from the detailed description of the embodiments of the present invention shown in the accompanying drawings. However, in the accompanying drawings, the same reference numerals represent the same parts of the present invention.

【0026】[0026]

【課題を解決するための手段】本発明は、接続時と切断
時の両方のクライアント操作をサポートする分散ファイ
ル・システムを提供することを目標とする。このクライ
アント・ファイル・システムは、複数のファイル・シス
テム・アーキテクチャに接続可能で、効率の良いトラン
ザクション・ログ記録をサポートする。
SUMMARY OF THE INVENTION The present invention seeks to provide a distributed file system that supports both connect and disconnect client operations. This client file system can connect to multiple file system architectures and supports efficient transaction logging.

【0027】本発明は、第一のオペレーティング・シス
テム下で動作するクライアント・コンピュータ・システ
ムのファイル・システム・キャッシュを管理する方法を
目標とする。この方法は、分散ファイル・システムのフ
ァイル・システム・オブジェクトを求めるオペレーティ
ング・システム要求を代行受信するステップと、オペレ
ーティング・システム依存構文を除去するために前記要
求を変換するステップと、前記クライアントの記憶手段
のキャッシュをテストして、前記ファイル・システム・
オブジェクトに関するデータが存在するかどうかを確認
するステップと、キャッシュ・データが存在する場合に
前記ファイル・システム・オブジェクト要求に応じるス
テップとを含む。
The present invention is directed to a method of managing a file system cache of a client computer system operating under a first operating system. The method comprises intercepting an operating system request for a file system object of a distributed file system, transforming the request to remove operating system dependent syntax, and storing means of the client. Test the cache of the file system
It includes the steps of checking if data exists for the object, and responding to the file system object request if cached data exists.

【0028】[0028]

【実施例】図2は、一般的なクライアントまたはサーバ
・ワークステーション構成を示している。本発明は、I
BM RISCシステム/6000ワークステーション
またはIBM PS/2パーソナル・コンピュータなど
のワークステーションで実施されることが好ましい。ク
ライアントおよびサーバ・ワークステーションは、図1
に示すようにトークン・リングまたはイーサネットLA
Nによって相互接続されている。LANに接続されたワ
ークステーションは、C1などのポータブル・ワークス
テーションを含むことができ、LANから切断したり、
LANから独立して使用することもできる。本発明の範
囲内でその他の多くの構成のワークステーション・ハー
ドウェアやLANタイプを使用できることに留意された
い。
DETAILED DESCRIPTION FIG. 2 illustrates a typical client or server workstation configuration. The present invention is
It is preferably implemented on a workstation such as a BM RISC System / 6000 workstation or an IBM PS / 2 personal computer. The client and server workstations are shown in FIG.
Token Ring or Ethernet LA as shown in
Interconnected by N. Workstations connected to the LAN can include portable workstations such as the C1, disconnect from the LAN,
It can also be used independently of the LAN. It should be noted that many other configurations of workstation hardware and LAN types can be used within the scope of the present invention.

【0029】一般的なクライアントまたはサーバ・ワー
クステーション200は、プロセッサ210、システム
・メモリ214、およびハード・ディスク装置、ディス
ケット装置、または光ディスク記憶装置などの不揮発性
記憶装置212を有する。プロセッサは、入出力制御装
置218を介してキーボード224およびポインティン
グ・デバイス226などの入出力装置からの入力を受け
入れる。このシステムは、グラフィック制御装置220
によって駆動される表示装置222上でオペレータに対
して図形情報を提示する。このワークステーションは、
ネットワーク・インタフェース・アダプタ216を介し
てネットワーク(図示せず)に接続される。
A typical client or server workstation 200 has a processor 210, system memory 214, and non-volatile storage 212 such as a hard disk drive, diskette drive, or optical disk storage. The processor accepts input from I / O devices such as keyboard 224 and pointing device 226 via I / O controller 218. This system includes a graphic controller 220.
The graphic information is presented to the operator on the display device 222 driven by. This workstation is
It is connected to a network (not shown) via the network interface adapter 216.

【0030】本発明の好ましい実施例は、ワークステー
ション200のメモリおよびプロセッサで動作するコン
ピュータ・プロセスによって実現される。本発明を実施
するコンピュータ・プログラム・プロダクトは、テー
プ、ディスケット、またはコンパクト・ディスク読取り
専用メモリ(CD−ROM)装置上の記憶装置など、不
揮発性記憶装置212に格納することができる。
The preferred embodiment of the present invention is implemented by a computer process running in the memory and processor of workstation 200. A computer program product embodying the present invention may be stored in non-volatile storage 212, such as storage on a tape, diskette, or compact disc read only memory (CD-ROM) device.

【0031】先行技術の分散ファイル・システムの動作
は、図3に関して例示する。図3は、ネットワーク・イ
ンタフェース306によって相互接続されたクライアン
ト・ワークステーション302およびサーバ・ワークス
テーション304を示している。特定のファイルを求め
るか、またはディスク記憶装置390上に常駐するファ
イルに関する情報を求めるユーザ・プロセス308によ
る要求は、次のように処理される。ただし、クライアン
ト302とサーバ304はどちらも、ユーザ・アドレス
空間310、314と、カーネル・アドレス空間31
2、316に分割されていることに留意されたい。アプ
リケーションとカーネルとのインタフェース(アプリケ
ーション・プログラム・インタフェース、すなわち、A
PIと呼ばれるもの)は、S. R. Kleiman著の"Vnodes:
An Architecture for Multiple File System Types in
Sun UNIX"(Summer Usenix Conference Proceedings,
1986年)に定義されているVFS/vnode A
PIである。当然のことながら、他のインタフェースも
使用できるはずである。このVFS/vnodeインタ
フェースでは、複数の仮想ファイル・システムが存在で
きる。このため、分散ファイル・システムは、クライア
ント・ワークステーションにとって仮想ファイル・シス
テムの1つになる。
The operation of the prior art distributed file system is illustrated with respect to FIG. FIG. 3 shows a client workstation 302 and a server workstation 304 interconnected by a network interface 306. A request by user process 308 for a particular file or for information about a file that resides on disk storage 390 is processed as follows. However, both client 302 and server 304 have user address spaces 310, 314 and kernel address space 31.
Note that it is divided into 2,316. Interface between application and kernel (application program interface, ie A
Called PI) is "Vnodes:" written by SR Kleiman.
An Architecture for Multiple File System Types in
Sun UNIX "(Summer Usenix Conference Proceedings,
VFS / vnode A defined in 1986)
It is PI. Of course, other interfaces could be used. In this VFS / vnode interface, multiple virtual file systems can exist. This makes the distributed file system one of the virtual file systems for client workstations.

【0032】ユーザ・プロセス308は、記憶装置39
0上のデータ・ファイルを要求する。要求320は、V
FSインタフェースによって代行受信(インターセプ
ト:intercept)され、クライアントのカーネル・アド
レス空間312に常駐する分散ファイル・システム・ク
ライアント322に渡される。分散ファイル・システム
・クライアントは、ネットワーク上でのサーバとの通信
を管理するものである。要求は、ネットワーク306を
介してサーバ・カーネル316にある分散ファイル・シ
ステム・サーバ324にメッセージ326の形で渡され
る。分散ファイル・システム・サーバ324は、VFS
インタフェース328を使用して、記憶装置390を含
むサーバ側のローカル物理ファイル・システムにアクセ
スすることで、記憶装置390にアクセスする。要求さ
れたデータは、獲得されて、分散ファイル・システム・
サーバ324から分散ファイル・システム・クライアン
ト322に渡され、次に、この分散ファイル・システム
・クライアント322が要求側のユーザ・プロセス30
8にそのデータを渡す。
The user process 308 uses the storage device 39.
Request data file on 0. Request 320 is V
It is intercepted by the FS interface and passed to the distributed file system client 322 which resides in the client's kernel address space 312. The distributed file system client manages communication with the server on the network. The request is passed in the form of a message 326 over the network 306 to the distributed file system server 324 at the server kernel 316. Distributed File System Server 324 is VFS
The interface 328 is used to access the storage device 390 by accessing the server-side local physical file system including the storage device 390. The requested data has been acquired and distributed file system
It is passed from the server 324 to the distributed file system client 322, which in turn requests the requesting user process 30.
Pass the data to 8.

【0033】分散ファイル・システム・クライアント3
22は、サーバから要求されたデータをキャッシュする
ためにデータ・キャッシュ(図示せず)を含んでもよ
い。分散ファイル・システム・クライアントは、サーバ
からそのデータを要求する前にキャッシュを検査し、有
効なデータがあるかどうかを確認する。
Distributed File System Client 3
22 may include a data cache (not shown) to cache the data requested by the server. The distributed file system client checks the cache to see if it has valid data before requesting it from the server.

【0034】本発明の好ましい実施例は、図4に示され
ている。クライアント・ワークステーションは、ユーザ
・アドレス空間402と、カーネル・アドレス空間40
4を有する。本発明の改良されたキャッシュ管理プログ
ラム406は、ユーザ・アドレス空間402で動作する
ことが好ましいが、カーネル・アドレス空間404で実
現することもできる。
A preferred embodiment of the present invention is shown in FIG. The client workstation has a user address space 402 and a kernel address space 40.
Have 4. The improved cache management program 406 of the present invention preferably operates in the user address space 402, but may be implemented in the kernel address space 404.

【0035】ユーザ・プログラム408、410、41
2は、ファイル・システム要求414、416、418
を出す。ユーザ・プログラムnは、論理ファイル・シス
テム402を使用するものとして示されているが、この
論理ファイル・システム402はファイル・システム要
求420を出す。ファイル・システム要求はVFS/v
nodesインタフェースに適合しているが、本発明の
範囲内で他のインタフェースを使用することもできるは
ずである。本発明は、VFS/vnode APIに適
合するか、代替実施例で他のAPIに適合する論理ファ
イル・システムであれば、どのような論理ファイル・シ
ステムでも使用できる。
User programs 408, 410, 41
2 is a file system request 414, 416, 418
Give out. User program n is shown as using a logical file system 402, which issues a file system request 420. File system requirements are VFS / v
It is compatible with the nodes interface, but other interfaces could be used within the scope of the invention. The present invention can be used with any logical file system that is compatible with the VFS / vnode API or, in alternative embodiments, with other APIs.

【0036】VFSインタフェースは、ファイル・シス
テム要求をキャッシュ管理プログラム406に送る。キ
ャッシュ管理プログラム406は、クライアントがアク
セスした分散ファイル・システムに関するローカル情報
を保管している。可能な場合には、サーバにアクセスせ
ずにキャッシュ管理プログラムがファイル・システム要
求に対してサービスを提供する。要求された情報がキャ
ッシュ内にあり、まだ有効であれば、キャッシュ管理プ
ログラムがファイル・システムに応じることができる。
キャッシュ管理プログラム406については、以下に詳
述する。
The VFS interface sends file system requests to the cache manager 406. The cache management program 406 stores local information about the distributed file system accessed by the client. When possible, the cache manager services file system requests without accessing the server. If the requested information is in the cache and is still valid, the cache manager can serve the file system.
The cache management program 406 will be described in detail below.

【0037】キャッシュ管理プログラム406がファイ
ル・システム要求に応じるには、キャッシュ管理プログ
ラム・メモリ内に常駐するデータによるか、またはロー
カル物理ファイル・システム420にアクセスするか、
または分散ファイル・システム・アクセス422を使用
する。キャッシュ管理プログラムは、迅速にアクセスす
るために、分散ファイルのローカル・コピーをローカル
物理ファイル・システムに入れて保管する。分散ファイ
ル・システム・アクセス422は、前述のように、必要
なコマンドを分散ファイル・システム・サーバ324に
出す。好ましい実施例ではファイル全体をキャッシュす
るが、本発明は完全ファイル・キャッシュに限定される
わけではない。
The cache manager 406 responds to file system requests by either resident data in the cache manager memory or by accessing the local physical file system 420,
Or use distributed file system access 422. The cache manager stores a local copy of the distributed file in the local physical file system for quick access. Distributed file system access 422 issues the necessary commands to distributed file system server 324, as described above. Although the preferred embodiment caches the entire file, the invention is not limited to a full file cache.

【0038】キャッシュ管理プログラム406と分散フ
ァイル・システム・アクセス422は、オペレーティン
グ・システムおよび分散ファイル・システム・アクセス
・プロトコルから独立している。オペレーティング・シ
ステムからの独立性は、定義済みのインタフェースをサ
ポートすることで達成される。サポートされているイン
タフェースとしては、ファイル・システム操作用のVF
S+/Vnodesインタフェース、IBM SOMo
bjects持続フレームワークによって提供されるよ
うな持続インタフェース、キャッシュ・ファイル用のロ
ーカル・ファイル・システム・インタフェース(LS
I)、各種の分散ファイル・システム・プロトコル、キ
ャッシュ同期インタフェース、ログ再生プロトコルなど
がある。キャッシュ管理プログラムは、いずれのオペレ
ーティング・システム構文にも依存しない。ファイル名
は、ファイル名構成要素分離文字から独立するように変
換され、予約文字と予約語を一切含まないものと見なさ
れる。パス名の解明もオペレーティング・システム構文
から独立している。このため、特定のファイル・システ
ム・オブジェクトは、構文規則が矛盾する2種類のオペ
レーティング・システムによって参照することができ
る。たとえば、キャッシュ管理プログラム406は、I
BM OS/2オペレーティング・システムまたはIB
M AIXオペレーティング・システムで動作するか、
わずかな修正を加えるだけで他のオペレーティング・シ
ステムで動作するように実現することもできる。
The cache manager 406 and distributed file system access 422 are independent of the operating system and distributed file system access protocol. Independence from the operating system is achieved by supporting predefined interfaces. Supported interfaces include VF for file system operations
S + / Vnodes interface, IBM SOMo
persistent interfaces, such as those provided by the objects persistence framework, a local file system interface (LS) for cache files.
I), various distributed file system protocols, cache synchronization interfaces, log replay protocols, etc. The cache manager is independent of any operating system syntax. Filenames are converted to be independent of filename component separators and are considered to contain no reserved characters or words. Pathname resolution is also independent of operating system syntax. Thus, a particular file system object can be referenced by two operating systems whose syntax rules conflict. For example, the cache management program 406 uses I
BM OS / 2 operating system or IB
Works on M AIX operating system,
It can be implemented to work on other operating systems with only minor modifications.

【0039】本発明のキャッシュ管理プログラムは、分
散ファイル・システム・プロトコルから独立している。
分散ファイル・システム・アクセス422は、オープン
・ソフトウェア・ファウンデーション(OSF)による
分散計算環境(DCE)サーバを使用するか、IBM
LANサーバ・プログラム・プロダクトを使用して、遠
隔サーバにアクセスすることができる。わずかな修正を
加えれば、他の遠隔ファイル・アクセス・プロトコルも
使用できる。プロトコル依存タスクは、同期機構および
ログ再生機構によって処理される。
The cache management program of the present invention is independent of the distributed file system protocol.
Distributed File System Access 422 uses a distributed computing environment (DCE) server with the Open Software Foundation (OSF) or IBM
The LAN Server program product can be used to access remote servers. Other remote file access protocols can be used with minor modifications. Protocol dependent tasks are handled by the synchronization mechanism and the log replay mechanism.

【0040】キャッシュ管理プログラム406は、クラ
イアント・キャッシュ409を管理する。キャッシュ4
09に関連して、キャッシュ管理プログラムはボリュー
ム情報410と修正ログ412を保管する。ボリューム
情報410には、キャッシュ管理プログラムを介してク
ライアント・ワークステーションがアクセス可能なファ
イル・システムに関する情報が含まれる。好ましい実施
例では、遠隔ファイル・システムがボリューム別にクラ
イアントに接続されている。各ボリュームには、ボリュ
ーム情報データベース内のボリューム項目が設けられ
る。このため、遠隔ファイル・システムは、UNIXタ
イプのファイル・システム(たとえば、特定のファイル
・システム/rfsとしてマウントされたもの)とし
て、またはDCEのドライブ文字(たとえば、ドライブ
G:\)として、クライアント・ワークステーションに
接続される。遠隔ファイル・システムとその状況に関す
るすべての情報は、ボリューム情報データベース410
に保管される。単一のクライアントに複数の遠隔ファイ
ル・システムを同時に接続することもできる。
The cache management program 406 manages the client cache 409. Cache 4
In connection with 09, the cache management program stores volume information 410 and modification log 412. Volume information 410 includes information about the file system accessible to the client workstation via the cache management program. In the preferred embodiment, a remote file system is attached to the client by volume. Each volume has a volume item in the volume information database. Thus, a remote file system can be used by a client as a UNIX type file system (eg, mounted as a particular file system / rfs) or as a DCE drive letter (eg, drive G: \). Connected to workstation. All information about the remote file system and its status can be found in the volume information database 410.
Be stored in. It is also possible to connect multiple remote file systems simultaneously to a single client.

【0041】キャッシュ409の構造をさらに詳しく図
5に示す。キャッシュ409は、ファイル・パス名、フ
ァイル・システム・オブジェクト・データ、およびファ
イル・システム・オブジェクト状況情報用として単一の
キャッシュを保管する。キャッシュは持続ヒープに保管
されている。すなわち、キャッシュは不揮発性記憶装置
に定期的に書き込まれ、電源またはシステムの障害が発
生した場合は、その不揮発性記憶装置からキャッシュを
復元することができる。キャッシュを1つに統合する
と、必要なキャッシュ・メモリ容量全体が削減され、こ
れにより、キャッシュのパフォーマンスが向上する。先
行技術のシステムでは必要なハッシュ・テーブルが3つ
であったのに対し、単一キャッシュでは1つだけで済
む。すべてのキャッシュ処理は、各タイプのキャッシュ
ごとに個別のコードからなる従来の機構ではなく、様々
なタイプのファイル・システム・オブジェクトを格納す
る1組のコードで実現することができる。キャッシュ・
ファイル・システム・オブジェクトは全体が502で示
されている。このファイル・システム・オブジェクト5
02は、キャッシュ管理プログラムの接続時および切断
時両方の操作に使用する。
The structure of the cache 409 is shown in more detail in FIG. Cache 409 stores a single cache for file path names, file system object data, and file system object status information. The cache is stored in the persistent heap. That is, the cache is regularly written in the nonvolatile storage device, and the cache can be restored from the nonvolatile storage device in the event of a power or system failure. Consolidating the caches together reduces the overall required cache memory capacity, which improves cache performance. Prior art systems required three hash tables, whereas a single cache requires only one. All caching can be accomplished with a set of code that stores various types of file system objects, rather than the traditional mechanism of a separate code for each type of cache. cache·
The file system object is shown generally at 502. This file system object 5
02 is used for both the connection and disconnection operations of the cache management program.

【0042】ファイル・システム・オブジェクト502
は、遠隔ファイルまたは遠隔ファイルのローカル・キャ
ッシュ・コピーにアクセスするのに必要な情報を含むデ
ータ構造である。クライアント・ワークステーションが
参照した遠隔ファイルまたはディレクトリごとにファイ
ル・システム・オブジェクト項目が1つずつ、キャッシ
ュ内に作成される。ファイル・システム・オブジェクト
には、VFS+/vnode識別子504とファイル識
別子506が含まれている。ファイル識別子506は、
ボリューム、サーバ、およびファイル・データを含む。
VFS+/vnode識別子には、VFS/Vnode
sの標準仕様によって定義された情報が含まれている。
このような情報を含んでいるため、すべてのVFS/V
nodeインタフェースを完全にサポートすることがで
きる。本発明では、キャッシュの機能強化と切断時の操
作をサポートするため、このデータ構造に追加情報を付
加する。ボリューム項目508は、ファイルが属すボリ
ュームに関するボリューム情報データベース410内の
ボリューム項目545を指すポインタである。状態変数
510と状況構造512は、データに関するキャッシュ
状況情報を提供するために保管されているものである。
好ましい実施例では、C++プログラミング言語などの
ツールを使用してオブジェクト指向環境で実現されてい
るが、この状況構造はオブジェクト・クラスとして定義
されている。特定のオペレーティング・システム・ファ
イル(たとえば、OS/2またはAIX)用の状況構造
は、状況構造クラスのサブクラスを作成することで定義
される。このサブクラスは、ファイル状況を定義するの
に必要な正確な内容によって、状況構造クラスを指定変
更する。
File system object 502
Is a data structure that contains the information needed to access a remote file or a local cached copy of a remote file. A file system object entry is created in the cache for each remote file or directory referenced by the client workstation. The file system object contains a VFS + / vnode identifier 504 and a file identifier 506. The file identifier 506 is
Includes volume, server, and file data.
The VFS + / vnode identifier is VFS / Vnode.
It contains information defined by the s standard specification.
Because it contains such information, all VFS / V
It can fully support the node interface. In the present invention, additional information is added to this data structure in order to support the cache enhancement and the operation at the time of disconnection. Volume item 508 is a pointer to volume item 545 in volume information database 410 for the volume to which the file belongs. State variables 510 and status structure 512 are those that are stored to provide cache status information about the data.
In the preferred embodiment, implemented in an object oriented environment using tools such as the C ++ programming language, this situation structure is defined as an object class. The status structure for a particular operating system file (eg OS / 2 or AIX) is defined by creating a subclass of the status structure class. This subclass overrides the status structure class with the exact content needed to define the file status.

【0043】ファイル・システム・オブジェクトは、キ
ャッシュ一貫性情報514を保管する。この情報は、キ
ャッシュと、サーバおよびサーバ側の複製との一貫性を
確保するために使用する。アクセス制御リスト(AC
L)のリスト516は、IEEE POSIX規格によ
るファイル・システム・アクセスと修正に関する許可を
定義するものである。その他のフラグ情報は518に保
管されている。ボリュームのマウント状態は、親ポイン
タ522と優先順位情報524のように、520に保管
されている。それぞれのファイル・システム・オブジェ
クトには、どのオブジェクトを除去して新しいオブジェ
クト用の空間を設けるかを判別する場合に使用する優先
順位が割り当てられている。
The file system object stores cache coherency information 514. This information is used to ensure consistency between the cache and the server and server-side replicas. Access control list (AC
List 516 in L) defines permissions for file system access and modification according to the IEEE POSIX standard. Other flag information is stored in 518. The mount state of the volume is stored in 520 like the parent pointer 522 and the priority information 524. Each file system object is assigned a priority that is used in determining which object to remove to make room for a new object.

【0044】ファイル・システム・データは、ファイル
/ディレクトリ/記号リンク・ポインタ526を介して
アクセスされる。このポインタは、ファイル・システム
・オブジェクト・タイプに応じて、3通りのタイプのキ
ャッシュ・データへのアクセスを可能にする。データ・
ファイル用のファイル・システム・オブジェクトにはキ
ャッシュ・ファイル540を指すポインタが付けられ、
このキャッシュ・ファイル540はローカル・ファイル
・システム420内のローカル・キャッシュ・データ・
ファイルのコピーを指す。ディレクトリ・ポインタはキ
ャッシュ・ディレクトリ542を指す。このキャッシュ
・ディレクトリ542は、積極的なキャッシュ・スキー
ムに基づいて構築されている。特定のディレクトリに関
するディレクトリ情報が要求された場合は、そのディレ
クトリと、そのすぐ下の子ディレクトリがすべて返され
る。これにより、親ディレクトリ情報の直後に1つまた
は複数の子ディレクトリに関する情報が要求される確率
が高くなるため、キャッシュ・ミスの回数が削減され
る。ディレクトリ・キャッシュは、パス名解明に必要な
情報を提供する。すなわち、特定のデータ・ファイルに
特定のファイル・システム・パス要求がマッピングされ
る。最後に、ポインタ526は、キャッシュ記号リンク
情報544を指す場合がある。このキャッシュ情報によ
り、記号リンクの解明が可能になる。
File system data is accessed via the file / directory / symbol link pointer 526. This pointer allows access to three types of cached data, depending on the file system object type. data·
The file system object for the file is given a pointer to the cache file 540,
This cache file 540 is a local cache data file in the local file system 420.
Refers to a copy of a file. The directory pointer points to the cache directory 542. This cache directory 542 is built on the aggressive cache scheme. If directory information is requested for a particular directory, that directory and all of its immediate child directories are returned. This increases the probability that information about one or more child directories will be requested immediately after the parent directory information, thus reducing the number of cache misses. The directory cache provides the information needed for pathname resolution. That is, a particular file system path request is mapped to a particular data file. Finally, pointer 526 may point to cache symbol link information 544. This cached information enables the elucidation of symbolic links.

【0045】528では、各種のカウンタ、ロック、お
よびハンドルに関する項目が提供され、532では、ク
リーン状況の指標が提供される。クリーン状況標識53
2は、切断時の操作にとって重要なもので、調整状況を
示すために使用される。
At 528, items for various counters, locks, and handles are provided, and at 532, an indication of clean status is provided. Clean status indicator 53
2 is important for the operation at the time of disconnection and is used to indicate the adjustment status.

【0046】ファイル・システム・オブジェクトの名前
がデータ構造502に含まれないことに留意することは
重要である。このため、競合せずに様々なオブジェクト
名セットからファイル・システム・オブジェクトを参照
できるようになる。それぞれのファイル・システム・オ
ブジェクトは、複数の親オブジェクトを持つことができ
る。それぞれの親は、オブジェクト管理グループ(OM
G)の命名仕様、またはAIX、OS/2、その他のオ
ペレーティング・システムの命名仕様など、異なる命名
規則に適合していてもよい。その結果、特定のファイル
・オブジェクトemployee_listは、OS/
2からはc:\employee_listとして、A
IXからは/usr/employee_listとし
てアクセスすることができる。
It is important to note that the names of file system objects are not included in data structure 502. This allows file system objects to be referenced from different sets of object names without conflicts. Each file system object can have multiple parent objects. Each parent is an object management group (OM
Different naming conventions may be met, such as G) naming specifications, or AIX, OS / 2, and other operating system naming specifications. As a result, the specific file object employee_list is
From 2, set c: \ employee_list to A
It can be accessed from IX as / usr / employee_list.

【0047】キャッシュ管理プログラム406は、接続
時と切断時の両方の操作をサポートする。接続時の操作
中は、キャッシュ管理プログラム406は、キャッシュ
によるか、または必要であれば遠隔ファイル・アクセス
によるファイル・システム要求に応じる。切断時は、キ
ャッシュ管理プログラムは、キャッシュからの要求に応
じ、すべてのファイル・システム修正に関する修正ログ
546を管理する。
The cache management program 406 supports both connection and disconnection operations. During connect-time operation, cache manager 406 responds to file system requests by the cache, or by remote file access if necessary. Upon disconnection, the cache manager manages the fix log 546 for all file system fixes in response to requests from the cache.

【0048】本発明によるキャッシュ管理プログラムの
実施態様の1つを図6に示す。この実施例は、IBM
OS/2オペレーティング・システムで使用するために
設計されたものである。ファイル・システム要求は、”
doscall”コマンド602としてシステムから出
される。すべてのファイル・システム要求に対して、I
FSファイル・システム604が対応する。IFSは、
論理ファイル・システムの諸機能を提供するものであ
る。様々なタイプのファイル・システムをマウントし、
IFSでこれらのファイル・システムに対応することが
できる。マウントされるファイル・システムとしては、
DOSシステムに共通のFATファイル・システム60
6や、OS/2 HPFSファイル・システム608な
どが考えられる。LAN環境では、LANリクエスタ6
10が別のファイル・システムとして存在し、そこでフ
ァイル・アクセスがLANサーバに渡されて処置され
る。本発明によるキャッシュ管理プログラムは、別のタ
イプのファイル・システム612としてマウントするこ
とができる。このキャッシュ管理プログラム612に
は、すべての遠隔ファイル・システム・アクセスが渡さ
れる。キャッシュ管理プログラムは、(ユーザ・アドレ
ス空間で)キャッシュ614をテストして、要求された
情報がすでにキャッシュされているかどうかを判別す
る。キャッシュされている場合は、その情報がアプリケ
ーションに提供され、必要であれば、ローカル・ファイ
ル・システム606または608内に保持されているキ
ャッシュ・データの提供や修正も含む。ファイル・シス
テム・データが見つからない場合は、LANリクエスタ
610に要求が渡され、LANリクエスタがLANサー
バ上の必要なデータにアクセスする。遠隔データが到着
すると、今後の参照のためにこのデータがキャッシュ内
に置かれる。
FIG. 6 shows one embodiment of the cache management program according to the present invention. This example is based on IBM
It is designed for use with the OS / 2 operating system. File system requirements are "
issued by the system as a "doscall" command 602. I for all file system requests
The FS file system 604 corresponds. IFS
It provides the functions of a logical file system. Mount various types of file systems,
IFS can support these file systems. As the mounted file system,
FAT file system 60 common to DOS systems
6 and the OS / 2 HPFS file system 608 and the like. In a LAN environment, the LAN requester 6
10 exists as another file system, where file access is passed to the LAN server for treatment. The cache management program according to the present invention can be mounted as another type of file system 612. The cache management program 612 is passed all remote file system access. The cache manager tests the cache 614 (in the user address space) to determine if the requested information is already cached. If cached, that information is provided to the application, including provisioning and modification of cached data held in the local file system 606 or 608, if necessary. If the file system data is not found, the request is passed to the LAN requester 610 and the LAN requester accesses the required data on the LAN server. When the remote data arrives, it is placed in the cache for future reference.

【0049】ファイル書込みコマンドの処理の流れを示
す流れ図を図7に示す。他のファイル・システム・コマ
ンドも同様に実施される。処理は702から始まり、7
04でファイル書込みコマンドが出される。キャッシュ
管理プログラムは、706でキャッシュ内に要求された
ファイルがあるかどうかを判別するテストを行う。ファ
イルが存在する場合は、708でそのファイルのキャッ
シュ・コピーが更新される。次に、710でキャッシュ
をテストして、そのボリュームが現在接続されているか
どうかを判別する。接続状況は、ボリューム情報データ
ベース410に保管されている。ボリュームが接続され
ている場合は、712で変更内容がサーバに伝播され、
722で処理が終了する。ボリュームが接続されていな
い場合は、714で変更内容が修正ログに記録され、7
22で処理が終了する。
A flow chart showing the flow of processing of the file write command is shown in FIG. Other file system commands are implemented as well. The process starts at 702 and is 7
A file write command is issued at 04. The cache manager performs a test at 706 to determine if the requested file is in the cache. If the file exists, then at 708, the cached copy of the file is updated. The cache is then tested at 710 to determine if the volume is currently attached. The connection status is stored in the volume information database 410. If the volume is connected, the changes are propagated to the server at 712,
The process ends at 722. If the volume is not connected, the contents of the change are recorded in the correction log at 714.
The process ends at 22.

【0050】要求されたファイルがキャッシュ内に存在
しない場合は、キャッシュ管理プログラムは次に716
でテストを行い、要求されたボリュームが接続されてい
るかどうかを判別する。接続されている場合は、718
でファイルが遠隔ファイル・システムから要求されてキ
ャッシュ内に置かれ、ステップ708で処理が再開され
る。ボリュームが接続されていない場合は、720で障
害信号がアプリケーションに返される。
If the requested file does not exist in the cache, then the cache manager next returns 716.
To determine if the requested volume is attached. 718 if connected
The file is requested from the remote file system and placed in the cache at step 708 and processing resumes at step 708. If the volume is not connected, a fault signal is returned to the application at 720.

【0051】修正ログ546に修正内容をログ記録する
処理(ステップ714など)は、オブジェクトをログ記
録することによって達成される。問題定義域は、クライ
アントのログ修正クラスと、ログ記録された各種のタイ
プのトランザクションに対応する個別のクラスによって
表される。操作タイプごとに異なるオブジェクトが定義
されるため、たとえば、ファイル書込み、ファイル作
成、ファイル除去用にそれぞれ1つずつ存在するものと
思われる。714でキャッシュ管理プログラムが切断時
操作モードで変更内容をログ記録すると、要求された操
作に対応するログ・オブジェクト・タイプが作成される
(たとえば、ファイル書込み)。このオブジェクトをロ
グに入れるためにログ方法が呼び出される。このような
オブジェクト方法としては、再生のためにログを圧縮し
て最適化する方法がある。特定のオブジェクトをログ記
録すると、前にログ記録したオブジェクトが除去される
場合もある。たとえば、ファイルを作成して、後で除去
すると、ファイル除去オブジェクトによって、ファイル
作成ログ項目とファイル修正ログ項目が除去され、ファ
イル除去項目をログに記入せずにファイル除去オブジェ
クトが終了する。このシステムでは、再接続時にキャッ
シュと遠隔ファイル・システムとの同期が迅速かつ効率
よく行われるようになっている。ログ記録オブジェクト
内の情報のために、再生前にログを処理または圧縮する
必要がなくなる。
The process of logging the modification details in the modification log 546 (step 714, etc.) is accomplished by logging the object. The problem domain is represented by the client's log modification class and a separate class for each type of transaction logged. Since different objects are defined for each operation type, it is likely that there will be one each for writing files, creating files, and removing files, for example. When the cache manager logs the changes in the disconnect on operation mode at 714, a log object type corresponding to the requested operation is created (eg, file write). The logging method is called to log this object. As such an object method, there is a method of compressing and optimizing a log for reproduction. Logging certain objects may also remove previously logged objects. For example, if you create a file and later remove it, the file removal object removes the file creation log entry and the file modification log entry and ends the file removal object without logging the file removal entry. This system allows the cache to synchronize with the remote file system quickly and efficiently when reconnecting. The information in the logging object eliminates the need to process or compress the log prior to replay.

【0052】上記の説明により、本発明の真の精神を逸
脱せずに本発明の好ましい実施例において様々な変更態
様および変更が可能であることが理解されるだろう。上
記の説明は例示のみを目的とするものであるので、限定
的な意味で解釈すべきではない。本発明の範囲は、特許
請求の範囲に記載した用語によってのみ限定すべきであ
る。
From the above description, it will be understood that various modifications and changes can be made in the preferred embodiment of the present invention without departing from the true spirit of the invention. The above description is for purposes of illustration only and should not be construed in a limiting sense. The scope of the invention should be limited only by the terms set forth in the claims.

【0053】まとめとして、本発明の構成に関して以下
の事項を開示する。
In summary, the following matters will be disclosed regarding the configuration of the present invention.

【0054】(1)第一のオペレーティング・システム
下で動作するクライアント・コンピュータ・システムの
ファイル・システム・キャッシュを管理する方法におい
て、前記方法が、分散ファイル・システム内のファイル
・システム・オブジェクトを求めるオペレーティング・
システム要求を代行受信(インターセプト)するステッ
プと、オペレーティング・システム依存構文を除去する
ために前記要求を変換するステップと、前記クライアン
トの記憶手段のキャッシュをテストして、変換された前
記要求に基づくファイル・システム・オブジェクト・デ
ータが存在するかどうかを確認するステップと、キャッ
シュ・データが存在する場合に、前記ファイル・システ
ム・オブジェクト要求に応じるステップとを含む方法。 (2)前記分散ファイル・システムへの接続が存在する
かどうかを判別するためのテストを行うステップと、キ
ャッシュ・データが存在せず、接続が存在する場合に、
分散ファイル・システム・プロトコルにかかわらず、前
記分散ファイル・システムから前記ファイル・システム
・オブジェクトを求める要求を生成するステップと、前
記要求を前記分散ファイル・システムに送信するステッ
プと、キャッシュ・データが存在せず、接続も存在しな
い場合に、前記ファイル・システム・オブジェクト要求
を拒否するステップとをさらに含むことを特徴とする、
上記(1)に記載の方法。 (3)前記要求を送信するステップが、要求された前記
ファイル・システム・オブジェクト用の分散ファイル・
システム・プロトコルを判別するステップと、オペレー
ティング・システムに依存しない前記要求を、判別され
た前記分散ファイル・システム・プロトコルに適合する
要求に変換するステップと、変換された前記要求を前記
分散ファイル・システムに送信するステップとを含むこ
とを特徴とする、上記(2)に記載の方法。 (4)前記テスト・ステップによって、前記分散ファイ
ル・システムへの接続が存在しないと判別された場合
に、必ず後続ステップを実行するステップと、前記ファ
イル・システム・オブジェクトをテストして、要求タイ
プを判別するステップと、前記要求タイプに対応する要
求ログ記録オブジェクトを活動化するステップと、前記
ファイル・システム・オブジェクト要求をログ記録する
ためにログ修正方法を呼び出すステップと、前記要求タ
イプに対応するログ最適化処理を実行することにより、
前記ファイル・システム・オブジェクト要求をログ記録
するステップとをさらに含むことを特徴とする、上記
(2)に記載の方法。 (5)記録手段にファイル・システム・オブジェクト・
データを格納するためのキャッシュ手段と、前記キャッ
シュ手段を使用して、ファイル・システム・オブジェク
トを求めるオペレーティング・システム要求に応じるた
めのキャッシュ管理手段であって、オペレーティング・
システム構文から独立し、分散ファイル・システム・プ
ロトコルから独立しているキャッシュ管理手段と、切離
し可能な方法で前記キャッシュ管理手段をファイル・シ
ステム・オブジェクト・サーバに接続するネットワーク
手段と、前記ネットワーク手段を介してファイル・シス
テム・オブジェクト要求にアクセスするための遠隔ファ
イル・アクセス手段とを含むコンピュータ・ファイル・
システム。 (6)前記キャッシュ手段が前記ファイル・システム・
オブジェクト・サーバから切断されているときに、前記
キャッシュ管理手段によって処理される各オペレーティ
ング・システム要求ごとに変更情報を収集するためのオ
ブジェクト修正ログ記録手段をさらに含むことを特徴と
する、上記(5)に記載のシステム。 (7)クライアント・システムによる分散ファイル・シ
ステムへの名前参照をキャッシュする方法において、前
記方法が、分離文字構文から独立するように前記名前参
照を変換するステップと、前記分散ファイル・システム
から構文に依存しない名前解明を要求するステップと、
構文に依存しない前記名前を解明するステップと、解明
した名前と、前記解明した名前の各パス構成要素のすぐ
下の子構成要素のすべての名前とを、前記クライアント
・システムでキャッシュするステップとを含む方法。 (8)複数のファイル・システム・オブジェクト・デー
タ項目(エントリ)を格納するための記憶手段と、前記
ファイル・システム・オブジェクト・データ項目のそれ
ぞれをファイル・ボリュームにリンクするための第一の
リンク手段と、前記ファイル・システム・データ・オブ
ジェクトのそれぞれを、ローカル・データ記憶装置内の
任意の場所か、ローカル・メモリ内のディレクトリ・キ
ャッシュか、またはローカル・メモリ内の記号リンクの
いずれかにリンクするための第二のリンク手段とを含
む、ファイルシステム情報を保管するためのコンピュー
タ・システム・キャッシュ装置。 (9)前記ファイル・システム・オブジェクト・データ
項目が、いずれのファイル・システム・オブジェクト名
からも独立し、それぞれが異なる命名構文を有する複数
の親ファイル・システム・オブジェクトによって参照可
能であることを特徴とする、上記(8)に記載のコンピ
ュータ・システム・キャッシュ装置。 (10)前記キャッシュが前記ファイル・ボリュームか
ら切断されているときに、前記複数のファイル・システ
ム・オブジェクト・データ項目によって参照されるオブ
ジェクトに対して行ったすべての変更を、各ファイル・
ボリュームごとにログ記録するためのログ記録手段をさ
らに含むことを特徴とする、上記(8)に記載のコンピ
ュータ・システム・キャッシュ装置。 (11)ファイル・システム・オブジェクト・データを
求めるオペレーティング・システム要求を受け入れ、そ
の要求をオペレーティング・システムに依存しない要求
に変換するためのインタフェース手段をさらに含むこと
を特徴とする、上記(8)に記載のコンピュータ・シス
テム・キャッシュ装置。 (12)前記キャッシュが前記ファイル・ボリュームか
ら切断されているときに、前記複数のファイル・システ
ム・オブジェクト・データ項目によって参照されるオブ
ジェクトに対して行ったすべての変更を、各ファイル・
ボリュームごとにログ記録するためのログ記録手段をさ
らに含むことを特徴とする、上記(9)に記載のコンピ
ュータ・システム・キャッシュ装置。 (13)ファイル・システム・オブジェクト・データを
求めるオペレーティング・システム要求を受け入れ、そ
の要求をオペレーティング・システムに依存しない要求
に変換するためのインタフェース手段をさらに含むこと
を特徴とする、上記(9)に記載のコンピュータ・シス
テム・キャッシュ装置。 (14)前記ディレクトリ・キャッシュ手段が、要求さ
れたファイル・システム・データ・オブジェクトに関す
る解明されたディレクトリ項目を格納するための手段
と、要求された前記ファイル・システム・データ・オブ
ジェクトの各パス構成要素のすぐ下の階層にあるオブジ
ェクトに関する解明されたディレクトリ項目を格納する
ための手段とを含むことを特徴とする、上記(11)に
記載のコンピュータ・システム・キャッシュ装置。 (15)前記ディレクトリ・キャッシュ手段が、要求さ
れたファイル・システム・データ・オブジェクトに関す
る解明されたディレクトリ項目を格納するための手段
と、要求された前記ファイル・システム・データ・オブ
ジェクトの各パス構成要素のすぐ下の階層にあるオブジ
ェクトに関する解明されたディレクトリ項目を格納する
ための手段とを含むことを特徴とする、上記(13)に
記載のコンピュータ・システム・キャッシュ装置。
(1) A method of managing a file system cache of a client computer system operating under a first operating system, said method determining a file system object in a distributed file system. operating·
Intercepting system requests, transforming the request to remove operating system dependent syntax, testing a cache of the client's storage, and writing a file based on the transformed request A method comprising: checking if system object data is present, and responding to the file system object request if cache data is present. (2) performing a test to determine if a connection to the distributed file system exists, and if no cached data exists and a connection exists,
Generating a request from the distributed file system for the file system object regardless of the distributed file system protocol; sending the request to the distributed file system; and having cached data And rejecting the file system object request when there is no connection.
The method according to (1) above. (3) The step of sending the request includes a distributed file for the requested file system object.
Determining a system protocol, converting the operating system independent request into a request conforming to the determined distributed file system protocol, and converting the converted request to the distributed file system The method according to (2) above, further comprising the step of: (4) If the test step determines that there is no connection to the distributed file system, then always perform the subsequent steps and test the file system object to determine the request type. Determining, activating a request logging object corresponding to the request type, invoking a log modification method to log the file system object request, and a log corresponding to the request type By executing the optimization process,
Further comprising logging the file system object request. (5) A file system object
Cache means for storing data, and cache management means for using said cache means to satisfy operating system requests for file system objects
Cache management means independent of system syntax and distributed file system protocol; network means for connecting the cache management means to a file system object server in a detachable manner; A computer file including remote file access means for accessing file system object requests via
system. (6) The cache means is the file system
(5) further comprising object modification log recording means for collecting change information for each operating system request processed by the cache management means when disconnected from the object server. ) Described in the system. (7) In a method of caching a name reference to a distributed file system by a client system, the method converting the name reference to be independent of separator syntax, and from the distributed file system to the syntax. Requesting independent name resolution,
Resolving the syntax-independent name, and caching the resolved name and all names of child components immediately below each path component of the resolved name on the client system. How to include. (8) Storage means for storing a plurality of file system object data items (entries), and first linking means for linking each of the file system object data items to a file volume And linking each of said file system data objects either anywhere in local data storage, to a directory cache in local memory, or to a symbolic link in local memory. A computer system cache device for storing file system information, including a second linking means for storing the file system information. (9) The file system object data item is independent of any file system object name and can be referenced by a plurality of parent file system objects each having a different naming syntax. The computer system cache device according to (8) above. (10) All changes made to the objects referenced by the plurality of file system object data items when the cache is disconnected from the file volume
The computer system cache device according to (8) above, further comprising a log recording unit for recording a log for each volume. (11) In the above (8), further comprising interface means for accepting an operating system request for file system object data and converting the request into an operating system independent request. Computer system cache device as described. (12) All changes made to the objects referenced by the plurality of file system object data items while the cache is disconnected from the file volume are stored in each file.
The computer system cache device according to (9) above, further comprising a log recording unit for recording a log for each volume. (13) In (9) above, further including interface means for accepting an operating system request for file system object data and converting the request into an operating system independent request. Computer system cache device as described. (14) Means for the directory cache means to store resolved directory entries for requested file system data objects, and each path component of the requested file system data objects. Means for storing resolved directory entries for objects in the hierarchy immediately below the computer system cache device according to (11) above. (15) means for the directory cache means to store resolved directory entries for requested file system data objects, and each path component of the requested file system data objects Means for storing resolved directory entries for objects in the hierarchy immediately below the computer system cache device according to (13) above.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明が実施される分散ネットワーク環境を示
す図である。
FIG. 1 is a diagram illustrating a distributed network environment in which the present invention is implemented.

【図2】本発明の一実施例を取り入れたワークステーシ
ョンのブロック図である。
FIG. 2 is a block diagram of a workstation incorporating one embodiment of the present invention.

【図3】先行技術の分散ファイル・システムのブロック
図である。
FIG. 3 is a block diagram of a prior art distributed file system.

【図4】本発明の一実施例の機能構成要素を示すブロッ
ク図である。
FIG. 4 is a block diagram showing functional components of an embodiment of the present invention.

【図5】本発明の好ましい実施例のデータ構造を示す図
である。
FIG. 5 is a diagram showing a data structure of a preferred embodiment of the present invention.

【図6】本発明の代替実施例のブロック図である。FIG. 6 is a block diagram of an alternative embodiment of the present invention.

【図7】本発明の一実施例の処理ステップを示す流れ図
である。
FIG. 7 is a flow chart showing the processing steps of one embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100 LAN/WAN 102 クライアントC1 104 サーバS1 106 クライアントC2 108 クライアントC3 110 サーバS3 112 サーバS2 100 LAN / WAN 102 Client C1 104 Server S1 106 Client C2 108 Client C3 110 Server S3 112 Server S2

───────────────────────────────────────────────────── フロントページの続き (72)発明者 セブネム・ジャージー アメリカ合衆国78758 テキサス州オース チン チェーリー・ドライブ 12004 (72)発明者 アマル・アハメド・シャーヒーン アメリカ合衆国78759 テキサス州オース チン パスファインダー・ドライブ 6321 (72)発明者 リチャード・バイロン・ワード アメリカ合衆国78726 テキサス州オース チン アップルツリー・レーン 11208 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Sevenem Jersey United States 78758 Austin Cherley Drive, Texas 12004 (72) Inventor Amal Ahmed Sherheen United States 78759 Austin Pathfinder Drive, Texas 6321 (72) Invention Richard Byron Ward United States 78726 Austin, Texas Appletree Lane 11208

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】第一のオペレーティング・システム下で動
作するクライアント・コンピュータ・システムのファイ
ル・システム・キャッシュを管理する方法において、前
記方法が、 分散ファイル・システム内のファイル・システム・オブ
ジェクトを求めるオペレーティング・システム要求を代
行受信(インターセプト)するステップと、 オペレーティング・システム依存構文を除去するために
前記要求を変換するステップと、 前記クライアントの記憶手段のキャッシュをテストし
て、変換された前記要求に基づくファイル・システム・
オブジェクト・データが存在するかどうかを確認するス
テップと、 キャッシュ・データが存在する場合に、前記ファイル・
システム・オブジェクト要求に応じるステップとを含む
方法。
1. A method for managing a file system cache of a client computer system operating under a first operating system, the method comprising: operating on a file system object in a distributed file system. Intercepting system requests, transforming the requests to remove operating system dependent syntax, testing a cache of the client's storage, and based on the transformed requests File system
Checking if object data exists, and if cached data exists, the file
Responding to a system object request.
【請求項2】前記分散ファイル・システムへの接続が存
在するかどうかを判別するためのテストを行うステップ
と、 キャッシュ・データが存在せず、接続が存在する場合
に、分散ファイル・システム・プロトコルにかかわら
ず、前記分散ファイル・システムから前記ファイル・シ
ステム・オブジェクトを求める要求を生成するステップ
と、 前記要求を前記分散ファイル・システムに送信するステ
ップと、 キャッシュ・データが存在せず、接続も存在しない場合
に、前記ファイル・システム・オブジェクト要求を拒否
するステップとをさらに含むことを特徴とする、請求項
1に記載の方法。
2. A step of performing a test to determine if a connection to the distributed file system exists, and a distributed file system protocol when cache data is not present and the connection is present. Regardless of the above, generating a request for the file system object from the distributed file system, sending the request to the distributed file system, no cached data and no connection The method of claim 1, further comprising: rejecting the file system object request if not.
【請求項3】前記要求を送信するステップが、 要求された前記ファイル・システム・オブジェクト用の
分散ファイル・システム・プロトコルを判別するステッ
プと、 オペレーティング・システムに依存しない前記要求を、
判別された前記分散ファイル・システム・プロトコルに
適合する要求に変換するステップと、 変換された前記要求を前記分散ファイル・システムに送
信するステップとを含むことを特徴とする、請求項2に
記載の方法。
3. The step of sending the request determines the distributed file system protocol for the requested file system object; and the request independent of the operating system.
3. The method according to claim 2, further comprising the steps of: converting the request that conforms to the determined distributed file system protocol, and transmitting the converted request to the distributed file system. Method.
【請求項4】前記テスト・ステップによって、前記分散
ファイル・システムへの接続が存在しないと判別された
場合に、必ず後続ステップを実行するステップと、 前記ファイル・システム・オブジェクトをテストして、
要求タイプを判別するステップと、 前記要求タイプに対応する要求ログ記録オブジェクトを
活動化するステップと、 前記ファイル・システム・オブジェクト要求をログ記録
するためにログ修正方法を呼び出すステップと、 前記要求タイプに対応するログ最適化処理を実行するこ
とにより、前記ファイル・システム・オブジェクト要求
をログ記録するステップとをさらに含むことを特徴とす
る、請求項2に記載の方法。
4. If the test step determines that there is no connection to the distributed file system, then the following step must be performed, and the file system object must be tested.
Determining a request type; activating a request logging object corresponding to the request type; invoking a log modification method to log the file system object request; Logging said file system object request by performing a corresponding log optimization process.
【請求項5】記録手段にファイル・システム・オブジェ
クト・データを格納するためのキャッシュ手段と、 前記キャッシュ手段を使用して、ファイル・システム・
オブジェクトを求めるオペレーティング・システム要求
に応じるためのキャッシュ管理手段であって、オペレー
ティング・システム構文から独立し、分散ファイル・シ
ステム・プロトコルから独立しているキャッシュ管理手
段と、 切離し可能な方法で前記キャッシュ管理手段をファイル
・システム・オブジェクト・サーバに接続するネットワ
ーク手段と、 前記ネットワーク手段を介してファイル・システム・オ
ブジェクト要求にアクセスするための遠隔ファイル・ア
クセス手段とを含むコンピュータ・ファイル・システ
ム。
5. A cache means for storing file system object data in a recording means, and a file system using the cache means.
A cache management means for responding to an operating system request for an object, the cache management means being independent of operating system syntax and distributed file system protocol, and the cache management in a detachable manner. A computer file system including network means for connecting the means to a file system object server and remote file access means for accessing file system object requests via said network means.
【請求項6】前記キャッシュ手段が前記ファイル・シス
テム・オブジェクト・サーバから切断されているとき
に、前記キャッシュ管理手段によって処理される各オペ
レーティング・システム要求ごとに変更情報を収集する
ためのオブジェクト修正ログ記録手段をさらに含むこと
を特徴とする、請求項5に記載のシステム。
6. An object modification log for collecting change information for each operating system request processed by the cache management means when the cache means is disconnected from the file system object server. System according to claim 5, characterized in that it further comprises recording means.
【請求項7】クライアント・システムによる分散ファイ
ル・システムへの名前参照をキャッシュする方法におい
て、前記方法が、 分離文字構文から独立するように前記名前参照を変換す
るステップと、 前記分散ファイル・システムから構文に依存しない名前
解明を要求するステップと、 構文に依存しない前記名前を解明するステップと、 解明した名前と、前記解明した名前の各パス構成要素の
すぐ下の子構成要素のすべての名前とを、前記クライア
ント・システムでキャッシュするステップとを含む方
法。
7. A method of caching a name reference to a distributed file system by a client system, the method converting the name reference to be independent of separator character syntax; and from the distributed file system. Requesting syntax-independent name resolution, resolving the name independent of syntax, resolving the name, and all names of child components immediately below each path component of the resolving name. On the client system.
【請求項8】複数のファイル・システム・オブジェクト
・データ項目(エントリ)を格納するための記憶手段
と、 前記ファイル・システム・オブジェクト・データ項目の
それぞれをファイル・ボリュームにリンクするための第
一のリンク手段と、 前記ファイル・システム・データ・オブジェクトのそれ
ぞれを、ローカル・データ記憶装置内の任意の場所か、
ローカル・メモリ内のディレクトリ・キャッシュか、ま
たはローカル・メモリ内の記号リンクのいずれかにリン
クするための第二のリンク手段とを含む、ファイルシス
テム情報を保管するためのコンピュータ・システム・キ
ャッシュ装置。
8. A storage means for storing a plurality of file system object data items (entries), and a first means for linking each of said file system object data items to a file volume. Linking means and each of said file system data objects anywhere in local data storage,
A computer system cache device for storing file system information comprising a directory cache in local memory or a second linking means for linking to either a symbolic link in local memory.
【請求項9】前記ファイル・システム・オブジェクト・
データ項目が、いずれのファイル・システム・オブジェ
クト名からも独立し、それぞれが異なる命名構文を有す
る複数の親ファイル・システム・オブジェクトによって
参照可能であることを特徴とする、請求項8に記載のコ
ンピュータ・システム・キャッシュ装置。
9. The file system object
9. The computer of claim 8, wherein the data item is independent of any file system object name and can be referenced by multiple parent file system objects, each having a different naming syntax. -System cache device.
【請求項10】前記キャッシュが前記ファイル・ボリュ
ームから切断されているときに、前記複数のファイル・
システム・オブジェクト・データ項目によって参照され
るオブジェクトに対して行ったすべての変更を、各ファ
イル・ボリュームごとにログ記録するためのログ記録手
段をさらに含むことを特徴とする、請求項8に記載のコ
ンピュータ・システム・キャッシュ装置。
10. The plurality of files when the cache is disconnected from the file volume.
9. The method of claim 8 further comprising logging means for logging, for each file volume, all changes made to the object referenced by the system object data item. Computer system cache device.
【請求項11】ファイル・システム・オブジェクト・デ
ータを求めるオペレーティング・システム要求を受け入
れ、その要求をオペレーティング・システムに依存しな
い要求に変換するためのインタフェース手段をさらに含
むことを特徴とする、請求項8に記載のコンピュータ・
システム・キャッシュ装置。
11. The method of claim 8 further comprising interface means for accepting operating system requests for file system object data and converting the requests into operating system independent requests. Computer described in
System cache device.
【請求項12】前記キャッシュが前記ファイル・ボリュ
ームから切断されているときに、前記複数のファイル・
システム・オブジェクト・データ項目によって参照され
るオブジェクトに対して行ったすべての変更を、各ファ
イル・ボリュームごとにログ記録するためのログ記録手
段をさらに含むことを特徴とする、請求項9に記載のコ
ンピュータ・システム・キャッシュ装置。
12. The plurality of files when the cache is disconnected from the file volume.
10. The method of claim 9, further comprising logging means for logging, for each file volume, all changes made to the object referenced by the system object data item. Computer system cache device.
【請求項13】ファイル・システム・オブジェクト・デ
ータを求めるオペレーティング・システム要求を受け入
れ、その要求をオペレーティング・システムに依存しな
い要求に変換するためのインタフェース手段をさらに含
むことを特徴とする、請求項9に記載のコンピュータ・
システム・キャッシュ装置。
13. An interface means for accepting an operating system request for file system object data and converting the request into an operating system independent request. Computer described in
System cache device.
【請求項14】前記ディレクトリ・キャッシュ手段が、 要求されたファイル・システム・データ・オブジェクト
に関する解明されたディレクトリ項目を格納するための
手段と、 要求された前記ファイル・システム・データ・オブジェ
クトの各パス構成要素のすぐ下の階層にあるオブジェク
トに関する解明されたディレクトリ項目を格納するため
の手段とを含むことを特徴とする、請求項11に記載の
コンピュータ・システム・キャッシュ装置。
14. The directory cache means for storing resolved directory entries for a requested file system data object, and each path of the requested file system data object. 12. A computer system cache device according to claim 11, including means for storing resolved directory entries for objects in the hierarchy immediately below the component.
【請求項15】前記ディレクトリ・キャッシュ手段が、 要求されたファイル・システム・データ・オブジェクト
に関する解明されたディレクトリ項目を格納するための
手段と、 要求された前記ファイル・システム・データ・オブジェ
クトの各パス構成要素のすぐ下の階層にあるオブジェク
トに関する解明されたディレクトリ項目を格納するため
の手段とを含むことを特徴とする、請求項13に記載の
コンピュータ・システム・キャッシュ装置。
15. A means for the directory cache means to store resolved directory entries for a requested file system data object, and each path of the requested file system data object. 14. A computer system cache device according to claim 13 including means for storing resolved directory entries for objects in the hierarchy immediately below the component.
JP6295474A 1994-03-07 1994-11-30 Cache management method, computer file system and cache device Expired - Fee Related JP2705006B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/206,706 US6119151A (en) 1994-03-07 1994-03-07 System and method for efficient cache management in a distributed file system
US206706 1994-03-07

Publications (2)

Publication Number Publication Date
JPH07262074A true JPH07262074A (en) 1995-10-13
JP2705006B2 JP2705006B2 (en) 1998-01-26

Family

ID=22767588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6295474A Expired - Fee Related JP2705006B2 (en) 1994-03-07 1994-11-30 Cache management method, computer file system and cache device

Country Status (14)

Country Link
US (1) US6119151A (en)
EP (1) EP0749602B1 (en)
JP (1) JP2705006B2 (en)
KR (1) KR0170561B1 (en)
CN (1) CN1132109C (en)
AT (1) ATE177223T1 (en)
BR (1) BR9500819A (en)
CA (1) CA2142797C (en)
CZ (1) CZ260296A3 (en)
DE (1) DE69416875T2 (en)
HU (1) HU219996B (en)
PL (1) PL176975B1 (en)
RU (1) RU2170454C2 (en)
WO (1) WO1995024685A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149310A (en) * 1996-09-30 1998-06-02 Internatl Business Mach Corp <Ibm> Cache management system and method for mobile user file system
JP2011501317A (en) * 2007-10-24 2011-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for providing continuous data protection
JP2013541788A (en) * 2010-11-16 2013-11-14 インテル・コーポレーション Endpoint cache for data storage systems
JP2014503086A (en) * 2011-04-08 2014-02-06 株式会社日立製作所 File system and data processing method
JP2016162168A (en) * 2015-03-02 2016-09-05 株式会社メガチップス Cache file system

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634122A (en) 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US5774670A (en) 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
GB9604987D0 (en) * 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5832512A (en) * 1996-04-15 1998-11-03 Sun Microsystems, Inc. Apparatus and method for file number re-mapping for disconnected operations in a client-server network
US6125403A (en) * 1996-05-01 2000-09-26 Sun Microsystems, Inc. Method for implementing a non-volatile caching product for networks and CD-ROMS
US5806085A (en) * 1996-05-01 1998-09-08 Sun Microsystems, Inc. Method for non-volatile caching of network and CD-ROM file accesses using a cache directory, pointers, file name conversion, a local hard disk, and separate small database
US5740432A (en) * 1996-05-28 1998-04-14 Sun Microsystems, Inc. Log file optimization in a client/server computing system
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US5826021A (en) * 1996-09-17 1998-10-20 Sun Microsystems, Inc. Disconnected write authorization in a client/server computing system
US5835698A (en) * 1996-09-20 1998-11-10 Novell, Inc. Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method
US6678724B2 (en) * 1997-03-12 2004-01-13 Microsoft Corporation Common namespace for internet and local filesystem objects
CZ297034B6 (en) * 1998-03-17 2006-08-16 Virtual information system
DE19817617C1 (en) * 1998-04-21 1999-09-09 Deutsche Telekom Mobil Data conversion method for converting data between different data processor formats, e.g. for digital mobile radio network
US6757705B1 (en) * 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US8225002B2 (en) * 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
CN1108578C (en) * 1999-01-28 2003-05-14 国际商业机器公司 Method and apparatus of invoking and providing response for off-line customer
JP2000293424A (en) * 1999-04-09 2000-10-20 Hitachi Ltd Network cache device and cache controlling method
US7596563B1 (en) * 1999-10-28 2009-09-29 Hewlett-Packard Development Company, L.P. Computerized file system and method
US6792436B1 (en) * 2000-02-11 2004-09-14 Persistence Software, Inc. Method for synchronizing multiple software caches in a memory
CA2400967A1 (en) * 2000-02-24 2001-08-30 Siemens Aktiengesellschaft Method and device for synchronising a programme running on a first computer with a programme running on a server, computer-readable storage medium and computer programme element
DK1269714T3 (en) * 2000-03-30 2007-01-08 Intel Corp Method and apparatus for distributed temporary storage
US7987217B2 (en) * 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
US7389493B1 (en) 2000-05-12 2008-06-17 Oracle International Corporation Categories on a per instance basis
US7185005B1 (en) 2000-05-12 2007-02-27 Oracle International Corporation Nested transactions in a file system
US7421541B2 (en) 2000-05-12 2008-09-02 Oracle International Corporation Version management of cached permissions metadata
US7203709B2 (en) 2000-05-12 2007-04-10 Oracle International Corporation Transaction-aware caching for access control metadata
US6728716B1 (en) * 2000-05-16 2004-04-27 International Business Machines Corporation Client-server filter computing system supporting relational database records and linked external files operable for distributed file system
US7127486B1 (en) 2000-07-24 2006-10-24 Vignette Corporation Method and system for facilitating marketing dialogues
US6842770B1 (en) * 2000-08-18 2005-01-11 Apple Computer, Inc. Method and system for seamlessly accessing remotely stored files
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US6774919B2 (en) * 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US7287226B2 (en) * 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US6882891B2 (en) 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US7103677B2 (en) * 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US6768499B2 (en) * 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US6959438B2 (en) 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US7447754B2 (en) * 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US8990334B2 (en) * 2001-04-26 2015-03-24 Nokia Corporation Rule-based caching for packet-based data transfer
US7743109B2 (en) * 2001-08-01 2010-06-22 Cisco Technology, Inc. Reducing round trips across a wide area network for resource locking by extended locking and delayed unlocking
EP1563389A4 (en) * 2001-08-01 2008-06-25 Actona Technologies Ltd Virtual file-sharing network
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US7062515B1 (en) 2001-12-28 2006-06-13 Vignette Corporation System and method for the synchronization of a file in a cache
US7409396B2 (en) * 2002-02-08 2008-08-05 Pitts William M Method for creating an extensible content distribution framework
US6922757B2 (en) * 2002-02-15 2005-07-26 Exanet Inc. Flexible and adaptive read and write storage system architecture
US6968345B1 (en) * 2002-02-27 2005-11-22 Network Appliance, Inc. Technique to enable support for symbolic link access by windows clients
GB2389201B (en) * 2002-05-29 2005-11-02 Flyingspark Ltd Methods and system for using caches
GB2412769B (en) * 2002-05-29 2006-09-13 Flyingspark Ltd Methods and systems for using caches
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
US7051174B2 (en) * 2002-09-24 2006-05-23 International Business Machines Corporation Method, system, and program for restoring data in cache
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US6970975B2 (en) * 2002-11-15 2005-11-29 Exanet Co. Method for efficient caching and enumerating objects in distributed storage systems
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
CN1754155A (en) * 2003-01-17 2006-03-29 泰斯特网络公司 Method and system for use of storage caching with a distributed file system
US6981097B2 (en) * 2003-03-14 2005-12-27 Wisconsin Alumni Research Foundation Token based cache-coherence protocol
US7729919B2 (en) * 2003-07-03 2010-06-01 Microsoft Corporation Combining use of a stepwise markup language and an object oriented development tool
US7827216B1 (en) * 2003-07-23 2010-11-02 Novell, Inc. Method for coordinating relationships between multiple physical entities
US7512990B2 (en) * 2003-10-16 2009-03-31 International Business Machines Corporation Multiple simultaneous ACL formats on a filesystem
US8473634B2 (en) 2003-10-23 2013-06-25 Microsoft Corporation System and method for name resolution
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7590845B2 (en) * 2003-12-22 2009-09-15 Lenovo Singapore Pte. Ltd. Key cache management through multiple localities
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US8135755B2 (en) * 2005-06-29 2012-03-13 Microsoft Corporation Templates in a schema editor
JP4020091B2 (en) 2004-03-10 2007-12-12 日本電気株式会社 Data transmission / reception system, data transmission / reception method, and data transmission / reception program
JP2005267497A (en) * 2004-03-22 2005-09-29 Hitachi Global Storage Technologies Netherlands Bv Data storage device, its control method and magnetic disk storage device
US20050273486A1 (en) * 2004-06-03 2005-12-08 Keith Robert O Jr Virtual distributed file system
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
KR20070037650A (en) 2004-07-23 2007-04-05 사이트릭스 시스템스, 인크. A method and systems for routing packets from an endpoint to a gateway
US7609721B2 (en) 2004-07-23 2009-10-27 Citrix Systems, Inc. Systems and methods for adjusting the maximum transmission unit for encrypted communications
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US7584220B2 (en) * 2004-10-01 2009-09-01 Microsoft Corporation System and method for determining target failback and target priority for a distributed file system
US8429192B2 (en) * 2004-12-02 2013-04-23 International Business Machines Corporation System and method for supporting a plurality of access control list types for a file system in an operating system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US7664788B2 (en) * 2005-01-10 2010-02-16 Microsoft Corporation Method and system for synchronizing cached files
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7568220B2 (en) * 2005-04-19 2009-07-28 Cisco Technology, Inc. Connecting VPN users in a public network
US20070028291A1 (en) 2005-07-29 2007-02-01 Bit 9, Inc. Parametric content control in a network security system
US8984636B2 (en) * 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) * 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) * 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US20070038884A1 (en) * 2005-08-10 2007-02-15 Spare Backup, Inc. System and method of remote storage of data using client software
US7805602B1 (en) 2005-11-10 2010-09-28 Cisco Technology, Inc. Prioritized call admission control for internet key exchange
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US7743026B2 (en) * 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files
US7814501B2 (en) * 2006-03-17 2010-10-12 Microsoft Corporation Application execution in a network based environment
US20080022392A1 (en) * 2006-07-05 2008-01-24 Cisco Technology, Inc. Resolution of attribute overlap on authentication, authorization, and accounting servers
US7571594B2 (en) * 2006-07-28 2009-08-11 Milliken & Company Composite yarn and process for producing the same
GB2442285A (en) * 2006-09-07 2008-04-02 Fujin Technology Plc A distributed file system
US9141627B2 (en) * 2006-09-26 2015-09-22 Sony Corporation Providing a user access to data files distributed in a plurality of different types of user devices
US7734733B1 (en) 2007-06-15 2010-06-08 Packeteer, Inc. WAFS disconnected-mode read-write access
US8346966B1 (en) * 2007-07-19 2013-01-01 Blue Coat Systems, Inc. Transparent file system access for wide area network file system acceleration
US20090037915A1 (en) * 2007-07-31 2009-02-05 Rothman Michael A Staging block-based transactions
US9135284B1 (en) 2008-03-13 2015-09-15 Blue Coat Systems, Inc. Composite execution of rename operations in wide area file systems
US9442850B1 (en) 2008-03-25 2016-09-13 Blue Coat Systems, Inc. Efficient directory refresh operations in wide area file systems
CN101334797B (en) * 2008-08-04 2010-06-02 中兴通讯股份有限公司 Distributed file systems and its data block consistency managing method
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
US20100082546A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Storage Tiers for Database Server System
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US8495044B2 (en) * 2009-09-02 2013-07-23 Microsoft Corporation File system node updates
WO2011075019A1 (en) * 2009-12-16 2011-06-23 Telefonaktiebolaget L M Ericsson (Publ) A method, server, computer program and computer program product for caching
JP5483561B2 (en) * 2010-02-25 2014-05-07 楽天株式会社 Storage device, server device, storage system, database device, data providing method, and program
US9020992B1 (en) * 2010-12-09 2015-04-28 Symantec Corporation Systems and methods for facilitating file archiving
US8756509B2 (en) * 2011-07-27 2014-06-17 International Business Machines Corporation Visually representing and managing access control of resources
KR101175505B1 (en) * 2011-10-06 2012-08-20 한화에스앤씨주식회사 System for providing user data storage enviroment using network based file system in n-screen
CN102841931A (en) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 Storage method and storage device of distributive-type file system
US9507800B2 (en) 2013-10-23 2016-11-29 Netapp, Inc. Data management in distributed file systems
US9575974B2 (en) * 2013-10-23 2017-02-21 Netapp, Inc. Distributed file system gateway
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US9591489B2 (en) 2015-07-09 2017-03-07 International Business Machines Corporation Controlling application access to applications and resources via graphical representation and manipulation
US9946719B2 (en) 2015-07-27 2018-04-17 Sas Institute Inc. Distributed data set encryption and decryption
US9811524B2 (en) 2015-07-27 2017-11-07 Sas Institute Inc. Distributed data set storage and retrieval
RU2617631C2 (en) * 2015-09-30 2017-04-25 Акционерное общество "Лаборатория Касперского" Method for detection working malicious software runned from client, on server
US10255180B2 (en) 2015-12-11 2019-04-09 Netapp, Inc. Server-based persistence management in user space
US20170255569A1 (en) * 2016-03-01 2017-09-07 Qualcomm Incorporated Write-allocation for a cache based on execute permissions
US10209907B2 (en) * 2016-06-14 2019-02-19 Microsoft Technology Licensing, Llc Secure removal of sensitive data
CN106250547A (en) * 2016-08-12 2016-12-21 福建中金在线信息科技有限公司 A kind of method controlling red packet and system
US10031853B2 (en) 2016-09-15 2018-07-24 International Business Machines Corporation Unified in-memory cache
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
US10824562B2 (en) 2018-01-09 2020-11-03 Hossein Asadi Reconfigurable caching
CN109634876A (en) * 2018-12-11 2019-04-16 广东省新代通信与网络创新研究院 File access method, device and computer readable storage medium
CN110489125B (en) * 2019-07-29 2023-07-25 恩亿科(北京)数据科技有限公司 File management method and computer storage medium
CN115563075B (en) * 2022-10-09 2023-05-30 电子科技大学 Virtual file system implementation method based on microkernel
CN115834713A (en) * 2023-02-07 2023-03-21 北京大道云行科技有限公司 Interaction method and system for network file system and distributed file system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63116232A (en) * 1986-10-30 1988-05-20 アプル・コンピユータ・インコーポレーテツド Method of memorizing and retrieving data using computer
JPS63142643A (en) * 1986-12-05 1988-06-15 Hitachi Ltd Semiconductor device
JPS63204437A (en) * 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Lock system for decentralized type system
JPS63205742A (en) * 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Remote file access system
JPH02217941A (en) * 1989-02-20 1990-08-30 Canon Inc Network control system
JPH03158966A (en) * 1989-11-17 1991-07-08 Fujitsu Ltd Split control method in dynamic hash
JPH05143419A (en) * 1991-03-04 1993-06-11 Fujitsu Ltd Processor for filing system
JPH05189291A (en) * 1992-01-14 1993-07-30 Matsushita Electric Ind Co Ltd Network file system management device
JPH05334167A (en) * 1992-05-28 1993-12-17 Matsushita Electric Ind Co Ltd Network file system managing device

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US4897781A (en) 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5151989A (en) * 1987-02-13 1992-09-29 International Business Machines Corporation Directory cache management in a distributed data processing system
US5136692A (en) 1987-02-13 1992-08-04 International Business Machines Corporation Memory disk buffer manager
US5175852A (en) 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
DE3876617T2 (en) * 1987-09-04 1993-04-08 Digital Equipment Corp CONNECTION CONTROL IN A NETWORK FOR A DIGITAL DATA PROCESSING SYSTEM THAT SUPPLIES MULTIPLE TRANSMISSION PROTOCOLS.
US5077658A (en) 1987-10-19 1991-12-31 International Business Machines Corporation Data access system for a file access processor
US4888681A (en) 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
US5253342A (en) 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services
US5210824A (en) * 1989-03-03 1993-05-11 Xerox Corporation Encoding-format-desensitized methods and means for interchanging electronic document as appearances
US5305440A (en) * 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5261051A (en) * 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
JP2575543B2 (en) * 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Simultaneous access management method
AU631749B2 (en) * 1990-09-14 1992-12-03 Digital Equipment Corporation System and method for communication between windowing environments
US5222242A (en) 1990-09-28 1993-06-22 International Business Machines Corp. System for locating a node containing a requested resource and for selectively verifying the presence of the resource at the node
EP0501613A3 (en) * 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5227778A (en) 1991-04-05 1993-07-13 Digital Equipment Corporation Service name to network address translation in communications network
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5313638A (en) * 1992-03-24 1994-05-17 International Business Machines Corp. Method using semaphores for synchronizing communication between programs or processes resident in a computer system
US5287507A (en) * 1992-03-27 1994-02-15 Sun Microsystems, Inc. Method and apparatus for portable object handles that use local caches
US5434974A (en) 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63116232A (en) * 1986-10-30 1988-05-20 アプル・コンピユータ・インコーポレーテツド Method of memorizing and retrieving data using computer
JPS63142643A (en) * 1986-12-05 1988-06-15 Hitachi Ltd Semiconductor device
JPS63204437A (en) * 1987-02-13 1988-08-24 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Lock system for decentralized type system
JPS63205742A (en) * 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Remote file access system
JPH02217941A (en) * 1989-02-20 1990-08-30 Canon Inc Network control system
JPH03158966A (en) * 1989-11-17 1991-07-08 Fujitsu Ltd Split control method in dynamic hash
JPH05143419A (en) * 1991-03-04 1993-06-11 Fujitsu Ltd Processor for filing system
JPH05189291A (en) * 1992-01-14 1993-07-30 Matsushita Electric Ind Co Ltd Network file system management device
JPH05334167A (en) * 1992-05-28 1993-12-17 Matsushita Electric Ind Co Ltd Network file system managing device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149310A (en) * 1996-09-30 1998-06-02 Internatl Business Mach Corp <Ibm> Cache management system and method for mobile user file system
JP2011501317A (en) * 2007-10-24 2011-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for providing continuous data protection
US8862689B2 (en) 2007-10-24 2014-10-14 International Business Machines Corporation Local flash memory and remote server hybrid continuous data protection
JP2013541788A (en) * 2010-11-16 2013-11-14 インテル・コーポレーション Endpoint cache for data storage systems
US9692825B2 (en) 2010-11-16 2017-06-27 Intel Corporation Endpoint caching for data storage systems
JP2014503086A (en) * 2011-04-08 2014-02-06 株式会社日立製作所 File system and data processing method
JP2016162168A (en) * 2015-03-02 2016-09-05 株式会社メガチップス Cache file system

Also Published As

Publication number Publication date
EP0749602A1 (en) 1996-12-27
ATE177223T1 (en) 1999-03-15
CA2142797A1 (en) 1995-09-08
BR9500819A (en) 1995-11-07
HU219996B (en) 2001-10-28
KR0170561B1 (en) 1999-03-30
PL316565A1 (en) 1997-01-20
HU9602443D0 (en) 1996-11-28
DE69416875T2 (en) 1999-10-07
CN1132109C (en) 2003-12-24
JP2705006B2 (en) 1998-01-26
CN1121216A (en) 1996-04-24
CA2142797C (en) 2005-04-12
DE69416875D1 (en) 1999-04-08
HUT75264A (en) 1997-05-28
PL176975B1 (en) 1999-08-31
CZ260296A3 (en) 1997-12-17
WO1995024685A1 (en) 1995-09-14
US6119151A (en) 2000-09-12
KR950027577A (en) 1995-10-18
EP0749602B1 (en) 1999-03-03
RU2170454C2 (en) 2001-07-10

Similar Documents

Publication Publication Date Title
JP2705006B2 (en) Cache management method, computer file system and cache device
US9442952B2 (en) Metadata structures and related locking techniques to improve performance and scalability in a cluster file system
US6192398B1 (en) Remote/shared browser cache
JP3968242B2 (en) Method and apparatus for accessing shared data
US5878218A (en) Method and system for creating and utilizing common caches for internetworks
US7831772B2 (en) System and methodology providing multiple heterogeneous buffer caches
US7882078B2 (en) Method for preserving virtual filesystem information across high availability takeover
TWI232382B (en) A distributed storage system for data-sharing among client computers running different operating system types
US20070038697A1 (en) Multi-protocol namespace server
US20100299306A1 (en) Storage system having file change notification interface
JP2004280283A (en) Distributed file system, distributed file system server, and access method to distributed file system
JPH07175704A (en) File device and method for access to data object
WO2007014296A2 (en) Scalable distributed file storage access and management
US20170091262A1 (en) Object storage backed file system cache
US9075722B2 (en) Clustered and highly-available wide-area write-through file system cache
US20170091215A1 (en) Write-back cache transaction replication to object-based storage
US20080294748A1 (en) Proxy between network file system version three and network file system version four protocol
US6996682B1 (en) System and method for cascading data updates through a virtual copy hierarchy
CN116467275A (en) Shared remote storage method, apparatus, system, electronic device and storage medium
US20040015522A1 (en) Apparatus, system and method of providing a stackable private write file system
WO2023097229A1 (en) Fast database scaling utilizing a decoupled storage and compute architecture
US20230169093A1 (en) Fast database scaling utilizing a decoupled storage and compute architecture
Krzyzanowski Distributed file systems design
JP2004252957A (en) Method and device for file replication in distributed file system
JP2830826B2 (en) Distributed file synchronization system and method

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees