JPH1083308A - スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体 - Google Patents
スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体Info
- Publication number
- JPH1083308A JPH1083308A JP9118665A JP11866597A JPH1083308A JP H1083308 A JPH1083308 A JP H1083308A JP 9118665 A JP9118665 A JP 9118665A JP 11866597 A JP11866597 A JP 11866597A JP H1083308 A JPH1083308 A JP H1083308A
- Authority
- JP
- Japan
- Prior art keywords
- stub
- remote method
- computer
- remote
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 リモート・メソッド呼出しシステムと共に使
用されるスタブ検索ローディング・サブシステムを提案
する。 【解決手段】 スタブ検索サブシステムが、スタブの検
索を開始するスタブ・リトリーバと、スタブがスタブ・
リトリーバによって受信されたときに、スタブを実行環
境にロードし、それによってスタブをリモート・メソッ
ドのリモート呼出しで使用できるようにするスタブ・ロ
ーダとを含む。スタブ検索ローディング・サブシステム
は、あるコンピュータから与えられたあるアドレス空間
で動作するプログラムのためのスタブ・クラス・インス
タンスの検索およびローディングを行い、同じコンピュ
ータから与えることも、あるいは異なるコンピュータか
ら与えることもできる他のアドレス空間で動作するオブ
ジェクトから与えられるメソッドのリモート呼出しを行
う。
用されるスタブ検索ローディング・サブシステムを提案
する。 【解決手段】 スタブ検索サブシステムが、スタブの検
索を開始するスタブ・リトリーバと、スタブがスタブ・
リトリーバによって受信されたときに、スタブを実行環
境にロードし、それによってスタブをリモート・メソッ
ドのリモート呼出しで使用できるようにするスタブ・ロ
ーダとを含む。スタブ検索ローディング・サブシステム
は、あるコンピュータから与えられたあるアドレス空間
で動作するプログラムのためのスタブ・クラス・インス
タンスの検索およびローディングを行い、同じコンピュ
ータから与えることも、あるいは異なるコンピュータか
ら与えることもできる他のアドレス空間で動作するオブ
ジェクトから与えられるメソッドのリモート呼出しを行
う。
Description
【0001】
【発明の属する技術分野】本発明は、全般的にはディジ
タル・コンピュータ・システムの分野に関し、詳細に
は、同じコンピュータ上で実施することも、あるいは他
のコンピュータ上でも実施することもできる、コンピュ
ータによってあるアドレス空間内で処理されているプロ
グラムによる、他のアドレス空間でのメソッドおよび手
続きの処理の呼出しを容易にするシステムおよび方法に
関する。
タル・コンピュータ・システムの分野に関し、詳細に
は、同じコンピュータ上で実施することも、あるいは他
のコンピュータ上でも実施することもできる、コンピュ
ータによってあるアドレス空間内で処理されているプロ
グラムによる、他のアドレス空間でのメソッドおよび手
続きの処理の呼出しを容易にするシステムおよび方法に
関する。
【0002】本発明は特に、あるアドレス空間で動作す
るプログラムによる、場合によっては他のコンピュータ
上の他のアドレス空間内のリモート・メソッドまたは手
続きの呼出しを容易にする「スタブ」情報を得て動的に
ロードするシステムおよび方法を提供する。 引用による組み込み The JavaTMLanguage Specifi
cation(SunMicrosystems,In
c.、1993年ないし1995年)(下記では「Ja
va言語仕様」と呼ぶ)。The Java Virt
ual Machine Specification
(Sun Microsystems,Inc.、19
93年ないし1995年)(下記では「Java仮想マ
シン仕様」と呼ぶ)。Ann Wollrath等著
「A Distributed ObjectMode
l for JavaTM」。「System And
Method For Generating Ide
ntifiers For Uniquely Ide
ntifyingObject Types For
Objects Used In Processin
g Of Object−Oriented Prog
ramsAnd The Like」(Atty.Do
cket No.P1091)と題する、James
H.Waldo、Krishna Bharat、Ro
ger Riggsの名義で本明細書と同日に出願され
た米国特許出願第08/636,707号。
るプログラムによる、場合によっては他のコンピュータ
上の他のアドレス空間内のリモート・メソッドまたは手
続きの呼出しを容易にする「スタブ」情報を得て動的に
ロードするシステムおよび方法を提供する。 引用による組み込み The JavaTMLanguage Specifi
cation(SunMicrosystems,In
c.、1993年ないし1995年)(下記では「Ja
va言語仕様」と呼ぶ)。The Java Virt
ual Machine Specification
(Sun Microsystems,Inc.、19
93年ないし1995年)(下記では「Java仮想マ
シン仕様」と呼ぶ)。Ann Wollrath等著
「A Distributed ObjectMode
l for JavaTM」。「System And
Method For Generating Ide
ntifiers For Uniquely Ide
ntifyingObject Types For
Objects Used In Processin
g Of Object−Oriented Prog
ramsAnd The Like」(Atty.Do
cket No.P1091)と題する、James
H.Waldo、Krishna Bharat、Ro
ger Riggsの名義で本明細書と同日に出願され
た米国特許出願第08/636,707号。
【0003】
【従来の技術】現代の「企業内」コンピューティングで
は、いくつかのパーソナル・コンピュータと、ワークス
テーションと、その他の装置が、通常、1つまたは複数
のコンピュータ・ネットワークとして相互接続される。
その他の装置としては、大容量記憶サブシステム、ネッ
トワーク・プリンタ、公衆電話システムとのインタフェ
ースなどがある。パーソナル・コンピュータおよびワー
クステーションは、ネットワーク大容量記憶サブシステ
ムに記憶できるデータおよびプログラムに関連する処理
を実行するために個別のユーザによって使用される。そ
のような構成では、パーソナル・コンピュータ/ワーク
ステーションは、クライアントとして動作し、通常、デ
ータおよびプログラムを処理するためにネットワーク大
容量記憶サブシステムからダウンロードする。また、パ
ーソナル・コンピュータまたはワークステーションによ
って、処理済みのデータを、記憶のためにネットワーク
大容量記憶サブシステムにアップロードし、印刷のため
にネットワーク・プリンタにアップロードし、公衆電話
システムを介した伝送のために電話インタフェースにア
ップロードすることなどができる。そのような構成で
は、ネットワーク大容量記憶サブシステム、ネットワー
ク・プリンタ、電話インタフェースは、ネットワーク内
のすべてのクライアントからの要求を実行するために使
用できるので、サーバとして働く。ネットワークをその
ように構成することによって、サーバはネットワーク内
のすべてのパーソナル・コンピュータ/ワークステーシ
ョンによって容易に使用することができる。そのような
ネットワークは、電線や光ファイバなどの通信リンクに
よってパーソナル・コンピュータ/ワークステーション
を相互接続することにより、かなり広い領域にわたって
広げることができる。
は、いくつかのパーソナル・コンピュータと、ワークス
テーションと、その他の装置が、通常、1つまたは複数
のコンピュータ・ネットワークとして相互接続される。
その他の装置としては、大容量記憶サブシステム、ネッ
トワーク・プリンタ、公衆電話システムとのインタフェ
ースなどがある。パーソナル・コンピュータおよびワー
クステーションは、ネットワーク大容量記憶サブシステ
ムに記憶できるデータおよびプログラムに関連する処理
を実行するために個別のユーザによって使用される。そ
のような構成では、パーソナル・コンピュータ/ワーク
ステーションは、クライアントとして動作し、通常、デ
ータおよびプログラムを処理するためにネットワーク大
容量記憶サブシステムからダウンロードする。また、パ
ーソナル・コンピュータまたはワークステーションによ
って、処理済みのデータを、記憶のためにネットワーク
大容量記憶サブシステムにアップロードし、印刷のため
にネットワーク・プリンタにアップロードし、公衆電話
システムを介した伝送のために電話インタフェースにア
ップロードすることなどができる。そのような構成で
は、ネットワーク大容量記憶サブシステム、ネットワー
ク・プリンタ、電話インタフェースは、ネットワーク内
のすべてのクライアントからの要求を実行するために使
用できるので、サーバとして働く。ネットワークをその
ように構成することによって、サーバはネットワーク内
のすべてのパーソナル・コンピュータ/ワークステーシ
ョンによって容易に使用することができる。そのような
ネットワークは、電線や光ファイバなどの通信リンクに
よってパーソナル・コンピュータ/ワークステーション
を相互接続することにより、かなり広い領域にわたって
広げることができる。
【0004】クライアントは、情報を処理のためにサー
バからダウンロードするだけでなく、プログラムを処理
しながら、クライアントから与えられるある種の「パラ
メータ」情報に関連するサーバ・コンピュータによる特
定のルーチンおよび手続き(一般に「手続き」)の処理
をリモートに開始することができる。サーバは、この手
続きを処理した後、処理結果をクライアントに与え、ク
ライアントはその後、サーバの処理動作を使用すること
ができる。通常、そのような「リモート手続き呼出し」
では、プログラムは、ローカル「スタブ」を使用する。
ローカル・スタブは、呼び出されると、特定の手続きを
実施し、結果を受信しプログラムに与えるサーバへ要求
を転送する。従来、スタブはプログラムと共にコンパイ
ルしなければならず、その場合、リモート手続きを呼び
出すのに必要な情報は、プログラムの実行時ではなくコ
ンパイル時に決定しなければならない。クライアントの
プログラムが使用できるスタブは、静的なものなので、
プログラムのコンパイル時にプログラムに与えるべきス
タブに最も近いと判定できるものに過ぎない。したがっ
て、プログラムに与えられるスタブと、プログラムの実
行時に呼び出されるリモート手続きの要件との間の不一
致のためにエラーが発生し効率が低下する恐れがある。
バからダウンロードするだけでなく、プログラムを処理
しながら、クライアントから与えられるある種の「パラ
メータ」情報に関連するサーバ・コンピュータによる特
定のルーチンおよび手続き(一般に「手続き」)の処理
をリモートに開始することができる。サーバは、この手
続きを処理した後、処理結果をクライアントに与え、ク
ライアントはその後、サーバの処理動作を使用すること
ができる。通常、そのような「リモート手続き呼出し」
では、プログラムは、ローカル「スタブ」を使用する。
ローカル・スタブは、呼び出されると、特定の手続きを
実施し、結果を受信しプログラムに与えるサーバへ要求
を転送する。従来、スタブはプログラムと共にコンパイ
ルしなければならず、その場合、リモート手続きを呼び
出すのに必要な情報は、プログラムの実行時ではなくコ
ンパイル時に決定しなければならない。クライアントの
プログラムが使用できるスタブは、静的なものなので、
プログラムのコンパイル時にプログラムに与えるべきス
タブに最も近いと判定できるものに過ぎない。したがっ
て、プログラムに与えられるスタブと、プログラムの実
行時に呼び出されるリモート手続きの要件との間の不一
致のためにエラーが発生し効率が低下する恐れがある。
【0005】
【発明が解決しようとする課題】本発明は、あるアドレ
ス空間で動作するプログラムが、他のアドレス空間内の
メソッドまたは手続きの処理をリモートで呼び出せるよ
うにするために与えられるスタブを得ることができ、か
つ動的にロードできるようにし、それによって、スタブ
を、プログラムのコンパイル時に静的に決定するのでは
なく、プログラムが実行され必要とされるときにプログ
ラムによってロードできるようにする、改良された新規
のシステムおよび方法を提供する。
ス空間で動作するプログラムが、他のアドレス空間内の
メソッドまたは手続きの処理をリモートで呼び出せるよ
うにするために与えられるスタブを得ることができ、か
つ動的にロードできるようにし、それによって、スタブ
を、プログラムのコンパイル時に静的に決定するのでは
なく、プログラムが実行され必要とされるときにプログ
ラムによってロードできるようにする、改良された新規
のシステムおよび方法を提供する。
【0006】
【課題を解決するための手段】ロードされるスタブは、
リモート・メソッドまたは手続きを与えるリソースから
得ることができ、したがってスタブはリモート・メソッ
ドまたは手続きの呼出し要件を厳密に定義することがで
きる。スタブは、プログラムのコンパイル時に静的に決
定されるのではなく、プログラムの実行中に配置し、動
的にロードすることができるので、与えられるスタブ
と、呼び出されるリモート・メソッドまたは手続きの要
件との間の不一致のために生じる実行時エラーおよび効
率低下を最小限に抑えることができる。
リモート・メソッドまたは手続きを与えるリソースから
得ることができ、したがってスタブはリモート・メソッ
ドまたは手続きの呼出し要件を厳密に定義することがで
きる。スタブは、プログラムのコンパイル時に静的に決
定されるのではなく、プログラムの実行中に配置し、動
的にロードすることができるので、与えられるスタブ
と、呼び出されるリモート・メソッドまたは手続きの要
件との間の不一致のために生じる実行時エラーおよび効
率低下を最小限に抑えることができる。
【0007】簡単に言えば、本発明は、リモート・メソ
ッド呼出しシステムと共に使用できるスタブ検索及びロ
ーディング・サブシステムである。スタブ検索及びロー
ディング・サブシステムは、リモート・メソッドに関す
るスタブの検索および実行環境へのロードを制御し、実
行環境内で実行しているプログラムによるリモート・メ
ソッドの呼出しを容易にする。スタブ検索サブシステム
は、スタブの検査を開始するスタブ・リトリーバと、ス
タブ・リトリーバからスタブを受信したときにスタブを
実行環境にロードし、それによってスタブをリモート・
メソッドのリモート呼出しに使用できるようにするスタ
ブ・ローダとを含む。一実施態様では、スタブ検索及び
ローディング・サブシステムは、あるコンピュータから
与えられるあるアドレス空間で動作するプログラムに関
するスタブ・クラス・インスタンスの検索およびローデ
ィングを実行し、同じコンピュータまたは異なるコンピ
ュータから与えることができる他のアドレス空間で動作
するオブジェクトから与えられるメソッドのリモート呼
出しを実行する。これと同じ実施態様で、スタブ検索及
びローディング・サブシステムは、リモート・オブジェ
クトの参照時にスタブ・クラス・インスタンスの検索お
よびローディングを実行する。ただし、他の実施態様で
は、リモート・メソッドの呼出し時に、検索およびロー
ディングを実行することができる。
ッド呼出しシステムと共に使用できるスタブ検索及びロ
ーディング・サブシステムである。スタブ検索及びロー
ディング・サブシステムは、リモート・メソッドに関す
るスタブの検索および実行環境へのロードを制御し、実
行環境内で実行しているプログラムによるリモート・メ
ソッドの呼出しを容易にする。スタブ検索サブシステム
は、スタブの検査を開始するスタブ・リトリーバと、ス
タブ・リトリーバからスタブを受信したときにスタブを
実行環境にロードし、それによってスタブをリモート・
メソッドのリモート呼出しに使用できるようにするスタ
ブ・ローダとを含む。一実施態様では、スタブ検索及び
ローディング・サブシステムは、あるコンピュータから
与えられるあるアドレス空間で動作するプログラムに関
するスタブ・クラス・インスタンスの検索およびローデ
ィングを実行し、同じコンピュータまたは異なるコンピ
ュータから与えることができる他のアドレス空間で動作
するオブジェクトから与えられるメソッドのリモート呼
出しを実行する。これと同じ実施態様で、スタブ検索及
びローディング・サブシステムは、リモート・オブジェ
クトの参照時にスタブ・クラス・インスタンスの検索お
よびローディングを実行する。ただし、他の実施態様で
は、リモート・メソッドの呼出し時に、検索およびロー
ディングを実行することができる。
【0008】
【発明の実施の形態】本発明の上記およびその他の利点
は、下記の説明を添付の図面と共に参照することによっ
てよりよく理解することができる。図1は、「スタブ」
情報の動的ローディングを容易にし、あるアドレス空間
で動作するプログラムが他のアドレス空間内のメソッド
または手続きの処理をリモート的に呼び出すことができ
るようにする構成を含むコンピュータ・ネットワーク1
0の概略図である。図1を参照すると分かるように、コ
ンピュータ・ネットワーク10は、複数のクライアント
・コンピュータ11(1)ないし11(N)(一般に参
照符号11(n)によって識別される)と、複数のサー
バ・コンピュータ12(1)ないし12(M)(一般に
参照符号12(m)によって識別される)とを含み、こ
れらのコンピュータはすべて、通信リンク14で表され
たネットワークによって相互接続される。また、ネット
ワーク10は、やはり通信リンク14に接続することが
できる少なくとも1つのネームサーバ・コンピュータ1
3を含むことができる。ネーブサーバ・コンピュータ1
3の目的については下記で説明する。従来どおり、少な
くともいくつかのクライアント・コンピュータ11
(n)は、それぞれ、通常システム装置と、ビデオ表示
装置と、キーボードやマウスなどのオペレータ入力装置
(すべてが独立に示されているわけではない)とを含
む、パーソナル・コンピュータまたはコンピュータ・ワ
ークステーションの形である。サーバ・コンピュータ1
2(m)およびネームサーバ・コンピュータ13は通
常、システム装置(やはり独立には示していない)も含
み、ビデオ表示装置とオペレータ入力装置を含むことも
できる。
は、下記の説明を添付の図面と共に参照することによっ
てよりよく理解することができる。図1は、「スタブ」
情報の動的ローディングを容易にし、あるアドレス空間
で動作するプログラムが他のアドレス空間内のメソッド
または手続きの処理をリモート的に呼び出すことができ
るようにする構成を含むコンピュータ・ネットワーク1
0の概略図である。図1を参照すると分かるように、コ
ンピュータ・ネットワーク10は、複数のクライアント
・コンピュータ11(1)ないし11(N)(一般に参
照符号11(n)によって識別される)と、複数のサー
バ・コンピュータ12(1)ないし12(M)(一般に
参照符号12(m)によって識別される)とを含み、こ
れらのコンピュータはすべて、通信リンク14で表され
たネットワークによって相互接続される。また、ネット
ワーク10は、やはり通信リンク14に接続することが
できる少なくとも1つのネームサーバ・コンピュータ1
3を含むことができる。ネーブサーバ・コンピュータ1
3の目的については下記で説明する。従来どおり、少な
くともいくつかのクライアント・コンピュータ11
(n)は、それぞれ、通常システム装置と、ビデオ表示
装置と、キーボードやマウスなどのオペレータ入力装置
(すべてが独立に示されているわけではない)とを含
む、パーソナル・コンピュータまたはコンピュータ・ワ
ークステーションの形である。サーバ・コンピュータ1
2(m)およびネームサーバ・コンピュータ13は通
常、システム装置(やはり独立には示していない)も含
み、ビデオ表示装置とオペレータ入力装置を含むことも
できる。
【0009】クライアント・コンピュータ11(n)、
サーバ・コンピュータ12(m)、ネームサーバ・コン
ピュータ13はすべて、従来型の記憶済みプログラム・
コンピュータ・アーキテクチャのものである。システム
装置は一般に、ディスク記憶要素やテープ記憶要素など
の処理装置、メモリ装置、大容量記憶装置と、それぞれ
のコンピュータと通信リンク14を相互接続するネット
ワーク・インタフェース装置15(n)、16(m)を
含め他の要素(独立には示していない)とを含む。ビデ
オ表示装置によって、コンピュータは処理済みデータお
よび処理状況をオペレータに表示することができ、オペ
レータ入力装置によって、オペレータはコンピュータに
よるデータ処理および制御処理を入力することができ
る。コンピュータ11(n)および12(m)および1
3は、それぞれのネットワーク・インタフェース装置1
5(n)、16(m)を通じ、通信リンク14を介し
て、情報をメッセージの形で互いに転送し合う。
サーバ・コンピュータ12(m)、ネームサーバ・コン
ピュータ13はすべて、従来型の記憶済みプログラム・
コンピュータ・アーキテクチャのものである。システム
装置は一般に、ディスク記憶要素やテープ記憶要素など
の処理装置、メモリ装置、大容量記憶装置と、それぞれ
のコンピュータと通信リンク14を相互接続するネット
ワーク・インタフェース装置15(n)、16(m)を
含め他の要素(独立には示していない)とを含む。ビデ
オ表示装置によって、コンピュータは処理済みデータお
よび処理状況をオペレータに表示することができ、オペ
レータ入力装置によって、オペレータはコンピュータに
よるデータ処理および制御処理を入力することができ
る。コンピュータ11(n)および12(m)および1
3は、それぞれのネットワーク・インタフェース装置1
5(n)、16(m)を通じ、通信リンク14を介し
て、情報をメッセージの形で互いに転送し合う。
【0010】一実施形態では、ネットワーク10は「ク
ライアント−サーバ」構成として構成され、図1にコン
ピュータ12(m)として示された1つまたは複数のコ
ンピュータがサーバとして動作し、図1にコンピュータ
11(n)として示した他のコンピュータがクライアン
トとして動作する。一態様では、1つまたは複数のサー
バ・コンピュータ12(m)は、「ファイル・サーバ」
として大容量記憶装置を含むことができる。大容量記憶
装置は、クライアント・コンピュータ自体の処理動作で
使用できるように通信リンク13を介してクライアント
・コンピュータによって検索できるプログラムおよびデ
ータのコピーを記憶することができる。クライアント・
コンピュータ11(n)は必要に応じて、サーバ・コン
ピュータ12上にデータを格納することもできる。この
データは、後で、データを格納したクライアント・コン
ピュータまたは他のクライアント・コンピュータが、そ
の処理動作で使用できるように検索することもできる。
また、1つまたは複数のサーバ・コンピュータ12
(m)は「コンピュータ・サーバ」として、クライアン
ト・コンピュータ11(n)からのリモート要求に応答
してある種の処理動作を実行し、処理結果を、要求側ク
ライアント・コンピュータ11(n)が後に続く処理に
おいて使用できるようにコンピュータ11(n)に返す
ことができる。いずれのケースでも、サーバ・コンピュ
ータは、クライアント・コンピュータ11(n)にほぼ
類似するものであってよく、システム装置と、ビデオ表
示装置と、オペレータ入力装置とを含み、オペレータに
よってクライアント・コンピュータと同様にデータ処理
動作に使用することができる。別法として、少なくとも
いくつかのサーバ・コンピュータは、クライアント・コ
ンピュータからの検索要求または記憶要求またはリモー
ト処理要求を検索して処理し、そのような要求に対応す
る応答を生成する処理要素、メモリ要素、大容量記憶要
素、ネットワーク・インタフェース要素のみを含むこと
ができる。当然のことながら、クライアント・コンピュ
ータ11(n)は、サーバ・コンピュータ12(m)に
よって実行される動作として本明細書に記載された動作
を実行することもでき、同様にサーバ・コンピュータ1
2(m)は、クライアント・コンピュータ11(n)に
よって実行される動作として本明細書に記載された動作
を実行することもできる。
ライアント−サーバ」構成として構成され、図1にコン
ピュータ12(m)として示された1つまたは複数のコ
ンピュータがサーバとして動作し、図1にコンピュータ
11(n)として示した他のコンピュータがクライアン
トとして動作する。一態様では、1つまたは複数のサー
バ・コンピュータ12(m)は、「ファイル・サーバ」
として大容量記憶装置を含むことができる。大容量記憶
装置は、クライアント・コンピュータ自体の処理動作で
使用できるように通信リンク13を介してクライアント
・コンピュータによって検索できるプログラムおよびデ
ータのコピーを記憶することができる。クライアント・
コンピュータ11(n)は必要に応じて、サーバ・コン
ピュータ12上にデータを格納することもできる。この
データは、後で、データを格納したクライアント・コン
ピュータまたは他のクライアント・コンピュータが、そ
の処理動作で使用できるように検索することもできる。
また、1つまたは複数のサーバ・コンピュータ12
(m)は「コンピュータ・サーバ」として、クライアン
ト・コンピュータ11(n)からのリモート要求に応答
してある種の処理動作を実行し、処理結果を、要求側ク
ライアント・コンピュータ11(n)が後に続く処理に
おいて使用できるようにコンピュータ11(n)に返す
ことができる。いずれのケースでも、サーバ・コンピュ
ータは、クライアント・コンピュータ11(n)にほぼ
類似するものであってよく、システム装置と、ビデオ表
示装置と、オペレータ入力装置とを含み、オペレータに
よってクライアント・コンピュータと同様にデータ処理
動作に使用することができる。別法として、少なくとも
いくつかのサーバ・コンピュータは、クライアント・コ
ンピュータからの検索要求または記憶要求またはリモー
ト処理要求を検索して処理し、そのような要求に対応す
る応答を生成する処理要素、メモリ要素、大容量記憶要
素、ネットワーク・インタフェース要素のみを含むこと
ができる。当然のことながら、クライアント・コンピュ
ータ11(n)は、サーバ・コンピュータ12(m)に
よって実行される動作として本明細書に記載された動作
を実行することもでき、同様にサーバ・コンピュータ1
2(m)は、クライアント・コンピュータ11(n)に
よって実行される動作として本明細書に記載された動作
を実行することもできる。
【0011】通信リンク14で表されたネットワーク
は、たとえば、通常、個別の企業内に維持されるローカ
ル・エリア・ネットワーク(LAN)およびワイド・エ
リア・ネットワーク(WAN)や、公衆電話網や、イン
ターネットや、様々なコンピュータ間でディジタル・デ
ータを転送することができる他のネットワークを含め、
クライアント・コンピュータ11(n)、サーバ・コン
ピュータ12(m)、ネームサーバ・コンピュータ13
が通信するために使用できるいくつかのタイプのネット
ワークを備えることができる。ネットワークは、たとえ
ばワイヤや、光ファイバや、無線リンクや、図1に示し
た様々なコンピュータ間で情報を表す信号を送るための
その他の媒体を含め、いくつかの通信媒体のうちのどれ
かを使用して実施することができる。前述のように、各
コンピュータは通常、それぞれのコンピュータを通信リ
ンク14に接続し、コンピュータが通信リンクを介して
情報を送受できるようにするネットワーク・インタフェ
ースを含む。
は、たとえば、通常、個別の企業内に維持されるローカ
ル・エリア・ネットワーク(LAN)およびワイド・エ
リア・ネットワーク(WAN)や、公衆電話網や、イン
ターネットや、様々なコンピュータ間でディジタル・デ
ータを転送することができる他のネットワークを含め、
クライアント・コンピュータ11(n)、サーバ・コン
ピュータ12(m)、ネームサーバ・コンピュータ13
が通信するために使用できるいくつかのタイプのネット
ワークを備えることができる。ネットワークは、たとえ
ばワイヤや、光ファイバや、無線リンクや、図1に示し
た様々なコンピュータ間で情報を表す信号を送るための
その他の媒体を含め、いくつかの通信媒体のうちのどれ
かを使用して実施することができる。前述のように、各
コンピュータは通常、それぞれのコンピュータを通信リ
ンク14に接続し、コンピュータが通信リンクを介して
情報を送受できるようにするネットワーク・インタフェ
ースを含む。
【0012】本発明は、「スタブ」情報を得ること、及
び動的にロードすることを容易にして、あるアドレス空
間で動作するプログラムが、呼出し側プログラムとして
同じコンピュータ上に配置することも、あるいは異なる
コンピュータ上に配置することもできる他のアドレス空
間内のリモート・メソッドまたは手続きを呼び出すこと
ができるようにする。Java仮想マシンから与えられ
る実行環境に関連して処理される、Java言語仕様で
記述されたJavaTMプログラミング言語で与えられた
プログラムに関連して本発明を説明する。Java仮想
マシンは、Java仮想マシン仕様で指定される。Ja
va言語仕様で記述されたJavaプログラミング言語
のプログラムは、「クラス」および「インタフェース」
を定義する。クラスは1つまたは複数のメソッドまたは
手続きを定義するために使用される。メソッド又は手続
きはそれぞれ、インタフェースを参照することによって
呼び出すことができる。クラスは、「スーパークラス」
に関連付けられ、「スーパークラス」を拡張することが
でき、そのため、スーパークラスのすべてのインタフェ
ースおよびメソッドを備え、追加インタフェースまたは
メソッド、あるいはその両方を含むこともできる。クラ
スは1つまたは複数のサブクラスを有することもできる
(したがって、各サブクラスのスーパークラスを備え
る)。サブクラスはそれぞれ、スーパークラスと一体と
なり、場合によってはスーパークラスを拡張する。
び動的にロードすることを容易にして、あるアドレス空
間で動作するプログラムが、呼出し側プログラムとして
同じコンピュータ上に配置することも、あるいは異なる
コンピュータ上に配置することもできる他のアドレス空
間内のリモート・メソッドまたは手続きを呼び出すこと
ができるようにする。Java仮想マシンから与えられ
る実行環境に関連して処理される、Java言語仕様で
記述されたJavaTMプログラミング言語で与えられた
プログラムに関連して本発明を説明する。Java仮想
マシンは、Java仮想マシン仕様で指定される。Ja
va言語仕様で記述されたJavaプログラミング言語
のプログラムは、「クラス」および「インタフェース」
を定義する。クラスは1つまたは複数のメソッドまたは
手続きを定義するために使用される。メソッド又は手続
きはそれぞれ、インタフェースを参照することによって
呼び出すことができる。クラスは、「スーパークラス」
に関連付けられ、「スーパークラス」を拡張することが
でき、そのため、スーパークラスのすべてのインタフェ
ースおよびメソッドを備え、追加インタフェースまたは
メソッド、あるいはその両方を含むこともできる。クラ
スは1つまたは複数のサブクラスを有することもできる
(したがって、各サブクラスのスーパークラスを備え
る)。サブクラスはそれぞれ、スーパークラスと一体と
なり、場合によってはスーパークラスを拡張する。
【0013】インタフェースは、1組のメソッドを宣言
するための機構を与える。なお、インタフェースは、た
とえば名前によって、インタフェースによって宣言され
た各メソッドを識別し、メソッドに与えるべき引数のデ
ータ・タイプ、メソッドから返されるリターン値のデー
タ・タイプ、メソッドの処理中に破棄できる例外の識別
子を識別する。クラスは、特定のインタフェースを実施
することを示すことができ、そのため、インタフェース
で宣言されるすべてのメソッドの処理で使用されるプロ
グラム・コードを含む。また、それぞれの異なるクラス
は、同じインタフェースを実施することを示すことがで
き、各クラスは、インタフェースで宣言されたすべての
メソッドを処理する際に使用されるプログラム・コード
を有するが、メソッドを処理する際に使用できるように
各クラスで与えられるプログラム・コードは、同じメソ
ッドを処理する際に使用される、他のクラスで与えられ
るプログラム・コードとは異なることがある。したがっ
て、インタフェースは、メソッドの処理で使用される手
続きを示すものを与えずに1組のメソッドを宣言するた
めの機構を与える。インタフェースは、そのインタフェ
ースを使用して呼び出すことができるメソッドを実施す
る特定のクラスとは独立に宣言することができる。な
お、メソッドを呼び出すクラスと、メソッドを実際に実
施するクラスは、共通のスーパークラスを共用する必要
はない。
するための機構を与える。なお、インタフェースは、た
とえば名前によって、インタフェースによって宣言され
た各メソッドを識別し、メソッドに与えるべき引数のデ
ータ・タイプ、メソッドから返されるリターン値のデー
タ・タイプ、メソッドの処理中に破棄できる例外の識別
子を識別する。クラスは、特定のインタフェースを実施
することを示すことができ、そのため、インタフェース
で宣言されるすべてのメソッドの処理で使用されるプロ
グラム・コードを含む。また、それぞれの異なるクラス
は、同じインタフェースを実施することを示すことがで
き、各クラスは、インタフェースで宣言されたすべての
メソッドを処理する際に使用されるプログラム・コード
を有するが、メソッドを処理する際に使用できるように
各クラスで与えられるプログラム・コードは、同じメソ
ッドを処理する際に使用される、他のクラスで与えられ
るプログラム・コードとは異なることがある。したがっ
て、インタフェースは、メソッドの処理で使用される手
続きを示すものを与えずに1組のメソッドを宣言するた
めの機構を与える。インタフェースは、そのインタフェ
ースを使用して呼び出すことができるメソッドを実施す
る特定のクラスとは独立に宣言することができる。な
お、メソッドを呼び出すクラスと、メソッドを実際に実
施するクラスは、共通のスーパークラスを共用する必要
はない。
【0014】Java仮想マシン仕様で記述されたJa
vaプログラムの処理時に、クライアント・コンピュー
タ11(n)は、Javaプログラムを解釈するための
実行環境20を与える。Java仮想マシンは、プログ
ラムの実行中に、制御モジュール19の制御下で、図1
で全体的に参照符号22で識別されたクラスのインスタ
ンスを動的に、動作中のプログラムの実行環境にリンク
することができる。その動作で、制御モジュール19は
実際上、Javaプログラムの実行時に、全体的に参照
符号23で識別されたそれぞれの非インスタンス化クラ
スが実施するメソッドが呼び出されるとき、クラス・ロ
ーダがクラス23を検索し、それをインスタンス化し、
クラス・インスタンス22として実行環境のアドレス空
間にリンクすることができるようにする。また、クラス
・ローダ21は、クラス・インスタンス22が必要でな
いときに、あるいはメモリを節約するために、クラス・
インスタンス22を破棄することができる。当然のこと
ながら、クラス・インスタンス22が破棄された場合、
後で必要になった場合にはクラス・ローダ21によって
再ロードすることができる。
vaプログラムの処理時に、クライアント・コンピュー
タ11(n)は、Javaプログラムを解釈するための
実行環境20を与える。Java仮想マシンは、プログ
ラムの実行中に、制御モジュール19の制御下で、図1
で全体的に参照符号22で識別されたクラスのインスタ
ンスを動的に、動作中のプログラムの実行環境にリンク
することができる。その動作で、制御モジュール19は
実際上、Javaプログラムの実行時に、全体的に参照
符号23で識別されたそれぞれの非インスタンス化クラ
スが実施するメソッドが呼び出されるとき、クラス・ロ
ーダがクラス23を検索し、それをインスタンス化し、
クラス・インスタンス22として実行環境のアドレス空
間にリンクすることができるようにする。また、クラス
・ローダ21は、クラス・インスタンス22が必要でな
いときに、あるいはメモリを節約するために、クラス・
インスタンス22を破棄することができる。当然のこと
ながら、クラス・インスタンス22が破棄された場合、
後で必要になった場合にはクラス・ローダ21によって
再ロードすることができる。
【0015】本発明は、クライアント・コンピュータ1
1(n)によって実行環境20で実行しているプログラ
ムによる、サーバ・コンピュータ12(m)上のクラス
によって実施されるメソッドのリモート呼出しを容易に
する構成を提供する。サーバ・コンピュータ12(m)
は、メソッドを実行する際、制御モジュール28の制御
下でJavaメソッドを処理するための実行環境24も
与える。その動作で、実行環境21を与えるJava仮
想マシンは、制御モジュール28の制御下で、クラス2
6のインスタンスと、リモートに呼び出されるメソッド
を処理するために必要な他のクラスのインスタンス(や
はり全体として参照符号26で表される)を動的にリン
クし、メソッドを実行環境24で処理できるようにする
ことができるクラス・ローダ25(クラス・ローダ21
と同様なものでよい)を含む。その動作で、制御モジュ
ール28は実際上、クラス・ローダ25が、全体として
参照符号27で識別された非インスタンス化クラスか
ら、呼び出すべきメソッドの非インスタンス化クラスを
検索し、それ(すなわち、呼び出すべきメソッドを提供
する非インスタンス化クラス)をインスタンス化し、ク
ラス・インスタンス26として実行環境にリンクできる
ようにする。また、クラス・ローダ25は、メソッドの
処理が終了したときにクラス・インスタンス26を破棄
することができる。当然のことながら、クラス・インス
タンス26が破棄された場合、後で必要になった場合に
はクラス・ローダ25によって再ロードすることができ
る。
1(n)によって実行環境20で実行しているプログラ
ムによる、サーバ・コンピュータ12(m)上のクラス
によって実施されるメソッドのリモート呼出しを容易に
する構成を提供する。サーバ・コンピュータ12(m)
は、メソッドを実行する際、制御モジュール28の制御
下でJavaメソッドを処理するための実行環境24も
与える。その動作で、実行環境21を与えるJava仮
想マシンは、制御モジュール28の制御下で、クラス2
6のインスタンスと、リモートに呼び出されるメソッド
を処理するために必要な他のクラスのインスタンス(や
はり全体として参照符号26で表される)を動的にリン
クし、メソッドを実行環境24で処理できるようにする
ことができるクラス・ローダ25(クラス・ローダ21
と同様なものでよい)を含む。その動作で、制御モジュ
ール28は実際上、クラス・ローダ25が、全体として
参照符号27で識別された非インスタンス化クラスか
ら、呼び出すべきメソッドの非インスタンス化クラスを
検索し、それ(すなわち、呼び出すべきメソッドを提供
する非インスタンス化クラス)をインスタンス化し、ク
ラス・インスタンス26として実行環境にリンクできる
ようにする。また、クラス・ローダ25は、メソッドの
処理が終了したときにクラス・インスタンス26を破棄
することができる。当然のことながら、クラス・インス
タンス26が破棄された場合、後で必要になった場合に
はクラス・ローダ25によって再ロードすることができ
る。
【0016】ネームサーバ・コンピュータ13が設けら
れている場合、その構造は一般に、サーバ・コンピュー
タ12(m)の構造に類似しており、独立には説明しな
い。
れている場合、その構造は一般に、サーバ・コンピュー
タ12(m)の構造に類似しており、独立には説明しな
い。
【0017】クライアント・コンピュータの実行環境2
1の制御モジュール19は、メソッドのリモート呼出し
を容易にするために、リモート・メソッドを呼び出して
いるクラス・インスタンスを含め様々なクラス・インス
タンス22が処理される実行環境21の一部として設け
られた、全体として参照符号30で識別された1つまた
は複数のスタブ・クラス・インスタンスを使用する。各
スタブ・クラス・インスタンス30は、非インスタンス
化スタブ・クラス31のインスタンスであり、サーバ・
コンピュータ12(m)は、それ自体が、「エクスポー
ト」し、すなわちサーバ・コンピュータ12(m)自体
が与えるメソッドのリモート呼び出しにおいてクライア
ント・コンピュータ11(n)によって使用できるよう
にする、様々なクラス・インスタンス26および非イン
スタンス化クラス27のために、このスタブ・クラス・
インスタンスを維持することができる。非インスタンス
化スタブ・クラス31は、呼び出すべきリモート・メソ
ッドを実施する特定のリモート非インスタンス化クラス
27の完全な1組のインタフェースに関する宣言を含
み、また、リモート・クラスによって実施されるリモー
ト・メソッドのアクセスを容易にするメソッドを与え、
あるいは呼び出す。非インスタンス化スタブ・クラス3
1は、インスタンス化されクライアント・コンピュータ
11(n)の実行環境20にスタブ・クラス・インスタ
ンス30として与えられたときに、実際上、呼出し側J
avaプログラムの実行環境20の制御モジュール19
が必要とする情報を与え、そのため、関連するクラスに
よって実施されるリモート・メソッドが、特定の実行環
境で動作しているJavaプログラムによって呼び出さ
れたときに、リモート・メソッドが処理され、呼出し側
Javaプログラムにリターン値が与えられる。一実施
形態では、スタブ・クラス・インスタンスを実行環境2
0に与えるための構成は、前述のWaldo等の特許出
願に記載された構成に類似している。
1の制御モジュール19は、メソッドのリモート呼出し
を容易にするために、リモート・メソッドを呼び出して
いるクラス・インスタンスを含め様々なクラス・インス
タンス22が処理される実行環境21の一部として設け
られた、全体として参照符号30で識別された1つまた
は複数のスタブ・クラス・インスタンスを使用する。各
スタブ・クラス・インスタンス30は、非インスタンス
化スタブ・クラス31のインスタンスであり、サーバ・
コンピュータ12(m)は、それ自体が、「エクスポー
ト」し、すなわちサーバ・コンピュータ12(m)自体
が与えるメソッドのリモート呼び出しにおいてクライア
ント・コンピュータ11(n)によって使用できるよう
にする、様々なクラス・インスタンス26および非イン
スタンス化クラス27のために、このスタブ・クラス・
インスタンスを維持することができる。非インスタンス
化スタブ・クラス31は、呼び出すべきリモート・メソ
ッドを実施する特定のリモート非インスタンス化クラス
27の完全な1組のインタフェースに関する宣言を含
み、また、リモート・クラスによって実施されるリモー
ト・メソッドのアクセスを容易にするメソッドを与え、
あるいは呼び出す。非インスタンス化スタブ・クラス3
1は、インスタンス化されクライアント・コンピュータ
11(n)の実行環境20にスタブ・クラス・インスタ
ンス30として与えられたときに、実際上、呼出し側J
avaプログラムの実行環境20の制御モジュール19
が必要とする情報を与え、そのため、関連するクラスに
よって実施されるリモート・メソッドが、特定の実行環
境で動作しているJavaプログラムによって呼び出さ
れたときに、リモート・メソッドが処理され、呼出し側
Javaプログラムにリターン値が与えられる。一実施
形態では、スタブ・クラス・インスタンスを実行環境2
0に与えるための構成は、前述のWaldo等の特許出
願に記載された構成に類似している。
【0018】また、サーバ・コンピュータ12(m)
は、サーバ・コンピュータ12(m)からエクスポート
された特定のクラスおよびメソッドを識別するスケルト
ン32と、サーバ・コンピュータ12(m)がどのよう
に、それぞれのクラスをロードし、サーバ・コンピュー
タから与えられた特定のメソッドの処理を開始するかに
関する情報を与える。
は、サーバ・コンピュータ12(m)からエクスポート
された特定のクラスおよびメソッドを識別するスケルト
ン32と、サーバ・コンピュータ12(m)がどのよう
に、それぞれのクラスをロードし、サーバ・コンピュー
タから与えられた特定のメソッドの処理を開始するかに
関する情報を与える。
【0019】クラス・インスタンスは、サーバ・コンピ
ュータ12(m)によって維持されるリモート・メソッ
ドを呼び出す際、リモート・メソッドが処理において使
用する様々なパラメータの値をリモート・メソッドのス
タブ・クラス・インスタンス30に与える。リモート・
メソッドが呼出し側Javaプログラムと同じコンピュ
ータ上で実施される場合、呼出し側Javaプログラム
がリモート・メソッドを呼び出す際、コンピュータは、
実行環境20と同様な実行環境を確立し、実行環境のク
ラス・ローダが、メソッドをクラス・インスタンス22
と同様なクラス・インスタンスとして実施するクラスを
ロードしインスタンス化することができるようにし、リ
モート呼出し時に呼出し側クラス・インスタンスから与
えられるパラメータの値を使用してリモート・メソッド
を処理することができる。メソッドの処理が完了した
後、リモート・メソッドが処理された実行環境は、呼出
しを行ったリモート・メソッドのスタブ・クラス・イン
スタンス30に結果を与え、スタブ・クラス・インスタ
ンス30は、リモート・メソッドを呼び出した特定のク
ラス・インスタンス22に結果を与える。
ュータ12(m)によって維持されるリモート・メソッ
ドを呼び出す際、リモート・メソッドが処理において使
用する様々なパラメータの値をリモート・メソッドのス
タブ・クラス・インスタンス30に与える。リモート・
メソッドが呼出し側Javaプログラムと同じコンピュ
ータ上で実施される場合、呼出し側Javaプログラム
がリモート・メソッドを呼び出す際、コンピュータは、
実行環境20と同様な実行環境を確立し、実行環境のク
ラス・ローダが、メソッドをクラス・インスタンス22
と同様なクラス・インスタンスとして実施するクラスを
ロードしインスタンス化することができるようにし、リ
モート呼出し時に呼出し側クラス・インスタンスから与
えられるパラメータの値を使用してリモート・メソッド
を処理することができる。メソッドの処理が完了した
後、リモート・メソッドが処理された実行環境は、呼出
しを行ったリモート・メソッドのスタブ・クラス・イン
スタンス30に結果を与え、スタブ・クラス・インスタ
ンス30は、リモート・メソッドを呼び出した特定のク
ラス・インスタンス22に結果を与える。
【0020】クライアント・コンピュータ11(n)と
サーバ・コンピュータ12(m)がそれぞれの異なる物
理コンピュータ上で実施される場合でも、同様な動作が
実行される。その場合、リモート呼出しに応答して、呼
出し側クラス・インスタンス22の実行環境10の制御
モジュール19の制御下で、呼出し側クラス・インスタ
ンス22を処理しているクライアント・コンピュータ1
1(n)は、適当なスタブ・クラス・インスタンス30
を使用して、通信リンク14で表されたネットワークを
介して、リモート・メソッドを実施するサーバ・コンピ
ュータ12(m)と通信し、サーバ・コンピュータ(1
2)mが、リモート・メソッドを実施するクラスの実行
環境24を確立し、クラス・ローダ25を使用してこの
クラスのインスタンスをクラス・インスタンス26とし
てロードすることができるようにする。また、クライア
ント・コンピュータ11(n)は、やはり適当なスタブ
・クラス・インスタンス30を使用して、ネットワーク
14を介してサーバ・コンピュータ12(m)に必要な
パラメータ値を与える。その後、サーバ・コンピュータ
12(m)は、そのように与えられたパラメータ値を使
用してリモート・メソッドを処理し、ネットワークを介
してクライアント・コンピュータ11(n)、特に適当
なスタブ・クラス・インスタンス30へ転送される結果
値を生成する。クライアント・コンピュータ11(n)
は、ネットワークから結果値を受信した後、その結果値
を呼出し側クラス・インスタンス22の処理のためにこ
のクラス・インスタンス22に与える。
サーバ・コンピュータ12(m)がそれぞれの異なる物
理コンピュータ上で実施される場合でも、同様な動作が
実行される。その場合、リモート呼出しに応答して、呼
出し側クラス・インスタンス22の実行環境10の制御
モジュール19の制御下で、呼出し側クラス・インスタ
ンス22を処理しているクライアント・コンピュータ1
1(n)は、適当なスタブ・クラス・インスタンス30
を使用して、通信リンク14で表されたネットワークを
介して、リモート・メソッドを実施するサーバ・コンピ
ュータ12(m)と通信し、サーバ・コンピュータ(1
2)mが、リモート・メソッドを実施するクラスの実行
環境24を確立し、クラス・ローダ25を使用してこの
クラスのインスタンスをクラス・インスタンス26とし
てロードすることができるようにする。また、クライア
ント・コンピュータ11(n)は、やはり適当なスタブ
・クラス・インスタンス30を使用して、ネットワーク
14を介してサーバ・コンピュータ12(m)に必要な
パラメータ値を与える。その後、サーバ・コンピュータ
12(m)は、そのように与えられたパラメータ値を使
用してリモート・メソッドを処理し、ネットワークを介
してクライアント・コンピュータ11(n)、特に適当
なスタブ・クラス・インスタンス30へ転送される結果
値を生成する。クライアント・コンピュータ11(n)
は、ネットワークから結果値を受信した後、その結果値
を呼出し側クラス・インスタンス22の処理のためにこ
のクラス・インスタンス22に与える。
【0021】いずれの場合も、クライアント・コンピュ
ータの実行環境20の制御モジュール19は、リモート
・オブジェクトの参照が受信されたと判定したときに、
スタブ・クラス・インスタンス30が存在していないと
判定した場合、たとえばリモート・メソッドを実施する
サーバ・コンピュータ12(m)からスタブ・クラス・
インスタンス30を得て、スタブ・クラス・インスタン
ス30を動的に呼出し側クラス・インスタンス22の実
行環境20にロードできるようにする。リモート・オブ
ジェクトの参照は、たとえば他のリモート・メソッド呼
出しのリターン値と他のリモート・メソッド呼出し中に
受信されるパラメータのどちらかとして受信することが
できる。スタブ・クラス・インスタンスは、クラス・イ
ンスタンス22を実行環境20にロードするために使用
される方式と同様な方式で実行環境に動的にロードする
ことができる。実行環境20は、制御モジュール19の
制御下で、実行環境で処理されるクラス・インスタンス
22が必要とするスタブ・クラス・インスタンス30を
見つけてロードしようとするスタブ・クラス・ローダ3
3を備える。リモート的に呼び出すべきメソッドを実施
するクラスを維持する特定のサーバ・コンピュータ12
(m)の位置を、呼出し側クラス・インスタンスからの
呼出しに含めることも、あるいはクライアント・コンピ
ュータ11(n)によって維持される他の機構(図示せ
ず)を通じてスタブ・クラス・ローダ33に知らせるこ
ともできる。
ータの実行環境20の制御モジュール19は、リモート
・オブジェクトの参照が受信されたと判定したときに、
スタブ・クラス・インスタンス30が存在していないと
判定した場合、たとえばリモート・メソッドを実施する
サーバ・コンピュータ12(m)からスタブ・クラス・
インスタンス30を得て、スタブ・クラス・インスタン
ス30を動的に呼出し側クラス・インスタンス22の実
行環境20にロードできるようにする。リモート・オブ
ジェクトの参照は、たとえば他のリモート・メソッド呼
出しのリターン値と他のリモート・メソッド呼出し中に
受信されるパラメータのどちらかとして受信することが
できる。スタブ・クラス・インスタンスは、クラス・イ
ンスタンス22を実行環境20にロードするために使用
される方式と同様な方式で実行環境に動的にロードする
ことができる。実行環境20は、制御モジュール19の
制御下で、実行環境で処理されるクラス・インスタンス
22が必要とするスタブ・クラス・インスタンス30を
見つけてロードしようとするスタブ・クラス・ローダ3
3を備える。リモート的に呼び出すべきメソッドを実施
するクラスを維持する特定のサーバ・コンピュータ12
(m)の位置を、呼出し側クラス・インスタンスからの
呼出しに含めることも、あるいはクライアント・コンピ
ュータ11(n)によって維持される他の機構(図示せ
ず)を通じてスタブ・クラス・ローダ33に知らせるこ
ともできる。
【0022】しかし、スタブ・クラス・ローダ33は、
リモート的に呼び出すことができるメソッドを実施する
クラスをどのサーバ・コンピュータ12(m)が維持し
ているかを通知されない場合、ネームサーバ・コンピュ
ータ13を使用してそのIDを与えることができる。こ
のIDは、サーバ・コンピュータ12(m)、またはネ
ットワーク14上で使用可能であり、あるいはサーバ・
コンピュータ12(m)が応答することができる他のリ
ソースを識別するために使用できる識別子を備えること
ができる。例示的な識別子はたとえば、サーバ・コンピ
ュータまたはリソース、あるいはその両方を識別するネ
ットワーク・アドレスを含み、あるいはネットワーク1
4がインターネットであり、あるいはインターネットを
含む場合は、たとえば、IDを与えることができるWo
rld Wide Webリソースの識別子、またはイ
ンターネット上で使用できるリソースを識別する一様な
機構を与えるURLを含む。リモート・メソッドを実施
するサーバ・コンピュータ12(m)は、クライアント
・コンピュータ11(n)からの要求に応答してスタブ
・クラス・インスタンス30を与え、クライアント・コ
ンピュータ11(n)はこのスタブ・クラス・インスタ
ンス30を実行環境21にロードし、その後リモート呼
出しを開始できるようにすることができる。
リモート的に呼び出すことができるメソッドを実施する
クラスをどのサーバ・コンピュータ12(m)が維持し
ているかを通知されない場合、ネームサーバ・コンピュ
ータ13を使用してそのIDを与えることができる。こ
のIDは、サーバ・コンピュータ12(m)、またはネ
ットワーク14上で使用可能であり、あるいはサーバ・
コンピュータ12(m)が応答することができる他のリ
ソースを識別するために使用できる識別子を備えること
ができる。例示的な識別子はたとえば、サーバ・コンピ
ュータまたはリソース、あるいはその両方を識別するネ
ットワーク・アドレスを含み、あるいはネットワーク1
4がインターネットであり、あるいはインターネットを
含む場合は、たとえば、IDを与えることができるWo
rld Wide Webリソースの識別子、またはイ
ンターネット上で使用できるリソースを識別する一様な
機構を与えるURLを含む。リモート・メソッドを実施
するサーバ・コンピュータ12(m)は、クライアント
・コンピュータ11(n)からの要求に応答してスタブ
・クラス・インスタンス30を与え、クライアント・コ
ンピュータ11(n)はこのスタブ・クラス・インスタ
ンス30を実行環境21にロードし、その後リモート呼
出しを開始できるようにすることができる。
【0023】前述のように、スタブ・クラス・ローダ3
3は、どのサーバ・コンピュータ12(m)が、呼び出
すことができるリモート・メソッドを実施するのか分か
らない(したがって、どのコンピュータがリモート呼出
し用のスタブ・クラス・コードを与えるのか分からな
い)場合、制御モジュール19の制御下で、ネームサー
バ・コンピュータ13からIDを得る。その動作で、ス
タブ・クラス・ローダ33は、そのようなケースで使用
するために与えられる事前に与えられたデフォルト・ス
タブ・クラスを使用することができる。デフォルト・ク
ラス・スタブは、呼出し側Javaプログラムによって
使用されると、呼出し側Javaプログラムを処理する
コンピュータが、ネームサーバ・コンピュータ13と通
信し、リモート・メソッドを呼び出す際に使用できる情
報を得ることができるようにする。この動作は、ネーム
サーバ・コンピュータ13によって処理すべきリモート
・メソッドの呼出しとほぼ同じであり、リモート・メソ
ッドは、リモート的に呼び出すべきクラスおよびメソッ
ドを識別し、ネームサーバ・コンピュータ13が、要求
側クライアント・コンピュータ11(n)に、メソッド
を処理することができるサーバ・コンピュータ12
(m)のIDを与え、かつサーバ・コンピュータ12
(m)と通信し、特定のメソッドを呼び出すうえで助け
となるその他の情報を与えることができるようにするパ
ラメータを含む。当然のことながら、ネームサーバ・コ
ンピュータ13は、「エクスポートされたリソース」、
すなわちネットワーク14に接続されたクライアント・
コンピュータ11(n)が使用できるクラスやメソッド
などのリソースと、エクスポートされたリソースを使用
する際にクライアント・コンピュータ11(n)に有用
な、そのようなリソースを与える特定のサーバ・コンピ
ュータ12(m)のIDなどの情報とのテーブル(独立
には示していない)を維持する。
3は、どのサーバ・コンピュータ12(m)が、呼び出
すことができるリモート・メソッドを実施するのか分か
らない(したがって、どのコンピュータがリモート呼出
し用のスタブ・クラス・コードを与えるのか分からな
い)場合、制御モジュール19の制御下で、ネームサー
バ・コンピュータ13からIDを得る。その動作で、ス
タブ・クラス・ローダ33は、そのようなケースで使用
するために与えられる事前に与えられたデフォルト・ス
タブ・クラスを使用することができる。デフォルト・ク
ラス・スタブは、呼出し側Javaプログラムによって
使用されると、呼出し側Javaプログラムを処理する
コンピュータが、ネームサーバ・コンピュータ13と通
信し、リモート・メソッドを呼び出す際に使用できる情
報を得ることができるようにする。この動作は、ネーム
サーバ・コンピュータ13によって処理すべきリモート
・メソッドの呼出しとほぼ同じであり、リモート・メソ
ッドは、リモート的に呼び出すべきクラスおよびメソッ
ドを識別し、ネームサーバ・コンピュータ13が、要求
側クライアント・コンピュータ11(n)に、メソッド
を処理することができるサーバ・コンピュータ12
(m)のIDを与え、かつサーバ・コンピュータ12
(m)と通信し、特定のメソッドを呼び出すうえで助け
となるその他の情報を与えることができるようにするパ
ラメータを含む。当然のことながら、ネームサーバ・コ
ンピュータ13は、「エクスポートされたリソース」、
すなわちネットワーク14に接続されたクライアント・
コンピュータ11(n)が使用できるクラスやメソッド
などのリソースと、エクスポートされたリソースを使用
する際にクライアント・コンピュータ11(n)に有用
な、そのようなリソースを与える特定のサーバ・コンピ
ュータ12(m)のIDなどの情報とのテーブル(独立
には示していない)を維持する。
【0024】当然のことながら、ネームサーバ・コンピ
ュータ13は、当技術分野で知られているいくつかの方
法でエクスポート・リソース・テーブルを作成し維持す
ることができる。たとえば、ネームサーバ・コンピュー
タ13は、ネットワーク14を介して、エクスポート・
リソース情報を求める要求を定期的に同報通信すること
ができ、この要求に対して、エクスポートされたリソー
スを維持する様々なサーバ・コンピュータ12(m)が
応答することができる。その場合、ネームサーバ・コン
ピュータ13は、サーバ・コンピュータ12(m)から
の応答に基づいて、エクスポート・リソース・テーブル
を確立することができる。別法として、エクスポートさ
れたリソースを維持する様々なサーバ・コンピュータ1
2(m)はそれぞれ、それが維持するエクスポートされ
たリソースに関する情報を定期的に同報通信することが
でき、ネームサーバ・コンピュータ13は、サーバ・コ
ンピュータからの同報通信に基づいてエクスポート・リ
ソース・テーブルを更新することができる。また、ネー
ムサーバ・コンピュータのエクスポート・リソース・テ
ーブルは、システム・オペレータによって確立すること
ができ、システム・オペレータが更新するまで固定する
ことができる。
ュータ13は、当技術分野で知られているいくつかの方
法でエクスポート・リソース・テーブルを作成し維持す
ることができる。たとえば、ネームサーバ・コンピュー
タ13は、ネットワーク14を介して、エクスポート・
リソース情報を求める要求を定期的に同報通信すること
ができ、この要求に対して、エクスポートされたリソー
スを維持する様々なサーバ・コンピュータ12(m)が
応答することができる。その場合、ネームサーバ・コン
ピュータ13は、サーバ・コンピュータ12(m)から
の応答に基づいて、エクスポート・リソース・テーブル
を確立することができる。別法として、エクスポートさ
れたリソースを維持する様々なサーバ・コンピュータ1
2(m)はそれぞれ、それが維持するエクスポートされ
たリソースに関する情報を定期的に同報通信することが
でき、ネームサーバ・コンピュータ13は、サーバ・コ
ンピュータからの同報通信に基づいてエクスポート・リ
ソース・テーブルを更新することができる。また、ネー
ムサーバ・コンピュータのエクスポート・リソース・テ
ーブルは、システム・オペレータによって確立すること
ができ、システム・オペレータが更新するまで固定する
ことができる。
【0025】いずれの場合も、デフォルト・スタブによ
って開始された要求に応答してネームサーバ・コンピュ
ータ13から与えられる情報には、たとえば、呼び出す
べきリモート・メソッドを実施するクラスを与えること
ができるコンピュータ12(m)のIDなどの情報と、
必要なスタブ・クラス・コードなどを与えるためにコン
ピュータ(すなわち、リモート・メソッドを実施するコ
ンピュータ)によって必要とされる特定の情報とが含ま
れる。呼出し側Javaプログラムを処理しているコン
ピュータ11(n)は、ネームサーバ・コンピュータ1
3から情報を受信した後、制御モジュール19の制御下
で、この情報を使用して、コンピュータ(すなわち、リ
モート・メソッドを実施するコンピュータ)と通信しス
タブ・クラスを得て、その後前述のようにメソッドを呼
び出すことができる。
って開始された要求に応答してネームサーバ・コンピュ
ータ13から与えられる情報には、たとえば、呼び出す
べきリモート・メソッドを実施するクラスを与えること
ができるコンピュータ12(m)のIDなどの情報と、
必要なスタブ・クラス・コードなどを与えるためにコン
ピュータ(すなわち、リモート・メソッドを実施するコ
ンピュータ)によって必要とされる特定の情報とが含ま
れる。呼出し側Javaプログラムを処理しているコン
ピュータ11(n)は、ネームサーバ・コンピュータ1
3から情報を受信した後、制御モジュール19の制御下
で、この情報を使用して、コンピュータ(すなわち、リ
モート・メソッドを実施するコンピュータ)と通信しス
タブ・クラスを得て、その後前述のようにメソッドを呼
び出すことができる。
【0026】この背景情報を用いて、リモート・メソッ
ドへの参照を受信したときにスタブ・クラス・インスタ
ンスを得て動的にロードすることに関連してクライアン
ト・コンピュータ11(n)と、サーバ・コンピュータ
12(m)と、必要に応じてネームサーバ13によって
実行される動作について、図2−図4に示したフローチ
ャートに関連して説明する。また、スタブ・クラス・イ
ンスタンスを使用するメソッドのリモート呼出しに関連
してクライアント・コンピュータ11(n)およびサー
バ・コンピュータによって実行される動作について、図
5、図6に示したフローチャートに関連して説明する。
最初に図2−4を参照すると分かるように、実行環境制
御モジュール19は、リモート・メソッドへの参照を受
信すると最初に、リモート・メソッドの呼出しを容易に
するために実行環境20に適当なスタブ・クラス・イン
スタンスが存在するかどうかを判定する(ステップ10
0)。制御モジュール19は、実行環境にリモート・メ
ソッドのそのようなスタブ・クラス・インスタンス30
が存在すると判定した場合、他の動作を継続する(ステ
ップ101)。しかし、制御モジュール19は、ステッ
プ101で、リモート・メソッドの実行環境20にその
ようなスタブ・クラス・インスタンスが存在しないと判
定した場合、スタブ・クラス・ローダ33を使用して、
リモート・メソッドを処理するクラスのスタブ・クラス
・インスタンス30を見つけてロードしようとする。そ
の場合、制御モジュール19は最初、クラス・インスタ
ンス22からの呼出しに、呼び出すべきメソッドのクラ
スを維持するサーバ・コンピュータ12(m)または他
のリソースを識別するリソース・ロケータが含まれてい
たかどうか、あるいは制御モジュール19またはスタブ
・クラス・ローダ33がそのようなリソース・ロケータ
を備えているかどうかを判定する(ステップ102)。
制御モジュール19は、そのステップで肯定的な判定を
下す場合、ステップ103へ進み、スタブ・クラス・ロ
ーダ33が、識別されたサーバ・コンピュータ12
(m)との通信を開始し呼び出すべきクラスおよびメソ
ッドのスタブ・クラス・インスタンスを得ることができ
るようにする(ステップ103)。スタブ・クラス・ロ
ーダ33は、サーバ・コンピュータ12(m)からスタ
ブ・クラス・インスタンス30を受信すると、ステップ
100でリモート・メソッド呼出しを開始したクラス・
インスタンス21の実行環境20にスタブ・クラス・イ
ンスタンス30をロードする(ステップ104)。参照
されたリモート・メソッドのスタブ・クラス・インスタ
ンス30が実行環境にロードされた後、下記で図5、6
に関連して説明するようにメソッドを呼び出すことがで
きる。
ドへの参照を受信したときにスタブ・クラス・インスタ
ンスを得て動的にロードすることに関連してクライアン
ト・コンピュータ11(n)と、サーバ・コンピュータ
12(m)と、必要に応じてネームサーバ13によって
実行される動作について、図2−図4に示したフローチ
ャートに関連して説明する。また、スタブ・クラス・イ
ンスタンスを使用するメソッドのリモート呼出しに関連
してクライアント・コンピュータ11(n)およびサー
バ・コンピュータによって実行される動作について、図
5、図6に示したフローチャートに関連して説明する。
最初に図2−4を参照すると分かるように、実行環境制
御モジュール19は、リモート・メソッドへの参照を受
信すると最初に、リモート・メソッドの呼出しを容易に
するために実行環境20に適当なスタブ・クラス・イン
スタンスが存在するかどうかを判定する(ステップ10
0)。制御モジュール19は、実行環境にリモート・メ
ソッドのそのようなスタブ・クラス・インスタンス30
が存在すると判定した場合、他の動作を継続する(ステ
ップ101)。しかし、制御モジュール19は、ステッ
プ101で、リモート・メソッドの実行環境20にその
ようなスタブ・クラス・インスタンスが存在しないと判
定した場合、スタブ・クラス・ローダ33を使用して、
リモート・メソッドを処理するクラスのスタブ・クラス
・インスタンス30を見つけてロードしようとする。そ
の場合、制御モジュール19は最初、クラス・インスタ
ンス22からの呼出しに、呼び出すべきメソッドのクラ
スを維持するサーバ・コンピュータ12(m)または他
のリソースを識別するリソース・ロケータが含まれてい
たかどうか、あるいは制御モジュール19またはスタブ
・クラス・ローダ33がそのようなリソース・ロケータ
を備えているかどうかを判定する(ステップ102)。
制御モジュール19は、そのステップで肯定的な判定を
下す場合、ステップ103へ進み、スタブ・クラス・ロ
ーダ33が、識別されたサーバ・コンピュータ12
(m)との通信を開始し呼び出すべきクラスおよびメソ
ッドのスタブ・クラス・インスタンスを得ることができ
るようにする(ステップ103)。スタブ・クラス・ロ
ーダ33は、サーバ・コンピュータ12(m)からスタ
ブ・クラス・インスタンス30を受信すると、ステップ
100でリモート・メソッド呼出しを開始したクラス・
インスタンス21の実行環境20にスタブ・クラス・イ
ンスタンス30をロードする(ステップ104)。参照
されたリモート・メソッドのスタブ・クラス・インスタ
ンス30が実行環境にロードされた後、下記で図5、6
に関連して説明するようにメソッドを呼び出すことがで
きる。
【0027】ステップ102に戻ると分かるように、制
御モジュール19が、クラス・インスタンス22からの
呼出しに、呼び出すべきメソッドのクラスを維持するサ
ーバ・コンピュータ12(m)または他のリソースを識
別するリソース・ロケータが含まれておらず、さらに、
制御モジュール19もスタブ・クラス・ローダ33もそ
のようなリソース・ロケータを備えていないと判定した
場合、「classnot found」例外を示すこ
とができ、その点で、制御モジュール19は、例外ハン
ドラを呼び出すことができる。例外ハンドラは、たとえ
ば、単にリモート・メソッドが見つからなかったことを
制御モジュール19に知らせることなどを含め、いくつ
かの回復動作のうちのどれかを実行し、制御モジュール
が後に続く動作を決定できるようにする。
御モジュール19が、クラス・インスタンス22からの
呼出しに、呼び出すべきメソッドのクラスを維持するサ
ーバ・コンピュータ12(m)または他のリソースを識
別するリソース・ロケータが含まれておらず、さらに、
制御モジュール19もスタブ・クラス・ローダ33もそ
のようなリソース・ロケータを備えていないと判定した
場合、「classnot found」例外を示すこ
とができ、その点で、制御モジュール19は、例外ハン
ドラを呼び出すことができる。例外ハンドラは、たとえ
ば、単にリモート・メソッドが見つからなかったことを
制御モジュール19に知らせることなどを含め、いくつ
かの回復動作のうちのどれかを実行し、制御モジュール
が後に続く動作を決定できるようにする。
【0028】別法として、制御モジュール19は、たと
えばデフォルト・スタブ・クラス・インスタンス30の
呼出しを使用して、ネットワーク14から与えられるネ
ームサーバ・コンピュータ13またはその他のリソース
(図1に全体としてネームサーバ・コンピュータ13で
表されている)からリソース・ロケータを得ようとする
ことができる。デフォルト・スタブ・クラス・インスタ
ンス30の呼出しは、呼び出すべきクラスおよびメソッ
ドのIDと、ネームサーバ・コンピュータ13(m)の
名前を含む。制御モジュール19は、デフォルト・スタ
ブ・クラス・インスタンス30を使用して、コンピュー
タ11(n)がネームサーバ・コンピュータ13との通
信を開始し、呼び出すべきクラスおよびメソッドを維持
するサーバ・コンピュータ12(m)の識別子を得るこ
とができるようにする(ステップ110)。デフォルト
・スタブ・クラス・インスタンス30からの通信は基本
的に、リモート・メソッド呼出しに対応する。メソッド
によって、ネームサーバ・コンピュータは、リモートに
呼び出すべきクラスおよびメソッドに関連付けられたサ
ーバ・コンピュータ12(m)のIDが存在する場合に
それを与え、あるいはクラスおよびメソッドに関連付け
られたものとして識別されたサーバ・コンピュータ12
(m)がないことを示す表示を与えることができる。ス
テップ110での通信中、デフォルト・スタブ・クラス
・インタフェース30は、パラメータ値として、呼び出
すべきクラスおよびメソッドのIDを与える。
えばデフォルト・スタブ・クラス・インスタンス30の
呼出しを使用して、ネットワーク14から与えられるネ
ームサーバ・コンピュータ13またはその他のリソース
(図1に全体としてネームサーバ・コンピュータ13で
表されている)からリソース・ロケータを得ようとする
ことができる。デフォルト・スタブ・クラス・インスタ
ンス30の呼出しは、呼び出すべきクラスおよびメソッ
ドのIDと、ネームサーバ・コンピュータ13(m)の
名前を含む。制御モジュール19は、デフォルト・スタ
ブ・クラス・インスタンス30を使用して、コンピュー
タ11(n)がネームサーバ・コンピュータ13との通
信を開始し、呼び出すべきクラスおよびメソッドを維持
するサーバ・コンピュータ12(m)の識別子を得るこ
とができるようにする(ステップ110)。デフォルト
・スタブ・クラス・インスタンス30からの通信は基本
的に、リモート・メソッド呼出しに対応する。メソッド
によって、ネームサーバ・コンピュータは、リモートに
呼び出すべきクラスおよびメソッドに関連付けられたサ
ーバ・コンピュータ12(m)のIDが存在する場合に
それを与え、あるいはクラスおよびメソッドに関連付け
られたものとして識別されたサーバ・コンピュータ12
(m)がないことを示す表示を与えることができる。ス
テップ110での通信中、デフォルト・スタブ・クラス
・インタフェース30は、パラメータ値として、呼び出
すべきクラスおよびメソッドのIDを与える。
【0029】ネームサーバ・コンピュータ13は、デフ
ォルト・スタブ・クラス・インスタンス30からの通信
に応答して、要求をリモート・メソッドとして処理する
(ステップ111)。結果情報は、リモートに呼び出す
べきクラスおよびメソッドに関連付けられたサーバ・コ
ンピュータ12(m)のIDが存在する場合にそれを備
え、あるいはクラスおよびメソッドに関連付けられたも
のとして識別されたサーバ・コンピュータ12(m)が
ないことを示す表示を備える。ネームサーバ・コンピュ
ータ13は、メソッドを終了した後、デフォルト・スタ
ブ・クラス・インスタンス30との通信を開始し、デフ
ォルト・スタブ・クラス・インスタンス30に結果情報
を与える(ステップ112)。
ォルト・スタブ・クラス・インスタンス30からの通信
に応答して、要求をリモート・メソッドとして処理する
(ステップ111)。結果情報は、リモートに呼び出す
べきクラスおよびメソッドに関連付けられたサーバ・コ
ンピュータ12(m)のIDが存在する場合にそれを備
え、あるいはクラスおよびメソッドに関連付けられたも
のとして識別されたサーバ・コンピュータ12(m)が
ないことを示す表示を備える。ネームサーバ・コンピュ
ータ13は、メソッドを終了した後、デフォルト・スタ
ブ・クラス・インスタンス30との通信を開始し、デフ
ォルト・スタブ・クラス・インスタンス30に結果情報
を与える(ステップ112)。
【0030】デフォルト・スタブ・クラス・インスタン
スは、ネームサーバ・コンピュータ13から結果情報を
受信した後、制御モジュール19の制御下で、スタブ・
クラス・ローダ33に結果情報を渡す(ステップ11
3)。その後、スタブ・クラス・ローダ33は、ネーム
サーバ・コンピュータからの結果情報がサーバ・コンピ
ュータ12(m)のIDを備えているか、それともクラ
スに関連付けられたものとして識別されたサーバ・コン
ピュータ12(m)がないことを示す表示を備えている
かを判定する(ステップ114)。スタブ・クラス・ロ
ーダ33は、結果情報がサーバ・コンピュータ12
(m)のIDを備えると判定した場合、ステップ101
に戻り、識別されたサーバ・コンピュータ12(m)と
の通信を開始し、呼び出すことができるクラスおよびメ
ソッドのスタブ・クラス・インスタンスを得る。一方、
ネームサーバ・コンピュータ13が、呼び出すことがで
きるクラスおよびメソッドに関連付けられたものとして
識別されたサーバ・コンピュータ12(m)がないこと
を示す表示を与えた、とスタブ・クラス・ローダ33が
ステップ114で判定した場合、前述のように、「cl
ass not found」例外を示し(ステップ1
15)、例外ハンドラを呼び出すことができる。
スは、ネームサーバ・コンピュータ13から結果情報を
受信した後、制御モジュール19の制御下で、スタブ・
クラス・ローダ33に結果情報を渡す(ステップ11
3)。その後、スタブ・クラス・ローダ33は、ネーム
サーバ・コンピュータからの結果情報がサーバ・コンピ
ュータ12(m)のIDを備えているか、それともクラ
スに関連付けられたものとして識別されたサーバ・コン
ピュータ12(m)がないことを示す表示を備えている
かを判定する(ステップ114)。スタブ・クラス・ロ
ーダ33は、結果情報がサーバ・コンピュータ12
(m)のIDを備えると判定した場合、ステップ101
に戻り、識別されたサーバ・コンピュータ12(m)と
の通信を開始し、呼び出すことができるクラスおよびメ
ソッドのスタブ・クラス・インスタンスを得る。一方、
ネームサーバ・コンピュータ13が、呼び出すことがで
きるクラスおよびメソッドに関連付けられたものとして
識別されたサーバ・コンピュータ12(m)がないこと
を示す表示を与えた、とスタブ・クラス・ローダ33が
ステップ114で判定した場合、前述のように、「cl
ass not found」例外を示し(ステップ1
15)、例外ハンドラを呼び出すことができる。
【0031】前述のように、上記で図2−4に関連して
説明したように検索されロードされたスタブ・クラス・
インスタンス30をメソッドのリモート呼出しで使用す
ることができる。メソッドのリモート呼出しに関連して
クライアント・コンピュータ11(n)によって実行さ
れる動作を図5,6のフローチャートに関連して説明す
る。図に示したように、クラス・インスタンス22がメ
ソッドを呼び出すと、制御モジュール19は最初、呼び
出すべきリモート・メソッドの実行環境にスタブ・クラ
ス・インスタンス30が存在することを検証する(ステ
ップ120)。ステップ120で肯定の判定が下された
場合、スタブ・クラス・インスタンス30は、リモート
呼出しに使用され、リモート呼出し時に、リモート・メ
ソッドを処理する際に使用されるパラメータ値を与える
(ステップ121)。その後、呼び出すことができるリ
モート・メソッドのスタブ・クラス・インスタンス30
を使用して、リモート・メソッドのクラスを維持するサ
ーバ・コンピュータ12(m)との通信を開始する(ス
テップ122)。このプロセス中に、リモート・メソッ
ドを渡す際に使用される転送パラメータ値が渡される。
当然のことながら、メソッドを処理するサーバ・コンピ
ュータ12(m)が、メソッドを呼び出しているクライ
アント・コンピュータ12(n)と同じ物理コンピュー
タである場合、物理コンピュータ内で処理されている実
行環境間で通信を行うことができる。一方、メソッドを
処理するサーバ・コンピュータ12(m)が、メソッド
を呼び出しているクライアント・コンピュータ12
(n)の物理コンピュータとは異なる物理コンピュータ
である場合、通信はクライアント・コンピュータおよび
サーバ・コンピュータのそれぞれのネットワーク・イン
タフェース15(n)および16(m)を通じネットワ
ーク14を介して行われる。
説明したように検索されロードされたスタブ・クラス・
インスタンス30をメソッドのリモート呼出しで使用す
ることができる。メソッドのリモート呼出しに関連して
クライアント・コンピュータ11(n)によって実行さ
れる動作を図5,6のフローチャートに関連して説明す
る。図に示したように、クラス・インスタンス22がメ
ソッドを呼び出すと、制御モジュール19は最初、呼び
出すべきリモート・メソッドの実行環境にスタブ・クラ
ス・インスタンス30が存在することを検証する(ステ
ップ120)。ステップ120で肯定の判定が下された
場合、スタブ・クラス・インスタンス30は、リモート
呼出しに使用され、リモート呼出し時に、リモート・メ
ソッドを処理する際に使用されるパラメータ値を与える
(ステップ121)。その後、呼び出すことができるリ
モート・メソッドのスタブ・クラス・インスタンス30
を使用して、リモート・メソッドのクラスを維持するサ
ーバ・コンピュータ12(m)との通信を開始する(ス
テップ122)。このプロセス中に、リモート・メソッ
ドを渡す際に使用される転送パラメータ値が渡される。
当然のことながら、メソッドを処理するサーバ・コンピ
ュータ12(m)が、メソッドを呼び出しているクライ
アント・コンピュータ12(n)と同じ物理コンピュー
タである場合、物理コンピュータ内で処理されている実
行環境間で通信を行うことができる。一方、メソッドを
処理するサーバ・コンピュータ12(m)が、メソッド
を呼び出しているクライアント・コンピュータ12
(n)の物理コンピュータとは異なる物理コンピュータ
である場合、通信はクライアント・コンピュータおよび
サーバ・コンピュータのそれぞれのネットワーク・イン
タフェース15(n)および16(m)を通じネットワ
ーク14を介して行われる。
【0032】サーバ・コンピュータ12(m)は、ステ
ップ122でのスタブ・クラス・インスタンスからの通
信に応答し、必要に応じて、呼び出すべきメソッドを維
持するクラスの実行環境24を確立し、スケルトン32
から与えられる情報を使用してそのクラスのクラス・イ
ンスタンス26を作成する(ステップ123)。その
後、サーバ・コンピュータ12(m)は、制御モジュー
ル28の制御下で、スタブ・クラス・インスタンス30
から与えられたパラメータ値に関連してメソッドを処理
する(ステップ124)。サーバ・コンピュータ12
(m)は、メソッドの処理を完了した後、やはり制御モ
ジュール28の制御下で、クライアント・コンピュータ
のスタブ・クラス・インスタンス30との通信を開始
し、スタブ・クラス・インスタンスに結果情報を与える
(ステップ125)。上記でステップ102に関連して
説明したのと同様に、メソッドを処理したサーバ・コン
ピュータ12(m)が、メソッドを呼び出したクライア
ント・コンピュータ12(n)と同じ物理コンピュータ
である場合、この物理コンピュータ内で処理されている
実行環境24および20間で通信を行うことができる。
メソッドを処理したサーバ・コンピュータ12(m)
が、メソッドを呼び出しているクライアント・コンピュ
ータ12(n)の物理コンピュータとは異なる物理コン
ピュータである場合、通信は、サーバ・コンピュータお
よびクライアント・コンピュータのそれぞれのネットワ
ーク・インタフェース16(m)および15(n)を通
じネットワーク14を介して行われる。スタブ・クラス
・インスタンス30は、サーバ・コンピュータから結果
情報を得た後、リモート・メソッド呼出しを開始したク
ラス・インスタンス22に結果情報を与えることができ
(ステップ126)、そのクラス・インスタンス22
は、制御モジュール19の制御下で処理を継続すること
ができる。
ップ122でのスタブ・クラス・インスタンスからの通
信に応答し、必要に応じて、呼び出すべきメソッドを維
持するクラスの実行環境24を確立し、スケルトン32
から与えられる情報を使用してそのクラスのクラス・イ
ンスタンス26を作成する(ステップ123)。その
後、サーバ・コンピュータ12(m)は、制御モジュー
ル28の制御下で、スタブ・クラス・インスタンス30
から与えられたパラメータ値に関連してメソッドを処理
する(ステップ124)。サーバ・コンピュータ12
(m)は、メソッドの処理を完了した後、やはり制御モ
ジュール28の制御下で、クライアント・コンピュータ
のスタブ・クラス・インスタンス30との通信を開始
し、スタブ・クラス・インスタンスに結果情報を与える
(ステップ125)。上記でステップ102に関連して
説明したのと同様に、メソッドを処理したサーバ・コン
ピュータ12(m)が、メソッドを呼び出したクライア
ント・コンピュータ12(n)と同じ物理コンピュータ
である場合、この物理コンピュータ内で処理されている
実行環境24および20間で通信を行うことができる。
メソッドを処理したサーバ・コンピュータ12(m)
が、メソッドを呼び出しているクライアント・コンピュ
ータ12(n)の物理コンピュータとは異なる物理コン
ピュータである場合、通信は、サーバ・コンピュータお
よびクライアント・コンピュータのそれぞれのネットワ
ーク・インタフェース16(m)および15(n)を通
じネットワーク14を介して行われる。スタブ・クラス
・インスタンス30は、サーバ・コンピュータから結果
情報を得た後、リモート・メソッド呼出しを開始したク
ラス・インスタンス22に結果情報を与えることができ
(ステップ126)、そのクラス・インスタンス22
は、制御モジュール19の制御下で処理を継続すること
ができる。
【0033】ステップ120に戻ると分かるように、制
御モジュール19は、そのステップで、呼び出すことが
できるリモート・メソッドに妥当なスタブ・クラス・イ
ンスタンス30を有さないと判定した場合、その点で例
外ハンドラを呼び出し(ステップ127)、選択された
エラー回復動作を実行することができる。
御モジュール19は、そのステップで、呼び出すことが
できるリモート・メソッドに妥当なスタブ・クラス・イ
ンスタンス30を有さないと判定した場合、その点で例
外ハンドラを呼び出し(ステップ127)、選択された
エラー回復動作を実行することができる。
【0034】本発明は、いくつかの利点を与える。特
に、本発明は、ある実行環境で動作しているプログラム
が、他の実行環境内のメソッドの処理をリモートに呼び
出すことができるようにするスタブの動的ローディング
を容易にし、それによってプログラムが実行され必要と
されるときにスタブをロードできるようにする新しいシ
ステムおよび方法を提供する。スタブがプログラムと共
にコンパイルされ、したがってプログラムのコンパイル
時に静的に決定されるシステムでは、スタブは、プログ
ラムが受信するリモート参照によってサポートされる実
際の1組のリモート・インタフェースのサブセットを実
施することがあり、そのため、プログラムに与えられる
スタブと、プログラムの実行時に呼び出されるリモート
手続きの要件との間の不一致のためにエラーが発生し効
率が低下することがある。しかし、動的スタブ・ローデ
ィング・システムおよび方法では、リモート・メソッド
を与える特定のリソースから、ロードされるスタブを得
ることができるので、スタブは、実行時に呼出し側プロ
グラムに与えるべき厳密な1組のインタフェースを定義
し、それによって、与えられるスタブと、呼び出される
リモート・メソッドの要件との間の不一致のために生じ
る実行時非整合性をなくすことができる。
に、本発明は、ある実行環境で動作しているプログラム
が、他の実行環境内のメソッドの処理をリモートに呼び
出すことができるようにするスタブの動的ローディング
を容易にし、それによってプログラムが実行され必要と
されるときにスタブをロードできるようにする新しいシ
ステムおよび方法を提供する。スタブがプログラムと共
にコンパイルされ、したがってプログラムのコンパイル
時に静的に決定されるシステムでは、スタブは、プログ
ラムが受信するリモート参照によってサポートされる実
際の1組のリモート・インタフェースのサブセットを実
施することがあり、そのため、プログラムに与えられる
スタブと、プログラムの実行時に呼び出されるリモート
手続きの要件との間の不一致のためにエラーが発生し効
率が低下することがある。しかし、動的スタブ・ローデ
ィング・システムおよび方法では、リモート・メソッド
を与える特定のリソースから、ロードされるスタブを得
ることができるので、スタブは、実行時に呼出し側プロ
グラムに与えるべき厳密な1組のインタフェースを定義
し、それによって、与えられるスタブと、呼び出される
リモート・メソッドの要件との間の不一致のために生じ
る実行時非整合性をなくすことができる。
【0035】当然のことながら、前述の構成にはいくつ
かの修正を加えることができる。たとえば、リモート・
メソッドへの参照の受信時に、スタブ・クラス・インス
タンスを得てロードしリモート・メソッドの呼出しを容
易にするものとして実行環境20を説明したが、当然の
ことながら、リモート・メソッドが最初に呼び出された
ときにスタブ・クラス・インスタンスを得てロードする
ことができる。リモート。メソッドの参照の受信時にリ
モート・メソッドのスタブ・クラス・インスタンスを得
てロードすることは、(i)リモート・メソッドが実際
に呼び出されるときに実行環境にスタブ・クラス・イン
スタンスが存在し、(ii)適当なスタブ・クラス・イ
ンスタンスをロードできない場合に、プログラムまたは
オペレータに早いうちに知らせることができるという利
点を有する。一方、メソッドを呼び出すときにリモート
・メソッドのスタブ・クラス・インスタンスを得てロー
ドする場合、正しいスタブ・クラス・インスタンスが見
つかるまで呼出しが遅延する。メソッドの参照を受信し
た場合でもメソッドが実際には呼び出されない場合、ス
タブ・クラス・インスタンスを見つけてロードする必要
はない。
かの修正を加えることができる。たとえば、リモート・
メソッドへの参照の受信時に、スタブ・クラス・インス
タンスを得てロードしリモート・メソッドの呼出しを容
易にするものとして実行環境20を説明したが、当然の
ことながら、リモート・メソッドが最初に呼び出された
ときにスタブ・クラス・インスタンスを得てロードする
ことができる。リモート。メソッドの参照の受信時にリ
モート・メソッドのスタブ・クラス・インスタンスを得
てロードすることは、(i)リモート・メソッドが実際
に呼び出されるときに実行環境にスタブ・クラス・イン
スタンスが存在し、(ii)適当なスタブ・クラス・イ
ンスタンスをロードできない場合に、プログラムまたは
オペレータに早いうちに知らせることができるという利
点を有する。一方、メソッドを呼び出すときにリモート
・メソッドのスタブ・クラス・インスタンスを得てロー
ドする場合、正しいスタブ・クラス・インスタンスが見
つかるまで呼出しが遅延する。メソッドの参照を受信し
た場合でもメソッドが実際には呼び出されない場合、ス
タブ・クラス・インスタンスを見つけてロードする必要
はない。
【0036】当然のことながら、本発明によるシステム
が、任意の部分を適当なプログラムによって制御するこ
とができる、特殊目的ハードウェアまたは汎用コンピュ
ータ・システム、あるいはそれらの組合せで全体的また
は部分的に構築することができる。プログラムは、従来
どおり、システムの一部を全体的または部分的に構成す
ることも、あるいは全体的または部分的にシステム上に
記憶することもでき、あるいは従来どおりに情報を転送
するネットワークまたはその他の機構上のシステムに全
体的または部分的に設けることができる。また、当然の
ことながら、システムは、システムに直接接続すること
も、あるいは従来どおりに情報を転送するネットワーク
またはその他の機構上のシステムへ情報を転送すること
もできる、オペレータがオペレータ入力要素(図示せ
ず)を使って与えた情報によって操作し、あるいはその
他の方法で制御することができる。
が、任意の部分を適当なプログラムによって制御するこ
とができる、特殊目的ハードウェアまたは汎用コンピュ
ータ・システム、あるいはそれらの組合せで全体的また
は部分的に構築することができる。プログラムは、従来
どおり、システムの一部を全体的または部分的に構成す
ることも、あるいは全体的または部分的にシステム上に
記憶することもでき、あるいは従来どおりに情報を転送
するネットワークまたはその他の機構上のシステムに全
体的または部分的に設けることができる。また、当然の
ことながら、システムは、システムに直接接続すること
も、あるいは従来どおりに情報を転送するネットワーク
またはその他の機構上のシステムへ情報を転送すること
もできる、オペレータがオペレータ入力要素(図示せ
ず)を使って与えた情報によって操作し、あるいはその
他の方法で制御することができる。
【0037】前述の説明は、本発明の特定の実施形態に
制限されている。しかし、本発明に様々な変形および修
正を加えて本発明のいくつかまたはすべての利点を達成
することができることは明らかである。添付の特許請求
の範囲の目的は、このような変形および修正、ならびに
本発明の真の趣旨および範囲内の他のそのような変形お
よび修正をカバーすることである。
制限されている。しかし、本発明に様々な変形および修
正を加えて本発明のいくつかまたはすべての利点を達成
することができることは明らかである。添付の特許請求
の範囲の目的は、このような変形および修正、ならびに
本発明の真の趣旨および範囲内の他のそのような変形お
よび修正をカバーすることである。
【図1】「スタブ」情報の動的ローディングおよび使用
を容易にし、実行して、あるアドレス空間で動作するプ
ログラムが他のアドレス空間内のリモート・メソッドま
たは手続きの処理を呼び出すことができるようにするた
めに本発明によって構築された構成を含むコンピュータ
・ネットワークの機能ブロック図である。
を容易にし、実行して、あるアドレス空間で動作するプ
ログラムが他のアドレス空間内のリモート・メソッドま
たは手続きの処理を呼び出すことができるようにするた
めに本発明によって構築された構成を含むコンピュータ
・ネットワークの機能ブロック図である。
【図2】本発明を理解する際に有用な、図1に示した構
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
【図3】本発明を理解する際に有用な、図1に示した構
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
【図4】本発明を理解する際に有用な、図1に示した構
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
成によって実行される動作を示すフローチャートであ
り、スタブ情報の動的ローディングを得ることに関連し
て実行される動作を示す図である。
【図5】本発明を理解する際に有用な、図1に示した構
成によって実行される動作を示すフローチャートであ
り、スタブ情報を使用してリモート・メソッドまたは手
続きの処理を呼び出すことに関連して実行される動作を
示す図である。
成によって実行される動作を示すフローチャートであ
り、スタブ情報を使用してリモート・メソッドまたは手
続きの処理を呼び出すことに関連して実行される動作を
示す図である。
【図6】本発明を理解する際に有用な、図1に示した構
成によって実行される動作を示すフローチャートであ
り、スタブ情報を使用してリモート・メソッドまたは手
続きの処理を呼び出すことに関連して実行される動作を
示す図である。
成によって実行される動作を示すフローチャートであ
り、スタブ情報を使用してリモート・メソッドまたは手
続きの処理を呼び出すことに関連して実行される動作を
示す図である。
10 コンピュータ・ネットワーク 11 クライアント・コンピュータ 12 サーバ・コンピュータ 13 ネームサーバ・コンピュータ 14 通信リンク 15、16 ネットワーク・インタフェース装置 20、24 実行環境 21、25、33 クラス・ローダ 22、26 クラス・インスタンス 23、27 非インスタンス化クラス 19、28 制御モジュール 30、31 スタブ・クラス 32 スケルトン
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年7月15日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図 1】
【図 3】
【図 2】
【図 4】
【図 5】
【図 6】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ジェームズ・エイチ・ワルド アメリカ合衆国・01826・マサチューセッ ツ州・ドラカット・ルビー ロード・155 (72)発明者 ロジャー・リッグス アメリカ合衆国・01803・マサチューセッ ツ州・バーリントン・ブライアウッド レ ーン・4
Claims (15)
- 【請求項1】 リモート・メソッド呼出しシステムと共
に使用され、リモート・メソッドのスタブの検索及び実
行環境へのローディングを、前記実行環境で実行されて
いるプログラムによるリモート・メソッドの呼出しを容
易にするように制御するスタブ検索及びローディング・
サブシステムであって、 A.前記スタブの検索を開始するスタブ・リトリーバ
と、 B.前記スタブが前記スタブ・リトリーバによって受信
されたときに、前記スタブを前記実行環境にロードし、
それによってスタブを前記リモート・メソッドのリモー
ト呼出しで使用できるようにするスタブ・ローダとを備
えることを特徴とするスタブ検索及びローディング・サ
ブシステム。 - 【請求項2】 さらに、リモート・メソッド参照が前記
実行環境で受信されたかどうかを検出するリモート・メ
ソッド参照検出器を含み、スタブ・リトリーバが、リモ
ート・メソッド参照が前記実行環境で受信されたことを
リモート・メソッド参照検出器が検出したときに前記ス
タブの検索を開始することを特徴とする請求項1に記載
のスタブ検索及びローディング・サブシステム。 - 【請求項3】 さらに、前記リモート・メソッドの呼出
しを制御するリモート・メソッド呼出し制御機構を含
み、前記スタブ・リトリーバが、リモート・メソッドが
呼び出されたときに前記スタブの検索を開始することを
特徴とする請求項1に記載のスタブ検索及びローディン
グ・サブシステム。 - 【請求項4】 リモート・メソッド呼出しシステムが、
さらに、前記リモート・メソッドの処理要求に応答して
前記リモート・メソッドを処理し、さらに前記スタブ・
リトリーバからの検索要求に応答して前記スタブを与え
るサーバを含むことを特徴とする請求項1に記載のスタ
ブ検索及びローディング・サブシステム。 - 【請求項5】 リモート・メソッド呼出しメソッドと共
に使用され、リモート・メソッドのスタブの検索および
実行環境へのローディングを容易にし、前記実行環境で
実行されているプログラムによるリモート・メソッドの
呼出しを容易にするスタブ検索及びローディング方法で
あって、 A.前記スタブの検索を開始するスタブ検索ステップ
と、 B.前記スタブが受信されたときに、前記スタブを前記
実行環境にロードし、それによってスタブを前記リモー
ト・メソッドのリモート呼出しで使用できるようにする
スタブ・ローディング・ステップとを含むことを特徴と
するスタブ検索及びローディング方法。 - 【請求項6】 さらに、リモート・メソッド参照が前記
実行環境で受信されたかどうかを検出するリモート・メ
ソッド参照検出ステップを含み、スタブ検索ステップ
が、リモート・メソッド参照が前記実行環境で受信され
たときに前記スタブの検索を開始するステップを含むこ
とを特徴とする請求項5に記載のスタブ検索及びローデ
ィング方法。 - 【請求項7】 さらに、前記リモート・メソッドの呼出
しを制御するリモート・メソッド呼出し制御ステップを
含み、前記スタブ検索ステップが、リモート・メソッド
が呼び出されたときに前記スタブの検索を開始するステ
ップを含むことを特徴とする請求項5に記載のスタブ検
索及びローディング方法。 - 【請求項8】 リモート・メソッド呼出しシステムが、
さらに、前記リモート・メソッドの処理要求に応答して
前記リモート・メソッドを処理し、さらに前記スタブ・
リトリーバからの検索要求に応答して前記スタブを与え
るサーバを含むことを特徴とする請求項5に記載のスタ
ブ検索及びローディング方法。 - 【請求項9】 リモート・メソッド呼出しシステムと共
に使用され、リモート・メソッドのスタブの検索および
実行環境へのローディングを、前記実行環境で実行され
ているプログラムによるリモート・メソッドの呼出しを
容易にするように制御するようコンピュータを制御する
スタブ検索及びローディング用コンピュータで読取り可
能な記録媒体であって、 A.前記コンピュータが前記スタブの検索を開始できる
ようにするスタブ・リトリーバ・コード・デバイスと、 B.前記スタブが受信されたときに、前記コンピュータ
が前記スタブを前記実行環境にロードし、それによって
スタブを前記リモート・メソッドのリモート呼出しで使
用できるようにするスタブ・ローダ・コード・デバイス
とがプログラムされたコンピュータ読取り可能な媒体。 - 【請求項10】 さらに、前記コンピュータが、リモー
ト・メソッド参照が前記実行環境で受信されたかどうか
を検出できるようにするリモート・メソッド参照検出器
コード・デバイスを含み、スタブ・リトリーバ・コード
・デバイスが、リモート・メソッド参照検出器コード・
デバイスによって、前記コンピュータが、リモート・メ
ソッド参照が前記実行環境で受信されたことを検出でき
るようになったときに前記スタブの検索を開始できるよ
うにすることを特徴とする請求項9に記載のコンピュー
タ読取り可能な媒体。 - 【請求項11】 さらに、前記コンピュータが前記リモ
ート・メソッドの呼出しを制御できるようにするリモー
ト・メソッド呼出し制御コード・デバイスを含み、前記
スタブ・リトリーバ・コード・デバイスによって、前記
コンピュータが、リモート・メソッドが呼び出されたと
きに前記スタブの検索を開始することができるようにす
ることを特徴とする請求項9に記載のコンピュータ読取
り可能な媒体。 - 【請求項12】 リモート・メソッド呼出しシステムが
さらに、前記リモート・メソッドの処理要求に応答して
前記リモート・メソッドを処理し、さらに前記スタブ・
リトリーバからの検索要求に応答して前記スタブを与え
るサーバを含むことを特徴とする請求項9に記載のコン
ピュータ読取り可能な媒体。 - 【請求項13】 リモート・メソッド呼出しシステムと
共に使用され、リモート・メソッドのスタブの検索およ
び実行環境へのローディングを、前記実行環境で実行さ
れているプログラムによるリモート・メソッドの呼出し
を容易にするように制御するスタブ検索及びローディン
グ・サブシステムであって、 A.コンピュータと、 B.前記コンピュータを制御し、 i.前記スタブの検索を開始するように前記コンピュー
タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
が受信されたときに、前記スタブを前記実行環境にロー
ドし、それによってスタブを前記リモート・メソッドの
リモート呼出しで使用できるようにするよう前記コンピ
ュータを制御するスタブ・ローダ・モジュールとを備え
る制御構成とを備えることを特徴とするスタブ検索サブ
システム。 - 【請求項14】 リモート・メソッドのスタブの検索お
よび実行環境へのローディングを、前記実行環境で実行
されているプログラムによるリモート・メソッドの呼出
しを容易にするために制御するコンピュータと共に使用
される制御構成であって、 i.前記スタブの検索を開始するように前記コンピュー
タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
が受信されたときに、前記スタブを前記実行環境にロー
ドし、それによってスタブを前記リモート・メソッドの
リモート呼出しで使用できるようにするよう前記コンピ
ュータを制御するスタブ・ローダ・モジュールとを備え
ることを特徴とする制御構成。 - 【請求項15】 コンピュータ読取り可能媒体上に記憶
され、コンピュータによって実行することができ、それ
ぞれ、リモート・メソッドのスタブの検索および実行環
境へのローディングを容易にして前記実行環境で実行さ
れているプログラムによるリモート・メソッドの呼出し
を容易にするようコンピュータを制御するように構成さ
れた、複数のモジュールを含む、コードを分配するシス
テムであって、 i.前記スタブの検索を開始するように前記コンピュー
タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
が受信されたときに、前記スタブを前記実行環境にロー
ドし、それによってスタブを前記リモート・メソッドの
リモート呼出しで使用できるようにするよう前記コンピ
ュータを制御するスタブ・ローダ・モジュールとを備え
ることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/636706 | 1996-04-23 | ||
US08/636,706 US6938263B2 (en) | 1996-04-23 | 1996-04-23 | 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 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1083308A true JPH1083308A (ja) | 1998-03-31 |
Family
ID=24553013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9118665A Pending JPH1083308A (ja) | 1996-04-23 | 1997-04-23 | スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (3) | US6938263B2 (ja) |
EP (1) | EP0803811A3 (ja) |
JP (1) | JPH1083308A (ja) |
KR (1) | KR970071321A (ja) |
CN (1) | CN1103963C (ja) |
SG (1) | SG70006A1 (ja) |
TW (1) | TW385396B (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132739A (ja) * | 2000-10-23 | 2002-05-10 | Nec Corp | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 |
WO2006040991A1 (ja) * | 2004-10-08 | 2006-04-20 | Sharp Kabushiki Kaisha | 端末装置、サーバ装置、及びWebサービス提供システム |
JP2007128507A (ja) * | 2005-10-26 | 2007-05-24 | Sun Microsyst Inc | アイソレート間でのオブジェクト指向通信 |
JP2009151793A (ja) * | 2004-06-30 | 2009-07-09 | Intel Corp | スリープ‐起動機構を用いた比較および交換動作 |
US7587505B2 (en) | 2001-07-06 | 2009-09-08 | International Business Machines Corporation | Data communication method, data communication system, and program |
JP2019505932A (ja) * | 2015-11-27 | 2019-02-28 | カデンス イマジュリー メディカル インコーポレイテッドCadens Imagerie Medicale Inc. | サーバを使用してデータを処理するための関数を実行する方法およびシステム |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US6272559B1 (en) * | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6282652B1 (en) | 1998-02-26 | 2001-08-28 | Sun Microsystems, Inc. | System for separately designating security requirements for methods invoked on a computer |
US6185611B1 (en) * | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
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 |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
JP3490256B2 (ja) * | 1997-06-12 | 2004-01-26 | 三菱電機株式会社 | エージェント方式 |
US6378002B1 (en) * | 1997-08-05 | 2002-04-23 | International Business Machines Corporation, | Object oriented server process framework with implicit data handling registry for remote method invocations |
CN1292115A (zh) * | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 分布系统中动态验证信息的装置和方法 |
CN1298514A (zh) | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 确定性散列识别远程方法的方法和系统 |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
WO1999044134A1 (en) * | 1998-02-26 | 1999-09-02 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
JP2002505467A (ja) * | 1998-02-26 | 2002-02-19 | サン・マイクロシステムズ・インコーポレーテッド | 分散システムにおける動的参照サービス |
US20020046228A1 (en) * | 1998-03-20 | 2002-04-18 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6236999B1 (en) | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
US6571274B1 (en) | 1998-11-05 | 2003-05-27 | Beas Systems, Inc. | Clustered enterprise Java™ in a secure distributed processing system |
US6581088B1 (en) | 1998-11-05 | 2003-06-17 | Beas Systems, Inc. | Smart stub or enterprise javaTM bean in a distributed processing system |
US6381737B1 (en) * | 1999-04-23 | 2002-04-30 | Sun Microsystems, Inc. | Automatic adapter/stub generator |
US6807549B2 (en) * | 1999-06-03 | 2004-10-19 | B.I.S. Advanced Software Systems Ltd. | General purpose interpreter and database for accessing enterprise servers over an internet protocol network |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US7072967B1 (en) * | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US6944827B2 (en) * | 2000-09-11 | 2005-09-13 | Appeon Corporation | System and method of data transmission for computer networks utilizing HTTP |
GB0024918D0 (en) * | 2000-10-11 | 2000-11-22 | Sealedmedia Ltd | Method of providing java tamperproofing |
US20020065946A1 (en) * | 2000-10-17 | 2002-05-30 | Shankar Narayan | Synchronized computing with internet widgets |
US6851111B2 (en) * | 2000-12-15 | 2005-02-01 | International Business Machines Corporation | System and method for class loader constraint checking |
US7340748B2 (en) * | 2000-12-21 | 2008-03-04 | Gemplus | Automatic client proxy configuration for portable services |
US7296275B2 (en) * | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
US6817014B2 (en) * | 2001-04-11 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Analysis of executable program code using compiler-generated function entry points and endpoints with other sources of function entry points and endpoints |
US6918110B2 (en) * | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
US7434234B2 (en) * | 2001-05-04 | 2008-10-07 | Outlooksoft Corporation | Method and system for facilitating communications in a network using on demand distribution |
US7054901B2 (en) * | 2001-05-31 | 2006-05-30 | Juniper Networks, Inc. | Network management interface with selective rendering of output |
US7072946B2 (en) | 2001-05-31 | 2006-07-04 | Juniper Networks, Inc. | Network router management interface with API invoked via login stream |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US20030051029A1 (en) | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7111206B1 (en) | 2001-09-19 | 2006-09-19 | Juniper Networks, Inc. | Diagnosis of network fault conditions |
US7000238B2 (en) * | 2001-10-10 | 2006-02-14 | Borland Software Corporation | Development system providing extensible remoting architecture |
US7146321B2 (en) * | 2001-10-31 | 2006-12-05 | Dictaphone Corporation | Distributed speech recognition system |
US7133829B2 (en) * | 2001-10-31 | 2006-11-07 | Dictaphone Corporation | Dynamic insertion of a speech recognition engine within a distributed speech recognition system |
WO2003050674A1 (en) * | 2001-12-07 | 2003-06-19 | Dbase, Inc. | Drag-and-drop dynamic distributed object model |
US7236931B2 (en) * | 2002-05-01 | 2007-06-26 | Usb Ag, Stamford Branch | Systems and methods for automatic acoustic speaker adaptation in computer-assisted transcription systems |
US7292975B2 (en) * | 2002-05-01 | 2007-11-06 | Nuance Communications, Inc. | Systems and methods for evaluating speaker suitability for automatic speech recognition aided transcription |
US20030217191A1 (en) * | 2002-05-20 | 2003-11-20 | Yang Gao | System and method for converting the UI logic of a windows software application to run within a web browser |
US7234137B2 (en) * | 2002-07-25 | 2007-06-19 | Sun Microsystems, Inc. | Method, system, and program for processing objects in a distributed computing environment |
KR100520681B1 (ko) * | 2002-12-23 | 2005-10-11 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 플로팅 게이트 형성방법 |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
JP4293959B2 (ja) * | 2004-09-16 | 2009-07-08 | シャープ株式会社 | 画像処理装置、プログラム及び記録媒体 |
IL164577A (en) * | 2004-10-14 | 2011-12-29 | Tadiran Telecom Ltd | Communication in a distributed system |
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 |
US8250226B2 (en) * | 2005-07-21 | 2012-08-21 | Ca, Inc. | Generating one or more clients for generating one or more synthetic transactions with one or more web service operations |
US9606846B2 (en) * | 2005-07-29 | 2017-03-28 | Sap Se | System and method for dynamic proxy generation |
US20070027877A1 (en) * | 2005-07-29 | 2007-02-01 | Droshev Mladen I | System and method for improving the efficiency of remote method invocations within a multi-tiered enterprise network |
US8032372B1 (en) | 2005-09-13 | 2011-10-04 | Escription, Inc. | Dictation selection |
US8046773B1 (en) | 2005-10-26 | 2011-10-25 | Oracle America, Inc. | Object oriented communication between isolates |
US7716681B2 (en) * | 2005-11-01 | 2010-05-11 | Sap Ag | Service provider inheritance in a digital information system |
US20070168509A1 (en) * | 2005-12-30 | 2007-07-19 | Droshev Mladen I | System and method for remote loading of classes |
US8601456B2 (en) * | 2006-08-04 | 2013-12-03 | Microsoft Corporation | Software transactional protection of managed pointers |
US8051426B2 (en) * | 2007-01-04 | 2011-11-01 | Microsoft Corporation | Co-routines native to a virtual execution environment |
US8006227B2 (en) * | 2007-06-01 | 2011-08-23 | Microsoft Corporation | Efficiently locating transactional code blocks in a transactional memory system |
US8099719B2 (en) | 2007-06-19 | 2012-01-17 | Microsoft Corporation | Transactional debugger for a transactional memory system and detecting conflicts |
US8032870B2 (en) * | 2007-06-25 | 2011-10-04 | Microsoft Corporation | Transacting accesses via unmanaged pointers |
US8196123B2 (en) | 2007-06-26 | 2012-06-05 | Microsoft Corporation | Object model for transactional memory |
US7941411B2 (en) | 2007-06-29 | 2011-05-10 | Microsoft Corporation | Memory transaction grouping |
US8788309B2 (en) * | 2008-10-23 | 2014-07-22 | International Business Machines Corporation | Application of cost constraints in event scheduling |
US20100174575A1 (en) * | 2009-01-02 | 2010-07-08 | International Business Machines Corporation | Meeting management system with failover and failback capabilities for meeting moderators |
JP5936103B2 (ja) * | 2011-10-04 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム |
KR101642713B1 (ko) * | 2014-12-29 | 2016-08-10 | 서강대학교산학협력단 | 디바이스간 원격 프로시저 호출 방법 |
CN112256448A (zh) * | 2020-09-30 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 远程控制方法、装置、电子设备、系统及存储介质 |
Family Cites Families (266)
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 | 株式会社日立製作所 | 図式・ソ−スプログラム自動生成方法 |
US4567359A (en) | 1984-05-24 | 1986-01-28 | Lockwood Lawrence B | Automatic information, goods and services dispensing system |
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 |
US4800488A (en) | 1985-11-12 | 1989-01-24 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of propagating resource information in a computer network |
US4713806A (en) | 1986-03-14 | 1987-12-15 | American Telephone And Telegraph Company, At&T Bell Laboratories | Communication system control arrangement |
US4819233A (en) | 1987-04-08 | 1989-04-04 | Westinghouse Electric Corp. | Verification of computer software |
US4939638A (en) | 1988-02-23 | 1990-07-03 | Stellar Computer Inc. | Time sliced vector processing |
US5724540A (en) | 1988-03-28 | 1998-03-03 | Hitachi, Ltd. | Memory system having a column address counter and a page address counter |
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 |
JPH0293952A (ja) | 1988-09-30 | 1990-04-04 | Hitachi Ltd | 仮想計算機システム |
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 |
US5341477A (en) | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
ATE151183T1 (de) | 1989-02-24 | 1997-04-15 | Digital Equipment Corp | Makler für die auswahl von rechnernetzwerkservern |
US4992940A (en) | 1989-03-13 | 1991-02-12 | H-Renee, Incorporated | System and method for automated selection of equipment for purchase through input of user desired specifications |
US5430876A (en) * | 1989-06-27 | 1995-07-04 | Digital Equipment Corporation | Remote procedure callback system and method |
US5297283A (en) | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
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 |
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 |
US5218699A (en) * | 1989-08-24 | 1993-06-08 | International Business Machines Corporation | Remote procedure calls in heterogeneous systems |
US5253165A (en) | 1989-12-18 | 1993-10-12 | Eduardo Leiseca | Computerized reservations and scheduling system |
JPH04505977A (ja) | 1989-12-26 | 1992-10-15 | 富士通株式会社 | オブジェクト指向分散処理システム |
GB2242293A (en) | 1990-01-05 | 1991-09-25 | Apple Computer | Apparatus and method for dynamic linking of computer software components |
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 |
AU628264B2 (en) * | 1990-08-14 | 1992-09-10 | Oracle International Corporation | Methods and apparatus for providing a client interface to an object-oriented invocation of an application |
AU628753B2 (en) | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions 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 |
WO1992005485A2 (en) | 1990-09-17 | 1992-04-02 | Cabletron Systems, Inc. | Network management system using model-based intelligence |
US5319542A (en) | 1990-09-27 | 1994-06-07 | International Business Machines Corporation | System for ordering items using an electronic catalogue |
US5327559A (en) | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
JPH0799497B2 (ja) | 1990-12-14 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ソフトウェアの使用を管理するための装置及び方法 |
EP0497022B1 (en) * | 1991-01-31 | 1999-04-07 | Hewlett-Packard Company | Conference system |
IE910553A1 (en) | 1991-02-19 | 1992-08-26 | Tolsys Ltd | Improvements in and relating to stable memory circuits |
DE69228621T2 (de) | 1991-02-25 | 1999-07-22 | Hewlett Packard Co | Objektorientiertes verteiltes Rechnersystem |
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 |
FR2680255B1 (fr) | 1991-08-09 | 1994-01-28 | Gerbaulet Jean Pierre | Dispositif pour une meilleure gestion des operations courantes d'achat de produits et de services. |
DE4131380A1 (de) | 1991-09-20 | 1993-03-25 | Siemens Ag | Verfahren zur adaption einer objektorientierten applikation |
JPH05173988A (ja) | 1991-12-26 | 1993-07-13 | Toshiba Corp | 分散処理方式および該分散処理に適用されるトランザクション処理方式 |
US5319751A (en) | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
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 |
US5303042A (en) | 1992-03-25 | 1994-04-12 | One Touch Systems, Inc. | Computer-implemented method and apparatus for remote educational instruction |
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 |
WO1993025962A1 (en) * | 1992-06-18 | 1993-12-23 | International Business Machines Corporation | Distributed applications processing network |
US5339430A (en) * | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
DE69327138T2 (de) * | 1992-07-06 | 2000-04-27 | Microsoft Corp | Verfahren zur Namensgebung und zur Bindung von Objekten |
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 |
JPH0827769B2 (ja) * | 1992-10-30 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 通信インターフェースの生成システム及びその方法 |
US5515536A (en) | 1992-11-13 | 1996-05-07 | Microsoft Corporation | Method and system for invoking methods of an object through a dispatching interface |
DE69309485T2 (de) * | 1992-11-13 | 1997-07-10 | Microsoft Corp | Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe |
US5511196A (en) | 1992-11-17 | 1996-04-23 | International Business Machines Corporation | Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment |
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 |
DE69327448T2 (de) * | 1992-12-21 | 2004-03-04 | Sun Microsystems, Inc., Mountain View | Verfahren und Vorrichtung für Teilaufgaben in verteiltem Verarbeitungssystem |
US6157961A (en) * | 1992-12-21 | 2000-12-05 | Sun Microsystems, Inc. | Client-side stub interpreter |
US5452459A (en) | 1993-01-08 | 1995-09-19 | Digital Equipment Corporation | Method and apparatus for allocating server access in a distributed computing environment |
EP0613083B1 (en) | 1993-02-25 | 2002-01-23 | Sun Microsystems, Inc. | Transaction management in object oriented systems |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5475840A (en) | 1993-04-13 | 1995-12-12 | Sun Microsystems, Inc. | High performance dynamic linking through caching |
US5832593A (en) | 1993-04-14 | 1998-11-10 | Minnesota Mining And Manufacturing Company | Splice head for insulated telecommunication wires |
US5459837A (en) | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
AU670879B2 (en) | 1993-05-20 | 1996-08-01 | Moore North America, Inc. | Computer integration network for channeling customer orders through a centralized computer to various suppliers |
CA2121612A1 (en) | 1993-05-21 | 1994-11-22 | Chung-Hwa Herman Rao | Methods and apparatus for making and using distributed applications |
US5446901A (en) | 1993-06-30 | 1995-08-29 | Digital Equipment Corporation | Fault tolerant distributed garbage collection system and method for collecting network objects |
US5506984A (en) | 1993-06-30 | 1996-04-09 | Digital Equipment Corporation | Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes |
US5794207A (en) | 1996-09-04 | 1998-08-11 | Walker Asset Management Limited Partnership | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers |
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 |
US5331637A (en) | 1993-07-30 | 1994-07-19 | Bell Communications Research, Inc. | Multicast routing using core based trees |
US5666493A (en) | 1993-08-24 | 1997-09-09 | Lykes Bros., Inc. | System for managing customer orders and method of implementation |
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 |
US5590181A (en) * | 1993-10-15 | 1996-12-31 | Link Usa Corporation | Call-processing system and method |
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 |
US5699518A (en) * | 1993-11-29 | 1997-12-16 | Microsoft Corporation | System for selectively setting a server node, evaluating to determine server node for executing server code, and downloading server code prior to executing if necessary |
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 |
US5594921A (en) | 1993-12-17 | 1997-01-14 | Object Technology Licensing Corp. | Authentication of users with dynamically configurable protocol stack |
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 |
WO1995019008A1 (en) | 1994-01-05 | 1995-07-13 | Covey Peter J | 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 |
US5664111A (en) | 1994-02-16 | 1997-09-02 | Honicorp, Inc. | Computerized, multimedia, network, real time, interactive marketing and transactional system |
US5592375A (en) | 1994-03-11 | 1997-01-07 | Eagleview, Inc. | Computer-assisted system for interactively brokering goods or services between buyers and sellers |
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 |
US5664191A (en) | 1994-06-30 | 1997-09-02 | Microsoft Corporation | Method and system for improving the locality of memory references during execution of a computer program |
US5680573A (en) | 1994-07-12 | 1997-10-21 | Sybase, Inc. | Method of buffering data objects in a database |
EP0694837A1 (en) * | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
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 |
US5715314A (en) | 1994-10-24 | 1998-02-03 | Open Market, Inc. | Network sales system |
US5961582A (en) * | 1994-10-25 | 1999-10-05 | Acorn Technologies, Inc. | Distributed and portable execution environment |
US6009413A (en) | 1994-11-10 | 1999-12-28 | America Online, Inc. | System for real time shopping |
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 |
US5664110A (en) | 1994-12-08 | 1997-09-02 | Highpoint Systems, Inc. | Remote ordering system |
US5553282A (en) | 1994-12-09 | 1996-09-03 | Taligent, Inc. | Software project history database and method of operation |
US5644768A (en) | 1994-12-09 | 1997-07-01 | Borland International, Inc. | Systems and methods for sharing resources in a multi-user environment |
EP0717337B1 (en) | 1994-12-13 | 2001-08-01 | International Business Machines Corporation | Method and system for the secured distribution of programs |
US5608903A (en) | 1994-12-15 | 1997-03-04 | Novell, Inc. | Method and apparatus for moving subtrees in a distributed network directory |
US5677851A (en) | 1994-12-15 | 1997-10-14 | Novell, Inc. | Method and apparatus to secure digital directory object changes |
US5630066A (en) | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
US5491791A (en) | 1995-01-13 | 1996-02-13 | International Business Machines Corporation | System and method for remote workstation monitoring within a distributed computing environment |
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 |
JPH08235260A (ja) | 1995-03-01 | 1996-09-13 | Fujitsu Ltd | マルチメディア通信システム |
EP0735472A3 (en) | 1995-03-31 | 2000-01-19 | Sun Microsystems, Inc. | Method and apparatus for conspiracy among objects |
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 |
US5721832A (en) | 1995-05-12 | 1998-02-24 | Regal Greetings & Gifts Inc. | Method and apparatus for an interactive computerized catalog system |
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 |
US5790677A (en) | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
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 |
US5734706A (en) | 1995-07-27 | 1998-03-31 | Windsor; Victoria Brein | Caller identification and data retrieval system |
US5644720A (en) | 1995-07-31 | 1997-07-01 | West Publishing Company | Interprocess communications interface for managing transaction requests |
US5805805A (en) | 1995-08-04 | 1998-09-08 | At&T Corp. | Symmetric method and apparatus for interconnecting emulated lans |
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 |
US5809144A (en) | 1995-08-24 | 1998-09-15 | Carnegie Mellon University | Method and apparatus for purchasing and delivering digital goods over a network |
JPH0962526A (ja) | 1995-08-28 | 1997-03-07 | Fujitsu Ltd | 耐故障型rpcシステムおよび方法 |
US5710887A (en) | 1995-08-29 | 1998-01-20 | Broadvision | Computer system and method for electronic commerce |
JP2964926B2 (ja) | 1995-08-29 | 1999-10-18 | 富士ゼロックス株式会社 | データベース管理装置及び方法 |
US5671225A (en) | 1995-09-01 | 1997-09-23 | Digital Equipment Corporation | Distributed interactive multimedia service system |
US5682534A (en) | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US6009464A (en) * | 1995-09-20 | 1999-12-28 | Sun Microsystems, Inc. | Method and apparatus for enabling application programs to communicate with network clients and servers |
US5737607A (en) | 1995-09-28 | 1998-04-07 | Sun Microsystems, Inc. | Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats |
US5765174A (en) | 1995-10-06 | 1998-06-09 | Sun Microsystems, Inc. | System amd method for distributed object resource management |
US5806042A (en) * | 1995-10-11 | 1998-09-08 | Kelly; William Franklin | System for designing and implementing bank owned life insurance (BOLI) with a reinsurance option |
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 |
US5996075A (en) * | 1995-11-02 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
US5671279A (en) | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
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 |
US5887172A (en) * | 1996-01-10 | 1999-03-23 | Sun Microsystems, Inc. | Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends |
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 |
US5758328A (en) | 1996-02-22 | 1998-05-26 | Giovannoli; Joseph | Computerized quotation system and method |
CA2199108C (en) | 1996-03-05 | 2002-04-23 | Hirotoshi Maegawa | Parallel distributed processing system and method of same |
US5754977A (en) | 1996-03-06 | 1998-05-19 | Intervoice Limited Partnership | System and method for preventing enrollment of confusable patterns in a reference database |
US5721825A (en) | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
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 |
US5850442A (en) | 1996-03-26 | 1998-12-15 | Entegrity Solutions Corporation | Secure world wide electronic commerce over an open network |
US5790548A (en) | 1996-04-18 | 1998-08-04 | Bell Atlantic Network Services, Inc. | Universal access multimedia data network |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
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 |
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 |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US5978484A (en) | 1996-04-25 | 1999-11-02 | Microsoft Corporation | System and method for safety distributing executable objects |
US5963924A (en) | 1996-04-26 | 1999-10-05 | Verifone, Inc. | System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce |
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 |
US6018619A (en) * | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US6199116B1 (en) | 1996-05-24 | 2001-03-06 | Microsoft Corporation | Method and system for managing data while sharing application programs |
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 |
US5729594A (en) | 1996-06-07 | 1998-03-17 | Klingman; Edwin E. | On-line secured financial transaction system through electronic media |
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 |
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 |
US6044409A (en) | 1996-06-26 | 2000-03-28 | Sun Microsystems, Inc. | Framework for marshaling and unmarshaling argument object references |
SG67354A1 (en) | 1996-06-27 | 1999-09-21 | Inst Of Systems Science Nation | Computationally efficient method for trusted and dynamic digital objects dissemination |
US6360256B1 (en) | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
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 |
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 |
US5949998A (en) | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US5860004A (en) | 1996-07-03 | 1999-01-12 | Sun Microsystems, Inc. | Code generator for applications in distributed object systems |
US5742768A (en) | 1996-07-16 | 1998-04-21 | Silicon Graphics, Inc. | System and method for providing and displaying a web page having an embedded menu |
US5757925A (en) | 1996-07-23 | 1998-05-26 | Faybishenko; Yaroslav | Secure platform independent cross-platform remote execution computer system and method |
US5758077A (en) | 1996-08-02 | 1998-05-26 | Hewlett-Packard Company | Service-centric monitoring system and method for monitoring of distributed services in a computing network |
US6016516A (en) | 1996-08-07 | 2000-01-18 | Fuji Xerox Co. Ltd. | Remote procedure processing device used by at least two linked computer systems |
JP3484019B2 (ja) | 1996-08-30 | 2004-01-06 | 富士通株式会社 | Lan間接続方法 |
US6212578B1 (en) * | 1996-09-09 | 2001-04-03 | Oracle Corporation | Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls |
US5875335A (en) | 1996-09-30 | 1999-02-23 | Apple Computer, Inc. | Parameter marshaling techniques for dynamic object-oriented programming languages |
US5974201A (en) | 1996-10-01 | 1999-10-26 | Siemens Corporate Research, Inc. | Smart image system |
US5787425A (en) | 1996-10-01 | 1998-07-28 | International Business Machines Corporation | Object-oriented data mining framework mechanism |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6167520A (en) * | 1996-11-08 | 2000-12-26 | Finjan Software, Inc. | System and method for protecting a client during runtime from hostile downloadables |
US6154844A (en) * | 1996-11-08 | 2000-11-28 | Finjan Software, Ltd. | System and method for attaching a downloadable security profile to a downloadable |
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 |
US6189046B1 (en) * | 1997-03-27 | 2001-02-13 | Hewlett-Packard Company | Mechanism and method for merging cached location information in a distributed object environment |
US6282581B1 (en) * | 1997-03-27 | 2001-08-28 | Hewlett-Packard Company | Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment |
US6408342B1 (en) * | 1997-03-28 | 2002-06-18 | Keith E. Moore | Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment |
US6104716A (en) * | 1997-03-28 | 2000-08-15 | International Business Machines Corporation | Method and apparatus for lightweight secure communication tunneling over the internet |
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 |
US6157960A (en) * | 1997-05-07 | 2000-12-05 | International Business Machines Corporation | Technique for programmatically creating distributed object programs |
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 |
US5991808A (en) * | 1997-06-02 | 1999-11-23 | Digital Equipment Corporation | Task processing optimization in a multiprocessor system |
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 |
US6052724A (en) * | 1997-09-02 | 2000-04-18 | Novell Inc | Method and system for managing a directory service |
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 |
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 |
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 |
US6093216A (en) | 1998-05-29 | 2000-07-25 | Intel Corporation | Method of run-time tracking of object references in Java programs |
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 |
US6385643B1 (en) * | 1998-11-05 | 2002-05-07 | Bea Systems, Inc. | Clustered enterprise Java™ having a message passing kernel in a distributed processing system |
US6301613B1 (en) * | 1998-12-03 | 2001-10-09 | Cisco Technology, Inc. | Verifying that a network management policy used by a computer system can be satisfied and is feasible for use |
US6282568B1 (en) | 1998-12-04 | 2001-08-28 | Sun Microsystems, Inc. | Platform independent distributed management system for manipulating managed objects in a network |
US6216158B1 (en) | 1999-01-25 | 2001-04-10 | 3Com Corporation | System and method using a palm sized computer to control network devices |
US6578074B1 (en) * | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
JP2002132739A (ja) * | 2000-10-23 | 2002-05-10 | Nec Corp | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 |
-
1996
- 1996-04-23 US US08/636,706 patent/US6938263B2/en not_active Expired - Fee Related
-
1997
- 1997-04-23 CN CN97111235A patent/CN1103963C/zh not_active Expired - Fee Related
- 1997-04-23 SG SG1997001286A patent/SG70006A1/en unknown
- 1997-04-23 KR KR1019970015136A patent/KR970071321A/ko not_active Application Discontinuation
- 1997-04-23 JP JP9118665A patent/JPH1083308A/ja active Pending
- 1997-04-23 EP EP97302769A patent/EP0803811A3/en not_active Withdrawn
- 1997-05-02 TW TW086105873A patent/TW385396B/zh not_active IP Right Cessation
-
1998
- 1998-05-22 US US09/082,960 patent/US7058954B1/en not_active Expired - Fee Related
- 1998-06-30 US US09/107,320 patent/US6654793B1/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132739A (ja) * | 2000-10-23 | 2002-05-10 | Nec Corp | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 |
US6839897B2 (en) | 2000-10-23 | 2005-01-04 | Nec Corporation | Stub search loading system and method, server apparatus, client apparatus, and computer-readable recording medium |
US7587505B2 (en) | 2001-07-06 | 2009-09-08 | International Business Machines Corporation | Data communication method, data communication system, and program |
JP2009151793A (ja) * | 2004-06-30 | 2009-07-09 | Intel Corp | スリープ‐起動機構を用いた比較および交換動作 |
US9733937B2 (en) | 2004-06-30 | 2017-08-15 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
WO2006040991A1 (ja) * | 2004-10-08 | 2006-04-20 | Sharp Kabushiki Kaisha | 端末装置、サーバ装置、及びWebサービス提供システム |
JPWO2006040991A1 (ja) * | 2004-10-08 | 2008-05-15 | シャープ株式会社 | 端末装置、サーバ装置、及びWebサービス提供システム |
JP2007128507A (ja) * | 2005-10-26 | 2007-05-24 | Sun Microsyst Inc | アイソレート間でのオブジェクト指向通信 |
JP2019505932A (ja) * | 2015-11-27 | 2019-02-28 | カデンス イマジュリー メディカル インコーポレイテッドCadens Imagerie Medicale Inc. | サーバを使用してデータを処理するための関数を実行する方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
SG70006A1 (en) | 2000-01-25 |
US20030084204A1 (en) | 2003-05-01 |
US6938263B2 (en) | 2005-08-30 |
US7058954B1 (en) | 2006-06-06 |
KR970071321A (ko) | 1997-11-07 |
TW385396B (en) | 2000-03-21 |
EP0803811A3 (en) | 2000-12-06 |
CN1168503A (zh) | 1997-12-24 |
CN1103963C (zh) | 2003-03-26 |
US6654793B1 (en) | 2003-11-25 |
EP0803811A2 (en) | 1997-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1083308A (ja) | スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体 | |
JP4729172B2 (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
US6230160B1 (en) | Creating proxies for distributed beans and event objects | |
US6393497B1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
JP3853592B2 (ja) | 分散ウェブアプリケーションサーバ | |
US6845503B1 (en) | System and method for enabling atomic class loading in an application server environment | |
US20080140760A1 (en) | Service-oriented architecture system and methods supporting dynamic service provider versioning | |
US8407718B2 (en) | Method and apparatus for composite user interface generation | |
US6636900B2 (en) | Method and apparatus for executing distributed objects over a network | |
US7051341B2 (en) | Method, system, and program for implementing a remote method call | |
US6708171B1 (en) | Network proxy | |
US20060064399A1 (en) | Method and system for testing distributed software applications | |
US6832223B1 (en) | Method and system for facilitating access to a lookup service | |
EP1465074A2 (en) | System and method for supporting interactions between different versions of software | |
US7721278B2 (en) | Modular server architecture for multi-environment HTTP request processing | |
US20020046228A1 (en) | Method and system for facilitating access to a lookup service | |
AU775624B2 (en) | Method and apparatus for dynamic command extensibility in an intelligent agent | |
CN116362336B (zh) | 一种模型推理交互方法、电子设备、可读存储介质 | |
EP1058884A1 (en) | Method and system for facilitating access to a lookup service | |
EP1058880A1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
JPH09167097A (ja) | リモート・プロシジャ・コールシステム | |
KR100305981B1 (ko) | 암시적에이전트재배치를사용하여원격네트워크콤포넌트에대한액세스를자동으로로컬라이징하는시스템및방법 | |
GB2372119A (en) | Distributed computing system | |
KR20010034515A (ko) | 룩업 서비스에의 액세스를 용이하게 하는 방법 및 시스템 |