JP6750706B2 - Relay device, image processing device, and communication system - Google Patents

Relay device, image processing device, and communication system Download PDF

Info

Publication number
JP6750706B2
JP6750706B2 JP2019096135A JP2019096135A JP6750706B2 JP 6750706 B2 JP6750706 B2 JP 6750706B2 JP 2019096135 A JP2019096135 A JP 2019096135A JP 2019096135 A JP2019096135 A JP 2019096135A JP 6750706 B2 JP6750706 B2 JP 6750706B2
Authority
JP
Japan
Prior art keywords
information
server
request information
image processing
session
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.)
Active
Application number
JP2019096135A
Other languages
Japanese (ja)
Other versions
JP2019179560A (en
Inventor
大原 清孝
清孝 大原
猛 三宅
猛 三宅
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019096135A priority Critical patent/JP6750706B2/en
Publication of JP2019179560A publication Critical patent/JP2019179560A/en
Application granted granted Critical
Publication of JP6750706B2 publication Critical patent/JP6750706B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Description

本明細書では、画像処理装置およびサーバ装置とネットワークを介して接続されている中継装置などを開示する。 This specification discloses a relay device and the like connected to the image processing device and the server device via a network.

プリンタ機能やFAX機能などを備える画像処理装置と、画像処理装置を管理するための管理装置とが、インターネットを介して接続されているシステムが存在する。また、関連する技術が、特許文献1に開示されている。 There is a system in which an image processing apparatus having a printer function, a FAX function, and the like, and a management apparatus for managing the image processing apparatus are connected via the Internet. A related technique is disclosed in Patent Document 1.

特開2004−220214号公報JP, 2004-220214, A

管理装置が画像処理装置から各種情報を取得して保守点検を行う保守点検サービスや、管理装置から画像処理装置の各種設定を変更する遠隔設定サービスなどのプッシュサービスを提供するために、管理装置側においてプッシュサービスを提供するタイミングとなったときに、インターネットを介して、管理装置側から画像処理装置へプッシュサービスに関する情報を送信したい場合がある。しかし、不正アクセスや侵入を防止するために、ファイアウォールが設定されている場合には、管理装置から画像処理装置へのアクセスが遮断される場合がある。また、画像処理装置がNAT(Network Address Translationの略)の支配下にある場合には、管理装置側から画像処理装置へアクセスできない場合がある。 In order to provide a push service such as a maintenance inspection service in which the management device acquires various information from the image processing device for maintenance and inspection, and a remote setting service for changing various settings of the image processing device from the management device, the management device side In some cases, when it is time to provide the push service, the management device side may want to send information about the push service to the image processing device via the Internet. However, if a firewall is set to prevent unauthorized access or intrusion, access from the management device to the image processing device may be blocked. Further, when the image processing apparatus is under the control of NAT (abbreviation of Network Address Translation), the management apparatus side may not be able to access the image processing apparatus.

本明細書に記載されている中継装置は、画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、プロセッサと、を備える中継装置であって、前記プロセッサは、前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記中継装置が前記サーバ装置から受信した要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、して機能することを特徴とする。 A relay device described in the present specification is a relay device including a network interface capable of communicating with an image processing device and a server device via a network, and a processor, wherein the processor is the image The establishment request information transmitted from the processing device to the relay device, the request information received from the server device by the relay device according to the first protocol of session establishment type is transmitted to the image processing device. Establishment request information obtaining means for obtaining, through the network interface, the establishment request information for requesting establishment of a session for enabling server push between the relay device and the image processing device; Server request information acquisition means for acquiring, via the network interface, server request information indicating a request to the image processing device transmitted to the relay device by the server device, and server request information acquisition means for acquiring the server request information. If the establishment request information obtaining unit has already obtained the establishment request information, the server request information obtained by the server request information obtaining unit is transferred to the relay device via the network interface. And the image processing apparatus, the server request information output means for outputting to the image processing apparatus by using the session established between the image processing apparatus and the image processing apparatus.

本明細書に実施形態として記載されている中継装置、画像処理装置、および通信システムによると、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置側においてプッシュサービスを提供するタイミングとなったときに、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバ装置側においてプッシュサービスを提供するタイミングとなったときにはいつでも、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。 According to the relay device, the image processing device, and the communication system described as the embodiments in this specification, the server push is made possible by using the session established between the image processing device and the relay device, and the server When it is time to provide a push service on the device side, it is possible to perform a server push from the server device to the server processing device via the relay device to transmit the server request information to the image processing device. Thereby, the push service can be provided to the image processing apparatus by the server push at any time when the push service is provided on the server apparatus side.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置から、第1のネットワークに通信制御装置を介して接続する中継装置を介して、第1のネットワークに接続した画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、第1のネットワークに接続した画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the image processing connected to the first network from the server device via the relay device connected to the first network via the communication control device. It becomes possible to transmit the server request information to the device. Thereby, the push service can be constantly provided to the image processing apparatus connected to the first network.

本明細書に実施形態として記載されている中継装置等によれば、複数の画像処理装置の各々との間で、複数のサーバプッシュを可能とするセッションを確立した中継装置を介して、サーバ装置から、複数の画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、複数の画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the server device is connected to each of the plurality of image processing devices via the relay device that establishes a session that enables a plurality of server pushes. From this, it becomes possible to transmit the server request information to a plurality of image processing devices. Thereby, the push service can be constantly provided to the plurality of image processing apparatuses.

本明細書に実施形態として記載されている中継装置等によれば、サーバプッシュを可能とするセッションを確立した複数の画像処理装置の各々の識別情報を記憶した中継装置を介して、中継装置とセッションを確立している画像処理装置のうち、サーバ装置側が指定する画像処理装置まで、サーバ要求情報を伝達することが可能となる。これにより、サーバ装置側が指定する画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device or the like described as the embodiment in the present specification, the relay device and It is possible to transmit the server request information to the image processing apparatus designated by the server apparatus side among the image processing apparatuses that have established a session. As a result, the push service can always be provided to the image processing device designated by the server device side.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置が第1のプロトコルとは異なる第2のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the server request information transmitted by the server device using the second protocol different from the first protocol is subjected to image processing via the relay device. It is possible to transmit to the device using the first protocol. As a result, the server device does not need to support the first protocol and can always provide the push service to the image processing device.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置と中継装置との間でセッションを確立する必要なく、サーバ装置からセッションレス型のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置にサーバプッシュするためのセッションを確立する負荷をかける必要なく、画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in this specification, the server request information transmitted using the sessionless protocol from the server device without the need to establish a session between the server device and the relay device. Can be transmitted to the image processing apparatus via the relay device using the first protocol. As a result, the push service can be constantly provided to the image processing apparatus without having to apply a load for establishing a session for server push to the server apparatus.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側と中継装置との間でセッションを確立する必要なく、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in this specification, the response information transmitted by the image processing device in response to the server request information can be transmitted without the need to establish a session between the server device side and the relay device. Through the relay device, it is possible to transmit to the server device as response data in the sessionless protocol used for transmitting the server request information from the server device side. As a result, the push service related to the response information can be provided at all times without the burden of establishing a session between the server device and the relay device.

本明細書に実施形態として記載されている中継装置等によれば、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as the embodiment in the present specification, the response information transmitted by the image processing device in response to the server request information can be transmitted to the server device via the relay device. .. Thereby, the push service related to the response information can be always provided.

本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置が第1のプロトコルとは異なる第3のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the image processing device does not use the session established between the image processing device and the relay device, and the image processing device responds to the server request information with the first protocol. It is possible to transmit the response information transmitted using the third protocol different from that to the server device via the relay device. Thereby, the push service related to the response information can be always provided without using the session for enabling the server push for the purpose of transmitting the response information, which is a purpose different from the server push.

本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the image processing device does not need to establish a new session between the image processing device and the relay device, and the image processing device is a sessionless type for the server request information. The response information transmitted using the protocol can be transmitted to the server device via the relay device. As a result, the push service related to the response information can always be provided without the burden of establishing a session for transmitting the response information.

本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in the present specification, the image processing device does not need to establish a new session between the image processing device and the relay device, and the image processing device is a sessionless type for the server request information. It is possible to transmit the response information transmitted using the protocol to the server device via the relay device as the response data in the sessionless protocol used for transmitting the server request information from the server device side. Become. As a result, the push service related to the response information is always provided without the load of establishing the session between the server device and the relay device and the load of establishing the session for transmitting the response information. be able to.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からセッションレス型の第2のプロトコルを用いて送信した特定サーバ要求情報と、セッション確立型第1のプロトコルを用いて通信先画像処理装置まで伝送された特定サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、直接にサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サーバ装置が複数存在していたとしても、直接に複数のサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、画像処理装置が複数存在していたとしても、直接にサーバ装置と複数の画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in this specification, the specific server request information transmitted from the server device side using the sessionless second protocol and the session establishment type first protocol are used. It is recognized whether or not the response information transmitted by the image processing apparatus to the specific server request information transmitted to the communication destination image processing apparatus is a pair of request-response correspondence information corresponding to each other. be able to. Therefore, the response information can be transmitted from the communication destination image processing apparatus to the server apparatus that is the transmission source of the specific server request information via the relay apparatus. Accordingly, it is possible to provide the push service related to the response information that correctly corresponds to the specific server information, without the load of directly establishing a session for enabling the server push between the server device and the image processing device. In addition, even if there are a plurality of server devices, the server device that is the transmission source of the specific server information can be directly connected to the server device without the load of establishing a session that enables a server push between the plurality of server devices and the image processing device. As a result, the push service related to the response information that correctly corresponds to the specific server information can be provided. Further, even if there are a plurality of image processing apparatuses, the server apparatus that is the transmission source of the specific server information without the load of directly establishing a session that enables a server push between the server apparatus and the plurality of image processing apparatuses. At, the push service related to the response information that correctly corresponds to the specific server information can always be provided.

本明細書に実施形態として記載されている中継装置等によれば、特定サーバ要求情報を通信先画像処理装置に出力することができない場合には、エラー情報をサーバ装置へ出力し、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、特定サーバ要求情報を出力したサーバ装置が、タイムアウトが発生するまで応答情報の返信を待機する、あるいは、タイムアウトが発生したと判断し、特定サーバ要求情報の送信を繰り返すといった、サーバ装置、中継装置、および第2のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、プッシュサービスを常時提供することができる。 According to the relay device and the like described as the embodiments in this specification, when the specific server request information cannot be output to the communication destination image processing device, the error information is output to the server device, and the sessionless type Normally terminates the connection. As a result, the server device that outputs the specific server request information, which occurs because the connection is not terminated normally, waits for a reply of the response information until the timeout occurs, or determines that the timeout occurs and the specific server It is possible to prevent the occurrence of a situation in which the load of the server device, the relay device, and the second network, such as repeated transmission of request information, occurs. As a result, the push service can be provided at all times without the load caused by the abnormal termination of the connection.

本明細書に実施形態として記載されている中継装置等によれば、セッションレス型のコネクションにおけるレスポンスデータを通信先画像処理装置へ出力することにより、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、応答情報を出力した通信先画像処理装置が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、送信先画像処理装置、中継装置、および第1のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、応答情報に関連するプッシュサービスを提供することができる。 According to the relay device and the like described as the embodiments in this specification, the sessionless connection is normally terminated by outputting the response data in the sessionless connection to the communication destination image processing device. As a result, the communication destination image processing device that outputs the response information, which occurs because the connection is not terminated normally, waits for the response data to be returned until the timeout occurs, or determines that the timeout has occurred and returns the response. It is possible to prevent the occurrence of a situation in which the transmission of information is repeated, which becomes a load on the transmission destination image processing device, the relay device, and the first network. As a result, the push service related to the response information can be provided without the load caused by the abnormal termination of the connection.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置に第1識別情報を作成する負荷をかける必要なく、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、サーバ装置に第1識別情報を作成する負荷をかける必要なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as the embodiment in this specification, the specific server request information is transmitted from the communication destination image processing device via the relay device without the need to apply the load of creating the first identification information to the server device. The response information can be transmitted to the server device that is the transmission source of the. With this, it is possible to always provide the push service related to the response information that correctly corresponds to the specific server information, without the load of creating the first identification information on the server device.

本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からHTTPを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することができる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いてプッシュサービスを常時提供することができる。 According to the relay device or the like described as the embodiment in this specification, the server request information transmitted from the server device side using HTTP is transmitted to the image processing device via the relay device using the first protocol. Can be communicated. As a result, the server device does not need to support the first protocol, and the push service can be always provided by using a generally used HTTP as long as the device is connected to the Internet.

本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置がHTTPを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することができる。これにより、画像処理装置や中継装置が応答情報を通信するためだけに新たなプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いて、応答情報に対応するプッシュサービスを提供することができる。また、画像処理装置が、HTTPを用いてプルサービスを利用可能な画像処理装置であれば、プルサービスの利用のために備えている、HTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを常時提供することができるので、より都合が良い。 According to the relay device and the like described as the embodiments in this specification, the image processing device uses HTTP for the server request information without the need to use the session established between the image processing device and the relay device. The transmitted response information can be transmitted to the server device via the relay device. As a result, the image processing device and the relay device do not need to support a new protocol only for communicating the response information, and HTTP that is generally used if the device is connected to the Internet is used for the response information. A corresponding push service can be provided. If the image processing apparatus is an image processing apparatus that can use a pull service by using HTTP, a configuration for performing processing related to HTTP, which is provided for using the pull service, for example, a protocol stack for performing HTTP processing is provided. It is more convenient because the push service corresponding to the response information can be always provided by using.

本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立した、XMPP over BOSHに基づく、サーバプッシュを可能とするセッションを用いて、サーバ装置側から、中継装置を介して、画像処理装置までサーバ要求情報を伝達することが可能となる。XMPP over BOSHはHTTPをベースとしたプロトコルである。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、常時都合が良い。 According to the relay device and the like described as the embodiments in the present specification, the server device is used by using the session that enables the server push based on XMPP over BOSH established between the image processing device and the relay device. The server request information can be transmitted from the side to the image processing apparatus via the relay device. XMPP over BOSH is a protocol based on HTTP. As a result, a push service corresponding to response information can be provided by using a configuration that performs processing relating to HTTP that is generally used for devices that connect to the Internet, for example, using a protocol stack that performs HTTP processing. So it's always convenient.

本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。 According to the image processing apparatus and the like described as the embodiments in the present specification, the server push can be performed by using the session established between the image processing apparatus and the relay apparatus, and the server apparatus moves the relay apparatus to the relay apparatus. It is possible to perform server push for transmitting the server request information to the image processing apparatus via the. As a result, the push service can be provided to the image processing apparatus by the server push.

本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、中継装置からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in the present specification, even when a predetermined time has elapsed after the server push is enabled between the image processing apparatus and the relay apparatus, the relay is performed. The state where the server push from the device is possible is maintained. As a result, it becomes possible to constantly provide the push service by using the session establishment type protocol.

本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のセッションが無効にされてしまったとしても、新たにセッションを確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in this specification, a new session can be established even if the session between the image processing apparatus and the relay apparatus is invalidated. As a result, it becomes possible to constantly provide the push service by using the session establishment type protocol.

本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のコネクションが無効にされてしまったとしても、新たにコネクションを確立させることができる。これにより、新たにセッションを確立する負荷なく、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in this specification, a new connection can be established even if the connection between the image processing apparatus and the relay device is invalidated. As a result, it is possible to constantly provide the push service by using the session establishment type protocol without the load of newly establishing a session.

本明細書に実施形態として記載されている画像処理装置等によると、サーバ要求情報に対して画像処理装置が送信した応答情報を、セッションレス型のプロトコルを用いて、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the image processing apparatus and the like described as the embodiments in this specification, the response information transmitted by the image processing apparatus in response to the server request information can be transmitted to the server apparatus using the sessionless protocol. It will be possible. Thereby, the push service related to the response information can be always provided without using the session for enabling the server push for the purpose of transmitting the response information, which is a purpose different from the server push.

本明細書に実施形態として記載されている画像処理装置等によると、サーバ装置側からセッションレス型のプロトコルを用いて送信したサーバ要求情報と、サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、画像処理装置からサーバ要求情報の送信元であるサーバ装置まで、応答情報を伝達することが可能となる。 According to the image processing apparatus and the like described as the embodiments in this specification, the server request information transmitted from the server apparatus using the sessionless protocol and the response transmitted by the image processing apparatus to the server request information. It is possible to recognize whether or not the information is a pair of request-response corresponding information corresponding to each other. Therefore, the response information can be transmitted from the image processing apparatus to the server apparatus that is the transmission source of the server request information via the relay apparatus.

本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置と中継装置との間のセッションが切断されたとしても、画像処理装置がセッション維持モードであれば、画像処理装置から確立要求情報が送信され、セッションを再度確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in the present specification, even if the session between the image processing apparatus and the relay apparatus is disconnected, if the image processing apparatus is in the session maintaining mode, the image processing is performed. The device sends the establishment request information so that the session can be reestablished. As a result, it becomes possible to constantly provide the push service by using the session establishment type protocol.

本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置がセッション維持モードであれば、画像処理装置が起動したときに、セッションを確立することができる。これにより、セッション確立型のプロトコルを用いて、画像処理装置の起動時から、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in this specification, when the image processing apparatus is in the session maintaining mode, the session can be established when the image processing apparatus is activated. This makes it possible to always provide the push service by using the session establishment type protocol even after the image processing apparatus is activated.

本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置の製造時にセッション維持モードであることを示すモード情報を記憶部に記憶させることで、画像処理装置が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、画像処理装置の製造側または販売側で、プッシュサービスを常時提供させたい画像処理装置を決定し、決定した画像処理装置にプッシュサービスを利用させることが可能となる。 According to the image processing apparatus and the like described as the embodiments in the present specification, the image processing apparatus is activated by storing the mode information indicating the session maintenance mode in the storage unit when the image processing apparatus is manufactured. Sometimes a session can be established. As a result, it becomes possible for a manufacturer or a seller of an image processing apparatus such as a vendor or a dealer to determine an image processing apparatus to which the push service is to be provided at all times, and allow the determined image processing apparatus to use the push service.

本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いる第2のプロトコルを用いて、第2のプロトコルの上位のプロトコルである第1のプロトコルのセッションを確立できる。これにより、画像処理装置や中継装置がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as the embodiments in the present specification, the session of the first protocol, which is a higher protocol of the second protocol, is established by using the second protocol used for using the pull service. it can. As a result, the push service can be always provided without the need for the image processing apparatus and the relay apparatus to support a new protocol only for establishing a session.

本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いるHTTPを用いて、上位のプロトコルであるサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。 According to the image processing apparatus and the like described as the embodiments in this specification, a session for enabling server push, which is a higher-level protocol, can be established by using HTTP used for using the pull service. As a result, a push service corresponding to response information can be provided by using a configuration that performs processing relating to HTTP that is generally used by devices that connect to the Internet, for example, using a protocol stack that performs HTTP processing. So more convenient.

上記の技術を実現するための通信システムも、新規で有用である。
以下の特徴は、出願当初の特許請求の範囲に記載の要素である。
(項目1)
画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、
プロセッサと、
を備える中継装置であって、
前記プロセッサは、
前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、
前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、
前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、
して機能することを特徴とする中継装置。
(項目2)
前記中継装置は、第1のネットワークと通信制御装置を介して接続した第2のネットワークに接続することが可能であり、
前記通信制御装置は、前記セッションを用いずに、前記第1のネットワーク以外のネットワークに接続した装置から前記第1のネットワークに接続した装置あてに送信された要求情報は、前記第1のネットワークに接続した装置に転送せず、
前記確立要求情報取得手段は、前記第1のネットワークに接続している前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報取得手段は、前記第1のネットワークに接続していない前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報出力手段は、前記サーバ装置が送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記第1のネットワークに接続している前記画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記第1のネットワークに接続している前記画像処理装置あてに送信するよう出力する、
ことを特徴とする項目1に記載の中継装置。
(項目3)
前記中継装置は、
複数の前記第1のネットワークそれぞれに備えられた前記通信制御装置を介して複数の前記第1のネットワークと接続した前記第2のネットワークに接続することが可能であり、
前記確立要求情報取得手段は、複数の前記第1のネットワークそれぞれに接続している複数の前記画像処理装置が前記中継装置あてに送信した前記確立要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対する前記サーバ要求情報である特定サーバ要求情報を、前記ネットワークインターフェースを介して取得し、
前記サーバ要求情報出力手段は、前記特定サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が、前記通信先画像処理装置が送信した前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記通信先画像処理装置との間で確立した前記セッションを用いて、前記通信先画像処理装置あてに送信するよう出力する、
ことを特徴とする項目2に記載の中継装置。
(項目4)
前記プロセッサは、
前記確立要求情報の送信元である画像処理装置である送信元画像処理装置を識別する画像処理装置識別情報を、記憶手段が記憶するよう出力する画像処理装置識別情報出力手段として機能し、
前記画像処理装置識別情報出力手段は、複数の前記画像処理装置の各々についての複数の前記画像処理装置識別情報を前記記憶手段に記憶させることが可能とされており、
前記サーバ要求情報出力手段は、取得した前記サーバ要求情報に含まれている前記画像処理装置識別情報が示す送信元画像処理装置へ、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて送信するよう出力する、
ことを特徴とする項目3に記載の中継装置。
(項目5)
前記サーバ要求情報取得手段は、前記サーバ装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第2のプロトコルに従った前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする項目1〜4のいずれか1項に記載の中継装置。
(項目6)
前記プロセッサは、
前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである前記第2のプロトコルに従った、セッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記セッションを用いて前記画像処理装置あてに送信するよう出力することを特徴とする項目5に記載の中継装置。
(項目7)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
して機能し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力する、
ことを特徴とする項目6に記載の中継装置。
(項目8)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報を、前記ネットワークインターフェースを介して取得する応答情報取得手段と、
前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する応答情報出力手段と、
して機能することを特徴とする項目1〜7のいずれか1項に記載の中継装置。
(項目9)
前記応答情報取得手段は、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した、前記第1のプロトコルとは異なる第3のプロトコルに従ったデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する、
ことを特徴とする項目8に記載の中継装置。
(項目10)
前記プロセッサは、
前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、
して機能し、
前記応答情報取得手段は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力することを特徴とする項目9に記載の中継装置。
(項目11)
前記プロセッサは、前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである第2のプロトコルに従ったセッションレス型のコネクションを前記中継装置と前記サーバ装置との間で確立することを要求する第2の確立要求情報を、前記ネットワークインターフェースを介して取得する第2確立要求情報取得手段として機能し、
前記サーバ要求情報取得手段は、前記サーバ装置との間で確立したセッションレス型のコネクションを用いて前記サーバ装置が前記中継装置あてに送信した前記サーバ要求情報を取得し、
前記サーバ要求情報出力手段は、前記第2のプロトコルに従ったリクエストデータに含まれる情報を、前記サーバ要求情報として前記サーバ要求情報取得手段が取得した場合に、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力し、
前記プロセッサは、前記サーバ要求情報の通信先の画像処理装置である通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、して機能し、
前記第3の確立要求情報は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得し、
前記応答情報出力手段は、前記応答情報取得手段が取得した前記応答情報を、前記ネットワークインターフェースを介して、前記サーバ装置との間で確立したコネクションを用いて、前記セッションレス型のプロトコルである前記第2のプロトコルに従ったレスポンスデータに含めて、前記サーバ装置あてに送信するよう出力することを特徴とする項目10に記載の中継装置。
(項目12)
前記中継装置は、複数の前記画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を前記サーバ要求情報取得手段が前記サーバ装置から取得することに応じて、取得した前記特定サーバ要求情報を他のサーバ要求情報と区別できるよう識別するための第1識別情報を記憶部に記憶させる第1識別情報記憶制御手段を備え、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に前記第1識別情報を前記通信先画像処理装置へ出力し、
前記応答情報取得手段は、前記応答情報と共に、前記応答情報の元となる特定サーバ要求情報を識別する第2識別情報を前記通信先画像処理装置から取得し、
前記中継装置は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記第2識別情報と前記第1識別情報とに基づいて、前記応答情報取得手段が取得した応答情報に対応する特定サーバ要求情報の前記サーバ装置側からの送信に用いられたコネクションを特定する、コネクション特定手段を備え、
前記応答情報出力手段は、前記応答情報取得手段が取得した応答情報を、前記コネクション特定手段が特定したコネクションを用いて、前記第2のプロトコルに従ったレスポンスデータに含めて前記サーバ装置あてに送信するよう出力することを特徴とする項目7に記載の中継装置。
(項目13)
前記通信先画像処理装置に対する前記特定サーバ要求情報を前記サーバ装置から取得した場合に、前記通信先画像処理装置との間の前記セッションが確立されていないことを条件として、エラー情報を、前記画像処理装置との間で確立した前記セッションレス型のコネクションを介して前記サーバ装置へ出力するエラー情報出力手段として前記プロセッサはさらに機能し、
前記要求情報は、前記セッションレス型のコネクションにおけるリクエストデータに含まれており、
前記エラー情報は、前記セッションレス型のコネクションにおけるレスポンスデータに含まれていることを特徴とする項目1〜12の何れか1項に記載の中継装置。
(項目14)
前記応答情報出力手段は、前記応答情報を前記セッションレス型のコネクションにおけるリクエストデータに含まれている情報として前記通信先画像処理装置から取得し、
前記応答情報を取得することに応じて、前記セッションレス型のコネクションにおけるレスポンスデータを前記通信先画像処理装置へ出力するレスポンスデータ出力手段として前記プロセッサがさらに機能することを特徴とする項目7に記載の中継装置。
(項目15)
前記中継装置は、前記要求情報を前記サーバ装置から取得することに応じて、前記要求情報に対応する前記第1識別情報を生成する第1識別情報生成手段を備え、
前記第1識別情報記憶制御手段は、前記第1識別情報生成手段が生成した第1識別情報を、前記記憶部に記憶させ、
前記サーバ要求情報出力手段は、前記サーバ要求情報取得手段が取得した前記特定サーバ要求情報と共に、前記第1識別情報生成手段が生成した前記第1識別情報を前記通信先画像処理装置へ出力し、
前記コネクション特定手段は、前記応答情報取得手段が前記応答情報と共に、前記第2識別情報を取得した場合に、前記記憶部が記憶している前記第1識別情報と、前記応答情報取得手段が取得した前記第2識別情報と、が一致する場合に、前記第1識別情報が対応する要求情報の、前記サーバ装置からの送信に用いられたコネクションを特定する、
ことを特徴とする項目12に記載の中継装置。
(項目16)
前記第2のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする項目5に記載の中継装置。
(項目17)
前記第3のプロトコルは、HTTP(Hypertext Transfer Protocol)であることを特徴とする項目9に記載の中継装置。
(項目18)
前記第1のプロトコルは、XMPP over BOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTPの略)であることを特徴とする項目1〜17の何れか1項に記載の中継装置。
(項目19)
サーバ装置と通信可能な中継装置とネットワークを介して通信することが可能なネットワークインターフェースと、
プロセッサと、
を備える画像処理装置であって、
前記プロセッサは、
セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する確立要求情報出力手段と、
前記セッションが確立した後に、前記中継装置が前記サーバ装置から受信した、前記画像処理装置に対する要求を示すサーバ要求情報であって、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記中継装置から取得するサーバ要求情報取得手段と、
して機能することを特徴とする画像処理装置。
(項目20)
前記プロセッサは、
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュが可能な状態を維持するための処理を実行する状態維持処理手段として機能することを特徴とする項目19に記載の画像処理装置。
(項目21)
前記状態維持処理手段は、
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できなかった場合に、前記確立要求情報出力手段に前記確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする項目20に記載の画像処理装置。
(項目22)
前記プロセッサは、前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュを可能とするためのセッションが確立した場合に、前記セッションを用いたコネクションであるセッション確立型コネクションを前記中継装置との間で確立するための第2の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第2確立要求情報出力手段、として機能し、
前記サーバ要求情報取得手段は、前記セッションを用いた前記セッション確立型コネクションが確立した後に、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッション確立型コネクションを用いて前記中継装置から取得し、
前記状態維持処理手段は、
前記確立要求情報出力手段が前記確立要求情報を送信したことで、前記セッションと前記セッション確立型コネクションが確立し、前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できた場合に、前記第2確立要求情報出力手段に前記第2の確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする項目20または21に記載の画像処理装置。
(項目23)
前記プロセッサは、
前記サーバ要求情報取得手段が前記サーバ要求情報を取得することに応じて、セッションレス型のプロトコルである第3のプロトコルに従ったコネクションであるセッションレス型コネクションを前記中継装置との間で確立することを要求する第4の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第4確立要求情報出力手段と、
前記サーバ要求情報が示す要求に対する応答情報を生成し、生成した前記応答情報を、前記中継装置との間で確立した前記セッションレス型コネクションを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する応答情報出力手段と、
してさらに機能することを特徴とする項目19〜22の何れか1項に記載の画像処理装置。
(項目24)
前記サーバ要求情報取得手段は、前記サーバ要求情報と共に、前記サーバ要求情報を識別するための第1識別情報を前記中継装置から取得し、
前記応答情報出力手段は、前記応答情報と共に、前記サーバ要求情報取得手段で取得した前記第1識別情報を前記中継装置に出力することを特徴とする項目23に記載の画像処理装置。
(項目25)
前記確立要求情報出力手段は、前記画像処理装置がセッション維持モードであることを条件として、記憶部に記憶されている前記セッションを確立するためのセッション維持情報に基づいて、前記確立要求情報を、前記中継装置あてに送信するよう出力することを特徴とする項目19〜24の何れか1項に記載の画像処理装置。
(項目26)
前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
前記確立要求情報出力手段は、前記画像処理装置が起動した場合に、前記記憶部に記憶されている前記モード情報が前記セッション維持モードであることを示していることを条件として、前記確立要求情報を前記中継装置あてに送信するよう出力することを特徴とする項目25に記載の画像処理装置。
(項目27)
前記画像処理装置は、前記画像処理装置が前記セッション維持モードであるか否かを示すモード情報を記憶部に記憶させる記憶制御手段をさらに備え、
前記確立要求情報出力手段は、前記画像処理装置の製造時に前記記憶部に記憶された前記モード情報に基づいて、前記画像処理装置が前記セッション維持モードであるか否かを判断することを特徴とする項目26に記載の画像処理装置。
(項目28)
前記プロセッサは、
前記サーバ装置が提供するプルサービスの利用を指示する指示情報を取得した場合に、前記第1のプロトコルの下位プロトコルである第2のプロトコルを用いて、前記サーバ装置に前記プルサービスの利用に関する関連情報を要求する関連情報要求情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する関連情報要求情報出力手段と、
前記サーバ装置が送信した前記関連情報を、前記ネットワークインターフェースを介して取得する関連情報取得手段と、
して機能し、
前記確立要求情報出力手段は、前記確立要求情報を、前記第1のプロトコルの下位プロトコルである前記第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力し、
前記サーバ要求情報取得手段は、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションにおいて、前記第2のプロトコルを用いて前記中継装置から取得する、
ことを特徴とする項目19〜27のいずれか1項に記載の画像処理装置。
(項目29)
前記第1のプロトコルは、XMPP over BOSHであり、
前記第2のプロトコルは、HTTPである、
ことを特徴とする項目28に記載の画像処理装置。
(項目30)
複数の画像処理装置、サーバ装置、および中継装置を備える通信システムであって、
前記中継装置は、前記複数の画像処理装置および前記サーバ装置とネットワークを介して接続することが可能とされており、
前記通信システムは、
前記画像処理装置から前記中継装置へのセッション確立の要求に応じて、セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするための複数のセッションを、前記中継装置と前記複数の画像処理装置の各々との間で確立する第1確立手段と、
複数の前記画像処理装置のうちから前記サーバ装置によって通信先として選択された画像処理装置である通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を、前記中継装置が前記サーバ装置から取得した場合に、取得した前記特定サーバ要求情報を前記セッションを介して前記中継装置から前記通信先画像処理装置へ出力する第1出力手段と、
前記特定サーバ要求情報に対する応答情報を前記中継装置が前記通信先画像処理装置から取得した場合に、取得した前記応答情報を前記中継装置から前記サーバ装置へ出力する第2出力手段と、
を備えることを特徴とする通信システム。
A communication system for realizing the above technique is also new and useful.
The following features are elements described in the claims as filed.
(Item 1)
A network interface capable of communicating with the image processing apparatus and the server apparatus via a network;
A processor,
A relay device comprising:
The processor is
Server request information acquisition means for acquiring, via the network interface, server request information indicating a request to the image processing device, which is transmitted to the relay device by the server device;
The server request information acquired by the server request information acquisition unit, which is the establishment request information transmitted from the image processing apparatus to the relay apparatus, according to the first protocol that is a session establishment type, is the image processing apparatus. Establishment request information acquisition means for acquiring, through the network interface, the establishment request information requesting establishment of a session for enabling server push to be transmitted up to the relay device and the image processing device. When,
When the server request information acquisition unit acquires the server request information, and if the establishment request information acquisition unit has already acquired the establishment request information, the server request information acquired by the server request information acquisition unit Server request information output means for outputting via the network interface to the image processing apparatus using the session established between the relay apparatus and the image processing apparatus,
A relay device characterized by functioning as a unit.
(Item 2)
The relay device can be connected to a second network connected to the first network via a communication control device,
The communication control device sends request information sent from a device connected to a network other than the first network to a device connected to the first network to the first network without using the session. Without transferring to the connected device,
The establishment request information acquisition unit acquires, via the network interface, the establishment request information transmitted to the relay device by the image processing device connected to the first network,
The server request information acquisition unit acquires, via the network interface, the server request information transmitted to the relay device by the server device not connected to the first network,
The server request information output means, when the server request information acquisition means acquires the server request information transmitted by the server device, the establishment request information acquisition means connects to the first network. If the establishment request information transmitted by the image processing apparatus has already been acquired, the server request information acquired by the server request information acquisition unit is transferred between the relay apparatus and the image processing apparatus via the network interface. Outputting for transmission to the image processing apparatus connected to the first network using the session established between
Item 6. The relay device according to item 1, wherein:
(Item 3)
The relay device is
It is possible to connect to the second network connected to the plurality of first networks via the communication control device provided in each of the plurality of first networks,
The establishment request information acquiring unit acquires, via the network interface, the establishment request information transmitted to the relay device by the plurality of image processing devices connected to each of the plurality of first networks,
The server request information acquisition unit sends the server request information to the relay device, the server request information for a communication destination image processing device being an image processing device selected as a communication destination from among the plurality of image processing devices. Specific server request information, which is obtained via the network interface,
When the server request information acquisition unit acquires the specific server request information, the server request information output unit acquires the establishment request information transmitted by the communication destination image processing apparatus by the establishment request information acquisition unit. Then, the specific server request information acquired by the server request information acquisition means, using the session established between the relay device and the communication destination image processing device via the network interface, Output to be transmitted to the communication destination image processing device,
Item 3. The relay device according to item 2, wherein:
(Item 4)
The processor is
The image processing device identification information for identifying the transmission source image processing device that is the image processing device that is the transmission source of the establishment request information functions as image processing device identification information output means for outputting to be stored in the storage means,
The image processing device identification information output means is capable of storing a plurality of the image processing device identification information for each of the plurality of image processing devices in the storage means,
The server request information output unit outputs the server request information acquired by the server request information acquisition unit to the transmission source image processing apparatus indicated by the image processing apparatus identification information included in the acquired server request information, Output to send using the session via the network interface,
Item 5. The relay device according to item 3, wherein
(Item 5)
The server request information acquisition unit acquires the server request information according to a second protocol different from the first protocol, which is transmitted to the relay device by the server device,
The server request information output means outputs the server request information acquired by the server request information acquisition means so as to be transmitted to the image processing apparatus using the session via the network interface. The relay device according to any one of Items 1 to 4.
(Item 6)
The processor is
The server request transmitted to the relay device by the server device using a sessionless connection according to the second protocol, which is a sessionless protocol, transmitted to the relay device by the server device. Get the information,
The server request information output means outputs the server request information acquired by the server request information acquisition means so as to be transmitted to the image processing apparatus using the session via the network interface. The relay device according to item 5.
(Item 7)
The processor is
Response information acquisition for acquiring, via the network interface, response information to the request indicated by the server request information, which is transmitted to the relay device by the communication destination image processing device that is the communication destination image processing device of the server request information. Means and
Response information output means for outputting the response information acquired by the response information acquisition means so as to be transmitted to the server device via the network interface;
And then work,
The response information output unit is the sessionless protocol using the connection established between the response information acquired by the response information acquisition unit and the server device via the network interface. It is included in the response data according to the second protocol and output so as to be transmitted to the server device,
Item 6. The relay device according to item 6, wherein:
(Item 8)
The processor is
Response information acquisition for acquiring, via the network interface, response information to the request indicated by the server request information, which is transmitted to the relay device by the communication destination image processing device that is the communication destination image processing device of the server request information. Means and
Response information output means for outputting the response information acquired by the response information acquisition means so as to be transmitted to the server device via the network interface;
The relay device according to any one of items 1 to 7, which functions as a relay device.
(Item 9)
The response information acquisition unit is data transmitted by the communication destination image processing apparatus, which is the image processing apparatus of the communication destination of the server request information, to the relay device, according to the third protocol different from the first protocol. The information contained in is acquired as the response information,
The response information output means outputs the response information acquired by the response information acquisition means so as to be transmitted to the server device via the network interface.
Item 8. The relay device according to item 8, wherein:
(Item 10)
The processor is
Third establishment request information acquisition means for obtaining, via the network interface, the third establishment request information transmitted to the relay device by the communication destination image processing apparatus which is the image processing apparatus of the communication destination of the server request information. ,
And then work,
The response information acquisition unit acquires, as the response information, information included in request data according to a sessionless connection according to the third protocol which is a sessionless protocol,
10. The relay device according to item 9, wherein the response information output means outputs the response information acquired by the response information acquisition means so as to be transmitted to the server device via the network interface.
(Item 11)
The processor establishes, between the relay device and the server device, a sessionless connection according to a second protocol, which is a sessionless protocol, transmitted by the server device to the relay device. Functioning as second establishment request information acquisition means for obtaining second establishment request information requesting
The server request information acquisition unit acquires the server request information transmitted to the relay device by the server device using a sessionless connection established with the server device,
The server request information acquiring unit acquires the information contained in the request data according to the second protocol when the server request information acquiring unit acquires the information included in the request data as the server request information. The server request information is output via the network interface so as to be transmitted to the image processing apparatus using the session established between the relay apparatus and the image processing apparatus,
The processor acquires, via the network interface, third establishment request information, which is transmitted from the communication destination image processing apparatus, which is the image processing apparatus to which the server request information is communicated, to the relay apparatus. Functions as an information acquisition means,
The third establishment request information, the information included in the request data according to the sessionless connection according to the third protocol is a sessionless protocol, as the response information,
The response information output unit is the sessionless protocol using the connection established between the response information acquired by the response information acquisition unit and the server device via the network interface. 11. The relay device according to item 10, which is included in response data according to the second protocol and is output so as to be transmitted to the server device.
(Item 12)
The relay device is configured such that the server request information acquisition unit receives specific server request information, which is server request information for a communication destination image processing device that is an image processing device selected as a communication destination from a plurality of image processing devices. A first identification information storage control unit that stores first identification information for identifying the acquired specific server request information so as to distinguish it from other server request information in accordance with the acquisition from the device;
The server request information output means outputs the first identification information to the communication destination image processing apparatus together with the specific server request information acquired by the server request information acquisition means,
The response information acquisition unit acquires, together with the response information, second identification information that identifies specific server request information that is a source of the response information, from the communication destination image processing apparatus,
In the relay device, when the response information acquisition unit acquires the second identification information together with the response information, the response information acquisition unit acquires the response information based on the second identification information and the first identification information. Provided with connection specifying means for specifying the connection used for the transmission of the specific server request information corresponding to the response information from the server device side,
The response information output means includes the response information acquired by the response information acquisition means in response data according to the second protocol by using the connection specified by the connection specification means, and transmits the response data to the server device. Item 8. The relay device according to Item 7, wherein the relay device outputs.
(Item 13)
When the specific server request information for the communication destination image processing apparatus is acquired from the server apparatus, the error information is set to the image information on condition that the session with the communication destination image processing apparatus is not established. The processor further functions as error information output means for outputting to the server device via the sessionless connection established with a processing device,
The request information is included in the request data in the sessionless connection,
13. The relay device according to any one of Items 1 to 12, wherein the error information is included in response data in the sessionless connection.
(Item 14)
The response information output unit acquires the response information from the communication destination image processing apparatus as information included in request data in the sessionless connection,
Item 7. The processor further functions as response data output means for outputting response data in the sessionless connection to the communication destination image processing apparatus in response to the acquisition of the response information. Relay device.
(Item 15)
The relay device includes a first identification information generation unit that generates the first identification information corresponding to the request information in response to obtaining the request information from the server device,
The first identification information storage control unit stores the first identification information generated by the first identification information generation unit in the storage unit,
The server request information output means outputs the first identification information generated by the first identification information generation means to the communication destination image processing device together with the specific server request information acquired by the server request information acquisition means,
When the response information acquisition unit acquires the second identification information together with the response information, the connection identification unit acquires the first identification information stored in the storage unit and the response information acquisition unit. When the second identification information is matched, the connection used for transmitting the request information corresponding to the first identification information from the server device is specified.
Item 13. The relay device according to item 12, which is characterized in that
(Item 16)
6. The relay device according to item 5, wherein the second protocol is HTTP (Hypertext Transfer Protocol).
(Item 17)
10. The relay device according to item 9, wherein the third protocol is HTTP (Hypertext Transfer Protocol).
(Item 18)
18. The relay apparatus according to any one of Items 1 to 17, wherein the first protocol is XMPP over BOSH (abbreviation of eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP).
(Item 19)
A network interface capable of communicating via a network with a relay device capable of communicating with the server device;
A processor,
An image processing apparatus comprising:
The processor is
Establishing a request for establishing a session for enabling a server push that outputs information from the server device according to a session establishment type first protocol, between the relay device and the image processing device Establishment request information output means for outputting request information to the relay device via the network interface,
After the session is established, the relay apparatus receives server request information indicating a request to the image processing apparatus from the server apparatus, the server request information being transmitted by the relay apparatus for the server push. A server request information acquisition unit that acquires from the relay device using the session established between the relay device and the image processing device via the network interface,
An image processing apparatus characterized by functioning as a unit.
(Item 20)
The processor is
After the establishment request information output means has transmitted the establishment request information, the relay apparatus transmits the server request information for pushing the server after the server push from the relay apparatus becomes possible. Item 19 characterized by functioning as state maintenance processing means for executing processing for maintaining the state where the server push is possible when a predetermined time has elapsed without the server request information acquisition means acquiring The image processing device according to.
(Item 21)
The state maintenance processing means,
After the establishment request information output means has transmitted the establishment request information, the relay apparatus transmits the server request information for pushing the server after the server push from the relay apparatus becomes possible. A recognition information indicating that the relay device recognizes that a session for enabling the server push is established when a predetermined time elapses without being acquired by the server request information acquisition unit. Recognition request information output means for outputting recognition request information requesting a reply to the relay device via the network interface so as to be transmitted to the relay device.
Server recognition information acquisition means for acquiring the recognition information returned by the relay device to the image processing device via the network interface;
Including,
When the server recognition information acquisition unit is unable to acquire the recognition information, the state maintenance processing unit causes the establishment request information output unit to transmit the establishment request information, thereby making the server pushable state. maintain,
Item 21. The image processing device according to Item 20.
(Item 22)
When the session for enabling the server push from the relay device is established due to the establishment request information output unit transmitting the establishment request information, the processor is a session that is a connection using the session. Functioning as second establishment request information output means for outputting second establishment request information for establishing an established connection with the relay device so as to be transmitted to the relay device via the network interface. Then
The server request information acquisition unit relays the server request information transmitted by the relay device to push the server after the session establishment type connection using the session is established, via the network interface. Obtained from the relay device using the session establishment type connection established between the device and the image processing device,
The state maintenance processing means,
After the establishment request information output means transmits the establishment request information, the session and the session establishment type connection are established, and the relay device is set after the server push from the relay device becomes possible. When a predetermined time has elapsed without the server request information acquisition unit acquiring the server request information transmitted for the server push, a session for enabling the server push is established. Recognition request information output means for outputting to the relay device, via the network interface, the recognition request information requesting the relay device to return the recognition information indicating that the relay device is recognizing,
Server recognition information acquisition means for acquiring the recognition information returned by the relay device to the image processing device via the network interface;
Including,
When the server recognition information acquisition unit can acquire the recognition information, the state maintenance processing unit causes the second establishment request information output unit to transmit the second establishment request information, so that the server push is performed. To remain possible,
Item 22. The image processing device according to Item 20 or 21.
(Item 23)
The processor is
In response to the server request information acquisition unit acquiring the server request information, a sessionless connection, which is a connection according to a third protocol that is a sessionless protocol, is established with the relay device. Fourth establishment request information output means for outputting the fourth establishment request information requesting the request to be transmitted to the relay device via the network interface,
The response information to the request indicated by the server request information is generated, and the generated response information is sent to the relay device via the network interface using the sessionless connection established with the relay device. Response information output means for outputting to be transmitted to,
23. The image processing apparatus according to any one of Items 19 to 22, characterized by further functioning.
(Item 24)
The server request information acquisition unit acquires, together with the server request information, first identification information for identifying the server request information from the relay device,
24. The image processing apparatus according to item 23, wherein the response information output unit outputs the first identification information acquired by the server request information acquisition unit together with the response information to the relay device.
(Item 25)
The establishment request information output means, on the condition that the image processing apparatus is in the session maintenance mode, based on the session maintenance information for establishing the session stored in the storage unit, the establishment request information, 25. The image processing device according to any one of items 19 to 24, wherein the image processing device outputs the image data to be transmitted to the relay device.
(Item 26)
The image processing apparatus further includes storage control means for storing mode information indicating whether the image processing apparatus is in the session maintaining mode in a storage unit.
The establishment request information output means, when the image processing device is activated, on the condition that the mode information stored in the storage unit indicates the session maintaining mode, the establishment request information 26. The image processing device according to item 25, wherein the image processing device outputs the image data to be transmitted to the relay device.
(Item 27)
The image processing apparatus further includes storage control means for storing mode information indicating whether the image processing apparatus is in the session maintaining mode in a storage unit.
The establishment request information output unit determines whether or not the image processing apparatus is in the session maintaining mode based on the mode information stored in the storage unit when the image processing apparatus is manufactured. The image processing device according to item 26.
(Item 28)
The processor is
When the instruction information for instructing the use of the pull service provided by the server device is acquired, the server device is associated with the use of the pull service by using the second protocol that is a lower protocol of the first protocol. Related information request information output means for outputting the related information request information requesting information to be transmitted to the server device via the network interface;
Related information acquisition means for acquiring the related information transmitted by the server device via the network interface;
And then work,
The establishment request information output means outputs the establishment request information so as to be transmitted to the relay device via the network interface using the second protocol which is a lower protocol of the first protocol. ,
In the session, the server request information acquisition unit establishes the server request information transmitted by the relay device to push the server via the network interface between the relay device and the image processing device. , Obtained from the relay device using the second protocol,
Item 28. The image processing device according to any one of Items 19 to 27.
(Item 29)
The first protocol is XMPP over BOSH,
The second protocol is HTTP,
29. The image processing device according to item 28.
(Item 30)
A communication system including a plurality of image processing devices, a server device, and a relay device,
The relay device can be connected to the plurality of image processing devices and the server device via a network,
The communication system,
A plurality of sessions for enabling server push to output information from the server device according to a session establishment type first protocol in response to a request for session establishment from the image processing device to the relay device. A first establishing means for establishing between the relay device and each of the plurality of image processing devices;
The relay device obtains specific server request information, which is server request information for a communication destination image processing device that is an image processing device selected as a communication destination by the server device from among the plurality of image processing devices, from the server device. A first output means for outputting the acquired specific server request information from the relay device to the communication destination image processing device via the session,
Second output means for outputting the acquired response information from the relay device to the server device when the relay device acquires the response information for the specific server request information from the communication destination image processing device;
A communication system comprising:

通信システムの構成を示す。1 shows a configuration of a communication system. 多機能装置が実行する各処理のフロー図を示す。The flowchart of each process which a multifunctional device performs is shown. 多機能装置が実行する各処理のフロー図を示す。The flowchart of each process which a multifunctional device performs is shown. 仲介サーバが実行する各処理のフロー図を示す。The flowchart of each process which a mediation server performs is shown. 仲介サーバが実行する各処理のフロー図を示す。The flowchart of each process which a mediation server performs is shown. サービスサーバが実行する各処理のフロー図を示す。The flowchart of each process which a service server performs is shown. 通信システム2の第1動作例を示すフロー図である。FIG. 7 is a flowchart showing a first operation example of communication system 2. 通信システム2の第2動作例を示すフロー図である。FIG. 7 is a flowchart showing a second operation example of communication system 2.

<システムの構成>
図1に示されるように、通信システム2は、ルータ7および8と、多機能機10および11と、仲介サーバ60と、サービスサーバ100、110、および120と、を備えている。多機能機10は、LAN4およびルータ7を介してインターネット6に接続されている。多機能機11は、ルータ8を介してインターネット6に接続されている。また、仲介サーバ60およびサービスサーバ100、110、および120も、インターネット6に接続されている。
<System configuration>
As shown in FIG. 1, the communication system 2 includes routers 7 and 8, multi-function peripherals 10 and 11, a mediation server 60, and service servers 100, 110, and 120. The multi-function device 10 is connected to the Internet 6 via the LAN 4 and the router 7. The multi-function device 11 is connected to the Internet 6 via the router 8. The mediation server 60 and the service servers 100, 110, and 120 are also connected to the Internet 6.

<多機能機10の構成>
多機能機10は、印刷機能、スキャン機能、コピー機能、FAX機能等の多機能を実行可能である。多機能機10は、操作部12と、表示部14と、ネットワークインターフェース16と、印刷実行部18と、スキャン実行部19と、制御部20と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を多機能機10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース16は、LAN4を介してルータ7に接続されている。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。スキャン実行部19は、CCD、CIS等のスキャン機構を備える。制御部20は、CPU22と、メモリ24と、を備える。メモリ24は、アプリケーションプログラム25およびプロトコルスタック26を記憶している。メモリ24は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ROM、RAM、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。CPU22は、メモリ24に格納されているアプリケーションプログラム25に従って、サービスサーバ100、120が提供する、後述するプッシュサービスを常時利用するためのアプリケーション処理を実行する。CPU22は、メモリ24に格納されているプロトコルスタック26に従って、HTTP(Hyper Text Transfer Protocolの略)や、XMPP over BOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTPの略)、などのプロトコル処理を実行する。CPU22は、プロトコル処理によって、後述するXMPP over BOSHに従ったセッション確立や、HTTPに従ったコネクション確立などを行う。
<Structure of multi-function device 10>
The multi-function device 10 can execute multi-functions such as a print function, a scan function, a copy function, and a FAX function. The multi-function device 10 includes an operation unit 12, a display unit 14, a network interface 16, a print execution unit 18, a scan execution unit 19, and a control unit 20. The operation unit 12 includes a plurality of keys. The user can input various instructions to the multi-function device 10 by operating the operation unit 12. The display unit 14 is a display for displaying various information. The network interface 16 is connected to the router 7 via the LAN 4. The print execution unit 18 includes a printing mechanism such as an inkjet method or a laser method. The scan execution unit 19 includes a scan mechanism such as CCD and CIS. The control unit 20 includes a CPU 22 and a memory 24. The memory 24 stores an application program 25 and a protocol stack 26. The memory 24 may be a computer-readable storage medium. The computer-readable storage medium is a non-transitory medium such as ROM, RAM, flash memory, and hard disk. Electrical signals that carry programs downloaded from servers on the Internet are not included in non-transitory media. The CPU 22 executes an application process provided by the service servers 100 and 120 for always using a push service, which will be described later, according to an application program 25 stored in the memory 24. The CPU 22 performs protocol processing such as HTTP (abbreviation of Hyper Text Transfer Protocol) or XMPP over BOSH (abbreviation of eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP) according to the protocol stack 26 stored in the memory 24. To execute. The CPU 22 establishes a session according to XMPP over BOSH, which will be described later, and a connection according to HTTP by protocol processing.

プロトコルスタック26は、HTTPのプロトコル処理であるHTTP処理を実行するためのHTTPプログラム27と、XMPP over BOSHのプロトコル処理であるXMPP over BOSH処理を行うためのXMPP over BOSHプログラム28と、を含む。CPU22は、XMPP over BOSH処理において、XMPP over BOSHに従った各種情報を含むHTTPリクエスト情報、またはHTTPレスポンス情報を、HTTP処理を介して、送信させる。CPU22は、XMPP over BOSHに従った各種情報を含むHTTPリクエスト情報、またはHTTPレスポンス情報をネットワークインターフェース16が受信した場合に、HTTP処理を介して、XMPP over BOSH処理において取得する。XMPP over BOSHに従ったセッションのことを、XMPPセッションとも記載する。また、HTTPに従ったコネクションのことをHTTPコネクション、または、TCPコネクションとも記載する。なお、XMPP over BOSHは、後述するセッション確立型プロトコルの例である。また、HTTPは、後述するセッションレス型プロトコルの例である。 The protocol stack 26 includes an HTTP program 27 for executing HTTP processing that is HTTP protocol processing, and an XMPP over BOSH program 28 for performing XMPP over BOSH processing that is XMPP over BOSH protocol processing. In the XMPP over BOSH processing, the CPU 22 causes HTTP request information including various information according to XMPP over BOSH or HTTP response information to be transmitted via the HTTP processing. When the network interface 16 receives the HTTP request information or the HTTP response information including various information according to XMPP over BOSH, the CPU 22 acquires the HTTP request information through the HTTP processing in the XMPP over BOSH processing. A session according to XMPP over BOSH is also referred to as an XMPP session. Also, a connection conforming to HTTP is also referred to as an HTTP connection or a TCP connection. Note that XMPP over BOSH is an example of a session establishment type protocol described later. Moreover, HTTP is an example of a sessionless protocol described later.

CPU22は、アプリケーション処理によって送信情報を取得し、取得した送信情報を、プロトコル処理を介して、ネットワークインターフェース16からXMPP over BOSH、HTTPなどを用いて送信させる。また、CPU22は、ネットワークインターフェース16が受信した受信情報を、プロトコル処理を介して、アプリケーション処理において取得する。アプリケーション処理に通知すべき事象がプロトコル処理によって発生すると、CPU22は、プロトコル処理によって、イベント情報を出力する。CPU22は、イベント情報に基づいて、プロトコル処理において発生した事象を、アプリケーション処理において認識することができる。CPU22は、プロトコル処理においてセッションやコネクションが確立されたとき、確立したセッションやコネクションを識別するための情報を、アプリケーション処理に伝達する。確立したセッションやコネクションを識別するための情報としては、ソケット情報などが挙げられる。 The CPU 22 acquires transmission information by application processing, and causes the network interface 16 to transmit the acquired transmission information using protocol such as XMPP over BOSH and HTTP. Further, the CPU 22 acquires the reception information received by the network interface 16 in the application processing via the protocol processing. When an event to be notified to the application process occurs by the protocol process, the CPU 22 outputs the event information by the protocol process. The CPU 22 can recognize the event that occurred in the protocol processing in the application processing based on the event information. When a session or a connection is established in the protocol processing, the CPU 22 transmits information for identifying the established session or connection to the application processing. Information for identifying the established session or connection includes socket information.

メモリ24には、後述する、モード情報、セッション維持情報、などが記憶されている。モード情報は、セッション維持モードが「オン」または「オフ」の何れに設定されているかを示す情報である。セッション維持モードは、多機能機10が仲介サーバ60との間でXMPPセッションを確立し、サービスサーバ100、120が提供する各種の後述するプッシュサービスを常時利用できるようにセッションを維持するモードである。モード情報は、多機能機10の製造時において、メモリ24に記憶されるとしてもよい。「製造時」は、ベンダの工場での製品製造時に限られない。例えば、多機能機10のディーラが、顧客に多機能機10を発送する際に、多機能機10に発送前の設定を施す場合も、「製造時」に含まれる。セッション維持情報は、XMPPセッションを仲介サーバ60と確立するための情報である。セッション維持情報は、仲介サーバ60のIPアドレスなどを含んでいてもよい。なお、多機能機10は、サービスサーバ110が提供する、後述するプルサービスを、HTTPを用いて利用することも可能である。 The memory 24 stores mode information, session maintenance information, etc., which will be described later. The mode information is information indicating whether the session maintenance mode is set to “on” or “off”. The session maintenance mode is a mode in which the multi-function peripheral 10 establishes an XMPP session with the intermediary server 60 and maintains the session so that various push services described below provided by the service servers 100 and 120 can always be used. .. The mode information may be stored in the memory 24 when the multi-function device 10 is manufactured. “At the time of manufacturing” is not limited to the time of manufacturing the product at the vendor's factory. For example, when the dealer of the multi-function device 10 sends the multi-function device 10 to a customer, the multi-function device 10 may be set before shipping, which is also included in “at the time of manufacturing”. The session maintenance information is information for establishing an XMPP session with the mediation server 60. The session maintenance information may include the IP address of the mediation server 60 and the like. The multi-function device 10 can also use the pull service, which will be described later, provided by the service server 110 by using HTTP.

本明細書における記載上の注意点を説明する。本明細書において、「仲介サーバ60のCPU72が、各種の情報を受信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「仲介サーバ60のCPU72が、各種の情報を送信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を出力する」という技術内容を含んでいるものとする。なお、多機能機10のCPU22およびネットワークインターフェース16についても、同様の注意点が存在する。 Precautions for description in the present specification will be described. In the present specification, the description that “the CPU 72 of the mediation server 60 receives various information” includes the technical content that “the CPU 72 of the mediation server 60 acquires various information via the network interface 62”. I'm going out. Further, the description that “the CPU 72 of the mediation server 60 transmits various information” includes the technical content that “the CPU 72 of the mediation server 60 outputs various information via the network interface 62”. And Note that the CPU 22 of the multi-function device 10 and the network interface 16 have similar cautions.

ここで、「データ」と「情報」の文言の定義を記載する。「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」を「A情報」と言い換えてもよい。また、「Aデータ」から複製された、または、変換された「Bデータ」は、「Aデータ」と同等の意味を持って使用される限り「A情報」である。 Here, the definitions of the words "data" and "information" are described. In “data” and “information”, “information” is used as a superordinate concept of “data”. Therefore, "A data" may be paraphrased as "A information". Further, “B data” duplicated or converted from “A data” is “A information” as long as it has the same meaning as “A data”.

<仲介サーバ60の構成>
仲介サーバ60は、サービスサーバ100、110、および120とは別体に構成されているサーバである。仲介サーバ60は、サービスサーバ100、および120から多機能機10または11へのアクセスを仲介するためのサーバである。仲介サーバ60は、多機能機10および11のベンダによって提供されるサーバである。仲介サーバ60は、ネットワークインターフェース62と、制御部70と、を備える。
<Configuration of Mediation Server 60>
The mediation server 60 is a server configured separately from the service servers 100, 110, and 120. The mediation server 60 is a server for mediating access from the service servers 100 and 120 to the multi-function peripheral 10 or 11. The mediation server 60 is a server provided by the vendors of the multi-function peripherals 10 and 11. The mediation server 60 includes a network interface 62 and a control unit 70.

制御部70は、CPU72と、メモリ74と、を備える。メモリ74には、アプリケーションプログラム75、デバイスデータベース76、多機能機管理データベース77、プロトコルスタック78、が記憶されている。メモリ74は、メモリ24と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。プロトコルスタック78には、HTTPプログラム81およびXMPP over BOSHプログラム82が含まれている。CPU72は、アプリケーションプログラム75に従って、サービスサーバ100、120が提供するプッシュサービスを多機能機10、11に常時利用させるためのアプリケーション処理を実行する。CPU22がプロトコルスタック78に従って実行するプロトコル処理や、プロトコル処理とアプリケーション処理との間の連携などは、多機能機10についての説明した内容に準ずる。デバイスデータベース76は、後述するレジスタ情報を多機能機10および11から受信して記憶するためのデータベースである。多機能機管理データベース77は、通信ステータスおよびリクエストIDを記憶する領域である。通信ステータスは、多機能機10および11の各々がオンライン状態であるかオフライン状態であるかを示す情報である。オンライン状態とは、後述するXMPPセッションが多機能機10と仲介サーバ60との間で確立されている状態である。オフライン状態とは、XMPPセッションが多機能機10と仲介サーバ60との間で確立されていない状態である。リクエストIDは、後述するS353において生成される情報である。リクエストIDは、多機能機10および11の各々に対応して生成される。 The control unit 70 includes a CPU 72 and a memory 74. The memory 74 stores an application program 75, a device database 76, a multi-function peripheral management database 77, and a protocol stack 78. The memory 74, like the memory 24, may be a computer-readable storage medium. The protocol stack 78 includes an HTTP program 81 and an XMPP over BOSH program 82. According to the application program 75, the CPU 72 executes an application process for causing the multi-function peripherals 10 and 11 to constantly use the push service provided by the service servers 100 and 120. The protocol processing executed by the CPU 22 in accordance with the protocol stack 78, the cooperation between the protocol processing and the application processing, and the like are in accordance with the contents described for the multi-function peripheral 10. The device database 76 is a database for receiving and storing register information described later from the multi-function peripherals 10 and 11. The multi-function peripheral management database 77 is an area for storing communication status and request ID. The communication status is information indicating whether each of the multi-function devices 10 and 11 is in the online state or the offline state. The online state is a state in which an XMPP session, which will be described later, is established between the multi-function device 10 and the mediation server 60. The offline state is a state in which the XMPP session is not established between the multi-function device 10 and the mediation server 60. The request ID is information generated in S353 described below. The request ID is generated for each of the multi-function devices 10 and 11.

<プルサービスとプッシュサービス、ルータ7および8の機能>
通信システム2における、プルサービスとプッシュサービスについて説明する。プルサービスは、サービスを利用する装置Aからサービスを提供するサーバBにサービスを要求することで、装置Aが、サーバBの提供するサービスを利用する形態のサービスのことである。サーバBに記憶された画像データなどのコンテンツデータのダウンロードを要求する要求情報を装置Aが要求し、要求情報を受信したサーバBがコンテンツデータを返信するダウンロードサービスは、プルサービスの一例である。装置AがサーバBに、アップロードを要求する要求情報とともにコンテンツデータを送信し、コンテンツデータと要求情報とを受信したサーバBが、コンテンツデータを記憶するアップロードサービスも、プルサービスの一例である。通信システム2では、多機能機10がプルサービスを利用する装置Aに該当する。サービスサーバ100とは異なるサービスサーバ110がプルサービスを提供するサーバBに該当する。
<Pull and push services, routers 7 and 8 functions>
The pull service and push service in the communication system 2 will be described. The pull service is a service in which the device A uses the service provided by the server B by requesting the service from the device B that uses the service to the server B that provides the service. The download service in which the device A requests request information for requesting download of content data such as image data stored in the server B, and the server B receiving the request information returns the content data is an example of a pull service. An upload service in which the device A transmits content data together with request information requesting upload to the server B, and the server B which receives the content data and the request information stores the content data is also an example of the pull service. In the communication system 2, the multi-function device 10 corresponds to the device A that uses the pull service. A service server 110 different from the service server 100 corresponds to the server B that provides the pull service.

プルサービスの場合、多機能機10からサービスサーバ110を送信先として、要求情報を含むHTTPリクエスト情報を送信すると、ルータ7がHTTPリクエスト情報を受信し、インターネット6に転送する。この際、ルータ7は、転送したHTTPリクエスト情報を識別するための情報、多機能機10のプライベートIPアドレスを示す情報、などを記憶する。また、ルータ7が転送したHTTPリクエスト情報には、ルータ7が転送したHTTPリクエスト情報を識別するための情報、ルータ7のIPアドレスなどの情報が含まれている。要求データを含むHTTPリクエスト情報を受信したサービスサーバ110は、要求情報に応じたコンテンツデータを含むHTTPレスポンス情報を、ルータ7へ返信する。なお、返信するHTTPレスポンス情報には、どのHTTPリクエスト情報への返信であるのかを識別するための情報などが含まれている。HTTPレスポンス情報を受信したルータ7は、HTTPレスポンスに含まれる情報と、HTTPリクエスト情報を転送する際に記憶した情報に基づいて、HTTPレスポンス情報が、多機能機10が送信したHTTPリクエスト情報への応答情報であることを特定する。ルータ7は、HTTPレスポンス情報が、多機能機10が送信したHTTPリクエスト情報への応答情報であるので、HTTPレスポンス情報を多機能機10のプライベートIPアドレスを用いて転送する。 In the case of the pull service, when the HTTP request information including the request information is transmitted from the multi-function peripheral 10 to the service server 110 as the transmission destination, the router 7 receives the HTTP request information and transfers it to the Internet 6. At this time, the router 7 stores information for identifying the transferred HTTP request information, information indicating the private IP address of the multi-function device 10, and the like. Further, the HTTP request information transferred by the router 7 includes information for identifying the HTTP request information transferred by the router 7, information such as the IP address of the router 7. The service server 110, which has received the HTTP request information including the request data, returns the HTTP response information including the content data corresponding to the request information to the router 7. The HTTP response information to be returned includes information for identifying which HTTP request information the response is. The router 7, which has received the HTTP response information, converts the HTTP response information into the HTTP request information transmitted by the multi-function device 10 based on the information included in the HTTP response and the information stored when the HTTP request information is transferred. Specify that this is response information. The router 7 transfers the HTTP response information by using the private IP address of the multi-function peripheral 10, because the HTTP response information is the response information to the HTTP request information transmitted by the multi-function peripheral 10.

もし、サービスサーバ110が、多機能機10を送信先としたHTTPリクエスト情報を送信すると、ルータ7は、HTTPリクエスト情報を受信するものの、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報であることを特定できない。ルータ7は、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報ではないので、HTTPリクエスト情報を多機能機10へ転送しない。 If the service server 110 transmits the HTTP request information addressed to the multi-function peripheral 10, the router 7 receives the HTTP request information, but the HTTP request information is changed to the information transmitted by the multi-function peripheral 10. It cannot be specified that it is response information. The router 7 does not transfer the HTTP request information to the multi-function device 10, because the HTTP request information is not the response information to the information transmitted by the multi-function device 10.

このように、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10へ転送し、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報でなければ、インターネット6側の装置が送信した情報を、多機能機10へ転送しない、というのが、ルータ7が備えるファイアウォールの機能である。このように、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10のプライベートIPアドレスを用いて転送するのが、ルータ7が備えるNATの機能である。このように、多機能機10がサービスサーバ110を送信先としてサービスを要求する情報を送信することにより受けることができるサービスが、通信システム2におけるプルサービスである。 In this way, if the information received by the router 7 from the device on the Internet 6 side is the response information to the information transmitted from the multi-function device 10, the information transmitted by the device on the Internet 6 side is changed to the multi-function device. 10 and the information received by the router 7 from the device on the Internet 6 side is not the response information to the information that the multi-function device 10 is the sender, the information transmitted by the device on the Internet 6 side is multi-function. The function of the firewall provided in the router 7 is that it is not transferred to the machine 10. In this way, if the information received by the router 7 from the device on the Internet 6 side is the response information to the information transmitted from the multi-function device 10, the information transmitted by the device on the Internet 6 side is changed to the multi-function device. The NAT function provided in the router 7 is to transfer using the private IP address of 10. In this way, the service that the multi-function device 10 can receive by transmitting the information requesting the service to the service server 110 as the destination is the pull service in the communication system 2.

このように、ルータ7が、サービスサーバ110を送信先としたHTTPリクエスト情報を転送したことを示す情報、多機能機10のプライベートIPアドレスなどを記憶することで、サービスサーバ110が送信した応答情報を、ルータ7を介して多機能機10まで伝達することができる。すなわち、ルータ7が、転送した、サービスサーバ110を送信先としたHTTPリクエスト情報を識別するための情報、多機能機10のプライベートIPアドレスなどを記憶し、サービスサーバ110が、ルータ7が転送したHTTPリクエスト情報を識別するための情報などを受信し、記憶することで、多機能機10とサービスサーバ110との間のコネクションが確立し、確立したコネクションを用いて、サービスサーバ110が送信した応答情報を多機能機10まで伝達することができる。 As described above, the router 7 stores the information indicating that the HTTP request information having the service server 110 as the destination is transferred, the private IP address of the multi-function peripheral 10 and the like, and thus the response information transmitted by the service server 110. Can be transmitted to the multi-function device 10 via the router 7. That is, the router 7 stores the transferred information for identifying the HTTP request information destined for the service server 110, the private IP address of the multi-function peripheral 10, and the like, and the service server 110 transfers the information to the router 7. The connection between the multi-function peripheral 10 and the service server 110 is established by receiving and storing the information for identifying the HTTP request information, and the response transmitted by the service server 110 using the established connection. Information can be transmitted to the multi-function device 10.

なお、HTTPを用いたコネクションのことをHTTPコネクションと言う場合もある。HTTPはTCPを基礎とするプロトコルであるため、HTTPコネクションと言う代わりに、TCPコネクションと言う場合もある。なお、多機能機10は、プルサービスを利用するために、HTTPに沿った通信を行うためにプロトコルスタック26を備えている。 A connection using HTTP may be called an HTTP connection. Since HTTP is a protocol based on TCP, it may be called TCP connection instead of HTTP connection. The multi-function device 10 includes a protocol stack 26 for performing HTTP-based communication in order to use the pull service.

プッシュサービスは、サービスを提供するサーバBにおいてサービスを提供するタイミングとなったときに、サービスを利用する装置AにサーバBからサービスの提供に関連する情報を送信することで、装置Aが、サーバBの提供するサービスを利用する形態のサービスのことである。サーバBが装置Aにステータス情報を要求し、装置Aから返信されたステータス情報をサーバBで管理し、ステータス情報に従った保守点検を行う保守点検サービスは、プッシュサービスの一例である。サーバBが装置Aに設定情報を送信し、装置Aに各種設定を行う遠隔設定サービスは、プッシュサービスの一例である。通信システム2では、多機能機10がプッシュサービスを利用する装置Aに該当する。サービスサーバ100が、プッシュサービスを提供するサーバBに該当する。プッシュサービスの場合、サービスサーバ100が、多機能機10を送信先として、サービスの提供に関連する情報を含むHTTPリクエスト情報を送信しても、先に述べたように、ルータ7は、HTTPリクエスト情報を受信するものの、多機能機10へ転送しない。すなわち、ルータ7が備えるファイアウォールの機能によって、多機能機10におけるプッシュサービスの利用が制限される。 In the push service, when it is time to provide the service in the server B that provides the service, the device A transmits the information related to the provision of the service from the server B to the device A that uses the service. It is a service in which the service provided by B is used. The maintenance inspection service in which the server B requests the device A for status information, the server B manages the status information returned from the device A, and performs maintenance inspection according to the status information is an example of a push service. The remote setting service in which the server B transmits the setting information to the device A and makes various settings for the device A is an example of the push service. In the communication system 2, the multi-function device 10 corresponds to the device A that uses the push service. The service server 100 corresponds to the server B that provides the push service. In the case of the push service, even if the service server 100 sends the HTTP request information including the information related to the provision of the service to the multi-function peripheral 10 as the destination, as described above, the router 7 still receives the HTTP request. Although the information is received, it is not transferred to the multi-function device 10. That is, the use of the push service in the multi-function device 10 is restricted by the function of the firewall included in the router 7.

なお、多機能機10からは、サービスサーバ100においてサービスを提供するタイミングがわからないため、多機能機10からHTTPリクエスト情報を送信することでサービスサーバ100との間にコネクションを確立し、確立したコネクションを利用してサービスの提供に関連する情報を受信することができない。 Since the multifunctional device 10 does not know the timing of providing the service in the service server 100, the multifunctional device 10 transmits the HTTP request information to establish a connection with the service server 100 and establish the established connection. Cannot receive information related to the provision of services.

なお、多機能機10、ルータ7を例に、プルサービス、プッシュサービス、およびルータの機能について説明したが、多機能機11、ルータ8についても、多機能機10、ルータ7と同様である。また、サービスサーバ100を例にプッシュサービスを説明したが、サービスサーバ120についても同様である。 Although the pull service, the push service, and the function of the router have been described by taking the multi-function device 10 and the router 7 as an example, the multi-function device 11 and the router 8 are similar to the multi-function device 10 and the router 7. Although the push service has been described by taking the service server 100 as an example, the same applies to the service server 120.

<サービスサーバ100の構成>
サービスサーバ100は、オンラインサービスに用いられるサーバである。オンラインサービスの一例としては、多機能機10および11の保守点検サービスや、多機能機10および11への遠隔設定サービスなどが挙げられる。サービスサーバ100は、インターネット6を介して多機能機10および11にアクセスし、多機能機10および11からトナー残量などの各種の情報を取得したり、多機能機10および11の設定を書き換えたりする処理を行う。
<Configuration of service server 100>
The service server 100 is a server used for online services. Examples of online services include a maintenance and inspection service for the multi-function devices 10 and 11, and a remote setting service for the multi-function devices 10 and 11. The service server 100 accesses the multi-function devices 10 and 11 via the Internet 6 to obtain various information such as the remaining amount of toner from the multi-function devices 10 and 11 and rewrites the settings of the multi-function devices 10 and 11. Or process it.

サービスサーバ100は、制御部102を備えている。制御部102は、CPU103およびメモリ104を備えている。メモリ104には、データ記憶領域105が備えられている。データ記憶領域105は、各種のデータを記憶しておく領域である。なお、サービスサーバ110、120の構成は、基本的はサービスサーバ100と同様であるので、説明を省略する。 The service server 100 includes a control unit 102. The control unit 102 includes a CPU 103 and a memory 104. The memory 104 is provided with a data storage area 105. The data storage area 105 is an area for storing various data. The configuration of the service servers 110 and 120 is basically the same as that of the service server 100, and the description thereof will be omitted.

<多機能機10の動作>
図2および図3のフローを用いて、多機能機10で、アプリケーションプログラム25に基づいて行なわれるアプリケーション処理について説明する。なお、多機能装置11で行なわれる処理は、多機能機10で行なわれる処理と同様であるため、説明は省略する。図2および図3のフローは、例えば、多機能機10の電源が投入されることに応じて開始されてもよい。
<Operation of multi-function device 10>
Application processing performed by the multi-function device 10 based on the application program 25 will be described with reference to the flows of FIGS. 2 and 3. Note that the processing performed by the multi-function device 11 is the same as the processing performed by the multi-function device 10, so description thereof will be omitted. The flows of FIGS. 2 and 3 may be started, for example, when the power of the multi-function device 10 is turned on.

S211においてCPU22は、セッション維持モードが「オン」に設定されているか否かを判断する。S211は、多機能機10の起動時に行なわれても良い。起動時の一例としては、多機能機10の電源が投入された場合や、電源が投入されたあとに起動を指示するユーザ操作を受けた場合などが挙げられる。当該判断は、メモリ24に記憶されているモード情報に基づいて判断するとしてもよい。セッション維持モードが「オン」に設定されていない場合(S211:NO)には、S213へ進む。 In S211, the CPU 22 determines whether the session keeping mode is set to "ON". S211 may be performed when the multi-function device 10 is activated. An example of the activation is when the power of the multi-function device 10 is turned on, or when a user operation for instructing activation is received after the power is turned on. The determination may be made based on the mode information stored in the memory 24. When the session maintenance mode is not set to "ON" (S211: NO), the process proceeds to S213.

S213においてCPU22は、入力イベントが発生したか否かを判断する。入力イベントが発生したか否かは、例えば操作部12へのユーザ入力があった場合に、図示しないオペレーティングシステムが出力するイベント情報に基づいて判断されるとしてもよい。入力イベントが発生していない場合(S213:NO)にはS213へ戻り、発生した場合(S213:YES)にはS215へ進む。S215においてCPU22は、セッション維持モードを「オン」にする操作によって入力イベントが発生したのか否かを判断する。否定判断される場合(S215:NO)にはS217へ進み、CPU22は、入力された操作に応じた処理を実行し、S213へ戻る。一方、肯定判断される場合(S215:YES)にはS219へ進み、メモリ24に記憶されているモード情報を「オン」に設定し、S211へ戻る。 In S213, the CPU 22 determines whether an input event has occurred. Whether or not an input event has occurred may be determined based on event information output by an operating system (not shown) when, for example, a user input is made on the operation unit 12. If the input event has not occurred (S213: NO), the process returns to S213, and if it has occurred (S213: YES), the process proceeds to S215. In S215, the CPU 22 determines whether or not an input event has occurred by the operation of turning the session maintenance mode on. When a negative determination is made (S215: NO), the process proceeds to S217, the CPU 22 executes a process according to the input operation, and returns to S213. On the other hand, when an affirmative determination is made (S215: YES), the process proceeds to S219, the mode information stored in the memory 24 is set to "ON", and the process returns to S211.

発生した入力イベントが、プルサービスの利用を指示する操作によって発生した入力イベントである場合、S217において、CPU22は、プロトコル処理を介して、サービスサーバ110を送信先として、プルサービスの利用を要求する要求情報を含むHTTPリクエスト情報を送信させる。そして、サービスサーバ110が送信した、プルサービスの利用に関連する応答情報を含むHTTPレスポンス情報をネットワークインターフェース16が受信すると、CPU22は、プルサービスの利用に関連する応答情報を取得し、プルサービスの利用に関する処理を実行する。HTTPレスポンス情報に含まれるコンテンツデータに基づく画像を多機能機10において形成させる処理や、HTTPレスポンス情報に含まれるコンテンツデータをメモリ24に記憶させる処理などが、プルサービス方式のダウンロードサービスの利用に関する処理の例である。HTTPリクエスト情報に含まれたコンテンツデータをサービスサーバ110に記憶させた、あるいは、サービスサーバ110から他の装置に転送させたことを示す応答情報を取得し、サービスの実行状況をユーザに報知する処理が、プルサービス方式のアップロードサービスの利用に関する処理の例である。 When the generated input event is the input event generated by the operation of instructing the use of the pull service, the CPU 22 requests the use of the pull service via the protocol process with the service server 110 as the transmission destination in S217. The HTTP request information including the request information is transmitted. Then, when the network interface 16 receives the HTTP response information including the response information related to the use of the pull service transmitted by the service server 110, the CPU 22 acquires the response information related to the use of the pull service and acquires the response information of the pull service. Perform processing related to usage. The process of forming an image based on the content data included in the HTTP response information in the multi-function peripheral 10, the process of storing the content data included in the HTTP response information in the memory 24, and the like are processes related to the use of the pull service download service. Is an example of. A process of acquiring response information indicating that the content data included in the HTTP request information is stored in the service server 110 or transferred from the service server 110 to another device, and informing the user of the execution status of the service Is an example of processing related to the use of the pull service type upload service.

一方、S211において、セッション維持モードが「オン」に設定されていると判断される場合(S211:YES)には、S231へ進む。S231においてCPU22は、レジスタ処理を実行する。レジスタ処理は、多機能機10のレジスタ情報を、仲介サーバ60のデバイスデータベース76に登録する処理である。レジスタ情報には、デバイスID、能力情報、などの各種情報が含まれている。デバイスIDは、多機能機10を識別するための情報である。デバイスIDは、後述する要求情報の送信先の多機能機を識別するために用いられる。デバイスIDの一例としては、多機能機10の製造シリアル番号が挙げられる。能力情報は、メモリ容量や印刷可能な用紙サイズなど、多機能機10の各種の能力を示す情報である。レジスタ処理は、HTTPに基づく通信によって行なわれてもよい。 On the other hand, when it is determined in S211 that the session maintenance mode is set to “ON” (S211: YES), the process proceeds to S231. In S231, the CPU 22 executes register processing. The register process is a process of registering the register information of the multi-function peripheral 10 in the device database 76 of the mediation server 60. The register information includes various information such as device ID and capability information. The device ID is information for identifying the multi-function device 10. The device ID is used to identify a multi-function peripheral that is a destination of request information to be described later. An example of the device ID is the manufacturing serial number of the multi-function device 10. The capability information is information indicating various capabilities of the multi-function device 10, such as memory capacity and printable paper size. The register process may be performed by HTTP-based communication.

S233においてCPU22は、メモリ24に記憶されているセッション維持情報に基づいて、たとえば、仲介サーバ60のIPアドレスをプロトコルスタック26に伝達し、セッション確立型のプロトコルであるXMPP over BOSHに従ったXMPPセッションを仲介サーバ60と確立するためのプロトコル処理を、プロトコルスタック26に行わせる。なお、多機能機10と仲介サーバ60の間にXMPPセッションが確立している状態のときに、多機能機11と仲介サーバ60との間のXMPPセッションが新たに確立されてもよい。逆の場合も同様である。 In S233, the CPU 22 transmits the IP address of the mediation server 60 to the protocol stack 26 based on the session maintenance information stored in the memory 24, and the XMPP session according to the session establishment type protocol XMPP over BOSH. The protocol stack 26 is caused to perform a protocol process for establishing the connection with the mediation server 60. When the XMPP session is established between the multi-function peripheral 10 and the mediation server 60, the XMPP session between the multi-function peripheral 11 and the mediation server 60 may be newly established. The same applies to the opposite case.

XMPPセッションを確立するための具体的な手順について説明する。多機能機10は、XMPP over BOSHに従って、XMPPセッションで利用されるべきセッションIDの送信を仲介サーバ60に要求するための第1の要求情報を含むHTTPリクエスト情報を送信する。第1の要求情報を含むHTTPリクエスト情報を、XMPPセッション確立要求情報とも記載する。 A specific procedure for establishing an XMPP session will be described. According to XMPP over BOSH, the multi-function device 10 transmits HTTP request information including the first request information for requesting the intermediary server 60 to transmit the session ID to be used in the XMPP session. The HTTP request information including the first request information is also described as XMPP session establishment request information.

仲介サーバ60は、多機能機10が送信したXMPPセッション確立要求情報を受信することで取得した場合に、セッションIDを生成して、XMPP over BOSHに従って、セッションIDを含むHTTPレスポンス情報を返信する。 The mediation server 60, when acquired by receiving the XMPP session establishment request information transmitted by the multi-function peripheral 10, generates a session ID and returns HTTP response information including the session ID according to XMPP over BOSH.

多機能機10は、仲介サーバ60が送信したセッションIDを受信することで取得した場合に、XMPP over BOSHに従って、取得したセッションIDと、セッションIDを取得したことを仲介サーバ60に通知するための通知情報を含むHTTPリクエスト情報を送信する。 When the multi-function device 10 acquires the session ID transmitted by the mediation server 60, the multi-function device 10 notifies the mediation server 60 of the acquired session ID and the acquired session ID according to XMPP over BOSH. The HTTP request information including the notification information is transmitted.

仲介サーバ60は、多機能機10が送信した、セッションIDと、通知情報と、を含むHTTPリクエスト情報を受信した場合に、XMPP over BOSHに従って、OKを示す応答情報を含むHTTPレスポンス情報を返信する。このように、XMPP over BOSHに従った各種情報の送受信を通じて、多機能機10及び仲介サーバ60が、共通のセッションIDを取得することで、XMPPセッションが確立する。以降、XMPP over BOSHに従って、このセッションIDと、各種情報と、を含むHTTPリクエスト情報を送信することで、確立したXMPPセッションを用いた情報の送信が行われる。確立したXMPPセッションを用いた情報を取得した側では、セッションIDによって、取得した情報が、確立したXMPPセッションを用いて送信された情報であることを認識できる。 When the intermediation server 60 receives the HTTP request information including the session ID and the notification information transmitted by the multi-function device 10, the intermediation server 60 returns the HTTP response information including the response information indicating OK according to XMPP over BOSH. .. In this way, the multi-function device 10 and the intermediation server 60 acquire a common session ID through transmission and reception of various information according to XMPP over BOSH, whereby an XMPP session is established. Thereafter, according to XMPP over BOSH, the HTTP request information including this session ID and various information is transmitted, so that the information is transmitted using the established XMPP session. The side that has acquired the information using the established XMPP session can recognize from the session ID that the acquired information is the information transmitted using the established XMPP session.

XMPP over BOSH処理によって、XMPPセッションが確立したことを示すイベント情報が出力され、確立したセッションを識別する情報が、アプリケーション処理に伝達される。これにより、アプリケーション処理において、CPU22は、XMPPセッションの確立を認識することができる。XMPPセッションの確立を認識すると、CPU22は、S234へ進む。 The XMPP over BOSH process outputs event information indicating that an XMPP session has been established, and information for identifying the established session is transmitted to the application process. Thereby, in the application processing, the CPU 22 can recognize the establishment of the XMPP session. When recognizing the establishment of the XMPP session, the CPU 22 advances to S234.

S234においてCPU22は、後述するタイムアップ情報がメモリ24に記憶されているか否かを判断する。S234において否定判断される場合(S234:NO)には、S236に進む。S236において、CPU22は、確立したセッションを用いて、XMPP over BOSHに従ったコネクションであるXMPPコネクションを仲介サーバ60との間で確立するためのプロトコル処理を、プロトコルスタック26に行わせる。 In S234, the CPU 22 determines whether or not time-up information, which will be described later, is stored in the memory 24. When a negative determination is made in S234 (S234: NO), the process proceeds to S236. In S236, the CPU 22 causes the protocol stack 26 to perform the protocol processing for establishing the XMPP connection, which is the connection according to XMPP over BOSH, with the intermediation server 60 using the established session.

XMPPコネクションを確立するための具体的な手順について説明する。多機能機10は、XMPP over BOSHに従って、仲介サーバ60との間で確立したセッションを識別するセッションIDと、XMPPコネクションの確立を要求するための第2の要求情報を含むHTTPリクエスト情報を、仲介サーバ60を送信先として送信する。第2の要求情報は、仲介サーバ60から送信される、プッシュサービスの提供に関連する情報を含む、XMPP over BOSHに従ったHTTPレスポンス情報を、を、多機能機10まで伝達するために必要な情報である。第2の要求情報を含むHTTPリクエスト情報のことを、XMPPコネクション確立要求情報とも記載する。ルータ7が、XMPPコネクション確立要求情報を、インターネット6に転送し、転送されたHTTPリクエスト情報を仲介サーバ60が受信することで、プルサービスの説明において先に述べた仕組みにより、多機能機10と仲介サーバ60との間でHTTPコネクションが確立される。このように、XMPP over BOSHに従った手順で確立されたHTTPコネクションが、XMPPコネクションである。なお、プッシュサービスの提供に関連する情報には、サービスサーバ100が仲介サーバに送信したGETリクエスト情報や、SETリクエスト情報が挙げられる。GETリクエスト情報は、オブジェクトIDによって指定される情報の返信を、サービスサーバ100が多機能機10に要求するために用いられるコマンド情報である。SETリクエスト情報は、オブジェクトIDによって指定される情報に従った設定変更を、多機能機10に要求するために用いられるコマンド情報である。オブジェクトIDによって指定される情報の例としては、MACアドレスを示す情報、IPアドレスを示す情報、多機能機10の装置状態を示す各種情報(例:トナー残量情報)、などが挙げられる。 A specific procedure for establishing the XMPP connection will be described. According to XMPP over BOSH, the multi-function device 10 mediates the session ID for identifying the session established with the mediation server 60 and the HTTP request information including the second request information for requesting the establishment of the XMPP connection. The server 60 is transmitted as the destination. The second request information is necessary for transmitting the HTTP response information according to XMPP over BOSH including the information related to the provision of the push service, which is transmitted from the mediation server 60, to the multi-function device 10. It is information. The HTTP request information including the second request information is also referred to as XMPP connection establishment request information. The router 7 transfers the XMPP connection establishment request information to the Internet 6 and the transferred HTTP request information is received by the mediation server 60, so that the multi-function device 10 and the multi-function device 10 are operated by the mechanism described above in the description of the pull service. An HTTP connection is established with the mediation server 60. In this way, the HTTP connection established by the procedure according to XMPP over BOSH is the XMPP connection. The information related to the provision of the push service includes GET request information and SET request information transmitted by the service server 100 to the mediation server. The GET request information is command information used by the service server 100 to request the multi-function peripheral 10 to return the information specified by the object ID. The SET request information is command information used to request the multi-function peripheral 10 to change the setting according to the information specified by the object ID. Examples of the information designated by the object ID include information indicating the MAC address, information indicating the IP address, various information indicating the device state of the multi-function device 10 (example: toner remaining amount information), and the like.

仲介サーバ60は、XMPPコネクションが確立したときに、サービスサーバ100によるプッシュサービスの提供タイミングであれば、XMPPコネクション確立要求情報に対するHTTPレスポンス情報に、SETリクエスト情報、またはGETリクエスト情報などを含ませて、多機能機10を送信先として送信する。XMPPコネクション確立要求情報に対するHTTPレスポンス情報のことを、XMPPレスポンス情報とも記載する。 When the XMPP connection is established, the mediation server 60 includes the SET request information or the GET request information in the HTTP response information for the XMPP connection establishment request information if the push service is provided by the service server 100. , The multi-function device 10 is transmitted as the transmission destination. The HTTP response information for the XMPP connection establishment request information is also referred to as XMPP response information.

一方で、仲介サーバ60は、XMPPコネクションが確立したときに、サービスサーバ100によるプッシュサービスの提供タイミングでなければ、プッシュサービスの提供タイミングになってから、XMPPレスポンス情報に、SETリクエスト情報、またはGETリクエスト情報などを含ませて、多機能機10を送信先として送信する。このように、多機能機10からのリクエスト情報を受信したタイミングで必ずしもレスポンス情報を送信する必要なく、サービスサーバ側のプッシュサービスの提供タイミングを直接の契機として、XMPPレスポンス情報を、多機能機10を送信先として送信することを、サーバプッシュとも記載する。 On the other hand, when the XMPP connection is established and the push service is not provided by the service server 100 when the XMPP connection is established, the intermediary server 60 uses the XMPP response information, SET request information, or GET after the push service is provided. The multi-function device 10 is transmitted as a destination including the request information and the like. As described above, it is not always necessary to transmit the response information at the timing when the request information from the multi-function device 10 is received, and the XMPP response information is sent to the multi-function device 10 with the timing of providing the push service on the service server side as a direct trigger. Sending as a destination is also referred to as server push.

仲介サーバ60が送信する、XMPPレスポンス情報は、セッションIDを含まない。ただし、当該XMPPレスポンス情報には、XMPPコネクション確立要求情報に対するHTTPレスポンス情報であることを識別可能な情報は含まれているので、XMPPレスポンス情報を取得した多機能機10では、XMPPセッションを利用して返信された情報であることを認識できる。 The XMPP response information transmitted by the mediation server 60 does not include the session ID. However, since the XMPP response information includes information that can be identified as HTTP response information for the XMPP connection establishment request information, the multi-function device 10 that has acquired the XMPP response information uses the XMPP session. It is possible to recognize that the information has been returned.

なお、XMPPセッションの確立や、XMPPコネクションの確立、XMPPリクエスト情報の送信、XMPPレスポンス情報の送信がHTTPによって行われていることからわかるように、XMPP over BOSHはHTTPを利用する上位プロトコルであり、HTTPはXMPP over BOSHに利用される下位プロトコルである。下位のプロトコル処理は、ネットワークインターフェース16を介して取得した情報を上位のプロトコル処理に伝達し、上位のプロトコル処理は、伝達された情報を処理する。上位のプロトコル処理は、ネットワークインターフェース16を介して送信させたい情報を下位のプロトコル処理に伝達し、下位のプロトコル処理は、伝達された情報を処理する。すなわち、多機能機10は、HTTPのプロトコルスタックを、プルサービスの利用とプッシュサービスの利用との双方に用いている。 As can be seen from the fact that the XMPP session is established, the XMPP connection is established, the XMPP request information is transmitted, and the XMPP response information is transmitted by HTTP, XMPP over BOSH is a higher-level protocol that uses HTTP. HTTP is a lower protocol used for XMPP over BOSH. The lower protocol processing transfers the information acquired via the network interface 16 to the upper protocol processing, and the upper protocol processing processes the transferred information. The upper protocol processing transfers the information to be transmitted via the network interface 16 to the lower protocol processing, and the lower protocol processing processes the transferred information. That is, the multi-function device 10 uses the HTTP protocol stack for both use of the pull service and use of the push service.

S237においてCPU22は、不図示のタイマーをスタートさせる。タイマーのタイムアップ時間は、予め定められるとしてもよい。タイムアップ時間は、例えば1分に設定されてもよい。 In S237, the CPU 22 starts a timer (not shown). The time-up time of the timer may be predetermined. The time-up time may be set to 1 minute, for example.

S238においてCPU22は、イベントが発生したか否かを判断する。発生していない場合(S238:NO)にはS238へ戻り、発生した場合(S238:YES)にはS239へ進む。S239においてCPU22は、S238で検出されたイベントが、S237でスタートさせたタイマーのタイムアップであるか否かを判断する。タイマーのタイムアップである場合(S239:YES)にはS240へ進み、メモリ24にタイムアップ情報を記憶させ、S234に戻る。 In S238, the CPU 22 determines whether an event has occurred. If it has not occurred (S238: NO), the process returns to S238, and if it has occurred (S238: YES), the process proceeds to S239. In S239, the CPU 22 determines whether the event detected in S238 is the time-up of the timer started in S237. When it is the time-up of the timer (S239: YES), the process proceeds to S240, the time-up information is stored in the memory 24, and the process returns to S234.

一方、S234において肯定判断される場合(S234:YES)には、S235に進む。S235においてCPU22は、メモリ24に記憶されているタイムアップ情報を削除し、S241に進む。 On the other hand, if an affirmative decision is made in S234 (S234: YES), the operation proceeds to S235. In S235, the CPU 22 deletes the time-up information stored in the memory 24, and proceeds to S241.

S241においてCPU22は、プロトコル処理を介して、HTTPを用いて、仲介サーバ60を送信先とした生存通知情報を送信させる。生存通知情報は、S233で確立したXMPPセッションが確立していると多機能機10が認識していることを示すための情報を含む。なお、仲介サーバ60のプロトコル処理において、S233で確立したXMPPセッションが有効であると認識できていない場合、XMPPセッションを用いた情報は、仲介サーバ60におけるアプリケーション処理まで伝達されない。しかしながら、S241では、HTTPを用いて生存通知情報を送信させているため、仲介サーバ60のプロトコル処理において、S233で確立したXMPPセッションが有効であると認識できていない場合であっても、仲介サーバ60におけるアプリケーション処理まで生存通知情報が伝達される。そしてS242においてタイマーを再スタートさせ、S244に進む。 In S241, the CPU 22 uses HTTP to transmit the survival notification information with the intermediary server 60 as the transmission destination through the protocol processing. The survival notification information includes information for indicating that the multi-function device 10 recognizes that the XMPP session established in S233 is established. In the protocol processing of the mediation server 60, if the XMPP session established in S233 is not recognized as valid, the information using the XMPP session is not transmitted until the application processing in the mediation server 60. However, in S241, since the survival notification information is transmitted using HTTP, even if the XMPP session established in S233 cannot be recognized to be valid in the protocol processing of the mediation server 60, the mediation server is not recognized. The survival notification information is transmitted until the application processing in 60. Then, in S242, the timer is restarted, and the process proceeds to S244.

S244において、CPU22は、生存通知情報に対して仲介サーバ60がHTTPを用いて返信した生存応答情報を、プロトコル処理を介して取得したか否かを判断する。生存応答情報は、S233で確立したXMPPセッションが確立していることを仲介サーバ60が認識していることを示すための情報を含んでいる。肯定判断である場合(S244:YES)には、S236に進み、仲介サーバ60との間で、新たなXMPPコネクションの確立を行う。一方、否定判断である場合(S244:NO)には、S246に進み、生存通知情報の送信から所定時間が経過しているか否かを判断する。否定判断である場合(S246:NO)には、S244の判断に戻る。また、肯定判断である場合(S246:YES)には、S233に戻り、仲介サーバとの間で、新たなXMPPセッションの確立を行う。 In S244, the CPU 22 determines whether or not the survival response information returned by the mediation server 60 using HTTP to the survival notification information has been acquired through protocol processing. The survival response information includes information for indicating that the mediation server 60 recognizes that the XMPP session established in S233 is established. When the determination is affirmative (S244: YES), the process proceeds to S236, and a new XMPP connection is established with the mediation server 60. On the other hand, when the determination is negative (S244: NO), the process proceeds to S246, and it is determined whether or not a predetermined time has elapsed from the transmission of the survival notification information. When the determination is negative (S246: NO), the process returns to the determination of S244. When the determination is affirmative (S246: YES), the process returns to S233, and a new XMPP session is established with the intermediary server.

このように、XMPPコネクションの確立からタイムアップ時間の経過までに、SETリクエスト情報、またはGETリクエスト情報などを含んだ、XMPPレスポンス情報の受信を確認できなかった場合には、生存通知情報を仲介サーバに送信することで、XMPPセッションが確立していると多機能機10が認識していることを仲介サーバ60に通知する。このように、生存応答情報を仲介サーバ60から受信することで、XMPPセッションが確立していると仲介サーバ60が認識していることを、多機能機10の側で認識する。 As described above, when the reception of the XMPP response information including the SET request information or the GET request information cannot be confirmed from the establishment of the XMPP connection to the elapse of the time-up time, the existence notification information is transmitted to the mediation server. To the intermediary server 60 that the multi-function peripheral 10 recognizes that the XMPP session has been established. As described above, by receiving the survival response information from the intermediary server 60, the multi-function peripheral 10 recognizes that the intermediary server 60 recognizes that the XMPP session is established.

そして、生存応答情報に基づいて、XMPPセッションが確立していると仲介サーバ60が認識していることを認識できた場合には、XMPPコネクションが切断されている可能性があるので、新たにXMPPコネクションを確立させることで、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を行う。XMPPコネクションの確立から、XMPPレスポンス情報の返信がしばらくなかったがために、多機能機10から仲介サーバ60までの間にある機器、たとえば、ルータ7などが、XMPPコネクション確立要求情報をインターネット6に転送したことを示す情報や、多機能機10のプライベートIPアドレスを示す情報などを、削除してしまった場合などが、XMPPコネクションが切断された場合の例である。 Then, if the mediation server 60 can recognize that the XMPP session is established based on the survival response information, the XMPP connection may have been disconnected. By establishing the connection, preparations are made for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function peripheral 10. Since the XMPP connection information was not returned for a while after the establishment of the XMPP connection, the device between the multi-function peripheral 10 and the mediation server 60, for example, the router 7 or the like sends the XMPP connection establishment request information to the Internet 6. The case where the information indicating the transfer, the information indicating the private IP address of the multi-function device 10, and the like are deleted is an example of the case where the XMPP connection is disconnected.

一方、生存応答情報を受信できず、XMPPセッションが確立していると仲介サーバ60が認識していることを認識できなかった場合には、XMPPセッションが切断されている可能性があるので、新たにXMPPセッションを確立させ、さらに、XMPPコネクションを確立させることで、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を行う。仲介サーバ60がリセットされるなどによって、仲介サーバ60においてセッションIDや、確立したXMPPセッションを識別する情報などを削除してしまった場合などが、XMPPセッションが切断された場合の例である。
また、仲介サーバ60のプロトコル処理によって、XMPPレスポンス情報の送信を長時間行っていないXMPPセッションについて、そのXMPPセッションを識別する情報などを削除してしまった場合などが、XMPPセッションが切断された場合の例である。
On the other hand, if the survival response information cannot be received and the intermediary server 60 cannot recognize that the XMPP session has been established, the XMPP session may have been disconnected. To establish the XMPP session, and further to establish the XMPP connection, thereby preparing for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function device 10. An example of a case where the XMPP session is disconnected is a case where the session ID, information for identifying the established XMPP session, or the like is deleted in the mediation server 60 due to the mediation server 60 being reset or the like.
When the XMPP session is disconnected, such as when the protocol processing of the mediation server 60 deletes the information for identifying the XMPP session for which the XMPP response information has not been transmitted for a long time. Is an example of.

このように、生存通知情報の送信と生存応答情報の確認に基づいて、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を、タイムアップ時間の経過ごとに行っている。このように、多機能機10では、常時、サービスサーバ100によるプッシュサービスの提供タイミングになったときに、SETリクエスト情報、またはGETリクエスト情報などを含んだXMPPレスポンス情報を受信することができる準備ができていることになる。すなわち、常時、多機能機10に、プッシュサービスを利用させることができる。 As described above, the preparation for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function peripheral 10 is performed every time the time-up time elapses based on the transmission of the survival notification information and the confirmation of the survival response information. There is. As described above, the multifunctional device 10 is always ready to receive the XMPP response information including the SET request information or the GET request information when the push service is provided by the service server 100. It is done. That is, the multi-function device 10 can always use the push service.

なお、本実施形態では、XMPPコネクションの確立から、タイムアップ時間の経過までに、XMPPコネクションが切断されている可能性がある。すなわち、本実施形態の説明で述べている「常時」は、ほとんどの時間プッシュサービスを利用できれば、わずかな時間だけ、プッシュサービスを利用できない時間があってもよい、という程度の概念である。 In the present embodiment, there is a possibility that the XMPP connection is disconnected from the establishment of the XMPP connection until the elapse of the time-up time. That is, "always" described in the description of the present embodiment is a concept such that if the push service can be used most of the time, there may be a time when the push service cannot be used for a short time.

なお、タイムアップ時間は、XMPPコネクションの確立から、XMPPレスポンス情報の返信がしばらくなかったとしても、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションの切断をしないであろう時間を設定しておくと、都合が良い。たとえば、1分を設定しておいてもよい。もちろん、1分より長い時間を設定しておいてもよい。また、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションを切断することがほとんどない場合、タイムアップ時間をごく長く設定しておいてもよい。たとえば、24時間を設定しておいてもよい。また、タイムアップ時間を用いた、生存通知情報の送信以降の処理を一切行わないようにしてもよい。 The time-up time is the time at which the device between the multi-function peripheral 10 and the mediation server 60 will not disconnect the XMPP connection even if the XMPP response information is not returned for a while after the establishment of the XMPP connection. It is convenient to set. For example, 1 minute may be set. Of course, a time longer than 1 minute may be set. If the device between the multi-function peripheral 10 and the mediation server 60 rarely disconnects the XMPP connection, the time-up time may be set to be very long. For example, 24 hours may be set. Further, it is possible not to perform any processing after the transmission of the survival notification information using the time-up time.

また、S239において、イベントがタイマーのタイムアップではないと判断された場合(S239:NO)には、S251へ進む。S251においてCPU22は、S238で検出されたイベントが、ネットワークインターフェース16が第2要求情報を受信したことによって発生したイベントであるか否かを判断する。第2要求情報は、XMPPセッションを介して、仲介サーバ60から多機能機10へ送信される情報である。第2要求情報の一例としては、サービスサーバ100が仲介サーバに送信したGETリクエスト情報や、SETリクエスト情報を、多機能機10を送信先として転送した情報が挙げられる。 When it is determined in S239 that the event is not the time-up of the timer (S239: NO), the process proceeds to S251. In S251, the CPU 22 determines whether the event detected in S238 is an event generated by the network interface 16 receiving the second request information. The second request information is information transmitted from the intermediation server 60 to the multi-function device 10 via the XMPP session. Examples of the second request information include GET request information transmitted by the service server 100 to the intermediary server and information obtained by transferring the SET request information to the multi-function peripheral 10 as a transmission destination.

S251において肯定判断される場合(S251:YES)には、S261へ進む。S261においてCPU22は、第2要求情報を解析して、第2要求情報に対応する応答情報を取得する。第2要求情報がGETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶されたMACアドレスを示す情報、IPアドレスを示す情報、多機能機10の装置状態を示す各種情報などを、オペレーティングシステムを介して読み出すことで取得することが、応答情報の取得の例である。第2要求情報がSETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶された設定情報などを、オペレーティングシステムを介して変更し、変更結果を示す情報を生成することで取得することが、応答情報の取得の例である。 If an affirmative decision is made in S251 (S251: YES), the operation proceeds to S261. In S261, the CPU 22 analyzes the second request information and acquires the response information corresponding to the second request information. When the second request information is GET request information, the information indicating the MAC address stored in the memory 24, the information indicating the IP address, the various information indicating the device state of the multi-function peripheral 10, etc., which are designated by the object ID. Is obtained by reading through the operating system, which is an example of obtaining response information. When the second request information is the SET request information, the setting information or the like stored in the memory 24, which is designated by the object ID, is changed by the operating system, and is acquired by generating the information indicating the change result. Doing is an example of acquisition of response information.

またCPU22は、第2要求情報に含まれていたリクエストIDを、応答情報に組み込む。例えば、第2要求情報がGETリクエスト情報である場合には、CPU22は、GETリクエスト情報に含まれているオブジェクトIDによって指定される情報を含んだGETレスポンス情報を生成する。また例えば、第2要求情報がSETリクエスト情報である場合には、CPU22は、SETリクエスト情報に含まれているオブジェクトIDによって指定される情報を変更するなどの設定処理を実行したことを示す情報を含んだSETレスポンス情報を生成する。 Further, the CPU 22 incorporates the request ID included in the second request information into the response information. For example, when the second request information is GET request information, the CPU 22 generates GET response information including the information specified by the object ID included in the GET request information. Further, for example, when the second request information is the SET request information, the CPU 22 displays information indicating that the setting process such as changing the information specified by the object ID included in the SET request information is executed. The included SET response information is generated.

S265においてCPU22は、コネクションレス型のプロトコルであるHTTPに従って、プロトコル処理を介して、S261で生成した応答情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信させる。 In S265, the CPU 22 causes the intermediary server 60 to transmit the HTTP request information including the response information generated in S261 through the protocol processing according to HTTP which is a connectionless protocol.

S267においてCPU22は、S265で送信したHTTPリクエスト情報に応答して、仲介サーバ60が多機能機10へ送信したHTTPレスポンス情報を、ネットワークインターフェース16が受信したか否かを判断する。受信していない場合(S267:NO)にはS267へ戻る。一方、受信した場合(S267:YES)にはS236へ戻り、仲介サーバ60との間のXMPPコネクションを新たに確立するための処理を行うので、多機能機10は、再度プッシュサービスを利用することが可能になる。 In S267, the CPU 22 determines whether or not the network interface 16 has received the HTTP response information transmitted by the mediation server 60 to the multi-function peripheral 10 in response to the HTTP request information transmitted in S265. When not received (S267:NO), it returns to S267. On the other hand, if received (S267: YES), the processing returns to S236 and performs processing for newly establishing an XMPP connection with the mediation server 60, so the multi-function device 10 must use the push service again. Will be possible.

一方、S251において、S238で検出されたイベントが第2要求情報の受信ではないと判断された場合(S251:NO)には、S253へ進む。S253においてCPU22は、S238で検出されたイベントが、セッション維持モードを「オフ」にする操作によって入力イベントが発生したのであるか否かを判断する。否定判断される場合(S253:NO)にはS257へ進み、S217と同様に、CPU22は、入力された操作に応じた処理を実行し、S238へ戻る。一方、肯定判断される場合(S253:YES)にはS255へ進み、メモリ24に記憶されているモード情報を「オフ」に設定し、S211へ戻る。 On the other hand, when it is determined in S251 that the event detected in S238 is not the reception of the second request information (S251: NO), the process proceeds to S253. In S253, the CPU 22 determines whether or not the event detected in S238 is an input event generated by the operation of turning the session maintenance mode “off”. When a negative determination is made (S253: NO), the process proceeds to S257, and similarly to S217, the CPU 22 executes a process according to the input operation, and returns to S238. On the other hand, when an affirmative determination is made (S253: YES), the process proceeds to S255, the mode information stored in the memory 24 is set to "off", and the process returns to S211.

<仲介サーバ60の動作>
図4および図5のフローを用いて、仲介サーバ60の詳細な動作について説明する。図4のフローは、例えば、仲介サーバ60の電源が投入されることに応じて開始されてもよい。S311においてCPU72は、管理タイマー処理をスタートさせる。管理タイマー処理については後述する。S313においてCPU72は、イベントが発生したか否かを判断する。発生していない場合(S313:NO)にはS313へ戻り、発生した場合(S313:YES)にはS315へ進む。S315においてCPU72は、発生したイベントが、多機能機10または11からのレジスタ情報をネットワークインターフェース62が受信したことによって発生したイベントであるか否かを判断する。肯定判断される場合(S315:YES)にはS317へ進み、CPU72は、受信したレジスタ情報をデバイスデータベース76に登録する。そしてS313へ戻る。
<Operation of Mediation Server 60>
The detailed operation of the mediation server 60 will be described with reference to the flows of FIGS. 4 and 5. The flow of FIG. 4 may be started, for example, when the power of the mediation server 60 is turned on. In S311, the CPU 72 starts the management timer process. The management timer process will be described later. In S313, the CPU 72 determines whether an event has occurred. If it has not occurred (S313: NO), the process returns to S313, and if it has occurred (S313: YES), the process proceeds to S315. In S315, the CPU 72 determines whether or not the generated event is an event generated by the network interface 62 receiving the register information from the multi-function peripheral 10 or 11. When an affirmative determination is made (S315: YES), the process proceeds to S317, and the CPU 72 registers the received register information in the device database 76. Then, the process returns to S313.

なお、CPU72は、レジスタ情報の受信に際して、PINコードなどの認証情報を用いて、多機能機10または11を認証してもよい。この場合、CPU72は、多機能機10または11レジスタ情報を登録すべき装置であると認証できた場合に、レジスタ情報をデバイスデータベース76に登録してもよい。 The CPU 72 may authenticate the multi-function device 10 or 11 by using the authentication information such as the PIN code when receiving the register information. In this case, the CPU 72 may register the register information in the device database 76 when it is able to authenticate the multifunctional device 10 or 11 as the device that should register the register information.

一方、S315において否定判断される場合(S315:NO)には、S321へ進む。S321においてCPU72は、発生したイベントが、プロトコル処理によって多機能機10または11との間でXMPPセッションが確立したことにより発生したイベントであるか否かを判断する。プロトコル処理では、<多機能機10の動作>のタイトルを付した部分において先に説明した手順で、XMPPセッションの確立が行われる。肯定判断される場合(S321:YES)には、S323へ進む。 On the other hand, when a negative determination is made in S315 (S315: NO), the process proceeds to S321. In S321, the CPU 72 determines whether the generated event is an event generated by the establishment of an XMPP session with the multi-function peripheral 10 or 11 by protocol processing. In the protocol processing, the XMPP session is established according to the procedure described above in the section titled <Operation of Multi-function Device 10>. When a positive determination is made (S321: YES), the process proceeds to S323.

S323においてCPU72は、XMPPセッションを確立した多機能機に関する通信ステータス情報およびリクエストIDを記憶する領域が、多機能機管理データベース77に存在するか否かを判断する。存在する場合(S323:YES)にはS313へ戻り、存在しない場合(S323:NO)にはS325へ進む。S325においてCPU72は、多機能機管理データベース77に、XMPPセッションを確立した多機能機に関する通信ステータス情報およびリクエストIDを記憶する領域を生成する。そしてS313へ戻る。 In S323, the CPU 72 determines whether or not the area for storing the communication status information and the request ID regarding the multi-function peripheral that has established the XMPP session exists in the multi-function peripheral management database 77. When it exists (S323:YES), it returns to S313, and when it does not exist (S323:NO), it progresses to S325. In S325, the CPU 72 creates an area in the multi-function peripheral management database 77 for storing communication status information and request ID regarding the multi-function peripheral that has established the XMPP session. Then, the process returns to S313.

一方、発生したイベントがXMPPセッションが確立したことにより発生したイベントではない場合(S321:NO)には、S341へ進む。S341においてCPU72は、発生したイベントが、XMPPセッションを確立した多機能機との間で、プロトコル処理によって、XMPPコネクションが確立したことにより発生したイベントであるか否かを判断する。プロトコル処理では、<多機能機10の動作>において先に説明した手順で、XMPPコネクションの確立が行われる。肯定判断される場合(S341:YES)には、S342へ進む。S342においてCPU72は、確立したXMPPコネクションを識別するコネクション情報を、メモリ74に記憶させる。そしてS327へ進む。 On the other hand, when the generated event is not the event generated due to the establishment of the XMPP session (S321: NO), the process proceeds to S341. In S341, the CPU 72 determines whether or not the event that has occurred is an event that has occurred due to the establishment of an XMPP connection by protocol processing with the multi-function device that has established the XMPP session. In the protocol processing, the XMPP connection is established by the procedure described above in <Operation of the multi-function device 10>. When a positive determination is made (S341: YES), the process proceeds to S342. In S342, the CPU 72 causes the memory 74 to store the connection information for identifying the established XMPP connection. Then, the process proceeds to S327.

S327においてCPU72は、多機能機管理データベース77に記憶された、XMPPコネクションを確立した多機能機に関する通信ステータス情報を、「オンライン」に設定する。S329においてCPU72は、XMPPコネクションを確立した多機能機に関する不図示の管理タイマーをスタートさせる。そしてS313へ戻る。管理タイマーは、XMPPコネクションを確立した多機能機それぞれについて設けられるタイマーであって、XMPPコネクションの確立からタイムアップ時間が経過していないかを判断するソフトウェアタイマーである。管理タイマーは、XMPPコネクションの確立からタイムアップ時間が経過した場合、タイムアップしたことを示すイベントを出力する。タイムアップ時間は、たとえば2分に設定される。 In S327, the CPU 72 sets the communication status information, which is stored in the multi-function peripheral management database 77, regarding the multi-function peripheral that has established the XMPP connection, to “online”. In S329, the CPU 72 starts a management timer (not shown) regarding the multi-function device that has established the XMPP connection. Then, the process returns to S313. The management timer is a timer provided for each multi-function device that has established an XMPP connection, and is a software timer that determines whether or not the time-up time has elapsed since the establishment of the XMPP connection. The management timer outputs an event indicating the time-up when the time-up time has elapsed since the establishment of the XMPP connection. The time-up time is set to 2 minutes, for example.

一方、S341において否定判断される場合(S341:NO)には、S331へ進む。S331においてCPU72は、発生したイベントが管理タイマーのタイムアップであるか否かを判断する。肯定判断される場合(S331:YES)にはS333へ進み、CPU72は、多機能機管理データベース77に記憶された、タイムアップした管理タイマーに対応する多機能機に関する通信ステータス情報を「オフライン」に設定する。そしてS313へ戻る。一方、否定判断される場合(S331:NO)には、S343へ進む。 On the other hand, when a negative determination is made in S341 (S341: NO), the process proceeds to S331. In S331, the CPU 72 determines whether the event that has occurred is the time-up of the management timer. When an affirmative determination is made (S331: YES), the CPU 72 proceeds to S333, and the CPU 72 sets the communication status information, which is stored in the multi-function peripheral management database 77, regarding the multi-function peripheral corresponding to the expired management timer to “offline”. Set. Then, the process returns to S313. On the other hand, when a negative determination is made (S331: NO), the process proceeds to S343.

S343においてCPU72は、発生したイベントが、サービスサーバ100または120からのHTTPリクエスト情報をネットワークインターフェース62が受信したことにより発生したイベントであるか否かを判断する。否定判断される場合(S343:NO)にはS361に進み、肯定判断される場合(S343:YES)にはS345へ進む。S345においてCPU72は、HTTPリクエスト情報に含まれる情報を、プロトコル処理を介して取得し、取得した情報がいずれの情報であるかを判断する。 In S343, the CPU 72 determines whether the generated event is an event generated by the network interface 62 receiving the HTTP request information from the service server 100 or 120. When a negative determination is made (S343: NO), the process proceeds to S361, and when an affirmative determination is made (S343: YES), the process proceeds to S345. In S345, the CPU 72 acquires the information included in the HTTP request information through the protocol processing, and determines which information is the acquired information.

HTTPリクエスト情報にデバイスID問合せ情報が含まれている場合(S345:デバイスID問合せ情報)には、S347へ進む。デバイスID問合せ情報は、サービスサーバ100または120からプッシュサービスを受ける多機能機のデバイスIDの返信を仲介サーバ60に要求することを示す情報である。S347においてCPU72は、デバイスID問合せ情報に対応する多機能機のデバイスIDを、デバイスデータベース76内から検出する。そしてCPU72は、プロトコル処理を介して、検出されたデバイスIDを含んだHTTPレスポンス情報を、デバイスID問合せ情報の送信元であるサービスサーバを送信先として送信させる。 If the HTTP request information includes the device ID inquiry information (S345: device ID inquiry information), the process proceeds to S347. The device ID inquiry information is information indicating that the intermediary server 60 is requested to return the device ID of the multi-function device that receives the push service from the service server 100 or 120. In S347, the CPU 72 detects the device ID of the multi-function peripheral corresponding to the device ID inquiry information from the device database 76. Then, the CPU 72 causes the HTTP response information including the detected device ID to be transmitted via the protocol process to the service server that is the transmission source of the device ID inquiry information as the transmission destination.

一方、HTTPリクエスト情報に第1要求情報が含まれている場合(S345:第1要求情報)には、S349へ進む。第1要求情報は、サービスサーバ100または120から出力される情報である。第1要求情報の一例としては、GETリクエスト情報や、SETリクエスト情報などが挙げられる。第1要求情報は、デバイスID、オブジェクトID、などを含んでいる。 On the other hand, if the HTTP request information includes the first request information (S345: first request information), the process proceeds to S349. The first request information is information output from the service server 100 or 120. Examples of the first request information include GET request information and SET request information. The first request information includes a device ID, an object ID, and the like.

S349においてCPU72は、第1要求情報の送信先の多機能機である通信先多機能機が、オフラインであるか否かを、多機能機管理データベース77に記憶された通信ステータス情報に基づいて判断する。具体的には、第1要求情報に含まれるデバイスIDに対応する多機能機の通信ステータス情報が「オフラインである」か否かを判断する。通信先多機能機がオフラインではないと判断される場合(S349:NO)にはS353へ進む。 In S349, the CPU 72 determines based on the communication status information stored in the multi-function peripheral management database 77 whether the communication multi-function peripheral, which is the multi-function peripheral to which the first request information is transmitted, is offline. To do. Specifically, it is determined whether the communication status information of the multi-function device corresponding to the device ID included in the first request information is “offline”. When it is determined that the communication multi-function peripheral is not offline (S349: NO), the process proceeds to S353.

S353においてCPU72は、リクエストIDを生成する。そして、生成したリクエストIDを、S343で受信した第1要求情報に関連付けて、メモリ74に記憶させる。リクエストIDは、例えば、第1要求情報の受信時刻でもよいし、一意に作成された番号でもよい。 In S353, the CPU 72 generates a request ID. Then, the generated request ID is stored in the memory 74 in association with the first request information received in S343. The request ID may be, for example, the reception time of the first request information or a uniquely created number.

S355においてCPU72は、XMPPセッションを用いて、第2要求情報を通信先多機能機へ送信する。具体的には、CPU72は、プロトコル処理を介して、第2要求情報を含んだ、送信先多機能機との間で確立したXMPPコネクションにおけるXMPPレスポンス情報を、送信先多機能機へ送信させる。第2要求情報は、第1要求情報にリクエストIDが付加された情報である。第2要求情報は、少なくとも、リクエストIDとオブジェクトIDを含んでいればよく、第1要求情報に含まれていたデバイスIDは含んでいなくても良い。そしてS313へ戻る。 In S355, the CPU 72 transmits the second request information to the communication destination multi-function peripheral using the XMPP session. Specifically, the CPU 72 causes the destination multi-function peripheral to transmit the XMPP response information in the XMPP connection established with the destination multi-function peripheral including the second request information, through the protocol processing. The second request information is information in which the request ID is added to the first request information. The second request information only needs to include at least the request ID and the object ID, and may not include the device ID included in the first request information. Then, the process returns to S313.

一方、S349において、通信先多機能機がオフラインであると判断される場合(S349:YES)には、S351へ進む。S351においてCPU72は、プロトコル処理を介して、第1要求情報を通信先多機能機へ転送することができないことを示すエラー情報を含んだHTTPレスポンス情報を、第1要求情報の送信元であるサービスサーバへ送信させる。そしてS313へ戻る。 On the other hand, in S349, when it is determined that the communication destination multi-function device is offline (S349: YES), the process proceeds to S351. In S351, the CPU 72 sends HTTP response information including error information indicating that the first request information cannot be transferred to the communication destination multi-function peripheral via the protocol process, as the service that is the sender of the first request information. Send to server. Then, the process returns to S313.

一方、S343において、否定判断された場合(S343:NO)には、S361へ進む。S361においてCPU72は、発生したイベントが、多機能機10または11からのHTTPリクエスト情報を受信したことにより発生したイベントであるか否かを判断する。なお、判断対象となるHTTPリクエスト情報は、多機能機10または11との間で確立したXMPPセッションにおけるXMPPリクエスト情報とは異なるHTTPリクエスト情報である。S361において否定判断された場合(S361:NO)にはS313へ戻り、肯定判断される場合(S361:YES)にはS364へ進む。S364においてCPU72は、HTTPリクエスト情報の送信元である多機能機に対応する管理タイマーをリセットする。 On the other hand, if a negative determination is made in S343 (S343: NO), the flow proceeds to S361. In S361, the CPU 72 determines whether the generated event is an event generated by receiving the HTTP request information from the multi-function peripheral 10 or 11. The HTTP request information to be judged is HTTP request information different from the XMPP request information in the XMPP session established with the multi-function peripheral 10 or 11. When a negative determination is made in S361 (S361: NO), the process returns to S313, and when an affirmative determination is made (S361: YES), the process proceeds to S364. In S364, the CPU 72 resets the management timer corresponding to the multi-function device that is the transmission source of the HTTP request information.

S369においてCPU72は、HTTPリクエスト情報に含まれる情報を、プロトコル処理を介して取得し、取得した情報がいずれの情報であるかを判断する。HTTPリクエスト情報に応答情報が含まれている場合(S369:応答情報)にはS373へ進む。 In S369, the CPU 72 acquires the information included in the HTTP request information through the protocol processing, and determines which information is the acquired information. When the HTTP request information includes the response information (S369: Response information), the process proceeds to S373.

S373においてCPU72は、応答情報に含まれているリクエストIDを読み出す。そして、応答情報に含まれているリクエストIDと一致するリクエストIDに対応する第1要求情報を、多機能機管理データベース77の中から検出する。そしてCPU72は、プロトコル処理を介して、応答情報を含んだHTTPレスポンス情報を、検出した第1要求情報の送信元であるサービスサーバへ送信させる。 In S373, the CPU 72 reads out the request ID included in the response information. Then, the first request information corresponding to the request ID that matches the request ID included in the response information is detected from the multi-function peripheral management database 77. Then, the CPU 72 causes the HTTP response information including the response information to be transmitted to the service server, which is the transmission source of the detected first request information, through the protocol processing.

S375においてCPU72は、プロトコル処理を介して、応答情報を含んだHTTPリクエスト情報に対するHTTPレスポンス情報を、HTTPリクエスト情報の送信元である多機能機へ返信させる。そしてS313へ戻る。 In S375, the CPU 72 returns the HTTP response information corresponding to the HTTP request information including the response information to the multi-function device which is the transmission source of the HTTP request information, through the protocol processing. Then, the process returns to S313.

一方、S369において、HTTPリクエスト情報に生存通知情報が含まれていると判断された場合(S369:生存通知情報)には、S365へ進む。S365においてCPU72は、プロトコル処理を介して、生存応答情報を含んだHTTPレスポンス情報を、生存通知情報を含んだHTTPリクエスト情報の送信元である多機能機へ返信させる。そしてS313へ戻る。 On the other hand, if it is determined in S369 that the HTTP request information includes the survival notification information (S369: survival notification information), the process proceeds to S365. In S365, the CPU 72 returns the HTTP response information including the survival response information to the multi-function device which is the transmission source of the HTTP request information including the survival notification information, through the protocol processing. Then, the process returns to S313.

<サービスサーバ100、120の動作>
図6のフローを用いて、サービスサーバ100、または120の詳細な動作について説明する。図6のフローは、例えば、サービスサーバ100、または120の電源が投入されることに応じて開始されてもよい。S509においてCPU103は、サービスの提供対象の多機能機を識別するためのデバイスIDの取得命令が、入力されたか否かを判断する。入力されていない場合(S509:NO)にはS523へ進み、入力された場合(S509:YES)にはS513へ進む。デバイスIDの取得命令は、サービスサーバ100への操作によって入力されてもよい。
<Operation of the service servers 100 and 120>
The detailed operation of the service server 100 or 120 will be described with reference to the flow of FIG. The flow of FIG. 6 may be started, for example, when the power of the service server 100 or 120 is turned on. In step S<b>509, the CPU 103 determines whether a device ID acquisition command for identifying the multifunctional device to which the service is provided has been input. If it has not been input (S509: NO), the flow proceeds to S523, and if it has been input (S509: YES), the flow proceeds to S513. The device ID acquisition command may be input by an operation on the service server 100.

S513においてCPU103は、デバイスID問合せ情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信する。S517においてCPU103は、S513で送信したHTTPリクエスト情報に対して仲介サーバ60が送信した、デバイスIDを含むHTTPレスポンス情報を受信する。 In S513, the CPU 103 transmits HTTP request information including the device ID inquiry information to the mediation server 60. In S517, the CPU 103 receives the HTTP response information including the device ID, which is transmitted by the mediation server 60 in response to the HTTP request information transmitted in S513.

S523においてCPU103は、第1要求情報の送信命令が入力されたか否かを判断する。第1要求情報の送信命令は、S517で取得したデバイスIDで識別される多機能機へ、第1要求情報を送信する命令である。第1要求情報の送信命令が入力されていない場合(S523:NO)にはS509へ戻り、入力された場合(S523:YES)にはS529へ進む。デバイスIDの取得命令は、サービスサーバ100への操作によって入力されてもよい。 In S523, the CPU 103 determines whether or not a command for transmitting the first request information has been input. The command for transmitting the first request information is a command for transmitting the first request information to the multi-function device identified by the device ID acquired in S517. If the transmission command of the first request information has not been input (S523: NO), the process returns to S509, and if it has been input (S523: YES), the process proceeds to S529. The device ID acquisition command may be input by an operation on the service server 100.

S529においてCPU103は、第1要求情報を含むHTTPリクエスト情報を、仲介サーバ60へ送信する。第1要求情報には、S517で取得したデバイスIDが含まれている。S533においてCPU103は、S529で送信したHTTPリクエスト情報に対して仲介サーバ60が送信した、応答情報を含むHTTPレスポンス情報を受信する。そしてS509へ戻る。 In S529, the CPU 103 transmits HTTP request information including the first request information to the mediation server 60. The first request information includes the device ID acquired in S517. In S533, the CPU 103 receives the HTTP response information including the response information transmitted by the mediation server 60 in response to the HTTP request information transmitted in S529. Then, the process returns to S509.

<通信システム2の第1動作例>
図7のシーケンス図を用いて、通信システム2の第1動作例について説明する。図7では、多機能機10と仲介サーバ60の間のXMPPセッションが維持されているときに、サービスサーバ100から多機能機10まで、仲介サーバ60を介してGETリクエスト情報が伝達される場合を説明する。また、多機能機10セッション維持モードが「オン」に設定されている場合を説明する。
<First operation example of communication system 2>
A first operation example of the communication system 2 will be described with reference to the sequence diagram of FIG. 7. In FIG. 7, when the XMPP session between the multi-function peripheral 10 and the intermediation server 60 is maintained, the GET request information is transmitted from the service server 100 to the multi-function peripheral 10 via the intermediation server 60. explain. A case where the multi-function peripheral 10 session maintenance mode is set to “on” will be described.

多機能機10の電源が投入されると、セッション維持モードが「オン」に設定されているため(S211:YES)、多機能機10はレジスタ情報を仲介サーバ60へ送信する(S231)。仲介サーバ60は、レジスタ情報を受信し(S315:YES)、受信したレジスタ情報をデバイスデータベース76に登録する(S317)。多機能機10がXMPPセッション確立要求情報を送信することを契機として、多機能機10と仲介サーバ60はXMPPセッションを確立する(S233、S321:YES)。多機能機10がXMPPコネクション確立要求情報を送信することで、多機能機10と仲介サーバ60との間のXMPPコネクションが確立される。(S236、S341:YES) When the power of the multi-function device 10 is turned on, the session maintaining mode is set to “ON” (S211: YES), and thus the multi-function device 10 transmits the register information to the mediation server 60 (S231). The mediation server 60 receives the register information (S315: YES) and registers the received register information in the device database 76 (S317). When the multi-function peripheral 10 transmits the XMPP session establishment request information, the multi-function peripheral 10 and the mediation server 60 establish the XMPP session (S233, S321: YES). When the multi-function device 10 transmits the XMPP connection establishment request information, the XMPP connection between the multi-function device 10 and the mediation server 60 is established. (S236, S341: YES)

多機能機10にサービスを提供する処理を開始するために、多機能機10を識別するデバイスIDを取得する命令が、サービスサーバ100に入力される(S509:YES)。サービスサーバ100は、多機能機10のデバイスIDを要求するデバイスID問合せ情報を仲介サーバ60へ送信する(S513)。仲介サーバ60は、デバイスID問合せ情報を受信すると(S345:デバイスID問合わせ情報)、多機能機10のデバイスIDを検索して、サービスサーバ100へ送信する(S347)。 In order to start the process of providing the service to the multi-function device 10, a command to acquire the device ID for identifying the multi-function device 10 is input to the service server 100 (S509: YES). The service server 100 transmits the device ID inquiry information requesting the device ID of the multi-function device 10 to the mediation server 60 (S513). When the intermediation server 60 receives the device ID inquiry information (S345: device ID inquiry information), the intermediation server 60 searches for the device ID of the multi-function peripheral 10 and transmits it to the service server 100 (S347).

多機能機10は、タイマーがタイムアップすると(S239:YES)、仲介サーバ60に生存通知情報を送信する(S241)。仲介サーバ60は、生存通知情報を受信すると(S361:生存通知情報)、生存応答情報を返信する(S365)。多機能機10は、生存応答情報を受信すると(S244:YES)XMPPコネクション確立要求情報を送信する(S236)ので、多機能機10と仲介サーバ60との間で確立しているXMPPセッションにおけるXMPPコネクションが維持される(S236、S341:YES)。 When the timer times out (S239: YES), the multi-function device 10 transmits the survival notification information to the mediation server 60 (S241). When the mediation server 60 receives the life notification information (S361: life notification information), the mediation server 60 returns the life response information (S365). When the multi-function peripheral 10 receives the survival response information (S244: YES), the multi-function peripheral 10 transmits the XMPP connection establishment request information (S236). The connection is maintained (S236, S341: YES).

なお、多機能機10は、生存応答情報を受信しないと(S235:NO)XMPPセッション確立要求情報を送信するので、多機能機10と仲介サーバ60との間のXMPPセッションが維持される(S233、S321:YES)。なお、多機能機10と仲介サーバ60で確立していたXMPPコネクションが無効になってしまってから、XMPPコネクション確立要求情報を送信する場合もある。また、多機能機10と仲介サーバ60で確立していたXMPPセッションが無効になってしまってから、XMPPセッション確立要求情報を送信する場合もある。すなわち、すなわち、本実施形態の説明で述べている「維持」は、ほとんどの時間でコネクションやセッションが確立して、わずかな時間だけ、確立していない時間があってもよい、という程度の概念である。 When the multi-function peripheral 10 does not receive the survival response information (S235: NO), the multi-function peripheral 10 transmits the XMPP session establishment request information, so that the XMPP session between the multi-function peripheral 10 and the mediation server 60 is maintained (S233). , S321: YES). The XMPP connection establishment request information may be transmitted after the XMPP connection established between the multi-function device 10 and the mediation server 60 becomes invalid. Further, the XMPP session establishment request information may be transmitted after the XMPP session established by the multi-function device 10 and the mediation server 60 becomes invalid. That is, in other words, the "maintenance" described in the description of the present embodiment is a concept such that a connection or session is established most of the time, and there may be a slight non-established time. Is.

サービスサーバ100に、多機能機10から情報を取得するためのリクエスト情報である第1GETリクエスト情報の送信命令が入力されると(S523:YES)、サービスサーバ100は、第1GETリクエスト情報を仲介サーバ60へ送信する(S529)。このとき、第1GETリクエスト情報の最終的な送信先は、多機能機10とされる。仲介サーバ60は、第1GETリクエスト情報を受信すると(S343:YES、S345:第1要求情報)、第1GETリクエスト情報の送信先の多機能機10がオフラインではないと判断し(S349:NO)、リクエストIDを生成する(S353)。また仲介サーバ60は、第1GETリクエスト情報に関連付けて、リクエストIDを多機能機管理データベース77に記憶させる(S353)。 When a command for transmitting the first GET request information, which is request information for acquiring information from the multi-function peripheral 10, is input to the service server 100 (S523: YES), the service server 100 transmits the first GET request information to the mediation server. 60 (S529). At this time, the final destination of the first GET request information is the multi-function device 10. When the intermediation server 60 receives the first GET request information (S343: YES, S345: first request information), the intermediation server 60 determines that the multi-function device 10 that is the destination of the first GET request information is not offline (S349: NO), A request ID is generated (S353). Further, the mediation server 60 stores the request ID in the multi-function peripheral management database 77 in association with the first GET request information (S353).

仲介サーバ60は、第1GETリクエストに生成したリクエストIDを付加して、第2GETリクエスト情報を生成する。そして、生成した第2GETリクエスト情報を、XMPPセッションを用いて多機能機10へ送信する(S355)。具体的には、生成した第2GETリクエストを含んだ、多機能機10との間で確立しているXMPPコネクションにおけるXMPPレスポンス情報を多機能機10へ送信する。 The mediation server 60 adds the generated request ID to the first GET request and generates the second GET request information. Then, the generated second GET request information is transmitted to the multi-function device 10 using the XMPP session (S355). Specifically, the XMPP response information in the XMPP connection established with the multi-function device 10 including the generated second GET request is transmitted to the multi-function device 10.

多機能機10は、第2GETリクエスト情報を受信すると(S251:YES)、第2GETリクエスト情報を解析して、解析して取得した情報に基づく処理を実行し、GETレスポンス情報を取得する(S261)。例えば、第2GETリクエスト情報が装置情報の取得を要求する情報である場合には、多機能機10の装置情報を含んだGETレスポンス情報を取得する。このときGETレスポンス情報には、第2GETリクエスト情報に付加されていたリクエストIDが付加される。多機能機10は、GETレスポンス情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信する(S265)。 When the multi-function device 10 receives the second GET request information (S251: YES), the multi-function device 10 analyzes the second GET request information, executes the process based on the information acquired by the analysis, and acquires the GET response information (S261). .. For example, when the second GET request information is information requesting acquisition of device information, GET response information including device information of the multi-function device 10 is acquired. At this time, the request ID added to the second GET request information is added to the GET response information. The multi-function device 10 transmits the HTTP request information including the GET response information to the mediation server 60 (S265).

仲介サーバ60は、GETレスポンス情報を含んだHTTPリクエスト情報を受信すると(S369:YES)、GETレスポンスに含まれているリクエストIDを読み出す。仲介サーバ60は、GETレスポンスに含まれているリクエストIDと一致するリクエストIDが紐付けられている第1GETリクエスト情報を、多機能機管理データベース77の中から検出する(S373)。そして仲介サーバ60は、多機能機10から受信したGETレスポンス情報を、検出した第1GETリクエスト情報に対するGETレスポンス情報として、サービスサーバ100へ送信する(S373)。 When the mediation server 60 receives the HTTP request information including the GET response information (S369: YES), the mediation server 60 reads out the request ID included in the GET response. The mediation server 60 detects, from the multi-function peripheral management database 77, the first GET request information associated with the request ID that matches the request ID included in the GET response (S373). Then, the mediation server 60 transmits the GET response information received from the multi-function peripheral 10 to the service server 100 as GET response information for the detected first GET request information (S373).

また仲介サーバ60は、GETレスポンス情報を受信(S369)することに応じて、HTTPレスポンス情報を多機能機10へ返信する(S375)。HTTPレスポンス情報を受信した多機能機10は、仲介サーバ60との間のXMPPコネクションを新たに確立するための処理を行うので、多機能機10は、再度プッシュサービスを利用することが可能になる。 In addition, the intermediary server 60 returns the HTTP response information to the multi-function peripheral 10 in response to receiving the GET response information (S369) (S375). The multi-function device 10 that has received the HTTP response information performs a process for newly establishing an XMPP connection with the intermediary server 60, so that the multi-function device 10 can use the push service again. ..

<通信システム2の第2動作例>
図8のシーケンス図を用いて、通信システム2の第2動作例について説明する。図8では、多機能機10と仲介サーバ60の間のXMPPセッションが維持されていないときに、サービスサーバ100から多機能機10まで、仲介サーバ60を介してGETリクエスト情報が伝達されない場合を説明する。
<Second Operation Example of Communication System 2>
A second operation example of the communication system 2 will be described with reference to the sequence diagram of FIG. FIG. 8 illustrates a case where the GET request information is not transmitted from the service server 100 to the multi-function peripheral 10 via the intermediation server 60 when the XMPP session between the multi-function peripheral 10 and the intermediation server 60 is not maintained. To do.

図8の期間P1における動作は、図7の期間P1における動作と同様であるため、説明を省略する。多機能機10の電源がオフにされた場合には、多機能機10と仲介サーバ60との間で確立していたセッションを識別するセッションIDが多機能機10には保存されないので、第1のセッションが切断されたことになる。この場合、多機能機10からは生存通知情報が送信されないので、仲介サーバ60においては、多機能機10に対応する管理タイマーにおいて、タイムアップが発生する(S331:YES)ので、タイムアップが発生した管理タイマーが対応する多機能機10の通信ステータス情報を「オフライン」に設定する(S333)。 The operation in the period P1 of FIG. 8 is the same as the operation in the period P1 of FIG. 7, so description thereof will be omitted. When the power of the multi-function device 10 is turned off, the session ID for identifying the session established between the multi-function device 10 and the intermediary server 60 is not stored in the multi-function device 10. The session has been disconnected. In this case, since the survival notification information is not transmitted from the multi-function device 10, the time-up occurs in the management timer corresponding to the multi-function device 10 in the mediation server 60 (S331: YES), so the time-up occurs. The communication status information of the multi-function device 10 corresponding to the management timer is set to "offline" (S333).

仲介サーバ60が第1GETリクエスト情報を受信したとしても(S343:YES、S345:第1要求情報)、第1GETリクエスト情報の送信先の多機能機10がオフラインであると判断される(S349:YES)。そのため、仲介サーバ60は、エラー情報をサービスサーバ100へ送信する(S351)。 Even if the mediation server 60 receives the first GET request information (S343: YES, S345: first request information), it is determined that the multi-function device 10 to which the first GET request information is transmitted is offline (S349: YES). ). Therefore, the mediation server 60 transmits the error information to the service server 100 (S351).

<効果>
多機能機10とインターネット6との間には、ルータ7が備えられている。ルータ7は、ファイアウォール機能を有している場合がある。ファイアウォール機能では、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報であれば、インターネット6側の装置が送信した情報を、多機能機10へ転送する処理が行われる。一方、ルータ7がインターネット6側の装置から受信した情報が、多機能機10が送信元である情報への応答情報でなければ、インターネット6側の装置が送信した情報を、多機能機10へ転送しない処理が行われる。この場合、前述したプッシュサービスを実行するために、サービスサーバから多機能機10へ、インターネット6を介して要求情報を送信する場合がある。この場合、ファイアウォール機能等を超えるための処理をサービスサーバで行う必要があるため、サービスサーバの処理負担が大きくなる。本明細書に開示されている技術では、サービスサーバから仲介サーバ60を介して多機能機10へ、要求情報を送信することができる。そして仲介サーバ60から多機能機10へは、セッション確立型のXMPP over BOSHに従って確立されているセッションを用いて、要求情報が送信される(S355)。XMPP over BOSHに従って確立されているセッションを用いることにより、要求情報をインターネット6側から多機能機10へ送信するという、いわゆるサーバプッシュが可能となる。従って、ルータ7がファイアウォール機能やアドレス変換機能を有している場合においても、サービスサーバがファイアウォール機能やアドレス変換機能を超えるための処理を行うことなく、サービスサーバから多機能機10へ要求情報を送信することが可能となる。よって、サービスサーバでの処理負担を軽減することができる。
<Effect>
A router 7 is provided between the multi-function device 10 and the Internet 6. The router 7 may have a firewall function. In the firewall function, if the information received by the router 7 from the device on the Internet 6 side is response information to the information transmitted from the multi-function device 10, the information transmitted by the device on the Internet 6 side is changed to the multi-function device. The process of transferring to 10 is performed. On the other hand, if the information received by the router 7 from the device on the Internet 6 side is not the response information to the information that is the source of the multi-function device 10, the information transmitted by the device on the Internet 6 side is sent to the multi-function device 10. Processing that does not transfer is performed. In this case, request information may be transmitted from the service server to the multi-function device 10 via the Internet 6 in order to execute the push service described above. In this case, since it is necessary for the service server to perform processing for exceeding the firewall function and the like, the processing load on the service server increases. With the technology disclosed in this specification, request information can be transmitted from the service server to the multi-function peripheral 10 via the intermediary server 60. Then, the request information is transmitted from the intermediary server 60 to the multi-function device 10 using the session established according to the session establishment type XMPP over BOSH (S355). By using the session established according to XMPP over BOSH, so-called server push, in which request information is transmitted from the Internet 6 side to the multi-function peripheral 10, becomes possible. Therefore, even when the router 7 has a firewall function or an address translation function, the service server does not perform processing for exceeding the firewall function or the address translation function, and the request information is sent from the service server to the multi-function peripheral 10. It becomes possible to send. Therefore, the processing load on the service server can be reduced.

本明細書に開示されている技術では、多機能機10と仲介サーバ60との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、仲介サーバ60からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。従って、サービスサーバから仲介サーバ60へ送信されてくる要求情報を、即時に仲介サーバ60から多機能機10へ転送することが可能となる。よって、サービスサーバと多機能機10との間の通信応答速度を高めることや、通信のリアルタイム性を高めることが可能となる。 According to the technology disclosed in the present specification, even when a predetermined time has passed after the server push is enabled between the multi-function peripheral 10 and the intermediation server 60, the intermediary server 60 can perform the above-mentioned operation. Maintain a state where server push is possible. As a result, it becomes possible to constantly provide the push service by using the session establishment type protocol. Therefore, the request information transmitted from the service server to the mediation server 60 can be immediately transferred from the mediation server 60 to the multi-function device 10. Therefore, it is possible to increase the communication response speed between the service server and the multi-function device 10, and to improve the real-time property of communication.

XMPP over BOSHに従ってコネクションを確立する処理の方が、HTTPに従ってコネクションを確立する処理よりも、処理が複雑化し処理時間がかかってしまう場合がある。例えば、XMPP over BOSHに従ってコネクションを確立するXMPP処理部63が、仲介サーバ60とは別体の外部サーバに備えられている場合などには、XMPP over BOSHに従ったコネクションを確立するために外部サーバを経由する必要が生じるため、処理が複雑化してしまう。本明細書に開示されている技術では、仲介サーバ60から多機能機10へ送信された要求情報に対する応答情報を、セッションレス型のHTTPに従った第2のコネクションを用いて、HTTPのリクエストとして、多機能機10から仲介サーバ60へ送信することができる(S265)。これにより、セッション確立型のXMPP over BOSHに従って確立されているセッションを用いて応答情報を送信する場合に比して、より簡略な処理によって、より迅速に、仲介サーバ60へ応答情報を送信することが可能となる。 The process of establishing a connection according to XMPP over BOSH may be more complicated and time consuming than the process of establishing a connection according to HTTP. For example, when the XMPP processing unit 63 that establishes a connection according to XMPP over BOSH is provided in an external server that is separate from the intermediary server 60, an external server is required to establish a connection according to XMPP over BOSH. Since it becomes necessary to go through, the processing becomes complicated. In the technology disclosed in this specification, response information to the request information transmitted from the intermediary server 60 to the multi-function peripheral 10 is used as an HTTP request by using the second connection conforming to sessionless HTTP. , Can be transmitted from the multi-function device 10 to the mediation server 60 (S265). As a result, the response information can be transmitted to the mediation server 60 more promptly by a simpler process, as compared with the case where the response information is transmitted using the session established according to the session establishment type XMPP over BOSH. Is possible.

本明細書に開示されている技術では、仲介サーバ60は、サービスサーバから要求情報を受信すると(S343:YES)、リクエストIDを生成し(S353)、生成したリクエストIDを受信した要求情報に関連付けてメモリ74に記憶させる(S353)。また、リクエストIDが付加された要求情報を、多機能機10へ転送する(S355)。そして、要求情報に対する応答情報を多機能機10から受信すると(S369:YES)、応答情報に含まれているリクエストIDを読み出し(S373)、読み出したリクエストIDが紐付けられている要求情報を多機能機管理データベース77から検出する(S373)。これにより、直接にサービスサーバと多機能機との間でサーバプッシュを可能にするセッションを確立する負荷なく、要求情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サービスサーバが複数存在している場合や、多機能機が複数存在している場合においても、直接に複数のサービスサーバと多機能機との間でサーバプッシュを可能にするセッションを確立する必要を無くすことができる。 In the technology disclosed in this specification, when the mediation server 60 receives the request information from the service server (S343: YES), the mediation server 60 generates a request ID (S353) and associates the generated request ID with the received request information. Then, it is stored in the memory 74 (S353). The request information to which the request ID is added is transferred to the multi-function device 10 (S355). When the response information to the request information is received from the multi-function peripheral 10 (S369: YES), the request ID included in the response information is read (S373), and the request information associated with the read request ID is collected. It is detected from the functional device management database 77 (S373). Accordingly, it is possible to provide the push service related to the response information that correctly corresponds to the request information without the load of directly establishing a session for enabling the server push between the service server and the multi-function device. In addition, even if there are multiple service servers or multiple multifunction devices, a session that enables server push is directly established between multiple service servers and multifunction devices. You can eliminate the need.

本明細書に開示されている技術では、HTTPのリクエストとして、応答情報を多機能機10から受信すると(S369:YES)、HTTPレスポンスを多機能機10へ返信する(S375)。これにより、応答情報を出力した多機能機10が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、コネクションが正常に終了しないために発生する事態の発生を防止することができる。よって、多機能機10、仲介サーバ60、およびLAN4の負荷を低減することができる。 In the technique disclosed in this specification, when response information is received from the multi-function peripheral 10 as an HTTP request (S369: YES), an HTTP response is returned to the multi-function peripheral 10 (S375). As a result, the multi-function device 10 that has output the response information waits for the response data to be returned until the timeout occurs, or determines that the timeout has occurred and repeats the transmission of the response information, so that the connection ends normally. It is possible to prevent the occurrence of a situation that occurs because of not doing so. Therefore, it is possible to reduce the load on the multi-function device 10, the mediation server 60, and the LAN 4.

本明細書に開示されている技術では、多機能機10と仲介サーバ60とのセッションが切断されており、要求情報を多機能機10に送信することができない場合には(S349:YES)、要求情報に対するHTTPレスポンスとして、サービスサーバへエラー情報を出力することができる(S351)。これにより、コネクションが正常に終了しないために発生する事態であって、多機能機10、仲介サーバ60、およびインターネット6の負荷となってしまう事態の発生を防止することができる。 In the technology disclosed in this specification, when the session between the multi-function peripheral 10 and the intermediation server 60 is disconnected and the request information cannot be transmitted to the multi-function peripheral 10 (S349: YES), Error information can be output to the service server as an HTTP response to the request information (S351). As a result, it is possible to prevent a situation that occurs because the connection is not normally terminated and that becomes a load on the multi-function device 10, the mediation server 60, and the Internet 6.

本明細書に開示されている技術では、メモリ24に記憶されているモード情報によって、セッションを確立するか否かを設定することができる(S211)。多機能機10と仲介サーバ60との間のセッションが切断されたとしても、多機能機10がセッション維持モードであれば、多機能機10から確立要求情報が送信され、セッションを再度確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 With the technique disclosed in this specification, whether or not to establish a session can be set based on the mode information stored in the memory 24 (S211). Even if the session between the multi-function peripheral 10 and the intermediary server 60 is disconnected, if the multi-function peripheral 10 is in the session maintaining mode, the multi-function peripheral 10 transmits establishment request information to re-establish the session. You can As a result, it becomes possible to constantly provide the push service by using the session establishment type protocol.

本明細書に開示されている技術では、多機能機10の製造時にセッション維持モードであることを示すモード情報をメモリ24に記憶させることで、多機能機10が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、多機能機10の製造側または販売側で、プッシュサービスを常時提供させたい多機能機10を決定し、決定した多機能機10にプッシュサービスを利用させることが可能となる。 According to the technology disclosed in the present specification, the mode information indicating the session maintaining mode is stored in the memory 24 at the time of manufacturing the multi-function device 10, so that the session is established when the multi-function device 10 is activated. can do. As a result, the manufacturer or seller of the multi-function device 10, such as a vendor or a dealer, can determine the multi-function device 10 to which the push service is to be provided at all times, and allow the determined multi-function device 10 to use the push service. Becomes

本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、HTTPの上位のプロトコルであるXMPP over BOSHのセッションを確立できる。これにより、多機能機10や仲介サーバ60がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。 With the technology disclosed in this specification, a session of XMPP over BOSH, which is a higher protocol of HTTP, can be established by using HTTP used for using a pull service. As a result, the multi-function peripheral 10 and the mediation server 60 do not need to support a new protocol only for establishing a session, and the push service can be constantly provided.

本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、XMPP over BOSHのサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。 With the technology disclosed in this specification, a session for enabling server push of XMPP over BOSH can be established by using HTTP used for using the pull service. As a result, a push service corresponding to response information can be provided by using a configuration that performs processing relating to HTTP that is generally used by devices that connect to the Internet, for example, using a protocol stack that performs HTTP processing. So more convenient.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。 Specific examples of the present invention have been described above in detail, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. For example, the following modifications are included.

<変形例>
XMPPコネクションを仲介サーバ60との間で確立(S236)している状態でタイムアップ時間が経過した場合(S234:YES)に、XMPPセッションを仲介サーバ60と確立する処理(S233)や、生存通知情報を送信する処理(S241)を実行しないとしてもよい。この場合、タイムアップ時間が経過することに応じて、MPPコネクションを仲介サーバ60との間で確立する処理(S236)を実行してもよい。またこの場合、タイムアップ時間が経過することに応じて、仲介サーバ60との間で新たなXMPPセッションを確立する処理(S233)を実行してもよい。
<Modification>
When the time-up time has elapsed in the state where the XMPP connection is established with the intermediation server 60 (S236) (S234: YES), the process of establishing the XMPP session with the intermediation server 60 (S233), and alive notification The process of transmitting information (S241) may not be executed. In this case, the process (S236) of establishing the MPP connection with the intermediary server 60 may be executed in response to the lapse of the time-up time. Further, in this case, the process of establishing a new XMPP session with the mediation server 60 may be executed in response to the lapse of the time-up time (S233).

サービスサーバから出力される情報であるデバイスID問合せ情報は、プッシュサービスの利用者のアカウントIDなどを含んでいてもよい。この場合仲介サーバ60のCPU72は、S347において、デバイスID問合せ情報に含まれる、アカウントIDなどの識別情報を用いて、アカウントIDに対応する多機能機のデバイスIDを、デバイスデータベース76内から検出してもよい。サービスサーバから出力される情報である第1要求情報は、アカウントIDなどを含んでいてもよい。この場合仲介サーバ60のCPU72は、第1要求情報に含まれる、アカウントIDなどの識別情報を用いて、アカウントIDに対応する多機能機のデバイスIDを、デバイスデータベース76内から検出してもよい。S349において、アカウントIDに対応する多機能機を、第1要求情報の送信先の多機能機である通信先多機能機として特定し、「オフラインである」か否か判定するとしてもよい。 The device ID inquiry information output from the service server may include the account ID of the push service user. In this case, the CPU 72 of the intermediation server 60 detects the device ID of the multi-function peripheral corresponding to the account ID from the device database 76 using the identification information such as the account ID included in the device ID inquiry information in S347. May be. The first request information, which is the information output from the service server, may include an account ID and the like. In this case, the CPU 72 of the mediation server 60 may detect the device ID of the multi-function peripheral corresponding to the account ID from the device database 76 by using the identification information such as the account ID included in the first request information. .. In S349, the multi-function device corresponding to the account ID may be specified as the communication-destination multi-function device that is the multi-function device to which the first request information is transmitted, and it may be determined whether or not it is “offline”.

S355において仲介サーバ60のCPU72は、サービスサーバから受信した第1要求情報をそのまま利用して第2要求情報を生成してもよい。またCPU72は、受信した第1要求情報を、多機能機10および11が要求情報として理解できるデータに変換した上で、第2要求情報を生成してもよい。 In S355, the CPU 72 of the mediation server 60 may generate the second request information by directly using the first request information received from the service server. Further, the CPU 72 may generate the second request information after converting the received first request information into data that the multi-function peripherals 10 and 11 can understand as the request information.

通信システム2の第1動作例において、HTTPレスポンスを多機能機10へ送信する処理(S375)は、応答情報をサービスサーバへ送信する処理(S373)の後に行われる場合を説明したが、この形態に限られない。これらの処理の順番は逆であってもよい。 In the first operation example of the communication system 2, it has been described that the process of transmitting the HTTP response to the multi-function peripheral 10 (S375) is performed after the process of transmitting the response information to the service server (S373). Not limited to The order of these processes may be reversed.

要求情報は、GETリクエスト、SETリクエストに限られず、他の種類のリクエスト情報であってもよい。 The request information is not limited to the GET request and the SET request, and may be other types of request information.

仲介サーバ60と通信可能に接続される多機能機は、多機能機10および11に限られず、3台以上存在してもよい。インターネット6に接続されるサービスサーバは、サービスサーバ100に限られず、2台以上存在してもよい。プッシュサービス、プルサービスを利用する機器として、多機能機10および11を例に挙げたが、これに限らない。指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、3D画像を生成する3Dプリンタでもよい。画像データなどに基づいて、吹き付け、削りだしなどで、作品、製品を生成する作品製造装置、製品製造装置でもよい。画像データの例として3D画像データや3DCADデータを用いてもよい。対象物の輪郭を光学的、電気的に検知するセンサからの出力データや、対象物に取り付けたセンサからの出力データに基づいて画像データを作成するスキャナでもよい。センサからの出力に基づいて、対象物の形状や動きを示すデータを作成するスキャナでもよい。画像データの例として動画データや3D画像データを用いてもよい。 The multi-function peripherals communicatively connected to the mediation server 60 are not limited to the multi-function peripherals 10 and 11, and three or more multi-function peripherals may exist. The service server connected to the Internet 6 is not limited to the service server 100, and two or more service servers may exist. Although the multi-function devices 10 and 11 are given as examples of devices that use the push service and the pull service, the devices are not limited thereto. A sewing machine that embroiders or quilts a predetermined image based on instruction data or the like may be used. A sewing machine that performs decorative sewing, sewing, etc. to form a work or product based on image data may be used. A 3D printer that generates a 3D image by spraying, shaving, or the like based on instruction data or the like may be used. It may be a work manufacturing apparatus or a product manufacturing apparatus that generates a work or a product by spraying or shaving based on image data or the like. 3D image data or 3D CAD data may be used as an example of the image data. It may be a scanner that creates image data based on output data from a sensor that optically or electrically detects the contour of an object or output data from a sensor attached to the object. It may be a scanner that creates data indicating the shape and movement of the object based on the output from the sensor. Moving image data or 3D image data may be used as an example of the image data.

多機能機10および11は、画像処理装置の一例である。サービスサーバ100および120は、サーバ装置の一例である。仲介サーバ60は、中継装置の一例である。CPU72および22は、プロセッサの一例である。S343を実行するCPUは、サーバ要求情報取得手段の一例である。XMPPセッション確立要求情報は、確立要求データの一例である。XMPP over BOSHは、第1のプロトコルの一例である。HTTPは、第2のプロトコルおよび第3のプロトコルの一例である。S321を実行するCPUは、確立要求情報取得手段の一例である。第1要求情報に含まれるGETリクエストおよびSETリクエストは、サーバ要求情報の一例である。S355を実行するCPUは、サーバ要求情報出力手段の一例である。LAN4は、第1のネットワークの一例である。ルータ7および8は、通信制御装置の一例である。インターネット6は、第2のネットワークの一例である。メモリ74は、記憶手段の一例である。S317を実行するCPUは、画像処理装置識別情報出力手段の一例である。S369を実行するCPUは、応答情報取得手段の一例である。S373を実行するCPUは、応答情報出力手段の一例である。リクエストIDは、第1識別情報の一例である。S353を実行するCPUは、第1識別情報記憶制御手段の一例である。S351を実行するCPUは、エラー情報出力手段の一例である。S361を実行するCPUは、第3確立要求情報取得手段の一例である。S341を実行するCPUは、第2確立要求情報取得手段の一例である。S373を実行するCPUは、コネクション特定手段の一例である。S233を実行するCPUは、確立要求情報出力手段の一例である。S251を実行するCPUは、サーバ要求情報取得手段の一例である。S241を実行するCPUは、認識要求情報出力手段の一例である。S244を実行するCPUは、サーバ認識情報取得手段の一例である。S236を実行するCPUは、第2確立要求情報出力手段の一例である。S241を実行するCPUは、認識要求情報出力手段の一例である。S263を実行するCPUは、第4確立要求情報出力手段の一例である。S373を実行するCPUは、応答情報出力手段の一例である。S217、または、S257を実行するCPUは、関連情報要求情報出力手段の一例である。S217、または、S257を実行するCPUは、関連情報取得手段の一例である。 The multi-function devices 10 and 11 are examples of image processing devices. The service servers 100 and 120 are examples of server devices. The mediation server 60 is an example of a relay device. The CPUs 72 and 22 are examples of processors. The CPU that executes S343 is an example of a server request information acquisition unit. The XMPP session establishment request information is an example of establishment request data. XMPP over BOSH is an example of the first protocol. HTTP is an example of the second protocol and the third protocol. The CPU that executes S321 is an example of an establishment request information acquisition unit. The GET request and the SET request included in the first request information are examples of server request information. The CPU that executes S355 is an example of a server request information output unit. LAN4 is an example of a first network. The routers 7 and 8 are examples of communication control devices. The Internet 6 is an example of the second network. The memory 74 is an example of a storage unit. The CPU that executes S317 is an example of an image processing apparatus identification information output unit. The CPU that executes S369 is an example of response information acquisition means. The CPU that executes S373 is an example of response information output means. The request ID is an example of first identification information. The CPU that executes S353 is an example of a first identification information storage control unit. The CPU that executes S351 is an example of an error information output unit. The CPU that executes S361 is an example of a third establishment request information acquisition unit. The CPU that executes S341 is an example of a second establishment request information acquisition unit. The CPU that executes S373 is an example of a connection identifying unit. The CPU that executes S233 is an example of the establishment request information output unit. The CPU that executes S251 is an example of a server request information acquisition unit. The CPU that executes S241 is an example of a recognition request information output unit. The CPU that executes S244 is an example of a server recognition information acquisition unit. The CPU that executes S236 is an example of a second establishment request information output unit. The CPU that executes S241 is an example of a recognition request information output unit. The CPU that executes S263 is an example of a fourth establishment request information output unit. The CPU that executes S373 is an example of response information output means. The CPU that executes S217 or S257 is an example of a related information request information output unit. The CPU that executes S217 or S257 is an example of a related information acquisition unit.

4:LAN、6:インターネット、7および8:ルータ、10および11:多機能機、22および72および103:CPU、60:仲介サーバ、100、110、および120:サービスサーバ 4: LAN, 6: Internet, 7 and 8: Router, 10 and 11: Multi-function device, 22 and 72 and 103: CPU, 60: Mediation server, 100, 110, and 120: Service server

Claims (5)

サーバ装置と通信可能な中継装置とネットワークを介して通信することが可能なネットワークインターフェースと、 A network interface capable of communicating via a network with a relay device capable of communicating with the server device;
プロセッサと、 A processor,
を備える画像処理装置であって、 An image processing apparatus comprising:
前記プロセッサは、 The processor is
セッション確立型である第1のプロトコルに従ったセッションを前記中継装置と前記画像処理装置との間で確立するセッション確立手段と、 Session establishing means for establishing a session according to the first protocol that is a session establishment type between the relay device and the image processing device;
前記中継装置が前記サーバ装置から受信したサーバ要求情報であって、前記画像処理装置に対する要求を示す前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記中継装置から取得するサーバ要求情報取得手段と、 The server request information received by the relay device from the server device, the server request information indicating a request to the image processing device, is transmitted between the relay device and the image processing device via the network interface. Server request information acquisition means for acquiring from the relay device using the established session,
前記サーバ要求情報が示す要求に対する応答情報を生成し、生成した前記応答情報を、セッションレス型のプロトコルである第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置に送信する応答情報送信手段と、 A response in which response information to the request indicated by the server request information is generated, and the generated response information is transmitted to the relay device via the network interface using a second protocol that is a sessionless protocol. Information transmission means,
して機能し、 And then work,
前記サーバ要求情報は、通信を行うために用いる情報又は画像処理装置の装置状態を示す情報の要求を示すGETリクエスト情報、及び/又は、前記画像処理装置の設定変更の要求を示すSETリクエスト情報を含み、 The server request information is GET request information indicating a request for information used for communication or information indicating a device state of the image processing apparatus, and/or SET request information indicating a request for changing the setting of the image processing apparatus. Including,
前記応答情報は、 The response information is
取得した前記サーバ要求情報が前記GETリクエスト情報を含む場合に、前記GETリクエスト情報が示す要求に応じた情報を含むGETレスポンス情報を含み、 When the acquired server request information includes the GET request information, includes GET response information including information corresponding to the request indicated by the GET request information,
取得した前記サーバ要求情報が前記SETリクエスト情報を含む場合に、前記SETリクエスト情報が示す要求に応じた設定変更を実行したことを示す情報を含むSETレスポンス情報を含む、 When the acquired server request information includes the SET request information, includes SET response information including information indicating that the setting change corresponding to the request indicated by the SET request information has been executed,
ことを特徴とする画像処理装置。 An image processing device characterized by the above.
前記サーバ要求情報取得手段は、前記中継装置が生成した第1識別情報であって、前記サーバ要求情報を識別するための前記第1識別情報を、前記サーバ要求情報とともに、前記中継装置から取得し、 The server request information acquisition means acquires, from the relay device, the first identification information for identifying the server request information, which is the first identification information generated by the relay device, together with the server request information. ,
前記応答情報送信手段は、前記応答情報とともに、前記第1識別情報を前記中継装置に送信することを特徴とする、請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the response information transmitting unit transmits the first identification information to the relay device together with the response information.
前記プロセッサは、 The processor is
前記セッションが確立してから、前記サーバ要求情報を取得することなく所定の時間が経過した場合に、前記セッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置に送信する認識要求情報送信手段と、 When a predetermined time has elapsed without acquiring the server request information since the session was established, a reply of recognition information indicating that the relay device recognizes that the session is established is returned. Recognition request information transmitting means for transmitting the recognition request information requested to the relay device to the relay device via the network interface using the second protocol;
前記中継装置が前記第2のプロトコルを用いて前記画像処理装置に返信した前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、 Server recognition information acquisition means for acquiring, through the network interface, the recognition information returned by the relay device to the image processing device using the second protocol;
前記サーバ認識情報取得手段が前記認識情報を取得できなかった場合に、前記第1のプロトコルに従ったセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して前記中継装置に送信する確立要求情報送信手段と、 If the server recognition information acquisition unit cannot acquire the recognition information, the establishment request information requesting establishment of a session according to the first protocol between the relay device and the image processing device is displayed. An establishment request information transmitting unit for transmitting to the relay device via the network interface,
して機能することを特徴とする、請求項1又は2に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the image processing apparatus functions as a device.
前記第1のプロトコルは、XMPPoverBOSH(eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP)であり、 The first protocol is XMPPoverBOSH (eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP),
前記第2のプロトコルは、HTTP(Hypertext Transfer Protocol)である、 The second protocol is HTTP (Hypertext Transfer Protocol),
ことを特徴とする、請求項1〜3のいずれか一項に記載の画像処理装置。 The image processing device according to any one of claims 1 to 3, characterized in that:
前記プロセッサは、 The processor is
前記第1のプロトコルに従ったセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置に送信する確立要求情報送信手段として機能し、 Transmission of establishment request information, which transmits establishment request information requesting establishment of a session according to the first protocol between the relay apparatus and the image processing apparatus to the relay apparatus via the network interface. Function as a means,
前記確立要求情報送信手段は、 The establishment request information transmitting means,
前記画像処理装置がセッション維持モードであることを条件として、記憶部に記憶されている前記セッションを確立するためのセッション維持情報に基づいて、前記確立要求情報を、前記中継装置に送信することを特徴とする、請求項1〜4のいずれか一項に記載の画像処理装置。 Transmitting the establishment request information to the relay device based on session maintenance information for establishing the session stored in the storage unit, provided that the image processing device is in the session maintenance mode. The image processing device according to any one of claims 1 to 4, which is characterized.
JP2019096135A 2019-05-22 2019-05-22 Relay device, image processing device, and communication system Active JP6750706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019096135A JP6750706B2 (en) 2019-05-22 2019-05-22 Relay device, image processing device, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019096135A JP6750706B2 (en) 2019-05-22 2019-05-22 Relay device, image processing device, and communication system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017251460A Division JP6531817B2 (en) 2017-12-27 2017-12-27 Relay apparatus, image processing apparatus and communication system

Publications (2)

Publication Number Publication Date
JP2019179560A JP2019179560A (en) 2019-10-17
JP6750706B2 true JP6750706B2 (en) 2020-09-02

Family

ID=68278696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019096135A Active JP6750706B2 (en) 2019-05-22 2019-05-22 Relay device, image processing device, and communication system

Country Status (1)

Country Link
JP (1) JP6750706B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7427951B2 (en) * 2019-12-16 2024-02-06 ブラザー工業株式会社 Programs, program groups, and information processing devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350604A (en) * 2000-06-09 2001-12-21 Canon Inc Device and method for print control, and storage medium
JP2004005418A (en) * 2002-02-26 2004-01-08 Ricoh Co Ltd Agent device, image forming device management system, method and program thereof and recording medium
WO2007039942A1 (en) * 2005-10-06 2007-04-12 Mitsubishi Denki Kabushiki Kaisha Terminal device, server device, and command device
US9436414B2 (en) * 2010-05-08 2016-09-06 Hewlett-Packard Development Company, L.P. Managing a printing device behind a firewall
JP5712562B2 (en) * 2010-10-29 2015-05-07 セイコーエプソン株式会社 Content output system, content server, and content output method
JP5793010B2 (en) * 2011-06-28 2015-10-14 キヤノン株式会社 Apparatus and method for determining processing identification information from mail address

Also Published As

Publication number Publication date
JP2019179560A (en) 2019-10-17

Similar Documents

Publication Publication Date Title
JP6107261B2 (en) Relay device, image processing device, and communication system
EP3171581B1 (en) Print device monitoring method and system, and print monitoring server
JP6056795B2 (en) Image processing system, gateway device, gateway device control method, gateway device control program
JP4403135B2 (en) Web service utilization system
JP6318776B2 (en) Communication system and relay device
JP5780136B2 (en) server
JP2014179021A (en) Information processing device, relay server, information relay method, information relay program and communication system
JP2012159914A (en) Printing system and printer
JP2012056117A (en) Printing system, printer, control method of printer, and program
JP5063253B2 (en) Network system and communication method
JP6531817B2 (en) Relay apparatus, image processing apparatus and communication system
JP6265257B2 (en) Relay device, image processing device, and communication system
JP6750706B2 (en) Relay device, image processing device, and communication system
JP4676850B2 (en) Data processing system, data management device, program, and recording medium
JP5571911B2 (en) Image processing apparatus, control method thereof, and program
JP2014011582A (en) Image processing apparatus, and method and program of controlling the same
JP4577118B2 (en) Service providing system, client, server and program
JP6669992B2 (en) Image reading apparatus, image reading method, and image forming program
JP2006252321A (en) Electronic document management system, print setting device, print history device, image forming apparatus, print setting service device, temporary document keeping service device and control program
JP6336377B2 (en) Network system and image forming apparatus
JPH11275291A (en) Client/server system
JP6421454B2 (en) Server apparatus, gateway apparatus, image processing system, server apparatus control method, gateway apparatus control method, server apparatus control program, and gateway apparatus control program
JP6064703B2 (en) Relay server
JP5928156B2 (en) E-mail processing system and e-mail processing method
JP2007128215A (en) Information collection on network device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200515

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200727

R150 Certificate of patent or registration of utility model

Ref document number: 6750706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150