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
Application number
JP9118665A
Other languages
English (en)
Inventor
Ann M Wollrath
アン・エム・ウルレース
James H Waldo
ジェームズ・エイチ・ワルド
Roger Riggs
ロジャー・リッグス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1083308A publication Critical patent/JPH1083308A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

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号。
【0003】
【従来の技術】現代の「企業内」コンピューティングで
は、いくつかのパーソナル・コンピュータと、ワークス
テーションと、その他の装置が、通常、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は通
常、システム装置(やはり独立には示していない)も含
み、ビデオ表示装置とオペレータ入力装置を含むことも
できる。
【0009】クライアント・コンピュータ11(n)、
サーバ・コンピュータ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)に
よって実行される動作として本明細書に記載された動作
を実行することもできる。
【0011】通信リンク14で表されたネットワーク
は、たとえば、通常、個別の企業内に維持されるローカ
ル・エリア・ネットワーク(LAN)およびワイド・エ
リア・ネットワーク(WAN)や、公衆電話網や、イン
ターネットや、様々なコンピュータ間でディジタル・デ
ータを転送することができる他のネットワークを含め、
クライアント・コンピュータ11(n)、サーバ・コン
ピュータ12(m)、ネームサーバ・コンピュータ13
が通信するために使用できるいくつかのタイプのネット
ワークを備えることができる。ネットワークは、たとえ
ばワイヤや、光ファイバや、無線リンクや、図1に示し
た様々なコンピュータ間で情報を表す信号を送るための
その他の媒体を含め、いくつかの通信媒体のうちのどれ
かを使用して実施することができる。前述のように、各
コンピュータは通常、それぞれのコンピュータを通信リ
ンク14に接続し、コンピュータが通信リンクを介して
情報を送受できるようにするネットワーク・インタフェ
ースを含む。
【0012】本発明は、「スタブ」情報を得ること、及
び動的にロードすることを容易にして、あるアドレス空
間で動作するプログラムが、呼出し側プログラムとして
同じコンピュータ上に配置することも、あるいは異なる
コンピュータ上に配置することもできる他のアドレス空
間内のリモート・メソッドまたは手続きを呼び出すこと
ができるようにする。Java仮想マシンから与えられ
る実行環境に関連して処理される、Java言語仕様で
記述されたJavaTMプログラミング言語で与えられた
プログラムに関連して本発明を説明する。Java仮想
マシンは、Java仮想マシン仕様で指定される。Ja
va言語仕様で記述されたJavaプログラミング言語
のプログラムは、「クラス」および「インタフェース」
を定義する。クラスは1つまたは複数のメソッドまたは
手続きを定義するために使用される。メソッド又は手続
きはそれぞれ、インタフェースを参照することによって
呼び出すことができる。クラスは、「スーパークラス」
に関連付けられ、「スーパークラス」を拡張することが
でき、そのため、スーパークラスのすべてのインタフェ
ースおよびメソッドを備え、追加インタフェースまたは
メソッド、あるいはその両方を含むこともできる。クラ
スは1つまたは複数のサブクラスを有することもできる
(したがって、各サブクラスのスーパークラスを備え
る)。サブクラスはそれぞれ、スーパークラスと一体と
なり、場合によってはスーパークラスを拡張する。
【0013】インタフェースは、1組のメソッドを宣言
するための機構を与える。なお、インタフェースは、た
とえば名前によって、インタフェースによって宣言され
た各メソッドを識別し、メソッドに与えるべき引数のデ
ータ・タイプ、メソッドから返されるリターン値のデー
タ・タイプ、メソッドの処理中に破棄できる例外の識別
子を識別する。クラスは、特定のインタフェースを実施
することを示すことができ、そのため、インタフェース
で宣言されるすべてのメソッドの処理で使用されるプロ
グラム・コードを含む。また、それぞれの異なるクラス
は、同じインタフェースを実施することを示すことがで
き、各クラスは、インタフェースで宣言されたすべての
メソッドを処理する際に使用されるプログラム・コード
を有するが、メソッドを処理する際に使用できるように
各クラスで与えられるプログラム・コードは、同じメソ
ッドを処理する際に使用される、他のクラスで与えられ
るプログラム・コードとは異なることがある。したがっ
て、インタフェースは、メソッドの処理で使用される手
続きを示すものを与えずに1組のメソッドを宣言するた
めの機構を与える。インタフェースは、そのインタフェ
ースを使用して呼び出すことができるメソッドを実施す
る特定のクラスとは独立に宣言することができる。な
お、メソッドを呼び出すクラスと、メソッドを実際に実
施するクラスは、共通のスーパークラスを共用する必要
はない。
【0014】Java仮想マシン仕様で記述されたJa
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によって再ロードすることができ
る。
【0016】ネームサーバ・コンピュータ13が設けら
れている場合、その構造は一般に、サーバ・コンピュー
タ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等の特許出
願に記載された構成に類似している。
【0018】また、サーバ・コンピュータ12(m)
は、サーバ・コンピュータ12(m)からエクスポート
された特定のクラスおよびメソッドを識別するスケルト
ン32と、サーバ・コンピュータ12(m)がどのよう
に、それぞれのクラスをロードし、サーバ・コンピュー
タから与えられた特定のメソッドの処理を開始するかに
関する情報を与える。
【0019】クラス・インスタンスは、サーバ・コンピ
ュータ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に与える。
【0021】いずれの場合も、クライアント・コンピュ
ータの実行環境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にロードし、その後リモート呼
出しを開始できるようにすることができる。
【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などの情報とのテーブル(独立
には示していない)を維持する。
【0024】当然のことながら、ネームサーバ・コンピ
ュータ13は、当技術分野で知られているいくつかの方
法でエクスポート・リソース・テーブルを作成し維持す
ることができる。たとえば、ネームサーバ・コンピュー
タ13は、ネットワーク14を介して、エクスポート・
リソース情報を求める要求を定期的に同報通信すること
ができ、この要求に対して、エクスポートされたリソー
スを維持する様々なサーバ・コンピュータ12(m)が
応答することができる。その場合、ネームサーバ・コン
ピュータ13は、サーバ・コンピュータ12(m)から
の応答に基づいて、エクスポート・リソース・テーブル
を確立することができる。別法として、エクスポートさ
れたリソースを維持する様々なサーバ・コンピュータ1
2(m)はそれぞれ、それが維持するエクスポートされ
たリソースに関する情報を定期的に同報通信することが
でき、ネームサーバ・コンピュータ13は、サーバ・コ
ンピュータからの同報通信に基づいてエクスポート・リ
ソース・テーブルを更新することができる。また、ネー
ムサーバ・コンピュータのエクスポート・リソース・テ
ーブルは、システム・オペレータによって確立すること
ができ、システム・オペレータが更新するまで固定する
ことができる。
【0025】いずれの場合も、デフォルト・スタブによ
って開始された要求に応答してネームサーバ・コンピュ
ータ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
に関連して説明するようにメソッドを呼び出すことがで
きる。
【0027】ステップ102に戻ると分かるように、制
御モジュール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を与える。
【0029】ネームサーバ・コンピュータ13は、デフ
ォルト・スタブ・クラス・インスタンス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)、例外ハンドラを呼び出すことができる。
【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を介して行われる。
【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の制御下で処理を継続すること
ができる。
【0033】ステップ120に戻ると分かるように、制
御モジュール19は、そのステップで、呼び出すことが
できるリモート・メソッドに妥当なスタブ・クラス・イ
ンスタンス30を有さないと判定した場合、その点で例
外ハンドラを呼び出し(ステップ127)、選択された
エラー回復動作を実行することができる。
【0034】本発明は、いくつかの利点を与える。特
に、本発明は、ある実行環境で動作しているプログラム
が、他の実行環境内のメソッドの処理をリモートに呼び
出すことができるようにするスタブの動的ローディング
を容易にし、それによってプログラムが実行され必要と
されるときにスタブをロードできるようにする新しいシ
ステムおよび方法を提供する。スタブがプログラムと共
にコンパイルされ、したがってプログラムのコンパイル
時に静的に決定されるシステムでは、スタブは、プログ
ラムが受信するリモート参照によってサポートされる実
際の1組のリモート・インタフェースのサブセットを実
施することがあり、そのため、プログラムに与えられる
スタブと、プログラムの実行時に呼び出されるリモート
手続きの要件との間の不一致のためにエラーが発生し効
率が低下することがある。しかし、動的スタブ・ローデ
ィング・システムおよび方法では、リモート・メソッド
を与える特定のリソースから、ロードされるスタブを得
ることができるので、スタブは、実行時に呼出し側プロ
グラムに与えるべき厳密な1組のインタフェースを定義
し、それによって、与えられるスタブと、呼び出される
リモート・メソッドの要件との間の不一致のために生じ
る実行時非整合性をなくすことができる。
【0035】当然のことながら、前述の構成にはいくつ
かの修正を加えることができる。たとえば、リモート・
メソッドへの参照の受信時に、スタブ・クラス・インス
タンスを得てロードしリモート・メソッドの呼出しを容
易にするものとして実行環境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. 【請求項1】 リモート・メソッド呼出しシステムと共
    に使用され、リモート・メソッドのスタブの検索及び実
    行環境へのローディングを、前記実行環境で実行されて
    いるプログラムによるリモート・メソッドの呼出しを容
    易にするように制御するスタブ検索及びローディング・
    サブシステムであって、 A.前記スタブの検索を開始するスタブ・リトリーバ
    と、 B.前記スタブが前記スタブ・リトリーバによって受信
    されたときに、前記スタブを前記実行環境にロードし、
    それによってスタブを前記リモート・メソッドのリモー
    ト呼出しで使用できるようにするスタブ・ローダとを備
    えることを特徴とするスタブ検索及びローディング・サ
    ブシステム。
  2. 【請求項2】 さらに、リモート・メソッド参照が前記
    実行環境で受信されたかどうかを検出するリモート・メ
    ソッド参照検出器を含み、スタブ・リトリーバが、リモ
    ート・メソッド参照が前記実行環境で受信されたことを
    リモート・メソッド参照検出器が検出したときに前記ス
    タブの検索を開始することを特徴とする請求項1に記載
    のスタブ検索及びローディング・サブシステム。
  3. 【請求項3】 さらに、前記リモート・メソッドの呼出
    しを制御するリモート・メソッド呼出し制御機構を含
    み、前記スタブ・リトリーバが、リモート・メソッドが
    呼び出されたときに前記スタブの検索を開始することを
    特徴とする請求項1に記載のスタブ検索及びローディン
    グ・サブシステム。
  4. 【請求項4】 リモート・メソッド呼出しシステムが、
    さらに、前記リモート・メソッドの処理要求に応答して
    前記リモート・メソッドを処理し、さらに前記スタブ・
    リトリーバからの検索要求に応答して前記スタブを与え
    るサーバを含むことを特徴とする請求項1に記載のスタ
    ブ検索及びローディング・サブシステム。
  5. 【請求項5】 リモート・メソッド呼出しメソッドと共
    に使用され、リモート・メソッドのスタブの検索および
    実行環境へのローディングを容易にし、前記実行環境で
    実行されているプログラムによるリモート・メソッドの
    呼出しを容易にするスタブ検索及びローディング方法で
    あって、 A.前記スタブの検索を開始するスタブ検索ステップ
    と、 B.前記スタブが受信されたときに、前記スタブを前記
    実行環境にロードし、それによってスタブを前記リモー
    ト・メソッドのリモート呼出しで使用できるようにする
    スタブ・ローディング・ステップとを含むことを特徴と
    するスタブ検索及びローディング方法。
  6. 【請求項6】 さらに、リモート・メソッド参照が前記
    実行環境で受信されたかどうかを検出するリモート・メ
    ソッド参照検出ステップを含み、スタブ検索ステップ
    が、リモート・メソッド参照が前記実行環境で受信され
    たときに前記スタブの検索を開始するステップを含むこ
    とを特徴とする請求項5に記載のスタブ検索及びローデ
    ィング方法。
  7. 【請求項7】 さらに、前記リモート・メソッドの呼出
    しを制御するリモート・メソッド呼出し制御ステップを
    含み、前記スタブ検索ステップが、リモート・メソッド
    が呼び出されたときに前記スタブの検索を開始するステ
    ップを含むことを特徴とする請求項5に記載のスタブ検
    索及びローディング方法。
  8. 【請求項8】 リモート・メソッド呼出しシステムが、
    さらに、前記リモート・メソッドの処理要求に応答して
    前記リモート・メソッドを処理し、さらに前記スタブ・
    リトリーバからの検索要求に応答して前記スタブを与え
    るサーバを含むことを特徴とする請求項5に記載のスタ
    ブ検索及びローディング方法。
  9. 【請求項9】 リモート・メソッド呼出しシステムと共
    に使用され、リモート・メソッドのスタブの検索および
    実行環境へのローディングを、前記実行環境で実行され
    ているプログラムによるリモート・メソッドの呼出しを
    容易にするように制御するようコンピュータを制御する
    スタブ検索及びローディング用コンピュータで読取り可
    能な記録媒体であって、 A.前記コンピュータが前記スタブの検索を開始できる
    ようにするスタブ・リトリーバ・コード・デバイスと、 B.前記スタブが受信されたときに、前記コンピュータ
    が前記スタブを前記実行環境にロードし、それによって
    スタブを前記リモート・メソッドのリモート呼出しで使
    用できるようにするスタブ・ローダ・コード・デバイス
    とがプログラムされたコンピュータ読取り可能な媒体。
  10. 【請求項10】 さらに、前記コンピュータが、リモー
    ト・メソッド参照が前記実行環境で受信されたかどうか
    を検出できるようにするリモート・メソッド参照検出器
    コード・デバイスを含み、スタブ・リトリーバ・コード
    ・デバイスが、リモート・メソッド参照検出器コード・
    デバイスによって、前記コンピュータが、リモート・メ
    ソッド参照が前記実行環境で受信されたことを検出でき
    るようになったときに前記スタブの検索を開始できるよ
    うにすることを特徴とする請求項9に記載のコンピュー
    タ読取り可能な媒体。
  11. 【請求項11】 さらに、前記コンピュータが前記リモ
    ート・メソッドの呼出しを制御できるようにするリモー
    ト・メソッド呼出し制御コード・デバイスを含み、前記
    スタブ・リトリーバ・コード・デバイスによって、前記
    コンピュータが、リモート・メソッドが呼び出されたと
    きに前記スタブの検索を開始することができるようにす
    ることを特徴とする請求項9に記載のコンピュータ読取
    り可能な媒体。
  12. 【請求項12】 リモート・メソッド呼出しシステムが
    さらに、前記リモート・メソッドの処理要求に応答して
    前記リモート・メソッドを処理し、さらに前記スタブ・
    リトリーバからの検索要求に応答して前記スタブを与え
    るサーバを含むことを特徴とする請求項9に記載のコン
    ピュータ読取り可能な媒体。
  13. 【請求項13】 リモート・メソッド呼出しシステムと
    共に使用され、リモート・メソッドのスタブの検索およ
    び実行環境へのローディングを、前記実行環境で実行さ
    れているプログラムによるリモート・メソッドの呼出し
    を容易にするように制御するスタブ検索及びローディン
    グ・サブシステムであって、 A.コンピュータと、 B.前記コンピュータを制御し、 i.前記スタブの検索を開始するように前記コンピュー
    タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
    が受信されたときに、前記スタブを前記実行環境にロー
    ドし、それによってスタブを前記リモート・メソッドの
    リモート呼出しで使用できるようにするよう前記コンピ
    ュータを制御するスタブ・ローダ・モジュールとを備え
    る制御構成とを備えることを特徴とするスタブ検索サブ
    システム。
  14. 【請求項14】 リモート・メソッドのスタブの検索お
    よび実行環境へのローディングを、前記実行環境で実行
    されているプログラムによるリモート・メソッドの呼出
    しを容易にするために制御するコンピュータと共に使用
    される制御構成であって、 i.前記スタブの検索を開始するように前記コンピュー
    タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
    が受信されたときに、前記スタブを前記実行環境にロー
    ドし、それによってスタブを前記リモート・メソッドの
    リモート呼出しで使用できるようにするよう前記コンピ
    ュータを制御するスタブ・ローダ・モジュールとを備え
    ることを特徴とする制御構成。
  15. 【請求項15】 コンピュータ読取り可能媒体上に記憶
    され、コンピュータによって実行することができ、それ
    ぞれ、リモート・メソッドのスタブの検索および実行環
    境へのローディングを容易にして前記実行環境で実行さ
    れているプログラムによるリモート・メソッドの呼出し
    を容易にするようコンピュータを制御するように構成さ
    れた、複数のモジュールを含む、コードを分配するシス
    テムであって、 i.前記スタブの検索を開始するように前記コンピュー
    タを制御するスタブ検索モジュールと、 ii.前記スタブ検索モジュールに応答して前記スタブ
    が受信されたときに、前記スタブを前記実行環境にロー
    ドし、それによってスタブを前記リモート・メソッドの
    リモート呼出しで使用できるようにするよう前記コンピ
    ュータを制御するスタブ・ローダ・モジュールとを備え
    ることを特徴とするシステム。
JP9118665A 1996-04-23 1997-04-23 スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体 Pending JPH1083308A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476349A1 (fr) 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4491946A (en) 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
AU556499B2 (en) 1981-05-22 1986-11-06 Data General Corporation Data processing system
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0640302B2 (ja) 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
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 スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
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) 룩업 서비스에의 액세스를 용이하게 하는 방법 및 시스템