JPH0713767A - オブジェクトの実行方法および装置 - Google Patents

オブジェクトの実行方法および装置

Info

Publication number
JPH0713767A
JPH0713767A JP6109838A JP10983894A JPH0713767A JP H0713767 A JPH0713767 A JP H0713767A JP 6109838 A JP6109838 A JP 6109838A JP 10983894 A JP10983894 A JP 10983894A JP H0713767 A JPH0713767 A JP H0713767A
Authority
JP
Japan
Prior art keywords
server
communication
address space
client
data
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
JP6109838A
Other languages
English (en)
Other versions
JP3365576B2 (ja
Inventor
Dawn E Bezviner
ドーン・エライザ・ベズヴィナー
Heydon Coner Michael
マイケル・ヘイドン・コナー
Kevin J Greene
ケヴィン・ジョン・グリーン
Scott Danforth
スコット・ダンフォース
Elizabeth Schepler Erin
エリン・エリザベス・シェプラー
Gregori Smith Mark
マーク・グレゴリー・スミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0713767A publication Critical patent/JPH0713767A/ja
Application granted granted Critical
Publication of JP3365576B2 publication Critical patent/JP3365576B2/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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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)

Abstract

(57)【要約】 【目的】 異なるアドレス空間にあるオブジェクトを呼
び出すための効率のよい通信を提供する。 【構成】 本発明は、データとプロシージャを含むオブ
ジェクトを起動し実行するための方法を含み、この方法
は、第1のアドレス空間内の第1のオブジェクトによっ
て、第2のアドレス空間内のプロセスから第1のアドレ
ス空間内の第2のオブジェクトへ通信をリレーするステ
ップと、リレーされた通信に応答して、データとプロシ
ージャを含む第3のオブジェクトを第2のオブジェクト
によって起動するステップと、リレーされた通信に応答
して、起動された第3のオブジェクトによって動作を実
行するステップを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理システムに関
し、さらに具体的には、異なるアドレス空間にあるオブ
ジェクトを呼び出すための通信に関するものである。
【0002】関連特許出願には、"METHOD AND APPARATU
S FOR UTILIZING PROXY OBJECTS TOCOMMUNICATE WITH T
ARGET OBJECTS" と題する、米国特許出願第77219
号がある。
【0003】
【従来の技術】データ処理システム用のプログラム開発
はこれまで時間のかかる仕事であった。もっと効率的な
開発再利用と新たなソフトウェア・プログラミングのカ
ストマイズを可能にする有望な新技術として、オブジェ
クト指向プログラミング(OOP)が出現した。オブジ
ェクト指向プログラミングにより、ソフトウェア開発の
重点は機能の分解から、データと機能の両方をカプセル
化する、「オブジェクト」と呼ばれるソフトウェアの単
位の認識へと移行する。その結果、プログラムはその維
持および機能強化が一層容易になる。
【0004】しかし、オブジェクト指向技術は有望であ
るにもかかわらず、これまでのところ主要な市販のソフ
トウェア製品には普及していない。その理由の一部は、
オブジェクト指向プログラミングを使用する際に開発者
が直面しなければならない障害にある。開発者が直面し
なければならない第1の障害は、どのオブジェクト指向
プログラミング言語を使用するかの選択である。オブジ
ェクト指向プログラミング概念の初期の表現は、各々O
OPのある特定の側面を利用するように設計された、ツ
ールキットおよび言語の創造に集中していた。SmallTal
k等のいわゆる純粋なオブジェクト指向言語は、開発者
が提供された環境で働く限りは円滑かつ確実に機能する
実行時環境を使用する。しかし、異質の環境と対話する
ときは、オブジェクトをデータ構造にしなければならな
いが、そうするとカプセル化およびコード使用に関して
オブジェクトが提供する利点が保持されなくなる。C+
+等のハイブリッド言語は実行時支援は余り必要としな
いが、オブジェクトを提供するプログラムと、それらを
使用するクライアントの間に強固な結合をもたらす可能
性がある。強固な結合とは、ライブラリに対して簡単な
変更が行われるときはクライアント・プログラムをコン
パイルし直さねばならないことを意味する。第2の障害
は、複数の異なるオブジェクト指向言語の間の概念上の
不一致である。すなわち、ツールキットは、どのような
オブジェクトであるか、またそれらのオブジェクトがど
のように働くかについて、異なる両立しないモデルを包
含している。特定の言語またはツールキットを使って開
発されたソフトウェアは、適用範囲が限定される。ある
言語で実施されたプログラムを別の言語で使用すること
はほとんどできない。
【0005】システム・オブジェクト・モジュール/モ
デル(SOM)は、種々のオブジェクト指向手法を統合
するように設計された、オブジェクト指向プログラムの
パッケージ化および操作を確立するための新しいオブジ
ェクト指向技術である。SOMでは、オブジェクト・ク
ラスのインタフェースが、それらがサポートする方式の
名前、復帰タイプ、パラメータ・タイプ等と共に、イン
タフェース定義言語(IDL)と呼ばれる標準言語で指
定される。オブジェクト・クラスの実際の実施は、開発
者が選んだどのようなプログラミング言語ででも行うこ
とができる。好ましいプログラミング言語は必ずしもオ
ブジェクト指向言語である必要はなく、C言語等の手続
き言語でもよい。したがって、オブジェクト指向プログ
ラミングの利点を非オブジェクト指向プログラミング言
語のプログラムにまで及ぼすことができる。SOMは、
インターナショナル・ビジネス・マシーンズ・コーポレ
イション(IBM)の刊行物であるOS2.20 SOM Guide a
nd Referenceでさらに詳細に説明されている。
【0006】
【発明が解決しようとする課題】さらに、標準OOPシ
ステムを拡張した分散OOPモデルもある。標準OOP
システムは通常、オブジェクトを使用または呼び出すプ
ロセスと同じアドレス空間内のオブジェクトを使用する
か、またはこれらのオブジェクトを呼び出すことしかで
きない。すなわち、プロセスは通常、他のプロセスが同
じホスト・コンピュータ上に置かれている場合も異なる
ホスト・コンピュータ上に置かれている場合も含めて、
他のプロセス内に置かれたオブジェクトにアクセスする
ことはできない。しかし、分散OOPシステムは、同じ
ホスト・システム内または他のホスト・システム内に置
かれたアドレス空間を含めてリモート・アドレス空間に
置かれたオブジェクトにプロセスがアクセスすることを
可能にする。そのような分散OOPシステムの代表的な
ものは現在、共通オブジェクト・リクエスト・ブローカ
・アーキテクチャ(CORBA)と呼ばれるものであ
り、the Object Management Group and X Open から刊
行された The Common Object Request Broker: Archite
cture and Specification に記載されている。このアー
キテクチャは、通常はコンパイル中に必要な通信経路を
形成することにより、他のアドレス空間内のオブジェク
トに対してプロセスが呼出しを行うことを可能にする。
【0007】
【課題を解決するための手段】本発明は、データとプロ
シージャ(メソッド)を含むオブジェクトを起動し実行
するための方法を含み、この方法は、第1のアドレス空
間内の第1のオブジェクトによって、第2のアドレス空
間内のプロセスから第1のアドレス空間内の第2のオブ
ジェクトへの通信をリレー(中継)するステップと、リ
レーされた通信に応答して、データとプロシージャを含
む第3のオブジェクトを第2のオブジェクトによって起
動するステップと、リレーされた通信に応答して、起動
された第3のオブジェクトによって動作を実行するステ
ップを含む。さらに、本発明は、データとプロシージャ
を含むリモート・オブジェクトを起動し実行するための
装置で構成され、この装置は、第2のアドレス空間内の
プロセスから第1のアドレス空間内の第2のオブジェク
トへの通信をリレーするための第1のアドレス空間内の
第1のオブジェクトと、リレーされた通信に応答して、
データとプロシージャを含む第3のオブジェクトを第2
のオブジェクト内で起動するための手段と、リレーされ
た通信に応答して、起動された第3のオブジェクト内で
動作を実行するための手段を含む。
【0008】
【実施例】本発明は複数の異なるオペレーティング・シ
ステムのもとで、種々のコンピュータ上、またはコンピ
ュータの集合体上で実施することができる。コンピュー
タは、例えば、パーソナル・コンピュータ、ミニコンピ
ュータ、メインフレーム・コンピュータ、または他のコ
ンピュータの分散ネットワーク内で稼動するコンピュー
タでよい。コンピュータの具体的な選択はディスクおよ
びディスク記憶装置の要件によってのみ限定されるが、
IBM社のPS/2シリーズのコンピュータを本発明で
使用することができる。IBM社のPS/2シリーズの
コンピュータに関する詳しい情報については、Technica
l Reference Manual Personal Systems/2 Model 50, 60
Systems、IBM資料番号68X2224、注文番号S
68X−2224、およびTechnical Reference Manual
Personal Systems/2 (Model 80)、IBM資料番号68
X2256、注文番号S68X−2254を参照された
い。IBM社のPS/2パーソナル・コンピュータが稼
働できるオペレーティング・システムの1つは、IBM
社のOS/2 2.0である。IBM社のOS/2
2.0オペレーティング・システムに関する詳しい情報
については、OS/2 2.0 Technical Library, Programmin
g Guide, Vols. 1、2、3、バージョン2.00、注文番
号10G6261、10G6495、10G6494を
参照されたい。
【0009】別の態様では、コンピュータ・システム
は、AIXオペレーティング・システム上で動作するI
BM社のRISCシステム/6000シリーズのコンピ
ュータでよい。RISCシステム/6000の種々のモ
デルはIBM社の多くの刊行物、例えば、RISC System/
6000, 7073 and 7016 POWERstation and POWERserver H
ardware Technical Reference、注文番号SA23−2
644−00に記載されている。AIXオペレーティン
グ・システムはGeneral Concepts and Procedures--AIX
Version 3 for RISC System/6000、注文番号SC23
−2202−00、並びにIBMのその他の刊行物に記
載されている。
【0010】図1は、本発明の好ましい一実施例で使用
される典型的なデータ処理システム100のブロック・
ダイヤグラムである。データ処理システムは、コンピュ
ータ・ボックス105内の主記憶装置120に結合され
た主演算処理装置110を備え、入力装置130および
出力装置140が主演算処理装置110に接続されてい
る。主演算処理装置110は1台または複数の演算処理
装置でよい。入力装置130は、キーボード、マウス、
タブレットまたはその他の種類の入力装置でよい。出力
装置140としては、テキスト・モニタ、プロッタまた
はその他の種類の出力装置がある。主演算処理装置はま
た、図形アダプタ200を介して図形表示装置等の図形
出力装置210に接続することができる。図形アダプタ
200はアダプタ・スロット160Aに設けることがで
きる。図形アダプタ200は、バス150を介して主演
算処理装置110から図形に関する命令を受け取って、
主演算処理装置からの所望の図形出力を提供する。モデ
ムまたはその他の通信アダプタ250およびハード・デ
ィスク255をスロット160Cおよび160Dに設け
て、バス150を介して主演算処理装置110との通信
を提供することもできる。モデム250は通信回線26
0を介して他のデータ処理システム270と通信するこ
とができる。磁気ディスケットやコンパクト・ディスク
等、コンピュータによる読取りが可能な交換可能媒体2
90をディスク駆動機構やCD−ROM(コンパクト・
ディスク読取り専用メモリ)駆動機構等の入出力装置2
85に挿入することができる。データは、入出力制御装
置280の制御下で入出力装置によって交換可能媒体か
ら読み取られ、または媒体に書き込まれる。入出力制御
装置はスロット160Eおよびバス150を介して主演
算処理装置と通信する。主記憶装置120、ハード・デ
ィスク255および交換可能媒体290は全て、演算処
理装置110による処理のためデータを記憶するための
記憶装置と呼ばれる。本発明の好ましい実施態様の1つ
は、主記憶装置120にあるコード・モジュール形式の
複数の命令セットとしてである。コンピュータ・システ
ムによって必要とされるまで、これらの命令セットは別
のコンピュータ・メモリ、例えば、ハード・ディスク装
置、CD−ROMで最終的に使用する場合は光ディス
ク、フロッピー・ディスク装置で最終的に使用する場合
はフロッピー・ディスク等の取外し可能記憶装置に記憶
することができる。
【0011】上述のSOMは、米国特許出願第8056
68号を基礎とする特願平4−325175号にさらに
詳しく記載されている。本願はSOMは、本発明を理解
するのに必要な範囲でのみ考察するが、SOMの幾つか
の態様は言及する価値がある。SOMおよびその他のオ
ブジェクト指向システム内では、各オブジェクトは特定
のデータ属性、およびデータに作用するメソッドを有す
る。データはオブジェクトによって「カプセル化」され
ると言われ、このオブジェクトに属するメソッドによっ
てのみ変更することができる。通常はメッセージをオブ
ジェクトに送り、所望のメソッドを識別し、必要な引数
を供給することによりメソッドが呼び出される。オブジ
ェクトをさらにサブクラス化して新たなオブジェクトを
作成することができる。「継承」とは、既存のオブジェ
クトからメソッドやデータ構造等の全ての特性を継承す
る新たなオブジェクトを、既存のオブジェクトから導出
できる能力をいう。この新しいオブジェクトは、既存の
クラスの既存のメソッドに追加されるまたは既存のメソ
ッドに置き換わる新しいメソッド等の固有の特徴を有す
ることができる。新しいサブクラスは、このサブクラス
をその既存の基本クラスから区別する機能およびデータ
を指定するだけでよい。したがって、ソフトウェア開発
者は新しいコード全体を開発する必要はなく、ソフトウ
ェアの新しい固有な特徴を指定しさえすればよい。
【0012】分散SOM(DSOM)はシステム・オブ
ジェクト・モジュール/モデル(SOM)の拡張であ
る。SOMが、クライアント・プロセスと同じアドレス
空間内に置かれたオブジェクトを使用する、クライアン
ト・プロセス向けの単一アドレス空間オブジェクト・モ
デルであるのに対し、DSOMでは、あるアドレス空間
のクライアント・プロセスが他のアドレス空間にあるタ
ーゲット・オブジェクトに対する呼出しを行うことが可
能である。DSOMは、オブジェクトの記憶位置をクラ
イアント・プロセスにとって透過にすることにより、S
OMの機能を増大させる。すなわち、クライアント・プ
ロセスは、クライアント・プロセスと同じアドレス空間
に置かれたオブジェクトにアクセスするために使用され
るのと同じ機構を使用して、リモート・オブジェクトに
アクセスする。DSOMはクライアント・プロセスから
の要求をターゲット・オブジェクトに送り、ターゲット
・オブジェクトからの結果をクライアント・プロセスに
返す。
【0013】図2は、本発明の好ましい一実施例によ
る、主記憶装置内の種々のプロセスによって使用される
アドレス空間を示すブロック・ダイヤグラムである。主
記憶装置120Aおよび120Bは通常、2台の異なる
ホスト・コンピュータ用のランダム・アクセス・メモリ
(RAM)である。各主記憶装置は、実行中に種々のプ
ロセスが使用できるアドレス空間291、292、29
3、295、296を有する。これらのアドレス空間を
使用するプロセス(各プロセスは1つのアドレス空間を
割り振られている)は、クライアント・プロセスでもサ
ーバ・プロセスでもよい。一般に、クライアント・プロ
セスとは、そのアドレス空間にないオブジェクトとの通
信要求を開始するプロセスである。さらに、サーバ・プ
ロセスは一般に、ターゲット・オブジェクトを含み、ク
ライアント・プロセスからの通信要求に応答するプロセ
スである。さらに、サーバ・プロセスは、そのアドレス
空間内にないオブジェクトとの通信要求を開始する場合
には、クライアント・プロセスになることができ、クラ
イアント・プロセスは、別のクライアント・プロセスの
ターゲット・オブジェクトを含む場合に、サーバ・プロ
セスになることができる。
【0014】図3は、好ましい分散オブジェクト・シス
テムによって使用される主要構成要素のブロック・ダイ
ヤグラムである。分散オブジェクト・システム上で実行
されるクライアント・プロセス300およびサーバ・プ
ロセス305が示されている。図2に関して上述したよ
うに、クライアント・プロセスとサーバ・プロセスは異
なるアドレス空間で実行されるものであり、それぞれ異
なるホスト・システム上にあってもよい。分散オブジェ
クト・システムは、クライアント・プロセスとサーバ・
プロセスの間の必要な通信を、必要とされるときに提供
する。
【0015】分散オブジェクト・システムの中枢部はD
SOMランタイム機能310である。DSOMランタイ
ム機能310は、図3に示す種々の要素の間の全ての通
信を処理する。DSOMランタイム機能310は、クラ
イアント・インタフェース320を介してクライアント
300と通信し、オブジェクト・アダプタ325を介し
てサーバ305と通信する。クライアント・インタフェ
ース320は、種々のクライアント・プロセスにとって
既知のまたは標準のインタフェースを提供する。好まし
い実施例では、クライアント・インタフェースは共通オ
ブジェクト・リクエスト・ブローカ・アーキテクチャ
(CORBA)およびシステム・オブジェクト・モデル
(SOM)の規格に従う。オブジェクト・アダプタ32
5は、種々のサーバ・プロセスにとって既知のまたは標
準のインタフェースを提供する。好ましい実施例では、
オブジェクト・アダプタもCORBAおよびSOMの規
格に従う。その結果、好ましいDSOMランタイム機能
310はこれらの既知の規格と通信し、これらの既知の
規格に対して書かれたアプリケーションに対するサービ
スを提供することにより、オープン・アーキテクチャを
提供する。さらに、クライアント・インタフェースおよ
びオブジェクト・アダプタを追加することにより、他の
アドレス空間内の、おそらくは他のホスト・システム上
の他のクライアント・プロセスおよびサーバ・プロセス
をサポートすることができる。好ましい実施例では、D
SOMランタイム機能とそのサービスおよびユーティリ
ティのある部分または全体が各ホスト・システムに常駐
する。この中には、ネットワークを介するホスト間の通
信を処理するために必要な要素が含まれる。説明を容易
にするため、DSOMランタイム機能とそのサービスお
よびユーティリティは、透過式に互いに通信する複数の
分散したコピーとしてではなく、単一のエンティティと
して示す。
【0016】DSOMランタイム機能310は、種々の
サービス・ユーティリティを使用する。これらのサービ
ス・ユーティリティには、認証サービス330、起動サ
ービス340、ロケーション・サービス350および配
列(marshalling)サービス360が含まれる。認証サ
ービス330は、DSOMランタイム機能310のサー
ビスを要求するクライアント・プロセスの識別を確認す
る。これは、種々のサーバ・プロセスに存在するオブジ
ェクトに対するアクセスまたは通信を含めてDSOMラ
ンタイム機能の不正使用を防ぐためのものである。起動
サービス340は、種々のサーバ・プロセスがクライア
ント・プロセスとの通信に必要とされるオブジェクトを
含むとき、これらのサーバ・プロセスを起動する責任を
負う。ロケーション・サービス350は、所望のサーバ
がどのホスト上に置かれているかを特定する際にDSO
Mランタイム機能310を助ける。配列サービス360
は、所望の通信をパッケージ化した後、そのパッケージ
をIPCベースのトランスポート362またはソケット
・ベースのトランスポート364のいずれか一方に送る
ことにより、プロセス間の通信を処理する。
【0017】インタフェース・リポジトリ370は、他
のホストまたはプロセス上に置かれたオブジェクトとど
のように通信するかに関する情報を提供するデータベー
スである。集中データベースとして、インタフェース・
リポジトリ370は、種々のオブジェクトとの通信を実
行するため、分散オブジェクト・システムの種々の要素
に種々の情報を提供することができる。例えば、配列サ
ービス360は、配列サービスが通信を試みようとする
別のホスト上の種々のオブジェクトに関する情報に関し
て、インタフェース・リポジトリ370に照会すること
ができる。インプリメンテーション・リポジトリ380
は、どのホストにサーバ・プロセスが存在できるかに関
する情報、並びに起動サービス340によるそれらのサ
ーバ・プロセスの起動に必要なその他の情報を提供す
る、集中データベースである。インタフェース・リポジ
トリ370およびインプリメンテーション・リポジトリ
380はデータベースであるので、それらに対する呼出
しおよび更新は当技術で既知の多くの種類のデータベー
スの照会およびトランザクションの1つであってよい。
好ましい実施例では、インタフェース・リポジトリおよ
びインプリメンテーション・リポジトリはフラット・フ
ァイルである。インタフェース・リポジトリ370は、
リモート・オブジェクトを含むオブジェクトに対する呼
出しを行うのに必要な情報を含む。好ましい実施例で
は、この情報には、オブジェクトと通信するのに必要と
される形式およびデータ型を含む各オブジェクトについ
ての各種の呼出しのシグネチャ(signature)が含まれ
る。インプリメンテーション・リポジトリ380は、ク
ラスまたはその他の種類の属性によって使用可能な種々
の形式のオブジェクトのリスト、並びにターゲット・オ
ブジェクトをどのサーバと関連づけることが可能かにつ
いてのリストを含む。上述の分散オブジェクト・システ
ムの使用法について以下に説明する。
【0018】図4は、本発明の好ましい実施例に従って
代理オブジェクトを使用するために必要とされる種々の
要素を示すブロック・ダイヤグラムである。クライアン
ト・プロセス300は、クライアントによって指定され
た種々の属性に従ってサーバを探し出す責任をもつオブ
ジェクト・マネージャ400を含む。クライアント・プ
ロセス300はサーバ代理オブジェクト410およびス
タック代理オブジェクト420を使用して、サーバ・プ
ロセス305上に置かれたターゲット・サーバ・オブジ
ェクト430およびターゲット・スタック・オブジェク
ト440と通信する。これらの代理オブジェクトは、オ
ブジェクト・マネージャがローカル・アドレッシングを
使って、異なるアドレス空間にあるオブジェクトと通信
することを可能にする。これらの通信を行うため、イン
タフェース・リポジトリ370およびインプリメンテー
ション・リポジトリ380は以下に説明するように使用
される。さらに、クライアント・プロセスとサーバ・プ
ロセスの間に通信路を確立するためにデーモン(daemo
n)が使用される。インタフェース・リポジトリおよび
インプリメンテーション・リポジトリのコピーは各ホス
ト上に記憶するか、あるいは共通メモリまたは分散ファ
イル・システムに記憶することができる。さらに、デー
モンのコピーが各ホスト・システム上で実行されねばな
らない。これらの要素の使用法は図5および図9に関し
て以下にさらに詳しく説明する。
【0019】図5ないし図8は、サーバ・プロセスとの
通信をブートストラップし、サーバ・プロセス内のオブ
ジェクトを起動して呼び出すクライアント・プロセスを
示すブロック・ダイヤグラムである。サーバ・プロセス
はクライアント・プロセスとは別のアドレス空間を有す
るものであり、別のホスト上に置くことができる。
【0020】図5は、所望のターゲット・オブジェクト
を含むサーバ・プロセスに対する通信を管理するサーバ
代理オブジェクトをクライアント・プロセスがブートス
トラップする様子を示す。起動時あるいは処理中に、ク
ライアント・プロセス300は、異なるアドレス空間に
あったり別のホスト上にあったりする場合のあるプリン
タ・オブジェクト等の種々のオブジェクトに対するアク
セスを必要とすると判定することができる。好ましい実
施例では、全てのクライアント・プロセスは、クライア
ントによって指定された種々の属性に従ってサーバを探
し出す責任を負うSOMD_ObjMgr(分散SOM
オブジェクト・マネージャ)を有する。クライアント・
プロセスによって使用される典型的な属性は、オブジェ
クト・クラス(プリンタのタイプ等)である。所望の機
能を実行するためにオブジェクトが必要とされると判定
すると、クライアント・プロセスはSOMDFindA
nyServerByClass(クラスによるサーバ
探索)呼出しにより所望のオブジェクトに関してSOM
D_ObjMgrに照会する。クライアント・プロセス
からの呼出しを受け取ると、SOMD_ObjMgrは
インプリメンテーション・リポジトリ380に照会し
て、そのクラスによってそのようなオブジェクトをサポ
ートするサーバがあるかどうか判定する。ある場合は、
ターゲット・オブジェクトを含むサーバのSOMDサー
バ・オブジェクトを表すSOMDサーバ代理オブジェク
トが既に存在している場合を除いて、SOMD_Obj
Mgrはそのようなオブジェクトをクライアント・アド
レス空間に作成する。好ましい実施例では、各サーバ・
プロセスは唯1つのSOMDサーバ・オブジェクトを有
するので、クライアント・プロセスが通信しようとする
サーバ・プロセス毎にSOMDサーバ代理オブジェクト
が1つだけある。この時点では、リモート・サーバは作
動していない場合がある。しかし、クライアント・プロ
セスはこのとき、必要なときにサーバ・プロセスを起動
し呼び出すための基本インタフェース・ツールを有して
いる。その結果、クライアント・プロセスは、必要とさ
れるまで、それらのサーバ・プロセスを呼び出し起動す
るというオーバヘッドを必要とせずに、所望のサーバ・
プロセスに対するアクセスを開始していることができ
る。
【0021】好ましい実施例では、汎用代理クラス(好
ましい実施例ではSOMDクライアント代理と呼ばれ
る)を継承するクラスのインスタンスおよびターゲット
・オブジェクトのインタフェースを作成することによ
り、代理オブジェクトが構成される。このインタフェー
ス情報はインタフェース・リポジトリから得ることがで
きる。代理オブジェクト内では、メソッドまたは呼出し
テーブルの、ターゲット・オブジェクトの呼出しに使用
される部分が、SOMオブジェクトに対する呼出しの動
的構成を可能にするSOMDクライアント代理から継承
された既知の汎用ディスパッチ機構(somdディスパ
ッチ機構と呼ぶことが好ましい)を指すポインタで置き
換えられる。この汎用ディスパッチ機構は一般にSOM
における動的メソッド呼出しと呼ばれる。標準のsom
dディスパッチ機構は、SOMDクライアント代理内で
は、代理に対する呼出しをリモート・オブジェクトに向
け直すための汎用機構でオーバライドされている。
【0022】図6は、クライアント・プロセスが、SO
MDサーバ代理を介して、ターゲット・オブジェクトを
含むサーバ・プロセスとの通信を開始するための呼出し
を行う様子を示すブロック・ダイヤグラムである。代理
オブジェクトはサーバ・プロセスとの通信をまだ確立し
ていないので、代理オブジェクトはインプリメンテーシ
ョン・リポジトリに照会して、所望のサーバ・プロセス
がどのホストにあるかを突き止め、そのホスト上のデー
モンとどのように通信するかを決定する。代理オブジェ
クトは次にそのサーバ・プロセスに対する結合(bindin
g)を得るため、そのホスト上に置かれたデーモンとの
通信を確立する。デーモンは、サーバ・プロセスが既に
起動されているかどうか判定する。起動されている場合
は、デーモンは直ちに結合をSOMDサーバ代理オブジ
ェクトに返す。しかし、サーバ・プロセスがまだ起動さ
れていない場合は、デーモンはインプリメンテーション
・リポジトリと通信して、サーバ・プロセスを起動する
手段を決定する。それが得られると、デーモンはサーバ
・プロセスを起動する。起動された後、サーバは、SO
MDサーバ・オブジェクトおよびSOMオブジェクト・
アダプタ(SOMOA)を含むことが好ましい。サーバ
・プロセスは次に、それが起動され作動していることを
SOMOAに知らせる。SOMOAは次にこのことをデ
ーモンに伝え、デーモンは次に、結合がサーバ・プロセ
スに対するものであることを代理SOMDサーバに知ら
せる。その結果、クライアント・プロセスはサーバ・プ
ロセスを起動させ、サーバ・プロセスとの直接通信を処
理するのに必要な結合を得ることになる。
【0023】図7は、SOMDサーバ代理オブジェクト
が、クライアント・プロセスによる代理オブジェクトに
対する最初の呼出しの結果、サーバ・プロセス内のオブ
ジェクトを呼び出す様子を示すブロック・ダイヤグラム
である。SOMDサーバ代理オブジェクトは、サーバ・
プロセス内のSOMOA(SOMオブジェクト・アダプ
タ)に対して作成要求を直接出す。SOMOAは次にこ
の通信をSOMDサーバ・オブジェクトに送る。SOM
Dサーバ・オブジェクトは次にサーバ・プロセス内で所
望のオブジェクト(本例ではCalcオブジェクト)を
生成する。SOMDサーバ・オブジェクトは次に、サー
バ・プロセス内でのオブジェクト生成の結果を、SOM
OAを介してクライアント・プロセスに伝える。SOM
Dサーバ代理は次に対応するCalc代理オブジェクト
をクライアント・プロセス内で生成させる。上記の結
果、クライアント・プロセスはこのときCalc代理オ
ブジェクトを介して、対応するCalcオブジェクトを
有する活動サーバ・プロセスに対する容易にアクセス可
能な通信を有する。
【0024】図8は、Calc代理オブジェクトがサー
バ・プロセスCalcオブジェクトに対する通信を提供
する様子を示すブロック・ダイヤグラムである。クライ
アント・プロセスは、小計等の演算を含むCalc代理
を呼び出す。Calc代理は次に要求メッセージをサー
バ・プロセスSOMOAに送る。SOMOAは次に要求
メッセージをSOMDサーバ・オブジェクトに送る。S
OMDサーバは次に実際の計算のため要求メッセージを
Calcオブジェクトに渡す。計算の結果は次に結果メ
ッセージの形でクライアント・プロセスCalc代理に
戻される。その結果、クライアント・プロセスがサーバ
・プロセスCalcオブジェクトに対する通信に気づく
ことなく、Calc代理が所望の演算を実行するように
クライアント・プロセスには見える。さらに、クライア
ント・プロセスは他のアドレス空間内のオブジェクトと
通信するため特別なツールを必要としない。
【0025】図9は、図5に関して上述したブートスト
ラップ動作に対応するフローチャートである。最初のス
テップ500で、ローカル・アドレス空間では使用可能
でないあるタイプまたはクラスのオブジェクトをクライ
アント・プロセスが必要とすると判定する。好ましい実
施例では、通常、この判定はクライアント・プロセスに
よって行われる。この判定は、クライアント・プロセス
の起動中またはクライアント・プロセスの実行中に行う
ことができる。いずれの場合も、この判定は本発明の好
ましい実施例によればクライアント・プロセスの実行時
に行われる。オブジェクト・クラスは、プリンタ、デー
タベースに対するアクセス等の多種類の資源の1つとす
ることができる。ステップ510で、クライアント・プ
ロセスが次にSOMDFindAnyServerByClass呼出しを生成し
て、ローカルのSOMD_ObjMgrオブジェクトに
発行する。上述のように、SOMD_ObjMgrは、
所望のクラスのオブジェクトを含むことができるサーバ
・プロセスを探し出すためにクライアント・プロセスに
よって使用される。ステップ520で、SOMD_Ob
jMgrが次に、所望のクラスのオブジェクトを含むサ
ーバに関してインプリメンテーション・リポジトリに照
会を行う。この照会は、どのサーバに所望のオブジェク
トがあるかを含む所望の情報を得るため、クライアント
・インタフェース320を介してインプリメンテーショ
ン・リポジトリ380に送られる。所望のターゲット・
オブジェクト用のサーバが見つからない場合は、クライ
アント・プロセスはそのことを知らされる。ステップ5
30で、所望のターゲット・オブジェクトが見つかった
場合は、DSOMランタイム機能はクライアント・プロ
セスに照会することにより、ターゲット・オブジェクト
を含むサーバと関連したSOMDサーバ代理オブジェク
トがクライアント・プロセスに既に存在しているかどう
か判定する。そのようなSOMDサーバ代理オブジェク
トがクライアント・プロセスで見つからない場合は、D
SOMランタイム機能は、ターゲット・オブジェクトを
含むサーバと関連したSOMDサーバ代理オブジェクト
をクライアント・プロセス内に形成する。DSOMラン
タイム機能は、インプリメンテーション・リポジトリか
ら得られた情報に基づいてインタフェース・リポジトリ
と通信することによってこれを行い、ターゲット・オブ
ジェクトを含むサーバに関するインタフェース情報を得
る。この情報は、要求に応じてターゲット・オブジェク
トを含むサーバとの通信が容易になるように、SOMD
サーバ代理オブジェクトに含まれる。新たなSOMDサ
ーバ代理オブジェクトが生成されたか、それとも既に存
在していたかにかかわらず、クライアント・プロセスは
次に、SOMDサーバ代理オブジェクトを指すポインタ
を含むターゲット・オブジェクトの可用性を知らされ
る。
【0026】好ましい実施例では、この時点では、サー
バが実行中であるか否かの判定はなされていない。さら
に、通信もサーバ・プロセスに送られていない。その結
果、ターゲット・オブジェクトを含むサーバへの通信経
路を含むSOMDサーバ代理オブジェクトをクライアン
ト・プロセス内に作成するために必要とされるオーバヘ
ッドが最少となる。
【0027】図10および図11は、図6および図7に
関して上述した起動動作および呼出し動作に対応するフ
ローチャートである。ステップ600で、クライアント
・プロセスがターゲット・オブジェクトを使用する必要
があると判定される。この判定は好ましい実施例では、
通常クライアント・プロセスによって行われる。この判
定はクライアント・プロセスの起動中、またはクライア
ント・プロセスの実行中に行うことができる。いずれの
場合も、この判定は本発明の好ましい実施例によればク
ライアント・プロセスの実行時に行われる。ステップ6
10で、クライアント・プロセスはSOMDサーバ代理
オブジェクトを介して、ターゲット・オブジェクトを含
むサーバに対する呼出しを行う。この呼出しは、呼出し
を実行するのに必要な情報を含むことができる。ステッ
プ620で、SOMDサーバ・オブジェクトはDSOM
ランタイム機能に照会して、ターゲット・オブジェクト
を含むサーバとの通信が既に行われていたかどうか判定
する。行われていた場合は、ステップ700に関して以
下で述べるように、SOMDサーバ代理オブジェクトは
直ちにその通信をサーバ・プロセスに渡す。そうでない
場合は、ステップ630で、DSOMランタイム機能は
ロケーション・サービスを使ってインプリメンテーショ
ン・リポジトリに照会して、サーバがどのホストに置か
れているかを見つける。ホスト位置を得ると、DSOM
ランタイム機能は次にホスト・デーモンと接触して所望
のサーバのネットワーク・ポート・アドレスを得る。ス
テップ650で、サーバが既に動作しているとデーモン
が判定した場合は、デーモンは以下のステップ690に
従ってサーバ・プロセスのポート・アドレスを返す。そ
うでない場合は、ステップ660で、デーモンはインプ
リメンテーション・リポジトリに照会して、サーバをど
のように起動するかを決定する。ステップ670で、デ
ーモンは次にサーバを起動する。好ましい実施例では、
サーバ・プロセスが起動されるとき、サーバ・プロセス
とデーモンの間の通信を処理するためのSOMオブジェ
クト・アダプタ(SOMOA)が生成される。このサー
バ起動機能は通常、デーモンによって実行される機能の
一種である。ステップ680で、起動されたサーバ・プ
ロセスがSOMDサーバ・オブジェクトを作成し、サー
バ・プロセスが通信の準備ができていることをSOMO
Aを介してデーモンに知らせる。ステップ690で、デ
ーモンは次にサーバ・プロセスのポート・アドレスをク
ライアント・プロセス内のSOMDサーバ代理オブジェ
クトに返す。
【0028】サーバ・プロセスが起動されたので、DS
OMランタイム機能はクライアント・プロセスからサー
バ・プロセスへの最初の呼出しを処理することができ
る。ステップ700で、DSOMランタイム機能はクラ
イアント・プロセスからの呼出しを上述のポート・アド
レスにあるサーバ・プロセスに伝える(リレーする)。
サーバ・プロセス内のSOMOAは次にこの呼出しを受
け取り、SOMDサーバ・オブジェクトに対する呼出し
を行う。SOMDサーバ・オブジェクトは次に呼出しを
実行する。例えば、SOMDサーバ・オブジェクトはサ
ーバ・プロセス内で所望のCalcオブジェクトを作成
することができる。しかし、SOMDサーバは、呼出し
クライアント・プロセスが希望する他の活動を実行する
ことができる。ステップ720で、SOMOAは次に呼
出しの結果をDSOMランタイム機能を介してSOMD
サーバ代理オブジェクトに返す。SOMDサーバ・オブ
ジェクトが呼出しを処理するため、サーバ・プロセス内
で新たなターゲット・オブジェクトを生成する場合は、
返送結果はサーバ・プロセス内の新たなターゲット・オ
ブジェクトに対する参照を含む。その場合は常に、ステ
ップ730で、返送結果で参照されているターゲット・
オブジェクトに対応する代理オブジェクトが次に生成さ
れる。この代理オブジェクトは、代理オブジェクトと、
それに対応するターゲット・オブジェクトの間の通信を
どのように処理するかに関する、インタフェース・リポ
ジトリからの情報を含む。
【0029】図12は、図8に関して上述したターゲッ
ト・オブジェクトに対する呼出し動作に対応するフロー
チャートである。最初のステップ800で、クライアン
ト・プロセスがローカル代理オブジェクトに対する呼出
しを行って、代理オブジェクトがある動作を実行するこ
とを要求する。ローカル代理オブジェクトは次にDSO
Mランタイム機能を介してサーバ・プロセス内のターゲ
ット・オブジェクトに対する呼出しを行う。ターゲット
・プロセスがまだ起動されていない場合は、上述のよう
に起動される。ステップ820で、サーバ・プロセス内
のSOMOAが呼出しを受け取る。ステップ830で、
SOMOAはターゲット・オブジェクトを指すローカル
・ポインタに関してSOMDサーバ・オブジェクトに質
問する。ステップ840で、SOMDサーバ・オブジェ
クトは必要な場合にターゲット・オブジェクトを起動
し、ローカル・ポインタをSOMOAに返す。ステップ
850で、SOMOAは次にSOMDサーバ・オブジェ
クトに対する呼出しを行い、クライアント・プロセスか
らの元の呼出しをターゲット・オブジェクトに送る。タ
ーゲット・オブジェクトは次に呼出しを実行し(この例
では、小計演算)、結果をSOMDサーバ・オブジェク
トを介してSOMOAに返す。ステップ860で、SO
MOAは次に呼出しの結果をDSOMランタイム機能を
介してクライアント・プロセス内のCalc代理オブジ
ェクトに返す。呼出しを処理するためにSOMDサーバ
・オブジェクトがサーバ・プロセス内で新たなターゲッ
ト・オブジェクトを生成する場合は、返送結果はサーバ
・プロセス内の新たなターゲット・オブジェクトに対す
る参照を含む。上述のように、新たなターゲット・オブ
ジェクトに対するどのような返送参照もステップ870
でDSOMランタイム機能によって変換される。この変
換は、インタフェース・リポジトリを使えれば、この参
照をクライアント・プロセス内の適当な代理オブジェク
トに変換することを含むはずである。
【0030】SOMDサーバ・オブジェクトは、SOM
OAが通信を受け取ってSOMDサーバに中継したのに
応答して、実行のためオブジェクトを起動し呼び出す。
通常、プロセス用の基本オブジェクト・アダプタ(BO
A)は、中間オブジェクトを使用せず、通信に応答して
オブジェクトを起動し呼び出す。SOMDサーバ・オブ
ジェクトを使って、他のアドレス空間からの通信に応答
してオブジェクトを起動し呼び出すことにより、ユーザ
は、SOMDサーバをサブクラス化し、あるいはオブジ
ェクト指向プログラミングの技術で周知の他の手法を用
いることで、容易に起動を変更し、プロセスを呼び出す
ことができる。
【0031】本欄のまとめとして、本発明の構成を以下
の通りに開示する。
【0032】1.データとプロシージャとを含むオブジ
ェクトを起動し実行するための方法において、第1のア
ドレス空間内の第1のオブジェクトによって、第2のア
ドレス空間内のプロセスから第1のアドレス空間内の第
2のオブジェクトへの通信をリレーするステップと、リ
レーされた通信に応答して、前記のデータとプロシージ
ャとを含む第3のオブジェクトを第2のオブジェクトに
よって起動するステップと、リレーされた通信に応答し
て、起動された第3のオブジェクトによって動作を実行
するステップとを含む方法。
【0033】2.上記1.に記載の方法において、上記
リレー・ステップが、リモート・システム上に置かれた
プロセスからネットワークを介して通信をリレーするス
テップを含む構成。
【0034】3.上記1.に記載の方法において、上記
第2のオブジェクトをサブクラス化するステップを含む
構成。
【0035】4.上記1.に記載の方法において、実行
された動作の結果を第2のオブジェクトに返すステップ
を含む構成。
【0036】5.上記4.に記載の方法において、前記
第1のオブジェクトによって、前記の返された結果を第
2のオブジェクトから前記プロセスにリレーするステッ
プを含む構成。
【0037】6.データとプロシージャとを含むオブジ
ェクトを起動し実行するための装置において、第2のア
ドレス空間内のプロセスから第1のアドレス空間内の第
2のオブジェクトへ通信をリレーするための第1のオブ
ジェクトを第1のアドレス空間内に含み、リレーされた
通信に応答して、前記のデータとプロシージャとを含む
第3のオブジェクトを第2のオブジェクトで起動するた
めの手段と、リレーされた通信に応答して、起動された
第3のオブジェクト内で動作を実行するための手段とを
具備する、装置。
【0038】7.上記6.に記載の装置において、第1
のオブジェクトが、リモート・システム上に置かれたプ
ロセスからネットワークを介して通信をリレーする手段
を含む構成。
【0039】8.上記6.に記載の装置において、前記
第2のオブジェクトをサブクラス化する手段を含む構
成。
【0040】9.上記6.に記載の装置において、実行
された動作の結果を第2のオブジェクトに返す手段を含
む構成。
【0041】10.上記9.に記載の装置において、前
記の返された結果を前記第1のオブジェクトが第2のオ
ブジェクトから前記プロセスにリレーするための手段を
含む構成。
【0042】11.データとプロシージャとを含むリモ
ート・オブジェクトを起動し実行するためのデータ処理
システムにおいて、第2のアドレス空間内のプロセスか
ら第1のアドレス空間内の第2のオブジェクトへ通信を
リレーするための第1のオブジェクトを第1のアドレス
空間内に含み、処理すべきデータを記憶する手段と、デ
ータを処理する手段と、リレーされた通信に応答して、
データとプロシージャとを含む第3のオブジェクトを第
2のオブジェクト内で起動する手段と、リレーされた通
信に応答して、起動された第3のオブジェクト内で動作
を実行するための手段とを具備する、データ処理システ
ム。
【0043】
【発明の効果】本発明により、異なるアドレス空間にあ
るオブジェクト、特にリモート・ターゲット・オブジェ
クトの実行を要求側のソース・オブジェクトから命令す
ることができる。
【図面の簡単な説明】
【図1】本発明の好ましい一実施例で使用される典型的
なデータ処理システムのブロック・ダイヤグラムであ
る。
【図2】本発明の好ましい一実施例に従って、主記憶装
置内で種々のプロセスによって使用されるアドレス空間
を示すブロック・ダイヤグラムである。
【図3】好ましい分散オブジェクト・システムにより使
用される主要構成要素のブロック・ダイヤグラムであ
る。
【図4】本発明の好ましい一実施例に従って代理オブジ
ェクトを使用するために必要とされる種々の要素を示す
ブロック・ダイヤグラムである。
【図5】クライアント・プロセスが、サーバ・プロセス
との通信をブートストラップする様子を示すブロック・
ダイヤグラムである。
【図6】クライアント・プロセスが、サーバ・プロセス
内にあるオブジェクトを起動し、呼び出す様子を示すブ
ロック・ダイヤグラムである。
【図7】クライアント・プロセスが、サーバ・プロセス
内にあるオブジェクトを起動し、呼び出す様子を示すブ
ロック・ダイヤグラムである。
【図8】クライアント・プロセスが、サーバ・プロセス
内にあるオブジェクトを呼び出す様子を示すブロック・
ダイヤグラムである。
【図9】図5に関して述べたブートストラップ動作に対
応するフローチャートである。
【図10】図6に関して述べた起動動作および呼出し動
作に対応するフローチャートである。
【図11】図7に関して述べた起動動作および呼出し動
作に対応するフローチャートである。
【図12】図8に関して述べたターゲット・オブジェク
トに対する呼出し動作に対応するフローチャートであ
る。
【符号の説明】
100 データ処理システム 105 コンピュータ・ボックス 110 主演算処理装置 120 主記憶装置 130 入力装置 140 出力装置 250 モデム 255 ハード・ディスク 260 通信回線 290 交換可能媒体 300 クライアント・プロセス 305 サーバ・プロセス 310 DSOMランタイム機能 320 クライアント・インタフェース 325 オブジェクト・アダプタ 370 インタフェース・リポジトリ 380 インプリメンテーション・リポジトリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ヘイドン・コナー アメリカ合衆国78759 テキサス州オース チン ウォールトヒル・レーン4416 (72)発明者 ケヴィン・ジョン・グリーン アメリカ合衆国78750 テキサス州オース チン アナクァ・ドライブ7408 (72)発明者 スコット・ダンフォース アメリカ合衆国78750 テキサス州オース チン ウッドランド・ビレッジ・ドライブ 10011 (72)発明者 エリン・エリザベス・シェプラー アメリカ合衆国78759 テキサス州オース チン ムーンフラワー・ドライブ7808 (72)発明者 マーク・グレゴリー・スミス アメリカ合衆国78759 テキサス州オース チン シェラ・オークス10615

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】データとプロシージャとを含むオブジェク
    トを起動し実行するための方法において、 第1のアドレス空間内の第1のオブジェクトによって、
    第2のアドレス空間内のプロセスから第1のアドレス空
    間内の第2のオブジェクトへの通信をリレーするステッ
    プと、 リレーされた通信に応答して、前記のデータとプロシー
    ジャとを含む第3のオブジェクトを第2のオブジェクト
    によって起動するステップと、 リレーされた通信に応答して、起動された第3のオブジ
    ェクトによって動作を実行するステップとを含む方法。
  2. 【請求項2】上記リレー・ステップが、リモート・シス
    テム上に置かれたプロセスからネットワークを介して通
    信をリレーするステップを含む、請求項1の方法。
  3. 【請求項3】前記第2のオブジェクトをサブクラス化す
    るステップを含む、請求項1の方法。
  4. 【請求項4】実行された動作の結果を第2のオブジェク
    トに返すステップを含む、請求項1の方法。
  5. 【請求項5】前記第1のオブジェクトによって、前記の
    返された結果を第2のオブジェクトから前記プロセスに
    リレーするステップを含む、請求項4の方法。
  6. 【請求項6】データとプロシージャとを含むオブジェク
    トを起動し実行するための装置において、 第2のアドレス空間内のプロセスから第1のアドレス空
    間内の第2のオブジェクトへ通信をリレーするための第
    1のオブジェクトを第1のアドレス空間内に含み、 リレーされた通信に応答して、前記のデータとプロシー
    ジャとを含む第3のオブジェクトを第2のオブジェクト
    で起動するための手段と、 リレーされた通信に応答して、起動された第3のオブジ
    ェクト内で動作を実行するための手段とを具備する、装
    置。
  7. 【請求項7】第1のオブジェクトが、リモート・システ
    ム上に置かれたプロセスからネットワークを介して通信
    をリレーする手段を含む、請求項6の装置。
  8. 【請求項8】前記第2のオブジェクトをサブクラス化す
    る手段を含む、請求項6の装置。
  9. 【請求項9】実行された動作の結果を第2のオブジェク
    トに返す手段を含む、請求項6の装置。
  10. 【請求項10】前記の返された結果を前記第1のオブジ
    ェクトが第2のオブジェクトから前記プロセスにリレー
    するための手段を含む、請求項9の装置。
  11. 【請求項11】データとプロシージャとを含むリモート
    ・オブジェクトを起動し実行するためのデータ処理シス
    テムにおいて、 第2のアドレス空間内のプロセスから第1のアドレス空
    間内の第2のオブジェクトへ通信をリレーするための第
    1のオブジェクトを第1のアドレス空間内に含み、 処理すべきデータを記憶する手段と、 データを処理する手段と、 リレーされた通信に応答して、データとプロシージャと
    を含む第3のオブジェクトを第2のオブジェクト内で起
    動する手段と、 リレーされた通信に応答して、起動された第3のオブジ
    ェクト内で動作を実行するための手段とを具備する、デ
    ータ処理システム。
JP10983894A 1993-06-14 1994-05-24 オブジェクトの実行方法および装置 Expired - Fee Related JP3365576B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7722193A 1993-06-14 1993-06-14
US77221 1993-06-14

Publications (2)

Publication Number Publication Date
JPH0713767A true JPH0713767A (ja) 1995-01-17
JP3365576B2 JP3365576B2 (ja) 2003-01-14

Family

ID=22136777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10983894A Expired - Fee Related JP3365576B2 (ja) 1993-06-14 1994-05-24 オブジェクトの実行方法および装置

Country Status (2)

Country Link
US (1) US5613148A (ja)
JP (1) JP3365576B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511255A (ja) * 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832219A (en) * 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
AU3415595A (en) * 1994-10-04 1996-04-26 Banctec, Inc. An object-oriented computer environment and related method
JPH08286962A (ja) * 1994-12-16 1996-11-01 Internatl Business Mach Corp <Ibm> 処理システム及びオブジェクト活動化をスケジュールする方法
US6038395A (en) * 1994-12-16 2000-03-14 International Business Machines Corporation System and method for implementing proxy objects in a visual application builder framework
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
JP3700733B2 (ja) * 1995-06-12 2005-09-28 富士ゼロックス株式会社 文書管理装置及び文書管理方法
GB2305271A (en) * 1995-09-15 1997-04-02 Ibm Proxy object recovery in an object-oriented environment
US8037158B2 (en) 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US5764958A (en) * 1995-11-30 1998-06-09 International Business Machines Corporation Method and apparatus for creating dynamic roles with a system object model
US6345311B1 (en) * 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
US5802276A (en) * 1996-01-03 1998-09-01 International Business Machines Corporation Information handling system, method, and article of manufacture including a vault object for encapsulation of object security credentials
US6553410B2 (en) 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US6076109A (en) * 1996-04-10 2000-06-13 Lextron, Systems, Inc. Simplified-file hyper text protocol
US6173337B1 (en) * 1996-03-08 2001-01-09 Apple Computer, Inc. Method and apparatus for relaying events intended for a first application program to a second application program
US5870554A (en) * 1996-04-01 1999-02-09 Advanced Micro Devices, Inc. Server selection method where a client selects a server according to address, operating system and found frame for remote booting
US5960175A (en) * 1996-04-01 1999-09-28 Advanced Micro Devices, Inc. Identification and selection of a desired server from a plurality of servers of varying protocols on the same network via a single boot ROM
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US5727145A (en) * 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US5860072A (en) * 1996-07-11 1999-01-12 Tandem Computers Incorporated Method and apparatus for transporting interface definition language-defined data structures between heterogeneous systems
US6321273B1 (en) * 1996-07-11 2001-11-20 724 Solutions, Inc. Method and apparatus using parameterized vectors for converting interface definition language-defined data structures into a transport and platform independent format
US6751798B1 (en) * 1996-07-11 2004-06-15 724 Solutions Software Inc. Method and apparatus for performing distributed object calls using proxies and memory allocation
US6263485B1 (en) 1996-07-11 2001-07-17 Andrew Schofield Method and apparatus for describing an interface definition language-defined interface, operation, and data type
US6173327B1 (en) 1996-07-11 2001-01-09 Jeroen De Borst Object-oriented method and apparatus for information delivery
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US5859973A (en) * 1996-08-21 1999-01-12 International Business Machines Corporation Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US5875335A (en) * 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5913025A (en) * 1996-11-14 1999-06-15 Novell, Inc. Method and apparatus for proxy authentication
US6038593A (en) * 1996-12-30 2000-03-14 Intel Corporation Remote application control for low bandwidth application sharing
US6225995B1 (en) 1997-10-31 2001-05-01 Oracle Corporaton Method and apparatus for incorporating state information into a URL
US6247056B1 (en) 1997-02-03 2001-06-12 Oracle Corporation Method and apparatus for handling client request with a distributed web application server
US6026404A (en) * 1997-02-03 2000-02-15 Oracle Corporation Method and system for executing and operation in a distributed environment
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6845505B1 (en) 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6687761B1 (en) * 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
US7203769B2 (en) * 1997-03-14 2007-04-10 International Business Machines Corporation Bootstrapping technique for distributed object client systems
US6769125B2 (en) * 1997-04-11 2004-07-27 Sun Microsystems, Inc. Methods and apparatus for managing computer processes
CA2204971A1 (en) * 1997-05-09 1998-11-09 Michael Cheng Uniform access to and interchange between objects employing a plurality of access methods
JPH10320367A (ja) * 1997-05-19 1998-12-04 Fujitsu Ltd ネットワーク移動可能なオブジェクト間の通信方法及び通信システム
US6480486B2 (en) * 1997-05-21 2002-11-12 Lextron Systems, Inc. Micro-localized internet service center
US6473893B1 (en) 1997-05-30 2002-10-29 International Business Machines Corporation Information objects system, method, and computer program organization
US6125383A (en) * 1997-06-11 2000-09-26 Netgenics Corp. Research system using multi-platform object oriented program language for providing objects at runtime for creating and manipulating biological or chemical data
US6253253B1 (en) 1997-08-25 2001-06-26 International Business Machines Corporation Method and apparatus for optimizing references to objects in a data processing system
US6957427B1 (en) * 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6018805A (en) * 1997-12-15 2000-01-25 Recipio Transparent recovery of distributed-objects using intelligent proxies
US6055566A (en) * 1998-01-12 2000-04-25 Lextron Systems, Inc. Customizable media player with online/offline capabilities
GB2333379A (en) 1998-01-16 1999-07-21 Ibm Client/server computing
US6205482B1 (en) 1998-02-19 2001-03-20 Ameritech Corporation System and method for executing a request from a client application
US6012067A (en) * 1998-03-02 2000-01-04 Sarkar; Shyam Sundar Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web
US6324543B1 (en) * 1998-03-06 2001-11-27 International Business Machines Corporation Dynamic object migration method using proxy object links to support automatic object distribution in an object-oriented environment
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6282590B1 (en) 1998-09-15 2001-08-28 Pitney Bowes Inc. Method and system for establishing a standard peripheral interface server
US6209032B1 (en) 1998-10-19 2001-03-27 International Business Machines Corporation Enabling target servers to control determination of full user synchronization
FR2792435B1 (fr) * 1999-04-15 2001-07-13 Cit Alcatel Procede de modification d'un protocole entre objets distribues
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US7685602B1 (en) * 2000-06-05 2010-03-23 Teradata Us, Inc. Controlling software components in a multi-node processing system
US6714942B1 (en) 2000-07-28 2004-03-30 E-Volve Incorporated Method of creating and using a sub-classed object that spans multiple computers in a networked computing system
US7647597B2 (en) * 2001-06-28 2010-01-12 Microsoft Corporation Transparent and sub-classable proxies
US20030217054A1 (en) * 2002-04-15 2003-11-20 Bachman George E. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US20030212736A1 (en) * 2002-05-10 2003-11-13 Sreekrishna Kotnur System and method for activating and pausing a component
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
RU2495476C2 (ru) 2008-06-20 2013-10-10 Инвенсис Системз, Инк. Системы и способы для иммерсивного взаимодействия с действительными и/или имитируемыми техническими средствами для управления технологическим процессом, контроля состояния окружающей среды и производственного контроля
US8421822B2 (en) * 2009-05-13 2013-04-16 David Odland Customizing footwear
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01229339A (ja) * 1988-03-09 1989-09-13 Fujitsu Ltd デバッグ情報表示方式
JPH0546571A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 分散処理システム
JPH0546572A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 分散処理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249293A (en) * 1989-06-27 1993-09-28 Digital Equipment Corporation Computer network providing transparent operation on a compute server and associated method
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5307492A (en) * 1991-03-07 1994-04-26 Digital Equipment Corporation Mapping assembly language argument list references in translating code for different machine architectures
JP2741969B2 (ja) * 1991-06-12 1998-04-22 富士通株式会社 メッセージベースのデータ処理装置
US5481721A (en) * 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
US5355483A (en) * 1991-07-18 1994-10-11 Next Computers Asynchronous garbage collection
JP3489123B2 (ja) * 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5307490A (en) * 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
DE69309485T2 (de) * 1992-11-13 1997-07-10 Microsoft Corp Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5377350A (en) * 1993-04-30 1994-12-27 International Business Machines Corporation System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01229339A (ja) * 1988-03-09 1989-09-13 Fujitsu Ltd デバッグ情報表示方式
JPH0546571A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 分散処理システム
JPH0546572A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 分散処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511255A (ja) * 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置

Also Published As

Publication number Publication date
US5613148A (en) 1997-03-18
JP3365576B2 (ja) 2003-01-14

Similar Documents

Publication Publication Date Title
JP3365576B2 (ja) オブジェクトの実行方法および装置
JPH0713776A (ja) 代理オブジェクトを用いた通信方法および装置並びにデータ処理システム
US5864866A (en) Apparatus and method for providing externalization in an object-oriented environment
US8473896B2 (en) Computer software development incorporating core and compound services
US5893106A (en) Object oriented server process framework with interdependent-object creation
US6192418B1 (en) System and method for performing external procedure calls from a client program to a server program while both are operating in a heterogenous computer
US7546606B2 (en) System and method using a connector architecture for application integration
JP4146983B2 (ja) サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム
US5327559A (en) Remote and batch processing in an object oriented programming system
US5729739A (en) Persistent object mapping system and method with abstract schema mapper
US5949998A (en) Filtering an object interface definition to determine services needed and provided
EP0474339B1 (en) Methods and apparatus for providing a client interface to an object-oriented invocation of an application
US6044224A (en) Mechanism for dynamically associating a service dependent representation with objects at run time
JP3072709B2 (ja) 要求伝達方法
US6438616B1 (en) Method and apparatus for fast, local corba object references
US5915113A (en) Visual application partitioning for creating distributed object oriented applications
US8359570B2 (en) Adaptive scripting tool
US6567861B1 (en) Method and apparatus for remotely running objects using data streams and/or complex parameters
US7533388B1 (en) Method and apparatus for dynamic Stubs and Ties in RMI-IIOP
EP0471442A2 (en) Methods and apparatus for implementing server functions in a distributed heterogeneous environment
EP0472279A2 (en) Apparatus for implementing data bases to provide object-oriented invocation of applications
JPH07281974A (ja) ネットワーク内のコンピュータ間でデータを交換するための通信システム
JPH0916503A (ja) コンピュータプロセスを管理する方法および装置
US5657447A (en) Platform-transparent registration and build of stored procedures and user-defined functions
WO2003034183A2 (en) System and method using a connector architecture for application integration

Legal Events

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

Free format text: PAYMENT UNTIL: 20071101

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081101

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees