JP2572531B2 - プロセス境界にまたがってオブジェクト間の通信を行う方法及びシステム - Google Patents
プロセス境界にまたがってオブジェクト間の通信を行う方法及びシステムInfo
- Publication number
- JP2572531B2 JP2572531B2 JP5220511A JP22051193A JP2572531B2 JP 2572531 B2 JP2572531 B2 JP 2572531B2 JP 5220511 A JP5220511 A JP 5220511A JP 22051193 A JP22051193 A JP 22051193A JP 2572531 B2 JP2572531 B2 JP 2572531B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- processes
- dispatcher
- objects
- message
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
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)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【産業上の利用分野】本発明は、データ処理システムお
ける通信を管理するための方法およびシステムに関する
ものであり、特に、データ処理システムにおいて実行中
のオブジェクト相互間の通信を管理するための方法およ
びシステムに関するものである。更に詳しくいえば、本
発明は、データ処理システムにおいて種々のプロセスを
実行中のオブジェクト相互間の通信を管理するための方
法およびシステムに関するものである。
ける通信を管理するための方法およびシステムに関する
ものであり、特に、データ処理システムにおいて実行中
のオブジェクト相互間の通信を管理するための方法およ
びシステムに関するものである。更に詳しくいえば、本
発明は、データ処理システムにおいて種々のプロセスを
実行中のオブジェクト相互間の通信を管理するための方
法およびシステムに関するものである。
【0002】
【従来の技術】多重タスク処理オペレーティング・シス
テムでは、ハードウエアは、同時実行中のアプリケーシ
ョンまたはプログラムで分配されるべき共用資源として
管理可能である。或る多重タスク処理オペレーティング
・システムでは、プロセッサ、メモリ、ファイル、デバ
イス、および、プロセス間通信機構のような資源も、そ
のオペレーティング・システムでは、同時実行中のアプ
リケーション、プログラム、または、オブジェクトの間
で共用される。種々の同時実行中のアプリケーションま
たはオブジェクトでもってプロセッサを共用するために
は、「タイムスライシング」が利用される。一般に、オ
ペレーティング・システムは、アプリケーション相互間
の切換を行って、各プログラムを「タイムスライス」と
いう短期間の間走らせる。従って、この方法では、プロ
セッサは、種々のアプリケーションまたはオブジェクト
相互間で共用され、多重タスク処理を可能にする。
テムでは、ハードウエアは、同時実行中のアプリケーシ
ョンまたはプログラムで分配されるべき共用資源として
管理可能である。或る多重タスク処理オペレーティング
・システムでは、プロセッサ、メモリ、ファイル、デバ
イス、および、プロセス間通信機構のような資源も、そ
のオペレーティング・システムでは、同時実行中のアプ
リケーション、プログラム、または、オブジェクトの間
で共用される。種々の同時実行中のアプリケーションま
たはオブジェクトでもってプロセッサを共用するために
は、「タイムスライシング」が利用される。一般に、オ
ペレーティング・システムは、アプリケーション相互間
の切換を行って、各プログラムを「タイムスライス」と
いう短期間の間走らせる。従って、この方法では、プロ
セッサは、種々のアプリケーションまたはオブジェクト
相互間で共用され、多重タスク処理を可能にする。
【0003】例えば、OS/2(インターナショナル・
ビジネス・マシーンズ・コーポレーションの登録商標)
は、保護された環境で複数のプログラムを実行する能力
を与える多重タスク処理アーキテクチャーを提供するオ
ペレーティング・システムである。OS/2は、セッシ
ョン、プロセス、スレッドと呼ばれる多重タクス処理オ
プションのハイラーキ(階層)を含んでいる。セッショ
ンは、ユーザ入出力(I/O)装置共用の単位である。
プロセスは、メモリ、ファイル、セマフォア、待ち行
列、スレッドのような種々な資源を共用するための単位
である。1つのプロセスは、複数のプログラムまたはオ
ブジェクトを含むことができる。OS/2に関するこれ
以上の情報については、1992年に出版されたAdd
ison−Wesley Publishing社発
行、DeitelおよびKogan著の「OS/2の設
計」という題のテキストを参照してほしい。
ビジネス・マシーンズ・コーポレーションの登録商標)
は、保護された環境で複数のプログラムを実行する能力
を与える多重タスク処理アーキテクチャーを提供するオ
ペレーティング・システムである。OS/2は、セッシ
ョン、プロセス、スレッドと呼ばれる多重タクス処理オ
プションのハイラーキ(階層)を含んでいる。セッショ
ンは、ユーザ入出力(I/O)装置共用の単位である。
プロセスは、メモリ、ファイル、セマフォア、待ち行
列、スレッドのような種々な資源を共用するための単位
である。1つのプロセスは、複数のプログラムまたはオ
ブジェクトを含むことができる。OS/2に関するこれ
以上の情報については、1992年に出版されたAdd
ison−Wesley Publishing社発
行、DeitelおよびKogan著の「OS/2の設
計」という題のテキストを参照してほしい。
【0004】オブジェクトは、米国マサチューセッツ州
ケンブリッジ、ケンブリッジ・センタ11にあるOpe
n Software社発行の「OSF DCU Us
ers Guide And Reference」に
おいて定義されたDCEオブジェクトである。開発中の
種々のそして潜在的に独立したアプリケーション・オブ
ジェクト(それらのすべてがベース・クラスのハイラー
キに基づいて構築されている)を含む環境では、それら
オブジェクトが実行する実行時間環境を切り離す必要が
ある。その切り離しの必要性は、オブジェクト相互間の
完全性に対する懸念から生ずる。一般に、2つのオブジ
ェクトが同じプロセス内で実行しつつある場合、一方の
オブジェクトの失敗が他方のオブジェクトを危うくす
る。換言すれば、一方のオブジェクトが1つのプロセス
内で失敗した場合、通常、同じプロセス内の他のオブジ
ェクトもすべて失敗するか又は不安定になる。1つのオ
ブジェクトの誤った実施が他のオブジェクトを駄目にし
てしまうことがある。
ケンブリッジ、ケンブリッジ・センタ11にあるOpe
n Software社発行の「OSF DCU Us
ers Guide And Reference」に
おいて定義されたDCEオブジェクトである。開発中の
種々のそして潜在的に独立したアプリケーション・オブ
ジェクト(それらのすべてがベース・クラスのハイラー
キに基づいて構築されている)を含む環境では、それら
オブジェクトが実行する実行時間環境を切り離す必要が
ある。その切り離しの必要性は、オブジェクト相互間の
完全性に対する懸念から生ずる。一般に、2つのオブジ
ェクトが同じプロセス内で実行しつつある場合、一方の
オブジェクトの失敗が他方のオブジェクトを危うくす
る。換言すれば、一方のオブジェクトが1つのプロセス
内で失敗した場合、通常、同じプロセス内の他のオブジ
ェクトもすべて失敗するか又は不安定になる。1つのオ
ブジェクトの誤った実施が他のオブジェクトを駄目にし
てしまうことがある。
【0005】同じプロセス内で実行しているオブジェク
トは、データを容易に交換することができる。しばし
ば、データを交換したり、異なるプロセスにおけるオブ
ジェクトにメッセージを送りたいことがある。データ交
換は、相異なるプロセスで実行しているオブジェクト相
互間では更に困難となる。
トは、データを容易に交換することができる。しばし
ば、データを交換したり、異なるプロセスにおけるオブ
ジェクトにメッセージを送りたいことがある。データ交
換は、相異なるプロセスで実行しているオブジェクト相
互間では更に困難となる。
【0006】現在、相異なるプロセス内に置かれた2つ
のオブジェクト間のデータ共用およびメッセージ送出
は、それら2つのオブジェクトに特有のプロトコールを
書くことによって処理されている。その結果、データ共
用およびメッセージ送出はそれら2つのオブジェクト間
だけで生ずる。第3のオブジェクトを加えるためには、
3つのオブジェクトすべての間のデータ共用およびメッ
セージ送出を可能にするための付加的コードを作らなけ
ればならない。
のオブジェクト間のデータ共用およびメッセージ送出
は、それら2つのオブジェクトに特有のプロトコールを
書くことによって処理されている。その結果、データ共
用およびメッセージ送出はそれら2つのオブジェクト間
だけで生ずる。第3のオブジェクトを加えるためには、
3つのオブジェクトすべての間のデータ共用およびメッ
セージ送出を可能にするための付加的コードを作らなけ
ればならない。
【0007】従って、追加の各プロセスに対する新たな
プロトコールを作る必要なしにプロセス間のデータおよ
びメッセージの交換および通信を管理する方法および装
置を得ることが望ましい。
プロトコールを作る必要なしにプロセス間のデータおよ
びメッセージの交換および通信を管理する方法および装
置を得ることが望ましい。
【0008】
【発明が解決しようとする課題】本発明の目的は、デー
タ処理システムにおける通信を管理するための方法およ
びシステムを提供することにある。
タ処理システムにおける通信を管理するための方法およ
びシステムを提供することにある。
【0009】本発明のもう1つの目的は、データ処理シ
ステムにおいて実行中のオブジェクト相互間の通信を管
理するための方法およびシステムを提供することにあ
る。
ステムにおいて実行中のオブジェクト相互間の通信を管
理するための方法およびシステムを提供することにあ
る。
【0010】本発明の更にもう1つの目的は、データ処
理システム内の相異なるプロセスにおいて実行中のオブ
ジェクト相互間の通信を管理するための方法およびシス
テムを提供することにある。
理システム内の相異なるプロセスにおいて実行中のオブ
ジェクト相互間の通信を管理するための方法およびシス
テムを提供することにある。
【0011】
【課題を解決するための手段】本発明は、複数のプロセ
スを含んだ多重タスク処理オペレーティング・システム
を有するデータ処理システムにおいて、その多重タスク
処理オペレーティング・システムにおける複数プロセス
で実行中のオブジェクト相互間の通信を与えるための方
法およびシステムを提供する。その方法およびシステム
は、コミュニケーション・マネージャとして働くオブジ
ェクト・ディスパッチャ・プロセス(ODP)によりオ
ブジェクトを、そのオブジェクトの起動(本明細書にお
いて、起動とはオブジェクトをオペレーティング・シス
テムにロードして実行可能な状態にする事を意味する)
に応答して登録することを含んでいる。そのオブジェク
ト・ディスパッチャ・プロセス(ODP)は、複数のプ
ロセス内のそれに登録されたすべてのオブジェクトを監
視する。第1のオブジェクトが登録されるかどうかの決
定は、第1のオブジェクトにメッセージを送るための要
求を第2のオブジェクトから受け取ることに応答して、
そのオブジェクト・ディスパッチャ・プロセス(OD
P)を利用して行われる。プロセス内の第1のオブジェ
クトの起動の自動的開始は、その第1のオブジェクトが
登録されてない場合、オブジェクト・ディスパッチャ・
プロセス(ODP)を利用して行われる。次に、第1の
オブジェクトを含むプロセスは、第2のオブジェクトを
含むプロセスにバインド(本明細書において、バインド
とは2つのプロセスの間に通信パスまたはチャネルを設
定することを意味する)される。この場合、それら2つ
のプロセスの間に通信パスが設定される。2つのプロセ
ス間の通信パスを介して、第2のオブジェクトから第1
のオブジェクトにメッセージが送られ、第1のオブジェ
クトと第2のオブジェクトとの間の通信が自動的に設定
される。
スを含んだ多重タスク処理オペレーティング・システム
を有するデータ処理システムにおいて、その多重タスク
処理オペレーティング・システムにおける複数プロセス
で実行中のオブジェクト相互間の通信を与えるための方
法およびシステムを提供する。その方法およびシステム
は、コミュニケーション・マネージャとして働くオブジ
ェクト・ディスパッチャ・プロセス(ODP)によりオ
ブジェクトを、そのオブジェクトの起動(本明細書にお
いて、起動とはオブジェクトをオペレーティング・シス
テムにロードして実行可能な状態にする事を意味する)
に応答して登録することを含んでいる。そのオブジェク
ト・ディスパッチャ・プロセス(ODP)は、複数のプ
ロセス内のそれに登録されたすべてのオブジェクトを監
視する。第1のオブジェクトが登録されるかどうかの決
定は、第1のオブジェクトにメッセージを送るための要
求を第2のオブジェクトから受け取ることに応答して、
そのオブジェクト・ディスパッチャ・プロセス(OD
P)を利用して行われる。プロセス内の第1のオブジェ
クトの起動の自動的開始は、その第1のオブジェクトが
登録されてない場合、オブジェクト・ディスパッチャ・
プロセス(ODP)を利用して行われる。次に、第1の
オブジェクトを含むプロセスは、第2のオブジェクトを
含むプロセスにバインド(本明細書において、バインド
とは2つのプロセスの間に通信パスまたはチャネルを設
定することを意味する)される。この場合、それら2つ
のプロセスの間に通信パスが設定される。2つのプロセ
ス間の通信パスを介して、第2のオブジェクトから第1
のオブジェクトにメッセージが送られ、第1のオブジェ
クトと第2のオブジェクトとの間の通信が自動的に設定
される。
【0012】
【実施例】図面、特に、図1を参照すると、本発明の方
法及び装置を組み込んで利用し得るデータ処理システム
8の概要図が示される。図から明らかなように、データ
処理システム8は、ローカル・エリア・ネットワーク
(LAN)10及び32のような複数のネットワークを
含み、そして、それらネットワークの各々は、複数の個
々のコンピュータ12及び30をそれぞれ含んでいるこ
とが望ましい。勿論、当業者には、1つのホスト・コン
ピュータに連結された複数のインテリジェント・ワーク
ステーション(IWS)がこのようなネットワークの各
々に対して利用可能であることは明らかであろう。
法及び装置を組み込んで利用し得るデータ処理システム
8の概要図が示される。図から明らかなように、データ
処理システム8は、ローカル・エリア・ネットワーク
(LAN)10及び32のような複数のネットワークを
含み、そして、それらネットワークの各々は、複数の個
々のコンピュータ12及び30をそれぞれ含んでいるこ
とが望ましい。勿論、当業者には、1つのホスト・コン
ピュータに連結された複数のインテリジェント・ワーク
ステーション(IWS)がこのようなネットワークの各
々に対して利用可能であることは明らかであろう。
【0013】このようなデータ処理システムには一般的
であるように、個々の各コンピュータは、記憶装置14
及びプリンタ等の出力装置16に連結可能である。本発
明の方法によれば、データ処理システム8において任意
のユーザにより周期的にアクセス可能なドキュメント又
は資源オブジェクトを記憶するために、このような1つ
又は複数個の記憶装置14が利用可能である。従来技術
における周知の方法では、記憶装置14に記憶されたそ
のようなドキュメント又は資源オブジェクトの各々は、
例えば、個々のコンピュータ12又は30において1つ
のドキュメントをユーザに転送することによって、デー
タ処理システムを介して自由に交換可能である。
であるように、個々の各コンピュータは、記憶装置14
及びプリンタ等の出力装置16に連結可能である。本発
明の方法によれば、データ処理システム8において任意
のユーザにより周期的にアクセス可能なドキュメント又
は資源オブジェクトを記憶するために、このような1つ
又は複数個の記憶装置14が利用可能である。従来技術
における周知の方法では、記憶装置14に記憶されたそ
のようなドキュメント又は資源オブジェクトの各々は、
例えば、個々のコンピュータ12又は30において1つ
のドキュメントをユーザに転送することによって、デー
タ処理システムを介して自由に交換可能である。
【0014】図1を更に参照すると、明らかに、データ
処理システム8は、メインフレーム・コンピュータ18
のような多数のメインフレーム・コンピュータを含み得
るものであり、そして、それらメインフレーム・コンピ
ュータは、通信リンク22によってLAN10に連結可
能であることが望ましい。メインフレーム・コンピュー
タ18は、LAN10のための遠隔記憶装置として働き
得る記憶装置20にも連結可能である。同様に、LAN
10は、通信リンク24、サブシステム制御装置(通信
制御装置)26及び通信リンク34を介してゲートウェ
イ・サーバ28にも連結可能である。ゲートウェイ・サ
ーバ28は、好ましくは、LAN32をLAN10に連
結するように働く1つのコンピュータ又はIWSであ
る。
処理システム8は、メインフレーム・コンピュータ18
のような多数のメインフレーム・コンピュータを含み得
るものであり、そして、それらメインフレーム・コンピ
ュータは、通信リンク22によってLAN10に連結可
能であることが望ましい。メインフレーム・コンピュー
タ18は、LAN10のための遠隔記憶装置として働き
得る記憶装置20にも連結可能である。同様に、LAN
10は、通信リンク24、サブシステム制御装置(通信
制御装置)26及び通信リンク34を介してゲートウェ
イ・サーバ28にも連結可能である。ゲートウェイ・サ
ーバ28は、好ましくは、LAN32をLAN10に連
結するように働く1つのコンピュータ又はIWSであ
る。
【0015】LAN32及びLAN10に関して上述し
たように、複数のドキュメント又は資源オブジェクトが
記憶装置20内に記憶可能であり、それら資源オブジェ
クトに対する資源管理プログラム(Resource
Manager)又はライブラリ・サービス・プログラ
ム(Library Service)が記憶される
時、メインフレーム・コンピュータ18により制御可能
である。勿論、メインフレーム・コンピュータ18がL
AN10から地理的遠隔地にあってもよく、同様に、L
AN10がLAN32からかなり遠距離にあってもよい
ことは当業者には明らかであろう。例えば、LAN32
はカルフォルニアに、LAN10はテキサスに、そして
メインフレーム・コンピュータ18はニューヨークにあ
ってもよい。
たように、複数のドキュメント又は資源オブジェクトが
記憶装置20内に記憶可能であり、それら資源オブジェ
クトに対する資源管理プログラム(Resource
Manager)又はライブラリ・サービス・プログラ
ム(Library Service)が記憶される
時、メインフレーム・コンピュータ18により制御可能
である。勿論、メインフレーム・コンピュータ18がL
AN10から地理的遠隔地にあってもよく、同様に、L
AN10がLAN32からかなり遠距離にあってもよい
ことは当業者には明らかであろう。例えば、LAN32
はカルフォルニアに、LAN10はテキサスに、そして
メインフレーム・コンピュータ18はニューヨークにあ
ってもよい。
【0016】多重プロセスを含む多重タスク処理環境
は、個々のコンピュータ12及び30、ゲートウェイ・
サーバ、LAN10又は32におけるコンピュータ、或
は、メインフレーム・コンピュータ18において見るこ
とができる。
は、個々のコンピュータ12及び30、ゲートウェイ・
サーバ、LAN10又は32におけるコンピュータ、或
は、メインフレーム・コンピュータ18において見るこ
とができる。
【0017】本発明の好ましい実施例によれば、多重タ
スク処理環境におけるプロセス間の通信を管理するため
に、及びそれらプロセス内で実行しているオブジェクト
を追跡し、位置指定するために、オブジェクト管理シス
テムが利用される。このオブジェクト管理システムは、
オブジェクト・ディスパッチャ・プロセス(ODP)及
びメッセージ・ディスパッチャ(MD)を含む。この管
理システムは、1つのプロセス内のオブジェクトの起動
を開始させるための起動機構、1つのプロセス内のオブ
ジェクトをグループ分けするための機構、1つのオブジ
ェクトを実行しているプロセスを位置指定するためのロ
ケーション機構、メッセージを送るためのシステムを含
み得るものである。
スク処理環境におけるプロセス間の通信を管理するため
に、及びそれらプロセス内で実行しているオブジェクト
を追跡し、位置指定するために、オブジェクト管理シス
テムが利用される。このオブジェクト管理システムは、
オブジェクト・ディスパッチャ・プロセス(ODP)及
びメッセージ・ディスパッチャ(MD)を含む。この管
理システムは、1つのプロセス内のオブジェクトの起動
を開始させるための起動機構、1つのプロセス内のオブ
ジェクトをグループ分けするための機構、1つのオブジ
ェクトを実行しているプロセスを位置指定するためのロ
ケーション機構、メッセージを送るためのシステムを含
み得るものである。
【0018】オブジェクトは、静的識別及び動的識別に
よって識別される。その静的識別はオブジェクトのDC
E名、例えば、本発明の好ましい実施例によれば、それ
の空間的識別である。例えば、/・・・/austi
n.ibm.com/host/obj1は、「aus
tin.ibm.com」セルの「host」サブディ
レクトリにおけるオブジェクトとして「obj1」を識
別する。次に、オブジェクトの動的識別は、本発明の好
ましい実施例によれば、プロセスID及びポインタによ
って識別される。
よって識別される。その静的識別はオブジェクトのDC
E名、例えば、本発明の好ましい実施例によれば、それ
の空間的識別である。例えば、/・・・/austi
n.ibm.com/host/obj1は、「aus
tin.ibm.com」セルの「host」サブディ
レクトリにおけるオブジェクトとして「obj1」を識
別する。次に、オブジェクトの動的識別は、本発明の好
ましい実施例によれば、プロセスID及びポインタによ
って識別される。
【0019】オブジェクト管理システムは、種々のプロ
セス内のオブジェクトをモニタし、すべての活動オブジ
ェクトのローカル・レジストリを維持する。目標オブジ
ェクトへの通信パスを要求するオブジェクトは、その目
標オブジェクトを識別するために静的識別を利用する。
ODPにおけるオブジェクト管理システムのオブジェク
ト・ロケータ素子は、オブジェクトの静的識別に対応す
るオブジェクトの動的識別を識別するために利用され
る。ODPに登録されたオブジェクトを追跡しそして監
視するために、マッピング・テーブルがそのODPで使
用される。オブジェクトの名称に対するエントリがマッ
ピング・テーブルに存在する場合、本発明の好ましい実
施例によれば、ODPは起動する、即ち、そのオブジェ
クトの起動を開始する。ODPは、ODPがオブジェク
トを起動する時、そのオブジェクトを登録する。登録
は、オブジェクトがODPと通信する時にも生ずる。
セス内のオブジェクトをモニタし、すべての活動オブジ
ェクトのローカル・レジストリを維持する。目標オブジ
ェクトへの通信パスを要求するオブジェクトは、その目
標オブジェクトを識別するために静的識別を利用する。
ODPにおけるオブジェクト管理システムのオブジェク
ト・ロケータ素子は、オブジェクトの静的識別に対応す
るオブジェクトの動的識別を識別するために利用され
る。ODPに登録されたオブジェクトを追跡しそして監
視するために、マッピング・テーブルがそのODPで使
用される。オブジェクトの名称に対するエントリがマッ
ピング・テーブルに存在する場合、本発明の好ましい実
施例によれば、ODPは起動する、即ち、そのオブジェ
クトの起動を開始する。ODPは、ODPがオブジェク
トを起動する時、そのオブジェクトを登録する。登録
は、オブジェクトがODPと通信する時にも生ずる。
【0020】本発明の好ましい実施例によれば、オブジ
ェクトを起動するには3つの情報、即ち、オブジェクト
識別、オブジェクトのクラス、オブジェクト・ハンドラ
が必要である。オブジェクト識別に関しては、オブジェ
クトがまだ活動してない場合、静的識別が十分である。
オブジェクト・ハンドラは、オブジェクトのメソッドに
対応するコードを含んでいる。
ェクトを起動するには3つの情報、即ち、オブジェクト
識別、オブジェクトのクラス、オブジェクト・ハンドラ
が必要である。オブジェクト識別に関しては、オブジェ
クトがまだ活動してない場合、静的識別が十分である。
オブジェクト・ハンドラは、オブジェクトのメソッドに
対応するコードを含んでいる。
【0021】ODPは、複数のプロセスにまたがるオブ
ジェクト間通信を開始しそして管理するために利用され
る中心的プロセスであり、本発明の好ましい実施例によ
れば、オブジェクト・ロケータ・サービスを行うことも
できる。ODPは、通信マネージャであり、周知のポー
トで常にメッセージを監視する。プロセスからODPへ
の通信パス又はチャネルはレシーバ・スレッドによって
サービスされる。そのレシーバ・スレッドは、適当なパ
スを介してメッセージを受信し、そのメッセージを解読
し、適当な動作を行う責任がある。レシーバ・スレッド
は、ODP内のスレッドである。オブジェクトの起動を
開始したり、プロセス間の通信パス又はチャネルを作っ
たりするような適当な動作が、そのレシーバ・スレッド
によって行われる動作の例である。
ジェクト間通信を開始しそして管理するために利用され
る中心的プロセスであり、本発明の好ましい実施例によ
れば、オブジェクト・ロケータ・サービスを行うことも
できる。ODPは、通信マネージャであり、周知のポー
トで常にメッセージを監視する。プロセスからODPへ
の通信パス又はチャネルはレシーバ・スレッドによって
サービスされる。そのレシーバ・スレッドは、適当なパ
スを介してメッセージを受信し、そのメッセージを解読
し、適当な動作を行う責任がある。レシーバ・スレッド
は、ODP内のスレッドである。オブジェクトの起動を
開始したり、プロセス間の通信パス又はチャネルを作っ
たりするような適当な動作が、そのレシーバ・スレッド
によって行われる動作の例である。
【0022】ODPにより受信されるメッセージは、次
のコンポーネント、即ち、オブジェクト名、クラス、動
作、アーギュメントを含んでいる。動作は、例えば、オ
ブジェクトを見つけてロードすること、オブジェクトの
新しいインスタンスを作ることであったり、オブジェク
トのオブジェクト・ハンドラで定義された他の動作でも
よい。オブジェクト名は、メッセージを受けるべきオブ
ジェクトの名称である。クラスは、そのオブジェクトの
クラスである。ODPは、それが起動するオブジェクト
及びそのオブジェクトと通信するオブジェクトを登録す
る。
のコンポーネント、即ち、オブジェクト名、クラス、動
作、アーギュメントを含んでいる。動作は、例えば、オ
ブジェクトを見つけてロードすること、オブジェクトの
新しいインスタンスを作ることであったり、オブジェク
トのオブジェクト・ハンドラで定義された他の動作でも
よい。オブジェクト名は、メッセージを受けるべきオブ
ジェクトの名称である。クラスは、そのオブジェクトの
クラスである。ODPは、それが起動するオブジェクト
及びそのオブジェクトと通信するオブジェクトを登録す
る。
【0023】MDは、本発明の好ましい実施例によれ
ば、オブジェクト間のプロセス間通信及びプロセス内通
信を管理する。それは、MDが置かれているプロセス内
のオブジェクトにメッセージ又はメソッドを分配するよ
う動作可能である。他のプロセスから入ってくるメッセ
ージは、そのメッセージにおけるオブジェクト処理フィ
ールドを利用してそれらを適当なオブジェクトに送るこ
とによって処理される。
ば、オブジェクト間のプロセス間通信及びプロセス内通
信を管理する。それは、MDが置かれているプロセス内
のオブジェクトにメッセージ又はメソッドを分配するよ
う動作可能である。他のプロセスから入ってくるメッセ
ージは、そのメッセージにおけるオブジェクト処理フィ
ールドを利用してそれらを適当なオブジェクトに送るこ
とによって処理される。
【0024】ローカル・オブジェクトが他のプロセスに
ある外部オブジェクトにメッセージを送る時及びそれら
2つのプロセス間に通信パスが設定されていない時、M
Dは、外部オブジェクトを含むプロセスへの通信パスを
設定するようODPにメッセージを送る。ODPは、そ
の外部オブジェクトに対するエントリが存在するかどう
かを決定するためにマッピング・テーブルをサーチす
る。
ある外部オブジェクトにメッセージを送る時及びそれら
2つのプロセス間に通信パスが設定されていない時、M
Dは、外部オブジェクトを含むプロセスへの通信パスを
設定するようODPにメッセージを送る。ODPは、そ
の外部オブジェクトに対するエントリが存在するかどう
かを決定するためにマッピング・テーブルをサーチす
る。
【0025】エントリが存在する場合、ODPはその外
部オブジェクトの動的識別(プロセスID及びそのプロ
セス内のハンドル)をマッピング・テーブルから取り出
す。プロセス内のハンドルは、そのプロセス内のオブジ
ェクトを識別するために利用される。ODPは、本発明
の好ましい実施例によれば、外部オブジェクトにメッセ
ージを送り、メソッド名称、アーギュメント・リスト、
そしてその外部オブジェクトに対するプロセス内のハン
ドルを含むメッセージを要求プロセスに戻す。ローカル
・オブジェクトのMDは、この情報を利用して、通信パ
ス又はチャネルを介して外部オブジェクトにメッセージ
を送る。
部オブジェクトの動的識別(プロセスID及びそのプロ
セス内のハンドル)をマッピング・テーブルから取り出
す。プロセス内のハンドルは、そのプロセス内のオブジ
ェクトを識別するために利用される。ODPは、本発明
の好ましい実施例によれば、外部オブジェクトにメッセ
ージを送り、メソッド名称、アーギュメント・リスト、
そしてその外部オブジェクトに対するプロセス内のハン
ドルを含むメッセージを要求プロセスに戻す。ローカル
・オブジェクトのMDは、この情報を利用して、通信パ
ス又はチャネルを介して外部オブジェクトにメッセージ
を送る。
【0026】ODPがマッピング・テーブルにおいてオ
ブジェクト・エントリを見つけなかった場合、ODP
は、外部オブジェクトのクラスがいずれかのプロセスに
すでにロードされたかどうかを決定するためにクラス・
テーブルをサーチする。それがロードされている場合、
外部オブジェクトを起動するために、メッセージがその
プロセスに送られる。そのプロセスに送られるメッセー
ジはその書式のもの(動作、アーギュメント・リスト、
クラス名、DLL名を含んだもの)でよい。DLLは、
動的リンク・ライブラリ(Dynamic Link
Library)を表わす。外部オブジェクトのクラス
がプロセスにロードされていない場合、新しいプロセス
が開始され、外部オブジェクトはその新しいプロセスに
おいて起動される。
ブジェクト・エントリを見つけなかった場合、ODP
は、外部オブジェクトのクラスがいずれかのプロセスに
すでにロードされたかどうかを決定するためにクラス・
テーブルをサーチする。それがロードされている場合、
外部オブジェクトを起動するために、メッセージがその
プロセスに送られる。そのプロセスに送られるメッセー
ジはその書式のもの(動作、アーギュメント・リスト、
クラス名、DLL名を含んだもの)でよい。DLLは、
動的リンク・ライブラリ(Dynamic Link
Library)を表わす。外部オブジェクトのクラス
がプロセスにロードされていない場合、新しいプロセス
が開始され、外部オブジェクトはその新しいプロセスに
おいて起動される。
【0027】オブジェクトを起動する場合、本発明の好
ましい実施例によれば、オブジェクトのDCE名は、そ
のオブジェクトのクラス及びそのオブジェクトに対する
オブジェクト・ハンドラの名称と同様に、知られてい
る。そのオブジェクトのオブジェクト・ハンドラは、O
S/2では動的リンク・ライブラリ(DLL)ファイル
の名称である。DLLは、呼び出しプログラム又はオブ
ジェクトがメモリにロードされる時、又は、それらが既
に実行中のプログラム又はオブジェクトによってロード
される時、その呼び出しプログラム又はオブジェクトに
動的に結合されるサブルーチンである。DLLファイル
は、この実施例では、外部オブジェクトが応答するであ
ろうメソッドを含んでいる。DLL呼び出しに関するこ
れ以上の情報は、1989年にIBM社発行の「IBM
Operating System/2 Versi
on 1.2 Programming Guide、
Document No.00F8833」及び199
2年、Addison−Wesley社発行のDeit
el及びKogan著の「The Design of
OS/2」で見ることができる。
ましい実施例によれば、オブジェクトのDCE名は、そ
のオブジェクトのクラス及びそのオブジェクトに対する
オブジェクト・ハンドラの名称と同様に、知られてい
る。そのオブジェクトのオブジェクト・ハンドラは、O
S/2では動的リンク・ライブラリ(DLL)ファイル
の名称である。DLLは、呼び出しプログラム又はオブ
ジェクトがメモリにロードされる時、又は、それらが既
に実行中のプログラム又はオブジェクトによってロード
される時、その呼び出しプログラム又はオブジェクトに
動的に結合されるサブルーチンである。DLLファイル
は、この実施例では、外部オブジェクトが応答するであ
ろうメソッドを含んでいる。DLL呼び出しに関するこ
れ以上の情報は、1989年にIBM社発行の「IBM
Operating System/2 Versi
on 1.2 Programming Guide、
Document No.00F8833」及び199
2年、Addison−Wesley社発行のDeit
el及びKogan著の「The Design of
OS/2」で見ることができる。
【0028】ローカル・オブジェクトを含むプロセスと
外部オブジェクトを含むプロセスとの間に、既に、通信
パスが設定されている状況では、ローカル・オブジェク
トによる外部オブジェクトに係る動作の呼び出しの結
果、MDは必要なメッセージを作成し、それを、前に設
定された通信パスを介して、その外部オブジェクトを実
行中のプロセスに直接転送する。MDは、プロセス間通
信とプロセス内通信とを管理するための2つのテーブ
ル、即ち、本実施例では、クラス・テーブルとオブジェ
クト・テーブルを保持している。クラス・テーブルは、
特定のプロセスにおいて登録されるすべてのクラスのリ
ストを保持したデータ構造である。オブジェクト・テー
ブルは、特定のプロセスにおいて実行中のすべてのオブ
ジェクトのリスト及びこれらオブジェクトと通信中の外
部オブジェクトを記憶するためのテーブルである。その
結果として、MDは、1つのプロセス内のオブジェクト
をグループ分けするためのグルーピング機構を与える。
外部オブジェクトを含むプロセスとの間に、既に、通信
パスが設定されている状況では、ローカル・オブジェク
トによる外部オブジェクトに係る動作の呼び出しの結
果、MDは必要なメッセージを作成し、それを、前に設
定された通信パスを介して、その外部オブジェクトを実
行中のプロセスに直接転送する。MDは、プロセス間通
信とプロセス内通信とを管理するための2つのテーブ
ル、即ち、本実施例では、クラス・テーブルとオブジェ
クト・テーブルを保持している。クラス・テーブルは、
特定のプロセスにおいて登録されるすべてのクラスのリ
ストを保持したデータ構造である。オブジェクト・テー
ブルは、特定のプロセスにおいて実行中のすべてのオブ
ジェクトのリスト及びこれらオブジェクトと通信中の外
部オブジェクトを記憶するためのテーブルである。その
結果として、MDは、1つのプロセス内のオブジェクト
をグループ分けするためのグルーピング機構を与える。
【0029】外部オブジェクトは、1つの外部オブジェ
クトに到達するに必要なチャネル識別子及び結合情報と
関連している。チャネル識別子は、送信者と受信者との
間の通信チャネルを識別するデータである。例えば、通
信に対してソケット実装が利用されている場合には、ポ
ート番号が通信チャネルを識別するであろうし、通信に
対して共用メモリが使用される場合には、その共用メモ
リのセグメントの名称が通信チャネルを識別するであろ
う。MDは、ODPが現在実行中であるかどうかを知る
ためにODPを連続的にピング(ping)する、即
ち、監視する。ODPが最早走っていないことをタイム
・アウト機構を通してMDが決定する場合、それは終了
処理を開始し、自己終了する。
クトに到達するに必要なチャネル識別子及び結合情報と
関連している。チャネル識別子は、送信者と受信者との
間の通信チャネルを識別するデータである。例えば、通
信に対してソケット実装が利用されている場合には、ポ
ート番号が通信チャネルを識別するであろうし、通信に
対して共用メモリが使用される場合には、その共用メモ
リのセグメントの名称が通信チャネルを識別するであろ
う。MDは、ODPが現在実行中であるかどうかを知る
ためにODPを連続的にピング(ping)する、即
ち、監視する。ODPが最早走っていないことをタイム
・アウト機構を通してMDが決定する場合、それは終了
処理を開始し、自己終了する。
【0030】図2を参照すると、本発明の好ましい実施
例に従って、ODPとプロセスとの間の通信リンクの設
定を説明する図が示される。ODP200は、プロセス
204のような他のプロセス又はサブシステムからの要
求に関してポート202を走査し、それをODP200
に接続する。サブシステムは、大きなシステムの、例え
ば、オペレーティング・システムにおけるファイル・シ
ステムの論理的サブコンポーネントである。ポート20
2は、当業者には周知のポートである。ポート202
は、周知のサーバ・プロセス(例えば、名前サーバ、フ
ァイル転送プロトコル・サーバ等)と関連した周知のポ
ートである。周知のポートとは、すべての機械に関して
効果的に働くポートである。コンピュータのネットワー
クでは、1つの機械に関するプロセスは、対(機械I
D、ポート番号)によって識別可能である。ポート番号
は、所与の機械におけるプロセスを識別する。
例に従って、ODPとプロセスとの間の通信リンクの設
定を説明する図が示される。ODP200は、プロセス
204のような他のプロセス又はサブシステムからの要
求に関してポート202を走査し、それをODP200
に接続する。サブシステムは、大きなシステムの、例え
ば、オペレーティング・システムにおけるファイル・シ
ステムの論理的サブコンポーネントである。ポート20
2は、当業者には周知のポートである。ポート202
は、周知のサーバ・プロセス(例えば、名前サーバ、フ
ァイル転送プロトコル・サーバ等)と関連した周知のポ
ートである。周知のポートとは、すべての機械に関して
効果的に働くポートである。コンピュータのネットワー
クでは、1つの機械に関するプロセスは、対(機械I
D、ポート番号)によって識別可能である。ポート番号
は、所与の機械におけるプロセスを識別する。
【0031】このような要求に応答して、ODP200
は要求プロセス204にバインディングを戻す。その新
しいバインディングは、プロセス204とODP200
との間の新しい通信パス、即ち、チャネル206を表わ
す。ODP200は、プロセス204とのその後のすべ
ての対話でこのチャネルを利用する。
は要求プロセス204にバインディングを戻す。その新
しいバインディングは、プロセス204とODP200
との間の新しい通信パス、即ち、チャネル206を表わ
す。ODP200は、プロセス204とのその後のすべ
ての対話でこのチャネルを利用する。
【0032】前述のように、ODPと関連した通信パス
又はチャネルは、レシーバ・スレッドによってサービス
される。このスレッドは、適当なパス又はチャネルにお
いてメッセージを受信し、そのメッセージを解読し、適
切な処置を取るように働く。ODPが受け取ったメッセ
ージは、オブジェクト名、クラス、動作、アーギュメン
トを含んでいる。
又はチャネルは、レシーバ・スレッドによってサービス
される。このスレッドは、適当なパス又はチャネルにお
いてメッセージを受信し、そのメッセージを解読し、適
切な処置を取るように働く。ODPが受け取ったメッセ
ージは、オブジェクト名、クラス、動作、アーギュメン
トを含んでいる。
【0033】図3を参照すると、本発明の好ましい実施
例に従ってオブジェクトがインスタンス化されてない状
況における、2つのプロセスの通信リンクの設定を説明
するデータの流れ図が示される。プロセス252では、
クラスAのオブジェクト250が実行中である。オブジ
ェクト250は、クラスBの新しいオブジェクトObj
2をインスタンス化しようとしている。MD254は、
それのローカル・クラス・テーブルをサーチしたがクラ
スBを見つけていない。
例に従ってオブジェクトがインスタンス化されてない状
況における、2つのプロセスの通信リンクの設定を説明
するデータの流れ図が示される。プロセス252では、
クラスAのオブジェクト250が実行中である。オブジ
ェクト250は、クラスBの新しいオブジェクトObj
2をインスタンス化しようとしている。MD254は、
それのローカル・クラス・テーブルをサーチしたがクラ
スBを見つけていない。
【0034】その結果、MD254は、通信パス258
を介してODP256にメッセージを送り、クラスBの
Obj2をインスタンス化するようODP256に要請
する。通信パス258は、図2において説明したように
設定可能である。ODP256は、そのメッセージを解
読し、それのマッピング・テーブル257においてOb
j2を捜す。ODP256がマッピング・テーブル25
7においてObj2を見つけられなかったと仮定する
と、ODP256は、そのメッセージからObj2のク
ラスの名称を得る。
を介してODP256にメッセージを送り、クラスBの
Obj2をインスタンス化するようODP256に要請
する。通信パス258は、図2において説明したように
設定可能である。ODP256は、そのメッセージを解
読し、それのマッピング・テーブル257においてOb
j2を捜す。ODP256がマッピング・テーブル25
7においてObj2を見つけられなかったと仮定する
と、ODP256は、そのメッセージからObj2のク
ラスの名称を得る。
【0035】ODP256は、それにロードされたクラ
スBでもってプロセス260を開始する。プロセス26
0におけるMD261は、Obj2をインスタンス化
し、即ち、起動し、Obj2ハンドル及び新しいバイン
ディングをODP256に戻して通信パス262を形成
する。ODP256は、Obj2とObj2ハンドルと
の間の関連を含むようにマッピング・テーブル257を
更新する。
スBでもってプロセス260を開始する。プロセス26
0におけるMD261は、Obj2をインスタンス化
し、即ち、起動し、Obj2ハンドル及び新しいバイン
ディングをODP256に戻して通信パス262を形成
する。ODP256は、Obj2とObj2ハンドルと
の間の関連を含むようにマッピング・テーブル257を
更新する。
【0036】ODP256は、バインディングをMD2
54に戻して通信パス264を設定する。MD254
は、プロセス260への通信パスとObj2を関連付け
るようそれのローカル・オブジェクト・テーブルを更新
し、Obj2に対するローカル・ハンドルをオブジェク
ト250に戻して通信パス264を形成する。プロセス
252におけるオブジェクトによるObj2に関するそ
の後のすべての動作は、通信パス264を介してプロセ
ス260に直接送られる。
54に戻して通信パス264を設定する。MD254
は、プロセス260への通信パスとObj2を関連付け
るようそれのローカル・オブジェクト・テーブルを更新
し、Obj2に対するローカル・ハンドルをオブジェク
ト250に戻して通信パス264を形成する。プロセス
252におけるオブジェクトによるObj2に関するそ
の後のすべての動作は、通信パス264を介してプロセ
ス260に直接送られる。
【0037】図4及び図5を参照すると、本発明の好ま
しい実施例に従って通信パスを作るための論理的流れ図
が示される。手順はブロック400で始まり、然る後、
ブロック402に進む。ブロック402は、目標オブジ
ェクトへの通信パスを作るという要求M0を、ODPの
クライアントである要求オブジェクトによってそのOD
Pに送ることを示している。M0は、目標オブジェクト
に関する次のような情報、即ち、オブジェクト名、オブ
ジェクト・クラス、メソッド名、アーギュメント・リス
ト、DLLファイル名、を含むメッセージである。M0
は、静的識別を利用してオブジェクトを識別する。次
に、手順はブロック404に進む。ブロック404は、
ODPによるメッセージM0の受領、そのメッセージM
0の解読、そして、ODPによるマッピング・テーブル
におけるオブジェクト名の探索を行う。
しい実施例に従って通信パスを作るための論理的流れ図
が示される。手順はブロック400で始まり、然る後、
ブロック402に進む。ブロック402は、目標オブジ
ェクトへの通信パスを作るという要求M0を、ODPの
クライアントである要求オブジェクトによってそのOD
Pに送ることを示している。M0は、目標オブジェクト
に関する次のような情報、即ち、オブジェクト名、オブ
ジェクト・クラス、メソッド名、アーギュメント・リス
ト、DLLファイル名、を含むメッセージである。M0
は、静的識別を利用してオブジェクトを識別する。次
に、手順はブロック404に進む。ブロック404は、
ODPによるメッセージM0の受領、そのメッセージM
0の解読、そして、ODPによるマッピング・テーブル
におけるオブジェクト名の探索を行う。
【0038】次に、手順はブロック406に進み、M0
により指定されたオブジェクト名に対応するオブジェク
ト名がODPのマッピング・テーブルで見つかったかど
うかの決定が行われる。マッピング・テーブルは、OD
Pにより登録される各オブジェクトに対するエントリを
含んでいる。本実施例では、各エントリは、オブジェク
ト名、プロセスID、そのオブジェクトを見つけるプロ
セス内のハンドルを含んでいる。前述のように、オブジ
ェクトは、それらがODPへ要求を送る時、又はODP
がオブジェクトを起動する時に登録される。オブジェク
ト名が見つかった場合、手順はブロック408に進み、
M0におけるオブジェクト名に対応するタップル(プロ
セスID、プロセス内のハンドル)をマッピング・テー
ブルから取り出す。
により指定されたオブジェクト名に対応するオブジェク
ト名がODPのマッピング・テーブルで見つかったかど
うかの決定が行われる。マッピング・テーブルは、OD
Pにより登録される各オブジェクトに対するエントリを
含んでいる。本実施例では、各エントリは、オブジェク
ト名、プロセスID、そのオブジェクトを見つけるプロ
セス内のハンドルを含んでいる。前述のように、オブジ
ェクトは、それらがODPへ要求を送る時、又はODP
がオブジェクトを起動する時に登録される。オブジェク
ト名が見つかった場合、手順はブロック408に進み、
M0におけるオブジェクト名に対応するタップル(プロ
セスID、プロセス内のハンドル)をマッピング・テー
ブルから取り出す。
【0039】然る後、手順はブロック410に進み、目
標オブジェクトを含むプロセス内のMDにメッセージM
1を送る。メッセージM1は、メソッド名、アーギュメ
ント・リスト、プロセス内のハンドルを含んでいる。M
1は、そのオブジェクトの動的識別も含む。そこで、手
順はブロック414に進み、目標オブジェクトのプロセ
スにおけるMDがそのメッセージを受け取る。そのメッ
セージは、メソッド名、アーギュメント・リスト、要求
オブジェクトにより要求されたオブジェクトに対するプ
ロセス内のハンドルを含んでいる。然る後、手順は接続
部Cを介してブロック430に進む。ブロック430で
は、目標オブジェクトを含むプロセスに対するODPに
よるバインディングをクライアントに戻す。バインディ
ング情報は、ODPにおける接続テーブル内にある。そ
の接続テーブルは、特定のプロセスに対するバインディ
ング情報と関連したプロセスIDを含んでいる。この接
続テーブルは、本実施例によれば、他のプロセスにおけ
るオブジェクトへの通信パスを要求する種々のオブジェ
クトにバインディング情報を与えるために利用される。
然る後、手順はブロック432で終了する。
標オブジェクトを含むプロセス内のMDにメッセージM
1を送る。メッセージM1は、メソッド名、アーギュメ
ント・リスト、プロセス内のハンドルを含んでいる。M
1は、そのオブジェクトの動的識別も含む。そこで、手
順はブロック414に進み、目標オブジェクトのプロセ
スにおけるMDがそのメッセージを受け取る。そのメッ
セージは、メソッド名、アーギュメント・リスト、要求
オブジェクトにより要求されたオブジェクトに対するプ
ロセス内のハンドルを含んでいる。然る後、手順は接続
部Cを介してブロック430に進む。ブロック430で
は、目標オブジェクトを含むプロセスに対するODPに
よるバインディングをクライアントに戻す。バインディ
ング情報は、ODPにおける接続テーブル内にある。そ
の接続テーブルは、特定のプロセスに対するバインディ
ング情報と関連したプロセスIDを含んでいる。この接
続テーブルは、本実施例によれば、他のプロセスにおけ
るオブジェクトへの通信パスを要求する種々のオブジェ
クトにバインディング情報を与えるために利用される。
然る後、手順はブロック432で終了する。
【0040】ブロック406を再び参照すると、マッピ
ング・テーブルにおいてオブジェクト名が見つからない
と、手順はブロック416に進み、クラス・テーブルを
サーチして、要求された目標オブジェクトのオブジェク
ト・クラスを捜す。そこでプロセスはブロック418に
進み、そのクラスがODPにおけるクラス・テーブルで
見つかるかどうかの決定が行われる。クラス・テーブル
は、本実施例によれば、オブジェクト・クラスの情報及
び各オブジェクト・クラスと関連したプロセスIDを含
んでいる。そのクラスが既にクラス・テーブルにない場
合、オブジェクトがODPと接触する時にそのクラスは
登録される。ODPのクラス・テーブルで見つからなか
ったクラスを有する新しいプロセスの起動をODPが開
始する場合にも登録される。クラスが見つかった場合、
手順はブロック419に進み、目標オブジェクトのクラ
スに対するクラスIDをクラス・テーブルから取り出
す。然る後、手順は接続部Aを介して図5のブロック4
20に続く。ブロック420は、目標オブジェクトのク
ラスがロードされるプロセスIDを取り出す。そこで、
手順はブロック422に進み、目標オブジェクトのクラ
スがロードされるプロセスにメッセージM2を送る。メ
ッセージM2は、オブジェクト・クラス、opn=ne
w、目標オブジェクトのDLLを含んでいる。M2は、
そのプロセスにおける目標オブジェクトを起動するよう
要求する。次に、手順はブロック424に進み、目標オ
ブジェクトのクラスがロードされるプロセスからの応答
を待つ。
ング・テーブルにおいてオブジェクト名が見つからない
と、手順はブロック416に進み、クラス・テーブルを
サーチして、要求された目標オブジェクトのオブジェク
ト・クラスを捜す。そこでプロセスはブロック418に
進み、そのクラスがODPにおけるクラス・テーブルで
見つかるかどうかの決定が行われる。クラス・テーブル
は、本実施例によれば、オブジェクト・クラスの情報及
び各オブジェクト・クラスと関連したプロセスIDを含
んでいる。そのクラスが既にクラス・テーブルにない場
合、オブジェクトがODPと接触する時にそのクラスは
登録される。ODPのクラス・テーブルで見つからなか
ったクラスを有する新しいプロセスの起動をODPが開
始する場合にも登録される。クラスが見つかった場合、
手順はブロック419に進み、目標オブジェクトのクラ
スに対するクラスIDをクラス・テーブルから取り出
す。然る後、手順は接続部Aを介して図5のブロック4
20に続く。ブロック420は、目標オブジェクトのク
ラスがロードされるプロセスIDを取り出す。そこで、
手順はブロック422に進み、目標オブジェクトのクラ
スがロードされるプロセスにメッセージM2を送る。メ
ッセージM2は、オブジェクト・クラス、opn=ne
w、目標オブジェクトのDLLを含んでいる。M2は、
そのプロセスにおける目標オブジェクトを起動するよう
要求する。次に、手順はブロック424に進み、目標オ
ブジェクトのクラスがロードされるプロセスからの応答
を待つ。
【0041】然る後、手順はブロック426に進み、ク
ラスがロードされるプロセスから、プロセスID及び新
たに作成された目標オブジェクトのハンドルを受け取
る。そこで、手順はブロック428に進み、ODPによ
り目標オブジェクト及びそのハンドルをマッピング・テ
ーブルに登録する。手順はブロック430に進み、OD
Pは新たに作成された目標オブジェクトのプロセスに対
するバインディングを戻す。その結果、要求オブジェク
トによる目標オブジェクトに対するその後の要求は、そ
の目標オブジェクトを含むプロセスに直接送ることが可
能になり、従って、ODPをバイパスでき、オブジェク
ト間の通信の効率及び速度を高めることが可能となる。
手順は、図示のように、ブロック432で終わる。
ラスがロードされるプロセスから、プロセスID及び新
たに作成された目標オブジェクトのハンドルを受け取
る。そこで、手順はブロック428に進み、ODPによ
り目標オブジェクト及びそのハンドルをマッピング・テ
ーブルに登録する。手順はブロック430に進み、OD
Pは新たに作成された目標オブジェクトのプロセスに対
するバインディングを戻す。その結果、要求オブジェク
トによる目標オブジェクトに対するその後の要求は、そ
の目標オブジェクトを含むプロセスに直接送ることが可
能になり、従って、ODPをバイパスでき、オブジェク
ト間の通信の効率及び速度を高めることが可能となる。
手順は、図示のように、ブロック432で終わる。
【0042】ブロック418を再び参照すると、クラス
・テーブルにおいてクラスが見つからないと、手順は接
続部Bを介してブロック433に進む。ブロック433
では、新しいプロセスの起動を開始させ、要求オブジェ
クトからの要求から取り出されたクラス名を利用して目
標オブジェクトのクラスを新しいプロセスにロードす
る。手順はブロック434に進み、クラス名及び新しい
プロセスのプロセスIDをODPのクラス・テーブルに
登録する。
・テーブルにおいてクラスが見つからないと、手順は接
続部Bを介してブロック433に進む。ブロック433
では、新しいプロセスの起動を開始させ、要求オブジェ
クトからの要求から取り出されたクラス名を利用して目
標オブジェクトのクラスを新しいプロセスにロードす
る。手順はブロック434に進み、クラス名及び新しい
プロセスのプロセスIDをODPのクラス・テーブルに
登録する。
【0043】然る後、手順はブロック422に進み、新
しいプロセスにメッセージM2を送る。前述のように、
M2は、目標オブジェクト・クラス、opn=new、
目標オブジェクトのDLLを含んでいる。次に、手順は
ブロック424に進み、プロセスからの応答を待つ。然
る後、手順はブロック426に進み、プロセスID及び
そのプロセスにより新たに作成された目標オブジェクト
のハンドルをODPに戻す。手順はブロック428に進
み、ODPにより目標オブジェクト及びそのハンドルを
マッピング・テーブルに登録する。手順はブロック43
0に進み、ODPによりプロセスのバインディングを要
求オブジェクトに戻す。再び、プロセスはブロック43
2で終了する。
しいプロセスにメッセージM2を送る。前述のように、
M2は、目標オブジェクト・クラス、opn=new、
目標オブジェクトのDLLを含んでいる。次に、手順は
ブロック424に進み、プロセスからの応答を待つ。然
る後、手順はブロック426に進み、プロセスID及び
そのプロセスにより新たに作成された目標オブジェクト
のハンドルをODPに戻す。手順はブロック428に進
み、ODPにより目標オブジェクト及びそのハンドルを
マッピング・テーブルに登録する。手順はブロック43
0に進み、ODPによりプロセスのバインディングを要
求オブジェクトに戻す。再び、プロセスはブロック43
2で終了する。
【0044】図6を参照すると、本発明の好ましい実施
例に従って、メッセージ・ディスパッチャにより行われ
るプロセスの論理的流れ図が示される。図示のように、
手順はブロック500で始まり、ブロック502に進
む。ブロック502では、MDによるメッセージの受領
及びそのメッセージの解読が行われる。然る後、手順は
ブロック504に進み、opnがnewに等しいかどう
かの決定が行われる。opnがnewに等しくない場
合、手順はブロック506に進み、メッセージからハン
ドル、メソッド名、アーギュメント・リストを取り出
し、そして、システム・オブジェクト・モデル(SO
M)ディスパッチを利用してメッセージをそのオブジェ
クトに送る。SOMは、同じプロセス内のオブジェクト
にメッセージを送るために利用される機構である。SO
Mは、IBM社から販売されているOS/2 2.0ソ
フトウェア開発ツールキット(SDK)で見ることがで
きる。
例に従って、メッセージ・ディスパッチャにより行われ
るプロセスの論理的流れ図が示される。図示のように、
手順はブロック500で始まり、ブロック502に進
む。ブロック502では、MDによるメッセージの受領
及びそのメッセージの解読が行われる。然る後、手順は
ブロック504に進み、opnがnewに等しいかどう
かの決定が行われる。opnがnewに等しくない場
合、手順はブロック506に進み、メッセージからハン
ドル、メソッド名、アーギュメント・リストを取り出
し、そして、システム・オブジェクト・モデル(SO
M)ディスパッチを利用してメッセージをそのオブジェ
クトに送る。SOMは、同じプロセス内のオブジェクト
にメッセージを送るために利用される機構である。SO
Mは、IBM社から販売されているOS/2 2.0ソ
フトウェア開発ツールキット(SDK)で見ることがで
きる。
【0045】然る後、手順はブロック508に進み、メ
ッセージを送るオブジェクトにその結果を戻す。そし
て、手順は、図示のように、ブロック510で終了す
る。
ッセージを送るオブジェクトにその結果を戻す。そし
て、手順は、図示のように、ブロック510で終了す
る。
【0046】再び、ブロック504を参照すると、op
nがnewに等しい場合、手順はブロック512に進
み、オブジェクトDLLを使ってクラスをプロセスにロ
ードする。然る後、手順はブロック514に進み、クラ
ス・オブジェクトに関するSOMディスパッチを呼び出
して新しいオブジェクトを作成する。手順はブロック5
16に進み、新たに作成されたオブジェクトをODPの
マッピング・テーブルに登録するようODPに応答を送
る。再び、手順はブロック510で終了する。
nがnewに等しい場合、手順はブロック512に進
み、オブジェクトDLLを使ってクラスをプロセスにロ
ードする。然る後、手順はブロック514に進み、クラ
ス・オブジェクトに関するSOMディスパッチを呼び出
して新しいオブジェクトを作成する。手順はブロック5
16に進み、新たに作成されたオブジェクトをODPの
マッピング・テーブルに登録するようODPに応答を送
る。再び、手順はブロック510で終了する。
【0047】
【発明の効果】相異なるプロセスでそれぞれ実行中のオ
ブジェクト相互間に自動的に通信パスを設定することが
可能となる。
ブジェクト相互間に自動的に通信パスを設定することが
可能となる。
【図1】本発明の方法を実施するために利用可能なデー
タ処理システムの概略図である。
タ処理システムの概略図である。
【図2】本発明の好ましい実施例に従って、オブジェク
ト・ディスパッチ・プロセス(ODP)と1つのプロセ
スとの間の通信リンクの設定を説明するための概略図で
ある。
ト・ディスパッチ・プロセス(ODP)と1つのプロセ
スとの間の通信リンクの設定を説明するための概略図で
ある。
【図3】本発明の実施例において、オブジェクトがイン
スタンス化されてない場合の2つのプロセス間の通信リ
ンクの設定を説明するための概略図である。
スタンス化されてない場合の2つのプロセス間の通信リ
ンクの設定を説明するための概略図である。
【図4】本発明の好ましい実施例に従って、通信パスを
設定するための論理的流れ図の一部分を示す図である。
設定するための論理的流れ図の一部分を示す図である。
【図5】本発明の好ましい実施例に従って、通信パスを
設定するための論理的流れ図の一部分を示す図である。
設定するための論理的流れ図の一部分を示す図である。
【図6】本発明の好ましい実施例に従って、メッセージ
・ディスパッチャ(MD)により行われるプロセスの論
理的流れ図である。
・ディスパッチャ(MD)により行われるプロセスの論
理的流れ図である。
200・・・ODP(オブジェクト・ディスパッチャ・
プロセス) 202・・・ポート 204・・・プロセス 206・・・チャネル 250・・・オブジェクト 252・・・プロセス 254・・・MD(メッセージ・ディスパッチャ) 256・・・ODP 257・・・マッピング・テーブル 258・・・通信パス 260・・・プロセス 261・・・MD 262・・・通信パス 264・・・通信パス
プロセス) 202・・・ポート 204・・・プロセス 206・・・チャネル 250・・・オブジェクト 252・・・プロセス 254・・・MD(メッセージ・ディスパッチャ) 256・・・ODP 257・・・マッピング・テーブル 258・・・通信パス 260・・・プロセス 261・・・MD 262・・・通信パス 264・・・通信パス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・エフ・セルビー アメリカ合衆国 テキサス州 オーステ ィン ダウド・レーン 2510 (72)発明者 スコット・イー・スナイダー アメリカ合衆国 テキサス州 オーステ ィンブリッドルウッド 4503 (72)発明者 ジェフリー・ティ・タッティーニ アメリカ合衆国 テキサス州 オーステ ィンヒルズ・トレイル 9417 アパート メント・2075 (56)参考文献 特開 平4−182739(JP,A)
Claims (9)
- 【請求項1】複数のプロセスを含む多重タスク処理オペ
レーティング・システムを有するデータ処理システムに
おいて、前記複数のプロセス内で実行中の複数のオブジ
ェクト相互間の通信を行うための方法であって、 オブジェクト・ディスパッチャ・プロセスによるオブジ
ェクトの起動に応答して、オブジェクト・ディスパッチ
ャ・プロセスを使って該オブジェクトを登録するステッ
プであって、該オブジェクト・ディスパッチャ・プロセ
スは該オブジェクト・ディスパッチャ・プロセスに登録
された前記複数のプロセス内のすべてのオブジェクトを
監視するものであるステップと、 前記複数のプロセスにおける第1のオブジェクトが前記
オブジェクト・ディスパッチャ・プロセスに登録されて
いるかどうかを、前記複数のプロセスにおける第2のオ
ブジェクトからの、前記第1のオブジェクトへメッセー
ジを送る要求に応答して決定するステップと、 前記第1のオブジェクトが登録されてないとき、前記複
数のプロセス内の前記第1のオブジェクトに対するクラ
スを含むプロセスを捜すために前記複数のプロセスを自
動的にサーチし、前記クラスを含むプロセスが存在する
とき、前記クラスを含む前記第1のプロセス内の前記第
1のオブジェクトの起動を自動的に開始するステップ
と、 前記第1のオブジェクトに対するクラスを含むプロセス
を、前記第2のオブジェクトを含む第2のプロセスにバ
インドすることにより、前記クラスを含むプロセスと前
記第2のプロセスとの間に通信パスを設定するステップ
と、 前記設定された通信パスを介して、前記第2のプロセス
における前記第2のオブジェクトから、前記クラスを含
むプロセスにおける前記第1のオブジェクトに前記メッ
セージを送るステップとより成り、以て、前記第1のオ
ブジェクトと前記第2のオブジェクトとの間の通信が自
動的に設定されることを特徴とする方法。 - 【請求項2】オブジェクトによる前記オブジェクト・デ
ィスパッチャ・プロセスとの通信の要求に応答して該オ
ブジェクトを登録するステップより成ることを特徴とす
る請求項1に記載の方法。 - 【請求項3】前記オブジェクト・ディスパッチャ・プロ
セスは、オブジェクトに対するデータをマッピング・テ
ーブル内に記憶することによって該オブジェクトを登録
し、該マッピング・テーブルは、前記オブジェクト・デ
ィスパッチャ・プロセスによって登録された各オブジェ
クトに対するエントリを含むことを特徴とする請求項2
に記載の方法。 - 【請求項4】前記エントリは、前記登録されたオブジェ
クトが起動さたプロセスを識別する識別子を含むことを
特徴とする請求項3に記載の方法。 - 【請求項5】前記エントリは、前記オブジェクトに対す
るポインタを含むことを特徴とする請求項4に記載の方
法。 - 【請求項6】前記第1のプロセスを前記第2のプロセス
にバインドすることは、前記第1のプロセスに対するバ
インド・データを第2のプロセスに送ることを含むこと
を特徴とする請求項5に記載の方法。 - 【請求項7】前記複数のプロセスの各々は、プロセス内
の又は複数のプロセス相互間の通信を管理するためのメ
ッセージ・ディスパッチャを含み、該メッセージ・ディ
スパッチャは前記オブジェクト・ディスパッチャ・プロ
セスへの通信パスを有することを特徴とする請求項6に
記載の方法。 - 【請求項8】1つのプロセスに対する前記メッセージ・
ディスパッチャは、該プロセス内のすべてのオブジェク
ト及び該プロセスへの通信パスを有する他のプロセスに
おけるすべてのオブジェクトのリストを持つデータ構造
を維持することを特徴とする請求項7に記載の方法。 - 【請求項9】複数のプロセスを含む多重タスク処理オペ
レーティング・システムを有し、前記複数のプロセス内
で実行中の複数のオブジェクト相互間の通信を行うデー
タ処理システムであって、 オブジェクト・ディスパッチャ・プロセスによるオブジ
ェクトの起動に応答して、オブジェクト・ディスパッチ
ャ・プロセスを使用して該オブジェクトを登録する手段
であって、該オブジェクト・ディスパッチャ・プロセス
は該オブジェクト・ディスパッチャ・プロセスに登録さ
れた前記複数のプロセス内のすべてのオブジェクトを監
視するものであるものと、 前記複数のプロセスにおける第1のオブジェクトが前記
オブジェクト・ディスパッチャ・プロセスに登録されて
いるかどうかを、前記複数のプロセスにおける第2のオ
ブジェクトからの、前記第1のオブジェクトへメッセー
ジを送る要求に応答して決定する手段と、 前記第1のオブジェクトが登録されてないとき、前記複
数のプロセス内の前記第1のオブジェクトに対するクラ
スを含むプロセスを捜すために前記複数のプロセスを自
動的にサーチし、前記クラスを含むプロセスが存在する
とき、前記クラスを含む前記第1のプロセス内の前記第
1のオブジェクトの起動を自動的に開始する手段と、 前記第1のオブジェクトに対するクラスを含むプロセス
を、前記第2のオブジェクトを含む第2のプロセスにバ
インドすることにより、前記クラスを含むプロセスと前
記第2のプロセスとの間に通信パスを設定する手段と、 前記設定された通信パスを介して、前記第2のプロセス
における前記第2のオブジェクトから、前記クラスを含
むプロセスにおける前記第1のオブジェクトに前記メッ
セージを送る手段とより成り、以て、前記第1のオブジ
ェクトと前記第2のオブジェクトとの間の通信が自動的
に設定されることを特徴とするデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/957,339 US5396630A (en) | 1992-10-06 | 1992-10-06 | Method and system for object management across process boundries in a data processing system |
US957339 | 1992-10-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07141206A JPH07141206A (ja) | 1995-06-02 |
JP2572531B2 true JP2572531B2 (ja) | 1997-01-16 |
Family
ID=25499442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5220511A Expired - Lifetime JP2572531B2 (ja) | 1992-10-06 | 1993-08-13 | プロセス境界にまたがってオブジェクト間の通信を行う方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5396630A (ja) |
EP (1) | EP0592091A2 (ja) |
JP (1) | JP2572531B2 (ja) |
CA (1) | CA2098417C (ja) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5336507A (en) * | 1992-12-11 | 1994-08-09 | Sterling Winthrop Inc. | Use of charged phospholipids to reduce nanoparticle aggregation |
US5603031A (en) * | 1993-07-08 | 1997-02-11 | General Magic, Inc. | System and method for distributed computation based upon the movement, execution, and interaction of processes in a network |
WO1995003574A1 (en) * | 1993-07-19 | 1995-02-02 | Taligent, Inc. | Dynamic linking system |
US5548726A (en) * | 1993-12-17 | 1996-08-20 | Taligeni, Inc. | System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node |
US6330582B1 (en) * | 1994-03-21 | 2001-12-11 | International Business Machines Corporation | Apparatus and method enabling a client to control transaction message traffic between server and client processes |
DE59508793D1 (de) * | 1994-08-31 | 2000-11-23 | Siemens Ag | Verfahren zur Verwaltung dynamischer Objekte in einer objektorientiert programmierten Einrichtung |
WO1996010787A1 (en) * | 1994-10-04 | 1996-04-11 | Banctec, Inc. | An object-oriented computer environment and related method |
US5678007A (en) * | 1994-11-22 | 1997-10-14 | Microsoft Corporation | Method and apparatus for supporting multiple outstanding network requests on a single connection |
US5630757A (en) * | 1994-11-29 | 1997-05-20 | Net Game Limited | Real-time multi-user game communication system using existing cable television infrastructure |
US6466992B2 (en) * | 1994-12-07 | 2002-10-15 | Next Computer, Inc. | Method for providing stand-in objects |
EP0733971A3 (en) * | 1995-03-22 | 1999-07-07 | Sun Microsystems, Inc. | Method and apparatus for managing connections for communication among objects in a distributed object system |
US5802291A (en) * | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
EP0735472A3 (en) * | 1995-03-31 | 2000-01-19 | Sun Microsystems, Inc. | Method and apparatus for conspiracy among objects |
US5727203A (en) * | 1995-03-31 | 1998-03-10 | Sun Microsystems, Inc. | Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache |
JPH08297573A (ja) * | 1995-04-27 | 1996-11-12 | Fujitsu Ltd | オブジェクトデータ処理装置 |
US6539435B2 (en) * | 1995-06-21 | 2003-03-25 | International Business Machines Corporation | System and method for establishing direct communication between parallel programs |
US5892946A (en) * | 1995-09-12 | 1999-04-06 | Alcatel Usa, Inc. | System and method for multi-site distributed object management environment |
US5925108A (en) * | 1995-11-03 | 1999-07-20 | Novell, Inc. | Event notification in a computer system |
CA2199108C (en) * | 1996-03-05 | 2002-04-23 | Hirotoshi Maegawa | Parallel distributed processing system and method of same |
US6113649A (en) * | 1996-03-27 | 2000-09-05 | International Business Machines Corporation | Object representation of program and script components |
US6091895A (en) * | 1996-03-27 | 2000-07-18 | International Business Machines Corporation | Object oriented central maintenance for programs and scripts |
US5848272A (en) * | 1996-06-04 | 1998-12-08 | Lucent Technologies Inc. | Object-oriented intra-process messaging arrangement for windows environments |
WO1998002823A2 (en) * | 1996-07-12 | 1998-01-22 | Sofmap Future Design Co., Ltd. | Program modules and parameter files in a network |
US5974469A (en) * | 1996-07-12 | 1999-10-26 | Sofmap Future Design, Inc. | System for managing communication between program modules |
US6031527A (en) * | 1996-07-12 | 2000-02-29 | Sofmap Future Design, Inc. | Methods and systems for developing computer applications |
US5877761A (en) * | 1996-07-12 | 1999-03-02 | Sofmap Future Design, Inc. | Method for smooth scrolling of text using window |
US5991536A (en) * | 1996-11-12 | 1999-11-23 | International Business Machines Corporation | Object-oriented tool for registering objects for observation and causing notifications to be made in the event changes are made to an object which is being observed |
US6119173A (en) * | 1997-01-27 | 2000-09-12 | Alcatel Usa Sourcing, L.P. | System and method for communications and process management in a distributed telecommunications switch |
US6286050B1 (en) | 1997-01-27 | 2001-09-04 | Alcatel Usa Sourcing, L.P. | System and method for monitoring and management of telecommunications equipment using enhanced internet access |
US6601111B1 (en) * | 1997-01-29 | 2003-07-29 | Palmsource, Inc. | Method and apparatus for unified external and interprocess communication |
JPH10232780A (ja) * | 1997-02-19 | 1998-09-02 | Hitachi Ltd | インタフェース定義記述の変換方法およびオブジェクト間通信方法 |
US6282581B1 (en) * | 1997-03-27 | 2001-08-28 | Hewlett-Packard Company | Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment |
GB9706400D0 (en) * | 1997-03-27 | 1997-05-14 | British Telecomm | Distributed computing |
US6742050B1 (en) | 1997-03-31 | 2004-05-25 | Intel Corporation | Inter-object messaging |
US6834389B1 (en) * | 1997-12-01 | 2004-12-21 | Recursion Software, Inc. | Method of forwarding messages to mobile objects in a computer network |
US6385661B1 (en) * | 1998-10-19 | 2002-05-07 | Recursion Software, Inc. | System and method for dynamic generation of remote proxies |
US6163794A (en) | 1998-10-23 | 2000-12-19 | General Magic | Network system extensible by users |
EP1041485A1 (en) * | 1999-03-31 | 2000-10-04 | Sony Service Center (Europe) N.V. | Object with polymorphism |
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 |
US6516358B1 (en) * | 1999-09-09 | 2003-02-04 | Hewlett-Packard Company | Appliance communications manager |
US6862629B1 (en) * | 1999-10-21 | 2005-03-01 | International Business Machines Corporation | Method and system for dispatching socks traffic based on socks connection identified by source address, application address and application level protocol |
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 |
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 |
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 |
US6947965B2 (en) | 1999-11-30 | 2005-09-20 | Recursion Software, Inc. | System and method for communications in a distributed computing environment |
US6678743B1 (en) | 1999-11-30 | 2004-01-13 | Recursion Software, Inc. | Method for moving objects in a distributed computing environment |
US9047102B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Instant remote rendering |
US8966379B2 (en) | 2010-10-01 | 2015-02-24 | Z124 | Dynamic cross-environment application configuration/orientation in an active user environment |
US8819705B2 (en) | 2010-10-01 | 2014-08-26 | Z124 | User interaction support across cross-environment applications |
US8726294B2 (en) | 2010-10-01 | 2014-05-13 | Z124 | Cross-environment communication using application space API |
US8933949B2 (en) | 2010-10-01 | 2015-01-13 | Z124 | User interaction across cross-environment applications through an extended graphics context |
US9152582B2 (en) | 2010-10-01 | 2015-10-06 | Z124 | Auto-configuration of a docked system in a multi-OS environment |
US20030050813A1 (en) * | 2001-09-11 | 2003-03-13 | International Business Machines Corporation | Method and apparatus for automatic transitioning between states in a state machine that manages a business process |
US20030050886A1 (en) * | 2001-09-11 | 2003-03-13 | International Business Machines Corporation | Method and apparatus for managing the versioning of business objects using a state machine |
US7689435B2 (en) * | 2001-09-11 | 2010-03-30 | International Business Machines Corporation | Method and apparatus for creating and managing complex business processes |
US7627484B2 (en) * | 2001-09-11 | 2009-12-01 | International Business Machines Corporation | Method and apparatus for managing and displaying user authorizations for a business process managed using a state machine |
US20030050789A1 (en) * | 2001-09-12 | 2003-03-13 | International Business Machines Corporation | Method and apparatus for monitoring execution of a business process managed using a state machine |
US20030147383A1 (en) * | 2001-09-26 | 2003-08-07 | Karen Capers | Object communication services software development system and methods |
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 |
US7124414B2 (en) * | 2002-10-31 | 2006-10-17 | International Business Machines Corporation | Method, system and program product for routing requests in a distributed system |
US7627871B2 (en) * | 2004-06-14 | 2009-12-01 | Alcatel-Lucent Usa Inc. | Instructing management support software of a first software component to set up a communication channel between the first software component and a second software component |
US20080114627A1 (en) * | 2006-11-15 | 2008-05-15 | Sap Ag | System and Method for Capturing Process Instance Information in Complex or Distributed Systems |
US9176761B2 (en) * | 2009-05-29 | 2015-11-03 | Red Hat, Inc. | Management of mainframe resources in pre-boot environment |
CN103229156B (zh) * | 2010-10-01 | 2016-08-10 | Flex Electronics ID Co.,Ltd. | 多操作系统环境中的对接系统的自动配置 |
US9052800B2 (en) | 2010-10-01 | 2015-06-09 | Z124 | User interface with stacked application management |
US8761831B2 (en) | 2010-10-15 | 2014-06-24 | Z124 | Mirrored remote peripheral interface |
US8842057B2 (en) | 2011-09-27 | 2014-09-23 | Z124 | Detail on triggers: transitional states |
US11196737B2 (en) | 2019-04-30 | 2021-12-07 | Bank Of America Corporation | System for secondary authentication via contactless distribution of dynamic resources |
US11234235B2 (en) | 2019-04-30 | 2022-01-25 | Bank Of America Corporation | Resource distribution hub generation on a mobile device |
US10998937B2 (en) | 2019-04-30 | 2021-05-04 | Bank Of America Corporation | Embedded tag for resource distribution |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4575797A (en) * | 1981-05-22 | 1986-03-11 | Data General Corporation | Digital data processing system incorporating object-based addressing and capable of executing instructions belonging to several instruction sets |
JPH06105435B2 (ja) * | 1985-10-25 | 1994-12-21 | 株式会社日立製作所 | 情報処理装置による記憶管理機構 |
NL8600028A (nl) * | 1986-01-09 | 1987-08-03 | Philips Nv | Werkwijze en inrichting voor het sorteren van objekten die voorzien zijn van een parameter, volgens de waarde van deze parameter. |
US4885717A (en) * | 1986-09-25 | 1989-12-05 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs |
JPS647231A (en) * | 1987-06-30 | 1989-01-11 | Toshiba Corp | Parallel processing device for object directional system |
US5261080A (en) * | 1987-08-21 | 1993-11-09 | Wang Laboratories, Inc. | Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats |
US5226161A (en) * | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
US5079695A (en) * | 1988-04-25 | 1992-01-07 | Hewlett-Packard Company | Object management facility which includes a snapshot facility for providing data transfer between two objects |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5058185A (en) * | 1988-06-27 | 1991-10-15 | International Business Machines Corporation | Object management and delivery system having multiple object-resolution capability |
US4937760A (en) * | 1988-09-19 | 1990-06-26 | International Business Machines Corporation | Method for sharing common values implicitly among communicating generative objects |
US4989132A (en) * | 1988-10-24 | 1991-01-29 | Eastman Kodak Company | Object-oriented, logic, and database programming tool with garbage collection |
US5129084A (en) * | 1989-06-29 | 1992-07-07 | Digital Equipment Corporation | Object container transfer system and method in an object based computer operating system |
US5057996A (en) * | 1989-06-29 | 1991-10-15 | Digital Equipment Corporation | Waitable object creation system and method in an object based computer operating system |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
US5313629A (en) * | 1989-10-23 | 1994-05-17 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together |
US5093914A (en) * | 1989-12-15 | 1992-03-03 | At&T Bell Laboratories | Method of controlling the execution of object-oriented programs |
US5157777A (en) * | 1989-12-22 | 1992-10-20 | Intel Corporation | Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism |
US5075845A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Type management and control in an object oriented memory protection mechanism |
AU628264B2 (en) * | 1990-08-14 | 1992-09-10 | Oracle International Corporation | Methods and apparatus for providing a client interface to an object-oriented invocation of an application |
US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
JPH04182739A (ja) * | 1990-11-16 | 1992-06-30 | Toshiba Corp | オブジェクト間のメッセージ通信方式 |
EP0501610B1 (en) * | 1991-02-25 | 1999-03-17 | Hewlett-Packard Company | Object oriented distributed computing system |
US5303375A (en) * | 1991-04-26 | 1994-04-12 | Hewlett-Packard Company | System and method for facilitating selection of running functional process in object-oriented environments |
US5287447A (en) * | 1991-06-28 | 1994-02-15 | International Business Machines Corporation | Method and system for providing container object attributes to a non-container object |
-
1992
- 1992-10-06 US US07/957,339 patent/US5396630A/en not_active Expired - Fee Related
-
1993
- 1993-06-15 CA CA002098417A patent/CA2098417C/en not_active Expired - Fee Related
- 1993-08-13 JP JP5220511A patent/JP2572531B2/ja not_active Expired - Lifetime
- 1993-08-19 EP EP93306582A patent/EP0592091A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0592091A3 (ja) | 1994-08-31 |
JPH07141206A (ja) | 1995-06-02 |
US5396630A (en) | 1995-03-07 |
CA2098417A1 (en) | 1994-04-07 |
CA2098417C (en) | 1998-12-29 |
EP0592091A2 (en) | 1994-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2572531B2 (ja) | プロセス境界にまたがってオブジェクト間の通信を行う方法及びシステム | |
US6374299B1 (en) | Enhanced scalable distributed network controller | |
US5748897A (en) | Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer | |
US6336147B1 (en) | Method and apparatus for managing connections for communication among objects in a distributed object system | |
US5280627A (en) | Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs | |
AU746391B2 (en) | Method and system for facilitating distributed software development in a distribution unaware manner | |
US6581088B1 (en) | Smart stub or enterprise javaTM bean in a distributed processing system | |
US6928457B2 (en) | Duplicated naming service in a distributed processing system | |
US5230051A (en) | Distributed messaging system and method | |
EP1149340B1 (en) | Clustered enterprise java tm in a secure distributed processing system | |
US5818448A (en) | Apparatus and method for identifying server computer aggregation topologies | |
US5341499A (en) | Method and apparatus for processing multiple file system server requests in a data processing network | |
US6636900B2 (en) | Method and apparatus for executing distributed objects over a network | |
US6557046B1 (en) | Method and system for providing an event system infrastructure | |
US20020112089A1 (en) | Method and system for supporting a system call and interprocess communication in a fault-tolerant,scalable distributed computer environment | |
EP0911732A2 (en) | A method, apparatus and program product for interfacing a multi-threaded- to a single-treaded application programmer interface | |
JPH11219342A (ja) | サーバからアラーム条件にアクセスする方法、装置、およびプログラム製品 | |
US6038664A (en) | Method for selecting communication access method for local area networks | |
EP0807884B1 (en) | Method and apparatus for disposing of objects in a multi-threaded environment | |
US6957427B1 (en) | Remote object activation in a distributed system | |
EP0812090B1 (en) | Method and apparatus for running a client computer without a server software | |
EP1088422B1 (en) | A telecommunication controller messaging system | |
US20040216126A1 (en) | Method, system, and article of manufacture for agent processing | |
US7454758B2 (en) | Inter-process communication on a computer | |
Alves et al. | RoCL: a resource oriented communication library |