JPH09223116A - 複数ミドルウェアに渡る分散オブジェクトの位置透過性 - Google Patents

複数ミドルウェアに渡る分散オブジェクトの位置透過性

Info

Publication number
JPH09223116A
JPH09223116A JP8185988A JP18598896A JPH09223116A JP H09223116 A JPH09223116 A JP H09223116A JP 8185988 A JP8185988 A JP 8185988A JP 18598896 A JP18598896 A JP 18598896A JP H09223116 A JPH09223116 A JP H09223116A
Authority
JP
Japan
Prior art keywords
policy
service
directory
distributed system
middleware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8185988A
Other languages
English (en)
Inventor
Harold Jeffrey Gartner
ハロルド・ジェフレイ・ガートナー
Vladimir Klicnik
ウラジミア・クリックニック
Michael Starkey
マイケル・スターキー
John Wright Stephenson
ジョン・ライト・ステファーソン
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 JPH09223116A publication Critical patent/JPH09223116A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup

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)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 異なるネーミング・サービス及びポリシ・サ
ービス技法を有するフレームワークを提供する。 【解決手段】 各ディレクトリは、そのディレクトリが
表す特有のミドルウェア又は分散オブジェクト・ポリシ
特性をサポートするシステム内において、複数のサーバ
に配置される全てのサービス・オブジェクトの名前及び
アドレスを含む。1サービス・オブジェクトが複数のデ
ィレクトリを通じてアドレス指定される。リモート・メ
ソッド呼び出しがクライアントにより発行されると、そ
の呼び出しを実行できるサービス・オブジェクトのリス
トが、ディレクトリから獲得され、1オブジェクトが選
択される。オブジェクト・アドレスの選択元のディレク
トリに関連付けられるポリシ特性が呼び出しに結合され
る。このようにして、クライアント・プログラムが分散
オブジェクト・サービス技法のミドルウェア又は特異性
に完全に独立して作成されうる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散コンピュータ
環境において、複数のミドルウェアの使用をサポートす
るフレームワークを提供することに関し、特に、ユーザ
が一体型(monolithic)アプリケーションを分散アプリ
ケーションに変換することを可能にする区分化ツールに
関連して有用である。
【0002】
【従来の技術】分散システムは総称的に電子通信を介し
て接続される個々のシステムまたはプロセッサの集合と
して述べられ、その範囲は密に結合された並列プロセッ
サから、ローカル・エリア・ネットワーク(LAN)を
形成する疎に結合されたリモート・プロセッサ及びワー
クステーションに及ぶ。
【0003】分散アプリケーションは、分散システムま
たはネットワーク内の多数のプロセッサに分散された多
数の協動ソフトウェア・パーツまたはサービスである。
分散アプリケーションをサポートするIBMの2つの既
存のシステムには、トランザクション処理システムのC
ICS(商標)製品系列、及びクライアント−サーバ・
システムのIMS(商標)ファミリがある。
【0004】小型コンピュータの処理能力の向上及びネ
ットワーク通信の柔軟性により、分散アプリケーション
は複雑な一体型アプリケーションを置換するために使用
されうる。分散アプリケーションの使用は多数の利点を
有し、例えば単一の超大規模処理ユニットを置換するた
めに多数の既存の小型プロセッサを一緒に結合して使用
することによる、ハードウェア・コストの低減などが含
まれる。事前のコスト節約に加え、あるハードウェア・
コンポーネントの故障がシステム全体に影響しないため
に継続的な節約が達成される。ソフトウェア面において
は、分散アプリケーションを使用することにより、ネッ
トワークに渡る全てのクライアントを再コンパイルまた
は再リンクする必要無しに、単一のソフトウェア・パー
ツにおいて、新たなサービスを追加したり、既存のサー
ビスをアップグレードすることができる。
【0005】通常、呼び出しプログラムと特定のサブル
ーチンまたはオブジェクト間には、固有のインタフェー
スが存在し、呼び出しプログラムからサブルーチンに呼
ばれるプロシジャが動作に必要な全ての論理を呼び出
す。プログラムが分散されている場合には、位置の透過
性(location transparency)が維持されねばならず、
このことは2つの重要な要求を有する。第1の要求は、
所望のアクションを実行可能なサーバを見い出すことで
ある。分散システムでは、サービスの提供はサーバ・オ
ブジェクトを伝達する複雑な技法でありうる。これを透
過的にする1方法は、サービスを使用するためにクライ
アントに"プロキシ(proxy)"と呼ばれるローカル・オ
ブジェクトを宣言させることである。プロキシは分散オ
ブジェクトを表すローカル・オブジェクトであり、全て
のクライアントからサービスのための通信を直接受信す
る。"プロキシ"の概念は、Shapiro、Marcによる"Struct
ureand Encapsulation in Distributed Systems:The P
roxy Principle"(the Proceedings of the 6th Intern
ational Conference on Distributed Systems、May198
6)で詳しく述べられている。
【0006】位置の透過性の第2の要求はサービスを非
分散プログラムにおいて使用されるものとしてアクセス
するための、類似のポリシ(policy)を提供することで
ある。例えばサービスのアクセス可能性などの幾つかの
ポリシは非分散プログラムにおいて暗示的である。なぜ
なら、プログラムが1実行単位に結合されうるからであ
る。サービス時間などの別のポリシが非分散プログラム
により想定されうる。データの保全性などの他のポリシ
も想定されうる。1マシン内で保護されるものと想定さ
れるデータは、分散システム上のクライアントとサーバ
間で転送されるとき、保護される必要があろう。特にこ
れは分散システムが公衆網の場合にあてはまる。
【0007】分散システムは、各々が固有のデータ・フ
ォーマット及び通信プロトコルを有する多様なタイプの
コンピュータ及び処理プラットフォームから構成された
りし、、そのことがこれらのプロトコル間の変換用イン
タフェースのマニュアル・コーディング無しにそれらの
間で直接的に通信することを妨げる。
【0008】ミドルウェア技術はこの問題を解決するた
めに開発され、異種プラットフォーム間の"透過的"通信
を提供する。この1例に、Open Software Foundationの
Distributed Computing Environment(登録商標)(D
CE)がある。多数の異種の各システム上で実現される
とき、DCEはリモート・プロシジャ呼び出し(rp
c:remote procedure call)と呼ばれる機構により、
ネットワーク上のコンピュータ間の透過的相互オペレー
ションを可能にする。rpcはプログラマのために通信
サービスを自動的に呼び出し、全ての通信コード、エラ
ー処理及びデータ変換が透過的に処理される。DCEで
は、各オブジェクト呼び出しに対してrpc機構が、ネ
ットワーク内のあらゆる資源に対する名前付け(ネーミ
ング)、及び他の支援プロトコルを提供するディレクト
リを自動的に呼び出すことができる。従って、アプリケ
ーション・プログラムはリモート・プロシジャの位置を
知る必要が無く、名前によりそれらに対して呼び出しを
発行することにより、分散サービスを利用することがで
き、位置の透過性が達成される。
【0009】MQSeries(商標)及びTCP/IPな
どの他のミドルウェアは、DCEほど豊富なサービス・
セットを有さないが、"送受信(send-receive)"パラダ
イムを用いることにより、より制限付きの範疇において
分散システム及び異種性をサポートする。これらのミド
ルウェア、並びにCICSベース及びIMSタイプのシ
ステムなどの既存の分散システムは、DCEとは非常に
異なるネーミング及びポリシの特長を有する。
【0010】前述から言えることは、異なるミドルウェ
アはサーバがそのサービスを登録し、クライアントがそ
れらのサービスを見い出すための異なる機構、並びにデ
ータ保全性を保証する異なる方法を有することである。
【0011】従来の分散処理では、サーバ及びクライア
ントが事前に知れており、プログラミングの間に通信機
能が提供されうる。しかしながら、プログラムがネット
ワーク上で分散されたり、プログラムのパーツが異なる
ノード上に存在するように区分化されると、事前にサー
バの識別及び各プロセッサの通信インタフェースの性質
を知ることが不可能になりうる。
【0012】この問題点がこれまでに考慮されてきた。
例えばDigital Equipment社の米国特許番号第5136
716号"Session Control In Network For Digital Pr
ocessing System Which Support Multiple Transfer Pr
otocols"は、複数のノードを含み、1ノードが1つ以上
のオブジェクトを保有する分散データ処理システムにつ
いて述べている。1ノードはシステム内の各オブジェク
トをプロトコル・タワーと呼ばれる1つ以上のデータ構
造に関連付けるネーミング・サービスを保有する。各プ
ロトコル・タワーは、オブジェクトと通信するときに使
用される通信パラメータ及びアドレス情報の他に、オブ
ジェクト名及び各プロトコル層の名前を識別する一連の
エントリを識別する。あるノードが別のノードにより保
有されるオブジェクトへのアクセスを要求するとき、そ
のノードは最初にネーミング・サービスからオブジェク
トのプロトコル・タワーを取り出す。取り出されたプロ
トコル・タワー内のプロトコル名がノード・タワー内の
プロトコル名に一致すると、サーバはサービスを実行で
きる。プロトコル・タワーからのアドレス・フィールド
がクライアント・ノードとオブジェクト名により識別さ
れるオブジェクトとの間の通信を開始するために使用さ
れる。
【0013】Forte Software社の米国特許番号第532
9619号"Flexible Multi-Platform Partitioning Fo
r Computer Applications"は、異種コンピュータ環境の
ための協動処理インタフェース及び通信ブローカを開示
する。オブジェクト・インタフェースが3モードのオブ
ジェクト間通信をサポートする。"サービス・ブローカ"
は複数のクライアントからのサービス要求を管理し、複
数のサーバにより提供されるサービスに応答する。クラ
イアントとサーバは"ブローカ"を介して互いに通信し、
情報を交換する。参加者制御ブロックがクライアントと
サーバの両方に対して提供され、サービス制御ブロック
がサーバにより提供されるサービスを提供する。ユーザ
機能のセットには登録機能が含まれ、これはサーバの識
別及び提供されるサービスの識別を含む。サービス・ブ
ローカはサービス要求内で識別されるサービスが、サー
ビス制御ブロック内で識別されるものと一致するか否か
を判断することにより、サービス要求がサーバにより提
供されるサービスと一致するか否かを判断する。
【0014】
【発明が解決しようとする課題】本発明で解決しようと
する課題は、1)異なるネーミング・サービス及びポリ
シ・サービス技法を有するフレームワークを提供するこ
と、2)分散システム上で発行されるリモート・メソッ
ド呼び出しに対して、ミドルウェア特性などのポリシ・
プロトコルを自動的に割当てる方法を提供すること、及
び3)少なくとも1ディレクトリを有するフレームワー
クを含む、ポリシ・プロトコルの自動割当てを可能にす
る機構を提供することである。
【0015】
【課題を解決するための手段】本発明は、異なるネーミ
ング・サービス及びポリシ・サービス技法を有するフレ
ームワークを提供する。これらのサービスがフレームワ
ークに追加され、オブジェクトに対して呼び出されるリ
モート・プロシジャの処理の間に要求されるとき、使用
される。位置はユーザがオブジェクトを呼び出すときに
選択される。位置及びその位置に対応するミドルウェア
に依存して、異なるポリシが呼び出しに対してセットさ
れ、検証される。
【0016】従って、本発明は、分散システム上で発行
されるリモート・メソッド呼び出しに対して、ミドルウ
ェア特性などのポリシ・プロトコルを自動的に割当てる
方法を提供する。この方法は、分散システム内でサポー
トされるポリシ・プロトコルの各セットに対して、サー
ビス・オブジェクトのアドレスのディレクトリを登録す
るステップを含む。リモート・メソッド呼び出しの発行
に際し、リモート・メソッド呼び出しを満足するように
適応化された全てのサービス・オブジェクトのアドレス
が獲得される。1サービス・オブジェクト・アドレスが
リストから選択され、選択オブジェクト・アドレスに関
連付けられるポリシ・プロトコルが、リモート・メソッ
ド呼び出しに結合され、リモート呼び出しが伝達され
る。好適には、ポリシ・プロトコルはサーバ側で検証さ
れる。
【0017】本発明は更に、少なくとも1ディレクトリ
を有するフレームワークを含む、ポリシ・プロトコルの
自動割当てを可能にする機構を提供する。各ディレクト
リは特定のポリシ・プロトコルのセットに関連付けら
れ、その特定のポリシ・プロトコル・セットをサポート
する分散システム内のサーバ上の各サービス・オブジェ
クトの名前及びアドレスを含む。更にリモート・メソッ
ド呼び出しを実行するように適応化された1サービス・
オブジェクトのアドレスをディレクトリ内で突き止め、
選択する手段に加え、リモート・メソッド呼び出しをネ
ットワークを通じて伝達する以前に、ディレクトリに対
応する特定のポリシ・プロトコル・セットをリモート呼
び出しに結合する手段が含まれる。
【0018】本発明の方法及び機構を実現するクラス・
ライブラリ及びプログラム・データは、もちろん、電子
的に転送可能なコンピュータ・メモリ内のファイル同
様、CD−ROM、磁気テープ及びフロッピー・ディス
クなどのデータ記憶媒体上に記憶され、転送される。
【0019】
【発明の実施の形態】図1は、ミドルウェア・インタフ
ェースを用いて、分散システムにおいてリモート呼び出
しを発行する既知のアプローチを示す。クライアント・
コンピュータ1上に配置されるアプリケーションがネッ
トワーク3を介して遠隔的に配置されるサーバ2上に存
在するオブジェクトBのプロシジャ呼び出しを発行する
か、メソッドを呼び出す。呼び出し側アプリケーション
1及び呼び出される側のオブジェクト2の両方のコンピ
ュータは、参照番号4で示される同一タイプのミドルウ
ェア・インタフェースを使用する。
【0020】一般的には、コンピュータ1上に存在する
呼び出し側Aが、コンピュータ2上に存在するオブジェ
クトBに呼び出しを発行するとき、呼び出しは実際に
は、クライアント側に配置されるAのためのミドルウェ
ア・インタフェースに発行され、そこでそのミドルウェ
アに特有のインタフェース形式(例えばDCE環境にお
けるrpcなど)により再発行される。このインタフェ
ース形式により、メソッド呼び出しがネットワーク3を
介して伝送されると、サーバ側のミドルウェア・インタ
フェース4bが呼び出しをデータ形式により、呼び出し
が実行されるコンピュータ2のオペレーティング・シス
テムにより認識されるプロトコルにより再発行する。コ
ンピュータ2からコンピュータ1に返送される返却コー
ドは同一のステップを逆に推移する。
【0021】本発明のフレームワークの使用は、図1の
レイアウトを図2及び図3に示されるように変更する。
図1のレイアウトでは、サーバのミドルウェア特性は事
前に知れており、実際には、クライアントのミドルウェ
ア特性と共通である。図2及び図3に示される状況、並
びに本発明により解決される状況では、サーバの識別及
びその付随するミドルウェア特性が事前に知れていな
い。実際には、クライアントの要求を満足できるオブジ
ェクトを有する複数のサーバが、分散システム上に存在
しうり、各サーバがそれぞれに関連付けられる異なるミ
ドルウェアを有しうる。
【0022】図2では、クライアント及びサーバの両方
がネットワーク内に配置され、ミドルウェア・サービス
へのアクセスが、本発明のフレームワークを介して行わ
れる。図3は、サーバがフレームワークにより管理され
るローカル分散システム内に配置されない状況を示す。
例えばネットワークは広域ネットワーク(WAN)であ
り、サーバへのアクセスが交換通信リンクを介して行わ
れる。
【0023】本発明によれば、コンピュータ1上のアプ
リケーションから、コンピュータ2上に配置されるオブ
ジェクトBへのメソッド呼び出しが、最初に本発明のフ
レームワーク5または5aを呼び出す。これらのフレー
ムワークは呼び出し側1がサーバ2のミドルウェア6b
と通信するための適正なミドルウェア・インタフェース
6aを確立し、サーバ2は要求されたサービスを提供す
ることができる(図2及び図3)。
【0024】図4に示される制御フローは、これが実行
される様子を抽象的に示す。オブジェクトに対するメソ
ッド呼び出しの発行(ブロック10)が、特定のミドル
ウェアへの呼び出しではなく、ミドルウェアに独立のス
タブを実行する。ミドルウェア独立スタブはメソッドを
実行するオブジェクトのサービス・アドレスを獲得する
ためのフレームワークを呼び出す(ブロック11)。こ
れはサービスのアドレスを含むディレクトリ内で、呼び
出されたメソッドまたはサービスを探索し、そのディレ
クトリから、サービスを実行可能なオブジェクトのアド
レスのリストを受信することにより達成される。そのリ
ストからの1オブジェクトの選択は無作為に実行されう
る。
【0025】返却リスト内の各オブジェクト・アドレス
は、それそれミドルウェアに関連付けられ、1オブジェ
クト・アドレスを選択すると、適正なミドルウェア特性
またはポリシ要求が知れ、クライアントのミドルウェア
独立スタブに結合されうる(ブロック12)。フレーム
ワークの下でミドルウェア・インタフェースが確立され
ると呼び出しがサーバに転送され(ブロック13)、サ
ーバにおいて呼び出しの到来時に、オブジェクトに対す
るポリシ要求及びメソッド呼び出しの妥当性が検証され
る(ブロック14)。検証が成功の場合、メソッド呼び
出しが実際にオブジェクトに対して呼び出され(ブロッ
ク15)、ユーザのサービス・コードが呼び出される
(ブロック16)。結果がフレームワークを通じて呼び
出し側に返却され(ブロック17)、呼び出し側はプロ
グラムの実行を継続する(ブロック18)。
【0026】本発明の好適な態様では、アドレス及びネ
ーミング・サービス並びに分散システム内のクライアン
ト及びサーバに関連付けられる全てのミドルウェアのポ
リシ要求情報を含む分散クラス・ライブラリがフレーム
ワークを形成する。このクラス・ライブラリは、アドレ
ス及びネーミング・サービスの"登録(register)"、並
びにフレームワークのポリシ情報を提供するデータを含
む。
【0027】位置の透過性を提供するためのアドレス及
びネーミング・サービスを構築するクラスは、3つのオ
ペレーションを含まねばならない。登録オペレーション
は、サーバが自身がサービスを実行できることを通知す
るために使用する。サーバは、自身が登録解除オペレー
ションにより登録解除されるまで、サービスをサポート
する。第3のオペレーションは発見(find)オペレーシ
ョンであり、これはクライアントが所望のサービスを見
い出すために使用する。発見オペレーションにより返却
されるアドレスは、関連付けられるミドルウェアのポリ
シ要求と同様、ミドルウェアにより要求されるフォーマ
ットのオブジェクト・アドレスである。抽象アドレス及
びネーミング・サービス・クラスは、C++により次の
ように作成される。
【0028】
【0029】ポリシ・サービスは2つの要求オペレーシ
ョンを有する。第1のオペレーションは、ポリシ情報を
セットすることである。クライアント側でセットアップ
されなければならないポリシ情報は、このオペレーショ
ンを実行しなければならない。他方の要求オペレーショ
ンは、妥当性検証オペレーションである。これは呼び出
しの到来時にサーバ上で呼び出される。抽象ポリシ・サ
ービス・クラスは、C++により次のように作成され
る。
【0030】
【0031】図5は、本発明の好適な態様を実現するた
めに、ネットワーク全体を通じてコンピュータにより実
行されるステップを示すフロー図である。これは図2に
示される状況、すなわちネットワーク上での呼び出し通
信を統制するために、本発明のフレームワークがクライ
アント側とサーバ側の両方に課せられる分散システムに
相当する。
【0032】リモート・メソッド呼び出しの発行に先立
ち、本発明のフレームワークがネットワーク上で確立さ
れなければならない。コンピュータがブート・アップさ
れるか、システムに追加されるとき、ミドルウェア特性
の各要求セットに対するディレクトリがフレームワーク
に登録される(ブロック20及びブロック24)。この
情報はクラス・ライブラリから引き出される。DCEよ
りもより制限されたMQI及びTCP/IPなどのミド
ルウェア技術では、クラス内に追加のサービスを定義す
ることにより、複数のミドルウェアに渡りDCEに類似
のサービスを実現するためにフレームワークが使用され
うる。
【0033】各オブジェクトがサーバ上で実体化(inst
antiate)されるとき、そのオブジェクトがサポートさ
れる各ミドルウェアのポリシ情報が、オブジェクトに結
合される(ブロック21)。次にオブジェクト識別子が
対応するミドルウェアのネーム・サービスにエクスポー
ト(送信)され(ブロック22)、サポートされるポリ
シが登録される(ブロック23)。
【0034】オブジェクト・プロキシがクライアント上
で実体化されるとき、クライアントが呼び出しに対して
保証されるように望むポリシ情報が、呼び出しが生成さ
れうる各ミドルウェアに対してセットされる(ブロック
25)。
【0035】メソッド呼び出しがクライアント・プロキ
シ上で生成されるとき(ブロック26)、それがリモー
ト呼び出しか否かが最初に判断される(ブロック2
7)。プロセッサが呼び出しを内部的に満たすことがで
きる場合、呼び出しはローカル呼び出しとして実行され
(ブロック28)、結果が呼び出し側に返却される(ブ
ロック29)。
【0036】しかしながら、呼び出しがリモート呼び出
しと判断されると、ミドルウェア独立スタブが実行され
(ブロック30)、"発見"オペレーションがアクセスさ
れる(ブロック31)。アドレス・リストが、クライア
ント・プログラムから見ることのできる全てのネーム・
サービス・ディレクトリから獲得される(ブロック3
2)。1オブジェクト・アドレスがリストからおそらく
無作為に選択され、メソッド呼び出しが実行され(ブロ
ック33)、そのアドレスに関連付けられるミドルウェ
アにより、呼び出しに関する要求ポリシ情報がセットさ
れる(ブロック34)。
【0037】メソッド呼び出しはネットワークを介し
て、アドレス指定されたオブジェクトが存在するサーバ
の位置へ伝達される(ブロック35)。メソッド呼び出
しを受信すると、サーバはクライアントのポリシ要求が
サーバ上で満たされるか否かを検証する(ブロック3
6)。ポリシ要求がサーバにより満たされない場合、ミ
ドルウェア特有のメッセージ(一般に例外)が呼び出し
側に返却され(ブロック37)、呼び出し側は、要求ポ
リシ・レベルによりオペレーションを実行可能なレプリ
カを求めて別を当たる。
【0038】検証オペレーションが成功すると、呼び出
しはサーバに渡されて実行され(ブロック38)、結果
が呼び出し側に返却される(ブロック29)。
【0039】サーバがCICSベースのシステムなど
の、既存の分散システム内に組み込まれる図3に示され
る場合では、フレームワーク・ディレクトリがエクスポ
ートされるアドレス及びミドルウェア・ポリシ情報を受
信しない。しかしながら、サービス・オブジェクトのア
ドレスが一般に、システム内に"ディレクトリのような
(directory-like)"形式でハードコード化される。こ
の場合、サービス・オブジェクトの名前及びアドレスだ
けが、"発見"オペレーションの間に突き止められ、ネッ
トワークを通じメソッド呼び出しを伝達する基礎を形成
する。
【0040】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0041】(1)分散システムにおいてリモート・メ
ソッド呼び出しを発行するために、ポリシ・プロトコル
を自動的に割当てる方法であって、前記分散システム内
でサポートされるポリシ・プロトコルの各セットに対し
て、サービス・オブジェクトのアドレスのディレクトリ
を登録するステップと、前記リモート・メソッド呼び出
しの発行に際し、前記リモート・メソッド呼び出しを実
行するように適応化された全てのサービス・オブジェク
トのアドレスを獲得し、前記アドレスの1つを選択する
ステップと、前記アドレスの1つが選択される前記ディ
レクトリの前記ポリシ・プロトコルを、前記リモート・
メソッドに結合するステップと、前記リモート・メソッ
ド呼び出しを前記分散システムを介して、サーバ上の前
記サービス・オブジェクトに伝達するステップと、を含
む、方法。 (2)前記登録ステップが、前記サービス・オブジェク
トの実体化に際し発生する、前記(1)記載の方法。 (3)前記登録ステップが、前記サービス・オブジェク
トのハードコード化アドレスが前記分散システムにおい
てアクセスされるときに発生する、前記(1)記載の方
法。 (4)前記登録ステップが、前記分散システム内でサポ
ートされるミドルウェア・ポリシの全てのセットのディ
レクトリを登録するステップと、前記サービス・オブジ
ェクトの実体化に際し、前記サービス・オブジェクト・
アドレスを前記サービス・オブジェクトによりサポート
されるミドルウェア・ポリシのセットを表すあらゆるデ
ィレクトリにエクスポートするステップと、実体化され
る前記サービス・オブジェクトに対してサポートされる
前記ミドルウェア・ポリシを登録するステップと、を含
む、前記(1)記載の方法。 (5)前記ディレクトリに登録される前記ミドルウェア
・ポリシのセットがクラス・ライブラリから獲得され
る、前記(4)記載の方法。 (6)前記リモート・メソッド呼び出しがオブジェクト
・プロキシを介して発行される、前記(1)記載の方
法。 (7)前記サーバにおける受信に際し、前記リモート・
メソッド呼び出しに結合された前記ポリシ・プロトコル
を検証するステップと、前記検証が失敗の場合、前記分
散システムを通じて例外を返却するステップと、を含
む、前記(1)または(4)記載の方法。 (8)前記サーバにおける受信に際し、前記リモート・
メソッド呼び出しに結合された前記ポリシ・プロトコル
を検証するステップと、前記検証が成功の場合、前記サ
ービス・オブジェクトに対して前記リモート・メソッド
呼び出しを実行するステップと、を含む、前記(1)ま
たは(4)記載の方法。 (9)分散システムにおいて発行されるリモート・メソ
ッド呼び出しに対するポリシ・プロトコルの自動割当て
機構であって、各々が特定のポリシ・プロトコル・セッ
トに関連付けられ、該特定のポリシ・プロトコル・セッ
トをサポートする前記分散システム内のサーバ上の各サ
ービス・オブジェクトの名前及びアドレスを含む、少な
くとも1つのディレクトリを有するフレームワークと、
前記リモート・メソッド呼び出しを実行するように適応
化された1サービス・オブジェクトのアドレスを前記デ
ィレクトリ内で突き止め、選択する手段と、前記リモー
ト・メソッド呼び出しをネットワークを通じて伝達する
以前に、前記ディレクトリの前記特定のポリシ・プロト
コル・セットを前記リモート・メソッド呼び出しに結合
する手段と、を含む、機構。 (10)前記特定のポリシ・プロトコル・セットが特定
のミドルウェアに関連付けられるポリシ特性を含む、前
記(9)記載の機構。 (11)前記ディレクトリが、特定の分散システム・フ
ォーマットに従いハード・コード化されたアドレスを前
記サービス・オブジェクト内に含む、前記(9)記載の
機構。 (12)前記分散システム内でサポートされる特定の前
記ポリシ・プロトコル・セットに関するデータを含むク
ラス・ライブラリを含む、前記(9)記載の機構。 (13)前記サーバにおいて、前記リモート・メソッド
呼び出しに結合された前記ポリシプロトコルを検証する
手段を含む、前記(9)記載の機構。 (14)クラス・ライブラリ及びプログラム・コードに
より回復されるデータ記憶媒体であって、該データ記憶
媒体からプログラム・データをメモリに読み出し、実行
する汎用コンピュータと一緒に、前記(9)または(1
3)記載の装置を構成する、データ記憶媒体。
【図面の簡単な説明】
【図1】従来のミドルウェア・インタフェースによる分
散システムにおけるリモート呼び出しを示す図である。
【図2】ネットワークのクライアント側及びサーバ側の
両方で実現される本発明のフレームワークを有する分散
システムにおけるリモート呼び出しを示す図である。
【図3】ネットワークのクライアント側で実現される本
発明のフレームワークを有する分散システムにおけるリ
モート呼び出しを示す図である。
【図4】本発明のフレームワークを介する、クライアン
トからサーバへのフロー制御を示す図である。
【図5】本発明の好適な方法を実現するコンピュータに
よるステップを示すフロー図である。
【符号の説明】
1 クライアント・コンピュータ 2 サーバ 3 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウラジミア・クリックニック カナダ、エル1ジィ 2エス2、オンタリ オ州オシャワ、パインウッド・ストリート 567 (72)発明者 マイケル・スターキー カナダ、エム3ビィ 3エヌ9、オンタリ オ州ノース・ヨーク、ナンバー626、ド ン・ミルズ・ロード 1210 (72)発明者 ジョン・ライト・ステファーソン カナダ、エル1ジェイ 7エックス7、オ ンタリオ州オシャワ、キャストルグロー ブ・アベニュー 830

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】分散システムにおいてリモート・メソッド
    呼び出しを発行するために、ポリシ・プロトコルを自動
    的に割当てる方法であって、 前記分散システム内でサポートされるポリシ・プロトコ
    ルの各セットに対して、サービス・オブジェクトのアド
    レスのディレクトリを登録するステップと、 前記リモート・メソッド呼び出しの発行に際し、前記リ
    モート・メソッド呼び出しを実行するように適応化され
    た全てのサービス・オブジェクトのアドレスを獲得し、
    前記アドレスの1つを選択するステップと、 前記アドレスの1つが選択される前記ディレクトリの前
    記ポリシ・プロトコルを、前記リモート・メソッドに結
    合するステップと、 前記リモート・メソッド呼び出しを前記分散システムを
    介して、サーバ上の前記サービス・オブジェクトに伝達
    するステップと、 を含む、方法。
  2. 【請求項2】前記登録ステップが、前記サービス・オブ
    ジェクトの実体化に際し発生する、請求項1記載の方
    法。
  3. 【請求項3】前記登録ステップが、前記サービス・オブ
    ジェクトのハードコード化アドレスが前記分散システム
    においてアクセスされるときに発生する、請求項1記載
    の方法。
  4. 【請求項4】前記登録ステップが、 前記分散システム内でサポートされるミドルウェア・ポ
    リシの全てのセットのディレクトリを登録するステップ
    と、 前記サービス・オブジェクトの実体化に際し、前記サー
    ビス・オブジェクト・アドレスを前記サービス・オブジ
    ェクトによりサポートされるミドルウェア・ポリシのセ
    ットを表すあらゆるディレクトリにエクスポートするス
    テップと、 実体化される前記サービス・オブジェクトに対してサポ
    ートされる前記ミドルウェア・ポリシを登録するステッ
    プと、 を含む、請求項1記載の方法。
  5. 【請求項5】前記ディレクトリに登録される前記ミドル
    ウェア・ポリシのセットがクラス・ライブラリから獲得
    される、請求項4記載の方法。
  6. 【請求項6】前記リモート・メソッド呼び出しがオブジ
    ェクト・プロキシを介して発行される、請求項1記載の
    方法。
  7. 【請求項7】前記サーバにおける受信に際し、前記リモ
    ート・メソッド呼び出しに結合された前記ポリシ・プロ
    トコルを検証するステップと、 前記検証が失敗の場合、前記分散システムを通じて例外
    を返却するステップと、 を含む、請求項1または4記載の方法。
  8. 【請求項8】前記サーバにおける受信に際し、前記リモ
    ート・メソッド呼び出しに結合された前記ポリシ・プロ
    トコルを検証するステップと、 前記検証が成功の場合、前記サービス・オブジェクトに
    対して前記リモート・メソッド呼び出しを実行するステ
    ップと、 を含む、請求項1または4記載の方法。
  9. 【請求項9】分散システムにおいて発行されるリモート
    ・メソッド呼び出しに対するポリシ・プロトコルの自動
    割当て機構であって、 各々が特定のポリシ・プロトコル・セットに関連付けら
    れ、該特定のポリシ・プロトコル・セットをサポートす
    る前記分散システム内のサーバ上の各サービス・オブジ
    ェクトの名前及びアドレスを含む、少なくとも1つのデ
    ィレクトリを有するフレームワークと、 前記リモート・メソッド呼び出しを実行するように適応
    化された1サービス・オブジェクトのアドレスを前記デ
    ィレクトリ内で突き止め、選択する手段と、 前記リモート・メソッド呼び出しをネットワークを通じ
    て伝達する以前に、前記ディレクトリの前記特定のポリ
    シ・プロトコル・セットを前記リモート・メソッド呼び
    出しに結合する手段と、 を含む、機構。
  10. 【請求項10】前記特定のポリシ・プロトコル・セット
    が特定のミドルウェアに関連付けられるポリシ特性を含
    む、請求項9記載の機構。
  11. 【請求項11】前記ディレクトリが、特定の分散システ
    ム・フォーマットに従いハード・コード化されたアドレ
    スを前記サービス・オブジェクト内に含む、請求項9記
    載の機構。
  12. 【請求項12】前記分散システム内でサポートされる特
    定の前記ポリシ・プロトコル・セットに関するデータを
    含むクラス・ライブラリを含む、請求項9記載の機構。
  13. 【請求項13】前記サーバにおいて、前記リモート・メ
    ソッド呼び出しに結合された前記ポリシプロトコルを検
    証する手段を含む、請求項9記載の機構。
  14. 【請求項14】クラス・ライブラリ及びプログラム・コ
    ードにより回復されるデータ記憶媒体であって、該デー
    タ記憶媒体からプログラム・データをメモリに読み出
    し、実行する汎用コンピュータと一緒に、請求項9また
    は13記載の装置を構成する、データ記憶媒体。
JP8185988A 1995-11-06 1996-07-16 複数ミドルウェアに渡る分散オブジェクトの位置透過性 Pending JPH09223116A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002162188A CA2162188C (en) 1995-11-06 1995-11-06 Location transparency of distributed objects over multiple middlewares
CA2162188 1995-11-06

Publications (1)

Publication Number Publication Date
JPH09223116A true JPH09223116A (ja) 1997-08-26

Family

ID=4156910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8185988A Pending JPH09223116A (ja) 1995-11-06 1996-07-16 複数ミドルウェアに渡る分散オブジェクトの位置透過性

Country Status (3)

Country Link
US (1) US5822521A (ja)
JP (1) JPH09223116A (ja)
CA (1) CA2162188C (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041365A (en) * 1985-10-29 2000-03-21 Kleinerman; Aurel Apparatus and method for high performance remote application gateway servers
US6272672B1 (en) * 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6742022B1 (en) * 1995-12-11 2004-05-25 Openwave Systems Inc. Centralized service management system for two-way interactive communication devices in data networks
US5809415A (en) 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US6085250A (en) * 1997-03-20 2000-07-04 Efficient Networks, Inc. Method and system for using layered networking application program interfaces (APIs) using a native asynchronous transfer mode (ATM) API
US6038603A (en) * 1997-03-25 2000-03-14 Oracle Corporation Processing customized uniform resource locators
US6408342B1 (en) * 1997-03-28 2002-06-18 Keith E. Moore Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US6157960A (en) * 1997-05-07 2000-12-05 International Business Machines Corporation Technique for programmatically creating distributed object programs
US6088659A (en) 1997-09-11 2000-07-11 Abb Power T&D Company Inc. Automated meter reading system
US6167449A (en) * 1997-11-19 2000-12-26 Apple Computer, Inc. System and method for identifying and locating services on multiple heterogeneous networks using a query by type
US8650320B1 (en) * 1998-03-23 2014-02-11 Software Ag Integration server supporting multiple receiving channels
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
US6823521B1 (en) * 1999-02-26 2004-11-23 International Business Machines Corporation Apparatus and method for communicating between computer systems using active datastreams
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6671724B1 (en) 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US7260635B2 (en) * 2000-03-21 2007-08-21 Centrisoft Corporation Software, systems and methods for managing a distributed network
US6892205B1 (en) * 2001-02-28 2005-05-10 Oracle International Corporation System and method for pre-compiling a source cursor into a target library cache
WO2002082229A2 (en) 2001-04-09 2002-10-17 America Online Incorporated Server-based browser system
US6988193B2 (en) 2001-06-28 2006-01-17 International Business Machines Corporation System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US20040015537A1 (en) * 2002-07-15 2004-01-22 Richard Doerksen Handheld client framework system
US20040216147A1 (en) * 2002-07-18 2004-10-28 Motorola, Inc. Component based application middleware framework
US7627626B2 (en) * 2003-04-21 2009-12-01 Gateway, Inc. System for restricting use of a grid computer by a computing grid
US7584504B2 (en) * 2004-05-19 2009-09-01 Unisys Corporation Embedding a security support provider interface in a communication class library
US7742430B2 (en) 2004-09-24 2010-06-22 Elster Electricity, Llc System for automated management of spontaneous node migration in a distributed fixed wireless network
US7702594B2 (en) 2004-09-24 2010-04-20 Elster Electricity, Llc System and method for automated configuration of meters
US7493400B2 (en) * 2005-05-18 2009-02-17 Oracle International Corporation Creating and dissolving affinity relationships in a cluster
US8073384B2 (en) 2006-12-14 2011-12-06 Elster Electricity, Llc Optimization of redundancy and throughput in an automated meter data collection system using a wireless network
US8320302B2 (en) 2007-04-20 2012-11-27 Elster Electricity, Llc Over the air microcontroller flash memory updates
CA2710696C (en) 2007-12-26 2016-05-17 Andrew J. Borleske Optimized data collection in a wireless fixed network metering system
US8525692B2 (en) 2008-06-13 2013-09-03 Elster Solutions, Llc Techniques for limiting demand from an electricity meter with an installed relay
US8203463B2 (en) 2009-02-13 2012-06-19 Elster Electricity Llc Wakeup and interrogation of meter-reading devices using licensed narrowband and unlicensed wideband radio communication

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01502861A (ja) * 1987-09-04 1989-09-28 ディジタル イクイプメント コーポレーション 多重転送プロトコルを支援するデジタル処理システム用回路網内のセッション制御
EP0338041B1 (en) * 1987-09-08 1994-06-01 Digital Equipment Corporation Naming service for networked digital data processing system
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
WO1994011810A1 (en) * 1992-11-13 1994-05-26 Microsoft Corporation A method and system for marshalling interface pointers for remote procedure calls
US5491800A (en) * 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5596723A (en) * 1994-06-23 1997-01-21 Dell Usa, Lp Method and apparatus for automatically detecting the available network services in a network system

Also Published As

Publication number Publication date
CA2162188A1 (en) 1997-05-07
US5822521A (en) 1998-10-13
CA2162188C (en) 1999-05-25

Similar Documents

Publication Publication Date Title
JPH09223116A (ja) 複数ミドルウェアに渡る分散オブジェクトの位置透過性
US6687831B1 (en) Method and apparatus for multiple security service enablement in a data processing system
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
JP3072709B2 (ja) 要求伝達方法
US6282581B1 (en) Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US6408342B1 (en) Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US5727145A (en) Mechanism for locating objects in a secure fashion
US6832238B1 (en) Local transaction management
EP0501610B1 (en) Object oriented distributed computing system
EP0660234B1 (en) Method and system for executing code remotely
US5787251A (en) Method and apparatus for subcontracts in distributed processing systems
JP3519920B2 (ja) オブジェクトのネーミングを管理するための方法、オブジェクトの物理corbaアドレス上でオブジェクトの論理アドレスを表示するための方法およびコンピュータシステム
US8307380B2 (en) Proxy object creation and use
US20020004848A1 (en) System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server
US6249818B1 (en) Network transport driver interfacing
US6920410B2 (en) Systems and methods for testing a network service
JP2001522114A (ja) 分散を意識させない態様で分散ソフトウェア開発を容易にするための方法およびシステム
JP2005522787A (ja) 物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ
JPH11242605A (ja) マルチスレッドのクライアント・ベースapiをシングルスレッドのサーバ・ベースapiにインタフェースさせる方法、装置、およびプログラム製品
KR100370548B1 (ko) 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
US20050108650A1 (en) Server visualization and control
US6499063B1 (en) Client/server computing for transaction processing with superior coordinator optimization
AU775624B2 (en) Method and apparatus for dynamic command extensibility in an intelligent agent
KR101190597B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050926

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050926