JPH11212931A - Program cooperation method - Google Patents

Program cooperation method

Info

Publication number
JPH11212931A
JPH11212931A JP1855498A JP1855498A JPH11212931A JP H11212931 A JPH11212931 A JP H11212931A JP 1855498 A JP1855498 A JP 1855498A JP 1855498 A JP1855498 A JP 1855498A JP H11212931 A JPH11212931 A JP H11212931A
Authority
JP
Japan
Prior art keywords
program
command
function
cooperation
programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1855498A
Other languages
Japanese (ja)
Inventor
Tetsuya Hashimoto
哲也 橋本
Tatsuto Aoshima
達人 青島
Nobuo Kureyama
伸夫 紅山
Toshihiro Nakaminami
俊弘 中南
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1855498A priority Critical patent/JPH11212931A/en
Publication of JPH11212931A publication Critical patent/JPH11212931A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a means which detects a proper program as the opposite party of cooperation in its execution mode and a means which can effectively perform the communication among plural programs in a system where a task is carried out by these programs working in cooperation with each other. SOLUTION: A cooperation promoter 101 is prepared to support the cooperation processing among programs and can detect a program that can attain a specific function or a combination of other programs in their execution modes via a retrieval processing part 103, a command analysis part 105, a program management part 104 and the command extension parts 108, 109 and 110. A communication control part 102 has a function to execute the communication processing related to cooperation among those programs.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プログラムの連携
方法に関し、特に、一つまたは複数の計算機上の複数の
プログラムが協調して一つのタスクを行う場合のプログ
ラムの連携方法に関する。
The present invention relates to a method of linking programs, and more particularly to a method of linking programs when a plurality of programs on one or more computers cooperate to perform one task.

【0002】[0002]

【従来の技術】複数のプログラムを連携させて一つのタ
スクを行わせるシステムにおける主要な課題は、連携相
手となるプログラムを見つける方法と、プログラム間の
通信処理を行わせる方法である。
2. Description of the Related Art A major problem in a system in which a plurality of programs are linked to perform one task is a method of finding a program to be linked and a method of performing communication processing between the programs.

【0003】従来、連携相手となるプログラムを見つけ
る方法としては、最も単純な場合、すなわちあらかじめ
連携相手が決まっている場合はプログラム中にその相手
の情報を記述しておく方法がとられ、また、事前に連携
相手の所在が分からない場合は、プログラムの情報を管
理するサーバに何らかの情報をキーにして、連携する相
手を問い合わせるのが一般的である。
Conventionally, as a method of finding a program to be a cooperating partner, the simplest case, that is, a method of describing information of the cooperating partner in a program when a cooperating partner has been determined in advance, has been adopted. If the location of the partner to be linked is not known in advance, it is common to ask the server that manages the program information for the partner to link using some information as a key.

【0004】例えば、マルチエージェントシステムに関
する研究分野では、「〜エージェントの基礎と応用〜
エージェント指向コンピューティング」、木下哲男、菅
原研次、ソフト・リサーチ・センターpp.103-109、に述
べられているように協調促進器(ファシリテータ(Facil
itator))という協調処理を支援する機構を介して、複
数のエージェントすなわちプログラムを連携させる方法
が紹介されている。
[0004] For example, in the field of research on multi-agent systems, "~ Basic and application of agents ~
Agent-Oriented Computing ”, Tetsuo Kinoshita, Kenji Sugawara, Soft Research Center pp.103-109 (Facilitator
It introduces a method of linking a plurality of agents, that is, programs, via a mechanism that supports cooperative processing called itator)).

【0005】また、同書のpp.46-51には契約ネットとい
う手法が紹介されている。これはマネージャと呼ばれる
モジュールがタスクを部分タスクに分割(タスク分割)
し、部分タスクを実行できるモジュール(コントラク
タ)を公募し、入札してきたもののなかから実際に処理
を実行させるコントラクタを決定し、契約を結び処理さ
せる方法である。
[0005] Also, a method called a contract net is introduced in pp.46-51 of the same book. This is a module called manager that divides a task into partial tasks (task division)
Then, a module (contractor) that can execute a partial task is solicited, a contractor that actually executes the process is determined from the bidders, and a contract is concluded and the process is executed.

【0006】しかし、いずれの方法に対しても、例えば
どのようにタスク分割を実行して、あるタスクを実行で
きるプログラムの組み合わせを見つけて、連携処理させ
るかなどの一般的に通用する具体的な方法は提示されて
いない。
[0006] However, in any method, for example, how to execute task division, find a combination of programs that can execute a certain task, and perform a cooperative process is a specific general method. No method is given.

【0007】また、プログラム間の連携処理は個々のプ
ログラム中に記述する必要があった。このため類似の機
能を持つが、バージョンが異なるため提供機能のレベル
の異なる複数のプログラムと連携する場合には、処理を
依頼する側が相手のバージョンを意識し、場合によって
は相手のバージョンによって異なる処理を記述する必要
があった。このため、クライアントプログラムの開発が
複雑になったり、あるサーバプログラムの機能が拡張さ
れてもクライアントプログラムを大幅に改変しなければ
ならず、システムの拡張が困難であるという問題があっ
た。
[0007] Further, the cooperative processing between programs has to be described in each program. Therefore, when cooperating with multiple programs that have similar functions but different levels of provided functions due to different versions, the processing requester is aware of the partner's version, and in some cases, the processing differs depending on the partner's version Had to be described. For this reason, even if the development of the client program becomes complicated or the function of a certain server program is expanded, the client program must be significantly modified, and there is a problem that it is difficult to expand the system.

【0008】また、複数のプログラムへのメッセージの
送信や、複数のプログラムからのメッセージの待ち合わ
せ処理なども個々のプログラム中に記述する必要があっ
た。これは、個々のプログラムの開発を煩雑にし、プロ
グラムのサイズを肥大化させる原因になっている。この
点は、特にシステムが分散ネットワーク環境で運用さ
れ、他の複数のプログラムと協調する必要のあるプログ
ラムが携帯端末などの計算能力が比較的低い計算機で実
行され、接続されているネットワークの通信速度が遅い
場合などには問題である。
Further, transmission of messages to a plurality of programs, queuing of messages from a plurality of programs, and the like also need to be described in each program. This complicates the development of individual programs and causes the size of the programs to increase. This is especially true when the system is operated in a distributed network environment, programs that need to cooperate with multiple other programs are executed on computers with relatively low computing power, such as mobile terminals, and the communication speed of the connected network This is a problem when the speed is slow.

【0009】また、システムを複数の開発者が拡張して
いく場合、現在システム全体としてどのような機能が提
供されているかを実行時に動的に知る手段がなく、重複
開発や提供されている機能が有効活用されないという問
題があった。
Further, when a plurality of developers extend the system, there is no means for dynamically knowing what kind of function is currently provided as a whole system at the time of execution. Was not effectively utilized.

【0010】これらの問題を解決するための方法は提示
されていない。
No method has been proposed to solve these problems.

【0011】[0011]

【発明が解決しようとする課題】前述した通り、複数の
プログラムを協調させて一つのタスクを行わせるシステ
ムを構築する場合には、連携相手を見つけるための方法
と連携処理の記述方法が課題となる。
As described above, when constructing a system in which a plurality of programs cooperate to perform one task, a method for finding a cooperating partner and a method for describing cooperative processing are problems. Become.

【0012】本発明の第1の目的は、複数のプログラム
と連携してタスクを遂行するシステムにおいて、あるプ
ログラムが、特定の機能を実現することのできるプログ
ラムや、その機能を実現することのできる複数のプログ
ラムの組み合わせを実行時に効率良く発見し、連携する
手段を提供することである。
A first object of the present invention is to provide a system that performs a task in cooperation with a plurality of programs, in which a certain program can realize a specific function, or can realize the function. An object is to provide a means for efficiently finding a combination of a plurality of programs at the time of execution and cooperating with each other.

【0013】本発明の第2の目的は、サーバプログラム
がある機能を提供していない場合に、サーバプログラム
と別のプログラムを連携させることにより、そのサーバ
プログラムがその機能を提供しているかのようにみせか
け、クライアントプログラムからは、その機能を提供し
ているサーバプログラムに対するのと同じ方法で連携を
とることができるようにするプログラム連携手段を提供
することである。
[0013] A second object of the present invention is to link a server program with another program when the server program does not provide the function, so that the server program provides the function. It is an object of the present invention to provide a program linking means that enables a client program to link in the same way as a server program providing its function.

【0014】本発明の第3の目的は、個々のプログラム
からプログラム連携に関わる複雑な処理を分離し、複数
のプログラムと連携するプログラムの開発を容易にする
ような方法を提供することである。
[0014] A third object of the present invention is to provide a method for separating complicated processing relating to program cooperation from individual programs and facilitating the development of a program cooperating with a plurality of programs.

【0015】本発明の第4の目的は、複数のプログラム
の連携処理に時間がかかる場合、処理依頼元のプログラ
ムと他のプログラムの間の通信が切断されても処理が続
行されるようなプログラム連携手段を提供することであ
る。
A fourth object of the present invention is to provide a program which can continue processing even if communication between a processing requesting program and another program is cut off when it takes time to cooperate with a plurality of programs. It is to provide cooperation means.

【0016】本発明の第5の目的は、ある時点でシステ
ム上で実現できる機能の一覧をプログラム開発者が知る
ための手段を提供することである。
A fifth object of the present invention is to provide a means for a program developer to know a list of functions that can be realized on a system at a certain point in time.

【0017】[0017]

【課題を解決するための手段】本発明によれば、上記の
課題は、検索処理部、プログラム管理部、コマンド解析
部および通信制御部から構成される協調促進器により解
決される。
According to the present invention, the above object is attained by a coordinator which comprises a search processing section, a program management section, a command analysis section and a communication control section.

【0018】プログラム管理部は、各プログラムがどの
ような機能を提供するかを管理し、検索処理部との連携
により、ある機能を実行するプログラムおよび複数のプ
ログラムの組み合わせを検索する手段を提供する。
The program management section manages what functions each program provides, and provides means for searching for a program that executes a certain function and a combination of a plurality of programs in cooperation with a search processing section. .

【0019】コマンド解析部は、あるプログラムがどの
ようなコマンドを処理することができるかどうかを解析
するとともに、ある機能を複数のプログラムを連携させ
て実行させることができる場合に、その連携方法を解析
し、実行する手段を提供する。また、コマンド解析部
は、あるプログラムが単独では実行できないタスクの処
理要求を受け付けた場合、他のプログラムと連携させる
ことで足りない機能を補完し、タスクを完了させること
ができるようにするための手段を提供する。
The command analysis unit analyzes what command can be processed by a certain program, and when a certain function can be executed in cooperation with a plurality of programs, the command analysis unit determines the cooperation method. Provides a means to analyze and execute. Further, the command analysis unit, when receiving a processing request for a task that cannot be executed by a single program, complements a missing function by cooperating with another program, and enables the task to be completed. Provide a means.

【0020】通信制御部は、複数のプログラムへのメッ
セージの送信やメッセージの待ち合わせなどのプログラ
ム連携に関わる煩雑な処理を代行するための機能を提供
する。
The communication control unit provides a function for performing complicated processes related to program cooperation, such as transmitting a message to a plurality of programs and waiting for a message.

【0021】また、通信制御部は、タスクを代行処理さ
せるための機能を提供する。代行を依頼する側は、タス
クの内容を通知することで代行処理の依頼を行い、後に
結果を取得することができる。
Further, the communication control section provides a function for executing a task on behalf of the task. The side requesting the substitution can request the substitution processing by notifying the contents of the task, and can acquire the result later.

【0022】また、コマンド解析部はプログラム管理部
と連携して、システム上でどのような機能を利用するこ
とができるかを調べるための手段を提供する。
The command analysis unit provides a means for checking what functions can be used on the system in cooperation with the program management unit.

【0023】[0023]

【発明の実施の形態】以下、図を用いて本発明の実施の
形態の一例を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0024】図1は、本発明を実施したときのシステム
構成例である。以下に各構成要素の機能の概略について
説明する。
FIG. 1 is an example of a system configuration when the present invention is implemented. The outline of the function of each component will be described below.

【0025】プログラム1、プログラム2からプログラ
ムNまでの複数のプログラムがコンピュータネットワー
ク114に接続している。協調促進器101は、プログ
ラム間の連携を行うために必要な機能を提供する特殊な
プログラムである。これらの各プログラムは、コンピュ
ータネットワーク114を通じて他のプログラムにメッ
セージを送ったり、他のプログラムからメッセージを受
け取る手段を有する。コンピュータネットワーク114
上には、プログラムは任意の数だけ設けることができ
る。
A plurality of programs 1, 2 and N are connected to the computer network 114. The cooperation facilitator 101 is a special program that provides a function necessary for performing cooperation between programs. Each of these programs has means for sending a message to another program via the computer network 114 and receiving a message from the other program. Computer network 114
Above, any number of programs can be provided.

【0026】協調促進器101以外のプログラムは、起
動時に協調促進器101に対して、自分が提供するサー
ビスや、そのサービスの中で実行することのできるコマ
ンドなどの自分のプログラムに関する情報を通知する。
この情報の内容については、後で図2を用いて説明す
る。
The programs other than the coordinator 101 notify the coordinator 101 of information on their own programs, such as services provided by the coordinator 101 and commands that can be executed in the service, at the time of startup. .
The contents of this information will be described later with reference to FIG.

【0027】協調促進器101は、他のプログラムに対
して、コンピュータネットワーク114上から特定の機
能を提供するプログラムを検索したり、それらのプログ
ラムに対してメッセージを転送するなどのプログラム間
の連携を柔軟に行わせるために必要な様々な機能を提供
する。
The coordination facilitator 101 searches for a program that provides a specific function from the computer network 114 with respect to other programs, and transmits a message to those programs to cooperate with each other. Provides various functions necessary for flexible operation.

【0028】例えば、協調促進器101を利用すること
により、ある機能を提供するプログラムの存在を実行時
に知ることができるため、各プログラムは事前に自分が
利用するプログラムを知っている必要は無い。このた
め、コンピュータネットワーク114上のプログラムの
構成を変更しても、プログラムの構成情報はプログラム
中に固定的に記述する必要がないので、各プログラムを
修正することなく動作させることができる。
For example, by using the coordination facilitator 101, the existence of a program providing a certain function can be known at the time of execution, so that each program does not need to know in advance the program used by itself. Therefore, even if the configuration of the program on the computer network 114 is changed, the configuration information of the program does not need to be fixedly described in the program, so that each program can be operated without being modified.

【0029】また、協調促進器101は、クライアント
からあるタスクの処理を依頼されると、場合によって
は、それを複数のサブタスクに分割し、それぞれのサブ
タスクを別々のサーバプログラムに振り分けたり、サー
バプログラムの機能が足りない時は、コマンド拡張部の
助けを借りて機能を補完し、タスクを実行することがで
きる。この場合でも、クライアントプログラムは、単純
に協調促進器101に要求を通知し、その回答を受け取
るだけで望みの結果を得ることができる。
When requested by a client to process a certain task, the cooperation facilitator 101 divides the task into a plurality of subtasks and distributes each subtask to a separate server program, When the function is not enough, you can supplement the function and execute the task with the help of the command extension. Even in this case, the client program can obtain a desired result simply by notifying the request to the cooperation facilitator 101 and receiving the answer.

【0030】また、協調促進器101は、あるタスクの
実行に複数のプログラムが関わり、複数回の通信を行わ
なければならない場合などのようにプログラム間の連携
パターンが複雑な場合、メッセージの待ち合わせなどの
処理を代行する機能を提供する。このため、クライアン
トは最小限の通信量で処理を実行させることができる。
The coordination facilitator 101 is used when a plurality of programs are involved in execution of a certain task and the coordination pattern between the programs is complicated such as when a plurality of communications must be performed. Provide a function to perform the processing of. For this reason, the client can execute the process with a minimum communication amount.

【0031】次に協調促進器101の構成を説明する。
協調促進器101は、通信制御部102、検索処理部1
03、プログラム管理部104、コマンド解析部105
から構成される。
Next, the configuration of the cooperation promoting device 101 will be described.
The cooperation facilitator 101 includes a communication control unit 102, a search processing unit 1
03, program management unit 104, command analysis unit 105
Consists of

【0032】通信制御部102は、あるプログラムにメ
ッセージを送信したり、あるプログラムからのメッセー
ジを待ち受ける機能などのプログラム間通信に関わる基
本的な機能を提供する。
The communication control unit 102 provides basic functions related to inter-program communication, such as a function of transmitting a message to a certain program and waiting for a message from the certain program.

【0033】検索処理部103は、ある機能を提供する
プログラムはどれかを検索するための機能を提供する。
The search processing unit 103 provides a function for searching for a program that provides a certain function.

【0034】プログラム管理部104は、前述したよう
にして各プログラムから通知されたプログラムに関する
情報をプログラム情報106として管理する。プログラ
ム情報106の形式については、後で図2を用いて説明
する。
The program management unit 104 manages information on programs notified from each program as the program information 106 as described above. The format of the program information 106 will be described later with reference to FIG.

【0035】コマンド解析部105は、あるプログラム
がどのようなコマンドを処理することができるかどうか
を解析するためのモジュールである。この機能を実現す
るために、コマンド解析部106は、コマンド情報10
7を管理する。コマンド情報107の内容の詳細につい
ては、後で図3を用いて説明する。システムの運用に伴
い、あるサービスに必要なコマンドが新たに追加される
場合がある。コマンド拡張部は、新たなコマンドに対応
していないプログラムの機能を拡張し、新たに追加され
たコマンドを実行することができるようにすることがで
きる。図1ではコマンド拡張部は、符号108で示され
るコマンド拡張部1、符号109で示されるコマンド拡
張部2、符号110で示されるコマンド拡張部3の3つ
存在する。
The command analysis unit 105 is a module for analyzing what commands a certain program can process. In order to realize this function, the command analysis unit 106
Manage 7. Details of the content of the command information 107 will be described later with reference to FIG. With the operation of the system, a command required for a certain service may be newly added. The command extension unit can extend the function of a program that does not support a new command, and can execute a newly added command. In FIG. 1, there are three command extension units: a command extension unit 1 indicated by reference numeral 108, a command extension unit 2 indicated by reference numeral 109, and a command extension unit 3 indicated by reference numeral 110.

【0036】あるプログラムが新たに追加されたコマン
ドを実行できるプログラムを協調促進器101に問い合
わせると、協調促進器101は、コマンド解析部105
および適切なコマンド拡張部を通じて、従来そのコマン
ドに対応していなかったプログラムでもそのコマンドを
実行することができないかどうかを調べる。
When a certain program makes an inquiry to the coordinator 101 for a program which can execute the newly added command, the coordinator 101 issues a command
Then, through an appropriate command extension, it is determined whether or not a program that has not conventionally supported the command cannot execute the command.

【0037】あるプログラムが自分が対応していないコ
マンドの実行要求を受け付けた場合、協調促進器101
に、そのコマンドを実行することができるようにするた
めのコマンド拡張部があるかどうか問い合わせ、存在す
る場合は、コマンド解析部105および適切なコマンド
拡張部を通じて、そのコマンドを実行することができ
る。
When a program receives a request to execute a command that the program does not support, the coordinator 101
To determine if there is a command extension for enabling the command to be executed, and if so, the command can be executed through the command analyzer 105 and the appropriate command extension.

【0038】コマンド解析部105とコマンド拡張部
は、既存のプログラムの機能を拡張し、他のプログラム
からは、新たに追加されたコマンドを既存のプログラム
があたかも元々から実行できたかのように見せかけるた
めのものである。コマンド解析部105とコマンド拡張
部の機能により、新たに開発するクライアント側(ある
機能を利用する側)のプログラムは、サーバ側(ある機
能を提供する側)のプログラムのバージョンに関わらず
新たなコマンドを使用することができる。またサーバ側
は、プログラムを変更することなく、新たなコマンドを
受け付けることができるようになる。このため、システ
ムのダイナミックな拡張が可能になる。
The command analysis unit 105 and the command extension unit extend the function of the existing program, and allow other programs to make the newly added command appear as if the existing program could be executed from the beginning. Things. With the functions of the command analysis unit 105 and the command extension unit, a newly developed program on the client side (the side that uses a certain function) can use a new command regardless of the version of the program on the server side (the side that provides a certain function). Can be used. Further, the server can receive a new command without changing the program. This allows for dynamic expansion of the system.

【0039】協調促進器101とコマンド拡張部の間の
連携には、他のプログラムと同じコンピュータネットワ
ーク114を使ってもよいし、それとは別の専用的な手
段を使ってもよい。コマンド拡張部は任意の数だけ設け
ることができる。
The cooperation between the coordinator 101 and the command extension unit may use the same computer network 114 as other programs, or may use another dedicated means. Any number of command extensions can be provided.

【0040】次に各構成要素の詳細について説明する。Next, details of each component will be described.

【0041】図2は、プログラム管理部104が管理す
るプログラム情報106の内容を示す。
FIG. 2 shows the contents of the program information 106 managed by the program management unit 104.

【0042】通信アドレスは、各プログラムのコンピュ
ータネットワーク114を介した通信におけるメッセー
ジの受け口を示す。
The communication address indicates a receiving point of a message in communication of each program via the computer network 114.

【0043】サービス名は、各プログラムが提供するサ
ービスの名称を示す。サービス名は、例えば「電子ショ
ッピング」、「売上管理」などのように、あるサービス
のまとまりとなる単位に任意に付けることができる。サ
ービス名は必ずしも定義されているとは限らない。例え
ば、プログラム1は他のプログラムに対して何のサービ
スも提供しないので、サービス名は指定されていない。
プログラム1は、他のプログラムからの応答メッセージ
を受け取ることはあるので、通信アドレスは指定されて
いる。
The service name indicates the name of the service provided by each program. The service name can be arbitrarily given to a unit of a certain service, such as “electronic shopping” and “sales management”. Service names are not always defined. For example, since the program 1 does not provide any service to other programs, no service name is specified.
Since the program 1 may receive a response message from another program, the communication address is specified.

【0044】コマンドは、各プログラムがあるサービス
のどのコマンドを実行することができるかを指定する。
例えば、電子ショッピングを実現するプログラムには、
プログラム2、プログラム4、プログラム6の3つがあ
るが、プログラム2およびプログラム6は商品の値段を
返す「price」コマンド、商品の在庫一覧を返す
「list」コマンド、商品の追加を行う「add」コ
マンドおよび商品の除去を行う「delete」コマン
ドを、プログラム4はそれに加えて実際に売買行為を行
う「buy」コマンドを実行することができることを示
している。
The command specifies which command of each service can be executed by each program.
For example, a program that realizes electronic shopping includes:
There are three programs: Program 2, Program 4, and Program 6. The Program 2 and Program 6 include a "price" command for returning the price of a product, a "list" command for returning a stock list of products, and an "add" command for adding a product. This indicates that the program 4 can additionally execute a “buy” command for actually performing a buying and selling operation, in addition to a “delete” command for removing a product.

【0045】特徴リストは、サービス毎に定義される特
徴のリストである。特徴リストは実行中のプログラムの
それぞれの特徴を示すために使用される。例えば、電子
ショッピングサービスには、「商品」と「店名」の二つ
の特徴が定義されており、プログラムのインスタンス毎
に違う値を付けることができる。例えば、図2中のプロ
グラム2とプログラム6は、プログラムとしては同じも
のであるが、プログラム2は「A店」のために、プログ
ラム6は「C店」のために動いていることが異なる。特
徴リストは必ずしも定義する必要は無い。例えば、プロ
グラム6では指定されていない。この例では、一つの協
調促進器101が複数のサービスを実現するプログラム
の情報を管理しているが、各サービスに対して一つの協
調促進器を設けるようなシステム構成にしてもよい。
The feature list is a list of features defined for each service. The feature list is used to indicate each feature of the running program. For example, in an electronic shopping service, two features of “product” and “store name” are defined, and different values can be assigned to each instance of a program. For example, although the program 2 and the program 6 in FIG. 2 are the same as the program, the difference is that the program 2 is running for “store A” and the program 6 is running for “store C”. The feature list does not need to be defined. For example, it is not specified in the program 6. In this example, one coordination promoter 101 manages information of a program that implements a plurality of services, but a system configuration in which one coordination promoter is provided for each service may be used.

【0046】これらの情報は、各プログラムが起動時に
協調促進器101に対して通知したものがそのまま格納
され、ある機能を提供するプログラムを検索する場合に
使用される。
These pieces of information, which are notified by the programs to the cooperation facilitator 101 at the time of startup, are stored as they are, and are used when searching for a program providing a certain function.

【0047】図3は、コマンド解析部105が管理する
コマンド情報107の内容を示す。コマンドはサービス
毎に管理されている。
FIG. 3 shows the contents of the command information 107 managed by the command analysis unit 105. Commands are managed for each service.

【0048】構成は、あるコマンドが他のコマンドを組
み合わせて実行可能な場合、どのコマンドを組み合わせ
れば実行することができるかを示す。基本的なコマンド
の場合は、何も指定されない。例えば、電子ショッピン
グサービスにおける「price」コマンド、また売上
管理サービスにおける「query」、「info」、
「add」および「delete」コマンドは、それ以
上分解することのできない基本的なコマンドである。売
上管理サービスにおける「year_sum」というコ
マンドは、「query」および「info」コマンド
を組み合わせれば実現することができるものであり、
「query」および「info]コマンドを実行可能
なプログラムであれば、明に「year_sum」コマ
ンドをサポートしていると宣言していなくても実行する
ことができることを示している。ただし、この場合は実
行にはコマンド拡張部2の助けが必要であることを示し
ている。電子ショッピングサービスにおける「buy」
コマンドにおける構成の「*」は、このコマンドは複数
のプログラムが関連する複雑なコマンドであり、単純に
一つのプログラムがサポートしているコマンドだけから
では、そのコマンドを実行することができるかどうかが
判別できないことを示す。
The configuration indicates which command can be executed when a certain command can be executed in combination with another command. Nothing is specified for basic commands. For example, a "price" command in an electronic shopping service, "query", "info",
The "add" and "delete" commands are basic commands that cannot be further decomposed. The command "year_sum" in the sales management service can be realized by combining the "query" and "info" commands.
This indicates that any program that can execute the "query" and "info" commands can be executed without explicitly declaring that it supports the "year_sum" command. However, this case indicates that execution requires the help of the command extension unit 2. "Buy" in electronic shopping service
The symbol “*” in the configuration of the command indicates that this command is a complicated command related to a plurality of programs, and whether the command can be executed only from a command supported by one program. Indicates that it cannot be determined.

【0049】検索部は、そのコマンドを実行可能なプロ
グラムを検索する時に必要なコマンド拡張部の名称を示
す。例えば、電子ショッピングサービスにおいて、「b
uy」コマンドを実行可能なプログラムを探す場合は、
「コマンド拡張部1」を使用することを示す。
The search section indicates the name of a command extension section necessary for searching for a program that can execute the command. For example, in an electronic shopping service, "b
To find a program that can execute the "uy" command,
Indicates that "command extension 1" is used.

【0050】実行部は、そのコマンドを実行する時に必
要なコマンド拡張部の名称を示す。例えば、電子ショッ
ピングサービスにおける「buy」コマンドは、明に
「buy」コマンドをサポートしているプログラムでな
い場合は、「コマンド拡張部1」の助けをうけて実行可
能であることを示す。また、売上管理サービスにおける
「year_sum」コマンドは、「query」およ
び「info」コマンドがサポートされていれば実行可
能だが、その際には「コマンド拡張部2」の助けが必要
であることを示している。
The execution section indicates the name of a command extension section necessary for executing the command. For example, if the “buy” command in the electronic shopping service is not a program that explicitly supports the “buy” command, it indicates that it can be executed with the help of the “command extension unit 1”. In addition, the "year_sum" command in the sales management service can be executed if the "query" and "info" commands are supported. In this case, it is indicated that the help of the "command extension unit 2" is required. I have.

【0051】通信制御部102は協調促進器101と他
のプログラムのインタフェースとなる部分である。
The communication control section 102 is an interface between the cooperation facilitator 101 and another program.

【0052】図4は、通信制御部102がサポートする
オペレーションの一覧である。各オペレーションの入力
にはどのような情報が必要か、出力として得られるのは
どのような情報かを示す。これらのオペレーションは、
協調促進器101以外のプログラムおよびコマンド拡張
部が呼び出すことができる。
FIG. 4 is a list of operations supported by the communication control unit 102. It shows what information is required for the input of each operation, and what information is obtained as the output. These operations are
Programs and command extensions other than the coordinator 101 can be called.

【0053】「register」オペレーションは、
各プログラムが起動時に、自分のプログラムの情報を協
調促進器101に通知するのに使用される。入力は各プ
ログラムの情報で、出力は無い。
The "register" operation is:
Each program is used to notify the coordinator 101 of the information of the program at the time of startup. The input is information of each program and there is no output.

【0054】「register_command」オ
ペレーションは、各コマンド拡張部が自分の情報を協調
促進器101に通知するのに使用される。入力は各コマ
ンド拡張部の情報で、出力は無い。
The “register_command” operation is used by each command extension to notify the coordinator 101 of its own information. The input is the information of each command extension, and there is no output.

【0055】「send」オペレーションは、複数のプ
ログラムに対して同一の要求を送信し、要求を送信した
プログラムからの回答を受け取るものである。
The "send" operation is to send the same request to a plurality of programs and receive a reply from the program that sent the request.

【0056】「send_async」オペレーション
は、要求に対する回答を非同期に受け取る点において
「send」オペレーションと異なる。回答は、「ge
t」、「wait_one」、「wait_som
e」、「wait_all」のいずれかのオペレーショ
ンで受け取る。メッセージを受け取る時に、どの要求に
対する応答かを識別するために、メッセージ番号を指定
する。回答する側は、回答を行う際にこの番号を指定す
る。これにより、要求を送信する側は要求と回答の対応
付けを行うことができる。
The "send_async" operation differs from the "send" operation in that the response to the request is received asynchronously. The answer is "ge
t "," wait_one "," wait_som "
e "and" wait_all ". When receiving a message, specify the message number to identify which request is answered. The responding party specifies this number when responding. This allows the request transmitting side to associate the request with the answer.

【0057】「send_oneway」オペレーショ
ンは、メッセージを一方的に送りつける時に使用する。
回答を受け取ることは期待しない。
The "send_oneway" operation is used when sending a message unilaterally.
I do not expect to receive a response.

【0058】「get」オペレーションは、協調促進器
101のメッセージ受信代行機能を利用する時に用いる
もので、メッセージを非同期的に受け取る時に使用す
る。
The "get" operation is used when utilizing the message reception proxy function of the cooperation facilitator 101, and is used when asynchronously receiving a message.

【0059】「wait_one」オペレーションは、
「send_async」または「broker_as
ync」オペレーションで送信した要求に対する回答を
一つだけ受け取る時に使用する。「send_asyn
c」または「broker_async」で指定したメ
ッセージ番号を指定する。このオペレーションの実行後
は、残りの回答は破棄される。
The “wait_one” operation is
"Send_async" or "broker_as
Used when only one response to the request sent by the "sync" operation is received. "Send_asyn
c "or the message number specified by" broker_async ". After performing this operation, the remaining answers are discarded.

【0060】「wait_some」オペレーション
は、指定した数だけの回答を受け取る点において「wa
it_one」オペレーションと異なる。
The "wait_some" operation returns "wa_some" in that it receives the specified number of answers.
It is different from the "it_one" operation.

【0061】「wait_all」オペレーションは、
「send_async」オペレーションまたは「br
oker_async」オペレーションで送信した要求
に対応するすべての回答を取得するのに使用する。「s
end_async」または「broker_asyn
c」オペレーションで指定したメッセージ番号を指定す
る。
The "wait_all" operation is
"Send_async" operation or "br
Used to get all answers corresponding to the request sent in the "oker_async" operation. "S
"end_async" or "broker_asyn"
c) Specify the message number specified in the operation.

【0062】「find」オペレーションは、ある機能
を実現するプログラムを検索するために使用する。入力
には求めるプログラムのサービス名称、特徴、コマンド
を指定する。特徴およびコマンドは指定しなくても良
い。
The "find" operation is used to search for a program that realizes a certain function. For the input, specify the service name, feature, and command of the program to be sought. Features and commands need not be specified.

【0063】「broker」、「broker_as
ync」、「broker_oneway」オペレーシ
ョンは、送信先の代わりに送信先数を指定する以外の点
においては、それぞれ「send」、「send_as
ync」、「send_oneway」オペレーション
と同等である。これらのオペレーションでは、呼び出し
側が明らかに送信先のプログラムを指定するのではな
く、送信先については協調促進器101の選別に任せる
ものである。協調促進器101は、メッセージの送信先
の選別を、クライアントから受けたメッセージを入力と
して検索処理部103の機能を呼び出すことによって実
現する。
"Broker", "broker_as"
The “sync” and “broker_oneway” operations are “send” and “send_as, respectively, except that the number of destinations is specified instead of the destinations.
"sync", "send_oneway" operations. In these operations, the caller does not explicitly specify the program of the transmission destination, but leaves the transmission destination to be selected by the coordinator 101. The cooperation facilitator 101 realizes selection of a message transmission destination by calling a function of the search processing unit 103 with a message received from a client as an input.

【0064】「resolve」オペレーションは、あ
るコマンドの実行要求を受け付けたプログラムが、その
コマンドの実行方法を知らない場合に、協調促進器10
1の助けを借りて実行する場合に呼び出す。協調促進器
101は、適切なコマンド拡張部を呼び出すことによっ
てそのコマンドの実行方法を解決する。
The "resolve" operation is performed when the program that has received a command execution request does not know how to execute the command.
Call if running with the help of one. The coordinator 101 resolves the command execution method by calling the appropriate command extension.

【0065】検索処理部103は、プログラム管理部1
04とコマンド解析部105の機能を呼び出すことによ
って、ある機能を実現するプログラムを検索することが
できる。
The search processing unit 103 includes the program management unit 1
By calling the function of the command analysis unit 105 and the command analysis unit 105, a program that realizes a certain function can be searched.

【0066】図5に協調促進器101と他のプログラム
の間のメッセージの構造を示す。(a)は協調促進器1
01に対する要求メッセージの構造である。(b)は、
回答がある場合の協調促進器101からの回答メッセー
ジの構造である。
FIG. 5 shows the structure of a message between the cooperation facilitator 101 and another program. (A) is a coordinator 1
01 is the structure of a request message. (B)
It is a structure of a reply message from the cooperation promotion device 101 when there is a reply.

【0067】要求メッセージは、オペレーション、メッ
セージの属性、メッセージの内容から構成される。オペ
レーションには、図4の中のいずれか一つのオペレーシ
ョンを指定する。メッセージの属性には、サービス名
称、発信元やメッセージ番号などのそのメッセージに付
帯する属性のリストを指定する。メッセージの内容に
は、メッセージの属性中で指定された言語に従って他の
プログラムに実行させたいコマンドとその引数を指定す
る。
The request message is composed of an operation, an attribute of the message, and the content of the message. For the operation, one of the operations in FIG. 4 is specified. In the attribute of the message, a list of attributes attached to the message, such as a service name, a sender, and a message number, is specified. In the message content, specify a command to be executed by another program and its argument according to the language specified in the attribute of the message.

【0068】回答メッセージは、メッセージの属性およ
びメッセージの内容から構成される。メッセージの内容
は、メッセージの発信元およびどの要求に対する回答か
を示す応答番号などの属性のリストを指定する。メッセ
ージの内容には、回答内容を記述する。
The answer message is composed of message attributes and message contents. The message content specifies a list of attributes such as the origin of the message and a response number indicating which request was answered. The content of the message describes the content of the answer.

【0069】図6にメッセージの例を示す。FIG. 6 shows an example of a message.

【0070】図6の(a)は、プログラム1が協調促進
器101に対して、5つの電子ショッピングサーバに
「商品A」の価格(price)を問い合わせるように
依頼する時の要求メッセージである。メッセージの属性
部の発信元には、自分のプログラム名である「プログラ
ム1」が、宛先の数には「5」が、サービス名には「電
子ショッピング」が、要求の識別子となるメッセージ番
号には「1」が指定されている。メッセージの内容部に
は、商品Aの価格を問い合わせるメッセージが記述され
ている。メッセージの内容部は、コマンドとその引数か
ら構成される。この場合は、コマンドは「pric
e」、引数は「商品A]である。
FIG. 6A shows a request message when the program 1 requests the cooperation promotion device 101 to inquire of five electronic shopping servers about the price of “product A”. The sender of the attribute part of the message is "Program 1" which is the name of the user's own program, "5" is the number of destinations, "E-shopping" is the service name, and the message number which is the identifier of the request is Is specified as "1". In the content part of the message, a message for inquiring about the price of the product A is described. The content part of the message is composed of a command and its arguments. In this case, the command is "pric
e ”and the argument is“ Product A ”.

【0071】図6の(b)は図6の(a)に対するプロ
グラム2からの回答メッセージである。メッセージの発
信元には「プログラム2」が、宛先には要求元である
「プログラム1」が、サービス名には「電子ショッピン
グ」が、どのメッセージに対する応答かを示す応答番号
には要求番号と同じ「1」が指定されている。メッセー
ジの内容部には、プログラム2が管理する商店での商品
Aの価格が記述されている。このメッセージは協調促進
器101を通じて要求元のプログラムであるプログラム
1に届けられる。この場合は5つのプログラムから回答
が返るので5つの図5(b)の形式の要素から構成され
るリストが返される。
FIG. 6B shows a response message from the program 2 to FIG. 6A. The source of the message is “program 2”, the destination is “program 1” as the request source, the service name is “electronic shopping”, and the response number indicating the response to which message is the same as the request number "1" is specified. In the content part of the message, the price of the product A at the store managed by the program 2 is described. This message is delivered to the requesting program, Program 1, through the cooperation promoting device 101. In this case, since answers are returned from the five programs, a list including five elements in the format of FIG. 5B is returned.

【0072】協調促進器101と他のプログラムの間で
交換されるメッセージの形式は、回答メッセージについ
ては、図5(b)と同じである。要求メッセージについ
ては、図6(a)からオペレーション部を除いたもので
ある。
The format of the message exchanged between the cooperation facilitator 101 and another program is the same as that of FIG. 5B for the reply message. The request message is obtained by removing the operation unit from FIG.

【0073】次に、これまで説明した協調促進器101
を用いたシステムがどのように動作するかの概略を示
す。協調促進器101に対するオペレーションは、プロ
グラムおよびコマンド拡張部の登録動作と、協調促進器
101に登録されている他のプログラムを利用する動作
の二つに大きく分けることができる。
Next, the cooperation promoting device 101 described so far.
Shows an outline of how a system using. Operates. The operation for the cooperation facilitator 101 can be broadly divided into two operations, that is, an operation of registering a program and a command extension unit and an operation of using another program registered in the cooperation facilitator 101.

【0074】まず、プログラムの登録動作について説明
する。各プログラムは起動時に、協調促進器101の通
信制御部102に対して「register」オペレー
ションを用いて、自分がどのようなサービスを提供する
ことができるかを通知する。例えば、プログラム2は図
7(a)のようなメッセージを送信する。「regis
ter」オペレーション要求を受け付けた通信制御部1
02は、プログラム管理部104に対してプログラム情
報106に新たなエントリを追加するように要求する。
図7(a)のような要求を受け付けた場合は、図2のプ
ログラム2のエントリが追加される。
First, the program registration operation will be described. At the time of startup, each program notifies the communication control unit 102 of the coordination facilitator 101 of what service it can provide by using a “register” operation. For example, the program 2 transmits a message as shown in FIG. "Regis
communication control unit 1 receiving the "ter" operation request
02 requests the program management unit 104 to add a new entry to the program information 106.
When a request as shown in FIG. 7A is received, an entry of the program 2 in FIG. 2 is added.

【0075】次にコマンド拡張部の登録動作について説
明する。各コマンド拡張部は初期化時に、協調促進器1
01の通信制御部102に対して「register_
command」オペレーションを用いて、自分の機能
を通知する。例えば、コマンド拡張部2は、図7(b)
のようなメッセージを送信する。コマンド拡張部2は、
売上管理サービスにおいて、ある商品の年間売上額を問
い合わせるためのコマンド「year_sum」の実行
方法を記述したものである。コマンド拡張部2は、元々
は、「year_sum」コマンドをサポートしていな
いプログラムでも、ある期間にある商品がどれだけ売れ
たかを問い合わせるコマンド「query」およびある
商品の価格などについて問い合わせるコマンド「inf
o」がサポートされていれば、「year_sum」コ
マンドを実行させることができるようにするためのもの
である。「 register_command」オペ
レーションを受け付けた通信制御部102は、コマンド
解析部105に対してコマンド情報107に新たなエン
トリを追加するように要求する。図7(b)のような要
求を受け付けた場合は、図3の「売上管理」サービスの
「year_sum」コマンドのエントリが追加され
る。
Next, the registration operation of the command extension unit will be described. Each command extension is initialized by the
01 to the communication control unit 102 of “register_
Use the "command" operation to notify your function. For example, the command extension unit 2 is configured as shown in FIG.
Send a message like The command extension unit 2
In the sales management service, an execution method of a command “year_sum” for inquiring the annual sales amount of a certain product is described. Even if a program originally does not support the "year_sum" command, the command extension unit 2 can issue a command "query" for inquiring how much a certain product has been sold in a certain period and a command "inf" for inquiring about the price of a certain product.
If "o" is supported, the "year_sum" command can be executed. The communication control unit 102 that has received the “register_command” operation requests the command analysis unit 105 to add a new entry to the command information 107. When the request as shown in FIG. 7B is received, an entry of the “year_sum” command of the “sales management” service in FIG. 3 is added.

【0076】図2の例では、元々はプログラム7しか
「売上管理」サービスの「year_sum」を実行す
ることはできなかったが、コマンド拡張部2を登録する
ことにより、プログラム3も「year_sum」コマ
ンドを実行することができるようになる。この実行方法
については後で説明する。
In the example of FIG. 2, originally, only the program 7 can execute the “year_sum” of the “sales management” service. However, by registering the command extension unit 2, the program 3 can execute the “year_sum” command. Can be executed. This execution method will be described later.

【0077】次に協調促進器101に登録してあるプロ
グラムおよびコマンド拡張部を利用する場合の動作につ
いて説明する。このような場合に、協調促進器101が
提供する機能には、プログラムの検索、他のプログラム
へのメッセージ送信の代行、他のプログラムからのメッ
セージ受信の代行、他のプログラムへのメッセージの転
送、コマンドの実行方法の解決がある。
Next, the operation in the case of using the program and the command extension registered in the cooperation facilitator 101 will be described. In such a case, functions provided by the cooperation facilitator 101 include a program search, a message transmission to another program, a message reception from another program, a message transfer to another program, There is a solution for how to execute the command.

【0078】まず、プログラムの検索機能について説明
する。プログラムの検索機能を利用するには「fin
d」オペレーションを利用する。図8に「find」オ
ペレーションを受け付けた時の協調促進器101の動作
を示す。プログラム情報106が図2のような状態で、
かつコマンド情報が図3のような状態で、「売上管理」
サービスの「year_sum」コマンドを実行できる
プログラムを探す時の例を用いて、動作の流れを説明す
る。
First, the program search function will be described. To use the program search function, select "fin
d) operation. FIG. 8 shows the operation of the coordination promoting device 101 when the "find" operation is received. In the state where the program information 106 is as shown in FIG.
And the command information is as shown in FIG.
The flow of operation will be described using an example of searching for a program that can execute the "year_sum" command of the service.

【0079】(ステップ1001)通信制御部102が
「find」要求を受け付ける。この時のメッセージの
例を図7(c)に示す。これはプログラム1が、協調促
進器101に対して「売上管理」サービスを提供してい
るプログラムで、商品として「書籍」を扱っていて、
「year_sum」コマンドを実行することができる
ものを探す場合のメッセージである。
(Step 1001) The communication control unit 102 receives a “find” request. FIG. 7C shows an example of the message at this time. This is a program in which the program 1 provides a “sales management” service to the coordinator 101 and handles “books” as commodities.
This is a message for searching for an item that can execute the "year_sum" command.

【0080】(ステップ1002)検索処理部103に
検索要求が転送される。検索処理部103は。まず検索
キーを「空」に設定し、調査対象に「売上管理:yea
r_sum」を設定する。
(Step 1002) The search request is transferred to the search processing unit 103. The search processing unit 103. First, the search key is set to “empty”, and “sales management: yea”
r_sum ”is set.

【0081】(ステップ1003)調査対象となるコマ
ンドがあるかどうかを調べる。この時点では「売上管
理:year_sum」があるので、ステップ1004
に進む。調査対象となるコマンドが無い場合はステップ
1008に進む。
(Step 1003) It is checked whether there is a command to be checked. At this point, there is “sales management: year_sum”, so step 1004
Proceed to. If there is no command to be checked, the process proceeds to step 1008.

【0082】(ステップ1004)調査対象コマンドの
先頭要素の構成を調べる。コマンド情報107を調べ、
調査対象コマンドに構成が指定されているかどうかを調
べる。ここでは、図3を見ると「query」および
「info」コマンドが指定されているのでステップ1
005に進む。構成が指定されていない場合は、ステッ
プ1007に進む。
(Step 1004) The structure of the head element of the command to be checked is checked. Check the command information 107,
Check whether the configuration is specified in the command to be checked. Here, referring to FIG. 3, since the “query” and “info” commands have been designated, step 1
Proceed to 005. If the configuration has not been specified, the process proceeds to step 1007.

【0083】(ステップ1005)ステップ1004で
得た構成要素を調査対象に加える。この場合は「売上管
理:query」および「売上管理:info」コマン
ドを加える。
(Step 1005) The components obtained in Step 1004 are added to the survey target. In this case, the “sales management: query” and “sales management: info” commands are added.

【0084】(ステップ1006)調査対象から現在の
コマンド、すなわちこの場合は「売上管理:year_
sum」を除く。この時点で、調査対象には、「売上管
理:query」および「売上管理:info」コマン
ドが残っている。調査対象コマンドが残っている限り、
ステップ1003以降を繰り返す。
(Step 1006) From the survey target, the current command, ie, in this case, “sales management: year_
sum ”. At this point, the “sales management: query” and “sales management: info” commands remain in the survey target. As long as the command to be investigated remains
Step 1003 and subsequent steps are repeated.

【0085】ステップ1003に戻り、調査対象コマン
ドが残っている場合はステップ1004以降を行う。こ
の場合はまず、「売上管理:query」コマンドにつ
いてステップ1004以降を行う。このコマンドはコマ
ンド情報107中に、構成要素が指定されていないの
で、ステップ1007に進む。
Returning to step 1003, if the command to be investigated remains, step 1004 and subsequent steps are performed. In this case, first, step 1004 and subsequent steps are performed for the “sales management: query” command. Since this command has no component specified in the command information 107, the process proceeds to step 1007.

【0086】(ステップ1007)検索キーに現在調査
しているコマンドを加える。この場合は、売上管理:q
uery」コマンドを加える。次にステップ1006に
進む。
(Step 1007) The command under investigation is added to the search key. In this case, sales management: q
query command. Next, the routine proceeds to step 1006.

【0087】この時点でステップ1006では、「売上
管理:query」コマンドを調査対象から除くので、
「売上管理:info」コマンドが残る。これについて
ステップ1003以降を続行すると、「売上管理:qu
ery」コマンドと同様にステップ1004から100
7に進み、検索キーに「売上管理:info」コマンド
が追加される。この時点で、検索キーには、「売上管
理:query」および「売上管理:info」コマン
ドが指定されている。
At this point, in step 1006, the “sales management: query” command is excluded from the survey target.
The “sales management: info” command remains. Continuing from step 1003 onward, the “sales management: qu
steps 1004 to 100
Proceeding to step 7, a "sales management: info" command is added to the search key. At this point, the “sales management: query” and “sales management: info” commands are specified as search keys.

【0088】次にステップ1006からステップ100
3に進むと、この時点では調査対象に何も残っていない
ので、ステップ1008に進む。
Next, from step 1006 to step 100
When the process proceeds to step S3, since nothing remains in the investigation target at this time, the process proceeds to step S1008.

【0089】(ステップ1008)検索要求が行われた
コマンドに対して、コマンド情報106中に検索拡張部
が指定されているかどうかを調べる。「売上管理」サー
ビスの「year_sum」コマンドには検索用の拡張
部が指定されていないので、ステップ1009に進む。
指定されている場合は1010に進む。
(Step 1008) It is checked whether or not a search extension is specified in the command information 106 for the command for which a search request has been made. Since no search extension is specified in the “year_sum” command of the “sales management” service, the process proceeds to step 1009.
If it is specified, the process proceeds to 1010.

【0090】(ステップ1009)プログラム情報10
6中の中から、検索キーで指定されたコマンドを実行で
きるプログラムでかつ、検索要求メッセージで指定され
た他の内容を満たすものを検索する。この場合は検索キ
ーには、「売上管理:query」および「売上管理:
info」コマンドが指定されているので、図2の状態
では、プログラム3およびプログラム7が検索される。
また、図7(c)のメッセージでは、商品として「書
籍」を扱うものが指定されている。プログラム3および
プログラム7の特徴リストを見ると、両者とも「書籍」
を扱っていることが分かるのでこの2つのプログラムが
検索結果となる。
(Step 1009) Program information 10
6, a program that can execute the command specified by the search key and that satisfies the other contents specified by the search request message is searched. In this case, the search keys include “sales management: query” and “sales management:
Since the “info” command is specified, the program 3 and the program 7 are searched in the state of FIG.
In the message shown in FIG. 7C, a product that handles "books" is specified. Looking at the feature list of Program 3 and Program 7, both are "books"
Because these two programs are used, the two programs are the search results.

【0091】(ステップ1010)検索拡張部が指定さ
れている場合は、指定された検索拡張部に検索キーおよ
びプログラム情報を渡して検索させる。検索拡張部は、
指定されたコマンドが上のように単純なコマンドの組み
合わせで実行できるとは限らず、プログラムの特徴リス
トを調べるなどしなければならないような複雑な場合に
用いる。検索拡張部を用いる例については後で説明す
る。
(Step 1010) When the search extension is designated, the search key and the program information are passed to the designated search extension and searched. The search extension is
The specified command is not always executable by a combination of simple commands as described above, and is used in a complicated case where it is necessary to check a feature list of a program. An example using the search extension will be described later.

【0092】以上のようにして、元々「year_su
m」コマンドをサポートしているプログラム7に加え
て、プログラム3も「year_sum」コマンドを実
行することができることが分かる。
As described above, originally "year_su
It can be seen that, in addition to the program 7 supporting the "m" command, the program 3 can also execute the "year_sum" command.

【0093】協調促進器101は、このようにして検索
したある機能を実現できるプログラムの集合を一定時間
保持し、次に同じ検索を他のプログラムから要求された
時に再利用することによって、検索の高速化を図ること
も可能である。
The coordination facilitator 101 holds a set of programs that can realize a certain function searched in this way for a certain period of time, and then reuses the same search when requested by another program. It is also possible to increase the speed.

【0094】次に、協調促進器101のメッセージ送信
の代行機能およびメッセージの転送機能およびメッセー
ジ受信の代行機能について説明する。メッセージ送信先
のプログラムが分かっていて、それらのプログラムに対
してメッセージを送信する場合にメッセージ送信の代行
機能を利用するには、「send」または「send_
async」または「send_oneway」オペレ
ーションを使用する。何らかの理由により、クライアン
ト側がメッセージ送信先のプログラムを指定せず、協調
促進器101に適切な受信者を選択させ、メッセージを
転送させたい場合には、「broker」または「br
oker_async」または「broker_one
way」コマンドを使用する。メッセージ受信の代行機
能を利用するには、「get」または「wait_on
e」または「wait_some」または「wait_
all」コマンドを使用する。図9にこれらの機能を利
用する場合の動作の流れを示す。以下では、クライアン
トプログラムが「売上管理」サービスの「year_s
um」コマンドを他のプログラムに実行させる時の流れ
を例に示す。
Next, a proxy function of message transmission, a message transfer function, and a proxy function of message reception of the cooperation facilitator 101 will be described. If you know the programs to which you want to send messages and want to use the proxy function for sending messages when sending messages to those programs, use "send" or "send_
Use the "sync" or "send_oneway" operation. If for some reason the client does not specify the program to send the message to, but wants the coordinator 101 to select an appropriate recipient and forward the message, then "broker" or "br
"oker_async" or "broker_one"
use the "way" command. To use the message reception proxy function, use “get” or “wait_on”.
e "or" wait_some "or" wait_
all "command. FIG. 9 shows a flow of operation when these functions are used. In the following, the client program uses “year_s” of the “sales management” service.
An example of a flow when causing another program to execute the “um” command will be described.

【0095】(ステップ1101)協調促進器101の
通信制御部102が、メッセージ送信要求またはメッセ
ージ転送要求を受け付ける。メッセージ送信要求は、
「send」または「send_async」または
「send_oneway」オペレーションで指定され
る。メッセージ転送要求は、「broker」または
「broker_async」または「broker_
oneway」コマンドで指定される。
(Step 1101) The communication control unit 102 of the coordination promoting device 101 receives a message transmission request or a message transfer request. The message transmission request is
Specified by a “send” or “send_async” or “send_oneway” operation. The message transfer request is “broker” or “broker_async” or “broker_
oneway "command.

【0096】図7(d)にメッセージ転送要求の例を示
す。これはプログラム1が協調促進器101に対して、
「year_sum」コマンドを実行できるすべての
「売上管理」サービスプログラムに対して、「1995
年」の「商品A」の売上総額を要求するメッセージを転
送するように依頼するものである。このメッセージに対
する応答はメッセージ番号「3」を指定するように指示
している。
FIG. 7D shows an example of a message transfer request. This is because the program 1
For all "sales management" service programs that can execute the "year_sum" command, "1995"
A request is made to transfer a message requesting the total sales of “product A” of “year”. The response to this message indicates that message number "3" is specified.

【0097】(ステップ1102)メッセージの宛先が
指定されているメッセージ送信要求の場合はステップ1
104に進む。メッセージの宛先が指定されていないメ
ッセージ転送要求の場合はステップ1103に進む。
(Step 1102) If the message transmission request specifies the destination of the message, Step 1
Proceed to 104. In the case of a message transfer request in which the destination of the message is not specified, the process proceeds to step 1103.

【0098】(ステップ1103)クライアントからの
要求を受け付けることのできるプログラムを検索する。
協調促進器101が図7(d)のメッセージを受け付け
た場合は、検索処理部103は図7(d)のメッセージ
の属性部、メッセージの内容部をもとに検索する。検索
方法は図8で示したものと同じである。この場合は、プ
ログラム3およびプログラム7が宛先として検索され
る。
(Step 1103) A program that can receive a request from a client is searched.
When the cooperation facilitator 101 receives the message of FIG. 7D, the search processing unit 103 searches based on the attribute part of the message and the content part of the message of FIG. 7D. The search method is the same as that shown in FIG. In this case, the program 3 and the program 7 are searched as destinations.

【0099】(ステップ1104)コマンド解析部10
5は、メッセージ送信先となるすべてのプログラムに対
して、クライアントが要求したコマンドを直接実行でき
るかどうかを調べる。図7(d)のメッセージの例で
は、プログラム7は、図2で示されるプログラム情報1
06によれば、「year_sum」コマンドを直接サ
ポートしているので、この要求は直接実行できる。従っ
て、ステップ1105に進む。プログラム3は、図2で
示されるプログラム情報106によれば、「year_
sum」コマンドを直接サポートしていないので、この
要求を直接実行できない。従ってステップ1106に進
む。
(Step 1104) Command analyzer 10
Step 5 checks whether the command requested by the client can be directly executed for all the programs to which the message is to be sent. In the example of the message shown in FIG. 7D, the program 7 includes the program information 1 shown in FIG.
According to 06, this request can be directly executed because the "year_sum" command is directly supported. Therefore, the process proceeds to step 1105. According to the program information 106 shown in FIG.
This request cannot be performed directly because it does not directly support the "sum" command. Therefore, the process proceeds to step 1106.

【0100】(ステップ1105)通信制御部102
は、図2で示されるプログラム情報106中の通信アド
レスに従って、要求がプログラムに送られる。図7
(d)の要求の場合は、ここではプログラム7に対して
メッセージが転送される。この時、直接相手プログラム
にメッセージを送信してもよいし、相手プログラムが協
調促進器101のメッセージ受信機能を利用している場
合は、相手プログラムがメッセージ取得要求を出すま
で、通信制御部102でこのメッセージを保持するよう
にしてもよい。
(Step 1105) Communication control section 102
A request is sent to the program according to the communication address in the program information 106 shown in FIG. FIG.
In the case of the request (d), a message is transferred to the program 7 here. At this time, the message may be transmitted directly to the partner program, or, if the partner program uses the message receiving function of the coordinator 101, the communication control unit 102 transmits the message until the partner program issues a message acquisition request. This message may be held.

【0101】(ステップ1106)相手プログラムが直
接コマンドを実行できない場合は、コマンド解析部10
5は、対応するコマンド実行拡張部に処理を依頼する。
この例の場合はプログラム3は直接「売上管理」サービ
スの「year_sum」コマンドを実行できない。図
3で示されるコマンド情報107を見ると、コマンド拡
張部2を用いるとプログラム3もこのコマンドを実行す
ることができることがわかるので、コマンド拡張部2に
処理を依頼する。コマンド拡張部における処理方法につ
いては、後で説明する。
(Step 1106) If the partner program cannot directly execute the command, the command analysis unit 10
5 requests the corresponding command execution extension unit for processing.
In this case, the program 3 cannot directly execute the "year_sum" command of the "sales management" service. Looking at the command information 107 shown in FIG. 3, it can be seen that the program 3 can also execute this command when the command extension unit 2 is used, so the processing is requested to the command extension unit 2. The processing method in the command extension unit will be described later.

【0102】(ステップ1107)協調促進器101に
対する命令が双方向通信でない場合、すなわち「sen
d_oneway」または「broker_onewa
y」オペレーションの場合は処理を終了する。それ以外
のメッセージ送信または転送要求の場合はステップ11
08に進む。
(Step 1107) When the command to the coordination facilitator 101 is not a two-way communication, that is, “sen
"d_oneway" or "broker_oneway"
In the case of the "y" operation, the process ends. Step 11 for any other message transmission or transfer request
Proceed to 08.

【0103】(ステップ1108)ステップ1105ま
たはステップ1106で送信したメッセージに対する回
答メッセージを待つ。ステップ1101で指定したオペ
レーションが、「send」または「broker」の
場合は、オペレーションを要求したクライアントは回答
を同期的に待ち受けているので、協調促進器1010は
回答がサーバプログラムから返されたらすぐにクライア
ントに転送する。「send_async」または「b
roker_async」オペレーションの場合は、ク
ライアントは任意の時点で「get」または「wait
_one」または「wait_some」または「wa
it_all」によって回答を受け取る。「get」オ
ペレーションは、自分宛てのメッセージを一つずつ協調
促進器101から受け取る時に使用する。「wait_
one」オペレーションは、一度に複数のサーバに要求
を受け取った場合に、一つでも回答が返ってきたらそれ
のみを受け取り、後のメッセージは受け取らない時に使
用する。どの要求に対する応答を待っているかについて
は、要求を出した時に使用した「メッセージ番号」と同
じ番号を「wait_one」オペレーション中の「応
答番号」に記すことによって指定する。「wait_s
ome」オペレーションは、受け取るメッセージの数が
一つではなく任意の数であることを除いて「wait_
one」オペレーションと同等である。「wait_a
ll」オペレーションは、指定したメッセージ番号に対
応する回答メッセージをすべて待ち受ける場合に使用す
る。ここでは、クライアントが自分から、回答を協調促
進器101に対して取得する例を示したが、指定した数
の回答が協調促進器101に対して反ってきた場合に、
協調促進器101からクライアントに回答を送信するよ
うにしてもよい。このようにした場合、イベント駆動型
のシステムを構築することができ、メッセージ量を削減
することができる。
(Step 1108) Wait for a reply message to the message transmitted in step 1105 or step 1106. If the operation specified in step 1101 is “send” or “broker”, the client that has requested the operation is synchronously waiting for a response, so that the coordinator 1010 immediately returns the response from the server program. Transfer to client. "Send_async" or "b
In the case of a "roker_asynchronous" operation, the client may at any time "get" or "wait"
_One "or" wait_some "or" wa
An answer is received by "it_all". The “get” operation is used when receiving messages addressed to the user one by one from the coordinator 101. "Wait_
The "one" operation is used when a request is received by a plurality of servers at once, and if only one response is received, only the response is received, and subsequent messages are not received. Which request is waiting for a response is designated by writing the same number as the "message number" used when issuing the request in the "response number" in the "wait_one" operation. "Wait_s
The "home" operation is similar to "wait_except" except that the number of received messages is not one but arbitrary.
Equivalent to the "one" operation. "Wait_a
The "ll" operation is used when waiting for all answer messages corresponding to the designated message number. Here, an example is shown in which the client obtains an answer from the coordinator 101 from the client itself.
A response may be transmitted from the cooperation promotion device 101 to the client. In this case, an event-driven system can be constructed, and the amount of messages can be reduced.

【0104】このように、クライアントプログラムはサ
ービスを提供するプログラムの存在やネットワーク上の
アドレスを知らなくても、協調促進器101の存在とネ
ットワーク上のアドレスを知っていさえすればサービス
の提供を受けることができる。
As described above, the client program is provided with the service as long as it knows the existence of the coordinator 101 and the address on the network without knowing the existence of the program for providing the service or the address on the network. be able to.

【0105】協調促進器101は、このようにしてある
プログラムのために実行したあるタスクの処理結果を一
定時間保持し、次に同じタスクを他のプログラムから要
求された時にその結果を再利用することによって、タス
クの実行の高速化を図ることも可能である。
The cooperation facilitator 101 holds the processing result of a certain task executed for a certain program in this way for a certain period of time, and then reuses the result when the same task is requested by another program. By doing so, it is possible to speed up the execution of the task.

【0106】また、協調促進器101は、場合によって
は、あるプログラムからタスクの実行を依頼されてもす
ぐには実行せずに、一定時間待ち、その間に他のプログ
ラムから同じタスクの実行を依頼された場合には、まと
めて処理することによって、サーバの負荷と通信量を低
減することが可能である。
Also, in some cases, the coordinator 101 does not immediately execute a task even when requested to execute a task from a certain program, but waits for a certain period of time while requesting another program to execute the same task. In such a case, it is possible to reduce the load on the server and the traffic by performing the processing collectively.

【0107】次にコマンド拡張部の例を示す。コマンド
拡張部は、図4で示される協調促進器101の機能を用
いて、あるサービスの機能を拡張したり、ある機能を実
行できるプログラムを柔軟に検索することができるよう
にするためのものである。図10に、これまでの説明の
中で例として挙げてきた「売上管理」サービスの「ye
ar_sum」コマンドを実行するためのコマンド拡張
部2のコマンド実行部の動作を示す。
Next, an example of the command extension unit will be described. The command extension unit uses the function of the cooperation facilitator 101 shown in FIG. 4 to extend a function of a certain service or flexibly search for a program that can execute a certain function. is there. FIG. 10 shows “yes” of the “sales management” service which has been cited as an example in the above description.
The operation of the command execution unit of the command extension unit 2 for executing the “ar_sum” command will be described.

【0108】(ステップ1201)図9のステップ11
06のように協調促進器からあるコマンドを実行するよ
うに依頼を受ける。クライアントからのメッセージがそ
のままコマンド拡張部に渡される。この時、実行するプ
ログラム(実行対象プログラム)を指定される場合もあ
れば、検索するように依頼される場合もある。以下の例
では、プログラム3に実行させるように依頼された場合
である。実行するプログラムを明示的に指定されていな
い場合は、図8のようにして検索する。
(Step 1201) Step 11 in FIG.
As shown at 06, a request is made to execute a certain command from the cooperation promotion device. The message from the client is passed to the command extension as it is. At this time, the program to be executed (execution target program) may be specified, or the search may be requested. The following example is a case where the program 3 is requested to execute. If the program to be executed is not explicitly specified, the search is performed as shown in FIG.

【0109】(ステップ1202)指定されたプログラ
ムに対して「query」要求を出し、ある年のある商
品の売上げ数を求める。プログラムにメッセージを送信
する場合には、協調促進器101の「send」または
「send_async」オペレーションを用いる。図
7(e)にそのメッセージを示す。これは1995年の
商品Aの売上げ数をプログラム3に対して求めるもので
ある。
(Step 1202) A “query” request is issued to the designated program, and the number of sales of a certain product in a certain year is obtained. When sending a message to the program, the “send” or “send_async” operation of the coordinator 101 is used. FIG. 7E shows the message. This is for obtaining the number of sales of the product A in 1995 for the program 3.

【0110】(ステップ1203)ステップ1202で
送信した要求に対する回答を取得する。「send」で
要求した場合には、オペレーションの返り値として回答
が得られる。「send_async」オペレーション
で要求した場合は、「get」オペレーションなどで回
答を取得する。
(Step 1203) An answer to the request transmitted in step 1202 is obtained. When the request is made by "send", an answer is obtained as a return value of the operation. When a request is made by a “send_async” operation, a response is obtained by a “get” operation or the like.

【0111】(ステップ1204)商品の単価を求める
ために「info」コマンドを送信する。この場合は、
プログラム3に対して商品Aの単価を求める要求を出
す。要求の送信方法はステップ1202と同様である。
(Step 1204) The “info” command is transmitted to obtain the unit price of the product. in this case,
A request for the unit price of the product A is issued to the program 3. The request transmission method is the same as that in step 1202.

【0112】(ステップ1205)ステップ1204に
対する回答を受け取る。回答の取得方法はステップ12
03と同様である。
(Step 1205) An answer to step 1204 is received. Step 12 is how to get the answer
Same as 03.

【0113】(ステップ1206)ステップ1203で
求めた売上げ数とステップ1205で求めた商品単価を
掛け合わせて年間の売上額を求める。
(Step 1206) The number of sales obtained in step 1203 is multiplied by the unit price of goods obtained in step 1205 to obtain the annual sales amount.

【0114】(ステップ1207)ステップ1206で
得た売上額を要求元に返却する。
(Step 1207) The sales amount obtained in step 1206 is returned to the requestor.

【0115】上の動作は、クライアントが協調促進器1
01に対して処理を仲介するように依頼した時のもので
あるが、サーバがあるコマンドをサポートしていない場
合に、クライアントが直接サーバプログラムに対してそ
のコマンドを要求した場合の動作にも応用することがで
きる。
The above operation is performed when the client operates the cooperation promotion device 1
01 when requesting to mediate the processing, but also applied to the operation when the client directly requests the server program for the command when the server does not support the command. can do.

【0116】すなわち、サーバプログラムは自分がサポ
ートしていないコマンドを要求された場合、サーバプロ
グラムは協調促進器101に対して、そのコマンドの実
行方法の問い合わせを「resolve」オペレーショ
ンを用いて行う。
That is, when a command that the server program does not support is requested, the server program inquires of the coordination facilitator 101 about the execution method of the command using the "resolve" operation.

【0117】例えば「売上管理」サービスを実行するプ
ログラム3は自分がサポートしていない「year_s
um」コマンド要求を受け付けた場合、図7(f)に示
すメッセージを協調促進器101に送信する。
For example, the program 3 for executing the “sales management” service does not support “year_s
When the “um” command request is received, a message shown in FIG.

【0118】このメッセージを受け付けた協調促進器
は、プログラム3をステップ1201における実行対象
プログラムとして図10と同様の処理を行い、「res
olve」オペレーションの回答として、「year_
sum」の結果を返す。
The coordination facilitator that has received this message performs the same processing as in FIG. 10 with the program 3 as the program to be executed in step 1201, and executes “res
answer ”operation,“ year_
sum ".

【0119】このように、コマンド拡張部を利用するこ
とにより、あるサービスの機能を拡張することができ
る。新機能をサポートしていない古いサーバでも、コマ
ンド拡張部により新機能をサポートしているように見せ
かけることができる。また、新機能をサポートしている
サーバとサポートしていないサーバがシステム上に混在
している時でも、クライアントはサーバのコマンドのサ
ポート状況を意識することなく、新機能を利用すること
ができる。
As described above, the function of a certain service can be extended by using the command extension unit. Older servers that don't support the new features can still make the command extension appear to support the new features. Even when a server that supports the new function and a server that does not support the new function are mixed in the system, the client can use the new function without being aware of the support status of the server command.

【0120】これまで説明してきたのは、新しいコマン
ドが一つのサービスを提供する一つのプログラムのコマ
ンドを組み合わせて実行できる場合であったが、新しい
コマンドは複数のサービスや複数のプログラムにまたが
る場合でも協調促進器101は対応することができる。
以下に、その例を示す。
Although the description so far has been directed to the case where a new command can be executed by combining the commands of one program providing one service, the new command can be executed even when the command extends over a plurality of services or a plurality of programs. The coordinator 101 can respond.
An example is shown below.

【0121】図2において、電子ショッピングサービス
を提供するプログラム2およびプログラム6では、商品
の在庫を示す「list」コマンド、在庫中のある商品
の価格を示す「price」コマンド、在庫を追加する
ための「add」コマンドおよび在庫が減ったことを通
知するための「delete」コマンドがサポートされ
ている。プログラム4は、それらに加えて実際に商品の
売買を行う「buy」コマンドがサポートされている。
プログラム2およびプログラム6でも「buy」を実行
することができるようにするためのコマンド拡張部を実
現する方法を示す。
In FIG. 2, in a program 2 and a program 6 for providing an electronic shopping service, a “list” command indicating a stock of a product, a “price” command indicating a price of a stocked product, and a command for adding a stock are provided. An "add" command and a "delete" command for notifying that inventory has been reduced are supported. In addition to the program 4, the program 4 supports a "buy" command for actually buying and selling goods.
A method for realizing a command extension for enabling “buy” to be executed even in the program 2 and the program 6 will be described.

【0122】図11に「buy」を実現するプログラム
の組み合わせを検索するためのコマンド拡張部の検索部
の動作を示す。「buy」を実行するためには、「電子
ショッピング」サービスと「売上管理」サービスのプロ
グラムが必要である。この時、「電子ショッピング」サ
ービス側のプログラムでは「price」コマンドおよ
び「delete」コマンドがサポートされている必要
がある。また、「電子ショッピング」サービスプログラ
ムと同じ店に対して「売上管理」サービスプログラムが
動作している必要があり、かつ「売上管理」サービスプ
ログラム側では、「add」コマンドがサポートされて
いる必要がある。
FIG. 11 shows the operation of the retrieval unit of the command extension unit for retrieving a combination of programs for realizing "buy". In order to execute “buy”, a program for an “electronic shopping” service and a “sales management” service is required. At this time, the program on the “electronic shopping” service side needs to support the “price” command and the “delete” command. In addition, the “sales management” service program must be running for the same store as the “electronic shopping” service program, and the “add” command must be supported on the “sales management” service program side. is there.

【0123】(ステップ1301)コマンド拡張部は
「電子ショッピング」サービスにおける「buy」コマ
ンドを実行することのできるプログラムの検索要求を受
け取る。クライアントからのメッセージがそのまま渡さ
れる。
(Step 1301) The command extension receives a search request for a program that can execute the “buy” command in the “electronic shopping” service. The message from the client is passed as is.

【0124】(ステップ1302)結果集合を初期化す
る。
(Step 1302) The result set is initialized.

【0125】(ステップ1303)「電子ショッピン
グ」サービスを提供し、「price」コマンドおよび
「delete」コマンドをサポートしているプログラ
ムまたは「buy」コマンドをサポートしているプログ
ラムを検索する。これには協調促進器101が提供する
「find」オペレーションを利用する。協調促進器側
の検索動作は図8に示すものと同様である。検索結果は
電子ショッピングサービス集合に入れる。図2の例で
は、電子ショッピングサービス集合には、プログラム2
およびプログラム4およびプログラム6が含まれる。
(Step 1303) The “electronic shopping” service is provided, and a program supporting the “price” command and the “delete” command or a program supporting the “buy” command is searched. For this, a “find” operation provided by the coordinator 101 is used. The search operation on the cooperation facilitator side is the same as that shown in FIG. The search results are included in the electronic shopping service set. In the example of FIG. 2, the electronic shopping service set includes the program 2
And a program 4 and a program 6.

【0126】(ステップ1304)電子ショッピングサ
ービス集合が空のときは、ステップ1311に進む。空
でない時はステップ1305に進む。
(Step 1304) If the electronic shopping service set is empty, the flow advances to step 1311. If not empty, go to step 1305.

【0127】(ステップ1305)電子ショッピングサ
ービス集合から先頭要素を取得する。
(Step 1305) The first element is obtained from the electronic shopping service group.

【0128】(ステップ1306)先頭要素が「bu
y」コマンドをサポートしているかどうかを調べる。サ
ポートしていればステップ1309に進む。サポートし
ていなければ、ステップ1307に進む。図2の例で
は、先頭要素がプログラム4の時はステップ1308に
進む。先頭要素がプログラム2またはプログラム6の時
は、ステップ1307に進む。
(Step 1306) If the head element is “bu
Check if the "y" command is supported. If so, the process proceeds to step 1309. If not, the process proceeds to step 1307. In the example of FIG. 2, when the leading element is the program 4, the process proceeds to step 1308. When the first element is the program 2 or the program 6, the process proceeds to step 1307.

【0129】(ステップ1307)先頭要素の「店名」
の値と同じ店に対して動作している「売上管理」サービ
スプログラムの中から「add」コマンドをサポートし
ているものを検索する。検索動作は図8と同様である。
(Step 1307) “Shop name” of head element
Is searched for a service that supports the "add" command from among the "sales management" service programs operating for the same store as the value of "." The search operation is the same as in FIG.

【0130】(ステップ1308)ステップ1307で
得た「電子ショッピング」サービスプログラムと「売上
管理」サービスプログラムの組み合わせを結果集合に入
れる。図2の例では、例えばプログラム2とプログラム
7の組み合わせが得られる。
(Step 1308) The combination of the “electronic shopping” service program and the “sales management” service program obtained in step 1307 is put into a result set. In the example of FIG. 2, for example, a combination of the program 2 and the program 7 is obtained.

【0131】(ステップ1309)単独で「buy」プ
ログラムが実行できるプログラムは、単独で結果集合に
入れる。
(Step 1309) A program that can execute the “buy” program alone is put into the result set by itself.

【0132】(ステップ1310)先頭要素を電子ショ
ッピングサービス集合から除去し、ステップ1304に
戻る。
(Step 1310) The head element is removed from the electronic shopping service set, and the process returns to step 1304.

【0133】(ステップ1311)結果集合を返却し、
終了する。
(Step 1311) Return the result set,
finish.

【0134】次に、「電子ショッピング」サービスの
「buy」コマンドを実行する場合のコマンド拡張部の
コマンド実行部の動作を図12を用いて示す。
Next, the operation of the command execution unit of the command extension unit when executing the “buy” command of the “electronic shopping” service will be described with reference to FIG.

【0135】(ステップ1401)「電子ショッピン
グ」サービスの「buy」コマンド実行要求を受け取
る。この時、これを実行するためのプログラム(例えば
プログラム4)またはプログラムの組み合わせ(例えば
プログラム2とプログラム7)を受け取る。
(Step 1401) A “buy” command execution request for the “electronic shopping” service is received. At this time, a program (eg, program 4) or a combination of programs (eg, program 2 and program 7) for executing the program is received.

【0136】(ステップ1402)ステップ1401で
受け取ったプログラムが「buy」コマンドをサポート
しているかどうかを調べる。サポートしている場合はス
テップ1403に進む。サポートしていない場合はステ
ップ1404に進む。
(Step 1402) It is checked whether or not the program received in step 1401 supports the “buy” command. If it is supported, the process proceeds to step 1403. If not, the process proceeds to step 1404.

【0137】(ステップ1403)「電子ショッピン
グ」サービスの「buy」コマンドを実行し、終了す
る。
(Step 1403) The “buy” command of the “electronic shopping” service is executed, and the processing ends.

【0138】(ステップ1404)「電子ショッピン
グ」サービスの「buy」コマンドをサポートしていな
い場合は、「price」コマンドを実行し、商品の価
格を取得する。上記のプログラム2およびプログラム7
の組み合わせに対して「buy」を実行する場合は、プ
ログラム2に対して「price」コマンドを実行す
る。
(Step 1404) If the “buy” command of the “electronic shopping” service is not supported, the “price” command is executed to acquire the price of the product. Program 2 and Program 7 above
When the “buy” is executed for the combination of “”, the “price” command is executed for the program 2.

【0139】(ステップ1405)商品の購入に伴い、
在庫データを減らすために、ステップ1404と同じプ
ログラムに対して「delete」コマンドを実行す
る。
(Step 1405) With the purchase of the product,
In order to reduce inventory data, a "delete" command is executed for the same program as in step 1404.

【0140】(ステップ1406)売上が生じたことを
示すために、ステップ1404およびステップ1405
を実行した電子ショッピングプログラムと同じ店のため
に動いている「売上管理」サービスプログラムに対して
「add」コマンドで、商品名、個数、価格、売上日付
を通知する。上記の例ではプログラム7に対して「ad
d」コマンドを実行する。
(Step 1406) Steps 1404 and 1405 are used to indicate that sales have occurred.
The “add” command is sent to the “sales management” service program that is running for the same store as the electronic shopping program that has executed the item name, the quantity, the price, and the sales date. In the above example, “ad
d) command.

【0141】以上の例では、異なったコマンドや異なっ
たサービスを組み合わせて新しいサービスやコマンドを
作成する例を示したが、同じサービスを提供する複数の
プログラムを利用して新しいサービスを提供するように
拡張することも可能である。
In the above example, a new service or command is created by combining different commands or different services. However, a new service is provided by using a plurality of programs that provide the same service. It can be extended.

【0142】以下では、電子ショッピングにおいて、
「price」コマンドを実行するプログラムが複数存
在する時に、競りを実行するコマンドを新たに追加する
例を示す。
In the following, in electronic shopping,
An example in which a command for executing a bid is newly added when there are a plurality of programs that execute the “price” command.

【0143】これまでの例では、「電子ショッピング」
サービスプログラムに対して図6(a)のように「pr
ice 商品A」と問い合わせるとその価格が図6
(b)のように回答される例を示した。ここで、「pr
ice」コマンドを利用した価格の問い合わせ方法とし
て、「price 商品A under 1000円」の
ように、1000円より安く商品Aを提供できる場合
は、その価格を返させるようにすることができるものと
する。
In the example so far, “electronic shopping”
As shown in FIG. 6A, “pr
"ice product A"
An example in which a response is made as shown in FIG. Here, "pr
As a method of inquiring the price using the "ice" command, if the product A can be provided at a price lower than 1000 yen, such as "price product A underer 1000 yen", the price can be returned. .

【0144】図3の「電子ショッピング」サービスの
「auction」コマンドの行は、従来から存在する
「電子ショッピング」サービスプログラムを用いて、競
りを実行することができるようにするためのコマンド拡
張部4が存在することを示している。
The line of the “action” command of the “electronic shopping” service in FIG. 3 is a command extension unit 4 for enabling a bid to be executed by using the existing “electronic shopping” service program. Is present.

【0145】これを利用してプログラムは、協調促進器
101に対してある商品に対する競りを実行させること
ができる。この時のコマンド拡張部の動作を図12を用
いて説明する。
By utilizing this, the program can cause the cooperation facilitator 101 to execute a bid for a certain product. The operation of the command extension unit at this time will be described with reference to FIG.

【0146】(ステップ1501)協調促進器101の
コマンド解析部105から「電子ショッピング」サービ
スの「auction」コマンド実行要求を受け付け
る。例えば、「auction 商品A」のように「商
品A」の競りを実行するように要求を受ける。
(Step 1501) The command analysis section 105 of the coordination promoting device 101 receives a request for executing an “action” command of the “electronic shopping” service. For example, a request is made to execute a bid for "Product A", such as "action Product A".

【0147】(ステップ1502)協調促進器101の
「find」オペレーションを用いて、「電子ショッピ
ング」サービスの「price」コマンドを実行するプ
ログラムの集合を求める。検索方法は図8と同様であ
る。
(Step 1502) Using the “find” operation of the cooperation promotion device 101, a set of programs for executing the “price” command of the “electronic shopping” service is obtained. The search method is the same as in FIG.

【0148】(ステップ1503)落札者と価格を初期
化する。
(Step 1503) The successful bidder and the price are initialized.

【0149】(ステップ1504)ステップ1502で
求めたプログラム集合に対して、協調促進器101の
「send_async」オペレーションを用いて「p
rice 商品A」というメッセージを送信する。
(Step 1504) For the program set obtained in step 1502, the “p_psync”
rice A ".

【0150】(ステップ1505)ステップ1504で
送信した要求に対する回答を、協調促進器101の「w
ait_all」オペレーションを用いて待ち受ける。
(Step 1505) The response to the request transmitted in step 1504 is sent to the “w
Wait using the "ait_all" operation.

【0151】(ステップ1506)ステップ1505に
よる価格問い合わせに対して、価格をつけたプログラム
があるかどうか調べる。ある場合はステップ1507に
進む。無い場合はステップ1510に進む。
(Step 1506) In response to the price inquiry at step 1505, it is checked whether there is a program with a price. If there is, the process proceeds to step 1507. If not, the process proceeds to step 1510.

【0152】(ステップ1507)「wait_al
l」オペレーションに対する値が得られたら、すべての
回答の中から最も安い価格をつけたプログラムとその価
格を選び出す。なお、回答は図6(b)のような形式で
得られる。
(Step 1507) “wait_al
Once the value for the "l" operation is obtained, the program with the lowest price and the price are selected from all the answers. The answer is obtained in a format as shown in FIG.

【0153】(ステップ1508)ステップ1506で
選び出したプログラムを落札者に、ステップ1506で
得られた価格を落札価格に設定する。
(Step 1508) The program selected in step 1506 is set as the successful bidder, and the price obtained in step 1506 is set as the successful bid price.

【0154】(ステップ1509)ステップ1508で
設定した落札価格より安い価格をつけられるかどうか
を、ステップ1502で取得したプログラム集合に対し
て、「price 商品A under 落札価格」とい
うメッセージを「send_async」メッセージを
用いて再送信し、ステップ1505に戻る。
(Step 1509) To determine whether a price lower than the successful bid price set in step 1508 can be set, a message “price goods A underder successful bid price” is sent to the program set acquired in step 1502, as a “send_async” message. And the process returns to step 1505.

【0155】(ステップ1510)落札者と落札価格を
返却する。
(Step 1510) The successful bidder and the successful bid price are returned.

【0156】このようにして、複数のプログラムと複数
の通信を行う必要があるタスクを実行する時に、サーバ
プログラムの検索や、プログラム間通信に関わる処理を
協調促進器101側で行わせることができる。この時、
クライアントプログラムが行うプログラム間通信は、要
求を協調促進器101に通知する時と、回答を協調促進
器101から受け取る時だけでよい。
In this way, when executing a task that needs to perform a plurality of communications with a plurality of programs, the cooperation facilitator 101 can search for a server program and perform processing related to inter-program communication. . At this time,
The inter-program communication performed by the client program may be performed only when notifying the request to the coordinator 101 and when receiving a response from the coordinator 101.

【0157】以上、例を挙げて説明してきた通り、シス
テムにコマンド拡張部を追加することにより、既存のプ
ログラムに影響を与えることなく、システムが提供する
サービスを柔軟に拡張していくことができる。
As described above with reference to the example, by adding the command extension unit to the system, the service provided by the system can be flexibly extended without affecting the existing program. .

【0158】コマンド拡張部やプログラムは、コンピュ
ータネットワーク114上に接続している限り、どの計
算機上にでも置くことができ、コマンド拡張部やプログ
ラムは任意の開発者が、自由に設置することができる。
このような場合でも、システムで提供されているサービ
スやコマンドの情報は協調促進器101のコマンド情報
107で管理されている。従って協調促進器101のコ
マンド解析部に、システム上にどのようなサービスが提
供されているか、およびあるサービスではどのようなコ
マンドが提供されているかを調べる機能を提供すること
により、現在システム上でどのような機能を利用するか
どうかを知ることができる。この結果、別の開発者が拡
張したコマンドを、他の開発者が知り、それを利用した
プログラムを開発することが可能である。
The command extension unit and the program can be placed on any computer as long as they are connected to the computer network 114. The command extension unit and the program can be freely installed by any developer. .
Even in such a case, information on services and commands provided by the system is managed by the command information 107 of the cooperation facilitator 101. Accordingly, by providing the command analysis unit of the coordination facilitator 101 with a function of checking what service is provided on the system and what command is provided for a certain service, You can know what functions to use. As a result, it is possible for another developer to know the command extended by another developer and to develop a program using the command.

【0159】[0159]

【発明の効果】本発明は、以上説明したように協調促進
器101が、特定の機能を実現するために必要なプログ
ラムの組み合わせを動的に発見したり、あるタスクの処
理を代行するための機能を提供する。
According to the present invention, as described above, the cooperation facilitator 101 dynamically finds a combination of programs necessary for realizing a specific function or substitutes for processing of a certain task. Provides functions.

【0160】この機能を利用することにより、クライア
ントプログラムは、あるタスクを実現するためのサーバ
プログラムの組み合わせ方法や、それらのサーバプログ
ラムのネットワークアドレスなどの情報は実行時に協調
促進器101に問い合わせたり、処理の代行を協調促進
器101に依頼することができるため、あらかじめ知っ
ている必要は無い。このためサーバプログラムの配置な
どをシステム運用時に柔軟に変更することができる。
By using this function, the client program can inquire the coordination facilitator 101 at execution time for information such as a method of combining server programs for realizing a certain task and the network address of those server programs at the time of execution. Since it is possible to request the coordination facilitator 101 for the processing substitution, it is not necessary to know in advance. Therefore, it is possible to flexibly change the arrangement of server programs and the like during system operation.

【0161】また、協調促進器101はあるプログラム
の古いバージョンと新しいバージョンが混在している時
に、その差異を吸収するための機能をコマンド拡張部と
の連携によって提供する。
Further, when an old version and a new version of a certain program coexist, the cooperation promoting device 101 provides a function for absorbing the difference in cooperation with the command extension unit.

【0162】このため、システムの運用時にプログラム
の一部をバージョンアップしたり、提供機能を変更した
りするなどの、システムの動的な拡張が可能である。こ
の時に、既存のクライアントや他のサーバなどのプログ
ラムは変更する必要が無い。また、新旧バージョンのサ
ーバが混在している場合でも、クライアントプログラム
は、その違いを意識させる必要は無く、どのバージョン
のサーバに対しても新しい機能を利用することができ
る。また、サーバプログラム側では元々は提供していな
い機能でも協調促進器101の助けを借りることで、実
行することができる。
Therefore, the system can be dynamically expanded, for example, by upgrading a part of the program or changing the provided function during the operation of the system. At this time, there is no need to change existing programs such as clients and other servers. Further, even when the server of the new version and the server of the old version are mixed, the client program does not need to be aware of the difference, and can use the new function for the server of any version. In addition, the server program can execute a function that is not originally provided with the help of the coordinator 101.

【0163】また、協調促進器101は、あるサービス
が提供する機能を一括管理するため、複数の開発者がサ
ービスの機能を別々に拡張しても、協調促進器101に
問い合わせることによって、サービスの全体機能を知る
ことができる。このため、ある開発者が拡張した機能を
他の開発者が知り、それを利用するプログラムを開発す
ることができる。
Further, since the coordinator 101 collectively manages the functions provided by a service, even if a plurality of developers separately extend the functions of the service, the coordinator 101 inquires of the coordinator 101 to obtain the service. You can know the whole function. Therefore, another developer can know the function extended by a certain developer, and can develop a program using the function.

【0164】また、協調促進器101は、複雑な協調動
作を簡単に作成するための通信制御機能を提供する。
The cooperation promoting device 101 provides a communication control function for easily creating a complicated cooperation operation.

【0165】このため、クライアントプログラムにプロ
グラム間通信に伴う複雑な処理を記述する必要は無い。
従ってクライアント側のプログラムを比較的簡単に開発
することができ、プログラムのサイズも小さく抑えるこ
とができる。また、サーバが協調してタスクを処理して
いる間にクライアントとの回線がきれても正常にタスク
を終了することができる。これらはクライアントプログ
ラムが、携帯端末などの低い処理能力の計算機上で動作
し、速度の遅いネットワークを経由して接続している場
合などに有効に働く。
For this reason, there is no need to describe complicated processing associated with inter-program communication in the client program.
Therefore, a client-side program can be developed relatively easily, and the size of the program can be reduced. Further, the task can be normally terminated even if the line with the client is disconnected while the server is processing the task in cooperation with the server. These functions are effective when the client program operates on a computer having a low processing capability such as a portable terminal and is connected via a low-speed network.

【0166】また、協調促進器101を処理の高速化の
ために利用することもできる。
Further, the cooperation promoting device 101 can be used for speeding up the processing.

【0167】例えば、協調促進器101は、ある機能を
提供するプログラムの検索結果を一定時間保持すること
により、類似の検索要求を受けた時の応答を高速化する
ことができる。また、あるプログラムから受けたあるタ
スクの処理結果を一定時間保持し再利用したり、要求を
受け付けても一定時間待ち、他のプログラムから同じタ
スクの要求を受けた時にまとめて処理することによっ
て、処理の高速化したり、サーバの負荷を下げることが
できる。
For example, the coordination facilitator 101 can speed up a response when a similar search request is received by holding a search result of a program providing a certain function for a certain period of time. Also, by retaining and reusing the processing result of a task received from a certain program for a certain period of time, waiting for a certain time even if a request is received, and processing it collectively when receiving the same task request from another program, It can speed up processing and reduce the load on the server.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態におけるシステム構成図で
ある。
FIG. 1 is a system configuration diagram according to an embodiment of the present invention.

【図2】プログラム情報の内容を示す図である。FIG. 2 is a diagram showing the contents of program information.

【図3】コマンド情報の内容を示す図である。FIG. 3 is a diagram showing the contents of command information.

【図4】通信制御部の機能の一覧を示す図である。FIG. 4 is a diagram showing a list of functions of a communication control unit.

【図5】メッセージの構成を示す図である。FIG. 5 is a diagram showing a structure of a message.

【図6】メッセージの応答の例を示す図である。FIG. 6 is a diagram illustrating an example of a message response.

【図7】様々な状況でのメッセージの例を示す図であ
る。
FIG. 7 is a diagram illustrating examples of messages in various situations.

【図8】プログラムを検索する時の協調促進器の動作フ
ロー図である。
FIG. 8 is an operation flowchart of the cooperation facilitator when searching for a program.

【図9】メッセージの送受信を行う時の協調促進器の動
作フロー図である。
FIG. 9 is an operation flow diagram of the cooperation facilitator when transmitting and receiving a message.

【図10】コマンド拡張部の動作の例を示すフロー図で
ある。
FIG. 10 is a flowchart showing an example of the operation of the command extension unit.

【図11】コマンド拡張部の動作の別の例を示すフロー
図である。
FIG. 11 is a flowchart showing another example of the operation of the command extension unit.

【図12】コマンド拡張部の動作の別の例を示すフロー
図である。
FIG. 12 is a flowchart showing another example of the operation of the command extension unit.

【図13】コマンド拡張部の動作の別の例を示すフロー
図である。
FIG. 13 is a flowchart showing another example of the operation of the command extension unit.

【符号の説明】[Explanation of symbols]

101…協調促進器、 102…通信制御部、1
03…検索処理部、 104…プログラム管理
部、105…コマンド解析部、 106…プログラム
情報、107…コマンド情報、 108、109、
110…コマンド拡張部、111、112、113…プ
ログラム、114…コンピュータネットワーク。
101: Cooperation promoter, 102: Communication controller, 1
03: search processing unit, 104: program management unit, 105: command analysis unit, 106: program information, 107: command information, 108, 109,
110: command extension unit; 111, 112, 113: program; 114: computer network.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 中南 俊弘 神奈川県川崎市幸区鹿島田890番地株式会 社日立製作所情報・通信開発本部内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Toshihiro Nakanan 890 Kashimada, Saiwai-ku, Kawasaki-shi, Kanagawa Prefecture Information and Communication Development Division, Hitachi, Ltd.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】プログラム間通信を通じて他のプログラム
と通信することが可能な協調促進器を設け、他のプログ
ラムに対してプログラム間通信を通じて特定の機能を提
供するサーバプログラムは、あらかじめ提供する機能の
内容を協調促進器に対して通知しておき、ある機能を利
用するクライアントプログラムが、前記協調促進器に対
して利用したい機能を要求すると、前記協調促進器は、
前記の機能に応じて該機能を提供するサーバプログラム
を検索する方法を記憶しており、該検索方法を用いて前
記機能を提供するサーバプログラムを検索し、該サーバ
プログラムの存在を前記クライアントプログラムに提示
するか、または前記協調促進器は、前記の機能に応じて
該機能を実行する方法を記憶しており、該方法を用いて
前記サーバプログラムに前記クライアントプログラムか
らの要求を転送し、続けて該サーバプログラムから該要
求に対する応答を受け取り、前記クライアントプログラ
ムに該応答を転送することを特徴とするプログラム連携
方法。
A server program for providing a coordination promoter capable of communicating with another program through inter-program communication, and providing a specific function to another program through inter-program communication, When the content is notified to the coordination promoter, and a client program using a certain function requests a function to be used for the coordination promoter, the coordination promoter,
A method of searching for a server program that provides the function according to the function is stored, a server program that provides the function is searched using the search method, and the presence of the server program is notified to the client program. Presenting or the coordinator has stored a method of performing the function in response to the function, using the method to transfer a request from the client program to the server program, and A program cooperation method, comprising: receiving a response to the request from the server program; and transferring the response to the client program.
【請求項2】請求項1に記載のプログラム連携方法にお
いて、ある機能が複数の部分機能に分割できる場合に、
前記協調促進器は機能の分割方法を記憶する手段を持
ち、クライアントプログラムが前記の機能を要求した場
合には、前記の部分機能のそれぞれの部分を実行するこ
とのできる複数のサーバプログラムを検索し、該複数の
サーバプログラムを前記クライアントプログラムに提示
するか、または該複数のサーバプログラムを用いて前記
機能を実行し、前記クライアントプログラムに結果を転
送することを特徴とするプログラム連携方法。
2. A program linking method according to claim 1, wherein when a certain function can be divided into a plurality of partial functions,
The coordination facilitator has means for storing a function division method, and when a client program requests the function, searches for a plurality of server programs capable of executing each part of the partial function. A method of presenting the plurality of server programs to the client program, or executing the function using the plurality of server programs, and transferring a result to the client program.
【請求項3】請求項2に記載のプログラム連携方法にお
いて、前記機能の分割方法の記憶手段は、ある機能がど
の複数の機能の組み合わせで実行できるかの構成情報
と、前記の複数の機能を実行するそれぞれのプログラム
を連携させ実行する方法を記憶しておくものであること
を特徴とするプログラム連携方法。
3. The program cooperation method according to claim 2, wherein the storage means of the function division method stores configuration information indicating which combination of a certain function can be executed and a plurality of functions. A program linking method which stores a method of linking and executing respective programs to be executed.
【請求項4】請求項2および請求項3に記載のプログラ
ム連携方法において、ある機能が複数のサーバプログラ
ムの連携によって実行可能な場合に、前記協調促進器
は、該複数のサーバプログラムの中から窓口となる代表
サーバプログラムを一つ選別し、該サーバプログラムの
存在を前記クライアントプログラムに通知することを特
徴とするプログラム連携方法。
4. The program cooperation method according to claim 2, wherein, when a certain function can be executed by cooperation of a plurality of server programs, the cooperation facilitator is selected from the plurality of server programs. A program linking method, wherein one representative server program serving as a contact is selected and the existence of the server program is notified to the client program.
【請求項5】請求項4に記載のプログラム連携方法にお
いて、前記代表サーバプログラムが前記クライアントプ
ログラムが要求する機能を実現する方法が分からない場
合、前記協調促進器に対して該実現方法を問い合わせ、
前記協調促進器は該実現方法を前記代表サーバプログラ
ムに提示するかまたは前記機能を代行することを特徴と
するプログラム連携方法。
5. The program cooperation method according to claim 4, wherein when the representative server program does not know how to realize the function requested by the client program, the representative server program inquires the cooperation facilitator about the realization method,
The method according to claim 1, wherein the coordinator promotes the realization method to the representative server program or substitutes the function.
【請求項6】請求項1に記載のプログラム連携方法にお
いて、前記協調促進器は、他の複数のプログラムへのメ
ッセージの送信の代行機能および他の複数のプログラム
からのメッセージの待ち合わせ機能を提供するものであ
ることを特徴とするプログラム連携方法。
6. The program coordination method according to claim 1, wherein the coordination facilitator provides a function of acting to send a message to another plurality of programs and a function of waiting for a message from another plurality of programs. A program linking method characterized in that:
【請求項7】請求項6に記載のプログラム連携方法にお
いて、ある機能を実現する場合において、クライアント
プログラムと該クライアントプログラムが利用する一つ
または複数のサーバプログラムとの通信が複数回にわた
る場合に、前記協調促進器のメッセージの送信の代行機
能およびメッセージの待ち合わせ機能を組み合わせるこ
とによって、前記協調促進器に対して前記機能を実行す
るためのメッセージの送信と受信の方法を教示し、前記
クライアントプログラムのために前記サーバプログラム
との間の通信を代行させることを可能とすることを特徴
とするプログラム連携方法。
7. A program cooperation method according to claim 6, wherein when a certain function is realized, when communication between the client program and one or a plurality of server programs used by the client program is performed a plurality of times, By combining the message transmission function of the coordinator and the message waiting function, the coordinator is taught a method of transmitting and receiving a message for executing the function to the coordinator. A communication method between the server program and the server program.
【請求項8】請求項7に記載のプログラム連携方法にお
いて、前記協調促進器は、前記メッセージの送信と受信
の方法と該方法の名称を記憶する手段を持ち、クライア
ントプログラムは該方法の名称を指定することによっ
て、前記処理を前記協調促進器に代行させることを特徴
とするプログラム連携方法。
8. The program cooperation method according to claim 7, wherein the coordinator has means for storing a method of transmitting and receiving the message and a name of the method, and the client program stores the name of the method. A program coordination method, wherein the process is performed by the coordination facilitator by designating.
【請求項9】請求項1から請求項8までのプログラム連
携方法において、協調促進器は、一つのサーバプログラ
ム単独で、あるいは複数のサーバプログラムを組み合わ
せて実行可能な機能の一覧を提示することができるもの
であることを特徴とするプログラム連携方法。
9. The program cooperation method according to claim 1, wherein the cooperation facilitator presents a list of functions executable by one server program alone or by combining a plurality of server programs. A program linking method characterized in that it can be performed.
JP1855498A 1998-01-30 1998-01-30 Program cooperation method Pending JPH11212931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1855498A JPH11212931A (en) 1998-01-30 1998-01-30 Program cooperation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1855498A JPH11212931A (en) 1998-01-30 1998-01-30 Program cooperation method

Publications (1)

Publication Number Publication Date
JPH11212931A true JPH11212931A (en) 1999-08-06

Family

ID=11974857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1855498A Pending JPH11212931A (en) 1998-01-30 1998-01-30 Program cooperation method

Country Status (1)

Country Link
JP (1) JPH11212931A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006057349A1 (en) * 2004-11-26 2006-06-01 Nec Corporation Management system, device for use in the system, program therefor, and management method
US8875164B2 (en) 2012-09-10 2014-10-28 Fujitsu Limited Information processing apparatus and method for controlling information processing apparatus
JP2014238659A (en) * 2013-06-06 2014-12-18 エヌ・ティ・ティ・コムウェア株式会社 Information processing apparatus, information processing method, and program
JP2015149026A (en) * 2014-02-07 2015-08-20 キヤノン株式会社 Information processor, information processing method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006057349A1 (en) * 2004-11-26 2006-06-01 Nec Corporation Management system, device for use in the system, program therefor, and management method
JPWO2006057349A1 (en) * 2004-11-26 2008-08-07 日本電気株式会社 Management system, apparatus used therefor, program therefor, and management method
US8875164B2 (en) 2012-09-10 2014-10-28 Fujitsu Limited Information processing apparatus and method for controlling information processing apparatus
JP2014238659A (en) * 2013-06-06 2014-12-18 エヌ・ティ・ティ・コムウェア株式会社 Information processing apparatus, information processing method, and program
JP2015149026A (en) * 2014-02-07 2015-08-20 キヤノン株式会社 Information processor, information processing method, and program
US10284734B2 (en) 2014-02-07 2019-05-07 Canon Kabushiki Kaisha Information processing apparatus, method, and storage medium for managing an executable application

Similar Documents

Publication Publication Date Title
US5325527A (en) Client/server communication system utilizing a self-generating nodal network
KR100545443B1 (en) A method and a bridge for coupling a server and a client of different object types
KR100420777B1 (en) Processing extended transactions in a client-server system
US6336135B1 (en) Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client
US5475819A (en) Distributed configuration profile for computing system
RU2188450C2 (en) Method and device for organizing interactive h- media
US20050182768A1 (en) Web browser as web service server in interaction with business process engine
JP2001222438A (en) Method for offering guarantee of service quality to virtual host
JPH05289871A (en) Application coupling method
US7689430B2 (en) Access to web services
CN111639279B (en) Graphic code generation method, target page loading method and device
US20060225064A1 (en) Flexible multi-agent system architecture
US20120054327A1 (en) Site redirection
US20020103720A1 (en) Extensible network services system
KR100856515B1 (en) High performance client-server communication system
US8301690B2 (en) Correlator system for web services
WO2001065382A1 (en) Method and system for processing requests using dynamically loadable rules determined by class and context
WO2001035242A1 (en) Highly distributed computer server architecture and operating system
JPH11212931A (en) Program cooperation method
JP2001306873A (en) Electronic transaction system
US20030144859A1 (en) E-service publication and discovery method and system
EP2118747B1 (en) Interface module
Jha et al. Mobile Agents for e-commerce
KR100556716B1 (en) System and method for distribution information sharing among nodes connected each other via network
US7711798B1 (en) Method and computer program for offering products and services by examining user activity