(57)【特許請求の範囲】
【請求項１】
外部からの処理要求を受け付け、上記処理要求の処理先を指定して出力する複数のエージェント部と、上記複数のエージェント部から指示された上記処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、
上記複数のエージェント部の各々と上記複数の情報処理部の各々とは、互いに分離独立して独自に稼動し、上記複数のエージェント部の各々は、リンクの接続制御を動的に行って他の上記エージェント部に対してリンクを張るとともに、リンクの接続制御を動的に行って上記複数の情報処理部の少なくとも１つ以上の情報処理部に対してリンクを張り、上記複数の情報処理部の各々は、上記複数のエージェント部の少なくとも１つ以上のエージェント部からリンクにより接続され、このリンクにより接続された少なくとも１つ以上のエージェント部からの指示にしたがって動作を決定するとともに、上記リンクにより接続された少なくとも１つ以上の上記エージェント部から指示された上記処理要求を処理し、
上記エージェント部は、
外部からの上記処理要求があった場合に、他の上記エージェント部との協調連携処理を自律した判断に基づいて行うために、他の上記エージェント部とのリンクの接続制御を動的に行ってリンクを張り、このリンクを介して、他の上記エージェント部の処理の進捗状況を受け取り、自エージェント部と他の上記エージェント部とで既に受け付けた上記処理要求の処理の進捗状況に応じて外部からの上記処理要求をいずれのエージェント部で受け付けるかを判断し、上記自エージェント部で外部からの上記処理要求を受け付けると判断した場合には、受け付けると判断した上記処理要求の内容と既に受け付けた上記処理要求の処理の進捗状況との少なくともいずれかに応じて処理プランを策定し、該処理プランにしたがって上記情報処理部とのリンクの接続制御を動的に行って、上記処理要求を割り当てる上記情報処理部へのリンクを張り、上記リンクの張られた上記情報処理部への上記処理要求の割り当てと上記リンクの張られた上記情報処理部の実行制御の管理を行う自律協調情報処理装置であって、
上記エージェント部は、
外部からの上記処理要求を受け付けるか否かを判断し、上記複数の情報処理部間、他の上記エージェント部間、他の上記プロセスと、他のアプリケーションシステムとの協調連携処理を策定・調整・実施するための協調処理を自律した判断に基づいて行う協調処理部と、
リンクの動的な接続変更による上記情報処理部との接続制御と、
上記リンクの張られている上記情報処理部の実行制御の管理と、
上記リンクの張られた上記情報処理部の処理状況の監視と、
上記リンクの張られた上記情報処理部の処理状況と、
上記情報処理部の要求と
の少なくともいずれかに応じた上記協調処理部の協調処理の実行制御の管理とを自律した判断に基づいて行う情報処理管理部と
を備え、
上記協調処理部は、
新たな処理要求が上記情報処理管理部から受け付けた要求に対応する処理要求であるか否かを判断して受け付けるか否かを決定し、
上記情報処理管理部は、
上記協調処理部が受け付けた処理要求の処理スケジュールを作成または調整し、該処理スケジュールに基づいて、上記リンクの張られている情報処理部の実行制御の管理を行い、
上記情報処理部への処理要求の受渡しと上記情報処理部の処理の進捗管理を行い、
上記情報処理部との情報交換のために異なる通信規約ごとに用意したインターフェースモジュールから上記情報処理部の通信規約に合っているインターフェースモジュールを使用して通信を行って上記情報処理部とのリンクを動的に切り替えるとともに、
上記自律協調情報処理装置は、さらに、
外部から上記処理要求を受け付け、上記複数のエージェント部へ当該処理要求の引き取り可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取る上記エージェント部を決定するプラン策定部を備え、
このプラン策定部は、
外部から受け付けた上記処理要求を既に受付ているが上記エージェント部に引渡しができていない未処理である上記処理要求を含めて、
同じ処理の繰り返し実行をさせないために同じ処理となる外部から受け付けた上記処理要求と既に受け付けている未処理である処理要求とを１つにまとめる統合処理を行い、
上記統合処理済の処理要求を処理できる上記エージェント部であり、かつ上記処理要求を処理するための実行モジュールの実行回数を低減することができるという機能要件を満たす上記エージェント部を探し、
発見された上記エージェント部に、上記統合処理した処理要求の中から処理可能当該機能要件を満たす上記処理要求を送信して、引き受け可能かどうかを問い合わせ、引き受け可能と通知してきた上記エージェント部に処理を依頼し引き渡すことを特徴とする自律協調情報処理装置。
【請求項２】
上記複数の情報処理部はそれぞれ複数の上記エージェント部からの上記処理要求を受け付けるとともに、
上記エージェント部は、自己の管理する上記処理要求の件数又は優先度から新たな上記処理要求を受け付けられるか否かを判定し、上記協調処理部からこの判定結果を通信し、
上記情報処理管理部は、上記協調処理部が上記処理要求を受け取ったときに、自己の管理する上記情報処理部の処理状況と上記情報処理部の属性との少なくともいずれかを考慮して、上記複数の情報処理部から当該処理要求を処理する情報処理部を選択し、この選択した情報処理部へ当該処理要求を割り当てるとともに、
この情報処理管理部を他の上記エージェント部と共有することにより、上記情報処理部は上記複数のエージェント部への通信を、上記情報処理管理部を介して行うことを特徴とする請求項１記載の自律協調情報処理装置。
【請求項３】
上記自律協調情報処理装置は、さらに、
上記エージェント部が抱える上記処理要求の数を均衡させ、当該処理要求の処理の優先順位の逆転を抑制するために、上記エージェント部と上記情報処理部の処理の進捗状況に応じて動的に上記エージェント部と上記情報処理部とが受け持つ上記処理要求の数量の調整と処理の優先順位に基づく上記処理プランの修正変更を行うとともに、上記情報処理部が抱えている上記処理要求の最下位実施順位が、他の上記情報処理部が抱えている上記処理要求の最上位実施順位よりも上位の上記情報処理部を発見し、その発見した各々の上記情報処理部を管理している上記各々のエージェント部に、その各々のエージェント部が管理している上記情報処理部の抱えている上記処理要求の中から、実施順位の上位から互いに上記処理要求を取り合うことにより上記処理要求の再割り当てを行うことを指示するプラン調整部を
備えることを特徴とする請求項１又は２に記載の自律協調情報処理装置。
【請求項４】
上記自律協調情報処理装置は、さらに、
上記情報処理管理部が管理している上記情報処理部に処理を依頼してその結果が返ってくるまでのターンアラウンド時間を計測しその計測値に基づいて、上記エージェント部と上記情報処理部とに割り当てられた上記処理要求の数量の増減を行うチューニング部
を備えることを特徴とする請求項１〜３のいずれかに記載の自律協調情報処理装置。
【請求項５】
上記情報処理管理部は、
上記処理要求を、当該処理要求が持つ属性により指定した実行順序の優先度に基づいて定められた優先順位にしたがって当該処理要求に設定されている引渡し条件を満足する上記情報処理部に引き渡すことを特徴とする請求項１〜４のいずれかに記載の自律協調情報処理装置。
【請求項６】
上記情報処理部は、
引き受ける上記処理要求の条件を指定し、指定した条件を上記情報処理管理部に通知し、通知後に上記情報処理管理部から上記指定した条件を満足する上記処理要求が提示された場合に、その中から引き受ける上記処理要求を決定しその処理要求を受け取ることを特徴とする請求項１〜５のいずれかに記載の自律協調情報処理装置。
【請求項７】
上記情報処理管理部は、
上記協調処理部に対して、発信する上記処理要求の条件を提示し、その条件を充足する上記処理要求を発信するように指示し、上記協調処理部から送られてくる上記処理要求に対しては、その処理要求の条件チェックを行い、
受け付けた上記処理要求の処理の優先順位の決定と、引き受け先の上記情報処理部の決定にあたっての競合解消戦略を上記協調処理部の抱えている上記処理要求の数量に応じて指定する実行制御管理部を備えることを特徴とする請求項１〜６のいずれかに記載の自律協調情報処理装置。
【請求項８】
上記情報処理管理部は、
上記協調処理部が抱えている引き受け上記処理要求の数を監視し、その数が定められた値を超えた場合に、その協調処理部が抱えている上記処理要求のいくつかを分割し、その分割した処理要求を引き受けさせる上記協調処理部を、分割した処理要求の引渡し条件と上記協調処理部の受け入れ条件を比較して選択し、選択した協調処理部に分割した処理要求を引き受けさせて抱えている引き受け上記処理要求の数量を調整し、当該処理要求の優先順位に基づく処理の実行順序の制御を行う情報処理調整部を備えることを特徴とする請求項１〜７のいずれかに記載の自律協調情報処理装置。
【請求項９】
上記自律協調情報処理装置は、さらに、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理の処理結果が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理部と、
上記複数の処理要求の断続的な発信と上記処理結果の受信の少なくともいずれかを操作する、ネットワークを介して接続される処理要求結果送受信部と、
上記処理要求結果送受信部からの上記処理要求を受付、受け付けた処理要求を、処理の順序を考慮するものと、処理の順序を考慮しなくてもよいものと、過去に行った処理の処理結果を再利用することができるものと、やり直すことが必要なものと、他の上記処理要求とは独立したものとの少なくともいずれかの区分に分割して上記処理プランを作成し、該処理プランの中の上記受け付けた処理要求が、未処理である処理と、上記処理結果が再利用できない処理との少なくともいずれかの場合には、上記区分にしたがった処理を依頼する処理要求管理部と、
上記処理要求が未処理である処理か、上記処理結果が再利用できない処理であるかの問合せを受付け回答するとともに、分割された上記処理要求の上記処理結果を統合する処理結果統合管理部と、
上記処理結果統合管理部において統合された上記処理結果を上記処理要求結果送受信部へ転送して、上記処理要求を充足する上記処理結果を提供する処理結果提供部と
を備えることを特徴とする請求項１〜８のいずれかに記載の自律協調情報処理装置。
【請求項１０】
外部からの処理要求を受け付け、上記処理要求の処理先を指定して出力する複数のエージェントモジュールと、上記複数のエージェントモジュールから指示された上記処理要求を処理する複数のプロセスとを実行する情報処理装置の自律協調情報処理方法において、
上記複数のエージェントモジュールの各々は、独自に稼動する分離独立した協調処理モジュールを実行する処理ステップを有し、上記複数のプロセスの各々は、分離独立して独自に稼動する処理ステップを有し、上記複数のエージェントモジュールの各々が、リンクの接続制御を動的に行って他の上記エージェントモジュールに対してリンクを張るとともに、リンクの接続制御を動的に行って上記複数のプロセスの少なくとも１つ以上のプロセスに対してリンクを張るステップと、
上記複数のプロセスの各々が、上記複数のエージェントモジュールの少なくとも１つ以上のエージェントモジュールからリンクにより接続され、このリンクにより接続された少なくとも１つ以上の上記エージェントモジュールからの指示にしたがって動作を決定するとともに、上記リンクにより接続された少なくとも１つ以上の上記エージェントモジュールから指示された上記処理要求を処理するステップと、
外部からの上記処理要求があった場合に、他の上記エージェントモジュールとの協調連携処理を自律した判断に基づいて行うために、上記エージェントモジュールが、他の上記エージェントモジュールとのリンクの接続制御を動的に行ってリンクを張り、このリンクを介して、他の上記エージェントモジュールの処理の進捗状況を受け取り、上記エージェントモジュールが、自エージェントモジュールと他の上記エージェントモジュールとで既に受け付けた上記処理要求の処理の進捗状況に応じて外部からの上記処理要求をいずれの上記エージェントモジュールで受け付けるかを判断するステップと、
上記エージェントモジュールが、上記自エージェントモジュールで外部からの上記処理要求を受け付けると判断した場合には、上記エージェントモジュールが、受け付けると判断した上記処理要求の内容と既に受け付けた上記処理要求の処理の進捗状況との少なくともいずれかに応じて処理プランを策定し、上記エージェントモジュールが、該処理プランにしたがって上記プロセスとのリンクの接続制御を動的に行って、上記処理要求を割り当てる上記プロセスへのリンクを張り、上記エージェントモジュールが、上記リンクの張られた上記プロセスへの上記処理要求の割り当てと上記リンクの張られた上記プロセスの実行制御の管理を行うステップと
を備えた自律協調情報処理方法であって、
上記自律協調情報処理方法は、外部からの上記処理要求を受け付けるか否かを判断し、上記複数のプロセス間、上記他エージェントモジュール間、他のアプリケーションシステムとの協調連携処理を策定・調整・実施するための協調処理を自律した判断に基づいて行う協調処理ステップと、リンクの動的な接続変更による上記プロセスとの接続制御と、上記リンクの張られている上記プロセスの実行制御の管理と、上記リンクの張られた上記プロセスの処理状況の監視と、上記リンクの張られた上記プロセスの処理状況と上記プロセスの要求との少なくともいずれかに応じた上記協調処理モジュールの協調処理の実行制御の管理とを自律した判断に基づいて行う情報処理管理ステップと
を備え、
上記協調処理ステップは、
新たな処理要求が上記情報処理管理部から受け付けた要求に対応する処理要求であるか否かを判断して受け付けるか否かを決定するステップを備え、
上記情報処理管理ステップは、
上記協調処理ステップにおいて、受け付けた処理要求の処理スケジュールを作成または調整し、該処理スケジュールに基づいて、上記リンクの張られている上記プロセスの実行制御の管理を行い、
上記プロセスへの処理要求の受渡しと、上記プロセスの処理の進捗管理を行い、
上記プロセスとの情報交換のために異なる通信規約ごとに用意したインターフェースモジュールから上記プロセスの通信規約に合っているインターフェースモジュールを使用して通信を行って、上記プロセスとのリンクを動的に切り替えるステップ
を備え、
上記自律協調情報処理方法は、さらに、
外部から上記処理要求を受け付け、上記複数のエージェント部へ当該処理要求の引き取り可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取る上記エージェント部を決定するプラン策定ステップを備え、
プラン策定ステップは、外部から受け付けた上記処理要求を既に受付ているが上記エージェント部に引渡しができていない未処理である上記処理要求を含めて、
同じ処理の繰り返し実行をさせないために同じ処理となる外部から受け付けた上記処理要求と既に受け付けている未処理である処理要求とを１つにまとめる統合処理を行い、
上記統合処理済の処理要求を処理できる上記エージェント部であり、かつ上記処理要求を処理するための実行モジュールの実行回数を低減することができるという機能要件を満たす上記エージェント部を探し、
発見された上記エージェント部に、上記統合処理した処理要求の中から処理可能当該機能要件を満たす上記処理要求を送信して、引き受け可能かどうかを問い合わせ、引き受け可能と通知してきた上記エージェント部に処理を依頼し引き渡す
ことを特徴とする自律協調情報処理方法。
【請求項１１】
上記自律協調情報処理方法は、さらに、
上記協調処理ステップで受け付けた上記処理要求の処理手順を作成・調整して処理スケジュールを作成し、上記処理スケジュールに基づいて、リンクにより接続されているプロセスの実行制御の管理を行う実行制御管理ステップと、
上記プロセスへ上記処理要求を順次依頼する依頼ステップと、
上記プロセスとのリンクの動的な切り替えを行う接続管理を行う接続管理ステップと、
受け取った上記処理要求の要求内容と上記プロセスの属性と負荷状況とに基づいて、受け取った処理要求をどのプロセスへ引き渡すかを決定し、当該処理要求を受け取った上記プロセスと当該処理要求を引き渡した上記協調処理モジュールとを接続し、そのプロセスとその協調処理モジュールとの間で情報伝達する処理要求引渡ステップと、
上記協調処理モジュールが抱えている引き受け上記処理要求の数量の調整と当該処理要求の優先順位に基づく処理の実行順序の制御と、上記協調処理モジュールにおける上記処理要求の発信管理の少なくともいずれかを行う情報処理調整ステップと
を備える請求項１０記載の自律協調情報処理方法。
【請求項１２】
上記処理要求は、１つないし複数のデータベースからの情報検索、問題解決、サービス提供を受けるための処理の少なくともいずれかであり、
上記自律協調情報処理方法は、さらに、
上記協調処理ステップにおいてリンクを確立して上記処理要求を受け取って処理するリンク確立ステップと、
過去の検索結果と処理結果の少なくともいずれかを記録し、記録内容を上記情報処理管理ステップに通知する結果通知ステップと、
引き受ける上記処理要求の条件を指定し、この指定した条件を上記情報処理管理ステップにて用いて、上記情報処理管理ステップから提示された条件を満足する上記処理要求の中から引き受ける処理要求を決定し当該処理要求を受け取る処理要求受取ステップと
を備え、
上記プロセスは、
自律した判断に基づいて利用するべき上記エージェントモジュールを決定するエージェントモジュール選択ステップと、
複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて上記処理要求の再割り当てを上記自律協調処理モジュールに要求するとともに、再割り当てされた上記処理要求を実行し、上記エージェントモジュールは、上記プロセスからの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信した上記プロセスの管理する上記処理要求を他の上記プロセスへ移動させ、又は、他の上記プロセスの管理する上記処理要求をその再割り当て要求を送信した上記プロセスへ移動させるプロセス移動ステップと
を備える請求項１０又は１１記載の自律協調情報処理方法。
【請求項１３】
上記自律協調情報処理方法は、さらに、
上記協調処理モジュールが抱えている引き受け上記処理要求の数を監視し、その数が定められた値を超えた場合に、その協調処理モジュールが抱えている上記処理要求のいくつかを分割し、その分割した処理要求を引き受けさせる上記協調処理モジュールを、分割した処理要求の引渡し条件と上記協調処理モジュールの受け入れ条件を比較して選択し、選択した協調処理モジュールに分割した処理要求を引き受けさせて抱えている引き受け処理要求の数量を調整し、当該処理要求の優先順位に基づく処理の実行順序の制御を行う情報処理調整ステップを備える請求項１１又は１２に記載の自律協調情報処理方法。
【請求項１４】
上記自律協調情報処理方法は、さらに、
上記エージェントモジュールが抱える上記処理要求の数を均衡させ、当該処理要求の処理の優先順位の逆転を抑制するために、上記エージェントモジュールと上記プロセスの処理の進捗状況に応じて動的に上記エージェントモジュールと、上記プロセスとが受け持つ上記処理要求の数量の調整と処理の優先順位に基づく上記処理プランの修正変更を行うプラン修正変更ステップと、
上記プロセスが抱えている上記処理要求の最下位実施順位が、上記他のプロセスが抱えている上記処理要求の最上位実施順位よりも上位の上記プロセスを発見し、その発見した各々の上記プロセスを管理している上記各々のエージェントモジュールに、その各々のエージェントモジュールが管理している上記プロセスの抱えている上記処理要求の中から、実施順位の上位から互いに取り合うことにより上記処理要求の再割り当てを行うことを指示するプラン調整ステップを
備える請求項１１〜１３のいずれかに記載の自律協調情報処理方法。
【請求項１５】
上記自律協調情報処理方法は、さらに、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理の処理結果が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理ステップと、
上記複数の処理要求の断続的な発信と上記処理結果の受信の少なくともいずれかを操作する、ネットワークを介して接続される処理要求結果送受信ステップと、
上記処理要求結果送受信ステップからの上記処理要求を受付、受け付けた処理要求を、処理の順序を考慮するものと、処理の順序を考慮しなくてもよいものと、過去に行った処理の処理結果を再利用することができるものと、やり直すことが必要なものと、他の処理要求とは独立したものとの少なくともいずれかの区分に分割して上記処理プランを作成し、当該処理プランの中の上記受け付けた処理要求が、未処理である処理と、上記処理結果が再利用できない処理との少なくともいずれかの場合には、上記区分にしたがった処理を依頼する処理要求管理ステップと、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理ステップと、
上記処理要求が未処理である処理か上記処理結果が再利用できない処理であるかの問合せを受付けて回答するとともに、分割された上記処理要求の上記処理結果を統合する処理結果統合管理ステップと、
上記処理結果統合管理ステップにおいて統合された上記処理結果を上記処理要求結果送受信ステップに転送して、上記処理要求を充足する上記処理結果を提供する処理結果提供ステップと、
を備える請求項１１〜１４のいずれかに記載の自律協調情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の情報処理要求を受け付け、これらの処理要求を複数のプロセスにより並行分散処理する自律協調情報処理装置並びに自律協調処理方法に関する。
【０００２】
【従来の技術】
従来の技術１．
従来の技術として、一般問題解決あるいは、サービスの提供を含む情報処理の並行分散処理を対象とした上述エージェントによる自律協調処理に係る技術を説明する。
【０００３】
図２３〜図２５は、特開７−６１４２号公報に示されたマルチエージェント協調システムの構成を示すブロック図である。
図２３は、プランニングエージェント8001の内部構造を示すブロック構成図である。
8001は、他のエージェントあるいはユーザ8007と情報を授受するための通信部8006と、プランを生成するための規則が格納されているルールベース8002と、ルールベース8002を参照してプランを作成するプランニング実行部8004と、図示しないフィールドマネージャ8201からのメッセージに含まれた依頼を評価するための基準を格納した評価用データ格納部8003と、評価用データ格納部8003に従って評価を行なう評価部8005と、を備えたプランニングエージェントである。
【０００４】
図２４は、要素機能エージェント8101の内部構造を示すブロック構成図である。
要素機能エージェント8101は、他のエージェントあるいはユーザ8107と情報を授受するための通信部8106と、サービスあるいは、その一部である要素機能の定義を格納する機能定義格納部8102と、機能定義格納部8102の内容に従ってサービスあるいはその一部を実行するサービス実行部8104と、評価基準とプロファイルを格納した評価用データおよびプロファイル格納部8103と、評価用データおよびプロファイル格納部8103に従って評価を行なう評価部8105と、を有している。
【０００５】
図２５は、フィールドマネージャ8201の内部構造を示すブロック構成図である。
フィールドマネージャ8201は、エージェントあるいは、ユーザ8205と情報を授受するための通信部8203と、協調動作を行なうエージェントのメンバや協調動作の手順の定義を格納した協調定義データベース8204と、協調定義データべース8204の定義を参照して他のエージェントに協調動作を行なわせるためのメッセージを通信部8203を介して送信する協調動作実行部8202と、を有している。
【０００６】
この従来技術の大きな特徴は、
1)ユーザから要求されたサービスを達成するための機能の組合せと機能間で授受されるデータとそれらを実行する順序であるプランを求める問題であるプランニングと、
2)プランを達成する要素機能あるいは、要素機能と結びつけられた資源の稼働状態もしくは負荷状況の均衡を保つように要素機能に対してサービスを達成するためのタスクを配分する問題である資源割当と、
を切り離して、1)、2)毎に分割された二段階からなる処理により問題解決することである。
【０００７】
次に、従来システムの動作を図２３〜２５に基づいて説明する。
このマルチエージェント協調システムは、フィールドマネージャ8201が複数のプランニングエージェント8001（図２３）を統括し、プランニングエージェント8001が複数の要素機能エージェント8101を統括するという階層構造を持つ。ユーザ等からの要求をフィールドマネージャ8201が受けると、フィールドマネージャ8201は1)のプランニングを行う。そして、ここで作成されたプランに基づきプランニングエージェント8001がプランを実行する。プランニングエージェント8001は、上記プランを実行するために2)の資源割り当てを行い、どの要素機能エージェント8101を使用するかを決定する。そして、要素機能エージェント8101はプランニングエージェント8002に割り当てられた要求を実行する。従って、要求の流れは、フィールドマネージャ8201→プランニングエージェント8001→要素機能エージェント8101というトップダウンの形式をとる。
【０００８】
上記処理を詳細に説明すると、以下のようになる。
まず、図２５のフィールドマネージャ8201は、ユーザがユーザインターフェースから入力したサービス要求を通信部8203を介して受け取る。
次いで、フィールドマネージャ8201は、協調定義データベース8204の記述に従って協調動作実行部8202が指示を生成する。そして、この指示と上記ユーザからのサービス要求に付加した情報を通信部8203を介してメンバである複数の適当なプランニングエージェント8001に対して送る。
次に、図２３のプランニングエージェント8001は、通信部8006を介して受けとった上記情報の指示に従い、評価部8005が評価用データ格納部8003の内容に基づいて上記ユーザから要求されたサービスの仕様を評価する。そして、プランニング実行部8004がルールベース8002の内容に基づき要求されたサービスを実行するためのプランを生成する。
ついで、プランニングエージェント8001は、上記評価の結果が規定の基準に達したかどうか、プランが得られたかどうかを判定する。その結果、評価基準を満たさないか、あるいはプランが得られなければそのプランニングエージェント8001は動作を終了する。
そうでない場合は、プランニングエージェント8001は、生成したプランに従って必要な要素機能エージェント8101に通信部8006を介して負荷やその要素機能エージェント8101に付随する装置の位置などに関する評価を依頼する。また、この時依頼とともに評価のために必要な情報を送る。
【０００９】
次いで、図２４の要素機能エージェント8101は、上記依頼を通信部8106を介して受けとり、評価用データおよびプロファイル格納部8103の内容に従って、受けとった情報を評価しその結果を通信部8106を介してプランニングエージェント8001に返す。
ついで、フィールドマネージャ8201は、上記総合評価の結果に基づいて実際にサービスを達成するための仕事を依頼するプランニングエージェント8001を決定し、処理依頼を行なう。次いで、依頼を受けたプランニングエージェント8001は、上記プランにしたがい適当な要素機能エージェント8101と共に上記仕事を処理する。
【００１０】
従来の技術２．
次いで、情報検索の並行分散処理に係る従来技術を挙げる。
図２６は、特開平４−３２６１６２号公報に示された従来のデータベース検索処理方式の機能ブロック図を示している。
この方式かかるデータベース装置は、LANで結合された端末9001とホストコンピュータ9002からなり、端末9001は、検索処理を要求するデータベース検索要求プログラム9003、ホストコンピュータ9002から受け取った検索結果を格納する検索結果データ格納部9007、この検索結果を処理する検索結果データ処理プログラム9008からなり、ホストコンピュータ9002は、検索処理を行うデータベース検索処理プログラム9004、データが格納されたデータベース9005、検索結果を格納する検索結果データ格納部9006からなる。
【００１１】
図２６に示すデータベースシステムは、端末9001から、LANで接続されたホストコンピュータ9002のデータベース9005を検索するに当たり、ホストコンピュータ9002側のデータベース検索処理プログラム9004と、端末側の検索結果データ処理の並行処理を行なうことにより、端末9001側におけるデータベース9005の検索要求から検索結果を得るまでの時間の最小化を図ることを目的としたものである。
【００１２】
次に動作を説明する。
端末9001の操作により、データベース検索要求プログラム9004が起動され、検索条件等をホストコンピュータ9002のデータベース検索処理プログラム9004に受け渡す。
データベース検索処理プログラム9004は、これらを受けとり、端末9001側の検索結果データ格納部9007に空きがあれば、検索条件に従って、データベース9005の検索を開始し、１件の検索結果が得られた時点で、ホスト9002側の検索結果データ格納部9006を介して端末9001側に転送する。
すなわち、ホストコンピュータ9002側での検索と端末9001側への転送が１件ずつ行なわれる。端末9001側の検索結果データ処理プログラム9008は、ホスト9002側から転送されてきた、検索結果データを受け取って、その表示や編集等の処理を実施し、処理が完了したら検索結果データを削除し、ホストコンピュータ9002での次の検索処理を可能とする。
【００１３】
従来の技術３．
図２７は、例えば特開平６−２７４５３２号公報に示された従来の負荷分散支援装置のブロック図を示している。
図２７に示す装置は、構造化された検索キーワードによって構造化されたインデックスを持つ検索対象を並列計算機上で並列に検索を行なう際に、対象領域に固有の関数を用いることにより検索処理の負荷分散のシミュレーションを行ない、適切な負荷の分散支援を行なうものであり、検索処理の負荷分散を動的に行なうことにより、並列計算機のプロセッサの稼働率を向上することを目的としたものである。
【００１４】
図２７に示す装置は、検索キーワード等の文字情報を入力するための入力手段10001、入力した文字情報やプロセッサの割り付け情報を出力するためのプリンタ等の出力手段10002、入力された情報を記憶するための記憶手段10003、入力されたり、途中の処理結果を文字情報やイメージ情報として表示するための表示手段10004、入力された各種関数のパラメータをユーザとの対話により調整するパラメータ調整手段10005、入力された各検索キーワードと関数から各検索キーワードの負荷を予測する負荷予測手段10006、予測された検索キーワードの検索時間と使用プロセッサ数から各検索キーワードへ割り付けるプロセッサ数を見積もるプロセッサ割り付け手段10007、プロセッサの割り付け情報を基に、予め並列計算機上で計測された検索キーワードの実計測時間を用いて、予測された検索キーワードの検索時間と実計測時間の検索時間との比較を計算し、大きい順に並べ変えるプロセッサ割り付け検証手段10008、検索キーワードのプロセッサへの割り付け情報を調整するプロセッサ割り付け調整手段10009、上述各手段を制御する制御手段10010からなる。
【００１５】
次にその動作を説明する。
はじめに、制御手段10010の制御により、インデックスと検索キーワードと関数、並列計算機上での検索キーワードの実計測時間および並列計算機で使用するプロセッサ数が、入力手段10001により入力され、記憶手段10003に記憶される。次に、パラメータ調整手段10005の指示により、変更可能なパラメータが表示手段10004へ表示される。ユーザは、入力手段10001を利用してこのパラメータを修正する。調整された情報は、記憶手段10003に記憶される。
【００１６】
次いで、負荷予測手段10006では、入力された各検索キーワードごと予め規定された関数に基づいて、検索にかかる時間が見積もられる。見積もられた検索時間は、記憶手段10003に記憶される。
プロセッサ割り付け手段10007では、見積もられた検索時間の比から各検索キーワードに割り付けるプロセッサの数を算出する。算出されたプロセッサの割り付け情報は記憶手段10003に記憶される。プロセッサ割り付け検証手段10008は、算出されたプロセッサの割り付け情報を基に予め並列計算機上で計測された検索キーワードの計測データを用いて、予測された検索キーワードの検索時間と実計測時間との比較を行ない差の大きい検索キーワード順に、検索キーワード名と予測検索時間、と実計測時間との差の情報の表示を表示手段10004において行なう。
【００１７】
次に、プロセッサ割り付け調整手段10009により、検索キーワードへのプロセッサの割り付け情報を表示手段10004に表示し、ユーザとの対話によりパラメータが変更され、次回の検索時の割付プロセッサ数が変化する。変更結果は、記憶手段10003に記憶される。変更結果は、プロセッサ割り付け検証手段10008によりさらに検証することができる。最後にプロセッサ割り付け情報を出力手段10002に出力する。
【００１８】
【発明が解決しようとする課題】
図２３〜２５において示したエージェントにおいては、一度プランニングが終了し、要求が割り付けられてしまうと割り付けが解除されることがないため、複数の要求が割り付けられている場合には、待ち状態にある要求は処理されず、処理時間がかかるという問題があった。すなわち、要求の処理が先に終了して待ち状態にあるエージェントがあるにもかかわらず、最初に割り付けられたエージェントで処理されるのを待っている要求が存在し、当該要求の処理が終了するまでの時間が多くかかるという問題があった。
【００１９】
また、図２６に示したデータベース検索処理方式では、検索対象がホストマシンのデータベースに限定されていること、検索要求に対する検索結果がすべて終了しなければ新たな検索要求を出すことができないという問題があり、次々と発生する要求を高速に処理することができないという問題があった。
【００２０】
また、図２７に示した負荷分散支援装置では、負荷分散のシミュレーション時に対象領域に固有の関数を必要とするため、汎用性に乏しく、インターネット上に分散配置されているWWWのような複雑で、日々情報が更新されるような情報源に対して負荷分散を効率よく実現するのは、困難である。また、一度割り付けが完了すると、最後までそのプロセッサが検索を実施するため、シュミレーションの誤差が大きい場合には、その検索処理は低速な処理となってしまうという問題があった。
【００２１】
この発明は、上記のような問題点を解消するためになされたものであり、ネットワーク等により分散配置された情報資源を有効に活用し、各プロセスの稼働率を向上させることにより、処理速度の高速な自律協調情報処理装置を得ることを目的とする。
【００２２】
【課題を解決するための手段】
この発明に係る自律協調情報処理装置は、外部からの処理要求を受け付け、上記処理要求の処理先を指定して出力する複数のエージェント部と、上記複数のエージェント部から指示された処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、
上記複数のエージェント部の各々と上記複数の情報処理部の各々とは、互いに分離独立して独自に稼動し、上記複数のエージェント部の各々は、リンクの接続制御を動的に行って他の上記エージェント部に対してリンクを張るとともに、リンクの接続制御を動的に行って上記複数の情報処理部の少なくとも１つ以上の情報処理部に対してリンクを張り、上記複数の情報処理部の各々は、上記複数のエージェント部の少なくとも１つ以上のエージェント部からリンクにより接続され、このリンクにより接続された少なくとも１つ以上のエージェント部からの指示にしたがって動作を決定するとともに、上記リンクにより接続された少なくとも１つ以上の上記エージェント部から指示された上記処理要求を処理し、
上記エージェント部は、
外部からの上記処理要求があった場合に、他の上記エージェント部との協調連携処理を自律した判断に基づいて行うために、他の上記エージェント部とのリンクの接続制御を動的に行ってリンクを張り、このリンクを介して、他の上記エージェント部の処理の進捗状況を受け取り、自エージェント部と他の上記エージェント部とで既に受け付けた上記処理要求の処理の進捗状況に応じて外部からの上記処理要求をいずれのエージェント部で受け付けるかを判断し、上記自エージェント部で外部からの上記処理要求を受け付けると判断した場合には、受け付けると判断した上記処理要求の内容と既に受け付けた上記処理要求の処理の進捗状況との少なくともいずれかに応じて処理プランを策定し、当該処理プランにしたがって上記情報処理部とのリンクの接続制御を動的に行って、上記処理要求を割り当てる上記情報処理部へのリンクを張り、上記リンクの張られた上記情報処理部への上記処理要求の割り当てと上記リンクの張られた上記情報処理部の実行制御の管理を行う自律協調情報処理装置であって、
上記エージェント部は、
外部からの上記処理要求を受け付けるか否かを判断し、上記複数の情報処理部間、他の上記エージェント部間、他の上記プロセスと、他のアプリケーションシステムとの協調連携処理を策定・調整・実施するための協調処理を自律した判断に基づいて行う協調処理部と、
リンクの動的な接続変更による上記情報処理部との接続制御と、
上記リンクの張られている上記情報処理部の実行制御の管理と、
上記リンクの張られた上記情報処理部の処理状況の監視と、
上記リンクの張られた上記情報処理部の処理状況と、
上記情報処理部の要求と
の少なくともいずれかに応じた上記協調処理部の協調処理の実行制御の管理とを自律した判断に基づいて行う情報処理管理部と
を備え、
上記協調処理部は、
新たな処理要求が上記情報処理管理部から受け付けた要求に対応する処理要求であるか否かを判断して受け付けるか否かを決定し、
上記情報処理管理部は、
上記協調処理部が受け付けた処理要求の処理スケジュールを作成または調整し、該処理スケジュールに基づいて、上記リンクの張られている情報処理部の実行制御の管理を行い、
上記情報処理部への処理要求の受渡しと上記情報処理部の処理の進捗管理を行い、
上記情報処理部との情報交換のために異なる通信規約ごとに用意したインターフェースモジュールから上記情報処理部の通信規約に合っているインターフェースモジュールを使用して通信を行って上記情報処理部とのリンクを動的に切り替えるとともに、
上記自律協調情報処理装置は、さらに、
外部から上記処理要求を受け付け、上記複数のエージェント部へ当該処理要求の引き取り可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取る上記エージェント部を決定するプラン策定部を備え、
このプラン策定部は、
外部から受け付けた上記処理要求を既に受付ているが上記エージェント部に引渡しができていない未処理である上記処理要求を含めて、
同じ処理の繰り返し実行をさせないために同じ処理となる外部から受け付けた上記処理要求と既に受け付けている未処理である処理要求とを１つにまとめる統合処理を行い、
上記統合処理済の処理要求を処理できる上記エージェント部であり、かつ上記処理要求を処理するための実行モジュールの実行回数を低減することができるという機能要件を満たす上記エージェント部を探し、
発見された上記エージェント部に、上記統合処理した処理要求の中から処理可能当該機能要件を満たす上記処理要求を送信して、引き受け可能かどうかを問い合わせ、引き受け可能と通知してきた上記エージェント部に処理を依頼し引き渡す
ことを特徴とする。
【００２５】
上記複数の情報処理部はそれぞれ複数の上記エージェント部からの上記処理要求を受け付けるとともに、
上記エージェント部は、自己の管理する上記処理要求の件数又は優先度から新たな上記処理要求を受け付けられるか否かを判定し、上記協調処理部からこの判定結果を通信し、
上記情報処理管理部は、上記協調処理部が上記処理要求を受け取ったときに、自己の管理する上記情報処理部の処理状況と上記情報処理部の属性との少なくともいずれかを考慮して、上記複数の情報処理部から当該処理要求を処理する上記情報処理部を選択し、この選択した上記情報処理部へ当該処理要求を割り当てるとともに、
この情報処理管理部を他の上記エージェント部と共有することにより、上記情報処理部は複数の上記エージェント部への通信を、上記情報処理管理部を介して行うことを特徴とする。
【００２７】
上記自律協調情報処理装置は、さらに、
上記エージェント部が抱える上記処理要求の数を均衡させ、上記処理要求の処理の優先順位の逆転を抑制するために、上記エージェント部と上記情報処理部の処理の進捗状況に応じて動的に上記エージェント部と上記情報処理部とが受け持つ上記処理要求の数量の調整と処理の優先順位に基づく上記処理プランの修正変更を行うとともに、上記情報処理部が抱えている上記処理要求の最下位実施順位が、他の上記情報処理部が抱えている上記処理要求の最上位実施順位よりも上位の上記情報処理部を発見し、その発見した各々の上記情報処理部を管理している上記各々のエージェント部に、その各々のエージェント部が管理している上記情報処理部の抱えている上記処理要求の中から、実施順位の上位から互いに上記処理要求を取り合うことにより上記処理要求の再割り当てを行うことを指示するプラン調整部を
備えることを特徴とする。
【００２８】
上記自律協調情報処理装置は、さらに、
上記情報処理管理部が管理している上記情報処理部に処理を依頼してその結果が返ってくるまでのターンアラウンド時間を計測しその計測値に基づいて、上記エージェント部と上記情報処理部とに割り当てられた上記処理要求の数量の増減を行うチューニング部
を備えることを特徴とする。
【００２９】
上記情報処理管理部は、
上記処理要求を、当該処理要求が持つ属性により指定した実行順序の優先度に基づいて定められた優先順位にしたがって当該処理要求に設定されている引渡し条件を満足する上記情報処理部に引き渡すことを特徴とする。
【００３０】
上記情報処理部は、
引き受ける上記処理要求の条件を指定し、指定した条件を上記情報処理管理部に通知し、通知後に上記情報処理管理部から上記指定した条件を満足する上記処理要求が提示された場合に、その中から引き受ける上記処理要求を決定しその処理要求を受け取ることを特徴とする。
【００３１】
上記情報処理管理部は、
上記協調処理部に対して、発信する上記処理要求の条件を提示し、その条件を充足する上記処理要求を発信するように指示し、上記協調処理部から送られてくる上記処理要求に対しては、その処理要求の条件チェックを行い、
受け付けた上記処理要求の処理の優先順位の決定と、引き受け先の上記情報処理部の決定にあたっての競合解消戦略を上記協調処理部の抱えている上記処理要求の数量に応じて指定する実行制御管理部を備えることを特徴とする。
【００３２】
上記情報処理管理部は、
上記協調処理部が抱えている引き受け上記処理要求の数を監視し、その数が定められた値を超えた場合に、その上記協調処理部が抱えている上記処理要求のいくつかを分割し、その分割した上記処理要求を引き受けさせる上記協調処理部を、分割した上記処理要求の引渡し条件と上記協調処理部の受け入れ条件を比較して選択し、選択した上記協調処理部に分割した上記処理要求を引き受けさせて抱えている引き受け上記処理要求の数量を調整し、上記処理要求の優先順位に基づく処理の実行順序の制御を行う情報処理調整部を備えることを特徴とする。
【００３３】
上記自律協調情報処理装置は、さらに、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理の処理結果が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理部と、
上記複数の処理要求の断続的な発信と上記処理結果の受信の少なくともいずれかを操作する、ネットワークを介して接続される処理要求結果送受信部と、
上記処理要求結果送受信部からの上記処理要求を受付、受け付けた処理要求を、処理の順序を考慮するものと、処理の順序を考慮しなくてもよいものと、過去に行った処理の処理結果を再利用することができるものと、やり直すことが必要なものと、他の上記処理要求とは独立したものとの少なくともいずれかの区分に分割して上記処理プランを作成し、該処理プランの中の上記受け付けた処理要求が、未処理である処理と、処理結果が再利用できない処理との少なくともいずれかの場合には、上記区分にしたがった処理を依頼する処理要求管理部と、
上記処理要求が未処理である処理か、上記処理結果が再利用できない処理であるかの問合せを受付け回答するとともに、分割された上記処理要求の上記処理結果を統合する処理結果統合管理部と、
上記処理結果統合管理部において統合された上記処理結果を上記処理要求結果送受信部へ転送して、上記処理要求を充足する上記処理結果を提供する処理結果提供部と
を備えることを特徴とする。
【００３４】
この発明に係る自律協調情報処理方法は、外部からの処理要求を受け付け、上記処理要求の処理先を指定して出力する上記複数のエージェントモジュールと、上記複数のエージェントモジュールから指示された上記処理要求を処理する上記複数のプロセスとを実行する情報処理装置の自律協調情報処理方法において、
上記複数のエージェントモジュールの各々は、独自に稼動する分離独立した協調処理モジュールを実行する処理ステップを有し、上記複数のプロセスの各々は、分離独立して独自に稼動する処理ステップを有し、上記複数のエージェントモジュールの各々が、リンクの接続制御を動的に行って他の上記エージェントモジュールに対してリンクを張るとともに、リンクの接続制御を動的に行って上記複数のプロセスの少なくとも１つ以上の上記プロセスに対してリンクを張るステップと、
上記複数のプロセスの各々が、上記複数のエージェントモジュールの少なくとも１つ以上の上記エージェントモジュールからリンクにより接続され、リンクにより接続された少なくとも１つ以上の上記エージェントモジュールからの指示にしたがって動作を決定するとともに、上記リンクにより接続された少なくとも１つ以上の上記エージェントモジュールから指示された上記処理要求を処理するステップと、
外部からの上記処理要求があった場合に、他の上記エージェントモジュールとの協調連携処理を自律した判断に基づいて行うために、上記エージェントモジュールが、他の上記エージェントモジュールとのリンクの接続制御を動的に行ってリンクを張り、このリンクを介して、他の上記エージェントモジュールの処理の進捗状況を受け取り、上記エージェントモジュールが、自エージェントモジュールと他の上記エージェントモジュールとで既に受け付けた上記処理要求の処理の進捗状況に応じて外部からの上記処理要求をいずれの上記エージェントモジュールで受け付けるかを判断するステップと、
上記エージェントモジュールが、上記自エージェントモジュールで外部からの上記処理要求を受け付けると判断した場合には、上記エージェントモジュールが、受け付けると判断した上記処理要求の内容と既に受け付けた上記処理要求の処理の進捗状況との少なくともいずれかに応じて処理プランを策定し、上記エージェントモジュールが、該処理プランにしたがって上記プロセスとのリンクの接続制御を動的に行って、上記処理要求を割り当てる上記プロセスへのリンクを張り、上記エージェントモジュールが、上記リンクの張られた上記プロセスへの上記処理要求の割り当てと上記リンクの張られた上記情報処理部の実行制御の管理を行うステップと
を備えた自律協調情報処理方法であって、
上記自律協調情報処理方法は、外部からの上記処理要求を受け付けるか否かを判断し、上記複数のプロセス間、他の上記エージェントモジュール間、他のアプリケーションシステムとの協調連携処理を策定・調整・実施するための協調処理を自律した判断に基づいて行う協調処理ステップと、リンクの動的な接続変更による上記プロセスとの接続制御と、上記リンクの張られている上記プロセスの実行制御の管理と、上記リンクの張られた上記プロセスの処理状況の監視と、上記リンクの張られた上記プロセスの処理状況と上記プロセスの要求との少なくともいずれかに応じた上記協調処理モジュールの協調処理の実行制御の管理とを自律した判断に基づいて行う情報処理管理ステップと
を備え、
上記協調処理ステップは、
新たな処理要求が上記情報処理管理部から受け付けた要求に対応する処理要求であるか否かを判断して受け付けるか否かを決定するステップを備え、
上記情報処理管理ステップは、
上記協調処理ステップにおいて、受け付けた処理要求の処理スケジュールを作成または調整し、該処理スケジュールに基づいて、上記リンクの張られている上記プロセスの実行制御の管理を行い、
上記プロセスへの処理要求の受渡しと、上記プロセスの処理の進捗管理を行い、
上記プロセスとの情報交換のために異なる通信規約ごとに用意したインターフェースモジュールから上記プロセスの通信規約に合っているインターフェースモジュールを使用して通信を行って、上記プロセスとのリンクを動的に切り替えるステップ
を備え、
上記自律協調情報処理方法は、さらに、
外部から上記処理要求を受け付け、上記複数のエージェント部へ当該処理要求の引き取り可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取る上記エージェント部を決定するプラン策定ステップを備え、
プラン策定ステップは、外部から受け付けた上記処理要求を既に受付ているが上記エージェント部に引渡しができていない未処理である上記処理要求を含めて、
同じ処理の繰り返し実行をさせないために同じ処理となる外部から受け付けた上記処理要求と既に受け付けている未処理である処理要求とを１つにまとめる統合処理を行い、
上記統合処理済の処理要求を処理できる上記エージェント部であり、かつ上記処理要求を処理するための実行モジュールの実行回数を低減することができるという機能要件を満たす上記エージェント部を探し、
発見された上記エージェント部に、上記統合処理した処理要求の中から処理可能当該機能要件を満たす上記処理要求を送信して、引き受け可能かどうかを問い合わせ、引き受け可能と通知してきた上記エージェント部に処理を依頼し引き渡す
ことを特徴とする。
【００３５】
上記自律協調情報処理方法は、さらに、
上記協調処理ステップで受け付けた上記処理要求の処理手順を作成・調整して処理スケジュールを作成し、上記処理スケジュールに基づいて、リンクにより接続されているプロセスの実行制御の管理を行う実行制御管理ステップと、
上記プロセスへ上記処理要求を順次依頼する依頼ステップと、
上記プロセスとのリンクの動的な切り替えを行う接続管理を行う接続管理ステップと、
受け取った上記処理要求の要求内容と上記プロセスの属性と負荷状況とに基づいて、受け取った上記処理要求をどの上記プロセスへ引き渡すかを決定し、上記処理要求を受け取った上記プロセスと処理要求を引き渡した上記協調処理モジュールとを接続し、そのプロセスとその協調処理モジュールとの間で情報伝達する処理要求引渡ステップと、
上記協調処理モジュールが抱えている引き受け処理要求の数量の調整と処理要求の優先順位に基づく処理の実行順序の制御と、協調処理モジュールにおける処理要求の発信管理の少なくともいずれかを行う情報処理調整ステップと
を備えることを特徴とする。
上記処理要求は、１つないし複数のデータベースからの情報検索、問題解決、サービス提供を受けるための処理の少なくともいずれかであり、
自律協調情報処理方法は、さらに、
上記協調処理ステップにおいてリンクを確立して処理要求を受け取って処理するリンク確立ステップと、
過去の検索結果と処理結果の少なくともいずれかを記録し、記録内容を上記情報処理管理ステップに通知する結果通知ステップと、
引き受ける処理要求の条件を指定し、この指定した条件を上記情報処理管理ステップにて用いて、上記情報処理管理ステップから提示された条件を満足する処理要求の中から引き受ける処理要求を決定し処理要求を受け取る処理要求受取ステップと
を備え、
上記プロセスは、
自律した判断に基づいて利用するべき協調処理モジュールを決定する協調処理モジュール選択ステップと、
複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて処理要求の再割り当てを上記自律協調処理モジュールに要求するとともに、再割り当てされた上記処理要求を実行し、上記協調処理モジュールは、上記プロセスからの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信したプロセスの管理する上記処理要求を他の上記プロセスへ移動させ、又は、他のプロセスの管理する上記処理要求をその再割り当て要求を送信したプロセスへ移動させるプロセス移動ステップと
を備えることを特徴とする。
上記自律協調情報処理方法は、さらに、
上記協調処理モジュールが抱えている引き受け上記処理要求の数を監視し、その数が定められた値を超えた場合に、その協調処理モジュールが抱えている処理要求のいくつかを分割し、その分割した上記処理要求を引き受けさせる協調処理モジュールを、分割した上記処理要求の引渡し条件と協調処理モジュールの受け入れ条件を比較して選択し、選択した協調処理モジュールに分割した上記処理要求を引き受けさせて抱えている引き受け上記処理要求の数量を調整し、上記処理要求の優先順位に基づく処理の実行順序の制御を行う情報処理調整ステップを備えることを特徴とする。
上記自律協調情報処理方法は、さらに、
協調処理モジュールが抱える上記処理要求の数を均衡させ、上記処理要求の処理の優先順位の逆転を抑制するために、協調処理モジュールとプロセスの処理の進捗状況に応じて動的に協調処理モジュールと、プロセスとが受け持つ上記処理要求の数量の調整と処理の優先順位に基づく処理プランの修正変更を行うプラン修正変更ステップと、
上記プロセスが抱えている上記処理要求の最下位実施順位が、他のプロセスが抱えている上記処理要求の最上位実施順位よりも上位のプロセスを発見し、その発見した各々のプロセスを管理している上記各々の協調処理モジュールに、その各々の協調処理モジュールが管理しているプロセスの抱えている上記処理要求の中から、実施順位の上位から互いに取り合うことにより上記処理要求の再割り当てを行うことを指示するプラン調整ステップを
備えることを特徴とする。
上記自律協調情報処理方法は、さらに、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理の処理結果が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理ステップと、
上記複数の処理要求の断続的な発信と上記処理結果の受信の少なくともいずれかを操作する、ネットワークを介して接続される処理要求結果送受信ステップと、
上記処理要求結果送受信ステップからの上記処理要求を受付、受け付けた処理要求を、処理の順序を考慮するものと、処理の順序を考慮しなくてもよいものと、過去に行った処理の上記処理結果を再利用することができるものと、やり直すことが必要なものと、他の上記処理要求とは独立したものとの少なくともいずれかの区分に分割して上記処理プランを作成し、上記処理要求が、未処理である処理と、上記処理結果が再利用できない処理との少なくともいずれかの場合には、上記区分にしたがった処理を依頼する処理要求管理ステップと、
上記処理要求に、処理の従属関係と、順序関係と、過去に行った処理が再利用できるかできないかの区分との少なくともいずれかを付加し、その付加情報に応じて処理の実行順序を制御する順位設定管理ステップと、
上記処理要求が未処理である処理か上記処理結果が再利用できない処理であるかの問合せを受付けて回答するとともに、分割された上記処理要求の処理結果を統合する処理結果統合管理ステップと、
上記処理結果統合管理ステップにおいて統合された上記処理結果を上記処理要求結果送受信ステップに転送して、上記処理要求を充足する上記処理結果を提供する処理結果提供ステップと、
を備えることを特徴とする。
【００３６】
【発明の実施の形態】
実施の形態１．
図１は、実施の形態１に係る自律協調情報処理装置の機能ブロック図である。図１において示すように、1400は複数の処理要求を受け付け、これらの処理要求を処理する情報処理部であり、処理要求には、１つないし複数のデータベースから所望する情報の検索、問題の解決、あるいはサービス提供を受ける等の処理が含まれる。この情報処理部1400は、通常１つのプロセス又はスレッドとして独立にプロセッサ時間（ｃｐｕタイム）を割り当てられ実行され、また、複数のプロセッサのそれぞれに割り当てられ実行されると、高速に動作することができる。
1000は、以下の３つの構成要素からなり、情報処理部1400とは分離独立した１つまたは複数のエージェントである。
1)自律した判断をして複数の情報処理部1400間での協調連携処理を行い、他のエージェント1000との協調処理を実行し、新たな処理要求を受け付けるか否か、又は、メタ制御管理部からの要求に応じた協調処理を行って、新たな処理要求がメタ制御管理部から受け付けた要求に見合う処理要求であるか否かを判断し受け付けるか否かを決定する協調処理部1100、
2)１つまたは複数の情報処理部1400を仮想リンクにより束縛しその情報処理部1400の実行制御の管理または状態監視と、リンクの動的な接続変更による情報処理部1400との接続制御と、協調処理部1100の実行制御の管理と、情報処理部1400または協調処理部1100との通信を行なうメタ制御管理部1200、
3)協調処理部1100あるいはメタ制御管理部1200において利用する内部情報を保管管理する１つないし複数の内部情報格納部1300、
情報処理部1400は、すべてが異なる機能を実現したものである必要はなく、同一の機能を実現したものが複数個存在してもよい。
【００３７】
この実施の形態１に係る自律協調情報処理装置は、情報処理部1400とエージェント1000とは互いに分離独立した構成要素ではあるが、仮想リンクにより束縛しあっている。
異なる情報処理部1400を含めた、他のプロセス、又はアプリケーションシステム、との協調連携処理を策定・調整するための協調処理を実現する通信は、情報処理部1400内では行わず、分離独立して設けられたエージェント1000が情報処理部1400からの依頼を受けて代行処理する。しかしながら、上述通信以外の単なる情報交換のための通信は、その限りにあらず、情報処理部1400において行うことも可能である。
分離独立とは、独自に稼働する別プロセスとして実現することを意味する。
このエージェント1000は、他プロセス、アプリケーションシステム、他のエージェント1000との通信を含む協調処理を自律した判断に基づき行なう協調処理部1100と、
協調処理部1100より得られた情報に基づき、代行している、すなわち、仮想リンクにより束縛されている、情報処理部1400の実行制御の管理を行ったり、
情報処理部1400の処理状況の監視を行ないその処理状況に応じて、協調処理部1100に対して情報処理部1400において処理する処理要求の引き受けを依頼したり、情報処理部1400の処理状況、又は情報処理部1400の要求に応じて、協調処理部1100の協調処理の実行制御の管理を自律した判断に基づき行なうメタ制御管理部1200からなる。
【００３８】
協調処理部1100は、例えば、図２に示すように構成することができる。
図２に示す協調処理部1100は、他の外部プロセス、アプリケーションシステム、他のエージェント1000との通信を行なう外部通信部1101と、エージェント1000内のメタ制御管理部1200あるいは、エージェント1000内の内部情報格納部1300との内部通信を行なう内部通信部1103と、自律協調処理時の協調問題の解決を行なう問題解決エンジンである協調問題解決部1102と、協調問題解決部1102が協調問題解決時の問題解決の方針／規則として利用する複数存在する戦略リソースを格納する協調戦略リソースベース部1104と、協調問題解決部1102が協調問題解決時に必要な情報を格納する内部情報格納部1300とから構成することができる。この内部情報格納部1300は、オプショナルなもので必須の構成要素ではない。
【００３９】
協調処理部1100とメタ制御管理部1200は、別プロセスとして分離独立させて実現するとよいが、同一プロセスにおいて、モジュール分けして実現することも可能である。
また、協調処理部1100とメタ制御管理部1200の両者において、共通して利用する内部情報を格納し、協調処理部とメタ制御管理部1200の両者がその情報の参照と情報の登録といった利用ができる内部情報格納部1300を必要に応じてエージェント1000を構成する構成要素として装備することが可能である。
利用目的に応じて内部情報格納部1300を複数個設けることも可能である。
また、協調処理部1100に固有の内部情報格納部1300やメタ制御管理部1200に固有の内部情報格納部1300を設けることも可能である。
【００４０】
さらに、上述エージェント1000には、テンポラルなエージェント1000と、パーシステントなエージェント、が存在する。テンポラルなエージェント1000は、そのエージェント1000の存続可能な期間であるライフタイムの設定が可能であり、その設定した期間を経過するとそのエージェント1000は、消滅する。そのエージェント1000と仮想リンクにより束縛されている情報処理部1400は、そのエージェント1000の指示に従って動作を決定することになる。すなわち、ある特定のエージェント1000において、そのエージェント1000のライフタイムが経過した後、そのときの状況に応じて、そのエージェント1000と仮想リンクにより束縛されている複数の情報処理部1400のなかから、同時に消滅する情報処理部1400の指定が可能である。
また、情報処理部1400の指示により、その情報処理部1400と仮想リンクにより束縛しあっているエージェントを消去することができる。
パーシステントなエージェント1000は、自分自身を含めた第三者から消去されるまでは、存続しつづける。
【００４１】
内部情報格納部1300に格納された情報は、基本的には、一時的な利用を意識したものでライフサイクルの短いテンポラルなものを想定している。よって、内部情報格納部1300が属しているエージェントが消滅すると内部情報格納部1300も消滅する。しかしながら、常にシステム起動時に生成するエージェントあるいは指定したエージェント1000に関しては、内部情報格納部1300をハードディスク等の別メディアに登録保管し、起動時に内部情報をダウンロードして利用することが可能である。このように、内部情報格納部1300単位あるいは、内部情報毎にデータのライフタイムを設定することができる。
従って、ライフタイムとして設定した期間を過ぎると自動的に消滅する。
また、ライフタイムを永久と設定すれば、システム側で情報の消去をその内部情報に対して行なうまで存在しつづけることになる。ただし、その内部情報格納部1300を管理しているエージェント1000が消滅した段階でその内部情報も消滅する。
例えば、エージェント1000が受け入れたタスク要求リスト、検索処理のための検索キーワードのリストなどを内部情報として内部情報格納部1300に格納し利用する。
【００４２】
◆動作
まず、動作の概要について説明する。
外部からエージェント1000へ要求（例えば、検索要求）があると、エージェント1000は他のエージェント1000と通信しあい、お互いの処理状況等に応じてどのエージェント1000がその要求を引き受けるかを決定する。
要求を引き受けたエージェント1000は、自らが管理する情報処理部1400のうち、どの情報処理部1400に要求を実行させるかを決定する。この決定は情報処理部1400の処理状況等に応じて行われる。
要求を受け付けた情報処理部1400は、要求を実行する。情報処理部1400は、複数の要求を受け付けることができ、それらは待ち行列に入った順番で実行される。なお、ここで待ち行列中の要求のうち優先順位の高い要求が優先的に実行されるようにしても良い。
【００４３】
一旦受け付けた要求は、従来の処理方式に従うと、その情報処理部1400が最後まで処理を行うが、この実施の形態１では、要求の再割り当てを行うことができる。情報処理部1400は、割り当てられた要求の処理がすべて終了すると、エージェント1000へ終了通知を送信する。エージェント1000は、この終了通知を受け取ると、他の情報処理部1400で要求が多く溜まっているものがないかを判断し、溜まっている情報処理部1400があれば、その情報処理部1400から処理を終了した情報処理部1400へ要求を振り分ける。
なお、終了通知は、残りの要求が少なくなり、まもなくすべての要求の処理が終了すると予測された場合に、送信することとしてもよい。
【００４４】
以上のような動作を行うため、情報処理部1400の稼働率が上がり、全体として高速処理が可能となる。特に、各情報処理部1400が異なるプロセッサで実行される場合には効果が高い。
【００４５】
以下に詳細な動作について説明する。
図１に示すように複数のエージェント1000とそのエージェント1000に仮想リンクにより束縛されている情報処理部1400からなる自律協調処理装置の動作について説明する。
エージェント1000の持つ使命すなわち、行動のフェーズは、２つある。1つは、複数のエージェント1000との協調処理に応じて、各エージェント1000と仮想リンクにより束縛されている情報処理部1400に処理させるタスクを配分したり、情報処理部1400の実行制御の管理を行なう第１のフェーズと、もう一つは、情報処理部1400の要求または、情報処理部1400の実行状況に応じて協調処理部1100の他エージェント1000との協調メカニズムなる協調戦略を適宜動的に変更する第２のフェーズである。
【００４６】
まず第１のフェーズについて説明する。
図１に示す自律協調情報処理装置外にある外部プロセスあるいは、情報処理部1400からエージェント1000へタスク処理依頼（処理要求ともいう）が入力される。タスク処理依頼を受けとったエージェント1000は、協調処理部1100を通して、他の複数のエージェント1000の協調処理部1100と通信しあい、協調処理部1100において処理要求の分担割当を行なう。処理要求の分担作業とは、処理要求をどのエージェント1000に分担させるかを決定する処理である。
処理要求の分担割当時の各エージェント1000の協調処理部1100は、協調処理部1100内に格納している戦略のなかかから、エージェント1000間の協調処理の進捗状況に応じて戦略を選択し、その戦略にのっとって、処理要求の分担割当のための協調処理を行なう。
【００４７】
次に、メタ制御管理部1200は、協調処理部1100が受けとったタスク処理依頼の処理プランを決定する。処理プランは、タスク処理要求をどの情報処理部1400が実行するかというタスク処理のための計画のことであり、エージェント1000が仮想リンクにより束縛している１つないし複数の情報処理部1400の稼働状況に応じて決定する。この処理は、情報処理部1400とメタ制御管理部1200間で通信を行なって妥当な処理プランを策定する。
処理プランが決まると、メタ制御管理部1200は、仮想リンクにより束縛している１つないし複数の情報処理部1400に対して分担割り当てされたタスク処理要求を処理する旨の指示を出す。
また、メタ制御管理部1200は、各エージェント1000の協調処理部1100との通信を介した協調処理により、獲得した情報に基づいて、適宜動的に仮想リンクにより束縛している複数の情報処理部1400の処理の実行制御の管理を行ない、また、情報処理部1400との仮想リンクの接続の変更を行なうなどのリンクの接続制御を行なう。
【００４８】
第２のフェーズについて説明する。
メタ制御管理部1200は、情報処理部1400と通信して情報処理部1400における処理状況を把握し、その処理状況に応じて、協調処理部1100に対して協調問題解決のための協調戦略の変更を指示するなど、協調処理部の協調処理の実行制御の管理を行なう。
【００４９】
よって、仮想リンクにより束縛している情報処理部1400の実行しているモジュールや処理要求の内容、タスク処理の進捗状況などの処理状況を考慮した協調処理を協調処理部1100において行なうことが可能である。
また、メタ制御管理部1200は、情報処理部1400から受け付けた要求に応じた協調処理を行なうように協調処理部1100に指示を出すか、または、新たなエージェント1000の協調処理部1100とリンクをはりその要求を新たにリンクのはったエージェント1000の協調処理部1100に処理を代行させるといった処理を行なう。
さらに、メタ制御管理部1200では、情報処理部1400からの要求によって、エージェント1000を消滅させたり、エージェント1000とのリンクを適宜変更するといった処理を行なうことができる。
【００５０】
協調処理部1100とメタ制御管理部1200は、適宜必要に応じて内部情報格納部1300を使い分けて、情報を格納し利用する。
協調処理部1100からメタ制御管理部1200への情報の伝達は、内部情報格納部1300を経由して情報伝達するか、あるいは、プロセス間通信により情報伝送する。プロセス間通信による場合は、メタ制御管理部1200内の内部情報格納部1300に必要とあれば格納することになる。また、図１に示すメタ制御管理部1200を複数のメタ制御管理部1200により構成することも可能である。この場合、メタ制御管理部1200における負荷分散と処理の効率化を実現することが可能となる。
【００５１】
図２において示した協調処理部1100の動作を説明する。
外部通信部1101において、外部プロセスあるいは、外部アプリケーション、他のエージェント1000の協調処理部1100との通信により情報を入手し、協調問題解決部1102に送信される。協調問題解決部1102では、受け取った情報と、協調戦略リソースベース部1104に登録されている協調戦略に従って、依頼のあった処理要求を受け入れるか否か、を判断する。受け入れる場合は、内部通信部1103を経由してメタ制御管理部1200に通知する。また、受信情報を協調問題解決部1102において分析評価して、その結果を内部通信部1103を経由してメタ制御管理部1200に通知する。
また、協調問題解決部1102は、メタ制御管理部1200からの要求、メタ制御管理部1200の処理状況、協調問題解決部1102の処理状況に応じて、協調戦略を協調戦略リソースベース部1104より、選択して、協調問題解決部1102において利用する協調戦略を変更するなどして協調問題解決部1102自身の処理の実行制御の管理もあわせて行なう。この協調問題解決部1102から、上述協調問題解決部1102の処理の実行制御の管理を行う機能を、分離独立させて実現することが可能である。
【００５２】
また、メタ制御管理部1200は、図３に示すように、協調処理部1100が引き受けた処理要求の実行手順の作成または調整を行なう処理スケジュール管理部1201と、処理スケジュール管理部1201において作成された処理スケジュールに基づいてメタ制御管理部1200とリンクしている情報処理部1400の実行制御の管理を行なう実行管理部1202と、情報処理部1400との情報交換のために異なる通信規約ごとに用意したインターフェースモジュールを適宜使い分けて通信を行ない情報処理部1400とメタ制御管理部1200とのリンクを動的に切替える接続管理部1203と、によって構成される。
【００５３】
図３において示したメタ制御管理部1200の動作を説明する。
メタ制御管理部1200内の処理スケジュール管理部1201では、エージェント1000内の協調処理部1100が受け取った処理要求をメタ制御管理部1200とリンクしている情報処理部1400に依頼できる形態へ変換し、内部情報格納部1300に登録する。
実行管理部1202では、処理スケジュール管理部1201において作成された処理スケジュールに基づいて順次処理要求を情報処理部1400に依頼する。
依頼は、メタ制御管理部1200とリンクしている情報処理部1400に対して処理要求を引き受けることを依頼するメッセージを情報処理部1400に送信することにより行う。情報処理部1400は、そのメッセージを受け取り、引き受け依頼のあった処理要求を受け取るとともに記憶しておく。このとき接続管理部1203に用意されているインターフェースモジュールを介して通信を行なう。
メタ制御管理部1200における情報処理部1400への処理要求の受渡し、情報処理部1400の処理の進捗の管理、情報処理部1400との情報交換時に利用するメッセージは、情報処理部1400において実現されている機能、又は対象分野ごとに固有のフォーマット、形式が存在するため、メタ制御管理部1200と仮想リンクにより束縛されている情報処理部1400に合ったインターフェースモジュールを接続管理部1203において選択して情報交換を行なう。
【００５４】
異なる情報処理部1400との通信には、異なるインターフェースモジュールを介して通信を行なう。
処理要求の情報処理部1400への引き受けの依頼は、実行管理部1202が行ない、情報処理部1400の処理状況に応じて、処理要求の相手先を決定することになる。
処理要求にあった通信プロトコルによる情報交換に基づく、処理要求の管理を容易にメタ制御管理部1200に組み込むことができる。
従って、処理要求に固有のプロトコルあるいは、通信管理機構をインターフェースモジュールとして実現し適宜使い分けることができため、１つのメタ制御管理部1200において、複数の異なる情報処理部1400を容易に管理することができる。
また、情報処理部1400から処理スケジュールの変更を要求するメッセージをメタ制御管理部1200において受け取るとその情報処理部1400に合ったインターフェースモジュールを起動して解読し、情報処理部1400からの要求に応じて処理スケジュールを変更することが可能である。
【００５５】
実施の形態２．
実施の形態２は、メタ制御管理部1200を複数のエージェント1000で共有することにより、情報処理部1400の管理等の効率を向上させるものである。
【００５６】
図４は、実施の形態２に係る自律協調処理装置の機能ブロック図である。図４において図１と同一の符号は同一又は相当の部分を表す。1200Aは、基本的に図１に示したメタ制御管理部1200と同様のものであるが、複数のエージェント1000に共有され、複数の情報処理部1400を管理するメタ制御管理部となっている。
【００５７】
◆動作
次に、動作について説明する。
メタ制御管理部1200Aは、複数の協調処理部1100からの要求を受け取ると、情報処理部1400の処理状況等を考慮して処理プランを作成する。作成された処理プランは情報処理部1400へ通知され要求が割り当てられる。
情報処理部1400では、上述の実施の形態１と同様に要求の処理を行い、要求の処理が終了すると終了通知を行う。このとき、実施の形態１では、複数のメタ制御管理部1200へ終了通知を行う必要があるが、この実施の形態２では１つのメタ制御管理部1200Aへ通知を行えばよいため、情報処理部1400の処理負担が軽く、処理効率が良くなる。
【００５８】
ここで、協調処理部1100及び内部情報格納部1300を別にしている理由は、それぞれのエージェント1000で別々の協調処理を行うことができるためである。例えば、１つの協調処理部1100は、処理プランを作成し、他の協調処理部1100はすでに割り当てた要求の再調整を行うといった別々の状態をつくることも可能である。
【００５９】
また、ここで実現されたメタ制御管理部1200Aは、各エージェント1000の固有のメタ制御管理部1200Aとして機能すると同時に、複数のエージェント1000と複数の情報処理部1400との統括管理をも合わせて行なうことになる。よって、メタ制御管理部1200Aにおいて、協調処理部1100からの入力情報の統合管理機能、協調処理部1100の使い分け、内部情報の統合管理といったあらたな機能を実現することになる。
メタ制御管理部1200Aを共有している複数のエージェント1000の協調処理部1100からの入力情報を共有するメタ制御管理部1200Aにおいて、その入力情報を基にして、情報処理部1400の実行制御の管理を行ない、情報処理部1400に処理させるタスクを配分する。
また、メタ制御管理部1200Aは情報処理部1400の要求または、情報処理部1400の実行状況に応じて、協調処理部1100を選択し、その協調処理部1100に対して他エージェント1000との協調メカニズムなる協調戦略の適宜動的な変更を指示する。
【００６０】
また、情報処理部1400におけるエージェント1000の使い分けも、実施の形態１では、情報処理部1400内部で判断し使い分けなければならないが、図４の構成では、メタ制御管理部1200が情報処理部1400から自律して判断を行なって利用するべきエージェント1000を決定することができるため、情報処理部1400の負荷を軽減することができる。
【００６１】
実施の形態１のエージェント1000のモデル構成では、エージェント1000の数だけメタ制御管理部1200が必要になるが、共有することにより、必要なメタ制御管理部1200の数量を低減することができる。
他のエージェント1000の協調処理の結果や他のエージェント1000の内部情報をあたかも自身のエージェント1000の内部情報であるかのように利用することができる。
複数のエージェント1000にまたがった情報交換は、メタ制御管理部1200の内部処理として実現できるため効率がよくなる。
【００６２】
実施の形態３．
実施の形態３は、メタ制御管理部1200Aだけではなく、内部情報格納部も２つのエージェント1000で共有することにより、エージェント1000間の情報交換を容易にする実施の形態である。
【００６３】
図５は、この実施の形態３に係る自律協調処理装置の機能ブロック図である。図５において、図４と同一の符号は同一又は相当の部分を表す。1300Aは、複数のエージェント1000に共有され、それぞれのエージェント1000に必要な情報を格納する内部情報格納部、1500は、複数のエージェント1000に共有され、それぞれのエージェント1000がアクセスできる内部情報格納部1300A内の記憶領域を制限するアクセス権制御部である。
【００６４】
以上のような構成において、次にその動作について説明する。
アクセス権制御部1500は、内部情報格納部1300A内の記憶領域のうち、当該協調処理部1100又はメタ制御管理部1200Aがアクセスが可能な領域を指定し、内部情報格納部1300Aへ通知する。協調処理部1100又はメタ制御管理部1200Aから内部情報格納部1300Aへのアクセス要求があったときは、アクセス権制御部1500は、この要求主体からどの領域のアクセスが可能であるかを判断し、その領域の情報へのアクセスを解放するとともに、アクセス可能な領域以外の記憶領域を隠蔽する。
【００６５】
以上のような処理を行うことにより、協調処理部1100又はメタ制御管理部1200Aは、必要な情報を高速に手に入れることができる。例えば、協調処理部1100が協調処理に用いる情報を内部情報格納部1300Aから得ようとしていた場合に、膨大なデータの中から必要なデータを検索すると長時間を要する。また、内部情報格納部1300Aには、その協調処理部1100が使用するデータと使用することのないデータが混在している。そこで、使用しないデータが記憶されている記憶領域は、アクセスできないこととすると、検索領域が狭くなり高速なアクセスが可能となる。
以上のような場合、使用しないデータはエージェント1000に共有されていない別個の内部情報格納部1300Aに格納することも考えられるが、他の複数のエージェント1000に共有的に使用されるデータは、共有の内部情報格納部1300Aに格納する必要があるため、かかる場合おいて、この実施の形態３は特に有効となる。
【００６６】
実施の形態４．
実施の形態４は、複数のエージェント1000を集中的に管理するプラン策定部を設けることにより処理プランを集中的に作成する実施の形態である。
図６は、この実施の形態４に係る自律協調処理装置のブロック図である。図６において、図１と同一の符号は同一又は相当の部分を表す。2000は、複数のエージェント1000を集中的に管理し、外部から受け付けた処理要求をどのエージェント1000に担当させるかという処理プランを作成するプラン策定部である。なお、このプラン策定部2000は、図７に示すように、外部からの処理要求を受け付けるプラン策定処理部2900と、このプラン策定処理部2900の要求によりプラン策定をするプラン策定エージェント2800という２つの独立に実行可能なモジュールに分けることもできる。
【００６７】
このプラン策定部2000は、情報処理部1400において処理させたい断続的に同時多発する処理要求を受け付け、処理要求を登録保管する受付管理部2100、受け付けた処理要求を解決し実行するために、複数のエージェント1000との協調により、受け付けた処理要求の解決実施のためのプランを策定しプランを生成するプラン生成部2200、プラン生成部2200により作成されたプランに基づき、エージェント1000に対し処理要求の引き受けと実行を指示するプラン実行指示管理部2500、プラン策定時に必要な内部情報を格納するプラン策定内部情報格納部2400、プラン実行指示管理部2500からの指示に従って各エージェント1000に対して処理要求の分担割当を通知したり、プラン策定時にプラン生成部2200の指示に従ってエージェント1000にメッセージを発信し、エージェント1000から送信されてきたメッセージを受信するなどの通信の送受信の管理を行なう通信管理部2300、から構成される。
【００６８】
以上のような構成において、次にその動作について説明する。
受付管理部2100は外部から処理要求を受け付けると、プラン策定内部情報格納部2400内へ処理要求を登録する。また、プラン生成部2200に対しては、新たな処理要求を受け付けたことを通知する。ここで、受付管理部2100は、処理要求の持つ属性により、処理要求の受付を拒否したり、受付処理にかかる時間を変えるなどの受付の管理を行なうことができる。
【００６９】
図８は、この実施の形態４のプラン策定処理を示したフローチャートである。以下、この図８に基づきその動作を説明する。まず、新たな処理要求を受け付けるとステップＳ１からスタートし、ステップＳ２に移る。
ステップＳ１は、第１のプランニングである。
プラン生成部2200では、同じ処理を繰り返し実行しないために、処理要求の受信通知を受け取ると、受け付け済みであり、かつ未処理である処理要求と、新たに受け付けた処理要求とを１つにまとめる統合処理を行う。また、受け付けた処理要求が既に処理済みである場合、その処理結果を再利用することで処理を完了したとみなすか再度実行が必要であるかを判定する。再度実行が必要と判定された処理要求については上述の統合処理のふるいにかける。この処理を第１次のプランニングという。
【００７０】
・第１次のプランニング
受け付け処理要求を複数の処理要求に分解して、上記に示すように細分化された個々の処理要求と既に受け付けている処理要求との統合処理を行なう。
プラン生成部2200は、プラン生成作業中でなければ、直ちにプラン策定内部情報格納部2400から処理要求の受信通知を読み込み、優先順位の高い処理要求から順次処理し始める。プラン生成部2200は、処理要求を複数の処理要求に分解し、個々の処理要求を分析して、この要求を処理できるエージェント1000の機能要件を明確にする。そして、その条件にあったエージェント1000を探すため、各エージェント1000の協調処理部1100に対して、機能要件を判定するのに必要な情報の提供を求めるメッセージをマルチキャストする。このマルチキャストは、通信管理部2300を介して行われる。
そのメッセージを受けとったエージェント1000は、求められている項目情報をプラン策定部2000に送信する。プラン策定部2000では、その送信情報を通信管理部2300において受信し、即プラン策定内部情報格納部2400に格納する。その受信情報に基づき、プラン生成部2200が新たに受け付け複数に分解した処理要求と同じ処理要求を抱えているエージェント1000を探す。そのエージェント1000が見つかればその処理要求は、そのエージェント1000が抱えている情報処理部1400において実行されるのを待ち、その実行結果を利用する。
見つからない場合は、第２のプランニングを起動しその処理要求の処理プランの策定を行う。
この第１のプランニングが終了すると、次のステップＳ３に移る。
【００７１】
ステップＳ３は第２次のプランニングである。この第２次のプランニングでは、処理要求を処理するための実行モジュールの実行回数を極力低減するように、第１次のプランニングにおいて第２次のプランニングによる処理プランの策定が必要とされた処理要求に対して処理プランの策定を行う。
・第２次のプランニング
通信管理部2300は、ある一定の期間にエージェント1000から送られてきた情報、あるいは、特に、通信管理部2300が管理している特定のエージェント1000から情報が送られてくるのを待って、それまでに得られた情報から、処理要求を依頼できるエージェント1000を選別する。
選別された各エージェント1000に対して、具体的な処理要求をマルチキャスト通信にて送信し、処理要求を受けとることが可能であるかどうかを問い合わせる。
メッセージを受けとったエージェント1000の協調処理部1100は、エージェント1000と通信して、現在のメタ制御管理部1200と仮想リンクにより束縛している情報処理部1400の処理状況を確認し、エージェント1000がかかえている引受処理要求の未処理残を合わせて考慮して引き受けが可能であるかどうかをプラン策定部2000に通知する。処理要求の引き受けは部分的なものでもよく、受けとれる処理内容も合わせて通知する。
プラン策定部2000の通信管理部2300は、処理要求の引き受けを依頼したすべてのエージェント1000から返信が到着するまで待って、すべての返信が出そろうと、プラン生成部2200に対して、返信が出そろったことを通知する。返信の受信の度に、プラン策定内部情報格納部2400に登録する。
【００７２】
プラン策定部2000のプラン生成部2200は、引き受け可能と通知してきたエージェント1000が送ってきた。引き受け可能な処理内容をすべて調査して、エージェント1000間に重複がない部分の処理要求に関しては、受けとりを通知してきたエージェント1000に引き受けを依頼し、重複している処理要求分については、受けとりを通知してきたエージェント1000間で協調して処理要求を配分する。エージェント1000の属性や、情報処理部1400の処理状況あるいは、エージェント1000が持つ未処理な受けとり処理要求などの諸情報をもとに比較評価して分担を決定する。ここで、引き受けが可能な処理要求とは、情報処理部1400が抱えている処理要求のデータの追加あるいは制御パラメータの変更のみにて処理が可能で新たな処理要求として処理する場合に比べて実行可能モジュールの起動回数を低減することができる処理要求をいう。
引き受け先のエージェント1000と依頼する処理内容が決定すると、該当するエージェント1000に対して決定した処理要求を通信管理部2300を通して通告する。通告を受けたエージェント1000の協調処理部1100は、メタ制御管理部1200に通告のあったことを通知し受けとった処理要求の処理を指示する。メタ制御管理部1200は、その指示に従ってメタ制御管理部1200が抱えている情報処理部1400の中から最適な情報処理部1400に対して、その処理要求の実行を指示する。
ここで、第２次プランニングが終了する。次にステップＳ４に移る。
【００７３】
ステップＳ４は第３次のプランニングである。
・第３次のプランニング
しかしながら、一般的には、第２次のプランニングにおいて、エージェント1000への割当ができず、プラン策定部2000が抱えたままの処理要求が存在する。ここに残っている処理要求は、要求の一部分のみが依頼できずに溜っている処理要求や、要求のすべてを依頼できずに残っている処理要求が存在する。
プラン生成部2200は、この処理要求の再統合化処理を行なって処理要求の洗練化を行なう。プラン生成部2200がこの依頼できずに残っている処理要求を、割り当てられた処理要求を全て処理した情報処理部1400、すなわちアイドル状態である情報処理部1400、の割り当て要求に応じてその情報処理部1400とリンクしているエージェント1000に割り当てる作業が第３次のプランニングである。
この第３次のプランニングでは、情報処理部1400のアイドル状態を極力少なくするように処理要求を負荷分散することにより、高速な処理を実現するものである。
受けとった処理要求をすべてやり終えたエージェント1000から新たな処理要求の引き受けをプラン策定部2000に打診してくると同時に、第２次プランニングが終了し稼働していない状態である場合にこの第３次プランニングが起動される。起動されると第２次プランニングは、ロックされ第３次プランニングが終了するまで、新たな第２次プランニングはできない。
【００７４】
エージェント1000から、処理要求の引き受け要求の意思表示がプラン策定部2000に対してなされると、第２次プランニングにおいて、引き取られなかった処理要求を意思表示のあったエージェント1000に対して、引き受け可能である未処理の処理要求があるかチェックしてもらい、あれば引き受け可能である処理要求の引き受けを依頼する。複数個の受けとりが可能である場合は、その中で、優先順位の高いものを優先させて受けとりを依頼する。
第３次のプランニングが終了すると、次のステップＳ５に移る。
【００７５】
ステップＳ５は、第４次のプランニングである。この第４次のプランニングも第３次のプラニングと同様に情報処理部1400のアイドル状態を極力少なくすることにより処理の高速化を実現する負荷分散を行うものである。
・第４次のプランニング
条件が合わず受けとれる処理要求がない場合に、このエージェント1000に処理要求を割り当てるためのプランニング作業が第４次のプランニングである。
プラン生成部2200は、このエージェント1000に新たな処理要求の受けとり可能条件の提示を求め、その条件を充足する処理要求を未処理の引き受け処理要求として抱えているかどうかをエージェント1000に対してマルチキャスト通信して問い合わせる。
問い合わせの結果、条件を充足する処理要求を未処理の引き受け処理要求として抱えていると答えてきたエージェント1000の中から、最も多くの未処理の引き受け処理要求を抱えているエージェント1000、あるいは、他のエージェント1000と比べて処理の優先順位の大きいものを最も多く抱えているエージェント1000の中からプラン策定部2000の処理の戦略に応じて１個のエージェント1000を選択しそのエージェント1000に対して、その抱えている未処理の引き受け処理要求を２分割して、一方を受けとりの意思表示を行なっているエージェント1000に引き渡すことを通知する。
この通知、を受けたエージェント1000は、直ちに持っている引き受け処理要求を２分割し、指定されたエージェント1000に２分割した一方を引き渡す。
受けとりの意思表示を行なっているエージェント1000は、この引渡し処理要求を受け入れる。
この段階で第４次のプランニングが終了し、ステップＳ６で一連の処理が終了する。
【００７６】
しかしながら、第４次のプランニングが終了した時点でも、受けとれる処理要求がない場合は、受けとることができる処理要求がプラン策定から提示のあるまで待つ。
このエージェント1000は、第３次、第４次のプランニングの起動時に処理要求の受けとりが可能である。
第２次、第３次、第４次のプランニングの各フェーズで、受けとりの意思表示をしているエージェント1000が複数存在するときは、そのエージェント1000間で協調して分担引き受けする。
【００７７】
プランニングの具体例
次により詳細にプランニングを説明する。ここでは、インターネット上のWebサーバーからデータを検索する場合を例にとり説明する。
・第１次のプランニング
プラン策定部2200において、まず受け取った検索要求を検索式に含まれている検索キーワード単位に細分化する。ここで、受け取った検索要求は、表１のような要求を受け取ったとする。
【００７８】
【表１】
0003745820.tif 000002
【００７９】
ユーザー（usr2）より受け取った要求は、「www1というWebサーバー上から、「a」,「b」という２つのキーワードの両方を持つデータを検索せよ。」というものである。これをまず細分化する。ここでは、キーワードで２つの要求に細分化し、「「a」というキーワードを持つデータを検索せよ」という要求と、「「b」というキーワードを持つデータを検索せよ」という要求が作成され、表２のようになる。ここでは、キーワードによって要求を細分化することができたが、例えば、検索対象領域が複数指定されている場合には、検索対象ごとに要求を細分化することもできる。
【００８０】
【表２】
0003745820.tif 000003
【００８１】
次いで、細分化した検索要求ごとにプラン策定内部情報格納部2400内にある図示しない検索結果データベースと顧客要求データベースをチェックして、既に検索済みか検索実施中か未検索であるのかを確認する。
既に検索済みであるものは、その検索結果を再利用し、検索中であるものは、その検索が終了するのを待ち、未検索であるものについては、処理プランの作成を行う。
【００８２】
プラン策定部2200では、検索要求が送信される度に検索要求を受け付けるため、ある一つの検索要求の処理プランの作成中であるにもかかわらず、多数の検索要求を受け付けることがある。したがって、その受け付けた検索要求の細分化後の検索要求に対して,同じ検索要求は,一つにまとめるなどして、同じ検索処理は,２度繰り返さないという負荷分散戦略に基づいて検索要求の統合再編を行なう。これも第１次のプランニングとして行なう。
【００８３】
ここで作成された処理プランは、クライアントの検索要求の処理の進捗管理の基本単位として取り扱われる。プラン策定部2200は、この第１次のプランニングにおいて作成された処理プランをプラン実行指示管理部2500に送信し、処理プランの進捗管理を依頼する。
【００８４】
・第２次のプランニング
第２次のプランニングは、検索要求を処理するための実行モジュールの実行回数を極力低減するという負荷分散戦略に基づいて、検索要求の処理プランを策定するものである。
第２次のプランニングでは、まず、要求の機能要件を各エージェント1000へマルチキャストする。ここで、WWW1内には、複数の検索領域が存在し、表２「a」に対する要求は、例えば、URL1〜URL3という３つの領域ごとに表３のように分割されたとする。このような、要求を受けられるかについて上述のマルチキャストを行う。
【００８５】
【表３】
0003745820.tif 000004
【００８６】
エージェント1000は、この機能要件を受信後、管理している情報処理部1400が現在抱えている検索要求の検索条件をチェックし、受信した機能要件と比較することにより、検索要求の引き受けが可能であるかどうかを判断し、その結果をプラン策定部2000に通知する。ここで、あるエージェント1000と仮想リンクしている情報処理部1400の検索要求は表４に示すようなものであったとする。
引き受けが可能である場合は、引き受けが可能である処理内容も含めて送信する。
ここでいう引き受けが可能であるかどうかの判定は、エージェント1400が受け取った検索要求の検索条件と、情報処理部1400の抱えている検索要求の検索条件を比較して、両検索条件の検索領域が同一であり、両検索条件の検索対象ＵＲＬリストに同一のＵＲＬリストが存在するとき、引き受けが可能であるという。
【００８７】
【表４】
0003745820.tif 000005
【００８８】
表３と表４の関係においては、URL1,URL3が同一の検索領域となっており、URL1についての「a」の検索、URL3についての「a」の検索を引き受ける旨をプラン策定部2000へ送信する。
プラン策定部2000は、各エージェント1000が通告してきた引き受け可能な処理内容をチェックして、各エージェント1000間で重複していない部分については、引き受けを通告してきたエージェント1000に引き受けを依頼する。
【００８９】
重複した部分については、引き受けを通知してきたエージェント1000間で協調して分担を決定する。
このときの分担割り当ては、エージェント1000が管理する情報処理部1400が抱えている検索要求の中で、引き受け要請されている検索要求の優先順位以上の優先度を持つ検索要求の数量が少ないものほど優先する。
情報処理部1400への割り当てができなかった検索要求は、プラン策定部2000内のプラン策定内部情報格納部2400に保管する。プラン策定内部情報格納部2400に登録保管されている検索要求の統合再編を行なう。統合再編は、ＵＲＬのダウンロード回数を極力少なくなるような検索要求に書き替える。すなわち、ＵＲＬ単位に検索キーワードを集めることにより、検索要求を集約する。
すると、先ほどのエージェント1000の情報処理部1400に割り当てられた検索要求は表５のようになる。
【００９０】
【表５】
0003745820.tif 000006
【００９１】
表３のURL1,3についての検索は、それぞれ情報処理部a,b1400に割り当てられる。URL2についての「a」の検索は、該当するものがないため、いずれかの情報処理部1400へ割り当てられる。
このような処理を行なうことにより、ＵＲＬをダウンロードする回数を削減することができるため、全体として高速な処理が可能となる。
【００９２】
・第３次のプランニング
しかしながら、一般的には、第２次のプランニングでは、検索要求のすべての検索処理の情報処理部1400への割り当てが必ずしも完了するとは限らない。そこで、第３次のプランニングでは、情報処理部1400のアイドル状態を極力低減するという負荷分散戦略に基づき、第２次のプランニングで検索処理を情報処理部1400に割り当てることができず、プラン策定部2000が抱えている検索要求をアイドル状態である情報処理部1400に割り当てる作業を行なう。
【００９３】
受け取った検索要求をすべて処理した情報処理部1400の要求に応じてエージェント1000は、プラン策定部2000に対して検索要求の引き受け要求の意思表示を行なう。プラン策定部2000は、自らが抱えている検索式の中で優先順位の高い検索キーワードを含む検索要求の引受を優先的にエージェント1000に依頼する。
【００９４】
・第４次のプランニング
第２次のプランニング終了後、プラン策定部2000がエージェント1000に割り当てる検索要求を持ち合わせていないとき、すなわち、エージェント1000がプラン策定部2000から引き受ける検索要求がない場合に、情報処理部1400のアイドル状態を極力少なくするようにするという負荷分散戦略に基づき、このエージェント1000に新たな検索要求を割り当てるためのプランニング作業が第４次のプランニングである。
プラン策定部2000は、エージェント1000より検索要求の引き受け要求の意思表示を受け取ると、直ちに抱えている検索要求が最も多い情報処理部1400を探すために、エージェント1000に対して、情報処理部1400の抱えている検索要求の数量を問い合わせるメッセージを発信し、エージェント1000から得た情報より検索要求を最も多く抱えている情報処理部1400を探しだし、その情報処理部1400が抱えている検索要求を優先順位の大きいものから順に２つのグループに割り振ることにより２分割する。
【００９５】
表６は、あるエージェントA1000と仮想リンクされた情報処理部a1400と、他のエージェントB1000に仮想リンクされた情報処理部b1400と、が抱えている検索要求を表している。ここで、エージェントＡ1000は、検索要求を最も多く抱えているエージェント1000として発見されたものである。このエージェントA1000が抱えている検索要求は、表７のように２つに分割され、半分の検査要求がエージェントB1000に再割り当てされる。
【００９６】
【表６】
0003745820.tif 000007
【００９７】
【表７】
0003745820.tif 000008
【００９８】
実施の形態５．
実施の形態５は、プラン策定戦略を状況に応じて動的に選択する実施の形態である。
図９は、実施の形態５に係る自律協調処理装置の機能ブロック図である。図９において、図６と同一の符号は同一又は相当の部分を表す。2200aは、受け付けた処理要求を解決し実行するために、戦略指示部2600により指示された戦略に基づいて、受け付けた処理要求の解決実施のためのプランを策定しプランを生成するプラン生成部、2700はプラン策定時に利用するプラン策定のための策定戦略知識を格納する戦略格納部、2600はプラン策定のための戦略をプラン生成部2200aの処理状況あるいは、受け付けた処理要求に応じて、動的に選択変更し、または、プラン生成部2200aの実行制御の管理を行なう戦略指示部2600である。
【００９９】
以上のような構成において、次にその動作について説明する。
この実施の形態で示す装置は、基本的には実施の形態４で示した動作と同じであるため、この実施の形態５の特徴的な動作について説明する。
特徴的な動作とは、戦略指示部2600を設けることにより、プラン生成部2200aのプラン策定の方法を適宜プラン生成部2200aの処理状況、あるいは、受け付けた処理要求に応じてプラン生成部2200aの実行制御の管理を行なうことである。図９の自律協調情報処理装置では、処理要求の目的などに応じてプラン生成部2200aにおけるプラン作成手法、すなわち、プラン作成のための策定戦略を適宜切替えて処理要求の目的あるいは、プラン策定部2000、エージェント1000が抱えている処理要求の処理状況に応じたプランの生成ができる。
【０１００】
プラン生成部2200aは、受付管理部2100が受け付けた処理要求に応じて、戦略指示部2600にプラン策定の戦略を問い合わせ、戦略指示部2600の指示に従って、処理要求を複数の処理要求への分割、処理要求の統合管理、さらに、エージェント1000との協調処理の実行戦略を決定し、その戦略に従って処理を行なうことができる。
戦略指示部2600は、プラン生成部2200aからの要求、あるいは、プラン生成部2200aの処理状況、例えば、プランの生成に要する時間や、例えば実施の形態４で示した第１次、第２次、第３次、第４次のプランニングにおいて、処理要求の依頼の受けとりができないエージェント1000の数や、エージェント1000に受けとらせることのできない処理要求の数に応じて、エージェント1000の持つ属性や、第１次、第２次、第３次、第４次のプランニングを行なうときの制御パラメータを適宜変更したり、プランニングそのものを、戦略格納部2700より選択したプランニングの仕方(方針／規則)に基づいたプランニング方法に強制的に変更するなどして、プラン生成部2200aの処理の実行制御の管理を行なう。
【０１０１】
戦略指示部2600で生成される戦略には、例えば、より少ないエージェント1000を用いて要求を処理できるような戦略、より多くのエージェント1000でより高速に処理を行う戦略等があり、また、どのように要求を割り当てることが最適かを策定する方法に、例えば、前向き推論、後ろ向き推論という２つの方法があるが、プラン策定状況に応じてどちらの推論を用いるかという戦略もある。
【０１０２】
実施の形態６．
実施の形態６は、各エージェント1000の稼働率を考慮して、１度割り当てられた要求を割り当て直すことにより、各エージェント1000にかかる負荷を適切に制御する実施の形態である。
図１０は、実施の形態６に係る自律協調処理装置の機能ブロック図である。図１０において、図１と同一の符号は同一又は相当の部分を表す。3000は、各エージェント1000に割り当てられている処理要求を監視し、各エージェント1000の処理状況に応じて適宜動的にエージェント1000が受け持つ処理要求の数量の調整、または、処理の優先順位に基づく処理プランの修正変更を行なうプラン調整部であり、
1)エージェント1000が抱えている処理要求の数の平準化、均衡化
2)処理要求の処理の優先順位の逆転の抑制
を目的として、エージェント1000が抱えている処理要求の数量の調整と処理要求の優先順位に基づく処理プランの修正変更を行なう。
【０１０３】
3100は、プラン調整部3000で利用する目的や対象とする問題領域に応じたプラン調整の仕方を記述したプラン調整戦略知識を格納したプラン調整戦略格納部、3200はプランの調整を行なうプラン調整処理部、3300はエージェント1000の抱えている処理要求の監視を行なうエージェント監視部、3400はプラン調整処理部3200、あるいはエージェント監視部3300からのエージェント1000へのメッセージの通知あるいは制御信号の伝達、または、エージェント1000から送信されてくるメッセージあるいは、制御信号の受信を行ない受信情報に応じた処理を行ない、プラン調整処理部3200、あるいはエージェント監視部3300へ通知する通信管理部である。
【０１０４】
次に動作について説明する。
プラン調整部3000のエージェント監視部3300は、定期的にエージェント1000の協調処理部1100と通信管理部2300を介して交信してエージェント1000が抱えている処理要求を監視する。このときエージェント1000が抱えている処理要求とは、すなわち、そのエージェント1000と仮想リンクによって繋がっている情報処理部1400の抱えている処理要求でもある。そのとき入手した情報は、内部情報格納部1300に格納する。
エージェント1000が抱えている処理要求がある閾値を越えたエージェント1000を発見すると、直ちにエージェント監視部3300は、プラン調整処理部3200にその旨を通知する。
プラン調整処理部3200は、エージェント1000の処理の進捗状況や処理要求の発生頻度などの諸状況に応じて、プラン調整戦略を作成する。その通知を受け取ったプラン調整処理部3200は、全てのエージェント1000が抱えている処理要求を調査し、閾値を越えたエージェント1000に対して抱えている処理要求を２分割し、一方を指定するエージェント1000へ引き渡すことを指示するメッセージを発信する。
通知を受けたエージェント1000は、引き受けている処理要求を２分割し、プラン調整部3000が指定するエージェント1000へその一方の処理要求を引き渡す。
【０１０５】
プラン調整処理部3200は、分割する処理要求の引き受けることのできるエージェント1000の要件を明確にし、抱えている処理要求の数量の少ないエージェント1000へ優先的に引き受けの指定をする。
プラン調整部3000から引き受けを指示されたエージェント1000は、引き受け要求のあった処理要求の中から受けとることのできる処理要求のみを受けとる。
プラン調整処理部3200の引き受けの指定とプラン調整部3000から引き受けを指示されたエージェント1000の引き受け作業の繰り返しにより、分割調整作業を終了する。
また、以下に示す方式にてプラン調整できる。
定期的にプラン調整部3000は、情報処理部1400の進捗状況を各エージェント1000に報告させ、その報告に基づき情報処理部1400が抱えている処理要求の実施順位である実施ＩＤの最小値が、他の情報処理部1400が抱えている処理要求の実施ＩＤの最大値よりも大きい情報処理部1400を発見すると、直ちにプラン調整部3000は調整案の策定を、発見された情報処理部1400を束縛するエージェント1000に指示する。
各エージェント1000とプラン調整部3000は、協調して、調整すべき情報処理部1400を決定し、その情報処理部1400を管理するエージェント1000にプラン調整の実行を指示する。この指示は、複数のエージェント1000に対して行われる。
プラン調整の実行を指示されたエージェント1000達は、自己が管理している情報処理部1400の抱えている処理要求をチェックし、その処理要求を実行優先順位に基づいて実施順位の上位のものから互いに取り合うことにより処理要求の再割り当てを行う。
【０１０６】
以上の処理により、要求を多く抱えたエージェント1000の負荷を他のエージェント1000に動的に振り分けることができるので、全体として高速な要求の処理が可能となる。
【０１０７】
また、プラン調整戦略知識を書き変えるだけで、プラン調整のメカニズムを容易に変更できる。すなわち、プラン調整戦略格納部3100を分離独立させて実現しているため、プラン調整戦略知識の修正、変更が容易である。
なお、図１１に示すように、このプラン調整部3000は、各情報処理部1400の処理の進捗状況の監視と、その進捗状況に基づいてプラン調整すべき情報処理部1400の選択をするプラン調整処理部3600と、プラン調整処理部3600の指示に従って、選択されたエージェント1000と協調してその情報処理部1400が抱える処理要求を再割り当てして調整するプラン調整エージェント3500という２つの独立した実行可能なモジュールに分けることもできる。
【０１０８】
実施の形態７．
実施の形態７は、実施の形態４に示したプランの策定と実施の形態６に示したプランの調整とを取り入れることにより、より適切な処理要求の配分を可能とし、高速な処理を可能とする実施の形態である。
【０１０９】
図１２は、実施の形態７に係る自律協調処理装置の機能ブロック図である。図１２において、図１、６又は１０と同一の符号は同一又は相当の部分を表す。
4000は、プラン策定協調処理部4200とプラン調整協調処理部4100とメタ制御管理部1200からアクセスでき、三者の共有内部情報を格納する内部共有情報格納部である。
4100は、自律した判断をして複数の情報処理部1400間での協調連携処理を行うため、他のエージェント1000との協調処理を実行するプラン調整協調処理部である。このプラン策定協調処理部4200は協調処理をプラン調整という点に限定したことを除き実施の形態１で示した協調処理部1100と同様のものである。
4200は、自律した判断をして複数の情報処理部1400間での協調連携処理を行うため、他のエージェント1000との協調処理を実行するプラン策定協調処理部である。このプラン策定協調処理部4200は協調処理をプラン策定という点に限定したことを除き実施の形態１で示した協調処理部1100と同様のものである。
【０１１０】
次に動作について説明する。
プラン策定部2000は、実施の形態４または実施の形態５で示した動作を行ない、プラン調整部3000は、実施の形態６で示した動作を行なう。
ただし、プラン策定部2000は、図１２に示すように、各エージェント1000のプラン策定専用のプラン策定協調処理部4200と交信して協調処理を行ない、プラン調整部3000は、プラン調整専用のプラン調整協調処理部4100と交信して協調処理を行なう。
また、協調処理部1100をプラン策定専用のプラン策定協調処理部4200とプラン調整専用のプラン調整協調処理部4100に分離して、両機能を１個のエージェント1000に内包させる形態で実現した。
従って、プラン策定のための協調処理部1100と、プラン調整のためのプラン調整協調処理部4100の両機能を１個のエージェント1000単位での取り扱いが可能となり、両者間の協調は、エージェント1000の内部処理となる。
【０１１１】
この自律協調情報処理装置でのサービスの提供を含む問題解決は、以下のような処理の流れにより行なわれることになる。
処理要求がプラン策定部2000に入力されると、各エージェント1000の構成要素であるプラン策定協調処理部4200とプラン策定部2000との協調により処理プランの策定が行なわれ、各エージェント1000にこの処理プランに従った新規の処理要求の割り当てがなされる。
そして、あるエージェント1000の処理要求が予め定められた閾値を越えると、プラン調整部3000は、各エージェント1000の構成要素であるプラン調整協調処理部4100とプラン調整部3000との協調により、処理要求の再割り当てを行い。処理要求の均等化、優先順位に従った処理を目的としてプランの調整を実行する。
【０１１２】
以上のような動作により、第１にプラン策定部2000による適切な処理要求の割り当てが行われ、第２に、この割り当てが適切なものでなくなった場合でも、プラン調整部3000による処理要求の割り当て直しが行われるため、全体として適切な割り当て状態を保つことができる。従って、高速な処理が可能となる。
【０１１３】
また、プラン策定部2000、プラン調整部3000をそれぞれ、目的別、処理対象のカテゴリごとに分けて実現することにより、システムのモジュール性を向上させ、システムの構築を機能別に分けた実現が容易に実現でき、可読性も向上し、処理速度もかなり改善することができる。
この場合、エージェント1000の構成要素である、プラン策定協調処理部4200とプラン調整協調処理部4100は、それぞれのプラン策定部2000、プラン調整部3000に対して、別プロセスとして実現することも可能であるし、同一のプロセスにて異なる複数のプラン策定部2000、ないしプラン調整部3000との協調処理として実現することも可能である。
また、互いに分離独立した異なる複数の協調処理部1100をエージェント1000の構成要素として持ち合わせることも可能である。
【０１１４】
実施の形態８．
実施の形態８は、実施の形態４とは、異なる構成でプラン策定を行う実施の形態である。
図１３は、実施の形態８に係る自律協調処理装置の機能ブロック図である。図１４において、図６と同一の符号は同一又は相当の部分を表す。
これまでの実施の形態では、情報処理部1400から見た場合、その情報処理部1400を代行して同一のプラン策定部2000に対して協調処理にあたる協調処理部1100は、１個であった。この実施の形態では、情報処理部1400aを代行して同一のプラン策定部2000に対して協調処理にあたる協調処理部1100は複数個存在する。従って、同一の問題解決に対して複数の協調処理部1100からの処理要求を適宜使い分けて情報処理部1400a内に取り込み処理することになる。
また、情報処理部1400aにリンクする協調処理部1100を不特定として、適宜必要に応じて協調処理部1100とのリンクを成立させ、協調処理部1100からの処理要求を受けとり処理することも可能である。
【０１１５】
1100aは、プラン策定部2000が策定したプランに基づき、自律した判断をして複数の情報処理部1400a間での協調連携処理を行うために他のエージェント1000との協調処理を実行する協調処理部であり、複数の処理要求を受け付け、これらの処理要求を情報処理部1400aに実行させるものである。
1400aは、１つの処理要求を受け付け、この処理要求を処理する情報処理部であり、処理要求には、１つないし複数のデータベースから所望する情報の検索、問題の解決、あるいはサービス提供を受ける等の処理が含まれる。また、この情報処理部1400aは、過去の検索結果又は処理結果を記憶し、これらの検索又は処理の内容を自らを管理する接続制御管理部5000へ通知する作用がある。この通知は、接続制御管理部5000、協調処理部1100aを介してプラン策定部2000へ伝えられる。
【０１１６】
5000は、協調処理部1100aから受け取った処理要求をどの情報処理部1400aへ処理させるかを決定し、決定した情報処理部1400aとその処理要求を受け付けた協調処理部1100aとを接続する接続制御管理部である。
この接続制御管理部5000の内部構成は、図１４のようになっている。5100は、受け取った処理要求の要求内容と情報処理部1400aの属性及び負荷状況に基づき、当該処理要求をどの情報処理部1400aへ引き渡すかを決定する接続制御部、5200は、この接続制御部5100の指示に基づき特定の情報処理部1400aと特定の協調処理部1100aとを接続し、当該情報処理部1400aと協調処理部1100aとの間で情報伝達を行う情報伝達管理部5200である。
【０１１７】
以上のような構成において、次にその動作について説明する。
処理要求が外部プロセス、情報処理部1400a、あるいは、協調処理部1100aからプラン策定部2000に入力されると、実施の形態４または、実施の形態５において説明したように、プラン策定部2000とリンクしている協調処理部1100aとの協調作業により処理要求の処理プランを策定し、各協調処理部1100aに処理要求を割り当てる。ただし、各協調処理部1100aは、それぞれが特有の属性を持ち（もちろん、同一の属性を持っている場合もある）、その属性を考慮してプラン策定が行われる。この属性の違いにより、例えば、優先順位の高い処理要求を専門的に受付ける協調処理部1100aや、受け取ることのできる処理要求件数の上限が大きい協調処理部1100a、逆に上限が少ない協調処理部1100a等が存在する。
【０１１８】
プラン策定は、実施の形態４に示した条件の他にこれらの属性を考慮して行われる。このとき、各情報処理部1400aから通知された条件に合う処理要求は優先的にその情報処理部1400aに割り当てられるようにプランを作成する。例えば、既に検索済みデータと同一の検索要求がある場合には、既に検索を行った情報処理部1400aへ当該検索要求を割り付ける。プラン策定部2000においては、通常、どの協調処理部1100aへ検索要求を割り付けるかを決定するのみで、どの情報処理部1400aに割り付けるかという指定は行わないが、上述の場合には、例外的に当該情報処理部1400aを指定する。その理由は、過去に同一の検索条件で検索を行っている情報処理部1400aがある場合には、検索結果を保持しているので、新たに検索を行わなくても検索結果を得ることができ、高速に結果を得ることができるからである。
【０１１９】
プランを策定した結果、どの協調処理部1100aが処理要求を担当するかが決定する。各々の協調処理部1100aは、リンクしている接続制御管理部5000と交信してどの接続制御管理部5000に担当させるかを決定する。各接続制御管理部5000には、管理している情報処理部1400aに応じた属性があり、この属性と現在の負荷に基づき、どの接続制御管理部5000が処理要求を処理するかを決定する。例えば、ある接続制御管理部5000は、全文検索の得意な情報処理部1400aを多く管理し、ある接続制御管理部5000は、特定のデータの構文を熟知しており構文のかかるデータの検索が得意な情報処理部1400aを多く管理している等、情報処理部1400aには、情報処理部1400aのプログラム等により特性があるため、これらを予め考慮して接続制御管理部5000を選択する。
【０１２０】
処理要求を処理する接続制御管理部5000が決定し、当該接続制御管理部5000が処理要求を受け付けると、次に、情報処理部1400aへの処理要求の割り付けが行われる。この割り付けは各情報処理部1400aの属性、負荷状態を考慮しながら、接続制御管理部5000と情報処理部1400aとの間の協調処理により決定する。
そして、最終的に処理要求を処理する情報処理部1400aが決定し、その情報処理部1400aにて処理要求が実行される。
【０１２１】
また、この実施の形態８では、各情報処理部1400aは、１つの処理要求しか受け付けず、複数の処理要求は協調処理部1100aにスタックされている。各協調処理部1100aにスタックしている処理要求は接続制御管理部5000の要求に従って各情報処理部1400aへ割り当てられる。接続制御管理部5000は、情報処理部1400aからの要求があると、協調処理部1100aへ処理要求を受け取りに行く。このとき、各協調処理部1100aに溜まっている処理要求のうちどの処理要求を受け取るかは、処理要求の優先度に基づいて決定される。この際、引き受ける情報処理部1400aの属性を考慮しても良い。他の実施の形態では、１つの情報処理部1400に複数の処理要求が溜まり、これらの処理要求は受付順で処理されるため、優先度の低い処理要求が高い処理要求よりも先に処理されてしまうという問題、又は、各処理要求の処理に要する時間が異なるため各情報処理部1400a間にスタックしている処理要求の数に不均衡が生じるなどの問題があった。そのため、これらの問題を解決することを目的としてプラン調整部を設けた実施の形態についても説明した。一方、この実施の形態では、各情報処理部1400aでは１つの処理要求しか受け付けず、処理が終了すると優先順位に従って全ての協調処理部1100aの中から、次に実行されるべき処理要求を探しだして実行するためかかる調整が不要になる。
【０１２２】
以上のような、動作を行うことにより、プラン策定部2000により適切なプランが決定され、当該プランに基づいて適切に負荷分散が行われる。従って、高速に処理要求を実行することができる。
【０１２３】
ただし、処理要求は、処理させる情報処理部1400aを指定することもできるし、不特定とし、接続制御部5100に委ねることもできる。よって、複数の協調処理部1100aから同一の情報処理部1400aを指定した処理要求が複数個同時に接続制御部5100に送信されてくることがある。接続制御部5100では、リンクしている協調処理部1100aから処理要求を例えば図１４で示す情報伝達管理部5200が受信する。
情報伝達管理部5200では、受信した処理要求を分析解読して、まず、処理させる情報処理部1400aを指定しているものと指定のないものに分け、さらに指定しているものを指定先ごとに分類する。受け付けた処理要求の処理の順序は、処理要求につけられた優先度に基づいて優先順位を決定し処理される。
優先順位は、処理要求が持つ属性例えば緊急と指定すれば指定がないものより実行順序の優先度を大きくするなど、接続制御部5100の受信時刻順序、などにより決定される。
情報伝達管理部5200は、処理要求の引渡し先が指定されている処理要求については、指定先の情報処理部1400aと交信しながら、適宜相手先情報処理部1400aへ処理要求を送信する。
【０１２４】
処理要求の引渡し先が複数個指定されているときは、複数個の情報処理部1400aの中から、引きとり要求が情報伝達管理部5200に送られてきた情報処理部1400aに処理要求を引き渡す。
処理要求に引き受けの条件が設定されているときは、情報伝達管理部5200において、処理要求に設定された引渡し条件を満足しているかどうかを情報処理部1400aとコミュニケーションして判断し、この判断結果に基づき引渡しの可否を決定する。
また、同時に引渡し可能な情報処理部1400aを複数個存在するときは、情報伝達管理部5200において競合の解消が行なわれ、さらに優先順位付けが行われる。そして、この優先順位に従い情報処理部1400aを決定し、その情報処理部1400aに処理要求を引き渡す。
【０１２５】
処理要求の引渡し先が指定されていない処理要求は、引き渡し可能な情報処理部1400aの中から処理要求の優先度、優先順位に従って処理要求に設定されている引渡し条件を満足する情報処理部1400aに引き渡す。同時に複数個存在するときは、競合解消を行ない引渡し先情報処理部1400aを決定する。
例えば、競合解消時、相手先を指定している処理要求がある場合に、その相手先として指定されている情報処理部1400aの優先順位を低くすることにより、相手先を指定していない処理要求にできるだけじゃまされないようにする。そのことにより、特定の情報処理部1400aに負荷が集中しないようにするといった競合の解消方法が考えられる。
【０１２６】
また、上述したように情報処理部1400aから、引き受ける処理要求の条件を指定することができる。この条件を接続制御管理部5000に送ると、その条件を満足する処理要求の提示がある。その中から適宜引き受ける処理要求を決定し、その処理要求を受けとる。
条件として、要求の発信元の協調処理部1100aを指定することもできる。
協調処理部1100aを指定したときに、接続制御管理部5000とリンクされていない協調処理部1100aを指定したときには、情報伝達管理部5200は、一旦情報処理部1400aと交信して、情報処理部1400aがその指定を止め指定を変更するか、接続制御部5100がその指定された協調処理部1100aと交渉して、その協調処理部1100aとリンクを新たに張る。交渉の結果拒否されると、その協調処理に代わる代替の協調処理部1100aがあるかどうかをその協調処理部1100aに問い合わせる。
【０１２７】
代替の協調処理部1100aがあれば、再度その協調処理部1100aと交渉する。このような作業を繰り返して相手先となる協調処理部1100aを探し、見つからなければ、指定を止めるよう情報処理部1400aに指示する。見つかれば新たな代替の協調処理部1100aを情報伝達管理部5200を経由して情報処理部1400aに通知し、指定をその協調処理部1100aへ変更するよう指示し、その協調処理部1100aにリンクを貼る。
また、協調処理部1100aが引渡し先として指定した情報処理部1400aが、接続制御管理部5000とリンクされていない場合、情報伝達管理部5200は、協調処理部1100aに対して指定の変更ができないか問い合わせ、変更ができないときは、接続制御部5100に依頼し、接続制御部5100と相手先情報処理部1400aとの交渉が成立すれば指定された情報処理部1400aとリンクを張り接続する。
接続制御部5100による交渉が失敗し拒否されると、代替の情報処理部1400aがあるかどうか問い合わせ、存在すれば再度交渉する。このような作業繰り返して相手先情報処理部1400aを探す。
【０１２８】
見つかれば、その情報処理部1400aとリンクを貼り接続する。みつからなければ、協調処理部1100aに対して、指定を変更するよう指示する。
また、情報処理部1400aから、引き受けの相手先の指定を取り止めた場合、接続制御管理部5000とリンクしている情報処理部1400aがすべて、引き受けの相手先である協調処理部1100aを指定している場合であって、かつ、取り止めた相手先である協調処理部1100aを引受の相手先として指定されていない場合、その協調処理部1100aと接続制御管理部5000とのリンクを解消することができる。
ただし、解消しないでリンクを存続させることもできる。接続制御部5100は、このような協調処理部1100aと接続制御管理部5000間、情報処理部1400aと接続制御管理部5000間、のリンクの接続の制御を行なう。
【０１２９】
実施の形態９．
図１５は、実施の形態９に係る自律協調処理装置の機能ブロック図である。図１５において、図１３又は１４と同一の符号は同一又は相当の部分を表す。
5300は、協調処理部1100a内の内部状況を監視する監視部、5400は情報処理部1400aと協調処理部1100aの実行制御の管理を行なう実行制御管理部、5500は前記協調処理部1100aが抱えている引き受け処理要求の数量の調整を含め実行制御管理部5400の実行制御の管理を行なう情報処理調整部である。
ただし、接続制御管理部5000の構成要素である情報処理調整部5500は、オプショナルに装備することが可能である。
【０１３０】
以上のような構成において、次にその動作について説明する。
図１５において示す装置の基本的な動作は、実施の形態８で示す通りである。従って、この実施の形態９の特徴的な動作について説明する。
この実施の形態は、実施の形態８で示した接続制御管理部5000の機能を拡張することにより、すなわち、監視部5300、実行制御管理部5400、を設けることにより、接続制御管理部5000とリンクされている協調処理部1100aの稼働状況と、情報処理部1400aの稼働状況を含めた情報伝達管理部5200の稼働状況に応じて協調処理部1100a、情報処理部1400a、情報伝達管理部5200の実行制御の管理を行なう機能を追加したものである。
【０１３１】
さらに、オプションとして、情報処理調整部5500を設けることにより、
協調処理部1100aが抱えている引き受け処理要求の数量、あるいは、処理要求の優先順位に基づく処理の実行順序の制御、または、協調処理部1100aにおける処理要求の発信管理ができるように機能拡張したものである。
【０１３２】
監視部5300は、実行制御管理部5400の指示により、接続制御管理部5000とリンクしているすべての協調処理部1100aのある特定の内部情報を監視し適宜取り込み、監視部5300内で保存する。例えば、協調処理部1100aが引き受けた処理要求などを監視させる。実行制御管理部5400は、その監視部5300内に保管されてる情報に基づいて、協調処理部1100、情報伝達管理部5200、情報処理部1400a、接続制御部5100の実行制御の管理を以下のように行なう。
まず、協調処理部1100に対しては、発信する処理要求の条件を提示し、その条件を充足する処理要求を接続制御管理部に対して発信するように指示したり、協調処理戦略の変更を指示する。指示は、情報伝達管理部5200を経由して行なう。情報伝達管理部5200に対しては、協調処理部1100aから送られてくる処理要求の条件チェック、または、処理要求の受付をする協調処理部1100aを適宜指定し指定した協調処理部1100aからの要求のみを受け付けるように指示する。
また、受け付けた処理要求の処理の優先順位の決定と、引き受け先の情報処理部1400aの決定にあたっての競合解消戦略を協調処理部1100aの内部状況に応じて指定する。
情報処理部1400aに対しては、処理要求の引き受けにあたって、処理要求の発信先である協調処理部1100aの指定をトップダウンに指示する。
【０１３３】
接続制御部5100に対しては、情報処理部1400aあるいは、協調処理部1100からの要求で協調処理部1100aと接続制御管理部5000とのリンクまたは情報処理部1400aと接続制御管理部5000とのリンク設定変更を行なう時に、接続制御管理部5000と現在リンクの張られている協調処理部1100aの稼働状況を考慮した判断を実行制御管理部5400側で行ないその結果を指示する。
【０１３４】
次に、情報処理調整部5500の動作を説明する。
情報処理調整部5500は、監視部5300を通して得られる協調処理部1100aの内部情報を基に、協調処理部1100aが抱えている処理要求の数を監視して、その数が予め定められた値を越えた場合には、その協調処理部1100aが抱えている処理要求を分割して、分割分は、他の協調処理部1100aに引き受けさせる。引き受けさせる協調処理部1100aの選択は、分割した処理要求の引渡し条件と、協調処理部1100aでの受け入れ条件を比較し、できるだけ抱えている処理要求が少ない協調処理部1100aを選択する。
また、協調処理部1100aの稼働状況に応じて、実行制御管理部5400に対して、適宜動的に判断行動基準の変更や制御パラメータの変更などを指示するなどして実行制御管理部5400の実行制御の管理を行なう。
【０１３５】
実施の形態１０．
図１６は、実施の形態１０に係る自律協調処理装置の機能ブロック図である。図１６において、図１と同一の符号は同一又は相当の部分を表す。6000は情報処理部1400とエージェント1000の稼働数量を増減することにより自律協調処理装置の処理速度の調節を行なうチューニング部である。このチューニング部6000の詳細な構成を図１７に示す。6300は、エージェント1000や情報処理部1400を含めた処理要求の処理時間を計測するプロセス監視部、6200は、その計測した時間を集計し統計学的処理、例えば、移動平均をとるなどの処理を施して、システムの性能評価値を算定する評価部、6100は、評価部6200の評価に従って、エージェント1000又は、情報処理部1400の数を増減させる構成部品生成削除部である。
【０１３６】
次に動作について説明する。
チューニング部6000のプロセス監視部6300は、エージェント1000のメタ制御管理部1200と交信して、メタ制御管理部1200が管理している情報処理部1400に対して処理を依頼しその結果が返ってくるまでの時間、あるいは、エージェント1000の内部情報格納部に格納されている情報を返してくる時間、などのターンアラウンド値を計測する。
そして、評価部6200において、計測値を例えば、移動平均をとるなどして、統計学的算術処理を施して、計測評価値を算定する。その算定された計測評価値をベースにして、評価部6200内に登録されている閾値と比較して、評価部6200に登録されている判断規則のなかから、もっともふさわしい判断規則を選択して、その判断規則にもとづいて評価を行ない、エージェント1000あるいは、情報処理部1400を増やすか削減するかを数量とともに決定する。
【０１３７】
次いで、その評価部6200が出した評価に従って、構成部品生成削除部6100において、エージェント1000あるいは、情報処理部を新たに生成あるいは、削除を行なう。
以下の処理は、構成部品生成削除部6100において行なわれる。
削除する場合、削除する情報処理部1400あるいはエージェント1000の選定作業に入る。複数の情報処理部1400において実現されている機能がそれぞれすべて異なる場合は、情報処理部1400は削除できない。しかしながら、同じ機能を実現した情報処理部1400が複数個存在するときは、その内のいくつかを消去することが可能である。情報処理部1400を削除するときは、その削除対象の情報処理部1400の作業が終了するのを待って削除する。
【０１３８】
エージェント1000を削除するときは、削除対象エージェント1000内の協調処理部1100aをロックし、他エージェント1000あるいは、他プロセスとの交信を断ち、削除対象エージェント1000内のメタ制御管理部1200もロックし、情報処理部1400との交信を断つ。ただし、現在このエージェント1000の指示に従い作業を行なっている情報処理部1400が存在しているときは、その処理が終り処理結果の通知を受け取るまで、その情報処理部1400との通信のみができる状態となる。
結果を受け取り次第、削除対象エージェント1000内の内部情報格納部1300に格納されている情報を調査し、他のエージェントに引き次ぐ必要のある情報が存在するときは、他のエージェント1000に引き継ぎを依頼する。引き継ぎが完了すると、その削除対象のエージェント1000を削除する。
しかしながら、引き継ぎができていない場合は、本エージェント1000を削除することはできない。このような場合は、このエージェント1000が抱えている処理要求をすべて、処理してしまうまで、待ちその後削除する。
【０１３９】
エージェント1000あるいは、情報処理部1400を増やすときは、構成部品生成削除部6100内に登録されている各種部品の中から必要な部品を選択して組み合わせて目的とするエージェント1000あるいは、情報処理部1400を作成する。エージェント1000に装備する協調戦略やプロセス管理のためのノウハウは、ディフォルトで用意されている標準品を組み込む。作成後、稼働しているエージェント1000あるいは、情報処理部1400と連携して目的に合うようにカスタマイズあるいは、チューニングする。
また、図４に示すメタ制御管理部1200Aに上記チューニング部6000をリンクさせて、そのチューニング部6000と、一個のメタ制御管理部1200Aとの協調により稼働エージェント1000の数量をチューニングすることも可能である。このことにより、チューニング部6000とメタ制御管理部1200Aで行う通信の処理回数を低減することができる。
【０１４０】
実施の形態１１．
図１８は、この実施の形態１１の自律協調処理装置の機能ブロック図である。図１８において、図６又は図１０と同一の符号は同一又は相当の部分を表す。6000は、実施の形態１０で説明したチューニング部と同様のものであり、プラン調整部3000から各処理要求の処理時間取得するとともに、この処理時間を監視し、この監視結果に基づいてエージェント1000又は情報処理部1400の数の増減を行う。従って、基本的な動作は実施の形態１０と同様のものである。
【０１４１】
実施の形態１２．
図１９は、この実施の形態１２の自律協調処理装置の機能ブロック図である。図１９において、図１２と同一の符号は同一又は相当の部分を表す。6000は、実施の形態１０で説明したチューニング部と同様のものであり、プラン調整部3000から各処理要求の処理時間取得するとともに、この処理時間を監視し、この監視結果に基づいてエージェント1000又は情報処理部1400の数の増減を行う。従って、チューニング部6000の基本的な動作は実施の形態１０と同様のものである。
【０１４２】
実施の形態１３．
図２０は、この実施の形態１３の自律協調処理装置の機能ブロック図である。図２０において、図１３と同一の符号は同一又は相当の部分を表す。6000は、実施の形態１０で説明したチューニング部と同様のものであり、接続制御管理部5000から各処理要求の処理時間取得するとともに、この処理時間を監視し、この監視結果に基づいて協調処理部1100a又は情報処理部1400の数の増減を行う。従って、チューニング部6000の基本的な動作は実施の形態１０と同様のものである。
【０１４３】
実施の形態１４．
図２１は、この実施の形態１３の自律協調処理装置の機能ブロック図である。図２１において、図１５と同一の符号は同一又は相当の部分を表す。6000は、実施の形態１０で説明したチューニング部と同様のものであり、情報処理調整部5500から各処理要求の処理時間取得するとともに、この処理時間を監視し、この監視結果に基づいて協調処理部1100a又は情報処理部1400の数の増減を行う。従って、チューニング部6000の基本的な動作は実施の形態１０と同様のものである。
【０１４４】
実施の形態１５．
図２２は、実施の形態１５に係る自律協調処理装置の機能ブロック図である。図２２において、7400は実施の形態１〜１４のいずれかに示した自律協調情報処理装置である。7000は処理要求に制御パラメータを付加し、処理の優先順位を適宜動的に制御パラメータに応じて設定し、処理の実行順序を制御する優先順位設定管理部、7100は受け付けた処理要求の処理状況のいかんにかかわらず、新たな複数の処理要求の受け付けを行なう受付管理、及び処理プランの登録保管または処理要求者への処理結果の部分分散転送管理を行なう処理要求管理部、7200は処理要求管理部7100からの指示に応じて処理要求者への処理結果の部分分散転送を行なう処理結果提供部、7300は処理結果の登録保管、問い合わせ処理、処理要求に適合する処理結果への統合処理を行なう処理結果統合管理部である。
【０１４５】
7500はネットワーク上に分散配置された情報資源を格納する複数のリソースベース、7600は、ネットワークに接続された各利用者が処理要求を発信したり、処理結果を受信する操作環境であるクライアントである。情報資源とは、マルチメディアデータあるいは、アプリケーションシステムを指す。
【０１４６】
以上のような構成において、次にその動作について説明する。
まず、クライアント7600から処理要求を処理要求管理部7100に対して発信する。このとき、同一のクライアント7600から複数の処理要求を断続的に発信することができる。また、別クライアント7600からも同時に処理要求を発信することができる。しかも、発信した処理要求の処理が終了せずとも新たな処理要求を発信することができる。
処理要求管理部7100において、クライアント7600からの処理要求を受け付けると、その受信した処理要求の処理手順なる処理スケジュールの作成を行なう。受け付けた処理要求を本装置において処理可能な複数の処理要求に分割する。処理要求には、処理の順番が決まっているものや他の処理要求とは独立したものがあり、同じ処理要求が既に処理されていてもその結果を利用できないもの、すなわち、同じ処理をやり直すことが必要な処理要求がある。従って、過去において処理された結果を再利用することができる処理要求と改めて処理を行なう必要のあるもの、処理の順序を考慮するもの考慮しなくてもよいもの、に分けて処理要求の処理プランを作成する。
【０１４７】
ただし、自律協調情報処理装置7400自身が上記の処理スケジュールの作成、すなわち、処理プランの作成を行う場合には処理要求管理部7100での処理スケジュールの作成は行わず、受け付けた処理要求そのものを自律協調情報処理装置7400に引き渡す。例えば、実施の形態４，５，７，８，９等のプラン策定部2000を備えた自律協調情報処理装置7400である。
【０１４８】
ついで、各処理要求が既に処理済みか、処理中か、未処理であるかをチェックする。図示しない処理要求データベースに登録されていれば、自律協調情報処理装置7400内で処理中である。処理済みであるか未処理であるかのチェックは、処理結果統合管理部7300に問い合わせて確認する。以上の作業で処理要求が処理済みか、処理中か、未処理であるかが確定する。処理中であって、処理結果の再利用ができる場合は、処理結果が返ってくるのを待つ。処理済みであって、処理結果の再利用ができる場合は、その処理結果を再利用する。処理済みであると判明し利用者がその処理結果が返送されるのを待っているものである場合は、直ちにクライアントに転送する。
【０１４９】
それら以外の処理要求は、自律協調処理装置7400に処理を依頼する。自律協調処理装置7400に処理を依頼した処理要求は、図示しない処理要求データベースに登録する。依頼する処理要求は、優先順位設定管理部7000において、処理の優先順位あるいは、優先度を割り当て、処理の従属関係、順序関係、他人の行なった処理が再利用できるかできないかの区分も属性情報として、処理要求に持たせる。
分割した処理要求をさらに他の処理要求の分割処理要求と統合して、属性情報、優先度、優先順位、処理の従属関係、順序関係、他人の行なった処理が再利用できるかできないかの区分を考慮して自律協調処理装置7400において処理する。処理結果統合管理部7300において、ばらばらに分割された処理要求の実施結果を部分的に統合する。例えば、検索条件が複数のキーワードからなる場合、その検索条件は処理要求管理部7100によりキーワード毎に別々の処理要求に分解される。この処理結果統合管理部7300ではこの分解された処理要求の検索結果を元の処理要求に従って統合する。すなわち、処理条件が２つのキーワードの論理積であった場合には、これらのキーワードの処理結果同士の論理積をとり、１つの解を得る。一方、それらのキーワードの論理和である場合には、それらの処理結果同士の論理和をとり、１つの解を得る。
【０１５０】
そして、最終的に統合された処理結果を処理結果提供部7200に送り、要求者へ処理結果を転送したり、処理要求を充足するサービスを提供する。
以上のように処理が高速な実施の形態１〜１４の自律協調情報処理装置7400を用いることにより、各クライアントは迅速に処理結果を得ることができる。
以上のように、この発明にかかる実施の形態１〜１５の自律協調情報処理装置においては、外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて処理要求の再割り当てを上記エージェント部に要求するとともに、再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信した情報処理部の管理する処理要求を他の上記情報処理部へ移動させ、又は、他の情報処理部の管理する処理要求をその再割り当て要求を送信した情報処理部へ移動させることを特徴とするものである。
また、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求のうち未処理の処理要求が無くなり又は予め定められた件数よりも少なくなった場合には、再割り当て要求を送信するとともに、上記エージェント部により再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けると、他の情報処理部の管理する処理要求をその再割り当て要求を送信した情報処理部へ移動させるものである。
また、複数の上記エージェント部を備え、上記複数の情報処理部はそれぞれ複数の上記エージェント部からの処理要求を受け付けるとともに、上記エージェント部は、自己の管理する処理要求の件数又は優先度から新たな処理要求を受け付けられるか否かを判定し、この判定結果を通信する協調処理部と、上記協調処理部が処理要求を受け取ったときに、自己の管理する上記情報処理部の処理状況又は属性を考慮して、複数の上記情報処理部から当該処理要求を処理する上記情報処理部を選択し、この選択した情報処理部へ当該処理要求を割り当てる情報処理管理部と、を備え、この情報処理管理部を他のエージェント部と共有することにより、上記情報処理部は複数のエージェント部への通信を上記情報処理管理部を介して行うものである。
上記情報処理管理部には、実施の形態に示すメタ制御管理部が含まれる。
また、上記エージェント部ごとに操作できる記憶領域を指示するアクセス権制御部と複数の上記エージェント部からの情報を格納し、上記アクセス権制御部の指示に基づいて、上記エージェント部から操作できる記憶領域を制限する内部情報格納部と、を備えるものである。
また、複数の上記エージェント部を備え、外部から処理要求を受け付け、複数の上記エージェント部へ当該処理要求の引き取りが可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取るエージェント部を決定するプラン策定部を備えるものである。
また、上記プラン策定部は、上記処理要求をどのエージェント部へ割り付けるかを決定する規則である戦略を複数記憶する戦略格納部と、外部から指示された上記戦略と上記返答に基づき受け付けた処理要求を引き渡す上記エージェント部を選択するプラン生成部と、受け付けた上記処理要求又は上記プラン生成部の処理状況に基づいて、上記複数の戦略から１つの戦略を選択し上記プラン生成部へ指示する戦略指示部と、上記プラン生成部により選択されたエージェント部に上記受け付けた処理要求を通知する通信管理部と、を備えたものである。
戦略指示部が戦略を指示する方法としては、プラン生成法を直接指示する方法の他、プラン生成部で用いられるプラン生成のための制御パラメータを指示する方法が含まれる。
また、複数の上記エージェント部と、これらのエージェント部のそれぞれに管理された複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部が管理する上記処理要求の処理状態に基づき、１つの上記エージェント部に管理された情報処理部が保有する処理要求を、他の上記エージェント部が管理する他の上記情報処理部へ移動するプラン調整部を備えたものである。
また、上記プラン調整部は、上記情報処理部が保有する処理要求の未処理件数を監視し、未処理件数の多い上記情報処理部から未処理件数の少ない情報処理部へ上記処理要求を移すものである。
なお、上記保有件数の少ない上記エージェント部には、保有件数が０のエージェント部が含まれることはいうまでもない。
また、上記プラン調整部は、上記情報処理部が保有する処理要求それぞれの優先度を監視し、上記処理要求を上記優先度の高い処理要求を多く保有する情報処理部から、上記優先度の高い処理要求の保有件数が少ない情報処理部へ移すもののである。
また、上記処理要求の処理に要する時間に基づき、上記エージェント部又は上記情報処理部の数を増減させるチューニング部を備えたものである。
また、外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部は、過去に処理した処理要求の処理結果を記憶し、この記憶した処理結果にかかる処理要求を優先処理要求として上記エージェント部に通知し、上記エージェント部は、新たに処理要求を受け付けた場合には、複数の上記情報処理部から一部の情報処理部を選択し、選択した情報処理部に当該処理要求を割り当てるとともに、上記優先処理要求を記憶し、新たに受け付けた処理要求が上記優先処理要求と同一であった場合又は上記処理結果を利用することができる場合には、当該処理要求を上記優先処理要求を送信してきた上記情報処理装置に割り当てるものである。
また、複数の上記エージェント部を備えた自律協調処理装置において、上記エージェント部は、複数の上記処理要求を保有し、複数の上記情報処理部に複数の上記処理要求をそれぞれ配分し、上記エージェント部の上記処理要求件数を監視し、上記処理要求の保有件数の多い上記エージェント部から上記処理要求の保有件数の少ない上記エージェント部へ、上記処理要求を移す処理要求再割当部を備えたものである。
なお、上記保有件数の少ない上記エージェント部には、保有件数が０のエージェント部が含まれることはいうまでもない。
また、外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する情報処理部とを備えた自律協調情報処理装置において、上記エージェント部を複数備え、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて処理要求の再割り当てを、自己を管理する上記エージェント部に要求するとともに、再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信した情報処理部が保有する処理要求を他のエージェント部が管理する情報処理部へ移動させ、又は、他エージェント部が管理する情報処理部が保有する処理要求をその再割り当て要求を送信した情報処理部へ移動させるものである。
この発明にかかる実施の形態１〜１５の自律協調分散処理方法においては、複数の処理要求を複数のプロセスに割り付けて実行させる自律協調分散処理方法において、新たに受け付けた処理要求を受け付けられるか否かの情報を上記プロセスから収集する第１のステップと、上記情報に基づき受け付ける上記プロセスを選択し、この選択されたプロセスに上記処理要求を割り付けるとともに処理させる第２のステップと、上記第２のステップで割り付けられた処理要求の処理が終了したプロセスのうち、上記第２のステップで割り付けられなかった上記処理要求を受け付られる上記プロセスを探し出し、この探し出されたプロセスに当該処理要求を割り付けるとともに処理させる第３のステップと、上記第３のステップ終了後に実行され、多くの処理要求を保有する上記プロセスから上記処理要求の保有数が少ないプロセスに上記処理要求を移して処理させる第４のステップと、を備えたものである。
【０１５１】
【発明の効果】
この発明は、以上に説明したように構成されているので、以下に記載されるような効果を奏する。
【０１５２】
外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて処理要求の再割り当てを上記エージェント部に要求するとともに、再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信した情報処理部の管理する処理要求を他の上記情報処理部へ移動させ、又は、他の情報処理部の管理する処理要求をその再割り当て要求を送信した情報処理部へ移動させるため、一度割り付けられた処理要求であっても、各情報処理部の処理状況に応じて、処理効率が高くなるように割り付け直されるため、各情報処理部の稼働率を適切にコントロールでき、高速な処理が可能となる。
【０１５３】
また、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求のうち未処理の処理要求が無くなり又は予め定められた件数よりも少なくなった場合には、再割り当て要求を送信するとともに、上記エージェント部により再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けると、他の情報処理部の管理する処理要求をその再割り当て要求を送信した情報処理部へ移動させるため、再割り当てによって、各情報処理部の稼働率を適切にコントロールできるため、高速な処理が可能となる。
【０１５４】
また、複数の上記エージェント部を備え、上記複数の情報処理部はそれぞれ複数の上記エージェント部からの処理要求を受け付けるとともに、上記エージェント部は、自己の管理する処理要求の件数又は優先度から新たな処理要求を受け付けられるか否かを判定し、この判定結果を通信する協調処理部と、上記協調処理部が処理要求を受け取ったときに、自己の管理する上記情報処理部の処理状況又は属性を考慮して、複数の上記情報処理部から当該処理要求を処理する上記情報処理部を選択し、この選択した情報処理部へ当該処理要求を割り当てる情報処理管理部と、を備え、この情報処理管理部を他のエージェント部と共有することにより、上記情報処理部は複数のエージェント部への通信を上記情報処理管理部を介して行うものである。再割り当てによって、各情報処理部の稼働率を適切にコントロールできるため、高速な処理が可能となる。また、情報処理部から複数のエージェント部への通信が容易となる。
【０１５５】
また、上記エージェント部ごとに操作できる記憶領域を指示するアクセス権制御部と、複数の上記エージェント部からの情報を格納し、上記アクセス権制御部の指示に基づいて、上記エージェント部から操作できる記憶領域を制限する内部情報格納部と、を備えたため、各エージェントごとに操作できる記憶領域が狭められるため、必要な情報の検索を高速に行うことができる。
【０１５６】
また、複数の上記エージェント部を備え、外部から処理要求を受け付け、複数の上記エージェント部へ当該処理要求の引き取りが可能であるか否かを問い合わせ、これらのエージェント部からの返答に基づき当該処理要求を引き取るエージェント部を決定するプラン策定部を備えたため、各エージェント部が処理要求を引き取り可能であるか否かの情報の管理と、どのエージェント部に処理要求を割り付けるかの判断を集中的に行うため、各エージェント部間の協調処理が大幅に削減される。そのため、各エージェント部の処理負担が軽くなり、また、各エージェント部で同じ処理を実行するという重複がなくなるため、高速に処理を行うことができる。
【０１５７】
また、上記プラン策定部は、上記処理要求をどのエージェント部へ割り付けるかを決定する規則である戦略を複数記憶する戦略格納部と、外部から指示された上記戦略と上記返答に基づき受け付けた処理要求を引き渡す上記エージェント部を選択するプラン生成部と、受け付けた上記処理要求又は上記プラン生成部の処理状況に基づいて、上記複数の戦略から１つの戦略を選択し上記プラン生成部へ指示する戦略指示部と、上記プラン生成部により選択されたエージェント部に上記受け付けた処理要求を通知する通信管理部と、を備えたため、処理要求の内容又はプラン生成部の処理状況に応じて、戦略を変えることができるため、複雑な戦略のためにプランの生成に時間がかかる等の場合には、簡単な戦略を選択し、プラン生成部での処理時間を軽減する。また、処理要求の内容によっては複雑な戦略によって綿密に割り付け先を決定し、最適な割付パターンを生成した方が全体としての処理が高速となる場合等がある。また、処理内容によって適した戦略、適さない戦略が存在する場合もあり、これらの状況をふまえて適切な戦略を用いることにより、全体として高速な処理を行うことができる。
【０１５８】
また、複数の上記エージェント部と、これらのエージェント部のそれぞれに管理された複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部が管理する上記処理要求の処理状態に基づき、１つの上記エージェント部に管理された情報処理部が保有する処理要求を、他の上記エージェント部が管理する他の上記情報処理部へ移動するプラン調整部を備えたため、異なるエージェント部間においても、再割付が可能となり、各情報処理部の稼働率が適切にコントロールでき、高速な処理が可能となる。
【０１５９】
また、上記プラン調整部は、上記情報処理部が保有する処理要求の未処理件数を監視し、未処理件数の多い上記情報処理部から未処理件数の少ない情報処理部へ上記処理要求を移すため、異なるエージェント部間においても、再割付が可能となり、各情報処理部の稼働率が適切にコントロールでき、高速な処理が可能となる。
【０１６０】
また、上記プラン調整部は、上記情報処理部が保有する処理要求それぞれの優先度を監視し、上記処理要求を上記優先度の高い処理要求を多く保有する情報処理部から、上記優先度の高い処理要求の保有件数が少ない情報処理部へ移すため、異なるエージェント部間においても、再割付が可能となり、優先順位の高い処理要求が先に処理されるため、優先順位に従った高速な処理が可能となる。
【０１６１】
また、上記処理要求の処理に要する時間に基づき、上記エージェント部又は上記情報処理部の数を増減させるチューニング部を備えたため、情報処理部又はエージェント部の数を増減できることにより、処理時間と消費メモリのバランスを調整することができ、少ない資源で高速な処理を行うことができる。
【０１６２】
また、外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する複数の情報処理部とを備えた自律協調情報処理装置において、上記情報処理部は、過去に処理した処理要求の処理結果を記憶し、この記憶した処理結果にかかる処理要求を優先処理要求として上記エージェント部に通知し、上記エージェント部は、新たに処理要求を受け付けた場合には、複数の上記情報処理部から一部の情報処理部を選択し、選択した情報処理部に当該処理要求を割り当てるとともに、上記優先処理要求を記憶し、新たに受け付けた処理要求が上記優先処理要求と同一であった場合又は上記処理結果を利用することができる場合には、当該処理要求を上記優先処理要求を送信してきた上記情報処理装置に割り当てるため、既に処理した処理結果を使用することができるため、高速に解を得ることができ、全体として高速な処理が可能となる。
【０１６３】
また、複数の上記エージェント部を備えた自律協調処理装置において、上記エージェント部は、複数の上記処理要求を保有し、複数の上記情報処理部に複数の上記処理要求をそれぞれ配分し、上記エージェント部の上記処理要求件数を監視し、上記処理要求の保有件数の多い上記エージェント部から上記処理要求の保有件数の少ない上記エージェント部へ、上記処理要求を移す処理要求再割当部を備えたため、各エージェント部が保有する処理要求の数を制御することができる。
【０１６４】
また、外部からの処理要求を受け付けるか否かを判断し、受け付けた上記処理要求の処理先を指定して出力するエージェント部と、このエージェント部から指示された処理要求を処理する情報処理部とを備えた自律協調情報処理装置において、上記エージェント部を複数備え、上記情報処理部は、複数の上記処理要求を受け付け、これらの処理要求の処理状況に応じて処理要求の再割り当てを、自己を管理する上記エージェント部に要求するとともに、再割り当てされた処理要求を実行し、上記エージェント部は、上記情報処理部からの上記再割り当て要求を受け付けたとき、その再割り当て要求を送信した情報処理部の管理する処理要求を他のエージェント部の情報処理部へ移動させ、又は、他エージェント部の情報処理部の管理する処理要求をその再割り当て要求を送信した情報処理部へ移動させるため、一度割り付けられた処理要求であっても、各情報処理部の処理状況に応じて、処理効率が高くなるように割り付け直されるため、各情報処理部の稼働率を適切にコントロールでき、高速な処理が可能となる。
【０１６５】
また、複数の処理要求を複数のプロセスに割り付けて実行させる自律協調分散処理方法において、新たに受け付けた処理要求を受け付けられるか否かの情報を上記プロセスから収集する第１のステップと、上記情報に基づき受け付ける上記プロセスを選択し、この選択されたプロセスに上記処理要求を割り付けるとともに処理させる第２のステップと、上記第２のステップで割り付けられた処理要求の処理が終了したプロセスのうち、上記第２のステップで割り付けられなかった上記処理要求を受け付られる上記プロセスを探し出し、この探し出されたプロセスに当該処理要求を割り付けるとともに処理させる第３のステップと、上記第３のステップ終了後に実行され、多くの処理要求を保有する上記プロセスから上記処理要求の保有数が少ないプロセスに上記処理要求を移して処理させる第４のステップと、を備えたため、第３のステップＳでは、第２のステップで割り当てることのできなかった処理要求が、処理要求を全てやり終えて処理すべき処理要求を持ち合わせていない情報処理部に割り当てられ、第４のステップでは、一度割り付けられた未処理の処理要求が、他の情報処理部に割り付けられ早期に処理が開始されるため、全体として高速に処理結果が得られるような処理が可能となる。
【０１６６】
【図面の簡単な説明】
【図１】  この発明の実施の形態１における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図２】  この発明の実施の形態１における協調処理部の構成を説明する機能ブロック図である。
【図３】  この発明の実施の形態１におけるメタ制御管理部の構成を説明する機能ブロック図である。
【図４】  この発明の実施の形態２における自律協調情報処理部の構成を説明する機能ブロック図である。
【図５】  この発明の実施の形態３における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図６】  この発明の実施の形態４における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図７】  この発明の実施の形態４におけるプラン策定部の構成を説明する機能ブロック図である。
【図８】  この発明の実施の形態４におけるプラン策定処理を説明するフローチャートである。
【図９】  この発明の実施の形態５における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１０】  この発明の実施の形態６における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１１】  この発明の実施の形態６におけるプラン調整部の構成を説明する機能ブロック図である。
【図１２】  この発明の実施の形態７における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１３】  この発明の実施の形態８における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１４】  この発明の実施の形態８における接続管理部の構成を説明する機能ブロック図である。
【図１５】  この発明の実施の形態９における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１６】  この発明の実施の形態１０における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１７】  この発明の実施の形態１０におけるチューニング部の構成を説明する機能ブロック図である。
【図１８】  この発明の実施の形態１１における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図１９】  この発明の実施の形態１２における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図２０】  この発明の実施の形態１３における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図２１】  この発明の実施の形態１４における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図２２】  この発明の実施の形態１５における自律協調情報処理装置の構成を説明する機能ブロック図である。
【図２３】  従来のマルチエージェント協調システムのプランニングエージェントの内部構成を示す機能ブロック図である。
【図２４】  従来のマルチエージェント協調システムの要素機能エージェントの内部構成を説明するブロック構成図である。
【図２５】  従来のマルチエージェント協調システムのフィールドマネージャの内部構成を説明するブロック構成図である。
【図２６】  従来のデータベース検索の処理方式の内部構成を説明する機能ブロック構成図である。
【図２７】  従来の負荷分散支援装置を説明する機能ブロック構成図である。
【符号の説明】
1000  エージェント、  1100  協調処理部、  1200  メタ制御管理部、  1300内部情報格納部、  1400  情報処理部、  1500  アクセス権制御部、  2000  プラン策定部、  2600  戦略指示部、  2700  戦略格納部、  3000  プラン調整部、  5000  接続制御管理部、  6000  チューニング部
【図１】
0003745820.tif 000009
【図２】
0003745820.tif 000010
【図３】
0003745820.tif 000011
【図４】
0003745820.tif 000012
【図５】
0003745820.tif 000013
【図６】
0003745820.tif 000014
【図７】
0003745820.tif 000015
【図８】
0003745820.tif 000016
【図９】
0003745820.tif 000017
【図１０】
0003745820.tif 000018
【図１１】
0003745820.tif 000019
【図１２】
0003745820.tif 000020
【図１３】
0003745820.tif 000021
【図１４】
0003745820.tif 000022
【図１５】
0003745820.tif 000023
【図１６】
0003745820.tif 000024
【図１７】
0003745820.tif 000025
【図１８】
0003745820.tif 000026
【図１９】
0003745820.tif 000027
【図２０】
0003745820.tif 000028
【図２１】
0003745820.tif 000029
【図２２】
0003745820.tif 000030
【図２３】
0003745820.tif 000031
【図２４】
0003745820.tif 000032
【図２５】
0003745820.tif 000033
【図２６】
0003745820.tif 000034
【図２７】
0003745820.tif 000035