[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0926879A - 要求伝達方法及びそのネットワーク - Google Patents

要求伝達方法及びそのネットワーク

Info

Publication number
JPH0926879A
JPH0926879A JP7288874A JP28887495A JPH0926879A JP H0926879 A JPH0926879 A JP H0926879A JP 7288874 A JP7288874 A JP 7288874A JP 28887495 A JP28887495 A JP 28887495A JP H0926879 A JPH0926879 A JP H0926879A
Authority
JP
Japan
Prior art keywords
proxy
request
address space
manager
external
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.)
Granted
Application number
JP7288874A
Other languages
English (en)
Other versions
JP3072709B2 (ja
Inventor
Richard Camagnoni Frank
フランク・リチャード・キャムパノーニ
Harden Coner Michael
マイケル・ハーデン・コナー
Vishwanas Heudri Lagu
ラグー・ヴィシュワナス・ヒュードリ
Gregori Smith Mark
マーク・グレゴリー・スミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0926879A publication Critical patent/JPH0926879A/ja
Application granted granted Critical
Publication of JP3072709B2 publication Critical patent/JP3072709B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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]

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)

Abstract

(57)【要約】 【課題】異なるオブジェクト・リクエスト・ブローカに
書込まれたターゲット・オブジェクトに、要求者からの
要求を渡す。 【解決手段】最初に、要求が呼出しオブジェクトから、
呼出しオブジェクトが書込まれる、通常は呼出しオブジ
ェクトのために遠隔オブジェクトに対する要求を処理す
る、オブジェクト・リクエスト・ブローカに渡される。
ターゲット・オブジェクトがオブジェクト・リクエスト
・ブローカにとって外部であるという判別に応答して、
ターゲット・オブジェクトが書込まれる外部オブジェク
ト・リクエスト・ブローカが探し出される。このブロー
カのプロトコルに従ってプロキシー・オブジェクトが生
成され、第1のアドレス空間に格納される。呼出しオブ
ジェクトにポインタが戻され、これにより呼出しオブジ
ェクトからターゲット・オブジェクトへの通信が、プロ
キシー・オブジェクトを介して設定できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概してデータ処理
システムに関する。更に詳細に説明すれば、異なるアド
レス空間内のオブジェクト間の通信に関する。
【0002】
【従来の技術】オブジェクト指向プログラミング(OO
P)は、オブジェクトと呼ばれるソフトウェア・モジュ
ールのより効率的な再利用とカストマイズを可能にする
ことにより、ソフトウェアの開発を促進する前途有望な
新しい技術として大いに推奨されてきた。オブジェクト
とは、データとメソッドの両方をカプセル化したソフト
ウェアの単位であり、ソフトウェアの保守と拡張を共に
容易にする構成である。その期待される将来性にも関わ
らず、オブジェクト指向テクノロジーは、主要な商用ソ
フトウェア製品での利用がやっと始まったばかりであ
る。
【0003】ソフトウェア開発者は、OOPの使用にお
いていくつかの障害に直面している。その第1は、オブ
ジェクトの定義とそれらの動作に関してそれぞれ異なっ
た非互換のモデルを包含する、オブジェクト指向言語と
ツールキットの数の多さである。例えば、Smallt
alkなどの「純粋な」オブジェクト指向言語は、与え
られた実行時環境にある限り円滑に操作する。しかし、
外部環境と対話する場合、オブジェクトはオブジェクト
の提供するカプセル化と再利用の利点を維持しないデー
タ構造に格下げされる。C++などのハイブリッド言語
は、実行時サポートをそれほど要求しないが、オブジェ
クトとそのクライアント間の緊密なバインドが必要であ
り、これは、オブジェクトに対して比較的小規模な変更
が行われたときでも、クライアント・プログラムを再コ
ンパイルする必要があることを意味する。要約すると、
1つの言語で開発されたオブジェクトは、別の言語では
ほとんど使用できない。
【0004】システム・オブジェクト・モデル(SO
M)は、各種のオブジェクト指向方法の統合を意図して
設計されたオブジェクト指向テクノロジーである。SO
Mでは、オブジェクトのクラスのインターフェース、そ
れらがサポートするメソッド、戻りタイプ等がインター
フェース定義言語で指定される。オブジェクト・クラス
の実際の実施は、開発者が好む任意の言語、つまりCな
どの手続き型言語でも書くことができる。したがって、
OOPの長所が非オブジェクト指向プログラミング言語
のプログラマにも拡張できる。SOMについての詳細
は、米国にて一緒に出願中であり一緒に番号を割当てら
れた出願、1992年5月4日、M.Conner、外
に対してファイルされた、通し番号07/805,66
8「Language Neutral Object
s」で説明されている。その内容は本文にも参考として
取入れられている。
【0005】特定の標準アーキテクチャへの準拠を促す
各種の標準機関が存在する。これらの標準の1つが、オ
ブジェクト管理グループ(OMG)及びX/Openが
公表した、共通オブジェクト・リクエスト・ブローカ・
アーキテクチャ(CORBA)である。このアーキテク
チャで説明されるオブジェクト・リクエスト・ブローカ
(ORB)は、UNIX環境で作業する当事者には周知
の遠隔プロシージャ呼出し(RPC)と類似している。
RPCと同様に、ORBは1つのアドレス空間で作業す
るプロセスが別のアドレス空間の他のプロセスと通信す
ることを可能にするメカニズムである。ORBは1つの
アドレス空間のオブジェクトからの呼出しを代行受信
し、これをネットワーク・プロトコルにカプセル化し、
別のアドレス空間にあるターゲット・オブジェクトのた
めにこの呼出しをデコードし、結果を呼出しオブジェク
トに戻す。オブジェクト・リクエスト・ブローカは、オ
ブジェクト指向プログラミングが提供する柔軟性と機能
のレベルを更に高めるように設計され、RPCをより進
歩させたものである。
【0006】CORBAはORBインターフェースを指
定するが、残念ながらORBがどのように機能するかに
ついてはほとんど指定しないので、CORBAに準拠す
るORBを書くことは可能だが、これらのORBはお互
いに通信することができない。実際、これは例外と言う
よりむしろ通則である。出願者が知るところの5、6個
のORB実施でも、他のORBに属するオブジェクトを
扱えるものは1つもない。そればかりか、どれ1つとし
て互いに通信できるORBはない。
【0007】この発明は、理論的には数に制限のない、
任意に実施したオブジェクト・リクエスト・ブローカ同
士が互いに接続するためのメカニズムを提供するもので
ある。
【0008】
【発明が解決しようとする課題】したがって、この発明
の目的は、異なるオブジェクト・リクエスト・ブローカ
に書込まれたターゲット・オブジェクトに、要求者から
の要求を伝達することにある。この発明の他の目的は、
ゲートウェイ・メカニズムに関連するオーバーヘッドを
最小化することにある。この発明の他の目的は、既存の
オブジェクト・リクエスト・ブローカ実施に対する変更
を必要最小限に抑えることにある。この発明の他の目的
は、要求者に対するゲートウェイ・メカニズムの透過性
を保持することにある。
【0009】
【課題を解決するための手段】上記及びその他の目的
は、第1のアドレス空間の呼出しオブジェクトからの要
求を、別の0RBに書込まれた第2のアドレス空間のタ
ーゲット・オブジェクトへ伝達するメカニズムにより達
成される。最初に、要求が呼出しオブジェクトから、呼
出しオブジェクトが書込まれる、オブジェクト・リクエ
スト・ブローカに伝達される。オブジェクト・リクエス
ト・ブローカは、通常は呼出しオブジェクトのために遠
隔オブジェクトに対する要求を処理する。ターゲット・
オブジェクトが、オブジェクト・リクエスト・ブローカ
にとって外部であるという判別に応答して、ターゲット
・オブジェクトが書込まれる外部のオブジェクト・リク
エスト・ブローカが探し出される。外部オブジェクト・
リクエスト・ブローカのプロトコルに従ってプロキシー
・オブジェクトが生成され、第1のアドレス空間に格納
される。呼出しオブジェクトにポインタが戻され、これ
により呼出しオブジェクトからターゲット・オブジェク
トへの通信がプロキシー・オブジェクトを介して設定で
きる。外部オブジェクト・リクエスト・ブローカを判別
するための推奨メカニズムは、個々の外部ORB用のプ
ロキシー・オブジェクトを作成する、各プロキシー・マ
ネージャが複数登録される、プロキシー・マネージャ・
オブジェクトのマネージャである。プロキシー・マネー
ジャのマネージャは、ターゲット・オブジェクトを認識
するプロキシー・マネージャが見つかるまで、ターゲッ
ト・オブジェクト識別子を各プロキシー・マネージャに
繰返し渡す。認識したプロキシー・マネージャは、プロ
キシー・オブジェクトを作成する。推奨する具現化の1
つでは、プロキシー・マネージャのマネージャ及びそれ
に関連するプロキシー・マネージャをゲートウェイ・マ
シン上に配置し、ネットワーク全体にメカニズムを複製
するのではなく、単一の強力なサーバーにプロセスのオ
ーバーヘッドを限定する。
【0010】
【発明の実施の形態】発明は、多数の異なるオペレーテ
ィング・システムの下で、各種のコンピュータまたはコ
ンピュータの集合体において実行される。コンピュータ
は、例えば、パーソナル・コンピュータ、ミニ・コンピ
ュータ、メインフレーム・コンピュータ、叉は他のコン
ピュータの分散ネットワークで稼働しているコンピュー
タとすることができる。特定のコンピュータの選択は、
ディスク及びディスク装置要件によってのみ制限される
が、IBM PS/2(TM)コンピュータ・シリーズ
のコンピュータはこの発明で使用できる。IBMのPS
/2シリーズのコンピュータの詳細については、Tec
hnical Reference Manual P
ersonal Systems/2 Model 5
0、60 System IBM Corporati
on、部品番号68X2224、資料番号S68X−2
224、及びTechnical Reference
Manual Personal Systems/
2(Model 80)IBM Corporatio
n、部品番号68X2256、資料番号S68X−22
54を参照されたい。IBM PS/2パーソナル・コ
ンピュータが実行できるオペレーティング・システムの
1つは、IBMのOS/2 2.0(TM)であり、I
BM OS/2 2.0オペレーティング・システムの
詳細については、OS/2 2.0 Technica
l Library、ProgrammingGuid
e Vol.1、2、3バージョン2.00、資料番号
10G6261、10G6495、10G6494を参
照されたい。
【0011】上記に代わるものとして、コンピュータ・
システムはAIX(TM)オペレーティング・システム
上で稼働するIBM RISC System/600
0(TM)ラインの中のコンピュータが使用できる。R
ISC System/6000の各種のモデルについ
ては、例えばRISC System/6000、70
73 and 7016 POWERstation
and POWERserver Hardware
Technical reference、資料番号S
A23−2644−00等のIBM Corporat
ionの多数の出版物で説明されている。AIXオペレ
ーティング・システムについては、General C
oncepts and Procedure−−AI
X Version 3 for RISC Syst
em/6000、資料番号SC23−2202−00、
及びIBM Corporationの他の出版物で説
明されている。
【0012】図1に、システム装置11、キーボード1
2、マウス13、及びディスプレイ14で構成されるコ
ンピュータ10のブロック・ダイヤグラムを示す。シス
テム装置11には、各種の構成要素が結合し、各種の構
成要素間の通信を実現する単一のシステム・バス叉は複
数のシステム・バス21が含まれる。マイクロプロセッ
サ22がシステム・バス21と接続され、やはりシステ
ム・バス21に接続された読取り専用メモリ(ROM)
23、及びランダム・アクセス・メモリ(RAM)24
にサポートされる。IBM PS/2コンピュータ・シ
リーズのマイクロプロセッサは、386叉は486マイ
クロプロセッサを含むIntelマイクロプロセッサ・
ファミリの1つである。但し、68000、6802
0、叉は68030マイクロプロセッサ等のMotor
olaのマイクロプロセッサ・ファミリ、及びIBMが
製造するPowerPCチップ等の各種の縮小命令セッ
ト・コンピュータ(RISC)マイクロプロセッサ、叉
は他にもHewlett Packard、Sun、M
otorola、及びこれらに限定せず他のものを含め
て、他のマイクロプロセッサが特定のコンピュータで使
用される場合がある。
【0013】ROM23には、他のコードと一緒に対話
及びディスク装置及びキーボード等の基本的ハードウェ
ア操作を制御する、基本入出力システム(BIOS)が
含まれる。RAM24は、オペレーティング・システム
及びアプリケーション・プログラムがロードされるメイ
ン・メモリである。メモリ管理チップ25は、システム
・バス21に接続され、RAM24と、ハード・ディス
ク装置26及びフロッピー・ディスク装置27との間の
データの受渡しを含む、直接メモリ・アクセス操作を制
御する。同じようにシステム・バス21と結合するCD
ROM32は、大量のデータ、例えばマルチメディア
・プログラム叉はプレゼンテーション等を格納するため
に使用される。
【0014】同様にこのシステム・バス21と接続され
るものに、各種の入出力制御装置がある。これには、キ
ーボード制御装置28、マウス制御装置29、ビデオ制
御装置30、及び音声制御装置31がある。当然なが
ら、キーボード制御装置28はキーボード12のハード
ウェア・インターフェースを提供し、マウス制御装置2
9はマウス13のハードウェア・インターフェースを、
ビデオ制御装置30はディスプレイ14のハードウェア
・インターフェースを、また音声制御装置31はスピー
カー15a及び15bのハードウェア・インターフェー
スをそれぞれ提供する。トークン・リング・アダプタな
どの入出力制御装置40は、ネットワーク46を介して
他の同じような構成のデータ処理システムとの通信を可
能にする。
【0015】発明の推奨される実施の1つは、一般的に
前述の説明のように構成された、1つ以上のコンピュー
タ・システムのランダム・アクセス・メモリ24の中に
常駐する、命令48〜52のセットとして実施される。
コンピュータ・システムが要求するまでは、命令のセッ
トは別のコンピュータ・メモリ、例えばハード・ディス
ク装置26の中、叉はCD−ROM32で使用するため
の光ディスクなどの取外し可能メモリの中、またはフロ
ッピー・ディスク装置27で使用するためのフロッピー
・ディスクの中に格納されている場合がある。ORBに
より一緒に結合されるメモリ・アドレス空間は、ネット
ワーク46を介して通信する別のシステムに常駐させる
か、叉は図1に示したような単一コンピュータ・システ
ムのメモリ中の2つ以上のアドレス空間53、54にす
ることができる。
【0016】OMGが公表した共通オブジェクト・リク
エスト・ブローカ・アーキテクチャ(CORBA)は、
定義されたオブジェクト指向インターフェースにより、
サービスの要求者、例えばクライアントをサービスの提
供者から分離することを目的とするオブジェクト・モデ
ルである。オブジェクト・リクエスト・ブローカ(OR
B)をCORBA規定で実施することにより、開発者は
同様にCORBA規定で書かれている多種類のオブジェ
クト・システムを統合することができる。個々のオブジ
ェクト・リクエスト・ブローカの構造の詳細について
は、オブジェクト管理グループ及びX/Open(19
92)が発行した「The CommonObject
Request Broker:Architect
ureand Specification」の第3章
に説明がある。その内容は参考として本文に取入れられ
ている。CORBAインターフェースは、ORBのすべ
てのオブジェクトで同じである操作、オブジェクトの特
定のタイプに固有の操作、及びオブジェクト実施の特定
のスタイルに固有の操作に分類される。これらのインタ
ーフェースには、動的呼出しインターフェース、IDL
スタブ・インターフェース、ORBインターフェース、
IDLスケルトン・インターフェース、及びオブジェク
ト・アダプタ・インターフェースを含む。ORBは、ク
ライアント叉はサーバー・ベース、システム・ベース、
又はライブラリ・ベースにすることができる。ORBコ
アはORBの一部であり、クライアント・オブジェクト
からの要求をターゲット・オブジェクトに実際に転送す
る。クライアントとは、実行されるサービスを要求する
実体(Entity)である。ターゲット・オブジェク
トとは、サーバー・プロセスであることが多いが、要求
されたサービスを実行する実体である。
【0017】CORBAアーキテクチャの中心は、オブ
ジェクト・リクエスト・ブローカ(ORB)である。O
RBは、クライアントの要求を満足できるターゲット・
オブジェクトを検出し、ターゲット・オブジェクトに要
求を受取る準備をさせ、要求を満たすものを戻させる責
任がある。一般的に、クライアントは要求を発行するこ
とによりサービスを要求する。普通要求には、要求の中
の他のパラメータの値とともにオブジェクト参照が含ま
れ、これでサービスが要求されている特定のターゲット
・オブジェクトを指示する。ターゲット・オブジェクト
には、実際にサービスを実施するコード及びデータが含
まれる。ORBメカニズムは、他のオブジェクトとの間
で要求を出し、応答をやり取りするオブジェクトに影響
を与えない。異種分散環境の中の異なるアプリケーショ
ン及び異なるマシンは、理論的には複数のオブジェクト
・システム間で継ぎ目なしに相互接続できる。
【0018】前述のように、ORBは特定の方法で実施
することを要求されるのではなく、むしろ「CORBA
準拠」であることが要求され、CORBAアーキテクチ
ャの定義済みのインターフェースだけに適合しなければ
ならない。異なるORB実施ではその選択が全く異な
り、このため本発明で解決すべき非互換性問題が発生す
る。
【0019】分散SOM(DSOM)は、システム・オ
ブジェクト・モデル(SOM)の拡張機能であり、本発
明を実施する推奨手段である。DSOMは、一緒に出願
中であり、一緒に番号を割当てられた出願、1993年
6月14日提出の通し番号08/077,219、題目
「Method and Apparatus for
Utilizing Proxy Objects
to Communicate with Targe
t Objects」に発表されている。その内容は本
文に参考として取入れられている。SOM及びDSOM
は、IBM Corporationの出版物、「SO
MObjects DeveloperToolki
t」、596F−8649−00でも説明されている。
SOMは、要求者プロセス叉はオブジェクトと同じアド
レス空間内に位置付けされたオブジェクトだけを利用す
る、要求者プロセス叉はオブジェクトを対象とする単一
アドレス空間オブジェクト・モデルである。DSOM
ORB実施により、1つのアドレス空間内の要求者プロ
セス叉はオブジェクトは、他のアドレス空間に常駐する
ターゲット・オブジェクトの呼出しが可能になる。以降
の説明の大部分で「クライアント・オブジェクト」につ
いて述べているが、DSOMを利用するため要求者が必
ずしもクライアント叉はオブジェクトである必要はな
い。例えば、別のサーバーにサービスの実行を要求する
サーバー・プロセスの場合もある。クライアント・オブ
ジェクトは、クライアント・オブジェクトと同じアドレ
ス空間に位置付けされた、ターゲット・オブジェクトを
アクセスする場合と同じ呼出しフォーマットを使用し
て、遠隔ターゲット・オブジェクトをアクセスする。D
SOM ORBはクライアント・プロセス叉はオブジェ
クトからの呼出しをターゲット・オブジェクトに伝送
し、ターゲット・オブジェクトからの結果をクライアン
ト・オブジェクトに戻す。組込まれた実施例で示すよう
に、クライアント・オブジェクトがORBをアクセスす
る手段は、普通はローカル・アドレス空間に作成される
サロゲート(Surrogate)、即ちプロキシー・
オブジェクトである。プロキシー・オブジェクトは、タ
ーゲット・オブジェクトよりずっと小さいことが多い。
これは、ターゲット・オブジェクトに対する要求者から
の呼出しを代行受信し、その呼出しをネットワーク・プ
ロトコルに再パッケージし、ネットワークを介してター
ゲット・オブジェクトとの間で呼出しの送信や検索を行
うことにより、ターゲット・オブジェクトと通信するメ
カニズムを提供する。
【0020】ORBは、同じメモリ叉はマシン内のロー
カル・アドレス空間をブリッジするか、叉は分散環境内
で別のマシンの遠隔アドレス空間をブリッジすることが
できる。例えば、ORB1がマシンA及びマシンBのア
ドレス空間をブリッジできる。このように、同じオブジ
ェクト参照と通信メカニズムを使用する両方のマシン上
にオブジェクトがあり、ORB1に従って実施されるオ
ブジェクト叉はクライアントのために、オブジェクト参
照をマシンAからマシンBへ自由に渡すことができる。
ORB2もマシンA上で実施され、同じマシン内のアド
レス空間をブリッジするが、例えばマシンBには実施さ
れないとする。本発明は、マシンAのORB2上で実施
されたクライアント・オブジェクトが、マシンAまたは
BのORB1上で実施されたオブジェクトと通信するた
めのメカニズムを提供する。
【0021】本発明を使用して、ORBは第1のORB
に従って実施された第1のアドレス空間内の1オブジェ
クトからの呼出しを、第2のORBに従って実施された
第2のアドレス空間内のターゲット・オブジェクトへ渡
すことができる。図2に示すように、本発明は、任意の
方法で実施れた、理論的には数に制限のないORBの相
互接続のための単一の統合フレームワークを提供する。
多数のORBが、特に大規模な分散システムで存在する
と考えられるが、図を簡単にするために、単一のアドレ
ス空間内に2つのORB、101と103だけを表示す
る。これらのORBは、同じ叉は異なるマシン上に存在
する別のアドレス空間102、104と接続する。異な
るORBが同じアドレス空間に接続する場合もある。1
つのORB101内で、複数のプロキシー・マネージャ
・オブジェクト105、107がORBの一部であり、
遠隔オブジェクト111のために、ローカル・プロキシ
ー・オブジェクト109を、個々プロキシー・マネージ
ャが関連するORB内に生成する責任を負う。プロキシ
ー・マネージャ・オブジェクトのマネージャ115が、
プロキシー・マネージャ・オブジェクトを管理する。こ
こでも、図を単純にするために、プロキシー・マネージ
ャ・オブジェクトの1セットと、1つのプロキシー・オ
ブジェクト、及びターゲット・オブジェクトだけが表示
されている。図で示した具現化では、ORB101に書
込まれたオブジェクトは、外部ORBに書込まれたオブ
ジェクトと通信する。これに代わる具現化では、他のO
RBに書込まれたオブジェクトがこれらのORBにとっ
て外部であるオブジェクトと通信し、プロキシー・マネ
ージャのマネージャと複数のプロキシー・マネージャ・
オブジェクトの補足的セットが存在する。各ORBは、
そのORBが外部ORBに書込まれたオブジェクトとの
相互運用性を有する場合はセットを有する。そのセット
は、1つのプロキシー・マネージャ・オブジェクトを有
し、これは自身が通信したい各外部ORBに対応する。
【0022】ORBは、そのプロキシー・マネージャが
作成したプロキシー・オブジェクト上にクライアント・
オブジェクトからのメソッド呼出しを受取り、そのOR
Bに適した構文でクライアントの要求を再ディスパッチ
する。クライアントが出したメソッド呼出しは、ターゲ
ット・オブジェクトがネイティブORBに書かれたロー
カルであるか、叉は外部ORBに書かれた遠隔であるか
に関わらず、本質的には同じフォーマットである。した
がって、クライアントに対する透過性は本発明で保持さ
れる。プロキシーを作成することにより、クライアント
は自分がローカル・オブジェクトを呼出していると考え
る。ORBは要求を遠隔ターゲットに伝達するために必
要なすべてのメカニズムを処理する。推奨する具現化で
は、IBM Corporationの分散システム・
オブジェクト・モデル(DSOM)が、ORB間の相互
運用性を提供する。DSOMは、一様なオブジェクト表
示を用いて、外部ORBを介してメッセージを送信する
ために必要な機能性をカプセル化する。プロキシー・オ
ブジェクトは、他のORBへの入口を提供するORBの
部分である。
【0023】ORB内の遠隔オブジェクトへの要求の処
理は、外部オブジェクトが検出されるまでは通常通り進
む。即ち、通常通りとはネイティブ・オブジェクトの場
合だが、遠隔オブジェクトについては、ネットワークを
介してターゲット・オブジェクトとの通信を処理するた
めにプロキシー・オブジェクトが作成される。各オブジ
ェクトはそのオブジェクトに固有な識別子と関連付けら
れている。ORBは、ターゲット・オブジェクトに対す
る呼出しの経路指定をするために、ターゲット・オブジ
ェクトの識別子を要求する。ある時点で、ORBはその
ドメイン内で始まったとは認識できないオブジェクト識
別子を受取る。外部オブジェクト参照を解決するため
に、ORBはプロキシー・マネージャ・オブジェクトの
マネージャ115を呼び出す。プロキシー・マネージャ
のマネージャ115は、他のORBのために使用可能な
プロキシー・マネージャ・オブジェクト105〜107
をポールし、オブジェクト参照を認識するものを検出す
る。適切なプロキシー・マネージャ107が検出される
と、外部ORBに関連付けられたプロキシー・マネージ
ャ107が、ターゲット・オブジェクト111用のプロ
キシー・オブジェクト109を作成し、ポインタ117
をプロキシー・マネージャのマネージャ115に戻す。
プロキシー・マネージャのマネージャ115はポインタ
117のコピーを呼出しルーチン119に戻す。次に呼
出しルーチン119は、オブジェクト・ポインタを適当
なオブジェクト参照アブストラクションと共に折返す。
プロキシー・マネージャは、エンティティが他のデータ
構造、API、オブジェクト等の中で使用すべき表示に
従ってポインタをカプセル化する。プロキシー・オブジ
ェクト109上でメソッドが呼出されるときは常に、そ
のプロキシー・オブジェクト109に対応するORBが
これを受信し、適切な方法で処理する。「適切な方法」
とは、特定のORB実施に準拠する方法、例えば、特定
のORB実施が要求を処理する方法を意味する。
【0024】遠隔オブジェクトとの通信に当たって要求
を処理するプロセスを、図3の流れ図に示す。ステップ
200で遠隔オブジェクトの呼出しが、オブジェクト識
別子を含めてORB実行時101で受信される。ステッ
プ201のテストは、オブジェクト識別子がネイティブ
ORBで認識されるかどうかを判別する。認識される場
合は、ローカル・プロキシー・マネージャがプロキシー
・オブジェクトを作成するステップ203に進む。この
プロセスの詳細は、図4を参照して説明する。
【0025】ローカルORBがオブジェクト識別子を認
識しない場合、オブジェクトは別のORBに属する外部
オブジェクトである。ステップ205で、オブジェクト
識別子はプロキシー・マネージャのマネージャに渡され
る。プロキシー・マネージャのマネージャは、インスト
ールされたプロキシー・マネージャをステップ207で
繰返し照会し、ステップ209でオブジェクト識別子の
認識を行い、プロキシー・マネージャがオブジェクト識
別子を認識するか、叉はステップ211ですべてのプロ
キシー・マネージャがポールされるまで、これを繰返
す。オブジェクト識別子を認識したプロキシー・マネー
ジャはステップ213でプロキシー・オブジェクトを作
成し、プロキシー・マネージャのマネージャにポインタ
を戻す。インストールされたプロキシー・マネージャが
どれもオブジェクトを認識しない場合、これが未知のオ
ブジェクトであることを示すメッセージがステップ21
5で戻る。プロセスがステップ217で終了する。
【0026】プロキシー・マネージャによるプロキシー
・オブジェクトの作成プロセスを、図4に示す。ステッ
プ251で、xxxClientProxy、及びアブ
ストラクト・ターゲット・オブジェクトを親オブジェク
トとして持つ、クラス・オブジェクトが作成される。
「xxx」文字は、ターゲット・オブジェクトのネイテ
ィブORBにより異なり、例えばDSOMClient
Proxy、DOMFClientProxyのように
なり、またそのプロキシーがどのORBのために作成さ
れるかを識別できることを示す。用語「アブストラクト
・ターゲット・オブジェクト」は、実際のターゲット・
オブジェクトへのインターフェースが入るターゲット・
オブジェクトの空の「シェル」を示すために使用され
る。SOMを使用するプロキシー・オブジェクトの導出
については、次に図6を参照して詳しく説明する。ステ
ップ253では、この新しく作成されるプロキシー・ク
ラス・オブジェクトのインスタンスであるプロキシー・
オブジェクトが作成される。ステップ255では、この
インスタンスのメソッド・テーブルがオーバーライドさ
れ、ターゲット・オブジェクトのメソッドに対するメソ
ッド・ポインタが、再ディスパッチ・スタブに置換わ
る。このステップについては、後で図7および8を参照
して詳しく説明する。最後にステップ257で、インス
タンスのポインタが呼出しプロセスに戻される。
【0027】プロキシー・マネージャのマネージャを初
期化するプロセスを図5に示す。プロキシー・マネージ
ャのマネージャの役割は、ローカルORBにプロキシー
・マネージャを登録し、登録されたプロキシー・マネー
ジャを外部オブジェクト参照の認識のためにポールする
ことである。ステップ300で、ORBはその初期化の
一部としてプロキシー・マネージャ・オブジェクトのマ
ネージャを検索する。API呼出しが実行する初期化機
能は、ステップ301において、流れ図のステップで示
すようにプロキシー・マネージャのマネージャ上で実行
される。ステップ303では、プロキシー・マネージャ
のマネージャの構成ファイルが読取られる。構成ファイ
ルは、ロードされるプロキシー・マネージャ・ライブラ
リ・ファイルの名前を含む一連のレコードから成る。ス
テップ305で、構成ファイルの中の各レコードについ
て、ファイル・システム中で指定ファイルが検索され
る。ステップ307で、指定されたライブラリがロード
される。ステップ309で、ファイルの中のプロキシー
・マネージャ・コードが初期化され、プロキシー・マネ
ージャのマネージャに登録される。ステップ311で、
構成ファイルの中に他のプロキシー・マネージャ用のレ
コードがまだあるかどうか判別するテストが実行され
る。他にレコードがない場合、ステップ313でプロセ
スが終了する。
【0028】上記の初期化の説明では、外部ORBのク
ライアント部分は、すでにローカル・マシンにインスト
ールされていると仮定している。これらのクライアント
部分は、ターゲット・マシン内に存在するORBの完全
な形を大幅に縮小したバージョンにすることが可能だ
が、最小限の外部ORBが、プロキシー・オブジェクト
が通信するローカル・マシン上に存在しなければならな
い。外部ORBの縮小されたクライアント部分が、関連
する個々のプロキシー・マネージャがインストールされ
るとき、叉はそこに組込まれるときと同時に、インスト
ールされる可能性がある。
【0029】プロキシー・オブジェクトの導出を図6に
示す。DSOM ORBのクラス及びメソッドを示して
いる。他のORB実現では、当然他のメソッド及びクラ
スが使用される。継承及びサブクラス化は、オブジェク
ト指向プログラミングに熟練している当業者には周知の
技術であり、適宜説明する以外、ここでは詳細は記載し
ない。すべてのSOMオブジェクトは、すべての親オブ
ジェクトの親であるSOMObject クラス350
から派生する。SOMObject 350はメソッド
のセット351を含み、このセットはSOMDispa
tchを含む。SOMObject中の他のメソッド
は、特定のSOMObjectクラスに関する情報の取
得、初期化、診断、デバッグ、及び他の目的に関連する
ものである。分散SOMオブジェクトはすべて、SOM
Object 350の子であるSOMDObject
クラス353のメンバーである。SOMDObjec
t353は、SOMObject 350からこれらの
メソッドをすべて継承し、更に他のメソッドのグループ
355を含めることによりサブクラス化される。
【0030】SOMObjectに追加される機能は、
CORBA規定により指定された機能であり、CORB
Aコンピュータ・オブジェクトに関連する。次に、プロ
キシー・クラス・オブジェクトSOMDClientP
roxy 357は、SOMDObject 353の
子であり、SOMObject 350及びSOMDO
bjectのすべてのメソッドと、メソッド359の追
加グループを含む。SOMDClientProxyク
ラスに追加されたメソッド359は、プロキシー・クラ
スが関連する特定のORBに固有のものである。また、
SOMDispatchメソッドが上書きされ、ORB
にメソッド・テーブルではなくメッセージを送信する。
アブストラクト・ターゲット・オブジェクト・クラス3
61は、基本的にはターゲット・オブジェクトとそのク
ライアント間のインターフェースである。SOMには、
インターフェース・リポジトリがあり、そこからターゲ
ット・オブジェクト・インターフェースを検索できる。
SOMコンパイラは、オブジェクトをコンパイルすると
きに、インターフェース情報をインターフェース・リポ
ジトリに配置する。更に、DSOM ORBがメソッド
呼出しのために、叉は他のプロセスのために新しいオブ
ジェクト参照を受取る場合、インターフェースがリポジ
ションに追加される。この分野で熟練している当業者な
ら、使用できるアブストラクト・ターゲット・オブジェ
クトを作成する他の方法を考案できるだろう。ORB
TargetProxy 363のクラス・プロキシー
・オブジェクトが、SOMDClientProxyと
TargetObject 361を親として作成され
る。このクラス・オブジェクトから、外部ORB中の特
定のターゲット・オブジェクトのためにプロキシー・オ
ブジェクト・インスタンスが作成される。
【0031】プロキシー・オブジェクト中のメソッド・
テーブルのオーバーライドについて、図7及び8を参照
して次に説明する。典型的なSOMオブジェクト400
を図7に示す。SOMオブジェクト400は、SOMD
ispatchメソッドを介して動的にメソッドを呼出
すか、叉はメソッド・テーブル403を参照して静的に
呼出す。動的メソッド呼出しでは、実行時に作成され
る、即ちオブジェクトが書込まれた時点では予想されな
かったメソッドのために、新しいメソッド呼出し405
を作成し、SOMDispatchメソッド401によ
り呼出すことが可能になり、柔軟性が高まる。メソッド
・テーブル403には、開発者に周知のコードのポイン
タが入り、オブジェクトが派生したIDLソース・モジ
ュールに書込まれた静的バインディング401により定
義される。メソッド・テーブルの参照は、柔軟性には欠
けるが、動的メソッド呼出しプロセスより時間はかなり
速い。メソッド・テーブル中のポインタは、要求された
メソッドを実行する実現されたコード上で、メソッド呼
出し409の呼出しに使用される。
【0032】メソッド・テーブルは、多くのオブジェク
ト指向言語において、メソッド呼出しをメソッド機能を
実施するコードと関連付けるメカニズムとして使用され
る。メソッドがオブジェクト上で呼出されると、オブジ
ェクト指向実行時はメソッド・テーブルをチェックし
て、そのメソッドの実施(implementatio
n)が格納されている場所を検索し、このコードを実行
する。メソッド・テーブルを使用する利点は、メソッド
・テーブルの参照箇所を元の実施から新しい実施に変更
するだけで、メソッドの実施を簡単に変更できる点であ
る。これは、例えばオブジェクトをサブクラス化すると
きに、いかに多くのオブジェクト指向言語がメソッド実
施のオーバーライドをサポートするかということであ
る。メソッド・テーブルは、メソッド呼出しの結果とし
て実行されるコードを選択するために使用するデータ構
造である。実行プロセスのこの選択は、メソッド・ディ
スパッチと呼ばれる。
【0033】図8では、SOMDispatchメソッ
ドは、メソッド呼出しをメソッド・テーブルへではなく
ORB実施へ伝達するように、プロキシー・オブジェク
ト410の中でオーバーライドされる。図8に示すよう
に、プロキシー・オブジェクトを作成するために、メソ
ッド・テーブルにいくつか興味深い変更が実施されてい
る。特に、プロキシー・オブジェクトが、アプリケーシ
ョン・プログラミング・インターフェースの観点から
は、ターゲット・オブジェクトであるかのように作成さ
れる。但し、メソッドがプロキシー・オブジェクト上で
呼出される場合、この呼出しは代行受信され、ローカル
に実行される代わりにネットワークを介してターゲット
・オブジェクトに伝達される。これは、ターゲット・オ
ブジェクトのメソッド用のプロキシー・オブジェクトの
メソッド・テーブル413を、somDispatch
と呼ばれる、ルーチンを参照する再ディスパッチ・スタ
ブと呼ばれる新しい参照で上書きすることにより実施で
きる。このルーチンには、メソッド呼出しを再パッケー
ジし、これをネットワークを介してターゲット・オブジ
ェクトに送信するコードが入っている。
【0034】図9は、第1のアドレス空間のクライアン
ト・オブジェクトから第2のアドレス空間のターゲット
・オブジェクトに対する、本発明に即した呼出しのフロ
ーチャートである。プロキシー・オブジェクトが作成さ
れ、プロキシー・オブジェクトのポインタがクライアン
トに戻ると、クライアントはステップ451でプロキシ
ー上のメソッドを呼び出すことを決める。前述のよう
に、クライアント・オブジェクトは、ターゲット・オブ
ジェクトのローカル・コピーを呼出しているように見え
る。ステップ453では、メソッド呼出しがメソッド・
テーブル及びプロキシー・オブジェクトからSOMDi
spatchメソッドへ宛先変更される。SOMDis
patchメソッドは、クライアントが常駐するORB
及びアドレス空間からのメッセージを、ターゲット・オ
ブジェクトが検出されるORB及びアドレス空間へ経路
指定することを可能にする。ステップ455では、SO
MDispatchメソッドが、適切なORB呼出しを
介して呼出しを経路指定する。例えば、SOMDisp
atchは、CORBAが定義する動的統合インターフ
ェースを使用して、外部ORB中の遠隔オブジェクト上
でメソッドを実行できる。ステップ457では、ターゲ
ット・オブジェクトがクライアントの要求を受領し、そ
の要求を実行し、結果をORBに戻す。プロキシー・オ
ブジェクトは、ターゲット・オブジェクトの処理結果を
クライアントに戻す。
【0035】図5に示したプロキシー・マネージャ・オ
ブジェクトのマネージャの初期化では、プロキシー・マ
ネージャの登録は構成ファイル内のハード・コーディン
グに依存する。このような具現化では、構成ファイルは
新しいORB及びプロキシー・マネージャ用に更新する
か、または構成ファイルが作成された時点で、開発者に
周知であったORB及びプロキシー・マネージャに限定
する必要があるであろう。本発明はここでも、プロキシ
ー・マネージャをプロキシー・マネージャ・オブジェク
トのマネージャに登録する動的メソッドを包含してい
る。図10のステップ475に示すように、ローカルO
RB実行時が、プロキシー・マネージャのマネージャ上
で動的ロード・メソッドを呼出す。この処理は、部分的
にはプロキシー・マネージャのマネージャに、新しいプ
ロキシー・マネージャ実施ライブラリ用のクラス名、及
び完全に修飾したファイル名を渡すことによって達成さ
れる。次に、ステップ477でプロキシー・マネージャ
のマネージャは、実施ライブラリをロードし、新しいプ
ロキシー・マネージャ・クラスを作成する。ステップ4
79で、プロキシー・マネージャのマネージャは新しい
プロキシー・マネージャ・クラスのインスタンスを作成
する。ステップ481で、プロキシー・マネージャのマ
ネージャは、新しいプロキシー・マネージャを現在イン
ストールされているプロキシー・マネージャのリストに
登録する。
【0036】本発明の第2の具現化を図11に示す。こ
こでは、プロキシー・マネージャのマネージャ及び個々
の外部ORBに対するプロキシー・マネージャのセット
がゲートウェイ・マシン上に置かれる。ネイティブOR
B及び外部ORBの両方からの複数のクライアント・マ
シンが、他のORBに対する通信サービスのためにゲー
トウェイ・マシンを呼出すことができる。この設計の利
点は、一般的に強力なコンピュータ・システムであるゲ
ートウェイ・サーバーに、ローカライズされたメソッド
に関連するオーバーヘッドを受持たせることである。相
対的に資源が少ないクライアント・マシンは、各マシン
のプロキシー・マネージャのマネージャ、及びプロキシ
ー・マネージャ・オブジェクトに関連するオーバーヘッ
ドを招くことなく、他のORBと通信するためにゲート
ウェイ・マシンを呼出すことができる。上記の具現化で
は、コーディングの変更に関して相対的にローカライズ
された影響をORBに与える一方で、各プロキシー・マ
ネージャ及びプロキシー・オブジェクトはシステム性能
に累積的効果をもたらす。第1の具現化では、プロキシ
ー・マネージャのマネージャ及びプロキシー・マネージ
ャのセットは、各ORBのマシン毎に別々に必要にな
る。ゲートウェイの概念では、複数のORBが最小量の
オーバーヘッドで通信することを可能にするために、単
一のORB内でただ一つのゲートウェイ・マシンが、外
部ORB用のMPM及び複数のプロキシー・マネージャ
を持つだけでよい。また、第1の具現化では、各マシン
は外部ORBクライアント・ソフトウェアをインストー
ル叉はロードする必要がある。第2の具現化では、ゲー
トウェイ・マシンだけが外部ORBソフトウェアを必要
とする。第2の具現化の短所は、2つのプロキシー・オ
ブジェクトを使用して要求をクライアントからターゲッ
ト・オブジェクトに渡すと、性能が幾らか失われる点で
ある。
【0037】図11では、第1のORB500が、ゲー
トウェイ・マシンのアドレス空間501、及びクライア
ント・マシン503のアドレス空間に存在する。図を簡
単にするために、ネイティブの単一のクライアントだけ
図示するが、このようなクライアントが多数ゲートウェ
イと結合することが可能であり、実際に結合するだろ
う。クライアント・マシンに常駐するクライアント・オ
ブジェクト502が、遠隔マシンのアドレス空間507
の第2のORB505に書込まれた、ターゲット・オブ
ジェクト504からのサービスを要求する。ここでも、
複数のORB及びターゲット遠隔マシン・オブジェクト
がゲートウェイ・マシンに結合するが、図には示さな
い。ターゲット・オブジェクト504に対する呼出し5
09に応答して、クライアント・マシンのORB500
は、プロキシー・マネージャのマネージャ・プロキシー
511(MPMプロキシー)を作成し、MPMプロキシ
ーへのポインタ513をクライアント・オブジェクトに
戻す。MPMプロキシー511は、これ以前の呼出しに
応答してすでに作成されている場合があり、その場合は
ポインタが直ちに戻される。クライアント・オブジェク
ト502はMPMプロキシー511を介して、オブジェ
クト参照をゲートウェイ・マシンのアドレス空間501
の中の、プロキシー・マネージャのマネージャ515に
渡す。これに応答して、プロキシー・マネージャのマネ
ージャ515は、外部オブジェクト参照を理解するプロ
キシー・マネージャ521を検出するまで、プロキシー
・マネージャ517、519、521に照会する。この
プロキシー・マネージャ521は、ターゲット・オブジ
ェクト504との通信を達成するための、ユニバーサル
・オブジェクト・エンカプセレータ・プロキシー(UO
Eプロキシー)523を作成する。UOEプロキシーの
ポインタがクライアント・マシンの中のORBに渡され
る。このORBはクライアントUOEプロキシー・オブ
ジェクト525、及び要求しているクライアント・オブ
ジェクト502へのポインタを作成する。クライアント
502は、クライアントUOEプロキシー525、及び
UOEプロキシー523を介してターゲット・オブジェ
クト504と通信する。
【0038】図12は、第2の具現化のプロセスを示
す。ステップ600で、クライアント・オブジェクトか
らORBに対する、外部オブジェクト識別子を含む呼出
しの結果、ゲートウェイでのMPMプロキシー・オブジ
ェクトのインストール及びMPMの初期化が決定する。
ステップ601で、ターゲット・オブジェクトがORB
にとってネイティブかどうかを決定するオブジェクトが
作られる。ネイティブの場合、クライアント・マシンの
ORBはORBのプロキシー・マネージャを有するか、
叉は有しない場合は、ネイティブ・オブジェクト用の自
身のプロキシーをステップ603で作成できると仮定さ
れる。この処理はステップ605で終了する。次に、ス
テップ607で、MPMプロキシーが存在するかどうか
を判別するテストが実行される。MPMプロキシーによ
り、クライアント・マシンの要求者は、まるでクライア
ント・マシンにゲートウェイMPMが常駐しているかの
ように、要求を透過的にゲートウェイMPMに送ること
ができる。MPMプロキシーが存在する場合、ステップ
613でプロキシー・マネージャのマネージャがすでに
ゲートウェイ・マシンにインストールされているかどう
か判別するテストが実行される。MPMプロキシーが存
在しない場合、ステップ601のクライアント・システ
ムのネイティブORBが、構成ファイルからMPMのオ
ブジェクト参照を読取る。ステップ611で、クライア
ント・システムは、プロキシー・マネージャのマネージ
ャのプロキシー・オブジェクトのローカル・コピーを作
成する。MPMプロキシーの作成プロセスは、上記の説
明のようにするか、叉はオブジェクト参照に応答してオ
ブジェクトを戻す、COBRA指定のストリング・ツー
・オブジェクト(String−to−object)
メソッドに従って実行できる。MPMプロキシーがイン
ストールされ、MPMプロキシーへのポインタがクライ
アントに戻される。ステップ615で、プロキシー・マ
ネージャのマネージャの初期化が呼出される。このプロ
セスは、基本的には図5のステップ303から313ま
での繰返しであり、ゲートウェイ・マシンのクライアン
ト・アドレス空間の外で実行される。
【0039】ステップ617で、クライアント・マシン
のクライアント・オブジェクトが、ネイティブORBに
対して外部である、ターゲット・オブジェクト識別子を
含むメソッドを呼出す。ターゲット・オブジェクト識別
子は、MPMプロキシーを介してゲートウェイのプロキ
シー・マネージャのマネージャに渡される。ステップ6
19では、UOEプロキシーの作成の中でターゲット・
オブジェクト識別子が認識される。このプロセスは、基
本的には図3のステップ207〜213と似ているが、
ローカルではなくゲートウェイ・マシン上で実行される
点が異なる。ゲートウェイ・マシンにUOEが作成され
ると、ステップ621でポインタがクライアント・マシ
ンのネイティブORBに送り戻される。ステップ213
では、ネイティブORBがクライアント・マシン中にク
ライアント・プロキシーを作成し、クライアント・プロ
キシーを指すポインタを、元の要求を出したクライアン
ト・オブジェクトに渡す。
【0040】ステップ625では、クライアントがクラ
イアント・プロキシー上でメソッドを呼出す。ステップ
627で、クライアント・プロキシー中のSOMDis
patchが、クライアント及びゲートウェイ・マシン
のネイティブORB実行時を介して、遠隔UOEプロキ
シー上に呼出されたメソッドをリダイレクトしている。
UOEプロキシー中で、SOMDispatchプロセ
スは、ゲートウェイ・マシン内のネイティブORB、及
びターゲット・マシン内の外部ORBを介して、遠隔タ
ーゲット・オブジェクト上にメソッドを呼び出す(ステ
ップ629)。ステップ631では、ターゲット・オブ
ジェクトが要求を実行し、結果をUOEプロキシーに戻
す。ステップ633でUOEプロキシーが結果をクライ
アント・プロキシーに戻し、クライアント・プロキシー
はステップ635でクライアント・オブジェクトに結果
を戻す。ステップ637でプロセスが終了する。
【0041】前述のように、第2の具現化の他の利点
は、外部ORBに書込まれたクライアント・マシン上の
要求者オブジェクトが、ゲートウェイ・マシンを呼出し
て外部ターゲット・オブジェクト識別子を弁別できる点
である。派生する唯一のオーバーヘッドは、認識されな
かった場合に、ターゲット・オブジェクト識別子をゲー
トウェイ・マシンに送るコードが必要な点である。図1
3では、ステップ615で示したように、外部ORBが
ターゲット・オブジェクト識別子を弁別できず、これを
ゲートウェイORBに送っている。ステップ651で、
ターゲット・オブジェクト識別子が、ゲートウェイOR
Bに対してネイティブかどうか判別される。ネイティブ
である場合、通常のプロキシー・オブジェクトがステッ
プ653で作成され、そのプロキシー・オブジェクトへ
のポインタが外部ORBに送り戻される。このときはプ
ロセスはステップ655で終了する。しかし、ターゲッ
ト・オブジェクトがゲートウェイORBにとってネイテ
ィブではない場合、ステップ657でターゲット・オブ
ジェクト識別子が、ゲートウェイのプロキシー・マネー
ジャのマネージャに渡される。既に説明したように、ス
テップ659で認識及びUOEプロキシーの作成が行わ
れる。ステップ661で、外部ORBにポインタが伝達
され、外部ORBは、ステップ663でプロキシー・オ
ブジェクトを作成する。これに代わる外部ORB中の他
の通信手段では、外部ORB中の要求者が直接UOEプ
ロキシーと対話できる場合がある。
【0042】ステップ665では、外部要求者が外部プ
ロキシー及び外部クライアント上でメソッドを呼出す。
ステップ667では、外部ORBを介して外部プロキシ
ーがUOEプロキシー上でメソッドを呼出す。ステップ
669で、UOEプロキシーはターゲット・オブジェク
ト上にメソッドを呼出す。ステップ671で、ターゲッ
ト・オブジェクトは要求を実行し、結果をUOEプロキ
シーに戻す。ステップ673で、UOEプロキシーは結
果を外部プロキシーに戻し、ステップ675で外部プロ
キシーは結果を外部ORBの外部クライアントに戻す。
プロセスはステップ677で終了する。
【0043】
【発明の効果】本発明は、次のような利点を有する。O
RB実施に対する影響が小さくてローカル化されてい
る。ORB実施毎に、ネイティブ・オブジェクト参照を
認識し、ターゲット・オブジェクトのためのプロキシー
を作成できる、プロキシー・マネージャを備える。推奨
する具現化では、SOMがプロキシー・オブジェクトの
動的作成に必要なすべてのサポートを提供する。各実施
が、遠隔メソッド再ディスパッチのためのメカニズムを
実現するサポート・クラスを備える。推奨する具現化で
は、遠隔メソッド再ディスパッチのためのサポート・ク
ラスがSOMDObjectから派生する。実施毎に外
部オブジェクト参照を認識し、これを弁別のためにプロ
キシー・マネージャのマネージャに渡せなければならな
い。これは、ネイティブORBトランスポート、オブジ
ェクト参照フォーマット、及びメッセージ・フォーマッ
トに影響しない。相互接続するORBの数に関係なく、
ゲートウェイ・フレームワークが1つだけ必要である。
【0044】本発明をその特定の具現化を参照しながら
提示し説明したが、本発明の意図と範囲を逸脱すること
なく、フォーム及び詳細について前述の及びその他の変
更が実施される場合があることは、この分野で熟練して
いる当業者には理解されるだろう。
【0045】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0046】(1) 第1のアドレス空間の要求者から
第2のアドレス空間のターゲット・オブジェクトへ要求
を伝達する方法であり、(a)要求者から、要求者が書
込まれているネイティブ・オブジェクト・リクエスト・
ブローカへ要求を渡すステップと、(b)ターゲット・
オブジェクトが、ネイティブ・オブジェクト・リクエス
ト・ブローカにとって外部であるという判別に応答し
て、ターゲット・オブジェクトが書込まれている外部オ
ブジェクト・リクエスト・ブローカを検出するステップ
と、(c)第1のアドレス空間中の外部オブジェクト・
リクエスト・ブローカに書込む,プロキシー・オブジェ
クトを生成するステップと、(d)プロキシーを介し
て、要求者オブジェクトからターゲット・オブジェクト
への通信を設定するステップとを具備する,要求伝達方
法。 (2) 前記検出ステップが、ターゲット・オブジェク
トの外部オブジェクト・リクエスト・ブローカが、プロ
キシー・マネージャの1つにより認識されるまで、それ
ぞれの外部オブジェクト・リクエスト・ブローカに対応
するプロキシー・オブジェクトをそれぞれが生成する、
一連のプロキシー・マネージャに繰返し要求を伝達する
ステップを有し、前記生成ステップが認識したプロキシ
ー・マネージャにより達成される、(1)に記載の要求
伝達方法。 (3) コンピュータ・ネットワーク内のアドレス空間
の間で要求を伝達する方法であり、(a)ネットワーク
と結合した第1のコンピュータ・システム内の第1のア
ドレス空間に共に存在する、要求者からネイティブ・オ
ブジェクト・リクエスト・ブローカへ要求を渡すステッ
プと、(b)要求のターゲット・オブジェクトがネイテ
ィブ・リクエスト・ブローカにとって外部であるという
判別に応答して、ターゲット・オブジェクトが書込まれ
る外部オブジェクト・リクエスト・ブローカを検出する
ステップと、(c)ネットワークに結合された第2のコ
ンピュータ・システムの第2のアドレス空間に共に存在
する、外部オブジェクト・リクエスト・ブローカ、及び
ターゲット・オブジェクトと通信するために、第1のア
ドレス空間にプロキシー・オブジェクトを生成するステ
ップと、(d)プロキシー・オブジェクトを介して、要
求者から外部オブジェクト・リクエスト・ブローカ、及
びターゲット・オブジェクトへの通信を設定するステッ
プで構成される、要求伝達方法。 (4) 前記検出ステップが、ターゲット・オブジェク
トの外部オブジェクト・リクエスト・ブローカが、プロ
キシー・マネージャの1つにより認識されるまで、それ
ぞれの外部オブジェクト・リクエスト・ブローカに対応
するプロキシー・オブジェクトをそれぞれが生成する、
一連のプロキシー・マネージャに繰返し要求を引渡すス
テップを含み、前記生成ステップが認識したプロキシー
・マネージャにより達成される、(3)に記載の要求伝
達方法。 (5) 前記検出及び生成ステップが、ゲートウェイ・
コンピュータ・システム上の第3のアドレス空間で達成
され、且つプロキシー・マネージャのセットがそのアド
レス空間に存在し、第1のコンピュータ・システム、第
2のコンピュータ・システム、及びゲートウェイ・コン
ピュータ・システムがネットワークにより一緒に結合す
る、(4)に記載の要求伝達方法。 (6) 前記第1及び第2のアドレス空間が1つのコン
ピュータ・システムにあり、一連のプロキシー・マネー
ジャが第1のアドレス空間にある、(2)に記載の要求
伝達方法。 (7) 前記繰返し引渡すステップが、第3のアドレス
空間中のプロキシー・マネージャ・オブジェクトのマネ
ージャにより達成され、更に(a)ネイティブ・オブジ
ェクト・リクエスト・ブローカにより、第1のアドレス
空間中にプロキシー・マネージャのプロキシー・オブジ
ェクトのマネージャを生成し、プロキシー・マネージャ
のプロキシー・オブジェクトのマネージャが要求者オブ
ジェクトと、プロキシー・マネージャ・オブジェクトの
マネージャとの間の通信を設定するステップと、(b)
認識したプロキシー・マネージャにより生成されたプロ
キシー・オブジェクトへのポインタを、第1のアドレス
空間のネイティブ・オブジェクト・リクエスト・ブロー
カに渡すステップと、(c)前記第1のアドレス空間に
生成されたプロキシー・オブジェクトが、要求者プロキ
シー・オブジェクトであり、且つ要求者からプロキシー
及びターゲット・オブジェクトへの通信が、要求者プロ
キシー・オブジェクトを介して設定される、(5)に記
載の要求伝達方法。 (8) 要求伝達方法であり、(a)第2のアドレス空
間の外部要求者から、第2の要求を第3のアドレス空間
のネイティブ・リクエスト・ブローカへ渡すステップ
と、(b)第2の要求のターゲット・オブジェクトが、
ネイティブ・リクエスト・ブローカにとって外部である
という判別に応答して、第2の要求のターゲット・オブ
ジェクトが書込まれる、第2の外部オブジェクト・リク
エスト・ブローカを検出するステップと、(c)ネット
ワークに結合されたコンピュータ・システムの1つのア
ドレス空間に共に存在する、第2の外部オブジェクト・
リクエスト・ブローカと、第2の要求のターゲット・オ
ブジェクトと通信するために、第3のアドレス空間に第
2のプロキシー・オブジェクトを生成するステップと、
(d)第2のプロキシー・オブジェクトを介して、外部
要求者から第2の外部オブジェクト・リクエスト・ブロ
ーカ、及び第2の要求のターゲット・オブジェクトへの
通信を設定するステップを更に具備する、(5)に記載
の要求伝達方法。(9) 要求伝達方法であり、(a)
第2のアドレス空間の外部要求者から、第2の要求を
第3のアドレス空間のネイティブ・リクエスト・ブロー
カへ渡すステップと、(b)第2の要求のターゲット・
オブジェクトがネイティブ・リクエスト・ブローカにと
ってネイティブであるという判別に応答して、ネットワ
ークに結合されたコンピュータ・システムのアドレス空
間中の、第2の要求のターゲット・オブジェクトと通信
するために、第3のアドレス空間に第2のプロキシー・
オブジェクトを生成し、ネイティブ・リクエスト・ブロ
ーカにより実行される処置を生成するステップと、
(c)第2のプロキシー・オブジェクトを介して、外部
要求者から第2の要求のターゲット・オブジェクトへの
通信を設定するステップを更に具備する、(5)に記載
の要求伝達方法。 (10) 要求が、個々のコンピュータ・システム内の
アドレス空間の間で渡されるコンピュータ・ネットワー
クであり、(a)ネットワークに結合された第1のコン
ピュータ・システムの第1のアドレス空間に共に存在す
る、要求者及びネイティブ・オブジェクト・リクエスト
・ブローカと、(b)ネットワークに結合された第2の
コンピュータ・システムの第2のアドレス空間に共に存
在する、外部オブジェクト・リクエスト・ブローカ及び
ターゲット・オブジェクトと、(c)1つのアドレス空
間内、及びネットワーク内の複数のアドレス空間の間で
要求を渡す通信手段と、(d)ネイティブ・リクエスト
・ブローカにとって外部であるターゲット・オブジェク
トに対する要求を要求者が出すときに使用される、ター
ゲット・オブジェクトが書込まれる、外部オブジェクト
・リクエスト・ブローカを検出する手段と、(e)外部
オブジェクト・リクエスト・ブローカ及びターゲット・
オブジェクトと通信するための、第1アドレス空間のプ
ロキシー・オブジェクトとを具備し、(f)前記要求者
から外部オブジェクト・リクエスト・ブローカ及びター
ゲット・オブジェクトへの通信が、プロキシー・オブジ
ェクトを介して設定される、コンピュータ・ネットワー
ク。 (11) 前記検出手段が、ターゲット・オブジェクト
の外部オブジェクト・リクエスト・ブローカがプロキシ
ー・マネージャの1つにより認識されるまで、それぞれ
の外部オブジェクト・リクエスト・ブローカに対応する
プロキシー・オブジェクトをそれぞれが生成する、一連
のプロキシー・マネージャに繰返し要求を渡す、プロキ
シー・マネージャ・オブジェクトのマネージャを更に具
備する、(10)に記載のネットワーク。 (12) 前記プロキシー・オブジェクトが、一連のプ
ロキシー・マネージャにより生成される、(10)に記
載のネットワーク。 (13) プロキシー・マネージャのマネージャ及び一
連のプロキシー・マネージャが常駐する、ゲートウェイ
・コンピュータ・システム上の第3のアドレス空間を更
に具備し、第1のコンピュータ・システム、第2のコン
ピュータ・システム、及びゲートウェイ・コンピュータ
・システムがネットワークにより一緒に結合される、
(11)に記載のネットワーク。 (14) ネットワークであり、(a)第3のアドレス
空間中に、認識するプロキシー・マネージャにより生成
されたゲートウェイ・プロキシー・オブジェクトを更に
具備し、(b)前記第1のアドレス空間に生成されたプ
ロキシー・オブジェクトが要求者プロキシー・オブジェ
クトであり、且つ要求者からゲートウェイ・プロキシー
及びターゲット・オブジェクトへの通信が要求者プロキ
シー・オブジェクトを介して設定される、(12)に記
載のネットワーク。 (15) ネットワークであり、(a)第3のアドレス
空間内のプロキシー・マネージャのマネージャに第2の
要求を渡す第4のアドレス空間内の外部要求者と、
(b)ネットワークに結合されたコンピュータ・システ
ムの第5のアドレス空間に共に存在する、第2の外部オ
ブジェクト・リクエスト・ブローカ、及び第2の要求の
ターゲット・オブジェクトと通信する、一連のプロキシ
ー・マネージャの1つにより第3のアドレス空間に生成
された第2のプロキシー・オブジェクトとを更に具備す
る、(12)に記載のネットワーク。
【図面の簡単な説明】
【図1】本発明の解説に従って構成されるコンピュータ
・システムを示す。
【図2】いくつかのアドレス空間にあるプロキシー・オ
ブジェクト・マネージャ、及び関連モジュールを示す。
【図3】プロキシー・オブジェクト管理プロセスの流れ
図である。
【図4】プロキシー・オブジェクト生成の流れ図であ
る。
【図5】プロキシー・マネージャ・オブジェクトのマネ
ージャの初期設定の流れ図である。
【図6】プロキシー・オブジェクトの導出を示す。
【図7】オーバーライドされたsomDispatch
のないSOMオブジェクトを示す。
【図8】オーバーライドされたsomDispatch
のあるプロキシー・オブジェクトを示す。
【図9】第1のアドレス空間のクライアント・オブジェ
クトから、第2のアドレス空間のターゲット・オブジェ
クトへの呼出しのフローチャートである。
【図10】プロキシー・マネージャの登録を示す。
【図11】本発明の第2の具現化を示す。
【図12】本発明の第2の具現化における、第1のアド
レス空間のクライアント・オブジェクトから、第2のア
ドレス空間のターゲット・オブジェクトへの呼出しのフ
ローチャートである。
【図13】第2の具現化における、外部要求者からゲー
トウェイ・マシンへの呼出しのフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ハーデン・コナー アメリカ合衆国78759、テキサス州オース チン、ウォルヒル・レイン 4416 (72)発明者 ラグー・ヴィシュワナス・ヒュードリ アメリカ合衆国78758、テキサス州オース チン、シーダー・ベン・ドライブ ナンバ ー406 2015 (72)発明者 マーク・グレゴリー・スミス アメリカ合衆国78759、テキサス州オース チン、シエラ・オークス 10615

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 第1のアドレス空間の要求者から第2の
    アドレス空間のターゲット・オブジェクトへ要求を伝達
    する方法であり、 (a)要求者から、要求者が書込まれているネイティブ
    ・オブジェクト・リクエスト・ブローカへ要求を渡すス
    テップと、 (b)ターゲット・オブジェクトが、ネイティブ・オブ
    ジェクト・リクエスト・ブローカにとって外部であると
    いう判別に応答して、ターゲット・オブジェクトが書込
    まれている外部オブジェクト・リクエスト・ブローカを
    検出するステップと、 (c)第1のアドレス空間中の外部オブジェクト・リク
    エスト・ブローカに書込む,プロキシー・オブジェクト
    を生成するステップと、 (d)プロキシーを介して、要求者オブジェクトからタ
    ーゲット・オブジェクトへの通信を設定するステップと
    を具備する,要求伝達方法。
  2. 【請求項2】 前記検出ステップが、ターゲット・オブ
    ジェクトの外部オブジェクト・リクエスト・ブローカ
    が、プロキシー・マネージャの1つにより認識されるま
    で、それぞれの外部オブジェクト・リクエスト・ブロー
    カに対応するプロキシー・オブジェクトをそれぞれが生
    成する、一連のプロキシー・マネージャに繰返し要求を
    伝達するステップを有し、前記生成ステップが認識した
    プロキシー・マネージャにより達成される、請求項1に
    記載の要求伝達方法。
  3. 【請求項3】 コンピュータ・ネットワーク内のアドレ
    ス空間の間で要求を伝達する方法であり、 (a)ネットワークと結合した第1のコンピュータ・シ
    ステム内の第1のアドレス空間に共に存在する、要求者
    からネイティブ・オブジェクト・リクエスト・ブローカ
    へ要求を渡すステップと、 (b)要求のターゲット・オブジェクトがネイティブ・
    リクエスト・ブローカにとって外部であるという判別に
    応答して、ターゲット・オブジェクトが書込まれる外部
    オブジェクト・リクエスト・ブローカを検出するステッ
    プと、 (c)ネットワークに結合された第2のコンピュータ・
    システムの第2のアドレス空間に共に存在する、外部オ
    ブジェクト・リクエスト・ブローカ、及びターゲット・
    オブジェクトと通信するために、第1のアドレス空間に
    プロキシー・オブジェクトを生成するステップと、 (d)プロキシー・オブジェクトを介して、要求者から
    外部オブジェクト・リクエスト・ブローカ、及びターゲ
    ット・オブジェクトへの通信を設定するステップで構成
    される、要求伝達方法。
  4. 【請求項4】 前記検出ステップが、ターゲット・オブ
    ジェクトの外部オブジェクト・リクエスト・ブローカ
    が、プロキシー・マネージャの1つにより認識されるま
    で、それぞれの外部オブジェクト・リクエスト・ブロー
    カに対応するプロキシー・オブジェクトをそれぞれが生
    成する、一連のプロキシー・マネージャに繰返し要求を
    引渡すステップを含み、前記生成ステップが認識したプ
    ロキシー・マネージャにより達成される、請求項3に記
    載の要求伝達方法。
  5. 【請求項5】 前記検出及び生成ステップが、ゲートウ
    ェイ・コンピュータ・システム上の第3のアドレス空間
    で達成され、且つプロキシー・マネージャのセットがそ
    のアドレス空間に存在し、第1のコンピュータ・システ
    ム、第2のコンピュータ・システム、及びゲートウェイ
    ・コンピュータ・システムがネットワークにより一緒に
    結合する、請求項4に記載の要求伝達方法。
  6. 【請求項6】 前記第1及び第2のアドレス空間が1つ
    のコンピュータ・システムにあり、一連のプロキシー・
    マネージャが第1のアドレス空間にある、請求項2に記
    載の要求伝達方法。
  7. 【請求項7】 前記繰返し引渡すステップが、第3のア
    ドレス空間中のプロキシー・マネージャ・オブジェクト
    のマネージャにより達成され、更に (a)ネイティブ・オブジェクト・リクエスト・ブロー
    カにより、第1のアドレス空間中にプロキシー・マネー
    ジャのプロキシー・オブジェクトのマネージャを生成
    し、プロキシー・マネージャのプロキシー・オブジェク
    トのマネージャが要求者オブジェクトと、プロキシー・
    マネージャ・オブジェクトのマネージャとの間の通信を
    設定するステップと、 (b)認識したプロキシー・マネージャにより生成され
    たプロキシー・オブジェクトへのポインタを、第1のア
    ドレス空間のネイティブ・オブジェクト・リクエスト・
    ブローカに渡すステップと、 (c)前記第1のアドレス空間に生成されたプロキシー
    ・オブジェクトが、要求者プロキシー・オブジェクトで
    あり、且つ要求者からプロキシー及びターゲット・オブ
    ジェクトへの通信が、要求者プロキシー・オブジェクト
    を介して設定される、請求項5に記載の要求伝達方法。
  8. 【請求項8】 要求伝達方法であり、 (a)第2のアドレス空間の外部要求者から、第2の要
    求を第3のアドレス空間のネイティブ・リクエスト・ブ
    ローカへ渡すステップと、 (b)第2の要求のターゲット・オブジェクトが、ネイ
    ティブ・リクエスト・ブローカにとって外部であるとい
    う判別に応答して、第2の要求のターゲット・オブジェ
    クトが書込まれる、第2の外部オブジェクト・リクエス
    ト・ブローカを検出するステップと、 (c)ネットワークに結合されたコンピュータ・システ
    ムの1つのアドレス空間に共に存在する、第2の外部オ
    ブジェクト・リクエスト・ブローカと、第2の要求のタ
    ーゲット・オブジェクトと通信するために、第3のアド
    レス空間に第2のプロキシー・オブジェクトを生成する
    ステップと、 (d)第2のプロキシー・オブジェクトを介して、外部
    要求者から第2の外部オブジェクト・リクエスト・ブロ
    ーカ、及び第2の要求のターゲット・オブジェクトへの
    通信を設定するステップを更に具備する、請求項5に記
    載の要求伝達方法。
  9. 【請求項9】 要求伝達方法であり、 (a) 第2のアドレス空間の外部要求者から、第2の
    要求を第3のアドレス空間のネイティブ・リクエスト・
    ブローカへ渡すステップと、 (b)第2の要求のターゲット・オブジェクトがネイテ
    ィブ・リクエスト・ブローカにとってネイティブである
    という判別に応答して、ネットワークに結合されたコン
    ピュータ・システムのアドレス空間中の、第2の要求の
    ターゲット・オブジェクトと通信するために、第3のア
    ドレス空間に第2のプロキシー・オブジェクトを生成
    し、ネイティブ・リクエスト・ブローカにより実行され
    る処置を生成するステップと、 (c)第2のプロキシー・オブジェクトを介して、外部
    要求者から第2の要求のターゲット・オブジェクトへの
    通信を設定するステップを更に具備する、請求項5に記
    載の要求伝達方法。
  10. 【請求項10】 要求が、個々のコンピュータ・システ
    ム内のアドレス空間の間で渡されるコンピュータ・ネッ
    トワークであり、 (a)ネットワークに結合された第1のコンピュータ・
    システムの第1のアドレス空間に共に存在する、要求者
    及びネイティブ・オブジェクト・リクエスト・ブローカ
    と、 (b)ネットワークに結合された第2のコンピュータ・
    システムの第2のアドレス空間に共に存在する、外部オ
    ブジェクト・リクエスト・ブローカ及びターゲット・オ
    ブジェクトと、 (c)1つのアドレス空間内、及びネットワーク内の複
    数のアドレス空間の間で要求を渡す通信手段と、 (d)ネイティブ・リクエスト・ブローカにとって外部
    であるターゲット・オブジェクトに対する要求を要求者
    が出すときに使用される、ターゲット・オブジェクトが
    書込まれる、外部オブジェクト・リクエスト・ブローカ
    を検出する手段と、 (e)外部オブジェクト・リクエスト・ブローカ及びタ
    ーゲット・オブジェクトと通信するための、第1アドレ
    ス空間のプロキシー・オブジェクトとを具備し、 (f)前記要求者から外部オブジェクト・リクエスト・
    ブローカ及びターゲット・オブジェクトへの通信が、プ
    ロキシー・オブジェクトを介して設定される、コンピュ
    ータ・ネットワーク。
  11. 【請求項11】 前記検出手段が、ターゲット・オブジ
    ェクトの外部オブジェクト・リクエスト・ブローカがプ
    ロキシー・マネージャの1つにより認識されるまで、そ
    れぞれの外部オブジェクト・リクエスト・ブローカに対
    応するプロキシー・オブジェクトをそれぞれが生成す
    る、一連のプロキシー・マネージャに繰返し要求を渡
    す、プロキシー・マネージャ・オブジェクトのマネージ
    ャを更に具備する、請求項10に記載のネットワーク。
  12. 【請求項12】 前記プロキシー・オブジェクトが、一
    連のプロキシー・マネージャにより生成される、請求項
    10に記載のネットワーク。
  13. 【請求項13】 プロキシー・マネージャのマネージャ
    及び一連のプロキシー・マネージャが常駐する、ゲート
    ウェイ・コンピュータ・システム上の第3のアドレス空
    間を更に具備し、第1のコンピュータ・システム、第2
    のコンピュータ・システム、及びゲートウェイ・コンピ
    ュータ・システムがネットワークにより一緒に結合され
    る、請求項11に記載のネットワーク。
  14. 【請求項14】 ネットワークであり、 (a)第3のアドレス空間中に、認識するプロキシー・
    マネージャにより生成されたゲートウェイ・プロキシー
    ・オブジェクトを更に具備し、 (b)前記第1のアドレス空間に生成されたプロキシー
    ・オブジェクトが要求者プロキシー・オブジェクトであ
    り、且つ要求者からゲートウェイ・プロキシー及びター
    ゲット・オブジェクトへの通信が要求者プロキシー・オ
    ブジェクトを介して設定される、請求項12に記載のネ
    ットワーク。
  15. 【請求項15】 ネットワークであり、 (a)第3のアドレス空間内のプロキシー・マネージャ
    のマネージャに第2の要求を渡す第4のアドレス空間内
    の外部要求者と、 (b)ネットワークに結合されたコンピュータ・システ
    ムの第5のアドレス空間に共に存在する、第2の外部オ
    ブジェクト・リクエスト・ブローカ、及び第2の要求の
    ターゲット・オブジェクトと通信する、一連のプロキシ
    ー・マネージャの1つにより第3のアドレス空間に生成
    された第2のプロキシー・オブジェクトとを更に具備す
    る、請求項12に記載のネットワーク。
JP07288874A 1994-11-21 1995-11-07 要求伝達方法 Expired - Lifetime JP3072709B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34250894A 1994-11-21 1994-11-21
US342508 1994-11-21

Publications (2)

Publication Number Publication Date
JPH0926879A true JPH0926879A (ja) 1997-01-28
JP3072709B2 JP3072709B2 (ja) 2000-08-07

Family

ID=23342135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07288874A Expired - Lifetime JP3072709B2 (ja) 1994-11-21 1995-11-07 要求伝達方法

Country Status (2)

Country Link
US (1) US6182154B1 (ja)
JP (1) JP3072709B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004533046A (ja) * 2001-03-21 2004-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション プラグ対応認可システムに対するサーバサポート方法およびシステム

Families Citing this family (54)

* 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
US6278532B1 (en) * 1996-12-20 2001-08-21 Link2It Apparatus and method for reception and transmission of information using different protocols
JP2001514833A (ja) 1997-03-12 2001-09-11 ノマディックス・リミテッド・ライアビリティ・カンパニー ノーマッド変換器またはルータ
US6040830A (en) * 1997-06-20 2000-03-21 Autodesk, Inc. Intelligent proxy objects
GB9725742D0 (en) * 1997-12-04 1998-02-04 Hewlett Packard Co Object gateway
AU2614399A (en) * 1998-01-02 1999-07-26 Acos International Limited Program flow method and method for expanding a program component system
JP2003527763A (ja) * 1998-10-16 2003-09-16 シルバーストリーム・ソフトウェア・インコーポレーテッド 分散オブジェクト・システム用の接続集線装置
US6385661B1 (en) 1998-10-19 2002-05-07 Recursion Software, Inc. System and method for dynamic generation of remote proxies
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6757747B1 (en) * 1998-12-17 2004-06-29 International Business Machines Corporation Proxy object for managing an application instance on a dataless client machine
US6779184B1 (en) * 1999-01-21 2004-08-17 Oracle International Corporation Method for loosely coupling object oriented and non-object oriented applications in a messaging-based communication infrastructure
US6269373B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for persisting beans as container-managed fields
US6633899B1 (en) * 1999-05-06 2003-10-14 Sun Microsystems, Inc. Dynamic installation and configuration broker
US20040019898A1 (en) * 1999-06-14 2004-01-29 International Business Machines Corporation Accessing local objects using local access proxies
US6880126B1 (en) 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
WO2001031885A2 (en) 1999-10-22 2001-05-03 Nomadix, Inc. Gateway device having an xml interface and associated method
US6779177B1 (en) 1999-10-28 2004-08-17 International Business Machines Corporation Mechanism for cross channel multi-server multi-protocol multi-data model thin clients
US6862686B1 (en) 1999-10-29 2005-03-01 International Business Machines Corporation Method and apparatus in a data processing system for the separation of role-based permissions specification from its corresponding implementation of its semantic behavior
US7181686B1 (en) 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
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
US20020010781A1 (en) * 1999-12-30 2002-01-24 Tuatini Jeffrey Taihana Shared service messaging models
US7783720B1 (en) * 2000-04-21 2010-08-24 Oracle America, Inc. CORBA metadata gateway to telecommunications management network
US7016966B1 (en) * 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US20020170046A1 (en) * 2001-02-23 2002-11-14 Goward Philip J. Encapsulating an interfact to a distributed programming component as a local component
TW586069B (en) 2001-03-01 2004-05-01 Ibm A method and a bridge for coupling a server and a client of different object types
JP2002271307A (ja) * 2001-03-09 2002-09-20 Sega Corp 端末同期方法、通信システム及び端末装置
US8019807B2 (en) * 2001-05-23 2011-09-13 Wireless Enterprise Solutions Technology Limited Method and system for communication between computer systems
US6996832B2 (en) * 2001-05-30 2006-02-07 Bea Systems, Inc. System and method for software component plug-in framework
US20030147383A1 (en) * 2001-09-26 2003-08-07 Karen Capers Object communication services software development system and methods
KR100758791B1 (ko) * 2001-11-07 2007-09-14 주식회사 케이티 홈네트워크 장치 제어를 위한 프록시 장치 및 그 방법
US7051341B2 (en) 2001-12-14 2006-05-23 International Business Machines Corporation Method, system, and program for implementing a remote method call
US6976244B2 (en) * 2002-01-09 2005-12-13 International Business Machines Corporation Method, system, and product for storage of attribute data in an object oriented environment
US7076798B2 (en) * 2002-02-07 2006-07-11 International Business Machines Corporation Securing non-EJB corba objects using an EJB security mechanism
US7100011B2 (en) * 2002-03-01 2006-08-29 Arris International, Inc. Method and system for reducing storage requirements for program code in a communication device
US7096249B2 (en) * 2002-03-29 2006-08-22 Intel Corporation Method and system for distributing applications
GB0222420D0 (en) * 2002-09-27 2002-11-06 Ibm Optimized corba software method invocation
US20040225995A1 (en) * 2003-02-28 2004-11-11 Kyle Marvin Reusable software controls
US7260599B2 (en) * 2003-03-07 2007-08-21 Hyperspace Communications, Inc. Supporting the exchange of data by distributed applications
CA2425048C (en) * 2003-04-08 2008-06-03 Ibm Canada Limited - Ibm Canada Limitee Method and system for resource access
US20050209865A1 (en) * 2004-03-17 2005-09-22 Aravind Doss Architecture to integrate different software subsystems
US7979870B1 (en) * 2004-12-08 2011-07-12 Cadence Design Systems, Inc. Method and system for locating objects in a distributed computing environment
US8108878B1 (en) 2004-12-08 2012-01-31 Cadence Design Systems, Inc. Method and apparatus for detecting indeterminate dependencies in a distributed computing environment
US8244854B1 (en) 2004-12-08 2012-08-14 Cadence Design Systems, Inc. Method and system for gathering and propagating statistical information in a distributed computing environment
US8806490B1 (en) 2004-12-08 2014-08-12 Cadence Design Systems, Inc. Method and apparatus for managing workflow failures by retrying child and parent elements
JP4853196B2 (ja) * 2006-09-19 2012-01-11 株式会社デンソー 制御システム
US8694972B2 (en) * 2006-11-10 2014-04-08 The Mathworks, Inc. System and method for interoperating with foreign objects from a single language computing environment
US9778915B2 (en) 2011-02-28 2017-10-03 Microsoft Technology Licensing, Llc Distributed application definition
US9990184B2 (en) 2011-03-25 2018-06-05 Microsoft Technology Licensing, Llc Distributed component model
US20120254109A1 (en) * 2011-03-28 2012-10-04 Microsoft Corporation Distributed component runtime
US20130332937A1 (en) * 2012-05-29 2013-12-12 Advanced Micro Devices, Inc. Heterogeneous Parallel Primitives Programming Model

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2801227C3 (de) 1978-01-12 1982-06-24 Hans Deutsch Akustikforschung und Lautsprecherentwicklung GmbH, 5020 Salzburg Lautsprecherbox mit Hornresonator
US4984177A (en) 1988-02-05 1991-01-08 Advanced Products And Technologies, Inc. Voice language translator
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5181247A (en) 1990-07-23 1993-01-19 Bose Corporation Sound image enhancing
US5315709A (en) 1990-12-03 1994-05-24 Bachman Information Systems, Inc. Method and apparatus for transforming objects in data models
US5274740A (en) 1991-01-08 1993-12-28 Dolby Laboratories Licensing Corporation Decoder for variable number of channel presentation of multidimensional sound fields
DE69228621T2 (de) * 1991-02-25 1999-07-22 Hewlett-Packard Co., Palo Alto, Calif. Objektorientiertes verteiltes Rechnersystem
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
US5255326A (en) 1992-05-18 1993-10-19 Alden Stevenson Interactive audio control system
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
EP0669020B1 (en) * 1992-11-13 1997-04-02 Microsoft Corporation Methods for marshalling interface pointers for remote procedure calls
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004533046A (ja) * 2001-03-21 2004-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション プラグ対応認可システムに対するサーバサポート方法およびシステム

Also Published As

Publication number Publication date
US6182154B1 (en) 2001-01-30
JP3072709B2 (ja) 2000-08-07

Similar Documents

Publication Publication Date Title
JPH0926879A (ja) 要求伝達方法及びそのネットワーク
US6134603A (en) Method and system for deterministic hashes to identify remote methods
US6487607B1 (en) Methods and apparatus for remote method invocation
US6272559B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6408342B1 (en) Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US5613148A (en) Method and apparatus for activating and executing remote objects
US6393497B1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US5787251A (en) Method and apparatus for subcontracts in distributed processing systems
US6182158B1 (en) Method and system for providing interoperability among processes written to execute on different operating systems
US6951021B1 (en) System and method for server-side communication support in a distributed computing environment
US8359570B2 (en) Adaptive scripting tool
US6226690B1 (en) Method and apparatus for utilizing proxy objects to communicate with target objects
US20020016790A1 (en) Apparatus and method for dynamically verifying information in a distributed system
JPH1091444A (ja) 実行時にサービス従属代表をオブジェクトに動的に関連付けるための機構
JPH10511794A (ja) クライアント−サーバ環境用ブリッジ
US6629154B1 (en) Method and system for deterministic hashes to identify remote methods
JPH0675846A (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法及び装置
JPH09223116A (ja) 複数ミドルウェアに渡る分散オブジェクトの位置透過性
JPH1083307A (ja) 分散オブジェクトをグラフィック・ユーザ・インタフェースに対話式に接続する方法および装置
US20070233876A1 (en) Interprocess communication management using a socket layer
US7533388B1 (en) Method and apparatus for dynamic Stubs and Ties in RMI-IIOP
AU775624B2 (en) Method and apparatus for dynamic command extensibility in an intelligent agent
KR20010041227A (ko) 분산 시스템에서 정보를 동적으로 증명하기 위한 장치 및 방법
EP1057113B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
Hugues et al. A case study of middleware to middleware: Mom and orb interoperability

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080602

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080602

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090602

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 13

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

EXPY Cancellation because of completion of term