JPH11161508A - リモート・オブジェクト・リソース管理のためのシステム及び方法 - Google Patents

リモート・オブジェクト・リソース管理のためのシステム及び方法

Info

Publication number
JPH11161508A
JPH11161508A JP10210176A JP21017698A JPH11161508A JP H11161508 A JPH11161508 A JP H11161508A JP 10210176 A JP10210176 A JP 10210176A JP 21017698 A JP21017698 A JP 21017698A JP H11161508 A JPH11161508 A JP H11161508A
Authority
JP
Japan
Prior art keywords
domain
server
kernel
objects
node
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
JP10210176A
Other languages
English (en)
Inventor
Andrew G Tucker
ジー タッカー アンドリュー
Madhusudhan Talluri
タルーリ マダスダン
Declan Murphy
マーフィー デクラン
Yousef A Khalidi
エイ カリディー ヨーゼフ
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
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH11161508A publication Critical patent/JPH11161508A/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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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

Abstract

(57)【要約】 (修正有) 【課題】 リモート・オブジェクト・リソース管理のた
めのオブジェクト参照を追跡するシステム及び方法を提
供する。 【解決手段】 参照係数機構は、第1段階では、オブジ
ェクトに関連するサーバ・ハンドラが、同じドメイン内
の他のユーザ・アプリケーションによるローカル参照
を、オブジェクトまで追跡する。第2段階では、プロセ
ス間通信ファシリティ(即ち、ドア・ファシリティ)
が、同じノード内の異なるドメインに移出されるオブジ
ェクト参照を追跡する。第3段階では、カーネル・オブ
ジェクト要求ブローカ(ORB)が、ノード外に移出さ
れるオブジェクト参照を追跡する。全ての外部参照が解
放される場合、ORBは、この発生をオブジェクトのサ
ーバ・ハンドラに通知する。同様に、全てのドメイン間
参照が解放された場合、ドア・ファシリティは、オブジ
ェクトのサーバ・ハンドラに通知する。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は、一般にオブジェクト指向オペレ
ーティング・システム及び特にオブジェクトの削除を容
易にするシステム及び方法に関する。
【0002】
【発明の背景】コンピュータ産業における現在の傾向
は、高速通信リンクにより連結された多数の独立コンピ
ュータ・ノードからなる相互接続である。各コンピュー
タ・ノードは、1つ又は複数のドメインと関連している
が、そこでは各ドメインが独自のアドレス空間を有する
プロセスを表す。各ドメインは、被参照オブジェクトと
同じノード内、又は被参照オブジェクトを格納するノー
ドに結合された異なるノード内のいずれかにある他のド
メインによって呼び出すことができる、多数のオブジェ
クトを格納している。通常は、オブジェクト・マネージ
ャは、既に使用されないオブジェクト参照を安全に破壊
し当該リソースを再要求する。しかしながらオブジェク
ト・マネージャは、関連したリソースを安全に再要求す
るために、オブジェクトに対する未処理の参照が既に1
つもない時を知ることが必要である。多重独立コンピュ
ータ・ノードを有する計算システムにあっては、ローカ
ル又はリモートを問わず、全てのドメインからオブジェ
クト参照を正確に追跡するための機構の存在を必要とす
る。
【0003】
【発明の概要】本発明のシステム及び方法は、通信リン
クにより相互接続された多数の独立コンピュータ・ノー
ドを含むオブジェクト指向コンピュータ・システムで用
いる、改良された参照計数方法論に関するものである。
ノードは、メモリを共用しないクライアント及び、又は
サーバのコンピュータを表す。各ノードは、1つ又は複
数のドメインを含み、ドメインの各々は個別アドレス空
間を表す。各ドメインに関連して、オブジェクトに許容
アクセスを獲得したドメイン内のどのアプリケーション
によっても呼び出すことができるオブジェクトがある。
したがって、アプリケーションは、同じドメイン内にあ
る、同じノード内の異なるドメインに常駐する、又は異
なるノード内の異なるドメインに常駐するオブジェクト
をアクセスできる。オブジェクトのロケーション(即
ち、オブジェクト・メソッド)は、ユーザには透過であ
る。
【0004】参照計数機構は、参照をオブジェクトまで
3段階で追跡する。第1段階では、オブジェクトに関連
するサーバ・ハンドラが、同じドメイン内の他のユーザ
・アプリケーションによってローカル参照をオブジェク
トまで追跡するのに用いられる。第2段階では、プロセ
ス間通信ファシリティ(即ち、ドア・ファシリティ)
が、同じノード内の異なるドメインに移出されるオブジ
ェクト参照を追跡するのに用いられる。第3段階では、
カーネル・オブジェクト要求ブローカ(ORB)が、ノ
ード外に移出されるオブジェクト参照を追跡するのに用
いられる。全ての外部オブジェクト参照が解放される場
合、ORBは、この発生をオブジェクトのサーバ・ハン
ドラに通知する。同様に、全てのドメイン間参照が解放
された場合、ドア・ファシリティは、オブジェクトのサ
ーバ・ハンドラに通知する。オブジェクトのサーバ・ハ
ンドラは、ORB及びドア・ファシリティから通知を受
け取った場合、及び独自のローカル参照が放棄された場
合に、適切な再利用手続きを開始する。
【0005】
【要望実施例の説明】
【0006】
【概要】本発明の参照計数機構は、分散コンピュータ・
システムに関連するオペレーティング・システムのプロ
セス間通信ファシリティ及びオブジェクト要求ブローカ
(ORB)を利用する。プロセス間通信ファシリティ
(即ち、ドア機構)は、同じノード内ドメイン間のオブ
ジェクト参照の移出に用いられ、ORBは、ノード間の
オブジェクト参照の移出に用いられる。このために、本
文書は、初めにプロセス間通信ファシリティ及びORB
を説明し、後に参照計数機構を説明する。図1を参照す
ると、そこには複数のコンピュータ・ノード102を含
む分散コンピュータ・システム100が示されている。
各コンピュータ・ノード102は、通信リンク104を
介して相互接続するクライアント又はサーバの独立コン
ピュータを表す。各ノードは、クライアント及び、又は
サーバのコンピュータとみなす。クライアント・コンピ
ュータは、オブジェクトを呼び出すノードに関連してい
る。サーバ・コンピュータは、オブジェクト・メソッド
を格納するノードに関連している。下に示されるよう
に、ある特定の場合には、クライアント及びサーバのコ
ンピュータは、同じノードであろう。他の場合には、ク
ライアント及びサーバのコンピュータは、互いに異なる
ノードである。
【0007】通信リンク104は、ローカル・エリア・
ネットワークに限定されず、広域通信ネットワーク又は
ネットワークの組み合わせのようなコンピュータ間のあ
らゆる型のワイヤ又はワイヤレス・リンクを一般的に示
す。クライアント又はサーバのコンピュータは、互いの
通信に通信リンク104を用いる。各ノード102は、
1つ又は複数のドメイン106、108、110、11
2、114、116を有する。ドメインは、独自のアド
レス空間を有するプロセスと定義される。ドメインは、
ユーザ又はカーネル・アプリケーション手順を実行でき
る多重実行スレッド120(通例スレッドと呼ばれる)
を有することができる。カーネル・ドメイン110、1
16は、オペレーティング・システムを示し、ユーザ・
ドメイン106、108、112、114は、オペレー
ティング・システム以外のプロセスを示す。ユーザ・ド
メイン106、108、112、114は、一般に1つ
又は複数のユーザ・アプリケーション手順を実行する。
各ドメイン106、108、110、112、114、
116は、各々に関連する1つ又は複数のオブジェクト
を有する。
【0008】要望実施例においては、オペレーティング
・システム又はカーネルは、ソラリスMCオペレーティ
ング・システムで、サン・マイクロシステム社の製品で
ある。ソラリスMCオペレーティング・システムに関す
る背景情報は、「ソラリスMC:マルチコンピュータO
S」、サン・マイクロシステム社テクニカルレポートS
MLI TR−95−48、1995年11月で得られ
るが、それは、ここに参照により取り入れられている。
ソラリスMCオペレーティング・システムは、UNIX
に基づくオペレーティング・システムである。それゆ
え、本技術を説明するにあたっては、UNIXの用語及
び概念が頻繁に使用されている。しかしながら、これは
例示のためであり、本発明をこの特定のオペレーティン
グ・システム・デザインに限定するものとして解釈すべ
きではない。
【0009】各スレッドは、オブジェクトの実行(即
ち、オブジェクト・メソッド)を要求できる。オブジェ
クトのロケーションは、スレッドには透過である。オブ
ジェクトは、いくつかのロケーションの1つに常駐でき
る。オブジェクトは、要求スレッドと同じドメイン内
に、要求スレッドと異なるドメインだが要求スレッドと
同じノード内に、又はリモート・ノードのドメイン内に
常駐できる。例えば、ユーザ・ドメイン106は、該ド
メイン内に常駐するオブジェクト124をアクセスする
スレッド121を表現している。ユーザ・ドメイン10
8は、オブジェクト124を参照する2つのスレッド1
23を示している。スレッド123は、オブジェクト1
24と異なるドメイン106に常駐しているが同じノー
ド102aに位置づけられている。スレッド123は、
ドメイン106のオブジェクトと関連づけられたファイ
ル記述子fd1 にマップされる記述子fd2 を経てオブ
ジェクト124を参照する。
【0010】その上、スレッド125は、リモート・ノ
ード102bのドメイン114に常駐するオブジェクト
138を参照する。オブジェクト138は、参照ドメイ
ン108でファイル記述子fd3 として表され、大域x
ドア識別子140及びノード識別子142から構成され
る全システム識別子にマップされる。全システム識別子
は、リモート・オブジェクト呼び出し要求で適切なリモ
ート・ノード102bへ伝送される。リモート・ノード
102bは、全システム・オブジェクト識別子を適切な
ローカル識別子に翻訳し、被要求オブジェクト138に
関連した方法を実行する。その上に、スレッド125
は、カーネル・ドメイン110内のオブジェクト135
を参照できる。オブジェクト135は、参照ドメイン1
10でファイル記述子fd4 として表され、それからカ
ーネル・ドメイン110のfd1 にマップされる。
【0011】カーネル・ドメイン110、116は、カ
ーネル・アプリケーションを実行できる多重スレッド1
20を有する。各カーネル・ドメイン110、116
は、該ドメインと関連づけられた1つ又は複数のカーネ
ル・オブジェクトを有する。カーネル・オブジェクト
は、該ドメイン内のスレッドにより、同じノード内の異
なるドメインのスレッドにより、又は別のノードの異な
るドメインのスレッドにより呼び出しができる。要求ア
プリケーションのドメイン内にあるオブジェクトに対す
るオブジェクト・メソッドの実行は、局所手続き呼び出
しとして扱われる。局所手続き呼び出しは、一般にアプ
リケーションに対する制御の復帰とともにアプリケーシ
ョンからオブジェクト・メソッドへ制御を転送する関数
又はサブルチーン呼び出しである。オブジェクトと関連
づけられる引き数は、局所手続き呼び出しの中で渡され
ていく。
【0012】リモート・ドメインに常駐するオブジェク
トに対するオブジェクト・メソッドの実行は、遠隔手続
き呼び出しとして扱われる。遠隔手続き呼び出しは、0
RBにより処理される。従って、0RBは、アプリケー
ションとして異なるドメインに常駐するオブジェクトの
メソッドを呼び出すのに用いられる。リモート・オブジ
ェクトは、アプリケーションとして同じノード又は異な
るノードに置くことができる。ドアは、オブジェクト・
メソッド及びデータを記述するカーネル状態エンティテ
ィである。ドアは、ノード内リモート・オブジェクトに
対してのみ存在する(即ち、ノード内リモート・オブジ
ェクトは、要求側ドメインと同じノード内の異なるドメ
インに常駐するオブジェクトである)。ドアは、ファイ
ル記述子(fd)により表わされる。各ユーザ・ドメイ
ン106、108、112、114は、ドメインに関連
したスレッドによりアクセス可能なオブジェクトのファ
イル記述子を格納する、ユーザxドア・テーブル126
を有する。ユーザ・ドメインは、ドメインのユーザxド
ア・テーブル126に位置するファイル記述子を経てリ
モート・オブジェクトを参照し、該オブジェクトは、実
ドアにマップされる。ドアは、ユーザがアクセス可能な
ドメインのアドレス空間ではなく、カーネル・ドメイン
に常駐する。
【0013】ドアを表すファイル記述子154の使用
は、ユーザが呼び出しできるオブジェクトを制御する保
護機構を提供する。ファイル記述子154は、保護カー
ネル状態であり、それゆえにユーザによって偽造できな
い。ファイル記述子154の所有は、アプリケーション
がオブジェクトを許容アクセスできることを表す。オブ
ジェクトを生成するドメインは、オブジェクト及び該ド
アに対するサーバとなる。サーバは、該サーバがオブジ
ェクトをアクセスしてほしいアプリケーションにオブジ
ェクト参照を移出する。この様に、分散システム100
内のオブジェクトをアクセスできるアプリケーションを
選択的に制御する保護機構がある。オブジェクトは、該
オブジェクトと関連する多数のファイル記述子154を
有することができる。これらのファイル記述子154
は、オブジェクトと同じドメイン内又はオブジェクトを
許容アクセスできる異なるドメイン内に常駐できる。リ
モート・オブジェクトを参照する各クライアント・ドメ
インは、オブジェクトを表す1つ又は複数のファイル記
述子を有する。例えば、オブジェクト124は、ドメイ
ン106のファイル記述子fd1 及びドメイン108の
ファイル記述子fd2 により参照される。オブジェクト
138は、ノード102b内のユーザ・ドメイン114
のファイル記述子fd4 に関連しており、かつノード1
02a内のユーザ・ドメイン108のファイル記述子f
d3 に関連している。本質的に、ファイル記述子は、特
定ドメイン内のオブジェクトに対するローカル識別子で
ある。
【0014】リモート・ノードによりアクセス可能なオ
ブジェクトは、特定のノード内のオブジェクトの一意的
識別に用いられる大域xドア識別子140により識別さ
れる、xドア170(図2を参照)を有する。その上、
各ノードは、分散システム100内のノードを一意的に
識別するノード識別子142により一意的に表される。
大域xドア識別子140は、分散システム100内のオ
ブジェクトを一意的に識別する識別子を生産するよう、
ノード識別子142と結合される。アプリケーション
は、ローカルxドア識別子又はファイル記述子を利用す
るオブジェクトを示す。リモート・オブジェクト呼び出
しを実行するためには、ORBは、該オブジェクトに対
してサーバ・ファイル記述子を用いるオブジェクトを参
照することが必要である。従って、ORBは、クライア
ントのオブジェクト参照(即ち、ローカルxドア識別
子)を、サーバのローカルxドア識別子にマップする。
マッピングは、ユーザ及びカーネル双方のドメインに常
駐する多数の手順及びデータ構造を利用して実行され
る。
【0015】OBRは、マッピングを実行するのに幾つ
かの機構を利用する。ORBは、次の手順を含む。即
ち、ユーザ・レベル・ハンドラ手順、xドア手順、及び
ゲートウェイ・ハンドラ手順である。xドア手順は、ユ
ーザ及びカーネル双方のドメインに常駐する。これらの
機構の簡単な説明は、以下に図2に即して提供される。
ユーザ・レベルのオブジェクトは、ハンドラ手順122
により参照される。ハンドラ手順122は、オブジェク
ト呼び出し及び引き数引き渡しの基本機構を制御する。
ハンドラ手順122は、オブジェクト呼び出しの実施、
オブジェクト参照のアドレス空間の間での伝送、オブジ
ェクト参照の解放、及び類似のオブジェクト実行時オペ
レーションを制御する。ローカル・オブジェクト呼び出
しに関しては、ハンドラ手順122は、オブジェクト・
メソッド150に対してローカル手続き呼び出しを実行
する。
【0016】リモート・オブジェクト呼び出しに関して
は、オブジェクトは、ドメイン内でユーザ・レベルxド
ア152により表される。ユーザ・レベルxドア152
は、ローカルxドア識別子153、適切なハンドラ15
6に対するポインタ、ドア識別子158、及び他の情報
により構成される。本発明の実施例においては、ローカ
ルxドア識別子156は、ファイル記述子である。ドア
識別子158は、オブジェクトを表すドアに対応し、か
つカーネル・レベル・ドア・テーブル132に格納され
ている。カーネル・レベルxドア170は、全分散シス
テムのオブジェクトを表すのに用いられるカーネル状態
エンティティである。カーネル・レベルxドア170
は、大域xドア識別子140、ノード識別子142、関
連ハンドラ・コードに対するポインタ144、ドア識別
子146、及び他の情報を含んでいる。大域xドア識別
子140は、ノード内のオブジェクトの一意的な識別に
使用され、大域xドア識別子140とノード識別子14
2の組み合わせは、分散システム100内のオブジェク
トの一意的な識別に用いられる。ドア識別子146は、
対応ドア162の識別に用いられる。
【0017】カーネル・オブジェクトを表すカーネル・
レベルxドア170は、カーネル・ドメイン内のカーネ
ル・オブジェクトを表すローカルxドア識別子147を
含む追加フィールドを格納する。一般に、ローカルxド
ア識別子147は、ファイル記述子154である。カー
ネル・レベル・ファイル記述子テーブル130は、ノー
ド102内に存在する各ファイル記述子154の格納に
用いられる。ファイル記述子テーブル130は、セグメ
ント155に区分される。各セグメントは、特定のドメ
インと関連するファイル記述子154を表す。各ファイ
ル記述子エントリ154は、カーネル・レベル・ドア・
テーブル132に格納されたドアを参照する。ドア16
2は、ドア識別子164、プロセス・ロケーション・ポ
インタ166、及び他の情報を含む。プロセス・ロケー
ション・ポインタ166は、呼び出しを実行するのに用
いられるサーバのアドレス空間内の手続きに対するエン
トリ・ポイントを反映する。ノード内リモート・オブジ
ェクト呼び出しの場合は、プロセス・ロケーション・ポ
インタ166は、サーバのxドア手続き128をアクセ
スするのに用いられる。ノード間リモート・オブジェク
ト呼び出しの場合は、プロセス・ロケーション・ポイン
タ166は、オブジェクトと関連するゲートウェイ・ハ
ンドラ168をアクセスするのに用いられる。ゲートウ
ェイ・ハンドラ168は、対応ノードに対するリモート
・オブジェクト呼び出し要求の移送を容易にするのに用
いられる。ゲートウェイ・ハンドラ168は、全システ
ムの各識別子に対するファイル記述子154を利用する
オブジェクト呼び出しを翻訳する。
【0018】プロセス間通信ファシリティ及び0RBフ
ァシリティは、これまでに説明された。次に討議は、オ
ブジェクト参照が移出される場合、これらのファシリテ
ィを利用してオブジェクト参照が追跡される方法に移
る。ユーザ・ドメイン内に当該方法が常駐するオブジェ
クトは、ユーザ・オブジェクトとみなされる。カーネル
・ドメイン内に当該方法が常駐するオブジェクトは、カ
ーネル・オブジェクトとみなされる。参照計数機構は、
ユーザ・オブジェクト及びカーネル・オブジェクトに関
してやや異なる。それゆえ、下記の説明は、ユーザ・オ
ブジェクトに用いられる参照計数機構の説明であり、そ
の後、カーネル・オブジェクトに用いられる参照計数機
構の説明が続く。
【0019】
【ユーザ・オブジェクト参照計数】ユーザ・オブジェク
トは、種々のドメインから参照できる。ユーザ・オブジ
ェクトは、オブジェクト・メソッドを格納するドメイン
内の1つ又は複数のスレッドから、同じノード内の異な
るドメインから、又は異なるノード内の異なるドメイン
から参照できる。それゆえ、参照計数機構は、オブジェ
クト参照の移出を支援する種々の全機構に分散してい
る。図4は、オブジェクト参照が追跡される種々のレベ
ルを示す。オブジェクトと関連するサーバ・ハンドラ1
22は、参照をオブジェクト・ドメイン内のオブジェク
トまで追跡する(ハンドラ・レベル)。プロセス間通信
ファシリティに関連するドア機構は、同じノード内の異
なるドメインに存在する参照を追跡するのに用いられる
(ドア・レベル)。ORBに関連するxドア機構は、ノ
ード外に存在する参照を追跡するのに用いられる(xド
ア・レベル)。
【0020】図2及び3を参照すると、オブジェクトに
関連するサーバ・ハンドラ122は、オブジェクトを現
在参照するドメイン内のスレッド数の参照計数127を
維持する(ハンドラ・レベル)。参照計数127は、サ
ーバ・ハンドラ手順122内に常駐する。同じノードに
常駐するドメイン間に渡されるオブジェクト参照に関し
ては(ドア・レベル)、各オブジェクトに関連するドア
162は、参照を取得したノード内の各ユーザ・ドメイ
ンに対して参照計数167を維持する。その上、ドア参
照計数167は、オブジェクトがサーバ・ドメイン外に
(即ち、カーネル・ドメイン又はリモート・ノード内の
異なるドメインに)移出される時一度だけ増加される。
ノード間又はカーネル・ドメインに渡されるオブジェク
ト参照に関しては(xドア・レベル)、各オブジェクト
に関連するxドア170は、オブジェクトへの参照を取
得した各ノード及び各カーネル・ドメイン参照に対して
参照計数148を維持する。
【0021】ドア及びxドア・レベルにおける参照計数
機構は、各当該参照が放棄された場合、オブジェクトに
関連するサーバ・ハンドラに指示する。サーバ・ハンド
ラが該メッセージの双方を受け取りかつ未処理の内部参
照がない場合、サーバ・ハンドラは、オブジェクト及び
当該関連リソースを放棄できる。図3から5は、ユーザ
・オブジェクトに関する参照計数機構をさらに詳細に示
す。図5Aは、同じノード内のユーザ・ドメイン間に移
出されるオブジェクト参照を追跡する参照計数プロトコ
ルを示す。図5Bは、同じノード内のユーザ・ドメイン
とカーネル・ドメインの間に移出されるオブジェクト参
照を追跡する参照計数プロトコルを示す。図5Cは、1
つのノードのユーザ・ドメインと他のノードのユーザ・
ドメインの間に移出されるオブジェクト参照を追跡する
参照計数プロトコルを示す。図5Dは、1つのノードの
ユーザ・ドメインと他のノードのカーネル・ドメインの
間に移出されるオブジェクト参照を追跡する参照計数プ
ロトコルを示す。これらのシナリオの各々は、以下で詳
細に論じられる。
【0022】図2から5Aを参照すると、サーバ・ハン
ドラ122は、特定のオブジェクトをアクセスするオブ
ジェクト・ドメイン内のスレッド数の参照計数127を
維持する。各オブジェクトは、関連サーバ・ハンドラ1
22を有する。サーバ・ハンドラ122は、サーバ・ユ
ーザxドア手順128にオブジェクト参照を伝送するこ
とによってオブジェクトの移出を開始する。この時初め
てオブジェクト参照が別のドメインに移出される場合
は、サーバ・ユーザxドア手順128は、オブジェクト
に対しドアを生成する。それからサーバ・ユーザxドア
手順128は、予定ドメインにオブジェクト参照を渡す
ために適切な遠隔手続き呼び出し(RPC)を行う。オ
ブジェクト参照が同じノード内の別のドメインに渡され
る場合は、RPCは、ドア- コールとして表されるカー
ネル手順である。ドア- コールは、プロセス間通信又は
ドア機構の一部である。ドア- コールは、関連ドア16
2の参照計数167を増やし、制御を関連クライアント
・ユーザ・xドア手順128に伝送する。ドア- コール
は、クライアント・ユーザ・xドア手順128のロケー
ションを判断するためにドア・プロセス・ロケーション
・フィールド166を利用する。オブジェクト参照に関
連するドア識別子164は、クライアント・ユーザxド
ア手順128に渡されて行く。
【0023】クライアント・ユーザxドア手順128
は、オブジェクト参照が既にドメイン内に存在するかど
うかを判断する。これは、受け取られたドア識別子を含
むエントリを求めてクライアント・ドメイン・ユーザx
ドア・テーブル126を探索することにより行われる。
オブジェクト参照がユーザxドア・テーブル126に発
見される場合は、クライアント・ユーザxドア手順12
8は、ドメイン内の参照を閉じるため、かつ関連ドア1
62の参照計数167を減らすために、カーネル・レベ
ル・ドア手順177を呼び出す。オブジェクト参照がド
メイン内に既に存在しない場合は、クライアント・ユー
ザxドア手順128は、クライアント・ドメイン内のオ
ブジェクト参照に対するファイル記述子154及びクラ
イアント・ハンドラ122を生成する。ファイル記述子
154及びクライアント・ハンドラ122は、予定のア
プリケーションがオブジェクトを参照することを可能に
する。その上、予定のアプリケーションは、オブジェク
ト参照を他のドメインに移出できる。クライアント・ハ
ンドラ122は、クライアント・ドメイン内のオブジェ
クトに対する参照数を示す独自の内部参照計数127を
維持する。
【0024】オブジェクトに対する全ての参照がドメイ
ンの中で解放された場合、クライアント・ハンドラ12
2は、クライアント・ユーザxドア手順128に通知す
る。クライアント・ユーザxドア手順128は、ドメイ
ン内のオブジェクト参照を閉じかつ関連ドア162の参
照計数を減ずるためにカーネル・レベル・ドア手順17
7を呼び出す。ある点において、全てのリモート・ドメ
インに移出された全てのオブジェクト参照は、放棄され
る。これが起こる場合、オブジェクト・ドア162に関
連する参照計数167は、ゼロに戻る。カーネル・レベ
ル・ドア手順177は、オブジェクト・ドア参照計数1
67がゼロであることを認め、全てのリモート・ドメイ
ンの全ての参照が解放されたことを、対応サーバ・ハン
ドラ128に通知する。カーネル・レベル・ドア手順1
77は、サーバ・ユーザxドア手順128にメッセージ
を伝送し、サーバ・ユーザxドア手順128は、適切な
サーバ・ハンドラ122にメッージを伝送する。サーバ
・ハンドラ122がオブジェクトに対する全ての参照が
解放された通知を受け取った場合、サーバ・ハンドラ1
22は、オブジェクトを解放するための適切な手順を開
始できる。
【0025】図2から4及び5Bは、同じドメイン内の
カーネル・ドメインにより参照されるユーザ・オブジェ
クトを追跡する参照計数プロトコルを示す。サーバ・ハ
ンドラ122は、サーバ・ユーザxドア手順128にオ
ブジェクト参照を伝送することによりオブジェクトの移
送を開始する。オブジェクトがカーネル・ドメインに渡
されるのがこの時初めてならば、サーバ・ユーザxドア
手順128は、オブジェクトに対してゲートウェイ・ハ
ンドラ168を生成する。それからサーバ・ユーザxド
ア手順128は、カーネル・ドメインにオブジェクト参
照を渡すために適切な遠隔手続き呼び出し(RPC)を
行う。オブジェクト参照が同じノード内のカーネル・ド
メインに渡される場合は、RPCは、ドア- コールとし
て表されるカーネル手順である。ドア- コールは、プロ
セス間通信又はドア機構の一部である。ドア- コール
は、関連ドア162の参照計数167を増やし、関連ゲ
ートウェイ・ハンドラ168に制御を伝送する。ドア-
コールは、ゲートウェイ・ハンドラ168のロケーショ
ンを判断するためドア・プロセス・ロケーション・フィ
ールド166を利用する。ゲートウェイ・ハンドラは、
クライアント・カーネルxドア手順174に参照を渡
す。
【0026】クライアント・カーネルxドア手順174
は、オブジェクトに関連するxドア170内の参照計数
145を増加する。オブジェクトがカーネル・ドメイン
に渡されるのがこの時初めてならば、クライアント・カ
ーネルxドア手順174は、オブジェクトに対しカーネ
ル・クライアント・ハンドラ169及びxドア170を
生成する。クライアント・カーネルxドア手順174が
オブジェクトに対してxドア170を既に有するなら
ば、クライアント・カーネルxドア手順174は、関連
ゲートウェイ168にメッセージを伝送して、オブジェ
クトがカーネル・ドメインに前もって伝送されているこ
とを表示する。それからゲートウェイ・ハンドラ168
は、ドア参照計数167を減らす。このことは、カーネ
ル・ドメイン又はノードへのいかなる数の参照に対して
もドア内に1つの参照計数を維持するために行われる。
【0027】クライアント・カーネルxドア手順174
は、それからカーネル・クライアント・ハンドラ169
にオブジェクト参照を渡す。カーネル・クライアント・
ハンドラ169は、カーネル・ドメイン内のオブジェク
トをアクセスできるスレッドの参照計数171を維持す
る。その上、予定アプリケーションは、他のドメインに
オブジェクト参照を移出できる。オブジェクトに対する
全ての参照がカーネル・ドメインで解放された場合、カ
ーネル・クライアント・ハンドラ169は、クライアン
ト・カーネルxドア手順174に通知する。クライアン
ト・カーネルxドア手順174は、オブジェクトに関連
するxドア170の参照計数145を減少する。xドア
170の参照計数145が全ての外部及びカーネル参照
が放棄されたと表示する場合、クライアント・カーネル
xドア手順174は、以下にさらに詳細に説明される如
くサーバ・ハンドラ122に通知する。
【0028】図2から4及び5Cは、リモート・ノード
のユーザ・ドメインにより参照されるユーザ・オブジェ
クトを追跡する参照計数プロトコルを示す。サーバ・ハ
ンドラ122は、サーバ・ユーザxドア手順128にオ
ブジェクト参照を伝送することによりオブジェクトの移
出を開始する。オブジェクトがクライアント・ドメイン
外に渡されるのがこの時初めてならば、サーバ・ユーザ
xドア手順128は、オブジェクトに対して、ドア16
2、ファイル記述子154、及びゲートウェイ・ハンド
ラ168を生成する。それからサーバ・ユーザxドア手
順128は、カーネル・ドメインにオブジェクト参照を
渡すためにドア- コール(RPC)を行う。ドア- コー
ルは、関連ドア162の参照計数167を増加させ、か
つ関連ゲートウェイ・ハンドラ168に制御を転送す
る。ドア- コールは、ゲートウェイ・ハンドラ168の
ロケーションを判断するためにドア・プロセス・ロケー
ション・フィールド166を利用する。ゲートウェイ・
ハンドラ168は、サーバxドア手順174にオブジェ
クト参照を渡す。
【0029】オブジェクトがカーネル・ドメインに渡さ
れるのがこの時初めてならば、サーバxドア手順174
は、オブジェクトに対しxドア170を生成する。サー
バxドア手順174は、別のノードへのオブジェクト参
照の移出を反映するために関連xドア170で参照計数
145を増加させる。それからサーバxドア手順174
は、予定ノードにオブジェクト参照を伝送する。オブジ
ェクト参照は、予定ノードのクライアント・カーネルx
ドア174により受け取られる。クライアント・カーネ
ル・ドア174は、オブジェクト参照がノード内に既に
存在するかどうかを判断する。これは、受け取られた大
域xドア識別子140を含むエントリを求めてカーネル
xドア・テーブル136を探索することにより行われ
る。オブジェクト参照がカーネルxドア・テーブル13
6で発見されるならば、クライアント・カーネルxドア
174は、サーバ・カーネルxドア174にメッセージ
を送り出し、クライアント・カーネルxドア174が既
に参照を受け取ったことを表示する。サーバ・カーネル
xドア174は、サーバ・カーネル・ドメインの関連x
ドア170で参照計数145を減らす。
【0030】オブジェクト参照がドメインに既に存在し
なければ、クライアント・カーネルxドア手順128
は、オブジェクト参照に対しxドア170及びゲートウ
ェイ・ハンドラ122を生成する。次にクライアント・
カーネルxドア手順174は、ゲートウェイ・ハンドラ
168に制御を転送する。オブジェクト参照が初めてク
ライアント・ドメインに渡されるならば、ゲートウェイ
・ハンドラ168は、オブジェクト参照に対しドア16
2及び記述子154を生成する。ゲートウェイ・ハンド
ラ168は、オブジェクトに対するクライアント・カー
ネル・ドメイン参照を明らかにするために、ドア参照計
数167を1に初期化する。それからゲートウェイ・ハ
ンドラ168は、クライアント・ユーザxドア手順12
8に制御を転送する。
【0031】クライアント・ユーザxドア手順128が
既にオブジェクト参照を受け取っているならば、クライ
アント・ユーザxドア手順128は、ドア参照計数16
7を減らすためにカーネル手順を呼び出す。引き続き次
に、クライアント・ユーザxドア手順128は、予定の
アプリケーションにオブジェクト手順を渡す。オブジェ
クト参照が該クライアント・ドメインに渡されるのがこ
の時初めてならば、クライアント・ユーザxドア手順1
28は、オブジェクト参照のためにクライアント・ハン
ドラ122を生成する。クライアント・ハンドラ122
は、予定アプリケーションがオブジェクトを参照するの
を可能にするために用いられる。その上、予定アプリケ
ーションは、オブジェクト参照を他のドメインに移出で
きる。クライアント・ハンドラ122は、さらにクライ
アント・ドメイン内のオブジェクトをアクセスする当該
スレッドの内部参照計数127を維持する。
【0032】ドメイン内のオブジェクトに対する全ての
参照が解放された場合、クライアント・ハンドラ122
は、クライアント・ユーザxドア128にこの事象を通
知する。クライアント・ユーザxドア手順は、関連ドア
162の参照計数167を減らすためにカーネル−レベ
ル・ドア手順177を呼び出す。ある点において、クラ
イアント・ノード内の全てのユーザ・ドメインに移出さ
れた全てのオブジェクト参照は、放棄される。このこと
が起きた場合、オブジェクト・ドア162に関連する参
照計数167は、1に戻る。この点において、カーネル
・レベル・ドア手順177は、対応するゲートウェイ・
ハンドラ168に、オブジェクトに対する全ての参照が
ノード内の全てのユーザ・ドメインで解放されたことを
通知する。ゲートウェイ・ハンドラ168は、次にクラ
イアントxドア手順174にこの事象を通知する。
【0033】クライアント・カーネルxドア手順174
は、ある点において、ノード内のオブジェクトに対する
全参照が放棄されたことを認識する。このことは、以下
に説明される如くカーネル・ドメイン参照がなく、かつ
ノード内に未処理のユーザ・ドメイン参照がない場合に
起きる。このことが起きた場合、クライアント・カーネ
ルxドア手順174は、次にノード内のオブジェクト参
照を閉じ、サーバ・カーネルxドア手順174にメッセ
ージを伝送して、ノードがオブジェクトに対する未処理
の参照を有しないことを表示する。カーネル・サーバx
ドア手順174は、関連xドア170で参照計数148
を減らす。ここでサーバ・カーネルxドア手順に移る
と、xドア170内の参照計数145が1になる場合、
サーバ・カーネルxドア手順は、カーネル・サーバ・ド
メイン又はどのリモート・ノードからもオブジェクトに
対する未処理の参照が既に全くないことを認識する。カ
ーネル・サーバxドア手順174は、次にメッセージの
フォーマットを作り、サーバ・ハンドラ122に伝送さ
れるこの事象を表示する。カーネル・サーバxドア手順
174は、ゲートウェイ・ハンドラ168にメッセージ
を伝送する。ゲートウェイ・ハンドラ168は、関連ド
ア162内の参照計数167を減らし、かつサーバ・ユ
ーザxドア128を経て関連サーバ・ハンドラ122に
メッセージを伝送する。
【0034】サーバ・ハンドラ122が、全ての外部ノ
ードがオブジェクトに対する参照を放棄しノード内の全
てのドメインがオブジェクトに対する参照を放棄したと
いう通知を受け取った場合、及びサーバ・ハンドラ参照
計数127がオブジェクトに対するローカル参照が既に
全くないことを表示する場合、サーバ・ハンドラ122
は、そこでオブジェクトを放棄するための適切な処置を
取ることができる。図2から4及び5Dは、リモート・
ノード内のカーネル・ドメインにより参照されるユーザ
・オブジェクトを追跡する参照計数プロトコルを示して
いる。サーバ・ハンドラ122は、サーバ・ユーザxド
ア手順128にオブジェクト参照を伝送することにより
オブジェクトの移出を開始する。オブジェクトがクライ
アント・ドメイン外に渡されるのがこの時初めてなら
ば、サーバ・ユーザxドア手順128は、オブジェクト
に対しドア162、ファイル記述子154、及びゲート
ウェイ・ハンドラ168を生成する。サーバ・ユーザx
ドア手順128は、次にカーネル・ドメインにオブジェ
クト参照を渡すためにドア- コール(RPC)を行う。
【0035】ドア- コールは、関連ドア162の参照計
数167を増加させ、かつ関連ゲートウェイ・ハンドラ
168に制御を伝送する。ドア- コールは、ゲートウェ
イ・ハンドラ168のロケーションを判断するためにド
ア・プロセス・ロケーション・フィールド166を利用
する。ゲートウェイ・ハンドラ168は、サーバxドア
手順174にオブジェクト参照を渡す。オブジェクトが
カーネル・ドメインに渡されるのがこの時初めてなら
ば、サーバxドア手順174は、オブジェクトに対しx
ドア170を生成する。サーバxドア手順174は、別
のノードへのオブジェクト参照の移出を反映するため
に、関連xドア170の参照計数145を増加させる。
サーバxドア手順174は、次に予定ノードにオブジェ
クト参照を伝送する。
【0036】オブジェクト参照は、予定ノード中のクラ
イアント・カーネルxドア174により受け取られる。
クライアント・カーネル・ドア174は、ノード内にオ
ブジェクト参照が既に存在するかどうかを判断する。こ
れは、受け取られた大域xドア識別子140を含むエン
トリを求めてカーネルxドア・テーブル136を探索す
ることにより行われる。オブジェクト参照がカーネルx
ドア・テーブル136で発見されるならば、クライアン
ト・カーネルxドア174は、サーバ・カーネルxドア
174にメッセージを送り出し、参照を既に受け取った
ことを表示する。サーバ・カーネルxドア174は、サ
ーバ・カーネル・ドメインの関連xドア170で参照計
数145を減らす。オブジェクト参照がドメインに既に
存在しないならば、クライアント・カーネルxドア手順
128は、オブジェクト参照のためにxドア170及び
カーネル・クライアント・ハンドラ169を生成する。
クライアント・カーネルxドア手順174は、次にクラ
イアント・ハンドラ169に制御を転送する。クライア
ント・ハンドラ169は、予定アプリケーションがオブ
ジェクトを参照するのを可能にするために用いられる。
その上、予定アプリケーションは、他のドメインにオブ
ジェクト参照を移出できる。クライアント・ハンドラ1
69は又、クライアント・ドメイン内のオブジェクトを
アクセスするスレッドの内部参照計数171を維持す
る。
【0037】オブジェクトに対する全ての参照がカーネ
ル・ドメインで解放された場合、カーネル・クライアン
ト・ハンドラ169は、クライアント・カーネルxドア
手順174に通知する。クライアント・カーネルxドア
手順174は、オブジェクトに関連するxドア170の
参照計数145を減らす。xドア170の参照計数14
5が全ての参照が放棄されたことを表示する場合、前も
って上記に説明された如くクライアント・カーネルxド
ア手順174は、オブジェクト・サーバ・ハンドラに通
知する。ユーザ・オブジェクトを追跡する参照計数機構
は、これまでで説明された。次に、カーネル・オブジェ
クトを追跡するのに用いられる参照計数機構に、注意を
向ける。
【0038】
【カーネル・オブジェクト参照計数】カーネル・オブジ
ェクトは、種々のドメインから参照できる。カーネル・
オブジェクトは、カーネル・オブジェクト・メソッドを
格納するドメイン内の1つ又は複数のカーネル・スレッ
ドから、同じノード内の1つ又は複数のユーザ・ドメイ
ンから、又は異なるノード内の異なるドメインから参照
できる。それゆえ、参照計数機構は、カーネル・オブジ
ェクト参照の移出を支援する種々の機構全体に分散して
いる。図4は、カーネル・オブジェクトが追跡される種
々のレベルを示している。カーネル・オブジェクトに関
連するサーバ・ハンドラ169は、参照をカーネル・オ
ブジェクト・ドメイン(ハンドラ・ドメイン)内のカー
ネル・オブジェクト127まで追跡する。プロセス間通
信ファシリティに関連するドア機構は、ユーザ・ドメイ
ンに存在する参照を追跡するのに用いられる(ドア・レ
ベル)。ORBに関連するxドア機構は、サーバ・ドメ
イン外に存在する参照を追跡するのに用いられる(xド
ア・レベル)。
【0039】図3から4、及び6は、カーネル・オブジ
ェクトに関する参照計数機構をさらに詳細に示す。図6
Aは、同じノード内のユーザ・ドメインに移出されるカ
ーネル・オブジェクト参照を追跡する参照計数プロトコ
ルを示す。図6Bは、サーバ・ノードのカーネル・ドメ
インとクライアント・ノードのユーザ・ドメインの間に
移出されるカーネル・オブジェクト参照を追跡する参照
計数プロトコルを示す。図6Cは、サーバ・ノードのカ
ーネル・ドメインとクライアント・ノードのカーネル・
ドメインの間に移出されるカーネル・オブジェクト参照
を追跡する参照計数プロトコルを示す。これらのシナリ
オの各々は、以下で詳細に論じられる。図2から4、及
び6Aは、カーネル・オブジェクトと同じノード内の1
つ又は複数のユーザ・ドメインにより参照されるカーネ
ル・オブジェクトを追跡する参照計数プロトコルを示
す。カーネル・オブジェクトに関連するサーバ・ハンド
ラ169は、カーネル・オブジェクトを現行参照するカ
ーネル・ドメイン内のスレッド数の参照計数171を維
持する。各カーネル・ドメインは、関連サーバ・ハンド
ラ169を有する。サーバ・ハンドラ169は、サーバ
・カーネルxドア手順174にカーネル・オブジェクト
参照を伝送することにより、カーネル・オブジェクトの
移出を開始する。
【0040】サーバ・カーネルxドア手順174は、カ
ーネル・オブジェクトが初めて異なるドメインに移出さ
れる時、カーネル・オブジェクトに対してxドア170
及びゲートウェイ・ハンドラ168を生成する。サーバ
・カーネルxドア手順174は、オブジェクト参照をゲ
ートウェイ・ハンドラ168に伝送する。ゲートウェイ
・ハンドラ168は、カーネル・オブジェクトが初めて
ノード内のユーザ・ドメインに移出される時、カーネル
・オブジェクトに対してドア及びファイル記述子154
を生成する。ゲートウェイ・ハンドラ168は、オブジ
ェクト参照を予定ユーザ・ドメインに転送するためにド
ア- アップコールを実行する。ドア- アップコールは、
ドア162で参照計数167を増加させ、かつクライア
ント・ユーザxドア手順128に制御を伝送する。
【0041】クライアント・ユーザxドア手順128
は、カーネル・オブジェクトがクライアント・ドメイン
に渡されるのがこの時最初ならば、クライアント・ドメ
イン内でオブジェクト参照に対しクライアント・ハンド
ラを生成する。クライアント・ユーザxドア手順128
は又、カーネル・オブジェクト参照がクライアント・ド
メインに以前に伝送されているならば、チェックする。
この場合、クライアント・ユーザxドア手順128は、
関連ドア162の参照計数167を減らすためにカーネ
ル・レベル・ドア手順177を呼び出す。クライアント
・ユーザxドア手順128は、次にクライアント・ハン
ドラ122に制御を転送する。クライアント・ハンドラ
122は、予定アプリケーションがオブジェクトを参照
するのを可能にするために用いられる。その上、予定ア
プリケーションは、他のドメインにオブジェクト参照を
移出できる。クライアント・ハンドラ122は、さらに
クライアント・ドメイン内のオブジェクトをアクセスす
るスレッドの内部参照計数127を維持する。
【0042】ドメイン内のオブジェクトに対する全ての
参照が解放される場合、クライアント・ハンドラ122
は、クライアント・ユーザxドア手順128にこの事象
を通知する。クライアント・ユーザxドア手順128
は、関連ドア162の参照計数167を減らすためにカ
ーネル・レベル・ドア手順177を呼び出す。ある点に
おいて、サーバ・ノード内の全てのユーザ・ドメインに
移出された全てのオブジェクト参照は、放棄される。こ
れが起こる場合、オブジェクト・ドア162に関連する
参照計数167は、1に戻る。この点において、カーネ
ル・レベル・ドア手順177は、オブジェクトに対する
全ての参照がノード内の全てのユーザ・ドメインで解放
されたことを、対応ゲートウェイ・ハンドラ168に通
知する。ゲートウェイ・ハンドラ168は、次にサーバ
・カーネルxドア手順174にこの事象を通知する。あ
る特定の条件下において、以下に説明される如く、サー
バ・カーネルxドア手順174は、カーネル・オブジェ
クトに対する全てのリモート参照が放棄されたことを、
サーバ・ハンドラに通知する。
【0043】図2から4、及び6Bは、リモート・ノー
ド内の1つ又は複数のユーザ・ドメインにより参照され
るカーネル・オブジェクトを追跡する参照計数プロトコ
ルを示す。サーバ・ハンドラ169は、サーバ・カーネ
ルxドア手順174にカーネル・オブジェクト参照を伝
送することにより、カーネル・オブジェクトの移出を開
始する。カーネル・オブジェクトがリモート・ドメイン
に移出されるのがこの時初めてならば、サーバ・カーネ
ルxドア手順174は、カーネル・オブジェクトに対し
xドア170を生成する。サーバ・カーネルxドア手順
174は、次に予定ノードにカーネル・オブジェクト参
照を伝送する。オブジェクト参照は、予定ノード内のク
ライアント・カーネルxドア174により受け取られ
る。クライアント・カーネル・ドア174は、オブジェ
クト参照がノード内に既に存在するかどうかを判断す
る。これは、受け取られた大域xドア識別子140を含
むエントリを求めてカーネルxドア・テーブル136を
探索することにより行われる。オブジェクト参照がカー
ネルxドア・テーブル136で発見される場合は、クラ
イアント・カーネルxドア174は、メッセージをサー
バ・カーネルxドア174に送り出し、参照を既に受け
取ったことを表示する。サーバ・カーネルxドア174
は、サーバ・カーネル・ドメインの関連xドア170で
参照計数145を減らす。
【0044】オブジェクト参照がドメイン内に既に存在
しなければ、クライアント・カーネルxドア手順128
は、オブジェクト参照のためにxドア170及びゲート
ウェイ・ハンドラ122を生成する。クライアント・カ
ーネルxドア手順174は、次にゲートウェイ・ハンド
ラ168に制御を転送する。オブジェクト参照がクライ
アント・ドメインに初めて渡されるのならば、ゲートウ
ェイ・ハンドラ168は、オブジェクト参照に対してド
ア162及びファイル記述子154を生成する。ゲート
ウェイ・ハンドラ168は、オブジェクトに対するカー
ネル・ドメイン参照を明らかにするために、ドア参照計
数167を1に初期化する。ゲートウェイ・ハンドラ1
68は、次にクライアント・ユーザxドア手順128に
制御を転送する。
【0045】クライアント・ユーザxドア手順128が
オブジェクト参照を既に受け取っているならば、クライ
アント・ユーザxドア手順128は、ドア参照計数16
7を減らすためにカーネル手順を呼び出す。クライアン
ト・ユーザxドア手順128は、引き続き次に、予定ア
プリケーションにオブジェクト参照を渡す。クライアン
ト・ユーザxドア手順128は、オブジェクト参照がク
ライアント・ドメインに渡されるのがこの時初めてなら
ば、オブジェクト参照のためにクライアント・ハンドラ
122を生成する。クライアント・ハンドラ122は、
予定アプリケーションがオブジェクトを参照するのを可
能にするために用いられる。その上、予定アプリケーシ
ョンは、他のドメインにオブジェクト参照を移出でき
る。クライアント・ハンドラ122は又、クライアント
・ドメイン内のオブジェクトをアクセスするスレッドの
内部参照計数127を維持する。
【0046】ドメイン内のオブジェクトに対する全ての
参照が解放される場合、クライアント・ハンドラ122
は、この事象をクライアント・ユーザxドア128に通
知する。クライアント・ユーザxドア手順128は、関
連ドア162の参照計数167を減らすために、カーネ
ル・レベル・ドア手順177を呼び出す。ある点におい
て、クライアント・ノード内の全てのユーザ・ドメイン
に移出された全てのオブジェクト参照は、放棄される。
これが起こる場合、オブジェクト・ドア162に関連す
る参照計数167は、1に戻る。この点において、カー
ネル・レベル・ドア手順177は、オブジェクトに対す
る全ての参照がノード内の全てのユーザ・ドメインで解
放されたことを、対応ゲートウェイ・ハンドラ168に
通知する。ゲートウェイ・ハンドラ168は、次にクラ
イアント・カーネルxドア手順174にこの事象を通知
する。
【0047】クライアント・カーネルxドア手順174
は、ある点においてノード内のオブジェクトに対する全
ての参照が放棄されたことを認識する。これは、未処理
のカーネル・ドメイン参照がない場合、及び未処理のノ
ード内ユーザ・ドメイン参照がない場合に起こる。これ
が起こる場合、クライアント・カーネルxドア手順17
4は、次にノード内のオブジェクト参照を閉じ、かつサ
ーバ・カーネルxドア手順174にメッージを転送し
て、ノードはオブジェクトに対し未処理の参照を有しな
いことを表示する。カーネル・サーバxドア手順174
は、関連xドア170中の参照計数145を減らす。こ
こでサーバ・カーネルxドア手順174に移ると、xド
ア170の参照計数145が1になる場合、サーバ・カ
ーネルxドア手順174は、カーネル・ドメイン又はど
のリモート・ノードからもオブジェクトに対し未処理の
参照が既にないと認識する。カーネル・サーバxドア手
順174は、次にメッセージをフォーマットしサーバ・
ハンドラ122に伝送されるこの事象を表示する。カー
ネル・サーバxドア手順174は、ゲートウェイ・ハン
ドラ168にメッセージを伝送する。ゲートウェイ・ハ
ンドラ168は、関連ドア162の参照計数167を減
らし、サーバ・ユーザxドア手順128を経て関連サー
バ・ハンドラ122にメッセージを伝送する。
【0048】サーバ・ハンドラ122が、全ての外部ノ
ードがオブジェクトに対する参照を放棄しノード内の全
てのドメインがオブジェクトに対する参照を放棄した通
知を受け取った場合、及びサーバ・ハンドラ参照計数1
27がオブジェクトに対するいかなるローカル参照も既
にないと表示する場合、サーバ・ハンドラ122は、そ
こでオブジェクトを放棄するための適切な処置を取るこ
とができる。図2から4、及び6Cは、リモート・ノー
ド内のカーネル・ドメインにより参照されるカーネル・
オブジェクトを追跡する参照計数プロトコルを示す。サ
ーバ・ハンドラ169は、サーバ・カーネルxドア手順
174にカーネル・オブジェクト参照を伝送することに
よりカーネル・オブジェクトの移出を開始する。サーバ
・カーネルxドア手順174は、カーネル・オブジェク
トがリモート・ドメインに移出されるのがこの時初めて
ならば、カーネル・オブジェクトに対しxドア170を
生成する。xドア170の参照計数145は、増加され
る。サーバ・カーネルxドア手順174は、次にカーネ
ル・オブジェクト参照を予定ノードに伝送する。
【0049】オブジェクト参照は、予定ノードのクライ
アント・カーネルxドア174により受け取られる。ク
ライアント・カーネルxドア174は、オブジェクト参
照がノード内に既に存在するかどうかを判断する。これ
は、受け取られた大域xドア識別子を含むエントリを求
めてカーネルxドア・テーブル136を探索することに
より行われる。オブジェクト参照がカーネルxドア・テ
ーブル136で発見されるならば、クライアント・カー
ネルxドア174は、メッセージをサーバ・カーネルx
ドア174に送り出し、参照を既に受け取ったことを表
示する。サーバ・カーネルxドア174は、サーバ・カ
ーネル・ドメインの関連xドアで参照計数145を減ら
す。オブジェクト参照がドメイン内に既に存在しないな
らば、クライアント・カーネルxドア手順174は、オ
ブジェクト参照のためにxドア170及びカーネル・ク
ライアント・ハンドラ169を生成する。クライアント
・カーネルxドア手順174は、次にクライアント・ハ
ンドラ169に制御を転送する。クライアント・ハンド
ラ169は、予定アプリケーションがオブジェクトを参
照することを可能にするために用いられる。その上、予
定アプリケーションは、他のドメインにオブジェクト参
照を移出できる。クライアント・ハンドラ169は、さ
らにクライアント・ドメイン内のオブジェクトをアクセ
スするスレッドの内部参照計数171を維持する。
【0050】オブジェクトに対する全ての参照がカーネ
ル・ドメインで解放された場合、カーネル・クライアン
ト・ハンドラ169は、クライアント・カーネルxドア
手順174に通知する。クライアント・カーネルxドア
手順174は、オブジェクトに関連するxドア170の
参照計数145を減らす。xドア170中の参照計数1
45が全ての外部及びカーネル参照が放棄されたことを
表示する場合、クライアント・カーネルxドア手順17
4は、上記で前に説明された如く、サーバ・ハンドラに
通知する。
【0051】
【代替実施例】本発明は、幾つかの特定な実施例に関し
て説明されたが、説明は、発明を例証するもので、発明
を制限するものと解釈されてはならない。種々な変更
が、付随特許申請により明確にされた発明の真の精神及
び範囲を逸脱することなく、熟練技術者の頭に浮かぶで
あろう。本発明は、図1に関して説明されたコンピュー
タ・システムに限定されない。本発明は、特定の明細な
しで実行してよく、かつ種々の機器構成、又は分散コン
ピュータ・システムの型又はモデル、密結合プロセッサ
において、又は疎結合マイクロプロセッサの種々の機器
構成において実施してよい。さらに又、以上に説明され
た方法及びシステムは、ランダム・アクセス・メモリの
如きメモリ装置以外の種々の型の実行可能媒体での実行
に順応する。いかなるメモリ装置、コンパクト・ディス
ク、又はフロッピー・ディスクであってもよくしかもそ
れに限定されない、コンピュータ読み取り可能記憶媒体
の如き、他の型の実行可能媒体が使用できる。
【図面の簡単な説明】
本発明の追加目的及び特徴は、図面に関連して解すれ
ば、次の詳細な説明及び付帯の特許申請に基づき一層容
易に理解できるであろう。
【図1】 本発明の要望実施例を組み込んだコンピュー
タ・システムのブロック図である。
【図2】 参照計数機構の実施に用いられる手順及びデ
ータ構造の図式表現である。
【図3A−3B】 オブジェクト参照の追跡に用いられ
る手順フローの図式表現である。
【図4】 オブジェクト参照が追跡される種々のレベル
の例示である。
【図5A−5D】 ユーザ・オブジェクト追跡に用いら
れる段階を例示する流れ図である。
【図6A−6C】 カーネル・オブジェクト追跡に用い
られる段階を例示する流れ図である。
フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 マダスダン タルーリ アメリカ合衆国 カリフォルニア州 94538 フリーモント ブッシュ サーク ル 4466 (72)発明者 デクラン マーフィー アメリカ合衆国 カリフォルニア州 94131 サン フランシスコ ニューバー グ ストリート 41 (72)発明者 ヨーゼフ エイ カリディー アメリカ合衆国 カリフォルニア州 94086 サニーヴェール ウェスト ガー ランド テラス 633

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムは、 複数のドメインであって、前記各ドメインは、個別アド
    レス空間を有し、 複数のオブジェクトであって、前記各オブジェクトは、
    前記ドメインの選択された1つに関連し、前記各オブジ
    ェクトは、前記個別オブジェクト・ドメイン内の個別オ
    ブジェクトまで参照を追跡する第1参照計数機構に関連
    し、 前記各ドメイン間の通信を処理するドメイン間通信ファ
    シリティであり、前記ドメイン間通信ファシリティは、
    1つ又は複数の異なるドメイン内の前記オブジェクトの
    特定の1つまで参照を追跡する第2参照計数機構を含
    み、 前記コンピュータ・システムを1つ又は複数のリモート
    ・コンピュータ・ノードに接続する通信リンクであっ
    て、かつ前記コンピュータ・システムと前記リモート・
    コンピュータ・ノードの間の通信を処理する拡張通信フ
    ァシリティ、前記リモート・コンピュータ・ノードによ
    り特定オブジェクトまで参照を追跡する第3参照計数機
    構を含む前記拡張通信ファシリティを具備する。
  2. 【請求項2】 請求項1のシステムは、 複数のサーバ・ハンドラ、前記オブジェクトの選択され
    た1つに関連する前記各サーバ・ハンドラ、前記選択オ
    ブジェクトを呼び出すのに用いられる前記各サーバ・ハ
    ンドラであり、 前記第1参照計数機構を含む前記各サーバ・ハンドラで
    あって、かつ前記関連ドメインの中に各参照に対し1計
    数を有する第1参照計数を含む前記第1参照計数機構。
  3. 【請求項3】 請求項2のシステムは、 1つ又は複数のユーザ・ドメイン及び少なくとも1つの
    カーネル・ドメインを含む前記ドメイン、ユーザ・アプ
    リケーションに関連する前記ユーザ・ドメイン、オペレ
    ーティング・システムに関連する前記カーネル・ドメイ
    ンであって、 前記特定オブジェクトに参照を有する前記コンピュータ
    ・システム内の各ユーザ・ドメインに対し1計数を有す
    る第2参照計数を含む前記第2参照計数機構、各リモー
    ト・ノードによる前記特定オブジェクトへの全ての参照
    に対する1のみの計数、及び前記コンピュータ・システ
    ム内のカーネル・ドメインによる前記特定オブジェクト
    への全ての参照に対する1のみの計数。
  4. 【請求項4】 請求項3のシステムは、 前記ノードの選択された1つにより前記特定オブジェク
    トへの各参照に対する1計数を有する第3参照計数を含
    む前記第3参照計数機構、及び前記コンピュータ・シス
    テム内のカーネル・ドメインによる前記特定オブジェク
    トへの全ての参照に対し1計数。
  5. 【請求項5】 請求項4のシステムは、 前記特定オブジェクトに対し未処理の参照が存在しない
    ことを前記第3参照計数が表示する場合、前記第3参照
    計数機構は、前記特定オブジェクト・サーバ・ハンドラ
    に通知する命令を含む。
  6. 【請求項6】 請求項5のシステムは、 前記特定オブジェクトに対し未処理の参照が存在しない
    ことを前記第2参照計数が表示する場合、前記第2参照
    計数機構は、前記特定オブジェクト・サーバ・ハンドラ
    に通知する命令を含む。
  7. 【請求項7】 請求項6のシステムは、 前記サーバ・ハンドラが前記第2及び第3参照計数機構
    より通知を受け取り、かつ関連第1参照計数が前記関連
    ドメイン内に未処理の参照が存在しないことを表示する
    場合、オブジェクト・リソース再利用機構を開始する命
    令を含む前記各サーバ・ハンドラ。
  8. 【請求項8】 複数のノードを含むコンピュータ・シス
    テム内のオブジェクトまで参照を追跡する方法で、前記
    の方法は、 前記各ノード内の複数のドメイン、個別アドレス空間を
    有する前記各ドメイン、複数のオブジェクト及びオブジ
    ェクト参照を含む各ドメイン、サーバ・ノード内のサー
    バ・ドメインの前記オブジェクトの選択された1つに関
    連する前記各オブジェクト参照を提供し、 前記サーバ・ドメイン内の前記各オブジェクトに対する
    第1参照計数機構、前記オブジェクトのサーバ・ドメイ
    ン内の前記オブジェクトの選択された1つまでオブジェ
    クト参照を追跡する前記第1参照計数機構を供給し、 特定オブジェクトのサーバ・ノード内の1つ又は複数の
    ドメインにより前記特定オブジェクトまでオブジェクト
    参照を追跡する前記サーバ・ノード内の前記各オブジェ
    クトに対する第2参照計数機構を供給し、 1つ又は複数の前記ノードにより前記オブジェクトのあ
    る特定の1つまでオブジェクト参照を追跡する前記サー
    バ・ノード内の前記各オブジェクトに対する第3参照計
    数機構を提供し、かつ前記各オブジェクトの対応第1、
    第2及び第3参照計数機構が前記各オブジェクトに対し
    未処理の参照が存在しないことを表示する場合、前記各
    オブジェクトの削除を可能にする段階を具備する。
  9. 【請求項9】 請求項8の方法は、 選択オブジェクトに関連する前記第1参照計数機構を、
    前記選択オブジェクトのサーバ・ドメイン内の前記選択
    オブジェクトに対する各オブジェクト参照に対し1回増
    やし、 特定オブジェクトに関連する前記第2参照計数機構を、
    前記特定オブジェクトを参照する前記サーバ・ノード内
    の各個別ドメインに対し1回増やし、かつ特定オブジェ
    クトに関連する前記第3参照計数機構を、前記特定オブ
    ジェクトを参照する各個別ノードに対し1回増やす。
  10. 【請求項10】 請求項9の方法は、 前記オブジェクトの選択された1つに関連する前記第1
    参照計数機構を、前記サーバ・ドメイン内の選択オブジ
    ェクトに対する各オブジェクト参照が解放される場合に
    減らし、 前記オブジェクトの特定の1つに関連する前記第2参照
    計数機構を、個別ドメインにより前記特定オブジェクト
    に対する各オブジェクト参照が解放される場合に減ら
    し、かつ前記オブジェクトのある特定の1つに関連する
    前記第3参照計数機構を、個別ノードにより前記特定オ
    ブジェクトに対する各オブジェクト参照が解放される場
    合に減らす。
  11. 【請求項11】 請求項10の方法は、 前記オブジェクトを参照する各クライアント・ノード内
    の前記各オブジェクトに対する第4参照計数機構、クラ
    イアント・ノード内の前記オブジェクトまでオブジェク
    ト参照を追跡する第4参照計数機構を提供し、 前記オブジェクトを参照する各クライアント・ノード内
    の前記各オブジェクトに対する第5参照計数機構、前記
    クライアント・ノード内の各ドメインにより前記オブジ
    ェクトまで参照を追跡する前記第5参照計数機構を供給
    し、かつ前記オブジェクトを参照する各クライアント・
    ノード内の前記各オブジェクトに対する第6参照計数機
    構、前記クライアント・ノード内にある前記ドメイン内
    の前記オブジェクトまで参照を追跡する前記第6参照計
    数機構を供給する。
  12. 【請求項12】 請求項11の方法は、 クライアント・ノード内の個別ドメインによる各オブジ
    ェクト参照に対し前記第5参照計数機構を1回増やし、
    かつクライアント・ノード内にある特定ドメイン内の特
    定オブジェクトに対する各オブジェクト参照に対し前記
    第6参照計数機構を1回増やす。
  13. 【請求項13】 請求項12の方法は、 前記オブジェクトの選択された1つに関連する前記第4
    参照計数機構を、クライアント・ノード内の前記選択オ
    ブジェクトに対する各オブジェクト参照が解放される場
    合に減らし、 前記オブジェクトの特定の1つに関連する前記第5参照
    計数機構を、クライアント・ノード内の個別ドメインに
    よる前記特定オブジェクトに対する各オブジェクト参照
    が解放される場合に減らし、かつ前記オブジェクトのあ
    る特定の1つに関連する前記第6参照計数機構を、クラ
    イアント・ノードの中にあるクライアント・ドメイン内
    の前記特定オブジェクトに対する各オブジェクト参照が
    解放される場合に減らす。
  14. 【請求項14】 請求項23の方法は、 前記オブジェクトのある特定の1つに対する全てのオブ
    ジェクト参照が解放されることを、前記第4参照計数機
    構が特定クライアント・ノードによる前記特定オブジェ
    クトに対する未処理オブジェクト参照がないと表示する
    場合に、前記サーバ・ノード内の前記第3参照計数機構
    に通知する。
JP10210176A 1997-06-19 1998-06-19 リモート・オブジェクト・リソース管理のためのシステム及び方法 Pending JPH11161508A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/879151 1997-06-19
US08/879,151 US5808911A (en) 1997-06-19 1997-06-19 System and method for remote object resource management

Publications (1)

Publication Number Publication Date
JPH11161508A true JPH11161508A (ja) 1999-06-18

Family

ID=25373529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10210176A Pending JPH11161508A (ja) 1997-06-19 1998-06-19 リモート・オブジェクト・リソース管理のためのシステム及び方法

Country Status (4)

Country Link
US (1) US5808911A (ja)
EP (1) EP0886215A3 (ja)
JP (1) JPH11161508A (ja)
CA (1) CA2240639A1 (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6237024B1 (en) * 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6151639A (en) * 1997-06-19 2000-11-21 Sun Microsystems, Inc. System and method for remote object invocation
US6138251A (en) * 1997-06-30 2000-10-24 Sun Microsystems, Inc. Method and system for reliable remote object reference management
US5931900A (en) * 1997-08-25 1999-08-03 I2 Technologies, Inc. System and process for inter-domain interaction across an inter-domain connectivity plane
US6163812A (en) * 1997-10-20 2000-12-19 International Business Machines Corporation Adaptive fast path architecture for commercial operating systems and information server applications
DE19747583B4 (de) * 1997-10-28 2006-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Kommunikationssystem und Verfahren
US6247077B1 (en) 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6148349A (en) * 1998-02-06 2000-11-14 Ncr Corporation Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
US6256740B1 (en) 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
WO1999044133A2 (en) 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US8095413B1 (en) * 1999-05-07 2012-01-10 VirtualAgility, Inc. Processing management information
NO310750B1 (no) * 1999-07-29 2001-08-20 Ericsson Telefon Ab L M Håndtering av objekter i telekommunikasjonssystemer
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
AU2001276932B2 (en) * 2000-07-27 2007-06-21 Oracle International Corporation System and method for concentration and load-balancing of requests
US7178023B1 (en) * 2001-01-29 2007-02-13 Microsoft Corporation System and method to facilitate secure communication of data
US7159111B1 (en) * 2001-01-29 2007-01-02 Microsoft Corporation Isolation of communication contexts to facilitate communication of data
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
SE519905C2 (sv) 2001-10-05 2003-04-22 Abb Ab Dataåtkomstmetod för ett styrsystem
US20050198469A1 (en) * 2003-11-12 2005-09-08 Brian Mitchell Parallel execution optimization method and system
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US20070239854A1 (en) * 2006-04-11 2007-10-11 Gopalakrishnan Janakiraman Method of migrating process domain
US7632394B2 (en) * 2007-05-29 2009-12-15 Westinghouse Plasma Corporation System and process for upgrading heavy hydrocarbons
US8521919B2 (en) * 2009-06-30 2013-08-27 International Business Machines Corporation Direct memory access in a computing environment
US8990642B2 (en) * 2013-02-22 2015-03-24 International Business Machines Corporation Managing error logs in a distributed network fabric
US9747088B2 (en) * 2013-04-22 2017-08-29 Embarcadero Technologies, Inc. Automatic reference counting
WO2016183550A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Dynamic table index mapping
US10467005B2 (en) * 2015-12-15 2019-11-05 International Business Machines Corporation Resilient distributed garbage collection
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724503A (en) * 1995-03-31 1998-03-03 Sun Microsystems, Inc. Method and apparatus for interpreting exceptions in a distributed object system

Also Published As

Publication number Publication date
CA2240639A1 (en) 1998-12-19
US5808911A (en) 1998-09-15
EP0886215A2 (en) 1998-12-23
EP0886215A3 (en) 2004-07-07

Similar Documents

Publication Publication Date Title
JPH11161508A (ja) リモート・オブジェクト・リソース管理のためのシステム及び方法
US6151639A (en) System and method for remote object invocation
US6976261B2 (en) Method and apparatus for fast, local CORBA object references
US7945677B2 (en) Connection manager capable of supporting both distributed computing sessions and non distributed computing sessions
EP0604010B1 (en) Method and apparatus for subcontracts in distributed processing systems
US5566302A (en) Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
EP0817445B1 (en) Apparatus and method for indentifying server computer aggregation topologies
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
US6718550B1 (en) Method and apparatus for improving the performance of object invocation
US5761670A (en) System and method for space efficient object locking using global and local locks
US5748897A (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US6282581B1 (en) Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
US6314114B1 (en) Distributed resource management
US6138251A (en) Method and system for reliable remote object reference management
US6629153B1 (en) Method and apparatus for providing peer ownership of shared objects
JPH06231029A (ja) データ処理装置およびデータ処理装置においてローカル・コンピュータから遠隔ファイルをアクセスする方法
JPH03161859A (ja) リクエスト管理方法及びアクセス制御システム
JP2002505466A (ja) 遠隔メソッド呼出し方法及び装置
US6697901B1 (en) Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities
JP2002505471A (ja) 遠隔処理の中断および継続の方法と装置
US20170031739A1 (en) Protocol for communication of data structures
US7246120B2 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
WO2000010084A2 (en) Object load balancing
US6161121A (en) Generic transfer of exclusive rights
O'Connor et al. Micro-kernel support for migration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070618