JPH11149456A - リモートオブジェクト呼出し用システム及び方法 - Google Patents

リモートオブジェクト呼出し用システム及び方法

Info

Publication number
JPH11149456A
JPH11149456A JP10210177A JP21017798A JPH11149456A JP H11149456 A JPH11149456 A JP H11149456A JP 10210177 A JP10210177 A JP 10210177A JP 21017798 A JP21017798 A JP 21017798A JP H11149456 A JPH11149456 A JP H11149456A
Authority
JP
Japan
Prior art keywords
server
client
xdoor
response
procedure
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
JP10210177A
Other languages
English (en)
Other versions
JPH11149456A5 (ja
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 JPH11149456A publication Critical patent/JPH11149456A/ja
Publication of JPH11149456A5 publication Critical patent/JPH11149456A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]

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 And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 分散型のオブジェクト指向システムにおい
て、リモートオブジェクト呼出しを実行する。 【解決手段】 システムの各ノードは、個別のアドレス
空間を有している多数のドメインを含む。オブジェクト
のメソッドは、要求しているスレッドと同じドメイン、
同じノード内の異なるドメイン、又は別のノードの異な
るドメインに存在することができる。ファイル記述子
は、そのメソッドが要求しているスレッドとは異なるド
メインに存在するオブジェクトを表すために用いられ、
スレッドにオブジェクトを呼出させる安全保護カーネル
エンティティである。オブジェクト要求ブローカ(OR
B)は、ファイル記述子をオブジェクトのメソッドを有
しているドメインにおけるオブジェクトを呼出すために
用いるファイル記述子に翻訳する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に分散型オブ
ジェクトオペレーティングシステムに関し、特にリモー
トノードに存在するオブジェクトを呼び出すための即応
型安全保護機構に関する。
【0002】
【従来の技術】一般的なクライアント/サーバコンピュ
ータネットワークでは、クライアントコンピュータのユ
ーザは、オブジェクトの実行を要求する。特に、ユーザ
は、オブジェクトに関連するメソッドの実行を要求す
る。しばしば、オブジェクトは、クライアントコンピュ
ータ上でローカルに記憶されていない。そこで、オブジ
ェクトが存在するサーバコンピュータに対してリモート
手続き呼出し(RPC)がなされなければならない。R
PCは、オブジェクト及びその関連メソッドを指定す
る。サーバコンピュータは、実行されるべきメソッドを
識別し、そのメソッドを実行し、かつ生成された結果及
び/又は例外をクライアントコンピュータへ回す。リモ
ート手続き呼出しを処理する標準分散型機構は、オブジ
ェクトリクエストブローカー(ObjectReque
stBroker(ORB))としばしば呼ばれる。機
構は、ORBに関連するソフトウェアがクライアントコ
ンピュータ及びサーバコンピュータの両方にあるという
意味で分散されている。
【0003】この明細書の目的に対して、用語「オブジ
ェクトを呼出す」は、オブジェクトに関連するメソッド
を呼出すことを意味すべく定義される。
【0004】
【発明が解決しようとする課題】ORBは、ユーザに異
なるアドレス空間に存在しているオブジェクトをアクセ
スさせる。ユーザがORBへのアクセスを許可された場
合、分散型システム内に存在しているあらゆるオブジェ
クトを呼出すことができる。ORBへのアクセスを否定
されたユーザは、ユーザのアドレス空間の外側にあるあ
らゆるオブジェクトをアクセスすることから制限され
る。そこで、リモートオブジェクト呼出しを許可するた
めに、ユーザは、全てのリモートオブジェクトへの無制
限アクセスが与えられる。現在、ユーザのアドレス空間
の外側に存在しているオブジェクトを選択するためのO
RBを介したユーザのアクセスを制限する有効な機構が
存在していない。そのような無制限アクセスは、潜在的
に悲惨な結果をもたらしうる。
【0005】
【課題を解決するための手段】本発明の上記課題は、通
信リンクと、前記通信リンクに接続された一つ以上のク
ライアントコンピュータと、前記通信リンクに接続され
た一つ以上のサーバコンピュータとを備え、前記サーバ
コンピュータのそれぞれは、それぞれがオブジェクトを
呼出すために用いられる関連サーバ−サイド安全保護エ
ンティティを有している、複数のオブジェクト;前記ク
ライアントコンピュータのあるものを選択するためにオ
ブジェクトにリファレンスをエクスポートするためのケ
ーパビリティを有しているオブジェクトエクスポテーシ
ョン機構を備え、前記クライアントコンピュータのそれ
ぞれは、それぞれが前記サーバコンピュータの一つに存
在するオブジェクトを呼出すために用いられる、複数の
クライアント−サイド安全保護エンティティ;前記クラ
イアントコンピュータにエクスポートされる各オブジェ
クトリファレンスに対するクライアント−サイド安全保
護エンティティを生成するためのケーパビリティを有し
ているリモートオブジェクトリファレンス機構を備えて
いることを特徴とするクライアント/サーバコンピュー
タ装置によって達成される。
【0006】本発明の装置では、各前記安全保護エンテ
ィティは、カーネル−レベルファイル記述子を表すよう
に構成してもよい。本発明の装置では、前記オブジェク
トエクスポテーション機構は、各エクスポートされたオ
ブジェクトリファレンスを独自に識別するグローバル識
別子を生成するためのケーパビリティを有しているエッ
クスドア機構と、エクスポートされたオブジェクトリフ
ァレンスと関連するサーバ−サイド安全保護エンティテ
ィを対応グローバル識別子にマップするためのケーパビ
リティを有しているゲートウェイハンドラとを備えて構
成してもよい。本発明の装置では、前記リモートオブジ
ェクトリファレンス機構は、受け取ったエクスポートさ
れたオブジェクトリファレンスと関連するゲートウェイ
ハンドラを生成するためのケーパビリティを有している
エックスドア機構と、前記受け取ったエクスポートされ
たオブジェクトリファレンスに対するクライアント−サ
イド安全保護エンティティを生成するためのケーパビリ
ティを有しているゲートウェイハンドラとを備えて構成
してもよい。
【0007】本発明の装置では、前記クライアントコン
ピュータは、前記サーバコンピュータの一つに存在する
オブジェクトを呼出すためのケーパビリティを有してい
るオブジェクト呼出し要求機構を含んでおり、前記オブ
ジェクト呼出し要求機構は、要求されたオブジェクトを
表しているクライアント−サイド安全保護エンティティ
を対応グローバル識別子にマップするために前記ゲート
ウェイハンドラを利用しかつ前記グローバル識別子を含
んでいるオブジェクト呼出し要求をフォーミュレートす
るために前記エックスドア機構を利用するように構成し
てもよい。本発明の装置では、前記サーバコンピュータ
は、オブジェクト呼出し要求をサービスするためのケー
パビリティを有しているオブジェクト呼出し機構を含ん
でおり、前記オブジェクト呼出し機構は、前記受け取っ
た他オブジェクト呼出し要求を要求されたオブジェクト
と関連するゲートウェイハンドラに転送するために前記
エックスドア機構を利用しかつ受け取ったグローバル識
別子を前記要求されたオブジェクトを呼出すために用い
る対応サーバ−サイド安全保護エンティティにマップす
るために前記ゲートウェイハンドラを利用するように構
成してもよい。
【0008】本発明の装置では、前記サーバコンピュー
タは、オブジェクト呼出し要求に応じて応答をフォーミ
ュレートするためのケーパビリティを有しているサーバ
−サイド応答機構を含んでおり、前記サーバ−サイド応
答機構は、前記応答に含まれたサーバ−サイド安全保護
エンティティを対応グローバルエックスドア識別子にマ
ップするためにゲートウェイハンドラを利用しかつ関連
クライアントコンピュータへの伝送のために前記応答を
フォーマットするために前記エックスドア機構を利用す
るように構成してもよい。本発明の装置では、前記クラ
イアントコンピュータは、オブジェクト呼出し要求に応
じて受け取った応答を扱うためのケーパビリティを有し
ているクライアント−サイド応答機構を含んでおり、前
記クライアント−サイド応答機構は、前記受け取った応
答と関連するゲートウェイハンドラを決定するために前
記エックスドア機構を利用しかつ前記受け取った応答を
プロセスするために前記受け取った応答のグローバル識
別子を対応クライアント−サイド安全保護エンティティ
にマップするために前記ゲートウェイハンドラを利用す
るように構成してもよい。
【0009】また、本発明の上記課題は、複数のクライ
アント及びサーバノードを含んでいるコンピューティン
グシステム用のリモートオブジェクト呼出しを実行する
ためのコンピュータを利用した方法であって:それぞれ
がオブジェクトを呼出すために用いられるサーバ−サイ
ド安全保護エンティティと関連する複数のオブジェクト
を各前記サーバノードに供給し;オブジェクトに対する
リファレンスを一つ以上のクライアントノードにエクス
ポートし、各前記オブジェクトリファレンスは、前記シ
ステム内のエクスポートされたオブジェクトを独自に識
別するグローバル識別子を含んでおり;エクスポートさ
れたオブジェクトリファレンスを受け取る各クライアン
トにおいて前記サーバノードに存在する前記エクスポー
トされたオブジェクトを呼出すために用いられるクライ
アント−サイド安全保護エンティティを関連付け;関連
クライアント−サイド安全保護エンティティを有してい
るオブジェクトを呼出すためにリモートオブジェクト呼
出し要求をクライアントノードにおいて生成し、前記リ
モートオブジェクト呼出し要求は、要求されたオブジェ
クトに対応しているグローバル識別子を含んでおり;前
記リモートオブジェクト呼出し要求を意図したサーバノ
ードに伝送する段階を具備する方法によって達成され
る。
【0010】本発明の方法では、特定のオブジェクトを
呼出すためにリモートオブジェクト呼出し要求をサーバ
ノードにおいて受け取り;前記リモートオブジェクト呼
出し要求の各グローバル識別子を対応サーバ−サイド安
全保護エンティティにマップし;前記特定のオブジェク
トを呼出すために前記サーバ−サイド安全保護エンティ
ティを利用するようにしてもよい。本発明の方法は、前
記リモートオブジェクト呼出し要求への応答をサーバノ
ードでフォーミュレートし、前記応答は、前記呼出した
特定のオブジェクトを識別する前記サーバ−サイド安全
保護エンティティを含んでおり;前記サーバ−サイド安
全保護エンティティを対応グローバル識別子にマップ
し;かつ前記呼出された特定のオブジェクトのグローバ
ル識別子を含んでいる応答を意図したクライアントノー
ドに伝送するようにしてもよい。
【0011】本発明の方法では、前記応答をクライアン
トノードにおいて受け取り;前記応答に含まれたグロー
バル識別子を関連クライアント−サイド安全保護エンテ
ィティに翻訳し;前記応答をプロセスするために前記ク
ライアント−サイド安全保護エンティティを利用するよ
うにしてもよい。本発明の方法では、前記サーバ−サイ
ド安全保護エンティティ及び前記クライアント−サイド
安全保護エンティティは、ファイル記述子であるように
してもよい。
【0012】
【作用】纏めると、本発明の実施形態は、オブジェクト
へのアクセスを制御するための安全保護機構を有してい
る分散型オブジェクト指向型コンピュータシステムであ
る。機構は、オブジェクトの呼出し用ハンドルとしてカ
ーネル−保護型ファイル記述子を利用するので、安全で
ある。アプリケーションは、それが対応ファイル記述子
を取得したオブジェクトだけをアクセスすることができ
る。分散型システムは、通信リンクを介して相互接続さ
れる独立コンピューティングノードを含む。ノードは、
メモリを共有しないクライアント及び/又はサーバコン
ピュータを表す。各サーバノードは、そのメソッドがノ
ードに存在しているオブジェクトの数に関連する。ファ
イル記述子は、オブジェクトを呼出すために用いられ
る。それは、ユーザアプリケーションによって不正に使
用することができない保護カーネル状態である。
【0013】サーバノードは、そのオブジェクトへのア
クセスを制御する。サーバノードは、オブジェクトへの
リファレンスをクライアントノードへエクスポートする
ことによってそのオブジェクトの一つにクライアントノ
ードをアクセスさせる。エクスポートされたオブジェク
トリファレンスは、クライアントノードにオブジェクト
を呼出させる。クライアントノードは、エクスポートさ
れたオブジェクトを参照すべくそれ自体のファイル記述
子を生成する。サーバノードは、オブジェクトに対する
クライアントノードのファイル記述子とは異なるそれ自
体のファイル記述子を用いてオブジェクトを呼出す。オ
ブジェクトリファレンスは、後続のオブジェクト呼出し
を支援するために必要なORBインフラストラクチャを
確立する機構である。このORBインフラストラクチャ
は、エックスドア(xdoor)及びゲートウェイハン
ドラを含む。エックスドアは、分散型システム内のオブ
ジェクトを独自に識別するグローバル識別子を有する保
護カーネル状態である。ゲートウェイハンドラは、オブ
ジェクトに関連するグローバル識別子を対応ファイル記
述子にマッピングさせる。
【0014】本発明の更なる目的及び特徴は、図面を参
照して、以下の詳細な説明及び特許請求の範囲からより
容易に理解できるであろう。
【0015】
【発明の実施の形態】図1を参照すると、複数のコンピ
ューティングノード102を含んでいる分散型コンピュ
ータシステム100が示されている。各コンピューティ
ングノード102は、通信リンク104を介して相互接
続される独立クライアント/サーバコンピュータを表し
ている。各ノードは、クライアント及び/又はサーバコ
ンピュータと考えることができる。クライアントコンピ
ュータは、オブジェクトを呼出すノードに関連付けられ
る。サーバコンピュータは、オブジェクトのメソッドを
記憶するノードに関連付けられる。ある特定の場合に
は、以下に示すように、クライアント及びサーバコンピ
ュータは、同じノードである。他の場合には、クライア
ント及びサーバコンピュータは、別々のノードである。
【0016】通信リンク104は、それらに限定されな
いが、ローカルエリアネットワーク、ワイドエリアネッ
トワーク、又はネットワークの組合せのような、コンピ
ュータ間のあらゆる型の有線又は無線リンクを一般に言
う。クライアント/サーバコンピュータは、互いに通信
するために通信リンク104を用いる。各ノード102
は、一つ以上のドメイン106,108,110,11
2,114,116を有する。ドメインは、それ自体の
アドレス空間を有するプロセスであるべく定義される。
ドメインは、をユーザ又はカーネルアプリケーション手
続きを実行できる実行の多重スレッド(通常、スレッド
と呼ばれる)120を有することができる。カーネルド
メイン110,116は、オペレーティングシステムを
言い、ユーザドメイン106.108,112,114
は、一つ以上のユーザアプリケーション手続きを一般的
に実行する。各ドメイン106,108,110,11
2,114,116は、それに関連付けられた一つ以上
のオブジェクトを有する。
【0017】好ましい実施例では、オペレーティングシ
ステム又はカーネルは、Sun Microsystems, Inc.の製品
である、Solaris MCオペレーティングシステムである。
Solaris MCオペレーティングシステムの予備知識は、こ
こに参考文献として採り入れる、“Solaris MC: マルチ
−コンピュータ OS", Technical Report SMLI TR-95-4
8, November 1995, Sun Microsystems に見出すことが
できる。Solaris MCオペレーティングシステムは、UNIX
を利用したオペレーティングシステムである。そのよう
に、本技術を説明することにおいて、UNIX用語及び概念
が頻繁に用いられる。しかしながら、これは、説明目的
のためであり本発明をこの特定のオペレーティングシス
テム設計に限定するものではない。各スレッドは、オブ
ジェクトの実行(即ち、オブジェクトのメソッド)を要
求することができる。オブジェクトの位置は、スレッド
に対して透過である。オブジェクトは、複数の位置の一
つに存在することができる。それは、要求しているスレ
ッドと同じドメイン内、要求しているスレッドとはこ異
なるドメインであるが要求しているスレッドと同じノー
ド内、又はリモートノードのドメインに存在することが
できる。例えば、ユーザドメイン106は、そのドメイ
ン内に存在するオブジェクト124へのアクセスを有す
るスレッド121を表す。ユーザドメイン108は、オ
ブジェクト124を参照する二つのスレッド123を示
す。スレッド123は、オブジェクト124とは異なる
ドメイン106に存在するが同じノード102aに位置
決めされる。スレッド123は、ドメイン106のオブ
ジェクトに関連付けられたファイル記述子fd1 にマッ
プされるファイル記述子fd2 を通してオブジェクト1
24を参照する。
【0018】更に、スレッド125は、リモートノード
102bのドメイン114に存在するオブジェクト13
8を参照する。オブジェクト138は、グローバルxd
oor識別子140及びノード識別子142から構成さ
れているシステム−ワイド識別子にマップされるファイ
ル記述子fd3 として参照ドメイン108において表さ
れる。システム−ワイド識別子は、適当なリモートノー
ド102bにリモートオブジェクト呼出し要求で伝送さ
れる。リモートノード102bは、システム−ワイドオ
ブジェクト識別子を適当なローカル識別子に変換(翻
訳)しかつ要求したオブジェクト138に関連付けられ
るメソッドを実行する。更に、スレッド125は、カー
ネルドメイン110内のオブジェクト135を参照する
ことができる。オブジェクト135は、オブジェクト1
35を呼出すために用いられる適当なハンドラ手続き1
34にマップされるファイル記述子fd 4 として参照ド
メイン110で表される。
【0019】カーネルドメイン110,116は、カー
ネルアプリケーションを実行することができる多重スレ
ッド120を有する。各カーネルドメイン110、11
6は、それに関連付けられた一つ以上のカーネルオブジ
ェクトを有することができる。カーネルオブジェクト
は、そのドメイン内のスレッドによって又は別のノード
のドメインのスレッドによって呼出すことができる。要
求アプリケーションのドメイン内にあるオブジェクトに
対するオブジェクトメソッドの実行は、ローカル手続き
呼出しとして処理される。ローカル手続き呼出しは、一
般的に、アプリケーションへの制御のリターンで制御を
アプリケーションからオブジェクトのメソッドへ転送す
る関数又はサブルーチン呼出しである。オブジェクトに
関連付けられたアーギュメントは、ローカル手続き呼出
しと一緒に渡される。
【0020】リモートドメインに存在するオブジェクト
に対するオブジェクトメソッドの実行は、リモート手続
き呼出しとして処理される。リモート手続き呼出しは、
ORBによって処理される。それゆえに、ORBは、要
求アプリケーションとして異なるドメインに存在してい
るオブジェクトのメソッドを呼出すために用いられる。
リモートオブジェクトは、要求アプリケーションとして
同じノード又は異なるノードに配置することができる。
ドアは、オブジェクトのメソッド及びデータを記述する
カーネル状態エンティティである。それは、ノード内リ
モートユーザオブジェクトに対してだけ存在する(即
ち、ノード内リモートユーザオブジェクトは、要求ドメ
インと同じノード内の異なるドメインに存在する中古(u
sed)オブジェクトである。ドアは、ファイル記述子(f
d)によって表される。各ユーザドメイン106,10
8,112、114は、ドメインに関連付けられたスレ
ッドによってアクセス可能なオブジェクトのファイル記
述子を記憶するユーザエックスドア(xdoor)表1
26を有する。ユーザドメインは、実際のドアにマップ
される、ドメインのユーザエックスドア表126に配置
された、ファイル記述子を通してリモートオブジェクト
を参照する。ドアは、ユーザアクセス可能ドメインのア
ドレス空間に存在しないで、カーネルドメインに存在す
る。
【0021】ドアを表すためのファイル記述子154の
使用は、ユーザが呼出すことができるオブジェクトを制
御するための安全保護機構を供給する。ファイル記述子
154は、保護カーネル状態でありかつそのようにユー
ザによって不正使用できない。ファイル記述子154の
所有は、アプリケーションがオブジェクトへの許諾可能
アクセスを有することを示す。オブジェクトを生成する
ドメインは、オブジェクト及びそのドアに対するサーバ
になる。サーバは、オブジェクトへのアクセスを有する
ことを望んでいるアプリケーションにオブジェクトリフ
ァレンスをエクスポートする。このようにして、分散型
システム100内のオブジェクトをアクセスすることが
できるアプリケーションを選択的に制御するための安全
保護機構が存在する。
【0022】オブジェクトは、それに関連付けられた多
数のファイル記述子154を有することができる。これ
らのファイル記述子154は、オブジェクトと同じドメ
イン又はオブジェクトへの許可されたアクセスを有して
いる異なるドメインに存在することができる。リモート
オブジェクトを参照する各クライアントドメインは、オ
ブジェクトを表している一つ以上のファイル記述子を有
する。例えば、オブジェクト124は、ドメイン106
のファイル記述子fd1 によって、及びドメイン108
のファイル記述子fd2 によって参照される。オブジェ
クト138は、ノード102bのユーザドメイン114
のファイル記述子fd4 に関連付けられかつノード10
2aのユーザドメイン108のファイル記述子fd3
関連付けられる。纏めると、ファイル記述子は、特定の
ドメイン内のオブジェクトに対するローカル識別子であ
る。
【0023】リモートノードによってアクセス可能であ
るオブジェクトは、特定のノード内のオブジェクトを独
自に識別するために用いられるグローバルエックスドア
識別子140によって識別されたエックスドア170
(図2参照)を有する。更に、各ノードは、分散型シス
テム100内のノードを独自に識別するノード識別子1
42によって独自に表される。グローバルエックスドア
識別子140は、分散型システム100内のオブジェク
トを独自に識別する識別子を生成するためにノード識別
子142に結合される。アプリケーションは、ローカル
エックスドア識別子又はファイル識別子を利用している
オブジェクトを参照する。リモートオブジェクト呼出し
を実行するために、ORBは、そのオブジェクトに対す
るサーバのファイル記述子を用いているオブジェクトを
参照することが必要である。それゆえに、ORBは、オ
ブジェクトリファレンス(即ち、ローカルエックスドア
識別子)をサーバのローカルエックスドア識別子にマッ
プする。このマッピングは、ユーザ及びカーネルドメイ
ンの両方に存在する多数の手続き及びデータ構造を利用
して実行される。
【0024】OBRは、このマッピングを実行するため
に多数の機構を利用する。ORBは、次の手続きを含
む:ハンドラ手続き、エックスドア手続き、及びゲート
ウェイハンドラ手続き。エックスドア手続きは、ユーザ
及びカーネルドメインの両方に存在する。これらの機構
の簡単な説明は、図2を参照して以下に示される。更に
詳細な説明は、図3〜6を参照して以下に示される。オ
ブジェクトは、ハンドラ手続き122によって参照され
る。ハンドラ手続き122は、オブジェクト呼出し及び
アーギュメント引渡しの基本機構を制御する。ハンドラ
手続き122は、オブジェクト呼出しが実施される方
法、オブジェクトリファレンスがアドレス空間の間での
伝送される方法、オブジェクトリファレンスが解放され
る方法、及び類似のオブジェクトランタイム動作を制御
する。ローカルオブジェクト呼出しに対して、ハンドラ
手続き122は、オブジェクトのメソッド150に対す
るローカル手続き呼出しを実行する。
【0025】リモートユーザオブジェクト呼出しに対し
て、オブジェクトは、ユーザ−レベルエックスドア15
2によってそのドメインに表される。ユーザ−レベルエ
ックスドア152は、ローカルエックスドア識別子15
3、適切なハンドラ156へのポインタ、ドア識別子1
58、及び他の情報により構成される。本発明の実施例
においては、ローカルエックスドア識別子156は、フ
ァイル記述子である。ドア識別子158は、オブジェク
トを表すドアに対応し、かつそれは、カーネル−レベル
ドア表132に記憶される。カーネル−レベルエックス
ドア170は、分散システム全体のオブジェクトを表す
ために用いられるカーネル状態エンティティである。カ
ーネル−レベルエックスドア170は、グローバルエッ
クスドア識別子140、ノード識別子142、サーバハ
ンドラポインタ141及びクライアントハンドラポイン
タ143を含んでいるハンドラポインタ144、ドア識
別子146、及びローカルエックスドア識別子147を
含む。グローバルエックスドア識別子140は、ノード
内のオブジェクトを独自に識別するために用いられ、グ
ローバルエックスドア識別子140とノード識別子14
2の組合せは、分散システム100内のオブジェクトを
独自に識別するために用いられる。ドア識別子146
は、対応ドア162を識別するために用いられる。
【0026】カーネルオブジェクトは、カーネル−レベ
ルエックスドア170によってカーネルドメインで表さ
れる。カーネルオブジェクトのエックスドア170は、
カーネルドメインのカーネルオブジェクトを表している
ローカルエックスドア識別子147を含む追加フィール
ドを包含する。一般に、ローカルエックスドア識別子1
47は、ファイル記述子154である。カーネル−レベ
ルファイル記述子表130は、ノード102内に存在し
ている各ファイル記述子154を記憶するために用いら
れる。ファイル記述子表130は、セグメント155に
区分される。各セグメントは、特定のドメインと関連す
るファイル記述子154を表す。各ファイル記述子エン
トリ154は、カーネル−レベルドア表132に記憶さ
れたドアを参照する。ドア162は、ドア識別子16
4、プロセスロケーションポインタ166、及び他の情
報を含む。プロセスロケーションポインタ166は、呼
出しを実行するために用いられるサーバのアドレス空間
内の手続きへのエントリポイントを反映する。ノード内
リモートユーザオブジェクト呼出しの場合には、プロセ
スロケーションポインタ166は、サーバのエックスド
ア手続き128をアクセスするために用いられる。ノー
ド間リモートオブジェクト呼出し又はリモートカーネル
オブジェクト呼出しの場合には、プロセスロケーション
ポインタ166は、オブジェクトと関連するゲートウェ
イハンドラ168をアクセスするために用いられる。ゲ
ートウェイハンドラ168は、対応ノードに対するリモ
ートオブジェクト呼出し要求の移送を容易にするために
用いられる。ゲートウェイハンドラ168は、ファイル
記述子154を利用しているオブジェクト呼出しを各シ
ステム−ワイド識別子に翻訳する。
【0027】上記の概観は、コンピューティング環境及
びリモートオブジェクト呼出しを支援するために用いら
れるインフラストラクチャを説明した。ここで、オブジ
ェクトを呼出すことにおいてユーザアプリケーション及
びカーネルアプリケーションによって用いられる段階の
さらに詳細な説明を注目する。ユーザ−レベルリモートオブジェクト呼出し 図1及び図2の装置の動作は、図2〜図4を参照してよ
り完全に理解されるであろう。本発明の実施例では、ク
ライアント/ユーザ及びカーネルアプリケーション手続
きは、リモートオブジェクト呼出しを要求するためにO
RBを利用することができる。リモートオブジェクト呼
出しを実行するためにユーザ及びカーネルアプリケーシ
ョン手続きによって用いられる段階は、多少異なるので
個別に説明する。解説は、ユーザアプリケーション手続
きによって用いられる段階をまず説明し続いてカーネル
アプリケーション手続きによって用いられる段階を説明
する。
【0028】本発明のORBは、コール/リターンモデ
ルに基づく。そのようなモデルでは、リモートオブジェ
クト呼出し要求は、特定されたオブジェクトのメソッド
を実行又はコールしかつ結果及び/又は例外(異常)を
呼出しスレッドにリターンするために生成される。クラ
イアントユーザアプリケーション200は、オブジェク
トの特定されたメソッドのメソッドの実行を要求してい
る手続き呼出しを生成することによってオブジェクトを
参照する(ステップ400)。手続きコールは、デー
タ、手続き、又は他のオブジェクトリファレンスを含む
ことができるがそれらに限定されない多数のアーギュメ
ントによって一般に達成される。クライアントスタブ手
続き202は、クライアントユーザアプリケーション2
00によって手続きコールを受け取る。クライアントス
タブ手続き202は、それが呼出すことを意図した実際
のメソッドとしてユーザに見える。クライアントスタブ
手続き202は、オブジェクトのアーギュメントを所定
のフォーマットにフォーマットする(ステップ40
2)。例えば、フォーマットは、各アーギュメントの型
を記述する一つのデータ構造及びアーギュメントを包含
する別のデータ構造で構成することができる。クライア
ントスタブ手続き202は、次いで、オブジェクトリフ
ァレンス及びそのフォーマットされたアーギュメントを
クライアントハンドラ手続き122に転送する(ステッ
プ402)。
【0029】クライアントハンドラ手続き122は、オ
ブジェクトと関連しかつオブジェクトのアーギュメント
を一つ以上のバッファ160に集めるために用いられる
(ステップ404)。また、クライアントハンドラ手続
き122は、オブジェクトと関連するローカルエックス
ドア識別子153及びオブジェクトのアーギュメントを
包含しているバッファプールのバッファの位置をそれに
引渡しているクライアントユーザエックスドア手続き1
28に制御を転送する(ステップ404)。ローカルエ
ックスドア識別子153は、アプリケーションのアドレ
ス空間に配置されたユーザエックスドア表126に記憶
される。本発明の実施例では、ローカルエックスドア識
別子153は、ファイル記述子である。クライアントユ
ーザエックスドア手続き128は、オブジェクトリファ
レンスと関連しかつオブジェクトのアーギュメントと関
連するローカルエックスドア識別子153をそれらの各
ファイル記述子にマップする(ステップ406)。クラ
イアントユーザエックスドア手続き128は、次いで、
スレッドの実行をサスペンドしかつオブジェクトを呼出
す手続きをコールする(ステップ406)。
【0030】クライアントユーザエックスドア手続き1
28は、オブジェクトを呼出す適当な手続きを決定する
ために呼出したオブジェクトと関連するドアを利用す
る。各オブジェクトと関連するドアは、カーネル−レベ
ルドア表132(しばしば、Unix用語において“vnode
表" と呼ばれる)に記憶される。ドア表132に記憶さ
れた各ドア162は、ドア162、プロセスロケーショ
ン166、及び付加情報を独自に識別する関連ドア識別
子164を包含する。プロセスロケーション166は、
オブジェクトを呼出させるサーバドメイン手続きへのエ
ントリポイントを表す。一般に、プロセスロケーション
166は、サーバドメインに存在しているサーバユーザ
エックスドア手続き128又はカーネル−レベルゲート
ウェイハンドラ168のいずれかのロケーションであ
る。プロセスロケーション166は、ノード内リモート
オブジェクト呼出しに対するサーバユーザエックスドア
手続き128を表す。プロセスロケーション166は、
ノード間リモートオブジェクト呼出しに対するカーネル
−レベルゲートウェイハンドラ168を表す。
【0031】オブジェクトが同じノード内の異なるユー
ザドメイン(ローカルユーザドメイン)に存在するよう
な状況に対して、クライアントユーザエックスドア手続
き128は、オブジェクトのドア162によって示され
るプロセスロケーション166によって特定されたサー
バエックスドア手続き128へ呼出しメッセージを送る
特定カーネル−レベル手続き(即ち、door_call)をコ
ールする。呼出しメッセージは、要求オブジェクトのド
ア識別子164、アーギュメントバッファ、並びに他の
情報を含む。サーバエックスドア手続き128は、要求
オブジェクトの、サーバファイル記述子、又はローカル
エックスドア識別子を、サーバユーザエックスドア表1
26内に位置決めするためにドメイン識別子164を利
用する(ステップ408)。次いで、サーバエックスド
ア手続き128は、以下に詳述するようにオブジェクト
を呼出すことを処理する。
【0032】同じノードのカーネルオブジェクト又はリ
モートノード(リモートノード又はローカルカーネルド
メイン)のオブジェクトを呼出すために、クライアント
ユーザエックスドア手続き128は、プロセスロケーシ
ョン166によって特定されたゲートウェイハンドラ1
68に制御を転送する特定されたカーネル−レベル手続
き(即ち、door#call)をコールする。オブジェクトと関
連するゲートウェイハンドラ168は、全てのファイル
記述子をそれらの各グローバルエックスドア識別子14
0に翻訳(変換)する。更に、グローバルエックスドア
識別子140は、その各ノード識別子142をグローバ
ルエックスドア識別子140に結合することによってシ
ステム−ワイド識別子にマップされる。バッファにおけ
るのデータのフォーマットは、カーネル−レベルエック
スドア手続き174に最適なフォーマットに翻訳(変
換)される。ゲートウェイハンドラ168は、次いで、
オブジェクトのアーギュメントを有するクライアントカ
ーネルエックスドア手続き174をコールする(ステッ
プ409)。クライアントカーネルエックスドア手続き
174は、次いで、制御を適当なカーネルサーバハンド
ラ169に転送する(ステップ410)。
【0033】リモートノードオブジェクト呼出しに対し
て、クライアントカーネルエックスドア手続き174
は、応答バッファを割り当て、リモートオブジェクト呼
出し要求を表しているロジカルメッセージにアーギュメ
ントを変換し、ロジカルメッセージを表しているリモー
ト手続き識別子を割り当て、かつメッセージを移送手続
き176に転送する(ステップ412)。移送手続き1
76は、メッセージを適当なサーバノードに送る(ステ
ップ414)。移送手続き176は、伝送制御プロトコ
ル(TCP)、それらに限定されないがユーザデータグ
ラムプロトコル(UPD)等のような、よく知られた
“トランスポート層”通信プロトコルのいずれかを利用
することができる。リモートオブジェクト呼出し要求が
宛先ノードに到着したときに、宛先ノードの移送手続き
176は、メッセージを受け取りかつシステム−ワイド
識別子を抽出する。それは、対応エントリに対してカー
ネル−レベルエックスドア表136を探索することによ
ってシステム−ワイド識別子に対応しているエックスド
ア170がノードに存在するか否かを決定する。そのよ
うなエントリが存在するならば、移送手続き176は、
メッセージをサーバカーネル−レベルユーザエックスド
ア手続き174に転送する(ステップ416)。そのよ
うなエントリが存在しなければ、サーバカーネル−レベ
ルユーザエックスドア手続き174は、以下にい説明す
るエックスドアを生成する。
【0034】サーバカーネル−レベルユーザエックスド
ア手続き174は、メッセージを復号し、そのデータを
適当なフォーマットに変形(変換)し、かつエンクロー
ズされたエックスドア170と関連するサーバハンドラ
を決定する。メッセージで伝送されたグローバルエック
スドア識別子140は、呼出しを継続する適当なサーバ
ハンドラにカーネルエックスドア表136を介してマッ
プされる(ステップ418)。カーネルオブジェクト2
06は、関連カーネルサーバは169を示すサーバハン
ドラポインタ141を有する。ユーザオブジェクトは、
関連ゲートウェイハンドラ168を示すサーバハンドラ
ポインタ141を有する。サーバゲートウェイハンドラ
168は、メッセージの全てのオブジェクトリファレン
スと関連するグローバルエックスドア識別子を対応サー
バファイル記述子にマップしかつ制御をサーバユーザエ
ックスドア手続き128に転送するカーネル−レベル手
続き(即ち、door#upcall)を実行する(ステップ42
0)。
【0035】ゲートウェイハンドラ168は、エックス
ドア170に配置された適当なドア識別子146を利用
することによってグローバルエックスドア識別子140
を対応サーバ−サイドファイル記述子154にマップす
る。ドア識別子146は、ファイル記述子表130を介
して対応ファイル記述子にドア表132に記憶された適
当なドア162を介してマップされる。関連ドア162
のプロセスロケーション166は、サーバユーザエック
スドア手続き128のロケーションを包含する(ステッ
プ420)。サーバユーザエックスドア手続き128
は、適当なサーバハンドラ手続き122を決定しかつコ
ールするためにローカルエックスドア識別子としてファ
イル記述子154を利用する(ステップ421)。サー
バハンドラ手続き122は、一般的なフォーマットにオ
ブジェクトのアーギュメントをアンマーシャルしかつサ
ーバスケルトン手続き212をコールする(ステップ4
22)。サーバスケルトン手続き212は、一般的なフ
ォーマットからのアーギュメントをオブジェクトに最適
なフォーマットに変換しかつオブジェクトのメソッドを
呼出す(ステップ424)。
【0036】一度オブジェクトのメソッドが実行される
と、例外が生成されなかったならば、リターンパラメー
タは、集められる。さもなければ、例外それ自体が集め
られる。この点で、集められた応答は、準備が整う(ス
テップ426)。サーバスケルトン212は、応答を一
般的駅なフォーマットに変換しかつ関連サーバハンドラ
手続き122をコールする(ステップ428)。サーバ
ハンドラ122は、応答データをバッファ160に集め
かつローカルエックスドア識別子153を引渡す適当な
サーバエックスドア手続きをコールする(ステップ43
0)。カーネルオブジェクトに対して、サーバカーネル
エックスドア手続き174がコールされる。ユーザオブ
ジェクトに対しては、サーバユーザエックスドア手続き
128がコールされる。
【0037】サーバユーザエックスドア手続き128
は、ローカルエックスドア識別子153を対応ファイル
ふぁ記述子にマップしかつ適当なリモート手続きコール
を行う(ステップ432)。要求されたオブジェクトが
同じノードであるが異なるユーザドメイン(ローカルユ
ーザドメイン)に存在する状況に対して、サーバユーザ
エックスドア手続き128は、ローカルエックスドア識
別子をそれらの各ファイル記述子にマップしかつ応答メ
ッセージをクライアントユーザエックスドア手続き12
8に送る特定されたカーネル−レベル手続き(即ち、do
or#call)をコールする(ステップ432)。クライアン
トユーザエックスドア手続き128は、応答メッセージ
のファイル記述子をクライアント−サイドファイル記述
子にマップしかつ制御を適当なクライアントハンドラに
転送する(ステップ434)。クライアントハンドラ
は、以下に詳述するように応答メッセージをプロセスし
続ける。
【0038】リモートノードオブジェクト呼出しに対し
て、サーバユーザエックスドア手続き128は、ローカ
ルエックスドア識別子153をそれらの各ファイル記述
子154にマップしかつ関連ゲートウェイハンドラ16
8をコールする(ステップ432)。ゲートウェイハン
ドラ168は、応答メッセージの全てのファイル記述子
をそれらの各グローバルエックスドア識別子に翻訳(変
換)しかつ応答データーゲットをサーバカーネルエック
スドア手続き174によって認識可能なフォームに処理
する(ステップ436)。ゲートウェイハンドラ168
は、サーバカーネルエックスドア手続き174に制御を
転送する(ステップ436)。サーバカーネルエックス
ドア手続き174は、応答データを応答バッファ178
に記憶し、応答データでロジカルメッセージをフォーマ
ットし、かつそれにRPC識別子を割り当て、そしてメ
ッセージを移送手続き176に転送する(ステップ43
8)。
【0039】サーバ移送手続き176は、メッセージを
適当なノードのクライアント移送手続き176に伝送す
る(ステップ440)。クライアント移送手続き176
は、メッセージを受け取りかつそれが正しいノードに配
送されたということを決定した後に、クライアントカー
ネルエックスドア手続き174をコールする(ステップ
442)。クライアントカーネルエックスドア手続き1
74は、次いで、応答メッセージを適当なハンドラに渡
す(ステップ444)。適当なハンドラは、関連エック
スドア170を見出すためにメッセージのグローバルエ
ックスドア識別子を利用することによって決定される。
エックスドアのクライアントハンドラポインタ143
は、適当なハンドラを示す。この例では、それは、クラ
イアントゲートウェイハンドラ168である。
【0040】クライアントゲートウェイハンドラ168
は、グローバルエックスドア識別子をその各ファイル記
述子154に変換しかつ関連クライアントユーザエック
スドア手続き128をコールする(ステップ446)。
クライアントユーザエックスドア128は、ファイル記
述子をそれらの各クライアントローカルエックスドア識
別子にマップしかつ関連クライアントハンドラをコール
する(ステップ448)。クライアントハンドラ122
は、応答メッセージのアーギュメントを一般的なフォー
マットにアンマーシャルしかつクライアントスタブ手続
き202をコールする(ステップ450)。クライアン
トスタブ手続き202は、アーギュメントをクライアン
トアプリケーションに対する最適なフォーマットにフォ
ーマットし(ステップ452)かつクライアントアプリ
ケーションが再開される(ステップ454)。
【0041】カーネル(レベルリモートオブジェクト呼
出し カーネルアプリケーションは、そのメソッドが同じカー
ネルドメインにあるか又はリモートノードの異なるカー
ネルドメインにあるカーネルオブジェクトをアクセスす
ることができる。更に、カーネルアプリケーションは、
そのメソッドが同じノード内の異なるドメイン又は異な
るノードにあるユーザオブジェクトをアクセスすること
ができる。カーネルアプリケーションから起動されたリ
モートオブジェクト呼出しは、ユーザ起動型リモートオ
ブジェクト呼出しによって用いられた同じステップのあ
るものを取り囲む。図3A及び図3Bを参照すると、カ
ーネルアプリケーションと同じドメイン内のカーネルオ
ブジェクトの呼出しは、ローカル手続きコールとして扱
われる。オブジェクト呼出し要求は、特定されたオブジ
ェクトのメソッドを実行しかつ結果及び/又は例外を呼
出しスレッドにリターンするために生成される。
【0042】図5A及び図5Bは、カーネルアプリケー
ションによって起動されるリモートオブジェクト呼出し
を実行するために用いられるステップを示している。カ
ーネルアプリケーション204は、オブジェクトの特定
されたメソッドの実行を要求している手続きコールを生
成することによってオブジェクトを参照する(ステップ
500)。手続きコールは、それらに限定されないが、
データ、手続き、又は他のオブジェクトリファレンスを
含むことができる、多数のアーギュメントによって一般
に達成される。カーネルクライアントスタブ手続き20
8は、カーネルアプリケーション204によって手続き
コールを受け取る。カーネルクライアントスタブ手続き
208は、それが呼出すことを意図している実際のメソ
ッドとしてユーザに見える。カーネルクライアントスタ
ブ手続き208は、オブジェクトのアーギュメントを所
定のフォーマットにフォーマットする(ステップ50
2)。カーネルクライアントスタブ手続き208は、次
いで、オブジェクトリファレンス及びそのフォーマット
されたアーギュメントをクライアントハンドラ手続き1
69に転送する(ステップ502)。
【0043】カーネル(レベルクライアントハンドラ手
続き169は、各カーネルオブジェクト206と関連し
かつオブジェクトのアーギュメントを一つ以上のバッフ
ァ178に集めるために用いられる(ステップ50
4)。また、クライアントハンドラ手続き169は、オ
ブジェクト及びオブジェクトのアーギュメントを包含し
ているバッファプール178のバッファのロケーション
と関連するローカルエックスドア識別子147をそれに
渡すクライアントエックスドア手続き174に制御を転
送する(ステップ504)。要求されたオブジェクトが
同じノード内にあれば(ローカルオブジェクト)、カー
ネルクライアントエックスドア手続き174は、要求さ
れたオブジェクトと関連する適当なゲートウェイハンド
ラ168を決定しかつコールするためにローカルエック
スドア識別子147を用いる。カーネルクライアントエ
ックスドア手続き174は、サーバハンドラポインタ1
41を利用することによって適当なゲートウェイハンド
ラ168を決定する(ステップ506)。
【0044】ゲートウェイハンドラ168は、要求され
たオブジェクトのローカルエックスドア識別子及びその
関連アーギュメントをそれらの関連ファイル記述子にマ
ップする。ゲートウェイハンドラ168は、対応ドアを
得るために要求されたオブジェクトのファイル記述子1
54を利用する。ドアのプロセスロケーション166
は、オブジェクトを呼出すためのサーバドメインへのエ
ントリポイントを示す。これは、サーバユーザエックス
ドア手続き128である。ゲートウェイハンドラ168
は、要求されたオブジェクトのドア識別子並びに他のデ
ータをそれに渡すサーバユーザエックスドア手続き12
8に制御を転送する(ステップ513)。サーバユーザ
エックスドア手続き128は、適当なサーバハンドラ1
22を決定しかつコールする(ステップ514)。サー
バハンドラは、以下に説明するようにオブジェクト呼出
しを継続する。
【0045】要求されたオブジェクトがリモートノード
(リモートオブジェクト)に配置されているならば、ク
ライアントカーネルエックスドア手続き174は、オブ
ジェクトのアーギュメントをそれらの各グローバルエッ
クスドア識別子にマップし、応答バッファとして作用す
べくバッファ178を割り当て、オブジェクトのアーギ
ュメント、システム(ワイド識別子並びに他の情報を含
んでいるロジカルメッセージをフォーミュレートし、メ
ッセージにRPCを割り当て、かつメッセージを移送手
続き176に転送する(ステップ508)。移送手続き
176は、メッセージを適当なサーバノードに送る(ス
テップ509)。リモートオブジェクト呼出し要求が宛
先ノードに到着したとき、宛先ノードの移送手続き17
6は、メッセージを受け取りかつリモートオブジェクト
のシステム(ワイド識別子を抽出する。それは、対応エ
ントリに対するカーネル(レベルエックスドア表136
を探索することによってシステム(ワイド識別子に対応
しているエックスドア170がノードに存在するか否か
を決定する。そのようなエントリが存在するならば、移
送手続き176は、メッセージをサーバカーネルエック
スドア手続き174に転送する(ステップ510)。
【0046】サーバカーネルエックスドア手続き174
は、リモートオブジェクト呼出し要求と関連するグロー
バルエックスドア識別子140に基づいてコールするた
めに適当なサーバハンドラ169を決定しかつ渡された
アーギュメントと一緒にこの手続きに制御を転送する
(ステップ512)。グローバルエックスドア識別子1
40に対応しているエックスドアのサーバハンドラポイ
ンタ141は、適当なサーバハンドラ169を示す(ス
テップ512)。ユーザオブジェクトに対して、サーバ
ハンドラは、ゲートウェイハンドラ168である。ゲー
トウェイハンドラ168は、グローバルエックスドア識
別子140をそれらの各ファイル記述子154にマップ
する。ゲートウェイハンドラ168は、要求されたオブ
ジェクトのファイル記述子154をその関連ドア162
にマップしかつサーバユーザドメインへのエントリポイ
ントをコールするためにドアのプロセスロケーションポ
インタ166を用いる(ステップ513)。このエント
リポイントは、サーバユーザエックスドア手続き128
である。サーバユーザエックスドア手続き128は、次
いで、制御を関連サーバは122に転送する(ステップ
514)。
【0047】サーバハンドラ169は、アーギュメント
を一般的なフォーマットにアンマーシュしかつサーバス
ケルトン手続き210をコールする(ステップ51
5)。サーバスケルトン手続き210は、オブジェクト
のデータを一般的なフォーマットから呼出されるオブジ
ェクトのメソッドに最適なフォーマットに変換する(ス
テップ516)。一度オブジェクトのメソッドが実行さ
れると、例外が生成されなけらばリターンパラメータが
集められる。さもなければ、例外それ自体が集められ
る。この点で、集められた応答は、準備が整う(ステッ
プ518)。サーバスケルトン手続き210は、応答を
一般的なフォーマットに変換しかつ関連サーバハンドラ
手続き169をコールする(ステップ519)。サーバ
ハンドラ169は、応答データをバッファ178に集め
かつローカルエックスドア識別子147を渡している関
連サーバエックスドア手続き174をコールする(ステ
ップ520)。
【0048】呼出されたオブジェクトがカーネルオブジ
ェクトであるならば、制御は、以下に詳述するサーバカ
ーネルエックスドア手続き174に渡される。呼出され
たオブジェクトがユーザドメイン(ユーザオブジェク
ト)と関連するならば、サーバユーザエックスドア手続
き128は、ローカルエックスドア識別子をそれらの各
ファイル記述子154にマップする。サーバユーザエッ
クスドア手続き128は、次いで、関連ゲートウェイは
68をコールする(ステップ521)。ゲートウェイハ
ンドラ168は、ファイル記述子154をそれらの各グ
ローバルエックスドア識別子140に翻訳(変換)する
と共に、渡されたデータをサーバカーネルエックスドア
手続き174によって知られたフォーマットにフォーマ
ットとする(ステップ522)。プロセッシング制御
は、次いで、サーバカーネルエックスドア手続き174
に渡される。
【0049】サーバカーネルエックスドア手続き174
は、応答バッファ178に応答を記憶し、応答をロジカ
ルメッセージにフォーマットしかつRPC識別子を割り
当て、そしてロジカルメッセージをサーバ移送手続き1
76に転送する(ステップ523)。サーバ移送手続き
176は、メッセージをリモートノードに伝送する(ス
テップ524)。クライアント移送手続き176は、メ
ッセージを受け取りかつ適当なクライアントカーネルエ
ックスドア手続き174をコールする(ステップ52
6)。クライアントカーネルエックスドア手続き174
は、受け取ったメッセージのグローバルエックスドア識
別子をそれたの対応ローカルエックスドア識別子147
に翻訳(変換)しそして応答メッセージを適当なクライ
アントハンドラ169に渡す(ステップ528)。クラ
イアントハンドラ169は、応答メッセージのアーギュ
メントを一般的なフォーマットにアンマーシャルしかつ
カーネルクライアントスタブ手続き208をコールする
(ステップ530)。カーネルクライアントスタブ手続
き208は、アーギュメントをカーネルアプリケーショ
ン204に最適なフォーマットにフォーマットし(ステ
ップ532)かつカーネルアプリケーションを再開する
(ステップ534)。
【0050】上記説明は、基礎を成しているコンピュー
ティング環境のプロセス間通信ファシリティ及びORB
を利用してオブジェクト呼出しが実行される方法に集中
していた。本発明のリモートオブジェクト呼出し技術の
利点は、リモートオブジェクト呼出しのクライアント及
びサーバサイドの両方において同じモジュール及びステ
ップを用いることができるということである。これは、
リモートオブジェクト呼出しの各側に異なるプロセッシ
ングモジュールを収容するために付加インタフェースに
対する必要性を最小化する。ここで、上述したようなオ
ブジェクト呼出しを支援するためにこのインフラストラ
クチャが生成される方法に注目する。
【0051】オブジェクトリファレンスのエクスポテー
ション アプリケーションは、アクセスを認められたオブジェク
トをアクセスできるだけである。オブジェクトへのアク
セスを有しているアプリケーションは、そのオブジェク
トへのリファレンスを他のアプリケーションにエクスポ
ートする。これは、オブジェクトがリモートオブジェク
ト呼出しのアーギュメントとして渡されるときに生じう
る。オブジェクトリファレンスがエクスポートされると
き、ORBは、リファレンスを受け取るドメインによっ
てオブジェクトに対する後続のリモートオブジェクト呼
出しを支援する適当な機構を生成する。ユーザオブジェ
クトリファレンスが別のドメインに初めて渡されたと
き、クライアントユーザエクスポート手続き128は、
オブジェクトリファレンスに対するドア162及びファ
イル記述子154を生成する。ドア162は、じゃ。ド
ア表132に記憶される。ドアのプロセスロケーション
166は、適当なサーバ−サイドユーザエクスポート手
続き128に設定される。ユーザオブジェクトリファレ
ンスがリモートノードに初めて渡されたとき、サーバ−
サイドORBは、オブジェクトリファレンスに対するエ
クスポート170並びにゲートウェイハンドラ168を
生成する。エックスドア170は、グローバルエックス
ドア識別子140、ノード識別子142、ゲートウェイ
ハンドラ168に対するポインタ144、及びドメイン
識別子146を含む。
【0052】ノードがそのカーネルエックスドア表13
6にないオブジェクトリファレンスを受け取るとき、ク
ライアントカーネルエックスドア手続き174は、オブ
ジェクトリファレンスに対するエックスドア170及び
ハンドラ168を生成する。ユーザオブジェクトに対し
て、ハンドラは、ゲートウェイハンドラでありかつカー
ネルオブジェクトに対して、ハンドラは、クライアント
カーネルハンドラである。エックスドア170は、グロ
ーバルエックスドア識別子140及びリモートオブジェ
クト呼出しで受け取るノード識別子142を含む。要求
されたオブジェクトと関連するゲートウェイハンドラ1
68は、オブジェクトリファレンスに対するドア162
及びファイル記述子154を生成するために用いられ
る。ドア162のプロセスロケーションは、関連ゲート
ウェイは168をポイントする。ノードのアプリケーシ
ョンは、このオブジェクトの呼出しに対するそのハンド
ラとしてファイル記述子154を利用する。この方法で
オブジェクトリファレンスをエクスポートすることによ
り、オブジェクトをアクセスすることができるアプリケ
ーションにわたりコントロールが存在する。これは、不
正アクセスによる悲惨な結果のスレッドを最小化するよ
うな安全保護環境を提供する。
【0053】代替え実施例 本発明は、数個の特定な実施例を参照して記述された
が、記述は、本発明の説明のためであり本発明を限定す
ることを企図するものではない。特許請求の範囲によっ
て画定される本発明の真の精神及び範疇から逸脱するこ
となく種々の変更が当業者によりなされうる。本発明
は、図1に関して記述したコンピュータシステムに限定
されない。特定の詳細なしで実用化されうるしかつ種々
の構成、又は分散型コンピューティングシステムのメー
ク又はモデル、堅く結合されたプロセッサ又は緩く結合
されたマイクロプロセッサシステムの種々の構成で実施
されうる。
【0054】更に、上述した方法及びシステムは、ラン
ダムアクセスメモリのようなメモリ装置以外の種々の型
の実行可能な媒体上での実行に対して訂正可能である。
それらに限定されないが、あらゆるメモリ装置、コンパ
クトディスク、又はフロッピディスクでありうる、コン
ピュータ読取り可能記憶媒体のような、他の型の実行可
能媒体を用いることもできる。加えて、本発明は、オブ
ジェクトを呼出す機構としてファイル記述子を参照して
説明した。本発明は、ファイル記述子の使用に限定され
ない。ユーザ又はカーネルアプリケーションによる望ま
しくないアクセスからオブジェクトハンドラを保護する
ために他の型の保護されたエンティティを用いることが
できる。
【0055】
【発明の効果】纏めると、本発明の実施形態は、オブジ
ェクトへのアクセスを制御するための安全保護機構を有
している分散型オブジェクト指向型コンピュータシステ
ムである。機構は、オブジェクトの呼出し用ハンドルと
してカーネル−保護型ファイル記述子を利用するので、
安全である。アプリケーションは、それが対応ファイル
記述子を取得したオブジェクトだけをアクセスすること
ができる。
【図面の簡単な説明】
【図1】本発明の実施例を組込んでいるコンピュータシ
ステムのブロック図である。
【図2】リモートオブジェクト呼出しを実施するために
用いられる手続き及びデータ構造の概略図である。
【図3A−3B】リモートオブジェクト呼出しを実施す
るために用いられる手続きフローの概略図である。
【図4A−4E】ユーザ−レベルのリモートオブジェク
ト呼出しを実施するために用いられるステップを示して
いるフローチャートである。
【図5A−5D】カーネル−レベルのリモートオブジェ
クト呼出しを実施するために用いられるステップを示し
ているフローチャートである。
【符号の説明】
100 分散型コンピュータシステム 102 コンピューティングノード 104 通信リンク104 106,108,110,112,114,116 ド
メイン 120 スレッド 124 オブジェクト
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 マダスダン タルーリ アメリカ合衆国 カリフォルニア州 94538 フリーモント ブッシュ サーク ル 4466 (72)発明者 デクラン マーフィー アメリカ合衆国 カリフォルニア州 94131 サン フランシスコ ニューバー グ ストリート 41 (72)発明者 ヨーゼフ エイ カリディー アメリカ合衆国 カリフォルニア州 94086 サニーヴェール ウェスト ガー ランド テラス 633

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 通信リンクと、 前記通信リンクに接続された一つ以上のクライアントコ
    ンピュータと、 前記通信リンクに接続された一つ以上のサーバコンピュ
    ータとを備え、 前記サーバコンピュータのそれぞれは、 それぞれがオブジェクトを呼出すために用いられる関連
    サーバ−サイド安全保護エンティティを有している、複
    数のオブジェクト;前記クライアントコンピュータのあ
    るものを選択するためにオブジェクトにリファレンスを
    エクスポートするためのケーパビリティを有しているオ
    ブジェクトエクスポテーション機構を備え、 前記クライアントコンピュータのそれぞれは、 それぞれが前記サーバコンピュータの一つに存在するオ
    ブジェクトを呼出すために用いられる、複数のクライア
    ント−サイド安全保護エンティティ;前記クライアント
    コンピュータにエクスポートされる各オブジェクトリフ
    ァレンスに対するクライアント−サイド安全保護エンテ
    ィティを生成するためのケーパビリティを有しているリ
    モートオブジェクトリファレンス機構を備えていること
    を特徴とするクライアント/サーバコンピュータ装置。
  2. 【請求項2】 各前記安全保護エンティティは、カーネ
    ル−レベルファイル記述子を表すことを特徴とする請求
    項1に記載の装置。
  3. 【請求項3】 前記オブジェクトエクスポテーション機
    構は、 各エクスポートされたオブジェクトリファレンスを独自
    に識別するグローバル識別子を生成するためのケーパビ
    リティを有しているエックスドア機構と、 エクスポートされたオブジェクトリファレンスと関連す
    るサーバ−サイド安全保護エンティティを対応グローバ
    ル識別子にマップするためのケーパビリティを有してい
    るゲートウェイハンドラとを備えていることを特徴とす
    る請求項1に記載の装置。
  4. 【請求項4】 前記リモートオブジェクトリファレンス
    機構は、 受け取ったエクスポートされたオブジェクトリファレン
    スと関連するゲートウェイハンドラを生成するためのケ
    ーパビリティを有しているエックスドア機構と、 前記受け取ったエクスポートされたオブジェクトリファ
    レンスに対するクライアント−サイド安全保護エンティ
    ティを生成するためのケーパビリティを有しているゲー
    トウェイハンドラとを備えていることを特徴とする請求
    項1に記載の装置。
  5. 【請求項5】 前記クライアントコンピュータは、前記
    サーバコンピュータの一つに存在するオブジェクトを呼
    出すためのケーパビリティを有しているオブジェクト呼
    出し要求機構を含んでおり、 前記オブジェクト呼出し要求機構は、要求されたオブジ
    ェクトを表しているクライアント−サイド安全保護エン
    ティティを対応グローバル識別子にマップするために前
    記ゲートウェイハンドラを利用しかつ前記グローバル識
    別子を含んでいるオブジェクト呼出し要求をフォーミュ
    レートするために前記エックスドア機構を利用すること
    を特徴とする請求項4に記載の装置。
  6. 【請求項6】 前記サーバコンピュータは、オブジェク
    ト呼出し要求をサービスするためのケーパビリティを有
    しているオブジェクト呼出し機構を含んでおり、 前記オブジェクト呼出し機構は、前記受け取った他オブ
    ジェクト呼出し要求を要求されたオブジェクトと関連す
    るゲートウェイハンドラに転送するために前記エックス
    ドア機構を利用しかつ受け取ったグローバル識別子を前
    記要求されたオブジェクトを呼出すために用いる対応サ
    ーバ−サイド安全保護エンティティにマップするために
    前記ゲートウェイハンドラを利用することを特徴とする
    請求項3に記載の装置。
  7. 【請求項7】 前記サーバコンピュータは、オブジェク
    ト呼出し要求に応じて応答をフォーミュレートするため
    のケーパビリティを有しているサーバ−サイド応答機構
    を含んでおり、 前記サーバ−サイド応答機構は、前記応答に含まれたサ
    ーバ−サイド安全保護エンティティを対応グローバルエ
    ックスドア識別子にマップするためにゲートウェイハン
    ドラを利用しかつ関連クライアントコンピュータへの伝
    送のために前記応答をフォーマットするために前記エッ
    クスドア機構を利用することを特徴とする請求項6に記
    載の装置。
  8. 【請求項8】 前記クライアントコンピュータは、オブ
    ジェクト呼出し要求に応じて受け取った応答を扱うため
    のケーパビリティを有しているクライアント−サイド応
    答機構を含んでおり、 前記クライアント−サイド応答機構は、前記受け取った
    応答と関連するゲートウェイハンドラを決定するために
    前記エックスドア機構を利用しかつ前記受け取った応答
    をプロセスするために前記受け取った応答のグローバル
    識別子を対応クライアント−サイド安全保護エンティテ
    ィにマップするために前記ゲートウェイハンドラを利用
    することを特徴とする請求項5に記載の装置。
  9. 【請求項9】 複数のクライアント及びサーバノードを
    含んでいるコンピューティングシステム用のリモートオ
    ブジェクト呼出しを実行するためのコンピュータを利用
    した方法であって:それぞれがオブジェクトを呼出すた
    めに用いられるサーバ−サイド安全保護エンティティと
    関連する複数のオブジェクトを各前記サーバノードに供
    給し;オブジェクトに対するリファレンスを一つ以上の
    クライアントノードにエクスポートし、各前記オブジェ
    クトリファレンスは、前記システム内のエクスポートさ
    れたオブジェクトを独自に識別するグローバル識別子を
    含んでおり;エクスポートされたオブジェクトリファレ
    ンスを受け取る各クライアントにおいて前記サーバノー
    ドに存在する前記エクスポートされたオブジェクトを呼
    出すために用いられるクライアント−サイド安全保護エ
    ンティティを関連付け;関連クライアント−サイド安全
    保護エンティティを有しているオブジェクトを呼出すた
    めにリモートオブジェクト呼出し要求をクライアントノ
    ードにおいて生成し、前記リモートオブジェクト呼出し
    要求は、要求されたオブジェクトに対応しているグロー
    バル識別子を含んでおり;前記リモートオブジェクト呼
    出し要求を意図したサーバノードに伝送する段階を具備
    することを特徴とする方法。
  10. 【請求項10】 特定のオブジェクトを呼出すためにリ
    モートオブジェクト呼出し要求をサーバノードにおいて
    受け取り;前記リモートオブジェクト呼出し要求の各グ
    ローバル識別子を対応サーバ−サイド安全保護エンティ
    ティにマップし;前記特定のオブジェクトを呼出すため
    に前記サーバ−サイド安全保護エンティティを利用する
    ことを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記リモートオブジェクト呼出し要求
    への応答をサーバノードでフォーミュレートし、前記応
    答は、前記呼出した特定のオブジェクトを識別する前記
    サーバ−サイド安全保護エンティティを含んでおり;前
    記サーバ−サイド安全保護エンティティを対応グローバ
    ル識別子にマップし;かつ前記呼出された特定のオブジ
    ェクトのグローバル識別子を含んでいる応答を意図した
    クライアントノードに伝送することを特徴とする請求項
    10に記載の方法。
  12. 【請求項12】 前記応答をクライアントノードにおい
    て受け取り;前記応答に含まれたグローバル識別子を関
    連クライアント−サイド安全保護エンティティに翻訳
    し;前記応答をプロセスするために前記クライアント−
    サイド安全保護エンティティを利用することを特徴とす
    る請求項11に記載の方法。
  13. 【請求項13】 前記サーバ−サイド安全保護エンティ
    ティ及び前記クライアント−サイド安全保護エンティテ
    ィは、ファイル記述子であることを特徴とする請求項9
    に記載の方法。
JP10210177A 1997-06-19 1998-06-19 リモートオブジェクト呼出し用システム及び方法 Pending JPH11149456A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/879150 1997-06-19
US08/879,150 US6151639A (en) 1997-06-19 1997-06-19 System and method for remote object invocation

Publications (2)

Publication Number Publication Date
JPH11149456A true JPH11149456A (ja) 1999-06-02
JPH11149456A5 JPH11149456A5 (ja) 2005-10-20

Family

ID=25373527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10210177A Pending JPH11149456A (ja) 1997-06-19 1998-06-19 リモートオブジェクト呼出し用システム及び方法

Country Status (4)

Country Link
US (1) US6151639A (ja)
EP (1) EP0886212A3 (ja)
JP (1) JPH11149456A (ja)
CA (1) CA2240529A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881230A (en) 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
DE19747583B4 (de) * 1997-10-28 2006-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Kommunikationssystem und Verfahren
US6601110B2 (en) * 1998-03-17 2003-07-29 Sun Microsystems, Inc. System and method for translating file-level operations in a non-door-based operating system to door invocations on a door server
US6920475B1 (en) * 1999-04-23 2005-07-19 Oracle International Corporation Communication architecture for distributed computing environment
US6877163B1 (en) * 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6826760B1 (en) * 1999-06-16 2004-11-30 Microsoft Corporation Methods of factoring operating system functions, methods of converting operating systems, and related apparatus
US7334235B2 (en) * 1999-06-16 2008-02-19 Microsoft Corporation Operating system application programming interfaces and methods of using operating systems
US6446069B1 (en) 1999-09-17 2002-09-03 International Business Machines Corporation Access control system for a multimedia datastore
US6470353B1 (en) 1999-09-17 2002-10-22 International Business Machines Corporation Object-oriented framework for managing access control in a multimedia database
US6678743B1 (en) 1999-11-30 2004-01-13 Recursion Software, Inc. Method for moving objects in a distributed computing environment
US6947965B2 (en) 1999-11-30 2005-09-20 Recursion Software, Inc. System and method for communications in a distributed computing environment
US6622175B1 (en) * 1999-11-30 2003-09-16 Recursion Software, Inc. System and method for communications in a distributed processing environment
KR20010082938A (ko) * 2000-02-22 2001-08-31 박종섭 차세대 이동통신 시스템에서 원격 프로세스 호를 이용한운용 보전 방법
US6668279B1 (en) * 2000-02-25 2003-12-23 Sun Microsystems, Inc. User level web server in-kernel network I/O accelerator
WO2002010917A1 (en) * 2000-07-27 2002-02-07 Bea Systems, Inc. System and method for concentration and load-balancing of requests
US7346911B2 (en) * 2001-01-05 2008-03-18 International Business Machines Corporation Method, system, and program for communication among nodes in a system
US6993566B2 (en) * 2001-09-13 2006-01-31 International Business Machines Corporation Entity self-clustering and host-entity communication such as via shared memory
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
SE519905C2 (sv) * 2001-10-05 2003-04-22 Abb Ab Dataåtkomstmetod för ett styrsystem
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US7380238B2 (en) * 2002-04-29 2008-05-27 Intel Corporation Method for dynamically adding new code to an application program
US6934710B1 (en) * 2002-05-02 2005-08-23 Palmsource, Inc. Generating coherent global identifiers for efficient data identification
WO2004057469A1 (en) * 2002-12-19 2004-07-08 Red Plain Technology Limited A distributed object processing system and method
US7331049B1 (en) 2003-04-21 2008-02-12 Borland Software Corporation System and methodology providing typed event and notification services
US8881099B2 (en) * 2004-09-10 2014-11-04 Oracle International Corporation Dynamic generation of wrapper classes to implement call-by-value semantics
US7516122B2 (en) * 2004-12-02 2009-04-07 Computer Associates Think, Inc. System and method for implementing a management component that exposes attributes
GB0505297D0 (en) * 2005-03-15 2005-04-20 Level 5 Networks Ltd Redirecting instructions
US9606846B2 (en) * 2005-07-29 2017-03-28 Sap Se System and method for dynamic proxy generation
US7773630B2 (en) * 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
US8402443B2 (en) * 2005-12-12 2013-03-19 dyna Trace software GmbH Method and system for automated analysis of the performance of remote method invocations in multi-tier applications using bytecode instrumentation
WO2007149742A2 (en) * 2006-06-19 2007-12-27 Liquid Computing Corporation Methods and systems for reliable data transmission using selective retransmission
US8533687B1 (en) 2009-11-30 2013-09-10 dynaTrade Software GmbH Methods and system for global real-time transaction tracing
US8464225B2 (en) * 2007-05-06 2013-06-11 Dynatrace Software Gmbh Method and system for adaptive, generic code instrumentation using run-time or load-time generated inheritance information for diagnosis and monitoring application performance and failure
US9231858B1 (en) 2006-08-11 2016-01-05 Dynatrace Software Gmbh Completeness detection of monitored globally distributed synchronous and asynchronous transactions
US7873964B2 (en) * 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
US8332866B2 (en) * 2006-11-29 2012-12-11 Qualcomm Incorporated Methods, systems, and apparatus for object invocation across protection domain boundaries
US9047412B2 (en) 2007-05-06 2015-06-02 Dynatrace Corporation System and method for extracting instrumentation relevant inheritance relationships for a distributed, inheritance rule based instrumentation system
GB2466289A (en) * 2008-12-18 2010-06-23 Veda Technology Ltd Executing a service application on a cluster by registering a class and storing subscription information of generated objects at an interconnect
US20100269104A1 (en) * 2009-04-16 2010-10-21 International Business Machines Corporation System and Methods for Generic Data Marshalling without Object Modification
US9274919B2 (en) 2011-04-29 2016-03-01 Dynatrace Software Gmbh Transaction tracing mechanism of distributed heterogenous transactions having instrumented byte code with constant memory consumption and independent of instrumented method call depth
US8791802B2 (en) 2011-09-09 2014-07-29 Robert Bosch Gmbh Driver assistance system for reducing blind-spot-detection false alerts
CN104335220B (zh) * 2012-03-30 2018-04-20 爱迪德技术有限公司 用于防止和检测安全威胁的方法和系统
US8930324B2 (en) 2012-06-15 2015-01-06 Russell A. Blaine Guarded file descriptors
US9092281B2 (en) 2012-10-02 2015-07-28 Qualcomm Incorporated Fast remote procedure call
US10346422B2 (en) * 2012-10-18 2019-07-09 International Business Machines Corporation Use of proxy objects for integration between a content management system and a case management system
US20140114864A1 (en) * 2012-10-22 2014-04-24 International Business Machines Corporation Case management integration with external content repositories
US10503168B1 (en) 2016-01-22 2019-12-10 State Farm Mutual Automotive Insurance Company Autonomous vehicle retrieval
CN109669793B (zh) * 2018-12-24 2022-11-15 中国人民解放军国防科技大学 中间件进程内对象调用方法
CN110009683B (zh) * 2019-03-29 2021-03-30 北京交通大学 基于MaskRCNN的实时平面上物体检测方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
CA2048306A1 (en) * 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5261098A (en) * 1991-08-28 1993-11-09 Sun Microsystems, Inc. Method and apparatus for deriving object type and obtaining object type attribute values
DE69327448T2 (de) * 1992-12-21 2004-03-04 Sun Microsystems, Inc., Mountain View Verfahren und Vorrichtung für Teilaufgaben in verteiltem Verarbeitungssystem
US5581461A (en) * 1993-02-08 1996-12-03 Itt Sheraton Corporation Computerized system and method for storage, processing and transfer of inventory and other data among a central processor/database and a number of remote locations
US5483652A (en) * 1994-01-24 1996-01-09 Digital Equipment Corporation Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment
US5522077A (en) * 1994-05-19 1996-05-28 Ontos, Inc. Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers
US5724803A (en) * 1995-05-04 1998-03-10 Hubbell Incorporated Power supply chain with roller bar carrier
US6170018B1 (en) * 1995-11-27 2001-01-02 Sun Microsystems, Inc. Remote procedure calling using an existing descriptor mechanism
US5808911A (en) * 1997-06-19 1998-09-15 Sun Microsystems, Inc. System and method for remote object resource management
US6074427A (en) * 1997-08-30 2000-06-13 Sun Microsystems, Inc. Apparatus and method for simulating multiple nodes on a single machine

Also Published As

Publication number Publication date
US6151639A (en) 2000-11-21
CA2240529A1 (en) 1998-12-19
EP0886212A3 (en) 2004-06-09
EP0886212A2 (en) 1998-12-23

Similar Documents

Publication Publication Date Title
JPH11149456A (ja) リモートオブジェクト呼出し用システム及び方法
US6820267B2 (en) Method and system for remote automation of object oriented applications
US6629153B1 (en) Method and apparatus for providing peer ownership of shared objects
US5808911A (en) System and method for remote object resource management
US6282581B1 (en) Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
EP1027795B1 (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
US6687831B1 (en) Method and apparatus for multiple security service enablement in a data processing system
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
EP0590519B1 (en) An ally mechanism for inter-connecting distributed computing environment (DCE) and non-DCE systems to operate in a network system
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
US6044409A (en) Framework for marshaling and unmarshaling argument object references
US6393497B1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
EP0981884B1 (en) System and method for managing the connection between a server and a client node
JP2001522086A (ja) 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置
JP2001522113A (ja) 分散ウェブアプリケーションサーバ
JPH11149456A5 (ja)
WO1996009705A1 (en) A mechanism for providing security to a dual decor command host system
US6247039B1 (en) Method and apparatus for disposing of objects in a multi-threaded environment
CN100399277C (zh) 访问计算网格的方法和系统
JP2002505477A (ja) スタックベースのセキュリティ要求
JP2002505478A (ja) 分散形システムにおけるイベント通知のためのオブジェクトの据置き復元及び遠隔ローディング
Interface et al. Microkernels and Other Kernel Architectures Symposium San Diego, California, September 20-23, 1993
HK1028687B (en) Method and apparatus for implementing an extensible authentication mechanism in a web application server
HK1025700B (en) System and method for managing the connection between a server and a client node

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070514

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071015