JPS63201845A - 遠隔ファイル・アクセス装置 - Google Patents
遠隔ファイル・アクセス装置Info
- Publication number
- JPS63201845A JPS63201845A JP62315459A JP31545987A JPS63201845A JP S63201845 A JPS63201845 A JP S63201845A JP 62315459 A JP62315459 A JP 62315459A JP 31545987 A JP31545987 A JP 31545987A JP S63201845 A JPS63201845 A JP S63201845A
- Authority
- JP
- Japan
- Prior art keywords
- file
- client
- node
- server
- cache
- 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
Links
- 238000012545 processing Methods 0.000 claims description 34
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 49
- 230000004048 modification Effects 0.000 description 35
- 238000012986 modification Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 35
- 230000008859 change Effects 0.000 description 15
- 230000006855 networking Effects 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 11
- 239000000872 buffer Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000012508 change request Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 235000006679 Mentha X verticillata Nutrition 0.000 description 1
- 235000002899 Mentha suaveolens Nutrition 0.000 description 1
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、ネットワークを介して接続された処理システ
ムに関し、より具体的には分散ネットワーキング環境に
あるローカル処理システムと遠隔処理システム間のファ
イルのアクセスに関する。
ムに関し、より具体的には分散ネットワーキング環境に
あるローカル処理システムと遠隔処理システム間のファ
イルのアクセスに関する。
B、従来技術
第10図に示すように、分散ネットワーキング環境1は
、通信リンクまたはネットワーク3を介して接続された
2個以上のノードA1B、Cから構成されている。ネッ
トワーク3は、ローカル・エリア・ネットワーク(LA
N)でも広域ネットワーク(WAN)でもよい。WAN
は、他のノードに対する、またはシステムのシステム・
ネットワーク・アーキテクチャ(SNA)ネットワーク
に対する交換回線または専用回線によるテレプロセシン
グ(TP)接続から構成される。
、通信リンクまたはネットワーク3を介して接続された
2個以上のノードA1B、Cから構成されている。ネッ
トワーク3は、ローカル・エリア・ネットワーク(LA
N)でも広域ネットワーク(WAN)でもよい。WAN
は、他のノードに対する、またはシステムのシステム・
ネットワーク・アーキテクチャ(SNA)ネットワーク
に対する交換回線または専用回線によるテレプロセシン
グ(TP)接続から構成される。
任意のノードA、81Gに、パーソナル・コン−ピユー
タなどの処理システムl0A110B110Cがある。
タなどの処理システムl0A110B110Cがある。
これらの処理システムl0A110B110Cは、単一
ユーザ・システムでも複数ユーザ・システムでもよく、
ネットワーク3を介して遠隔ノードにあるファイルにア
クセスできる能力をもつ。たとえば、ローカル・ノード
Aにある処理システムIOAは、遠隔ノードB、Cにあ
るファイル5815Cにアクセスできる。
ユーザ・システムでも複数ユーザ・システムでもよく、
ネットワーク3を介して遠隔ノードにあるファイルにア
クセスできる能力をもつ。たとえば、ローカル・ノード
Aにある処理システムIOAは、遠隔ノードB、Cにあ
るファイル5815Cにアクセスできる。
遠隔ノードにあるファイルにアクセスする際にぶつかる
問題は、まずスタンドアロン・システムがどのようにし
てファイルにアクセスするかを検討すると、よく理解で
きる。第2図の10のようなスタンドアロン・システム
内では、オペレーティング・システム11中のローカル
・バッファ12を使って永久記憶装置2、たとえばハー
ド・ファイルやパーソナル・コンピュータ内のディスク
とユーザ・アドレス空間との間で転送されるデータを緩
衝記憶する。オペレーティング・システム11内のロー
カル・バッファ12は、ローカル・キャッシュあるいは
カーネル・バッファとも呼ばれる。
問題は、まずスタンドアロン・システムがどのようにし
てファイルにアクセスするかを検討すると、よく理解で
きる。第2図の10のようなスタンドアロン・システム
内では、オペレーティング・システム11中のローカル
・バッファ12を使って永久記憶装置2、たとえばハー
ド・ファイルやパーソナル・コンピュータ内のディスク
とユーザ・アドレス空間との間で転送されるデータを緩
衝記憶する。オペレーティング・システム11内のロー
カル・バッファ12は、ローカル・キャッシュあるいは
カーネル・バッファとも呼ばれる。
スタンドアロン・システム内で、カーネル・バッファ1
2はブロック15で識別されている。この番号は装置番
号であり、またその装置内の論理ブロック番号でもある
。読取りシステム・コール16が発行されるとき、それ
は、第3図のステップ101に示すように、ファイル5
のファイル記述子およびファイル5内のバイト範囲と共
に発行される。オペレーティング・システム11はこの
情報を取り出し、それを装置番号および装置内の論理ブ
ロック番号に変換する(第3図、ステップ102)。次
に、オペレーティング・システム11は、装置番号およ
び論理ブロック番号にもとづいてキャッシュ12を読み
取る(ステップ103)。
2はブロック15で識別されている。この番号は装置番
号であり、またその装置内の論理ブロック番号でもある
。読取りシステム・コール16が発行されるとき、それ
は、第3図のステップ101に示すように、ファイル5
のファイル記述子およびファイル5内のバイト範囲と共
に発行される。オペレーティング・システム11はこの
情報を取り出し、それを装置番号および装置内の論理ブ
ロック番号に変換する(第3図、ステップ102)。次
に、オペレーティング・システム11は、装置番号およ
び論理ブロック番号にもとづいてキャッシュ12を読み
取る(ステップ103)。
ディスク2から読み取られたデータは、キャッシュ・ブ
ロック15が必要となるまでキャッシュ・ブロック15
に保管される。その結果、処理システム10上で走行中
のアプリケーション・プログラム4から以前に読み取ら
れたものと同じデータに対する読取りが続けて要求され
ると、それはディスク2からではなくてキャッシュ12
からアクセスされる。キャッシュ12から読み取るには
、固定ディスクへ出て正しいディスク・セクタにアクセ
スし、そのディスクから読み取るよりも時間がかからな
い。
ロック15が必要となるまでキャッシュ・ブロック15
に保管される。その結果、処理システム10上で走行中
のアプリケーション・プログラム4から以前に読み取ら
れたものと同じデータに対する読取りが続けて要求され
ると、それはディスク2からではなくてキャッシュ12
からアクセスされる。キャッシュ12から読み取るには
、固定ディスクへ出て正しいディスク・セクタにアクセ
スし、そのディスクから読み取るよりも時間がかからな
い。
同様に、アプリケーション・プログラム4から書き込ま
れたデータは、直接ディスク2には保管されず、キャッ
シュ12に書き込まれる。このため、同じブロックに対
して別の書込み操作が出された場合に、ディスクへのア
クセスが節約される。
れたデータは、直接ディスク2には保管されず、キャッ
シュ12に書き込まれる。このため、同じブロックに対
して別の書込み操作が出された場合に、ディスクへのア
クセスが節約される。
キャッシュ12内の修正されたデータ・ブロックは、周
期的にディスク2に保管される。
期的にディスク2に保管される。
スタンドアロン・システム内のローカル・キャッシュの
もう一つの用途は、ファイルがクローズされた後でもそ
のファイルに対する有効なデータを=5− 保持することである。こうしたブロックがまだキャッシ
ュ内に存在する間にファイルが再オープンされた場合、
それらのブロックを読み取るのにディスクへのアクセス
は不要である。
もう一つの用途は、ファイルがクローズされた後でもそ
のファイルに対する有効なデータを=5− 保持することである。こうしたブロックがまだキャッシ
ュ内に存在する間にファイルが再オープンされた場合、
それらのブロックを読み取るのにディスクへのアクセス
は不要である。
AIX (拡張対話式エグゼクティブ、AIXは、IB
Mの商標)オペレーティング・システムを使ったスタン
ドアロン・システムでキャッシュを使うと、連続する読
取りと書込みでディスクへのアクセスが要らないので、
システムの全体的パフォーマンスが向上する。全体的性
能′が上がるのは、永久記憶装置にアクセスする方がキ
ャッシュにアクセスするよりも遅くかつコストがかかる
ためである。
Mの商標)オペレーティング・システムを使ったスタン
ドアロン・システムでキャッシュを使うと、連続する読
取りと書込みでディスクへのアクセスが要らないので、
システムの全体的パフォーマンスが向上する。全体的性
能′が上がるのは、永久記憶装置にアクセスする方がキ
ャッシュにアクセスするよりも遅くかつコストがかかる
ためである。
第10図に示したような分散環境では、ローカル・ノー
ドCにある処理システム10CがノードAからファイル
5Aを読み取る方式が2つある。
ドCにある処理システム10CがノードAからファイル
5Aを読み取る方式が2つある。
一つの方式では、処理システム10Cがファイル5Aの
全体をコピーして、それがノードCにあるローカル・フ
ァイル5Cであるかのように読み取ることができる。こ
のやり方でファイルを読み取ると、ノードCでファイル
5Aがコピーされた後で、別のノードA、Bにある別の
処理システム10B110Aがファイル5Aを修正する
場合に問題が生じる。処理システム10Cはこのファイ
ル5Aに対する最新の修正にアクセスできないことにな
る。
全体をコピーして、それがノードCにあるローカル・フ
ァイル5Cであるかのように読み取ることができる。こ
のやり方でファイルを読み取ると、ノードCでファイル
5Aがコピーされた後で、別のノードA、Bにある別の
処理システム10B110Aがファイル5Aを修正する
場合に問題が生じる。処理システム10Cはこのファイ
ル5Aに対する最新の修正にアクセスできないことにな
る。
処理システムIOCがノードAにあるファイル5Aにア
クセスするもう一つの方式は、ノードCにある処理シス
テムが要求したとき一度に1つのブロックN1を読み取
るものである。この方法に伴う問題は、読取りのたびに
ネットワーク通信リンク3を介してファイルがあるノー
ドAまで行かなければならないことである。連続する読
取りのたびにデータを送るのは時間がかかる。
クセスするもう一つの方式は、ノードCにある処理シス
テムが要求したとき一度に1つのブロックN1を読み取
るものである。この方法に伴う問題は、読取りのたびに
ネットワーク通信リンク3を介してファイルがあるノー
ドAまで行かなければならないことである。連続する読
取りのたびにデータを送るのは時間がかかる。
ネットワークを介してファイルにアクセスする場合、」
二記の2つの両立しない問題が生じる。一つの問題は、
連続する読取りと書込みのためにネットワークを介して
データを送信するのに時間がかかることである。他方、
ネットワーク・トラフィックを減らすためにファイル・
データをノードに記憶する場合、ファイルの整合性が失
われるおそれがある。たとえば、いくつかのノードのう
ちの一つがファイルに書込みを行なっている場合、その
ファイルにアクセスしている他のノードは、令書き込ま
れたばかりの最近の更新済みファイルにアクセスしてい
ないことがある。したがって、あるノードがアクセスし
ているファイルが正しくない古くなったものであるおそ
れがあるので、ファイルの整合性が失われる。
二記の2つの両立しない問題が生じる。一つの問題は、
連続する読取りと書込みのためにネットワークを介して
データを送信するのに時間がかかることである。他方、
ネットワーク・トラフィックを減らすためにファイル・
データをノードに記憶する場合、ファイルの整合性が失
われるおそれがある。たとえば、いくつかのノードのう
ちの一つがファイルに書込みを行なっている場合、その
ファイルにアクセスしている他のノードは、令書き込ま
れたばかりの最近の更新済みファイルにアクセスしてい
ないことがある。したがって、あるノードがアクセスし
ているファイルが正しくない古くなったものであるおそ
れがあるので、ファイルの整合性が失われる。
本明細書では、ファイルを永久的に記憶しているノード
を指すのに「サーバ」という言葉を使い、そのファイル
にアクセスする処理を有する他の任意のノードを指すの
に「クライアント」の語を使うことにする。ただし、「
サーバ」という言葉は、若干のローカル・エリア・ネッ
トワーク・システムで使われているような、専用サーバ
を意味しないことを了解されたい。本発明をその中で実
施する分散サービス・システムは、システム内のどこに
あるファイルにもアクセスできる、システム内の様々な
ノードで走行する広範な種類のアプリケーションをサポ
ートする、真に分散したシステムである。
を指すのに「サーバ」という言葉を使い、そのファイル
にアクセスする処理を有する他の任意のノードを指すの
に「クライアント」の語を使うことにする。ただし、「
サーバ」という言葉は、若干のローカル・エリア・ネッ
トワーク・システムで使われているような、専用サーバ
を意味しないことを了解されたい。本発明をその中で実
施する分散サービス・システムは、システム内のどこに
あるファイルにもアクセスできる、システム内の様々な
ノードで走行する広範な種類のアプリケーションをサポ
ートする、真に分散したシステムである。
以下では、UNIX (AT&Tが開発しライセンスを
供与しているもの、UNIXは米国内でのAT&Tの登
録商標)オペレーティング・システムの一バージョンで
本発明を実施した場合について説明するが、本発明はU
NIXオペレーティング・システムに類似する特徴をも
つ他のオペレーティング・システムでも使用できる。U
NIXオペレーティング・システムは、ベル研究所(B
e11Telephone Laboratories
、 Inc、 )がディジタル0エクイツプメント社(
Digital EquipmentCorporat
ion、DEC)のミニコンピユータ用に開発したもの
であるが、広範囲のミニコンピユータ用、それに最近で
はマイクロコンピュータ用のオペレーティング・システ
ムとして広く使われている。この%f 及の一因は、U
NIXオペレーティング・システムがアセンブリ言語で
はなく、やはりベル研究所で開発されたCプログラミン
グ言語で書かれており、したがって、プロセッサの種類
を間わな=9− いことである。したがって、様々な計算機用に書かれた
Cコンパイラを使うと、UNIXオペレーティング・シ
ステムをある計算機から別の計算機に移植することが可
能になる。UNIXオペレーティング・システムの詳細
については、[UNIXTMシステム、ユーザーズ・マ
ニュアル、システムV (U N I XTMSyst
em、 User’s Manual。
供与しているもの、UNIXは米国内でのAT&Tの登
録商標)オペレーティング・システムの一バージョンで
本発明を実施した場合について説明するが、本発明はU
NIXオペレーティング・システムに類似する特徴をも
つ他のオペレーティング・システムでも使用できる。U
NIXオペレーティング・システムは、ベル研究所(B
e11Telephone Laboratories
、 Inc、 )がディジタル0エクイツプメント社(
Digital EquipmentCorporat
ion、DEC)のミニコンピユータ用に開発したもの
であるが、広範囲のミニコンピユータ用、それに最近で
はマイクロコンピュータ用のオペレーティング・システ
ムとして広く使われている。この%f 及の一因は、U
NIXオペレーティング・システムがアセンブリ言語で
はなく、やはりベル研究所で開発されたCプログラミン
グ言語で書かれており、したがって、プロセッサの種類
を間わな=9− いことである。したがって、様々な計算機用に書かれた
Cコンパイラを使うと、UNIXオペレーティング・シ
ステムをある計算機から別の計算機に移植することが可
能になる。UNIXオペレーティング・システムの詳細
については、[UNIXTMシステム、ユーザーズ・マ
ニュアル、システムV (U N I XTMSyst
em、 User’s Manual。
System V) J Western Elect
ric Co、、 1983年1月刊を参照のこと。
ric Co、、 1983年1月刊を参照のこと。
UNIXオペレーティング・システムの秀れた概説が、
B、W、カーニハン(Brian Ij、 Kerni
ghan)とロブ・バイツ(RobPike)の共著「
ユニックス・プログラミング環境(The Unix
Programming Environment)
JPrentice−tlalls 1984年刊に
出ている。UNIXオペレーティング・システムの設計
の詳細については、M、J、バッハ(Maurice
J、Bach)著「ユニックス・オペレーティング・シ
ステムの設計(Design of the Unix
OperatingSystem) JPrenti
ce−11all、1986年刊に出ている。
B、W、カーニハン(Brian Ij、 Kerni
ghan)とロブ・バイツ(RobPike)の共著「
ユニックス・プログラミング環境(The Unix
Programming Environment)
JPrentice−tlalls 1984年刊に
出ている。UNIXオペレーティング・システムの設計
の詳細については、M、J、バッハ(Maurice
J、Bach)著「ユニックス・オペレーティング・シ
ステムの設計(Design of the Unix
OperatingSystem) JPrenti
ce−11all、1986年刊に出ている。
ベル研究所は、多くの団体にUNIXオペレーティング
・システム使用のライセンスを供与しており、現在いく
つかのバージョンがある。AT&Tから出た最新のバー
ジョンは、バージョン5゜2である。バークレイ・バー
ジョンとして知られるUNIXオペレーティング・シス
テムの別のバージョンが、カリフォルニア州立大学バー
ク14校で開発された。広く使われているMS−DO8
およびパーソナル・コンピュータ用のPC−DOSオペ
レーティング・システムを開発したマイクロ・ソフト社
は、XENIXの商標で知られるバージョンを出してい
る。IBM RT PC(RISC(縮小命令セッ
ト・コンピュータ)技術パーソナル・コンピュータ、R
TとRTPCは18Mコーポレーションの商標)を19
85年に発表したのに伴って、18Mコーポレーション
はAIXと呼ばれる新しいオペレーティング・システム
を公開した。AIXは、アプリケーション・インターフ
ェース・レベルでAT&TのUNIXオペレーティング
・システム、バージョン5.2と互換性があり、UNI
Xオペレーティング・システム、バージョン5.2に対
する拡張機能を含んでいる。
・システム使用のライセンスを供与しており、現在いく
つかのバージョンがある。AT&Tから出た最新のバー
ジョンは、バージョン5゜2である。バークレイ・バー
ジョンとして知られるUNIXオペレーティング・シス
テムの別のバージョンが、カリフォルニア州立大学バー
ク14校で開発された。広く使われているMS−DO8
およびパーソナル・コンピュータ用のPC−DOSオペ
レーティング・システムを開発したマイクロ・ソフト社
は、XENIXの商標で知られるバージョンを出してい
る。IBM RT PC(RISC(縮小命令セッ
ト・コンピュータ)技術パーソナル・コンピュータ、R
TとRTPCは18Mコーポレーションの商標)を19
85年に発表したのに伴って、18Mコーポレーション
はAIXと呼ばれる新しいオペレーティング・システム
を公開した。AIXは、アプリケーション・インターフ
ェース・レベルでAT&TのUNIXオペレーティング
・システム、バージョン5.2と互換性があり、UNI
Xオペレーティング・システム、バージョン5.2に対
する拡張機能を含んでいる。
AIXオペレーティング・システムの詳細については、
「AIXオペレーティング・システム技術解説書(AI
X OperatingSystem Technic
alReference ) J第1版N I BM
Co r pll 985年11月刊を参照されたい
。
「AIXオペレーティング・システム技術解説書(AI
X OperatingSystem Technic
alReference ) J第1版N I BM
Co r pll 985年11月刊を参照されたい
。
本発明は、具体的には、複数台のプロセッサがネットワ
ーク内で相互接続されることを特徴とする、分散データ
処理システムに関係する。実際に実施された形では、本
発明は、IBMのシステムネットワーク・アーキテクチ
ャ(SNA) 、さらに具体的にはSNA LU6.
2拡張プログラム間通信(APPC)で相互接続された
複数のIBM RT PC上で機能する。
ーク内で相互接続されることを特徴とする、分散データ
処理システムに関係する。実際に実施された形では、本
発明は、IBMのシステムネットワーク・アーキテクチ
ャ(SNA) 、さらに具体的にはSNA LU6.
2拡張プログラム間通信(APPC)で相互接続された
複数のIBM RT PC上で機能する。
SNA LU6.2の詳細については、よりMInt
ernational Systems Center
tsが1983年7月に発行した技術報告「拡張プログ
ラム間通信(APPC)入門(An Introduc
tion to AdvancedProgram t
o Program Communication (
APPC) J資料番号GG24−1584−0、およ
び1986年8月15日刊のrIBM RT PC
SNAアクセス方式の手引き・解説書(IBM RT
P CS N A Access Method G
uide andReference ) Jを参照さ
れたい08NAでは、そのリンク・レベルとして、ゼロ
ックス社が開発したローカル・エリア・ネットワーク(
LAN)であるイーサネット(EthernetはXe
rox Corporationの商標)または5DL
C(同期データ・リンク制御)を使う。イーサネット・
ローカル・エリア・ネットワークを含めてローカル・エ
リア・ネットワークの簡単な説明は、L。
ernational Systems Center
tsが1983年7月に発行した技術報告「拡張プログ
ラム間通信(APPC)入門(An Introduc
tion to AdvancedProgram t
o Program Communication (
APPC) J資料番号GG24−1584−0、およ
び1986年8月15日刊のrIBM RT PC
SNAアクセス方式の手引き・解説書(IBM RT
P CS N A Access Method G
uide andReference ) Jを参照さ
れたい08NAでは、そのリンク・レベルとして、ゼロ
ックス社が開発したローカル・エリア・ネットワーク(
LAN)であるイーサネット(EthernetはXe
rox Corporationの商標)または5DL
C(同期データ・リンク制御)を使う。イーサネット・
ローカル・エリア・ネットワークを含めてローカル・エ
リア・ネットワークの簡単な説明は、L。
E、ジョーダン(Larry E、Jordan)とB
、チャーチル(Bruce Churchill)の共
著rIBM PC用の通信ネットワーキング(Com
munications andNetvorking
for the IBM PC) J Robert
J、Brady(Prentice−Hall の子
会社)、1983年刊に出ている。コンピュータ用通信
システム、とくにSNAとSDL<?、のより明確な説
明は、R,J、シプサー(Cypser )著「分散シ
ステム用通信アーキテクチャ(Communicati
ons Architecture forDistr
ibuted System)J 、Addiso
n−Wesleys 1978年刊に出ている。ただ
し、本発明は、イーサネット・ローカル・エリア・ネッ
トワークやIBM SNA以外のネットワークで相互
接続された、IBM RT PC以外の様々なコン
ピータを用いても実施できることを了解されたい。
、チャーチル(Bruce Churchill)の共
著rIBM PC用の通信ネットワーキング(Com
munications andNetvorking
for the IBM PC) J Robert
J、Brady(Prentice−Hall の子
会社)、1983年刊に出ている。コンピュータ用通信
システム、とくにSNAとSDL<?、のより明確な説
明は、R,J、シプサー(Cypser )著「分散シ
ステム用通信アーキテクチャ(Communicati
ons Architecture forDistr
ibuted System)J 、Addiso
n−Wesleys 1978年刊に出ている。ただ
し、本発明は、イーサネット・ローカル・エリア・ネッ
トワークやIBM SNA以外のネットワークで相互
接続された、IBM RT PC以外の様々なコン
ピータを用いても実施できることを了解されたい。
前述のように、以下では、通信ネットワーク中の分散デ
ータ処理システムを対象として本発明を説明する。この
環境では、ネットワークのあるノードにある各プロセッ
サは、どのノードにファイルがあろうと、潜在的にその
ネットワーク中のすべてのファイルにアクセスすること
ができる。
ータ処理システムを対象として本発明を説明する。この
環境では、ネットワークのあるノードにある各プロセッ
サは、どのノードにファイルがあろうと、潜在的にその
ネットワーク中のすべてのファイルにアクセスすること
ができる。
UNIXオペレーティング環境内で分散データ処理シス
テムをサポートする方法は、他にも知られている。たと
えば、Sun Microsystemsはネットワー
ク・ファイル・システム(NFS)を発表し、ベル研究
所は遠隔ファイル・システム(RFS)を開発した。S
un MicrosystemsのNFSは一連の刊行
物に記載されている。たとえば、S、R,クレイマン(
Kleiman) r Vノード:5unUNIXにお
ける多重ファイル・システム・タイプ用アーキテクチ+
(Vnodes: An Architecture
forMultiple File System
Types in Sun UNIX) J USEN
IX 198E3年夏季国際技術会議・展示会議事録
、238−247ページ;R,サンドバーブ(Russ
el Sandberg)等のrSUNネットワーク・
ファイル・システムの設計と実施(Design an
dImplementation of the Su
n NetworkFilesystem) J 、U
NEN I X 1985年会議議事録、119−1
30ページ;D、ウオールシュ(Dan 1Jalsh
)等のrSUNネットワーク・ファイル・システムの概
要(Overview of the SunNetw
ork File System) J 117−12
4ページ;ジョメイ・チャン(Jomei Chang
)の「状況モニタがNFSにネットワーク・ロッキング
・サービスをもたらす(Status Mon1tor
ProvidesNetwork Locking
5ervice for NFS) J ;ジョメイ・
チャンの「サンネット(Sunnet) J 71−7
5ページ;B、ティラー(Bradly Taylor
)のrSun環境における安全なネットワーキング(S
ecureNetworking in theS
un Environment)J 28−36ペ
ージ。AT&TのRFSも一連の刊行物に記載されてい
る。たとえば、A、P、 リフキン(Andrew
P、 Rifkin)等のrRFSアーキテクチャの概
要(RF S Arcchitectural Ove
rview) J U 5ENIX会議議事録、ジョー
シア州アトランタ(1986年6月)、1−12ページ
;R,ハミルトン(Richard )lamilto
n)等の「遠隔ファイル共用に対する管理者の意見(A
n Administrator’sView of
Remote File Sharing) J、1−
9ページ;T、ヒユートン(Tom Houghton
)等の「ファイル・システム・スイッチ(File
SystemsSwitch) J、1−2ページ;D
、J、オランダ−(David J、 01ander
)等の「システムVにおけるネットワーキング用フレー
ムワーク(AFramework for Netwo
rking in System V) J N 1
−8ページ。
テムをサポートする方法は、他にも知られている。たと
えば、Sun Microsystemsはネットワー
ク・ファイル・システム(NFS)を発表し、ベル研究
所は遠隔ファイル・システム(RFS)を開発した。S
un MicrosystemsのNFSは一連の刊行
物に記載されている。たとえば、S、R,クレイマン(
Kleiman) r Vノード:5unUNIXにお
ける多重ファイル・システム・タイプ用アーキテクチ+
(Vnodes: An Architecture
forMultiple File System
Types in Sun UNIX) J USEN
IX 198E3年夏季国際技術会議・展示会議事録
、238−247ページ;R,サンドバーブ(Russ
el Sandberg)等のrSUNネットワーク・
ファイル・システムの設計と実施(Design an
dImplementation of the Su
n NetworkFilesystem) J 、U
NEN I X 1985年会議議事録、119−1
30ページ;D、ウオールシュ(Dan 1Jalsh
)等のrSUNネットワーク・ファイル・システムの概
要(Overview of the SunNetw
ork File System) J 117−12
4ページ;ジョメイ・チャン(Jomei Chang
)の「状況モニタがNFSにネットワーク・ロッキング
・サービスをもたらす(Status Mon1tor
ProvidesNetwork Locking
5ervice for NFS) J ;ジョメイ・
チャンの「サンネット(Sunnet) J 71−7
5ページ;B、ティラー(Bradly Taylor
)のrSun環境における安全なネットワーキング(S
ecureNetworking in theS
un Environment)J 28−36ペ
ージ。AT&TのRFSも一連の刊行物に記載されてい
る。たとえば、A、P、 リフキン(Andrew
P、 Rifkin)等のrRFSアーキテクチャの概
要(RF S Arcchitectural Ove
rview) J U 5ENIX会議議事録、ジョー
シア州アトランタ(1986年6月)、1−12ページ
;R,ハミルトン(Richard )lamilto
n)等の「遠隔ファイル共用に対する管理者の意見(A
n Administrator’sView of
Remote File Sharing) J、1−
9ページ;T、ヒユートン(Tom Houghton
)等の「ファイル・システム・スイッチ(File
SystemsSwitch) J、1−2ページ;D
、J、オランダ−(David J、 01ander
)等の「システムVにおけるネットワーキング用フレー
ムワーク(AFramework for Netwo
rking in System V) J N 1
−8ページ。
本発明をその中で実施する分散サービス・システムのま
たとえばSun旧crosystemsのNFSとは区
別される一つの特徴は、Sunの方法が基本的に状態非
保存型の装置を設計するためのものであったということ
である。もっと具体的に言うと、分散システム内のサー
バを状態非保存型に設計することができる。すなわち、
サーバは、どのクライエント・ノードがサーバ・ファイ
ルをオープンしたのか、クライアントのファイルが読取
専用モードでオープンになっているのかそれとも読取り
書込みモードでオープンになっているのか、あるいはク
ライエントがそのファイルのバイト範囲にロックをかけ
ているかどうかを含めて、クライエント・ノードに関す
る情報を何も記憶しない。このような実施形態をとると
、クライエント・ノードが故障したり、あるいはサーバ
資源に対する要求を解除したとサーバにきちんと知らせ
ずにオフラインになったときに生じる、誤り回復状況を
サーバが処理する必要がないので、サーバの設計が簡単
になる。
たとえばSun旧crosystemsのNFSとは区
別される一つの特徴は、Sunの方法が基本的に状態非
保存型の装置を設計するためのものであったということ
である。もっと具体的に言うと、分散システム内のサー
バを状態非保存型に設計することができる。すなわち、
サーバは、どのクライエント・ノードがサーバ・ファイ
ルをオープンしたのか、クライアントのファイルが読取
専用モードでオープンになっているのかそれとも読取り
書込みモードでオープンになっているのか、あるいはク
ライエントがそのファイルのバイト範囲にロックをかけ
ているかどうかを含めて、クライエント・ノードに関す
る情報を何も記憶しない。このような実施形態をとると
、クライエント・ノードが故障したり、あるいはサーバ
資源に対する要求を解除したとサーバにきちんと知らせ
ずにオフラインになったときに生じる、誤り回復状況を
サーバが処理する必要がないので、サーバの設計が簡単
になる。
本発明をその中で実施する分散サービス・システムの設
計では、全く異なる方法が取られた。もっと具体的に言
うと、この分散サービス・システムは、「状態保存型」
であると特徴づけることができる。本明細書に記載する
「状態保存型」サーバは、誰がそのファイルを使ってい
るか、およびファイルがどのように使われているかに関
する情報を保持する。それには、サーバが何らかの方法
であるクライアントとの接触の喪失を検出して、そのク
ライアントに関する蓄積された状態情報を廃棄できるよ
うにする必要がある。しかし、本明細書に記載するキャ
ッシュ管理戦略は、サーバがそうした状態情報を保持し
ない限り実施できない。
計では、全く異なる方法が取られた。もっと具体的に言
うと、この分散サービス・システムは、「状態保存型」
であると特徴づけることができる。本明細書に記載する
「状態保存型」サーバは、誰がそのファイルを使ってい
るか、およびファイルがどのように使われているかに関
する情報を保持する。それには、サーバが何らかの方法
であるクライアントとの接触の喪失を検出して、そのク
ライアントに関する蓄積された状態情報を廃棄できるよ
うにする必要がある。しかし、本明細書に記載するキャ
ッシュ管理戦略は、サーバがそうした状態情報を保持し
ない限り実施できない。
キャッシュの管理は、下記で説明するように、サーバ・
ファイルをオープンせよとの要求を発行しているクライ
エント・ノードの数およびそうしたオープンが読取モー
ドであるかそれとも書込モードであるかによって影響を
受ける。
ファイルをオープンせよとの要求を発行しているクライ
エント・ノードの数およびそうしたオープンが読取モー
ドであるかそれとも書込モードであるかによって影響を
受ける。
C0発明が解決しようとする問題点
したがって、遠隔ファイルにアクセスする際の応答時間
を改善することが、本発明の一目的である。
を改善することが、本発明の一目的である。
分散ネットワーキング環境でファイルの整合性を維持す
ることが、本発明の第2の目的である。
ることが、本発明の第2の目的である。
クライエント・ノードでファイルがクローズされたとき
、サーバとクライエント・ノードの両方のキャッシュを
使って有効データを保持することが、本発明の第3の目
的である。
、サーバとクライエント・ノードの両方のキャッシュを
使って有効データを保持することが、本発明の第3の目
的である。
D0問題点を解決するための手段
他のノードにあるファイルにアクセスするときのネット
ワークのトラフィック・オーバーヘッドを軽減し、ファ
イルの整合性を保つため、分散ネットワーキング環境内
での様々なファイルへのアクセスをファイル同期モード
で管理する。読取りアクセスまたは書込みアクセスのた
めファイルが1つのノードだけでオープンしている場合
、ファイルに第1の同期モードを与える。任意のノード
で読取り専用アクセスのためファイルがオープンしてい
る場合、ファイルに第2の同期モードを与える。複数の
ノードで読取りアクセスのためファイルがオープンにな
っており、少くとも1つのノードで書込みアクセスのた
めそのファイルがオープンになっている場合、ファイル
に第3の同期モードを与える。
ワークのトラフィック・オーバーヘッドを軽減し、ファ
イルの整合性を保つため、分散ネットワーキング環境内
での様々なファイルへのアクセスをファイル同期モード
で管理する。読取りアクセスまたは書込みアクセスのた
めファイルが1つのノードだけでオープンしている場合
、ファイルに第1の同期モードを与える。任意のノード
で読取り専用アクセスのためファイルがオープンしてい
る場合、ファイルに第2の同期モードを与える。複数の
ノードで読取りアクセスのためファイルがオープンにな
っており、少くとも1つのノードで書込みアクセスのた
めそのファイルがオープンになっている場合、ファイル
に第3の同期モードを与える。
ファイルが第1または第2の同期モードの場合、クライ
エント・ノード、すなわちファイルにアクセスするノー
ドは、そのオペレーティング・システム内のキャッシュ
を使ってファイルを記憶する。
エント・ノード、すなわちファイルにアクセスするノー
ドは、そのオペレーティング・システム内のキャッシュ
を使ってファイルを記憶する。
その後の読取りと書込みはすべてこのキャッシュに送ら
れる。
れる。
本発明のシステムおよび方法は、クライエント・ノード
でファイルがクローズしているとき、有効データを保持
するのに、クライエント・ノードとサーバ・ノードの両
方でキャッシュを使用する。
でファイルがクローズしているとき、有効データを保持
するのに、クライエント・ノードとサーバ・ノードの両
方でキャッシュを使用する。
クライエント・ノードがクライエント・キャッシュを再
使用するか否かは、データ・ファイルがクライエント・
ノードでクローズしていた間に別のノードでクライエン
ト・キャッシュ内のデータが修正されたか否かによって
決まる。データが修正されていない場合は、ファイルの
整合性を損わずに、クライエント・ノード内のプロセス
から読取りおよび書込みによってクライエント・ノード
にアクセスすることができる。クライエント・キャッシ
ュ内のデータはすべて有効データである。ファイルが一
度クローズした後でオープンしたとき、クライエント・
キャッシュを使ってアクセスを行なうことにより、ネッ
トワークのトラフィック・オーバーヘッドが減少し、し
たがって応答時間が改善される。
使用するか否かは、データ・ファイルがクライエント・
ノードでクローズしていた間に別のノードでクライエン
ト・キャッシュ内のデータが修正されたか否かによって
決まる。データが修正されていない場合は、ファイルの
整合性を損わずに、クライエント・ノード内のプロセス
から読取りおよび書込みによってクライエント・ノード
にアクセスすることができる。クライエント・キャッシ
ュ内のデータはすべて有効データである。ファイルが一
度クローズした後でオープンしたとき、クライエント・
キャッシュを使ってアクセスを行なうことにより、ネッ
トワークのトラフィック・オーバーヘッドが減少し、し
たがって応答時間が改善される。
クライエント・ノードでファイルがクローズしていた間
に、クライエント・キャッシュ内のデータが別のノード
で修正されたか否かを判定するため、本発明のシステム
は、クライエント・キャッシュ内に代理iノードを含ん
でいる。代理iノードは、サーバ・ノードを識別するフ
ィールドと、そのノード内のファイルを識別するファイ
ル・ハンドルを含んでいる。代理iノードは、ファイル
が最初にあるノードでオープンされるか、または最後の
クローズの後、始めてオープンされたとき、クライエン
ト・キャッシュ内で作成される。代理iノードが作成さ
れるとき、サーバのクロックによって記録されたファイ
ルの最終修正時間が、代理iノードに書き込まれる。本
発明のシステムは、−21= またサーバでのファイルの最終修正時間を示すファイル
修正時間フィールドを、キャッシュ・データ・ブロック
内に含んでいる。キャッシュ・データ・ブロック内のフ
ァイル修正時間フィールドは、クライエント・ノードで
ファイルが最後にクローズしている間に更新される。
に、クライエント・キャッシュ内のデータが別のノード
で修正されたか否かを判定するため、本発明のシステム
は、クライエント・キャッシュ内に代理iノードを含ん
でいる。代理iノードは、サーバ・ノードを識別するフ
ィールドと、そのノード内のファイルを識別するファイ
ル・ハンドルを含んでいる。代理iノードは、ファイル
が最初にあるノードでオープンされるか、または最後の
クローズの後、始めてオープンされたとき、クライエン
ト・キャッシュ内で作成される。代理iノードが作成さ
れるとき、サーバのクロックによって記録されたファイ
ルの最終修正時間が、代理iノードに書き込まれる。本
発明のシステムは、−21= またサーバでのファイルの最終修正時間を示すファイル
修正時間フィールドを、キャッシュ・データ・ブロック
内に含んでいる。キャッシュ・データ・ブロック内のフ
ァイル修正時間フィールドは、クライエント・ノードで
ファイルが最後にクローズしている間に更新される。
本発明の方法は、クライエント・ノードでファイルがオ
ープンし読み取られ、クローズされる間に下記の各ステ
ップを含む。
ープンし読み取られ、クローズされる間に下記の各ステ
ップを含む。
クライエント・ノードにファイルのオープンが出される
と、クライエント処理システム内の代理iノード・テー
ブルを走査して、既存の代理iノードを探す。何もない
場合は、新しい代理iノードが割り振られ、サーバに遠
隔オープン手順呼出しが送られる。サーバでそのオープ
ンが完了すると、サーバからクライエント・ノードへの
オープン肯定応答に、そのファイルの最終修正時間を含
める。
と、クライエント処理システム内の代理iノード・テー
ブルを走査して、既存の代理iノードを探す。何もない
場合は、新しい代理iノードが割り振られ、サーバに遠
隔オープン手順呼出しが送られる。サーバでそのオープ
ンが完了すると、サーバからクライエント・ノードへの
オープン肯定応答に、そのファイルの最終修正時間を含
める。
この時間が、クライエント・ノードでそのファイルの新
しく割り振られた代理iノードに記録される。
しく割り振られた代理iノードに記録される。
そのファイルの新しいデータ・ブロックが読み取られる
とき、新しいキャッシュ・ブロックがクライエント・キ
ャッシュ内に割り振られる。各キャッシュ・ブロックは
、サーバ・ノード名、ファイル・ハンドル、および代理
iノードからの最終修正時間を含む。
とき、新しいキャッシュ・ブロックがクライエント・キ
ャッシュ内に割り振られる。各キャッシュ・ブロックは
、サーバ・ノード名、ファイル・ハンドル、および代理
iノードからの最終修正時間を含む。
ファイルが2回目以降にオープンされ、クライエント処
理システム内の代理iノード・テーブルを走査して既存
の代理iノードを探すとき、以前のオープンから既に代
理iノードが存在していることになる。この場合、修正
時間あるいは代理iノードの変更はない。データ・ブロ
ック上の最終修正時間は、2回目のオープンでも変更さ
れない。
理システム内の代理iノード・テーブルを走査して既存
の代理iノードを探すとき、以前のオープンから既に代
理iノードが存在していることになる。この場合、修正
時間あるいは代理iノードの変更はない。データ・ブロ
ック上の最終修正時間は、2回目のオープンでも変更さ
れない。
ASYNCモードにあるファイルが最後にクローズされ
る間、以下の各ステップが行なわれる。まず、クライエ
ント・ノードがサーバにクローズ要求を送る。次に、ク
ライエント・ノードからクローズ要求を受は取ると、サ
ーバはクライエント・ノードにそのクローズの肯定応答
を送る。クローズの肯定応答と共に、サーバはクライエ
ント・ノードにファイルが修正された最終時間を送る。
る間、以下の各ステップが行なわれる。まず、クライエ
ント・ノードがサーバにクローズ要求を送る。次に、ク
ライエント・ノードからクローズ要求を受は取ると、サ
ーバはクライエント・ノードにそのクローズの肯定応答
を送る。クローズの肯定応答と共に、サーバはクライエ
ント・ノードにファイルが修正された最終時間を送る。
サーバは、この最終修正時間を入手するために、サーバ
のディスクに行かなければならないこともある。
のディスクに行かなければならないこともある。
次に、クライエント・ノードは代理iノードの割振りを
解除し、そのサーバ・ノード名およびクローズされてい
るファイルに対するファイル・ハンドルを探してすべて
の遠隔キャッシュ・バッファを走査する。次に、クライ
エント・ノードは、対応するキャッシュ・ブロック内の
すべての最終修正時間を、クローズ肯定応答と共にサー
バから受は取った最終修正時間に変更する。
解除し、そのサーバ・ノード名およびクローズされてい
るファイルに対するファイル・ハンドルを探してすべて
の遠隔キャッシュ・バッファを走査する。次に、クライ
エント・ノードは、対応するキャッシュ・ブロック内の
すべての最終修正時間を、クローズ肯定応答と共にサー
バから受は取った最終修正時間に変更する。
クライエント・キャッシュからブロックが読み取られて
いるとき、代理iノード中の時間がキャッシュ・データ
・ブロック中の時間と比較される。
いるとき、代理iノード中の時間がキャッシュ・データ
・ブロック中の時間と比較される。
代理iノード中の時間がキャッシュ・データ・ブロック
中の時間よりも大きい場合は、クライエント・ノードで
データ・ファイルがクローズされている間にクライエン
ト・キャッシュ内のデータが修正されたことを示す。こ
の場合、クライエント・ノードは、最終修正済みデータ
を得るため、ネットワークを介してサーバに行かなけれ
ばならない。
中の時間よりも大きい場合は、クライエント・ノードで
データ・ファイルがクローズされている間にクライエン
ト・キャッシュ内のデータが修正されたことを示す。こ
の場合、クライエント・ノードは、最終修正済みデータ
を得るため、ネットワークを介してサーバに行かなけれ
ばならない。
ファイルの整合性を維持するには、クライエント・ノー
ド内でのファイルに対するすべてのデータ・ブロックを
無効にしなければならない。
ド内でのファイルに対するすべてのデータ・ブロックを
無効にしなければならない。
代理iノード中の時間がキャッシュ・データ・ブロック
に記録された時間と同じ場合は、クライエント・キャッ
シュ内のデータが依然有効であることを示す。クライエ
ント・ノードでファイルがクローズされた間に、他のノ
ードがこのデータを修正することはなかった。この場合
、クライエント・ノード内のプロセスは、ネットワーク
を介してファイルが実際に存在するサーバへ行かずに、
クライエント・キャッシュ内のデータ・ブロックを使用
することができる。
に記録された時間と同じ場合は、クライエント・キャッ
シュ内のデータが依然有効であることを示す。クライエ
ント・ノードでファイルがクローズされた間に、他のノ
ードがこのデータを修正することはなかった。この場合
、クライエント・ノード内のプロセスは、ネットワーク
を介してファイルが実際に存在するサーバへ行かずに、
クライエント・キャッシュ内のデータ・ブロックを使用
することができる。
E、実施例
本発明では、第4図に示すように、各ノードA1B、C
にそれぞれローカル・キャッシュ12A112B、12
Cが存在する。ファイルがノードAのディスク2A上に
永久的に常駐する場合、ノードAをサーバと呼ぶ。サー
バAでは、サーバ・ノー=25− ドAで実行されるローカルプロセス13Aによるキャッ
シュ12Aの使い方は、上記の従来技術の例で述べたス
タンドアロン・システムの場合と同様である。
にそれぞれローカル・キャッシュ12A112B、12
Cが存在する。ファイルがノードAのディスク2A上に
永久的に常駐する場合、ノードAをサーバと呼ぶ。サー
バAでは、サーバ・ノー=25− ドAで実行されるローカルプロセス13Aによるキャッ
シュ12Aの使い方は、上記の従来技術の例で述べたス
タンドアロン・システムの場合と同様である。
しかし、ノードB、Cで実行される遠隔プロセス13B
113Cは第5図によりはっきりと示すように、サーバ
・キャッシュとクライエント・キャッシュを使って、2
段キャッシング体系によりファイル5にアクセスする。
113Cは第5図によりはっきりと示すように、サーバ
・キャッシュとクライエント・キャッシュを使って、2
段キャッシング体系によりファイル5にアクセスする。
サーバ・ノードAは、ディスク2Aからファイル・ブロ
ック5を入手し、それをサーバ・キャッシュ12Aに記
憶する。クライエント・ノードBは、ネットワーク3を
介してサーバ・キャッシュ12Aからファイル・ブロッ
ク5を入手する。クライエント・ノードBは、サーバ・
キャッシュ12A内にあったファイル・ブロック5をク
ライエント・キャッシュ12Bに記憶する。クライエン
ト・ノードBのユーザ・アドレス・スペース14BがA
SYNCモードまたはREADONLY同期モードでフ
ァイル5からデータをシークするとき、各アクセスごと
にネットワーク3を介してアクセスする代りにクライエ
ント・キャッシュ12Bにアクセスする。クライエント
・キャッシュ12Bを使って遠隔ファイル5にアクセス
すると、ネットワークのトラフィック・オーバーヘッド
が節減できるので、パフォーマンスが著しく改善できる
。
ック5を入手し、それをサーバ・キャッシュ12Aに記
憶する。クライエント・ノードBは、ネットワーク3を
介してサーバ・キャッシュ12Aからファイル・ブロッ
ク5を入手する。クライエント・ノードBは、サーバ・
キャッシュ12A内にあったファイル・ブロック5をク
ライエント・キャッシュ12Bに記憶する。クライエン
ト・ノードBのユーザ・アドレス・スペース14BがA
SYNCモードまたはREADONLY同期モードでフ
ァイル5からデータをシークするとき、各アクセスごと
にネットワーク3を介してアクセスする代りにクライエ
ント・キャッシュ12Bにアクセスする。クライエント
・キャッシュ12Bを使って遠隔ファイル5にアクセス
すると、ネットワークのトラフィック・オーバーヘッド
が節減できるので、パフォーマンスが著しく改善できる
。
アプリケーション・プログラム・レベルでのファイル・
アクセス・セマンティックスを保存しながら高パフォー
マンスを達成するように、分散環境でクライエント・キ
ャッシュ12Bとサーバ・キャッシュ12Aの使用が管
理される。こうすることにより、スタンドアロン・シス
テムで走行する既存のプログラムを、修正なしに分散シ
ステムで走行させることができる。
アクセス・セマンティックスを保存しながら高パフォー
マンスを達成するように、分散環境でクライエント・キ
ャッシュ12Bとサーバ・キャッシュ12Aの使用が管
理される。こうすることにより、スタンドアロン・シス
テムで走行する既存のプログラムを、修正なしに分散シ
ステムで走行させることができる。
ファイル・アクセス・セマンティックスは、別のプロセ
スがファイルをオープンして、読取りおよび書込みシス
テム・コールを発行してファイルにアクセスし、それを
修正するとき、ファイルの整合性ヲ保つ。このファイル
・アクセス・セマンティックスの要件は、どの時間のど
のバイト範囲でも1つの入出力操作だけしか許されず、
一度ある入出力操作が始まると、同じファイルのバイト
範囲に対する別の入出力操作がその入出力操作を強制排
除できないことである。
スがファイルをオープンして、読取りおよび書込みシス
テム・コールを発行してファイルにアクセスし、それを
修正するとき、ファイルの整合性ヲ保つ。このファイル
・アクセス・セマンティックスの要件は、どの時間のど
のバイト範囲でも1つの入出力操作だけしか許されず、
一度ある入出力操作が始まると、同じファイルのバイト
範囲に対する別の入出力操作がその入出力操作を強制排
除できないことである。
再度第5図を参照して、その−例を示す。プロセス13
1がファイル5内のバイト範囲N1−N2に対して書込
みシステム・コールを発行した場合、バイト範囲N1−
N2全体にプロセス131がアクセスでき、かつバイト
範囲N1−N2に関する読取り操作が実行されていない
ときだけ、書込みシステム・コールを実行できる。書込
みシステム・コールの実行中、ファイル5のバイト範囲
N1−N2に関する他のすべての操作は、その書込みが
完了するまで中断される。ローカル・キャッシュ12A
にバイトが書き込まれて始めて、書込みが完了する。書
込み要求が完了すると、キャッシュ12Aに書き込まれ
たデータは、他のプロセス131−13Nのいずれかに
よる次の読取り操作で見えるようになる。
1がファイル5内のバイト範囲N1−N2に対して書込
みシステム・コールを発行した場合、バイト範囲N1−
N2全体にプロセス131がアクセスでき、かつバイト
範囲N1−N2に関する読取り操作が実行されていない
ときだけ、書込みシステム・コールを実行できる。書込
みシステム・コールの実行中、ファイル5のバイト範囲
N1−N2に関する他のすべての操作は、その書込みが
完了するまで中断される。ローカル・キャッシュ12A
にバイトが書き込まれて始めて、書込みが完了する。書
込み要求が完了すると、キャッシュ12Aに書き込まれ
たデータは、他のプロセス131−13Nのいずれかに
よる次の読取り操作で見えるようになる。
ファイル・アクセス・セマンティックスのもう一つの要
件は、N1−N2などのファイルのバイト範囲(1つの
レコードでも、同じ入出力操作でアクセスする関連する
1組のレコードでもよい)が読取り操作で見えるとき、
ファイルのバイト範囲N1−N2は、必ずこの範囲に対
する最近の更新を反映した一貫した1組のデータを含ん
でいなければならない。書込み操作の実行中は、このバ
イト範囲にアクセスできない。こうして、あるプロセス
から出された次の読取り要求では、古くなった更新前の
データではなく、令書かれたデータが読み取とられる。
件は、N1−N2などのファイルのバイト範囲(1つの
レコードでも、同じ入出力操作でアクセスする関連する
1組のレコードでもよい)が読取り操作で見えるとき、
ファイルのバイト範囲N1−N2は、必ずこの範囲に対
する最近の更新を反映した一貫した1組のデータを含ん
でいなければならない。書込み操作の実行中は、このバ
イト範囲にアクセスできない。こうして、あるプロセス
から出された次の読取り要求では、古くなった更新前の
データではなく、令書かれたデータが読み取とられる。
第5図に示す本発明の分散ネットワーキング環境では、
異なるアプリケーション・プログラム4A14Bおよび
プロセス131−13N1231−23Nからの読取り
および書込みシステム・コールの実行が同期され、上記
のファイル・アクセス・セマンティックスが保存されて
いる。様々なキャッシュ同期モードを利用して、同期が
保証される。
異なるアプリケーション・プログラム4A14Bおよび
プロセス131−13N1231−23Nからの読取り
および書込みシステム・コールの実行が同期され、上記
のファイル・アクセス・セマンティックスが保存されて
いる。様々なキャッシュ同期モードを利用して、同期が
保証される。
特定のファイル5について、ファイル5がアクセスのた
めオープンになり、同期モードになっているプロセス1
31−131N、231−23Nの位置に応じて、クラ
イエント・ノードBまたはサーバAのどちらかによって
入出力コールが同期される。
めオープンになり、同期モードになっているプロセス1
31−131N、231−23Nの位置に応じて、クラ
イエント・ノードBまたはサーバAのどちらかによって
入出力コールが同期される。
第6図に3つの同期モードを示し、第4図を参照しなが
ら説明を行なう。第1のモードはASYNCs−モード
、すなわち非同期モードと呼ばれる。このモード41で
は、第6図のブロック44に示すように1つのクライエ
ント遠隔モードのみで実行されるプロセス13Cによる
読取り/書込みアクセスのためにファイル5がオープン
になっている場合に、ファイル5が動作する。このモー
ド41では、制御権はすべてクライエント・ノードCに
ある。これらの読取り/書込み操作には、サーバ・キャ
ッシュ12Aもクライエント・キャッシュ12Cも使わ
れる。クライエント・キャッシュ12Cから充たせない
場合にのみ、読取りまたは書込み操作でサーバ・キャッ
シュ12Aへのアクセスが必要になる。周期的同期操作
によって、あるいはクライエント・ノードC中でのすべ
てのプロセス13Cによってファイル5がクローズされ
たとき、または他のデータをキャッシュに入れるスペー
スを空けるためにブロックを書き込まなければならない
とき、クライエント・ノード12Cにある修正済みのデ
ータ・ブロックがサーバ12Aに書き込まれる。さらに
、ファイルがASYNCs−モードからFULLSYN
Cs−モードに変更されるとき、修正済みのデータ・ブ
ロックがサーバ12Aに書き込まれる。
ら説明を行なう。第1のモードはASYNCs−モード
、すなわち非同期モードと呼ばれる。このモード41で
は、第6図のブロック44に示すように1つのクライエ
ント遠隔モードのみで実行されるプロセス13Cによる
読取り/書込みアクセスのためにファイル5がオープン
になっている場合に、ファイル5が動作する。このモー
ド41では、制御権はすべてクライエント・ノードCに
ある。これらの読取り/書込み操作には、サーバ・キャ
ッシュ12Aもクライエント・キャッシュ12Cも使わ
れる。クライエント・キャッシュ12Cから充たせない
場合にのみ、読取りまたは書込み操作でサーバ・キャッ
シュ12Aへのアクセスが必要になる。周期的同期操作
によって、あるいはクライエント・ノードC中でのすべ
てのプロセス13Cによってファイル5がクローズされ
たとき、または他のデータをキャッシュに入れるスペー
スを空けるためにブロックを書き込まなければならない
とき、クライエント・ノード12Cにある修正済みのデ
ータ・ブロックがサーバ12Aに書き込まれる。さらに
、ファイルがASYNCs−モードからFULLSYN
Cs−モードに変更されるとき、修正済みのデータ・ブ
ロックがサーバ12Aに書き込まれる。
第2のモード42はREADONLY s−モード4
2である。READONLY s−モード42は、第
6図のブロック45に示すように、1つのノードC内の
プロセス13Gからの、または複数のノードB1C内の
プロセス13B113Gからの読取り専用アクセスのた
めにオープンとなっているファイル5に用いられる。こ
のモード42では、サーバ・キャッシュ12Aとクライ
エント・キャッシュ12Cの一方または両方が使われる
。
2である。READONLY s−モード42は、第
6図のブロック45に示すように、1つのノードC内の
プロセス13Gからの、または複数のノードB1C内の
プロセス13B113Gからの読取り専用アクセスのた
めにオープンとなっているファイル5に用いられる。こ
のモード42では、サーバ・キャッシュ12Aとクライ
エント・キャッシュ12Cの一方または両方が使われる
。
一時に1つまたは複数のブロックに対して、読取り要求
が発行される。同じクライエント・ノードBまたはCか
らの特定のデータ・ブロックに対する他の読取り要求は
、どれもサーバ12に行かず、当該のクライエント・キ
ャッシュ12Aまたは12Cから読み取られる。言い換
えれば、クライエント・キャッシュ12Gまたは12B
から充たせる場合、読取り操作でサーバ12Aへのアク
セスは必要ではない。まとめると、任意のノードA1B
、C内のプロセス13A、13B113Cのいずれかに
よる読取り専用アクセスのためにファイル5がオープン
になっている場合に、ファイル5はREADONLY
s−モード42で動作する。
が発行される。同じクライエント・ノードBまたはCか
らの特定のデータ・ブロックに対する他の読取り要求は
、どれもサーバ12に行かず、当該のクライエント・キ
ャッシュ12Aまたは12Cから読み取られる。言い換
えれば、クライエント・キャッシュ12Gまたは12B
から充たせる場合、読取り操作でサーバ12Aへのアク
セスは必要ではない。まとめると、任意のノードA1B
、C内のプロセス13A、13B113Cのいずれかに
よる読取り専用アクセスのためにファイル5がオープン
になっている場合に、ファイル5はREADONLY
s−モード42で動作する。
第3のモード43はFULLSYNCs−モードである
。FULLSYNCs−モード43は、第6図のブロッ
ク48で示すように、サーバ・ノードA内のプロセス1
3Aによる書込みアクセスのためにオープンになってい
るファイル5に用いられる。この同期モード43は、第
6図のブロック46.47で示すように、サーバ・ノー
ドAおよび他の少なくとも1つのノードB1Cでファイ
ル5がオープンし、かつ少なくとも1つのプロセス13
A113B113Cで書込みアクセスのためにファイル
5がオープンになっている場合にも用いられる。一般に
複数のノードでファイル5がオープンし、それらのノー
ドのうちの1つで書込みアクセスのためにファイルがオ
ープンしている場合、そのファイルはFULLSYNC
s−モードである。FULLSYNCs−モード43で
は、クライエント・キャッシュ12Cまたは12Bは迂
回し、サーバ・キャッシュ12Aだけが用いられる。読
取り操作と書込み操作はすべてサーバ12Aで実行され
る。
。FULLSYNCs−モード43は、第6図のブロッ
ク48で示すように、サーバ・ノードA内のプロセス1
3Aによる書込みアクセスのためにオープンになってい
るファイル5に用いられる。この同期モード43は、第
6図のブロック46.47で示すように、サーバ・ノー
ドAおよび他の少なくとも1つのノードB1Cでファイ
ル5がオープンし、かつ少なくとも1つのプロセス13
A113B113Cで書込みアクセスのためにファイル
5がオープンになっている場合にも用いられる。一般に
複数のノードでファイル5がオープンし、それらのノー
ドのうちの1つで書込みアクセスのためにファイルがオ
ープンしている場合、そのファイルはFULLSYNC
s−モードである。FULLSYNCs−モード43で
は、クライエント・キャッシュ12Cまたは12Bは迂
回し、サーバ・キャッシュ12Aだけが用いられる。読
取り操作と書込み操作はすべてサーバ12Aで実行され
る。
第4図の分散ネットワーキング環境1では、大部分のフ
ァイル5は、READONLY s−モード42(第
6図)で複数のノードA1B1Cでのプロセス13A1
13B、13Cによる読取専用アクセスのためにオープ
ンしたり、あるいはAsYNCHs−モード41で1つ
のノードで更新のためにオープンしたりする方が、FU
LLSYNCs−モード43で複数のノードで実行され
るプロセスによる読取り/書込みアクセスのためにオー
プンするよりも頻繁である。READONLY s−
モード42でもASYNCs−モード41でも、クライ
エント・キャツシュ12BI!5図)を使用するため、
遠隔読取り/書込みのファイル5にアクセスする応答時
間が著しく減少し、全体的システム・パフォーマンスが
向上する。
ァイル5は、READONLY s−モード42(第
6図)で複数のノードA1B1Cでのプロセス13A1
13B、13Cによる読取専用アクセスのためにオープ
ンしたり、あるいはAsYNCHs−モード41で1つ
のノードで更新のためにオープンしたりする方が、FU
LLSYNCs−モード43で複数のノードで実行され
るプロセスによる読取り/書込みアクセスのためにオー
プンするよりも頻繁である。READONLY s−
モード42でもASYNCs−モード41でも、クライ
エント・キャツシュ12BI!5図)を使用するため、
遠隔読取り/書込みのファイル5にアクセスする応答時
間が著しく減少し、全体的システム・パフォーマンスが
向上する。
第8図に示すように、FULLSYNCs−モードでは
、クライエント・キャッシュは使われない。クライエン
ト・ノードBは、各読取りおよび書込みのたびにサーバ
Aからネットワーク3を介してファイル5にアクセスす
る。このモードでは、読取り/書込み応答時間は増加す
るが、サーバAに常駐する対応するファイルと一緒に更
新されていないファイル5をクライエント・ノードがロ
ーカル・キャッシュに保持しないので、ファイル・アク
セス・セマンティックスは保存される。
、クライエント・キャッシュは使われない。クライエン
ト・ノードBは、各読取りおよび書込みのたびにサーバ
Aからネットワーク3を介してファイル5にアクセスす
る。このモードでは、読取り/書込み応答時間は増加す
るが、サーバAに常駐する対応するファイルと一緒に更
新されていないファイル5をクライエント・ノードがロ
ーカル・キャッシュに保持しないので、ファイル・アク
セス・セマンティックスは保存される。
この3つのモードを使ってクライエント・キャッシュの
使用を管理すると、読取り/書込み応答速度が全体的に
平均して増加し、かつファイルの整合性が保たれるため
に、全体的システム・パフオーマンスが最適になる。あ
る状況ではクライアント・キャッシュを使うので読取り
/書込み応答時間が減少し、別の状況ではクライエント
・キャッシュを使わないので、ファイル・システム・セ
マンティックスが保存される。
使用を管理すると、読取り/書込み応答速度が全体的に
平均して増加し、かつファイルの整合性が保たれるため
に、全体的システム・パフオーマンスが最適になる。あ
る状況ではクライアント・キャッシュを使うので読取り
/書込み応答時間が減少し、別の状況ではクライエント
・キャッシュを使わないので、ファイル・システム・セ
マンティックスが保存される。
ファイルの同期モードは、どのノードでファイルがオー
プンになっているか、およびファイルが読取りのために
オープンになっているのか、それとも書込みのためにオ
ープンになっているのかだけでなく、ファイルの存在す
る装置が生(raw)アクセス・モードでオープンにな
っているかどうかにも依存する。ある装置に対する生ア
クセスとは、装置2A内のデータ・ブロックLBNI
(第5図)がアクセスされるという意味である。すなわ
ち、装置2Aの読取りおよび書込みは、装置2Aのデー
タ・ブロックLBNIに対する読取りおよび書込みであ
る。そのデータ・ブロックがどのファイルに属するのか
重要ではない。装置2Aは、サーバ・ノードAでのプロ
セス131−13Nからの生アクセスのためにオープン
することができるが、遠隔ノードB1Cからの生アクセ
スのためにオープンすることはできない。
プンになっているか、およびファイルが読取りのために
オープンになっているのか、それとも書込みのためにオ
ープンになっているのかだけでなく、ファイルの存在す
る装置が生(raw)アクセス・モードでオープンにな
っているかどうかにも依存する。ある装置に対する生ア
クセスとは、装置2A内のデータ・ブロックLBNI
(第5図)がアクセスされるという意味である。すなわ
ち、装置2Aの読取りおよび書込みは、装置2Aのデー
タ・ブロックLBNIに対する読取りおよび書込みであ
る。そのデータ・ブロックがどのファイルに属するのか
重要ではない。装置2Aは、サーバ・ノードAでのプロ
セス131−13Nからの生アクセスのためにオープン
することができるが、遠隔ノードB1Cからの生アクセ
スのためにオープンすることはできない。
第5図を参照すると、キャッシュ12Aは、第2図に関
して先に説明したスタンドアロン・システムと同様に、
装置2AのブロックLBN1として管理される。サーバ
Aは、サーバ・キャッシュ12Aを装置2A内の論理ブ
ロックLBNIとして見る。クライエント・ノードBは
、ファイル5が装置2A上のどこにあるのか知らない。
して先に説明したスタンドアロン・システムと同様に、
装置2AのブロックLBN1として管理される。サーバ
Aは、サーバ・キャッシュ12Aを装置2A内の論理ブ
ロックLBNIとして見る。クライエント・ノードBは
、ファイル5が装置2A上のどこにあるのか知らない。
クライエント・ノードBが知っているのは、装置2Aの
ブロック番号N1にあるファイル5にアクセスしている
ことだけである。クライエント・キャッシュ12Bは、
データをファイル5の論理ブロックN1として扱う。サ
ーバ・キャッシュ12A内では、データは装置2Aの論
理ブロックLBNIとして扱われる。データをこのよう
に扱う際に、サーバAは、データが主装置としての装置
に書き込まれ、かつそのファイルの装置に書き込まれた
ブロックと同じブロックに対する読取りが別にあった場
合に、新しく書き込まれたデータがその読取りで見える
ことを保証することができる。このため、ファイル・シ
ステム・セマンティックスが保存される。
ブロック番号N1にあるファイル5にアクセスしている
ことだけである。クライエント・キャッシュ12Bは、
データをファイル5の論理ブロックN1として扱う。サ
ーバ・キャッシュ12A内では、データは装置2Aの論
理ブロックLBNIとして扱われる。データをこのよう
に扱う際に、サーバAは、データが主装置としての装置
に書き込まれ、かつそのファイルの装置に書き込まれた
ブロックと同じブロックに対する読取りが別にあった場
合に、新しく書き込まれたデータがその読取りで見える
ことを保証することができる。このため、ファイル・シ
ステム・セマンティックスが保存される。
第5図に示すようにクライエント・ノードBでファイル
がアクセスされており、かつファイルがASYNCモー
ドまたはREADONLYモードの場合、クライアント
・オペレーティング・システムIIBは、システムコー
ルREAD (ファイル記述子、N1)16中のファイ
ル記述子とファイル内のバイト範囲を、装置番号および
装置内の論理ブロック番号に変換しない。クライアント
は、ファイル記述子とバイト範囲を、ファイル・ハンド
ル、ノード識別子、およびファイル内の論理ブロック番
号に変換する。クライエント・キャッシュ12B内には
、ファイル・ハンドル、ノード識別子、およびファイル
内の論理ブロック番号により指定されるブロック17が
存在する。クライアントのアプリケーション・プログラ
ム4Bから読取り要求16が発行される(第9図のステ
ップ104)と、その読取り要求は、ファイル記述子お
よびファイル内のバイト範囲と共にオペレーティン3フ
ー グ・システムIIBに向う。次にオペレーティング・シ
ステムIIBはクライアント・キャッシュ12Bを見る
(第9図のステップ105)。ファイル・ハンドル、ノ
ード識別子、およびファイル内の論理ブロック番号がそ
こにある場合、キャッシュ12Bが読み取られる(第9
図のステップ106)。そこにない場合(第9図のステ
ップ107)、その読取り要求はサーバに送られる(第
9図のステップ108)。サーバは次にファイル・ハン
ドルとファイル内の論理ブロック番号を装置番号とファ
イル内の論理ブロック番号に変換する(第9図のステッ
プ109)。この変換が必要なのは、サーバ・キャッシ
ュ12Aがスタンドアロン・システムと同様に、装置番
号とブロック番号によって管理されるためである。読取
り要求はサーバに送られた後、第2図に関して先に説明
したスタンドアロン・システムで読取り要求がそれ自体
のアプリケーション・プログラムから来ている場合と同
様に扱われる。
がアクセスされており、かつファイルがASYNCモー
ドまたはREADONLYモードの場合、クライアント
・オペレーティング・システムIIBは、システムコー
ルREAD (ファイル記述子、N1)16中のファイ
ル記述子とファイル内のバイト範囲を、装置番号および
装置内の論理ブロック番号に変換しない。クライアント
は、ファイル記述子とバイト範囲を、ファイル・ハンド
ル、ノード識別子、およびファイル内の論理ブロック番
号に変換する。クライエント・キャッシュ12B内には
、ファイル・ハンドル、ノード識別子、およびファイル
内の論理ブロック番号により指定されるブロック17が
存在する。クライアントのアプリケーション・プログラ
ム4Bから読取り要求16が発行される(第9図のステ
ップ104)と、その読取り要求は、ファイル記述子お
よびファイル内のバイト範囲と共にオペレーティン3フ
ー グ・システムIIBに向う。次にオペレーティング・シ
ステムIIBはクライアント・キャッシュ12Bを見る
(第9図のステップ105)。ファイル・ハンドル、ノ
ード識別子、およびファイル内の論理ブロック番号がそ
こにある場合、キャッシュ12Bが読み取られる(第9
図のステップ106)。そこにない場合(第9図のステ
ップ107)、その読取り要求はサーバに送られる(第
9図のステップ108)。サーバは次にファイル・ハン
ドルとファイル内の論理ブロック番号を装置番号とファ
イル内の論理ブロック番号に変換する(第9図のステッ
プ109)。この変換が必要なのは、サーバ・キャッシ
ュ12Aがスタンドアロン・システムと同様に、装置番
号とブロック番号によって管理されるためである。読取
り要求はサーバに送られた後、第2図に関して先に説明
したスタンドアロン・システムで読取り要求がそれ自体
のアプリケーション・プログラムから来ている場合と同
様に扱われる。
クローズされているファイルには、同期モードかない。
しかし、あるプロセスによってファイルが始めてオープ
ンされると、第7図に示すように下記の通り、ファイル
の同期モードが初期設定される。
ンされると、第7図に示すように下記の通り、ファイル
の同期モードが初期設定される。
ファイルが存在する装置(D)がクローズされている、
すなわち特別装置としてオープンしていない場合(61
)、ファイルの同期モードはAsYNCモード41に初
期設定され、ファイルは1つの遠隔ノードでの書込みア
クセスに対してオープンされる(62)。
すなわち特別装置としてオープンしていない場合(61
)、ファイルの同期モードはAsYNCモード41に初
期設定され、ファイルは1つの遠隔ノードでの書込みア
クセスに対してオープンされる(62)。
ファイルが存在する装置がクローズされ、1つまたは複
数のノードでの読取り専用アクセスのためにファイルが
オープンになっている場合(63)、あるいは装置もフ
ァイルも読取り専用アクセスのためにオープンになって
いる場合(64)、ファイルの同期モードはREADO
NLY42である。
数のノードでの読取り専用アクセスのためにファイルが
オープンになっている場合(63)、あるいは装置もフ
ァイルも読取り専用アクセスのためにオープンになって
いる場合(64)、ファイルの同期モードはREADO
NLY42である。
ファイルが存在する装置が読取り/書込みアクセスのた
めにブロック特別装置としてオープンになっている場合
(65)、あるいはファイルが複数のノードでオープン
し、少なくとも1つのオープンが書込みに対するもので
ある場合、ファイルの同期モードはFULLSYNCモ
ード43に初期設定される。ブロック特別装置とは、そ
の装置に対する生アクセスがあるという意味である。
めにブロック特別装置としてオープンになっている場合
(65)、あるいはファイルが複数のノードでオープン
し、少なくとも1つのオープンが書込みに対するもので
ある場合、ファイルの同期モードはFULLSYNCモ
ード43に初期設定される。ブロック特別装置とは、そ
の装置に対する生アクセスがあるという意味である。
ファイルがあるモードに初期設定されると、条件が変わ
れば、ファイル・モードも変わることがある。第7図で
線71ないし76によって示すようなあるモードから別
のモードへの移行が、下記の条件で起こり得る。
れば、ファイル・モードも変わることがある。第7図で
線71ないし76によって示すようなあるモードから別
のモードへの移行が、下記の条件で起こり得る。
ファイルが現在ASYNCモード41であり、そのファ
イル(F)がオープンになっているノードの数が2以上
になった場合(81)、第7図で線72によって示すよ
うに同期モードはFULLSYNCモード43に変わる
。また、ファイルが存在するブロック特別装置りのオー
プンがある場合(82)、同期モードはASYNCモー
ド41からFULLSYNCモード43に変わる。ファ
イルのクローズ動作については、そのクローズ動作がフ
ァイルの最終クローズではなく、ファイルは書込みに対
しては依然としてオープンである場合は、モード変更は
起こらない。しかし、そのクローズ動作がそのファイル
の書込みアクセスに対する最終クローズであり、残って
いるオープンはすべて読込みアクセスに対するものであ
る場合(83)は、線74で示すようにREADONL
Yモード42が新しいモードになる。そのクローズ動作
がそのファイルの最終クローズである場合、同期モード
はない。
イル(F)がオープンになっているノードの数が2以上
になった場合(81)、第7図で線72によって示すよ
うに同期モードはFULLSYNCモード43に変わる
。また、ファイルが存在するブロック特別装置りのオー
プンがある場合(82)、同期モードはASYNCモー
ド41からFULLSYNCモード43に変わる。ファ
イルのクローズ動作については、そのクローズ動作がフ
ァイルの最終クローズではなく、ファイルは書込みに対
しては依然としてオープンである場合は、モード変更は
起こらない。しかし、そのクローズ動作がそのファイル
の書込みアクセスに対する最終クローズであり、残って
いるオープンはすべて読込みアクセスに対するものであ
る場合(83)は、線74で示すようにREADONL
Yモード42が新しいモードになる。そのクローズ動作
がそのファイルの最終クローズである場合、同期モード
はない。
ファイルが現在READONLY s−モード42で
あり、ファイル・オープン動作がある場合、そのオープ
ンが読取りに対するものなら、モード変更はない。しか
し、そのオープンが書込みに対するものなら、線73で
示すようにすべてのオープンが1つのクライエント・ノ
ードで行なわれる場合(84) 、ASYNCモード4
1が新しい同期モードとなる。そうでなければ、同期モ
ードはFULLSYNCモード43である。さらに、フ
ァイルが存在する装置が読取り/書込みアクセスに対し
てオープンになっている場合(87)、そのファイルの
新しい同期モードはFULLSYNCモード43である
。クローズ動作について、そのクローズがそのファイル
の最終クローズである場合、そのファイルの同期モード
はない。クローズ動作の後、ファイルが1つまたは複数
のノードで依然としてオープンになっている場合、同期
モードへの変更はない。
あり、ファイル・オープン動作がある場合、そのオープ
ンが読取りに対するものなら、モード変更はない。しか
し、そのオープンが書込みに対するものなら、線73で
示すようにすべてのオープンが1つのクライエント・ノ
ードで行なわれる場合(84) 、ASYNCモード4
1が新しい同期モードとなる。そうでなければ、同期モ
ードはFULLSYNCモード43である。さらに、フ
ァイルが存在する装置が読取り/書込みアクセスに対し
てオープンになっている場合(87)、そのファイルの
新しい同期モードはFULLSYNCモード43である
。クローズ動作について、そのクローズがそのファイル
の最終クローズである場合、そのファイルの同期モード
はない。クローズ動作の後、ファイルが1つまたは複数
のノードで依然としてオープンになっている場合、同期
モードへの変更はない。
ファイルが現在FULLSYNCモード43であり、そ
のファイルに対して別のオープンがある場合、あるいは
ファイルが存在する装置がオープンされる場合、同期モ
ードの変更はない。ファイルのクローズ動作の後、1つ
の遠隔ノードで読取り/書込みアクセスのためのオープ
ンが残っており、かつそのファイルが存在するブロック
特別装置がオープンされていない場合、線71を介して
ブロック88で示されるように、同期モードはASYN
Cs−モード41に変わる。ファイルが存在するブロッ
ク特別装置がオープンされず、かつ線75上のブロック
89で示されるように、そのファイルが1つまたは複数
のノードでの読取り専用アクセスに対してオープンされ
る場合、あるいはファイルが存在するブロック特別装置
が読取り専用アクセスに対してオープンされ、かつその
ファイルが読取り専用アクセスに対してオープンされる
場合、同期モードはFULLSYNCモード43からR
EADONLYモード42に変わる。
のファイルに対して別のオープンがある場合、あるいは
ファイルが存在する装置がオープンされる場合、同期モ
ードの変更はない。ファイルのクローズ動作の後、1つ
の遠隔ノードで読取り/書込みアクセスのためのオープ
ンが残っており、かつそのファイルが存在するブロック
特別装置がオープンされていない場合、線71を介して
ブロック88で示されるように、同期モードはASYN
Cs−モード41に変わる。ファイルが存在するブロッ
ク特別装置がオープンされず、かつ線75上のブロック
89で示されるように、そのファイルが1つまたは複数
のノードでの読取り専用アクセスに対してオープンされ
る場合、あるいはファイルが存在するブロック特別装置
が読取り専用アクセスに対してオープンされ、かつその
ファイルが読取り専用アクセスに対してオープンされる
場合、同期モードはFULLSYNCモード43からR
EADONLYモード42に変わる。
ファイルおよび装置に対するすべてのオープン動作およ
びクローズ動作は、サーバ・ノードで解決される。サー
バは、同期モードを変更する可能性がある任意の動作を
実行するとき、オープン・ファイルの同期モードを決定
する。また、サーバは同期モードの変更を実行する。サ
ーバがそのファイルに対する新しいオープンまたはクロ
ーズを獲得するとき、そのファイルの同期モードの変更
がトリガされることがある。必要とされる同期モードが
現在のモードではない場合、サーバはそのファイルがオ
ープンになっているすべてのクライエントに「同期モー
ド変更」遠隔手順コール(rpc)を送る。
びクローズ動作は、サーバ・ノードで解決される。サー
バは、同期モードを変更する可能性がある任意の動作を
実行するとき、オープン・ファイルの同期モードを決定
する。また、サーバは同期モードの変更を実行する。サ
ーバがそのファイルに対する新しいオープンまたはクロ
ーズを獲得するとき、そのファイルの同期モードの変更
がトリガされることがある。必要とされる同期モードが
現在のモードではない場合、サーバはそのファイルがオ
ープンになっているすべてのクライエントに「同期モー
ド変更」遠隔手順コール(rpc)を送る。
ファイルが初めてオープンされた後、そのファイルをオ
ープンしたクライエントに、そのファイルのモードが知
られる。モードがASYNCまたはREADONLYで
ある場合、クライエントは、第5図に示すように、読取
りのため、あるいはASYNCモードの場合は書込みの
ためにも、クライエント・キャッシュの使用を開始する
ことができる。クライエントは、通信リンクを介してサ
ーバに対して読取りまたは書込みを行なう必要はない。
ープンしたクライエントに、そのファイルのモードが知
られる。モードがASYNCまたはREADONLYで
ある場合、クライエントは、第5図に示すように、読取
りのため、あるいはASYNCモードの場合は書込みの
ためにも、クライエント・キャッシュの使用を開始する
ことができる。クライエントは、通信リンクを介してサ
ーバに対して読取りまたは書込みを行なう必要はない。
第8図に示すようにモードがFULLSYNCモードで
ある場合は、クライエント・キャッシュは使われず、ク
ライエントは通信リンク3を介してサーバに対し読取り
または書込みを送る必要がある。
ある場合は、クライエント・キャッシュは使われず、ク
ライエントは通信リンク3を介してサーバに対し読取り
または書込みを送る必要がある。
第5図のサーバAは、常にファイル5のモード51を設
定する。またサーバAは、どのノードのファイルがオー
プンになっているか、およびそれらのオープンが読取り
に対するものかそれとも書込みに対するものかを知って
いる。サーバAは、ノード内のプロセス131−13N
1231−23Nに対してファイルがオープンになって
いるかどうか知る必要はない。サーバは、上記のすべて
の情報をファイル・アクセス構造50中に保存する。構
造50中には、同期モード51、そのファイルがオープ
ンになっているノードのリスト52、ファイル5の読取
り数53、およびファイル5への書込み数53が含まれ
る。
定する。またサーバAは、どのノードのファイルがオー
プンになっているか、およびそれらのオープンが読取り
に対するものかそれとも書込みに対するものかを知って
いる。サーバAは、ノード内のプロセス131−13N
1231−23Nに対してファイルがオープンになって
いるかどうか知る必要はない。サーバは、上記のすべて
の情報をファイル・アクセス構造50中に保存する。構
造50中には、同期モード51、そのファイルがオープ
ンになっているノードのリスト52、ファイル5の読取
り数53、およびファイル5への書込み数53が含まれ
る。
ファイル・アクセス構造50は、iノード55にリンク
されている。iノード55は、ファイル5を識別するた
めのファイル・ヘッダ56を含んでいる。1ノード55
はまた、ファイルがどの装置上に存在するかに関する情
報を含むブロック57と、ファイルが装置上のどこに存
在するかに関する情報を含むブロック58を含んでいる
。
されている。iノード55は、ファイル5を識別するた
めのファイル・ヘッダ56を含んでいる。1ノード55
はまた、ファイルがどの装置上に存在するかに関する情
報を含むブロック57と、ファイルが装置上のどこに存
在するかに関する情報を含むブロック58を含んでいる
。
iノード55はまた、2つの時間ビット111と112
を含んでいる。時間ビットは、そのファイルに関する情
報の追跡を助けるためにiノード55中で使用される。
を含んでいる。時間ビットは、そのファイルに関する情
報の追跡を助けるためにiノード55中で使用される。
時間アクセス・ビット111は、そのファイルまたはデ
ータが読み取られたことを示す。時間変更ビット112
は、そのデータまたはファイルが書込みアクセスによっ
て修正−45= されたこきを示す。
ータが読み取られたことを示す。時間変更ビット112
は、そのデータまたはファイルが書込みアクセスによっ
て修正−45= されたこきを示す。
時間変更ビット112が設定され、下記の3つの事象の
いずれかが起こると、サーバAでの実際の時間と、サー
バ・キャッシュ内の修正済みデータが、ディスク2に書
き込まれる。3種の事象とは、ファイル状況検査、ファ
イル・クローズ、および周期的同期である。周期的同期
は、周期的にたとえば1分ごとにキャッシュをディスク
に書き込むものである。サーバ時間およびサーバ・キャ
ッシュ12A内のデータがディスク2に書き込まれると
、時間変更ビット112がリセットされる。
いずれかが起こると、サーバAでの実際の時間と、サー
バ・キャッシュ内の修正済みデータが、ディスク2に書
き込まれる。3種の事象とは、ファイル状況検査、ファ
イル・クローズ、および周期的同期である。周期的同期
は、周期的にたとえば1分ごとにキャッシュをディスク
に書き込むものである。サーバ時間およびサーバ・キャ
ッシュ12A内のデータがディスク2に書き込まれると
、時間変更ビット112がリセットされる。
ファイル状況検査要求が出ている場合、サーバAはファ
イルがオープンになっているかどうか検査し、iノード
・ビットの検査によって、時間変更ビット112が設定
されている場合は、状況要求時間を示す新しい時間が書
き込まれ、状況が戻される。その後に状況要求が出た場
合、要求ノードは、ファイルの変更時間を示す時間を受
は取ることになる。次の状況要求に対しては時間ビット
112は変更されない。
イルがオープンになっているかどうか検査し、iノード
・ビットの検査によって、時間変更ビット112が設定
されている場合は、状況要求時間を示す新しい時間が書
き込まれ、状況が戻される。その後に状況要求が出た場
合、要求ノードは、ファイルの変更時間を示す時間を受
は取ることになる。次の状況要求に対しては時間ビット
112は変更されない。
上記のように設定されたファイル修正時間は、クライエ
ントBがファイル5をクローズした後でファイル5が変
更されたことを示す提示としてクライエントBが使用す
る。クライエントBがあるファイルをクローズすると、
それが最後のクローズであった場合、サーバはそのクロ
ーズされたファイル5に対するファイル・アクセス構造
50から脱する。そのファイルがノードBでクローズに
なっているときに別のノードがそのファイルをオープン
にした場合、ファイル・アクセス構造50は、ブロック
52内にオープン・ノードに関する情報のみを含む。言
い換えれば、一度ノードBがあるファイルをクローズす
ると、サーバはノードBが以前にファイルをオープンし
たことを示す何の情報も保持しない。
ントBがファイル5をクローズした後でファイル5が変
更されたことを示す提示としてクライエントBが使用す
る。クライエントBがあるファイルをクローズすると、
それが最後のクローズであった場合、サーバはそのクロ
ーズされたファイル5に対するファイル・アクセス構造
50から脱する。そのファイルがノードBでクローズに
なっているときに別のノードがそのファイルをオープン
にした場合、ファイル・アクセス構造50は、ブロック
52内にオープン・ノードに関する情報のみを含む。言
い換えれば、一度ノードBがあるファイルをクローズす
ると、サーバはノードBが以前にファイルをオープンし
たことを示す何の情報も保持しない。
上述のように、ファイルは、複数のクライエント・ノー
ドB、Cおよびサーバ・ノードAで実行中のプロセスに
よって、読取り専用アクセスに対してオープンする(す
なわちREADONLYモード)こともでき、また1つ
のクライエント・ノードのみでのプロセスによって読取
りおよび書込みのためにオープンする(すなわち、AS
YNCモード)こともできる。どちらの場合でも、各ク
ライエント・ノード中のクライエント・キャッシュは、
潜在的にそのファイルの有効なブロックを有する。
ドB、Cおよびサーバ・ノードAで実行中のプロセスに
よって、読取り専用アクセスに対してオープンする(す
なわちREADONLYモード)こともでき、また1つ
のクライエント・ノードのみでのプロセスによって読取
りおよび書込みのためにオープンする(すなわち、AS
YNCモード)こともできる。どちらの場合でも、各ク
ライエント・ノード中のクライエント・キャッシュは、
潜在的にそのファイルの有効なブロックを有する。
ファイルがクライエントBでのすべてのプロセスによっ
てクローズされる場合、クライエントBの各ブロックは
自動的に無効化されない。タライエンドB中に使用でき
るデータ・ブロックを保持することにより、ファイルを
ノードBのいずれかのプロセスによって再オープンする
場合、このデータに対する遠隔読取りをサーバAに出す
必要はない。
てクローズされる場合、クライエントBの各ブロックは
自動的に無効化されない。タライエンドB中に使用でき
るデータ・ブロックを保持することにより、ファイルを
ノードBのいずれかのプロセスによって再オープンする
場合、このデータに対する遠隔読取りをサーバAに出す
必要はない。
本発明のシステムおよび方法は、クライエント・ノード
Bに、クライエント・ノードBがファイル5をクローズ
した間にあるファイルが別のノードで書き込まれたか否
かを判定する手段を与える。
Bに、クライエント・ノードBがファイル5をクローズ
した間にあるファイルが別のノードで書き込まれたか否
かを判定する手段を与える。
クライエントBは、ファイルがクライエントBでクロー
ズされている間にそのファイルに対する書込み動作が行
なわれなかった場合にだけ、クライエント・キャッシュ
内のファイル・ブロックを使用することができる。クラ
イエント・ノードBがこのファイルを再オープンし、か
つそのファイルがクライエント・ノードBでクローズさ
れている間に変更されなかった場合、クライエント・ノ
ードBはクライエント・キャッシュ12Bから直接にフ
ァイル5にアクセスすることができる。クライエント・
ノードBがファイル5を再オープンし、かつファイル5
がクライエント・ノードBでクローズされている間に変
更された場合、クライエント・ノードBは、変更された
ファイル5を得るために、ネットワーク3を介してサー
バに行かなければならない。その後、変更済みファイル
が、後でアクセスするためにクライエント・キャッシュ
12Bに記憶される。
ズされている間にそのファイルに対する書込み動作が行
なわれなかった場合にだけ、クライエント・キャッシュ
内のファイル・ブロックを使用することができる。クラ
イエント・ノードBがこのファイルを再オープンし、か
つそのファイルがクライエント・ノードBでクローズさ
れている間に変更されなかった場合、クライエント・ノ
ードBはクライエント・キャッシュ12Bから直接にフ
ァイル5にアクセスすることができる。クライエント・
ノードBがファイル5を再オープンし、かつファイル5
がクライエント・ノードBでクローズされている間に変
更された場合、クライエント・ノードBは、変更された
ファイル5を得るために、ネットワーク3を介してサー
バに行かなければならない。その後、変更済みファイル
が、後でアクセスするためにクライエント・キャッシュ
12Bに記憶される。
本発明のシステムおよび方法は、第10図と第11図を
簡時に参照すると最もよく説明できる。
簡時に参照すると最もよく説明できる。
ファイル5がクライエント・メートB中のプロセス13
1によって初めてオープンされる(ステップ120)と
、クライエント・ノードBは代理iノード114を作成
する(ステップエ21)。代理iノードは、iノードが
含む情報のすべてを含んでいるのではない点以外は、i
ノードと同様である。
1によって初めてオープンされる(ステップ120)と
、クライエント・ノードBは代理iノード114を作成
する(ステップエ21)。代理iノードは、iノードが
含む情報のすべてを含んでいるのではない点以外は、i
ノードと同様である。
クライエント・ノードBで遠隔ファイル5に対するオー
プンが出されると、ファイル5に対する既存の代理iノ
ードを探すため、クライエント処理システム中の代理i
ノード・テーブルが走査される。代理iノードが存在し
ない場合は、新しい代理iノードが割り振られる。オー
プン遠隔手順コールが、クライエントからサーバに送ら
れる。
プンが出されると、ファイル5に対する既存の代理iノ
ードを探すため、クライエント処理システム中の代理i
ノード・テーブルが走査される。代理iノードが存在し
ない場合は、新しい代理iノードが割り振られる。オー
プン遠隔手順コールが、クライエントからサーバに送ら
れる。
サーバでそのオープンが完了すると、サーバからクライ
エントに送られるオープン肯定応答は、ファイル5に対
する最終修正時間を含むことになる。
エントに送られるオープン肯定応答は、ファイル5に対
する最終修正時間を含むことになる。
サーバ・ディスク2に書き込まれたファイル5に対する
最終修正時間22がクライエント・ノードBのブロック
115内の新しく割り振られた代理1ノード114に記
録される(ステップ122)。
最終修正時間22がクライエント・ノードBのブロック
115内の新しく割り振られた代理1ノード114に記
録される(ステップ122)。
ブロック22およびブロック115に記録される修正時
間T1は、クライエントBではなくサーバAにおける時
間である。サーバ・ノードAでは、ブロック52中フア
イル・アクセス構造50が、そのファイルがノードBで
オープンになっていることを示すように更新される(ス
テップ123)。
間T1は、クライエントBではなくサーバAにおける時
間である。サーバ・ノードAでは、ブロック52中フア
イル・アクセス構造50が、そのファイルがノードBで
オープンになっていることを示すように更新される(ス
テップ123)。
次に最初の読取りが出された場合、クライエント・キャ
ッシュ12B中のデータ・ブロック116が割り当てら
れる(ステップ124)。データ・ブロック116の最
初のビット152は、サーバ・ノードAを識別する。第
2のビット153は、ファイル5を識別するためのファ
イル・ハンドルヲ含んでいる。ファイル5内のあるブロ
ックに新しいキャッシュ・ブロックが割り振られると、
代理iノード114のブロック115から得られる修正
時間T1が、データ・ブロック116のビット117の
キャッシュ・ブロック・ヘッダにコピーされる。サーバ
・ノードAでは、ファイル・アクセス構造50が、ブロ
ック53中の読取り数が1であることを示す(ステップ
125)。
ッシュ12B中のデータ・ブロック116が割り当てら
れる(ステップ124)。データ・ブロック116の最
初のビット152は、サーバ・ノードAを識別する。第
2のビット153は、ファイル5を識別するためのファ
イル・ハンドルヲ含んでいる。ファイル5内のあるブロ
ックに新しいキャッシュ・ブロックが割り振られると、
代理iノード114のブロック115から得られる修正
時間T1が、データ・ブロック116のビット117の
キャッシュ・ブロック・ヘッダにコピーされる。サーバ
・ノードAでは、ファイル・アクセス構造50が、ブロ
ック53中の読取り数が1であることを示す(ステップ
125)。
クライエント・ノードBからの、たとえばプロセス23
2からの2回目のオープン(ステップ126)の場合、
新しい代理iノード114は作成されない。クライエン
ト・ノードでその後さらにファイル5がオープンされる
場合、以前に割り振られた代理iノード114を使用し
、最初のオープンで記憶されたファイル修正時間は更新
されない。
2からの2回目のオープン(ステップ126)の場合、
新しい代理iノード114は作成されない。クライエン
ト・ノードでその後さらにファイル5がオープンされる
場合、以前に割り振られた代理iノード114を使用し
、最初のオープンで記憶されたファイル修正時間は更新
されない。
クライエント・ノードB中のファイル5をオープンした
何れかのプロセス231−23Nから2回目の読取りが
行なわれる場合、クライエント・キャッシュ12B中の
別のデータ・ブロック118が割り当てられ、代理iノ
ード114のブロック115中の時間T2が新しいデー
タ・ブロック118のブロック117に書き込まれる。
何れかのプロセス231−23Nから2回目の読取りが
行なわれる場合、クライエント・キャッシュ12B中の
別のデータ・ブロック118が割り当てられ、代理iノ
ード114のブロック115中の時間T2が新しいデー
タ・ブロック118のブロック117に書き込まれる。
それに対応して、サーバ・ノードAのファイル・アクセ
ス構造50がブロック53中で読取りのために2回のオ
ープンがあったことを反映するように更新される(ステ
ップ128)。
ス構造50がブロック53中で読取りのために2回のオ
ープンがあったことを反映するように更新される(ステ
ップ128)。
クライエント・ノードB中のプロセス231がファイル
5をクローズする(ステップ129)場合、そのクロー
スがサーバ・ノードAに送られる。
5をクローズする(ステップ129)場合、そのクロー
スがサーバ・ノードAに送られる。
次にサーバAはブロック53中の読取り数を示す使用カ
ウントを減分する(ステップ130)。この例では、カ
ウントは2から1になるはずである。
ウントを減分する(ステップ130)。この例では、カ
ウントは2から1になるはずである。
クライエント・ノードBでファイル5が最後にクローズ
される(ステップ131)場合、サーバAはファイル・
アクセス構造50中の使用カウントを減分して、ノード
Bにオープンがないようにする。ファイル・アクセス構
造50中のブロック53とブロック54がゼロとなる。
される(ステップ131)場合、サーバAはファイル・
アクセス構造50中の使用カウントを減分して、ノード
Bにオープンがないようにする。ファイル・アクセス構
造50中のブロック53とブロック54がゼロとなる。
あるクライエント・ノードについてこれらのブロックが
ゼロになると、サーバは、最後のクローズが行なわれた
ことを知り、そのクライエントBに対するファイル・ア
クセス構造50を除去する(ステップ132)。サーバ
AはクライエントBにクローズ肯定応答を送る(ステッ
プ133)。サーバは、この肯定応答と一緒に、そのフ
ァイルがサーバで記録されているように修正された最後
の時間を戻す。
ゼロになると、サーバは、最後のクローズが行なわれた
ことを知り、そのクライエントBに対するファイル・ア
クセス構造50を除去する(ステップ132)。サーバ
AはクライエントBにクローズ肯定応答を送る(ステッ
プ133)。サーバは、この肯定応答と一緒に、そのフ
ァイルがサーバで記録されているように修正された最後
の時間を戻す。
ファイルがASYNCモードの場合、クライエント・キ
ャッシュが走査され、ファイル5に対するファイル・ハ
ンドルを何するすべてのキャッシュ・ブロックについて
修正時間がクローズ肯定応答中の時間を使って更新され
る。要するに、データ・ブロックlie、118内のす
べての時間が、装置2に書き込まれたブロック22中の
ファイル5に対する最終時間T2で更新される(ステッ
プ134)。また、クライエント・ノードBで最後のク
ローズが行なわれたとき、クライエント・ノードBは、
ステップ121で最初のオープンにおいて作成された代
理iノード114を解除する。
ャッシュが走査され、ファイル5に対するファイル・ハ
ンドルを何するすべてのキャッシュ・ブロックについて
修正時間がクローズ肯定応答中の時間を使って更新され
る。要するに、データ・ブロックlie、118内のす
べての時間が、装置2に書き込まれたブロック22中の
ファイル5に対する最終時間T2で更新される(ステッ
プ134)。また、クライエント・ノードBで最後のク
ローズが行なわれたとき、クライエント・ノードBは、
ステップ121で最初のオープンにおいて作成された代
理iノード114を解除する。
クライエント・ノードでの最終クローズの後、クライエ
ント・ノードBにあるプロセス231−23Nがファイ
ル5を再オープンすることがある(ステップ135)。
ント・ノードBにあるプロセス231−23Nがファイ
ル5を再オープンすることがある(ステップ135)。
この再オープンの場合、クライエント・ノードBはファ
イル5に対する新しい代理iノード150を作成し、最
終時間T3をサーバの装置2のブロック22から代理i
ノード150のブロック151に書き込む(ステップ1
36)。ファイル5がクライエント・ノードBでクロー
ズになっていた間に他のノードA1Gがファイル5を変
更しなかった場合、ディスク2」二の時=54− 間T3は、クローズ肯定応答中(ステップ133.13
4)に、ディスク2からデータ・ブロック11Ef、1
18に書き込まれた時間T2から変更されていないはず
である。しかし、ファイル5がクライエント・ノードで
クローズになっていた間に他のノードA1Cがファイル
5に書込みを行なった場合は、装置2のブロック22中
の時間T3は、クローズ肯定応答中(ステップ133.
135)にディスク2からデータ・ブロック116.1
18に書き込まれた時間T2よりも大きくなるはずであ
る。
イル5に対する新しい代理iノード150を作成し、最
終時間T3をサーバの装置2のブロック22から代理i
ノード150のブロック151に書き込む(ステップ1
36)。ファイル5がクライエント・ノードBでクロー
ズになっていた間に他のノードA1Gがファイル5を変
更しなかった場合、ディスク2」二の時=54− 間T3は、クローズ肯定応答中(ステップ133.13
4)に、ディスク2からデータ・ブロック11Ef、1
18に書き込まれた時間T2から変更されていないはず
である。しかし、ファイル5がクライエント・ノードで
クローズになっていた間に他のノードA1Cがファイル
5に書込みを行なった場合は、装置2のブロック22中
の時間T3は、クローズ肯定応答中(ステップ133.
135)にディスク2からデータ・ブロック116.1
18に書き込まれた時間T2よりも大きくなるはずであ
る。
題11図の判断ブロック137に示すように、クライエ
ント・ノードBであるファイルが再オープンされると、
ブロック151内の新しい代理iノード150に令書き
込まれたばかりの時間T3が、それぞれデータ・ブロッ
ク118.118のブロック117.119内の時間T
2と比較される。代理iノード150内の時間T3がデ
ータ・ブロック116.118内の時間T2と等しくな
い場合、クライエント・キャッシュのデータ・ブロック
内のデータは使用できない。クライエントBはネットワ
ーク3を介してサーバAにアクセスし、ディスク2から
サーバ・キャッシュ12Aを経てクライエント・キャッ
シュ12Bへという2段階のキャッシュ・アクセス体系
を開始しなければならない。代理iノード150内の時
間T3がキャッシュ・データ・ブロック116.118
内の時間T2と同じ場合は、クライエント・ノードB内
のプロセス231−23Nが、ネットワーク3を介して
出て行かずに、直接にクライエント・キャッシュ12B
からデータにアクセスすることができる(ステップ13
9)。
ント・ノードBであるファイルが再オープンされると、
ブロック151内の新しい代理iノード150に令書き
込まれたばかりの時間T3が、それぞれデータ・ブロッ
ク118.118のブロック117.119内の時間T
2と比較される。代理iノード150内の時間T3がデ
ータ・ブロック116.118内の時間T2と等しくな
い場合、クライエント・キャッシュのデータ・ブロック
内のデータは使用できない。クライエントBはネットワ
ーク3を介してサーバAにアクセスし、ディスク2から
サーバ・キャッシュ12Aを経てクライエント・キャッ
シュ12Bへという2段階のキャッシュ・アクセス体系
を開始しなければならない。代理iノード150内の時
間T3がキャッシュ・データ・ブロック116.118
内の時間T2と同じ場合は、クライエント・ノードB内
のプロセス231−23Nが、ネットワーク3を介して
出て行かずに、直接にクライエント・キャッシュ12B
からデータにアクセスすることができる(ステップ13
9)。
ASYNCまたはREADONLY同期モードのファイ
ルでは、クライエントは、上記の諸ステップにもとづい
て、特定のキャッシュ・ブロック内のデータが有効かど
うか判断する。クライエントがこの判断を下だせるよう
にするため、各キャッシュ・ブロックのヘッダに、サー
バのクロックにもとづくそのファイルに対する最終修正
時間が含まれている。この最終修正時間は、そのブロッ
クがサーバから読み取られるときにキャッシュ・ブロッ
クに記録され、そのファイルがそのクライエント・ノー
ドで最後にクローズされたときに更新される。既存のキ
ャッシュ・ブロックが読取りのため(または部分ブロッ
クへの書込みのために)アクセスされるとき、そのヘッ
ダ内にある修正時間が代理iノード内の時間と比較され
る。代理iノード内の時間がキャッシュ・ブロック内の
時間と等しい場合、そのブロック内のデータはを効であ
り、ファイル・システム・セマンティックスを保存しな
がら、クライエントがそれを使うことができる。代理i
ノード内の時間がキャッシュ・ブロック内の時間と等し
くない場合、そのブロック内のデータは無効であり、ク
ライエントがそれを使用できない。クライエントは、サ
ーバにそのデータ・ブロックに対する読取り遠隔手順コ
ールを送る。
ルでは、クライエントは、上記の諸ステップにもとづい
て、特定のキャッシュ・ブロック内のデータが有効かど
うか判断する。クライエントがこの判断を下だせるよう
にするため、各キャッシュ・ブロックのヘッダに、サー
バのクロックにもとづくそのファイルに対する最終修正
時間が含まれている。この最終修正時間は、そのブロッ
クがサーバから読み取られるときにキャッシュ・ブロッ
クに記録され、そのファイルがそのクライエント・ノー
ドで最後にクローズされたときに更新される。既存のキ
ャッシュ・ブロックが読取りのため(または部分ブロッ
クへの書込みのために)アクセスされるとき、そのヘッ
ダ内にある修正時間が代理iノード内の時間と比較され
る。代理iノード内の時間がキャッシュ・ブロック内の
時間と等しい場合、そのブロック内のデータはを効であ
り、ファイル・システム・セマンティックスを保存しな
がら、クライエントがそれを使うことができる。代理i
ノード内の時間がキャッシュ・ブロック内の時間と等し
くない場合、そのブロック内のデータは無効であり、ク
ライエントがそれを使用できない。クライエントは、サ
ーバにそのデータ・ブロックに対する読取り遠隔手順コ
ールを送る。
好ましい実施例は、下記のようにまとめることができる
。まず、各代理iノードは、ファイル修正時間フィール
ドを有する。第二に、フライエン= 57− ト・キャッシュ・ブロックは、ファイル修正時間フィー
ルドを有する。第三に、キャッシュ・ブロックのファイ
ル修正時間が代理iノードのファイル修正時間に等しい
場合にのみ、クライエント・キャッシュ・ブロックが有
効である。第四に、ファイルがまだあるクライエント・
ノードでオープンになっていないとき、そのクライエン
ト・ノードでファイルがオープンされると直ちに、その
クライエント・ノードて代理iノードが作成される。
。まず、各代理iノードは、ファイル修正時間フィール
ドを有する。第二に、フライエン= 57− ト・キャッシュ・ブロックは、ファイル修正時間フィー
ルドを有する。第三に、キャッシュ・ブロックのファイ
ル修正時間が代理iノードのファイル修正時間に等しい
場合にのみ、クライエント・キャッシュ・ブロックが有
効である。第四に、ファイルがまだあるクライエント・
ノードでオープンになっていないとき、そのクライエン
ト・ノードでファイルがオープンされると直ちに、その
クライエント・ノードて代理iノードが作成される。
第五に、1)サーバからオープン要求があったために代
理iノードが作成されるとき、2)サーバから同期モー
ド変更要求があったために、クライエントが同期モード
変更要求を受は取ったとき、3)クライエント・ノード
でクローズが行なわれたためにファイルからのクライエ
ント・ノードでASYNCモードからREADONLY
同期モードに変わるとき、あるいは、4)クライエント
・ノードでクローズが行なわれたためにファイルがその
クライエント・ノードでオープンではなくなるときの何
れかの場合に、代理iノードのファイル修正時間フィー
ルドにある値が割り当てられる。
理iノードが作成されるとき、2)サーバから同期モー
ド変更要求があったために、クライエントが同期モード
変更要求を受は取ったとき、3)クライエント・ノード
でクローズが行なわれたためにファイルからのクライエ
ント・ノードでASYNCモードからREADONLY
同期モードに変わるとき、あるいは、4)クライエント
・ノードでクローズが行なわれたためにファイルがその
クライエント・ノードでオープンではなくなるときの何
れかの場合に、代理iノードのファイル修正時間フィー
ルドにある値が割り当てられる。
クライエント・ノードでオープンが行なわれたが、その
ために代理iノードが作成されないときには、代理jノ
ードのファイル修正時間は変更されないことに留意され
たい。その理由は、クライエント・ノードでそのファイ
ルが既にオープンになっているからである。また、上記
の条件3)と4)の代りに、ファイルの各クローズが書
込みのためのそのファイルのオープンに対応するという
条件を使ってもよいことに留意すべきである。
ために代理iノードが作成されないときには、代理jノ
ードのファイル修正時間は変更されないことに留意され
たい。その理由は、クライエント・ノードでそのファイ
ルが既にオープンになっているからである。また、上記
の条件3)と4)の代りに、ファイルの各クローズが書
込みのためのそのファイルのオープンに対応するという
条件を使ってもよいことに留意すべきである。
代理iノードのファイル修正時間には、上記1)のオー
プン要求または上記2)の同期モード変更要求中で、あ
るいは上記3)または4)でサーバからクライエントに
戻されるクローズ肯定応答中でサーバが送った値が割り
当てられる。この値は、サーバの測定した、ファイルが
最後に修正された時間である。
プン要求または上記2)の同期モード変更要求中で、あ
るいは上記3)または4)でサーバからクライエントに
戻されるクローズ肯定応答中でサーバが送った値が割り
当てられる。この値は、サーバの測定した、ファイルが
最後に修正された時間である。
第六に、1)サーバからのデータ読取りまたはクライエ
ントのプロセスによるファイルへの書込みのためにそれ
が割り振られるとき、または2)上記3)または4)の
状況に対応するクローズが行なわれるとき、あるファイ
ルに対するクライエント・キャッシュ・ブロックは、そ
のファイル修正時間フィールドにある値が割り当てられ
る。
ントのプロセスによるファイルへの書込みのためにそれ
が割り振られるとき、または2)上記3)または4)の
状況に対応するクローズが行なわれるとき、あるファイ
ルに対するクライエント・キャッシュ・ブロックは、そ
のファイル修正時間フィールドにある値が割り当てられ
る。
キャッシュ・ブロックのファイル修正時間フィールドに
割り当てられるこの値は、クライエント代理iノードの
ファイル修正時間フィールドにある値である。キャッシ
ュ・ブロックのファイル修正時間フィールドに値が割り
当てられる上記の条件の直後に、キャッシュ・ブロック
と代理iノードのファイル修正時間フィールドは等しく
なることに留意されたい。
割り当てられるこの値は、クライエント代理iノードの
ファイル修正時間フィールドにある値である。キャッシ
ュ・ブロックのファイル修正時間フィールドに値が割り
当てられる上記の条件の直後に、キャッシュ・ブロック
と代理iノードのファイル修正時間フィールドは等しく
なることに留意されたい。
以上説明したシステムおよび方法は、クライエント処理
システム内のクライエント・キャッシュを使って、サー
バ処理システムからクライエント・ノードにファイルを
緩衝記憶するものである。好ましい実施例では、サーバ
・クロックで測定しサーバに記録された時間を用いて、
クライエント・キャッシュ内のデータ・ブロックの妥当
性をクライエント処理システムで判定する。ただし、当
業者なら理解できるように、もう一つの実施例でクライ
エント・キャッシュ内のデータ・ブロックの妥当性をサ
ーバ処理システムで判定することもできる。しかし、サ
ーバを使ってクライエントのデータ・ブロックの妥当性
を追跡するその他の実施例では、クライエントの資源よ
りも重要なサーバの資源を使うことになる。また、サー
バが追跡しているクライエント・キャッシュ内のデータ
・ブロックがクライエント・キャッシュ内にもはや存在
しないこともある。
システム内のクライエント・キャッシュを使って、サー
バ処理システムからクライエント・ノードにファイルを
緩衝記憶するものである。好ましい実施例では、サーバ
・クロックで測定しサーバに記録された時間を用いて、
クライエント・キャッシュ内のデータ・ブロックの妥当
性をクライエント処理システムで判定する。ただし、当
業者なら理解できるように、もう一つの実施例でクライ
エント・キャッシュ内のデータ・ブロックの妥当性をサ
ーバ処理システムで判定することもできる。しかし、サ
ーバを使ってクライエントのデータ・ブロックの妥当性
を追跡するその他の実施例では、クライエントの資源よ
りも重要なサーバの資源を使うことになる。また、サー
バが追跡しているクライエント・キャッシュ内のデータ
・ブロックがクライエント・キャッシュ内にもはや存在
しないこともある。
F0発明の効果
本発明を用いれば、ネットワークにおいて遠隔のファイ
ルにアクセスする時、ファイルの整合性を保ちながら、
ネットワークのトラフィック・オーバーヘッドを軽減す
ることができる。
ルにアクセスする時、ファイルの整合性を保ちながら、
ネットワークのトラフィック・オーバーヘッドを軽減す
ることができる。
第1図は、−′ ネットワーキング環境内で
接続された3台の処理システムを示す概略図である。 第2図は、当技術で周知のカーネル・バッファを用いた
スタンドアロン処理システムの概略図である。 第3図は、当技術で周知のスタンドアロン・システム内
のカーネル・バッファに対する読取りのフロー・チャー
トである。 第4図は、クライエント・キャッシュとサーバ・キャッ
シュを備えた、ネットワークを介してファイルにアクセ
スできるようにネットワーク内で接続された3台の分散
処理システムを示す概略図である。 第5図は、それぞれREADONLY同期モードまたは
ASYNC同期モードにある、クライエント・キャッシ
ュおよびサーバ・キャッシュを備えたクライエント・ノ
ードとサーバ・ノードの概略図である。 第6図は、分散ネットワーキング環境内でクライエント
・キャッシュとサーバ・キャッシュの使用を管理するた
めに使われる3種の同期モードの説明図である。 第7図は、3種の同期モード間の移行を示す説四囲であ
る。 第8図は、FULLSYNCs−モードのサーバ・ノー
ドにあるファイルにクライエントがアクセスしている所
を示す概略図である。 第9図は、クライエント・キャッシュが使用されるとき
、およびクライエント・キャッシュが使用されないとき
の読取り中の各ステップを示すフロー・チャートである
。 第10図は、クライエント・キャッシュがそのキャッシ
ュ・ブロック内に、キャッシュ・データ・ブロック内の
データの妥当性を判定するための代理iノードと時間ビ
ットを有する、分散ネットワーキング環境を示す概略図
である。 第11図は、クライエント・メートにあるファイルのオ
ープン、読取り、およびクローズ中の本発明の各ステッ
プを示すフロー・チャートである。 A・・・・サーバ・ノード、BlC・・・・クライエン
ト・ノード、2・・・・ディスク、3・・・・ネットワ
ーク、4・・・・アプリケーション・プログラム、5・
・・・ファイル、10・・・・処理システム、11・・
・・オペレーティング・システム、12・・・・ローカ
ル・キャッシュ、13.131−13N、231−23
N・・・・ローカル・プロセス、14・・・・ユーザ・
アドレス空間。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名)
接続された3台の処理システムを示す概略図である。 第2図は、当技術で周知のカーネル・バッファを用いた
スタンドアロン処理システムの概略図である。 第3図は、当技術で周知のスタンドアロン・システム内
のカーネル・バッファに対する読取りのフロー・チャー
トである。 第4図は、クライエント・キャッシュとサーバ・キャッ
シュを備えた、ネットワークを介してファイルにアクセ
スできるようにネットワーク内で接続された3台の分散
処理システムを示す概略図である。 第5図は、それぞれREADONLY同期モードまたは
ASYNC同期モードにある、クライエント・キャッシ
ュおよびサーバ・キャッシュを備えたクライエント・ノ
ードとサーバ・ノードの概略図である。 第6図は、分散ネットワーキング環境内でクライエント
・キャッシュとサーバ・キャッシュの使用を管理するた
めに使われる3種の同期モードの説明図である。 第7図は、3種の同期モード間の移行を示す説四囲であ
る。 第8図は、FULLSYNCs−モードのサーバ・ノー
ドにあるファイルにクライエントがアクセスしている所
を示す概略図である。 第9図は、クライエント・キャッシュが使用されるとき
、およびクライエント・キャッシュが使用されないとき
の読取り中の各ステップを示すフロー・チャートである
。 第10図は、クライエント・キャッシュがそのキャッシ
ュ・ブロック内に、キャッシュ・データ・ブロック内の
データの妥当性を判定するための代理iノードと時間ビ
ットを有する、分散ネットワーキング環境を示す概略図
である。 第11図は、クライエント・メートにあるファイルのオ
ープン、読取り、およびクローズ中の本発明の各ステッ
プを示すフロー・チャートである。 A・・・・サーバ・ノード、BlC・・・・クライエン
ト・ノード、2・・・・ディスク、3・・・・ネットワ
ーク、4・・・・アプリケーション・プログラム、5・
・・・ファイル、10・・・・処理システム、11・・
・・オペレーティング・システム、12・・・・ローカ
ル・キャッシュ、13.131−13N、231−23
N・・・・ローカル・プロセス、14・・・・ユーザ・
アドレス空間。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 頓 宮 孝 −(外1名)
Claims (3)
- (1)サーバ・ノードのサーバ処理システム中のファイ
ルをクライエント・ノードのクライエント処理システム
によりアクセスするためのシステムであって、 サーバ処理システムからのファイルのブロックをクライ
エント・ノードでバッファする、クライエント処理シス
テム中のクライエント・キャッシュと、 上記クライエント・キャッシュ中のブロックの有効性を
判定する手段とを有する遠隔ファイル・アクセス・シス
テム。 - (2)上記ブロックの有効性を判定する手段が、サーバ
処理システムにおける時刻情報を使用する、特許請求の
範囲第(1)項記載のシステム。 - (3)上記ブロックの有効性を判定する手段が、サーバ
処理システムにおけるファイルの最新の更新時刻に関す
る情報をクライエント・システムにおける上記ファイル
のクローズ時に記録し、上記ファイルの再オープン時に
、サーバ処理システムから得られたファイルの最新の更
新時刻に関する情報を上記記録された時刻情報と比較す
る、特許請求の範囲第(2)項記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/014,899 US4897781A (en) | 1987-02-13 | 1987-02-13 | 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 |
US14899 | 1987-02-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63201845A true JPS63201845A (ja) | 1988-08-19 |
JPH0561662B2 JPH0561662B2 (ja) | 1993-09-06 |
Family
ID=21768442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62315459A Granted JPS63201845A (ja) | 1987-02-13 | 1987-12-15 | 遠隔ファイル・アクセス装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4897781A (ja) |
EP (1) | EP0278317B1 (ja) |
JP (1) | JPS63201845A (ja) |
BR (1) | BR8800246A (ja) |
DE (1) | DE3889739T2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309445A (ja) * | 1989-05-15 | 1990-12-25 | Internatl Business Mach Corp <Ibm> | データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品 |
JPH03113544A (ja) * | 1989-09-28 | 1991-05-14 | Nec Corp | 分散型データ処理装置 |
JPH0863395A (ja) * | 1994-08-19 | 1996-03-08 | Nippon Telegr & Teleph Corp <Ntt> | データアクセス方法 |
JPH11212886A (ja) * | 1998-01-27 | 1999-08-06 | Sharp Corp | ファイルオブジェクト中継方法、分散ファイルシステム、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機 |
JP2000089995A (ja) * | 1998-09-04 | 2000-03-31 | Visto Corp | ネットワークにおけるワークスペースエレメントの多数のコピーを安全に同期させる方法およびシステム |
Families Citing this family (290)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220674A (en) * | 1987-07-17 | 1993-06-15 | Digital Equipment Corporation | Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination |
JPH0776939B2 (ja) * | 1988-03-16 | 1995-08-16 | 富士ゼロックス株式会社 | 通信ネットワークシステム |
US7072849B1 (en) * | 1988-07-15 | 2006-07-04 | International Business Machines Corporation | Method for presenting advertising in an interactive service |
US5167035A (en) | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
US5155816A (en) * | 1989-02-10 | 1992-10-13 | Intel Corporation | Pipelined apparatus and method for controlled loading of floating point data in a microprocessor |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
US5113519A (en) * | 1989-05-15 | 1992-05-12 | International Business Machines Corporation | Maintenance of file attributes in a distributed data processing system |
JPH02310665A (ja) * | 1989-05-25 | 1990-12-26 | Toshiba Corp | 分散トランザクション処理システム |
US5247676A (en) * | 1989-06-29 | 1993-09-21 | Digital Equipment Corporation | RPC based computer system using transparent callback and associated method |
US5206934A (en) * | 1989-08-15 | 1993-04-27 | Group Technologies, Inc. | Method and apparatus for interactive computer conferencing |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
JP2945757B2 (ja) * | 1989-09-08 | 1999-09-06 | オースペックス システムズ インコーポレイテッド | 多重装置オペレーティングシステムのアーキテクチャ |
US5634048A (en) * | 1989-09-14 | 1997-05-27 | Fujitsu Limited | Distributed database system having a center system with a link file and a method for retrieving data from same |
US5463778A (en) * | 1989-11-16 | 1995-10-31 | Texas Instruments Incorporated | User controlled trap handler |
US5319544A (en) * | 1989-11-20 | 1994-06-07 | Itt Corporation | Computerized inventory monitoring and verification system and method |
US5218695A (en) * | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
US5237693A (en) * | 1990-04-04 | 1993-08-17 | Sharp Kabushiki Kaisha | System for accessing peripheral devices connected in network |
US5293600A (en) * | 1990-04-06 | 1994-03-08 | International Business Machines Corporation | Counter and flux bit locking for very fast shared serialization of shared data objects |
US5130992A (en) * | 1990-04-16 | 1992-07-14 | International Business Machines Corporaiton | File-based redundant parity protection in a parallel computing system |
EP0458495A3 (en) * | 1990-05-21 | 1993-04-14 | Texas Instruments Incorporated | Apparatus and method for managing versions and configurations of persistent and transient objects |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5251315A (en) * | 1990-06-21 | 1993-10-05 | International Business Machines Corporation | Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands |
US5361199A (en) * | 1990-07-31 | 1994-11-01 | Texas Instruments Incorporated | Automated procurement system with multi-system data access |
US5673394A (en) * | 1990-10-31 | 1997-09-30 | Microsoft Corporation | Method of sharing memory between an operating system and an application program |
US5276871A (en) * | 1991-03-18 | 1994-01-04 | Bull Hn Information Systems Inc. | Method of file shadowing among peer systems |
US5499367A (en) * | 1991-11-15 | 1996-03-12 | Oracle Corporation | System for database integrity with multiple logs assigned to client subsets |
US5388255A (en) * | 1991-12-19 | 1995-02-07 | Wang Laboratories, Inc. | System for updating local views from a global database using time stamps to determine when a change has occurred |
GB2263797B (en) * | 1992-01-31 | 1996-04-03 | Plessey Telecomm | Object orientated system |
US5528490A (en) * | 1992-04-10 | 1996-06-18 | Charles E. Hill & Associates, Inc. | Electronic catalog system and method |
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
WO1993024890A1 (en) * | 1992-06-03 | 1993-12-09 | Pitts William R | System for accessing distributed data cache channel at each network node to pass requests and data |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
US5666530A (en) * | 1992-12-02 | 1997-09-09 | Compaq Computer Corporation | System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between |
US5737536A (en) * | 1993-02-19 | 1998-04-07 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
US5493728A (en) * | 1993-02-19 | 1996-02-20 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
JP2710550B2 (ja) * | 1993-05-27 | 1998-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ記憶分散装置および方法 |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
DE69425658T2 (de) * | 1993-06-03 | 2001-04-19 | Network Appliance, Inc. | Anordnung eines dateisystems zum beschreiben beliebiger bereiche |
US6138126A (en) * | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
ATE222384T1 (de) * | 1993-06-03 | 2002-08-15 | Network Appliance Inc | Verfahren und dateisystem zur zuordnung von datei-blöcken zu speicherplatz in einem raid- plattensystem |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
EP1031928B1 (en) * | 1993-06-04 | 2005-05-18 | Network Appliance, Inc. | A method for providing parity in a raid sub-system using non-volatile memory |
JP3140621B2 (ja) * | 1993-09-28 | 2001-03-05 | 株式会社日立製作所 | 分散ファイルシステム |
US5809527A (en) * | 1993-12-23 | 1998-09-15 | Unisys Corporation | Outboard file cache system |
US6119151A (en) | 1994-03-07 | 2000-09-12 | International Business Machines Corp. | System and method for efficient cache management in a distributed file system |
US5608909A (en) * | 1994-04-15 | 1997-03-04 | Microsoft Corporation | Method and system for caching presentation data of a source object in a presentation cache |
US6047356A (en) * | 1994-04-18 | 2000-04-04 | Sonic Solutions | Method of dynamically allocating network node memory's partitions for caching distributed files |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
JP2507235B2 (ja) * | 1994-06-24 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法 |
TW252248B (en) | 1994-08-23 | 1995-07-21 | Ibm | A semiconductor memory based server for providing multimedia information on demand over wide area networks |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5644768A (en) * | 1994-12-09 | 1997-07-01 | Borland International, Inc. | Systems and methods for sharing resources in a multi-user environment |
US5819091A (en) * | 1994-12-22 | 1998-10-06 | Arendt; James Wendell | User level control of degree of client-side processing |
US5802297A (en) * | 1995-07-03 | 1998-09-01 | Sun Microsystems, Inc. | Client-server computer system and method utilizing a local client disk drive as a data cache |
US5918224A (en) * | 1995-07-26 | 1999-06-29 | Borland International, Inc. | Client/server database system with methods for providing clients with server-based bi-directional scrolling at the server |
US5826253A (en) * | 1995-07-26 | 1998-10-20 | Borland International, Inc. | Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients |
US6219045B1 (en) * | 1995-11-13 | 2001-04-17 | Worlds, Inc. | Scalable virtual world chat client-server system |
US5742817A (en) * | 1995-12-08 | 1998-04-21 | Emc Corporation | Method and apparatus for file server addressing |
US5781908A (en) * | 1995-12-18 | 1998-07-14 | J.D. Edwards World Source Company | File data synchronizer in a distributed data computer network |
US5915112A (en) * | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
US5864854A (en) * | 1996-01-05 | 1999-01-26 | Lsi Logic Corporation | System and method for maintaining a shared cache look-up table |
US5870605A (en) * | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
US5873084A (en) * | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
JPH09212397A (ja) * | 1996-01-31 | 1997-08-15 | Toshiba Corp | ファイル読み出し方法 |
US5970471A (en) | 1996-03-22 | 1999-10-19 | Charles E. Hill & Associates, Inc. | Virtual catalog and product presentation method and apparatus |
US5787466A (en) * | 1996-05-01 | 1998-07-28 | Sun Microsystems, Inc. | Multi-tier cache and method for implementing such a system |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5864837A (en) * | 1996-06-12 | 1999-01-26 | Unisys Corporation | Methods and apparatus for efficient caching in a distributed environment |
US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
US5987245A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US5999972A (en) * | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
US5848246A (en) * | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
US6038590A (en) * | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
US6253282B1 (en) * | 1996-07-01 | 2001-06-26 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server with a client program cache |
US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
US5905978A (en) * | 1996-07-15 | 1999-05-18 | Unisys Corporation | Window size determination using fuzzy logic |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US5974238A (en) * | 1996-08-07 | 1999-10-26 | Compaq Computer Corporation | Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements |
GB2317723A (en) * | 1996-09-30 | 1998-04-01 | Viewinn Plc | Caching system for information retrieval |
US6662205B1 (en) | 1996-10-01 | 2003-12-09 | International Business Machines Corporation | Scaleable and extensible system management architecture with dataless endpoints |
US7287271B1 (en) | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US6023708A (en) * | 1997-05-29 | 2000-02-08 | Visto Corporation | System and method for using a global translator to synchronize workspace elements across a network |
US6085192A (en) * | 1997-04-11 | 2000-07-04 | Roampage, Inc. | System and method for securely synchronizing multiple copies of a workspace element in a network |
US6708221B1 (en) * | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US20060195595A1 (en) * | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
US5946690A (en) * | 1996-12-17 | 1999-08-31 | Inca Technology, Inc. | NDC consistency reconnect mechanism |
US5949970A (en) * | 1997-01-07 | 1999-09-07 | Unisys Corporation | Dual XPCS for disaster recovery |
US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
US5862404A (en) * | 1997-02-12 | 1999-01-19 | Toshiba America Information Systems, Inc. | Network device discovery and status information distribution using independent information distribution processes |
US6766454B1 (en) | 1997-04-08 | 2004-07-20 | Visto Corporation | System and method for using an authentication applet to identify and authenticate a user in a computer network |
US5961590A (en) * | 1997-04-11 | 1999-10-05 | Roampage, Inc. | System and method for synchronizing electronic mail between a client site and a central site |
EP2224673B1 (en) * | 1997-07-30 | 2012-06-20 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US6035324A (en) * | 1997-08-28 | 2000-03-07 | International Business Machines Corporation | Client-side asynchronous form management |
WO1999023571A1 (en) * | 1997-11-03 | 1999-05-14 | Inca Technology, Inc. | Automatically configuring network-name-services |
US6079000A (en) * | 1997-12-30 | 2000-06-20 | Unisys Corporation | XPC backup for in-process audit |
US6701330B1 (en) | 1997-12-30 | 2004-03-02 | Unisys Corporation | Protecting duplicate/lost updates against host failures |
US6151606A (en) * | 1998-01-16 | 2000-11-21 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
US6205481B1 (en) | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6233341B1 (en) | 1998-05-19 | 2001-05-15 | Visto Corporation | System and method for installing and using a temporary certificate at a remote site |
US6438585B2 (en) | 1998-05-29 | 2002-08-20 | Research In Motion Limited | System and method for redirecting message attachments between a host system and a mobile data communication device |
US7209949B2 (en) | 1998-05-29 | 2007-04-24 | Research In Motion Limited | System and method for synchronizing information between a host system and a mobile data communication device |
US6535509B2 (en) | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
US6418456B1 (en) * | 1998-11-24 | 2002-07-09 | International Business Machines Corporation | Clean-up of files in a network system |
US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
US6266774B1 (en) | 1998-12-08 | 2001-07-24 | Mcafee.Com Corporation | Method and system for securing, managing or optimizing a personal computer |
JP4137264B2 (ja) * | 1999-01-05 | 2008-08-20 | 株式会社日立製作所 | データベース負荷分散処理方法及びその実施装置 |
US7373517B1 (en) | 1999-08-19 | 2008-05-13 | Visto Corporation | System and method for encrypting and decrypting files |
US6757717B1 (en) | 1999-09-16 | 2004-06-29 | Proxyconn, Inc. | System and method for data access |
JP5220974B2 (ja) * | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
CN1264091C (zh) * | 1999-11-22 | 2006-07-12 | 阿茨达科姆公司 | 分布式高速缓存同步协议 |
US6442654B1 (en) * | 1999-12-10 | 2002-08-27 | International Business Machines Corporation | Operating system support for in-server caching of documents |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US7509420B2 (en) | 2000-02-18 | 2009-03-24 | Emc Corporation | System and method for intelligent, globally distributed network storage |
US6704730B2 (en) | 2000-02-18 | 2004-03-09 | Avamar Technologies, Inc. | Hash file system and method for use in a commonality factoring system |
US7062648B2 (en) * | 2000-02-18 | 2006-06-13 | Avamar Technologies, Inc. | System and method for redundant array network storage |
US7194504B2 (en) * | 2000-02-18 | 2007-03-20 | Avamar Technologies, Inc. | System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques |
US7739334B1 (en) | 2000-03-17 | 2010-06-15 | Visto Corporation | System and method for automatically forwarding email and email events via a computer network to a server computer |
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US6725218B1 (en) | 2000-04-28 | 2004-04-20 | Cisco Technology, Inc. | Computerized database system and method |
US7225231B2 (en) * | 2000-09-20 | 2007-05-29 | Visto Corporation | System and method for transmitting workspace elements across a network |
US6654912B1 (en) | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US6810398B2 (en) | 2000-11-06 | 2004-10-26 | Avamar Technologies, Inc. | System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences |
US20020161860A1 (en) * | 2001-02-28 | 2002-10-31 | Benjamin Godlin | Method and system for differential distributed data file storage, management and access |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
CA2467404A1 (en) * | 2001-11-15 | 2003-05-30 | Visto Corporation | System and methods for asychronous synchronization |
AU2003209194A1 (en) | 2002-01-08 | 2003-07-24 | Seven Networks, Inc. | Secure transport for mobile communication network |
US6922757B2 (en) * | 2002-02-15 | 2005-07-26 | Exanet Inc. | Flexible and adaptive read and write storage system architecture |
US8230026B2 (en) | 2002-06-26 | 2012-07-24 | Research In Motion Limited | System and method for pushing information between a host system and a mobile data communication device |
US7805449B1 (en) | 2004-10-28 | 2010-09-28 | Stored IQ | System, method and apparatus for enterprise policy management |
WO2004012379A2 (en) * | 2002-07-30 | 2004-02-05 | Deepfile Corporation | Method and apparatus for managing file systems and file-based data storage |
US8417678B2 (en) * | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
US8612404B2 (en) * | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
US7457822B1 (en) * | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7917468B2 (en) * | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US7853563B2 (en) * | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
JP2004297792A (ja) * | 2003-03-13 | 2004-10-21 | Ricoh Co Ltd | 画像形成装置及び機能キー割り付け方法 |
US7254636B1 (en) * | 2003-03-14 | 2007-08-07 | Cisco Technology, Inc. | Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy |
US7143122B2 (en) * | 2003-10-28 | 2006-11-28 | Pillar Data Systems, Inc. | Data replication in data storage systems |
US20050108300A1 (en) * | 2003-11-17 | 2005-05-19 | Terrascale Technologies Inc. | Method for the management of local client cache buffers in a clustered computer environment |
US7324995B2 (en) * | 2003-11-17 | 2008-01-29 | Rackable Systems Inc. | Method for retrieving and modifying data elements on a shared medium |
US7647256B2 (en) * | 2004-01-29 | 2010-01-12 | Novell, Inc. | Techniques for establishing and managing a distributed credential store |
US7664948B2 (en) * | 2004-05-21 | 2010-02-16 | Bea Systems, Inc. | Certificate lookup and validation |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US8010082B2 (en) | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US8510331B1 (en) | 2004-10-28 | 2013-08-13 | Storediq, Inc. | System and method for a desktop agent for use in managing file systems |
US7844582B1 (en) | 2004-10-28 | 2010-11-30 | Stored IQ | System and method for involving users in object management |
US7706781B2 (en) * | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
US7643818B2 (en) | 2004-11-22 | 2010-01-05 | Seven Networks, Inc. | E-mail messaging to/from a mobile terminal |
FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
WO2006061463A1 (en) * | 2004-12-10 | 2006-06-15 | Seven Networks International Oy | Database synchronization |
FI120165B (fi) * | 2004-12-29 | 2009-07-15 | Seven Networks Internat Oy | Tietokannan synkronointi matkaviestinverkon kautta |
US7549151B2 (en) * | 2005-02-14 | 2009-06-16 | Qnx Software Systems | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US7840682B2 (en) * | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
US7774827B2 (en) * | 2005-06-06 | 2010-08-10 | Novell, Inc. | Techniques for providing role-based security with instance-level granularity |
WO2006136661A1 (en) * | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Network-initiated data transfer in a mobile network |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
JP4659537B2 (ja) * | 2005-07-05 | 2011-03-30 | 株式会社日立製作所 | ファイル提供方法、ストレージ装置及びファイル提供プログラム |
US8069166B2 (en) | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
US8731542B2 (en) | 2005-08-11 | 2014-05-20 | Seven Networks International Oy | Dynamic adjustment of keep-alive message intervals in a mobile network |
US7680096B2 (en) * | 2005-10-28 | 2010-03-16 | Qnx Software Systems Gmbh & Co. Kg | System for configuring switches in a network |
US20070130261A1 (en) * | 2005-11-26 | 2007-06-07 | Shaub Frances J | Control/satellite electronic work station configurations in which stations interact among themselves on a real-time basis |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
CA2651323C (en) | 2006-05-05 | 2016-02-16 | Hybir Inc. | Group based complete and incremental computer file backup system, process and apparatus |
US20070290787A1 (en) * | 2006-06-20 | 2007-12-20 | Trevor Fiatal | Systems and methods for group messaging |
US8112550B2 (en) * | 2006-09-19 | 2012-02-07 | Tacoda Llc | System and method for preserving consumer choice |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) * | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
JP4907605B2 (ja) * | 2007-06-25 | 2012-04-04 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム |
US8364181B2 (en) * | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) * | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) * | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US20090248670A1 (en) * | 2008-03-31 | 2009-10-01 | Trevor Fiatal | Content search engine |
US8806053B1 (en) * | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US8787947B2 (en) * | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
US8909759B2 (en) * | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US9043731B2 (en) | 2010-03-30 | 2015-05-26 | Seven Networks, Inc. | 3D mobile user interface with configurable workspace management |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
CA2806548C (en) | 2010-07-26 | 2015-03-31 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
WO2012018430A1 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Mobile network traffic coordination across multiple applications |
CA2806557C (en) | 2010-07-26 | 2014-10-07 | Michael Luna | Mobile application traffic optimization |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
EP2633667B1 (en) | 2010-10-29 | 2017-09-06 | F5 Networks, Inc | System and method for on the fly protocol conversion in obtaining policy enforcement information |
WO2012060997A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Application and network-based long poll request detection and cacheability assessment therefor |
CN103620576B (zh) | 2010-11-01 | 2016-11-09 | 七网络公司 | 适用于移动应用程序行为和网络条件的缓存 |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
US8190701B2 (en) | 2010-11-01 | 2012-05-29 | Seven Networks, Inc. | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
GB2495463B (en) | 2010-11-22 | 2013-10-09 | Seven Networks Inc | Aligning data transfer to optimize connections established for transmission over a wireless network |
EP3422775A1 (en) | 2010-11-22 | 2019-01-02 | Seven Networks, LLC | Optimization of resource polling intervals to satisfy mobile device requests |
EP2661697B1 (en) | 2011-01-07 | 2018-11-21 | Seven Networks, LLC | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
EP2700019B1 (en) | 2011-04-19 | 2019-03-27 | Seven Networks, LLC | Social caching for device resource sharing and management |
US8621075B2 (en) | 2011-04-27 | 2013-12-31 | Seven Metworks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
WO2012149216A2 (en) | 2011-04-27 | 2012-11-01 | Seven Networks, Inc. | Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
EP2737742A4 (en) | 2011-07-27 | 2015-01-28 | Seven Networks Inc | AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
WO2013086225A1 (en) | 2011-12-06 | 2013-06-13 | Seven Networks, Inc. | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
GB2498064A (en) | 2011-12-07 | 2013-07-03 | Seven Networks Inc | Distributed content caching mechanism using a network operator proxy |
WO2013086447A1 (en) | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
WO2013090834A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
US20130159511A1 (en) | 2011-12-14 | 2013-06-20 | Seven Networks, Inc. | System and method for generating a report to a network operator by distributing aggregation of data |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
WO2013103988A1 (en) | 2012-01-05 | 2013-07-11 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
US20130268656A1 (en) | 2012-04-10 | 2013-10-10 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
EP2853074B1 (en) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Methods for optimizing service of content requests and devices thereof |
CN103544149B (zh) * | 2012-07-09 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 一种访问图片的方法、系统和图片服务器 |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
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 |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11003632B2 (en) | 2016-11-28 | 2021-05-11 | Open Text Sa Ulc | System and method for content synchronization |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11301431B2 (en) | 2017-06-02 | 2022-04-12 | Open Text Sa Ulc | System and method for selective synchronization |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
US11429564B2 (en) | 2019-06-18 | 2022-08-30 | Bank Of America Corporation | File transferring using artificial intelligence |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
US4620276A (en) * | 1983-06-02 | 1986-10-28 | International Business Machines Corporation | Method and apparatus for asynchronous processing of dynamic replication messages |
US4635189A (en) * | 1984-03-01 | 1987-01-06 | Measurex Corporation | Real-time distributed data-base management system |
US4718005A (en) * | 1984-05-03 | 1988-01-05 | International Business Machines Corporation | Distributed control of alias name usage in networks |
US4686620A (en) * | 1984-07-26 | 1987-08-11 | American Telephone And Telegraph Company, At&T Bell Laboratories | Database backup method |
US4718002A (en) * | 1985-06-05 | 1988-01-05 | Tandem Computers Incorporated | Method for multiprocessor communications |
US4713755A (en) * | 1985-06-28 | 1987-12-15 | Hewlett-Packard Company | Cache memory consistency control with explicit software instructions |
US4710870A (en) * | 1985-07-10 | 1987-12-01 | Bell Communications Research, Inc. | Central computer backup system utilizing localized data bases |
US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
US4714996A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Impact calculation for version management in a distributed information service |
US4714992A (en) * | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Communication for version management in a distributed information service |
-
1987
- 1987-02-13 US US07/014,899 patent/US4897781A/en not_active Expired - Lifetime
- 1987-12-15 JP JP62315459A patent/JPS63201845A/ja active Granted
-
1988
- 1988-01-25 BR BR8800246A patent/BR8800246A/pt not_active Application Discontinuation
- 1988-01-26 EP EP88101094A patent/EP0278317B1/en not_active Expired - Lifetime
- 1988-01-26 DE DE3889739T patent/DE3889739T2/de not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
COMMUNICATIONS OF ACM=1986 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02309445A (ja) * | 1989-05-15 | 1990-12-25 | Internatl Business Mach Corp <Ibm> | データ処理システムのクライエント装置のアクセス制御方法、装置およびコンピユータ・プログラム製品 |
JPH03113544A (ja) * | 1989-09-28 | 1991-05-14 | Nec Corp | 分散型データ処理装置 |
JPH0863395A (ja) * | 1994-08-19 | 1996-03-08 | Nippon Telegr & Teleph Corp <Ntt> | データアクセス方法 |
JPH11212886A (ja) * | 1998-01-27 | 1999-08-06 | Sharp Corp | ファイルオブジェクト中継方法、分散ファイルシステム、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機 |
US6389422B1 (en) | 1998-01-27 | 2002-05-14 | Sharp Kabushiki Kaisha | Method of relaying file object, distributed file system, computer readable medium recording a program of file object relay method and gateway computer, allowing reference of one same file object among networks |
JP2000089995A (ja) * | 1998-09-04 | 2000-03-31 | Visto Corp | ネットワークにおけるワークスペースエレメントの多数のコピーを安全に同期させる方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
DE3889739T2 (de) | 1994-12-01 |
DE3889739D1 (de) | 1994-07-07 |
BR8800246A (pt) | 1988-08-30 |
EP0278317B1 (en) | 1994-06-01 |
EP0278317A3 (en) | 1989-10-18 |
JPH0561662B2 (ja) | 1993-09-06 |
EP0278317A2 (en) | 1988-08-17 |
US4897781A (en) | 1990-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63201845A (ja) | 遠隔ファイル・アクセス装置 | |
US4887204A (en) | System and method for accessing remote files in a distributed networking environment | |
US11061865B2 (en) | Block allocation for low latency file systems | |
US5175852A (en) | Distributed file access structure lock | |
US5835908A (en) | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers | |
US5113519A (en) | Maintenance of file attributes in a distributed data processing system | |
US5202971A (en) | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock | |
US7437407B2 (en) | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator | |
US6453354B1 (en) | File server system using connection-oriented protocol and sharing data sets among data movers | |
US6324581B1 (en) | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems | |
EP0278312B1 (en) | Distributed file and record locking | |
US7120631B1 (en) | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator | |
JP3968242B2 (ja) | 共有データにアクセスするための方法と装置 | |
US10140312B2 (en) | Low latency distributed storage service | |
US20100174690A1 (en) | Method, Apparatus and Computer Program Product for Maintaining File System Client Directory Caches with Parallel Directory Writes | |
JP2006516341A (ja) | 分散ファイルシステムを伴うストレージキャッシングの使用方法およびシステム | |
WO2001084338A9 (en) | Cluster configuration repository | |
CN110750507B (zh) | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 | |
US10133744B2 (en) | Composite execution of rename operations in wide area file systems | |
US6732137B1 (en) | Performance optimization for data sharing across batch sequential processes and on-line transaction processes | |
EP0278313A2 (en) | Distributed file management system | |
WO2017165827A1 (en) | Low latency distributed storage service | |
JP2007287180A (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
JPH035847A (ja) | 分散データ処理システムにおけるフアイル・アクセス方式 | |
JP6404892B2 (ja) | データベースシステムおよびデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |