JP2988462B2 - 自律協調処理装置、自律協調処理方法、並びに、その記録媒体 - Google Patents

自律協調処理装置、自律協調処理方法、並びに、その記録媒体

Info

Publication number
JP2988462B2
JP2988462B2 JP10029763A JP2976398A JP2988462B2 JP 2988462 B2 JP2988462 B2 JP 2988462B2 JP 10029763 A JP10029763 A JP 10029763A JP 2976398 A JP2976398 A JP 2976398A JP 2988462 B2 JP2988462 B2 JP 2988462B2
Authority
JP
Japan
Prior art keywords
processing
module
execution
unit
request
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 - Fee Related
Application number
JP10029763A
Other languages
English (en)
Other versions
JPH11232108A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10029763A priority Critical patent/JP2988462B2/ja
Publication of JPH11232108A publication Critical patent/JPH11232108A/ja
Application granted granted Critical
Publication of JP2988462B2 publication Critical patent/JP2988462B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数のモジュー
ルが自律的な判断に基づき処理を実行する自律協調処理
装置、自律協調処理方法、並びに、その記録媒体に関す
る。
【0002】
【従来の技術】従来技術1.図19は、例えば特開平8
−137697号公報に示された従来の自律分散システ
ムの機能ブロック図である。この自律協調システムは、
エージェント1が通信2、3により協調動作してタスク
を処理する自律分散型のシステムである。各エージェン
ト1は自分と他のエージェントのタスク処理能力に関す
る知識4を持つ。エージェント1同士はそれぞれが持つ
知識4に応じて自律的にネゴシエーションを行うことに
よりタスク処理の分担を決定し、各エージェント1は、
この決定された分担に従って、タスク処理を実行6す
る。そして、処理結果を観測7するに際し、各エージェ
ント1は、ネゴシエーション時の他のエージェントとの
情報交換2、3及び観測結果7がシステム特性の変化を
推定するものである。ここで、タスク処理を引き受けた
エージェント1は、それぞれ自己が有する実行モジュー
ルを用いてタスク処理を実行する。
【0003】従来技術2.また、図20は、本願発明の
出願人による特願平8−36685号の自律分散システムであ
る。10は、外部から処理要求を受け付けた場合に、他の
エージェント10との協調処理により、複数のエージェン
ト10のうちどのエージェントがその処理要求を処理する
かを決定するエージェント10である。さらに、エージェ
ント10は、処理要求を自分が実行すると決定した場合に
は、その処理要求をいずれかの情報処理部14に実行させ
る。14はエージェント10から受け付けた処理要求を実際
に処理する情報処理部である。情報処理部14は、受け付
けた処理要求を自己が有する実行モジュールを用いて実
行する。
【0004】
【発明が解決しようとする課題】上述のような従来技術
1の自律分散システムでは、エージェント1の実行モジ
ュールで処理要求を処理する場合に、処理要求を受け付
けたものの実際に処理要求の処理を実行してみたところ
実行モジュールが処理要求に適さず、処理要求が正常に
実行できないという問題があり、処理要求に適した実行
モジュールを持つエージェント1がある場合でも、その
ようなエージェント1が少ない場合には、処理要求がそ
のエージェント1に集中するため、処理要求の処理効率
が低下するという問題があった。
【0005】また、上述の従来技術2では、情報処理部
14は、自己の実行モジュールを用いて処理要求を正常に
実行できない場合には、他の情報処理部14に処理要求を
処理するよう改めて依頼しなければならず、処理効率の
向上に限界があるという問題があった。この発明は、か
かる問題点を解決するためになされたもので、処理効率
のよい自律協調処理装置、自律協調処理方法、並びに、
その記録媒体を得ることを目的としている。
【0006】
【課題を解決するための手段】この発明にかかる自律協
調処理装置においては、処理要求にかかる処理を実行モ
ジュールを用いてそれぞれ実行する複数の処理実行部
と、これら複数の処理実行部に対応して設けられ、複数
の処理実行部それぞれの実行モジュールをそれぞれ記憶
する複数の実行モジュール記憶部と、処理要求があった
場合に、複数の処理実行部のうちから処理要求にかかる
処理を実行させる処理実行部を選択し、選択した処理実
行部に処理要求にかかる処理を実行させる処理要求制御
部と、処理実行部の処理状況に基づいて、複数の実行モ
ジュール記憶部のうちの1つの実行モジュール記憶部か
ら他の実行モジュール記憶部へ実行モジュールを転送す
るモジュール転送部と、を備え、処理実行部は、モジュ
ール転送部によって転送された実行モジュールを用いて
処理要求にかかる処理を実行し直すものである。
【0007】また、複数の実行モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの実
行モジュール記憶部上にある実行モジュールを検索し、
検索した実行モジュールのうち処理要求にかかる処理に
適した実行モジュールを決定し、決定した実行モジュー
ルをネットワークを介して自己のコンピュータの実行モ
ジュール記憶部に転送するものである。
【0008】また、処理要求にかかる処理を実行モジュ
ールを用いてそれぞれ実行する複数の処理実行部と、こ
れら複数の処理実行部に対応して設けられ、複数の処理
実行部それぞれの実行モジュールをそれぞれ記憶する複
数の実行モジュール記憶部と、処理要求があった場合
に、複数の処理実行部のうちから処理要求にかかる処理
を実行させる処理実行部を選択し、選択した処理実行部
に処理要求にかかる処理を実行させる処理要求制御部
と、処理実行部の処理状況に基づいて、複数の実行モジ
ュール記憶部のうちの1つの実行モジュール記憶部から
他の実行モジュール記憶部へ実行モジュールを転送する
モジュール転送部と、を備え、複数の実行モジュール記
憶部は、複数のコンピュータにそれぞれ設けられ、複数
のコンピュータは、ネットワークで互いに接続され、モ
ジュール転送部は、ネットワークを介して、他のコンピ
ュータの実行モジュール記憶部上にある実行モジュール
を検索し、検索した実行モジュールのうち処理要求にか
かる処理に適した実行モジュールを決定し、決定した実
行モジュールをネットワークを介して自己のコンピュー
タの実行モジュール記憶部に転送するものである。
【0009】また、処理要求にかかる処理を処理するた
めに実行されるプログラムである複数の実行モジュール
のうち、処理要求にかかる処理をどの実行モジュールを
用いて処理するかを決定する規則である実行モジュール
適用規則に基づいて実行モジュールを選択し、選択され
た実行モジュールを用いて、処理要求にかかる処理をそ
れぞれ実行する複数の処理実行部と、これら複数の処理
実行部に対応して設けられ、複数の処理実行部それぞれ
の実行モジュール及び実行モジュール適用規則をそれぞ
れ記憶する複数の実行モジュール記憶部と、処理要求が
あった場合に、複数の処理実行部のうちから処理要求に
かかる処理を実行させる処理実行部を選択し、選択した
処理実行部に処理要求にかかる処理を実行させる処理要
求制御部と、処理実行部の処理状況に基づいて、複数の
実行モジュール記憶部のうちの1つの実行モジュール記
憶部から他の実行モジュール記憶部へ実行モジュール適
用規則を転送するモジュール適用規則転送部と、を備え
たものである。
【0010】また、処理実行部は、モジュール適用規則
転送部が他の処理実行部に対応する実行モジュール記憶
部から自己に対応する実行モジュール記憶部に実行モジ
ュール適用規則を転送した場合に、転送された実行モジ
ュール適用規則を用いて実行モジュールを選択し直し、
選択し直した実行モジュールを用いて処理要求にかかる
処理を実行し直すものである。
【0011】また、処理要求にかかる処理をそれぞれ実
行する複数の処理実行部と、複数の処理実行部のうちの
複数の処理実行部に接続され、処理要求があった場合
に、処理要求にかかる処理を複数の処理実行部のうちど
の処理実行部に実行させるかを決定するモジュールであ
る策定モジュールを用いて、接続された複数の処理実行
部のうちから処理要求にかかる処理を実行させる処理実
行部を選択し、選択した処理実行部に処理要求にかかる
処理を実行させる複数の処理要求制御部と、これら複数
の処理要求制御部に対応して設けられ、複数の処理要求
制御部それぞれの策定モジュールをそれぞれ記憶する複
数の策定モジュール記憶部と、処理要求の処理状況に基
づいて、これら複数の策定モジュール記憶部のうちの1
つの策定モジュール記憶部から他の策定モジュール記憶
部へ策定モジュールを転送するモジュール転送部と、を
備えたものである。
【0012】また、複数の策定モジュールのそれぞれ
は、処理要求を複数の処理に分解するとともに、複数の
処理の実行手順を処理プランとして決定する処理を有
し、複数の策定モジュールはそれぞれ異なるアルゴリズ
ムであり、処理要求制御部は、モジュール転送部が他の
処理要求制御部に対応する策定モジュール記憶部から自
己に対応する策定モジュール記憶部へ策定モジュールを
転送した場合に、転送された策定モジュールを用いて処
理プランを作成し直し、作成し直した処理プランに基づ
いて処理要求にかかる複数の処理を処理実行部に実行さ
せるものである。
【0013】また、複数の策定モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの策
定モジュール記憶部上にある策定モジュールを検索し、
検索した策定モジュールのうち処理要求に適した策定モ
ジュールを決定し、決定した策定モジュールをネットワ
ークを介して自己のコンピュータに対応する策定モジュ
ール記憶部へ転送するものである。
【0014】また、処理要求にかかる処理をそれぞれ実
行する複数の処理実行部と、処理要求にかかる処理を複
数の処理実行部のうちどの処理実行部に実行させるかを
決定するモジュールである複数の策定モジュール、及
び、処理要求に対して複数の策定モジュールのうちどの
策定モジュールを適用するかを決定する策定モジュール
適用規則を、それぞれ記憶する複数の策定モジュール記
憶部と、これら複数の策定モジュール記憶部のうちのい
ずれかに接続されるとともに、複数の処理実行部のうち
の複数の処理実行部に接続され、処理要求があった場合
に、策定モジュールを用いて、接続された複数の処理実
行部のうちから処理要求にかかる処理を実行させる処理
実行部を選択し、選択した処理実行部に処理要求にかか
る処理を実行させる複数の処理要求制御部と、処理要求
の処理状況に基づいて、複数の策定モジュール記憶部の
うちの1つの策定モジュール記憶部から他の策定モジュ
ール記憶部へ策定モジュール適用規則を転送するモジュ
ール転送部と、を備えたものである。
【0015】また、複数の策定モジュール適用規則はそ
れぞれ規則が異なっており、処理要求制御部は、モジュ
ール転送部が他の処理要求制御部に対応する策定モジュ
ール記憶部から自己に対応する策定モジュール記憶部へ
策定モジュール適用規則を転送した場合に、転送された
策定モジュール適用規則を用いて策定モジュールを決定
し直し、決定し直した策定モジュールを用いて処理要求
にかかる処理を実行させる処理実行部を選択し直し、選
択し直した処理実行部に処理要求にかかる処理を実行さ
せるものである。
【0016】また、複数の策定モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの策
定モジュール記憶部上にある策定モジュール適用規則を
検索し、検索した策定モジュール適用規則のうち処理要
求に適した策定モジュールを決定し、決定した策定モジ
ュールをネットワークを介して自己に接続された策定モ
ジュール記憶部へ転送するものである。
【0017】また、 処理要求にかかる処理を実行モジ
ュールを用いてそれぞれ実行する複数の処理実行部と、
これら複数の処理実行部に対応して設けられ、上記複数
の処理実行部それぞれの実行モジュールをそれぞれ記憶
する複数の実行モジュール記憶部と、上記処理要求があ
った場合に、上記複数の処理実行部のうちから上記処理
要求にかかる処理を実行させる処理実行部を選択し、選
択した処理実行部に上記処理要求にかかる処理を実行さ
せる処理要求制御部と、上記処理実行部の処理状況に基
づいて、上記複数の実行モジュール記憶部のうちの1つ
の実行モジュール記憶部から他の実行モジュール記憶部
へ実行モジュールを転送するモジュール転送部と、を備
えた自律協調処理装置であって、複数の処理要求制御部
は、通常時においてそれぞれ異なるコンピュータ上で実
行されるとともに、処理実行部の実行状況の情報に基づ
いて自己のコンピュータで処理要求にかかる処理を受け
容れるか否かを判断する受容判断部を有し、処理要求が
あった場合には、実行状況の情報及び受容判断部を他の
コンピュータへ転送し、他のコンピュータへ転送された
受容判断部は、複数のコンピュータのうちの少なくとも
1つのコンピュータにかかる受容判断部と他のコンピュ
ータ内で通信することにより処理要求にかかる処理を受
け容れるか否かを判断するものである。
【0018】また、受容判断部は、通信状態に基づいて
移動先を変更するものである。
【0019】また、この発明における自律協調処理方法
においては、複数のコンピュータが独自の実行モジュー
ルを用いてそれぞれ処理要求を処理する自律協調処理方
法であって、複数のコンピュータのうちの第1のコンピ
ュータが、自己の実行モジュールを用いて処理要求の処
理状況を監視する監視ステップと、処理状況が遅延して
いる場合に、第1のコンピュータが他のコンピュータに
対し、他のコンピュータにおける処理要求に対応する実
行モジュールの過去の処理実績を問い合わせる問い合わ
せステップと、この問い合わせステップの結果得られた
処理実績に基づき、他のコンピュータの実行モジュール
を、他のコンピュータから第1のコンピュータへ転送す
る実行モジュール転送ステップと、この実行モジュール
転送ステップで転送された実行モジュールを用いて、第
1のコンピュータが処理要求を処理する処理ステップ
と、を備えたものである。
【0020】また、複数のコンピュータが、処理要求の
処理手順である処理プランに基づいて処理要求を処理す
る自律協調処理方法であって、複数のコンピュータのう
ちの第1のコンピュータが、処理プランを作成するモジ
ュールである策定モジュールを用いて、処理要求に対す
る処理プランを作成する処理プラン作成ステップと、第
1のコンピュータが、処理プランに基づいて処理される
処理要求の処理状況を監視する監視ステップと、第1の
コンピュータが、処理状況が遅延していると判断した場
合に、他のコンピュータに対し、他のコンピュータにお
ける処理要求に対応する策定モジュールの過去の処理要
求の処理実績を問い合わせる問い合わせステップと、こ
の問い合わせステップの結果得られた処理実績に基づ
き、他のコンピュータの策定モジュールを、他のコンピ
ュータから第1のコンピュータへ転送する実行モジュー
ル転送ステップと、第1のコンピュータが、この実行モ
ジュール転送ステップで転送された策定モジュールを用
いて処理プランを作成し、作成した処理プランに従って
処理要求を処理する処理ステップと、を備えたものであ
る。
【0021】また、この発明における自律協調処理方法
をコンピュータに実行させるプログラムを記録した記録
媒体においては、複数のコンピュータが独自の実行モジ
ュールを用いてそれぞれ処理要求を処理する自律協調処
理方法をコンピュータに実行させるプログラムを記録し
た記録媒体であって、複数のコンピュータのうちの第1
のコンピュータが、自己の実行モジュールを用いて処理
要求の処理状況を監視する監視ステップと、処理状況が
遅延している場合に、第1のコンピュータが他のコンピ
ュータに対し、他のコンピュータにおける処理要求に対
応する実行モジュールの過去の処理実績を問い合わせる
問い合わせステップと、この問い合わせステップの結果
得られた処理実績に基づき、他のコンピュータの実行モ
ジュールを、他のコンピュータから第1のコンピュータ
へ転送する実行モジュール転送ステップと、この実行モ
ジュール転送ステップで転送された実行モジュールを用
いて、第1のコンピュータが処理要求を処理する処理ス
テップと、をコンピュータに実行させるためのプログラ
ムを記録した記録媒体。
【0022】また、複数のコンピュータが、処理要求の
処理手順である処理プランに基づいて処理要求を処理す
る自律協調処理方法をコンピュータに実行させるプログ
ラムを記録した記録媒体であって、複数のコンピュータ
のうちの第1のコンピュータが、処理プランを作成する
モジュールである策定モジュールを用いて、処理要求に
対する処理プランを作成する処理プラン作成ステップ
と、第1のコンピュータが、処理プランに基づいて処理
される処理要求の処理状況を監視する監視ステップと、
第1のコンピュータが、処理状況が遅延していると判断
した場合に、他のコンピュータに対し、他のコンピュー
タにおける処理要求に対応する策定モジュールの過去の
処理要求の処理実績を問い合わせる問い合わせステップ
と、この問い合わせステップの結果得られた処理実績に
基づき、他のコンピュータの策定モジュールを、他のコ
ンピュータから第1のコンピュータへ転送する実行モジ
ュール転送ステップと、第1のコンピュータが、この実
行モジュール転送ステップで転送された策定モジュール
を用いて処理プランを作成し、作成した処理プランに従
って処理要求を処理する処理ステップと、をコンピュー
タに実行させるためのプログラムを記録したものであ
る。
【0023】
【発明の実施の形態】実施の形態1.図1は、実施の形
態1に係る自律協調処理装置の機能ブロック図である。
図1において示すように、1000A〜Cは、外部からの処理
要求を受け付けるか否かを判断し、受け付けた処理要求
を自己が管理する実行主体部1100へ分配し、その処理要
求を実行させるエージェント部である。このエージェン
ト部1000は、この発明の処理要求制御部である。1100A
1,A2,B1,B2,C1は、エージェント部1000A〜Cから受け付
けた処理要求を実行する実行主体部であり、それぞれの
実行主体部は、通常1つ以上のプロセス、或いはスレッ
ドで構成される。ここで、この明細書において、エージ
ェント部1000A〜Cを区別しない場合には、エージェント
部1000と記し、実行主体部1100A1,A2,B1,B2,C1のそれぞ
れを区別しない場合には、実行主体部1100と記す。ま
た、実行主体部1100は、この発明の処理実行部、実行モ
ジュール記憶部、及びモジュール転送部を有する。
【0024】この図1の自律協調処理システムの基本動
作は、例えば、図示しない外部装置よりある処理要求が
この図1のシステムへ出力されると、エージェント部10
00A〜Cのそれぞれで、その処理要求が実行可能かを判断
する。この判断基準は、エージェント部1000A〜Cそれぞ
れが管理する各実行主体部1100の現在の負荷状況、若し
くは、処理要求の内容を実行できる/処理する能力(例
えば、モジュールを有するか)があるかどうかを判断す
ることによって行なわれる。次に、エージェント部1000
A〜Cでお互いの判断を通信しながら、どのエージェント
部1000が処理要求を実行するかを、エージェント部1000
A〜C間で協調して決定する。処理要求を受け付けたエー
ジェント部1000は、処理要求の内容を解析し、自己が管
理する実行主体部1100へ処理要求にかかる処理を実行さ
せる。そのとき、受け付けた処理要求が複数の並列処理
に分割できるときは、分割した複数の処理をそれぞれ複
数の実行主体部1100に配分する。以下、上述処理要求に
かかる処理をタスクという。このように、この自律協調
処理システムでは、処理要求が発生した場合には、どの
実行主体部1100がどのように処理要求を処理するかとい
う手順を、エージェント部1000が計画し、この計画(以
下、処理プランという)に従って、処理要求が処理され
る。
【0025】次に、この実施の形態の実行モジュールの
転送動作について図2及び図3を用いて説明する。図2
は、この実施の形態1の自律協調処理システムにおい
て、実行モジュールを他の実行主体部1100へ移動させる
動作を説明する機能ブロック図である。図2において、
図1と同一の符号は同一又は相当の部分を表している。
この図2においては、2台のコンピュータA,Bがネッ
トワークで接続されており、エージェント部1000Aはコ
ンピュータA上で、エージェント部1000Bはコンピュータ
B上でそれぞれ動作する。図3は、図2のシステムの実
行モジュールの転送動作を説明するシーケンス図であ
る。
【0026】ここで、それぞれの実行主体部1100A1〜B2
には、図2に示したように実行モジュールA〜Eが記憶さ
れており、例えば、実行主体部1100A2には、実行モジュ
ールA及びBが記憶されており、実行主体部1100B1には、
実行主体部1100A2の実行モジュールとは異なる実行モジ
ュールD及びEが記憶されている。ここで、実行モジュー
ルとは、タスクを処理するために実行されるプログラム
である。各実行モジュールはアルゴリズム、実行パラメ
ータ、若しくは実行できるタスクの種類等の実行条件が
異なるため、各実行主体部1100は、タスクに応じて複数
の実行モジュールから当該処理に用いる実行モジュール
を選択して実行する。また、この実行モジュールの選択
の基準となる規則を実行モジュール適用規則という。
【0027】まず、エージェント部1000Aが、処理要求
を受け付け、受け付けた処理要求に対して処理プラン策
定部1020が処理プランを作成する。そして、作成した処
理プランに基づいて、各実行主体部1100にタスクを実行
させる。ここで、実行主体部1100A2で処理要求にかかる
タスクを実行モジュールAを用いて実行していたとする
と、図3のステップS1において、実行モジュール更新
部1110A2が処理時間チェックを行なう。例えば、当該処
理の開始から予め定められた時間が経過しているかを調
べる。ここで、処理時間チェックの結果、良好な処理が
なされていると判断、すなわち予め定められた時間以上
の時間が経過していないと判断された場合には、所定時
間後に再びステップS1の処理を行なう。
【0028】ステップS1の処理時間チェックの結果、
良好な処理がなされていないと判断された場合、すなわ
ち予め定められた時間以上の時間が経過している場合に
は、ステップS2に進み、実行モジュール更新部1110A2
がエージェント部1000Aに実行モジュールの検索依頼を
送信する。この検索依頼は、上述タスクを実行できる実
行モジュールを探す依頼である。次に、実行モジュール
更新部1110A2は、ステップS7にて、自己が管理する実
行主体部1100A1の実行モジュールに該当する実行モジュ
ールの処理実績を調べる。
【0029】次に、ステップS3で、ステップS2の検
索依頼を受取ったエージェント部1000Aは、他のエージ
ェント部1000B、Cに処理実績問い合わせのメッセージを
送信する。このステップS3は、ステップS10と並行
して実行することができる。処理実績の問い合わせは、
上述タスクの処理実績を問い合わせるものである。処理
実績問い合わせのメッセージには、例えば、タスクの内
容、問い合わせ元のエージェント1000、実行主体部1100
の属性が含まれる。この処理実績問い合わせのメッセー
ジを受け取った他のエージェント部1000B、Cは、ステッ
プS4a、4bで、処理実績を返信する。処理実績の内
容は、例えば、実行モジュール名、その実行モジュール
の属性、及びその処理完了までにかかった時間を含むリ
ストである。
【0030】この処理実績を受け取ったエージェント部
1000Aは、ステップS5で受け取った処理実績に基づ
き、処理時間が最小の実行モジュールを選択する。続い
て、ステップS6で、選択された実行モジュールの処理
実績、例えば、実行モジュール名とその処理完了までに
かかった時間を、検索依頼元である実行モジュール更新
部1110A2へ送信する。次に、処理実績を受け取った実行
モジュール更新部1110A2は、ステップS7で、自己が管
理する実行モジュールの処理実績とエージェント部1000
Aから送られてきたステップS5の処理実績とを比較
し、最適の実行モジュール、すなわち処理時間が最も短
い実行モジュールを決定する。もし、最適実行モジュー
ルが自己の実行主体部1100A2内にある場合には、その実
行モジュールを用いて処理を実行し、再びステップS1
から実行する。
【0031】もし、最適実行モジュールが他のエージェ
ント部1000B若しくはCにある場合には、ステップS8
で、実行モジュール更新部1110A2は、当該他のエージェ
ント部1000Bへ実行モジュール送信依頼のメッセージを
送信する。この実行モジュール送信依頼には、ステップ
S7で選択された実行モジュールのモジュール名、例え
ば、「実行モジュールE」が含まれる。実行モジュール
送信依頼を受け取った他のエージェント部1000Bは、ス
テップS9で依頼のあった実行モジュールを送信依頼元
である実行モジュール更新部1110A2へ送信する。この実
行モジュールを受け取った実行モジュール更新部1110A2
は、受け取った実行モジュールを実行モジュール格納部
1130に記憶させる。
【0032】以降、実行主体部1100A2が受け取った実行
モジュールを用いて、上述タスクを実行し直す。なお、
タスクが終了しそうなときは、現在の実行モジュールで
タスクの実行を続行し、実行し直しを行なわなくともよ
い。図2の場合には、ステップS8で、実行モジュール
Eを指定して実行モジュール送信依頼が送信され、ステ
ップS9で、コンピュータAとコンピュータBとを接続す
るネットワークを介して、エージェント部1000Bがエー
ジェント部1000Aに実行モジュールEを送信している。
【0033】この実施の形態1によれば、以上のように
実行モジュールを他のエージェントから転送することに
より、実行主体部1100が持っていない実行モジュールを
使用することができ、より高速かつ適切に処理要求にか
かる処理を実行することができる。特に、処理要求によ
っては実行モジュール適用規則に基づいて選択された実
行モジュールでは、アルゴリズムの不適等によりデッド
ロックを起こしてしまったり、極端に処理が遅延する等
の障害が発生する場合がある。この実施の形態1によれ
ば、かかる障害を検出し、他の実行モジュールに切り替
えるため、デッドロック、処理の遅延等を防止、抑制す
ることができる。
【0034】なお、上述の説明では実行モジュールの転
送について説明したが、実行モジュール適用規則につい
ても、実行モジュールの場合と同様に転送することがで
きる。この場合、ステップS2で送信する検索依頼は実
行モジュール適用規則にかかる検索依頼であり、ステッ
プS4a、S4b、及びS6で送信する処理実績は、例
えば、実行モジュール適用規則名とこの実行モジュール
適用規則によって選択された実行モジュールの処理時間
である。また、ステップS8で送信される送信依頼は、
実行モジュール適用規則送信依頼であり、実行モジュー
ル適用規則名を含む。また、ステップS5では、選択さ
れた実行モジュールによる処理時間が短かった実行モジ
ュール適用規則が選択される。
【0035】ステップS9では、実行モジュール適用規
則送信依頼に指定された実行モジュール適用規則が送信
される。送信された実行モジュール適用規則は、実行モ
ジュール格納部1100A2に記憶され、実行モジュール更新
部1100A2は受信した実行モジュール適用規則に基づいて
実行モジュールを選択し直す。そして、実行主体部1100
は、選択された実行モジュールに基づいてタスクを実行
し直す。なお、タスクが終了しそうなときは、現在の実
行モジュールでタスクの実行を続行し、実行し直しを行
なわなくともよい。また、記憶された実行モジュール適
用規則は、以降、実行モジュール更新部1100A2によって
実行モジュールの選択に利用される。以上により、より
良い選択を行なう実行モジュール適用規則に自動的に変
更され、処理速度向上、デッドロックの抑制等の効果を
得ることができる。
【0036】次に、この実施の形態1の細部について説
明する。エージェント部1000、実行主体部1100において
受け付ける処理要求には、実行主体部1100においてタス
クを実行する実行モジュールの追加、修正、削除、実行
制御パラメータの変更、又は実行モジュール適用規則の
追加、修正、削除要求も含まれるが、主としてタスク処
理、問題解決、サービス提供等である。エージェント部
1000は、通常1つのプロセスとして独立にプロセッサ時
間(CPUタイム)を割り当てられ実行される。また、
複数のプロセスにより構成し実行することも可能であ
る。実行主体部1100もエージェント部1000と同様に通常
1つのプロセスとして独立にプロセッサ時間を割り当て
られ実行される。また、複数のプロセスにより構成し実
行することも可能である。
【0037】この実施の形態1に係る自律協調処理装置
は、エージェント部1000と実行主体部1100とは、互いに
分離独立した構成要素であるが、仮想リンクにより束縛
しあっている。分離独立とは、独自に稼動する別プロセ
スとして実行されることを意味する。図1において、エ
ージェント部1000は、他のエージェント部1000を含む外
部あるいは実行主体部1100から発信された情報を受付、
また前記エージェント部1000と他のエージェント部1000
を含む外部あるいは実行主体部1100に向けて情報を発信
するエージェント受付発信部1010と、エージェント受付
発信部1010において受け付けた処理要求、或いは指示の
処理プランの策定または策定した処理プランの処理の実
行状況に応じてその処理プランを再プランニングする処
理プラン策定部1020と、上述処理プランの策定を行なう
処理プラン策定モジュールを格納する策定モジュール記
憶部である処理プラン策定モジュール格納部1030と、処
理プラン策定部1020において作成した処理プランの処理
とその処理プランの処理状況に応じた処理プランの変更
または、処理プランの処理法の変更などの管理をするプ
ラン実行管理部1040と、エージェント部1000が管理する
実行主体部1100の稼動状況に応じた実行主体部1100の実
行制御の管理を行なう実行主体管理部1050とからなる。
【0038】実行主体部1100は、エージェント部1000か
らの処理要求、或いは指示を受付、また、実行主体部11
00への処理要求、或いは指示を含む情報をエージェント
部1000へ発信する実行主体受付発信部1140と、エージェ
ント部1000より受け付けた処理要求、或いは指示に従っ
て、適宜必要に応じて推論あるいは、問題解決を行ない
実行モジュール格納部1130より実行モジュールを選択し
実行する処理実行部である実行部1120と、実行部1120に
おける処理状況、エージェント部1000より受け付けた処
理要求、或いは指示を含む情報に応じて自律した判断に
基づき適宜実行モジュール格納部1130の実行モジュー
ル、実行モジュール適用規則を動的に追加、修正、削除
を行い、さらに、実行モジュールの制御パラメータの変
更を動的に行なうモジュール適用規則転送部、若しくは
実行モジュール転送部である実行モジュール更新部1110
から構成される。また、上述の実行モジュール格納部11
30は、実行モジュール記憶部である。
【0039】エージェント受付発信部1010は、外部ある
いは他の異なるエージェント部1000より処理要求、或い
は指示を含む情報を受け取る。ここで、受け取る情報
は、エージェント部1000に依頼したいタスク処理や、問
い合わせ、エージェントの処理プラン策定手法の変更、
処理プラン策定モジュールの追加、修正、削除等であ
る。上述受付た処理要求、或いは指示を含む情報をエー
ジェント受付発信部1010内の評価部1080において評価を
行ない、その評価結果に基づいて、処理要求、或いは指
示を受理したり、拒否したりする。また、評価結果ある
いは受け付けた要求を要求元(情報発信元)に送り返し
たり、外部あるいは他のエージェント部1000に処理要
求、或いは指示を転送する。また、受け付けた処理要
求、或いは指示を評価部1080の評価結果に関係なく一方
的に処理要求を受理したり、拒否することもできる。受
け付けた処理要求、或いは指示あるいはその他の情報
は、処理プラン策定部1020に渡される。
【0040】処理プラン策定部1020は、処理プラン策定
モジュールを処理プラン策定モジュール格納部1030より
選択し、選択した処理プラン策定モジュールを実行して
処理プランを策定する。ここで、処理プラン策定モジュ
ールとは、エージェント受付発信部1010より受け取った
処理要求或いは指示を処理する手順である処理プラン
を、システムの処理状況に基づき作成するモジュールで
ある。また、処理プラン策定部1020は、策定した処理プ
ランの処理状況に応じてその処理プランを再プラニング
する。
【0041】プラン実行管理部1040は、処理プラン策定
部1020において策定された処理プランの実施の指示とそ
の進捗管理を行なう。すなわちプラン実行管理部1040
は、他のエージェント部1000に処理を依頼したり、自ら
が管理している実行主体部1100に対して処理を依頼し、
処理プラン通りに処理結果が得られているか、予定通り
に処理が実施されているか、チェックし、問題があれば
その回避策の検討、処理プランの修正変更を処理プラン
策定部1020に依頼したり、他の処理プランに乗り換える
など実施する処理プランの動的な切り替えを行なう。
【0042】実行主体管理部1050は、1つあるいは複数
の実行主体部1100から進捗状況、処理結果や要求を受け
付けるなど、実行主体部1100の稼動状況を管理し、その
稼動状況に応じて実行主体部1100の実行制御を行なう。
例えば、実行主体部1100の稼動状況に応じて、制御パラ
メータを変更したり、処理を依頼する実行主体部1100を
動的に変更する。また、プラン実行管理部1040より受け
た指示に応じて、実行主体部1100内の実行モジュール格
納部1130に格納された実行モジュールの追加、修正、削
除の指示や、実行部1120における実行モジュール適用の
条件/判断規則の追加、修正、削除の指示を実行主体部
1100内の実行モジュール更新部1110に対して行なう。
【0043】実行モジュール更新部1110は、エージェン
ト部1000内の実行主体管理部1050より受け付けた実行モ
ジュール/実行モジュール適用規則の更新指示、あるい
は、実行主体部1100の実行状況/要求に応じて、実行モ
ジュール格納部1130の実行モジュールまたは実行部1120
の実行モジュール適用規則を追加、修正、削除する。実
行モジュール格納部1130に格納する実行モジュールは、
エージェント部1000より受け取ったり、エージェント部
1000が指示するデータベースあるいは異なるエージェン
ト部1000より入手する。
【0044】実行部1120は、エージェント部1000内の実
行主体管理部1050の指示、あるいは実行主体部1100内の
稼動中の実行モジュールの指示に従って、実行する実行
モジュールを実行モジュール適用規則に則り、実行モジ
ュール格納部1130から選択し、稼動中の実行モジュール
に代えて新たに選択した実行モジュールを実行したり、
稼動中の実行モジュールの処理を中断することなく選択
した実行モジュールを実行する。
【0045】次に、その動作について説明する。まず、
外部プロセスあるいは他のエージェント部1000からの処
理要求、或いは指示に従って、実行主体部1100内の実行
モジュール、実行モジュール適用規則を追加、修正、削
除する動作について説明する。
【0046】エージェント部1000内のエージェント受付
発信部1010において、外部あるいは他のエージェント部
1000からの実行主体部1100内の実行モジュール、実行モ
ジュール適用規則の追加、修正、削除を指示するメッセ
ージを受け取る。そのメッセージは、追加、修正、削除
を指示する命令、追加、修正、削除を命令するプロセス
/ユーザ名、追加、修正、削除する実行モジュール/実
行モジュール適用規則、追加削除修正する条件からな
る。ここで、メッセージに含める、追加、修正、削除す
る実行モジュール若しくは実行モジュール適用規則の代
わりに、追加、修正、削除すべき実行モジュール若しく
は実行モジュール適用規則が保管されているデータベー
スあるいはそのモジュールを管理しているアプリケーシ
ョンプロセス名でもよい。
【0047】追加、修正、削除する条件とは、追加、修
正、削除する期日/期限、追加、修正、削除を実施する
システム処理状況、システム変数値、システム属性値の
条件とそのときの追加、修正、削除の仕方、そのときに
追加、修正、削除する実行モジュール/実行モジュール
適用規則、メッセージ発信者の追加、修正、削除の要求
を受け入れてくれた場合のメッセージ発信者が行なう処
理内容等を示したものである。エージェント受付発信部
1010は、受け取った上述メッセージの内容を評価し、受
け付けるか否かを判断する。
【0048】評価は、エージェント受付発信部1010内の
評価部1080において行なう。例えば、メッセージの発信
者によって、命令に従うか、拒否するかを決定する。ま
た、上述メッセージの追加、修正、削除の条件によっ
て、メッセージに従うか、拒否するかを決定したり、メ
ッセージ発信者との合意を得られる追加、修正、削除の
条件をメッセージ発信者とコミュニケーションしながら
策定する。例えば、評価部1080が受け入れられない条件
を受け取ったとき、追加、修正、削除要求を受け入れる
ことのできる条件を相手に送信し、相手の判断結果が送
られてくるのを待ち、受け取り次第再度評価を行ない、
先に述べた処理を繰り返し、妥協できるときは、相手の
処理要求を受け入れ、妥協できないときは、拒否すると
いった処理を行なう。
【0049】拒否する場合、メッセージ発信者に拒否す
る旨を通知したり、要求を他のエージェント部1000に転
送する。処理要求を受け付ける場合、エージェント受付
発信部1010は、受理した追加、修正、削除要求を処理プ
ラン策定部1020に通知する。処理プラン策定部1020は、
エージェント受付発信部1010より受け付けた要求を実現
する処理プランを1つあるいは複数個作成する。
【0050】処理プラン策定部1020は、受け取ったメッ
セージの構文解析をおこなう公知のメッセージ解析部、
メッセージの解析時に利用する各種メッセージに固有の
データからなるメッセージ解析データベース部、各種メ
ッセージをプラン実行管理部1040で実行可能なスクリプ
ト言語からなる処理プランへ変換するプラン生成部から
なる。メッセージ解析データベース部では、受付処理す
る可能性のあるメッセージの解析に必要なデータを持ち
合わせている。また、これらの各種メッセージに固有の
データは、各種メッセージごとに分離独立して管理され
ており、適宜必要なときに各種メッセージごとに追加、
修正、削除することが可能である。
【0051】メッセージ解析部は、メッセージ解析デー
タベース部のデータを利用して、処理プランを生成する
処理プラン策定モジュールを選択し、選択した処理プラ
ン策定モジュールを実行し、スクリプト言語からなる処
理プランを生成する。この処理プランには、タスクの内
容を示す記述が含まれている。処理プラン策定モジュー
ルは、各種メッセージごとに分離独立してプラン生成部
に格納されており、適宜必要に応じて追加、修正、削除
することが可能である。この処理プラン策定モジュール
は、メッセージに対応する処理プランのテンプレートを
持ち、そのテンプレートにメッセージ固有の情報を埋め
込んで処理プランとして、スクリプトを出力する。しか
しながら、処理プラン策定モジュールは、テンプレート
を用いることなく、スクリプトを直接生成するように実
現することも可能である。
【0052】処理プランは、予め作成されたスクリプト
言語からなるテンプレートに各種メッセージに固有の情
報、例えば、制御パラメータ、属性情報、追加、修正、
削除する実行モジュール等のデータを書き加えたもので
ある。スクリプトは、プロダクションシステムを実現し
た命令コマンドを含むリスト構造のテキストからなる。
例えば、プロダクションシステムを実現するスクリプト
は、(rule (利用する一時記憶データベース部
+ 初期データ) (条件部−>実行部)(条件部−>
実行部)...) のように記述され、 一時記憶デー
タベース部に記述されたデータにより、条件部に記述さ
れた条件がすべて満足されたルールの実行部が順次実行
される。
【0053】実行部は、一時記憶データベース部のデー
タを追加、修正、削除することにより、新たに実行可能
ルールを選定する。実行部において、このruleコマ
ンドを抜け出す命令を実行するまで、この処理が繰り返
される。初期データは、(アイテム1 アイテム2
...)のように複数のアイテムからなるリスト構造
からなるデータである。条件部は、このリスト構造の各
アイテムが一致するかまたはアイテムが条件を満足する
場合、実行可能ルールとなり、実行部が実行される。条
件部は、1つまたは複数のリストより構成される。実行
部は、実行主体部1100の実行モジュールの追加、修正、
削除を指示する命令を含む指示等をエージェント受付発
信部1010に送出するスクリプトからなる。
【0054】処理プラン策定部1020は、作成した処理プ
ランをプラン実行管理部1040に送出する。プラン実行管
理部1040は、受け取った処理プランを実行する。複数の
処理プランを受け取った場合は、優先順位の大きい処理
プランを実行するか、または処理プランの指示に従って
処理を順次実行する。処理プランの中で、実行主体部11
00の実行モジュール/実行モジュール適用規則の追加、
修正、削除を指示するスクリプトが実行されると、ただ
ちに、その指示がエージェント受付発信部1010に通知さ
れる。エージェント受付発信部1010は、上述通知を受け
取るとただちに指定された実行主体部1100の実行主体受
付発信部1140に対して、タスクの実行命令を通知する。
【0055】上述命令を受け取った実行主体受付発信部
1140は、受け取った命令を実行モジュール更新部1110に
送信する。実行モジュール更新部1110は、受け取った命
令を分析し、指示に従うか、従わなければならないか、
拒否するかを自律した判断に基づき決定する。命令に従
うと判断を下した場合、実行モジュール更新部1110は、
指示に従って、実行モジュール格納部1130内の実行モジ
ュール/実行モジュール適用判断規則を修正削除し、ま
たは実行モジュール格納部1130内に実行モジュール/実
行モジュール適用判断規則を追加する。追加、修正、削
除の条件が付けらているときは、その条件に従って追
加、修正、削除する。例えば、ある属性値が提示された
条件に満足するときのみ追加、修正、削除する場合は、
その属性値をチェックして条件に合致するとき、追加、
修正、削除を実施する。
【0056】また、指示がある属性値が条件を満たして
いるときに追加、修正、削除を実施し、その属性値が条
件に合わなくなったら元に戻すといった場合もある。そ
の場合は、実行モジュール更新部1110は、その属性値を
監視し、条件に合致すると命令に従って、追加、修正、
削除を実施する。条件を満たさなくなったら、直ちに実
行モジュール/実行モジュール適用判断規則を元に戻
す、といった処理を行なう。
【0057】タスク処理データベース部1140は、図5に
示すように、実行主体部1100が処理したタスクとその処
理に利用した実行モジュール、処理結果(成功/失敗)、
処理回数、処理時間(CPUタイム:最高、最小、平均)を
登録保管したものである。制御パラメータは、実行モジ
ュールの実行時に引数として与えたパラメータである。
成功/失敗は、実行モジュールにてタスクを処理した結
果、処理が正常に完了した場合を成功とし、完了できな
かった場合、例えば、間違った処理をしたり、その処理
の実行時に指定されるCPU時間内で結果が得られなか
った場合、失敗とする。種類とは、実行モジュールのカ
テゴリを示すもので、例えば、実行主体部1100に固有の
ものを1とし、他の実行主体部1100より入手したものを
2とし、実行モジュールデータベース部より入手したも
のを3という数値で表す。
【0058】さらに、リスト形式にて、利用可能期間と
入手先を明示する。例えば,1(1997.11.12 altair)
というように記述する。共有のレベルには、実行主体部
1100にタスクを処理した実行モジュールの問い合わせが
来たときに、 1:タスクを処理したことがあることを通知 2:タスクを処理した実行モジュール名を提供 3:タスクを処理した実行モジュールを貸与(期間限
定) 4:タスクを処理した実行モジュールを譲渡(期間限定
なし) 5:実行モジュールの提供を依頼してきた依頼者の属性
により、1〜4を使い分ける といったように、実行モジュールに関する情報/実行モ
ジュールを問い合わせ先のエージェント部1000に通知/
提供する。
【0059】また、実行モジュールのコピーの数に制限
が加えられているものもある。コピーに制限が加えられ
ていて、コピーが作れない場合、自分の実行モジュール
を条件付きで相手に渡すか、あるいは、コピーが作れな
いという理由で、相手に実行モジュールを提供すること
を拒否する。
【0060】実行主体部1100内の実行モジュール更新部
1110が、実行部1120の処理状況を監視して、その処理状
況に応じて実行モジュール格納部1130に格納されている
実行モジュール/実行モジュール適用規則を変更する動
作について説明する。
【0061】実行モジュール更新部1110は、実行部1120
の処理状況を監視し(ステップS1)、処理状況が以下
の(1)〜(4)になったとき、以下に示すように実行
モジュールを更新する。 (1) 他の実行主体部1100において同じタスクを処理
した異なる実行モジュールの中で、最も短時間で処理し
た実行モジュールの処理時間(CPU時間)より、現在処理
している、或いは処理したタスクのCPUタイムの方が大
きい場合、その最速処理した実行モジュールに変更す
る。
【0062】(2)処理中のタスクの処理時間がある決
まった時間、例えば、最速処理時間の3倍といった時間
を超えたり、タスクを処理中である実行モジュールの貸
与期限が過ぎた場合、そのタスク処理を中断し、そのタ
スクを処理できる実行モジュールを他の実行主体部1100
或いは、実行モジュールデータベース部7000より入手
し、入手した実行モジュールを用いて当該タスクを実行
する。実行モジュールデータベース部7000は、複数の実
行モジュール及びその属性を記憶するデータベースであ
り、異なるエージェント部1000に属する複数の実行主体
部1100がアクセスできるように接続されている。なお、
前出2つのケース(1)(2)において、実行モジュー
ルを変更しないようにすることもできる。これは、エー
ジェント部1000の指示あるいは、実行主体部1100の実行
モジュール更新部1110の判断により決定される。
【0063】(3)実行部1120において処理した処理結
果を他のプロセスあるいは実行主体部1100を操作してい
るユーザが受け取れないということで再度タスク処理要
求を実行部1120に対して指示してきた場合、再度タスク
処理すると前回と異なる結果が得られる場合は、再度同
じ実行モジュールを使って処理を繰り返す。再度処理し
ても結果が同じ場合は、他の実行主体部1100で処理を完
遂した実行モジュールあるいは、実行モジュールデータ
ベース部7000に登録されている実行モジュールに変更し
て、タスクを処理する。
【0064】この(3)の処理フローを図6に示す。図
6において、図3と同一の符号は同一又は相当の部分を
表しており、図3のステップS1は、図6に示すように
ステップS1A〜S1Cに分けられる。まず、ステップ
S1Aにおいて、実行モジュール更新部1110は、実行主
体部1100の操作者あるいは、エージェント部1000より、
タスクの再処理指示を受け取ったか否かを判断する。受
け取った場合には、ステップS1Bに進み、受け取らな
い場合はステップS1Cに進む。ステップS1Cでは、
実行モジュール更新部1110が、他の観点、すなわち前述
処理状況(1)及び(2)、さらには、後述の処理状況
(4)が発生しているかを判断し、ステップS2〜S9
の実行モジュール更新処理を行なう。
【0065】一方、ステップS1Bでは、実行モジュー
ル更新部1110が、タスクの再処理を同じ実行モジュール
を用いて処理した場合、前回と処理結果が異なるか否か
を判定する。この判定は、実行モジュールの実行に際し
て、入力パラメータ、利用するデータが前回と異なるか
どうかにより判定する。繰り返し実行しても同じである
と判断した場合は、ステップS2及びステップS10に
進み、タスクを再処理する実行モジュールを変更する。
この処理は、図3を用いて説明した通りである。処理結
果が異なる可能性があると判断した場合は、ステップS
12に移行し、実行モジュール更新部1110が実行部1120
に、同じ実行モジュールを用いてタスクの処理を再実行
することを指示する。ステップS12が終了すると、ス
テップS1に戻る。ステップS2からの処理について
は、後述で詳細に説明する。
【0066】(4)エージェント部1000より強制的にタ
スク処理を指示されたとき、実行主体部1100内の実行モ
ジュール格納部1130にそのタスクを処理できる実行モジ
ュールを持ち合わせていない場合、実行モジュール更新
部1110は、そのタスクを処理できる実行モジュールを他
の実行主体部1100あるいは、実行モジュールデータベー
ス部7000を検索し最適な実行モジュールを抽出する。そ
の抽出された実行モジュールを実行主体部1100内の実行
モジュール格納部1130に追加する。
【0067】ステップS1では、上述処理状況(1)〜
(4)のすべての判断を行なってもよいし、一部のみの判
断を行なうように構成することも可能である。一例とし
て、例えば、図2の実行主体部1100A2において、タスク
Aを実行モジュールAを使って処理している場合を考え
る。タスクAの処理がタスクAの属性として設定されてい
る処理CPU時間を超えて、処理がなされなかった場合(処
理状況(2))、実行モジュール更新部1110A2は、エージ
ェント部1000Aに実行モジュールの検索を依頼する。こ
こで、実行部1120が処理しているタスクと同じタスクA
を異なる実行モジュールにて処理したことのある実行主
体部1100の検索を依頼する。この処理を一度実行した場
合は、特に毎回実行しなくともよい(ステップS2)。
【0068】エージェント部1000Aは、他のエージェン
ト部1000B、Cに問い合わせを行い、タスクAを処理する
ことのできる実行モジュールを持ち合わせている実行主
体部1100を探す(ステップS3、S4a、S4b)。特
に、ステップS4a、S4bでは、問い合わせを受けた
エージェント部1000B、Cは、タスクAの処理に要したCPU
時間を含む情報を問い合わせをしてきたエージェント部
1000Aに通知する。なお、この処理CPU時間を提供しても
よいと判断した場合に限って通知することとしてもよ
い。この判断は、問い合わせてきたエージェント部1000
Aの持つ属性、例えば、ユーザの称号、肩書き等などに
応じて、情報の提供の可否を決定する。また、公開すべ
きでない情報であるとエージェント部1000B、Cにおいて
決めた場合は、情報の提供を拒否することになる。ま
た、「譲渡」あるいは「貸与」できない属性を有する実
行モジュールに関しては、CPU時間等の処理実績を通知
しないようにしてもよい。
【0069】また、検索依頼元である実行モジュール更
新部1110A2は、ステップS3と並行して、自己の実行主
体部1100A2内に記憶されている実行モジュールからタス
クAを処理できる実行モジュールの検索を行う。そし
て、処理実績のある実行モジュールを優先して検索す
る。処理実績のある実行モジュールが存在する場合は、
その実行モジュールの利用が可能であることを確認し、
利用できるものの中から、最速の実行モジュールを抽出
する(ステップS10)。この際、必要に応じて、実行
モジュールデータベース部7000に記憶された実行モジュ
ールを検索し、検索した実行モジュール及び自己の実行
主体部1100A2が持つ実行モジュールの中から最速の実行
モジュールを抽出するようにしてもよい。特に、上述処
理状況(4)の場合には、実行主体部1100A2が処理できる
実行モジュールを有していない場合であるので、多くの
実行モジュールを検索できる点で有効である。
【0070】実行モジュールが複数発見されるとその中
で、利用可能であって、最も高速に処理した実績のある
実行モジュールが選択される(ステップS7)。すなわ
ち、転送(貸与/贈与)可能であって、処理CPU時間が最も
値の小さい実行モジュールEを抽出する。このとき、実
行モジュール更新部1110は、実行部1120が処理している
タスクAの処理時間(CPU時間)T2と、ステップS6にて抽
出した実行モジュールEのタスクAの処理CPU時間T1とを
比較し、比較の結果T1<T2である場合には、ステップS
8以降を実行せずに、タスクを処理する実行モジュール
を変更する処理を行わなくともよい。その場合には、再
びステップS1の処理に移る。T1>T2の場合には、次の
ステップS8からの処理を実行する。
【0071】そして、図2では、エージェント部1000A
は、エージェント部1000Bに対して、実行モジュールEの
転送(貸与/贈与)を依頼する(ステップS8)。エージ
ェント部1000Bは、依頼に対して、タスクAの処理を完遂
した実行モジュールAを外に出してよいかの判定を下
し、出して良いと判断されたときは、次いで、提供の仕
方について検討する。提供の仕方は、期間限定で、第三
者への情報の提供(エージェント部1000Bから実行モジュ
ールEを提供してもらったことなど)の制限、第三者への
実行モジュールEの提供(譲渡/貸与)の制限等を加えて、
実行モジュールEの提供を要求してきたエージェント部1
000Aの実行モジュール更新部1110A2に向けて送信する。
ここで、第三者への実行モジュールEの提供(譲渡/貸与)
の制限には、例えば、 (イ)第三者への貸与/贈与は一切認めない、 (ロ)特定のエージェント部1000に対してのみ、実行モ
ジュールを貸与/譲渡することを許可する、 (ハ)第三者への貸与/譲渡は自由である、 等の種類がある。また、実行モジュールBを実行モジュ
ールデータベース部7000より抽出した場合は、実行モジ
ュール更新部1110A2にて、実行モジュールデータベース
部7000から上述諸条件を抽出する。
【0072】エージェント部1000Bは、実行主体部1100B
から、実行モジュールEを受け取り、その実行モジュー
ルEをエージェント部1000Aに転送する(ステップS
9)。転送時、転送する実行モジュールEの貸与あるい
は贈与の別、貸与の場合は、利用期限を合わせて通知す
る。実行主体部1100Aは、エージェント部1000Aから実行
モジュールEを受け取り、実行モジュール格納部1130に
記憶する。すなわち、実行モジュール更新部1110は、受
け取った実行モジュールEを実行モジュール格納部1130
に格納し、タスクAの処理に当てる。これまで、タスクA
の処理を担当していた実行モジュールAは、以下の判断
に基づいて処理される。 (ニ)エージェント部1000Bより受け取った実行モジュ
ールEが期間限定である場合、期間終了後のことを考え
て、実行モジュールAは廃棄せずに保管する。 (ホ)期間が限定されている場合でも廃棄する。 (ヘ)実行モジュールAが譲渡された実行モジュールで
ある場合は、廃棄する。 (ト)譲渡された場合でも、実行モジュールAが他の異
なるタスクを処理できる場合、その機能を利用したいと
判断した場合は、廃棄しない。
【0073】図2の例では、実行モジュールAを削除
し、実行モジュールDをそれに代えて、実行モジュール
格納部1130に登録している。上述のように、この実行モ
ジュールAの削除は必ずしも行わなくてもよい。ここ
で、転送された実行モジュールの属性が「貸与」の場合
には、利用期限内でのみ使用することができる。贈与の
場合は、転送先における利用期間は無期限である。
【0074】実行モジュール更新部1110の実行モジュー
ル登録の処理が終了した後、直ちに、実行部1120に対し
て、タスクAの処理を新規に登録した実行モジュールEを
用いて再開するように指示する。
【0075】なお、エージェント部1000の処理プランの
進捗状況に応じて実行モジュール、若しくは実行モジュ
ール適用規則を変更することもできる。次に、プラン実
行管理部1040が処理プランの進捗状況に応じて、実行主
体部1100の実行モジュール、若しくは実行モジュール適
用規則の追加、修正、削除を行なう動作について説明す
る。
【0076】エージェント部1000が実行主体部1100に依
頼した処理の進捗が著しく遅れている場合、あるいは実
行主体部1100から実行主体管理部1050を通してプラン実
行管理部1040に送られてきた、依頼した処理の処理結果
が思わしくなく問題がある場合、あるいは、他エージェ
ント部1000より処理の高速化、あるいは処理の手法の改
善要求を受け付けた場合、プラン実行管理部1040は、実
行途上にある処理プランを別の代替案に変更するか、処
理プランの制御パラメータ/属性情報を変更するか、処
理プラン策定部1020に処理プランの再プランニングを依
頼するか、処理プラン通りに実行主体部1100の実行モジ
ュール/実行モジュール適用規則を別の実行モジュール
/実行モジュール適用規則に修正/変更するか、新たに
別の実行モジュール/実行モジュール適用規則を追加す
るかを決定する。
【0077】どの処理案を選択するかは、プラン実行管
理部1040の自律した判断に基づいて決定される。プラン
実行管理部1040が取りうる手立ての中から最適な手法を
選択する。何が最適かの判断は、処理プランにその指示
が記述されている場合は、その指示に従って採択すべき
最適な手立てを決定する。記述がない場合は、持ち合わ
せている代替処理プランに変更するか、処理プラン策定
部1020に処理プランの再プランニングを要求する。ここ
では、プラン実行管理部1040が処理プランの指示に従
い、実行モジュール/実行モジュール適用規則の追加、
修正、削除案を採用したとする。
【0078】プラン実行管理部1040は、処理プランの指
示に従い、実行モジュール/実行モジュール適用規則の
追加、修正、削除の指示を実行主体管理部1050に通知す
る。実行主体管理部1050は、エージェント受付発信部10
10を通して、実行主体部1100に通知し、実行主体部1100
の実行モジュール更新部1110に実行モジュール/実行モ
ジュール適用規則の追加、修正、削除を指示する。
【0079】さらに、実行主体管理部1050が、実行主体
部1100の実行モジュール/実行モジュール適用規則の追
加、修正、削除の指示を行なう更なる動作について説明
する。実行主体管理部1050が、実行主体部1100の実行モ
ジュール/実行モジュール適用規則の追加、修正、削除
の指示を行なうフェーズは上述説明以外にさらに2つあ
る。
【0080】そのひとつは、プラン実行管理部1040より
処理の指示を受け取ったタスクの処理の依頼をしている
実行主体部1100の処理の進捗状況により、実行主体管理
部1050の自律した判断に基づき、その実行主体部1100の
実行モジュール/実行モジュール適用規則の追加、修
正、削除の指示をエージェント受付発信部1010を通して
行なうフェーズである。もう一つは、自らが管理してい
る実行主体部1100からの要請に基づいて、実行モジュー
ル/実行モジュール適用規則の追加、修正、削除の指示
を実行主体部1100に対して行なうフェーズである。
【0081】例えば、実行主体管理部1050が複数の実行
主体部1100を管理しているとする。同じタスクの処理を
同時にすべての実行主体部1100に依頼したとする。実行
主体部1100の実行モジュール/実行モジュール適用規則
は、すべて異なるものとする。そのとき、ある実行主体
部1100の処理が著しく遅くしかも処理結果が他の実行主
体部1100より劣る場合、実行主体管理部1050は、処理速
度がもっとも早くしかも処理結果が良好な実行主体部11
00の実行モジュール/実行モジュール適用規則を上述実
行主体部1100の実行モジュール/実行モジュール適用規
則に変更する指示をエージェント受付発信部1010を通し
て、実行主体部1100に通知する。
【0082】また、差し替える実行モジュール/実行モ
ジュール適用規則の持合せがない場合、差し替える実行
モジュール/実行モジュール適用規則の策定をプラン実
行管理部1040に依頼する。プラン実行管理部1040は、策
定依頼を受け取った実行モジュール/実行モジュール適
用規則の所在をその他のエージェント部1000を通して検
索する。所在がわかると直ちにその実行モジュール/実
行モジュール適用規則の転送を依頼する。受け取ると、
受け取ったモジュール/適用規則を実行モジュール更新
部1110に伝送する。
【0083】実行モジュール更新部1110は、実行部1120
において実行中の実行モジュール/実行モジュール適用
規則の実行を取り止め、実行モジュール格納部1130内の
実行モジュール/実行モジュール適用規則を修正削除
し、また、実行モジュール格納部1130に実行モジュール
/実行モジュール適用規則を追加する。実行部1120に対
して、追加修正された実行モジュールに切り替えて実行
を開始するか、または、削除された実行モジュールに変
えて別の実行モジュールを実行するように指示を出す。
【0084】上述システムでは、実行主体部1100の処理
速度、処理効率を向上させることができ、さらに、実行
主体部1100の計算機上での実装効率を向上させることが
可能となる。
【0085】(i)なお、実行主体部1100が使用する実行
モジュール若しくは実行モジュール適用規則の変更は、
エージェント部1000が行なってもよい。この場合には、
エージェント部1000に実行モジュール更新部1110を設け
る。エージェント部1000の実行モジュール更新部1110
は、処理要求の進捗状況、個別のタスクの進捗状況に基
づいて、実行モジュール若しくは実行モジュール適用規
則の変更を行なう必要性を判断し、変更が必要と判断し
たときは、エージェント部1000から実行主体部1100へ、
実行モジュール若しくは実行モジュール適用規則の変更
を指示する。変更の指示以降の処理は、図3のステップ
S2以降の処理を行なう。この場合には、ステップS2
は省略することもできる。また、ステップS7の最適モ
ジュールの決定は、エージェント部1000Aの実行モジュ
ール更新部1110が行なってもよい。
【0086】実施の形態2.実施の形態2は、エージェ
ント部1000に、処理プラン策定モジュール若しくは処理
プラン策定モジュール適用規則を適宜動的に変更する機
構を設けることにより、エージェント部1000の処理効率
を向上させ、エージェント部1000の実装効率を向上させ
るものである。
【0087】図7は、この実施の形態2の自律協調処理
システムの機能ブロック図である。図7において、図1
と同一の符号は同一又は相当の部分を表している。1060
は、外部から受け付ける処理要求若しくは指示を含む情
報、あるいは、エージェント部1000や実行主体部1100等
の外部の処理状況に基づいて、適宜動的にエージェント
部1000内の処理プラン策定モジュール若しくは処理プラ
ン策定モジュール適用規則の追加、変更、削除を行なう
モジュール転送部である策定モジュール更新部である。
【0088】図8は、この実施の形態2の自律協調処理
システムにおける処理プラン策定モジュールの転送処理
を説明する機能ブロック図である。図8において、図7
と同一の符号は同一又は相当の部分を表している。ここ
で、それぞれのエージェント部1000A〜Bには、図8に示
したように処理プラン策定モジュールA〜Eが記憶されて
おり、例えば、エージェント部1000Aの処理プラン策定
モジュール格納部1030Aには、処理プラン策定モジュー
ルA〜Cが記憶されており、エージェント部1000Bの処理
プラン策定モジュール格納部1030Bには、エージェント
部1000Aの実行モジュールとは異なる処理プラン策定モ
ジュールD及びEが記憶されている。ここで、処理プラン
策定モジュールとは、処理要求に対する処理プランを作
成するモジュールであり、独立したプログラムであって
もよいし、処理プランを作成する1つ又は複数のルーチ
ンであってもよい。この処理プラン策定モジュールは、
この発明の策定モジュールである。
【0089】次に、図8を用いて策定モジュールの転送
処理を説明する。ここで、例えば、エージェント部1000
Aの処理プラン策定部1020が処理プラン策定モジュールA
を用いて策定した処理プランに従って、実行主体部1100
がタスクを実行していたとする。このとき、実行主体部
1100のタスクの処理の進捗状況がよくなかったり、処理
プラン全体の進捗状況がよくない等の処理プランの実行
状況に問題がある場合には、処理プランの作成の仕方に
問題があることが考えられる。そのため、エージェント
部1000Aは、処理プランを作成し直す。
【0090】まず、他のコンピュータB又は自己のコン
ピュータA内により適切な処理プランを作成できる処理
プラン策定モジュールがないかを調べる。調べた結果、
例えば、コンピュータBの処理プラン策定モジュールEが
過去により高速な時間で同一の処理要求を実行したこと
を検出すると、エージェント部1000Aは、エージェント
部1000Bに対して、当該処理プラン策定モジュールEを送
信するように要求する。この処理プラン策定モジュール
送信要求を受け取ったエージェント部1000Bは、エージ
ェント部1000Aに対して処理プラン策定モジュールEを送
信する。エージェント部1000Aは、受け取った処理プラ
ン策定モジュールEを用いて処理プランを作成し直し、
作成し直した処理プランを用いて処理要求を処理する。
【0091】このように、この実施の形態2の自律協調
処理システムでは、エージェント間で処理プラン策定モ
ジュールを処理要求の実行状況や、処理要求に応じて転
送するため、より効率のよく処理要求を処理することが
でき、また、処理プランに問題がある場合のデッドロッ
クを抑制することができ、さらに、エージェント自体が
処理要求に対する処理プラン策定モジュールを有してい
ない場合でも、他のエージェントから処理プラン策定モ
ジュールを転送することによって、処理要求を実行でき
るようになるため処理要求の受付先の柔軟性が増し、シ
ステム全体の処理効率が大幅に向上するという効果が得
られる。
【0092】つぎに、この実施の形態2の自律協調処理
システムの詳細について説明する。エージェントモジュ
ール更新部1060の機能ブロック図を図9に示す。図9に
おいて、1061は処理プラン策定部1020より受け取った、
処理プラン策定モジュール若しくは処理プラン策定モジ
ュール適用規則の変更要求に従って、他エージェント部
1000から処理プラン策定モジュール受け取る処理プラン
策定モジュールの検索を行う検索部である。
【0093】1062は、検索部1061が検索した処理プラン
策定モジュールの取り込みを要求通りに実施することが
できるかどうか、すなわち、検索された代替或いは追加
の候補処理プラン策定モジュールの借用若しくは譲渡の
依頼が可能であるかなどを調査し、要求通りに変更でき
るかどうかを判断する変更可否判定部である。
【0094】1063は、(1)変更可否判定部1062の指示に
応じて、処理プラン策定モジュール若しくは処理プラン
策定モジュール適用規則の借用若しくは譲渡の依頼先で
あるエージェント部1000に、上述策定モジュール若しく
は適用規則の借用若しくは譲渡を依頼し、(2)入手した
上述策定モジュール若しくは適用規則を処理プラン策定
モジュール格納部1030に格納し、(3)入手したモジュー
ルに変更しようとするモジュールが稼動中である場合
は、処理プラン策定部1020に変更するモジュールを入手
したことを通知し、(4)処理プラン策定部1020からの指
示により、処理プラン策定モジュール格納部1030のモジ
ュールを置換し、(5)モジュールが稼動していない場合
は直ちにモジュールの置換を行い、モジュールを追加す
る場合は、直ちにモジュールの追加を行い、(6)モジュ
ールの追加処理を行ったことを、処理プラン策定部1020
に通知する策定モジュール更新処理部である。
【0095】(ステップS11)処理プラン策定部1020
は、プラン実行管理部1040より受け取った処理プランの
策定要求(要求及びタスク名)に基づき、そのタスクを処
理する処理プランの策定を行う。処理プランの策定は、
処理プラン策定部1020内の処理プラン策定モジュール適
用規則に基づいて、処理プラン策定モジュール格納部10
30より、必要な策定モジュールを選択し、選択した処理
プラン策定モジュールを用いて処理プランを作成し、作
成された処理プランをプラン実行管理部1040に渡す。し
かし、タスクの処理プランを作成することのできる処理
プラン策定モジュールが、処理プラン策定モジュール格
納部1030に存在しない、或いは、処理プラン策定部1020
内の処理プラン策定モジュール適用規則にそのタスクの
処理プランの作成のできる処理プラン策定モジュールを
指示する適用規則がない場合、受け取ったタスクの処理
プランの作成はできないため、エージェントモジュール
更新部1060に、処理プランの作成ができる処理プラン策
定モジュール又は処理プラン策定モジュール適用規則の
獲得を依頼する。
【0096】また、プラン実行管理部1040より作成した
処理プランを作成し直す要求を受けたとき、 新たな処
理プランを既存の処理プラン策定モジュール若しくは処
理プラン策定モジュール適用規則にて作成できない場合
は、エージェントモジュール更新部1060に、異なる処理
プランを作成できる処理プラン策定モジュール若しくは
処理プラン策定モジュール適用規則の獲得を依頼する。
【0097】(ステップS12〜15)また、エージェ
ントモジュール更新部1060より、処理プラン策定モジュ
ール若しくは処理プラン策定モジュール適用規則を入手
できた旨の通知があった場合は、処理プラン策定部1020
は、処理プラン策定モジュール格納部1030への格納処理
をエージェントモジュール更新部1060に指示し、直ち
に、処理プランの策定を開始し、生成した処理プランを
プラン実行管理部1040に通知する。なお、エージェント
モジュール更新部1060より、モジュールの獲得ができな
い旨の通知を受け取った場合には、処理プランの作成が
できないことをプラン実行管理部1040に通知する。
【0098】図10は処理プラン策定部1020が有する図
示しないプラン策定実績データベース部の記憶内容を示
した図である。このプラン策定実績データベース部に
は、処理プラン策定部1020において、過去に処理した処
理要求の処理要求名とその処理要求の処理プランを作成
した処理プラン策定モジュールとその処理結果と処理プ
ランの作成回数が記憶される。処理プラン策定部1020
は、処理した処理要求を識別するIDとその処理に使った
処理プランをこのプラン策定実績データベース部に登録
する。このデータは、ある一定の時間だけ保存してお
き、一定の時間が経過すると自動的に消去するなどの処
理が可能である。
【0099】図11は、処理プラン策定部1020が有する
図示しない処理プラン策定モジュールデータベース部の
記憶内容を示した図である。この処理プラン策定モジュ
ールデータベース部には、ある処理要求の処理プランを
作成することのできる処理プラン策定モジュールのモジ
ュール名と、その情報のアクセスの条件、処理プラン策
定モジュールの使用条件等が登録されている。
【0100】図12は、実行主体管理部1050が有する図
示しないプランデータベース部の記憶内容を示した図で
ある。このプランデータベース部には、処理プラン策定
部1020において作成された処理プランが登録されてい
る。例えば、図12に示すように処理要求名と処理要求
の属性と処理プランの内容が記憶される。プラン実行管
理部1040は、このプランデータベース部に登録されたプ
ランに従って処理の実施と処理の進捗管理を行う。複数
の処理プランを同時に、平行して、処理を行うことが可
能である。
【0101】図13は、エージェントモジュール更新部
1060が有する図示しないタスクデータベース部である。
このタスクデータベース部には、処理要求名と、その処
理要求の処理時の属性と、生成される処理プランを構成
するタスクのリストと、その処理要求の処理プランを作
成する処理プラン策定モジュールのモジュール名と、他
のエージェントへ当該処理要求に関する情報を開示する
条件である情報の開示条件と、処理プランを作成する処
理プラン策定モジュールの提供の仕方若しくはその条件
とが登録されている。
【0102】図14は、処理プラン策定モジュール格納
部1030の記憶内容を示した図である。処理プラン策定モ
ジュール格納部1030には、処理プラン策定モジュール
名、そのモジュールが利用可能な時期の期限を示す利用
期限、他のエージェント部1000からの処理実績問い合わ
せに対する情報の提供の条件及び他のエージェント部10
00からモジュールの送信依頼があったときの送信可否の
条件、及び処理プラン策定モジュールのオブジェクト、
すなわちモジュールのプログラムが記憶されている。
【0103】次に、処理プラン策定モジュール若しくは
処理プラン策定モジュール適用規則を変更する動作を図
15に基づいて説明する。まず、プラン実行管理部1040
の一般的動作について説明すると、プラン実行管理部10
40は、処理要求を外部(例えば、他のエージェント部100
0)から受け付けると、処理プラン策定部1020に、受け付
けたタスクの処理プランの作成を依頼する。そして、処
理プラン策定部1020より作成された処理プランを受け取
ると、プラン実行管理部1040は、その処理プランを図1
2のプランデータベース部に登録し、登録した処理プラ
ンを用いて処理要求の実行を開始する。
【0104】しかし、プラン実行管理部1040が以下のよ
うな処理状況を検出したとき(ステップS11)、処理
プラン策定モジュール若しくは処理プラン策定モジュー
ル適用規則を変更するため、ステップS12に進む。こ
の際、プラン実行管理部1040は、処理プラン策定部1020
に対し、処理要求名及び属性を指定して処理プランの策
定のやり直しを指示する。そのような処理状況を検出し
なかったときは、再びステップS11に戻る。
【0105】◆処理状況(1) 自己のエージェント部1000内に、処理要求の処理プラン
を作成できる処理プラン策定モジュールがない場合、若
しくは、処理要求に対応する処理プラン策定モジュール
適用規則がない場合。なお、この処理状況(1)の場合
には、処理プラン策定部1020から処理プランを受け取る
ことができず処理不能であるため、処理プラン策定モジ
ュール等の変更処理を行わずに、処理要求を受付ないよ
うにしてもよい。この場合、プラン実行管理部1040は、
処理要求の発信者(例えば、他のエージェント部1000)に
対して、処理不能と回答する。
【0106】◆処理状況(2) 処理プラン策定部1020より受け取った処理プランの処理
の進捗が滞っている場合、例えば、処理要求の実際の処
理時間が、処理要求に対してあらかじめ定められたCPU
タイムを超えてしまった場合。
【0107】◆処理状況(3) タスクの処理を指示していた実行主体部1100より、処理
不能と回答がきたり、実行主体部1100のタスクの処理時
間が、タスクに対してあらかじめ定められたCPUタイム
を超えてしまった場合。この場合には、実行主体部1100
より実行主体管理部1050へ処理プランが実行不能である
旨の通知が来るので、実行主体管理部1050はプラン実行
管理部1040に対して、プランが実行不能であることを通
知する。
【0108】次に、処理プラン策定部1040は、自己のエ
ージェント部1000内の他の処理プラン策定モジュール若
しくは他の処理プラン策定モジュール適用規則を用いて
処理プランを策定し直すか、又は、他のエージェント部
1000より他の処理プラン策定モジュール若しくは他の処
理プラン策定モジュール適用規則を入手し、入手した処
理プラン策定モジュール若しくは他の処理プラン策定モ
ジュール適用規則を用いて処理プランを策定し直すかを
決定する(ステップS12)。
【0109】処理状況(1)の場合は、処理プラン策定
部1020は、エージェントモジュール更新部1060に対し
て、処理要求及び属性の処理プランを策定する処理プラ
ン策定モジュールの検索を依頼する。処理状況(2)及
び(3)の場合、例えば、現在の処理プランを策定した
処理プラン策定モジュール以外に処理要求を処理できる
処理プラン策定モジュールがない場合には、上述と同様
に処理プラン策定モジュールの検索を依頼する。また、
過去の処理要求の処理実績におけるCPUタイムが、現在
使用している処理プラン策定モジュールよりも大きい場
合にも、同様に処理プラン策定モジュールの検索を依頼
する。そして、既存の処理プラン策定モジュールが発見
されたときには、処理プラン策定部1020は、エージェン
トモジュール更新部1060に対し、処理プラン策定モジュ
ールの追加か或いは更新かを合わせて指示する。
【0110】更新の場合、削除する処理プラン策定モジ
ュールが複数ある場合は、削除する処理プラン策定モジ
ュールを通知しておく。プラン策定実績データベース部
に登録されている処理プラン策定モジュールにより、処
理プランを作成しようとしたときに、処理プラン策定モ
ジュール格納部1030を検索したところ、その処理プラン
策定モジュールが登録されていない場合がある。この場
合は、再度この処理プラン策定モジュールの借用若しく
は譲渡をエージェントモジュール更新部1060に指示する
ことがある。なお、上述は処理プラン策定モジュールに
ついて説明したが、処理プラン策定モジュール適用規則
についても同様に実行することができる。
【0111】ステップS12において外部から処理プラ
ン策定モジュール等を入手すると決定した場合には、次
に、エージェントモジュール更新部1060は、他のエージ
ェント部1000B、Cに対して、当該処理要求についての他
のエージェント部1000B、Cにおける処理実績の問い合わ
せを行う(ステップS13)。この問い合わせには、処
理要求名及び属性のデータが含まれている。この処理実
績の問い合わせを受けた他のエージェント部1000B、C
は、図10のプラン策定実績データベース部、図11の
処理プラン策定データベースを検索し、受け取った処理
要求名及び属性のデータ等のデータと照合することによ
り、適切な処理プラン策定モジュールを選定し、処理プ
ラン策定モジュール名、そのモジュールの使用条件、及
び処理結果を処理実績として問い合わせ元に通知する
(ステップS14a、b)。このとき、処理結果とし
て、成功/不成功ではなくて処理完了までにかかったCP
Uタイムを通知することもできる。
【0112】エージェント部1000Aのエージェントモジ
ュール更新部1060は、ステップS14a、bで受け取っ
た複数の処理実績を比較し、これらの処理実績に基づい
て適切な処理プラン策定モジュールを選択する(ステッ
プS15)。選択の基準は、例えば、使用条件の制約の
少ないものであり、処理に要したCPUタイムがより短い
ということを基準にする。そして、選択した処理プラン
策定モジュールを有しているエージェント部1000Bに対
して、処理プラン策定モジュール送信依頼を送信する
(ステップS16)。この処理プラン策定モジュール送
信依頼には、処理プラン策定モジュール名及びステップ
S13で送信したものと同様に依頼元の属性を送信す
る。
【0113】処理プラン策定モジュール送信依頼を受け
取ったエージェント部1000Bは、その送信依頼に指定さ
れた処理プラン策定モジュールを処理プラン策定モジュ
ール格納部1030より取り出して、依頼元のエージェント
部1000Aへ送信する(ステップS17)。この処理プラ
ン策定モジュールを受け取ったエージェント部1000Aの
エージェントモジュール更新部1060は、受け取った処理
プラン策定モジュールを、処理プラン策定モジュール格
納部1030に格納する。このとき、処理プラン策定モジュ
ール格納部1030に既に格納されていた処理プラン策定モ
ジュールを、その後、使用する可能性がないと判断され
た場合には、削除することもできる。そして、処理プラ
ン策定部1020が受け取った処理プラン策定モジュールを
用いて処理プランを新たに作成し、策定した処理プラン
を用いて処理要求を実行する。
【0114】以上は、主に処理プラン策定モジュールの
転送処理について説明したが、処理プラン策定モジュー
ル適用規則についても同様に処理することができる。
【0115】(処理プラン策定モジュールの選択)な
お、処理プラン策定モジュール適用規則を用いた処理プ
ラン策定モジュールの選択は以下のように行う。まず、
処理プラン策定部1020が、プラン実行管理部1040より受
け取った処理要求名及び属性に基づき、処理プランの作
成を開始する。処理プラン策定モジュール適用規則をチ
ェックして、条件部を満たすルール、すなわち、処理要
求名及び属性を条件部に持つルールが存在するかどうか
をチェックする。図16に処理プラン策定モジュール適
用規則の一例を示す。ここで、処理の依頼があった処理
要求の処理要求名及び属性が処理プラン策定モジュール
適用規則の条件部と一致するときは、その実行部に記載
されている処理プラン策定モジュールを選択し、その処
理プラン策定モジュールを実行して処理プランを作成す
る。
【0116】処理状況(2)及び(3)の場合には、こ
れまでに処理プラン作成に使った処理プラン策定モジュ
ールと異なる処理プラン策定モジュールを使って処理プ
ランを作成する場合は、図示しないプラン策定実績デー
タベース部より、処理要求名を用いて、これまでにプラ
ンの作成に使った処理プラン策定モジュールをチェック
して、そのプラン策定実績データベース部にない処理プ
ラン策定モジュールを選択する。
【0117】(処理プラン策定モジュール等の追加、変
更、削除)以下に、エージェントモジュール更新部1060
が、処理プラン策定モジュール若しくは処理プラン策定
モジュール適用規則を追加若しくは削除するときの変更
可否判定部1062の動作について詳細に説明する。検索部
1061は、処理プラン策定部1020から受けた処理プラン策
定モジュールの検索要求に応じて、処理プラン策定モジ
ュールを検索する。変更可否判定部1062は、検索部1061
が検索した処理プラン策定モジュールを受け付けると、
受けつけた処理プラン策定モジュールのエージェント部
1000内への取り込みが実施できるかどうかを判定する。
【0118】例えば、追加すべき処理プラン策定モジュ
ールをエージェント部1000内の処理プラン策定モジュー
ル格納部1030に格納することができるか、すなわち、格
納エリアに空きがあるかを判定し、格納エリアが不足す
るときは、モジュールを追加することはできないため、
変更不可と判定し、プラン実行管理部1040に通知する。
また、追加しようとする処理プラン策定モジュール適用
規則が処理プラン策定モジュール格納部1030内の適用規
則と矛盾しないかどうかを判定する。例えば if c>1 then Do action1 なる適用規則を既に持ち合わせているとする。そこへ、 if c>1 then Stop action1 なる適用規則を追加する要求を受け付けたとする。変更
可否判定部1062は、両規則は矛盾する適用規則であると
判断し、変更規則の追加は矛盾を生じるという旨をプラ
ン実行管理部1040に通知する。この場合、プラン実行管
理部は、矛盾の対象となる規則を削除して、要求通りに
規則を削除するか、または、追加要求を却下する。この
どちらの処理を選択するかは、プラン実行管理部内の知
識に基づいて、自律した判断に基づいて決定する場合
と、ユーザあるいは外部に問い合わせて、決定する場合
がある。判定できないときは、ユーザに確認させユーザ
の判断に従って、処理を実行する。
【0119】判定の結果、許可の判定がでると、エージ
ェントモジュール更新部1060に処理プラン策定モジュー
ル若しくは処理プラン策定モジュール適用規則の追加、
修正、削除の指示を出す。検索部1061が複数の処理プラ
ン策定モジュールを検出したとき、その中で、最も取り
込むのにふさわしいモジュールを選択する処理を行う。
モジュールの中で最も借用条件のいいものはどれか、譲
渡条件の最もよいものはどれかなどを判定する。策定モ
ジュール更新処理部1063は、変更可否判定部1062の通知
に従って、処理プラン策定モジュール格納部1030内の処
理プランを修正削除し、処理プラン策定モジュール格納
部1063に新規処理プラン策定モジュール若しくは処理プ
ラン策定モジュール適用規則を追加する。
【0120】通知に、追加修正すべきモジュールの実体
が含まれていないときは、通知において指定されている
モジュールを検索しプラン策定モジュール更新部内に取
り込み、処理プラン策定モジュール格納部1030内に格納
する。また、プラン実行管理部1040は処理プランの進捗
状況に応じて、実行主体管理部1050は実行主体部の処理
の進捗状況に応じて、処理プラン策定モジュールの追
加、修正、削除の指示をエージェントモジュール更新部
1060に発信する。例えば、進捗状況に応じて発信すると
は、ある処理の終了予定時間を過ぎて、ある決められた
時間以上に遅れても今だ処理が完了していない様な場合
に、処理プラン策定モジュール若しくは処理プラン策定
モジュール適用規則の追加、修正、削除の指示を発信す
ることをいう。
【0121】以上のように、この実施の形態2の自律協
調処理システムによれば、予め処理プラン策定モジュー
ル若しくは処理プラン策定モジュール適用規則を明確に
決めることができないような場合でも、処理状況にふさ
わしい処理プラン策定モジュール若しくは処理プラン策
定モジュール適用規則へと、システムの処理状況に応じ
て動的に適宜変更することが可能となる。すなわち、シ
ステムの自己再組織化機能を持たせることが可能とな
る。よって、システムの処理能力の柔軟性がいっそう向
上する。また、上述システムでは、実行主体部の処理速
度、処理効率を向上させることができ、さらに、実行主
体部の計算機上での実装効率を向上させることが可能と
なる。実行モジュールの修正とは、制御パラメータの変
更や、実行モジュールの部分的なサブモジュールの変更
を意味する。
【0122】(1)なお、処理プラン策定モジュール若し
くは処理プラン策定モジュール適用規則の変更は、実行
主体部1100が行なってもよい。この場合には、実行主体
部1100にプラン実行管理部1040を設ける。実行主体部11
00のプラン実行管理部1040は、実行主体部1100がエージ
ェント部1000に依頼した処理要求の進捗状況に基づい
て、処理プラン策定モジュール若しくは処理プラン策定
モジュール適用規則の変更を行なう必要性を判断し、変
更が必要と判断したときは、実行主体部1100からエージ
ェント部1000へ、処理プラン策定モジュール若しくは処
理プラン策定モジュール適用規則の変更を指示する。
【0123】例えば、実行主体部1100Aがある処理要求
をエージェント部1000Aに依頼し、エージェント部1000A
がその処理要求を処理プランに基づいて、他の実行主体
部1100B、Cに処理させているとする。このとき、実行主
体部1100Aは、処理要求を依頼してからの時間が予め定
められた時間を超えたか否かを監視し、予め定められた
時間を超えた場合には、エージェント部Aに対して、処
理プラン策定モジュール若しくは処理プラン策定モジュ
ール適用規則の変更を指示する。変更の指示を受け取っ
た場合のエージェント部1000の処理は、図15を用いて
説明した通りである。このとき、ステップS11の処理
は、上述のように実行主体部1100が行なうため、エージ
ェント部1000AはステップS12以降の処理を行なう。
【0124】実施の形態3.この実施の形態3は、エー
ジェント部がコンピュータ間を移動できるように構成す
ることによって、コンピュータ間の通信量を減少させ、
システム全体として高速に動作する自律協調処理システ
ムである。図17はこの実施の形態3における自律協調
処理システムを説明する機能ブロック図である。図17
において、図1又は図7と同一の符号は同一又は相当の
部分を表している。2000Aは、図1又は図7のエージェ
ント部1000と同様の機能を有するエージェント部であ
り、図1又は図7のエージェント部1000の有する機能に
加えて、他のコンピュータに移動して、移動先のコンピ
ュータ内のエージェント部(モバイルエージェント部20
00B)と、ネットワークを介さずに通信を行う機能を有
するモバイルエージェント部である。3000A、Bは、通
常、コンピュータ毎に設けられ各コンピュータ間のネッ
トワーク通信を制御するとともに、他のコンピュータよ
りモバイルエージェント部2000の受け入れ要求があった
場合には、ネットワークからモバイルエージェント部20
00を受け取るとともに、メモリの確保及びメモリ上への
ロード等、モバイルエージェント部2000を当該コンピュ
ータ上で実行するための前処理を実行するエージェント
エリア部である。
【0125】次に、動作について説明する。図17にお
いて、コンピュータAのモバイルエージェント部2000A
が、上述実施の形態1、2のエージェント部1000と同様
に、実行主体部1100を使って、処理要求を処理中である
とする。このとき、上述実施の形態1、2で説明したよ
うな処理要求の処理に障害が発生した場合、他のコンピ
ュータBのエージェント部1000に相当するモバイルエー
ジェント部2000Bと、実行モジュール等の転送、処理プ
ラン策定モジュール等の転送の為の交渉を行う必要があ
る。例えば、図3のステップS3、S4、10、図15
のS13、S14、S16等の通信を行う必要がある。
【0126】これらの交渉の為の通信は、例えば図3で
示したような、少ない通信回数で少ない量のデータを通
信する場合には、ネットワークを介した通信を行っても
ネットワーク負荷は少ない。しかし、通信回数が多く、
また、その通信のデータ転送量が大きい場合には、ネッ
トワーク負荷が大きくなり、システム全体の他の処理の
動作速度にも影響を与える。特に、ネットワークを介し
て複雑な交渉を行う場合には、交渉自体の処理にも時間
がかかるという問題がある。このようにモバイルエージ
ェント部2000間の通信のネットワークの負荷が大きい場
合とモバイルエージェント部2000Aが判断した場合に
は、モバイルエージェント部2000Aは他のコンピュータB
のエージェントエリア部3000Bに受け入れ要求を送信す
る(ステップS21)。
【0127】エージェントエリア部3000Bは、自己のコ
ンピュータBのリソースの状態等に基づいてモバイルエ
ージェント部2000Aを受け入れるかを判断し、その判断
結果を受け入れ要求送信元へ送信する(ステップS2
2)。モバイルエージェント部2000Aは、判断結果とし
て受け入れ可能との返答を受け取ると、モバイルエージ
ェント部2000Aのプログラムのコピーを他のコンピュー
タBのエージェントエリア部3000Bへ送信する(ステップ
S23)。ここで、受け入れ不可能との返答を受け取っ
た場合には、上述実施の形態1又は2で説明したのと同
様にコンピュータAとコンピュータB間でネットワークを
介した通信を行う。
【0128】モバイルエージェント部2000Aのプログラ
ムのコピーを受け取ったエージェントエリア部3000B
は、自己のコンピュータBのメモリに受け取ったコピー
をロードし、ロードしたプログラムを起動する(ステッ
プS24)。エージェントエリア部3000Bによって起動
されたコンピュータB上のモバイルエージェント部2000A
は、コンピュータB内部でのモバイルエージェント部200
0Bと通信を行う(ステップS25)。この通信では、例
えば、処理要求を受け入れるか否かの交渉、実施の形態
1若しくは2で説明したような実行モジュール、処理プ
ラン策定モジュール、若しくは、それらの適用規則の転
送処理に必要な交渉が行われる。この交渉に複雑な通信
が必要であればあるほど、この実施の形態における高速
化の効果は、ネットワークを介して交渉を行った場合に
比べて高くなる。
【0129】必要な交渉が終了すると、コンピュータB
上のモバイルエージェント部2000Aは、交渉の結果を自
己のコンピュータA側に送信する(ステップS26)。
コンピュータAのモバイルエージェント部2000Aは、この
結果を受け取り、受け取った交渉結果に基づいて、その
後の所定の処理を実行する。一方、交渉結果を送信した
コンピュータB上のモバイルエージェント部2000Aは、処
理を終了し、自己のプログラムを消去することによっ
て、自らが占有していたコンピュータB上のリソースを
解放する。このように、移動してきたモバイルエージェ
ント部2000Aは、処理終了後、移動先のコンピュータBか
ら移動元のコンピュータAに処理結果を送信し、プログ
ラムを返送しないため、ネットワークの付加を軽減する
ことができきる。以上のように、この実施の形態によれ
ば、ネットワークを介した通信を減らすことができるた
め、ネットワークを使用するシステム内の他の処理も高
速に実行できる。さらに、モバイルエージェント部2000
間の通信をネットワークを介さずに行うこともできる
為、交渉自体も高速に実行することができる。
【0130】上述のように、このモバイルエージェント
部2000Aの他のコンピュータB上での実行は、処理要求が
発生した場合に、どのコンピュータ若しくはモバイルエ
ージェント部2000が、当該処理要求を実行するかといっ
た複雑な交渉を行う場合に有効である。特に、アルゴリ
ズムが各モバイルエージェント部2000毎に異なるような
場合には、単に、必要なデータを一括送信するだけで
は、各モバイルエージェント部2000の事情に即した結果
を得ることはできない。しかし、この実施の形態のモバ
イルエージェント部2000は、モバイルエージェント部20
00ごと、すなわち、データだけではなくアルゴリズムを
も送信するため、それぞれのコンピュータ若しくはユー
ザのアルゴリズムに即した形で高速に結果を得ることが
できる。
【0131】なお、モバイルエージェント部2000は、そ
のすべてのプログラム、及びデータを送る必要はなく、
交渉に必要なプログラム及びデータを送信するようにし
て、ネットワーク負荷を低減させるとよい。また、上述
の説明では、ステップS23でモバイルエージェント部
2000Aのプログラムを転送する際、プログラムのコピー
を送信して、送信元のコンピュータA上のモバイルエー
ジェント部2000Aはそのまま残しておいたが、転送後に
消去してもかまわない。その場合、コンピュータBへ移
動したモバイルエージェント部2000Aは、交渉終了後に
ステップS26で交渉結果とともにプログラムを送信し
て、コンピュータAに戻るようにすることができる。そ
の際、コンピュータBで実行されたステップS24と同
様のロード及び起動処理を、コンピュータAのエージェ
ントエリア部3000Aが行う。また、上述の説明では、モ
バイルエージェント部2000Aが直接、エージェントエリ
ア部3000Bとの通信を行ったが、自己のコンピュータAの
エージェントエリア部3000Aを介して、通信を行うよう
にしてもよい。
【0132】また、モバイルエージェント部2000が接続
するエージェントエリア部3000を変更する場合の他の例
としては、現在接続しているエージェントエリア部3000
から接続関係の解消を通知された場合、新たな1つ又は
複数のエージェントエリア部3000から接続したいと通知
してきた場合があるエージェントエリア部3000から接続
関係の解消を通知する場合の例としては、エージェント
エリア部3000の処理能力が限界に近づいた、すなわち過
負荷の状態が検知又は予想された場合、エージェントエ
リア部3000が処理できない要求をモバイルエージェント
部2000が行なった場合、エージェントエリア部3000の休
止時間が迫って来た場合等がある。
【0133】(i)なお、図17に示したように、モバ
イルエージェント部2000は、移動機能を持たない複数の
エージェント部1000Aに接続することが可能である。こ
の場合には、これらのエージェント部1000Aそれぞれか
ら複数の交渉の処理を受け取り、それらの複数の交渉の
処理を持って他のコンピュータBに移動し(図18のステ
ップS23)、移動先のモバイルエージェント部2000B若
しくはエージェント部1000Bと複数の交渉の処理を実行
し(ステップS25)、それら複数の交渉の処理の結果を
移動元のモバイルエージェント部2000Aに送信する(ステ
ップS26)。その他の動作は、図18に示したものと
同様である。
【0134】複数の交渉の処理をまとめて他のコンピュ
ータBに移動することにより、よりネットワーク負荷を
軽減することができ、システムの処理も高速化できる。
なお、接続している全てのエージェント部1000Aが交渉
の処理を依頼する必要はない。例えば、予め定められた
時間以内に、依頼があった分の交渉の処理をまとめて、
モバイルエージェント部2000が移動するようにするとよ
い。また、上述の交渉の処理に重点を置けば、モバイル
エージェント部2000が、実行主体部1100を管理する機能
を持たなくてもよい。実行主体部1100を管理する機能は
エージェント部1000に任せてもよい。
【0135】(ii)また、エージェントエリア部3000
は、各モバイルエージェント部2000に関する知識データ
を有し、その知識データに基づいて、どのモバイルエー
ジェント部2000に処理要求を処理させるかを決定し、決
定したモバイルエージェント部2000に処理要求を実行さ
せるようにしてもよい。その場合には、モバイルエージ
ェント部2000は、処理要求を受け付けるか否かの判断に
かかる機能は必ずしも必要ではなくなる。上述知識デー
タの例としては、モバイルエージェント部2000の処理プ
ラン策定モジュールの種類、処理中の処理要求数、モバ
イルエージェント部2000が管理する実行主体部1100の
数、その実行モジュールの種類等がある。
【0136】エージェントエリア部3000は、モバイルエ
ージェント部2000の処理状況を監視し、処理状況が悪化
した場合、例えば、処理要求の処理が遅れた場合、他の
モバイルエージェント部2000に比べて、保有する処理要
求の数が多くなった場合等、には、処理効率が良くなる
ように、処理状況が悪化したモバイルエージェント部20
00から処理状況の良いモバイルエージェント部2000に、
処理要求を移動させることができる。また、エージェン
トエリア部3000は、処理要求の依頼元等から処理要求の
結果の督促を受けたり、処理要求の進捗が著しく滞った
りした場合には、モバイルエージェント部2000に対し
て、処理結果の督促指示を行なったり、当該処理要求を
優先的に実行するように指示したりする。また、その処
理要求を他のモバイルエージェント部2000に割り当て直
したり、その処理要求を複数の処理要求に分割して、そ
れぞれ複数のモバイルエージェント部2000に割り当て直
すことにより、より早く処理要求の処理結果を得られる
ような制御を行なう。モバイルエージェント部2000は、
エージェントエリア部3000より上述の督促指示を受けた
場合には、上述のように、処理プラン策定モジュール若
しくはその適用規則の変更を行なって、処理プランを作
成し直すことにより、より早く処理結果が得られるよう
な処理を実行する。
【0137】また、1つのエージェントエリア部3000が
管理するモバイルエージェント部2000の数に対して、処
理要求の総数が予め定められた数よりも多くなった場合
には、各モバイルエージェント部2000自体の処理効率が
落ちるため、エージェントエリア部3000は、新たにモバ
イルエージェント部2000を起動し、モバイルエージェン
ト部2000の数を増加させる。また、モバイルエージェン
ト部2000の数に対して、処理要求の総数が予め定められ
た数よりも少なくなった場合には、モバイルエージェン
ト部2000を必要数削除し、モバイルエージェント部2000
の数を減少させる。以上のような、エージェントエリア
部3000による制御を行なえば、システム全体として処理
効率をより向上させることができる。
【0138】(iii)また、上述(ii)の場合には、エ
ージェントエリア部3000は、処理要求をモバイルエージ
ェント部2000に割り当てるための判断処理を実行する割
当実行モジュール、及び、処理要求に対して、当該処理
要求を処理する割当実行モジュールを決定する規則であ
る割当実行モジュールを有する。この割当実行モジュー
ル、若しくは、その適用規則を上述処理プラン策定モジ
ュール等と同様に、モバイルエージェント部2000の処理
状況に基づいて変更してもよい。この割当実行モジュー
ル、若しくは、その適用規則の変更は、モバイルエージ
ェント部2000の要求により実行される。例えば、モバイ
ルエージェント部2000が処理要求の処理が滞っていると
判断した場合には、変更要求をエージェントエリア部30
00へ送信する。この変更要求を受け取ったエージェント
エリア部3000は、他のエージェントエリア部3000から割
当実行モジュール、若しくは、その適用規則を受け取
り、受け取った割当実行モジュール、若しくは、その適
用規則に基づいて、処理要求をモバイルエージェント部
2000に割り当て直す。なお、変更の要否の判断は、エー
ジェントエリア部3000自身が行なってもよい。
【0139】(iv)また、モバイルエージェント部2000
が、他のコンピュータのモバイルエージェント部2000と
交渉する場合には、どちらのモバイルエージェント部20
00が移動したほうが、ネットワークにおける通信量を軽
減できるかを判断し、より、通信量が少なくて済むよう
に、モバイルエージェント部2000の通信量に基づいて、
移動するモバイルエージェント部2000を決定するとよ
い。通信量に基づく判断の方法には、例えば、転送する
モバイルエージェント部のデータ量に基づく方法や、過
去の各モバイルエージェント部2000間の通信量の統計に
基づく判断等がある。
【0140】(v)また、エージェントエリア部3000に
おいて、モバイルエージェント部2000の管理のための処
理が多くなり、その処理が滞るようになった場合等、処
理状況が悪化した場合には、エージェントエリア部2000
は、他のエージェントエリア部3000に、自己の管理する
複数のモバイルエージェント部2000のうち一部のモバイ
ルエージェント部2000の管理を依頼する。そして、他の
エージェントエリア部から管理可能との返答があった場
合には、当該一部のモバイルエージェント部2000の管理
を他のエージェントエリア部2000に移す。すなわち、当
該一部のモバイルエージェント部2000の接続先を他のエ
ージェントエリア部3000に移し替えて、システム全体の
処理効率を向上させることができる。
【0141】(vi)また、複数のエージェントエリア部
3000を処理状況を管理するエージェントエリア管理部を
設けてもよい。このエージェントエリア管理部は、複数
のエージェントエリア部3000を処理状況を監視し、すな
わち、それぞれのエージェントエリア部3000の保有する
モバイルエージェント部2000の数、処理要求数、又は、
それぞれの処理要求の処理時間等の処理状況を監視す
る。そして、処理状況が悪化したエージェントエリア部
3000を発見した場合には、その処理状況が悪化したエー
ジェントエリア部3000に、処理状況の良好なエージェン
トエリア部3000へ一部のモバイルエージェント部2000の
管理を移転するよう指示する。その指示を受けたモバイ
ルエージェント部2000は、上述(v)と同様に、一部の
モバイルエージェント部2000の管理を移転する。従っ
て、システム全体で負荷があまり偏らないように制御さ
れるため、システム全体の処理効率を向上させることが
できる。
【0142】実施の形態4.上述の実施の形態1〜3
は、3次元仮想空間の処理を行うシステムに適用するこ
とができる。例えば、図17のエージェントエリア部30
00が1つの3次元仮想空間又は1つの3次元仮想空間に
おける一部の領域(言い換え得れば一部の空間)を管理
する処理を行い、実行主体部1100のそれぞれが1つのオ
ブジェクトに関する処理を行う。
【0143】オブジェクトとは、例えば、3次元仮想空
間上における仮想の人、機械、その他のものであり、オ
ブジェクトは、それぞれに割り当てられた機能を有して
いる。例えば、オブジェクトが仮想のプリンタである場
合には、そのオブジェクトは印刷の機能を有している。
3次元仮想空間上にて、仮想のプリンタに他のオブジェ
クトから印刷の処理要求が送信された場合には、その処
理要求にかかるタスクが仮想プリンタの機能を担当する
実行主体部1100に送信され、タスクを受け取った実行主
体部1100が、現実のプリンタへの印刷制御を行って、現
実のプリンタに印刷を行わせる。
【0144】このとき、オブジェクトとオブジェクト、
言い換えれば、実行主体部1100と実行主体部1100との通
信の橋渡しを行うのがモバイルエージェント部2000(若
しくは、エージェント部1000)である。モバイルエージ
ェント部2000は、より高級な処理要求をも受け付けるこ
とが可能で、受け付けた処理要求を分析して、処理プラ
ンを策定し、この処理プランに従って1つ又は複数のタ
スクを実行主体部1100に実行させる。
【0145】また、あるオブジェクトが、あるエージェ
ントエリア部3000Aが管理する3次元仮想空間上の領域
から、他のエージェントエリア部3000Bが管理する領域
へ移動しようとする場合には、図18に示したような受
け入れ要求の処理(ステップS21、S22)を行っ
て、許可が与えれれば移動でき、与えられなければ移動
できないこととなる。許可の判断基準は、オブジェクト
の種類、モバイルエージェント部2000の属性、ユーザの
属性等の移動しようとするオブジェクトにかかる属性に
基づいて判断される。そのため、ある領域のセキュリテ
ィを守ることができる。このとき、モバイルエージェン
ト部2000間で行われる交渉の一例は、当該オブジェクト
の実行主体部1100の受け入れ要求、上述の実行モジュー
ルの転送要求等である。
【0146】このオブジェクトの移動の様子は、例え
ば、ウォークスルーのような動画の形態で、コンピュー
タのディスプレイ上に表示することができる。また、1
つのエージェントエリア部3000が管理するモバイルエー
ジェント部2000同士では、エージェントエリア部3000を
介さなくともモバイルエージェント部2000同士で直接通
信を行うことができる。
【0147】また、上述のような3次元仮想空間のシス
テムにおいても、実施の形態1〜3で説明したような、
実行モジュール、処理プラン策定モジュール、若しく
は、それらの適用規則の転送を行う必要性がある。この
場合には、それぞれのエージェント部1000、若しくはコ
ンピュータが全ての処理要求に対応できるような実行モ
ジュール、処理プラン策定モジュール、若しくは、それ
らの適用規則を持つ必要はなく、それらがどこかにあれ
ば実行主体部1100若しくはエージェント部1000で利用す
ることができるため、システム全体で記憶容量を節約す
ることができ、また、一部のユーザが自己のコンピュー
タで非常に優れた実行モジュール、処理プラン策定モジ
ュール、若しくは、それらの適用規則を作成した場合に
は、他のユーザは、他のコンピュータからでもそれらの
モジュール、適用規則を利用することができる。実行モ
ジュール、処理プラン策定モジュール、若しくは、それ
らの適用規則の変更は、実行主体部1100又はエージェン
ト部1000が処理状況に基づいて自動的に行うため、ユー
ザにとって非常に使い勝手のよいシステムを提供するこ
とができる。
【0148】特に、1ユーザの立場からみて、システム
全体のモジュールを理解することは困難であるため、い
ずれかの場所に優れたモジュールが既にあり、又は、新
たに追加されてもその事実を知らない限り利用すること
はできない。特に、インターネットを利用したシステム
ではその傾向が顕著である。この実施の形態1〜4に説
明した自律協調処理システムにおいては、ユーザがシス
テム全体のモジュール、若しくは、それらの適用規則を
知らなくても、システムが自動的に効率のよいモジュー
ル等を検索するため、高速に処理を実行することができ
るという非常に優れた効果を得ることができる。
【0149】(i)なお、エージェントエリア部3000の
管理する3次元仮想空間の領域は、処理状況に基づい
て、拡大若しくは縮小するなど、変更することができ
る。エージェントエリア部3000に過負荷がかかり処理要
求の処理が滞るなど処理状況が悪化した場合には、管理
する3次元仮想空間の領域を縮小して、負荷を軽減す
る。他のエージェントエリア部3000に、縮小したことに
より管理されないこととなった3次元仮想空間の管理を
依頼する。このとき、他のエージェントエリア部3000に
管理を依頼した3次元仮想空間に属するモバイルエージ
ェント部2000及び実行主体部1100は、その依頼先のエー
ジェントエリア部3000に接続先が変更され、以降、依頼
先のエージェントエリア部3000によって管理される。
【0150】なお、上述実施の形態1〜4で説明した自
律協調分散処理は、プログラムによって実現され、コン
ピュータに読み込み可能な記録媒体に記録され配布され
ることができる。
【0151】
【発明の効果】この発明は、以上に説明したように構成
されているので、以下に記載されるような効果を奏す
る。
【0152】この発明にかかる自律協調処理装置におい
ては、処理要求にかかる処理を実行モジュールを用いて
それぞれ実行する複数の処理実行部と、これら複数の処
理実行部に対応して設けられ、複数の処理実行部それぞ
れの実行モジュールをそれぞれ記憶する複数の実行モジ
ュール記憶部と、処理要求があった場合に、複数の処理
実行部のうちから処理要求にかかる処理を実行させる処
理実行部を選択し、選択した処理実行部に処理要求にか
かる処理を実行させる処理要求制御部と、処理実行部の
処理状況に基づいて、複数の実行モジュール記憶部のう
ちの1つの実行モジュール記憶部から他の実行モジュー
ル記憶部へ実行モジュールを転送するモジュール転送部
と、を備え、上記処理実行部は、上記モジュール転送部
によって転送された実行モジュールを用いて上記処理要
求にかかる処理を実行し直すため、処理要求の処理効率
を向上させることができる。
【0153】また、複数の実行モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの実
行モジュール記憶部上にある実行モジュールを検索し、
検索した実行モジュールのうち処理要求にかかる処理に
適した実行モジュールを決定し、決定した実行モジュー
ルをネットワークを介して自己のコンピュータの実行モ
ジュール記憶部に転送するため、処理要求の処理効率を
向上させることができるとともに、処理要求の処理が中
断しハングアップすることを抑制できる。
【0154】また、処理要求にかかる処理を実行モジュ
ールを用いてそれぞれ実行する複数の処理実行部と、こ
れら複数の処理実行部に対応して設けられ、複数の処理
実行部それぞれの実行モジュールをそれぞれ記憶する複
数の実行モジュール記憶部と、処理要求があった場合
に、複数の処理実行部のうちから処理要求にかかる処理
を実行させる処理実行部を選択し、選択した処理実行部
に処理要求にかかる処理を実行させる処理要求制御部
と、処理実行部の処理状況に基づいて、複数の実行モジ
ュール記憶部のうちの1つの実行モジュール記憶部から
他の実行モジュール記憶部へ実行モジュールを転送する
モジュール転送部と、を備え、複数の実行モジュール記
憶部は、複数のコンピュータにそれぞれ設けられ、複数
のコンピュータは、ネットワークで互いに接続され、モ
ジュール転送部は、ネットワークを介して、他のコンピ
ュータの実行モジュール記憶部上にある実行モジュール
を検索し、検索した実行モジュールのうち処理要求にか
かる処理に適した実行モジュールを決定し、決定した実
行モジュールをネットワークを介して自己のコンピュー
タの実行モジュール記憶部に転送するため、処理要求の
処理効率を向上させることができる。
【0155】また、処理要求にかかる処理を処理するた
めに実行されるプログラムである複数の実行モジュール
のうち、処理要求にかかる処理をどの実行モジュールを
用いて処理するかを決定する規則である実行モジュール
適用規則に基づいて実行モジュールを選択し、選択され
た実行モジュールを用いて、処理要求にかかる処理をそ
れぞれ実行する複数の処理実行部と、これら複数の処理
実行部に対応して設けられ、複数の処理実行部それぞれ
の実行モジュール及び実行モジュール適用規則をそれぞ
れ記憶する複数の実行モジュール記憶部と、処理要求が
あった場合に、複数の処理実行部のうちから処理要求に
かかる処理を実行させる処理実行部を選択し、選択した
処理実行部に処理要求にかかる処理を実行させる処理要
求制御部と、処理実行部の処理状況に基づいて、複数の
実行モジュール記憶部のうちの1つの実行モジュール記
憶部から他の実行モジュール記憶部へ実行モジュール適
用規則を転送するモジュール適用規則転送部と、を備え
たため、処理要求の処理効率を向上させることができ
る。
【0156】また、処理実行部は、モジュール適用規則
転送部が他の処理実行部に対応する実行モジュール記憶
部から自己に対応する実行モジュール記憶部に実行モジ
ュール適用規則を転送した場合に、転送された実行モジ
ュール適用規則を用いて実行モジュールを選択し直し、
選択し直した実行モジュールを用いて処理要求にかかる
処理を実行し直すため、処理要求の処理効率を向上させ
ることができるとともに、処理要求が中断しハングアッ
プすることを抑制することができる。
【0157】また、処理要求にかかる処理をそれぞれ実
行する複数の処理実行部と、複数の処理実行部のうちの
複数の処理実行部に接続され、処理要求があった場合
に、処理要求にかかる処理を複数の処理実行部のうちど
の処理実行部に実行させるかを決定するモジュールであ
る策定モジュールを用いて、接続された複数の処理実行
部のうちから処理要求にかかる処理を実行させる処理実
行部を選択し、選択した処理実行部に処理要求にかかる
処理を実行させる複数の処理要求制御部と、これら複数
の処理要求制御部に対応して設けられ、複数の処理要求
制御部それぞれの策定モジュールをそれぞれ記憶する複
数の策定モジュール記憶部と、処理要求の処理状況に基
づいて、これら複数の策定モジュール記憶部のうちの1
つの策定モジュール記憶部から他の策定モジュール記憶
部へ策定モジュールを転送するモジュール転送部と、を
備えたため、処理要求の処理効率を向上させることがで
きる。
【0158】また、複数の策定モジュールのそれぞれ
は、処理要求を複数の処理に分解するとともに、複数の
処理の実行手順を処理プランとして決定する処理を有
し、複数の策定モジュールはそれぞれ異なるアルゴリズ
ムであり、処理要求制御部は、モジュール転送部が他の
処理要求制御部に対応する策定モジュール記憶部から自
己に対応する策定モジュール記憶部へ策定モジュールを
転送した場合に、転送された策定モジュールを用いて処
理プランを作成し直し、作成し直した処理プランに基づ
いて処理要求にかかる複数の処理を処理実行部に実行さ
せるため、処理要求の処理効率を向上させ、処理要求が
中断しハングアップすることを抑制することができる。
【0159】また、複数の策定モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの策
定モジュール記憶部上にある策定モジュールを検索し、
検索した策定モジュールのうち処理要求に適した策定モ
ジュールを決定し、決定した策定モジュールをネットワ
ークを介して自己のコンピュータに対応する策定モジュ
ール記憶部へ転送するため、処理要求の処理効率を向上
させることができる。
【0160】また、処理要求にかかる処理をそれぞれ実
行する複数の処理実行部と、処理要求にかかる処理を複
数の処理実行部のうちどの処理実行部に実行させるかを
決定するモジュールである複数の策定モジュール、及
び、処理要求に対して複数の策定モジュールのうちどの
策定モジュールを適用するかを決定する策定モジュール
適用規則を、それぞれ記憶する複数の策定モジュール記
憶部と、これら複数の策定モジュール記憶部のうちのい
ずれかに接続されるとともに、複数の処理実行部のうち
の複数の処理実行部に接続され、処理要求があった場合
に、策定モジュールを用いて、接続された複数の処理実
行部のうちから処理要求にかかる処理を実行させる処理
実行部を選択し、選択した処理実行部に処理要求にかか
る処理を実行させる複数の処理要求制御部と、処理要求
の処理状況に基づいて、複数の策定モジュール記憶部の
うちの1つの策定モジュール記憶部から他の策定モジュ
ール記憶部へ策定モジュール適用規則を転送するモジュ
ール転送部と、を備えたため、処理要求の処理効率を向
上させることができる。
【0161】また、複数の策定モジュール適用規則はそ
れぞれ規則が異なっており、処理要求制御部は、モジュ
ール転送部が他の処理要求制御部に対応する策定モジュ
ール記憶部から自己に対応する策定モジュール記憶部へ
策定モジュール適用規則を転送した場合に、転送された
策定モジュール適用規則を用いて策定モジュールを決定
し直し、決定し直した策定モジュールを用いて処理要求
にかかる処理を実行させる処理実行部を選択し直し、選
択し直した処理実行部に処理要求にかかる処理を実行さ
せるため、処理要求の処理効率を向上させ、処理要求が
中断しハングアップすることを抑制することができる。
【0162】また、複数の策定モジュール記憶部は、複
数のコンピュータにそれぞれ設けられ、複数のコンピュ
ータは、ネットワークで互いに接続され、モジュール転
送部は、ネットワークを介して、他のコンピュータの策
定モジュール記憶部上にある策定モジュール適用規則を
検索し、検索した策定モジュール適用規則のうち処理要
求に適した策定モジュールを決定し、決定した策定モジ
ュールをネットワークを介して自己に接続された策定モ
ジュール記憶部へ転送するため、処理要求の処理効率を
向上させることができる。
【0163】また、処理要求にかかる処理を実行モジュ
ールを用いてそれぞれ実行する複数の処理実行部と、こ
れら複数の処理実行部に対応して設けられ、上記複数の
処理実行部それぞれの実行モジュールをそれぞれ記憶す
る複数の実行モジュール記憶部と、上記処理要求があっ
た場合に、上記複数の処理実行部のうちから上記処理要
求にかかる処理を実行させる処理実行部を選択し、選択
した処理実行部に上記処理要求にかかる処理を実行させ
る処理要求制御部と、上記処理実行部の処理状況に基づ
いて、上記複数の実行モジュール記憶部のうちの1つの
実行モジュール記憶部から他の実行モジュール記憶部へ
実行モジュールを転送するモジュール転送部と、を備え
た自律協調処理装置であって、複数の処理要求制御部
は、通常時においてそれぞれ異なるコンピュータ上で実
行されるとともに、処理実行部の実行状況の情報に基づ
いて自己のコンピュータで処理要求にかかる処理を受け
容れるか否かを判断する受容判断部を有し、処理要求が
あった場合には、実行状況の情報及び受容判断部を他の
コンピュータへ転送し、他のコンピュータへ転送された
受容判断部は、複数のコンピュータのうちの少なくとも
1つのコンピュータにかかる受容判断部と他のコンピュ
ータ内で通信することにより処理要求にかかる処理を受
け容れるか否かを判断するため、処理要求の処理効率を
向上させることができる。
【0164】また、受容判断部は、通信状態に基づいて
移動先を変更するため、ネットワークの負荷を軽減する
ことができる。
【0165】また、この発明における自律協調処理方法
においては、複数のコンピュータが独自の実行モジュー
ルを用いてそれぞれ処理要求を処理する自律協調処理方
法であって、複数のコンピュータのうちの第1のコンピ
ュータが、自己の実行モジュールを用いて処理要求の処
理状況を監視する監視ステップと、処理状況が遅延して
いる場合に、第1のコンピュータが他のコンピュータに
対し、他のコンピュータにおける処理要求に対応する実
行モジュールの過去の処理実績を問い合わせる問い合わ
せステップと、この問い合わせステップの結果得られた
処理実績に基づき、他のコンピュータの実行モジュール
を、他のコンピュータから第1のコンピュータへ転送す
る実行モジュール転送ステップと、この実行モジュール
転送ステップで転送された実行モジュールを用いて、第
1のコンピュータが処理要求を処理する処理ステップ
と、を備えたため、処理要求の処理効率を向上させるこ
とができる。
【0166】また、複数のコンピュータが、処理要求の
処理手順である処理プランに基づいて処理要求を処理す
る自律協調処理方法であって、複数のコンピュータのう
ちの第1のコンピュータが、処理プランを作成するモジ
ュールである策定モジュールを用いて、処理要求に対す
る処理プランを作成する処理プラン作成ステップと、第
1のコンピュータが、処理プランに基づいて処理される
処理要求の処理状況を監視する監視ステップと、第1の
コンピュータが、処理状況が遅延していると判断した場
合に、他のコンピュータに対し、他のコンピュータにお
ける処理要求に対応する策定モジュールの過去の処理要
求の処理実績を問い合わせる問い合わせステップと、こ
の問い合わせステップの結果得られた処理実績に基づ
き、他のコンピュータの策定モジュールを、他のコンピ
ュータから第1のコンピュータへ転送する実行モジュー
ル転送ステップと、第1のコンピュータが、この実行モ
ジュール転送ステップで転送された策定モジュールを用
いて処理プランを作成し、作成した処理プランに従って
処理要求を処理する処理ステップと、を備えたため、処
理要求の処理効率を向上させることができる。
【0167】また、この発明における自律協調処理方法
をコンピュータに実行させるプログラムを記録した記録
媒体においては、複数のコンピュータが独自の実行モジ
ュールを用いてそれぞれ処理要求を処理する自律協調処
理方法をコンピュータに実行させるプログラムを記録し
た記録媒体であって、複数のコンピュータのうちの第1
のコンピュータが、自己の実行モジュールを用いて処理
要求の処理状況を監視する監視ステップと、処理状況が
遅延している場合に、第1のコンピュータが他のコンピ
ュータに対し、他のコンピュータにおける処理要求に対
応する実行モジュールの過去の処理実績を問い合わせる
問い合わせステップと、この問い合わせステップの結果
得られた処理実績に基づき、他のコンピュータの実行モ
ジュールを、他のコンピュータから第1のコンピュータ
へ転送する実行モジュール転送ステップと、この実行モ
ジュール転送ステップで転送された実行モジュールを用
いて、第1のコンピュータが処理要求を処理する処理ス
テップと、を記録したため、処理要求の処理効率を向上
させることができる。
【0168】また、複数のコンピュータが、処理要求の
処理手順である処理プランに基づいて処理要求を処理す
る自律協調処理方法をコンピュータに実行させるプログ
ラムを記録した記録媒体であって、複数のコンピュータ
のうちの第1のコンピュータが、処理プランを作成する
モジュールである策定モジュールを用いて、処理要求に
対する処理プランを作成する処理プラン作成ステップ
と、第1のコンピュータが、処理プランに基づいて処理
される処理要求の処理状況を監視する監視ステップと、
第1のコンピュータが、処理状況が遅延していると判断
した場合に、他のコンピュータに対し、他のコンピュー
タにおける処理要求に対応する策定モジュールの過去の
処理要求の処理実績を問い合わせる問い合わせステップ
と、この問い合わせステップの結果得られた処理実績に
基づき、他のコンピュータの策定モジュールを、他のコ
ンピュータから第1のコンピュータへ転送する実行モジ
ュール転送ステップと、第1のコンピュータが、この実
行モジュール転送ステップで転送された策定モジュール
を用いて処理プランを作成し、作成した処理プランに従
って処理要求を処理する処理ステップと、をコンピュー
タに実行させるためのプログラムを記録したため、処理
要求の処理効率を向上させることができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1における自律協調処
理システムの機能ブロック図である。
【図2】 この発明の実施の形態1における自律協調処
理システムの機能ブロック図である。
【図3】 この発明の実施の形態1における自律協調処
理システムのシーケンス図である。
【図4】 この発明の実施の形態1における処理プラン
策定部の機能ブロック図である。
【図5】 この発明の実施の形態1におけるタスク処理
データベース内の記憶内容を示した図である。
【図6】 この発明の実施の形態1における実行モジュ
ールの変更処理を示すフローチャートである。
【図7】 この発明の実施の形態2における自律協調処
理システムの機能ブロック図である。
【図8】 この発明の実施の形態2における自律協調処
理システムの機能ブロック図である。
【図9】 この発明の実施の形態2におけるエージェン
トモジュール更新部の機能ブロック図である。
【図10】 この発明の実施の形態2における処理プラ
ン策定部のプラン策定実績データベース部の記憶内容を
示した図である。
【図11】 この発明の実施の形態2における処理プラ
ン策定部の処理プラン策定データベース部の記憶内容を
示した図である。
【図12】 この発明の実施の形態2における実行主体
管理部のプランデータベース部の記憶内容を示した図で
ある。
【図13】 この発明の実施の形態2におけるエージェ
ントモジュール更新部のタスクデータベース部の記憶内
容を示した図である。
【図14】 この発明の実施の形態2における処理プラ
ン策定モジュール格納部の記憶内容を示した図である。
【図15】 この発明の実施の形態2における自律協調
処理システムのシーケンス図である。
【図16】 この発明の実施の形態2における処理プラ
ン策定モジュール適用規則を示す図である。
【図17】 この発明の実施の形態3における自律協調
処理システムの機能ブロック図である。
【図18】 この発明の実施の形態3におけるモバイル
エージェント部転送処理を説明するシーケンス図であ
る。
【図19】 従来の自律分散システムを示す機能ブロッ
ク図である。
【図20】 従来の自律分散システムを示す機能ブロッ
ク図である。
【符号の説明】
1000 エージェント部、 1010 エージェント
受付発信部、 1020 処理プラン策定部、 103
0 処理プラン策定モジュール格納部、 1040 プ
ラン実行管理部、 1050 実行主体管理部、 10
60 エージェントモジュール更新部、 1080 評
価部、 1100 実行主体部、 1110 実行モジ
ュール更新部、 1120 実行部、 1130 実行
モジュール格納部、 1140 タスク処理データベー
ス部、 7000 実行モジュールデータベース部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−231184(JP,A) 特開 平10−149287(JP,A) 「情報処理学会誌」Vol.38,N o.1(1997−1)P.17−23 「情報処理学会研究報告」Vol. 97,No.13(97−DPS−80−22) (1997−1) 「IEEE Internet Co mputing)Vol.1,No.4 (1997−7)P.50−57 (58)調査した分野(Int.Cl.6,DB名) G06F 9/44,15/16

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】 処理要求にかかる処理を実行モジュール
    を用いてそれぞれ実行する複数の処理実行部と、 これら複数の処理実行部に対応して設けられ、上記複数
    の処理実行部それぞれの実行モジュールをそれぞれ記憶
    する複数の実行モジュール記憶部と、 上記処理要求があった場合に、上記複数の処理実行部の
    うちから上記処理要求にかかる処理を実行させる処理実
    行部を選択し、選択した処理実行部に上記処理要求にか
    かる処理を実行させる処理要求制御部と、 上記処理実行部の処理状況に基づいて、上記複数の実行
    モジュール記憶部のうちの1つの実行モジュール記憶部
    から他の実行モジュール記憶部へ実行モジュールを転送
    するモジュール転送部と、 を備え 上記処理実行部は、上記モジュール転送部によって転送
    された実行モジュールを用いて上記処理要求にかかる処
    理を実行し直すことを特徴とする 自律協調処理装置。
  2. 【請求項2】 複数の実行モジュール記憶部は、複数の
    コンピュータにそれぞれ設けられ、 上記複数のコンピュータは、ネットワークで互いに接続
    され、 モジュール転送部は、上記ネットワークを介して、他の
    コンピュータの上記実行モジュール記憶部上にある実行
    モジュールを検索し、検索した実行モジュールのうち処
    理要求にかかる処理に適した実行モジュールを決定し、
    決定した実行モジュールを上記ネットワークを介して自
    己のコンピュータの実行モジュール記憶部に転送するこ
    とを特徴とする請求項1に記載の自律協調処理装置。
  3. 【請求項3】 処理要求にかかる処理を実行モジュール
    を用いてそれぞれ実行する複数の処理実行部と、 これら複数の処理実行部に対応して設けられ、上記複数
    の処理実行部それぞれの実行モジュールをそれぞれ記憶
    する複数の実行モジュール記憶部と、 上記処理要求があった場合に、上記複数の処理実行部の
    うちから上記処理要求にかかる処理を実行させる処理実
    行部を選択し、選択した処理実行部に上記処理要求にか
    かる処理を実行させる処理要求制御部と、 上記処理実行部の処理状況に基づいて、上記複数の実行
    モジュール記憶部のうちの1つの実行モジュール記憶部
    から他の実行モジュール記憶部へ実行モジュールを転送
    するモジュール転送部と、 を備え、 上記 複数の実行モジュール記憶部は、複数のコンピュー
    タにそれぞれ設けられ、 上記複数のコンピュータは、ネットワークで互いに接続
    され、上記 モジュール転送部は、上記ネットワークを介して、
    他のコンピュータの上記実行モジュール記憶部上にある
    実行モジュールを検索し、検索した実行モジュールのう
    上記処理要求にかかる処理に適した実行モジュールを
    決定し、決定した実行モジュールを上記ネットワークを
    介して自己のコンピュータの実行モジュール記憶部に転
    送することを特徴とする自律協調処理装置。
  4. 【請求項4】 処理要求にかかる処理を処理するために
    実行されるプログラムである複数の実行モジュールのう
    ち、上記処理要求にかかる処理をどの実行モジュールを
    用いて処理するかを決定する規則である実行モジュール
    適用規則に基づいて上記実行モジュールを選択し、選択
    された実行モジュールを用いて、上記処理要求にかかる
    処理をそれぞれ実行する複数の処理実行部と、 これら複数の処理実行部に対応して設けられ、上記複数
    の処理実行部それぞれの実行モジュール及び実行モジュ
    ール適用規則をそれぞれ記憶する複数の実行モジュール
    記憶部と、 上記処理要求があった場合に、上記複数の処理実行部の
    うちから上記処理要求にかかる処理を実行させる処理実
    行部を選択し、選択した処理実行部に上記処理要求にか
    かる処理を実行させる処理要求制御部と、 上記処理実行部の処理状況に基づいて、上記複数の実行
    モジュール記憶部のうちの1つの実行モジュール記憶部
    から他の実行モジュール記憶部へ上記実行モジュール適
    用規則を転送するモジュール適用規則転送部と、 を備えた自律協調処理装置。
  5. 【請求項5】 処理実行部は、モジュール適用規則転送
    部が他の処理実行部に対応する実行モジュール記憶部か
    ら自己に対応する実行モジュール記憶部に実行モジュー
    ル適用規則を転送した場合に、転送された上記実行モジ
    ュール適用規則を用いて実行モジュールを選択し直し、
    選択し直した実行モジュールを用いて処理要求にかかる
    処理を実行し直すことを特徴とする請求項4に記載の自
    律協調処理装置。
  6. 【請求項6】 処理要求にかかる処理をそれぞれ実行す
    る複数の処理実行部と、 上記複数の処理実行部のうちの複数の処理実行部に接続
    され、上記処理要求があった場合に、上記処理要求にか
    かる処理を上記複数の処理実行部のうちどの処理実行部
    に実行させるかを決定するモジュールである策定モジュ
    ールを用いて、接続された上記複数の処理実行部のうち
    から上記処理要求にかかる処理を実行させる処理実行部
    を選択し、選択した処理実行部に上記処理要求にかかる
    処理を実行させる複数の処理要求制御部と、 これら複数の処理要求制御部に対応して設けられ、上記
    複数の処理要求制御部それぞれの策定モジュールをそれ
    ぞれ記憶する複数の策定モジュール記憶部と、 上記処理要求の処理状況に基づいて、上記複数の策定モ
    ジュール記憶部のうちの1つの策定モジュール記憶部か
    ら他の策定モジュール記憶部へ上記策定モジュールを転
    送するモジュール転送部と、 を備えた自律協調処理装置。
  7. 【請求項7】 複数の策定モジュールのそれぞれは、処
    理要求を複数の処理に分解するとともに、上記複数の処
    理の実行手順を処理プランとして決定する処理を有し、 上記複数の策定モジュールはそれぞれ異なるアルゴリズ
    ムであり、 処理要求制御部は、モジュール転送部が他の処理要求制
    御部に対応する策定モジュール記憶部から自己に対応す
    る策定モジュール記憶部へ上記策定モジュールを転送し
    た場合に、転送された策定モジュールを用いて上記処理
    プランを作成し直し、作成し直した処理プランに基づい
    て上記処理要求にかかる複数の処理を処理実行部に実行
    させることを特徴とする請求項6に記載の自律協調処理
    装置。
  8. 【請求項8】 複数の策定モジュール記憶部は、複数の
    コンピュータにそれぞれ設けられ、 上記複数のコンピュータは、ネットワークで互いに接続
    され、 モジュール転送部は、上記ネットワークを介して、他の
    コンピュータの上記策定モジュール記憶部上にある策定
    モジュールを検索し、検索した策定モジュールのうち処
    理要求に適した策定モジュールを決定し、決定した策定
    モジュールを上記ネットワークを介して自己のコンピュ
    ータに対応する策定モジュール記憶部へ転送することを
    特徴とする請求項6又は7に記載の自律協調処理装置。
  9. 【請求項9】 処理要求にかかる処理をそれぞれ実行す
    る複数の処理実行部と、 上記処理要求にかかる処理を上記複数の処理実行部のう
    ちどの処理実行部に実行させるかを決定するモジュール
    である複数の策定モジュール、及び、上記処理要求に対
    して上記複数の策定モジュールのうちどの策定モジュー
    ルを適用するかを決定する策定モジュール適用規則を、
    それぞれ記憶する複数の策定モジュール記憶部と、 これら複数の策定モジュール記憶部のうちのいずれかに
    接続されるとともに、上記複数の処理実行部のうちの複
    数の処理実行部に接続され、上記処理要求があった場合
    に、上記策定モジュールを用いて、接続された上記複数
    の処理実行部のうちから上記処理要求にかかる処理を実
    行させる処理実行部を選択し、選択した処理実行部に上
    記処理要求にかかる処理を実行させる複数の処理要求制
    御部と、 上記処理要求の処理状況に基づいて、上記複数の策定モ
    ジュール記憶部のうちの1つの策定モジュール記憶部か
    ら他の策定モジュール記憶部へ上記策定モジュール適用
    規則を転送するモジュール転送部と、を備えた自律協調
    処理装置。
  10. 【請求項10】 複数の策定モジュール適用規則はそれ
    ぞれ規則が異なっており、 処理要求制御部は、モジュール転送部が他の処理要求制
    御部に対応する策定モジュール記憶部から自己に対応す
    る策定モジュール記憶部へ上記策定モジュール適用規則
    を転送した場合に、転送された策定モジュール適用規則
    を用いて策定モジュールを決定し直し、決定し直した策
    定モジュールを用いて上記処理要求にかかる処理を実行
    させる処理実行部を選択し直し、選択し直した処理実行
    部に上記処理要求にかかる処理を実行させることを特徴
    とする請求項9に記載の自律協調処理装置。
  11. 【請求項11】 複数の策定モジュール記憶部は、複数
    のコンピュータにそれぞれ設けられ、 上記複数のコンピュータは、ネットワークで互いに接続
    され、 モジュール転送部は、上記ネットワークを介して、他の
    コンピュータの上記策定モジュール記憶部上にある策定
    モジュール適用規則を検索し、検索した策定モジュール
    適用規則のうち処理要求に適した策定モジュールを決定
    し、決定した策定モジュールを上記ネットワークを介し
    て自己に接続された策定モジュール記憶部へ転送するこ
    とを特徴とする請求項9又は10に記載の自律協調処理
    装置。
  12. 【請求項12】 処理要求にかかる処理を実行モジュー
    ルを用いてそれぞれ実行する複数の処理実行部と、 これら複数の処理実行部に対応して設けられ、上記複数
    の処理実行部それぞれの実行モジュールをそれぞれ記憶
    する複数の実行モジュール記憶部と、 上記処理要求があった場合に、上記複数の処理実行部の
    うちから上記処理要求にかかる処理を実行させる処理実
    行部を選択し、選択した処理実行部に上記処理要求にか
    かる処理を実行させる処理要求制御部と、 上記処理実行部の処理状況に基づいて、上記複数の実行
    モジュール記憶部のうちの1つの実行モジュール記憶部
    から他の実行モジュール記憶部へ実行モジュールを転送
    するモジュール転送部と、を備えた自律協調処理装置で
    あって、 複数の上記処理要求制御部は、通常時においてそれぞれ
    異なるコンピュータ上で実行されるとともに、上記処理
    実行部の実行状況の情報に基づいて自己のコンピュータ
    で処理要求にかかる処理を受け容れるか否かを判断する
    受容判断部を有し、処理要求があった場合には、上記実
    行状況の情報及び上記受容判断部を他のコンピュータへ
    転送し、 上記他のコンピュータへ転送された受容判断部は、上記
    複数のコンピュータのうちの少なくとも1つのコンピュ
    ータにかかる受容判断部と上記他のコンピュータ内で通
    信することにより上記処理要求にかかる処理を受け容れ
    るか否かを判断することを特徴とする自律協調処理装
    置。
  13. 【請求項13】 受容判断部は、通信状態に基づいて移
    動先を変更することを特徴とする請求項12に記載の自
    律協調処理装置。
  14. 【請求項14】 複数のコンピュータが独自の実行モジ
    ュールを用いてそれぞれ処理要求を処理する自律協調処
    理方法であって、 複数のコンピュータのうちの第1のコンピュータが、自
    己の実行モジュールを用いて上記処理要求の処理状況を
    監視する監視ステップと、 上記処理状況が遅延している場合に、上記第1のコンピ
    ュータが他のコンピュータに対し、上記他のコンピュー
    タにおける上記処理要求に対応する実行モジュールの過
    去の処理実績を問い合わせる問い合わせステップと、 この問い合わせステップの結果得られた処理実績に基づ
    き、上記他のコンピュータの実行モジュールを、上記他
    のコンピュータから上記第1のコンピュータへ転送する
    実行モジュール転送ステップと、 この実行モジュール転送ステップで転送された実行モジ
    ュールを用いて、上記第1のコンピュータが上記処理要
    求を処理する処理ステップと、を備えた自律協調処理方
    法。
  15. 【請求項15】 複数のコンピュータが、処理要求の処
    理手順である処理プランに基づいて上記処理要求を処理
    する自律協調処理方法であって、 上記複数のコンピュータのうちの第1のコンピュータ
    が、上記処理プランを作成するモジュールである策定モ
    ジュールを用いて、上記処理要求に対する上記処理プラ
    ンを作成する処理プラン作成ステップと、 上記第1のコンピュータが、上記処理プランに基づいて
    処理される上記処理要求の処理状況を監視する監視ステ
    ップと、 上記第1のコンピュータが、上記処理状況が遅延してい
    ると判断した場合に、他のコンピュータに対し、他のコ
    ンピュータにおける上記処理要求に対応する策定モジュ
    ールの過去の上記処理要求の処理実績を問い合わせる問
    い合わせステップと、 この問い合わせステップの結果得られた処理実績に基づ
    き、他のコンピュータの策定モジュールを、上記他のコ
    ンピュータから第1のコンピュータへ転送する実行モジ
    ュール転送ステップと、 上記第1のコンピュータが、この実行モジュール転送ス
    テップで転送された策定モジュールを用いて処理プラン
    を作成し、作成した処理プランに従って上記処理要求を
    処理する処理ステップと、を備えた自律協調処理方法。
  16. 【請求項16】 複数のコンピュータが独自の実行モジ
    ュールを用いてそれぞれ処理要求を処理する自律協調処
    理方法をコンピュータに実行させるプログラムを記録し
    た記録媒体であって、 上記複数のコンピュータのうちの第1のコンピュータ
    が、自己の実行モジュールを用いて上記処理要求の処理
    状況を監視する監視ステップと、 上記処理状況が遅延している場合に、上記第1のコンピ
    ュータが他のコンピュータに対し、上記他のコンピュー
    タにおける上記処理要求に対応する実行モジュールの過
    去の処理実績を問い合わせる問い合わせステップと、 この問い合わせステップの結果得られた処理実績に基づ
    き、上記他のコンピュータの実行モジュールを、上記他
    のコンピュータから上記第1のコンピュータへ転送する
    実行モジュール転送ステップと、 この実行モジュール転送ステップで転送された実行モジ
    ュールを用いて、上記第1のコンピュータが上記処理要
    求を処理する処理ステップと、をコンピュータに実行さ
    せるためのプログラムを記録した記録媒体。
  17. 【請求項17】 複数のコンピュータが、処理要求の処
    理手順である処理プランに基づいて処理要求を処理する
    自律協調処理方法をコンピュータに実行させるプログラ
    ムを記録した記録媒体であって、 上記複数のコンピュータのうちの第1のコンピュータ
    が、上記処理プランを作成するモジュールである策定モ
    ジュールを用いて、上記処理要求に対する上記処理プラ
    ンを作成する処理プラン作成ステップと、 上記第1のコンピュータが、上記処理プランに基づいて
    処理される上記処理要求の処理状況を監視する監視ステ
    ップと、 上記第1のコンピュータが、上記処理状況が遅延してい
    ると判断した場合に、他のコンピュータに対し、他のコ
    ンピュータにおける上記処理要求に対応する策定モジュ
    ールの過去の上記処理要求の処理実績を問い合わせる問
    い合わせステップと、 この問い合わせステップの結果得られた処理実績に基づ
    き、他のコンピュータの策定モジュールを、上記他のコ
    ンピュータから第1のコンピュータへ転送する実行モジ
    ュール転送ステップと、 上記第1のコンピュータが、この実行モジュール転送ス
    テップで転送された策定モジュールを用いて処理プラン
    を作成し、作成した処理プランに従って上記処理要求を
    処理する処理ステップと、をコンピュータに実行させる
    ためのプログラムを記録した記録媒体。
JP10029763A 1998-02-12 1998-02-12 自律協調処理装置、自律協調処理方法、並びに、その記録媒体 Expired - Fee Related JP2988462B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10029763A JP2988462B2 (ja) 1998-02-12 1998-02-12 自律協調処理装置、自律協調処理方法、並びに、その記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10029763A JP2988462B2 (ja) 1998-02-12 1998-02-12 自律協調処理装置、自律協調処理方法、並びに、その記録媒体

Publications (2)

Publication Number Publication Date
JPH11232108A JPH11232108A (ja) 1999-08-27
JP2988462B2 true JP2988462B2 (ja) 1999-12-13

Family

ID=12285111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10029763A Expired - Fee Related JP2988462B2 (ja) 1998-02-12 1998-02-12 自律協調処理装置、自律協調処理方法、並びに、その記録媒体

Country Status (1)

Country Link
JP (1) JP2988462B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354090B (en) * 1999-09-08 2004-03-17 Sony Uk Ltd Distributed service provider
US8214246B2 (en) * 2004-09-30 2012-07-03 Dunnhumby Limited Method for performing retail sales analysis
JP5246299B2 (ja) * 2005-08-26 2013-07-24 株式会社リコー 機器、情報処理システム、情報処理方法、情報処理プログラム、及び記録媒体
JP4832226B2 (ja) * 2005-09-16 2011-12-07 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP4966004B2 (ja) * 2005-12-28 2012-07-04 パナソニック株式会社 ネットワーク機器システム
JP5343781B2 (ja) * 2009-09-15 2013-11-13 株式会社リコー 情報処理装置およびプログラム
JP5414663B2 (ja) * 2010-12-24 2014-02-12 株式会社東芝 サービス提供システム、装置及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
「IEEE Internet Computing)Vol.1,No.4(1997−7)P.50−57
「情報処理学会研究報告」Vol.97,No.13(97−DPS−80−22)(1997−1)
「情報処理学会誌」Vol.38,No.1(1997−1)P.17−23

Also Published As

Publication number Publication date
JPH11232108A (ja) 1999-08-27

Similar Documents

Publication Publication Date Title
US6014700A (en) Workload management in a client-server network with distributed objects
EP0829806B1 (en) Data-processing apparatus and method
JP4020504B2 (ja) ワークフロー管理システム制御方法及びワークフロー管理システム
JP3658420B2 (ja) 分散処理システム
EP0805393B1 (en) Method and apparatus for managing membership of a group of processors in a distributed computing environment
JP4992408B2 (ja) ジョブ割当プログラム、方法及び装置
JPS62109451A (ja) データ伝送ネットワークの通信パス確立・不可用性データ収集方法
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
JP7103705B1 (ja) クラスタに基づく容量縮小処理方法及び装置
JP2988462B2 (ja) 自律協調処理装置、自律協調処理方法、並びに、その記録媒体
US20050021511A1 (en) System and method for load balancing in database queries
CN114402341A (zh) 一种确定设备信息的方法、装置以及系统
EP4068725A1 (en) Load balancing method and related device
JP2003281007A (ja) 動的構成制御装置および動的構成制御方法
JP3745820B2 (ja) 自律協調情報処理装置並びに自律協調情報処理方法
Quang et al. Device-driven on-demand deployment of serverless computing functions
JP3688462B2 (ja) 情報処理装置及び方法並びに情報処理用プログラムを記録した記録媒体
Cao et al. A framework of using cooperating mobile agents to achieve load sharing in distributed web server groups
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JP3688471B2 (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
CN112615901B (zh) 一种客户端发送用户请求的方法和存储系统
JPH07253951A (ja) 分散処理システム
Hamadi Distributed interleaved parallel and cooperative search in constraint satisfaction networks
CN115934006B (zh) Io接入点和数据处理任务管理方法、装置、设备和介质
US10990429B2 (en) Rule-based reallocation of hosted compute resources

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees