JPH09212364A - 実行時オブジェクト・インスタンス管理のための方法及びシステム - Google Patents
実行時オブジェクト・インスタンス管理のための方法及びシステムInfo
- Publication number
- JPH09212364A JPH09212364A JP8329587A JP32958796A JPH09212364A JP H09212364 A JPH09212364 A JP H09212364A JP 8329587 A JP8329587 A JP 8329587A JP 32958796 A JP32958796 A JP 32958796A JP H09212364 A JPH09212364 A JP H09212364A
- Authority
- JP
- Japan
- Prior art keywords
- execution environment
- instance
- monitoring
- performance
- executing
- 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/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/835—Timestamp
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 オブジェクト指向コンピュータ・システムに
おいて、オブジェクトのインスタンスを管理する。 【解決手段】 オブジェクトの性能及びオブジェクト内
のメソッドが、プロセッサ性能及びネットワーク性能に
関連してモニタされる。性能情報がオブジェクト・イン
スタンスを管理するために使用される。特に、オブジェ
クトのインスタンスが移動、分割または併合され得る。
例えば、オブジェクトが現実行環境にロードされる間、
オブジェクトのメソッドが性能目標を満たさない場合、
オブジェクトがその性能目標を達成するところの実行環
境が決定され、オブジェクトがそこに移動される。
おいて、オブジェクトのインスタンスを管理する。 【解決手段】 オブジェクトの性能及びオブジェクト内
のメソッドが、プロセッサ性能及びネットワーク性能に
関連してモニタされる。性能情報がオブジェクト・イン
スタンスを管理するために使用される。特に、オブジェ
クトのインスタンスが移動、分割または併合され得る。
例えば、オブジェクトが現実行環境にロードされる間、
オブジェクトのメソッドが性能目標を満たさない場合、
オブジェクトがその性能目標を達成するところの実行環
境が決定され、オブジェクトがそこに移動される。
Description
【0001】
【発明の属する技術分野】本発明は一般に、オブジェク
ト指向コンピュータ・システムに関する。より詳細に
は、本発明はオブジェクト指向コンピュータ・システム
におけるオブジェクトの分布に関して、特にオブジェク
トのメソッドの性能に応答して、オブジェクト・インス
タンスを動的に管理する方法及びシステムに関する。
ト指向コンピュータ・システムに関する。より詳細に
は、本発明はオブジェクト指向コンピュータ・システム
におけるオブジェクトの分布に関して、特にオブジェク
トのメソッドの性能に応答して、オブジェクト・インス
タンスを動的に管理する方法及びシステムに関する。
【0002】
【従来の技術】現コンピュータ・プログラミング技法
は、オブジェクト指向プログラミング("OOP")の使
用を含む。オブジェクト指向プログラミングは、"オブ
ジェクト"として既知の再利用可能で、独立言語型(sel
f-contained)で、呼び出し可能なプログラム・コード
・モジュールを核とする。こうしたモジュール式のアプ
ローチは立証済み且つテスト済みのオブジェクトの使用
及び再利用を通じてソフトウェア開発をより効率的且つ
高信頼性なものにする。
は、オブジェクト指向プログラミング("OOP")の使
用を含む。オブジェクト指向プログラミングは、"オブ
ジェクト"として既知の再利用可能で、独立言語型(sel
f-contained)で、呼び出し可能なプログラム・コード
・モジュールを核とする。こうしたモジュール式のアプ
ローチは立証済み且つテスト済みのオブジェクトの使用
及び再利用を通じてソフトウェア開発をより効率的且つ
高信頼性なものにする。
【0003】各オブジェクトは、"メソッド"を通じて予
め定義された操作のセットを達成するように設計され
る。これらのメソッドはオブジェクトが呼び出されると
きに実行されるプログラム済みのタスクを含む。各特定
のメソッドは、オブジェクトに関連付けられる"クラス"
内で定義される。クラスは類似のオブジェクトのグルー
プの振舞いを記述するテンプレートとして作用する。オ
ブジェクトは選択クラスから(または選択クラスの実行
時インスタンス内で)実体化され、クラス内で定義され
るメソッド及び属性(またはデータ)を含む。
め定義された操作のセットを達成するように設計され
る。これらのメソッドはオブジェクトが呼び出されると
きに実行されるプログラム済みのタスクを含む。各特定
のメソッドは、オブジェクトに関連付けられる"クラス"
内で定義される。クラスは類似のオブジェクトのグルー
プの振舞いを記述するテンプレートとして作用する。オ
ブジェクトは選択クラスから(または選択クラスの実行
時インスタンス内で)実体化され、クラス内で定義され
るメソッド及び属性(またはデータ)を含む。
【0004】
【発明が解決しようとする課題】オブジェクト・メソッ
ドは、オブジェクト指向コンピュータ・システム全体を
通じて他のオブジェクトにより呼び出され得る共用資源
である。従って、オブジェクトに対する負荷は、オブジ
ェクトの呼び出しの周期性、及びオブジェクト内で使用
されるメソッドの複雑性の両方に従い変化する。提示さ
れた負荷を処理するためにオブジェクト指向コンピュー
タ・システムの実行環境において、任意の特定のオブジ
ェクトの十分なインスタンスが使用可能なように、注意
深いシステム計画が要求される。通常、この計画はシス
テム計画活動の間に達成され、システム動作の間はオブ
ジェクト・インスタンス分布が固定される。従って、シ
ステム構成、動作または使用可能性の予期しない変更が
オブジェクト性能に多大に影響し得る。
ドは、オブジェクト指向コンピュータ・システム全体を
通じて他のオブジェクトにより呼び出され得る共用資源
である。従って、オブジェクトに対する負荷は、オブジ
ェクトの呼び出しの周期性、及びオブジェクト内で使用
されるメソッドの複雑性の両方に従い変化する。提示さ
れた負荷を処理するためにオブジェクト指向コンピュー
タ・システムの実行環境において、任意の特定のオブジ
ェクトの十分なインスタンスが使用可能なように、注意
深いシステム計画が要求される。通常、この計画はシス
テム計画活動の間に達成され、システム動作の間はオブ
ジェクト・インスタンス分布が固定される。従って、シ
ステム構成、動作または使用可能性の予期しない変更が
オブジェクト性能に多大に影響し得る。
【0005】システム性能の変動は現在様々な方法によ
り検出可能である。例えば、プロセッサ及びそれらの間
のネットワークの個々の性能をモニタする多数の方法が
存在する。しかしながら、オブジェクトのモニタリング
は個々のエンティティのように、まだ完全に探究されて
いない。更にモニタされるシステム性能の点から、幾つ
かのシステム調整が達成されたが(例えばキューの重み
付けを変更し、代わりのネットワーク・ルーティング
(経路指定)を達成する)、オブジェクト指向コンピュ
ータ・システムにおいて、様々な性能情報を適切に用い
て、オブジェクト及びそれらのインスタンスを管理する
技法はまだ開発されていない。
り検出可能である。例えば、プロセッサ及びそれらの間
のネットワークの個々の性能をモニタする多数の方法が
存在する。しかしながら、オブジェクトのモニタリング
は個々のエンティティのように、まだ完全に探究されて
いない。更にモニタされるシステム性能の点から、幾つ
かのシステム調整が達成されたが(例えばキューの重み
付けを変更し、代わりのネットワーク・ルーティング
(経路指定)を達成する)、オブジェクト指向コンピュ
ータ・システムにおいて、様々な性能情報を適切に用い
て、オブジェクト及びそれらのインスタンスを管理する
技法はまだ開発されていない。
【0006】本発明は、前記の課題に対する解決策を提
供することを目的とする。
供することを目的とする。
【0007】
【課題を解決するための手段】第1の態様では、本発明
は複数の実行環境と、実行環境の少なくとも1つにおい
て実行される少なくとも1つのインスタンスを有するオ
ブジェクトとを含む、オブジェクト指向コンピュータ・
システムにおいて動作する。本発明は、オブジェクトを
管理するメソッドを含む。特に、オブジェクトの実行時
性能がモニタされる。モニタリングに応答して、メソッ
ドが実行時において、インスタンスの数及び(または)
少なくとも1つのインスタンスが実行される実行環境の
数を変更するステップを含む。
は複数の実行環境と、実行環境の少なくとも1つにおい
て実行される少なくとも1つのインスタンスを有するオ
ブジェクトとを含む、オブジェクト指向コンピュータ・
システムにおいて動作する。本発明は、オブジェクトを
管理するメソッドを含む。特に、オブジェクトの実行時
性能がモニタされる。モニタリングに応答して、メソッ
ドが実行時において、インスタンスの数及び(または)
少なくとも1つのインスタンスが実行される実行環境の
数を変更するステップを含む。
【0008】拡張として、オブジェクトの少なくとも1
つのインスタンスが、単一の実行環境内で実行される単
一のインスタンスを含み得る。更に変更ステップは、単
一のインスタンスを単一の実行環境から、別の実行環境
に移動するステップを含み得る。単一の実行環境及び他
の実行環境は異類(heterogeneous)であってもよく、
オブジェクトの状態が移動の間に保存され得る。
つのインスタンスが、単一の実行環境内で実行される単
一のインスタンスを含み得る。更に変更ステップは、単
一のインスタンスを単一の実行環境から、別の実行環境
に移動するステップを含み得る。単一の実行環境及び他
の実行環境は異類(heterogeneous)であってもよく、
オブジェクトの状態が移動の間に保存され得る。
【0009】拡張として、オブジェクトの少なくとも1
つのインスタンスが、単一の実行環境内で実行される単
一のインスタンスを含み得る。更に変更ステップが、オ
ブジェクトを複数の実行環境で実行される複数のインス
タンスに分割するステップを含み得る。更にオブジェク
トの少なくとも1つのインスタンスが、複数の実行環境
で実行される複数のインスタンスを含む場合、変更ステ
ップがオブジェクトを単一の実行環境内で実行される単
一のインスタンスに併合するステップを含み得る。
つのインスタンスが、単一の実行環境内で実行される単
一のインスタンスを含み得る。更に変更ステップが、オ
ブジェクトを複数の実行環境で実行される複数のインス
タンスに分割するステップを含み得る。更にオブジェク
トの少なくとも1つのインスタンスが、複数の実行環境
で実行される複数のインスタンスを含む場合、変更ステ
ップがオブジェクトを単一の実行環境内で実行される単
一のインスタンスに併合するステップを含み得る。
【0010】更に拡張として、オブジェクト指向コンピ
ュータ・システムがオブジェクト・マネージャを含み得
り、またモニタリング・ステップがオブジェクトに関連
するオブジェクト・マネージャ活動を追跡するステップ
を含み得る。更に、オブジェクト指向コンピュータ・シ
ステムが、変更ステップを実行する実行時最適化機構
(optimizer)を含み得る。モニタリング・ステップ
は、追跡ステップから獲得された情報を変更ステップに
おいて使用するために、制御プログラムに転送するステ
ップを含み得る。モニタリング・ステップは、例えばネ
ットワーク待ち時間などのオブジェクトに関連するネッ
トワーク・パラメータのモニタリングを含み得る。
ュータ・システムがオブジェクト・マネージャを含み得
り、またモニタリング・ステップがオブジェクトに関連
するオブジェクト・マネージャ活動を追跡するステップ
を含み得る。更に、オブジェクト指向コンピュータ・シ
ステムが、変更ステップを実行する実行時最適化機構
(optimizer)を含み得る。モニタリング・ステップ
は、追跡ステップから獲得された情報を変更ステップに
おいて使用するために、制御プログラムに転送するステ
ップを含み得る。モニタリング・ステップは、例えばネ
ットワーク待ち時間などのオブジェクトに関連するネッ
トワーク・パラメータのモニタリングを含み得る。
【0011】更に拡張として、オブジェクトが少なくと
も1つのメソッドを含み、モニタリング・ステップが、
メソッドの少なくとも1つの呼び出しと、少なくとも1
つの呼び出しに関連付けられる性能データとを含む対話
テーブルを保守するステップを含む。性能データは少な
くとも1つのメソッドの呼び出し元(invoker)を含み
得る。更に性能データは、少なくとも1つの呼び出しを
呼び出し元からオブジェクトに転送する際に生じる往路
遅延を含み得る。更に呼び出しが処理及び応答を要求す
るタイプであれば、性能データは更に少なくとも1つの
メソッドの処理遅延、及び応答を呼び出し元に転送する
際に生じる復路遅延を含む。
も1つのメソッドを含み、モニタリング・ステップが、
メソッドの少なくとも1つの呼び出しと、少なくとも1
つの呼び出しに関連付けられる性能データとを含む対話
テーブルを保守するステップを含む。性能データは少な
くとも1つのメソッドの呼び出し元(invoker)を含み
得る。更に性能データは、少なくとも1つの呼び出しを
呼び出し元からオブジェクトに転送する際に生じる往路
遅延を含み得る。更に呼び出しが処理及び応答を要求す
るタイプであれば、性能データは更に少なくとも1つの
メソッドの処理遅延、及び応答を呼び出し元に転送する
際に生じる復路遅延を含む。
【0012】本発明は幾つかの利点及び特長を有する。
プロセッサ、ネットワーク及びオブジェクトのための性
能モニタリング技法が、オブジェクト・インスタンスを
管理する技法と結合され、動的な実行時のオブジェクト
管理が達成される。例えば、オブジェクトのメソッドが
それらの所望の性能目標を達成していない場合、オブジ
ェクトがその目標を達成可能な実行環境に再配置され
る。こうした実行環境が見い出されない場合、オブジェ
クトは複数のインスタンスに"分割"され、集合的に性能
目標が達成される。複数のインスタンスが余りに多くの
利用資源を表現す場合、インスタンスが"併合"され、そ
れによりその数を低減する。このようにして、動的で柔
軟な性能駆動型オブジェクト・インスタンス管理が達成
される。
プロセッサ、ネットワーク及びオブジェクトのための性
能モニタリング技法が、オブジェクト・インスタンスを
管理する技法と結合され、動的な実行時のオブジェクト
管理が達成される。例えば、オブジェクトのメソッドが
それらの所望の性能目標を達成していない場合、オブジ
ェクトがその目標を達成可能な実行環境に再配置され
る。こうした実行環境が見い出されない場合、オブジェ
クトは複数のインスタンスに"分割"され、集合的に性能
目標が達成される。複数のインスタンスが余りに多くの
利用資源を表現す場合、インスタンスが"併合"され、そ
れによりその数を低減する。このようにして、動的で柔
軟な性能駆動型オブジェクト・インスタンス管理が達成
される。
【0013】
【発明の実施の形態】係属中の米国特許出願第5780
98号"METHOD AND SYSTEM OF DYNAMICALLYMOVING OBJE
CTS BETWEEEN HETEROGENEOUS EXECUTION ENVIRONMENTS"
(ドケット番号CR995010、出願日12/27
/'95)、及び同第579544号"METHOD AND SYSTE
M FOR MIGRATING AN OBJECT BETWEEN A SPLIT STATUS A
ND A MERGED STATUS"(ドケット番号CR99501
6、出願日12/27/'95)では、実行時にオブジ
ェクトのインスタンスを管理する技法が開示されてい
る。例えば前記米国特許出願は、実行時においてオブジ
ェクトを異類の実行環境間で移動する技法、オブジェク
トを複数のインスタンスに分割する技法、及びオブジェ
クトの複数のインスタンスを1つのインスタンスに併合
する技法を含む。
98号"METHOD AND SYSTEM OF DYNAMICALLYMOVING OBJE
CTS BETWEEEN HETEROGENEOUS EXECUTION ENVIRONMENTS"
(ドケット番号CR995010、出願日12/27
/'95)、及び同第579544号"METHOD AND SYSTE
M FOR MIGRATING AN OBJECT BETWEEN A SPLIT STATUS A
ND A MERGED STATUS"(ドケット番号CR99501
6、出願日12/27/'95)では、実行時にオブジ
ェクトのインスタンスを管理する技法が開示されてい
る。例えば前記米国特許出願は、実行時においてオブジ
ェクトを異類の実行環境間で移動する技法、オブジェク
トを複数のインスタンスに分割する技法、及びオブジェ
クトの複数のインスタンスを1つのインスタンスに併合
する技法を含む。
【0014】本明細書で開示される技法は、前記のオブ
ジェクト管理技法と関連して動作する。特に、本開示技
法は、モニタされるシステム性能及びオブジェクト性能
にもとづき適切なオブジェクト移動を決定し、またそれ
に影響し、分割及び併合したりする。性能モニタリング
技法は、特定のヒューリスティック(発見的技法)及び
前記のオブジェクト管理技法と結合され、オブジェクト
指向コンピュータ・システムの性能を動的に最適化す
る。
ジェクト管理技法と関連して動作する。特に、本開示技
法は、モニタされるシステム性能及びオブジェクト性能
にもとづき適切なオブジェクト移動を決定し、またそれ
に影響し、分割及び併合したりする。性能モニタリング
技法は、特定のヒューリスティック(発見的技法)及び
前記のオブジェクト管理技法と結合され、オブジェクト
指向コンピュータ・システムの性能を動的に最適化す
る。
【0015】本開示技法は、当業者には明らかな用語及
び資源と関連して開示される。例えばここで使用される
用語及び資源は、オブジェクト管理資源の国際標準規格
である共通オブジェクト・リクエスト・ブローカ・アー
キテクチャ("CORBA"−オブジェクト・マネージメ
ント・グループ社の登録商標)に関連付けられる。CO
RBAタイプのシステムに含まれるエンティティの1つ
の例に、オブジェクト・リクエスト・ブローカ("OR
B")があり、これは例えばオブジェクトを生成、消去
及び追跡する役割をする。CORBA規格の特定の実施
例は、IBMのシステム・オブジェクト・モデル("S
OM")・オブジェクト・ツールキット("SOMobject
s")である。CORBA及びSOMobjectsに関する詳細に
ついては、例えばRon Ben-Natanによる"CORBA−A Guide
To Common Object Request Broker Architecture"(Mc
Graw-Hill、1995年)、及び"AIX Version 4.1 SOM
objestsBase Toolkit User's Guide"(IBM、199
3年、発行番号SC23−2680−01)、及び"AIX
Version 4.1 SOMobjects Base Toolkit Programmers
Reference Manual"(IBM、1993年、発行番号S
C23−2681−01)に記載されている。CORB
Aは本開示技法が動作するオブジェクト指向環境の1つ
の例に過ぎない。本発明は、オブジェクト・マネージャ
(例えばCORBAのオブジェクト・リクエスト・ブロ
ーカ、すなわちORB)を含む任意のオブジェクト指向
環境と互換であり、こうしたオブジェクト・マネージャ
は、オブジェクト間で情報の伝達を可能にし、オブジェ
クト位置の透過性を提供する(例えばマイクロソフト社
の"共通オブジェクト・マネージャ(Common Object Man
ager)"環境、またはIBMからの"ビジュアル・エージ
(Visual Age)"環境)。
び資源と関連して開示される。例えばここで使用される
用語及び資源は、オブジェクト管理資源の国際標準規格
である共通オブジェクト・リクエスト・ブローカ・アー
キテクチャ("CORBA"−オブジェクト・マネージメ
ント・グループ社の登録商標)に関連付けられる。CO
RBAタイプのシステムに含まれるエンティティの1つ
の例に、オブジェクト・リクエスト・ブローカ("OR
B")があり、これは例えばオブジェクトを生成、消去
及び追跡する役割をする。CORBA規格の特定の実施
例は、IBMのシステム・オブジェクト・モデル("S
OM")・オブジェクト・ツールキット("SOMobject
s")である。CORBA及びSOMobjectsに関する詳細に
ついては、例えばRon Ben-Natanによる"CORBA−A Guide
To Common Object Request Broker Architecture"(Mc
Graw-Hill、1995年)、及び"AIX Version 4.1 SOM
objestsBase Toolkit User's Guide"(IBM、199
3年、発行番号SC23−2680−01)、及び"AIX
Version 4.1 SOMobjects Base Toolkit Programmers
Reference Manual"(IBM、1993年、発行番号S
C23−2681−01)に記載されている。CORB
Aは本開示技法が動作するオブジェクト指向環境の1つ
の例に過ぎない。本発明は、オブジェクト・マネージャ
(例えばCORBAのオブジェクト・リクエスト・ブロ
ーカ、すなわちORB)を含む任意のオブジェクト指向
環境と互換であり、こうしたオブジェクト・マネージャ
は、オブジェクト間で情報の伝達を可能にし、オブジェ
クト位置の透過性を提供する(例えばマイクロソフト社
の"共通オブジェクト・マネージャ(Common Object Man
ager)"環境、またはIBMからの"ビジュアル・エージ
(Visual Age)"環境)。
【0016】本発明の技法を実現するために使用される
コンピュータ・システムのハードウェア要素の1つの例
が図1に示される。中央処理ユニット("CPU")11
は、主要処理機能を提供する。メモリ15はCPU11
に接続され、プログラム及びデータの動作上の記憶を提
供する。メモリ15は例えばランダム・アクセス・メモ
リ("RAM")または読出し専用メモリ("ROM")を
含み得る。例えばデータ・ファイル及びプログラムの不
揮発性記憶が、記憶装置13により提供される。記憶装
置13は例えばディスク記憶装置を含み得る。メモリ1
5及び記憶装置13の両方は、コンピュータ・プログラ
ム製品をコンピュータ読出し可能プログラム・コードと
して記憶し得るコンピュータ使用可能媒体である。ユー
ザ入力及び出力が、ユーザ入出力("I/O")機構19
により提供される。ユーザ入出力機構19は、例えばグ
ラフィック・ディスプレイ、マウス及び(または)グラ
フィックス・タブレットを含み得る。システム入力及び
出力はシステム入出力機構17(例えばネットワーク・
アダプタ)により提供される。既知のように(例えば記
憶装置13とCPU11との間の)システム構成にもと
づき、他の入出力機構も含まれ得る。1つのコンピュー
タ・システム例として、図1のコンピュータ・システム
は、"OS/2 WARP"オペレーティング・システム
(IBM提供)を実行するIBMの"APTIVAパー
ソナル・コンピュータ・システム"である。
コンピュータ・システムのハードウェア要素の1つの例
が図1に示される。中央処理ユニット("CPU")11
は、主要処理機能を提供する。メモリ15はCPU11
に接続され、プログラム及びデータの動作上の記憶を提
供する。メモリ15は例えばランダム・アクセス・メモ
リ("RAM")または読出し専用メモリ("ROM")を
含み得る。例えばデータ・ファイル及びプログラムの不
揮発性記憶が、記憶装置13により提供される。記憶装
置13は例えばディスク記憶装置を含み得る。メモリ1
5及び記憶装置13の両方は、コンピュータ・プログラ
ム製品をコンピュータ読出し可能プログラム・コードと
して記憶し得るコンピュータ使用可能媒体である。ユー
ザ入力及び出力が、ユーザ入出力("I/O")機構19
により提供される。ユーザ入出力機構19は、例えばグ
ラフィック・ディスプレイ、マウス及び(または)グラ
フィックス・タブレットを含み得る。システム入力及び
出力はシステム入出力機構17(例えばネットワーク・
アダプタ)により提供される。既知のように(例えば記
憶装置13とCPU11との間の)システム構成にもと
づき、他の入出力機構も含まれ得る。1つのコンピュー
タ・システム例として、図1のコンピュータ・システム
は、"OS/2 WARP"オペレーティング・システム
(IBM提供)を実行するIBMの"APTIVAパー
ソナル・コンピュータ・システム"である。
【0017】複数実行環境を有するオブジェクト指向コ
ンピュータ・システムの例が図2に示される。図2で
は、5つの実行環境、すなわち3つの"インテル"・プロ
セッサ・ベースのワークステーション(ワークステーシ
ョンA35、ワークステーションB37、及びワークス
テーションC39)、"IBMシステム/390"クラス
のメインフレーム・ベースのホスト・コンピュータ("
ホスト")31、及び"IBMパワーPC"ファイル・サ
ーバ33を含む、オブジェクト指向コンピュータ・シス
テムが示される。ワークステーションA35、B37及
びC39は、例えばユーザと対話するように設計され、
ホスト31は例えばトランザクション・プロセッサとし
て意図され、ファイル・サーバ33は、その内部のディ
スク上に記憶される情報をアクセスする例えばデータベ
ース・サーバである。
ンピュータ・システムの例が図2に示される。図2で
は、5つの実行環境、すなわち3つの"インテル"・プロ
セッサ・ベースのワークステーション(ワークステーシ
ョンA35、ワークステーションB37、及びワークス
テーションC39)、"IBMシステム/390"クラス
のメインフレーム・ベースのホスト・コンピュータ("
ホスト")31、及び"IBMパワーPC"ファイル・サ
ーバ33を含む、オブジェクト指向コンピュータ・シス
テムが示される。ワークステーションA35、B37及
びC39は、例えばユーザと対話するように設計され、
ホスト31は例えばトランザクション・プロセッサとし
て意図され、ファイル・サーバ33は、その内部のディ
スク上に記憶される情報をアクセスする例えばデータベ
ース・サーバである。
【0018】実行環境は、例えば"トークン・リング"・
ローカル・エリア・ネットワーク("LAN")41によ
り相互接続され、それらの間の通信を容易にする。より
詳細には、ワークステーションA35は通信リンク43
を介してLAN41に接続される。図示の特定の相互接
続トポロジにも関わらず、任意の従来のハードウェア/
ソフトウェア・ネットワーク機構が、本開示技法に関連
して使用され得る。
ローカル・エリア・ネットワーク("LAN")41によ
り相互接続され、それらの間の通信を容易にする。より
詳細には、ワークステーションA35は通信リンク43
を介してLAN41に接続される。図示の特定の相互接
続トポロジにも関わらず、任意の従来のハードウェア/
ソフトウェア・ネットワーク機構が、本開示技法に関連
して使用され得る。
【0019】ホスト31、ファイル・サーバ33及びワ
ークステーションは、図示のオブジェクト指向コンピュ
ータ・システムの一部である。それに関連して、システ
ムのORB45がホスト31内に含まれる。ORB45
の正確な構成及び位置は使用されるオブジェクト指向環
境に依存して変化することが理解されよう。
ークステーションは、図示のオブジェクト指向コンピュ
ータ・システムの一部である。それに関連して、システ
ムのORB45がホスト31内に含まれる。ORB45
の正確な構成及び位置は使用されるオブジェクト指向環
境に依存して変化することが理解されよう。
【0020】本発明の1つの特長は、性能目標を考慮
し、実行環境間でのオブジェクトの動的な実行時の移動
を容易にする。後述されるように幾つかのテーブルがこ
の特長に関連して保持される。
し、実行環境間でのオブジェクトの動的な実行時の移動
を容易にする。後述されるように幾つかのテーブルがこ
の特長に関連して保持される。
【0021】図3は、ORB登録テーブルを示す。既知
のようにORBは通常、登録テーブルを用いて、オブジ
ェクト指向コンピュータ・システム内で実体化される各
オブジェクトの位置を追跡する。"位置"フィールドは、
オブジェクトが含まれる実行環境の名前(または他の固
有の識別子)を含む。例えば図示のように、オブジェク
トXはホスト31内で実体化される。
のようにORBは通常、登録テーブルを用いて、オブジ
ェクト指向コンピュータ・システム内で実体化される各
オブジェクトの位置を追跡する。"位置"フィールドは、
オブジェクトが含まれる実行環境の名前(または他の固
有の識別子)を含む。例えば図示のように、オブジェク
トXはホスト31内で実体化される。
【0022】ポリシ・テーブルは、オブジェクトの性能
が受諾可能な時、及び逆に、オブジェクトの性能が受諾
不能な時を決定するために保持される。ポリシ・テーブ
ルの例が図4に示される。ここで開示される技法による
性能モニタリング及び再配置を条件として、各オブジェ
クトのメソッドに対して(例えばシステム・プログラマ
または操作担当者により、)テーブル・エントリが定義
される。テーブル・エントリはオブジェクトの名前、メ
ソッドの名前、最大対話時間("MaxIT")、及び対話タ
イプを含む。MaxITは特定のオブジェクトのメソッドを
用いる対話の最長受諾時間に等しい。対話タイプはオブ
ジェクト対話のタイプを定義し、MaxITパラメータを解
釈するために使用される。
が受諾可能な時、及び逆に、オブジェクトの性能が受諾
不能な時を決定するために保持される。ポリシ・テーブ
ルの例が図4に示される。ここで開示される技法による
性能モニタリング及び再配置を条件として、各オブジェ
クトのメソッドに対して(例えばシステム・プログラマ
または操作担当者により、)テーブル・エントリが定義
される。テーブル・エントリはオブジェクトの名前、メ
ソッドの名前、最大対話時間("MaxIT")、及び対話タ
イプを含む。MaxITは特定のオブジェクトのメソッドを
用いる対話の最長受諾時間に等しい。対話タイプはオブ
ジェクト対話のタイプを定義し、MaxITパラメータを解
釈するために使用される。
【0023】ここでは2つの対話タイプが定義される。
第1の対話タイプに相当するタイプ1は、メッセージを
受信するが(すなわち別のオブジェクトから受信す
る)、応答を生成しないメソッドと関連して使用され
る。第2の対話タイプに相当するタイプ2はメッセージ
を受信し、メッセージを処理し、適切な応答により応答
するメソッドと関連して使用される。以降で詳述される
ように、オブジェクトがいつどこに移動されるかを決定
するために使用されるヒューリスティックは、オブジェ
クト・メソッド対話タイプにもとづき変化する。
第1の対話タイプに相当するタイプ1は、メッセージを
受信するが(すなわち別のオブジェクトから受信す
る)、応答を生成しないメソッドと関連して使用され
る。第2の対話タイプに相当するタイプ2はメッセージ
を受信し、メッセージを処理し、適切な応答により応答
するメソッドと関連して使用される。以降で詳述される
ように、オブジェクトがいつどこに移動されるかを決定
するために使用されるヒューリスティックは、オブジェ
クト・メソッド対話タイプにもとづき変化する。
【0024】本開示技法に従い、オブジェクトがいつど
こに移動されるかを決定する支援のために、幾つかのタ
イプの性能情報が収集される。第1の例として、システ
ム性能テーブルがオブジェクト指向コンピュータ・シス
テムの各個々の実行環境における性能データを動的に記
録する。図2のオブジェクト指向コンピュータ・システ
ムに対応するデータを有するシステム性能テーブルの例
が図5に示される。
こに移動されるかを決定する支援のために、幾つかのタ
イプの性能情報が収集される。第1の例として、システ
ム性能テーブルがオブジェクト指向コンピュータ・シス
テムの各個々の実行環境における性能データを動的に記
録する。図2のオブジェクト指向コンピュータ・システ
ムに対応するデータを有するシステム性能テーブルの例
が図5に示される。
【0025】図5のシステム性能テーブルの"性能"値の
各々は、絶対作業単位("AUW"(Absolute Units of
Work))で表されている。AUWは指定タスク(すなわ
ちベンチマーク)を実行するために、各実行環境を要す
る時間の測定である。例えば、AUWは、10000の
浮動小数点乗算を実行するために、各実行環境を要する
時間を測定することができる。どのようなベンチマーク
が使用されようと、この測定は各実行環境において周期
的(例えば毎10秒ごと)に実行され、それにより、シ
ステム性能テーブルが構成され、必要に応じて更新さ
れ、使用可能になる。1実施例では、ベンチマークが各
実行環境における共通オブジェクトとして実現され、そ
のメソッドがベンチマークを実行し、それを完了するた
めに要する時間を記録し、時間値を呼び出し元に返却す
る。呼び出し元は選択周期にもとづきベンチマーク・オ
ブジェクトを呼び出し、それに従いシステム性能テーブ
ルを保守することができる(IBMから提供される"資
源管理機構(Resource Management Facility)"などの
通常の性能モニタを用いて、類似のテーブルが生成され
てもよい)。
各々は、絶対作業単位("AUW"(Absolute Units of
Work))で表されている。AUWは指定タスク(すなわ
ちベンチマーク)を実行するために、各実行環境を要す
る時間の測定である。例えば、AUWは、10000の
浮動小数点乗算を実行するために、各実行環境を要する
時間を測定することができる。どのようなベンチマーク
が使用されようと、この測定は各実行環境において周期
的(例えば毎10秒ごと)に実行され、それにより、シ
ステム性能テーブルが構成され、必要に応じて更新さ
れ、使用可能になる。1実施例では、ベンチマークが各
実行環境における共通オブジェクトとして実現され、そ
のメソッドがベンチマークを実行し、それを完了するた
めに要する時間を記録し、時間値を呼び出し元に返却す
る。呼び出し元は選択周期にもとづきベンチマーク・オ
ブジェクトを呼び出し、それに従いシステム性能テーブ
ルを保守することができる(IBMから提供される"資
源管理機構(Resource Management Facility)"などの
通常の性能モニタを用いて、類似のテーブルが生成され
てもよい)。
【0026】個々の実行環境(すなわちプロセッサ)性
能の他に、ネットワーク性能が本発明の技法に関連して
有用である。メッセージ及び(または)呼び出しを実行
環境間で受け渡すために要する時間は、全体オブジェク
ト性能に影響し、オブジェクト指向コンピュータ・シス
テムにおける重要な性能メトリック(測定基準)とな
る。本発明によれば、ネットワーク性能テーブルがこう
したメトリックを保持する。
能の他に、ネットワーク性能が本発明の技法に関連して
有用である。メッセージ及び(または)呼び出しを実行
環境間で受け渡すために要する時間は、全体オブジェク
ト性能に影響し、オブジェクト指向コンピュータ・シス
テムにおける重要な性能メトリック(測定基準)とな
る。本発明によれば、ネットワーク性能テーブルがこう
したメトリックを保持する。
【0027】図2のオブジェクト指向コンピュータ・シ
ステムに対応するデータを有するネットワーク性能テー
ブルの例が図6に示される。図6のネットワーク性能テ
ーブル内の各値は、予め定義されたネットワーク・ベー
スの活動の発生に要する時間を表す。例えば、各値は例
えば1000バイトをある実行環境から別の実行環境に
送信するために要する時間を表す(図6のネットワーク
性能テーブル内の"対角線"により示されるように、デー
タをネットワークを介して自分自身に送信するには時間
を要さない)。どのようなベンチマークが使用されて
も、これは各実行環境において周期的に実行され(例え
ば毎10秒ごと)、それによりネットワーク性能テーブ
ルが構成され、コンピュータ・システム内で使用可能に
なる。1実施例では、ネットワーク・ベンチマークが各
実行環境上のオブジェクトとして実現され、そのメソッ
ドがネットワーク・ベンチマークを実行し、それを完了
するために要する時間を記録し、時間値を呼び出し元に
返却する。呼び出し元は選択周期にもとづき、各実行環
境においてベンチマーク・オブジェクトを呼び出し、そ
れに従いネットワーク性能テーブルを保守することがで
きる。また、ネットワーク性能を決定するために、実行
時メッセージもモニタされ得る。
ステムに対応するデータを有するネットワーク性能テー
ブルの例が図6に示される。図6のネットワーク性能テ
ーブル内の各値は、予め定義されたネットワーク・ベー
スの活動の発生に要する時間を表す。例えば、各値は例
えば1000バイトをある実行環境から別の実行環境に
送信するために要する時間を表す(図6のネットワーク
性能テーブル内の"対角線"により示されるように、デー
タをネットワークを介して自分自身に送信するには時間
を要さない)。どのようなベンチマークが使用されて
も、これは各実行環境において周期的に実行され(例え
ば毎10秒ごと)、それによりネットワーク性能テーブ
ルが構成され、コンピュータ・システム内で使用可能に
なる。1実施例では、ネットワーク・ベンチマークが各
実行環境上のオブジェクトとして実現され、そのメソッ
ドがネットワーク・ベンチマークを実行し、それを完了
するために要する時間を記録し、時間値を呼び出し元に
返却する。呼び出し元は選択周期にもとづき、各実行環
境においてベンチマーク・オブジェクトを呼び出し、そ
れに従いネットワーク性能テーブルを保守することがで
きる。また、ネットワーク性能を決定するために、実行
時メッセージもモニタされ得る。
【0028】更に本発明の性能モニタリング機能は、O
RB内で使用可能な情報を用いて、オブジェクト指向コ
ンピュータ・システム内の各オブジェクト対話に対し
て、対話テーブルを保守する。ORBは、オブジェクト
とその中に含まれるメソッドとの間の各対話を管理す
る。ORBの機能は、各オブジェクト対話の記録を保持
するように拡張され、オブジェクト指向コンピュータ・
システム内に、例えば図7に示される対話テーブルの形
式により記憶される。
RB内で使用可能な情報を用いて、オブジェクト指向コ
ンピュータ・システム内の各オブジェクト対話に対し
て、対話テーブルを保守する。ORBは、オブジェクト
とその中に含まれるメソッドとの間の各対話を管理す
る。ORBの機能は、各オブジェクト対話の記録を保持
するように拡張され、オブジェクト指向コンピュータ・
システム内に、例えば図7に示される対話テーブルの形
式により記憶される。
【0029】図7の対話テーブルは、各オブジェクト対
話に対応して、幾つかの情報フィールドを含む。これら
のフィールドは、次のように定義される。 シーケンス番号:各オブジェクト対話を識別するために
使用されるシーケンス番号。 オブジェクトから:対話のソース・オブジェクト。 オブジェクトへ:対話のターゲット・オブジェクト。 メソッドへ:対話のターゲット・オブジェクト内のター
ゲット・メソッド。 タイプ:対話のタイプ(すなわちタイプ1=応答が期待
されない、タイプ2=応答が期待される)。 開始時刻:対話がソース・オブジェクトにより開始され
る時刻。 往路遅延:ソース・オブジェクトからターゲット・オブ
ジェクトへのメッセージ/呼び出しの転送に占有される
時間(すなわち、システム・クロックに関連するタイム
・スタンプから計算される)。 処理時間:タイプ2オブジェクトに対して、対話を処理
するためにターゲット・オブジェクトにより使用される
実際の処理時間。 復路遅延:ターゲット・オブジェクトからソース・オブ
ジェクトへの応答の転送に占有される時間(すなわち、
システム・クロックに関連するタイム・スタンプから計
算される)。
話に対応して、幾つかの情報フィールドを含む。これら
のフィールドは、次のように定義される。 シーケンス番号:各オブジェクト対話を識別するために
使用されるシーケンス番号。 オブジェクトから:対話のソース・オブジェクト。 オブジェクトへ:対話のターゲット・オブジェクト。 メソッドへ:対話のターゲット・オブジェクト内のター
ゲット・メソッド。 タイプ:対話のタイプ(すなわちタイプ1=応答が期待
されない、タイプ2=応答が期待される)。 開始時刻:対話がソース・オブジェクトにより開始され
る時刻。 往路遅延:ソース・オブジェクトからターゲット・オブ
ジェクトへのメッセージ/呼び出しの転送に占有される
時間(すなわち、システム・クロックに関連するタイム
・スタンプから計算される)。 処理時間:タイプ2オブジェクトに対して、対話を処理
するためにターゲット・オブジェクトにより使用される
実際の処理時間。 復路遅延:ターゲット・オブジェクトからソース・オブ
ジェクトへの応答の転送に占有される時間(すなわち、
システム・クロックに関連するタイム・スタンプから計
算される)。
【0030】各対話が発生するとき、対応するエントリ
が対話テーブルに追加される。しかしながら、対話テー
ブルは制限無しに成長することが許可されておらず、リ
スト管理規則に従い管理される。第1の規則として、対
話テーブルは所定数(例えば100)の対話に制限され
る。テーブルが所定の制限を越えて成長するとき、最も
古いトランザクションが除去され、最新のトランザクシ
ョンが追加される。別の規則例として、オブジェクトが
実行環境間で移動されるとき、その全てのエントリが対
話テーブルから除去される。なぜなら、それらはもはや
存在しないオブジェクトの実体化を表現するからであ
る。更に別の規則として、特定の対話(すなわち、前記
フィールドの"オブジェクトから"、"オブジェクトへ"、
及び"メソッドへ"により定義される)の最近のエントリ
だけが保持される。
が対話テーブルに追加される。しかしながら、対話テー
ブルは制限無しに成長することが許可されておらず、リ
スト管理規則に従い管理される。第1の規則として、対
話テーブルは所定数(例えば100)の対話に制限され
る。テーブルが所定の制限を越えて成長するとき、最も
古いトランザクションが除去され、最新のトランザクシ
ョンが追加される。別の規則例として、オブジェクトが
実行環境間で移動されるとき、その全てのエントリが対
話テーブルから除去される。なぜなら、それらはもはや
存在しないオブジェクトの実体化を表現するからであ
る。更に別の規則として、特定の対話(すなわち、前記
フィールドの"オブジェクトから"、"オブジェクトへ"、
及び"メソッドへ"により定義される)の最近のエントリ
だけが保持される。
【0031】本発明に関連して使用される別のテーブル
は、図8に示される呼び出し元テーブルである。このテ
ーブルは、各オブジェクトの各メソッドに対する呼び出
し元のリストを記録する。対話テーブルと同様、呼び出
し元テーブルは、ORB管理されるオブジェクト対話を
モニタし、各対話に対して各オブジェクトの各メソッド
に対する呼び出し元の非冗長リストを生成することによ
り動的に保守される。
は、図8に示される呼び出し元テーブルである。このテ
ーブルは、各オブジェクトの各メソッドに対する呼び出
し元のリストを記録する。対話テーブルと同様、呼び出
し元テーブルは、ORB管理されるオブジェクト対話を
モニタし、各対話に対して各オブジェクトの各メソッド
に対する呼び出し元の非冗長リストを生成することによ
り動的に保守される。
【0032】上述のテーブルを使用することにより、適
時、オブジェクトを実行環境間で移動する機構が実現さ
れる。特に、オブジェクトがその指定性能目標を達成し
ていない場合、オブジェクトは目標を達成できる実行環
境に移動される。
時、オブジェクトを実行環境間で移動する機構が実現さ
れる。特に、オブジェクトがその指定性能目標を達成し
ていない場合、オブジェクトは目標を達成できる実行環
境に移動される。
【0033】周期的に、対話テーブル(図7)が調査さ
れ、各メソッドの対話データが調査されて、オブジェク
トがその性能目標を達成しているか否かが判断される。
オブジェクトのメソッドがその目標を達成していなけれ
ば、オブジェクトはその目標を達成可能な実行環境に移
動され、それ以外では、オブジェクトは邪魔されること
はない。
れ、各メソッドの対話データが調査されて、オブジェク
トがその性能目標を達成しているか否かが判断される。
オブジェクトのメソッドがその目標を達成していなけれ
ば、オブジェクトはその目標を達成可能な実行環境に移
動され、それ以外では、オブジェクトは邪魔されること
はない。
【0034】メソッドがその目標を達成することを保証
し、オブジェクトをより有利な位置に移動するプロセス
の例が、図11乃至図13により詳細に示される。ここ
で、図7の対話テーブルから、メソッドが既に調査のた
めに選択されていると仮定する。図11に示されるよう
に(ステップ101)、現メソッドに対応してオブジェ
クト・タイプ(すなわちタイプ1またはタイプ2)及び
所望の対話時間("IT")が、図4のポリシ・テーブル
から決定される。次に、メソッドが"タイプ1"かまた
は"タイプ2"かがテストされる(問い合わせせ10
3)。"タイプ1"メソッドに対しては、対話時間が対話
テーブル内の現メソッドに関連付けられる往路遅延と比
較される。往路遅延が対話時間を越える場合(問い合わ
せ107)、所望の性能は達成されず、現メソッドを有
するオブジェクトの移動が実行される(ステップ11
1)。"タイプ2"メソッドでは、対話時間が対話テーブ
ル内の現メソッドに関連付けられる往路遅延、復路遅延
及び処理遅延の合計と比較される。この合計が対話時間
を越える場合(問い合わせ109)、所望の性能は達成
されず、現メソッドを有するオブジェクトの移動が実行
される(ステップ111)。性能目標が達成される場合
には何もアクションは取られない。
し、オブジェクトをより有利な位置に移動するプロセス
の例が、図11乃至図13により詳細に示される。ここ
で、図7の対話テーブルから、メソッドが既に調査のた
めに選択されていると仮定する。図11に示されるよう
に(ステップ101)、現メソッドに対応してオブジェ
クト・タイプ(すなわちタイプ1またはタイプ2)及び
所望の対話時間("IT")が、図4のポリシ・テーブル
から決定される。次に、メソッドが"タイプ1"かまた
は"タイプ2"かがテストされる(問い合わせせ10
3)。"タイプ1"メソッドに対しては、対話時間が対話
テーブル内の現メソッドに関連付けられる往路遅延と比
較される。往路遅延が対話時間を越える場合(問い合わ
せ107)、所望の性能は達成されず、現メソッドを有
するオブジェクトの移動が実行される(ステップ11
1)。"タイプ2"メソッドでは、対話時間が対話テーブ
ル内の現メソッドに関連付けられる往路遅延、復路遅延
及び処理遅延の合計と比較される。この合計が対話時間
を越える場合(問い合わせ109)、所望の性能は達成
されず、現メソッドを有するオブジェクトの移動が実行
される(ステップ111)。性能目標が達成される場合
には何もアクションは取られない。
【0035】現メソッドを有するオブジェクト("ToOb
j")が移動されるべきオブジェクト指向コンピュータ・
システムの実行環境を決定する技法の1つの例が、図1
2乃至図13の擬似コードに示される。最初にToObjに
対する潜在ターゲット実行環境のリスト("PTL")が
ヌル値に初期化される(ステップ120)。"CURLOC"と
呼ばれる変数が、ToObjが現在実行されている実行環境
の名前にセットされる(ステップ121)。この名前は
ORB登録テーブル(図3)から決定される。別のリス
ト"LOCLIST"が、ToObjのあらゆるメソッドの呼び出しが
発信された実行環境の名前を含むように初期化される
(ステップ123)。これは、例えば図8に示される呼
び出し元テーブルから決定される。呼び出される実際の
メソッドは、最初に呼び出し元テーブルの調査から同様
に構成される"METHLIST"と呼ばれるリストに記憶され
る。
j")が移動されるべきオブジェクト指向コンピュータ・
システムの実行環境を決定する技法の1つの例が、図1
2乃至図13の擬似コードに示される。最初にToObjに
対する潜在ターゲット実行環境のリスト("PTL")が
ヌル値に初期化される(ステップ120)。"CURLOC"と
呼ばれる変数が、ToObjが現在実行されている実行環境
の名前にセットされる(ステップ121)。この名前は
ORB登録テーブル(図3)から決定される。別のリス
ト"LOCLIST"が、ToObjのあらゆるメソッドの呼び出しが
発信された実行環境の名前を含むように初期化される
(ステップ123)。これは、例えば図8に示される呼
び出し元テーブルから決定される。呼び出される実際の
メソッドは、最初に呼び出し元テーブルの調査から同様
に構成される"METHLIST"と呼ばれるリストに記憶され
る。
【0036】説明を続けると、METHLIST内の各メソッド
に対応してループに入り、ここでMはループ内で処理さ
れる現メソッドである(ステップ127)。Mに対する
潜在ターゲット実行環境のリスト"PTL_M"が、最初
に空にセットされる(ステップ129)。次に、Mがタ
イプ2であるならば(ステップ131、例えば図4のポ
リシ・テーブルから決定される)、それに対して、作業
測度"MW(measure of work)"が決定される(ステッ
プ133)。特にMWは、対話テーブル(例えば図7)
内のMに対して記録される最後の処理時間"PT"を、例
えば図5のシステム性能テーブル内に示されるCURLOCの
AUW測度により除算することにより、決定される。M
がタイプ2でない場合には(ステップ132)、MWが
ヌル値にセットされる(ステップ134)。
に対応してループに入り、ここでMはループ内で処理さ
れる現メソッドである(ステップ127)。Mに対する
潜在ターゲット実行環境のリスト"PTL_M"が、最初
に空にセットされる(ステップ129)。次に、Mがタ
イプ2であるならば(ステップ131、例えば図4のポ
リシ・テーブルから決定される)、それに対して、作業
測度"MW(measure of work)"が決定される(ステッ
プ133)。特にMWは、対話テーブル(例えば図7)
内のMに対して記録される最後の処理時間"PT"を、例
えば図5のシステム性能テーブル内に示されるCURLOCの
AUW測度により除算することにより、決定される。M
がタイプ2でない場合には(ステップ132)、MWが
ヌル値にセットされる(ステップ134)。
【0037】次のループに入り、プロセッサ性能テーブ
ル内の各実行環境が処理され、不在のCURLOCCMWがヌ
ル値ではない場合では、処理される実行環境がPTSY
Sに記憶される(ステップ135)。ループ内において
MWがヌルでない場合(ステップ137)、システムP
TSYS上で計画された応答時間が計算される。特に、
計画された応答時間は、PTSYSのAUW(すなわち
AUWPTSYS)とMWとの積によるPRPTSYSにより表さ
れる(ステップ139)。MWがヌルの場合には、PR
PTSYSがヌルにセットされる(ステップ141)。
ル内の各実行環境が処理され、不在のCURLOCCMWがヌ
ル値ではない場合では、処理される実行環境がPTSY
Sに記憶される(ステップ135)。ループ内において
MWがヌルでない場合(ステップ137)、システムP
TSYS上で計画された応答時間が計算される。特に、
計画された応答時間は、PTSYSのAUW(すなわち
AUWPTSYS)とMWとの積によるPRPTSYSにより表さ
れる(ステップ139)。MWがヌルの場合には、PR
PTSYSがヌルにセットされる(ステップ141)。
【0038】更にネスティング・ループに入り、LOCLIS
T内の各実行環境が処理され、処理される実行環境がS
に記憶される(ステップ143)。"時刻まで"を意味す
るTO_TIMEが、SからPTSYSへのネットワーク遅延
の関数として決定される(ステップ145)。次に、P
RPTSYSがTO_TIMEにより増分される(ステップ14
7)。その後、Mがタイプ2の場合(ステップ14
9)、"時刻から"を意味するFROM_TIMEがPTSYSか
らSへのネットワーク遅延の関数として決定され、PR
P TSYSがそれにより増分される(ステップ153)。現
ループを完了するため、PRPTSYSが、現メソッドMに
対応してポリシ・テーブルに記憶された対話時間(すな
わち基準(CRITERION)として参照される)よりも大き
ければ、最外郭のループにジャンプすることにより、前
述のループのネスティング・レベルがバイパスされる
(ステップ155)。それ以外では、現ループが繰り返
される(すなわちステップ143に戻る)。
T内の各実行環境が処理され、処理される実行環境がS
に記憶される(ステップ143)。"時刻まで"を意味す
るTO_TIMEが、SからPTSYSへのネットワーク遅延
の関数として決定される(ステップ145)。次に、P
RPTSYSがTO_TIMEにより増分される(ステップ14
7)。その後、Mがタイプ2の場合(ステップ14
9)、"時刻から"を意味するFROM_TIMEがPTSYSか
らSへのネットワーク遅延の関数として決定され、PR
P TSYSがそれにより増分される(ステップ153)。現
ループを完了するため、PRPTSYSが、現メソッドMに
対応してポリシ・テーブルに記憶された対話時間(すな
わち基準(CRITERION)として参照される)よりも大き
ければ、最外郭のループにジャンプすることにより、前
述のループのネスティング・レベルがバイパスされる
(ステップ155)。それ以外では、現ループが繰り返
される(すなわちステップ143に戻る)。
【0039】ループの前述のネスティング・レベル(す
なわちステップ135で開始するループ)は、PTSY
SをPTL_Mにより増分することにより完了される
(ステップ157)。ループが次に繰り返される(ステ
ップ135に戻る)。
なわちステップ135で開始するループ)は、PTSY
SをPTL_Mにより増分することにより完了される
(ステップ157)。ループが次に繰り返される(ステ
ップ135に戻る)。
【0040】最外郭のループはPTLがヌルであったな
らば、PTLをPTL_Mにセットすることにより継続
される(ステップ159)。PTLが非ヌルならば、P
TLが自身とPTL_Mとの論理"セット"共通部分にセ
ットされる(ステップ163)。前述の結果として、P
TLは使用されたToObjの全てのメソッドに対する受諾
可能なターゲット実行環境のリストを含む。オブジェク
トが移動され得る実行環境の選択が、次にこのリストか
らランダム選択により、若しくは実行環境の所定の優先
ポリシにより、特定の実行環境の類似性により、実行さ
れる。ターゲット実行環境が決定されると、現オブジェ
クトがそこに移動される。本発明の技法はオブジェクト
を複数の実行環境上の複数のインスタンスに"分割"する
ことにより、所望の性能目標が獲得され得る。
らば、PTLをPTL_Mにセットすることにより継続
される(ステップ159)。PTLが非ヌルならば、P
TLが自身とPTL_Mとの論理"セット"共通部分にセ
ットされる(ステップ163)。前述の結果として、P
TLは使用されたToObjの全てのメソッドに対する受諾
可能なターゲット実行環境のリストを含む。オブジェク
トが移動され得る実行環境の選択が、次にこのリストか
らランダム選択により、若しくは実行環境の所定の優先
ポリシにより、特定の実行環境の類似性により、実行さ
れる。ターゲット実行環境が決定されると、現オブジェ
クトがそこに移動される。本発明の技法はオブジェクト
を複数の実行環境上の複数のインスタンスに"分割"する
ことにより、所望の性能目標が獲得され得る。
【0041】例えばより詳細には、オブジェクトMにと
って性能基準を満足する実行環境が、使用可能でないか
も知れない。こうした場合には、基準が満足されないM
のメソッドを呼び出すオブジェクトが、全てのMのメソ
ッドに対応する全ての呼び出し元テーブル(例えば図
8)のエントリから除去され、下記の技法に従い、分割
インスタンス・エントリが呼び出し元テーブル内に分割
インスタンスとして生成される。次に、呼び出し元テー
ブル内のMのエントリから消去された呼び出し元が分割
インスタンスのエントリとして、呼び出し元テーブルに
追加される。次に、上述の技法(図12乃至図13)
が、Mの分割インスタンスに対する実行環境を決定する
ために適用され、分割インスタンスが、前記米国特許出
願第号の分割/併合技法を用いて生成される。Mが他の
呼び出し元を有さない場合にはMが消去される。図10
の分割/併合ポリシ・テーブルの"分割基準"は、前記参
照プロセスにおいて"MaxIT"として使用され、分割イン
スタンスがそれにより決定される位置に生成される。こ
れでMの分割インスタンスの生成が完了する。
って性能基準を満足する実行環境が、使用可能でないか
も知れない。こうした場合には、基準が満足されないM
のメソッドを呼び出すオブジェクトが、全てのMのメソ
ッドに対応する全ての呼び出し元テーブル(例えば図
8)のエントリから除去され、下記の技法に従い、分割
インスタンス・エントリが呼び出し元テーブル内に分割
インスタンスとして生成される。次に、呼び出し元テー
ブル内のMのエントリから消去された呼び出し元が分割
インスタンスのエントリとして、呼び出し元テーブルに
追加される。次に、上述の技法(図12乃至図13)
が、Mの分割インスタンスに対する実行環境を決定する
ために適用され、分割インスタンスが、前記米国特許出
願第号の分割/併合技法を用いて生成される。Mが他の
呼び出し元を有さない場合にはMが消去される。図10
の分割/併合ポリシ・テーブルの"分割基準"は、前記参
照プロセスにおいて"MaxIT"として使用され、分割イン
スタンスがそれにより決定される位置に生成される。こ
れでMの分割インスタンスの生成が完了する。
【0042】同様にメソッドが"分割"されると、オブジ
ェクトをより少ないインスタンスに"併合"することが望
ましくなり得る。例えば、オブジェクトMの分割インス
タンスSiが、その性能基準を満足する実行環境に再配
置され得ない場合、次のプロセスが実行される。Siの
併合インスタンスMが存在しない場合、前記の技法によ
りMが決定された位置に生成される。更に別のステップ
として、呼び出し元テーブル(図8)にMのエントリが
生成される。SiのエントリがMの生成エントリに移動
され、Siのエントリが消去される。図10の分割/併
合ポリシ・テーブルの"併合基準"が"MaxIT"として使用
され、併合インスタンスがそれにより決定された位置に
生成される。その後、SiがMに併合される。
ェクトをより少ないインスタンスに"併合"することが望
ましくなり得る。例えば、オブジェクトMの分割インス
タンスSiが、その性能基準を満足する実行環境に再配
置され得ない場合、次のプロセスが実行される。Siの
併合インスタンスMが存在しない場合、前記の技法によ
りMが決定された位置に生成される。更に別のステップ
として、呼び出し元テーブル(図8)にMのエントリが
生成される。SiのエントリがMの生成エントリに移動
され、Siのエントリが消去される。図10の分割/併
合ポリシ・テーブルの"併合基準"が"MaxIT"として使用
され、併合インスタンスがそれにより決定された位置に
生成される。その後、SiがMに併合される。
【0043】前記の技法では、対話テーブル(図7)内
の各オブジェクトの性能が周期的に評価されるが、他の
評価技法も可能である。例えば、各オブジェクト/メソ
ッドの性能が毎呼び出し時に評価される。また、前記の
ステップを実行するプロセスが、例えばオブジェクト指
向コンピュータ・システム内のオブジェクトまたはオブ
ジェクトの収集として実現される。1実施例では、これ
らのオブジェクトが同一の実行環境内にORBとして実
現され、対話テーブル及び呼び出し元テーブルの管理に
関連して、そこへの好都合なアクセスを容易にする。
の各オブジェクトの性能が周期的に評価されるが、他の
評価技法も可能である。例えば、各オブジェクト/メソ
ッドの性能が毎呼び出し時に評価される。また、前記の
ステップを実行するプロセスが、例えばオブジェクト指
向コンピュータ・システム内のオブジェクトまたはオブ
ジェクトの収集として実現される。1実施例では、これ
らのオブジェクトが同一の実行環境内にORBとして実
現され、対話テーブル及び呼び出し元テーブルの管理に
関連して、そこへの好都合なアクセスを容易にする。
【0044】上述の説明は、オブジェクト指向コンピュ
ータ・システム内において、実行時にオブジェクトの分
布を動的に管理する技法の例である。当業者には、上述
のステップのフロー及びシーケンスが単に1つの例に過
ぎないことが理解されよう。多くの変更が可能であり、
例えば、上述のステップより多くのまたは少ないステッ
プを処理したり、1つまたは複数のステップを変更した
り、本発明の趣旨及び範囲から逸脱すること無しに、幾
つかのステップの順序を変更したりしてもよい。例えば
上述の開示技法を用いて、呼び出す側のオブジェクトが
呼び出される側のオブジェクトの代わりに移動されても
よい。従って、これらの変更は、本発明の一部と見なさ
れる。
ータ・システム内において、実行時にオブジェクトの分
布を動的に管理する技法の例である。当業者には、上述
のステップのフロー及びシーケンスが単に1つの例に過
ぎないことが理解されよう。多くの変更が可能であり、
例えば、上述のステップより多くのまたは少ないステッ
プを処理したり、1つまたは複数のステップを変更した
り、本発明の趣旨及び範囲から逸脱すること無しに、幾
つかのステップの順序を変更したりしてもよい。例えば
上述の開示技法を用いて、呼び出す側のオブジェクトが
呼び出される側のオブジェクトの代わりに移動されても
よい。従って、これらの変更は、本発明の一部と見なさ
れる。
【0045】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0046】(1)複数の実行環境と、前記複数の実行
環境の少なくとも1つの実行環境において実行される少
なくとも1つのインスタンスを有するオブジェクトとを
含むオブジェクト指向コンピュータ・システムにおい
て、前記オブジェクトを管理する方法であって、前記オ
ブジェクト指向コンピュータ・システムにおいて、前記
オブジェクトの実行時性能をモニタするステップと、前
記モニタリングに応答して、実行時に、前記少なくとも
1つのインスタンスの数、または前記少なくとも1つの
インスタンスが実行される前記少なくとも1つの実行環
境の数の少なくとも一方を変更するステップと、を含
む、方法。 (2)前記オブジェクトの前記少なくとも1つのインス
タンスが、単一の実行環境内で実行される単一のインス
タンスを含み、前記変更ステップが、前記単一のインス
タンスを前記単一の実行環境から、前記複数の実行環境
の別の実行環境に移動するステップを含む、前記(1)
記載の方法。 (3)前記移動ステップが、前記単一のインスタンスを
前記単一の実行環境から前記別の実行環境へ移動するス
テップを含み、前記別の実行環境及び前記単一の実行環
境が異類である、前記(2)記載の方法。 (4)前記移動ステップが、前記単一の実行環境と前記
別の実行環境との間の前記移動の間に、前記オブジェク
トの状態を保存するステップを含む、前記(3)記載の
方法。 (5)前記オブジェクトの前記少なくとも1つのインス
タンスが、単一の実行環境内で実行される単一のインス
タンスを含み、前記変更ステップが、前記オブジェクト
を前記複数の実行環境の複数の前記実行環境で実行され
る複数のインスタンスに分割するステップを含む、前記
(1)記載の方法。 (6)前記分割ステップが、前記オブジェクトの前記単
一のインスタンスの状態を前記複数のインスタンスにコ
ピーするステップを含む、前記(5)記載の方法。 (7)前記分割にも関わらず、前記オブジェクトの呼び
出しが前記分割以前と同様に呼び出し元により実行可能
である、前記(5)記載の方法。 (8)前記分割ステップが、前記単一の実行環境内で実
行される前記単一のインスタンスを保守するステップを
含む、前記(5)記載の方法。 (9)前記分割ステップが、前記単一の実行環境内で実
行される前記単一のインスタンスを除去するステップを
含む、前記(5)記載の方法。 (10)前記オブジェクトの前記少なくとも1つのイン
スタンスが、複数の実行環境で実行される複数のインス
タンスを含み、前記変更ステップが、前記オブジェクト
を単一の実行環境内で実行される単一のインスタンスに
併合するステップを含む、前記(1)記載の方法。 (11)前記併合ステップが、前記オブジェクトの前記
複数のインスタンスの状態を統合するステップと、前記
状態を前記オブジェクトの前記単一のインスタンスに引
用するステップとを含む、前記(10)記載の方法。 (12)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(10)記載の方法。 (13)前記オブジェクト指向コンピュータ・システム
がオブジェクト・マネージャを含み、前記モニタリング
・ステップが、前記オブジェクトに関連するオブジェク
ト・マネージャ活動を追跡するステップを含む、前記
(1)記載の方法。 (14)前記オブジェクト指向コンピュータ・システム
が、前記変更ステップを実行する実行時最適化機構を含
み、前記モニタリング・ステップが、前記追跡ステップ
から獲得された情報を前記変更ステップにおいて使用す
るために、前記制御プログラムに転送するステップを含
む、前記(13)記載の方法。 (15)前記モニタリング・ステップが、前記オブジェ
クトに関連するネットワーク・パラメータをモニタする
ステップを含む、前記(1)記載の方法。 (16)前記ネットワーク・パラメータがネットワーク
待ち時間を含む、前記(15)記載の方法。 (17)前記モニタリング・ステップが、前記少なくと
も1つのインスタンスが実行される前記少なくとも1つ
の実行環境の性能をモニタするステップを含む、前記
(1)記載の方法。 (18)前記オブジェクトが少なくとも1つのメソッド
を含み、前記モニタリング・ステップが前記メソッドの
少なくとも1つの呼び出しと、前記少なくとも1つの呼
び出しに関連付けられる性能データとを含む対話テーブ
ルを保守するステップを含む、前記(1)記載の方法。 (19)前記性能データが、前記少なくとも1つのメソ
ッドの呼び出し元を含む、前記(18)記載の方法。 (20)前記性能データが、前記少なくとも1つの呼び
出しを前記呼び出し元から前記オブジェクトに転送する
際に生じる往路遅延を含む、前記(19)記載の方法。 (21)前記呼び出しが処理及び応答を要求するタイプ
であり、前記性能データが更に、前記少なくとも1つの
メソッドの処理遅延、及び前記応答を前記呼び出し元に
転送する際に生じる復路遅延を含む、前記(20)記載
の方法。 (22)前記モニタリング・ステップが、前記少なくと
も1つのメソッドと、前記少なくとも1つのメソッドの
各々に対応する目標対話時間とを含むポリシ・テーブル
を保守するステップを含む、前記(18)記載の方法。 (23)前記モニタリング・ステップが、前記目標対話
時間の少なくとも1つを前記性能データと比較し、前記
オブジェクトの性能が満足されるか否かを判断する比較
ステップを含む、前記(22)記載の方法。 (24)複数の実行環境と、前記複数の実行環境の少な
くとも1つの実行環境において実行される少なくとも1
つのインスタンスを有するオブジェクトとを含むオブジ
ェクト指向コンピュータ・システムにおいて、前記オブ
ジェクトを管理するシステムであって、前記オブジェク
ト指向コンピュータ・システムにおいて、前記オブジェ
クトの実行時性能をモニタする手段と、前記モニタリン
グに応答して、実行時に前記少なくとも1つのインスタ
ンスの数、または前記少なくとも1つのインスタンスが
実行される前記少なくとも1つの実行環境の数の少なく
とも一方を変更する手段と、を含む、システム。 (25)前記オブジェクトの前記少なくとも1つのイン
スタンスが、単一の実行環境内で実行される単一のイン
スタンスを含み、前記変更手段が、前記単一のインスタ
ンスを前記単一の実行環境から、前記複数の実行環境の
別の実行環境に移動する手段を含む、前記(24)記載
のシステム。 (26)前記移動手段が、前記単一のインスタンスを前
記単一の実行環境から前記別の実行環境へ移動する手段
を含み、前記別の実行環境及び前記単一の実行環境が異
類である、前記(25)記載のシステム。 (27)前記移動手段が、前記単一の実行環境と前記別
の実行環境との間の前記移動の間に、前記オブジェクト
の状態を保存する手段を含む、前記(26)記載のシス
テム。 (28)前記オブジェクトの前記少なくとも1つのイン
スタンスが、単一の実行環境内で実行される単一のイン
スタンスを含み、前記変更手段が、前記オブジェクトを
前記複数の実行環境の複数の前記実行環境で実行される
複数のインスタンスに分割する手段を含む、前記(2
4)記載のシステム。 (29)前記分割手段が、前記オブジェクトの前記単一
のインスタンスの状態を前記複数のインスタンスにコピ
ーする手段を含む、前記(28)記載のシステム。 (30)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(28)記載のシステム。 (31)前記分割手段が、前記単一の実行環境内で実行
される前記単一のインスタンスを保守する手段を含む、
前記(28)記載のシステム。 (32)前記分割手段が、前記単一の実行環境内で実行
される前記単一のインスタンスを除去する手段を含む、
前記(28)記載のシステム。 (33)前記オブジェクトの前記少なくとも1つのイン
スタンスが、複数の実行環境で実行される複数のインス
タンスを含み、前記変更手段が、前記オブジェクトを単
一の実行環境内で実行される単一のインスタンスに併合
する手段を含む、前記(24)記載のシステム。 (34)前記併合手段が、前記オブジェクトの前記複数
のインスタンスの状態を統合する手段と、前記状態を前
記オブジェクトの前記単一のインスタンスに引用する手
段とを含む、前記(33)記載のシステム。 (35)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(33)記載のシステム。 (36)前記オブジェクト指向コンピュータ・システム
がオブジェクト・マネージャを含み、前記モニタリング
手段が、前記オブジェクトに関連するオブジェクト・マ
ネージャ活動を追跡する手段を含む、前記(24)記載
のシステム。 (37)前記オブジェクト指向コンピュータ・システム
が、前記変更を実行する実行時最適化機構を含み、前記
モニタリング手段が、前記追跡から獲得された情報を、
前記変更において使用するために、前記制御プログラム
に転送する手段を含む、前記(36)記載のシステム。 (38)前記モニタリング手段が、前記オブジェクトに
関連するネットワーク・パラメータをモニタする手段を
含む、前記(24)記載のシステム。 (39)前記ネットワーク・パラメータがネットワーク
待ち時間を含む、前記(38)記載のシステム。 (40)前記モニタリング手段が、前記少なくとも1つ
のインスタンスが実行される前記少なくとも1つの実行
環境の性能をモニタする手段を含む、前記(24)記載
のシステム。 (41)前記オブジェクトが少なくとも1つのメソッド
を含み、前記モニタリング手段が、前記メソッドの少な
くとも1つの呼び出しと、前記少なくとも1つの呼び出
しに関連付けられる性能データとを含む対話テーブルを
保守する手段を含む、前記(24)記載のシステム。 (42)前記性能データが、前記少なくとも1つのメソ
ッドの呼び出し元を含む、前記(41)記載のシステ
ム。 (43)前記性能データが、前記少なくとも1つの呼び
出しを前記呼び出し元から前記オブジェクトに転送する
際に生じる往路遅延を含む、前記(42)記載のシステ
ム。 (44)前記呼び出しが処理及び応答を要求するタイプ
であり、前記性能データが更に、前記少なくとも1つの
メソッドの処理遅延、及び前記応答を前記呼び出し元に
転送する際に生じる復路遅延を含む、前記(43)記載
のシステム。 (45)前記モニタリング手段が、前記少なくとも1つ
のメソッドと、前記少なくとも1つのメソッドの各々に
対応する目標対話時間とを含むポリシ・テーブルを保守
する手段を含む、前記(41)記載のシステム。 (46)前記モニタリング手段が、前記目標対話時間の
少なくとも1つを前記性能データと比較し、前記オブジ
ェクトの性能が満足されるか否かを判断する比較手段を
含む、前記(45)記載のシステム。
環境の少なくとも1つの実行環境において実行される少
なくとも1つのインスタンスを有するオブジェクトとを
含むオブジェクト指向コンピュータ・システムにおい
て、前記オブジェクトを管理する方法であって、前記オ
ブジェクト指向コンピュータ・システムにおいて、前記
オブジェクトの実行時性能をモニタするステップと、前
記モニタリングに応答して、実行時に、前記少なくとも
1つのインスタンスの数、または前記少なくとも1つの
インスタンスが実行される前記少なくとも1つの実行環
境の数の少なくとも一方を変更するステップと、を含
む、方法。 (2)前記オブジェクトの前記少なくとも1つのインス
タンスが、単一の実行環境内で実行される単一のインス
タンスを含み、前記変更ステップが、前記単一のインス
タンスを前記単一の実行環境から、前記複数の実行環境
の別の実行環境に移動するステップを含む、前記(1)
記載の方法。 (3)前記移動ステップが、前記単一のインスタンスを
前記単一の実行環境から前記別の実行環境へ移動するス
テップを含み、前記別の実行環境及び前記単一の実行環
境が異類である、前記(2)記載の方法。 (4)前記移動ステップが、前記単一の実行環境と前記
別の実行環境との間の前記移動の間に、前記オブジェク
トの状態を保存するステップを含む、前記(3)記載の
方法。 (5)前記オブジェクトの前記少なくとも1つのインス
タンスが、単一の実行環境内で実行される単一のインス
タンスを含み、前記変更ステップが、前記オブジェクト
を前記複数の実行環境の複数の前記実行環境で実行され
る複数のインスタンスに分割するステップを含む、前記
(1)記載の方法。 (6)前記分割ステップが、前記オブジェクトの前記単
一のインスタンスの状態を前記複数のインスタンスにコ
ピーするステップを含む、前記(5)記載の方法。 (7)前記分割にも関わらず、前記オブジェクトの呼び
出しが前記分割以前と同様に呼び出し元により実行可能
である、前記(5)記載の方法。 (8)前記分割ステップが、前記単一の実行環境内で実
行される前記単一のインスタンスを保守するステップを
含む、前記(5)記載の方法。 (9)前記分割ステップが、前記単一の実行環境内で実
行される前記単一のインスタンスを除去するステップを
含む、前記(5)記載の方法。 (10)前記オブジェクトの前記少なくとも1つのイン
スタンスが、複数の実行環境で実行される複数のインス
タンスを含み、前記変更ステップが、前記オブジェクト
を単一の実行環境内で実行される単一のインスタンスに
併合するステップを含む、前記(1)記載の方法。 (11)前記併合ステップが、前記オブジェクトの前記
複数のインスタンスの状態を統合するステップと、前記
状態を前記オブジェクトの前記単一のインスタンスに引
用するステップとを含む、前記(10)記載の方法。 (12)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(10)記載の方法。 (13)前記オブジェクト指向コンピュータ・システム
がオブジェクト・マネージャを含み、前記モニタリング
・ステップが、前記オブジェクトに関連するオブジェク
ト・マネージャ活動を追跡するステップを含む、前記
(1)記載の方法。 (14)前記オブジェクト指向コンピュータ・システム
が、前記変更ステップを実行する実行時最適化機構を含
み、前記モニタリング・ステップが、前記追跡ステップ
から獲得された情報を前記変更ステップにおいて使用す
るために、前記制御プログラムに転送するステップを含
む、前記(13)記載の方法。 (15)前記モニタリング・ステップが、前記オブジェ
クトに関連するネットワーク・パラメータをモニタする
ステップを含む、前記(1)記載の方法。 (16)前記ネットワーク・パラメータがネットワーク
待ち時間を含む、前記(15)記載の方法。 (17)前記モニタリング・ステップが、前記少なくと
も1つのインスタンスが実行される前記少なくとも1つ
の実行環境の性能をモニタするステップを含む、前記
(1)記載の方法。 (18)前記オブジェクトが少なくとも1つのメソッド
を含み、前記モニタリング・ステップが前記メソッドの
少なくとも1つの呼び出しと、前記少なくとも1つの呼
び出しに関連付けられる性能データとを含む対話テーブ
ルを保守するステップを含む、前記(1)記載の方法。 (19)前記性能データが、前記少なくとも1つのメソ
ッドの呼び出し元を含む、前記(18)記載の方法。 (20)前記性能データが、前記少なくとも1つの呼び
出しを前記呼び出し元から前記オブジェクトに転送する
際に生じる往路遅延を含む、前記(19)記載の方法。 (21)前記呼び出しが処理及び応答を要求するタイプ
であり、前記性能データが更に、前記少なくとも1つの
メソッドの処理遅延、及び前記応答を前記呼び出し元に
転送する際に生じる復路遅延を含む、前記(20)記載
の方法。 (22)前記モニタリング・ステップが、前記少なくと
も1つのメソッドと、前記少なくとも1つのメソッドの
各々に対応する目標対話時間とを含むポリシ・テーブル
を保守するステップを含む、前記(18)記載の方法。 (23)前記モニタリング・ステップが、前記目標対話
時間の少なくとも1つを前記性能データと比較し、前記
オブジェクトの性能が満足されるか否かを判断する比較
ステップを含む、前記(22)記載の方法。 (24)複数の実行環境と、前記複数の実行環境の少な
くとも1つの実行環境において実行される少なくとも1
つのインスタンスを有するオブジェクトとを含むオブジ
ェクト指向コンピュータ・システムにおいて、前記オブ
ジェクトを管理するシステムであって、前記オブジェク
ト指向コンピュータ・システムにおいて、前記オブジェ
クトの実行時性能をモニタする手段と、前記モニタリン
グに応答して、実行時に前記少なくとも1つのインスタ
ンスの数、または前記少なくとも1つのインスタンスが
実行される前記少なくとも1つの実行環境の数の少なく
とも一方を変更する手段と、を含む、システム。 (25)前記オブジェクトの前記少なくとも1つのイン
スタンスが、単一の実行環境内で実行される単一のイン
スタンスを含み、前記変更手段が、前記単一のインスタ
ンスを前記単一の実行環境から、前記複数の実行環境の
別の実行環境に移動する手段を含む、前記(24)記載
のシステム。 (26)前記移動手段が、前記単一のインスタンスを前
記単一の実行環境から前記別の実行環境へ移動する手段
を含み、前記別の実行環境及び前記単一の実行環境が異
類である、前記(25)記載のシステム。 (27)前記移動手段が、前記単一の実行環境と前記別
の実行環境との間の前記移動の間に、前記オブジェクト
の状態を保存する手段を含む、前記(26)記載のシス
テム。 (28)前記オブジェクトの前記少なくとも1つのイン
スタンスが、単一の実行環境内で実行される単一のイン
スタンスを含み、前記変更手段が、前記オブジェクトを
前記複数の実行環境の複数の前記実行環境で実行される
複数のインスタンスに分割する手段を含む、前記(2
4)記載のシステム。 (29)前記分割手段が、前記オブジェクトの前記単一
のインスタンスの状態を前記複数のインスタンスにコピ
ーする手段を含む、前記(28)記載のシステム。 (30)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(28)記載のシステム。 (31)前記分割手段が、前記単一の実行環境内で実行
される前記単一のインスタンスを保守する手段を含む、
前記(28)記載のシステム。 (32)前記分割手段が、前記単一の実行環境内で実行
される前記単一のインスタンスを除去する手段を含む、
前記(28)記載のシステム。 (33)前記オブジェクトの前記少なくとも1つのイン
スタンスが、複数の実行環境で実行される複数のインス
タンスを含み、前記変更手段が、前記オブジェクトを単
一の実行環境内で実行される単一のインスタンスに併合
する手段を含む、前記(24)記載のシステム。 (34)前記併合手段が、前記オブジェクトの前記複数
のインスタンスの状態を統合する手段と、前記状態を前
記オブジェクトの前記単一のインスタンスに引用する手
段とを含む、前記(33)記載のシステム。 (35)前記分割にも関わらず、前記オブジェクトの呼
び出しが前記分割以前と同様に呼び出し元により実行可
能である、前記(33)記載のシステム。 (36)前記オブジェクト指向コンピュータ・システム
がオブジェクト・マネージャを含み、前記モニタリング
手段が、前記オブジェクトに関連するオブジェクト・マ
ネージャ活動を追跡する手段を含む、前記(24)記載
のシステム。 (37)前記オブジェクト指向コンピュータ・システム
が、前記変更を実行する実行時最適化機構を含み、前記
モニタリング手段が、前記追跡から獲得された情報を、
前記変更において使用するために、前記制御プログラム
に転送する手段を含む、前記(36)記載のシステム。 (38)前記モニタリング手段が、前記オブジェクトに
関連するネットワーク・パラメータをモニタする手段を
含む、前記(24)記載のシステム。 (39)前記ネットワーク・パラメータがネットワーク
待ち時間を含む、前記(38)記載のシステム。 (40)前記モニタリング手段が、前記少なくとも1つ
のインスタンスが実行される前記少なくとも1つの実行
環境の性能をモニタする手段を含む、前記(24)記載
のシステム。 (41)前記オブジェクトが少なくとも1つのメソッド
を含み、前記モニタリング手段が、前記メソッドの少な
くとも1つの呼び出しと、前記少なくとも1つの呼び出
しに関連付けられる性能データとを含む対話テーブルを
保守する手段を含む、前記(24)記載のシステム。 (42)前記性能データが、前記少なくとも1つのメソ
ッドの呼び出し元を含む、前記(41)記載のシステ
ム。 (43)前記性能データが、前記少なくとも1つの呼び
出しを前記呼び出し元から前記オブジェクトに転送する
際に生じる往路遅延を含む、前記(42)記載のシステ
ム。 (44)前記呼び出しが処理及び応答を要求するタイプ
であり、前記性能データが更に、前記少なくとも1つの
メソッドの処理遅延、及び前記応答を前記呼び出し元に
転送する際に生じる復路遅延を含む、前記(43)記載
のシステム。 (45)前記モニタリング手段が、前記少なくとも1つ
のメソッドと、前記少なくとも1つのメソッドの各々に
対応する目標対話時間とを含むポリシ・テーブルを保守
する手段を含む、前記(41)記載のシステム。 (46)前記モニタリング手段が、前記目標対話時間の
少なくとも1つを前記性能データと比較し、前記オブジ
ェクトの性能が満足されるか否かを判断する比較手段を
含む、前記(45)記載のシステム。
【図1】本発明の技法を実現するために有用なコンピュ
ータ・システムの1つの例を示す図である。
ータ・システムの1つの例を示す図である。
【図2】本発明の技法を実現するために有用なオブジェ
クト指向コンピュータ・システムの1つの例を示す図で
ある。
クト指向コンピュータ・システムの1つの例を示す図で
ある。
【図3】本発明の1実施例の技法に関連して使用される
ORB登録テーブルの1つの例を示す図である。
ORB登録テーブルの1つの例を示す図である。
【図4】本発明の実施例に応じて使用されるポリシ・テ
ーブルの例を示す図である。
ーブルの例を示す図である。
【図5】本発明の実施例によるシステム性能テーブルの
1つの例を示す図である。
1つの例を示す図である。
【図6】本発明の実施例の技法に従うネットワーク性能
テーブルの1つの例を示す図である。
テーブルの1つの例を示す図である。
【図7】本発明の1実施例に関連して、オブジェクト・
メソッドの呼び出しを追跡するために使用される対話テ
ーブルの例を示す図である。
メソッドの呼び出しを追跡するために使用される対話テ
ーブルの例を示す図である。
【図8】本発明の実施例に従い、オブジェクト及びそれ
らの呼び出し元を調査するために使用される呼び出し元
テーブルの例を示す図である。
らの呼び出し元を調査するために使用される呼び出し元
テーブルの例を示す図である。
【図9】本発明の1実施例に従い、オブジェクトの複数
のインスタンスを追跡するために使用される分割/併合
ルーティング・テーブルの例を示す図である。
のインスタンスを追跡するために使用される分割/併合
ルーティング・テーブルの例を示す図である。
【図10】本発明の実施例に従い、分割ステータスから
併合ステータスへのオブジェクトの移行を実行する時期
を決定するために使用される、分割/併合ポリシ・テー
ブルの例を示す図である。
併合ステータスへのオブジェクトの移行を実行する時期
を決定するために使用される、分割/併合ポリシ・テー
ブルの例を示す図である。
【図11】本発明の技法に従い、オブジェクト・インス
タンスを管理する方法の例を示す図である。
タンスを管理する方法の例を示す図である。
【図12】本発明の技法に従い、オブジェクト・インス
タンスを管理する方法の例を示す図である。
タンスを管理する方法の例を示す図である。
【図13】本発明の技法に従い、オブジェクト・インス
タンスを管理する方法の例を示す図である。
タンスを管理する方法の例を示す図である。
11 中央処理装置(CPU) 13 記憶装置 15 メモリ 17 システム入出力"I/O"機構 19 ユーザ入出力"I/O"機構 31 ホスト・コンピュータ 33 ファイル・サーバ 35 ワークステーションA 37 ワークステーションB 39 ワークステーションC 41 "トークン・リング"ローカル・エリア・ネットワ
ーク(LAN) 43 通信リンク 45 ORB
ーク(LAN) 43 通信リンク 45 ORB
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ポール・グレゴリー・グリーンステイン アメリカ合衆国10520、ニューヨーク州ク ロトン・オン・ハドソン、ジグリオ・コー ト 10 (72)発明者 ジョン・テッド・ロドエル アメリカ合衆国12590、ニューヨーク州ワ ッピンガーズ・フォールズ、ガブリエラ・ ロード 14
Claims (46)
- 【請求項1】複数の実行環境と、前記複数の実行環境の
少なくとも1つの実行環境において実行される少なくと
も1つのインスタンスを有するオブジェクトとを含むオ
ブジェクト指向コンピュータ・システムにおいて、前記
オブジェクトを管理する方法であって、 前記オブジェクト指向コンピュータ・システムにおい
て、前記オブジェクトの実行時性能をモニタするステッ
プと、 前記モニタリングに応答して、実行時に、前記少なくと
も1つのインスタンスの数、または前記少なくとも1つ
のインスタンスが実行される前記少なくとも1つの実行
環境の数の少なくとも一方を変更するステップと、 を含む、方法。 - 【請求項2】前記オブジェクトの前記少なくとも1つの
インスタンスが、単一の実行環境内で実行される単一の
インスタンスを含み、前記変更ステップが、前記単一の
インスタンスを前記単一の実行環境から、前記複数の実
行環境の別の実行環境に移動するステップを含む、請求
項1記載の方法。 - 【請求項3】前記移動ステップが、前記単一のインスタ
ンスを前記単一の実行環境から前記別の実行環境へ移動
するステップを含み、前記別の実行環境及び前記単一の
実行環境が異類である、請求項2記載の方法。 - 【請求項4】前記移動ステップが、前記単一の実行環境
と前記別の実行環境との間の前記移動の間に、前記オブ
ジェクトの状態を保存するステップを含む、請求項3記
載の方法。 - 【請求項5】前記オブジェクトの前記少なくとも1つの
インスタンスが、単一の実行環境内で実行される単一の
インスタンスを含み、前記変更ステップが、前記オブジ
ェクトを前記複数の実行環境の複数の前記実行環境で実
行される複数のインスタンスに分割するステップを含
む、請求項1記載の方法。 - 【請求項6】前記分割ステップが、前記オブジェクトの
前記単一のインスタンスの状態を前記複数のインスタン
スにコピーするステップを含む、請求項5記載の方法。 - 【請求項7】前記分割にも関わらず、前記オブジェクト
の呼び出しが前記分割以前と同様に呼び出し元により実
行可能である、請求項5記載の方法。 - 【請求項8】前記分割ステップが、前記単一の実行環境
内で実行される前記単一のインスタンスを保守するステ
ップを含む、請求項5記載の方法。 - 【請求項9】前記分割ステップが、前記単一の実行環境
内で実行される前記単一のインスタンスを除去するステ
ップを含む、請求項5記載の方法。 - 【請求項10】前記オブジェクトの前記少なくとも1つ
のインスタンスが、複数の実行環境で実行される複数の
インスタンスを含み、前記変更ステップが、前記オブジ
ェクトを単一の実行環境内で実行される単一のインスタ
ンスに併合するステップを含む、請求項1記載の方法。 - 【請求項11】前記併合ステップが、前記オブジェクト
の前記複数のインスタンスの状態を統合するステップ
と、前記状態を前記オブジェクトの前記単一のインスタ
ンスに引用するステップとを含む、請求項10記載の方
法。 - 【請求項12】前記分割にも関わらず、前記オブジェク
トの呼び出しが前記分割以前と同様に呼び出し元により
実行可能である、請求項10記載の方法。 - 【請求項13】前記オブジェクト指向コンピュータ・シ
ステムがオブジェクト・マネージャを含み、前記モニタ
リング・ステップが、前記オブジェクトに関連するオブ
ジェクト・マネージャ活動を追跡するステップを含む、
請求項1記載の方法。 - 【請求項14】前記オブジェクト指向コンピュータ・シ
ステムが、前記変更ステップを実行する実行時最適化機
構を含み、前記モニタリング・ステップが、前記追跡ス
テップから獲得された情報を前記変更ステップにおいて
使用するために、前記制御プログラムに転送するステッ
プを含む、請求項13記載の方法。 - 【請求項15】前記モニタリング・ステップが、前記オ
ブジェクトに関連するネットワーク・パラメータをモニ
タするステップを含む、請求項1記載の方法。 - 【請求項16】前記ネットワーク・パラメータがネット
ワーク待ち時間を含む、請求項15記載の方法。 - 【請求項17】前記モニタリング・ステップが、前記少
なくとも1つのインスタンスが実行される前記少なくと
も1つの実行環境の性能をモニタするステップを含む、
請求項1記載の方法。 - 【請求項18】前記オブジェクトが少なくとも1つのメ
ソッドを含み、前記モニタリング・ステップが前記メソ
ッドの少なくとも1つの呼び出しと、前記少なくとも1
つの呼び出しに関連付けられる性能データとを含む対話
テーブルを保守するステップを含む、請求項1記載の方
法。 - 【請求項19】前記性能データが、前記少なくとも1つ
のメソッドの呼び出し元を含む、請求項18記載の方
法。 - 【請求項20】前記性能データが、前記少なくとも1つ
の呼び出しを前記呼び出し元から前記オブジェクトに転
送する際に生じる往路遅延を含む、請求項19記載の方
法。 - 【請求項21】前記呼び出しが処理及び応答を要求する
タイプであり、前記性能データが更に、前記少なくとも
1つのメソッドの処理遅延、及び前記応答を前記呼び出
し元に転送する際に生じる復路遅延を含む、請求項20
記載の方法。 - 【請求項22】前記モニタリング・ステップが、前記少
なくとも1つのメソッドと、前記少なくとも1つのメソ
ッドの各々に対応する目標対話時間とを含むポリシ・テ
ーブルを保守するステップを含む、請求項18記載の方
法。 - 【請求項23】前記モニタリング・ステップが、前記目
標対話時間の少なくとも1つを前記性能データと比較
し、前記オブジェクトの性能が満足されるか否かを判断
する比較ステップを含む、請求項22記載の方法。 - 【請求項24】複数の実行環境と、前記複数の実行環境
の少なくとも1つの実行環境において実行される少なく
とも1つのインスタンスを有するオブジェクトとを含む
オブジェクト指向コンピュータ・システムにおいて、前
記オブジェクトを管理するシステムであって、 前記オブジェクト指向コンピュータ・システムにおい
て、前記オブジェクトの実行時性能をモニタする手段
と、 前記モニタリングに応答して、実行時に前記少なくとも
1つのインスタンスの数、または前記少なくとも1つの
インスタンスが実行される前記少なくとも1つの実行環
境の数の少なくとも一方を変更する手段と、 を含む、システム。 - 【請求項25】前記オブジェクトの前記少なくとも1つ
のインスタンスが、単一の実行環境内で実行される単一
のインスタンスを含み、前記変更手段が、前記単一のイ
ンスタンスを前記単一の実行環境から、前記複数の実行
環境の別の実行環境に移動する手段を含む、 請求項24記載のシステム。 - 【請求項26】前記移動手段が、前記単一のインスタン
スを前記単一の実行環境から前記別の実行環境へ移動す
る手段を含み、前記別の実行環境及び前記単一の実行環
境が異類である、請求項25記載のシステム。 - 【請求項27】前記移動手段が、前記単一の実行環境と
前記別の実行環境との間の前記移動の間に、前記オブジ
ェクトの状態を保存する手段を含む、請求項26記載の
システム。 - 【請求項28】前記オブジェクトの前記少なくとも1つ
のインスタンスが、単一の実行環境内で実行される単一
のインスタンスを含み、前記変更手段が、前記オブジェ
クトを前記複数の実行環境の複数の前記実行環境で実行
される複数のインスタンスに分割する手段を含む、請求
項24記載のシステム。 - 【請求項29】前記分割手段が、前記オブジェクトの前
記単一のインスタンスの状態を前記複数のインスタンス
にコピーする手段を含む、請求項28記載のシステム。 - 【請求項30】前記分割にも関わらず、前記オブジェク
トの呼び出しが前記分割以前と同様に呼び出し元により
実行可能である、請求項28記載のシステム。 - 【請求項31】前記分割手段が、前記単一の実行環境内
で実行される前記単一のインスタンスを保守する手段を
含む、請求項28記載のシステム。 - 【請求項32】前記分割手段が、前記単一の実行環境内
で実行される前記単一のインスタンスを除去する手段を
含む、請求項28記載のシステム。 - 【請求項33】前記オブジェクトの前記少なくとも1つ
のインスタンスが、複数の実行環境で実行される複数の
インスタンスを含み、前記変更手段が、前記オブジェク
トを単一の実行環境内で実行される単一のインスタンス
に併合する手段を含む、請求項24記載のシステム。 - 【請求項34】前記併合手段が、前記オブジェクトの前
記複数のインスタンスの状態を統合する手段と、前記状
態を前記オブジェクトの前記単一のインスタンスに引用
する手段とを含む、請求項33記載のシステム。 - 【請求項35】前記分割にも関わらず、前記オブジェク
トの呼び出しが前記分割以前と同様に呼び出し元により
実行可能である、請求項33記載のシステム。 - 【請求項36】前記オブジェクト指向コンピュータ・シ
ステムがオブジェクト・マネージャを含み、前記モニタ
リング手段が、前記オブジェクトに関連するオブジェク
ト・マネージャ活動を追跡する手段を含む、請求項24
記載のシステム。 - 【請求項37】前記オブジェクト指向コンピュータ・シ
ステムが、前記変更を実行する実行時最適化機構を含
み、前記モニタリング手段が、前記追跡から獲得された
情報を、前記変更において使用するために、前記制御プ
ログラムに転送する手段を含む、請求項36記載のシス
テム。 - 【請求項38】前記モニタリング手段が、前記オブジェ
クトに関連するネットワーク・パラメータをモニタする
手段を含む、請求項24記載のシステム。 - 【請求項39】前記ネットワーク・パラメータがネット
ワーク待ち時間を含む、請求項38記載のシステム。 - 【請求項40】前記モニタリング手段が、前記少なくと
も1つのインスタンスが実行される前記少なくとも1つ
の実行環境の性能をモニタする手段を含む、請求項24
記載のシステム。 - 【請求項41】前記オブジェクトが少なくとも1つのメ
ソッドを含み、前記モニタリング手段が、前記メソッド
の少なくとも1つの呼び出しと、前記少なくとも1つの
呼び出しに関連付けられる性能データとを含む対話テー
ブルを保守する手段を含む、請求項24記載のシステ
ム。 - 【請求項42】前記性能データが、前記少なくとも1つ
のメソッドの呼び出し元を含む、請求項41記載のシス
テム。 - 【請求項43】前記性能データが、前記少なくとも1つ
の呼び出しを前記呼び出し元から前記オブジェクトに転
送する際に生じる往路遅延を含む、請求項42記載のシ
ステム。 - 【請求項44】前記呼び出しが処理及び応答を要求する
タイプであり、前記性能データが更に、前記少なくとも
1つのメソッドの処理遅延、及び前記応答を前記呼び出
し元に転送する際に生じる復路遅延を含む、請求項43
記載のシステム。 - 【請求項45】前記モニタリング手段が、前記少なくと
も1つのメソッドと、前記少なくとも1つのメソッドの
各々に対応する目標対話時間とを含むポリシ・テーブル
を保守する手段を含む、請求項41記載のシステム。 - 【請求項46】前記モニタリング手段が、前記目標対話
時間の少なくとも1つを前記性能データと比較し、前記
オブジェクトの性能が満足されるか否かを判断する比較
手段を含む、請求項45記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US57954295A | 1995-12-27 | 1995-12-27 | |
| US08/579542 | 1995-12-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09212364A true JPH09212364A (ja) | 1997-08-15 |
Family
ID=24317341
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8329587A Pending JPH09212364A (ja) | 1995-12-27 | 1996-12-10 | 実行時オブジェクト・インスタンス管理のための方法及びシステム |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JPH09212364A (ja) |
| CN (1) | CN1101028C (ja) |
| GB (1) | GB2308689B (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06348666A (ja) * | 1993-06-07 | 1994-12-22 | Hitachi Ltd | 計算機システムにおけるプログラム実行負荷分散方法 |
| JPH0744383A (ja) * | 1993-07-26 | 1995-02-14 | Canon Inc | オブジェクト処理方法 |
| JPH07123108A (ja) * | 1993-10-27 | 1995-05-12 | Fuji Facom Corp | プロセス間通信方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IE872626L (en) * | 1987-09-29 | 1988-04-01 | Smithkline Beckman Corp | Affinity adsorbents for glycopeptide antibiotics. |
-
1996
- 1996-11-22 GB GB9624349A patent/GB2308689B/en not_active Expired - Fee Related
- 1996-12-10 JP JP8329587A patent/JPH09212364A/ja active Pending
- 1996-12-13 CN CN 96119795 patent/CN1101028C/zh not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06348666A (ja) * | 1993-06-07 | 1994-12-22 | Hitachi Ltd | 計算機システムにおけるプログラム実行負荷分散方法 |
| JPH0744383A (ja) * | 1993-07-26 | 1995-02-14 | Canon Inc | オブジェクト処理方法 |
| JPH07123108A (ja) * | 1993-10-27 | 1995-05-12 | Fuji Facom Corp | プロセス間通信方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2308689A (en) | 1997-07-02 |
| GB2308689B (en) | 1999-08-25 |
| GB9624349D0 (en) | 1997-01-08 |
| CN1101028C (zh) | 2003-02-05 |
| CN1158457A (zh) | 1997-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Douglis | Process migration in the Sprite operating system | |
| US5960420A (en) | Systems, methods and computer program products for implementing a workflow engine in database management system | |
| EP0685791B1 (en) | User controllable concurrent functionality | |
| US6772407B1 (en) | Staging objects in workflow management systems | |
| US6275979B1 (en) | Implementation for an object oriented run-time extensible item | |
| US5535389A (en) | Business process objects with associated attributes such as version identifier | |
| JP3771589B2 (ja) | コンピュータ・システム又はそれのプログラムの停止を必要としないオブジェクト指向メソッドを含むコンピュータ・システム、記録媒体、およびコンピュータ・プログラムの動作方法 | |
| US6895587B2 (en) | Method and system for migrating an object between a split status and a merged status | |
| US7908582B2 (en) | System and method to facilitate design-time component discovery | |
| US6671721B1 (en) | Object oriented framework mechanism and method for distributing and managing heterogenous operations of a network application | |
| Lea et al. | Adaptive operating system design using reflection | |
| US6195791B1 (en) | Object mechanism and method for coupling together processes to define a desired processing environment in an object oriented framework | |
| Chatterjee | Futures: a mechanism for concurrency among objects | |
| JPH09212364A (ja) | 実行時オブジェクト・インスタンス管理のための方法及びシステム | |
| US12040954B2 (en) | Alternative control interface provided to infrastructure-as-a-service clients | |
| US8650568B2 (en) | Method and system for transforming orders for executing them in standard workflow engines | |
| EP0831406A2 (en) | Implementing a workflow engine in a database management system | |
| US6976270B2 (en) | Process and component for inquiring about security relationships | |
| Audsley et al. | Integrating unbounded software components into hard real-time systems | |
| Jie et al. | Dynamic load-balancing using prediction in a parallel object-oriented system | |
| US20020129144A1 (en) | Data processing method and apparatus | |
| Smith | A directly coupled multiprocessing system | |
| Garner et al. | Application Of Dynamic Knowledge In The Design Of Distributed Operating Systems | |
| Balter et al. | Experience with object-based distributed computation in the GUIDE operating system | |
| KR100270920B1 (ko) | 쓰레드를 이용한 망 관리 플랫폼 및 방법 |