JP2002505466A - 遠隔メソッド呼出し方法及び装置 - Google Patents

遠隔メソッド呼出し方法及び装置

Info

Publication number
JP2002505466A
JP2002505466A JP2000533810A JP2000533810A JP2002505466A JP 2002505466 A JP2002505466 A JP 2002505466A JP 2000533810 A JP2000533810 A JP 2000533810A JP 2000533810 A JP2000533810 A JP 2000533810A JP 2002505466 A JP2002505466 A JP 2002505466A
Authority
JP
Japan
Prior art keywords
module configured
invoke
request
machine
invoked
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
JP2000533810A
Other languages
English (en)
Inventor
アン エム ウォールラス
ピーター シー ジョーンズ
Original Assignee
サンマイクロシステムズ インコーポレーテッド
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 サンマイクロシステムズ インコーポレーテッド filed Critical サンマイクロシステムズ インコーポレーテッド
Publication of JP2002505466A publication Critical patent/JP2002505466A/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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 総称コードを用いた遠隔メソッド呼出しのための方法及び装置を提供する。 【解決手段】 クライアントマシンは、メソッドオブジェクトの識別子を含む遠隔オブジェクトのメソッドを呼び出すためのコールを転送する。サーバマシンは前記識別子を受信し、総称コードを用いてメソッドオブジェクトを呼出し、呼び出されたメソッドの標識を関連するパラメータと共に返す。

Description

【発明の詳細な説明】
【0001】 (関連出願) 以下に示す米国特許出願は、本出願が依拠し且つ参照によりその全てを記載す
るのと同等に本出願に援用されるものである。 1998年2月26日出願の米国特許仮出願番号60/076,048、発明の名称「分散型コ ンピュータ処理システム」。 同日出願の米国特許出願番号09/044,923、発明の名称「記憶装置の割当てのた
めの方法及びシステム」(代理人整理番号06502.0011-01000)。 同日出願の米国特許出願番号09/044,838、発明の名称「分散型システムにおけ
る委任証明の割当てのための方法、装置及び製品」(代理人整理番号06502.0011
-02000)。 同日出願の米国特許出願番号09/044,834、発明の名称「分散型システムにおけ
るグループ帰属関係の割当てのための方法、装置及び製品」(代理人整理番号06
502.0011-03000,)。 同日出願の米国特許出願番号09/044,933、発明の名称「イベント指向システム
における転送動作の方法」(代理人整理番号06502.0054-00000)。 同日出願の米国特許出願番号09/044,919、発明の名称「分散型システムにおけ
るイベント通知のための遠隔ロード及びオブジェクトの繰延べ再構築」(代理人
整理番号06502.0062-01000)。 同日出願の米国特許出願番号09/045,652、発明の名称「リモート方法を識別す
る決定論的ハッシュのための方法及び装置」(代理人整理番号06502.0103-00000
)。 同日出願の米国特許出願番号09/044,790、発明の名称「分散型システムにおけ
るリモートオブジェクトのステータスを決定するための方法及び装置」(代理人
整理番号06502.0104-00000)。 同日出願の米国特許出願番号09/044,930、発明の名称「分散型システムにおけ
るリモート手続きコールに関連して処理を実行するためのダウンロード可能なス
マートな委任」(代理人整理番号06502.0105-00000)。 同日出願の米国特許出願番号09/044,917、発明の名称「リモート方法の中止及
び継続」(代理人整理番号06502.0106-00000)。 同日出願の米国特許出願番号09/044,835、発明の名称「データベースにおける
マルチ・エントリー及びマルチ・テンプレート突合せのための方法及びシステム
」(代理人整理番号06502.0107-00000)。 同日出願の米国特許出願番号09/044,839、発明の名称「データベースの内部で
変更するための方法及びシステム」(代理人整理番号06502.0108)。 同日出願の米国特許出願番号09/044,945、発明の名称「データベースにおける
タイプに関わらない属性突合せのための方法及びシステム」(代理人整理番号06
502.0109-00000)。 同日出願の米国特許出願番号09/044,931、発明の名称「分散型システムにおけ
る動的ルックアップサービス」(代理人整理番号06502.0110-00000)。 同日出願の米国特許出願番号09/044,939、発明の名称「分散型システムにおけ
るデバイスとの通信に用いるダウンロード可能なコードの供給のための装置及び
方法」(代理人整理番号06502.0112-00000)。 同日出願の米国特許出願番号09/044,826、発明の名称「ルックアップサービス
へのアクセスを容易にするための方法及びシステム」(代理人整理番号06502.01
13-00000)。 同日出願の米国特許出願番号09/044,932、発明の名称「分散型システムにおけ
る情報の動的証明のための装置及び方法」(代理人整理番号06502.0114.00000)
。 1998年2月26日出願の米国特許出願番号09/030,840、発明の名称「ネットワー クをまたぐ動的分散コンピュータ処理のための方法及び装置」。 同日出願の米国特許出願番号09/044,936、発明の名称「持続的な共有メモリー
空間のためのインタラクティブ・デザイン・ツール」(代理人整理番号06502.01
16-00000)。 同日出願の米国特許出願番号09/044,934、発明の名称「多様性を有するトーク
ン指向制御」(代理人整理番号06502.0117-00000)。 同日出願の米国特許出願番号09/044,915、発明の名称「スタック指向のアクセ
ス制御」(代理人整理番号06502.0118-00000)。 同日出願の米国特許出願番号09/044,944、発明の名称「スタック指向のセキュ
リティ要求」(代理人整理番号06502.0119-00000)。 同日出願の米国特許出願番号09/044,837、発明の名称「セキュリティ要求の方
法毎の指定」(代理人整理番号06502.0120-00000)。
【0002】 (発明の技術分野) 本発明は、分散型システムにおいてマシン間でオブジェクトを転送するシステ
ム及び方法に関し、更に詳しくは、分散型システムにおける遠隔メソッド呼出し
方法に関する。
【0003】 (発明の背景技術) 二地点間データ転送に重点を置く分散プログラムは、多くの場合、遠隔端末ア
クセス及びファイル転送のための専用プロトコルを使えばより適切且つ効率的に
実行できる。この種のプロトコルは、特定のプログラムに適合させて定められた
ものであり、従って、種々の分散プログラム(例えば、分散オペレーティングシ
ステム、電子メールシステム、会議システム、等)を構築するための基盤を提供
するものではない。
【0004】 従来の転送機能は、分散プログラムの構築の基盤として用いることが可能であ
るが、この種の機能は、異なるマシン毎に異なるデータ型を使用すること、同期
性を提供するための機構の不足、限定されたプログラミングパラダイムに対する
対応の欠如、といった多くの構成上の問題を抱えている。
【0005】 分散型システムは、普通、通信ネットワークによって相互接続された多数の異
なるタイプのマシンを含む。各マシンは、それぞれ独自の内部データの型、独自
のアドレス配列規則、及び、独自のオペレーティングシステムを有している。こ
の不統一さが分散型システムを構築する際の障害となっており、この結果、プロ
グラム開発者は、この種の不統一な分散型システム用に開発するプログラムに、
異なるマシンにおいても情報の処理及び解読を矛盾の無く一貫して行うための機
能を備えることを要求されていた。
【0006】 しかしながら、プログラムの大部分は処理と処理の間で要求・応答インタラク
ションを用いており、このため開始側(即ち、通信を開始するプログラム)はブ
ロックされ応答が帰ってくるのを待つことになり、この間アイドル状態となると
いう点に着目することにより、一つの簡略化が可能である。この簡略化は、処理
と処理の間の手続き呼出し機構によりモデル化することが可能である。この様な
機構の1つが、遠隔手順呼出し(RPC)と呼ばれるものである。
【0007】 RPCとは、同一或いは異なるコンピュータ上で実行される2つの処理(例え
ば、プログラム、アプレット、他)の間に、同期通信を提供する機構のことであ
る。簡単な例を挙げると、クライアントプログラムのような1つのプロセスがサ
ーバプログラムのような他のプロセスにメッセージを送る場合がある。この場合
、メッセージの送信或いは受信のいずれにおいても処理を同期させる必要はない
。クライアントプログラムはメッセージを送信しその後新たな動作に移ることも
可能であるし、或いは、サーバプログラムが新規メッセージを処理できる状態に
なるまで、送信されてくるメッセージをサーバプログラム環境がバッファに入れ
ておくことも可能である。
【0008】 しかしながら、RPCは同期に制約を課すものである。なぜならば、RPCは
、呼出し処理において、パラメータが一方向へ通過すること、サーバプログラム
が呼出された手続きを完了するまで呼出し手続きをブロックすること、及び、そ
の後応答を返すことを要求するローカル手続き呼出しを忠実にモデルしているか
らである。このように、RPCは2つのメッセージの転送と呼出しの継続時間中
における2つの処理の同期とに関わる。
【0009】 RPC機構は、通常、ローカル手続き呼出しパラダイムを用いて、一方がクラ
イアント側、他方がサーバ側の2つの処理部分に分けて実装される。これら2つ
の処理部分については、いずれも図1を参照して後述する。
【0010】 図1は、RPC機構を用いたときの呼出し情報の流れを示す概念図である。図
1に示すように、クライアントプログラム100がコールを発信する(ステップ
102)。その後、RPC機構101が前記コールをコールパケットの引数とし
てパックし(ステップ103)、このコールパケットをRPC機構101がサー
バプログラム109に転送する(ステップ104)。コールパケットは、前記コ
ールを最初に送ったクライアントプログラム100を識別するための情報も含ん
でいる。コールパケットの送信後(ステップ104)、サーバプログラム109
からの応答を待つ間、RPC機構101は待ち状態に入る。
【0011】 サーバプログラム109側のRPC機構108(サーバプログラム109がク
ライアントプログラム100と同一のプラットフォームで動作している場合は、
これをRPC機構101と同一の機構としてもよい)は、コールパケットを受信
し(ステップ110)、コールパケットからコールの引数をアンパックし(ステ
ップ111)、コールがアドレス指定されているサーバプログラム109を前記
コール情報を基に識別し、サーバプログラム109にコールの引数を渡す。
【0012】 サーバプログラムは前記コールを受信し(ステップ112)、該当する手続き
を呼出してコールを処理し(ステップ115)、RPC機構108に応答を返す
(ステップ116)。その後、RPC機構108は、応答パケットに応答をパッ
クし(ステップ114)、この応答パケットをクライアントプログラム100へ
転送する(ステップ113)。
【0013】 前記応答パケットを受信すると(ステップ107)、これをトリガとして、R
PC機構101が待ち状態から抜け出し、応答パケットから応答をアンパックす
る(ステップ106)。この後、RPC101は、前記コールへの応答をクライ
アントプログラムシステム100に返す(ステップ105)。以上が、ローカル
手続き呼出しをモデルとする代表的なRPC機構の処理の流れである。RPC機
構は、ローカル手続き呼出しパラダイムを使用しているので、クライアントプロ
グラム100は応答を受け取るまでコールによってブロックされる。このように
、クライアントプログラム100はコールの転送後、クライアントプログラム1
00自身の処理を継続せず、サーバプログラム109からの応答を待つことにな
る。
【0014】 JavaTMプログラミング言語は、オブジェクト指向プログラミング言語で
あり、通常、バイトコード命令セットを用いてプラットフォーム非依存のフォー
マットにコンパイルされるが、これはJava仮想マシン(JVM)をサポート
するいかなるプラットフォーム上でも実行可能である。このJavaTMプログ
ラミング言語については、例えば、参照することにより本明細書に援用する、ジ
ェームス ゴスリング、ビル ジョイ、及び、ガイ スティール共著、「Jav
a言語仕様」(1996年、アジソン・ウェスレイ発行)に説明されている。J
VMについては、例えば、参照により援用する、ティム リンドホルム及びフラ
ンク イエリン共著、「Java仮想マシン仕様」(1996年、アジソン・ウ
ェスレイ発行)に説明されている。Java及びJavaを基調とした商標は、
米国及びその他の国におけるサンマイクロシステムズインコーポレーテッドの商
標又は登録商標である。
【0015】 オブジェクト指向システムにおいて、「クラス」は、それぞれのクラスの特性
を有する「オブジェクト」(システムにより操作される項目或いはインスタンス
を表す)を生成するためのテンプレートを提供するものである。テンプレートと
いう用語は、各クラスのオブジェクト(即ち、データ項目)がそのクラスによっ
て決定される、ある一定の特性即ち属性を共有することを表す。このように、ク
ラスとはオブジェクトの型を定義するものである。オブジェクトは、通常、シス
テムのオペレーション中に動的に作成される。通例、クラスに関連付けられたメ
ソッドは同じクラス或いはサブクラスのオブジェクト上に呼出される(即ち、か
かるオブジェクト上で動作させられる)。
【0016】 JVMはいかなるタイプのプラットフォームでも実装可能であるので、JVM
を使って分散型システムを実装することにより、不統一な分散型システム用のプ
ログラム開発が抱える困難性が大幅に減少する。その上、JVMは、システムの
プログラム間での通信を可能にする遠隔メソッド呼出し(RMI)システムを用
いる。RMIについては、例えば、参照により援用する、サンマイクロシステム
ズインコーポレーテッドによる「遠隔メソッド呼出し仕様」(1997年発行)
に説明されている。尚、同文書は下記のURLからも入手可能である。 http://www.javasoft.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.
html.
【0017】 図2は、JVMを使ってメソッド呼出しの送受信を行うマシン201、202
を有するオブジェクト指向分散システム200におけるオブジェクトの流れを示
した概念図である。システム200においては、マシン201は、オブジェクト
203からのコールに応答するのにRMI205を用いる。前記コールは、遠隔
メソッド204にメソッドを呼び出すためのコールであり、識別子及びその他の
パラメータを含むが、メソッドの呼出しはこのコールをバイトストリーム207
に変換することによって行う。マシン201がオブジェクト203からのコール
に応答する間も、該マシン或いはシステム201に含まれる他のマシン上で実行
中の処理を、要求に対する応答を待つことなく引き続き行うことが可能である。
【0018】 マシン202はバイトストリーム207を受信し、これをRMI206を使っ
て実行可能なバイトコードに自動的に変換しオブジェクト204上のメソッド呼
出しを起動する。RMIは、また、オブジェクトを遠隔マシン上で実行中の処理
に関連して使用する際に、分散型システム内でオブジェクトを転送するのにも用
いられる。
【0019】 かかるマシンは、RMIを実行するのにスタブ及びスケルトンと呼ばれるRM
Iコンパイラにより生成されるコードを用いる。スタブはクライアントマシン上
に存在し、遠隔のオブジェクトに対する参照を含み、該遠隔オブジェクトのプロ
キシとして振る舞う。スケルトンもまた遠隔オブジェクトのプロキシであるが、
スケルトンは、その遠隔オブジェクトを有するサーバマシン上に存在する。つま
り、クライアントマシン上にあるスタブが遠隔オブジェクトのメソッド呼出しの
コールを発信し、サーバコンピュータ上にあるスケルトンが、前記遠隔オブジェ
クトを含んでいることになる。加えて、遠隔オブジェクトは、関連する定数及び
メソッドの集合であるインターフェースを介して参照される。通常、スタブ及び
スケルトンは、コールに関わる遠隔オブジェクトに基づいて型を特定されていな
ければならない。従って、様々な型のオブジェクトを伴うRMIに対しては、様
々な型のスタブ及びスケルトンが存在する必要がある。スタブ及びスケルトンに
ついては、例えば、参照により援用する、ジェイミー ジャオルスキー著「Ja
va1.1開発者ガイド、第二版」(1997年、サムズネットパブリッシング
発行)の371〜383ページに説明されている。また、上述の「遠隔メソッド
呼出し仕様」にもその説明がある。
【0020】 この様に、様々な型のオブジェクトを伴うRMI呼出しに用いるための総称コ
ードが必要とされている。
【0021】 (発明の概略) 本発明に係る第1の方法は、オブジェクトのメソッドを呼出す要求を受け取る
工程と呼出すべき前記メソッドを総称コードを用いて決定する工程とを有する。
前記メソッドは前記決定に基づいて呼び出され、前記呼出されたメソッドの標識
が提供される。
【0022】 本発明に係る第2の方法は、特定のクラスのオブジェクトのメソッドを呼出す
要求を受け取る工程と前記メソッドを前記クラス全てに共通の処理を用いて決定
する工程とを有する。前記メソッド前記決定に基づいてを呼び出され、前記呼出
されたメソッドの標識が提供される。
【0023】 本発明に係る第3の方法は、第1のオブジェクトの第1のメソッドと前記第1
のオブジェクトとは異なる型の第2のオブジェクトの第2のメソッドとを呼出す
要求を受け取る工程と、呼出すべき前記第1及び第2のメソッドを共通の処理を
用いて決定する工程とを有する。前記第1及び第2のメソッドは前記決定に基づ
いて呼び出され、前記呼出された第1のメソッド及び第2のメソッドの標識が提
供される。
【0024】 本発明に係る第1の装置は、オブジェクトのメソッドを呼出す要求を受け取り
、呼出すべき前記メソッドを総称コードを用いて決定する。該装置は、前記メソ
ッドを前記決定に基づいて呼出し、前記呼出されたメソッドの標識を提供する。
【0025】 本発明に係る第2の装置は、特定のクラスのオブジェクトのメソッドを呼出す
要求を受け取り、前記メソッドを前記クラス全てに共通の処理を用いて決定する
。該装置は、前記メソッドを前記決定に基づいて呼出し、前記呼出されたメソッ
ドの標識を提供する。
【0026】 本発明に係る第3の装置は、第1のオブジェクトの第1のメソッドと、前記第
1のオブジェクトとは異なる型の第2のオブジェクトの第2のメソッドとを呼出
す要求を受け取り、呼出すべき前記第1及び第2のメソッドを共通の処理を用い
て決定する。該装置は、前記第1及び第2のメソッドを前記決定に基づいて呼出
し、前記呼出された第1のメソッド及び第2のメソッドの標識を提供する。
【0027】 (発明の詳細な説明) 添付の図面は、本明細書に援用され本明細書の一部を構成するものであり、本
発明の詳細な説明と共に本発明の利点と原理を説明するものである。
【0028】 (概観) 本発明に係るシステムは、総称プロキシクラスを用いて遠隔メソッド呼出しを
実行するものである。一般的に、クライアントマシンは、メソッドオブジェクト
の識別子を含む遠隔オブジェクトのメソッドを呼び出すためのコールを送信する
。サーバマシンは、かかる識別子を受信し、且つ、どのクラスにも特定でない総
称コードを使って呼出すべきメソッドを示す標識を得るが、これはいかなる型の
パラメータであってもよい。
【0029】 クライアントが遠隔オブジェクトに対するスタブを受け取る際、総称プロキシ
クラスのインスタンスは、遠隔オブジェクトが実装している全ての遠隔インター
フェースを把握している。クライアントがスタブ(型に依存しない総称プロキシ
クラス)にメソッドを呼出すと、プロキシの呼出しメソッドが呼出されるが、こ
れはクライアントがどのメソッドをそのオブジェクトに呼出したかを示すメソッ
ドオブジェクト、及び、そのメソッドのパラメータリストといった情報と共に呼
出される。メソッドオブジェクトには、メソッド名、引数の型、及び、応答の型
といった情報が含まれる。ただし、メソッドオブジェクトに含まれる情報はこれ
に限定されるものではない。それぞれの型は、「オブジェクト」型か、或いは、
「基本」型のいずれかである。
【0030】 プロキシは、そのメソッドに対するメソッドハッシュの算出、コールの転送を
行うが、この転送はRMIを介して行ってもよい。かかるコールには、コールを
受け取るオブジェクトの識別子、メソッドハッシュ、及び、(メソッドオブジェ
クトにおいて特定された型に応じて)整列化されたパラメータといった情報が含
まれる。ただし含まれる情報はこれに限定されるものではない。パラメータの整
列はメソッドオブジェクトの引数の型の情報に依存するのみであるので、総称プ
ロキシコードで行ってもよい。
【0031】 サーバは、前記コールを受け取り、オブジェクト識別子及びメソッド識別子を
読み取る。メソッド識別子は、所期するメソッドオブジェクトを決定するのに用
いられるが、これはメソッドハッシュをメソッドオブジェクトに対応づけるルッ
クアップテーブルを用いて行う。メソッドオブジェクトが与えられると、サーバ
側の総称コードは、メソッドオブジェクトから型を検出できるので、パラメータ
を非整列化し、実際の遠隔オブジェクトインプリメンテーションにメソッドを呼
出す。呼出しの結果は、総称コードとメソッドオブジェクトから得た応答の型と
を用いてクライアントに整列化される。
【0032】 クライアント側の総称プロキシは、メソッドオブジェクトの応答型の情報及び
呼出しへの応答の結果を用いて戻り値を読み取る。
【0033】 (分散型処理システム) 図3は、本発明に係る一実施形態において好適に用いられる分散型処理システ
ム300を示す。図3において、分散型処理システム300は、3つの独立した
、異なる種類のプラットフォーム301、302、303を有しており、これは
、ネットワークを表す雲形319によって図示されるネットワーク構成に接続さ
れている。雲形319で図示したネットワーク構成は、プラットフォーム301
、302、303間の情報通信を可能にするものであればよく、その構成及びプ
ロトコルは重要でない。また、ここでプラットフォームを3つ用いたのもあくま
でも説明のためであり、本発明の実施形態を特定の数のプラットフォームの使用
に限定するものではない。更に、本発明の実施形態は、特定のネットワークアー
キテクチャに左右されるものではない。例えば、本発明の実施形態に用いること
ができる上記以外のネットワークアーキテクチャとしては、1つのプラットフォ
ームを、接続される他のプラットフォーム全てのコントローラとして用いるもの
でもよい。
【0034】 分散型処理システム300の具体化において、各プラットフォーム301、3
02、303は、プロセッサ316、317、318、及び、メモリ304、3
05、306をそれぞれ含み、各メモリ304、305、306には、アプリケ
ーション307、308、309、及び、オペレーティングシステム310、3
11、312、更に、RMIコンポーネント313、314、315がそれぞれ
格納されている。
【0035】 アプリケーション307、308、309は、前もって記述或いは修正を加え
たアプリケーション或いはプログラムでもよいし、本発明の具体化において提供
されるサービスの利点を生かすため特別に記述されたアプリケーション或いはプ
ログラムでもよい。アプリケーション307、308、309は、本発明の具体
化に従い実行すべき操作を呼出す。
【0036】 オペレーティングシステム310、311、312は、通常、それぞれ対応す
るプロセッサ316、317、318に強固に関連付けられたオペレーティング
システムである。プラットフォーム301、302、303はそれぞれ異なる種
類のプラットフォームとしてもよい。例えば、プラットフォーム301は、サン
マイクロシステムズ社製のUltraSparc(登録商標)をプロセッサ31
6として含み、ソラリス(登録商標)をオペレーティングシステム310として
用いるとしてもよい。プラットフォーム302は、シリコングラフィクス社製の
MIPSマイクロプロセッサをプロセッサ317として含み、オペレーティング
システム311にユニックスを用いるとしてもよい。プラットフォーム303は
、インテル社製のペンティアムマイクロプロセッサをプロセッサ318として含
み、マイクロソフト社のウィンドウズ95をオペレーティングシステム312と
して用いるとしてもよい。本発明の実施形態はさほど限定されておらず、同種の
プラットフォームのみを用いる場合にも当然適用可能である。
【0037】 Sun、Sun Microsystems、Solarisは、米国及びそ
の他の国におけるサンマイクロシステムズインコーポレーテッドの商標又は登録
商標である。UltraSparc及びこの他全てのSPARCの商標は、SP
ARC International,Inc.の許可を得て米国及びその他の
国で使用している。SPARC商標を付した製品は、サンマイクロシステムズイ
ンコーポレーテッドが開発したアーキテクチャを基礎にして製造されたものであ
る。
【0038】 メモリ304、305、306は、対応するプラットフォームにおいて一般的
な記憶装置としての機能を果たす。もう1つの機能は、各々のプロセッサ316
、317、318の実行中、アプリケーション307、308、309、RMI
コンポーネント313、314、315、及び、オペレーティングシステム31
0、311、312をそれぞれ格納することである。加えて、メモリ304、3
05、306を部分的に、ネットワーク319の全てのプラットフォーム301
、302、303が使用可能な共用記憶域として構成してもよい。尚、RMIコ
ンポーネント313、314、315はJVMと協動して動作するが、JVMは
図の簡略化のため図示していない。
【0039】 (分散型システムインフラストラクチャ) 本発明に係るシステム及び方法は、図4及び図5を参照して説明する例示的な
分散型システム400においても実行可能である。分散型システム400は、ハ
ードウェア及びソフトウェアなどの様々な構成要素により構成されるが、これら
の構成要素は、(1)システムユーザが、多数のデバイスのサービス及び機能を
ネットワークを介して共用することを可能にする、(2)プログラマに、強固で
安全な分散型システムの開発を可能にするツール及びプログラミングパタンを提
供する、(3)分散型システムの管理タスクを簡易化する、ためのものである。
かかる目的実現のため、分散型システム400はJavaプログラミング環境を
使用して、コード及びデータの両方をデバイスからデバイスへスムーズに転送す
ることを可能にする。従って、分散型システム400はJavaプログラミング
環境の最上層に位置し、セキュリティ及び強固な型付け等、かかる環境が提供す
る特性を全て利用する。
【0040】 図4及び図5の分散型システム400には、異なるコンピュータ及びデバイス
がユーザには見かけ上1つのシステムであるかのように統合されている。単一の
システムのような見かけにより、分散型システム400は、パソコンやワークス
テーションが持つ柔軟性及び各ユーザ個人に専用化された応答性を損なうことな
く、単一システムによって提供されるアクセスにおける簡易性と共用による利点
とを提供する。分散型システム400は、地理的に分散しているが、信用、管理
、方針などの基本的概念に同意しているユーザにより操作される何千ものデバイ
スを含むことが可能である。
【0041】 代表的な分散型システムには、1または複数のデバイスにより提供されるサ
ービスの様々な論理グループがあり、この様な各論理グループはそれぞれ「Dj
inn」として周知である。ここでいう「サービス」とは、ユーザ、プログラム
、デバイス、或いは、他のサービスからアクセス可能であり、且つ、計算、保存
、通信、或いは、他のユーザへのアクセス提供に関わる資源、データ、或いは、
機能を指す。Djinnの一部として提供されるサービスには、例えば、プリン
タ、ディスプレイ、ディスクといったデバイス、プログラム、ユーティリティと
いったソフトウェア、データベース、ファイルといった情報、システムのユーザ
が含まれる。
【0042】 ユーザ及びデバイスはその両方ともDjinnに参加することが可能である。
Djinnに参加することにより、ユーザ或いはデバイスはDjinnに0個以
上のサービスを追加し、セキュリティ制約の対象にはなるが、Djinnに含ま
れるどのサービスにでもアクセスすることが可能になる。Djinnに統合され
るデバイス及びユーザは、Djinnの有するサービスへのアクセスを共有する
。Djinnのサービスはプログラム上JavaTMプログラミング環境におけ
るオブジェクトとして現れ、他のオブジェクト、異なるプログラミング言語で書
かれたソフトウェアコンポーネント、或いはハードウェアデバイスを含んでもよ
い。サービスは、かかるサービスの要求可能な操作を定義するインターフェース
を有し、そのサービスの型はかかるサービスを構成するインターフェースを決定
する。
【0043】 分散型システム400は、ネットワーク408を介して相互接続された、コン
ピュータ402、コンピュータ404、デバイス406から成る。デバイス40
6は、プリンタ、ファックス機、記憶装置、コンピュータ他の多数のデバイスの
内いずれであってもよい。ネットワーク408は、ローカルエリアネットワーク
、広域ネットワーク、或いは、インターネットなどである。分散型システム40
0は、ここでは2台のコンピュータと1台のデバイスのみを含むが、分散型シス
テム400が更に他のコンピュータやデバイスを含みうることは、当業者には当
然認識されるところである。
【0044】 図5は、コンピュータ402を更に詳細に示して、分散型システム400の多
数のソフトウェアコンポーネントを図示する。コンピュータ404或いはデバイ
ス406も同様に構成されているであろうことは、当業者には当然認識されるも
のである。コンピュータ402は、メモリ502、二次記憶装置504、中央処
理装置(CPU)506、入力装置508、及び、ビデオディスプレイ510を
含む。メモリ502は、ルックアップサービス512、ディスカバリーサーバ5
14、及び、Javaランタイムシステム516を含む。Javaランタイムシ
ステム516は、JavaRMIシステム518及びJVM520を含む。二次
記憶装置504はJavaスペース522を含む。
【0045】 上述したように、分散型システム400はJavaプログラミング環境を基盤
としており、従って、Javaランタイムシステム516を使用する。Java
ランタイムシステム516はJavaAPIライブラリを含み、これにより、J
avaランタイムシステムの最上層で実行されるプログラムが、ホストオペレー
ティングシステムのウィンドウ機能及びネットワーク機能を含む種々のシステム
機能に、プラットフォーム非依存的にアクセスすることが可能になる。Java
APIライブラリは、Javaランタイムシステムが実装されている全てのオペ
レーティングシステムに共通する単一のAPIを提供するので、Javaランタ
イムシステムの最上層で実行されるプログラムが、オペレーティングシステム或
いはホストプラットフォームのハードウェア構成に関わらず、プラットフォーム
非依存的に実行される。Javaランタイムシステム516はJavaソフトウ
ェア開発キットの一部として、カリフォルニア州、マウンテンビュー所在のサン
マイクロシステムズインコーポレーテッドより提供されている。
【0046】 JVM520は、また、プラットフォーム非依存性を容易にする。JVM52
0は抽象的な計算装置の役割を果たし、プログラムからバイトコード形式の命令
を受け取り、かかるバイトコードを動的にオブジェクトコードなどの実行形式に
変換して翻訳し、これを実行する。RMI518は、1つのコンピュータ或いは
デバイスで実行中のオブジェクトが他のコンピュータ或いはデバイス上のオブジ
ェクトのメソッドを呼出すことを可能することによりオブジェクト遠隔メソッド
呼出しを容易にする。RMI及びJVMは、いずれもJavaソフトウェア開発
キットの一部として提供されている。
【0047】 ルックアップサービス512は、ある特定のDjinnで使用可能なサービス
を定義する。即ち、分散型システム400はDjinnを複数有している可能性
があり、従って、ルックアップサービスも分散型システム400内に複数存在す
る可能性がある。ルックアップサービス512は、Djinnの各サービスに対
しそれぞれ1つのオブジェクトを含んでおり、各オブジェクトは対応するサービ
スへのアクセスを容易にする様々なメソッドを含んでいる。ルックアップサービ
ス512については、参照により援用する、前述の米国出願、発明の名称「ルッ
クアップサービスへのアクセスを容易にするための方法及びシステム」に説明さ
れている。
【0048】 ディスカバリーサーバ514は、ブート・アンド・ジョイン(またはディスカ
バリ)として知られる処理において、いつ新たなデバイスが分散型システム40
0に追加されたかを検出する。新たなデバイスが検出されると、ディスカバリサ
ーバはルックアップサービス512にかかる新規デバイスの参照を渡す。これに
より、かかるデバイスはそのサービスをルックアップサービスに登録でき、Dj
innのメンバとなる。登録後、新規デバイスはDjinnのメンバとなり、こ
の結果、ルックアップサービス512に含まれる全てのサービスへのアクセスす
ることが可能になる。ブート・アンド・ジョイン処理については、参照により援
用する、前述の米国出願、発明の名称「分散型システムにおけるデバイスとの通
信に用いるダウンロード可能なコードの供給のための装置及び方法」に説明され
ている。
【0049】 Javaスペース522は、分散型システム400においてプログラムがオブ
ジェクトの保存に用いるオブジェクトリポジトリである。プログラムはJava
スペース522を使ってオブジェクトを永続的に保存し、且つ、分散型システム
400内の他の装置からアクセスできるようにする。Javaスペースについて
は、本出願と共通の譲受人に譲渡された、1997年11月17日出願の米国特
許出願番号08/971,529、発明の名称「多様エントリ及びエントリマッ
チングを用いたデータベースシステム」に説明されている。同出願は、参照によ
り援用するものとする。代表的な分散型システム400は、ルックアップサービ
ス、ディスカバリーサービス、及びJavaスペースをそれぞれ多数含みうるこ
とは、当業者には当然認識されるものである。
【0050】 (分散型処理システムにおけるデータの流れ) 図6は、マシン601及び602を繋ぐオブジェクト指向分散型ネットワーク
600を示したブロック図である。マシン601及び602は、例えば、コンピ
ュータ、或いは、1または複数のコンピュータ上で実行される仮想マシン、或い
は、図3、図4、及び、図5を参照に説明したマシンなどである。ネットワーク
600は、RMI602及び関連するコード603を有するクライアントマシン
601を含む。サーバマシン606は、RMI605及び遠隔オブジェクト60
8を含む。操作において、RMI602は、遠隔オブジェクト608のメソッド
の呼出しを要求するコール或いは要求601を転送する。RMI602は、総称
プロキシ604を使ってコール609をRMI605に転送する。総称プロキシ
604は、型に特化していないという利点を備えており、従って、様々な型の遠
隔オブジェクトのメソッドを呼出すことが可能である。表1は、総称プロキシク
ラスのクラス定義を示すが、これは、ネットスケープ・コミュニケーションズ社
によりJavaプログラミング言語を使って記述され、且つ、総称プロキシがメ
ソッドの呼出しを一連のインターフェースにおいてサポートするように拡張され
たものである。
【0051】
【表1】 package java.lang.reflect; public class Proxy { protected native Proxy(Class [] implementsInterface); protected abstract Object invoke(Method method, Object[] args); }
【0052】 遠隔オブジェクトの型に特定のスタブの位置には、代わりに総称プロキシが用
いられている。この総称プロキシはかかるプロキシに呼出すことが可能な全ての
メソッドを示す一連のインターフェースによって初期化されるものである。コー
ルがプロキシに出されると、プロキシの「呼出し」メソッドが「メソッドオブジ
ェクト」に渡されるが、この「メソッドオブジェクト」は、呼出されているメソ
ッドに関する情報を有し、且つ、オブジェクトの配列としてまとめられた必要な
引数を渡すものである。
【0053】 RMI605は、総称コード607を使って応答610を返す。総称コードは
、以下のことを実現するために用いられる。即ち、メソッド識別子に基づいてメ
ソッドをルックアップすること、メソッドオブジェクトで示されたそれぞれの型
に基づいてパラメータを非整列化すること、遠隔オブジェクトインプリメンテー
ションにメソッドを呼出すこと、クライアントへの応答結果を(型に基づいて)
整列化することである。応答は、転送されたオブジェクトの型の識別、オブジェ
クト状態を構成するデータ、オブジェクトに関連付けられたコードの、ネットワ
ークからアクセス可能なロケーションをURL形式で示したものを含んでもよい
【0054】 入力ストリーム及び出力ストリームを含む、Javaプログラミング言語に用
いられるストリームは、当業者には周知であり、その説明は、例えば、参照によ
り援用する、メアリー カンピオン、キャシー ウォルラス共著、「Javaチ
ュートリアル:インターネットのためのオブジェクト指向プログラミング」(1
996年、アジソン・ウェスレイ発行)の325〜53ページに記載されている
。オブジェクトストリームについての説明は、例えば、サンマイクロシステムズ
インコーポレーテッドにより提供される、「オブジェクト直列化仕様」に記載さ
れている。また、URLも当業者には周知であり、その説明は、例えば、参照に
より援用する、メアリー カンピオン、キャシー ウォルラス共著、「Java
チュートリアル:インターネットのためのオブジェクト指向プログラミング」(
1996年、アジソン・ウェスレイ発行)の494〜507ページに記載されて
いる。
【0055】 図7は、メソッドが呼出されるどの遠隔オブジェクトの型にも特定されていな
い総称コードを用いて行われるRMIの処理700を示したフローチャートであ
る。クライアントマシン601に含まれるアプリケーションが、総称プロキシク
ラスのインスタンスであるスタブ上にメソッドを呼出す(ステップ701)。総
称プロキシインスタンスの「呼出し」メソッドは、オブジェクト配列に組み込ま
れたメソッドオブジェクト及びパラメータリストと共に呼出される(ステップ7
02)。総称プロキシは、オブジェクトID、メソッドハッシュ、及び、整列化
されたパラメータを含む識別子をサーバマシンに転送する(ステップ703)。
【0056】 メソッドハッシュの使用に関する詳細は、参照により援用する前述の米国出願
、発明の名称「リモート方法を識別する決定論的ハッシュのための方法及び装置
」に説明されている。整列化は、オブジェクトの構築に用いられるコード或いは
コードの参照を含むバイトストリームからオブジェクトの構築を行うことに関す
る。整列化及び非整列化については、参照により援用する、1997年10月1
5日出願の米国特許出願番号08/950,756、発明の名称「分散型システ
ムにおけるオブジェクトの据え置き再構築及び遠隔ローディング」に説明されて
いる。
【0057】 サーバマシン606はオブジェクトID及びメソッドハッシュを読み取り(ス
テップ704)、読み取ったメソッドハッシュを使ってコールに対するメソッド
オブジェクトをルックアップする(ステップ705)。メソッドオブジェクトで
特定されたパラメータの型を与えられると、サーバマシン606は、その操作に
対するパラメータを非整列化する(ステップ706)。ステップ706は、特定
のメソッドに対する値をコンパイルし、遠隔オブジェクトが作成及びエクスポー
トされることにより起動されるメソッドテーブルの構築を伴うこともある。総称
コードは、メソッドハッシュと特定のメソッドとの間に対応関係を構築する。従
って、メソッドテーブルに含まれるハッシュを用いれば、メソッドハッシュをメ
ソッドオブジェクトに対応づけるメソッド呼出しのための、異なるオブジェクト
型に型付けされた異なるスケルトンが不要になる。
【0058】 サーバマシン606は、遠隔オブジェクトインプリメンテーションにメソッド
を呼出し(ステップ707)、メソッドオブジェクトに含まれる応答型の情報を
使って、コール側への応答結果を整列化する(ステップ708)。総称プロキシ
は、メソッドオブジェクトに含まれる応答型の情報を使ってこの応答結果を非整
列化し(ステップ709)、この結果をコール側、即ちクライアントマシン60
1へ返す(ステップ710)。
【0059】 図7に示したステップを具体化するマシンは、かかる機能を実行する、図3〜
6に示したようなコンピュータプロセッサを含んでもよい。これらのコンピュー
タプロセッサは、プロセッサにより上記の機能を実行するように構成されたモジ
ュール或いはプログラムを含んでもよいし、また、メモリに格納したコンピュー
タプログラムプロダクトを含んでもよい。コンピュータプログラムプロダクトは
、マシンに上記の機能を実行させるコンピュータ可読コードを組み込んだコンピ
ュータ可読媒体或いは媒体でもよい。前記媒体には、搬送波に載せたコンピュー
タデータ信号であり、プロセッサに実行されることにより、プロセッサに本明細
書で説明した方法を実行させて周辺機器を絶対アドレスで確実にアドレス指定す
る命令シーケンスを表すコンピュータデータ信号もその範疇に含まれる。加えて
、かかる媒体は、本明細書で説明した方法の実行に用いられるデータ構造として
もよい。
【0060】 以上、本発明に係るシステムの実施形態の例を、JVM上でJavaプログラ
ミング言語を実行するコンピュータシステムに言及して説明したが、本発明は、
異なるプログラミング言語によるコードを処理する他のコンピュータシステムに
も均しく適用可能である。特に、本発明は、オブジェクト指向のプログラミング
システムと非オブジェクト指向プログラミングシステムとのいずれによっても具
体化可能である。本発明に係る一実施例をJavaプログラミング環境において
動作するものとして説明したが、本発明は他のプログラミング環境においても同
様に用いることができることは、当業者には当然認識されるものである。
【0061】 本発明を実施例を示して説明したが、多くの変容が可能であることは当業者に
は容易に理解されるものであり、この適用は、本発明のあらゆる応用或いは変種
を含むことを意図するものである。例えば、本発明の範囲から逸脱することなく
、様々な型の総称コードを用いることが可能である。本発明は、添付の請求の範
囲及びその均等物によってのみ限定されるものである。
【図面の簡単な説明】
【図1】 RPC機能を使った呼出し情報の流れを説明する概念図である。
【図2】 オブジェクト指向分散型システムにおけるオブジェクトの転送を説明する概念
図である。
【図3】 本発明に係る一実施形態に好適に用いられる代表的な分散型処理システムを示
した概念図である。
【図4】 代表的な分散型システムのインフラストラクチャを示した概念図である。
【図5】 図4に示した分散型システムのインフラストラクチャのコンピュータを示した
概念図である。
【図6】 総称コードを用いてRMIを行うシステムを示したブロック図である。
【図7】 総称コードを用いて行う遠隔オブジェクトのメソッド呼出し処理を示したフロ
ーチャートである。
【符号の説明】
300 分散型処理システム 301、302、303 プラットフォーム 316、317、318 プロセッサ 394、305、306 メモリ 307、308、309 アプリケーション 310、311、312 オペレーティングシステム 313、314、315 RMIコンポーネント 402、404 コンピュータ 406 デバイス 408 ネットワーク 502 メモリ 504 二次記憶装置 506 中央処理装置(CPU) 508 入力装置 510 ビデオディスプレイ 512 ルックアップサービス 514 ディスカバリーサービス 516、518 Javaランタイムシステム 520 Java仮想マシン(JVM) 522 Javaスペース 600 オブジェクト指向分散型ネットワーク 601 クライアントマシン 602、605 RMI 603 コード 604 総称プロキシ 606 サーバマシン 607 総称コード 608 遠隔オブジェクト 609 コール或いは要求
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IN,IS,JP,KE, KG,KP,KR,KZ,LC,LK,LR,LS,L T,LU,LV,MD,MG,MK,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SL,TJ,TM,TR,TT,U A,UG,UZ,VN,YU,ZW (72)発明者 ジョーンズ ピーター シー アメリカ合衆国、01890 マサチューセッ ツ州、ウィンチェスター、ベーコン スト リート 85 Fターム(参考) 5B045 BB31 GG01

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 複数のマシンを有する分散型システムにおける遠隔メソッド
    呼出し方法であって、 オブジェクトのメソッドを呼出す要求を受け取る工程と、 呼出すべき前記メソッドを総称コードを用いて決定する工程と、 前記メソッドを前記決定に基づいて呼出す工程と、 前記呼出されたメソッドの標識を提供する工程とを有する。
  2. 【請求項2】 請求項1の方法であって、前記受け取り工程は、前記メソッ
    ドに対応付けられた識別子を提供する工程を有する。
  3. 【請求項3】 複数のマシンを有し且つ複数のクラスを定義する分散型オブ
    ジェクト指向システムにおける遠隔メソッド呼出し方法であって、 特定のクラスのオブジェクトのメソッドを呼出す要求を受け取る工程と、 前記メソッドを前記クラス全てに共通の処理を用いて決定する工程と、 前記メソッドを前記決定に基づいて呼出す工程と、 前記呼出されたメソッドの標識を提供する工程とを有する。
  4. 【請求項4】 請求項3の方法であって、前記受け取り工程は、前記メソッ
    ドに対応付けられた識別子を提供する工程を有する。
  5. 【請求項5】 複数のマシンを有する分散型システムにおける遠隔メソッド
    呼出し方法であって、 第1のオブジェクトの第1のメソッドと、前記第1のオブジェクトとは異なる
    型の第2のオブジェクトの第2のメソッドとを呼出す要求を受け取る工程と、 呼出すべき前記第1及び第2のメソッドを共通の処理を用いて決定する工程と
    、 前記第1及び第2のメソッドを前記決定に基づいて呼出す工程と、 前記呼出された第1のメソッド及び第2のメソッドの標識を提供する工程とを
    有する。
  6. 【請求項6】 複数のマシンを有する分散型システムにおける遠隔メソッド呼出し装置であっ
    て、 オブジェクトのメソッドを呼出す要求を受け取るよう構成されたモジュールと
    、 呼出すべき前記メソッドを総称コードを用いて決定するよう構成されたモジュ
    ールと、 前記メソッドを前記決定に基づいて呼出すよう構成されたモジュールと、 前記呼出されたメソッドの標識を提供するよう構成されたモジュールとを有す
    る。
  7. 【請求項7】 請求項6の装置であって、前記受け取りモジュールは、前記
    メソッドに対応付けられた識別子を提供するよう構成されたモジュールを有する
  8. 【請求項8】 複数のマシンを有する分散型システムにおける遠隔メソッド
    呼出し装置であって、 特定のクラスのオブジェクトのメソッドを呼出す要求を受け取るよう構成され
    たモジュールと、 前記メソッドを前記クラス全てに共通の処理を用いて決定するよう構成された
    モジュールと、 前記メソッドを前記決定に基づいて呼出すよう構成されたモジュールと、 前記呼出されたメソッドの標識を提供するよう構成されたモジュールとを有す
    る。
  9. 【請求項9】 請求項8の装置であって、前記受け取りモジュールは、前記
    メソッドに対応付けられた識別子を提供するよう構成されたモジュールを有する
  10. 【請求項10】 複数のマシンを有する分散型システムにおける遠隔メソッ
    ド呼出し装置であって、 第1のオブジェクトの第1のメソッドと、前記第1のオブジェクトとは異なる
    型の第2のオブジェクトの第2のメソッドとを呼出す要求を受け取るよう構成さ
    れたモジュールと、 呼出すべき前記第1及び第2のメソッドを共通の処理を用いて決定するよう構
    成されたモジュールと、 前記第1及び第2のメソッドを前記決定に基づいて呼出すよう構成されたモジ
    ュールと、 前記呼出された第1のメソッド及び第2のメソッドの標識を提供するよう構成
    されたモジュールとを有する。
  11. 【請求項11】 複数のマシンを有する分散型システムにおいてオブジェク
    トを転送するシステムであって、 第1のマシンと、 第2のマシンと、 前記第1のマシンを前記第2のマシンに接続するネットワークと、 オブジェクトを転送する装置とを有し、 前記装置は、 オブジェクトのメソッドを呼出す要求を受け取るよう構成されたモジュールと
    、 呼出すべき前記メソッドを総称コードを用いて決定するよう構成されたモジュ
    ールと、 前記メソッドを前記決定に基づいて呼出すよう構成されたモジュールと、 前記呼出されたメソッドの標識を提供するよう構成されたモジュールとを有す
    る。
  12. 【請求項12】 請求項11のシステムであって、前記受け取りモジュール
    は、前記メソッドに対応付けられた識別子を提供するよう構成されたモジュール
    を有する。
  13. 【請求項13】 複数のマシンを有する分散型システムにおいてオブジェク
    トを転送するシステムであって、 第1のマシンと、 第2のマシンと、 前記第1のマシンを前記第2のマシンに接続するネットワークと、 オブジェクトを転送する装置とを有し、 前記装置は、 特定クラスのオブジェクトのメソッドを呼出す要求を受け取るよう構成された
    モジュールと、 前記メソッドを前記クラス全てに共通の処理を用いて決定するよう構成された
    モジュールと、 前記メソッドを前記決定に基づいて呼出すよう構成されたモジュールと、 前記呼出されたメソッドの標識を提供するよう構成されたモジュールとを有す
    る。
  14. 【請求項14】 請求項13のシステムであって、前記受け取りモジュール
    は、前記メソッドに対応付けられた識別子を提供するよう構成されたモジュール
    を有する。
  15. 【請求項15】 複数のマシンを有する分散型システムにおいてオブジェク
    トを転送するシステムであって、 第1のマシンと、 第2のマシンと、 前記第1のマシンを前記第2のマシンに接続するネットワークと、 オブジェクトを転送する装置とを有し、 前記装置は、 第1のオブジェクトの第1のメソッドと、前記第1のオブジェクトとは異なる
    型の第2のオブジェクトの第2のメソッドとを呼出す要求を受け取るよう構成さ
    れたモジュールと、 呼出すべき前記第1及び第2のメソッドを前記クラス全てに共通の処理を用い
    て決定するよう構成されたモジュールと、 前記メソッドを前記決定に基づいて呼出すよう構成されたモジュールと、 前記呼出された第1のメソッド及び第2のメソッドの標識を提供するよう構成
    されたモジュールとを有する。
  16. 【請求項16】 コンピュータプログラムプロダクトであって、 方法を実行するようにコンピュータシステムを制御するための命令を格納した
    コンピュータ可読媒体を含み、 前記方法は、 オブジェクトのメソッドを呼出す要求を受け取る工程と、 呼出すべき前記メソッドを総称コードを用いて決定する工程と、 前記メソッドを前記決定に基づいて呼出す工程と、 前記呼出されたメソッドの標識を提供する工程とを有する。
  17. 【請求項17】 請求項16のコンピュータプログラムプロダクトであって
    、前記受け取り工程は、前記メソッドに対応付けられた識別子を提供する工程を
    含む。
  18. 【請求項18】 コンピュータプログラムプロダクトであって、 方法を実行するようにコンピュータシステムを制御するための命令を格納した
    コンピュータ可読媒体を含み、 前記方法は、 特定のクラスのオブジェクトのメソッドを呼出す要求を受け取る工程と、 呼出すべき前記メソッドを前記クラス全てに共通の処理を用いて決定する工程
    と、 前記メソッドを前記決定に基づいて呼出す工程と、 前記呼出されたメソッドの標識を提供する工程とを有する。
  19. 【請求項19】 請求項18のコンピュータプログラムプロダクトであって
    、前記受け取り工程は、前記メソッドに対応付けられた識別子を提供する工程を
    含む。
  20. 【請求項20】 コンピュータプログラムプロダクトであって、 方法を実行するようにコンピュータシステムを制御するための命令を格納した
    コンピュータ可読媒体を含み、 前記方法は、 第1のオブジェクトの第1のメソッドと、前記第1のオブジェクトとは異なる
    型の第2のオブジェクトの第2のメソッドを呼出す要求を受け取る工程と、 呼出すべき前記第1及び第2のメソッドを共通の処理を用いて決定する工程と
    、 前記第1のメソッド及び第2のメソッドを前記決定に基づいて呼出す工程と、 前記呼出された第1のメソッド及び第2のメソッドの標識を提供する工程とを
    有する。
  21. 【請求項21】 複数のマシンを有する分散型システムにおける遠隔メソッ
    ド呼出し装置であって、 オブジェクトのメソッドを呼出す要求を受け取る手段と、 呼出すべき前記メソッドを総称コードを用いて決定する手段と、 前記メソッドを前記決定に基づいて呼出す手段と、 前記呼出されたメソッドの標識を提供する手段とを有する。
JP2000533810A 1998-02-26 1999-02-17 遠隔メソッド呼出し方法及び装置 Pending JP2002505466A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US09/044,938 1998-03-20
US09/044,938 US6487607B1 (en) 1998-02-26 1998-03-20 Methods and apparatus for remote method invocation
US60/076,048 1998-03-20
PCT/US1999/003395 WO1999044126A2 (en) 1998-02-26 1999-02-17 Methods and apparatus for remote method invocation

Publications (1)

Publication Number Publication Date
JP2002505466A true JP2002505466A (ja) 2002-02-19

Family

ID=26722184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000533810A Pending JP2002505466A (ja) 1998-02-26 1999-02-17 遠隔メソッド呼出し方法及び装置

Country Status (7)

Country Link
US (1) US6487607B1 (ja)
EP (1) EP1058881A2 (ja)
JP (1) JP2002505466A (ja)
KR (1) KR20010041293A (ja)
CN (1) CN1298513A (ja)
AU (1) AU2770299A (ja)
WO (1) WO1999044126A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502339A (ja) * 2000-06-26 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信システム
JP2008225625A (ja) * 2007-03-09 2008-09-25 Nec Corp 分散処理システム連携システム、分散処理システム連携方法および分散処理システム連携プログラム
JP2009508250A (ja) * 2005-09-12 2009-02-26 マイクロソフト コーポレーション クライアントおよびサーバ間の型情報の保存
JP5163128B2 (ja) * 2006-01-31 2013-03-13 富士通株式会社 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539628B2 (en) * 2000-03-21 2009-05-26 Bennett James D Online purchasing system supporting buyer affordability screening
JP2000322288A (ja) * 1999-05-06 2000-11-24 Fujitsu Ltd 分散オブジェクト開発システム、および、分散オブジェクト開発をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6581094B1 (en) * 1999-11-02 2003-06-17 Sun Microsystems, Inc. Apparatus and method for identifying a digital device based on the device's uniform device descriptor file that specifies the attributes of the device in a XML document in a networked environment
WO2001040939A1 (en) * 1999-11-30 2001-06-07 Sun Microsystems, Inc. Apparatus and methods for communicating between resource domains
US6728788B1 (en) * 1999-12-16 2004-04-27 International Business Machines Corporation Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client
US7743149B1 (en) * 1999-12-22 2010-06-22 Nortel Networks Limited SIP messages carrying executable computer software code
US6766356B1 (en) 2000-09-14 2004-07-20 Genesys Conferencing, Ltd. Method and system for remotely modifying presentations in a multimedia conference
JP2002132739A (ja) * 2000-10-23 2002-05-10 Nec Corp スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
US6842786B1 (en) * 2001-02-09 2005-01-11 Adobe Systems Incorporated Method and apparatus for remote communication of data associated with dynamically generated type object at runtime to describe the data type
US7043714B2 (en) * 2001-06-28 2006-05-09 International Business Machines Corporation Method, system, and program for using objects in data stores during execution of a workflow
US7069536B2 (en) * 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US7100147B2 (en) * 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7296056B2 (en) * 2001-07-30 2007-11-13 International Business Machines Corporation Method, system, and program for selecting one user to assign a work item in a workflow
US7047535B2 (en) 2001-07-30 2006-05-16 International Business Machines Corporation Method, system, and program for performing workflow related operations using an application programming interface
US7698427B2 (en) 2001-07-30 2010-04-13 International Business Machines Corporation Method, system, and program for transferring data from an application engine
US7228547B2 (en) * 2001-07-30 2007-06-05 International Business Machines Corporation Method, system, and program for enabling access to a plurality of services
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US20030093496A1 (en) * 2001-10-22 2003-05-15 O'connor James M. Resource service and method for location-independent resource delivery
US7257613B2 (en) * 2001-11-20 2007-08-14 Sun Microsystems, Inc. Methods to develop remote applications with built in feedback ability for use in a distributed test framework
US7051341B2 (en) * 2001-12-14 2006-05-23 International Business Machines Corporation Method, system, and program for implementing a remote method call
US7290267B2 (en) * 2002-01-23 2007-10-30 International Business Machines Corporation Multi-protocol object distribution
US7130881B2 (en) * 2002-05-01 2006-10-31 Sun Microsystems, Inc. Remote execution model for distributed application launch and control
US7458061B2 (en) * 2002-06-14 2008-11-25 Sun Microsystems, Inc. Protecting object identity in a language with built-in synchronization objects
US7454458B2 (en) * 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
WO2004001585A1 (en) * 2002-06-24 2003-12-31 Docomo Communications Laboratories Usa, Inc. Mobile application environment
US20040001476A1 (en) * 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
US20030236826A1 (en) * 2002-06-24 2003-12-25 Nayeem Islam System and method for making mobile applications fault tolerant
US20040054809A1 (en) * 2002-08-26 2004-03-18 Goff Max K. Synchronous object unification protocol
SE0203297D0 (sv) * 2002-11-05 2002-11-05 Ericsson Telefon Ab L M Remote service execution in an heterogenous network
US20040111706A1 (en) * 2002-12-07 2004-06-10 Mogul Jeffrey Clifford Analysis of latencies in a multi-node system
US7506273B2 (en) * 2003-03-19 2009-03-17 International Business Machines Corporation Method and system for modifying properties of graphical user interface components
US7478399B2 (en) * 2003-04-21 2009-01-13 International Business Machines Corporation Method, system and program product for transferring program code between computer processes
US20040226022A1 (en) * 2003-05-09 2004-11-11 Prabhu Sameer D. Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system
US7424722B2 (en) * 2003-08-29 2008-09-09 International Business Machines Corporation Method and system for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service
KR100550477B1 (ko) * 2003-12-13 2006-02-10 한국전자통신연구원 임베디드 시스템에서의 원격 디바이스 드라이버 개발환경을 지원하기 위한 드라이버 에이전트 장치 및 그 운용방법
US7490168B2 (en) * 2003-12-17 2009-02-10 International Business Machines Corporation Service oriented integration server architecture
US7496932B2 (en) * 2004-01-12 2009-02-24 International Business Machines Corporation Communicating with remote objects in a data processing network
US8312473B2 (en) * 2004-04-26 2012-11-13 Sony Computer Entertainment Inc. Specifying parameters for selective return to an invoker
US7386865B2 (en) * 2004-06-24 2008-06-10 Sap Ag System and method for processing remote function calls
IL164577A (en) * 2004-10-14 2011-12-29 Tadiran Telecom Ltd Communication in a distributed system
US7539150B2 (en) * 2004-11-16 2009-05-26 International Business Machines Corporation Node discovery and communications in a network
US7543300B2 (en) * 2004-11-16 2009-06-02 International Business Machines Corporation Interface for application components
IL166085A (en) * 2004-12-30 2011-08-31 Tadiran Telecom Ltd Method and apparatus for use of identical data objects representing a user in a distributed communications network
US7549151B2 (en) * 2005-02-14 2009-06-16 Qnx Software Systems Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment
US7453865B2 (en) * 2005-02-16 2008-11-18 International Business Machines Corporation Communication channels in a storage network
KR100674838B1 (ko) * 2005-02-28 2007-01-26 삼성전기주식회사 적층형 카메라 모듈
US7840682B2 (en) 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US8667184B2 (en) 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
US7680096B2 (en) * 2005-10-28 2010-03-16 Qnx Software Systems Gmbh & Co. Kg System for configuring switches in a network
US7917913B2 (en) * 2006-09-15 2011-03-29 Telefonaktiebolaget L M Ericsson (Publ) Injecting proxy components using blueprints
US8332866B2 (en) 2006-11-29 2012-12-11 Qualcomm Incorporated Methods, systems, and apparatus for object invocation across protection domain boundaries
US8117601B2 (en) * 2007-11-14 2012-02-14 Microsoft Corporation Internal test and manipulation of an application
US20100174575A1 (en) * 2009-01-02 2010-07-08 International Business Machines Corporation Meeting management system with failover and failback capabilities for meeting moderators
US20100306177A1 (en) * 2009-05-29 2010-12-02 Khosravi Hormuzd M Host operating system independent storage-related remote access and operations
US8214902B2 (en) * 2009-06-19 2012-07-03 Intel Corporation Determination by circuitry of presence of authorized and/or malicious data
US8307175B2 (en) * 2009-06-26 2012-11-06 Intel Corporation Data recovery and overwrite independent of operating system
US9934079B2 (en) 2010-05-27 2018-04-03 International Business Machines Corporation Fast remote communication and computation between processors using store and load operations on direct core-to-core memory
US9378073B2 (en) 2012-08-14 2016-06-28 International Business Machines Corporation Remote procedure call for a distributed system
US9092281B2 (en) 2012-10-02 2015-07-28 Qualcomm Incorporated Fast remote procedure call
CN104965864B (zh) * 2015-06-04 2018-05-08 深圳市腾讯计算机系统有限公司 一种远程对象的标识方法及远程对象的标识系统
CN108306844B (zh) * 2016-10-09 2020-07-24 上海思立微电子科技有限公司 用于服务器与客户端之间的api通信的方法
US11734054B2 (en) 2019-09-03 2023-08-22 Netflix, Inc. Techniques for interfacing between media processing workflows and serverless functions
KR102187063B1 (ko) * 2020-07-13 2020-12-04 김인헌 서브 로터가 구비되는 드론
CN113110947B (zh) * 2021-04-16 2024-04-02 中国工商银行股份有限公司 一种程序调用链生成方法、系统、电子设备及介质

Family Cites Families (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476349A1 (fr) 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4491946A (en) 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
AU556499B2 (en) 1981-05-22 1986-11-06 Data General Corporation Data processing system
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0640302B2 (ja) 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4823122A (en) 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
US4809160A (en) 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4713806A (en) 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4939638A (en) 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US5287511A (en) 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US4979105A (en) 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US5133075A (en) 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5109486A (en) 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
EP0384339B1 (en) 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection
US5297283A (en) 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5257369A (en) 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5187787B1 (en) 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5218699A (en) 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
WO1991010191A1 (en) 1989-12-26 1991-07-11 Fujitsu Limited Object oriented distributed processing system
GB2242293A (en) 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
AU639802B2 (en) 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
US5446897A (en) 1990-08-31 1995-08-29 International Business Machines Corporation Automated address discovery method and apparatus for local area networks
DE69132280T2 (de) 1990-09-17 2001-01-18 Cabletron Systems, Inc. System und Verfahren zur Modellierung eines Computer-Netzwerks
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
IE910553A1 (en) 1991-02-19 1992-08-26 Tolsys Ltd Improvements in and relating to stable memory circuits
EP0501610B1 (en) 1991-02-25 1999-03-17 Hewlett-Packard Company Object oriented distributed computing system
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5293614A (en) 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
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
DE4131380A1 (de) 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
US5826017A (en) 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
US5390328A (en) 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
US5553305A (en) 1992-04-14 1996-09-03 International Business Machines Corporation System for synchronizing execution by a processing element of threads within a process using a state indicator
US5353343A (en) 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
EP0578207B1 (en) * 1992-07-06 1999-12-01 Microsoft Corporation Method for naming and binding objects
US5307490A (en) 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
JP2524472B2 (ja) 1992-09-21 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 電話回線利用の音声認識システムを訓練する方法
US5423042A (en) 1992-10-23 1995-06-06 International Business Machines Corporation Remote procedure execution
US5561785A (en) 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
US5515536A (en) 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
WO1994011810A1 (en) 1992-11-13 1994-05-26 Microsoft Corporation A method and system for marshalling interface pointers for remote procedure calls
US5386568A (en) 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
EP0602263A1 (en) 1992-12-15 1994-06-22 International Business Machines Corporation User interface program generator
US5560003A (en) 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5452459A (en) 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
DE69429686T2 (de) 1993-02-25 2003-04-30 Sun Microsystems, Inc. Transaktionsverwaltung in objektorientiertem System
US5832593A (en) 1993-04-14 1998-11-10 Minnesota Mining And Manufacturing Company Splice head for insulated telecommunication wires
CA2121612A1 (en) 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
DE59410317D1 (de) 1993-07-16 2003-10-02 Siemens Ag Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5617537A (en) 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
CA2118169A1 (en) 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5455952A (en) 1993-11-03 1995-10-03 Cardinal Vision, Inc. Method of computing based on networks of dependent objects
US5742848A (en) 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5581704A (en) 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
US5548726A (en) 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
WO1995017064A1 (en) 1993-12-17 1995-06-22 Taligent, Inc. Object-oriented distributed communications directory service
US5594921A (en) 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
AU1522095A (en) 1994-01-05 1995-08-01 Peter J. Covey Dynamic-state, multi-dimensional, multi-media database
US5832219A (en) 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5392280A (en) 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5675796A (en) 1994-04-08 1997-10-07 Microsoft Corporation Concurrency management component for use by a computer program during the transfer of a message
US6216138B1 (en) 1994-04-22 2001-04-10 Brooks Automation Inc. Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships
US5680617A (en) 1994-05-16 1997-10-21 Apple Computer, Inc. Computer-human interface which provides for user customization of object behavior
US5675797A (en) 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
DE69533148T2 (de) 1994-05-26 2005-08-25 Sun Microsystems, Inc., Santa Clara Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen
US5655148A (en) 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5680573A (en) 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5778228A (en) * 1994-08-16 1998-07-07 International Business Machines Corporation Method and system for transferring remote procedure calls and responses over a network
US5922054A (en) 1994-08-19 1999-07-13 Canon Kabushiki Kaisha System for managing external applications and files
US5555367A (en) 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
JP4058118B2 (ja) 1994-11-15 2008-03-05 株式会社日立製作所 プログラム生成システム及び方法
US5577231A (en) 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5644768A (en) 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5553282A (en) 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
DE69521977T2 (de) 1994-12-13 2002-04-04 International Business Machines Corp., Armonk Verfahren und System zur gesicherten Programmenverteilung
US5677851A (en) 1994-12-15 1997-10-14 Novell, Inc. Method and apparatus to secure digital directory object changes
US5608903A (en) 1994-12-15 1997-03-04 Novell, Inc. Method and apparatus for moving subtrees in a distributed network directory
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5727203A (en) 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
EP0735472A3 (en) 1995-03-31 2000-01-19 Sun Microsystems, Inc. Method and apparatus for conspiracy among objects
US5812819A (en) 1995-06-05 1998-09-22 Shiva Corporation Remote access apparatus and method which allow dynamic internet protocol (IP) address management
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5903731A (en) 1995-06-14 1999-05-11 Us West Technologies, Inc. System and associated method for re-engineering a telecommunications network support system with object-oriented translators
US5761656A (en) 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5802367A (en) 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US5745703A (en) 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
US5774551A (en) 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
JPH0962526A (ja) 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
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
US5765174A (en) 1995-10-06 1998-06-09 Sun Microsystems, Inc. System amd method for distributed object resource management
US5864862A (en) 1996-09-30 1999-01-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for creating reusable components in an object-oriented programming environment
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5860153A (en) 1995-11-22 1999-01-12 Sun Microsystems, Inc. Memory efficient directory coherency maintenance
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US6067575A (en) 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US6003763A (en) 1995-12-29 1999-12-21 Visa International Service Method and apparatus for recording magnetic information on traveler's checks
US5745695A (en) 1996-01-16 1998-04-28 Motorola Inc. Radio system with suspension of packet data service during non-data service connection
US5754849A (en) 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5946485A (en) 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
CA2199108C (en) 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US6049673A (en) 1996-03-08 2000-04-11 Organicnet, Inc. Organicware applications for computer systems
US5845129A (en) 1996-03-22 1998-12-01 Philips Electronics North America Corporation Protection domains in a single address space
US5706502A (en) 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service 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
US6134603A (en) 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US5815709A (en) 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
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
US5978484A (en) 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
EP0805393B1 (en) 1996-04-30 2011-11-09 International Business Machines Corporation Method and apparatus for managing membership of a group of processors in a distributed computing environment
US5778368A (en) 1996-05-03 1998-07-07 Telogy Networks, Inc. Real-time embedded software respository with attribute searching apparatus and method
US5778187A (en) 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5835737A (en) 1996-05-10 1998-11-10 Apple Computer, Inc. Method and apparatus for arbitrating access to selected computer system devices
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US5928323A (en) 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5813013A (en) 1996-06-06 1998-09-22 Microsoft Corporation Representing recurring events
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
US5768532A (en) 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
US6044409A (en) 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
US5991823A (en) 1996-06-26 1999-11-23 Sun Microsystems, Inc. Low overhead object adaptor
US5727145A (en) 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
SG67354A1 (en) 1996-06-27 1999-09-21 Inst Of Systems Science Nation Computationally efficient method for trusted and dynamic digital objects dissemination
US5809507A (en) 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
US6360256B1 (en) 1996-07-01 2002-03-19 Sun Microsystems, Inc. Name service for a redundant array of internet servers
US5748897A (en) 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5818448A (en) 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5860004A (en) 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
US5949998A (en) 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US6016516A (en) 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5875335A (en) 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5787425A (en) 1996-10-01 1998-07-28 International Business Machines Corporation Object-oriented data mining framework mechanism
US5974201A (en) 1996-10-01 1999-10-26 Siemens Corporate Research, Inc. Smart image system
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5944793A (en) 1996-11-21 1999-08-31 International Business Machines Corporation Computerized resource name resolution mechanism
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US5884024A (en) 1996-12-09 1999-03-16 Sun Microsystems, Inc. Secure DHCP server
JPH10171701A (ja) 1996-12-10 1998-06-26 Fuji Xerox Co Ltd 手続実行装置及び方法
US5787431A (en) 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
US5933647A (en) 1997-01-24 1999-08-03 Cognet Corporation System and method for software distribution and desktop management in a computer network environment
US6052761A (en) 1997-01-31 2000-04-18 Hewlett-Packard Company Increment update in an SCI based system
US5913029A (en) 1997-02-07 1999-06-15 Portera Systems Distributed database system and method
US5815149A (en) 1997-02-19 1998-09-29 Unisys Corp. Method for generating code for modifying existing event routines for controls on a form
US5935249A (en) 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6061713A (en) 1997-03-12 2000-05-09 Fujitsu Limited Communications system for client-server data processing systems
US5864866A (en) 1997-03-26 1999-01-26 International Business Machines Corporation Apparatus and method for providing externalization in an object-oriented environment
US5999988A (en) 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US5890158A (en) 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US6247091B1 (en) 1997-04-28 2001-06-12 International Business Machines Corporation Method and system for communicating interrupts between nodes of a multinode computer system
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US5808911A (en) 1997-06-19 1998-09-15 Sun Microsystems, Inc. System and method for remote object resource management
US5878411A (en) 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5887134A (en) 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US5946694A (en) 1997-09-29 1999-08-31 International Business Machines Corporation Apparatus and method for transparent application of service to business objects
US5951652A (en) 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
US6061699A (en) 1997-11-03 2000-05-09 International Business Machines Corporation Method and computer program product for extracting translatable material from browser program function codes using variables for displaying MRI
US6032151A (en) 1997-11-17 2000-02-29 Sun Microsystems, Inc. Database system employing polymorphic entry and entry matching
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US6016496A (en) 1997-11-20 2000-01-18 International Business Machines Corporation Method and apparatus for an object-oriented object for retrieving information from local and remote databases
US6009103A (en) 1997-12-23 1999-12-28 Mediaone Group, Inc. Method and system for automatic allocation of resources in a network
US5963947A (en) 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
US6023586A (en) 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
US6026414A (en) 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6185602B1 (en) 1998-06-29 2001-02-06 Sony Corporation Multi-user interaction of multimedia communication
US6108346A (en) 1998-08-27 2000-08-22 Xiox Corporation Combined synchronous and asynchronous message transmission
US6282568B1 (en) 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502339A (ja) * 2000-06-26 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信システム
JP2004502337A (ja) * 2000-06-26 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 携帯装置を通してのデータ配送
JP2009508250A (ja) * 2005-09-12 2009-02-26 マイクロソフト コーポレーション クライアントおよびサーバ間の型情報の保存
JP5163128B2 (ja) * 2006-01-31 2013-03-13 富士通株式会社 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ
JP2008225625A (ja) * 2007-03-09 2008-09-25 Nec Corp 分散処理システム連携システム、分散処理システム連携方法および分散処理システム連携プログラム

Also Published As

Publication number Publication date
AU2770299A (en) 1999-09-15
WO1999044126A3 (en) 1999-10-21
US6487607B1 (en) 2002-11-26
KR20010041293A (ko) 2001-05-15
CN1298513A (zh) 2001-06-06
EP1058881A2 (en) 2000-12-13
WO1999044126A2 (en) 1999-09-02

Similar Documents

Publication Publication Date Title
JP2002505466A (ja) 遠隔メソッド呼出し方法及び装置
US6393497B1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6272559B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6983285B2 (en) Apparatus and method for dynamically verifying information in a distributed system
US6560656B1 (en) Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6253256B1 (en) Deferred reconstruction of objects and remote loading in a distributed system
US6134603A (en) Method and system for deterministic hashes to identify remote methods
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US6636900B2 (en) Method and apparatus for executing distributed objects over a network
US6629154B1 (en) Method and system for deterministic hashes to identify remote methods
JP2002505553A (ja) 多様性トークン・ベース・コントロール
US7089263B2 (en) Apparatus and method for dynamically verifying information in a distributed system
EP1405185A2 (en) Method and system for passing objects in a distributed system using serialization contexts
Gu et al. JBSP: A BSP programming library in Java
EP1058880A1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
EP1057113B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
EP1235149A2 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
Janson et al. CORBA vs. DCOM
Pasquale Travis Gregory Newhouse