JP2010026562A - Relay server, relay method and relay program - Google Patents

Relay server, relay method and relay program Download PDF

Info

Publication number
JP2010026562A
JP2010026562A JP2008183551A JP2008183551A JP2010026562A JP 2010026562 A JP2010026562 A JP 2010026562A JP 2008183551 A JP2008183551 A JP 2008183551A JP 2008183551 A JP2008183551 A JP 2008183551A JP 2010026562 A JP2010026562 A JP 2010026562A
Authority
JP
Japan
Prior art keywords
message
web
function
server
information processing
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.)
Granted
Application number
JP2008183551A
Other languages
Japanese (ja)
Other versions
JP5120121B2 (en
Inventor
Hiromasa Kawabata
博征 川畑
Hironobu Nakada
洋信 中田
Toshihiko Otake
俊彦 大竹
Kazumi Sawayanagi
一美 澤柳
Yoshiteru Tokimoto
佳輝 時本
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2008183551A priority Critical patent/JP5120121B2/en
Publication of JP2010026562A publication Critical patent/JP2010026562A/en
Application granted granted Critical
Publication of JP5120121B2 publication Critical patent/JP5120121B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily cope with a change of a Web service. <P>SOLUTION: This relay server has: an HDD for storing an association table wherein a corresponding operation of a plurality of operations predefined so as to make a function be executed between an MFP and the relay server is associated to a plurality of operations to use Web services provided by a plurality of Web servers; a message reception part 51 for receiving a message including the plurality of operations predefined between the MFP and the relay server; a conversion part 53 for converting the message by use of the association table; a function execution instruction part 55 for transmitting the converted message to a Web server capable of executing the function specified by the message, and making the function be executed according to the converted message; an execution result reception part 57 for receiving an execution result of the function from the Web server; and an execution result transmission part 59 for transmitting the received execution result to the MFP. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、中継サーバ、中継方法および中継プログラムに関し、特にWebサービスを提供するWebサーバと情報処理装置とを中継する中継サーバ、その中継サーバで実行される中継方法および中継プログラムに関する。   The present invention relates to a relay server, a relay method, and a relay program, and more particularly, to a relay server that relays a Web server that provides a Web service and an information processing apparatus, and a relay method and a relay program that are executed by the relay server.

近年、Webサービスを提供するWebサーバが登場している。特開2005−321995号公報には、ネットワークを介してWebサーバより提供されるWebサービスに関する情報を格納し、要求に応じて該Webサービスに関する情報の検索を行う情報処理装置が記載されている。   In recent years, Web servers that provide Web services have appeared. Japanese Patent Laid-Open No. 2005-321995 describes an information processing apparatus that stores information related to a Web service provided from a Web server via a network and searches for information related to the Web service in response to a request.

しかしながら、Webサーバが提供するWebサービスを利用するためには、WebサーバがWSDL(Web Services Description Language)で公開するプロファイルを取得し、そのプロファイルに定義された操作を記述したメッセージをWebサーバに与えなければならない。このため、複数のWebサーバが存在し、複数種類のWebサービスが提供されている場合、複数のWebサーバそれぞれに対応したメッセージを生成しなければならない。したがって、Webサービスが変更、追加等されて変動する場合に、その変動に応じたメッセージを生成しなければならないといった問題があった。また、同種のWebサービスを提供する複数のWebサーバが存在する場合には、いずれのWebサービスの提供を受けるかをユーザが判断しなければならないといった問題がある。さらに、複数のWebサービスの利用を望む場合には、複数のWebサービスを提供する複数のWebサーバに順にメッセージを送信しなければならないといった問題があった。
特開2005−321995号公報
However, in order to use the Web service provided by the Web server, the Web server obtains a profile published by WSDL (Web Services Description Language) and gives the Web server a message describing the operation defined in the profile. There must be. For this reason, when a plurality of Web servers exist and a plurality of types of Web services are provided, a message corresponding to each of the plurality of Web servers must be generated. Therefore, when the Web service changes due to change, addition, etc., there is a problem that a message corresponding to the change must be generated. In addition, when there are a plurality of Web servers that provide the same type of Web service, there is a problem that the user must determine which Web service is to be provided. Furthermore, when it is desired to use a plurality of Web services, there is a problem in that messages must be sequentially transmitted to a plurality of Web servers that provide a plurality of Web services.
JP 2005-321995 A

この発明は上述した問題点を解決するためになされたもので、この発明の目的の1つは、Webサービスの変動に容易に対応することが可能な中継装置を提供することである。   The present invention has been made to solve the above-described problems, and one of the objects of the present invention is to provide a relay device that can easily cope with fluctuations in Web services.

この発明の他の目的は、Webサービスの変動に容易に対応することが可能な中継方法を提供することである。   Another object of the present invention is to provide a relay method that can easily cope with changes in Web services.

この発明のさらに他の目的は、Webサービスの変動に容易に対応することが可能な中継プログラムを提供することである。   Still another object of the present invention is to provide a relay program that can easily cope with fluctuations in Web services.

上述した目的を達成するためにこの発明のある局面によれば、中継サーバは、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバであって、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶する関連付テーブル記憶手段と、情報処理装置から情報処理装置と中継サーバとの間で予め定義された複数の操作を含むメッセージを受信するメッセージ受信手段と、メッセージを関連付テーブルを用いて変換する変換手段と、変換されたメッセージを複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信し、変換されたメッセージに従って機能を実行させる機能実行指示手段と、Webサーバから機能の実行結果を受信する実行結果受信手段と、受信された実行結果を情報処理装置に送信する実行結果送信手段と、を備える。   In order to achieve the above-described object, according to one aspect of the present invention, the relay server is a relay server that can communicate with a plurality of Web servers and information processing devices, each providing a Web service, and the plurality of Web servers A relationship in which a corresponding operation among a plurality of operations defined in advance to execute a function between the information processing apparatus and the relay server is associated with each of a plurality of operations for using the Web services provided by each An association table storage means for storing an attachment table, a message reception means for receiving a message including a plurality of operations defined in advance between the information processing apparatus and the relay server from the information processing apparatus, and an association table for the message. A conversion unit that converts the message using the conversion unit, and a function that identifies the converted message by a message among a plurality of Web servers. Is executed to the Web server that can execute the function, and the function execution instructing unit that executes the function according to the converted message, the execution result receiving unit that receives the execution result of the function from the Web server, and the information processing apparatus that receives the received execution result. Execution result transmitting means for transmitting to

この局面に従えば、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルが記憶されており。情報処理装置から受信されるメッセージを関連付テーブルを用いて変換し、変換されたメッセージが複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信され、Webサーバから受信される機能の実行結果が情報処理装置に送信される。このため、情報処理装置においては、複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作に関係なく、中継サーバとの間で機能を実行させるために予め定義された複数の操作を含むメッセージを生成できればよい。このため、Webサービスの変動に対して、情報処理装置で生成されるメッセージを変更する必要がない。その結果、Webサービスの変動に容易に対応することが可能な中継装置を提供することができる。   According to this aspect, a plurality of pre-defined functions for executing a function between the information processing apparatus and the relay server for each of a plurality of operations for using a Web service provided by each of the plurality of Web servers. An association table that associates corresponding operations among the operations is stored. The message received from the information processing apparatus is converted using an association table, and the converted message is transmitted to and received from the Web server that can execute the function specified by the message among the plurality of Web servers. The execution result of the function is transmitted to the information processing apparatus. For this reason, in the information processing apparatus, a plurality of operations defined in advance for causing a function to be executed with the relay server regardless of a plurality of operations for using Web services provided by each of the plurality of Web servers. It suffices if a message including can be generated. For this reason, it is not necessary to change the message generated by the information processing apparatus with respect to changes in the Web service. As a result, it is possible to provide a relay device that can easily cope with changes in Web services.

好ましくは、複数のWebサーバのうちで同種の機能を実行する複数のWebサーバが存在する場合、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報を情報処理装置に送信するリスト情報送信手段と、情報処理装置から同種の機能を実行する複数のWebサーバのうちから選択された1つのWebサーバを特定する情報を受信する特定情報受信手段と、をさらに備え、機能実行指示手段は、特定されたWebサーバに変換されたメッセージを送信する。   Preferably, when there are a plurality of Web servers that execute the same type of function among the plurality of Web servers, list information obtained by rearranging the plurality of Web servers that execute the same type of function according to a predetermined condition is stored in the information processing apparatus. A list information transmitting means for transmitting, and a specific information receiving means for receiving information for specifying one Web server selected from a plurality of Web servers that execute the same type of function from the information processing apparatus, The execution instruction unit transmits the converted message to the specified Web server.

この局面に従えば、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報が情報処理装置に送信されるので、情報処理装置のユーザは、リスト情報を見て機能を実行させるWebサーバを決定することができる。このため、機能を実行させるWebサーバを容易に決定することが可能となる。   According to this aspect, list information obtained by rearranging a plurality of Web servers that execute the same type of function according to a predetermined condition is transmitted to the information processing apparatus. A Web server to be executed can be determined. For this reason, it becomes possible to easily determine the Web server that executes the function.

好ましくは、複数のWebサーバのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する選択手段をさらに備え、機能実行指示手段は、特定されたWebサーバに変換されたメッセージを送信する。   Preferably, when there are a plurality of Web servers that provide the same type of Web service among the plurality of Web servers, a selection unit that further selects one of the plurality of Web servers that provide the same type of Web service is further provided. The function execution instruction means transmits the converted message to the specified Web server.

この局面に従えば、同種のWebサービスを提供する複数のWebサーバのうちから1つが選択される。このため、情報処理装置のユーザは、複数のWebサーバがそれぞれ提供する複数のWebサービスを知る必要がなく、Webサービスの提供を受けることができる。   According to this aspect, one is selected from a plurality of Web servers that provide the same type of Web service. Therefore, the user of the information processing apparatus does not need to know a plurality of Web services provided by a plurality of Web servers, and can receive the Web services.

好ましくは、メッセージ受信手段は、複数のWebサーバのうちで異なる機能を実行する第1および第2のWebサーバが存在する場合、情報処理装置から異なる機能それぞれを実行させるためのメッセージを受信し、変換手段は、メッセージを関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換し、機能実行指示手段は、第1のメッセージを第1のWebサーバに送信し、実行結果受信手段が第1のWebサーバから実行結果を受信した後に、第2のメッセージを第2のWebサーバに送信する。   Preferably, when there are first and second Web servers that execute different functions among the plurality of Web servers, the message receiving unit receives a message for executing each of the different functions from the information processing apparatus, The converting means converts the message into a first message for transmitting to the first Web server using the association table and a second message for transmitting to the second Web server. The execution instruction unit transmits the first message to the first Web server, and the execution result receiving unit transmits the second message to the second Web server after receiving the execution result from the first Web server. .

この局面に従えば、異なる機能それぞれを実行させるためのメッセージが情報処理装置から受信されると、受信されたメッセージが、関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換され、第1のメッセージが第1のWebサーバに送信され、第1のWebサーバから実行結果が受信された後に、第2のメッセージが第2のWebサーバに送信される。このため、情報処理装置において、1つのメッセージを送信するだけで、複数のWebサービスを利用することができる。   According to this aspect, when a message for executing each of different functions is received from the information processing apparatus, the received message is sent to the first Web server using the association table. 1 message and a second message to be transmitted to the second Web server, the first message is transmitted to the first Web server, and the execution result is received from the first Web server Later, a second message is sent to the second Web server. For this reason, in the information processing apparatus, a plurality of Web services can be used only by transmitting one message.

好ましくは、複数のWebサーバのうち少なくとも1つは認証情報に基づいて認証する認証手段を含み、該少なくとも1つのWebサーバは、該認証手段により認証されることを条件に機能を実行し、中継サーバは、情報処理装置に代わって少なくとも1つのWebサーバに対して認証情報を送信する代行認証手段をさらに備える。   Preferably, at least one of the plurality of Web servers includes an authentication unit that performs authentication based on authentication information, and the at least one Web server executes a function on condition that the authentication unit authenticates, and relays The server further includes proxy authentication means for transmitting authentication information to at least one Web server in place of the information processing apparatus.

この局面に従えば、情報処理装置に代わってWebサーバに対して認証情報が送信されるので、情報処理装置のユーザは、認証情報を入力する必要がなく、Webサーバを意識する必要がない。   According to this aspect, authentication information is transmitted to the Web server instead of the information processing apparatus, so that the user of the information processing apparatus does not need to input the authentication information and does not need to be aware of the Web server.

好ましくは、新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルを取得するプロファイル取得手段と、取得されたプロファイルに基づいて、関連付テーブルを更新する更新手段と、をさらに備える。   Preferably, a profile acquisition unit that acquires a profile that defines a plurality of operations for using a function for providing a Web service of a new Web server, and an association table is updated based on the acquired profile Updating means.

この局面に従えば、関連付テーブルが更新されるので、Webサービスの変動に対応することができる。   According to this aspect, since the association table is updated, it is possible to cope with fluctuations in the Web service.

この発明の他の局面に従えば、中継方法は、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継方法であって、複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶するステップと、情報処理装置から情報処理装置と中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、メッセージを関連付テーブルを用いて変換するステップと、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージに従って機能を実行させるために、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージを送信するステップと、Webサーバから機能の実行結果を受信するステップと、受信された実行結果を情報処理装置に送信するステップと、を含む。   According to another aspect of the present invention, the relay method is a relay method executed by a plurality of Web servers each providing a Web service and a relay server communicable with an information processing device, each of the plurality of Web servers. Among a plurality of operations defined to use a predetermined function between the information processing apparatus and the relay server for each of a plurality of operations for using a function for providing a Web service included in Storing an association table in which corresponding operations are associated, receiving a message for executing a predetermined function between the information processing apparatus and the relay server from the information processing apparatus, and associating the message The step of converting using a table and the function specified by the received message among a plurality of Web servers can be executed. transmitting the converted message to a Web server capable of executing the function specified by the received message among the plurality of Web servers, in order to execute the function according to the message converted to the eb server; Receiving a function execution result; and transmitting the received execution result to the information processing apparatus.

この局面に従えば、Webサービスの変動に容易に対応することが可能な中継方法を提供することができる。   If this aspect is followed, the relay method which can respond easily to the fluctuation | variation of Web service can be provided.

この発明のさらに他の局面によれば、中継プログラムは、それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継プログラムであって、複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、情報処理装置と中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶するステップと、情報処理装置から情報処理装置と中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、メッセージを関連付テーブルを用いて変換するステップと、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージに従って機能を実行させるために、複数のWebサーバのうち受信されたメッセージで特定される機能を実行可能なWebサーバに変換されたメッセージを送信するステップと、Webサーバから機能の実行結果を受信するステップと、受信された実行結果を情報処理装置に送信するステップと、を中継サーバに実行させる。   According to still another aspect of the present invention, the relay program is a relay program that is executed by a plurality of Web servers each providing a Web service and a relay server that can communicate with the information processing apparatus, and the plurality of Web servers For each of a plurality of operations for using a function for providing a Web service that each has, a plurality of operations defined to use a predetermined function between the information processing apparatus and the relay server. A step of storing an association table in which corresponding operations are associated, a step of receiving a message for executing a predetermined function between the information processing device and the relay server from the information processing device, and a message The conversion is performed using the attached table and the message received from the plurality of Web servers. Transmitting the converted message to a Web server capable of executing the function specified by the received message among the plurality of Web servers in order to execute the function according to the message converted to the Web server capable of executing the function. And a step of receiving the execution result of the function from the Web server, and a step of transmitting the received execution result to the information processing apparatus.

この局面に従えば、Webサービスの変動に容易に対応することが可能な中継プログラムを提供することができる。   If this aspect is followed, the relay program which can respond easily to the fluctuation | variation of Web service can be provided.

以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

図1は、本発明の実施の形態における情報処理システムの全体概要を示す図である。図1を参照して、情報処理システム1は、ネットワーク2にそれぞれ接続された複合機(以下、「MFP」という)100,100A,100B,100Cと、中継サーバ200と、を含む。MFP100,100A,100Bおよび100Cは、情報処理装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。   FIG. 1 is a diagram showing an overall outline of an information processing system according to an embodiment of the present invention. Referring to FIG. 1, information processing system 1 includes multifunction peripherals (hereinafter referred to as “MFPs”) 100, 100 </ b> A, 100 </ b> B, 100 </ b> C connected to network 2, and relay server 200. MFPs 100, 100A, 100B, and 100C are examples of information processing apparatuses, and include a plurality of functions such as a scanner function, a printer function, a copy function, and a facsimile function.

ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。また、ネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)等であってもよい。ネットワーク2は、ゲートウェイを介してインターネット3に接続されており、MFP100,100A,100B,100Cそれぞれは、インターネット3に接続されたWebサーバ7,7Aと通信可能である。   The network 2 is a local area network (LAN), and the connection form may be wired or wireless. The network 2 is not limited to a LAN, and may be a wide area network (WAN), a public switched telephone network (PSTN), or the like. The network 2 is connected to the Internet 3 via a gateway, and the MFPs 100, 100 A, 100 B, and 100 C can communicate with Web servers 7 and 7 A connected to the Internet 3.

Webサーバ7,7Aは、Webサービスを提供する。Webサービスは、Webサーバ7.7Aが、それぞれが有する機能を実行することにより提供される。具体的には、Webサービスを利用するために、サービスリクエスタは、機能を実行させるための操作を含む要求をWebサーバ7,7AのうちWebサービスの提供を受けようとするものに送信する。Webサーバ7,7Aは、サービスリクエスタからの要求に応じて、サービスリクエスタから受信される操作に従って機能を実行し、実行結果を返信する。サービスリクエスタは、MFP100,100A,100B,100Cおよび中継サーバ200のいずれかである。Webサーバ7,7AがWebサービスを提供するために実行する機能は、例えば、翻訳処理、文字認識処理、技術計算処理、画像処理等のデータに対する処理を実行する機能と、データベース等を検索する機能と、を含む。操作は、Webサーバ7,7Aが、機能を実行するために必要な設定条件を含む。   Web servers 7 and 7A provide Web services. The web service is provided by the web server 7.7A executing the functions of each. Specifically, in order to use the Web service, the service requester transmits a request including an operation for executing a function to the Web server 7 or 7A that is to receive the provision of the Web service. In response to a request from the service requester, the Web server 7 or 7A executes a function according to an operation received from the service requester and returns an execution result. The service requester is one of the MFPs 100, 100A, 100B, 100C and the relay server 200. The functions executed by the Web servers 7 and 7A to provide the Web service include, for example, functions for executing processing on data such as translation processing, character recognition processing, technical calculation processing, and image processing, and functions for searching a database and the like. And including. The operation includes setting conditions necessary for the Web servers 7 and 7A to execute the function.

中継サーバ200は、サービスリクエスタであるMFP100,100A,100B,100Cと、Webサーバ7,7Aとの間に設置され、Webサービスを中継する。サービスリクエスタであるMFP100,100A,100B,100Cは、中継サーバ200に対して要求を送信する。この際、MFP100,100A,100B,100Cそれぞれが送信する要求は、中継サーバ200との間で予め定められた機能を実行させるための操作を含む。したがって、中継サーバ200は、MFP100,100A,100B,100Cに対してWebサービスを提供するサービスプロバイダーとして機能する。中継サーバ200は、MFP100,100A,100B,100Cそれぞれが送信する要求を、サービスプロバイダであるWebサーバ7,7Aに適した要求に変換し、変換した要求をWebサーバ7,7Aに送信する。したがって、中継サーバ200は、Webサーバ7,7Aに対してサービスリクエスタとして機能する。   Relay server 200 is installed between MFPs 100, 100A, 100B, and 100C, which are service requesters, and Web servers 7 and 7A, and relays Web services. MFPs 100, 100 </ b> A, 100 </ b> B, and 100 </ b> C that are service requesters transmit a request to relay server 200. At this time, the request transmitted by each of MFPs 100, 100 A, 100 B, and 100 C includes an operation for executing a predetermined function with relay server 200. Therefore, relay server 200 functions as a service provider that provides Web services to MFPs 100, 100A, 100B, and 100C. Relay server 200 converts the requests transmitted by MFPs 100, 100A, 100B, and 100C into requests suitable for Web servers 7 and 7A that are service providers, and transmits the converted requests to Web servers 7 and 7A. Therefore, the relay server 200 functions as a service requester for the Web servers 7 and 7A.

なお、本実施の形態においては情報処理装置の一例としてMFP100,100A,100B,100Cを例に説明するが、MFP100,100A,100B,100Cに代えて、たとえば、パーソナルコンピュータ、スキャナ、プリンタ、ファクシミリ等であってもよい。なお、MFP100,100A,100B,100C各々が有する機能は同じなので、ここではMFP100を例に説明する。   In the present embodiment, MFPs 100, 100A, 100B, and 100C will be described as an example of information processing apparatuses. It may be. Since the functions of MFPs 100, 100A, 100B, and 100C are the same, MFP 100 will be described as an example here.

図2は、中継サーバのハードウェア構成の一例を示すブロック図である。図2を参照して、中継サーバ200は、それぞれがバス208に接続され、中継サーバ200の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM202と、CPU201の作業領域として用いられるRAM203と、中継サーバ200をネットワークに接続するためのネットワークI/F204と、大容量記憶装置としてのHDD205と、表示部206と、ユーザの操作の入力を受付ける操作部207と、外部記憶装置209と、を含む。   FIG. 2 is a block diagram illustrating an example of a hardware configuration of the relay server. Referring to FIG. 2, each relay server 200 is connected to a bus 208, a CPU 201 for controlling the entire relay server 200, a ROM 202 for storing a program executed by the CPU 201, and operations of the CPU 201. RAM 203 used as a region, network I / F 204 for connecting relay server 200 to the network, HDD 205 as a large-capacity storage device, display unit 206, operation unit 207 for accepting user operation input, external A storage device 209.

外部記憶装置209は、中継プログラムを記憶したCD−ROM(Compact Disc−ROM)209Aが装着される。CPU201は、外部記憶装置209を介してCD−ROM209Aに記憶された中継プログラムをRAM203にロードし、実行する。なお、中継プログラムを記憶する記録媒体としては、CD−ROM209Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(、EEPROMなどの半導体メモリ等でもよい。また、HDD205に記憶された中継プログラムをRAM203にロードして実行するようにしてもよい。この場合、中継サーバ200が、インターネット3に接続された他のコンピュータから中継プログラムをダウンロードして、その中継プログラムをHDD205に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   The external storage device 209 is loaded with a CD-ROM (Compact Disc-ROM) 209A storing a relay program. The CPU 201 loads the relay program stored in the CD-ROM 209A via the external storage device 209 to the RAM 203 and executes it. The recording medium for storing the relay program is not limited to the CD-ROM 209A, but a flexible disk, cassette tape, optical disk (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC card In addition, a semiconductor memory such as an optical card, mask ROM, EPROM (and EEPROM, etc.) may be used. The relay program stored in the HDD 205 may be loaded into the RAM 203 and executed. The relay program may be downloaded from another computer connected to the Internet 3, and the relay program may be stored in the HDD 205. The program here is directly stored in the CPU 201. It includes not only executable programs but also source programs, compressed programs, encrypted programs, and the like.

図3は、MFPの機能の一例を示す機能ブロック図である。図3を参照して、MFP100は、メイン回路101と、ファクシミリ部122と、通信制御部123と、自動原稿搬送装置(ADF)10と、画像読取部20と、画像形成部30と、給紙部40と、を含む。   FIG. 3 is a functional block diagram illustrating an example of functions of the MFP. Referring to FIG. 3, MFP 100 includes main circuit 101, facsimile unit 122, communication control unit 123, automatic document feeder (ADF) 10, image reading unit 20, image forming unit 30, and paper feed. Part 40.

ADF10は、原稿給紙トレイ11上にセットされた複数枚の原稿を1枚ずつ自動的に画像読取部20のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、画像読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。画像読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部30に出力する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。   The ADF 10 automatically conveys a plurality of documents set on the document feed tray 11 one by one to a predetermined document reading position set on the platen glass of the image reading unit 20, and the image reading unit 20 The document on which the document image is read is discharged onto a document discharge tray. The image reading unit 20 includes a light source that irradiates light to a document conveyed to a document reading position and a photoelectric conversion element that receives light reflected by the document, and scans a document image corresponding to the size of the document. The photoelectric conversion element converts the received light into image data that is an electrical signal and outputs the image data to the image forming unit 30. The paper feed unit 40 conveys the paper stored in the paper feed tray to the image forming unit 30.

画像形成部30は、周知の電子写真方式により画像を形成するものであって、画像読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。   The image forming unit 30 forms an image by a well-known electrophotographic method. The image forming unit 30 performs various data processing such as shading correction on the image data input from the image reading unit 20, and the image data after the data processing is processed. Based on this, an image is formed on the sheet conveyed by the sheet feeding unit 40.

メイン回路101は、CPU111と、CPU111の作業領域として使用されるRAM(Random Access Memory)112と、CPU111が実行するプログラム等を記憶するためのフラッシュメモリ113と、表示部114と、操作部115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、データ通信制御部117と、を含む。   The main circuit 101 includes a CPU 111, a RAM (Random Access Memory) 112 used as a work area of the CPU 111, a flash memory 113 for storing a program executed by the CPU 111, a display unit 114, an operation unit 115, And a hard disk drive (HDD) 116 as a mass storage device and a data communication control unit 117.

CPU111は、フラッシュメモリ113に記憶されたプログラムを実行して、各種の処理を実行する。フラッシュメモリ113は、EEPROM(Electronically Erasable Programmable Read Only Memory)である。   The CPU 111 executes programs stored in the flash memory 113 and executes various processes. The flash memory 113 is an EEPROM (Electronically Erasable Programmable Read Only Memory).

CPU111は、表示部114、操作部115、HDD116およびデータ通信制御部117と、それぞれ接続され、メイン回路101の全体を制御する。また、CPU111は、ファクシミリ部122、通信制御部123、ADF10、画像読取部20、画像形成部30、給紙部40と接続され、MFP100の全体を制御する。   The CPU 111 is connected to the display unit 114, the operation unit 115, the HDD 116, and the data communication control unit 117, and controls the entire main circuit 101. The CPU 111 is connected to the facsimile unit 122, the communication control unit 123, the ADF 10, the image reading unit 20, the image forming unit 30, and the paper feeding unit 40, and controls the entire MFP 100.

表示部114は、液晶表示装置(LCD)、有機ELD(Electro Luminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部115は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部115が備える複数のキーは、スイッチを備えたハードキーである。操作部115は、表示部114上に設けられたタッチパネルを含む。タッチパネルの方式は、特に限定するものではないが、例えば、抵抗膜方式または表面弾性波方式などであればよい。タッチパネルは、指またはスタイラスペンで指示された位置を検出し、検出した位置の座標をCPU111に出力する。表示部114と、操作部115とで、MFP100の上面に設けられる操作パネル9が構成される。   The display unit 114 is a display device such as a liquid crystal display (LCD) or an organic ELD (Electro Luminescence Display), and displays an instruction menu for the user, information about acquired image data, and the like. The operation unit 115 includes a plurality of keys, and accepts input of various instructions, data such as characters and numbers by user operations corresponding to the keys. The plurality of keys included in the operation unit 115 are hard keys including switches. The operation unit 115 includes a touch panel provided on the display unit 114. The method of the touch panel is not particularly limited, and may be, for example, a resistive film method or a surface acoustic wave method. The touch panel detects a position designated by a finger or a stylus pen, and outputs the coordinates of the detected position to the CPU 111. Display unit 114 and operation unit 115 constitute operation panel 9 provided on the upper surface of MFP 100.

データ通信制御部117は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで通信するためのインターフェースであるLAN端子118と、シリアル通信のためのシリアル通信インターフェース端子119とを有する。データ通信制御部117は、CPU111からの指示に従って、LAN端子118またはシリアル通信インターフェース端子119に接続された外部の機器との間でデータを送受信する。   The data communication control unit 117 includes a LAN terminal 118 that is an interface for communication using a communication protocol such as TCP (Transmission Control Protocol) or UDP (User Datagram Protocol), and a serial communication interface terminal 119 for serial communication. . The data communication control unit 117 transmits / receives data to / from an external device connected to the LAN terminal 118 or the serial communication interface terminal 119 in accordance with an instruction from the CPU 111.

LAN端子118に、ネットワーク2に接続するためのLANケーブルが接続される場合、データ通信制御部117は、LAN端子118を介して接続された他のMFP100A,100B,100Cまたは中継サーバ200と通信する。さらに、データ通信制御部117は、インターネット3に接続されたWebサーバ7,7Aと通信する。   When a LAN cable for connecting to the network 2 is connected to the LAN terminal 118, the data communication control unit 117 communicates with other MFPs 100A, 100B, 100C or the relay server 200 connected via the LAN terminal 118. . Further, the data communication control unit 117 communicates with the Web servers 7 and 7A connected to the Internet 3.

CPU111は、データ通信制御部117を制御して、ネットワーク2またはインターネット3に接続されたコンピュータからプログラムをダウンロードし、フラッシュメモリ113に記憶することにより、プログラムを更新することが可能である。   The CPU 111 can update the program by controlling the data communication control unit 117, downloading the program from a computer connected to the network 2 or the Internet 3, and storing the program in the flash memory 113.

シリアル通信インターフェース端子119には、フラッシュメモリを内蔵したメモリカード119Aが接続可能である。CPU111は、データ通信制御部117を制御して、メモリカード119AからCPU111が実行するためのプログラムを読出し、フラッシュメモリ113に記憶することにより、プログラムを更新することが可能である。   The serial communication interface terminal 119 can be connected to a memory card 119A incorporating a flash memory. The CPU 111 can update the program by controlling the data communication control unit 117 to read a program to be executed by the CPU 111 from the memory card 119 </ b> A and store it in the flash memory 113.

なお、CPU111が実行するためのプログラムを記憶する記録媒体としては、メモリカード119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード(メモリカードを含む)、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROMなどの半導体メモリ等の媒体でもよい。   A recording medium for storing a program to be executed by the CPU 111 is not limited to the memory card 119A, but a flexible disk, a cassette tape, an optical disk (CD-ROM (Compact Disc-Read Only Memory) / MO (Magnetic Optical Disc)). / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC card (including memory card), optical card, mask ROM, EPROM (Erasable Programmable ROM), semiconductor memory such as EEPROM, and the like.

さらに、CPU111がネットワーク2に接続されたコンピュータからプログラムをダウンロードしてフラッシュメモリ113に記憶する、または、ネットワーク2に接続されたコンピュータがプログラムをフラッシュメモリ113に書込みするようにして、フラッシュメモリ113に記憶されたプログラムをRAM112にロードしてCPU111で実行するようにしてもよい。ここでいうプログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   Further, the CPU 111 downloads a program from a computer connected to the network 2 and stores the program in the flash memory 113, or the computer connected to the network 2 writes the program in the flash memory 113 so that the program is stored in the flash memory 113. The stored program may be loaded into the RAM 112 and executed by the CPU 111. The program here includes not only a program directly executable by the CPU 111 but also a source program, a compressed program, an encrypted program, and the like.

通信制御部123は、CPU111を公衆交換電話網(PSTN)7に接続するためのモデムである。MFP100には、PSTN7における電話番号が予め割り当てられており、PSTN7に接続されたファクシミリ装置からMFP100に割り当てられた電話番号に発呼があると、通信制御部123がその発呼を検出する。通信制御部123は、発呼を検出すると通話を確立し、ファクシミリ部122に通信させる。   The communication control unit 123 is a modem for connecting the CPU 111 to the public switched telephone network (PSTN) 7. The telephone number in PSTN 7 is assigned to MFP 100 in advance, and when a call is made from the facsimile apparatus connected to PSTN 7 to the telephone number assigned to MFP 100, communication control unit 123 detects the call. When the communication control unit 123 detects a call, the communication control unit 123 establishes a call and causes the facsimile unit 122 to communicate.

ファクシミリ部122は、PSTN7に接続され、PSTN7にファクシミリデータを送信する、またはPSTN7からファクシミリデータを受信する。   The facsimile unit 122 is connected to the PSTN 7 and transmits facsimile data to the PSTN 7 or receives facsimile data from the PSTN 7.

図4は、中継サーバのCPUの機能の概要を示す機能ブロック図である。図4を参照して、CPU201は、MFP100,100A,100B,100Cのいずれかからメッセージを受信するメッセージ受信部51と、Webサーバ7,7Aのうちから受信されたメッセージにより特定される機能を実行させるものを選択する選択部61と、受信されたメッセージをWebサーバに対応したメッセージに変換する変換部53と、選択部61により選択されたWebサーバに認証確認をする代行認証部63と、選択部61により選択されたWebサーバに機能を実行させる機能実行指示部55と、機能の実行結果を受信する実行結果受信部57と、MFP100,100A,100B,100Cのうちメッセージを送信してきたものに実行結果を送信する実行結果送信部59と、Webサーバからプロファイルを取得するプロファイル取得部65と、関連付テーブルを更新する更新部67と、を含む。   FIG. 4 is a functional block diagram showing an outline of the functions of the CPU of the relay server. Referring to FIG. 4, CPU 201 executes a function specified by a message received from one of MFPs 100, 100A, 100B, and 100C and a message received from one of Web servers 7 and 7A. A selection unit 61 that selects a message to be processed, a conversion unit 53 that converts a received message into a message corresponding to the Web server, a proxy authentication unit 63 that performs authentication confirmation on the Web server selected by the selection unit 61, and a selection A function execution instructing unit 55 that causes the Web server selected by the unit 61 to execute the function, an execution result receiving unit 57 that receives the execution result of the function, and the one that has transmitted the message among the MFPs 100, 100 A, 100 B, and 100 C The execution result transmission unit 59 that transmits the execution result and the profile are acquired from the Web server. Includes a profile acquiring unit 65, an updating unit 67 for updating the association table, the.

メッセージ受信部51は、MFP100,100A,100B,100Cのいずれかからメッセージを受信する。ここでは、MFP100からメッセージを受信する場合を例に説明する。メッセージは、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうちから選ばれた少なくとも1つの操作を含む。メッセージ受信部51は、受信したメッセージを選択部61および変換部53に出力する。メッセージは、ここでは、SOAP(Simple Object Access Protocol)の通信プロトコルにより受信される。   Message receiving unit 51 receives a message from one of MFPs 100, 100A, 100B, and 100C. Here, a case where a message is received from MFP 100 will be described as an example. The message includes at least one operation selected from a plurality of operations defined in advance to execute functions between MFPs 100, 100A, 100B, and 100C and relay server 200. The message reception unit 51 outputs the received message to the selection unit 61 and the conversion unit 53. Here, the message is received by a SOAP (Simple Object Access Protocol) communication protocol.

選択部61は、Webサーバ7,7Aのうちから受信されたメッセージにより特定される機能を実行させるものを選択する。HDD205には、Webサーバ7,7Aそれぞれが実行可能な機能を定義した機能定義テーブルが記憶されている。選択部61は、機能定義テーブルを参照し、Webサーバ7,7Aのうちからメッセージにより特定される機能を実行可能なものを決定する。メッセージより特定される機能は、メッセージに記述されている操作に基づき定まる。ここでは、Webサーバ7が選択される場合を例に説明する。選択部61は、メッセージにより特定される機能を実行可能なWebサーバ7を識別するためのWebサーバ識別情報を代行認証部63および変換部53に出力する。なお、機能定義テーブルを用いることなく、後述する関連付テーブルからWebサーバ7,7Aそれぞれが実行可能な機能を特定するようにしてもよい。   The selection unit 61 selects one that executes the function specified by the message received from the Web servers 7 and 7A. The HDD 205 stores a function definition table that defines functions executable by the Web servers 7 and 7A. The selection unit 61 refers to the function definition table and determines which of the Web servers 7 and 7A can execute the function specified by the message. The function specified by the message is determined based on the operation described in the message. Here, a case where the Web server 7 is selected will be described as an example. The selection unit 61 outputs Web server identification information for identifying the Web server 7 that can execute the function specified by the message to the proxy authentication unit 63 and the conversion unit 53. In addition, you may make it specify the function which each Web server 7 and 7A can perform from the association table mentioned later, without using a function definition table.

選択部61は、メッセージにより特定される機能実行可能なWebサーバが複数ある場合、複数のWebサーバのうちから1つを選択する。この場合における選択基準は、予め中継サーバに定めておくようにすればよい。たとえば、機能定義テーブルにおいて、Webサービスごとのコストを設定しておくようにし、コストの最も安いものを選択基準として定めることにより1つのWebサーバを選択することができる。または、メッセージにより特定される機能を実行可能な複数のWebサーバを識別するためのWebサーバ識別情報を、コストの安いものから順に列挙したリストをメッセージを送信してきたMFP100に送信するようにし、MFP100のユーザにより選択させるようにしてもよい。この場合、リストにはWebサーバごとにコストを併記するのが好ましい。   When there are a plurality of Web servers that can execute the function specified by the message, the selection unit 61 selects one of the plurality of Web servers. The selection criteria in this case may be determined in advance for the relay server. For example, it is possible to select one Web server by setting the cost for each Web service in the function definition table and defining the lowest cost as a selection criterion. Alternatively, a list in which Web server identification information for identifying a plurality of Web servers capable of executing the function specified by the message is listed in order from the lowest cost is transmitted to MFP 100 that has transmitted the message, and MFP 100 You may make it select by the user. In this case, it is preferable to write the cost for each Web server in the list.

変換部53は、入力されるメッセージを、関連付テーブルを参照して選択部61により選択されたWebサーバに対応したメッセージに変換する。HSS205は、関連付テーブルを記憶する。関連付テーブルは、Webサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付ける。以下、Webサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作を複数のWeb操作といい、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作を、複数のローカル操作という。   The conversion unit 53 converts the input message into a message corresponding to the Web server selected by the selection unit 61 with reference to the association table. The HSS 205 stores an association table. The association table is stored in advance in order to execute functions between the MFPs 100, 100A, 100B, and 100C and the relay server 200 for each of a plurality of operations for using the Web services provided by the Web servers 7 and 7A. Associate the corresponding operations among the defined operations. Hereinafter, a plurality of operations for using the Web services provided by the Web servers 7 and 7A are referred to as a plurality of Web operations, and the functions are executed between the MFPs 100, 100A, 100B, and 100C and the relay server 200. A plurality of operations defined in advance are referred to as a plurality of local operations.

図5は、関連付テーブルの一例を示す図である。ここでは、Webサーバ7が提供する翻訳のWebサービスに対する関連付テーブルの一部を示している。ローカル操作およびWeb操作それぞれは、少なくとも1つのタグとパラメータとからなる。例えば、ローカル操作の1つである「コントロール1」に対しては、タグ「コントロール1名」とパラメータ「読取言語」の組と、タグ「コントロール1タイプ」とパラメータ「選択肢」の組と、タグ「コントロール1範囲」とパラメータ「日本語、英語、韓国語」の組の3つの組を含む。この「コントロール1」のローカル操作に対して、Web操作として、タグ「コントロール1名」とパラメータ「入力言語」の組と、タグ「コントロール1タイプ」とパラメータ「数値」の組と、タグ「コントロール1範囲」とパラメータ「1:英語、2:韓国語、3:日本語」との組が、それぞれ関連付けられる。   FIG. 5 is a diagram illustrating an example of the association table. Here, a part of the association table for the translation web service provided by the web server 7 is shown. Each local operation and Web operation includes at least one tag and a parameter. For example, for “control 1” which is one of the local operations, a set of a tag “control 1 name” and a parameter “reading language”, a set of a tag “control 1 type” and a parameter “option”, and a tag It includes three sets: “Control 1 range” and parameter “Japanese, English, Korean”. For this local operation of “control 1”, as a web operation, a set of tag “control 1 name” and parameter “input language”, a set of tag “control 1 type” and parameter “numeric”, and a tag “control 1 range ”and the parameters“ 1: English, 2: Korean, 3: Japanese ”are associated with each other.

関連付テーブルは、複数のローカル操作それぞれに対して、対応するWeb操作を関連付けるが、Web操作に存在しないローカル操作については、ローカル操作に何も関連付けられない。例えば、ローカル操作の1つである「コントロール3」に対しては、タグ「コントロール3名」、タグ「コントロール3タイプ」、タグ「コントロール3範囲」の3つのタグを含むが、ローカル操作の1つである「コントロール3」に対するWeb操作が存在しないので、「コントロール3」のローカル操作に対するWeb操作には何も関連付けれない。   The association table associates a corresponding web operation with each of a plurality of local operations. However, a local operation that does not exist in the web operation is not associated with the local operation. For example, the “control 3” that is one of the local operations includes three tags of the tag “control 3 name”, the tag “control 3 type”, and the tag “control 3 range”. Since there is no Web operation for “Control 3”, nothing is associated with the Web operation for the local operation of “Control 3”.

図6は、メッセージの一例を示す図である。図6に示すメッセージは、MFP100が送信するメッセージである。図7は、変換後のメッセージの一例を示す図である。図7に示す変換後のメッセージは、Webサーバ7で受信されるメッセージであり、図6に示すメッセージが図5に示した関連付テーブルに従って変換されている。   FIG. 6 is a diagram illustrating an example of a message. The message shown in FIG. 6 is a message transmitted by MFP 100. FIG. 7 is a diagram illustrating an example of the message after conversion. The message after conversion shown in FIG. 7 is a message received by the Web server 7, and the message shown in FIG. 6 is converted according to the association table shown in FIG.

図4に戻って、代行認証部63は、MFP100,100A,100B,100Cのうちメッセージを送信してきたMFPに代わって、Webサーバ7,7Aに認証情報を送信し、認証させる。まず、代行認証部63は、選択部61により選択されたWebサーバが提供するWebサービスを利用する権限があるか否かを判断する。このためHDD205に、認証テーブルを予め記憶している。認証テーブルは、MFP100,100A,100B,100Cごとに、利用可能なWebサービスを提供するWebサーバのサーバ識別情報と、認証情報とを関連付ける。代行認証部63は、MFP100,100A,100B,100Cのうちメッセージを送信してきたMFPが、選択部61により選択されたWebサーバのサーバ識別情報と対応つけられているか否かを判断する。対応付けられていれば、認証テーブルによりそのMFPとWebサーバとの組に関連付けられた認証情報を、Webサーバに送信し、Webサーバに認証させるが、対応付けられていなければエラー信号を返信する。代行認証部63は、Webサーバにおいて認証が成功すると、実行指示を機能実行指示部55に出力する。   Returning to FIG. 4, the substitute authentication unit 63 sends authentication information to the Web servers 7 and 7 </ b> A for authentication in place of the MFP 100, 100 </ b> A, 100 </ b> B, 100 </ b> C that has sent the message. First, the proxy authentication unit 63 determines whether or not there is an authority to use a Web service provided by the Web server selected by the selection unit 61. For this reason, an authentication table is stored in the HDD 205 in advance. The authentication table associates authentication information with server identification information of a Web server that provides an available Web service for each of MFPs 100, 100A, 100B, and 100C. Proxy authentication unit 63 determines whether or not the MFP that has transmitted the message among MFPs 100, 100 A, 100 B, and 100 C is associated with the server identification information of the Web server selected by selection unit 61. If they are associated with each other, the authentication information associated with the pair of the MFP and the web server by the authentication table is transmitted to the web server, and the web server is authenticated, but if it is not associated, an error signal is returned. . The proxy authentication unit 63 outputs an execution instruction to the function execution instruction unit 55 when the authentication is successful in the Web server.

このように、中継サーバ200において、MFP100,100A,100B,100CごとにあるWebサービスを利用可能なものと利用不可能なものとを認証テーブルに設定することができる。また、認証テーブルに利用可能としてMFPを操作するユーザは、認証情報を入力する必要がないので便利である。   As described above, in the relay server 200, it is possible to set, in the authentication table, a web service that can be used for each of the MFPs 100, 100A, 100B, and 100C and a web service that cannot be used. Further, it is convenient for the user who operates the MFP to be usable in the authentication table because it is not necessary to input authentication information.

機能実行指示部55は、代行認証部63から実行指示が入力されると、変換部53から入力されるメッセージを、選択部61により選択されたWebサーバ7に送信する。Webサーバ7においては、受信されるメッセージにしたがって、機能を実行する。中継サーバ200が送信するメッセージは、Webサーバ7から取得されるプロファイルに基づき生成された関連付テーブルを用いて変換されているため、Webサーバ7が要求するメッセージのフォーマットに適合している。このため、Webサーバ7において解釈されて、機能が実行される。Webサーバ7は、機能を実行した結果である実行結果を中継サーバ200に送信する。   When the execution instruction is input from the proxy authentication unit 63, the function execution instruction unit 55 transmits the message input from the conversion unit 53 to the Web server 7 selected by the selection unit 61. The Web server 7 executes a function according to the received message. Since the message transmitted by the relay server 200 is converted using the association table generated based on the profile acquired from the Web server 7, the message conforms to the message format requested by the Web server 7. For this reason, the function is executed by being interpreted by the Web server 7. The Web server 7 transmits an execution result that is a result of executing the function to the relay server 200.

実行結果受信部57は、Webサーバ7が送信する実行結果を受信し、受信した実行結果を実行結果送信部59に出力する。実行結果送信部59は、入力される実行結果を、MFP100,100A,100B,100Cのうちメッセージを送信してきたもの、ここではMFP100に送信する。これにより、MFP100にいおては、中継サーバ200に、その中継サーバ200との間で予め定められた機能を実行するための操作を含むメッセージを送信すれば、Webサーバ7が提供するWebサービスを利用することができる。MFP100のユーザは、Webサーバ7,7Aが提供するWebサービスを意識する必要がなく、それらが提供するWebサービスを利用することができる。また、新たなWebサービスを提供する新たなWebサーバについて、関連付テーブルおよび認証テーブルに登録することによって、MFP100,100A,100B,100Cの少なくとも1つのユーザに新たなWebサービスを利用させることができる。   The execution result receiving unit 57 receives the execution result transmitted by the Web server 7 and outputs the received execution result to the execution result transmitting unit 59. The execution result transmission unit 59 transmits the input execution result to the MFP 100, 100 A, 100 B, 100 C that has transmitted the message, here the MFP 100. Thus, in MFP 100, if a message including an operation for executing a predetermined function with relay server 200 is transmitted to relay server 200, Web service provided by Web server 7 is provided. Can be used. The user of the MFP 100 does not need to be aware of the Web services provided by the Web servers 7 and 7A, and can use the Web services provided by them. Further, by registering a new Web server that provides a new Web service in the association table and the authentication table, at least one user of MFPs 100, 100A, 100B, and 100C can use the new Web service. .

また、MFP100,100A,100B,100Cぞれぞれに対して利用可能なWebサービスを、認証テーブルに設定することができるので、中継サーバ200において一括して管理することができる。   In addition, since Web services that can be used for each of MFPs 100, 100A, 100B, and 100C can be set in the authentication table, relay server 200 can collectively manage them.

プロファイル取得部65は、新たなWebサービスを提供するWebサーバからプロファイルを取得する。新たなWebサーバは、Webサーバ7,7Aであってもよいし、それらとは異なるWebサーバであってもよい。プロファイル取得部65は、中継サーバ200の管理者が、新たなWebサーバのプロファイルを取得する指示を入力すると、新たなWebサーバからプロファイルを取得する。プロファイル取得部65は、取得されたプロファイルを更新部67に出力する。   The profile acquisition unit 65 acquires a profile from a Web server that provides a new Web service. The new Web server may be the Web server 7 or 7A, or may be a Web server different from them. When the administrator of the relay server 200 inputs an instruction to acquire a new Web server profile, the profile acquisition unit 65 acquires a profile from the new Web server. The profile acquisition unit 65 outputs the acquired profile to the update unit 67.

更新部67は、プロファイル取得部65から入力されるプロファイルを解析し、プロファイルに設定されている少なくとも1つの操作(コントロール)それぞれを、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のいずれか1つに対応付けた関連付レコードを生成し、生成した関連付レコードを、HDD205に記憶されている関連付テーブルに追加することにより、関連付テーブルを更新する。   Update unit 67 analyzes the profile input from profile acquisition unit 65, and functions at least one operation (control) set in the profile between MFP 100, 100A, 100B, 100C and relay server 200. Generating an association record associated with any one of a plurality of operations defined in advance, and adding the generated association record to the association table stored in the HDD 205, Update the association table.

図8は、プロファイルの一例を示す図である。図8に示すプロファイルは、Webサーバ7から取得されるプロファイルを示す。図8に示したプロファイルが受信されると、図4に示した関連付データが生成される。   FIG. 8 is a diagram illustrating an example of a profile. The profile shown in FIG. 8 indicates a profile acquired from the Web server 7. When the profile shown in FIG. 8 is received, the association data shown in FIG. 4 is generated.

図9は、メッセージ中継処理の流れの一例を示すフローチャートである。メッセージ中継処理は、中継サーバ200が備えるCPU201が中継プログラムを実行することによりCPU201により実行される処理である。図9を参照して、CPU201は、MFP100,100A,100B,100Cのいずれかからメッセージを受信したか否かを判断する。メッセージを受信するまで待機状態となり(ステップS01でNO)、メッセージを受信したならば処理をステップS02に進める。   FIG. 9 is a flowchart illustrating an example of the flow of message relay processing. The message relay process is a process executed by the CPU 201 when the CPU 201 included in the relay server 200 executes the relay program. Referring to FIG. 9, CPU 201 determines whether a message has been received from any of MFPs 100, 100A, 100B, and 100C. The process waits until a message is received (NO in step S01). If a message is received, the process proceeds to step S02.

ステップS02においては、Webサーバを選択する。具体的には、HDD205に記憶されている機能定義テーブルを参照し、Webサーバ7,7AのうちからステップS01において受信されたメッセージに記述されている操作に基づき定まる機能を実行可能なものを決定する。ここでは、Webサーバ7を選択する場合を例に説明する。   In step S02, a Web server is selected. Specifically, the function definition table stored in HDD 205 is referred to, and a function that can execute a function determined based on the operation described in the message received in step S01 from Web servers 7 and 7A is determined. To do. Here, a case where the Web server 7 is selected will be described as an example.

次のステップS03においては、ステップS01において受信されたメッセージを、HDD205に記憶された関連付テーブルを参照して、ステップS02において選択されたWebサーバ7に対応したメッセージに変換する。   In the next step S03, the message received in step S01 is converted into a message corresponding to the Web server 7 selected in step S02 with reference to the association table stored in the HDD 205.

次のステップS04においては、認証確認を行う。ステップS01において受信されたメッセージを送信してきたMFP100が、HDD205に記憶されている認証テーブルを参照して、ステップS02において選択されたWebサーバ7が提供するWebサービスを利用可能か否かを確認する。   In the next step S04, authentication confirmation is performed. The MFP 100 that has transmitted the message received in step S01 refers to the authentication table stored in the HDD 205 and confirms whether or not the web service provided by the web server 7 selected in step S02 can be used. .

メッセージを送信してきたMFP100が、認証テーブルにおいて、Webサーバ7が提供するWebサービスを利用可能であれば処理をステップS05に進め、そうでなければ処理を終了する。処理を終了する場合、メッセージを送信してきたMFP100に対してエラーメッセージを送信する。   If MFP 100 that sent the message can use the Web service provided by Web server 7 in the authentication table, the process proceeds to step S05; otherwise, the process ends. When the process is terminated, an error message is transmitted to MFP 100 that has transmitted the message.

ステップS05においては、メッセージを送信してきたMFP100と選択されたWebサーバ7との組に、認証テーブルにより関連付けられた認証を情報をWebサーバ7に送信し、Webサーバ7に認証させ、Webサーバ7から認証結果を受信する。次のステップS06においては、認証結果が認証OKを示すならば処理をステップS07に進め、そうでなければ処理を終了する。処理を終了する場合、エラーメッセージをメッセージを送信してきたMFP100に送信する。   In step S05, information associated with the authentication table associated with the MFP 100 that has transmitted the message and the selected Web server 7 is transmitted to the Web server 7, and the Web server 7 is authenticated. Receive authentication result from. In the next step S06, if the authentication result indicates authentication OK, the process proceeds to step S07, and if not, the process ends. When the process is terminated, an error message is transmitted to MFP 100 that has transmitted the message.

次のステップS07においては、ステップS03において変換された変換メッセージをWebサーバ7に送信し、Webサーバ7に変換メッセージに従って機能を実行させる。変換メッセージを受信するWebサーバ7は、変換メッセージに従って機能を実行し、その実行結果を返信する。   In the next step S07, the converted message converted in step S03 is transmitted to the Web server 7, and the Web server 7 is caused to execute a function according to the converted message. The Web server 7 that receives the conversion message executes the function according to the conversion message and returns the execution result.

ステップS08においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS09に進める。ステップS09においては、Webサーバ7より受信された実行結果を、ステップS01において受信されたメッセージを送信してきたMFP100に送信する。   In step S08, the process waits until an execution result is received. When the execution result is received, the process proceeds to step S09. In step S09, the execution result received from Web server 7 is transmitted to MFP 100 that has transmitted the message received in step S01.

図10は、関連付テーブル更新処理の流れの一例を示すフローチャートである。関連付テーブル更新処理は、中継サーバ200が備えるCPU201が中継プログラムを実行することによりCPU201により実行される処理である。
図10を参照して、CPU201は、新規Webサーバの指定を受け付けたか否かを判断する(ステップS21)。新規Webサーバの指定を受け付けるまで待機状態となり(ステップS21でNO)、新規Webサーバの指定を受け付けると(ステップS21でYES)、処理をステップS22に進める。
FIG. 10 is a flowchart illustrating an example of the flow of the association table update process. The association table update process is a process executed by the CPU 201 when the CPU 201 included in the relay server 200 executes the relay program.
Referring to FIG. 10, CPU 201 determines whether designation of a new Web server has been accepted (step S21). The process waits until a new Web server designation is accepted (NO in step S21). If a new web server designation is accepted (YES in step S21), the process proceeds to step S22.

ステップS22においては、指定された新規Webサーバからプロファイルを取得する。そして、取得されたプロファイルに含まれる複数のコントロールのうちから1つを選択する(ステップS23)。次に、HDD205に記憶されている関連付テーブルを参照し、ステップS23において選択されたコントロールが既に設定されているか否かの判断する(ステップS24)。関連付テーブルに既に設定されているならば処理をステップS25に進め、そうでなければ処理をステップS27に進める。ステップS25においては、ステップS23において選択したコントロールに、それに対応する既存のAPI(Application Program Interface)を関連付ける。   In step S22, a profile is acquired from the designated new Web server. Then, one of the controls included in the acquired profile is selected (step S23). Next, with reference to the association table stored in the HDD 205, it is determined whether or not the control selected in step S23 has already been set (step S24). If it is already set in the association table, the process proceeds to step S25; otherwise, the process proceeds to step S27. In step S25, an existing API (Application Program Interface) corresponding to the control selected in step S23 is associated.

ステップS26においては、プロファイル中に未選択のコントロールが存在するか否かを判断する。未選択のコントロールが存在するならば処理をステップS23に進め、存在しなければ処理を終了する。   In step S26, it is determined whether or not there is an unselected control in the profile. If there is an unselected control, the process proceeds to step S23, and if not, the process ends.

一方、ステップS27においては、ユーザによる手動変換を受け付ける。すなわち、プロファイルに含まれるコントロールに対応する新たなAPIを関連付ける操作を受け付ける。そして、受け付け得られた新たなAPIを関連付テーブルに追加して記憶し(ステップS28)、処理をステップS26に進める。   On the other hand, in step S27, manual conversion by the user is accepted. That is, an operation for associating a new API corresponding to the control included in the profile is accepted. Then, the received new API is added to the association table and stored (step S28), and the process proceeds to step S26.

<変形例>
上述した実施の形態においては、1つのメッセージで1つのWebサービスを利用するものであったが、変形例における情報処理システムにおいては、1つのメッセージで複数のWebサービスを利用可能とするものである。具体的には、MFP100から送信されるメッセージが複数の機能に関する操作を含む場合である。この場合、複数の機能をそれぞれ実行するWebサービスを提供する複数のWebサーバが存在する場合がある。ここでは、複数の機能として文字認識と翻訳を例に説明し、Webサーバ7が翻訳する機能を実行するWebサービスを提供し、Webサーバ7Aが文字認識する機能実行するWebサービスを提供する場合を例に説明する。
<Modification>
In the above-described embodiment, one Web service is used by one message. However, in the information processing system according to the modification, a plurality of Web services can be used by one message. . Specifically, this is a case where a message transmitted from MFP 100 includes operations related to a plurality of functions. In this case, there may be a plurality of Web servers that provide Web services that respectively execute a plurality of functions. Here, a case where character recognition and translation are described as an example as a plurality of functions, a Web service that executes a function that the Web server 7 translates is provided, and a Web service that executes a function that recognizes characters is provided by the Web server 7A is provided. Explained as an example.

図11は、変形における中継サーバ200が備えるCPU201Aの機能の概要を示す機能ブロック図である。図4に示した機能ブロック図と異なる点は、選択部61A、変換部53A、機能実行指示部55Aおよび実行結果受信部57Aが異なる点である。その他の機能は図4に示した機能ブロック図と同じなのでここでは説明を繰り返さない。   FIG. 11 is a functional block diagram showing an outline of functions of the CPU 201A included in the relay server 200 in the modification. The difference from the functional block diagram shown in FIG. 4 is that the selection unit 61A, the conversion unit 53A, the function execution instruction unit 55A, and the execution result reception unit 57A are different. The other functions are the same as those in the functional block diagram shown in FIG.

図11を参照して、選択部61Aは、機能定義テーブルを参照し、Webサーバ7,7AのうちからMFP100から受信するメッセージにより特定される文字認識する機能を実行可能なWebサーバ7Aおよび翻訳する機能を実行可能なWebサーバ7を選択する。選択部61Aは、メッセージにより特定される機能を実行可能なWebサーバ7,7Aを識別するためのWebサーバ識別情報を代行認証部63および変換部53Aに出力する。   Referring to FIG. 11, selection unit 61A refers to the function definition table, translates Web server 7A capable of executing a function for recognizing a character specified by a message received from MFP 100 from Web servers 7 and 7A, and translates it. A Web server 7 that can execute the function is selected. The selection unit 61A outputs Web server identification information for identifying the Web servers 7 and 7A capable of executing the function specified by the message to the proxy authentication unit 63 and the conversion unit 53A.

変換部53Aは、第1メッセージ変換部81と、第2メッセージ変換部82とを含む。第1メッセージ変換部81は、メッセージ受信部57より入力されるメッセージのうちWebサーバ7Aが提供する文字認識する機能に関するコントロールを、関連付テーブルを参照してWebサーバ7Aに対応したメッセージに変換し、変換した第1変換メッセージを機能実行指示部55Aに出力する。第2メッセージ変換部82は、メッセージ受信部57より入力されるメッセージのうちWebサーバ7が提供する翻訳する機能に関するコントロールを、関連付テーブルを参照してWebサーバ7に対応したメッセージに変換し、変換した第2変換メッセージを機能実行指示部55Aに出力する。   The converter 53A includes a first message converter 81 and a second message converter 82. The first message conversion unit 81 converts the control related to the character recognition function provided by the Web server 7A among the messages input from the message reception unit 57 into a message corresponding to the Web server 7A with reference to the association table. The converted first conversion message is output to the function execution instruction unit 55A. The second message conversion unit 82 converts the control related to the function to be translated provided by the Web server 7 among the messages input from the message reception unit 57 into a message corresponding to the Web server 7 with reference to the association table. The converted second conversion message is output to the function execution instruction unit 55A.

機能実行指示部55Aは、第1機能実行指示部83と、第2機能実行指示部84とを含む。第1機能実行指示部83は、第1メッセージ変換部81より第1変換メッセージが入力され、第1変換メッセージを選択部61Aにより選択されたWebサーバ7Aに送信する。Webサーバ7Aにおいては、受信される第1変換メッセージに従って、文字認識する機能を実行し、実行結果を中継サーバ200に送信する。   The function execution instruction unit 55A includes a first function execution instruction unit 83 and a second function execution instruction unit 84. The first function execution instruction unit 83 receives the first conversion message from the first message conversion unit 81, and transmits the first conversion message to the Web server 7A selected by the selection unit 61A. The Web server 7A executes a function for recognizing characters according to the received first conversion message, and transmits the execution result to the relay server 200.

実行結果受信部57Aは、第1実行結果受信部85と第2実行結果受信部86とを含む。第1実行結果受信部85は、Webサーバ7Aが送信する実行結果を受信し、受信した実行結果を第2機能実行指示部84に出力する。   The execution result receiving unit 57A includes a first execution result receiving unit 85 and a second execution result receiving unit 86. The first execution result receiving unit 85 receives the execution result transmitted by the Web server 7A, and outputs the received execution result to the second function execution instructing unit 84.

第2機能実行指示部84は、第2メッセージ変換部82より第2変換メッセージが入力され、第1実行結果受信部85より実行結果が入力され、入力される第2変換メッセージおよび実行結果をWebサーバ7に送信する。Webサーバ7においては、受信される第2変換メッセージに従って、受信される実行結果に対して翻訳する機能を実行し、実行結果を中継サーバ200に送信する。第2実行結果受信部86は、Webサーバ7が送信する実行結果を受信し、受信した実行結果を実行結果送信部59に出力する。   The second function execution instruction unit 84 receives the second conversion message from the second message conversion unit 82, the execution result from the first execution result reception unit 85, and the input second conversion message and the execution result on the Web. Send to server 7. The Web server 7 executes a function for translating the received execution result in accordance with the received second conversion message, and transmits the execution result to the relay server 200. The second execution result receiving unit 86 receives the execution result transmitted by the Web server 7 and outputs the received execution result to the execution result transmitting unit 59.

図12は、変形例におけるメッセージ中継処理の流れの一例を示すフローチャートである。変形例におけるメッセージ中継処理は、変形例における中継サーバ200が備えるCPU201Aが中継プログラムを実行することによりCPU201Aにより実行される処理である。図12を参照して、CPU201Aは、MFP100,100A,100B,100Cのいずれかからメッセージを受信したか否かを判断する(ステップS31)。メッセージを受信するまで待機状態となり(ステップS31でNO)、メッセージを受信したならば(ステップS31でNO)、処理をステップS32に進める。   FIG. 12 is a flowchart illustrating an example of the flow of message relay processing in the modification. The message relay process in the modification is a process executed by the CPU 201A when the CPU 201A included in the relay server 200 in the modification executes a relay program. Referring to FIG. 12, CPU 201A determines whether a message has been received from any of MFPs 100, 100A, 100B, and 100C (step S31). The process waits until a message is received (NO in step S31). If a message is received (NO in step S31), the process proceeds to step S32.

ステップS32においては、複数のWebサーバを選択する。具体的には、HDD205に記憶されている機能定義テーブルを参照し、Webサーバ7,7AのうちからステップS31において受信されたメッセージに記述されている操作に基づき定まる機能を実行可能なものを決定する。ここでは、翻訳する機能を実行するWebサービスを提供するWebサーバ7と、文字認識する機能を実行するWebサービスを提供するWebサーバ7Aを選択する場合を例に説明する。   In step S32, a plurality of Web servers are selected. Specifically, the function definition table stored in the HDD 205 is referred to, and a function that can execute the function determined based on the operation described in the message received in step S31 from the Web servers 7 and 7A is determined. To do. Here, a case will be described as an example in which a Web server 7 that provides a Web service that executes a function to translate and a Web server 7A that provides a Web service that performs a character recognition function are selected.

次のステップS33においては、ステップS31において受信されたメッセージを、HDD205に記憶された関連付テーブルを参照して、ステップS32において選択されたWebサーバ7,7Aそれぞれに対応した複数のメッセージに変換し、処理をステップS34に進める。   In the next step S33, the message received in step S31 is converted into a plurality of messages corresponding to each of the Web servers 7 and 7A selected in step S32 with reference to the association table stored in the HDD 205. Then, the process proceeds to step S34.

次のステップS34においては、認証確認を行う。ステップS31において受信されたメッセージを送信してきたMFP100が、HDD205に記憶されている認証テーブルを参照して、ステップS32において選択されたWebサーバ7,7Aそれぞれが提供するWebサービスを利用可能か否かを確認する。メッセージを送信してきたMFP100が、認証テーブルにおいて、Webサーバ7、7Aそれぞれが提供するWebサービスをともに利用可能であれば処理をステップS35に進め、そうでなければ処理を終了する。Webサーバ7、7Aそれぞれが提供するWebサービスの少なくとも1つでも利用可能でなければ処理を終了する。1の機能でも利用できなければメッセージに設定された操作で定まるすべての機能を実行できないからである。処理を終了する場合、メッセージを送信してきたMFP100に対してエラーメッセージを送信する。   In the next step S34, authentication confirmation is performed. Whether MFP 100 that has transmitted the message received in step S31 can use the Web services provided by each of Web servers 7 and 7A selected in step S32 with reference to the authentication table stored in HDD 205. Confirm. If MFP 100 that sent the message can use both of the Web services provided by Web servers 7 and 7A in the authentication table, the process proceeds to step S35; otherwise, the process ends. If at least one of the Web services provided by each of the Web servers 7 and 7A is not available, the process ends. This is because, if even one function cannot be used, all functions determined by the operation set in the message cannot be executed. When the process is terminated, an error message is transmitted to MFP 100 that has transmitted the message.

ステップS35においては、メッセージを送信してきたMFP100と選択されたWebサーバ7との組に、認証テーブルにより関連付けられた認証情報をWebサーバ7に送信し、Webサーバ7に認証させ、Webサーバ7から認証結果を受信するとともに、MFP100と選択されたWebサーバ7Aとの組に、認証テーブルにより関連付けられた認証情報をWebサーバ7Aに送信し、Webサーバ7Aに認証させ、Webサーバ7から認証結果を受信する。ステップS35においては、Webサーバ7,7Aのすべてで認証結果が認証OKを示すならば処理をステップS36に進め、そうでなければ処理を終了する。Webサーバ7、7Aの1つでも認証さればければ、メッセージに設定された操作で定まるすべての機能を実行できないからである。処理を終了する場合、エラーメッセージをメッセージを送信してきたMFP100に送信する。   In step S35, authentication information associated with the authentication table associated with the pair of MFP 100 that has transmitted the message and the selected Web server 7 is transmitted to Web server 7 to be authenticated by Web server 7. In addition to receiving the authentication result, the authentication information associated with the pair of MFP 100 and the selected Web server 7A by the authentication table is transmitted to the Web server 7A so that the Web server 7A authenticates the authentication result. Receive. In step S35, if all the Web servers 7 and 7A indicate that the authentication result indicates authentication OK, the process proceeds to step S36, and if not, the process ends. This is because if only one of the Web servers 7 and 7A is authenticated, all functions determined by the operation set in the message cannot be executed. When the process is terminated, an error message is transmitted to MFP 100 that has transmitted the message.

次のステップS36においては、ステップS33において変換された複数の変換メッセージのうちから1つのメッセージを選択する。そして、選択されたメッセージを対応するWebサーバに送信し、メッセージに従って機能を実行させる(ステップS37)。ここではWebサーバ7Aに送信し、Webサーバ7Aに選択されたメッセージに従って機能を実行させる。メッセージを受信するWebサーバ7Aは、メッセージに従って文字認識する機能を実行し、その実行結果を返信する。   In the next step S36, one message is selected from the plurality of converted messages converted in step S33. Then, the selected message is transmitted to the corresponding Web server, and the function is executed according to the message (step S37). In this case, the function is transmitted to the Web server 7A, and the function is executed according to the message selected by the Web server 7A. The Web server 7A that receives the message executes a function of recognizing characters according to the message, and returns the execution result.

ステップS38においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS39に進める。ここでは、画像を文字認識した実行結果として英語のテキストデータを受信する。   In step S38, the process waits until the execution result is received. When the execution result is received, the process proceeds to step S39. Here, English text data is received as an execution result of character recognition of the image.

ステップS39においては、ステップS33において変換された複数の変換メッセージのうちから次の順番のメッセージを選択する。そして、ステップS38において受信された実行結果と、ステップS39において選択されたメッセージとを対応するWebサーバに送信し、メッセージに従って機能を実行させる(ステップS40)。ここではWebサーバ7に送信し、Webサーバ7に、実行結果である英語のテキストデータに対して選択されたメッセージに従って翻訳する機能を実行させる。メッセージを受信するWebサーバ7は、メッセージに従って英語のテキストデータに基づいて翻訳する機能を実行し、その実行結果である日本語のテキストデータを返信する。   In step S39, the next message is selected from the plurality of converted messages converted in step S33. Then, the execution result received in step S38 and the message selected in step S39 are transmitted to the corresponding Web server, and the function is executed according to the message (step S40). In this case, the function is transmitted to the Web server 7 and causes the Web server 7 to execute a function of translating the English text data as the execution result according to the selected message. The Web server 7 that receives the message executes a function of translating based on the English text data in accordance with the message, and returns Japanese text data that is the execution result.

ステップS41においては、実行結果を受信するまで待機状態となり、実行結果を受信すると処理をステップS42に進める。ここでは、実行結果として、英文字が表された画像を文字認識し、文字認識された英文字を日本語に翻訳した日本語のテキストデータを受信する。次のステップS42においては、ステップS33において変換された複数のメッセージのうちに未選択のメッセージが存在するか否かを判断する。未選択のメッセージが存在すれば処理をステップS39に戻すが、存在しなければ処理をステップS43に進める。   In step S41, the process waits until the execution result is received. When the execution result is received, the process proceeds to step S42. Here, as an execution result, an image in which English characters are represented is recognized, and Japanese text data obtained by translating the recognized English characters into Japanese is received. In the next step S42, it is determined whether or not there is an unselected message among the plurality of messages converted in step S33. If there is an unselected message, the process returns to step S39; otherwise, the process proceeds to step S43.

ステップS43においては、Webサーバ7より受信された実行結果を、ステップS31において受信されたメッセージを送信してきたMFP100に送信する。   In step S43, the execution result received from Web server 7 is transmitted to MFP 100 that has transmitted the message received in step S31.

以上説明したように本実施の形態における中継サーバ200は、複数のWebサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、MFP100,100A,100B,100Cと中継サーバ200との間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルをHDD205に記憶しており、MFP100,100A,100B,100CのいずれかからMFP100,100A,100B,100Cと中継サーバ200との間で予め定義された複数の操作を含むメッセージを受信すると、メッセージを関連付テーブルを用いて変換し、変換されたメッセージを複数のWebサーバのうちメッセージで特定される機能を実行可能なWebサーバに送信し、変換されたメッセージに従って機能を実行させる。そして、メッセージを送信したWebサーバから機能の実行結果を受信し、受信された実行結果をMFP100,100A,100B,100Cのうちメッセ維持を送信してきたものに送信する。このため、MFP100,100A,100B,100Cにおいては、複数のWebサーバ7,7Aそれぞれが提供するWebサービスを利用するための複数の操作に関係なく、中継サーバ200との間で機能を実行させるために予め定義された複数の操作を含むメッセージを生成できればよい。このため、新たなWebサーバが追加される場合等のWebサービスの変動に対して、MFP100,100A,100B,100Cで生成されるメッセージを変更する必要がない。その結果、Webサービスの変動に容易に対応することができる。   As described above, relay server 200 in the present embodiment is configured so that MFPs 100, 100A, 100B, and 100C and relay servers are used for a plurality of operations for using Web services provided by a plurality of Web servers 7 and 7A, respectively. An association table associating corresponding operations among a plurality of operations defined in advance to execute a function with 200 is stored in the HDD 205, and any one of the MFPs 100, 100A, 100B, and 100C When a message including a plurality of operations defined in advance between 100A, 100B, 100C and relay server 200 is received, the message is converted using an association table, and the converted message is a message among a plurality of Web servers. To the Web server that can execute the function specified by And to execute the function in accordance with the converted message. Then, the function execution result is received from the Web server that transmitted the message, and the received execution result is transmitted to the MFP 100, 100A, 100B, 100C that has transmitted the message maintenance. Therefore, MFPs 100, 100A, 100B, and 100C execute functions with relay server 200 regardless of a plurality of operations for using Web services provided by a plurality of Web servers 7 and 7A, respectively. It is sufficient if a message including a plurality of operations defined in advance can be generated. For this reason, it is not necessary to change messages generated by MFPs 100, 100A, 100B, and 100C in response to changes in Web services such as when a new Web server is added. As a result, it is possible to easily cope with fluctuations in Web services.

また、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報がMFP100,100A,100B,100Cのうちメッセージを送信してきたものに送信されるので、MFP100,100A,100B,100Cのユーザは、リスト情報を見て機能を実行させるWebサーバを決定することができる。このため、機能を実行させるWebサーバを容易に決定することが可能となる。   In addition, since list information obtained by rearranging a plurality of Web servers that execute the same type of function according to a predetermined condition is transmitted to the MFP 100, 100A, 100B, 100C that has transmitted the message, the MFP 100, 100A, 100B, The user of 100C can determine the Web server that executes the function by looking at the list information. For this reason, it becomes possible to easily determine the Web server that executes the function.

また、複数のWebサーバ7,7Aのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する。例えば、コストの安いWebサービスを提供するWebサーバを選択する。このため、MFP100,100A,100B,100Cのユーザは、複数のWebサーバ7,7Aがそれぞれ提供する複数のWebサービスを知る必要がなく、Webサービスの提供を受けることができる。   In addition, when there are a plurality of Web servers that provide the same kind of Web service among the plurality of Web servers 7 and 7A, one is selected from the plurality of Web servers that provide the same kind of Web service. For example, a Web server that provides a low-cost Web service is selected. Therefore, the users of MFPs 100, 100A, 100B, and 100C do not need to know the plurality of Web services provided by the plurality of Web servers 7 and 7A, respectively, and can receive the Web services.

さらに、MFP100,100A,100B,100Cのいずれかから文字認識と翻訳の機能それぞれを実行させるためのメッセージを受信し、メッセージを関連付テーブルを用いてWebサーバ7Aに対して送信するための第1のメッセージと、Webサーバ7に送信するための第2のメッセージとに変換し、第1のメッセージを文字認識する機能を実行可能なWebサーバ7Aに送信し、Webサーバ7Aから実行結果を受信した後に、実行結果と第2のメッセージとを翻訳する機能を実行可能なWebサーバ7に送信する。このため、MFP100,100A,100B,100Cにおいて、1つのメッセージを送信するだけで、複数のWebサービスを利用することができる。   Further, a first message for receiving a message for executing the functions of character recognition and translation from any of MFPs 100, 100A, 100B, and 100C and transmitting the message to Web server 7A using the association table. And the second message to be transmitted to the Web server 7, the first message is transmitted to the Web server 7A capable of executing the character recognition function, and the execution result is received from the Web server 7A. Later, the execution result and the second message are transmitted to the executable Web server 7. Therefore, the MFPs 100, 100A, 100B, and 100C can use a plurality of Web services only by transmitting one message.

さらに、MFP100,100A,100B,100Cに代わってWebサーバ7,7Aに対して認証情報が送信されるので、MFP100,100A,100B,100Cのユーザは、認証情報を入力する必要がなく、Webサーバ7,7Aを意識する必要がない。   Furthermore, since authentication information is transmitted to Web servers 7 and 7A instead of MFPs 100, 100A, 100B, and 100C, the users of MFPs 100, 100A, 100B, and 100C do not need to input authentication information, and the Web server There is no need to be aware of 7,7A.

また、新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルが取得されると、取得されたプロファイルに基づいて、関連付テーブルを更新する。このため、Webサービスの変動に対応することができる。   Further, when a profile that defines a plurality of operations for using a function for providing a Web service of a new Web server is acquired, the association table is updated based on the acquired profile. For this reason, it is possible to cope with fluctuations in Web services.

なお、上述した実施の形態においては、情報処理システム1について説明したが、図9、図10および図12に示した処理を実行するための中継方法、および中継方法をコンピュータに実行させるための中継プログラムとして発明を捉えることができるのは言うまでもない。   In the above-described embodiment, the information processing system 1 has been described. However, the relay method for executing the processes shown in FIGS. 9, 10, and 12 and the relay for causing the computer to execute the relay method are described. It goes without saying that the invention can be understood as a program.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施の形態における情報処理システムの全体概要を示す図である。It is a figure showing the whole information processing system outline in an embodiment of the invention. 中継サーバのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of a relay server. MFPの機能の一例を示す機能ブロック図である。2 is a functional block diagram illustrating an example of functions of an MFP. FIG. 中継サーバのCPUの機能の概要を示す機能ブロック図である。It is a functional block diagram which shows the outline | summary of the function of CPU of a relay server. 関連付テーブルの一例を示す図である。It is a figure which shows an example of an association table. メッセージの一例を示す図である。It is a figure which shows an example of a message. 変換後のメッセージの一例を示す図である。It is a figure which shows an example of the message after conversion. プロファイルの一例を示す図である。It is a figure which shows an example of a profile. メッセージ中継処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a message relay process. 関連付テーブル更新処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of an association table update process. 変形における中継サーバが備えるCPUの機能の概要を示す機能ブロック図である。It is a functional block diagram which shows the outline | summary of the function of CPU with which the relay server in a deformation | transformation is provided. 変形例におけるメッセージ中継処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the message relay process in a modification.

符号の説明Explanation of symbols

7,7A サーバ、51 メッセージ受信部、53,53A 変換部、55,55A 機能実行指示部、57,57A 実行結果受信部、59 実行結果送信部、61,61A 選択部、63 代行認証部、65 プロファイル取得部、67 更新部、81 第1メッセージ変換部、82 第2メッセージ変換部、83 第1機能実行指示部、84 第2機能実行指示部、85 第1実行結果受信部、86 第2実行結果受信部、200 中継サーバ、201 CPU、202 ROM、203 RAM、204 ネットワークI/F、205 HDD、206 表示部、207 操作部、208 バス、209 外部記憶装置。   7, 7A server, 51 message reception unit, 53, 53A conversion unit, 55, 55A function execution instruction unit, 57, 57A execution result reception unit, 59 execution result transmission unit, 61, 61A selection unit, 63 proxy authentication unit, 65 Profile acquisition unit, 67 update unit, 81 first message conversion unit, 82 second message conversion unit, 83 first function execution instruction unit, 84 second function execution instruction unit, 85 first execution result reception unit, 86 second execution Result receiving unit, 200 relay server, 201 CPU, 202 ROM, 203 RAM, 204 network I / F, 205 HDD, 206 display unit, 207 operation unit, 208 bus, 209 external storage device.

Claims (8)

それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバであって、
前記複数のWebサーバそれぞれが提供するWebサービスを利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で機能を実行させるために予め定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶する関連付テーブル記憶手段と、
前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定義された複数の操作を含むメッセージを受信するメッセージ受信手段と、
前記メッセージを前記関連付テーブルを用いて変換する変換手段と、
前記変換されたメッセージを前記複数のWebサーバのうち前記メッセージで特定される機能を実行可能なWebサーバに送信し、前記変換されたメッセージに従って機能を実行させる機能実行指示手段と、
前記Webサーバから機能の実行結果を受信する実行結果受信手段と、
前記受信された実行結果を前記情報処理装置に送信する実行結果送信手段と、を備えた中継サーバ。
Each of which is a relay server capable of communicating with a plurality of Web servers and information processing devices that provide Web services,
Among a plurality of operations defined in advance for causing a function to be executed between the information processing apparatus and the relay server for each of a plurality of operations for using a Web service provided by each of the plurality of Web servers. Association table storage means for storing an association table in which corresponding operations are associated;
Message receiving means for receiving a message including a plurality of operations defined in advance between the information processing apparatus and the relay server from the information processing apparatus;
Conversion means for converting the message using the association table;
Function execution instructing means for transmitting the converted message to a Web server capable of executing the function specified by the message among the plurality of Web servers, and executing the function according to the converted message;
Execution result receiving means for receiving an execution result of the function from the Web server;
An execution result transmitting unit configured to transmit the received execution result to the information processing apparatus;
前記複数のWebサーバのうちで同種の機能を実行する複数のWebサーバが存在する場合、同種の機能を実行する複数のWebサーバを所定の条件に従って並べ替えたリスト情報を前記情報処理装置に送信するリスト情報送信手段と、
前記情報処理装置から同種の機能を実行する複数のWebサーバのうちから選択された1つのWebサーバを特定する情報を受信する特定情報受信手段と、をさらに備え、
前記機能実行指示手段は、前記特定されたWebサーバに前記変換されたメッセージを送信する、請求項1に記載の中継サーバ。
When there are a plurality of Web servers that execute the same type of function among the plurality of Web servers, list information obtained by rearranging the plurality of Web servers that execute the same type of function according to a predetermined condition is transmitted to the information processing apparatus. List information transmission means to perform,
Specific information receiving means for receiving information for specifying one Web server selected from among a plurality of Web servers that execute the same type of function from the information processing apparatus;
The relay server according to claim 1, wherein the function execution instructing unit transmits the converted message to the identified Web server.
前記複数のWebサーバのうちで同種のWebサービスを提供する複数のWebサーバが存在する場合、同種のWebサービスを提供する複数のWebサーバのうちから1つを選択する選択手段をさらに備え、
前記機能実行指示手段は、前記特定されたWebサーバに前記変換されたメッセージを送信する、請求項1に記載の中継サーバ。
When there are a plurality of Web servers that provide the same kind of Web service among the plurality of Web servers, the apparatus further comprises a selection unit that selects one of the plurality of Web servers that provide the same kind of Web service,
The relay server according to claim 1, wherein the function execution instructing unit transmits the converted message to the identified Web server.
メッセージ受信手段は、前記複数のWebサーバのうちで異なる機能を実行する第1および第2のWebサーバが存在する場合、前記情報処理装置から前記異なる機能それぞれを実行させるためのメッセージを受信し、
前記変換手段は、前記メッセージを前記関連付テーブルを用いて第1のWebサーバに対して送信するための第1のメッセージと、第2のWebサーバに送信するための第2のメッセージとに変換し、
前記機能実行指示手段は、前記第1のメッセージを前記第1のWebサーバに送信し、前記実行結果受信手段が前記第1のWebサーバから実行結果を受信した後に、第2のメッセージを前記第2のWebサーバに送信する、請求項1に記載の中継サーバ。
The message receiving means receives a message for executing each of the different functions from the information processing apparatus when there are first and second Web servers that execute different functions among the plurality of Web servers,
The converting means converts the message into a first message for transmitting to the first Web server using the association table and a second message for transmitting to the second Web server. And
The function execution instructing means transmits the first message to the first Web server, and after the execution result receiving means receives the execution result from the first Web server, the function execution instructing means sends the second message to the first Web server. The relay server according to claim 1, wherein the relay server transmits the information to a second Web server.
前記複数のWebサーバのうち少なくとも1つは認証情報に基づいて認証する認証手段を含み、該少なくとも1つのWebサーバは、該認証手段により認証されることを条件に機能を実行し、
前記中継サーバは、前記情報処理装置に代わって前記少なくとも1つのWebサーバに対して認証情報を送信する代行認証手段をさらに備える、請求項1に記載の中継サーバ。
At least one of the plurality of Web servers includes an authentication unit that authenticates based on authentication information, and the at least one Web server executes a function on condition that the authentication unit authenticates,
The relay server according to claim 1, further comprising proxy authentication means for transmitting authentication information to the at least one Web server on behalf of the information processing apparatus.
新たなWebサーバが有するWebサービスを提供するための機能を利用するための複数の操作を定義するプロファイルを取得するプロファイル取得手段と、
前記取得されたプロファイルに基づいて、前記関連付テーブルを更新する更新手段と、をさらに備えた請求項1に記載の中継サーバ。
Profile acquisition means for acquiring a profile defining a plurality of operations for using a function for providing a Web service of a new Web server;
The relay server according to claim 1, further comprising update means for updating the association table based on the acquired profile.
それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継方法であって、
前記複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶するステップと、
前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、
前記メッセージを前記関連付テーブルを用いて変換するステップと、
前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージに従って機能を実行させるために、前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージを送信するステップと、
前記Webサーバから機能の実行結果を受信するステップと、
前記受信された実行結果を前記情報処理装置に送信するステップと、を含む中継方法。
A relay method executed by a relay server that can communicate with a plurality of Web servers and information processing apparatuses each providing a Web service,
In order to use a predetermined function between the information processing apparatus and the relay server for each of a plurality of operations for using a function for providing a Web service possessed by each of the plurality of Web servers. Storing an association table associating corresponding operations among a plurality of defined operations;
Receiving a message for executing a predetermined function between the information processing apparatus and the relay server from the information processing apparatus;
Converting the message using the association table;
In order to cause a Web server capable of executing the function specified by the received message among the plurality of Web servers to execute the function according to the converted message, the received message among the plurality of Web servers Sending the converted message to a web server capable of performing the specified function;
Receiving a function execution result from the Web server;
Transmitting the received execution result to the information processing apparatus.
それぞれがWebサービスを提供する複数のWebサーバおよび情報処理装置と通信可能な中継サーバで実行される中継プログラムであって、
前記複数のWebサーバそれぞれが有するWebサービスを提供するための機能を利用するための複数の操作それぞれに対し、前記情報処理装置と前記中継サーバとの間で予め定められた機能を利用するために定義された複数の操作のうち対応する操作を関連付けた関連付テーブルを記憶するステップと、
前記情報処理装置から前記情報処理装置と前記中継サーバとの間で予め定められた機能を実行させるためのメッセージを受信するステップと、
前記メッセージを前記関連付テーブルを用いて変換するステップと、
前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージに従って機能を実行させるために、前記複数のWebサーバのうち前記受信されたメッセージで特定される機能を実行可能なWebサーバに前記変換されたメッセージを送信するステップと、
前記Webサーバから機能の実行結果を受信するステップと、
前記受信された実行結果を前記情報処理装置に送信するステップと、を前記中継サーバに実行させる中継プログラム。
A relay program that is executed by a relay server that can communicate with a plurality of Web servers and information processing apparatuses each providing a Web service,
In order to use a predetermined function between the information processing apparatus and the relay server for each of a plurality of operations for using a function for providing a Web service possessed by each of the plurality of Web servers. Storing an association table associating corresponding operations among a plurality of defined operations;
Receiving a message for executing a predetermined function between the information processing apparatus and the relay server from the information processing apparatus;
Converting the message using the association table;
In order to cause a Web server capable of executing the function specified by the received message among the plurality of Web servers to execute the function according to the converted message, the received message among the plurality of Web servers Sending the converted message to a web server capable of performing the specified function;
Receiving a function execution result from the Web server;
A relay program for causing the relay server to execute the step of transmitting the received execution result to the information processing apparatus.
JP2008183551A 2008-07-15 2008-07-15 Relay server, relay method, and relay program Expired - Fee Related JP5120121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008183551A JP5120121B2 (en) 2008-07-15 2008-07-15 Relay server, relay method, and relay program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008183551A JP5120121B2 (en) 2008-07-15 2008-07-15 Relay server, relay method, and relay program

Publications (2)

Publication Number Publication Date
JP2010026562A true JP2010026562A (en) 2010-02-04
JP5120121B2 JP5120121B2 (en) 2013-01-16

Family

ID=41732373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008183551A Expired - Fee Related JP5120121B2 (en) 2008-07-15 2008-07-15 Relay server, relay method, and relay program

Country Status (1)

Country Link
JP (1) JP5120121B2 (en)

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012034140A (en) * 2010-07-29 2012-02-16 Canon Inc Communication device, repeating device, radio communication system, control method of communication device, control method of repeating device and program
JP2012043398A (en) * 2010-07-21 2012-03-01 Canon Inc Content printing system, printing relay system, control method, and program
CN102457651A (en) * 2010-11-04 2012-05-16 兄弟工业株式会社 Relay apparatus, communication system and communication method
JP2012109749A (en) * 2010-11-16 2012-06-07 Konica Minolta Business Technologies Inc Image processing system, image processing server, image forming apparatus, image processing method, and image processing program
JP2013012066A (en) * 2011-06-29 2013-01-17 Canon Inc Print relay server system, control method therefor, and program
JP2013110716A (en) * 2011-11-24 2013-06-06 Brother Ind Ltd Intermediate server and communication device
CN107743616A (en) * 2015-04-08 2018-02-27 亚马逊技术有限公司 The end points management system of API agency service is provided
US10365985B2 (en) 2015-12-16 2019-07-30 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10387177B2 (en) 2015-02-04 2019-08-20 Amazon Technologies, Inc. Stateful virtual compute system
US10402231B2 (en) 2016-06-29 2019-09-03 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions
US10552193B2 (en) 2015-02-04 2020-02-04 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10592269B2 (en) 2014-09-30 2020-03-17 Amazon Technologies, Inc. Dynamic code deployment and versioning
US10691498B2 (en) 2015-12-21 2020-06-23 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10776171B2 (en) 2015-04-08 2020-09-15 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10824484B2 (en) 2014-09-30 2020-11-03 Amazon Technologies, Inc. Event-driven computing
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10884802B2 (en) 2014-09-30 2021-01-05 Amazon Technologies, Inc. Message-based computation request scheduling
US10884722B2 (en) 2018-06-26 2021-01-05 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US10915371B2 (en) 2014-09-30 2021-02-09 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US10956185B2 (en) 2014-09-30 2021-03-23 Amazon Technologies, Inc. Threading as a service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11016815B2 (en) 2015-12-21 2021-05-25 Amazon Technologies, Inc. Code execution request routing
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11126469B2 (en) 2014-12-05 2021-09-21 Amazon Technologies, Inc. Automatic determination of resource sizing
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11263034B2 (en) 2014-09-30 2022-03-01 Amazon Technologies, Inc. Low latency computational capacity provisioning
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11467890B2 (en) 2014-09-30 2022-10-11 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11875173B2 (en) 2018-06-25 2024-01-16 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6446995B2 (en) 2013-10-29 2019-01-09 株式会社リコー Information processing system and information processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321995A (en) * 2004-05-07 2005-11-17 Canon Inc Information processor, information processing method, recording medium and program
JP2007293603A (en) * 2006-04-25 2007-11-08 Mitsubishi Electric Corp Information processor, information processing method and program
JP2008134906A (en) * 2006-11-29 2008-06-12 Hitachi Ltd Business process definition generation method, device and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005321995A (en) * 2004-05-07 2005-11-17 Canon Inc Information processor, information processing method, recording medium and program
JP2007293603A (en) * 2006-04-25 2007-11-08 Mitsubishi Electric Corp Information processor, information processing method and program
JP2008134906A (en) * 2006-11-29 2008-06-12 Hitachi Ltd Business process definition generation method, device and program

Cited By (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043398A (en) * 2010-07-21 2012-03-01 Canon Inc Content printing system, printing relay system, control method, and program
JP2012034140A (en) * 2010-07-29 2012-02-16 Canon Inc Communication device, repeating device, radio communication system, control method of communication device, control method of repeating device and program
US8494442B2 (en) 2010-07-29 2013-07-23 Canon Kabushiki Kaisha Communication apparatus, relay apparatus, wireless communication system, control method of communication apparatus, control method of relay apparatus, and storage medium
US10044881B2 (en) 2010-11-04 2018-08-07 Brother Kogyo Kabushiki Kaisha Relay apparatus, communication system and communicating method
CN102457651A (en) * 2010-11-04 2012-05-16 兄弟工业株式会社 Relay apparatus, communication system and communication method
JP2012099011A (en) * 2010-11-04 2012-05-24 Brother Ind Ltd Communication system and relay device
CN102457651B (en) * 2010-11-04 2014-12-10 兄弟工业株式会社 Relay apparatus, communication system and communication method
JP2012109749A (en) * 2010-11-16 2012-06-07 Konica Minolta Business Technologies Inc Image processing system, image processing server, image forming apparatus, image processing method, and image processing program
US8705103B2 (en) 2010-11-16 2014-04-22 Konica Minolta Business Technologies, Inc. Image processing system, image processing server, image forming apparatus, image processing method, and recording medium
JP2013012066A (en) * 2011-06-29 2013-01-17 Canon Inc Print relay server system, control method therefor, and program
JP2013110716A (en) * 2011-11-24 2013-06-06 Brother Ind Ltd Intermediate server and communication device
US11561811B2 (en) 2014-09-30 2023-01-24 Amazon Technologies, Inc. Threading as a service
US10915371B2 (en) 2014-09-30 2021-02-09 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10824484B2 (en) 2014-09-30 2020-11-03 Amazon Technologies, Inc. Event-driven computing
US11263034B2 (en) 2014-09-30 2022-03-01 Amazon Technologies, Inc. Low latency computational capacity provisioning
US11467890B2 (en) 2014-09-30 2022-10-11 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10956185B2 (en) 2014-09-30 2021-03-23 Amazon Technologies, Inc. Threading as a service
US10592269B2 (en) 2014-09-30 2020-03-17 Amazon Technologies, Inc. Dynamic code deployment and versioning
US10884802B2 (en) 2014-09-30 2021-01-05 Amazon Technologies, Inc. Message-based computation request scheduling
US11126469B2 (en) 2014-12-05 2021-09-21 Amazon Technologies, Inc. Automatic determination of resource sizing
US11360793B2 (en) 2015-02-04 2022-06-14 Amazon Technologies, Inc. Stateful virtual compute system
US10853112B2 (en) 2015-02-04 2020-12-01 Amazon Technologies, Inc. Stateful virtual compute system
US10552193B2 (en) 2015-02-04 2020-02-04 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US11461124B2 (en) 2015-02-04 2022-10-04 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10387177B2 (en) 2015-02-04 2019-08-20 Amazon Technologies, Inc. Stateful virtual compute system
CN107743616A (en) * 2015-04-08 2018-02-27 亚马逊技术有限公司 The end points management system of API agency service is provided
US10623476B2 (en) 2015-04-08 2020-04-14 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
JP2018515835A (en) * 2015-04-08 2018-06-14 アマゾン テクノロジーズ インコーポレイテッド Endpoint management system that provides application programming interface proxy services
US10776171B2 (en) 2015-04-08 2020-09-15 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10365985B2 (en) 2015-12-16 2019-07-30 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10691498B2 (en) 2015-12-21 2020-06-23 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11243819B1 (en) 2015-12-21 2022-02-08 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11016815B2 (en) 2015-12-21 2021-05-25 Amazon Technologies, Inc. Code execution request routing
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US11354169B2 (en) 2016-06-29 2022-06-07 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions
US10402231B2 (en) 2016-06-29 2019-09-03 Amazon Technologies, Inc. Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US11875173B2 (en) 2018-06-25 2024-01-16 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10884722B2 (en) 2018-06-26 2021-01-05 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11836516B2 (en) 2018-07-25 2023-12-05 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11714675B2 (en) 2019-06-20 2023-08-01 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11860879B2 (en) 2019-09-27 2024-01-02 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions

Also Published As

Publication number Publication date
JP5120121B2 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
JP5120121B2 (en) Relay server, relay method, and relay program
US9692927B2 (en) Device, information processing system, and information processing method
JP2006334870A (en) Image processing system, image processor, and image processing program
JP2007243845A (en) Information processing system, information processing apparatus, and terminal registration method
JP4797925B2 (en) Information processing program and information processing system
US9635197B2 (en) Method of executing application installed in outside server and image forming apparatus to perform the same
JP2018007013A (en) Image processing device
JP2008197809A (en) Information processor, proxy processing execution method and proxy processing execution program
JP2014182411A (en) Information processing device, network system, processing execution method, and processing execution program
US11949835B2 (en) Information processing system, information processing method, and communication apparatus
JP5817766B2 (en) Information processing apparatus, communication system, and program
US20050015446A1 (en) Method and apparatus to remotely control electronic apparatuses over a network
JP2010003100A (en) Data processor, data processing method, and data processing program
JP2010074302A (en) Image forming apparatus, information processor, information processing system, information processing method, and program
JP2016015580A (en) Cooperative processing system and cooperative processing method
JP5648433B2 (en) Shared image printing system, shared image printing method, and printing apparatus
US10911611B2 (en) Transmitting fax document by using cloud server
JP6213405B2 (en) Information processing apparatus, image processing apparatus, and external service usage method
JP5585603B2 (en) Image processing apparatus, image processing method, and image processing program
US20080057907A1 (en) Service Usage Control System, Service Usage Controller, Method For The Same, Computer Readable Medium For The Same, And Computer Data Signal of The Same
US11909926B2 (en) Information processing apparatus using cloud, control method therefor, storage medium storing control program therefor, and information processing system, that obtain and store additional print setting information not included in a tenant server that stores print setting information
JP6536309B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
US11444930B2 (en) Computer-readable medium, information processing device, and method for providing better accessibility to cloud server
JP2018005322A (en) Information processing apparatus, operation update method, and operation update program
US20210337081A1 (en) Processing facsimile in cloud server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120904

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121008

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees