JP2018148419A - Information processing system and data transmission/reception method - Google Patents
Information processing system and data transmission/reception method Download PDFInfo
- 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
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
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が要求してから固定データおよび変動データを受信するまでのレスポンスタイムが長くなり、レスポンスタイムが長くなる場合があるといった問題がある。
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、複数のネットワークを経由したデータの送信において、ネットワークの負荷の変動がレスポンスタイムに与える影響を少なくした中継装置を提供することである。 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.
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。 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
ゲートウェイ装置200は、さらに、ローカルエリアネットワーク(LAN)3と接続されており、そのLAN3に、MFP100,100A,100Bが接続されている。ゲートウェイ装置200は、LAN3に接続されたMFP100,100A,100Bと通信可能である。さらに、ゲートウェイ装置200およびMFP100,100A,100Bそれぞれは、LAN3に接続された他のコンピューターと通信可能である。
The
ゲートウェイ装置200は、ファイアーウォール機能を有し、ファイアーウォールの内部のLAN3と、ファイアーウォールの外部のインターネット5とを接続する。ゲートウェイ装置200は、インターネット5に接続された管理サーバー400およびクラウドサーバー300から、LAN3に接続されたMFP100,100A,100Bへのアクセスを制限する。ゲートウェイ装置200が有するファイアーウォール機能は、特に限定するものではないが、パケットに含まれるアドレスに基づいて通信の許可または不許可を判定するパケットフィルター型のファイアーウォール機能である。なお、アプリケーション層のプロトコルのレベルで外部との通信を代替し、制御するアプリケーション型のファイアーウォール機能であってもよい。なお、ゲートウェイ装置200が配置される位置は、ファイアーウォールの内部である。
The
本実施の形態における情報処理システム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
クラウドサーバー300がMFP100に送信する固定データおよび変動データが、ゲートウェイ装置200のファイアーウォールを通過するようにするために、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間でトンネル接続を確立する。トンネル接続を確立する技術は、種々の方法があるが、ここでは、管理サーバー400がトンネル接続を支援する方法を例に説明する。なお、トンネル接続の方法は、管理サーバー400を用いる場合に、限定されることなく、他の方法を用いてもよい。
The
ゲートウェイ装置200は、予め記憶された管理サーバー400のネットワークアドレスを用いて管理サーバー400との間で通信セッションの確立を要求する。ゲートウェイ装置200は、ファイアーウォールの内部であり、管理サーバー400は、ファイアーウォールの外部なので、ファイアーウォールを通過する通信セッションが確立される。この通信セッションを、以下、常時接続セッションという。
The
ゲートウェイ装置200は、管理サーバー400との間で常時接続セッションを確立すると、LAN3に接続されたMFP100,100A,100Bそれぞれを識別するための装置識別情報を管理サーバー400に常時接続セッションを介して送信する。管理サーバー400においては、ゲートウェイ装置200に接続されたMFP100,100A,100Bを認識する。
When the
次に、クラウドサーバー300が管理サーバー400との間で、通信セッションを確立する。ここで、クラウドサーバー300と管理サーバー400との間で確立される通信セッションをグローバルセッションという。管理サーバー400は、ゲートウェイ装置200から受信されたMFP100,100A,100Bそれぞれの装置識別情報を受信しているので、クラウドサーバー300を操作するユーザーに対して、トンネル接続が可能な装置としてMFP100,100A,100Bのうちからいずれかを選択させる。ここでは、クラウドサーバー300を操作するユーザーによって、トンネル接続する装置としてMFP100が選択される場合を例に説明する。
Next, the
クラウドサーバー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
管理サーバー400は、クラウドサーバー300から接続要求を受信する場合、接続要求に含まれるMFP100のアドレス情報に含まれるゲートウェイ装置200の装置識別情報に基づいてゲートウェイ装置200を特定し、接続要求をゲートウェイ装置200に常時接続セッションを介して転送する。この場合、接続要求を、常時接続セッションに対応するプロトコルに応じてカプセル化して送信する。
When the
ゲートウェイ装置200は、さらに、管理サーバー400から接続要求を受信すると、接続要求に含まれるクラウドサーバー300のアドレス情報に基づいて、クラウドサーバー300との間で通信セッションを確立する。ここで、ゲートウェイ装置200とクラウドサーバー300との間で確立される通信セッションを第1通信セッションという。これにより、ファイアーウォールを通過するトンネル接続が完了する。
Further, when receiving the connection request from the
ゲートウェイ装置200は、管理サーバー400から接続要求を受信すると、接続要求に含まれるMFP100のアドレス情報に含まれるMFP100の装置識別情報に基づいてMFP100を特定し、MFP100との間で通信セッションを確立する。ここで、ゲートウェイ装置200とMFP100との間で確立される通信セッションを第2通信セッションという。
Upon receiving the connection request from
ゲートウェイ装置200は、クラウドサーバー300との間で確立された第1通信セッションと、MFP100との間で確立された第2通信セッションとを用いて、クラウドサーバー300とMFP100との間の通信を中継する。例えば、第1通信セッションと、第2通信セッションとを接続することによって、クラウドサーバー300とMFP100との間の通信を中継する。
図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,
第1通信部205は、ゲートウェイ装置200をインターネット5に接続するための通信インターフェース(I/F)である。第2通信部206は、ゲートウェイ装置200をLAN3に接続するための通信インターフェース(I/F)である。
The
フラッシュメモリ204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、フラッシュメモリ204に記録されたプログラムを、RAM203にロードして実行する。外部記憶装置209は、ゲートウェイ装置200に着脱自在であり、プログラムを記憶したCD−ROM(Compact Disk ROM)209Aが装着可能である。CPU201は、外部記憶装置209を介してCD−ROM209Aにアクセス可能である。CPU201は、外部記憶装置209に装着されたCD−ROM209Aに記録された中継プログラムを、RAM203にロードして実行することが可能である。
The
なお、CPU201が実行するプログラムとして、フラッシュメモリ204またはCD−ROM209Aに記録されたプログラムについて説明したが、インターネット5に接続された他のコンピューターが、フラッシュメモリ204に記憶されたプログラムを書換えたプログラム、または、追加して書き込んだ新たなプログラムであってもよい。さらに、ゲートウェイ装置200が、インターネット5に接続された他のコンピューターからダウンロードしたプログラムでもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
Although the program recorded in the
なお、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
MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは特に言及しない限りMFP100を例に説明する。
Since the hardware configurations and functions of the
図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,
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
The
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、後処理部155および操作パネル160と接続され、MFP100の全体を制御する。
The
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
The
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーからなるハードキー部167を備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネル165をさらに含む。
通信I/F部112は、MFP100をLAN3に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、LAN3に接続された装置との間で通信し、データを送受信する。さらに、通信I/F部112は、ゲートウェイ装置200を介して、インターネット5に接続されたコンピューター、例えば、管理サーバー400、クラウドサーバー300と通信が可能である。
Communication I /
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
The
外部記憶装置117は、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
The
また、CPU111は、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、LAN3またはインターネット5に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、LAN3またはインターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
Further, the
図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
外部記憶装置309は、CD−ROM309Aが装着される。CPU301は、外部記憶装置309を介してCD−ROM309Aにアクセス可能である。CPU301は、外部記憶装置309に装着されたCD−ROM309Aに記録されたプログラムをRAM303にロードして実行する。なお、CPU301が実行するプログラムを記憶する媒体としては、CD−ROM309Aに限られず、光ディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリであってもよい。
The
また、CPU301が実行するプログラムは、CD−ROM309Aに記録されたプログラムに限られず、HDD304に記憶されたプログラムをRAM303にロードして実行するようにしてもよい。この場合、インターネット5に接続された他のコンピューターが、クラウドサーバー300のHDD304に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、クラウドサーバー300が、インターネット5に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD304に記憶するようにしてもよい。ここでいうプログラムは、CPU301が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
The program executed by the
図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
第1通信制御部250は、第1通信部205を制御し、インターネット5に接続されたコンピューターとの間の通信を制御する。第1通信制御部250は、常時接続セッション確立部251と、接続要求受信部253と、第1セッション確立部255と、を含む。
The first
第2通信制御部260は、第2通信部206を制御し、LAN3に接続されたMFP100,100A,100Bとの間の通信を制御する。第2通信制御部260は、入力情報要求受信部261と、第2セッション確立部263と、エラー検出部265と、を含む。
Second
入力情報要求受信部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
常時接続セッション確立部251は、第1通信部205を制御して、管理サーバー400に通信セッションの確立要求を送信し、管理サーバー400との間で通信セッションを確立する。ここで確立される通信セッションは、常時接続される常時接続セッションである。常時接続セッションは、特に限定するものではないが、例えば、XMPP(eXtensible Messaging and Presence Protocol)に基づくメッセージセッションである。フラッシュメモリ204に管理サーバー400のグローバルIPアドレスが予め記憶されており、常時接続セッション確立部251は、フラッシュメモリ204に記憶されているグローバルIPアドレスを用いて管理サーバー400に通信セッションの確立要求を送信し、管理サーバー400と所定のネゴシエーションをすることによって常時接続セッションを確立する。
The always-on
常時接続セッション確立部251は、管理サーバー400にファイアーウォール内部のLAN3に接続された装置を通知するために、MFP100,100A,100Bそれぞれの装置識別情報を、常時接続セッションを介して管理サーバー400に送信する。これにより、管理サーバー400は、ゲートウェイ装置200にMFP100,100A,100Bが接続されていることを認識する。
The always-on
接続要求受信部253は、常時接続セッションを介して、管理サーバー400からトンネル接続要求を受信する。トンネル接続要求は、管理サーバー400がクラウドサーバー300から受信した接続要求を含む。管理サーバー400がクラウドサーバー300から受信した接続要求は、接続元のアドレス情報と、接続先のアドレス情報とを含む。ここでは、接続元のアドレス情報をMFP100のアドレス情報とし、接続先のアドレス情報をクラウドサーバー300のアドレス情報とする場合を例に説明する。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。クラウドサーバー300のアドレス情報は、MFP100からクラウドサーバー300にアクセスするためのURLである。
The connection
接続要求受信部253は、トンネル接続要求を受信することに応じて、トンネル接続要求を識別するための接続識別情報とトンネル接続要求に含まれる接続先のアドレス情報とを第1セッション確立部255に出力し、トンネル接続要求を識別するための接続識別情報と接続元のアドレス情報とを第2セッション確立部263に出力する。
In response to receiving the tunnel connection request, the connection
第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
第2セッション確立部263は、接続要求受信部253または入力情報要求受信部261から接続識別情報と接続元のアドレス情報とが入力されることに応じて、第2通信部206を制御して、接続元のアドレス情報を用いて確立要求を送信する。ここでは、接続要求受信部253または入力情報要求受信部261から接続元のアドレス情報はMFP100のアドレス情報である。第2セッション確立部263は、MFP100に確立要求を送信し、MFP100との間で通信セッションを確立する。ここで確立される通信セッションは第2通信セッションである。第2通信セッションは、特に限定するものではないが、LAN3において用いられる通信プロトコルに準じた通信セッションであればよい。第2セッション確立部263は、第2通信セッションを識別するためのセッション識別情報と接続識別情報とを中継部270に出力する。
The second
第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
中継部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
ここで、クラウドサーバー300の機能について説明する。図6は、クラウドサーバーが備えるCPUの機能の一例を示すブロック図である。図6に示す機能は、クラウドサーバー300が備えるCPU301が、ROM302、HDD304またはCD−ROM309Aに記憶されたサービス提供プログラムを実行することにより、CPU301に形成される機能である。図6を参照して、クラウドサーバー300が備えるCPU301は、外部受付部351と、サービス提供部353と、接続要求部355と、サーバー側確立部357と、送信部359と、入力情報要求受付部361と、を含む。
Here, functions of the
サービス提供部353は、予め定められたサービスを提供する。例えば、クラウドサーバーが提供するサービスを、画像を文字認識するサービスとする場合、サービスの結果は、入力される画像を文字認識した結果得られる文字データである。サービス提供部353は、文字データを表示するための画面を生成し、画面中の背景となる固定データと、文字データで構成される変動データとを、送信部359に出力する。
The
外部受付部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
接続要求部355は、外部受付部351からMFP100との接続が要求されることに応じて、接続先のアドレス情報と接続元のアドレス情報とを含む接続要求を、通信部305を制御して、管理サーバー400にグローバルセッションを介して送信する。接続元のアドレス情報は、出力先のアドレス情報であり、ここでは、MFP100のアドレス情報である。MFP100のアドレス情報は、ゲートウェイ装置200の装置識別情報とMFP100の装置識別情報とを含む。接続先のアドレス情報は、クラウドサーバー300のアドレス情報であり、サービス提供部353がサービスを提供するために実行するジョブを識別するためのジョブIDを含む。クラウドサーバー300のアドレス情報は、MFP100からクラウドサーバー300にアクセスするためのURLである。URLには、クラウドサーバー300のネットワークアドレス(ドメイン名)、ウェブページの識別子、接続指示に含まれるジョブID、および待ち受けポートのポート番号が含まれる。接続要求部355は、接続要求を送信することに応じて、接続先のアドレス情報および接続元のアドレス情報を、サーバー側確立部357に出力する。
The
サーバー側確立部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
送信部359は、サーバー側確立部357から第1通信セッションのセッション識別情報と、ジョブIDと、接続元のアドレス情報と、の組が入力され、サービス提供部353からサービスの結果が入力される。送信部359は、サーバー側確立部357から入力される第1通信セッションのセッション識別情報と、ジョブIDと、接続元のアドレス情報との組のうちからサービス提供部353から入力されるサービスの結果に対応するジョブIDを含む組を特定し、特定した組に含まれるセッション識別情報を特定する。送信部359は、通信部305を制御して、サービス提供部353から入力されるサービスの結果を、特定されたセッション識別情報で特定される第1通信セッションを介して、ゲートウェイ装置200に送信する。
The
送信部359によってゲートウェイ装置200に第1通信セッションを介して送信されるジョブは、ゲートウェイ装置200によって第1通信セッションを介して受信され、第2通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信されるサービスの結果に基づいて処理を実行する。
The job transmitted to the
通信部305が、MFP100がクラウドサーバー300宛に送信した入力情報要求を、ゲートウェイ装置200から受信する場合がある。MFP100を操作するユーザーが、クラウドサーバー300が提供するサービスを受けるための指示をMFP100に入力した場合である。この場合は、MFP100が入力情報要求をクラウドサーバー300に送信するが、ゲートウェイ装置200が、MFP100が送信する入力情報要求を受信し、入力情報要求をクラウドサーバー300に送信する。入力情報要求は、接続元のアドレス情報としてMFP100の装置識別情報を含む。サーバー側確立部357は、通信部305を制御して、入力情報要求を送信してきたゲートウェイ装置200との間で通信セッションを確立する。ここで、ゲートウェイ装置200との間で確立される通信セッションは第1通信セッションである。サーバー側確立部357は、ゲートウェイ装置200との間で確立された第1通信セッションのセッション識別情報と、接続元のアドレス情報と、の組を、送信部359および入力情報要求受付部361に出力する。
The
入力情報要求受付部361は、サーバー側確立部357から第1通信セッションのセッション識別情報と接続元のアドレス情報との組が入力されることに応じて、通信部305を制御して、セッション識別情報で特定される第1通信セッションを介して、MFP100を操作するユーザーによりMFP100に入力される操作を受け付ける。入力情報要求受付部361は、MFP100から受信される操作に従って、サービス提供部353に処理を実行させるとともに、サービスの結果の出力先をMFP100に特定する。入力情報要求受付部361は、サービス提供部353に処理を実行させることに応じて、サービス提供部353がサービスを提供するために実行するジョブを識別するためのジョブIDを取得し、ジョブIDと、第1通信セッションのセッション識別情報との組を送信部359に出力する。
The input information
送信部359は、入力情報要求受付部361から第1通信セッションのセッション識別情報とジョブIDとの組が入力され、サービス提供部353からサービスの結果が入力される。送信部359は、入力情報要求受付部361からから入力される第1通信セッションのセッション識別情報とジョブIDとの組のうちからサービス提供部353から入力されるサービスの結果に対応するジョブIDを含む組を特定し、特定した組に含まれるセッション識別情報を特定する。送信部359は、通信部305を制御して、サービス提供部353から入力されるサービスの結果を、特定されたセッション識別情報で特定される第1通信セッションを介して、ゲートウェイ装置200に送信する。
The
送信部359によってゲートウェイ装置200に第1通信セッションを介して送信されるサービスの結果は、ゲートウェイ装置200によって第1通信セッションを介して受信され、第2通信セッションを介して、MFP100に送信される。MFP100においては、ゲートウェイ装置200から受信されるサービスの結果に基づいて処理を実行する。
The result of the service transmitted by
送信部359は、サービス提供部353から入力されるサービスの結果が複数のメッセージを含む場合、複数のメッセージを順に送信する。複数のメッセージは、例えば、固定データと変動データとを含む場合である。送信部359は、サービス提供部353から固定データが入力されることに応じて、第1通信セッションを介してMFP100に固定データを送信する。送信部359は、サービス提供部353から変動メッセージが入力される場合、第1通信セッションを介してメッセージの送信を要求する要求信号を受信しなくても、第1通信セッションを介して変動メッセージをMFP100に送信する。
When the service result input from the
送信部359は、通知部371を含む。通知部371は、送信部359が固定データを第1通信セッションを介してゲートウェイ装置200に送信する際に、後続の変動メッセージが存在することをゲートウェイ装置200に通知する。具体的には、第1通信セッションを維持することを通知する。より具体的には、送信部359は、HTTPで定められた持続的接続機能を用いて固定メッセージを送信する。好ましくは、持続的接続機能は、HTTP/2で定められたサーバープッシュ機能またはHTTPで定められるチャンク送信機能である。これにより、送信部359は、固定データを第1通信セッションを介してゲートウェイ装置200に送信した後に、ゲートウェイ装置200から変動データの送信を要求する要求信号を受信することなく、変動データをゲートウェイ装置200に送信することができる。
The
図5に戻って、中継部270は、メッセージ代理受信部271と、判断部273と、待機部275と、要求信号受信部277と、メッセージ代理送信部279と、一時記憶部281と、消去部283と、を含む。メッセージ代理受信部271は、第1通信セッションを介して、クラウドサーバー300から送信されるメッセージをMFP100に代わって受信する。メッセージ代理受信部271は、メッセージを受信すると、メッセージを受信したことを判断部273に通知するとともに、受信されたメッセージとメッセージの送信先の装置の装置識別情報との組を待機部275に出力する。送信先の装置は、MFP100である。
Returning to FIG. 5, the
判断部273は、メッセージ代理受信部271がメッセージを受信する場合に、受信されたメッセージに後続のメッセージが存在するか否かを判断する。判断部273は、メッセージ代理受信部271が受信するメッセージが、HTTPで定められた持続的接続機能を用いて受信されたメッセージの場合、後続のメッセージが存在すると判断する。具体的には、判断部273は、メッセージ代理受信部271が、HTTP/2で定められたサーバープッシュ機能でメッセージを受信する場合、後続のメッセージが存在すると判断する。また、判断部273は、メッセージ代理受信部271がHTTPで定められるチャンク送信機能でメッセージを受信する場合、メッセージのヘッダーに記述されたデータ量に達するまでのメッセージを受信していない場合に、後続のメッセージが存在すると判断する。判断部273は、後続のメッセージが存在すると判断する場合、待機部275に後続のメッセージが存在することを通知する。
When the message
待機部275は、メッセージ代理受信部271から入力されたメッセージと装置識別情報との組に対して判断部273から後続のメッセージ存在することが通知される場合、メッセージが最初のメッセージの場合はメッセージ代理送信部279に第1送信指示を出力し、メッセージが最初のメッセージでない場合は一時記憶部281にメッセージと装置識別情報との組を出力する。第1送信指示は、メッセージ代理受信部271から入力された、メッセージと装置識別情報との組を含む。
When the
一時記憶部281は、待機部275から入力されるメッセージと装置識別情報との組を順に記憶する。一時記憶部281は、メッセージと装置識別情報との組を先入先出で出力する。
メッセージ代理送信部279は、待機部275から第1送信指示が入力されることに応じて、第1送信指示に含まれるメッセージを第2通信セッションを介して装置識別情報で特定されるMFP100にクラウドサーバー300に代わって送信し、メッセージの送信が完了すると、第2通信セッションを切断する。
In response to the input of the first transmission instruction from
要求信号受信部277は、第2通信部206を制御して、MFP100から要求信号を受信する。MFP100は、後述するように、クラウドサーバー300から受信されるメッセージが、処理を実行するための入力情報の一部と判断する場合、クラウドサーバー300に入力情報の残りの部分の送信を要求するために、要求信号をクラウドサーバー300に送信する。また、要求信号受信部277が要求信号を受信する時点で、待機部375によって、要求信号を送信してきた装置、ここではMFP100の装置識別情報と組になるメッセージが一時記憶されている。したがって、要求信号受信部277は、MFP100から受信する要求信号を、上述した入力情報要求受信部261がMFP100から受信する入力情報要求と区別して受信する。
Request
要求信号受信部277は、第2通信部206がMFP100から要求信号を受信することに応じて、第2セッション確立部263に確立指示を出力する。確立指示は、要求信号を送信してきたMFP100の装置識別情報を含む。第2セッション確立部263は、確立指示が入力されることに応じて、MFP100との間で通信セッションを確立する。ここで、確立される通信セッションは、第2通信セッションである。第2セッション確立部263は、第2通信セッションを識別するためのセッション識別情報と接続先の装置の装置識別情報との組を要求信号受信部377に出力するとともに、第2通信セッションを識別するためのセッション識別情報をエラー検出部265に出力する。
Request
要求信号受信部277は、第2セッション確立部263に接続指示を出力した後、第2セッション確立部263からセッション識別情報と装置識別情報との組が入力されることに応じて、待機部275に出力指示を出力する。出力指示は、第2通信セッションのセッション識別情報と装置識別情報との組を含む。
The request
待機部275は、要求信号受信部277から出力指示が入力されることに応じて、一時記憶部281に記憶されたメッセージと装置識別情報の組のうちから、出力指示に含まれる装置識別情報と同じ装置識別情報を含む組のうち最も前に記憶された組を特定する。そして、待機部275は、メッセージ代理送信部279に第2送信指示を出力する。第2送信指示は、一時記憶部281に記憶されたメッセージと装置識別情報の組のうちから特定された組と、出力指示に含まれるセッション識別情報とを含む。
In response to the output instruction input from the request
メッセージ代理送信部279は、第2送信指示に含まれるセッション識別情報で特定される第2通信セッションを介して、送信指示に含まれるメッセージを送信指示に含まれる装置識別情報で特定されるMFP100にクラウドサーバー300に代わって送信し、メッセージの送信が完了すると、第2通信セッションを切断する。
The message
例えば、中継部270は、クラウドサーバー300から固定データをHTTP/2で定められたサーバープッシュ機能を用いて受信する場合、固定データをMFP100に送信するとともに、クラウドサーバー300から固定データに続いて受信される変動データを受信し、一時記憶する。この際に、中継部270は、変動データと固定データとを、同一の第1通信セッションを介して受信することになる。
For example, when receiving the fixed data from the
変動データと固定データとを別の通信セッションで受信する場合には、変動データを第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
消去部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
図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
受信制御部53は、ゲートウェイ装置200との間で確立された第2通信セッションを介してゲートウェイ装置200との間で通信する。ゲートウェイ装置200との間で確立された第2通信セッションは、入力情報要求部51により確立される場合と、受信制御部53により確立される場合とがある。
The
受信制御部53は、メッセージ受信部61と、要求信号送信部63と、を含む。メッセージ受信部61は、第2通信セッションを介して、クラウドサーバー300からメッセージを受信する。メッセージ受信部61は、受信されたメッセージを処理実行部55に出力する。メッセージ受信部61がメッセージの受信を完了すると、第2通信セッションがゲートウェイ装置200によって切断される。
The
処理実行部55は、メッセージ受信部61から入力されるメッセージを処理する。例えば、メッセージが画面を生成するためのデータの場合、画面の画像を生成し、生成された画像を表示部161に表示する。また、処理実行部55は、メッセージが画面を生成するためのデータの一部か否かを判断する。例えば、画面が、固定データと変動データとから構成される場合、メッセージが固定データの場合は、処理実行部55は、メッセージが画面を生成するためのデータの一部と判断する。処理実行部55は、メッセージが画面を生成するためのデータの一部と判断する場合、要求信号送信部63に要求指示を出力する。
The
要求信号送信部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
図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
MFP100を操作するユーザーが、クラウドサーバー300にサービスの提供を要求する場合、クラウドサーバー300は、MFP100にサービスを提供するための処理を実行し、処理を実行した結果を第1通信セッションを介してMFP100に送信する。ここでは、クラウドサーバー300がサービスを提供するために実行する処理の結果を、画面で送信する。クラウドサーバー300が送信する画面のデータは、画面の背景となる固定データと、処理の結果を示す変動データとを含む。この場合、クラウドサーバー300は、サービスが要求されてからのレスポンスタイムを短くするために、固定データの送信と変動データの生成とを並列に処理し、変動データが生成される前に固定データからなるメッセージをまず送信し、変動データが生成されると変動データからなるメッセージを送信する。この際、クラウドサーバー300は、固定データからなるメッセージを、後続の変動データからなるメッセージが存在することを通知する後続信号を付加して第1通信セッションを介して送信する。具体的には、HTTPで定められた持続的接続機能を用いて固定データからなるメッセージを送信する。
When the user who operates
ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から固定データからなるメッセージをHTTPで定められた持続的接続機能を用いて受信すると、後続の変動データからなるメッセージが存在することを検出し、第1通信セッションを切断しない。ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から固定データからなるメッセージに続いて、変動データからなるメッセージを受信する場合、受信された変動データからなるメッセージを一時記憶する。また、ゲートウェイ装置200は、第1通信セッションを介して、クラウドサーバー300から変動データからなるメッセージをHTTPで定められた持続的接続機能を用いて受信していないので、後続のメッセージが存在しないことを検出し、第1通信セッションを切断する。
When the
一方、ゲートウェイ装置200は、クラウドサーバー300から受信された固定データからなるメッセージを第2通信セッションを介してクラウドサーバー300に代わってMFP100に送信し、メッセージの送信が完了すると第2通信セッションを切断する。MFP100においては、第2通信セッションを介して固定データからなるメッセージを受信する場合、その固定データを処理する。例えば、固定データを用いて画面の背景部分の画像を生成する。また、MFP100は、固定データを受信する場合、変動データが存在することを判断し、変動データを要求する要求信号をクラウドサーバー300に送信する。MFP100が送信する要求信号は、ゲートウェイ装置200によってクラウドサーバー300に代わって受信される。ゲートウェイ装置200は、要求信号を受信すると、MFP100との間で第2通信セッションを確立する。この状態で、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間の通信を中継することが可能となる。
On the other hand,
ゲートウェイ装置200は、MFP100からクラウドサーバー300宛の要求信号を受信する場合、一時記憶された変動データからなるメッセージをクラウドサーバー300に代わって第2通信セッションを介して送信し、メッセージの送信が完了すると第2通信セッションを切断する。MFP100においては、第2通信セッションを介して変動データからなるメッセージを受信する場合、その変動データを処理する。例えば、変動データを用いて画面のデータ部分の画像を生成し、背景部分にデータ部分を合成した画面の画像を生成し、表示する。また、MFP100は、変動データを受信する場合、クラウドサーバー300からすべてのデータを受信したと判断し、第2通信セッションを切断する。
When the
また、ゲートウェイ装置200は、第2通信セッションを介して、MFP100からクラウドサーバー300宛の要求信号を、固定データからなるメッセージを送信してから所定時間経過しても受信しない場合、第2通信セッションに異常が発生したと判断し、一時記憶された変動データからなるメッセージを消去するとともに、クラウドサーバー300にエラーが発生したことを通知する。このため、第1通信セッションを、第2通信セッションに異常が発生したと判断可能なタイミングまで切断しないようにしてもよい。
If the
図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
ゲートウェイ装置200は、トンネル接続要求に従って、クラウドサーバー300との間で第1通信セッションを確立するとともに、MFP100との間で第2通信セッションを確立する。この状態で、ゲートウェイ装置200は、クラウドサーバー300とMFP100との間の通信を中継することが可能となる。
PCを操作するユーザーが、クラウドサーバー300にサービスの提供を要求する場合、クラウドサーバー300は、MFP100にサービスを提供するための処理を実行する。クラウドサーバー300から固定データからなるメッセージと変動データからなるメッセージをMFP100に送信するデータの流れは、図8に示した流れと同じであるので、ここでは説明を繰り返さない。
When the user operating the PC requests the
図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
次のステップ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
ステップ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
ステップ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
次のステップS06においては、第1通信セッションと第2通信セッションとを用いて、MFP100とクラウドサーバー300との間における通信の中継を開始する。ステップS07においては、クラウドサーバー300からMFP100宛のメッセージを受信したか否かを判断する。メッセージを受信したならば処理をステップS08に進めるが、そうでなければ処理をステップS13に進める。
In the next step S06, relay of communication between
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
図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
ステップ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
ステップ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
ステップS308においては、通信部305を制御して、予め登録された管理サーバー400との間でグローバルセッションを確立し、処理をステップS309に進める。ステップS309においては、グローバルセッションを介して、管理サーバー400に接続要求を送信する。接続要求は、接続元としてステップS306において特定された出力先、ここではMFP100のアドレス情報と、クラウドサーバー300のアドレス情報と、を含む。接続要求を受信する管理サーバー400は、ゲートウェイ装置200にトンネル接続要求を送信する。トンネル接続要求を受信するゲートウェイ装置200は、クラウドサーバーに通信セッションの確立要求を送信する。
In step S308, the
次のステップS310においては、通信部305を制御して、ゲートウェイ装置200から通信セッションの確立要求を受信するまで待機状態となり、ゲートウェイ装置200から通信セッションの確立要求を受信すると処理をステップS311に進める。ステップS311においては、ゲートウェイ装置200との間で第1通信セッションを確立し、処理をステップS312に進める。
In the next step S310, the
ステップ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
ステップ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
一方、ステップ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
ステップS55においては、第2通信セッションを介してクラウドサーバー300からメッセージを受信したか否かを判断する。メッセージを受信するまで待機状態となり(ステップS55でNO)、メッセージを受信したならば(ステップS55でYES)、処理をステップS56に進める。
In step S55, it is determined whether a message has been received from the
ステップ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
以上説明したように、本実施の形態における情報処理システム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,
また、クラウドサーバー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
また、クラウドサーバー300は、第1メッセージを送信する際に、ゲートウェイ装置200とので確立された第1通信セッション(通信経路)を維持することを通知する。具体的には、HTTPで定められた持続的接続機能を用いて第1メッセージを送信する。このため、汎用的な規格で定められた持続的接続機能を用いるので、情報処理システムを容易に構築することができる。
In addition, when transmitting the first message, the
また、ゲートウェイ装置200は、クラウドサーバー300から受信された第2メッセージを、MFP100から送信される要求信号が受信されるまで一時記憶するので、クラウドサーバー300から複数のメッセージを受信する処理と、MFP100に複数のメッセージそれぞれを送信する処理とを独立で実行することができるので、クラウドサーバー300と通信する時間を短くすることができる。
Further, the
また、ゲートウェイ装置200は、MFP100との間で確立された第2通信セッションで異常が発生した場合、クラウドサーバー300に異常が発生したことを通知するとともに、一時記憶された第2メッセージを消去する。このため、クラウドサーバー300においてMFP100に対するメッセージの送信に失敗したことを検出することができる。特に、クラウドサーバー300を操作してMFP100にサービスの結果の出力を指示したユーザーに、サービスが提供されなかったことを通知することができる。ゲートウェイ装置200は、一時記憶された第2メッセージを消去するので、不要なメッセージがいつまでも記憶されるのを回避してメモリ資源を有効に利用することができる。
Further, when an abnormality occurs in the second communication session established with
また、情報処理システム1が管理サーバー400を備える場合には、ゲートウェイ装置200がファイアーウォール機能を有する場合であっても、ファイアーウォールの外部に配置されたクラウドサーバー300からファイアーウォールの内部に配置されたMFP100にメッセージを送信することができ、ファイアーウォールの外部のインターネット5の負荷の変動によりMFP100においてレスポンスタイムが長くなる頻度を少なくすることができる。
Further, when the information processing system 1 includes the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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.
前記クラウドサーバーは、前記ファイアーウォールの外部に配置され、前記画像処理装置は前記ファイアーウォールの内部に配置され、
前記クラウドサーバーは、前記画像処理装置とは別の外部装置からの要求に応じて、接続先のアドレス情報として前記クラウドサーバーに予め定められたアドレス情報と、接続元のアドレス情報として前記画像処理装置のアドレス情報とを含む接続要求を前記管理サーバーに送信する接続要求手段を、備え、
前記管理サーバーは、前記中継装置からの要求に基づいて、前記中継装置との間で通信するための常時接続セッションを確立するサーバー側確立手段と、
前記クラウドサーバーから前記接続要求を受信することに応じて、前記接続要求を前記中継装置に前記常時接続セッションを介して送信するトンネル接続要求手段と、を備え、
前記中継装置は、前記管理サーバーとの間で前記常時接続セッションを確立する常時接続セッション確立手段と、
前記管理サーバーから前記常時接続セッションを介して前記接続要求が受信されることに応じて、前記接続要求に含まれる前記接続先のアドレス情報を用いて前記クラウドサーバーとの間で第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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021087190A (en) * | 2019-11-29 | 2021-06-03 | 株式会社リコー | Network system and connection method |
-
2017
- 2017-03-06 JP JP2017041998A patent/JP2018148419A/en active Pending
Cited By (2)
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 |