JP4377390B2 - Agent device and program recording medium - Google Patents

Agent device and program recording medium Download PDF

Info

Publication number
JP4377390B2
JP4377390B2 JP2006128843A JP2006128843A JP4377390B2 JP 4377390 B2 JP4377390 B2 JP 4377390B2 JP 2006128843 A JP2006128843 A JP 2006128843A JP 2006128843 A JP2006128843 A JP 2006128843A JP 4377390 B2 JP4377390 B2 JP 4377390B2
Authority
JP
Japan
Prior art keywords
agent
service list
message
search
database
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
JP2006128843A
Other languages
Japanese (ja)
Other versions
JP2006318462A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006128843A priority Critical patent/JP4377390B2/en
Publication of JP2006318462A publication Critical patent/JP2006318462A/en
Application granted granted Critical
Publication of JP4377390B2 publication Critical patent/JP4377390B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、マルチエージェントシステムで用いられるエージェント装置と、そのエージェント装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関し、特に、効率的な知的分散環境を実現可能にするエージェント装置と、そのエージェント装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関する。   The present invention relates to an agent device used in a multi-agent system and a program recording medium in which a program used to realize the agent device is recorded, and in particular, an agent device that can realize an efficient intelligent distributed environment, and The present invention also relates to a program recording medium on which a program used for realizing the agent device is recorded.

エージェントシステムとは、共通の言語(例えばACL(Agent Communication Language))を使ってソフトウェアを連携させることで、コンピュータシステム上で、利用者に働きかけて要求を確認し作業を組み立てて行う自律的なソフトウェアの技術であり、インターネットの普及に伴って、インターネット上に分散される情報を統合的に取り扱うことで、様々なエージェント処理を実現することが可能になるものとして期待されている。   An agent system is an autonomous software that uses a common language (for example, ACL (Agent Communication Language)) to link software to work on a computer system to check requests and assemble work. With the spread of the Internet, it is expected that various agent processes can be realized by handling information distributed on the Internet in an integrated manner.

しかしながら、エージェント世界でソフトウェアを連携させるには、依頼元の要求に応えるサービスを提供できるエージェントがどこにあるのかが分からなくてはならない。また、ACLはメッセージの文法を定めるだけで、メッセージの中身を表すための用語については定めていないので、この用語体系の翻訳機能についても持つ必要がある。   However, in order to link software in the agent world, it is necessary to know where an agent can provide a service that meets the request of the client. In addition, ACL only defines the grammar of the message and does not define terms for expressing the contents of the message. Therefore, it is necessary to have a translation function of this terminology.

マルチエージェントシステムは、基本的には、情報要求側エージェントと情報提供側エージェントとで構成されているが、従来では、これらのエージェントの間に仲介エージェントを用意して、この仲介エージェントに、依頼元の要求に応えるサービスを提供するエージェントの選択機能を持たせるとともに、エージェント間の用語体系(オントロジーと呼ばれている)の違いを吸収する翻訳機能を持たせるという構成を採っていた。そして、この仲介エージェントに、複数の情報提供側エージェントから送られてくる回答を統合する機能を持たせるという構成を採っていた。   A multi-agent system is basically composed of an information requesting agent and an information providing agent. Conventionally, a mediating agent is prepared between these agents, and the requesting agent is sent to the mediating agent. In addition to having a function of selecting an agent that provides a service that meets the demands of the company, a translation function that absorbs differences in terminology between agents (called an ontology) was adopted. The intermediary agent is configured to have a function of integrating answers sent from a plurality of information providing agents.

本発明者らは、ネットワークに分散配置される商品情報やサービス情報のカタログ情報をあたかも1つのカタログ情報として見せる仮想カタログシステムを特許出願するとともに学会で発表してきたが、この仮想カタログシステムのエージェントシステムでも、図27に示すように、ユーザエージェント(エージェント世界とブラウザとの間を繋ぐもの)と、データベースエージェント(エージェント世界とデータベースとの間を繋ぐもの)との間に、仲介エージェントを用意する構成を採って、この仲介エージェントに、ユーザエージェントの必要とするカタログ情報を管理するデータベースエージェントの選択機能を持たせるとともに、エージェント間の用語体系の違いを吸収する翻訳機能を持たせるという構成を採っている。そして、この仲介エージェントに、複数のデータベースエージェントから送られてくる回答を統合する機能を持たせるという構成を採っている。   The present inventors have applied for a patent on a virtual catalog system that displays catalog information of product information and service information distributed in a network as one catalog information and announced it at an academic conference. The agent system of this virtual catalog system However, as shown in FIG. 27, a configuration is provided in which a mediating agent is prepared between a user agent (which connects the agent world and the browser) and a database agent (which connects the agent world and the database). The intermediary agent is configured to have a database agent selection function that manages the catalog information required by the user agent and a translation function that absorbs differences in terminology between agents. Yes. The intermediary agent is configured to have a function of integrating answers sent from a plurality of database agents.

すなわち、図27に示す仮想カタログシステムでは、データベースエージェントが、仲介エージェントに対して、データベースを抽象化した仮想知識ベースの持つ能力をアドバタイズ(宣伝)することで、その仮想知識ベースで扱うことのできるカテゴリや、その仮想知識ベースで用いるオントロジーなどを通知する構成を採っている。   In other words, in the virtual catalog system shown in FIG. 27, the database agent can be handled in the virtual knowledge base by advertising (advertisement) the ability of the virtual knowledge base that abstracts the database to the mediating agent. It employs a configuration for notifying categories and ontologies used in the virtual knowledge base.

このように構成されるときにあって、ユーザエージェントは、ユーザがブラウザを介して検索要求を発行すると、その検索要求をACLメッセージに変換して仲介エージェントに送り、これを受けて、仲介エージェントは、先に受け取ったアドバタイズ情報から、そのACLメッセージを扱えるデータベースエージェントを選択するとともに、そのACLメッセージの持つ用語をその選択したデータベースエージェントの扱える用語に翻訳してから、そのACLメッセージをデータベースエージェントに送る。   In such a configuration, when the user issues a search request via the browser, the user agent converts the search request into an ACL message and sends it to the mediation agent. The database agent that can handle the ACL message is selected from the previously received advertisement information, and the terms of the ACL message are translated into the terms that can be handled by the selected database agent, and then the ACL message is sent to the database agent. .

この検索要求のACLメッセージを受け取ると、データベースエージェントは、そのACLメッセージからSQL(データベース操作言語)コマンドを生成してデータベースを検索し、検索結果をACLメッセージとして組み立てて、仲介エージェントに送る。この検索結果のACLメッセージを受け取ると、仲介エージェントは、複数のデータベースエージェントから送られてくる検索結果の回答を1つのメッセージとしてまとめて、ユーザエージェントに回答する。   Upon receiving this search request ACL message, the database agent generates a SQL (database operation language) command from the ACL message, searches the database, assembles the search result as an ACL message, and sends it to the mediating agent. Upon receiving the search result ACL message, the mediation agent collects the search result responses sent from the plurality of database agents as one message and answers the user agent.

このようにして、本発明者らが開示した仮想カタログシステムは、ネットワークに分散配置される商品情報やサービス情報のカタログ情報をあたかも1つのカタログ情報として見せることを実現しているが、この実現にあたって、ユーザエージェントとデータベースエージェントとの間に、仲介エージェントを用意する構成を採って、この仲介エージェントに、ユーザエージェントの必要とするカタログ情報を管理するデータベースエージェントの選択機能を持たせるとともに、エージェント間の用語体系の違いを吸収する翻訳機能を持たせるという構成を採っているのである。そして、この仲介エージェントに、複数のデータベースエージェントから送られてくる回答を統合する機能を持たせるという構成を採っているのである。   In this way, the virtual catalog system disclosed by the present inventors has realized that catalog information of product information and service information distributed on the network is displayed as one catalog information. The configuration is such that a mediation agent is prepared between the user agent and the database agent, and this mediation agent has a database agent selection function for managing catalog information required by the user agent, and between the agents. It adopts a configuration that has a translation function that absorbs differences in terminology. The intermediary agent is configured to have a function of integrating answers sent from a plurality of database agents.

確かに、マルチエージェントシステムを構築するにあたって、エージェント間の仲介処理を実行する仲介エージェントを用意して、この仲介エージェントに、依頼元の要求に応えるサービスを提供するエージェントの選択機能を持たせたり、エージェント間の用語体系の違いを吸収する翻訳機能を持たせたり、回答結果の統合機能を持たせるという構成を採ることは極めて有効な方法である。   Certainly, when constructing a multi-agent system, a mediation agent that performs mediation processing between agents is prepared, and this mediation agent has an agent selection function that provides a service that responds to the request of the requester. It is an extremely effective method to adopt a configuration in which a translation function that absorbs differences in terminology between agents and a function that integrates response results are provided.

しかしながら、このような構成を採ると、次のような問題点がある。   However, adopting such a configuration has the following problems.

すなわち、エージェントを選び出す機能や、選び出した各エージェントとの間のやり取りを行うためのメッセージを翻訳する機能や、複数の回答メッセージを統合する機能などが全て仲介エージェントに集中することから、仲介エージェントの負荷が増大し、これにより、エージェント間で大量のやり取りが起こる場合に、応答性が悪くなるという問題点がある。   In other words, the functions of selecting an agent, the function of translating messages for exchanging with each selected agent, and the function of integrating multiple response messages are all concentrated on the mediating agent. When the load increases and a large amount of exchanges occur between agents, there is a problem that the responsiveness deteriorates.

そして、回答メッセージの統合が必要ない場合にも、必ず仲介エージェントを経由しなければならないといったように、仲介エージェントを必要としない場合にも、必ず仲介エージェントを経由しなければならず、経路的に無駄がでるという問題点がある。   And even when there is no need to integrate reply messages, you must always go through a mediation agent even if you do not need a mediation agent, such as you must go through a mediation agent. There is a problem of waste.

この問題点を解決するために、仲介エージェントの持つ複数の機能を分割して、それぞれ別のエージェントに担当させるという方法を採ることが考えられる。例えば、図28に示すように、メッセージの翻訳機能やエージェントの選択機能を、仲介エージェントとは別のエージェントに仲介させるという構成を採ることが考えられる。   In order to solve this problem, it is conceivable to divide a plurality of functions of the mediation agent and make each agent in charge. For example, as shown in FIG. 28, it is possible to adopt a configuration in which the message translation function and the agent selection function are mediated by an agent other than the mediation agent.

しかしながら、この方法を用いると、例えば、「目的のエージェントを選び出して、そのエージェントにメッセージを送る」という行動を行うために、エージェントの選択機能を持つエージェントに対して、アクセス先となるエージェントの選択を依頼し、続いて、メッセージの翻訳機能を持つエージェントに対して、メッセージの翻訳を依頼してから、その翻訳メッセージをその選択エージェントに渡すという処理を行わなければならないというように、複数のエージェントにまたがるまとまった処理を実行する場合に、それをまとめて1回で実行できなくなることになる。   However, when this method is used, for example, to select the target agent and send a message to the agent, an agent having an agent selection function selects an access destination agent. Multiple agents, and so on, to the agent that has the message translation function, then asks the agent to translate the message and then passes the translated message to the selected agent. When a group of processes are executed over a number of times, the processes cannot be executed at once.

これから、各機能を担う仲介エージェントは、まとめ役の仲介エージェントとの間でやり取りを重ねて行うことになり、やり取りの数がかえって増加することになる。   From now on, the intermediary agent responsible for each function will perform exchanges with the intermediary agent acting as the organizer, and the number of exchanges will increase.

本発明はかかる事情に鑑みてなされたものであって、効率的な知的分散環境を実現可能にする新たなエージェント装置の提供と、そのエージェント装置の実現に用いられるプログラムが記録される新たなプログラム記録媒体の提供とを目的とする。   The present invention has been made in view of such circumstances, and provides a new agent device capable of realizing an efficient intelligent distributed environment, and a new program in which a program used for realizing the agent device is recorded. It is intended to provide a program recording medium.

この目的を達成するために、本発明のエージェント装置は、(1)他エージェント装置から送られてくる、検索内容を示す検索要求メッセージを受信する受信手段と、(2)受信手段の受信した検索要求メッセージに付加された、該メッセージの配送先情報と該メッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを抽出する抽出手段と、(3)検索要求メッセージに含まれた検索内容を抽出し、複数のデータベースエージェント装置の能力情報に関する知識に基づいて、検索内容に対応するデータベースエージェント装置を選択する選択手段と、(4)選択手段で複数のデータベースエージェント装置が選択されたか否かを判断し、複数選択されたと判断された場合は、抽出手段で抽出したサービスリストに、該複数のデータベースエージェント装置の検索結果を統合する統合エージェント装置を指定した配送先情報と、それらの検索結果を統合するよう指示する処理情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成する詳細化手段と、(5)受信手段の受信した検索要求メッセージに、詳細化手段の作成した詳細化サービスリストを付加して、選択手段の選択した複数のデータベースエージェント装置に送信する送信手段とを備えるように構成する。In order to achieve this object, the agent device of the present invention includes (1) receiving means for receiving a search request message sent from another agent device indicating search contents, and (2) search received by the receiving means. An extraction means for extracting a service list defined by a connection of paired data between the delivery destination information of the message and the processing information specified by the message, added to the request message; and (3) included in the search request message Selection means for extracting search contents and selecting database agent apparatuses corresponding to the search contents based on knowledge about capability information of the plurality of database agent apparatuses; and (4) whether a plurality of database agent apparatuses are selected by the selection means. If it is determined that multiple selections have been made, the service list extracted by the extraction means Create a detailed service list with a service list that combines delivery destination information that specifies an integrated agent device that integrates the search results of multiple database agent devices and processing information that instructs to integrate those search results. Refinement means, and (5) a transmission means for adding the refinement service list created by the refinement means to the search request message received by the reception means, and transmitting to the plurality of database agent devices selected by the selection means. Configure to include.
この構成を採るときに、受信手段の受信した検索要求メッセージのサービスリストには、検索結果の出力における用語体系種別が含まれることがあり、この場合には、詳細化手段は、検索結果の出力における用語体系種別と、選択手段の選択した複数のデータベースエージェント装置の各々が使用する用語体系種別とが異なるか否かを判断し、用語体系種別が異なると判断されたデータベースエージェント装置に対しては、受信手段の受信した検索要求メッセージに付加された検索処理を指定するサービスリストの前後に、該両者の用語体系種別を変換することを指示する処理情報と、該変換を処理する翻訳エージェント装置を指定した配送先情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成する。When this configuration is adopted, the service list of the search request message received by the receiving unit may include the term system type in the output of the search result. In this case, the refinement unit outputs the search result. And whether the terminology type used by each of the plurality of database agent devices selected by the selection means is different. , Before and after the service list designating the search processing added to the search request message received by the receiving means, processing information for instructing conversion of both terminology types, and a translation agent device for processing the conversion Create a detailed service list with a service list combined with the specified delivery destination information.
次に、図1に示す本発明の原理構成図に従って、本発明を説明する。Next, the present invention will be described according to the principle configuration diagram of the present invention shown in FIG.

図中、1aは本発明に関連する技術で構成される1つ又は複数の第1のエージェント装置、1bは本発明を具備する1つ又は複数の第2のエージェント装置、1cは本発明に関連する技術で構成される複数の第3のエージェント装置である。   In the figure, 1a is one or a plurality of first agent devices configured by technology related to the present invention, 1b is one or a plurality of second agent devices comprising the present invention, and 1c is related to the present invention. And a plurality of third agent devices configured by the technology.

第1のエージェント装置1aは、抽象レベルの記述形式をとる処理要求のメッセージを発行し、第2のエージェント装置1bは、第1のエージェント装置1aの発行するメッセージの処理を具体化し、第3のエージェント装置1cは、第2のエージェント装置1bにより具体化されたメッセージに従って順番に起動されて、第1のエージェント装置1aの要求する処理を実行してその処理結果を回答する。   The first agent device 1a issues a processing request message that takes an abstract level description format, and the second agent device 1b embodies the processing of the message issued by the first agent device 1a. The agent device 1c is activated in order according to the message specified by the second agent device 1b, executes the processing requested by the first agent device 1a, and returns the processing result.

この第1のエージェント装置1aは、システムの持つ知識に基づいて、他エージェント装置に送信するメッセージの配送先情報とそのメッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを生成する生成手段10と、他エージェント装置に送信するメッセージに、生成手段10の生成するサービスリストを付加して送信する送信手段11とを備える。   Based on the knowledge of the system, the first agent device 1a generates a service list that is defined by the data pairing between the delivery destination information of the message transmitted to the other agent device and the processing information specified by the message. And a transmission unit 11 that adds the service list generated by the generation unit 10 to the message transmitted to the other agent device and transmits the message.

この生成手段10は、基本的には、抽象レベルの記述形式をとるサービスリストを生成するが、可能な場合には、詳細レベルの記述形式をとるサービスリストを生成したり、一部に詳細レベルの記述形式を含む抽象レベルの記述形式をとるサービスリストを生成する。   This generation means 10 basically generates a service list that takes an abstract level description format, but if possible, generates a service list that takes a detail level description format, or a part of the detail level. A service list having an abstract level description format including the description format is generated.

一方、第2のエージェント装置1bは、他エージェント装置から送られてくるメッセージを受信する受信手段20と、受信手段20の受信するメッセージに付加される抽象レベル(詳細レベルを含む場合もある)のサービスリストを抽出する抽出手段21と、システムの持つ知識に基づいて、抽出手段21の抽出する抽象レベルのサービスリストを詳細化する詳細化手段22と、受信手段20の受信するメッセージに、詳細化手段22の詳細化するサービスリストを付加して他エージェント装置に送信する送信手段23とを備える。   On the other hand, the second agent device 1b includes a receiving unit 20 that receives a message sent from another agent device, and an abstract level (may include a detail level) added to the message received by the receiving unit 20. Based on the knowledge of the system, the extracting means 21 for extracting the service list, the refining means 22 for refining the abstract level service list extracted by the extracting means 21, and the message received by the receiving means 20 are detailed. A transmission means 23 for adding a service list to be detailed by means 22 and transmitting it to another agent device is provided.

この詳細化手段22は、処理が完了するまでの詳細化を実行したり、後続のエージェント装置に詳細化処理の一部を委ねる形式で詳細化を実行することがある。また、メッセージの配送先が複数となるときには、メッセージを複製するとともに、その複製数をサービスリストに記録しつつ詳細化を実行する。   The detailing unit 22 may perform detailing until the process is completed, or may perform detailing in a form in which a part of the detailing process is entrusted to a subsequent agent device. When there are a plurality of message delivery destinations, the message is duplicated, and the details are executed while recording the number of duplicates in the service list.

一方、第3のエージェント装置1cは、他エージェント装置から送られてくるメッセージを受信する受信手段30と、受信手段30の受信するメッセージに付加される詳細レベル(抽象レベルを含む場合もある)のサービスリストを抽出する抽出手段31と、抽出手段31の抽出するサービスリストの先頭の配送先情報が自装置を指定するときに、そのサービスリストの先頭の処理情報の指定する処理を実行する実行手段32と、実行手段32の実行対象となるサービスリスト部分を削除する削除手段33と、実行手段32の実行結果のメッセージに、削除手段33の削除処理から除外されたサービスリストを付加して他エージェント装置に送信する送信手段34とを備える。   On the other hand, the third agent device 1c has a receiving means 30 for receiving a message sent from another agent device, and a detail level (may include an abstract level) added to the message received by the receiving means 30. Extraction means 31 for extracting the service list, and execution means for executing processing specified by the processing information at the top of the service list when the delivery destination information at the top of the service list extracted by the extraction means 31 specifies the own device 32, a deletion unit 33 that deletes a service list part to be executed by the execution unit 32, and a service list excluded from the deletion process of the deletion unit 33 to the execution result message of the execution unit 32 to add another agent Transmitting means 34 for transmitting to the apparatus.

この実行手段32は、抽出手段31の抽出するサービスリストに複製数が記録されるときには、その複製数分のメッセージが出揃ってから処理情報の指定する処理を実行する。また、サービスリストの先頭の処理情報に続く1つ又は複数の処理情報についての処理能力を持つときには、その処理情報の指定する処理についても実行することがある。   When the number of replicas is recorded in the service list extracted by the extracting unit 31, the executing unit 32 executes a process specified by the processing information after messages corresponding to the number of replicas are output. In addition, when there is processing capability for one or more processing information following the processing information at the head of the service list, the processing specified by the processing information may also be executed.

更に、第3のエージェント装置1cは、受信手段30の受信するメッセージを保存する保存手段35と、実行手段32の実行結果とシステムの持つ知識とに基づいて、受信したサービスリストの配送先情報と処理情報のいずれか一方又は双方を修正する修正手段36と、受信したサービスリストを参照することで、送信するメッセージが自装置の所に戻ってくるのか否かを判断する判断手段37と、判断手段37が自装置の所に戻ってくるメッセージであることを判断するときに、そのメッセージが戻ってくる時点で自装置が実行することになる処理情報をそのメッセージのサービスリストから取り外す除外手段38と、除外手段38の取り外し対象としたメッセージが戻ってくる時点で、除外手段38の取り外した処理情報をそのメッセージの持つサービスリストに復帰させる復帰手段39と、自装置配下のエージェント装置のメッセージの処理状態を収集する収集手段40とを備える。   Further, the third agent device 1c, based on the storage unit 35 for storing the message received by the reception unit 30, the execution result of the execution unit 32 and the knowledge of the system, A correction means 36 for correcting one or both of the processing information, a determination means 37 for determining whether or not a message to be transmitted returns to the own apparatus by referring to the received service list, and a determination When the means 37 determines that the message returns to its own device, the exclusion means 38 removes the processing information to be executed by the own device from the service list of the message when the message returns. When the message to be removed by the exclusion means 38 returns, the processing information removed by the exclusion means 38 is displayed as the message. Provided in the the return means 39 for returning to the service list with the collection means 40 for collecting the processing state of the message of the agent device under its subject device.

この除外手段38は、自装置が実行することになる処理情報に続く他エージェント装置の実行する処理情報についても、サービスリストから取り外すことがある。   The exclusion means 38 may also remove processing information executed by other agent devices following processing information to be executed by the own device from the service list.

ここで、第1のエージェント装置1aや第2のエージェント装置1bや第3のエージェント装置1cの持つ機能は、具体的にはプログラムで実現されるものであり、このプログラムは、フロッピィディスクなどに記録されたり、回線を介して接続されるディスクなどに記録され、それらから第1のエージェント装置1aや第2のエージェント装置1bや第3のエージェント装置1cにインストールされてメモリ上で動作することで、本発明により構築されるマルチエージェントシステムを実現することになる。   Here, the functions of the first agent device 1a, the second agent device 1b, and the third agent device 1c are specifically realized by a program, and this program is recorded on a floppy disk or the like. Or recorded on a disk or the like connected via a line, and installed on the first agent device 1a, the second agent device 1b, or the third agent device 1c and operating on the memory from them. A multi-agent system constructed according to the present invention will be realized.

このように構成される本発明の第2のエージェント装置1bを備えるマルチエージェントシステムでは、ユーザから処理要求が発行されると、第1のエージェント装置1aの生成手段10は、その処理要求を実現するための抽象レベルの記述形式をとるサービスリストを生成し、送信手段11は、第2のエージェント装置1bに処理要求のメッセージを通知するときに、そのメッセージにそのサービスリストを付加して送信する。   In a multi-agent system including the second agent device 1b of the present invention configured as described above, when a processing request is issued from a user, the generation unit 10 of the first agent device 1a realizes the processing request. When the service means notifies the second agent device 1b of a message of a processing request, the service list is added to the message and transmitted.

この第1のエージェント装置1aの処理を受けて、第2のエージェント装置1bでは、受信手段20が第1のエージェント装置1aからの処理要求のメッセージを受信すると、抽出手段21は、その受信されたメッセージに付加される抽象レベルのサービスリストを抽出する。これを受けて、詳細化手段22は、システムの持つ知識に基づいて、抽出された抽象レベルのサービスリストを詳細化し、送信手段23は、受信手段20の受信するメッセージに詳細化されたサービスリストを付加して、第3のエージェント装置1cに送信する。   In response to the processing of the first agent device 1a, in the second agent device 1b, when the receiving means 20 receives the processing request message from the first agent device 1a, the extracting means 21 receives the processing request message. Extract the abstract level service list to be added to the message. In response, the refinement means 22 refines the extracted abstract level service list based on the knowledge of the system, and the transmission means 23 refines the service list in the message received by the reception means 20. To the third agent device 1c.

この第2のエージェント装置1bの処理を受けて、第3のエージェント装置1cでは、受信手段30が第2のエージェント装置1bからの処理要求のメッセージを受信すると、抽出手段31は、その受信されたメッセージに付加される詳細レベルのサービスリストを抽出する。これを受けて、実行手段32は、抽出されたサービスリストの先頭の配送先情報が自装置を指定するときに、そのサービスリストの先頭の処理情報の指定する処理を実行し、このとき、削除手段33は、実行手段32の実行対象となるサービスリスト部分を削除する。実行手段32による実行結果が得られると、送信手段34は、実行手段32の実行結果のメッセージに削除手段33の削除処理から除外されたサービスリストを付加して、他の第3のエージェント装置1cに送信する。   In response to the processing of the second agent device 1b, in the third agent device 1c, when the receiving means 30 receives a processing request message from the second agent device 1b, the extracting means 31 receives the message. Extract a service list of detail level to be added to the message. In response to this, the execution means 32 executes the processing specified by the processing information at the top of the service list when the delivery destination information at the top of the extracted service list specifies its own device. The means 33 deletes the service list part to be executed by the execution means 32. When the execution result by the execution means 32 is obtained, the transmission means 34 adds the service list excluded from the deletion process of the deletion means 33 to the message of the execution result of the execution means 32, and another third agent device 1c. Send to.

このようにして、第3のエージェント装置1cは、図2に示すように、メッセージに付加される詳細レベルのサービスリストの持つ配送先情報の順番に従って起動されて、そのサービスリストの持つ処理情報(処理依頼のサービス名や入力状態や出力状態で構成される)の指定する処理を実行していくことになる。そして、最後に起動される第3のエージェント装置1cが、サービスリストの持つ配送先情報に従って、処理結果を処理要求発行元の第1のエージェント装置1aに回答する。   In this way, as shown in FIG. 2, the third agent device 1c is activated in accordance with the order of the delivery destination information included in the service list of the detailed level added to the message, and the processing information ( The processing specified by the service request service name, input status, and output status) is executed. Then, the third agent device 1c that is activated last responds the processing result to the first agent device 1a that is the processing request issuing source according to the delivery destination information that the service list has.

このとき、第3のエージェント装置1cの実行手段32は、第2のエージェント装置1bの詳細化手段22がメッセージを複製するとともに、その複製数をサービスリストに記録しつつ詳細化を実行するときには、受け取ったサービスリストに記録される複製数分のメッセージが出揃ってから処理情報の指定する処理を実行する。   At this time, the execution means 32 of the third agent device 1c performs the refinement while the detailing means 22 of the second agent device 1b duplicates the message and records the number of copies in the service list. The processing specified by the processing information is executed after the messages for the number of copies recorded in the received service list are prepared.

また、第3のエージェント装置1cの実行手段32は、サービスリストの先頭の処理情報に続く1つ又は複数の処理情報についての処理能力を持つときには、その処理情報の配送先となる他の第3のエージェント装置1cに代わって、その処理情報の指定する処理についても代行して実行してしまうことがある。   Further, when the execution means 32 of the third agent device 1c has the processing capability for one or a plurality of processing information subsequent to the processing information at the head of the service list, the third third agent device 1c has another third destination as a delivery destination of the processing information. Instead of the agent device 1c, the processing specified by the processing information may be executed on behalf.

更に、第3のエージェント装置1cでは、保存手段35は、受信手段30の受信したメッセージを保存する。この保存されるメッセージには、メッセージの振る舞いを示すサービスリストが付加されているので、システムに障害が発生したときなどには、これを参照することで障害解析を正確かつ簡単に行うことができるようになる。   Further, in the third agent device 1c, the storage unit 35 stores the message received by the reception unit 30. A service list indicating the behavior of the message is added to the stored message, so that when a failure occurs in the system, the failure analysis can be performed accurately and easily by referring to it. It becomes like this.

また、修正手段36は、実行手段32の実行結果とシステムの持つ知識とに基づいて、受信したサービスリストの配送先情報と処理情報のいずれか一方又は双方を修正(追加したり削除したり変更する)する。この修正処理により、実行手段32の実行結果によりサービスリストが変動するような場合に、それに対処できるようになる。   The correction means 36 corrects (adds, deletes, or changes) one or both of the delivery destination information and the processing information of the received service list based on the execution result of the execution means 32 and the knowledge of the system. To do). This correction process makes it possible to cope with the case where the service list fluctuates depending on the execution result of the execution means 32.

また、除外手段38は、判断手段37が自装置の所に戻ってくるメッセージであることを判断するときには、それが戻ってくる時点で実行することになる処理情報(それに続く他の第3のエージェント装置1cの実行する処理情報も含むことがある)をサービスリストから取り外し、これを受けて、復帰手段39は、そのメッセージが戻ってくる時点で、除外手段38の取り外した処理情報をそのメッセージの持つサービスリストに復帰させる。この処理により、自処理の内容が他の第3のエージェント装置1cに漏洩するのを防止できるようになる。   Further, when the determination unit 37 determines that the message returns to the device itself, the exclusion unit 38 executes the processing information (the other subsequent third information) to be executed when the message returns. In response to this message, the return means 39 receives the processing information removed by the excluding means 38 from the service list. Return to the service list of. By this process, it becomes possible to prevent the content of the self process from leaking to the other third agent device 1c.

また、収集手段40は、自装置配下の第3のエージェント装置1cのメッセージの処理状態を収集する。このとき収集されるメッセージには、メッセージの振る舞いを示すサービスリストが付加されているので、自装置配下の第3のエージェント装置1cがどのような状態にあるのかを正確に把握できるようになる。   The collecting unit 40 collects the message processing status of the third agent device 1c under its own device. Since the service list indicating the behavior of the message is added to the message collected at this time, it is possible to accurately grasp the state of the third agent device 1c under its own device.

以上説明したように、本発明により構築されるマルチエージェントシステムによれば、ネットワークを介して分散配置されるエージェントなどのソフトウェアの間でやり取りされるメッセージに、メッセージの配送先情報とメッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを付加し、配送先のソフトウェアにより処理の終了したサービスリスト部分を削除しつつ、そのサービスリストの付加されたメッセージをソフトウェアからソフトウェアへと配送していくことで処理を実行する構成を採ることから、特定のソフトウェアに負荷をかけることなく効率的な分散環境を構築できるようになる。   As described above, according to the multi-agent system constructed in accordance with the present invention, message delivery destination information and a message are specified for a message exchanged between software such as agents distributed over a network. A service list defined by the connection of data to processing information is added, and the service list part that has been processed by the destination software is deleted, and the message with the service list is delivered from software to software. By adopting a configuration for executing processing, it becomes possible to construct an efficient distributed environment without placing a load on specific software.

具体的に説明するならば、本発明により構成されるマルチエージェントシステムによれば、1対1でないメッセージの送信が可能になる。そして、処理要求を実現するエージェントの選び出しを行う際に、複数のエージェントをまたがって行う処理全般を選び出すという拡張が可能になる。   If it demonstrates concretely, according to the multi agent system comprised by this invention, the transmission of the message which is not one to one will be attained. Then, when selecting an agent that realizes a processing request, it is possible to extend the processing to select all processing performed across a plurality of agents.

そして、エージェントを追加するときに、その追加エージェントの追加を仲介エージェントのようなエージェントに登録するだけでよく、また、その追加エージェントを使って行う複合的な処理内容についても仲介エージェントのようなエージェントの知識に追加するだけでよく、その他のエージェントには変更や追加を行う必要がないので、エージェントの追加・拡張や、それに基づく複合的な処理内容の追加・拡張が簡単に実現できる。   Then, when adding an agent, it is only necessary to register the addition of the additional agent with an agent such as a mediation agent. Also, for the complex processing performed using the additional agent, the agent such as a mediation agent is used. It is only necessary to add to the knowledge of the above, and since there is no need to change or add to other agents, it is possible to easily add / extend agents and add / extend complex processing contents based on them.

そして、メッセージの処理状態をメッセージ自体に持たせる構成を採ることから、複数のエージェントに渡るような複雑な処理手順を踏む必要がある場合にも、1つのエージェントがその処理手順の面倒を見て複数のエージェントにメッセージを順番に配るような処理を行う必要がないので、エージェントの持つ機能を分散できるとともに、1つのエージェントに負荷が集中するのを回避でき、負荷の分散を効率的に行うことが可能になる。   Since the message processing state is assigned to the message itself, even when it is necessary to take a complicated processing procedure that spans multiple agents, one agent takes care of the processing procedure. Since it is not necessary to perform processing that distributes messages to multiple agents in order, the functions of the agents can be distributed, and the load can be avoided from being concentrated on one agent, and the load can be distributed efficiently. Is possible.

以下、仮想カタログシステムに適用した実施の形態に従って本発明を詳細に説明する。   Hereinafter, the present invention will be described in detail according to an embodiment applied to a virtual catalog system.

図3に、本発明の適用される仮想カタログシステムのシステム構成を図示する。   FIG. 3 shows a system configuration of a virtual catalog system to which the present invention is applied.

この図に示す仮想カタログシステムは、ネットワーク900に、商品/サービス・データベース100と、データベースエージェント200と、ブラウザ300と、ユーザエージェント400と、仲介エージェント500と、第1の翻訳エージェント600と、第2の翻訳エージェント700と、統合エージェント800と、ネットワーク900とが接続されることで構成されている。   The virtual catalog system shown in this figure includes a network 900, a product / service database 100, a database agent 200, a browser 300, a user agent 400, a mediation agent 500, a first translation agent 600, a second The translation agent 700, the integration agent 800, and the network 900 are connected to each other.

これらのデータベースエージェント200と、ユーザエージェント400と、仲介エージェント500と、第1の翻訳エージェント600と、第2の翻訳エージェント700と、統合エージェント800とは、ACL(Agent Communication Language) により通信を行うことで相互に通信が可能となっている。   The database agent 200, the user agent 400, the mediation agent 500, the first translation agent 600, the second translation agent 700, and the integration agent 800 communicate with each other using ACL (Agent Communication Language). It is possible to communicate with each other.

ACLは、エージェント間でやり取りするメッセージを規定するエージェント間通信言語であり、情報の内容などの知識を表現する知識表現言語KIF(Knowledge Interchange Format) と、パーフォーマティブと呼ばれるエージェント間通信のトランザクションの動詞部分を規定する言語のKQML(Knowledge Query and Manipulation Language)と、エージェントで使用する用語体系の種別を示すオントロジー(Ontology)とからなっている。   ACL is an inter-agent communication language that prescribes messages exchanged between agents. Knowledge representation language KIF (Knowledge Interchange Format) that expresses knowledge such as information contents and inter-agent communication transactions called performative. It consists of KQML (Knowledge Query and Manipulation Language), the language that defines the verb part, and Ontology, which indicates the type of terminology used in the agent.

エージェントがACLにより通信を行うためには、実際の情報をエージェントの持つ知識(仮想知識ベース:VKB)として抽象化する必要がある。図3のシステムでは、扱う情報が商品/サービス・データベース100であることから、商品/サービス・データベース100の情報を抽象化したものがデータベースエージェント200の持つVKBとなる。   In order for an agent to communicate by ACL, it is necessary to abstract actual information as knowledge (virtual knowledge base: VKB) possessed by the agent. In the system of FIG. 3, the information handled is the product / service database 100, so that the information of the product / service database 100 is abstracted as the VKB possessed by the database agent 200.

VKBへのアクセスは、VKBにより記述されている知識の一部を条件によって切り出すこと、切り出した知識に対する操作(取り出す、消去する、書き換えるなど)を指定することからなる。ACLでVKBにアクセスする場合には、KIFのリレーションにより対象となるVKB上の知識を切り出し、それに対する操作をKQMLのパーフォーマティブで指定する。   Access to the VKB consists of cutting out a part of the knowledge described in the VKB according to a condition and specifying an operation (extracting, deleting, rewriting, etc.) on the extracted knowledge. When accessing the VKB by ACL, the knowledge on the target VKB is extracted by the KIF relation, and the operation for the knowledge is designated by the KQML performative.

このKIFのリレーションとしては、「VKBのレコードの特定のフィールドとその値とを対応付けるリレーション」や、「数値同士を比較する算術的なリレーション」や、「リレーション同士の論理的な組み合わせを定義するリレーション」や、「条件にあてはまるもの適用して二次的な結果を得るリレーション」などがある。   This KIF relation includes "relation that associates a specific field of a VKB record with its value", "arithmetic relation that compares numerical values", and "relation that defines a logical combination of relations" ”And“ Relations that apply secondary conditions to obtain secondary results ”.

データベースエージェント200は、仮想カタログシステムを実現するために、仲介エージェント500に対して自分の持つ能力をアドバタイズする。   The database agent 200 advertises its own ability to the mediation agent 500 in order to realize a virtual catalog system.

このアドバタイズ情報としては、VKBの名前、VKBで扱うことのできるカテゴリ、VKBに現れるフィールド、VKBで用いるオントロジー、VKBへのアクセスに利用できるリレーションなどがある。下記にアドバタイズ情報の一例を示す。   The advertisement information includes a VKB name, a category that can be handled by the VKB, a field that appears in the VKB, an ontology used in the VKB, and a relation that can be used for accessing the VKB. An example of advertisement information is shown below.

((database百道浜市場)
(=> (member ?x百道浜市場)
(isa ?x 農産物)
(field-definition 百道浜市場 商品名 'is-text)
(field-definition 百道浜市場 カテゴリ名 'is-text)
(field-definition 百道浜市場 カテゴリコード 'is-number)
(field-definition 百道浜市場 生産社名 'is-text)
・・・
(default-ontolgy standard.database.kif)
(allows-relational-db-query 百道浜市場)))
このアドバタイズ情報では、VKBの名前が百道浜市場であり、扱うカテゴリは農産物であり、フィールドとして、商品名/カテゴリ名/カテゴリコード/生産者名などが存在し、標準のオントロジーを用い、エージェント間で取り決めたリレーショナルデータベース的な問い合わせ方法が利用可能である。
((database Hyakumichihama market)
(=> (member? x Hyakumichihama market)
(isa? x produce)
(field-definition Hyakumichihama market product name 'is-text)
(field-definition Hyakumichihama market category name 'is-text)
(field-definition Hyakumichihama market category code 'is-number)
(field-definition Hyakumichihama market production name 'is-text)
...
(default-ontolgy standard.database.kif)
(allows-relational-db-query Momodohama market)))
In this advertisement information, the name of VKB is Hyakudohama market, the category handled is agricultural products, and there are product names / category names / category codes / producer names as fields, using standard ontologies, and between agents A negotiated relational database-like query method is available.

図1で説明したように、本発明では、図3に示すように構成されるようなマルチエージェントシステムで、メッセージに、メッセージの配送先情報とそのメッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを付加する構成を採っている。   As described with reference to FIG. 1, in the present invention, in a multi-agent system configured as shown in FIG. 3, a message is connected to a pair of data between message delivery destination information and processing information designated by the message. The service list defined in is added.

図4に、図3の仮想カタログシステムに対して本発明を適用する場合に用いるサービスリストの一例を図示する。   FIG. 4 shows an example of a service list used when the present invention is applied to the virtual catalog system of FIG.

この図に示すサービスリストは、配送先のエージェントで実行すべきサービス名と、サービス名の指す処理が実行される前のメッセージの状態(入力のオントロジーなど)と、サービス名の指す処理が実行された後のメッセージの状態(出力のオントロジーなど)と、配送先のエージェント名との対データを一サービスリスト単位として、そのサービスリスト単位がリスト状に繋がることで構成されている。   In the service list shown in this figure, the service name to be executed by the agent at the delivery destination, the message status (such as the input ontology) before the process indicated by the service name is executed, and the process indicated by the service name are executed. Each service list unit is connected in a list form with paired data of the message status (output ontology, etc.) and the delivery destination agent name as one service list unit.

このサービスリストは、処理の内容及び手順を指示するという性質を持つ。例えば、図5(a)に示すサービスリストは、先ず最初に、第1の翻訳エージェント600(t1)で、メッセージで指定される検索内容をAオントロジーからDオントロジーに翻訳し、続いて、データベースエージェント200(db1)で、その検索内容の検索を行うことで検索結果を得て、続いて、第2の翻訳エージェント700(t2)で、その検索結果をDオントロジーからAオントロジーに翻訳し、続いて、統合エージェント800で、3つのデータベースエージェント200で検索される検索結果を統合して、それをユーザエージェント400に回答することを指示している。   This service list has the property of instructing the content and procedure of processing. For example, in the service list shown in FIG. 5A, first, the first translation agent 600 (t1) translates the search content specified by the message from the A ontology to the D ontology, and then the database agent. A search result is obtained by searching the search content at 200 (db1), and then the search result is translated from the D ontology to the A ontology by the second translation agent 700 (t2). The integrated agent 800 instructs that the search results searched by the three database agents 200 are integrated and the user agent 400 is answered.

ここで、サービスリストに記録されるサービス名や入力状態や出力状態や配送先エージェント名が決定できないことで抽象レベルにあるときには、図5(b)に示すように、その旨を示す記号「*」が付けられることになる。   Here, when the service name, input state, output state, and delivery destination agent name recorded in the service list cannot be determined and are at an abstract level, as shown in FIG. "Will be attached.

更に説明するならば、サービスリストのサービス名は、サービスリストの入力状態とサービスリストの出力状態との間の関係を宣言的に記述するものである。この関係の示す内容は、エージェント内の処理、メッセージに施す処理、メッセージの配送経路やサービス名を含むサービスリストの再設定や具現化、メッセージの次のエージェントへの送信などに関する、どれか又は複数の制約が含まれたものと考えることができ、各エージェントは、その制約に従いながら、個々のエージェントの仕様や実装に依存した処理を行うことになる。   More specifically, the service name of the service list is declaratively describing the relationship between the input state of the service list and the output state of the service list. The contents of this relationship may be any one or more related to the processing in the agent, the processing to be performed on the message, the resetting and realization of the service list including the message delivery route and service name, and the transmission of the message to the next agent. Each agent performs processing depending on the specification and implementation of each agent while complying with the constraint.

どのような物事もサービス名の指す処理の対象となるものであるが、以下に説明する実施例では、説明の便宜上、データベースの検索、メッセージを配送先に適合するための翻訳、エージェントへの配送経路の設定、複数のメッセージのマージを想定している。   Anything is subject to processing indicated by the service name, but in the embodiment described below, for convenience of explanation, database search, translation to match the message to the delivery destination, delivery to the agent It is assumed that routes are set and multiple messages are merged.

ユーザエージェント400の主な機能は、ブラウザを通して入力されてきた検索要求をACLメッセージに変換するとともに、その検索要求から抽象レベルのサービスリストを作成して、その抽象レベルのサービスリストをそのACLメッセージに付加して仲介エージェント500に送信することである。   The main function of the user agent 400 is to convert a search request input through a browser into an ACL message, create an abstract level service list from the search request, and convert the abstract level service list into the ACL message. In addition, it is transmitted to the mediating agent 500.

仲介エージェント500の主な機能は、ユーザエージェント400から抽象レベルのサービスリストを持つACLメッセージが送られてくると、データベースエージェント200から送られてきた上述のアドバタイズ情報を参照することで、そのACLメッセージに付加されている抽象レベルのサービスリストを詳細化することで具体化し、送られてきたACLメッセージのサービスリストをこの詳細レベルのサービスリストに置き換えてから、データベースエージェント200に送信することである。   The main function of the mediation agent 500 is that when an ACL message having an abstract level service list is sent from the user agent 400, the ACL message is referred to by referring to the advertisement information sent from the database agent 200. The service list of the abstract level added to is concreteized by refining, and the service list of the sent ACL message is replaced with the service list of the detailed level, and then transmitted to the database agent 200.

データベースエージェント200の主な機能は、仲介エージェント500から詳細レベルのサービスリストを持つACLメッセージが送られてくると、そのACLメッセージに付加されている詳細レベルのサービスリストに応答して、そのACLメッセージで指定される検索内容をSQL(データベース操作言語)コマンドに変換して検索処理を実行し、このとき、必要に応じて、第1の翻訳エージェント600や第2の翻訳エージェント700に翻訳依頼のACLメッセージを送信することである。   The main function of the database agent 200 is that when an ACL message having a detailed service list is sent from the intermediary agent 500, the ACL message is sent in response to the detailed service list added to the ACL message. The search content specified in the above is converted into an SQL (database operation language) command and a search process is executed. At this time, if necessary, the first translation agent 600 or the second translation agent 700 sends a translation request ACL. Send a message.

第1の翻訳エージェント600や第2の翻訳エージェント700の主な機能は、ユーザエージェント400の使用している用語体系と、データベースエージェント200の使用している用語体系とを合わせることで、ユーザエージェント400が異なる用語体系を持つ複数のデータベースエージェント200にアクセスできるようにすることである。   The main functions of the first translation agent 600 and the second translation agent 700 are to combine the terminology used by the user agent 400 and the terminology used by the database agent 200, so that the user agent 400 Is to allow access to a plurality of database agents 200 having different terminology.

ここで、第1の翻訳エージェント600は、AオントロジーからDオントロジーへの翻訳処理を実行し、第2の翻訳エージェント700は、DオントロジーからAオントロジーへの翻訳処理を実行することを想定している。   Here, it is assumed that the first translation agent 600 executes the translation process from the A ontology to the D ontology, and the second translation agent 700 executes the translation process from the D ontology to the A ontology. .

第1の翻訳エージェント600は、例えば、図6に示すように、百道浜市場データベースがDオントロジーを使用しているときにあって、ユーザがAオントロジー体系の検索画面を利用して検索要求を発行するときには、AオントロジーからDオントロジーへの翻訳を実行する翻訳関数を使って、Aオントロジー体系の検索画面で使用される項目名の「産地」を、Dオントロジーで使用される「生産地」に変換するとともに、Aオントロジー体系の検索画面で入力されるカテゴリコードの「01597218」を、Dオントロジーで使用される「30168945」に変換するといった翻訳処理を実行する。   For example, as shown in FIG. 6, the first translation agent 600 is when the Hyakumichihama market database uses the D ontology, and the user issues a search request using the search screen of the A ontology system. Sometimes, using a translation function that performs translation from the A ontology to the D ontology, the item name “origin” used in the search screen of the A ontology system is converted to the “production area” used in the D ontology. At the same time, a translation process is executed such that the category code “01597218” input on the search screen of the A ontology system is converted to “30168945” used in the D ontology.

図7に、ユーザエージェント400の実行する処理フローの一例、図8及び図9に、仲介エージェント500の実行する処理フローの一例、図10に、データベースエージェント200や第1の翻訳エージェント600や第2の翻訳エージェント700の実行する処理フローの一例、図12及び図13に、統合エージェント800の実行する処理フローの一例を図示する。   7 shows an example of the processing flow executed by the user agent 400, FIGS. 8 and 9 show an example of the processing flow executed by the mediation agent 500, and FIG. 10 shows the database agent 200, the first translation agent 600, and the second FIG. 12 and FIG. 13 show an example of the processing flow executed by the integration agent 800.

次に、これらの処理フローに従って、本発明について詳細に説明する。   Next, according to these processing flows, the present invention will be described in detail.

ユーザエージェント400は、ユーザから商品/サービス・データベース100に対する検索要求があると、図7の処理フローに示すように、先ず最初に、ステップ1で、searchをサービス名とし、取り扱うオントロジーを入力状態/出力状態とし、配送先エージェント名を未定とするサービスリスト単位と、配送先エージェント名を自エージェント名とするサービスリスト単位とを作成することで抽象サービスリストを作成する。   When the user agent 400 makes a search request for the product / service database 100 from the user, as shown in the processing flow of FIG. 7, first, in step 1, search is set as the service name and the ontology to be handled is input / An abstract service list is created by creating an output state and creating a service list unit in which the delivery agent name is undetermined and a service list unit in which the delivery agent name is its own agent name.

すなわち、ユーザエージェント400の取り扱うオントロジーをAオントロジーとするならば、
* search,inA,outA,*
,ua〕
という抽象サービスリストを作成するのである。
That is, if the ontology handled by the user agent 400 is an A ontology,
[ * Search, inA, outA, * ]
[ , , , Ua]
The abstract service list is created.

続いて、ステップ2で、検索内容をメッセージ本体とするACLメッセージを作成する。例えば、農産物をカテゴリとする商品/サービス・データベース100を検索対象として、その中から、青森県を産地として、10kg当たり1500円以下のりんごを扱う生産者を検索したいという要求が発行されるときには、そのような検索内容をメッセージ本体とするACLメッセージを作成するのである。   Subsequently, in step 2, an ACL message having the search content as a message body is created. For example, when a request is made to search for a product / service database 100 with agricultural products as a category and search for producers handling apples of less than 1500 yen per 10 kg from Aomori Prefecture as the production area, An ACL message having such a search content as a message body is created.

続いて、ステップ3で、作成したACLメッセージに、作成した抽象サービスリストを付加して、仲介エージェント500に送って処理を終了する。   Subsequently, in step 3, the created abstract service list is added to the created ACL message and sent to the mediation agent 500, and the process is terminated.

このユーザエージェント400の発行する検索要求のACLメッセージを受け取ると、仲介エージェント500は、図8及び図9の処理フローに示すように、先ず最初に、ステップ1で、受け取ったACLメッセージの検索内容から、検索要求の指定するカテゴリを取り出す。すなわち、農産物をカテゴリとする検索内容であるときには、カテゴリとして農産物が指定されていることを取り出すのである。   When receiving the ACL message of the search request issued by the user agent 400, the mediation agent 500 starts with the search contents of the received ACL message in step 1 as shown in the processing flow of FIGS. The category specified by the search request is extracted. In other words, when the search content includes agricultural products as a category, the fact that agricultural products are designated as a category is extracted.

続いて、ステップ2で、保持してあるデータベースエージェント200からのアドバタイズ情報を参照することで、取り出したカテゴリを扱うデータベースエージェント200を選び出す。上述したように、データベースエージェント200は、前もって、自分の取り扱うことのできるカテゴリなどの能力情報を仲介エージェント500にアドバタイズするので、そのアドバタイズ情報に従って、検索内容の指定するカテゴリを扱うデータベースエージェント200を選び出すのである。   Subsequently, in step 2, by referring to the advertisement information from the stored database agent 200, the database agent 200 that handles the extracted category is selected. As described above, since the database agent 200 advertises capability information such as categories that can be handled to the mediating agent 500 in advance, the database agent 200 that handles the category specified by the search content is selected according to the advertisement information. It is.

続いて、ステップ3で、選び出したデータベースエージェント200が複数であるのか否かを判断して、複数であることを判断するときには、ステップ4に進んで、ユーザエージェント400から受け取ったサービスリストの持つ2つのサービスリスト単位の間に、サービス名のmerge を付加して、その入力状態に、このmerge を実行する統合エージェント800の取り扱う入力のオントロジーと、選び出したデータベースエージェント200の数を分母とし“1”を分子とする“1/n”とを登録し、その出力状態に、このmerge を実行する統合エージェント800の取り扱う出力のオントロジーと、「n個×(1/n)=1」から導出される“1”とを登録し、配送先エージェント名に、このmerge を実行する統合エージェント800のエージェント名を登録する。   Subsequently, in step 3, it is determined whether there are a plurality of selected database agents 200. When determining that there are a plurality of database agents 200, the process proceeds to step 4, and the service list received from the user agent 400 has 2 A service name merge is added between two service list units, and the input state handled by the integrated agent 800 that executes this merge and the number of selected database agents 200 as denominators are “1”. Is registered as “1 / n”, and the output state is derived from the ontology of the output handled by the integrated agent 800 that executes this merge and “n × (1 / n) = 1”. “1” is registered, and the agent of the integration agent 800 that executes this merge is set as the destination agent name. To register the name.

すなわち、統合エージェント800の取り扱うオントロジーをAオントロジーとし、選び出したデータベースエージェント200の数を“3”とし、統合エージェント800のエージェント名をm1とするならば、ユーザエージェント400から受け取ったサービスリストの持つ2つのサービスリスト単位の間に、
〔merge,outA:1/3,out:1,m1〕
というサービスリスト単位を挿入するのである。
That is, if the ontology handled by the integrated agent 800 is A ontology, the number of selected database agents 200 is “3”, and the agent name of the integrated agent 800 is m1, the service list received from the user agent 400 has 2 Between two service list units,
[Merge, outA: 1/3, out: 1, m1]
The service list unit is inserted.

続いて、ステップ5で、選び出したデータベースエージェント200の数に合わせて、メッセージを複製する。すなわち、選び出したデータベースエージェント200の数がn個であるならば、メッセージがn個となるようにと複製処理を実行するのである。この複製処理により複製されるメッセージは同じIDを持つことになる。   Subsequently, in step 5, the message is copied in accordance with the number of database agents 200 selected. That is, if the number of selected database agents 200 is n, the replication process is executed so that the number of messages is n. Messages duplicated by this duplication processing have the same ID.

ステップ5での複製処理を終了し、また、ステップ3で、選び出したデータベースエージェント200が1つであることを判断すると、ステップ6に進んで、サービスリストの先頭のサービスリスト単位の持つ配送先エージェント名に、選び出したデータベースエージェント200のエージェント名を登録する。   When the replication process in step 5 is completed and it is determined in step 3 that there is only one database agent 200 selected, the process proceeds to step 6 where the delivery destination agent possessed by the first service list unit in the service list In the name, the agent name of the selected database agent 200 is registered.

すなわち、選び出したデータベースエージェント200のエージェント名がdb1、db2、db3であるときには、ステップ4/ステップ5を経由することで作成された3つのメッセージの先頭のサービスリスト単位の持つ配送先エージェント名(ユーザエージェント400から送られてきた抽象サービスリストでは未定とされていたもの)に、
* search,inA,outA,db1〕
* search,inA,outA,db2〕
* search,inA,outA,db3〕
というように、db1、db2、db3というエージェント名を登録するのである。
That is, when the agent names of the selected database agent 200 are db1, db2, and db3, the delivery destination agent names (users) of the first service list unit of the three messages created through step 4 / step 5 In the abstract service list sent from the agent 400, it was determined to be undecided)
[ * Search, inA, outA, db1]
[ * Search, inA, outA, db2]
[ * Search, inA, outA, db3]
In this way, the agent names db1, db2, and db3 are registered.

続いて、ステップ7で、選び出したデータベースエージェント200の中から1つを選択し、続くステップ8で、全て取り出したのか否かを判断して、全て取り出したことを判断するときには、ステップ9(図9の処理フロー)に進んで、これまでの処理により詳細化したサービスリストをメッセージに付加してデータベースエージェント200に送信して処理を終了する。   Subsequently, in step 7, one of the selected database agents 200 is selected, and in step 8, it is determined whether or not all the database agents 200 have been extracted. 9), the service list detailed by the processes so far is added to the message and transmitted to the database agent 200, and the process is terminated.

一方、ステップ8で、データベースエージェント200を取り出せたことを判断するときには、ステップ10(図9の処理フロー)に進んで、保持してあるデータベースエージェント200からのアドバタイズ情報を参照することで、その取り出したデータベースエージェント200の取り扱うオントロジーを調べ、続くステップ11で、そのオントロジーをsearchのサービスリスト単位の入力状態と出力状態とに登録する。   On the other hand, when it is determined in step 8 that the database agent 200 has been extracted, the process proceeds to step 10 (processing flow of FIG. 9), and the extracted information is referred to by referring to the advertisement information from the database agent 200 that is held. The ontology handled by the database agent 200 is checked, and in step 11, the ontology is registered in the input state and output state of the search service list.

すなわち、選び出したデータベースエージェント200の取り扱うオントロジーがDオントロジーであるときには、例えば、
* search,inA,outA,db1〕
の入力状態と出力状態とにDオントロジーを登録することで、
〔search,inD,outD,db1〕
というように、searchのサービスリスト単位を詳細化するのである。
That is, when the ontology handled by the selected database agent 200 is the D ontology, for example,
[ * Search, inA, outA, db1]
By registering the D ontology for the input state and output state of
[Search, inD, outD, db1]
In this way, the service list unit of search is refined.

続いて、ステップ12で、取り出したデータベースエージェント200の取り扱うオントロジーが検索要求発行元のユーザエージェント400の使用するオントロジー(ユーザエージェント400から送られてきた抽象サービスリストに記録されている)と異なるのか否かをチェックする。   Subsequently, in step 12, whether or not the ontology handled by the extracted database agent 200 is different from the ontology used by the search request issuing user agent 400 (recorded in the abstract service list sent from the user agent 400). To check.

このチェック処理に従って、データベースエージェント200の取り扱うオントロジーと、検索要求発行元のユーザエージェント400の使用するオントロジーとが同一であることを判断するときには、直ちにステップ7に戻る。   When it is determined that the ontology handled by the database agent 200 is the same as the ontology used by the search request issuing user agent 400 according to this check processing, the process immediately returns to step 7.

一方、この両者のオントロジーが異なることを判断するときには、ステップ13に進んで、サービスリストの持つsearchのサービスリスト単位の前後に、サービス名のtranslate を付加して、その入力状態に、翻訳元のオントロジーを登録し、その出力状態に翻訳先のオントロジーを登録し、配送先エージェント名に、このtranslate を実行する第1の翻訳エージェント600や第2の翻訳エージェント700のエージェント名を登録してから、ステップ7に戻る。   On the other hand, when it is determined that the ontology of the two is different, the process proceeds to step 13, where the service name translate is added before and after the search service list unit of the service list, and the input state of the translation source is added. After registering the ontology, register the ontology of the translation destination in its output state, register the agent name of the first translation agent 600 or the second translation agent 700 that executes this translate as the destination agent name, Return to Step 7.

すなわち、選び出したデータベースエージェント200の使用するオントロジーがDオントロジーで、検索要求発行元のユーザエージェント400の使用するオントロジーがAオントロジーで、AオントロジーからDオントロジーへの翻訳処理を実行する第1の翻訳エージェント600のエージェント名がt1で、DオントロジーからAオントロジーへの翻訳処理を実行する第2の翻訳エージェント700のエージェント名がt2であるとするならば、検索内容をデータベースエージェント200に通知可能にするために、サービスリストの持つsearchのサービスリスト単位の前に、
〔translate,inA,inD,t1〕
というサービスリスト単位を挿入し、検索結果をユーザエージェント400に通知可能にするために、サービスリストの持つsearchのサービスリスト単位の後に、
〔translate,outD,outA,t2〕
というサービスリスト単位を挿入するのである。
In other words, the ontology used by the selected database agent 200 is the D ontology, the ontology used by the search request issuing user agent 400 is the A ontology, and the first translation agent that performs the translation process from the A ontology to the D ontology. If the agent name of 600 is t1, and the agent name of the second translation agent 700 that executes the translation process from the D ontology to the A ontology is t2, the search contents can be notified to the database agent 200. Before the search service list unit of the service list,
[Translate, inA, inD, t1]
In order to insert the service list unit and to notify the user agent 400 of the search result, after the search service list unit of the service list,
[Translate, outD, outA, t2]
The service list unit is inserted.

このようにして、仲介エージェント500は、ユーザエージェント400から抽象レベルのサービスリストを持つ検索要求のメッセージが送られてくると、図13及び図14に示すように、その抽象レベルのサービスリストを詳細化することで具体化して、その詳細化したサービスリストを持つメッセージをデータベースエージェント200に送信する。   In this way, when the mediation agent 500 receives a search request message having an abstract level service list from the user agent 400, as shown in FIG. 13 and FIG. 14, the abstract level service list is detailed. The message having the detailed service list is transmitted to the database agent 200.

なお、図14では、1つのデータベースエージェント200がユーザエージェント400と同じオントロジーを使用することで、第1の翻訳エージェント600と第2の翻訳エージェント700による翻訳処理が施されないことを想定している。   In FIG. 14, it is assumed that the translation processing by the first translation agent 600 and the second translation agent 700 is not performed because one database agent 200 uses the same ontology as the user agent 400.

この図13及び図14に示す詳細レベルのサービスリストは、図15に示すように、先ず最初に、必要に応じて、第1の翻訳エージェント600で、メッセージで指定される検索内容をAオントロジーからDオントロジーに翻訳し、続いて、データベースエージェント200で、その検索内容の検索を行うことで検索結果を得て、続いて、必要に応じて、第2の翻訳エージェント700で、その検索結果をDオントロジーからAオントロジーに翻訳し、続いて、統合エージェント800で、データベースエージェント200で検索される検索結果を統合して、それをユーザエージェント400に回答することを指示している。   As shown in FIG. 15, the detailed level service list shown in FIG. 13 and FIG. 14 is first obtained from the A Ontology by the first translation agent 600 as necessary. The translation result is translated into the D ontology, and then the database agent 200 retrieves the retrieval content to obtain the retrieval result. Then, if necessary, the second translation agent 700 translates the retrieval result into the D ontology. The ontology is translated into the A ontology, and then the integrated agent 800 instructs to integrate the search results searched by the database agent 200 and to reply to the user agent 400.

次に、データベースエージェント200/第1の翻訳エージェント600/第2の翻訳エージェント700/統合エージェント800の実行する処理について説明する。   Next, processing executed by the database agent 200 / first translation agent 600 / second translation agent 700 / integrated agent 800 will be described.

これらのエージェントは、基本的には、図10の処理フローに従う処理を実行するものであるが、統合エージェント800については、説明の便宜上、図11及び図12に示す詳細な処理フローに従ってその実行処理を説明する。   These agents basically execute the processing according to the processing flow of FIG. 10, but for the convenience of explanation, the integrated agent 800 is executed according to the detailed processing flow shown in FIGS. Will be explained.

データベースエージェント200/第1の翻訳エージェント600/第2の翻訳エージェント700は、詳細レベルのサービスリストを持つメッセージが送られてくると、図10の処理フローに示すように、先ず最初に、ステップ1で、受信したメッセージの持つメッセージ本体を取り出す。この実施例の場合には、メッセージ本体は検索内容か検索結果である。   When the database agent 200 / first translation agent 600 / second translation agent 700 receives a message having a service list of a detailed level, first, as shown in the processing flow of FIG. The message body of the received message is taken out. In the case of this embodiment, the message body is a search content or a search result.

続いて、ステップ2で、受信したメッセージの持つサービスリストを取り出す。このサービスリストは、上述したように、配送先のエージェントで実行すべきサービス名と、そのメッセージの入力状態と、そのメッセージの出力状態と、配送先のエージェント名との対データを一サービスリスト単位として、そのサービスリスト単位がリスト状に繋がることで構成されている。   Subsequently, in step 2, the service list possessed by the received message is taken out. As described above, this service list includes a service name to be executed by the delivery destination agent, an input state of the message, an output state of the message, and paired data of the delivery destination agent name in one service list unit. The service list unit is connected in a list form.

続いて、ステップ3で、サービスリストの中から先頭のサービスリスト単位を抽出し、続くステップ4で、その先頭のサービスリスト単位の配送エージェント名が自エージェントを指しているのか否かを判断して、自エージェントを指していないことを判断するときには、自処理の実行が指示されていないので、そのまま処理を終了する。   Subsequently, in step 3, the head service list unit is extracted from the service list, and in step 4, it is determined whether or not the delivery agent name in the head service list unit indicates the own agent. When it is determined that the self agent is not pointed out, execution of the self process is not instructed, and the process is terminated as it is.

一方、自エージェントを指していることを判断するときには、ステップ5に進んで、必要に応じて指定された入力状態と出力状態とを参照しつつ、先頭のサービスリスト単位の持つサービス名の指定する処理を実行することでメッセージ本体に必要な変更を施す。   On the other hand, when it is determined that it points to the own agent, the process proceeds to step 5 where the service name of the first service list unit is designated while referring to the designated input state and output state as necessary. Necessary changes are made to the message body by executing the process.

すなわち、第1の翻訳エージェント600であれば、translate というサービス名の指定に従って、メッセージ本体で与えられる検索内容の用語体系をAオントロジーからDオントロジーに翻訳し、データベースエージェント200であれば、searchというサービス名の指定に従って、メッセージ本体で与えられる検索内容に従って商品/サービス・データベース100を検索し、第2の翻訳エージェント700であれば、translate というサービス名の指定に従って、メッセージ本体で与えられる検索結果の用語体系をDオントロジーからAオントロジーに翻訳する処理を行う。   That is, in the case of the first translation agent 600, the term system of the search content given in the message body is translated from the A ontology to the D ontology according to the designation of the service name “translate”. The product / service database 100 is searched according to the search content given in the message body according to the designation of the name, and if it is the second translation agent 700, the term of the search result given in the message body according to the designation of the service name translate The system is translated from D ontology to A ontology.

続いて、ステップ6で、処理を終了したことに対応して、先頭のサービスリスト単位を削除しつつ、サービスリストを付加しながら処理結果の出力メッセージを組み立て、続くステップ7で、その組み立て出力メッセージを他エージェントに送信して処理を終了する。   Subsequently, in step 6, in response to the completion of the process, the output message of the processing result is assembled while deleting the first service list unit and adding the service list, and in step 7, the assembly output message is assembled. Is sent to the other agent and the process is terminated.

この図10の処理フローに従って、仲介エージェント500が図13及び図14に示した、
〔translate,inA,inD,t1〕
〔search,inD,outD,db1〕
〔translate,outD,outA,t2〕
〔merge,outA:1/3,out:1,m1〕
,ua〕
という詳細レベルのサービスリストを作成すると、先ず最初に、第1の翻訳エージェント600が起動されて、図16(a)に示すように、メッセージ本体で与えられる検索内容をAオントロジーからDオントロジーに翻訳し、続いて、データベースエージェント200が起動されて、図16(b)に示すように、Dオントロジーで表現される検索を得て、続いて、第2の翻訳エージェント700が起動されて、図17に示すように、データベースエージェント200の検索した検索結果をDオントロジーからAオントロジーに翻訳するのである。
According to the processing flow of FIG. 10, the mediation agent 500 is shown in FIGS.
[Translate, inA, inD, t1]
[Search, inD, outD, db1]
[Translate, outD, outA, t2]
[Merge, outA: 1/3, out: 1, m1]
[ , , , Ua]
First, the first translation agent 600 is activated, and the search content given in the message body is translated from A ontology to D ontology as shown in FIG. 16 (a). Then, the database agent 200 is activated to obtain a search expressed in the D ontology, as shown in FIG. 16B, and then the second translation agent 700 is activated, and FIG. As shown, the search result searched by the database agent 200 is translated from the D ontology to the A ontology.

この処理の終了時点のサービスリストは、図17に示すように、
〔merge,outA:1/3,out:1,m1〕
,ua〕
というものになっている。
The service list at the end of this process is as shown in FIG.
[Merge, outA: 1/3, out: 1, m1]
[ , , , Ua]
It has become that.

このサービスリストの持つサービス名のmerge に応答して起動されるのが統合エージェント800である。   The integration agent 800 is activated in response to the merge of the service name of this service list.

次に、図11及び図12の処理フローに従って、統合エージェント800の実行する処理について説明する。   Next, processing executed by the integration agent 800 will be described according to the processing flow of FIGS. 11 and 12.

統合エージェント800は、詳細レベルのサービスリストを持つメッセージが送られてくると、図11及び図12の処理フローに示すように、先ず最初に、ステップ1で、受信したメッセージの持つメッセージ本体を取り出す。統合エージェント800に送られてくるメッセージは、データベースエージェント200により得られる検索結果であるので、このステップ1では、メッセージが自エージェント宛であるときには検索結果を取り出すことになる。   When a message having a service list of a detailed level is sent, the integrated agent 800 first takes out the message body of the received message in step 1 as shown in the processing flow of FIG. 11 and FIG. . Since the message sent to the integrated agent 800 is a search result obtained by the database agent 200, in this step 1, when the message is addressed to its own agent, the search result is taken out.

続いて、ステップ2で、受信したメッセージの持つサービスリストを取り出し、続くステップ3で、サービスリストの中から先頭のサービスリスト単位を抽出する。続いて、ステップ4で、その先頭のサービスリスト単位の配送エージェント名が自エージェントを指しているのか否かを判断して、自エージェントを指していないことを判断するときには、自処理の実行が指示されていないので、そのまま処理を終了する。   Subsequently, in step 2, the service list possessed by the received message is extracted, and in step 3, the first service list unit is extracted from the service list. Subsequently, in Step 4, when it is determined whether or not the delivery agent name in the head service list unit indicates the own agent, and when it is determined that the delivery agent name does not indicate the own agent, execution of the own process is instructed. Since it is not done, the processing is terminated as it is.

一方、自エージェントを指していることを判断するときには、ステップ5に進んで、受信したメッセージのIDを取り出し、続くステップ6で、同一メッセージIDのプールが存在するのか否かを判断する。   On the other hand, when it is determined that it points to its own agent, the process proceeds to step 5 where the ID of the received message is extracted, and in step 6 it is determined whether or not a pool with the same message ID exists.

このステップ6の判断処理により、同一メッセージIDのプールが存在しないことを判断するときには、ステップ7に進んで、メッセージID対応にプールを作成し、続くステップ8で、プールの出力値として、サービスリスト単位の持つ出力値“1”(図8の処理フローのステップ4で出力状態に登録した「n個×(1/n)=1」から導出される“1”)を設定する。続いて、ステップ10に進んで、作成したプールに、ステップ1で取り出したメッセージ本体(検索結果)を格納する。   If it is determined by the determination process in step 6 that there is no pool with the same message ID, the process proceeds to step 7 to create a pool corresponding to the message ID, and in step 8 the service list is output as the pool output value. The unit has an output value “1” (“1” derived from “n × (1 / n) = 1” registered in the output state in step 4 of the processing flow of FIG. 8). Subsequently, the process proceeds to step 10 where the message body (search result) extracted in step 1 is stored in the created pool.

一方、ステップ6の判断処理により、同一メッセージIDのプールが存在することを判断するときには、ステップ9に進んで、メッセージID対応に作成されているプールにアクセスし、続くステップ10で、そのアクセスしたプールに、ステップ1で取り出したメッセージ本体(検索結果)を格納する。   On the other hand, when it is determined by the determination process in step 6 that a pool with the same message ID exists, the process proceeds to step 9 to access the pool created for the message ID, and in step 10 the access is made. The message body (search result) extracted in step 1 is stored in the pool.

ステップ10での格納処理を終了すると、続いて、ステップ11(図12の処理フロー)に進んで、ステップ3で抽出したサービスリスト単位の持つ分割値(図8の処理フローのステップ4で入力状態に登録した“1/n”)の累積値を求め、続くステップ12で、その累積値がステップ8で設定した出力値“1”に到達したのか否かを判断する。   When the storage process in step 10 is completed, the process proceeds to step 11 (process flow in FIG. 12), and the divided value of the service list unit extracted in step 3 (input state in step 4 of the process flow in FIG. 8). In step 12, it is determined whether or not the accumulated value has reached the output value “1” set in step 8.

この判断処理により、受信したメッセージの先頭のサービスリスト単位の持つ分割値の累積値が出力値“1”に到達しないときには、そのまま処理を終了する。一方、出力値“1”に到達することを判断するとき、すなわち、図8の処理フローに従って複製したメッセージの全てが出揃うと判断するときには、ステップ13に進んで、プール内に格納される複数のメッセージ本体(検索結果)を1つに統合し、続くステップ14で、その統合した統合結果の出力メッセージを他エージェントに送信して処理を終了する。   If it is determined by this determination processing that the cumulative value of the divided values of the first service list unit of the received message does not reach the output value “1”, the processing ends. On the other hand, when it is determined that the output value “1” is reached, that is, when it is determined that all of the copied messages are completed according to the processing flow of FIG. The message body (search result) is integrated into one, and in the subsequent step 14, the output message of the integrated integration result is transmitted to another agent, and the process is terminated.

このようにして、統合エージェント800は、検索要求のカテゴリを扱うデータベースエージェント200が複数あるときには、図18に示すように、それらのデータベースエージェント200から得られる検索結果をマージするように処理するのである。   In this way, when there are a plurality of database agents 200 that handle search request categories, the integrated agent 800 performs processing to merge search results obtained from these database agents 200 as shown in FIG. .

このようにして送信される統合結果の出力メッセージには、
,ua〕
というサービスリストが付加されており、このサービスリストを受けて、検索要求発行元のユーザエージェント200は、統合エージェント800により統合された検索結果を得ることになる。
In the output message of the integration result sent in this way,
[ , , , Ua]
In response to this service list, the user agent 200 that issued the search request obtains the search result integrated by the integrated agent 800.

これにより、青森県を産地として、10kg当たり1500円以下のりんごを扱う生産者を検索したいという要求が発行されるときにあって、別々のデータベースエージェント200から、津軽農場という生産者と弘前農場という生産者とが検索されるときには、この2つの生産者の検索結果がマージされて検索要求発行元のユーザエージェント400に回答され、これにより、ユーザは、あたかも1つの商品/サービス・データベース100からの検索結果を得ることができるのである。   As a result, when a request to search for producers handling apples of less than 1500 yen per 10 kg is issued from Aomori Prefecture, the producers called Tsugaru Farm and Hirosaki Farm come from different database agents 200 When a search is made for a producer, the search results of the two producers are merged and returned to the user agent 400 that issued the search request, so that the user can search from one product / service database 100. Search results can be obtained.

この実施例の説明から分かるように、メッセージに付加されるサービスリストは、エージェントを辿る間に状態遷移していく一連の処理の流れを表しているという性質を持つ。   As can be seen from the description of this embodiment, the service list added to the message has the property that it represents a flow of a series of processes that undergo state transition while tracing the agent.

これから、各エージェントが他エージェントから受け取ったメッセージを保存しておく構成を採ると、障害が発生したときに、その障害原因を簡単かつ正確に特定できることになる。そして、各エージェントは、自配下のエージェントのメッセージの処理状態を参照することで、処理の進行状態などを簡単かつ正確に把握できるようになる。   From now on, if a configuration is adopted in which each agent stores messages received from other agents, the cause of the failure can be identified easily and accurately when a failure occurs. Each agent can easily and accurately grasp the progress of the process by referring to the message processing state of the agent under its control.

図19に、データベースエージェント200/第1の翻訳エージェント600/第2の翻訳エージェント700/統合エージェント800の実行する処理フローの他の一例を図示する。   FIG. 19 shows another example of the processing flow executed by the database agent 200 / first translation agent 600 / second translation agent 700 / integrated agent 800.

この処理フローと図10の処理フローとの違いは、図10の処理フローでは、受信したメッセージの持つサービスリストの先頭のサービスリスト単位の指定する処理のみを実行する構成を採ったが、この処理フローでは、ステップ6及びステップ7に示すように、それに続くサービスリスト単位の指定する処理が自エージェントで可能である場合には、それについても代行して実行し、そして、それに合わせて、ステップ8で、実行したサービスリスト単位部分をサービスリストから削除するという構成を採っている点にある。   The difference between this processing flow and the processing flow in FIG. 10 is that the processing flow in FIG. 10 employs a configuration in which only the processing specified in the first service list unit of the service list of the received message is executed. In the flow, as shown in step 6 and step 7, if the subsequent processing designated by the service list can be performed by the own agent, it is executed on behalf of the agent, and accordingly, in step 8 Therefore, the configuration is such that the executed service list unit portion is deleted from the service list.

例えば、データベースエージェント200が、
〔search,inD,outD,db1〕
〔translate,outD,outA,t2〕
〔merge,outA:1/3,out:1,m1〕
,ua〕
というサービスリストを持つメッセージを受け取るときに、図20に示すように、このデータベースエージェント200(db1)が第2の翻訳エージェント700(t2)の翻訳機能についても持つときには、第2の翻訳エージェント700に代わって、その翻訳処理についても実行してしまう構成を採るのである。
For example, the database agent 200
[Search, inD, outD, db1]
[Translate, outD, outA, t2]
[Merge, outA: 1/3, out: 1, m1]
[ , , , Ua]
When the database agent 200 (db1) also has the translation function of the second translation agent 700 (t2), as shown in FIG. Instead, the translation process is also executed.

サービスリストは、順番通り実行されなくてはならないことから、自エージェントの実行できない処理の後にある処理が自エージェントで実行できるとしても、それを代行して実行することはできないが、自エージェントで実行できる処理が続いているときには、それらの全てについて代行して実行することが可能である。   Since the service list must be executed in order, even if the processing after the processing that cannot be executed by the local agent can be executed by the local agent, it cannot be executed on behalf of the local agent. When possible processing continues, it is possible to execute all of them on behalf of them.

このような代行処理は、例えば、サービスリストの詳細化を行うことがエージェントが、処理依頼先のエージェントの持つ能力を完全に把握していない場合や、複数のエージェントが、同一のサービスリストを段階的に詳細化していくことで発生することになるが、この代行処理の機能を備えることで最適化が図られることになる。   Such proxy processing is performed, for example, when the agent does not fully understand the capabilities of the agent requested to process the service list, or when multiple agents step through the same service list. However, optimization will be achieved by providing this proxy processing function.

なお、この実施例では、自分で実行できる処理を順番に実行していく構成を採っているが、自分で実行できる処理の組み合わせについてもまとめて一度に実行できる機能を持つときには、サービスリストの先頭から複数のサービスリスト単位をまとめて取り出して、それと自分で実行できる処理とのマッチングを判断して、まとめて一度に実行できるものがある場合には、まとめて一度に実行するようにすることが好ましい。   In this embodiment, the process that can be executed by oneself is executed in order. However, when there is a function that can execute a combination of processes that can be executed by one person at a time, the top of the service list is used. Multiple service list units can be taken out from a batch, and the matching between the service list unit and the process that can be executed by yourself is judged. If there is something that can be executed at once, it can be executed at once. preferable.

図21及び図22に、データベースエージェント200/第1の翻訳エージェント600/第2の翻訳エージェント700/統合エージェント800の実行する処理フローの他の一例を図示する。   FIGS. 21 and 22 show another example of the processing flow executed by the database agent 200 / first translation agent 600 / second translation agent 700 / integrated agent 800. FIG.

この処理フローと図10の処理フローとの違いは、図10の処理フローでは、先頭のサービスリスト単位の処理を実行した後、処理結果の出力メッセージをそのまま送信する構成を採ったが、この処理フローでは、その先頭のサービスリスト単位以降のサービスリスト単位に自エージェントを指定しているものがあるのか否かを判断して、自エージェントを指定しているものがあることを判断するとき、すなわち、自エージェントに戻ってくるメッセージであることを判断するときには、サービスリストからその処理のサービス名を取り外す構成(入力状態や出力状態についても取り外してもよい)を採って、メッセージが戻ってきた時点で、それを自エージェントで実行する構成を採っている点である。   The difference between this processing flow and the processing flow of FIG. 10 is that, in the processing flow of FIG. 10, after the processing of the head service list unit is executed, the output message of the processing result is transmitted as it is. In the flow, when it is determined whether there is one that specifies the own agent in the service list unit after the first service list unit, and when it is determined that there is one that specifies the own agent, that is, When it is determined that the message is returned to the local agent, a configuration in which the service name of the process is removed from the service list (the input state and output state may be removed) and the message is returned The point is that it is configured to execute it on its own agent.

すなわち、ステップ7で、受信した自分宛のメッセージの持つサービスリストの先頭のサービスリスト単位の指定する処理を実行すると、ステップ8で、残りのサービスリストに自エージェント名を配送先とするものがあるのか否かを判断して、あるときには、ステップ9で、それに割り付けられるサービス名をサービスリストから取り外して退避させる。   That is, when the process of designating the first service list unit of the service list of the received message addressed to itself is executed in step 7, the remaining service list includes the local agent name as the delivery destination in step 8. In step 9, the service name assigned to the service name is removed from the service list and saved.

そして、自分宛のメッセージを受信するとき、ステップ5で、先頭のサービスリスト単位のサービス名が取り外されているのか否かを判断して、サービス名が取り外されていることを判断するときには、ステップ6で、その取り外したサービス名の処理を実行するのである。   When receiving a message addressed to itself, in step 5, it is determined whether or not the service name in the first service list unit has been removed, and when determining that the service name has been removed, In step 6, the removed service name is processed.

上述したことから分かるように、本発明では、メッセージを単一のやり取りとして捉えるのではなくて、様々なエージェントを辿る間に状態遷移していく一連のやり取りの流れを表すものとして捉えている。そして、そのメッセージがどういう状態遷移を得て、目的のエージェントに辿りつくのかというメッセージを中心とする視点で一連の処理の流れを定義するという、いわばメッセージ指向に立ったアプローチの技術思想に立っている。   As can be seen from the above description, in the present invention, a message is not regarded as a single exchange, but as a series of exchanges that undergo state transitions while following various agents. Based on the technical idea of a message-oriented approach, a series of processing flow is defined with a focus on the message of what state transition the message gets to reach the target agent. Yes.

この本発明のアプローチでは、様々な処理の手順を明示的に外部にくくり出すことで、従来であれば、仲介エージェントがまとめてやっていた処理を他のエージェントで処理したり、仲介エージェントが決めていた処理手順を他のエージェントで決めることが可能になり、メッセージのやり取りの回数についても効率が図られるという特徴がある。   In this approach of the present invention, various processing procedures are explicitly made externally difficult, so that processing conventionally performed by the mediating agent can be processed by another agent or determined by the mediating agent. The processing procedure that has been performed can be determined by another agent, and the number of message exchanges is also efficient.

しかしながら、メッセージに施される処理が全てサービスリストに書かれていることから、その内容が見られて悪用される恐れがある。また、サービスリストに処理内容を全て書くことで、メッセージの大きさが大きくなるということも起こる。更に、上述した代行処理により、他のエージェントが自分の実行すべき処理を代行して実行してしまうことで、セキュリティ上の問題が発生する可能性がある。   However, since all the processing performed on the message is written in the service list, the contents can be seen and misused. In addition, writing all the processing contents in the service list may increase the size of the message. Furthermore, there is a possibility that a security problem may occur when another agent performs the processing to be executed by the agent on behalf of the proxy processing described above.

そこで、この図21及び図22の処理フローでは、自分の所に戻ってくるメッセージについては、サービスリストに書かれている戻ってきた時点で実行する処理情報(サービス名や入力状態や出力状態)を他のエージェントに隠す構成を採っているのである。そして、自分の所に戻ってきた時点で、サービスリストを復元するという構成を採っているのである。   Therefore, in the processing flow of FIG. 21 and FIG. 22, processing information (service name, input state, and output state) that is executed when the message returns to its place is written back in the service list. Is hidden from other agents. The service list is restored when the user returns to his / her place.

ここで、自分の所に戻ってきた時点で実行する処理情報に続く他のエージェントの実行する処理情報についても、他のエージェントに隠す構成を採って、自分の所に戻ってきた時点で復元するという構成を採ってもよい。   Here, the processing information executed by other agents following the processing information executed when returning to his / her place is also concealed by other agents and restored when returning to his / her place. You may take the structure of.

サービスリストの復元は、具体的には、次のような仕組みにより実現される。すなわち、エージェントは、メッセージを送り出す前に、自分の所に戻ってきた時点で実行する処理情報を自エージェント内のサービスリストの保存プールに保存するとともに、送り出すサービスリストに対して、その保存した処理情報の代わりに、その保存した処理情報を参照するためのパラメータを付加する。そして、メッセージを受け取るときに、サービスリストに参照パラメータが記録されていて、それが自分の保存する処理情報の参照パラメータであることを判断するときには、その保存する処理情報をサービスリストに復元することで行う。   Specifically, the restoration of the service list is realized by the following mechanism. That is, before sending a message, the agent saves processing information to be executed when it returns to its place in the service list storage pool in its own agent, and for the service list to be sent, the saved processing. Instead of information, a parameter for referring to the stored processing information is added. When the message is received, the reference parameter is recorded in the service list, and when it is determined that it is the reference parameter of the processing information to be stored, the processing information to be stored is restored to the service list. To do.

この図21及び図22の処理フローに従うと、他のエージェントに自処理の内容を隠すことができ、他のエージェントに自処理を代行されてしまうことを防げ、メッセージの大きさを小さくできるという利点の他に、別のシステム空間(別の知識空間)に入り込むときに、その入り込む際に用いられるエージェントを経由して元のシステム空間に戻ることを保証するというような機能が実現可能になる。   According to the processing flow of FIG. 21 and FIG. 22, the contents of the self-processing can be hidden by other agents, the self-processing can be prevented from being delegated to other agents, and the size of the message can be reduced. In addition, when entering another system space (another knowledge space), it is possible to realize a function that guarantees that the user returns to the original system space via the agent used for entering.

図22に、データベースエージェント200/第1の翻訳エージェント600/第2の翻訳エージェント700/統合エージェント800の実行する処理フローの他の一例を図示する。   FIG. 22 shows another example of the processing flow executed by the database agent 200 / first translation agent 600 / second translation agent 700 / integrated agent 800.

この処理フローと図10の処理フローとの違いは、図10の処理フローでは、先頭のサービスリスト単位の処理を実行した後、そのサービスリスト単位を削除するだけの構成を採ったが、この処理フローでは、処理の実行結果に応じて、残りのサービスリストを修正した方がよいときには、それを修正する構成を採っている点である。   The difference between this processing flow and the processing flow of FIG. 10 is that the processing flow of FIG. 10 has a configuration in which the processing of the first service list unit is executed and then the service list unit is deleted. In the flow, when it is better to modify the remaining service list in accordance with the execution result of the process, a configuration is adopted in which it is modified.

すなわち、ステップ5で、受信した自分宛のメッセージの持つサービスリストの先頭のサービスリスト単位の指定する処理を実行すると、ステップ6で、その実行結果によりサービスリストを修正した方がよいのか否かを判断して、修正した方がよいことを判断するときには、ステップ8で、サービスリストを修正するのである。   That is, in step 5, when the process for specifying the head service list unit of the service list of the received message addressed to itself is executed, it is determined in step 6 whether or not the service list should be corrected based on the execution result. If it is determined that it should be corrected, the service list is corrected in step 8.

旅行のエージェント処理を実行するエージェントシステムを具体例にして説明するならば、当初は、どの飛行会社のフライトを利用するというような制約のないサービスリストが作成されているときに、ホテルの予約を行うエージェントが、予約のとれたホテルと契約する特定の飛行会社のフライトに割り引きの優遇措置があることを判断すると、フライトの予約を行うエージェントに送信するサービスリストの配送先のエージェント名を、その割り引きの優遇措置の使える飛行会社に限定するような修正を行うのである。   In the case of a specific example of an agent system that executes agent processing for travel, initially, when an unrestricted service list such as which airline's flights are used is created, hotel reservations are made. If the agent doing this determines that there is a discount incentive for the flight of a particular airline that is contracting with the hotel that has been booked, the name of the agent in the service list to be sent to the agent making the flight reservation will be The amendment is limited to airlines that can use discount incentives.

この処理フローに従うと、当初作成したサービスリストを適切なものに動的に変更できることで、より実用的なエージェントシステムを構築できるようになる。   According to this processing flow, the service list created initially can be dynamically changed to an appropriate one, so that a more practical agent system can be constructed.

次に、サービスリストの詳細化について説明する。   Next, details of the service list will be described.

本発明では、抽象レベルのサービスリストが作成されると、アドバタイズ情報などにより得られるシステムの持つ知識に従って、これを詳細化することになる。   In the present invention, when an abstract level service list is created, it is refined according to the knowledge of the system obtained from advertisement information and the like.

このサービスリストの詳細化は、一か所のエージェントで行うことも可能であるが、後続の1つ又は複数のエージェントにその一部の詳細化を委ねる形で実行する方法を採ることもある。サービスをよりよく知った後続のエージェントが、サービスリストを詳細化していくことが効率的であるし、メッセージの処理がある程度進んだ時点で、サービスリストを詳細化していくことが効率的なことがあるからである。   The details of the service list can be performed by a single agent, but a method may be employed in which the details are partially entrusted to one or more subsequent agents. It is efficient for subsequent agents who know the service better to refine the service list, and it is more efficient to refine the service list once the message processing has progressed to some extent. Because there is.

例えば、ホテル予約とフライト予約とからなる旅行のエージェント処理を実行するときに、図24に示すように、プラニングエージェントが、「* 旅行の検索」という抽象レベルのサービスリストを受け取ると、この抽象レベルのサービスリストを「C社ホテル検索/B社フライト検索」というように詳細化して、それをホテル検索エージェントとフライト検索エージェントに渡していくようにすることで、C社ホテルの予約とB社フライトの予約を実現するという方法を採ってもよい。 For example, when executing a travel agent process consisting of a hotel reservation and a flight reservation, as shown in FIG. 24, when the planning agent receives an abstract level service list of “ * travel search”, this abstract level By refining the service list of “C company hotel search / B company flight search” and passing it to the hotel search agent and flight search agent, C company hotel reservation and B company flight You may take the method of realizing the reservation.

あるいは、図25に示すように、プラニングエージェントが、「* 旅行の検索」という抽象レベルのサービスリストを受け取ると、この抽象レベルのサービスリストを「* ホテル検索/* フライト検索」というように一部詳細化し、これを受けて、ホテル検索エージェントが、「C社ホテル検索/* フライト検索」というように一部詳細化してC社ホテルを検索し、フライト検索エージェントが、「B社フライト検索」というように詳細化することでB社フライトを検索して、C社ホテルの予約とB社フライトの予約を実現するという方法を採ってもよいのである。 Alternatively, as shown in FIG. 25, when the planning agent receives an abstract level service list of “ * travel search”, the abstract level service list is partially set as “ * hotel search / * flight search”. In response to this, the hotel search agent searches for a C company hotel in some detail, such as “Company C Hotel Search / * Flight Search”, and the flight search agent calls “Company B Flight Search”. By refining in such a manner, a method may be adopted in which a company B flight is searched and a company C hotel reservation and a company B flight reservation are realized.

これらの方法を採るときに、アルゴリズムの異なる複数のプラニングエージェントを使ってプラニングを行い、その結果をマージしてユーザに通知する方法を採ることも可能である。   When adopting these methods, it is also possible to perform a plan using a plurality of planning agents having different algorithms, merge the results, and notify the user.

サービスリストの詳細化を一度に行わなくてもよいことから、本発明に従うと、1つのシステムから別のシステムに入り込んでそれを利用できるので、知識の分散管理を実現でき、また、分散管理される知識を簡単に利用できるという特徴がある。   Since it is not necessary to refine the service list all at once, according to the present invention, since one system can enter and use another system, distributed management of knowledge can be realized and distributed management can be performed. The feature is that the knowledge can be easily used.

すなわち、他のシステムの持つ知識の全てを知らなくても、その一部の知識を入手できる場合には、そこまでの知識を使ってサービスリストの詳細化を行うことで、そのシステムに入り込み、その後は、そのシステム内でサービスリストの詳細化を行ってもらって、その詳細化されたサービスリストによる処理結果を受け取ることで、そのシステムの持つ知識の全てを知らなくてもそのシステムを利用できるので、知識の分散管理を実現でき、また、分散管理される知識を簡単に利用できるという特徴がある。   In other words, even if you do not know all the knowledge of other systems, if you can obtain a part of that knowledge, you can use that knowledge to refine the service list to enter that system, After that, you can refine the service list in the system and receive the processing results from the refined service list, so you can use the system without knowing all the knowledge of the system The distributed management of knowledge can be realized, and the knowledge that is distributed and managed can be easily used.

例えば、図26に示すように、組織Aのデータベースと組織Bのデータベースとがある場合に、組織Bの仲介エージェントが、組織Aの持つ仲介エージェントの知識以外に組織Aの持つデータベースに関する知識を持たなくても、組織Aの仲介エージェントに対してサービスリストの詳細化を依頼して、その詳細化されたサービスリストによる処理結果を受け取ることで、組織Aの持つデータベースにアクセスできるのである。   For example, as shown in FIG. 26, when there are an organization A database and an organization B database, the mediation agent of organization B has knowledge about the database of organization A in addition to the knowledge of mediation agent of organization A. Even if it is not, the database of organization A can be accessed by requesting the mediation agent of organization A to refine the service list and receiving the processing result of the detailed service list.

この図26について詳細に説明するならば、組織Bのユーザエージェントが、組織Bの仲介エージェントに検索要求のメッセージを送る。この時点では、サービスが検索要求であることを指定し、どのエージェントに検索要求を配送するかは未定義である。   26 will be described in detail. The user agent of the organization B sends a search request message to the mediation agent of the organization B. At this point, it is specified that the service is a search request, and to which agent the search request is delivered is undefined.

組織Bの仲介エージェントは、サービスと知識に基づいて、検索要求のある自組織のデータベースのエージェントを選び出す。このとき、組織Aの仲介エージェントも選び出す。続いて、各サービスを詳細化する。自組織のデータベースのエージェントについては、「検索→統合→ユーザ」といったような詳細化を行い、組織Aの仲介エージェントについては、「* 検索」という抽象レベルの詳細化を行う。この後、詳細化したサービスリストを持つメッセージを他エージェントに送る。このとき、組織Aの仲介エージェントに送るメッセージについては、組織Aの知識空間に合った形式に変換して送る。 Based on the service and knowledge, the mediation agent of organization B selects the agent in its own database that has a search request. At this time, the mediation agent of organization A is also selected. Next, each service is detailed. For the agent of the database of its own organization, the details such as “search → integration → user” are performed, and for the intermediary agent of the organization A, the abstraction level of “ * search” is performed. Thereafter, a message having a detailed service list is sent to another agent. At this time, the message to be sent to the mediation agent of organization A is sent after being converted into a format suitable for the knowledge space of organization A.

組織Aの仲介エージェントは、組織Bの仲介エージェントからのメッセージを受け取ると、サービスと知識に基づいて、検索要求のある自組織のデータベースのエージェントを選び出して、「検索→変換→統合→ユーザ」といったような詳細化を行ってから、メッセージを他エージェントに送る。   Upon receiving a message from the mediation agent of organization B, the mediation agent of organization A selects an agent in its own database that has a search request based on the service and knowledge, and “search → conversion → integration → user” or the like. Send the message to the other agent after making the details.

この詳細化されたサービスリストにより組織Aのデータベースが検索され、その検索結果が組織Aの変換エージェントを介して組織Bの統合エージェントに戻されて、組織Bのユーザエージェントを操作するユーザは、組織Aのデータベースについても検索対象とすることができるようになる。   The database of organization A is searched by this detailed service list, the search result is returned to the integration agent of organization B via the conversion agent of organization A, and the user who operates the user agent of organization B The database A can also be a search target.

最後に、本発明の扱う知識分散について説明する。   Finally, knowledge distribution handled by the present invention will be described.

仲介エージェントによる仲介環境は、異種のアプリケーションを結び付けるための強力なアプローチである。この仲介環境をまとめると次のようになる。   The mediation environment with mediation agents is a powerful approach for linking disparate applications. The intermediary environment is summarized as follows.

各アプリケーションに対応したエージェントを作成し、それらの扱う知識をモデル化する。すなわち、何をしているのかという定義を宣言的に与え、扱うデータや知識の形式について一定の記述を用意する。   Create agents for each application and model the knowledge they handle. In other words, the definition of what is being done is given declaratively, and a fixed description is prepared for the data and knowledge format to be handled.

そして、作成したモデルに従ってアクセスされるように、各エージェントは、自分が何をするものか、どのような形式に従ってやり取りを受け付けることができるのかということを仲介エージェントに通知する。   Then, each agent notifies the mediating agent of what it does and how it can accept the exchange so that it can be accessed according to the created model.

この通知される知識に基づいて、仲介エージェントは、相手に応じたやり取りの変換や、メッセージを伝える相手のエージェントの選択を行う。それとともに、仲介エージェントは、個々のエージェントの処理に基づいて、より大きな処理の流れを組み立てる。例えば、メッセージを変換してから適切なエージェントに送り、返ってくるメッセージを変換して質問元のエージェントに回答するといったような処理の流れを生成するのである。この組み立ては、推論で行ったり、予め与えられる情報を使って行うことになる。   Based on the notified knowledge, the mediating agent converts the exchange according to the partner and selects the partner agent to which the message is transmitted. At the same time, the mediating agent assembles a larger processing flow based on the processing of individual agents. For example, a process flow is generated in which the message is converted and then sent to an appropriate agent, the returned message is converted and the questioning agent is answered. This assembly is performed by inference or using information given in advance.

この仲介環境で、他のエージェントと通信できるということは、少なくとも、そのエージェントの出してくる入出力の形式や、そのエージェントで使っている言葉などを知識として知っておく必要がある。   In order to be able to communicate with other agents in this intermediary environment, it is necessary to know at least the input / output format of the agent and the words used by the agent as knowledge.

このような仲介環境でモデルを構築していく場合、いずれ同じようなモデル空間(知識空間)があちらこちらにできることが起こる。そうすると、モデル空間同士を結び付ける必要がでてくる。その場合、全体を再設計するのは不可能である。また、それぞれのモデル空間は別々の管理下にあり、結び付けた後も、それぞれ勝手に変更される可能性がある。   When a model is constructed in such an intermediary environment, a similar model space (knowledge space) can be created here and there. Then, it is necessary to connect the model spaces. In that case, it is impossible to redesign the whole. In addition, each model space is under separate management, and even after being connected, there is a possibility that each model space may be changed arbitrarily.

これから、モデル空間を結び付けるときに、それぞれが持つ知識空間を分散して管理できることが機能として必要になってくる。このモデル空間の結び付きも様々である。階層化された結び付き方もあるし、特定の詳細化されたモデル空間にぶら下がって見えるような結び付き方もある。   From now on, when connecting model spaces, it becomes necessary as a function to be able to manage each knowledge space in a distributed manner. There are also various connections in this model space. There is a hierarchical connection method, and there is a connection method that seems to hang down in a specific detailed model space.

このような分散されたモデル空間を結び付ける要求に対して、本発明は極めて有効な手段を提供している。   The present invention provides a very effective means for the requirement of connecting such distributed model spaces.

すなわち、本発明で用いるサービスリストは、その詳細化を後続のエージェントに委ねることが可能である。これから、別のモデル空間の全てを知る必要がなく、そのモデル空間への窓口となるエージェント(図26に示す組織Aの仲介エージェントのようなエージェント)についての知識さえあれば、そのエージェントにサービスリストを持つメッセージを送ることができ、その後は、そのモデル空間の知識に従ってサービスリストを詳細化してもらうことで、そのモデル空間に入り込むことが可能になるからである。   In other words, the service list used in the present invention can be left to the subsequent agent for details. From now on, it is not necessary to know all of another model space, and if there is knowledge about an agent (an agent such as an intermediary agent of organization A shown in FIG. 26) that serves as a window to that model space, a service list is sent to that agent. This is because it is possible to enter the model space by having the service list refined according to the knowledge of the model space after that.

このように、本発明は、分散されたモデル空間を分散環境を壊さずに結び付けることを可能にするので、ネットワークを介して接続されるソフトウェアを連携させるあらゆるシステムに対して、その適用が可能になる。   As described above, the present invention makes it possible to link the distributed model spaces without destroying the distributed environment, so that the present invention can be applied to any system that links software connected via a network. Become.

図示実施例に従って、本発明を説明したが、本発明はこれに限定されるものではない。例えば、本発明は、狭義のエージェントにその適用が限られるものではなくて、分散された環境の下でメッセージのやり取り行う全てのソフトウェアに対してそのまま適用できるのである。   Although the present invention has been described according to the illustrated embodiment, the present invention is not limited to this. For example, the present invention is not limited to an agent in a narrow sense and can be applied as it is to all software that exchanges messages in a distributed environment.

本発明の原理構成図である。It is a principle block diagram of this invention. 本発明の説明図である。It is explanatory drawing of this invention. 本発明の適用されるシステムの説明図である。It is explanatory drawing of the system to which this invention is applied. サービスリストの説明図である。It is explanatory drawing of a service list. メッセージの説明図である。It is explanatory drawing of a message. 用語変換の説明図である。It is explanatory drawing of term conversion. ユーザエージェントの実行する処理フローである。It is the processing flow which a user agent performs. 仲介エージェントの実行する処理フローである。It is the processing flow which a mediation agent performs. 仲介エージェントの実行する処理フローである。It is the processing flow which a mediation agent performs. エージェントの実行する処理フローである。It is the processing flow which an agent performs. 統合エージェントの実行する処理フローである。It is the processing flow which an integrated agent performs. 統合エージェントの実行する処理フローである。It is the processing flow which an integrated agent performs. メッセージの一例である。It is an example of a message. メッセージの一例である。It is an example of a message. 実施例の処理説明図である。It is process explanatory drawing of an Example. メッセージの一例である。It is an example of a message. メッセージの一例である。It is an example of a message. メッセージの一例である。It is an example of a message. エージェントの実行する処理フローである。It is the processing flow which an agent performs. メッセージの一例である。It is an example of a message. エージェントの実行する処理フローである。It is the processing flow which an agent performs. エージェントの実行する処理フローである。It is the processing flow which an agent performs. エージェントの実行する処理フローである。It is the processing flow which an agent performs. サービスリストの詳細化の説明図である。It is explanatory drawing of detailing of a service list. サービスリストの詳細化の説明図である。It is explanatory drawing of detailing of a service list. 知識の分散管理の説明図である。It is explanatory drawing of distributed management of knowledge. 仮想カタログシステムの説明図である。It is explanatory drawing of a virtual catalog system. 仲介エージェントの機能を分散したシステムの説明図である。It is explanatory drawing of the system which distributed the function of the mediation agent.

符号の説明Explanation of symbols

1a 第1のエージェント装置
1b 第2のエージェント装置
1c 第3のエージェント装置
10 生成手段
11 送信手段
20 受信手段
21 抽出手段
22 詳細化手段
23 送信手段
30 受信手段
31 抽出手段
32 実行手段
33 削除手段
34 送信手段
35 保存手段
36 修正手段
37 判断手段
38 除外手段
39 復帰手段
40 収集手段
DESCRIPTION OF SYMBOLS 1a 1st agent apparatus 1b 2nd agent apparatus 1c 3rd agent apparatus 10 Generation means 11 Transmission means 20 Reception means 21 Extraction means 22 Refinement means 23 Transmission means 30 Reception means 31 Extraction means 32 Execution means 33 Deletion means 34 Transmission means 35 Storage means 36 Correction means 37 Judgment means 38 Exclusion means 39 Restoration means 40 Collection means

Claims (4)

マルチエージェントシステムで用いられるエージェント装置において、
他エージェント装置から送られてくる、検索内容を示す検索要求メッセージを受信する受信手段と、
上記受信手段の受信した検索要求メッセージに付加され、該メッセージの配送先情報と該メッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを抽出する抽出手段と、
上記検索要求メッセージに含まれた上記検索内容を抽出し、複数のデータベースエージェント装置の能力情報に関する知識に基づいて、上記検索内容に対応するデータベースエージェント装置を選択する選択手段と、
上記選択手段で複数のデータベースエージェント装置が選択されたか否かを判断し、複数選択されたと判断された場合は、上記抽出手段で抽出したサービスリストに、該複数のデータベースエージェント装置の検索結果を統合する統合エージェント装置を指定した配送先情報と、それらの検索結果を統合するよう指示する処理情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成する詳細化手段と、
上記受信手段の受信した検索要求メッセージに、上記詳細化手段の作成した上記詳細化サービスリストを付加して、上記選択手段の選択した複数のデータベースエージェント装置に送信する送信手段と
を備えることを特徴とするエージェント装置。
In an agent device used in a multi-agent system,
That will transmitted from another agent apparatus, a receiving means for receiving a search request message to indicate searches,
Is added to the search request message received in said receiving means, an extraction means for extracting destination information and the service list defined by the connection of the pair data of the specified processing information of the message of the message,
Selecting means for extracting the search content included in the search request message and selecting a database agent device corresponding to the search content based on knowledge about capability information of a plurality of database agent devices;
It is determined whether or not a plurality of database agent devices are selected by the selection means. If it is determined that a plurality of database agent devices are selected, the search results of the plurality of database agent devices are integrated into the service list extracted by the extraction means. and shipping information specifying an integrated agent apparatus, a detailed means to create a refinement service list obtained by adding a service list that combine the processing information for instructing to integrate those search results,
The received search request message the receiving means, by adding the refinement service list created in the refinement means, further comprising a transmitting means for transmitting to a plurality of databases Agent device selected in the selection means the agent device to feature.
請求項1に記載のエージェント装置において、
上記受信した検索要求メッセージのサービスリストには、検索結果の出力における用語体系種別が含まれ、
上記詳細化手段は、上記検索結果の出力における用語体系種別と、上記選択された複数のデータベースエージェント装置の各々が使用する用語体系種別とが異なるか否かを判断し、用語体系種別が異なると判断されたデータベースエージェント装置に対しては、上記受信した検索要求メッセージに付加された検索処理を指定するサービスリストの前後に、該両者の用語体系種別を変換することを指示する処理情報と、該変換を処理する翻訳エージェント装置を指定した配送先情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成する
ことを特徴とするエージェント装置。
The agent device according to claim 1,
The service list of the received search request message includes the term system type in the output of the search result,
The detailed means determines whether the term system type in the output of the search result is different from the term system type used by each of the selected plurality of database agent devices. For the determined database agent device, before and after the service list designating the search processing added to the received search request message, processing information for instructing conversion of both terminology types, and agent device to feature a <br/> creating a refined list of services added to the service list of a combination of a specified delivery destination information translated agent device to handle the conversion.
マルチエージェントシステムで用いられるエージェント装置の実現に用いられるプログラムが記録されるプログラム記録媒体であって、
他エージェント装置から送られてくる、検索内容を示す検索要求メッセージを受信する受信処理と、
上記受信処理で受信した検索要求メッセージに付加され、該メッセージの配送先情報と該メッセージの指定する処理情報との対データの繋がりで定義されるサービスリストを抽出する抽出処理と、
上記検索要求メッセージに含まれた上記検索内容を抽出し、複数のデータベースエージェント装置の能力情報に関する知識に基づいて、上記検索内容に対応するデータベースエージェント装置を選択する選択処理と、
上記選択処理で複数のデータベースエージェント装置が選択されたか否かを判断し、複数選択されたと判断された場合は、上記抽出処理で抽出したサービスリストに、該複数のデータベースエージェント装置の検索結果を統合する統合エージェント装置を指定した配送先情報と、それらの検索結果を統合するよう指示する処理情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成する詳細化処理と、
上記受信処理で受信した検索要求メッセージに、上記詳細化処理で作成した上記詳細化サービスリストを付加して、上記選択処理で選択した複数のデータベースエージェント装置に送信する送信処理と
をコンピュータに実行させるプログラムが記録されることを特徴とするプログラム記録媒体。
A program recording medium for recording a program used to realize an agent device used in a multi-agent system,
That will transmitted from another agent apparatus, a receiving process of receiving a search request message to indicate searches,
Is added to the search request message received by the receiving process, an extraction process of extracting the destination information and the service list defined by the connection of the pair data of the specified processing information of the message of the message,
A selection process for extracting the search content included in the search request message and selecting a database agent device corresponding to the search content based on knowledge about capability information of a plurality of database agent devices;
It is determined whether or not a plurality of database agent devices are selected in the selection process. If it is determined that a plurality of database agent devices are selected, the search results of the plurality of database agent devices are integrated into the service list extracted in the extraction process. and shipping information specifying an integrated agent apparatus, and their search results to create a refinement service list obtained by adding a service list that combine the processing information for instructing to integrate refinement process,
The search request message received by the receiving process, by adding the refinement service list created in the refinement process, perform a transmission processing to a computer to be sent to multiple databases Agent device selected in the selection process program recording medium according to feature that a program to is recorded.
請求項3に記載のプログラム記録媒体において、The program recording medium according to claim 3,
上記受信した検索要求メッセージのサービスリストには、検索結果の出力における用語体系種別が含まれ、The service list of the received search request message includes the term system type in the output of the search result,
上記詳細化処理は、上記検索結果の出力における用語体系種別と、上記選択された複数のデータベースエージェント装置の各々が使用する用語体系種別とが異なるか否かを判断し、用語体系種別が異なると判断されたデータベースエージェント装置に対しては、上記受信した検索要求メッセージに付加された検索処理を指定するサービスリストの前後に、該両者の用語体系種別を変換することを指示する処理情報と、該変換を処理する翻訳エージェント装置を指定した配送先情報とを組み合わせたサービスリストを付加した詳細化サービスリストを作成するThe detailed processing determines whether the term system type in the output of the search result is different from the term system type used by each of the selected plurality of database agent devices. For the determined database agent device, before and after the service list designating the search processing added to the received search request message, processing information for instructing conversion of both terminology types, and Create a detailed service list with a service list combined with delivery destination information that specifies the translation agent device that handles the conversion
ことを特徴とするプログラム記録媒体。A program recording medium characterized by the above.
JP2006128843A 2006-05-08 2006-05-08 Agent device and program recording medium Expired - Fee Related JP4377390B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006128843A JP4377390B2 (en) 2006-05-08 2006-05-08 Agent device and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128843A JP4377390B2 (en) 2006-05-08 2006-05-08 Agent device and program recording medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP34595597A Division JP3892558B2 (en) 1997-12-16 1997-12-16 Agent device and program recording medium

Publications (2)

Publication Number Publication Date
JP2006318462A JP2006318462A (en) 2006-11-24
JP4377390B2 true JP4377390B2 (en) 2009-12-02

Family

ID=37539037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128843A Expired - Fee Related JP4377390B2 (en) 2006-05-08 2006-05-08 Agent device and program recording medium

Country Status (1)

Country Link
JP (1) JP4377390B2 (en)

Also Published As

Publication number Publication date
JP2006318462A (en) 2006-11-24

Similar Documents

Publication Publication Date Title
JP3892558B2 (en) Agent device and program recording medium
US8423514B2 (en) Service provisioning
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
CN101146106B (en) Concatenation discovery web service
Wiederhold et al. The Basis for Mediation.
US8275775B2 (en) Providing web services from business intelligence queries
Chiu et al. Towards ubiquitous tourist service coordination and process integration: A collaborative travel agent system architecture with semantic web services
EP2075746A1 (en) Systems and/or methods for managing transformations in enterprise application integration and/or business processing management environments
JP2003528362A (en) Knowledge management system for dynamic distributed problem solving
JP2009544078A (en) System and method for providing remote access to events from a database access system
JPH06332710A (en) Object directional data processing system
JP2011204228A (en) Mashup infrastructure with learning mechanism
CN101146105A (en) Discovery web service
US20110172990A1 (en) Knowledge Utilization
Ciuciu et al. Semantic support for security-annotated business process models
Mohammed et al. GraphQL patient case presentation using the problem oriented medical record schema
Zamite et al. MEDCollector: Multisource epidemic data collector
Di Martino et al. A semantic model for business process patterns to support cloud deployment
Zhao et al. An ontology-based approach to business modelling
CN109074403A (en) Operation management device, operation management method and operation management system
JP4377390B2 (en) Agent device and program recording medium
US8204920B2 (en) Method and system for accessing software-based systems
da Silva Santos et al. Gso: Designing a well-founded service ontology to support dynamic service discovery and composition
Nodine et al. An Overview of Active Information Gathering in InfoSleuthTM
JP2013033352A (en) Program creation device, and method and program thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20081125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090908

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090910

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees