JPH0561662B2 - - Google Patents

Info

Publication number
JPH0561662B2
JPH0561662B2 JP62315459A JP31545987A JPH0561662B2 JP H0561662 B2 JPH0561662 B2 JP H0561662B2 JP 62315459 A JP62315459 A JP 62315459A JP 31545987 A JP31545987 A JP 31545987A JP H0561662 B2 JPH0561662 B2 JP H0561662B2
Authority
JP
Japan
Prior art keywords
file
client
server
node
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.)
Expired - Fee Related
Application number
JP62315459A
Other languages
English (en)
Other versions
JPS63201845A (ja
Inventor
Changu Arubaato
Haabaato Nyuman Gurooaa
Aametsuto Shaanngoda Ameeru
Aren Sumisu Totsudo
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)

Description

【発明の詳細な説明】 A 産業上の利用分野 本発明は、ネツトワークを介して接続された処
理システムに関し、より具体的には分散ネツトワ
ーキング環境にあるローカル処理システムと遠隔
処理システム間のフアイルのアクセスに関する。
B 従来技術 第10図に示すように、分散ネツトワーキング
環境1は、通信リンクまたはネツトワーク3を介
して接続された2個以上のノードA,B,Cから
構成されている。ネツトワーク3は、ローカル・
エリア・ネツトワーク(LAN)でも広域ネツト
ワーク(WAN)でもよい。WANは、他のノー
ドに対する、またはシステムのシステム・ネツト
ワーク・アーキテクチヤ(SNA)ネツトワーク
に対する交換回線または専用回線によるテレプロ
セシング(TP)接続から構成される。
任意のノードA,B,Cに、パーソナル・コン
ピユータなどの処理システム10A,10B,1
0Cがある。これらの処理システム10A,10
B,10Cは、単一ユーザ・システムでも複数ユ
ーザ・システムでもよく、ネツトワーク3を介し
て遠隔ノードにあるフアイルにアクセスできる能
力をもつ。たとえば、ローカル・ノードAにある
処理システム10Aは、遠隔ノードB,Cにある
フアイル5B,5Cにアクセスできる。
遠隔ノードにあるフアイルにアクセスする際に
ぶつかる問題は、まずスタンドアロン・システム
がどのようにしてフアイルにアクセスするかを検
討すると、よく理解できる。第2図の10のような
スタンドアロン・システム内では、オペレーテイ
ング・システム11中のローカル・バツフア12
を使つて永久記憶装置2、たとえばハード・フア
イルやパーソナル・コンピユータ内のデイスクと
ユーザ・アドレス空間との間で転送されるデータ
を緩衝記憶する。オペレーテイング・システム1
1内のローカル・バツフア12は、ローカル・キ
ヤツシユあるいはカーネル・バツフアとも呼ばれ
る。
スタンドアロン・システム内で、カーネル・バ
ツフア12はブロツク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に保管される。
スタンドアロン・システム内のローカル・キヤ
ツシユのもう一つの用途は、フアイルがクローズ
された後でもそのフアイルに対する有効なデータ
を保持することである。こうしたブロツクがまだ
キヤツシユ内に存在する間にフアイルが再オープ
ンされた場合、それらのブロツクを読み取るのに
デイスクへのアクセスは不要である。
AIX(拡張対話式エグゼクテイブ、AIXは、
IBMの商標(オペレーテイング・システムを使
つたスタンドアロン・システムでキヤツシユを使
うと、連続する読取りと書込みでデイスクへのア
クセスが要らないので、システムの全体的パフオ
ーマンスが向上する。全体的性能が上がるのは、
永久記憶装置にアクセスする方がキヤツシユにア
クセスするよりも遅くかつコストがかかるためで
ある。
第10図に示したような分散環境では、ローカ
ル・ノードCにある処理システム10Cがノード
Aからフアイル5Aを読み取る方式が2つある。
一つの方式では、処理システム10Cがフアイル
5Aの全体をコピーして、それがノードCにある
ローカル・フアイル5Cであるかのように読み取
ることができる。このやり方でフアイル読み取る
と、ノードCでフアイル5Aがコピーされた後
で、別のノードA,Bにある別の処理システム1
0A,10Bがフアイル5Aを修正する場合に問
題が生じる。処理システム10Cはこのフアイル
5Aに対する最新の修正にアクセスできないこと
になる。
処理システム10CがノードAにあるフアイル
5Aにアクセスするもう一つの方式は、ノードC
にある処理システム10Cが要求したとき一度に
1つのブロツクN1を読み取るものである。この
方法に伴う問題は、読取りのたびにネツトワーク
通信リンク3を介してフアイルがあるノードAま
で行かなければならないことである。連続する読
取りのたびにデータを送るのは時間がかかる。
ネツトワークを介してフアイルにアクセスする
場合、上記の2つの両立しない問題が生じる。一
つの問題は、連続する読取りと書込みのためにネ
ツトワークを介してデータを送信するのに時間が
かかることである。他方、ネツトワーク・トラフ
イツクを減らすためにフアイル・データをノード
に記憶する場合、フアイルの整合性が失われるお
それがある。たとえば、いくつかのノードのうち
の一つがフアイルに書込みを行なつている場合、
そのフアイルにアクセスしている他のノードは、
今書き込まれたばかりの最新の更新済みフアイル
にアクセスしていないことがある。したがつて、
あるノードがアクセスしているフアイルが正しく
ない古くなつたものであるおそれがあるので、フ
アイルの整合性が失われる。
ここでは、フアイルを永久的に記憶しているノ
ードを指すのに「サーバ」という言葉を使い、そ
のフアイルにアクセスする処理を有する他の任意
のノードを指すのに「クライアント」の語を使う
ことにする。ただし、「サーバ」という言葉は、
若干のローカル・エリア・ネツトワーク・システ
ムで使われているような、専用サーバを意味しな
いことを了解されたい。本発明をその中で実施す
る分散サービス・システムは、システム内のどこ
にあるフアイルにもアクセスできる、システム内
の様々なノードで走行する広範な種類のアプリケ
ーシヨンをサポートする、真に分散したシステム
である。
以下では、UNIX(AT&Tが開発したライセ
ンスを供与しているので、UNIXは米国内での
AT&Tの登録商標)オペレーテイング・システ
ムの一バージヨンで本発明を実施した場合につい
て説明するが、本発明はUNIXオペレーテイン
グ・システムに類似する特徴をもつ他のオペレー
テイング・システムでも使用できる。UNIX(オ
ペレーテイング・システムは、ベル研究所(Bell
Telephone Laboratories,Inc.)がデイジタ
ル・エクイツプメント社(Digital Equipment
Corporation,DEC)のミニコンピユータ用に開
発したものであるが、広範囲のミニコンピユータ
用、それに最近ではマイクロコンピユータ用のオ
ペレーテイング・システムとして広く使われてい
る。この普及の一因は、UNIXオペレーテイン
グ・システムがアセンブリ言語ではなく、やはり
ベル研究所で開発されたCプログラミング言語で
書かれており、したがつて、プロセツサの種類を
問わないことである。したがつて、様々な計算機
用に書かれたCコンパイラを使うと、UNIXオペ
レーテイング・システムをある計算機から別の計
算機に移植することが可能になる。UNIXオペレ
ーテイング・システムの詳細については、
「UNIXTMシステム、ユーザーズ・マニユアル、
システムV(UNIXTMSystem,User's Manual,
System V)」Western Electric Co.,1983年1
月刊を参照のこと。UNUXオペレーテイング・
システムの秀れた概説が、B.W.カーニハン
(Brian W.Kernighan)とロブ・パイク(Rob
Pike)共著「ユニツクス・プログラミング環境
(The Unix Progrmming Environment)」
Prentice−Hall、1984年刊に出ている。UNIXオ
ペレーテイング・システムの設計の詳細について
は、M.J.バツハ(Maurice.J.Bach)著「ユニツ
クス・オペレーテイング・システムの設計
(Desing of the Unix OperatingSystem)」
Prentice−Hall、1986年刊に出ている。
ベル研究所は、多くの団体にUNIXオペレーテ
イング・システム使用のライセンスを供与してお
り、現在いくつかのバージヨンがある。AT&T
から出た最新のバージヨンは、バージヨン5.2で
ある。バークレイ・バージヨンとして知られる
UNIXオペレーテイング・システムの別のバージ
ヨンが、カリフオルニア州立大学バークレイ校で
開発された。広く使われているMS−DOSおよび
パーソナル・コンピユータ用のPC−DOSオペレ
ーテイング・システムを開発したマイクロ・ソフ
ト社は、XENIXの商標で知られるバージヨンを
出している。IBM RT PC(RISC(縮小命令セツ
ト・コンピユータ)技術パーソナル・コンピユー
タ、RTとRTPCはIBMコーポレーシヨンの商
標)を1985年に発表したのに伴つて、IBMコー
ポレーシヨンはAIXと呼ばれる新しいオペレー
テイング・システムを公開した。AIXは、アプ
リケーシヨン・インターフエース・レベルでAT
&TのUNIXオペレーテイング・システム、バー
ジヨン5.2と互換性があり、UNIXオペレーテイ
ング・システム、バージヨン5.2に対する拡張機
能を含んでいる。AIXオペレーテイング・シス
テムの詳細については、「AIXオペレーテイン
グ・システム技術解説書(AIX Operating
System Technical Reference)」第1版、IBM、
Corp、1985年11月刊を参照されたい。
本発明は、具体的には、複数台のプロセツサが
ネツトワーク内で相互接続されることを特徴とす
る、分散データ処理システムに関係する。実際に
実施された形では、本発明は、IBMのシステム
ネツトワーク・アーキテクチヤ(SNA)、さらに
具体的にはSNA LU6.2拡張プログラム間通信
(APPC)で相互接続された複数のIBM RT PC
上で機能する。
SNA LU6.2の詳細については、IBM
International Systems Centertsが1983年7月に
発行した技術報告「拡張プログラム間通信
(APPC)入門(An Introduction to Advanced
Program to Program Communication
(APPC)」資料番号GG24−1584−0、および
1986年8月15日刊の「IBM RT PC SNA アク
セス方式の手引き・解説書(IBM RT PC SNA
Access Method Guide and Reference)」を参
照されたい。
SNAでは、そのリンク・レベルとして、ゼロ
ツクス社が開発したローカル・エリア・ネツトワ
ーク(LAN)であるイーサネツト(Ethernetは
Xerox Corporationの商標)またはSDLC(同期
データ・リンク制御)を使う。イーサネツト・ロ
ーカル・エリア・ネツトワークを含めてローカ
ル・エリア・ネツトワークの簡単な説明は、L.E.
ジヨーダン(Larry E.Jordan)とB.チヤーチル
(Bruce Churchill)の共著「IBM PC用の通信
ネツトワーキング(Communications and
Networkig for the IBN PC)」Robert J.
Brady(Prentice−Hallの子会社),1983年刊に出
ている。コンピユータ用通信システム、とくに
SNAとSDLCのより明確な説明は、R.J.シプサー
(Cypser)著「分散システム用通信アーキテクチ
ヤ(Communications Architecture for
Distributed System)」、Addison−Wesley、
1978年刊に出ている。ただし、本発明は、イーサ
ネツト・ローカル・エリア・ネツトワークや
IBM SNA以外のネツトワークで相互接続され
た、IBM RT PC以外の様々なコンピータを用
いても実施できることを了解されたい。
前述のように、以下では、通信ネツトワーク中
の分散データ処理システムを対象として本発明を
説明する。この環境では、ネツトワークのあるノ
ードにある各プロセツサは、どのノードにフアイ
ルがあろうと、潜在的にそのネツトワーク中のす
べてのフアイルにアクセスすることができる。
UNIXオペレーテイング環境内で分散データ処
理システムをサポートする方法は、他にも知られ
ている。たとえば、Sun Microsystemsはネツト
ワーク・フアイル・システム(NFS)を発表し、
ベル研究所は遠隔フアイル・システム(RFS)
を開発した。Sun MicrosystemsのNFSは一連の
刊行物に記載されている。たとえば、S.R.クレイ
マン(Kleiman)「Vノード:Sun UNIXにおけ
る多重フアイル・システム・タイプ用アーキテク
チヤ(Vnodes:An Archutecture for Multiple
File System Types in Sun UNIX)」
USENIX1986年夏季国際技術会議・展示会議事
録、238−247ページ;R.サンドバーグ(Russel
Sandberg)等の「SUNネツトワーク・フアイ
ル・システムの設計と実施(Design and
Implementation of the Sun Network
Filesystem)」、UNENIX 1985年会議議事録、
119−130ページ;D.ウオールシユ(Dan Walsh)
等の「SUNネツトワーク・フアイル・システム
の概要(Overview of the Sun NetworkFile
System)」117〜124ページ;ジヨメイ・チヤン
(Jomei Chang)の「状況モニタがNFSにネツト
ワーク・ロツキング・サービスをもたらす
(Status Monitor Provides Network Locking
Service for NFS)」;ジヨメイ・チヤンの「サン
ネツト(Sunnet)」71−75ページ;B.テイラー
(Bradly Taylor)の「Sun環境における安全な
ネツトワーキング(Secure Networking in the
Sun Environment)」28−36ページ。AT&Tの
RFSも一連の刊行物に記載されている。たとえ
ば、A.P.リフキン(Andrew P.Rifkin)等の
「RFSアーキテクチヤの概要(RFS
Arcchitectural Overview)」USENIX会議議事
録、ジヨージア州アトランタ(1986年6月)、1
−12ページ;R.ハミルトン(Richard
Hamilton)等の「遠隔フアイル共用に対する管
理者の意見(An Administrator's View of
Remote File Sharing)」、1−9ページ;T.ヒ
ユートン(Tom Houghton)等の「フアイル・
システム・スイツチ(File Systems Switch)」、
1−2ページ;D.J.オランダー(DavidJ.
Olander)等の「システムVにおけるネツトワー
キング用フレームワーク(A Framework for
Networking in System V)」、1−8ページ。
本発明をその中で実施する分散サービス・シス
テムの、たとえばSun MicrosystemsのNFSとは
区別される一つの特徴は、Sunの方法が基本的に
状態非保存型の装置を設計するためのものであつ
たということである。もつと具体的に言うと、分
散システム内のサーバを状態非保存型に設計する
ことができる。すなわち、サーバは、どのクライ
エント・ノードがサーバ・フアイルをオープンし
たのか、クライエントのフアイルが読取専用モー
ドでオープンになつているのかそれとも読取り書
込みモードでオープンになつているのか、あるい
はクライエントがそのフアイルのバイト範囲にロ
ツクをかけているかどうかを含めて、クライエン
ト・ノードに関する情報を何も記憶しない。この
ような実施形態をとると、クライエント・ノード
が故障したり、あるいはサーバ資源に対する要求
を解除したとサーバにきちんと知らせずにオフラ
インになつたときに生じる。誤り回復状況をサー
バが処理する必要がないので、サーバの設計が簡
単になる。
本発明をその中で実施する分散サービス・シス
テムの設計では、全く異なる方法が取られた。も
つと具体的に言うと、この分散サービス・システ
ムは、「状態保存型」であると特徴づけることが
できる。本明細書に記載する「状態保存型」サー
バは、誰がそのフアイルを使つているか、および
フアイルがどのように使われているかに関する情
報を保持する。それには、サーバが何らかの方法
であるクライアントとの接触の喪失を検出して、
そのクライアントに関する蓄積された状態情報を
廃棄できるようにする必要がある。しかし、本明
細書に記載するキヤツシユ管理戦略は、サーバが
そうした状態情報を保持しない限り実施できな
い。キヤツシユの管理は、下記で説明するよう
に、サーバ・フアイルををオープンせよとの要求
を発行しているクライエント・ノード数およびそ
うしたオープンが読取モードであるかそれとも書
込モードであるかによつて影響を受ける。
C 発明が解決しようとする問題点 したがつて、遠隔フアイルにアクセスする際の
応答時間を改善することが、本発明の一目的であ
る。
分散ネツトワーキング環境でフアイルの整合性
を維持することが、本発明の第2の目的である。
クライエント・ノードでフアイルがクローズさ
れたとき、サーバとクライエント・ノードの両方
のキヤツシユを使つて有効データを保持すること
が、本発明の第3の目的である。
D 問題点を解決するための手段 他のノードにあるフアイルにアクセスするとき
にネツトワークのトラフイツク・オーバーヘツド
を軽減し、フアイルの整合性を保つため、分散ネ
ツトワーキング環境内での様々なフアイルへのア
クセスをフアイル同期モードで管理する。読取り
アクセスまたは書込みアクセスのためフアイルが
1つのノードだけでオープンしている場合、フア
イルに第1の同期モードを与える。任意のノード
で読取り専用アクセスのためフアイルがオープン
している場合、フアイルに第2の同期モードを与
える。複数のノードで読取りアクセスのためフア
イルがオープンになつており、少くとも1つのノ
ードで書込みアクセスのためそのフアイルがオー
プンになつている場合、フアイルに第3の同期モ
ードを与える。
フアイルが第1または第2の同期モードの場
合、クライエント・ノード、すなわちフアイルに
アクセスするノードは、そのオペレーテイング・
システム内のキヤツシユを使つてフアイルを記憶
する。その後の読取りと書込みはすべてこのキヤ
ツシユに送られる。
本発明のシステムおよび方法は、クライエン
ト・ノードでフアイルがクローズしているとき、
有効データを保持するのに、クライエント・ノー
ドとサーバ・ノードの両方でキヤツシユを使用す
る。クライエント・ノードがクライエント・キヤ
ツシユを再使用するか否かは、データ・フアイル
がクライエント・ノードでクローズしていた間に
別のノードでクライエント・キヤツシユ内のデー
タが修正されたか否かによつて決まる。データが
修正されていない場合は、フアイルの整合性を損
わずに、クライエント・ノード内のプロセスから
読取りおよび書込みによつてクライエント・ノー
ドにアクセスすることができる。クライエント・
キヤツシユ内のデータはすべて有効データであ
る。フアイルが一度クローズした後でオープンし
たとき、クライエント・キヤツシユを使つてアク
セスを行なうことにより、ネツトワークのトラフ
イツク・オーバーヘツドが減少し、したがつて応
答時間が改善される。
クライエント・ノードでフアイルがクローズし
ていた間に、クライエント・キヤツシユ内のデー
タが別のノードで修正されたか否かを判定するた
め、本発明のシステムは、クライエント・キヤツ
シユ内に代理iノードを含んでいる。代理iノー
ドは、サーバ・ノードを識別するフイールドと、
そのノード内のフアイルを識別するフアイル・ハ
ンドルを含んでいる。代理iノードは、フアイル
が最初にあるノードでオープンされるか、または
最後のクローズの後、始めてオープンされたと
き、クライエント・キヤツシユ内で作成される。
代理iノードが作成されるとき、サーバのクロツ
クによつて記録されたフアイルの最終修正時間
が、代理iノードに書き込まれる。本発明のシス
テムは、またサーバでのフアイルの最終修正時間
を示すフアイル修正時間フイールドを、キヤツシ
ユ・データ・ブロツク内に含んでいる。キヤツシ
ユ・データ・ブロツク内のフアイル修正時間フイ
ールドは、クライエント・ノードでフアイルが最
後にクローズしている間に更新される。
本発明の方法は、クライエント・ノードでフア
イルがオープンし読み取られ、クローズされる間
に下記の各ステツプを含む。
クライエント・ノードにフアイルのオープンが
出されると、クライエント処理システム内の代理
iノード・テーブルを走査して、既存の代理iノ
ードを探す。何もない場合は、新しい代理iノー
ドが割り当てられ、サーバに遠隔オープン手順呼
出しが送られる。サーバでそのオープンが完了す
ると、サーバからクライエント・ノードへのオー
プン肯定応答に、そのフアイルの最終修正時間を
含める。この時間が、クライエント・ノードでそ
のフアイルの新しく割り当てられた代理iノード
に記録される。
そのフアイルの新しいデータ・ブロツクが読み
取られるとき、新しいキヤツシユ・ブロツクがク
ライエント・キヤツシユ内に割り当てられる。各
キヤツシユ・ブロツクは、サーバ・ノード名、フ
アイル・ハンドル、および代理iノードからの最
終修正時間を含む。
フアイルが2回目以降にオープンされ、クライ
エント処理システム内の代理iノード・テーブル
を走査して既存の代理iノードを探すとき、以前
のオープンから既に代理iノードが存在している
ことになる。この場合、修正時間あるいは代理i
ノードの変更はない。データ・ブロツク上の最終
修正時間は、2回目のオープンでも変更されな
い。
ASYNCモードにあるフアイルが最後にクロー
ズされる間、以下の各ステツプが行なわれる。ま
ず、クライエント・ノードがサーバにクローズ要
求を送る。次に、クライエント・ノードからクロ
ーズ要求を受け取ると、サーバはクライエント・
ノードにそのクローズの肯定応答を送る。クロー
ズの肯定応答と共に、サーバはクライエント・ノ
ードにフアイルが修正された最終時間を送る。サ
ーバは、この最終修正時間を入手するために、サ
ーバのデイスクに行かなければならないこともあ
る。次に、クライエント・ノードは代理iノード
の割り当てを解除し、そのサーバ・ノード名およ
びクローズされているフアイルに対するフアイ
ル・ハンドルを探してすべての遠隔キヤツシユ・
バツフアを走査する。次に、クライエント・ノー
ドは、対応するキヤツシユ・ブロツク内のすべて
の最終修正時間を、クローズ肯定応答と共にサー
バから受け取つた最終修正時間に変更する。
クライエント・キヤツシユからブロツクが読み
取られているとき、代理iノード中の時間がキヤ
ツシユ・データ・ブロツク中の時間と比較され
る。代理iノード中の時間がキヤツシユ・デー
タ・ブロツク中の時間よりも大きい場合は、クラ
イエント・ノードでデータ・フアイルがクローズ
されている間にクライエント・キヤツシユ内のデ
ータが修正されたことを示す。この場合、クライ
エント・ノードは、最終修正済みデータを得るた
め、ネツトワークを介してサーバに行かなければ
ならない。フアイルの整合性を維持するには、ク
ライエント・ノード内でのフアイルに対するすべ
てのデータ・ブロツクを無効にしなければならな
い。
代理iノード中の時間がキヤツシユ・データ・
ブロツクに記録された時間と同じ場合は、クライ
エント・キヤツシユ内のデータが依然有効である
ことを示す。クライエント・ノードでフアイルが
クローズされた間に、他のノードがこのデータを
修正することはなかつた。この場合、クライエン
ト・ノード内のプロセスは、ネツトワークを介し
てフアイルが実際に存在するサーバへ行かずに、
クライエント・キヤツシユ内のデータ・ブロツク
を使用することができる。
E 実施例 本発明では、第4図に示すように、各ノード
A,B,Cにそれぞれローカル・キヤツシユ12
A,12B,12Cが存在する。フアイルがノー
ドAのデイスク2A上に永久的に常駐する場合、
ノードAをサーバと呼ぶ。サーバAでは、サー
バ・ノードAで実行されるローカルプロセス13
Aによるキヤツシユ12Aの使い方は、上記の従
来技術の例で述べたスタンドアロン・システムの
場合と同様である。
しかし、ノードB,Cで実行される遠隔プロセ
ス13B,13Cは第5図によりはつきりと示す
ように、サーバ・キヤツシユとクライエント.キ
ヤツシユを使つて、2段キヤツシング体系により
フアイル5にアクセスする。サーバ・ノードA
は、デイスク2Aからフアイル・ブロツク5を入
手し、それをサーバ・キヤツシユ12Aに記憶す
る。クライエント・ノードBは、ネツトワーク3
を介してサーバ・キヤツシユ12Aからフアイ
ル・ブロツク5を入手する。クライエント・ノー
ドBは、サーバ・キヤツシユ12A内にあつたフ
アイル・ブロツク5をクライエント・キヤツシユ
12Bに記憶する。クライエント・ノードBのユ
ーザ・アドレス空間14BがASYNCモードまた
はREADONLY同期モードでフアイル5からデ
ータをシークするとき、各アクセスごとにネツト
ワーク3を介してアクセスする代りにクライエン
ト・キヤツシユ12Bにアクセスする。クライエ
ント・キヤツシユ12Bを使つて遠隔フアイル5
にアクセスすると、ネツトワークのトラフイツ
ク・オーバーヘツドが節減できるので、パフオー
マンスが著しく改善できる。
アプリケーシヨン・プログラム・レベルでのフ
アイル・アクセス・セマンテイツクスを保存しな
がら高パフオーマンスを達成するように、分散環
境でクライエント・キヤツシユ12Bとサーバ・
キヤツシユ12Aの使用が管理される。こうする
ことにより、スタンドアロン・システムで走行す
る既存のプログラムを、修正なしに分散システム
で走行させることができる。
フアイル・アクセス・セマンテイツクスは、別
のプロセスがフアイルをオープンして、読取りお
よび書込みシステム・コールを発行してフアイル
にアクセスし、それを修正するとき、フアイルの
整合性を保つ。このフアイル・アクセス・セマン
テイツクスの要件は、どの時間のどのバイト範囲
でも1つの入出力操作だけしか許されず、一度あ
る入出力操作が始まると、同じフアイルのバイト
範囲に対する別の入出力操作がその入出力操作を
強制排除できないことである。
再度第5図を参照して、その一例を示す。プロ
セス131がフアイル5内のバイト範囲N1−N
2に対して書込みシステム・コールを発行した場
合、バイト範囲N1−N2全体にプロセス131
がアクセスでき、かつバイト範囲N1−N2に関
する読取り操作が実行されていないときだけ、書
込みシステム・コールが実行できる。書込みシス
テム・コールの実行中、フアイル5のバイト範囲
N1−N2に関する他のすべての操作は、その書
込みが完了するまで中断されるる。ローカル・キ
ヤツシユ12Aにバイトが書き込まれて始めて、
書込みが完了する。書込み要求が完了すると、キ
ヤツシユ12Aに書き込まれたデータは、他のプ
ロセス131−13Nのいずれかによる次の読取
り操作で見えるようになる。
フアイル・アクセス・セマンテイツクスのもう
一つの要件は、N1−N2などのフアイルのバイ
ト範囲(1つのレコードでも、同じ入出力操作で
アクセスする関連する1組のレコードでもよい)
が読取り操作で見えるとき、フアイルのバイト範
囲N1−N2は、必ずこの範囲に対する最新の更
新を反映した一貫した1組のデータを含んでいな
ければならない。書込み操作の実行中は、このバ
イト範囲にアクセスできない。こうして、あるプ
ロセスから出された次の読取り要求では、古くな
つた更新前のデータではなく、今書かれたデータ
が読取られる。
第5図に示す本発明の分散ネツトワーキング環
境では、異なるアプリケーシヨン・プログラム4
A,4Bおよびプロセス131−13N,231
−23Nからの読取りおよび書込みシステム・コ
ールの実行が同期され、上記のフアイル・アクセ
ス・セマンテイツクスが保存されている。様々な
キヤツシユ、同期モードを利用して、同期が保証
される。特定のフアイル5に対して、入出力コー
ルは、アクセスするためフアイル5をオープンに
するプロセス131−13N,231−23Nの
位置および同期モードに応じてクライエントBま
たはサーバAのいずれかによつて同期化される。
第6図に3つの同期モードを示し、第4図を参
照しながら説明を行なう。第1のモードは
ASYNCHモード、すなわち非同期モードと呼ば
れる。このモード41では、第6図のブロツク4
4に示すように1つのクライエント遠隔モードの
みで実行されるプロセス13Cによる読取り/書
込みアクセスのためにフアイル5がオープンにな
つている場合に、フアイル5が動作する。このモ
ード41では、制御権はすべてクライエント・ノ
ードCにある。これらの読取り/書込み操作に
は、サーバ・キヤツシユ12Aもクライエント・
キヤツシユ12Cも使われる。クライエント・キ
ヤツシユ12Cから充たせない場合にのみ、読取
りまたは書込み操作でサーバ・キヤツシユ12A
へのアクセスが必要になる。周期的同期操作によ
つて、あるいはクライエント・ノードC中でのす
べてのプロセス13Cによつてフアイル5がクロ
ーズされたとき、または他のデータをキヤツシユ
に入れるスペースを空けるためにブロツクを書き
込まなければならないとき、クライエント・ノー
ド12Cにある修正済みのデータ・ブロツクがサ
ーバ12Aに書き込まれる。さらに、フアイルが
ASYNCHモードからFULLSYNCHモードに変
更されるとき、修正済みのデータ・ブロツクがサ
ーバ12Aに書き込まれる。
第2のモード42はREADONLYモード42
である。READONLYモード42は、第6図の
ブロツク45に示すように、1つのノードC内の
プロセス13Cからの、または複数のノードB,
C内プロセス13B,13Cからの読取り専用ア
クセスのためにオープンとなつているフアイル5
に用いられる。このモード42では、サーバ・キ
ヤツシユ12Aとクライエント・キヤツシユ12
Cの一方または両方が使われる。一時に1つまた
は複数のブロツクに対して、読取り要求が発行さ
れる。同じクライエント・ノードBまたはCから
の特定のデータ・ブロツクに対する他の読取り要
求は、どれもサーバ12に行かず、当該のクライ
エント・キヤツシユ12Aまたは12Cから読み
取られる。言い換えれば、クライエント・キヤツ
シユ12Cまたは12Bから充たせる場合、読取
り操作でサーバ12Aへのアクセスは必要ではな
い。まとめると、任意のノードA,B,C内のプ
ロセス13A,13B,13Cのいずれかによる
読取り専用アクセスのためにフアイル5がオープ
ンになつている場合に、フアイル5は
READONLYモード42で動作する。第3のモ
ード43はFULLSYNCHモードである。
FULLSYNCHモード43は、第6図のブロツク
48で示すように、サーバ・ノードA内のプロセ
ス13Aによる書込みアクセスのためにオープン
になつているフアイル5に用いられる。この同期
モード43は、第6図のブロツク46,47で示
すように、サーバ・ノードAおよび他の少なくと
も1つのノードB,Cでフアイル5がオープン
し、かつ少なくとも1つのプロセス13A,13
B,13Cで書込みアクセスのためにフアイル5
がオープンになつている場合にも用いられる。一
般に複数のノードでフアイル5がオープンし、そ
れらのノードのうちの1つで書込みアクセスのた
めにフアイルがオープンしている場合、そのフア
イルはFULLSYNCHモードである。
FULLSYNCHモード43では、クライエント・
キヤツシユ12Cまたは12Bは迂回し、サー
バ・キヤツシユ12Aだけが用いられる。読取り
操作と書込み操作はすべてサーバ12Aで実行さ
れる。
第4図の分散ネツトワーキング環境1では、大
部分のフアイル5は、READONLYモード42
(第6図)で複数のノードA,B,Cでのプロセ
ス13A,13B,13Cによる読取専用アクセ
スのためにオープンしたり、あるいはASYNCH
モード41で1つのノードで更新のためにオープ
ンしたりする方が、FULLSYNCHモード43で
複数のノードで実行されるプロセスによる読取
り/書込みアクセスのためにオープンするよりも
頻繁である。READONLYモード42でも
ASYNCHモード41でも、クライエント・キヤ
ツシユ12B(第5図)を使用するため、遠隔読
取り/書込みのフアイル5にアクセスする応答時
間が著しく減少し、全体的システム・パフオーマ
ンスが向上する。
第8図に示すように、FULLSYNCHモードで
は、クライエント・キヤツシユは使われない。ク
ライエント・ノードBは、各読取りおよび書込み
のたびにサーバAからネツトワーク3を介してフ
アイル5にアクセスする。このモードでは、読取
り/書込み応答時間は増加するが、サーバAに常
駐する対応するフアイルと一緒に更新されていな
いフアイル5をクライエント・ノードがローカ
ル・キヤツシユに保持しないので、フアイル・ア
クセス・セマンテイツクスは保存される。
この3つのモードを使つてクライエント・キヤ
ツシユの使用を管理すると、読取りり/書込み応
答速度が全体的に平均して増加し、かつフアイル
の整合性が保たれるために、全体的システム・パ
フオーマンスが最適になる。ある状況ではクライ
エント・キヤツシユを使うので読取り/書込み応
答時間が減少し、別の状況ではクライエント・キ
ヤツシユを使わないので、フアイル・システム・
セマンテイツクスが保存される。
フアイルの同期モードは、どのノードでフアイ
ルがオープンになつているか、およびフアイルが
読取りのためにオープンになつているか、それと
も書込みのためにオープンになつているのかだけ
でなく、フアイルの存在する装置が生(raw)ア
クセス・モードでオープンになつているかどうか
にも依存する。ある装置に対する生アクセスと
は、装置2A内のデータ・ブロツクLBN1(第
5図)がアクセスされるという意味である。すな
わち、装置2Aの読取りおよび書込みは、装置2
Aのデータ・ブロツクLBNIに対する読取りおよ
び書込みである。そのデータ・ブロツクがどのフ
アイルに属するのか重要ではない。装置2Aは、
サーバ・ノードAでのプロセス131−13Nか
らの生アクセスのためにオープンすることができ
るが、遠隔ノードB,Cからの生アクセスのため
にオープンすることはできない。
第5図を参照すると、キヤツシユ12Aは、第
2図に関して先に説明したスタンドアロン・シス
テムと同様に、装置2AのブロツクLBN1とし
て管理される。サーバAは、サーバ・キヤツシユ
12Aを装置2A内の論理ブロツクLBN1とし
て見る。クライエント・ノードBは、フアイル5
が装置2A上のどこにあるのか知らない。クライ
エント・ノードBが知つているのは、装置2Aの
ブロツク番号N1にあるフアイル5にアクセスし
ていることだけである。クライエント・キヤツシ
ユ12Bは、データをフアイル5の論理ブロツク
N1として扱う。サーバ・キヤツシユ12A内で
は、データは装置2Aの論理ブロツクLBN1と
して扱われる。データをこのように扱う際に、サ
ーバAは、データが生装置としての装置に書き込
まれ、かつそのフアイルの装置に書き込まれたブ
ロツクと同じブロツクに対する読取りが別にあつ
た場合に、新しく書き込まれたデータがその読取
りで見えることを保証することができる。このた
め、フアイル・システム・セマンテイツクスが保
存される。
第5図に示すようにクライエント・ノードBで
フアイルがアクセスされており、かつフアイルが
ASYNCHモードまたはREADONLYモードの場
合、クライエント・オペレーテイング・システム
11Bは、システムコールREAD(フアイル記述
子、N1)16中のフアイル記述子とフアイル内
のバイト範囲を、装置番号および装置内の論理ブ
ロツク番号に変換しない。クライアントは、フア
イル記述子とバイト範囲を、フアイル・ハンド
ル、ノード識別子、およびフアイル内の論理ブロ
ツク番号に変換する。クライエント・キヤツシユ
12B内には、フアイル・ハンドル、ノード識別
子、およびフアイル内の論理ブロツク番号により
指定されるブロツク17がが存在する。クライエ
ントのアプリケーシヨン・プログラム4Bから読
取り要求16が発行される(第9図のステツプ
104)と、その読取り要求は、フアイル記述子お
よびフアイル内のバイト範囲と共にオペレーテイ
ング・システム11Bに向う。次にオペレーテイ
ング・システム11Bはクライエント・キヤツシ
ユ12Bを見る(第9図のステツプ105)。フアイ
ル・ハンドル、ノード識別子、およびフアイル内
の論理ブロツク番号がそこにある場合、キヤツシ
ユ12Bが読み取られる(第9図のステツプ
106)。そこにない場合(第9図のステツプ107)、
その読取り要求はサーバに送られる(第9図のス
テツプ108)。サーバは次にフアイル・ハンドルと
フアイル内の論理ブロツク番号を装置番号と装置
内の論理ブロツク番号に変換する(第9図のステ
ツプ109)。この変換が必要なのは、サーバ・キヤ
ツシユ12Aがスタンドアロン・システムと同様
に、装置番号と装置内のブロツク番号によつて管
理されるためである。読取り要求はサーバに送ら
れた後、第2図に関して先に説明したスタンドア
ロン・システムで読取り要求がそれ自体のアプリ
ケーシヨン・プログラムから来ている場合と同様
に扱われる。
クローズされているフアイルには、同期モード
がない。しかし、あるプロセスによつてフアイル
が始めてオープンされると、第7図に示すように
下記の通り、フアイルの同期モードが初期設定さ
れる。
フアイルが常駐する装置Dがクローズされてい
る(61)、すなわち特別装置としてオープンされ
ていず且つフアイルが1つの遠隔ノードで書込み
アクセスのためにオーンされる場合(62)、フア
イルのための同期モードはASYNCモード41に
初期設定される。
フアイルが常駐する装置がクローズされ、1つ
または複数のノードでの読取り専用アクセスのた
めにフアイルがオープンになつている場合(63)、
あるいは装置もフアイルも読取り専用アクセスの
ためにオープンになつている場合(64)、フアイ
ルの同期モードはREADONLY42である。
フアイルが常駐する装置が読取り/書込みアク
セスためにブロツク特別装置としてオープンにな
つている場合(65)、あるいはフアイルが複数の
ノードでオープンし、少なくと1つのオープンが
書込みに対するものである場合、フアイルの同期
モードはFULLSYNCモード43に初期設定され
る。ブロツク特別装置とは、その装置に対する生
アクセスがあるという意味である。
フアイルがあるモードに初期設定されると、条
件が変われば、フアイル・モードもわることがあ
る。第7図で線71ないし76によつて示すよう
なあるモードから別のモードへの移行が、下記の
条件で起こり得る。
フアイルが現在ASYNCモード41であり、そ
のフアイル(F)がオープンになつているノード
数が2以上になつた場合(81)、第7図で線72
によつて示すように同期モードはFULLSYNCモ
ード43に変わる。また、フアイルが常駐するブ
ロツク特別装置Dのオープンがある場合(82)、
同期モードはASYNCモード41から
FULLSYNCモード43に変わる。フアイルのク
ローズ動作については、そのクローズ動作がフア
イルの最終クローズではなく、フアイルは書込み
に対しては依然としてオープンである場合は、モ
ード変更は起こらない。しかし、そのクローズ動
作がそのフアイルの書込みアクセスに対する最終
クローズであり、残つているオープンはすべて読
込みアクセスに対するものである場合(83)は、
線74で示すようにREADONLYモード42が
新しいモードになる。そのクローズ動作がそのフ
アイルの最終クローズである場合、同期モードは
ない。
フアイルが現在READONLYモード42であ
り、フアイル・オープン動作がある場合、そのオ
ープンが読取りに対するものなら、モード変更は
ない。しかし、そのオープンが書込みに対するも
のなら、線73で示すようにすべてのオープンが
1つのクライエント・ノードで行なわれる場合
(84)、ASYNCモード41が新しい同期モードと
なる。そうでなければ、同期モードは
FULLSYNCモード43である。さらに、フアイ
ルが常駐する装置が読取り/書込みアクセスに対
してオープンになつている場合(87)、そのフア
イルの新しい同期モードはFULLSYNCモード4
3である。クローズ動作について、そのクローズ
がそのフアイルの最終クローズである場合、その
フアイルの同期モードはない。クローズ動作の
後、フアイルが1つまたは複数のノードで依然と
してオープンになつている場合、同期モードへの
変更はない。
フアイルが現在FULLSYNCモード43であ
り、そのフアイルに対して別のオープンがある場
合、あるいはフアイルが常駐する装置がオープン
される場合、同期モードの変更はない。フアイル
のクローズ動作の後、1つの遠隔ノードで読取
り/書込みアクセスのためのオープンが残つてお
り、かつそのフアイルが常駐するブロツク特別装
置がオープンされていない場合、線71を介して
ブロツク88で示されるように、同期モードは
ASYNCs-モード41に変わる。フアイルが常駐
するブロツク特別装置がオープンされず、かつ線
75上のブロツク89で示されるように、そのフ
アイルが1つまたは複数のノードでの読取り専用
アクセスに対してオープンされる場合、あるいは
フアイルが常駐するブロツク特別装置が読取り専
用アクセスに対してオープンされ、かつそのフア
イルが読取り専用アクセスに対してオープンされ
る場合、同期モードはFULLSYNCモード43か
らREADONLYモード42に変わる。
フアイルおよび装置に対するすべてのオープン
動作およびクローズ動作は、サーバ・ノードで解
決される。サーバは、同期モードを変更する可能
性がある任意の動作を実行するとき、オープン・
フアイルの同期モードを決定する。また、サーバ
は同期モードの変更を実行する。サーバがそのフ
アイルに対する新しいオープンまたはクローズを
獲得するとき、そのフアイルの同期モードの変更
がトリガされることがある。必要とされる同期モ
ードが現在のモードではない場合、サーバはその
フアイルがオープンになつているすべてのクライ
エントに「同期モード変更」遠隔手順コール
(rpc)を送る。
フアイルが初めてオープンされた後、そのフア
イルをオープンしたクライエントに、そのフアイ
ルのモードが知られる。モードがASYNCまたは
READONLYである場合、クライエントは、第
5図に示すように、読取りのため、あるいは
ASYNCモードの場合は書込みのためにも、クラ
イエント・キヤツシユの使用を開始することがで
きる。クライエントは、通信リンクを介してサー
バに対して読取りまたは書込みを行なう必要はな
い。第8図に示すようなモードがFULLSYNCモ
ードである場合は、クライエント・キヤツシユは
使われず、クライエントは通信リンク3を介して
サーバに対し読取りまたは書込みを送る必要があ
る。
第5図のサーバAは、常にフアイル5のモード
51を設定する。またサーバAは、どのノードの
フアイルがオープンになつているか、およびそれ
らのオープンが読取りに対するものかそれとも書
込みに対するものかを知つている。サーバAは、
ノード内のプロセス131−13N,231−2
3Nに対してフアイルがオープンになつているか
どうか知る必要はない。サーバは、上記のすべて
の情報をフアイル・アクセス構造50中に保存す
る。構造50中には、同期モード51、そのフア
イルがオープンになつているノードのリスト5
2、フアイル5の読取り数53、およびフアイル
5への書込み数53が含まれる。
フアイル・アクセス構造50は、iノード55
にリンクされている。iノード55は、フアイル
5を識別するためのフアイル・ヘツダ56を含ん
でいる。iノード55はまた、フアイルがどの装
置上に常駐しているかに関する情報を含むブロツ
ク57と、フアイルが装置上のどこに常駐してい
るかに関する情報を含むブロツク58を含んでい
る。
iノード55はまた、2つの時間ビツト111
と112を含んでいる。時間ビツトは、そのフア
イルに関する情報の追跡を助けるためにiノード
55中で使用される。時間アクセス・ビツト11
1は、そのフアイルまたはデータが読み取られた
ことを示す。時間変更ビツト112は、そのデー
タまたはフアイルが書込みアクセスによつて修正
されたことを示す。
時間変更ビツト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つのクライエント・ノー
ドのみでのプロセスによつて読取りおよび書込み
のためにオープンする(すなわち、ASYNCモー
ド)こともできる。どちらの場合でも、各クライ
エント・ノード中のクライエント・キヤツシユ
は、潜在的にそのフアイルの有効なブロツクを有
する。フアイルがクライエントBでのすべてのプ
ロセスによつてクローズされる場合、クライエン
トBの各ブロツクは自動的に無効化されない。ク
ライエントB中に使用できるデータ・ブロツクを
保持することにより、フアイルをノードBのいず
れかのプロセスによつて再オープンする場合、こ
のデータに対する遠隔読取りをサーバAに出す必
要はない。
本発明のシステムおよび方法は、クライエン
ト・ノードBに、クライエント・ノードBがフア
イル5をクローズした間にあるフアイルが別のノ
ードで書き込まれたか否かを判定する手段を与え
る。クライエントBは、フアイルがクライエント
Bでクローズされている間にそのフアイルに対す
る書込み動作が行なわれなかつた場合にだけ、ク
ライエント・キヤツシユ内のフアイル・ブロツク
を使用することができる。クライエント・ノード
Bがこのフアイルを再オープンし、かつそのフア
イルがクライエント・ノードBでクローズされて
いる間に変更されなかつた場合、クライエント・
ノードBはクライエント・キヤツシユ12Bから
直接にフアイル5にアクセスすることができる。
クライエント・ノードBがフアイル5を再オープ
ンし、かつフアイル5がクライエント・ノードB
でクローズされている間に変更された場合、クラ
イエント・ノードBは、変更されたフアイル5を
得るために、ネツトワーク3を介してサーバに行
かなければならない。その後、変更済みフアイル
が、後でアクセスするためにクライエント・キヤ
ツシユ12Bに記憶される。
本発明のシステムおよび方法は、第1図と第1
1図を同時に参照すると最もよく説明できる。フ
アイル5ががクライエント・ノードB中のプロセ
ス131によつて初めてオープンされる(ステツ
プ120)と、クライエント・ノードBは代理iノ
ード114を作成する(ステツプ121)。代理iノ
ードは、iノードが含む情報のすべてを含んでい
るのではない点以外は、iノードと同様である。
クライエント・ノードBで遠隔フアイル5に対
するるオープンが出されると、フアイル5に対す
る既存の代理iノードを探すため、クライエント
処理システム中の代理iノード・テーブルが走査
される。代理iノードが存在しない場合は、新し
い代理iノードが割り当てられる。オープン遠隔
手順コールが、クライエントからサーバに送られ
る。サーバでそのオープンが完了すると、サーバ
からクライエントに送られるオープン肯定応答
は、フアイル5に対する最終修正時間を含むこと
になる。サーバ・デイスク2に書き込まれたフア
イル5に対する最終修正時間22がクライエン
ト・ノードBのブロツク115内の新しく割り当
てられた代理iノード114に記録される(ステ
ツプ122)。ブロツク22およびブロツク115に
記録される修正時間T1は、クライエントBでは
なくサーバAにおける時間である。サーバ・ノー
ドAでは、ブロツク52中フアイル・アクセス構
造50が、そのフアイルがノードBでオープンに
なつていることを示すように更新される(ステツ
プ123)。
次に最初の読取りが出された場合、クライエン
ト・キヤツシユ12B中のデータ・ブロツク11
6が割り当てられる(ステツプ124)。データ・ブ
ロツク116の最初のビツト152は、サーバ・
ノードAを識別する。第2のビツト153は、フ
アイル5を識別するためのフアイル・ハンドルを
含んでいる。フアイル5内のあるブロツクに新し
いキヤツシユ・ブロツクが割り当てられると、代
理iノード114のブロツク115から得られる
修正時間T1が、データ・ブロツク116のビツ
ト117のキヤツシユ・ブロツク・ヘツダにコピ
ーされる。サーバ・ノードAでは、フアイル・ア
クセス構造50が、ブロツク53中の読取り数が
1であることを示す(ステツプ125)。
クライエント・ノードBからの、たとえばプロ
セス232からの2回目のオープン(ステツプ
126)の場合、新しい代理iノード114は作成
されない。クライエント・ノードでその後さらに
フアイル5がオープンされる場合、以前に割り振
られた代理iノード114を使用し、最初のオー
プンで記憶されたフアイル修正時間は更新されな
い。
クライエント・ノードB中のフアイル5をオー
プンした何れかのプロセス231−23Nから2
回目の読取りが行なわれる場合、クライエント・
キヤツシユ12B中の別のデータ・ブロツク11
8が割り当てられ、代理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中のブロツク5
3とブロツク54がゼロとなる。あるクライエン
ト・ノードについてこれらのブロツクがゼロにな
ると、サーバは、最後のクローズが行なわれたこ
とを知り、そのクライエントBに対するフアイ
ル・アクセス構造50を除去する(ステツプ
132)。サーバAはクライエントBにクローズ肯定
応答を送る(ステツプ133)。サーバは、この肯定
応答と一緒に、そのフアイルがサーバで記録され
ているように修正された最後の時間を戻す。フア
イルがASYNCモードの場合、クライエント・キ
ヤツシユが走査され、フアイル5に対するフアイ
ル・ハンドルを有するすべてのキヤツシユ・ブロ
ツクについて修正時間がクローズ肯定応答中の時
間を使つて更新される。要するに、データ・ブロ
ツク116,118内のすべての時間が、装置2
に書き込まれたブロツク22中のフアイル5に対
する最終時間T2で更新される(ステツプ134)。
また、クライエント・ノードBで最後のクローズ
が行なわれたとき、クライエント・ノードBは、
ステツプ121で最初のオープンにおいて作成され
た代理iノード114を解除する。
クライエント・ノードでの最終クローズ後、ク
ライエント・ノードBにあるプロセス231−2
3Nがフアイル5を再オープンすることがある
(ステツプ135)。この再オープンの場合、クライ
エント・ノードBはフアイル5に対する新しい代
理iノード150を作成し、最終時間T3をサー
バの装置2のブロツク22から代理iノード15
0のブロツク151に書き込む(ステツプ136)。
フアイル5がクライエント・ノードBでクローズ
になつていた間に他のノードA,Cがフアイル5
を変更しなかつた場合、デイスク2上の時間T3
は、クローズ肯定応答中(ステツプ133,134)
に、デイスク2からデータ・ブロツク116,1
18に書き込まれた時間T2から変更されていな
いはずである。しかし、フアイル5がクライエン
ト・ノードでクローズになつていた間に他のノー
ドA,Cがフアイル5に書込みを行なつた場合
は、装置2のブロツク22中の時間T3は、クロ
ーズ肯定応答中(ステツプ133,135)にデイスク
2からデータ・ブロツク116,118に書き込
まれた時間T2よりも大きくなるはずである。
第11図の判断ブロツク137に示すように、
クライエント・ノードBであるフアイルが再オー
プンされると、ブロツク151内の新しい代理i
ノード150に今書き込まれたばかりの時間T3
が、それぞれデータ・ブロツク116,118の
ブロツク117,119内の時間T2と比較され
る。代理iノード150内の時間T3がデータ・
ブロツク116,118内の時間T2と等しくな
い場合、クライエント・キヤツシユのデータ・ブ
ロツク内のデータは使用できない。クライエント
Bはネツトワーク3を介してサーバAにアクセス
し、デイスク2からサーバ・キヤツシユ12Aを
経てクライエント・キヤツシユ12Bへという2
段階のキヤツシユ・アクセス体系を開始しなけれ
ばならない。代理iノード150内の時間T30
がキヤツシユ・データ・ブロツク116,118
内の時間T2と同じ場合は、クライエント・ノー
ドB内のプロセス231−23Nが、ネツトワー
ク3を介して出て行かずに、直接にクライエン
ト・キヤツシユ12Bからデータにアクセスする
ことができる(ステツプ139)。
ASYNCまたはREADONLY同期モードのフア
イルでは、クライエントは、上記の諸ステツプに
もとづいて、特定のキヤツシユ・ブロツク内のデ
ータが有効かどうか判断する。クライエントがこ
の判断を下だせるようにするため、各キヤツシ
ユ・ブロツクのヘツダに、サーバのクロツクにも
とづくそのフアイルに対する最終修正時間が含ま
れている。この最終修正時間は、そのブロツクが
サーバから読み取られるときにキヤツシユ・ブロ
ツクに記録され、そのフアイルがそのクライエン
ト・ノードで最後にクローズされたときに更新さ
れる。既存のキヤツシユ・ブロツクが読取りのた
め(または部分ブロツクへの書込みのために)ア
クセスされるとき、そのヘツダ内にある修正時間
が代理iノード内の時間と比較される。代理iノ
ード内の時間がキヤツシユ・ブロツク内の時間と
等しい場合、そのブロツク内のデータは有効であ
り、フアイル・システム・セマンテイツクスを保
存しながら、クライエントがそれを使うことがで
きる。代理iノード内の時間がキヤツシユ・ブロ
ツク内の時間と等しくない場合、そのブロツク内
のデータは無効であり、クライエントがそれを使
用できない。クライエントは、サーバにそのデー
タ・ブロツクに対する読取り遠隔手順コールを送
る。
好ましい実施例は、下記のようにまとめること
ができる。まず、各代理iノードは、フアイル修
正時間フイールドを有する。第二に、クライエン
ト・キヤツシユ・ブロツクは、フアイル修正時間
フイールドを有する。第三に、キヤツシユ・ブロ
ツクのフアイル修正時間が代理iノードのフアイ
ル修正時間に等しい場合にのみ、クライエント・
キヤツシユ・ブロツクが有効である。第四に、フ
アイルがまだあるクライエント・ノードでオープ
ンになつていないとき、そのクライエント・ノー
ドでフアイルがオープンされると直ちに、そのク
ライエント・ノードで代理iノードが作成され
る。
第五に、1)サーバからオープン要求があつた
ために代理iノードが作成されるとき、2)サー
バから同期モード変更要求があつたために、クラ
イエントが同期モード変更要求を受け取つたと
き、3)クライエント・ノードでクローズが行な
われたためにフアイルからのクライエント・ノー
ドでASYNCモードからREADONLY同期モード
に変わるとき、あるいは、4)クライエント・ノ
ードでクローズが行なわれたためにフアイルがそ
のクライエント・ノードでオープンではなくなる
ときの何れかの場合に、代理iノードのフアイル
修正時間フイールドにある値が割り当てられる。
クライエント・ノードでオープンが行なわれた
が、そのために代理iノードが作成されないとき
には、代理iノードのフアイル修正時間は変更さ
れないことに留意されたい。その理由は、クライ
エント・ノードでそのフアイルが既にオープンに
なつているからである。また、上記の条件3)と
4)の代りに、フアイルの各クローズが書込みの
ためのそのフアイルのオープンに対応するという
条件を使つてもよいことに留意すべきである。
代理iノードのフアイル修正時間には、上記
1)のオープン要求または上記2)の同期モード
変更要求中で、あるいは上記3)または4)でサ
ーバからクライエントに戻されるクローズ肯定応
答中でサーバが送つた値が割り当てられる。この
値は、サーバの測定した、フアイルが最後に修正
された時間である。
第六に、1)サーバからのデータ読取りまたは
クライエントのプロセスによるフアイルへの書込
みのためにそれが割り当てられるとき、または
2)上記3)または4)の状況に対応するクロー
ズが行なわれるとき、あるフアイルに対するクラ
イエント・キヤツシユ・ブロツクは、そのフアイ
ル修正時間フイールドにある値が割り当てられ
る。キヤツシユ・ブロツクのフアイル修正時間フ
イールドに割り当てられるこの値は、クライエン
ト代理iノードののフアイル修正時間フイールド
にある値である。キヤツシユ・ブロツクのフアイ
ル修正時間フイールドに値が割り当てられる上記
の条件の直後に、キヤツシユ・ブロツクと代理i
ノードのフアイル修正時間フイールドは等しくな
ることに留意されたい。
以上説明したシステムおよび方法は、クライエ
ント処理システム内のクライエント・キヤツシユ
を使つて、サーバ処理システムからクライエン
ト・ノードにフアイルを緩衝記憶するものであ
る。好ましい実施例では、サーバ・クロツクで測
定したサーバに記録された時間を用いて、クライ
エント・キヤツシユ内のデータ・ブロツクの妥当
性をクライエント処理システムで判定する。ただ
し、当業なら理解できるように、もう一つの実施
例でクライエント・キヤツシユ内のデータ・ブロ
ツクの妥当性をサーバ処理システムで判定するこ
ともできる。しかし、サーバを使つてクライエン
トのデータ・ブロツクの妥当性を追跡するその他
の実施例では、クライエントの資源よりも重要な
サーバの資源を使うことになる。また、サーバが
追跡しているクライエント・キヤツシユ内のデー
タ・ブロツクがクライエント・キヤツシユ内にも
はや存在しないこともある。
F 発明の効果 本発明を用いれば、ネツトワークにおいて遠隔
のフアイルにアクセスする時、フアイルの整合性
を保ちながら、ネツトワークのトラフイツク・オ
ーバーヘツドを軽減することができる。
【図面の簡単な説明】
第1図は、ネツトワーキング環境内で接続され
た3台の処理システムを示す概略図である。第2
図は、当技術で周知のカーネル・バツフアを用い
たスクンドアロン処理システムの概略図である。
第3図は、当技術で周知のスタンドアロン・シス
テム内のカーネル・バツフアに対する読取りのフ
ローチヤートである。第4図は、クライエント・
キヤツシユとサーバ・キヤツシユを備えた、ネツ
トワークを介してフアイルにアクセスできるよう
にネツトワーク内で接続された3台の分散処理シ
ステムを示す概略図である。第5図は、それぞれ
READONLY同期モードまたはASYNC同期モー
ドにある、クライエント・キヤツシユおよびサー
バ・キヤツシユを備えたクライエント.ノードと
サーバ・ノードの概略図である。第6図は、分散
ネツトワーク環境内でクライエント・キヤツシユ
とサーバ・キヤツシユの使用を管理するために使
われる3種の同期モードの説明図である。第7図
は、3種の同期モード間の移行を示す説明図であ
る。第8図は、FULLSYNCHモードのサーバ・
ノードにあるフアイルにクライエントがアクセス
している所を示す概略図である。第9図は、クラ
イエント・キヤツシユが使用されるとき、および
クライエント・キヤツシユが使用されないときの
読取り中の各ステツプを示すフロー・チヤートで
ある。第10図は、クライエント・キヤツシユが
そのキヤツシユ・ブロツク内に、キヤツシユ・デ
ータ・ブロツク内のデータの妥当性を判定するた
めの代理iノードと時間ビツトを有する、分散ネ
ツトワーキング環境を示す概略図である。第11
図は、クライエント・ノードにあるフアイルのオ
ープン、読取り、およびクローズ中の本発明の各
ステツプを示すフロー・チヤートである。 A……サーバ・ノード、B,C……クライエン
ト・ノード、2……デイスク、3……ネツトワー
ク、4……アプリケーシヨン・プログラム、5…
…フアイル、10……処理システム、11……オ
ペレーテイング・システム、12……ローカル・
キヤツシユ、13,131−13N,231−2
3N……ローカル・プロセス、14……ユーザ・
アドレス空間。

Claims (1)

  1. 【特許請求の範囲】 1 サーバ・データ処理システムと複数のクライ
    エント・データ処理システムとが通信リンクによ
    つて接続され、サーバ・ノードの前記サーバ・デ
    ータ処理システムに常駐するフアイルからクライ
    エント・ノードの前記クライエント・データ処理
    システムのクライエント・キヤツシユへキヤツシ
    ユされた複数のデータブロツクに常駐するデータ
    の有効性を決定する遠隔フアイル・アクセス装置
    において、 前記サーバ・データ処理システムに含まれ、前
    記サーバ・データ処理システムの前記フアイルが
    修正されるたびに更新される前記フアイルの最終
    修正時間T2を記録する第1の記録手段と、 前記クライエント・データ処理システムに含ま
    れ、前記フアイルが前記クライエント・データ処
    理システムでクローズされると、前記クライエン
    ト・キヤツシユのためにキヤツシユされた各デー
    タブロツクに対して前記サーバ・データ処理シス
    テムの送出手段から送出される前記最終修正時間
    T2を保管する保管手段と、 前記クライエント・データ処理システムに含ま
    れ、クローズされた前記フアイルが、前記クライ
    エントノードでその後再オープンされると更新さ
    れる前記フアイルの最終修正時間T3を記録する
    第2の記録手段と、 前記クライエント・データ処理システムに含ま
    れ、前記保管手段に保管された前記最終修正時間
    T2と前記第2の記録手段に記録された前記最終
    修正時間T3とを比較して、前記データブロツク
    の有効性を決定する有効性決定手段とを備えたこ
    とを特徴とするる遠隔フアイル・アクセス装置。
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 JPS63201845A (ja) 1988-08-19
JPH0561662B2 true 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)

Families Citing this family (295)

* 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
US5175851A (en) * 1989-05-15 1992-12-29 International Business Machines Corporation System and method for controlling client machine access to a portion of a file with a variable length
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
ATE179811T1 (de) * 1989-09-08 1999-05-15 Auspex Systems Inc Betriebssystemaufbau mit mehreren verarbeitungseinheiten
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
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
JP2504218B2 (ja) * 1989-09-28 1996-06-05 日本電気株式会社 分散型デ―タ処理装置
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
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
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
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 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶分散装置および方法
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
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
DK0702815T3 (da) * 1993-06-03 2000-12-18 Network Appliance Inc Opsætning af et filsystem til skrivning på et hvilket som helst sted
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
WO1994029795A1 (en) * 1993-06-04 1994-12-22 Network Appliance Corporation A method for providing parity in a raid sub-system using a 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 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法
JP3297966B2 (ja) * 1994-08-19 2002-07-02 日本電信電話株式会社 データアクセス方法
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
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
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
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
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
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
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
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
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
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
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
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
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
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
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
US6708221B1 (en) * 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer 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
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
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
WO1998027506A2 (en) * 1996-12-17 1998-06-25 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
WO1999006900A2 (en) * 1997-07-30 1999-02-11 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
JP3561139B2 (ja) * 1998-01-27 2004-09-02 シャープ株式会社 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
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
JP3474453B2 (ja) * 1998-09-04 2003-12-08 ビスト コーポレイション ネットワークにおけるワークスペースエレメントの多数のコピーを安全に同期させる方法およびシステム
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
EP1912124B8 (en) 1999-10-14 2013-01-09 Bluearc UK Limited Apparatus and system for implementation of service functions
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
US7509420B2 (en) 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed 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
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
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
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
EP1459213B1 (en) 2001-11-15 2017-05-10 Good Technology Holdings Limited System and methods for asychronous synchronization
EP3570178B1 (en) * 2002-01-08 2020-05-27 Seven Networks, LLC 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
US20080046592A1 (en) 2002-06-26 2008-02-21 Research In Motion Limited System and Method for Pushing Information Between a Host System and a Mobile Data Communication Device
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
US7801894B1 (en) 2004-10-28 2010-09-21 Stored IQ Method and apparatus for harvesting file system metadata
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
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) * 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
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
US7324995B2 (en) * 2003-11-17 2008-01-29 Rackable Systems Inc. Method for retrieving and modifying data elements on a shared medium
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
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
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US8010082B2 (en) * 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US8510331B1 (en) 2004-10-28 2013-08-13 Storediq, Inc. System and method for a desktop agent for use in managing file systems
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
EP1828932A4 (en) * 2004-12-10 2008-03-05 Seven Networks Internat 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
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
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
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
WO2006136661A1 (en) * 2005-06-21 2006-12-28 Seven Networks International Oy Network-initiated data transfer 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
EP2021926A4 (en) 2006-05-05 2009-07-15 Hybir Inc SYSTEM FOR SAVING INCREMENTAL AND COMPLETE COMPUTER-BASED FILE FILES BASED ON THE GROUP, 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
US8805425B2 (en) * 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
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
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
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
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
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2599345B1 (en) 2010-07-26 2017-09-06 Seven Networks, LLC Distributed implementation of dynamic wireless traffic policy
EP2599280A2 (en) 2010-07-26 2013-06-05 Seven Networks, Inc. Mobile application traffic optimization
GB2497012B (en) 2010-07-26 2013-10-30 Seven Networks Inc Mobile network traffic coordination across multiple applications
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
WO2012058643A2 (en) 2010-10-29 2012-05-03 F5 Networks, Inc. System and method for on the fly protocol conversion in obtaining policy enforcement information
US8959571B2 (en) 2010-10-29 2015-02-17 F5 Networks, Inc. Automated policy builder
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
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
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
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
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
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
EP2635973A4 (en) 2010-11-01 2014-01-15 Seven Networks Inc TO THE BEHAVIOR OF A MOBILE APPLICATION AND INTERMEDIATE STORAGE TAILORED TO NETWORK CONDITIONS
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
US9325662B2 (en) 2011-01-07 2016-04-26 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
US20120271903A1 (en) 2011-04-19 2012-10-25 Michael Luna Shared resource and virtual resource management in a networked environment
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
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
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic 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
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
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
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
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
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
CN103544149B (zh) * 2012-07-09 2018-07-13 百度在线网络技术(北京)有限公司 一种访问图片的方法、系统和图片服务器
US8775631B2 (en) 2012-07-13 2014-07-08 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
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc 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
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices 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
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
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
JPS63201845A (ja) 1988-08-19
EP0278317A2 (en) 1988-08-17
EP0278317A3 (en) 1989-10-18
US4897781A (en) 1990-01-30
DE3889739D1 (de) 1994-07-07
BR8800246A (pt) 1988-08-30
DE3889739T2 (de) 1994-12-01
EP0278317B1 (en) 1994-06-01

Similar Documents

Publication Publication Date Title
JPH0561662B2 (ja)
EP0278315B1 (en) A system and method for accessing remote files in a distributed networking environment
US10503639B2 (en) Cached volumes at storage gateways
US5175852A (en) Distributed file access structure lock
CN107045530B (zh) 一种将对象存储系统实现为本地文件系统的方法
US5202971A (en) System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5113519A (en) Maintenance of file attributes in a distributed data processing system
US5835908A (en) Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
US5175851A (en) System and method for controlling client machine access to a portion of a file with a variable length
US8484161B2 (en) Live file system migration
JP3968242B2 (ja) 共有データにアクセスするための方法と装置
EP0278312B1 (en) Distributed file and record locking
US9268651B1 (en) Efficient recovery of storage gateway cached volumes
US7284041B2 (en) Method for accessing distributed file system
US9274956B1 (en) Intelligent cache eviction at storage gateways
US9559889B1 (en) Cache population optimization for storage gateways
US20100174690A1 (en) Method, Apparatus and Computer Program Product for Maintaining File System Client Directory Caches with Parallel Directory Writes
JPH07262074A (ja) キャッシュ管理方法、コンピュータ・ファイル・システム及びキャッシュ装置
JP2006164211A (ja) ストレージ管理システムと方法並びにプログラム
CN110750507B (zh) 面向dfs的全局命名空间下的持久客户端缓存方法及系统
EP0278313B1 (en) Distributed file management system
JP4327869B2 (ja) 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
JP2006351040A (ja) ノード間共用ファイル制御方法
WO2022094895A1 (en) Virtual data copy supporting garbage collection in distributed file systems
JPH06259303A (ja) 分散ファイルシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees