JPH06332870A - オブジェクト指向コンピュータ環境における協調処理のためのオブジェクト・マネージャをリンクする方法及び装置 - Google Patents
オブジェクト指向コンピュータ環境における協調処理のためのオブジェクト・マネージャをリンクする方法及び装置Info
- Publication number
- JPH06332870A JPH06332870A JP6052411A JP5241194A JPH06332870A JP H06332870 A JPH06332870 A JP H06332870A JP 6052411 A JP6052411 A JP 6052411A JP 5241194 A JP5241194 A JP 5241194A JP H06332870 A JPH06332870 A JP H06332870A
- Authority
- JP
- Japan
- Prior art keywords
- objects
- oriented
- manager
- message
- action 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【目的】オブジェクトのカプセル化及び独立性を維持し
ながら、協調処理環境において動作しうるオブジェクト
指向コンピュータ環境を提供する。 【構成】異なるコンピュータ・プラットフォームにおけ
るオブジェクト・マネージャは相互に協調態様でコミュ
ニケートし、一方、データの独立性及びカプセル化とい
うオブジェクト指向特性を保持するリモート・プロシー
ジャ・コールを使用して、コンピュータ・プラットフォ
ーム上のオブジェクトが相互にコミュニケートすること
を可能にする。各オブジェクト・マネージャは、ローカ
ル・オブジェクトがリモート・メッセージに正常に応答
したかどうかを他のオブジェクト・マネージャに表示す
る。それによって、オブジェクト・マネージャは特定の
タスクの完了又は失敗に応答してシステムをコミット又
はロールバックすることにより、オブジェクト指向シス
テムの保全性を保持する。これは、それらタスクのうち
のいくつかがローカルのオブジェクト指向コンピュータ
環境の外で生じた場合でも可能である。
ながら、協調処理環境において動作しうるオブジェクト
指向コンピュータ環境を提供する。 【構成】異なるコンピュータ・プラットフォームにおけ
るオブジェクト・マネージャは相互に協調態様でコミュ
ニケートし、一方、データの独立性及びカプセル化とい
うオブジェクト指向特性を保持するリモート・プロシー
ジャ・コールを使用して、コンピュータ・プラットフォ
ーム上のオブジェクトが相互にコミュニケートすること
を可能にする。各オブジェクト・マネージャは、ローカ
ル・オブジェクトがリモート・メッセージに正常に応答
したかどうかを他のオブジェクト・マネージャに表示す
る。それによって、オブジェクト・マネージャは特定の
タスクの完了又は失敗に応答してシステムをコミット又
はロールバックすることにより、オブジェクト指向シス
テムの保全性を保持する。これは、それらタスクのうち
のいくつかがローカルのオブジェクト指向コンピュータ
環境の外で生じた場合でも可能である。
Description
【0001】
【産業上の利用分野】本発明はデータ処理システム及び
方法に関するものであり、更に詳しく言えば、オブジェ
クト指向コンピュータ・システム及び方法に関するもの
である。
方法に関するものであり、更に詳しく言えば、オブジェ
クト指向コンピュータ・システム及び方法に関するもの
である。
【0002】
【従来の技術】オブジェクト指向プログラミング・シス
テム及びプロセスは、「オブジェクト指向コンピュータ
環境」とも呼ばれ、データ処理環境の技術における調査
及び関心の主題であった。当業者には周知のように、オ
ブジェクト指向コンピュータ環境は多数のオブジェクト
から構成される。オブジェクトは、「フレーム」とも呼
ばれる1つのデータ構造であり、一組のオペレーション
又は機能は、そのデータ構造をアクセスできる「メソッ
ド」とも呼ばれる。フレームは多くの「スロット」を有
し、それらスロットの各々はデータの「アトリビュー
ト」をそのスロット内に含んでいる。アトリビュート
は、プリミティブ(整数又はストリングのような)又は
他のオブジェクトに対するポインタであるオブジェクト
参照符号でもよい。
テム及びプロセスは、「オブジェクト指向コンピュータ
環境」とも呼ばれ、データ処理環境の技術における調査
及び関心の主題であった。当業者には周知のように、オ
ブジェクト指向コンピュータ環境は多数のオブジェクト
から構成される。オブジェクトは、「フレーム」とも呼
ばれる1つのデータ構造であり、一組のオペレーション
又は機能は、そのデータ構造をアクセスできる「メソッ
ド」とも呼ばれる。フレームは多くの「スロット」を有
し、それらスロットの各々はデータの「アトリビュー
ト」をそのスロット内に含んでいる。アトリビュート
は、プリミティブ(整数又はストリングのような)又は
他のオブジェクトに対するポインタであるオブジェクト
参照符号でもよい。
【0003】各定義されたオブジェクトは、通常、多数
の「インスタンス」で明示されることになる。各インス
タンスは、オブジェクトの特定の例に対する特定のデー
タ構造を含んでいる。1つのオブジェクトの各インスタ
ンスは、1つの割り当てられた「インスタンス識別子」
によって識別可能である。オブジェクト指向コンピュー
タ環境では、データは、1つのオブジェクトのインスタ
ンス及びそのオブジェクトのメソッドを命名する「メッ
セージ」をオブジェクトに送ることによってそのメソッ
ドの1つを遂行するようそのオブジェクトに要求するこ
とにより処理される。受信オブジェクトは、そのメッセ
ージ名を使用するメソッドを選択すること、その命名さ
れたインスタンスに関してこのメソッドを実行するこ
と、及びそのメソッドの結果と共に呼出機構に制御を戻
すことによってそのメッセージに応答する。メッセージ
の送信及び受信は、典型的には、オブジェクト・マネー
ジャによって制御される。
の「インスタンス」で明示されることになる。各インス
タンスは、オブジェクトの特定の例に対する特定のデー
タ構造を含んでいる。1つのオブジェクトの各インスタ
ンスは、1つの割り当てられた「インスタンス識別子」
によって識別可能である。オブジェクト指向コンピュー
タ環境では、データは、1つのオブジェクトのインスタ
ンス及びそのオブジェクトのメソッドを命名する「メッ
セージ」をオブジェクトに送ることによってそのメソッ
ドの1つを遂行するようそのオブジェクトに要求するこ
とにより処理される。受信オブジェクトは、そのメッセ
ージ名を使用するメソッドを選択すること、その命名さ
れたインスタンスに関してこのメソッドを実行するこ
と、及びそのメソッドの結果と共に呼出機構に制御を戻
すことによってそのメッセージに応答する。メッセージ
の送信及び受信は、典型的には、オブジェクト・マネー
ジャによって制御される。
【0004】オブジェクト指向コンピュータ環境は、融
通性のある且つ再使用可能なプログラムが開発されるこ
とを可能にする2つの主要な特性を与える。これらの特
性は、「カプセル化(encapsulation)」
及び「継承(inheritance)」と呼ばれる。
前述のように、各オブジェクト・フレームは、そのフレ
ームへのすべてのアクセスがサラウンディング(sur
rounding)メソッドによって処理されるように
それのサラウンディング・メソッドによってカプセル化
される。オブジェクトのデータ構造がそのメソッドによ
ってのみアクセスされるため、データの独立性が与えら
れる。「継承」特性は、オブジェクトのスーパクラス及
びサブクラスを作成することによって、前に書かれたプ
ログラムを拡張することを可能にする。新しいオブジェ
クトは、新しいタイプのデータ又は機能を処理するため
に新しいプログラム全体を書く必要がないよう、それら
が既存のオブジェクトとどのくらい違っているかを記述
されなければならない。
通性のある且つ再使用可能なプログラムが開発されるこ
とを可能にする2つの主要な特性を与える。これらの特
性は、「カプセル化(encapsulation)」
及び「継承(inheritance)」と呼ばれる。
前述のように、各オブジェクト・フレームは、そのフレ
ームへのすべてのアクセスがサラウンディング(sur
rounding)メソッドによって処理されるように
それのサラウンディング・メソッドによってカプセル化
される。オブジェクトのデータ構造がそのメソッドによ
ってのみアクセスされるため、データの独立性が与えら
れる。「継承」特性は、オブジェクトのスーパクラス及
びサブクラスを作成することによって、前に書かれたプ
ログラムを拡張することを可能にする。新しいオブジェ
クトは、新しいタイプのデータ又は機能を処理するため
に新しいプログラム全体を書く必要がないよう、それら
が既存のオブジェクトとどのくらい違っているかを記述
されなければならない。
【0005】複雑なデータ処理タスクを遂行するために
オブジェクト指向コンピュータ環境が益々使用されるよ
うになるにつれて、第1のオブジェクト指向コンピュー
タ環境におけるオブジェクトが第2のオブジェクト指向
コンピュータ環境におけるオブジェクトと対話すること
を可能にすることが望まれるようになってきた。従っ
て、例えば、第1のオブジェクト指向コンピュータ環境
がクライアント・コンピュータに位置づけられ、一方、
第2のオブジェクト指向コンピュータ環境がサーバ・コ
ンピュータに位置づけられる。この状況では、クライア
ントにおけるオブジェクトがサーバにおけるオブジェク
トをアクセスすることを可能にし、サーバにおけるオブ
ジェクトが全体の計算タスクの一部分としてクライアン
トにおけるオブジェクトをアクセスすることを可能にす
ることが望ましい。
オブジェクト指向コンピュータ環境が益々使用されるよ
うになるにつれて、第1のオブジェクト指向コンピュー
タ環境におけるオブジェクトが第2のオブジェクト指向
コンピュータ環境におけるオブジェクトと対話すること
を可能にすることが望まれるようになってきた。従っ
て、例えば、第1のオブジェクト指向コンピュータ環境
がクライアント・コンピュータに位置づけられ、一方、
第2のオブジェクト指向コンピュータ環境がサーバ・コ
ンピュータに位置づけられる。この状況では、クライア
ントにおけるオブジェクトがサーバにおけるオブジェク
トをアクセスすることを可能にし、サーバにおけるオブ
ジェクトが全体の計算タスクの一部分としてクライアン
トにおけるオブジェクトをアクセスすることを可能にす
ることが望ましい。
【0006】この対話を可能にするために、オブジェク
ト指向コンピュータ環境には「リモート・プロシージャ
・コール」機構が設けられる。リモート・プロシージャ
・コールでは、各オブジェクト指向コンピュータ環境の
オブジェクト・マネージャにクライアント・スタブ及び
サーバ・スタブが設けられる。クライアント・スタブ
は、それ自身のオブジェクト指向コンピュータ環境の外
にあるオブジェクトにメッセージが送られるかどうかを
決定する。それが肯定される場合、クライアント・スタ
ブは、コミュニケーション・ネットワークを介してその
オブジェクト指向コンピュータ環境に送信するためにこ
のメッセージをパッケージする。リモート・オブジェク
ト指向コンピュータ環境では、サーバ・スタブがこのメ
ッセージを受信し、そしてリモート・オブジェクト指向
コンピュータ環境におけるオブジェクトが使用できるよ
うにそのメッセージを再形成する。
ト指向コンピュータ環境には「リモート・プロシージャ
・コール」機構が設けられる。リモート・プロシージャ
・コールでは、各オブジェクト指向コンピュータ環境の
オブジェクト・マネージャにクライアント・スタブ及び
サーバ・スタブが設けられる。クライアント・スタブ
は、それ自身のオブジェクト指向コンピュータ環境の外
にあるオブジェクトにメッセージが送られるかどうかを
決定する。それが肯定される場合、クライアント・スタ
ブは、コミュニケーション・ネットワークを介してその
オブジェクト指向コンピュータ環境に送信するためにこ
のメッセージをパッケージする。リモート・オブジェク
ト指向コンピュータ環境では、サーバ・スタブがこのメ
ッセージを受信し、そしてリモート・オブジェクト指向
コンピュータ環境におけるオブジェクトが使用できるよ
うにそのメッセージを再形成する。
【0007】処理の後、サーバ・スタブはその処理され
たデータをパッケージし、コミュニケーション・ネット
ワークを介して元のオブジェクト指向コンピュータ環境
に戻す。クライアント・スタブはこのメッセージをアン
パッケージし、それを要求オブジェクトに与える。従っ
て、そのメッセージを送る元の環境におけるオブジェク
トは、そのメッセージがリモートの環境におけるオブジ
ェクトによって処理されていることを知らない。同様
に、メッセージを処理するリモートの環境におけるオブ
ジェクトは、そのメッセージがリモートの元の環境から
生じたことを知らない。従って、送信オブジェクト及び
受信オブジェクトともそれぞれ受信オブジェクト及び送
信オブジェクトの内部データ構造又はメソッドを知らな
いため、カプセル化の基本的なオブジェクト指向特性が
保全される。
たデータをパッケージし、コミュニケーション・ネット
ワークを介して元のオブジェクト指向コンピュータ環境
に戻す。クライアント・スタブはこのメッセージをアン
パッケージし、それを要求オブジェクトに与える。従っ
て、そのメッセージを送る元の環境におけるオブジェク
トは、そのメッセージがリモートの環境におけるオブジ
ェクトによって処理されていることを知らない。同様
に、メッセージを処理するリモートの環境におけるオブ
ジェクトは、そのメッセージがリモートの元の環境から
生じたことを知らない。従って、送信オブジェクト及び
受信オブジェクトともそれぞれ受信オブジェクト及び送
信オブジェクトの内部データ構造又はメソッドを知らな
いため、カプセル化の基本的なオブジェクト指向特性が
保全される。
【0008】大きな又は複雑な処理タスクに適応するた
めに、オブジェクト指向コンピュータ環境では協調(c
ooperative)処理も使用される。協調処理で
は、2つ又はそれ以上の計算プラットフォームが1つの
タスクを達成するために協調する。機能及びアプリケー
ションは2つ又はそれ以上に分けられ、異なるコンピュ
ータ・プラットフォームで実行される。
めに、オブジェクト指向コンピュータ環境では協調(c
ooperative)処理も使用される。協調処理で
は、2つ又はそれ以上の計算プラットフォームが1つの
タスクを達成するために協調する。機能及びアプリケー
ションは2つ又はそれ以上に分けられ、異なるコンピュ
ータ・プラットフォームで実行される。
【0009】1つのオブジェクト指向コンピュータ環境
における協調処理を可能にするためのインターフェース
及びプロトコルが設計されている。これについては、本
願の出願人によって1991年12月に発行された De
ckers 他著の「CooperativeProcessing In An Object-O
riented Environment」(ドキュメント番号 GC24-3801-
00)を参照してほしい。しかし、いくつかの点で、協調
処理はオブジェクト指向のシナリオとは対照的である。
例えば、上述のように、単一の又は複数の計算環境にお
けるオブジェクト指向システムは、各オブジェクトが他
の如何なるオブジェクトの内部作業についての知識も持
つことを必要としない。従って、ローカル・プロシージ
ャ・コール又はリモート・プロシージャ・コールは、発
呼オブジェクトが被呼オブジェクトの内部メソッド又は
データについて何も知る必要がない。
における協調処理を可能にするためのインターフェース
及びプロトコルが設計されている。これについては、本
願の出願人によって1991年12月に発行された De
ckers 他著の「CooperativeProcessing In An Object-O
riented Environment」(ドキュメント番号 GC24-3801-
00)を参照してほしい。しかし、いくつかの点で、協調
処理はオブジェクト指向のシナリオとは対照的である。
例えば、上述のように、単一の又は複数の計算環境にお
けるオブジェクト指向システムは、各オブジェクトが他
の如何なるオブジェクトの内部作業についての知識も持
つことを必要としない。従って、ローカル・プロシージ
ャ・コール又はリモート・プロシージャ・コールは、発
呼オブジェクトが被呼オブジェクトの内部メソッド又は
データについて何も知る必要がない。
【0010】対照的に、複数のタスクが分割されそして
1つのタスクの処理がタスクの結果を早く知る必要があ
る協調環境では、システム境界にまたがってオブジェク
トを知ることが必要である。この知る必要性は、カプセ
ル化の重要な特性を損なうものである。従って、協調処
理の調整は、オブジェクト指向コンピュータ環境におけ
るオブジェクトのカプセル化及び独立性の真の概念を損
なうことがある。
1つのタスクの処理がタスクの結果を早く知る必要があ
る協調環境では、システム境界にまたがってオブジェク
トを知ることが必要である。この知る必要性は、カプセ
ル化の重要な特性を損なうものである。従って、協調処
理の調整は、オブジェクト指向コンピュータ環境におけ
るオブジェクトのカプセル化及び独立性の真の概念を損
なうことがある。
【0011】
【発明が解決しようとする課題】従って、本発明の目的
は、改良されたオブジェクト指向コンピュータ環境を提
供することにある。
は、改良されたオブジェクト指向コンピュータ環境を提
供することにある。
【0012】本発明のもう1つの目的は、オブジェクト
・カプセル化及び独立性を維持しながら協調処理環境に
おいて動作し得るオブジェクト指向コンピュータ環境を
提供することにある。
・カプセル化及び独立性を維持しながら協調処理環境に
おいて動作し得るオブジェクト指向コンピュータ環境を
提供することにある。
【0013】
【課題を解決するための手段】これらの目的は、前述の
ように、データの独立性及びカプセル化のオブジェクト
指向特性を保全するリモート・プロシージャ・コールを
使用して、コンピュータ環境におけるオブジェクトが相
互にコミュニケートすることを可能にしながら、各コン
ピュータ・プラットフォームにおけるオブジェクト・マ
ネージャが協調態様で相互にコミュニケートすることを
可能にすることによって、本発明に従って達成される。
ように、データの独立性及びカプセル化のオブジェクト
指向特性を保全するリモート・プロシージャ・コールを
使用して、コンピュータ環境におけるオブジェクトが相
互にコミュニケートすることを可能にしながら、各コン
ピュータ・プラットフォームにおけるオブジェクト・マ
ネージャが協調態様で相互にコミュニケートすることを
可能にすることによって、本発明に従って達成される。
【0014】更に詳しく言えば、本発明によるオブジェ
クト指向協調データ処理システムは、第1のコンピュー
タ・プラットフォームにおいて実行する第1のオブジェ
クト指向コンピュータ環境を含んでいる。第1のオブジ
ェクト指向コンピュータ環境は、複数の第1オブジェク
ト及び1つの第1オブジェクト・マネージャを含んでい
る。同様に、第2のコンピュータ・プラットフォームに
おいて実行する第2のオブジェクト指向コンピュータ環
境は複数の第2オブジェクト及びその第2オブジェクト
に対する1つの第2オブジェクト・マネージャを含んで
いる。第1のコンピュータ環境と第2のコンピュータ環
境とを接続するために、コミュニケーション・ネットワ
ーク又は他の既知の手段が使用される。
クト指向協調データ処理システムは、第1のコンピュー
タ・プラットフォームにおいて実行する第1のオブジェ
クト指向コンピュータ環境を含んでいる。第1のオブジ
ェクト指向コンピュータ環境は、複数の第1オブジェク
ト及び1つの第1オブジェクト・マネージャを含んでい
る。同様に、第2のコンピュータ・プラットフォームに
おいて実行する第2のオブジェクト指向コンピュータ環
境は複数の第2オブジェクト及びその第2オブジェクト
に対する1つの第2オブジェクト・マネージャを含んで
いる。第1のコンピュータ環境と第2のコンピュータ環
境とを接続するために、コミュニケーション・ネットワ
ーク又は他の既知の手段が使用される。
【0015】本発明によれば、第1オブジェクト・マネ
ージャは、第1オブジェクトが第2オブジェクトからの
メッセージを首尾良く遂行したかどうかを表わし、第2
オブジェクトが第1オブジェクトからのメッセージを首
尾良く遂行したかどうかの標識を第2オブジェクト・マ
ネージャから受け取る。同様に、第2オブジェクト・マ
ネージャは、第2オブジェクトが第1オブジェクトから
のメッセージを首尾良く遂行したかどうかを第1オブジ
ェクト・マネージャに表示し、第1オブジェクトが第2
オブジェクトからのメッセージを首尾良く遂行したかど
うかの標識を第1オブジェクト・マネージャから受け取
る。その標識を、「成功完了コード」又は首尾良い遂行
の欠如を表わす「エラー・コード」によって与えること
ができることは当業者には明らかであろう。
ージャは、第1オブジェクトが第2オブジェクトからの
メッセージを首尾良く遂行したかどうかを表わし、第2
オブジェクトが第1オブジェクトからのメッセージを首
尾良く遂行したかどうかの標識を第2オブジェクト・マ
ネージャから受け取る。同様に、第2オブジェクト・マ
ネージャは、第2オブジェクトが第1オブジェクトから
のメッセージを首尾良く遂行したかどうかを第1オブジ
ェクト・マネージャに表示し、第1オブジェクトが第2
オブジェクトからのメッセージを首尾良く遂行したかど
うかの標識を第1オブジェクト・マネージャから受け取
る。その標識を、「成功完了コード」又は首尾良い遂行
の欠如を表わす「エラー・コード」によって与えること
ができることは当業者には明らかであろう。
【0016】従って、協調処理アプリケーションのデー
タ保全性を保持するために、協調処理の結果としてリモ
ート・オブジェクトによるメソッドのパフォーマンスが
ローカル・オブジェクト・マネージャにとって重要であ
る時、ローカル・オブジェクト・マネージャは、たとえ
ローカル・オブジェクトそのものがリモート・オブジェ
クトによる首尾良い遂行を知らなくても、この首尾良い
遂行を知るであろう。それにより、元のオブジェクト・
マネージャは、たとえ特殊タスクのうちのいくつかがそ
のオブジェクト指向コンピュータ環境の外で生じたとし
ても、それらタスクを完成するためにそれらタスクの完
成又は失敗に応答してオブジェクト指向システムをコミ
ット又はロール・バックすることによってそのシステム
の保全性を保持できる。それにより、協調データ処理
は、カプセル化及びデータ独立性の基本的なオブジェク
ト指向特性に衝撃を与えることなく行われる。
タ保全性を保持するために、協調処理の結果としてリモ
ート・オブジェクトによるメソッドのパフォーマンスが
ローカル・オブジェクト・マネージャにとって重要であ
る時、ローカル・オブジェクト・マネージャは、たとえ
ローカル・オブジェクトそのものがリモート・オブジェ
クトによる首尾良い遂行を知らなくても、この首尾良い
遂行を知るであろう。それにより、元のオブジェクト・
マネージャは、たとえ特殊タスクのうちのいくつかがそ
のオブジェクト指向コンピュータ環境の外で生じたとし
ても、それらタスクを完成するためにそれらタスクの完
成又は失敗に応答してオブジェクト指向システムをコミ
ット又はロール・バックすることによってそのシステム
の保全性を保持できる。それにより、協調データ処理
は、カプセル化及びデータ独立性の基本的なオブジェク
ト指向特性に衝撃を与えることなく行われる。
【0017】本発明によるオブジェクト指向協調データ
処理システムの特定の実施は、第1のコンピュータ・プ
ラットフォームにおける複数の第1オブジェクト相互間
のアクション・メッセージを管理するための手段を含む
第1ローカル・オブジェクト・マネージャを第1のコン
ピュータ・プラットフォーム上に含んでいる。同様に、
第2のオブジェクト指向コンピュータ環境は、複数の第
2オブジェクト及び第2ローカル・オブジェクト・マネ
ージャを含み、その第2オブジェクト・マネージャは、
複数の第2オブジェクト相互間のアクション・メッセー
ジを管理するための手段を含んでいる。第1のオブジェ
クト指向コンピュータ環境は、更に、第2のコンピュー
タ・プラットフォームにおける第2オブジェクトの1つ
に向けられた第1オブジェクトの1つからの第1アクシ
ョン・メッセージを識別するためのクライアント・スタ
ブ、及びクライアント・スタブに応答して第1アクショ
ン・メッセージを特定の第2オブジェクトに送るための
第1対話サーバを含んでいる。
処理システムの特定の実施は、第1のコンピュータ・プ
ラットフォームにおける複数の第1オブジェクト相互間
のアクション・メッセージを管理するための手段を含む
第1ローカル・オブジェクト・マネージャを第1のコン
ピュータ・プラットフォーム上に含んでいる。同様に、
第2のオブジェクト指向コンピュータ環境は、複数の第
2オブジェクト及び第2ローカル・オブジェクト・マネ
ージャを含み、その第2オブジェクト・マネージャは、
複数の第2オブジェクト相互間のアクション・メッセー
ジを管理するための手段を含んでいる。第1のオブジェ
クト指向コンピュータ環境は、更に、第2のコンピュー
タ・プラットフォームにおける第2オブジェクトの1つ
に向けられた第1オブジェクトの1つからの第1アクシ
ョン・メッセージを識別するためのクライアント・スタ
ブ、及びクライアント・スタブに応答して第1アクショ
ン・メッセージを特定の第2オブジェクトに送るための
第1対話サーバを含んでいる。
【0018】第2のオブジェクト指向コンピュータ環境
は、特定の第2オブジェクトが第1アクション・メッセ
ージを首尾良く遂行したかどうかを決定し且つ第2オブ
ジェクトが第1アクション・メッセージを首尾良く遂行
したことの標識を第1ローカル・オブジェクト・マネー
ジャに与えるための第2対話サーバを含んでいる。同様
に、第2のオブジェクト指向コンピュータ環境は、第1
オブジェクトの1つに向けられた第2オブジェクトの1
つからの第2アクション・メッセージを識別するための
第2クライアント・スタブを含んでいる。
は、特定の第2オブジェクトが第1アクション・メッセ
ージを首尾良く遂行したかどうかを決定し且つ第2オブ
ジェクトが第1アクション・メッセージを首尾良く遂行
したことの標識を第1ローカル・オブジェクト・マネー
ジャに与えるための第2対話サーバを含んでいる。同様
に、第2のオブジェクト指向コンピュータ環境は、第1
オブジェクトの1つに向けられた第2オブジェクトの1
つからの第2アクション・メッセージを識別するための
第2クライアント・スタブを含んでいる。
【0019】第2対話サーバは、第2クライアント・ス
タブに応答して第2アクション・メッセージを第1オブ
ジェクトに送るためのものである。第1対話サーバも、
第1オブジェクトが第2アクション・メッセージを首尾
良く遂行したかどうかを決定し且つ第1オブジェクトが
第2アクション・メッセージを首尾良く遂行したことの
標識を第2ローカル・オブジェクト・マネージャに与え
るための手段を含んでいる。従って、各ローカル・オブ
ジェクト・マネージャは、その協調処理タスクの一部分
であるリモート・オブジェクトによる首尾良い遂行を認
識するようになり、リモート・タスクの完了又は完了失
敗に基づいてその協調処理を調整できる。
タブに応答して第2アクション・メッセージを第1オブ
ジェクトに送るためのものである。第1対話サーバも、
第1オブジェクトが第2アクション・メッセージを首尾
良く遂行したかどうかを決定し且つ第1オブジェクトが
第2アクション・メッセージを首尾良く遂行したことの
標識を第2ローカル・オブジェクト・マネージャに与え
るための手段を含んでいる。従って、各ローカル・オブ
ジェクト・マネージャは、その協調処理タスクの一部分
であるリモート・オブジェクトによる首尾良い遂行を認
識するようになり、リモート・タスクの完了又は完了失
敗に基づいてその協調処理を調整できる。
【0020】本発明の好ましい実施例では、各オブジェ
クト・マネージャは、選択されたオブジェクトに作業単
位を割り当てるための作業単位マネージャを含んでい
る。当業者には知られているように、作業単位は多数の
作業単位オブジェクト及び多数の作業単位インスタンス
を含むオブジェクト・クラスである。その作業単位は、
C又はパスカルのような伝統的な言語におけるように、
メモリ・ポインタを操作するよりもむしろオブジェクト
のセット及びオブジェクトに関するオペレーションによ
ってオブジェクト指向システムがメモリを操作し、更新
し、割り当て、及び廃棄することを可能にする。
クト・マネージャは、選択されたオブジェクトに作業単
位を割り当てるための作業単位マネージャを含んでい
る。当業者には知られているように、作業単位は多数の
作業単位オブジェクト及び多数の作業単位インスタンス
を含むオブジェクト・クラスである。その作業単位は、
C又はパスカルのような伝統的な言語におけるように、
メモリ・ポインタを操作するよりもむしろオブジェクト
のセット及びオブジェクトに関するオペレーションによ
ってオブジェクト指向システムがメモリを操作し、更新
し、割り当て、及び廃棄することを可能にする。
【0021】本発明によれば、第1オブジェクト・マネ
ージャは、更に、第1オブジェクトのうちの選択された
もの及び第2オブジェクトのうちの選択されたものを1
つの作業単位に割り当てるための手段より成り、標識を
与える手段は、第2オブジェクトが第1アクション・メ
ッセージを首尾良く遂行したかどうかの標識と共に第2
オブジェクトと関連した作業単位識別子を第1オブジェ
クト・マネージャに与える。同様に、第2オブジェクト
・マネージャは、第1オブジェクトのうちの選択された
もの及び第2オブジェクトのうちの選択されたものを1
つの作業単位に割り当てるための手段を含み、標識を与
える手段は、更に、第2オブジェクトが第1アクション
・メッセージを首尾良く遂行したかどうかの標識と共に
第2オブジェクトと関連した作業単位識別子を第2オブ
ジェクト・マネージャに与えるための手段より成る。従
って、作業単位は複数のコンピュータ・システムにまた
がって拡張されるが、元のシステムにおける作業単位マ
ネージャによって管理可能である。どちらの作業単位マ
ネージャも、作業単位インスタンスを生じることが可能
である。
ージャは、更に、第1オブジェクトのうちの選択された
もの及び第2オブジェクトのうちの選択されたものを1
つの作業単位に割り当てるための手段より成り、標識を
与える手段は、第2オブジェクトが第1アクション・メ
ッセージを首尾良く遂行したかどうかの標識と共に第2
オブジェクトと関連した作業単位識別子を第1オブジェ
クト・マネージャに与える。同様に、第2オブジェクト
・マネージャは、第1オブジェクトのうちの選択された
もの及び第2オブジェクトのうちの選択されたものを1
つの作業単位に割り当てるための手段を含み、標識を与
える手段は、更に、第2オブジェクトが第1アクション
・メッセージを首尾良く遂行したかどうかの標識と共に
第2オブジェクトと関連した作業単位識別子を第2オブ
ジェクト・マネージャに与えるための手段より成る。従
って、作業単位は複数のコンピュータ・システムにまた
がって拡張されるが、元のシステムにおける作業単位マ
ネージャによって管理可能である。どちらの作業単位マ
ネージャも、作業単位インスタンスを生じることが可能
である。
【0022】
【実施例】以下で、本発明の好ましい実施例が示された
添付図面を参照して、本発明を十分に説明する。しか
し、本発明は多くの形で実施可能であり、ここに示され
た実施例に限定して解釈されるべきではない。むしろ、
これら実施例は、開示を完全にするために及び当業者に
発明の範囲を十分に伝えるために与えられる。全体を通
して、同じ番号は同じ素子を参照する。
添付図面を参照して、本発明を十分に説明する。しか
し、本発明は多くの形で実施可能であり、ここに示され
た実施例に限定して解釈されるべきではない。むしろ、
これら実施例は、開示を完全にするために及び当業者に
発明の範囲を十分に伝えるために与えられる。全体を通
して、同じ番号は同じ素子を参照する。
【0023】本発明を説明する前に、オブジェクト指向
コンピュータ環境の概要を説明することにする。リモー
ト・プロシージャ・コールの概要の次に、作業単位処理
及び協調処理の概要が続く。そこで、本発明が概略的に
説明され、本発明による協調オブジェクト・マネージャ
のオペレーションを開示するための特殊な実施態様が与
えられる。
コンピュータ環境の概要を説明することにする。リモー
ト・プロシージャ・コールの概要の次に、作業単位処理
及び協調処理の概要が続く。そこで、本発明が概略的に
説明され、本発明による協調オブジェクト・マネージャ
のオペレーションを開示するための特殊な実施態様が与
えられる。
【0024】A.オブジェクト指向コンピュータ環境 オブジェクト指向コンピュータ環境では、作業は、デー
タを含むオブジェクトにアクション要求メッセージを送
ることによって達成される。オブジェクトは、その予め
定義されたメソッドに従って、データに関する要求され
たアクションを遂行する。オブジェクトは、データのタ
イプ及び意味を定義するオブジェクト・クラス、及びそ
のクラスにおけるオブジェクトが受けるであろうアクシ
ョン要求にグループ分けされる。データを含む個々のオ
ブジェクトは、オブジェクトの「インスタンス」と呼ば
れる。オブジェクト・クラスは、他のクラスのサブクラ
スであると定義される。サブクラスは、親クラスのデー
タ特性及びメソッドのすべてを継承する。それらは追加
のデータ及びメソッドを加えることができ、親クラスの
すべてのデータ素子又はメソッドをオーバライド又は再
定義できる。
タを含むオブジェクトにアクション要求メッセージを送
ることによって達成される。オブジェクトは、その予め
定義されたメソッドに従って、データに関する要求され
たアクションを遂行する。オブジェクトは、データのタ
イプ及び意味を定義するオブジェクト・クラス、及びそ
のクラスにおけるオブジェクトが受けるであろうアクシ
ョン要求にグループ分けされる。データを含む個々のオ
ブジェクトは、オブジェクトの「インスタンス」と呼ば
れる。オブジェクト・クラスは、他のクラスのサブクラ
スであると定義される。サブクラスは、親クラスのデー
タ特性及びメソッドのすべてを継承する。それらは追加
のデータ及びメソッドを加えることができ、親クラスの
すべてのデータ素子又はメソッドをオーバライド又は再
定義できる。
【0025】オブジェクト又はオブジェクト・クラス
は、典型的には、円形又は長円形で概略的に表わされ、
その円の中心はスロットを持ったフレーム(データ構
造)を含み、それらスロットの各々はそのスロット内に
データのアトリビュートを含む。円のセクタは、そのフ
レームをカプセル化するオブジェクトのメソッドを表わ
すために使用され、オブジェクト・インスタンスのフレ
ームにおけるカプセル化されたデータに関してアクショ
ンを遂行するために使用可能である。
は、典型的には、円形又は長円形で概略的に表わされ、
その円の中心はスロットを持ったフレーム(データ構
造)を含み、それらスロットの各々はそのスロット内に
データのアトリビュートを含む。円のセクタは、そのフ
レームをカプセル化するオブジェクトのメソッドを表わ
すために使用され、オブジェクト・インスタンスのフレ
ームにおけるカプセル化されたデータに関してアクショ
ンを遂行するために使用可能である。
【0026】図1を参照して、本発明が動作するハード
ウエア及びソフトウエア環境を説明する。図1に示され
るように、本発明はオブジェクト指向コンピュータ環境
における協調処理のためにオブジェクト・マネージャを
リンクする装置及びプロセスである。図示のように、オ
ブジェクト指向コンピュータ環境13a、13bはそれ
ぞれのコンピュータ・プラットフォーム14a、14b
上で動作する。コンピュータ・プラットフォーム14
a、14bの各々は、典型的には、中央処理装置(CP
U)17a、17b、メイン・メモリ18a、18b、
及び入出力(I/O)インターフェース19a、19b
のようなコンピュータ・ハードウエア16a、16bを
含み、ディスプレイ端末21a、21b、キーボード又
はマウスのような入力装置22a、22b、磁気ディス
ク又は光ディスクのような不揮発性データ記憶装置23
a、23b、プリンタ24a、24b、及び他の周辺装
置を含むことは当業者には明らかである。更に、コンピ
ュータ・プラットフォーム14a、14bは、典型的に
は、マイクロ命令コード26a、26b及びオペレーテ
ィング・システム28a、28bを含む。
ウエア及びソフトウエア環境を説明する。図1に示され
るように、本発明はオブジェクト指向コンピュータ環境
における協調処理のためにオブジェクト・マネージャを
リンクする装置及びプロセスである。図示のように、オ
ブジェクト指向コンピュータ環境13a、13bはそれ
ぞれのコンピュータ・プラットフォーム14a、14b
上で動作する。コンピュータ・プラットフォーム14
a、14bの各々は、典型的には、中央処理装置(CP
U)17a、17b、メイン・メモリ18a、18b、
及び入出力(I/O)インターフェース19a、19b
のようなコンピュータ・ハードウエア16a、16bを
含み、ディスプレイ端末21a、21b、キーボード又
はマウスのような入力装置22a、22b、磁気ディス
ク又は光ディスクのような不揮発性データ記憶装置23
a、23b、プリンタ24a、24b、及び他の周辺装
置を含むことは当業者には明らかである。更に、コンピ
ュータ・プラットフォーム14a、14bは、典型的に
は、マイクロ命令コード26a、26b及びオペレーテ
ィング・システム28a、28bを含む。
【0027】各コンピュータ・プラットフォームは複数
の中央処理装置より成るものでよいことは当業者には明
らかである。逆に、コンピュータ・プラットフォーム1
4a、14bは単一の中央処理装置17a又は17b上
で走るようにしてもよい。又、コンピュータ・プラット
フォーム14a、14bは、それぞれ、メインフレーム
・コンピュータ、ミニコンピュータ、又はワークステー
ションであってもよい。典型的な場合、コンピュータ・
プラットフォーム14aはワークステーションであり、
コンピュータ・プラットフォーム14bはホスト又はメ
インフレーム・コンピュータである。
の中央処理装置より成るものでよいことは当業者には明
らかである。逆に、コンピュータ・プラットフォーム1
4a、14bは単一の中央処理装置17a又は17b上
で走るようにしてもよい。又、コンピュータ・プラット
フォーム14a、14bは、それぞれ、メインフレーム
・コンピュータ、ミニコンピュータ、又はワークステー
ションであってもよい。典型的な場合、コンピュータ・
プラットフォーム14aはワークステーションであり、
コンピュータ・プラットフォーム14bはホスト又はメ
インフレーム・コンピュータである。
【0028】1つの例として、各コンピュータ・プラッ
トフォーム14a及び14bは、IBMシステム/37
0アーキテクチャを持ったコンピュータでよい。オペレ
ーティング・システム28a、28bは、IBM多重仮
想記憶(MVS)オペレーティング・システムでよい。
オブジェクト指向コンピュータ環境13a、13bは、
好ましくは、インターメディエイトCで書かれ、それは
Cコンピュータ言語のオブジェクト指向派生言語であ
り、C++コンピュータ・プログラミング言語と同じであ
る。コンピュータ・プラットフォーム及びオブジェクト
指向コンピュータ環境の設計及び動作は、当業者には周
知であり、例えば、米国特許第5,161,225号、第
5,151,987号及び第5,161,223号に開示さ
れている。又、それは、1988年に Prentice Hall
社により発行された Bertrand Meyer著の「Object Orie
nted Software Construction」のような多くの文献に開
示されている。
トフォーム14a及び14bは、IBMシステム/37
0アーキテクチャを持ったコンピュータでよい。オペレ
ーティング・システム28a、28bは、IBM多重仮
想記憶(MVS)オペレーティング・システムでよい。
オブジェクト指向コンピュータ環境13a、13bは、
好ましくは、インターメディエイトCで書かれ、それは
Cコンピュータ言語のオブジェクト指向派生言語であ
り、C++コンピュータ・プログラミング言語と同じであ
る。コンピュータ・プラットフォーム及びオブジェクト
指向コンピュータ環境の設計及び動作は、当業者には周
知であり、例えば、米国特許第5,161,225号、第
5,151,987号及び第5,161,223号に開示さ
れている。又、それは、1988年に Prentice Hall
社により発行された Bertrand Meyer著の「Object Orie
nted Software Construction」のような多くの文献に開
示されている。
【0029】今、図2(米国特許第5,161,225号
の図5の複写である)を参照して、オブジェクト指向コ
ンピュータ環境(図1の13a、13b)の主なコンポ
ーネントを説明する。オブジェクト指向プログラムの設
計及び動作の詳細な説明は、前記 Bertrand Meyer 著の
文献に示されている。
の図5の複写である)を参照して、オブジェクト指向コ
ンピュータ環境(図1の13a、13b)の主なコンポ
ーネントを説明する。オブジェクト指向プログラムの設
計及び動作の詳細な説明は、前記 Bertrand Meyer 著の
文献に示されている。
【0030】図2を参照すると、各オブジェクト指向コ
ンピュータ環境13a、13bは、3つの主要なコンポ
ーネント、即ち、メッセンジャ51、オブジェクト管理
テーブル52、及びロード済みクラス・テーブル53を
含んでいる。メッセンジャ51は、発呼メッセージ、被
呼メッセージ、オブジェクト管理テーブル52及びロー
ド済みクラス・テーブル53の間のコミュニケーション
を制御する。オブジェクト管理テーブル52は、すべて
のアクティブ・オブジェクト・インスタンスに対するポ
インタのリストを含んでいる。ロード済みクラス・テー
ブル53は、アクティブ・オブジェクト・クラスのすべ
てのメソッドに対するポインタのリストを含んでいる。
ンピュータ環境13a、13bは、3つの主要なコンポ
ーネント、即ち、メッセンジャ51、オブジェクト管理
テーブル52、及びロード済みクラス・テーブル53を
含んでいる。メッセンジャ51は、発呼メッセージ、被
呼メッセージ、オブジェクト管理テーブル52及びロー
ド済みクラス・テーブル53の間のコミュニケーション
を制御する。オブジェクト管理テーブル52は、すべて
のアクティブ・オブジェクト・インスタンスに対するポ
インタのリストを含んでいる。ロード済みクラス・テー
ブル53は、アクティブ・オブジェクト・クラスのすべ
てのメソッドに対するポインタのリストを含んでいる。
【0031】オブジェクト指向コンピュータ環境13
a、13bを、図2に示された例に関して説明する。こ
の例では、1つのオブジェクトのメソッドA(ブロック
54)が1つのオブジェクトのメソッドB(ブロック5
5)にメッセージを送る。メソッドAは、メッセンジャ
51を呼び出すことによってメソッドBにメッセージを
送る。そのメッセージは、(1)そのメッセージを受信
するためにインスタンスのオブジェクト参照、(2)オ
ブジェクト・インスタンスがカプセル化するデータに関
して遂行するようオブジェクト・インスタンスが要求さ
れるメソッド、(3)受信メソッドにより必要とされる
すべてのパラメータ、を含んでいる。メッセンジャ51
は、インスタンス・オブジェクトに関してオブジェクト
管理テーブル52をサーチすることによって、メソッド
Aにより指定されたインスタンス・オブジェクトのデー
タ・フレーム56に対するポインタを得る。その指定さ
れたインスタンス・オブジェクトを見つけることができ
ない場合、オブジェクト管理テーブル52は、そのイン
スタンス・オブジェクトをテーブルに加え、データベー
スからそのデータを実現するためにインスタンスを呼び
出す。オブジェクト管理テーブル52は、ポインタをそ
の実現されたインスタンス・オブジェクトに戻す。
a、13bを、図2に示された例に関して説明する。こ
の例では、1つのオブジェクトのメソッドA(ブロック
54)が1つのオブジェクトのメソッドB(ブロック5
5)にメッセージを送る。メソッドAは、メッセンジャ
51を呼び出すことによってメソッドBにメッセージを
送る。そのメッセージは、(1)そのメッセージを受信
するためにインスタンスのオブジェクト参照、(2)オ
ブジェクト・インスタンスがカプセル化するデータに関
して遂行するようオブジェクト・インスタンスが要求さ
れるメソッド、(3)受信メソッドにより必要とされる
すべてのパラメータ、を含んでいる。メッセンジャ51
は、インスタンス・オブジェクトに関してオブジェクト
管理テーブル52をサーチすることによって、メソッド
Aにより指定されたインスタンス・オブジェクトのデー
タ・フレーム56に対するポインタを得る。その指定さ
れたインスタンス・オブジェクトを見つけることができ
ない場合、オブジェクト管理テーブル52は、そのイン
スタンス・オブジェクトをテーブルに加え、データベー
スからそのデータを実現するためにインスタンスを呼び
出す。オブジェクト管理テーブル52は、ポインタをそ
の実現されたインスタンス・オブジェクトに戻す。
【0032】そこで、メッセンジャ51はロード済みク
ラス・テーブル53からメソッドBのアドレスを得る。
インスタンスのクラスがロードされていない場合、ロー
ド済みクラス・テーブル53は、そのデータを実現する
ためにこの時それをロードするであろう。ロード済みク
ラス・テーブル53は、その指定されたメソッド(メソ
ッドB)に関してサーチし、そのメソッドのアドレスを
メッセンジャ51に戻す。
ラス・テーブル53からメソッドBのアドレスを得る。
インスタンスのクラスがロードされていない場合、ロー
ド済みクラス・テーブル53は、そのデータを実現する
ためにこの時それをロードするであろう。ロード済みク
ラス・テーブル53は、その指定されたメソッド(メソ
ッドB)に関してサーチし、そのメソッドのアドレスを
メッセンジャ51に戻す。
【0033】そこで、メッセンジャ51はメソッドBを
呼び出してそれをシステム・データ領域へ送らせる。そ
して、メソッドAによって行われた呼び出しからのパラ
メータはポインタを含む。メソッドBは、そのポインタ
を使用してデータ・フレーム56をアクセスする。そこ
で、メソッドBはメッセンジャ51に制御を戻し、メッ
センジャ51はメソッドAに制御を戻す。
呼び出してそれをシステム・データ領域へ送らせる。そ
して、メソッドAによって行われた呼び出しからのパラ
メータはポインタを含む。メソッドBは、そのポインタ
を使用してデータ・フレーム56をアクセスする。そこ
で、メソッドBはメッセンジャ51に制御を戻し、メッ
センジャ51はメソッドAに制御を戻す。
【0034】1つのオブジェクトが他のオブジェクトの
メソッドを呼び出す必要がある時、それは或メソッドが
ターゲット・オブジェクトのデータに関して(又はそれ
と共に)遂行されることを要求するメッセージをターゲ
ットに送る。この作用は、他のメッセージを発生させ、
実行される作用全体を拡張する。各メッセージは行使さ
れるべきオブジェクト及びアクションより成り、オブジ
ェクト−アクション・メッセージとして知られている。
メソッドを呼び出す必要がある時、それは或メソッドが
ターゲット・オブジェクトのデータに関して(又はそれ
と共に)遂行されることを要求するメッセージをターゲ
ットに送る。この作用は、他のメッセージを発生させ、
実行される作用全体を拡張する。各メッセージは行使さ
れるべきオブジェクト及びアクションより成り、オブジ
ェクト−アクション・メッセージとして知られている。
【0035】多数のオブジェクトによりアクセス可能な
データが処理される時、ユーザが定義した文脈における
そのデータの状態は管理されなければならない。データ
は、それが使用されるのと同じ文脈において回復可能で
なければならない。他のデータに文脈的に関連したデー
タに対する更新が失敗した場合、関連データに対する前
の更新は文脈的に無効であるかもしれず、それらの更新
前に存在した状態に戻されなければならない。文脈的に
関連したデータは、作業単位として知られたものによっ
て管理される。文脈的関係のすべての状態変更を完了し
たデータはデータベースにコミットされなければならな
い。エラーが生じる時、データは回復され、即ち、元の
状態に戻される。
データが処理される時、ユーザが定義した文脈における
そのデータの状態は管理されなければならない。データ
は、それが使用されるのと同じ文脈において回復可能で
なければならない。他のデータに文脈的に関連したデー
タに対する更新が失敗した場合、関連データに対する前
の更新は文脈的に無効であるかもしれず、それらの更新
前に存在した状態に戻されなければならない。文脈的に
関連したデータは、作業単位として知られたものによっ
て管理される。文脈的関係のすべての状態変更を完了し
たデータはデータベースにコミットされなければならな
い。エラーが生じる時、データは回復され、即ち、元の
状態に戻される。
【0036】B.リモート・プロシージャ・コール(R
PC)処理 プロシージャ・コール(機能呼出又はサブルーチン呼出
とも呼ばれる)は、呼出側へ制御を戻すことによって別
のプロセスに制御を移すための周知の技法である。そこ
で、その呼出の結果は呼出側にとって利用可能となる。
その呼出と関連して一組のアーギュメントがその呼出と
関連しており、それは呼出側、即ち、クライアントから
被呼出側、即ち、サーバに送られる。通常、作用結果を
表わす戻り値があり、それは呼び出されたプロシージャ
から戻される。
PC)処理 プロシージャ・コール(機能呼出又はサブルーチン呼出
とも呼ばれる)は、呼出側へ制御を戻すことによって別
のプロセスに制御を移すための周知の技法である。そこ
で、その呼出の結果は呼出側にとって利用可能となる。
その呼出と関連して一組のアーギュメントがその呼出と
関連しており、それは呼出側、即ち、クライアントから
被呼出側、即ち、サーバに送られる。通常、作用結果を
表わす戻り値があり、それは呼び出されたプロシージャ
から戻される。
【0037】典型的には、呼出側及び被呼出側は、所与
のコンピュータ・プラットフォーム上の同じプロセス内
にある。これら呼出は、ローカル・プロシージャ・コー
ルとして知られている。呼出側及び被呼出側が同じプロ
セス内又は同じプラットフォーム上にない時、異なるタ
イプの機構が使用されなければならない。この機構は、
リモート・プロシージャ・コール、即ち、RPCとして
知られている。
のコンピュータ・プラットフォーム上の同じプロセス内
にある。これら呼出は、ローカル・プロシージャ・コー
ルとして知られている。呼出側及び被呼出側が同じプロ
セス内又は同じプラットフォーム上にない時、異なるタ
イプの機構が使用されなければならない。この機構は、
リモート・プロシージャ・コール、即ち、RPCとして
知られている。
【0038】オブジェクト指向コンピュータ環境では、
呼出の結果、1つのオブジェクトから他のオブジェクト
へのメッセージが生じ、それは、ターゲット・オブジェ
クトにおいて遂行されるべきアクションの要求を含んで
いる。RPCによってこの関係が維持され、そのメッセ
ージは、実行のためにリモート・オブジェクトに送られ
る。RPC機構は、ターゲット、即ち、サーバ・ロケー
ションの隔離を行うためにスタブを使用する。
呼出の結果、1つのオブジェクトから他のオブジェクト
へのメッセージが生じ、それは、ターゲット・オブジェ
クトにおいて遂行されるべきアクションの要求を含んで
いる。RPCによってこの関係が維持され、そのメッセ
ージは、実行のためにリモート・オブジェクトに送られ
る。RPC機構は、ターゲット、即ち、サーバ・ロケー
ションの隔離を行うためにスタブを使用する。
【0039】図3を参照すると、リモート・プロシージ
ャ・コールの概略的ブロック図が示される。図示のよう
に、クライアント・プロセス101におけるクライアン
ト・ルーチン102は、クライアント・スタブ103と
呼ばれるローカル・プロシージャを呼び出す。そのクラ
イアント・スタブは、クライアント・プロセスにとっ
て、それが呼び出したい実際のサーバ・プロセスのよう
に見える。クライアント・スタブは、リモート・サーバ
・プロセスに対する呼出のための呼出アーギュメントを
パッケージする。そのパッケージング及びネットワーク
・フォーマット・ストリームへのそれらアーギュメント
の変換は「マーシャリング(marshallin
g)」として知られている。従って、クライアント・ス
タブ103は、リモート・プロシージャ(オブジェク
ト)に送られるべきオブジェクト−アクション・メッセ
ージを含むパケットを形成する。マーシャルされたスト
リームは、ローカル・プラットフォームのコミュニケー
ション・サブシステム105におけるネットワーク・ル
ーチン104に送られる。コミュニケーション・サブシ
ステム・サービス106は、ネットワーク機構を使用し
て、リモート・プラットフォームのコミュニケーション
・サブシステム108におけるリモート・ネットワーク
・ルーチン107にそのマーシャルされたストリームを
送る。
ャ・コールの概略的ブロック図が示される。図示のよう
に、クライアント・プロセス101におけるクライアン
ト・ルーチン102は、クライアント・スタブ103と
呼ばれるローカル・プロシージャを呼び出す。そのクラ
イアント・スタブは、クライアント・プロセスにとっ
て、それが呼び出したい実際のサーバ・プロセスのよう
に見える。クライアント・スタブは、リモート・サーバ
・プロセスに対する呼出のための呼出アーギュメントを
パッケージする。そのパッケージング及びネットワーク
・フォーマット・ストリームへのそれらアーギュメント
の変換は「マーシャリング(marshallin
g)」として知られている。従って、クライアント・ス
タブ103は、リモート・プロシージャ(オブジェク
ト)に送られるべきオブジェクト−アクション・メッセ
ージを含むパケットを形成する。マーシャルされたスト
リームは、ローカル・プラットフォームのコミュニケー
ション・サブシステム105におけるネットワーク・ル
ーチン104に送られる。コミュニケーション・サブシ
ステム・サービス106は、ネットワーク機構を使用し
て、リモート・プラットフォームのコミュニケーション
・サブシステム108におけるリモート・ネットワーク
・ルーチン107にそのマーシャルされたストリームを
送る。
【0040】リモート・ネットワーク・ルーチン107
は、被呼出プロセスのサーバ・スタブ109にメッセー
ジを送る。サーバ・スタブ109はそのネットワーク・
ストリーム(パケットされたメッセージ)を分解して、
サーバ・プロセスが必要とするアーギュメント及びフォ
ーマットを取り出す。この変換及び分解は「アンマーシ
ャリング(unmarshalling)」として知ら
れている。そこで、サーバ・スタブ109は、サーバ・
プロセス111におけるサーバ・ルーチン110を呼び
出し、アーギュメントを送る。サーバ・プロセス111
は、実行されてその結果を発生し、それをサーバ・スタ
ブ109に戻す。サーバ・スタブ109はその戻された
結果を1つ又は複数のネットワーク・フォーマット・ス
トリームにマーシャルし、そしてそれらをリモート・コ
ミュニケーション・サブシステム108におけるネット
ワーク・ルーチン107に送り戻す。
は、被呼出プロセスのサーバ・スタブ109にメッセー
ジを送る。サーバ・スタブ109はそのネットワーク・
ストリーム(パケットされたメッセージ)を分解して、
サーバ・プロセスが必要とするアーギュメント及びフォ
ーマットを取り出す。この変換及び分解は「アンマーシ
ャリング(unmarshalling)」として知ら
れている。そこで、サーバ・スタブ109は、サーバ・
プロセス111におけるサーバ・ルーチン110を呼び
出し、アーギュメントを送る。サーバ・プロセス111
は、実行されてその結果を発生し、それをサーバ・スタ
ブ109に戻す。サーバ・スタブ109はその戻された
結果を1つ又は複数のネットワーク・フォーマット・ス
トリームにマーシャルし、そしてそれらをリモート・コ
ミュニケーション・サブシステム108におけるネット
ワーク・ルーチン107に送り戻す。
【0041】コミュニケーション・サブシステム106
及びネットワーク搬送機構は元のシステム105及びク
ライアント・スタブ103への帰路を設定する。最後
に、クライアント・スタブ103はその戻ったものをア
ンマーシャルし、その結果をクライアント・プロセス1
01に戻す。従って、このプロセスは、クライアント・
プロセスにとって、他のローカル・プロセスへの正規の
プロシージャ・コールのように見える。
及びネットワーク搬送機構は元のシステム105及びク
ライアント・スタブ103への帰路を設定する。最後
に、クライアント・スタブ103はその戻ったものをア
ンマーシャルし、その結果をクライアント・プロセス1
01に戻す。従って、このプロセスは、クライアント・
プロセスにとって、他のローカル・プロセスへの正規の
プロシージャ・コールのように見える。
【0042】図4は、オブジェクト指向コンピュータ環
境におけるリモート・プロシージャ・コール・オペレー
ションを示す。クライアント・オブジェクト102'は
呼び出しを発生することによってメッセージを送り、そ
れはオブジェクト・マネージャによって受信される。オ
ブジェクト・マネージャは、そのアクション・リクエス
トを作業単位の一部分として捕捉し、サーバ・オブジェ
クトの類縁性がクライアント・オブジェクトにとってロ
ーカルであることを決定する。そこで、メッセージが実
行のためにローカル・サーバ・オブジェクトに送られ
る。
境におけるリモート・プロシージャ・コール・オペレー
ションを示す。クライアント・オブジェクト102'は
呼び出しを発生することによってメッセージを送り、そ
れはオブジェクト・マネージャによって受信される。オ
ブジェクト・マネージャは、そのアクション・リクエス
トを作業単位の一部分として捕捉し、サーバ・オブジェ
クトの類縁性がクライアント・オブジェクトにとってロ
ーカルであることを決定する。そこで、メッセージが実
行のためにローカル・サーバ・オブジェクトに送られ
る。
【0043】サーバ・オブジェクトがリモート類縁性を
持つことをオブジェクト・マネージャが決定した場合、
メッセージがクライアント・メソッド・スタブ103'
に送られる。そこでは、そのメッセージをマーシャルし
て送信するリモート・プロシージャ・コール機能が実行
され、メッセージをサーバ・オブジェクトのリモート・
インスタンス(図示されていない)に送る。リモート・
サーバ・オブジェクトが完了する時、リモート・プロシ
ージャ・コール機構を使用して、その作用がクライアン
ト・オブジェクトに戻される。クライアント・オブジェ
クトはサーバ・オブジェクトのロケーションを知らされ
ないままである。従って、カプセル化が保持される。
持つことをオブジェクト・マネージャが決定した場合、
メッセージがクライアント・メソッド・スタブ103'
に送られる。そこでは、そのメッセージをマーシャルし
て送信するリモート・プロシージャ・コール機能が実行
され、メッセージをサーバ・オブジェクトのリモート・
インスタンス(図示されていない)に送る。リモート・
サーバ・オブジェクトが完了する時、リモート・プロシ
ージャ・コール機構を使用して、その作用がクライアン
ト・オブジェクトに戻される。クライアント・オブジェ
クトはサーバ・オブジェクトのロケーションを知らされ
ないままである。従って、カプセル化が保持される。
【0044】図5は、図4のオブジェクト指向RPCの
詳細を示す。そのスタブがアクション要求メッセージを
受信する時、アーギュメント及びインスタンス識別子は
コミュニケーション・メッセージにマーシャルされなけ
ればならない。これは、典型的には、ネットワーク・イ
ンターフェース定義言語(NIDL)ステートメントに
よりアクセスされる固有のリモート・プロシージャ・コ
ール・ルーチンによって達成される。なお、それらNI
DLステートメントは、リモート・プロシージャ・コー
ル・ルーチンへのアクション要求メッセージを定義す
る。そこで、そのマーシャルされたメッセージがリモー
トコンピュータにおけるサーバ・スタブへ送出される。
サーバ・スタブはマーシャリングを反転し、メッセージ
をサーバ・オブジェクトに送る。サーバ・オブジェクト
は作用をサーバ・スタブに戻し、サーバ・スタブはその
作用をクライアント・スタブに戻す。クライアント・ス
タブはその作用を受け取り、クライアント・オブジェク
トにそれを戻す。
詳細を示す。そのスタブがアクション要求メッセージを
受信する時、アーギュメント及びインスタンス識別子は
コミュニケーション・メッセージにマーシャルされなけ
ればならない。これは、典型的には、ネットワーク・イ
ンターフェース定義言語(NIDL)ステートメントに
よりアクセスされる固有のリモート・プロシージャ・コ
ール・ルーチンによって達成される。なお、それらNI
DLステートメントは、リモート・プロシージャ・コー
ル・ルーチンへのアクション要求メッセージを定義す
る。そこで、そのマーシャルされたメッセージがリモー
トコンピュータにおけるサーバ・スタブへ送出される。
サーバ・スタブはマーシャリングを反転し、メッセージ
をサーバ・オブジェクトに送る。サーバ・オブジェクト
は作用をサーバ・スタブに戻し、サーバ・スタブはその
作用をクライアント・スタブに戻す。クライアント・ス
タブはその作用を受け取り、クライアント・オブジェク
トにそれを戻す。
【0045】オブジェクト指向コンピュータ環境では、
オブジェクト間呼出機構はコミュニケーション・リンケ
ージにまたがる同期関係を意味する接続された同期関係
を必要とする。(図6参照)。1つのオブジェクトが他
のオブジェクトを呼び出す時、それら2つのオブジェク
トは、呼出機構のために同期的に関連付けられる。それ
ら2つのオブジェクトが異なるプラットフォーム上にあ
り且つRPCを使用して呼出が行われる場合、この同じ
関係が維持される。
オブジェクト間呼出機構はコミュニケーション・リンケ
ージにまたがる同期関係を意味する接続された同期関係
を必要とする。(図6参照)。1つのオブジェクトが他
のオブジェクトを呼び出す時、それら2つのオブジェク
トは、呼出機構のために同期的に関連付けられる。それ
ら2つのオブジェクトが異なるプラットフォーム上にあ
り且つRPCを使用して呼出が行われる場合、この同じ
関係が維持される。
【0046】多数のオブジェクト間呼出が同時にアクテ
ィブとなる場合、これらの呼出は相互に独立している。
この事実の結果、コミュニケーション関係にある時、多
くの独立した又は同時の処理スレッドが生じ、そしてそ
のスレッドの各々はそれ自身のコミュニケーション・セ
ッション及び管理を必要とする。RPCでは、これはク
ライアント及びサーバによって行われる。これらの多く
のセッションは同じコミュニケーション・パスに圧縮可
能であるが、その各々は個々のセッションとして管理さ
れる。
ィブとなる場合、これらの呼出は相互に独立している。
この事実の結果、コミュニケーション関係にある時、多
くの独立した又は同時の処理スレッドが生じ、そしてそ
のスレッドの各々はそれ自身のコミュニケーション・セ
ッション及び管理を必要とする。RPCでは、これはク
ライアント及びサーバによって行われる。これらの多く
のセッションは同じコミュニケーション・パスに圧縮可
能であるが、その各々は個々のセッションとして管理さ
れる。
【0047】C.作業単位処理 オブジェクト指向コンピュータ環境のデータ保全性にお
ける大きな進歩は「作業単位」である。作業単位は、多
数の作業単位オブジェクト及び多数の作業単位インスタ
ンスを含むオブジェクト・クラスである。作業単位は、
オブジェクト指向データベース・システムが、C及びパ
スカルのような伝統的な言語におけるようにメモリ・ポ
インタを操作することによるよりも、むしろオブジェク
トのセット及びオブジェクトに関するオペレーションに
よって、メモリを操作し、更新し、割り当て、及び廃棄
することを可能にする。
ける大きな進歩は「作業単位」である。作業単位は、多
数の作業単位オブジェクト及び多数の作業単位インスタ
ンスを含むオブジェクト・クラスである。作業単位は、
オブジェクト指向データベース・システムが、C及びパ
スカルのような伝統的な言語におけるようにメモリ・ポ
インタを操作することによるよりも、むしろオブジェク
トのセット及びオブジェクトに関するオペレーションに
よって、メモリを操作し、更新し、割り当て、及び廃棄
することを可能にする。
【0048】作業単位及びそのオペレーションは、本願
と同じ出願人による米国特許出願第425,607号に
詳しく開示されている。そこに開示されているように、
オブジェクト・マネージャは作業単位マネージャを含ん
でいる。作業単位マネージャは、データベース・タスク
中に処理されるべきオブジェクトを作業単位インスタン
スにコピーすることによって遂行されるべき各タスクに
作業単位インスタンスを割り当てる。作業単位レベルと
呼ばれるその作業単位インスタンスにおけるオブジェク
ト・インスタンスのバージョンは、そのタスクにおける
各ステップに対して作成される。1つのタスクに対する
各作業単位レベルは、そのタスクによって修正されるべ
きオブジェクのコピーを含む。タスクにおける各ステッ
プは、オブジェクト自体よりもむしろ関連の作業単位に
構成されるオブジェクトを修正するように制御される。
作業単位クラスも、「コミット」、「廃棄」、「刷
新」、「通知」、「ロール・バック」、「スタート」、
及び「スイッチ」のための関連メソッドを含んでいる。
これらメソッドは、保全性を保証するために作業単位イ
ンスタンスが一体として操作されることを可能にする。
と同じ出願人による米国特許出願第425,607号に
詳しく開示されている。そこに開示されているように、
オブジェクト・マネージャは作業単位マネージャを含ん
でいる。作業単位マネージャは、データベース・タスク
中に処理されるべきオブジェクトを作業単位インスタン
スにコピーすることによって遂行されるべき各タスクに
作業単位インスタンスを割り当てる。作業単位レベルと
呼ばれるその作業単位インスタンスにおけるオブジェク
ト・インスタンスのバージョンは、そのタスクにおける
各ステップに対して作成される。1つのタスクに対する
各作業単位レベルは、そのタスクによって修正されるべ
きオブジェクのコピーを含む。タスクにおける各ステッ
プは、オブジェクト自体よりもむしろ関連の作業単位に
構成されるオブジェクトを修正するように制御される。
作業単位クラスも、「コミット」、「廃棄」、「刷
新」、「通知」、「ロール・バック」、「スタート」、
及び「スイッチ」のための関連メソッドを含んでいる。
これらメソッドは、保全性を保証するために作業単位イ
ンスタンスが一体として操作されることを可能にする。
【0049】上述のように、オブジェクト指向コンピュ
ータ環境は、典型的には、現在使用されているすべての
オブジェクトを追跡するために使用されるオブジェクト
管理テーブルを含む。作業単位と関連したオブジェクト
管理テーブルの使用は、本願と同じ出願人による米国特
許出願第602,442号に詳しく開示されている。オ
ブジェクト管理テーブルは、新しい作業単位インスタン
スの作成を管理するために及び1つの作業単位インスタ
ンスにおける作業単位レベルの作成を管理するために使
用される。作業単位レベル及びインスタンスのスイッチ
ング、コミット及びロール・バックも管理される。
ータ環境は、典型的には、現在使用されているすべての
オブジェクトを追跡するために使用されるオブジェクト
管理テーブルを含む。作業単位と関連したオブジェクト
管理テーブルの使用は、本願と同じ出願人による米国特
許出願第602,442号に詳しく開示されている。オ
ブジェクト管理テーブルは、新しい作業単位インスタン
スの作成を管理するために及び1つの作業単位インスタ
ンスにおける作業単位レベルの作成を管理するために使
用される。作業単位レベル及びインスタンスのスイッチ
ング、コミット及びロール・バックも管理される。
【0050】論理的セグメントの文脈的処理が完了する
と、更新されたすべてのオブジェクト(データ)が図7
に示されるように持続性記憶装置に書き込まれなければ
ならない。これは、作業がコミットされるべきこと、即
ち、完了すべきことを意味する。一旦このデータがコミ
ットされてしまうと、変更されたデータに関する回復
は、最早、不可能である。これが生じると、処理は完了
したと考えられる。このシーケンスは、作業単位又は論
理的作業単位と呼ばれる。
と、更新されたすべてのオブジェクト(データ)が図7
に示されるように持続性記憶装置に書き込まれなければ
ならない。これは、作業がコミットされるべきこと、即
ち、完了すべきことを意味する。一旦このデータがコミ
ットされてしまうと、変更されたデータに関する回復
は、最早、不可能である。これが生じると、処理は完了
したと考えられる。このシーケンスは、作業単位又は論
理的作業単位と呼ばれる。
【0051】ビジネス・プロセスに文脈的に関連する論
理的作業単位は、そのビジネス・プロセスの文脈全体に
わたって回復及びデータ保全性を保証するために、文脈
的プロセス作業単位によって管理されなければならな
い。図8を参照すると、ビジネス・プロセスにおいて使
用される時、各作業単位は、それが使用される文脈と関
連づけられなければならない。この文脈は、事象及び結
果と共に、ビジネス・プロセスを定義するものである。
ビジネス・プロセスは分散プロセッサでもって実行可能
である。論理的作業単位は、そのようには実行可能でな
い。これに関連した特許出願には、本願と同じ出願人に
よる米国特許出願第009,170号がある。
理的作業単位は、そのビジネス・プロセスの文脈全体に
わたって回復及びデータ保全性を保証するために、文脈
的プロセス作業単位によって管理されなければならな
い。図8を参照すると、ビジネス・プロセスにおいて使
用される時、各作業単位は、それが使用される文脈と関
連づけられなければならない。この文脈は、事象及び結
果と共に、ビジネス・プロセスを定義するものである。
ビジネス・プロセスは分散プロセッサでもって実行可能
である。論理的作業単位は、そのようには実行可能でな
い。これに関連した特許出願には、本願と同じ出願人に
よる米国特許出願第009,170号がある。
【0052】論理的作業単位は、プロセスの分散のため
のアトミック・ユニットである。各独立した論理的作業
単位の管理は、分散プラットフォームの各々におけるオ
ブジェクト・マネージャ・レベルで達成されなければな
らない。
のアトミック・ユニットである。各独立した論理的作業
単位の管理は、分散プラットフォームの各々におけるオ
ブジェクト・マネージャ・レベルで達成されなければな
らない。
【0053】協調又は分散コンピュータ環境では、論理
的作業単位はコミュニケーション及び処理境界に跨る必
要があるかもしれない。これは、作業単位の複雑性及び
これら境界にまたがって共用されるデータの回復の複雑
性を大いに増大させる。図8は、維持されなければなら
ない文脈を有するスパンした又は共用の作業単位でよい
ビジネス・プロセスを示す。
的作業単位はコミュニケーション及び処理境界に跨る必
要があるかもしれない。これは、作業単位の複雑性及び
これら境界にまたがって共用されるデータの回復の複雑
性を大いに増大させる。図8は、維持されなければなら
ない文脈を有するスパンした又は共用の作業単位でよい
ビジネス・プロセスを示す。
【0054】例えば、ワークステーションが協調プロセ
ッサとして作用する時、ユーザ・インターフェース、ナ
ビゲーション、シーケンシング及びユーザ指示の管理の
選択を扱うデータ・オブジェクトを処理することが、本
来、要求されるであろう。企業は、ユーザ・インターフ
ェースから駆動される管理されたプロセスが得られるよ
う、或オブジェクトに関する或アクションが反復して遂
行されることを要求するであろう。ビジネス・プロセス
の概念は、そのプロセスにおける如何なる所与のオブジ
ェクト−アクションもその反復可能なプロセスにおける
他のオブジェクト−アクションに対する関係を持つこと
を意味する。プロセスは、オブジェクト及びそれらオブ
ジェクトで生じ得る変化の間に文脈的関係を課してい
る。このプロセス又は文脈的ユニットは、回復及び保全
性に関して管理されなければならない。
ッサとして作用する時、ユーザ・インターフェース、ナ
ビゲーション、シーケンシング及びユーザ指示の管理の
選択を扱うデータ・オブジェクトを処理することが、本
来、要求されるであろう。企業は、ユーザ・インターフ
ェースから駆動される管理されたプロセスが得られるよ
う、或オブジェクトに関する或アクションが反復して遂
行されることを要求するであろう。ビジネス・プロセス
の概念は、そのプロセスにおける如何なる所与のオブジ
ェクト−アクションもその反復可能なプロセスにおける
他のオブジェクト−アクションに対する関係を持つこと
を意味する。プロセスは、オブジェクト及びそれらオブ
ジェクトで生じ得る変化の間に文脈的関係を課してい
る。このプロセス又は文脈的ユニットは、回復及び保全
性に関して管理されなければならない。
【0055】協調又は分散処理は、プロセスが論理的作
業単位(LUW)の管理を可能にし得るプロセス境界に
沿って分割可能であることを必要とする。これらデータ
保全境界が無視される場合、データ分散は不可能にな
り、データにとって危険である。持続的オブジェクト
(データ)の論理的作業単位はその持続性オブジェクト
の状態の或変化にキーを付けられる。その論理的作業単
位は、その持続性オブジェクトが単独で使用される場
合、独立することができる。持続性オブジェクトがプロ
シージャ・シーケンス(ビジネス・プロセス・シーケン
ス)における他の持続性オブジェクトと関連して使用さ
れる時、それはより大きい全体的なプロセス作業単位
(PUW)の一部分となる。そのプロセス作業単位にお
ける如何なる持続性オブジェクトに対する変化も、ビジ
ネス・プロセス全体に対する変化の文脈を維持しなけれ
ばならない。それが維持されない場合、ビジネス・プロ
セス・データは同期外れとなるので、データ保全性のエ
クスポージャが存在する。図8及び図9は、ビジネス・
プロセスと論理的作業単位との関係を示す。
業単位(LUW)の管理を可能にし得るプロセス境界に
沿って分割可能であることを必要とする。これらデータ
保全境界が無視される場合、データ分散は不可能にな
り、データにとって危険である。持続的オブジェクト
(データ)の論理的作業単位はその持続性オブジェクト
の状態の或変化にキーを付けられる。その論理的作業単
位は、その持続性オブジェクトが単独で使用される場
合、独立することができる。持続性オブジェクトがプロ
シージャ・シーケンス(ビジネス・プロセス・シーケン
ス)における他の持続性オブジェクトと関連して使用さ
れる時、それはより大きい全体的なプロセス作業単位
(PUW)の一部分となる。そのプロセス作業単位にお
ける如何なる持続性オブジェクトに対する変化も、ビジ
ネス・プロセス全体に対する変化の文脈を維持しなけれ
ばならない。それが維持されない場合、ビジネス・プロ
セス・データは同期外れとなるので、データ保全性のエ
クスポージャが存在する。図8及び図9は、ビジネス・
プロセスと論理的作業単位との関係を示す。
【0056】図9に示されるように、個々の作業単位
は、ビジネス・プロセスの文脈又は作用内にある時、持
続性オブジェクトに対する全体的変化を形成する。状態
のこの全体的変化は、プロセス作業単位管理プロセスに
おける回復の制約として管理されなければならない。例
えば、任意の個々のオブジェクトに対する変化は、全体
的文脈と関連していないことがある。ビジネス・プロセ
スに対するすべての関連オブジェクトのインスタンス化
は文脈(同期している)におけるままでなければなら
ず、さもなければプロセス作業単位は違反されており、
データ保全性の問題が存在する。
は、ビジネス・プロセスの文脈又は作用内にある時、持
続性オブジェクトに対する全体的変化を形成する。状態
のこの全体的変化は、プロセス作業単位管理プロセスに
おける回復の制約として管理されなければならない。例
えば、任意の個々のオブジェクトに対する変化は、全体
的文脈と関連していないことがある。ビジネス・プロセ
スに対するすべての関連オブジェクトのインスタンス化
は文脈(同期している)におけるままでなければなら
ず、さもなければプロセス作業単位は違反されており、
データ保全性の問題が存在する。
【0057】プロセス作業単位境界及び論理的作業単位
境界の両方に対する回復は、障害時に遂行されたプロセ
ス作業単位によって表わされるビジネス・プロセスの構
造に基づく。例えば、CICS環境では、ネストされた
ビジネス・プロセスは、親ビジネス・プロセスのサブタ
スクとして実行しなければならない。この環境では、ネ
ストされたビジネス・プロセスは、親タスクを終了させ
る前に達成不能となることがある。従って、親タスク
は、ビジネス・プロセス論理定義を通して、それ自身に
おける影響を管理しなければならない。例えば、PUW
における再開による回復は、最後の首尾良いLUW/P
UWの完了した状態に対するものである。並列PUWに
おける障害のあるLUWは、完了してしまうまでその障
害を生じたLUWを回復/再開させ、そうでなければL
UW障害コードでもってPUWを遂行不能にさせ、そし
て分析及びアクションのためにそのコードを親PUWへ
戻させる。そこで、親PUWは、遂行不能となったその
PUWを異常終了させる(ロールバックでもって終了さ
せる)か又はそれを再開するように決定させなければな
らないことになる。
境界の両方に対する回復は、障害時に遂行されたプロセ
ス作業単位によって表わされるビジネス・プロセスの構
造に基づく。例えば、CICS環境では、ネストされた
ビジネス・プロセスは、親ビジネス・プロセスのサブタ
スクとして実行しなければならない。この環境では、ネ
ストされたビジネス・プロセスは、親タスクを終了させ
る前に達成不能となることがある。従って、親タスク
は、ビジネス・プロセス論理定義を通して、それ自身に
おける影響を管理しなければならない。例えば、PUW
における再開による回復は、最後の首尾良いLUW/P
UWの完了した状態に対するものである。並列PUWに
おける障害のあるLUWは、完了してしまうまでその障
害を生じたLUWを回復/再開させ、そうでなければL
UW障害コードでもってPUWを遂行不能にさせ、そし
て分析及びアクションのためにそのコードを親PUWへ
戻させる。そこで、親PUWは、遂行不能となったその
PUWを異常終了させる(ロールバックでもって終了さ
せる)か又はそれを再開するように決定させなければな
らないことになる。
【0058】障害/回復機能又はサポートのタイプに基
づいて数多くの回復オペレーション及び含意(impl
ication)がある。これらの含意は、作業単位サ
ポートの実施結果として与えられた資源管理機能を扱
う。他のプラットフォームが異なる含意を持つことも可
能である。
づいて数多くの回復オペレーション及び含意(impl
ication)がある。これらの含意は、作業単位サ
ポートの実施結果として与えられた資源管理機能を扱
う。他のプラットフォームが異なる含意を持つことも可
能である。
【0059】D.協調処理 協調処理は、2つ以上のコンピュータ・プラットフォー
ムが1つのタスクを達成するために協調する時に起こ
る。協調処理は多くの方法で実施されている。それは、
パフォーマンス又は処理能力を増大させる多くの方法の
1つとして認識されている。しかし、協調処理には単に
作業を分割しそしてネットワークを通してそれを分散す
る以上のことがある。協調処理は、分散処理の特殊な形
態である。それは、プロセスの更に高度なインターロッ
ク及び協調的相互接続を与えるために使用される機構を
必要とする。作業の如何なる分割も、LUWの同期化が
協調的に処理されることが、或時点で可能でなければな
らない。
ムが1つのタスクを達成するために協調する時に起こ
る。協調処理は多くの方法で実施されている。それは、
パフォーマンス又は処理能力を増大させる多くの方法の
1つとして認識されている。しかし、協調処理には単に
作業を分割しそしてネットワークを通してそれを分散す
る以上のことがある。協調処理は、分散処理の特殊な形
態である。それは、プロセスの更に高度なインターロッ
ク及び協調的相互接続を与えるために使用される機構を
必要とする。作業の如何なる分割も、LUWの同期化が
協調的に処理されることが、或時点で可能でなければな
らない。
【0060】オブジェクト指向コンピュータ環境におけ
る協調処理のために、オブジェクト・マネージャは協調
的相互接続の両側に存在しなければならず、その相互接
続の両側にコンポーネントを持った処理作業単位を管理
する機能を持たなければならない。作業単位回復及びコ
ミットは、すべてにコンポーネントがLUWの意図され
た文脈において完了するまで、協調作業単位が完了しな
いようなものでなければならない。
る協調処理のために、オブジェクト・マネージャは協調
的相互接続の両側に存在しなければならず、その相互接
続の両側にコンポーネントを持った処理作業単位を管理
する機能を持たなければならない。作業単位回復及びコ
ミットは、すべてにコンポーネントがLUWの意図され
た文脈において完了するまで、協調作業単位が完了しな
いようなものでなければならない。
【0061】如何なる協調処理の実施の設計も、それが
ホストからワークステーションへのものであろうと、又
はホストからホストへのものであろうとも、そのシステ
ムの2つのセグメントが相互に知っているという前提に
基づかなければならず、そしてそれらの作業の流れ及び
機能を決定する機能を持たなければならない。それら2
つは、遂行される作業にわたって共用される情報及び状
態をコミュニケートしなければならない。この情報が適
正に流れ且つ作業の調整を可能にするために、このコミ
ュニケーションは対話的コミュニケーション関係に従わ
なければならない。
ホストからワークステーションへのものであろうと、又
はホストからホストへのものであろうとも、そのシステ
ムの2つのセグメントが相互に知っているという前提に
基づかなければならず、そしてそれらの作業の流れ及び
機能を決定する機能を持たなければならない。それら2
つは、遂行される作業にわたって共用される情報及び状
態をコミュニケートしなければならない。この情報が適
正に流れ且つ作業の調整を可能にするために、このコミ
ュニケーションは対話的コミュニケーション関係に従わ
なければならない。
【0062】一般的な対話的又は協調的関係は、図10
に示されるように、ネットワークを通そうと又は同じコ
ンピュータ・プラットフォーム上であろうと、機能間の
コミュニケーションを可能にする。対話は、協調する機
能相互間のものである。従って、これらの機能は、それ
らが協調的なものであることを知らなければならない。
これは、発呼側及び被呼側が文脈的には相互に知ってお
らず(即ち、それらは誰が又は何がそれらを呼び出して
いるのかを知らない)そして一般には互いに無関係又は
独立していると考えられる呼出関係を使う機能とは異な
る。
に示されるように、ネットワークを通そうと又は同じコ
ンピュータ・プラットフォーム上であろうと、機能間の
コミュニケーションを可能にする。対話は、協調する機
能相互間のものである。従って、これらの機能は、それ
らが協調的なものであることを知らなければならない。
これは、発呼側及び被呼側が文脈的には相互に知ってお
らず(即ち、それらは誰が又は何がそれらを呼び出して
いるのかを知らない)そして一般には互いに無関係又は
独立していると考えられる呼出関係を使う機能とは異な
る。
【0063】協調機能は、協調的であるように設計され
る。それらは、処理の助けとなり得る仲間が存在するこ
とを知っており、その仲間が処理を要求し得ることを知
っている。換言すれば、協調処理は、意図した機能を遂
行するように、2つ以上のプロセッサが協調することを
意味する。協調があるので、これは、各プロセスが他の
プロセッサを認識してること及びそれらが相互に同等で
あることを意味する。これら2つの含意は、プロセッサ
相互間の対話的コミュニケーション関係によってサポー
トされる。参照番号122によって示されるように、そ
の仲間(協調機能)が答え、そしてオペレータはその仲
間に要求を与える。
る。それらは、処理の助けとなり得る仲間が存在するこ
とを知っており、その仲間が処理を要求し得ることを知
っている。換言すれば、協調処理は、意図した機能を遂
行するように、2つ以上のプロセッサが協調することを
意味する。協調があるので、これは、各プロセスが他の
プロセッサを認識してること及びそれらが相互に同等で
あることを意味する。これら2つの含意は、プロセッサ
相互間の対話的コミュニケーション関係によってサポー
トされる。参照番号122によって示されるように、そ
の仲間(協調機能)が答え、そしてオペレータはその仲
間に要求を与える。
【0064】一般化した対話モデルにおけるデータ・フ
ローが図10に示される。121で示されるように、機
能が開始し、又はコミュニケーション・サブシステムの
構文を使用して他の協調機能との対話を要求する。これ
は、オペレータを使って、パーソン・ツー・パーソン
で、仲間を電話で呼び出すのと同じである。122で示
されるように、その仲間(協調機能)が応答し、そして
オペレータはその仲間に要求を与える。そこでその協調
機能は会話の要求を受け付ける(バインドする)か又は
拒絶する(人間のように、機能は対話を拒絶できる)。
123で示されるように、一旦対話が両方の側によって
受け付けられる(バインドされる)と、オペレータ(ネ
ットワーク管理ロジック)は接続を行い、対話が始ま
る。
ローが図10に示される。121で示されるように、機
能が開始し、又はコミュニケーション・サブシステムの
構文を使用して他の協調機能との対話を要求する。これ
は、オペレータを使って、パーソン・ツー・パーソン
で、仲間を電話で呼び出すのと同じである。122で示
されるように、その仲間(協調機能)が応答し、そして
オペレータはその仲間に要求を与える。そこでその協調
機能は会話の要求を受け付ける(バインドする)か又は
拒絶する(人間のように、機能は対話を拒絶できる)。
123で示されるように、一旦対話が両方の側によって
受け付けられる(バインドされる)と、オペレータ(ネ
ットワーク管理ロジック)は接続を行い、対話が始ま
る。
【0065】対話の承諾された期間に従って、情報がそ
のバインドされたセッション(対話)を介して流れ始め
る。その対話(その承諾に依存して)は両方向(二重)
又は一時に1つの方向(単方向)のものである。電話等
のように、オペレータ(ネットワーク制御)は、エラ
ー、無効な交換(承諾以外の)、又はどちらかの関係者
からの対話が完了したという通知に関してその電話を監
視できる。最後に、124で示されるように、ネットワ
ーク搬送機構(電話システムと同じ)は接続性及び対話
の流れを管理する。これは1本の線による多くの対話を
可能にする。
のバインドされたセッション(対話)を介して流れ始め
る。その対話(その承諾に依存して)は両方向(二重)
又は一時に1つの方向(単方向)のものである。電話等
のように、オペレータ(ネットワーク制御)は、エラ
ー、無効な交換(承諾以外の)、又はどちらかの関係者
からの対話が完了したという通知に関してその電話を監
視できる。最後に、124で示されるように、ネットワ
ーク搬送機構(電話システムと同じ)は接続性及び対話
の流れを管理する。これは1本の線による多くの対話を
可能にする。
【0066】E.リンクされたオブジェクト・マネージ
ャを使うオブジェクト指向協調処理 そのオブジェクト指向の例では、アプリケーションは複
数組のオブジェクトである。これらオブジェクトは、デ
ータ(通常は、作業単位)に関して所望の効果を達成す
るためにいくつかの調整された全体的作用(ユーザ・ア
クション又はビジネス・プロセスによる)では、他のオ
ブジェクトを呼び出すことにより情報及び作用を共用す
る。これらの呼出は、制御、回復、及びこれらオブジェ
クト間メッセージ呼出の経路管理を行うオブジェクト・
マネージャによって独立して処理される。
ャを使うオブジェクト指向協調処理 そのオブジェクト指向の例では、アプリケーションは複
数組のオブジェクトである。これらオブジェクトは、デ
ータ(通常は、作業単位)に関して所望の効果を達成す
るためにいくつかの調整された全体的作用(ユーザ・ア
クション又はビジネス・プロセスによる)では、他のオ
ブジェクトを呼び出すことにより情報及び作用を共用す
る。これらの呼出は、制御、回復、及びこれらオブジェ
クト間メッセージ呼出の経路管理を行うオブジェクト・
マネージャによって独立して処理される。
【0067】図11は本発明の全体的ブロック図を示
す。図示のように、対話的協調処理管理機能がオブジェ
クト間呼出関係に加えられる時、標準化された可般性の
オブジェクト指向協調インターフェースを得ることがで
きる。それは、作業単位におけるオブジェクト間呼出の
文脈的管理を可能にするであろう。オブジェクトのエー
ジェントとしてのオブジェクト・マネージャは、アプリ
ケーション・プロセス(オブジェクト間のオブジェクト
−アクション・メッセージ呼出)が協調的にされるべき
場合、協調的にされなければならないプロセッサであ
る。オブジェクト・マネージャは、設定された対話を使
用してそれらの間の処理テキスト全体も調整しなければ
ならない。
す。図示のように、対話的協調処理管理機能がオブジェ
クト間呼出関係に加えられる時、標準化された可般性の
オブジェクト指向協調インターフェースを得ることがで
きる。それは、作業単位におけるオブジェクト間呼出の
文脈的管理を可能にするであろう。オブジェクトのエー
ジェントとしてのオブジェクト・マネージャは、アプリ
ケーション・プロセス(オブジェクト間のオブジェクト
−アクション・メッセージ呼出)が協調的にされるべき
場合、協調的にされなければならないプロセッサであ
る。オブジェクト・マネージャは、設定された対話を使
用してそれらの間の処理テキスト全体も調整しなければ
ならない。
【0068】相互に無関係なリモート・プロシージャ呼
出によってサポートされる呼出関係が協調オブジェクト
・マネージャと関連して使用されるので、オブジェクト
自体は所与のターゲット・オブジェクトが何処にあるか
を知らないままであり、文脈的には独立したままであ
る。オブジェクト・マネージャ間の調整は、対話的サー
バ・スタブを利用し且つ経路指定のために使用されるリ
モート・プロシージャ呼出関係と関連して作用する対話
関係を使用して実施され、リモート・オブジェクトに向
けられたオブジェクト間メッセージ呼出を管理する。
出によってサポートされる呼出関係が協調オブジェクト
・マネージャと関連して使用されるので、オブジェクト
自体は所与のターゲット・オブジェクトが何処にあるか
を知らないままであり、文脈的には独立したままであ
る。オブジェクト・マネージャ間の調整は、対話的サー
バ・スタブを利用し且つ経路指定のために使用されるリ
モート・プロシージャ呼出関係と関連して作用する対話
関係を使用して実施され、リモート・オブジェクトに向
けられたオブジェクト間メッセージ呼出を管理する。
【0069】協調機能(処理)分散がその協調の仲間の
処理能力に基づいて変化し得ることは当業者には明らか
であろう。例えば、LAN接続されたワークステーショ
ンは、単にユーザ・インターフェースを与えるワークス
テーションよりもずっと大きな処理能力を持っている。
LAN接続されたワークステーションにはより多くの機
能が分配可能である。
処理能力に基づいて変化し得ることは当業者には明らか
であろう。例えば、LAN接続されたワークステーショ
ンは、単にユーザ・インターフェースを与えるワークス
テーションよりもずっと大きな処理能力を持っている。
LAN接続されたワークステーションにはより多くの機
能が分配可能である。
【0070】F.協調処理に対するオブジェクト・マネ
ージャのリンキング 図12を参照して、本発明によるオブジェクト指向コン
ピュータ環境における協調処理に対するオブジェクト・
マネージャのリンキングを説明する。図12では、2つ
のオブジェクト指向コンピュータ環境13a及び13b
が示される。オブジェクト指向コンピュータ環境13a
及び13bの各々は、それぞれ、第1及び第2のコンピ
ュータ・プラットフォーム12a及び12b上で実行す
る。第1のオブジェクト指向コンピュータ環境13aは
複数の第1オブジェクト201a、202a及び203
aを含み、第2のオブジェクト指向コンピュータ環境1
3bは複数の第2オブジェクト201b、202bを含
む。明瞭にするために、オブジェクト指向コンピュータ
環境13aにおけるオブジェクトは「ローカル・オブジ
ェクト」と呼ばれ、一方、オブジェクト指向コンピュー
タ環境13bにおけるオブジェクトは「リモート・オブ
ジェクト」と呼ばれる。しかし、それらオブジェクト
は、すべて、後述のオブジェクト・マネージャ及びリモ
ート・プロシージャ・コールに対する特殊オブジェクト
の類縁性に関連した用語「ローカル」及び「リモート」
を持ったそれぞれのコンピュータ・プラットフォーム上
で実行する通常のオブジェクトである。リモート・プロ
シージャ・コールがオブジェクト指向コンピュータ環境
13bから生じる時、オブジェクト201b及び202
bはローカル・オブジェクトであり、オブジェクト20
1a、202a及び203aはリモート・オブジェクト
である。
ージャのリンキング 図12を参照して、本発明によるオブジェクト指向コン
ピュータ環境における協調処理に対するオブジェクト・
マネージャのリンキングを説明する。図12では、2つ
のオブジェクト指向コンピュータ環境13a及び13b
が示される。オブジェクト指向コンピュータ環境13a
及び13bの各々は、それぞれ、第1及び第2のコンピ
ュータ・プラットフォーム12a及び12b上で実行す
る。第1のオブジェクト指向コンピュータ環境13aは
複数の第1オブジェクト201a、202a及び203
aを含み、第2のオブジェクト指向コンピュータ環境1
3bは複数の第2オブジェクト201b、202bを含
む。明瞭にするために、オブジェクト指向コンピュータ
環境13aにおけるオブジェクトは「ローカル・オブジ
ェクト」と呼ばれ、一方、オブジェクト指向コンピュー
タ環境13bにおけるオブジェクトは「リモート・オブ
ジェクト」と呼ばれる。しかし、それらオブジェクト
は、すべて、後述のオブジェクト・マネージャ及びリモ
ート・プロシージャ・コールに対する特殊オブジェクト
の類縁性に関連した用語「ローカル」及び「リモート」
を持ったそれぞれのコンピュータ・プラットフォーム上
で実行する通常のオブジェクトである。リモート・プロ
シージャ・コールがオブジェクト指向コンピュータ環境
13bから生じる時、オブジェクト201b及び202
bはローカル・オブジェクトであり、オブジェクト20
1a、202a及び203aはリモート・オブジェクト
である。
【0071】更に、図12を参照すると、オブジェクト
指向コンピュータ環境13a及び13bの各々は、それ
ぞれ、協調オブジェクト・マネージャ209a、209
bを含んでいる。各協調オブジェクト・マネージャは、
それぞれのオブジェクト210a、202a、203a
及び201b、202bの間でアクション・メッセージ
を転送するためのローカル・オブジェクト・マネージャ
204a、204bを含んでいる。更に、オブジェクト
指向コンピュータ環境13a及びオブジェクト指向コン
ピュータ環境13bを協調的に接続するためのコミュニ
ケーション・ネットワーク12が設けられる。
指向コンピュータ環境13a及び13bの各々は、それ
ぞれ、協調オブジェクト・マネージャ209a、209
bを含んでいる。各協調オブジェクト・マネージャは、
それぞれのオブジェクト210a、202a、203a
及び201b、202bの間でアクション・メッセージ
を転送するためのローカル・オブジェクト・マネージャ
204a、204bを含んでいる。更に、オブジェクト
指向コンピュータ環境13a及びオブジェクト指向コン
ピュータ環境13bを協調的に接続するためのコミュニ
ケーション・ネットワーク12が設けられる。
【0072】図12に示されるように、各協調オブジェ
クト・マネージャ209a及び209bは、リモート・
オブジェクトに送られる関連オブジェクトからの第1ア
クション・メッセージを識別するためのオブジェクト・
マネージャ・クライアント・スタブ205a、205b
を含んでいる。従って、クライアント・スタブ205a
は、オブジェクト201b又は202bに送られるオブ
ジェクト201a、202a、又は203aからのメッ
セージを識別する。同様に、クライアント・スタブ20
5bは、オブジェクト201a、202a、又は203
aに送られるオブジェクト201b又は202bからの
メッセージを識別する。同様に、各協調オブジェクト・
マネージャは、オブジェクト・マネージャ・サーバ・ス
タブ206a、206bを含み、それらサーバ・スタブ
は、それ自身のコンピュータ・プラットフォームの外の
オブジェクトからのメッセージをアンマーシャルしてこ
れらメッセージをローカル構文に変換し、そしてそれ自
身のコンピュータ・プラットフォーム上の適当なオブジ
ェクトにこれらメッセージを送る。
クト・マネージャ209a及び209bは、リモート・
オブジェクトに送られる関連オブジェクトからの第1ア
クション・メッセージを識別するためのオブジェクト・
マネージャ・クライアント・スタブ205a、205b
を含んでいる。従って、クライアント・スタブ205a
は、オブジェクト201b又は202bに送られるオブ
ジェクト201a、202a、又は203aからのメッ
セージを識別する。同様に、クライアント・スタブ20
5bは、オブジェクト201a、202a、又は203
aに送られるオブジェクト201b又は202bからの
メッセージを識別する。同様に、各協調オブジェクト・
マネージャは、オブジェクト・マネージャ・サーバ・ス
タブ206a、206bを含み、それらサーバ・スタブ
は、それ自身のコンピュータ・プラットフォームの外の
オブジェクトからのメッセージをアンマーシャルしてこ
れらメッセージをローカル構文に変換し、そしてそれ自
身のコンピュータ・プラットフォーム上の適当なオブジ
ェクトにこれらメッセージを送る。
【0073】各オブジェクト指向コンピュータ環境13
a、13bは、それぞれ、対話サーバ207a、207
bも含んでいる。その対話サーバは、リモート・オブジ
ェクトにより呼び出されたローカル・オブジェクトがそ
れを呼び出したリモート・オブジェクトからのアクショ
ン・メッセージを首尾良く遂行したかどうか決定するこ
とによってローカル・オブジェクト・マネージャ間の協
調コミュニケーションを可能にし、そのアクション・メ
ッセージが首尾良く遂行されたかどうかの標識をローカ
ル・オブジェクト・マネージャに与える。従って、ロー
カル・オブジェクト・マネージャは、そのローカル・オ
ブジェクト・マネージャによって制御される作業単位と
関連したリモート・オブジェクトの変化を追跡でき、従
って、協調処理を実施できる。
a、13bは、それぞれ、対話サーバ207a、207
bも含んでいる。その対話サーバは、リモート・オブジ
ェクトにより呼び出されたローカル・オブジェクトがそ
れを呼び出したリモート・オブジェクトからのアクショ
ン・メッセージを首尾良く遂行したかどうか決定するこ
とによってローカル・オブジェクト・マネージャ間の協
調コミュニケーションを可能にし、そのアクション・メ
ッセージが首尾良く遂行されたかどうかの標識をローカ
ル・オブジェクト・マネージャに与える。従って、ロー
カル・オブジェクト・マネージャは、そのローカル・オ
ブジェクト・マネージャによって制御される作業単位と
関連したリモート・オブジェクトの変化を追跡でき、従
って、協調処理を実施できる。
【0074】図12のシステムを使用する協調処理のオ
ペレーションを説明する。この例のために、ローカル・
オブジェクト・マネージャ204aはリモート・オブジ
ェクト・マネージャ204bとの対話を開始するものと
仮定し、従って、「ローカル・オブジェクト・マネージ
ャ」及び「リモート・オブジェクト・マネージャ」とい
う用語が使用される。しかし、オブジェクト・マネージ
ャ204bがローカル・オブジェクト・マネージャとし
て作用し、オブジェクト・マネージャ204aがリモー
ト・オブジェクト・マネージャとして作用するように、
オブジェクト・マネージャ204bからオブジェクト・
マネージャ204aに開始が移動可能であることは当業
者には明らかである。
ペレーションを説明する。この例のために、ローカル・
オブジェクト・マネージャ204aはリモート・オブジ
ェクト・マネージャ204bとの対話を開始するものと
仮定し、従って、「ローカル・オブジェクト・マネージ
ャ」及び「リモート・オブジェクト・マネージャ」とい
う用語が使用される。しかし、オブジェクト・マネージ
ャ204bがローカル・オブジェクト・マネージャとし
て作用し、オブジェクト・マネージャ204aがリモー
ト・オブジェクト・マネージャとして作用するように、
オブジェクト・マネージャ204bからオブジェクト・
マネージャ204aに開始が移動可能であることは当業
者には明らかである。
【0075】協調処理は、協調オブジェクト・マネージ
ャ209aがコミュニケーション・ネットワーク12の
協調構文を使用して他の協調オブジェクト・マネージャ
209bとの対話を開始又は要求する時に始まる。リモ
ート協調オブジェクト・マネージャ209bは、対話の
要求に応答してそれを受け付けるか、又はそれを拒否す
る。
ャ209aがコミュニケーション・ネットワーク12の
協調構文を使用して他の協調オブジェクト・マネージャ
209bとの対話を開始又は要求する時に始まる。リモ
ート協調オブジェクト・マネージャ209bは、対話の
要求に応答してそれを受け付けるか、又はそれを拒否す
る。
【0076】一旦、対話が受け付けられると、対話コミ
ュニケーション・ドライバに対するコミュニケーション
・サービス・オブジェクトがセッションを設定し、対話
が始まる。その対話は、オブジェクト間リモート・プロ
シージャ・コール・メッセージングの独立した呼出要件
を十分にサポートするように、及び協調オブジェクト・
マネージャ間の作業単位及び回復メッセージをサポート
するように、両方向に同時に生じる。コミュニケーショ
ン・サービス対話ドライバはエラー及びネットワーク障
害に関してそのセッションを監視する。協調オブジェク
ト・マネージャ209a及び209bの間の対話は、協
調オブジェクト・マネージャのクライアント・スタブ2
05a、205b及びサーバ・スタブ206a、206
bによって送信及び受信されるリモート・プロシージャ
・コールのメッセージ要求より成る。従って、図12に
示されるように、対話サーバ207a、207bは、協
調オブジェクト・マネージャ・クライアント・スタブ2
05a、205b及びサーバ・スタブ206a、206
bによって送信及び受信されるリモート・プロシージャ
・コールを、関連のローカル・オブジェクト・マネージ
ャ204a、204bに直接コミュニケートする。
ュニケーション・ドライバに対するコミュニケーション
・サービス・オブジェクトがセッションを設定し、対話
が始まる。その対話は、オブジェクト間リモート・プロ
シージャ・コール・メッセージングの独立した呼出要件
を十分にサポートするように、及び協調オブジェクト・
マネージャ間の作業単位及び回復メッセージをサポート
するように、両方向に同時に生じる。コミュニケーショ
ン・サービス対話ドライバはエラー及びネットワーク障
害に関してそのセッションを監視する。協調オブジェク
ト・マネージャ209a及び209bの間の対話は、協
調オブジェクト・マネージャのクライアント・スタブ2
05a、205b及びサーバ・スタブ206a、206
bによって送信及び受信されるリモート・プロシージャ
・コールのメッセージ要求より成る。従って、図12に
示されるように、対話サーバ207a、207bは、協
調オブジェクト・マネージャ・クライアント・スタブ2
05a、205b及びサーバ・スタブ206a、206
bによって送信及び受信されるリモート・プロシージャ
・コールを、関連のローカル・オブジェクト・マネージ
ャ204a、204bに直接コミュニケートする。
【0077】図12のリモート・プロシージャ・コール
のフローは、図3と関連して既述したものと同じであ
る。更に詳しく言えば、オブジェクト指向コンピュータ
環境13aからオブジェクト指向コンピュータ環境13
bに送られたリモート・プロシージャ・コールに対し
て、オブジェクト201aのようなローカル・オブジェ
クトは、オブジェクト指向コンピュータ環境13aにな
い他のオブジェクトに向けられたメッセージをローカル
・オブジェクト・マネージャ204aに送る。オブジェ
クト・マネージャ204aはクライアント・スタブ20
5aを呼び出す。そのクライアント・スタブは、クライ
アント・プロセスにとっては、それが呼び出したい実際
のサーバ・プロセスにあるように見える。クライアント
・スタブ205aはリモート・サーバ・プロセスへの呼
出に対する呼出アーギュメントをマーシャルする。従っ
て、クライアント・スタブ205aは、リモート・オブ
ジェクトに送られるべきオブジェクト−アクション・メ
ッセージを含むパケットを形成する。そこで、マーシャ
ルされたストリームは、ネットワーク機構を使用して、
対話ドライバ208a及びコミュニケーション・ネット
ワーク12へそのストリームを経路指定する対話サーバ
207aに送られる。
のフローは、図3と関連して既述したものと同じであ
る。更に詳しく言えば、オブジェクト指向コンピュータ
環境13aからオブジェクト指向コンピュータ環境13
bに送られたリモート・プロシージャ・コールに対し
て、オブジェクト201aのようなローカル・オブジェ
クトは、オブジェクト指向コンピュータ環境13aにな
い他のオブジェクトに向けられたメッセージをローカル
・オブジェクト・マネージャ204aに送る。オブジェ
クト・マネージャ204aはクライアント・スタブ20
5aを呼び出す。そのクライアント・スタブは、クライ
アント・プロセスにとっては、それが呼び出したい実際
のサーバ・プロセスにあるように見える。クライアント
・スタブ205aはリモート・サーバ・プロセスへの呼
出に対する呼出アーギュメントをマーシャルする。従っ
て、クライアント・スタブ205aは、リモート・オブ
ジェクトに送られるべきオブジェクト−アクション・メ
ッセージを含むパケットを形成する。そこで、マーシャ
ルされたストリームは、ネットワーク機構を使用して、
対話ドライバ208a及びコミュニケーション・ネット
ワーク12へそのストリームを経路指定する対話サーバ
207aに送られる。
【0078】リモート・ネットワーク対話ドライバ20
8b及び対話サーバ207bは、オブジェクト指向コン
ピュータ環境13bのサーバ・スタブ206bへそのメ
ッセージを経路指定する。サーバ・スタブ206bは、
サーバ・スタブが必要とするアーギュメント及びフォー
マットへのそのネットワーク・ストリームのアンマーシ
ャリングを行う。サーバ・スタブ206bはオブジェク
ト202bのような適当なオブジェクトを、ローカルオ
ブジェクト・マネージャ204bを介して呼び出す。リ
モート・オブジェクト202bはそのデータに関するメ
ソッドを遂行し、その結果をサーバ・スタブ206bに
戻す。サーバ・スタブ206bはその戻された結果を1
つ又は複数のネットワーク・フォーマット・ストリーム
にマーシャルし、そしてそれらを対話サーバ207b及
び対話ドライバ208bを介してネットワーキング・ル
ーチンに送り戻す。コミュニケーション・ネットワーク
12及びネットワーク搬送機構、即ち、対話ドライバ2
08a及び対話サーバ207aは、元のシステム及びク
ライアント・スタブ205aへの戻りを経路指定する。
最後に、クライアント・スタブ205aは、その戻った
データをアンマーシャルし、そしてそれをクライアント
・オブジェクト201aに戻す。従って、そのプロセス
は、クライアント・オブジェクト201aにとっては、
他のローカル・プロセスへの正規のプロシージャ・コー
ルであるように見える。
8b及び対話サーバ207bは、オブジェクト指向コン
ピュータ環境13bのサーバ・スタブ206bへそのメ
ッセージを経路指定する。サーバ・スタブ206bは、
サーバ・スタブが必要とするアーギュメント及びフォー
マットへのそのネットワーク・ストリームのアンマーシ
ャリングを行う。サーバ・スタブ206bはオブジェク
ト202bのような適当なオブジェクトを、ローカルオ
ブジェクト・マネージャ204bを介して呼び出す。リ
モート・オブジェクト202bはそのデータに関するメ
ソッドを遂行し、その結果をサーバ・スタブ206bに
戻す。サーバ・スタブ206bはその戻された結果を1
つ又は複数のネットワーク・フォーマット・ストリーム
にマーシャルし、そしてそれらを対話サーバ207b及
び対話ドライバ208bを介してネットワーキング・ル
ーチンに送り戻す。コミュニケーション・ネットワーク
12及びネットワーク搬送機構、即ち、対話ドライバ2
08a及び対話サーバ207aは、元のシステム及びク
ライアント・スタブ205aへの戻りを経路指定する。
最後に、クライアント・スタブ205aは、その戻った
データをアンマーシャルし、そしてそれをクライアント
・オブジェクト201aに戻す。従って、そのプロセス
は、クライアント・オブジェクト201aにとっては、
他のローカル・プロセスへの正規のプロシージャ・コー
ルであるように見える。
【0079】G.協調オブジェクト処理の詳細な実施 図13乃至図17を参照して、本発明に従って図12の
協調オブジェクト・マネージャ209a、209bによ
って遂行される詳細なオペレーションを説明する。
協調オブジェクト・マネージャ209a、209bによ
って遂行される詳細なオペレーションを説明する。
【0080】まず、図13を参照して、正規の(非協調
的)オブジェクト・マネージャ・オペレーションのため
に遂行されるオペレーションを説明する。オブジェクト
相互間のこの関係は、全体的には、他の任意のオブジェ
クト相互間の関係とは無関係であり、呼出モデルに従
う。すべてのメッセージが、まず、ユーザ選択によって
開始される。ブロック302において、メッセージャ
(メッセンジャと呼ばれることもある)は、オブジェク
ト201a、202a、又は203aからオブジェクト
・マネージャ204aへのオブジェクト−アクション・
メッセージを受け取り、経路指定する。オブジェクト・
マネージャ204aはターゲット・オブジェクトの状態
を決定し、そのインスタンスが実体化されるのを保証す
る。そこで、ブロック303において、オブジェクト・
マネージャはそのメッセージをターゲット・オブジェク
トへ経路指定する。ターゲット・オブジェクトのメソッ
ドはそのメッセージを実行し、そして、その結果がある
場合、ブロック304において、それをメッセージの形
で戻す。オブジェクト・マネージャ204aがそのメッ
セージを元のオブジェクトに戻す。ブロック305で
は、そのセッションが継続する場合、そのオブジェクト
・マネージャへの他のオブジェクト−アクション・メッ
セージを開始させる他のオブジェクト及びアクションが
選択される。ブロック301の処理が繰り返される。そ
うでなく、ユーザがそのセッションを終わらせる場合、
遂行されたすべての作業は、ブロック306において、
データベースにコミットされなければならない。
的)オブジェクト・マネージャ・オペレーションのため
に遂行されるオペレーションを説明する。オブジェクト
相互間のこの関係は、全体的には、他の任意のオブジェ
クト相互間の関係とは無関係であり、呼出モデルに従
う。すべてのメッセージが、まず、ユーザ選択によって
開始される。ブロック302において、メッセージャ
(メッセンジャと呼ばれることもある)は、オブジェク
ト201a、202a、又は203aからオブジェクト
・マネージャ204aへのオブジェクト−アクション・
メッセージを受け取り、経路指定する。オブジェクト・
マネージャ204aはターゲット・オブジェクトの状態
を決定し、そのインスタンスが実体化されるのを保証す
る。そこで、ブロック303において、オブジェクト・
マネージャはそのメッセージをターゲット・オブジェク
トへ経路指定する。ターゲット・オブジェクトのメソッ
ドはそのメッセージを実行し、そして、その結果がある
場合、ブロック304において、それをメッセージの形
で戻す。オブジェクト・マネージャ204aがそのメッ
セージを元のオブジェクトに戻す。ブロック305で
は、そのセッションが継続する場合、そのオブジェクト
・マネージャへの他のオブジェクト−アクション・メッ
セージを開始させる他のオブジェクト及びアクションが
選択される。ブロック301の処理が繰り返される。そ
うでなく、ユーザがそのセッションを終わらせる場合、
遂行されたすべての作業は、ブロック306において、
データベースにコミットされなければならない。
【0081】図14を参照すると、協調環境において、
オブジェクト・マネージャはオブジェクトの状態のみな
らず、それの類縁性(処理のオブジェクト・マネージャ
に対する近似性)及びロケーションも決定しなければな
らない。異なるロケーションにある作業(オブジェクト
に対する修正)を調整するために、自己のオブジェクト
・マネージャ(元のオブジェクトに対するローカルの近
似性)は、その作用に関してオブジェクトに施された何
らかの修正を通知されなければならない。
オブジェクト・マネージャはオブジェクトの状態のみな
らず、それの類縁性(処理のオブジェクト・マネージャ
に対する近似性)及びロケーションも決定しなければな
らない。異なるロケーションにある作業(オブジェクト
に対する修正)を調整するために、自己のオブジェクト
・マネージャ(元のオブジェクトに対するローカルの近
似性)は、その作用に関してオブジェクトに施された何
らかの修正を通知されなければならない。
【0082】ブロック310を参照すると、ターゲット
・オブジェクトの類縁性がオブジェクト/クラスのアト
リビュートによって決定される。類縁性は、処理オブジ
ェクト・イメージに関するインスタンス化されたオブジ
ェクトのロケーションである。類縁性は、メッセージが
ローカルコンピュータ環境の外に経路指定されなければ
ならないかどうかを決定するために使用される。オブジ
ェクトの処理状態は、状態変化を検出できるように決定
される。オブジェクトの処理状態は、その変化の尺度で
ある。例えば、1つのオブジェクトがインスタンス化さ
れる時、そのデータの変化が生じてはいない。しかし、
メソッドが実行されてしまった場合、そのオブジェクト
の「処理状態」は変化してしまい、この情報は記録され
なければならない。ブロック311において、そのオブ
ジェクトの記録された(最後の)状態がアクセスされ、
そして、ブロック312において、新しい(現在の)状
態が比較される。それらが異なる場合、そのオブジェク
トの「処理状態」は変更されている。各変化は、それが
行われた順序で記録されなければならない。ロールバッ
クの場合、元の状態を回復するためには、これらの「状
態」は逆の順序で元に戻されなければならない。
・オブジェクトの類縁性がオブジェクト/クラスのアト
リビュートによって決定される。類縁性は、処理オブジ
ェクト・イメージに関するインスタンス化されたオブジ
ェクトのロケーションである。類縁性は、メッセージが
ローカルコンピュータ環境の外に経路指定されなければ
ならないかどうかを決定するために使用される。オブジ
ェクトの処理状態は、状態変化を検出できるように決定
される。オブジェクトの処理状態は、その変化の尺度で
ある。例えば、1つのオブジェクトがインスタンス化さ
れる時、そのデータの変化が生じてはいない。しかし、
メソッドが実行されてしまった場合、そのオブジェクト
の「処理状態」は変化してしまい、この情報は記録され
なければならない。ブロック311において、そのオブ
ジェクトの記録された(最後の)状態がアクセスされ、
そして、ブロック312において、新しい(現在の)状
態が比較される。それらが異なる場合、そのオブジェク
トの「処理状態」は変更されている。各変化は、それが
行われた順序で記録されなければならない。ロールバッ
クの場合、元の状態を回復するためには、これらの「状
態」は逆の順序で元に戻されなければならない。
【0083】ターゲット・オブジェクトの処理状態(そ
れのデータ)が変化した場合(ブロック312)、その
ユーザ・セッションに対する作業単位は、オブジェクト
の文脈(処理におけるポイント)が知られるようにその
変化を反映するよう更新されなければならない(ブロッ
ク314)。この更新は図15に示される。状態が変化
しなかった場合、その状態の類縁性(ブロック315)
はそのオブジェクトへメッセージを経路指定するために
使用される(ブロック316、317)。オブジェクト
がローカルでない場合、ネットワーク機能がメッセージ
を経路指定するために使用されるであろう。オブジェク
トがローカルである場合、正規のメッセージ分配が使用
される。
れのデータ)が変化した場合(ブロック312)、その
ユーザ・セッションに対する作業単位は、オブジェクト
の文脈(処理におけるポイント)が知られるようにその
変化を反映するよう更新されなければならない(ブロッ
ク314)。この更新は図15に示される。状態が変化
しなかった場合、その状態の類縁性(ブロック315)
はそのオブジェクトへメッセージを経路指定するために
使用される(ブロック316、317)。オブジェクト
がローカルでない場合、ネットワーク機能がメッセージ
を経路指定するために使用されるであろう。オブジェク
トがローカルである場合、正規のメッセージ分配が使用
される。
【0084】図15を参照すると、1つのユーザ・セッ
ションに対する作業単位は、オブジェクトの状態がその
セッションの文脈において変化する時に更新されなけれ
ばならない。これは協調処理に対してもまた行われなけ
ればならず、オブジェクト間メッセージングから独立し
て管理されなければならない。図15に示されるよう
に、変化した状態を有するオブジェクトの類縁性(ロケ
ーション)は作業単位処理同期化及び文脈管理のロケー
ションを決定するために、ブロック320において使用
される。例えば、オブジェクトの類縁性がローカルであ
る場合、ローカルの作業単位は制御中であると仮定さ
れ、ブロック321において更新される。
ションに対する作業単位は、オブジェクトの状態がその
セッションの文脈において変化する時に更新されなけれ
ばならない。これは協調処理に対してもまた行われなけ
ればならず、オブジェクト間メッセージングから独立し
て管理されなければならない。図15に示されるよう
に、変化した状態を有するオブジェクトの類縁性(ロケ
ーション)は作業単位処理同期化及び文脈管理のロケー
ションを決定するために、ブロック320において使用
される。例えば、オブジェクトの類縁性がローカルであ
る場合、ローカルの作業単位は制御中であると仮定さ
れ、ブロック321において更新される。
【0085】オブジェクトがリモート類縁性を持つ場
合、リモート作業単位は文脈管理を同期化するように通
知されなければならい。これを行うために、リモート・
オブジェクトのオブジェクト・マネージャとローカル
(処理)オブジェクト・マネージャとの間の協調(対話
的)セッションは、一方がまだ示していない場合(ブロ
ック322)に設定される。ブロック324において、
その協調セッションを使用して、UOW(作業単位)が
リモート・オブジェクト・マネージャに送られ、作業単
位管理のための更新情報を与える。UOW更新メッセー
ジは、リモート・オブジェクトによるメッセージの首尾
良い完了を表わす。例えば、UOW更新メッセージは、
下記のように、UOWの文脈においてオブジェクト−ア
クション・メッセージとして構成可能である。即ち、 From:OM"1" TO"2": REF: "UOW #123": "オブジェクト・インスタンスABC、メソッドDEF
は正常" そこで、OM"2"は、メソッド"DEF"がオブジェクト
・インスタンス"ABC"に対して実行されたことをUO
W"123"が示すために、そのUOWテーブルを更新す
るであろう。これは、"ABC"に対する"状態変化"を表
わす。OM"1"及びOM"2"の両方とも、それらのそれ
ぞれのUOWテーブルにUOW"123"と共にその処理
されたオブジェクトIDの標識を含むであろう。この情
報は、典型的には、既存のUOW管理の一部分である。
合、リモート作業単位は文脈管理を同期化するように通
知されなければならい。これを行うために、リモート・
オブジェクトのオブジェクト・マネージャとローカル
(処理)オブジェクト・マネージャとの間の協調(対話
的)セッションは、一方がまだ示していない場合(ブロ
ック322)に設定される。ブロック324において、
その協調セッションを使用して、UOW(作業単位)が
リモート・オブジェクト・マネージャに送られ、作業単
位管理のための更新情報を与える。UOW更新メッセー
ジは、リモート・オブジェクトによるメッセージの首尾
良い完了を表わす。例えば、UOW更新メッセージは、
下記のように、UOWの文脈においてオブジェクト−ア
クション・メッセージとして構成可能である。即ち、 From:OM"1" TO"2": REF: "UOW #123": "オブジェクト・インスタンスABC、メソッドDEF
は正常" そこで、OM"2"は、メソッド"DEF"がオブジェクト
・インスタンス"ABC"に対して実行されたことをUO
W"123"が示すために、そのUOWテーブルを更新す
るであろう。これは、"ABC"に対する"状態変化"を表
わす。OM"1"及びOM"2"の両方とも、それらのそれ
ぞれのUOWテーブルにUOW"123"と共にその処理
されたオブジェクトIDの標識を含むであろう。この情
報は、典型的には、既存のUOW管理の一部分である。
【0086】ブロック325において、リモートUOW
の肯定応答が受信され、ローカルオブジェクト・マネー
ジャは、例えば、オブジェクトのデータがチェックポイ
ントされたことを示すように、そのオブジェクトの状態
を更新する。その更新が成功した場合(ブロック32
6)、正規のオブジェクト・マネージャ処理が再開され
る(ブロック313)。その更新が不成功であった場
合、修正は取り消されなければならず、又はそのオブジ
ェクトに対するデータはそれの前の状態にロールバック
されなければならない(ブロック327及び図16参
照)。
の肯定応答が受信され、ローカルオブジェクト・マネー
ジャは、例えば、オブジェクトのデータがチェックポイ
ントされたことを示すように、そのオブジェクトの状態
を更新する。その更新が成功した場合(ブロック32
6)、正規のオブジェクト・マネージャ処理が再開され
る(ブロック313)。その更新が不成功であった場
合、修正は取り消されなければならず、又はそのオブジ
ェクトに対するデータはそれの前の状態にロールバック
されなければならない(ブロック327及び図16参
照)。
【0087】図16を参照して、協調UOWロールバッ
クに対するオペレーションを説明する。ブロック330
において、データ管理サービス処理装置のロケーション
を決定するために、変化した状態を有するオブジェクト
の類縁性(ロケーション)が使用される。例えば、オブ
ジェクトの類縁性がローカルである場合、ローカルのデ
ータ管理サービスは制御中であると仮定され、ロールバ
ックがブロック331において生じる。オブジェクトが
リモート類縁性を有する場合、リモートの作業単位は文
脈管理を同期化するように通知されなければならない。
これを行うためには、リモート・オブジェクト及びロー
カル(処理)オブジェクトのオブジェクト・マネージャ
の間の協調(対話的)セッションが、それらの一方がま
だ存在しない場合(ブロック332)、ブロック330
において設定される。
クに対するオペレーションを説明する。ブロック330
において、データ管理サービス処理装置のロケーション
を決定するために、変化した状態を有するオブジェクト
の類縁性(ロケーション)が使用される。例えば、オブ
ジェクトの類縁性がローカルである場合、ローカルのデ
ータ管理サービスは制御中であると仮定され、ロールバ
ックがブロック331において生じる。オブジェクトが
リモート類縁性を有する場合、リモートの作業単位は文
脈管理を同期化するように通知されなければならない。
これを行うためには、リモート・オブジェクト及びロー
カル(処理)オブジェクトのオブジェクト・マネージャ
の間の協調(対話的)セッションが、それらの一方がま
だ存在しない場合(ブロック332)、ブロック330
において設定される。
【0088】ブロック334では、ロールバック・メッ
セージが文脈更新のために制御作業単位に送られる。ブ
ロック335では、リモートUOW更新の肯定応答が受
信され、ローカル・オブジェクト・マネージャは、例え
ば、オブジェクトのデータが最後のチェックポイントま
でロールバックされたことを示すように、そのオブジェ
クトの状態を更新する。ロールバックが成功した場合
(ブロック336)、作業単位に対して定義された文脈
に従って、オブジェクト・マネージャの処理が再開され
る。例えば、ブロック338ではメッセージがユーザに
送られ、ブロック340では失敗したプロセスが再試行
される。ロールバックが不成功であった場合(ブロック
336)、制御作業単位文脈に従ってエラー回復が行わ
れなければならない。例えば、エラー・メッセージがユ
ーザにセットされ(ブロック337)、UOWが中止さ
れる(ブロック339)。
セージが文脈更新のために制御作業単位に送られる。ブ
ロック335では、リモートUOW更新の肯定応答が受
信され、ローカル・オブジェクト・マネージャは、例え
ば、オブジェクトのデータが最後のチェックポイントま
でロールバックされたことを示すように、そのオブジェ
クトの状態を更新する。ロールバックが成功した場合
(ブロック336)、作業単位に対して定義された文脈
に従って、オブジェクト・マネージャの処理が再開され
る。例えば、ブロック338ではメッセージがユーザに
送られ、ブロック340では失敗したプロセスが再試行
される。ロールバックが不成功であった場合(ブロック
336)、制御作業単位文脈に従ってエラー回復が行わ
れなければならない。例えば、エラー・メッセージがユ
ーザにセットされ(ブロック337)、UOWが中止さ
れる(ブロック339)。
【0089】図17を参照して、協調UOWをコミット
するためのオペレーション(図13のブロック306)
を説明する。ブロック351において、データ管理サー
ビス処理ユニットのロケーションを決定するために、変
化した状態を有するオブジェクトの類縁性(ロケーショ
ン)が使用される。オブジェクトの類縁性がローカルで
ある場合、ローカルのデータ管理サービスが制御中であ
ると仮定され、ブロック352においてコミットが行わ
れる。そのオブジェクトがリモート類縁性を有する場
合、リモート作業単位が文脈管理を同期化するするよう
に通知されなければならない。これを行うために、リモ
ート・オブジェクトのオブジェクト・マネージャとロー
カル(処理)オブジェクトのオブジェクト・マネージャ
との間の協調(対話的)セッションが、その一方がまだ
存在しない場合(ブロック353)に設定される(ブロ
ック354)。ブロック355では、文脈更新のため
に、コミット・メッセージが制御作業単位に送られる。
ブロック356では、リモートUOW更新の肯定応答が
受信され、ローカルオブジェクト・マネージャは、例え
ば、そのオブジェクトの状態が最後のチェックポイント
までロールバックされたことを示すようにオブジェクト
の状態を更新する。コミットが成功した場合(ブロック
357)、作業単位に対して定義された文脈に従って、
オブジェクト・マネージャの処理が再開される(ブロッ
ク327)。例えば、次の処理が開始される。コミット
が不成功であった場合(ブロック340)、制御作業単
位文脈に従ってエラー回復が行われなければならない。
例えば、作業単位が中止される。
するためのオペレーション(図13のブロック306)
を説明する。ブロック351において、データ管理サー
ビス処理ユニットのロケーションを決定するために、変
化した状態を有するオブジェクトの類縁性(ロケーショ
ン)が使用される。オブジェクトの類縁性がローカルで
ある場合、ローカルのデータ管理サービスが制御中であ
ると仮定され、ブロック352においてコミットが行わ
れる。そのオブジェクトがリモート類縁性を有する場
合、リモート作業単位が文脈管理を同期化するするよう
に通知されなければならない。これを行うために、リモ
ート・オブジェクトのオブジェクト・マネージャとロー
カル(処理)オブジェクトのオブジェクト・マネージャ
との間の協調(対話的)セッションが、その一方がまだ
存在しない場合(ブロック353)に設定される(ブロ
ック354)。ブロック355では、文脈更新のため
に、コミット・メッセージが制御作業単位に送られる。
ブロック356では、リモートUOW更新の肯定応答が
受信され、ローカルオブジェクト・マネージャは、例え
ば、そのオブジェクトの状態が最後のチェックポイント
までロールバックされたことを示すようにオブジェクト
の状態を更新する。コミットが成功した場合(ブロック
357)、作業単位に対して定義された文脈に従って、
オブジェクト・マネージャの処理が再開される(ブロッ
ク327)。例えば、次の処理が開始される。コミット
が不成功であった場合(ブロック340)、制御作業単
位文脈に従ってエラー回復が行われなければならない。
例えば、作業単位が中止される。
【0090】
【発明の効果】本発明によれば、オブジェクトのカプセ
ル化及び独立性を維持しながら、協調処理環境において
動作可能なオブジェクト指向コンピュータ環境が得られ
る。
ル化及び独立性を維持しながら、協調処理環境において
動作可能なオブジェクト指向コンピュータ環境が得られ
る。
【図1】本発明が動作し得るハードウエア及びソフトウ
エア環境を概略的に示す図である。
エア環境を概略的に示す図である。
【図2】図1のオブジェクト指向コンピュータ環境のコ
ンポーネントを概略的に示す図である。
ンポーネントを概略的に示す図である。
【図3】リモート・プロシージャ・コールの概略的なブ
ロック図を示す図である。
ロック図を示す図である。
【図4】オブジェクト指向コンピュータ環境におけるリ
モート・プロシージャ・コール・オペレーションを概略
的に示す図である。
モート・プロシージャ・コール・オペレーションを概略
的に示す図である。
【図5】オブジェクト指向リモート・プロシージャ・コ
ール・スタブの詳細を概略的に示す図である。
ール・スタブの詳細を概略的に示す図である。
【図6】オブジェクト指向コンピュータ環境におけるオ
ブジェクト相互間の独立したコールを概略的に示す図で
ある。
ブジェクト相互間の独立したコールを概略的に示す図で
ある。
【図7】オブジェクト指向コンピュータ環境における独
立した作業単位を概略的に示す図である。
立した作業単位を概略的に示す図である。
【図8】オブジェクト指向コンピュータ環境におけるビ
ジネス・プロセス作業単位を概略的に示す図である。
ジネス・プロセス作業単位を概略的に示す図である。
【図9】個々の作業単位がビジネス・プロセスにおける
持続的オブジェクトに対する変化をつくる方法を概略的
に示す図である。
持続的オブジェクトに対する変化をつくる方法を概略的
に示す図である。
【図10】コンピュータ・プラットフォーム相互間の一
般化した対話的又は協調的関係を概略的に示す図であ
る。
般化した対話的又は協調的関係を概略的に示す図であ
る。
【図11】本発明の実施例の全体的ブロック図である。
【図12】本発明の実施例の詳細な概略図である。
【図13】本発明に従って協調オブジェクト・マネージ
ャにより遂行される詳細なオペレーションの一部分を示
す図である。
ャにより遂行される詳細なオペレーションの一部分を示
す図である。
【図14】本発明に従って協調オブジェクト・マネージ
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
【図15】本発明に従って協調オブジェクト・マネージ
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
【図16】本発明に従って協調オブジェクト・マネージ
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
【図17】本発明に従って協調オブジェクト・マネージ
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
ャにより遂行される詳細なオペレーションの他の部分を
示す図である。
Claims (22)
- 【請求項1】第1コンピュータ・プラットフォームと、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第1オブジェクトと、前記複数の第1オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第1オブジェクト・マネージャとより成るものと、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第2オブジェクトと、前記複数の第2オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第2オブジェクト・マネージャとより成るものと、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 より成り、 前記第1オブジェクト・マネージャは、 前記複数の第2オブジェクトの1つに送られた前記複数
の第1オブジェクトの1つから第1アクション・メッセ
ージを識別するための識別手段と、 前記識別手段に応答して、前記接続手段を介して前記第
2オブジェクトの1つに前記第1アクション・メッセー
ジを送るための手段と、 より成り、 及び前記第2オブジェクトマネージャは、 前記第2オブジェクトの1つが前記第1アクション・メ
ッセージを首尾良く遂行したかどうかを決定するための
決定手段と、 前記決定手段に応答して、前記第2オブジェクトの1つ
が前記第1アクション・メッセージを首尾良く遂行した
かどうかの標識を前記第1オブジェクト・マネージャに
供給するための供給手段と、より成ることを特徴とする
オブジェクト指向協調データ処理システム。 - 【請求項2】前記第2オブジェクト・マネージャは、 前記複数の第1オブジェクトの1つに送られた前記複数
の第2オブジェクトの1つから第2アクション・メッセ
ージを識別するための第2識別手段と、 前記第2識別手段に応答して前記接続手段を介して前記
第1オブジェクトの1つに前記第2アクション・メッセ
ージを送信するための手段と、 より成り、 前記第1オブジェクト・マネージャは、 前記第1オブジェクトの1つが前記第2アクション・メ
ッセージを首尾良く遂行したかどうかを決定するための
第2決定手段と、 前記第2決定手段に応答して、前記第1オブジェクトの
1つが前記第2アクション・メッセージを首尾良く遂行
したかどうかの標識を前記第2オブジェクト・マネージ
ャに供給するための第2供給手段と、 より成ることを特徴とする請求項1に記載のオブジェク
ト指向協調データ処理システム。 - 【請求項3】前記第1オブジェクト・マネージャは、前
記第1オブジェクトのうちの選択されたもの及び前記第
2オブジェクトのうちの選択されたものを作業単位に割
り当てるための手段より成ること、及び前記供給手段
は、前記第2オブジェクトの1つが前記第1アクション
・メッセージを首尾良く遂行したかどうかの標識と共
に、前記第2オブジェクトの1つと関連した作業単位識
別子を前記第1オブジェクト・マネージャに供給するた
めの手段より成ることを特徴とする請求項1に記載のオ
ブジェクト指向協調データ処理システム。 - 【請求項4】前記第2オブジェクト・マネージャは、前
記第1オブジェクトのうちの選択されたもの及び前記第
2オブジェクトのうちの選択されたものを作業単位に割
り当てるための手段より成ること、及び前記第2供給手
段は、前記第1オブジェクトの1つが前記第2アクショ
ン・メッセージを首尾良く遂行したかどうかの標識と共
に、前記第1オブジェクトの1つと関連した作業単位識
別子を前記第2オブジェクト・マネージャに供給するた
めの手段より成ることを特徴とする請求項2に記載のオ
ブジェクト指向協調データ処理システム。 - 【請求項5】前記標識の各々は成功完了コード及びエラ
ー・コードの1つより成ることを特徴とする請求項2に
記載のオブジェクト指向協調データ処理システム。 - 【請求項6】第1コンピュータ・プラットフォームと、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、複数の
第1オブジェクトと、該複数の第1オブジェクトを管理
するための第1オブジェクト管理手段とより成るもの
と、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、複数の
第2オブジェクトと、該複数の第2オブジェクトを管理
するための第2オブジェクト管理手段とより成るもの
と、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 とより成り、 前記第1オブジェクト管理手段は、前記第2オブジェク
トからのメッセージの前記第1オブジェクトにより首尾
良く遂行されたかどうかを前記第2オブジェクト管理手
段に表示するための第1表示手段と、前記第2オブジェ
クトが前記第1オブジェクトからのメッセージを首尾良
く遂行したかどうかの標識を前記第2オブジェクト管理
手段から受け取るための第1受信手段とより成り、 前記第2オブジェクト管理手段は、前記第1オブジェク
トからのメッセージの前記第2オブジェクトにより首尾
良く遂行されたかどうかを前記第1オブジェクト管理手
段に表示するための第2表示手段と、前記第1オブジェ
クトが前記第2オブジェクトからのメッセージを首尾良
く遂行したかどうかの標識を前記第1オブジェクト管理
手段から受け取るための第2受信手段とより成る、 ことを特徴とするオブジェクト指向協調データ処理シス
テム。 - 【請求項7】前記第1オブジェクト管理手段は、前記第
1オブジェクトのうちの選択されたもの及び前記第2オ
ブジェクトのうちの選択されたものを作業単位に割り当
てるための手段より成ること、及び前記第1表示手段
は、前記第2オブジェクトの1つが前記第1オブジェク
トからのメッセージを首尾良く遂行したかどうかの標識
と共に、前記第1オブジェクトの1つと関連した作業単
位識別子を前記第2オブジェクト管理手段に表示するた
めの手段より成ること、及び前記第2オブジェクト管理
手段は、前記第1オブジェクトのうちの選択されたもの
及び前記第2オブジェクトのうちの選択されたものを作
業単位に割り当てるための手段より成ること、及び前記
第2表示手段は、前記第1オブジェクトの1つが前記第
2オブジェクトからのメッセージを首尾良く遂行したか
どうかの標識と共に、前記第2オブジェクトの1つと関
連した作業単位識別子を前記第1オブジェクト管理手段
に表示するための手段より成ること、 を特徴とする請求項6に記載のオブジェクト指向協調デ
ータ処理システム。 - 【請求項8】前記標識の各々は成功完了コード及びエラ
ー・コードの1つより成ることを特徴とする請求項6に
記載のオブジェクト指向協調データ処理システム。 - 【請求項9】第1コンピュータ・プラットフォームと、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第1オブジェクトと、前記複数の第1オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第1ローカル・オブジェクト・マネージャとより成る
ものと、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第2オブジェクトと、前記複数の第2オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第2ローカル・オブジェクト・マネージャとより成る
ものと、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 より成り、 前記第1オブジェクト指向コンピュータ環境は、前記複
数の第2オブジェクトの1つに送られた前記複数の第1
オブジェクトの1つからの第1アクション・メッセージ
を識別するための第1クライアント・スタブと、該第1
クライアント・スタブに応答して前記接続手段を介して
前記第2オブジェクトの1つに前記第1アクション・メ
ッセージを送信するための第1対話サーバとより成り前
記第2オブジェクト指向コンピュータ環境は、前記第2
オブジェクトの1つが前記第1アクション・メッセージ
を首尾良く遂行したかどうかを決定し且つ前記第2オブ
ジェクトの1つが前記第1アクション・メッセージを首
尾良く遂行したかどうかの標識を前記第1ローカル・オ
ブジェクト・マネージャに供給するための第2対話サー
バより成る、 ことを特徴とするオブジェクト指向協調データ処理シス
テム。 - 【請求項10】前記第2オブジェクト指向コンピュータ
環境は、前記複数の第1オブジェクトの1つに送られた
前記複数の第2オブジェクトの1つからの第2アクショ
ン・メッセージを識別するための第2クライアント・ス
タブより成り、 前記第2対話サーバは前記第2クライアント・スタブに
応答して前記接続手段を介して前記第1オブジェクトの
1つに前記第2アクション・メッセージを送信するこ
と、及び前記第1対話サーバは、前記第1オブジェクト
の1つが前記第2アクション・メッセージを首尾良く遂
行したかどうかを決定し且つ前記第1オブジェクトの1
つが前記第2アクション・メッセージを首尾良く遂行し
たかどうかの標識を前記第2ローカル・オブジェクト・
マネージャに供給するための手段より成ることを特徴と
する請求項9に記載のオブジェクト指向協調データ処理
システム。 - 【請求項11】前記第1ローカル・オブジェクト・マネ
ージャは、前記第1オブジェクトのうちの選択されたも
の及び前記第2オブジェクトのうちの選択されたものを
作業単位に割り当てるための手段より成ること、及び前
記第2対話サーバは、前記第2オブジェクトの1つが前
記第1アクション・メッセージを首尾良く遂行したかど
うかの標識と共に、前記第2オブジェクトの1つと関連
した作業単位識別子を前記第1ローカル・オブジェクト
・マネージャに供給するための手段より成ることを特徴
とする請求項10に記載のオブジェクト指向協調データ
処理システム。 - 【請求項12】前記第2ローカル・オブジェクト・マネ
ージャは、前記第1オブジェクトのうちの選択されたも
の及び前記第2オブジェクトのうちの選択されたものを
作業単位に割り当てるための手段より成ること、及び前
記第1対話サーバは、前記第1オブジェクトの1つが前
記第2アクション・メッセージを首尾良く遂行したかど
うかの標識と共に、前記第1オブジェクトの1つと関連
した作業単位識別子を前記第2ローカル・オブジェクト
・マネージャに供給するための手段より成ることを特徴
とする請求項11に記載のオブジェクト指向協調データ
処理システム。 - 【請求項13】前記標識の各々は成功完了コード及びエ
ラー・コードの1つより成ることを特徴とする請求項1
0に記載のオブジェクト指向協調データ処理システム。 - 【請求項14】第1コンピュータ・プラットフォーム
と、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、複数の
第1オブジェクトと、該複数の第1オブジェクトを管理
するための第1オブジェクト管理手段とより成るもの
と、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、複数の
第2オブジェクトと、該複数の第2オブジェクトを管理
するための第2オブジェクト管理手段とより成るもの
と、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 とより成り、 前記第1オブジェクト管理手段は、前記複数の第1オブ
ジェクトから前記複数の第2オブジェクトにアクション
・メッセージを送るための第1リモート・プロシージャ
・コール手段、及び該第1リモート・プロシージャ・コ
ール手段に関係なく、前記第2オブジェクト管理手段と
協調的にコミュニケートするための第1コミュニケート
手段より成ることと、 前記第2オブジェクト管理手段は、前記複数の第2オブ
ジェクトから前記複数の第1オブジェクトにアクション
・メッセージを送るための第2リモート・プロシージャ
・コール手段、及び該第2リモート・プロシージャ・コ
ール手段に関係なく、前記第1オブジェクト管理手段と
協調的にコミュニケートするための第2コミュニケート
手段より成ることと、 を特徴とするオブジェクト指向協調データ処理システ
ム。 - 【請求項15】第1コンピュータ・プラットフォーム
と、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第1オブジェクトと、前記複数の第1オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第1オブジェクト・マネージャとより成るものと、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、各々が
関連データ及び少なくとも1つのメソッドを含む複数の
第2オブジェクトと、前記複数の第2オブジェクト相互
間でアクション・メッセージを転送するための手段を含
む第2オブジェクト・マネージャとより成るものと、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 より成るオブジェクト指向データ処理システムにおける
協調処理を行うための方法において、 前記第1オブジェクト・マネージャにより遂行され、前
記複数の第1オブジェクトの1つから前記複数の第2オ
ブジェクトの1つに送られる第1アクション・メッセー
ジを識別するステップと、 前記第1オブジェクト・マネージャにより遂行され、前
記接続手段を介して前記第2オブジェクトの1つに前記
第1アクション・メッセージを送信するステップと、 前記第2オブジェクト・マネージャにより遂行され、前
記第2オブジェクトの1つが前記第1アクション・メッ
セージを首尾良く遂行したかどうかを決定するステップ
と、 前記第2オブジェクト・マネージャにより遂行され、前
記第2オブジェクトの1つが前記第1アクション・メッ
セージを首尾良く遂行したかどうかの標識を前記第1オ
ブジェクト・マネージャに供給するステップと、 より成る協調処理を行うための方法。 - 【請求項16】前記第2オブジェクト・マネージャによ
り遂行されるステップは、 前記複数の第2オブジェクトの1つから前記複数の第1
オブジェクトの1つに送られる第2アクション・メッセ
ージを識別するステップと、 前記接続手段を介して前記第1オブジェクトの1つに前
記第2アクション・メッセージを送信するステップと、
を含み、 前記第1オブジェクト・マネージャにより遂行されるス
テップは、 前記第1オブジェクトの1つが前記第2アクション・メ
ッセージを首尾良く遂行したかどうかを決定するステッ
プと、 前記第1オブジェクトの1つが前記第2アクション・メ
ッセージを首尾良く遂行したかどうかの標識を前記第2
オブジェクト・マネージャに供給するステップと、を含
むことを特徴とする請求項15に記載の方法。 - 【請求項17】前記第1オブジェクト・マネージャは、
前記第1オブジェクトのうちの選択されたもの及び前記
第2オブジェクトのうちの選択されたものを作業単位に
割り当てるための手段より成ること、及び前記供給する
ステップは、前記第2オブジェクトの1つが前記第1ア
クション・メッセージを首尾良く遂行したかどうかの標
識と共に、前記第2オブジェクトの1つと関連した作業
単位識別子を前記第1オブジェクト・マネージャに供給
するステップより成ることを特徴とする請求項15に記
載の方法。 - 【請求項18】前記第2オブジェクト・マネージャは、
前記第1オブジェクトのうちの選択されたもの及び前記
第2オブジェクトのうちの選択されたものを作業単位に
割り当てるための手段より成ること、及び前記第2オブ
ジェクト・マネージャに供給するステップは、前記第1
オブジェクトの1つが前記第2アクション・メッセージ
を首尾良く遂行したかどうかの標識と共に、前記第1オ
ブジェクトの1つと関連した作業単位識別子を前記第2
オブジェクト・マネージャに供給するステップより成る
ことを特徴とする請求項16に記載の方法。 - 【請求項19】前記標識の各々は成功完了コード及びエ
ラー・コードの1つより成ることを特徴とする請求項1
5に記載の方法。 - 【請求項20】第1コンピュータ・プラットフォーム
と、 前記第1コンピュータ・プラットフォーム上で実行する
第1オブジェクト指向コンピュータ環境にして、複数の
第1オブジェクトと、該複数の第1オブジェクトを管理
するための第1オブジェクト管理手段とより成るもの
と、 第2コンピュータ・プラットフォームと、 前記第2コンピュータ・プラットフォーム上で実行する
第2オブジェクト指向コンピュータ環境にして、複数の
第2オブジェクトと、該複数の第2オブジェクトを管理
するための第2オブジェクト管理手段とより成るもの
と、 前記第1オブジェクト指向コンピュータ環境及び前記第
2オブジェクト指向コンピュータ環境をコミュニケート
可能に接続するための接続手段と、 とより成るオブジェクト指向データ処理システムにおけ
る協調処理を行うための方法において、 第1オブジェクト管理手段により遂行され、前記第2オ
ブジェクトからのメッセージが前記第1オブジェクトに
より首尾良く遂行されたかどうかを前記第2オブジェク
ト管理手段に表示するステップと、 第1オブジェクト管理手段により遂行され、前記第2オ
ブジェクトが前記第1オブジェクトからのメッセージを
首尾良く遂行したかどうかの標識を前記第2オブジェク
ト管理手段から受け取るステップと、 第1オブジェクト管理手段により遂行され、前記第1オ
ブジェクトからのメッセージが前記第2オブジェクトに
より首尾良く遂行されたかどうかを前記第1オブジェク
ト管理手段に表示するステップと、 第1オブジェクト管理手段により遂行され、前記第1オ
ブジェクトが前記第2オブジェクトからのメッセージを
首尾良く遂行したかどうかの標識を前記第1オブジェク
ト管理手段から受け取るステップと、 より成る協調処理を行うための方法。 - 【請求項21】前記第1オブジェクト管理手段は、前記
第1オブジェクトのうちの選択されたもの及び前記第2
オブジェクトのうちの選択されたものを作業単位に割り
当てるための手段より成ること、及び前記第1オブジェ
クト管理手段に表示するステップは、前記第2オブジェ
クトの1つが前記第1オブジェクトからのメッセージを
首尾良く遂行したかどうかの標識と共に、前記第1オブ
ジェクトの1つと関連した作業単位識別子を前記第2オ
ブジェクト管理手段に表示するステップより成ること、
及び前記第2オブジェクト管理手段は、前記第1オブジ
ェクトのうちの選択されたもの及び前記第2オブジェク
トのうちの選択されたものを作業単位に割り当てるため
の手段より成ること、及び前記第2オブジェクト管理手
段に表示するステップは、前記第1オブジェクトの1つ
が前記第2オブジェクトからのメッセージを首尾良く遂
行したかどうかの標識と共に、前記第2オブジェクトの
1つと関連した作業単位識別子を前記第1オブジェクト
管理手段に表示するステップより成ることを特徴とする
請求項20に記載の方法。 - 【請求項22】前記標識の各々は成功完了コード及びエ
ラー・コードの1つより成ることを特徴とする請求項2
0に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US056120 | 1993-04-30 | ||
| US08/056,120 US5377350A (en) | 1993-04-30 | 1993-04-30 | System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06332870A true JPH06332870A (ja) | 1994-12-02 |
Family
ID=22002274
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6052411A Pending JPH06332870A (ja) | 1993-04-30 | 1994-03-24 | オブジェクト指向コンピュータ環境における協調処理のためのオブジェクト・マネージャをリンクする方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5377350A (ja) |
| EP (1) | EP0623876A3 (ja) |
| JP (1) | JPH06332870A (ja) |
| CA (1) | CA2119215A1 (ja) |
Families Citing this family (106)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5459868A (en) * | 1990-11-30 | 1995-10-17 | St Computer Systems & Services | Interpretive object-oriented facility which can access pre-compiled classes |
| JPH09502547A (ja) * | 1992-11-13 | 1997-03-11 | マイクロソフト コーポレイション | 遠隔手続き呼び出しのためのインターフェイスポインタをマーシャリングする方法及びシステム |
| US6226690B1 (en) * | 1993-06-14 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for utilizing proxy objects to communicate with target objects |
| JP3365576B2 (ja) * | 1993-06-14 | 2003-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクトの実行方法および装置 |
| 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 |
| US5581761A (en) * | 1993-07-20 | 1996-12-03 | Sun Microsystems, Inc. | Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system |
| US5594921A (en) * | 1993-12-17 | 1997-01-14 | Object Technology Licensing Corp. | Authentication of users with dynamically configurable protocol stack |
| US5764973A (en) * | 1994-02-08 | 1998-06-09 | Enterworks.Com, Inc. | System for generating structured query language statements and integrating legacy systems |
| CA2115464C (en) * | 1994-02-11 | 1998-12-15 | William G. O'farrell | Concurrent processing in object oriented parallel and near parallel systems |
| US5835757A (en) * | 1994-03-30 | 1998-11-10 | Siemens Telecom Networks | Distributed database management system for servicing application requests in a telecommunications switching system |
| US5721909A (en) * | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
| US5687363A (en) * | 1994-03-30 | 1997-11-11 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
| US5694597A (en) * | 1994-04-26 | 1997-12-02 | International Business Machines Corporation | Method and system for optimizing access to a datastore |
| US5734903A (en) * | 1994-05-13 | 1998-03-31 | Apple Computer, Inc. | System and method for object oriented message filtering |
| EP0684553B1 (en) * | 1994-05-26 | 2004-06-16 | Sun Microsystems, Inc. | Method and apparatus for generating and using short operation identifiers in object oriented systems |
| US5553234A (en) * | 1994-09-23 | 1996-09-03 | International Business Machines Corporation | System and method for including stored procedures, user-defined functions, and trigger processing in an existing unit of work |
| US5754854A (en) * | 1994-11-14 | 1998-05-19 | Microsoft Corporation | Method and system for providing a group of parallel resources as a proxy for a single shared resource |
| US6021444A (en) * | 1994-11-30 | 2000-02-01 | Canon Kabushiki Kaisha | Information processing system |
| WO1996025754A1 (en) * | 1995-02-17 | 1996-08-22 | Bell Communications Research, Inc. | Methods and apparatus for implementing data networking system having object-oriented architecture |
| EP0735472A3 (en) * | 1995-03-31 | 2000-01-19 | Sun Microsystems, Inc. | Method and apparatus for conspiracy among objects |
| US6249822B1 (en) | 1995-04-24 | 2001-06-19 | Microsoft Corporation | Remote procedure call method |
| US5729682A (en) * | 1995-06-07 | 1998-03-17 | International Business Machines Corporation | System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application |
| US6405262B1 (en) * | 1995-07-14 | 2002-06-11 | Microsoft Corporation | Efficient inter-process object and interface pinging |
| EP0787396A1 (en) * | 1995-08-18 | 1997-08-06 | International Business Machines Corporation | Parallel execution of requests in osi agents |
| US5892946A (en) * | 1995-09-12 | 1999-04-06 | Alcatel Usa, Inc. | System and method for multi-site distributed object management environment |
| US5682534A (en) * | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
| US5732257A (en) * | 1995-09-13 | 1998-03-24 | Hewlett-Packard Co. | Object conversion method from a flat object space to a class structured space |
| US5737607A (en) * | 1995-09-28 | 1998-04-07 | Sun Microsystems, Inc. | Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats |
| US5815708A (en) * | 1995-10-06 | 1998-09-29 | Sun Microsystems, Inc. | Method and apparatus for dynamically loading method call exception code in response to a software method exception generated in a client/server computer system |
| US5925108A (en) * | 1995-11-03 | 1999-07-20 | Novell, Inc. | Event notification in a computer system |
| US5740362A (en) * | 1995-11-06 | 1998-04-14 | International Business Machines Corporation | Management of network distributed agents in a distributed computing environment |
| EP0937285B1 (en) * | 1995-12-15 | 2003-07-09 | Z-Force Corporation | Method for constructing software components and systems as assemblies of independent parts |
| GB2308468A (en) * | 1995-12-20 | 1997-06-25 | Ibm | Data processing systems and methods providing interoperability between data processing resources |
| US6886167B1 (en) | 1995-12-27 | 2005-04-26 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
| US6345311B1 (en) * | 1995-12-27 | 2002-02-05 | International Business Machines Corporation | Method and system of dynamically moving objects between heterogeneous execution environments |
| CA2166358C (en) * | 1995-12-29 | 2001-02-20 | Abdel Naser Al-Karmi | Programming information for servers and clients in a distributed computing environment |
| US6374287B1 (en) | 1996-01-24 | 2002-04-16 | Sun Microsystems, Inc. | Method and system for allowing client processes to run on distributed window server extensions |
| US5721818A (en) * | 1996-01-25 | 1998-02-24 | Apple Computer, Inc. | Method and system for enabling a file server to service multiple networks of the same network protocol family by invoking multiple instances of a network session protocol |
| US5937184A (en) * | 1996-04-01 | 1999-08-10 | International Business Machines Corporation | Synthesis of application-specific subsystems by selective migration |
| US5977967A (en) * | 1996-05-01 | 1999-11-02 | Electronic Data Systems Corporation | Object-oriented business object interface framework and method |
| US5809507A (en) * | 1996-07-01 | 1998-09-15 | Sun Microsystems, Inc. | Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework |
| AU4804097A (en) * | 1996-09-30 | 1998-04-24 | Sandcastle, Inc. | Synchronization of events occurring over a network in the presence of latency |
| GB9711787D0 (en) * | 1997-06-06 | 1997-12-24 | Trust Eeig | Distributed computer system |
| CA2248419A1 (en) * | 1997-09-30 | 1999-03-30 | Pitney Bowes Inc. | Carrier manager interface utilizing an ocx control |
| US6873978B1 (en) | 1997-10-01 | 2005-03-29 | Pitney Bowes Inc. | Event interface for a carrier manager system |
| US6910047B1 (en) | 1997-10-01 | 2005-06-21 | Pitney Bowes Inc. | Method and system for changing rating data via internet or modem in a carrier management system |
| US6134594A (en) | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
| US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
| US6813769B1 (en) | 1997-10-28 | 2004-11-02 | Microsoft Corporation | Server application components with control over state duration |
| US6631425B1 (en) | 1997-10-28 | 2003-10-07 | Microsoft Corporation | Just-in-time activation and as-soon-as-possible deactivation or server application components |
| US6167565A (en) * | 1998-01-08 | 2000-12-26 | Microsoft Corporation | Method and system of custom marshaling of inter-language parameters |
| JPH11249898A (ja) * | 1998-03-04 | 1999-09-17 | Sony Corp | データ処理方法、記録媒体及びデータ処理装置 |
| US6112225A (en) * | 1998-03-30 | 2000-08-29 | International Business Machines Corporation | Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time |
| US6477586B1 (en) * | 1998-06-29 | 2002-11-05 | International Business Machines Corporation | Remote procedure calls in distributed systems |
| US6526416B1 (en) | 1998-06-30 | 2003-02-25 | Microsoft Corporation | Compensating resource managers |
| US6473791B1 (en) | 1998-08-17 | 2002-10-29 | Microsoft Corporation | Object load balancing |
| US6442620B1 (en) | 1998-08-17 | 2002-08-27 | Microsoft Corporation | Environment extensibility and automatic services for component applications using contexts, policies and activators |
| WO2000010084A2 (en) * | 1998-08-17 | 2000-02-24 | Microsoft Corporation | Object load balancing |
| US6425017B1 (en) | 1998-08-17 | 2002-07-23 | Microsoft Corporation | Queued method invocations on distributed component applications |
| JP2000112760A (ja) * | 1998-10-02 | 2000-04-21 | Fujitsu Ltd | オブジェクト連携装置 |
| US6163794A (en) * | 1998-10-23 | 2000-12-19 | General Magic | Network system extensible by users |
| US6829770B1 (en) | 1999-02-23 | 2004-12-07 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events |
| US6748455B1 (en) | 1999-02-23 | 2004-06-08 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events with filtering |
| DE19910345A1 (de) * | 1999-03-09 | 2000-09-21 | Siemens Ag | Verfahren zur Nachrichtenübertragung zwischen einer einem ersten Prozeß zugewiesenen Clientinstanz und wenigstens einer mindestens einem weiteren Prozeß zugewiesenen Serverinstanz innerhalb eines verteilten Systems |
| US6728879B1 (en) | 1999-06-02 | 2004-04-27 | Microsoft Corporation | Transactional log with multi-sector log block validation |
| US6748555B1 (en) | 1999-09-09 | 2004-06-08 | Microsoft Corporation | Object-based software management |
| US6411954B1 (en) * | 1999-11-19 | 2002-06-25 | Unisys Corporation | Method and apparatus for persisting object oriented data |
| US6920636B1 (en) | 1999-12-15 | 2005-07-19 | Microsoft Corporation | Queued component interface passing for results outflow from queued method invocations |
| US6694328B1 (en) * | 2000-01-13 | 2004-02-17 | International Business Machines Corporation | Method for creating queries on version objects |
| US6757730B1 (en) | 2000-05-31 | 2004-06-29 | Datasynapse, Inc. | Method, apparatus and articles-of-manufacture for network-based distributed computing |
| US20030033346A1 (en) * | 2001-08-10 | 2003-02-13 | Sun Microsystems, Inc. | Method, system, and program for managing multiple resources in a system |
| US7146617B2 (en) * | 2001-09-29 | 2006-12-05 | Siebel Systems, Inc. | Method, apparatus, and system for implementing view caching in a framework to support web-based applications |
| US6907451B1 (en) | 2001-09-29 | 2005-06-14 | Siebel Systems, Inc. | Method, apparatus, and system for immediate posting of changes in a client server environment |
| US8359335B2 (en) * | 2001-09-29 | 2013-01-22 | Siebel Systems, Inc. | Computing system and method to implicitly commit unsaved data for a world wide web application |
| US7065746B2 (en) | 2002-01-11 | 2006-06-20 | Stone Bond Technologies, L.P. | Integration integrity manager |
| US7140027B2 (en) | 2002-02-14 | 2006-11-21 | International Business Machines Corporation | Method and system to reinitialize objects without losing a reference connection |
| US7398209B2 (en) | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
| US7693720B2 (en) | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
| US7693952B2 (en) * | 2003-03-27 | 2010-04-06 | Microsoft Corporation | Availability and scalability in a messaging system in a manner transparent to the application |
| US7676580B2 (en) * | 2003-03-27 | 2010-03-09 | Microsoft Corporation | Message delivery with configurable assurances and features between two endpoints |
| US8037169B2 (en) | 2005-05-18 | 2011-10-11 | Oracle International Corporation | Determining affinity in a cluster |
| US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
| US7620549B2 (en) | 2005-08-10 | 2009-11-17 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
| US7814065B2 (en) * | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
| US7949529B2 (en) | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
| EP1934971A4 (en) | 2005-08-31 | 2010-10-27 | Voicebox Technologies Inc | DYNAMIC LANGUAGE SCRIPTURE |
| PL2066662T3 (pl) * | 2006-09-21 | 2013-05-31 | Kyorin Seiyaku Kk | Inhibitory hydrolaz serynowych |
| US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
| US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
| US8214847B2 (en) | 2007-11-16 | 2012-07-03 | Microsoft Corporation | Distributed messaging system with configurable assurances |
| US8200836B2 (en) * | 2007-11-16 | 2012-06-12 | Microsoft Corporation | Durable exactly once message delivery at scale |
| US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
| US8234289B2 (en) * | 2007-12-17 | 2012-07-31 | International Business Machines Corporation | Restoration of conversation stub for recognized experts |
| US8589161B2 (en) | 2008-05-27 | 2013-11-19 | Voicebox Technologies, Inc. | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
| US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
| US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
| US9502025B2 (en) | 2009-11-10 | 2016-11-22 | Voicebox Technologies Corporation | System and method for providing a natural language content dedication service |
| US9171541B2 (en) | 2009-11-10 | 2015-10-27 | Voicebox Technologies Corporation | System and method for hybrid processing in a natural language voice services environment |
| EP3111296B1 (en) * | 2014-02-27 | 2022-07-27 | Aptiv Technologies Limited | In-process trapping for service substitution in hosted applications executing on mobile devices with multi operating system environment |
| EP4478276A3 (en) | 2014-09-16 | 2025-01-22 | VB Assets, LLC | Voice commerce |
| US9898459B2 (en) | 2014-09-16 | 2018-02-20 | Voicebox Technologies Corporation | Integration of domain information into state transitions of a finite state transducer for natural language processing |
| CN107003999B (zh) | 2014-10-15 | 2020-08-21 | 声钰科技 | 对用户的在先自然语言输入的后续响应的系统和方法 |
| US10431214B2 (en) | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
| US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
| US10331784B2 (en) | 2016-07-29 | 2019-06-25 | Voicebox Technologies Corporation | System and method of disambiguating natural language processing requests |
| CN111522605B (zh) * | 2020-04-16 | 2022-07-29 | 艾普阳科技(深圳)有限公司 | 一种本地过程调用方法、装置、设备及介质 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4961137A (en) * | 1987-04-17 | 1990-10-02 | U.S. Philips Corporation | Method for operating a multiprocessor system for therein establishing a global binary assertion and a multiprocessor apparatus comprising synchronization means for such establishing, in particular for effecting a garbage collection operation |
| US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
| US5016162A (en) * | 1988-03-30 | 1991-05-14 | Data General Corp. | Contention revolution in a digital computer system |
| US5058185A (en) * | 1988-06-27 | 1991-10-15 | International Business Machines Corporation | Object management and delivery system having multiple object-resolution capability |
| 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 |
| 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 |
| US5151987A (en) * | 1990-10-23 | 1992-09-29 | International Business Machines Corporation | Recovery objects in an object oriented computing environment |
| US5291593A (en) * | 1990-10-24 | 1994-03-01 | International Business Machines Corp. | System for persistent and delayed allocation object reference in an object oriented environment |
| EP0501613A3 (en) * | 1991-02-28 | 1993-09-01 | Hewlett-Packard Company | Heterogeneous software configuration management apparatus |
-
1993
- 1993-04-30 US US08/056,120 patent/US5377350A/en not_active Expired - Fee Related
-
1994
- 1994-03-16 CA CA002119215A patent/CA2119215A1/en not_active Abandoned
- 1994-03-23 EP EP94480028A patent/EP0623876A3/en not_active Withdrawn
- 1994-03-24 JP JP6052411A patent/JPH06332870A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0623876A2 (en) | 1994-11-09 |
| US5377350A (en) | 1994-12-27 |
| CA2119215A1 (en) | 1994-10-31 |
| EP0623876A3 (en) | 1995-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06332870A (ja) | オブジェクト指向コンピュータ環境における協調処理のためのオブジェクト・マネージャをリンクする方法及び装置 | |
| US6470375B1 (en) | System and method for managing the execution of system management tasks | |
| Adler | Distributed coordination models for client/server computing | |
| JP3268534B2 (ja) | 保護された資源の同期点管理を行うコンピュータ・システム | |
| US6157927A (en) | Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager | |
| US7603677B2 (en) | Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications | |
| US6317773B1 (en) | System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators | |
| EP1099164B1 (en) | Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment | |
| US5586312A (en) | Method and apparatus for using an independent transaction processing application as a service routine | |
| US5872971A (en) | Data processing systems and methods providing interoperability between data processing resources | |
| US6195685B1 (en) | Flexible event sharing, batching, and state consistency mechanisms for interactive applications | |
| JP3293839B2 (ja) | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム | |
| US7461119B2 (en) | Method, apparatus, and system for managing status of requests in a client server environment | |
| US20030070005A1 (en) | Method, apparatus, and system for implementing view caching in a framework to support web-based applications | |
| US20030070004A1 (en) | Method, apparatus, and system for implementing a framework to support a web-based application | |
| US6226694B1 (en) | Achieving consistency and synchronization among multiple data stores that cooperate within a single system in the absence of transaction monitoring | |
| JPH1083308A (ja) | スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体 | |
| US6470346B2 (en) | Remote computation framework | |
| US6038589A (en) | Apparatus, method and computer program product for client/server computing with a transaction representation located on each transactionally involved server | |
| US6138169A (en) | System and method for creating an object oriented transaction service that achieves interoperability with encina procedural transactions | |
| US20070226709A1 (en) | Computing system and method to perform compile-time extension for World Wide Web application | |
| US20050125804A1 (en) | Queued component interface passing for results outflow from queued method invocations | |
| US20100199128A1 (en) | Fanout connectivity structure for use in facilitating processing within a parallel computing environment | |
| US7870492B2 (en) | Method, apparatus, and system for managing commands in a client server environment | |
| EP0834807A1 (en) | Method and apparatus for performing efficient corba transactions |