JP3242376B2 - 暗黙的なエージェント再配置を用いてリモート・ネットワーク・コンポーネントへのアクセスを自動的にローカライズするためのシステムおよび方法 - Google Patents
暗黙的なエージェント再配置を用いてリモート・ネットワーク・コンポーネントへのアクセスを自動的にローカライズするためのシステムおよび方法Info
- Publication number
- JP3242376B2 JP3242376B2 JP11007499A JP11007499A JP3242376B2 JP 3242376 B2 JP3242376 B2 JP 3242376B2 JP 11007499 A JP11007499 A JP 11007499A JP 11007499 A JP11007499 A JP 11007499A JP 3242376 B2 JP3242376 B2 JP 3242376B2
- Authority
- JP
- Japan
- Prior art keywords
- agent
- host
- component
- network
- access
- 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.)
- Expired - Lifetime
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
の動的ルーティングに関する。より詳細には、本発明は
黙示的なプログラム再配置を用いてネットワーク・コン
ポーネントにアクセスを自動的にローカライズすること
に関する。
・ホスト上で実行されるプログラムとして記述できる。
エージェントはそのプログラムの一部を実行するために
ネットワーク・ホストにアクセスする。エージェントは
例えば所与のネットワーク・ホスト上にある情報へのア
クセスを必要とすることがあり、また様々なネットワー
ク・ホスト上でそのプログラムの一部を実行することが
好ましい場合もある。
アクセスするホストの順序はエージェント・プログラム
を書くときに静的に事前構成されていた。さらに、これ
らのシステム内のエージェントは、別のリモート・ネッ
トワーク・ホストへ移動するために明示的な命令を実行
しなければならない。例えば、米国特許第560303
1号は、宛先オブジェクトから構成される宛先リスト内
でのエージェントの行程を静的に事前構成する方法を開
示している。各宛先オブジェクトはネットワークの特定
の領域に前もって割り当てられたテレネームとテレアド
レスを備える。上記特許第5603031号に開示され
たシステムでは、エージェントは別のネットワーク・ホ
ストへ移動してそのホストにあるリソースにアクセスす
るために「go」ステートメントを実行しなければなら
ない。
例は他にも数多くある。ランゲ(Lange)他のIBM Aglet
s WorkBench -- Programming Mobile Agents in Java,
Proceedings of 1997 World Wide Computing and Its A
pplications, Japan, pp. 253-266では、著者は、エー
ジェントが別のネットワーク・ホストへ移動するために
「dispatch」ステートメントを実行することを提案して
いる。カルデリ(Cardelli)のA Language with Distri
buted Scope, Computing Systems, Vol.8, No.1, Winte
r 1995, pp.27-59では、オブジェクト(エージェント)
の状態を明示的にコピーすることによってオブジェクト
の移行が達成されるシステムを記載している。最後に、
IBM Reseach Report RC-20010として入手可能なチェス
(Chess)他の「Itinerant Agents for Mobile Co
mputing」では、エージェントを別のネットワーク・ホ
ストへ移動させるために明示的プリミティブおよび移動
性サポートが必要なことを述べている。
ント再配置を必要とするシステムでは、特定のコードが
実行されるロケーションをプログラマが知っている必要
があるため、プログラミングの複雑さが増す。その結
果、アプリケーション・コードをロケーション依存ブロ
ックに編成し、エージェント再配置のための明示的な命
令でブロックを切り分ける必要がある。ロケーションを
知らなければならないため、プログラマはアプリケーシ
ョン論理の開発に専念できない。そのためプログラマの
生産性が低下する。
の必要なしにネットワーク中のどこでもプログラム(エ
ージェント)を実行することが可能で、それによってプ
ログラマの生産性を改善するシステムが必要である。
発明は、ネットワーク・コンポーネントおよび1組のメ
ソッドのロケーションを決定して、装置にアクセスし、
決定されたロケーションにとってトランスペアレントな
形でエージェントを再配置するシステムおよび方法を提
供する。
コンポーネントのホスト・ロケーションを決定するステ
ップと、エージェントをリモート・ホストに自動的に再
配置するステップと、エージェントをネットワーク・コ
ンポーネントが共用するアドレス空間に組み込むステッ
プとを含む、リモート・ホスト上にあるネットワーク・
コンポーネントへのエージェントのアクセスを暗黙的に
ローカライズする方法を提供する。エージェントはスク
リプトであることが好ましい。
明示的な命令なしにエージェントをリモート・ホストへ
再配置するステップを含むことが好ましい。さらに、自
動的に再配置するステップは送信のためにエージェント
をパッケージするステップと、エージェントをリモート
・ホストまたは一致したホスト・アドレスへ送信するス
テップとを含むことが好ましい。
れたエージェントをリモート・ホストで受信するステッ
プと、エージェントをアンパッケージするステップと、
エージェントをリモート・ホスト内の実行エンジンへ転
送するステップとを含むことが好ましい。
コンポーネントのコンポーネント参照ホスト・アドレス
に関連付けられたコンポーネント参照ホスト名を識別す
るステップと、コンポーネント参照ホスト名をホスト名
のリストと比較するステップと、ホスト名の1つをコン
ポーネント参照ホスト・アドレスと突き合わせるステッ
プとを含むことが好ましい。
ポーネントを識別するステップを含むことが好ましい。
より詳細に言えば、本方法はエージェント内のコンポー
ネント参照IDを識別するステップと、コンポーネント
参照IDをコンポーネントIDのリストと比較するステ
ップと、コンポーネントIDの1つを実行または操作す
べきコンポーネント参照IDと突き合わせるステップを
さらに含む。
可能な命令プログラムを有形に具体化した、ネットワー
ク・コンポーネントへのエージェントのアクセスを暗黙
的にローカライズするために上記の方法ステップを実行
するためのプログラム記憶装置を提供する。
と、ホスト・システムに常駐する複数のネットワーク・
コンポーネントと、それぞれがホスト・システム上の複
数のネットワーク・コンポーネントのうちの1つまたは
複数個を管理する複数のエージェント実行システムと、
コンピュータ・ネットワーク上の複数のホスト・システ
ムにまたがる明示的な命令なしにコンピュータ・ネット
ワーク内で処理が可能な移動エージェントとを含み、ネ
ットワーク、コンポーネントが、エージェント実行シス
テムを介して暗黙的にクライアントからアクセス可能で
ある、コンピュータ・ネットワーク内で分散コンポーネ
ント・プログラミングを実施するためのシステムを提供
する。
が好ましい。さらに、各エージェント実行システムはウ
ェブ・サーバに組み込まれている。
ト、サーブレット、またはEnterprise JavaBeansなどの
1つまたは複数のオブジェクト・クラスを含むことが好
ましい。
テムの例を示す。ここで、疎結合システムはシステム内
で固有の役割を果たす複数のコンピュータを結合する。
OS2、UNIX、AIX、またはWindows N
Tなどの従来のオペレーティング・システムを実行する
コンピュータ102〜106は、通信ネットワーク10
8および通信プロトコルによって相互接続されている。
通信プロトコルの例としてはUDP/IPまたはTCP
/IPで実行できるSun Microsystems
RPCがある。ネットワーク108は例えばLAN、イ
ンターネット、またはイントラネットといった従来型で
ある。クライアント102およびコンポーネント・ホス
ト104はIBM PCなどの従来のパーソナル・コン
ピュータ(PC)として具体化できる。ディレクトリ・
サーバ106はIBM RISCシステム/6000マ
シンなどの従来のサーバによって具体化できる。クライ
アント102とコンポーネント・ホスト104の差は論
理的または物理的な差であることに留意されたい。各コ
ンピュータ上には、オペレーティング・システム内のT
CP/IPスタックなどの、ネットワーク通信に使用さ
れる従来の通信システム112が存在する。
れていないが、システムには多数のクライアント・マシ
ンを収容できる。エージェントはクライアント・マシン
上でエージェントが開始されるたびに呼び出される、エ
ージェント・パーソナル・アシスタント(APA)11
0と呼ばれるソフトウェア・サブシステムによってクラ
イアント・マシン上で呼び出される。このサブシステム
は、エージェントの(立ち上げに加えて)デバッグ、更
新、およびモニタが可能であることが好ましい。このサ
ブシステムは1997年5月1日付けの米国特許出願第
08/847079号に開示されている。
示してあるが、システム内に複数のコンポーネント・ホ
ストを設けることができる。コンポーネント・ホスト1
04はこのマシン上で実行中のエージェント・プログラ
ムからアクセスできるいくつかのネットワーク・コンポ
ーネント124を記憶する。コンポーネント124は、
アプレット、サーブレット、Enterprise JavaBeansを含
めて1つまたは複数のオブジェクト・クラスとすること
ができる。ただし、コンポーネント124はあらゆる実
行可能コード・ユニットに一般化できることを当業者は
理解するであろう。本発明によれば、各コンポーネント
・ホストは、どのエージェントもコンポーネントを実行
できるようにするための単一の調整プログラムとして機
能するエージェント実行シェル(AES)120と呼ば
れるソフトウェア・サブシステムを含む。AESも上記
出願第08/847079号に記載されている。
システムは、Javaのサーブレット技術を用いてウェブ・
サーバに組み込まれる。本発明で使用されるウェブ・サ
ーバの例にはLotus Domino GO Webserverがある。AE
S120サブシステムはウェブ・サーバ上でサーブレッ
トとしてインストールされる。ウェブ・サーバはHTT
Pプロトコルを介してエージェント実行要求を受け取る
と、処理のためこの要求をAES120へ渡す。
ェア・システムはまたローカル・コンポーネント124
を管理するコンポーネント・マネジャ122サブシステ
ムを備える。コンポーネント・マネジャ122のネット
ワーク設定機能も上記出願第08/847079号に記
載されている。
106の例にはNetscape社のDIRECTOR
Y SERVERなどのLDAP準拠サーバがある。当
業者ならIBMからDB2の商標で市販されているよう
な標準のデータベース管理サーバ(DBMS)を用いて
同じ機能を実現できる。ディレクトリ・サーバ106
は、共働して働き単一のディレクトリ・サーバに見える
複数のコンピュータによって具体化することもできる。
ントはスクリプトである。図2にこのようなスクリプト
の例を示す。このスクリプトは上記出願第08/847
079号に開示された発明で実施できるすべてのネット
ワーク・コンポーネントをインスタンス化する1組の特
殊なスクリプト命令を含むプロローグ200を含む。図
のように、スクリプトはプロローグ200内でマシンA
およびマシンB上にそれぞれコンポーネント・インスタ
ンスcompA202aおよびcompB202bを作
成する。当業者はこのようなプロローグをスプリプト全
体中に分散できることを理解するであろう。次にスクリ
プトはコンポーネント呼び出し204によって2つのイ
ンスタンスのdisplayMessage()メソッドを呼び出す。重
要なことは、スクリプトはいかなる明示的な分散プログ
ラミング再配置コマンドも含まないことである。スクリ
プトの残りのものは単純な変数操作ステートメント(図
示せず)を含む。AES120はスクリプト・コマンド
を実行するための特殊なエンジンを含む。
プトに含まれるコンポーネント・インスタンス(例えば
202aまたは202b)の表示302を示す。表示3
02はホストIPアドレス304aとコンポーネントI
D番号304bの2つのフィールドからなる。ホストI
Pアドレス304aはコンポーネントを管理するコンポ
ーネント・ホスト104のネットワーク・アドレスを示
す。コンポーネントID番号304bはコンポーネント
のローカル・アクセスに使用するサイト固有のハンドル
を示す。
の移動性の例を示す。前述のように、ネットワーク・コ
ンポーネントは上記出願第08/847079号に開示
された方法を用いてステップ402でインスタンス化さ
れることが好ましい。プロローグの後で、AES120
内のスクリプト実行エンジンがすべての単純なスクリプ
ト・ステートメント(例えば変数割当て)を実行する
(404)。ステップ406でスクリプトの完了が検出
された場合、ステップ422でスクリプトは終了する。
しかし、スクリプトの完了が検出されない場合は、ステ
ップ408で実行エンジンがネットワーク・コンポーネ
ントのメソッドを呼び出す。ステップ410で、エンジ
ンはインスタンスのホストIPアドレス304aを用い
てインスタンスをサイトへ解決する。この解決は、アド
レスそれ自体ではなく、アドレスに対応するホスト名の
リストを用いて達成することもできる。ステップ412
で、システムはホストIPアドレス304aが現在のホ
ストに一致しているか検査する。一致している場合、ス
テップ418でコンポーネントID番号304bによっ
て該当するコンポーネントが識別される。このフィール
ドはローカル参照を提供するAESによって維持される
内部テーブルを参照するために用いられる。最後に、ス
テップ420でスクリプト実行エンジンがローカル参照
を用いてこのメソッドを実行する。
ルでないことが検出された場合、ステップ414でスク
リプトはパッケージされ、ステップ410で識別された
アドレスへ送信される、ステップ416で、リモートA
ESがスクリプトを受信し、アンパッケージし、そのア
ドレス空間にある実行エンジンへ送る。次にステップ4
18でこのエンジンはコンポーネントを識別し、上記の
ローカルの場合と同様にステップ420でメソッドを呼
び出す。この結果、本発明によれば、エージェントのア
クセスは暗黙的に、すなわち明示的な再配置命令なしに
リモート・ホスト上のコンポーネントにローカライズさ
れる。
ステムの例である。
る。
ア・サブシステム実行時表示を示す図である。
例を示す図である。
Claims (1)
- 【請求項1】リモート・ホスト上にあるネットワーク・
コンポーネントをアクセスするためにエージェントを自
動的に再配置する方法であって、 アクセスしようとするネットワーク・コンポーネントを
有するホスト、及び当該ネットワーク・コンポーネント
を識別する情報を含むエージェントを呼び出すステップ
と、 前記ネットワーク・コンポーネントのメソッドを呼び出
すステップと、 前記情報に基づいて前記ネットワーク・コンポーネント
のホスト・ロケーションを決定するステップと、 決定したホスト・ロケーションがローカルであった場合
に、当該ローカル・ホストで前記ネットワーク・コンポ
ーネントのメソッドを実行するステップと、 前記決定したホスト・ロケーションがリモートであった
場合に、前記エージェントをパッケージして、前記リモ
ート・ホストへ送信するステップと、 前記リモート・ホストにおいて前記エージェントを実行
エンジンに送ることにより、前記メソッドを実行するス
テップと、 を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/065,201 US6115736A (en) | 1997-05-01 | 1998-04-23 | System and method for automatically localizing access to remote network components using implicit agent relocation |
US09/065201 | 1998-04-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11338841A JPH11338841A (ja) | 1999-12-10 |
JP3242376B2 true JP3242376B2 (ja) | 2001-12-25 |
Family
ID=22061022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11007499A Expired - Lifetime JP3242376B2 (ja) | 1998-04-23 | 1999-04-16 | 暗黙的なエージェント再配置を用いてリモート・ネットワーク・コンポーネントへのアクセスを自動的にローカライズするためのシステムおよび方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3242376B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5232104B2 (ja) | 2009-08-18 | 2013-07-10 | 株式会社東芝 | マルチメディア処理制御装置 |
-
1999
- 1999-04-16 JP JP11007499A patent/JP3242376B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11338841A (ja) | 1999-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6115736A (en) | System and method for automatically localizing access to remote network components using implicit agent relocation | |
US6324543B1 (en) | Dynamic object migration method using proxy object links to support automatic object distribution in an object-oriented environment | |
US6654793B1 (en) | 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 | |
US6832238B1 (en) | Local transaction management | |
JP3853592B2 (ja) | 分散ウェブアプリケーションサーバ | |
US6636900B2 (en) | Method and apparatus for executing distributed objects over a network | |
US6684259B1 (en) | Method for providing user global object name space in a multi-user operating system | |
JP3853593B2 (ja) | ウェブアプリケーションサーバにおいて拡張可能な認証機構を実現するための方法および装置 | |
US7165099B2 (en) | Dynamically downloading and executing system services on a wireless device | |
US20050135384A1 (en) | Virtual endpoint | |
EP1296240A2 (en) | System and method for enabling transaction-based service utilizing non-transactional resources | |
AU2002254289B2 (en) | Dynamically downloading and executing system services on a wireless device | |
EP0623876A2 (en) | Method and apparatus for linking object managers for cooperative processing in an object oriented computing environment | |
JPH11242605A (ja) | マルチスレッドのクライアント・ベースapiをシングルスレッドのサーバ・ベースapiにインタフェースさせる方法、装置、およびプログラム製品 | |
KR100301274B1 (ko) | 컴퓨터시스템및프로그램제품전송방법 | |
JPH08115223A (ja) | コンピュータで実施する方法及びデータ処理システム | |
JPH11219342A (ja) | サーバからアラーム条件にアクセスする方法、装置、およびプログラム製品 | |
JPH0916503A (ja) | コンピュータプロセスを管理する方法および装置 | |
US6708171B1 (en) | Network proxy | |
JP2000155686A (ja) | 分散システム中におけるプログラム実行方法及びその装置、分散システム中におけるプログラム実行手順を記憶したコンピュ―タ読み書き可能な記憶媒体及びコンピュ―タシステム | |
US6832223B1 (en) | Method and system for facilitating access to a lookup service | |
US20020138665A1 (en) | Binding of processes in network systems | |
JP4038167B2 (ja) | プログラムとユーザとの間で位置独立及び位置透過な相互対話を可能にする方法、データ構造及び実行シェル | |
GB2346983A (en) | Minimising inter-machine data transfers in a distributed transaction processing system | |
JP3242376B2 (ja) | 暗黙的なエージェント再配置を用いてリモート・ネットワーク・コンポーネントへのアクセスを自動的にローカライズするためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071019 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081019 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081019 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
EXPY | Cancellation because of completion of term |