JP6265257B2 - Relay device, image processing device, and communication system - Google Patents
Relay device, image processing device, and communication system Download PDFInfo
- Publication number
- JP6265257B2 JP6265257B2 JP2016246630A JP2016246630A JP6265257B2 JP 6265257 B2 JP6265257 B2 JP 6265257B2 JP 2016246630 A JP2016246630 A JP 2016246630A JP 2016246630 A JP2016246630 A JP 2016246630A JP 6265257 B2 JP6265257 B2 JP 6265257B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- request information
- 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
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
Description
本明細書では、画像処理装置およびサーバ装置とネットワークを介して接続されている中継装置などを開示する。 In this specification, a relay device connected to the image processing device and the server device via a network is disclosed.
プリンタ機能やFAX機能などを備える画像処理装置と、画像処理装置を管理するための管理装置とが、インターネットを介して接続されているシステムが存在する。また、関連する技術が、特許文献1に開示されている。 There is a system in which an image processing apparatus having a printer function or a FAX function and a management apparatus for managing the image processing apparatus are connected via the Internet. A related technique is disclosed in Patent Document 1.
管理装置が画像処理装置から各種情報を取得して保守点検を行う保守点検サービスや、管理装置から画像処理装置の各種設定を変更する遠隔設定サービスなどのプッシュサービスを提供するために、管理装置側においてプッシュサービスを提供するタイミングとなったときに、インターネットを介して、管理装置側から画像処理装置へプッシュサービスに関する情報を送信したい場合がある。しかし、不正アクセスや侵入を防止するために、ファイアウォールが設定されている場合には、管理装置から画像処理装置へのアクセスが遮断される場合がある。また、画像処理装置が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 to perform maintenance / inspection and a remote setting service to change various settings of the image processing device from the management device, the management device side When it is time to provide the push service, there is a case where it is desired to transmit information related to the push service from the management apparatus side to the image processing apparatus via the Internet. However, when a firewall is set to prevent unauthorized access or intrusion, access from the management apparatus to the image processing apparatus may be blocked. Further, when the image processing apparatus is under the control of NAT (abbreviation of Network Address Translation), the management apparatus may not be able to access the image processing apparatus.
本明細書に記載されている中継装置は、画像処理装置およびサーバ装置とネットワークを介して通信することが可能なネットワークインターフェースと、プロセッサと、を備える中継装置であって、前記プロセッサは、前記画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、前記中継装置が前記サーバ装置から受信した要求情報を前記画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する確立要求情報取得手段と、前記サーバ装置が前記中継装置あてに送信した、前記画像処理装置に対する要求を示すサーバ要求情報を、前記ネットワークインターフェースを介して取得するサーバ要求情報取得手段と、前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記確立要求情報取得手段が前記確立要求情報を取得済であるならば、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、して機能することを特徴とする。 The relay device described in this 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 Establishing request information sent to the relay device by the processing device, and transmitting the request information received from the server device by the relay device to the image processing device according to a first protocol of session establishment type Establishment request information acquisition means for acquiring the establishment request information for requesting establishment of a session for enabling server push between the relay apparatus and the image processing apparatus via the network interface; A server that indicates a request to the image processing apparatus transmitted from the server apparatus to the relay apparatus. Server request information acquisition means for acquiring server request information via the network interface, and when the server request information acquisition means acquires the server request information, the establishment request information acquisition means acquires the establishment request information. If completed, the server request information acquired by the server request information acquisition means is processed using the session established between the relay device and the image processing device via the network interface. It functions as server request information output means for outputting to be transmitted to the device.
本明細書に実施形態として記載されている中継装置、画像処理装置、および通信システムによると、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置側においてプッシュサービスを提供するタイミングとなったときに、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバ装置側においてプッシュサービスを提供するタイミングとなったときにはいつでも、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。 According to the relay device, the image processing device, and the communication system described as embodiments in the present specification, a server push is made possible using a session established between the image processing device and the relay device, and the server When it is time to provide the push service on the device side, it is possible to perform server push that transmits server request information from the server device to the image processing device via the relay device. Accordingly, whenever it is time to provide the push service on the server device side, the push service can be provided to the image processing device by server push.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置から、第1のネットワークに通信制御装置を介して接続する中継装置を介して、第1のネットワークに接続した画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、第1のネットワークに接続した画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, image processing connected to a first network from a server device via a relay device connected to the first network via a communication control device Server request information can be transmitted to the device. Thereby, it is possible to always provide the push service to the image processing apparatus connected to the first network.
本明細書に実施形態として記載されている中継装置等によれば、複数の画像処理装置の各々との間で、複数のサーバプッシュを可能とするセッションを確立した中継装置を介して、サーバ装置から、複数の画像処理装置までサーバ要求情報を伝達することが可能となる。これにより、複数の画像処理装置へプッシュサービスを常時提供することができる。 According to a relay device or the like described as an embodiment in the present specification, a server device via a relay device that establishes a session that enables a plurality of server pushes with each of a plurality of image processing devices. Therefore, server request information can be transmitted to a plurality of image processing apparatuses. Thereby, a push service can be always provided to a plurality of image processing apparatuses.
本明細書に実施形態として記載されている中継装置等によれば、サーバプッシュを可能とするセッションを確立した複数の画像処理装置の各々の識別情報を記憶した中継装置を介して、中継装置とセッションを確立している画像処理装置のうち、サーバ装置側が指定する画像処理装置まで、サーバ要求情報を伝達することが可能となる。これにより、サーバ装置側が指定する画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in this specification, the relay device and the relay device via the relay device that stores the identification information of each of a plurality of image processing devices that have established a session that enables server push. Server request information can be transmitted to the image processing apparatus designated by the server apparatus among the image processing apparatuses that have established a session. Accordingly, it is possible to always provide a push service to the image processing apparatus designated by the server apparatus.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置が第1のプロトコルとは異なる第2のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, server request information transmitted by the server device using a second protocol different from the first protocol is transmitted to the image processing device via the relay device. It is possible to transmit to the device using the first protocol. Accordingly, it is possible to always provide the push service to the image processing device without the server device having to support the first protocol.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置と中継装置との間でセッションを確立する必要なく、サーバ装置からセッションレス型のプロトコルを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することが可能となる。これにより、サーバ装置にサーバプッシュするためのセッションを確立する負荷をかける必要なく、画像処理装置へプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in this specification, server request information transmitted from the server device using a sessionless protocol 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 apparatus using the first protocol. Accordingly, it is possible to always provide the push service to the image processing apparatus without applying a load for establishing a session for pushing the server to the server apparatus.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側と中継装置との間でセッションを確立する必要なく、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, the response information transmitted by the image processing device in response to the server request information is not required to establish a session between the server device side and the relay device. It is possible to transmit to the server device as response data in the sessionless protocol used to transmit the server request information from the server device side via the relay device. Accordingly, it is possible to always provide a push service related to response information without applying a load for establishing a session between the server device and the relay device.
本明細書に実施形態として記載されている中継装置等によれば、サーバ要求情報に対して画像処理装置が送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, it becomes possible to transmit response information transmitted from the image processing device to the server request information 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 or the like described as an embodiment in the present specification, the image processing device does not need to use a session established between the image processing device and the relay device, and the image processing device uses the first protocol for server request information. It is possible to transmit the response information transmitted using a third protocol different from that to the server device via the relay device. Accordingly, it is possible to always provide a push service related to response information without using a session for enabling server push for transmission of response information, which is a purpose different from that of server push.
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することが可能となる。これにより、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, it is not necessary to newly establish a session between the image processing device and the relay device. It is possible to transmit the response information transmitted using the above protocol to the server device via the relay device. Accordingly, it is possible to always provide a push service related to response information without applying a load for establishing a session for transmission of response information.
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で新たにセッションを確立する必要なく、サーバ要求情報に対して画像処理装置がセッションレス型のプロトコルを用いて送信した応答情報を、中継装置を介して、サーバ装置側からのサーバ要求情報の送信に用いられたセッションレス型のプロトコルにおけるレスポンスデータとして、サーバ装置まで伝達することが可能となる。これにより、サーバ装置と中継装置との間にセッションを確立する負荷をかける必要なく、応答情報の送信のためにセッションを確立する負荷をかける必要なく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, it is not necessary to newly establish a session between the image processing device and the relay device. It is possible to transmit response information transmitted using the protocol of the server to the server device via the relay device as response data in the sessionless protocol used for transmitting the server request information from the server device side. Become. Accordingly, there is no need to apply a load for establishing a session between the server device and the relay device, and a push service related to the response information is always provided without applying a load for establishing a session for transmission of response information. be able to.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からセッションレス型の第2のプロトコルを用いて送信した特定サーバ要求情報と、セッション確立型第1のプロトコルを用いて通信先画像処理装置まで伝送された特定サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、直接にサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、サーバ装置が複数存在していたとしても、直接に複数のサーバ装置と画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを提供することができる。また、画像処理装置が複数存在していたとしても、直接にサーバ装置と複数の画像処理装置との間でサーバプッシュを可能にするセッションを確立する負荷なく特定サーバ情報の送信元であるサーバ装置にて、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in the present specification, the specific server request information transmitted from the server device side using the sessionless type second protocol and the session establishment type first protocol are used. The response information transmitted by the image processing apparatus with respect to the specific server request information transmitted to the communication destination image processing apparatus is recognized as information corresponding to a pair of corresponding request-response relationships. 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 a push service related to response information that correctly corresponds to specific server information without a load of establishing a session that enables server push directly between the server device and the image processing device. Further, even if there are a plurality of server devices, the server device that is the transmission source of the specific server information without a load that establishes a session that enables server push directly between the plurality of server devices and the image processing device. Thus, it is possible to provide a push service related to response information that correctly corresponds to the specific server information. In addition, even when there are a plurality of image processing apparatuses, the server apparatus that is a transmission source of specific server information without a load for establishing a session that enables server push directly between the server apparatus and the plurality of image processing apparatuses The push service related to the response information that correctly corresponds to the specific server information can be always provided.
本明細書に実施形態として記載されている中継装置等によれば、特定サーバ要求情報を通信先画像処理装置に出力することができない場合には、エラー情報をサーバ装置へ出力し、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、特定サーバ要求情報を出力したサーバ装置が、タイムアウトが発生するまで応答情報の返信を待機する、あるいは、タイムアウトが発生したと判断し、特定サーバ要求情報の送信を繰り返すといった、サーバ装置、中継装置、および第2のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、プッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in this specification, when specific server request information cannot be output to the communication destination image processing device, error information is output to the server device. Terminate the connection normally. As a result, the server device that has output the specific server request information that occurs because the connection does not end normally waits for response information until a timeout occurs, or determines that a timeout has occurred, and the specific server It is possible to prevent the occurrence of a situation that causes a load on the server device, the relay device, and the second network, such as repeated transmission of request information. As a result, the push service can be always provided without a load that occurs because the connection does not end normally.
本明細書に実施形態として記載されている中継装置等によれば、セッションレス型のコネクションにおけるレスポンスデータを通信先画像処理装置へ出力することにより、セッションレス型のコネクションを正常に終了させる。これにより、コネクションが正常に終了しないために発生する、応答情報を出力した通信先画像処理装置が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、送信先画像処理装置、中継装置、および第1のネットワークの負荷となる事態の発生を防止することができる。これにより、コネクションが正常に終了しないために発生する負荷なく、応答情報に関連するプッシュサービスを提供することができる。 According to the relay device or the like described as an embodiment in the present specification, the sessionless connection is normally terminated by outputting response data in the sessionless connection to the communication destination image processing device. As a result, the communication destination image processing apparatus that has output the response information, which occurs because the connection is not normally terminated, waits for response data to be returned until a timeout occurs, or determines that a timeout has occurred. It is possible to prevent the occurrence of a situation that causes a load on the destination image processing device, the relay device, and the first network, such as repeated transmission of information. As a result, it is possible to provide a push service related to response information without a load that occurs because the connection does not end normally.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置に第1識別情報を作成する負荷をかける必要なく、中継装置を介して、通信先画像処理装置から特定サーバ要求情報の送信元であるサーバ装置まで応答情報を伝達することが可能となる。これにより、サーバ装置に第1識別情報を作成する負荷をかける必要なく、特定サーバ情報に正しく対応する応答情報に関連するプッシュサービスを常時提供することができる。 According to the relay device or the like described in the present embodiment as the embodiment, the specific server request information is transmitted from the communication destination image processing device via the relay device without applying a load for creating the first identification information to the server device. It is possible to transmit the response information to the server device that is the transmission source. Accordingly, it is possible to always provide a push service related to response information that correctly corresponds to the specific server information without applying a load for creating the first identification information to the server device.
本明細書に実施形態として記載されている中継装置等によれば、サーバ装置側からHTTPを用いて送信したサーバ要求情報を、中継装置を介して、画像処理装置まで第1のプロトコルを用いて伝達することができる。これにより、サーバ装置が第1のプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いてプッシュサービスを常時提供することができる。 According to the relay device or the like described as an embodiment in this specification, 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 communicate. As a result, the server device does not need to support the first protocol, and the push service can be always provided using HTTP that is generally used as long as the device is connected to the Internet.
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いる必要なく、サーバ要求情報に対して画像処理装置がHTTPを用いて送信した応答情報を、中継装置を介して、サーバ装置まで伝達することができる。これにより、画像処理装置や中継装置が応答情報を通信するためだけに新たなプロトコルに対応する必要なく、インターネットに接続する装置であれば一般的に用いられているHTTPを用いて、応答情報に対応するプッシュサービスを提供することができる。また、画像処理装置が、HTTPを用いてプルサービスを利用可能な画像処理装置であれば、プルサービスの利用のために備えている、HTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを常時提供することができるので、より都合が良い。 According to the relay device or the like described as an embodiment in the present specification, the image processing device uses HTTP for server request information without using a 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, it is not necessary for the image processing device or the relay device to support a new protocol only for communication of response information, and the response information using HTTP generally used for devices connected to the Internet. A corresponding push service can be provided. Further, if the image processing apparatus is an image processing apparatus that can use the pull service using HTTP, a configuration for performing processing related to HTTP, for example, a protocol stack for performing HTTP processing, provided for using the pull service. Since it is possible to always provide a push service corresponding to response information using, it is more convenient.
本明細書に実施形態として記載されている中継装置等によれば、画像処理装置と中継装置との間で確立した、XMPP over BOSHに基づく、サーバプッシュを可能とするセッションを用いて、サーバ装置側から、中継装置を介して、画像処理装置までサーバ要求情報を伝達することが可能となる。XMPP over BOSHはHTTPをベースとしたプロトコルである。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、常時都合が良い。 According to a relay device or the like described as an embodiment in the present specification, a server device using a session that enables server push based on XMPP over BOSH established between an image processing device and a relay device. Server request information can be transmitted from the side to the image processing apparatus via the relay apparatus. XMPP over BOSH is a protocol based on HTTP. This makes it possible to provide a push service corresponding to response information using a configuration that performs processing related to HTTP that is generally used as long as it is a device connected to the Internet, for example, a protocol stack that performs HTTP processing. So it is always convenient.
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置と中継装置との間で確立したセッションを用いて、サーバプッシュが可能な状態とし、サーバ装置から、中継装置を介して、画像処理装置までサーバ要求情報を伝達するサーバプッシュを行うことが可能となる。これにより、サーバプッシュによって画像処理装置へプッシュサービスを提供することができる。 According to the image processing apparatus or the like described as an embodiment in the present specification, a server push is enabled using a session established between the image processing apparatus and the relay apparatus, and the server apparatus and the relay apparatus It is possible to perform a server push for transmitting server request information to the image processing apparatus via the. Thereby, a push service can be provided to the image processing apparatus by server push.
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、中継装置からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus or the like described as an embodiment in the present specification, even when a predetermined time has elapsed since a 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. This makes it possible to always provide a push service using a session establishment type protocol.
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のセッションが無効にされてしまったとしても、新たにセッションを確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described in the embodiment of the present specification, even if the session between the image processing apparatus and the relay apparatus is invalidated, a new session can be established. This makes it possible to always provide a push service using a session establishment type protocol.
本明細書に実施形態として記載されている画像処理装置等によると、画像処理装置と中継装置との間のコネクションが無効にされてしまったとしても、新たにコネクションを確立させることができる。これにより、新たにセッションを確立する負荷なく、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus or the like described as an embodiment in the present specification, a new connection can be established even if the connection between the image processing apparatus and the relay apparatus is invalidated. This makes it possible to always provide a push service using a session establishment type protocol without the burden of newly establishing a session.
本明細書に実施形態として記載されている画像処理装置等によると、サーバ要求情報に対して画像処理装置が送信した応答情報を、セッションレス型のプロトコルを用いて、サーバ装置まで伝達することが可能となる。これにより、サーバプッシュを可能とするためのセッションをサーバプッシュとは異なる目的である応答情報の送信に使用することなく、応答情報に関連するプッシュサービスを常時提供することができる。 According to the image processing apparatus or the like described as an embodiment in the present specification, response information transmitted by the image processing apparatus in response to server request information can be transmitted to the server apparatus using a sessionless protocol. It becomes possible. Accordingly, it is possible to always provide a push service related to response information without using a session for enabling server push for transmission of response information, which is a purpose different from that of server push.
本明細書に実施形態として記載されている画像処理装置等によると、サーバ装置側からセッションレス型のプロトコルを用いて送信したサーバ要求情報と、サーバ要求情報に対して画像処理装置が送信した応答情報とが、互いに対応する一対の要求−応答の対応関係にある情報であるか否かを認識することができる。よって、中継装置を介して、画像処理装置からサーバ要求情報の送信元であるサーバ装置まで、応答情報を伝達することが可能となる。 According to the image processing apparatus or the like described as an embodiment in the present specification, server request information transmitted from the server apparatus side using a sessionless protocol, and a response transmitted by the image processing apparatus to the server request information It is possible to recognize whether or not the information is information having a correspondence relationship between a pair of request and response 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 or the like described in the embodiment of 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 maintenance mode, image processing is performed. Establishment request information is transmitted from the device, and the session can be re-established. This makes it possible to always provide a push service using a session establishment type protocol.
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置がセッション維持モードであれば、画像処理装置が起動したときに、セッションを確立することができる。これにより、セッション確立型のプロトコルを用いて、画像処理装置の起動時から、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus and the like described as embodiments in the present specification, if the image processing apparatus is in the session maintenance mode, a session can be established when the image processing apparatus is activated. Accordingly, it becomes possible to always provide a push service from the time when the image processing apparatus is activated using a session establishment type protocol.
本明細書に実施形態として記載されている画像処理装置等によれば、画像処理装置の製造時にセッション維持モードであることを示すモード情報を記憶部に記憶させることで、画像処理装置が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、画像処理装置の製造側または販売側で、プッシュサービスを常時提供させたい画像処理装置を決定し、決定した画像処理装置にプッシュサービスを利用させることが可能となる。 According to the image processing apparatus or the like described as an embodiment in the present specification, the image processing apparatus is activated by storing mode information indicating the session maintenance mode in the storage unit when the image processing apparatus is manufactured. Sometimes a session can be established. This makes it possible to determine the image processing apparatus to which the push service is to be provided at all times, such as a vendor or a dealer, on the manufacturing or sales side of the image processing apparatus, and to make the determined image processing apparatus use the push service.
本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いる第2のプロトコルを用いて、第2のプロトコルの上位のプロトコルである第1のプロトコルのセッションを確立できる。これにより、画像処理装置や中継装置がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。 According to the image processing apparatus or the like described as an embodiment in this specification, a session of a first protocol that is an upper protocol of the second protocol is established using the second protocol used for using the pull service. it can. This makes it possible to always provide a push service without having to deal with a new protocol only for the image processing apparatus and the relay apparatus to establish a session.
本明細書に実施形態として記載されている画像処理装置等によると、プルサービスの利用に用いるHTTPを用いて、上位のプロトコルであるサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。 According to the image processing apparatus or the like described as an embodiment in the present specification, a session for enabling server push, which is a higher-level protocol, can be established using HTTP used for using a pull service. This makes it possible to provide a push service corresponding to response information using a configuration that performs processing related to HTTP that is generally used as long as it is a device connected to the Internet, for example, 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 the elements described in the claims at the beginning of the application.
(Feature 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 for the image processing apparatus transmitted by the server apparatus to the relay apparatus;
The image processing apparatus transmits the server request information acquired by the server request information acquisition unit according to a first protocol of a session establishment type, which is establishment request information transmitted to the relay apparatus by the image processing apparatus. Establishment request information acquisition means for acquiring the establishment request information for requesting establishment of a session for enabling server push to be transmitted between the relay apparatus and the image processing apparatus via the network interface. When,
When the server request information acquisition means has acquired the server request information, if the establishment request information acquisition means has already acquired the establishment request information, the server request information acquired by the server request information acquisition means Server request information output means for outputting to the image processing apparatus using the session established between the relay apparatus and the image processing apparatus via the network interface;
A relay device that functions as a relay.
(Feature 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 transmits request information transmitted from a device connected to a network other than the first network to a device connected to the first network without using the session, to the first network. Do not transfer to connected device
The establishment request information acquisition means acquires the establishment request information transmitted to the relay apparatus by the image processing apparatus connected to the first network via the network interface,
The server request information acquisition means acquires the server request information transmitted to the relay device by the server device not connected to the first network via the network interface,
The server request information output means is connected to the first network when the server request information acquisition means acquires the server request information transmitted by the server device. If the establishment request information transmitted by the image processing apparatus has been acquired, the server request information acquired by the server request information acquisition means is transmitted between the relay apparatus and the image processing apparatus via the network interface. Output to be sent to the image processing apparatus connected to the first network using the session established between,
The relay device according to the first feature.
(Feature 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 acquisition means acquires, via the network interface, the establishment request information transmitted to the relay apparatus by the plurality of image processing apparatuses connected to the plurality of first networks.
The server request information acquisition unit transmits the server request information to a communication destination image processing apparatus that is an image processing apparatus selected as a communication destination from among the plurality of image processing apparatuses, which is transmitted from the server apparatus to the relay apparatus. Specific server request information is acquired via the network interface,
The server request information output means has acquired the establishment request information transmitted by the communication destination image processing apparatus when the server request information acquisition means has acquired the specific server request information. If so, 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 send to the destination image processing device,
The relay device according to Feature 2,
(Feature 4)
The processor is
Functioning as image processing device identification information output means for outputting the image processing device identification information for identifying the transmission source image processing device, which is the image processing device that is the transmission source of the establishment request information, to be stored in the storage device;
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 means sends the server request information acquired by the server request information acquisition means 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 over the network interface;
The relay device according to Feature 3, wherein
(Feature 5)
The server request information acquisition means 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. 5. The relay device according to any one of features 1 to 4.
(Feature 6)
The processor is
The server request sent to the relay device by the server device using a sessionless connection according to the second protocol, which is a sessionless protocol, sent to the relay device by the server device Get 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. 6. The relay device according to feature 5.
(Feature 7)
The processor is
Response information acquisition for acquiring, via the network interface, response information for a request indicated by the server request information, which is transmitted to the relay apparatus by a communication destination image processing apparatus that is a communication destination image processing apparatus of the server request information. Means,
Response information output means for outputting the response information acquired by the response information acquisition means to be transmitted to the server device via the network interface;
Function as
The response information output means is the sessionless type protocol using the connection established with the server device via the network interface for the response information acquired by the response information acquisition means. Including the response data in accordance with the second protocol, and outputting to send to the server device;
The relay device according to Feature 6,
(Feature 8)
The processor is
Response information acquisition for acquiring, via the network interface, response information for a request indicated by the server request information, which is transmitted to the relay apparatus by a communication destination image processing apparatus that is a communication destination image processing apparatus of the server request information. Means,
Response information output means for outputting the response information acquired by the response information acquisition means to be transmitted to the server device via the network interface;
The relay device according to any one of features 1 to 7, wherein the relay device functions as a relay device.
(Feature 9)
The response information acquisition means transmits data to the relay apparatus, which is a communication destination image processing apparatus that is the communication destination of the server request information, according to a third protocol different from the first protocol. 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.
9. The relay device according to feature 8, wherein
(Feature 10)
The processor is
Third establishment request information acquisition means for acquiring, via the network interface, third establishment request information transmitted to the relay device by a communication destination image processing apparatus that is a communication destination image processing apparatus of the server request information; ,
Function as
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 that is a sessionless protocol.
The relay apparatus according to claim 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 apparatus via the network interface.
(Feature 11)
The processor establishes a sessionless connection between the relay device and the server device according to a second protocol that is a sessionless protocol transmitted from the server device to the relay device. Functioning as second establishment request information acquisition means for acquiring second establishment request information for requesting via the network interface;
The server request information acquisition means 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 output means acquires the server request information acquisition means when the server request information acquisition means acquires the information included in the request data according to the second protocol as the server request information. Outputting the server request information to be transmitted to the image processing apparatus using the session established between the relay apparatus and the image processing apparatus via the network interface;
The processor obtains, via the network interface, third establishment request information transmitted to the relay apparatus by a communication destination image processing apparatus that is a communication destination image processing apparatus of the server request information. Functions as an information acquisition means,
The third establishment request information 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.
The response information output means is the sessionless type protocol using the connection established with the server device via the network interface for the response information acquired by the response information acquisition means. 11. The relay apparatus according to claim 10, wherein the relay apparatus includes the response data according to the second protocol and outputs the response data to be transmitted to the server apparatus.
(Feature 12)
In the relay apparatus, the server request information acquisition unit receives specific server request information that is server request information for a communication destination image processing apparatus that is an image processing apparatus selected as a communication destination from among the plurality of image processing apparatuses. First identification information storage control means for storing in the storage unit first identification information for identifying the acquired specific server request information so as to be distinguishable from other server request information in response to acquisition from the device,
The server request information output means outputs the first identification information to the communication destination image processing device 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 for identifying specific server request information that is a source of the response information from the communication destination image processing device,
When the response information acquisition unit acquires the second identification information together with the response information, the relay information is acquired by the response information acquisition unit based on the second identification information and the first identification information. A connection specifying means for specifying a connection used for transmission from the server device side of the specific server request information corresponding to the response information,
The response information output unit includes the response information acquired by the response information acquisition unit in the response data according to the second protocol using the connection specified by the connection specifying unit and transmits the response information to the server device The relay device according to the feature 7, wherein the relay device outputs the signal to
(Feature 13)
When the specific server request information for the communication destination image processing device is acquired from the server device, the error information is displayed on the condition that the session with the communication destination image processing device is not established. The processor further functions as error information output means for outputting to the server device via the sessionless connection established with the processing device,
The request information is included in request data in the sessionless connection,
The relay apparatus according to any one of features 1 to 12, wherein the error information is included in response data in the sessionless connection.
(Feature 14)
The response information output means acquires the response information from the communication destination image processing apparatus as information included in request data in the sessionless connection.
8. The processor according to claim 7, wherein 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 acquiring the response information. Relay device.
(Feature 15)
The relay device includes first identification information generating means for generating the first identification information corresponding to the request information in response to acquiring 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 apparatus together with the specific server request information acquired by the server request information acquisition means.
The connection specifying unit acquires the first identification information stored in the storage unit and the response information acquiring unit when the response information acquiring unit acquires the second identification information together with the response information. When the second identification information matches, the connection information used for transmission from the server device of the request information corresponding to the first identification information is specified.
13. The relay device according to feature 12,
(Feature 16)
6. The relay apparatus according to claim 5, wherein the second protocol is HTTP (Hypertext Transfer Protocol).
(Feature 17)
The relay apparatus according to claim 9, wherein the third protocol is HTTP (Hypertext Transfer Protocol).
(Feature 18)
18. The relay apparatus according to any one of features 1 to 17, wherein the first protocol is XMPP over BOSH (abbreviation of eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP).
(Feature 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
Establishment requesting establishment of a session for enabling server push to output information from the server device between the relay device and the image processing device according to a first protocol of session establishment type Establishment request information output means for outputting request information to be transmitted to the relay device via the network interface;
Server request information indicating a request to the image processing apparatus received by the relay apparatus from the server apparatus after the session has been established, the server request information transmitted by the relay apparatus for the server push. Server request information acquisition means for acquiring 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 that functions as an image processing apparatus.
(Feature 20)
The processor is
After the establishment request information output means has transmitted the establishment request information, the server push from the relay device becomes possible. The server request information acquisition unit functions as a state maintenance processing unit that executes a process for maintaining a state in which the server push is possible when a predetermined time has passed without acquisition. An image processing apparatus according to 1.
(Feature 21)
The state maintenance processing means includes
After the establishment request information output means has transmitted the establishment request information, the server push from the relay device becomes possible. The recognition information indicating that the relay device recognizes that a session for enabling the server push has been established when a predetermined time has passed without the server request information acquisition means acquiring. Recognition request information output means for outputting recognition request information for requesting a reply to the relay device to be transmitted to the relay device via the network interface;
Server recognition information acquisition means for acquiring the recognition information sent from the relay device to the image processing device via the network interface;
Including
When the server recognition information acquisition unit cannot acquire the recognition information, the state maintenance processing unit causes the establishment request information output unit to transmit the establishment request information so that the server push is possible. maintain,
21. The image processing apparatus according to feature 20, wherein
(Feature 22)
The processor is a session that is a connection using the session when a session for enabling the server push from the relay device is established by the establishment request information output means transmitting the establishment request information. Function as second establishment request information output means for outputting second establishment request information for establishing establishment connection with the relay apparatus to be transmitted to the relay apparatus via the network interface And
The server request information acquisition means transmits the server request information transmitted for the server push by the relay device 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 includes
When the establishment request information output means transmits the establishment request information, the session and the session establishment type connection are established, and the server push from the relay apparatus is possible. When a predetermined time elapses without the server request information acquisition means acquiring the server request information transmitted to push the server, a session for enabling the server push is established. Recognition request information output means for outputting recognition request information for requesting the relay device to return a recognition information indicating that the relay device recognizes, to be transmitted to the relay device via the network interface;
Server recognition information acquisition means for acquiring the recognition information sent from the relay device to the image processing device via the network interface;
Including
When the server recognition information acquisition unit has acquired 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. Keep it possible,
22. The image processing apparatus according to feature 20 or 21,
(Feature 23)
The processor is
In response to the server request information acquisition means acquiring the server request information, a sessionless connection that 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 to be transmitted to the relay device via the network interface;
Response information for 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,
The image processing apparatus according to any one of features 19 to 22, further functioning.
(Feature 24)
The server request information acquisition means acquires, together with the server request information, first identification information for identifying the server request information from the relay device,
The image processing apparatus according to claim 23, wherein the response information output means outputs the first identification information acquired by the server request information acquisition means together with the response information to the relay apparatus.
(Feature 25)
The establishment request information output means, based on session maintenance information for establishing the session stored in a storage unit, on condition that the image processing apparatus is in a session maintenance mode, The image processing device according to any one of features 19 to 24, wherein the image processing device outputs the signal so as to be transmitted to the relay device.
(Feature 26)
The image processing apparatus further includes storage control means for storing mode information indicating whether or not the image processing apparatus is in the session maintenance mode in a storage unit,
The establishment request information output means, on condition that the mode information stored in the storage unit indicates the session maintenance mode when the image processing apparatus is activated. 26. The image processing apparatus according to claim 25, wherein the image processing apparatus outputs the data to be transmitted to the relay apparatus.
(Feature 27)
The image processing apparatus further includes storage control means for storing mode information indicating whether or not the image processing apparatus is in the session maintenance mode in a storage unit,
The establishment request information output means determines whether the image processing apparatus is in the session maintenance mode based on the mode information stored in the storage unit when the image processing apparatus is manufactured. The image processing apparatus according to feature 26.
(Feature 28)
The processor is
When the instruction information for instructing the use of the pull service provided by the server device is acquired, the second protocol, which is a lower protocol of the first protocol, is used to relate the use of the pull service to the server device. Related information request information output means for outputting related information request information for 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;
Function as
The establishment request information output means outputs the establishment request information to be transmitted to the relay apparatus via the network interface using the second protocol that is a lower protocol of the first protocol. ,
In the session established between the relay apparatus and the image processing apparatus via the network interface, the server request information acquisition means transmits the server request information transmitted for the server push by the relay apparatus. Obtaining from the relay device using the second protocol;
The image processing device according to any one of features 19 to 27, wherein:
(Feature 29)
The first protocol is XMPP over BOSH,
The second protocol is HTTP.
29. An image processing apparatus according to feature 28.
(Feature 30)
A communication system comprising a plurality of image processing devices, server devices, and relay devices,
The relay device can be connected to the plurality of image processing devices and the server device via a network,
The communication system is:
In response to a request for session establishment from the image processing apparatus to the relay apparatus, a plurality of sessions for enabling server push to output information from the server apparatus according to a first protocol that is a session establishment type A first establishment means for establishing between the relay device and each of the plurality of image processing devices;
The relay device acquires 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 apparatus to the communication destination image processing apparatus 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 response information for the specific server request information from the communication destination image processing device;
A communication system comprising:
<システムの構成>
図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 devices 10 and 11, an intermediary 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. Further, 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に従ったコネクション確立などを行う。
<Configuration 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 a CCD or 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 a ROM, RAM, flash memory, or hard disk. Electric signals that carry programs downloaded from servers on the Internet are not included in non-transitory media. In accordance with the application program 25 stored in the memory 24, the CPU 22 executes application processing for always using a push service, which will be described later, provided by the service servers 100 and 120. The CPU 22 performs protocol processing such as HTTP (abbreviation of Hyper Text Transfer Protocol) and 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. Execute. The CPU 22 performs session establishment according to XMPP over BOSH, which will be described later, connection establishment according to HTTP, and the like 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 an HTTP process that is an HTTP protocol process and an XMPP over BOSH program 28 for performing an XMPP over BOSH process that is an XMPP over BOSH protocol process. In the XMPP over BOSH process, the CPU 22 transmits HTTP request information or HTTP response information including various information according to the XMPP over BOSH through the HTTP process. When the network interface 16 receives HTTP request information or HTTP response information including various types of information according to XMPP over BOSH, the CPU 22 acquires the XMPP over BOSH processing through HTTP processing. A session according to XMPP over BOSH is also referred to as an XMPP session. Further, a connection conforming to HTTP is also referred to as an HTTP connection or a TCP connection. XMPP over BOSH is an example of a session establishment type protocol to be described later. 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 transmits the acquired transmission information from the network interface 16 using XMPP over BOSH, HTTP, or the like via protocol processing. Further, the CPU 22 acquires the reception information received by the network interface 16 in the application process via the protocol process. When an event to be notified to the application process occurs by the protocol process, the CPU 22 outputs event information by the protocol process. The CPU 22 can recognize an event that has occurred in the protocol process in the application process based on the event information. When a session or connection is established in the protocol process, the CPU 22 transmits information for identifying the established session or connection to the application process. The 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, and the like, 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 device 10 establishes an XMPP session with the mediation server 60 and maintains the session so that various push services described later provided by the service servers 100 and 120 can be used at all times. . The mode information may be stored in the memory 24 when the multi-function device 10 is manufactured. “Manufacturing time” is not limited to product manufacturing at a vendor factory. For example, when the dealer of the multi-function device 10 ships the multi-function device 10 to the customer, the setting before shipping is made to the multi-function device 10 is also included in “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 a pull service, which will be described later, provided by the service server 110 using HTTP.
本明細書における記載上の注意点を説明する。本明細書において、「仲介サーバ60のCPU72が、各種の情報を受信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「仲介サーバ60のCPU72が、各種の情報を送信する」という記載は、「仲介サーバ60のCPU72が、ネットワークインターフェース62を介して各種の情報を出力する」という技術内容を含んでいるものとする。なお、多機能機10のCPU22およびネットワークインターフェース16についても、同様の注意点が存在する。 The precautions for description in this specification will be described. In this specification, the description that “the CPU 72 of the mediation server 60 receives various types of information” includes the technical content that “the CPU 72 of the mediation server 60 acquires various types of information via the network interface 62”. Suppose that Further, the description “the CPU 72 of the mediation server 60 transmits various types of information” includes the technical content that “the CPU 72 of the mediation server 60 outputs various types of information via the network interface 62”. And Similar precautions exist for the CPU 22 and the network interface 16 of the multi-function device 10.
ここで、「データ」と「情報」の文言の定義を記載する。「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」を「A情報」と言い換えてもよい。また、「Aデータ」から複製された、または、変換された「Bデータ」は、「Aデータ」と同等の意味を持って使用される限り「A情報」である。 Here, the definitions of the words “data” and “information” are described. “Data” and “information” use “information” as a superordinate concept of “data”. Therefore, “A data” may be rephrased as “A information”. In addition, “B data” copied or converted from “A data” is “A information” as long as it is used with 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 device 10 or 11. The mediation server 60 is a server provided by the vendors of the multi-function devices 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 device management database 77, and a protocol stack 78. Similar to the memory 24, the memory 74 may be a computer-readable storage medium. The protocol stack 78 includes an HTTP program 81 and an XMPP over BOSH program 82. The CPU 72 executes application processing for causing the multi-function devices 10 and 11 to always use the push service provided by the service servers 100 and 120 according to the application program 75. The protocol processing executed by the CPU 22 according to the protocol stack 78 and the cooperation between the protocol processing and the application processing are in accordance with the contents described for the multi-function device 10. The device database 76 is a database for receiving and storing register information described later from the multi-function devices 10 and 11. The multi-function device management database 77 is an area for storing a communication status and a request ID. The communication status is information indicating whether each of the multi-function devices 10 and 11 is online or offline. The online state is a state in which an XMPP session described later is established between the multi-function device 10 and the mediation server 60. The offline state is a state where an 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 later. The request ID is generated corresponding to 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 service and push service, functions of routers 7 and 8>
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 A 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 that receives the request information returns the content data is an example of a pull service. An upload service in which the server A transmits content data together with request information requesting upload to the server B and the server B that receives the content data and request information stores the content data is also an example of a 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 a pull service, when the multi-function device 10 transmits the HTTP request information including the request information 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. The HTTP request information transferred by the router 7 includes information for identifying the HTTP request information transferred by the router 7 and information such as the IP address of the router 7. The service server 110 that has received the HTTP request information including the request data returns 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 is returned. The router 7 that has received the HTTP response information converts the HTTP response information to 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 response information. Since the HTTP response information is response information to the HTTP request information transmitted by the multi-function device 10, the router 7 transfers the HTTP response information using the private IP address of the multi-function device 10.
もし、サービスサーバ110が、多機能機10を送信先としたHTTPリクエスト情報を送信すると、ルータ7は、HTTPリクエスト情報を受信するものの、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報であることを特定できない。ルータ7は、HTTPリクエスト情報が、多機能機10が送信した情報への応答情報ではないので、HTTPリクエスト情報を多機能機10へ転送しない。 If the service server 110 transmits HTTP request information with the multi-function device 10 as a transmission destination, the router 7 receives the HTTP request information, but the HTTP request information is changed to the information transmitted by the multi-function device 10. Cannot be identified as 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 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 response information to the information that the multi-function device 10 is the transmission source, the information transmitted by the device on the Internet 6 side is changed to the multi-function device. If the information received by the router 7 from the device on the Internet 6 side is not response information to the information that the multi-function device 10 is the transmission source, the information transmitted by the device on the Internet 6 side The fact that the data is not transferred to the machine 10 is a firewall function of the router 7. In this way, if the information received by the router 7 from the device on the Internet 6 side is response information to the information that the multi-function device 10 is the transmission source, the information transmitted by the device on the Internet 6 side is changed to the multi-function device. It is a NAT function provided in the router 7 to transfer using 10 private IP addresses. As described above, a service that can be received by the multi-function device 10 by transmitting information requesting a service with the service server 110 as a transmission destination is a 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 transmitted to the service server 110 is transferred, the private IP address of the multi-function device 10, and the like, so that the response information transmitted by the service server 110 is stored. 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 device 10, and the like. A connection between the multi-function device 10 and the service server 110 is established by receiving and storing information for identifying HTTP request information, etc., and a 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を備えている。 Note that a connection using HTTP may be referred to as an HTTP connection. Since HTTP is a protocol based on TCP, it may be called a TCP connection instead of an HTTP connection. The multi-function device 10 includes a protocol stack 26 for performing communication according to HTTP 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におけるプッシュサービスの利用が制限される。 The push service transmits information related to the provision of the service from the server B to the device A that uses the service when the timing for providing the service is reached in the server B that provides the service. B is a service that uses the service provided by B. The maintenance inspection service in which the server B requests status information from the device A, the status information returned from the device A is managed by the server B, and the maintenance inspection according to the status information is performed is an example of a push service. The remote setting service in which the server B transmits setting information to the device A and performs various settings in the device A is an example of a 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 transmits the HTTP request information including information related to the provision of the service to the multi-function device 10 as the transmission destination, as described above, the router 7 does not receive the HTTP request information. The information is received but 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 firewall function of the router 7.
なお、多機能機10からは、サービスサーバ100においてサービスを提供するタイミングがわからないため、多機能機10からHTTPリクエスト情報を送信することでサービスサーバ100との間にコネクションを確立し、確立したコネクションを利用してサービスの提供に関連する情報を受信することができない。 Since the multi-function device 10 does not know when to provide the service in the service server 100, the multi-function device 10 establishes a connection with the service server 100 by transmitting HTTP request information from the multi-function device 10, and establishes the established connection. Cannot receive information related to the provision of services using.
なお、多機能機10、ルータ7を例に、プルサービス、プッシュサービス、およびルータの機能について説明したが、多機能機11、ルータ8についても、多機能機10、ルータ7と同様である。また、サービスサーバ100を例にプッシュサービスを説明したが、サービスサーバ120についても同様である。 The functions of the pull service, push service, and router have been described by taking the multi-function device 10 and the router 7 as an example, but the multi-function device 11 and the router 8 are the same as the multi-function device 10 and the router 7. The push service has been described by taking the service server 100 as an example, but 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. As an example of the online service, a maintenance inspection service for the multi-function devices 10 and 11, a remote setting service for the multi-function devices 10 and 11, and the like can be given. The service server 100 accesses the multi-function devices 10 and 11 via the Internet 6, acquires various types of information such as the remaining toner amount from the multi-function devices 10 and 11, and rewrites the settings of the multi-function devices 10 and 11. Process.
サービスサーバ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. Note that the configuration of the service servers 110 and 120 is basically the same as that of the service server 100, and a description thereof will be omitted.
<多機能機10の動作>
図2および図3のフローを用いて、多機能機10で、アプリケーションプログラム25に基づいて行なわれるアプリケーション処理について説明する。なお、多機能装置11で行なわれる処理は、多機能機10で行なわれる処理と同様であるため、説明は省略する。図2および図3のフローは、例えば、多機能機10の電源が投入されることに応じて開始されてもよい。
<Operation of multi-function device 10>
Application processing performed on the multi-function device 10 based on the application program 25 will be described with reference to the flowcharts of FIGS. 2 and 3. Note that the processing performed in the multi-function device 11 is the same as the processing performed in the multi-function device 10, and thus the description thereof is omitted. 2 and FIG. 3 may be started in response to, for example, turning on the power of the multi-function device 10.
S211においてCPU22は、セッション維持モードが「オン」に設定されているか否かを判断する。S211は、多機能機10の起動時に行なわれても良い。起動時の一例としては、多機能機10の電源が投入された場合や、電源が投入されたあとに起動を指示するユーザ操作を受けた場合などが挙げられる。当該判断は、メモリ24に記憶されているモード情報に基づいて判断するとしてもよい。セッション維持モードが「オン」に設定されていない場合(S211:NO)には、S213へ進む。 In S211, the CPU 22 determines whether or not the session maintenance mode is set to “ON”. S211 may be performed when the multi-function device 10 is activated. As an example of activation, there are a case where the power of the multi-function device 10 is turned on, a case where a user operation for instructing activation is received after the power is turned on, and the like. This determination may be made based on the mode information stored in the memory 24. If 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 or not 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 there is a user input to the operation unit 12, for example. If no input event has 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 due to an operation of turning on the session maintenance mode. If a negative determination is made (S215: NO), the process proceeds to S217, the CPU 22 executes a process according to the input operation, and the process returns to S213. On the other hand, if 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から他の装置に転送させたことを示す応答情報を取得し、サービスの実行状況をユーザに報知する処理が、プルサービス方式のアップロードサービスの利用に関する処理の例である。 If the generated input event is an input event generated by an operation for instructing the use of the pull service, in S217, the CPU 22 requests the use of the pull service by using the service server 110 as the transmission destination via the protocol processing. HTTP request information including request information is transmitted. 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 Perform processing related to usage. Processing related to use of the pull service type download service includes processing for forming an image based on content data included in HTTP response information in the multi-function device 10 and processing for storing content data included in HTTP response information in the memory 24. It is an example. Processing for 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 This is an example of processing related to 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 device 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 device as a transmission destination of request information to be described later. An example of the device ID is a 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 a memory capacity and a printable paper size. The register processing may be performed by communication based on HTTP.
S233においてCPU22は、メモリ24に記憶されているセッション維持情報に基づいて、たとえば、仲介サーバ60のIPアドレスをプロトコルスタック26に伝達し、セッション確立型のプロトコルであるXMPP over BOSHに従ったXMPPセッションを仲介サーバ60と確立するためのプロトコル処理を、プロトコルスタック26に行わせる。なお、多機能機10と仲介サーバ60の間にXMPPセッションが確立している状態のときに、多機能機11と仲介サーバ60との間のXMPPセッションが新たに確立されてもよい。逆の場合も同様である。 In S233, the CPU 22 transmits, for example, 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 an XMPP session according to XMPP over BOSH, which is a session establishment type protocol. The protocol stack 26 is caused to perform protocol processing for establishing a communication with the mediation server 60. Note that when an XMPP session is established between the multi-function device 10 and the mediation server 60, an XMPP session between the multi-function device 11 and the mediation server 60 may be newly established. The same applies to the reverse 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. The multi-function device 10 transmits HTTP request information including first request information for requesting the mediation server 60 to transmit a session ID to be used in the XMPP session according to XMPP over BOSH. 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レスポンス情報を返信する。 When the mediation server 60 obtains the XMPP session establishment request information transmitted by the multi-function device 10, the mediation server 60 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 is acquired by receiving 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 acquisition of the session ID according to XMPP over BOSH. HTTP request information including 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 mediation server 60 receives the HTTP request information including the session ID and the notification information transmitted from the multi-function device 10, it returns HTTP response information including response information indicating OK according to XMPP over BOSH. . As described above, the multi-function device 10 and the mediation server 60 acquire a common session ID through transmission / reception of various information according to XMPP over BOSH, thereby establishing an XMPP session. Thereafter, according to XMPP over BOSH, by transmitting HTTP request information including the session ID and various information, information using the established XMPP session is transmitted. The side that has acquired the information using the established XMPP session can recognize from the session ID that the acquired information is information transmitted using the established XMPP session.
XMPP over BOSH処理によって、XMPPセッションが確立したことを示すイベント情報が出力され、確立したセッションを識別する情報が、アプリケーション処理に伝達される。これにより、アプリケーション処理において、CPU22は、XMPPセッションの確立を認識することができる。XMPPセッションの確立を認識すると、CPU22は、S234へ進む。 By the XMPP over BOSH process, event information indicating that the XMPP session is established is output, and information for identifying the established session is transmitted to the application process. Thereby, in the application process, 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 S <b> 234, the CPU 22 determines whether time-up information described later is stored in the memory 24. When a negative determination is made in S234 (S234: NO), the process proceeds to S236. In S <b> 236, the CPU 22 causes the protocol stack 26 to perform protocol processing for establishing an XMPP connection, which is a connection according to XMPP over BOSH, with the mediation 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. The multi-function device 10 mediates HTTP request information including a session ID for identifying a session established with the mediation server 60 and second request information for requesting establishment of an XMPP connection in accordance with XMPP over BOSH. The server 60 is transmitted as a transmission destination. The second request information is necessary for transmitting to the multi-function device 10 HTTP response information according to XMPP over BOSH, including information related to provision of the push service, transmitted from the mediation server 60. 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 intermediary server 60 receives the transferred HTTP request information, so that the multi-function device 10 and the An HTTP connection is established with the mediation server 60. Thus, the HTTP connection established by the procedure according to XMPP over BOSH is the XMPP connection. Note that the information related to the provision of the push service includes GET request information transmitted from the service server 100 to the mediation server, and SET request information. The GET request information is command information used when the service server 100 requests the multi-function device 10 to return information specified by the object ID. The SET request information is command information used for requesting the multi-function device 10 to change settings according to information specified by the object ID. Examples of information specified by the object ID include information indicating a MAC address, information indicating an IP address, various types of information indicating the device state of the multi-function device 10 (for example, remaining toner information), and the like.
仲介サーバ60は、XMPPコネクションが確立したときに、サービスサーバ100によるプッシュサービスの提供タイミングであれば、XMPPコネクション確立要求情報に対するHTTPレスポンス情報に、SETリクエスト情報、またはGETリクエスト情報などを含ませて、多機能機10を送信先として送信する。XMPPコネクション確立要求情報に対するHTTPレスポンス情報のことを、XMPPレスポンス情報とも記載する。 The intermediary server 60 includes SET request information, GET request information, or the like in the HTTP response information for the XMPP connection establishment request information if the push service is provided by the service server 100 when the XMPP connection is established. The multi-function device 10 is transmitted as a 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, the intermediary server 60 does not provide the push service by the service server 100, and after the push service provision timing, the XMPP response information includes the SET request information or the GET The multi-function device 10 is transmitted as a transmission destination including request information and the like. Thus, it is not always necessary to send response information at the timing when request information from the multi-function device 10 is received, and the XMPP response information is sent directly from the service server-side push service provision timing. Transmitting as a transmission 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 a 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 an XMPP session. It can be recognized that the information is returned.
なお、XMPPセッションの確立や、XMPPコネクションの確立、XMPPリクエスト情報の送信、XMPPレスポンス情報の送信がHTTPによって行われていることからわかるように、XMPP over BOSHはHTTPを利用する上位プロトコルであり、HTTPはXMPP over BOSHに利用される下位プロトコルである。下位のプロトコル処理は、ネットワークインターフェース16を介して取得した情報を上位のプロトコル処理に伝達し、上位のプロトコル処理は、伝達された情報を処理する。上位のプロトコル処理は、ネットワークインターフェース16を介して送信させたい情報を下位のプロトコル処理に伝達し、下位のプロトコル処理は、伝達された情報を処理する。すなわち、多機能機10は、HTTPのプロトコルスタックを、プルサービスの利用とプッシュサービスの利用との双方に用いている。 Note that XMPP over BOSH is an upper level protocol that uses HTTP, as can be seen from the fact that XMPP session establishment, XMPP connection establishment, XMPP request information transmission, and XMPP response information transmission are performed by HTTP. HTTP is a lower level protocol used for XMPP over BOSH. The lower protocol process transmits information acquired via the network interface 16 to the upper protocol process, and the upper protocol process processes the transmitted information. The upper protocol processing transmits information to be transmitted via the network interface 16 to the lower protocol processing, and the lower protocol processing processes the transmitted information. That is, the multi-function device 10 uses the HTTP protocol stack for both the use of the pull service and the 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 determined in advance. 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 or not 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 or not the event detected in S238 is time-up of the timer started in S237. When it is 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, when a positive determination is made in S234 (S234: YES), the process 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 causes the existence notification information with the intermediary server 60 as a transmission destination to be transmitted using HTTP via a protocol process. The existence 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 cannot be 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 is not recognized as valid in the protocol processing of the mediation server 60, the mediation server Survival notification information is transmitted until application processing at 60. 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 with respect to the survival notification information has been acquired through the 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. If 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 it is negative determination (S244: NO), it progresses to S246 and it is determined whether predetermined time has passed since transmission of survival notification information. If the determination is negative (S246: NO), the process returns to the determination of S244. If the determination is affirmative (S246: YES), the process returns to S233 to establish a new XMPP session with the mediation 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 between the establishment of the XMPP connection and the elapse of the time-up time, the survival notification information is transmitted to the mediation server. To the intermediary server 60 that the multi-function device 10 recognizes that the XMPP session is established. Thus, by receiving the survival response information from the mediation server 60, the multi-function device 10 recognizes that the mediation 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コネクションが切断された場合の例である。 If the intermediary server 60 recognizes that the XMPP session is established based on the survival response information, the XMPP connection may be disconnected. By establishing the connection, preparation for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function device 10 is performed. Since the XMPP connection information has not been returned for a while since the XMPP connection was established, a device between the multi-function device 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. An example of a case where the XMPP connection is disconnected is when information indicating that the data has been transferred or information indicating the private IP address of the multi-function device 10 has been deleted.
一方、生存応答情報を受信できず、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 is established, the XMPP session may be disconnected. The XMPP session is established, and the XMPP connection is further established to prepare for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function device 10. A case where the session ID, information 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 is an example of the case where the XMPP session is disconnected.
In addition, when the XMPP session is disconnected due to the protocol processing of the mediation server 60, the XMPP session for which XMPP response information has not been transmitted for a long time has been deleted. It is an example.
このように、生存通知情報の送信と生存応答情報の確認に基づいて、仲介サーバ60が送信するXMPPレスポンス情報を多機能機10まで伝達させるための準備を、タイムアップ時間の経過ごとに行っている。このように、多機能機10では、常時、サービスサーバ100によるプッシュサービスの提供タイミングになったときに、SETリクエスト情報、またはGETリクエスト情報などを含んだXMPPレスポンス情報を受信することができる準備ができていることになる。すなわち、常時、多機能機10に、プッシュサービスを利用させることができる。 Thus, based on the transmission of the survival notification information and the confirmation of the survival response information, preparation for transmitting the XMPP response information transmitted by the mediation server 60 to the multi-function device 10 is performed at every elapse of the time-up time. Yes. Thus, the multi-function device 10 is always ready to receive XMPP response information including SET request information or GET request information when the push timing of the push service by the service server 100 is reached. It will be done. That is, the push service can be used by the multi-function device 10 at all times.
なお、本実施形態では、XMPPコネクションの確立から、タイムアップ時間の経過までに、XMPPコネクションが切断されている可能性がある。すなわち、本実施形態の説明で述べている「常時」は、ほとんどの時間プッシュサービスを利用できれば、わずかな時間だけ、プッシュサービスを利用できない時間があってもよい、という程度の概念である。 In this embodiment, there is a possibility that the XMPP connection is disconnected between the establishment of the XMPP connection and the elapse of the time-up time. In other words, “always” described in the description of the present embodiment is a concept that there may be a time when the push service cannot be used for a short time if the most time push service can be used.
なお、タイムアップ時間は、XMPPコネクションの確立から、XMPPレスポンス情報の返信がしばらくなかったとしても、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションの切断をしないであろう時間を設定しておくと、都合が良い。たとえば、1分を設定しておいてもよい。もちろん、1分より長い時間を設定しておいてもよい。また、多機能機10から仲介サーバ60までの間にある機器がXMPPコネクションを切断することがほとんどない場合、タイムアップ時間をごく長く設定しておいてもよい。たとえば、24時間を設定しておいてもよい。また、タイムアップ時間を用いた、生存通知情報の送信以降の処理を一切行わないようにしてもよい。 It should be noted that the time-up time is the time that the device between the multi-function device 10 and the mediation server 60 will not disconnect the XMPP connection even if the XMPP response information has not been returned for a while since the XMPP connection was established. It is convenient to set. For example, 1 minute may be set. Of course, a time longer than one minute may be set. In addition, when a device between the multi-function device 10 and the mediation server 60 hardly disconnects the XMPP connection, the time-up time may be set very long. For example, 24 hours may be set. In addition, it is possible not to perform any processing after the transmission of the life 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を送信先として転送した情報が挙げられる。 In S239, when it is determined that the event is not time-up of the timer (S239: NO), the process proceeds to S251. In S <b> 251, the CPU 22 determines whether or not the event detected in S <b> 238 is an event that occurs when the network interface 16 receives the second request information. The second request information is information transmitted from the mediation server 60 to the multi-function device 10 via the XMPP session. Examples of the second request information include GET request information transmitted from the service server 100 to the intermediary server and information obtained by transferring the SET request information with the multi-function device 10 as a transmission destination.
S251において肯定判断される場合(S251:YES)には、S261へ進む。S261においてCPU22は、第2要求情報を解析して、第2要求情報に対応する応答情報を取得する。第2要求情報がGETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶されたMACアドレスを示す情報、IPアドレスを示す情報、多機能機10の装置状態を示す各種情報などを、オペレーティングシステムを介して読み出すことで取得することが、応答情報の取得の例である。第2要求情報がSETリクエスト情報である場合に、オブジェクトIDによって指定される、メモリ24に記憶された設定情報などを、オペレーティングシステムを介して変更し、変更結果を示す情報を生成することで取得することが、応答情報の取得の例である。 When a positive determination is made in S251 (S251: YES), the process proceeds to S261. In S261, the CPU 22 analyzes the second request information and acquires 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 status of the multi-function device 10 and the like specified by the object ID Is obtained by reading out via the operating system is an example of obtaining the response information. When the second request information is SET request information, the setting information stored in the memory 24 specified by the object ID is changed through the operating system, and obtained by generating information indicating the change result This is an example of acquiring response information.
またCPU22は、第2要求情報に含まれていたリクエストIDを、応答情報に組み込む。例えば、第2要求情報がGETリクエスト情報である場合には、CPU22は、GETリクエスト情報に含まれているオブジェクトIDによって指定される情報を含んだGETレスポンス情報を生成する。また例えば、第2要求情報がSETリクエスト情報である場合には、CPU22は、SETリクエスト情報に含まれているオブジェクトIDによって指定される情報を変更するなどの設定処理を実行したことを示す情報を含んだSETレスポンス情報を生成する。 In addition, 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 information specified by the object ID included in the GET request information. Further, for example, when the second request information is SET request information, the CPU 22 displays information indicating that a setting process such as changing information specified by the object ID included in the SET request information has been executed. The included SET response information is generated.
S265においてCPU22は、コネクションレス型のプロトコルであるHTTPに従って、プロトコル処理を介して、S261で生成した応答情報を含んだHTTPリクエスト情報を、仲介サーバ60へ送信させる。 In S <b> 265, the CPU 22 transmits HTTP request information including the response information generated in S <b> 261 to the mediation server 60 through 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 the network interface 16 has received the HTTP response information transmitted from the mediation server 60 to the multi-function device 10 in response to the HTTP request information transmitted in S265. If not received (S267: NO), the process returns to S267. On the other hand, if it is received (S267: YES), the process returns to S236, and processing for newly establishing an XMPP connection with the mediation server 60 is performed, so that the multi-function device 10 uses the push service again. Is 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, if it is determined in S251 that the event detected in S238 is not 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 due to an operation of setting the session maintenance mode to “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, if 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 flowcharts of FIGS. 4 and 5. The flow in FIG. 4 may be started, for example, in response to the mediation server 60 being powered 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 S <b> 315, the CPU 72 determines whether or not the event that has occurred is an event that has occurred as a result of the network interface 62 receiving register information from the multi-function device 10 or 11. If a positive 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に登録してもよい。 Note that the CPU 72 may authenticate the multi-function device 10 or 11 using authentication information such as a 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 can be authenticated that the multi-function device 10 or 11 is 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 or not the event that has occurred is an event that has occurred due to the establishment of an XMPP session with the multi-function device 10 or 11 through protocol processing. In the protocol processing, the XMPP session is established according to the procedure described above in the portion labeled <Operation of multi-function device 10>. If 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 an area for storing the communication status information and request ID related to the multi-function device that has established the XMPP session exists in the multi-function device management database 77. If it exists (S323: YES), the process returns to S313, and if it does not exist (S323: NO), the process proceeds to S325. In S325, the CPU 72 generates an area in the multi-function device management database 77 for storing communication status information and request ID related to the multi-function device 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, if the event that has occurred is not an event that has occurred 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 as a result of establishing an XMPP connection through protocol processing with a multi-function device that has established an XMPP session. In the protocol processing, the XMPP connection is established according to the procedure described above in <Operation of multi-function device 10>. If a positive determination is made (S341: YES), the process proceeds to S342. In S <b> 342, the CPU 72 stores connection information for identifying the established XMPP connection in the memory 74. Then, the process proceeds to S327.
S327においてCPU72は、多機能機管理データベース77に記憶された、XMPPコネクションを確立した多機能機に関する通信ステータス情報を、「オンライン」に設定する。S329においてCPU72は、XMPPコネクションを確立した多機能機に関する不図示の管理タイマーをスタートさせる。そしてS313へ戻る。管理タイマーは、XMPPコネクションを確立した多機能機それぞれについて設けられるタイマーであって、XMPPコネクションの確立からタイムアップ時間が経過していないかを判断するソフトウェアタイマーである。管理タイマーは、XMPPコネクションの確立からタイムアップ時間が経過した場合、タイムアップしたことを示すイベントを出力する。タイムアップ時間は、たとえば2分に設定される。 In S <b> 327, the CPU 72 sets the communication status information regarding the multi-function device that has established the XMPP connection stored in the multi-function device management database 77 to “online”. In S329, the CPU 72 starts a management timer (not shown) related to 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 the time-up time has elapsed since the establishment of the XMPP connection. The management timer outputs an event indicating that the time is 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 or not the event that has occurred is a 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 communication status information related to the multi-function device corresponding to the time-up management timer stored in the multi-function device management database 77 to “offline”. Set. Then, the process returns to S313. On the other hand, if 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 S <b> 343, the CPU 72 determines whether or not the event that has occurred is an event that has occurred due to the network interface 62 receiving HTTP request information from the service server 100 or 120. If a negative determination is made (S343: NO), the process proceeds to S361, and if a positive determination is made (S343: YES), the process proceeds to S345. In S345, the CPU 72 acquires information included in the HTTP request information through 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 device ID inquiry information is included in the HTTP request 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 a 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 device corresponding to the device ID inquiry information from the device database 76. Then, the CPU 72 causes the HTTP server to transmit the HTTP response information including the detected device ID through the protocol processing, with 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, when the first request information is included in the HTTP 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 device management database 77, whether or not the communication destination multi-function device that is the multi-function device that is the transmission destination of the first request information is offline. To do. Specifically, it is determined whether or not the communication status information of the multi-function device corresponding to the device ID included in the first request information is “offline”. If it is determined that the communication destination multi-function device 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 device using the XMPP session. Specifically, the CPU 72 causes the XMPP response information in the XMPP connection established with the destination multi-function device including the second request information to be transmitted to the destination multi-function device through the protocol processing. The second request information is information in which a 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, when it is determined in S349 that the communication destination multi-function device is offline (S349: YES), the process proceeds to S351. In S <b> 351, 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 device via the protocol processing, as the service that is the transmission source 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 process proceeds to S361. In S361, the CPU 72 determines whether or not the event that has occurred is an event that has occurred due to reception of HTTP request information from the multi-function device 10 or 11. Note that the HTTP request information to be determined is HTTP request information that is different from the XMPP request information in the XMPP session established with the multi-function device 10 or 11. If a negative determination is made in S361 (S361: NO), the process returns to S313. If 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 information included in the HTTP request information through the protocol processing, and determines which information is the acquired information. If the response information is included in the HTTP request 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 device management database 77. Then, the CPU 72 causes the HTTP response information including the response information to be transmitted to the service server that 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 causes the HTTP response information for the HTTP request information including the response information to be returned to the multi-function device that 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 life notification information (S369: life notification information), the process proceeds to S365. In S365, the CPU 72 causes the HTTP response information including the survival response information to be returned to the multi-function device that 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 Service Servers 100 and 120>
The detailed operation of the service server 100 or 120 will be described using the flow of FIG. The flow of FIG. 6 may be started in response to, for example, the service server 100 or 120 being powered on. In step S <b> 509, the CPU 103 determines whether a device ID acquisition command for identifying a multi-function device to be provided with a service has been input. If it is not input (S509: NO), the process proceeds to S523, and if it is input (S509: YES), the process 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 device ID inquiry information to the mediation server 60. In S517, the CPU 103 receives the HTTP response information including the device ID 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 transmission request for the first request information is input. The first request information transmission command is a command for transmitting the first request information to the multi-function device identified by the device ID acquired in S517. If the first request information transmission command is not input (S523: NO), the process returns to S509, and if it is 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 S <b> 529, 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 HTTP response information including response information transmitted from 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. In FIG. 7, the case where GET request information is transmitted from the service server 100 to the multi-function device 10 via the mediation server 60 when the XMPP session between the multi-function device 10 and the mediation server 60 is maintained. explain. Further, a case where the multi-function device 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 multi-function device 10 is turned on, since the session maintenance mode is set to “ON” (S211: YES), the multi-function device 10 transmits 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 device 10 transmits the XMPP session establishment request information, the multi-function device 10 and the mediation server 60 establish an 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 for acquiring a device ID for identifying the multi-function device 10 is input to the service server 100 (S509: YES). The service server 100 transmits device ID inquiry information for requesting the device ID of the multi-function device 10 to the mediation server 60 (S513). Upon receiving the device ID inquiry information (S345: device ID inquiry information), the mediation server 60 searches for the device ID of the multi-function device 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 expires (S239: YES), the multi-function device 10 transmits the survival notification information to the mediation server 60 (S241). Upon receiving the survival notification information (S361: survival notification information), the mediation server 60 returns the survival response information (S365). Upon receiving the survival response information (S244: YES), the multi-function device 10 transmits XMPP connection establishment request information (S236), so that the XMPP in the XMPP session established between the multi-function device 10 and the mediation server 60 is transmitted. 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セッション確立要求情報を送信する場合もある。すなわち、すなわち、本実施形態の説明で述べている「維持」は、ほとんどの時間でコネクションやセッションが確立して、わずかな時間だけ、確立していない時間があってもよい、という程度の概念である。 If the multi-function device 10 does not receive the survival response information (S235: NO), the multi-function device 10 transmits XMPP session establishment request information, so the XMPP session between the multi-function device 10 and the mediation server 60 is maintained (S233). S321: YES). Note that 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. In some cases, the XMPP session establishment request information is transmitted after the XMPP session established between the multi-function device 10 and the mediation server 60 becomes invalid. In other words, the “maintenance” described in the description of the present embodiment is a concept that the connection or session is established almost all of the time, and there may be a short time that is not established. It 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 an instruction to send first GET request information that is request information for acquiring information from the multi-function device 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 transmission destination of the first GET request information is the multi-function device 10. When receiving the first GET request information (S343: YES, S345: first request information), the mediation server 60 determines that the multi-function device 10 that is the transmission 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 device 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 generates the second GET request information by adding the generated request ID to the first GET request. 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 a process based on the information obtained by analysis, and obtains 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 HTTP request information including 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 receiving the HTTP request information including the GET response information (S369: YES), the mediation server 60 reads the request ID included in the GET response. The mediation server 60 detects the first GET request information associated with the request ID that matches the request ID included in the GET response from the multi-function device management database 77 (S373). Then, the mediation server 60 transmits the GET response information received from the multi-function device 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 response to receiving the GET response information (S369), the mediation server 60 returns the HTTP response information to the multi-function device 10 (S375). The multi-function device 10 that has received the HTTP response information performs processing for newly establishing an XMPP connection with the mediation 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 GET request information is not transmitted from the service server 100 to the multi-function device 10 via the mediation server 60 when the XMPP session between the multi-function device 10 and the mediation 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 in FIG. 8 is the same as the operation in the period P1 in FIG. 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 mediation server 60 is not stored in the multi-function device 10, so the first The session has been disconnected. In this case, since the life notification information is not transmitted from the multi-function device 10, the mediation server 60 is timed up in the management timer corresponding to the multi-function device 10 (S 331: YES). The communication status information of the multi-function device 10 corresponding to the managed 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 that is the transmission destination of the first GET request information is offline (S349: YES). ). Therefore, the mediation server 60 transmits 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 that the multi-function device 10 is the transmission source, 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 response information to the information that the multi-function device 10 is the transmission source, 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, in order to execute the push service described above, request information may be transmitted from the service server to the multi-function device 10 via the Internet 6. In this case, since it is necessary to perform processing for exceeding the firewall function or the like on the service server, the processing load on the service server increases. In the technology disclosed in this specification, request information can be transmitted from the service server to the multi-function device 10 via the mediation server 60. Then, request information is transmitted from the mediation server 60 to the multi-function device 10 using a session established according to the session establishment type XMPP over BOSH (S355). By using a session established in accordance with XMPP over BOSH, so-called server push is possible in which request information is transmitted from the Internet 6 side to the multi-function device 10. Therefore, even when the router 7 has a firewall function or an address conversion function, the service server sends request information to the multi-function device 10 without performing processing for exceeding the firewall function or the address conversion function. It becomes possible to transmit. Therefore, the processing load on the service server can be reduced.
本明細書に開示されている技術では、多機能機10と仲介サーバ60との間でサーバプッシュが可能な状態になってから、所定の時間が経過した場合にも、仲介サーバ60からの前記サーバプッシュが可能な状態を維持する。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。従って、サービスサーバから仲介サーバ60へ送信されてくる要求情報を、即時に仲介サーバ60から多機能機10へ転送することが可能となる。よって、サービスサーバと多機能機10との間の通信応答速度を高めることや、通信のリアルタイム性を高めることが可能となる。 In the technology disclosed in this specification, even when a predetermined time has elapsed since the server push is enabled between the multi-function device 10 and the mediation server 60, the mediation server 60 receives the information from the mediation server 60. Maintain a state where server push is possible. This makes it possible to always provide a push service using a session establishment type protocol. Therefore, 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 becomes 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 take longer 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 separate from the mediation server 60, the external server establishes 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 for request information transmitted from the intermediary server 60 to the multi-function device 10 is used as an HTTP request using a second connection according to the sessionless HTTP. Then, it 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 intermediary server 60 more quickly by simpler processing than when the response information is transmitted using a 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 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. Is stored in the memory 74 (S353). Further, the request information to which the request ID is added is transferred to the multi-function device 10 (S355). When the response information for the request information is received from the multi-function device 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 read. It is detected from the functional device management database 77 (S373). Accordingly, it is possible to provide a push service related to response information that correctly corresponds to request information without the load of establishing a session that enables server push directly between the service server and the multi-function device. In addition, even if there are multiple service servers or multiple multi-function devices, establish a session that enables server push directly between multiple service servers and multi-function devices The need can be eliminated.
本明細書に開示されている技術では、HTTPのリクエストとして、応答情報を多機能機10から受信すると(S369:YES)、HTTPレスポンスを多機能機10へ返信する(S375)。これにより、応答情報を出力した多機能機10が、タイムアウトが発生するまでレスポンスデータの返信を待機する、あるいは、タイムアウトが発生したと判断し、応答情報の送信を繰り返すといった、コネクションが正常に終了しないために発生する事態の発生を防止することができる。よって、多機能機10、仲介サーバ60、およびLAN4の負荷を低減することができる。 In the technology disclosed in this specification, when response information is received from the multi-function device 10 as an HTTP request (S369: YES), an HTTP response is returned to the multi-function device 10 (S375). As a result, the multi-function device 10 that has output the response information waits for response data to be returned until a timeout occurs, or determines that a timeout has occurred and repeats transmission of the response information to complete the connection normally. It is possible to prevent the occurrence of a situation that occurs due to the failure. Therefore, the loads on the multi-function device 10, the mediation server 60, and the LAN 4 can be reduced.
本明細書に開示されている技術では、多機能機10と仲介サーバ60とのセッションが切断されており、要求情報を多機能機10に送信することができない場合には(S349:YES)、要求情報に対するHTTPレスポンスとして、サービスサーバへエラー情報を出力することができる(S351)。これにより、コネクションが正常に終了しないために発生する事態であって、多機能機10、仲介サーバ60、およびインターネット6の負荷となってしまう事態の発生を防止することができる。 In the technique disclosed in this specification, when the session between the multi-function device 10 and the mediation server 60 is disconnected and the request information cannot be transmitted to the multi-function device 10 (S349: YES), Error information can be output to the service server as an HTTP response to the request information (S351). Thus, it is possible to prevent the occurrence of a situation that occurs because the connection is not normally terminated and that causes a load on the multi-function device 10, the mediation server 60, and the Internet 6.
本明細書に開示されている技術では、メモリ24に記憶されているモード情報によって、セッションを確立するか否かを設定することができる(S211)。多機能機10と仲介サーバ60との間のセッションが切断されたとしても、多機能機10がセッション維持モードであれば、多機能機10から確立要求情報が送信され、セッションを再度確立させることができる。これにより、セッション確立型のプロトコルを用いて、プッシュサービスを常時提供することが可能となる。 In 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 device 10 and the mediation server 60 is disconnected, if the multi-function device 10 is in the session maintenance mode, the establishment request information is transmitted from the multi-function device 10 to re-establish the session. Can do. This makes it possible to always provide a push service using a session establishment type protocol.
本明細書に開示されている技術では、多機能機10の製造時にセッション維持モードであることを示すモード情報をメモリ24に記憶させることで、多機能機10が起動したときに、セッションを確立することができる。これにより、ベンダやディーラなど、多機能機10の製造側または販売側で、プッシュサービスを常時提供させたい多機能機10を決定し、決定した多機能機10にプッシュサービスを利用させることが可能となる。 In the technology disclosed in this specification, mode information indicating that the session maintenance mode is set is stored in the memory 24 when the multi-function device 10 is manufactured, so that a session is established when the multi-function device 10 is activated. can do. As a result, it is possible for the vendor or dealer, such as the multi-function device 10 manufacturing side or sales side, to determine the multi-function device 10 for which the push service is to be provided at all times and to allow the determined multi-function device 10 to use the push service. It becomes.
本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、HTTPの上位のプロトコルであるXMPP over BOSHのセッションを確立できる。これにより、多機能機10や仲介サーバ60がセッションを確立するためだけに新たなプロトコルに対応する必要なく、プッシュサービスを常時提供することが可能となる。 With the technology disclosed in this specification, a session of XMPP over BOSH, which is an upper protocol of HTTP, can be established using HTTP used for using the pull service. Thereby, the multi-function device 10 and the mediation server 60 can always provide a push service without having to deal with a new protocol only for establishing a session.
本明細書に開示されている技術では、プルサービスの利用に用いるHTTPを用いて、XMPP over BOSHのサーバプッシュを可能にするためのセッションを確立できる。これにより、インターネットに接続する装置であれば一般的に用いられているHTTPに関する処理を行う構成、たとえばHTTPの処理を行うプロトコルスタックを用いて、応答情報に対応するプッシュサービスを提供することができるので、より都合が良い。 With the technique disclosed in this specification, a session for enabling server push of XMPP over BOSH can be established using HTTP used for using the pull service. This makes it possible to provide a push service corresponding to response information using a configuration that performs processing related to HTTP that is generally used as long as it is a device connected to the Internet, for example, a protocol stack that performs HTTP processing. So more convenient.
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。 Specific examples of the present invention have been described in detail above, 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 with the XMPP connection established with the mediation server 60 (S236) (S234: YES), a process for establishing an XMPP session with the mediation server 60 (S233), or a survival notification The process of transmitting information (S241) may not be executed. In this case, the process of establishing the MPP connection with the mediation server 60 (S236) may be executed in response to the elapse of the time-up time. Further, in this case, a process of establishing a new XMPP session with the mediation server 60 (S233) may be executed as the time-up time elapses.
サービスサーバから出力される情報であるデバイス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, which is information output from the service server, may include the account ID of the user of the push service. In this case, the CPU 72 of the mediation server 60 detects the device ID of the multi-function device 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 that is 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 device corresponding to the account ID from the device database 76 using identification information such as an account ID included in the first request information. . In S349, the multi-function device corresponding to the account ID may be specified as a communication destination multi-function device that is the multi-function device that is the transmission destination of the first request information, 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 using the first request information received from the service server as it is. The CPU 72 may generate the second request information after converting the received first request information into data that the multi-function devices 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, the case has been described in which the process of transmitting an HTTP response to the multi-function device 10 (S375) is performed after the process of transmitting 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 a GET request and a SET request, but may be other types of request information.
仲介サーバ60と通信可能に接続される多機能機は、多機能機10および11に限られず、3台以上存在してもよい。インターネット6に接続されるサービスサーバは、サービスサーバ100に限られず、2台以上存在してもよい。プッシュサービス、プルサービスを利用する機器として、多機能機10および11を例に挙げたが、これに限らない。指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、3D画像を生成する3Dプリンタでもよい。画像データなどに基づいて、吹き付け、削りだしなどで、作品、製品を生成する作品製造装置、製品製造装置でもよい。画像データの例として3D画像データや3DCADデータを用いてもよい。対象物の輪郭を光学的、電気的に検知するセンサからの出力データや、対象物に取り付けたセンサからの出力データに基づいて画像データを作成するスキャナでもよい。センサからの出力に基づいて、対象物の形状や動きを示すデータを作成するスキャナでもよい。画像データの例として動画データや3D画像データを用いてもよい。 The multi-function devices connected to the mediation server 60 so as to be communicable are not limited to the multi-function devices 10 and 11, and there may be three or more. The service server connected to the Internet 6 is not limited to the service server 100, and two or more service servers may exist. The multi-function devices 10 and 11 have been exemplified as devices that use the push service and the pull service, but are not limited thereto. A sewing machine that embroiders and quilts a predetermined image based on instruction data or the like may be used. A sewing machine that performs decorative sewing, sewing, or the like 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. 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 may be used. As an example of the image data, 3D image data or 3D CAD data may be used. It may be a scanner that creates image data based on output data from a sensor that optically and 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 an object based on the output from the sensor. Movie data or 3D image data may be used as an example of 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 apparatuses. 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. XMPP session establishment request information is an example of establishment request data. XMPP over BOSH is an example of a first protocol. HTTP is an example of the second protocol and the third protocol. The CPU that executes S321 is an example of establishment request information acquisition means. The GET request and 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. LAN 4 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 a 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 a response information acquisition unit. 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 first identification information storage control means. The CPU that executes S351 is an example of error information output means. 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 specifying unit. The CPU that executes S233 is an example of establishment request information output means. 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 (17)
プロセッサと、
を備える中継装置であって、
前記プロセッサは、
前記複数の画像処理装置のうちの対象画像処理装置が前記中継装置あてに送信した確立要求情報であって、セッション確立型である第1のプロトコルに従った、情報を前記対象画像処理装置まで伝達させるサーバプッシュを可能とするためのセッションを前記中継装置と前記対象画像処理装置との間で確立することを要求する前記確立要求情報を、前記ネットワークインターフェースを介して取得する第1確立要求情報取得手段と、
前記第1確立要求情報取得手段が前記確立要求情報を取得したことで前記サーバプッシュを可能とするための前記セッションが確立した場合に、前記セッションを用いたコネクションであるセッション確立型コネクションを前記中継装置と前記対象画像処理装置との間で確立するためのコネクション要求情報を前記対象画像処理装置から前記ネットワークインターフェースを介して取得するコネクション要求情報取得手段であって、前記セッション確立型コネクションは、切断された後に、前記コネクション要求情報が再び受信されることで再び確立される、前記コネクション要求情報取得手段と、
セッションレス型のプロトコルである第2のプロトコルに従った、セッションレス型のコネクションを用いて、複数の前記サーバ装置のうちの対象サーバ装置が前記中継装置あてに送信したサーバ要求情報を取得するサーバ要求情報取得手段であって、前記サーバ要求情報は、前記複数の画像処理装置のうちから通信先として選択された画像処理装置である通信先画像処理装置を示す画像処理装置識別情報を含み、前記通信先画像処理装置に対する要求を示す、前記サーバ要求情報取得手段と、
前記サーバ要求情報を前記サーバ要求情報取得手段が取得した場合に、前記中継装置と前記通信先画像処理装置との間のセッション確立型コネクションが維持されているか否かを判断するコネクション判断手段と、
前記通信先画像処理装置に対するサーバ要求情報である特定サーバ要求情報を前記サーバ要求情報取得手段が前記対象サーバ装置から取得することに応じて、取得した前記特定サーバ要求情報を他のサーバ要求情報と区別できるよう識別するための第1識別情報を記憶部に記憶させる第1識別情報記憶制御手段と、
前記コネクション判断手段が前記セッション確立型コネクションが維持されていると判断した場合に、前記サーバ要求情報取得手段が取得した前記サーバ要求情報と前記第1識別情報とを、前記ネットワークインターフェースを介して、前記中継装置と前記通信先画像処理装置との間で確立した前記コネクションを用いて前記通信先画像処理装置あてに送信するよう出力するサーバ要求情報出力手段と、
前記通信先画像処理装置が前記中継装置あてに送信した、前記サーバ要求情報が示す要求に対する応答情報と、前記応答情報の元となる特定サーバ要求情報を識別する第2識別情報とを、前記セッションレス型のプロトコルである第3のプロトコルを用いて前記ネットワークインターフェースを介して取得する応答情報取得手段と、
前記応答情報取得手段が前記応答情報と前記第2識別情報とを取得した場合に、前記第2識別情報と前記第1識別情報とに基づいて、前記応答情報取得手段が取得した応答情報に対応する特定サーバ要求情報の前記対象サーバ装置側からの送信に用いられたコネクションを特定する、コネクション特定手段と、
前記応答情報取得手段が取得した応答情報を、前記コネクション特定手段が特定したコネクションを用いて、前記第2のプロトコルに従ったレスポンスデータに含めて前記対象サーバ装置あてに送信するよう出力する応答情報出力手段と、
して機能することを特徴とする中継装置。 A plurality connected to each of the plurality of first networks via a communication control device provided in each of the plurality of first networks and a second network connected to the plurality of first networks. A network interface capable of communicating with a plurality of image processing apparatuses, the network interface capable of communicating with a plurality of server apparatuses via the second network;
A processor;
A relay device comprising:
The processor is
Establish request information transmitted to the relay device by the target image processing device of the plurality of image processing devices, and transmits information to the target image processing device according to a first protocol that is a session establishment type first establishment request information acquiring for acquiring session for enabling server push to the establishment request information requesting to establish between the target image processing device and the relay device, via the network interface Means,
When the session for enabling the server push is established by obtaining the establishment request information by the first establishment request information acquisition unit, a session establishment type connection that is a connection using the session is relayed. Connection request information acquisition means for acquiring connection request information for establishing between a device and the target image processing device from the target image processing device via the network interface, wherein the session establishment type connection is disconnected The connection request information acquiring means, which is established again by receiving the connection request information again,
A server that acquires server request information transmitted to the relay device by the target server device among the plurality of server devices using a sessionless connection according to the second protocol that is a sessionless protocol Request information acquisition means, wherein the server request information includes image processing device identification information indicating a communication destination image processing device which is an image processing device selected as a communication destination from among the plurality of image processing devices; The server request information acquisition means for indicating a request to the communication destination image processing apparatus;
A connection determination unit that determines whether or not a session establishment type connection between the relay device and the communication destination image processing device is maintained when the server request information acquisition unit acquires the server request information;
In response to the server request information acquisition unit acquiring the specific server request information that is the server request information for the communication destination image processing apparatus from the target server apparatus, the acquired specific server request information and First identification information storage control means for storing in the storage unit first identification information for identification so as to be distinguishable;
When the connection determination unit determines that the session establishment type connection is maintained, the server request information acquired by the server request information acquisition unit and the first identification information are transmitted via the network interface. Server request information output means for outputting to the destination image processing device using the connection established between the relay device and the destination image processing device;
Response information for the request indicated by the server request information transmitted to the relay device by the communication destination image processing apparatus, and second identification information for identifying specific server request information that is a source of the response information, Response information acquisition means for acquiring via the network interface using a third protocol that is a less-less protocol;
When the response information acquisition unit acquires the response information and the second identification information, it corresponds to the response information acquired by the response information acquisition unit based on the second identification information and the first identification information. A connection specifying means for specifying a connection used for transmission from the target server device side of the specific server request information to be
Response information that is output so that the response information acquired by the response information acquisition unit is included in response data according to the second protocol and transmitted to the target server device using the connection specified by the connection specifying unit. Output means;
A relay device that functions as a relay.
前記第2のプロトコル及び前記第3のプロトコルは、HTTP(Hypertext Transfer Protocol)である、
ことを特徴とする請求項1に記載の中継装置。 The first protocol is XMPP over BOSH (abbreviation of eXtensible Messaging and Presence Protocol over Bidirectional-streams Over Synchronous HTTP),
The second protocol and the third protocol are HTTP (Hypertext Transfer Protocol).
The relay apparatus according to claim 1 .
前記サーバ要求情報の通信先の画像処理装置である前記通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、
して機能し、
前記応答情報取得手段は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得することを特徴とする請求項1から3の何れか一項に記載の中継装置。 The processor is
Third establishment request information acquisition means for acquiring, via the network interface, third establishment request information transmitted to the relay apparatus by the communication destination image processing apparatus, which is an image processing apparatus that is the communication destination of the server request information. When,
Function as
The response information acquisition means, wherein, characterized in that to obtain the information contained in the request data according to the third session-less type connection according to the protocol of a session-less type protocol, as the response information Item 4. The relay device according to any one of Items 1 to 3 .
前記サーバ装置が前記中継装置あてに送信した、セッションレス型のプロトコルである前記第2のプロトコルに従ったセッションレス型のコネクションを前記中継装置と前記サーバ装置との間で確立することを要求する第2の確立要求情報を、前記ネットワークインターフェースを介して取得する第2確立要求情報取得手段として機能し、
前記サーバ要求情報出力手段は、前記第2のプロトコルに従ったリクエストデータに含まれる情報を、前記サーバ要求情報として前記サーバ要求情報取得手段が取得した場合に、前記サーバ要求情報取得手段が取得した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションを用いて前記画像処理装置あてに送信するよう出力し、
前記プロセッサは、前記サーバ要求情報の通信先の画像処理装置である前記通信先画像処理装置が前記中継装置あてに送信した第3の確立要求情報を、前記ネットワークインターフェースを介して取得する第3確立要求情報取得手段と、して機能し、
前記第3の確立要求情報は、セッションレス型のプロトコルである前記第3のプロトコルに従ったセッションレス型のコネクションに従ったリクエストデータに含まれる情報を、前記応答情報として取得することを特徴とする請求項4に記載の中継装置。 The processor is
Requesting that the server device transmits to the relay device destined to establish a session-less type connection in accordance with said second protocol is a session-less type protocol between said server device and the relay device Functioning as second establishment request information acquisition means for acquiring second establishment request information via the network interface ;
Before SL server request information output means, the information contained in the request data in accordance with the second protocol, wherein when the server request information acquisition unit acquires the server request information acquisition unit acquires as the server request information Output the server request information to be transmitted to the image processing apparatus using the session established between the relay apparatus and the image processing apparatus via the network interface;
Wherein the processor is a third probability of obtaining the third establishment request information server request information of the communication destination image processing apparatus is the communication destination image processing apparatus is transmitted to the relay device addressed, via the network interface Functions as a request information acquisition means,
The third establishment request information includes the feature to obtain the information included in the request data in accordance with a session-less type connection according to the third protocol is a session-less type protocol, as the response information The relay device according to claim 4 .
前記特定サーバ要求情報は、前記セッションレス型のコネクションにおけるリクエストデータに含まれており、
前記エラー情報は、前記セッションレス型のコネクションにおけるレスポンスデータに含まれていることを特徴とする請求項1〜5の何れか1項に記載の中継装置。 When the specific server request information for the communication destination image processing device is acquired from the server device, the error information is displayed on the condition that the session with the communication destination image processing device is not established. The processor further functions as error information output means for outputting to the server device via the sessionless connection established with the processing device,
The specific server request information is included in request data in the sessionless connection,
The error information, the relay apparatus according to any one of claim 1 to 5, characterized in that included in the response data in connection of the session-less type.
前記応答情報を取得することに応じて、前記セッションレス型のコネクションにおけるレスポンスデータを前記通信先画像処理装置へ出力するレスポンスデータ出力手段として前記プロセッサがさらに機能することを特徴とする請求項1〜6の何れか1項に記載の中継装置。 The response information output means acquires the response information from the communication destination image processing apparatus as information included in request data in the sessionless connection.
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 acquiring the response information . The relay device according to any one of 6 .
プロセッサと、
を備える画像処理装置であって、
前記プロセッサは、
セッション確立型である第1のプロトコルに従った、前記サーバ装置から情報を出力するサーバプッシュを可能とするためのセッションを前記中継装置と前記画像処理装置との間で確立することを要求する確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する確立要求情報出力手段と、
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュを可能とするためのセッションが確立した場合に、前記セッションを用いたコネクションであるセッション確立型コネクションを前記中継装置との間で確立するためのコネクション要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力するコネクション要求情報出力手段であって、前記セッション確立型コネクションは、切断された後に、前記コネクション要求情報が再び送信されることで再び確立される、前記コネクション要求情報出力手段と、
前記中継装置が前記サーバ装置から受信した、前記画像処理装置に対する要求を示す特定サーバ要求情報であって、前記中継装置が前記サーバプッシュするために送信した前記特定サーバ要求情報と、第1識別情報とを、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記コネクションを用いて前記中継装置から取得するサーバ要求情報取得手段であって、セッションレス型のプロトコルである第2のプロトコルに従った、セッションレス型のコネクションを用いて、通信先として選択された前記画像処理装置を示す画像処理装置識別情報を含む前記特定サーバ要求情報を前記中継装置が前記複数のサーバ装置のうちの対象サーバ装置から取得し、取得した前記特定サーバ要求情報を他のサーバ要求情報と区別できるよう識別するための前記第1識別情報を前記中継装置が記憶し、前記セッション確立型コネクションが維持されていることに応じて、前記特定サーバ要求情報と前記第1識別情報とが前記中継装置から取得される、前記サーバ要求情報取得手段と、
前記サーバ要求情報が示す要求に対する応答情報を生成し、生成した前記応答情報と、前記応答情報の元となる特定サーバ要求情報を識別する第2識別情報とを、前記セッションレス型のプロトコルである第3のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する応答情報出力手段であって、前記第2識別情報と前記第1識別情報とに基づいて特定されるコネクションであって、前記応答情報出力手段が出力した応答情報に対応する特定サーバ要求情報の前記対象サーバ装置側からの送信に用いられた前記コネクションを用いて、前記中継装置が応答情報を前記第2のプロトコルに従ったレスポンスデータに含めて前記対象サーバ装置あてに送信するよう出力する、前記応答情報出力手段と、
して機能することを特徴とする画像処理装置。 A network interface capable of communicating via a network with a relay device capable of communicating with a plurality of server devices;
A processor;
An image processing apparatus comprising:
The processor is
Establishment requesting establishment of a session for enabling server push to output information from the server device between the relay device and the image processing device according to a first protocol of session establishment type Establishment request information output means for outputting request information to be transmitted to the relay device via the network interface;
When a session for enabling the server push from the relay device is established by the establishment request information output means transmitting the establishment request information, a session establishment type connection that is a connection using the session is established. the connection request information for establishing between said relay device, via the network interface, a connection request information output means for outputting to transmit to the relay device addressed, the session establishment type connection, disconnection The connection request information output means, which is established again by the connection request information being transmitted again,
The relay device receives from the server apparatus, wherein a specific server request information indicating a request for the image processing apparatus, and the specific server request information by the relay device transmits to the server push, the first identification information preparative, via the network interface, a server request information obtaining means for obtaining from the relay device using the connection established between the relay apparatus and the image processing apparatus, the session-less type protocol The relay device receives the specific server request information including image processing device identification information indicating the image processing device selected as a communication destination using a sessionless connection according to a second protocol. Acquired from the target server device of the server devices, and the acquired specific server request information The specific server request information and the first identification information according to the fact that the relay device stores the first identification information for identification so that it can be distinguished from the request information, and the session establishment type connection is maintained. Is acquired from the relay device, the server request information acquisition means,
Response information for the request indicated by the server request information is generated, and the generated response information and second identification information for identifying specific server request information that is a source of the response information are the sessionless protocol. Response information output means for outputting to the relay device via the network interface using a third protocol, the response information output means being specified based on the second identification information and the first identification information And the relay device uses the connection used for transmission from the target server device side of the specific server request information corresponding to the response information output by the response information output means. The response information output that is included in the response data according to the second protocol and output to be transmitted to the target server device. And means,
An image processing apparatus that functions as an image processing apparatus.
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュが可能な状態を維持するための処理を実行する状態維持処理手段、として機能することを特徴とする請求項8に記載の画像処理装置。 The processor is
After the establishment request information output means has transmitted the establishment request information, the server push from the relay device becomes possible. The server request information acquisition unit functions as a state maintenance processing unit that executes a process for maintaining a state in which the server push is possible when a predetermined time has elapsed without being acquired. Item 9. The image processing apparatus according to Item 8 .
前記確立要求情報出力手段が前記確立要求情報を送信したことで前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できなかった場合に、前記確立要求情報出力手段に前記確立要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする請求項9に記載の画像処理装置。 The state maintenance processing means includes
After the establishment request information output means has transmitted the establishment request information, the server push from the relay device becomes possible. The recognition information indicating that the relay device recognizes that a session for enabling the server push has been established when a predetermined time has passed without the server request information acquisition means acquiring. Recognition request information output means for outputting recognition request information for requesting a reply to the relay device to be transmitted to the relay device via the network interface;
Server recognition information acquisition means for acquiring the recognition information sent from the relay device to the image processing device via the network interface;
Including
When the server recognition information acquisition unit cannot acquire the recognition information, the state maintenance processing unit causes the establishment request information output unit to transmit the establishment request information so that the server push is possible. maintain,
The image processing apparatus according to claim 9 .
前記確立要求情報出力手段が前記確立要求情報を送信したことで、前記セッションと前記セッション確立型コネクションが確立し、前記中継装置からの前記サーバプッシュが可能な状態となってから、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を前記サーバ要求情報取得手段が取得することなく所定の時間が経過した場合に、前記サーバプッシュを可能とするためのセッションが確立していると前記中継装置が認識していることを示す認識情報の返信を前記中継装置に要求する認識要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する認識要求情報出力手段と、
前記中継装置が前記画像処理装置あてに返信した、前記認識情報を、前記ネットワークインターフェースを介して取得するサーバ認識情報取得手段と、
を含み、
前記状態維持処理手段は、前記サーバ認識情報取得手段が前記認識情報を取得できた場合に、前記コネクション要求情報出力手段に前記コネクション要求情報を送信させることで、前記サーバプッシュが可能な状態を維持する、
ことを特徴とする請求項9または10に記載の画像処理装置。 Before Symbol state maintaining processing means,
When the establishment request information output means transmits the establishment request information, the session and the session establishment type connection are established, and the server push from the relay apparatus is possible. When a predetermined time elapses without the server request information acquisition means acquiring the server request information transmitted to push the server, a session for enabling the server push is established. Recognition request information output means for outputting recognition request information for requesting the relay device to return a recognition information indicating that the relay device recognizes, to be transmitted to the relay device via the network interface;
Server recognition information acquisition means for acquiring the recognition information sent from the relay device to the image processing device via the network interface;
Including
The state maintenance processing unit maintains the state where the server push is possible by causing the connection request information output unit to transmit the connection request information when the server recognition information acquisition unit acquires the recognition information. To
The image processing apparatus according to claim 9 or 10 , wherein:
前記サーバ要求情報取得手段が前記サーバ要求情報を取得することに応じて、セッションレス型のプロトコルである前記第3のプロトコルに従ったコネクションであるセッションレス型コネクションを前記中継装置との間で確立することを要求する第4の確立要求情報を、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する第4確立要求情報出力手段としてさらに機能し、
前記応答情報出力手段は、生成した前記応答情報を、前記中継装置との間で確立した前記セッションレス型コネクションを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力する、
ことを特徴とする請求項8〜請求項11の何れか1項に記載の画像処理装置。 The processor is
Wherein in response to server request information acquisition unit acquires the server request information, establishes a session-less connection is a connection according to the third protocol is a session-less type protocol between the relay device the fourth establishment request information that requests to, via the network interface, further acts as a fourth establishment request information output means for outputting to transmit to the relay device addressed,
The response information output means outputs the generated response information to be transmitted to the relay device via the network interface using the sessionless connection established with the relay device.
The image processing apparatus according to any one of claims 8 to claim 11, characterized in that.
前記確立要求情報出力手段は、前記画像処理装置が起動した場合に、前記記憶部に記憶されている前記モード情報が前記セッション維持モードであることを示していることを条件として、前記確立要求情報を前記中継装置あてに送信するよう出力することを特徴とする請求項13に記載の画像処理装置。 The image processing apparatus further includes storage control means for storing mode information indicating whether or not the image processing apparatus is in the session maintenance mode in a storage unit,
The establishment request information output means, on condition that the mode information stored in the storage unit indicates the session maintenance mode when the image processing apparatus is activated. The image processing apparatus according to claim 13 , wherein the image processing apparatus outputs the data to be transmitted to the relay apparatus.
前記確立要求情報出力手段は、前記画像処理装置の製造時に前記記憶部に記憶された前記モード情報に基づいて、前記画像処理装置が前記セッション維持モードであるか否かを判断することを特徴とする請求項14に記載の画像処理装置。 The image processing apparatus further includes storage control means for storing mode information indicating whether or not the image processing apparatus is in the session maintenance mode in a storage unit,
The establishment request information output means determines whether the image processing apparatus is in the session maintenance mode based on the mode information stored in the storage unit when the image processing apparatus is manufactured. The image processing apparatus according to claim 14 .
前記サーバ装置が提供するプルサービスの利用を指示する指示情報を取得した場合に、前記第1のプロトコルの下位プロトコルである前記第2のプロトコルを用いて、前記サーバ装置に前記プルサービスの利用に関する関連情報を要求する関連情報要求情報を、前記ネットワークインターフェースを介して、前記サーバ装置あてに送信するよう出力する関連情報要求情報出力手段と、
前記サーバ装置が送信した前記関連情報を、前記ネットワークインターフェースを介して取得する関連情報取得手段と、
して機能し、
前記確立要求情報出力手段は、前記確立要求情報を、前記第1のプロトコルの下位プロトコルである前記第2のプロトコルを用いて、前記ネットワークインターフェースを介して、前記中継装置あてに送信するよう出力し、
前記サーバ要求情報取得手段は、前記中継装置が前記サーバプッシュするために送信した前記サーバ要求情報を、前記ネットワークインターフェースを介して、前記中継装置と前記画像処理装置との間で確立した前記セッションにおいて、前記第2のプロトコルを用いて前記中継装置から取得する、
ことを特徴とする請求項8〜15の何れか1項に記載の画像処理装置。 The processor is
When acquiring the instruction information to instruct the use of pull service by the server device provides, using the second protocol is a lower protocol of the first protocol relates to the use of the pull service to the server apparatus Related information request information output means for outputting related information request information for requesting related 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;
Function as
The establishment request information output means outputs the establishment request information to be transmitted to the relay apparatus via the network interface using the second protocol that is a lower protocol of the first protocol. ,
In the session established between the relay apparatus and the image processing apparatus via the network interface, the server request information acquisition means transmits the server request information transmitted for the server push by the relay apparatus. Obtaining from the relay device using the second protocol;
The image processing apparatus according to any one of claims 8 to 15, wherein the.
前記第2のプロトコルは、HTTPである、
ことを特徴とする請求項16に記載の画像処理装置。 The first protocol is XMPP over BOSH,
The second protocol is HTTP.
The image processing apparatus according to claim 16 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016246630A JP6265257B2 (en) | 2016-12-20 | 2016-12-20 | Relay device, image processing device, and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016246630A JP6265257B2 (en) | 2016-12-20 | 2016-12-20 | Relay device, image processing device, and communication system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013053992A Division JP6107261B2 (en) | 2013-03-15 | 2013-03-15 | Relay device, image processing device, and communication system |
Related Child 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 |
---|---|
JP2017073167A JP2017073167A (en) | 2017-04-13 |
JP6265257B2 true JP6265257B2 (en) | 2018-01-24 |
Family
ID=58537213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016246630A Active JP6265257B2 (en) | 2016-12-20 | 2016-12-20 | Relay device, image processing device, and communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6265257B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021124973A (en) | 2020-02-05 | 2021-08-30 | キヤノン株式会社 | Information processing system and control method thereof, and program |
JP7414617B2 (en) | 2020-03-31 | 2024-01-16 | キヤノン株式会社 | Systems, server devices, and methods |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002223483A (en) * | 2000-11-09 | 2002-08-09 | Yamatake Corp | Remote management system |
WO2007039942A1 (en) * | 2005-10-06 | 2007-04-12 | Mitsubishi Denki Kabushiki Kaisha | Terminal device, server device, and command device |
JP2007102807A (en) * | 2006-11-27 | 2007-04-19 | Seiko Epson Corp | Intermediary device connected to network |
JP2012027869A (en) * | 2010-07-28 | 2012-02-09 | Pfu Ltd | Management server, information processing device, method and program |
-
2016
- 2016-12-20 JP JP2016246630A patent/JP6265257B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017073167A (en) | 2017-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6107261B2 (en) | Relay device, image processing device, and communication system | |
US9146731B2 (en) | Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system | |
JP6056795B2 (en) | Image processing system, gateway device, gateway device control method, gateway device control program | |
EP3171581B1 (en) | Print device monitoring method and system, and print monitoring server | |
JP5780136B2 (en) | server | |
JP2012155575A (en) | Print control server and print system | |
JP6265257B2 (en) | Relay device, image processing device, and communication system | |
JP6531817B2 (en) | Relay apparatus, image processing apparatus and communication system | |
JP4676850B2 (en) | Data processing system, data management device, program, and recording medium | |
JP5839102B2 (en) | Printing system and printer | |
JP2014011582A (en) | Image processing apparatus, and method and program of controlling the same | |
JP6750706B2 (en) | Relay device, image processing device, and communication system | |
JP6336377B2 (en) | Network system and image forming apparatus | |
JP6064703B2 (en) | Relay server | |
JP6205982B2 (en) | RELAY DEVICE, PROGRAM, AND RELAY DEVICE CONTROL METHOD | |
JP6052039B2 (en) | Information processing apparatus and network connection program | |
JP2011081433A (en) | Communication apparatus and method, and program | |
JPH11275291A (en) | Client/server system | |
JP2015219873A (en) | Server device, gateway device, image processing system, control method of the server device, control method of the gateway device, control program of the server device, and control program of the gateway device | |
JP2007128215A (en) | Information collection on network device | |
US11283940B2 (en) | Non-transitory storage medium storing program set readable by computer of information processing apparatus, method for obtaining read result, and information processing apparatus | |
JP2017068356A (en) | Device apparatus, system, information processing method, and program | |
JP4681998B2 (en) | Data processing system, data management device, program, and recording medium | |
JP6036966B2 (en) | Printing system and printer | |
JP6531430B2 (en) | Terminal device and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170117 |
|
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: 20171128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6265257 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |