JPH05181814A - オブジェクト指向コンピューティング・システム - Google Patents

オブジェクト指向コンピューティング・システム

Info

Publication number
JPH05181814A
JPH05181814A JP4073593A JP7359392A JPH05181814A JP H05181814 A JPH05181814 A JP H05181814A JP 4073593 A JP4073593 A JP 4073593A JP 7359392 A JP7359392 A JP 7359392A JP H05181814 A JPH05181814 A JP H05181814A
Authority
JP
Japan
Prior art keywords
manager
objects
computing system
managers
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4073593A
Other languages
English (en)
Other versions
JP3573762B2 (ja
Inventor
James H Waldo
ジェイムス・エイチ・ワルド
Kenneth C Arnold
ケネス・シー・アーノルド
Marlena E Erdos
マーレナ・イー・エルドス
Douglas B Robinson
ダグラス・ビー・ロビンソン
D Jeffrey Hoffman
ディー・ジェフリー・ホフマン
Lamar D Smith
レイマー・ディー・スミス
Peter S Showman
ピーター・エス・ショーマン
Michael J Cannon
マイケル・ジェイ・キャノン
Andrew F Seaborne
アンドリュー・エフ・シーボーン
Brian W Mcbride
ブライアン・ダブリュー・マクブライド
Brian D Harrison
ブライアン・ディー・ハリソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH05181814A publication Critical patent/JPH05181814A/ja
Application granted granted Critical
Publication of JP3573762B2 publication Critical patent/JP3573762B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】クライアントのオブジェクトはターゲット・オ
ブジェクトにサービスを要求する際、ターゲット・オブ
ジェクトのロケーションを知る必要がないオブジェクト
指向の分散処理システム。 【構成】ブジェクト13のグループを管理するオブジェ
クト・マネージャ23が設けられている。更に、オブジ
ェクト・マネージャ23のグループはマネージャ(MO
M)に関連付けられている。オブジェクト13は他のオ
ブジェクトにサービスを要求するとき、そのオブジェク
トのロケーションを知る必要はないし、そのロケーショ
ンを発見するための操作をコーディングしておく必要も
ない。オブジェクト13に代わってMOM29がオブジ
ェクト領域マネージャ31を使用して、サービスを要求
されているオブジェクトにその要求を送り届ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はオブジェクト指向コンピ
ューティング・システムに関する。
【0002】
【従来技術及びその問題点】「分散コンピューティング
(distributed computing)」はコンピュータ処理の分
野において周知の概念である。基本的に、分散コンピュ
ーティングを用いることにより、コンピュータ・ネット
ワーク中のさまざまなコンピュータのプロセス間で通信
し、互いにサービスを提供することができる。ネットワ
ーク内の複数のコンピュータは別々のマシン・アーキテ
クチャやオペレーティング・システムであってもよい。
【0003】分散コンピューティングの最も一般的なパ
ラダイムは「クライアント・サーバ・モデル」として知
られている。サービスの消費者すなわちクライアントは
サービスの提供者すなわちサーバにリクエストを行う。
【0004】クライアント・サーバ分散コンピューティ
ングにはさまざまな欠点がある。例えば、現在のシステ
ムでは、使用したいサーバのロケーションを明示的に捕
捉する(すなわち「知る」)ようにクライアントのプロ
セスをコーディングする必要がある。更に、クライアン
トがサーバを使用している間にそのサーバが自分のロケ
ーションを変化させるならば、サーバのロケーションを
再度見い出すようにクライアントのプロセスをコードデ
ィングしなければならない。こうした再度のロケーショ
ン探索を行わなければ、クライアントはサーバと通信し
ようとしても失敗してしまう。
【0005】ほとんどのシステムでは、クライアントが
サーバを使用しようとする前に、そのサーバがアクティ
ブでなければならない。クライアントがアクティブでな
いサーバを使用しようとすると、必要なサービスを得よ
うしても失敗してしまう。
【0006】別の分散コンピューティング・システムは
「オブジェクト」と呼ばれるコンピュータ・プログラミ
ング・エンティティの概念を持たないか、あるいはシス
テムが命じる特定のオブジェクト・モデルに適合するオ
ブジェクトを必要とする。どのシステムにも少なくとも
1つのオブジェクト・モデルが存在するが、システム全
体に共通したモデルは存在しないので、こうした分散コ
ンピューティング・システムは不必要に制限がきつい。
すなわちこうした分散形システムは新しいテクノロジー
を取り入れ、システムの当初の設計対象ではなかった問
題領域にまで拡張する能力が制限されている。
【0007】本願明細書で用いられているように、「オ
ブジェクト」とはある状態及び定義された挙動の集合を
持つプログラミング・エンティティである。状態はオブ
ジェクトが保持するデータによって表される。挙動はオ
ブジェクトが実行できる操作として指定される。この操
作は実行可能コードによって実現される。これらのデー
タとコードは、概念上、オブジェクト中で分離不能に結
びついている。オブジェクトは「永続的(persisten
t)」であってよい。すなわちオブジェクトが非アクテ
ィブであっても、あるいはそれが存在するコンピュータ
が故障またはオフになったとしても存続し続けることが
できる。更に、オブジェクトは他のオブジェクトに対し
てサービスを要求しまたサービスの提供も行うこともで
きる。
【0008】本願明細書で用いられているように、「ク
ラス」はオブジェクトのタイプを表し、それがどんな種
類のオブジェクトであるかを指定する。例えば、Garfie
ldとSnoopyは別個の「オブジェクト」であるが、両方と
も「漫画のキャラクタ」である。「漫画のキャラクタ」
は両者のクラスである。異なる種類のエンティティ、例
えば世界貿易センタは異なるクラスである(この場合の
クラスはおそらく「ビルディング」)。
【0009】本願明細書で用いられているように、「オ
ブジェクト・マネージャ」は各オブジェクトのグループ
分けを管理し、これらの存在及び操作をサポートするエ
ンティティである。
【0010】また、本願明細書で用いられるように、
「オブジェクト・モデル」は特定のクラスのオブジェク
ト・マネージャが実行する活動及びその実行の方法の抽
象(abstraction)である。これらの活動には、(i)
オブジェクトの永続状態の管理、(ii)オブジェクト
に対する操作をコードへマッピングすることが含まれ
る。
【0011】以上述べたことから、分散コンピューティ
ングを改良することが必要とされる。
【0012】
【目的】本発明は先行技術の問題を解決する分散コンピ
ューティング・システムを提供することを目的とする。
とりわけ、本発明は他の分散コンピューティング・シス
テムとは異なり、サービスを求めるクライアントが、サ
ービス提供側のロケーションを知る、すなわち捕捉する
ようにコーディングされる必要がない分散コンピューテ
ィング・システムを提供することを目的とする。更に、
本システムは、他のオブジェクト指向コンピューティン
グ・システムと異なり、多様なオブジェクト・モデルに
適合するオブジェクトを認識する。
【0013】
【概要】本発明の一実施例によれば、オブジェクト指向
分散コンピューティング・システムのための管理装置が
提供される。この管理装置はリクエストを出しているオ
ブジェクトまたはプロセス(すなわちリクエスト元)に
代わって、システム内の望まれているオブジェクトがど
こにあるかを見い出すロケーション・サービスを採用し
ている。リクエスト元はロケーション・サービスを(ま
してロケーション・サービスの詳細を)認識するように
コーディングされている必要はない。
【0014】もっと具体的に言えば、リクエスト元がサ
ービスを提供するオブジェクトすなわち「ターゲット・
オブジェクト」にリクエストを出すと、自動的にロケー
ション・サービスに連絡が付けられる。望ましい実施例
では、ロケーション・サービスを呼び出す処理手段を自
動的に生成されたスタブ内に設けている。更に、各オブ
ジェクトがシステム内で固有のアイデンティティを持っ
て場合、ロケーション・サービスはオブジェクトのアイ
デンティティに基づいてオブジェクトのロケーションを
見つけ出す。この固有のアイデンティティによって、当
該オブジェクトがそこで生成されたコンピュータの識別
情報をコード化している。
【0015】ロケーション・サービスはシステム内の各
種エンティティから構成されている。それぞれが自分に
関連付けられたオブジェクトの存在及び操作をサポート
するいくつかのオブジェクト・マネージャがある。ま
た、それぞれがオブジェクト・マネージャのグループ分
けを管理するオブジェクト・マネージャのマネージャ
(MOM)がいくつかある。更に、それぞれ、システム
内のコンピュータについてオブジェクトのロケーション
を掌握しているオブジェクト領域マネージャがいくつか
設けられている。コンピュータの各種のグループの各々
に付いて、別個のオブジェクト領域が定義され、各領域
は自分用のオブジェクト領域マネージャを持っている。
コンピュータとオブジェクト領域マネージャの間のマッ
ピングを行うため、ロケーション・サービスはマッピン
グ手段を用いる。
【0016】本発明の一態様によれば、オブジェクト・
マネージャ、MOM、オブジェクト領域マネージャ及び
マッピング手段とのまたこれらの間での通信ができるよ
うにする共通手段を設けることができるようにする共通
の一般インターフェイス(common generic interface)
が採用される。
【0017】更に、いくつかあるオブジェクト・マネー
ジャは各々のオブジェクト・モデルに基づいている。あ
るオブジェクト・モデルに基づくオブジェクト・マネー
ジャに対応するオブジェクトは、別のオブジェクト・モ
デルに基づく別個のオブジェクト・マネージャに対応す
るオブジェクトに対してリクエストを送信することがで
きる。
【0018】更に、ある実施例では、いくつかのオブジ
ェクト・マネージャの共通のMOMが管理しているオブ
ジェクト・マネージャにより、このMOMがオブジェク
ト・マネージャの具体的なオブジェクト・モデルに付い
て明確な知識を持っていない状態でそのようなオブジェ
クト・マネージャの各々と通信できるようにサポートさ
れる一般的なインターフェイスが存在する。
【0019】各オブジェクト・マネージャは、好ましく
は自分に関連付られたいくつかのオブジェクト・グルー
プをそれぞれ等価なクラスとして取り扱う。このように
するため、オブジェクト・マネージャはオブジェクト−
プロセス対応関係を、個別的にではなくグループとして
掌握している。更に、オブジェクト・マネージャはシス
テムが資源を必要とすることに自動的に応答してプロセ
スを非アクティブにするのが望ましい。
【0020】本発明のもう1つの態様によれば、管理装
置は、更にリクエスト時点でのターゲット・オブジェク
トとプロセスの関連には関係なく、ターゲット・オブジ
ェクトに対するリクエストのサービスを行う手段を採用
している。このようにするため、リクエスト時点で所与
のターゲット・オブジェクトがプロセスに関連付られて
いなくても、システム内の全てのオブジェクトがリクエ
ストの処理に使用できるように見える。
【0021】これを言い方を変えてみれば、本発明のオ
ブジェクト指向分散コンピューティング・システムは、
システムの複数のプロセスの1つの中に、ターゲット・
オブジェクトの操作及びデータを、当該ターゲット・オ
ブジェクトに対するリクエストに応答して実現するコン
ピュータ手段を提供する。その結果、各オブジェクトの
可用性はリクエスト時点での当該オブジェクトとプロセ
スの関連付けに関係なく定義される。
【0022】
【実施例】図1及び図2は本発明の一実施例であるオブ
ジェクト指向コンピューティング・システム11を示
す。システム11はネットワークを形成する複数の疎結
合されたコンピュータ37a、37b・・・から構成さ
れる。各コンピュータ37上には、各種オブジェクト1
3a、13b、13c・・・が各々の操作を実行する1
つあるいは複数のプロセス39が存在して良い。図1の
オブジェクト13a、13bはオブジェクト指向分散コ
ンピューティング・システム11を定義する同一のある
いは別々のコンピュータ37上の同一のあるいは別々の
プロセス39上にある。
【0023】システム11の核心には本発明のオブジェ
クト/プロセス管理装置15がある。概括すると、オブ
ジェクト/プロセス管理装置15は以下のオブジエクト
挙動を取り扱う: (1)システム11中の全ての既存のオブジェクト13
を登録する。 (2)オブジェクト13aが他のオブジェクト13b
(両オブジェクトは別々のアドレス空間及び/または別
々のコンピュータ中にある可能性がある)にリクエスト
を出せるようにする。 (3)リクエストを送り届け、その実行を管理する。 オブジェクト/プロセス管理装置15は、オブジェクト
13が他のオブジェクトにリクエストを出す前にこれら
のオブジェクトをまとめたりリンクすることは要しな
い。オブジェクト13は、システム中の他のオブジェク
ト13に対する参照情報を持っていれば、そのオブジェ
クトに対してリクエストを出すことができる。
【0024】更に、本発明のオブジェクト/プロセス管
理装置15は、システム11中のいくつかのプロセスに
いくつかのオブジェクト13を分散することをサポート
する。オブジェクトやプロセスはネットワーク中の他の
コンピュータのオブジェクトにリクエストを出すことが
できる。リクエストを出すオブジェクトまたはプロセス
(すなわちリクエスト側あるいはクライアント)は、ど
のコンピュータでターゲット・オブジェクトを発見でき
るかについて知る必要はないし、増してや、ターゲット
・オブジェクトが別のコンピュータ中にあるのかどうか
ということさえ知る必要がない。本発明のオブジェクト
/プロセス管理装置15は、ロケーション・サービスに
対するクライアントの呼び出しを人間が明示的にコーデ
ィングせずに、クライアントに代わって、自動的にター
ゲット・オブジェクトのロケーションを判定する(後述
する)。ローカル・エリア・ネットワーク(LAN)の
ような同報通信ネットワーク(broadcasting network)
や、多くの広域ネットワーク(WAN)のような接続指
向ネッワトーク(connection-oriented network)を含
む各種ネットワークをサポートすることができる。
【0025】更に、オブジェクト/プロセス管理装置1
5は異質性(heterogeneity)をサポートする。ネット
ワーク中にさまざまなタイプのコンピュータを混合する
ことが可能である。本発明のオブジェクト/プロセス管
理装置15は、リクエストを出すオブジェクト(送信
側)を含むコンピュータと、リクエストを実行するオブ
ジェクト(受信側)を含むコンピュータとの相違にかん
する面倒を見る。2つのコンピュータがデータの表現を
異にするプロセッサを備えている場合、よくある問題が
起こる。例えば、 Motorola 68XXX シリーズとIntel 80
XXX シリーズは整数を異なる形式でメモリに記憶する。
本発明のオブジェクト/プロセス管理装置15は、必要
な場合、2つのコンピュータのフォーマット間でリクエ
ストのパラメータ変換を管理する。
【0026】本発明のオブジェクト/プロセス管理装置
15はまた、多重のユーザ・セッションを同時にサポー
トする。オブジェクト/プロセス管理装置15は、パー
ソナル・コンピュータまたは単一のユーザ・ワークステ
ーションといった単一ユーザ・コンピュータ上でのオブ
ジェクトを管理できる。同様に、オブジェクト/プロセ
ス管理装置15はマルチユーザ・コンピュータ上でのオ
ブジェクトを管理できる。オブジェクト/プロセス管理
装置15が管理するオブジェクトは何人かの異なるユー
ザのために同時にサービスを行なうことができる。オブ
ジェクト/プロセス管理装置15は、許されていないサ
ービスの使用を防ぐための機密保護メカニズムも持って
いる。
【0027】更に、オブジェクト/プロセス管理装置1
5は規模の拡大/縮小が可能である。コンピュータ・ネ
ットワークにおいて、各コンピュータは本発明のオブジ
ェクト/プロセス管理装置15を具現化したものを実行
している。ロー・エンド側では、オブジェクト/プロセ
ス管理装置15は独立した単一のユーザ・コンピュータ
で効率的に機能することができる。ハイ・エンド側で
は、オブジェクト/プロセス管理装置15は多国籍の大
企業の全コンピュータを含むネットワーク全体の中での
各マシン上で効率的に動作することができる。
【0028】上記を達成するため、本発明のオブジェク
ト/プロセス管理装置15は2層構造を有している。下
位側の層は、オブジェクト13間でリクエストを発行し
配送するための均一なメカニズムを提供する通信サービ
ス19から形成される。通信サービス層19は、とりわ
け、リクエスト元オブジェクトとターゲット・オブジェ
クトが異なる種類のコンピュータである場合にデータ表
現の変換を行うことによって、オブジェクト間でのリク
エストの配送ができるようにする。また、オブジェクト
に対する許可されていないアクセスを防止するために、
機密保護メカニズムも設けられている。通信サービス1
9は、また、異なるネットワーク・トポロジ、プロトコ
ル及びソフトウエアの影響から、オブジェクト/プロセ
ス管理装置15及びオブジェクト13の残りの部分を隔
離する。
【0029】オブジェクト/プロセス管理装置15の上
位側の層はオブジェクト・マネージャ23、25を含む
オブジェクト管理サービス17及びロケーション・サー
ビス21から形成されている。オブジェクト・マネージ
ャ23、25はオブジェクトをアクティブ/非アクティ
ブにすることや、オブジェクト・クラスのインストール
といったサービスを提供する。ロケーション・サービス
21はオブジェクト/プロセス管理装置が特定のオブジ
ェクト13への通信経路を決定できるようにする。従っ
て、オブジェクト管理サービス層17はオブジェクトの
ライフ・サイクル(生成、インストール及び削除)及び
ロケーションを管理する。
【0030】望ましい実施例では、通信サービス19及
びオブジェクト管理サービス17は、図2に示すライタ
イム(runtime)ライブラリ27、オブジェクト・マネ
ージャ23、オブジェクト・マネージャのマネージャ
(MOM)29及びロケーション・サービス21によっ
て実現される。ランタイム・ライブラリ27はコンピュ
ーティング・システム11が管理しているオブジェクト
13のアドレス空間に入っており、オブジェクト全体の
一部とみなすことができる。ランタイム・ライブラリ2
7はコンピューティング・システム11内での通信に当
たって全オブジェクトによって使用される基本インター
フェイスを提供する。ランタイム・ライブラリ27に
は、永続記憶マネージャ(persistent storage manage
r)(後述する)との通信を可能にするコード及びロケ
ーション・サービス21によって用いられるオブジェク
ト参照(object reference)の生成を可能にするコード
が含まれている。
【0031】オブジェクト・マネージャ23には、オブ
ジェクト13を直接管理し、オブジェクトをアクティブ
にしたりまた非アクティブにしたりし、メッセージをオ
ブジェクトに配送し、これらのオブジェクトの活動にと
っていったいどんな状態が必要とされるのかを常時掌握
しておくことを担当する。そのため、各オブジェクト1
3とオブジェクト・マネージャ23は、複数の異なるオ
ブジェクトが異なるオブジェクト・マネージャによって
管理されるように関係付けられている。本発明では、オ
ブジェクト/プロセス管理装置15に少なくとも1つの
デフォルト・オブジェクト指向コンピューティング・シ
ステム・マネージャ25を設ける。デフォルト・オブジ
ェクト・マネージャ25の最小サブセットの操作インタ
ーフェイスが、他の全てのオブジェクト・マネージャ2
3が提供しなければならないサービスを定義する。これ
らのインターフェイス及びMOM29によって使用され
る共通の一般インターフェイス(後述する)の後に引き
続いて、新しいオブジェクト・マネージャを追加するこ
とが可能である。
【0032】各オブジェクト・マネージャ23はMOM
29に関連付けられている。また、デフォルト・オブジ
ェクト・マネージャ25もこのようなMOM29に関連
付けられている。各MOM29は当該MOMが管理して
いるオブジェクト・マネージャ23と関連付けられたオ
ブジェクト13に向けられたメッセージを受信すること
を担当している。各MOM29は所与のオブジェクトが
関連付けられているオブジェクト・マネージャ23を見
つけ出すことを担当しており、従ってMOM29はリク
エストに関するローカルな情報センタの働きをする。言
い方を変えれば、MOM29はMOM29によって管理
されている(関連付けられている)オブジェクト・マネ
ージャ23の管理下にあるいずれかのオブジェクトに向
けて送られてくるリクエストのための既知の受信点とし
て設計されている。
【0033】ロケーション・サービス21はオブジェク
ト指向分散コンピューティング・システム11内の任意
のオブジェクト13の現在のロケーションを見い出すこ
とを担当している。これらのサービス21はシステムに
よって自動的に用いられ、システム11内でアプリケー
ションを書いているプログラマ、またはシステム11内
でオブジェクト13を使用しているユーザに対しては完
全に隠されている。すなわち本発明は、ターゲット・オ
ブジェクトに対するリクエストに応答し、リクエスト元
オブジェクト(またはプロセス)のためにロケーション
・サービス21を自動的に呼び出す処理手段を提供す
る。その結果、リクエスト元オブジェクト(またはプロ
セス)は、先行技術において必要とされたように、ロケ
ーション・サービス21を呼び出すように明示的にコー
ディングしておく必要がない。
【0034】ランタイム・ライブラリ及びMOM29は
オブジェクト/プロセス管理装置15の通信サービス層
19とオブジェクト管理層の両方で機能する。通信サー
ビス層19では、ランタイム・ライブラリ27は1つの
オブジェクト13からもう1つのオブジェクトへメッセ
ージを送る処理を行い、MOM29は最下位レベルのオ
ブジェクト・ロケーション・サービスとしての働きをす
る。オブジェクト管理サービス層17では、ランタイム
・ライブラリ27は、オブジェクト・マネージャの23
の集合と共に、主としてオブジェクトのライフ・サイク
ルを取り扱う。
【0035】オブジェクト13の視点に立つと、通信は
層17、19のランタイム部分によって行われる。ライ
タイム27は、ロケーション・サービス21と連絡を取
ってターゲット・オブジェクト13bを見つけ出し、次
に述べるように、オブジェクト13aからオブジェクト
13bにメッセージを送る。注目されるのは、ロケーシ
ョン・サービス21がシステム11全体の中のある1つ
または複数のコンピュータ上で実行される。しかし、オ
ブジェクト13の観点からすると、サービス21はどの
特定のコンピュータ37にも配置されているわけではな
い。従って、図1及び図2には、存在はしているが特定
のマシン37上には配置されてはいないサービス21を
示している。
【0036】図2を参照すると、ロケーション・サービ
ス21は構成要素の階層を採用している。前述のよう
に、オブジェクト13a、13b、13c、13d・・
・は同じコンピュータまたは異なるコンピュータ37上
の1つまたは複数のプロセス中で動作している。複数の
オブジェクトつまりオブジェクト・グループがオブジェ
クト13の管理を担当するオブジェクト・マネージャ2
3に関連付けられている。これら複数個のオブジェクト
・マネージャ23もグループ分けされ、MOM29と関
連付けられる。各オブジェクト・マネージャ23はそれ
ぞれのオブジェクト・モデルに基づいており、システム
11は任意の数のオブジェクト・モデルが含まれてい
る。異なるオブジェクト・モデルのオブジェクト・マネ
ージャ23は後述の一般インターフェイスを用いて共通
のMOM29によって管理することができる。更に、オ
ブジェクト・モデルの1つに基づくオブジェクト・マネ
ージャ23に関連付けられたオブジェクトは、更に詳細
に後述するように、異なるオブジェクト・モデルに基づ
く別のオブジェクト・マネージャに関連付けられたオブ
ジェクトにリクエストを送ることができる。
【0037】更に、各MOM29は、以下で述べるよう
に、オブジェクト領域マネージャ31に関連付けられて
いる。異なるオブジェクト領域は、管理目的のためにグ
ループとされているコンピュータ37の集合によって定
義される。各オブジェクト領域毎にオブジェクト領域マ
ネージャ31がある。オブジェクト領域マネージャ31
の役割は、ターゲット・オブジェクト13bについて知
っているかもしれないMOMの(空であるかもしれな
い)集合へオブジェクト参照をマッピングすることであ
る。オブジェクト領域マネージャ31は、単一のデータ
・ベース及びこのデータ・ベースに対する照会と操作が
できるようにするプロセスの集合から構成される。可用
性(availability)を高くするため、オブジェクト領域
内において、論理的に単一のオブジェクト領域マネージ
ャ31を複製する(replicate)ことが望ましい。各オ
ブジェクト領域は自分自身の固有のオブジェクト領域マ
ネージャ31を持っている。
【0038】ロケーション・サービス21の構成要素の
階層の次のレベルは、メタ・オブジェクト領域マネージ
ャ33である。これらのマネージャは、オブジェクト参
照をそのオブジェクトについて知っている適切なオブジ
ェクト領域マネージャ31の識別子にマッピングする。
個々のメタ・オブジェクト領域マネージャ33は、オブ
ジェクト領域間でオブジェクト13のロケーションを見
い出すことができるように、互いに通信する。オブジェ
クト領域マネージャ31と同様、各オブジェクト領域マ
ネージャ33は、単一のデータ・ベースと、このデータ
・ベースに対する照会及び操作を行うプロセスの集合を
有している。論理的に単一の各メタ・オブジェクト領域
マネージャ33は複製してもよい。各システムは自分自
身の固有のメタ・オブジェクト領域マネージャ31を持
っている。
【0039】階層の末端のレベルには、2つあるいはも
っと多くの固有のメタ・オブジェクト領域マネージャ3
3のリストを維持している同胞メタ・オブジェクト領域
マネージャ(sibling meta object region manager)3
5がある。
【0040】望ましい実施例では、上述した階層構造の
異なるエンティティ間に共通の一般インターフェイスが
ある。共通の一般インターフェイスによって、オブジェ
クト・マネージャ23、MOM29、オブジェクト領域
マネージャ31及びマッピング・マネージャ33との及
びその間における共通の手段による通信が可能になる。
【0041】オブジェクト13間での相互作用は、ある
リクエスト元(すなわちオブジェクトまたはプロセス)
からターゲット・オブジェクトに送られる、このターゲ
ット・オブジェクトに対して何らかの操作を求めるリク
エストによって行われる。操作呼び出し(operation ca
ll)は、本発明のオブジェクト/プロセス管理装置15
が定義した枠組み内に置かれているオブジェクト13間
での通信の基本形態である。基本的に、操作とは、何ら
かの情報を供給し、このターゲットオブジェクトの状態
に関する何らかの操作を引き受け及び/または他のオブ
ジェクトを操作するようにターゲット・オブジェクトに
対してリクエストする態様である。操作は、その呼び出
しサインによって定義される。サインは、戻り値の型
(空かもしれない)、パラメータ指定のリスト及び同期
(デフォルト)と非同期のいずれの操作であるか、から
構成される。
【0042】本発明のオブジェクト/プロセス管理装置
15はオブジェクトに対する操作呼び出しは皆下記の構
文形式を備えるものと定義している:
【0043】
【0044】objref_tと称する不透明な(opaque)ハン
ドルを使用して、リクエストが送られるべきオブジェク
ト(すなわちターゲット・オブジェクト)が識別され
る。望ましい実施例では、objref_tは、実装に依存する
ところの、システムが定義する構造体へのポインタであ
る。こうしたハンドルの内部構造はシステム11のユー
ザかは見えないしまた使用することもできない。システ
ム11のユーザは、ランタイム・ライブラリ27を呼び
出すことによってobjref_tハンドルを生成し削除する。
【0045】あるパラメータは、概念上、参照渡しされ
る。すなわちこのようなパラメータは出力または入出力
パラメータのステータスを持っている。全ての操作につ
いての第1のパラメータは、リクエストを受けるべきタ
ーゲット・オブジェクトに対してシステムが定義するオ
ブジェクト参照である。呼び出しによって呼び出される
メソッドが単一の値を返すと、その値は操作に関する戻
り値として返される。メソッドが複数値を返すと、その
値は値を戻すことの可能なパラメータに入れてこの操作
に返される。また、全てのオブジェクト/プロセス管理
装置15の操作は操作がうまくいったか否かを判定する
ために用いることの可能なステータス値を返すように定
義されている。操作が失敗すると、ステータス値は失敗
の性質を表示する。
【0046】インターフェイスは、論理的に関連しまた
一つの意味の単位を形成する操作の空ではない集合であ
る。オブジェクト/プロセス管理装置15はインターフ
ェイスに関して以下の要件を設けている:オブジェクト
・クラスがインターフェイス中である操作をサポートす
るなら、そのオブジェクト・クラスはインターフェイス
を構成する操作の集合の全てのメンバをサポートしなけ
ればならない。更に、各インターフェイスは、最初にそ
のインターフェイスを設計した実装者が割り当てたイン
ターフェイス識別子によって識別される。
【0047】メソッドは操作を実装するコードである。
所与の操作に関して、そのコードは、コンピュータ・ア
ーキテクチャあるいはその他の理由により、オブジェク
ト13毎に異なるかも知れない。操作は、オブジェクト
13上で実行すべきアクションの指定に用いられる。オ
ブジェクト13へのリクエストは、そのオブジェクト1
3上のメソッドにマッピングされる。このマッピングに
よって、特定の実装を、当該オブジェクト13がサポー
トするインターフェイスで定義されている操作に対応付
ける。操作リクエストに対応付られたメソッドが、意図
された意味をこのリクエストに付与するように適切に動
作するようにすることを保証するのは、クラスを実装す
る者の責任である。
【0048】これにより、リクエスト元からのオブジェ
クト操作呼び出しに応答し、ターゲット・オブジェクト
のオブジェクト・マネージャのMOMがこのオブジェク
ト・マネージャと相互作用し、このリクエストをターゲ
ット・オブジェクト13bへ送り出す。操作呼び出しを
受信するターゲット・オブジェクト13bと関連付けら
れたオブジェクト・マネージャ23は、また、ターゲッ
ト・オブジェクト13bがリクエストを受信できること
を保証する。
【0049】MOM29はコンピューティング・システ
ム11の存続している間中、複数のオブジェクト・マネ
ージャ23を追加できるように設計されている。これ
は、共通のMOM29によって管理されている一群のオ
ブジェクト・マネージャ23によってサポートされる共
通の一般インターフェイスによって達成されており、M
OM29は、オブジェクト・マネージャが基づいている
オブジェクト・モデルに関する明確な知識がなくても、
各オブジェクト・マネージャとの通信を行うことができ
るようになっている。MOM29と特定のオブジェクト
・マネージャ23が通信を行う具体的なやり方はMOM
29のどの特定の実装を取ってみても同じであるが、実
装毎に異なっていてもよい。
【0050】MOM29と個々のオブジェクト・マネー
ジャ23とを分離することによって、大きく異なる属性
を有する諸オブジェクト13が、相互に作用する能力に
制限を受けることなくコンピューティング・システム1
1内で共存できるようになる。また、このような分離に
よって、MOM29はシステム11全体で使用される通
信サービスについて知ることができ、個々のオブジェク
ト・マネージャ23は、それに関連付けられているオブ
ジェクト13の詳細について知る。
【0051】更に、このように知識を切り分けることに
よって、MOM29は任意のタイプのオブジェクト13
へのリクエストを受信することが可能になる。リクエス
トの受信に応答し、MOM29はリクエストのターゲッ
トであるオブジェクト13bが当該MOM29に関連付
けられているオブジェクト・マネージャ23の内の1つ
によって管理されるものであるか否かを判定する。次
に、ターゲット・オブジェクト13bの個別のオブジェ
クト・マネージャ23によって、そのターゲット・オブ
ジェクト13bがそのリクエストを受信する用意が整っ
ていることを保証する。オブジェクト・マネージャは、
管理されるターゲット・オブジェクト13bに関する特
定の知識を有していることによって、あるいは獲得する
ことによって、これを行うことができる。場合によって
は、ターゲット・オブジェクト13bがリクエストを受
信する用意の整っていることを保証するには、それに関
連付けられているオブジェクト・マネージャ23がター
ゲット・オブジェクト13bをアクティブにする必要が
ある。これを行うには、関連付けられているオブジェク
ト・マネージャ23が、ターゲット・オブジェクトによ
って用いられる実行モデル及び永続記憶スキームについ
て知る必要がある。
【0052】MOM29と個々のオブジェクト・マネー
ジャ23との間でのこの役割分担による正味の効果は、
次のように言い換えることができる。MOM29はリク
エストの既知の受信点及びその取り次ぎエージェントと
して行動し、MOM29に関連付けられたオブジェクト
・マネージャはオブジェクト13bについてのオブジェ
クト・モデル固有の起動者及び操作者として行動する。
【0053】オブジェクト/プロセス管理装置15によ
って定義された分散コンピューティング・システム中で
機能を果たすため、オブジェクト13はいくつかの操作
をサポートする。望ましい実施例では全てのオブジェク
ト13が以下の関数をサポートする。
【0054】
【0055】関数get_aclは、パラメータ"object"によ
って参照されるオブジェクトに対応したアクセス制御リ
ストを返す。
【0056】
【0057】関数set_aclは、to_aclによって参照され
るアクセス制御リストを、パラメータobjectによって参
照されるオブジェクトに関連付ける。この関数は、この
設定がうまくいけば値「真」を返し、うまくいかなけれ
ば値「偽」を返す。パラメータobjectに現在関連付けら
れているアクセス制御リストは、操作がうまくいくよう
にアクセス制御リストをセットする権利をリクエストの
送信元に対して与えなければならないことに注意された
い。
【0058】
【0059】関数set_class_idは、パラメータobjectに
よって参照されるオブジェクトと関連付けられたしたク
ラス識別子をto_calssで指定された値に変える。この関
数は、設定がが成功すれば値「真」を返し、うまくいか
なければ値「偽」を返す。
【0060】
【0061】関数inq_colocationは、of_objectによっ
て参照されるオブジェクトが、with_objectによって参
照されるオブジェクトと同じロケーションに配置されて
いるか否かについて問い合わせる。この関数は、両オブ
ジェクトが同じロケーションに配置されていれば「真」
を戻し、そうでなければ「偽」を戻す。同一位置に配置
されていることの意味は、永続記憶メカニズム及び/ま
たはこれらのオブジェクトに関連付けられたオブジェク
ト・マネージャに依存する。
【0062】実行中、呼び出し及び操作リクエストは以
下のように処理される。ランタイム・ライブラリ27は
全てのオブジェクト13に結び付けられている。ランタ
イム・ライブラリ27は、リクエストを送り出す発送点
とリクエストを受信する最終目的地の両方の働きをす
る。この機能の一部として、ランタイム・ライブラリ2
7は、ロケーション・サービス21における基本的なエ
ンティティである、オブジェクト参照を構築するための
インターフェイスを提供する。ランタイム・ライブラリ
27はまた、永続記憶マネージャへのインターフェイス
を提供する。このインターフェイスは、後述するよう
に、オブジェクトがデフォルト・オブジェクト・マネー
ジャ25の助けを借りて永続状態(persistent state)
を管理できるようにする。
【0063】リクエストの送受信はシステム11のユー
ザやオブジェクト13を書く人間、あるいはもっと正確
に言えばオブジェクトのクラスを書く人間にとっては透
過的である。リクエストの送信は、内部的な実行時の機
能及びクラスの操作インターフェイスを処理するときに
インターフェイス・コンパイラが生成するスタブ(すな
わちインターフェイス・コード片)によって定義され
る。ただし、3つの関数がランタイム・ライブラリ27
からエクスポートされる。第1の関数は、2つのオブジ
ェクト参照ハンドル(object reference handle)を比
較することによってそれらが同じオブジェクトを表して
いるか否かを判定できるようにする。第2の関数は、ク
ラス・オブジェクトへのオブジェクト参照を生成できる
ようにする。第3の関数は、オブジェクト参照ハンドル
を破棄(destruct)できるようにする。
【0064】望ましい実施例においてエクスポートされ
る第1のランタイム関数は、次の通りである:
【0065】
【0066】関数omf_objref_equalは、ref1及びref2の
各オブジェクト参照ハンドルが同じオブジェクトを表し
ている場合値「真」を返し、そうでなければ値「偽」を
返す。
【0067】望ましい実施例においてエクスポートされ
る第2のランタイム関数は次の通りである:
【0068】
【0069】omf_dup_objrefの呼び出しによって、パラ
メータto_dupが供給するオブジェクト参照の複製が生成
される。その結果生じるオブジェクト参照は他のオブジ
ェクトに与えることができる。
【0070】望ましい実施例においてエクスポートされ
る第3のランタイム関数は次の通りである:
【0071】
【0072】関数omf_free_objrefは記憶からオブジェ
クト参照ハンドルを削除する。
【0073】ランタイム・インターフェイスで用いられ
ている他の関数は次の通りである:
【0074】
【0075】関数omf_createは、あるオブジェクトが存
在していることをオブジェクト・マネージャに知らせ
る。これに応答して、オブジェクト・マネージャが新し
いオブジェクトに対してこのオブジェクトへの参照を返
す。このオブジェクトは返された参照情報を使用して自
分を他のオブジェクトから区別することができる。この
呼び出しでは、新しいオブジェクトのクラスをobj_clas
sに入れて指定する。更に、パラメータgroup_withは、
生成されたオブジェクトをこのパラメータによって参照
されるオブジェクトと同じグループに属するものとして
登録できるようにする。2つのオブジェクトが同じグル
ープに属する場合、オブジェクト・マネージャは、オブ
ジェクトが互いに当てにする(trust)と仮定して最適
化できるようにするある仮定を行うことができる。例え
ば、アクティブなオブジェクトをプロセスに割り当てる
ことを実現する際、同じグループに属するオブジェクト
は同じプロセス中に置くことができる。このようにする
ため、オブジェクト・マネージャ23は自分に関連付け
られたオブジェクトの諸グループをそれぞれ同値類とし
て扱う。これにより、オブジェクト・マネージャ23は
実際上自分に関連付けられたオブジェクト・グループの
状態を常時掌握しているようにするだけであり、グルー
プ内の個々のオブジェクト13の状態を掌握しているの
ではない。
【0076】
【0077】関数omf_deleteは、あるオブジェクトに関
連付けられたオブジェクト・マネージャに対し、to_del
eteによって参照されるオブジェクトが削除されている
ことを知らせる。この呼び出しの実際上の結果は、その
オブジェクト・マネージャからそのオブジェクトの全て
の記録が除去されることである。この呼び出しはオブジ
ェクトに関連付けられた永続記憶を開放するのではない
点に注意されたい。この関数は、実行が成功すると値
「真」を返し、うまくいかなければ値「偽」を返す。
【0078】
【0079】関数omf_change_identityは、パラメータo
bjectによって参照されるオブジェクトが依って立つア
イデンティティをnew_idによって与えられるアイデンテ
ィティに変更する。この呼び出しは、基本的には、new_
idによって以前に参照されたオブジェクトがもしあった
としてそれが削除されたあるいは削除されようとしてい
る場合に限って用いられる。この関数は、実行が成功す
れば値「真」を返し、うまくいかなければ値「偽」を返
す。
【0080】永続記憶マネージャ(PSM)は、オブジ
ェクトが自分の永続状態を管理できるようにする。PS
Mはデフォルト・オブジェクト・マネージャに関連付け
られており、システム11中の全オブジェクト13にア
クセス可能なランタイム・インターフェイスを介してア
クセスされる。PSMインターフェイスに関連付けられ
た呼び出し集合によって、オブジェクト13は、当該オ
ブジェクトのオブジェクト・アイデンティティから「フ
ァイルへのポインタ」(POSIX規格で定義されてい
る)型を持つオブジェクトを得ることができる。オブジ
ェクト13は、次に、ポインタで参照されたファイルを
好みの方法で用いて、その永続状態を読み取ったりある
いは書き込んだりすることができる。
【0081】デフォルト・オブジェクト・マネージャ2
5によって管理されるオブジェクト13は、PSMを使
用して自分の永続状態を記憶する必要はないという点に
注意されたい。ただし、PSMを使用しないことを選択
したオブジェクトは、デフォルト・オブジェクト・マネ
ージャ25の助けを借りずにオブジェクト13の永続状
態の全操作を行う必要がある。
【0082】PSMへのインターフェイスは以下のよう
な呼び出しから構成される。これらの呼び出しは、ある
オブジェクト13に向けられたものではないが、全オブ
ジェクト13にアクセス可能であって、呼び出し元のオ
ブジェクト13と同じプロセス空間39で走るシステム
・ランタイム中に実装されているローカルな呼び出しで
ある。これらの関数は、オブジェクト13とそのオブジ
ェクトのオブジェクト・マネージャ25を結び付ける接
着剤を提供するライブラリと考えるのが最も良い。
【0083】
【0084】関数psm_createは、パラメータlocationに
よって参照されるオブジェクトと同じロケーションにフ
ァイルを生成する。生成されたオブジェクトのオブジェ
クト・アイデンティティはパラメータobj_createdに入
れて返される。望ましい実施例では、オブジェクト・ア
イデンティティは、オブジェクトがそこで生成されたコ
ンピュータ37の識別情報をコード化したものである。
操作の一部として生成されたファイルへのポインタは、
関数の戻り値として返される。オブジェクト及び返され
る戻されるファイルは両方ともinit_acl中に与えられた
初期アクセス制御リスト(initial access control lis
t、ACL)を有しており、またこのファイルはcr_mode
で指示されるモードで生成される。
【0085】重要なのは、psm_createはオブジェクトを
生成するのではなく、単に永続記憶と初期オブジェクト
参照を提供し、あるオブジェクト・マネージャにオブジ
ェクトの存在を登録するだけであるということを理解す
ることである。完全なオブジェクト生成は、オブジェク
ト状態の初期設定といった他の活動を必要とするかもし
れない。これは実際にオブジェクトを生成するコードに
よって処理される。psm_createの呼び出しはそのような
コードが新しいオブジェクトの存在をシステムに知らせ
るために行われる。
【0086】
【0087】関数psm_openは、パラメータobjectのオブ
ジェクト・アイデンティティによって識別されるオブジ
ェクトに関連付けられており、パラメータopen_modeに
よって指定されるモードでオープンされたファイルへの
ポインタを返す。このファイルはpsm_createへの呼び出
しによって生成されたものでなければならない。
【0088】
【0089】関数psm_deleteはパラメータobject中に入
れて渡されるオブジェクト・アイデンティティによって
識別されるオブジェクトに関連付けられたファイルを削
除し、更にオブジェクト・マネージャ中のこのオブジェ
クトへの参照も皆削除する。この関数は、うまく削除で
きたら値「真」を返し、うまくいかなければ値「偽」を
返す。
【0090】
【0091】関数psm_create_linkは、パラメータto_ob
jectによって参照されるオブジェクトに永久的に関連付
けられたオブジェクトを生成する。生成されたオブジェ
クトはclass_id中に指定したクラスを有している。この
オブジェクトは、もし指定されたなら、int_aclのアク
セス制御リストを持つし、指定されなければ、to_objec
tによって参照されるオブジェクトのACL(アクセス
制御リスト)を持つ。この新たに生成されたオブジェク
トはto_objectの永続記憶に関連付けられており、この
呼び出しが返したオブジェクト参照に対してその後にps
m_openを実行すると、to_objectに対してpsm_openを実
行したのと同じ値を返す。この関数はまた、生成された
オブジェクトをto_objectと同じプロセス・グループに
あるものとして登録する。
【0092】
【0093】関数psm_get_aclはパラメータfor_object
によって識別されるオブジェクトに関するアクセス制御
リストを返す。
【0094】
【0095】関数psm_set_aclはパラメータfor_object
によって識別されるオブジェクトについてのACLをne
w_aclにセットする。この関数は、実行が成功すれば
「真」を返し、うまくいかなければ「偽」を返す。
【0096】
【0097】関数psm_change_identityはパラメータobj
ectによって識別されるオブジェクト・アイデンティテ
ィのオブジェクトをパラメータnew_idに入れて渡される
オブジェクトの新しいオブジェクト・アイデンティティ
に変更する。この呼び出しが用いられるのは、new_idに
よって以前に参照されたオブジェクトがもしあったとし
て、それが削除されたかあるいは削除されようとしてい
る場合に限られる。この関数は、実行が成功すれば値
「真」を返し、うまくいかなければ値「偽」を返す。
【0098】
【0099】関数psm_inq_colocationは、パラメータob
jectによって識別されるオブジェクトが呼び出しを行っ
たオブジェクトと同じ永続記憶ロケーションにあるか否
かを判定するために用いられる。この関数は、両オブジ
ェクトが同じロケーションにあれば「真」を返し、そう
でない場合は「偽」を返す。
【0100】
【0101】関数psm_get_pathは、ローカルなファイル
・システム中でパラメータobjectによって参照されるオ
ブジェクトの永続状態を含んでいるファイルのパス名が
もしあれば、それに対応するところの、実装に依存して
いる、nullで終端された文字列を返す。オブジェクト/
プロセス管理装置はこの文字列を解釈しない。このロー
カルなシステムという前提条件の下でこの文字列を理解
し、このローカルなシステム上ではこのような文字列に
よってどんな操作がサポートされるのかを判断するのは
プログラマの責任である。ローカルなシステムがファイ
ル・パス名の概念をサポートしていなければ、psm_get_
pathはエラー・ステータス・コードと共にNULLを返す。
【0102】[オブジェクトをアクティブにすること]
ほとんどのシステムでは、オブジェクト(またはプログ
ラム)は使用前に明示的に呼び出さなければならない。
本発明のオブジェクト指向分散コンピューティング・シ
ステムでは、オブジェクト13はそれらをアクティブに
する明示的な操作を必要とせずに、必要に応じてアクテ
ィブになる。リクエストをすることによってオブジェク
トを使用するだけで、そのオブジェクトはまだアクティ
ブでなかったとしたらアクティブになる。
【0103】ここでは、リクエストに応答可能なオブジ
ェクトは「アクティブ」であると定義する。オブジェク
ト13がリクエストに応答するためには、オブジェクト
のクラスに関するコードをプロセス39にロードし、サ
ポートされているリクエスト・インターフェイスをコー
ドによるその実装に対応付け、オブジェクト13の永続
データをロードしなければならない。上述した内の最後
の2つのステップは、それぞれ「クラス初期設定」ルー
チン及び「オブジェクト復元(object restore)」ルー
チンによって行われる。クラス・コードのロードはマシ
ンに依存したやりかたで処理しなければならない。これ
らのステップが完了すると、オブジェクト13はそれが
サポートするどんなリクエストにも応答する用意が整
い、応答することができる。
【0104】望ましい実施例では、オブジェクトをアク
ティブにすることに関わるエンティティは、「Genobj」
と呼ばれるプログラム55、デフォルト・オブジェクト
・マネージャ25、クラス・エキスパートと呼ばれるエ
ンティティ57及びランタイム・ライブラリ27であ
る。Genobj55(図3(b))は、オブジェクト13にリ
クエストを受信する準備を整えさせることをその機能と
するプロセスである。こうして準備を整えられたオブジ
ェクトはアクティブであるとみなされる。Genobj55は以
下のようにしてオブジェクトの準備を整える: (i)(もし必要なら)このオブジェクトのクラス・コ
ードをGenobj55のアドレス空間にロードし、 (ii)このオブジェクトのクラスに関する「クラス初
期設定」関数を呼び出し、 (iii)オブジェクト永続データに関して「オブジェ
クト復元」関数を呼び出す。 Genobjと同様の関数をを備えた他のプログラムも使え
る。
【0105】これに関して、デフォルト・オブジェクト
・マネージャ25はオブジェクト集合とプロセス集合を
管理する。デフォルト・オブジェクト・マネージャ25
のオブジェクトは多かれ少なかれほとんど永久的である
が、プロセスは必要に応じて開始されまた終了させられ
る。デフォルト・オブジェクト・マネージャはその自分
のオブジェクト各々のクラス及び各オブジェクトの永続
データのロケーションを知っている。デフォルト・オブ
ジェクト・マネージャ25はまた、所与のオブジェクト
13(または関係するオブジェクト・グループ)が現在
デフォルト・オブジェクト・マネージャ25によって管
理されるプロセスの1つと関連付けられている否かを知
っている。デフォルト・オブジェクト・マネージャ25
は、プロセスに関連付けられたしたオブジェクトまたは
オブジェクト・グループはメッセージを受信することが
でき従って「アクティブ」であると考える。オブジェク
ト13を「アクティブ」にしようとするデフォルト・オ
ブジェクト・マネージャ25は、そのオブジェクトのク
ラスに適合するプロセスを開始する。クラスが開始させ
るためのプログラム39を指定しなければ、デフォルト
・オブジェクト・マネージャ25はGenobj55を開始させ
る。
【0106】クラス・エキスパート57(図3(b))
は、オブジェクト・クラス(またはクラスの集合)に関
する情報を管理するエンティティである。この情報に
は、クラスがサポートする操作インターフェイス及びそ
のクラスに関するある初期設定関数名が含まれている。
クラス・エキスパート57はまた、オブジェクト・クラ
スの実装に関する情報(コードによる)を保持してい
る。
【0107】ランタイム・ライブラリ27については既
に説明した。要するに、ランタイム・ライブラリ27は
全てのオブジェクト13に、従って全てのプロセスに置
かれている。Genobj55に置かれているランタイム・ライ
ブラリ27は、更にGenobj55と相互作用して、オブジェ
クト13をアクティブ/非アクティブにすることを統合
管理する。
【0108】以下の説明では、「ユーザ」とは本発明の
オブジェクト指向分散コンピューティング・システム1
1を使用する人間である。「クライアント」とはシステ
ム11中の別のオブジェクトにリクエスト(またはメソ
ッド呼び出し)を行うプログラムまたはオブジェクトで
ある。「クライアント」はまた、ユーザが通常キー・ボ
ードとマウスの両方または一方を用いて対話するエンテ
ィティとも考えられる。オブジェクト13がまだアクテ
ィブになっていなくても、クライアントがそのオブジェ
クト13を使用しようとすることによってアクティブに
なる。更に、この説明において、「関数」、「ルーチ
ン」、「ハンドラ」及び「手順」は交換可能に用いられ
る。
【0109】制限のためではなく例示のため、ユーザM
が別のユーザJの電話番号を知りたがっているものと仮
定する。ユーザMはコンピュータ・アプリケーションを
通じてユーザJの「電話情報」を尋ねるだけである。こ
の際、通常、ユーザMはメニュー選択すなわちコンピュ
ータ・アプリケーションによって表示される書式にユー
ザJの名前をタイプする。図2に示すように、コンピュ
ータ・アプリケーションは次に、システム11のどこか
に置かれている電話情報(「pi」)オブジェクト13
aがエクスポートしているリクエスト側バージョンの"g
et phone_info"リクエストを実行する。リクエスト側バ
ージョンのリクエストは、リクエスト元プロセス39a
に置かれているランタイム・ライブラリ27と相互作用
する。ランタイム・ライブラリ27はまずロケーション
・サービス21に連絡を取って、piオブジェクト13
aのオブジェクト・マネージャ25のロケーションを見
い出す。ランタイム・ライブラリ27は次に、このオブ
ジェクトのオブジェクト・マネージャ25を管理するM
OM29aに実際の"get phone_info"操作リクエストを
送る。
【0110】MOM29aのランタイム・ライブラリ2
7はユーザMのコンピュータ・アプリケーション39a
によって送られてくるリクエストを含むパケットを受信
する。ランタイム・ライブラリ27は、MOM29aに
対して、このパケットをどこに送るべきか知っているか
否かどうか問い合わせる。もっと具体的に言えば、ラン
タイム・ライブラリ27は、このパケット中の個々のパ
ラメータの項目中に見出されるオブジェクト・アイデン
ティティ及びインターフェイス識別子を送り、そのパケ
ットを送りつけることの可能な「エンドポイント(endp
oint)」(すなわちローカル・ソケット・アドレス)の
返報を受信することを期待する。
【0111】これに応答し、MOM29aは、そのオブ
ジェクト・マネージャ23のそれぞれについて、そのオ
ブジェクト・マネージャがリクエストの宛て先のオブジ
ェクト(すなわちランタイム・ライブラリ27が送って
きたオブジェクト・アイデンティティによって指定され
るオブジェクト)を管理しているか否かを問い合わせ
る。デフォルト・オブジェクト・マネージャ25は、そ
の内部のオブジェクト・グループ・テーブル51(図3
(a))をチェックし、それがオブジェクト13aを管
理しているか否かを確認する。管理していれば、デフォ
ルト・オブジェクト・マネージャ25は、指定されたオ
ブジェクト13aが属しているオブジェクト・グループ
の識別子を保持している。(1つのオブジェクトしか含
んでいないオブジェクト・グループも認められる。)次
に、デフォルト・オブジェクト・マネージャ25は、こ
のオブジェクト・グループの状態を参照する。オブジェ
クト・グループは以下の3つの状態のいずれかを取ると
考えられる:「アクティブ」−オブジェクト・グループ
が既にプロセス39と関連付けられている。このプロセ
スについての少なくとも1つのエンドポイントが使用で
きパケットを送り出せる。「保留(pending)」−グル
ープについて当該プロセス39を開始しているが、この
プロセスはまだ、デフォルト・オブジェクト・マネージ
ャ25に自分のエンドポイントを登録していない。「非
アクティブ」−オブジェクト・グループに関連付けられ
たプロセス39がない。
【0112】グループが「アクティブ」である場合、デ
フォルト・オブジェクト・マネージャ25はそのグルー
プに関連付けられたプロセス39のエンドポイントを返
す。グループが「保留」の場合、デフォルト・オブジェ
クト・マネージャ25は、まだ、エンドポイントを有し
ていないのでエンドポイントを返さないが、指定された
オブジェクトを管理している旨の表示を戻す。グループ
が「非アクティブ」である場合、デフォルト・オブジェ
クト・マネージャ25はそのグループに関するプロセス
39を獲得する。
【0113】望ましい実施例では、デフォルト・オブジ
ェクト・マネージャ25は、以下に説明しまた図3
(a)に示すようにして、グループに関するプロセスを
獲得する。まず、デフォルト・オブジェクト・マネージ
ャ25aは「使用可能な」プロセス39d、39eの入
っている使用可能プロセス・プール47をチェックす
る。使用可能なプロセスとは、デフォルト・オブジェク
ト・マネージャ25に1つまたは複数のエンドポイント
を登録したが、まだどのオブジェクト・グループとも関
連付けられていないプロセスである。デフォルト・オブ
ジェクト・マネージャ25はプール47内の各プロセス
39をチェックし、指定されたオブジェクトのクラスに
適合する(compatible)プロセスを見つけ出す。プロセ
スの中には(例えば、Genobjの場合)多くのクラスと適
合するものもあるが、特定のクラスのオブジェクトに対
するサービスだけに限定されるものもある。デフォルト
・オブジェクト・マネージャ25は、プール47内で適
合するプロセス39eを見つけ出すと、デフォルト・オ
ブジェクト・マネージャの内部テーブル51中でこのオ
ブジェクト・グループを「アクティブ」である旨マーク
する。デフォルト・オブジェクト・マネージャ25はま
た、見出されたプロセス39eのエンドポイント及びプ
ロセスのオペレーティング・システム識別子をこのグル
ープに関連付ける。デフォルト・マネージャ25は次
に、新たに関連付けられたエンドポイントをMOM29
aに返し、使用可能プロセス・プール47からプロセス
39eを除去する。
【0114】デフォルト・オブジェクト・マネージャ2
5が使用可能プロセスのプール47中で適合するプロセ
スを見つけ出すことができない場合、デフォルト・オブ
ジェクト・マネージャ25は適合するプロセス39fを
開始させる。これを行うため、デフォルト・オブジェク
ト・マネージャ25は、このオブジェクトのクラスに関
連付けられた情報を参照して、適合するプロセス39f
のパスを決定する。既に述べたように、クラスがプロセ
スの指定していない場合、デフォルト・オブジェクト・
マネージャ25はGenobj55を開始させる。プロセス39
fの開始後、デフォルト・オブジェクト・マネージャ2
5は、その内部テーブル51内部に、オブジェクト・グ
ループが「アクティブ化を保留」している旨マークす
る。デフォルト・オブジェクト・マネージャ25はまた
「保留プロセス」のプール53に項目39fを入れる。
プロセス39fの項目には、このプロセスのオペレーテ
ィング・システム識別子及びプロセス39fが意図して
いるグループの識別子が含まれている。
【0115】プロセス39fがそのエンドポイントを
(デフォルト・オブジェクト・マネージャ25上でのre
gister_endpointsリクエストを介して)登録すると、そ
の項目は保留プロセス・プール53から除去され、この
プロセスが意図しているグループには、デフォルト・オ
ブジェクト・マネージャ25が内部テーブル51中で
「アクティブ」である旨マークする。デフォルト・オグ
ジェクト・マネージャ25はまた、このグループを内部
テーブル51中のプロセスのエンドポイント及びプロセ
スの識別子に関連付ける。グループ関連付けなしで開始
されるプロセスが自分のエンドポイントを登録すると、
このプロセスは保留プロセス・プール53から使用可能
プロセス・プール47に移ることに注意されたい。
【0116】Genobj55がデフォルト・オブジェクト・マ
ネージャ25によって開始される場合、Genobjは、図3
(b)に示すように、以下のように動作する。Genobj55
は、デフォルト・オブジェクト・マネージャ25による
開始直後に、ランタイム・ライブラリ27に対しエンド
ポイントの問い合わせを行う。エンドポイントを獲得す
ると、Genobj55はデフォルト・オブジェクト・マネージ
ャ25上で"register_endpoints"リクエストを実行す
る。このリクエストのパラメータにはGenobj55のこのイ
ンスタンスについてのオペレーティング・システム・プ
ロセス識別子及びランタイム・ライブラリ27から得た
エンドポイントが含まれる。
【0117】Genobj55はデフォルト・オブジェクト・マ
ネージャ25にエンドポイントを登録するだけでなく、
(別の種類の)登録をランタイム・ライブラリ27に行
う。Genobj55は「未知オブジェクト」関数61(ランタ
イム・ライブラリ27が処理方法の分からないリクエス
トを受信した際に呼び出される関数)を登録する。両方
の登録の実行後、Genobj55は、制御をランタイム・ライ
ブラリ27に委譲し、これによってランタイム・ライブ
ラリはリクエスト(デフォルト・オブジェクト・マネー
ジャ25によって送り出される、あるいはリクエスト元
が直接送ってくるかもしれない)の受信を開始できるよ
うになる。ランタイム・ライブラリ27は、処理方法の
分からないリクエストを受信すると、未知オブジェクト
関数61を呼び出す。
【0118】Genobjの未知オブジェクト関数(またはハ
ンドラ)61は、リクエストget_obj_info()を介してデ
フォルト・オブジェクト・マネージャ25と相互作用
し、オブジェクトのクラス及びオブジェクトの永続デー
タのロケーションを判定する。未知オブジェクト関数6
1は、獲得したばかりのクラス識別子を使用して、その
クラスに関するエキスパート57のロケーションを見い
出して連絡を取る。未知オブジェクト関数は、クラス・
エキスパート57から、図3(b)に示すように、get_
class_info()リクエストを介してクラス初期設定関数及
びオブジェクト復元関数の名前を見つけ出す。未知オブ
ジェクト関数61はまた、関数のアドレス空間にクラス
の実装をロードするのに必要な情報を得るかもしれな
い。クラスの実装をロードすると、未知オブジェクト関
数61はクラス初期設定関数を呼び出す。クラス初期設
定関数の主な目的は、クラスの操作インターフェイス及
び非アクティブ化ハンドラをランタイム・ライブラリ2
7に登録することである。次に、未知オブジェクト関数
61は、このオブジェクトの永続データのロケーション
を渡すこと等を行うこのクラスのオブジェクト復元関数
を呼び出す。復元ルーチンが完了すると、未知オブジェ
クト関数61はランタイム・ライブラリ27にオブジェ
クト及びクラスを登録する。最後に、未知オブジェクト
関数61は制御をランタイム・ライブラリ27に戻す。
【0119】ランタイム・ライブラリは今やリクエスト
(パケット)の適切な処理に充分な情報(リクエストの
登録とオブジェクト/クラスの登録から得られた)を有
している。復元が完了したオブジェクトは、かくして、
パケットによって指定されたリクエストを受け取る準備
が整っている。ランタイム・ライブラリ27は単に、オ
ブジェクトがそのリクエストについて登録したスタブを
呼び出し、リクエスト・パケット中に見つけたデータを
渡す。スタブはそのデータを取り出してそのオブジェク
トの適切なメソッドを呼び出す。
【0120】オブジェクト13への次のリクエストがパ
ケットの形で到着すると、このオブジェクトはその時点
で「既知」になっているので、ランタイム・ライブラリ
27は未知オブジェクト関数に頼らずに直接スタブを呼
び出すことができる。
【0121】上述した手続の利点は、この手続がユーザ
やクライアント・プログラムに対しては透過的であるこ
とである。オブジェクトへのリクエストを呼び出したク
ライアントは、オブジェクト13がそのリクエストを出
した以前にアクティブであったか否かについては全く分
からない。そのため、全オブジェクトは、たとえそれが
現在のところ何かのプロセスに関連付けられていなくて
も、見かけ上はリクエストの処理のために使用可能であ
るように、すなわちアクティブである。従って、本発明
はリクエストが出された時点のターゲット・オブジェク
トとプロセスとの関連付けには関係なく、ターゲット・
オブジェクトについて、ターゲット・オグジェクトの操
作及びデータを実現する(更にリクエストを受信してサ
ービスを行う)ためのコンピュータ手段を提供するもの
である。
【0122】[オブジェクトを非アクティブにするこ
と]オブジェクトのクラスのクラス初期化ルーチンは非
アクティブ化ハンドラをランタイムに登録することを担
当する。好ましい実施例では、オブジェクト・マネージ
ャ23はシステム11が資源を必要とすることに自動的
に応答して非アクティブ化を行う。Genobj55がデフォ
ルト・オブジェクト・マネージャ25からプロセス終結
要求を受信すると、Genobj55は登録されているオブジ
ェクトの各々についてランタイム・ライブラリ27に非
アクティブ化ハンドラの呼び出しを求める。デフォルト
・オブジェクト・マネージャ25からの終結要求は、プ
ロセス39を終結させることがどの位重要かを示す「優
先度」パラメータを持っている。このパラメータが取る
ことのできる優先度の値は、「動作中でなければ終結し
てください」から「終結しないと不都合な状態でキルさ
れるぞ」まで、少なくとも3つある。Genobj55は優先
度パラメータを非アクティブ化ハンドラを呼び出すラン
タイム・ルーチンdeactivate_objectsに渡す。非アクテ
ィブ化ハンドラを呼び出す前に、ルーチンdeactivate_o
bjectは優先度パラメータの値をオブジェクト13毎に
登録されている「終結不服」レベルと比較する。優先度
レベルが各「不服」レベルよりも高ければ非アクティブ
化ハンドラが呼び出される。そうでない場合には、ルー
チンdeactivate_objectはGenobjへリターンし、現在の
最大の不服レベルを渡す。するとGenobj55はこの値を
デフォルト・オブジェクト・マネージャ25に渡す。
【0123】オブジェクト13は、必要なときにはいつ
でも自分の不服レベルを変更することができる。例え
ば、ある期間メソッド要求を何も受け取っていないオブ
ジェクト13はランタイム・ライブラリに対して、自分
の不服レベルは低いと告げるかもしれない。このオブジ
ェクト13がつぎにメソッド要求を受け取ったら、オブ
ジェクト13は、ランタイム・ライブラリ27に対し
て、自分の不服レベルは高いと告げることであろう。ラ
ンタイム・ライブラリ27は各オブジェクト13の現在
の不服レベルを常時掌握している。
【0124】[自分のグループ中の他のオブジェクトを
アクティブにするオブジェクト]オブジェクトの復元ル
ーチンは(自分の永続データに基づいて)、自分のグル
ープ中の他のオブジェクトをGenobj中でアクティブにす
る必要があると判断することがある。復元ルーチンは、
Genobjの未知オブジェクト関数(ハンドラ)61を呼び
出して所望のオブジェクト13のアイデンティティを渡
すことによって、他のオブジェクトをアクティブにする
ことができる。復元ルーチンは必要とするだけいくらで
も多くのオブジェクトについてこれを行うことができ
る。未知オブジェクト・ハンドラ61はこの所望のオブ
ジェクトがまたアクティブでないことを確認する。この
オブジェクトがアクティブでない場合には、未知オブジ
ェクト・ハンドラは上述したようにランタイム・ライブ
ラリ27から呼び出されたときとほとんど同様な挙動を
取る。相違点は、端効果(end effect)における違いに
あるのではなく、同時性制御(concurrency control)
に関するものである。未知オブジェクト・ハンドラ61
への呼び出しはリカーシブである可能性があることに注
意されたい。例えば、未知オブジェクト・ハンドラはあ
るオブジェクト「A」上のランタイム・ライブラリ27
から呼ばれ、このオブジェクトの復元ルーチンはオブジ
ェクト「B」上の未知オブジェクト・ハンドラを呼ぶか
もしれない。「B」についての復元ルーチンは今度はオ
ブジェクト「C」上のハンドラを呼ぶかもしれず、以下
同様である。最後には、必要とされる全てのオブジェク
トが自分のクラスを初期化し、自分の状態を復元する。
最終的には制御はランタイム・ライブラリ27に戻る。
【0125】[クラスのローディング及び初期化の制
御]一つのオブジェクト・グループ内の任意の個数のオ
ブジェクトが同じクラスに属することができる。各オブ
ジェクト13がGenobj55でアクティブにされたとき、
Genobjは自分がそのオブジェクトのクラスを既にロード
し初期化しているか否かをチェックする。もしそうであ
れば、Genobj55は再ロードを取りやめてそのクラスを
再び初期化する。しかし、Genobjはそのクラスが以前に
ロードされているかどうかにはかかわりなく、復元関数
を呼び出す。これは、復元関数がクラスではなくオブジ
ェクト13の状態を復元する役割を持っているからであ
る(また、これはオブジェクト毎に必要である)。
【0126】本発明を特定の実施例を参照して開示し説
明したが、当業者には、本願特許請求の範囲に定義され
た本発明の精神及び範囲から逸脱することなく、その具
体的形態や細部についての種々の変更を成しうることが
理解できるであろう。
【0127】
【効果】以上詳細に説明したように、本発明によれば、
ターゲット・オブジェクトのロケーション、現在アクテ
ィブかどうか、等のターゲット側についての詳細な知識
が不要であり、またそのような知識の欠如に対処するた
めの明示的な手当も必要ではない、分散環境におけるオ
ブジェクト指向システムが構築できる。
【図面の簡単な説明】
【図1】本発明の一実施例を説明する図。
【図2】本発明の一実施例を説明する図。
【図3】本発明の一実施例を説明する図。
【符号の説明】
11:オブジェクト指向コンピューティング・システム 13:オブジェクト 15:オブジェクト/プロセス管理装置 17:オブジェクト管理サービス層 19:通信サービス層 21:ロケーション・サービス 23:オブジェクト・マネージャ 25:デフォルト・オブジェクト・マネージャ 27:ランタイム・ライブラリ 29:MOM 31:オブジェクト領域マネージャ 33:マッピング・マネージャ 35:同胞メタ・オブジェクト領域マネージャ 37:コンピュータ 39:プロセス 47:使用可能プロセス・プール 51:オブジェクト・グループ・テーブル 53:保留プロセス・プール 55:Genobj 57:クラス・エキスパート 61:未知オブジェクト・ハンドラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーレナ・イー・エルドス アメリカ合衆国マサチューセッツ州サマー ビル・ナンバ1・ワトソン・ストリート16 (72)発明者 ダグラス・ビー・ロビンソン アメリカ合衆国ニュー・ハンプシャ州ホリ ス・クレストウッド・ドライブ7 (72)発明者 ディー・ジェフリー・ホフマン アメリカ合衆国ニュー・ハンプシャ州ナシ ュア・カラシーアム・アベニュー111スウ ィート305 (72)発明者 レイマー・ディー・スミス アメリカ合衆国カリフォルニア州サン・ノ ゼ・クレストムーア・ドライブ642 (72)発明者 ピーター・エス・ショーマン アメリカ合衆国カリフォルニア州クーパテ ィノ・ドライドン・アベニュー10915 (72)発明者 マイケル・ジェイ・キャノン アメリカ合衆国カリフォルニア州パロ・ア ルト・サン・ジュード・アベニュー713 (72)発明者 アンドリュー・エフ・シーボーン イギリス国ビー・エス16・5エイ・エフ・ イングランド・ブリストル・フィッシュポ ンド・キンバーレィ・クレセント11 (72)発明者 ブライアン・ダブリュー・マクブライド アメリカ合衆国カリフォルニア州ロス・ア ルトス・フォールン・リーフ・レイン1674 (72)発明者 ブライアン・ディー・ハリソン アメリカ合衆国カリフォルニア州サラト ガ・ジェリーズ・ドライブ14010

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】複数のコンピュータとプロセスとオブジェ
    クトとを有するオブジェクト指向コンピューティング・
    システムにおいて、 前記コンピューティング・システム中のオブジェクトの
    ロケーションを要求元に代わって捜すロケーション・サ
    ービスを有する管理手段を設け、 前記ロケーション・サービスは前記要求元のロケーショ
    ン・サービスについての知識には無関係に機能するとと
    もに、 前記ロケーション・サービスはあるプロセス中の要求元
    がターゲット・オブジェクトにリクエストを送る際に、
    前記要求元に代わって自動的に呼び出されることを特徴
    とするオブジェクト指向コンピューティング・システ
    ム。
  2. 【請求項2】前記ロケーション・サービスは前記オブジ
    ェクトを各オブジェクトにユニークなアイデンティティ
    に基づいて探し出すことを特徴とする請求項1記載のオ
    ブジェクト指向コンピューティング・システム。
  3. 【請求項3】前記オブジェクトの各々について、当該オ
    ブジェクトのユニークなアイデンティティは当該オブジ
    ェクトが生成されたコンピュータの識別情報をコード化
    していることを特徴とする請求項2記載のオブジェクト
    指向コンピューティング・システム。
  4. 【請求項4】前記ロケーション・サービスはターゲット
    ・オブジェクトへのリクエストに応答して要求元に代わ
    って自動的に呼び出され、前記要求元はその作成者が前
    記ロケーション・サービスへの呼び出しを明示的にコー
    ディングする必要がないことを特徴とする請求項1記載
    のオブジェクト指向コンピューティング・システム。
  5. 【請求項5】自動的に生成されたスタブ内から前記ロケ
    ーション・サービスを自動的に呼び出す処理手段を更に
    含むことを特徴とする請求項4記載のオブジェクト指向
    コンピューティング・システム。
  6. 【請求項6】前記ロケーション・サービスは以下の
    (a)ないし(d)を含むことを特徴とする請求項1記
    載のオブジェクト指向コンピューティング・システム: (a)複数のオブジェクト・マネージャ:異なる複数の
    オブジェクトが異なるオブジェクト・マネージャに関連
    付けられており、各オブジェクト・マネージャは当該オ
    ブジェクト・マネージャに関連付けられたオブジェクト
    の操作及び存在をサポートする; (b)オブジェクトを管理する複数のマネージャ:オブ
    ジェクト・マネージャの異なるグループ毎にオブジェク
    ト・マネージャの異なるマネージャがある; (c)オブジェクトのロケーションを前記システム中の
    コンピュータについて掌握する複数のオブジェクト領域
    マネージャ:コンピュータの異なるグループ毎に定義さ
    れた別個の領域が存在し、領域毎にオブジェクト領域マ
    ネージャが存在する; (d)コンピュータを前記オブジェクト領域マネージャ
    へマッピングするマッピング手段。
  7. 【請求項7】前記オブジェクトマネージャ、前記オブジ
    ェクト・マネージャのマネージャ、前記オブジェクト領
    域マネージャ及びマッピング手段とまたその間での通信
    の共通手段を与える共通の一般インターフェイスを更に
    有することを特徴とする請求項6記載のオブジェクト指
    向コンピューティング・システム。
  8. 【請求項8】複数のオブジェクト・モデルを更に有し、
    前記オブジェクト・マネージャは個々のオブジェクト・
    モデルに基づいていることを特徴とする請求項6記載の
    オブジェクト指向コンピューティング・システム。
  9. 【請求項9】前記一つのオブジェクト・モデルに基づい
    ているオブジェクト・マネージャに関連付けられている
    オブジェクトはリクエストを別のオブジェクト・モデル
    に基づいている別個のオブジェクト・マネージャに関連
    付けられたオブジェクトに送ることができることを特徴
    とする請求項8記載のオブジェクト指向コンピューティ
    ング・システム。
  10. 【請求項10】オブジェクト・マネージャの共通のマネ
    ージャによって管理された一般インターフェイスを更に
    有し、 前記オブジェクト・マネージャのマネージャは個々のオ
    ブジェクト・マネージャのオブジェクト・モデルに付い
    ての正確な知識なしで自分のオブジェクト・マネージャ
    と通信できることを特徴とする請求項8記載のオブジェ
    クト指向コンピューティング・システム。
  11. 【請求項11】前記オブジェクト・マネージャの各々
    は、自分に対応付けられたオブジェクトのグループを、
    当該オブジェクト・マネージャが各オブジェクト/プロ
    セス対応関係をグループ単位で掌握する意味で同値類と
    して取り扱うことを特徴とする請求項6記載のオブジェ
    クト指向コンピューティング・システム。
  12. 【請求項12】前記オブジェクト・マネージャは前記シ
    ステムが資源を必要とすることに自動的に応答してプロ
    セスの非アクティブ化を行うことを特徴とする請求項6
    記載のオブジェクト指向コンピューティング・システ
    ム。
  13. 【請求項13】ターゲット・オブジェクトに対するリク
    エストについて、前記リクエストが発行された時点での
    前記ターゲット・オブジェクトとプロセスとの関連付け
    からは独立にサービスすることを特徴とする請求項1記
    載のオブジェクト指向コンピューティング・システム。
  14. 【請求項14】下記の(a)ないし(c)を設けてなる
    オブジェクト指向分散コンピューティング・システム: (a)第1の複数のオブジェクト; (b)複数のオブジェクト・マネージャ:前記第1の複
    数のオブジェクトの内の異なる複数のオブジェクト各々
    について異なるオブジェクト・マネージャがあり、1つ
    のオブジェクト・マネージャに対応付けられた付けられ
    たオブジェクトは操作と存在に付いて当該オブジェクト
    ・マネージャによってサポートされる; (c)少なくとも1つのオブジェクト・モデル:各オブ
    ジェクト・マネージャは各々のオブジェクト・モデルに
    基づき、1つのオブジェクト・モデルに基づくオブジェ
    クト・マネージャに関連付けられた付けられたオブジェ
    クトは、異なるオブジェクト・モデルに基づく別個のオ
    ブジェクト・マネージャに対応付けられたオブジェクト
    に対してリクエストを送ることができる。
  15. 【請求項15】オブジェクト・マネージャの複数のマネ
    ージャを更に設け、オブジェクト・マネージャの異なる
    グループに対して異なる前記マネージャが存在すること
    を特徴とする請求項14記載のオブジェクト指向コンピ
    ューティング・システム。
  16. 【請求項16】以下の(a)ないし(c)を設けてなる
    オブジェクト指向分散コンピューティング・システム: (a)各々が自分が実行する操作及びデータを有する複
    数のオブジェクト; (b)各種のコンピュータ上の複数のプロセス:各々の
    操作を行う異なるプロセス中に異なるオブジェクトが置
    かれている; (c)ターゲット・オブジェクトへのリクエストに応答
    して前記ターゲット・オブジェクトの操作及びデータを
    複数のプロセスの内のプロセス中で実装するコンピュー
    タ手段:前記ターゲット・オブジェクトの可用性はリク
    エスト時点でのプロセスの前記ターゲット・オブジェク
    トへの関連付けからは独立である。
  17. 【請求項17】前記コンピュータ手段はリクエスト時点
    でのプロセスの前記ターゲット・オブジェクトへの関連
    付けからは独立に前記ターゲット・オブジェクトによる
    サービスができるようにする特徴とする請求項16記載
    のオブジェクト指向コンピューティング・システム。
  18. 【請求項18】前記オブジェクトの操作をサポートする
    複数のオブジェクト・マネージャを更に設け、前記オブ
    ジェクトの異なるグループは異なるオブジェクト・マネ
    ージャに関連付けられていることを特徴とする請求項1
    6記載のオブジェクト指向コンピューティング・システ
    ム。
  19. 【請求項19】前記オブジェクト・マネージャの各々は
    当該オブジェクト・マネージャに関連付けられたオブジ
    ェクトのグループを、当該オブジェクト・マネージャが
    オブジェクトのプロセスとの関連付けをグループ単位で
    掌握する点で、それぞれ同値類として取り扱うことを特
    徴とする請求項16記載のオブジェクト指向コンピュー
    ティング・システム。
  20. 【請求項20】前記オブジェクト・マネージャは前記シ
    ステムが資源を必要とすることに自動的に応答してプロ
    セスの非アクティブ化を行うことを特徴とする請求項1
    8記載のオブジェクト指向コンピューティング・システ
    ム。
JP07359392A 1991-02-25 1992-02-25 オブジェクト指向分散コンピューティング方法 Expired - Fee Related JP3573762B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US660,478 1984-10-12
US66047891A 1991-02-25 1991-02-25

Publications (2)

Publication Number Publication Date
JPH05181814A true JPH05181814A (ja) 1993-07-23
JP3573762B2 JP3573762B2 (ja) 2004-10-06

Family

ID=24649693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07359392A Expired - Fee Related JP3573762B2 (ja) 1991-02-25 1992-02-25 オブジェクト指向分散コンピューティング方法

Country Status (4)

Country Link
US (1) US5475817A (ja)
EP (1) EP0501610B1 (ja)
JP (1) JP3573762B2 (ja)
DE (1) DE69228621T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793264A (ja) * 1993-09-10 1995-04-07 Sun Microsyst Inc クライアント側スタブインタプリタ
JPH10510036A (ja) * 1994-12-05 1998-09-29 ジェイムズ ボートマン,ピーター パイプ組立体
US5819279A (en) * 1995-04-27 1998-10-06 Fujitsu Limited Object data processing apparatus
JP2003177930A (ja) * 2001-09-04 2003-06-27 Samsung Electronics Co Ltd プロセス間通信方法及び装置

Families Citing this family (211)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9208275D0 (en) * 1992-04-15 1992-06-03 Int Computers Ltd Data management mechanism
DE69329577T2 (de) * 1992-07-01 2001-05-31 Ericsson Telefon Ab L M Verfahren und system für implementierung-unabhängige schnittstellenspezifikation
US5404525A (en) * 1992-09-30 1995-04-04 International Business Machines Corporation Efficient method router that supports multiple simultaneous object versions
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
JPH06332712A (ja) * 1993-05-25 1994-12-02 Fujitsu Ltd オブジェクトを持つデータ処理システム
CA2124720C (en) * 1993-06-25 2002-10-22 Michael R. C. Seaman Integration of systems management services with an underlying system object model
US6751796B1 (en) 1993-06-25 2004-06-15 Microsoft Corporation Integration of systems management services with an underlying system object model
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
US5548779A (en) * 1993-12-21 1996-08-20 Taligent System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects
US5544325A (en) * 1994-03-21 1996-08-06 International Business Machines Corporation System and method for generating messages for use in transaction networks
US5694597A (en) * 1994-04-26 1997-12-02 International Business Machines Corporation Method and system for optimizing access to a datastore
JPH07306778A (ja) * 1994-05-16 1995-11-21 Fujitsu Ltd ソフトウェアの分散開発環境における開発管理方式
US5625775A (en) * 1994-06-13 1997-04-29 International Business Machines Corporation Modem communication interface in a data processing system
DE59508793D1 (de) 1994-08-31 2000-11-23 Siemens Ag Verfahren zur Verwaltung dynamischer Objekte in einer objektorientiert programmierten Einrichtung
JP3072709B2 (ja) * 1994-11-21 2000-08-07 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 要求伝達方法
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
US5907675A (en) * 1995-03-22 1999-05-25 Sun Microsystems, Inc. Methods and apparatus for managing deactivation and shutdown of a server
EP0733971A3 (en) * 1995-03-22 1999-07-07 Sun Microsystems, Inc. Method and apparatus for managing connections for communication among objects in a distributed object system
US6161147A (en) * 1995-03-31 2000-12-12 Sun Microsystems, Inc. Methods and apparatus for managing objects and processes in a distributed object operating environment
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
US6640255B1 (en) * 1995-03-31 2003-10-28 Sun Microsystems, Inc. Method and apparatus for generation and installation of distributed objects on a distributed object system
US6715148B1 (en) 1995-04-03 2004-03-30 International Business Machines Corporation Efficient method router that supports multiple simultaneous object versions
US5778227A (en) * 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
GB2305270A (en) * 1995-09-15 1997-04-02 Ibm Bridge for a client-server environment
US6009464A (en) * 1995-09-20 1999-12-28 Sun Microsystems, Inc. Method and apparatus for enabling application programs to communicate with network clients and servers
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
SE507482C2 (sv) * 1995-10-09 1998-06-15 Ericsson Telefon Ab L M System och förfarande för kommunikationshantering med redundans
US6516355B1 (en) * 1995-11-08 2003-02-04 Adc Newnet, Inc. Methods and apparatus for controlling digital communications switching equipment
JP3019915B2 (ja) * 1995-11-20 2000-03-15 日本電気株式会社 手続き呼出し方法
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
DE19547108A1 (de) * 1995-12-16 1997-06-19 Sel Alcatel Ag Verfahren zum Einbinden von Zusatz-Funktions-Modulen in eine Steuereinrichtung eines Vermittlungssystems und Vermittlungssystem
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
US6041109A (en) 1995-12-29 2000-03-21 Mci Communications Corporation Telecommunications system having separate switch intelligence and switch fabric
US5887172A (en) 1996-01-10 1999-03-23 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends
US6233623B1 (en) 1996-01-11 2001-05-15 Cabletron Systems, Inc. Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
US6446135B1 (en) * 1996-03-05 2002-09-03 Microsoft Corporation Method and system for querying and executing commands of an application program
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6069890A (en) 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US6154445A (en) 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6578044B1 (en) * 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US5881230A (en) * 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
US6282580B1 (en) 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US5949998A (en) * 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US5991535A (en) 1996-07-03 1999-11-23 Sun Microsystems, Inc. Visual composition tool for constructing application programs using distributed objects on a distributed object network
US5860004A (en) * 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
US5920868A (en) * 1996-07-03 1999-07-06 Sun Microsystems, Inc. Cataloging apparatus for facilitating the re-use of distributed objects in a distributed object system
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US5907706A (en) * 1996-11-12 1999-05-25 International Business Machines Corporation Interactive modeling agent for an object-oriented system
US5991536A (en) * 1996-11-12 1999-11-23 International Business Machines Corporation Object-oriented tool for registering objects for observation and causing notifications to be made in the event changes are made to an object which is being observed
US6078582A (en) 1996-12-18 2000-06-20 Bell Atlantic Network Services, Inc. Internet long distance telephone service
US5940395A (en) * 1996-12-19 1999-08-17 International Business Machines Corp. Method and system for information plug-ins for configurable client-server applications
US5987611A (en) * 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
CZ266699A3 (cs) 1997-01-13 1999-12-15 John Overton Automatizovaný systém pro archivaci obrazů
US6137869A (en) 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6574216B1 (en) 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
US6870827B1 (en) 1997-03-19 2005-03-22 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US6292479B1 (en) 1997-03-19 2001-09-18 Bell Atlantic Network Services, Inc. Transport of caller identification information through diverse communication networks
JP3817823B2 (ja) * 1997-04-10 2006-09-06 ソニー株式会社 データ通信方法
US6240466B1 (en) 1997-04-21 2001-05-29 International Business Machines Corporation Object-oriented apparatus and method for determining new object location relative to an existing object
US5943497A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Object-oriented apparatus and method for controlling configuration of object creation
US5951680A (en) * 1997-06-24 1999-09-14 International Business Machines Corporation Configurator object
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6418483B2 (en) * 1997-08-14 2002-07-09 International Business Machines Corporation Method of locating software objects in different containers
US6393481B1 (en) 1997-10-06 2002-05-21 Worldcom, Inc. Method and apparatus for providing real-time call processing services in an intelligent network
US6594355B1 (en) 1997-10-06 2003-07-15 Worldcom, Inc. Method and apparatus for providing real time execution of specific communications services in an intelligent network
US6418461B1 (en) 1997-10-06 2002-07-09 Mci Communications Corporation Intelligent call switching node in an intelligent distributed network architecture
US7024450B1 (en) * 1997-10-06 2006-04-04 Mci, Inc. Method and apparatus for deploying service modules among service nodes distributed in an intelligent network
US6804711B1 (en) 1997-10-06 2004-10-12 Mci, Inc. Method and apparatus for managing call processing services in an intelligent telecommunication network
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6425005B1 (en) * 1997-10-06 2002-07-23 Mci Worldcom, Inc. Method and apparatus for managing local resources at service nodes in an intelligent network
US6363411B1 (en) 1998-08-05 2002-03-26 Mci Worldcom, Inc. Intelligent network
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6957427B1 (en) * 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
US6519652B1 (en) * 1997-11-13 2003-02-11 Electronic Data Systems Corporation Method and system for activation and deactivation of distributed objects in a distributed objects system
CN1298514A (zh) 1998-02-26 2001-06-06 太阳微系统公司 确定性散列识别远程方法的方法和系统
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6173439B1 (en) * 1998-03-11 2001-01-09 International Business Machines Corporation Interface mechanism and method for accessing non-object oriented data from within an object oriented framework
US6332023B1 (en) 1998-06-04 2001-12-18 Mci Communications Corporation Method of and system for providing services in a communications network
US7233978B2 (en) * 1998-07-08 2007-06-19 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7103640B1 (en) * 1999-09-14 2006-09-05 Econnectix, Llc Network distributed tracking wire transfer protocol
US6289012B1 (en) 1998-08-03 2001-09-11 Instanton Corporation High concurrency data download apparatus and method
US6788649B1 (en) 1998-08-03 2004-09-07 Mci, Inc. Method and apparatus for supporting ATM services in an intelligent network
GB2341951A (en) * 1998-09-22 2000-03-29 Ibm Thin-client remote object execution
US6862733B1 (en) * 1998-11-19 2005-03-01 Unisys Corporation Generic method for programmatically locating and executing any application
US6477569B1 (en) 1998-11-20 2002-11-05 Eugene Sayan Method and apparatus for computer network management
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US6438590B1 (en) 1999-04-13 2002-08-20 Hewlett-Packard Company Computer system with preferential naming service
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6842841B1 (en) 1999-09-21 2005-01-11 Storage Technology Corporation Method and system for dynamically selecting tape drives to connect with host computers
US6609158B1 (en) * 1999-10-26 2003-08-19 Novell, Inc. Component architecture in a computer system
US20020052979A1 (en) * 2000-03-31 2002-05-02 Jochen Kappel Object to object communication system and method
US20020087341A1 (en) * 2000-03-31 2002-07-04 Jochen Kappel Customer care and billing system
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6760815B1 (en) 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US6907395B1 (en) 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US7093288B1 (en) 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US6915338B1 (en) * 2000-10-24 2005-07-05 Microsoft Corporation System and method providing automatic policy enforcement in a multi-computer service application
US7296275B2 (en) 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US7178143B2 (en) 2001-03-09 2007-02-13 Bea Systems, Inc. Multi-version hosting of application services
US7140012B2 (en) * 2001-03-09 2006-11-21 Bea Systems, Inc. Method and apparatus for multi-version updates of application services
US8019807B2 (en) * 2001-05-23 2011-09-13 Wireless Enterprise Solutions Technology Limited Method and system for communication between computer systems
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7546629B2 (en) * 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US20040107360A1 (en) * 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US8200818B2 (en) * 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
US20030066081A1 (en) * 2001-07-27 2003-04-03 Barone Samuel T. Command protocol for interactive TV production tools
US7222359B2 (en) * 2001-07-27 2007-05-22 Check Point Software Technologies, Inc. System methodology for automatic local network discovery and firewall reconfiguration for mobile computing devices
US7089559B2 (en) * 2001-07-31 2006-08-08 International Business Machines Corporation Method, apparatus, and program for chaining server applications
US7243374B2 (en) * 2001-08-08 2007-07-10 Microsoft Corporation Rapid application security threat analysis
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
EP1298525A1 (en) * 2001-09-26 2003-04-02 Sap Ag Interaction between computers with different object-oriented run-time environments
US20030120697A1 (en) * 2001-12-21 2003-06-26 Lockheed Martin Corporation System and method for adapting a software control in an operating environment
US7334215B2 (en) * 2001-12-21 2008-02-19 Lockheed Martin Corporation Manager for software controls in an operating environment
US6931409B2 (en) * 2002-01-08 2005-08-16 International Business Machines Corporation Method, apparatus, and program to efficiently serialize objects
WO2003073291A1 (en) * 2002-02-21 2003-09-04 Bea Systems, Inc. System and method for dynamic activation of enterprise java beans
WO2003073266A1 (en) * 2002-02-21 2003-09-04 Bea Systems, Inc. System and method for object activation
US7516447B2 (en) 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
US7343596B1 (en) 2002-03-19 2008-03-11 Dloo, Incorporated Method and system for creating self-assembling components
AU2003250665A1 (en) * 2002-07-19 2004-02-09 Mediatrix Telecom Inc. Distributed object-oriented messaging method and system
US6850943B2 (en) * 2002-10-18 2005-02-01 Check Point Software Technologies, Inc. Security system and methodology for providing indirect access control
US7165076B2 (en) * 2002-11-15 2007-01-16 Check Point Software Technologies, Inc. Security system with methodology for computing unique security signature for executable file employed across different machines
US7346890B1 (en) 2003-03-17 2008-03-18 Dloo, Incorporated Method and system for creating linkable programming languages
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
US20050028151A1 (en) * 2003-05-19 2005-02-03 Roth Steven T. Module symbol export
WO2004105908A2 (en) * 2003-05-23 2004-12-09 Mattel, Inc. Toy vehicle
US7788726B2 (en) * 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
FI115930B (fi) * 2003-07-28 2005-08-15 Nolics Oy Olioiden ryhmitteleminen oliopohjaisessa järjestelmässä
JP2005182419A (ja) * 2003-12-18 2005-07-07 Toshiba Solutions Corp コンポーネント処理システム及びコンポーネント処理方法
US8281114B2 (en) * 2003-12-23 2012-10-02 Check Point Software Technologies, Inc. Security system with methodology for defending against security breaches of peripheral devices
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US8136149B2 (en) * 2004-06-07 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology providing verified secured individual end points
US7925727B2 (en) * 2004-07-29 2011-04-12 Nortel Networks Limited Method and apparatus for efficient communication of management data in a telecommunications network
US7627896B2 (en) * 2004-12-24 2009-12-01 Check Point Software Technologies, Inc. Security system providing methodology for cooperative enforcement of security policies during SSL sessions
US7207112B2 (en) * 2005-01-12 2007-04-24 Wen-Ya Yeh Combination hairdressing scissor assembly
DE102005021749A1 (de) * 2005-05-11 2006-11-16 Fachhochschule Dortmund Verfahren und Vorrichtung zur programmgesteuerten Informationsverarbeitung
TWI272800B (en) * 2005-06-22 2007-02-01 Inventec Multimedia & Telecom Network phone apparatus
US7660789B2 (en) * 2005-07-01 2010-02-09 Microsoft Corporation Entity agent
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US20090106781A1 (en) * 2007-10-23 2009-04-23 Reed Benjamin C Remote call handling methods and systems
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US9578030B2 (en) 2011-02-07 2017-02-21 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
US8806569B2 (en) * 2011-02-07 2014-08-12 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
US9641592B2 (en) * 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9348672B1 (en) * 2015-12-07 2016-05-24 Amazon Technologies, Inc. Singleton coordination in an actor-based system
US9921878B1 (en) 2015-12-07 2018-03-20 Amazon Technologies, Inc. Singleton coordination in an actor-based system
US11175802B2 (en) * 2018-09-21 2021-11-16 Sap Se Configuration object deletion manager

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126457A (ja) * 1985-11-27 1987-06-08 Fujitsu Ltd 分散デ−タ処理方式
JPH01169533A (ja) * 1987-12-24 1989-07-04 Fujitsu Ltd オブジェクト指向プログラミング方式
JPH036742A (ja) * 1989-05-17 1991-01-14 Internatl Business Mach Corp <Ibm> フオールト・トレラント・データ処理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1184015B (it) * 1985-12-13 1987-10-22 Elsag Sistema multiprocessore a piu livelli gerarchici
US5146559A (en) * 1986-09-29 1992-09-08 Hitachi, Ltd. System for recognizing program constitution within a distributed processing system by collecting constitution messages generated by different processors
US5179715A (en) * 1987-03-11 1993-01-12 Toyo Communication Co., Ltd. Multiprocessor computer system with process execution allocated by process managers in a ring configuration
JPS647231A (en) * 1987-06-30 1989-01-11 Toshiba Corp Parallel processing device for object directional system
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
AU607795B2 (en) * 1987-08-21 1991-03-14 Eastman Kodak Company Data integration by object management
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5088032A (en) * 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US5079695A (en) * 1988-04-25 1992-01-07 Hewlett-Packard Company Object management facility which includes a snapshot facility for providing data transfer between two objects
EP0346801B1 (de) * 1988-06-17 1996-12-27 Siemens Aktiengesellschaft Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
US5136712A (en) * 1989-06-29 1992-08-04 Digital Equipment Corporation Temporary object handling system and method in an object based computer operating system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126457A (ja) * 1985-11-27 1987-06-08 Fujitsu Ltd 分散デ−タ処理方式
JPH01169533A (ja) * 1987-12-24 1989-07-04 Fujitsu Ltd オブジェクト指向プログラミング方式
JPH036742A (ja) * 1989-05-17 1991-01-14 Internatl Business Mach Corp <Ibm> フオールト・トレラント・データ処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793264A (ja) * 1993-09-10 1995-04-07 Sun Microsyst Inc クライアント側スタブインタプリタ
JPH10510036A (ja) * 1994-12-05 1998-09-29 ジェイムズ ボートマン,ピーター パイプ組立体
US5819279A (en) * 1995-04-27 1998-10-06 Fujitsu Limited Object data processing apparatus
JP2003177930A (ja) * 2001-09-04 2003-06-27 Samsung Electronics Co Ltd プロセス間通信方法及び装置

Also Published As

Publication number Publication date
JP3573762B2 (ja) 2004-10-06
EP0501610A2 (en) 1992-09-02
US5475817A (en) 1995-12-12
DE69228621D1 (de) 1999-04-22
EP0501610A3 (en) 1993-06-09
DE69228621T2 (de) 1999-07-22
EP0501610B1 (en) 1999-03-17

Similar Documents

Publication Publication Date Title
JP3573762B2 (ja) オブジェクト指向分散コンピューティング方法
US7734747B2 (en) Dynamic lookup service in a distributed system
US5475819A (en) Distributed configuration profile for computing system
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US6604127B2 (en) Dynamic lookup service in distributed system
AU638138B2 (en) Methods and apparatus for implementing data bases to provide object-oriented invocation of applications
AU628753B2 (en) Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5619710A (en) Method and apparatus for object-oriented invocation of a server application by a client application
US5740362A (en) Management of network distributed agents in a distributed computing environment
JP4464525B2 (ja) 作業負荷によって管理されるクライアント/サーバ・データ処理システムにおける集中アフィニティ維持装置および方法
US8407718B2 (en) Method and apparatus for composite user interface generation
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
EP0932099A2 (en) Dynamic modification of a database management system
EP0735470A1 (en) Method and apparatus for determining the type of an object in a distributed object system
JPH0675888A (ja) 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置
JPH0997204A (ja) 分散オブジェクト操作環境において透明性のある不変性を提供する方法および装置
JP2002041488A (ja) クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品
KR20010041294A (ko) 분산 시스템에서 동적 룩업 서비스
Grimshaw et al. Architectural support for extensibility and autonomy in wide-area distributed object systems
US6292824B1 (en) Framework and method for facilitating client-server programming and interactions
Dechamboux et al. The Arias distributed shared memory: An overview
US7073033B2 (en) Memory model for a run-time environment
Bettini et al. Mobile applications in X-KLAIM
Emmerich OMG/CORBA: An object-oriented middleware
WO2000077619A2 (en) Dynamic lookup service in a distributed system

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040630

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees