JP2018148419A - Information processing system and data transmission/reception method - Google Patents

Information processing system and data transmission/reception method Download PDF

Info

Publication number
JP2018148419A
JP2018148419A JP2017041998A JP2017041998A JP2018148419A JP 2018148419 A JP2018148419 A JP 2018148419A JP 2017041998 A JP2017041998 A JP 2017041998A JP 2017041998 A JP2017041998 A JP 2017041998A JP 2018148419 A JP2018148419 A JP 2018148419A
Authority
JP
Japan
Prior art keywords
cloud server
message
image processing
unit
mfp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017041998A
Other languages
Japanese (ja)
Inventor
高廣 河野
Takahiro Kono
高廣 河野
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 Inc
Original Assignee
Konica Minolta 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 Inc filed Critical Konica Minolta Inc
Priority to JP2017041998A priority Critical patent/JP2018148419A/en
Publication of JP2018148419A publication Critical patent/JP2018148419A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the influence of fluctuation of network load on a response time in transmitting data via multiple networks.SOLUTION: When a gateway apparatus 200 receives a message addressed to an image processing apparatus 100 from a cloud server 300 via the Internet 5, the gateway apparatus 200 transmits the received message to the image processing apparatus 100 via a LAN 3 instead of the cloud server 300, but when the gateway apparatus 200 continuously receives a plurality of messages addressed to the image processing apparatus 100 from the cloud server 300, the gateway apparatus 200 does not transmit a second message received after a first message from among the received plural messages until a request signal is received from the image processing apparatus 100 after transmitting the first message to the image processing apparatus 100.SELECTED DRAWING: Figure 1

Description

この発明は、情報処理システムおよびデータ送受信方法に関し、特に、異なる2以上のネットワークを経由する情報処理システムおよびその情報処理システムで実行されるデータ送受信方法に関する。   The present invention relates to an information processing system and a data transmission / reception method, and more particularly, to an information processing system passing through two or more different networks and a data transmission / reception method executed in the information processing system.

インターネットに接続されたクラウドサーバーが提供するサービスを利用して、ローカルエリアネットワーク(以下「LAN」という)に接続された複合機(以下「MFP」という)を制御する場合がある。クラウドサーバーとMFPとの間の通信は、インターネットとLANとを接続するゲートウェイとして機能する中継装置を経由する。この接続形態の場合、MFPがクラウドサーバーにデータの送信を要求し、クラウドサーバーがMFPからの要求に応じてデータを送信するHTTP(Hypertext Transfer Protocol)の通信手順が採用されるのが一般的である。この通信手順において、MFPがデータを要求してから受信するまでのレスポンスタイムは短いほど効率がよい。   In some cases, a multifunction peripheral (hereinafter referred to as “MFP”) connected to a local area network (hereinafter referred to as “LAN”) is controlled using a service provided by a cloud server connected to the Internet. Communication between the cloud server and the MFP passes through a relay device that functions as a gateway connecting the Internet and the LAN. In the case of this connection mode, it is common to adopt an HTTP (Hypertext Transfer Protocol) communication procedure in which the MFP requests data transmission to the cloud server and the cloud server transmits data in response to the request from the MFP. is there. In this communication procedure, the shorter the response time from when the MFP requests the data to when the data is received, the better the efficiency.

また、MFPが1つ単位の処理を実行するために用いるデータが複数のデータからなる場合がある。例えば、MFPで1つの画面を表示するためのデータが、画面の背景となる固定データと、画面に表示される設定値等の変動データと、を含む場合である。この場合、MFPはクラウドサーバーから固定データを受信した後に、クラウドサーバーに変動データを要求し、クラウドサーバーから変動データを受信した後に、固定データと変動データとに基づいて画面を表示する。クラウドサーバーは、変更データを生成する前に固定データを送信することができるので、MFPが固定データを要求してから受信するまでのレスポンスタイムをできるだけ短くすることができる。また、クラウドサーバーは、固定データを送信している間に変動データを生成できるので、MFPから変動データの要求後に送信するまでの時間をできるだけ短くすることができる。しかしながら、変動データと固定データとはインターネットを通り、インターネットの負荷は変動することが多いため、MFPが固定データまたは変動データを要求してから受信するまでのレスポンスタイムが長くなる場合があるといった問題がある。   In some cases, the data used by the MFP to execute one unit of processing includes a plurality of data. For example, the data for displaying one screen on the MFP includes fixed data as a background of the screen and variation data such as a setting value displayed on the screen. In this case, the MFP requests the fluctuation data from the cloud server after receiving the fixed data from the cloud server, and displays the screen based on the fixed data and the fluctuation data after receiving the fluctuation data from the cloud server. Since the cloud server can transmit the fixed data before generating the change data, the response time from when the MFP requests the fixed data until it is received can be made as short as possible. Further, since the cloud server can generate the fluctuation data while transmitting the fixed data, it is possible to shorten the time until the transmission after the request for the fluctuation data from the MFP is as short as possible. However, since variable data and fixed data pass through the Internet and the load on the Internet often fluctuates, there is a problem that the response time from when the MFP requests fixed data or fluctuating data until it is received may increase. There is.

特開2013−203236号公報には、車両の外部に設けられた診断ツールとデータ通信可能に構成されるとともに、前記診断ツールからの要求に応答して特定診断データを出力する車載の制御装置ともデータ通信可能に構成された車両用データ出力装置であって、前記特定診断データを保存するキャッシュ記憶部と、前記制御装置から出力された前記特定診断データを前記キャッシュ記憶部に保存するキャッシュ保存部と、前記診断ツールからの要求が、前記特定診断データを求める要求である場合、前記キャッシュ記憶部に保存された特定診断データを読出し、この保存された特定診断データに基づいて前記診断ツールへ応答するキャッシュ読出部を備えることを特徴とする車両用データ出力装置が記載されている。   Japanese Patent Application Laid-Open No. 2013-203236 discloses an in-vehicle control device configured to be capable of data communication with a diagnostic tool provided outside a vehicle and outputting specific diagnostic data in response to a request from the diagnostic tool. A vehicle data output device configured to be capable of data communication, a cache storage unit that stores the specific diagnosis data, and a cache storage unit that stores the specific diagnosis data output from the control device in the cache storage unit When the request from the diagnostic tool is a request for the specific diagnostic data, the specific diagnostic data stored in the cache storage unit is read, and the response to the diagnostic tool is performed based on the stored specific diagnostic data. There is described a vehicular data output device including a cache reading unit.

しかしながら、特開2013−203236号公報に記載の車両用データ出力装置は、診断ツールから要求された特定診断データを、要求前にキャッシュ記憶部に記憶しておかなければならない。このため、クラウドサーバーがMFPからの要求に応じて固定データまたは変動データを送信する通知手順においては、特開2013−203236号公報に記載のように、クラウドサーバーがMFPからの要求前に固定データおよび変動データを定めることができない。   However, the vehicle data output device described in Japanese Patent Application Laid-Open No. 2013-203236 must store the specific diagnosis data requested by the diagnostic tool in the cache storage unit before the request. For this reason, in the notification procedure in which the cloud server transmits fixed data or variable data in response to a request from the MFP, as described in Japanese Patent Application Laid-Open No. 2013-203236, the cloud server receives the fixed data before the request from the MFP. And fluctuation data cannot be determined.

クラウドサーバーがMFPからの要求に応じて、固定データと変動データとを1つのデータとしてMFPに送信することが考えられるが、クラウドサーバーにおいては固定データおよび変動データを生成するための時間が必要となるため、MFPが要求してから固定データおよび変動データを受信するまでのレスポンスタイムが長くなり、レスポンスタイムが長くなる場合があるといった問題がある。
特開2013−203236号公報
The cloud server may send fixed data and variable data to the MFP as a single data in response to a request from the MFP, but the cloud server requires time to generate fixed data and variable data. Therefore, there is a problem that the response time from the request of the MFP to the reception of the fixed data and the fluctuation data becomes long, and the response time may become long.
JP2013-203236A

この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、複数のネットワークを経由したデータの送信において、ネットワークの負荷の変動がレスポンスタイムに与える影響を少なくした中継装置を提供することである。   The present invention has been made to solve the above-described problems, and one of the objects of the present invention is to reduce the influence of fluctuations in network load on the response time in data transmission via a plurality of networks. It is to provide a relay device.

この発明の他の目的は、複数のネットワークを経由したデータの送信において、ネットワークの負荷の変動がレスポンスタイムに与える影響を少なくしたデータ送受信方法を提供することである。   Another object of the present invention is to provide a data transmission / reception method that reduces the influence of fluctuations in network load on response time in data transmission via a plurality of networks.

上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、クラウドサーバーと、画像処理装置と、クラウドサーバーおよび画像処理装置との間の通信を中継する中継装置と、を備えた情報処理システムであって、クラウドサーバーと中継装置とは第1のネットワークを介して通信し、中継装置と画像処理装置とは第2のネットワークを介して通信し、画像処理装置は、与えられた入力情報に従って処理を実行する処理実行手段と、クラウドサーバーから受信されるメッセージが入力情報の一部の場合、クラウドサーバーに入力情報の他の部分のメッセージを要求する要求信号を送信し、他の部分のメッセージをクラウドサーバーから受信する受信制御手段と、を備え、クラウドサーバーは、画像処理装置に処理を実行させるための入力情報が複数のメッセージからなる場合、画像処理装置から要求信号が受信されるまで待つことなく、画像処理装置に中継装置を介して入力情報を構成する複数のメッセージを連続して送信する送信手段を、備え、中継装置は、クラウドサーバーから画像処理装置宛のメッセージを第1のネットワークを介して受信する場合、受信されたメッセージを画像処理装置にクラウドサーバーに代わって第2のネットワークを介して送信する中継手段を備え、中継手段は、クラウドサーバーから画像処理装置宛の複数のメッセージを連続して受信する場合、受信された複数のメッセージのうち第1メッセージを画像処理装置に送信した後、画像処理装置から要求信号が受信されるまで、複数のメッセージのうち第1メッセージより後に受信された第2メッセージを送信しない待機手段を含む。   According to an aspect of the present invention to achieve the above-described object, an information processing system includes a cloud server, an image processing device, and a relay device that relays communication between the cloud server and the image processing device. The cloud server and the relay device communicate via a first network, the relay device and the image processing device communicate via a second network, and the image processing device If the message received from the cloud server is a part of the input information and a process execution means for executing the process according to the input information received, a request signal for requesting a message of the other part of the input information is transmitted to the cloud server, Receiving control means for receiving messages of other parts from the cloud server, and the cloud server performs processing on the image processing apparatus. When the input information to be made up of a plurality of messages, a plurality of messages constituting the input information are continuously transmitted to the image processing device via the relay device without waiting until a request signal is received from the image processing device. When the relay device receives a message addressed to the image processing device from the cloud server via the first network, the relay device receives the received message from the cloud server on behalf of the cloud server. When the relay unit receives a plurality of messages addressed to the image processing apparatus from the cloud server continuously, the relay unit transmits the first message to the image processing apparatus. After the first message of the plurality of messages, a request signal is received from the image processing apparatus. Including standby means does not transmit the received second message.

この局面に従えば、クラウドサーバーによって、入力情報が複数のメッセージからなる場合、画像処理装置から要求信号が受信されるまで待つことなく、入力情報を構成する複数のメッセージが送信される。このため、クラウドサーバーから中継装置に複数のメッセージが第1のネットワークを介して連続して送信されるので、第1のネットワークを介した一度の通信で複数のメッセージを送信することができる。このため、一度の通信で複数のメッセージを送信するので、第1のネットワークの負荷の変動の影響を少なくすることができる。また、中継装置は、クラウドサーバーから複数のメッセージを連続して受信する場合、複数のメッセージのうち第1メッセージを画像処理装置に送信した後、画像処理装置から要求信号が受信されるまで、第1メッセージより後に受信された第2メッセージを送信しない。このため、画像処理装置においては、入力情報を構成する複数のメッセージを第2のネットワークを介した複数の通信で順に受信することができる。このため、画像処理装置におけるレスポンスタイムを短くすることができる。その結果、複数のネットワークを経由したデータの送信において、ネットワークの負荷の変動がレスポンスタイムに与える影響を少なくした中継装置を提供することができる。   According to this aspect, when the input information includes a plurality of messages, the cloud server transmits a plurality of messages constituting the input information without waiting until a request signal is received from the image processing apparatus. For this reason, since a plurality of messages are continuously transmitted from the cloud server to the relay apparatus via the first network, the plurality of messages can be transmitted by one communication via the first network. For this reason, since a plurality of messages are transmitted by one communication, it is possible to reduce the influence of fluctuations in the load of the first network. Further, when the relay device continuously receives a plurality of messages from the cloud server, the relay device transmits the first message among the plurality of messages to the image processing device, and then receives the request signal from the image processing device. The second message received after one message is not transmitted. For this reason, the image processing apparatus can sequentially receive a plurality of messages constituting the input information through a plurality of communications via the second network. For this reason, the response time in the image processing apparatus can be shortened. As a result, it is possible to provide a relay apparatus that reduces the influence of fluctuations in the network load on the response time in data transmission via a plurality of networks.

好ましくは、クラウドサーバーが備える送信手段は、複数のメッセージのうちに送信対象となる送信対象メッセージの他に未だ送信されていない未送信メッセージが存在する場合に、未送信メッセージが存在することを通知する通知手段を、含み、中継装置が備える中継手段は、未送信メッセージが存在することが通知される場合に、クラウドサーバーから複数のメッセージが送信されると判断する判断手段を含む。   Preferably, the transmission means provided in the cloud server notifies that there is an unsent message when there is an unsent message that has not yet been sent in addition to the message to be sent among the plurality of messages. The relay unit included in the relay apparatus includes a determination unit that determines that a plurality of messages are transmitted from the cloud server when notified that an unsent message exists.

この局面に従えば、中継装置は、未だ送信されていないメッセージが存在することが通知される場合に、複数のメッセージが送信されると判断するので、中継装置が複数のメッセージのすべてを受信することができる。   According to this aspect, the relay device determines that a plurality of messages are transmitted when notified that there is a message that has not yet been transmitted, so the relay device receives all of the plurality of messages. be able to.

好ましくは、通知手段は、中継装置との間の通信経路を維持することを通知する。   Preferably, the notification means notifies that the communication path with the relay device is maintained.

この局面に従えば、クラウドサーバーと中継装置との間の通信経路が維持されるので、複数のメッセージを送受信するための通信経路を確立する回数を一度にすることができる。   According to this aspect, since the communication path between the cloud server and the relay device is maintained, the number of times for establishing the communication path for transmitting and receiving a plurality of messages can be made once.

好ましくは、通知手段は、HTTP(Hypertext Transfer Protocol)で定められた持続的接続機能を用いて送信対象のメッセージを送信する。   Preferably, the notifying unit transmits a message to be transmitted using a persistent connection function defined by HTTP (Hypertext Transfer Protocol).

この局面に従えば、汎用的な規格で定められた機能を用いるので、情報処理システムを容易に構築することができる。   According to this aspect, since the function defined by the general-purpose standard is used, the information processing system can be easily constructed.

好ましくは、クラウドサーバーから受信された第2メッセージを、画像処理装置から要求信号が受信されるまで一時記憶する一時記憶手段を、さらに備える。   Preferably, temporary storage means for temporarily storing the second message received from the cloud server until a request signal is received from the image processing apparatus is further provided.

この局面に従えば、第2メッセージが一時記憶されるので、クラウドサーバーとの間で通信する時間を短くすることができる。   According to this aspect, since the second message is temporarily stored, the time for communication with the cloud server can be shortened.

好ましくは、中継装置は、画像処理装置との間の通信経路で異常が発生した場合、クラウドサーバーに異常が発生したことを通知するとともに、一時記憶された第2メッセージを消去する消去手段を、さらに備える。   Preferably, when an abnormality occurs in the communication path with the image processing apparatus, the relay apparatus notifies the cloud server that an abnormality has occurred, and an erasure unit that erases the temporarily stored second message, Further prepare.

この局面に従えば、クラウドサーバーに異常が発生したことが通知されるので、クラウドサーバーにおいてメッセージの送信に失敗したことを検出することができる。また、一時記憶された第2メッセージが消去されるので、不要なメッセージがいつまでも記憶されるのを回避してメモリ資源を有効に利用することができる。   According to this aspect, since the cloud server is notified that an abnormality has occurred, it can be detected that the message transmission has failed in the cloud server. In addition, since the temporarily stored second message is deleted, it is possible to effectively use memory resources by avoiding storing unnecessary messages forever.

好ましくは、クラウドサーバーが備える送信手段は、画像処理装置または画像処理装置とは別の外部装置からの要求に応じて、入力情報を画像処理装置に送信する。   Preferably, the transmission unit included in the cloud server transmits the input information to the image processing apparatus in response to a request from the image processing apparatus or an external apparatus different from the image processing apparatus.

この局面に従えば、画像処理装置を操作するユーザーまたは、外部装置を操作するユーザーが、画像処理装置に入力情報を処理させることができる。   According to this aspect, the user who operates the image processing apparatus or the user who operates the external apparatus can cause the image processing apparatus to process input information.

好ましくは、ファイアーウォールの外部に配置された管理サーバーを、さらに備え、クラウドサーバーは、ファイアーウォールの外部に配置され、画像処理装置はファイアーウォールの内部に配置され、クラウドサーバーは、画像処理装置とは別の外部装置からの要求に応じて、接続先のアドレス情報としてクラウドサーバーに予め定められたアドレス情報と、接続元のアドレス情報として画像処理装置のアドレス情報とを含む接続要求を管理サーバーに送信する接続要求手段を、備え、管理サーバーは、中継装置からの要求に基づいて、中継装置との間で通信するための常時接続セッションを確立するサーバー側確立手段と、クラウドサーバーから接続要求を受信することに応じて、接続要求を中継装置に常時接続セッションを介して送信するトンネル接続要求手段と、を備え、中継装置は、管理サーバーとの間で常時接続セッションを確立する常時接続セッション確立手段と、管理サーバーから常時接続セッションを介して接続要求が受信されることに応じて、接続要求に含まれる接続先のアドレス情報を用いてクラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、管理サーバーから受信された接続要求に含まれる接続元のアドレス情報で特定される画像処理装置との間で第2通信セッションを確立する第2セッション確立手段と、を備え、中継手段は、第1通信セッションと第2通信セッションとを用いて、クラウドサーバーと画像処理装置との間の通信を中継し、送信手段は、入力情報を第1通信セッションを介して画像処理装置に送信する。   Preferably, the image processing apparatus further includes a management server arranged outside the firewall, the cloud server is arranged outside the firewall, the image processing apparatus is arranged inside the firewall, and the cloud server is connected to the image processing apparatus. In response to a request from another external device, the management server sends a connection request including address information predetermined in the cloud server as connection destination address information and address information of the image processing device as connection source address information. A connection request means for transmitting, and the management server establishes a constant connection session for communicating with the relay apparatus based on a request from the relay apparatus, and a connection request from the cloud server. Send connection request to relay device via always-on session in response to receipt A tunnel connection requesting means, and the relay device receives a connection request from the management server via the always-on connection session establishing means for establishing an always-on connection session with the management server. In response, the first session establishing means for establishing the first communication session with the cloud server using the address information of the connection destination included in the connection request, and the connection source included in the connection request received from the management server Second session establishing means for establishing a second communication session with the image processing apparatus specified by the address information, and the relay means uses the first communication session and the second communication session to And the transmission means transmits the input information to the image processing device via the first communication session. .

この局面に従えば、ファイアーウォールの外部に配置されたクラウドサーバーからファイアーウォールの内部に配置された画像処理装置にメッセージを送信することができ、ファイアーウォールの外部のネットワークの負荷の変動が画像処理装置におけるレスポンスタイムに与える影響を少なくすることができる。   According to this aspect, a message can be sent from a cloud server placed outside the firewall to an image processing device placed inside the firewall, and fluctuations in the network load outside the firewall The influence on the response time in the apparatus can be reduced.

この発明の他の局面によれば、データ送受信方法は、クラウドサーバーと、画像処理装置と、クラウドサーバーおよび画像処理装置との間の通信を中継する中継装置と、を備えた情報処理システムで実行されるデータ送受信方法であって、クラウドサーバーと中継装置とは第1のネットワークを介して通信し、中継装置と画像処理装置とは第2のネットワークを介して通信し、クラウドサーバーと、画像処理装置と、クラウドサーバーおよび画像処理装置との間の通信を中継する中継装置と、を備えた情報処理システムであって、クラウドサーバーと中継装置とは第1のネットワークを介して通信し、中継装置と画像処理装置とは第2のネットワークを介して通信し、画像処理装置に、与えられた入力情報に従って処理を実行する処理実行ステップと、クラウドサーバーから受信されるメッセージが入力情報の一部の場合、クラウドサーバーに入力情報の他の部分のメッセージを要求する要求信号を送信し、他の部分のメッセージをクラウドサーバーから受信する受信制御ステップと、を実行させ、クラウドサーバーに、画像処理装置に処理を実行させるための入力情報が複数のメッセージからなる場合、画像処理装置から要求信号が受信されるまで待つことなく、画像処理装置に中継装置を介して入力情報を構成する複数のメッセージを連続して送信する送信ステップを実行させ、中継装置に、クラウドサーバーから画像処理装置宛のメッセージを第1のネットワークを介して受信する場合、受信されたメッセージを画像処理装置にクラウドサーバーに代わって第2のネットワークを介して送信する中継ステップを実行させ、中継ステップは、クラウドサーバーから画像処理装置宛の複数のメッセージを連続して受信する場合、受信された複数のメッセージのうち第1メッセージを画像処理装置に送信した後、画像処理装置から要求信号が受信されるまで、複数のメッセージのうち第1メッセージより後に受信された第2メッセージを送信しない待機ステップを含む。   According to another aspect of the present invention, a data transmission / reception method is executed by an information processing system including a cloud server, an image processing device, and a relay device that relays communication between the cloud server and the image processing device. In this method, the cloud server and the relay device communicate with each other via the first network, and the relay device and the image processing device communicate with each other via the second network. An information processing system comprising a device and a relay device that relays communication between a cloud server and an image processing device, wherein the cloud server and the relay device communicate via a first network, and the relay device And the image processing apparatus communicate with each other via the second network, and the image processing apparatus executes a process according to given input information. If the message received from the cloud server is part of the input information, a request signal is sent to the cloud server to request a message for the other part of the input information, and the message for the other part is received from the cloud server. When the input information for causing the cloud server to execute processing on the image processing apparatus includes a plurality of messages, without waiting until a request signal is received from the image processing apparatus. Causing the processing device to execute a transmission step of continuously transmitting a plurality of messages constituting the input information via the relay device, and causing the relay device to receive a message addressed to the image processing device from the cloud server via the first network. The received message is sent to the image processing apparatus on the second network on behalf of the cloud server. When the relay step receives a plurality of messages addressed to the image processing apparatus from the cloud server continuously, the relay step transmits the first message to the image processing apparatus. After the transmission, a waiting step is included in which the second message received after the first message among the plurality of messages is not transmitted until a request signal is received from the image processing apparatus.

この局面に従えば、複数のネットワークを経由したデータの送信において、ネットワークの負荷の変動がレスポンスタイムに与える影響を少なくしたデータ送受信方法を提供することができる。   According to this aspect, it is possible to provide a data transmission / reception method that reduces the influence of fluctuations in the network load on the response time in data transmission via a plurality of networks.

本発明の実施の形態の1つにおける情報処理システムの全体概要の一例を示す図である。It is a figure showing an example of the whole outline of an information processing system in one of the embodiments of the invention. ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。It is a block diagram which shows an example of the outline | summary of the hardware constitutions of a gateway apparatus. MFPのハードウェア構成の概要の一例を示すブロック図である。2 is a block diagram illustrating an example of an outline of a hardware configuration of an MFP. FIG. 本実施の形態におけるクラウドサーバーのハードウェア構成の概要の一例を示すブロック図である。It is a block diagram which shows an example of the outline | summary of the hardware constitutions of the cloud server in this Embodiment. ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。It is a block diagram which shows an example of the function of CPU with which a gateway apparatus is provided. クラウドサーバーが備えるCPUの機能の一例を示すブロック図である。It is a block diagram which shows an example of the function of CPU with which a cloud server is provided. MFPが備えるCPUが有する機能の一例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of functions of a CPU included in an MFP. 情報システムにおける情報の流れの一例を示す第1の図である。It is a 1st figure which shows an example of the flow of the information in an information system. 情報システムにおける情報の流れの一例を示す第2の図である。It is a 2nd figure which shows an example of the flow of the information in an information system. 中継処理の流れの一例を示す第1のフローチャートである。It is a 1st flowchart which shows an example of the flow of a relay process. 中継処理の流れの一例を示す第2のフローチャートである。It is a 2nd flowchart which shows an example of the flow of a relay process. サービス提供処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a service provision process. 装置制御処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of an apparatus control process.

以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。   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を参照して、情報処理システム1は、管理サーバー400と、クラウドサーバー300と、中継装置として機能するゲートウェイ(G/W)装置200と、画像処理装置として機能するMFP(Multi Function Peripheral)100,100A,100Bと、を含む。管理サーバー400、クラウドサーバー300、およびゲートウェイ装置200それぞれは、インターネット5に接続されており、インターネット5を介して互いに通信可能である。さらに、管理サーバー400、クラウドサーバー300、およびゲートウェイ装置200それぞれは、インターネット5に接続された他のコンピューターと通信可能である。   FIG. 1 is a diagram showing an example of the overall outline of an information processing system in one embodiment of the present invention. Referring to FIG. 1, an information processing system 1 includes a management server 400, a cloud server 300, a gateway (G / W) device 200 that functions as a relay device, and an MFP (Multi Function Peripheral) that functions as an image processing device. 100, 100A, 100B. Each of the management server 400, the cloud server 300, and the gateway device 200 is connected to the Internet 5 and can communicate with each other via the Internet 5. Further, each of the management server 400, the cloud server 300, and the gateway device 200 can communicate with other computers connected to the Internet 5.

ゲートウェイ装置200は、さらに、ローカルエリアネットワーク(LAN)3と接続されており、そのLAN3に、MFP100,100A,100Bが接続されている。ゲートウェイ装置200は、LAN3に接続されたMFP100,100A,100Bと通信可能である。さらに、ゲートウェイ装置200およびMFP100,100A,100Bそれぞれは、LAN3に接続された他のコンピューターと通信可能である。   The gateway device 200 is further connected to a local area network (LAN) 3, and MFPs 100, 100 A, and 100 B are connected to the LAN 3. The gateway device 200 can communicate with MFPs 100, 100A, and 100B connected to the LAN 3. Furthermore, each of gateway apparatus 200 and MFPs 100, 100 </ b> A, and 100 </ b> B can communicate with other computers connected to LAN 3.

ゲートウェイ装置200は、ファイアーウォール機能を有し、ファイアーウォールの内部のLAN3と、ファイアーウォールの外部のインターネット5とを接続する。ゲートウェイ装置200は、インターネット5に接続された管理サーバー400およびクラウドサーバー300から、LAN3に接続されたMFP100,100A,100Bへのアクセスを制限する。ゲートウェイ装置200が有するファイアーウォール機能は、特に限定するものではないが、パケットに含まれるアドレスに基づいて通信の許可または不許可を判定するパケットフィルター型のファイアーウォール機能である。なお、アプリケーション層のプロトコルのレベルで外部との通信を代替し、制御するアプリケーション型のファイアーウォール機能であってもよい。なお、ゲートウェイ装置200が配置される位置は、ファイアーウォールの内部である。   The gateway device 200 has a firewall function, and connects the LAN 3 inside the firewall and the Internet 5 outside the firewall. The gateway device 200 restricts access from the management server 400 and the cloud server 300 connected to the Internet 5 to the MFPs 100, 100A, and 100B connected to the LAN 3. The firewall function of the gateway device 200 is not particularly limited, but is a packet filter type firewall function that determines whether communication is permitted or not based on an address included in a packet. Note that an application-type firewall function may be used in which communication with the outside is substituted and controlled at the protocol level of the application layer. In addition, the position where the gateway device 200 is arranged is inside the firewall.

本実施の形態における情報処理システム1においては、ファイアーウォールの外部のインターネット5に接続されたクラウドサーバー300が、ファイアーウォールの内部のLAN3に接続されたMFP100,100A,100Bのいずれかを制御することを可能にする。クラウドサーバー300は、ファイアーウォールの内部のLAN3に接続されたパーソナルコンピューター(以下「PC」という)からアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、ファイアーウォールの外部のインターネット5に接続されたPCからアクセスされて、そのPCを操作するユーザーによる指示にしたがってサービスを提供するための処理を実行する場合と、がある。ここでは、一例として、クラウドサーバー300が、それが提供するサービスに基づく処理を実行し、その結果を示す画面をMFP100に送信する場合を例に説明する。この場合、クラウドサーバー300は、処理の結果を示す画面の背景となる固定データと、処理の結果得られる変動データとを送信する。   In the information processing system 1 according to the present embodiment, the cloud server 300 connected to the Internet 5 outside the firewall controls any of the MFPs 100, 100A, and 100B connected to the LAN 3 inside the firewall. Enable. When the cloud server 300 is accessed from a personal computer (hereinafter referred to as “PC”) connected to the LAN 3 inside the firewall and executes a process for providing a service in accordance with an instruction from a user operating the PC And a case where access is made from a PC connected to the Internet 5 outside the firewall and processing for providing a service is executed in accordance with an instruction from a user operating the PC. Here, as an example, a case will be described in which cloud server 300 executes processing based on a service provided by cloud server 300 and transmits a screen indicating the result to MFP 100 as an example. In this case, the cloud server 300 transmits fixed data that is the background of the screen indicating the result of the process and fluctuation data obtained as a result of the process.

クラウドサーバー300がMFP100に送信する固定データおよび変動データが、ゲートウェイ装置200のファイアーウォールを通過するようにするために、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間でトンネル接続を確立する。トンネル接続を確立する技術は、種々の方法があるが、ここでは、管理サーバー400がトンネル接続を支援する方法を例に説明する。なお、トンネル接続の方法は、管理サーバー400を用いる場合に、限定されることなく、他の方法を用いてもよい。   The gateway device 200 establishes a tunnel connection between the cloud server 300 and the MFP 100 so that the fixed data and the variation data transmitted from the cloud server 300 to the MFP 100 pass through the firewall of the gateway device 200. There are various methods for establishing a tunnel connection. Here, a method in which the management server 400 supports a tunnel connection will be described as an example. The tunnel connection method is not limited to the case where the management server 400 is used, and other methods may be used.

ゲートウェイ装置200は、予め記憶された管理サーバー400のネットワークアドレスを用いて管理サーバー400との間で通信セッションの確立を要求する。ゲートウェイ装置200は、ファイアーウォールの内部であり、管理サーバー400は、ファイアーウォールの外部なので、ファイアーウォールを通過する通信セッションが確立される。この通信セッションを、以下、常時接続セッションという。   The gateway device 200 requests establishment of a communication session with the management server 400 using the network address of the management server 400 stored in advance. Since the gateway device 200 is inside the firewall and the management server 400 is outside the firewall, a communication session passing through the firewall is established. Hereinafter, this communication session is referred to as a constant connection session.

ゲートウェイ装置200は、管理サーバー400との間で常時接続セッションを確立すると、LAN3に接続されたMFP100,100A,100Bそれぞれを識別するための装置識別情報を管理サーバー400に常時接続セッションを介して送信する。管理サーバー400においては、ゲートウェイ装置200に接続されたMFP100,100A,100Bを認識する。   When the gateway device 200 establishes a constant connection session with the management server 400, the gateway device 200 transmits device identification information for identifying each of the MFPs 100, 100A, and 100B connected to the LAN 3 to the management server 400 via the constant connection session. To do. The management server 400 recognizes the MFPs 100, 100A, 100B connected to the gateway device 200.

次に、クラウドサーバー300が管理サーバー400との間で、通信セッションを確立する。ここで、クラウドサーバー300と管理サーバー400との間で確立される通信セッションをグローバルセッションという。管理サーバー400は、ゲートウェイ装置200から受信されたMFP100,100A,100Bそれぞれの装置識別情報を受信しているので、クラウドサーバー300を操作するユーザーに対して、トンネル接続が可能な装置としてMFP100,100A,100Bのうちからいずれかを選択させる。ここでは、クラウドサーバー300を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合を例に説明する。   Next, the cloud server 300 establishes a communication session with the management server 400. Here, a communication session established between the cloud server 300 and the management server 400 is referred to as a global session. Since the management server 400 receives the device identification information of each of the MFPs 100, 100A, and 100B received from the gateway device 200, the MFP 100, 100A is a device that can be tunnel-connected to the user who operates the cloud server 300. , 100B is selected. Here, a case will be described as an example where MFP 100 is selected as an apparatus to be tunnel-connected by a user who operates cloud server 300.

クラウドサーバー300は、クラウドサーバー300を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合、MFP100のアドレス情報と、クラウドサーバー300のアドレス情報とを含む接続要求を管理サーバー400に送信する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー300のアドレス情報は、クラウドサーバー300のネットワークアドレスと、クラウドサーバー300が実行するジョブのジョブIDと、を含む。ここでは、クラウドサーバー300のアドレス情報を、MFP100からクラウドサーバー300にアクセスするためのURL(Uniform Resource Locator)としている。URLには、例えば「https://www.example.com/print_service?job_id=j00123:60001」のように、クラウドサーバー300のネットワークアドレス(ドメイン名)、ウェブページの識別子、クラウドサーバー300が実行するジョブの識別子(ジョブID)、および待ち受けポートのポート番号などが含まれる。待ち受けポートとして、所定の範囲のポートのうち未使用のものが用いられる。また、ジョブIDとして、ユニークなIDが発行される。クラウドサーバー300が実行するジョブは、クラウドサーバー300が提供するサービスのうちクラウドサーバー300を操作するユーザーによって指定されたサービスに対応するジョブである。クラウドサーバー300のアドレス情報であるURLが、ジョブIDを含むため、そのURLにアクセスしてきた装置をジョブIDにより特定されるジョブと対応付けることができる。換言すれば、クラウドサーバー300を操作するユーザーによって指定されたサービスを実行するジョブを、接続要求をした装置、ここではMFP100と対応付けることができる。   When MFP 100 is selected as a device to be tunneled by the user who operates cloud server 300, cloud server 300 transmits a connection request including address information of MFP 100 and address information of cloud server 300 to management server 400. . The address information of MFP 100 includes device identification information of gateway device 200 and device identification information of MFP 100. The address information of the cloud server 300 includes the network address of the cloud server 300 and the job ID of the job executed by the cloud server 300. Here, the address information of the cloud server 300 is a URL (Uniform Resource Locator) for accessing the cloud server 300 from the MFP 100. As the URL, for example, “https://www.example.com/print_service?job_id=j00123:60001”, the network address (domain name) of the cloud server 300, the identifier of the web page, and the cloud server 300 execute A job identifier (job ID), a port number of a standby port, and the like are included. As the standby port, an unused port in a predetermined range is used. A unique ID is issued as the job ID. The job executed by the cloud server 300 is a job corresponding to a service designated by a user operating the cloud server 300 among services provided by the cloud server 300. Since the URL that is the address information of the cloud server 300 includes the job ID, the device that has accessed the URL can be associated with the job specified by the job ID. In other words, a job for executing a service designated by a user operating the cloud server 300 can be associated with the apparatus that has requested connection, in this case, the MFP 100.

管理サーバー400は、クラウドサーバー300から接続要求を受信する場合、接続要求に含まれるMFP100のアドレス情報に含まれるゲートウェイ装置200の装置識別情報に基づいてゲートウェイ装置200を特定し、接続要求をゲートウェイ装置200に常時接続セッションを介して転送する。この場合、接続要求を、常時接続セッションに対応するプロトコルに応じてカプセル化して送信する。   When the management server 400 receives a connection request from the cloud server 300, the management server 400 identifies the gateway device 200 based on the device identification information of the gateway device 200 included in the address information of the MFP 100 included in the connection request, and sends the connection request to the gateway device. 200 through a always-on session. In this case, the connection request is encapsulated and transmitted according to the protocol corresponding to the always-on session.

ゲートウェイ装置200は、さらに、管理サーバー400から接続要求を受信すると、接続要求に含まれるクラウドサーバー300のアドレス情報に基づいて、クラウドサーバー300との間で通信セッションを確立する。ここで、ゲートウェイ装置200とクラウドサーバー300との間で確立される通信セッションを第1通信セッションという。これにより、ファイアーウォールを通過するトンネル接続が完了する。   Further, when receiving the connection request from the management server 400, the gateway device 200 establishes a communication session with the cloud server 300 based on the address information of the cloud server 300 included in the connection request. Here, a communication session established between the gateway device 200 and the cloud server 300 is referred to as a first communication session. This completes the tunnel connection through the firewall.

ゲートウェイ装置200は、管理サーバー400から接続要求を受信すると、接続要求に含まれるMFP100のアドレス情報に含まれるMFP100の装置識別情報に基づいてMFP100を特定し、MFP100との間で通信セッションを確立する。ここで、ゲートウェイ装置200とMFP100との間で確立される通信セッションを第2通信セッションという。   Upon receiving the connection request from management server 400, gateway device 200 identifies MFP 100 based on the device identification information of MFP 100 included in the address information of MFP 100 included in the connection request, and establishes a communication session with MFP 100. . Here, a communication session established between gateway apparatus 200 and MFP 100 is referred to as a second communication session.

ゲートウェイ装置200は、クラウドサーバー300との間で確立された第1通信セッションと、MFP100との間で確立された第2通信セッションとを用いて、クラウドサーバー300とMFP100との間の通信を中継する。例えば、第1通信セッションと、第2通信セッションとを接続することによって、クラウドサーバー300とMFP100との間の通信を中継する。   Gateway device 200 relays communication between cloud server 300 and MFP 100 using the first communication session established with cloud server 300 and the second communication session established with MFP 100. To do. For example, the communication between the cloud server 300 and the MFP 100 is relayed by connecting the first communication session and the second communication session.

図2は、ゲートウェイ装置のハードウェア構成の概要の一例を示すブロック図である。図2を参照して、本実施の形態におけるゲートウェイ装置200は、ゲートウェイ装置200の全体を制御するためのCPU(Central Processing Unit)201と、CPU201が実行するためのプログラム等を記憶するROM(Read Only Memory)202と、CPU201の作業領域として用いられるRAM(Random Access Memory)203と、データを不揮発的に記憶するフラッシュメモリ204と、第1通信部205と、第2通信部206と、外部記憶装置209と、を含む。   FIG. 2 is a block diagram illustrating an example of an outline of a hardware configuration of the gateway device. Referring to FIG. 2, gateway device 200 in the present embodiment includes a CPU (Central Processing Unit) 201 for controlling the entire gateway device 200, and a ROM (Read) that stores a program and the like for CPU 201 to execute. (Only Memory) 202, RAM (Random Access Memory) 203 used as a work area of CPU 201, flash memory 204 for storing data in a nonvolatile manner, first communication unit 205, second communication unit 206, and external storage An apparatus 209.

第1通信部205は、ゲートウェイ装置200をインターネット5に接続するための通信インターフェース(I/F)である。第2通信部206は、ゲートウェイ装置200をLAN3に接続するための通信インターフェース(I/F)である。   The first communication unit 205 is a communication interface (I / F) for connecting the gateway device 200 to the Internet 5. The second communication unit 206 is a communication interface (I / F) for connecting the gateway device 200 to the LAN 3.

フラッシュメモリ204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ204に記録されたプログラムを、RAM203にロードして実行する。外部記憶装置209は、ゲートウェイ装置200に着脱自在であり、プログラムを記憶したCD−ROM(Compact Disk ROM)209Aが装着可能である。CPU201は、外部記憶装置209を介してCD−ROM209Aにアクセス可能である。CPU201は、外部記憶装置209に装着されたCD−ROM209Aに記録された中継プログラムを、RAM203にロードして実行することが可能である。   The flash memory 204 stores a program executed by the CPU 201 or data necessary for executing the program. The CPU 201 loads the program recorded in the flash memory 204 to the RAM 203 and executes it. The external storage device 209 is detachable from the gateway device 200, and a CD-ROM (Compact Disk ROM) 209A storing a program can be attached thereto. The CPU 201 can access the CD-ROM 209A via the external storage device 209. The CPU 201 can load the relay program recorded on the CD-ROM 209A attached to the external storage device 209 into the RAM 203 and execute it.

なお、CPU201が実行するプログラムとして、フラッシュメモリ204またはCD−ROM209Aに記録されたプログラムについて説明したが、インターネット5に接続された他のコンピューターが、フラッシュメモリ204に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、ゲートウェイ装置200が、インターネット5に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   Although the program recorded in the flash memory 204 or the CD-ROM 209A has been described as a program executed by the CPU 201, a program in which another computer connected to the Internet 5 rewrites the program stored in the flash memory 204, Alternatively, it may be a new program written additionally. Further, the gateway device 200 may be a program downloaded from another computer connected to the Internet 5. The program here includes not only a program directly executable by the CPU 201 but also a source program, a compressed program, an encrypted program, and the like.

なお、CPU201が実行するプログラムを記憶する媒体としては、CD−ROM209Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。   The medium for storing the program executed by the CPU 201 is not limited to the CD-ROM 209A, but an optical disc (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC card, optical card, It may be a semiconductor memory such as a mask ROM, an EPROM (Erasable Programmable ROM), or an EEPROM (Electrically EPROM).

MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。   Since the hardware configurations and functions of the MFPs 100, 100A, and 100B are the same, the MFP 100 will be described as an example unless otherwise specified.

図3は、MFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。   FIG. 3 is a block diagram illustrating an example of an outline of the hardware configuration of the MFP. Referring to FIG. 3, MFP 100 includes a main circuit 110, a document reading unit 130 for reading a document, an automatic document feeder 120 for transporting a document to document reading unit 130, and document reading unit 130. An image forming unit 140 for forming an image on a sheet or the like based on image data output by reading the image, a sheet feeding unit 150 for supplying the image to the image forming unit 140, and processing the sheet on which the image is formed A post-processing unit 155 and an operation panel 160 as a user interface.

後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。   The post-processing unit 155 executes a sorting process for sorting and discharging one or more sheets on which images are formed by the image forming unit 140, a punching process for punch hole processing, and a staple process for driving staple needles.

メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。   The main circuit 110 includes a CPU 111, a communication interface (I / F) unit 112, a ROM 113, a RAM 114, a hard disk drive (HDD) 115 as a mass storage device, a facsimile unit 116, and a CD-ROM 118. External storage device 117. CPU 111 is connected to automatic document feeder 120, document reading unit 130, image forming unit 140, paper feeding unit 150, post-processing unit 155, and operation panel 160, and controls the entire MFP 100.

ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。   The ROM 113 stores a program executed by the CPU 111 or data necessary for executing the program. The RAM 114 is used as a work area when the CPU 111 executes a program. The RAM 114 temporarily stores read data (image data) continuously sent from the document reading unit 130.

操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネル165をさらに含む。   Operation panel 160 is provided on the upper surface of MFP 100 and includes a display unit 161 and an operation unit 163. The display unit 161 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 163 includes a hard key unit 167 including a plurality of keys, and accepts input of various instructions, data such as characters and numbers by user operations corresponding to the keys. The operation unit 163 further includes a touch panel 165 provided on the display unit 161.

通信I/F部112は、MFP100をLAN3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、LAN3に接続された装置との間で通信し、データを送受信する。さらに、通信I/F部112は、ゲートウェイ装置200を介して、インターネット5に接続されたコンピューター、例えば、管理サーバー400、クラウドサーバー300と通信が可能である。   Communication I / F unit 112 is an interface for connecting MFP 100 to LAN 3. The CPU 111 communicates with a device connected to the LAN 3 via the communication I / F unit 112 to transmit / receive data. Further, the communication I / F unit 112 can communicate with a computer connected to the Internet 5 via the gateway device 200, for example, the management server 400 and the cloud server 300.

ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。   The facsimile unit 116 is connected to the public switched telephone network (PSTN) and transmits facsimile data to the PSTN or receives facsimile data from the PSTN. The facsimile unit 116 stores the received facsimile data in the HDD 115 or outputs it to the image forming unit 140. The image forming unit 140 prints the facsimile data received by the facsimile unit 116 on a sheet. Further, the facsimile unit 116 converts the data stored in the HDD 115 into facsimile data, and transmits the facsimile data to a facsimile machine connected to the PSTN.

外部記憶装置117は、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。   The external storage device 117 is loaded with a CD-ROM 118. The CPU 111 can access the CD-ROM 118 via the external storage device 117. The CPU 111 loads the program recorded on the CD-ROM 118 attached to the external storage device 117 to the RAM 114 and executes it. The medium for storing the program executed by the CPU 111 is not limited to the CD-ROM 118, and may be a semiconductor memory such as an optical disk (MO / MD / DVD), IC card, optical card, mask ROM, EPROM, or EEPROM. Good.

また、CPU111は、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、LAN3またはインターネット5に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、LAN3またはインターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   Further, the CPU 111 may load a program stored in the HDD 115 into the RAM 114 and execute it. In this case, another computer connected to the LAN 3 or the Internet 5 may rewrite the program stored in the HDD 115 of the MFP 100 or may add a new program and write it. Further, MFP 100 may download a program from another computer connected to LAN 3 or Internet 5 and store the program in HDD 115. 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.

図4は、本実施の形態におけるクラウドサーバーのハードウェア構成の概要の一例を示すブロック図である。図4を参照して、クラウドサーバー300は、クラウドサーバー300の全体を制御するためのCPU301と、CPU301が実行するためのプログラムを記憶するROM302と、CPU301の作業領域として使用されるRAM303と、データを不揮発的に記憶するHDD304と、CPU301をインターネット5に接続する通信部305と、情報を表示する表示部306と、ユーザーの操作の入力を受け付ける操作部307と、外部記憶装置309と、を含む。   FIG. 4 is a block diagram illustrating an example of an outline of the hardware configuration of the cloud server according to the present embodiment. Referring to FIG. 4, the cloud server 300 includes a CPU 301 for controlling the entire cloud server 300, a ROM 302 for storing a program to be executed by the CPU 301, a RAM 303 used as a work area for the CPU 301, and data Including a communication unit 305 for connecting the CPU 301 to the Internet 5, a display unit 306 for displaying information, an operation unit 307 for accepting user operation input, and an external storage device 309. .

外部記憶装置309は、CD−ROM309Aが装着される。CPU301は、外部記憶装置309を介してCD−ROM309Aにアクセス可能である。CPU301は、外部記憶装置309に装着されたCD−ROM309Aに記録されたプログラムをRAM303にロードして実行する。なお、CPU301が実行するプログラムを記憶する媒体としては、CD−ROM309Aに限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。   The external storage device 309 is loaded with a CD-ROM 309A. The CPU 301 can access the CD-ROM 309A via the external storage device 309. The CPU 301 loads the program recorded on the CD-ROM 309A mounted on the external storage device 309 into the RAM 303 and executes it. The medium for storing the program executed by the CPU 301 is not limited to the CD-ROM 309A, and may be a semiconductor memory such as an optical disk, an IC card, an optical card, a mask ROM, an EPROM, or an EEPROM.

また、CPU301が実行するプログラムは、CD−ROM309Aに記録されたプログラムに限られず、HDD304に記憶されたプログラムをRAM303にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、クラウドサーバー300のHDD304に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、クラウドサーバー300が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD304に記憶するようにしてもよい。ここでいうプログラムは、CPU301が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。   The program executed by the CPU 301 is not limited to the program recorded on the CD-ROM 309A, and the program stored in the HDD 304 may be loaded into the RAM 303 and executed. In this case, another computer connected to the Internet 5 may rewrite the program stored in the HDD 304 of the cloud server 300 or may add a new program and write it. Further, the cloud server 300 may download a program from another computer connected to the Internet 5 and store the program in the HDD 304. The program here includes not only a program directly executable by the CPU 301 but also a source program, a compressed program, an encrypted program, and the like.

図5は、ゲートウェイ装置が備えるCPUの機能の一例を示すブロック図である。図5に示す機能は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201に形成される機能である。図5を参照して、ゲートウェイ装置200が備えるCPU201は、第1通信制御部250と、第2通信制御部260と、中継部270と、を含む。   FIG. 5 is a block diagram illustrating an example of functions of the CPU provided in the gateway device. The functions shown in FIG. 5 are functions formed in the CPU 201 when the CPU 201 included in the gateway device 200 executes a relay program stored in the ROM 202, the flash memory 204, or the CD-ROM 209A. Referring to FIG. 5, CPU 201 provided in gateway device 200 includes a first communication control unit 250, a second communication control unit 260, and a relay unit 270.

第1通信制御部250は、第1通信部205を制御し、インターネット5に接続されたコンピューターとの間の通信を制御する。第1通信制御部250は、常時接続セッション確立部251と、接続要求受信部253と、第1セッション確立部255と、を含む。   The first communication control unit 250 controls the first communication unit 205 and controls communication with a computer connected to the Internet 5. First communication control unit 250 includes a constant connection session establishment unit 251, a connection request reception unit 253, and a first session establishment unit 255.

第2通信制御部260は、第2通信部206を制御し、LAN3に接続されたMFP100,100A,100Bとの間の通信を制御する。第2通信制御部260は、入力情報要求受信部261と、第2セッション確立部263と、エラー検出部265と、を含む。   Second communication control unit 260 controls second communication unit 206 to control communication with MFPs 100, 100 A, and 100 B connected to LAN 3. Second communication control unit 260 includes an input information request receiving unit 261, a second session establishing unit 263, and an error detecting unit 265.

入力情報要求受信部261は、ファイアーウォールの内側のLAN3に接続されたMFP100,100A,100Bのいずれかから入力情報要求を受信する。例えば、MFP100がクラウドサーバー300に入力情報を要求する場合、入力情報要求は、MFP100がクラウドサーバー300との間で通信セッションの確立を要求する信号であり、接続先のアドレス情報としてクラウドサーバー300のURLを含む。ここでは、MFP100から入力情報要求を受信する場合を例に説明する。例えば、MFP100を操作するユーザーが、クラウドサーバー300が提供するサービスを受けるための指示をMFP100に入力した場合に、MFP100が入力情報要求を送信する。入力情報要求受信部261は、入力情報要求を識別するための接続識別情報と入力情報要求に含まれる接続先のアドレス情報とを第1セッション確立部255に出力し、入力情報要求を識別するための接続識別情報と接続元のアドレス情報とを第2セッション確立部263に出力する。接続元のアドレス情報は、入力情報要求を送信してきた装置のネットワークアドレスであり、ここではMFP100の装置識別情報である。   The input information request receiving unit 261 receives an input information request from any of the MFPs 100, 100 A, and 100 B connected to the LAN 3 inside the firewall. For example, when the MFP 100 requests input information from the cloud server 300, the input information request is a signal for requesting the MFP 100 to establish a communication session with the cloud server 300, and the cloud server 300 has the connection destination address information. Contains a URL. Here, a case where an input information request is received from MFP 100 will be described as an example. For example, when a user who operates MFP 100 inputs an instruction for receiving a service provided by cloud server 300 to MFP 100, MFP 100 transmits an input information request. The input information request receiving unit 261 outputs connection identification information for identifying the input information request and connection destination address information included in the input information request to the first session establishing unit 255 to identify the input information request. The connection identification information and the connection source address information are output to the second session establishment unit 263. The connection source address information is the network address of the apparatus that has transmitted the input information request, and is apparatus identification information of the MFP 100 in this example.

常時接続セッション確立部251は、第1通信部205を制御して、管理サーバー400に通信セッションの確立要求を送信し、管理サーバー400との間で通信セッションを確立する。ここで確立される通信セッションは、常時接続される常時接続セッションである。常時接続セッションは、特に限定するものではないが、例えば、XMPP(eXtensible Messaging and Presence Protocol)に基づくメッセージセッションである。フラッシュメモリ204に管理サーバー400のグローバルIPアドレスが予め記憶されており、常時接続セッション確立部251は、フラッシュメモリ204に記憶されているグローバルIPアドレスを用いて管理サーバー400に通信セッションの確立要求を送信し、管理サーバー400と所定のネゴシエーションをすることによって常時接続セッションを確立する。   The always-on session establishment unit 251 controls the first communication unit 205 to transmit a communication session establishment request to the management server 400 and establish a communication session with the management server 400. The communication session established here is an always-on session that is always connected. The always-on session is not particularly limited, but is a message session based on, for example, XMPP (extensible messaging and presence protocol). The global IP address of the management server 400 is stored in the flash memory 204 in advance, and the always-on session establishment unit 251 sends a communication session establishment request to the management server 400 using the global IP address stored in the flash memory 204. And a constant connection session is established by performing a predetermined negotiation with the management server 400.

常時接続セッション確立部251は、管理サーバー400にファイアーウォール内部のLAN3に接続された装置を通知するために、MFP100,100A,100Bそれぞれの装置識別情報を、常時接続セッションを介して管理サーバー400に送信する。これにより、管理サーバー400は、ゲートウェイ装置200にMFP100,100A,100Bが接続されていることを認識する。   The always-on session establishing unit 251 notifies the management server 400 of the device identification information of each of the MFPs 100, 100A, and 100B via the always-on session in order to notify the management server 400 of the devices connected to the LAN 3 inside the firewall. Send. As a result, the management server 400 recognizes that the MFPs 100, 100A, and 100B are connected to the gateway device 200.

接続要求受信部253は、常時接続セッションを介して、管理サーバー400からトンネル接続要求を受信する。トンネル接続要求は、管理サーバー400がクラウドサーバー300から受信した接続要求を含む。管理サーバー400がクラウドサーバー300から受信した接続要求は、接続元のアドレス情報と、接続先のアドレス情報とを含む。ここでは、接続元のアドレス情報をMFP100のアドレス情報とし、接続先のアドレス情報をクラウドサーバー300のアドレス情報とする場合を例に説明する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー300のアドレス情報は、MFP100からクラウドサーバー300にアクセスするためのURLである。   The connection request receiving unit 253 receives a tunnel connection request from the management server 400 via a constant connection session. The tunnel connection request includes a connection request received from the cloud server 300 by the management server 400. The connection request received from the cloud server 300 by the management server 400 includes connection source address information and connection destination address information. Here, a case will be described as an example where the address information of the connection source is the address information of the MFP 100 and the address information of the connection destination is the address information of the cloud server 300. The address information of MFP 100 includes device identification information of gateway device 200 and device identification information of MFP 100. The address information of the cloud server 300 is a URL for accessing the cloud server 300 from the MFP 100.

接続要求受信部253は、トンネル接続要求を受信することに応じて、トンネル接続要求を識別するための接続識別情報とトンネル接続要求に含まれる接続先のアドレス情報とを第1セッション確立部255に出力し、トンネル接続要求を識別するための接続識別情報と接続元のアドレス情報とを第2セッション確立部263に出力する。   In response to receiving the tunnel connection request, the connection request reception unit 253 sends connection identification information for identifying the tunnel connection request and connection destination address information included in the tunnel connection request to the first session establishment unit 255. The connection identification information for identifying the tunnel connection request and the connection source address information are output to the second session establishing unit 263.

第1セッション確立部255は、接続要求受信部253または入力情報要求受信部261から接続識別情報と接続先のアドレス情報とが入力されることに応じて、第1通信部205を制御して、接続先のアドレス情報を用いて確立要求を送信する。接続要求受信部253または入力情報要求受信部261から入力される接続先のアドレス情報は、ここでは、クラウドサーバー300のアドレス情報である。確立要求は、具体的には、クラウドサーバー300のアドレス情報であるURLを含むGETコマンドである。第1セッション確立部255は、クラウドサーバー300のアドレス情報であるURLを含むGETコマンドを送信することによって、URLで特定されるクラウドサーバー300との間で、HTTPトンネルの通信セッションを確立する。ここで確立する通信セッションは、第1通信セッションである。第1セッション確立部255は、第1通信セッションを確立すると、第1通信セッションを識別するためのセッション識別情報と接続識別情報とを中継部270に出力する。   The first session establishing unit 255 controls the first communication unit 205 in response to the connection identification information and the connection destination address information being input from the connection request receiving unit 253 or the input information request receiving unit 261. The establishment request is transmitted using the address information of the connection destination. The address information of the connection destination input from the connection request receiving unit 253 or the input information request receiving unit 261 is the address information of the cloud server 300 here. Specifically, the establishment request is a GET command including a URL that is address information of the cloud server 300. The first session establishing unit 255 establishes an HTTP tunnel communication session with the cloud server 300 specified by the URL by transmitting a GET command including a URL that is address information of the cloud server 300. The communication session established here is the first communication session. When establishing the first communication session, the first session establishing unit 255 outputs session identification information for identifying the first communication session and connection identification information to the relay unit 270.

第2セッション確立部263は、接続要求受信部253または入力情報要求受信部261から接続識別情報と接続元のアドレス情報とが入力されることに応じて、第2通信部206を制御して、接続元のアドレス情報を用いて確立要求を送信する。ここでは、接続要求受信部253または入力情報要求受信部261から接続元のアドレス情報はMFP100のアドレス情報である。第2セッション確立部263は、MFP100に確立要求を送信し、MFP100との間で通信セッションを確立する。ここで確立される通信セッションは第2通信セッションである。第2通信セッションは、特に限定するものではないが、LAN3において用いられる通信プロトコルに準じた通信セッションであればよい。第2セッション確立部263は、第2通信セッションを識別するためのセッション識別情報と接続識別情報とを中継部270に出力する。   The second session establishing unit 263 controls the second communication unit 206 in response to the connection identification information and the connection source address information being input from the connection request receiving unit 253 or the input information request receiving unit 261. An establishment request is transmitted using the address information of the connection source. Here, the connection source address information from the connection request receiving unit 253 or the input information request receiving unit 261 is the address information of the MFP 100. Second session establishment unit 263 transmits an establishment request to MFP 100 and establishes a communication session with MFP 100. The communication session established here is the second communication session. The second communication session is not particularly limited, but may be a communication session that conforms to the communication protocol used in the LAN 3. Second session establishing section 263 outputs session identification information and connection identification information for identifying the second communication session to relay section 270.

第2セッション確立部263は、第2通信セッションが確立されると、第2通信セッションを識別するためのセッション識別情報をエラー検出部265に出力する。エラー検出部265は、第2セッション確立部263からセッション識別情報が入力された後、セッション識別情報で特定される第2通信セッションの状態を監視し、第2通信セッションにおいてエラーが発生したか否かを判断する。エラー検出部265は、第2通信セッションに発生したエラーを検出する場合、エラー信号を中継部270に出力する。エラーは、例えば、MFP100の電源がOFFになった場合、または、MFP100が通信できないトラブルが発生している場合等に発生する。   When the second communication session is established, the second session establishment unit 263 outputs session identification information for identifying the second communication session to the error detection unit 265. The error detection unit 265 monitors the state of the second communication session specified by the session identification information after the session identification information is input from the second session establishment unit 263, and whether or not an error has occurred in the second communication session. Determine whether. The error detection unit 265 outputs an error signal to the relay unit 270 when detecting an error that has occurred in the second communication session. The error occurs, for example, when the power of the MFP 100 is turned off or when a trouble that the MFP 100 cannot communicate with has occurred.

中継部270は、第1セッション確立部255から第1通信セッションのセッション識別情報と接続識別情報が入力され、第2セッション確立部263から第2通信セッションのセッション識別情報と接続識別情報が入力される。中継部270は、第1セッション確立部255により確立された第1通信セッションと、第2セッション確立部263により確立された第2通信セッションとを用いて、クラウドサーバー300とMFP100との間の通信を中継する。中継部270は、それぞれに対応する接続識別情報が同じ第1通信セッションのセッション識別情報と第2通信セッションのセッション識別情報とを対応付け、対応付けられた2つのセッション識別情報で特定される第1通信セッションと第2通信セッションとを用いて、クラウドサーバー300とMFP100との間の通信を中継する。これにより、第1セッション確立部255によって複数の第1通信セッションが確立され、第2セッション確立部263により複数の第2通信セッションが確立される場合でも、トンネル接続要求に含まれる接続先のアドレス情報と接続元のアドレス情報でそれぞれ特定されるクラウドサーバー300とMFP100との装置間の通信の中継が可能となり、また、入力情報要求を送信してきたMFP100と入力情報要求に含まれる接続先のアドレス情報で特定されるクラウドサーバー300のとの装置間の通信の中継が可能となる。中継部270は、第1通信セッションと第2通信セッションとを関連付け、第1通信セッションを介してクラウドサーバー300から受信されるデータを、第2通信セッションを介してMFP100に送信し、第2通信セッションを介してMFP100から受信されるデータを、第1通信セッションを介してクラウドサーバー300に送信する。   The relay unit 270 receives the session identification information and connection identification information of the first communication session from the first session establishment unit 255, and receives the session identification information and connection identification information of the second communication session from the second session establishment unit 263. The The relay unit 270 uses the first communication session established by the first session establishment unit 255 and the second communication session established by the second session establishment unit 263 to perform communication between the cloud server 300 and the MFP 100. Relay. The relay unit 270 associates the session identification information of the first communication session and the session identification information of the second communication session with the same connection identification information corresponding to each other, and is specified by the two associated session identification information. Communication between the cloud server 300 and the MFP 100 is relayed using the first communication session and the second communication session. Thereby, even when a plurality of first communication sessions are established by the first session establishment unit 255 and a plurality of second communication sessions are established by the second session establishment unit 263, the address of the connection destination included in the tunnel connection request It becomes possible to relay communication between the cloud server 300 and the MFP 100 identified by the information and the address information of the connection source, and the connection destination address included in the input information request and the MFP 100 that has transmitted the input information request. It becomes possible to relay communication between devices with the cloud server 300 specified by the information. Relay unit 270 associates the first communication session with the second communication session, transmits data received from cloud server 300 via the first communication session to MFP 100 via the second communication session, and performs second communication. Data received from MFP 100 via the session is transmitted to cloud server 300 via the first communication session.

ここで、クラウドサーバー300の機能について説明する。図6は、クラウドサーバーが備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、クラウドサーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたサービス提供プログラムを実行することにより、CPU301に形成される機能である。図6を参照して、クラウドサーバー300が備えるCPU301は、外部受付部351と、サービス提供部353と、接続要求部355と、サーバー側確立部357と、送信部359と、入力情報要求受付部361と、を含む。   Here, functions of the cloud server 300 will be described. FIG. 6 is a block diagram illustrating an example of functions of the CPU provided in the cloud server. The functions shown in FIG. 6 are functions formed in the CPU 301 when the CPU 301 included in the cloud server 300 executes a service providing program stored in the ROM 302, the HDD 304, or the CD-ROM 309A. Referring to FIG. 6, the CPU 301 included in the cloud server 300 includes an external receiving unit 351, a service providing unit 353, a connection requesting unit 355, a server-side establishing unit 357, a transmitting unit 359, and an input information request receiving unit. 361.

サービス提供部353は、予め定められたサービスを提供する。例えば、クラウドサーバーが提供するサービスを、画像を文字認識するサービスとする場合、サービスの結果は、入力される画像を文字認識した結果得られる文字データである。サービス提供部353は、文字データを表示するための画面を生成し、画面中の背景となる固定データと、文字データで構成される変動データとを、送信部359に出力する。   The service providing unit 353 provides a predetermined service. For example, when the service provided by the cloud server is a service that recognizes images, the result of the service is character data obtained as a result of character recognition of the input image. The service providing unit 353 generates a screen for displaying the character data, and outputs the fixed data serving as the background in the screen and the variation data composed of the character data to the transmission unit 359.

外部受付部351は、クラウドサーバー300にアクセスする外部装置と接続し、外部装置から操作を受け付ける。外部装置は、例えば、クラウドサーバー300が提供するサービスを利用するユーザーが操作するPCであり、インターネット5またはLAN3に接続される。クラウドサーバー300は、外部装置と接続すると、外部装置を操作するユーザーにより外部装置に入力された操作を外部装置から受信する。外部受付部351は、外部装置から受信される操作に従って、サービス提供部353に処理を実行させるとともに、サービスの結果の出力先を特定する。クラウドサーバー300は、管理サーバー400との間でグローバルセッションを確立しており、管理サーバー400からゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報と、を受信している。このため、外部装置のユーザーは、サービスの結果の出力先として、MFP100,100A,100Bのうちからいずれかの指定が可能である。なお、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを、管理サーバー400から予め受信してHDD404に記憶しておくようにしてもよい。また、ゲートウェイ装置200の装置識別情報と、MFP100,100A,100Bそれぞれの装置識別情報とを、クラウドサーバー300を管理する管理者が入力するようにして、それらをHDD304に記憶しておくようにしてもよい。ここでは、サービスの結果の出力先として、MFP100が指定される場合を例に説明する。外部受付部351は、接続要求部355にMFP100との接続を要求する。   The external reception unit 351 is connected to an external device that accesses the cloud server 300 and receives an operation from the external device. The external device is, for example, a PC operated by a user who uses a service provided by the cloud server 300 and is connected to the Internet 5 or the LAN 3. When the cloud server 300 is connected to an external device, the cloud server 300 receives an operation input to the external device by a user operating the external device from the external device. The external reception unit 351 causes the service providing unit 353 to execute processing according to an operation received from the external device, and specifies an output destination of the service result. The cloud server 300 has established a global session with the management server 400, and has received the device identification information of the gateway device 200 and the device identification information of each of the MFPs 100, 100A, and 100B from the management server 400. . For this reason, the user of the external device can specify one of the MFPs 100, 100A, and 100B as the output destination of the service result. Note that the device identification information of the gateway device 200 and the device identification information of each of the MFPs 100, 100 </ b> A, and 100 </ b> B may be received in advance from the management server 400 and stored in the HDD 404. In addition, the device identification information of the gateway device 200 and the device identification information of each of the MFPs 100, 100 A, and 100 B are input by an administrator who manages the cloud server 300 and stored in the HDD 304. Also good. Here, a case where MFP 100 is designated as the output destination of the service result will be described as an example. External reception unit 351 requests connection request unit 355 to connect to MFP 100.

接続要求部355は、外部受付部351からMFP100との接続が要求されることに応じて、接続先のアドレス情報と接続元のアドレス情報とを含む接続要求を、通信部305を制御して、管理サーバー400にグローバルセッションを介して送信する。接続元のアドレス情報は、出力先のアドレス情報であり、ここでは、MFP100のアドレス情報である。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。接続先のアドレス情報は、クラウドサーバー300のアドレス情報であり、サービス提供部353がサービスを提供するために実行するジョブを識別するためのジョブIDを含む。クラウドサーバー300のアドレス情報は、MFP100からクラウドサーバー300にアクセスするためのURLである。URLには、クラウドサーバー300のネットワークアドレス(ドメイン名)、ウェブページの識別子、接続指示に含まれるジョブID、および待ち受けポートのポート番号が含まれる。接続要求部355は、接続要求を送信することに応じて、接続先のアドレス情報および接続元のアドレス情報を、サーバー側確立部357に出力する。   The connection request unit 355 controls the communication unit 305 to send a connection request including connection destination address information and connection source address information in response to a request for connection with the MFP 100 from the external reception unit 351. It transmits to the management server 400 via a global session. The connection source address information is output destination address information, and here is address information of the MFP 100. The address information of MFP 100 includes device identification information of gateway device 200 and device identification information of MFP 100. The address information of the connection destination is address information of the cloud server 300, and includes a job ID for identifying a job executed by the service providing unit 353 to provide a service. The address information of the cloud server 300 is a URL for accessing the cloud server 300 from the MFP 100. The URL includes the network address (domain name) of the cloud server 300, the web page identifier, the job ID included in the connection instruction, and the port number of the standby port. In response to transmitting the connection request, the connection request unit 355 outputs the connection destination address information and the connection source address information to the server side establishment unit 357.

サーバー側確立部357は、接続要求部355から接続先のアドレス情報および接続元のアドレス情報が入力された後に、通信部305を制御して、接続先のアドレス情報と同じアドレス情報を含む確立要求を受信することに応じて、その確立要求を送信してきた装置との間で、通信セッションを確立する。上述したように、確立要求は、管理サーバー400に送信される接続要求を受信するゲートウェイ装置200から送信される。ここでは、接続先のアドレス情報を、クラウドサーバー300のアドレス情報としており、クラウドサーバー300のアドレス情報を、ジョブIDを含むURLとしている。この場合の確立要求は、クラウドサーバー300のアドレス情報であるURLを含むGETコマンドとしている。サーバー側確立部357は、確立要求を送信してきたゲートウェイ装置200との間で通信セッションを確立する。ここで、ゲートウェイ装置200との間で確立される通信セッションは第1通信セッションである。また、確立要求であるGETコマンドに含まれるURLは、ジョブIDを含むので、確立要求がサービス提供部353によって実行されているジョブの何れに対応する確立要求であるかを判別することが可能である。サーバー側確立部357は、ゲートウェイ装置200との間で確立された第1通信セッションのセッション識別情報と、接続先のアドレス情報に含まれるジョブIDと、接続元のアドレス情報と、の組を、送信部359に出力する。   After the connection destination address information and the connection source address information are input from the connection request unit 355, the server side establishment unit 357 controls the communication unit 305 to include an establishment request including the same address information as the connection destination address information. Is established, a communication session is established with the device that has transmitted the establishment request. As described above, the establishment request is transmitted from the gateway device 200 that receives the connection request transmitted to the management server 400. Here, the address information of the connection destination is the address information of the cloud server 300, and the address information of the cloud server 300 is a URL including a job ID. The establishment request in this case is a GET command including a URL that is address information of the cloud server 300. The server-side establishing unit 357 establishes a communication session with the gateway device 200 that has transmitted the establishment request. Here, the communication session established with the gateway device 200 is the first communication session. Further, since the URL included in the GET command that is the establishment request includes the job ID, it is possible to determine which of the jobs being executed by the service providing unit 353 corresponds to the establishment request. is there. The server side establishing unit 357 sets a set of the session identification information of the first communication session established with the gateway device 200, the job ID included in the connection destination address information, and the connection source address information. The data is output to the transmission unit 359.

送信部359は、サーバー側確立部357から第1通信セッションのセッション識別情報と、ジョブIDと、接続元のアドレス情報と、の組が入力され、サービス提供部353からサービスの結果が入力される。送信部359は、サーバー側確立部357から入力される第1通信セッションのセッション識別情報と、ジョブIDと、接続元のアドレス情報との組のうちからサービス提供部353から入力されるサービスの結果に対応するジョブIDを含む組を特定し、特定した組に含まれるセッション識別情報を特定する。送信部359は、通信部305を制御して、サービス提供部353から入力されるサービスの結果を、特定されたセッション識別情報で特定される第1通信セッションを介して、ゲートウェイ装置200に送信する。   The transmission unit 359 receives a set of the session identification information, the job ID, and the connection source address information of the first communication session from the server side establishment unit 357, and receives the service result from the service providing unit 353. . The transmission unit 359 receives the service result input from the service providing unit 353 from the set of the session identification information, the job ID, and the connection source address information of the first communication session input from the server side establishing unit 357. The group including the job ID corresponding to is specified, and the session identification information included in the specified group is specified. The transmission unit 359 controls the communication unit 305 to transmit the result of the service input from the service providing unit 353 to the gateway apparatus 200 via the first communication session specified by the specified session identification information. .

送信部359によってゲートウェイ装置200に第1通信セッションを介して送信されるジョブは、ゲートウェイ装置200によって第1通信セッションを介して受信され、第2通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信されるサービスの結果に基づいて処理を実行する。   The job transmitted to the gateway apparatus 200 by the transmission unit 359 via the first communication session is received by the gateway apparatus 200 via the first communication session and transmitted to the MFP 100 via the second communication session. In MFP 100, processing is executed based on the result of the service received from gateway device 200.

通信部305が、MFP100がクラウドサーバー300宛に送信した入力情報要求を、ゲートウェイ装置200から受信する場合がある。MFP100を操作するユーザーが、クラウドサーバー300が提供するサービスを受けるための指示をMFP100に入力した場合である。この場合は、MFP100が入力情報要求をクラウドサーバー300に送信するが、ゲートウェイ装置200が、MFP100が送信する入力情報要求を受信し、入力情報要求をクラウドサーバー300に送信する。入力情報要求は、接続元のアドレス情報としてMFP100の装置識別情報を含む。サーバー側確立部357は、通信部305を制御して、入力情報要求を送信してきたゲートウェイ装置200との間で通信セッションを確立する。ここで、ゲートウェイ装置200との間で確立される通信セッションは第1通信セッションである。サーバー側確立部357は、ゲートウェイ装置200との間で確立された第1通信セッションのセッション識別情報と、接続元のアドレス情報と、の組を、送信部359および入力情報要求受付部361に出力する。   The communication unit 305 may receive an input information request transmitted from the MFP 100 to the cloud server 300 from the gateway device 200. This is a case where a user operating MFP 100 inputs an instruction for receiving a service provided by cloud server 300 to MFP 100. In this case, the MFP 100 transmits an input information request to the cloud server 300, but the gateway device 200 receives the input information request transmitted from the MFP 100 and transmits the input information request to the cloud server 300. The input information request includes device identification information of MFP 100 as connection source address information. The server-side establishing unit 357 controls the communication unit 305 to establish a communication session with the gateway device 200 that has transmitted the input information request. Here, the communication session established with the gateway device 200 is the first communication session. The server side establishment unit 357 outputs a set of the session identification information of the first communication session established with the gateway device 200 and the address information of the connection source to the transmission unit 359 and the input information request reception unit 361. To do.

入力情報要求受付部361は、サーバー側確立部357から第1通信セッションのセッション識別情報と接続元のアドレス情報との組が入力されることに応じて、通信部305を制御して、セッション識別情報で特定される第1通信セッションを介して、MFP100を操作するユーザーによりMFP100に入力される操作を受け付ける。入力情報要求受付部361は、MFP100から受信される操作に従って、サービス提供部353に処理を実行させるとともに、サービスの結果の出力先をMFP100に特定する。入力情報要求受付部361は、サービス提供部353に処理を実行させることに応じて、サービス提供部353がサービスを提供するために実行するジョブを識別するためのジョブIDを取得し、ジョブIDと、第1通信セッションのセッション識別情報との組を送信部359に出力する。   The input information request accepting unit 361 controls the communication unit 305 in response to the input of the session identification information of the first communication session and the address information of the connection source from the server side establishing unit 357, and the session identification An operation input to MFP 100 by a user operating MFP 100 is accepted via the first communication session specified by the information. The input information request receiving unit 361 causes the service providing unit 353 to execute processing according to an operation received from the MFP 100 and specifies the output destination of the service result to the MFP 100. In response to causing the service providing unit 353 to execute the process, the input information request receiving unit 361 acquires a job ID for identifying a job to be executed by the service providing unit 353 to provide the service. The pair with the session identification information of the first communication session is output to the transmission unit 359.

送信部359は、入力情報要求受付部361から第1通信セッションのセッション識別情報とジョブIDとの組が入力され、サービス提供部353からサービスの結果が入力される。送信部359は、入力情報要求受付部361からから入力される第1通信セッションのセッション識別情報とジョブIDとの組のうちからサービス提供部353から入力されるサービスの結果に対応するジョブIDを含む組を特定し、特定した組に含まれるセッション識別情報を特定する。送信部359は、通信部305を制御して、サービス提供部353から入力されるサービスの結果を、特定されたセッション識別情報で特定される第1通信セッションを介して、ゲートウェイ装置200に送信する。   The transmission unit 359 receives a set of the session identification information and the job ID of the first communication session from the input information request reception unit 361, and receives a service result from the service providing unit 353. The transmission unit 359 selects a job ID corresponding to the service result input from the service providing unit 353 from the set of the session identification information and the job ID of the first communication session input from the input information request receiving unit 361. The group to be included is specified, and the session identification information included in the specified group is specified. The transmission unit 359 controls the communication unit 305 to transmit the result of the service input from the service providing unit 353 to the gateway apparatus 200 via the first communication session specified by the specified session identification information. .

送信部359によってゲートウェイ装置200に第1通信セッションを介して送信されるサービスの結果は、ゲートウェイ装置200によって第1通信セッションを介して受信され、第2通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信されるサービスの結果に基づいて処理を実行する。   The result of the service transmitted by transmission unit 359 to gateway device 200 via the first communication session is received by gateway device 200 via the first communication session and transmitted to MFP 100 via the second communication session. . In MFP 100, processing is executed based on the result of the service received from gateway device 200.

送信部359は、サービス提供部353から入力されるサービスの結果が複数のメッセージを含む場合、複数のメッセージを順に送信する。複数のメッセージは、例えば、固定データと変動データとを含む場合である。送信部359は、サービス提供部353から固定データが入力されることに応じて、第1通信セッションを介してMFP100に固定データを送信する。送信部359は、サービス提供部353から変動メッセージが入力される場合、第1通信セッションを介してメッセージの送信を要求する要求信号を受信しなくても、第1通信セッションを介して変動メッセージをMFP100に送信する。   When the service result input from the service providing unit 353 includes a plurality of messages, the transmission unit 359 transmits the plurality of messages in order. For example, the plurality of messages include fixed data and variable data. Transmission unit 359 transmits the fixed data to MFP 100 via the first communication session in response to the fixed data input from service providing unit 353. When the variable message is input from the service providing unit 353, the transmitting unit 359 receives the variable message via the first communication session without receiving a request signal for requesting transmission of the message via the first communication session. Send to MFP 100.

送信部359は、通知部371を含む。通知部371は、送信部359が固定データを第1通信セッションを介してゲートウェイ装置200に送信する際に、後続の変動メッセージが存在することをゲートウェイ装置200に通知する。具体的には、第1通信セッションを維持することを通知する。より具体的には、送信部359は、HTTPで定められた持続的接続機能を用いて固定メッセージを送信する。好ましくは、持続的接続機能は、HTTP/2で定められたサーバープッシュ機能またはHTTPで定められるチャンク送信機能である。これにより、送信部359は、固定データを第1通信セッションを介してゲートウェイ装置200に送信した後に、ゲートウェイ装置200から変動データの送信を要求する要求信号を受信することなく、変動データをゲートウェイ装置200に送信することができる。   The transmission unit 359 includes a notification unit 371. When the transmission unit 359 transmits the fixed data to the gateway device 200 via the first communication session, the notification unit 371 notifies the gateway device 200 that there is a subsequent variation message. Specifically, it is notified that the first communication session is to be maintained. More specifically, the transmission unit 359 transmits a fixed message using a persistent connection function defined by HTTP. Preferably, the persistent connection function is a server push function defined by HTTP / 2 or a chunk transmission function defined by HTTP. Thereby, the transmission unit 359 transmits the fixed data to the gateway device 200 without receiving a request signal for requesting transmission of the variable data from the gateway device 200 after transmitting the fixed data to the gateway device 200 via the first communication session. 200 can be transmitted.

図5に戻って、中継部270は、メッセージ代理受信部271と、判断部273と、待機部275と、要求信号受信部277と、メッセージ代理送信部279と、一時記憶部281と、消去部283と、を含む。メッセージ代理受信部271は、第1通信セッションを介して、クラウドサーバー300から送信されるメッセージをMFP100に代わって受信する。メッセージ代理受信部271は、メッセージを受信すると、メッセージを受信したことを判断部273に通知するとともに、受信されたメッセージとメッセージの送信先の装置の装置識別情報との組を待機部275に出力する。送信先の装置は、MFP100である。   Returning to FIG. 5, the relay unit 270 includes a message proxy reception unit 271, a determination unit 273, a standby unit 275, a request signal reception unit 277, a message proxy transmission unit 279, a temporary storage unit 281, and an erasure unit. 283. Message proxy receiver 271 receives a message transmitted from cloud server 300 on behalf of MFP 100 via the first communication session. When the message proxy reception unit 271 receives the message, the message proxy reception unit 271 notifies the determination unit 273 that the message has been received, and outputs a set of the received message and the device identification information of the device to which the message is transmitted to the standby unit 275. To do. The destination device is MFP 100.

判断部273は、メッセージ代理受信部271がメッセージを受信する場合に、受信されたメッセージに後続のメッセージが存在するか否かを判断する。判断部273は、メッセージ代理受信部271が受信するメッセージが、HTTPで定められた持続的接続機能を用いて受信されたメッセージの場合、後続のメッセージが存在すると判断する。具体的には、判断部273は、メッセージ代理受信部271が、HTTP/2で定められたサーバープッシュ機能でメッセージを受信する場合、後続のメッセージが存在すると判断する。また、判断部273は、メッセージ代理受信部271がHTTPで定められるチャンク送信機能でメッセージを受信する場合、メッセージのヘッダーに記述されたデータ量に達するまでのメッセージを受信していない場合に、後続のメッセージが存在すると判断する。判断部273は、後続のメッセージが存在すると判断する場合、待機部275に後続のメッセージが存在することを通知する。   When the message proxy reception unit 271 receives a message, the determination unit 273 determines whether there is a subsequent message in the received message. The determination unit 273 determines that there is a subsequent message if the message received by the message proxy reception unit 271 is a message received using the persistent connection function defined by HTTP. Specifically, when the message proxy receiving unit 271 receives a message using the server push function defined by HTTP / 2, the determining unit 273 determines that there is a subsequent message. In addition, when the message proxy reception unit 271 receives a message with the chunk transmission function defined by HTTP, the determination unit 273 continues when the message until the data amount described in the header of the message is not received. Is determined to exist. If the determination unit 273 determines that there is a subsequent message, the determination unit 273 notifies the standby unit 275 that there is a subsequent message.

待機部275は、メッセージ代理受信部271から入力されたメッセージと装置識別情報との組に対して判断部273から後続のメッセージ存在することが通知される場合、メッセージが最初のメッセージの場合はメッセージ代理送信部279に第1送信指示を出力し、メッセージが最初のメッセージでない場合は一時記憶部281にメッセージと装置識別情報との組を出力する。第1送信指示は、メッセージ代理受信部271から入力された、メッセージと装置識別情報との組を含む。   When the determination unit 273 notifies the standby unit 275 of the message input from the message proxy reception unit 271 and the device identification information that the subsequent message exists, the message is received when the message is the first message. A first transmission instruction is output to proxy transmission unit 279, and if the message is not the first message, a set of the message and device identification information is output to temporary storage unit 281. The first transmission instruction includes a set of a message and device identification information input from the message proxy reception unit 271.

一時記憶部281は、待機部275から入力されるメッセージと装置識別情報との組を順に記憶する。一時記憶部281は、メッセージと装置識別情報との組を先入先出で出力する。   Temporary storage unit 281 stores a set of a message input from standby unit 275 and device identification information in order. The temporary storage unit 281 outputs a set of a message and device identification information in a first-in first-out manner.

メッセージ代理送信部279は、待機部275から第1送信指示が入力されることに応じて、第1送信指示に含まれるメッセージを第2通信セッションを介して装置識別情報で特定されるMFP100にクラウドサーバー300に代わって送信し、メッセージの送信が完了すると、第2通信セッションを切断する。   In response to the input of the first transmission instruction from standby unit 275, message proxy transmission unit 279 sends the message included in the first transmission instruction to MFP 100 specified by the device identification information via the second communication session. When the message is transmitted on behalf of the server 300 and the transmission of the message is completed, the second communication session is disconnected.

要求信号受信部277は、第2通信部206を制御して、MFP100から要求信号を受信する。MFP100は、後述するように、クラウドサーバー300から受信されるメッセージが、処理を実行するための入力情報の一部と判断する場合、クラウドサーバー300に入力情報の残りの部分の送信を要求するために、要求信号をクラウドサーバー300に送信する。また、要求信号受信部277が要求信号を受信する時点で、待機部375によって、要求信号を送信してきた装置、ここではMFP100の装置識別情報と組になるメッセージが一時記憶されている。したがって、要求信号受信部277は、MFP100から受信する要求信号を、上述した入力情報要求受信部261がMFP100から受信する入力情報要求と区別して受信する。   Request signal receiving unit 277 controls second communication unit 206 to receive a request signal from MFP 100. As described later, when MFP 100 determines that the message received from cloud server 300 is a part of input information for executing processing, MFP 100 requests cloud server 300 to transmit the remaining part of the input information. In addition, the request signal is transmitted to the cloud server 300. When the request signal receiving unit 277 receives the request signal, the standby unit 375 temporarily stores a message that is paired with the device that transmitted the request signal, here, the device identification information of the MFP 100. Therefore, request signal receiving unit 277 receives the request signal received from MFP 100 separately from the input information request received from MFP 100 by input information request receiving unit 261 described above.

要求信号受信部277は、第2通信部206がMFP100から要求信号を受信することに応じて、第2セッション確立部263に確立指示を出力する。確立指示は、要求信号を送信してきたMFP100の装置識別情報を含む。第2セッション確立部263は、確立指示が入力されることに応じて、MFP100との間で通信セッションを確立する。ここで、確立される通信セッションは、第2通信セッションである。第2セッション確立部263は、第2通信セッションを識別するためのセッション識別情報と接続先の装置の装置識別情報との組を要求信号受信部377に出力するとともに、第2通信セッションを識別するためのセッション識別情報をエラー検出部265に出力する。   Request signal receiving unit 277 outputs an establishment instruction to second session establishing unit 263 in response to second communication unit 206 receiving a request signal from MFP 100. The establishment instruction includes device identification information of MFP 100 that has transmitted the request signal. Second session establishing unit 263 establishes a communication session with MFP 100 in response to the establishment instruction being input. Here, the established communication session is the second communication session. Second session establishing section 263 outputs a set of session identification information for identifying the second communication session and apparatus identification information of the connection destination apparatus to request signal receiving section 377 and identifies the second communication session. Session identification information is output to the error detection unit 265.

要求信号受信部277は、第2セッション確立部263に接続指示を出力した後、第2セッション確立部263からセッション識別情報と装置識別情報との組が入力されることに応じて、待機部275に出力指示を出力する。出力指示は、第2通信セッションのセッション識別情報と装置識別情報との組を含む。   The request signal receiving unit 277 outputs a connection instruction to the second session establishing unit 263, and then receives a set of session identification information and device identification information from the second session establishing unit 263, so that the standby unit 275 Output instruction to. The output instruction includes a set of session identification information and device identification information of the second communication session.

待機部275は、要求信号受信部277から出力指示が入力されることに応じて、一時記憶部281に記憶されたメッセージと装置識別情報の組のうちから、出力指示に含まれる装置識別情報と同じ装置識別情報を含む組のうち最も前に記憶された組を特定する。そして、待機部275は、メッセージ代理送信部279に第2送信指示を出力する。第2送信指示は、一時記憶部281に記憶されたメッセージと装置識別情報の組のうちから特定された組と、出力指示に含まれるセッション識別情報とを含む。   In response to the output instruction input from the request signal receiving unit 277, the standby unit 275 includes the device identification information included in the output instruction from the message and device identification information stored in the temporary storage unit 281. The most recently stored set of the sets including the same device identification information is specified. Then, standby unit 275 outputs a second transmission instruction to message proxy transmission unit 279. The second transmission instruction includes a set specified from the message and device identification information stored in temporary storage unit 281 and session identification information included in the output instruction.

メッセージ代理送信部279は、第2送信指示に含まれるセッション識別情報で特定される第2通信セッションを介して、送信指示に含まれるメッセージを送信指示に含まれる装置識別情報で特定されるMFP100にクラウドサーバー300に代わって送信し、メッセージの送信が完了すると、第2通信セッションを切断する。   The message proxy transmission unit 279 sends the message included in the transmission instruction to the MFP 100 specified by the device identification information included in the transmission instruction via the second communication session specified by the session identification information included in the second transmission instruction. When the message is transmitted on behalf of the cloud server 300 and the message transmission is completed, the second communication session is disconnected.

例えば、中継部270は、クラウドサーバー300から固定データをHTTP/2で定められたサーバープッシュ機能を用いて受信する場合、固定データをMFP100に送信するとともに、クラウドサーバー300から固定データに続いて受信される変動データを受信し、一時記憶する。この際に、中継部270は、変動データと固定データとを、同一の第1通信セッションを介して受信することになる。   For example, when receiving the fixed data from the cloud server 300 using the server push function defined by HTTP / 2, the relay unit 270 transmits the fixed data to the MFP 100 and receives the fixed data from the cloud server 300 following the fixed data. The fluctuation data to be received is received and temporarily stored. At this time, the relay unit 270 receives the variable data and the fixed data via the same first communication session.

変動データと固定データとを別の通信セッションで受信する場合には、変動データを第1通信セッションを介して受信した後に、その第1通信セッションを切断し、その後、MFP100が送信する接続要求を入力情報要求受信部261が受信して、第1セッション確立部255がクラウドサーバー300との間で新たな第1通信セッションを確立し、その第1通信セッションを介して受信することになる。この場合には、ゲートウェイ装置200とクラウドサーバー300との間で、第1通信セッションを確立するための処理と時間が必要となる。特に、インターネット5の負荷が大きな状態、または、クラウドサーバー300の負荷が大きい状態の場合には、第1通信セッションを再確立するための時間が長くなる場合がある。中継部270は、クラウドサーバー300から固定データと変動データとを、同一の第1通信セッションを介して受信するので、変動データと固定データとを別の通信セッションで受信する場合に比較して、短い時間で受信することができる。   When the variable data and the fixed data are received in different communication sessions, after the variable data is received via the first communication session, the first communication session is disconnected, and then a connection request transmitted by the MFP 100 is issued. The input information request receiving unit 261 receives the data, and the first session establishing unit 255 establishes a new first communication session with the cloud server 300 and receives the first communication session via the first communication session. In this case, processing and time for establishing the first communication session are required between the gateway device 200 and the cloud server 300. In particular, when the load on the Internet 5 is large or the load on the cloud server 300 is large, the time for re-establishing the first communication session may be long. Since the relay unit 270 receives the fixed data and the variable data from the cloud server 300 via the same first communication session, compared to the case where the variable data and the fixed data are received in different communication sessions, It can be received in a short time.

消去部283は、エラー検出部265からエラー信号が入力されることに応じて、一時記憶部281に消去指示を出力するとともに、第1通信セッションを介して、クラウドサーバー300にMFP100におけるメッセージの受信に失敗したことを通知する。一時記憶部281は、消去指示が入力されることに応じて、一時記憶しているメッセージを消去する。第2通信セッションにエラーが発生した場合、第2通信セッションを介して、MFP100から要求信号を受信することができないので、一時記憶部281に記憶されたメッセージを消去して、一時記憶部281にメッセージが記憶された状態が継続するのを回避する。また、クラウドサーバー300においては、MFP100においてメッセージが受信されなかったことを検出するので、サービスの提供を指示したユーザーにエラーが発生したことを通知することができる。   In response to the input of an error signal from the error detection unit 265, the deletion unit 283 outputs a deletion instruction to the temporary storage unit 281 and receives a message from the MFP 100 to the cloud server 300 via the first communication session. Notify that failed. The temporary storage unit 281 deletes the temporarily stored message in response to the input of the delete instruction. If an error occurs in the second communication session, the request signal cannot be received from the MFP 100 via the second communication session. Therefore, the message stored in the temporary storage unit 281 is deleted, and the temporary storage unit 281 is deleted. Avoid continuing message storage. In addition, since cloud server 300 detects that no message has been received by MFP 100, it can notify the user who has instructed the provision of the service that an error has occurred.

図7は、MFPが備えるCPUが有する機能の一例を示すブロック図である。図7に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された装置制御プログラムを実行することにより、CPU111に形成される機能である。図7を参照して、MFP100が備えるCPU111は、入力情報要求部51と、受信制御部53と、処理実行部55と、を含む。入力情報要求部51は、クラウドサーバー300に入力情報要求を送信する。例えば、MFP100を操作するユーザーが、クラウドサーバー300が提供するサービスを受けるための指示を操作部163に入力する場合、入力情報要求部51は、通信I/F部112を制御して、クラウドサーバー300に入力情報要求を送信する。入力情報要求は、接続先であるクラウドサーバー300のアドレス情報を含む。MFP100がクラウドサーバー300宛に送信する入力情報要求は、ゲートウェイ装置200において受信され、ゲートウェイ装置200との間で、第2通信セッションが確立される。入力情報要求部51は、ゲートウェイ装置200との間で確立した第2通信セッションを識別するためのセッション識別情報を、受信制御部53に出力する。   FIG. 7 is a block diagram illustrating an example of functions of a CPU included in the MFP. The functions illustrated in FIG. 7 are functions formed in the CPU 111 when the CPU 111 provided in the MFP 100 executes a device control program stored in the ROM 113, HDD 115, or CD-ROM 118. Referring to FIG. 7, CPU 111 provided in MFP 100 includes an input information request unit 51, a reception control unit 53, and a process execution unit 55. The input information request unit 51 transmits an input information request to the cloud server 300. For example, when a user operating the MFP 100 inputs an instruction for receiving a service provided by the cloud server 300 to the operation unit 163, the input information request unit 51 controls the communication I / F unit 112 to control the cloud server. An input information request is transmitted to 300. The input information request includes address information of the cloud server 300 that is the connection destination. The input information request transmitted from the MFP 100 to the cloud server 300 is received by the gateway device 200, and a second communication session is established with the gateway device 200. The input information request unit 51 outputs session identification information for identifying the second communication session established with the gateway device 200 to the reception control unit 53.

受信制御部53は、ゲートウェイ装置200との間で確立された第2通信セッションを介してゲートウェイ装置200との間で通信する。ゲートウェイ装置200との間で確立された第2通信セッションは、入力情報要求部51により確立される場合と、受信制御部53により確立される場合とがある。   The reception control unit 53 communicates with the gateway device 200 via the second communication session established with the gateway device 200. The second communication session established with the gateway device 200 may be established by the input information request unit 51 or may be established by the reception control unit 53.

受信制御部53は、メッセージ受信部61と、要求信号送信部63と、を含む。メッセージ受信部61は、第2通信セッションを介して、クラウドサーバー300からメッセージを受信する。メッセージ受信部61は、受信されたメッセージを処理実行部55に出力する。メッセージ受信部61がメッセージの受信を完了すると、第2通信セッションがゲートウェイ装置200によって切断される。   The reception control unit 53 includes a message reception unit 61 and a request signal transmission unit 63. The message receiving unit 61 receives a message from the cloud server 300 via the second communication session. The message reception unit 61 outputs the received message to the process execution unit 55. When the message receiving unit 61 completes the message reception, the second communication session is disconnected by the gateway device 200.

処理実行部55は、メッセージ受信部61から入力されるメッセージを処理する。例えば、メッセージが画面を生成するためのデータの場合、画面の画像を生成し、生成された画像を表示部161に表示する。また、処理実行部55は、メッセージが画面を生成するためのデータの一部か否かを判断する。例えば、画面が、固定データと変動データとから構成される場合、メッセージが固定データの場合は、処理実行部55は、メッセージが画面を生成するためのデータの一部と判断する。処理実行部55は、メッセージが画面を生成するためのデータの一部と判断する場合、要求信号送信部63に要求指示を出力する。   The process execution unit 55 processes a message input from the message reception unit 61. For example, when the message is data for generating a screen, an image of the screen is generated and the generated image is displayed on the display unit 161. Further, the process execution unit 55 determines whether or not the message is a part of data for generating a screen. For example, when the screen is composed of fixed data and variable data, and the message is fixed data, the process execution unit 55 determines that the message is a part of data for generating the screen. When the process execution unit 55 determines that the message is a part of data for generating a screen, the process execution unit 55 outputs a request instruction to the request signal transmission unit 63.

要求信号送信部63は、要求指示が入力されることに応じて、通信I/F部112を制御して、クラウドサーバー300に要求信号を送信する。実際には、要求信号は、ゲートウェイ装置200によってクラウドサーバー300に代わって受信される。ゲートウェイ装置200は、上述したように、要求信号を受信すると、MFP100との間で第2通信セッションを確立するために確立要求を送信する。受信制御部53は、通信I/F部112を制御して、ゲートウェイ装置200から確立要求を受信する場合、ゲートウェイ装置200との間で第2通信セッションを確立する。MFP100は、第2通信セッションを確立すると、クラウドサーバー300からMFP100に代わって受信したメッセージをMFP100に第2通信セッションを介して送信する。ここでは、ゲートウェイ装置200は、変動データを含むメッセージを送信する。メッセージ受信部61は、通信I/F部112を制御して、変動データのメッセージを第2通信セッションを介して受信すると、受信されたメッセージを処理実行部55に出力する。これにより、処理実行部55によって、固定データと変動データとに基づいて生成された画面の画像が表示部161に表示される。   The request signal transmission unit 63 controls the communication I / F unit 112 in response to the input of a request instruction, and transmits a request signal to the cloud server 300. Actually, the request signal is received by the gateway device 200 on behalf of the cloud server 300. As described above, when gateway apparatus 200 receives the request signal, gateway apparatus 200 transmits an establishment request to establish a second communication session with MFP 100. The reception control unit 53 controls the communication I / F unit 112 to establish a second communication session with the gateway device 200 when receiving an establishment request from the gateway device 200. When the second communication session is established, MFP 100 transmits a message received from cloud server 300 on behalf of MFP 100 to MFP 100 via the second communication session. Here, the gateway device 200 transmits a message including variation data. When the message reception unit 61 controls the communication I / F unit 112 to receive a message of variable data via the second communication session, the message reception unit 61 outputs the received message to the process execution unit 55. Accordingly, the screen image generated based on the fixed data and the variation data is displayed on the display 161 by the process execution unit 55.

図8は、情報システムにおける情報の流れの一例を示す第1の図である。図8においては、MFP100を操作するユーザーが、クラウドサーバー300が提供するサービスを受ける場合の情報の流れを示している。図8を参照して、MFP100は、クラウドサーバーに入力情報要求を送信すると、その入力情報要求は、ゲートウェイ装置200によってクラウドサーバー300に代わって受信される。ゲートウェイ装置200は、クラウドサーバー300にMFP100に代わって確立要求を送信する。これにより、ゲートウェイ装置200とクラウドサーバー300との間で第1通信セッションが確立される。第1通信セッションの確立を受けて、ゲートウェイ装置200は、MFP100との間で第2通信セッションを確立する。この状態で、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間の通信を中継することが可能となる。   FIG. 8 is a first diagram illustrating an example of information flow in the information system. FIG. 8 shows a flow of information when a user who operates MFP 100 receives a service provided by cloud server 300. Referring to FIG. 8, when MFP 100 transmits an input information request to the cloud server, the input information request is received by gateway device 200 on behalf of cloud server 300. Gateway device 200 transmits an establishment request to cloud server 300 on behalf of MFP 100. As a result, a first communication session is established between the gateway device 200 and the cloud server 300. In response to the establishment of the first communication session, gateway device 200 establishes a second communication session with MFP 100. In this state, the gateway device 200 can relay communication between the cloud server 300 and the MFP 100.

MFP100を操作するユーザーが、クラウドサーバー300にサービスの提供を要求する場合、クラウドサーバー300は、MFP100にサービスを提供するための処理を実行し、処理を実行した結果を第1通信セッションを介してMFP100に送信する。ここでは、クラウドサーバー300がサービスを提供するために実行する処理の結果を、画面で送信する。クラウドサーバー300が送信する画面のデータは、画面の背景となる固定データと、処理の結果を示す変動データとを含む。この場合、クラウドサーバー300は、サービスが要求されてからのレスポンスタイムを短くするために、固定データの送信と変動データの生成とを並列に処理し、変動データが生成される前に固定データからなるメッセージをまず送信し、変動データが生成されると変動データからなるメッセージを送信する。この際、クラウドサーバー300は、固定データからなるメッセージを、後続の変動データからなるメッセージが存在することを通知する後続信号を付加して第1通信セッションを介して送信する。具体的には、HTTPで定められた持続的接続機能を用いて固定データからなるメッセージを送信する。   When the user who operates MFP 100 requests the cloud server 300 to provide a service, the cloud server 300 executes a process for providing the service to the MFP 100, and the result of executing the process is transmitted via the first communication session. Send to MFP 100. Here, the result of the process executed by the cloud server 300 to provide the service is transmitted on the screen. The screen data transmitted by the cloud server 300 includes fixed data as a background of the screen and variation data indicating the result of the processing. In this case, in order to shorten the response time after the service is requested, the cloud server 300 processes the transmission of the fixed data and the generation of the fluctuation data in parallel, and uses the fixed data before the fluctuation data is generated. Is first transmitted, and when the variation data is generated, the message composed of the variation data is transmitted. At this time, the cloud server 300 adds a subsequent signal for notifying that there is a message including the subsequent variable data to the message including the fixed data, and transmits the message via the first communication session. Specifically, a message composed of fixed data is transmitted using a persistent connection function defined by HTTP.

ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から固定データからなるメッセージをHTTPで定められた持続的接続機能を用いて受信すると、後続の変動データからなるメッセージが存在することを検出し、第1通信セッションを切断しない。ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から固定データからなるメッセージに続いて、変動データからなるメッセージを受信する場合、受信された変動データからなるメッセージを一時記憶する。また、ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から変動データからなるメッセージをHTTPで定められた持続的接続機能を用いて受信していないので、後続のメッセージが存在しないことを検出し、第1通信セッションを切断する。   When the gateway device 200 receives a message composed of fixed data from the cloud server 300 via the first communication session using the persistent connection function defined by HTTP, the gateway device 200 confirms that a message composed of subsequent variable data exists. Detect and do not disconnect the first communication session. When the gateway device 200 receives a message consisting of variable data following the message consisting of fixed data from the cloud server 300 via the first communication session, the gateway device 200 temporarily stores the received message consisting of variable data. In addition, since the gateway device 200 has not received the message including the variable data from the cloud server 300 via the first communication session using the persistent connection function defined by HTTP, there is no subsequent message. Is detected and the first communication session is disconnected.

一方、ゲートウェイ装置200は、クラウドサーバー300から受信された固定データからなるメッセージを第2通信セッションを介してクラウドサーバー300に代わってMFP100に送信し、メッセージの送信が完了すると第2通信セッションを切断する。MFP100においては、第2通信セッションを介して固定データからなるメッセージを受信する場合、その固定データを処理する。例えば、固定データを用いて画面の背景部分の画像を生成する。また、MFP100は、固定データを受信する場合、変動データが存在することを判断し、変動データを要求する要求信号をクラウドサーバー300に送信する。MFP100が送信する要求信号は、ゲートウェイ装置200によってクラウドサーバー300に代わって受信される。ゲートウェイ装置200は、要求信号を受信すると、MFP100との間で第2通信セッションを確立する。この状態で、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間の通信を中継することが可能となる。   On the other hand, gateway device 200 transmits a message composed of fixed data received from cloud server 300 to MFP 100 on behalf of cloud server 300 via the second communication session, and disconnects the second communication session when the message transmission is completed. To do. When MFP 100 receives a message composed of fixed data via the second communication session, MFP 100 processes the fixed data. For example, an image of the background portion of the screen is generated using fixed data. In addition, when receiving fixed data, the MFP 100 determines that there is fluctuating data, and transmits a request signal for requesting fluctuating data to the cloud server 300. The request signal transmitted by MFP 100 is received on behalf of cloud server 300 by gateway device 200. When gateway apparatus 200 receives the request signal, it establishes a second communication session with MFP 100. In this state, the gateway device 200 can relay communication between the cloud server 300 and the MFP 100.

ゲートウェイ装置200は、MFP100からクラウドサーバー300宛の要求信号を受信する場合、一時記憶された変動データからなるメッセージをクラウドサーバー300に代わって第2通信セッションを介して送信し、メッセージの送信が完了すると第2通信セッションを切断する。MFP100においては、第2通信セッションを介して変動データからなるメッセージを受信する場合、その変動データを処理する。例えば、変動データを用いて画面のデータ部分の画像を生成し、背景部分にデータ部分を合成した画面の画像を生成し、表示する。また、MFP100は、変動データを受信する場合、クラウドサーバー300からすべてのデータを受信したと判断し、第2通信セッションを切断する。   When the gateway apparatus 200 receives a request signal addressed to the cloud server 300 from the MFP 100, the gateway apparatus 200 transmits a message including the temporarily stored variable data via the second communication session on behalf of the cloud server 300, and the message transmission is completed. Then, the second communication session is disconnected. When MFP 100 receives a message composed of variable data via the second communication session, MFP 100 processes the variable data. For example, an image of the data portion of the screen is generated using the variation data, and an image of the screen in which the data portion is combined with the background portion is generated and displayed. Further, when receiving the variation data, the MFP 100 determines that all data has been received from the cloud server 300 and disconnects the second communication session.

また、ゲートウェイ装置200は、第2通信セッションを介して、MFP100からクラウドサーバー300宛の要求信号を、固定データからなるメッセージを送信してから所定時間経過しても受信しない場合、第2通信セッションに異常が発生したと判断し、一時記憶された変動データからなるメッセージを消去するとともに、クラウドサーバー300にエラーが発生したことを通知する。このため、第1通信セッションを、第2通信セッションに異常が発生したと判断可能なタイミングまで切断しないようにしてもよい。   If the gateway apparatus 200 does not receive a request signal addressed to the cloud server 300 from the MFP 100 via the second communication session even after a predetermined time has elapsed after transmitting a message composed of fixed data, the gateway apparatus 200 receives the second communication session. It is determined that an abnormality has occurred, and the message composed of the temporarily stored variation data is deleted, and the cloud server 300 is notified that an error has occurred. For this reason, the first communication session may not be disconnected until it is possible to determine that an abnormality has occurred in the second communication session.

図9は、情報システムにおける情報の流れの一例を示す第2の図である。図9においては、インターネット5またはLAN3に接続されたPC500を操作するユーザーが、クラウドサーバー300が提供するサービスを受け、MFP100を出力先として指定した場合の情報の流れを示している。図9を参照して、ゲートウェイ装置200は、管理サーバー400との間で常時接続セッションを確立する。クラウドサーバー300は、PC500のユーザーにより出力先にMFP100が指定される場合、管理サーバー400に接続要求を送信する。管理サーバー400は、クラウドサーバー300から接続要求を受信すると、ゲートウェイ装置200にトンネル接続要求を送信する。トンネル接続要求は、接続先のアドレス情報として、クラウドサーバー300のアドレス情報と、MFP100のアドレス情報とを含む。   FIG. 9 is a second diagram illustrating an example of the flow of information in the information system. FIG. 9 shows a flow of information when a user operating the PC 500 connected to the Internet 5 or the LAN 3 receives a service provided by the cloud server 300 and designates the MFP 100 as an output destination. Referring to FIG. 9, gateway device 200 establishes a constant connection session with management server 400. When the MFP 100 is designated as an output destination by the user of the PC 500, the cloud server 300 transmits a connection request to the management server 400. When receiving the connection request from the cloud server 300, the management server 400 transmits a tunnel connection request to the gateway device 200. The tunnel connection request includes address information of the cloud server 300 and address information of the MFP 100 as connection destination address information.

ゲートウェイ装置200は、トンネル接続要求に従って、クラウドサーバー300との間で第1通信セッションを確立するとともに、MFP100との間で第2通信セッションを確立する。この状態で、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間の通信を中継することが可能となる。   Gateway device 200 establishes a first communication session with cloud server 300 and a second communication session with MFP 100 in accordance with the tunnel connection request. In this state, the gateway device 200 can relay communication between the cloud server 300 and the MFP 100.

PCを操作するユーザーが、クラウドサーバー300にサービスの提供を要求する場合、クラウドサーバー300は、MFP100にサービスを提供するための処理を実行する。クラウドサーバー300から固定データからなるメッセージと変動データからなるメッセージをMFP100に送信するデータの流れは、図8に示した流れと同じであるので、ここでは説明を繰り返さない。   When the user operating the PC requests the cloud server 300 to provide a service, the cloud server 300 executes a process for providing the service to the MFP 100. Since the flow of data for transmitting a message composed of fixed data and a message composed of variable data from the cloud server 300 to the MFP 100 is the same as the flow shown in FIG. 8, the description thereof will not be repeated here.

図10および図11は、中継処理の流れの一例を示すフローチャートである。中継処理は、ゲートウェイ装置200が備えるCPU201が、ROM202、フラッシュメモリ204またはCD−ROM209Aに記憶された中継プログラムを実行することにより、CPU201により実行される処理である。図10および図11を参照して、ゲートウェイ装置200が備えるCPU201は、第1通信部205を制御して管理サーバー400との間で常時接続セッションを確立する(ステップS01)。フラッシュメモリ204に記憶されている管理サーバー400のグローバルIPアドレスを用いて管理サーバー400に通信セッションの確立要求を送信し、管理サーバー400と所定のネゴシエーションをすることによって常時接続セッションを確立する。常時接続セッションは、特に限定するものではないが、例えば、XMPPに基づくメッセージセッションである。   10 and 11 are flowcharts illustrating an example of the flow of relay processing. The relay process is a process executed by the CPU 201 when the CPU 201 included in the gateway device 200 executes a relay program stored in the ROM 202, the flash memory 204, or the CD-ROM 209A. Referring to FIGS. 10 and 11, CPU 201 provided in gateway device 200 controls first communication unit 205 to establish a constant connection session with management server 400 (step S01). A request for establishing a communication session is transmitted to the management server 400 using the global IP address of the management server 400 stored in the flash memory 204, and a constant connection session is established by performing a predetermined negotiation with the management server 400. The always-on session is not particularly limited, but is a message session based on XMPP, for example.

次のステップS02においては、常時接続セッションを介して管理サーバー400から、トンネル接続要求を受信したか否かを判断する。トンネル接続要求を受信したならば、処理をステップS04に進めるが、そうでなければ処理をステップS03に進める。ステップS03においては、クラウドサーバー300宛の入力情報要求を受信したか否かを判断する。例えば、MFP100を操作するユーザーがクラウドサーバー300の提供するサービスを受ける操作をMFP100に入力する場合に、MFP100がクラウドサーバー300への入力情報要求を送信するので、ゲートウェイ装置200は、MFP100が送信する入力情報要求を受信する。クラウドサーバー300宛の入力情報要求を受信したならば処理をステップS04に進めるが、そうでなければ処理をステップS02に戻す。   In the next step S02, it is determined whether a tunnel connection request has been received from the management server 400 via the always-on session. If a tunnel connection request is received, the process proceeds to step S04; otherwise, the process proceeds to step S03. In step S03, it is determined whether an input information request addressed to cloud server 300 has been received. For example, when a user operating the MFP 100 inputs an operation to receive a service provided by the cloud server 300 to the MFP 100, the MFP 100 transmits an input information request to the cloud server 300. Receive input information request. If an input information request addressed to cloud server 300 is received, the process proceeds to step S04. If not, the process returns to step S02.

ステップS04においては、第2通信セッションを確立する。処理がステップS02から進む場合は、管理サーバー400から受信されるトンネル接続要求から接続元のアドレス情報を抽出する。ここでは、トンネル接続要求が、接続元のアドレス情報としてMFP100のアドレス情報を含み、接続先のアドレス情報としてクラウドサーバー300のアドレス情報を含む場合を例に説明する。この場合、第2通信部206を制御して、接続元の装置に特定されたMFP100との間で第2通信セッションを確立する。また、処理がステップS03から進む場合は、第2通信部206を制御して、クラウドサーバー300宛の入力情報要求を送信してきたMFP100との間で第2通信セッションを確立する。   In step S04, a second communication session is established. When the process proceeds from step S02, the connection source address information is extracted from the tunnel connection request received from the management server 400. Here, a case will be described as an example where the tunnel connection request includes the address information of MFP 100 as the address information of the connection source and the address information of cloud server 300 as the address information of the connection destination. In this case, the second communication unit 206 is controlled to establish a second communication session with the MFP 100 specified as the connection source device. When the process proceeds from step S03, the second communication unit 206 is controlled to establish a second communication session with the MFP 100 that has transmitted the input information request addressed to the cloud server 300.

ステップS05においては、第1通信セッションを確立する。ステップS02が実行される場合は、ステップS02において受信されたトンネル接続要求から接続先のアドレス情報を抽出する。ここでは、トンネル接続要求が、接続先のアドレス情報としてクラウドサーバー300のアドレス情報を含むので、クラウドサーバー300のアドレス情報を抽出する。そして、第1通信部205を制御して、接続先のアドレス情報を用いて、クラウドサーバー300との間で第1通信セッションを確立する。一方、ステップS03が実行される場合は、クラウドサーバー300宛の入力情報要求が受信されるので、第1通信部205を制御して、クラウドサーバー300との間で第1通信セッションを確立する。   In step S05, a first communication session is established. When step S02 is executed, connection destination address information is extracted from the tunnel connection request received in step S02. Here, since the tunnel connection request includes the address information of the cloud server 300 as the address information of the connection destination, the address information of the cloud server 300 is extracted. Then, the first communication unit 205 is controlled to establish a first communication session with the cloud server 300 using the address information of the connection destination. On the other hand, when step S03 is executed, since the input information request addressed to the cloud server 300 is received, the first communication unit 205 is controlled to establish a first communication session with the cloud server 300.

次のステップS06においては、第1通信セッションと第2通信セッションとを用いて、MFP100とクラウドサーバー300との間における通信の中継を開始する。ステップS07においては、クラウドサーバー300からMFP100宛のメッセージを受信したか否かを判断する。メッセージを受信したならば処理をステップS08に進めるが、そうでなければ処理をステップS13に進める。   In the next step S06, relay of communication between MFP 100 and cloud server 300 is started using the first communication session and the second communication session. In step S07, it is determined whether a message addressed to MFP 100 is received from cloud server 300 or not. If the message is received, the process proceeds to step S08; otherwise, the process proceeds to step S13.

ステップS08においては、メッセージに後続のメッセージが存在するか否かを判断する。クラウドサーバー300からHTTPで定められた持続的接続機能を用いてメッセージを受信する場合、後続のメッセージが存在すると判断する。後続のメッセージが存在するならば処理をステップS10に進めるが、そうでなければ処理をステップS09に進める。ステップS09においては、終了フラグをONに設定し、処理をステップS10に進める。終了フラグは、クラウドサーバー300から受信される後続のメッセージが存在しないことを示す場合にONに設定される。   In step S08, it is determined whether there is a subsequent message in the message. When a message is received from the cloud server 300 using the persistent connection function defined by HTTP, it is determined that a subsequent message exists. If there is a subsequent message, the process proceeds to step S10; otherwise, the process proceeds to step S09. In step S09, the end flag is set to ON, and the process proceeds to step S10. The end flag is set to ON when it indicates that there is no subsequent message received from the cloud server 300.

ステップS10においては、クラウドサーバー300から受信されたメッセージが最初のメッセージか否かを判断する。最初のメッセージを受信したならば処理をステップS11に進めるが、そうでなければ処理をステップS12に進める。ステップS11においては、第2通信セッションを介してステップS07において受信されたメッセージをMFP100に送信し、処理をステップS12に進める。ステップS12においては、第2通信セッションを切断し、処理をステップS07に戻す。ステップS13においては、ステップS07において受信されたメッセージをRAM203に一時記憶し、処理をステップS07に戻す。   In step S10, it is determined whether the message received from the cloud server 300 is the first message. If the first message is received, the process proceeds to step S11. If not, the process proceeds to step S12. In step S11, the message received in step S07 is transmitted to MFP 100 via the second communication session, and the process proceeds to step S12. In step S12, the second communication session is disconnected, and the process returns to step S07. In step S13, the message received in step S07 is temporarily stored in RAM 203, and the process returns to step S07.

ステップS14においては、RAM203にメッセージが記憶されているか否かを判断する。クラウドサーバー300が複数のメッセージを送信する場合に、最初のメッセージ以外のメッセージは、ステップS12においてRAM203に記憶される。RAM203にメッセージが記憶されていれば処理をステップS15に進めるが、そうでなければ処理をステップS23に進める。ステップS23においては、終了フラグがONに設定されているか否かを判断する。終了フラグがONに設定されているならば処理をステップS24に進めるが、そうでなければ処理をステップS07に戻す。終了フラグがONに設定されていれば、クラウドサーバー300から受信されるメッセージはなく、RAM203にメッセージが記憶されていなければ、MFP100に送信するためのメッセージが存在しないからである。   In step S14, it is determined whether a message is stored in the RAM 203 or not. When the cloud server 300 transmits a plurality of messages, messages other than the first message are stored in the RAM 203 in step S12. If a message is stored in RAM 203, the process proceeds to step S15; otherwise, the process proceeds to step S23. In step S23, it is determined whether or not the end flag is set to ON. If the end flag is set to ON, the process proceeds to step S24; otherwise, the process returns to step S07. This is because there is no message received from the cloud server 300 if the end flag is set to ON, and there is no message to be transmitted to the MFP 100 if no message is stored in the RAM 203.

ステップS15においては、MFP100から要求信号を受信したか否かを判断する。MFP100は、メッセージを受信した後に、後続のメッセージが存在すると判断する場合に要求信号を送信する。MFP100から要求信号を受信したならば処理をステップS16に進めるが、そうでなければ処理をステップS17に進める。ステップS16においては、要求信号を送信してきたMFP100との間で第2通信セッションを確立し、処理をステップS17に進める。ステップS17においては、RAM203に記憶されたメッセージのうち最も先に記憶されたメッセージを第2通信セッションを介してMFP100に送信し、処理をステップS18に進める。ステップS18においては、第2通信セッションを切断し、処理をステップS19に進める。ステップS19においては、ステップS17においてMFP100に送信したメッセージをRAM203から消去し、処理をステップS07に戻す。   In step S15, it is determined whether a request signal is received from MFP 100 or not. After receiving the message, MFP 100 transmits a request signal when determining that there is a subsequent message. If a request signal is received from MFP 100, the process proceeds to step S16. If not, the process proceeds to step S17. In step S16, a second communication session is established with MFP 100 that has transmitted the request signal, and the process proceeds to step S17. In step S17, the message stored first in the messages stored in RAM 203 is transmitted to MFP 100 via the second communication session, and the process proceeds to step S18. In step S18, the second communication session is disconnected, and the process proceeds to step S19. In step S19, the message transmitted to MFP 100 in step S17 is deleted from RAM 203, and the process returns to step S07.

ステップS20においては、最後にメッセージを送信してから所定時間が経過したか否かを判断する。ステップS11またはステップS17において、最後にメッセージを送信してからの経過時間を計時し、所定時間が経過したか否かを判断する。最後にメッセージを送信してから要求信号を受信することなく所定時間が経過したならば処理をステップS21に進めるが、そうでなければ処理をステップS23に進める。   In step S20, it is determined whether or not a predetermined time has elapsed since the last message transmission. In step S11 or step S17, the elapsed time from the last message transmission is counted to determine whether or not a predetermined time has elapsed. If a predetermined time has elapsed without receiving a request signal since the last message transmission, the process proceeds to step S21. If not, the process proceeds to step S23.

ステップS21においては、クラウドサーバー300に第1通信セッションを介してエラーを通知し、処理をステップS22に進める。ステップS22においては、ステップS13においてRAM203に記憶されたメッセージをすべて消去し、処理をステップS24に進める。ステップS24においては、ステップS05において確立された第1通信セッションを切断し、中継処理を終了する。   In step S21, an error is notified to the cloud server 300 via the first communication session, and the process proceeds to step S22. In step S22, all the messages stored in RAM 203 in step S13 are deleted, and the process proceeds to step S24. In step S24, the first communication session established in step S05 is disconnected, and the relay process ends.

図12は、サービス提供処理の流れの一例を示すフローチャートである。サービス提供処理は、クラウドサーバー300が備えるCPU301がサービスを提供するためのサービス提供プログラムを実行することにより、そのCPU301により実行される処理である。ここでは、クラウドサーバー300が実行する処理のうち、クラウドサーバー300がMFP100にサービスを提供する場合を例に説明する。図12を参照して、クラウドサーバー300が備えるCPU301は、アクセス元を特定し(ステップS301)、処理をステップS302に進める。アクセス元は、クラウドサーバー300を操作するユーザーが、MFP100を操作するユーザーの場合と、インターネット5またはLAN3に接続されたPCを操作する場合とがある。通信部305が、インターネット5またはLAN3に接続されたPCからアクセスを受け付けると、PCをアクセス元として特定する。また、通信部305がゲートウェイ装置200を介してMFP100からアクセスを受け付けると、MFP100をアクセス元として特定する。   FIG. 12 is a flowchart illustrating an example of a flow of service providing processing. The service providing process is a process executed by the CPU 301 when the CPU 301 included in the cloud server 300 executes a service providing program for providing a service. Here, a case where the cloud server 300 provides a service to the MFP 100 among the processes executed by the cloud server 300 will be described as an example. With reference to FIG. 12, CPU301 with which the cloud server 300 is provided identifies an access origin (step S301), and advances a process to step S302. The access source includes a case where the user who operates the cloud server 300 is a user who operates the MFP 100 and a case where the user operates the PC connected to the Internet 5 or the LAN 3. When the communication unit 305 receives an access from a PC connected to the Internet 5 or the LAN 3, the PC is specified as the access source. When communication unit 305 accepts access from MFP 100 via gateway device 200, MFP 100 is identified as the access source.

ステップS302においては、アクセス元がMFPか否かを判断する。アクセス元がMFP100ならば処理をステップS303に進めるが、そうでなければ処理をステップS306に進める。ステップS303においては、MFP100を出力先に設定し、処理をステップS304に進める。ステップS304においては、MFP100を操作するユーザーによる操作に従って、サービスの提供を開始し、処理をステップS305に進める。例えば、サービスが、画像データを文字認識する処理の場合、MFP100から受信される画像データを文字認識し、文字認識した結果を表示するための画面の画像を生成する。この場合、画面の画像を、画面の背景となる固定データを最初に生成し、次に、文字認識して得られる文字のデータからなる変動データを生成する。ステップS305においては、アクセス元のMFP100との間で第1通信セッションを確立し、処理をステップS312に進める。実際には、ゲートウェイ装置200がMFP100に代わってクラウドサーバー300との間で第1通信セッションを確立する。   In step S302, it is determined whether the access source is an MFP. If the access source is MFP 100, the process proceeds to step S303; otherwise, the process proceeds to step S306. In step S303, MFP 100 is set as the output destination, and the process proceeds to step S304. In step S304, service provision is started in accordance with an operation by the user operating MFP 100, and the process proceeds to step S305. For example, if the service is a process for recognizing image data, the image data received from MFP 100 is recognized and a screen image for displaying the result of character recognition is generated. In this case, the fixed data as the screen background is first generated for the screen image, and then the fluctuation data including the character data obtained by character recognition is generated. In step S305, a first communication session is established with access source MFP 100, and the process proceeds to step S312. Actually, the gateway device 200 establishes a first communication session with the cloud server 300 instead of the MFP 100.

ステップS306においては、出力先を特定し、処理をステップS307に進める。アクセスしてきたPCを操作するユーザーによる操作に従って出力先を特定する。ここでは、MFP100がPCを操作するユーザーにより指定され、MFP100が出力先に特定される場合を例に説明する。ステップS307においては、アクセスしてきたPCを操作するユーザーによる操作に従ってサービスを提供し、処理をステップS308に進める。サービスの提供については、ステップS304と同様である。アクセスしてきたPCから受信される画像データを文字認識し、文字認識した結果を表示するための画面の画像を生成する。   In step S306, the output destination is specified, and the process proceeds to step S307. The output destination is specified in accordance with the operation by the user who operates the accessed PC. Here, a case will be described as an example where MFP 100 is designated by the user operating the PC and MFP 100 is specified as the output destination. In step S307, a service is provided according to an operation by a user who operates the accessed PC, and the process proceeds to step S308. The service provision is the same as in step S304. Character data is received from image data received from the accessing PC, and a screen image for displaying the result of character recognition is generated.

ステップS308においては、通信部305を制御して、予め登録された管理サーバー400との間でグローバルセッションを確立し、処理をステップS309に進める。ステップS309においては、グローバルセッションを介して、管理サーバー400に接続要求を送信する。接続要求は、接続元としてステップS306において特定された出力先、ここではMFP100のアドレス情報と、クラウドサーバー300のアドレス情報と、を含む。接続要求を受信する管理サーバー400は、ゲートウェイ装置200にトンネル接続要求を送信する。トンネル接続要求を受信するゲートウェイ装置200は、クラウドサーバーに通信セッションの確立要求を送信する。   In step S308, the communication unit 305 is controlled to establish a global session with the management server 400 registered in advance, and the process proceeds to step S309. In step S309, a connection request is transmitted to the management server 400 via the global session. The connection request includes the output destination specified in step S306 as the connection source, here, the address information of the MFP 100 and the address information of the cloud server 300. The management server 400 that receives the connection request transmits a tunnel connection request to the gateway device 200. The gateway device 200 that receives the tunnel connection request transmits a communication session establishment request to the cloud server.

次のステップS310においては、通信部305を制御して、ゲートウェイ装置200から通信セッションの確立要求を受信するまで待機状態となり、ゲートウェイ装置200から通信セッションの確立要求を受信すると処理をステップS311に進める。ステップS311においては、ゲートウェイ装置200との間で第1通信セッションを確立し、処理をステップS312に進める。   In the next step S310, the communication unit 305 is controlled to enter a standby state until a communication session establishment request is received from the gateway apparatus 200. When a communication session establishment request is received from the gateway apparatus 200, the process proceeds to step S311. . In step S311, a first communication session is established with gateway apparatus 200, and the process proceeds to step S312.

ステップS312においては、サービスを提供するために実行した処理の結果のうちから送信の対象となるメッセージを送信対象メッセージとして選択し、処理をステップS313に進める。ステップS313においては、未送信メッセージが存在するか否かを判断する。サービスを提供するために実行した処理の結果が複数のメッセージからなり、送信対象メッセージ以外で、出力先であるMFP100に送信していない未送信メッセージが存在するか否かを判断する。未送信メッセージが存在するならば処理をステップS314に進めるが、そうでなければ処理をステップS315に進める。ステップS314においては、第1通信セッションを介して送信対象メッセージをHTTPで定められた持続的接続機能で送信し、処理をステップS312に戻す。ステップS315においては、第1通信セッションを介して送信対象メッセージをHTTPで定められた持続的接続機能を用いることなく送信し、処理をステップS316に進める。ここでは、サービスを提供するために実行した処理の結果が、固定データと変動データとを含み、固定データが変動データより先に生成されるので、固定データを送信対象メッセージに選択するこの場合、第1通信セッションを介して固定データがHTTPで定められた持続的接続機能で送信され、次に変動データが送信対象データに選択される場合、未送信メッセージが存在しないので、変動データは、第1通信セッションを介してHTTPで定められた持続的接続機能を用いることなく送信される。第1通信セッションを介して送信される固定データおよび変動データは、ゲートウェイ装置200がMFP100に代わって受信する。   In step S312, a message to be transmitted is selected as a message to be transmitted from among the results of processing executed to provide the service, and the process proceeds to step S313. In step S313, it is determined whether there is an unsent message. It is determined whether or not the result of the process executed to provide the service includes a plurality of messages, and there is an unsent message that has not been sent to the MFP 100 that is the output destination other than the message to be sent. If there is an unsent message, the process proceeds to step S314; otherwise, the process proceeds to step S315. In step S314, the transmission target message is transmitted using the persistent connection function defined by HTTP via the first communication session, and the process returns to step S312. In step S315, the transmission target message is transmitted via the first communication session without using the persistent connection function defined by HTTP, and the process proceeds to step S316. In this case, the result of the process executed to provide the service includes fixed data and variable data, and the fixed data is generated before the variable data. If the fixed data is transmitted through the first communication session with the persistent connection function defined by HTTP and then the variable data is selected as the transmission target data, there is no unsent message, so the variable data It is transmitted via one communication session without using the persistent connection function defined by HTTP. Fixed data and variable data transmitted via the first communication session are received by the gateway device 200 in place of the MFP 100.

ステップS316においては、第1通信セッションを介してエラー通知を受信したか否かを判断する。エラー通知を受信したならば処理をステップS317に進めるが、そうでなければステップS317をスキップして、処理をステップS318に進める。ステップS317においては、エラー処理を実行し、処理をステップS318に進める。エラー処理は、出力先にサービスを提供するための処理を実行した結果を送信できない場合に実行される処理である。例えば、アクセス元がPCの場合には、サービスを提供するための処理を実行した結果の送信に失敗したことを示すメッセージをアクセス元のPCに送信する。   In step S316, it is determined whether an error notification is received via the first communication session. If an error notification is received, the process proceeds to step S317. If not, step S317 is skipped and the process proceeds to step S318. In step S317, error processing is executed, and the process proceeds to step S318. The error process is a process executed when a result of executing a process for providing a service to an output destination cannot be transmitted. For example, when the access source is a PC, a message indicating that transmission of a result of executing a process for providing a service has failed is transmitted to the access source PC.

ステップS318においては、ステップS305またはステップS311において確立された第1通信セッションを切断し、サービス提供処理を終了する。   In step S318, the first communication session established in step S305 or step S311 is disconnected, and the service providing process ends.

図13は、装置制御処理の流れの一例を示すフローチャートである。装置制御処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された装置制御プログラムを実行することにより、CPU111により実行される処理である。図13を参照して、MFP100が備えるCPU111は、クラウドサーバー300が提供するサービスを選択する操作を受け付けたか否かを判断する(ステップS51)。ユーザーが操作部163に入力する操作が、クラウドサーバー300が提供するサービスを選択する操作か否かを判断する。クラウドサーバー300が提供するサービスを選択する操作が受け付けられたならば処理をステップS52に進めるが、そうでなければ処理をステップS53に進める。ステップS52においては、クラウドサーバー300に入力情報要求を送信し、処理をステップS54に進める。ステップS54においては、第2通信セッションを確立し、処理をステップS55に進める。入力情報要求は、ゲートウェイ装置200を介してクラウドサーバー300に送信される。入力情報要求をMFP100から受信するゲートウェイ装置200における処理は、図10のステップS03〜ステップS06で説明したように、MFP100との間で第2通信セッションを確立し、クラウドサーバー300との間で第1通信セッションを確立し、第1通信セッションと第2通信セッションを用いてMFP100とクラウドサーバー300との間の通信を中継する。   FIG. 13 is a flowchart illustrating an example of the flow of device control processing. The device control process is a process executed by CPU 111 when CPU 111 provided in MFP 100 executes a device control program stored in ROM 113, HDD 115, or CD-ROM 118. Referring to FIG. 13, CPU 111 provided in MFP 100 determines whether an operation for selecting a service provided by cloud server 300 has been received (step S51). It is determined whether an operation input by the user to the operation unit 163 is an operation for selecting a service provided by the cloud server 300. If an operation for selecting a service provided by cloud server 300 is accepted, the process proceeds to step S52; otherwise, the process proceeds to step S53. In step S52, an input information request is transmitted to the cloud server 300, and the process proceeds to step S54. In step S54, a second communication session is established, and the process proceeds to step S55. The input information request is transmitted to the cloud server 300 via the gateway device 200. The processing in the gateway apparatus 200 that receives the input information request from the MFP 100 establishes a second communication session with the MFP 100 as described in steps S03 to S06 in FIG. One communication session is established, and communication between MFP 100 and cloud server 300 is relayed using the first communication session and the second communication session.

一方、ステップS53においては、クラウドサーバー300から接続要求を受信したか否かを判断する。クラウドサーバー300から接続要求を受信したならば処理をステップS54に進めるが、そうでなければ処理をステップS51に戻す。ステップS54においては、第2通信セッションを確立し、処理をステップS55に進める。図12のステップS306〜ステップS309で説明したように、クラウドサーバー300は、インターネット5またはLAN3に接続されたPCからの指示によりサービスを提供する場合に、MFP100が出力先に指定されると、接続要求を管理サーバー400に送信する。管理サーバー400は、ゲートウェイ装置200にトンネル接続要求を送信し、トンネル接続要求を受信するゲートウェイ装置200は、図10のステップS02,S04〜06で示したように、MFP100との間で第2通信セッションを確立し、クラウドサーバー300との間で第1通信セッションを確立し、第1通信セッションと第2通信セッションを用いてMFP100とクラウドサーバー300との間の通信を中継する。   On the other hand, in step S53, it is determined whether or not a connection request is received from the cloud server 300. If a connection request is received from cloud server 300, the process proceeds to step S54; otherwise, the process returns to step S51. In step S54, a second communication session is established, and the process proceeds to step S55. As described in steps S306 to S309 in FIG. 12, when the cloud server 300 provides a service according to an instruction from a PC connected to the Internet 5 or the LAN 3, if the MFP 100 is designated as an output destination, the connection is established. The request is transmitted to the management server 400. The management server 400 transmits a tunnel connection request to the gateway device 200, and the gateway device 200 that receives the tunnel connection request performs second communication with the MFP 100 as shown in steps S02 and S04 to 06 in FIG. A session is established, a first communication session is established with the cloud server 300, and communication between the MFP 100 and the cloud server 300 is relayed using the first communication session and the second communication session.

ステップS55においては、第2通信セッションを介してクラウドサーバー300からメッセージを受信したか否かを判断する。メッセージを受信するまで待機状態となり(ステップS55でNO)、メッセージを受信したならば(ステップS55でYES)、処理をステップS56に進める。   In step S55, it is determined whether a message has been received from the cloud server 300 via the second communication session. The process waits until a message is received (NO in step S55). If a message is received (YES in step S55), the process proceeds to step S56.

ステップS56においては、メッセージを処理し、処理をステップS57に進める。ステップS56において実行される処理は、限定するものではないが、メッセージに基づいて画面を生成し、表示する処理である。ステップS57においては後続のメッセージが存在するか否かを判断する。ステップS56においてメッセージを処理した結果、後続のメッセージが存在すると判断する場合は処理をステップS58に進めるが、そうでなければ処理をステップS59に進める。ステップS58においては、第2通信セッションを介して後続のメッセージを要求する要求信号を送信し、処理をステップS55に戻す。一方、ステップS59においては、ステップS56においてメッセージを処理した結果を出力し、装置制御処理を終了する。例えば、クラウドサーバー300が、サービスを提供するために実行する処理の結果として、画面を出力すする場合、その画面の背景を示す固定データからなるメッセージと、画面のデータを示す変動データからなるメッセージとを送信する場合がある。MFP100は、固定データからなるメッセージを受信する場合、後続のメッセージとして変動データからなるメッセージが存在することを判断し、要求信号をクラウドサーバー300に送信するとともに、固定データに基づいて画面の背景の画像を生成する。クラウドサーバー300に代わって要求信号を受信するゲートウェイ装置200は、確立要求を送信してくる。次のステップS59においては、ゲートウェイ装置200から受信される確立要求に基づいてゲートウェイ装置200との間で第2通信セッションを確立し、処理をステップS55に戻す。そして、MFP100は、次に変動データからなるメッセージを受信すると(ステップS55)、変動データに基づいて画面のデータの画像を生成し、2つの画像を合成することにより、1つの画面の画像を生成し、表示する(ステップS56)。   In step S56, the message is processed, and the process proceeds to step S57. The process executed in step S56 is a process for generating and displaying a screen based on the message, although not limited thereto. In step S57, it is determined whether there is a subsequent message. As a result of processing the message in step S56, if it is determined that there is a subsequent message, the process proceeds to step S58. If not, the process proceeds to step S59. In step S58, a request signal for requesting a subsequent message is transmitted via the second communication session, and the process returns to step S55. On the other hand, in step S59, the result of processing the message in step S56 is output, and the device control process ends. For example, when the cloud server 300 outputs a screen as a result of processing executed to provide a service, a message composed of fixed data indicating the background of the screen and a message composed of variation data indicating the screen data. And may send. When the MFP 100 receives a message composed of fixed data, the MFP 100 determines that there is a message composed of variable data as a subsequent message, transmits a request signal to the cloud server 300, and determines the background of the screen based on the fixed data. Generate an image. The gateway device 200 that receives the request signal on behalf of the cloud server 300 transmits an establishment request. In the next step S59, the second communication session is established with the gateway apparatus 200 based on the establishment request received from the gateway apparatus 200, and the process returns to step S55. Then, when the MFP 100 next receives a message composed of variation data (step S55), the MFP 100 generates an image of screen data based on the variation data, and generates an image of one screen by combining the two images. Is displayed (step S56).

以上説明したように、本実施の形態における情報処理システム1において、クラウドサーバー300は、MFP100に処理を実行させるための入力情報が複数のメッセージからなる場合、MFP100から要求信号が受信されるまで待つことなく、MFP100にゲートウェイ装置200を介して入力情報を構成する複数のメッセージを連続して送信し、ゲートウェイ装置200は、クラウドサーバー300からMFP100宛のメッセージをインターネット5を介して受信する場合、受信されたメッセージをMFP100にクラウドサーバー300に代わってLAN3を介して送信するが、クラウドサーバー300からMFP100宛の複数のメッセージを連続して受信する場合は、複数のメッセージのうち第1メッセージをMFP100に送信した後、MFP100から要求信号が受信されるまで、第1メッセージより後に受信された第2メッセージを送信しない。このため、クラウドサーバー300からゲートウェイ装置200に複数のメッセージインターネット5を介して連続して送信されるので、インターネット5で確立した第1通信セッションを介して複数のメッセージを送信することができる。従がって、複数のメッセージをそれぞれ送信するために複数の通信セッションを確立する必要がないので、インターネット5の負荷の変動の影響を少なくすることができる。また、ゲートウェイ装置200は、クラウドサーバー300から複数のメッセージを連続して受信する場合、複数のメッセージのうち第1メッセージをMFP100に送信した後、MFP100から要求信号が受信されるまで、第1メッセージより後に受信された第2メッセージを送信しないので、MFP100においては、入力情報を構成する複数のメッセージをLAN3を介した複数の通信で順に受信することができる。したがって、MFP100において入力情報を要求してからメッセージを受信するまでのレスポンスタイムを短くすることができる。   As described above, in information processing system 1 according to the present embodiment, cloud server 300 waits until a request signal is received from MFP 100 when input information for causing MFP 100 to execute processing includes a plurality of messages. If the gateway device 200 receives a message addressed to the MFP 100 from the cloud server 300 via the Internet 5, the message is received when the gateway device 200 continuously transmits a plurality of messages constituting the input information to the MFP 100 via the gateway device 200. The received message is transmitted to the MFP 100 via the LAN 3 in place of the cloud server 300. When a plurality of messages addressed to the MFP 100 are continuously received from the cloud server 300, the first message among the plurality of messages is sent to the MFP 10. After sending the up request signal from the MFP100 is received, it does not transmit the second message received after the first message. For this reason, since it is continuously transmitted from the cloud server 300 to the gateway device 200 via the plurality of message Internets 5, a plurality of messages can be transmitted via the first communication session established on the Internet 5. Accordingly, since it is not necessary to establish a plurality of communication sessions in order to transmit a plurality of messages, the influence of fluctuations in the load on the Internet 5 can be reduced. Further, when the gateway device 200 continuously receives a plurality of messages from the cloud server 300, the gateway device 200 transmits the first message from the plurality of messages to the MFP 100 and then receives the first message until the request signal is received from the MFP 100. Since the second message received later is not transmitted, MFP 100 can sequentially receive a plurality of messages constituting the input information through a plurality of communications via LAN 3. Therefore, the response time from when MFP 100 requests input information to when a message is received can be shortened.

また、クラウドサーバー300は、複数のメッセージのうちに送信対象となる送信対象メッセージの他に未送信の未送信メッセージが存在する場合に、未送信のメッセージが存在することを通知し、ゲートウェイ装置200は、未送信のメッセージが存在することが通知される場合に、複数のメッセージが送信されると判断する。このため、ゲートウェイ装置200が、クラウドサーバー300との間で確立された第1通信セッションを切断しないようにして、ゲートウェイ装置200が複数のメッセージのすべてをクラウドサーバー300から受信可能となる。   In addition, when there is an untransmitted untransmitted message in addition to the transmission target message to be transmitted among the plurality of messages, the cloud server 300 notifies that there is an untransmitted message, and the gateway device 200 Determines that a plurality of messages are transmitted when it is notified that there is an untransmitted message. Therefore, the gateway device 200 can receive all of the plurality of messages from the cloud server 300 so that the gateway device 200 does not disconnect the first communication session established with the cloud server 300.

また、クラウドサーバー300は、第1メッセージを送信する際に、ゲートウェイ装置200とので確立された第1通信セッション(通信経路)を維持することを通知する。具体的には、HTTPで定められた持続的接続機能を用いて第1メッセージを送信する。このため、汎用的な規格で定められた持続的接続機能を用いるので、情報処理システムを容易に構築することができる。   In addition, when transmitting the first message, the cloud server 300 notifies that the first communication session (communication path) established with the gateway device 200 is maintained. Specifically, the first message is transmitted using a persistent connection function defined by HTTP. For this reason, since the persistent connection function defined by a general-purpose standard is used, an information processing system can be easily constructed.

また、ゲートウェイ装置200は、クラウドサーバー300から受信された第2メッセージを、MFP100から送信される要求信号が受信されるまで一時記憶するので、クラウドサーバー300から複数のメッセージを受信する処理と、MFP100に複数のメッセージそれぞれを送信する処理とを独立で実行することができるので、クラウドサーバー300と通信する時間を短くすることができる。   Further, the gateway device 200 temporarily stores the second message received from the cloud server 300 until a request signal transmitted from the MFP 100 is received, so that processing for receiving a plurality of messages from the cloud server 300, and the MFP 100 Since the process of transmitting each of the plurality of messages can be executed independently, the time for communicating with the cloud server 300 can be shortened.

また、ゲートウェイ装置200は、MFP100との間で確立された第2通信セッションで異常が発生した場合、クラウドサーバー300に異常が発生したことを通知するとともに、一時記憶された第2メッセージを消去する。このため、クラウドサーバー300においてMFP100に対するメッセージの送信に失敗したことを検出することができる。特に、クラウドサーバー300を操作してMFP100にサービスの結果の出力を指示したユーザーに、サービスが提供されなかったことを通知することができる。ゲートウェイ装置200は、一時記憶された第2メッセージを消去するので、不要なメッセージがいつまでも記憶されるのを回避してメモリ資源を有効に利用することができる。   Further, when an abnormality occurs in the second communication session established with MFP 100, gateway device 200 notifies cloud server 300 that the abnormality has occurred, and deletes the temporarily stored second message. . For this reason, it is possible to detect that the cloud server 300 has failed to transmit a message to the MFP 100. In particular, it is possible to notify the user who has operated cloud server 300 and instructed MFP 100 to output the result of the service, that the service has not been provided. Since the gateway device 200 deletes the second message temporarily stored, it is possible to effectively use memory resources by avoiding unnecessary messages from being stored indefinitely.

また、情報処理システム1が管理サーバー400を備える場合には、ゲートウェイ装置200がファイアーウォール機能を有する場合であっても、ファイアーウォールの外部に配置されたクラウドサーバー300からファイアーウォールの内部に配置されたMFP100にメッセージを送信することができ、ファイアーウォールの外部のインターネット5の負荷の変動によりMFP100においてレスポンスタイムが長くなる頻度を少なくすることができる。   Further, when the information processing system 1 includes the management server 400, even if the gateway device 200 has a firewall function, the cloud server 300 disposed outside the firewall is disposed inside the firewall. A message can be transmitted to the MFP 100, and the frequency at which the response time becomes long in the MFP 100 due to fluctuations in the load on the Internet 5 outside the firewall can be reduced.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   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.

<付記>
(1) 持続的接続機能は、HTTP/2で定められたサーバープッシュ機能またはHTTPで定められるチャンク送信機能である、請求項4に記載の情報処理装置。
<Appendix>
(1) The information processing apparatus according to claim 4, wherein the persistent connection function is a server push function defined by HTTP / 2 or a chunk transmission function defined by HTTP.

1 情報処理システム、5 インターネット、7 LAN、100,100A,100B MFP、200 ゲートウェイ装置、300 クラウドサーバー、400 管理サーバー、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、118 CD−ROM、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、155 後処理部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部、201 CPU、202 ROM、203 RAM、204 フラッシュメモリ、205 第1通信部、206 第2通信部、209 外部記憶装置、301 CPU、302 ROM、303 RAM、304 HDD、305 通信部、306 表示部、307 操作部、309 外部記憶装置、51 入力情報要求部、53 受信制御部、55 処理実行部、61 メッセージ受信部、63 要求信号送信部、250 通信制御部、251 常時接続セッション確立部、253 接続要求受信部、255 第1セッション確立部、260 通信制御部、261 入力情報要求受信部、263 セッション確立部、265 エラー検出部、270 中継部、271 メッセージ代理受信部、273 判断部、275 待機部、277 要求信号受信部、279 メッセージ代理送信部、281 一時記憶部、283 消去部、351 外部受付部、353 サービス提供部、355 接続要求部、357 サーバー側確立部、359 送信部、361 入力情報要求受付部、371 通知部。   1 Information processing system, 5 Internet, 7 LAN, 100, 100A, 100B MFP, 200 gateway device, 300 cloud server, 400 management server, 110 main circuit, 111 CPU, 112 communication I / F unit, 113 ROM, 114 RAM, 115 HDD, 116 facsimile unit, 117 external storage device, 118 CD-ROM, 120 automatic document feeder, 130 document reading unit, 140 image forming unit, 150 paper feed unit, 155 post-processing unit, 160 operation panel, 161 display unit 163, operation unit, 165 touch panel, 167 hard key unit, 201 CPU, 202 ROM, 203 RAM, 204 flash memory, 205 first communication unit, 206 second communication unit, 209 external storage device, 301 CPU, 3 2 ROM, 303 RAM, 304 HDD, 305 communication unit, 306 display unit, 307 operation unit, 309 external storage device, 51 input information request unit, 53 reception control unit, 55 process execution unit, 61 message reception unit, 63 request signal Transmission unit, 250 communication control unit, 251 always connection session establishment unit, 253 connection request reception unit, 255 first session establishment unit, 260 communication control unit, 261 input information request reception unit, 263 session establishment unit, 265 error detection unit, 270 relay unit, 271 message proxy reception unit, 273 determination unit, 275 standby unit, 277 request signal reception unit, 279 message proxy transmission unit, 281 temporary storage unit, 283 deletion unit, 351 external reception unit, 353 service provision unit, 355 Connection request unit, 357 server side establishment unit, 359 Transmission unit, 361 input information request reception unit, 371 notification unit.

Claims (9)

クラウドサーバーと、画像処理装置と、前記クラウドサーバーおよび前記画像処理装置の間の通信を中継する中継装置と、を備えた情報処理システムであって、
前記クラウドサーバーと前記中継装置とは第1のネットワークを介して通信し、
前記中継装置と前記画像処理装置とは第2のネットワークを介して通信し、
前記画像処理装置は、与えられた入力情報に従って処理を実行する処理実行手段と、
前記クラウドサーバーから受信されるメッセージが前記入力情報の一部の場合、前記クラウドサーバーに前記入力情報の他の部分のメッセージを要求する要求信号を送信し、前記他の部分のメッセージを前記クラウドサーバーから受信する受信制御手段と、を備え、
前記クラウドサーバーは、前記画像処理装置に処理を実行させるための入力情報が複数のメッセージからなる場合、前記画像処理装置から前記要求信号が受信されるまで待つことなく、前記画像処理装置に前記中継装置を介して前記入力情報を構成する複数のメッセージを連続して送信する送信手段を、備え、
前記中継装置は、前記クラウドサーバーから前記画像処理装置宛のメッセージを前記第1のネットワークを介して受信する場合、前記受信されたメッセージを前記画像処理装置に前記クラウドサーバーに代わって前記第2のネットワークを介して送信する中継手段を備え、
前記中継手段は、前記クラウドサーバーから前記画像処理装置宛の複数のメッセージを連続して受信する場合、受信された前記複数のメッセージのうち第1メッセージを前記画像処理装置に送信した後、前記画像処理装置から前記要求信号が受信されるまで、前記複数のメッセージのうち前記第1メッセージより後に受信された第2メッセージを送信しない待機手段を含む、情報処理システム。
An information processing system comprising a cloud server, an image processing device, and a relay device that relays communication between the cloud server and the image processing device,
The cloud server and the relay device communicate via a first network,
The relay device and the image processing device communicate via a second network,
The image processing apparatus includes: a process execution unit that executes a process according to given input information;
When the message received from the cloud server is a part of the input information, a request signal for requesting a message of another part of the input information is transmitted to the cloud server, and the message of the other part is transmitted to the cloud server. Receiving control means for receiving from,
When the input information for causing the image processing apparatus to execute processing includes a plurality of messages, the cloud server does not wait until the request signal is received from the image processing apparatus, and relays the image processing apparatus to the image processing apparatus. A transmission means for continuously transmitting a plurality of messages constituting the input information through a device;
When the relay device receives a message addressed to the image processing device from the cloud server via the first network, the relay device sends the received message to the image processing device instead of the cloud server. A relay means for transmitting via a network;
The relay means, when continuously receiving a plurality of messages addressed to the image processing device from the cloud server, after transmitting a first message to the image processing device among the plurality of received messages, An information processing system comprising standby means for not transmitting a second message received after the first message among the plurality of messages until the request signal is received from a processing device.
前記クラウドサーバーが備える前記送信手段は、前記複数のメッセージのうちに送信対象となる送信対象メッセージの他に未だ送信されていない未送信メッセージが存在する場合に、前記未送信メッセージが存在することを通知する通知手段を、含み、
前記中継装置が備える前記中継手段は、前記未送信メッセージが存在することが通知される場合に、前記クラウドサーバーから複数のメッセージが送信されると判断する判断手段を含む、請求項1に記載の情報処理システム。
The transmission means included in the cloud server includes the unsent message when there is an unsent message that has not yet been transmitted in addition to the transmission target message to be transmitted among the plurality of messages. Including a notification means for notification,
The relay unit included in the relay device includes a determination unit that determines that a plurality of messages are transmitted from the cloud server when it is notified that the unsent message exists. Information processing system.
前記通知手段は、前記中継装置との間の通信経路を維持することを通知する、請求項2記載の情報処理システム。   The information processing system according to claim 2, wherein the notification unit notifies that the communication path with the relay device is maintained. 前記通知手段は、HTTP(Hypertext Transfer Protocol)で定められた持続的接続機能を用いて前記送信対象メッセージを送信する、請求項3記載の情報処理システム。   The information processing system according to claim 3, wherein the notification unit transmits the transmission target message using a persistent connection function defined by HTTP (Hypertext Transfer Protocol). 前記クラウドサーバーから受信された前記第2メッセージを、前記画像処理装置から前記要求信号が受信されるまで一時記憶する一時記憶手段を、さらに備えた、請求項1〜4のいずれかに記載の情報処理システム。   The information according to any one of claims 1 to 4, further comprising temporary storage means for temporarily storing the second message received from the cloud server until the request signal is received from the image processing apparatus. Processing system. 前記中継装置は、前記画像処理装置との間の通信経路で異常が発生した場合、前記クラウドサーバーに異常が発生したことを通知するとともに、前記一時記憶された前記第2メッセージを消去する消去手段を、さらに備えた、請求項5に記載の情報処理システム。   The relay device notifies the cloud server that an abnormality has occurred and deletes the temporarily stored second message when an abnormality has occurred in the communication path with the image processing device. The information processing system according to claim 5, further comprising: 前記クラウドサーバーが備える前記送信手段は、前記画像処理装置または前記画像処理装置とは別の外部装置からの要求に応じて、前記入力情報を前記画像処理装置に送信する、請求項1〜6のいずれかに記載の情報処理システム。   The transmission unit included in the cloud server transmits the input information to the image processing device in response to a request from the image processing device or an external device different from the image processing device. An information processing system according to any one of the above. ファイアーウォールの外部に配置された管理サーバーを、さらに備え、
前記クラウドサーバーは、前記ファイアーウォールの外部に配置され、前記画像処理装置は前記ファイアーウォールの内部に配置され、
前記クラウドサーバーは、前記画像処理装置とは別の外部装置からの要求に応じて、接続先のアドレス情報として前記クラウドサーバーに予め定められたアドレス情報と、接続元のアドレス情報として前記画像処理装置のアドレス情報とを含む接続要求を前記管理サーバーに送信する接続要求手段を、備え、
前記管理サーバーは、前記中継装置からの要求に基づいて、前記中継装置との間で通信するための常時接続セッションを確立するサーバー側確立手段と、
前記クラウドサーバーから前記接続要求を受信することに応じて、前記接続要求を前記中継装置に前記常時接続セッションを介して送信するトンネル接続要求手段と、を備え、
前記中継装置は、前記管理サーバーとの間で前記常時接続セッションを確立する常時接続セッション確立手段と、
前記管理サーバーから前記常時接続セッションを介して前記接続要求が受信されることに応じて、前記接続要求に含まれる前記接続先のアドレス情報を用いて前記クラウドサーバーとの間で第1通信セッションを確立する第1セッション確立手段と、
前記管理サーバーから受信された前記接続要求に含まれる前記接続元のアドレス情報で特定される前記画像処理装置との間で第2通信セッションを確立する第2セッション確立手段と、を備え、
前記中継手段は、前記第1通信セッションと前記第2通信セッションとを用いて、前記クラウドサーバーと前記画像処理装置との間の通信を中継し、
前記送信手段は、前記入力情報を前記第1通信セッションを介して前記画像処理装置に送信する、請求項7に記載の情報処理システム。
A management server located outside the firewall,
The cloud server is arranged outside the firewall, and the image processing apparatus is arranged inside the firewall,
In response to a request from an external device different from the image processing device, the cloud server includes address information predetermined for the cloud server as connection destination address information and the image processing device as connection source address information. Connection request means for transmitting a connection request including the address information to the management server,
The management server, based on a request from the relay device, a server-side establishment means for establishing a constant connection session for communicating with the relay device;
Tunnel connection request means for transmitting the connection request to the relay device via the always-on session in response to receiving the connection request from the cloud server,
The relay device, always connection session establishment means for establishing the always connection session with the management server,
In response to receiving the connection request from the management server via the always-on connection session, a first communication session is established with the cloud server using the address information of the connection destination included in the connection request. First session establishing means for establishing;
Second session establishing means for establishing a second communication session with the image processing device specified by the address information of the connection source included in the connection request received from the management server,
The relay means relays communication between the cloud server and the image processing apparatus using the first communication session and the second communication session,
The information processing system according to claim 7, wherein the transmission unit transmits the input information to the image processing apparatus via the first communication session.
クラウドサーバーと、画像処理装置と、前記クラウドサーバーおよび前記画像処理装置との間の通信を中継する中継装置と、を備えた情報処理システムで実行されるデータ送受信方法であって、
前記クラウドサーバーと前記中継装置とは第1のネットワークを介して通信し、
前記中継装置と前記画像処理装置とは第2のネットワークを介して通信し、
クラウドサーバーと、画像処理装置と、前記クラウドサーバーおよび前記画像処理装置との間の通信を中継する中継装置と、を備えた情報処理システムであって、
前記クラウドサーバーと前記中継装置とは第1のネットワークを介して通信し、
前記中継装置と前記画像処理装置とは第2のネットワークを介して通信し、
前記画像処理装置に、与えられた入力情報に従って処理を実行する処理実行ステップと、
前記クラウドサーバーから受信されるメッセージが前記入力情報の一部の場合、前記クラウドサーバーに前記入力情報の他の部分のメッセージを要求する要求信号を送信し、前記他の部分のメッセージを前記クラウドサーバーから受信する受信制御ステップと、を実行させ、
前記クラウドサーバーに、前記画像処理装置に処理を実行させるための入力情報が複数のメッセージからなる場合、前記画像処理装置から前記要求信号が受信されるまで待つことなく、前記画像処理装置に前記中継装置を介して前記入力情報を構成する複数のメッセージを連続して送信する送信ステップを実行させ、
前記中継装置に、前記クラウドサーバーから前記画像処理装置宛のメッセージを前記第1のネットワークを介して受信する場合、前記受信されたメッセージを前記画像処理装置に前記クラウドサーバーに代わって前記第2のネットワークを介して送信する中継ステップを実行させ、
前記中継ステップは、前記クラウドサーバーから前記画像処理装置宛の複数のメッセージを連続して受信する場合、受信された前記複数のメッセージのうち第1メッセージを前記画像処理装置に送信した後、前記画像処理装置から前記要求信号が受信されるまで、前記複数のメッセージのうち前記第1メッセージより後に受信された第2メッセージを送信しない待機ステップを含む、データ送受信方法。
A data transmission / reception method executed in an information processing system including a cloud server, an image processing device, and a relay device that relays communication between the cloud server and the image processing device,
The cloud server and the relay device communicate via a first network,
The relay device and the image processing device communicate via a second network,
An information processing system comprising a cloud server, an image processing device, and a relay device that relays communication between the cloud server and the image processing device,
The cloud server and the relay device communicate via a first network,
The relay device and the image processing device communicate via a second network,
A process execution step of executing a process in accordance with input information given to the image processing apparatus;
When the message received from the cloud server is a part of the input information, a request signal for requesting a message of another part of the input information is transmitted to the cloud server, and the message of the other part is transmitted to the cloud server. And a reception control step for receiving from
When the input information for causing the image processing apparatus to execute processing on the cloud server includes a plurality of messages, the relay to the image processing apparatus without waiting until the request signal is received from the image processing apparatus. Executing a transmission step of continuously transmitting a plurality of messages constituting the input information through a device;
When the relay device receives a message addressed to the image processing device from the cloud server via the first network, the second message is sent to the image processing device instead of the cloud server. Execute the relay step to send over the network,
When the relay step continuously receives a plurality of messages addressed to the image processing apparatus from the cloud server, after transmitting a first message to the image processing apparatus among the plurality of received messages, the image A data transmission / reception method including a standby step of not transmitting a second message received after the first message among the plurality of messages until the request signal is received from a processing device.
JP2017041998A 2017-03-06 2017-03-06 Information processing system and data transmission/reception method Pending JP2018148419A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017041998A JP2018148419A (en) 2017-03-06 2017-03-06 Information processing system and data transmission/reception method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017041998A JP2018148419A (en) 2017-03-06 2017-03-06 Information processing system and data transmission/reception method

Publications (1)

Publication Number Publication Date
JP2018148419A true JP2018148419A (en) 2018-09-20

Family

ID=63592408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017041998A Pending JP2018148419A (en) 2017-03-06 2017-03-06 Information processing system and data transmission/reception method

Country Status (1)

Country Link
JP (1) JP2018148419A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021087190A (en) * 2019-11-29 2021-06-03 株式会社リコー Network system and connection method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021087190A (en) * 2019-11-29 2021-06-03 株式会社リコー Network system and connection method
JP7419771B2 (en) 2019-11-29 2024-01-23 株式会社リコー Network system and connection method

Similar Documents

Publication Publication Date Title
JP5870990B2 (en) Relay apparatus, image forming apparatus, relay method, and relay program
US10050940B2 (en) Connection control system, management server, connection support method, and non-transitory computer-readable recording medium encoded with connection support program
US9866407B2 (en) Information processing system, cloud server, device control method, and non-transitory computer-readable recording medium encoded with device control program
US8810839B2 (en) Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor
JP5962690B2 (en) Management server, connection support method, and connection support program
JP2020140439A (en) Print management program, print management method, and print management device
JP2016021127A (en) Print system, print server, print control method, and print control program
JP6344907B2 (en) Information processing apparatus, system, and control method for information processing apparatus
JP2016015580A (en) Cooperative processing system and cooperative processing method
US9374357B2 (en) Information processing device, and method and computer-readable medium therefor for the input and storage of authentication information
US9736329B2 (en) Method that performs from scanning to storing scan data using scan job ticket
JP2018148419A (en) Information processing system and data transmission/reception method
JP2016116112A (en) Information processing system, relay device, relay method, and relay program
JP2015170238A (en) job control device, job control system and job control method
US12015745B2 (en) Image processing apparatus capable of shortening a waiting time in executing of cooperative processing in cooperation with a server, cooperative processing execution method, and cooperative processing execution program
US11290603B2 (en) Assistance server, tunnel connection assistance method and non-transitory computer-readable recording medium encoded with tunnel connection assistance program
JP2007116668A (en) Authentication device, method and program
JP6230350B2 (en) Information processing apparatus, information processing apparatus control method, and program
US9667834B1 (en) Method that performs from scanning to storing scan data using scan send ticket
JP2018056751A (en) Relay server and system
JP6425036B2 (en) Image transmission system and destination information management program
JP2019181706A (en) Information processing system, information processor, control reception method and control reception program
JP2002297351A (en) Data communication program, computer readable recording medium for recording the same, data communication equipment and data communication method
JP2018107604A (en) Image reader and image transmission method
JP2018142840A (en) Composite device, cooperation method and cooperation program