JPH11175342A - エージェント実行システム及びエージェント実行方法 - Google Patents
エージェント実行システム及びエージェント実行方法Info
- Publication number
- JPH11175342A JPH11175342A JP10247028A JP24702898A JPH11175342A JP H11175342 A JPH11175342 A JP H11175342A JP 10247028 A JP10247028 A JP 10247028A JP 24702898 A JP24702898 A JP 24702898A JP H11175342 A JPH11175342 A JP H11175342A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- computer
- mobile
- mobile agent
- execution system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
- G06F9/4868—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 従来、多大なネットワーク・オーバーヘッド
を招いていた。 【解決手段】 移動型エージェントのオブジェクトが第
1のコンピュータで第1のメソッドを実行し、第1のコ
ンピュータから第2のコンピュータへ移動し、第2のコ
ンピュータで第2のメソッドを実行する。第1及び第2
のメソッドと第1及び第2のコンピュータは、経路情報
によって指定されている。エージェントは、データ及び
実行可能コードを含み、それらは第1のコンピュータか
ら第2のコンピュータへの伝送のためにデータとしてシ
リアル化される。そして、そのエージェントを含むデー
タは、第2のコンピュータで再構築されることにより、
オブジェクトのフォームであるエージェントを再生成す
る。 【効果】 ネットワーク・オーバーヘッドを無くすこと
ができる。
を招いていた。 【解決手段】 移動型エージェントのオブジェクトが第
1のコンピュータで第1のメソッドを実行し、第1のコ
ンピュータから第2のコンピュータへ移動し、第2のコ
ンピュータで第2のメソッドを実行する。第1及び第2
のメソッドと第1及び第2のコンピュータは、経路情報
によって指定されている。エージェントは、データ及び
実行可能コードを含み、それらは第1のコンピュータか
ら第2のコンピュータへの伝送のためにデータとしてシ
リアル化される。そして、そのエージェントを含むデー
タは、第2のコンピュータで再構築されることにより、
オブジェクトのフォームであるエージェントを再生成す
る。 【効果】 ネットワーク・オーバーヘッドを無くすこと
ができる。
Description
【0001】
【発明の属する技術分野】この発明は、概してネットワ
ーク・コンピューティングに係り、詳細には、移動型オ
ブジェクトに係り、エージェント実行システム及びエー
ジェント実行方法に関するものである。
ーク・コンピューティングに係り、詳細には、移動型オ
ブジェクトに係り、エージェント実行システム及びエー
ジェント実行方法に関するものである。
【0002】
【従来の技術】コンピュータ・ネットワーク上を伝送さ
れる移動型オブジェクトが周知である。移動型オブジェ
クトは、コードとデータとからなり、これらが両方とも
コンピュータ・ネットワーク上を伝送される。このコン
ピュータ・ネットワーク上の移動型オブジェクトの伝送
には、クライアント−サーバ・プロトコル、リモート・
プロシージャ・コール・プロトコル、及び分散オブジェ
クト技術などの技術が採用されている。
れる移動型オブジェクトが周知である。移動型オブジェ
クトは、コードとデータとからなり、これらが両方とも
コンピュータ・ネットワーク上を伝送される。このコン
ピュータ・ネットワーク上の移動型オブジェクトの伝送
には、クライアント−サーバ・プロトコル、リモート・
プロシージャ・コール・プロトコル、及び分散オブジェ
クト技術などの技術が採用されている。
【0003】
【発明が解決しようとする課題】ところで、上述した技
術は、「プッシュ」モデルか「プル」モデルのいずれか
を実行するが、これらのモデルには欠点がある。
術は、「プッシュ」モデルか「プル」モデルのいずれか
を実行するが、これらのモデルには欠点がある。
【0004】「プル」モデルでは、実行オブジェクトの
ためのコードを、ウェブ・サーバなどのネットワーク・
ソースからダウンロードする。コードの特定の部分がオ
ペレーションに必要となった場合、まず、ローカル・フ
ァイルシステムにおいてコードのその部分を探索する。
ローカル・ファイルシステムにそのコードのその部分が
存在しない場合は、そのローカル・コンピュータにコー
ドの当該部分を伝送させるよう、ネットワーク内の他の
コンピュータに対してネットワーク要求を送出する。し
かしながら、異なったサブ・オブジェクトのクラスが生
成されているため、各クラスについてコードを検索する
ために、異なったネットワーク要求を送信しなければな
らない。ハイパーテキスト転送プロトコル(「HTT
P」)の場合、各要求は、伝送制御プロトコル/インタ
ーネット・プロトコル(「TCP/IP」)のソケット・
コネクションをウェブ・サーバに再度確立しなければな
らない。このため、多数のクラスについてダウンロード
する場合、多大なコネクションを確立しなければなら
ず、多大なネットワーク・オーバーヘッドを招くことと
なる。
ためのコードを、ウェブ・サーバなどのネットワーク・
ソースからダウンロードする。コードの特定の部分がオ
ペレーションに必要となった場合、まず、ローカル・フ
ァイルシステムにおいてコードのその部分を探索する。
ローカル・ファイルシステムにそのコードのその部分が
存在しない場合は、そのローカル・コンピュータにコー
ドの当該部分を伝送させるよう、ネットワーク内の他の
コンピュータに対してネットワーク要求を送出する。し
かしながら、異なったサブ・オブジェクトのクラスが生
成されているため、各クラスについてコードを検索する
ために、異なったネットワーク要求を送信しなければな
らない。ハイパーテキスト転送プロトコル(「HTT
P」)の場合、各要求は、伝送制御プロトコル/インタ
ーネット・プロトコル(「TCP/IP」)のソケット・
コネクションをウェブ・サーバに再度確立しなければな
らない。このため、多数のクラスについてダウンロード
する場合、多大なコネクションを確立しなければなら
ず、多大なネットワーク・オーバーヘッドを招くことと
なる。
【0005】「プル」モデルに関する他の問題は、オブ
ジェクトが移動するため、オブジェクトの機能を可能に
するコードを、各コンピュータで再度ダウンロードしな
ければならないということである。特に、オブジェクト
が各宛先コンピュータに到着した時、オブジェクトは、
そのローカル・ファイルシステムに存在しない必要なコ
ードがあれば、前の宛先コンピュータでそのロードをダ
ウンロードしていたとしても、そこでまたダウンロード
する。前にダウンロードされたコードは、キャッシュに
保存されていない。この結果、ネットワーク・オーバー
ヘッドが発生する。
ジェクトが移動するため、オブジェクトの機能を可能に
するコードを、各コンピュータで再度ダウンロードしな
ければならないということである。特に、オブジェクト
が各宛先コンピュータに到着した時、オブジェクトは、
そのローカル・ファイルシステムに存在しない必要なコ
ードがあれば、前の宛先コンピュータでそのロードをダ
ウンロードしていたとしても、そこでまたダウンロード
する。前にダウンロードされたコードは、キャッシュに
保存されていない。この結果、ネットワーク・オーバー
ヘッドが発生する。
【0006】「プッシュ」モデルでは、実行オブジェク
トのコードは、移動型オブジェクトと共に送信される。
移動型オブジェクトが送出される前に、オブジェクトに
必要なすべてのコードが識別される。そのコードはエー
ジェントと共にまとめられ、ネットワークを経由して各
宛先コンピュータにプッシュされる。「プッシュ」モデ
ルは「プル」モデルに比べてネットワーク要求が少ない
が、比較的大量のコードが各宛先コンピュータに送出さ
れるため、ネットワーク・オーバーヘッドは同様に発生
する。オブジェクトが、もはや必要でないクラスのコー
ドまでプッシュする場合もある。例えば、エージェント
は、かなり例外的な状況においてであるがオブジェクト
の特殊なクラスのインスタンスを生成することがある。
このような場合、オブジェクトがこのクラスにコードを
送出するのは非効率的である。
トのコードは、移動型オブジェクトと共に送信される。
移動型オブジェクトが送出される前に、オブジェクトに
必要なすべてのコードが識別される。そのコードはエー
ジェントと共にまとめられ、ネットワークを経由して各
宛先コンピュータにプッシュされる。「プッシュ」モデ
ルは「プル」モデルに比べてネットワーク要求が少ない
が、比較的大量のコードが各宛先コンピュータに送出さ
れるため、ネットワーク・オーバーヘッドは同様に発生
する。オブジェクトが、もはや必要でないクラスのコー
ドまでプッシュする場合もある。例えば、エージェント
は、かなり例外的な状況においてであるがオブジェクト
の特殊なクラスのインスタンスを生成することがある。
このような場合、オブジェクトがこのクラスにコードを
送出するのは非効率的である。
【0007】また、周知の移動型オブジェクトの限界
は、宛先の情報を調べたり予測したりすることが困難で
あることである。周知の移動型オブジェクトは、サブル
ーチン・コールを実行することによって移動を開始す
る。そのメソッドには、「go」もしくは「moveT
o」といった名前が与えられることもあり、呼出側は、
当該移動型オブジェクトの宛先コンピュータを示す名前
もしくはユニフォーム・リソース・ロケータ(「UR
L」)を特定する責任がある。移動メソッドが呼び出さ
れると、移動型オブジェクトの実行は停止され、移動型
オブジェクトはネットワークで伝送可能なフォームに変
換される。宛先のコンピュータでは、移動型オブジェク
トはネットワーク・フォームから元に戻され再起動され
る。移動型オブジェクトは、移動メソッドへの呼出に直
接続く命令によって再起動されてもよいし、あるいは、
他の周知のメソッドの開始時に再起動されてもよい。
は、宛先の情報を調べたり予測したりすることが困難で
あることである。周知の移動型オブジェクトは、サブル
ーチン・コールを実行することによって移動を開始す
る。そのメソッドには、「go」もしくは「moveT
o」といった名前が与えられることもあり、呼出側は、
当該移動型オブジェクトの宛先コンピュータを示す名前
もしくはユニフォーム・リソース・ロケータ(「UR
L」)を特定する責任がある。移動メソッドが呼び出さ
れると、移動型オブジェクトの実行は停止され、移動型
オブジェクトはネットワークで伝送可能なフォームに変
換される。宛先のコンピュータでは、移動型オブジェク
トはネットワーク・フォームから元に戻され再起動され
る。移動型オブジェクトは、移動メソッドへの呼出に直
接続く命令によって再起動されてもよいし、あるいは、
他の周知のメソッドの開始時に再起動されてもよい。
【0008】
【課題を解決するための手段】移動型エージェント・オ
ブジェクト(「エージェント」)のためのコードを効率
的に移動させるために、「移動型コードベース」のオブ
ジェクトが構成されている。この移動型コードベース
は、エージェントと共に移動し、かつ、エージェントの
オペレーションを容易にするクラスのコードを貯える役
割を果たす。エージェントが送出されるとき、送出側は
関連するクラスのリストを特定する。これらのクラス
は、移動型コードベースに保持される。また、送出側
は、コードがダウンロードされる元となり得るネットワ
ーク・ソース(「ホーム・コードベース」)を示すユニ
フォーム・リソース・ロケータ(「URL」)を特定す
る。エージェントが、移動型コードベースに無いコード
からなるオブジェクトを具体化するよう要求されると、
ネットワーク要求がホーム・コードベースに送出されて
そのコードが検索される。このようにしてダウンロード
されたコードは、上記移動型コードベースに保持され
る。
ブジェクト(「エージェント」)のためのコードを効率
的に移動させるために、「移動型コードベース」のオブ
ジェクトが構成されている。この移動型コードベース
は、エージェントと共に移動し、かつ、エージェントの
オペレーションを容易にするクラスのコードを貯える役
割を果たす。エージェントが送出されるとき、送出側は
関連するクラスのリストを特定する。これらのクラス
は、移動型コードベースに保持される。また、送出側
は、コードがダウンロードされる元となり得るネットワ
ーク・ソース(「ホーム・コードベース」)を示すユニ
フォーム・リソース・ロケータ(「URL」)を特定す
る。エージェントが、移動型コードベースに無いコード
からなるオブジェクトを具体化するよう要求されると、
ネットワーク要求がホーム・コードベースに送出されて
そのコードが検索される。このようにしてダウンロード
されたコードは、上記移動型コードベースに保持され
る。
【0009】移動型コードベースとホーム・コードベー
スの組合せによって、エージェントのオペレーションが
改善され、ネットワーク・オーバーヘッドが削減され
る。好ましい実施の形態では、エージェントは、確実に
必要であるクラスと共に予めロードされている移動型コ
ードベースと共に送出される。必要でないと思われるク
ラスは、ホーム・コードベースに格納される。このよう
にして、エージェントに移動型コードベースとホーム・
コードベースが設定されていることにより、ネットワー
ク経由で不要なクラスが伝送されたりコードが再度ダウ
ンロードされることによって起こる好ましくないネット
ワーク・オーバーヘッドの無い、「プッシュ」モデル及
び「プル」モデルの好ましい特徴を提供することができ
る。
スの組合せによって、エージェントのオペレーションが
改善され、ネットワーク・オーバーヘッドが削減され
る。好ましい実施の形態では、エージェントは、確実に
必要であるクラスと共に予めロードされている移動型コ
ードベースと共に送出される。必要でないと思われるク
ラスは、ホーム・コードベースに格納される。このよう
にして、エージェントに移動型コードベースとホーム・
コードベースが設定されていることにより、ネットワー
ク経由で不要なクラスが伝送されたりコードが再度ダウ
ンロードされることによって起こる好ましくないネット
ワーク・オーバーヘッドの無い、「プッシュ」モデル及
び「プル」モデルの好ましい特徴を提供することができ
る。
【0010】エージェントの移動は、経路情報のデータ
構造によって規定される。経路情報は、宛先のリストに
よって構成されており、この宛先のリストはそれぞれ以
下のものを含んでいる。すなわち、(1)当該エージェン
トが移動するネットワーク上の宛先コンピュータのホス
トネーム、及び(2)当該エージェントが宛先コンピュ
ータに到着したときに実行すべきメソッドの名前であ
る。エージェントは、その経路情報を修正することがで
きる。エージェントが経路情報を修正すると、そのエー
ジェントの所有側に自動的に通知され、それによって所
有側がエージェントの移動する場所にはどこへでも「追
従する」ことができるようになる。
構造によって規定される。経路情報は、宛先のリストに
よって構成されており、この宛先のリストはそれぞれ以
下のものを含んでいる。すなわち、(1)当該エージェン
トが移動するネットワーク上の宛先コンピュータのホス
トネーム、及び(2)当該エージェントが宛先コンピュ
ータに到着したときに実行すべきメソッドの名前であ
る。エージェントは、その経路情報を修正することがで
きる。エージェントが経路情報を修正すると、そのエー
ジェントの所有側に自動的に通知され、それによって所
有側がエージェントの移動する場所にはどこへでも「追
従する」ことができるようになる。
【0011】この経路情報により、エージェント及びネ
ットワーク管理に関する利点を得ることができる。エー
ジェントの経路情報を調べることにより、エージェント
がどこを移動してきたのか、及びエージェントがこれか
らどこを移動する予定であるかが分かる。経路情報が標
準的なデータ構造であるため、使用者は、そのままの状
態で利用することができる。更に、経路情報がエージェ
ントとは異なるデータ構造であるため、使用者は、経路
情報を調べるために特別にエージェントの内部構造を知
る必要は無い。
ットワーク管理に関する利点を得ることができる。エー
ジェントの経路情報を調べることにより、エージェント
がどこを移動してきたのか、及びエージェントがこれか
らどこを移動する予定であるかが分かる。経路情報が標
準的なデータ構造であるため、使用者は、そのままの状
態で利用することができる。更に、経路情報がエージェ
ントとは異なるデータ構造であるため、使用者は、経路
情報を調べるために特別にエージェントの内部構造を知
る必要は無い。
【0012】
【発明の実施の形態】実施の形態1.この発明の実施の
形態1に係るエージェント実行システム及びエージェン
ト実行方法について図面を参照しながら説明する。
形態1に係るエージェント実行システム及びエージェン
ト実行方法について図面を参照しながら説明する。
【0013】図1に示すように、エージェント10は、
コンピュータ・ネットワーク16上で第1のコンピュー
タ12から第2のコンピュータ14へ移動することがで
きる移動型オブジェクトを含む。エージェントは、特定
の目的のために第1のコンピュータ上で作成されメモリ
に格納されており、データと実行可能コードの双方を含
む。エージェントは、第1のコンピュータで実行され、
その後ネットワーク上を伝送されることにより第2のコ
ンピュータへ移動する。そして、エージェントは、第2
のコンピュータで実行を再開する。エージェントは、第
2のコンピュータで実行を終了すると、エージェント経
路情報に従って動作する。例えば、経路情報により他の
コンピュータへ移動するように指示されている場合、エ
ージェントはそのように動作する。
コンピュータ・ネットワーク16上で第1のコンピュー
タ12から第2のコンピュータ14へ移動することがで
きる移動型オブジェクトを含む。エージェントは、特定
の目的のために第1のコンピュータ上で作成されメモリ
に格納されており、データと実行可能コードの双方を含
む。エージェントは、第1のコンピュータで実行され、
その後ネットワーク上を伝送されることにより第2のコ
ンピュータへ移動する。そして、エージェントは、第2
のコンピュータで実行を再開する。エージェントは、第
2のコンピュータで実行を終了すると、エージェント経
路情報に従って動作する。例えば、経路情報により他の
コンピュータへ移動するように指示されている場合、エ
ージェントはそのように動作する。
【0014】ここで、図1及び図2に示すように、エー
ジェントは、オペレーション中に一連の命令を実行す
る。具体的には、第1のメソッド18は第1のコンピュー
タ12上で実行され、第2のメソッド20は第2のコンピ
ュータ14上で実行される。その結果、コンピュータ間
の移動は、エージェントから見れば明白なものとなって
いる。
ジェントは、オペレーション中に一連の命令を実行す
る。具体的には、第1のメソッド18は第1のコンピュー
タ12上で実行され、第2のメソッド20は第2のコンピ
ュータ14上で実行される。その結果、コンピュータ間
の移動は、エージェントから見れば明白なものとなって
いる。
【0015】図4に示すように、エージェントの移動
は、好ましくはJavaのエージェント・マネージャ・オブ
ジェクト32とオブジェクト・シリアライゼーション・
ファシリティ(本技術分野では知られているサン・マイ
クロシステムの製品)の使用によって容易にされる。オ
ブジェクト・シリアライゼーションは、オブジェクトを
シリアル化することによって、典型的なバイトのストリ
ーム、すなわちデータをそこから生成するように動作す
る。オブジェクト・シリアライゼーションは、エージェ
ント10をシリアル化してネットワーク伝送に適したフ
ォーマットとすることにより、ネットワーク上のエージ
ェントの伝送を容易にする。また、エージェントのシリ
アル化には、エージェントのメンバ変数に含まれるサブ
・オブジェクトのシリアル化が含まれている。本発明に
よれば、シリアル化処理には、実行可能コード、デー
タ、及び詳細に後述する経路情報のシリアル化が含まれ
ている。一旦エージェントがシリアル化されると、第2
のコンピュータに対する通信ソケットがオープンし、そ
の結果のバイトのストリームがそのソケットに従って第
2のコンピュータに伝送される。
は、好ましくはJavaのエージェント・マネージャ・オブ
ジェクト32とオブジェクト・シリアライゼーション・
ファシリティ(本技術分野では知られているサン・マイ
クロシステムの製品)の使用によって容易にされる。オ
ブジェクト・シリアライゼーションは、オブジェクトを
シリアル化することによって、典型的なバイトのストリ
ーム、すなわちデータをそこから生成するように動作す
る。オブジェクト・シリアライゼーションは、エージェ
ント10をシリアル化してネットワーク伝送に適したフ
ォーマットとすることにより、ネットワーク上のエージ
ェントの伝送を容易にする。また、エージェントのシリ
アル化には、エージェントのメンバ変数に含まれるサブ
・オブジェクトのシリアル化が含まれている。本発明に
よれば、シリアル化処理には、実行可能コード、デー
タ、及び詳細に後述する経路情報のシリアル化が含まれ
ている。一旦エージェントがシリアル化されると、第2
のコンピュータに対する通信ソケットがオープンし、そ
の結果のバイトのストリームがそのソケットに従って第
2のコンピュータに伝送される。
【0016】シリアル化されたエージェントは、第2の
コンピュータ14に到着次第再生成される。特にソケッ
トに従って伝送されたバイトのストリームは、第2のコ
ンピュータで再構築される。再構築により、移動する前
のフォームのエージェント、すなわちオブジェクトが再
生成される。再構築に続いて、エージェントは、その経
路情報によって特定される所定のメソッドを実行する。
この所定のメソッドによって、第2のコンピュータに配
置された他のオブジェクト34との相互作用が促進され
る。そのメソッドが実行されると、エージェントは、シ
リアル化され、他のコンピュータに伝送されるか、場合
によっては第1のコンピュータに戻される。エージェン
トは到着次第そこで再構築され、他の所定のメソッドの
実行とそのコンピュータとの相互作用とを続行する。エ
ージェントが第1のコンピュータに戻された場合、上記
の相互作用を、情報クエリーの実行に使用されたホスト
・アプリケーション36に対して行うことも可能であ
る。エージェントは、実行の要求に従って、このような
方法でネットワーク上を移動し続ける。最後に、エージ
ェントは、経路情報の実行が完了すると終了する。な
お、エージェントは、リモート(第2の)コンピュータで
の実行後は、最初のホスト(第1の)コンピュータに必
ずしも移動する必要はない。エージェントは、多重コン
ピュータに移動することができ、最初のホストコンピュ
ータに戻らないこともある。
コンピュータ14に到着次第再生成される。特にソケッ
トに従って伝送されたバイトのストリームは、第2のコ
ンピュータで再構築される。再構築により、移動する前
のフォームのエージェント、すなわちオブジェクトが再
生成される。再構築に続いて、エージェントは、その経
路情報によって特定される所定のメソッドを実行する。
この所定のメソッドによって、第2のコンピュータに配
置された他のオブジェクト34との相互作用が促進され
る。そのメソッドが実行されると、エージェントは、シ
リアル化され、他のコンピュータに伝送されるか、場合
によっては第1のコンピュータに戻される。エージェン
トは到着次第そこで再構築され、他の所定のメソッドの
実行とそのコンピュータとの相互作用とを続行する。エ
ージェントが第1のコンピュータに戻された場合、上記
の相互作用を、情報クエリーの実行に使用されたホスト
・アプリケーション36に対して行うことも可能であ
る。エージェントは、実行の要求に従って、このような
方法でネットワーク上を移動し続ける。最後に、エージ
ェントは、経路情報の実行が完了すると終了する。な
お、エージェントは、リモート(第2の)コンピュータで
の実行後は、最初のホスト(第1の)コンピュータに必
ずしも移動する必要はない。エージェントは、多重コン
ピュータに移動することができ、最初のホストコンピュ
ータに戻らないこともある。
【0017】図3に示すように、各エージェント10
は、データ22、バイトコード24、サブ・オブジェク
ト26、及び経路情報28を含んでいる。データ22部
は、当該エージェントに関する内部状態情報を含む。コ
ード24部は、当該エージェントのオペレーションに関
する実行可能コードを含む。経路情報部28は、当該エ
ージェントの宛先を特定する。サブ・オブジェクト26
は、当該エージェントに含まれる特有の複数のオブジェ
クトのコードを含む。エージェントは、これらのサブ・
オブジェクトのコードを運ぶ。
は、データ22、バイトコード24、サブ・オブジェク
ト26、及び経路情報28を含んでいる。データ22部
は、当該エージェントに関する内部状態情報を含む。コ
ード24部は、当該エージェントのオペレーションに関
する実行可能コードを含む。経路情報部28は、当該エ
ージェントの宛先を特定する。サブ・オブジェクト26
は、当該エージェントに含まれる特有の複数のオブジェ
クトのコードを含む。エージェントは、これらのサブ・
オブジェクトのコードを運ぶ。
【0018】エージェント10のコード24部は、移動
型コードベースと、ホーム・コードベースへの参照ポイ
ンタとを含む。移動型コードベースは、エージェントの
一部として保持される実行可能コードを含む。エージェ
ントが移動するとき、移動型コードベースはそのデータ
と、サブ・オブジェクトと、経路情報と共に宛先に伝送
される。ホーム・コードベースは、そのエージェントを
最初に生成し送出したコンピュータか、もしくはウェブ
・サーバのような適切なネットワーク・サーバに存在す
る実行可能コードである。ホーム・コードベースへの参
照ポインタは、ネットワーク上の他のコンピュータから
そのホーム・コードベースへのリモート・アクセスを可
能にするユニフォーム・リソース・ロケータ(「UR
L」)である。エージェントが実行中にその移動型コー
ドベースに存在しないコードを要求した場合、エージェ
ントはそのホーム・コードベースから必要なコードを検
索し、そのように検索されたコードを移動型コードベー
スに保持する。
型コードベースと、ホーム・コードベースへの参照ポイ
ンタとを含む。移動型コードベースは、エージェントの
一部として保持される実行可能コードを含む。エージェ
ントが移動するとき、移動型コードベースはそのデータ
と、サブ・オブジェクトと、経路情報と共に宛先に伝送
される。ホーム・コードベースは、そのエージェントを
最初に生成し送出したコンピュータか、もしくはウェブ
・サーバのような適切なネットワーク・サーバに存在す
る実行可能コードである。ホーム・コードベースへの参
照ポインタは、ネットワーク上の他のコンピュータから
そのホーム・コードベースへのリモート・アクセスを可
能にするユニフォーム・リソース・ロケータ(「UR
L」)である。エージェントが実行中にその移動型コー
ドベースに存在しないコードを要求した場合、エージェ
ントはそのホーム・コードベースから必要なコードを検
索し、そのように検索されたコードを移動型コードベー
スに保持する。
【0019】図3及び図6に示すように、経路情報28
は、エージェントの移動パラメータを規定するデータ構
造となっている。経路情報は、宛先と各宛先に関するメ
ソッドの名前とのリストからなる。望ましい実施形態で
は、各宛先のエントリは、エージェントが移動するよう
指定されているネットワーク上のコンピュータの伝送制
御プロトコル/インターネット・プロトコル(「TCP
/IP」)のホストネームを含む。各宛先に関するメソ
ッドは、その宛先に到着するとすぐに呼び出される。そ
のため、各宛先は、場所とその場所で実行されるべきタ
スクとを表している。
は、エージェントの移動パラメータを規定するデータ構
造となっている。経路情報は、宛先と各宛先に関するメ
ソッドの名前とのリストからなる。望ましい実施形態で
は、各宛先のエントリは、エージェントが移動するよう
指定されているネットワーク上のコンピュータの伝送制
御プロトコル/インターネット・プロトコル(「TCP
/IP」)のホストネームを含む。各宛先に関するメソ
ッドは、その宛先に到着するとすぐに呼び出される。そ
のため、各宛先は、場所とその場所で実行されるべきタ
スクとを表している。
【0020】図4及び図5は、エージェントの移動を示
している。エージェントの移動が決定されると、エージ
ェント・マネージャ30は、経路情報28を調べて、エ
ージェント10が移動するように指定されている次の宛
先を確かめる。エージェント・マネージャ30は、宛先
のコンピュータ14のエージェント・マネージャ32へ
のネットワーク・コネクションを確立する。エージェン
ト・マネージャ30は、エージェントと、関連する移動
情報を宛先のエージェント・マネージャ32へ送出す
る。そして、エージェント・マネージャ30はエージェ
ントのローカルのコピーを削除し、エージェントによっ
て使用されていた実行のスレッドを終了して、他の適切
なクリーン・アップ・アクティヴィティを実行する。
している。エージェントの移動が決定されると、エージ
ェント・マネージャ30は、経路情報28を調べて、エ
ージェント10が移動するように指定されている次の宛
先を確かめる。エージェント・マネージャ30は、宛先
のコンピュータ14のエージェント・マネージャ32へ
のネットワーク・コネクションを確立する。エージェン
ト・マネージャ30は、エージェントと、関連する移動
情報を宛先のエージェント・マネージャ32へ送出す
る。そして、エージェント・マネージャ30はエージェ
ントのローカルのコピーを削除し、エージェントによっ
て使用されていた実行のスレッドを終了して、他の適切
なクリーン・アップ・アクティヴィティを実行する。
【0021】宛先コンピュータから見て、エージェント
はステップ38に示すように宛先コンピュータに到着す
る。上述したように、エージェントは、コード、サブ・
オブジェクト、経路情報、及び他のデータを含むフォー
ムで到着する。Javaオブジェクト・シリアライゼイショ
ンは、ステップ40に示すようにエージェントの再構築
及び再構成を支援する。そして、サーバは、ステップ4
2に示すようにエージェントが実行する新たなスレッド
を生成する。そして、ステップ44に示すように、エー
ジェントの永続的なローカルのコピーが作成される。ス
テップ46に示すように、エージェント・マネージャ
は、このノードで生成されたスレッドを実行するための
エージェントの適当なメソッドを呼び出す。経路情報
は、各指定された宛先コンピュータでどのメソッドが呼
び出されるべきかを示す情報を含む。そして、エージェ
ントは、ステップ50に示すように実行する。
はステップ38に示すように宛先コンピュータに到着す
る。上述したように、エージェントは、コード、サブ・
オブジェクト、経路情報、及び他のデータを含むフォー
ムで到着する。Javaオブジェクト・シリアライゼイショ
ンは、ステップ40に示すようにエージェントの再構築
及び再構成を支援する。そして、サーバは、ステップ4
2に示すようにエージェントが実行する新たなスレッド
を生成する。そして、ステップ44に示すように、エー
ジェントの永続的なローカルのコピーが作成される。ス
テップ46に示すように、エージェント・マネージャ
は、このノードで生成されたスレッドを実行するための
エージェントの適当なメソッドを呼び出す。経路情報
は、各指定された宛先コンピュータでどのメソッドが呼
び出されるべきかを示す情報を含む。そして、エージェ
ントは、ステップ50に示すように実行する。
【0022】エージェントが指定されたメソッドの実行
を完了すると、エージェントが移動する前にコンピュー
タが機能不全となった場合の冗長な実行を避けるため
に、ステップ52に示すように、エージェントの他の永
続的なコピーがローカルのディスクに格納される。そし
て、エージェント・マネージャは、判断のステップ54
に示すようにエージェントの経路情報を調べる。経路情
報に更なる宛先が示されていない場合は、エージェント
の実行はステップ56に示すように完了する。しかしな
がら、経路情報に更なる宛先が示されている場合は、エ
ージェント・マネージャは、判断のステップ58におい
て次の宛先が他のコンピュータに関するものか否かを決
定する。次の宛先が他のコンピュータに関するものでな
い場合は、フローはステップ44に戻り、ネットワーク
・トラフィックをバイパスする。一方、次の宛先が異な
るエージェント・マネージャに関するものである場合
は、ステップ60に示すように、その指定されたエージ
ェント・マネージャへのネットワーク・コネクションが
確立される。宛先は、どこへ移動すべきかを示すストリ
ングを含む。このストリングは、コンピュータの名前
(ホストネーム)かもしくは分散されたオブジェクトに
対するURLを含んでいる。そして、エージェントは、
ステップ62に示すようにシリアル化され、その後ステ
ップ64に示すように次のエージェント・マネージャに
転送される。
を完了すると、エージェントが移動する前にコンピュー
タが機能不全となった場合の冗長な実行を避けるため
に、ステップ52に示すように、エージェントの他の永
続的なコピーがローカルのディスクに格納される。そし
て、エージェント・マネージャは、判断のステップ54
に示すようにエージェントの経路情報を調べる。経路情
報に更なる宛先が示されていない場合は、エージェント
の実行はステップ56に示すように完了する。しかしな
がら、経路情報に更なる宛先が示されている場合は、エ
ージェント・マネージャは、判断のステップ58におい
て次の宛先が他のコンピュータに関するものか否かを決
定する。次の宛先が他のコンピュータに関するものでな
い場合は、フローはステップ44に戻り、ネットワーク
・トラフィックをバイパスする。一方、次の宛先が異な
るエージェント・マネージャに関するものである場合
は、ステップ60に示すように、その指定されたエージ
ェント・マネージャへのネットワーク・コネクションが
確立される。宛先は、どこへ移動すべきかを示すストリ
ングを含む。このストリングは、コンピュータの名前
(ホストネーム)かもしくは分散されたオブジェクトに
対するURLを含んでいる。そして、エージェントは、
ステップ62に示すようにシリアル化され、その後ステ
ップ64に示すように次のエージェント・マネージャに
転送される。
【0023】経路情報28による移動について、更に図
6に示す。経路情報には、エージェントが移動するよう
になっている各エージェント・マネージャ66の識別情
報と、各エージェント・マネージャで実行するメソッド
68の識別情報とを含むリスティングが含まれている。
エージェントは、サーバがリスト化されている経路情報
に基づき、その経路情報にリストされているエージェン
ト・マネージャに順次移動し、到着次第各メソッドを呼
び出す。例えば、当該メソッドは宛先コンピュータのデ
ータベースを照会したり、あるいは更新したりすること
ができる。
6に示す。経路情報には、エージェントが移動するよう
になっている各エージェント・マネージャ66の識別情
報と、各エージェント・マネージャで実行するメソッド
68の識別情報とを含むリスティングが含まれている。
エージェントは、サーバがリスト化されている経路情報
に基づき、その経路情報にリストされているエージェン
ト・マネージャに順次移動し、到着次第各メソッドを呼
び出す。例えば、当該メソッドは宛先コンピュータのデ
ータベースを照会したり、あるいは更新したりすること
ができる。
【0024】図7は、エージェントのランタイム環境を
示す。ネットワーク上の各コンピュータ70は、その内
部で動作するJava仮想マシン72を有している。エージ
ェント・マネージャ74は、各仮想マシン72上で動作
する。エージェント・マネージャは、複数のスレッド7
6を有しており、それらはそれぞれ関係するエージェン
ト78を有している。特に、新しいエージェントがサー
バに到着したときに新しいスレッドが形成され、エージ
ェントはそのスレッド上で実行する。セキュリティ・メ
カニズムにより、各エージェントが、関連するスレッド
の範囲の外で動作しないようになっている。エージェン
トの実行が完了すると、エージェントは経路情報に識別
されている次の宛先に移動する。
示す。ネットワーク上の各コンピュータ70は、その内
部で動作するJava仮想マシン72を有している。エージ
ェント・マネージャ74は、各仮想マシン72上で動作
する。エージェント・マネージャは、複数のスレッド7
6を有しており、それらはそれぞれ関係するエージェン
ト78を有している。特に、新しいエージェントがサー
バに到着したときに新しいスレッドが形成され、エージ
ェントはそのスレッド上で実行する。セキュリティ・メ
カニズムにより、各エージェントが、関連するスレッド
の範囲の外で動作しないようになっている。エージェン
トの実行が完了すると、エージェントは経路情報に識別
されている次の宛先に移動する。
【0025】移動と実行が適切に機能するように、エー
ジェント・マネージャはJavaがクラスをロードするメカ
ニズムを修正する。Javaの標準ライブラリは、「クラス
・ローダ」と呼ばれるオブジェクトを提供する。このオ
ブジェクトは、プログラマがサブクラス化することによ
って、クラスをロードするためにJavaが従うルールを修
正することができるものである。クラスローダのクラス
は、ウェブブラウザがウェブサーバから「アプレッツ」
(applets)をダウンロードすることを可能にする。エ
ージェント・マネージャは、移動型エージェントの実行
可能コードがそのエージェントと共に移動することがで
きるように特定のクラス・ローダを提供する。
ジェント・マネージャはJavaがクラスをロードするメカ
ニズムを修正する。Javaの標準ライブラリは、「クラス
・ローダ」と呼ばれるオブジェクトを提供する。このオ
ブジェクトは、プログラマがサブクラス化することによ
って、クラスをロードするためにJavaが従うルールを修
正することができるものである。クラスローダのクラス
は、ウェブブラウザがウェブサーバから「アプレッツ」
(applets)をダウンロードすることを可能にする。エ
ージェント・マネージャは、移動型エージェントの実行
可能コードがそのエージェントと共に移動することがで
きるように特定のクラス・ローダを提供する。
【0026】Javaプログラムが特有の実行を行っている
間に、Javaのインタプリタは、ローカル・コンピュータ
上の論理ファイルシステムから、実行に必要なクラスを
ロードする。しかし、エージェントは、移動中はホーム
・コンピュータ及びホーム・コードベースから分離され
ている。すなわち、エージェントは、コードが格納され
ているホーム・コンピュータのファイル・システム上の
1つまたは複数のディレクトリから分離されている。更
に、サブ・オブジェクトは、場合により、エージェント
の実行に伴って、メソッド内のメンバ変数もしくは一時
変数として生成される必要がある。これらサブ・オブジ
ェクトは、標準のJavaパッケージの一部であるクラスの
インスタンスとなり得るか、または、エージェントのプ
ログラマによって書かれた新たなクラスのインスタンス
となり得る。しかしながら、エージェントは移動に伴い
ホーム・コンピュータとは異なる他のコンピュータ上で
実行するため、Java仮想マシンは、特定のサブ・オブジ
ェクトのためのコードを直接検索することができない可
能性がある。エージェントがホーム・コンピュータから
のリモート時に適切にクラスをロードしてオブジェクト
を作成するために、エージェントがオブジェクトを作成
しようとするときはいつでも、特定のクラス・ローダが
エージェント・マネージャによって使用される。クラス
・ローダのオブジェクトは、最初に、コンピュータのロ
ーカル・ファイル・システム上にクラスを配置するよう
試みる。クラスがローカル・ファイル・システム上に無
い場合は、クラス・ローダが移動型コード・ベースを探
索する。このような試みが失敗した場合は、クラス・ロ
ーダはエージェントのホーム・マシンに要求を返信す
る。エージェントの移動情報は、ホーム・コンピュータ
上のホーム・コードベースを参照するURLのような関
連付けを含み、URLをアクセスすることによってクラ
ス・ローダはホーム・コンピュータからクラスを検索す
ることができる。
間に、Javaのインタプリタは、ローカル・コンピュータ
上の論理ファイルシステムから、実行に必要なクラスを
ロードする。しかし、エージェントは、移動中はホーム
・コンピュータ及びホーム・コードベースから分離され
ている。すなわち、エージェントは、コードが格納され
ているホーム・コンピュータのファイル・システム上の
1つまたは複数のディレクトリから分離されている。更
に、サブ・オブジェクトは、場合により、エージェント
の実行に伴って、メソッド内のメンバ変数もしくは一時
変数として生成される必要がある。これらサブ・オブジ
ェクトは、標準のJavaパッケージの一部であるクラスの
インスタンスとなり得るか、または、エージェントのプ
ログラマによって書かれた新たなクラスのインスタンス
となり得る。しかしながら、エージェントは移動に伴い
ホーム・コンピュータとは異なる他のコンピュータ上で
実行するため、Java仮想マシンは、特定のサブ・オブジ
ェクトのためのコードを直接検索することができない可
能性がある。エージェントがホーム・コンピュータから
のリモート時に適切にクラスをロードしてオブジェクト
を作成するために、エージェントがオブジェクトを作成
しようとするときはいつでも、特定のクラス・ローダが
エージェント・マネージャによって使用される。クラス
・ローダのオブジェクトは、最初に、コンピュータのロ
ーカル・ファイル・システム上にクラスを配置するよう
試みる。クラスがローカル・ファイル・システム上に無
い場合は、クラス・ローダが移動型コード・ベースを探
索する。このような試みが失敗した場合は、クラス・ロ
ーダはエージェントのホーム・マシンに要求を返信す
る。エージェントの移動情報は、ホーム・コンピュータ
上のホーム・コードベースを参照するURLのような関
連付けを含み、URLをアクセスすることによってクラ
ス・ローダはホーム・コンピュータからクラスを検索す
ることができる。
【0027】エージェントの再構築を、図8に示す。ス
テップ80に示すように、シリアル化されたエージェン
トは、データのストリームとして到着する。そして、Ja
va開発キット・オブジェクト・シリアライゼイションの
クラスは、ステップ82に示すように再構築を実行する
メソッドに関するエージェント・マネージャを呼び出
す。このメソッドは、ステップ84に示すように、オブ
ジェクトのストリームからエージェントの関係するオブ
ジェクトを読み出す。特に、移動型コードベース、経路
情報、及びコードベースURLは、このメソッドによっ
て読み出される。ステップ86に示すように、カスタム
・クラスローダ及びオブジェクト・インプット・ストリ
ームが作成される。そして、オブジェクト・シリアライ
ゼイションは、ステップ88及び90に示すようにイン
プット・ストリームからエージェントや他のオブジェク
トをそれぞれ読み出す。関係のあるオブジェクトが読み
出されると、クラス・ローダは、ステップ92に示すよ
うにそのエージェントを含むクラスを検索する。
テップ80に示すように、シリアル化されたエージェン
トは、データのストリームとして到着する。そして、Ja
va開発キット・オブジェクト・シリアライゼイションの
クラスは、ステップ82に示すように再構築を実行する
メソッドに関するエージェント・マネージャを呼び出
す。このメソッドは、ステップ84に示すように、オブ
ジェクトのストリームからエージェントの関係するオブ
ジェクトを読み出す。特に、移動型コードベース、経路
情報、及びコードベースURLは、このメソッドによっ
て読み出される。ステップ86に示すように、カスタム
・クラスローダ及びオブジェクト・インプット・ストリ
ームが作成される。そして、オブジェクト・シリアライ
ゼイションは、ステップ88及び90に示すようにイン
プット・ストリームからエージェントや他のオブジェク
トをそれぞれ読み出す。関係のあるオブジェクトが読み
出されると、クラス・ローダは、ステップ92に示すよ
うにそのエージェントを含むクラスを検索する。
【0028】一旦クラスが検索されると、新たなオブジ
ェクトのクラスがロードされる。ステップ94に示すよ
うに、クラスが予めロードされていると判断されると、
予めロードされているクラスのインスタンスが使用され
(ステップ96)、ステップ98に示すように、ロード
されているクラスのオブジェクトを用いてオブジェクト
が具体化される。しかしながら、クラスが判断のステッ
プ94において予めロードされていないと決定された場
合、判断のステップ100において示すように、そのク
ラスが宛先コンピュータのローカル・クラス・パスにあ
るか否かの判断がなされる。クラスがローカル・マシン
上にあるならば、ステップ102に示すようにクラスは
そこからロードされ、オブジェクトは、ステップ98に
示すようにロードされたクラス・オブジェクトを用いて
具体化される。一方、ステップ100に示すようにクラ
スがローカル・クラス・パスに見つからなかった場合
は、ステップ104に示すようにクラスが移動型コード
ベースにあるか否かの判断がなされる。クラスが移動型
コードベースにある場合は、ステップ106に示すよう
にクラスはそこからロードされ、オブジェクトはステッ
プ98に示すようにロードされたクラス・オブジェクト
を用いて具体化される。しかし、判断のステップ104
においてクラスが移動型コードベースに配置されていな
い場合は、そのクラスは、ステップ108に示すように
ホーム・コードベースにアクセスすることによってロー
ドされる。コードベース・ポインタが、ステップ110
においてハイパー・テキスト転送プロトコル(「HTT
P」)URLのようなインターネット・タイプのポイン
タであると判断されたとき、HTTP要求は、ステップ
112に示すようにローカル・ウェブ・サーバに送信さ
れ、検索されたクラスはステップ114に示すように移
動型コード・ベースに加えられる。しかし、コードベー
スURLがHTTPのURLでない場合、ステップ11
6に示すように、リモート・メソッド要求がリモート・
クラス・ローダのオブジェクトに送出され、ステップ1
14に示すようにクラスが移動型コードベースに加えら
れる。いずれの場合も、オブジェクトはステップ98に
示すようにロードされたクラス・オブジェクトを用いて
具体化される。ステップ118において、ストリームの
中に検索されるべきオブジェクトが更に存在すると判断
された場合は、ステップ90に示すようにインプット・
ストリームの中から他のオブジェクトが読み出される。
検索されるべきオブジェクトがそれ以上無い場合は、フ
ローは終了する。
ェクトのクラスがロードされる。ステップ94に示すよ
うに、クラスが予めロードされていると判断されると、
予めロードされているクラスのインスタンスが使用され
(ステップ96)、ステップ98に示すように、ロード
されているクラスのオブジェクトを用いてオブジェクト
が具体化される。しかしながら、クラスが判断のステッ
プ94において予めロードされていないと決定された場
合、判断のステップ100において示すように、そのク
ラスが宛先コンピュータのローカル・クラス・パスにあ
るか否かの判断がなされる。クラスがローカル・マシン
上にあるならば、ステップ102に示すようにクラスは
そこからロードされ、オブジェクトは、ステップ98に
示すようにロードされたクラス・オブジェクトを用いて
具体化される。一方、ステップ100に示すようにクラ
スがローカル・クラス・パスに見つからなかった場合
は、ステップ104に示すようにクラスが移動型コード
ベースにあるか否かの判断がなされる。クラスが移動型
コードベースにある場合は、ステップ106に示すよう
にクラスはそこからロードされ、オブジェクトはステッ
プ98に示すようにロードされたクラス・オブジェクト
を用いて具体化される。しかし、判断のステップ104
においてクラスが移動型コードベースに配置されていな
い場合は、そのクラスは、ステップ108に示すように
ホーム・コードベースにアクセスすることによってロー
ドされる。コードベース・ポインタが、ステップ110
においてハイパー・テキスト転送プロトコル(「HTT
P」)URLのようなインターネット・タイプのポイン
タであると判断されたとき、HTTP要求は、ステップ
112に示すようにローカル・ウェブ・サーバに送信さ
れ、検索されたクラスはステップ114に示すように移
動型コード・ベースに加えられる。しかし、コードベー
スURLがHTTPのURLでない場合、ステップ11
6に示すように、リモート・メソッド要求がリモート・
クラス・ローダのオブジェクトに送出され、ステップ1
14に示すようにクラスが移動型コードベースに加えら
れる。いずれの場合も、オブジェクトはステップ98に
示すようにロードされたクラス・オブジェクトを用いて
具体化される。ステップ118において、ストリームの
中に検索されるべきオブジェクトが更に存在すると判断
された場合は、ステップ90に示すようにインプット・
ストリームの中から他のオブジェクトが読み出される。
検索されるべきオブジェクトがそれ以上無い場合は、フ
ローは終了する。
【0029】本発明の好ましい実施の形態を記述した
が、本発明の概念を具体化する他の実施の形態も、本発
明の技術分野の通常の知識を有する者にとっては明らか
である。したがって、本発明は、開示された実施の形態
に限定されるものではなく、添付したクレームの意図及
び範囲によってのみ限定されるべきである。
が、本発明の概念を具体化する他の実施の形態も、本発
明の技術分野の通常の知識を有する者にとっては明らか
である。したがって、本発明は、開示された実施の形態
に限定されるものではなく、添付したクレームの意図及
び範囲によってのみ限定されるべきである。
【0030】
【発明の効果】この発明に係るエージェント実行システ
ムは、以上説明したとおり、少なくとも第1のコンピュ
ータと第2のコンピュータとを含むコンピュータネット
ワークにおいて、前記第2のコンピュータでタスクを実
行するエージェント実行システムであって、前記第1の
コンピュータで、データ及び実行可能コードを含む移動
型エージェントのオブジェクトを生成するオブジェクト
生成ルーチン手段と、前記第1のコンピュータから前記
第2のコンピュータへ前記移動型エージェントを伝送
し、前記移動型エージェントの伝送に続いて前記第2の
コンピュータにおいて前記移動型エージェントを実行す
ることにより、前記タスクを前記第2のコンピュータで
実行するようになっている伝送プロトコル手段と、前記
移動型エージェントが移動するよう指定されている各宛
先コンピュータに対する関連付けと、各宛先コンピュー
タの関連付けに関するメソッドに対する関連付けとを含
み、前記各メソッドを、前記移動型エージェントが前記
各宛先コンピュータに存在するときに呼び出すための経
路情報手段とを備えたので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
ムは、以上説明したとおり、少なくとも第1のコンピュ
ータと第2のコンピュータとを含むコンピュータネット
ワークにおいて、前記第2のコンピュータでタスクを実
行するエージェント実行システムであって、前記第1の
コンピュータで、データ及び実行可能コードを含む移動
型エージェントのオブジェクトを生成するオブジェクト
生成ルーチン手段と、前記第1のコンピュータから前記
第2のコンピュータへ前記移動型エージェントを伝送
し、前記移動型エージェントの伝送に続いて前記第2の
コンピュータにおいて前記移動型エージェントを実行す
ることにより、前記タスクを前記第2のコンピュータで
実行するようになっている伝送プロトコル手段と、前記
移動型エージェントが移動するよう指定されている各宛
先コンピュータに対する関連付けと、各宛先コンピュー
タの関連付けに関するメソッドに対する関連付けとを含
み、前記各メソッドを、前記移動型エージェントが前記
各宛先コンピュータに存在するときに呼び出すための経
路情報手段とを備えたので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
【0031】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第1のコンピュータにおいて前記移動型エー
ジェントをシリアル化することによってそこからデータ
のストリームを生成するためのデータストリーム生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第1のコンピュータにおいて前記移動型エー
ジェントをシリアル化することによってそこからデータ
のストリームを生成するためのデータストリーム生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0032】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第2のコンピュータにおいてバイトの前記ス
トリームを再構築することによってそこから前記移動型
エージェントを再生成するためのエージェント再生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第2のコンピュータにおいてバイトの前記ス
トリームを再構築することによってそこから前記移動型
エージェントを再生成するためのエージェント再生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0033】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記タスクが、データ
の収集であって、前記データの収集が完了すると前記第
2のコンピュータから前記第1のコンピュータへ前記移
動型エージェントを返信するので、ネットワーク・オー
バーヘッドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記タスクが、データ
の収集であって、前記データの収集が完了すると前記第
2のコンピュータから前記第1のコンピュータへ前記移
動型エージェントを返信するので、ネットワーク・オー
バーヘッドを無くすことができるという効果を奏する。
【0034】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記コンピュータネットワーク内の複数の宛先コ
ンピュータに移動するので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記コンピュータネットワーク内の複数の宛先コ
ンピュータに移動するので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
【0035】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、少なくとも1つの宛先
コンピュータの関連付けが、ユニフォーム・リソース・
ロケータであるので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
ステムは、以上説明したとおり、少なくとも1つの宛先
コンピュータの関連付けが、ユニフォーム・リソース・
ロケータであるので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0036】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記メソッドを呼出す
ために必要な前記実行可能コードの少なくとも一部を、
前記移動型エージェントに含まれる前記実行可能コード
の移動型コードベースの部分から検索するので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
ステムは、以上説明したとおり、前記メソッドを呼出す
ために必要な前記実行可能コードの少なくとも一部を、
前記移動型エージェントに含まれる前記実行可能コード
の移動型コードベースの部分から検索するので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
【0037】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記第1のコンピュータに配置されたホーム・コ
ードベースへの関連付けを含み、前記移動型コードベー
スに存在しない必要な実行可能コードを検索するために
前記関連付けを使用するので、ネットワーク・オーバー
ヘッドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記第1のコンピュータに配置されたホーム・コ
ードベースへの関連付けを含み、前記移動型コードベー
スに存在しない必要な実行可能コードを検索するために
前記関連付けを使用するので、ネットワーク・オーバー
ヘッドを無くすことができるという効果を奏する。
【0038】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、必要な実行可能コード
を、最初に前記移動型エージェントが実行されている前
記コンピュータで探索し、次に前記移動型コードベース
内で探索し、最後に前記ホーム・コードベース上で探索
するので、ネットワーク・オーバーヘッドを無くすこと
ができるという効果を奏する。
ステムは、以上説明したとおり、必要な実行可能コード
を、最初に前記移動型エージェントが実行されている前
記コンピュータで探索し、次に前記移動型コードベース
内で探索し、最後に前記ホーム・コードベース上で探索
するので、ネットワーク・オーバーヘッドを無くすこと
ができるという効果を奏する。
【0039】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トの受信に続いて、前記宛先コンピュータにおける前記
移動型エージェントの実行のために新たなスレッドを形
成し、セキュリティ機能により、前記移動型エージェン
トが前記スレッドに割り当てられる範囲外で動作しない
ようになっているので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トの受信に続いて、前記宛先コンピュータにおける前記
移動型エージェントの実行のために新たなスレッドを形
成し、セキュリティ機能により、前記移動型エージェン
トが前記スレッドに割り当てられる範囲外で動作しない
ようになっているので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0040】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、さらに、サブ・オブジェクトを含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、さらに、サブ・オブジェクトを含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
【0041】さらに、この発明に係るエージェント実行
システムは、以上説明したとおり、前記移動型エージェ
ントの受信に続いて、前記移動型エージェントの永続的
なローカルのコピーを格納し、エージェントの実行の後
に更新された永続的なコピーによって前記コピーを上書
するので、ネットワーク・オーバーヘッドを無くすこと
ができるという効果を奏する。
システムは、以上説明したとおり、前記移動型エージェ
ントの受信に続いて、前記移動型エージェントの永続的
なローカルのコピーを格納し、エージェントの実行の後
に更新された永続的なコピーによって前記コピーを上書
するので、ネットワーク・オーバーヘッドを無くすこと
ができるという効果を奏する。
【0042】この発明に係るエージェント実行方法は、
以上説明したとおり、少なくとも第1のコンピュータと
第2のコンピュータとを含むコンピュータネットワーク
において、前記第2のコンピュータでタスクを実行する
エージェント実行方法であって、前記第1のコンピュー
タで、データ及び実行可能コードを含む移動型エージェ
ントのオブジェクトを生成するステップと、前記第1の
コンピュータから前記第2のコンピュータへ前記移動型
エージェントを伝送するステップと、前記第2のコンピ
ュータにおいて前記移動型エージェントを受信するステ
ップと、前記移動型エージェントが移動するよう指定さ
れている各宛先コンピュータに対する関連付けと、各宛
先コンピュータの関連付けに関するメソッドに対する関
連付けとを含む経路情報に基づき、前記第2のコンピュ
ータで前記移動型エージェントを実行し、前記第2のコ
ンピュータに関する前記メソッドを、前記移動型エージ
ェントが前記第2のコンピュータに存在するときに呼出
すステップとを含むので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
以上説明したとおり、少なくとも第1のコンピュータと
第2のコンピュータとを含むコンピュータネットワーク
において、前記第2のコンピュータでタスクを実行する
エージェント実行方法であって、前記第1のコンピュー
タで、データ及び実行可能コードを含む移動型エージェ
ントのオブジェクトを生成するステップと、前記第1の
コンピュータから前記第2のコンピュータへ前記移動型
エージェントを伝送するステップと、前記第2のコンピ
ュータにおいて前記移動型エージェントを受信するステ
ップと、前記移動型エージェントが移動するよう指定さ
れている各宛先コンピュータに対する関連付けと、各宛
先コンピュータの関連付けに関するメソッドに対する関
連付けとを含む経路情報に基づき、前記第2のコンピュ
ータで前記移動型エージェントを実行し、前記第2のコ
ンピュータに関する前記メソッドを、前記移動型エージ
ェントが前記第2のコンピュータに存在するときに呼出
すステップとを含むので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
【0043】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記第1のコンピ
ュータにおいて前記移動型エージェントをシリアル化す
ることによってそこからデータのストリームを生成する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、前記第1のコンピ
ュータにおいて前記移動型エージェントをシリアル化す
ることによってそこからデータのストリームを生成する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0044】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記第2のコンピ
ュータにおいてバイトの前記ストリームを再構築するこ
とによってそこから前記移動型エージェントを再生成す
るステップを含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、前記第2のコンピ
ュータにおいてバイトの前記ストリームを再構築するこ
とによってそこから前記移動型エージェントを再生成す
るステップを含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0045】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記タスクがデータの収集
であって、さらに、前記データの収集が完了すると、前
記第2のコンピュータから前記第1のコンピュータへ前
記移動型エージェントを返信するステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
法は、以上説明したとおり、前記タスクがデータの収集
であって、さらに、前記データの収集が完了すると、前
記第2のコンピュータから前記第1のコンピュータへ前
記移動型エージェントを返信するステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
【0046】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記移動型エージ
ェントを、前記コンピュータネットワーク内の複数の宛
先コンピュータに順次移動させるステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
法は、以上説明したとおり、さらに、前記移動型エージ
ェントを、前記コンピュータネットワーク内の複数の宛
先コンピュータに順次移動させるステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
【0047】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、少なくとも1つの
宛先コンピュータの関連付けとして、ユニフォーム・リ
ソース・ロケータを使用するステップを含むので、ネッ
トワーク・オーバーヘッドを無くすことができるという
効果を奏する。
法は、以上説明したとおり、さらに、少なくとも1つの
宛先コンピュータの関連付けとして、ユニフォーム・リ
ソース・ロケータを使用するステップを含むので、ネッ
トワーク・オーバーヘッドを無くすことができるという
効果を奏する。
【0048】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記メソッドを呼
出すために必要な実行可能コードの少なくとも一部を、
前記移動型エージェントに含まれる前記実行可能コード
の移動型コードベースの部分から検索するステップを含
むので、ネットワーク・オーバーヘッドを無くすことが
できるという効果を奏する。
法は、以上説明したとおり、さらに、前記メソッドを呼
出すために必要な実行可能コードの少なくとも一部を、
前記移動型エージェントに含まれる前記実行可能コード
の移動型コードベースの部分から検索するステップを含
むので、ネットワーク・オーバーヘッドを無くすことが
できるという効果を奏する。
【0049】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記移動型エージェント
が、前記第1のコンピュータに配置されたホーム・コー
ドベースへの関連付けを含み、さらに、前記移動型コー
ドベースに存在しない必要な実行可能コードを検索する
ための前記関連付けを使用するステップを含むので、ネ
ットワーク・オーバーヘッドを無くすことができるとい
う効果を奏する。
法は、以上説明したとおり、前記移動型エージェント
が、前記第1のコンピュータに配置されたホーム・コー
ドベースへの関連付けを含み、さらに、前記移動型コー
ドベースに存在しない必要な実行可能コードを検索する
ための前記関連付けを使用するステップを含むので、ネ
ットワーク・オーバーヘッドを無くすことができるとい
う効果を奏する。
【0050】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、必要な実行可能コ
ードを、最初に前記移動型エージェントが実行されてい
る前記コンピュータで探索し、次に前記移動型コードベ
ース内で探索し、最後に前記ホーム・コードベース上で
探索するステップを含むので、ネットワーク・オーバー
ヘッドを無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、必要な実行可能コ
ードを、最初に前記移動型エージェントが実行されてい
る前記コンピュータで探索し、次に前記移動型コードベ
ース内で探索し、最後に前記ホーム・コードベース上で
探索するステップを含むので、ネットワーク・オーバー
ヘッドを無くすことができるという効果を奏する。
【0051】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記移動型エージ
ェントの受信に続いて、該移動型エージェントの実行の
ために前記宛先コンピュータにおいて新たなスレッドを
形成するステップを含み、セキュリティ機能により前記
移動型エージェントが前記スレッドに割り当てられる範
囲外で動作しないようになっているので、ネットワーク
・オーバーヘッドを無くすことができるという効果を奏
する。
法は、以上説明したとおり、さらに、前記移動型エージ
ェントの受信に続いて、該移動型エージェントの実行の
ために前記宛先コンピュータにおいて新たなスレッドを
形成するステップを含み、セキュリティ機能により前記
移動型エージェントが前記スレッドに割り当てられる範
囲外で動作しないようになっているので、ネットワーク
・オーバーヘッドを無くすことができるという効果を奏
する。
【0052】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記移動型エージ
ェントにサブ・オブジェクトを挿入するステップを含む
ので、ネットワーク・オーバーヘッドを無くすことがで
きるという効果を奏する。
法は、以上説明したとおり、さらに、前記移動型エージ
ェントにサブ・オブジェクトを挿入するステップを含む
ので、ネットワーク・オーバーヘッドを無くすことがで
きるという効果を奏する。
【0053】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記移動型エージ
ェントの受信に続いて該移動型エージェントの永続的な
ローカルのコピーを格納し、該コピーを、エージェント
の実行の後に更新された永続的なコピーによって上書き
するステップを含むので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、前記移動型エージ
ェントの受信に続いて該移動型エージェントの永続的な
ローカルのコピーを格納し、該コピーを、エージェント
の実行の後に更新された永続的なコピーによって上書き
するステップを含むので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
【0054】この発明に係るエージェント実行システム
は、以上説明したとおり、少なくとも第1のコンピュー
タと第2のコンピュータとを含むコンピュータネットワ
ークにおいて、前記第2のコンピュータでタスクを実行
するエージェント実行システムであって、前記第1のコ
ンピュータで、データ及び実行可能コードを含む移動型
エージェントのオブジェクトを生成するオブジェクト生
成ルーチン手段と、前記第1のコンピュータから前記第
2のコンピュータへ前記移動型エージェントを伝送し、
前記移動型エージェントの伝送に続いて前記第2のコン
ピュータにおいて前記移動型エージェントを実行するこ
とによって、前記タスクを前記第2のコンピュータにお
いて実行し、実行に必要な前記実行可能コードの少なく
とも一部を前記移動型エージェントに含まれる前記実行
可能コードの移動型コードベースの部分から検索するた
めの伝送プロトコル手段と、前記第1のコンピュータに
配置されたホーム・コードベースへの関連付けを行い、
前記移動型コードベースに存在しない必要な実効可能コ
ードを検索するために前記関連付けを使用する関連付け
手段とを備えたので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
は、以上説明したとおり、少なくとも第1のコンピュー
タと第2のコンピュータとを含むコンピュータネットワ
ークにおいて、前記第2のコンピュータでタスクを実行
するエージェント実行システムであって、前記第1のコ
ンピュータで、データ及び実行可能コードを含む移動型
エージェントのオブジェクトを生成するオブジェクト生
成ルーチン手段と、前記第1のコンピュータから前記第
2のコンピュータへ前記移動型エージェントを伝送し、
前記移動型エージェントの伝送に続いて前記第2のコン
ピュータにおいて前記移動型エージェントを実行するこ
とによって、前記タスクを前記第2のコンピュータにお
いて実行し、実行に必要な前記実行可能コードの少なく
とも一部を前記移動型エージェントに含まれる前記実行
可能コードの移動型コードベースの部分から検索するた
めの伝送プロトコル手段と、前記第1のコンピュータに
配置されたホーム・コードベースへの関連付けを行い、
前記移動型コードベースに存在しない必要な実効可能コ
ードを検索するために前記関連付けを使用する関連付け
手段とを備えたので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0055】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第1のコンピュータにおいて前記移動型エー
ジェントをシリアル化することによってそこからデータ
のストリームを生成するためのデータストリーム生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第1のコンピュータにおいて前記移動型エー
ジェントをシリアル化することによってそこからデータ
のストリームを生成するためのデータストリーム生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0056】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第2のコンピュータにおいてバイトの前記ス
トリームを再構築することによってそこから前記移動型
エージェントを再生成するためのエージェント再生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記伝送プロトコル手
段が、前記第2のコンピュータにおいてバイトの前記ス
トリームを再構築することによってそこから前記移動型
エージェントを再生成するためのエージェント再生成ル
ーチン手段を含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0057】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記タスクがデータの
収集であって、前記データの収集が完了すると前記第2
のコンピュータから前記第1のコンピュータへ前記移動
型エージェントを返信するので、ネットワーク・オーバ
ーヘッドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記タスクがデータの
収集であって、前記データの収集が完了すると前記第2
のコンピュータから前記第1のコンピュータへ前記移動
型エージェントを返信するので、ネットワーク・オーバ
ーヘッドを無くすことができるという効果を奏する。
【0058】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記コンピュータネットワーク内の複数の宛先コ
ンピュータに移動するので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、前記コンピュータネットワーク内の複数の宛先コ
ンピュータに移動するので、ネットワーク・オーバーヘ
ッドを無くすことができるという効果を奏する。
【0059】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、該移動型エージェントが移動するように指定され
ている各宛先コンピュータに対する関連付けと、各宛先
コンピュータの関連付けに関するメソッドに対する関連
付けとを含む経路情報をさらに含み、前記移動型エージ
ェントが前記各宛先コンピュータに存在するときに前記
各メソッドを呼出すので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、該移動型エージェントが移動するように指定され
ている各宛先コンピュータに対する関連付けと、各宛先
コンピュータの関連付けに関するメソッドに対する関連
付けとを含む経路情報をさらに含み、前記移動型エージ
ェントが前記各宛先コンピュータに存在するときに前記
各メソッドを呼出すので、ネットワーク・オーバーヘッ
ドを無くすことができるという効果を奏する。
【0060】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、少なくとも1つの宛先
コンピュータの関連付けが、ユニフォーム・リソース・
ロケータであるので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
ステムは、以上説明したとおり、少なくとも1つの宛先
コンピュータの関連付けが、ユニフォーム・リソース・
ロケータであるので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0061】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、必要な実行可能コード
を、最初に移動型エージェントが実行されている前記コ
ンピュータで探索し、次に前記移動型コードベース内で
探索し、最後に前記ホーム・コードベース上で探索する
ので、ネットワーク・オーバーヘッドを無くすことがで
きるという効果を奏する。
ステムは、以上説明したとおり、必要な実行可能コード
を、最初に移動型エージェントが実行されている前記コ
ンピュータで探索し、次に前記移動型コードベース内で
探索し、最後に前記ホーム・コードベース上で探索する
ので、ネットワーク・オーバーヘッドを無くすことがで
きるという効果を奏する。
【0062】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トの受信に続いて、前記宛先コンピュータにおける前記
移動型エージェントの実行のために新たなスレッドを形
成し、セキュリティ機能により、前記移動型エージェン
トが前記スレッドに割り当てられる範囲外で動作しない
ようになっているので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トの受信に続いて、前記宛先コンピュータにおける前記
移動型エージェントの実行のために新たなスレッドを形
成し、セキュリティ機能により、前記移動型エージェン
トが前記スレッドに割り当てられる範囲外で動作しない
ようになっているので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0063】また、この発明に係るエージェント実行シ
ステムは、以上説明したとおり、前記移動型エージェン
トが、さらに、サブ・オブジェクトを含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
ステムは、以上説明したとおり、前記移動型エージェン
トが、さらに、サブ・オブジェクトを含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
【0064】さらに、この発明に係るエージェント実行
システムは、以上説明したとおり、前記移動型エージェ
ントの受信に続いて、前記移動型エージェントの永続的
なローカルのコピーを格納し、エージェントの実行の後
に更新された永続的なコピーによって前記コピーを上書
きするので、ネットワーク・オーバーヘッドを無くすこ
とができるという効果を奏する。
システムは、以上説明したとおり、前記移動型エージェ
ントの受信に続いて、前記移動型エージェントの永続的
なローカルのコピーを格納し、エージェントの実行の後
に更新された永続的なコピーによって前記コピーを上書
きするので、ネットワーク・オーバーヘッドを無くすこ
とができるという効果を奏する。
【0065】この発明に係るエージェント実行方法は、
以上説明したとおり、少なくとも第1のコンピュータと
第2のコンピュータとを含むコンピュータネットワーク
において、前記第2のコンピュータでタスクを実行する
エージェント実行方法であって、前記第1のコンピュー
タで、データ及び実行可能コードを含む移動型エージェ
ントのオブジェクトを生成するステップと、前記第1の
コンピュータから前記第2のコンピュータへ前記移動型
エージェントを伝送するステップと、前記第2のコンピ
ュータにおいて前記移動型エージェントを受信するステ
ップと、前記メソッドを呼出すために必要な前記実行可
能コードの少なくとも一部を、前記移動型エージェント
に含まれる実行可能コードの移動型コードベースの部分
から検索するステップと、前記移動型コードベースに存
在しない必要な実行可能コードを検索するために、前記
第1のコンピュータに配置されたホーム・コードベース
に対する関連付けを使用するステップと、前記移動型エ
ージェントにより前記第2のコンピュータにおいて前記
タスクが実行されるように、前記第2のコンピュータで
前記移動型エージェントを実行するステップとを含むの
で、ネットワーク・オーバーヘッドを無くすことができ
るという効果を奏する。
以上説明したとおり、少なくとも第1のコンピュータと
第2のコンピュータとを含むコンピュータネットワーク
において、前記第2のコンピュータでタスクを実行する
エージェント実行方法であって、前記第1のコンピュー
タで、データ及び実行可能コードを含む移動型エージェ
ントのオブジェクトを生成するステップと、前記第1の
コンピュータから前記第2のコンピュータへ前記移動型
エージェントを伝送するステップと、前記第2のコンピ
ュータにおいて前記移動型エージェントを受信するステ
ップと、前記メソッドを呼出すために必要な前記実行可
能コードの少なくとも一部を、前記移動型エージェント
に含まれる実行可能コードの移動型コードベースの部分
から検索するステップと、前記移動型コードベースに存
在しない必要な実行可能コードを検索するために、前記
第1のコンピュータに配置されたホーム・コードベース
に対する関連付けを使用するステップと、前記移動型エ
ージェントにより前記第2のコンピュータにおいて前記
タスクが実行されるように、前記第2のコンピュータで
前記移動型エージェントを実行するステップとを含むの
で、ネットワーク・オーバーヘッドを無くすことができ
るという効果を奏する。
【0066】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記第1のコンピ
ュータにおいて前記移動型エージェントをシリアル化す
ることによってそこからデータのストリームを生成する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、前記第1のコンピ
ュータにおいて前記移動型エージェントをシリアル化す
ることによってそこからデータのストリームを生成する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0067】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記第2のコンピ
ュータにおいてバイトの前記ストリームを再構築するこ
とによってそこから前記移動型エージェントを再生成す
るステップを含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
法は、以上説明したとおり、さらに、前記第2のコンピ
ュータにおいてバイトの前記ストリームを再構築するこ
とによってそこから前記移動型エージェントを再生成す
るステップを含むので、ネットワーク・オーバーヘッド
を無くすことができるという効果を奏する。
【0068】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記タスクがデータの収集
であって、さらに、前記データの収集が完了すると、前
記移動型エージェントを前記第2のコンピュータから前
記第1のコンピュータへ返信するステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
法は、以上説明したとおり、前記タスクがデータの収集
であって、さらに、前記データの収集が完了すると、前
記移動型エージェントを前記第2のコンピュータから前
記第1のコンピュータへ返信するステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
【0069】また、この発明に係るエージェント実行方
法は、以上説明したとおり、さらに、前記移動型エージ
ェントを、前記コンピュータネットワーク内の複数の宛
先コンピュータに順次移動させるステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
法は、以上説明したとおり、さらに、前記移動型エージ
ェントを、前記コンピュータネットワーク内の複数の宛
先コンピュータに順次移動させるステップを含むので、
ネットワーク・オーバーヘッドを無くすことができると
いう効果を奏する。
【0070】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記移動型エージェント
が、該移動型エージェントが移動するように指定されて
いる各宛先コンピュータに対する関連付けと、各宛先コ
ンピュータの関連付けに関するメソッドに対する関連付
けとを含む経路情報をさらに含み、前記移動型エージェ
ントが各宛先コンピュータに存在するときに前記各宛先
コンピュータに関する前記メソッドを呼出すステップを
さらに含むので、ネットワーク・オーバーヘッドを無く
すことができるという効果を奏する。
法は、以上説明したとおり、前記移動型エージェント
が、該移動型エージェントが移動するように指定されて
いる各宛先コンピュータに対する関連付けと、各宛先コ
ンピュータの関連付けに関するメソッドに対する関連付
けとを含む経路情報をさらに含み、前記移動型エージェ
ントが各宛先コンピュータに存在するときに前記各宛先
コンピュータに関する前記メソッドを呼出すステップを
さらに含むので、ネットワーク・オーバーヘッドを無く
すことができるという効果を奏する。
【0071】また、この発明に係るエージェント実行方
法は、以上説明したとおり、少なくとも1つの宛先コン
ピュータの関連付けとして、ユニフォーム・リソース・
ロケータを使用するステップをさらに含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
法は、以上説明したとおり、少なくとも1つの宛先コン
ピュータの関連付けとして、ユニフォーム・リソース・
ロケータを使用するステップをさらに含むので、ネット
ワーク・オーバーヘッドを無くすことができるという効
果を奏する。
【0072】また、この発明に係るエージェント実行方
法は、以上説明したとおり、必要な実行可能コードを、
最初に前記移動型エージェントが実行されている前記コ
ンピュータで探索し、次に前記移動型コードベース内で
探索し、最後に前記ホーム・コードベース上で探索する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
法は、以上説明したとおり、必要な実行可能コードを、
最初に前記移動型エージェントが実行されている前記コ
ンピュータで探索し、次に前記移動型コードベース内で
探索し、最後に前記ホーム・コードベース上で探索する
ステップを含むので、ネットワーク・オーバーヘッドを
無くすことができるという効果を奏する。
【0073】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記移動型エージェントの
受信に続いて、該移動型エージェントの実行のために前
記宛先コンピュータにおいて新たなスレッドを形成する
ステップをさらに含み、セキュリティ機能により前記移
動型エージェントが前記スレッドに割り当てられる範囲
外で動作しないようになっているので、ネットワーク・
オーバーヘッドを無くすことができるという効果を奏す
る。
法は、以上説明したとおり、前記移動型エージェントの
受信に続いて、該移動型エージェントの実行のために前
記宛先コンピュータにおいて新たなスレッドを形成する
ステップをさらに含み、セキュリティ機能により前記移
動型エージェントが前記スレッドに割り当てられる範囲
外で動作しないようになっているので、ネットワーク・
オーバーヘッドを無くすことができるという効果を奏す
る。
【0074】また、この発明に係るエージェント実行方
法は、以上説明したとおり、前記移動型エージェントに
サブ・オブジェクトを挿入するステップをさらに含むの
で、ネットワーク・オーバーヘッドを無くすことができ
るという効果を奏する。
法は、以上説明したとおり、前記移動型エージェントに
サブ・オブジェクトを挿入するステップをさらに含むの
で、ネットワーク・オーバーヘッドを無くすことができ
るという効果を奏する。
【0075】さらに、この発明に係るエージェント実行
方法は、以上説明したとおり、前記移動型エージェント
の受信後に該移動型エージェントの永続的なローカルの
コピーを格納し、エージェントの実行の後に更新された
永続的なコピーによって該コピーを上書きするステップ
をさらに含むので、ネットワーク・オーバーヘッドを無
くすことができるという効果を奏する。
方法は、以上説明したとおり、前記移動型エージェント
の受信後に該移動型エージェントの永続的なローカルの
コピーを格納し、エージェントの実行の後に更新された
永続的なコピーによって該コピーを上書きするステップ
をさらに含むので、ネットワーク・オーバーヘッドを無
くすことができるという効果を奏する。
【図1】 この発明の実施の形態1に係るエージェント
の移動を示すブロック図である。
の移動を示すブロック図である。
【図2】 この発明の実施の形態1に係るエージェント
の移動に関連したエージェントの実行を示すブロック図
である。
の移動に関連したエージェントの実行を示すブロック図
である。
【図3】 この発明の実施の形態1に係るエージェント
を示すブロック図である。
を示すブロック図である。
【図4】 この発明の実施の形態1に係るネットワーク
の多重コンピュータでのエージェントのエージェント・
マネージャとの相互作用を表すブロック図である。
の多重コンピュータでのエージェントのエージェント・
マネージャとの相互作用を表すブロック図である。
【図5】 この発明の実施の形態1に係るエージェント
の移動を示すフローチャートである。
の移動を示すフローチャートである。
【図6】 この発明の実施の形態1に係る経路情報に基
づくエージェントの動作を示すブロック図である。
づくエージェントの動作を示すブロック図である。
【図7】 この発明の実施の形態1に係るエージェント
のランタイム環境を示すブロック図である。
のランタイム環境を示すブロック図である。
【図8】 この発明の実施の形態1に係るエージェント
の再構築を示すフローチャートである。
の再構築を示すフローチャートである。
10 エージェント、12 第1のコンピュータ、14
第2のコンピュータ、16 ネットワーク、30,3
2 エージェント・マネージャ。
第2のコンピュータ、16 ネットワーク、30,3
2 エージェント・マネージャ。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597067574 201 BROADWAY, CAMBRI DGE, MASSACHUSETTS 02139, U.S.A. (72)発明者 トーマス・シー・ウォルシュ アメリカ合衆国、マサチューセッツ州、ボ ストン、タイルストン・ストリート 47、 ナンバー2
Claims (46)
- 【請求項1】 少なくとも第1のコンピュータと第2の
コンピュータとを含むコンピュータネットワークにおい
て、前記第2のコンピュータでタスクを実行するエージ
ェント実行システムであって、 前記第1のコンピュータで、データ及び実行可能コード
を含む移動型エージェントのオブジェクトを生成するオ
ブジェクト生成ルーチン手段と、 前記第1のコンピュータから前記第2のコンピュータへ
前記移動型エージェントを伝送し、前記移動型エージェ
ントの伝送に続いて前記第2のコンピュータにおいて前
記移動型エージェントを実行することにより、前記タス
クを前記第2のコンピュータで実行するようになってい
る伝送プロトコル手段と、 前記移動型エージェントが移動するよう指定されている
各宛先コンピュータに対する関連付けと、各宛先コンピ
ュータの関連付けに関するメソッドに対する関連付けと
を含み、前記各メソッドを、前記移動型エージェントが
前記各宛先コンピュータに存在するときに呼び出すため
の経路情報手段とを備えたことを特徴とするエージェン
ト実行システム。 - 【請求項2】 前記伝送プロトコル手段は、前記第1の
コンピュータにおいて前記移動型エージェントをシリア
ル化することによってそこからデータのストリームを生
成するためのデータストリーム生成ルーチン手段を含む
ことを特徴とする請求項1記載のエージェント実行シス
テム。 - 【請求項3】 前記伝送プロトコル手段は、前記第2の
コンピュータにおいてバイトの前記ストリームを再構築
することによってそこから前記移動型エージェントを再
生成するためのエージェント再生成ルーチン手段を含む
ことを特徴とする請求項2記載のエージェント実行シス
テム。 - 【請求項4】 前記タスクは、データの収集であって、 前記データの収集が完了すると前記第2のコンピュータ
から前記第1のコンピュータへ前記移動型エージェント
を返信することを特徴とする請求項1記載のエージェン
ト実行システム。 - 【請求項5】 前記移動型エージェントは、前記コンピ
ュータネットワーク内の複数の宛先コンピュータに移動
することを特徴とする請求項1記載のエージェント実行
システム。 - 【請求項6】 少なくとも1つの宛先コンピュータの関
連付けは、ユニフォーム・リソース・ロケータであるこ
とを特徴とする請求項1記載のエージェント実行システ
ム。 - 【請求項7】 前記メソッドを呼出すために必要な前記
実行可能コードの少なくとも一部を、前記移動型エージ
ェントに含まれる前記実行可能コードの移動型コードベ
ースの部分から検索することを特徴とする請求項1記載
のエージェント実行システム。 - 【請求項8】 前記移動型エージェントは、前記第1の
コンピュータに配置されたホーム・コードベースへの関
連付けを含み、前記移動型コードベースに存在しない必
要な実行可能コードを検索するために前記関連付けを使
用することを特徴とする請求項7記載のエージェント実
行システム。 - 【請求項9】 必要な実行可能コードを、最初に前記移
動型エージェントが実行されている前記コンピュータで
探索し、次に前記移動型コードベース内で探索し、最後
に前記ホーム・コードベース上で探索することを特徴と
する請求項8記載のエージェント実行システム。 - 【請求項10】 前記移動型エージェントの受信に続い
て、前記宛先コンピュータにおける前記移動型エージェ
ントの実行のために新たなスレッドを形成し、 セキュリティ機能により、前記移動型エージェントが前
記スレッドに割り当てられる範囲外で動作しないように
なっていることを特徴とする請求項8記載のエージェン
ト実行システム。 - 【請求項11】 前記移動型エージェントは、さらに、
サブ・オブジェクトを含むことを特徴とする請求項8記
載のエージェント実行システム。 - 【請求項12】 前記移動型エージェントの受信に続い
て、前記移動型エージェントの永続的なローカルのコピ
ーを格納し、 エージェントの実行の後に更新された永続的なコピーに
よって前記コピーを上書することを特徴とする請求項1
記載のエージェント実行システム。 - 【請求項13】 少なくとも第1のコンピュータと第2
のコンピュータとを含むコンピュータネットワークにお
いて、前記第2のコンピュータでタスクを実行するエー
ジェント実行方法であって、 前記第1のコンピュータで、データ及び実行可能コード
を含む移動型エージェントのオブジェクトを生成するス
テップと、 前記第1のコンピュータから前記第2のコンピュータへ
前記移動型エージェントを伝送するステップと、 前記第2のコンピュータにおいて前記移動型エージェン
トを受信するステップと、 前記移動型エージェントが移動するよう指定されている
各宛先コンピュータに対する関連付けと、各宛先コンピ
ュータの関連付けに関するメソッドに対する関連付けと
を含む経路情報に基づき、前記第2のコンピュータで前
記移動型エージェントを実行し、前記第2のコンピュー
タに関する前記メソッドを、前記移動型エージェントが
前記第2のコンピュータに存在するときに呼出すステッ
プとを含むことを特徴とするエージェント実行方法。 - 【請求項14】 さらに、前記第1のコンピュータにお
いて前記移動型エージェントをシリアル化することによ
ってそこからデータのストリームを生成するステップを
含むことを特徴とする請求項13記載のエージェント実
行方法。 - 【請求項15】 さらに、前記第2のコンピュータにお
いてバイトの前記ストリームを再構築することによって
そこから前記移動型エージェントを再生成するステップ
を含むことを特徴とする請求項14記載のエージェント
実行方法。 - 【請求項16】 前記タスクはデータの収集であって、 さらに、前記データの収集が完了すると、前記第2のコ
ンピュータから前記第1のコンピュータへ前記移動型エ
ージェントを返信するステップを含むことを特徴とする
請求項13記載のエージェント実行方法。 - 【請求項17】 さらに、前記移動型エージェントを、
前記コンピュータネットワーク内の複数の宛先コンピュ
ータに順次移動させるステップを含むことを特徴とする
請求項13記載のエージェント実行方法。 - 【請求項18】 さらに、少なくとも1つの宛先コンピ
ュータの関連付けとして、ユニフォーム・リソース・ロ
ケータを使用するステップを含むことを特徴とする請求
項13記載のエージェント実行方法。 - 【請求項19】 さらに、前記メソッドを呼出すために
必要な実行可能コードの少なくとも一部を、前記移動型
エージェントに含まれる前記実行可能コードの移動型コ
ードベースの部分から検索するステップを含むことを特
徴とする請求項13記載のエージェント実行方法。 - 【請求項20】 前記移動型エージェントは、前記第1
のコンピュータに配置されたホーム・コードベースへの
関連付けを含み、 さらに、前記移動型コードベースに存在しない必要な実
行可能コードを検索するための前記関連付けを使用する
ステップを含むことを特徴とする請求項19記載のエー
ジェント実行方法。 - 【請求項21】 さらに、必要な実行可能コードを、最
初に前記移動型エージェントが実行されている前記コン
ピュータで探索し、次に前記移動型コードベース内で探
索し、最後に前記ホーム・コードベース上で探索するス
テップを含むことを特徴とする請求項20記載のエージ
ェント実行方法。 - 【請求項22】 さらに、前記移動型エージェントの受
信に続いて、該移動型エージェントの実行のために前記
宛先コンピュータにおいて新たなスレッドを形成するス
テップを含み、 セキュリティ機能により前記移動型エージェントが前記
スレッドに割り当てられる範囲外で動作しないようにな
っていることを特徴とする請求項21記載のエージェン
ト実行方法。 - 【請求項23】 さらに、前記移動型エージェントにサ
ブ・オブジェクトを挿入するステップを含むことを特徴
とする請求項21記載のエージェント実行方法。 - 【請求項24】 さらに、前記移動型エージェントの受
信に続いて該移動型エージェントの永続的なローカルの
コピーを格納し、該コピーを、エージェントの実行の後
に更新された永続的なコピーによって上書きするステッ
プを含むことを特徴とする請求項13記載のエージェン
ト実行方法。 - 【請求項25】 少なくとも第1のコンピュータと第2
のコンピュータとを含むコンピュータネットワークにお
いて、前記第2のコンピュータでタスクを実行するエー
ジェント実行システムであって、 前記第1のコンピュータで、データ及び実行可能コード
を含む移動型エージェントのオブジェクトを生成するオ
ブジェクト生成ルーチン手段と、 前記第1のコンピュータから前記第2のコンピュータへ
前記移動型エージェントを伝送し、前記移動型エージェ
ントの伝送に続いて前記第2のコンピュータにおいて前
記移動型エージェントを実行することによって、前記タ
スクを前記第2のコンピュータにおいて実行し、実行に
必要な前記実行可能コードの少なくとも一部を前記移動
型エージェントに含まれる前記実行可能コードの移動型
コードベースの部分から検索するための伝送プロトコル
手段と、 前記第1のコンピュータに配置されたホーム・コードベ
ースへの関連付けを行い、前記移動型コードベースに存
在しない必要な実効可能コードを検索するために前記関
連付けを使用する関連付け手段とを備えたことを特徴と
するエージェント実行システム。 - 【請求項26】 前記伝送プロトコル手段は、前記第1
のコンピュータにおいて前記移動型エージェントをシリ
アル化することによってそこからデータのストリームを
生成するためのデータストリーム生成ルーチン手段を含
むことを特徴とする請求項25記載のエージェント実行
システム。 - 【請求項27】 前記伝送プロトコル手段は、前記第2
のコンピュータにおいてバイトの前記ストリームを再構
築することによってそこから前記移動型エージェントを
再生成するためのエージェント再生成ルーチン手段を含
むことを特徴とする請求項26記載のエージェント実行
システム。 - 【請求項28】 前記タスクはデータの収集であって、 前記データの収集が完了すると前記第2のコンピュータ
から前記第1のコンピュータへ前記移動型エージェント
を返信することを特徴とする請求項25記載のエージェ
ント実行システム。 - 【請求項29】 前記移動型エージェントは、前記コン
ピュータネットワーク内の複数の宛先コンピュータに移
動することを特徴とする請求項25記載のエージェント
実行システム。 - 【請求項30】 前記移動型エージェントは、該移動型
エージェントが移動するように指定されている各宛先コ
ンピュータに対する関連付けと、各宛先コンピュータの
関連付けに関するメソッドに対する関連付けとを含む経
路情報をさらに含み、前記移動型エージェントが前記各
宛先コンピュータに存在するときに前記各メソッドを呼
出すことを特徴とする請求項29記載のエージェント実
行システム。 - 【請求項31】 少なくとも1つの宛先コンピュータの
関連付けは、ユニフォーム・リソース・ロケータである
ことを特徴とする請求項30記載のエージェント実行シ
ステム。 - 【請求項32】 必要な実行可能コードを、最初に移動
型エージェントが実行されている前記コンピュータで探
索し、次に前記移動型コードベース内で探索し、最後に
前記ホーム・コードベース上で探索することを特徴とす
る請求項25記載のエージェント実行システム。 - 【請求項33】 前記移動型エージェントの受信に続い
て、前記宛先コンピュータにおける前記移動型エージェ
ントの実行のために新たなスレッドを形成し、 セキュリティ機能により、前記移動型エージェントが前
記スレッドに割り当てられる範囲外で動作しないように
なっていることを特徴とする請求項25記載のエージェ
ント実行システム。 - 【請求項34】 前記移動型エージェントは、さらに、
サブ・オブジェクトを含むことを特徴とする請求項25
記載のエージェント実行システム。 - 【請求項35】 前記移動型エージェントの受信に続い
て、前記移動型エージェントの永続的なローカルのコピ
ーを格納し、 エージェントの実行の後に更新された永続的なコピーに
よって前記コピーを上書きすることを特徴とする請求項
30記載のエージェント実行システム。 - 【請求項36】 少なくとも第1のコンピュータと第2
のコンピュータとを含むコンピュータネットワークにお
いて、前記第2のコンピュータでタスクを実行するエー
ジェント実行方法であって、 前記第1のコンピュータで、データ及び実行可能コード
を含む移動型エージェントのオブジェクトを生成するス
テップと、 前記第1のコンピュータから前記第2のコンピュータへ
前記移動型エージェントを伝送するステップと、 前記第2のコンピュータにおいて前記移動型エージェン
トを受信するステップと、 前記メソッドを呼出すために必要な前記実行可能コード
の少なくとも一部を、前記移動型エージェントに含まれ
る実行可能コードの移動型コードベースの部分から検索
するステップと、 前記移動型コードベースに存在しない必要な実行可能コ
ードを検索するために、前記第1のコンピュータに配置
されたホーム・コードベースに対する関連付けを使用す
るステップと、 前記移動型エージェントにより前記第2のコンピュータ
において前記タスクが実行されるように、前記第2のコ
ンピュータで前記移動型エージェントを実行するステッ
プとを含むことを特徴とするエージェント実行方法。 - 【請求項37】 さらに、前記第1のコンピュータにお
いて前記移動型エージェントをシリアル化することによ
ってそこからデータのストリームを生成するステップを
含むことを特徴とする請求項36記載のエージェント実
行方法。 - 【請求項38】 さらに、前記第2のコンピュータにお
いてバイトの前記ストリームを再構築することによって
そこから前記移動型エージェントを再生成するステップ
を含むことを特徴とする請求項37記載のエージェント
実行方法。 - 【請求項39】 前記タスクはデータの収集であって、 さらに、前記データの収集が完了すると、前記移動型エ
ージェントを前記第2のコンピュータから前記第1のコ
ンピュータへ返信するステップを含むことを特徴とする
請求項36記載のエージェント実行方法。 - 【請求項40】 さらに、前記移動型エージェントを、
前記コンピュータネットワーク内の複数の宛先コンピュ
ータに順次移動させるステップを含むことを特徴とする
請求項36記載のエージェント実行方法。 - 【請求項41】 前記移動型エージェントは、該移動型
エージェントが移動するように指定されている各宛先コ
ンピュータに対する関連付けと、各宛先コンピュータの
関連付けに関するメソッドに対する関連付けとを含む経
路情報をさらに含み、 前記移動型エージェントが各宛先コンピュータに存在す
るときに前記各宛先コンピュータに関する前記メソッド
を呼出すステップをさらに含むことを特徴とする請求項
40記載のエージェント実行方法。 - 【請求項42】 少なくとも1つの宛先コンピュータの
関連付けとして、ユニフォーム・リソース・ロケータを
使用するステップをさらに含むことを特徴とする請求項
41記載のエージェント実行方法。 - 【請求項43】 必要な実行可能コードを、最初に前記
移動型エージェントが実行されている前記コンピュータ
で探索し、次に前記移動型コードベース内で探索し、最
後に前記ホーム・コードベース上で探索するステップを
含むことを特徴とする請求項36記載のエージェント実
行方法。 - 【請求項44】 前記移動型エージェントの受信に続い
て、該移動型エージェントの実行のために前記宛先コン
ピュータにおいて新たなスレッドを形成するステップを
さらに含み、 セキュリティ機能により前記移動型エージェントが前記
スレッドに割り当てられる範囲外で動作しないようにな
っていることを特徴とする請求項36記載のエージェン
ト実行方法。 - 【請求項45】 前記移動型エージェントにサブ・オブ
ジェクトを挿入するステップをさらに含むことを特徴と
する請求項36記載のエージェント実行方法。 - 【請求項46】 前記移動型エージェントの受信後に該
移動型エージェントの永続的なローカルのコピーを格納
し、エージェントの実行の後に更新された永続的なコピ
ーによって該コピーを上書きするステップをさらに含む
ことを特徴とする請求項41記載のエージェント実行方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/969478 | 1997-11-13 | ||
| US08/969,478 US6233601B1 (en) | 1996-11-14 | 1997-11-13 | Itinerary based agent mobility including mobility of executable code |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11175342A true JPH11175342A (ja) | 1999-07-02 |
Family
ID=25515608
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10247028A Pending JPH11175342A (ja) | 1997-11-13 | 1998-09-01 | エージェント実行システム及びエージェント実行方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6233601B1 (ja) |
| EP (1) | EP0928089A3 (ja) |
| JP (1) | JPH11175342A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100375431C (zh) * | 1999-07-05 | 2008-03-12 | 索尼国际(欧洲)股份有限公司 | 通信网和移动代理迁移的管理 |
Families Citing this family (113)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
| JP3229240B2 (ja) * | 1997-06-10 | 2001-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
| US6631424B1 (en) * | 1997-09-10 | 2003-10-07 | Fmr Corp. | Distributing information using a computer |
| JPH11184699A (ja) * | 1997-11-26 | 1999-07-09 | Internatl Business Mach Corp <Ibm> | 移動オブジェクト群の実行方法、及び移動オブジェクト群を格納した記憶媒体 |
| JP3892558B2 (ja) * | 1997-12-16 | 2007-03-14 | 富士通株式会社 | エージェント装置及びプログラム記録媒体 |
| JP4187814B2 (ja) * | 1997-12-19 | 2008-11-26 | 株式会社東芝 | 移動型エージェントのデータ管理方法ならびにデータ管理システム、及び同方法がプログラムされ記録される記録媒体 |
| US6862732B1 (en) * | 1998-02-25 | 2005-03-01 | Metaserver, Inc. | Method and apparatus for event-driven processing of data |
| US6430618B1 (en) * | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
| JPH11282683A (ja) * | 1998-03-26 | 1999-10-15 | Omron Corp | エージェントシステム |
| JP3606355B2 (ja) * | 1998-04-13 | 2005-01-05 | オムロン株式会社 | エージェントシステム及び通信方法 |
| US6675194B1 (en) * | 1998-05-05 | 2004-01-06 | Mitel Corporation | Handling different communications types by using agents to implement communication goal commands |
| US6466974B1 (en) * | 1998-12-04 | 2002-10-15 | Sun Microsystems, Inc. | Environment for creating and managing network management software objects |
| US6418463B1 (en) * | 1998-12-17 | 2002-07-09 | Ncr Corporation | Method and apparatus for negotiating contract terms for execution of a mobile software agent on a host computer |
| US7283991B1 (en) * | 1999-03-11 | 2007-10-16 | Microsoft Corporation | Caching system for path search optimization |
| US6529515B1 (en) * | 1999-09-30 | 2003-03-04 | Lucent Technologies, Inc. | Method and apparatus for efficient network management using an active network mechanism |
| US6339773B1 (en) * | 1999-10-12 | 2002-01-15 | Naphtali Rishe | Data extractor |
| US7743089B2 (en) * | 1999-10-13 | 2010-06-22 | Intel Corporation | Method and system for dynamic application layer gateways |
| US20060248139A1 (en) * | 1999-12-01 | 2006-11-02 | Intel Corporation | Networked computer management with a mobile software agent |
| JP2001209596A (ja) * | 2000-01-27 | 2001-08-03 | Fujitsu Ltd | 情報集配信システム |
| US6810429B1 (en) * | 2000-02-03 | 2004-10-26 | Mitsubishi Electric Research Laboratories, Inc. | Enterprise integration system |
| JP3861559B2 (ja) * | 2000-03-31 | 2006-12-20 | 株式会社日立製作所 | 移動エージェント制御方法 |
| GB2362548B (en) * | 2000-05-15 | 2004-03-24 | Vodafone Ltd | A method and apparatus for asynchronous information transactions |
| WO2001095116A2 (en) * | 2000-06-07 | 2001-12-13 | Netbloom A/S | A method and a system for providing information from a server to a client |
| US6931550B2 (en) * | 2000-06-09 | 2005-08-16 | Aramira Corporation | Mobile application security system and method |
| AU2001267054B2 (en) * | 2000-06-09 | 2007-04-05 | Aramira Corporation | Mobile application peer-to-peer security system and method |
| US7269845B1 (en) | 2000-06-09 | 2007-09-11 | Aramira Corporation | Mobile application security system and method |
| US7080159B2 (en) | 2000-12-15 | 2006-07-18 | Ntt Docomo, Inc. | Method and system for effecting migration of application among heterogeneous devices |
| AU2002234258A1 (en) * | 2001-01-22 | 2002-07-30 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
| JP3815231B2 (ja) * | 2001-02-16 | 2006-08-30 | 日本電気株式会社 | 携帯機器向け移動エージェント転送システム、携帯機器及び移動エージェント転送方法 |
| US7143441B2 (en) | 2001-05-08 | 2006-11-28 | Aramira Corporation | Wireless device mobile application security system |
| US7065783B2 (en) * | 2001-07-06 | 2006-06-20 | Aramira Corporation | Mobile application access control list security system |
| US20030020948A1 (en) * | 2001-07-27 | 2003-01-30 | Jarvis Daniel Cook | Dynamically loaded applications in a printer |
| JP3772102B2 (ja) * | 2001-07-30 | 2006-05-10 | 株式会社東芝 | 情報処理方法、情報処理装置及びプログラム |
| US7143129B2 (en) * | 2001-07-31 | 2006-11-28 | International Business Machines Corporation | System and method for distributing proximity information using a two-tiered bootstrap process |
| US7222187B2 (en) * | 2001-07-31 | 2007-05-22 | Sun Microsystems, Inc. | Distributed trust mechanism for decentralized networks |
| US7383433B2 (en) * | 2001-07-31 | 2008-06-03 | Sun Microsystems, Inc. | Trust spectrum for certificate distribution in distributed peer-to-peer networks |
| US7213046B2 (en) * | 2001-07-31 | 2007-05-01 | International Business Machines Corporation | System and method for providing efficient and secure data exchange using strip information elements |
| US7203753B2 (en) * | 2001-07-31 | 2007-04-10 | Sun Microsystems, Inc. | Propagating and updating trust relationships in distributed peer-to-peer networks |
| US20030046443A1 (en) * | 2001-09-06 | 2003-03-06 | Roch Glitho | Updating mobile agents |
| US6931409B2 (en) * | 2002-01-08 | 2005-08-16 | International Business Machines Corporation | Method, apparatus, and program to efficiently serialize objects |
| US7127613B2 (en) * | 2002-02-25 | 2006-10-24 | Sun Microsystems, Inc. | Secured peer-to-peer network data exchange |
| US7634806B2 (en) * | 2002-05-30 | 2009-12-15 | Microsoft Corporation | Peer assembly inspection |
| US7676541B2 (en) * | 2002-05-30 | 2010-03-09 | Microsoft Corporation | Peer communication channel partitioning |
| US7478233B2 (en) * | 2002-05-30 | 2009-01-13 | Microsoft Corporation | Prevention of software tampering |
| US7043522B2 (en) * | 2002-05-30 | 2006-05-09 | Microsoft Corporation | Unbounded computing space |
| WO2004006099A1 (en) * | 2002-07-03 | 2004-01-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Load balancing system using mobile agents |
| US7475107B2 (en) * | 2002-07-08 | 2009-01-06 | Electronic Evidence Discovery, Inc. | System and method for managing distributed computer processes |
| US7370072B2 (en) * | 2002-07-08 | 2008-05-06 | Electronic Evidence Discovery, Inc. | System and method for collecting electronic evidence data |
| WO2004008702A1 (en) * | 2002-07-11 | 2004-01-22 | Ravi Shankar | Using smart nomadic objects to implement secure distributed multimedia messaging applications and services |
| US7437733B2 (en) * | 2002-07-29 | 2008-10-14 | Topia Technology, Inc. | System and method for using a mobile agent object to collect data |
| US7240107B2 (en) * | 2002-10-15 | 2007-07-03 | International Business Machines Corporation | Self replicating installation method for operating system clusters |
| US7861242B2 (en) * | 2002-10-16 | 2010-12-28 | Aramira Corporation | Mobile application morphing system and method |
| US7735134B2 (en) * | 2002-10-16 | 2010-06-08 | Aramira Corporation | Jumping application security system |
| US8108455B2 (en) * | 2002-10-31 | 2012-01-31 | Oracle America, Inc. | Mobile agents in peer-to-peer networks |
| US7328243B2 (en) * | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
| US8037202B2 (en) * | 2002-10-31 | 2011-10-11 | Oracle America, Inc. | Presence detection using mobile agents in peer-to-peer networks |
| US7213047B2 (en) * | 2002-10-31 | 2007-05-01 | Sun Microsystems, Inc. | Peer trust evaluation using mobile agents in peer-to-peer networks |
| US7254608B2 (en) * | 2002-10-31 | 2007-08-07 | Sun Microsystems, Inc. | Managing distribution of content using mobile agents in peer-topeer networks |
| CN1328890C (zh) * | 2004-02-10 | 2007-07-25 | 中兴通讯股份有限公司 | 一种用网络处理器实现分组控制功能的方法 |
| US7474656B2 (en) * | 2004-02-25 | 2009-01-06 | Alcatel-Lucent Usa Inc. | Data transfer to nodes of a communication network using self-replicating code |
| US20050256876A1 (en) * | 2004-05-10 | 2005-11-17 | Eidson John C | Distributed applications using mobile agents |
| US7062402B2 (en) * | 2004-05-19 | 2006-06-13 | Microsoft Corp | System and method for automatic testing of output device capabilities via electronic document |
| US7823169B1 (en) | 2004-10-28 | 2010-10-26 | Wheeler Thomas T | Performing operations by a first functionality within a second functionality in a same or in a different programming language |
| US7774789B1 (en) * | 2004-10-28 | 2010-08-10 | Wheeler Thomas T | Creating a proxy object and providing information related to a proxy object |
| US8266631B1 (en) | 2004-10-28 | 2012-09-11 | Curen Software Enterprises, L.L.C. | Calling a second functionality by a first functionality |
| US7567562B2 (en) * | 2005-03-02 | 2009-07-28 | Panasonic Corporation | Content based secure rendezvous chaotic routing system for ultra high speed mobile communications in ad hoc network environment |
| US7861212B1 (en) | 2005-03-22 | 2010-12-28 | Dubagunta Saikumar V | System, method, and computer readable medium for integrating an original application with a remote application |
| US8578349B1 (en) | 2005-03-23 | 2013-11-05 | Curen Software Enterprises, L.L.C. | System, method, and computer readable medium for integrating an original language application with a target language application |
| US7676492B2 (en) | 2006-04-07 | 2010-03-09 | International Business Machines Corporation | Migration of database using serialized objects |
| US7937713B2 (en) * | 2006-04-21 | 2011-05-03 | Topia Technology | System and method for providing services on a distributed network |
| US7810140B1 (en) | 2006-05-23 | 2010-10-05 | Lipari Paul A | System, method, and computer readable medium for processing a message in a transport |
| US8869066B2 (en) | 2006-07-06 | 2014-10-21 | Addthis, Llc | Generic content collection systems |
| EP1879323B1 (en) * | 2006-07-11 | 2015-09-09 | Sap Se | A method and system for protecting path and data of a mobile agent within a network system |
| US7844759B1 (en) | 2006-07-28 | 2010-11-30 | Cowin Gregory L | System, method, and computer readable medium for processing a message queue |
| US20080082627A1 (en) * | 2006-09-29 | 2008-04-03 | Allen Stewart O | Method and Apparatus for Widget Container/Widget Tracking and Metadata Manipulation |
| US8056092B2 (en) * | 2006-09-29 | 2011-11-08 | Clearspring Technologies, Inc. | Method and apparatus for widget-container hosting and generation |
| ES2311379B1 (es) * | 2006-11-06 | 2009-11-30 | Vodafone España S.A. | Metodo, sistema y dispositivo terminal para la transmision y recepcionde mensajes. |
| US7702602B1 (en) * | 2006-12-22 | 2010-04-20 | Hauser Robert R | Moving and agent with a canonical rule from one device to a second device |
| US7970724B1 (en) | 2006-12-22 | 2011-06-28 | Curen Software Enterprises, L.L.C. | Execution of a canonical rules based agent |
| US7702603B1 (en) * | 2006-12-22 | 2010-04-20 | Hauser Robert R | Constructing an agent that utilizes a compiled set of canonical rules |
| US8200603B1 (en) | 2006-12-22 | 2012-06-12 | Curen Software Enterprises, L.L.C. | Construction of an agent that utilizes as-needed canonical rules |
| US8132179B1 (en) | 2006-12-22 | 2012-03-06 | Curen Software Enterprises, L.L.C. | Web service interface for mobile agents |
| US7660780B1 (en) | 2006-12-22 | 2010-02-09 | Patoskie John P | Moving an agent from a first execution environment to a second execution environment |
| US7660777B1 (en) * | 2006-12-22 | 2010-02-09 | Hauser Robert R | Using data narrowing rule for data packaging requirement of an agent |
| US7702604B1 (en) * | 2006-12-22 | 2010-04-20 | Hauser Robert R | Constructing an agent that utilizes supplied rules and rules resident in an execution environment |
| US7949626B1 (en) | 2006-12-22 | 2011-05-24 | Curen Software Enterprises, L.L.C. | Movement of an agent that utilizes a compiled set of canonical rules |
| US8423496B1 (en) | 2006-12-22 | 2013-04-16 | Curen Software Enterprises, L.L.C. | Dynamic determination of needed agent rules |
| US9311141B2 (en) | 2006-12-22 | 2016-04-12 | Callahan Cellular L.L.C. | Survival rule usage by software agents |
| US7860517B1 (en) | 2006-12-22 | 2010-12-28 | Patoskie John P | Mobile device tracking using mobile agent location breadcrumbs |
| US7664721B1 (en) * | 2006-12-22 | 2010-02-16 | Hauser Robert R | Moving an agent from a first execution environment to a second execution environment using supplied and resident rules |
| US7698243B1 (en) * | 2006-12-22 | 2010-04-13 | Hauser Robert R | Constructing an agent in a first execution environment using canonical rules |
| ATE425491T1 (de) * | 2007-01-19 | 2009-03-15 | Sap Ag | Verfahren und system zur sicheren erweiterung des weges eines mobilagenten innerhalb eines netzwerksystems |
| US8266274B2 (en) * | 2007-03-06 | 2012-09-11 | Clearspring Technologies, Inc. | Method and apparatus for data processing |
| US20080222232A1 (en) * | 2007-03-06 | 2008-09-11 | Allen Stewart O | Method and Apparatus for Widget and Widget-Container Platform Adaptation and Distribution |
| US9009728B2 (en) | 2007-03-06 | 2015-04-14 | Addthis, Inc. | Method and apparatus for widget and widget-container distribution control based on content rules |
| US8209378B2 (en) * | 2007-10-04 | 2012-06-26 | Clearspring Technologies, Inc. | Methods and apparatus for widget sharing between content aggregation points |
| US8307395B2 (en) * | 2008-04-22 | 2012-11-06 | Porto Technology, Llc | Publishing key frames of a video content item being viewed by a first user to one or more second users |
| US20100100605A1 (en) * | 2008-09-15 | 2010-04-22 | Allen Stewart O | Methods and apparatus for management of inter-widget interactions |
| WO2012134453A2 (en) * | 2011-03-29 | 2012-10-04 | Empire Technology Development Llc | "go home" feature for roaming applications |
| US9449010B2 (en) * | 2011-04-02 | 2016-09-20 | Open Invention Network, Llc | System and method for managing sensitive data using intelligent mobile agents on a network |
| US10176184B2 (en) | 2012-01-17 | 2019-01-08 | Oracle International Corporation | System and method for supporting persistent store versioning and integrity in a distributed data grid |
| WO2016049575A1 (en) | 2014-09-25 | 2016-03-31 | Oracle International Corporation | System and method for supporting zero-copy binary radix tree in a distributed computing environment |
| WO2016049379A1 (en) * | 2014-09-25 | 2016-03-31 | Oracle International Corporation | System and method for supporting dynamic deployment of executable code in a distributed computing environment |
| US10664495B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | System and method for supporting data grid snapshot and federation |
| US10860378B2 (en) | 2015-07-01 | 2020-12-08 | Oracle International Corporation | System and method for association aware executor service in a distributed computing environment |
| US10798146B2 (en) | 2015-07-01 | 2020-10-06 | Oracle International Corporation | System and method for universal timeout in a distributed computing environment |
| US10585599B2 (en) | 2015-07-01 | 2020-03-10 | Oracle International Corporation | System and method for distributed persistent store archival and retrieval in a distributed computing environment |
| US11163498B2 (en) | 2015-07-01 | 2021-11-02 | Oracle International Corporation | System and method for rare copy-on-write in a distributed computing environment |
| US10579952B2 (en) * | 2016-05-11 | 2020-03-03 | International Business Machines Corporation | Tracking shipment container |
| US11550820B2 (en) | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
| US10769019B2 (en) | 2017-07-19 | 2020-09-08 | Oracle International Corporation | System and method for data recovery in a distributed data computing environment implementing active persistence |
| US10721095B2 (en) | 2017-09-26 | 2020-07-21 | Oracle International Corporation | Virtual interface system and method for multi-tenant cloud networking |
| US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2041992A1 (en) * | 1990-05-18 | 1991-11-19 | Yeshayahu Artsy | Routing objects on action paths in a distributed computing system |
| 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 |
| EP0938798A4 (en) * | 1996-11-14 | 2003-02-12 | Mitsubishi Electric Corp | SYNCHRONOUS, DYNAMIC COLLABORATION FRAMEWORK FOR MOBILE AGENTS |
-
1997
- 1997-11-13 US US08/969,478 patent/US6233601B1/en not_active Expired - Fee Related
-
1998
- 1998-09-01 JP JP10247028A patent/JPH11175342A/ja active Pending
- 1998-09-10 EP EP98117212A patent/EP0928089A3/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100375431C (zh) * | 1999-07-05 | 2008-03-12 | 索尼国际(欧洲)股份有限公司 | 通信网和移动代理迁移的管理 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0928089A2 (en) | 1999-07-07 |
| EP0928089A3 (en) | 2002-03-27 |
| US6233601B1 (en) | 2001-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11175342A (ja) | エージェント実行システム及びエージェント実行方法 | |
| Peterson et al. | The x-kernel: A platform for accessing internet resources | |
| EP1046990B1 (en) | Methods and apparatus for storage and retrieval of name space information in a distributed computing system | |
| Popek et al. | LOCUS a network transparent, high reliability distributed system | |
| EP0737916B1 (en) | Methods, apparatus and data structures for managing objects | |
| US20030105837A1 (en) | Interception for optimal caching of distributed applications | |
| US20030105833A1 (en) | Transparent optimization of network traffic in distributed systems | |
| US5884097A (en) | Data structure and methods for defining and using attribute data blocks to instantiate objects and describe changes to objects | |
| US6490255B1 (en) | Network management system | |
| JP2002132739A (ja) | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 | |
| Shapiro | A binding protocol for distributed shared objects | |
| US20030093420A1 (en) | Method and system for retrieving sharable information using a hierarchically dependent directory structure | |
| JP2000155686A (ja) | 分散システム中におけるプログラム実行方法及びその装置、分散システム中におけるプログラム実行手順を記憶したコンピュ―タ読み書き可能な記憶媒体及びコンピュ―タシステム | |
| JP2002505462A (ja) | ネットワーク上における動的分散型計算のための方法及び装置 | |
| JPH0916503A (ja) | コンピュータプロセスを管理する方法および装置 | |
| WO2007002595A2 (en) | Distributed virtual machine architecture | |
| JP2001502093A (ja) | 実行可能コードの移動を含む経路情報方式のエージェントの移動 | |
| JP2000503430A (ja) | 分散処理 | |
| US6513157B1 (en) | System and method for dynamically aggregating objects | |
| US6678743B1 (en) | Method for moving objects in a distributed computing environment | |
| Sapaty et al. | An overview of the WAVE language and system for distributed processing of open networks | |
| Palacz et al. | Incommunicado: efficient communication for isolates | |
| US20040163086A1 (en) | WebDAV servlet | |
| Kono et al. | An implementation method of migratable distributed objects using an RPC technique integrated with virtual memory management | |
| CN117851087B (zh) | 一种基于Java动态字节码的远程调用动态扩展方法 |