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
Application number
JP11007499A
Other languages
English (en)
Other versions
JPH11338841A (ja
Inventor
ムルティ・ヴィー・デーヴァラコンダ
アジャイ・モインドラ
アプラティム・プラカーヤスタ
デボラ・ジーン・ズコフスキ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/065,201 external-priority patent/US6115736A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11338841A publication Critical patent/JPH11338841A/ja
Application granted granted Critical
Publication of JP3242376B2 publication Critical patent/JP3242376B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、移動エージェント
の動的ルーティングに関する。より詳細には、本発明は
黙示的なプログラム再配置を用いてネットワーク・コン
ポーネントにアクセスを自動的にローカライズすること
に関する。
【0002】
【従来の技術】移動エージェントは1組のネットワーク
・ホスト上で実行されるプログラムとして記述できる。
エージェントはそのプログラムの一部を実行するために
ネットワーク・ホストにアクセスする。エージェントは
例えば所与のネットワーク・ホスト上にある情報へのア
クセスを必要とすることがあり、また様々なネットワー
ク・ホスト上でそのプログラムの一部を実行することが
好ましい場合もある。
【0003】従来技術のシステムでは、エージェントが
アクセスするホストの順序はエージェント・プログラム
を書くときに静的に事前構成されていた。さらに、これ
らのシステム内のエージェントは、別のリモート・ネッ
トワーク・ホストへ移動するために明示的な命令を実行
しなければならない。例えば、米国特許第560303
1号は、宛先オブジェクトから構成される宛先リスト内
でのエージェントの行程を静的に事前構成する方法を開
示している。各宛先オブジェクトはネットワークの特定
の領域に前もって割り当てられたテレネームとテレアド
レスを備える。上記特許第5603031号に開示され
たシステムでは、エージェントは別のネットワーク・ホ
ストへ移動してそのホストにあるリソースにアクセスす
るために「go」ステートメントを実行しなければなら
ない。
【0004】この明示的なエージェント再配置の要件の
例は他にも数多くある。ランゲ(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」では、エージェントを別のネットワーク・ホ
ストへ移動させるために明示的プリミティブおよび移動
性サポートが必要なことを述べている。
【0005】
【発明が解決しようとする課題】この明示的なエージェ
ント再配置を必要とするシステムでは、特定のコードが
実行されるロケーションをプログラマが知っている必要
があるため、プログラミングの複雑さが増す。その結
果、アプリケーション・コードをロケーション依存ブロ
ックに編成し、エージェント再配置のための明示的な命
令でブロックを切り分ける必要がある。ロケーションを
知らなければならないため、プログラマはアプリケーシ
ョン論理の開発に専念できない。そのためプログラマの
生産性が低下する。
【0006】したがって、明示的なエージェント再配置
の必要なしにネットワーク中のどこでもプログラム(エ
ージェント)を実行することが可能で、それによってプ
ログラマの生産性を改善するシステムが必要である。
【0007】
【課題を解決するための手段】前述の必要に従って、本
発明は、ネットワーク・コンポーネントおよび1組のメ
ソッドのロケーションを決定して、装置にアクセスし、
決定されたロケーションにとってトランスペアレントな
形でエージェントを再配置するシステムおよび方法を提
供する。
【0008】詳細に言えば、本発明は、ネットワーク・
コンポーネントのホスト・ロケーションを決定するステ
ップと、エージェントをリモート・ホストに自動的に再
配置するステップと、エージェントをネットワーク・コ
ンポーネントが共用するアドレス空間に組み込むステッ
プとを含む、リモート・ホスト上にあるネットワーク・
コンポーネントへのエージェントのアクセスを暗黙的に
ローカライズする方法を提供する。エージェントはスク
リプトであることが好ましい。
【0009】本発明の自動的に再配置するステップは、
明示的な命令なしにエージェントをリモート・ホストへ
再配置するステップを含むことが好ましい。さらに、自
動的に再配置するステップは送信のためにエージェント
をパッケージするステップと、エージェントをリモート
・ホストまたは一致したホスト・アドレスへ送信するス
テップとを含むことが好ましい。
【0010】本発明の組込みステップは、パッケージさ
れたエージェントをリモート・ホストで受信するステッ
プと、エージェントをアンパッケージするステップと、
エージェントをリモート・ホスト内の実行エンジンへ転
送するステップとを含むことが好ましい。
【0011】本発明の決定ステップは、ネットワーク・
コンポーネントのコンポーネント参照ホスト・アドレス
に関連付けられたコンポーネント参照ホスト名を識別す
るステップと、コンポーネント参照ホスト名をホスト名
のリストと比較するステップと、ホスト名の1つをコン
ポーネント参照ホスト・アドレスと突き合わせるステッ
プとを含むことが好ましい。
【0012】実行または操作すべきネットワーク・コン
ポーネントを識別するステップを含むことが好ましい。
より詳細に言えば、本方法はエージェント内のコンポー
ネント参照IDを識別するステップと、コンポーネント
参照IDをコンポーネントIDのリストと比較するステ
ップと、コンポーネントIDの1つを実行または操作す
べきコンポーネント参照IDと突き合わせるステップを
さらに含む。
【0013】本発明はまた、マシン可読で、マシン実行
可能な命令プログラムを有形に具体化した、ネットワー
ク・コンポーネントへのエージェントのアクセスを暗黙
的にローカライズするために上記の方法ステップを実行
するためのプログラム記憶装置を提供する。
【0014】本発明はまた、複数のホスト・システム
と、ホスト・システムに常駐する複数のネットワーク・
コンポーネントと、それぞれがホスト・システム上の複
数のネットワーク・コンポーネントのうちの1つまたは
複数個を管理する複数のエージェント実行システムと、
コンピュータ・ネットワーク上の複数のホスト・システ
ムにまたがる明示的な命令なしにコンピュータ・ネット
ワーク内で処理が可能な移動エージェントとを含み、ネ
ットワーク、コンポーネントが、エージェント実行シス
テムを介して暗黙的にクライアントからアクセス可能で
ある、コンピュータ・ネットワーク内で分散コンポーネ
ント・プログラミングを実施するためのシステムを提供
する。
【0015】移動エージェントはスクリプトであること
が好ましい。さらに、各エージェント実行システムはウ
ェブ・サーバに組み込まれている。
【0016】ネットワーク・コンポーネントはアプレッ
ト、サーブレット、またはEnterprise JavaBeansなどの
1つまたは複数のオブジェクト・クラスを含むことが好
ましい。
【0017】
【発明の実施の形態】図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が存在する。
【0018】図にはクライアント102が1つしか示さ
れていないが、システムには多数のクライアント・マシ
ンを収容できる。エージェントはクライアント・マシン
上でエージェントが開始されるたびに呼び出される、エ
ージェント・パーソナル・アシスタント(APA)11
0と呼ばれるソフトウェア・サブシステムによってクラ
イアント・マシン上で呼び出される。このサブシステム
は、エージェントの(立ち上げに加えて)デバッグ、更
新、およびモニタが可能であることが好ましい。このサ
ブシステムは1997年5月1日付けの米国特許出願第
08/847079号に開示されている。
【0019】コンポーネント・ホスト104が1つだけ
示してあるが、システム内に複数のコンポーネント・ホ
ストを設けることができる。コンポーネント・ホスト1
04はこのマシン上で実行中のエージェント・プログラ
ムからアクセスできるいくつかのネットワーク・コンポ
ーネント124を記憶する。コンポーネント124は、
アプレット、サーブレット、Enterprise JavaBeansを含
めて1つまたは複数のオブジェクト・クラスとすること
ができる。ただし、コンポーネント124はあらゆる実
行可能コード・ユニットに一般化できることを当業者は
理解するであろう。本発明によれば、各コンポーネント
・ホストは、どのエージェントもコンポーネントを実行
できるようにするための単一の調整プログラムとして機
能するエージェント実行シェル(AES)120と呼ば
れるソフトウェア・サブシステムを含む。AESも上記
出願第08/847079号に記載されている。
【0020】好ましい実施形態では、AES120サブ
システムは、Javaのサーブレット技術を用いてウェブ・
サーバに組み込まれる。本発明で使用されるウェブ・サ
ーバの例にはLotus Domino GO Webserverがある。AE
S120サブシステムはウェブ・サーバ上でサーブレッ
トとしてインストールされる。ウェブ・サーバはHTT
Pプロトコルを介してエージェント実行要求を受け取る
と、処理のためこの要求をAES120へ渡す。
【0021】コンポーネント・ホスト104のソフトウ
ェア・システムはまたローカル・コンポーネント124
を管理するコンポーネント・マネジャ122サブシステ
ムを備える。コンポーネント・マネジャ122のネット
ワーク設定機能も上記出願第08/847079号に記
載されている。
【0022】本発明で使用されるディレクトリ・サーバ
106の例にはNetscape社のDIRECTOR
Y SERVERなどのLDAP準拠サーバがある。当
業者ならIBMからDB2の商標で市販されているよう
な標準のデータベース管理サーバ(DBMS)を用いて
同じ機能を実現できる。ディレクトリ・サーバ106
は、共働して働き単一のディレクトリ・サーバに見える
複数のコンピュータによって具体化することもできる。
【0023】本発明の好ましい実施形態では、エージェ
ントはスクリプトである。図2にこのようなスクリプト
の例を示す。このスクリプトは上記出願第08/847
079号に開示された発明で実施できるすべてのネット
ワーク・コンポーネントをインスタンス化する1組の特
殊なスクリプト命令を含むプロローグ200を含む。図
のように、スクリプトはプロローグ200内でマシンA
およびマシンB上にそれぞれコンポーネント・インスタ
ンスcompA202aおよびcompB202bを作
成する。当業者はこのようなプロローグをスプリプト全
体中に分散できることを理解するであろう。次にスクリ
プトはコンポーネント呼び出し204によって2つのイ
ンスタンスのdisplayMessage()メソッドを呼び出す。重
要なことは、スクリプトはいかなる明示的な分散プログ
ラミング再配置コマンドも含まないことである。スクリ
プトの残りのものは単純な変数操作ステートメント(図
示せず)を含む。AES120はスクリプト・コマンド
を実行するための特殊なエンジンを含む。
【0024】図3に、AES120内、すなわちスクリ
プトに含まれるコンポーネント・インスタンス(例えば
202aまたは202b)の表示302を示す。表示3
02はホストIPアドレス304aとコンポーネントI
D番号304bの2つのフィールドからなる。ホストI
Pアドレス304aはコンポーネントを管理するコンポ
ーネント・ホスト104のネットワーク・アドレスを示
す。コンポーネントID番号304bはコンポーネント
のローカル・アクセスに使用するサイト固有のハンドル
を示す。
【0025】図4に、本発明による暗黙的エージェント
の移動性の例を示す。前述のように、ネットワーク・コ
ンポーネントは上記出願第08/847079号に開示
された方法を用いてステップ402でインスタンス化さ
れることが好ましい。プロローグの後で、AES120
内のスクリプト実行エンジンがすべての単純なスクリプ
ト・ステートメント(例えば変数割当て)を実行する
(404)。ステップ406でスクリプトの完了が検出
された場合、ステップ422でスクリプトは終了する。
しかし、スクリプトの完了が検出されない場合は、ステ
ップ408で実行エンジンがネットワーク・コンポーネ
ントのメソッドを呼び出す。ステップ410で、エンジ
ンはインスタンスのホストIPアドレス304aを用い
てインスタンスをサイトへ解決する。この解決は、アド
レスそれ自体ではなく、アドレスに対応するホスト名の
リストを用いて達成することもできる。ステップ412
で、システムはホストIPアドレス304aが現在のホ
ストに一致しているか検査する。一致している場合、ス
テップ418でコンポーネントID番号304bによっ
て該当するコンポーネントが識別される。このフィール
ドはローカル参照を提供するAESによって維持される
内部テーブルを参照するために用いられる。最後に、ス
テップ420でスクリプト実行エンジンがローカル参照
を用いてこのメソッドを実行する。
【0026】ステップ412でコンポーネントがローカ
ルでないことが検出された場合、ステップ414でスク
リプトはパッケージされ、ステップ410で識別された
アドレスへ送信される、ステップ416で、リモートA
ESがスクリプトを受信し、アンパッケージし、そのア
ドレス空間にある実行エンジンへ送る。次にステップ4
18でこのエンジンはコンポーネントを識別し、上記の
ローカルの場合と同様にステップ420でメソッドを呼
び出す。この結果、本発明によれば、エージェントのア
クセスは暗黙的に、すなわち明示的な再配置命令なしに
リモート・ホスト上のコンポーネントにローカライズさ
れる。
【0027】
【0028】
【図面の簡単な説明】
【図1】本発明の機能を備えたゆるやかに結合されたシ
ステムの例である。
【図2】本発明によるエージェントの例を示す図であ
る。
【図3】本発明によるコンポーネント参照のソフトウェ
ア・サブシステム実行時表示を示す図である。
【図4】本発明の暗黙的なエージェント移動性の論理の
例を示す図である。
フロントページの続き (72)発明者 アジャイ・モインドラ アメリカ合衆国10598 ニューヨーク州 ヨークタウン・ハイツ リン・コート 1340 (72)発明者 アプラティム・プラカーヤスタ アメリカ合衆国10523 ニューヨーク州 エルムスフォード リッジビュー・テラ ス 75 (72)発明者 デボラ・ジーン・ズコフスキ アメリカ合衆国10598 ニューヨーク州 ヨークタウン・ハイツ ビーバー・ドラ イブ 3211 (58)調査した分野(Int.Cl.7,DB名) G06F 9/44,15/16,13/00

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】リモート・ホスト上にあるネットワーク・
    コンポーネントをアクセスするためにエージェントを自
    動的に再配置する方法であって、 アクセスしようとするネットワーク・コンポーネントを
    有するホスト、及び当該ネットワーク・コンポーネント
    を識別する情報を含むエージェントを呼び出すステップ
    と、 前記ネットワーク・コンポーネントのメソッドを呼び出
    すステップと、 前記情報に基づいて前記ネットワーク・コンポーネント
    のホスト・ロケーションを決定するステップと、 決定したホスト・ロケーションがローカルであった場合
    に、当該ローカル・ホストで前記ネットワーク・コンポ
    ーネントのメソッドを実行するステップと、 前記決定したホスト・ロケーションがリモートであった
    場合に、前記エージェントをパッケージして、前記リモ
    ート・ホストへ送信するステップと、 前記リモート・ホストにおいて前記エージェントを実行
    エンジンに送ることにより、前記メソッドを実行するス
    テップと、 を含む方法。
JP11007499A 1998-04-23 1999-04-16 暗黙的なエージェント再配置を用いてリモート・ネットワーク・コンポーネントへのアクセスを自動的にローカライズするためのシステムおよび方法 Expired - Lifetime JP3242376B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5232104B2 (ja) 2009-08-18 2013-07-10 株式会社東芝 マルチメディア処理制御装置

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