JP2005259106A - Mediating device, distributed processing system, data transfer method, program, and recording medium - Google Patents

Mediating device, distributed processing system, data transfer method, program, and recording medium Download PDF

Info

Publication number
JP2005259106A
JP2005259106A JP2004272614A JP2004272614A JP2005259106A JP 2005259106 A JP2005259106 A JP 2005259106A JP 2004272614 A JP2004272614 A JP 2004272614A JP 2004272614 A JP2004272614 A JP 2004272614A JP 2005259106 A JP2005259106 A JP 2005259106A
Authority
JP
Japan
Prior art keywords
response
request
command
soap
server
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
JP2004272614A
Other languages
Japanese (ja)
Inventor
Hiroyuki Matsushima
弘幸 松島
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004272614A priority Critical patent/JP2005259106A/en
Priority to US11/198,911 priority patent/US7693994B2/en
Priority to EP05017289A priority patent/EP1638290B1/en
Priority to DE602005002707T priority patent/DE602005002707T2/en
Publication of JP2005259106A publication Critical patent/JP2005259106A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To constitute a communication system in which the management labor of destination information is reduced when certain communication equipment transmits an operation request to a plurality of communication equipment and receives an operation response to the operation request, and which is stably operated even when system configuration is changed. <P>SOLUTION: A mediating server 12 for mediating communication between terminal equipment 10 and a plurality of processing servers 13 receives an operation request from the terminal equipment 10, and transmits the received operation request to the processing server 13 being the destination of transfer according to the classification. Also, each processing server 13 receives the operation response to the operation request from the terminal equipment 10, and transmits the operation response to the terminal equipment 10. In this case, the mediating server 12 receives the plurality of operation requests in a batch from the terminal equipment 10, and transmits the operation responses received from the respective processing servers 13 to the terminal equipment 10 in a batch. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置、端末装置及び複数の処理サーバと、これらの間の通信を仲介する仲介サーバとを備えた分散処理システム、第1の通信装置と複数の第2の通信装置との間で上記のような仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法、コンピュータを上記のような仲介装置として機能させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。   The present invention includes an intermediary device that mediates communication between a first communication device and a plurality of second communication devices, a terminal device, and a plurality of processing servers, and an intermediary server that mediates communication between them. A distributed processing system, a data transfer method for transmitting and receiving an operation request and an operation response between the first communication device and the plurality of second communication devices via the intermediary device as described above, and a computer as described above The present invention relates to a program for functioning as a device and a computer-readable recording medium on which such a program is recorded.

従来から、通信装置をネットワークを介して接続した通信システムにおいて、通信装置同士で互いにメッセージを交換させることにより、通信相手の装置に対して通知や要求を行わせることが行われている。そして、このようなシステムにおいて、ある装置から別の装置に宛てて動作要求としてコマンドを送信して動作を実行させ、送信相手から動作の実行結果を動作応答として返信させることも行われている。   2. Description of the Related Art Conventionally, in a communication system in which communication devices are connected via a network, communication devices are exchanged with each other so that a communication partner device is notified or requested. In such a system, a command is transmitted from one device to another device as an operation request to execute the operation, and an operation execution result is returned from the transmission partner as an operation response.

このような技術は、例えば特許文献1に開示されており、この文献には、リモートプロセッサがローカルプロセッサに対して実行されるべきコマンドを指示するメッセージを送信し、そのコマンドに対する応答を受信することが記載されている。
また、この文献には、ローカルプロセッサがファイアウォールの内側に配置されている場合において、ローカルプロセッサからファイアウォールの外側のリモートプロセッサに通信要求を送信し、リモートプロセッサがこの通信要求に対する応答としてローカルプロセッサに対してコマンドを送信するようにすることにより、ファイアウォールの外側から内側に向けてコマンドを送信できるようにする技術も開示されている。
特開2001−273211号公報
Such a technique is disclosed in, for example, Patent Document 1, in which a remote processor transmits a message indicating a command to be executed to a local processor and receives a response to the command. Is described.
Also, in this document, when a local processor is arranged inside a firewall, a communication request is transmitted from the local processor to a remote processor outside the firewall, and the remote processor sends a response to the communication request to the local processor. A technique is also disclosed in which a command can be transmitted from the outside to the inside of the firewall by transmitting the command.
Japanese Patent Application Laid-Open No. 2001-273211

また、このような動作要求に関する技術は、通信装置に接続された装置の動作を遠隔制御するシステムにも適用することができる。特許文献2には、ブラインド及び照明を操作する機能を有する遠隔被操作装置に、ユーザからの操作を受け付ける機能を有する遠隔操作装置からコマンドを送信してブラインド及び照明を操作させる遠隔操作システムにこのような技術を適用した例が記載されている。ただし、この文献には、コマンドに対する応答を送信する点は示されていない。
特開2002−135858号公報
In addition, the technology related to the operation request can be applied to a system that remotely controls the operation of the device connected to the communication device. Patent Document 2 discloses a remote operation system for operating a blind and illumination by transmitting a command from a remote operation device having a function of accepting an operation from a user to a remotely operated device having a function of operating a blind and illumination. An example in which such a technique is applied is described. However, this document does not indicate that a response to the command is transmitted.
JP 2002-135858 A

ところで、コマンドに応じて提供される何らかのサービスを利用しようとする場合において、コマンドによってサービスを提供する装置が異なる場合が考えられる。そして、従来のように宛先を指定してコマンドを送信するシステムでは、このような場合には、コマンド毎に適切な宛先を把握し、その装置に宛ててコマンドを送信しなければ、サービスを利用することができなかった。従って、宛先情報の管理負担が大きいという問題があった。   By the way, when trying to use some service provided in response to a command, it is conceivable that a device that provides the service differs depending on the command. Then, in a system that sends a command specifying a destination as in the past, in such a case, the appropriate destination is grasped for each command, and if the command is not sent to the device, the service is used. I couldn't. Therefore, there is a problem that the management burden of the destination information is heavy.

また、サービスの提供者が変わったり、システム構成を変更したりした場合には、コマンドの送信先を変更する必要が生じる場合もあるが、このような場合に、各端末装置毎に送信先の変更を確実に通知しておかなければ、サービスの利用が不可能になってしまう。従って、宛先情報の管理が正常に行えない場合には、サービスの利用にも支障が出てしまうという問題もあった。   In addition, if the service provider changes or the system configuration changes, it may be necessary to change the command transmission destination. In such a case, the transmission destination of each terminal device must be changed. If the change is not notified, the service cannot be used. Therefore, when the destination information cannot be normally managed, there is a problem that the use of the service is hindered.

この発明は、このような問題を解決し、ある通信装置が複数の通信装置に動作要求を送信してその動作要求に対する動作応答を受け取る場合において、宛先情報の管理負担を低減すると共に、システム構成が変更された場合でも安定して動作させられる通信システムを構成可能にすることを目的とする。   The present invention solves such a problem, and when a certain communication device transmits an operation request to a plurality of communication devices and receives an operation response to the operation request, reduces the burden of managing destination information and system configuration It is an object of the present invention to make it possible to configure a communication system that can be stably operated even when the change is made.

以上の目的を達成するため、この発明の仲介装置は、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置において、上記第1の通信装置から動作要求を受信する第1の受信手段と、その受信手段が受信した各動作要求を、その動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手段と、その第2の受信手段が受信した各動作応答を上記第1の通信装置に送信する第2の送信手段とを設けたものである。
このような仲介装置において、上記第1の受信手段に、上記第1の通信装置から、複数の動作要求を一括して受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作応答を一括して上記第1の通信装置に送信する手段を設けるとよい。
To achieve the above object, an intermediary device according to the present invention is an intermediary device that mediates communication between a first communication device and a plurality of second communication devices, and receives an operation request from the first communication device. A first receiving means for receiving, a first transmitting means for transmitting each operation request received by the receiving means to a second communication device as a transfer destination according to the type of the operation request; A second receiving means for receiving an operation response to the operation request transferred from the first communication apparatus from the communication apparatus, and each operation response received by the second receiving means to the first communication apparatus. And a second transmitting means for transmitting.
In such an intermediary device, the first receiving means is provided with means for collectively receiving a plurality of operation requests from the first communication device, and the second transmission means is provided with the second reception. Means may be provided for collectively transmitting the operation responses received by the means to the first communication device.

あるいは、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置において、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手段と、その第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置に転送すべき動作要求と、上記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手段と、その第2の受信手段が受信した各動作要求と各動作応答とを上記第1の通信装置に送信する第2の送信手段とを設けてもよい。
このような仲介装置において、上記第1の受信手段に、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作要求と各動作応答とを一括して上記第1の通信装置に送信する手段を設けるとよい。
Alternatively, in an intermediary device that mediates communication between the first communication device and the plurality of second communication devices, the operation request has been transferred from the first communication device and transferred from the second communication device. A first receiving unit that receives an operation response to the operation request, and a second communication that is a transfer destination of each operation request and operation response received by the first receiving unit according to the type of each operation request and operation response. An operation request to be transferred from the second communication device to the first communication device and an operation response to the operation request transferred from the first communication device; And a second transmission means for transmitting each operation request and each operation response received by the second reception means to the first communication device.
In such an intermediary device, the first receiving unit collectively receives an operation request from the first communication device and an operation response to the operation request transferred from the second communication device. Means may be provided, and the second transmitting means may be provided with means for collectively transmitting each operation request and each operation response received by the second receiving means to the first communication device.

また、上記のいずれかの仲介装置において、上記第1の通信装置から受信する各動作要求又は動作応答について、所要の群毎に、その群に属する動作要求又は動作応答の転送先情報を記憶する記憶手段を設け、その記憶手段に記憶している転送先情報を参照して、上記第1の送信手段によって送信すべき動作要求又は動作応答の転送先を決定する転送先決定手段を設けると良い。
さらに、上記転送先決定手段に、上記記憶手段に転送先情報が記憶されていない動作要求や動作応答の転送先を、所定の転送先に決定する手段を設けるとよい。
さらに、上記群を、SOAPで使用される名前空間毎に設け、上記動作要求をSOAPリクエスト、上記動作応答をSOAPレスポンスとするとよい。
Further, in any one of the intermediary devices described above, for each operation request or operation response received from the first communication device, the transfer destination information of the operation request or operation response belonging to that group is stored for each required group. A storage means may be provided, and a transfer destination determination means for determining a transfer destination of an operation request or an action response to be transmitted by the first transmission means with reference to transfer destination information stored in the storage means may be provided. .
Further, the transfer destination determining means may be provided with means for determining a transfer destination of an operation request or an operation response whose transfer destination information is not stored in the storage means as a predetermined transfer destination.
Further, the group may be provided for each name space used in SOAP, the operation request is a SOAP request, and the operation response is a SOAP response.

また、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置において、上記第1の通信装置から、SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、その第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置に転送すべきSOAPリクエストと、上記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手段と、その第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して上記第1の通信装置に送信する第2の送信手段とを設けてもよい。   Further, in the intermediary device that mediates communication between the first communication device and the plurality of second communication devices, the SOAP request and the second communication device are transferred from the first communication device. A first receiving means for receiving a SOAP response to the SOAP request in a state described in the HTTP request, and transferring each SOAP request and SOAP response received by the first receiving means in accordance with the type of each SOAP request and SOAP response A first transmission means for transmitting in a HTTP request to the second communication apparatus, a SOAP request to be transferred from each of the second communication apparatuses to the first communication apparatus, and the first The SOAP response to the SOAP request transferred from the communication device is used as an HTTP response. The second receiving means for receiving in the loaded state, and each SOAP request and each SOAP response received by the second receiving means are described in the HTTP response to the HTTP request received by the first receiving means. You may provide the 2nd transmission means to transmit to the said 1st communication apparatus.

このような仲介装置において、上記第1の受信手段に、上記第1の通信装置から、上記SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して上記第1の通信装置に送信する手段を設けてもよい。   In such an intermediary device, the first receiving means sends the SOAP request from the first communication device and the SOAP response to the SOAP request transferred from the second communication device to one HTTP request. The means for receiving in the state described in the above is provided, and each SOAP request and each SOAP response received by the second receiving means are sent to the second transmitting means with respect to the HTTP request received by the first receiving means. There may be provided means for describing in one HTTP response and transmitting it to the first communication device.

また、この発明の分散処理システムは、複数の処理サーバと、その各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムにおいて、上記仲介サーバに、上記端末装置から動作要求を受信する第1の受信手段と、その受信手段が受信した各動作要求を、その動作要求の種別に従って転送先となる処理サーバに送信する第1の送信手段と、上記各処理サーバから、上記端末装置からの動作要求に対する動作応答を受信する第2の受信手段と、その第2の受信手段が受信した各動作応答を上記端末装置に送信する第2の送信手段とを設け、上記各処理サーバに、上記端末装置からのその処理サーバに対する動作要求を上記仲介サーバから受信する受信手段と、その手段が受信した動作要求に係る動作を実行し、実行結果としてその動作要求に対する動作応答を生成する手段と、その手段が生成した動作応答を上記仲介サーバに送信する送信手段とを設けたものである。   The distributed processing system of the present invention is a distributed processing system comprising a plurality of processing servers and an intermediary server that mediates communication between each processing server and the terminal device. First receiving means for receiving an operation request from the first transmitting means, first transmitting means for transmitting each operation request received by the receiving means to a processing server as a transfer destination according to the type of the operation request, and each of the processing servers Second receiving means for receiving an operation response to the operation request from the terminal device, and second transmitting means for transmitting each operation response received by the second receiving means to the terminal device, Each processing server executes a receiving means for receiving an operation request for the processing server from the terminal device from the intermediary server, and an operation related to the operation request received by the means. As a result means for generating an operation response to the operation request, the operation response thereof means is generated is provided with a transmission means for transmitting to the intermediary server.

このような分散処理システムにおいて、上記仲介サーバにおいて、上記第1の受信手段に、上記端末装置から、複数の動作要求を一括して受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作応答を一括して上記端末装置に送信する手段を設けるとよい。   In such a distributed processing system, in the mediation server, the first receiving means is provided with means for collectively receiving a plurality of operation requests from the terminal device, and the second transmitting means is provided with the first It is preferable to provide means for collectively transmitting the operation responses received by the two receiving means to the terminal device.

また、複数の処理サーバと、その各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムにおいて、上記仲介サーバに、上記端末装置から、動作要求と、上記処理サーバからの動作要求に対する動作応答とを受信する第1の受信手段と、その第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる処理サーバに送信する第1の送信手段と、上記各処理サーバから、上記端末装置に転送すべき動作要求と、上記端末装置からの動作要求に対する動作応答とを受信する第2の受信手段と、その第2の受信手段が受信した各動作要求と各動作応答とを上記端末装置に送信する第2の送信手段とを設け、上記各処理サーバに、上記端末装置からのその処理サーバに対する動作要求と上記端末装置宛ての動作要求に対する動作応答とを上記仲介サーバから受信する受信手段と、その手段が受信した動作要求に係る動作を実行し、実行結果としてその動作要求に対する動作応答を生成する手段と、その手段が生成した動作応答と上記端末装置宛ての動作要求とを上記仲介サーバに送信する送信手段とを設けてもよい。   Further, in a distributed processing system including a plurality of processing servers and an intermediary server that mediates communication between each processing server and the terminal device, the intermediary server sends an operation request and the processing from the terminal device. A first receiving unit that receives an operation response to an operation request from the server, and a process that transfers each operation request and operation response received by the first receiving unit according to the type of each operation request and operation response First transmission means for transmitting to the server; second reception means for receiving an operation request to be transferred to the terminal device from each processing server; and an operation response to the operation request from the terminal device; A second transmission unit configured to transmit each operation request and each operation response received by the second reception unit to the terminal device; and the processing server from the terminal device to the processing server. Receiving means for receiving an operation request to be received and an operation response to the operation request addressed to the terminal device from the intermediary server, and executing an operation related to the operation request received by the means, and sending an operation response to the operation request as an execution result Means for generating and transmitting means for transmitting the operation response generated by the means and the operation request addressed to the terminal device to the mediation server may be provided.

このような分散処理システムにおいて、上記仲介サーバにおいて、上記第1の受信手段に、上記端末装置から、動作要求と、上記処理サーバからの動作要求に対する動作応答とを一括して受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作要求と各動作応答とを一括して上記端末装置に送信する手段を設けるとよい。   In such a distributed processing system, in the intermediary server, the first receiving means is provided with means for collectively receiving an operation request from the terminal device and an operation response to the operation request from the processing server. The second transmission means may be provided with means for collectively transmitting each operation request and each operation response received by the second reception means to the terminal device.

また、複数の処理サーバと、その各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムにおいて、上記仲介サーバに、上記端末装置から、SOAPリクエストと、上記処理サーバからのSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、その第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる処理サーバにHTTPリクエストに記載して送信する第1の送信手段と、上記各処理サーバから、上記端末装置に転送すべきSOAPリクエストと、上記端末装置からのSOAPリクエストに対するSOAPレスポンスとを、HTTPレスポンスに記載した状態で受信する第2の受信手段と、その第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して上記端末装置に送信する第2の送信手段とを設け、上記各処理サーバに、上記端末装置からのその処理サーバに対するSOAPリクエストと、上記端末装置宛てのSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で上記仲介サーバから受信する受信手段と、その手段が受信したSOAPリクエストに係る動作を実行し、実行結果としてそのSOAPリクエストに対するSOAPレスポンスを生成する手段と、その手段が生成したSOAPレスポンスと、上記端末装置宛てのSOAPリクエストとを、その処理サーバの受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して上記仲介サーバに送信する送信手段とを設けてもよい。   Further, in a distributed processing system including a plurality of processing servers and an intermediary server that mediates communication between each processing server and the terminal device, the intermediary server sends the SOAP request and the processing from the terminal device. A first receiving means for receiving a SOAP response to the SOAP request from the server in a state described in the HTTP request, and each SOAP request and SOAP response received by the first receiving means are changed to each SOAP request and SOAP response. A first transmission means that transmits an HTTP request written in an HTTP request to a processing server serving as a transfer destination according to the type, a SOAP request to be transferred from each processing server to the terminal device, and a SOAP for the SOAP request from the terminal device Response to HTTP response The second receiving means that receives in the state described in the above, and each SOAP request and each SOAP response received by the second receiving means are described in the HTTP response to the HTTP request received by the first receiving means. A second transmission means for transmitting to the terminal device, and in each processing server, a SOAP request from the terminal device to the processing server and a SOAP response to the SOAP request addressed to the terminal device in an HTTP request. The receiving means that receives from the mediation server in the described state, the means for executing the operation related to the SOAP request received by the means, and generating the SOAP response to the SOAP request as the execution result, and the SOAP response generated by the means And SO addressed to the terminal device A P request may be provided with transmitting means for transmitting to the intermediary server described in an HTTP response to the HTTP request received by the receiving means of the processing server.

このような分散処理システムにおいて、上記仲介サーバにおいて、上記第1の受信手段に、上記端末装置から、SOAPリクエストと、上記処理サーバからのSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手段を設け、上記第2の送信手段に、上記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して上記端末装置に送信する手段を設けるとよい。   In such a distributed processing system, in the intermediary server, a state in which a SOAP request from the terminal device and a SOAP response to the SOAP request from the processing server are described in one HTTP request as the first receiving means. And receiving each SOAP request and each SOAP response received by the second receiving means, and one HTTP response for the HTTP request received by the first receiving means. It is good to provide the means to transmit to the said terminal device described in above.

また、この発明のデータ転送方法は、第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法において、上記仲介装置に、上記第1の通信装置から動作要求を受信する第1の受信手順と、その受信手順で受信した各動作要求を、その動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手順と、上記各第2の通信装置から、上記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手順と、その第2の受信手順で受信した各動作応答を上記第1の通信装置に送信する第2の送信手順とを実行させるようにしたものである。
このようなデータ転送方法において、上記第1の受信手順に、上記第1の通信装置から、複数の動作要求を一括して受信する手順を設け、上記第2の送信手順に、上記第2の受信手順で受信した各動作応答を一括して上記第1の通信装置に送信する手順を設けるとよい。
The data transfer method of the present invention is a data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device. A first reception procedure for receiving an operation request from the first communication device, and a first transmission procedure for transmitting each operation request received in the reception procedure to a second communication device as a transfer destination according to the type of the operation request. Transmission procedure, a second reception procedure for receiving an operation response to the operation request transferred from the first communication device from each of the second communication devices, and each received in the second reception procedure A second transmission procedure for transmitting an operation response to the first communication device is executed.
In such a data transfer method, the first reception procedure includes a procedure for receiving a plurality of operation requests collectively from the first communication device, and the second transmission procedure includes the second transmission procedure. It is good to provide the procedure which transmits each operation response received by the receiving procedure to the said 1st communication apparatus collectively.

また、第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法において、上記仲介装置に、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手順と、その第1の受信手順で受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手順と、上記各第2の通信装置から、上記第1の通信装置に転送すべき動作要求と、上記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手順と、その第2の受信手順で受信した各動作要求と各動作応答とを上記第1の通信装置に送信する第2の送信手順とを実行させるようにしてもよい。
このようなデータ転送方法において、上記第1の受信手順に、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する手順を設け、上記第2の送信手順に、上記第2の受信手順で受信した各動作要求と各動作応答とを一括して上記第1の通信装置に送信する手順を設けるとよい。
Further, in a data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device, the intermediary device is transferred from the first communication device, A first reception procedure for receiving an operation request and an operation response to the operation request transferred from the second communication device, and each operation request and operation response received in the first reception procedure are set to each operation. A first transmission procedure for transmitting to a second communication device as a transfer destination according to the type of request and operation response; an operation request to be transferred from each second communication device to the first communication device; A second reception procedure for receiving an operation response to the operation request transferred from the first communication device, and each operation request and each operation response received in the second reception procedure are sent to the first communication device. A second sending procedure to send to It may be caused to execute.
In such a data transfer method, in the first reception procedure, an operation request from the first communication device and an operation response to the operation request transferred from the second communication device are collectively received. It is preferable to provide a procedure for transmitting each operation request and each operation response received in the second reception procedure to the first communication device in a batch in the second transmission procedure.

また、第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法において、上記仲介装置に、上記第1の通信装置から、SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手順と、その第1の受信手順で受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手順と、上記各第2の通信装置から、上記第1の通信装置に転送すべきSOAPリクエストと、上記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手順と、その第2の受信手順で受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手順で受信したHTTPリクエストに対するHTTPレスポンスに記載して上記第1の通信装置に送信する第2の送信手順とを実行させるようにしてもよい。   Further, in a data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device, the intermediary device is transferred from the first communication device, A first reception procedure for receiving a SOAP request and a SOAP response to the SOAP request transferred from the second communication device in a state described in the HTTP request, and each SOAP request received in the first reception procedure And a SOAP response from the second communication device, the first transmission procedure for transmitting the SOAP request in accordance with the type of the SOAP request and the SOAP response to the second communication device serving as a transfer destination in the HTTP request, A SOAP request to be transferred to one communication device and a SOAP request transferred from the first communication device. The second reception procedure for receiving the SOAP response to the est in the state described in the HTTP response, and each SOAP request and each SOAP response received in the second reception procedure are received in the first reception procedure. You may make it perform the 2nd transmission procedure described in the HTTP response with respect to an HTTP request, and transmitting to the said 1st communication apparatus.

このようなデータ転送方法において、上記第1の受信手順に、上記第1の通信装置から、SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手順を設け、上記第2の送信手順に、上記第2の受信手順で受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手順が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して上記第1の通信装置に送信する手順を設けてもよい。   In such a data transfer method, in the first reception procedure, a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device are sent as one HTTP request. The procedure for receiving in the state described above is provided, and each SOAP request and each SOAP response received in the second reception procedure are added to the second transmission procedure with respect to the HTTP request received by the first reception procedure. You may provide the procedure described in one HTTP response and transmitting to the said 1st communication apparatus.

また、この発明のプログラムは、コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムにおいて、上記コンピュータを、上記第1の通信装置から動作要求を受信する第1の受信手段と、その受信手段が受信した各動作要求を、その動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手段と、その第2の受信手段が受信した各動作応答を上記第1の通信装置に送信する第2の送信手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記第1の受信手段に、上記第1の通信装置から、複数の動作要求を一括して受信する機能を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作応答を一括して上記第1の通信装置に送信する機能を設けるとよい。
According to another aspect of the present invention, there is provided a program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices. A first receiving means for receiving an operation request from the communication apparatus; and a first transmitting means for transmitting each operation request received by the receiving means to a second communication apparatus serving as a transfer destination according to the type of the operation request. The second receiving means for receiving an operation response to the operation request transferred from the first communication apparatus from each of the second communication apparatuses, and the operation responses received by the second receiving means are described above. It is a program for making it function as a 2nd transmission means to transmit to a 1st communication apparatus.
In such a program, the first receiving unit is provided with a function of collectively receiving a plurality of operation requests from the first communication device, and the second transmitting unit is provided with the second receiving unit. It is preferable to provide a function for collectively transmitting the operation responses received by the first communication apparatus.

また、コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムにおいて、上記コンピュータを、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手段と、その第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置に転送すべき動作要求と、上記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手段と、その第2の受信手段が受信した各動作要求と各動作応答とを上記第1の通信装置に送信する第2の送信手段として機能させるためのプログラムとしてもよい。
また、このようなプログラムにおいて、上記第1の受信手段に、上記第1の通信装置から、動作要求と、上記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する機能を設け、上記第2の送信手段に、上記第2の受信手段が受信した各動作要求と各動作応答とを一括して上記第1の通信装置に送信する機能を設けてもよい。
In a program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices, the computer requests the operation request from the first communication device. And a first receiving means for receiving an operation response to the operation request transferred from the second communication device, and each operation request and operation response received by the first receiving means. First transmission means for transmitting to the second communication device as the transfer destination according to the type of the operation response, the operation request to be transferred from each of the second communication devices to the first communication device, and the first Second receiving means for receiving an operation response to the operation request transferred from the communication device, and transmitting each operation request and each operation response received by the second receiving means to the first communication device. Second to Or as a program for causing to function as signal means.
Further, in such a program, the first receiving means collectively receives an operation request from the first communication device and an operation response to the operation request transferred from the second communication device. And a function of collectively transmitting each operation request and each operation response received by the second receiving unit to the first communication device.

また、コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムにおいて、上記コンピュータを、上記第1の通信装置から、SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、その第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手段と、上記各第2の通信装置から、上記第1の通信装置に転送すべきSOAPリクエストと、上記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手段と、その第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して上記第1の通信装置に送信する第2の送信手段として機能させるためのプログラムとしてもよい。   In a program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices, the computer receives a SOAP request from the first communication device. And a first receiving means for receiving a SOAP response to the SOAP request transferred from the second communication apparatus in a state described in the HTTP request, and each SOAP request and SOAP received by the first receiving means. From the first transmission means for transmitting the response in the form of an HTTP request to the second communication device as the transfer destination according to the type of each SOAP request and SOAP response, and from each of the second communication devices, A SOAP request to be transferred to the communication device, and transferred from the first communication device A second receiving means for receiving a SOAP response to the OAP request in a state described in the HTTP response, and each SOAP request and each SOAP response received by the second receiving means are received by the first receiving means. It is good also as a program for functioning as a 2nd transmission means described in the HTTP response with respect to the HTTP request which transmitted to the said 1st communication apparatus.

このようなプログラムにおいて、上記第1の受信手段に、上記第1の通信装置から、SOAPリクエストと、上記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する機能を設け、上記第2の送信手段に、上記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、上記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して上記第1の通信装置に送信する機能を設けるとよい。   In such a program, the first receiving unit describes the SOAP request from the first communication device and the SOAP response to the SOAP request transferred from the second communication device in one HTTP request. A function for receiving in the state, and each SOAP request received by the second receiving means and each SOAP response to the second transmitting means for one HTTP request received by the first receiving means. It is good to provide the function described in an HTTP response and transmitting to the said 1st communication apparatus.

また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。   The recording medium of the present invention is a computer-readable recording medium on which any one of the above programs is recorded.

以上のようなこの発明の仲介装置、分散処理システム、又はデータ転送方法によれば、ある通信装置が複数の通信装置に動作要求を送信してその動作要求に対する動作応答を受け取るような通信システムを構成する場合において、宛先情報の管理負担を低減すると共に、システム構成が変更された場合でも安定して動作させられる通信システムを構成可能にすることができる。また、この発明のプログラムによれば、コンピュータを上記の仲介装置として機能させてその特徴を実現し、同様な効果を得ることができる。この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。   According to the intermediary device, distributed processing system, or data transfer method of the present invention as described above, a communication system in which a certain communication device transmits an operation request to a plurality of communication devices and receives an operation response to the operation request. In the configuration, it is possible to reduce the burden of managing destination information and to configure a communication system that can be stably operated even when the system configuration is changed. Further, according to the program of the present invention, a computer can be made to function as the mediation device described above to realize its characteristics, and similar effects can be obtained. According to the recording medium of the present invention, the above effect can be obtained by causing a computer not storing the above program to read and execute the program.

以下、この発明を実施するための最良の形態について、図面を参照して説明する。
〔実施形態〕
まず、この発明の仲介装置である仲介サーバ及び、その仲介サーバを用いて構成した通信システムである分散処理システムの1つの実施形態について説明する。図1は、その分散処理システムの構成を示すブロック図である。
The best mode for carrying out the present invention will be described below with reference to the drawings.
Embodiment
First, one embodiment of a mediation server that is a mediation device of the present invention and a distributed processing system that is a communication system configured using the mediation server will be described. FIG. 1 is a block diagram showing the configuration of the distributed processing system.

図1に示すように、この分散処理システムは、第1の通信装置である端末装置10と、第2の通信装置である複数の処理サーバ13と、これらの間の通信を仲介する仲介サーバ12を備える。そして、このうち端末装置10を顧客先(ユーザ側)の設置環境に配置し、これらと仲介サーバ12とがインターネット14を介して通信可能な構成としている。そして、処理サーバ13が提供する機能を端末装置10から利用する場合に、端末装置10から要求を仲介サーバ12に送信するのみで、仲介サーバ12がその要求を適切な処理サーバ13に転送し、処理サーバ13が提供する機能を利用することができるシステムを構成している。
なお、ここではシステムの理解を容易にするために「仲介サーバ」及び「処理サーバ」の用語を用いているが、これは、これらの装置をネットワーク上で「サーバ」としての機能を果たす装置には限定する意図ではない。
As shown in FIG. 1, this distributed processing system includes a terminal device 10 that is a first communication device, a plurality of processing servers 13 that are second communication devices, and an intermediary server 12 that mediates communication between them. Is provided. Of these, the terminal device 10 is arranged in the installation environment of the customer (user side), and these and the mediation server 12 can communicate with each other via the Internet 14. When the function provided by the processing server 13 is used from the terminal device 10, only the request is transmitted from the terminal device 10 to the mediation server 12, and the mediation server 12 transfers the request to the appropriate processing server 13. The system which can utilize the function which the processing server 13 provides is comprised.
Note that the terms “mediation server” and “processing server” are used here to facilitate the understanding of the system. Is not intended to be limiting.

また、端末装置10としては、通信機能を有する公知のPC(パーソナルコンピュータ)を使用することも考えられるが、種々の電子装置に通信機能を設けた通信装置が考えられる、例えば、プリンタ,FAX装置,デジタル複写機,スキャナ装置,デジタル複合機等の画像処理装置や、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等に通信機能を持たせた通信装置が考えられる。   The terminal device 10 may be a known PC (personal computer) having a communication function. However, a communication device in which various electronic devices are provided with a communication function may be considered. For example, a printer, a FAX device, and the like. Communicate to image processing devices such as digital copiers, scanner devices, digital multifunction devices, network home appliances, vending machines, medical equipment, power supply devices, air conditioning systems, gas / water / electric metering systems, automobiles, aircraft, etc. A communication device having a function can be considered.

また、端末装置10は、破線で示したように複数設けることも可能であり、異なる種類の装置を混在させることもできる。
さらに、各顧客先環境内の端末装置10は、LAN(ローカルエリアネットワーク)に接続して設けているが、セキュリティ面を考慮し、ファイアウォール11を介してLANをインターネット14に接続している。
Further, a plurality of terminal devices 10 can be provided as indicated by broken lines, and different types of devices can be mixed.
Further, the terminal device 10 in each customer environment is connected to a LAN (Local Area Network), but the LAN is connected to the Internet 14 via a firewall 11 in consideration of security.

ここで、ファイアウォール11は通常は外部からの通信要求を遮断するよう設定されているため、仲介サーバ12は、HTTP(Hyper Text Transfer Protocol)リクエストのような通信要求を送信するだけではファイアウォール11の内側の端末装置10に情報を送信することができない。従って、仲介サーバ12と端末装置10とが情報を授受するためには、特殊なプロトコルを採用する必要がある。   Here, since the firewall 11 is normally set to block communication requests from the outside, the mediation server 12 only has to transmit a communication request such as an HTTP (Hyper Text Transfer Protocol) request to the inside of the firewall 11. Information cannot be transmitted to the terminal device 10. Therefore, in order for the mediation server 12 and the terminal device 10 to exchange information, it is necessary to employ a special protocol.

また、処理サーバ13は、ここでは仲介サーバ12と接続した2台のみを示しているが、多様な階層構造を成す配置とすることができるし、システムの運用中に配置を変更することも可能である。このようにしても、後述するように仲介サーバ12でコマンドの転送先を管理しているので、この転送先管理のデータを変更することにより、容易にシステム構成の変更に対応可能である。
さらに、ここでは処理サーバ13と仲介サーバ12との間の接続はインターネット14とは異なる線で示しているが、これらがインターネット14を介して通信可能な構成とすることも、もちろん可能である。
In addition, although only two processing servers 13 connected to the mediation server 12 are shown here, they can be arranged in various hierarchical structures, and the arrangement can be changed during the operation of the system. It is. Even in this case, since the transfer destination of the command is managed by the mediation server 12 as will be described later, it is possible to easily cope with a change in the system configuration by changing the data of the transfer destination management.
Furthermore, here, the connection between the processing server 13 and the mediation server 12 is indicated by a line different from the Internet 14, but it is of course possible to adopt a configuration in which these can communicate via the Internet 14.

また、このような分散処理システムにおいて、処理サーバ13は、端末装置10からの動作要求に応じた動作を行ったり、端末装置10に動作要求を送信したりするためのアプリケーションプログラムを実装している。仲介サーバ12は、端末装置10と各処理サーバ13との間で動作要求及びその動作要求に対する動作応答の送受信を仲介するためのアプリケーションプログラムを実装している。さらに、仲介サーバ12は処理サーバとしての機能を実現するためのアプリケーションプログラムも実装している。そして、端末装置10も含め、この分散処理システムにおけるこれら各ノードは、RPC(remote procedure call)により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「動作要求」を送信し、この依頼された処理の結果である「動作応答」を取得することができるようになっている。   In such a distributed processing system, the processing server 13 is mounted with an application program for performing an operation according to an operation request from the terminal device 10 or transmitting an operation request to the terminal device 10. . The mediation server 12 has an application program for mediating transmission / reception of an operation request and an operation response to the operation request between the terminal device 10 and each processing server 13. Further, the mediation server 12 is also mounted with an application program for realizing a function as a processing server. Each of these nodes in this distributed processing system, including the terminal device 10, transmits an “operation request” that is a request for processing for a method of an application program to be implemented by RPC (remote procedure call). It is possible to acquire an “operation response” that is a result of the processed processing.

なお、ここではメソッドを、入力と出力の形式を規定した論理的な関数として定義するものとする。そしてこの場合、動作要求はこの関数を呼び出す関数呼び出し(Procedure Call)となり、動作応答はその関数呼び出しによって呼び出された関数の実行結果となる。動作要求による要求の内容には、意味のある実行結果を伴わない通知も含まれる。   Here, the method is defined as a logical function that defines the format of input and output. In this case, the operation request is a function call for calling this function (Procedure Call), and the operation response is an execution result of the function called by the function call. The content of the request by the operation request includes a notification without a meaningful execution result.

図2に、これらの動作要求と動作応答の関係を示す。なお、この図においてはファイアウォール11の存在は考慮していない。
図2(A)は、端末装置10で処理サーバ13に対する動作要求が発生したケースである。このケースでは、端末装置10が端末装置側動作要求aを生成し、これを仲介サーバ12を経由して受け取った処理サーバ13がこの動作要求に対する動作応答aを返すというモデルになる。
FIG. 2 shows the relationship between these operation requests and operation responses. In this figure, the presence of the firewall 11 is not considered.
FIG. 2A shows a case where an operation request for the processing server 13 is generated in the terminal device 10. In this case, the terminal device 10 generates a terminal device side operation request a, and the processing server 13 that has received the request via the mediation server 12 returns an operation response a to the operation request.

なおこのとき、後述するように、端末装置10側では、動作要求が最終的にどの処理サーバ13に転送されるかを把握している必要はなく、単に仲介サーバ12に動作要求を送信すれば、仲介サーバ12が適切な処理サーバ13にその動作要求を転送し、その処理サーバ13から動作応答を受信して端末装置10に返すようにしている。また、端末装置側動作要求aが複数の仲介サーバ12に順次仲介されて処理サーバ13に到達するケースも想定できる。   At this time, as will be described later, on the terminal device 10 side, it is not necessary to know to which processing server 13 the operation request is finally transferred, and if the operation request is simply transmitted to the mediation server 12. The intermediary server 12 transfers the operation request to an appropriate processing server 13, receives an operation response from the processing server 13, and returns it to the terminal device 10. Further, it can be assumed that the terminal device side operation request a is sequentially mediated by a plurality of mediation servers 12 and reaches the processing server 13.

また、図2(A)では、応答aだけでなく遅延通知a′を返信するケースも表記している。これは処理サーバ13が、接続してきた仲介サーバ12から端末装置側動作要求aを受け取って、これとの接続中にその動作要求に対する応答を返せないと判断したときには、応答が遅延する旨を通知して一旦接続状態を切断し、後の接続の際に上記動作要求に対する応答を改めて引き渡す構成になっているためである。   FIG. 2A also shows a case in which not only the response a but also a delay notification a ′ is returned. When the processing server 13 receives the terminal device side operation request a from the connected intermediary server 12 and determines that a response to the operation request cannot be returned during connection with the processing server 13, a notification is made that the response is delayed. This is because the connection state is once disconnected, and a response to the operation request is delivered again at the time of subsequent connection.

図2(B)は、端末装置10で仲介サーバ12に対する動作要求が発生したケースである。このケースでは、端末装置10が、例えば、端末装置側動作要求bを生成し、これを受け取った仲介サーバ12が、その動作要求に対する動作応答bを返すというモデルになる。ただし、この場合にも、端末装置10側では図2(A)の場合と異なる対応をする必要はない。そして、図2(A)の場合と同様に仲介サーバ12に動作要求を送信すれば、仲介サーバ12側で、自身で実行すべき動作要求を判別し、自身で実行すべきと認識した場合に、処理サーバ13への転送に代えて動作要求に係る動作を実行するようにしている。
また、図2(B)のケースでも、応答を即座に返せないときに遅延通知b′を返すことは図2(A)のケースと同様である。
FIG. 2B shows a case where an operation request for the mediation server 12 is generated in the terminal device 10. In this case, for example, the terminal device 10 generates a terminal device side operation request b, and the intermediary server 12 that has received the request returns an operation response b to the operation request. However, also in this case, it is not necessary to deal with the terminal device 10 differently from the case of FIG. If the operation request is transmitted to the mediation server 12 as in the case of FIG. 2A, the mediation server 12 side determines the operation request to be executed by itself and recognizes that it should execute by itself. Instead of transferring to the processing server 13, an operation related to the operation request is executed.
Also in the case of FIG. 2B, returning the delay notification b ′ when the response cannot be returned immediately is the same as in the case of FIG.

図2(C)は、処理サーバ13で、端末装置10に対する動作要求が発生したケースである。このケースでは、処理サーバ13が処理サーバ側動作要求cを生成し、これを仲介サーバ12を経由して受け取った端末装置10が、その動作要求に対する動作応答cを返すというモデルになる。
図2(D)は、仲介サーバ12で端末装置10に対する動作要求が発生したケースである。このケースでは、仲介サーバ12が仲介サーバ側動作要求dを生成し、これを受け取った端末装置10が、その動作要求に対する動作応答dを返すというモデルになる。
FIG. 2C shows a case where an operation request for the terminal device 10 is generated in the processing server 13. In this case, the processing server 13 generates a processing server side operation request c, and the terminal device 10 that receives the processing server side operation request c via the mediation server 12 returns an operation response c to the operation request.
FIG. 2D shows a case where an operation request for the terminal device 10 is generated by the mediation server 12. In this case, the mediation server 12 generates a mediation server-side operation request d, and the terminal device 10 that receives the mediation server-side operation request d returns an operation response d to the operation request.

これらの図2(C)及び(D)の場合も、端末装置側では動作応答をどのサーバに返すかを認識している必要はなく、全ての動作応答を仲介サーバ12に送信すれば、仲介サーバ12側で適切な相手(自分自身も含む)に転送するようにしている。
遅延通知については、図2(C)及び(D)の場合も、図2(A)や(B)の場合と同様である。
なお、ここではRPCによる引数並びに戻り値の受け渡しのプロトコルとしてSOAP(Simple Object Access Protocol)を採用し、上記の動作要求や動作応答は、ここではSOAPメッセージとして記載するようにしている。
2C and 2D, it is not necessary for the terminal device side to recognize which server the operation response is returned to, and if all the operation responses are transmitted to the intermediary server 12, the intermediary is performed. The server 12 side forwards it to an appropriate partner (including myself).
The delay notification is the same as in FIGS. 2A and 2B in the cases of FIGS.
Here, SOAP (Simple Object Access Protocol) is adopted as a protocol for passing arguments and return values by RPC, and the above operation request and response are described here as SOAP messages.

この実施形態では、このように端末装置10のような通信装置が処理サーバ13のような複数の通信相手との間で互いに動作要求及び受信した動作要求に対する動作応答を送受信する場合において、その送受信を仲介する仲介装置として仲介サーバ12を設け、その仲介サーバ12が端末装置10から受信した動作要求の種別に従って転送先となる処理サーバ13に動作要求を転送し、また処理サーバ13からの動作応答を動作要求の送信元の端末装置10に返すようにしている。ここで、動作要求は上記通信装置からのみ送信し、上記通信相手はこの動作要求に対する動作応答のみを上記通信装置に送信する構成であっても構わない。   In this embodiment, when a communication device such as the terminal device 10 transmits / receives an operation request and an operation response to the received operation request to / from a plurality of communication partners such as the processing server 13 as described above, the transmission / reception is performed. An intermediary server 12 is provided as an intermediary device that mediates the process, and the intermediary server 12 forwards the operation request to the processing server 13 as a transfer destination according to the type of the operation request received from the terminal device 10, and the operation response from the processing server 13 Is returned to the terminal device 10 that is the source of the operation request. Here, the operation request may be transmitted only from the communication device, and the communication partner may transmit only the operation response to the operation request to the communication device.

そして、実際に動作要求や動作応答を転送するための通信プロトコルとしては、システムの構成に合わせて適当なものを採用することができ、例えばHTTP(HyperText Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)あるいはFTP(File Transfer Protocol)等を採用することができる。ここでは、この中でHTTPを採用する場合の例について説明する。   As a communication protocol for actually transferring an operation request or an operation response, an appropriate protocol can be adopted according to the system configuration, for example, HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol). Alternatively, FTP (File Transfer Protocol) or the like can be employed. Here, an example in which HTTP is adopted will be described.

次に、この実施形態について、より具体的な例を用いて説明する。
ここでは、図1に示した分散処理システムのより具体的な実施例として、第1の通信装置である画像処理装置100から、それぞれ第2の通信装置である販売管理サーバ103aや情報配信サーバ103bによって提供されるサービスを利用し、これらの装置間の通信をこの発明の仲介装置である機器管理サーバ102によって仲介する遠隔管理システムについて説明する。このシステムにおいて、画像処理装置100は、機器管理サーバ102によって提供されるサービスを利用することもできる。
図3は、その分散処理システムの構成の一例を示す概念図であるが、端末装置10を画像処理装置100に変更し、各サーバに具体的な名称をつけた点が図1と相違するのみであるので、システムの全体構成についての説明は省略する。
Next, this embodiment will be described using a more specific example.
Here, as a more specific embodiment of the distributed processing system shown in FIG. 1, from the image processing apparatus 100 as the first communication apparatus to the sales management server 103a and the information distribution server 103b as the second communication apparatuses, respectively. A remote management system that uses the service provided by, and mediates communication between these devices by the device management server 102 that is an intermediary device of the present invention will be described. In this system, the image processing apparatus 100 can also use a service provided by the device management server 102.
FIG. 3 is a conceptual diagram showing an example of the configuration of the distributed processing system. However, the terminal device 10 is changed to the image processing device 100, and only specific names are given to the respective servers, which are different from FIG. Therefore, the description about the whole system configuration is omitted.

なお、ここでは画像処理装置100を1台のみ設けた例を示しているが、これを始めとする端末装置を複数設けてもよいことは図1に示した通りである。以後の説明において、説明を簡単にするため、基本的には端末装置は1台の画像処理装置100のみであるものとして説明するが、端末装置を複数設けた場合にも容易に拡張して適用できるよう、一部の処理やデータについては、端末装置が複数ある例も、特に断らずに示す。この場合でも、その複数の端末装置のうち一つが画像処理装置100であるものとして取り扱えば、図3に示したようなシステムにも問題なく適用できる。   Here, an example in which only one image processing apparatus 100 is provided is shown, but a plurality of terminal apparatuses including this may be provided as shown in FIG. In the following description, in order to simplify the description, it is basically assumed that the terminal device is only one image processing device 100. However, the present invention can be easily extended and applied even when a plurality of terminal devices are provided. In order to be able to do so, an example in which there are a plurality of terminal devices is shown for some processes and data without particular notice. Even in this case, if one of the plurality of terminal apparatuses is handled as the image processing apparatus 100, the present invention can be applied to the system shown in FIG.

ところで、画像処理装置100は、コピー、ファクシミリ、スキャナ等の機能及び外部装置と通信を行う機能を備えたデジタル複合機であり、それらの機能に係るサービスを提供するためのアプリケーションプログラムを実装しているものである。
また、機器管理サーバ102は、処理サーバと画像処理装置100との間の通信を仲介する仲介サーバとしての機能の他に、画像処理装置100の遠隔管理及び保守に関するサービスを提供する機能を有する。
販売管理サーバ103aは、画像処理装置100における消耗品やサプライの注文受付や販売に関するサービスを提供する機能を有する。そして、情報配信サーバ103bは、画像処理装置100のユーザに対してニュースや案内あるいは製品紹介等の種々の情報を配信するサービスを提供する機能を有する。
By the way, the image processing apparatus 100 is a digital multi-function peripheral having functions such as copying, facsimile, and scanner, and a function for communicating with an external apparatus, and an application program for providing a service related to these functions is installed. It is what.
The device management server 102 has a function of providing services related to remote management and maintenance of the image processing apparatus 100 in addition to a function as a mediation server that mediates communication between the processing server and the image processing apparatus 100.
The sales management server 103a has a function of providing services related to order reception and sales of consumables and supplies in the image processing apparatus 100. The information distribution server 103b has a function of providing a service for distributing various information such as news, guidance, and product introduction to the user of the image processing apparatus 100.

そして、これらの各ノードは、RPC(remote procedure call)により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「動作要求」を送信し、この依頼された処理の結果である「動作応答」を取得することができるようになっている。
なお、以後の説明においては、特にサービスの内容に関する説明をする場合以外は、機器管理サーバ102を仲介サーバ102と呼び、販売管理サーバ103a及び情報配信サーバ103bを併せて処理サーバ103と呼ぶことにする。
Then, each of these nodes transmits an “operation request” that is a request for processing for a method of the application program to be implemented by RPC (remote procedure call), and “operation response” is a result of the requested processing. Can be acquired.
In the following description, the device management server 102 will be referred to as an intermediary server 102, and the sales management server 103a and the information distribution server 103b will be collectively referred to as a processing server 103, unless specifically describing the contents of the service. To do.

図4に、これらの動作要求と動作応答の関係を示す。なお、この図においてもファイアウォール11の存在は考慮していない。
図4(A)は、画像処理装置100で処理サーバ103に対する動作要求が発生したケースである。このケースでは、画像処理装置100が画像処理装置側動作要求a(以下、「端末装置コマンド」とも呼ぶ)を生成し、これを仲介サーバ102を経由して受け取った処理サーバ103がこのコマンドに対する動作応答a(以下、「コマンド応答」あるいは単に「応答」とも呼ぶ)を返すというモデルになる。なお、画像機器側動作要求aが複数の仲介サーバ102に順次仲介されて処理サーバ103に到達するケースも想定できる。
FIG. 4 shows the relationship between these operation requests and operation responses. In this figure, the presence of the firewall 11 is not considered.
FIG. 4A shows a case where an operation request for the processing server 103 is generated in the image processing apparatus 100. In this case, the image processing apparatus 100 generates an image processing apparatus side operation request a (hereinafter also referred to as a “terminal apparatus command”), and the processing server 103 that has received the request via the mediation server 102 performs an operation for this command. It is a model that returns a response a (hereinafter also referred to as “command response” or simply “response”). It can be assumed that the operation request a on the image equipment side is sequentially mediated by a plurality of mediation servers 102 and reaches the processing server 103.

図4(B)は、画像処理装置100で仲介サーバ102に対する動作要求が発生したケースである。このケースでは、画像処理装置100が、例えば、画像処理装置側動作要求bを生成し、これを受け取った仲介サーバ102が、そのコマンドに対する動作応答bを返すというモデルになる。
これらの図4(A),(B)の場合において、画像処理装置100側で、動作要求が最終的にどこに転送されるかを把握している必要がない点は、図2の場合と同様である。
FIG. 4B shows a case where an operation request for the mediation server 102 is generated in the image processing apparatus 100. In this case, for example, the image processing apparatus 100 generates an image processing apparatus-side operation request b, and the mediation server 102 that has received the request returns an operation response b to the command.
4A and 4B, the image processing apparatus 100 does not need to know where the operation request is finally transferred in the same manner as in FIG. It is.

図4(C)は、処理サーバ103で、画像処理装置100に対する動作要求が発生したケースである。このケースでは、処理サーバ103が処理サーバ側動作要求c(以下、「処理サーバコマンド」とも呼ぶ)を生成し、これを仲介サーバ102を経由して受け取った画像処理装置100が、その動作要求に対する動作応答cを返すというモデルになる。
図4(D)は、仲介サーバ102で画像処理装置100に対する動作要求が発生したケースである。このケースでは、仲介サーバ102が仲介サーバ側動作要求(以下、「仲介サーバコマンド」とも呼ぶ)dを生成し、これを受け取った画像処理装置100が、そのコマンドに対する動作応答dを返すというモデルになる。
FIG. 4C shows a case where an operation request for the image processing apparatus 100 is generated in the processing server 103. In this case, the processing server 103 generates a processing server side operation request c (hereinafter also referred to as “processing server command”), and the image processing apparatus 100 that has received the request via the mediation server 102 responds to the operation request. It is a model that returns an operation response c.
FIG. 4D shows a case where an operation request for the image processing apparatus 100 is generated in the mediation server 102. In this case, the mediation server 102 generates a mediation server side operation request (hereinafter also referred to as “mediation server command”) d, and the image processing apparatus 100 that has received the request returns an operation response d to the command. Become.

これらの図4(C),(D)の場合において、画像処理装置100側で、動作応答が最終的にどこに転送されるかを把握している必要がない点は、図2の場合と同様である。
また、図4(A)乃至(D)の全てについて、応答を即座に返せないときに遅延通知を返信することは、図2(A)の場合と同様である。
このように、動作要求及び動作応答は、RPCのレベルでは、画像処理装置100と処理サーバ103との間及び画像処理装置100と仲介サーバ102との間で対称に取り扱われるものである。しかし、通信のレベルでは対称ではない。
In the case of FIGS. 4C and 4D, the image processing apparatus 100 does not need to know where the operation response is finally transferred, as in FIG. It is.
In addition, in all of FIGS. 4A to 4D, when a response cannot be returned immediately, a delay notification is returned as in the case of FIG.
As described above, the operation request and the operation response are handled symmetrically between the image processing apparatus 100 and the processing server 103 and between the image processing apparatus 100 and the mediation server 102 at the RPC level. However, it is not symmetrical at the communication level.

次に、この通信システムにおける通信シーケンスについて説明する。
まず、図5に画像処理装置と仲介サーバとの間の通信シーケンスの例を示す。
この図に示すように、画像処理装置100と仲介サーバ102とは、通信要求であるHTTPリクエストと、その通信要求に対する通信応答であるHTTPレスポンスとを、互いに送受信することによって通信を行っている。
Next, a communication sequence in this communication system will be described.
First, FIG. 5 shows an example of a communication sequence between the image processing apparatus and the mediation server.
As shown in this figure, the image processing apparatus 100 and the mediation server 102 communicate with each other by transmitting and receiving an HTTP request that is a communication request and an HTTP response that is a communication response to the communication request.

しかし、画像処理装置100と仲介サーバ102との間にはファイアウォール11があるため、この図に示すように、通信は常に、画像処理装置100から通信要求としてHTTPリクエストを仲介サーバ102に送信し、仲介サーバ102からこの通信要求に対する通信応答としてHTTPレスポンスを画像処理装置100に返すという手順で行われる。例えば画像処理装置100が送信したHTTPリクエストXに対して仲介サーバ102がHTTPレスポンスXを返し、同じくHTTPリクエストYに対してHTTPレスポンスYを返すという具合である。   However, since there is a firewall 11 between the image processing apparatus 100 and the mediation server 102, as shown in this figure, communication always sends an HTTP request as a communication request from the image processing apparatus 100 to the mediation server 102. The procedure is performed by returning an HTTP response from the mediation server 102 to the image processing apparatus 100 as a communication response to the communication request. For example, the mediation server 102 returns an HTTP response X to the HTTP request X transmitted by the image processing apparatus 100, and similarly returns an HTTP response Y to the HTTP request Y.

そして、画像処理装置100からのHTTPリクエストには、画像処理装置100からの仲介サーバ102又は処理サーバ103に対する動作要求である端末装置コマンドと、処理サーバ103から仲介サーバ102を介して画像処理装置100に送信されてきた処理サーバコマンドに対する応答(コマンド応答)と、仲介サーバ102から画像処理装置100に送信されてきた仲介サーバコマンドに対する応答とを記載して送信するようにしている。   The HTTP request from the image processing apparatus 100 includes a terminal device command that is an operation request to the mediation server 102 or the processing server 103 from the image processing apparatus 100, and the image processing apparatus 100 from the processing server 103 via the mediation server 102. A response (command response) to the processing server command transmitted to the image processing apparatus and a response to the mediation server command transmitted from the mediation server 102 to the image processing apparatus 100 are described and transmitted.

なお、端末装置コマンドについては、画像処理装置100側では、仲介サーバ102又は処理サーバ103のいずれかに対して送信すべきものであることのみを把握していればよい。
そして、仲介サーバ102からのHTTPレスポンスには、処理サーバ103からの画像処理装置100に対する動作要求である処理サーバコマンドと、仲介サーバ102からの画像処理装置100に対する動作要求である仲介サーバコマンドと、画像処理装置100からの仲介サーバ102又は処理サーバ103に対する端末装置コマンドに対する応答とを記載して送信するようにしている。
As for the terminal device command, the image processing apparatus 100 only needs to know that it should be transmitted to either the mediation server 102 or the processing server 103.
The HTTP response from the mediation server 102 includes a processing server command that is an operation request from the processing server 103 to the image processing apparatus 100, and a mediation server command that is an operation request from the mediation server 102 to the image processing apparatus 100. A response to the terminal device command from the image processing apparatus 100 to the mediation server 102 or the processing server 103 is described and transmitted.

応答については、どの端末装置コマンドに対する応答かがわかるようにしておけば、どの仲介サーバ102又は処理サーバ103からの応答であるかを具体的に特定できるようにする必要はない。また、遅延通知を送信する場合には、上記応答に代えて遅延通知を記載してもよい。
また、この例からわかるように、例えば端末装置コマンドA及びBは、HTTPリクエストXに記載して転送し、それに対する応答あるいは遅延通知をそのHTTPリクエストXと対応するHTTPレスポンスXに記載して転送することができる。しかし、処理サーバコマンドCや仲介サーバコマンドDについては、HTTPリクエストXと対応するHTTPレスポンスXに記載して転送し、それに対する応答あるいは遅延通知は次のHTTPリクエストであるHTTPリクエストYに記載して転送することになる。
As long as the response to which terminal device command is known, it is not necessary to be able to specifically identify which intermediary server 102 or processing server 103 is the response. When a delay notification is transmitted, a delay notification may be described instead of the response.
Further, as can be seen from this example, for example, the terminal device commands A and B are described in the HTTP request X and transferred, and the response or delay notification is transferred in the HTTP response X corresponding to the HTTP request X and transferred. can do. However, the processing server command C and the mediation server command D are described and transferred in the HTTP response X corresponding to the HTTP request X, and the response or delay notification is described in the HTTP request Y that is the next HTTP request. Will be transferred.

さらに、上述した図4(A)又は(B)のケースでは、画像処理装置100は、端末装置コマンドを生成した後直ちに仲介サーバ102とコネクションを確立し、HTTPリクエストにこれを含めて引き渡すことができるが、図4(C)又は(D)のケースでは、画像処理装置100側に設置されたファイアウォール11が仲介サーバ102からのHTTPリクエストを遮断するため、仲介サーバ102側から直ちに画像処理装置100へアクセスして処理サーバコマンドを引き渡すことができないことになる。   Further, in the case of FIG. 4A or 4B described above, the image processing apparatus 100 can establish a connection with the mediation server 102 immediately after generating the terminal apparatus command, and deliver it including the HTTP request. However, in the case of FIG. 4C or 4D, since the firewall 11 installed on the image processing apparatus 100 side blocks the HTTP request from the mediation server 102, the image processing apparatus 100 immediately from the mediation server 102 side. Will not be able to access the processing server command.

次に、図6に仲介サーバと処理サーバとの間の通信シーケンスの例を示す。
仲介サーバ102と処理サーバ103との間には、ファイアウォールがあるとは限らない。しかし、処理サーバ103側で通信すべき相手を管理したり、通信を要求すべきタイミングを管理したりする負荷をなくすため、この図に示すように、通信は常に、仲介サーバ102から通信要求としてHTTPリクエストを処理サーバ103に送信し、処理サーバ103からこの通信要求に対する通信応答としてHTTPレスポンスを仲介サーバ102に返すという手順で行うようにしている。例えば仲介サーバ102が送信したHTTPリクエストZに対して処理サーバ103がHTTPレスポンスZを返し、同じくHTTPリクエストWに対してHTTPレスポンスWを返すという具合である。
Next, FIG. 6 shows an example of a communication sequence between the mediation server and the processing server.
There is not always a firewall between the mediation server 102 and the processing server 103. However, in order to eliminate the load of managing the other party on the processing server 103 side and managing the timing for requesting communication, as shown in FIG. An HTTP request is transmitted to the processing server 103, and an HTTP response is returned from the processing server 103 to the mediation server 102 as a communication response to the communication request. For example, the processing server 103 returns an HTTP response Z to the HTTP request Z transmitted from the mediation server 102, and similarly returns an HTTP response W to the HTTP request W.

そして、HTTPリクエストには、画像処理装置100から受信した端末装置コマンド及び画像機器100に送信した処理サーバコマンドに対する応答であって画像処理装置100から受信したもののうち、処理サーバ103に転送すべきと判断したものを記載して送信するようにしている。また、HTTPレスポンスには、処理サーバ103からの画像処理装置100宛ての動作要求である処理サーバコマンドと、処理サーバ103に転送した端末装置コマンドに対する応答とを記載して送信するようにしている。なお、遅延通知を送信する場合には、上記応答に代えて遅延通知を記載してもよい。   Then, the HTTP request is a response to the terminal device command received from the image processing apparatus 100 and the processing server command transmitted to the image device 100, and the one received from the image processing apparatus 100 should be transferred to the processing server 103. The judgment is described and transmitted. In addition, the HTTP response includes a processing server command, which is an operation request addressed to the image processing apparatus 100 from the processing server 103, and a response to the terminal device command transferred to the processing server 103, and is transmitted. When a delay notification is transmitted, a delay notification may be described instead of the response.

なお、端末装置コマンド、仲介サーバコマンド、処理サーバコマンド及びこれらに対する応答や遅延通知は、それぞれ任意の数ずつ(0でもよい)1つのHTTPリクエストやHTTPレスポンスに記載することができる。そして、1つのHTTPリクエスト又はHTTPレスポンスに記載した内容は、論理的に一括して転送する。
そして、このように、宛先や送信元の異なる動作要求や動作応答を一括して転送することにより、必要な情報を転送するために必要なコネクションの回数を減らし、オーバーヘッドを低減して通信の効率化を図ることができる。
It should be noted that the terminal device command, the mediation server command, the processing server command, and the response and delay notification to these can be described in one HTTP request or HTTP response in any number (may be 0). The contents described in one HTTP request or HTTP response are logically transferred collectively.
In this way, by transferring operation requests and operation responses with different destinations and sources in a batch, the number of connections required to transfer necessary information is reduced, overhead is reduced, and communication efficiency is reduced. Can be achieved.

図7に画像処理装置と仲介サーバとの間の別の通信シーケンスの例を示す。
説明のため、図5及び図6には極めて単純なシーケンス例を示したが、図7には、各HTTPリクエストやHTTPレスポンスに記載するコマンドやコマンド応答の数が一定でない例を示している。
また、コマンドに対して遅延通知を送信した場合に、次の送信機会の時点で応答を返す必要もない。例えば、図7に示す端末装置コマンドBのように遅延通知を記載したHTTPレスポンスX′の次のHTTPレスポンスY′に記載して応答を返さず、図示しないさらに後のHTTPレスポンス応答を返すようにしてもよい。
もちろん仲介サーバコマンドや処理サーバコマンドについても同様であり、遅延通知を記載したHTTPリクエストの次のHTTPリクエストにそのコマンドに対する応答を記載する必要はない。そして、さらに後のHTTPリクエストに記載して転送すればよい。
FIG. 7 shows an example of another communication sequence between the image processing apparatus and the mediation server.
For the sake of explanation, FIGS. 5 and 6 show a very simple sequence example, but FIG. 7 shows an example in which the number of commands and command responses described in each HTTP request and HTTP response is not constant.
Further, when a delay notification is transmitted in response to a command, it is not necessary to return a response at the next transmission opportunity. For example, the HTTP response Y ′ next to the HTTP response X ′ describing the delay notification as in the terminal device command B shown in FIG. May be.
Of course, the same applies to the mediation server command and the processing server command, and it is not necessary to describe a response to the command in the HTTP request next to the HTTP request in which the delay notification is described. And what is necessary is just to describe and transfer to a subsequent HTTP request.

ところで、各コマンド及びコマンド応答は、それぞれ独立して生成され、また処理に供されるべきものであるから、画像処理装置100と仲介サーバ102との間及び仲介サーバ102と処理サーバ103との間で上記のような一括転送を行うためには、転送前にこれらのコマンドやコマンド応答を結合し、また転送後に分離する処理が必要となる。次に、各装置のハードウェア構成と共に、このような処理を行うための機能構成及びその処理の手順について説明する。
なお、説明を簡単にするため、以後の説明では遅延通知に関する処理の記載を省略する。
By the way, each command and command response is generated independently and should be used for processing. In order to perform batch transfer as described above, it is necessary to combine these commands and command responses before transfer and separate them after transfer. Next, a hardware configuration of each device, a functional configuration for performing such processing, and a procedure of the processing will be described.
In addition, in order to simplify description, description of processing regarding delay notification is omitted in the following description.

まず、図8に仲介サーバのハードウェア構成の概略を示す。
図8は、仲介サーバ102の概略構成例を示すブロック図である。
この仲介サーバ102は、モデム121,通信端末122,外部接続I/F(インタフェース)123,操作者端末124,制御装置125,ファイルサーバ126等からなる。
モデム121は、図示しない公衆回線を介して機器利用者側(例えば画像処理装置を利用しているユーザ先)の画像処理装置100と通信するものであり、送受信するデータを変復調する。また、通信端末122は、モデム121による通信を制御するものである。そして、これらのモデム121と通信端末122により通信手段としての機能を果たす。
First, FIG. 8 shows an outline of the hardware configuration of the mediation server.
FIG. 8 is a block diagram illustrating a schematic configuration example of the mediation server 102.
The mediation server 102 includes a modem 121, a communication terminal 122, an external connection I / F (interface) 123, an operator terminal 124, a control device 125, a file server 126, and the like.
The modem 121 communicates with the image processing apparatus 100 on the device user side (for example, a user destination using the image processing apparatus) via a public line (not shown), and modulates and demodulates data to be transmitted and received. The communication terminal 122 controls communication by the modem 121. The modem 121 and the communication terminal 122 serve as communication means.

外部接続I/F123は、インターネット14あるいは専用線等によるネットワークを介した通信を行うためのインタフェースである。そして、ここを介して機器利用者側の画像処理装置100や、処理サーバ103との通信を行う。また、セキュリティ管理のためのプロキシサーバ等を設けてもよい。
操作者端末124は、各種データの入力をオペレータによるキーボード等の入力装置上の操作により受け付ける。入力されるデータとしては、例えば、各顧客先環境の画像処理装置100と通信する際に使用するそれらのIPアドレスや電話番号(発呼先電話番号)等の顧客情報がある。
The external connection I / F 123 is an interface for performing communication via a network such as the Internet 14 or a dedicated line. Then, communication is performed with the image processing apparatus 100 on the device user side and the processing server 103 via this. A proxy server for security management may be provided.
The operator terminal 124 accepts input of various data by operations on an input device such as a keyboard by an operator. The input data includes, for example, customer information such as their IP address and telephone number (calling destination telephone number) used when communicating with the image processing apparatus 100 in each customer's environment.

制御装置125は、図示しないCPU,ROM,RAM等からなるマイクロコンピュータを備えており、仲介サーバ102全体を統括的に制御する。そのCPUが、所要のプログラムに従って動作する(所要のプログラムを必要に応じて実行する)と共に、各部を必要に応じて選択的に使用することにより、各種処理を行うことができる。   The control device 125 includes a microcomputer (not shown) composed of a CPU, ROM, RAM, and the like, and controls the entire mediation server 102 in an integrated manner. The CPU operates in accordance with a required program (executes the required program as necessary), and various processes can be performed by selectively using each unit as necessary.

ファイルサーバ126は、図示しないハードディスク装置等の記憶装置を備え、そこに各顧客先環境の画像処理装置100のIPアドレスや電話番号、それらの装置から受信したデータ、管理対象の画像処理装置の識別情報、操作者端末124から入力されたデータ、各コマンドやコマンド応答の転送先を示す後述する転送先テーブル、およびこの発明に係わるプログラム等の各種データをそれぞれデータベース(DB)として記憶している。
なお、管理装置の構成はこれに限られることはなく、例えば1台のPCを用いて構成することもできる。
The file server 126 includes a storage device such as a hard disk device (not shown), in which the IP address and telephone number of the image processing apparatus 100 in each customer's environment, data received from those apparatuses, identification of the image processing apparatus to be managed Information, data input from the operator terminal 124, a transfer destination table to be described later indicating the transfer destination of each command and command response, and various data such as a program according to the present invention are stored as a database (DB).
The configuration of the management device is not limited to this, and can be configured using, for example, one PC.

次に、図9に画像処理装置のハードウェア構成を示す。
画像処理装置100はここでは、プリンタ、ファクシミリ(FAX)装置、デジタル複写機、スキャナ装置、文書管理装置等の機能を備えたデジタル複合機として構成しており、図9に示すように、CPU201,ASIC(Application Specific Integrated Circuit)202,SDRAM203,フラッシュメモリ(不揮発性メモリ)204,NRS用メモリ205,PHY(物理メディアインタフェース)206,NVRAM(不揮発性メモリ)207,操作部209,HDD(ハードディスクドライブ)210,モデム211,PI(パーソナルインタフェース)212,FCU(ファックスコントロールユニット)213,USB(Universal Serial Bus)214,IEEE(Institute of Electrical and Electronic Engineers)1394_215,エンジンインタフェース(I/F)216,およびエンジン部217を備えている。これらの構成が、画像読み取り、画像形成、画情報送信等の画像処理を行うためのハードウェア資源である。
Next, FIG. 9 shows a hardware configuration of the image processing apparatus.
Here, the image processing apparatus 100 is configured as a digital multi-function peripheral having functions of a printer, a facsimile (FAX) apparatus, a digital copying machine, a scanner apparatus, a document management apparatus, etc. As shown in FIG. ASIC (Application Specific Integrated Circuit) 202, SDRAM 203, flash memory (nonvolatile memory) 204, NRS memory 205, PHY (physical media interface) 206, NVRAM (nonvolatile memory) 207, operation unit 209, HDD (hard disk drive) 210, modem 211, PI (personal interface) 212, FCU (fax control unit) 213, USB (Universal Serial Bus) 214, IEEE (Institute of Electrical and Electronic Engineers) 1394_215, engine interface And a chromatography scan (I / F) 216 and the engine unit 217,. These configurations are hardware resources for performing image processing such as image reading, image formation, and image information transmission.

CPU201は、ASIC202を介してデータ処理(各機能の制御)を行う演算処理手段である。
ASIC202は、CPUインタフェース,SDRAMインタフェース,ローカルバスインタフェース,PCIインタフェース,MAC(Media Access Controller)、HDDインタフェースなどからなる多機能デバイスであり、CPU201の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリ(アプリケーションソフト)や共通システムサービスの開発の高効率化を支援するものである。
また、このASIC202には各エンジン部の操作命令等を受け付けるオペレーションパネル等による操作部209が直接的に接続されると共に、PHY206も直接的に接続される。また、FCU213やUSB214,IEEE1394_215及びエンジンI/F216がPCIバス218を介して接続され、必要に応じてモデム211やPI212等が直接接続される。
The CPU 201 is arithmetic processing means that performs data processing (control of each function) via the ASIC 202.
The ASIC 202 is a multi-function device including a CPU interface, an SDRAM interface, a local bus interface, a PCI interface, a MAC (Media Access Controller), an HDD interface, and the like. It helps to improve the efficiency of development of applications (application software) and common system services.
Further, the ASIC 202 is directly connected to an operation unit 209 such as an operation panel that receives an operation command of each engine unit, and a PHY 206 is also directly connected thereto. Further, the FCU 213, USB 214, IEEE 1394_215, and engine I / F 216 are connected via the PCI bus 218, and the modem 211, PI 212, and the like are directly connected as necessary.

そして、上記のCPU201は、このASIC202を介してフラッシュメモリ204やHDD210等の記憶手段から必要な制御プログラムを読み出し、SDRAM203等に展開して実行することにより、情報の処理を行う処理手段として機能することができる。
SDRAM203は、OSを含む各種プログラムを記憶するプログラムメモリや、CPU201がデータ処理を行う際に使用するワークメモリ等として使用するメインメモリである。なお、このSDRAM203の代わりに、DRAMやSRAMを使用してもよい。
The CPU 201 functions as a processing unit that processes information by reading out a necessary control program from a storage unit such as the flash memory 204 or the HDD 210 via the ASIC 202, and developing and executing the program on the SDRAM 203 or the like. be able to.
The SDRAM 203 is a main memory used as a program memory for storing various programs including an OS, a work memory used when the CPU 201 performs data processing, and the like. In place of the SDRAM 203, a DRAM or SRAM may be used.

フラッシュメモリ204は、例えば、画像処理装置100を起動させるブートローダ(ブートプログラム)やOSのファイルであるOSイメージ及び後述する処理を行うための種々のプログラムを記憶するプログラムメモリ、種々の固定パラメータを記憶する固定パラメータメモリ等として使用する不揮発性メモリ(記憶手段)であり、電源がオフになっても記憶内容を保持するようになっている。なお、このフラッシュメモリ204の代わりに、RAMと電池を利用したバックアップ回路を集積した不揮発性RAMや、EEPROM等の他の不揮発性メモリを使用してもよい。   The flash memory 204 stores, for example, a boot loader (boot program) that activates the image processing apparatus 100, an OS image that is an OS file, a program memory that stores various programs for performing processing to be described later, and various fixed parameters. This is a non-volatile memory (storage means) used as a fixed parameter memory or the like, and holds the stored contents even when the power is turned off. Instead of the flash memory 204, a nonvolatile RAM in which a backup circuit using a RAM and a battery is integrated, or another nonvolatile memory such as an EEPROM may be used.

NRS用メモリ205は、後述するNRSアプリを記憶する不揮発性メモリであり、オプションでNRS機能を追加することができる。
PHY206は、LANを介して外部装置と通信を行うためのインタフェースである。
NVRAM207は、例えば、この画像処理装置100の識別情報である機種機番を記憶する機種機番メモリ、操作部209による操作上の初期値を記憶するメモリ、各アプリ(APL)の初期値を記憶するメモリ、各カウンタ情報(課金カウンタのデータ等)を記憶するメモリ、自身や通信相手の設定状況、ネットワークアドレス情報、プロトコル等の機種情報を記憶するメモリ等として使用する不揮発性メモリ(記憶手段)であり、電源がオフになっても記憶内容を保持するようになっている。なお、このNVRAM207として、RAMと電池を利用したバックアップ回路を集積した不揮発性RAMや、EEPROM,フラッシュメモリ等の不揮発性メモリを使用することができる。
The NRS memory 205 is a non-volatile memory that stores an NRS application described later, and an NRS function can be added as an option.
The PHY 206 is an interface for communicating with an external device via a LAN.
The NVRAM 207 stores, for example, a model number memory that stores a model number that is identification information of the image processing apparatus 100, a memory that stores initial values for operations by the operation unit 209, and initial values for each application (APL). Non-volatile memory (storage means) used as a memory for storing counter information (charging counter data, etc.), a memory for storing setting information of itself and a communication partner, network address information, protocol information, etc. The stored contents are retained even when the power is turned off. As the NVRAM 207, a nonvolatile RAM in which a backup circuit using a RAM and a battery is integrated, or a nonvolatile memory such as an EEPROM or a flash memory can be used.

操作部209は、操作表示手段(操作手段および表示手段)である。
HDD210は、電源のオン・オフに関係なくデータを記憶保存する記憶手段(記録媒体)である。このHDD210に、上述したフラッシュメモリ204内のプログラムやそれ以外のデータ、あるいはNVRAM207内のデータを記憶しておくこともできる。また、定期的に収集、更新、送信等の処理を行う対象となるデータも、このHDD210に記憶させておくとよい。
モデム211は、変復調手段であり、仲介サーバ102へ公衆回線経由でデータを送信する場合、そのデータを公衆回線に流せる形に変調する。また、仲介サーバ102から送られてくる変調されたデータを受信した場合、そのデータを復調する。
The operation unit 209 is operation display means (operation means and display means).
The HDD 210 is a storage unit (recording medium) that stores and saves data regardless of whether the power is on or off. The HDD 210 can store the above-described program in the flash memory 204, other data, or data in the NVRAM 207. In addition, data that is subject to processing such as collection, update, and transmission periodically may be stored in the HDD 210.
The modem 211 is modulation / demodulation means. When transmitting data to the intermediary server 102 via the public line, the modem 211 modulates the data so that it can be sent to the public line. When the modulated data sent from the mediation server 102 is received, the data is demodulated.

PI212は、RS485規格に準拠したインタフェースを備え、図示しないラインアダプタを介して公衆回線に接続している。
FCU213は、FAX装置又はモデム機能(FAX通信機能)を有するデジタル複写機やデジタル複合機等の画像処理装置を始めとする外部装置との通信を公衆回線経由で制御する。
USB214及びIEEE1394_215はそれぞれ、周辺機器と通信を行うための、USB規格及びIEEE1394規格のインタフェースである。
エンジンI/F216は、エンジン部217をPCIバスに接続するためのインタフェースである。
エンジン部217は、公知のスキャナエンジン及びプロッタエンジン等からなる画像読み取り/形成用のエンジンや、プロッタエンジンによって画像を形成した用紙に、ソート、穴開け、ステープル処理等の後処理を行う後処理ユニット等が該当する。
The PI 212 includes an interface conforming to the RS485 standard, and is connected to a public line via a line adapter (not shown).
The FCU 213 controls communication with an external apparatus such as a digital copying machine or a digital multifunction peripheral having a FAX apparatus or a modem function (FAX communication function) via a public line.
USB 214 and IEEE 1394 — 215 are USB standard and IEEE 1394 standard interfaces for communicating with peripheral devices, respectively.
The engine I / F 216 is an interface for connecting the engine unit 217 to the PCI bus.
The engine unit 217 is a post-processing unit that performs post-processing such as sorting, punching, and stapling on a sheet on which an image is formed by the plotter engine, or an image reading / forming engine including a known scanner engine and plotter engine. Etc.

このような画像処理装置100において、電源投入(電源オン)時には、CPU201は、ASIC202経由でフラッシュメモリ204内のブートローダを起動させ、そのブートローダに従い、フラッシュメモリ204内のOSイメージを読み出し、それをSDRAM203にロードして使用可能なOSに展開する。そして、OSの展開が完了すると、そのOSを起動させる。その後、必要に応じてフラッシュメモリ204内のアプリ等のプログラムあるいはNRS用メモリ205内のNRSアプリを読み出し、それをSDRAM203にロードして展開し、起動させることにより、各種機能を実現することができる。   In such an image processing apparatus 100, when the power is turned on (power on), the CPU 201 activates the boot loader in the flash memory 204 via the ASIC 202, reads the OS image in the flash memory 204 according to the boot loader, and reads it as the SDRAM 203. And load it into a usable OS. When the OS deployment is completed, the OS is started. After that, various functions can be realized by reading a program such as an application in the flash memory 204 or an NRS application in the NRS memory 205 as needed, loading the program into the SDRAM 203, developing it, and starting it. .

次に、図10に処理サーバのハードウェア構成を示す。
この図に示すように、各処理サーバ103は、CPU301、ROM302、RAM303、SD(Secure Digital)カード304、ネットワークインタフェースカード(NIC)305を備え、これらがシステムバス306で接続されている。
Next, FIG. 10 shows a hardware configuration of the processing server.
As shown in this figure, each processing server 103 includes a CPU 301, a ROM 302, a RAM 303, an SD (Secure Digital) card 304, and a network interface card (NIC) 305, which are connected by a system bus 306.

これら構成要素を更に具体的に説明すると、まずCPU301は、ROM302に格納している制御プログラムによって処理サーバ103全体を統括的に制御する制御手段である。そして、ROM302は、CPU301が使用する制御プログラムを含む各種固定データを格納している読み出し専用メモリである。
RAM303は、CPU301がデータ処理を行う際のワークメモリ等として使用する一時記憶用メモリである。SDカード304は、装置の電源がオフになっても記憶内容を保持するようになっている不揮発性メモリである。NIC305は、インターネット14を始めとするネットワークを介して通信相手と情報の送受信を行うための通信手段である。
なお、これらの基本構成に、必要に応じてハードウェアを追加してもよいことはもちろんである。
These components will be described more specifically. First, the CPU 301 is a control unit that comprehensively controls the entire processing server 103 using a control program stored in the ROM 302. The ROM 302 is a read-only memory that stores various fixed data including a control program used by the CPU 301.
A RAM 303 is a temporary storage memory used as a work memory or the like when the CPU 301 performs data processing. The SD card 304 is a non-volatile memory that holds stored contents even when the power of the apparatus is turned off. The NIC 305 is a communication unit for transmitting / receiving information to / from a communication partner via a network such as the Internet 14.
It goes without saying that hardware may be added to these basic configurations as necessary.

次に、図11の機能ブロック図に、仲介サーバ102の機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す。
図11に示す機能のうち、端末装置コマンドプール41、仲介サーバコマンドプール42、送信用転送メッセージプール51、受信用転送メッセージプール52は、いずれかの書き換え可能な記憶手段に設けられるものである。例えば制御装置125内のフラッシュメモリあるいはSDRAMやHDDに設けることができるが、ファイルサーバ126に設けてもよい。端末装置コマンド実行結果生成手段43、仲介サーバコマンド生成手段44、メッセージ収集手段45、メッセージ分配手段47、メッセージ転送手段48の機能は、制御装置125のCPUによって実現されるものである。また、HTTPサーバ機能部46及びHTTPクライアント機能部49の機能は、制御装置125のCPU及び外部接続I/F123によって実現されるものである。転送先情報記憶手段50の機能は、制御装置125内のフラッシュメモリやHDDのような不揮発性記憶手段によって実現されるものである。
Next, the functional block diagram of FIG. 11 shows the configuration of functions for performing processing related to commands and command responses among the functions of the mediation server 102.
Among the functions shown in FIG. 11, the terminal device command pool 41, the mediation server command pool 42, the transmission message pool 51 for transmission, and the message pool 52 for reception are provided in any rewritable storage means. For example, it can be provided in a flash memory or SDRAM or HDD in the control device 125, but it may be provided in the file server 126. The functions of the terminal device command execution result generation means 43, the mediation server command generation means 44, the message collection means 45, the message distribution means 47, and the message transfer means 48 are realized by the CPU of the control device 125. The functions of the HTTP server function unit 46 and the HTTP client function unit 49 are realized by the CPU of the control device 125 and the external connection I / F 123. The function of the transfer destination information storage unit 50 is realized by a non-volatile storage unit such as a flash memory or HDD in the control device 125.

これらの機能についてさらに詳述する。
まず、端末装置コマンドプール41は、画像処理装置100から受信した端末装置コマンドのうち仲介サーバ102自身が実行すべきと判断したものを、これらのコマンドに対する応答や、このコマンドの識別情報及び送信元の情報等と関連付けて登録するプールである。
These functions will be described in further detail.
First, the terminal device command pool 41 determines the terminal device commands received from the image processing apparatus 100 that the mediation server 102 itself should execute, the responses to these commands, the identification information of this command, and the transmission source It is a pool that is registered in association with the information.

また、仲介サーバコマンドプール42は、仲介サーバコマンドを、このコマンドに対する応答や、このコマンドの識別情報及びこのコマンドの宛先の情報等と関連付けて登録するプールである。
これらのプールにおいては、コマンド毎にテーブル形式のコマンドシートを作成して情報を格納することにより、コマンドと、識別情報や応答等の情報とを関連付けるようにしている。
The mediation server command pool 42 is a pool that registers mediation server commands in association with responses to the commands, identification information of the commands, destination information of the commands, and the like.
In these pools, a command sheet in a table format is created for each command and information is stored to associate the command with information such as identification information and a response.

端末装置コマンド実行結果生成手段43は、応答生成手段に該当する。そして、端末装置コマンドプール41から端末装置コマンドを読み出して実行するアプリケーションである端末装置コマンドハンドラ43aを備え、この端末装置コマンドハンドラ43aが、端末装置コマンドに対する応答を生成し、端末装置コマンドのコマンドIDと関連付けて端末装置コマンドプール41に登録する機能を有する。なお、画像処理装置100から受信した端末装置コマンドは、このコマンドを識別するID及びこのコマンドを管理するための管理情報等と関連付けて、テーブル形式の端末装置コマンドシートとして端末装置コマンドプール41に登録しておくようにしている。そして、端末装置コマンド実行結果生成手段43が生成したコマンド応答も、端末装置コマンドプール41に登録する際には実行した端末装置コマンドについての端末装置コマンドシートに登録する。   The terminal device command execution result generation unit 43 corresponds to a response generation unit. The terminal device command handler 43a is an application that reads out and executes a terminal device command from the terminal device command pool 41. The terminal device command handler 43a generates a response to the terminal device command, and a command ID of the terminal device command. In association with the terminal device command pool 41. The terminal device command received from the image processing apparatus 100 is registered in the terminal device command pool 41 as a table-format terminal device command sheet in association with an ID for identifying the command and management information for managing the command. I try to keep it. The command response generated by the terminal device command execution result generating unit 43 is also registered in the terminal device command sheet for the executed terminal device command when registering it in the terminal device command pool 41.

また、端末装置コマンドハンドラ43aに、端末装置コマンドプール41から複数の種類の端末装置コマンドを読み出し、各端末装置コマンドに対する応答を生成する機能を設けることが考えられる。さらに、端末装置コマンドが仲介サーバ102に優先して処理を実行させるための実行優先順位の情報を含む場合には、優先順位の高いものから優先的に読み出して実行する機能を設けることも考えられる。
なお、端末装置コマンドハンドラ43aは、アプリケーションそのものではなく、端末装置コマンドの実行に必要なアプリケーションを呼び出してコマンドを実行させるモジュールであってもよい。
It is also conceivable to provide the terminal device command handler 43a with a function of reading out a plurality of types of terminal device commands from the terminal device command pool 41 and generating a response to each terminal device command. Further, when the terminal device command includes information on the execution priority for causing the mediation server 102 to execute the processing in priority, a function for preferentially reading out and executing the information from the higher priority may be provided. .
Note that the terminal device command handler 43a may be a module that calls an application necessary for execution of a terminal device command and executes the command instead of the application itself.

ここで、図12に仲介サーバ102の端末装置コマンドシートにおけるデータ構造の例を示す。
この図に示すように、仲介サーバ102においては、端末装置コマンドシートには、「コマンドID」、「送信元情報」、「メソッド名」、「入力パラメータ」、「状態」、「出力パラメータ」、および「コマンドの通知先」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が端末装置コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンドの通知先」が管理情報に該当する。「出力パラメータ」は、仲介サーバコマンドの実行結果であり、仲介サーバ102が返すコマンド応答の内容となる。
Here, FIG. 12 shows an example of the data structure in the terminal device command sheet of the mediation server 102.
As shown in this figure, in the intermediary server 102, the terminal device command sheet includes “command ID”, “transmission source information”, “method name”, “input parameter”, “state”, “output parameter”, And an area for storing “command notification destination” data. Of these, “command ID”, “method name”, and “input parameter” correspond to terminal device commands (and IDs attached thereto), and “status” and “command notification destination” are management information. Applicable. The “output parameter” is the execution result of the mediation server command, and is the content of the command response returned by the mediation server 102.

各データの内容について説明する。
まず、「メソッド名」は、仲介サーバ102に対するリクエストの内容であり、仲介サーバ102において呼び出す関数の種類を示す。「入力パラメータ」は、「メソッド名」に付随するデータであり、関数を呼び出す際の引数である。
「送信元情報」は、コマンドの送信元、すなわちコマンドを生成した装置の識別情報を示す。端末装置コマンドの場合には、ここには画像処理装置100の識別情報を登録することになる。またこの情報は、コマンドに対する応答を送信する際の宛先を示す情報になる。
端末装置コマンドプール41に記憶させる端末装置コマンドは、全て仲介サーバ102自身が実行すべきものであるから、コマンドの宛先を管理する必要はない。
The contents of each data will be described.
First, “method name” is the content of a request to the mediation server 102 and indicates the type of function to be called in the mediation server 102. “Input parameter” is data attached to “method name”, and is an argument for calling a function.
“Transmission source information” indicates identification information of a command transmission source, that is, a device that has generated the command. In the case of a terminal device command, the identification information of the image processing apparatus 100 is registered here. This information is information indicating a destination when a response to the command is transmitted.
Since all terminal device commands to be stored in the terminal device command pool 41 are to be executed by the mediation server 102 itself, it is not necessary to manage the destination of the command.

「コマンドID」は、端末装置コマンドを識別するための識別情報である。「状態」は、端末装置コマンドに関する処理の状態を示すデータであり、処理の進行と共に、「未処理」→「処理完了」→「応答済」、あるいは「未処理」→「処理中」→「処理完了」→「応答済」と遷移していく。「出力パラメータ」には、端末装置コマンド実行結果生成手段43によって生成された応答が格納される。端末装置コマンドの実行が終了し、上記の「状態」が「処理完了」となるまでは空である。「コマンドの通知先」は、端末装置コマンドの実行を行うモジュールを示す参照情報である。   “Command ID” is identification information for identifying a terminal device command. “Status” is data indicating the status of processing related to the terminal device command. As the processing progresses, “Unprocessed” → “Processing completed” → “Response completed” or “Unprocessed” → “Processing” → “ The process proceeds from “Process completed” to “Responded”. The “output parameter” stores a response generated by the terminal device command execution result generation unit 43. It is empty until the execution of the terminal device command ends and the above “status” becomes “processing complete”. The “command notification destination” is reference information indicating a module that executes a terminal device command.

図11の説明に戻ると、仲介サーバコマンド生成手段44は、要求生成手段に該当する。そして、仲介サーバコマンドを生成し、このコマンドを識別する識別情報(ID)を割り当て、さらにこのコマンドの宛先情報やこのコマンドを管理するための管理情報を付し、これらの情報を関連付けてテーブル形式の仲介サーバコマンドシートとして仲介サーバコマンドプール42に登録する機能を有する。この処理を行うのが仲介サーバコマンド生成ハンドラ44aであり、このうち、仲介サーバコマンドを生成する部分には、例えば仲介サーバ102に備えるアプリケーションが該当する。また、仲介サーバコマンド生成ハンドラ44aに、画像処理装置100に各コマンドを実行させる際の優先順位を、生成した仲介サーバコマンドに付する機能を設けてもよい。   Returning to the description of FIG. 11, the mediation server command generation unit 44 corresponds to a request generation unit. Then, an intermediary server command is generated, identification information (ID) for identifying the command is assigned, destination information of this command and management information for managing this command are attached, and these information are associated with each other in a table format. As a mediation server command sheet in the mediation server command pool 42. This processing is performed by the mediation server command generation handler 44a, and among them, for example, an application provided in the mediation server 102 corresponds to the portion that generates the mediation server command. Further, the mediation server command generation handler 44a may be provided with a function of attaching the priority order for causing the image processing apparatus 100 to execute each command to the generated mediation server command.

ここで、図13に仲介サーバ102の仲介サーバコマンドシートにおけるデータ構造の例を示す。
この図に示すように、仲介サーバ102においては、仲介サーバコマンドシートには、「コマンドID」、「宛先情報」、「メソッド名」、「入力パラメータ」、「状態」、「コマンド実行結果の通知先」、および「出力パラメータ」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が仲介サーバコマンド(及びそこに付されたID)に該当し、「状態」及び「コマンド実行結果の通知先」が管理情報に該当する。「出力パラメータ」は、コマンドの宛先となる画像処理装置100から受信するコマンド応答の内容である。
Here, FIG. 13 shows an example of the data structure in the mediation server command sheet of the mediation server 102.
As shown in this figure, in the mediation server 102, the mediation server command sheet includes “command ID”, “destination information”, “method name”, “input parameter”, “state”, and “command execution result notification”. An area for storing data of “first” and “output parameter” is provided. Of these, “command ID”, “method name”, and “input parameter” correspond to the intermediary server command (and the ID assigned thereto), and “status” and “notification destination of command execution result” are managed. Applicable to information. The “output parameter” is the content of the command response received from the image processing apparatus 100 that is the destination of the command.

各項目の内容について説明する。
まず、「メソッド名」は、画像処理装置100に対するリクエストの内容であり、画像処理装置100において呼び出す関数の種類を示す。「入力パラメータ」は、「メソッド名」に付随するデータであり、関数を呼び出す際の引数である。
「宛先情報」は、コマンドを実行させる対象の装置、すなわちコマンドの宛先となる装置の識別情報を示す。仲介サーバコマンドの場合には、ここには画像処理装置100の識別情報を登録することになる。なお、識別情報としては、ID、固有名称、IPアドレス等を用いることができる。
仲介サーバコマンドは常に仲介サーバ102自身が生成するものであるから、コマンドの送信元情報を管理する必要はない。
The contents of each item will be described.
First, “method name” is the content of a request to the image processing apparatus 100 and indicates the type of function to be called in the image processing apparatus 100. “Input parameter” is data attached to “method name”, and is an argument for calling a function.
“Destination information” indicates identification information of a device that is to execute a command, that is, a device that is a destination of the command. In the case of a mediation server command, the identification information of the image processing apparatus 100 is registered here. As identification information, an ID, a unique name, an IP address, or the like can be used.
Since the mediation server command is always generated by the mediation server 102 itself, it is not necessary to manage the command transmission source information.

「コマンドID」は、仲介サーバコマンドを識別するための識別情報である。「状態」は、端末装置コマンドに関する処理の進行状況を示すデータであり、処理の進行と共に、「未送信」→「応答待ち」→「応答受信済」と遷移していく。
「コマンド実行結果の通知先」は、そのシートに記載している仲介サーバコマンドに対する応答を受信した場合に、その旨を通知して必要な処理を実行させるモジュールを示す参照情報である。参照するモジュールは、仲介サーバコマンドを登録したハンドラであることが多いが、必ずしもそうである必要はない。「出力パラメータ」には、コマンド応答を受け取った段階で、その内容を格納する。画像処理装置100からのコマンド応答を受け取るまでは空である。
“Command ID” is identification information for identifying a mediation server command. “Status” is data indicating the progress of processing related to the terminal device command, and changes from “not transmitted” → “waiting for response” → “response received” as the processing proceeds.
The “command execution result notification destination” is reference information indicating a module that, when receiving a response to the mediation server command described in the sheet, notifies that fact and executes a necessary process. The module to be referred to is often a handler that registers the mediation server command, but it is not always necessary. The “output parameter” stores the contents when the command response is received. It is empty until a command response from the image processing apparatus 100 is received.

再び図11の説明に戻ると、メッセージ収集手段45は、収集手段に該当する。そして、端末装置コマンド実行結果生成手段43が生成したコマンド応答とこのコマンド応答に対応する端末装置コマンドのコマンドID及び送信元情報とを関連付けて端末装置コマンドプール41から読み出すと共に、仲介サーバコマンド生成手段44が生成した仲介サーバコマンドとこのコマンドのコマンドID及び宛先情報とを関連付けて仲介サーバコマンドプール42から読み出し、さらに、後に詳述する受信用転送メッセージプール52の転送用メッセージシートに記載された転送用のメッセージを読み出し、これらから送信メッセージを生成する機能を有する。
なお、コマンド応答や端末装置コマンドあるいは転送用のメッセージに優先順位が指定されている場合には、メッセージ収集手段45がそれぞれ優先順位の高いものから順に読み出すようにすることが考えられる。
Returning to the description of FIG. 11 again, the message collecting means 45 corresponds to the collecting means. Then, the command response generated by the terminal device command execution result generation unit 43 is read from the terminal device command pool 41 in association with the command ID and the transmission source information of the terminal device command corresponding to the command response, and the mediation server command generation unit The intermediary server command generated by 44 is associated with the command ID and destination information of this command and read out from the intermediary server command pool 42, and further, the transfer described in the transfer message sheet of the transfer message pool 52 for reception, which will be described in detail later A function to read a message for use and generate a transmission message therefrom.
When priority is specified for a command response, a terminal device command, or a message for transfer, it is conceivable that the message collection unit 45 reads the messages in descending order of priority.

ここで、送信メッセージとは、上記のコマンド応答やコマンドとコマンドIDとを、構造化言語であるXML(Extensible Markup Language)で、SOAPメッセージとして記載したものである。そして、メッセージ収集手段45は、1つのコマンド応答あるいはコマンドにつき、送信メッセージとして1つのSOAPメッセージを生成する。またこのとき、各コマンドのコマンドIDはSOAPヘッダに記載し、コマンド応答やコマンドの内容は、SOAPボディに記載する。SOAPによる通信では、SOAPヘッダとSOAPボディとからなるSOAPエンベロープ(封筒)と呼ばれるメッセージをXMLで記載し、HTTPなどのプロトコルで交換することになる。   Here, the transmission message is a description of the command response, the command, and the command ID as a SOAP message in XML (Extensible Markup Language) that is a structured language. The message collecting unit 45 generates one SOAP message as a transmission message for one command response or command. At this time, the command ID of each command is described in the SOAP header, and the command response and the content of the command are described in the SOAP body. In communication using SOAP, a message called a SOAP envelope (envelope) made up of a SOAP header and a SOAP body is written in XML and exchanged using a protocol such as HTTP.

このようなコマンドやコマンド応答からのSOAPメッセージの生成は、WSDL(Web Service Description Language)に基づいて生成される所要の変換プログラム(シリアライザ)を実行し、データを直列化することによって行うことができる。
なお、転送用のメッセージについては、XMLで記載したSOAPエンベロープの状態で記憶しておき、そのまま送信メッセージとして使用することができるようにしている。
Generation of a SOAP message from such a command or command response can be performed by executing a required conversion program (serializer) generated based on WSDL (Web Service Description Language) and serializing the data. .
The transfer message is stored in the SOAP envelope state described in XML so that it can be used as it is as a transmission message.

また、HTTPサーバ機能部46は、HTTPレスポンスを送信するHTTPレスポンス送信手段46aとHTTPリクエストを受信するHTTPリクエスト受信手段46bとを備える。そして、HTTPレスポンス送信手段46aは、第2の送信手段に該当し、メッセージ収集手段45が生成した送信メッセージを記載したHTTPレスポンスを生成し、画像処理装置100に送信する機能を有する。このとき、1つのHTTPレスポンスに送信メッセージをいくつ含めてもよいし、コマンド応答に係る送信メッセージと仲介サーバコマンドに係る送信メッセージと転送メッセージに係る送信メッセージとを任意に混在させることもできる。もちろん、異なる処理サーバが生成した転送用のメッセージに係る送信メッセージを混在させてもよい。   The HTTP server function unit 46 includes an HTTP response transmission unit 46a that transmits an HTTP response and an HTTP request reception unit 46b that receives an HTTP request. The HTTP response transmission unit 46 a corresponds to the second transmission unit, and has a function of generating an HTTP response describing the transmission message generated by the message collection unit 45 and transmitting the HTTP response to the image processing apparatus 100. At this time, any number of transmission messages may be included in one HTTP response, and transmission messages related to command responses, transmission messages related to mediation server commands, and transmission messages related to transfer messages may be arbitrarily mixed. Of course, transmission messages related to transfer messages generated by different processing servers may be mixed.

そこで、HTTPレスポンス送信手段46aは、これらのいずれに係る送信メッセージかに関わり無く、メッセージ収集手段45が生成した全ての送信メッセージを1つのHTTPレスポンスに含めて送信するようにしている。ただし、1つのHTTPレスポンスに含める送信メッセージの数に上限を設けることも考えられる。   Therefore, the HTTP response transmission unit 46a transmits all the transmission messages generated by the message collection unit 45 in one HTTP response regardless of any of the transmission messages. However, an upper limit may be set for the number of transmission messages included in one HTTP response.

ところで、このHTTPレスポンスの送信は、メッセージ収集手段45が仲介サーバコマンドやコマンド応答あるいは転送用メッセージ等の読み出しを試みた場合には、読み出すデータがなく、結果的に送信すべきSOAPメッセージを生成しなかった場合にも行うものである。そして、この読み出しの試みは、HTTPリクエスト受信手段46bが画像処理装置100からのHTTPリクエストを受信した場合に行うものとする。
このようにするのは、上述のように、仲介サーバ102からファイアウォール11を越えて画像処理装置100にHTTPリクエストを送信することができないためである。
By the way, this HTTP response is transmitted when the message collection means 45 attempts to read out a mediation server command, a command response, a transfer message or the like, and there is no data to be read, and as a result a SOAP message to be transmitted is generated. This is also done when there is no such thing. This reading attempt is performed when the HTTP request receiving unit 46b receives an HTTP request from the image processing apparatus 100.
This is because the HTTP request cannot be transmitted from the mediation server 102 to the image processing apparatus 100 through the firewall 11 as described above.

また、HTTPリクエスト受信手段46bは、第1の受信手段に該当し、画像処理装置100からHTTPリクエストを受信する機能を有する。そしてここでは、HTTPリクエストには、端末装置コマンド及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージと、仲介サーバコマンド又は処理サーバコマンドに対する応答及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージとを含む受信メッセージとが、任意に混在して含まれている。
ここで、受信メッセージとは、上記のコマンドや応答とコマンドID等とをSOAPメッセージとして記載したものである。そして、仲介サーバ102に宛てたメッセージであるか処理サーバ103等の他の装置に転送すべきメッセージであるかは、受信の時点では区別しないし、そのための宛先や転送先の情報が含まれている必要もない。
The HTTP request receiving unit 46 b corresponds to a first receiving unit and has a function of receiving an HTTP request from the image processing apparatus 100. And here, in the HTTP request, the received message including the terminal device command and the command ID associated with the command, the response to the mediation server command or the processing server command and the received message including the command ID associated with the command, The received message including the message is arbitrarily mixed.
Here, the received message describes the above command, response, command ID, and the like as a SOAP message. Whether the message is addressed to the mediation server 102 or the message to be transferred to another device such as the processing server 103 is not distinguished at the time of reception, and includes information on the destination and transfer destination for that purpose. There is no need to be.

メッセージ分配手段47は、HTTPリクエスト受信手段46bが受信したHTTPリクエストに含まれるデータを、端末装置コマンドプール41、仲介サーバコマンドプール42、および送信用転送メッセージプール51に振り分けて登録する機能を有する。
具体的には、転送先情報記憶手段50に記憶している転送先テーブルを参照し、転送先決定手段として機能して受信したコマンドやコマンド応答の種別に従ってその転送先を判断し、その結果に基づいて登録するプールを決定する。詳細は後述するが、転送先テーブルは、コマンドやコマンド応答の群毎にその群に属するコマンドやコマンド応答の転送先を定めた転送先テーブルを記載したものである。そして、コマンドやコマンド応答をキーにしてその転送先テーブルを検索することにより、そのコマンドやコマンド応答を転送すべき転送先の情報を取得することができる。
The message distribution unit 47 has a function of distributing and registering data included in the HTTP request received by the HTTP request reception unit 46b in the terminal device command pool 41, the mediation server command pool 42, and the transmission transfer message pool 51.
Specifically, referring to the transfer destination table stored in the transfer destination information storage means 50, the transfer destination determination means determines the transfer destination according to the received command and command response type and functions as the result. Based on this, determine the pool to be registered. Although details will be described later, the transfer destination table describes a transfer destination table in which a transfer destination of commands and command responses belonging to each group of commands and command responses is determined. Then, by searching the transfer destination table using the command or command response as a key, information on the transfer destination to which the command or command response should be transferred can be acquired.

そして、受信したコマンド(端末装置コマンド)の転送先が、仲介サーバ102自身であれば、その端末装置コマンド及びそのコマンドと関連付けられたコマンドIDを端末装置コマンドプール41に端末装置コマンドシートを設けて登録する。また、受信したコマンド応答の転送先が仲介サーバ102自身であれば、その応答は仲介サーバコマンドに対する応答であるので、そのコマンドと関連付けられたコマンドIDを仲介サーバコマンドプール42に記憶している仲介サーバコマンドシートのコマンドIDと照合して対応する仲介サーバコマンドを特定し、その仲介サーバコマンドについての「出力パラメータ」として登録する。   If the transfer destination of the received command (terminal device command) is the intermediary server 102 itself, a terminal device command sheet is provided in the terminal device command pool 41 for the terminal device command and the command ID associated with the command. register. Further, if the transfer destination of the received command response is the mediation server 102 itself, the response is a response to the mediation server command. Therefore, the mediation stored in the mediation server command pool 42 is a command ID associated with the command. The corresponding mediation server command is identified by collating with the command ID of the server command sheet, and is registered as an “output parameter” for the mediation server command.

そしてこのとき、HTTPリクエストを分割してそこに含まれる各受信メッセージを取り出し、そのデータをテーブルへの登録に必要な形式に変換するが、この変換は、WSDLに基づいて生成される所要の変換プログラム(デシリアライザ)を実行することによって行うことができる。
一方、仲介サーバ102自身以外が転送先であるコマンドやコマンド応答については、そのコマンドやコマンド応答に係るメッセージを他の装置に転送するために送信用転送メッセージプール51に登録する。そして、送信用転送メッセージプール51への登録を行う場合には、転送メッセージシートを作成して登録する。
At this time, the HTTP request is divided and each received message included therein is extracted, and the data is converted into a format necessary for registration in the table. This conversion is a required conversion generated based on WSDL. This can be done by executing a program (deserializer).
On the other hand, for commands and command responses other than the mediation server 102 as a transfer destination, the messages related to the commands and command responses are registered in the transmission message pool 51 for transmission in order to transfer them to other devices. When registering in the transmission message pool 51 for transmission, a transfer message sheet is created and registered.

図14にその転送メッセージシートにおけるデータ構造の例を示す。
この図に示すように、送信用転送メッセージプール51の転送メッセージコマンドシートには、「転送先情報」、「エンティティヘッダ情報」、「メッセージのXMLデータ」を記憶する領域を設けている。
そして、このうち「転送先情報」には、メッセージ分配手段47が受信したコマンドやコマンド応答の種別に従って判断した転送先の情報を登録する。「エンティティヘッダ情報」には、メッセージが記載されていたパートのエンティティヘッダの情報(詳細は後述する)を登録し、「メッセージのXMLデータ」には、メッセージに係るSOAPエンベロープの内容を登録する。ここで、転送用のメッセージについては、メッセージの内容によらずそのまま転送すればよいので、SOAPエンベロープのデータ形式を変換する必要はない。
なお、メッセージ分配手段47が送信用転送メッセージプール51にメッセージを登録する際には、そのメッセージが記載されていたHTTPリクエストの送信元の情報を参照し、メッセージの送信元の情報を記載したヘッダを生成してエンティティヘッダ情報に追加するようにしている。
FIG. 14 shows an example of data structure in the transfer message sheet.
As shown in this figure, the transfer message command sheet of the transfer message pool 51 for transmission is provided with areas for storing “transfer destination information”, “entity header information”, and “message XML data”.
Of these, in the “transfer destination information”, information on the transfer destination determined according to the type of command or command response received by the message distribution unit 47 is registered. In the “entity header information”, information of the entity header of the part in which the message is described (details will be described later) is registered, and in the “message XML data”, the contents of the SOAP envelope related to the message are registered. Here, since the message for transfer may be transferred as it is regardless of the content of the message, it is not necessary to convert the data format of the SOAP envelope.
When the message distribution unit 47 registers a message in the transmission message pool 51 for transmission, the header that describes the transmission source information of the message is referred to by referring to the transmission source information of the HTTP request in which the message is described. Is generated and added to the entity header information.

再度図11の説明に戻ると、メッセージ転送手段48は、送信用転送メッセージプール51に登録されている転送用のメッセージを読み出して送信メッセージを生成し、またHTTPクライアント機能部49のHTTPレスポンス受信手段49bが受信したメッセージを受信用転送メッセージプール52に登録する機能を有する。   Returning to the description of FIG. 11 again, the message transfer means 48 reads the transfer message registered in the transfer message pool 51 for transmission to generate a transmission message, and also receives the HTTP response reception means of the HTTP client function unit 49. 49b has a function of registering the received message in the reception transfer message pool 52.

まず、送信メッセージの生成に関しては、転送先毎に、その転送先に送信すべき転送メッセージを読み出す。そしてこのとき、転送メッセージシートには、メッセージがXMLで記載したSOAPエンベロープの状態で登録されているので、そのまま転送用メッセージとして使用することができる。また、そのSOAPメッセージには、同じシートの「エンティティヘッダ情報」に登録されているエンティティヘッダを付してそのメッセージを記載した送信用のパートを生成する。
また、受信用転送メッセージプール52への登録に関しては、受信したメッセージを登録するための転送メッセージシートを作成して登録する。しかし、このシートの形式は、送信用転送メッセージプール51の場合とは若干異なる。
First, regarding generation of a transmission message, a transfer message to be transmitted to the transfer destination is read for each transfer destination. At this time, since the message is registered in the state of the SOAP envelope described in XML in the transfer message sheet, it can be used as it is as a transfer message. In addition, the SOAP message is attached with an entity header registered in the “entity header information” of the same sheet, and a transmission part describing the message is generated.
As for registration in the transfer message pool for reception 52, a transfer message sheet for registering the received message is created and registered. However, the format of this sheet is slightly different from the case of the transmission message pool 51 for transmission.

図15に受信用転送メッセージプール52の転送メッセージシートにおけるデータ構造の例を示す。
この図に示すように、受信用転送メッセージプール52の転送メッセージシートには、「エンティティヘッダ情報」及び「メッセージのXMLデータ」を記憶する領域を設けている。
FIG. 15 shows an example of the data structure in the transfer message sheet of the reception transfer message pool 52.
As shown in this figure, the transfer message sheet of the reception transfer message pool 52 has an area for storing “entity header information” and “message XML data”.

そして、このうち「エンティティヘッダ情報」には、メッセージが記載されていたパートのエンティティヘッダの情報(詳細は後述する)を登録し、「メッセージのXMLデータ」には、メッセージに係るSOAPエンベロープの内容を登録する。ここで、SOAPエンベロープのデータ形式を変換する必要がない点は、送信用転送メッセージプール51の場合と同様である。
受信用転送メッセージプール52の場合には、「転送先情報」の項目がないが、これは、メッセージの転送経路の情報をエンティティヘッダに記載するようにしているためである。
Of these, the entity header information of the part in which the message was described (details will be described later) is registered in the “entity header information”, and the contents of the SOAP envelope related to the message are registered in the “message XML data”. Register. Here, the point that it is not necessary to convert the data format of the SOAP envelope is the same as in the case of the transmission message pool 51 for transmission.
In the case of the transfer message pool for reception 52, there is no item of “transfer destination information”, but this is because information on the transfer path of the message is described in the entity header.

再度図11の説明に戻ると、HTTPクライアント機能部49は、HTTPリクエストを送信するHTTPリクエスト送信手段49aとHTTPレスポンスを受信するHTTPレスポンス受信手段49bとを備える。そして、HTTPリクエスト送信手段49aは、第1の送信手段に該当し、メッセージ転送手段48が生成した送信メッセージを記載したHTTPリクエストを生成し、処理サーバ103に送信する機能を有する。このとき、1つのHTTPリクエストに送信メッセージをいくつ含めてもよいし、コマンド応答に係る送信メッセージと画像機器コマンドに係る送信メッセージとを任意に混在させることもできる。そもそも、メッセージの転送に際しては、転送先さえ認識できればメッセージの内容を認識する必要はない。そして、送信元の異なるコマンドやコマンド応答あるいは転送メッセージに係る送信メッセージを混在させてもよい。   Returning to the description of FIG. 11 again, the HTTP client function unit 49 includes an HTTP request transmission unit 49a that transmits an HTTP request and an HTTP response reception unit 49b that receives an HTTP response. The HTTP request transmission unit 49 a corresponds to the first transmission unit, and has a function of generating an HTTP request that describes the transmission message generated by the message transfer unit 48 and transmitting the HTTP request to the processing server 103. At this time, any number of transmission messages may be included in one HTTP request, and a transmission message related to a command response and a transmission message related to an image device command may be arbitrarily mixed. In the first place, when transferring a message, it is not necessary to recognize the content of the message as long as the transfer destination can be recognized. A transmission message related to a command, a command response, or a transfer message with different transmission sources may be mixed.

そこで、HTTPリクエスト送信手段49aは、これらのいずれに係る送信メッセージかに関わり無く、メッセージ転送手段48が1つの転送先について生成した全ての送信メッセージを1つのHTTPリクエストに含めて送信するようにしている。ただし、1つのHTTPリクエストに含める送信メッセージの数に上限を設けることも考えられる。   Therefore, the HTTP request transmission unit 49a transmits all the transmission messages generated by the message transfer unit 48 for one transfer destination in one HTTP request regardless of any of the transmission messages. Yes. However, it is also conceivable to set an upper limit on the number of transmission messages included in one HTTP request.

また、このHTTPリクエストの送信は、メッセージ転送手段48がある転送先について転送用メッセージの読み出しを試みた場合には、読み出したデータがなく、結果的に送信すべきSOAPメッセージを生成しなかった場合にも行うものである。そして、この読み出しの試みは、定期的に行うものとする。例えば、タイマによって60分毎に読み出すことが考えられる。   This HTTP request is transmitted when the message transfer means 48 attempts to read a transfer message for a certain transfer destination, and there is no read data, and as a result, a SOAP message to be transmitted is not generated. It is also what you do. This reading attempt is made periodically. For example, it is possible to read out every 60 minutes by a timer.

このようにするのは、上述のように、処理サーバ103から仲介サーバ102に送信したい情報があったとしても仲介サーバ102から通信を要求しない限り送信できないようにしているためである。仲介サーバ102から何も送信するデータがなかったとしても、定期的に各処理サーバ103に対して通信要求を送信して、各処理サーバ103から仲介サーバ102に情報を送信する機会を与えることにより、転送の必要な情報が長期間に亘って処理サーバ103に滞留してしまうことを防止できる。   This is because, as described above, even if there is information desired to be transmitted from the processing server 103 to the mediation server 102, the information cannot be transmitted unless communication is requested from the mediation server 102. Even if there is no data to be transmitted from the mediation server 102, by periodically transmitting a communication request to each processing server 103 and giving an opportunity to transmit information from each processing server 103 to the mediation server 102. Therefore, it is possible to prevent information that needs to be transferred from staying in the processing server 103 for a long period of time.

なお、メッセージ転送手段48による読み出しと、それに続くHTTPリクエスト送信手段49aによるHTTPリクエストの送信とを、定期的なタイミング以外に適宜行ってよいことはもちろんである。例えば、緊急に送信が必要な情報が送信用転送メッセージプール51に登録された場合に、メッセージ分配手段47がメッセージ転送手段48にその旨を通知して読み出しを行わせるようにしてもよい。   Of course, the reading by the message transfer means 48 and the subsequent transmission of the HTTP request by the HTTP request transmission means 49a may be appropriately performed in addition to the regular timing. For example, when information that needs to be transmitted urgently is registered in the transmission message pool 51 for transmission, the message distribution unit 47 may notify the message transfer unit 48 to read out the information.

また、HTTPレスポンス受信手段49bは、第2の受信手段に該当し、処理サーバ103からHTTPレスポンスを受信する機能を有する。そしてここでは、HTTPレスポンスには、処理サーバコマンド及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージと、端末装置コマンドに対する応答及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージとが、任意に混在して含まれている。   The HTTP response receiving unit 49b corresponds to a second receiving unit and has a function of receiving an HTTP response from the processing server 103. In this case, the HTTP response includes a received message including a processing server command and a command ID associated with the command, and a received message including a response to the terminal device command and a command ID associated with the command. It is mixed and included.

そして、受信メッセージとは、上記のコマンドや応答とコマンドID等とをSOAPメッセージとして記載したものである。そして、これらは画像処理装置100に転送すべきメッセージであるので、上述のようにメッセージ転送手段48によって受信用転送メッセージプール52に登録され、適当なタイミングでメッセージ収集手段45によって読み出され、HTTPレスポンス送信手段46aによって画像処理装置100に送信されることになる。   The received message describes the command, response, command ID, and the like as a SOAP message. Since these are messages to be transferred to the image processing apparatus 100, they are registered in the reception transfer message pool 52 by the message transfer means 48 as described above, read out by the message collection means 45 at an appropriate timing, and HTTP. The response is transmitted to the image processing apparatus 100 by the response transmission unit 46a.

なお、受信用転送メッセージプール52に登録する時点では、メッセージの転送先がどこであるかによって対応を変える必要はない。また、メッセージ収集手段45が受信用転送メッセージプール52からメッセージを読み出して送信メッセージを生成する際には、「エンティティヘッダ情報」に記載された転送経路の情報のうち、これからメッセージを送信しようとする送信先の情報を削除してからエンティティヘッダの部分を生成するようにしている。   Note that at the time of registration in the reception transfer message pool 52, it is not necessary to change the correspondence depending on where the message is transferred. When the message collection unit 45 reads a message from the reception transfer message pool 52 and generates a transmission message, the message collection unit 45 tries to transmit the message from among the transfer route information described in the “entity header information”. The entity header part is generated after the destination information is deleted.

次に、このような機能を有する仲介サーバ102が画像処理装置100から受信するHTTPリクエストの例を図16に示す。
このHTTPリクエストは、図16に示すように、ボディ部としてMIME(Multipurpose Internet Mail Extension)に従ったマルチパートのメッセージが記載され、この各パートには、それぞれエンティティヘッダが記載されると共に、詳細な図示は省略しているが、SOAPエンベロープが埋め込まれている。図16の例では、HTTPリクエストのHTTPボディには、「MIME_boundary」で区分された各要素が、独立した第1パート、第2パート、第3パート、第4パートを構成しているが、HTTPボディに含めることのできるパート数は4つに限られない。0個を含め、いくつでもよい。
Next, FIG. 16 shows an example of an HTTP request received from the image processing apparatus 100 by the mediation server 102 having such a function.
In this HTTP request, as shown in FIG. 16, a multi-part message according to MIME (Multipurpose Internet Mail Extension) is described as a body part, and in each part, an entity header is described, and detailed information is provided. Although not shown, a SOAP envelope is embedded. In the example of FIG. 16, in the HTTP body of the HTTP request, each element divided by “MIME_boundary” constitutes an independent first part, second part, third part, and fourth part. The number of parts that can be included in the body is not limited to four. Any number is possible including zero.

HTTPリクエストに埋め込まれて引き渡されるSOAPエンベロープには、端末装置コマンドを記載したものと、仲介サーバコマンドに対する応答を記載したものと、処理サーバコマンドに対する応答を記載したものとがある。
また、このような機能を有する仲介サーバ102が画像処理装置100に送信するHTTPレスポンスの例を図17に示す。
The SOAP envelope embedded in the HTTP request and delivered includes a terminal device command, a response to the mediation server command, and a response to the processing server command.
FIG. 17 shows an example of an HTTP response transmitted from the mediation server 102 having such a function to the image processing apparatus 100.

図17に示すように、このHTTPレスポンスは、形式としては図16に示したHTTPリクエストとHTTPヘッダ部が異なるのみであり、ボディ部にはHTTPリクエストの場合と同様に、詳細な図示は省略しているが、MIMEに従ったマルチパートのSOAPエンベロープが記載される。SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。
HTTPレスポンスに埋め込まれて引き渡されるSOAPエンベロープには、仲介サーバコマンドを記載したものと、処理サーバコマンドを記載したものと、端末装置コマンドに対する応答を記載したものとがある。
As shown in FIG. 17, this HTTP response is different only in the HTTP request shown in FIG. 16 and the HTTP header part, and the detailed illustration is omitted in the body part as in the case of the HTTP request. However, a multi-part SOAP envelope according to MIME is described. The contents of the SOAP envelope are naturally different according to the contents of the command and command response.
The SOAP envelope embedded in the HTTP response and delivered includes one that describes a mediation server command, one that describes a processing server command, and one that describes a response to a terminal device command.

次に、仲介サーバ102が処理サーバ103に送信するHTTPリクエストの例を図18に示す。
図18に示すように、このHTTPリクエストは、形式としては図16に示したHTTPリクエストと同様なものである。ただし、SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。そして、このHTTPリクエストに埋め込まれて引き渡されるSOAPエンベロープには、端末装置コマンドを記載したものと、処理サーバコマンドに対する応答を記載したものとがある。
Next, FIG. 18 shows an example of an HTTP request transmitted from the mediation server 102 to the processing server 103.
As shown in FIG. 18, this HTTP request has the same format as the HTTP request shown in FIG. However, the contents of the SOAP envelope naturally differ according to the contents of the command and command response. The SOAP envelope embedded in the HTTP request and delivered includes a terminal device command and a response to the processing server command.

また、各パートのエンティティヘッダには、「X-Received-From」ヘッダとして、そのパートに記載されたSOAPメッセージの送信元を示す情報が、仲介サーバ102のメッセージ分配手段47によって付加されている。そして、後述するように、処理サーバ103はこの情報をもとに端末装置コマンドに対する応答や処理サーバコマンドの転送経路を定めることができる。   In addition, information indicating the source of the SOAP message described in the part is added to the entity header of each part by the message distribution unit 47 of the mediation server 102 as an “X-Received-From” header. As will be described later, the processing server 103 can determine a response to the terminal device command and a transfer path of the processing server command based on this information.

また、仲介サーバ102が処理サーバ103から受信するHTTPレスポンスの例を図19に示す。
図19に示すように、このHTTPレスポンスは、形式としては図18に示したHTTPレスポンスと同様なものである。ただし、SOAPエンベロープの内容については、当然コマンドやコマンド応答の内容に従って異なるものである。そして、このHTTPレスポンスに埋め込まれて引き渡されるSOAPエンベロープには、処理サーバコマンドを記載したものと、端末装置コマンドに対する応答を記載したものとがある。
An example of an HTTP response received by the mediation server 102 from the processing server 103 is shown in FIG.
As shown in FIG. 19, this HTTP response has the same format as the HTTP response shown in FIG. However, the contents of the SOAP envelope naturally differ according to the contents of the command and command response. The SOAP envelope embedded and delivered in the HTTP response includes a description of a processing server command and a description of a response to a terminal device command.

また、各パートのエンティティヘッダには、X-Send-Toヘッダとして、そのパートに記載されたSOAPメッセージの転送経路及び宛先を示す情報が付加されている。そして、仲介サーバ102のメッセージ収集手段45は、この情報をもとにメッセージの転送先を認識することができる。   In addition, information indicating the transfer route and destination of the SOAP message described in the part is added to the entity header of each part as an X-Send-To header. The message collection unit 45 of the mediation server 102 can recognize the message transfer destination based on this information.

そして、以上のような形式のHTTPリクエストやHTTPレスポンスは、転送可能な1つのメッセージであり、各パートのSOAPエンベロープを、形式を変更せずに複数結合して生成することができる。また、このような形式のHTTPリクエストやHTTPレスポンスを分割して各パートのSOAPエンベロープを取り出せば、通常のウェブサービス(SOAP RPC)機能を備えた他の通信装置との間で、HTTPリクエストまたはHTTPレスポンスに1つのSOAPエンベロープを記載した通信に、そのまま使用することもできる。
なお、図16及び図17に示したような、画像処理装置100と仲介サーバ102との間で授受するメッセージにおいては、SOAPメッセージの宛先や転送経路を記載する必要はない。
The HTTP request and HTTP response in the above format are one message that can be transferred, and a plurality of SOAP envelopes of each part can be combined and generated without changing the format. In addition, by dividing the HTTP request and HTTP response in such a format and extracting the SOAP envelope of each part, the HTTP request or HTTP can be exchanged with another communication apparatus having a normal web service (SOAP RPC) function. It can also be used as it is for communication in which one SOAP envelope is described in the response.
In the messages exchanged between the image processing apparatus 100 and the mediation server 102 as shown in FIGS. 16 and 17, it is not necessary to describe the destination of the SOAP message and the transfer route.

次に、これらのHTTPリクエスト又はHTTPレスポンスに記載されるパートの具体例を図20乃至図31に示す。
図20には、仲介サーバ(機器管理サーバ)102に対する端末装置コマンドを記載したパートの例を示す。
この例においては、まず、エンティティヘッダの部分の「X-SOAP-Type」ヘッダに、このパートに記載されているSOAPメッセージがSOAPリクエストであるかSOAPレスポンスであるかを示す情報を記載している。この例では、値の「Request」により、SOAPリクエストであること、すなわちコマンドを記載したSOAPメッセージであることを示している。
Next, specific examples of the parts described in these HTTP requests or HTTP responses are shown in FIGS.
FIG. 20 shows an example of a part in which terminal device commands for the mediation server (device management server) 102 are described.
In this example, first, information indicating whether the SOAP message described in this part is a SOAP request or a SOAP response is described in the “X-SOAP-Type” header of the entity header part. . In this example, the value “Request” indicates a SOAP request, that is, a SOAP message in which a command is described.

また、「SOAPAction」ヘッダは、SOAPリクエストの内容を示すものであり、この例では、「http://www.…」というURI(Uniform Resource Identifier)によりリクエストの内容を示している。なお、「SOAPAction」ヘッダは、SOAPメッセージがSOAPレスポンスである場合には付加しないため、メッセージの受信側において、このヘッダの有無により、SOAPメッセージがSOAPリクエストであるかSOAPレスポンスであるかを判断することもできる。   The “SOAPAction” header indicates the content of the SOAP request. In this example, the content of the request is indicated by a URI (Uniform Resource Identifier) “http: // www. Since the “SOAPAction” header is not added when the SOAP message is a SOAP response, the message receiving side determines whether the SOAP message is a SOAP request or a SOAP response based on the presence or absence of this header. You can also

そして、「Envelope」タグの属性として、名前空間の宣言を行っている。そしてここでは、SOAPで標準として定義されている名前空間の他に、「http://www.example.com/header」及び「http://www.example.com/maintenance/server」のURIで特定される名前空間の宣言を行っている。従って、「n」の名前空間接頭辞が付されたXMLタグについては「http://www.example.com/header」のURIで特定される名前空間に属するタグであることがわかり、「ns」の名前空間接頭辞が付されたXMLタグについては「http://www.example.com/maintenance/server」のURIで特定される名前空間に属するタグであることがわかる。   The namespace is declared as an attribute of the “Envelope” tag. And here, in addition to the namespace defined as a standard in SOAP, the URIs of “http://www.example.com/header” and “http://www.example.com/maintenance/server” The specified namespace is declared. Therefore, it can be seen that the XML tag with the namespace prefix “n” belongs to the namespace specified by the URI “http://www.example.com/header”. It can be seen that the XML tag with the namespace prefix “” belongs to the namespace specified by the URI “http://www.example.com/maintenance/server”.

また、SOAPヘッダには、「要求ID」のXMLタグの内容として、この端末装置コマンドのIDである「12345」が記載されている。
SOAPボディには、仲介サーバ102において呼び出すメソッドを指定する情報として、「Body」タグの直下に、「異常通知」タグが記載され(「メソッド名」に該当し、コマンドの種別を示す)、その下位のタグ「エラーID」や「説明」の要素として、そのメソッドを呼び出す際の引数が記載されている(「入力パラメータ」に該当する)。ここでは異常通知の通知内容が記載されている。
Also, in the SOAP header, “12345” that is the ID of this terminal device command is described as the content of the XML tag of “request ID”.
In the SOAP body, an “abnormality notification” tag is described immediately below the “Body” tag as information for specifying a method to be called in the mediation server 102 (corresponding to “method name”, indicating the type of command), and As elements of the lower tag “error ID” and “description”, an argument for calling the method is described (corresponding to “input parameter”). Here, the notification content of the abnormality notification is described.

なお、このパートに記載されたコマンドが仲介サーバ102で実行すべきものであることは、仲介サーバ102のメッセージ分配手段47がコマンドの種類に従って認識するものである。従って、このパートにはコマンドの宛先や転送先は記載していないし、画像処理装置100側で、このコマンドが最終的にどの装置で実行されるかを認識している必要はない。   Note that the message described in this part is to be executed by the mediation server 102 is recognized by the message distribution unit 47 of the mediation server 102 according to the type of command. Accordingly, the command destination and transfer destination are not described in this part, and it is not necessary for the image processing apparatus 100 to recognize in which apparatus the command is finally executed.

図21には、図20に示した端末装置コマンドに対する応答を記載したパートの例を示す。
この例においては、まず、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであること、すなわちコマンド応答を記載したSOAPメッセージであることを示している。
また、この例においても、名前空間の宣言は図20に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した端末装置コマンドのIDである「12345」が記述されている。
FIG. 21 shows an example of a part describing a response to the terminal device command shown in FIG.
In this example, first, the value of the “X-SOAP-Type” header in the entity header portion is described as “Response”, so that the SOAP message described in this part is a SOAP response, that is, a command. It indicates that the message is a SOAP message describing a response.
Also in this example, the declaration of the namespace is the same as the example shown in FIG. In the SOAP header, “12345” that is the ID of the terminal device command that generated the response is described as the content of the XML tag of “command ID”.

SOAPボディには、「Body」タグの直下に、「異常通知」コマンドに対する応答であることを示すための「異常通知Response」タグ(コマンド応答の種別を示す)が設けられ、その下位のタグに、コマンド応答の内容が記載される。ここでは、異常通知を正常に受信した旨の情報が記載されている。そして、この情報は、後述するように、画像処理装置100における端末装置コマンドシートの「出力パラメータ」の項目に格納される。
この分散処理システムにおいては、画像処理装置100側に、コマンド応答がどの装置で生成されたものであるかを認識させる必要はないので、このパートにはコマンド応答の送信元は記載していない。
The SOAP body is provided with an “abnormal notification response” tag (indicating the type of command response) immediately below the “Body” tag to indicate that it is a response to the “abnormal notification” command. The contents of the command response are described. Here, information indicating that the abnormality notification has been normally received is described. This information is stored in the “output parameter” item of the terminal device command sheet in the image processing apparatus 100 as will be described later.
In this distributed processing system, since it is not necessary for the image processing apparatus 100 to recognize which apparatus the command response is generated from, the transmission source of the command response is not described in this part.

図22には、処理サーバ(販売管理サーバ)103aに対する端末装置コマンドを、画像処理装置100から仲介サーバ102に転送する際のパートの記載例を示す。
この例においても、図20の場合と同様に、「X-SOAP-Type」ヘッダの値の「Request」により、このパートに記載されているSOAPエンベロープがSOAPリクエストであることを示し、「SOAPAction」ヘッダの情報により、SOAPリクエストの内容を示している。
FIG. 22 shows a description example of a part when a terminal device command for the processing server (sales management server) 103 a is transferred from the image processing device 100 to the mediation server 102.
Also in this example, as in the case of FIG. 20, the “Request” in the value of the “X-SOAP-Type” header indicates that the SOAP envelope described in this part is a SOAP request, and “SOAPAction” The contents of the SOAP request are indicated by the header information.

また、「Envelope」タグの属性として、名前空間の宣言を行っている点も、図20の場合と同様である。そしてここでは、SOAPで標準として定義されている名前空間の他に、「http://www.example.com/header」及び「http://www.example.com/sales/server」のURIで特定される名前空間の宣言を行っている。
SOAPヘッダには、「要求ID」のXMLタグの内容として、この画像機器コマンドのIDである「12346」が記載されている。
Also, the name space is declared as an attribute of the “Envelope” tag as in the case of FIG. And here, in addition to the namespace defined as a standard in SOAP, the URIs of “http://www.example.com/header” and “http://www.example.com/sales/server” The specified namespace is declared.
In the SOAP header, “12346” that is the ID of this image device command is described as the content of the XML tag of “request ID”.

SOAPボディには、「Body」タグの直下に、処理サーバ103aにおいて呼び出すメソッドを指定する情報として、「用紙注文」タグが記載され、その下位のタグ「商品名」や「数量」の要素として、そのメソッドを呼び出す際の引数が記載されている。ここでは用紙の注文内容が記載されている。
なお、このパートに記載されたコマンドが処理サーバ103aに転送すべきものであることは、仲介サーバ102のメッセージ分配手段47がコマンドの種類に従って認識するものである。従って、このパートにもコマンドの宛先や転送先は記載していないし、画像処理装置100側で、このコマンドが最終的にどの装置で実行されるかを認識している必要はない。
In the SOAP body, a “paper order” tag is described immediately below the “Body” tag as information for specifying a method to be called in the processing server 103a. Arguments when calling the method are described. Here, the order contents of the paper are described.
Note that the message distribution means 47 of the mediation server 102 recognizes that the command described in this part should be transferred to the processing server 103a according to the type of command. Accordingly, neither the command destination nor the transfer destination is described in this part, and it is not necessary for the image processing apparatus 100 to recognize which apparatus will eventually execute this command.

図23には、図22に示したコマンドを仲介サーバ102から処理サーバ103aに転送する際のパートの記載例を示す。
このパートは、図22に示したものと同じコマンドを処理サーバ103aに転送する際のものであるから、図22に示したパートとほぼ同じ内容が記載されている。しかし、エンティティヘッダ部に「X-Received-From」ヘッダが追加され、このパートに記載されたコマンドが「Cilent_A」(画像処理装置100とする)から送信されてきたことを示す情報が記載されている。そして、この情報は、コマンドが実行された後、コマンド応答を返す際の転送経路を指定するために使用される。
FIG. 23 shows a description example of a part when the command shown in FIG. 22 is transferred from the mediation server 102 to the processing server 103a.
Since this part is used when the same command as shown in FIG. 22 is transferred to the processing server 103a, almost the same contents as the part shown in FIG. 22 are described. However, an “X-Received-From” header is added to the entity header, and information indicating that the command described in this part is transmitted from “Cilent_A” (referred to as the image processing apparatus 100) is described. Yes. This information is used to designate a transfer path when a command response is returned after the command is executed.

また、ここではコマンドの送信元である画像処理装置100の識別情報が記載されているが、コマンドが複数装置に亘って転送されてきた場合には、転送毎に「X-Received-From」ヘッダが順次追加され、最上段にコマンドの送信元である装置、最下段に、パートを生成した装置から見て直近の転送元である装置の識別情報が記載される。
なおここでも、パートにはコマンドの宛先は記載する必要はない。仲介サーバ102は、コマンドを次に転送する転送先を認識しているのみであり、最終的にどの装置に転送されるかは認識していなくてもよいためである。
Although the identification information of the image processing apparatus 100 that is the command transmission source is described here, if the command is transferred across a plurality of apparatuses, an “X-Received-From” header is sent for each transfer. Are sequentially added, and the identification information of the device that is the transmission source nearest to the device that generated the part is described in the lowermost row and the device that is the transmission source of the command is described in the lowermost row.
Again, it is not necessary to describe the destination of the command in the part. This is because the intermediary server 102 only recognizes a transfer destination to which the command is transferred next, and does not need to recognize which device is finally transferred.

図24には、処理サーバ103aに対する端末装置コマンドに対する応答を、処理サーバ103aから仲介サーバ102に転送する際のパートの記載例を示す。
この例においても、図21の場合と同様に、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであることを示している。
FIG. 24 shows a description example of a part when a response to the terminal device command to the processing server 103a is transferred from the processing server 103a to the mediation server 102.
Also in this example, as in the case of FIG. 21, the value of the “X-SOAP-Type” header in the entity header portion is described as “Response”, so that the SOAP message described in this part becomes a SOAP response. It is shown that.

また、コマンド応答を仲介サーバ102から先に転送する際の転送経路を、「X-Send-To」ヘッダに記載している。ここでは、最終的な宛先となる画像処理装置100の識別情報が記載されているが、転送経路が複数装置に亘る場合には、複数の「X-Send-To」ヘッダを設けて経路となる装置の識別情報を順次記載し、最下段に次の転送先となる装置、最上段に最終的な宛先となる装置の識別情報を記載する。
また、この例においても、名前空間の宣言は図22に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した端末装置コマンドのIDである「12346」が記載されている。
In addition, the transfer path when the command response is transferred from the mediation server 102 is described in the “X-Send-To” header. Here, the identification information of the image processing apparatus 100 that is the final destination is described. However, when the transfer path extends to a plurality of apparatuses, a plurality of “X-Send-To” headers are provided to form the path. The identification information of the device is sequentially described, and the identification information of the device serving as the next transfer destination is described at the bottom and the final destination is described at the top.
Also in this example, the namespace declaration is the same as in the example shown in FIG. In the SOAP header, “12346” that is the ID of the terminal device command that generated the response is described as the content of the XML tag of “command ID”.

SOAPボディには、「Body」タグの直下に、「用紙注文」コマンドに対する応答であることを示すための「用紙注文Response」タグが設けられ、その下位のタグに、コマンド応答の内容が記載される。ここでは、用紙注文を正常に受信した旨の情報及び、料金を通知する情報が記載されている。
この分散処理システムにおいては、仲介サーバ102側に、コマンド応答がどの装置で生成されたものであるかを認識させる必要はないので、このパートにはコマンド応答の送信元は記載していない。
In the SOAP body, a “paper order Response” tag is provided immediately below the “Body” tag to indicate that it is a response to the “paper order” command, and the contents of the command response are described in the lower tag. The Here, information indicating that the paper order has been successfully received and information for notifying the charge are described.
In this distributed processing system, since it is not necessary for the mediation server 102 to recognize which device the command response is generated from, the source of the command response is not described in this part.

図25には、図24に示したコマンド応答を仲介サーバ102から画像処理装置100に転送する際のパートの記載例を示す。
このパートは、図24に示したものと同じコマンド応答を画像処理装置100に転送する際のものであるから、図24に示したパートとほぼ同じ内容が記載されている。しかし、もはや画像処理装置100に対して転送すべき旨の転送経路の情報は必要ないので、エンティティヘッダ部の「X-Send-To」ヘッダは削除している。
FIG. 25 shows a description example of a part when the command response shown in FIG. 24 is transferred from the mediation server 102 to the image processing apparatus 100.
Since this part is used when the same command response as that shown in FIG. 24 is transferred to the image processing apparatus 100, almost the same contents as the part shown in FIG. 24 are described. However, since there is no longer any need for transfer path information to transfer to the image processing apparatus 100, the “X-Send-To” header in the entity header portion is deleted.

図26には、画像処理装置に対する仲介サーバコマンドを記載したパートの例を示す。
この例においても、図20の場合と同様に、「X-SOAP-Type」ヘッダの値の「Request」により、このパートに記載されているSOAPエンベロープがSOAPリクエストであることを示し、「SOAPAction」ヘッダの情報により、SOAPリクエストの内容を示している。仲介サーバ102から画像処理装置100へは直接コマンドを転送することができるので、転送経路の情報を示す「X-Send-To」ヘッダは記載していない。
FIG. 26 shows an example of a part describing a mediation server command for the image processing apparatus.
Also in this example, as in the case of FIG. 20, the “Request” in the value of the “X-SOAP-Type” header indicates that the SOAP envelope described in this part is a SOAP request, and “SOAPAction” The contents of the SOAP request are indicated by the header information. Since the command can be directly transferred from the mediation server 102 to the image processing apparatus 100, an “X-Send-To” header indicating transfer path information is not described.

また、「Envelope」タグの属性として、名前空間の宣言を行っている点も、図20の場合と同様である。そしてここでは、SOAPで標準として定義されている名前空間の他に、「http://www.example.com/header」及び「http://www.example.com/maintenance/client」のURIで特定される名前空間の宣言を行っている。
SOAPヘッダには、「要求ID」のXMLタグの内容として、この仲介サーバコマンドのIDである「98765」が記載されている。
Also, the name space is declared as an attribute of the “Envelope” tag as in the case of FIG. And here, in addition to the namespace defined as a standard in SOAP, the URIs of “http://www.example.com/header” and “http://www.example.com/maintenance/client” The specified namespace is declared.
In the SOAP header, “98765” that is the ID of this mediation server command is described as the content of the XML tag of “request ID”.

そして、SOAPボディには、「Body」タグの直下に、画像処理装置において呼び出すメソッドを指定する情報として、「温度センサ値取得」タグが記載され、その下位のタグ「センサID」の要素として、そのメソッドを呼び出す際の引数が記載されている。ここではセンサ値を取得するセンサのIDが記載されている。
また、画像処理装置100側では、受信したコマンドに対するコマンド応答はとりあえず仲介サーバ102に送信すればよいということを認識できるようにしているので、パートには、コマンドの送信元の情報は記載していない。
In the SOAP body, a “temperature sensor value acquisition” tag is described as information specifying a method to be called in the image processing apparatus immediately below the “Body” tag, and as an element of a lower tag “sensor ID”, Arguments when calling the method are described. Here, the ID of the sensor for acquiring the sensor value is described.
In addition, since the image processing apparatus 100 can recognize that a command response to the received command should be transmitted to the mediation server 102 for the time being, information on the command transmission source is described in the part. Absent.

図27には、図26に示した仲介サーバコマンドに対する応答を記載したパートの例を示す。
この例においても、図21の場合と同様に、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであることを示している。
FIG. 27 shows an example of a part describing a response to the mediation server command shown in FIG.
Also in this example, as in the case of FIG. 21, the value of the “X-SOAP-Type” header in the entity header portion is described as “Response”, so that the SOAP message described in this part becomes a SOAP response. It is shown that.

また、この例においても、名前空間の宣言は図26に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した仲介サーバコマンドのIDである「98765」が記載されている。
SOAPボディには、「Body」タグの直下に、「温度センサ値取得」コマンドに対する応答であることを示すための「温度センサ値取得Response」タグが設けられ、その下位のタグに、コマンド応答の内容が記載される。ここでは、値取得を要求されたセンサの示す温度値の情報が記載されている。
Also in this example, the namespace declaration is the same as in the example shown in FIG. In the SOAP header, “98765”, which is the ID of the mediation server command that generated the response, is described as the content of the XML tag of “command ID”.
The SOAP body is provided with a “temperature sensor value acquisition Response” tag immediately below the “Body” tag to indicate that it is a response to a “temperature sensor value acquisition” command. The contents are described. Here, information on the temperature value indicated by the sensor whose value is requested is described.

なお、このパートに記載されたコマンド応答が仲介サーバコマンドに対するものであり、仲介サーバ102が宛先となるものであることは、仲介サーバ102のメッセージ分配手段47がコマンド応答の種別に従って認識するものである。従って、このパートにもコマンド応答の宛先や転送先を記載する必要はないし、画像処理装置100側で、このコマンド応答が最終的にどの装置に転送されるかを認識している必要もない。   Note that the command response described in this part is for the mediation server command and that the mediation server 102 is the destination, so that the message distribution unit 47 of the mediation server 102 recognizes according to the type of the command response. is there. Therefore, it is not necessary to describe the destination and transfer destination of the command response in this part, and it is not necessary for the image processing apparatus 100 to recognize to which apparatus the command response is finally transferred.

図28には、画像処理装置に対する処理サーバコマンドを、処理サーバ103aから仲介サーバ102に転送する際のパートの記載例を示す。
この例においても、図20の場合と同様に、「X-SOAP-Type」ヘッダの値の「Request」により、このパートに記載されているSOAPエンベロープがSOAPリクエストであることを示し、「SOAPAction」ヘッダの情報により、SOAPリクエストの内容を示している。また、処理サーバ103aでは、コマンドの転送経路及び宛先を認識できるようにしており、コマンドを仲介サーバ102から先に転送する際の転送経路を、図24の場合と同様に「X-Send-To」ヘッダに記載している。
FIG. 28 shows a description example of a part when a processing server command for the image processing apparatus is transferred from the processing server 103 a to the mediation server 102.
Also in this example, as in the case of FIG. 20, the “Request” in the value of the “X-SOAP-Type” header indicates that the SOAP envelope described in this part is a SOAP request, and “SOAPAction” The contents of the SOAP request are indicated by the header information. In addition, the processing server 103a can recognize the transfer path and destination of the command, and the transfer path for transferring the command from the mediation server 102 to the destination is “X-Send-To” as in FIG. ”In the header.

また、「Envelope」タグの属性として、名前空間の宣言を行っている点は、図20の場合と同様である。そしてここでは、SOAPで標準として定義されている名前空間の他に、「http://www.example.com/header」及び「http://www.example.com/sales/client」のURIで特定される名前空間の宣言を行っている。
SOAPヘッダには、「要求ID」のXMLタグの内容として、この処理サーバコマンドのIDである「77777」が記載されている。
Further, as in the case of FIG. 20, the namespace is declared as an attribute of the “Envelope” tag. And here, in addition to the namespace defined as a standard in SOAP, the URIs of “http://www.example.com/header” and “http://www.example.com/sales/client” The specified namespace is declared.
In the SOAP header, “77777” that is the ID of this processing server command is described as the content of the XML tag of “request ID”.

SOAPボディには、「Body」タグの直下に、画像処理装置100において呼び出すメソッドを指定する情報として、「新製品情報通知」タグが記載され、その下位のタグ「商品名」や「単価」の要素として、そのメソッドを呼び出す際の引数が記載されている。ここでは新製品の商品名や単価が記載されている。
仲介サーバ102は、後述するように、コマンドがどこから送信されてきたものかわからなくても、コマンド応答を適切な転送先に転送することができるので、パートにはコマンドの送信元の情報は記載していない。
In the SOAP body, a “new product information notification” tag is described immediately below the “Body” tag as information for designating a method to be called in the image processing apparatus 100, and tags “product name” and “unit price” below that tag are described. As an element, an argument for invoking the method is described. Here, the brand name and unit price of the new product are described.
As will be described later, since the intermediary server 102 can transfer the command response to an appropriate transfer destination without knowing where the command has been transmitted from, information on the command transmission source is described in the part. Not done.

図29には、図28に示した処理サーバコマンドを仲介サーバ102から画像処理装置100に転送する際のパートの記載例を示す。
このパートは、図28に示したものと同じ処理サーバコマンドを画像処理装置100に転送する際のものであるから、図28に示したパートとほぼ同じ内容が記載されている。しかし、もはや画像処理装置100に対して転送すべき旨の転送経路の情報は必要ないので、エンティティヘッダ部の「X-Send-To」ヘッダは削除している。
画像処理装置100側では、受信したコマンドに対するコマンド応答はとりあえず仲介サーバ102に送信すればよいということを認識できるようにしているし、その後コマンド応答がどこに転送されるかは認識する必要がないので、パートには、コマンドの送信元の情報は記載していない。
FIG. 29 shows a description example of a part when the processing server command shown in FIG. 28 is transferred from the mediation server 102 to the image processing apparatus 100.
Since this part is for transferring the same processing server command as that shown in FIG. 28 to the image processing apparatus 100, almost the same contents as the part shown in FIG. 28 are described. However, since there is no longer any need for transfer path information to transfer to the image processing apparatus 100, the “X-Send-To” header in the entity header portion is deleted.
On the image processing apparatus 100 side, it is possible to recognize that the command response to the received command should be transmitted to the mediation server 102 for the time being, and it is not necessary to recognize where the command response is transferred thereafter. In the part, information of the command transmission source is not described.

図30には、図28に示した処理サーバコマンドに対する応答を、画像処理装置100から仲介サーバ102に転送する際のパートの記載例を示す。
この例においても、図21の場合と同様に、エンティティヘッダの部分の「X-SOAP-Type」ヘッダの値を「Response」と記載することにより、このパートに記載されているSOAPメッセージがSOAPレスポンスであることを示している。
FIG. 30 illustrates a description example of a part when the response to the processing server command illustrated in FIG. 28 is transferred from the image processing apparatus 100 to the mediation server 102.
Also in this example, as in the case of FIG. 21, the value of the “X-SOAP-Type” header in the entity header portion is described as “Response”, so that the SOAP message described in this part becomes a SOAP response. It is shown that.

また、この例においても、名前空間の宣言は図28に示した例と同様である。そして、SOAPヘッダには、「コマンドID」のXMLタグの内容として、応答を生成した処理サーバコマンドのIDである「77777」が記載されている。
SOAPボディには、「Body」タグの直下に、「新製品情報通知」コマンドに対する応答であることを示すための「新製品情報通知Response」タグが設けられ、その下位のタグに、コマンド応答の内容が記載される。ここでは、通知を正常に受け付けた旨の情報が記載されている。
Also in this example, the namespace declaration is the same as in the example shown in FIG. In the SOAP header, “77777” that is the ID of the processing server command that generated the response is described as the content of the XML tag of “command ID”.
In the SOAP body, a “new product information notification” response tag is provided immediately below the “Body” tag to indicate that it is a response to the “new product information notification” command. The contents are described. Here, information indicating that the notification has been normally received is described.

なお、このパートに記載されたコマンド応答が処理サーバコマンドに対するものであり、処理サーバ103aに転送すべきものであることは、仲介サーバ102のメッセージ分配手段47がコマンド応答の種別に従って認識するものである。従って、このパートにもコマンド応答の宛先や転送先を記載する必要はないし、画像処理装置100側で、このコマンド応答が最終的にどの装置に転送されるかを認識している必要もない。また、仲介サーバ102も、このコマンド応答が最終的にどの装置に転送されるかを認識している必要はない。   Note that the message distribution means 47 of the mediation server 102 recognizes that the command response described in this part is for the processing server command and should be transferred to the processing server 103a according to the type of the command response. . Therefore, it is not necessary to describe the destination and transfer destination of the command response in this part, and it is not necessary for the image processing apparatus 100 to recognize to which apparatus the command response is finally transferred. Further, the mediation server 102 does not need to know which device the command response is finally transferred to.

図31には、図30に示したコマンド応答を仲介サーバ102から処理サーバ103aに転送する際のパートの記載例を示す。
このパートは、図30に示したものと同じコマンド応答を処理サーバ103aに転送する際のものであるから、図30に示したパートとほぼ同じ内容が記載されている。エンティティヘッダ部には、図23の場合と同様に「X-Received-From」ヘッダを追加しているが、コマンド応答に対する応答を返してもらう必要はないので、ここではこの記載は必須ではない。パートにコマンド応答の宛先を記載しない点については、図23の場合と同様である。
FIG. 31 shows a description example of a part when the command response shown in FIG. 30 is transferred from the mediation server 102 to the processing server 103a.
Since this part is for transferring the same command response as that shown in FIG. 30 to the processing server 103a, almost the same contents as the part shown in FIG. 30 are described. Although the “X-Received-From” header is added to the entity header portion as in the case of FIG. 23, it is not necessary to receive a response to the command response, so this description is not essential here. The point that the destination of the command response is not described in the part is the same as in FIG.

次に、以上説明したような構成及び機能を有する仲介サーバ102において実行する処理について、図32乃至図41のフローチャートを用いて説明する。これらのフローチャートに示す処理は、制御装置125のCPU(図32乃至図41の説明においては、特に断らない限り、単に「CPU」と言った場合にはこのCPUを指すものとする)が所要の制御プログラムを実行することによって行うものである。   Next, processing executed in the mediation server 102 having the configuration and functions described above will be described with reference to the flowcharts of FIGS. The processing shown in these flowcharts requires the CPU of the control device 125 (in the description of FIGS. 32 to 41, unless otherwise specified, this CPU is simply referred to as “CPU”). This is done by executing a control program.

まず、図32にメッセージの収集及び分配処理の基本動作のフローチャートを示す。
CPUは、画像処理装置100からHTTPリクエストが送信されてくると、図32のフローチャートに示す処理を開始する。
そして、まず画像処理装置100からそのHTTPリクエストを受信し(S11)、受信したHTTPリクエストのHTTPボディを各パートに分割する(S12)。ここで、各パートへの分割は、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。
First, FIG. 32 shows a flowchart of basic operations of message collection and distribution processing.
When an HTTP request is transmitted from the image processing apparatus 100, the CPU starts the process shown in the flowchart of FIG.
First, the HTTP request is received from the image processing apparatus 100 (S11), and the HTTP body of the received HTTP request is divided into parts (S12). Here, the division into parts is to divide into elements divided by “MIME_boundary”, and here, all parts are divided.

その後、分割して得た全てのパートを順に対象として、ステップS13のメッセージ分配処理を繰り返す。そして、全てのパートについてこれらの処理を行った時点で、次のステップS14に進む。
ここまでの処理において、ステップS11及びS12が第1の受信手順の処理であり、ここではCPUはHTTPリクエスト受信手段46bとして機能する。また、ステップS13では、CPUはメッセージ分配手段47として機能する。
Thereafter, the message distribution process in step S13 is repeated for all the parts obtained by the division in order. Then, when these processes are performed for all the parts, the process proceeds to the next step S14.
In the processing so far, steps S11 and S12 are processing of the first reception procedure, and here, the CPU functions as the HTTP request receiving means 46b. In step S13, the CPU functions as the message distribution unit 47.

ステップS14以降の処理は、画像処理装置100へのHTTPレスポンスの送信に関連する処理である。そして、この処理においてはまず、CPUは転送メッセージ収集処理を行う(S14)。この処理は、受信用転送メッセージプール52から画像処理装置100に転送すべきメッセージを収集する処理であり、収集したメッセージから転送に係るパートを生成する処理を含む。
その後、仲介サーバコマンド収集処理を行う(S15)。この処理は、仲介サーバコマンドプール42から画像処理装置100に送信すべき仲介サーバコマンドを収集する処理であり、収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
The processing after step S14 is processing related to transmission of an HTTP response to the image processing apparatus 100. In this process, first, the CPU performs a transfer message collection process (S14). This process is a process of collecting messages to be transferred from the reception transfer message pool 52 to the image processing apparatus 100, and includes a process of generating a part related to transfer from the collected messages.
Thereafter, a mediation server command collection process is performed (S15). This process is a process of collecting a mediation server command to be transmitted from the mediation server command pool 42 to the image processing apparatus 100, and includes a process of generating a part by a SOAP envelope from the collected data.

次に、端末装置コマンドに対する応答である端末装置コマンド実行結果の収集処理を行う(S16)。この処理は、端末装置コマンドプール41から画像処理装置100に送信すべきコマンド応答を収集する処理であり、やはり収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
その後、ステップS14乃至S16の処理で生成したパートを1つにマージして、すべてのパートを含むHTTPレスポンスを生成し(S17)、そのHTTPレスポンスを画像処理装置100に送信する(S18)。なお、ステップS14乃至S16の処理は、順不同でよい。
ここまでの処理において、ステップS14乃至S16ではCPUはメッセージ収集手段45として機能する。また、ステップS17及びS18が第2の送信手順の処理であり、ここではCPUはHTTPレスポンス送信手段46aとして機能する。
Next, terminal device command execution result collection processing, which is a response to the terminal device command, is collected (S16). This process is a process of collecting command responses to be transmitted from the terminal apparatus command pool 41 to the image processing apparatus 100, and also includes a process of generating a part by a SOAP envelope from the collected data.
Thereafter, the parts generated in the processes of steps S14 to S16 are merged into one, an HTTP response including all the parts is generated (S17), and the HTTP response is transmitted to the image processing apparatus 100 (S18). Note that the processes in steps S14 to S16 may be in any order.
In the processing so far, the CPU functions as the message collecting means 45 in steps S14 to S16. Steps S17 and S18 are processes of the second transmission procedure. Here, the CPU functions as the HTTP response transmission unit 46a.

次に、図32のフローチャートに示した処理について、一部分ずつより詳細に示したフローチャートを用いて説明する。
図33は、図32に示したメッセージ分配処理の内容をより詳細に示したフローチャートである。
Next, the processing shown in the flowchart of FIG. 32 will be described using the flowchart shown in detail one by one.
FIG. 33 is a flowchart showing the details of the message distribution process shown in FIG.

この処理においては、CPUは、まず対象パートのSOAPメッセージから、Bodyタグの直下のタグの名前空間URIを取得する(S21)。図20乃至図31の例に示したように、SOAPメッセージにおいて、Bodyタグの直下のタグにはコマンドあるいはコマンド応答の種別を示すタグが記載されている。また、このタグには名前空間接頭辞(例えば図20の場合には「ns」)が付されており、この名前空間接頭辞と、「Envelope」タグ中での名前空間の定義内容とから、タグの名前空間URIを取得することができる。また、名前空間URIは、タグのグルーピングに使用されるので、同じ名前空間URIを有するコマンド又はコマンド応答は、同じ群に属するコマンド又はコマンド応答であると考えることができる。   In this process, the CPU first acquires the name space URI of the tag immediately below the Body tag from the SOAP message of the target part (S21). As shown in the examples of FIGS. 20 to 31, in the SOAP message, a tag indicating the type of command or command response is described in the tag immediately below the Body tag. Further, a namespace prefix (for example, “ns” in the case of FIG. 20) is attached to this tag. From this namespace prefix and the definition contents of the namespace in the “Envelope” tag, The tag namespace URI can be obtained. Further, since the namespace URI is used for tag grouping, commands or command responses having the same namespace URI can be considered as commands or command responses belonging to the same group.

次に、取得した名前空間URIをキーに、転送先情報記憶手段50に記憶している転送先テーブルを検索し、対象パートのメッセージの転送先の情報を取得する(S22)。
この転送先テーブルの例を図34に示す。
この図に示すように、転送先テーブルには、名前空間URI毎に、その名前空間に属するコマンド又はコマンド応答の転送先の情報を記載している。そして、転送先の情報は、IPアドレスやホスト名等として記憶しておくと良い。このとき、異なる名前空間URIに同じ転送先を対応させてももちろん構わない。
Next, the transfer destination table stored in the transfer destination information storage means 50 is searched using the acquired name space URI as a key, and the transfer destination information of the message of the target part is acquired (S22).
An example of this transfer destination table is shown in FIG.
As shown in this figure, in the transfer destination table, information on transfer destinations of commands or command responses belonging to the name space is described for each name space URI. The transfer destination information is preferably stored as an IP address, a host name, or the like. At this time, of course, the same transfer destination may be associated with different name space URIs.

そして、ステップS21で取得した名前空間URIをキーにこのテーブルを検索することにより、対象パートのメッセージの転送先を取得することができる。このとき、対象パートのメッセージがコマンドに係るものであるかコマンド応答に係るものであるかを区別する必要はない。例えば、対象パートが図20に示したパートであった場合には、「Body」タグの直下のタグは「http://www.example.com/maintenance/server」の名前空間に属するから、そのパートに係るメッセージの転送先は仲介サーバ102自身であることがわかる。なお、名前空間URIが転送先テーブルに含まれていないものであった場合には、エラー処理を行うとよい。   Then, by searching this table using the namespace URI acquired in step S21 as a key, the transfer destination of the message of the target part can be acquired. At this time, it is not necessary to distinguish whether the message of the target part relates to a command or a command response. For example, if the target part is the part shown in FIG. 20, the tag immediately below the “Body” tag belongs to the namespace “http://www.example.com/maintenance/server”. It can be seen that the transfer destination of the message related to the part is the mediation server 102 itself. If the name space URI is not included in the transfer destination table, error processing may be performed.

次に、ステップS22で取得した転送先が仲介サーバ102(自分自身)であるか否か判断する(S23)。そして、自分自身であれば、対象のパートは仲介サーバコマンドに対する応答又は仲介サーバが実行すべき端末装置コマンドであることがわかる。
そこで、対象のパートがそのいずれであるかを判断する。図33には、仲介サーバコマンドに対する応答か否かを判断するものとして記載している(S24)。そして、この判断は、対象のパートに「SOAPAction」ヘッダが存在するか否か、あるいは「X-SOAP-Type」ヘッダの内容によって判断することができる。
Next, it is determined whether or not the transfer destination acquired in step S22 is the mediation server 102 (self) (S23). If it is itself, it can be seen that the target part is a response to the mediation server command or a terminal device command to be executed by the mediation server.
Therefore, it is determined which of the target parts is. FIG. 33 describes that it is determined whether or not the response is to the mediation server command (S24). This determination can be made based on whether or not the “SOAPAction” header exists in the target part, or based on the content of the “X-SOAP-Type” header.

そして、仲介サーバコマンドに対する応答であれば、ステップS25乃至S28で、その応答の登録に係る処理を行う。
すなわち、まずそのパートのSOAPエンベロープを解析して仲介サーバコマンドシートに登録できる形式のデータに変換し(S25)、仲介サーバコマンドプール42からその応答に対応する仲介サーバコマンドを探索し、その仲介サーバコマンドについての仲介サーバコマンドシートの「出力パラメータ」の項目に応答のデータを登録する(S26)。なお、コマンド応答には、「コマンドID」の情報として、仲介サーバコマンドの送信時に付したものと同じコマンドIDが付してあるものとし、仲介サーバコマンドの探索は、この情報をキーとして行うことができる。
And if it is a response with respect to a mediation server command, the process which concerns on the registration of the response will be performed by step S25 thru | or S28.
That is, first, the SOAP envelope of the part is analyzed and converted into data in a format that can be registered in the mediation server command sheet (S25), the mediation server command corresponding to the response is searched from the mediation server command pool 42, and the mediation server Response data is registered in the “output parameter” item of the mediation server command sheet for the command (S26). The command response is assumed to have the same command ID as the information that is given at the time of transmission of the mediation server command as information of “command ID”, and the mediation server command search is performed using this information as a key. Can do.

データの登録が終わると、データを登録した仲介サーバコマンドシートの「状態」を「応答受信済」に変更してその旨を示す(S27)。そして、「コマンド実行結果の通知先」に登録されている通知先に、応答があった旨を通知する(S28)。この通知によって、仲介サーバコマンドを生成したアプリケーション等は、その生成したコマンドに応答があったことを認識し、応答に応じた処理を行うことができる。   When the data registration is completed, the “status” of the mediation server command sheet in which the data is registered is changed to “response received” to indicate that (S27). Then, the notification destination registered in the “command execution result notification destination” is notified that a response has been received (S28). By this notification, the application or the like that generated the mediation server command can recognize that there is a response to the generated command and can perform processing according to the response.

例えば、画像処理装置100での異常発生に対応するアプリケーションが画像処理装置100の温度センサのセンサ値を取得する仲介サーバコマンドを生成した場合、このコマンドが画像処理装置100に送信されると、画像処理装置100は要求されたセンサ値を含むコマンド応答を返してくる。そして、仲介サーバ(機器管理サーバ)102側では、このコマンド応答を受信すると、ここに含まれるコマンドIDを基にどの仲介サーバコマンドに対する応答であるかを探索し、見つかった仲介サーバコマンドと対応させてそのコマンド応答を登録する。そして、そのコマンドの実行結果通知先として登録されている、異常発生に対応するアプリケーションに、応答があった旨を通知するのである。アプリケーションは、この通知を受けた場合に仲介サーバコマンドシートを参照すれば、生成したコマンドの実行結果を「出力パラメータ」の項目から取得することができる。
以上のステップS28までの処理が終了すると、図33の処理を終了して元の処理に戻る。
For example, when an application corresponding to the occurrence of an abnormality in the image processing apparatus 100 generates a mediation server command for acquiring the sensor value of the temperature sensor of the image processing apparatus 100, when this command is transmitted to the image processing apparatus 100, The processing device 100 returns a command response including the requested sensor value. Upon receiving this command response, the mediation server (device management server) 102 searches for the mediation server command to which the response is based on the command ID included therein, and associates it with the found mediation server command. Register the command response. Then, it notifies the application corresponding to the occurrence of the abnormality registered as the command execution result notification destination that the response has been received. If the application receives this notification and refers to the mediation server command sheet, the application can acquire the execution result of the generated command from the “output parameter” item.
When the process up to step S28 is completed, the process in FIG. 33 is terminated and the process returns to the original process.

また、ステップS24で仲介サーバコマンドに対する応答でなかった場合には、対象のパートは仲介サーバが実行すべき端末装置コマンドであるので、ステップS29乃至S33で、そのコマンドの登録に関する処理を行う。
すなわち、まずそのパートのSOAPエンベロープを解析して端末装置コマンドシートに登録できる形式のデータに変換し(S29)、その端末装置コマンドを登録するための端末装置コマンドシートを端末装置コマンドプール41に作成して(S30)、端末装置コマンドとコマンドIDと送信元情報とをその端末装置コマンドシートに登録する(S31)。
If the response is not a response to the mediation server command in step S24, the target part is a terminal device command to be executed by the mediation server, and thus processing related to registration of the command is performed in steps S29 to S33.
That is, first, the SOAP envelope of the part is analyzed and converted into data that can be registered in the terminal device command sheet (S29), and a terminal device command sheet for registering the terminal device command is created in the terminal device command pool 41. Then, the terminal device command, the command ID, and the transmission source information are registered in the terminal device command sheet (S31).

ここで、端末装置コマンドの内容は端末装置コマンドシートの「メソッド名」及び「入力パラメータ」の項目に登録し、パートに記載されていたコマンドIDは「コマンドID」の項目に登録する。また、「送信元情報」については、対象のパートが記載されていたHTTPリクエストの送信元情報を取得して登録することができる。また、対象のパートのエンティティヘッダに「X-Received-From」ヘッダがあった場合には、その内容も転送経路の情報として登録する。また、「状態」の初期値は「未処理」であり、「出力パラメータ」の初期値はNULLである。   Here, the contents of the terminal device command are registered in the “method name” and “input parameter” items of the terminal device command sheet, and the command ID described in the part is registered in the “command ID” item. As for “source information”, the source information of the HTTP request in which the target part is described can be acquired and registered. Also, if there is an “X-Received-From” header in the entity header of the target part, its content is also registered as transfer path information. In addition, the initial value of “state” is “unprocessed”, and the initial value of “output parameter” is NULL.

そして、以上の項目への登録が終了すると、端末装置コマンドシートの「メソッド名」に記憶させたメソッドを実行させるためのハンドラ(端末装置コマンドハンドラ43a)への参照情報を、予め用意してあるメソッドとハンドラとの対応関係の情報を参照して検索し(S32)、発見した参照情報を端末装置コマンドシートの「コマンドの通知先」の項目に登録する(S33)。
以上のステップS33までの処理が終了すると、図33の処理を終了して元の処理に戻る。
When the registration to the above items is completed, reference information to the handler (terminal device command handler 43a) for executing the method stored in the “method name” of the terminal device command sheet is prepared in advance. A search is made by referring to the information on the correspondence between the method and the handler (S32), and the found reference information is registered in the “command notification destination” item of the terminal device command sheet (S33).
When the process up to step S33 is completed, the process in FIG. 33 is terminated and the process returns to the original process.

また、ステップS23で転送先が自分自身でなければ、対象のパートのメッセージは他の装置に転送すべきものであるので、ステップS34乃至S36で、転送用メッセージの登録に係る処理を行う。
すなわち、まずそのメッセージを登録するための転送メッセージシートを送信用転送メッセージプール51に作成して(S34)、メッセージ及びそのメッセージの転送先情報をその転送用メッセージシートに登録する(S35)。
If the transfer destination is not itself in step S23, the message of the target part is to be transferred to another device, and therefore, processing related to registration of the transfer message is performed in steps S34 to S36.
That is, first, a transfer message sheet for registering the message is created in the transmission transfer message pool 51 (S34), and the message and transfer destination information of the message are registered in the transfer message sheet (S35).

ここで、対象パートのエンティティヘッダをそのまま「エンティティヘッダ情報」の項目に登録し、SOAPエンベロープの内容をそのまま「メッセージのXMLデータ」の項目に登録する。また、「転送先情報」については、ステップS22で取得した情報を登録する。
そして、以上の項目への登録が終了すると、「エンティティヘッダ情報」に登録したエンティティヘッダの末尾に、「X-Received-From」ヘッダを追加し、メッセージの送信元の情報として、対象のパートが記載されていたHTTPリクエストの送信元の情報を記載する(S36)。
以上のステップS36までの処理が終了すると、図33の処理を終了して元の処理に戻る。
図33の処理を終了した後は、図32の処理に戻るが、この図に示したように、次のパートがあればそのパートを対象として図33の処理を繰り返すことになる。
Here, the entity header of the target part is directly registered in the “entity header information” item, and the contents of the SOAP envelope are registered as they are in the “message XML data” item. Also, for “transfer destination information”, the information acquired in step S22 is registered.
When the registration to the above items is completed, an “X-Received-From” header is added to the end of the entity header registered in “Entity header information”, and the target part is used as the message sender information. The information of the transmission source of the HTTP request that has been described is described (S36).
When the process up to step S36 is completed, the process in FIG. 33 is terminated and the process returns to the original process.
After the process of FIG. 33 is completed, the process returns to the process of FIG. 32. As shown in this figure, if there is a next part, the process of FIG. 33 is repeated for that part.

次に、図35に、図32のステップS14に示した転送メッセージ収集処理をより詳細に示す。
この処理においては、CPUは、まず受信用転送メッセージプール52から「X-Send-To」ヘッダの最下段に、図32のステップS11で受信したHTTPリクエストの送信元が記載されている転送メッセージシートを収集する(S41)。なお、受信用転送メッセージプール52中の転送メッセージシートに登録されている情報は図15に示した通りであり、「X-Send-To」ヘッダは、このうち「エンティティヘッダ情報」の項目に登録されている。
Next, FIG. 35 shows the transfer message collection process shown in step S14 of FIG. 32 in more detail.
In this process, the CPU first transfers a transfer message sheet in which the transmission source of the HTTP request received in step S11 in FIG. Are collected (S41). The information registered in the transfer message sheet in the reception transfer message pool 52 is as shown in FIG. 15, and the “X-Send-To” header is registered in the “entity header information” item. Has been.

次に、ステップS41で収集した全ての転送メッセージシートを順次対象として、ステップS42及びS43の処理を繰り返す。
そして、この処理においては、まず対象の転送メッセージシートに記載された転送メッセージのパートを生成する(S42)。この処理は、対象シートの「メッセージのXMLデータ」の項目に登録されているSOAPエンベロープに、「エンティティヘッダ情報」の項目に登録されているエンティティヘッダを付すものである。ただし、エンティティヘッダ中の最下段の「X-Send-To」ヘッダの内容は、転送先の装置に伝える必要はないので、このヘッダは取り除くようにしている。
また、パートの作成が終了すると、対象の転送メッセージシートを受信用転送メッセージプール52から削除する(S43)。そして、収集した全てのシートについてこれらの処理を行った時点で、図32のステップS15に示した処理に進む。
Next, the processing of steps S42 and S43 is repeated for all the transfer message sheets collected in step S41.
In this process, first, a part of the transfer message described in the target transfer message sheet is generated (S42). In this process, the entity header registered in the “entity header information” item is added to the SOAP envelope registered in the “message XML data” item of the target sheet. However, the contents of the bottom “X-Send-To” header in the entity header do not need to be transmitted to the transfer destination device, so this header is removed.
When the part creation is completed, the target transfer message sheet is deleted from the reception transfer message pool 52 (S43). Then, when these processes are performed on all the collected sheets, the process proceeds to step S15 in FIG.

次に、図36に、図32のステップS15以降の処理をより詳細に示す。
この処理においては、CPUは、まず仲介サーバコマンドプール42から、宛先情報が図32のステップS11で受信したHTTPリクエストの送信元と等しく、かつ「状態」が「未送信」である仲介サーバコマンドシートの「メソッド名」と「入力パラメータ」の内容を、送信すべき仲介サーバコマンドとして収集し、「コマンドID」の内容もそのコマンドのコマンドIDとして収集する(S51)。「未送信」という「状態」は、コマンドが仲介サーバコマンド生成手段44によって生成された後、まだ画像処理装置100に送信されていないことを示すものであるので、これを基準に画像処理装置100に送信すべきコマンドを抽出できる。
Next, FIG. 36 shows the process after step S15 in FIG. 32 in more detail.
In this process, the CPU firstly receives from the mediation server command pool 42 the mediation server command sheet whose destination information is equal to the transmission source of the HTTP request received in step S11 in FIG. 32 and whose “status” is “unsent”. The contents of “method name” and “input parameter” are collected as a mediation server command to be transmitted, and the contents of “command ID” are also collected as the command ID of the command (S51). The “state” of “unsent” indicates that the command has not been transmitted to the image processing apparatus 100 after being generated by the mediation server command generation unit 44, and therefore the image processing apparatus 100 is based on this. You can extract commands to send to.

その後、ステップS51で収集した全ての仲介サーバコマンドを順次対象として、ステップS52乃至S54の処理を繰り返す。この部分の処理においては、まず対象の仲介サーバコマンドとそのコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるXML文書(SOAPエンベロープ)に変換し(S52)、これにエンティティヘッダを付加して対象のコマンドに関するパートを生成する(S53)。そして、対象の仲介サーバコマンドを記載していた仲介サーバコマンドシートの「状態」を「応答待ち」に変更する(S54)。「応答待ち」という「状態」は、コマンドを画像処理装置100に送信済であることを示すものである。   Thereafter, the processes in steps S52 to S54 are repeated for all the mediation server commands collected in step S51. In the processing of this part, first, the target mediation server command and its command ID are converted into an XML document (SOAP envelope) in which these pieces of information are included in the SOAP body and the SOAP header (S52). A header is added to generate a part related to the target command (S53). Then, the “status” of the mediation server command sheet describing the target mediation server command is changed to “waiting for response” (S54). The “status” of “waiting for response” indicates that the command has been transmitted to the image processing apparatus 100.

そして、収集した全ての仲介サーバコマンドについてこれらの処理を行った時点で、ステップS55に進む。
ここでは、CPUは、端末装置コマンドプール41から、送信元情報が図32のステップS11で受信したHTTPリクエストの送信元と等しく、かつ「状態」が「処理完了」である端末装置コマンドシートの「出力パラメータ」の内容を、端末装置コマンドに対するコマンド応答のうち送信すべきものとして収集し、「コマンドID」の内容も、対応する端末装置コマンドのコマンドIDとして収集する(S55)。仲介サーバ102においては、「処理完了」という「状態」は、端末装置コマンドに対応する処理が端末装置コマンド実行結果生成手段43によって生成された後、まだ画像処理装置100に通知されていないことを示すものであるので、これを基準に画像処理装置100に送信すべきコマンド応答を抽出できる。
Then, when these processes are performed for all collected mediation server commands, the process proceeds to step S55.
Here, the CPU sends the source information from the terminal device command pool 41 equal to the source of the HTTP request received in step S11 of FIG. The content of “output parameter” is collected as a command response to the terminal device command to be transmitted, and the content of “command ID” is also collected as the command ID of the corresponding terminal device command (S55). In the mediation server 102, the “state” of “processing completed” indicates that the processing corresponding to the terminal device command has been generated by the terminal device command execution result generation unit 43 and has not yet been notified to the image processing apparatus 100. Therefore, the command response to be transmitted to the image processing apparatus 100 can be extracted based on this.

その後、ステップS55で収集した全てのコマンド応答を順次対象として、ステップS56乃至S58の処理を繰り返す。これらの処理は、まず対象のコマンド応答とその応答と共に収集したコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるXML文書(SOAPエンベロープ)に変換し(S56)、これにエンティティヘッダを付加して対象のコマンドに関するパートを生成する(S57)。これらの処理は、対象が異なる点以外はステップS52及びS53の処理と同じものである。そして、次に対象のコマンド応答を記載していた端末装置コマンドシートの「状態」を「応答済」に変更する(S58)。「応答済」という「状態」は、ここではコマンド応答を画像処理装置100に通知済であることを示すものである。   Thereafter, the processing of steps S56 to S58 is repeated for all command responses collected in step S55 in order. In these processes, first, the target command response and the command ID collected together with the response are converted into an XML document (SOAP envelope) in which the information is included in the SOAP body and the SOAP header (S56). An entity header is added to generate a part related to the target command (S57). These processes are the same as the processes in steps S52 and S53 except that the objects are different. Then, the “status” of the terminal device command sheet in which the target command response is described is changed to “responded” (S58). The “status” of “response completed” indicates that the command response has been notified to the image processing apparatus 100 here.

そして、ここまでの処理が全て完了した後、CPUは、ステップS53,S57又は図35のステップS42で生成した各パートをマージし、図17に示したようなマルチパートのHTTPレスポンスを生成して画像処理装置100に送信し(S59)、処理を終了する。
以上のように、図32乃至図36を用いて説明したメッセージの分配及び収集の処理を行うことにより、仲介サーバ102は、画像処理装置100から複数の動作要求及び動作応答を一括して受信して処理することができるし、それらに宛先が付されていない場合にも、適当な転送先を自動で認識し、転送先に応じた対応を行うことができる。また、自身が生成したり他の装置から受信したりした、画像処理装置100に転送すべき複数の動作要求及び動作応答を、一括して画像処理装置100に転送することもできる。
Then, after all the processes so far are completed, the CPU merges the parts generated in step S53, S57 or step S42 in FIG. 35 to generate a multi-part HTTP response as shown in FIG. The image is transmitted to the image processing apparatus 100 (S59), and the process is terminated.
As described above, by performing the message distribution and collection processing described with reference to FIGS. 32 to 36, the mediation server 102 collectively receives a plurality of operation requests and operation responses from the image processing apparatus 100. Even when a destination is not attached to them, an appropriate transfer destination can be automatically recognized and a response corresponding to the transfer destination can be performed. Also, a plurality of operation requests and operation responses that are generated by the device or received from another device and that should be transferred to the image processing device 100 can be transferred to the image processing device 100 in a lump.

なお、ステップS54又はS58で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンド及びコマンド応答を再度送信の対象とすることができるので、システムの信頼性が向上する。図35のステップS43で行った転送メッセージシートの削除についても同様である。
また、ここでは送信すべき全てのパートを全て生成してからマージして送信を行うようにし、また全てのパートを受信してからこれを各パートに分割して処理を行うように説明したが、このようにする必要はない。
Note that the change of the “state” performed in step S54 or S58 may be performed after the transmission is actually completed. In this way, even if a communication error occurs, the command and command response that were about to be transmitted can be sent again, so that the reliability of the system is improved. The same applies to the deletion of the transfer message sheet performed in step S43 of FIG.
In this example, all parts to be transmitted are generated and then merged for transmission, and all parts are received and then divided into each part for processing. There is no need to do this.

送信については、まず始めにHTTPヘッダを送信し、以後パートを生成するたびにそのパートを順次送信し、全てのパートの送信が完了した時点でその旨のデータを送信するようにしてもよい。このようにしても、これらの課程で送信されるデータが1つのみのHTTPヘッダを持つ論理的に連続した1つのHTTPレスポンスであれば、1回のセッションで転送でき、ネゴシエーションの処理は1回で済むので、マージして送信する場合と同様な効果を得ることができる。また、送信すべきデータのバッファに必要なメモリ容量を低減できるので、低コストの通信装置で大きなデータを取り扱うことができる。
また、受信側でも、各パートに関する処理を、各パートを受信するたびに順次行うようにすることができる。このようにした場合にメモリ容量を低減できることは、送信側の場合と同様である。
As for transmission, first, an HTTP header may be transmitted, and thereafter each time a part is generated, the part is sequentially transmitted, and data indicating that is transmitted when transmission of all parts is completed. Even in this case, if the data transmitted in these processes is one logically continuous HTTP response having only one HTTP header, it can be transferred in one session, and the negotiation process is performed once. Therefore, the same effect as when merging and transmitting can be obtained. In addition, since the memory capacity required for the buffer for data to be transmitted can be reduced, large data can be handled by a low-cost communication device.
Also, the receiving side can sequentially perform the processes related to each part each time each part is received. In such a case, the memory capacity can be reduced as in the case of the transmission side.

次に、端末装置コマンドの実行に関する処理について説明する。
図37は、この処理の一例を示すフローチャートである。
端末装置コマンドの実行に関する処理としては、まず、図37のフローチャートに示す処理を、図33に示したステップS33の処理の後に、すなわち端末装置コマンドを端末装置コマンドプール41に登録した直後に行うことが考えられる。この処理において、CPUは、端末装置コマンド実行結果生成手段43として機能する。
Next, processing relating to execution of a terminal device command will be described.
FIG. 37 is a flowchart showing an example of this process.
As processing related to the execution of the terminal device command, first, the processing shown in the flowchart of FIG. 37 is performed after the processing of step S33 shown in FIG. 33, that is, immediately after registering the terminal device command in the terminal device command pool 41. Can be considered. In this process, the CPU functions as the terminal device command execution result generation unit 43.

そして、この処理においては、まず登録した端末装置コマンドについての端末装置コマンドシートの「コマンドの通知先」の情報に基づいてアプリケーション等を呼び出し、「メソッド名」や「入力パラメータ」のデータを渡して端末装置コマンドに係る処理を実行させる(S61)。なお、端末装置コマンドに係る処理自体は、このフローチャートには示していないが、ハンドラを用いてCPUが別途実行することになる。   In this process, first, an application is called based on the “command notification destination” information in the terminal device command sheet for the registered terminal device command, and the “method name” and “input parameter” data are passed. The process related to the terminal device command is executed (S61). Note that the processing related to the terminal device command itself is not shown in this flowchart, but is separately executed by the CPU using a handler.

そして、これが完了すると、実行結果を取得して端末装置コマンドシートの「出力パラメータ」の項目に登録する(S62)と共に、端末装置コマンドシートの「状態」を「処理完了」に変更し、処理が完了したことを示す(S63)。以上の処理を行うことにより、端末装置コマンドを実行し、その結果をコマンド応答として画像処理装置100に送信可能な状態にすることができる。   When this is completed, the execution result is acquired and registered in the “output parameter” item of the terminal device command sheet (S62), and at the same time, the “state” of the terminal device command sheet is changed to “processing completed”. Indicates completion (S63). By performing the above processing, the terminal device command can be executed, and the result can be sent to the image processing apparatus 100 as a command response.

また、端末装置コマンドの実行に関する処理としては、図32に示した画像処理装置100との間のメッセージの送受信に係る処理とは独立して、図38のフローチャートに示す処理を行うようにすることもできる。この処理においても、CPUは、端末装置コマンド実行結果生成手段43として機能する。
この処理は、CPUが仲介サーバ102の起動時に開始するものである。そして、この処理においては、まず端末装置コマンドプール41に「状態」が「未処理」である端末装置コマンドシートがあるか否か判断し(SX1)、なければこのような端末装置コマンドシートを発見するまで待機する。なお、上述のように、「未処理」という状態は、端末装置コマンドシートにおける「状態」の初期値であり、コマンドの登録後に特に処理が行われていないことを示すものである。
Further, as processing related to the execution of the terminal device command, the processing shown in the flowchart of FIG. 38 is performed independently of the processing related to transmission / reception of the message with the image processing device 100 shown in FIG. You can also. Also in this process, the CPU functions as the terminal device command execution result generation unit 43.
This process is started when the CPU starts up the mediation server 102. In this process, first, it is determined whether or not there is a terminal device command sheet whose “state” is “unprocessed” in the terminal device command pool 41 (SX1). Wait until As described above, the state of “unprocessed” is an initial value of “state” in the terminal device command sheet, and indicates that no processing is performed after registration of the command.

ステップSX1で「未処理」の端末装置コマンドシートを発見した場合には、その1つを処理対象とし、その端末装置コマンドシートの「状態」を「処理中」に変更する(SX2)。
その後、図37の場合と同様なステップS61乃至S63の処理を行って処理対象の端末装置コマンドシートに記載された端末装置コマンドを実行し、これが完了するとステップSX1に戻って処理を繰り返す。
If a “unprocessed” terminal device command sheet is found in step SX1, one of the terminal device command sheets is processed, and the “status” of the terminal device command sheet is changed to “processing” (SX2).
Thereafter, the same processing of steps S61 to S63 as in the case of FIG. 37 is performed to execute the terminal device command described in the terminal device command sheet to be processed.

なお、以上の処理は、複数のスレッド(例えば4スレッド)で同時に行うようにしてもよい。処理対象となった端末装置コマンドシートの「状態」は、「未処理」ではないため、複数のスレッドで同時に処理を行っても、1つの端末装置コマンドシートを重複して処理対象としてしまうことはない。
以上のような処理を行うようにすれば、任意のタイミングで端末装置コマンドを実行することができるので、実行に時間のかかるコマンドがあった場合でも、以後の処理が滞ることがない。そして、実行の終了したものから順に、その結果をコマンド応答として画像処理装置に送信可能な状態にすることができる。
The above processing may be performed simultaneously by a plurality of threads (for example, 4 threads). Since the “status” of the terminal device command sheet that is the processing target is not “unprocessed”, even if processing is performed simultaneously by multiple threads, it is not possible to duplicate one terminal device command sheet as the processing target. Absent.
If the processing as described above is performed, the terminal device command can be executed at an arbitrary timing, so that even if there is a command that takes time to execute, the subsequent processing will not be delayed. Then, in order from the end of execution, the result can be sent to the image processing apparatus as a command response.

次に、図39に、処理サーバとの間でのメッセージの転送に係る処理のフローチャートを示す。この処理は、CPUが、図34に示した転送先テーブルに記載されている転送先のいずれか(ここでは処理サーバ103とする)を対象として、適当なタイミングで実行するものである。
この処理においては、まず送信用転送メッセージプール51から、対象の転送先が「転送先情報」の項目に登録された転送メッセージシートを収集する(S71)。そして、ステップS71で収集した全ての転送メッセージシートを順次対象として、ステップS72及びS73の処理を繰り返す。
Next, FIG. 39 shows a flowchart of processing related to message transfer with the processing server. This process is executed by the CPU at an appropriate timing for any one of the transfer destinations described in the transfer destination table shown in FIG. 34 (here, the processing server 103).
In this process, first, a transfer message sheet in which the target transfer destination is registered in the item “transfer destination information” is collected from the transmission transfer message pool 51 (S71). Then, the processes in steps S72 and S73 are repeated for all the transfer message sheets collected in step S71.

そして、これらの処理においては、まず対象の転送メッセージシートに記載された転送メッセージのパートを生成する(S72)。この処理は、対象シートの「メッセージのXMLデータ」の項目に登録されているSOAPエンベロープに、「エンティティヘッダ情報」の項目に登録されているエンティティヘッダを付すものである。   In these processes, first, a part of the transfer message described in the target transfer message sheet is generated (S72). In this process, the entity header registered in the “entity header information” item is added to the SOAP envelope registered in the “message XML data” item of the target sheet.

また、パートの作成が終了すると、対象の転送メッセージシートを送信用転送メッセージプール51から削除する(S73)。そして、収集した全てのシートについてこれらの処理を行った時点で、生成したパートを1つにマージし(S74)、図18に示したようなマルチパートのHTTPリクエストを生成して対象の転送先に送信する(S75)。
ここまでの処理において、ステップS71乃至S73ではCPUはメッセージ転送手段48として機能する。また、ステップS74及びS75が第1の送信手順の処理であり、ここではCPUはHTTPリクエスト送信手段49aとして機能する。
なお、ステップS73で行った転送メッセージシートの削除は、実際にこの送信が終了してから行うようにしてもよいことは、上述した図35のステップS43の場合と同様である。
When the creation of the part is completed, the target transfer message sheet is deleted from the transmission transfer message pool 51 (S73). Then, when these processes are performed for all the collected sheets, the generated parts are merged into one (S74), and a multipart HTTP request as shown in FIG. (S75).
In the processing so far, the CPU functions as the message transfer means 48 in steps S71 to S73. Steps S74 and S75 are processes of the first transmission procedure. Here, the CPU functions as the HTTP request transmission unit 49a.
Note that the deletion of the transfer message sheet performed in step S73 may be performed after the transmission is actually completed, as in the case of step S43 in FIG. 35 described above.

次に、送信したHTTPリクエストに対する通信応答として、対象の転送先からHTTPレスポンスを受信する(S76)。そして、受信したHTTPレスポンスのHTTPボディを各パートに分割する(S77)。ここで、各パートへの分割は、図32のステップS12の場合と同様、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。   Next, an HTTP response is received from the target transfer destination as a communication response to the transmitted HTTP request (S76). Then, the HTTP body of the received HTTP response is divided into each part (S77). Here, the division into each part is to divide into elements divided by “MIME_boundary” as in the case of step S12 in FIG. 32, and here, all parts are divided.

そしてその後、分割して得た全てのパートを順に対象として、ステップS78及びS79の処理を繰り返す。
これらの処理においては、まず対象のメッセージを登録するための転送メッセージシートを受信用転送メッセージプール52に作成して(S78)、対象のメッセージをその転送用メッセージシートに登録する(S79)。ここで、対象パートのエンティティヘッダをそのまま「エンティティヘッダ情報」の項目に登録し、SOAPエンベロープの内容をそのまま「メッセージのXMLデータ」の項目に登録する。「X-Send-To」ヘッダもこの時点では削除しない。
Thereafter, the processes in steps S78 and S79 are repeated for all the parts obtained by the division in order.
In these processes, a transfer message sheet for registering a target message is first created in the reception transfer message pool 52 (S78), and the target message is registered in the transfer message sheet (S79). Here, the entity header of the target part is directly registered in the “entity header information” item, and the contents of the SOAP envelope are registered as they are in the “message XML data” item. The “X-Send-To” header is not deleted at this point.

ステップS77で得た全てのパートについてこれらの処理を行った時点で、図39の処理を終了する。
以上の処理において、ステップS76及びS77が第2の受信手順の処理であり、ここではCPUはHTTPレスポンス受信手段49bとして機能する。ステップS78及びS79ではCPUはメッセージ転送手段48として機能する。
When these processes are performed for all the parts obtained in step S77, the process of FIG. 39 is terminated.
In the above processing, steps S76 and S77 are processing of the second reception procedure, and here, the CPU functions as the HTTP response receiving means 49b. In steps S78 and S79, the CPU functions as the message transfer means 48.

ここで、図40に、図39に示したメッセージ転送処理の実行タイミング制御に係る処理のフローチャートを示す。
この処理は、CPUが仲介サーバ102の起動時に開始するものである。そして、この処理は、一定時間毎に、図34に示した転送先テーブルに記載されている全ての転送先を順次対象として図39に示したのメッセージ転送処理を行うものである。この場合において、同じ転送先が転送先テーブルに複数回登場する場合にも、1つの転送先について1回のメッセージ転送処理を行えば足りる。
Here, FIG. 40 shows a flowchart of processing relating to execution timing control of the message transfer processing shown in FIG.
This process is started when the CPU starts up the mediation server 102. In this process, the message transfer process shown in FIG. 39 is sequentially performed on all transfer destinations described in the transfer destination table shown in FIG. 34 at regular intervals. In this case, even when the same transfer destination appears in the transfer destination table a plurality of times, it is sufficient to perform one message transfer process for one transfer destination.

このように、メッセージを転送し得る全ての転送先について定期的にメッセージ転送処理を行って通信要求であるHTTPリクエストを送信するようにすれば、仲介サーバ102から転送先への通信を、常に仲介サーバ102側から通信要求を送信することによって行うようにする場合でも、転送先から仲介サーバ102に情報を送信する機会を与えることができ、仲介サーバ102に対する転送の必要な情報が長期間に亘って処理サーバ103等に滞留してしまうことを防止できる。   As described above, when the message transfer process is periodically performed for all the transfer destinations to which the message can be transferred and the HTTP request as the communication request is transmitted, the communication from the mediation server 102 to the transfer destination is always performed as an intermediary. Even when it is performed by transmitting a communication request from the server 102 side, an opportunity to transmit information from the transfer destination to the intermediary server 102 can be given, and information that needs to be transferred to the intermediary server 102 can be transmitted over a long period of time. Can be prevented from staying in the processing server 103 or the like.

なお、メッセージ転送処理を、定期的なタイミング以外に適宜行ってよいことはもちろんである。例えば、緊急に送信が必要な情報がいずれかのプールに登録された場合に、メッセージ分配手段47がメッセージ転送手段48にその旨を通知してメッセージ転送処理を行わせるようにしてもよい。このようにすれば、コマンドが登録された場合にこれを直ちに転送先に転送することができる。   It goes without saying that the message transfer process may be performed as appropriate in addition to the regular timing. For example, when information that needs to be transmitted urgently is registered in any of the pools, the message distribution unit 47 may notify the message transfer unit 48 to perform the message transfer process. In this way, when a command is registered, it can be immediately transferred to the transfer destination.

以上のように、図39及び図40に示したメッセージの転送に関する処理を行うことにより、複数の転送先の各々について、その転送先に転送すべき動作要求及び動作応答を一括して転送すると共に、その転送先から画像処理装置100に送信すべき動作要求及び動作応答を一括して受信し、それぞれを独立に画像処理装置100に対して送信可能な状態で記憶しておくことができる。   As described above, by performing the processing related to message transfer shown in FIGS. 39 and 40, for each of a plurality of transfer destinations, the operation request and the operation response to be transferred to the transfer destination are collectively transferred. The operation request and the operation response to be transmitted to the image processing apparatus 100 from the transfer destination can be collectively received and stored in a state that can be independently transmitted to the image processing apparatus 100.

なお、画像処理装置100側からのコマンドを取り扱うのみでよい場合においては、図39及び図40に示した処理に代えて、あるいはそれに加えて、図41のフローチャートに示すような処理を行うことも考えられる。
この処理は、図38の場合と同様、CPUが仲介サーバ102の起動時に開始するものである。そして、この処理においては、まず送信用転送メッセージプール51にコマンドを記載した転送メッセージシートがあるか否か判断し(S91)、なければこのような転送メッセージシートを発見するまで待機する。
Note that when only the command from the image processing apparatus 100 needs to be handled, the processing shown in the flowchart of FIG. 41 may be performed instead of or in addition to the processing shown in FIGS. Conceivable.
This process is started when the CPU starts up the mediation server 102, as in the case of FIG. In this process, first, it is determined whether or not there is a transfer message sheet describing the command in the transmission transfer message pool 51 (S91), and if not, the process waits until such a transfer message sheet is found.

ステップS91でコマンドを記載した転送メッセージシートを発見した場合には、その1つを処理対象とし、その転送メッセージシートに記載された「X-Received-From」ヘッダの内容を記憶する(S92)。そして、対象シートの「転送先情報」を参照し、対象シートに記載された転送メッセージ(SOAPリクエスト)を記載したHTTPリクエストを、その転送先に送信する(S93)。なお、転送メッセージの生成に際しては、「メッセージのXMLデータ」の項目に登録されているSOAPエンベロープに、必要なHTTPヘッダを付せばよい。このとき、「エンティティヘッダ情報」の項目に登録されているエンティティヘッダ情報を利用することができる。   If a transfer message sheet describing the command is found in step S91, one of them is targeted for processing, and the contents of the “X-Received-From” header described in the transfer message sheet are stored (S92). Then, referring to the “transfer destination information” of the target sheet, an HTTP request describing the transfer message (SOAP request) described in the target sheet is transmitted to the transfer destination (S93). When a transfer message is generated, a necessary HTTP header may be attached to the SOAP envelope registered in the “message XML data” item. At this time, the entity header information registered in the item “entity header information” can be used.

その後、転送先から、送信したHTTPリクエストに対するHTTPレスポンスを受信するが(S94)、これには送信したSOAPリクエストに対するSOAPレスポンスが記載されているはずである。そこで、受信用転送メッセージプール52に転送メッセージシートを作成し、受信したHTTPレスポンスに記載されているSOAPメッセージの内容を、その作成した転送メッセージシートに登録する(S95)。この登録については、SOAPエンベロープの部分をそのまま「メッセージのXMLデータ」の項目に登録し、HTTPヘッダ中の必要な部分を「エンティティヘッダ情報」の項目に登録すればよい。   Thereafter, an HTTP response to the transmitted HTTP request is received from the transfer destination (S94), and this should contain a SOAP response to the transmitted SOAP request. Therefore, a transfer message sheet is created in the reception transfer message pool 52, and the contents of the SOAP message described in the received HTTP response are registered in the created transfer message sheet (S95). For this registration, the SOAP envelope part is registered as it is in the “message XML data” item, and the necessary part in the HTTP header is registered in the “entity header information” item.

そして、作成した転送メッセージシートの「エンティティヘッダ情報」に、「X-SOAP-Type」ヘッダ及びその内容として「Response」を追加すると共に、「X-Send-To」ヘッダを追加し、ステップS92で記憶しておいた「X-received-From」ヘッダの内容をここに記載する(S96)。そして、ステップS91に戻って処理を繰り返す。
以上の処理により、コマンドの転送先からコマンド応答を取得してその内容を受信用転送メッセージプール52に登録することができるので、登録したコマンド応答は、図39及び図40の処理によって登録した場合と同様に、メッセージ収集手段45によって収集して画像処理装置100に送信することができる。
Then, an “X-SOAP-Type” header and “Response” are added to the “entity header information” of the created transfer message sheet, and an “X-Send-To” header is added. The contents of the stored “X-received-From” header are described here (S96). And it returns to step S91 and repeats a process.
With the above processing, the command response can be acquired from the command transfer destination and the contents can be registered in the reception transfer message pool 52. Therefore, the registered command response is registered by the processing of FIG. 39 and FIG. Similarly, the message can be collected by the message collecting unit 45 and transmitted to the image processing apparatus 100.

また、このような処理を行うようにすれば、転送先の装置が図39に示したような一括転送に対応していない場合でも、コマンドを転送して実行させることができる。そして、コマンドが登録された場合にこれを直ちに転送先に転送することもできる。
以上で、仲介サーバ102において実行する、各コマンド及びコマンド応答の転送に関する処理の説明を終了する。
Further, if such processing is performed, the command can be transferred and executed even when the transfer destination apparatus does not support batch transfer as shown in FIG. If a command is registered, it can be immediately transferred to the transfer destination.
Above, description of the process regarding the transfer of each command and command response executed in the mediation server 102 is completed.

次に、画像処理装置100側においてコマンド及びコマンド応答を取り扱うための機能構成について説明する。ハードウェアについては、図9を用いて説明した通りである。
図42は、画像処理装置100の機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す機能ブロック図である。
図42に示す機能のうち、端末装置コマンドプール141及びサーバ側コマンドプール142は、いずれかの書き換え可能な記憶手段に設けられるものである。例えばNVRAM207に設けることができるが、SDRAM203やHDD210に設けてもよい。端末装置コマンド生成手段143、サーバ側コマンド実行結果生成手段144、メッセージ収集手段145、メッセージ分配手段147の機能は、CPU201によって実現されるものである。また、HTTPクライアント機能部146の機能は、CPU201及びPHY206によって実現されるものである。
Next, a functional configuration for handling commands and command responses on the image processing apparatus 100 side will be described. The hardware is as described with reference to FIG.
FIG. 42 is a functional block diagram illustrating a configuration of functions for performing processing related to commands and command responses among the functions of the image processing apparatus 100.
Among the functions shown in FIG. 42, the terminal device command pool 141 and the server-side command pool 142 are provided in any rewritable storage means. For example, it can be provided in the NVRAM 207, but may be provided in the SDRAM 203 or the HDD 210. The functions of the terminal device command generation unit 143, the server side command execution result generation unit 144, the message collection unit 145, and the message distribution unit 147 are realized by the CPU 201. Further, the function of the HTTP client function unit 146 is realized by the CPU 201 and the PHY 206.

なお、画像処理装置100においては、コマンドの送信元が仲介サーバ102であっても処理サーバ103であっても共通の取扱いをするようにしているので、画像処理装置100に関する説明においては、上述した仲介サーバコマンドと処理サーバコマンドとを併せて「サーバ側コマンド」と呼ぶことにする。   In the image processing apparatus 100, since the command is transmitted from the mediation server 102 or the processing server 103, the common handling is performed. The mediation server command and the processing server command are collectively referred to as “server side command”.

これらの機能についてさらに詳述する。
まず、端末装置コマンドプール141は、端末装置コマンドと、このコマンドに対する応答と、このコマンドの識別情報とを関連付けて登録するプールである。また、サーバ側コマンドプール142は、サーバ側コマンドと、このコマンドに対する応答と、このコマンドの識別情報とを関連付けて登録するプールである。これらのプールにおいては、コマンド毎にテーブル形式のコマンドシートを作成して情報を格納することにより、コマンドと、識別情報や応答等の情報とを関連付けるようにしている。
These functions will be described in further detail.
First, the terminal device command pool 141 is a pool that registers terminal device commands, responses to the commands, and identification information of the commands in association with each other. The server-side command pool 142 is a pool that registers server-side commands, responses to the commands, and identification information of the commands in association with each other. In these pools, a command sheet in a table format is created for each command and information is stored to associate the command with information such as identification information and a response.

端末装置コマンド生成手段143は、要求生成手段に該当する。そして、端末装置コマンドを生成し、このコマンドを識別する識別情報(ID)を割り当て、さらにこのコマンドを管理するための管理情報を付し、これらの情報を関連付けてテーブル形式の端末装置コマンドシートとして端末装置コマンドプール141に登録する機能を有する。このうち、端末装置コマンドを生成する部分には、例えば画像処理装置100に備えるアプリケーションが該当する。また、端末装置コマンド生成手段143に、転送先で各コマンドを実行させる際の優先順位を、生成した端末装置コマンドに付する機能を設けてもよい。   The terminal device command generation unit 143 corresponds to a request generation unit. Then, a terminal device command is generated, identification information (ID) for identifying this command is assigned, management information for managing this command is attached, and these information are associated to form a terminal device command sheet in a table format. It has a function of registering in the terminal device command pool 141. Among these, for example, an application provided in the image processing apparatus 100 corresponds to a part that generates a terminal device command. Further, the terminal device command generation means 143 may be provided with a function of attaching the priority order when executing each command at the transfer destination to the generated terminal device command.

ここで、図43に画像処理装置100の端末装置コマンドシートにおけるデータ構造の例を示す。
この図に示すように、画像処理装置100においては、端末装置コマンドシートには、「コマンドID」、「メソッド名」、「入力パラメータ」、「状態」、「コマンド実行結果の通知先」、および「出力パラメータ」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」が端末装置コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンド実行結果の通知先」が管理情報に該当する。「出力パラメータ」は、コマンドに係る処理を実行する装置から返されるコマンド応答の内容である。
Here, FIG. 43 shows an example of the data structure in the terminal device command sheet of the image processing apparatus 100.
As shown in this figure, in the image processing apparatus 100, the terminal device command sheet includes “command ID”, “method name”, “input parameter”, “state”, “command execution result notification destination”, and An area for storing “output parameter” data is provided. Of these, “command ID”, “method name”, and “input parameter” correspond to terminal device commands (and IDs assigned thereto), and “status” and “command execution result notification destination” are managed. Applicable to information. The “output parameter” is the content of the command response returned from the device that executes the process related to the command.

各項目の内容については、仲介サーバ102における端末装置コマンドシートあるいは仲介サーバコマンドシートの同名の項目の内容と同様なものであるので、説明を省略する。なお、画像処理装置100は、端末装置コマンドを仲介サーバ102に送信してしまえば、それがその後どの装置に転送されて処理されるかを認識する必要はないので、「宛先情報」の項目は設けていない。   The content of each item is the same as the content of the item of the same name in the terminal device command sheet or the mediation server command sheet in the mediation server 102, and thus description thereof is omitted. Note that if the image processing apparatus 100 transmits a terminal device command to the mediation server 102, it is not necessary to recognize which apparatus is subsequently transferred to be processed, and therefore, the item of “destination information” is Not provided.

図42の説明に戻ると、サーバ側コマンド実行結果生成手段144は、応答生成手段に該当する。そして、サーバ側コマンドプール142からサーバ側コマンドを読み出して実行するアプリケーションである。そして、サーバ側コマンドに対する応答を生成し、サーバ側コマンドのコマンドIDと関連付けてサーバ側コマンドプール142に登録する機能を有する。なお、仲介サーバ102から受信したサーバ側コマンドは、このコマンドを識別するID及びこのコマンドを管理するための管理情報と関連付けて、テーブル形式のサーバ側コマンドシートとしてサーバ側コマンドプール142に登録しておくようにしている。そして、サーバ側コマンド実行結果生成手段144が生成したコマンド応答も、実行したサーバ側コマンドについてのサーバ側コマンドシートに登録する。   Returning to the description of FIG. 42, the server-side command execution result generation unit 144 corresponds to a response generation unit. The server-side command pool 142 is an application that reads and executes server-side commands. Then, it has a function of generating a response to the server side command and registering it in the server side command pool 142 in association with the command ID of the server side command. The server-side command received from the mediation server 102 is registered in the server-side command pool 142 as a table-side server-side command sheet in association with the ID for identifying this command and management information for managing this command. I am trying to keep it. Then, the command response generated by the server-side command execution result generation unit 144 is also registered in the server-side command sheet for the executed server-side command.

また、サーバ側コマンド実行結果生成手段144に、サーバ側コマンドプール142から複数の種類のサーバ側コマンドを読み出し、各サーバ側コマンドに対する応答を生成する機能を設けることが考えられる。さらに、サーバ側コマンドが画像処理装置100に優先して処理を実行させるための実行優先順位の情報を含む場合には、優先順位の高いものから優先的に読み出して実行する機能を設けることも考えられる。
なお、サーバ側コマンド実行結果生成手段144は、アプリケーションそのものではなく、サーバ側コマンドの実行に必要なアプリケーションを呼び出してコマンドを実行させるモジュールであってもよい。
Further, it is conceivable that the server-side command execution result generation unit 144 has a function of reading a plurality of types of server-side commands from the server-side command pool 142 and generating a response to each server-side command. Further, when the server-side command includes information on the execution priority for causing the image processing apparatus 100 to execute the processing with priority, a function of preferentially reading out and executing the information from the highest priority may be provided. It is done.
The server-side command execution result generating unit 144 may be a module that calls an application necessary for execution of the server-side command and executes the command instead of the application itself.

ここで、図44に画像処理装置100のサーバ側コマンドシートにおけるデータ構造の例を示す。
この図に示すように、画像処理装置100においては、サーバ側コマンドシートには、「コマンドID」、「メソッド名」、「入力パラメータ」、「状態」、「出力パラメータ」、および「コマンドの通知先」のデータを記憶する領域を設けている。そして、このうち「コマンドID」、「メソッド名」、および「入力パラメータ」がサーバ側コマンド(及びそこに付されたID)に該当し、「状態」及び「コマンドの通知先」が管理情報に該当する。「出力パラメータ」は、サーバ側コマンドの実行結果であり、画像処理装置100が返すコマンド応答の内容となる。
Here, FIG. 44 shows an example of the data structure in the server-side command sheet of the image processing apparatus 100.
As shown in this figure, in the image processing apparatus 100, the command sheet on the server side includes “command ID”, “method name”, “input parameter”, “state”, “output parameter”, and “command notification”. An area for storing “first” data is provided. Of these, “command ID”, “method name”, and “input parameter” correspond to server side commands (and IDs attached thereto), and “status” and “command notification destination” are management information. Applicable. The “output parameter” is the execution result of the server side command and is the content of the command response returned by the image processing apparatus 100.

各項目の内容については、仲介サーバ102における仲介サーバコマンドシート又は端末装置コマンドシートの同名の項目の内容と同様なものであるので、説明を省略する。なお、画像処理装置100は、サーバ側コマンドに対する応答を仲介サーバ102に送信してしまえば、それがその後どの装置に転送されるかを認識する必要はないので、「送信元情報」の項目は設けていない。   The content of each item is the same as the content of the item of the same name in the mediation server command sheet or the terminal device command sheet in the mediation server 102, and thus description thereof is omitted. Note that if the image processing apparatus 100 transmits a response to the server-side command to the mediation server 102, it is not necessary to recognize to which apparatus it will be forwarded, so the item “source information” is Not provided.

再び図42の説明に戻ると、メッセージ収集手段145は、収集手段に該当する。そして、サーバ側コマンド実行結果生成手段144が生成したコマンド応答とこのコマンド応答に対応するサーバ側コマンドのコマンドIDとを関連付けてサーバ側コマンドプール142から読み出すと共に、端末装置コマンド生成手段143が生成した端末装置コマンドとこのコマンドのコマンドIDとを関連付けて端末装置コマンドプール141から読み出し、これらから送信メッセージを生成する機能を有する。   Returning to the description of FIG. 42 again, the message collecting means 145 corresponds to the collecting means. Then, the command response generated by the server side command execution result generation unit 144 and the command ID of the server side command corresponding to the command response are read from the server side command pool 142 in association with each other, and the terminal device command generation unit 143 generates The terminal device command and the command ID of this command are associated with each other, read from the terminal device command pool 141, and have a function of generating a transmission message therefrom.

なお、コマンド応答や端末装置コマンドに実行優先順位が指定されている場合には、メッセージ収集手段145がそれぞれ実行優先順位の高いものから順に読み出すようにすることが考えられる。
送信メッセージの記載形式や生成方式については、仲介サーバ102について説明したものと同様である。
Note that when the execution priority is specified in the command response or the terminal device command, it is conceivable that the message collection unit 145 reads the execution priority in descending order.
The description format and generation method of the transmission message are the same as those described for the mediation server 102.

また、HTTPクライアント機能部146は、HTTPリクエストを送信するHTTPリクエスト送信手段146aとHTTPレスポンスを受信するHTTPレスポンス受信手段146bとを備える。
そして、HTTPリクエスト送信手段146aは、送信手段に該当し、メッセージ収集手段145が生成した送信メッセージを含むHTTPリクエストを生成し、仲介サーバ102に送信する機能を有する。このとき、1つのHTTPリクエストに送信メッセージをいくつ含めてもよいし、コマンド応答に係る送信メッセージと端末装置コマンドに係る送信メッセージとを任意に混在させることもできる。
The HTTP client function unit 146 includes an HTTP request transmission unit 146a that transmits an HTTP request and an HTTP response reception unit 146b that receives an HTTP response.
The HTTP request transmission unit 146a corresponds to the transmission unit, and has a function of generating an HTTP request including the transmission message generated by the message collection unit 145 and transmitting it to the mediation server 102. At this time, any number of transmission messages may be included in one HTTP request, and transmission messages related to command responses and transmission messages related to terminal device commands may be arbitrarily mixed.

そこで、HTTPリクエスト送信手段146aは、これらのいずれに係る送信メッセージかに関わり無く、メッセージ収集手段145が生成した全ての送信メッセージを1つのHTTPリクエストに含めて送信するようにしている。ただし、1つのHTTPリクエストに含める送信メッセージの数に上限を設けることも考えられる。   Therefore, the HTTP request transmission unit 146a transmits all the transmission messages generated by the message collection unit 145 in one HTTP request regardless of any of the transmission messages. However, it is also conceivable to set an upper limit on the number of transmission messages included in one HTTP request.

ところで、このHTTPリクエストの送信は、メッセージ収集手段145が端末装置コマンドやコマンド応答等の読み出しを試みた場合には、読み出すデータがなく、結果的に送信すべきSOAPメッセージを生成しなかった場合にも行うものである。そして、この読み出しの試みは、定期的に行うものとする。例えば、タイマによって60分毎に読み出すことが考えられる。   By the way, this HTTP request is transmitted when the message collection means 145 attempts to read out a terminal device command, a command response, etc., when there is no data to be read and consequently a SOAP message to be transmitted is not generated. Also do. This reading attempt is made periodically. For example, it is possible to read out every 60 minutes by a timer.

このようにするのは、上述のように、仲介サーバ102から画像処理装置100に送信したい情報があったとしても画像処理装置100から通信を要求しない限り送信できないためである。画像処理装置100から何も送信するデータがなかったとしても、定期的に仲介サーバ102に対して通信要求を送信して、仲介サーバ102から画像処理装置100に情報を送信する機会を与えることにより、転送の必要な情報が長期間に亘って仲介サーバ102に滞留してしまうことを防止できる。   This is because, as described above, even if there is information desired to be transmitted from the mediation server 102 to the image processing apparatus 100, it cannot be transmitted unless communication is requested from the image processing apparatus 100. Even if there is no data to be transmitted from the image processing apparatus 100, a communication request is periodically transmitted to the mediation server 102, and an opportunity to transmit information from the mediation server 102 to the image processing apparatus 100 is provided. Therefore, it is possible to prevent information that needs to be transferred from staying in the mediation server 102 for a long period of time.

なお、メッセージ収集手段145による読み出しと、それに続くHTTPリクエスト送信手段146aによるHTTPリクエストの送信とを、定期的なタイミング以外に適宜行ってよいことはもちろんである。例えば、緊急に送信が必要な情報がいずれかのプールに登録された場合に、端末装置コマンド生成手段143あるいはサーバ側コマンド実行結果生成手段144がメッセージ収集手段145にその旨を通知して読み出しを行わせるようにしてもよい。   Needless to say, the reading by the message collecting unit 145 and the subsequent transmission of the HTTP request by the HTTP request transmitting unit 146a may be appropriately performed in addition to the periodic timing. For example, when information that needs to be transmitted urgently is registered in any pool, the terminal device command generation unit 143 or the server-side command execution result generation unit 144 notifies the message collection unit 145 to that effect and reads out the information. You may make it perform.

また、HTTPレスポンス受信手段146bは、受信手段に該当し、仲介サーバ102からHTTPレスポンスを受信する機能を有する。そしてここでは、HTTPレスポンスには、サーバ側コマンド及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージと、端末装置コマンドに対する応答及びそのコマンドと関連付けられたコマンドIDを含む受信メッセージとが、任意に混在して含まれている。
ここで、受信メッセージの記載形式については、仲介サーバ102について説明したものと同様である。
The HTTP response receiving unit 146b corresponds to a receiving unit and has a function of receiving an HTTP response from the mediation server 102. In this case, the HTTP response includes a received message including a server-side command and a command ID associated with the command, and a received message including a response to the terminal device command and a command ID associated with the command. It is mixed and included.
Here, the description format of the received message is the same as that described for the mediation server 102.

メッセージ分配手段147は、分配手段に該当する。そして、HTTPレスポンス受信手段146bが受信したHTTPレスポンスに含まれるデータを、端末装置コマンドプール141及びサーバ側コマンドプール142に振り分けて登録する機能を有する。
具体的には、サーバ側コマンド及びそのコマンドと関連付けられたコマンドIDとをサーバ側コマンドプール142にサーバ側コマンドシートを設けて登録すると共に、端末装置コマンドに対する応答については、そのコマンドと関連付けられたコマンドIDを端末装置コマンドプール141に記憶している端末装置コマンドシートのコマンドIDと照合して対応する端末装置コマンドを特定し、その端末装置コマンドについての「出力パラメータ」として登録する。
この登録の際のデータ変換方式についても、仲介サーバ102について説明したものと同様である。
The message distribution unit 147 corresponds to a distribution unit. The HTTP response receiving unit 146b has a function of distributing and registering data included in the HTTP response received in the terminal device command pool 141 and the server-side command pool 142.
Specifically, a server-side command and a command ID associated with the command are registered in the server-side command pool 142 by providing a server-side command sheet, and a response to the terminal device command is associated with the command. The command ID is compared with the command ID of the terminal device command sheet stored in the terminal device command pool 141 to identify the corresponding terminal device command, and is registered as an “output parameter” for the terminal device command.
The data conversion method at the time of registration is the same as that described for the mediation server 102.

次に、以上説明したような構成及び機能を有する画像処理装置100において実行する処理について、図45乃至図47のフローチャートを用いて説明する。これらのフローチャートに示す処理は、画像処理装置100のCPU201が所要の制御プログラムを実行することによって行うものである。   Next, processing executed in the image processing apparatus 100 having the configuration and functions described above will be described with reference to the flowcharts of FIGS. The processing shown in these flowcharts is performed by the CPU 201 of the image processing apparatus 100 executing a required control program.

まず、図45にメッセージの収集及び分配処理の基本動作のフローチャートを示す。
CPU201は、メッセージ収集手段145が端末装置コマンドやコマンド応答等の読み出しを試みるタイミングになると、図45のフローチャートに示す処理を開始する。
そして、まず端末装置コマンドの収集処理を行う(S111)。この処理は、端末装置コマンドプール141から仲介サーバ102に送信すべき端末装置コマンドを収集する処理であり、収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
First, FIG. 45 shows a flowchart of basic operations of message collection and distribution processing.
The CPU 201 starts the process shown in the flowchart of FIG. 45 when the message collection unit 145 tries to read out the terminal device command, the command response, and the like.
First, terminal device command collection processing is performed (S111). This process is a process of collecting terminal apparatus commands to be transmitted from the terminal apparatus command pool 141 to the mediation server 102, and includes a process of generating a part by a SOAP envelope from the collected data.

次に、サーバ側コマンドに対する応答であるサーバ側コマンド実行結果の収集処理を行う(S112)。この処理は、サーバ側コマンドプール142から仲介サーバ102に送信すべきコマンド応答を収集する処理であり、やはり収集したデータからSOAPエンベロープによるパートを生成する処理を含む。   Next, a server-side command execution result collection process that is a response to the server-side command is performed (S112). This process is a process of collecting command responses to be transmitted from the server-side command pool 142 to the mediation server 102, and also includes a process of generating a part by a SOAP envelope from the collected data.

その後、ステップS111及びS112の処理で生成したパートを1つにマージして、すべてのパートを含むHTTPリクエストを生成し(S113)、そのHTTPリクエストを仲介サーバ102に送信する(S114)。
ここまでの処理において、ステップS111及びS112ではCPU201はメッセージ収集手段145として機能し、ステップS113及びS114ではHTTPリクエスト送信手段146aとして機能する。
Thereafter, the parts generated in the processes of steps S111 and S112 are merged into one, an HTTP request including all the parts is generated (S113), and the HTTP request is transmitted to the mediation server 102 (S114).
In the processing so far, the CPU 201 functions as the message collection unit 145 in steps S111 and S112, and functions as the HTTP request transmission unit 146a in steps S113 and S114.

次に、HTTPリクエストに対する通信応答として仲介サーバ102からHTTPレスポンスを受信する(S115)。そして、受信したHTTPレスポンスのHTTPボディを各パートに分割する(S116)。ここで、各パートへの分割は、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。   Next, an HTTP response is received from the mediation server 102 as a communication response to the HTTP request (S115). Then, the HTTP body of the received HTTP response is divided into parts (S116). Here, the division into parts is to divide into elements divided by “MIME_boundary”, and here, all parts are divided.

そしてその後、分割して得た全てのパートを順に対象として、ステップS117乃至S119の処理を繰り返す。この処理においては、まず対象のパートが端末装置コマンドに対する応答を記載したパートか否か判断する(S117)。そして、端末装置コマンドに対する応答であれば応答通知処理を行う(S118)。また、端末装置コマンドに対する応答でないときは、サーバ側コマンドが記載されたパートであるので、サーバ側コマンド登録処理を行う(S119)。   Thereafter, the processes of steps S117 to S119 are repeated for all the parts obtained by the division in order. In this process, it is first determined whether or not the target part is a part describing a response to the terminal device command (S117). And if it is a response with respect to a terminal device command, a response notification process will be performed (S118). If the response is not a response to the terminal device command, the server-side command registration processing is performed because the server-side command is described (S119).

ステップS118又はS119の後は、ステップS117に戻り、次のパートを対象として処理を繰り返す。そして、全てのパートについてこれらの処理を行った時点で、図45のフローチャートに示す処理を終了する。
ここまでの処理において、ステップS115及びS116ではCPU201はHTTPレスポンス受信手段146bとして機能し、ステップS117乃至S119ではメッセージ分配手段147として機能する。
After step S118 or S119, the process returns to step S117, and the process is repeated for the next part. Then, when these processes are performed for all parts, the process shown in the flowchart of FIG. 45 is terminated.
In the processing so far, the CPU 201 functions as the HTTP response receiving unit 146b in steps S115 and S116, and functions as the message distribution unit 147 in steps S117 to S119.

次に、図45のフローチャートに示した処理について、一部分ずつより詳細に示したフローチャートを用いて説明する。
図46は、図45のステップS114までの部分の処理をより詳細に示したフローチャートである。
Next, the processing shown in the flowchart of FIG. 45 will be described using the flowchart shown in detail one by one.
FIG. 46 is a flowchart showing in more detail the process up to step S114 in FIG.

この処理においては、CPU201はまず、端末装置コマンドプール141から、「状態」が「未送信」である端末装置コマンドシートの「メソッド名」と「入力パラメータ」の内容を、送信すべき端末装置コマンドとして収集し、「コマンドID」の内容もそのコマンドのコマンドIDとして収集する(S121)。「未送信」という「状態」は、コマンドが端末装置コマンド生成手段143によって生成された後、まだ仲介サーバ102に通知されていないことを示すものであるので、これを基準に仲介サーバ102に送信すべきコマンドを抽出できる。   In this process, the CPU 201 first sends the contents of the “method name” and “input parameter” of the terminal device command sheet whose “state” is “unsent” from the terminal device command pool 141 to be transmitted. And the contents of “command ID” are also collected as the command ID of the command (S121). The “status” of “unsent” indicates that the command is not yet notified to the mediation server 102 after the command is generated by the terminal device command generation means 143, and is transmitted to the mediation server 102 based on this. You can extract commands to be used.

その後、ステップS121で収集した全ての端末装置コマンドを順次対象として、ステップS122乃至S124の処理を繰り返す。これらの処理においては、まず対象の端末装置コマンドとそのコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるSOAPエンベロープに変換し(S122)、これにエンティティヘッダを付加して対象のコマンドに関するパートを生成する(S123)。そして、対象の端末装置コマンドを記載していた端末装置コマンドシートの「状態」を「応答待ち」に変更する(S124)。「応答待ち」という「状態」は、コマンドを仲介サーバ102に通知済であることを示すものである。   Thereafter, the processes in steps S122 to S124 are repeated for all terminal device commands collected in step S121 in order. In these processes, first, the target terminal device command and its command ID are converted into a SOAP envelope in which these pieces of information are included in the SOAP body and the SOAP header (S122), and an entity header is added thereto. A part related to the target command is generated (S123). Then, the “status” of the terminal device command sheet that describes the target terminal device command is changed to “waiting for response” (S124). The “status” of “waiting for response” indicates that the command has been notified to the mediation server 102.

これらが全て完了した後、CPU201は、サーバ側コマンドプール142から、「状態」が「処理完了」であるサーバ側コマンドシートの「出力パラメータ」の内容を、サーバ側コマンドに対するコマンド応答のうち送信すべきものとして収集し、「コマンドID」の内容も、対応するサーバ側コマンドのコマンドIDとして収集する(S125)。「処理完了」という「状態」は、サーバ側コマンドに対応する処理がサーバ側コマンド実行結果生成手段144によって生成された後、まだ仲介サーバ102に通知されていないことを示すものであるので、これを基準に仲介サーバ102に送信すべきコマンド応答を抽出できる。   After all of these are completed, the CPU 201 sends, from the server-side command pool 142, the contents of the “output parameter” of the server-side command sheet whose “state” is “processing completed” in the command response to the server-side command. Collected as kimono, the contents of “command ID” are also collected as the command ID of the corresponding server side command (S125). The “status” of “processing completed” indicates that the processing corresponding to the server-side command has been generated by the server-side command execution result generation unit 144 and has not yet been notified to the mediation server 102. The command response to be transmitted to the mediation server 102 can be extracted based on the above.

その後、ステップS125で収集した全てのコマンド応答を順次対象として、ステップS126乃至S128の処理を繰り返す。これらの処理は、まず対象のコマンド応答とその応答と共に収集したコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるSOAPエンベロープに変換し(S126)、これにエンティティヘッダを付加して対象のコマンド応答に関するパートを生成する(S127)処理である。これらの処理は、対象が異なる点以外はステップS122及びS123の処理と同じものである。そして、次に対象のコマンド応答を記載していたサーバ側コマンドシートの「状態」を「応答済」に変更する(S128)。「応答済」という「状態」は、コマンド応答を仲介サーバ102に通知済であることを示すものである。   Thereafter, the processes in steps S126 to S128 are repeated for all command responses collected in step S125 in order. In these processes, first, the target command response and the command ID collected together with the response are converted into a SOAP envelope in which these pieces of information are included in the SOAP body and the SOAP header, respectively (S126), and an entity header is added thereto. This is the process of generating a part related to the target command response (S127). These processes are the same as the processes in steps S122 and S123, except that the objects are different. Then, the “status” of the server side command sheet that describes the target command response is changed to “responded” (S128). “Status” of “Responded” indicates that the command response has been notified to the mediation server 102.

そして、ここまでの処理が全て完了した後、CPU201は、ステップS123又はS127で生成した各パートをマージし、図16に示したようなマルチパートのHTTPリクエストを生成して仲介サーバ102に送信する(S129)。
なお、ステップS124又はS128で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンド及びコマンド応答を再度送信の対象とすることができるので、システムの信頼性が向上する。
以上でHTTPリクエストの送信に関する処理を終了し、図45のステップS115以降に相当する処理に進む。
After all the processes so far are completed, the CPU 201 merges the parts generated in step S123 or S127, generates a multi-part HTTP request as shown in FIG. 16, and transmits it to the mediation server 102. (S129).
Note that the change of the “state” performed in step S124 or S128 may be performed after the transmission is actually completed. In this way, even if a communication error occurs, the command and command response that were about to be transmitted can be sent again, so that the reliability of the system is improved.
Thus, the process related to the transmission of the HTTP request is finished, and the process proceeds to the process corresponding to step S115 and subsequent steps in FIG.

図47は、図45のステップS115以降の部分の処理をより詳細に示すフローチャートである。図46のステップS129の次の処理は、この図ではステップS131に該当する。
この処理においては、CPU201はまず、送信したHTTPリクエストに対するHTTPレスポンスの受信を待ち、仲介サーバ102からこれを受信する(S131)。これを受信すると、そのHTTPボディを解析して各パートに分割する(S132)。
そしてその後、分割して得た各パートを順次対象として、ステップS133乃至ステップS142の処理を繰り返す。
FIG. 47 is a flowchart showing in more detail the processing of step S115 and subsequent steps in FIG. The process subsequent to step S129 in FIG. 46 corresponds to step S131 in this figure.
In this process, the CPU 201 first waits for reception of an HTTP response to the transmitted HTTP request, and receives this from the mediation server 102 (S131). When this is received, the HTTP body is analyzed and divided into parts (S132).
Thereafter, the processes in steps S133 to S142 are repeated for each part obtained by the division in order.

この部分の処理においては、まず、対象のパートが端末装置コマンドに対する応答であるか否か判断する(S133)。上述したように、HTTPレスポンスには、サーバ側コマンドと、端末装置コマンドに対する応答とが含まれている可能性があるので、対象のパートがこのいずれであるかを判断するのである。そして、この判断は、対象のパートに「SOAPAction」ヘッダが存在するか否か、あるいは「X-SOAP-Type」ヘッダの内容によって判断することができる。   In the process of this part, first, it is determined whether or not the target part is a response to the terminal device command (S133). As described above, since there is a possibility that the HTTP response includes a server side command and a response to the terminal device command, it is determined which is the target part. This determination can be made based on whether or not the “SOAPAction” header exists in the target part, or based on the content of the “X-SOAP-Type” header.

ステップS133で端末装置コマンドに対する応答であれば、ステップS134乃至S137の、その応答の登録に係る処理を行う。
すなわち、まずそのパートのSOAPエンベロープを解析して端末装置コマンドシートに登録できる形式のデータに変換し(S134)、端末装置コマンドプール141からそのコマンド応答に対応する端末装置コマンドを探索し、その端末装置コマンドについての端末装置コマンドシートの「出力パラメータ」の項目にコマンド応答のデータを登録する(S135)。なお、コマンド応答には、「コマンドID」の情報として、端末装置コマンドの送信時に付したものと同じコマンドIDが付してあるものとし、端末装置コマンドの探索は、この情報をキーとして行うことができる。
If the response is a response to the terminal device command in step S133, processing related to registration of the response in steps S134 to S137 is performed.
That is, first, the SOAP envelope of the part is analyzed and converted into data in a format that can be registered in the terminal device command sheet (S134), the terminal device command corresponding to the command response is searched from the terminal device command pool 141, and the terminal Command response data is registered in the “output parameter” item of the terminal device command sheet for the device command (S135). Note that the command response is assumed to have the same command ID as the information attached to the terminal device command when it is transmitted, and the search for the terminal device command is performed using this information as a key. Can do.

データの登録が終わると、データを登録した端末装置コマンドシートの「状態」を「応答受信済」に変更してその旨を示す(S136)。そして、「コマンド実行結果の通知先」に登録されている通知先に、応答があった旨を通知する(S137)。この通知によって、端末装置コマンドを生成したアプリケーション等は、その生成したコマンドに応答があったことを認識し、応答に応じた処理を行うことができる。   When the data registration is completed, the “status” of the terminal device command sheet in which the data is registered is changed to “response received” to indicate that (S136). Then, the notification destination registered in “command execution result notification destination” is notified that a response has been received (S137). By this notification, the application or the like that has generated the terminal device command can recognize that there is a response to the generated command and can perform processing according to the response.

例えば、異常通知を発するアプリケーションが異常通知を行う旨の端末装置コマンドを生成した場合、このコマンドが仲介サーバ102に送信されると、仲介サーバ102はこれを正しく受け取った旨のコマンド応答を返してくる。そして、画像処理装置100側では、このコマンド応答を受信すると、ここに含まれるコマンドIDを基にどの端末装置コマンドに対する応答であるかを探索し、見つかった端末装置コマンドと対応させてそのコマンド応答を登録する。そして、そのコマンドの実行結果通知先として登録されている、異常通知を発するアプリケーションに、応答があった旨を通知するのである。アプリケーションは、この通知を受けた場合に端末装置コマンドシートを参照すれば、生成したコマンドの実行結果を「出力パラメータ」の項目から取得することができる。
以上のステップS137までの処理が終了すると、次のパートがあればそれを対象としてステップS133からの処理を繰り返す。
For example, when an application that issues an abnormality notification generates a terminal device command for performing abnormality notification, when this command is transmitted to the mediation server 102, the mediation server 102 returns a command response indicating that the command has been received correctly. come. When receiving this command response, the image processing apparatus 100 searches for a terminal device command based on the command ID included therein, and associates the command response with the found terminal device command. Register. Then, it notifies the application that issued the abnormality notification that is registered as the execution result notification destination of the command that there was a response. If the application receives this notification and refers to the terminal device command sheet, the application can acquire the execution result of the generated command from the item “output parameter”.
When the processing up to step S137 is completed, if there is a next part, the processing from step S133 is repeated for that part.

一方、ステップS133で端末装置コマンドに対する応答でなければ、そのパートはサーバ側コマンドに係るパートであるので、ステップS138乃至S142でそのコマンドの登録に係る処理を行う。
すなわち、まずそのパートのSOAPエンベロープを解析してサーバ側コマンドシートに登録できる形式のデータに変換し(S138)、そのサーバ側コマンドを登録するためのサーバ側コマンドシートをサーバ側コマンドプール142に作成して(S139)、サーバ側コマンドとコマンドIDとをそのサーバ側コマンドシートに登録する(S140)。
On the other hand, if the response is not a response to the terminal device command in step S133, the part is a part related to the server-side command, and therefore processing related to registration of the command is performed in steps S138 to S142.
That is, the SOAP envelope of the part is first analyzed and converted into data that can be registered in the server-side command sheet (S138), and a server-side command sheet for registering the server-side command is created in the server-side command pool 142. Then, the server side command and the command ID are registered in the server side command sheet (S140).

ここで、サーバ側コマンドの内容はサーバ側コマンドシートの「メソッド名」及び「入力パラメータ」の項目に登録し、パートに記載されていたコマンドIDは「コマンドID」の項目に登録する。また、「状態」の初期値は「未処理」であり、「出力パラメータ」の初期値はNULLである。   Here, the contents of the server-side command are registered in the “method name” and “input parameter” items of the server-side command sheet, and the command ID described in the part is registered in the “command ID” item. In addition, the initial value of “state” is “unprocessed”, and the initial value of “output parameter” is NULL.

そして、以上の項目への登録が終了すると、サーバ側コマンドシートの「メソッド名」に記憶させたメソッドを実行させるためのハンドラ(サーバ側コマンド実行結果生成手段144に含まれる)への参照情報を、予め用意してあるメソッドとハンドラとの対応関係の情報を参照して検索し(S141)、発見した参照情報をサーバ側コマンドシートの「コマンドの通知先」の項目に登録する(S142)。   When the registration to the above items is completed, reference information to a handler (included in the server-side command execution result generation unit 144) for executing the method stored in the “method name” of the server-side command sheet is displayed. Then, a search is made by referring to information on the correspondence relationship between the method and the handler prepared in advance (S141), and the found reference information is registered in the “command notification destination” item of the server-side command sheet (S142).

以上のステップS142までの処理が終了すると、次のパートがあればそれを対象としてステップS133からの処理を繰り返す。
全てのパートについてステップS133乃至S142の処理が終了すると、図47のフローチャートに示した処理は終了する。
When the processing up to step S142 is completed, if there is a next part, the processing from step S133 is repeated for that part.
When the processes in steps S133 to S142 are completed for all parts, the process shown in the flowchart of FIG. 47 is terminated.

以上のような処理を行うことにより、画像処理装置100が、仲介サーバ102に送信すべき動作要求と仲介サーバ102から受信した動作要求に対する動作応答とを一括して仲介サーバ102に送信することができる。また、仲介サーバ102や処理サーバ103からの動作要求と仲介サーバ102に送信した動作要求に対する動作応答とを一括して仲介サーバ102から受信して処理することができる。   By performing the processing as described above, the image processing apparatus 100 can collectively transmit the operation request to be transmitted to the mediation server 102 and the operation response to the operation request received from the mediation server 102 to the mediation server 102. it can. In addition, the operation request from the mediation server 102 or the processing server 103 and the operation response to the operation request transmitted to the mediation server 102 can be received from the mediation server 102 and processed together.

なお、ここでは送信すべきパートを全て生成してからマージして送信を行うようにし、また全てのパートを受信してからこれを各パートに分割して処理を行うように説明したが、このようにする必要はない。各パートを生成するたびに順次送信するようにしたり、各パートを受信するたびに順次各パートに関する処理を行うようにしてもよいことは、仲介サーバ102の場合と同様である。
また、サーバ側コマンドの実行に関する処理としては、仲介サーバ102について図37又は図38を用いて説明した処理を、サーバ側コマンドシートについて実行するようにすればよい。
In this example, all parts to be transmitted are generated and then merged for transmission, and all parts are received and then divided into each part for processing. There is no need to do so. As in the case of the mediation server 102, each part may be transmitted sequentially each time it is generated, or each part may be processed sequentially for each part.
Further, as processing related to the execution of the server-side command, the processing described with reference to FIG. 37 or 38 for the mediation server 102 may be executed for the server-side command sheet.

ところで、画像処理装置100が生成した動作要求については、とりあえず仲介サーバ102に送信しておけば、仲介サーバ102が適当な転送先(処理サーバ103等)に転送し、そこから動作応答を取得して返してくる。従って、画像処理装置100にとっては、全ての動作要求に係る動作を仲介サーバ102が実行しているものとして送受信の処理を行っても差し支えない。   By the way, if the operation request generated by the image processing apparatus 100 is transmitted to the intermediary server 102 for the time being, the intermediary server 102 transfers the operation request to an appropriate transfer destination (the processing server 103 or the like), and acquires an operation response therefrom. Come back. Therefore, the image processing apparatus 100 may perform the transmission / reception process on the assumption that the operation related to all the operation requests is executed by the mediation server 102.

また、画像処理装置100が受信する動作要求についても、実際にどの装置が生成したかを把握せずに、仲介サーバ102から受信して動作応答も仲介サーバ102に返す。従って、画像処理装置100にとっては、全ての動作要求を仲介サーバ102が生成しているものとして送受信の処理を行っても差し支えない。
以上で、画像処理装置100において実行する、各コマンド及びコマンド応答の転送に関する処理の説明を終了する。
Also, an operation request received by the image processing apparatus 100 is received from the mediation server 102 and an operation response is returned to the mediation server 102 without grasping which device has actually been generated. Therefore, the image processing apparatus 100 may perform transmission / reception processing assuming that all the operation requests are generated by the mediation server 102.
Above, description of the process regarding the transfer of each command and command response executed in the image processing apparatus 100 is finished.

次に、処理サーバ103側においてコマンド及びコマンド応答を取り扱うための機能構成について説明する。ハードウェアについては、図10を用いて説明した通りである。
図48は、処理サーバ103の機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す機能ブロック図である。
Next, a functional configuration for handling commands and command responses on the processing server 103 side will be described. The hardware is as described with reference to FIG.
FIG. 48 is a functional block diagram showing a configuration of functions for performing processing relating to commands and command responses among the functions of the processing server 103.

図48に示す各機能は、処理サーバ103のCPU301が所要の制御プログラムを実行して処理サーバ103の各部の動作を制御することにより実現されるものである。そして、これらの機能のうち、処理サーバコマンドプール241及び端末装置コマンドプール242は、RAM303のような書き換え可能な記憶手段に設けられるものである。処理サーバコマンド生成手段243、端末装置コマンド実行結果生成手段244、メッセージ収集手段245、メッセージ分配手段247の機能は、CPU301によって実現されるものである。また、HTTPサーバ機能部246の機能は、CPU301及びNIC305によって実現されるものである。経路情報記憶手段250は、SDカード304のような書き換え可能な不揮発性記憶手段に設けられるものである。   Each function illustrated in FIG. 48 is realized by the CPU 301 of the processing server 103 executing a required control program to control the operation of each unit of the processing server 103. Among these functions, the processing server command pool 241 and the terminal device command pool 242 are provided in a rewritable storage unit such as the RAM 303. The functions of the processing server command generation unit 243, the terminal device command execution result generation unit 244, the message collection unit 245, and the message distribution unit 247 are realized by the CPU 301. The function of the HTTP server function unit 246 is realized by the CPU 301 and the NIC 305. The path information storage unit 250 is provided in a rewritable nonvolatile storage unit such as the SD card 304.

図48に示した各手段の機能についてさらに詳述する。
まず、処理サーバコマンドプール241は、処理サーバコマンドを、このコマンドに対する応答や、このコマンドの識別情報及びコマンドの宛先や送信元の情報等と関連付けて登録するプールである。また、端末装置コマンドプール242は、端末装置コマンドを、このコマンドに対する応答や、このコマンドの識別情報及びコマンドの宛先や送信元の情報等と関連付けて登録するプールである。
The function of each means shown in FIG. 48 will be described in further detail.
First, the processing server command pool 241 is a pool that registers processing server commands in association with responses to the commands, identification information of the commands, command destinations, transmission source information, and the like. The terminal device command pool 242 is a pool for registering terminal device commands in association with responses to the commands, identification information of the commands, information on the destinations and transmission sources of the commands, and the like.

処理サーバコマンド生成手段243は、要求生成手段に該当する。そして、処理サーバコマンドを生成し、このコマンドを識別する識別情報(ID)を割り当て、さらにこのコマンドの宛先情報やこのコマンドを管理するための管理情報を付し、これらの情報を関連付けてテーブル形式の処理サーバコマンドシートとして処理サーバコマンドプール241に登録する機能を有する。このうち、処理サーバコマンドを生成する部分には、例えば処理サーバ103に備えるアプリケーションが該当する。また、処理サーバ103の処理サーバコマンドシートにおけるデータ構造は、図13に示した仲介サーバ102の仲介サーバコマンドシートにおけるデータ構造と同様なものである。   The processing server command generation unit 243 corresponds to a request generation unit. Then, a processing server command is generated, identification information (ID) for identifying the command is assigned, destination information of the command and management information for managing the command are attached, and the information is associated with each other in a table format. The processing server command sheet has a function of registering in the processing server command pool 241. Among these, for example, an application provided in the processing server 103 corresponds to the part that generates the processing server command. The data structure in the processing server command sheet of the processing server 103 is the same as the data structure in the mediation server command sheet of the mediation server 102 shown in FIG.

なお、処理サーバコマンド生成手段243は、宛先情報として、最終的な宛先だけでなく、その宛先に転送するまでの経路情報も処理サーバコマンドシートに登録する。そして、この経路情報は、経路情報記憶手段250から取得できる。
すなわち、経路情報記憶手段250は、コマンド(あるいはその他の情報)の宛先と、その宛先にコマンドを送信する際の経路情報とを対応させて、経路情報テーブルとして記憶しているので、最終的な宛先をキーとしてこの経路情報テーブルを検索することにより、その宛先に転送するまでの経路情報を取得することができる。
Note that the processing server command generation unit 243 registers not only the final destination as the destination information but also the route information up to the transfer to the destination in the processing server command sheet. The route information can be acquired from the route information storage unit 250.
That is, the route information storage unit 250 stores the destination of the command (or other information) and the route information when the command is transmitted to the destination in association with each other as a route information table. By searching this route information table using the destination as a key, it is possible to obtain route information until the destination is transferred.

図49に、この経路情報テーブルの例を示す。
この例では、4台の画像処理装置が登録されているテーブルを示している。そして、画像処理装置A及びBについては、仲介サーバ102を介してコマンドを転送すれば良い旨の情報が登録されているが、画像処理装置C及びDについては、経路が不明である旨の情報が登録されている。
FIG. 49 shows an example of this route information table.
In this example, a table in which four image processing apparatuses are registered is shown. For the image processing apparatuses A and B, information indicating that the command only needs to be transferred via the mediation server 102 is registered, but for the image processing apparatuses C and D, information indicating that the route is unknown. Is registered.

ここでは、処理サーバ103側からは端末装置に通信を要求しないようなシステム構成としているため、ユーザ登録ハガキ等の情報を元にオペレータが端末装置IDを入力した後、端末装置から転送されてくる情報を一度も受け取っていない場合等には、どの仲介サーバ102を介してその端末装置にコマンドを転送してもらえばよいか認識できないため、経路情報が不明であるという状態が起こり得る。   Here, since the system configuration is such that communication is not requested from the terminal device from the processing server 103 side, the operator inputs the terminal device ID based on information such as a user registration postcard, and then transferred from the terminal device. When the information has never been received, for example, it is not possible to recognize through which intermediary server 102 the command should be transferred to the terminal device, so that a state in which the route information is unknown may occur.

なお、経路情報テーブルの情報は、後述するように、処理サーバ103が受信したHTTPリクエストに記載されているメッセージの情報を参照して自動で更新することができる他、処理サーバ103のオペレータが手動で入力することもできる。
また、複数の仲介サーバを介して転送するような転送経路も登録可能であるが、1つの端末装置につき、経路は1種類のみ登録するようにしている。
As will be described later, the information in the route information table can be automatically updated by referring to the message information described in the HTTP request received by the processing server 103, or manually by the operator of the processing server 103. You can also enter it with.
In addition, a transfer route for transferring through a plurality of mediation servers can be registered, but only one type of route is registered for each terminal device.

図48の説明に戻ると、端末装置コマンド実行結果生成手段244は、応答生成手段に該当する。そして、端末装置コマンドプール242から端末装置コマンドを読み出して実行するアプリケーションである。そして、端末装置コマンドに対する応答を生成し、端末装置コマンドのコマンドIDと関連付けて端末装置コマンドプール242に登録する機能を有する。なお、仲介サーバ102から受信した端末装置コマンドは、このコマンドを識別するID、このコマンドの送信元情報(コマンド応答の宛先情報となる)及びこのコマンドを管理するための管理情報と関連付けて、テーブル形式の端末装置コマンドシートとして端末装置コマンドプール242に登録しておくようにしている。そして、端末装置コマンド実行結果生成手段244が生成したコマンド応答も、実行した端末装置コマンドについての端末装置コマンドシートに登録する。   Returning to the description of FIG. 48, the terminal device command execution result generation unit 244 corresponds to a response generation unit. The terminal device command is an application that reads and executes a terminal device command from the terminal device command pool 242. Then, it has a function of generating a response to the terminal device command and registering it in the terminal device command pool 242 in association with the command ID of the terminal device command. The terminal device command received from the mediation server 102 is associated with an ID for identifying the command, source information of the command (becomes destination information of the command response), and management information for managing the command. A terminal device command sheet is registered in the terminal device command pool 242 as a format terminal device command sheet. The command response generated by the terminal device command execution result generation unit 244 is also registered in the terminal device command sheet for the executed terminal device command.

また、端末装置コマンド実行結果生成手段244に、端末装置コマンドプール242から複数の種類の端末装置コマンドを読み出し、各端末装置コマンドに対する応答を生成する機能を設けることが考えられる。さらに、端末装置コマンド実行結果生成手段244は、アプリケーションそのものではなく、端末装置コマンドの実行に必要なアプリケーションを呼び出してコマンドを実行させるモジュールであってもよい。
また、処理サーバ103の端末装置コマンドシートにおけるデータ構造は、図12に示した仲介サーバ102の端末装置コマンドシートにおけるデータ構造と同様なものである。
Further, it is conceivable to provide the terminal device command execution result generation means 244 with a function of reading a plurality of types of terminal device commands from the terminal device command pool 242 and generating a response to each terminal device command. Further, the terminal device command execution result generation unit 244 may be a module that calls an application necessary for executing the terminal device command and executes the command, instead of the application itself.
Further, the data structure in the terminal device command sheet of the processing server 103 is the same as the data structure in the terminal device command sheet of the mediation server 102 shown in FIG.

次に、メッセージ収集手段245は、収集手段に該当する。そして、端末装置コマンド実行結果生成手段244が生成したコマンド応答とこのコマンド応答に対応する端末装置コマンドのコマンドID及び送信元情報とを関連付けて端末装置コマンドプール242から読み出すと共に、処理サーバコマンド生成手段243が生成した処理サーバコマンドとこのコマンドのコマンドID及び宛先情報とを関連付けて処理サーバコマンドプール241から読み出し、これらから送信メッセージを生成する機能を有する。
送信メッセージの記載形式や生成方式については、仲介サーバ102について説明したものと同様である。
Next, the message collecting unit 245 corresponds to the collecting unit. Then, the command response generated by the terminal device command execution result generating unit 244 is read from the terminal device command pool 242 in association with the command ID and the transmission source information of the terminal device command corresponding to the command response, and the processing server command generating unit The processing server command generated by H.243 is associated with the command ID and destination information of this command, read from the processing server command pool 241, and has a function of generating a transmission message therefrom.
The description format and generation method of the transmission message are the same as those described for the mediation server 102.

また、HTTPサーバ機能部246は、HTTPレスポンスを送信するHTTPレスポンス送信手段246aとHTTPリクエストを受信するHTTPリクエスト受信手段246bとを備える。
そして、HTTPレスポンス送信手段246aは、送信手段に該当し、メッセージ収集手段245が生成した送信メッセージを含むHTTPレスポンスを、仲介サーバ102から受信したHTTPリクエストに対する通信応答として生成し、仲介サーバ102に送信する機能を有する。このとき、1つのHTTPレスポンスに送信メッセージをいくつ含めてもよいし、コマンド応答に係る送信メッセージと処理サーバコマンドに係る送信メッセージとを任意に混在させることもできる。もちろん、宛先の異なる送信メッセージを混在させることもできる。
The HTTP server function unit 246 includes an HTTP response transmission unit 246a that transmits an HTTP response and an HTTP request reception unit 246b that receives an HTTP request.
The HTTP response transmission unit 246a corresponds to the transmission unit, generates an HTTP response including the transmission message generated by the message collection unit 245 as a communication response to the HTTP request received from the mediation server 102, and transmits the HTTP response to the mediation server 102. It has the function to do. At this time, any number of transmission messages may be included in one HTTP response, and a transmission message related to a command response and a transmission message related to a processing server command may be arbitrarily mixed. Of course, transmission messages with different destinations can be mixed.

また、HTTPレスポンス送信手段246aは、これらのいずれに係る送信メッセージかに関わり無く、メッセージ収集手段245が生成した全ての送信メッセージを1つのHTTPレスポンスに含めて送信するようにしている。ただし、1つのHTTPレスポンスに含める送信メッセージの数に上限を設けることも考えられる。   Further, the HTTP response transmission unit 246a transmits all the transmission messages generated by the message collection unit 245 in one HTTP response regardless of any of the transmission messages. However, an upper limit may be set for the number of transmission messages included in one HTTP response.

ところで、HTTPレスポンスの送信は、メッセージ収集手段245が処理サーバコマンドやコマンド応答等の読み出しを試みた場合には、読み出すデータがなく、結果的に送信すべきSOAPメッセージを生成しなかった場合にも行うものである。そして、この読み出しの試みは、仲介サーバ102からのHTTPリクエストを受信した場合に行うものとする。
これ以外の場面で読み出しを試みても、処理サーバ103はHTTPクライアント機能部を有しないので、自らHTTPリクエストを送信して送信メッセージを仲介サーバ102に転送することができないためである。
By the way, the HTTP response is transmitted when the message collection unit 245 attempts to read out the processing server command, command response, etc., even when there is no data to be read and a SOAP message to be transmitted as a result is not generated. Is what you do. This reading attempt is performed when an HTTP request from the mediation server 102 is received.
This is because the processing server 103 does not have an HTTP client function unit even if reading is attempted in other situations, and therefore cannot send an HTTP request by itself and transfer a transmission message to the mediation server 102.

また、HTTPリクエスト受信手段246bは、受信手段に該当し、仲介サーバ102からのHTTPリクエストを受信する機能を有する。そしてここでは、HTTPリクエストには、端末装置コマンド及びそのコマンドと関連付けられたコマンドIDと転送経路情報とを含む受信メッセージと、処理サーバコマンドに対する応答及びそのコマンドと関連付けられたコマンドIDと転送経路情報とを含む受信メッセージとが、任意に混在して含まれている。
受信メッセージの記載形式については、仲介サーバ102について説明したものと同様である。
The HTTP request receiving unit 246b corresponds to a receiving unit and has a function of receiving an HTTP request from the mediation server 102. In this example, the HTTP request includes a received message including a terminal device command and a command ID associated with the command and transfer path information, a response to the processing server command, and a command ID and transfer path information associated with the command. And a received message including any are included.
The description format of the received message is the same as that described for the mediation server 102.

メッセージ分配手段247は、分配手段に該当する。そして、HTTPリクエスト受信手段246bが受信したHTTPリクエストに含まれるデータを、処理サーバコマンドプール241及び端末装置コマンドプール242に振り分けて登録する機能を有する。
具体的には、端末装置コマンド及びそのコマンドと関連付けられたコマンドID及び転送経路情報(送信元情報として登録する)とを端末装置コマンドプール242に端末装置コマンドシートを設けて登録すると共に、処理サーバコマンドに対する応答については、その応答と関連付けられたコマンドIDを処理サーバコマンドプール241に記憶している処理サーバコマンドシートのコマンドIDと照合して対応する処理サーバコマンドシートを特定し、その処理サーバコマンドシートの「出力パラメータ」の項目に登録する。
この登録の際のデータ変換方式についても、仲介サーバ102について説明したものと同様である。
The message distribution unit 247 corresponds to a distribution unit. The HTTP request receiving unit 246b has a function of distributing and registering data included in the HTTP request received in the processing server command pool 241 and the terminal device command pool 242.
Specifically, a terminal device command and a command ID and transfer path information (registered as transmission source information) associated with the command are registered in the terminal device command pool 242 by providing a terminal device command sheet, and a processing server For a response to a command, the command ID associated with the response is compared with the command ID of the processing server command sheet stored in the processing server command pool 241 to identify the corresponding processing server command sheet, and the processing server command Register in the “Output Parameter” field of the sheet.
The data conversion method at the time of registration is the same as that described for the mediation server 102.

次に、以上説明したような構成及び機能を有する処理サーバ103において実行する処理について説明する。
図50に仲介サーバとの間でのメッセージの送受信に関する基本動作のフローチャートを示すが、このフローチャートに示す処理は、処理サーバ103のCPU301が所要の制御プログラムを実行することによって行うものである。
Next, processing executed in the processing server 103 having the configuration and functions described above will be described.
FIG. 50 shows a flowchart of basic operations related to message transmission / reception with the mediation server. The processing shown in this flowchart is performed by the CPU 301 of the processing server 103 executing a required control program.

CPU301は、仲介サーバ102からHTTPリクエストが送信されてくると、図50のフローチャートに示す処理を開始する。
そして、まずそのHTTPリクエストを受信する(S211)。そして、受信したHTTPリクエストのHTTPボディを各パートに分割する(S212)。ここで、各パートへの分割は、「MIME_boundary」で区分された要素に分割することであり、またここで全てのパートに関して分割する。
When an HTTP request is transmitted from the mediation server 102, the CPU 301 starts processing shown in the flowchart of FIG.
First, the HTTP request is received (S211). Then, the HTTP body of the received HTTP request is divided into parts (S212). Here, the division into parts is to divide into elements divided by “MIME_boundary”, and here, all parts are divided.

そしてその後、分割して得た全てのパートを順に対象として、ステップSY及びS213乃至S215の処理を繰り返す。この処理においては、まず図49に示した経路情報テーブルを更新するための経路情報テーブル更新処理を行い(SY)、次に対象のパートが処理サーバコマンドに対する応答を記載したパートか否か判断する(S213)。そして、処理サーバコマンドに対する応答であれば応答通知処理を行う(S214)。また、処理サーバコマンドに対する応答でないときは、端末装置コマンドが記載されたパートであるので、端末装置コマンド登録処理を行う(S215)。
Thereafter, the processes of steps SY and S213 to S215 are repeated for all the parts obtained by the division in order. In this process, first, a route information table update process for updating the route information table shown in FIG. 49 is performed (SY), and then it is determined whether or not the target part is a part describing a response to the processing server command. (S213). If it is a response to the processing server command, a response notification process is performed (S214). If the response is not a response to the processing server command, the terminal device command is registered because the terminal device command is described (S215).

ステップS214又はS215の後は、ステップS213に戻り、次のパートを対象として処理を繰り返す。そして、全てのパートについてこれらの処理を行った時点で、次のステップS216に進む。
ここまでの処理において、ステップS211及びS212ではCPU301はHTTPリクエスト受信手段246bとして機能し、ステップS213乃至S215ではメッセージ分配手段247として機能する。
After step S214 or S215, the process returns to step S213, and the process is repeated for the next part. Then, when these processes are performed for all parts, the process proceeds to the next step S216.
In the processing so far, in steps S211 and S212, the CPU 301 functions as an HTTP request reception unit 246b, and in steps S213 to S215, functions as a message distribution unit 247.

次に、CPU301は処理サーバコマンドの収集処理を行う(S216)。この処理は、処理サーバコマンドプール241から仲介サーバ102に送信すべき処理サーバコマンドを収集する処理であり、収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
次に、端末装置コマンドに対する応答である端末装置コマンド実行結果の収集処理を行う(S217)。この処理は、端末装置コマンドプール242から仲介サーバ102に送信すべきコマンド応答を収集する処理であり、やはり収集したデータからSOAPエンベロープによるパートを生成する処理を含む。
Next, the CPU 301 performs processing server command collection processing (S216). This processing is processing for collecting processing server commands to be transmitted from the processing server command pool 241 to the mediation server 102, and includes processing for generating a part based on the SOAP envelope from the collected data.
Next, terminal device command execution result collection processing, which is a response to the terminal device command, is collected (S217). This process is a process of collecting command responses to be transmitted from the terminal device command pool 242 to the mediation server 102, and also includes a process of generating a part by a SOAP envelope from the collected data.

その後、ステップS216及びS217の処理で生成したパートを1つにマージして、すべてのパートを含むHTTPレスポンスを生成し(S218)、そのHTTPレスポンスを、ステップS211で受信したHTTPリクエストに対する通信応答として仲介サーバ102に送信して(S219)処理を終了する。
ここまでの処理において、ステップS216及びS217ではCPU301はメッセージ収集手段245として機能し、ステップS218及びS219ではHTTPレスポンス送信手段246aとして機能する。
Thereafter, the parts generated in the processes of steps S216 and S217 are merged into one, and an HTTP response including all the parts is generated (S218), and the HTTP response is used as a communication response to the HTTP request received in step S211. The message is transmitted to the mediation server 102 (S219), and the process is terminated.
In the processing so far, the CPU 301 functions as the message collection unit 245 in steps S216 and S217, and functions as the HTTP response transmission unit 246a in steps S218 and S219.

次に、図50のフローチャートに示した処理について、一部分ずつより詳細に示したフローチャートを用いて説明する。
図51は、図50のステップS215までの部分の処理をより詳細に示したフローチャートである。
この処理においては、CPU301はまず、仲介サーバ102からHTTPリクエストを受信する(S221)。そしてこれを受信すると、そのHTTPボディを解析して各パートに分割する(S222)。
Next, the processing shown in the flowchart of FIG. 50 will be described using the flowchart shown in detail one by one.
FIG. 51 is a flowchart showing in more detail the process up to step S215 in FIG.
In this process, the CPU 301 first receives an HTTP request from the mediation server 102 (S221). When this is received, the HTTP body is analyzed and divided into parts (S222).

そしてその後、分割して得た各パートを順次対象として、ステップSY及びステップS223乃至ステップS232の処理を繰り返す。
これらの処理について、ステップSYについては後述する。また、ステップS223乃至ステップS232については、画像処理装置100について図47を用いて説明したステップS133乃至S142の処理とほぼ同様なものである。そして、基本的には、図47の処理で端末装置コマンドであったものがここでは処理サーバコマンドであり、サーバ側コマンドであったものが端末装置コマンドであり、またそれに伴ってコマンドシートの名称が異なるのみである。
Thereafter, the processes of Step SY and Steps S223 to S232 are repeated for each part obtained by the division sequentially.
Regarding these processes, step SY will be described later. Steps S223 to S232 are substantially the same as steps S133 to S142 described for the image processing apparatus 100 with reference to FIG. 47. Basically, what is a terminal device command in the processing of FIG. 47 is a processing server command here, and what is a server side command is a terminal device command, and accordingly, the name of the command sheet Are only different.

それ以外の相違点は、ステップS230で、端末装置コマンドを記載していたパートのエンティティヘッダから、転送経路に関する情報(「X-Received-From」ヘッダの内容)を抽出して「送信元情報」の項目に登録し、さらにHTTPリクエストの送信元の情報も、直近の転送経路の情報として同項目に登録する点のみである。
そこで、その他の点については説明を省略する。
そして、全てのパートについてステップSY及びステップS223乃至ステップS232のの処理が終了すると、図51のフローチャートに示した処理は終了し、図50のステップS216以降に相当する処理に進む。
The other difference is that in step S230, information on the transfer path (contents of the “X-Received-From” header) is extracted from the entity header of the part in which the terminal device command is described, and “source information” is extracted. In addition, the information on the transmission source of the HTTP request is also registered in the same item as information on the latest transfer route.
Therefore, description of other points is omitted.
When the processes of step SY and steps S223 to S232 are completed for all parts, the process shown in the flowchart of FIG. 51 is terminated, and the process proceeds to the process corresponding to step S216 and subsequent steps of FIG.

図52は、図50のステップS216以降の部分の処理をより詳細に示したフローチャートである。図51のステップS227又は232の次の処理は、この図ではステップS241に該当する。
この処理においては、CPU301はまず、処理サーバコマンドプール241から、直近の転送先がステップS211で受信したHTTPリクエストの送信元と等しく、かつ「状態」が「未送信」である処理サーバコマンドシートの「メソッド名」と「入力パラメータ」の内容を、送信すべき処理サーバコマンドとして収集し、「コマンドID」の内容もそのコマンドのコマンドIDとして収集する(S241)。
FIG. 52 is a flowchart showing in more detail the processing of step S216 and subsequent steps in FIG. The processing subsequent to step S227 or 232 in FIG. 51 corresponds to step S241 in this figure.
In this processing, first, the CPU 301 first extracts from the processing server command pool 241 the processing server command sheet whose transfer destination is the same as the transmission source of the HTTP request received in step S211 and whose “status” is “unsent”. The contents of “method name” and “input parameter” are collected as a processing server command to be transmitted, and the contents of “command ID” are also collected as the command ID of the command (S241).

ここで、「宛先情報」には、経路情報テーブルを参照してコマンドの転送に係る経路情報を登録してあるので、処理サーバ103から直接転送する転送先としてHTTPリクエストの送信元の情報が記載されているシートが、そのHTTPリクエストに対するHTTPレスポンスに記載して送信すべきコマンドが記載されているシートであると認識できる。
また、「未送信」という「状態」は、コマンドが処理サーバコマンド生成手段243によって生成された後、まだ仲介サーバ102に通知されていないことを示すものであるので、これを基準に仲介サーバ102に送信すべきコマンドを抽出できる。
Here, in the “destination information”, route information related to command transfer is registered with reference to the route information table, so that information on the transmission source of the HTTP request is described as a transfer destination directly transferred from the processing server 103. This sheet can be recognized as a sheet in which a command to be transmitted in the HTTP response to the HTTP request is described.
Further, the “state” of “unsent” indicates that the command is not yet notified to the mediation server 102 after the command is generated by the processing server command generation means 243, and therefore the mediation server 102 is based on this. You can extract commands to send to.

その後、ステップS241で収集した全ての処理サーバコマンドを順次対象として、ステップS242乃至S244の処理を繰り返す。
これらの処理においては、まず対象の処理サーバコマンドとそのコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるSOAPエンベロープに変換し(S242)、これにエンティティヘッダを付加して対象のコマンドに関するパートを生成する(S243)。なお、ステップS243では、エンティティヘッダに、「宛先情報」を参照して上述した「X-Send-To」ヘッダにより転送経路の情報を記載する。このとき、これからHTTPレスポンスを送信しようとする対象の情報は、もはや不要であるので記載しない。
そして、対象の処理サーバコマンドを記載していた処理サーバコマンドシートの「状態」を「応答待ち」に変更する(S244)。「応答待ち」という「状態」は、コマンドを仲介サーバ102に送信済であることを示すものである。
Thereafter, the processing in steps S242 to S244 is repeated for all processing server commands collected in step S241.
In these processes, first, the target processing server command and its command ID are converted into SOAP envelopes in which these pieces of information are included in the SOAP body and the SOAP header (S242), and an entity header is added thereto. A part related to the target command is generated (S243). In step S243, transfer path information is described in the entity header using the “X-Send-To” header described above with reference to “destination information”. At this time, information on a target to which an HTTP response is to be transmitted is no longer necessary and will not be described.
Then, the “status” of the processing server command sheet describing the target processing server command is changed to “waiting for response” (S244). The “status” of “waiting for response” indicates that the command has been transmitted to the mediation server 102.

これらが全て完了した後、CPU301は、端末装置コマンドプール242から、直近の転送先がステップS211で受信したHTTPリクエストの送信元と等しく、かつ「状態」が「処理完了」である端末装置コマンドシートの「出力パラメータ」の内容を、端末装置コマンドに対するコマンド応答のうち送信すべきものとして収集し、「コマンドID」の内容も、対応する端末装置コマンドのコマンドIDとして収集する(S245)。   After all of these are completed, the CPU 301 determines from the terminal device command pool 242 that the latest transfer destination is the same as the transmission source of the HTTP request received in step S211 and the “status” is “processing complete”. Are collected as command responses to be transmitted among the command responses to the terminal device command, and the contents of “command ID” are also collected as the command ID of the corresponding terminal device command (S245).

ここで、「送信元情報」には、端末装置コマンドを受信した際に転送に係る経路情報を登録してあるので、処理サーバ103から直接転送する転送先としてHTTPリクエストの送信元の情報が記載されているシートが、そのHTTPリクエストに対するHTTPレスポンスに記載して送信すべきコマンドが記載されているシートであると認識できる。
また、「処理完了」という「状態」は、端末装置コマンドに対応する処理が端末装置コマンド実行結果生成手段244によって生成された後、まだ仲介サーバ102に送信されていないことを示すものであるので、これを基準に仲介サーバ102に送信すべきコマンド応答を抽出できる。
Here, since the route information related to the transfer is registered in the “source information” when the terminal device command is received, the information of the source of the HTTP request is described as the transfer destination directly transferred from the processing server 103. This sheet can be recognized as a sheet in which a command to be transmitted in the HTTP response to the HTTP request is described.
Further, the “state” of “processing completed” indicates that the processing corresponding to the terminal device command has been generated by the terminal device command execution result generation unit 244 and has not yet been transmitted to the mediation server 102. Based on this, a command response to be transmitted to the mediation server 102 can be extracted.

その後、ステップS245で収集した全てのコマンド応答を順次対象として、ステップS246乃至S248の処理を繰り返す。これらの処理は、まず対象のコマンド応答とその応答と共に収集したコマンドIDとを、これらの情報がそれぞれSOAPボディとSOAPヘッダとに含まれるSOAPエンベロープに変換し(S246)、これにエンティティヘッダを付加して対象のコマンドに関するパートを生成する(S247)。   Thereafter, the processes in steps S246 to S248 are repeated for all command responses collected in step S245 in order. In these processes, first, the target command response and the command ID collected together with the response are converted into a SOAP envelope in which these pieces of information are included in the SOAP body and the SOAP header (S246), and an entity header is added thereto. Then, a part related to the target command is generated (S247).

なお、ステップS247では、エンティティヘッダに、「送信元情報」を参照して上述した「X-Send-To」ヘッダにより転送経路の情報を記載する。このとき、これからHTTPレスポンスを送信しようとする対象の情報は、もはや不要であるので記載しない。すなわち、「X-Send-To」ヘッダの内容は、対応する端末装置コマンドを受信した際に記載してあった「X-Received-From」ヘッダの内容と同一とすればよい。
そして、次に対象のコマンド応答を記載していた端末装置コマンドシートの「状態」を「応答済」に変更する(S248)。「応答済」という「状態」は、コマンド応答を仲介サーバ102に送信済であることを示すものである。
In step S247, transfer path information is described in the entity header using the “X-Send-To” header described above with reference to “source information”. At this time, information on a target to which an HTTP response is to be transmitted is no longer necessary and will not be described. That is, the content of the “X-Send-To” header may be the same as the content of the “X-Received-From” header described when the corresponding terminal device command is received.
Then, the “status” of the terminal device command sheet in which the target command response is described is changed to “response completed” (S248). The “status” “response completed” indicates that the command response has been transmitted to the mediation server 102.

そして、ここまでの処理が全て完了した後、CPU301は、ステップS243又はS247で生成した各パートをマージし、マルチパートのHTTPレスポンスを生成し、受信したHTTPリクエストに対する応答として仲介サーバ102に送信する(S249)。
なお、ステップS244又はS248で行った「状態」の変更は、実際にこの送信が終了してから行うようにしてもよい。このようにすることにより、通信エラーが発生しても、送信しようとしていたコマンド及びコマンド応答を再度送信の対象とすることができるので、システムの信頼性が向上する。
以上で図52に示した処理を終了する。
After all the processes so far are completed, the CPU 301 merges the parts generated in step S243 or S247, generates a multipart HTTP response, and transmits it to the mediation server 102 as a response to the received HTTP request. (S249).
Note that the change of the “state” performed in step S244 or S248 may be performed after the transmission is actually completed. In this way, even if a communication error occurs, the command and command response that were about to be transmitted can be sent again, so that the reliability of the system is improved.
Thus, the process illustrated in FIG. 52 is finished.

次に、図53に、図50等に示した経路情報テーブル更新処理のフローチャートを示す。
この処理においては、CPU301は、まず対象パートに「X-Received-From」ヘッダがあるか否か、すなわちエンティティヘッダに経路情報が記載されているか否か判断する(S251)。
そして、「X-Received-From」ヘッダがあれば、対象パートの送信元情報として先頭の「X-Received-From」ヘッダの値を取得し、経路情報として残りの「X-Received-From」ヘッダの値及び図50のステップS211で受信したHTTPリクエストの送信元情報を取得する(S252)。一方、「X-Received-From」ヘッダがなければ、対象パートの送信元情報としてHTTPリクエストの送信元情報を取得し、経路情報がない旨を記憶する(S253)。
Next, FIG. 53 shows a flowchart of the route information table update process shown in FIG.
In this process, the CPU 301 first determines whether or not there is an “X-Received-From” header in the target part, that is, whether or not path information is described in the entity header (S251).
If there is an “X-Received-From” header, the value of the first “X-Received-From” header is acquired as the transmission source information of the target part, and the remaining “X-Received-From” header is obtained as route information. And the transmission source information of the HTTP request received in step S211 of FIG. 50 (S252). On the other hand, if there is no “X-Received-From” header, the source information of the HTTP request is acquired as the source information of the target part, and the fact that there is no route information is stored (S253).

いずれの場合も、次に、対象パートの送信元が経路情報テーブルに登録されているか否か判断する(S254)。そして、登録されていれば、経路情報が登録内容と一致しているか否か判断し(S255)、これが一致していれば、経路情報テーブルの内容を変更する必要がないので、図53の処理を終了して元の処理に戻る。
ステップS254で登録されていなかった場合には、パートの送信元を新規に経路情報テーブルに登録すべく、経路情報テーブルに、端末装置IDとして送信元情報を登録し、対応する経路情報として、ステップS252又はS253で取得した経路情報を登録する。
In any case, it is next determined whether or not the transmission source of the target part is registered in the route information table (S254). If registered, it is determined whether or not the route information matches the registered content (S255). If the route information matches, it is not necessary to change the content of the route information table. To return to the original process.
If not registered in step S254, the source information is registered as the terminal device ID in the route information table in order to newly register the part source in the route information table, and the corresponding route information is used as the step information. The route information acquired in S252 or S253 is registered.

また、ステップS255で一致しなかった場合には、送信元の端末装置IDについての経路情報を、ステップS252又はS253で取得した経路情報に置き換え、経路情報を更新する。これは、元の経路情報が不明であった場合も含む。
ステップS256又はS257の後では、経路情報テーブルの更新内容を既にプールに登録されているコマンドシートに反映させるべく、処理サーバコマンドプール241及び端末装置コマンドプールから、宛先又送信元(途中の転送経路は含まない)が対象パートの送信元(ステップS252又はS253で取得した送信元情報)と一致するコマンドシートを抽出する(S258)。
If they do not match in step S255, the route information for the transmission source terminal device ID is replaced with the route information acquired in step S252 or S253, and the route information is updated. This includes the case where the original route information is unknown.
After step S256 or S257, in order to reflect the updated contents of the route information table in the command sheet already registered in the pool, from the processing server command pool 241 and the terminal device command pool, the destination or transmission source (intermediate transfer route) Is not included), a command sheet that matches the transmission source of the target part (transmission source information acquired in step S252 or S253) is extracted (S258).

そして、抽出した全てのシートを順次対象として、対象シートの宛先情報又は送信元情報を、変更後の経路情報テーブルの内容に従って置き換える処理を行う(S259)。このとき、置き換えるのは転送経路のみであり、最終的な宛先又はコマンドの送信元は変更しない。
以上の処理が全て終了すると、図53のフローチャートに示す処理を終了し、元の処理に戻る。
Then, all the extracted sheets are sequentially targeted, and the destination information or the transmission source information of the target sheet is replaced according to the contents of the changed route information table (S259). At this time, only the transfer path is replaced, and the final destination or command transmission source is not changed.
When all the above processes are completed, the process shown in the flowchart of FIG. 53 is terminated, and the process returns to the original process.

以上のような、図50乃至図53を用いて説明した処理を行うことにより、処理サーバ103が、種々の画像処理装置100に送信すべき動作要求と画像処理装置100から受信した動作要求に対する動作応答とを一括して仲介サーバ102に送信することができる。また、画像処理装置100からの動作要求と画像処理装置100に送信した動作要求に対する動作応答とを一括して仲介サーバ102から受信して処理することができる。さらに、処理サーバ103から通信要求を送信しない場合でも、画像処理装置100までの通信を仲介してくれる適切な仲介サーバ102に動作要求や動作応答を引き渡すことができる。   By performing the processing described with reference to FIGS. 50 to 53 as described above, the processing server 103 operates in response to operation requests to be transmitted to various image processing apparatuses 100 and operation requests received from the image processing apparatus 100. Responses can be sent to the mediation server 102 in a batch. In addition, the operation request from the image processing apparatus 100 and the operation response to the operation request transmitted to the image processing apparatus 100 can be collectively received from the mediation server 102 and processed. Furthermore, even when a communication request is not transmitted from the processing server 103, an operation request or an operation response can be delivered to an appropriate mediation server 102 that mediates communication to the image processing apparatus 100.

なお、ここでも送信すべきパートを全て生成してからマージして送信を行うようにし、また全てのパートを受信してからこれを各パートに分割して処理を行うように説明したが、このようにする必要はない。各パートを生成するたびに順次送信するようにしたり、各パートを受信するたびに順次各パートに関する処理を行うようにしてもよいことは、仲介サーバ102の場合と同様である。
また、画像機器コマンドの実行に関する処理としては、仲介サーバ102について図37又は図38を用いて説明した処理と同様な処理を実行するようにすればよい。
以上で、処理サーバ103において実行する、各コマンド及びコマンド応答の取扱いに関する処理の説明を終了する。
In this example, all parts to be transmitted are generated and then merged for transmission, and all parts are received and then divided into each part for processing. There is no need to do so. As in the case of the mediation server 102, each part may be transmitted sequentially each time it is generated, or each part may be processed sequentially for each part.
Further, as processing relating to execution of the image device command, processing similar to that described with reference to FIG. 37 or 38 may be executed for the mediation server 102.
Above, description of the process regarding the handling of each command and command response performed in the process server 103 is complete | finished.

ここで、図54に、以上説明してきた遠隔管理システムにおいて、画像処理装置100が処理サーバ103で実行される端末装置コマンドを生成してからそのコマンドに対する応答を受け取るまでに各装置において行われる一連の処理を示す。また、図55に、処理サーバ103が画像処理装置100宛ての処理サーバコマンドを生成してからそのコマンドに対する応答を受け取るまでに各装置において行われる一連の処理を示す。
これらの図に示す処理の各々は、既に説明した処理のいずれかであるので、詳細な説明は省略するが、以上説明してきた遠隔管理システムにおいては、このような処理を行うことにより、処理サーバ103と画像処理装置100との間のコマンド及びコマンド応答の送受信を、仲介サーバ102によって仲介して行うことができる。
Here, in the remote management system described above with reference to FIG. 54, a series of operations performed in each device from when the image processing device 100 generates a terminal device command to be executed by the processing server 103 until receiving a response to the command. The process of is shown. FIG. 55 shows a series of processing performed in each apparatus from when the processing server 103 generates a processing server command addressed to the image processing apparatus 100 until receiving a response to the command.
Since each of the processes shown in these figures is one of the processes already described, detailed description thereof is omitted. However, in the remote management system described above, by performing such a process, the processing server Transmission and reception of commands and command responses between the image processing apparatus 103 and the image processing apparatus 100 can be performed by the mediation server 102.

そして、以上の説明からわかるように、この遠隔管理システムにおいては、仲介サーバ102を設け、画像処理装置100と処理サーバ103との間の通信を、この仲介サーバ102を介して行うようにしたことにより、画像処理装置100が処理サーバ103の存在を認識しておらず、またコマンドやコマンド応答が最終的にどの装置に転送されるべきものであるかを認識していない場合でも、画像処理装置100が送信したコマンドやコマンド応答を、適切な転送先に転送することができる。これは、仲介サーバ102が、画像処理装置100から受信したコマンドやコマンド応答を、その種別に従って適当な転送先を定めて転送するようにしているためである。   As can be seen from the above description, in this remote management system, the mediation server 102 is provided, and communication between the image processing apparatus 100 and the processing server 103 is performed via the mediation server 102. Thus, even when the image processing apparatus 100 does not recognize the existence of the processing server 103 and does not recognize to which apparatus the command or the command response is to be finally transferred, the image processing apparatus The command or command response transmitted by 100 can be transferred to an appropriate transfer destination. This is because the mediation server 102 transfers the command and command response received from the image processing apparatus 100 with an appropriate transfer destination determined according to the type.

このことにより、顧客側環境に設置される端末装置である画像処理装置100における宛先情報管理の負担を低減することができる。すなわち、機能提供側の仲介サーバ102や処理サーバ103が提供するサービスの構成を変更する場合に、コマンドやコマンド応答の転送経路の変更については、仲介サーバ102が記憶している転送先テーブルの内容を変更するのみで対応可能である。すなわち、サービス提供側のみのメンテナンスで対応可能であるので、宛先情報管理が非常に容易である。   As a result, it is possible to reduce the burden of destination information management in the image processing apparatus 100 which is a terminal apparatus installed in the customer side environment. That is, when changing the configuration of the service provided by the mediation server 102 or the processing server 103 on the function providing side, the content of the transfer destination table stored in the mediation server 102 for changing the transfer path of the command or command response It is possible to respond by changing That is, since it is possible to cope with maintenance only on the service provider side, destination information management is very easy.

また、コマンドを群に分けて階層的に管理することはよく行われるが、種別と転送先との対応関係を、その群毎に定義するようにすれば、同一群内でコマンドを追加あるいは削除した場合でも、転送先テーブルを変更する必要がない。従って、仲介サーバ102における宛先情報の管理負担も低減することができる。そして、同一群内のコマンドは通常は同じアプリケーションで処理されることから、転送先を同一としても通常は特に問題は起こらない。   In addition, it is common to manage commands hierarchically by dividing them into groups, but adding or deleting commands within the same group is possible by defining the correspondence between types and transfer destinations for each group. Even if it is done, there is no need to change the transfer destination table. Therefore, it is possible to reduce the management burden of destination information in the mediation server 102. Since commands in the same group are normally processed by the same application, there is usually no particular problem even if the transfer destination is the same.

また、コマンドやコマンド応答を、SOAPリクエスト及びSOAPレスポンスとして記載するようにすれば、XMLで規格化されたデータを送受信することができるので、送受信したデータの再利用を有効に行うことができる。すなわち、受信したデータを社内システムに登録したり、XSLT(XML Stylesheet Language Transform)等の技術を利用して受け取ったデータを表示するホームページを自動生成するとっいた処理を容易に行うことができる。   Further, if the command and the command response are described as a SOAP request and a SOAP response, data standardized in XML can be transmitted and received, so that the transmitted and received data can be reused effectively. That is, it is possible to easily perform processing such as automatically registering received data in an in-house system or automatically generating a home page for displaying received data using a technology such as XSLT (XML Stylesheet Language Transform).

さらにまた、SOAPメッセージにおいては、タグの名前空間を定義することがよく行われるが、コマンド又はコマンド応答に係るタグの名前空間毎に転送先を指定するようにすれば、転送先の管理が容易である。この場合において、転送先の指定に係る名前空間と、名前空間接頭辞の定義に係る名前空間とで、分類の細かさが必ずしも同一である必要はない。   Furthermore, in the SOAP message, the tag name space is often defined, but if the transfer destination is specified for each tag name space related to the command or the command response, the transfer destination can be easily managed. It is. In this case, the detailed classification of the name space relating to the designation of the transfer destination and the name space relating to the definition of the namespace prefix are not necessarily the same.

また、遠隔管理システムを構成する各装置において、以上説明してきた構成を採ることにより、各装置間で送受信すべき動作要求や動作応答を、動作要求又は動作応答のいずれであるか、最終的な転送先がどこであるかによらず、一括して送受信できるので、動作要求の送信と動作応答の送信とについて、また最終的な転送先毎に、別々にネゴシエーションを行って通信のコネクションを確立する必要がなく、通信のオーバーヘッドを低減して通信効率を高めることができる。   Further, by adopting the configuration described above in each device constituting the remote management system, the operation request and the operation response to be transmitted and received between the devices are either the operation request or the operation response, and the final Regardless of where the transfer destination is, it is possible to send and receive all at once, so it establishes a communication connection by negotiating separately for each operation request transmission and operation response transmission and for each final transfer destination. This is unnecessary, and communication efficiency can be improved by reducing communication overhead.

画像処理装置100の数が多くなり、また処理サーバ103や仲介サーバ102と画像処理装置100との間で転送すべき動作要求や動作応答が多くなればなるほど、この効果は大きくなる。
特に、画像処理装置100にとっては、仲介サーバ102との間で、全ての動作要求及び動作応答を一括して転送できるので、通信のタイミング管理も容易になる。
This effect increases as the number of image processing apparatuses 100 increases and the number of operation requests and response to be transferred between the processing server 103 or the mediation server 102 and the image processing apparatus 100 increases.
In particular, for the image processing apparatus 100, since all operation requests and operation responses can be transferred to and from the intermediary server 102, communication timing management becomes easy.

また、動作要求と動作応答とを一括して送信できるのは、これらをそれぞれ直列化したデータに変換し、構造化言語形式で記載した送信メッセージに変換しているためである。このようにしたことにより、フォーマットの異なる動作要求と動作応答とを容易に結合し、論理的に1つの送信内容として送信することができるのである。
そして、このようにしたことにより、各装置が、一括して受信した動作要求と動作応答とを、容易に個々のメッセージに分離し、それが動作要求であるか動作応答であるか、またその種別や転送先に応じて、適切な処理を行うことができる。
The reason why the operation request and the operation response can be transmitted in a batch is that they are converted into serialized data and converted into a transmission message described in a structured language format. In this way, operation requests and operation responses having different formats can be easily combined and transmitted as one transmission content logically.
By doing this, each device easily separates the operation request and the operation response received in a batch into individual messages, and whether it is an operation request or an operation response. Appropriate processing can be performed according to the type and transfer destination.

また、動作要求及び動作応答をそれぞれ、形式を変更せずに複数結合して転送可能な1つのメッセージを生成することができる形式で表現し、また複数結合された状態では形式を変更せずに分割して転送可能な個々の動作要求及び動作応答に戻すことができる形式となるようにすれば、動作要求や動作応答の結合や分割を行う際の処理負荷を低減することができる。   In addition, each of the operation request and the operation response is expressed in a format that can generate a single message that can be transferred by combining a plurality without changing the format. By making it possible to return to individual operation requests and response that can be divided and transferred, it is possible to reduce the processing load when combining and dividing the operation requests and response.

さらに、画像処理装置100と仲介サーバ102との間の通信について、通信要求を常に画像処理装置100から発して通信を行い、その仲介サーバ102から画像処理装置100への動作要求等の送信は、その通信要求に対する応答として行うようにすれば、画像処理装置100がファイアウォールの内側に設けられている場合であっても、ファイアウォールの存在を意識せずに動作要求及び動作応答の送受信を行うことができる。また、通信要求と通信応答とが対応しているため、通信のレベルでのタイミング管理が容易である。   Further, for communication between the image processing apparatus 100 and the mediation server 102, a communication request is always issued from the image processing apparatus 100 to perform communication, and an operation request or the like from the mediation server 102 to the image processing apparatus 100 is transmitted. By performing the response to the communication request, even when the image processing apparatus 100 is provided inside the firewall, the operation request and the operation response can be transmitted and received without being aware of the existence of the firewall. it can. In addition, since the communication request and the communication response correspond to each other, timing management at the communication level is easy.

この場合において、上記の画像処理装置100から仲介サーバ102に定期的に通信要求を送信するようにすれば、仲介サーバ102から画像処理装置100に向けての情報の送信が長時間に亘って停滞してしまう事態を防止できる。
同様に、仲介サーバ102と処理サーバ103の間の通信についても、通信要求を常に仲介サーバ102から発して通信を行うようにすれば、処理サーバ103側でどの仲介サーバが通信相手となり得るかを管理していない場合であっても、問題なく動作要求及び動作応答の送受信を行うことができる。従って、処理サーバ103側での通信先の管理負担を低減することができる。
この場合において、上記の仲介サーバ102から処理サーバ103に定期的に通信要求を送信するようにすれば、処理サーバ103から仲介サーバ102に向けての情報の送信が長時間に亘って停滞してしまう事態を防止できる。
In this case, if a communication request is periodically transmitted from the image processing apparatus 100 to the mediation server 102, transmission of information from the mediation server 102 to the image processing apparatus 100 is delayed for a long time. Can prevent the situation.
Similarly, regarding communication between the mediation server 102 and the processing server 103, if a communication request is always issued from the mediation server 102 and communication is performed, which mediation server can be a communication partner on the processing server 103 side. Even if it is not managed, an operation request and an operation response can be transmitted and received without any problem. Therefore, it is possible to reduce the management burden of the communication destination on the processing server 103 side.
In this case, if the communication request is periodically transmitted from the mediation server 102 to the processing server 103, the transmission of information from the processing server 103 to the mediation server 102 is delayed for a long time. Can be prevented.

また、各装置において、自身が実行する動作要求を登録するコマンドプールと自身が生成した動作要求を登録するコマンドプールとを設け、各アプリケーション等が生成したり、他の装置から受信したりした動作要求や動作応答を、これらのプールに蓄積しておくようにすることにより、動作要求や動作応答の生成及び送受信を、転送先に対する送信タイミングを考慮せずに行うことができる。従って、処理のタイミング管理を簡略化することができ、設計や開発が容易になる。   In addition, each device has a command pool for registering operation requests executed by itself and a command pool for registering operation requests generated by itself, and operations generated by each application or received from other devices By storing requests and operation responses in these pools, it is possible to generate and transmit / receive operation requests and operation responses without considering the transmission timing for the transfer destination. Therefore, the process timing management can be simplified, and the design and development are facilitated.

そして、このようにした場合でも、通信相手に送信すべき動作要求や動作応答をプールから読み出す収集手段を設けることにより、通信を行う場合に、送信すべき情報を漏れなく送信することができる。
また、受信した動作要求や動作応答を各々分離して適切なプールに記憶させる分配手段を設け、受信した情報もプールに蓄積しておくようにすることにより、受信した動作要求に係る動作の実行や、動作応答受信後の処理、動作要求及び動作応答の転送を、通信相手からの受信タイミングを考慮せずに行うことができる。従って、タイミング管理を簡略化することができ、装置の設計や開発が容易になる。
Even in such a case, by providing a collection means for reading out an operation request or an operation response to be transmitted to a communication partner from the pool, information to be transmitted can be transmitted without omission when performing communication.
Also, by providing distribution means for separating received operation requests and responses and storing them in an appropriate pool, the received information is stored in the pool, so that the operations related to the received operation requests are executed. In addition, the processing after receiving the operation response, the transfer of the operation request and the operation response can be performed without considering the reception timing from the communication partner. Therefore, timing management can be simplified, and the design and development of the apparatus becomes easy.

また、生成した動作要求にID等の識別情報を付して、動作要求を記憶、送信する際にこの識別情報と関連付けて行うようにし、また動作応答を記憶、送信する際にも対応する動作要求の識別情報と関連付けて行うようにすれば、1つのメッセージ(ここではHTTPメッセージ)に複数の動作要求や動作応答を含める場合でも、その識別情報を媒介に動作要求と動作応答との対応関係を容易に認識することができる。
さらに、動作要求に優先順位を付して、これが高いものから順に実行したり応答を送信したりするようにすれば、緊急を要する動作を優先的に実行すると共にその応答も優先的に返すことができる。
Also, identification information such as an ID is attached to the generated operation request so that the operation request is associated with the identification information when the operation request is stored and transmitted, and the operation corresponding to the operation response is stored and transmitted. If it is performed in association with the identification information of the request, even when a plurality of operation requests and operation responses are included in one message (here, an HTTP message), the correspondence relationship between the operation request and the operation response through the identification information. Can be easily recognized.
In addition, if priority is given to operation requests, and execution is performed in descending order or responses are transmitted, urgent operations are performed preferentially and the responses are also returned preferentially. Can do.

また、仲介サーバ102においては、転送メッセージプールを設け、単に転送を仲介する動作要求及び動作応答を、自身が生成又は実行するものを分けて登録するようにすれば、転送に係るメッセージについて、それ以外のメッセージとは別の処理を行うことができる。例えば、転送に係るメッセージは、その内容を解釈する必要がない(例えばXMLをデシリアライズする必要がない)ため、受信したままの形式で転送メッセージプールに登録しておくことができる。また、処理サーバ103へ転送すべきメッセージを検索する際にも、検索範囲を狭くすることができる。従って、転送メッセージプールを設けることにより、仲介サーバ102におけるメッセージ転送仲介処理の処理負担を低減することができる。   In the mediation server 102, if a transfer message pool is provided and an operation request and an operation response that merely mediates the transfer are registered separately for those that are generated or executed by itself, Processing different from other messages can be performed. For example, since a message related to transfer does not need to be interpreted (for example, there is no need to deserialize XML), it can be registered in the transfer message pool in the form as received. Further, when searching for a message to be transferred to the processing server 103, the search range can be narrowed. Therefore, by providing the transfer message pool, the processing load of the message transfer mediation process in the mediation server 102 can be reduced.

〔実施形態の変形例〕
次に、上述した実施形態の変形例について説明する。
まず、上述した実施形態においては、画像処理装置100のような端末装置と処理サーバ103との間で仲介サーバ102を1つだけ介してメッセージを送受信する例について説明したが、2つ以上の仲介装置を介して送受信するようにしてもよいことはもちろんである。
このような分散処理システムの例を図56に示す。
[Modification of Embodiment]
Next, a modification of the above-described embodiment will be described.
First, in the above-described embodiment, an example in which a message is transmitted and received between a terminal device such as the image processing apparatus 100 and the processing server 103 via only one mediation server 102 has been described. Of course, transmission / reception may be performed via the apparatus.
An example of such a distributed processing system is shown in FIG.

この例においては、端末装置Aは、仲介サーバBと仲介サーバCの2つの仲介サーバを介して処理サーバDとの間でメッセージを送受信することができる。この場合において、仲介サーバB及びCの機能は、上述した実施形態における仲介サーバ102と同様なものである。また、処理サーバDの機能は、処理サーバ103と同様なものである。
そして、この場合において、端末装置から処理サーバに向かう方向に転送するメッセージは通信要求に記載して、逆方向に転送するメッセージはその通信要求に対する通信応答に記載して転送するものとする。
また、どの装置が第1の通信装置でどの通信装置が第2の通信装置であるかは、各仲介サーバに関して相対的に定まるものである。具体的には、仲介サーバに通信要求を送信してくる装置が第1の通信装置、仲介サーバが通信要求を送信する相手の装置が第2の通信装置となる。あるいは、転送先を記載していないメッセージを送信してくる装置が第1の通信装置、転送先を記載してあるメッセージを送信してくる装置が第2の通信装置と考えることもできる。
In this example, the terminal device A can send and receive messages to and from the processing server D via two mediation servers, the mediation server B and the mediation server C. In this case, the functions of the mediation servers B and C are the same as those of the mediation server 102 in the above-described embodiment. The function of the processing server D is the same as that of the processing server 103.
In this case, the message transferred in the direction from the terminal device to the processing server is described in the communication request, and the message transferred in the reverse direction is described in the communication response to the communication request and transferred.
Further, which device is the first communication device and which communication device is the second communication device is relatively determined with respect to each intermediary server. Specifically, the device that transmits the communication request to the mediation server is the first communication device, and the partner device to which the mediation server transmits the communication request is the second communication device. Alternatively, a device that transmits a message that does not describe a transfer destination can be considered as a first communication device, and a device that transmits a message that describes a transfer destination can be considered as a second communication device.

この分散処理システムにおいては、仲介サーバBには、処理サーバDに転送すべき種別のメッセージについて、その転送先は仲介サーバCである旨記憶させておく(これが最終的にどこに転送されるかを記憶させておく必要はない)。そして、仲介サーバCには、処理サーバDに転送すべき種別のメッセージについて、その転送先は処理サーバDである旨記憶させておく。このように転送先の設定を行うことにより、端末装置Aから仲介サーバBに送信されたメッセージを、さらに仲介サーバCを介して処理サーバDに転送することができる。   In this distributed processing system, the intermediary server B stores the message of the type to be transferred to the processing server D that the transfer destination is the intermediary server C (where this is finally transferred). You do not need to remember it). The intermediary server C stores a message indicating that the transfer destination of the message of the type to be transferred to the processing server D is the processing server D. By setting the transfer destination in this way, the message transmitted from the terminal device A to the mediation server B can be further transferred to the processing server D via the mediation server C.

このとき、端末装置Aから仲介サーバBに転送されたメッセージには、これがさらに仲介サーバCに転送される際に、送信元情報として、「X-Received-From」ヘッダに「端末装置A」の情報が記載される。また、これがさらに処理サーバDに転送される際に、送信元情報として、次の「X-Received-From」ヘッダに「仲介サーバB」の情報が追加される。また、処理サーバDは、このメッセージが記載されたHTTPリクエストの送信元情報から、仲介サーバCも転送経路であることが認識できる。   At this time, when the message transferred from the terminal device A to the mediation server B is further transferred to the mediation server C, the “X-Received-From” header contains “terminal device A” as transmission source information. Information is written. When this is further transferred to the processing server D, information of “mediation server B” is added to the next “X-Received-From” header as transmission source information. Further, the processing server D can recognize that the mediation server C is also a transfer path from the transmission source information of the HTTP request in which this message is described.

従って、処理サーバD側で、端末装置Aに送信するメッセージは、仲介サーバC→仲介サーバB→端末装置Aの経路で転送させればよいことがわかる。そこで、処理サーバDは、端末装置Aに送信するメッセージに、「X-Send-To」ヘッダによりその経路情報を記載することができる(直接の転送先となる仲介サーバCの情報を記載する必要はない)。
そして、このようにしておけば、転送経路に当たる仲介サーバは、この経路情報を参照し、次の転送先にメッセージを転送して、最終的に端末装置Aまでメッセージを転送することができる。このとき、メッセージの転送に際して、転送先を示す経路情報は消去し、最下段に次の転送先が示されるようにしている。
Therefore, it can be understood that the message transmitted to the terminal device A on the processing server D side may be transferred via the route of the mediation server C → the mediation server B → the terminal device A. Therefore, the processing server D can describe the route information in the message transmitted to the terminal device A by the “X-Send-To” header (need to describe the information of the mediation server C that is the direct transfer destination). Not)
Then, the mediation server corresponding to the transfer route can transfer the message to the next transfer destination and finally transfer the message to the terminal device A by referring to the route information. At this time, when the message is transferred, the route information indicating the transfer destination is deleted, and the next transfer destination is shown at the bottom.

なお、以上の構成においては、図56の記載からわかるように、端末装置から処理サーバに向けて転送されるメッセージに記載される「X-Received-From」ヘッダの内容と、同じ経路を処理サーバから端末装置に向けて転送されるメッセージに記載される「X-Send-To」ヘッダの内容とは、全く同じものになる。
また、上述した実施形態では、「X-Received-From」ヘッダの追加は受信側で、「X-Send-To」ヘッダの削除は送信側で行う例について説明したが、このようにすることは必須ではない。逆に、「X-Received-From」ヘッダの追加を送信側で、「X-Send-To」ヘッダの削除を受信側で行うようにしてもよい。
In the above configuration, as can be seen from the description in FIG. 56, the processing server uses the same route as the content of the “X-Received-From” header described in the message transferred from the terminal device to the processing server. The contents of the “X-Send-To” header described in the message transferred from the terminal to the terminal device are exactly the same.
In the above-described embodiment, an example has been described in which the addition of the “X-Received-From” header is performed on the reception side and the deletion of the “X-Send-To” header is performed on the transmission side. Not required. Conversely, the “X-Received-From” header may be added on the transmission side, and the “X-Send-To” header may be deleted on the reception side.

図57に、分散処理システムのさらに別の構成例を示す。
この図に示すように、この発明の分散処理システムにおいて、端末装置と直接通信する仲介サーバが1つである必要はない。また、処理サーバについても、1つの仲介サーバとの間でのみメッセージの送受信を行う構成である必要もない。1つの仲介サーバが複数の端末装置との間でメッセージの送受信を行ってもよいことは、上述した通りである。
このようにしても、端末装置から処理サーバに向けて転送するメッセージには送信元及び転送経路の情報を記載し、また途中の仲介サーバがメッセージの種別毎に転送先の情報を記憶しており、処理サーバから端末装置に向けて転送するメッセージには転送経路及び宛先の情報を記載しているので、これらを参照すれば、適切な相手にメッセージを転送することができる。
FIG. 57 shows still another configuration example of the distributed processing system.
As shown in this figure, in the distributed processing system of the present invention, it is not necessary to have one intermediary server that communicates directly with the terminal device. Further, the processing server does not need to be configured to send and receive messages only with one intermediary server. As described above, one intermediary server may send and receive messages to and from a plurality of terminal devices.
Even in this case, the message transferred from the terminal device to the processing server describes the information of the transmission source and the transfer route, and the intermediate server in the middle stores the information of the transfer destination for each message type. Since the message transferred from the processing server to the terminal device includes information on the transfer route and the destination, the message can be transferred to an appropriate partner by referring to these.

このような構成の分散処理システムにおいて、処理サーバJにおける経路情報テーブルは、図58に示すようになる。すなわち、端末装置Aについては、端末装置A⇔仲介サーバF⇔仲介サーバG⇔処理サーバJのような転送経路でメッセージを転送できることが、処理サーバJ側で認識できる。端末装置Bについては、端末装置B⇔仲介サーバH⇔処理サーバJのような転送経路でメッセージを転送できることが認識できる。
端末装置C及びDについては、まだ経路が登録されていない。しかし、例えば処理サーバJが端末装置Dからのメッセージを受信すると、そのメッセージの転送経路の情報から、端末装置D⇔仲介サーバF⇔仲介サーバG⇔処理サーバJの経路を認識し、これを経路情報テーブルに登録することができる。
In the distributed processing system having such a configuration, the route information table in the processing server J is as shown in FIG. That is, regarding the terminal device A, the processing server J can recognize that the message can be transferred through a transfer path such as the terminal device A⇔mediation server F⇔mediation server G⇔processing server J. As for the terminal device B, it can be recognized that the message can be transferred through a transfer path such as the terminal device B⇔mediation server H⇔processing server J.
For the terminal devices C and D, the route has not been registered yet. However, for example, when the processing server J receives a message from the terminal device D, it recognizes the route of the terminal device D⇔mediation server F⇔mediation server G⇔processing server J from the information of the transfer route of the message, and routes it. It can be registered in the information table.

端末装置Eのように、経路情報テーブルに登録されていない端末装置からのメッセージを受信した場合も、同様に、メッセージの転送経路の情報から、端末装置E⇔仲介サーバH⇔処理サーバJの経路を認識し、これを経路情報テーブルに登録することができる。ただし、予め経路情報テーブルに登録されていない端末装置からのメッセージに対してはエラーを返し、新たに経路情報テーブルには登録しないような対応も考えられる。
なお、分散処理システムとして、図56や図57に示した構成以外にも、種々の構成が取り得ることは言うまでもない。ただし、1つの端末装置から複数の仲介サーバにメッセージを送信可能とすると、端末装置側でメッセージの宛先を管理する必要が生じてしまう。そこで、各端末装置からは1つの仲介サーバのみにメッセージを送信可能とすることが好ましい。
Similarly, when a message is received from a terminal device that is not registered in the route information table, such as the terminal device E, the route of the terminal device E⇔mediation server H⇔processing server J is similarly determined from the message transfer route information. Can be recognized and registered in the route information table. However, it may be possible to respond to a message from a terminal device that has not been registered in the route information table in advance and return an error and not newly register it in the route information table.
It goes without saying that various configurations other than the configurations shown in FIGS. 56 and 57 can be adopted as the distributed processing system. However, if it is possible to transmit a message from one terminal device to a plurality of mediation servers, it becomes necessary to manage the message destination on the terminal device side. Therefore, it is preferable that each terminal device can transmit a message to only one mediation server.

なお、上述した実施形態の分散処理システムも含め、これらの分散処理システムにおいて、必ずしも処理サーバと仲介サーバを区別する必要はない。そして、このようにする場合、これらのサーバの機能は、実施形態で仲介サーバ102について説明した機能に、処理サーバ103について説明した経路情報記憶手段250に関する機能を追加したものとすればよい。   In these distributed processing systems, including the distributed processing system of the above-described embodiment, it is not always necessary to distinguish between the processing server and the mediation server. In such a case, the functions of these servers may be those obtained by adding the function related to the route information storage unit 250 described for the processing server 103 to the function described for the mediation server 102 in the embodiment.

そして、転送先テーブルに、転送先として自分自身以外の情報が登録されていない装置においては、受信する全ての動作要求及び動作応答に係る処理を全て自身で行うことになり、転送用メッセージプールやメッセージ転送手段が使用されることはなく、結果的に処理サーバとして機能することになる。従って、このようにすれば、転送先テーブルの内容を変更するだけで、同じ装置を処理サーバ及び仲介サーバのいずれとしても任意に機能させることができるので、システムの構成変更が容易になる。   In a device in which information other than itself is not registered as a transfer destination in the transfer destination table, all processing related to the received operation requests and response is performed by itself. The message transfer means is not used, and as a result, it functions as a processing server. Therefore, in this way, it is possible to arbitrarily function the same apparatus as both the processing server and the mediation server simply by changing the contents of the transfer destination table, so that the system configuration can be easily changed.

なお、逆に、仲介サーバに、動作要求に係る処理を行ったり、動作要求を生成したりする機能を設けず、仲介サーバをメッセージの仲介に特化した装置とすることも可能である。このようにした場合、端末装置コマンドプール、仲介サーバコマンドプール、端末装置コマンド実行結果生成手段、仲介サーバコマンド生成手段は不要である。従って、仲介サーバの構成を単純化し、設計や開発の手間を低減して低コスト化を図ることができる。
また、処理サーバから仲介サーバに対して通信要求を送信し、その通信要求に動作要求や動作応答に係るメッセージを記載して転送することを可能とすることも考えられる。
On the contrary, it is also possible to make the mediation server a device specialized for mediating messages without providing the mediation server with a function for performing processing related to an operation request or generating an operation request. In this case, the terminal device command pool, the mediation server command pool, the terminal device command execution result generation means, and the mediation server command generation means are unnecessary. Therefore, it is possible to simplify the configuration of the mediation server, reduce design and development, and reduce costs.
It is also conceivable that a communication request can be transmitted from the processing server to the mediation server, and a message relating to the operation request or the operation response can be described in the communication request and transferred.

また、上述した実施形態においては、仲介サーバ102における転送先テーブルとして、図34に示したように、名前空間URI毎に、その名前空間に属するコマンド又はコマンド応答に係るメッセージの転送先の情報を記載したものを使用する例について説明した。しかし、転送先テーブルにおいて転送先がはっきり定められていないメッセージを、所定の転送先に転送するようにすることも考えられる。   Further, in the above-described embodiment, as the transfer destination table in the mediation server 102, as shown in FIG. 34, for each name space URI, information on the transfer destination of a command related to a command or a command response belonging to that name space is stored. An example using what has been described was described. However, it is also conceivable to transfer a message whose transfer destination is not clearly defined in the transfer destination table to a predetermined transfer destination.

このようにする場合、図59に示すように、転送先テーブルに「default」の項目を設け、コマンドやコマンド応答の名前空間URIが転送先テーブルに登録されていない場合には、「default」欄に登録されている転送先にそのコマンドやコマンド応答に係るメッセージを転送することが考えられる。そして、この場合、図33に示したようなメッセージ分配処理において、ステップS22で名前空間URIが転送先テーブルに登録されていなかった場合に、対象パートのメッセージの転送先を「default」欄に登録されている転送先とするようにするとよい。   In this case, as shown in FIG. 59, an item “default” is provided in the transfer destination table, and the name space URI of the command or command response is not registered in the transfer destination table, the “default” column It is conceivable that a message related to the command or command response is transferred to the transfer destination registered in. In this case, in the message distribution process as shown in FIG. 33, when the namespace URI is not registered in the transfer destination table in step S22, the message transfer destination of the target part is registered in the “default” column. It is good to make it the forwarding destination that has been made.

また、図59に示した転送先テーブルを利用するシステム構成としては、例えば図60に示した構成が考えられる。すなわち、図3に示した分散処理システムにおいて、総合管理サーバ103cを追加して設けた構成である。そして、機器管理サーバ102に図59に示したような転送先テーブルを記憶させ、機器管理サーバ102で処理するものでも、販売管理サーバ103aや情報配信サーバ103bに転送するものでもないメッセージを、全て総合管理サーバ103cに転送するようにするのである。
このようにすることにより、仲介サーバ102において、扱い得る全てのコマンドやコマンド応答に応じた転送先情報を指定しなくてもよいようになるので、システムの設計や管理が容易になる。
As a system configuration using the transfer destination table shown in FIG. 59, for example, the configuration shown in FIG. 60 can be considered. That is, in the distributed processing system shown in FIG. 3, the general management server 103c is additionally provided. Then, the transfer table shown in FIG. 59 is stored in the device management server 102, and all messages that are neither processed by the device management server 102 nor transferred to the sales management server 103a or the information distribution server 103b are stored. The data is transferred to the general management server 103c.
By doing so, it is not necessary to specify transfer destination information corresponding to all commands and command responses that can be handled in the mediation server 102, so that system design and management are facilitated.

この場合において、総合管理サーバ103cが受け取ったメッセージを自身で処理する必要はなく、さらに他の装置に転送するようにしてもよい。また、その場合に総合管理サーバ103cが用いる転送先テーブルは、図34に示したような「default」の項目がないものでも、図59に示したような「default」の項目があるものであってもよい。さらに、「default」の項目に登録する転送先を、いずれかの名前空間URIと対応させて転送先テーブルに登録されている転送先と同じものとすることも考えられる。   In this case, the message received by the general management server 103c does not need to be processed by itself, and may be forwarded to another device. Further, in this case, the transfer destination table used by the integrated management server 103c does not have the “default” item as shown in FIG. 34, but has the “default” item as shown in FIG. May be. Furthermore, the transfer destination registered in the item “default” may be the same as the transfer destination registered in the transfer destination table in association with one of the name space URIs.

また、各仲介サーバにおいて図61に示したような転送先テーブルを使用するようにすることも考えられる。すなわち、自身で処理すべきコマンドやコマンド応答についてのみ、その仲介サーバ自身を転送先として登録し、それ以外のコマンドやコマンド応答は、全て次の仲介サーバに転送するようにすることも考えられる。
この場合、例えば、分散処理システムを図62に示すように構成し、複数の仲介サーバを直列に配置して、各仲介サーバは、自身で処理すべきもの以外のコマンドやコマンド応答に係るメッセージを、順次次のサーバに転送していくようにすることができる。このようにシステムを構成すれば、各仲介サーバには、自身で処理すべきコマンド及びコマンド応答の情報と、その他のコマンド及びコマンド応答の転送先のみを記憶させておけばよいので、システムの設計や管理がさらに容易になる。
It is also conceivable to use a transfer destination table as shown in FIG. 61 in each intermediary server. That is, it is also conceivable that only the command or command response to be processed by itself is registered as the transfer destination, and all other commands and command responses are transferred to the next transfer server.
In this case, for example, the distributed processing system is configured as shown in FIG. 62, a plurality of mediation servers are arranged in series, and each mediation server sends a message related to commands and command responses other than those to be processed by itself, The data can be transferred sequentially to the next server. If the system is configured in this way, each intermediary server need only store information on commands and command responses to be processed by itself and other command and command response transfer destinations. And management becomes even easier.

そして、各仲介サーバは、メッセージの転送先の仲介サーバや処理サーバにおいてメッセージがどのように処理されるかを知る必要がないので、転送先の仲介サーバや処理サーバにおいて、受け付けるコマンドの種類や処理の分担を、転送元の仲介サーバに通知することなく自由に定めることができる。従って、仲介サーバを設けた会社がメッセージに係る処理を別会社に下請けに出したり、またその下請けを受注した会社が処理をさらに孫請けに出したりする場合には、このような構成を採用すると、処理を受注した会社が自由にシステムを構成できるため、特に有効である。
そして、最終段の処理サーバNにおいては、転送先テーブルに「default」の項目を設けないようにし、名前空間URIが転送先テーブルに登録されていないコマンドやコマンド応答に対してエラー処理を行うようにすれば、全く関係ないコマンド等についても、適切な対応が可能になる。
Each mediation server does not need to know how the message is processed in the message transfer destination mediation server or processing server. Can be freely determined without notifying the transfer source intermediary server. Therefore, if the company that provided the intermediary server sends the processing related to the message to a subcontractor, or the company that has received an order for the subcontracting sends the processing to a subcontractor, this configuration is adopted. This is particularly effective because the company that has received an order for processing can freely configure the system.
The processing server N at the last stage does not provide the “default” item in the transfer destination table, and performs error processing for commands and command responses whose name space URI is not registered in the transfer destination table. By doing so, it becomes possible to appropriately deal with commands that are completely unrelated.

さらに、図62に示したように複数の仲介サーバを直接に配置した構成のみに対応できればよいのであれば、各仲介サーバに転送先テーブルに代えて図63に示したような情報を記憶させておくようにしてもよい。すなわち、自身で処理するメソッドの属する名前空間URIと、それ以外のコマンド等を転送する転送先サーバのIDとを記憶させておくようにしてもよい。   Furthermore, if it is only necessary to support a configuration in which a plurality of mediation servers are directly arranged as shown in FIG. 62, information as shown in FIG. 63 is stored in each mediation server instead of the transfer destination table. You may make it leave. In other words, the name space URI to which the method to be processed by itself and the ID of the transfer destination server that transfers other commands may be stored.

図64に、受信したメッセージを図63に示したような情報を用いて取り扱う場合の処理のフローチャートを示す。図64に示した処理は、図33に示した処理のステップS22とS23に代えて、ステップSAとステップSBの処理を行うようにしたものである。
すなわち、図63に示した情報を用いる場合、図32に示したメッセージ送受信の基本フロー中のメッセージ分配処理において、図64に示した処理を行うようにする。そして、ステップS21で対象パートのSOAPメッセージからそのメッセージに係るコマンド又はコマンド応答の名前空間URIを取得し、ステップSAで、その名前空間URIが図63に示した「自身で処理するメソッドの属する名前空間URI」に含まれるか否か判断する。
FIG. 64 shows a flowchart of processing when the received message is handled using the information shown in FIG. The process shown in FIG. 64 is such that the processes of step SA and step SB are performed instead of steps S22 and S23 of the process shown in FIG.
That is, when the information shown in FIG. 63 is used, the processing shown in FIG. 64 is performed in the message distribution processing in the basic flow of message transmission / reception shown in FIG. In step S21, the name space URI of the command or command response related to the message is acquired from the SOAP message of the target part. In step SA, the name space URI is “name to which the method to be processed by itself belongs” shown in FIG. It is determined whether or not it is included in the “space URI”.

そして、含まれる場合には、そのコマンド又はコマンド応答は自身で処理すべきものであるから、ステップS24以下に進み、図33の場合と同様な処理を行う。また、含まれない場合には、そのコマンド又はコマンド応答は次の仲介サーバに転送すべきものであるから、ステップSBでメッセージの宛先を図63に示した「転送先サーバID」として登録されている「次の仲介サーバ」に設定し、ステップS34以下に進んで対象のメッセージを送信用転送メッセージプール51に登録する。
各仲介サーバに、以上のような処理を実行させるようにすれば、図63に示したような情報のみで、メッセージの転送を適切に行わせることができる。なお、このような処理を採用した場合、転送先のサーバは1つしかないので、図39に示したようなメッセージ転送処理を行う場合において、送信用転送メッセージプール51に登録されている全てのメッセージを収集し、所定の転送先に送信するようにすればよい。従って、図14に示したような転送メッセージシートにおいてメッセージの転送先を管理することも、必須ではない。
If it is included, the command or command response should be processed by itself, so the process proceeds to step S24 and the subsequent steps, and the same processing as in the case of FIG. 33 is performed. If it is not included, the command or command response is to be transferred to the next mediation server, so that the message destination is registered as “transfer destination server ID” shown in FIG. 63 in step SB. It is set to “next mediation server”, and the process proceeds to step S 34 and subsequent steps to register the target message in the transmission message pool 51 for transmission.
If each intermediary server is caused to execute the processing as described above, it is possible to appropriately transfer the message with only the information as shown in FIG. When such a process is adopted, there is only one transfer destination server. Therefore, when the message transfer process as shown in FIG. 39 is performed, all of the registered transfer message pools 51 are registered. Messages may be collected and transmitted to a predetermined transfer destination. Therefore, it is not essential to manage the message transfer destination in the transfer message sheet as shown in FIG.

なお、「転送先サーバID」として複数のサーバを登録し、他のサーバに転送すべきコマンドに係るメッセージの転送先を、メッセージの受信日時に応じたスケジューリング、メッセージの受信元、あるいはランダム等により、各サーバに振り分けるようにしてもよい。このようにすれば、転送先のサーバにメッセージが集中することを防止し、処理負荷の分散を図ることができる。
さらに、コマンド応答についても同様な処理を行うようにしてもよい。この場合において、最終的にメッセージを受け取る可能性がある各装置が共通に参照できるデータベースを設けてここに受け取ったメッセージをプールしておくようにすれば、コマンド応答がコマンドの送信元の装置に届かなかったとしても、送信元の装置は、データベースにアクセスすることによりコマンド応答を参照することができる。
It should be noted that a plurality of servers are registered as “forwarding server IDs”, and the forwarding destination of a message related to a command to be forwarded to another server is determined by scheduling according to the reception date and time of the message, the source of the message, or random , It may be distributed to each server. In this way, it is possible to prevent messages from being concentrated on the transfer destination server and to distribute the processing load.
Further, a similar process may be performed for the command response. In this case, if a database that can be referred to in common by each device that may receive the message is provided and the received message is pooled here, the command response is sent to the device that sent the command. Even if it does not arrive, the transmission source device can refer to the command response by accessing the database.

また、自身で処理できるコマンドに係るメッセージであっても、自身での処理に必要なリソースが十分確保できない場合等、場合によっては他のサーバに転送するようにしてもよい。このようにする場合において、転送先のサーバに、転送元のサーバと同じコマンドを処理する機能を設けるようにするとよい。このようにすれば、一部のサーバに処理負荷が集中している場合において、単純な処理で効率良く複数のサーバに処理を分散させることができる。   In addition, even a message related to a command that can be processed by itself may be transferred to another server depending on circumstances, for example, when sufficient resources necessary for processing by itself cannot be secured. In this case, the transfer destination server may be provided with a function for processing the same command as that of the transfer source server. In this way, when the processing load is concentrated on some servers, the processing can be efficiently distributed to a plurality of servers with simple processing.

また、上述した実施形態においては、各装置間のメッセージの転送を、マルチパートで行う例について説明したが、このようにすることは必須ではない。例えば、システム全体で取り扱うコマンドを、端末装置から仲介サーバや処理サーバに向けたものだけとする場合には、1つのHTTPリクエスト又はHTTPレスポンスに、1つのSOAPメッセージのみ記載するような方式、例えば仲介サーバ102において図41を用いて説明したような処理、も採用可能である。このようにすれば、各装置をマルチパートのような特殊な転送プロトコルに対応させる必要がなくなるので、設計や開発の手間を低減して低コスト化を図ることができる。
また、システム全体で取り扱うコマンドを、端末装置から仲介サーバや処理サーバに向けたものだけとしても、上述のようなマルチパートによる転送を行うようにすれば、上述した効果を同様に得ることができる。
In the above-described embodiment, the example in which the message transfer between the devices is performed in multipart has been described. However, this is not essential. For example, when the commands handled by the entire system are only those directed from the terminal device to the mediation server or processing server, a method in which only one SOAP message is described in one HTTP request or HTTP response, for example, mediation Processing as described with reference to FIG. 41 in the server 102 can also be employed. This eliminates the need for each device to support a special transfer protocol such as a multipart, thereby reducing design and development efforts and reducing costs.
Further, even if commands handled by the entire system are only directed to the intermediary server or processing server from the terminal device, the above-described effects can be obtained in the same manner by performing multi-part transfer as described above. .

また、上述した各実施形態においては、RPCを実現する上位プロトコルとしてSOAPを採用し、アプリケーションは直接プールを操作してRPCを実現しているが、アプリケーションとプールとの間にCORBA(Common Object Request Broker Architecture)やJAVA(登録商標)RMI(Remote Method Invocation)とのブリッジ(メッセージ変換機能)を備えることによってアプリケーションの開発効率をさらに向上させてもよい。   In each of the above-described embodiments, SOAP is adopted as an upper protocol for realizing RPC, and the application directly implements RPC by operating the pool. However, CORBA (Common Object Request) is used between the application and the pool. Application development efficiency may be further improved by providing a bridge (message conversion function) with Broker Architecture) or JAVA (registered trademark) RMI (Remote Method Invocation).

また、上述した実施形態において、各ノード間でのコマンド及びこれに対するコマンド応答のやり取りは、XMLで記述されたSOAPメッセージにより行うこととしているが、これに限るものでなく、他の形式で記述されていてもよい。
また、送受信するコマンドやコマンド応答の情報量に制限を設けても構わない。特に、受信するコマンドの情報量を制限するようにすると、受信側がメモリ容量の限られた装置である場合にメモリの使用量を抑えることができる。
Further, in the above-described embodiment, the exchange of commands and command responses to each node is performed by a SOAP message described in XML. However, the present invention is not limited to this, and is described in another format. It may be.
Further, there may be a limit on the information amount of commands and command responses to be transmitted / received. In particular, if the amount of information of commands to be received is limited, the amount of memory used can be suppressed when the receiving side is a device with a limited memory capacity.

また、上述した実施例において、SOAP標準のプロトコルだけでなく、SOAPとMIMEマルチパートを組み合わせた独自のプロトコルをもこれに加えて採用することにより、HTTPリクエスト、或いはHTTPレスポンスに含まれるSOAPエンベロープを全く独立したものとして扱うこととしているが、SOAPの関連仕様として定義されたSOAPアタッチメントによって、HTTPレスポンスに含まれる第1パートのSOAPエンベロープに、第2パート以降のSOAPエンベロープへのリンクを埋め込んでこれらを関連付けて引き渡す構成にしてもよい。SMTPを採用する場合にも同様である。   In addition, in the above-described embodiment, not only the SOAP standard protocol but also a unique protocol combining SOAP and MIME multipart is adopted in addition to this, so that the SOAP envelope included in the HTTP request or HTTP response can be changed. Although they are treated as completely independent, the SOAP attachment defined as the SOAP related specification embeds the link to the SOAP envelope of the second part or later in the SOAP envelope of the first part included in the HTTP response. It is also possible to adopt a configuration in which these are transferred in association with each other. The same applies when adopting SMTP.

なお、メッセージの転送プロトコルとしてSMTPを採用する場合には、メッセージは電子メールに記載して送信することになるが、MIMEマルチパート等を利用して、1通の電子メールに複数のメッセージを記載することは可能である。従って、上述したHTTPリクエスト及びHTTPレスポンスに代えて、電子メールとその返信の電子メールを使用することができる。しかし、電子メールには通信要求と応答のような対応関係はないため、始めの送信とそれに対する返信のタイミングは、独立に管理する必要がある。また、電子メールは宛先への到達に長時間を要することもあるので、システムの円滑な運用のためには、転送プロトコルとしてHTTPを使用する方が好ましい。   Note that when SMTP is adopted as a message transfer protocol, the message is described in an e-mail and transmitted, but a plurality of messages are described in one e-mail using MIME multipart or the like. It is possible to do. Therefore, instead of the above-described HTTP request and HTTP response, it is possible to use an e-mail and a return e-mail. However, since e-mail does not have a corresponding relationship such as a communication request and a response, the timing of the first transmission and the response to the first transmission must be managed independently. In addition, since e-mail may take a long time to reach the destination, it is preferable to use HTTP as a transfer protocol for smooth operation of the system.

また、ここでは画像処理装置100と仲介サーバ102とをインターネット14を介して接続した例について説明したが、これ以外にも、有線、無線を問わず、ネットワーク通信が可能な各種通信経路を用いることができる。仲介サーバ102と処理サーバ103の相互間においても、同様に各種通信経路を用いることができる。   Although the example in which the image processing apparatus 100 and the mediation server 102 are connected via the Internet 14 has been described here, various communication paths that can perform network communication regardless of wired or wireless are used. Can do. Various communication paths can be similarly used between the mediation server 102 and the processing server 103.

さらにまた、分散処理システムの構成についても、以上説明したものに限られることはなく、遠隔管理システム以外の分散処理システム、そして任意の通信システムにもこの発明を適用できることは、言うまでもない。
例えば、上述した実施形態における「端末装置」は、あくまで分散処理システムにおける「端末」であって、顧客先環境内においても「端末」として機能している必要はない。すなわち、顧客先環境における基幹系サーバを「端末装置」として上述の実施形態のような分散処理システムに接続し、ここから取得した情報を加工して顧客先環境内の他の装置に配布するような構成も採りうる。
Furthermore, the configuration of the distributed processing system is not limited to the one described above, and it goes without saying that the present invention can be applied to a distributed processing system other than the remote management system and any communication system.
For example, the “terminal device” in the above-described embodiment is merely a “terminal” in the distributed processing system, and does not need to function as a “terminal” in the customer environment. That is, the backbone server in the customer's environment is connected as a “terminal device” to the distributed processing system as in the above-described embodiment, and the information acquired from this is processed and distributed to other devices in the customer's environment. Various configurations can also be adopted.

また、処理サーバについても、各々異なったコマンドを実行するための装置である必要はない。例えば、仲介サーバにおいて、動作要求や動作応答の種類だけでなく、メッセージの送信元の情報も参照して転送先を定めるようにしてもよい。このようにすれば、動作要求を送信する端末装置の数が増え、処理サーバの負担が過大となった場合でも、一定台数の端末装置毎に処理サーバを分ける等して、容易に処理の負荷分散を図ることができる。この場合においても、処理の分散内容を端末装置側に一切知らせる必要がないので、システム構成変更の際の負担は最低限で済む。
さらに、端末装置側からの動作要求については、仲介サーバが通信トラフィックを監視する等して、その内容に応じて転送先を動的に変更することも可能である。このようにしても、処理サーバには適切な転送経路を指定して動作応答を返す機能があるので、動作要求の送信元まで正確に動作応答を返すことができる。
Further, the processing servers do not have to be devices for executing different commands. For example, in the mediation server, the transfer destination may be determined by referring not only to the type of operation request or operation response but also to the information of the message transmission source. In this way, even if the number of terminal devices that transmit operation requests increases and the load on the processing server becomes excessive, the processing server can be easily processed by dividing the processing server into a certain number of terminal devices. Dispersion can be achieved. Even in this case, since there is no need to notify the terminal device side of the distributed contents of the processing, the burden of changing the system configuration can be minimized.
Further, for the operation request from the terminal device side, the transfer destination can be dynamically changed according to the contents, for example, by monitoring the communication traffic by the mediation server. Even in this case, since the processing server has a function of returning an operation response by designating an appropriate transfer path, the operation response can be accurately returned to the source of the operation request.

また、仲介サーバに相当する装置を顧客先環境にも設置し、複数の端末装置に関するメッセージの転送を、一括して担わせるようにしてもよい。この場合において、顧客先環境内の仲介サーバと端末装置とは、LANによって接続することが考えられるので、これらの間の通信には、LAN内での通信に使用する一般的な通信プロトコルを適用可能である。
従って、顧客先環境の仲介サーバにこのようなプロトコル変換機能を設ければ、特殊なプロトコルに対応していない端末装置であっても、マルチパート転送等の特殊なプロトコルを使用する分散処理システムに接続し、上述した効果を得ることができる。
In addition, a device corresponding to the mediation server may be installed in the customer environment so that messages related to a plurality of terminal devices can be collectively transferred. In this case, the mediation server and the terminal device in the customer's environment can be connected by a LAN, so a general communication protocol used for communication in the LAN is applied to the communication between them. Is possible.
Therefore, if such a protocol conversion function is provided in the intermediary server in the customer's environment, even a terminal device that does not support a special protocol can be used in a distributed processing system that uses a special protocol such as multipart transfer. The effect mentioned above can be acquired by connecting.

そして、このようにしたとしても、顧客先環境内の仲介サーバと端末装置とは、通常は通信相手が限定されたネットワークを介して通信を行うため、ネゴシエーションの処理負荷は小さくて済むので、通信の回数が増えてもさほど通信効率は低下しない。さらに、端末装置を複雑な通信プロトコルに対応させる必要がないので、全体としてシステムを構成するための手間やコストを抑えることができる。
なおこの場合、顧客先環境の仲介サーバと端末装置との接続は、LANに限らず、RS−485規格等に準拠したシリアル接続や、SCSI(Small Computer System Interface)規格等に準拠したパラレル接続等によって行ってもよい。例えばRS−485規格の場合には、仲介サーバに直列に5台までの端末装置を接続することができる。
And even if this is done, since the mediation server and the terminal device in the customer's environment usually communicate via a network with limited communication partners, the processing load of the negotiation can be reduced. Even if the number of times increases, the communication efficiency does not decrease so much. Furthermore, since it is not necessary for the terminal device to correspond to a complicated communication protocol, it is possible to reduce labor and cost for configuring the system as a whole.
In this case, the connection between the mediation server in the customer's environment and the terminal device is not limited to the LAN, but a serial connection conforming to the RS-485 standard, a parallel connection conforming to the SCSI (Small Computer System Interface) standard, etc. You may go by. For example, in the case of the RS-485 standard, up to five terminal devices can be connected in series to the mediation server.

また、顧客先環境に仲介サーバを設けないとすると、情報送信の停滞を防止するために、各々の端末装置が上述したような定期的な通信要求を個々に行うことになる。従って、機能提供側の仲介サーバ102に多数の通信要求が殺到することになる。従って、顧客先環境に多数の端末装置を設ける場合には、顧客先環境に仲介サーバも設け、その仲介サーバに代表で定期的な通信要求を行わせることが好ましい。   Further, if no intermediary server is provided in the customer's environment, each terminal device individually makes a periodic communication request as described above in order to prevent stagnation of information transmission. Therefore, a large number of communication requests are flooded into the function providing side mediation server 102. Therefore, when a large number of terminal devices are provided in the customer environment, it is preferable that an intermediary server is also provided in the customer environment and the intermediary server makes a regular communication request as a representative.

この場合、図65に示すようなシステム構成が考えられる。この図においては、顧客環境側仲介サーバ112を別途設ける被管理装置の例としてテレビ受像機10aや冷蔵庫10bのようなネットワーク家電、医療機器10c,自動販売機10d,計量システム10e,空調システム10fを挙げている。そして、顧客環境側仲介サーバ112を別途設けない被管理装置の例として、自動車10gや航空機10hを挙げている。また、自動車10gや航空機10hのように広範囲を移動する装置においては、ファイアウォール(FW)11の機能も併せ持つようにすることが好ましい。また、顧客環境側仲介サーバ112と、機能提供側の仲介サーバ102との間にファイアウォール11があったとしても、常に顧客環境側仲介サーバ112から通信要求を発してメッセージの転送を行うようにすれば、メッセージの転送に特に支障はない。   In this case, a system configuration as shown in FIG. 65 can be considered. In this figure, network home appliances such as a television receiver 10a and a refrigerator 10b, a medical device 10c, a vending machine 10d, a weighing system 10e, and an air conditioning system 10f are examples of managed devices that are separately provided with the customer environment side mediation server 112. Cite. As an example of a managed device that does not have the customer environment side mediation server 112 separately, an automobile 10g and an aircraft 10h are cited. In addition, it is preferable that an apparatus that moves over a wide range, such as an automobile 10g or an aircraft 10h, also has a firewall (FW) 11 function. Further, even if there is a firewall 11 between the customer environment side mediation server 112 and the function providing side mediation server 102, a communication request is always issued from the customer environment side mediation server 112 to transfer a message. Thus, there is no particular problem in message transfer.

また、機能提供側についても、仲介サーバ102と処理サーバ103とを同じベンダーが提供する必要はない。各仲介サーバにおいてコマンドの転送先を把握することができていれば、転送先の処理サーバで機能がどのように提供されようと構わない。
従って、端末装置側で、観光地案内、時刻表案内、チケット予約、宿泊予約といった機能を提供する複数の処理サーバに対するコマンドを送信し、各々コマンド応答のXMLデータを加工して結合し、1つのHTML文書に変換するような処理を行えば、仲介サーバは、複数のサイトの機能を1つのウェブページ内で提供するような、いわゆるポータルサイトと同様なサービスを提供することもできる。
Further, it is not necessary for the function providing side to provide the mediation server 102 and the processing server 103 by the same vendor. As long as the transfer destination of the command can be grasped in each intermediary server, it does not matter how the function is provided in the transfer destination processing server.
Therefore, on the terminal device side, commands to a plurality of processing servers that provide functions such as sightseeing spot guidance, timetable guidance, ticket reservation, and accommodation reservation are transmitted, and the XML data of each command response is processed and combined. If processing such as conversion into an HTML document is performed, the mediation server can also provide a service similar to a so-called portal site that provides the functions of a plurality of sites within one web page.

また、上述した実施形態においては、端末装置は仲介サーバに送信する動作要求及び動作応答に、宛先や転送先に係るメッセージを記載しない例について説明した。しかしながら、端末装置側で、端末装置コマンドを送信すべき処理サーバの宛先や、処理サーバコマンドの送信元の情報を把握し、仲介サーバに送信するコマンド及びコマンド応答に、宛先を記載するようにしてもよい。
このようにする場合には、SOAPメッセージ中のSOAPヘッダに、宛先や送信元の情報を記載しておき、これを端末装置コマンドシートやサーバ側コマンドシートに記載して管理すれば良い。
Further, in the above-described embodiment, the example has been described in which the terminal device does not describe the message regarding the destination or the transfer destination in the operation request and the operation response transmitted to the mediation server. However, on the terminal device side, the destination of the processing server to which the terminal device command should be transmitted and the information of the transmission source of the processing server command are grasped, and the destination is described in the command and command response transmitted to the mediation server. Also good.
In such a case, information on a destination and a transmission source may be described in a SOAP header in a SOAP message, and this may be described in a terminal device command sheet or a server side command sheet for management.

また、仲介サーバは、端末装置から受信する動作要求及び動作応答に記載される宛先が自分自身又は直接通信可能な装置のみである場合には、転送先テーブルを設けず、SOAPヘッダに記載された宛先を転送先として転送メッセージシートに登録すればよい。宛先に、さらに別の仲介サーバを介して転送すべき装置が含まれ得る場合には、転送先テーブルとして、宛先情報と、直接の転送先となる装置との対応関係を記憶しておき、このテーブルを参照して次段の転送先を判断することが考えられる。
なお、いずれにしろ、SOAPヘッダの内容を解釈するためには、一旦SOAPメッセージをデシリアライズする必要がある。
In addition, when the destination described in the operation request and operation response received from the terminal device is only itself or a device that can communicate directly, the mediation server does not provide a transfer destination table and is described in the SOAP header. The destination may be registered in the transfer message sheet as the transfer destination. When the destination can include a device to be transferred via another mediation server, the correspondence between the destination information and the device that is the direct transfer destination is stored as a transfer destination table. It is conceivable to determine the transfer destination of the next stage with reference to the table.
In any case, in order to interpret the contents of the SOAP header, it is necessary to deserialize the SOAP message once.

このような構成を取った場合でも、処理サーバから、複数の端末装置に宛てた動作要求を一括して仲介サーバに転送することによる通信の効率向上の効果は、上述した実施形態の場合と同様に得られる。この効果は、仲介サーバが上述した顧客環境側仲介サーバである場合に特に大きい。
また、仲介サーバが、端末装置宛ての複数の処理サーバからの動作要求を端末装置に一括して送信し、それらの動作要求に対する動作応答を一括して受信する場合にも、同様に通信効率向上の効果が得られる。この効果は、仲介サーバが機能提供側に設けられている場合に特に効果が大きい。
これらの効果は、端末装置側からの動作要求を取り扱わず、処理サーバ側からの動作要求と、それに対する動作応答のみを取り扱う場合でも得られるものである。
なお、以上説明した各変形を、矛盾しない範囲で組み合わせて適用できることはもちろんである。
Even in such a configuration, the effect of improving the communication efficiency by collectively transferring operation requests addressed to a plurality of terminal devices from the processing server to the mediation server is the same as in the case of the above-described embodiment. Is obtained. This effect is particularly large when the mediation server is the above-described customer environment side mediation server.
Similarly, when the mediation server sends operation requests from a plurality of processing servers destined for the terminal device to the terminal device in a batch and receives operation responses to those operation requests in a batch, the communication efficiency is similarly improved. The effect is obtained. This effect is particularly significant when the mediation server is provided on the function providing side.
These effects can be obtained even when only an operation request from the processing server side and an operation response to the operation server are handled without handling an operation request from the terminal device side.
Needless to say, the modifications described above can be applied in combination within a consistent range.

また、この発明によるプログラムは、コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。   The program according to the present invention is a program for causing a computer to function as an intermediary device that mediates communication between the first communication device and the plurality of second communication devices. By executing it, the effects as described above can be obtained.

このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
Such a program may be stored in a storage means such as a ROM or HDD provided in the computer from the beginning, but a non-volatile recording such as a CD-ROM or flexible disk, SRAM, EEPROM, memory card or the like as a recording medium. It can also be recorded on a medium (memory) and provided. Each procedure described above can be executed by installing a program recorded in the memory in a computer and causing the CPU to execute the program, or causing the CPU to read and execute the program from the memory.
Furthermore, it is also possible to download and execute an external device that is connected to a network and includes a recording medium that records the program, or an external device that stores the program in the storage unit.

以上説明してきたように、この発明の仲介装置、分散処理システム、データ転送方法、プログラムあるいは記録媒体を用いれば、ある通信装置が複数の通信装置に動作要求を送信してその動作要求に対する動作応答を受け取るような通信システムを構成する場合において、宛先情報の管理負担を低減すると共に、システム構成が変更された場合でも安定して動作させられる通信システムを構成可能にすることができる。
従って、この発明を、このような通信システム又はこのような通信システムにおいて通信を仲介する仲介装置に適用することにより、宛先情報の管理負担が小さく、また構成変更が容易な通信システムを構成することができる。
As described above, if the mediation device, distributed processing system, data transfer method, program, or recording medium of the present invention is used, a communication device transmits an operation request to a plurality of communication devices, and an operation response to the operation request. In the case of configuring a communication system that receives a message, it is possible to reduce the burden of managing destination information and to configure a communication system that can be stably operated even when the system configuration is changed.
Accordingly, by applying the present invention to such a communication system or an intermediary device that mediates communication in such a communication system, a communication system that reduces the burden of managing destination information and that can be easily changed is configured. Can do.

この発明の仲介装置である仲介サーバ及びその仲介サーバを用いて構成した通信システムである分散処理システムの一実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of one Embodiment of the mediation server which is a mediation apparatus of this invention, and the distributed processing system which is a communication system comprised using the mediation server. 図1に示した分散処理システムにおける動作要求と動作応答の関係を示す図である。It is a figure which shows the relationship between the operation request in the distributed processing system shown in FIG. 1, and an operation response. 図1に示した分散処理システムのさらに一例である遠隔管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the remote management system which is a further example of the distributed processing system shown in FIG. 図3に示した遠隔管理システムにおける動作要求と動作応答の関係を示す図である。FIG. 4 is a diagram illustrating a relationship between an operation request and an operation response in the remote management system illustrated in FIG. 3. 同じく画像処理装置と仲介サーバとの間の通信シーケンスの例を示す図である。It is a figure which similarly shows the example of the communication sequence between an image processing apparatus and a mediation server. 同じく仲介サーバと処理サーバとの間の通信シーケンスの例を示す図である。It is a figure which similarly shows the example of the communication sequence between a mediation server and a processing server. 図5に示した通信シーケンスの別の例を示す図である。It is a figure which shows another example of the communication sequence shown in FIG. 図3に示した仲介サーバのハードウェア構成の概略を示すブロック図である。It is a block diagram which shows the outline of the hardware constitutions of the mediation server shown in FIG. 同じく画像処理装置のハードウェア構成の概略を示すブロック図である。FIG. 2 is a block diagram schematically illustrating a hardware configuration of the image processing apparatus. 同じく処理サーバのハードウェア構成の概略を示すブロック図である。It is a block diagram which shows the outline of the hardware constitutions of a processing server similarly.

図3に示した仲介サーバの機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the function for performing the process regarding a command and a command response among the functions of the mediation server shown in FIG. 図3に示した仲介サーバの端末装置コマンドシートにおけるデータ構造の例を示す図である。It is a figure which shows the example of the data structure in the terminal device command sheet | seat of the mediation server shown in FIG. 同じく仲介サーバコマンドシートにおけるデータ構造の例を示す図である。It is a figure which similarly shows the example of the data structure in a mediation server command sheet. 同じく送信用転送メッセージプール中の転送メッセージシートにおけるデータ構造の例を示す図である。It is a figure which shows the example of the data structure in the transfer message sheet in the transfer message pool for transmission similarly. 同じく受信用転送メッセージプール中の転送メッセージシートにおけるデータ構造の例を示す図である。It is a figure which similarly shows the example of the data structure in the transfer message sheet in the transfer message pool for a reception. 図3に示した仲介サーバが画像処理装置から受信するHTTPリクエストの例を示す図である。FIG. 4 is a diagram illustrating an example of an HTTP request received by the mediation server illustrated in FIG. 3 from the image processing apparatus. 同じく仲介サーバが画像処理装置に送信するHTTPレスポンスの例を示す図である。It is a figure which similarly shows the example of the HTTP response which a mediation server transmits to an image processing apparatus. 同じく仲介サーバが処理サーバに送信するHTTPリクエストの例を示す図である。It is a figure which similarly shows the example of the HTTP request which a mediation server transmits to a processing server. 同じく仲介サーバが処理サーバから受信するHTTPレスポンスの例を示す図である。It is a figure which similarly shows the example of the HTTP response which a mediation server receives from a processing server. 図3に示した遠隔管理システムにおける、仲介サーバに対する端末装置コマンドを記載したパートの例を示す図である。It is a figure which shows the example of the part which described the terminal device command with respect to a mediation server in the remote management system shown in FIG.

同じく図20に示した端末装置コマンドに対する応答を記載したパートの例を示す図である。It is a figure which shows the example of the part which described the response with respect to the terminal device command similarly shown in FIG. 同じく処理サーバ(販売管理サーバ)に対する端末装置コマンドを、画像処理装置から仲介サーバに転送する際のパートの記載例を示す図である。It is a figure which shows the example of description of the part at the time of transferring similarly the terminal device command with respect to a processing server (sales management server) from an image processing apparatus to a mediation server. 同じく図22に示した端末装置コマンドを、仲介サーバから処理サーバに転送する際のパートの記載例を示す図である。FIG. 23 is a diagram illustrating a description example of a part when the terminal device command illustrated in FIG. 22 is transferred from the mediation server to the processing server. 同じく図22に示した端末装置コマンドに対する応答を、処理サーバから仲介サーバに転送する際のパートの記載例を示す図である。FIG. 23 is a diagram illustrating a description example of a part when the response to the terminal device command illustrated in FIG. 22 is transferred from the processing server to the mediation server. 同じく図24に示したコマンド応答を、仲介サーバから画像処理装置に転送する際のパートの記載例を示す図である。FIG. 25 is a diagram illustrating a description example of a part when the command response illustrated in FIG. 24 is transferred from the mediation server to the image processing apparatus. 同じく画像処理装置に対する仲介サーバコマンドを記載したパートの記載例を示す図である。It is a figure which shows the example of description of the part which described the mediation server command with respect to an image processing apparatus similarly. 同じく図26に示した仲介サーバコマンドに対する応答を記載したパートの記載例を示す図である。FIG. 27 is a diagram illustrating a description example of a part in which a response to the intermediary server command illustrated in FIG. 26 is described. 同じく画像処理装置に対する処理サーバコマンドを、処理サーバから仲介サーバに転送する際のパートの記載例を示す図である。It is a figure which shows the example of description of the part at the time of transferring the processing server command with respect to an image processing apparatus from a processing server to a mediation server. 同じく図28に示した処理サーバコマンドを、仲介サーバから画像処理装置に転送する際のパートの記載例を示す図である。FIG. 29 is a diagram showing a description example of a part when the processing server command shown in FIG. 28 is transferred from the mediation server to the image processing apparatus. 同じく図28に示した処理サーバコマンドに対する応答を、画像処理装置から仲介サーバに転送する際のパートの記載例を示す図である。FIG. 29 is a diagram illustrating a description example of a part when the response to the processing server command illustrated in FIG. 28 is transferred from the image processing apparatus to the mediation server.

同じく図30に示したコマンド応答を、仲介サーバから処理サーバ(販売管理サーバ)に転送する際のパートの記載例を示す図である。FIG. 31 is a diagram showing an example of part description when the command response shown in FIG. 30 is transferred from the mediation server to the processing server (sales management server). 図3に示した仲介サーバにおける、画像処理装置との間の通信に係るメッセージの収集及び分配処理の基本動作を示すフローチャートである。4 is a flowchart showing basic operations of message collection and distribution processing related to communication with an image processing apparatus in the mediation server shown in FIG. 3. 図32に示したメッセージ分配処理を示すフローチャートである。FIG. 33 is a flowchart showing message distribution processing shown in FIG. 32. FIG. 図3に示した仲介サーバが記憶する転送先テーブルの例を示す図である。It is a figure which shows the example of the transfer destination table which the mediation server shown in FIG. 3 memorize | stores. 図32のステップS14に示した転送メッセージ収集処理をより詳細に示すフローチャートである。It is a flowchart which shows the transfer message collection process shown to step S14 of FIG. 32 in detail. 図32のステップS15以降の処理をより詳細に示すフローチャートである。It is a flowchart which shows the process after step S15 of FIG. 32 in detail. 図3に示した仲介サーバにおける端末装置コマンドの実行に関する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process regarding execution of the terminal device command in the mediation server shown in FIG. その別の例を示すフローチャートである。It is a flowchart which shows the other example. 図3に示した仲介サーバにおける、処理サーバとの間でのメッセージの転送に係る処理を示すフローチャートである。FIG. 4 is a flowchart showing processing relating to message transfer with a processing server in the mediation server shown in FIG. 3. FIG. 図39に示したメッセージ転送処理の実行タイミング制御に係る処理のフローチャートを示す。40 shows a flowchart of processing relating to execution timing control of the message transfer processing shown in FIG. 39.

図3に示した仲介サーバにおける、端末装置コマンドの転送に係る別の処理例を示すフローチャートである。4 is a flowchart illustrating another example of processing related to transfer of a terminal device command in the mediation server illustrated in FIG. 3. 図3に示した画像処理装置の機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す機能ブロック図である。FIG. 4 is a functional block diagram illustrating a configuration of functions for performing processing relating to commands and command responses among the functions of the image processing apparatus illustrated in FIG. 3. 図3に示した画像処理装置の端末装置コマンドシートにおけるデータ構造の例を示す図である。It is a figure which shows the example of the data structure in the terminal device command sheet | seat of the image processing apparatus shown in FIG. 同じくサーバ側コマンドシートにおけるデータ構造の例を示す図である。It is a figure which similarly shows the example of the data structure in a server side command sheet. 図3に示した画像処理装置におけるメッセージの収集及び分配処理の基本動作を示すフローチャートである。4 is a flowchart showing basic operations of message collection and distribution processing in the image processing apparatus shown in FIG. 3. 図45のステップS114までの処理をより詳細に示すフローチャートである。It is a flowchart which shows the process to step S114 of FIG. 45 in detail. 図45のステップS115以降の処理をより詳細に示すフローチャートである。It is a flowchart which shows the process after step S115 of FIG. 45 in detail. 図3に示した処理サーバの機能のうち、コマンド及びコマンド応答に関する処理を行うための機能の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the function for performing the process regarding a command and a command response among the functions of the processing server shown in FIG. 図3に示した処理サーバが記憶する経路情報テーブルの例を示す図である。It is a figure which shows the example of the path | route information table which the process server shown in FIG. 3 memorize | stores. 図3に示した処理サーバにおけるメッセージの収集及び分配処理の基本動作を示すフローチャートである。4 is a flowchart showing basic operations of message collection and distribution processing in the processing server shown in FIG. 3.

図50のステップS215までの処理をより詳細に示すフローチャートである。It is a flowchart which shows the process to step S215 of FIG. 50 in detail. 図50のステップS216以降の処理をより詳細に示すフローチャートである。It is a flowchart which shows the process after step S216 of FIG. 50 in detail. 図50に示した経路情報テーブル更新処理の内容を示すフローチャートである。FIG. 51 is a flowchart showing the contents of a route information table update process shown in FIG. 図3に示した遠隔管理システムにおいて、画像処理装置が処理サーバで実行される端末装置コマンドを生成してからそのコマンドに対する応答を受け取るまでに各装置において行われる一連の処理を示すフローチャートである。4 is a flowchart showing a series of processing performed in each device from when the image processing device generates a terminal device command to be executed by the processing server until receiving a response to the command in the remote management system shown in FIG. 3. 同じく、管理サーバが画像処理装置宛ての管理装置コマンドを生成してからそのコマンドに対する応答を受け取るまでに各装置において行われる一連の処理を示すフローチャートである。Similarly, it is a flowchart showing a series of processes performed in each apparatus from when the management server generates a management apparatus command addressed to the image processing apparatus to when a response to the command is received. この発明の実施形態である分散処理システムの別の構成例を示す図である。It is a figure which shows another structural example of the distributed processing system which is embodiment of this invention. その更に別の構成例を示す図である。It is a figure which shows the further another structural example. 図57に示した処理サーバJにおける経路情報テーブルの記憶例を示す図である。FIG. 58 is a diagram showing a storage example of a route information table in the processing server J shown in FIG. 57. 図34に示した転送先テーブルの別の例を示す図である。FIG. 35 is a diagram showing another example of the transfer destination table shown in FIG. 34. 図59に示した転送先テーブルを使用する場合の分散処理システムの構成例を示す図である。FIG. 60 is a diagram illustrating a configuration example of a distributed processing system when the transfer destination table illustrated in FIG. 59 is used.

転送先テーブルのさらに別の例を示す図である。It is a figure which shows another example of a transfer destination table. 図61に示した転送先テーブルを使用する場合の分散処理システムの構成例を示す図である。FIG. 62 is a diagram showing a configuration example of a distributed processing system when the transfer destination table shown in FIG. 61 is used. 分散処理システムを図62に示したように構成する場合に転送先テーブルに代えて使用し得るデータの例を示す図である。FIG. 63 is a diagram showing an example of data that can be used in place of the transfer destination table when the distributed processing system is configured as shown in FIG. 62. 図63に示したデータを用いる場合に実行するメッセージ分配処理の例を示す、図33と対応するフローチャートである。FIG. 36 is a flowchart corresponding to FIG. 33 and showing an example of message distribution processing executed when the data shown in FIG. 63 is used. この発明の実施形態である分散処理システムのさらに別の構成例を示す図である。It is a figure which shows another example of a structure of the distributed processing system which is embodiment of this invention.

符号の説明Explanation of symbols

10:端末装置 11:ファイアウォール
12,102:仲介サーバ 13,103:処理サーバ
14:インターネット
41,141,242:端末装置コマンドプール
42:仲介サーバコマンドプール
43,244:端末装置コマンド実行結果生成手段
43a:端末装置コマンドハンドラ
44:仲介サーバコマンド生成手段
44a:仲介サーバコマンド生成ハンドラ
45,145,245:メッセージ収集手段
46,246:HTTPサーバ機能部
46a,246a:HTTPレスポンス送信手段
46b,246b:HTTPリクエスト受信手段
47,147,247:メッセージ分配手段
48:メッセージ転送手段
49,146:HTTPクライアント機能部
49a,146a:HTTPリクエスト送信手段
49b,146b:HTTPレスポンス受信手段
50:転送先情報記憶手段
51:送信用転送メッセージプール
52:受信用転送メッセージプール
100:画像処理装置 112:顧客環境側仲介サーバ
125:制御装置 142:サーバ側コマンドプール
143:端末装置コマンド生成手段
144:サーバ側コマンド実行結果生成手段
201,301:CPU
241:処理サーバコマンドプール
243:処理サーバコマンド生成手段
244:端末装置コマンド実行結果生成手段
250:経路情報記憶手段
10: Terminal device 11: Firewall 12, 102: Mediation server 13, 103: Processing server 14: Internet 41, 141, 242: Terminal device command pool 42: Mediation server command pool 43, 244: Terminal device command execution result generation means 43a : Terminal device command handler 44: Mediation server command generation means 44a: Mediation server command generation handler 45, 145, 245: Message collection means 46, 246: HTTP server function unit 46a, 246a: HTTP response transmission means 46b, 246b: HTTP request Reception means 47, 147, 247: Message distribution means 48: Message transfer means 49, 146: HTTP client function unit 49a, 146a: HTTP request transmission means 49b, 146b: HTTP Ponce reception means 50: Transfer destination information storage means 51: Transmission message pool for transmission 52: Transfer message pool for reception 100: Image processing device 112: Customer environment side mediation server 125: Control device 142: Server side command pool 143: Terminal device Command generation means 144: Server side command execution result generation means 201, 301: CPU
241: Processing server command pool 243: Processing server command generation means 244: Terminal device command execution result generation means 250: Path information storage means

Claims (28)

第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置であって、
前記第1の通信装置から動作要求を受信する第1の受信手段と、
該受信手段が受信した各動作要求を、該動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手段と、
該第2の受信手段が受信した各動作応答を前記第1の通信装置に送信する第2の送信手段とを設けたことを特徴とする仲介装置。
An intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
First receiving means for receiving an operation request from the first communication device;
First transmission means for transmitting each operation request received by the reception means to a second communication device as a transfer destination according to the type of the operation request;
Second receiving means for receiving an operation response to the operation request transferred from the first communication device from each of the second communication devices;
An intermediary device comprising: a second transmission unit configured to transmit each operation response received by the second reception unit to the first communication device.
請求項1記載の仲介装置であって、
前記第1の受信手段に、前記第1の通信装置から、複数の動作要求を一括して受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作応答を一括して前記第1の通信装置に送信する手段を設けたことを特徴とする仲介装置。
The intermediary device according to claim 1,
The first receiving means is provided with means for collectively receiving a plurality of operation requests from the first communication device,
An intermediary device, characterized in that said second transmission means is provided with means for collectively transmitting each operation response received by said second reception means to said first communication device.
第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置であって、
前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手段と、
該第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置に転送すべき動作要求と、前記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手段と、
該第2の受信手段が受信した各動作要求と各動作応答とを前記第1の通信装置に送信する第2の送信手段とを設けたことを特徴とする仲介装置。
An intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
A first receiving means for receiving an operation request from the first communication device and an operation response to the operation request transferred from the second communication device;
First transmission means for transmitting each operation request and operation response received by the first reception means to a second communication device as a transfer destination according to the type of each operation request and operation response;
Second receiving means for receiving, from each of the second communication devices, an operation request to be transferred to the first communication device and an operation response to the operation request transferred from the first communication device;
An intermediary device comprising: a second transmission unit configured to transmit each operation request and each operation response received by the second reception unit to the first communication device.
請求項3記載の仲介装置であって、
前記第1の受信手段に、前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作要求と各動作応答とを一括して前記第1の通信装置に送信する手段を設けたことを特徴とする仲介装置。
The intermediary device according to claim 3,
The first receiving means includes means for collectively receiving an operation request from the first communication device and an operation response to the operation request transferred from the second communication device,
An intermediary device, characterized in that said second transmission means is provided with means for collectively transmitting each operation request and each operation response received by said second reception means to said first communication device.
請求項1乃至4のいずれか一項記載の仲介装置であって、
前記第1の通信装置から受信する各動作要求又は動作応答について、所要の群毎に、その群に属する動作要求又は動作応答の転送先情報を記憶する記憶手段を備え、
その記憶手段に記憶している転送先情報を参照して、前記第1の送信手段によって送信すべき動作要求又は動作応答の転送先を決定する転送先決定手段を有することを特徴とする仲介装置。
The intermediary device according to any one of claims 1 to 4,
For each operation request or operation response received from the first communication device, for each required group, storage means for storing transfer destination information of the operation request or operation response belonging to the group,
An intermediary device comprising transfer destination determination means for determining a transfer destination of an operation request or an operation response to be transmitted by the first transmission means with reference to transfer destination information stored in the storage means .
請求項5記載の仲介装置であって、
前記転送先決定手段が、前記記憶手段に転送先情報が記憶されていない動作要求や動作応答の転送先を、所定の転送先に決定する手段を有することを特徴とする仲介装置。
The intermediary device according to claim 5, wherein
The intermediary apparatus, wherein the transfer destination determining means includes means for determining a transfer destination of an operation request or an operation response whose transfer destination information is not stored in the storage means as a predetermined transfer destination.
請求項5又は6記載の仲介装置であって、
前記群は、SOAPで使用される名前空間毎に設けられ、前記動作要求はSOAPリクエスト、前記動作応答はSOAPレスポンスであることを特徴とする仲介装置。
The intermediary device according to claim 5 or 6,
The intermediary device, wherein the group is provided for each name space used in SOAP, the operation request is a SOAP request, and the operation response is a SOAP response.
第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置であって、
前記第1の通信装置から、SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、
該第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置に転送すべきSOAPリクエストと、前記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手段と、
該第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して前記第1の通信装置に送信する第2の送信手段とを設けたことを特徴とする仲介装置。
An intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
A first receiving means for receiving a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device in a state described in the HTTP request;
First transmission means for transmitting each SOAP request and SOAP response received by the first reception means in a HTTP request to the second communication apparatus serving as a transfer destination according to the type of each SOAP request and SOAP response; ,
A SOAP request to be transferred to the first communication device and a SOAP response to the SOAP request transferred from the first communication device are received from each of the second communication devices in a state described in the HTTP response. A second receiving means;
Second transmission for transmitting each SOAP request and each SOAP response received by the second receiving means to the first communication device by describing them in an HTTP response to the HTTP request received by the first receiving means. And an intermediary device.
請求項8記載の仲介装置であって、
前記第1の受信手段に、前記第1の通信装置から、前記SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して前記第1の通信装置に送信する手段を設けたことを特徴とする仲介装置。
The intermediary device according to claim 8, wherein
The first receiving means receives the SOAP request and the SOAP response to the SOAP request transferred from the second communication device from the first communication device in a state described in one HTTP request. Providing means,
Each SOAP request and each SOAP response received by the second receiving means are stored in the second transmitting means in one HTTP response to the HTTP request received by the first receiving means. An intermediary device comprising means for transmitting to the communication device.
複数の処理サーバと、該各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムであって、
前記仲介サーバに、
前記端末装置から動作要求を受信する第1の受信手段と、
該受信手段が受信した各動作要求を、該動作要求の種別に従って転送先となる処理サーバに送信する第1の送信手段と、
前記各処理サーバから、前記端末装置からの動作要求に対する動作応答を受信する第2の受信手段と、
該第2の受信手段が受信した各動作応答を前記端末装置に送信する第2の送信手段とを設け、
前記各処理サーバに、
前記端末装置からの当該処理サーバに対する動作要求を前記仲介サーバから受信する受信手段と、
該手段が受信した動作要求に係る動作を実行し、実行結果としてその動作要求に対する動作応答を生成する手段と、
該手段が生成した動作応答を前記仲介サーバに送信する送信手段とを設けた
ことを特徴とする分散処理システム。
A distributed processing system comprising a plurality of processing servers and a mediation server that mediates communication between each processing server and a terminal device,
In the mediation server,
First receiving means for receiving an operation request from the terminal device;
First transmission means for transmitting each operation request received by the reception means to a processing server as a transfer destination according to the type of the operation request;
Second receiving means for receiving an operation response to the operation request from the terminal device from each processing server;
A second transmission unit configured to transmit each operation response received by the second reception unit to the terminal device;
For each processing server,
Receiving means for receiving, from the mediation server, an operation request for the processing server from the terminal device;
Means for executing an operation related to the operation request received by the means and generating an operation response to the operation request as an execution result;
A distributed processing system, comprising: a transmission unit configured to transmit an operation response generated by the unit to the mediation server.
請求項10記載の分散処理システムであって、
前記仲介サーバにおいて、
前記第1の受信手段に、前記端末装置から、複数の動作要求を一括して受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作応答を一括して前記端末装置に送信する手段を設けたことを特徴とする分散処理システム。
The distributed processing system according to claim 10,
In the mediation server,
The first receiving means is provided with means for collectively receiving a plurality of operation requests from the terminal device,
The distributed processing system, wherein the second transmitting means is provided with means for collectively transmitting the operation responses received by the second receiving means to the terminal device.
複数の処理サーバと、該各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムであって、
前記仲介サーバに、
前記端末装置から、動作要求と、前記処理サーバからの動作要求に対する動作応答とを受信する第1の受信手段と、
該第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる処理サーバに送信する第1の送信手段と、
前記各処理サーバから、前記端末装置に転送すべき動作要求と、前記端末装置からの動作要求に対する動作応答とを受信する第2の受信手段と、
該第2の受信手段が受信した各動作要求と各動作応答とを前記端末装置に送信する第2の送信手段とを設け、
前記各処理サーバに、
前記端末装置からの当該処理サーバに対する動作要求と前記端末装置宛ての動作要求に対する動作応答とを前記仲介サーバから受信する受信手段と、
該手段が受信した動作要求に係る動作を実行し、実行結果としてその動作要求に対する動作応答を生成する手段と、
該手段が生成した動作応答と前記端末装置宛ての動作要求とを前記仲介サーバに送信する送信手段とを設けた
ことを特徴とする分散処理システム。
A distributed processing system comprising a plurality of processing servers and a mediation server that mediates communication between each processing server and a terminal device,
In the mediation server,
First receiving means for receiving an operation request and an operation response to the operation request from the processing server from the terminal device;
First transmission means for transmitting each operation request and operation response received by the first reception means to a processing server as a transfer destination according to the type of each operation request and operation response;
Second receiving means for receiving, from each processing server, an operation request to be transferred to the terminal device and an operation response to the operation request from the terminal device;
A second transmission unit configured to transmit each operation request and each operation response received by the second reception unit to the terminal device;
For each processing server,
Receiving means for receiving, from the mediation server, an operation request for the processing server from the terminal device and an operation response to the operation request addressed to the terminal device;
Means for executing an operation related to the operation request received by the means and generating an operation response to the operation request as an execution result;
A distributed processing system comprising: a transmission unit configured to transmit an operation response generated by the unit and an operation request addressed to the terminal device to the mediation server.
請求項12記載の分散処理システムであって、
前記仲介サーバにおいて、
前記第1の受信手段に、前記端末装置から、動作要求と、前記処理サーバからの動作要求に対する動作応答とを一括して受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作要求と各動作応答とを一括して前記端末装置に送信する手段を設けたことを特徴とする分散処理システム。
The distributed processing system according to claim 12,
In the mediation server,
The first receiving means is provided with means for collectively receiving an operation request and an operation response to the operation request from the processing server from the terminal device,
The distributed processing system, wherein the second transmitting means is provided with means for collectively transmitting each operation request and each operation response received by the second receiving means to the terminal device.
複数の処理サーバと、該各処理サーバと端末装置との間の通信を仲介する仲介サーバとを備えた分散処理システムであって、
前記仲介サーバに、
前記端末装置から、SOAPリクエストと、前記処理サーバからのSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、
該第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる処理サーバにHTTPリクエストに記載して送信する第1の送信手段と、
前記各処理サーバから、前記端末装置に転送すべきSOAPリクエストと、前記端末装置からのSOAPリクエストに対するSOAPレスポンスとを、HTTPレスポンスに記載した状態で受信する第2の受信手段と、
該第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して前記端末装置に送信する第2の送信手段とを設け、
前記各処理サーバに、
前記端末装置からの当該処理サーバに対するSOAPリクエストと、前記端末装置宛てのSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で前記仲介サーバから受信する受信手段と、
該手段が受信したSOAPリクエストに係る動作を実行し、実行結果としてそのSOAPリクエストに対するSOAPレスポンスを生成する手段と、
該手段が生成したSOAPレスポンスと、前記端末装置宛てのSOAPリクエストとを、当該処理サーバの受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して前記仲介サーバに送信する送信手段とを設けた
ことを特徴とする分散処理システム。
A distributed processing system comprising a plurality of processing servers and a mediation server that mediates communication between each processing server and a terminal device,
In the mediation server,
A first receiving unit configured to receive a SOAP request and a SOAP response to the SOAP request from the processing server in a state described in the HTTP request from the terminal device;
First transmission means for transmitting each SOAP request and SOAP response received by the first reception means in a HTTP request to a processing server serving as a transfer destination according to the type of each SOAP request and SOAP response;
A second receiving means for receiving, from each processing server, a SOAP request to be transferred to the terminal device and a SOAP response to the SOAP request from the terminal device in a state described in an HTTP response;
A second transmitting means for transmitting each SOAP request and each SOAP response received by the second receiving means to the terminal device in a HTTP response to the HTTP request received by the first receiving means; Provided,
For each processing server,
Receiving means for receiving a SOAP request from the terminal device to the processing server and a SOAP response to the SOAP request addressed to the terminal device from the mediation server in a state described in an HTTP request;
Means for executing an operation related to the SOAP request received by the means and generating a SOAP response to the SOAP request as an execution result;
Provided is a transmission means for transmitting the SOAP response generated by the means and the SOAP request addressed to the terminal device to the intermediary server in the HTTP response to the HTTP request received by the reception means of the processing server. A distributed processing system characterized by
請求項14記載の分散処理システムであって、
前記仲介サーバにおいて、
前記第1の受信手段に、前記端末装置から、SOAPリクエストと、前記処理サーバからのSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手段を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して前記端末装置に送信する手段を設けたことを特徴とする分散処理システム。
The distributed processing system according to claim 14,
In the mediation server,
The first receiving means includes means for receiving a SOAP request from the terminal device and a SOAP response to the SOAP request from the processing server in a state described in one HTTP request,
The terminal device described in the second transmitting means by describing each SOAP request and each SOAP response received by the second receiving means in one HTTP response to the HTTP request received by the first receiving means. A distributed processing system, characterized in that means for transmitting is provided.
第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法であって、
前記仲介装置に、
前記第1の通信装置から動作要求を受信する第1の受信手順と、
該受信手順で受信した各動作要求を、該動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手順と、
前記各第2の通信装置から、前記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手順と、
該第2の受信手順で受信した各動作応答を前記第1の通信装置に送信する第2の送信手順とを実行させることを特徴とするデータ転送方法。
A data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device,
In the mediating device,
A first reception procedure for receiving an operation request from the first communication device;
A first transmission procedure for transmitting each operation request received in the reception procedure to a second communication device serving as a transfer destination according to the type of the operation request;
A second receiving procedure for receiving an operation response to the operation request transferred from the first communication device from each of the second communication devices;
And a second transmission procedure for transmitting each operation response received in the second reception procedure to the first communication device.
請求項16記載のデータ転送方法であって、
前記第1の受信手順に、前記第1の通信装置から、複数の動作要求を一括して受信する手順を設け、
前記第2の送信手順に、前記第2の受信手順で受信した各動作応答を一括して前記第1の通信装置に送信する手順を設けたことを特徴とするデータ転送方法。
The data transfer method according to claim 16, comprising:
In the first reception procedure, a procedure for collectively receiving a plurality of operation requests from the first communication device is provided.
A data transfer method characterized in that the second transmission procedure includes a procedure for collectively transmitting the operation responses received in the second reception procedure to the first communication device.
第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法であって、
前記仲介装置に、
前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手順と、
該第1の受信手順で受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手順と、
前記各第2の通信装置から、前記第1の通信装置に転送すべき動作要求と、前記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手順と、
該第2の受信手順で受信した各動作要求と各動作応答とを前記第1の通信装置に送信する第2の送信手順とを実行させることを特徴とするデータ転送方法。
A data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device,
In the mediating device,
A first reception procedure for receiving, from the first communication device, an operation request and an operation response to the operation request transferred from the second communication device;
A first transmission procedure for transmitting each operation request and operation response received in the first reception procedure to a second communication device as a transfer destination according to the type of each operation request and operation response;
A second reception procedure for receiving, from each of the second communication devices, an operation request to be transferred to the first communication device, and an operation response to the operation request transferred from the first communication device;
A data transfer method comprising: executing a second transmission procedure for transmitting each operation request and each operation response received in the second reception procedure to the first communication device.
請求項18記載のデータ転送方法であって、
前記第1の受信手順に、前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する手順を設け、
前記第2の送信手順に、前記第2の受信手順で受信した各動作要求と各動作応答とを一括して前記第1の通信装置に送信する手順を設けたことを特徴とするデータ転送方法。
The data transfer method according to claim 18, comprising:
In the first reception procedure, a procedure for collectively receiving an operation request from the first communication device and an operation response to the operation request transferred from the second communication device is provided.
A data transfer method characterized in that the second transmission procedure includes a procedure for collectively transmitting each operation request and each operation response received in the second reception procedure to the first communication device. .
第1の通信装置と複数の第2の通信装置との間で仲介装置を介して動作要求及び動作応答を送受信させるデータ転送方法であって、
前記仲介装置に、
前記第1の通信装置から、SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手順と、
該第1の受信手順で受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手順と、
前記各第2の通信装置から、前記第1の通信装置に転送すべきSOAPリクエストと、前記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手順と、
該第2の受信手順で受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手順で受信したHTTPリクエストに対するHTTPレスポンスに記載して前記第1の通信装置に送信する第2の送信手順とを実行させることを特徴とするデータ転送方法。
A data transfer method for transmitting and receiving an operation request and an operation response between a first communication device and a plurality of second communication devices via an intermediary device,
In the mediating device,
A first reception procedure for receiving a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device in a state described in the HTTP request;
A first transmission procedure in which each SOAP request and SOAP response received in the first reception procedure is described in an HTTP request and transmitted to a second communication apparatus serving as a transfer destination according to the type of each SOAP request and SOAP response; ,
A SOAP request to be transferred to the first communication device and a SOAP response to the SOAP request transferred from the first communication device are received from each of the second communication devices in a state described in the HTTP response. A second receiving procedure;
A second transmission in which each SOAP request and each SOAP response received in the second reception procedure are described in an HTTP response to the HTTP request received in the first reception procedure and transmitted to the first communication device. A data transfer method characterized by causing a procedure to be executed.
請求項20記載のデータ転送方法であって、
前記第1の受信手順に、前記第1の通信装置から、SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する手順を設け、
前記第2の送信手順に、前記第2の受信手順で受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手順が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して前記第1の通信装置に送信する手順を設けたことを特徴とするデータ転送方法。
The data transfer method according to claim 20, wherein
A procedure for receiving, in the first reception procedure, a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device in a state described in one HTTP request. Provided,
In the second transmission procedure, each SOAP request and each SOAP response received in the second reception procedure are described in one HTTP response to the HTTP request received by the first reception procedure. A data transfer method characterized in that a procedure for transmission to a communication device is provided.
コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムであって、
前記コンピュータを、
前記第1の通信装置から動作要求を受信する第1の受信手段と、
該受信手段が受信した各動作要求を、該動作要求の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置から転送されてきた動作要求に対する動作応答を受信する第2の受信手段と、
該第2の受信手段が受信した各動作応答を前記第1の通信装置に送信する第2の送信手段として機能させるためのプログラム。
A program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
The computer,
First receiving means for receiving an operation request from the first communication device;
First transmission means for transmitting each operation request received by the reception means to a second communication device as a transfer destination according to the type of the operation request;
Second receiving means for receiving an operation response to the operation request transferred from the first communication device from each of the second communication devices;
A program for causing each operation response received by the second receiving means to function as a second transmitting means for transmitting to the first communication device.
請求項22記載のプログラムであって、
前記第1の受信手段に、前記第1の通信装置から、複数の動作要求を一括して受信する機能を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作応答を一括して前記第1の通信装置に送信する機能を設けたことを特徴とするプログラム。
The program according to claim 22, wherein
The first receiving means is provided with a function of collectively receiving a plurality of operation requests from the first communication device,
A program characterized in that the second transmitting means is provided with a function of collectively transmitting each operation response received by the second receiving means to the first communication device.
コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムであって、
前記コンピュータを、
前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを受信する第1の受信手段と、
該第1の受信手段が受信した各動作要求及び動作応答を、各動作要求及び動作応答の種別に従って転送先となる第2の通信装置に送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置に転送すべき動作要求と、前記第1の通信装置から転送されてきた動作要求に対する動作応答とを受信する第2の受信手段と、
該第2の受信手段が受信した各動作要求と各動作応答とを前記第1の通信装置に送信する第2の送信手段として機能させるためのプログラム。
A program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
The computer,
A first receiving means for receiving an operation request from the first communication device and an operation response to the operation request transferred from the second communication device;
First transmission means for transmitting each operation request and operation response received by the first reception means to a second communication device as a transfer destination according to the type of each operation request and operation response;
Second receiving means for receiving, from each of the second communication devices, an operation request to be transferred to the first communication device and an operation response to the operation request transferred from the first communication device;
A program for causing each operation request and each operation response received by the second receiving means to function as second transmitting means for transmitting to the first communication device.
請求項24記載のプログラムであって、
前記第1の受信手段に、前記第1の通信装置から、動作要求と、前記第2の通信装置から転送されてきた動作要求に対する動作応答とを一括して受信する機能を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各動作要求と各動作応答とを一括して前記第1の通信装置に送信する機能を設けたことを特徴とするプログラム。
A program according to claim 24, wherein
The first receiving unit is provided with a function of collectively receiving an operation request from the first communication device and an operation response to the operation request transferred from the second communication device,
A program characterized in that the second transmission means is provided with a function of collectively transmitting each operation request and each operation response received by the second reception means to the first communication device.
コンピュータを、第1の通信装置と複数の第2の通信装置との間の通信を仲介する仲介装置として機能させるためのプログラムであって、
前記コンピュータを、
前記第1の通信装置から、SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPリクエストに記載した状態で受信する第1の受信手段と、
該第1の受信手段が受信した各SOAPリクエスト及びSOAPレスポンスを、各SOAPリクエスト及びSOAPレスポンスの種別に従って転送先となる第2の通信装置にHTTPリクエストに記載して送信する第1の送信手段と、
前記各第2の通信装置から、前記第1の通信装置に転送すべきSOAPリクエストと、前記第1の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとをHTTPレスポンスに記載した状態で受信する第2の受信手段と、
該第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対するHTTPレスポンスに記載して前記第1の通信装置に送信する第2の送信手段として機能させるためのプログラム。
A program for causing a computer to function as an intermediary device that mediates communication between a first communication device and a plurality of second communication devices,
The computer,
A first receiving means for receiving a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device in a state described in the HTTP request;
First transmission means for transmitting each SOAP request and SOAP response received by the first reception means in a HTTP request to the second communication apparatus serving as a transfer destination according to the type of each SOAP request and SOAP response; ,
A SOAP request to be transferred to the first communication device and a SOAP response to the SOAP request transferred from the first communication device are received from each of the second communication devices in a state described in the HTTP response. A second receiving means;
Second transmission for transmitting each SOAP request and each SOAP response received by the second receiving means to the first communication device by describing them in an HTTP response to the HTTP request received by the first receiving means. Program to function as a means.
請求項26記載のプログラムであって、
前記第1の受信手段に、前記第1の通信装置から、SOAPリクエストと、前記第2の通信装置から転送されてきたSOAPリクエストに対するSOAPレスポンスとを1つのHTTPリクエストに記載した状態で受信する機能を設け、
前記第2の送信手段に、前記第2の受信手段が受信した各SOAPリクエストと各SOAPレスポンスとを、前記第1の受信手段が受信したHTTPリクエストに対する1つのHTTPレスポンスに記載して前記第1の通信装置に送信する機能を設けたことを特徴とするプログラム。
The program according to claim 26, wherein
A function of receiving, in the first receiving unit, a SOAP request from the first communication device and a SOAP response to the SOAP request transferred from the second communication device in a state described in one HTTP request. Provided,
Each SOAP request and each SOAP response received by the second receiving means are stored in the second transmitting means in one HTTP response to the HTTP request received by the first receiving means. A program provided with a function of transmitting to a communication device.
請求項22乃至27のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
A computer-readable recording medium on which the program according to any one of claims 22 to 27 is recorded.
JP2004272614A 2004-02-09 2004-09-17 Mediating device, distributed processing system, data transfer method, program, and recording medium Pending JP2005259106A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004272614A JP2005259106A (en) 2004-02-09 2004-09-17 Mediating device, distributed processing system, data transfer method, program, and recording medium
US11/198,911 US7693994B2 (en) 2004-09-17 2005-08-08 Intermediary apparatus, distributed processing system, data-transfer method, program and recording medium
EP05017289A EP1638290B1 (en) 2004-09-17 2005-08-09 System, method and intermediary server for transmitting operational requests and responses between apparatuses
DE602005002707T DE602005002707T2 (en) 2004-09-17 2005-08-09 System, Method and Intermediate Server for transmission of operation requests and responses between devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004032586 2004-02-09
JP2004272614A JP2005259106A (en) 2004-02-09 2004-09-17 Mediating device, distributed processing system, data transfer method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2005259106A true JP2005259106A (en) 2005-09-22

Family

ID=35084717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004272614A Pending JP2005259106A (en) 2004-02-09 2004-09-17 Mediating device, distributed processing system, data transfer method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2005259106A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258931A (en) * 2008-04-16 2009-11-05 Nec Biglobe Ltd Information providing system
JP2011243136A (en) * 2010-05-21 2011-12-01 Yamaha Corp Sound processing device and sound processing system
JP2012079213A (en) * 2010-10-05 2012-04-19 Seiko Epson Corp Network system, status management method of network system and program
JP2018124830A (en) * 2017-02-01 2018-08-09 日本電信電話株式会社 Message transfer and aggregation device, and message transfer and aggregation method
JP2019071558A (en) * 2017-10-10 2019-05-09 株式会社リコー Information processing device, apparatus management system, apparatus management method, and program
JP2019092206A (en) * 2019-02-15 2019-06-13 京セラ株式会社 Information appliance and communication method
JP2020166601A (en) * 2019-03-29 2020-10-08 株式会社ジェーシービー Mediation server, program, and information processing method
CN111782422A (en) * 2020-06-30 2020-10-16 百度在线网络技术(北京)有限公司 Distributed message processing method and device, electronic equipment and storage medium

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258931A (en) * 2008-04-16 2009-11-05 Nec Biglobe Ltd Information providing system
JP2011243136A (en) * 2010-05-21 2011-12-01 Yamaha Corp Sound processing device and sound processing system
JP2012079213A (en) * 2010-10-05 2012-04-19 Seiko Epson Corp Network system, status management method of network system and program
US8836975B2 (en) 2010-10-05 2014-09-16 Seiko Epson Corporation Printer with a web browser for obtaining HTML data from a server
US9182931B2 (en) 2010-10-05 2015-11-10 Seiko Epson Corporation Printer with a web browser for obtaining HTML data from a server
US9588722B2 (en) 2010-10-05 2017-03-07 Seiko Epson Corporation Printer with a web browser for sending status information to a server
JP2018124830A (en) * 2017-02-01 2018-08-09 日本電信電話株式会社 Message transfer and aggregation device, and message transfer and aggregation method
JP2019071558A (en) * 2017-10-10 2019-05-09 株式会社リコー Information processing device, apparatus management system, apparatus management method, and program
JP2019092206A (en) * 2019-02-15 2019-06-13 京セラ株式会社 Information appliance and communication method
JP2020166601A (en) * 2019-03-29 2020-10-08 株式会社ジェーシービー Mediation server, program, and information processing method
CN111782422A (en) * 2020-06-30 2020-10-16 百度在线网络技术(北京)有限公司 Distributed message processing method and device, electronic equipment and storage medium
CN111782422B (en) * 2020-06-30 2023-08-15 百度在线网络技术(北京)有限公司 Distributed message processing method, device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
EP1638290B1 (en) System, method and intermediary server for transmitting operational requests and responses between apparatuses
EP1638289B1 (en) Transfer device, system and method for mediating communications between first and second communication devices
US20070174521A1 (en) Information processing apparatus, information processing apparatus control method, informantion processing program, and network system
US7620700B2 (en) Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses
JP4704105B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
JP2007122376A (en) Network print system, network peripheral device, information processor, and program
CN102387034A (en) Network device management system, network device management apparatus, client apparatus, and network device management method
US7822864B2 (en) Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product
JP5558681B2 (en) Device search apparatus, device search apparatus control method, and computer program
JP2005259106A (en) Mediating device, distributed processing system, data transfer method, program, and recording medium
JP2004139586A (en) Mediation device, communication system, method for controlling mediation device, program and recording medium
US20060077421A1 (en) System and method for driverless printers
JP4382006B2 (en) Mediation apparatus, communication system, communication method, program, and recording medium
JP4030943B2 (en) Image processing apparatus, image processing system, control method for image processing apparatus, program, and recording medium
JP5473248B2 (en) Information processing apparatus, information processing apparatus control method, and computer program
JP2005322222A (en) Communication function adding method, program, storage medium and communication apparatus
JP4916957B2 (en) Server apparatus, information acquisition method, information acquisition program, recording medium, client apparatus, and communication system
JP2005259105A (en) Mediating device, communication system, control method of mediating device, program, and recording medium
US20090216865A1 (en) Device management system, servers,method for managing device, and computer readable medium
JP4160480B2 (en) Mediation device, communication system, mediation device control method, program, and recording medium
JP2009159391A (en) Communication apparatus, control method, program and recording medium
JP2007128215A (en) Information collection on network device
JP2008301159A (en) Inter-network mediating device
JP4198562B2 (en) Communication client, communication server, communication system, and communication method
JP7456160B2 (en) Intermediary programs, management programs and device management systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407