JP2002505468A - 故障検知用のリース - Google Patents

故障検知用のリース

Info

Publication number
JP2002505468A
JP2002505468A JP2000533812A JP2000533812A JP2002505468A JP 2002505468 A JP2002505468 A JP 2002505468A JP 2000533812 A JP2000533812 A JP 2000533812A JP 2000533812 A JP2000533812 A JP 2000533812A JP 2002505468 A JP2002505468 A JP 2002505468A
Authority
JP
Japan
Prior art keywords
server
lease
client
resource
call
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.)
Pending
Application number
JP2000533812A
Other languages
English (en)
Inventor
ジェイムズ エイチ ウォルド
アン エム ウォールラス
ロバート シェフラー
ケネス シー アール シー アーノルド
Original Assignee
サンマイクロシステムズ インコーポレーテッド
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
Priority claimed from US09/044,916 external-priority patent/US6016500A/en
Application filed by サンマイクロシステムズ インコーポレーテッド filed Critical サンマイクロシステムズ インコーポレーテッド
Publication of JP2002505468A publication Critical patent/JP2002505468A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】故障検知及びその故障リカハ゛リを実行するシステムを提供すること。 【解決手段】このシステムの使用において、クライアントは、所定時間サーハ゛により管理されるリソースを利用するために、サーハ゛からのリースをリクエストする。これに応答して、サーハ゛は、リースを許可し、クライアントは継続的にリースの更新をリクエストする。クライアントがリース更新に失敗した場合には、サーハ゛は、クライアントにエラーが発生したことを検知する。同様にサーハ゛が更新リクエストの応答に失敗した場合には、クライアントがサーハ゛にエラーが発生したことを検知する。リース確立の一部として、クライアント及びサーハ゛は、故障リカハ゛リルーチン交換し、各々の故障リカハ゛リルーチンは、他方に故障が発生したときに呼び出す。

Description

【発明の詳細な説明】
【0001】 関連出願 参考のために示すが、本出願は、1996年10月11日出願の米国特許出願No.08/72
9,421の一部継続出願である。 1998年2月26日出願の米国特許仮出願No.60/076,048、発明の名称「分散コンピ
ュータシステム」。 同日出願の米国特許出願No.09/044,923、発明の名称「記憶領域をリースする ための方法及び装置」(代理人整理番号No.06502.0011-01000)。 同日出願の米国特許出願No.09/044,838、発明の名称「分散システムにおける 委譲認証のリースに用いられる方法、装置及びプロダクト」(代理人整理番号No
.06502.0011-02000)。 同日出願の米国特許出願No.09/044,934、発明の名称「分散システムにおける グループメンバーシップのリース用の方法、装置及びプロダクト」(代理人整理
番号No.06502.0011-03000)。 同日出願の米国特許出願No.09/044,933、発明の名称「イベントに基づくシス テムにおける振るまい転送方法」(代理人整理番号no.06502.0054-00000)。 同日出願の米国特許出願No.09/044,919、発明の名称「オブジェクトの据え置 き型再構築と分散システムにおけるイベント通知用の遠隔ロード」(代理人整理
番号No.06502.0062-01000)。 同日出願の米国特許出願No.09/044,938、発明の名称「遠隔メソッド呼出用の 方法及び装置」(代理人整理番号No.06502.0102-00000)。 同日出願の米国特許出願No.09/045,652、発明の名称「遠隔メソッドを識別す るための決定論的ハッシュのための方法及びシステム」(代理人整理番号No.065
02.0103-00000)。 同日出願の米国特許出願No.09/044,790、発明の名称「分散システムにおける 遠隔オブジェクトのステータスを判断するための方法及び装置」(代理人整理番
号No.06502.0104-00000)。 同日出願の米国特許出願No.09/044,930、発明の名称「分散システムにおいて 遠隔手続コールに関連付けられた処理を実行するためのダウンロード可能なスマ
ートプロキシ」(代理人整理番号No.06502.0105-00000)。 同日出願の米国特許出願No.09/044,917、発明の名称「遠隔メソッドの停止及 び継続」(代理人整理番号No.06502.0106-00000)。 同日出願の米国特許出願No.09/044,835、発明の名称「データベースにおける マルチエントリ及びマルチテンプレートのマッチングのための方法及びシステム
」(代理人整理番号No.06502.0107-00000)。 同日出願の米国特許出願No.09/044,839、発明の名称「データベースにおける インプレイス・モディフィケーションのための方法及びシステム」(代理人整理
番号No.06502.0108)。 同日出願の米国特許出願No.09/044,945、発明の名称「データベースにおける タイプセイフ属性マッチングのための方法及びシステム」(代理人整理番号No.0
6502.0109-00000)。 同日出願の米国特許出願No.09/044,931、発明の名称「分散システムにおける ダイナミック検索サービス」(代理人整理番号No.06502.0110-00000)。 同日出願の米国特許出願No.09/044,939、発明の名称「分散型システムにおけ るデバイスとの情報通信用のダウンロード可能なコードを配信するための装置及
び方法」(代理人整理番号No.06502.0112-00000)。 同日出願の米国特許出願No.09/044,826、発明の名称「検索サービスへのアク セスを容易にするための方法及びシステム」(代理人整理番号No.06502.0109-00
000)。 同日出願の米国特許出願No.09/044,932、発明の名称「分散システムにおいて ダイナミックに情報をベリファイするための装置及び方法」(代理人整理番号No
.06502.0114-00000)。 1998年2月26日出願の米国特許出願No.09/030,840、発明の名称「ネットワーク
上におけるダイナミックな分散コンピューティングをするための方法及び装置」
。 同日出願の米国特許出願No.09/044,936、発明の名称「永続的な共有メモリ空 間のための対話型設計ツール」(代理人整理番号No.06502.0116-00000)。 同日出願の米国特許出願No.09/044,934、発明の名称「多様型トークンに基づ く制御」(代理人整理番号No.06502.0117-00000)。 同日出願の米国特許出願No.09/044,915、発明の名称「スタックに基づくアク セス制御」(代理人整理番号No.06502.0118-00000)。 同日出願の米国特許出願No.09/044,944、発明の名称「スタックに基づく安全 性要求」(代理人整理番号No.06502.0119-00000)。 同日出願の米国特許出願No.09/044,837、発明の名称「安全性要求のメソッド の指定」(代理人整理番号No.06502.0120-00000)。
【0002】 (背景技術) A.発明の属する技術分野 本発明は、データ処理システムに関し、更に詳しくは、データ処理システムに
おける故障検知及びそのリカバリに関する。
【0003】 B.関連技術の説明 完全なリソース管理は、コンピュータを効率的且つ効果的に利用するためには
重要な要素である。一般的には、リソース管理は、リクエストに応じたリソース
(例えば、メモリ)の割当と、リクエスタがもはやリソースを要求しない場合等
における適当なタイミングでのリソースの割当解除とを含む。一般的には、リソ
ースは、コンピュータ内で実行されるコンピュータ演算可能なエンティティ(例
えば、アプリケーション、プログラム、アプレット等)により参照されるデータ
を保持する。
【0004】 実際には、コンピュータ上で実行するアプリケーションがリソースを参照する
ためにシークする時に、アプリケーションが完全にそれらを参照することができ
るようにするために、コンピュータは、まず最初にリソースを割当又は指定しな
ければならない。アプリケーションがもはやリソースを参照しない時は、コンピ
ュータは、リソースを再使用するために割当解除又は再生することができる。コ
ンピュータの各リソースは、特定の"ハンドル"を有しており、これによって、リ
ソースは参照可能なのである。ハンドルは、種々の方法、例えば、アドレス、配
列インデックス、ユニーク値、ポインタ等により実装することができる。
【0005】 リソース管理は、単一コンピュータでは比較的簡単である。その理由は、リソ
ースが再生されえる時、例えば、アプリケーションがもはやそれらを参照しなく
なった場合や電源に異常が発生した場合を示すイベントが判断しやすいからであ
る。複数コンピュータを連結した分散システム用のリソース管理は、より難しい
。その理由は、種々の異なるコンピュータのアプリケーションが同一のリソース
を使用するからである。
【0006】 分散システムにおけるディスコネクトにより、不完全且つ時期尚早なリソース
の再生か、又は、リソース再生の故障が起こることがある。例えば、分散型シス
テムの異なるコンピュータ上で動作する複数アプリケーションは、他のマシン上
に配置されたリソースを参照することもできる。リソースが配置されているコン
ピュータと、それらのリソースを参照するアプリケーションとの間のコネクショ
ンが絶たれると、コンピュータは時期尚早にリソースを再生することになる。或
いは、コンピュータは、アプリケーションがリソースへのアクセスを失敗すると
、延長ピリオドになっても永久にリソースを維持することになる。
【0007】 これらの問題を解決するために、ネットワークリソースを管理するためのシス
テムが開発され、その一つが"分散型ガベージコレクション"として周知である。
分散型ガベージコレクションは、分散型システム用の言語又はランタイムシステ
ムにより提供される機能を記述し、種々のネットワークコンピュータにおいて動
作する単一又はグループのアプリケーションにより使用されるリソースを自動的
に管理する。
【0008】 一般的には、ガベージコレクションは、リソースがもはやアプリケーションの
どの部分からも参照されなくなったときに、リソースを後の使用のために解放さ
せるという概念を用いている。分散型ガベージコレクションは、分散型コンピュ
ーティングの領域にこの概念を拡張して、あらゆるコンピュータ上のアプリケー
ションが一つもリソースを参照しなくなったときにリソースを再生する。
【0009】 分散型ガベージコレクションは、割当リソースとそれらのリソースへのリファ
レンスとの間の保全性を維持しなければならない。換言すれば、ネットワークの
コンピュータ上で走行するアプリケーションがそのリソースを参照し続ける限り
、システムはリソースの解放又は割当解除を行うことを許可されていない。この
リファレンス−リソースのバインドは、"リファレンスの保全性"と称されるが、
リファレンスが参照するリソースに当該リファレンスが常にアクセスすることを
許可することを保証するものではない。例えば、ネットワーク障害によりアクセ
スが不可能となる。しかしながら、保全性は、リファレンスを使用してあらゆる
リソースへアクセスすることができるならば、リファレンスが最初に付与された
リソースと同一リソースとなることを保障する。
【0010】 ガベージコレクションを使用する分散型システムは、更に、リソースが制限時
間内に参照されない場合には、リソースを再生しなければならない。換言すれば
、システムは、"メモリリーク"に対し保障しなければならない。メモリリークは
、全てのアプリケーションがリソースに対するリファレンスを怠ったときに発生
するものであるが、例えば、いくつかのアプリケーションがそのリソースを参照
中であるという誤った判断が原因になって、システムは再使用を目的とするリソ
ースの再生に失敗する。
【0011】 リファレンスの保全性の故障及びメモリリークは、リソースを参照するアプリ
ケーションと、それらのリソースの割当・割当解除を管理するガベージコレクシ
ョンシステムとの間のディスコネクトに起因することが多い。例えば、リソース
を参照するアプリケーションと、上述のリソースを管理するガベージコレクショ
ンシステムとの間のネットワークコネクション内のディスコネクトは、ガベージ
コレクションシステムがそのリソースを再生すべきか否か・いつ再生すべきかと
いうことを判断するのを妨害する。あるいは、ガベージコレクションシステムは
、アプリケーションが所定時間内にリソースにアクセスしなかったということを
理由として、誤ってそのリソースを収集してしまうという判断をすることもある
。分散型ガベージコレクションのメカニズムを改良するために、多くの技術が利
用されており、例えば、メモリリークを発生させずにリファレンスの保全性を維
持するメカニズムを確保しようとの試みがなされている。従来のアプローチの一
つとして、参照回数を数えるという形態を利用したものがあるが、そのカウント
は、互いのリソースを参照しているアプリケーションの数を数えることによって
なされるものである。リソースのカウント数がゼロになった時にガベージコレク
ションシステムはそのリソースを再生することができる。しかしながら、このよ
うなリファレンスカウント概念による機能は、リソースが対応するリファレンス
カウンタにより生成された場合にのみ有効である。この場合におけるガベージコ
レクションシステムは、リソースのリファレンスカウントをそのリソースを参照
するアプリケーションの数が追加されるに従って増加させ、アプリケーションが
そのリソースを参照しなくなったときに減少させるというものである。
【0012】 しかしながら、リファレンスカウント概念は、とりわけ、分散型システム内で
起こり得る故障に直面しやすいという問題を引き起こす。このような故障は、リ
ソースが参照されなくなったガベージコレクションシステムを通知するメッセー
ジの配信を妨害するというコンピュータ・アプリケーションの故障又はネットワ
ークの故障という形態をとることができる。メッセージがネットワークのディス
コネクトにより配信されなかった場合には、ガベージコレクションシステムは、
いつそのリソースを再生すべきかが判断できなくなる。
【0013】 このような故障を防止するため、従来のリファレンスカウント概念は、"キー プアライブ"のメッセージを含み、それは、"ピングバック"とも称される。この 概念によれば、ネットワーク内のアプリケーションは、リソースを監視するガベ
ージコレクションシステムにメッセージを送信し、アプリケーションがまだ通信
可能であることを示す。これらのメッセージは、ガベージコレクションシステム
がリソースへの参照を抜かしてしまうのを防止する。このような"キープアライ ブ"のメッセージの受信の故障により、ガベージコレクションシステムは、リソ ースへのリファレンスカウントを減少させることができ、そのカウントがゼロに
なると、ガベージコレクションシステムはリソースを再生する。しかしながら、
このことは、ネットワークの故障に端を発した後、"キープアライブ"のメッセー
ジの受信の失敗に起因してリファレンスカウントがゼロになり、結局、時期尚早
のリソース再生という結果を招く。従って、リファレンスの保全性は確保されな
い。
【0014】 ガベージコレクションシステムにおけるリファレンスの保全性に関する問題を
解決するために、リファレンス回数を保持するだけでなく、更に、リソースを参
照するコンピュータ演算可能な各エンティティに対応する識別子を保持するとい
う他の手法が提案されている。例えば、エイ・ビレル等による"ネットワークオ ブジェクト用の分散型ガベージコレクション"(No.116デジタルシステムリサー チセンター、1993年12月15日)を参照されたい。この方法は、上述のリファレン
スカウント概念と同様の問題を有するものである。更に、この方法によれば、各
リソースを参照するコンピュータ演算可能な各エンティティ用のユニーク識別子
の追加が必要となり、これにより、分散型システム内の通信を不必要に増加させ
るオーバーヘッドを追加することになり、記憶領域の追加が必要となる(すなわ
ち、各リソースを参照するアプリケーションに対応する識別子リスト)。
【0015】 (発明の開示) 本発明によれば、リファレンスの保全性は、所定ピリオドの間、リソースをリ
ースすることにより、コスト高を招くメモリリークを起こすことなく保障される
。その間、分散型システム内の集合、例えば、リソースへのリファレンスを管理
するアプリケーション、そのリソースを管理するガベージコレクションシステム
等がそのリソースを承認すると、そのリソースへのリファレンスが保障される。
リースピリオドの終わりには、リソースへのリファレンスを継続する保障がなく
なり、ガベージコレクションシステムはリソースを再生することが可能になる。
リソースへのリファレンスを保持するアプリケーションとリソースを管理するガ
ベージコレクションシステムとが保障且つ制限されたリースピリオドを承認する
ため、両者は、リース及び保障がいつ終了するかを認識することができる。これ
により、リファレンスのリース期間内においては、リファレンスの保全性が保障
され、ネットワークエラーによるリソース解放の失敗の原因となることが回避さ
れる。
【0016】 本発明に係る他の実施の形態においては、リーステクニックは、故障検知及び
そのリカバリに用いられる。故障検知用としてリースを使用する場合には、クラ
イアントは、サーバからのリースを要求し、そのリースが許可された後に、クラ
イアントは、サーバにより管理されるリソースに関する種々の処理を実行する。
リースが終了しかけると、クライアントはリースを更新する。何らかの原因で、
この更新が失敗するとすれば、その原因は、サーバにエラーが起こったか又はク
ライアントサーバ間でデータを転送する通信メカニズムにエラーが起こったかの
いずれかによるものである。更に、クライアントがリースを更新することなく又
はクライアントが明示的にリースのキャンセルをリクエストすることなく、リー
スが終了した場合には、サーバは、クライアント又は通信メカニズムのいずれか
にエラーが起こったと認識する。この場合には、サーバがエラーを検知している
【0017】 故障検知に加えて、他の実施形態は、更に故障リカバリをも提供する。リース
の確立の間、クライアントはサーバに故障リカバリルーチンを提供し、同様に、
サーバはクライアントに故障リカバリルーチンを提供する。従って、故障検知に
際しては、クライアント及びサーバの両者は、それぞれ、他方の故障リカバリル
ーチンを呼び出して、互いに故障リカバリを実行する。故障リカバリを実行した
後、クライアントとサーバとの両者は、その障害発生前の状態になる。すなわち
、クライアントとサーバは、エラーが発生するとリソースに対してなされた全て
の変更を元に戻す等して移行すべき状態を決定し、予め状況を切り抜ける。
【0018】 (発明を実施するための最良の形態) 以下に、本発明の一実施の形態の詳細について添付図面を参照して説明する。
図面及び以下の説明において同一又は略同一の部材を参照する場合には、全体を
通してできる限り同一の符号を用いる。 本発明は、従来の分散型プロセッシングシステムのアーキテクチャに基づいて
構成されたコンピュータに実装することができる。しかしながら、本発明の実装
するためのアーキテクチャ及び手順は、従来のものとは異なる。その理由は、そ
のアーキテクチャ及び手順がリファレンスの保全性を保障するとともに、メモリ
リークを排除するからである。
【0019】A.概要 分散型プロセッシングシステム内の各コンピュータに配置されたメソッド呼出
(MI)コンポーネントは、本発明に係る分散型ガベージコレクション概念を実装
するものである。MIコンポーネントは、数多くのソフトウエアモジュールからな
り、これらのモジュールは、できればJAVATMプログラミング言語によって記述さ
れたものがよい。
【0020】 一般的に、分散型プロセッシングシステム内のアプリケーションが、他のコー
ルに対する返り値としての名前の検索により、或いは、他の方法によって、分散
型リソースへのリファレンスを取得し、当該リソースへアクセスするためにシー
クするたびに、そのアプリケーションは、リソース又はそのリソースを管理する
MIコンポーネントに対してコールする。そのMIコンポーネントは、管理用MIコン
ポーネントと称され、そのリソースへの処理中のリファレンスの数を見失わない
ように監視する。リソースへのリファレンスの数がゼロになると、管理用MIコン
ポーネントは、リソースを再生することができる。リソースへのリファレンス数
は、一般的に、"リファレンスカウント"と称され、リファレンスカウントを増加
させるコールは、"ダーティーコール"と称される。
【0021】 アプリケーションが分散型リソースをもはや要求しない場合には、リソース又
は管理用MIコンポーネントに異なったコールを送信する。このコールを受信する
と、管理用MIコンポーネントは、そのリソース用のリファレンスカウントを減少
させる。リファレンスをドロップさせるこのコールは、"クリーンコール"と称さ
れる。
【0022】 本発明の一実施形態によれば、ダーティーコールは、リソースへのリファレン
スのために、リクエストされたタイムインターバル及びコールされたリースピリ
オドを含むことができる。ダーティーコールを受信すると、管理用MIコンポーネ
ントは、リースが許可されるピリオドを示すリターンコールを送信する。従って
、管理用MIコンポーネントは、処理中のリファレンスの数と同様に、それらのリ
ファレンスのためのリースピリオドを監視する。その結果、リソースへのリファ
レンスカウントがゼロになったとき、又は、リソースへのリースピリオドが終了
したときに、管理用MIコンポーネントは、そのリソースを再生することができる
【0023】B.手順 MIコンポーネント内のアプリケーションコールプロセッサは、図1に示したア
プリケーションコール手順100を実行する。管理用MIコンポーネント内のサー
バコールプロセッサは、図2から図4に示した手順200、300、400の各
工程を実行する。管理用MIコンポーネントのガベージコレクタは、従来の手順を
実行してサーバコールプロセッサからの命令に基づいて既にリファレンスにバイ
ンドされたリソースを再生する。ガベージコレクタの従来の手順については説明
を省略する。
【0024】 1.アプリケーションコールプロセッサ 図1は、分散型プロセッシングシステム内に配置された同一又は他のMIコンポ
ーネントにより管理されるリソースへのリファレンス用のアプリケーションリク
エストを処理するために、MIコンポーネントのアプリケーションコールプロセッ
サが用いる手順100のフローチャートを示したものである。
【0025】 アプリケーションがリソースへのリファレンスを取得した後、アプリケーショ
ンコールプロセッサは、ダーティーコールを送信するが、このダーティーコール
は、そのリソース用の管理用MIコンポーネントに対するリソースへのリファレン
ス、リクエストされたリースピリオドを含む(ステップ110)。ダーティーコ
ールは、リソース又は管理用MIコンポーネントに対するものであればよい。
【0026】 アプリケーションコールプロセッサは、次に、管理用MIコンポーネントコンポ
ーネントからのリターンコールを待ち、これを受信する(ステップ120)。リ
ターンコールは、許可されたリースピリオドを含み、この間、管理用MIコンポー
ネントは、ダーティーコールのリファレンスが、そのリソースへバインドされる
のを保障する。換言すれば、管理用MIコンポーネントは、許可ピリオドにおいて
は、ダーティーコールのリファレンスに対応するリソースを収集しないことに応
じる。管理用MIコンポーネントが許可ピリオドを配信しない場合又はリース用の
リクエストを拒否した場合には、アプリケーションコールプロセッサは、許可ピ
リオドを受信するまで他のダーティーコールを送信しなければならない。
【0027】 アプリケーションコールプロセッサは、アプリケーションによるリファレンス
の使用を監視し、リファレンスがもはや必要ではなくなったことをアプリケーシ
ョンがアプリケーションコールプロセッサに明示的に通知する場合又はアプリケ
ーションコールプロセッサがこの決定をそれ自身で行う場合に(ステップ130
)、アプリケーションコールプロセッサは、クリーンコールを管理用MIコンポー
ネントへ送信する(ステップ140)。ダーティーコールに用いられる方法と同
様の方法で、クリーンコールは、リファレンスされたリソースに対して行うこと
ができ、管理用MIコンポーネントがクリーンコールを処理することになる。その
後に、アプリケーションコールプロセッサは、リファレンスのリストからアプリ
ケーションにより用いられているリファレンスを削除する(ステップ150)。
【0028】 アプリケーションがリファレンスを終えていない場合には(ステップ130)
、アプリケーションコールプロセッサは、リファレンスに対する許可ピリオドが
終了しかけているか否かを判断し(ステップ160)、アプリケーションコール
プロセッサは、ステップ110から120までを繰り返し実行して、アプリケー
ションのかわりに管理用MIコンポーネントにより、リソースへのリファレンスが
管理されることを確保する。
【0029】2.サーバコールプロセッサ MIコンポーネントのサーバコールプロセッサは、3つの主要手順、すなわち、
(1)ダーティーコールの処理、(2)到来するクリーンコールの処理、(3)
適当な時期にリソースを再生するためにガベージコレクションサイクルの初期化
を実行する。
【0030】 (i)ダーティーコール 図2は、リソースをリファレンスするリクエスト、例えば、MIソフトウエアコ
ンポーネントが管理するダーティーコールを処理するために、MIコンポーネント
のサーバコールプロセッサが使用する手順200のフローチャートである。これ
らのリクエストは、分散型プロセッシングシステムのMIコンポーネントのアプリ
ケーションコールプロセッサから到来し、その分散型プロセッシングシステムは
、リクエストを処理するサーバコールプロセッサと同一のMIコンポーネントのア
プリケーションコールプロセッサを含む。
【0031】 まず、サーバコールプロセッサは、ダーティーコールを受信する(ステップ2
10)。サーバコールプロセッサは、次に、受け入れ可能な許可ピリオドを決定
する(ステップ220)。許可ピリオドは、リクエストされたリースピリオド又
は他のタイムピリオドと同一でもよい。サーバコールプロセッサは、要求された
リソースの量と、同一のリソース用に前に許可された他の許可ピリオドの数とに
基づいて、適当な許可ピリオドを決定する。
【0032】 サーバコールプロセッサは、リソースが未だダーティーコールのリファレンス
に割り当てられていないと判断する場合には(ステップ230)、サーバコール
プロセッサは、要求されたリソースを割り当てる(ステップ240)。
【0033】 サーバコールプロセッサは、次に、ダーティーコールのリファレンスに対応す
るリファレンスカウントを増加し(ステップ250)、受入可能な許可ピリオド
をリファレンス−リソースのバインドに設定し(ステップ260)、許可ピリオ
ドと一緒にリターンコールをアプリケーションコールプロセッサに送信する(ス
テップ270)。このようにして、サーバコールプロセッサは、その制御下でリ
ソースへのリファレンスについて到来するダーティーコールを制御する。
【0034】 アプリケーションは、現在のリースが終了する前にダーティーコールを延長リ
クエストと一緒に送信することによってリースを延長することができる。手順2
00に示したように、リースを延長するためのリクエストは、リース用の初期化
リクエストと同様に取り扱われる。延長は、リソースがリファレンスカウントが
ゼロにならない限り、ただ単にタイムインターバルの追加によっては再生されな
いことを意味する。
【0035】 (ii)クリーンコール MIコンポーネントのサーバコールプロセッサは、アプリケーションコールプロ
セッサから到来するクリーンコールをも処理する。分散型プロセッシングシステ
ム内のアプリケーションがもはやリソースへのリファレンスを要求しなくなった
場合には、アプリケーションは、そのリファレンス用にリソースを管理するMIコ
ンポーネントに、そのリソースが再生して再使用できることを通知する。
【0036】 サーバコールプロセッサは、MIコンポーネントが管理するリソースへのリファ
レンスとクリーンコールとを受信して(ステップ310)、対応するリファレン
スカウントを減少させる(ステップ320)。クリーンコールは、リソースに送
信されるが、その際、サーバコールプロセッサはリソースを監視し、コール処理
のための手順300が実行される。その後、サーバコールプロセッサは、クリー
ンコールを送信したMIコンポーネントに、受信承認としてリターンコールを送信
する。本発明の実装形態によれば、リファレンスをドロップさせるクリーンコー
ルを拒否できないが、承認しなければならない。
【0037】 (iii)ガベージコレクション サーバコールプロセッサは、リソースを再生するためにガベージコレクション
サイクルの初期化をも行う。このため、より多くのリファレンスがリソースに対
してなされていないか又はリソースへの合意済みリースピリオドが終了したかを
判断する。図4に示した手順400は、サーバコールプロセッサがガベージコレ
クションサイクルを初期化するために用いるステップのフローチャートである。
【0038】 サーバコールプロセッサは、リファレンスカウントと許可されたリースピリオ
ドとを監視し、MIコンポーネントによって管理されるリソースへのリファレンス
カウントがゼロなのか又はリファレンス用の許可ピリオドが終了したのかを判断
する(ステップ410)。どちらかの状態が存在する場合には、サーバコールプ
ロセッサは、そのリソースのガベージコレクションを初期化する(ステップ42
0)。そうでない場合には、リファレンスカウントと許可されたリースピリオド
とを監視し続ける。
【0039】C.コールフロー 図5は、分散型プロセッシングシステムのMIコンポーネントにおけるコールフ
ローを説明するための図である。管理用MIコンポーネント525は、リソース5
30へのリファレンスを監視することによりリソース530を管理する(ガベー
ジコレクト505参照)。管理用MIコンポーネント525がリソースを管理する
ため、管理用MIコンポーネント525のサーバコールプロセッサは、このコール
フロープログラムのオペレーションを実行する。
【0040】 図5は、アプリケーション510,540がそれぞれ対応するMIコンポーネン
トコンポーネント515,545を有することをも示す。各アプリケーション5
10,540は、リソース530のうちいずれかへのリファレンスを取得し、シ
ークしてリソース530のうちいずれかとのアクセスを取得し、これにより、リ
ファレンスは対応するリソースへバインドされることになる。アクセスを取得す
るために、アプリケーション510,540は、それぞれ対応するMIコンポーネ
ント515,545を呼び出し、それぞれダーティーコール551,571をMI
コンポーネント525へ送信する。MIコンポーネント515,525は、管理用
MIコンポーネント525等の他のMIコンポーネントにより管理されるリソース5
30へのアクセスを行うためにアプリケーションリクエストを処理するため、MI
コンポーネント515,545のアプリケーションコールプロセッサは、このコ
ールフロープログラムのオペレーションを実行する。
【0041】 ダーティーコール551,571に応答して、管理用MIコンポーネント525
は、それぞれリターンコール552,572を、それぞれMIコンポーネント51
5,545に送信する。ダーティーコールは、ダーティーコール551,571
のリファレンス用に許可されたリースピリオドを含む。
【0042】 同様に、図5は、更に、クリーンコール561,581をそれぞれ管理用MIコ
ンポーネント525に送信するMIコンポーネント515,545を示す。クリー
ンコール561,581は、アプリケーション510,540がそれぞれクリー
ンコール561,581内で指定されたリソースへのアクセスをもはや要求しな
いということを、管理用MIコンポーネント525に対して通知する。管理用MIコ
ンポーネント525は、クリーンコール561,581に対してそれぞれリター
ンコール562,582を用いて応答する。リターンコール562,582は、
リターンコール552,572とは異なり、MIコンポーネント525が受信した
クリーンコール561,581の単なる受信承認に過ぎない。
【0043】 アプリケーション510,540は、両者とも、同一リソースへのアクセスを
要求することができる。例えば、アプリケーション510は、"リソース(1)"へ のアクセスをリクエストすることができるが、一方でアプリケーション540が
、以前にそのリソースへのアクセスが許可されていたということがある。MIコン
ポーネント525は、一致したリースピリオドの間、アプリケーション510,
540の両者に対して有効なリソースを作ることにより、この状況を処理する。
従って、MIコンポーネント525は、アプリケーション510,540の両者が
リソースへのリファレンスをドロップさせるか、最新の一致したピリオドが終了
するかのいずれかが発生するまでは、"リソース(1)"を再生するためにガベージ コレクションサイクルを初期化しないことになる。
【0044】 同一のリソースへ同時にアクセスするために複数のアプリケーションを許可す
ることによって、本発明は、リソースへのリファレンスをドロップさせる管理用
MIコンポーネントへクリーンコールを送信した後に、アプリケーションがリソー
スへアクセスすることをも許可する。これが発生するのは、リソースが依然とし
て他のアプリケーションによって参照されているか、又は、リファレンスのリー
スがまだ終了していないために管理用MIコンポーネント525がまだリソースを
再生していないからである。しかしながら、リソースは、より多くのアプリケー
ションがどれもリースを保持しない場合又は最後のリースが終了した場合に、制
限ピリオドの後、再生されることになる。
【0045】D.MIコンポーネント 図6は、本発明の一実施形態に係るMIコンポーネント600を構成するモジュ
ールのブロック図である。MIコンポーネント600は、監視されるリファレンス
用のリファレンスコンポーネント605、アプリケーションコールプロセッサ6
40、サーバコールプロセッサ650及びガベージコレクタ660を含むことが
できる。
【0046】 リファレンスコンポーネント605は、リファレンスデータポーション610
、リファレンス620、許可ピリオドレジスタ630を備えたテーブル又はこれ
と同様の構造体から構成される。MIコンポーネント600は、対応するリファレ
ンスデータポーション610内で指定された各リファレンス用にリファレンスカ
ウント620と許可ピリオド630とを使用して、対応するリソースを再生する
には、いつガベージコレクタ660を初期化すればよいかを判断する。
【0047】 アプリケーションコールプロセッサ640は、ソフトウエアモジュールであり
、図1に示した手順100の各ステップを実行する。サーバコールプロセッサ6
50は、ソフトウエアモジュールであり、図2から図4に示した手順200,3
00,400の各ステップを実行する。ガベージコレクタ660は、ソフトウエ
アモジュールであり、上述したようにサーバコールプロセッサ650からの命令
に応じてリソースを再生する。
【0048】E.分散型プロセッシングシステム 図7は、本発明を実装するのに使用可能な分散型プロセッシングシステム50
を示したものである。図7においては、分散型プロセッシングシステム50は、
3つの独立した異種のプラットフォーム100,200,300を含み、これら
は、ネットワーク雲55によって表されるネットワークコンフィギュレーション
内で連結されている。図7の雲55により表されるネットワークコンフィギュレ
ーションの構成及びプロトコルは、プラットフォーム700,800,900の
間での情報通信が可能である限り余り重要ではない。加えて、これらの3つのプ
ラットフォームは、説明のために例示したものであるため、本発明におけるプラ
ットフォームの使用を特定数に限定するものではない。更に、本発明については
、専用のネットワークアーキテクチャは重要ではない。例えば、本発明に従って
使用可能な他のネットワークアーキテクチャとしては、あらゆるプラットフォー
ムが連結可能なネットワークコントローラのような単一のプラットフォームを使
用するものでもよい。
【0049】 分散型プロセッシングシステム50の実装においては、プラットフォーム70
0,800,900は、各々、プロセッサ710,810,910をそれぞれ備
えるほか、メモリ750,850,950をそれぞれ備える。各プロセッサ71
0,810,910の各々には、アプリケーション720,820,920、オ
ペレーティングシステム740,840,940、MIコンポーネント730,8
30,930がそれぞれ含まれる。
【0050】 アプリケーション720,820,920は、プログラムにより構成でき、こ
のプログラムは、予め作成されたものを本発明に従って作動するように修正され
たものか又は本発明によって得られるサービスの効果を得るべく専用として作成
されたものであればよい。
【0051】 MIコンポーネント730,830,930は、図6を参照して説明したように
MIコンポーネント600に対応している。
【0052】 オペレーティングシステム70,840,940は、それぞれ対応するプロセ
ッサ710,810,910に連結された標準オペレーティングシステムである
。プラットフォーム700,800,900は、異種でもよい。例えば、プラッ
トフォーム700は、プロセッサ710としてサンマイクロシステムズ インコ
ーポレーテッド製のUltraSparc(登録商標)マイクロプロセッサを備え、Solari
s(登録商標)オペレーティングシステム740を使用している。プラットフォ ーム800は、プロセッサ810としてシリコングラフィックス インコーポレ
ーテッド製のMIPSマイクロプロセッサを備え、Unixオペレーティングシステム8
40を使用している。そして、プラットフォーム900は、プロセッサ910と
してインテル コーポレーテッド製のペンティアムマイクロプロセッサを備え、
マイクロソフトウインドウズ95オペレーティングシステム940を使用してい
る。本発明は、これに限定されるものではなく、異種のプラットフォームを適用
することも可能である。
【0053】 Sun、Sun Microsystems、Solaris、Java、the SunLogoは、米国又はその他の 国におけるサンマイクロシステムズ インコーポレーテッドの商標又は登録商標
である。UltraSparc及び他の全てのSPARC商標は、米国又はその他の国において ライセンス契約の下で使用されており、スパークインターナショナル インコー
ポレーテッドの商標である。SPARC商標を付した製品は、サンマイクロシステム ズ インコーポレーテッドにより開発されたアーキテクチャに基づいたものであ
る。
【0054】 メモリ750,850,950は種々の機能、例えば、関連付けられたプラッ
トフォーム用の全体の記憶領域を提供する。他の機能は、各プロセッサ710,
810,910による実行前に、アプリケーション720,820,920、MI
コンポーネント730,830,930及びオペレーティングシステム720,
840,940を記憶することである。加えて、メモリ750,850,950
の各部分は、ネットワーク50の全プラットフォーム700,800,900に
有効な共有メモリからなる。
【0055】E.メソッド呼出サービス 本発明はクライアント/サーバモデルを使用して実装することができる。クラ
イアントは、ダーティーコール、クリーンコール等のリクエストを生成し、サー
バはリクエストに対して応答を返す。
【0056】 図7に示したMIコンポーネント730,830,930の各々は、クライアン
トコンポーネントとサーバコンポーネントの両者を含む。図8は、クライアント
プラットフォーム1000及びサーバプラットフォーム1100のブロック図で
あり、図7に示したプラットフォーム700,800,900のうちいずれか2
つに適用される。
【0057】 プラットフォーム1000,1100は、それぞれメモリ1050,1150
、プロセッサ1010,1110を保持する。プラットフォーム1000,11
00に含まれる要素は、図7を参照して説明した要素と同様の手法で機能する。
この例においては、プロセッサ1010は、クライアントアプリケーション10
20を実行し、プロセッサ1110は、サーバアプリケーション1120を実行
する。プロセッサ1010,1110は、更に、それぞれオペレーティングシス
テム1040,1140及びMIコンポーネント1030,1130を実行する。
【0058】 MIコンポーネント1030,1130は、各々、サーバコールプロセッサ10
31,1131、アプリケーションコールプロセッサ1032,1132、ガベ
ージコレクタ1033,1133を含む。MIコンポーネント1030,1130
は、その各々が監視する各リファレンスとして、リファレンスデータポーション
1034,1134、リファレンスカウント1035,1135、許可ピリオド
レジスタ1036,1136を含むリファレンスコンポーネントをも含む。
【0059】 アプリケーションコールプロセッサ1032,1132は、それぞれクライア
ントサービスを象徴し、これらの各々は、サーバサービスを象徴するサーバコー
ルプロセッサ1031,1131の各々と情報通信を行う。プラットフォーム1
000,1100は、サーバコールプロセッサ、アプリケーションコールプロセ
ッサ、ガベージコレクタ、リファレンスコンポーネントを保持しているため、プ
ラットフォームは、クライアント又はサーバのいずれかとして動作可能である。
【0060】 しかしながら、問題を解決するためには、プラットフォーム1000はクライ
アントプラットフォームと呼ばれ、プラットフォーム1100はサーバプラット
フォームと呼ばれる。この例においては、クライアントアプリケーション102
0は、分散型リソースへのリファレンスを取得するとともにMIコンポーネント1
030を使用してサーバプラットフォーム1100のMIコンポーネントにより管
理されるリソースへダーティーコールを送信する。
【0061】 更に、サーバプラットフォーム1100は、サーバアプリケーション1120
を実行することができる。サーバアプリケーション1120は、MIコンポーネン
ト1130を使用してダーティーコールを送信することもでき、このダーティー
コールは、ダーティーコールのリソースがMIコンポーネント1130により管理
される場合に、MIコンポーネント1130によって処理される。
【0062】 従って、クライアントプラットフォーム1000のMIコンポーネント1030
用のサーバコールプロセッサ1031、ガベージコレクタ1033及びリファレ
ンスカウンタ1035は、アクティブではなく、図8においては陰を付けて表示
されている。同様に、サーバプラットフォーム1100のMIコンポーネント11
30のアプリケーションコールプロセッサ1132も休止中であるため陰を付し
て表示されている。
【0063】 クライアントアプリケーション1020がリソースに対応するリファレンスを
取得する場合には、アプリケーションコールプロセッサ1032は、ダーティー
コールを送信し、サーバコールプロセッサ1131がこれを受信する。ダーティ
ーコールは、リクエストされたリースピリオドを含む。サーバコールプロセッサ
1131は、ダーティーコール内のリファレンス用にリファレンスカウント11
35を増加し、許可ピリオドを決定する。これに応答して、サーバコールプロセ
ッサ1131は、リターンコールを許可ピリオドとともに、アプリケーションコ
ールプロセッサ1030へ送信する。アプリケーションコールプロセッサ103
2は、許可ピリオドを使用して記録された許可ピリオド1035を更新し、いつ
ダーティーコールのリファレンスに対応するリソースを再生するかを決定する。
【0064】 サーバコールプロセッサ1131は、更に、それが管理するリソースへのリフ
ァレンスに対応するリファレンスカウントと許可ピリオドとを監視する。リファ
レンスカウント1135のうちの一つがゼロになるか、又は、リファレンス用の
許可ピリオド1135が終了するかのいずれか最初のイベントが起こった時に、
サーバコールプロセッサ1131は、ガベージコレクタ1133を初期化して、
ゼロのリファレンスカウント又は終了した許可ピリオドを保持するリファレンス
に対応するリソースを再生することができる。
【0065】 本発明の一実施形態によるリースされたリファレンスの概念は、プラットフォ
ーム1000,1100のプロトコル上でクロックの同期を必要としない。その
概念は、それらが同等の増加周期であることを要求するに過ぎない。リースは、
特定のタイミングでは終了しないが、特定のタイムインターバルで終了するもの
である。そのインターバルがほぼ正確に一致している限り、プラットフォーム1
000,1100は、許可されたリースピリオドについてほぼ正確に一致する。
更に、コンピュータ周期におけるリースタイミングは比較的長いため、クロック
速度のモニタ差異は殆どないか又は影響がない。
【0066】 ダーティーコールの転送時間は、プロトコルに影響を及ぼす。MIコンポーネン
ト1030がリファレンス用のリースを保持し、リースが終了して更新リクエス
トをする直前までウエイトするとすれば、リースは、MIコンポーネント1130
がリクエストを受信する前に終了する。そうだとすれば、MIコンポーネント11
30は、更新リクエストを受信する前にリソースを再生することができる。従っ
て、ダーティーコールを送信する場合には、リソースへのリースピリオドが終了
する前に、更新されたダーティーコールが作成されるようにするために、送信元
では、ダーティーコールのリソースを処理するプラットフォームへの転送時間を
考慮に入れて、リクエストされたリースピリオドにタイムファクターを追加すべ
きである。
【0067】F.結論 本発明による分散型ガベージコレクションの概念によれば、分散型プロセッシ
ングシステムのリソースへのリファレンスに対応する許可されたリースピリオド
を配信することにより、リファレンスの保全性が保障され、メモリリークが排除
される。具体的には、許可されたリースピリオドが終了したときに、リソースへ
のリファレンスを付すことによってなされる。その後、リソースは収集される。
リソースは、分散型プロセッシングシステムのプロセスによってリファレンスさ
れなくなった場合に、リソース用にリファレンスに割り当てられたカウンタへの
リファレンスとともに収集することもできる。
【0068】本発明の変形例 上述したリーステクニックは、ガベージコレクションに関するものである。し
かしながら、リースを用いた本発明の他の実施形態によっても故障検知及びエラ
ーリカバリを行うことができる。
【0069】 例えば、ハートビートやタイムアウト等の多くのシステムがクライアントサー
バ環境内の故障検知に使用されている。ハートビートを使用することにより、ク
ライアントは、クライアントが生きていることを示すメッセージを定期的なイン
ターバルでサーバへ送信する。インターバルのうち、サーバがメッセージを受信
しない場合には、サーバは、クライアントか又はクライアントサーバ間でデータ
転送を行う情報通信メカニズムか(すなわち、ネットワーク)のいずれかに故障
が発生したこと認識する。タイムアウトを使用することにより、所定の時間長さ
が設定され、サーバがそのタイムピリオドの間にクライアントから何の情報も受
信しない場合には、サーバは、クライアントか又は情報通信メカニズムかに故障
が発生したことを認識する。
【0070】 これらの従来のシステムは、故障発生を適切に示すが、クライアント及びサー
バの両者は、故障後のシステムの状態を認識していない状態のままにされる。例
えば、クライアントがプログラムでサーバがファイルシステムマネージャである
場合に、クライアントは、書込オペレーションがサーバにより管理される特定の
ファイル上で実行されるよう要求することができる。従来の故障検知システムは
、それが発生したときに故障を検知するものではあるが、クライアントは、故障
が発生したのがファイル上で書込オペレーションが実行される前なのか後なのか
を認識しない。これではクライアントはシステムの状態を認識することができな
い。
【0071】 本発明に係る他の実施形態は、この問題を故障検知及びそのリカバリ用のリー
ステクニックを用いることにより解決するものである。故障検知用にリースを使
用する場合には、クライアントは、サーバからのリースをリクエストすると共に
、許可されたリースピリオドの間、サーバによって管理されるリソースに関する
種々の処理を実行する。リースが終了しかけると、クライアントはリースを更新
する。何らかの理由で更新故障が起こるとすれば、それは、サーバに故障が発生
したか又は情報通信メカニズムに故障が発生したかによる。何れの場合もクライ
アントは故障を検知している。サーバ側では、クライアントがリースを更新する
ことなく又は明示的なキャンセルを実行することなくリースが終了する場合には
、サーバは、クライアント又は情報通信メカニズムのいずれかに故障があったこ
とを認識し、サーバが故障を検知することになる。
【0072】 故障検知の際には、クライアント及びサーバは、故障を切り抜けた状態に準ず
る状態へ進行することによりリカバリを実行する。すなわち、クライアントとサ
ーバは、故障の発生又は検知の際に進もうとする状態を飛び越える。例えば、上
述したファイルシステムの例によれば、クライアント及びサーバは、故障が検知
されると、その障害を飛び越えてロールバックしようとする。"ロールバック"と
は、クライアント、サーバ及びファイル等の関連するエンティティを故障発生前
の状態に戻すことをいう。従って、この例では、サーバが既に書込オペレーショ
ンを実行した後だとすると、サーバは書込オペレーションが行われる直前の状態
にファイルをリストアし、クライアントは、故障検知の後、書込オペレーション
が実行されなかったと認識することになる。そのため、クライアントはその処理
を継続することができる。
【0073】 あるいは、クライアント及びサーバは、もっと前にロールバックすることもで
きる。例えば、クライアント及びサーバは、ファイル操作の間にエラーが発生す
る場合には常にこれを切り抜けることができ、そのロールバックにより、クライ
アント及びサーバは、クライアントがリースを保持する前(すなわち、ファイル
が生成される前)の状態へ戻される。あるいは、ロールバックにより、ファイル
操作中の所定のチェックポイントへ戻されるようにしてもよい。故障後システム
状態を決定するためのクライアントとサーバとの間のこの事前切り抜けは、種々
の方法で実行できるが、その方法には、ハンドシェーク、予め指定されたファイ
ルの読出が含まれる。あるいは、この事前切り抜けは、クライアント及びサーバ
がディベロプメントタイム中における単なる命令により所定の故障後システム状
態へ移行することにより行うようにしてもよい。
【0074】 加えて、リースの確立の間、クライアントはサーバに故障リカバリルーチンを
提供し、同様に、サーバはクライアントに故障リカバリルーチンを提供する。従
って、故障検知に際しては、クライアント及びサーバの両者は、それぞれ、他方
の故障リカバリルーチンを呼び出して、互いに故障リカバリを実行する。この状
況で、サーバに故障が起こると、クライアントが故障を検知し、クライアントが
サーバのリカバリルーチンを呼び出し、そのリカバリルーチンがサーバ上でリカ
バリを実行する。例えば、リカバリルーチンがサーバをリスタートさせて、シス
テム管理者にメッセージを送信することができる。同様に、クライアントに故障
が起こると、サーバは、クライアントのリカバリルーチンを呼び出し、クライア
ント上で故障リカバリを実行する。
【0075】 クライアント及びサーバが互いにリカバリしあうため、システム管理は、分散
型システムで行われる。すなわち、従来のシステムで採用していたような、シス
テム管理を実行する中央管理者のかわりに、故障検知及びそのリカバリのために
リーステクニックを使用することにより、当該他の実施形態は、システム管理処
理を分散させる。そのため、クライアントはサーバ上でリカバリを実行すること
ができ、サーバはそのクライアント上でリカバリを実行することができる。
【0076】 他の実施形態は、あらゆるクライアントサーバ関係、例えば、ネットワークを
介して情報通信する独立のマシン上にクライアント及びサーバが配置される分散
型システムにおけるオペレーションに用いることができる。このような他の実施
形態による使用に好適な分散型システムとしては、審査に係属中の米国特許出願
No. 、発明の名称「分散型システムにおけるダイナミック検索サービス 」において開示された分散型システムが典型的である。しかしながら、より明確
にする目的で、以下に、補助記憶装置上の記憶ロケーションをリースするファイ
ルシステムマネージャであるサーバに関して、他の実施形態を説明する。
【0077】 [記憶ロケーションのリースの概要] 記憶デバイスは、種々の論理的にグループ化されたデータを保持する多くの記
憶ロケーションを備え、それらの論理的にグループ化されたデータは、複数プロ
グラムによって利用可能である。これらの論理的グループ化は、ファイル形態、
データベース形態又はドキュメント形態をとることができる。記憶ロケーション
のリースにより、所定の予め取り決めた時間長さだけ、記憶ロケーションにアク
セス(例えば、読出及び書込アクセス)することができる。どの種類のデータが
記憶ロケーションに保持されているか又は記憶ロケーションが全くデータを保持
していないのかということは、記憶ロケーションのリースに関しては足りないこ
とである。
【0078】 コンピュータシステム又は分散型システムにおいては、多くのプログラムが記
憶ロケーションの種々のグループ内で記憶されたファイルに競合アクセスするこ
とができる。従って、記憶ロケーションのグループは、アクセスが競合する多く
のプログラムを保持することができる。リーステクニックは、このような環境で
の記憶ロケーションの使用を調整するのに使用することができる。
【0079】 ファイル用のデータを保持する記憶ロケーションのグループに対してリースを
使用する場合には、プログラム("クライアント")は、ファイルシステムマネー
ジャ("サーバ")からのリースをリクエストし、所定時間("リースピリオド")
の間、記憶ロケーションのグループへアクセスする。有効性、優先順位及び他の
要因により、サーバは、リクエストを拒むか又はリースピリオドを許可する。許
可されたリースピリオドは、リクエストされた完全なリースピリオドでもよいし
、その一部分でもよい。一旦、クライアントがリースを受信すると、クライアン
トは、リースピリオドの間、記憶ロケーションのグループにアクセスすることが
できる。
【0080】 リースピリオドをリクエストする場合には、クライアントは、正確なリースピ
リオドをリクエストすることができる。この状況では、サーバは、リースピリオ
ドが、リクエストされた完全なリースピリオドである場合にのみ、リースを許可
することができ、その一部分のときとは対照的である。
【0081】 リースがアクティブである間、クライアントは、記憶ロケーションのグループ
へのアクセスが保障され、それらに対して読出/書込のオペレーションを実行す
る。同様にして、サーバは、アクティブリースの間には、記憶ロケーションの保
全性を維持する。例えば、リースピリオドの間、サーバは、リースしたファイル
の消去・上書きをさせないほか、エンティティもリースを保持するにもかかわら
ず、リースしたファイルに対してクライアント以外のエンティティによる影響を
与えない。しかしながら、リースが終了すると、サーバは、もはや、クライアン
トへのファイルの保全性を保障することができないため、サーバは、そのファイ
ルを消去するか又はそれを変更し、あるいは、同様の処理を行う他のクライアン
トにリースを許可する。サーバにより再生されるのは、処理中のリースがない記
憶ロケーションである。
【0082】 各記憶ロケーションは、関連の限定パラメータ、例えば、アクセスパラメータ
又は特権パラメータを保持可能である。アクセスパラメータは、その記憶ロケー
ション用にサーバがサポートするアクセスのタイプを決定する。例えば、記憶ロ
ケーションは、読出アクセスオンリーと定義することができる。この場合、サー
バは、特定の記憶ロケーションに対して許可されたリース用の読出アクセスのみ
を許可する。逆に言えば、その記憶ロケーションへクライアントが書込しようと
しても、サーバにより許可されない。他の記憶ロケーションのアクセスパラメー
タとしては、書込アクセス、割当アクセス、再割当アクセス及びサブブロックア
クセス(すなわち、大きな記憶ブロック用)を含むことができる。
【0083】 関連する特権パラメータは、クライアントがリースを許可される前に保持すべ
き特権レベルを指定する。サーバは、特権パラメータを使用して競合するリース
のリクエストの優先順位を付ける。換言すれば、サーバが同一の記憶ロケーショ
ンに対して複数の処理中のリースリクエストを保持する場合には、サーバは、リ
クエストを行うクライアントの特権レベルに基づいてリクエストに優先順位を付
ける。
【0084】 当該他の実施形態はまた、同一の記憶ロケーションに対する複数の競合リース
を許可することにより、記憶ロケーションのグループへの競合アクセスをサポー
トする。例えば、特定の記憶ロケーションのパラメータが"読出"アクセスを指定
するとすれば、サーバは、その記憶ロケーションへ当該記憶ロケーションの保全
性を破壊することなく、複数の競合するリースを許可することができる。競合す
るリースは、例えば、大きいサイズのファイルへも適用されることになる。サー
バは、そのより大きいサイズのファイルの保全性に悪影響を及ぼすことなく、よ
り小さいサイズのファイルのサブブロックへリースを許可するにすぎない。
【0085】 クライアントが一旦リースをリクエストすると、サーバは、クライアントにオ
ブジェクトを返すが、そのオブジェクトは、リース時間の決定メソッド、リース
更新メソッド、リースのキャンセルメソッド及び故障リカバリ実行用メソッドを
含む。オブジェクトは、クラスのインスタンスであり、より多くのファンクショ
ンを提供するために多くの手法で拡張することができるが、ベーシッククラスは
Javaプログラミング言語により以下の表1のように定義される。
【表1】
【0086】 このクラスは、多くのメソッドを保持し、このメソッドは、期間取得メソッド
、更新メソッド及びリカバリメソッドを含む。"期間取得"メソッドは、許可され
たリースピリオドの長さをクライアントに配信する。このピリオドは、サーバに
より許可された最新のリースを表している。しかしながら、リース上で残存する
時間量の決定は、クライアントの応答性によるところとなる。
【0087】 "更新"メソッドは、クライアントがリースを更新するのを許可するものであり
、オリジナルリースリクエストを再初期化することなく、より多くの時間を要求
することができる。クライアントがリースの更新を所望する場合としては、オリ
ジナルリースが不十分になった場合(すなわち、クライアントがより多くの記憶
ロケーションの使用を要求する場合)や、一部のリースのみが許可された場合(
すなわち、要求されたリースより少ない場合)がある。
【0088】 クライアントは、更新メソッドを使用して、追加的なリースピリオドを要求す
るか又は多くの追加のリースピリオドが許可されるまで、継続的に更新メソッド
を何度も呼び出す。更新メソッドには戻り値がない。更新が許可されると、新た
なリースピリオドは、コールがなされたリースオブジェクトに反映される。サー
バがリースを更新することができない場合又は更新しようとしない場合には、そ
の原因がそのコールがなされたリースオブジェクトに示される。
【0089】 クライアントは、当該クライアントがリースをキャンセルしたいとする場合に
"キャンセル"メソッドを呼び出させる。従って、キャンセルメソッドの呼出によ
り、サーバは、記憶ロケーションを再生することができ、他のプログラムがそれ
らにアクセスすることができるようになる。リースがクライアントによる明示的
なキャンセルをすることなく終了する場合には、サーバはエラーが発生したもの
と仮定する。
【0090】 "リカバリ"メソッドは、サーバにより配信され、これにより、クライアントは
サーバ上で故障リカバリを実行することができる。例えば、このようなエラーリ
カバリは、サーバのリスタートを含む。
【0091】 参考のために示すが、記憶ロケーションのリースについては、審査に係属中の
米国特許出願No. 、発明の名称「記憶領域をリースするためのメソッド 及びシステム」に説明されている。
【0092】 [詳細な実装形態] 図9は、本発明の他の実施形態に用いて好適なデータプロセッシングシステム
9000を示したものである。データプロセッシングシステム9000は、イン
ターネット9002に連結されたコンピュータシステム9001を含む。コンピ
ュータシステム9001は、メモリ9003、補助記憶デバイス9004、中央
処理ユニット(CPU)9006、入力デバイス9008及びビデオディスプレイ 9010を含む。メモリ9003は、更に、オペレーティングシステム9012
及びクライアントとなるプログラム9014を含む。オペレーティングシステム
9012は、サーバとなるファイルシステムマネージャ9016を保持し、サー
バが補助記憶デバイス9004のファイル9018を管理する。補助記憶デバイ
ス9004は、JavaTMスペース9019も含む。クライアント9014は、サー
バ9016からのリースをリクエストすることによって一又は複数のファイル9
018へのアクセスをリクエストする。これに応えて、サーバ9016は、後述
するように、リースの許可又は拒否のいずれかを選択することができる。
【0093】 Javaスペース9019は、オブジェクトをストアするためにデータプロセッシ
ングシステム9000のプログラムにより使用されるオブジェクトの貯蔵箇所で
ある。プログラムは、Javaスペース9019を使用して、オブジェクトをネット
ワーク上の他のデバイスとアクセス可能とするとともに、永続的にこれらのオブ
ジェクトをストアする。参考のために示すが、Javaスペースについては、1997年
11月17日に本件出願人により出願された審査に係属中の米国特許出願番号No.08/
971,529、発明の名称「多様型エントリ及びエントリマッチングを使用したデー タベースシステム」に説明されている。当業者にとって周知であるように、コン
ピュータ9000は、追加の又は異なるコンポーネントを保持するものでもよい
【0094】 上述した変形例の要旨は、メモリ9003に記憶させたものとして説明したが
、いわゆる当業者にとっては、これらの要旨を他のコンピュータ読取可能な媒体
、例えば、補助記憶装置(ハードディスク、フロッピーディスク、コンパクトデ
ィスク・読出オンリメモリ);インターネット9002からの伝送波;又はラン
ダムアクセスメモリや読出オンリメモリ等の他の媒体、に記憶させても、又は、
これらから読み出してもよいことは周知である。更に、いわゆる当業者にとって
は、他のデータ形態、例えば、データベース、スプレッドシート、ドキュメント
等の形態を補助記憶デバイスにおけるリース用に使用可能であることは周知であ
る。
【0095】 図10は、クライアントがサーバからのリースをリクエストする場合に当該ク
ライアントによって実行されるステップのフローチャートを示したものである。
クライアントにより実行される第一のステップは、サーバに対してリースのリク
エストを送信することである(ステップ10002)。クライアントによって実
行される最初のステップは、リースのリクエストをサーバに送信することである
(ステップ1002)。このリクエストは、多くのパラメータを伴うファンクシ
ョンコールであり、(1)クライアントがリースしようとしているリクエストされ た記憶ロケーション、(2)所望のリースピリオド、(3)正確なリースインジケータ
、(4)クライアントが所望するアクセスタイプ、(5)クライアントの特権、及び、
(6)リカバリメソッドを保持するオブジェクトを含む。このメソッドは、クライ アント用にエラーリカバリを実行するためのコードを保持する。
【0096】 リクエストされた記憶ロケーションは、リースされるべき記憶ロケーションの
表示を保持する。所望のリースピリオドは、クライアントが記憶ロケーションを
利用しようと欲する時間長さを保持する。正確なリースリクエストは、正確なリ
ースリクエストがなされているか又はリクエストされた時間よりも短いリースで
十分であるかの表示を保持する。リクエストされたアクセスタイプは、クライア
ントがリクエストした記憶ロケーションアクセスのタイプを表示する。アクセス
タイプは、読出アクセス、ライトアクセス、割当アクセス、再割当アクセス、サ
ブブロックアクセス(すなわち、大きなサイズの記憶ブロック用)を含む。特権
フィールドは、ユーザ又はクライアントの特権レベルを表示する。有効なリクエ
ストを形成するためには、クライアントリクエストは、リクエストされた記憶ロ
ケーション及び所望のリースピリオドの両者を保持しなければならない。
【0097】 記憶ロケーションへのリースリクエストを生成するには、一般的に2つのシナ
リオがある。第一のシナリオは、ファイルが生成されたときに起こる。"生成"コ
マンドは、ファイルを生成するのに使用され、サーバに対するリースリクエスト
を生成して、ファイルへアクセスする。第二のシナリオは、クライアントが既存
の記憶ロケーション又は既存リースを保持するファイル(すなわち、競合するリ
ース)へアクセスしようとする場合に起こる。
【0098】 リクエストを送信した後、クライアントは、サーバからリースオブジェクトを
受信する(ステップ10004)。リースオブジェクトは、上述したように、フ
ァイルハンドル、期間取得メソッド、更新メソッド、キャンセルメソッドを含む
種々の情報を保持する。
【0099】 クライアントはリースオブジェクトを受信したあと、ファイルを利用する(ス
テップ10005)。次に、クライアントは、ファイルの使用を完了したか否か
を判断する(ステップ10006)。完了した場合には、クライアントはキャン
セルメソッドをリースオブジェクト上で呼び出してそのリースを明示的にキャン
セルする(ステップ10007)。このメソッドを呼び出すことにより、サーバ
が故障発生を認識することなく、当該サーバによりリースがキャンセルされるこ
とになる。
【0100】 クライアントがファイルの使用を完了しなかった場合には、クライアントはリ
ースが終了しかけであるか否かを判断する(ステップ10008)。クライアン
トは、このステップを期間取得メソッドを呼び出すことにより実行し、残存時間
が所定のスレショルドレベル以内であるか否かを判断する。リースが終了しかけ
でない場合には、処理はステップ10005へ戻る。しかしながら、リースが終
了しかけである場合には、クライアントは、更新リクエストをサーバへ送信する
(ステップ10009)。このステップにおいては、クライアントは更新メソッ
ドをリースオブジェクト上で呼び出す。更新メソッドを呼び出した後、クライア
ントは更新リクエストが成功したか否かを判断する(ステップ10010)。こ
のステップにおいては、クライアントは、更新リクエストが成功したかどうかを
更新メソッドがうまくリターンを返したかによって判断する。成功した場合には
、処理はステップ10005へ戻る。しかしながら、更新メソッドがうまくいか
なかった場合には、クライアントはリカバリメソッドをリースオブジェクト上で
呼び出す(ステップ10012)。更新リクエストがうまくいかなかったため、
クライアントは、故障発生を認識するため、リカバリメソッドを呼び出すことに
よりエラーリカバリを実行する必要があるからである。リカバリメソッドにより
、サーバ上でリカバリが実行される。
【0101】 図11は、本発明に係る他の実施形態におけるサーバにより実行されるステッ
プのフローチャートを示す。サーバにより実行される第一のステップは、Javaス
ペース9019へアクセスすることである(ステップ11002)。サーバは、
リースリクエストの間に受信された全オブジェクトを保存するJavaスペースを保
持する。これらのオブジェクトは、Javaスペースに保存されるが、その理由は、
サーバが故障を検知した場合に、サーバが、Javaスペースにアクセスして、オブ
ジェクト上でリカバリメソッドを呼び出してリカバリを実行するためである。更
に、オブジェクトは永続的に保存されるが、その理由は、サーバに故障及びクラ
ッシュが起こった場合において、当該サーバがリスタートされたときに、リカバ
リメソッドをJavaスペースの各オブジェクト上で呼び出し、それが当該サーバの
故障時における全ての処理中のリースに反映される。ステップ11002におい
て、サーバは、全オブジェクト、といっても、リースオブジェクトの一部として
クライアントから受信した全オブジェクトにアクセスにアクセスする。Javaスペ
ース内にオブジェクトが存在する場合には、故障はサーバが処理する間に発生す
る。
【0102】 次に、サーバは、リカバリメソッドをJavaスペース内の各オブジェクト上で呼
び出す(ステップ10004)。このステップにおいて、Javaスペースにオブジ
ェクトが存在する場合には、サーバが故障により処理を中断しているため、リカ
バリを実行しなければならない。サーバは、このリカバリを、リースを保持して
いた各クライアント用にリカバリメソッドを呼び出すことにより実行する。これ
らのリカバリメソッドは、例えば、クライアントをリスタートして、それらを故
障発生前の状態に戻すものであればよい。全リカバリメソッドを呼び出した後、
サーバは、Javaスペースから全オブジェクトを削除する(ステップ11006)
。リカバリが実行された後、オブジェクトはもはや必要ではない。
【0103】 オブジェクトを削除した後、サーバは、リースリクエストをクライアントの一
つから受信する(ステップ11008)。リースリクエストを受信した後、サー
バは、Javaスペース内にこのリクエストで受信したオブジェクトを保存する(ス
テップ11010)。Javaスペースにオブジェクトを保存することにより、Java
スペースはオブジェクトを永続的に保存し、故障発生時でも、サーバは、Javaス
ペースにアクセスすることができ、且つ、オブジェクト上でリカバリメソッドを
呼び出してクライアント用にエラーリカバリを実行することができる。
【0104】 Javaスペースにオブジェクトを保存した後、サーバは、上述したメソッドを用
いてオブジェクトを返すことにより、リースリクエストを許可する。そのオブジ
ェクトは、サーバ用のリカバリメソッドが含まれる(ステップ11012)。暫
くのサーバ処理の後、サーバは、クライアントから更新リクエストを受信したか
否かを判断する(ステップ11014)。更新リクエストが受信された場合には
、サーバはリースを更新する(ステップ11017)。しかしながら、更新が受
信されなかった場合には、サーバは、キャンセルメソッドを呼び出すクライアン
トによってキャンセルリクエストが受信されたか否かを判断する(ステップ11
015)。クライアントがキャンセルメソッドを呼び出した場合には、サーバは
、ステップ11010で保存されたオブジェクトをJavaスペースから削除するこ
とによってリースをキャンセルし、これがファイル上で最新の処理中のリースで
ある場合には、サーバはファイルを削除する(ステップ11016)。
【0105】 キャンセルリクエストが受信されなかった場合には、サーバは、リースが終了
したか否かを判断する(ステップ11018)。リースが終了していない場合に
は、処理がステップ11014へ戻る。しかしながら、リースが終了した場合に
は、サーバは、故障発生を認識するため、中断したリースを保持するクライアン
ト用のJavaスペースのオブジェクト上でリカバリメソッドを呼び出す(ステップ
11020)。リカバリメソッドを呼び出した後、サーバは、このオブジェクト
が不要となるため、削除する(ステップ11022)。
【0106】 以上、本発明に係る方法及びシステムについて好適な実施形態を参照して説明
したが、特許請求の範囲で定義される保護が要求される発明の範囲を逸脱するこ
となく、種々の変形例が可能であることは、いわゆる当業者にとっては周知であ
る。
【図面の簡単な説明】
【図1】 図1は、本発明の一実施の形態に係るアプリケーションコールプロセッサによ
って実行される工程のフローチャートである。
【図2】 図2は、本発明の一実施の形態に係るダーティーコールを処理するサーバコー
ルプロセッサによって実行される工程のフローチャートである。
【図3】 図3は、本発明の一実施の形態に係るクリーンコールを処理するサーバコール
プロセッサによって実行される工程のフローチャートである。
【図4】 図4は、本発明の一実施の形態に係るガベージコレクション処理を初期化する
サーバコールプロセッサによって実行される工程のフローチャートである。
【図5】 図5は、分散型プロセッシングシステムにおけるコールの好適なフローを示し
た図である。
【図6】 図6は、本発明に係るメソッド呼出サービスに実装されるコンポーネントを示
したブロック図である。
【図7】 図7は、本発明の一実施形態において使用される分散型プロセッシングシステ
ムの構成を示した図である。
【図8】 図8は、本発明の一実施形態に係る分散型プロセッシングシステムのプラット
フォームに含まれる個々のソフトウエアコンポーネントを示した図である。
【図9】 図9は、本発明の他の実施形態において使用されるデータプロセッシングシス
テムを示した図である。
【図10】 図10は、本発明の他の実施形態に係り、サーバからのリースをリクエストす
る場合にクライアントによって実行される工程を示したフローチャートである。
【図11】 図11は、本発明の他の実施形態に係り、クライアントがリースをリクエスト
したする場合にサーバによって実行される工程を示したフローチャートである。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年4月18日(2000.4.18)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正内容】
【0001】 参考のために示すが、本出願は、1998年11月3日に発行された米国特許No.5,83
2,529号、発明の名称「分散型ガーベジコレクションのための方法、装置及びプ ロダクト」の関連出願である。また、本出願は、2000年1月18日に発行された米 国特許No.6,016,500号、発明の名称「故障検知のためのリース」の関連出願であ
る。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IN,IS,JP,KE, KG,KP,KR,KZ,LC,LK,LR,LS,L T,LU,LV,MD,MG,MK,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SL,TJ,TM,TR,TT,U A,UG,UZ,VN,YU,ZW (72)発明者 ウォールラス アン エム アメリカ合衆国、01450 マサチューセッ ツ州、グロトン、ノースウッズ ロード 9 (72)発明者 シェフラー ロバート アメリカ合衆国、02144 マサチューセッ ツ州、サマビレ、ノース ストリート 96 (72)発明者 アーノルド ケネス シー アール シー アメリカ合衆国、02173 マサチューセッ ツ州、レキシントン、ムーン ヒル ロー ド 7 Fターム(参考) 5B045 JJ07 JJ42 5B060 AA10 AC11 5B098 AA03 AA10 GA05 GD03 GD12 GD14 GD22

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 クライアントが、サーバにより管理されるリソースを使用す
    るために、当該サーバからの第一リカバリルーチンを保持するリースをリクエス
    トする工程と、 前記クライアントが所定時間内にリソースを利用することができるように前記
    サーバによるリースを許可し、第二リカバリルーチンを前記クライアントに送信
    する工程と、 前記クライアントが前記リソースを利用する工程と、 前記所定時間が終了に近づいた場合を前記クライアントが判断する工程と、 前記クライアントがリースが終了に近づいた場合に前記リースを更新するリク
    エストを前記サーバに送信する工程と、 前記更新リクエストが成功したか否かを判断する工程と、 前記クライアントにより前記更新リクエストが不成功であったと判断された場
    合に、前記クライアントが前記サーバ用に故障リカバリを実行するために、前記
    クライアントが前記第二リカバリルーチンを呼び出す工程と、 前記リースが終了した場合をサーバが判断する工程と、 前記リースが終了した場合に前記クライアント用に故障リカバリを実行するた
    めに、前記サーバが前記第一リカバリルーチンを呼び出す工程と、からなること
    を特徴とするクライアントサーバを有するデータ処理システムにおけるデータ処
    理方法。
  2. 【請求項2】 分散型システムのマシンにアクセスするためのリースを配信
    する工程と、 前記リースが延長を要求するか否かを判断する工程と、 前記リースを延長するために更新リクエストを送信する工程と、 前記マシンにアクセスするのを妨害するイベントを故障に基づいて検知して、
    前記更新リクエストに応じて新たなリースを受信する工程と、 からなることを特徴とするプロセッサによって実行される分散型システムの故
    障検知方法。
  3. 【請求項3】 更に、前記マシンへのアクセスを妨害するイベントの検知に
    基づいてリカバリルーチンを実行することを特徴とする請求項2に記載のプロセ
    ッサによって実行される分散型システムの故障検知方法。
JP2000533812A 1998-02-26 1999-02-17 故障検知用のリース Pending JP2002505468A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/044,916 US6016500A (en) 1996-10-11 1998-03-20 Leasing for failure detection
US09/044,916 1998-03-20
PCT/US1999/003398 WO1999044128A1 (en) 1998-02-26 1999-02-17 Leasing for failure detection

Publications (1)

Publication Number Publication Date
JP2002505468A true JP2002505468A (ja) 2002-02-19

Family

ID=26722148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533812A Pending JP2002505468A (ja) 1998-02-26 1999-02-17 故障検知用のリース

Country Status (5)

Country Link
EP (1) EP1058882A1 (ja)
JP (1) JP2002505468A (ja)
CN (1) CN1298515A (ja)
AU (1) AU2770499A (ja)
WO (1) WO1999044128A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428806C (zh) * 2003-12-26 2008-10-22 华为技术有限公司 告警系统及其方法
CN100466557C (zh) * 2004-11-10 2009-03-04 华为技术有限公司 通信网节点故障监测方法
CN117033092A (zh) * 2023-10-10 2023-11-10 北京大道云行科技有限公司 单例服务故障转移方法及系统、电子设备、存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939638A (en) * 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US4979105A (en) * 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US5353343A (en) * 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method

Also Published As

Publication number Publication date
AU2770499A (en) 1999-09-15
EP1058882A1 (en) 2000-12-13
WO1999044128A1 (en) 1999-09-02
CN1298515A (zh) 2001-06-06

Similar Documents

Publication Publication Date Title
US6016500A (en) Leasing for failure detection
US6564240B2 (en) Method, apparatus, and product for leasing of group membership in a distributed system
US6449648B1 (en) Lease renewal service
JP2002505470A (ja) 分散型システムにおける委譲認証のリースの方法、装置及びプロダクト
US6728737B2 (en) Method and system for leasing storage
JP2002505468A (ja) 故障検知用のリース
JP2002505465A (ja) 分散処理システムにおいて記憶領域をリースするための方法及びシステム
JP2002505469A (ja) 分散処理システムにおけるグループメンバシップのリースのための方法、装置及びプロダクト
US20060047686A1 (en) Apparatus, system, and method for suspending a request during file server serialization reinitialization
JP2002505472A (ja) 分散システムにおいてリモート・オブジェクトの状態を判断するための方法および装置
KR20010041295A (ko) 고장 검출을 위한 리싱