JP2002505469A - 分散処理システムにおけるグループメンバシップのリースのための方法、装置及びプロダクト - Google Patents

分散処理システムにおけるグループメンバシップのリースのための方法、装置及びプロダクト

Info

Publication number
JP2002505469A
JP2002505469A JP2000533813A JP2000533813A JP2002505469A JP 2002505469 A JP2002505469 A JP 2002505469A JP 2000533813 A JP2000533813 A JP 2000533813A JP 2000533813 A JP2000533813 A JP 2000533813A JP 2002505469 A JP2002505469 A JP 2002505469A
Authority
JP
Japan
Prior art keywords
resource
lease
call
application
activation group
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
JP2000533813A
Other languages
English (en)
Inventor
ジェイムズ エイチ ウォルド
アン エム ウォールラス
ロバート シェフラー
ケネス シー アール シー アーノルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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,834 external-priority patent/US6421704B1/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002505469A publication Critical patent/JP2002505469A/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]
    • G06F9/5061Partitioning or combining of resources
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (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/729,
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,916、発明の名称「故障検知のためのリー ス」(代理人整理番号No.06502.0011-04000)。 同日出願の米国特許出願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.0113-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】A.概要 分散型プロセッシングシステム内の各コンピュータに配置されたメソッド呼出
(MI)コンポーネントは、本発明に係る分散型ガベージコレクション概念を実装
するものである。MIコンポーネントは、数多くのソフトウエアモジュールからな
り、これらのモジュールは、できればJAVATMプログラミング言語によって記述さ
れたものがよい。
【0019】 一般的に、分散型プロセッシングシステム内のアプリケーションが、他のコー
ルに対する返り値としての名前の検索により、或いは、他の方法によって、分散
型リソースへのリファレンスを取得し、当該リソースへアクセスするためにシー
クするたびに、そのアプリケーションは、リソース又はそのリソースを管理する
MIコンポーネントに対してコールする。そのMIコンポーネントは、管理用MIコン
ポーネントと称され、そのリソースへの未処理のリファレンスの数を見失わない
ように監視する。リソースへのリファレンスの数がゼロになると、管理用MIコン
ポーネントは、リソースを再生することができる。リソースへのリファレンス数
は、一般的に、"リファレンスカウント"と称され、リファレンスカウントを増加
させるコールは、"ダーティーコール"と称される。
【0020】 アプリケーションが分散型リソースをもはや要求しない場合には、リソース又
は管理用MIコンポーネントに異なったコールを送信する。このコールを受信する
と、管理用MIコンポーネントは、そのリソース用のリファレンスカウントを減少
させる。リファレンスをドロップさせるこのコールは、"クリーンコール"と称さ
れる。
【0021】 本発明の一実施形態によれば、ダーティーコールは、リソースへのリファレン
スのために、リクエストされたタイムインターバル及びコールされたリースピリ
オドを含むことができる。ダーティーコールを受信すると、管理用MIコンポーネ
ントは、リースが許可されるピリオドを示すリターンコールを送信する。従って
、管理用MIコンポーネントは、未処理のリファレンスの数と同様に、それらのリ
ファレンスのためのリースピリオドを監視する。その結果、リソースへのリファ
レンスカウントがゼロになったとき、又は、リソースへのリースピリオドが終了
したときに、管理用MIコンポーネントは、そのリソースを再生することができる
【0022】B.手順 MIコンポーネント内のアプリケーションコールプロセッサは、図1に示したア
プリケーションコール手順100を実行する。管理用MIコンポーネント内のサー
バコールプロセッサは、図2から図4に示した手順200、300、400の各
工程を実行する。管理用MIコンポーネントのガベージコレクタは、従来の手順を
実行してサーバコールプロセッサからの命令に基づいて既にリファレンスにバイ
ンドされたリソースを再生する。ガベージコレクタの従来の手順については説明
を省略する。
【0023】 1.アプリケーションコールプロセッサ 図1は、分散型プロセッシングシステム内に配置された同一又は他のMIコンポ
ーネントにより管理されるリソースへのリファレンス用のアプリケーションリク
エストを処理するために、MIコンポーネントのアプリケーションコールプロセッ
サが用いる手順100のフローチャートを示したものである。
【0024】 アプリケーションがリソースへのリファレンスを取得した後、アプリケーショ
ンコールプロセッサは、ダーティーコールを送信するが、このダーティーコール
は、そのリソース用の管理用MIコンポーネントに対するリソースへのリファレン
ス、リクエストされたリースピリオドを含む(ステップ110)。ダーティーコ
ールは、リソース又は管理用MIコンポーネントに対するものであればよい。
【0025】 アプリケーションコールプロセッサは、次に、管理用MIコンポーネントコンポ
ーネントからのリターンコールを待ち、これを受信する(ステップ120)。リ
ターンコールは、許可されたリースピリオドを含み、この間、管理用MIコンポー
ネントは、ダーティーコールのリファレンスが、そのリソースへバインドされる
のを保障する。換言すれば、管理用MIコンポーネントは、許可ピリオドにおいて
は、ダーティーコールのリファレンスに対応するリソースを収集しないことに応
じる。管理用MIコンポーネントが許可ピリオドを配信しない場合又はリース用の
リクエストを拒否した場合には、アプリケーションコールプロセッサは、許可ピ
リオドを受信するまで他のダーティーコールを送信しなければならない。
【0026】 アプリケーションコールプロセッサは、アプリケーションによるリファレンス
の使用を監視し、リファレンスがもはや必要ではなくなったことをアプリケーシ
ョンがアプリケーションコールプロセッサに明示的に通知する場合又はアプリケ
ーションコールプロセッサがこの決定をそれ自身で行う場合に(ステップ130
)、アプリケーションコールプロセッサは、クリーンコールを管理用MIコンポー
ネントへ送信する(ステップ140)。ダーティーコールに用いられる方法と同
様の方法で、クリーンコールは、リファレンスされたリソースに対して行うこと
ができ、管理用MIコンポーネントがクリーンコールを処理することになる。その
後に、アプリケーションコールプロセッサは、リファレンスのリストからアプリ
ケーションにより用いられているリファレンスを削除する(ステップ150)。
【0027】 アプリケーションがリファレンスを終えていない場合には(ステップ130)
、アプリケーションコールプロセッサは、リファレンスに対する許可ピリオドが
終了しかけているか否かを判断し(ステップ160)、アプリケーションコール
プロセッサは、工程110から120までを繰り返し実行して、アプリケーショ
ンのかわりに管理用MIコンポーネントにより、リソースへのリファレンスが管理
されることを確保する。
【0028】2.サーバコールプロセッサ MIコンポーネントのサーバコールプロセッサは、3つの主要手順、すなわち、
(1)ダーティーコールの処理、(2)到来するクリーンコールの処理、(3)
適当な時期にリソースを再生するためにガベージコレクションサイクルの初期化
を実行する。
【0029】 (i)ダーティーコール 図2は、リソースをリファレンスするリクエスト、例えば、MIソフトウエアコ
ンポーネントが管理するダーティーコールを処理するために、MIコンポーネント
のサーバコールプロセッサが使用する手順200のフローチャートである。これ
らのリクエストは、分散型プロセッシングシステムのMIコンポーネントのアプリ
ケーションコールプロセッサから到来し、その分散型プロセッシングシステムは
、リクエストを処理するサーバコールプロセッサと同一のMIコンポーネントのア
プリケーションコールプロセッサを含む。
【0030】 まず、サーバコールプロセッサは、ダーティーコールを受信する(ステップ2
10)。サーバコールプロセッサは、次に、受け入れ可能な許容ピリオドを決定
する(ステップ220)。許容ピリオドは、リクエストされたリースピリオド又
は他のタイムピリオドと同一でもよい。サーバコールプロセッサは、要求された
リソースの量と、同一のリソース用に前に許可された他の許可ピリオドの数とに
基づいて、適当な許可ピリオドを決定する。
【0031】 サーバコールプロセッサは、リソースが未だダーティーコールのリファレンス
に割り当てられていないと判断する場合には(ステップ230)、サーバコール
プロセッサは、要求されたリソースを割り当てる(ステップ240)。
【0032】 サーバコールプロセッサは、次に、ダーティーコールのリファレンスに対応す
るリファレンスカウントを増加し(ステップ250)、受入可能な許可ピリオド
をリファレンス−リソースのバインドに設定し(ステップ260)、許可ピリオ
ドと一緒にリターンコールをアプリケーションコールプロセッサに送信する(ス
テップ270)。このようにして、サーバコールプロセッサは、その制御下でリ
ソースへのリファレンスについて到来するダーティーコールを制御する。
【0033】 アプリケーションは、現在のリースが終了する前にダーティーコールを延長リ
クエストと一緒に送信することによってリースを延長することができる。手順2
00に示したように、リースを延長するためのリクエストは、リース用の初期化
リクエストと同様に取り扱われる。延長は、リソースがリファレンスカウントが
ゼロにならない限り、ただ単にタイムインターバルの追加によっては再生されな
いことを意味する。
【0034】 (ii)クリーンコール MIコンポーネントのサーバコールプロセッサは、アプリケーションコールプロ
セッサから到来するクリーンコールをも処理する。分散型プロセッシングシステ
ム内のアプリケーションがもはやリソースへのリファレンスを要求しなくなった
場合には、アプリケーションは、そのリファレンス用にリソースを管理するMIコ
ンポーネントに、そのリソースが再生して再使用できることを通知する。
【0035】 サーバコールプロセッサは、MIコンポーネントが管理するリソースへのリファ
レンスとクリーンコールとを受信して(ステップ310)、対応するリファレン
スカウントを減少させる(ステップ320)。クリーンコールは、リソースに送
信されるが、その際、サーバコールプロセッサはリソースを監視し、コール処理
のための手順300が実行される。その後、サーバコールプロセッサは、クリー
ンコールを送信したMIコンポーネントに、受信承認としてリターンコールを送信
する。本発明の実装形態によれば、リファレンスをドロップさせるクリーンコー
ルを拒否できないが、承認しなければならない。
【0036】 (iii)ガベージコレクション サーバコールプロセッサは、リソースを再生するためにガベージコレクション
サイクルの初期化をも行う。このため、より多くのリファレンスがリソースに対
してなされていないか又はリソースへの合意済みリースピリオドが終了したかを
判断する。図4に示した手順400は、サーバコールプロセッサがガベージコレ
クションサイクルを初期化するために用いるステップのフローチャートである。
【0037】 サーバコールプロセッサは、リファレンスカウントと許可されたリースピリオ
ドとを監視し、MIコンポーネントによって管理されるリソースへのリファレンス
カウントがゼロなのか又はリファレンス用の許可ピリオドが終了したのかを判断
する(ステップ410)。どちらかの状態が存在する場合には、サーバコールプ
ロセッサは、そのリソースのガベージコレクションを初期化する(ステップ42
0)。そうでない場合には、リファレンスカウントと許可されたリースピリオド
とを監視し続ける。
【0038】C.コールフロー 図5は、分散型プロセッシングシステムのMIコンポーネントにおけるコールフ
ローを説明するための図である。管理用MIコンポーネント525は、リソース5
30へのリファレンスを監視することによりリソース530を管理する(ガベー
ジコレクト505参照)。管理用MIコンポーネント525がリソースを管理する
ため、管理用MIコンポーネント525のサーバコールプロセッサは、このコール
フロープログラムのオペレーションを実行する。
【0039】 図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コンポーネントにより管理されるリソース53
0へのアクセスを行うためにアプリケーションリクエストを処理するため、MIコ
ンポーネント515,545のアプリケーションコールプロセッサは、このコー
ルフロープログラムのオペレーションを実行する。
【0040】 ダーティーコール551,571に応答して、管理用MIコンポーネント525
は、それぞれリターンコール552,572を、それぞれMIコンポーネント51
5,545に送信する。ダーティーコールは、ダーティーコール551,571
のリファレンス用に許可されたリースピリオドを含む。
【0041】 同様に、図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の単なる受信承認に過ぎない。
【0042】 アプリケーション510,540は、両者とも、同一リソースへのアクセスを
要求することができる。例えば、アプリケーション510は、"リソース(1)"へ のアクセスをリクエストすることができるが、一方でアプリケーション540が
、以前にそのリソースへのアクセスが許可されていたということがある。MIコン
ポーネント525は、一致したリースピリオドの間、アプリケーション510,
540の両者に対して有効なリソースを作ることにより、この状況を処理する。
従って、MIコンポーネント525は、アプリケーション510,540の両者が
リソースへのリファレンスをドロップさせるか、最新の一致したピリオドが終了
するかのいずれかが発生するまでは、"リソース(1)"を再生するためにガベージ コレクションサイクルを初期化しないことになる。
【0043】 同一のリソースへ同時にアクセスするために複数のアプリケーションを許可す
ることによって、本発明は、リソースへのリファレンスをドロップさせる管理用
MIコンポーネントへクリーンコールを送信した後に、アプリケーションがリソー
スへアクセスすることをも許可する。これが発生するのは、リソースが依然とし
て他のアプリケーションによって参照されているか、又は、リファレンスのリー
スがまだ終了していないために管理用MIコンポーネント525がまだリソースを
再生していないからである。しかしながら、リソースは、より多くのアプリケー
ションがどれもリースを保持しない場合又は最後のリースが終了した場合に、制
限ピリオドの後、再生されることになる。
【0044】D.MIコンポーネント 図6は、本発明の一実施形態に係るMIコンポーネント600を構成するモジュ
ールのブロック図である。MIコンポーネント600は、監視されるリファレンス
用のリファレンスコンポーネント605、アプリケーションコールプロセッサ6
40、サーバコールプロセッサ650及びガベージコレクタ660を含むことが
できる。
【0045】 リファレンスコンポーネント605は、リファレンスデータポーション610
、リファレンス620、許可ピリオドレジスタ630を備えたテーブル又はこれ
と同様の構造体から構成される。MIコンポーネント600は、対応するリファレ
ンスデータポーション610内で指定された各リファレンス用にリファレンスカ
ウント620と許可ピリオド630とを使用して、対応するリソースを再生する
には、いつガベージコレクタ660を初期化すればよいかを判断する。
【0046】 アプリケーションコールプロセッサ640は、ソフトウエアモジュールであり
、図1に示した手順100の各ステップを実行する。サーバコールプロセッサ6
50は、ソフトウエアモジュールであり、図2から図4に示した手順200,3
00,400の各ステップを実行する。ガベージコレクタ660は、ソフトウエ
アモジュールであり、上述したようにサーバコールプロセッサ650からの命令
に応じてリソースを再生する。
【0047】E.分散型プロセッシングシステム 図7は、本発明を実装するのに使用可能な分散型プロセッシングシステム50
を示したものである。図7においては、分散型プロセッシングシステム50は、
3つの独立した異種のプラットフォーム100,200,300を含み、これら
は、ネットワーク雲55によって表されるネットワークコンフィギュレーション
内で連結されている。図7の雲55により表されるネットワークコンフィギュレ
ーションの構成及びプロトコルは、プラットフォーム700,800,900の
間での情報通信が可能である限り余り重要ではない。加えて、これらの3つのプ
ラットフォームは、説明のために例示したものであるため、本発明におけるプラ
ットフォームの使用を特定数に限定するものではない。更に、本発明については
、専用のネットワークアーキテクチャは重要ではない。例えば、本発明に従って
使用可能な他のネットワークアーキテクチャとしては、あらゆるプラットフォー
ムが連結可能なネットワークコントローラのような単一のプラットフォームを使
用するものでもよい。
【0048】 分散型プロセッシングシステム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がそれぞれ含まれる。
【0049】 アプリケーション720,820,920は、プログラムにより構成でき、こ
のプログラムは、予め作成されたものを本発明に従って作動するように修正され
たものか又は本発明によって得られるサービスの効果を得るべく専用に作成され
たものであればよい。
【0050】 MIコンポーネント730,830,930は、図6を参照して説明したように
MIコンポーネント600に対応している。
【0051】 オペレーティングシステム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を使用してい
る。本発明は、これに限定されるものではなく、異種のプラットフォームを適用
することも可能である。
【0052】 Sun、Sun Microsystems、Solaris、Java、the SunLogoは、米国又はその他の 国におけるサンマイクロシステムズ インコーポレーテッドの商標又は登録商標
である。UltraSparc及び他の全てのSPARC商標は、米国又はその他の国において ライセンス契約の下で使用されており、スパークインターナショナル インコー
ポレーテッドの商標である。SPARC商標を付した製品は、サンマイクロシステム ズ インコーポレーテッドにより開発されたアーキテクチャに基づいたものであ
る。
【0053】 メモリ750,850,950は種々の機能、例えば、関連付けられたプラッ
トフォーム用の全体の記憶領域を提供する。他の機能は、各プロセッサ710,
810,910による実行前に、アプリケーション720,820,920、MI
コンポーネント730,830,930及びオペレーティングシステム720,
840,940を記憶することである。加えて、メモリ750,850,950
の各部分は、ネットワーク50の全プラットフォーム700,800,900に
有効な共有メモリからなる。
【0054】E.メソッド呼出サービス 本発明はクライアント/サーバモデルを使用して実装することができる。クラ
イアントは、ダーティーコール、クリーンコール等のリクエストを生成し、サー
バはリクエストに対して応答を返す。
【0055】 図7に示したMIコンポーネント730,830,930の各々は、クライアン
トコンポーネントとサーバコンポーネントの両者を含む。図8は、クライアント
プラットフォーム1000及びサーバプラットフォーム1100のブロック図で
あり、図7に示したプラットフォーム700,800,900のうちいずれか2
つに適用される。
【0056】 プラットフォーム1000,1100は、それぞれメモリ1050,1150
、プロセッサ1010,1110を保持する。プラットフォーム1000,11
00に含まれる要素は、図7を参照して説明した要素と同様の手法で機能する。
この例においては、プロセッサ1010は、クライアントアプリケーション10
20を実行し、プロセッサ1110は、サーバアプリケーション1120を実行
する。プロセッサ1010,1110は、更に、それぞれオペレーティングシス
テム1040,1140及びMIコンポーネント1030,1130を実行する。
【0057】 MIコンポーネント1030,1130は、各々、サーバコールプロセッサ10
31,1131、アプリケーションコールプロセッサ1032,1132、ガベ
ージコレクタ1033,1133を含む。MIコンポーネント1030,1130
は、その各々が監視する各リファレンスとして、リファレンスデータポーション
1034,1134、リファレンスカウント1035,1135、許可ピリオド
レジスタ1036,1136を含むリファレンスコンポーネントをも含む。
【0058】 アプリケーションコールプロセッサ1032,1132は、それぞれクライア
ントサービスを象徴し、これらの各々は、サーバサービスを象徴するサーバコー
ルプロセッサ1031,1131の各々と情報通信を行う。プラットフォーム1
000,1100は、サーバコールプロセッサ、アプリケーションコールプロセ
ッサ、ガベージコレクタ、リファレンスコンポーネントを保持しているため、プ
ラットフォームは、クライアント又はサーバのいずれかとして動作可能である。
【0059】 しかしながら、以下の説明においては、プラットフォーム1000はクライア
ントプラットフォームと呼ばれ、プラットフォーム1100はサーバプラットフ
ォームと呼ばれる。この例においては、クライアントアプリケーション1020
は、分散型リソースへのリファレンスを取得するとともにMIコンポーネント10
30を使用してサーバプラットフォーム1100のMIコンポーネントにより管理
されるリソースへダーティーコールを送信する。
【0060】 更に、サーバプラットフォーム1100は、サーバアプリケーション1120
を実行することができる。サーバアプリケーション1120は、MIコンポーネン
ト1130を使用してダーティーコールを送信することもでき、このダーティー
コールは、ダーティーコールのリソースがMIコンポーネント1130により管理
される場合に、MIコンポーネント1130によって処理される。
【0061】 従って、クライアントプラットフォーム1000のMIコンポーネント1030
用のサーバコールプロセッサ1031、ガベージコレクタ1033及びリファレ
ンスカウンタ1035は、アクティブではなく、図8においては陰を付けて表示
されている。同様に、サーバプラットフォーム1100のMIコンポーネント11
30のアプリケーションコールプロセッサ1132も休止中であるため陰を付し
て表示されている。
【0062】 クライアントアプリケーション1020がリソースに対応するリファレンスを
取得する場合には、アプリケーションコールプロセッサ1032は、ダーティー
コールを送信し、サーバコールプロセッサ1131がこれを受信する。ダーティ
ーコールは、リクエストされたリースピリオドを含む。サーバコールプロセッサ
1131は、ダーティーコール内のリファレンス用にリファレンスカウント11
35を増加し、許可ピリオドを決定する。これに応答して、サーバコールプロセ
ッサ1131は、リターンコールを許可ピリオドとともに、アプリケーションコ
ールプロセッサ1030へ送信する。アプリケーションコールプロセッサ103
2は、許可ピリオドを使用して記録された許可ピリオド1035を更新し、いつ
ダーティーコールのリファレンスに対応するリソースを再生するかを決定する。
【0063】 サーバコールプロセッサ1131は、更に、それが管理するリソースへのリフ
ァレンスに対応するリファレンスカウントと許可ピリオドとを監視する。リファ
レンスカウント1135のうちの一つがゼロになるか、又は、リファレンス用の
許可ピリオド1135が終了するかのいずれか最初のイベントが起こった時に、
サーバコールプロセッサ1131は、ガベージコレクタ1133を初期化して、
ゼロのリファレンスカウント又は終了した許可ピリオドを保持するリファレンス
に対応するリソースを再生することができる。
【0064】 本発明の一実施形態によるリースされたリファレンスの概念は、プラットフォ
ーム1000,1100のプロトコル上でクロックの同期を必要としない。その
概念は、それらが同等の増加周期であることを要求するに過ぎない。リースは、
特定のタイミングでは終了しないが、特定のタイムインターバルで終了するもの
である。そのインターバルがほぼ正確に一致している限り、プラットフォーム1
000,1100は、許可されたリースピリオドについてほぼ正確に一致する。
更に、コンピュータ周期におけるリースタイミングは比較的長いため、クロック
速度のモニタ差異は殆どないか又は影響がない。
【0065】 ダーティーコールの転送時間は、プロトコルに影響を及ぼす。MIコンポーネン
ト1030がリファレンス用のリースを保持し、リースが終了して更新リクエス
トをする直前までウエイトするとすれば、リースは、MIコンポーネント1130
がリクエストを受信する前に終了する。そうだとすれば、MIコンポーネント11
30は、更新リクエストを受信する前にリソースを再生することができる。従っ
て、ダーティーコールを送信する場合には、リソースへのリースピリオドが終了
する前に、更新されたダーティーコールが作成されるようにするために、送信元
では、ダーティーコールのリソースを処理するプラットフォームへの転送時間を
考慮に入れて、リクエストされたリースピリオドにタイムファクターを追加すべ
きである。
【0066】F.結論 本発明による分散型ガベージコレクションの概念によれば、分散型プロセッシ
ングシステムのリソースへのリファレンスに対応する許可されたリースピリオド
を配信することにより、リファレンスの保全性が保障され、メモリリークが排除
される。具体的には、許可されたリースピリオドが終了したときに、リソースへ
のリファレンスを付すことによってなされる。その後、リソースは収集される。
リソースは、分散型プロセッシングシステムのプロセスによってリファレンスさ
れなくなった場合に、リソース用にリファレンスに割り当てられたカウンタへの
リファレンスとともに収集することもできる。
【0067】本発明の変形例 上述したリーステクニックは、ガベージコレクションに関するものである。し
かしながら、以下に説明するように、本発明の他の実施形態もまた、アクティベ
ーショングループのオブジェクトメンバシップを統制するのに使用可能である。
【0068】 JavaTMプログラミング環境("典型的な分散型システム")を利用する分散型シス
テムにおいては、オブジェクトは、リモート呼出可能なメソッドを保持する。こ
ららのメソッドは、カリフォルニア州のマウンテンビューにあるサンマイクロシ
ステムズ インコーポレーテッド製のJavaソフトウエア開発キットの一部として
販売されているJavaTMリモートメソッド呼出システム(RMI)を使用するクライ アントによって呼び出すことができる。典型的な分散型システムにおいては、ク
ライアントがリモートオブジェクト上でメソッドを呼び出す場合に、オブジェク
トはリモートマシン上のメモリ内に存在しない場合がある。この場合には、RMI のアクティベーションデーモンとして知られるリモートマシン上のコンポーネン
トがJavaTM仮想マシン(JVM)を始動させる。Java仮想マシンもまた、Javaソフ トウエア開発キットの一部として配布され、その詳細については、本出願につい
て参照されるアジソンウェズレイ社(1997)発行のリンドホルム、イェリン共著
のJava仮想マシン仕様に説明されている。"アクティベーションオブジェクト"に
より、オブジェクトは、補助記憶装置からメモリへ移送され、リクエストされた
メソッドが呼び出される。注目すべきは、オブジェクト及びJVMは、両者共、単 一アドレス空間で走行することである。メモリに存在しないリモートオブジェク
トのメソッドがクライアントによりコールされる度に、このプロセスが繰り返し
なされる。典型的な分散型システムの詳細については、既に参照文献として紹介
した審査に係属中の米国特許出願No. 、発明の名称「分散型システムにお けるダイナミック検索サービス」に説明されている。
【0069】 オブジェクトを一度にそれら自身のアドレス空間へ移送する欠点は、能率が上
がらないことである。各オブジェクトが別個のアドレス空間へロードされるため
、ロードされたオブジェクトは、他のロードされたオブジェクトにアクセスする
ためにプロセス境界を横断しなければならない。この横断には多くの処理時間が
かかる。従って、プロセス境界を横断するのを回避するとともに局所的リファレ
ンスを容易にするには、関連オブジェクトを同一アドレス空間へロードするのは
、有益である。他の実施形態においては、関連オブジェクトは、オブジェクトグ
ループ又はオブジェクトセットにグループ分けされる。グループのオブジェクト
が互いに関連付けられるため、同一のJVM上で走行することは効率的であり、そ の結果、同一同一アドレス空間となる。同一のJVM上で走行させることにより、 関連オブジェクトは、互いにより効率的にアクセスすることができる(すなわち
、プロセス境界の横断がなくなる)。
【0070】 関連オブジェクトがグループ化された状況では、クライアントプログラムがリ
モートオブジェクト上のメソッドを呼び出す場合に、アクティベーションデーモ
ンは、当該リモートオブジェクトがアクティベーショングループとして知られる
リモートオブジェクトグループのメンバであるか否かを判断する。オブジェクト
がアクティベーショングループに属し、そのグループがメモリ内にまだロードさ
れていない場合には、アクティベーションデーモンは、JVMを始動させ、オブジ ェクトをJVMの当該アドレス空間へロードする。その後の当該アクティベーショ ングループの他のオブジェクト上でのメソッドの呼出により、アクティベーショ
ンデーモンは、これらのオブジェクトを同一アドレス空間へロードする。リクエ
ストされたオブジェクトが一旦JVMにロードされると、アクティベーションデー モンは、オブジェクトを活性化させ、リクエストされたメソッドが呼び出される
【0071】 JVM内に関連するオブジェクトを一緒にグループ化することの欠点は、特定の オブジェクトがアクティベーショングループの有用リソースを独占し、他のグル
ープメンバに悪影響を与えることである。例えば、カーソルオブジェクトを使用
するディスプレイの共有エリアを抜き出す複数オブジェクトを保持するホワイト
ボードプログラムにおいては、カーソルオブジェクトは、誰かが使用したがって
いるオブジェクトのアクティベーショングループへロードされる。カーソルオブ
ジェクトを誰かが使用したがっているオブジェクトと同一のアドレス空間へ配置
することにより、カーソルは、コマンドに対して素早く応答することができるが
、その理由は、カーソルオブジェクトは、プロセス境界を横断することなくアク
セスされるからである。しかしながら、誰かが使用したがっているカーソルオブ
ジェクトを特定のオブジェクトが独占し、そのことが他のオブジェクトに悪影響
を与える場合に問題が起こる。
【0072】 当該他の実施形態によれば、リーステクニックをアクティベーショングループ
に配置されたオブジェクトに適用することにより、当該独占による脅威を排除す
る。リースにより、アクティベーショングループのオブジェクトは、一つも他の
オブジェクトを独占しないということが保障される。例えば、各オブジェクトは
、アクティベーショングループ(すなわち、アクティベーショングループ内にメ
ンバシップを獲得する)に加わるためにリースをリクエストしなければならない
。アクティベーショングループは、それ自身は、リースをどれくらいの時間長さ
許可するかを決定する。ホワイトボードプログラムに対しては、アクティベーシ
ョングループは、非常に短いリースを許可することになる。これにより、オブジ
ェクトが一つもカーソルオブジェクトを独占しないことが保障され、各オブジェ
クトのリースが終了した場合には当該オブジェクトは、アクティベーショングル
ープから追い出される。
【0073】 当該他の実施形態においては、オブジェクトは、アクティベーショングループ
のメンバとなるべきリースをリクエストする。オブジェクトは、メンバシップと
なる所定時間(リースピリオド)を指定しなければならない。また、オブジェク
ト(アクティベーショングループオブジェクト)により表現され且つ管理される
アクティベーショングループは、リースをどのくらいの時間長さ許可するかを決
定する。所定時間に加えて、リースリクエストは、オブジェクトが正確なリース
を欲しがっているか否かの表示を保持する。リースをリクエストする場合には、
オブジェクトは、正確なリースピリオドをリクエストすることができる。この場
合には、許可されたリースピリオドがリクエストされた完全なリースピリオドで
ある場合にのみ、アクティベーショングループは、オブジェクトに対するリース
を許可することになる。
【0074】 全オブジェクトは、アクティベーショングループ内のリースにより統制される
。リースが終了した場合でさえ、オブジェクトが異なるアクティベーショングル
ープのメンバになるためのリクエストをするまで、オブジェクトにはそれ自体の
アクティベーショングループのメンバシップが与えられている。
【0075】 一旦、オブジェクトがアクティベーショングループからリースをリクエストす
ると、アクティベーショングループは、オブジェクトにリースオブジェクトを返
す。このリースオブジェクトは、リース時間の決定メソッド、リース更新メソッ
ド及びリースのキャンセルメソッドを含む。オブジェクトは、クラスのインスタ
ンスであり、より多くのファンクションを提供するために多くの手法で拡張する
ことができるが、ベーシッククラスは以下の表1のように定義される。
【表1】
【0076】 このクラスは、期間取得メソッド、更新メソッド及びリカバリメソッドを含む
。"期間取得"メソッドを呼び出すことにより、許可されたリースピリオドの長さ
をオブジェクトに配信する。このピリオドは、アクティベーショングループによ
り許可された最新のリースを表している。しかしながら、リース上で未処理とな
っている時間量の決定は、クライアントの応答性によるところとなる。
【0077】 "更新"メソッドは、リモートオブジェクトがリースを更新するのを許可するも
のであり、オリジナルリースリクエストを再初期化することなく、より多くの時
間を要求することができる。クライアントがリースの更新を所望する場合として
は、オリジナルリースが不十分になった場合(すなわち、リモートオブジェクト
がより多くのメンバシップを要求する場合)や、一部のリースのみが許可された
場合(すなわち、要求されたリースより少ない場合)がある。
【0078】 オブジェクトは、更新メソッドを使用して、追加的なリースピリオドを要求す
るか又は多くの追加のリースピリオドが許可されるまで、継続的に更新メソッド
を何度も呼び出す。更新メソッドには戻り値がない。更新が許可されると、新た
なリースピリオドは、コールがなされたリースオブジェクトに反映される。アク
ティベーショングループがリースを更新することができない場合又は更新しよう
としない場合には、その原因がそのコールがなされたリースオブジェクトに示さ
れる。
【0079】 オブジェクトは、当該オブジェクトがアクティベーショングループから抜け出
そうとする場合に"キャンセル"メソッドを呼び出させるが、リース上にはまだ時
間が残っている。キャンセルメソッドにより、アクティベーショングループは、
当該アクティベーショングループからオブジェクトを除去することができる。そ
の結果、当該オブジェクトはプロセス境界を横断することなく当該アクティベー
ショングループの全オブジェクトにアクセスすることができない。これに対し、
リースの終わりにおいては(すなわち、正常終了)、アクティベーショングルー
プは、オブジェクトを追い出すことを承知している。この場合、オブジェクトは
、リースの正常切断の際にアクティベーショングループに通知する義務はない。
【0080】 図9は、本発明の他の実施形態による使用に好適なデータ処理システム900
0を示す。データ処理システム9000は、ネットワーク9006を介して第二
コンピュータシステム9004に連結されたコンピュータシステム9002を含
む。ネットワーク9006は、ローカルエリアネットワーク、ワイドエリアネッ
トワーク又はインターネットであればよい。
【0081】 コンピュータシステム9002は、メモリ9008、補助記憶デバイス901
0、中央処理ユニット(CPU)9012、入力デバイス9016、ビデオディス プレイ9014を含む。メモリ9008は、更に、JavaTMランタイムシステム9
042を含み、JavaTMランタイムシステム9042は、Java仮想マシン(JVM) 、RMI9046及びアクティベーショングループ9040を含む。アクティベー ショングループ9040は、未だ活性化されない状態で第二記憶デバイス901
0に残っているものに関連付けられるいくつかのオブジェクト9048を保持す
ることができる。加えて、メモリ9008は、JVM9024、RMI9026及びア
クティベーショングループ9018を含むJavaランタイムシステム9022、及
び、アクティベーションデーモン9100、JVM9014及びRMI9016を含む
Javaランタイムシステム9102を含む。アクティベーションデーモン9100
は、アクティベーショングループ9040又はアクティベーショングループ90
18のいずれかの一部分となるべきメモリへそれらを移送することにより、活性
化オブジェクト9048に応答可能である。
【0082】 コンピュータシステム9004は、メモリ9050、補助記憶デバイス905
2、CPU9054、入力デバイス9058及びビデオディスプレイ9056を含 む。メモリ9050は、更に、JVM9064、RMI9066及びクライアントプログラ
ム9040を含むJavaランタイムシステム9062を含み、クライアントプログ
ラム9060は、RMI9066へのコールを介してリモートオブジェクト(例え ば、オブジェクト9048の一つ)のメソッドの呼出をリクエストすることがで
きる。データ処理システム9000及びコンピュータ9002,9004が追加
の又は異なるコンポーネントを保持可能であることは、いわゆる当業者にとって
は周知である。
【0083】 上述した当該他の実施形態の要旨は、メモリに記憶させたものとして説明した
が、いわゆる当業者にとっては、これらの要旨を他のコンピュータ読取可能な媒
体、例えば、補助記憶装置(ハードディスク、フロッピーディスク、コンパクト
ディスク・読出オンリメモリ);インターネットからの伝送波、又はランダムア
クセスメモリや読出オンリメモリ等の他の媒体、に記憶させても、又は、これら
から読み出してもよいことは周知である。更に、当該他の実施形態はJavaTMプロ
グラミング環境で動作するものとして説明したが、いわゆる当業者にとっては、
当該他の実施形態が他の環境においても同様に動作することは周知である。
【0084】 図10は、新たなアクティベーショングループのメンバになるためにオブジェ
クトにより実行されるステップのフローチャートを示す。例えば、アクティベー
ショングループ9040のオブジェクトは、アクティベーショングループ901
8のメンバになろうとする。オブジェクトは、処理を実行する際にアクティベー
ショングループ9018(すなわち、グラフィック関連の処理)に関連付けられ
ることを欲し、しかも、グラフィックオペレーションを実行するオブジェクトを
保持するアクティベーショングループ内で走行することにより局所的リファレン
スの利点を獲得することを欲するからである。新たなアクティベーショングルー
プのメンバになるためには、オブジェクトはリースリクエストをアクティベーシ
ョングループ9018へ送信する(ステップ10004)。このステップにおい
ては、オブジェクトはリースリクエストをアクティベーショングループへ送信す
る。そのアクティベーショングループは、オブジェクトであり、リクエストされ
たリースピリオドを含むパラメータの数を通過させる。
【0085】 リースリクエストを送信した後、オブジェクトは、リースが成功したかどうか
をリースオブジェクトを受信したか否かを判断することにより判断する(ステッ
プ10006)。リースが成功した場合には、オブジェクトは、アクティベーシ
ョンデーモン9100へアクティベーショングループ9018との新たな関連づ
けを通知する(ステップ10008)。アクティベーションデーモンへ通知する
場合、オブジェクトは、リースオブジェクトの複製を配信する。このリースオブ
ジェクトの複製は、リースピリオドの長さを判断するのにアクティベーションデ
ーモンによって使用可能である。アクティベーションデーモンに通知した後、オ
ブジェクトアクティベーショングループ9018の一部として走行する(ステッ
プ10010)。このステップにおいては、オブジェクトが活性化されると、オ
ブジェクトは、Javaランタイムシステム9022上で実行されることになる。暫
くの後、オブジェクトは、アクティベーショングループの一部としてより多くの
時間が必要か否かを判断する(ステップ10012)。オブジェクトがより多く
の時間を必要とするならば、オブジェクトは、リースリクエストを介して返され
るリースオブジェクト上で更新メソッドを呼び出す(ステップ10014)。そ
の後、オブジェクトは、更新リクエストが成功したか否かを判断する(ステップ
10016)。成功した場合には、処理はステップ10010へ続く。成功しな
かった場合には、処理が終了する。
【0086】 オブジェクトがより多くの時間を必要としない場合には、オブジェクトにリー
スを中断させるために、リースオブジェクト上でキャンセルメソッドを呼び出す
(ステップ10018)。このステップは、リースをキャンセルし、その結果、
アクティベーショングループ内のオブジェクトのメンバシップをキャンセルする
。次に、オブジェクトは、他のアクティベーショングループ、おそらくはアクテ
ィベーショングループ9040に対するリースを取得する。そのリースはそこか
ら到来するものである。オブジェクトが他のアクティベーショングループへ加わ
わらない場合には、オブジェクトは次の機会に活性化され、アクティベーション
デーモンは、オブジェクトを、そのデーモン自体のアクティベーショングループ
のメンバにすることになる。
【0087】 図11は、オブジェクトを活性化する場合、例えば、クライアントプログラム
9060がRMI9066を呼び出してリモートオブジェクト(すなわち、オブジ ェクト9048の一つ)上でメソッドを呼び出すような場合に、アクティベーシ
ョンデーモンによって実行されるステップのフローチャートを示したものである
。アクティベーションデーモン9100によって最初に実行されるステップは、
RMI9106からのリクエストを受信することである(ステップ11002)。R
MI9106は、クライアント9060からのリモートメソッドコールの結果とし
て呼び出すことができる。クライアント9060がリモートメソッドを呼び出す
場合には、RMI9066を介して行う。RMI9066がリモートメソッドを呼び出
した後、呼出用に使用したスタブは、情報通信用オブジェクトのネットワークポ
ートを、アクティベーションデーモン9100へのリファレンスとともに保持す
る。従って、リモートメソッドを呼び出すためのリクエストを受信する場合には
、RMI9066は、まず最初に、オブジェクトネットワークポートを介してメソ ッドを呼び出そうとする。成功した場合には、オブジェクトは、RMI9066を 介したメソッドの一つの最後の呼出以降ずっと、そのアクティブ状態が維持され
るとともに、それがメモリに存在している状態が維持される。しかしながら、こ
れが失敗した場合には、RMI9066は、RMI9106を介してリクエストをアク
ティベーションデーモン9100へ送信する。その理由は、オブジェクトを活性
化する必要があるからである。
【0088】 RMI9106からのリクエストを受信した後、アクティベーションデーモンは 、オブジェクト用のリースが終了したか否かを判断する(ステップ10004)
。当該他の実施形態においては、各オブジェクトはアクティベーショングループ
のメンバであり、通常は、未処理のリースを有することができる。アクティベー
ションデーモン9100は、コンピュータ9002内において、全オブジェクト
についての当該各オブジェクトが関連付けられる対応するアクティベーショング
ループに対するマッピング状態を維持する。アクティベーションデーモンがリー
スが終了したと判断した場合には、アクティベーションデーモンは、リクエスト
されたオブジェクトをそれ自身のアクティベーショングループへ配置する(ステ
ップ11006)。このステップにおいては、アクティベーションデーモンは、
リクエストされたオブジェクトがそれ自身のアクティベーショングループのメン
バであることの表示を保存する。オブジェクトをそれ自身のアクティベーション
グループへ配置した後、アクティベーションデーモンは、JVMを始動させオブジ ェクトを活性化する(ステップ11008)。このステップにおいては、アクテ
ィベーションデーモンは、JVMを始動させ、補助記憶装置9010からJVMのアド
レス空間へオブジェクトをロードする。更に、アクティベーションデーモンオブ
ジェクト上でリクエストされたメソッドを呼び出す。
【0089】 アクティベーションデーモンにより、リースが終了していないと判断された場
合には、アクティベーションデーモンは、オブジェクトがメンバであるアクティ
ベーショングループが現在JVMを走行中であるか否かを判断する(ステップ11 010)。終了したと判断された場合には、アクティベーションデーモンは、ア
クティベーショングループ用にJVMを始動させ(ステップ11012)、アクテ ィベーションデーモンは、次に、オブジェクトを活性化させる(ステップ100
14)。このステップにおいては、アクティベーションデーモンにより、補助記
憶装置からのオブジェクトがメモリ(始動したJVMのアドレス空間)へ移送され 、リクエストされたメソッドが呼び出される。
【0090】 図12は、オブジェクトがリースをリクエストする場合に、アクティベーショ
ングループにより実行されるステップのフローチャートを示す(すなわち、90
18)。アクティベーショングループにより実行される最初のステップは、リク
エストの優先順位を確認するためのリースリクエストのパラメータを検査するこ
とである(ステップ12004)。上述したように、パラメータは、リクエスト
されたリースピリオド及び正確なリースの表示を含む。
【0091】 パラメータを検査した後、アクティベーショングループは、リクエストが完全
であるか否かを判断する(ステップ12006)。例えば、アクティベーション
グループは、所望のリースピリオドが指定されたことを確認し、正確なリースが
リクエストされた場合には、アクティベーショングループは、当該アクティベー
ショングループがリクエストを許可できるか否かを判断する。例えば、アクティ
ベーショングループは、オブジェクトがリクエストした正確なリースに当てられ
る所定時間の間、リースを許可しようとしない。アクティベーショングループが
、リースリクエストが不完全であると判断した場合には、アクティベーショング
ループは、エラーを表示する例外オブジェクトを返し(ステップ12008)、
処理は終了する。
【0092】 リクエストが完全である場合には、アクティベーショングループは、十分なリ
ースピリオドであるか判断する(ステップ12010)。アクティベーショング
ループは、次に、リースオブジェクトを生成し、それをリモートオブジェクトに
返す(ステップ12012)。
【0093】 以上の本発明の実施形態の説明は、説明及び開示を目的としたものである。本
発明は、開示された詳細な形態により用い尽くされるものではなく、また、これ
に限定されるものではない。上述した開示を考慮すれば種々の変形例や改変は可
能であり、また、このような変形例や改変は、本発明の実施形態から必要に応じ
て導き出される。例えば、上述した実施形態は、ソフトウエアを含むものである
が、本発明は、ハードウエアとソフトウエアとの組合せにおいて又はハードウエ
アのみにおいて、実装することができる。本発明の範囲は、特許請求の範囲及び
関連するその他の記載によって定義される。
【図面の簡単な説明】 本明細書に組み込まれてその一部をなす添付図面は、本発明の実施形態を図示
するとともに、本明細書の説明と一体となって、本発明の利点及び趣旨を説明す
るためのものである。
【図1】 図1は、本発明の一実施の形態に係るアプリケーションコールプロセッサによ
って実行される工程のフローチャートである。
【図2】 図2は、本発明の一実施の形態に係るダーティーコールを処理するサーバコー
ルプロセッサによって実行される工程のフローチャートである。
【図3】 図3は、本発明の一実施の形態に係るクリーンコールを処理するサーバコール
プロセッサによって実行される工程のフローチャートである。
【図4】 図4は、本発明の一実施の形態に係るガベージコレクション処理を初期化する
サーバコールプロセッサによって実行される工程のフローチャートである。
【図5】 図5は、分散型プロセッシングシステムにおけるコールの好適なフローを示し
た図である。
【図6】 図6は、本発明に係るメソッド呼出サービスに実装されるコンポーネントを示
したブロック図である。
【図7】 図7は、本発明の一実施形態において使用される分散型プロセッシングシステ
ムの構成を示した図である。
【図8】 図8は、本発明の一実施形態に係る分散型プロセッシングシステムのプラット
フォームに含まれる個々のソフトウエアコンポーネントを示した図である。
【図9】 図9は、本発明の他の実施形態において使用されるデータプロセッシングシス
テムを示した図である。
【図10】 図10は、本発明の他の実施形態に係り、アクティベーショングループを変更
する場合にオブジェクトによって実行される工程を示したフローチャートである
【図11】 図11は、図9のアクティベーションデーモンにより実行される工程を示した
フローチャートである。
【図12】 図12は、本発明の他の実施形態に係り、リモートオブジェクトがアクティベ
ーショングループのメンバシップをリクエストする場合にアクティベーショング
ループによって実行される工程を示したフローチャートである。
【手続補正書】特許協力条約第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号、発明の名称「故障検知のためのリース」の関連出願であ
る。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正内容】
【0002】 (背景技術) A.発明の属する技術分野 本発明は、データ処理システムに関し、更に詳しくは、データ処理システムに
おけるオブジェクトのグループメンバシップのリースに関する。
───────────────────────────────────────────────────── フロントページの続き (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 (71)出願人 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 ウォールラス アン エム アメリカ合衆国、01450 マサチューセッ ツ州、グロトン、ノースウッズ ロード 9 (72)発明者 シェフラー ロバート アメリカ合衆国、02144 マサチューセッ ツ州、サマビレ、ノース ストリート 96 (72)発明者 アーノルド ケネス シー アール シー アメリカ合衆国、02173 マサチューセッ ツ州、レキシントン、ムーン ヒル ロー ド 7 Fターム(参考) 5B045 EE23 GG01 GG06 5B060 AA10 AC06 5B098 AA10 GD00 GD03 GD11 GD14 GD15 GD22

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクトのアクティベーショングループ及びリクエスト
    されたリースピリオドを指定するリースリクエストをリモートオブジェクトから
    受信するリースピリオド受信工程と、 前記リモートオブジェクトが前記アクティベーショングループのメンバとなる
    時間長さであるリースピリオドを決定するリースピリオド決定工程と、からなる
    ことを特徴とする処理システムにおけるデータ処理方法。
JP2000533813A 1998-02-26 1999-02-17 分散処理システムにおけるグループメンバシップのリースのための方法、装置及びプロダクト Pending JP2002505469A (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,834 US6421704B1 (en) 1998-03-20 1998-03-20 Method, apparatus, and product for leasing of group membership in a distributed system
US09/044,834 1998-03-20
PCT/US1999/003399 WO1999044129A1 (en) 1998-02-26 1999-02-17 Method, apparatus, and product for leasing of group membership in a distributed system

Publications (1)

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

Family

ID=26722046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533813A Pending JP2002505469A (ja) 1998-02-26 1999-02-17 分散処理システムにおけるグループメンバシップのリースのための方法、装置及びプロダクト

Country Status (7)

Country Link
EP (1) EP1057106B1 (ja)
JP (1) JP2002505469A (ja)
KR (1) KR20010041175A (ja)
CN (1) CN1298510A (ja)
AU (1) AU2770599A (ja)
DE (1) DE69907876T2 (ja)
WO (1) WO1999044129A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519110A (ja) * 2004-01-21 2007-07-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 可動オブジェクトを有するグリッド対応仮想マシンのための方法およびシステム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912578B1 (en) 2000-02-25 2005-06-28 Sun Microsystems, Inc. Method and apparatus for improving utilization of a resource on a shared client
US8843614B2 (en) 2009-12-21 2014-09-23 Electronics And Telecommunications Research Institute Apparatus and method for distributing cloud computing resources using mobile devices

Family Cites Families (2)

* 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
US5353343A (en) * 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519110A (ja) * 2004-01-21 2007-07-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 可動オブジェクトを有するグリッド対応仮想マシンのための方法およびシステム

Also Published As

Publication number Publication date
EP1057106A1 (en) 2000-12-06
KR20010041175A (ko) 2001-05-15
WO1999044129A1 (en) 1999-09-02
AU2770599A (en) 1999-09-15
CN1298510A (zh) 2001-06-06
DE69907876D1 (de) 2003-06-18
EP1057106B1 (en) 2003-05-14
DE69907876T2 (de) 2004-01-22

Similar Documents

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