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
Application number
JP62315459A
Other languages
English (en)
Other versions
JPH0561662B2 (ja
Inventor
アルバート・チヤング
グローヴァー・ハーバート・ニユウマン
アメール・アーメット・シャーンーゴウダ
トツド・アレン・スミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63201845A publication Critical patent/JPS63201845A/ja
Publication of JPH0561662B2 publication Critical patent/JPH0561662B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

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)接続から構成される。
任意のノードA、81Gに、パーソナル・コン−ピユー
タなどの処理システムl0A110B110Cがある。
これらの処理システムl0A110B110Cは、単一
ユーザ・システムでも複数ユーザ・システムでもよく、
ネットワーク3を介して遠隔ノードにあるファイルにア
クセスできる能力をもつ。たとえば、ローカル・ノード
Aにある処理システムIOAは、遠隔ノードB、Cにあ
るファイル5815Cにアクセスできる。
遠隔ノードにあるファイルにアクセスする際にぶつかる
問題は、まずスタンドアロン・システムがどのようにし
てファイルにアクセスするかを検討すると、よく理解で
きる。第2図の10のようなスタンドアロン・システム
内では、オペレーティング・システム11中のローカル
・バッファ12を使って永久記憶装置2、たとえばハー
ド・ファイルやパーソナル・コンピュータ内のディスク
とユーザ・アドレス空間との間で転送されるデータを緩
衝記憶する。オペレーティング・システム11内のロー
カル・バッファ12は、ローカル・キャッシュあるいは
カーネル・バッファとも呼ばれる。
スタンドアロン・システム内で、カーネル・バッファ1
2はブロック15で識別されている。この番号は装置番
号であり、またその装置内の論理ブロック番号でもある
。読取りシステム・コール16が発行されるとき、それ
は、第3図のステップ101に示すように、ファイル5
のファイル記述子およびファイル5内のバイト範囲と共
に発行される。オペレーティング・システム11はこの
情報を取り出し、それを装置番号および装置内の論理ブ
ロック番号に変換する(第3図、ステップ102)。次
に、オペレーティング・システム11は、装置番号およ
び論理ブロック番号にもとづいてキャッシュ12を読み
取る(ステップ103)。
ディスク2から読み取られたデータは、キャッシュ・ブ
ロック15が必要となるまでキャッシュ・ブロック15
に保管される。その結果、処理システム10上で走行中
のアプリケーション・プログラム4から以前に読み取ら
れたものと同じデータに対する読取りが続けて要求され
ると、それはディスク2からではなくてキャッシュ12
からアクセスされる。キャッシュ12から読み取るには
、固定ディスクへ出て正しいディスク・セクタにアクセ
スし、そのディスクから読み取るよりも時間がかからな
い。
同様に、アプリケーション・プログラム4から書き込ま
れたデータは、直接ディスク2には保管されず、キャッ
シュ12に書き込まれる。このため、同じブロックに対
して別の書込み操作が出された場合に、ディスクへのア
クセスが節約される。
キャッシュ12内の修正されたデータ・ブロックは、周
期的にディスク2に保管される。
スタンドアロン・システム内のローカル・キャッシュの
もう一つの用途は、ファイルがクローズされた後でもそ
のファイルに対する有効なデータを=5− 保持することである。こうしたブロックがまだキャッシ
ュ内に存在する間にファイルが再オープンされた場合、
それらのブロックを読み取るのにディスクへのアクセス
は不要である。
AIX (拡張対話式エグゼクティブ、AIXは、IB
Mの商標)オペレーティング・システムを使ったスタン
ドアロン・システムでキャッシュを使うと、連続する読
取りと書込みでディスクへのアクセスが要らないので、
システムの全体的パフォーマンスが向上する。全体的性
能′が上がるのは、永久記憶装置にアクセスする方がキ
ャッシュにアクセスするよりも遅くかつコストがかかる
ためである。
第10図に示したような分散環境では、ローカル・ノー
ドCにある処理システム10CがノードAからファイル
5Aを読み取る方式が2つある。
一つの方式では、処理システム10Cがファイル5Aの
全体をコピーして、それがノードCにあるローカル・フ
ァイル5Cであるかのように読み取ることができる。こ
のやり方でファイルを読み取ると、ノードCでファイル
5Aがコピーされた後で、別のノードA、Bにある別の
処理システム10B110Aがファイル5Aを修正する
場合に問題が生じる。処理システム10Cはこのファイ
ル5Aに対する最新の修正にアクセスできないことにな
る。
処理システムIOCがノードAにあるファイル5Aにア
クセスするもう一つの方式は、ノードCにある処理シス
テムが要求したとき一度に1つのブロックN1を読み取
るものである。この方法に伴う問題は、読取りのたびに
ネットワーク通信リンク3を介してファイルがあるノー
ドAまで行かなければならないことである。連続する読
取りのたびにデータを送るのは時間がかかる。
ネットワークを介してファイルにアクセスする場合、」
二記の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。
System V) J Western Elect
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年刊に出ている。
ベル研究所は、多くの団体に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に対
する拡張機能を含んでいる。
AIXオペレーティング・システムの詳細については、
「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上で機能する。
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。
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以外の様々なコン
ピータを用いても実施できることを了解されたい。
前述のように、以下では、通信ネットワーク中の分散デ
ータ処理システムを対象として本発明を説明する。この
環境では、ネットワークのあるノードにある各プロセッ
サは、どのノードにファイルがあろうと、潜在的にその
ネットワーク中のすべてのファイルにアクセスすること
ができる。
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旧crosystemsのNFSとは区
別される一つの特徴は、Sunの方法が基本的に状態非
保存型の装置を設計するためのものであったということ
である。もっと具体的に言うと、分散システム内のサー
バを状態非保存型に設計することができる。すなわち、
サーバは、どのクライエント・ノードがサーバ・ファイ
ルをオープンしたのか、クライアントのファイルが読取
専用モードでオープンになっているのかそれとも読取り
書込みモードでオープンになっているのか、あるいはク
ライエントがそのファイルのバイト範囲にロックをかけ
ているかどうかを含めて、クライエント・ノードに関す
る情報を何も記憶しない。このような実施形態をとると
、クライエント・ノードが故障したり、あるいはサーバ
資源に対する要求を解除したとサーバにきちんと知らせ
ずにオフラインになったときに生じる、誤り回復状況を
サーバが処理する必要がないので、サーバの設計が簡単
になる。
本発明をその中で実施する分散サービス・システムの設
計では、全く異なる方法が取られた。もっと具体的に言
うと、この分散サービス・システムは、「状態保存型」
であると特徴づけることができる。本明細書に記載する
「状態保存型」サーバは、誰がそのファイルを使ってい
るか、およびファイルがどのように使われているかに関
する情報を保持する。それには、サーバが何らかの方法
であるクライアントとの接触の喪失を検出して、そのク
ライアントに関する蓄積された状態情報を廃棄できるよ
うにする必要がある。しかし、本明細書に記載するキャ
ッシュ管理戦略は、サーバがそうした状態情報を保持し
ない限り実施できない。
キャッシュの管理は、下記で説明するように、サーバ・
ファイルをオープンせよとの要求を発行しているクライ
エント・ノードの数およびそうしたオープンが読取モー
ドであるかそれとも書込モードであるかによって影響を
受ける。
C0発明が解決しようとする問題点 したがって、遠隔ファイルにアクセスする際の応答時間
を改善することが、本発明の一目的である。
分散ネットワーキング環境でファイルの整合性を維持す
ることが、本発明の第2の目的である。
クライエント・ノードでファイルがクローズされたとき
、サーバとクライエント・ノードの両方のキャッシュを
使って有効データを保持することが、本発明の第3の目
的である。
D0問題点を解決するための手段 他のノードにあるファイルにアクセスするときのネット
ワークのトラフィック・オーバーヘッドを軽減し、ファ
イルの整合性を保つため、分散ネットワーキング環境内
での様々なファイルへのアクセスをファイル同期モード
で管理する。読取りアクセスまたは書込みアクセスのた
めファイルが1つのノードだけでオープンしている場合
、ファイルに第1の同期モードを与える。任意のノード
で読取り専用アクセスのためファイルがオープンしてい
る場合、ファイルに第2の同期モードを与える。複数の
ノードで読取りアクセスのためファイルがオープンにな
っており、少くとも1つのノードで書込みアクセスのた
めそのファイルがオープンになっている場合、ファイル
に第3の同期モードを与える。
ファイルが第1または第2の同期モードの場合、クライ
エント・ノード、すなわちファイルにアクセスするノー
ドは、そのオペレーティング・システム内のキャッシュ
を使ってファイルを記憶する。
その後の読取りと書込みはすべてこのキャッシュに送ら
れる。
本発明のシステムおよび方法は、クライエント・ノード
でファイルがクローズしているとき、有効データを保持
するのに、クライエント・ノードとサーバ・ノードの両
方でキャッシュを使用する。
クライエント・ノードがクライエント・キャッシュを再
使用するか否かは、データ・ファイルがクライエント・
ノードでクローズしていた間に別のノードでクライエン
ト・キャッシュ内のデータが修正されたか否かによって
決まる。データが修正されていない場合は、ファイルの
整合性を損わずに、クライエント・ノード内のプロセス
から読取りおよび書込みによってクライエント・ノード
にアクセスすることができる。クライエント・キャッシ
ュ内のデータはすべて有効データである。ファイルが一
度クローズした後でオープンしたとき、クライエント・
キャッシュを使ってアクセスを行なうことにより、ネッ
トワークのトラフィック・オーバーヘッドが減少し、し
たがって応答時間が改善される。
クライエント・ノードでファイルがクローズしていた間
に、クライエント・キャッシュ内のデータが別のノード
で修正されたか否かを判定するため、本発明のシステム
は、クライエント・キャッシュ内に代理iノードを含ん
でいる。代理iノードは、サーバ・ノードを識別するフ
ィールドと、そのノード内のファイルを識別するファイ
ル・ハンドルを含んでいる。代理iノードは、ファイル
が最初にあるノードでオープンされるか、または最後の
クローズの後、始めてオープンされたとき、クライエン
ト・キャッシュ内で作成される。代理iノードが作成さ
れるとき、サーバのクロックによって記録されたファイ
ルの最終修正時間が、代理iノードに書き込まれる。本
発明のシステムは、−21= またサーバでのファイルの最終修正時間を示すファイル
修正時間フィールドを、キャッシュ・データ・ブロック
内に含んでいる。キャッシュ・データ・ブロック内のフ
ァイル修正時間フィールドは、クライエント・ノードで
ファイルが最後にクローズしている間に更新される。
本発明の方法は、クライエント・ノードでファイルがオ
ープンし読み取られ、クローズされる間に下記の各ステ
ップを含む。
クライエント・ノードにファイルのオープンが出される
と、クライエント処理システム内の代理iノード・テー
ブルを走査して、既存の代理iノードを探す。何もない
場合は、新しい代理iノードが割り振られ、サーバに遠
隔オープン手順呼出しが送られる。サーバでそのオープ
ンが完了すると、サーバからクライエント・ノードへの
オープン肯定応答に、そのファイルの最終修正時間を含
める。
この時間が、クライエント・ノードでそのファイルの新
しく割り振られた代理iノードに記録される。
そのファイルの新しいデータ・ブロックが読み取られる
とき、新しいキャッシュ・ブロックがクライエント・キ
ャッシュ内に割り振られる。各キャッシュ・ブロックは
、サーバ・ノード名、ファイル・ハンドル、および代理
iノードからの最終修正時間を含む。
ファイルが2回目以降にオープンされ、クライエント処
理システム内の代理iノード・テーブルを走査して既存
の代理iノードを探すとき、以前のオープンから既に代
理iノードが存在していることになる。この場合、修正
時間あるいは代理iノードの変更はない。データ・ブロ
ック上の最終修正時間は、2回目のオープンでも変更さ
れない。
ASYNCモードにあるファイルが最後にクローズされ
る間、以下の各ステップが行なわれる。まず、クライエ
ント・ノードがサーバにクローズ要求を送る。次に、ク
ライエント・ノードからクローズ要求を受は取ると、サ
ーバはクライエント・ノードにそのクローズの肯定応答
を送る。クローズの肯定応答と共に、サーバはクライエ
ント・ノードにファイルが修正された最終時間を送る。
サーバは、この最終修正時間を入手するために、サーバ
のディスクに行かなければならないこともある。
次に、クライエント・ノードは代理iノードの割振りを
解除し、そのサーバ・ノード名およびクローズされてい
るファイルに対するファイル・ハンドルを探してすべて
の遠隔キャッシュ・バッファを走査する。次に、クライ
エント・ノードは、対応するキャッシュ・ブロック内の
すべての最終修正時間を、クローズ肯定応答と共にサー
バから受は取った最終修正時間に変更する。
クライエント・キャッシュからブロックが読み取られて
いるとき、代理iノード中の時間がキャッシュ・データ
・ブロック中の時間と比較される。
代理iノード中の時間がキャッシュ・データ・ブロック
中の時間よりも大きい場合は、クライエント・ノードで
データ・ファイルがクローズされている間にクライエン
ト・キャッシュ内のデータが修正されたことを示す。こ
の場合、クライエント・ノードは、最終修正済みデータ
を得るため、ネットワークを介してサーバに行かなけれ
ばならない。
ファイルの整合性を維持するには、クライエント・ノー
ド内でのファイルに対するすべてのデータ・ブロックを
無効にしなければならない。
代理iノード中の時間がキャッシュ・データ・ブロック
に記録された時間と同じ場合は、クライエント・キャッ
シュ内のデータが依然有効であることを示す。クライエ
ント・ノードでファイルがクローズされた間に、他のノ
ードがこのデータを修正することはなかった。この場合
、クライエント・ノード内のプロセスは、ネットワーク
を介してファイルが実際に存在するサーバへ行かずに、
クライエント・キャッシュ内のデータ・ブロックを使用
することができる。
E、実施例 本発明では、第4図に示すように、各ノードA1B、C
にそれぞれローカル・キャッシュ12A112B、12
Cが存在する。ファイルがノードAのディスク2A上に
永久的に常駐する場合、ノードAをサーバと呼ぶ。サー
バAでは、サーバ・ノー=25− ドAで実行されるローカルプロセス13Aによるキャッ
シュ12Aの使い方は、上記の従来技術の例で述べたス
タンドアロン・システムの場合と同様である。
しかし、ノードB、Cで実行される遠隔プロセス13B
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にアクセス
すると、ネットワークのトラフィック・オーバーヘッド
が節減できるので、パフォーマンスが著しく改善できる
アプリケーション・プログラム・レベルでのファイル・
アクセス・セマンティックスを保存しながら高パフォー
マンスを達成するように、分散環境でクライエント・キ
ャッシュ12Bとサーバ・キャッシュ12Aの使用が管
理される。こうすることにより、スタンドアロン・シス
テムで走行する既存のプログラムを、修正なしに分散シ
ステムで走行させることができる。
ファイル・アクセス・セマンティックスは、別のプロセ
スがファイルをオープンして、読取りおよび書込みシス
テム・コールを発行してファイルにアクセスし、それを
修正するとき、ファイルの整合性ヲ保つ。このファイル
・アクセス・セマンティックスの要件は、どの時間のど
のバイト範囲でも1つの入出力操作だけしか許されず、
一度ある入出力操作が始まると、同じファイルのバイト
範囲に対する別の入出力操作がその入出力操作を強制排
除できないことである。
再度第5図を参照して、その−例を示す。プロセス13
1がファイル5内のバイト範囲N1−N2に対して書込
みシステム・コールを発行した場合、バイト範囲N1−
N2全体にプロセス131がアクセスでき、かつバイト
範囲N1−N2に関する読取り操作が実行されていない
ときだけ、書込みシステム・コールを実行できる。書込
みシステム・コールの実行中、ファイル5のバイト範囲
N1−N2に関する他のすべての操作は、その書込みが
完了するまで中断される。ローカル・キャッシュ12A
にバイトが書き込まれて始めて、書込みが完了する。書
込み要求が完了すると、キャッシュ12Aに書き込まれ
たデータは、他のプロセス131−13Nのいずれかに
よる次の読取り操作で見えるようになる。
ファイル・アクセス・セマンティックスのもう一つの要
件は、N1−N2などのファイルのバイト範囲(1つの
レコードでも、同じ入出力操作でアクセスする関連する
1組のレコードでもよい)が読取り操作で見えるとき、
ファイルのバイト範囲N1−N2は、必ずこの範囲に対
する最近の更新を反映した一貫した1組のデータを含ん
でいなければならない。書込み操作の実行中は、このバ
イト範囲にアクセスできない。こうして、あるプロセス
から出された次の読取り要求では、古くなった更新前の
データではなく、令書かれたデータが読み取とられる。
第5図に示す本発明の分散ネットワーキング環境では、
異なるアプリケーション・プログラム4A14Bおよび
プロセス131−13N1231−23Nからの読取り
および書込みシステム・コールの実行が同期され、上記
のファイル・アクセス・セマンティックスが保存されて
いる。様々なキャッシュ同期モードを利用して、同期が
保証される。
特定のファイル5について、ファイル5がアクセスのた
めオープンになり、同期モードになっているプロセス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に書き込まれる。
第2のモード42はREADONLY  s−モード4
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で動作する。
第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で実行され
る。
第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にアクセスする応答時
間が著しく減少し、全体的システム・パフォーマンスが
向上する。
第8図に示すように、FULLSYNCs−モードでは
、クライエント・キャッシュは使われない。クライエン
ト・ノードBは、各読取りおよび書込みのたびにサーバ
Aからネットワーク3を介してファイル5にアクセスす
る。このモードでは、読取り/書込み応答時間は増加す
るが、サーバAに常駐する対応するファイルと一緒に更
新されていないファイル5をクライエント・ノードがロ
ーカル・キャッシュに保持しないので、ファイル・アク
セス・セマンティックスは保存される。
この3つのモードを使ってクライエント・キャッシュの
使用を管理すると、読取り/書込み応答速度が全体的に
平均して増加し、かつファイルの整合性が保たれるため
に、全体的システム・パフオーマンスが最適になる。あ
る状況ではクライアント・キャッシュを使うので読取り
/書込み応答時間が減少し、別の状況ではクライエント
・キャッシュを使わないので、ファイル・システム・セ
マンティックスが保存される。
ファイルの同期モードは、どのノードでファイルがオー
プンになっているか、およびファイルが読取りのために
オープンになっているのか、それとも書込みのためにオ
ープンになっているのかだけでなく、ファイルの存在す
る装置が生(raw)アクセス・モードでオープンにな
っているかどうかにも依存する。ある装置に対する生ア
クセスとは、装置2A内のデータ・ブロックLBNI 
(第5図)がアクセスされるという意味である。すなわ
ち、装置2Aの読取りおよび書込みは、装置2Aのデー
タ・ブロックLBNIに対する読取りおよび書込みであ
る。そのデータ・ブロックがどのファイルに属するのか
重要ではない。装置2Aは、サーバ・ノードAでのプロ
セス131−13Nからの生アクセスのためにオープン
することができるが、遠隔ノードB1Cからの生アクセ
スのためにオープンすることはできない。
第5図を参照すると、キャッシュ12Aは、第2図に関
して先に説明したスタンドアロン・システムと同様に、
装置2AのブロックLBN1として管理される。サーバ
Aは、サーバ・キャッシュ12Aを装置2A内の論理ブ
ロックLBNIとして見る。クライエント・ノードBは
、ファイル5が装置2A上のどこにあるのか知らない。
クライエント・ノードBが知っているのは、装置2Aの
ブロック番号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図に関して先に説明
したスタンドアロン・システムで読取り要求がそれ自体
のアプリケーション・プログラムから来ている場合と同
様に扱われる。
クローズされているファイルには、同期モードかない。
しかし、あるプロセスによってファイルが始めてオープ
ンされると、第7図に示すように下記の通り、ファイル
の同期モードが初期設定される。
ファイルが存在する装置(D)がクローズされている、
すなわち特別装置としてオープンしていない場合(61
)、ファイルの同期モードはAsYNCモード41に初
期設定され、ファイルは1つの遠隔ノードでの書込みア
クセスに対してオープンされる(62)。
ファイルが存在する装置がクローズされ、1つまたは複
数のノードでの読取り専用アクセスのためにファイルが
オープンになっている場合(63)、あるいは装置もフ
ァイルも読取り専用アクセスのためにオープンになって
いる場合(64)、ファイルの同期モードはREADO
NLY42である。
ファイルが存在する装置が読取り/書込みアクセスのた
めにブロック特別装置としてオープンになっている場合
(65)、あるいはファイルが複数のノードでオープン
し、少なくとも1つのオープンが書込みに対するもので
ある場合、ファイルの同期モードはFULLSYNCモ
ード43に初期設定される。ブロック特別装置とは、そ
の装置に対する生アクセスがあるという意味である。
ファイルがあるモードに初期設定されると、条件が変わ
れば、ファイル・モードも変わることがある。第7図で
線71ないし76によって示すようなあるモードから別
のモードへの移行が、下記の条件で起こり得る。
ファイルが現在ASYNCモード41であり、そのファ
イル(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つまたは複数
のノードで依然としてオープンになっている場合、同期
モードへの変更はない。
ファイルが現在FULLSYNCモード43であり、そ
のファイルに対して別のオープンがある場合、あるいは
ファイルが存在する装置がオープンされる場合、同期モ
ードの変更はない。ファイルのクローズ動作の後、1つ
の遠隔ノードで読取り/書込みアクセスのためのオープ
ンが残っており、かつそのファイルが存在するブロック
特別装置がオープンされていない場合、線71を介して
ブロック88で示されるように、同期モードはASYN
Cs−モード41に変わる。ファイルが存在するブロッ
ク特別装置がオープンされず、かつ線75上のブロック
89で示されるように、そのファイルが1つまたは複数
のノードでの読取り専用アクセスに対してオープンされ
る場合、あるいはファイルが存在するブロック特別装置
が読取り専用アクセスに対してオープンされ、かつその
ファイルが読取り専用アクセスに対してオープンされる
場合、同期モードはFULLSYNCモード43からR
EADONLYモード42に変わる。
ファイルおよび装置に対するすべてのオープン動作およ
びクローズ動作は、サーバ・ノードで解決される。サー
バは、同期モードを変更する可能性がある任意の動作を
実行するとき、オープン・ファイルの同期モードを決定
する。また、サーバは同期モードの変更を実行する。サ
ーバがそのファイルに対する新しいオープンまたはクロ
ーズを獲得するとき、そのファイルの同期モードの変更
がトリガされることがある。必要とされる同期モードが
現在のモードではない場合、サーバはそのファイルがオ
ープンになっているすべてのクライエントに「同期モー
ド変更」遠隔手順コール(rpc)を送る。
ファイルが初めてオープンされた後、そのファイルをオ
ープンしたクライエントに、そのファイルのモードが知
られる。モードがASYNCまたはREADONLYで
ある場合、クライエントは、第5図に示すように、読取
りのため、あるいはASYNCモードの場合は書込みの
ためにも、クライエント・キャッシュの使用を開始する
ことができる。クライエントは、通信リンクを介してサ
ーバに対して読取りまたは書込みを行なう必要はない。
第8図に示すようにモードがFULLSYNCモードで
ある場合は、クライエント・キャッシュは使われず、ク
ライエントは通信リンク3を介してサーバに対し読取り
または書込みを送る必要がある。
第5図のサーバAは、常にファイル5のモード51を設
定する。またサーバ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はまた、2つの時間ビット111と112
を含んでいる。時間ビットは、そのファイルに関する情
報の追跡を助けるためにiノード55中で使用される。
時間アクセス・ビット111は、そのファイルまたはデ
ータが読み取られたことを示す。時間変更ビット112
は、そのデータまたはファイルが書込みアクセスによっ
て修正−45= されたこきを示す。
時間変更ビット112が設定され、下記の3つの事象の
いずれかが起こると、サーバAでの実際の時間と、サー
バ・キャッシュ内の修正済みデータが、ディスク2に書
き込まれる。3種の事象とは、ファイル状況検査、ファ
イル・クローズ、および周期的同期である。周期的同期
は、周期的にたとえば1分ごとにキャッシュをディスク
に書き込むものである。サーバ時間およびサーバ・キャ
ッシュ12A内のデータがディスク2に書き込まれると
、時間変更ビット112がリセットされる。
ファイル状況検査要求が出ている場合、サーバAはファ
イルがオープンになっているかどうか検査し、iノード
・ビットの検査によって、時間変更ビット112が設定
されている場合は、状況要求時間を示す新しい時間が書
き込まれ、状況が戻される。その後に状況要求が出た場
合、要求ノードは、ファイルの変更時間を示す時間を受
は取ることになる。次の状況要求に対しては時間ビット
112は変更されない。
上記のように設定されたファイル修正時間は、クライエ
ントBがファイル5をクローズした後でファイル5が変
更されたことを示す提示としてクライエントBが使用す
る。クライエントBがあるファイルをクローズすると、
それが最後のクローズであった場合、サーバはそのクロ
ーズされたファイル5に対するファイル・アクセス構造
50から脱する。そのファイルがノードBでクローズに
なっているときに別のノードがそのファイルをオープン
にした場合、ファイル・アクセス構造50は、ブロック
52内にオープン・ノードに関する情報のみを含む。言
い換えれば、一度ノードBがあるファイルをクローズす
ると、サーバはノードBが以前にファイルをオープンし
たことを示す何の情報も保持しない。
上述のように、ファイルは、複数のクライエント・ノー
ドB、Cおよびサーバ・ノードAで実行中のプロセスに
よって、読取り専用アクセスに対してオープンする(す
なわちREADONLYモード)こともでき、また1つ
のクライエント・ノードのみでのプロセスによって読取
りおよび書込みのためにオープンする(すなわち、AS
YNCモード)こともできる。どちらの場合でも、各ク
ライエント・ノード中のクライエント・キャッシュは、
潜在的にそのファイルの有効なブロックを有する。
ファイルがクライエントBでのすべてのプロセスによっ
てクローズされる場合、クライエントBの各ブロックは
自動的に無効化されない。タライエンドB中に使用でき
るデータ・ブロックを保持することにより、ファイルを
ノードBのいずれかのプロセスによって再オープンする
場合、このデータに対する遠隔読取りをサーバAに出す
必要はない。
本発明のシステムおよび方法は、クライエント・ノード
Bに、クライエント・ノードBがファイル5をクローズ
した間にあるファイルが別のノードで書き込まれたか否
かを判定する手段を与える。
クライエントBは、ファイルがクライエントBでクロー
ズされている間にそのファイルに対する書込み動作が行
なわれなかった場合にだけ、クライエント・キャッシュ
内のファイル・ブロックを使用することができる。クラ
イエント・ノード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
ノードと同様である。
クライエント・ノードBで遠隔ファイル5に対するオー
プンが出されると、ファイル5に対する既存の代理iノ
ードを探すため、クライエント処理システム中の代理i
ノード・テーブルが走査される。代理iノードが存在し
ない場合は、新しい代理iノードが割り振られる。オー
プン遠隔手順コールが、クライエントからサーバに送ら
れる。
サーバでそのオープンが完了すると、サーバからクライ
エントに送られるオープン肯定応答は、ファイル5に対
する最終修正時間を含むことになる。
サーバ・ディスク2に書き込まれたファイル5に対する
最終修正時間22がクライエント・ノードBのブロック
115内の新しく割り振られた代理1ノード114に記
録される(ステップ122)。
ブロック22およびブロック115に記録される修正時
間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)。
クライエント・ノードBからの、たとえばプロセス23
2からの2回目のオープン(ステップ126)の場合、
新しい代理iノード114は作成されない。クライエン
ト・ノードでその後さらにファイル5がオープンされる
場合、以前に割り振られた代理iノード114を使用し
、最初のオープンで記憶されたファイル修正時間は更新
されない。
クライエント・ノードB中のファイル5をオープンした
何れかのプロセス231−23Nから2回目の読取りが
行なわれる場合、クライエント・キャッシュ12B中の
別のデータ・ブロック118が割り当てられ、代理iノ
ード114のブロック115中の時間T2が新しいデー
タ・ブロック118のブロック117に書き込まれる。
それに対応して、サーバ・ノードAのファイル・アクセ
ス構造50がブロック53中で読取りのために2回のオ
ープンがあったことを反映するように更新される(ステ
ップ128)。
クライエント・ノードB中のプロセス231がファイル
5をクローズする(ステップ129)場合、そのクロー
スがサーバ・ノードAに送られる。
次にサーバAはブロック53中の読取り数を示す使用カ
ウントを減分する(ステップ130)。この例では、カ
ウントは2から1になるはずである。
クライエント・ノードBでファイル5が最後にクローズ
される(ステップ131)場合、サーバAはファイル・
アクセス構造50中の使用カウントを減分して、ノード
Bにオープンがないようにする。ファイル・アクセス構
造50中のブロック53とブロック54がゼロとなる。
あるクライエント・ノードについてこれらのブロックが
ゼロになると、サーバは、最後のクローズが行なわれた
ことを知り、そのクライエントBに対するファイル・ア
クセス構造50を除去する(ステップ132)。サーバ
AはクライエントBにクローズ肯定応答を送る(ステッ
プ133)。サーバは、この肯定応答と一緒に、そのフ
ァイルがサーバで記録されているように修正された最後
の時間を戻す。
ファイルがASYNCモードの場合、クライエント・キ
ャッシュが走査され、ファイル5に対するファイル・ハ
ンドルを何するすべてのキャッシュ・ブロックについて
修正時間がクローズ肯定応答中の時間を使って更新され
る。要するに、データ・ブロックlie、118内のす
べての時間が、装置2に書き込まれたブロック22中の
ファイル5に対する最終時間T2で更新される(ステッ
プ134)。また、クライエント・ノードBで最後のク
ローズが行なわれたとき、クライエント・ノードBは、
ステップ121で最初のオープンにおいて作成された代
理iノード114を解除する。
クライエント・ノードでの最終クローズの後、クライエ
ント・ノード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よりも大きくなるはずであ
る。
題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)。
ASYNCまたはREADONLY同期モードのファイ
ルでは、クライエントは、上記の諸ステップにもとづい
て、特定のキャッシュ・ブロック内のデータが有効かど
うか判断する。クライエントがこの判断を下だせるよう
にするため、各キャッシュ・ブロックのヘッダに、サー
バのクロックにもとづくそのファイルに対する最終修正
時間が含まれている。この最終修正時間は、そのブロッ
クがサーバから読み取られるときにキャッシュ・ブロッ
クに記録され、そのファイルがそのクライエント・ノー
ドで最後にクローズされたときに更新される。既存のキ
ャッシュ・ブロックが読取りのため(または部分ブロッ
クへの書込みのために)アクセスされるとき、そのヘッ
ダ内にある修正時間が代理iノード内の時間と比較され
る。代理iノード内の時間がキャッシュ・ブロック内の
時間と等しい場合、そのブロック内のデータはを効であ
り、ファイル・システム・セマンティックスを保存しな
がら、クライエントがそれを使うことができる。代理i
ノード内の時間がキャッシュ・ブロック内の時間と等し
くない場合、そのブロック内のデータは無効であり、ク
ライエントがそれを使用できない。クライエントは、サ
ーバにそのデータ・ブロックに対する読取り遠隔手順コ
ールを送る。
好ましい実施例は、下記のようにまとめることができる
。まず、各代理iノードは、ファイル修正時間フィール
ドを有する。第二に、フライエン= 57− ト・キャッシュ・ブロックは、ファイル修正時間フィー
ルドを有する。第三に、キャッシュ・ブロックのファイ
ル修正時間が代理iノードのファイル修正時間に等しい
場合にのみ、クライエント・キャッシュ・ブロックが有
効である。第四に、ファイルがまだあるクライエント・
ノードでオープンになっていないとき、そのクライエン
ト・ノードでファイルがオープンされると直ちに、その
クライエント・ノードて代理iノードが作成される。
第五に、1)サーバからオープン要求があったために代
理iノードが作成されるとき、2)サーバから同期モー
ド変更要求があったために、クライエントが同期モード
変更要求を受は取ったとき、3)クライエント・ノード
でクローズが行なわれたためにファイルからのクライエ
ント・ノードでASYNCモードからREADONLY
同期モードに変わるとき、あるいは、4)クライエント
・ノードでクローズが行なわれたためにファイルがその
クライエント・ノードでオープンではなくなるときの何
れかの場合に、代理iノードのファイル修正時間フィー
ルドにある値が割り当てられる。
クライエント・ノードでオープンが行なわれたが、その
ために代理iノードが作成されないときには、代理jノ
ードのファイル修正時間は変更されないことに留意され
たい。その理由は、クライエント・ノードでそのファイ
ルが既にオープンになっているからである。また、上記
の条件3)と4)の代りに、ファイルの各クローズが書
込みのためのそのファイルのオープンに対応するという
条件を使ってもよいことに留意すべきである。
代理iノードのファイル修正時間には、上記1)のオー
プン要求または上記2)の同期モード変更要求中で、あ
るいは上記3)または4)でサーバからクライエントに
戻されるクローズ肯定応答中でサーバが送った値が割り
当てられる。この値は、サーバの測定した、ファイルが
最後に修正された時間である。
第六に、1)サーバからのデータ読取りまたはクライエ
ントのプロセスによるファイルへの書込みのためにそれ
が割り振られるとき、または2)上記3)または4)の
状況に対応するクローズが行なわれるとき、あるファイ
ルに対するクライエント・キャッシュ・ブロックは、そ
のファイル修正時間フィールドにある値が割り当てられ
る。
キャッシュ・ブロックのファイル修正時間フィールドに
割り当てられるこの値は、クライエント代理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名)

Claims (3)

    【特許請求の範囲】
  1. (1)サーバ・ノードのサーバ処理システム中のファイ
    ルをクライエント・ノードのクライエント処理システム
    によりアクセスするためのシステムであって、 サーバ処理システムからのファイルのブロックをクライ
    エント・ノードでバッファする、クライエント処理シス
    テム中のクライエント・キャッシュと、 上記クライエント・キャッシュ中のブロックの有効性を
    判定する手段とを有する遠隔ファイル・アクセス・シス
    テム。
  2. (2)上記ブロックの有効性を判定する手段が、サーバ
    処理システムにおける時刻情報を使用する、特許請求の
    範囲第(1)項記載のシステム。
  3. (3)上記ブロックの有効性を判定する手段が、サーバ
    処理システムにおけるファイルの最新の更新時刻に関す
    る情報をクライエント・システムにおける上記ファイル
    のクローズ時に記録し、上記ファイルの再オープン時に
    、サーバ処理システムから得られたファイルの最新の更
    新時刻に関する情報を上記記録された時刻情報と比較す
    る、特許請求の範囲第(2)項記載のシステム。
JP62315459A 1987-02-13 1987-12-15 遠隔ファイル・アクセス装置 Granted JPS63201845A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMMUNICATIONS OF ACM=1986 *

Cited By (6)

* Cited by examiner, † Cited by third party
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