JP7363286B2 - Communication system, first server, second server, computer program for the first server, and computer program for the second server - Google Patents

Communication system, first server, second server, computer program for the first server, and computer program for the second server Download PDF

Info

Publication number
JP7363286B2
JP7363286B2 JP2019175619A JP2019175619A JP7363286B2 JP 7363286 B2 JP7363286 B2 JP 7363286B2 JP 2019175619 A JP2019175619 A JP 2019175619A JP 2019175619 A JP2019175619 A JP 2019175619A JP 7363286 B2 JP7363286 B2 JP 7363286B2
Authority
JP
Japan
Prior art keywords
server
information
communication device
related information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019175619A
Other languages
Japanese (ja)
Other versions
JP2021051677A (en
Inventor
健 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019175619A priority Critical patent/JP7363286B2/en
Publication of JP2021051677A publication Critical patent/JP2021051677A/en
Application granted granted Critical
Publication of JP7363286B2 publication Critical patent/JP7363286B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本明細書では、端末装置と通信装置との間の通信を仲介するサーバに関する技術を開示する。 This specification discloses a technology related to a server that mediates communication between a terminal device and a communication device.

特許文献1には、サーバからプリンタに印刷データを送信し、プリンタに印刷を実行させる技術が開示されている。サーバとプリンタとの間には、XMPP(eXtensible Messaging and Presence Protocolの略)接続が確立されている。サーバは、端末から印刷依頼としての電子メールを受信すると、印刷データを生成し、XMPP接続を利用して、印刷待ち情報をプリンタに送信する。印刷待ち情報を受信したプリンタは、印刷データをサーバに要求して、サーバから印刷データを受信する。これにより、プリンタは、印刷データに基づいた印刷を実行する。 Patent Document 1 discloses a technique for transmitting print data from a server to a printer and causing the printer to execute printing. An XMPP (eXtensible Messaging and Presence Protocol) connection is established between the server and the printer. When the server receives an e-mail as a print request from the terminal, it generates print data and sends print waiting information to the printer using the XMPP connection. The printer that has received the print waiting information requests print data from the server and receives the print data from the server. Thereby, the printer executes printing based on the print data.

ここで、例えば、プリンタの電源が遮断されると、XMPP接続は切断される。XMPP接続が切断されている状態では印刷待ち情報の送信が失敗し、サーバは、エラー情報を端末に送信する。その後、プリンタの電源が再び投入されると、プリンタは、サーバとのXMPP接続を再び確立するとともに、印刷データをサーバに要求する。これにより、プリンタは、電源が遮断されている間にサーバで生成された印刷データを受信して印刷を実行することができる。 Here, for example, when the printer's power is cut off, the XMPP connection is cut off. When the XMPP connection is disconnected, the transmission of print waiting information fails, and the server transmits error information to the terminal. Thereafter, when the printer is powered on again, the printer re-establishes an XMPP connection with the server and requests print data from the server. This allows the printer to receive print data generated by the server and execute printing while the power is turned off.

特開2015-111424号公報Japanese Patent Application Publication No. 2015-111424

上記の技術では、プリンタは、電源が遮断されている間にサーバで印刷データが生成されていない状況でも、電源が再び投入される場合に、印刷データをサーバに要求し得る。即ち、プリンタとサーバとの間で無駄な通信が実行され得る。 With the above-mentioned technique, the printer can request print data from the server when the power is turned on again, even if no print data is generated on the server while the power is turned off. That is, unnecessary communication may be performed between the printer and the server.

本明細書では、通信装置とサーバとの間で無駄な通信が実行されることを抑制するための技術を提供する。 This specification provides a technique for suppressing unnecessary communication between a communication device and a server.

本明細書によって開示される通信システムは、通信装置と、第1のサーバと、第2のサーバと、を備え、前記第2のサーバは、端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を前記第1のサーバに送信する第1の関連情報送信部を備え、前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を前記通信装置に送信することを試行する試行部と、前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、を備え、
前記第2のサーバは、さらに、前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部を備え、前記第1のサーバは、さらに、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部を備え、前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する装置側送信部を備え、前記第2のサーバは、さらに、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信するデータ送信部を備える。
A communication system disclosed herein includes a communication device, a first server, and a second server, and the second server is configured to receive first data from a terminal device. , a first related information transmitter that transmits first related information related to the first data to the first server, the first server transmits information from the second server to the first related information. When related information is received, an attempt is made to transmit first instruction information corresponding to the first related information to the communication device using a session for performing server push type communication. failure when the transmission of the first instruction information to the communication device fails due to the session not being established between the trial unit, the communication device, and the first server; a failure information transmitter that transmits information to the second server,
The second server further transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server. The first server further includes an acquisition information transmitting unit that transmits the acquisition information to the server, and the first server further transmits the session between the communication device and the first server after the acquisition information is received from the second server. an acquisition unit that uses the acquisition information to acquire the second related information when the acquisition information is established; and an acquisition unit that uses the session to acquire the second related information when the second related information is acquired; an instruction information transmitter configured to transmit second instruction information corresponding to related information of No. 2 to the communication device, and the communication device is configured to: a device-side transmitter that transmits the second related information corresponding to the second instruction information to the second server, and the second server further transmits the second related information from the communication device. The communication device further includes a data transmitter configured to transmit second data obtained using the first data related to the second related information to the communication device when the communication device receives the second related information.

上記の構成によれば、通信装置と第1のサーバとの間にセッションが確立されていないことに起因して、通信装置への第1の指示情報の送信が失敗した後に、通信装置と第1のサーバとの間にセッションが確立される場合に、通信装置から第1のサーバに要求が送信されなくても、第1のサーバから通信装置に第2の指示情報が送信される。これにより、通信装置は、第2の指示情報に対応する第2の関連情報を第2のサーバに送信して、第2のサーバから第1のデータを用いて得られる第2のデータを受信することができる。このように、第1の指示情報の送信の失敗後にセッションが確立される場合に、通信装置から第1のサーバに要求が送信されないので、通信装置と第1のサーバとの間で無駄な通信が実行されることを抑制することができる。 According to the above configuration, after the transmission of the first instruction information to the communication device fails due to a session not being established between the communication device and the first server, the communication device and the first server When a session is established with one server, the second instruction information is sent from the first server to the communication device even if the communication device does not send a request to the first server. Thereby, the communication device transmits second related information corresponding to the second instruction information to the second server, and receives second data obtained using the first data from the second server. can do. In this way, when a session is established after a failure in transmission of the first instruction information, no request is sent from the communication device to the first server, resulting in unnecessary communication between the communication device and the first server. can be prevented from being executed.

また、本明細書によって開示される第1のサーバは、第2のサーバが端末装置から第1のデータを受信する場合に、前記第2のサーバから、前記第1のデータに関連する第1の関連情報を受信する第1の関連情報受信部と、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する試行部と、前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、前記失敗情報が前記第2のサーバに送信される場合に、前記第2のサーバから、前記第1のデータに関係する第2の関連情報を取得するための取得情報を受信する取得情報受信部と、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部であって、前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信し、前記第2のサーバは、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、前記指示情報送信部と、を備える。 Further, the first server disclosed in this specification is configured to receive first data related to the first data from the second server when the second server receives the first data from the terminal device. a first related information receiving unit that receives related information from the second server, and a session for executing server push type communication when the first related information is received from the second server; a trial unit that attempts to transmit first instruction information corresponding to the first related information to a communication device, and the session is not established between the communication device and the first server; a failure information transmitter that transmits failure information to the second server when transmission of the first instruction information to the communication device fails; an acquisition information receiving unit that receives acquisition information for acquiring second related information related to the first data from the second server when the second data is transmitted; an acquisition unit that acquires the second related information using the acquired information when the session is established between the communication device and the first server after the information is received; an instruction information transmitting unit that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired; When the second instruction information is received from the first server, the communication device transmits the second related information corresponding to the second instruction information to the second server, and When the second related information is received from the communication device, the second server transmits second data obtained using the first data related to the second related information to the communication device. and the instruction information transmitting section that transmits the instruction information.

上記の構成によれば、第1のサーバは、通信装置と第1のサーバとの間にセッションが確立されていないことに起因して、通信装置への第1の指示情報の送信が失敗した後に、通信装置と第1のサーバとの間にセッションが確立される場合に、通信装置から第1のサーバに要求が送信されなくても、第2の指示情報を通信装置に送信する。第1の指示情報の送信の失敗後にセッションが確立される場合に、通信装置から第1のサーバに要求が送信されないので、通信装置と第1のサーバとの間で無駄な通信が実行されることを抑制することができる。 According to the above configuration, the first server fails to send the first instruction information to the communication device because a session is not established between the communication device and the first server. Later, when a session is established between the communication device and the first server, the second instruction information is sent to the communication device even if no request is sent from the communication device to the first server. When a session is established after the transmission of the first instruction information fails, a request is not sent from the communication device to the first server, so useless communication is performed between the communication device and the first server. This can be suppressed.

本明細書によって開示される第2のサーバは、端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を第1のサーバに送信する第1の関連情報送信部であって、前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する、前記第1の関連情報送信部と、前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、前記第1のサーバから失敗情報を受信する失敗情報受信部と、前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部であって、前記第1のサーバは、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得し、前記第1のサーバは、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信し、前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する、前記取得情報送信部と、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、データ送信部と、を備える。 A second server disclosed herein is configured to transmit first related information related to the first data to the first server when the first data is received from the terminal device. , the first server is configured to use a session for executing server push type communication when the first related information is received from the second server. , between the first related information transmitting unit that attempts to transmit first instruction information corresponding to the first related information to the communication device, and the communication device and the first server. a failure information receiving unit that receives failure information from the first server when transmission of the first instruction information to the communication device fails due to a session not being established; an acquisition information transmitting unit that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; , the first server uses the acquired information when the session is established between the communication device and the first server after the acquired information is received from the second server. and obtains the second related information, and when the second related information is obtained, the first server uses the session to obtain the second related information corresponding to the second related information. 2 instruction information to the communication device, and the communication device transmits the second association corresponding to the second instruction information when the second instruction information is received from the first server. the acquisition information transmitter that transmits information to the second server; and when the second related information is received from the communication device, the first data related to the second related information is transmitted to the second server. and a data transmitter that transmits second data obtained using the communication device to the communication device.

上記の構成によれば、第2のサーバは、通信装置と第1のサーバとの間にセッションが確立されていないことに起因して、通信装置への第1の指示情報の送信が失敗する場合に、取得情報を第1のサーバに送信する。これにより、第1のサーバは、通信装置への第1の指示情報の送信が失敗した後に、通信装置と第1のサーバとの間にセッションが確立される場合に、取得情報を利用して、第2の関連情報を取得し、第2の関連情報に対応する第2の指示情報を通信装置に送信することができる。即ち、通信装置から第1のサーバに要求が送信されなくても、第1のサーバから通信装置に第2の指示情報が送信される。第1の指示情報の送信の失敗後にセッションが確立される場合に、通信装置から第1のサーバに要求が送信されないので、通信装置と第1のサーバとの間で無駄な通信が実行されることを抑制することができる。 According to the above configuration, the second server fails to send the first instruction information to the communication device because a session is not established between the communication device and the first server. If so, the acquired information is sent to the first server. This allows the first server to use the obtained information when a session is established between the communication device and the first server after the transmission of the first instruction information to the communication device fails. , the second related information can be acquired, and second instruction information corresponding to the second related information can be transmitted to the communication device. That is, even if a request is not sent from the communication device to the first server, the second instruction information is sent from the first server to the communication device. When a session is established after the transmission of the first instruction information fails, a request is not sent from the communication device to the first server, so useless communication is performed between the communication device and the first server. This can be suppressed.

上記の第1のサーバ及び第2のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。 A control method, a computer program, and a computer-readable recording medium that stores the computer program for realizing the first server and the second server described above are also new and useful.

通信システムの構成を示す。The configuration of the communication system is shown. 通信システム内の各装置の構成を示すブロック図を示す。A block diagram showing the configuration of each device in the communication system is shown. セットアップ処理のシーケンス図を示す。A sequence diagram of setup processing is shown. 図3の続きを示す。A continuation of FIG. 3 is shown. メール印刷を実行するための処理のシーケンス図を示す。A sequence diagram of processing for executing email printing is shown. XMPPセッションが確立されていない具体的なケースを示す。A specific case where an XMPP session is not established is shown. 第2実施例に係るアプリ印刷を実行するための処理のシーケンス図を示す。A sequence diagram of processing for executing application printing according to a second embodiment is shown.

(第1実施例)
(通信システム2の構成:図1)
図1に示されるように、通信システム2は、XMPP(Extensible Messaging and Presence Protocolの略)サーバ10、APPサーバ100、多機能機200、端末装置300と、を備える。なお、以下では、多機能機のことを「MFP(Multi-Function Peripheralの略)」と呼ぶ。
(First example)
(Configuration of communication system 2: Figure 1)
As shown in FIG. 1, the communication system 2 includes an XMPP (abbreviation for Extensible Messaging and Presence Protocol) server 10, an APP server 100, a multi-function device 200, and a terminal device 300. Note that hereinafter, the multi-function device will be referred to as "MFP (abbreviation for Multi-Function Peripheral)".

XMPPサーバ10、APPサーバ100、及び、端末装置300は、インターネット8に接続されている。XMPPサーバ10は、インターネット8を介して、各装置100、300と通信可能である。また、MFP200は、LAN(Local Area Network)4に接続されている。LAN4は、インターネット8に接続されている。MFP200は、LAN4及びインターネット8を介して、各装置10、100、300と通信可能である。なお、LAN4は、有線LANでもいいし、無線LANでもいい。 The XMPP server 10, the APP server 100, and the terminal device 300 are connected to the Internet 8. The XMPP server 10 can communicate with each device 100, 300 via the Internet 8. Furthermore, the MFP 200 is connected to a LAN (Local Area Network) 4. LAN 4 is connected to the Internet 8. MFP 200 can communicate with each device 10 , 100 , 300 via LAN 4 and Internet 8 . Note that the LAN 4 may be a wired LAN or a wireless LAN.

(XMPPサーバ10の構成:図2)
XMPPサーバ10は、MFP(例えばMFP200)とのXMPPセッションを確立するためのサーバである。XMPPサーバ10は、MFP200等のベンダによってインターネット8上に設置される。
(Configuration of XMPP server 10: Figure 2)
The XMPP server 10 is a server for establishing an XMPP session with an MFP (eg, MFP 200). The XMPP server 10 is installed on the Internet 8 by a vendor such as the MFP 200.

XMPPセッションは、XMPPに従ったセッションである。XMPPサーバ10は、XMPPセッションを利用すれば、MFPから要求を受信しなくても、当該MFPが所属するLANのファイヤウォール(例えばルータによって形成されるファイヤウォール)を越えて、当該MFPに要求を送信することができる。即ち、XMPPセッションは、サーバプッシュ型の通信を実行可能なセッションである。XMPPセッションは、MFPの電源がOFFされるまで確立され続ける。なお、XMPPサーバ10からMFPに要求を送信する仕組み(即ち、サーバプッシュ型の通信を実行するための仕組み)は、XMPPセッションではなく、他の手法であってもよい。例えば、MFPとXMPPサーバ10との間にHTTPS(Hypertext Transfer Protocol Secureの略)に従ったセッションが確立されてもよい。 An XMPP session is a session that complies with XMPP. If the XMPP server 10 uses an Can be sent. That is, the XMPP session is a session that can execute server push type communication. The XMPP session continues to be established until the MFP is powered off. Note that the mechanism for transmitting a request from the XMPP server 10 to the MFP (that is, the mechanism for executing server push type communication) may be other methods than the XMPP session. For example, a session based on HTTPS (abbreviation for Hypertext Transfer Protocol Secure) may be established between the MFP and the XMPP server 10.

XMPPサーバ10は、ネットワークインターフェイス16と、制御部30と、を備える。各部16、30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを「I/F」と記載する。ネットワークI/F16は、インターネット8を介した通信を実行するためのI/Fであり、インターネット8(図1参照)に接続されている。制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム40に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、上記のプログラム40の他に、管理テーブル42を記憶する。 The XMPP server 10 includes a network interface 16 and a control unit 30. Each part 16, 30 is connected to a bus line (numerals omitted). Note that, below, the interface will be referred to as "I/F". The network I/F 16 is an I/F for executing communication via the Internet 8, and is connected to the Internet 8 (see FIG. 1). The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes according to the program 40 stored in the memory 34. The memory 34 is composed of volatile memory, nonvolatile memory, and the like. The memory 34 stores a management table 42 in addition to the program 40 described above.

管理テーブル42は、MFPに関する情報を管理するためのテーブルである。管理テーブル42は、複数個のMFPのそれぞれについて、当該MFPを管理するための管理ID(Identifierの略)と、当該MFPから取得した識別情報であるUIDと、当該MFPのモデル情報と、当該MFPのアクセストークンと、を関連付けて記憶する。モデル情報は、対応するMFPのモデルに関する情報(例えば、モデル名、性能)を示す。アクセストークンは、対応するMFPとのXMPPセッションを確立するための認証情報である。ここで、XMPPサーバ10は、APPサーバ100から後述するCall Back URL(Uniform Resource Locatorの略)を受信する場合に、管理IDと関連付けて、受信済みのCall Back URLを管理テーブル42に記憶する。 The management table 42 is a table for managing information regarding the MFP. The management table 42 includes, for each of a plurality of MFPs, a management ID (abbreviation for Identifier) for managing the MFP, a UID that is identification information acquired from the MFP, model information of the MFP, and information about the MFP. This access token is associated and stored. The model information indicates information regarding the model of the corresponding MFP (eg, model name, performance). The access token is authentication information for establishing an XMPP session with the corresponding MFP. Here, when the XMPP server 10 receives a Call Back URL (abbreviation for Uniform Resource Locator), which will be described later, from the APP server 100, it stores the received Call Back URL in the management table 42 in association with the management ID.

(APPサーバ100の構成)
APPサーバ100は、メール印刷のための通信をMFP(例えばMFP200)と実行するためのサーバである。メール印刷は、電子メールに含まれる画像データに対応する画像の印刷をMFPに実行させる機能である。APPサーバ100は、MFP200等のベンダによってインターネット8上に設置される。
(Configuration of APP server 100)
The APP server 100 is a server for communicating with an MFP (for example, the MFP 200) for email printing. Mail printing is a function that causes the MFP to print an image corresponding to image data included in an email. The APP server 100 is installed on the Internet 8 by a vendor such as the MFP 200.

APPサーバ100は、ネットワークI/F116と、制御部130と、を備える。各部116、130は、バス線(符号省略)に接続されている。ネットワークI/F116は、インターネット8(図1参照)に接続されている。制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に記憶されているプログラム140に従って、様々な処理を実行する。メモリ134は、上記のプログラム140の他に、デバイステーブル142と、ジョブテーブル144と、を記憶する。 The APP server 100 includes a network I/F 116 and a control unit 130. Each section 116, 130 is connected to a bus line (numerals omitted). Network I/F 116 is connected to the Internet 8 (see FIG. 1). The control unit 130 includes a CPU 132 and a memory 134. CPU 132 executes various processes according to program 140 stored in memory 134. The memory 134 stores a device table 142 and a job table 144 in addition to the program 140 described above.

デバイステーブル142は、MFPに関する情報を登録するテーブルである。デバイステーブル142は、複数個のMFPのそれぞれについて、当該MFPから取得したUIDと、XMPPサーバ10において当該UIDに関連付けて記憶されている管理IDと、メール印刷で利用されるメールアドレスと、イベント情報と、を関連付けて記憶する。イベント情報は、APPサーバ100内で発生したイベントに関する情報である。イベント情報には、様々なイベントに関する情報が記述され得る。例えば、APPサーバ100が後述Call Back URLをXMPPサーバ10に送信するイベントが発生した場合、イベント情報には、当該Call Back URLが記述される。 The device table 142 is a table in which information regarding the MFP is registered. The device table 142 includes, for each of a plurality of MFPs, a UID obtained from the MFP, a management ID stored in association with the UID in the XMPP server 10, an email address used for email printing, and event information. and are stored in association with each other. The event information is information regarding an event that occurred within the APP server 100. Information regarding various events may be described in the event information. For example, when an event occurs in which the APP server 100 sends a Call Back URL (described later) to the XMPP server 10, the Call Back URL is described in the event information.

ジョブテーブル144は、複数個の印刷ジョブを管理するテーブルである。ジョブテーブル144は、複数個の印刷ジョブのそれぞれについて、UIDと、管理IDと、当該印刷ジョブを識別するジョブIDと、当該印刷ジョブの印刷対象に対応する画像データのファイル名と、当該印刷ジョブに対応する印刷URLと、当該印刷ジョブの有効期限を示す有効期限情報と、当該印刷ジョブに対応する状態情報と、を関連付けて記憶する。印刷URLについては後述する。状態情報は、対応する印刷ジョブの状態を示す。例えば、対応する印刷ジョブの印刷URLのMFPへの送信が成功して、MFPで印刷が実行されている場合に、状態情報は、「印刷開始」を示す。また、例えば、対応する印刷ジョブの印刷URLのMFPへの送信が失敗した場合に、状態情報は、「失敗」を示す。 The job table 144 is a table that manages multiple print jobs. The job table 144 includes, for each of a plurality of print jobs, a UID, a management ID, a job ID for identifying the print job, a file name of image data corresponding to the print target of the print job, and the print job. The print URL corresponding to the print job, expiration date information indicating the expiration date of the print job, and status information corresponding to the print job are stored in association with each other. The print URL will be described later. The status information indicates the status of the corresponding print job. For example, when the print URL of the corresponding print job has been successfully transmitted to the MFP and printing is being executed on the MFP, the status information indicates "Printing started". Further, for example, if the transmission of the print URL of the corresponding print job to the MFP fails, the status information indicates "failure".

メール印刷では、APPサーバ100とXMPPサーバ10が連携して動作する。詳しくは後述するが、XMPPセッションを利用することによって、MFPから要求を受信することなく、電子メールに含まれている画像データに対応する画像の印刷をMFPに実行させることできる。また、ベンダは、APPサーバ100以外の他のAPPサーバをインターネット8上に設置する。他のAPPサーバは、メール印刷以外のインターネット8を利用した他の機能(例えば、インターネット8を介して設定値をMFPに送信する機能)のための通信をMFPと実行するためのサーバである。当該他の機能でも、他のAPPサーバとXMPPサーバ10が連携して動作する。即ち、1個のXMPPサーバ10と複数個のAPPサーバが連動して動作する。1個のXMPPサーバ10とMFPとの間にXMPPセッションが確立されることにより、インターネット8を利用した複数個の機能をMFPに実行させることができる。 In email printing, the APP server 100 and the XMPP server 10 work together. As will be described in detail later, by using the XMPP session, it is possible to cause the MFP to print an image corresponding to the image data included in the e-mail without receiving a request from the MFP. Further, the vendor installs other APP servers other than the APP server 100 on the Internet 8. The other APP servers are servers for performing communication with the MFP for other functions using the Internet 8 other than email printing (for example, a function for transmitting setting values to the MFP via the Internet 8). For these other functions as well, other APP servers and the XMPP server 10 operate in cooperation. That is, one XMPP server 10 and a plurality of APP servers operate in conjunction. By establishing an XMPP session between one XMPP server 10 and the MFP, it is possible to cause the MFP to execute a plurality of functions using the Internet 8.

(MFP200の構成)
MFP200は、印刷機能、スキャン機能、及び、ファクシミリ機能を含む多機能を実行可能な周辺装置(即ちLAN4に接続されている端末装置の周辺装置)である。MFP200は、表示部214と、LANI/F216と、印刷実行部218と、PSTN(Public Switched Telephone Networkの略)I/F220と、制御部230と、を含む。各部214~230は、バス線(符号省略)に接続されている。表示部214は、様々な情報を表示するためのディスプレイである。表示部214は、いわゆるタッチパネルであり、操作部としても機能する。LANI/F216は、LAN4(図1参照)に接続されている。印刷実行部218は、インクジェット方式、レーザ方式等の印刷機構を備える。PSTNI/F220は、ファクシミリ通信を実行するためのI/Fである。
(Configuration of MFP200)
The MFP 200 is a peripheral device (that is, a peripheral device of a terminal device connected to the LAN 4) that can perform multiple functions including a print function, a scan function, and a facsimile function. The MFP 200 includes a display section 214, a LANI/F 216, a print execution section 218, a PSTN (Public Switched Telephone Network) I/F 220, and a control section 230. Each part 214 to 230 is connected to a bus line (numerals omitted). The display unit 214 is a display for displaying various information. The display section 214 is a so-called touch panel, and also functions as an operation section. The LAN I/F 216 is connected to the LAN 4 (see FIG. 1). The printing execution unit 218 includes a printing mechanism such as an inkjet method or a laser method. The PSTNI/F 220 is an I/F for performing facsimile communication.

制御部230は、CPU232と、メモリ234と、を備える。CPU232は、メモリ234に記憶されているプログラム240に従って、様々な処理を実行する。メモリ234は、さらに、MFP200のUID「u01」と、MFP200のモデル情報MIと、を記憶する。UIDは、MFP200を利用するユーザを識別する情報(例えばアカウント名)である。なお、変形例では、UIDは、MFP200を識別する情報(例えばシリアル番号)でもよい。 The control unit 230 includes a CPU 232 and a memory 234. CPU 232 executes various processes according to program 240 stored in memory 234. The memory 234 further stores the UID "u01" of the MFP 200 and the model information MI of the MFP 200. The UID is information (for example, an account name) that identifies a user who uses MFP 200. Note that in a modified example, the UID may be information that identifies the MFP 200 (for example, a serial number).

(セットアップ処理:図3、図4)
図3、図4を参照して、メール印刷の通信に利用される情報をAPPサーバ100に登録して、XMPPセッションを確立するセットアップ処理を説明する。なお、以下では、各デバイスの各CPU(例えばXMPPサーバ10のCPU32等)が実行する処理について、理解の容易さの観点から、各CPUを主体として記載せずに、各デバイス(例えばXMPPサーバ10等)を主体として記載する。また、以下では、MFP200と各サーバ10、100との間では、LAN4とインターネット8を介して、通信が実行される。また、XMPPサーバ10とAPPサーバ100との間では、インターネット8を介して、通信が実行される。以下では、特に言及しない限り、「LAN4を介して」及び「インターネット8を介して」という説明を省略する。
(Setup process: Figure 3, Figure 4)
With reference to FIGS. 3 and 4, a setup process for registering information used for email printing communication in the APP server 100 and establishing an XMPP session will be described. Note that, in the following, from the viewpoint of ease of understanding, the processing executed by each CPU of each device (for example, the CPU 32 of the etc.) should be mainly described. Further, in the following, communication is performed between the MFP 200 and each server 10, 100 via the LAN 4 and the Internet 8. Further, communication is performed between the XMPP server 10 and the APP server 100 via the Internet 8. In the following, descriptions of "via the LAN 4" and "via the Internet 8" will be omitted unless otherwise specified.

T5では、MFP200は、ユーザからメール印刷設定を「無効」から「有効」に変更するための操作を受け付ける。メール印刷設定は、メール印刷の実行を許容するのか否かの設定を示す。「無効」は、メール印刷の実行を禁止することを示し、「有効」は、メール印刷の実行を許容することを示す。メール印刷設定は、デフォルトでは、「無効」を示す。 At T5, the MFP 200 receives an operation from the user to change the email print setting from "invalid" to "enabled". The email print setting indicates a setting as to whether or not execution of email printing is permitted. "Invalid" indicates that execution of email printing is prohibited, and "Valid" indicates that execution of email printing is permitted. The email print setting indicates "invalid" by default.

MFP200は、T5において、メール印刷設定が「無効」から「有効」に変更されると、T10において、メール印刷の通信に利用される情報の登録を要求する登録要求をAPPサーバ100に送信する。登録要求は、UID「u01」を含む。 When the email print setting is changed from "invalid" to "enabled" at T5, the MFP 200 transmits a registration request to the APP server 100 at T10 to request registration of information used for email print communication. The registration request includes UID "u01".

APPサーバ100は、T10において、MFP200から登録要求を受信すると、T12において、メールアドレスMAを生成する。メールアドレスMAは、ローカル部「mfp1」とAPPサーバ100のドメイン名「app.com」を含む。 Upon receiving the registration request from the MFP 200 at T10, the APP server 100 generates an email address MA at T12. The email address MA includes a local part “mfp1” and the domain name of the APP server 100 “app.com”.

T14では、APPサーバ100は、管理IDをXMPPサーバ10に要求する管理ID要求をXMPPサーバ10に送信する。 At T14, the APP server 100 transmits a management ID request to the XMPP server 10, requesting the XMPP server 10 for a management ID.

XMPPサーバ10は、T14において、APPサーバ100から管理ID要求を受信する場合に、T16において、管理ID「a01」を生成し、管理ID「a01」を管理テーブル42に記憶する。 When the XMPP server 10 receives a management ID request from the APP server 100 at T14, it generates a management ID “a01” at T16, and stores the management ID “a01” in the management table 42.

T18では、XMPPサーバ10は、管理ID「a01」をAPPサーバ100に送信する。 At T18, the XMPP server 10 transmits the management ID "a01" to the APP server 100.

APPサーバ100は、T18において、XMPPサーバ10から管理ID「a01」を受信すると、T20において、T10の登録要求内のUID「u01」と、T18で受信した管理ID「a01」と、T12で生成されたメールアドレスMAと、空のイベント情報と、を関連付けてデバイステーブル142に記憶する。これにより、メール印刷の通信に利用される情報がAPPサーバ100に登録される。 When the APP server 100 receives the management ID "a01" from the XMPP server 10 at T18, the APP server 100 combines the UID "u01" in the registration request at T10, the management ID "a01" received at T18, and the management ID "a01" generated at T12 at T20. The email address MA and empty event information are stored in the device table 142 in association with each other. As a result, information used for mail printing communication is registered in the APP server 100.

続けて、T30では、APPサーバ100は、PIN(Personal Identification Numberの略)コードを要求するPINコード要求をXMPPサーバ10に送信する。 Subsequently, at T30, the APP server 100 transmits a PIN code request to the XMPP server 10 requesting a PIN (abbreviation for Personal Identification Number) code.

XMPPサーバ10は、T30において、APPサーバ100からPINコード要求を受信すると、T32において、PINコードCを生成する。XMPPサーバ10は、管理ID「a01」とPINコードCとを関連付けてメモリ34に記憶する。 Upon receiving the PIN code request from the APP server 100 at T30, the XMPP server 10 generates a PIN code C at T32. The XMPP server 10 stores the management ID "a01" and the PIN code C in the memory 34 in association with each other.

T34では、XMPPサーバ10は、PINコードCをAPPサーバ100に送信する。これにより、APPサーバ100は、T36において、XMPPサーバ10から受信したPINコードCをMFP200に送信する。 At T34, the XMPP server 10 transmits the PIN code C to the APP server 100. Thereby, the APP server 100 transmits the PIN code C received from the XMPP server 10 to the MFP 200 at T36.

MFP200は、T36において、APPサーバ100からPINコードCを受信すると、T50において、XMPPセッションを確立することを要求する確立要求をXMPPサーバ10に送信する。確立要求は、UID「u01」と、モデル情報MIと、PINコードCと、を含む。 Upon receiving the PIN code C from the APP server 100 at T36, the MFP 200 transmits an establishment request to the XMPP server 10 requesting to establish an XMPP session at T50. The establishment request includes UID "u01", model information MI, and PIN code C.

XMPPサーバ10は、T50において、MFP200から確立要求を受信すると、T52において、確立要求内のPINコードの認証を実行する。本ケースでは、確立要求内のPINコードCがXMPPサーバ10のメモリ34内のPINコードCと一致するので、PINコードの認証が成功する。そして、XMPPサーバ10は、T54以降の処理を実行する。仮に、PINコードの認証が失敗する場合、XMPPサーバ10は、T54以降の処理を実行しない。 When the XMPP server 10 receives the establishment request from the MFP 200 at T50, it authenticates the PIN code in the establishment request at T52. In this case, since the PIN code C in the establishment request matches the PIN code C in the memory 34 of the XMPP server 10, the PIN code authentication is successful. Then, the XMPP server 10 executes the processing from T54 onward. If the PIN code authentication fails, the XMPP server 10 does not execute the process after T54.

T54では、XMPPサーバ10は、アクセストークンATを生成する。XMPPサーバ10は、メモリ34から、PINコードCに関連付けて記憶されている管理ID「a01」を特定する。そして、XMPPサーバ10は、特定済みの管理ID「a01」と、確立要求内のUID「u01」と、確立要求内のモデル情報MIと、生成済みのアクセストークンATと、を関連付けて管理テーブル42に記憶する。なお、現時点では、Call Back URLは、管理ID「a01」に関連付けて管理テーブル42に記憶されない。 At T54, the XMPP server 10 generates an access token AT. The XMPP server 10 identifies the management ID "a01" stored in association with the PIN code C from the memory 34. Then, the XMPP server 10 associates the specified management ID "a01", the UID "u01" in the establishment request, the model information MI in the establishment request, and the generated access token AT, and creates a table in the management table 42. to be memorized. Note that, at this time, the Call Back URL is not stored in the management table 42 in association with the management ID "a01".

T58では、XMPPサーバ10は、アクセストークンATをMFP200に送信する。これにより、MFP200は、T70において、アクセストークンATを利用して、XMPPサーバ10とのXMPPセッションを確立する。 At T58, the XMPP server 10 transmits the access token AT to the MFP 200. As a result, the MFP 200 uses the access token AT to establish an XMPP session with the XMPP server 10 at T70.

また、MFP200は、XMPPセッションの確立が完了すると、T80において、メールアドレスを要求するメールアドレス要求をAPPサーバ100に送信する。メールアドレス要求は、UID「u01」を含む。 Further, when the establishment of the XMPP session is completed, the MFP 200 transmits an e-mail address request requesting an e-mail address to the APP server 100 at T80. The email address request includes UID "u01".

APPサーバ100は、T80において、MFP200からメールアドレス要求を受信すると、T82において、メールアドレス要求内のUID「u01」に関連付けて記憶されているメールアドレスMAをMFP200に送信する。 Upon receiving the email address request from MFP 200 at T80, APP server 100 transmits email address MA stored in association with UID "u01" in the email address request to MFP 200 at T82.

MFP200は、T82において、APPサーバ100からメールアドレスMAを受信すると、T84において、メールアドレスMAを表示部214に表示させる。これにより、ユーザは、メールアドレスMAを知ることができる。 Upon receiving the email address MA from the APP server 100 at T82, the MFP 200 displays the email address MA on the display unit 214 at T84. This allows the user to know the email address MA.

続けて、図4に示すように、MFP200は、メールアドレスMAを印刷する。具体的には、MFP200は、T100において、メールアドレスMAの印刷のための印刷URLを要求する印刷URL要求をAPPサーバ100に送信する。印刷URL要求は、UID「u01」を含む。 Subsequently, as shown in FIG. 4, the MFP 200 prints the email address MA. Specifically, at T100, the MFP 200 transmits a print URL request to the APP server 100 requesting a print URL for printing the email address MA. The print URL request includes UID "u01".

APPサーバ100は、T100において、MFP200から印刷URL要求を受信すると、デバイステーブル142から印刷URL要求内のUID「u01」に関連付けて記憶されている情報(即ち管理ID「a01」とメールアドレスMA)を特定する。そして、APPサーバ100は、T102において、モデル情報を要求するモデル情報要求をXMPPサーバ10に送信する。モデル情報要求は、特定済みの管理ID「a01」を含む。 When the APP server 100 receives a print URL request from the MFP 200 at T100, the APP server 100 retrieves information stored in association with the UID "u01" in the print URL request from the device table 142 (i.e., management ID "a01" and email address MA). Identify. Then, in T102, the APP server 100 transmits a model information request requesting model information to the XMPP server 10. The model information request includes the specified management ID "a01".

XMPPサーバ10は、T102において、APPサーバ100からモデル情報要求を受信すると、T104において、モデル情報要求内の管理ID「a01」に関連付けて記憶されているモデル情報MIをAPPサーバ100に送信する。 Upon receiving the model information request from the APP server 100 at T102, the XMPP server 10 transmits the model information MI stored in association with the management ID "a01" in the model information request to the APP server 100 at T104.

APPサーバ100は、T104において、XMPPサーバ10からモデル情報MIを受信すると、T106において、メールアドレスMAをコード化することによってQRコード(登録商標)QCを生成する。 Upon receiving the model information MI from the XMPP server 10 at T104, the APP server 100 generates a QR code (registered trademark) QC by encoding the email address MA at T106.

T108では、APPサーバ100は、メールアドレスMAと生成済みのQRコードQCを含む画像に対応する画像データを生成する。そして、APPサーバ100は、モデル情報MIを利用して、当該画像データを変換してMFP200が解釈可能なデータ形式を有する印刷データPD1を生成する。ここで、APPサーバ100は、APPサーバ100に予め記憶されている印刷設定に従って、印刷データPD1を生成する。 At T108, the APP server 100 generates image data corresponding to the image including the email address MA and the generated QR code QC. Then, the APP server 100 converts the image data using the model information MI to generate print data PD1 having a data format that can be interpreted by the MFP 200. Here, the APP server 100 generates print data PD1 according to print settings stored in the APP server 100 in advance.

T112では、APPサーバ100は、印刷URL「http://app.com/pd1」をXMPPサーバ10に送信する。印刷URL「http://app.com/pd1」は、印刷データPD1が記憶されているAPPサーバ100内の位置を示す。印刷URL「http://app.com/pd1」内の文字列「pd1」は、印刷データPD1のファイル名である。 At T112, the APP server 100 transmits the print URL "http://app.com/pd1" to the XMPP server 10. The print URL "http://app.com/pd1" indicates the location in the APP server 100 where the print data PD1 is stored. The character string "pd1" in the print URL "http://app.com/pd1" is the file name of the print data PD1.

XMPPサーバ10は、T112において、APPサーバ100から印刷URL「http://app.com/pd1」を受信すると、T114において、MFP200とのXMPPセッションを利用して、印刷URL「http://app.com/pd1」をMFP200に送信する。 When the XMPP server 10 receives the print URL "http://app.com/pd1" from the APP server 100 at T112, the XMPP server 10 uses the XMPP session with the MFP 200 to print the print URL "http://app.com/pd1" at T114. .com/pd1” to the MFP 200.

MFP200は、T114において、XMPPサーバ10から印刷URL「http://app.com/pd1」を受信すると、印刷データを要求するデータ要求をAPPサーバ100に送信する。データ要求は、印刷URL「http://app.com/pd1」を含むHTTPコマンドである。 Upon receiving the print URL "http://app.com/pd1" from the XMPP server 10 at T114, the MFP 200 transmits a data request requesting print data to the APP server 100. The data request is an HTTP command that includes the print URL "http://app.com/pd1".

APPサーバ100は、T130において、MFP200からデータ要求を受信すると、T132において、データ要求内の印刷URL「http://app.com/pd1」によって示される位置に記憶されている印刷データPD1をMFP200に送信する。 When the APP server 100 receives the data request from the MFP 200 at T130, the APP server 100 transmits the print data PD1 stored in the location indicated by the print URL "http://app.com/pd1" in the data request to the MFP 200 at T132. Send to.

MFP200は、T132において、APPサーバ100から印刷データPD1を受信すると、T134において、印刷データPD1に従って、メールアドレスMAとQRコードQCとを含む画像の印刷を実行する。これにより、ユーザは、メールアドレスMAを知ることができる。また、ユーザは、端末装置(例えば300)を操作して、当該端末装置のカメラでQRコードQCを撮影することによって、メールアドレスMAを当該端末装置に入力することができる。 Upon receiving the print data PD1 from the APP server 100 at T132, the MFP 200 prints an image including the email address MA and the QR code QC in accordance with the print data PD1 at T134. This allows the user to know the email address MA. Further, the user can input the email address MA into the terminal device by operating the terminal device (for example, 300) and photographing the QR code QC with the camera of the terminal device.

(メール印刷を実行するための処理:図5)
図5を参照して、メール印刷を実行するための処理を説明する。T200では、端末装置300は、メールアドレスMAを送信先アドレスとして含む電子メールEMをAPPサーバ100に送信する。電子メールEMには、印刷対象の画像に対応する画像データが含まれている。
(Process for executing email printing: Figure 5)
Processing for executing mail printing will be described with reference to FIG. 5. At T200, the terminal device 300 transmits an e-mail EM including the e-mail address MA as the destination address to the APP server 100. The e-mail EM includes image data corresponding to the image to be printed.

APPサーバ100は、T200において、端末装置300から電子メールEMを受信すると、デバイステーブル142から電子メールEMに含まれるメールアドレスMAに関連付けて記憶されている管理ID「a01」を特定する。T202、T204は、図4のT102、T104と同様である。 When the APP server 100 receives the e-mail EM from the terminal device 300 at T200, it identifies the management ID "a01" stored in association with the e-mail address MA included in the e-mail EM from the device table 142. T202 and T204 are the same as T102 and T104 in FIG. 4.

T208では、APPサーバ100は、モデル情報MIを利用して、電子メールEMに含まれている画像データを変換してMFP200が解釈可能なデータ形式を有する印刷データPD2を生成する。ここで、APPサーバ100は、ユーザによってAPPサーバ100に入力された印刷設定(例えば、用紙サイズ)に従って、印刷データPD2を生成する。なお、変形例では、APPサーバ100は、電子メールEMの本文に記述されている印刷設定に従って、印刷データPD2を生成してもよい。 At T208, the APP server 100 converts the image data included in the email EM using the model information MI to generate print data PD2 having a data format that can be interpreted by the MFP 200. Here, the APP server 100 generates print data PD2 according to the print settings (for example, paper size) input to the APP server 100 by the user. Note that in a modified example, the APP server 100 may generate the print data PD2 according to the print settings described in the body of the email EM.

T210では、APPサーバ100は、印刷データPD2に従って実行される印刷ジョブに関する情報をジョブテーブル144に記憶する。具体的には、APPサーバ100は、UID「u01」に関連付けて、管理ID「a01」と、新しいジョブID「j01」と、電子メールEMに含まれている画像データのファイル名「id1」と、印刷URL「http://app.com/pd2」と、有効期限情報PI1と、空の状態情報と、をジョブテーブル144に記憶する。ここで、印刷URL「http://app.com/pd2」は、印刷データPD2が記憶されているAPPサーバ100内の位置を示し、文字列「pd2」は、印刷データPD2のファイル名である。 At T210, the APP server 100 stores information regarding the print job to be executed according to the print data PD2 in the job table 144. Specifically, the APP server 100 associates the UID "u01" with the management ID "a01", the new job ID "j01", and the file name "id1" of the image data included in the email EM. , print URL "http://app.com/pd2", expiration date information PI1, and empty status information are stored in the job table 144. Here, the print URL "http://app.com/pd2" indicates the location in the APP server 100 where the print data PD2 is stored, and the character string "pd2" is the file name of the print data PD2. .

T212では、APPサーバ100は、管理ID「a01」と、印刷URL「http://app.com/pd2」と、有効期限情報と、をXMPPサーバ10に送信する。これにより、XMPPサーバ10は、管理ID「a01」と、印刷URL「http://app.com/pd2」と、有効期限情報と、を関連付けてメモリ34に記憶する。 At T212, the APP server 100 transmits the management ID "a01", the print URL "http://app.com/pd2", and expiration date information to the XMPP server 10. As a result, the XMPP server 10 associates the management ID "a01", the print URL "http://app.com/pd2", and the expiration date information and stores them in the memory 34.

XMPPサーバ10は、T212において、APPサーバ100から印刷URL「http://app.com/pd2」等を受信すると、XMPPセッションを利用して、印刷URL「http://app.com/pd2」をMFP200に送信することを試行する。まず、XMPPサーバ10は、T220において、MFP200とのXMPPセッションが現在確立されているのか否かを判断する。例えば、XMPPサーバ10は、MFP200とのXMPPセッションが現在確立されている場合に、MFP200を識別する管理ID「a01」と関連付けて、XMPPセッションが現在確立されていることを示す確立情報をメモリ34に記憶する。XMPPサーバ10は、確立情報がT212で受信した管理ID「a01」に関連付けて記憶されている場合に、MFP200とのXMPPセッションが現在確立されていると判断する(T220でYES)。この場合、XMPPサーバ10は、T222において、XMPPセッションを利用して、印刷URL「http://app.com/pd2」をMFP200に送信する。即ち、MFP200への印刷URL「http://app.com/pd2」の送信が成功する。 When the XMPP server 10 receives the print URL "http://app.com/pd2" etc. from the APP server 100 at T212, the XMPP server 10 uses the XMPP session to print the print URL "http://app.com/pd2". An attempt is made to send the message to the MFP 200. First, in T220, the XMPP server 10 determines whether an XMPP session with the MFP 200 is currently established. For example, when an XMPP session with the MFP 200 is currently established, the XMPP server 10 stores establishment information in the memory 34 in association with the management ID "a01" that identifies the MFP 200. to be memorized. If the establishment information is stored in association with the management ID "a01" received at T212, the XMPP server 10 determines that the XMPP session with the MFP 200 is currently established (YES at T220). In this case, the XMPP server 10 transmits the print URL "http://app.com/pd2" to the MFP 200 at T222 using the XMPP session. That is, the transmission of the print URL "http://app.com/pd2" to the MFP 200 is successful.

MFP200は、T222において、XMPPサーバ10から印刷URL「http://app.com/pd2」を受信すると、T224において、印刷URL「http://app.com/pd2」を受信したことを示す応答をXMPPサーバ10に送信する。 Upon receiving the print URL "http://app.com/pd2" from the XMPP server 10 at T222, the MFP 200 sends a response indicating that the print URL "http://app.com/pd2" has been received at T224. is sent to the XMPP server 10.

XMPPサーバ10は、T224において、MFP200から応答を受信すると、T226において、変更指示をAPPサーバ100に送信する。当該変更指示は、印刷URL「http://app.com/pd2」に対応する状態情報を「印刷開始」に変更する指示である。これにより、APPサーバ100は、T228において、変更指示に従って、ジョブテーブル144内の印刷URL「http://app.com/pd2」に対応する状態情報を「印刷開始」に変更する。 Upon receiving the response from the MFP 200 at T224, the XMPP server 10 transmits a change instruction to the APP server 100 at T226. The change instruction is an instruction to change the status information corresponding to the print URL "http://app.com/pd2" to "start printing." As a result, in T228, the APP server 100 changes the status information corresponding to the print URL "http://app.com/pd2" in the job table 144 to "start printing" in accordance with the change instruction.

また、MFP200は、T222において、XMPPサーバ10から印刷URL「http://app.com/pd2」を受信すると、T230において、印刷URL「http://app.com/pd2」を含むデータ要求をAPPサーバ100に送信する。上記したように、データ要求は、HTTPコマンドである。印刷URLを利用することで、汎用的なHTTPコマンドを利用して、APPサーバ100から印刷データを受信することができる。 Further, upon receiving the print URL "http://app.com/pd2" from the XMPP server 10 at T222, the MFP 200 sends a data request including the print URL "http://app.com/pd2" at T230. Send to the APP server 100. As mentioned above, the data request is an HTTP command. By using the print URL, print data can be received from the APP server 100 using a general-purpose HTTP command.

APPサーバ100は、T230において、MFP200からデータ要求を受信すると、印刷URL「http://app.com/pd2」によって示されるAPPサーバ100内の位置から印刷データPD2を取得する。 Upon receiving the data request from the MFP 200 at T230, the APP server 100 acquires print data PD2 from the location within the APP server 100 indicated by the print URL "http://app.com/pd2".

T232では、APPサーバ100は、印刷データPD2をMFP200に送信する。これにより、MFP200は、T234において、印刷データPD2に対応する画像の印刷を実行する。 At T232, the APP server 100 transmits the print data PD2 to the MFP 200. As a result, the MFP 200 prints the image corresponding to the print data PD2 at T234.

一方、XMPPサーバ10は、確立情報がT212で受信した管理ID「a01」に関連付けて記憶されてない場合に、MFP200とのXMPPセッションが現在確立されていないと判断する(T220でNO)。この場合、MFP200への印刷URL「http://app.com/pd2」の送信が失敗する。XMPPサーバ10は、T222の処理をスキップして、後述する図6のT250以降の処理を実行する。なお、MFP200への印刷URL「http://app.com/pd2」の送信が失敗する場合に、XMPPサーバ10は、メモリ34から印刷URL「http://app.com/pd2」を削除する。印刷URLがXMPPサーバ10から外部へ漏洩することを抑制することができる。 On the other hand, if the establishment information is not stored in association with the management ID "a01" received at T212, the XMPP server 10 determines that the XMPP session with the MFP 200 is not currently established (NO at T220). In this case, sending the print URL "http://app.com/pd2" to the MFP 200 fails. The XMPP server 10 skips the process at T222 and executes the process from T250 onward in FIG. 6, which will be described later. Note that when sending the print URL "http://app.com/pd2" to the MFP 200 fails, the XMPP server 10 deletes the print URL "http://app.com/pd2" from the memory 34. . It is possible to prevent the print URL from leaking from the XMPP server 10 to the outside.

(XMPPセッションが確立されていない具体的なケース:図6)
図6を参照して、MFP200とのXMPPセッションが現在確立されていない具体的なケースについて説明する。本ケースでは、MFP200の電源がOFFされていることに起因して、MFP200とのXMPPセッションが切断されている。
(Specific case where the XMPP session is not established: Figure 6)
Referring to FIG. 6, a specific case in which an XMPP session with MFP 200 is not currently established will be described. In this case, the XMPP session with the MFP 200 is disconnected because the power of the MFP 200 is turned off.

XMPPサーバ10は、T250において、MFP200への印刷URL「http://app.com/pd2」の送信が失敗したことを示す失敗情報をAPPサーバ100に送信する。 At T250, the XMPP server 10 transmits failure information to the APP server 100 indicating that the transmission of the print URL "http://app.com/pd2" to the MFP 200 has failed.

APPサーバ100は、T250において、XMPPサーバ10から失敗情報を受信すると、T252において、デバイステーブル142及びジョブテーブル144においてに印刷URL「http://app.com/pd2」に関連付けられているイベント情報にCall Back URL「http://app.com/iventprinteronline」を書き込む。Call Back URL内の文字列「iventprinteronline」は、APPサーバ100がXMPPサーバ10からCall Back URLを受信した場合に、APPサーバ100が実行すべき処理を示す。文字列「iventprinteronline」によって示される処理は、XMPPサーバ10からの通知に応じて、APPサーバ100が印刷URLをXMPPサーバ10に再送する処理である。 When the APP server 100 receives the failure information from the XMPP server 10 at T250, the APP server 100 updates event information associated with the print URL "http://app.com/pd2" in the device table 142 and job table 144 at T252. Write the Call Back URL “http://app.com/eventprinteronline” in . The character string "eventprinteronline" in the Call Back URL indicates the process that the APP server 100 should perform when the APP server 100 receives the Call Back URL from the XMPP server 10. The process indicated by the character string "eventprinteronline" is a process in which the APP server 100 resends the print URL to the XMPP server 10 in response to a notification from the XMPP server 10.

T253では、APPサーバ100は、ジョブテーブル144において印刷URL「http://app.com/pd2」に関連付けられている状態情報を「失敗」に変更する。 At T253, the APP server 100 changes the status information associated with the print URL "http://app.com/pd2" in the job table 144 to "failed".

T254では、APPサーバ100は、イベント通知をXMPPサーバ10に送信する。イベント通知は、管理ID「a01」と、Call Back URLと、を含む。これにより、XMPPサーバ10は、管理テーブル42において管理ID「a01」に関連付けてCall Back URLを記憶する。 At T254, the APP server 100 sends an event notification to the XMPP server 10. The event notification includes a management ID "a01" and a Call Back URL. Thereby, the XMPP server 10 stores the Call Back URL in association with the management ID "a01" in the management table 42.

続いて、MFP200は、T256において、ユーザから電源をONするための操作を受け付ける。これにより、MFP200は、T260において、アクセストークンATを利用して、XMPPサーバ10とのXMPPセッションを確立する。 Subsequently, at T256, the MFP 200 receives an operation from the user to turn on the power. As a result, the MFP 200 uses the access token AT to establish an XMPP session with the XMPP server 10 at T260.

XMPPサーバ10は、T260において、MFP200とのXMPPセッションを確立すると、T262において、管理テーブル42においてXMPPセッションを確立したMFP200を識別する管理ID「a01」に関連付けてCall Back URLが記憶されているのか否かを判断する。XMPPサーバ10は、管理テーブル42において管理ID「a01」に関連付けてCall Back URLが記憶されていると判断する場合(T262でYES)に、T264以降の処理を実行する。一方、XMPPサーバ10は、管理テーブル42において管理ID「a01」に関連付けてCall Back URLが記憶されていないと判断すると(T262でNO)、T264以降の処理をスキップし、図6の処理を終了する。 When the XMPP server 10 establishes the XMPP session with the MFP 200 at T260, the XMPP server 10 determines whether the Call Back URL is stored in the management table 42 in association with the management ID "a01" that identifies the MFP 200 that has established the XMPP session at T262. Decide whether or not. When the XMPP server 10 determines that the Call Back URL is stored in association with the management ID "a01" in the management table 42 (YES at T262), it executes the processes from T264 onwards. On the other hand, if the XMPP server 10 determines that the Call Back URL is not stored in association with the management ID "a01" in the management table 42 (NO at T262), it skips the processing from T264 onwards and ends the processing in FIG. do.

T264では、XMPPサーバ10は、メモリ34から管理ID「a01」に関連付けて記憶されている有効期限情報を特定する。そして、XMPPサーバ10は、現在日時が特定済みの有効期限情報によって示される有効期限内であるのか否かを判断する。XMPPサーバ10は、現在日時が有効期限内であると判断する場合(T262でYES)に、T264以降の処理を実行する。一方、XMPPサーバ10は、現在日時が有効期限を過ぎていると判断する場合(T262でYES)に、T264以降の処理をスキップして、図6の処理を終了する。このような構成によれば、電子メールEMに含まれている画像の印刷を実行するための印刷ジョブについて有効期限を定めることができ、当該有効期限が過ぎる場合に、電子メールEMに含まれている画像の印刷を抑制することができる。 At T264, the XMPP server 10 identifies expiration date information stored in association with the management ID "a01" from the memory 34. Then, the XMPP server 10 determines whether the current date and time is within the expiration date indicated by the specified expiration date information. When the XMPP server 10 determines that the current date and time is within the expiration date (YES at T262), it executes the processes from T264 onwards. On the other hand, if the XMPP server 10 determines that the current date and time has passed the expiration date (YES at T262), it skips the processing from T264 onwards and ends the processing in FIG. 6. According to such a configuration, it is possible to set an expiration date for a print job for printing an image included in an e-mail EM, and when the expiration date passes, the image included in the e-mail EM is deleted. It is possible to suppress the printing of images that are present.

T266では、XMPPサーバ10は、メモリ34から管理ID「a01」に関連付けて記憶されているCall Back URLを特定する。そして、XMPPサーバ10は、XMPPセッションが確立されたことを通知する確立通知をAPPサーバ100に送信する。確立通知は、管理ID「a01」と、Call Back URLと、を含むHTTPコマンドである。 At T266, the XMPP server 10 identifies the Call Back URL stored in association with the management ID "a01" from the memory 34. Then, the XMPP server 10 transmits an establishment notification to the APP server 100 to notify that the XMPP session has been established. The establishment notification is an HTTP command that includes a management ID "a01" and a Call Back URL.

APPサーバ100は、T266において、XMPPサーバ10から確立通知を受信すると、T268において、確立通知内のCall Back URL文字列「iventprinteronline」に従って、T268、T270の処理を実行する。 Upon receiving the establishment notification from the XMPP server 10 at T266, the APP server 100 executes the processes at T268 and T270 in accordance with the Call Back URL string "eventprinteronline" in the establishment notification at T268.

T268では、APPサーバ100は、デバイステーブル142において、確立通知内の管理ID「a01」に関連付けられているイベント情報にCall Back URLが記述されていることを確認する。続いて、APPサーバ100は、ジョブテーブル144から、管理ID「a01」と状態情報「失敗」との双方に関連付けられている印刷URL「http://app.com/pd2」を特定する。そして、APPサーバ100は、T270において、管理ID「a01」と、特定済みの印刷URL「http://app.com/pd2」と、をXMPPサーバ10に送信する。 At T268, the APP server 100 confirms that the Call Back URL is described in the event information associated with the management ID "a01" in the establishment notification in the device table 142. Subsequently, the APP server 100 identifies the print URL "http://app.com/pd2" that is associated with both the management ID "a01" and the status information "failed" from the job table 144. Then, the APP server 100 transmits the management ID "a01" and the specified print URL "http://app.com/pd2" to the XMPP server 10 at T270.

T274~T284は、図5のT222~T234と同様である。即ち、MFP200は、XMPPサーバ10とのXMPPセッションが再び確立される場合に、XMPPサーバ10に要求を送信することなく、XMPPサーバ10から印刷URL「http://app.com/pd2」を受信することができる。この結果、MFP200は、印刷データPD2に対応する画像の印刷を実行することができる。 T274 to T284 are similar to T222 to T234 in FIG. 5. That is, when the XMPP session with the XMPP server 10 is re-established, the MFP 200 receives the print URL "http://app.com/pd2" from the XMPP server 10 without transmitting a request to the XMPP server 10. can do. As a result, MFP 200 can print the image corresponding to print data PD2.

ここで、図5のT208で印刷データPD2を生成してから図6のT260でXMPPセッションが確立されるまでの間に、APPサーバ100に記憶されている印刷設定がユーザによって変更される状況が想定される。この状況では、APPサーバ100は、変更後の印刷設定に従った印刷データPD3を新たに生成する。そして、APPサーバ100は、ジョブテーブル144において印刷URL「http://app.com/pd2」を印刷データPD3が記憶されている位置を示す印刷URL「http://app.com/pd3」に更新する。このようなケースでは、APPサーバ100は、T266において、XMPPサーバ10から確立通知を受信すると、印刷URL「http://app.com/pd3」をXMPPサーバ10に送信する。この結果、印刷URL「http://app.com/pd3」がMFP200に送信されて、MFP200は、APPサーバ100から印刷データPD3を受信することができる。そして、MFP200は、変更後の印刷設定に従った画像の印刷を実行することができる。 Here, there is a situation in which the print settings stored in the APP server 100 are changed by the user between the generation of the print data PD2 at T208 in FIG. 5 and the establishment of the XMPP session at T260 in FIG. is assumed. In this situation, the APP server 100 newly generates print data PD3 according to the changed print settings. Then, the APP server 100 changes the print URL "http://app.com/pd2" to the print URL "http://app.com/pd3" indicating the location where the print data PD3 is stored in the job table 144. Update. In such a case, upon receiving the establishment notification from the XMPP server 10 at T266, the APP server 100 transmits the print URL "http://app.com/pd3" to the XMPP server 10. As a result, the print URL "http://app.com/pd3" is transmitted to the MFP 200, and the MFP 200 can receive the print data PD3 from the APP server 100. Then, the MFP 200 can print the image according to the changed print settings.

(本実施例の効果)
本実施例の構成によれば、MFP200とXMPPサーバ10との間にXMPPセッションが切断されていることに起因して、MFP200への印刷URL「http://app.com/pd2」の送信が失敗する場合に、APPサーバ100は、イベント通知をXMPPサーバ10に送信する(図6のT254)。これにより、XMPPサーバ10は、XMPPセッションが再び確立される場合に、イベント通知内の各情報を利用して、印刷URL「http://app.com/pd2」を取得する(T266~T270)。そして、XMPPサーバ10は、XMPPセッションを利用して、印刷URL「http://app.com/pd2」をMFP200に送信する(T274)。即ち、XMPPサーバ10は、XMPPセッションが再び確立される場合に、MFP200からXMPPサーバ10に要求が送信されなくても、XMPPサーバ10からMFP200に印刷URL「http://app.com/pd2」が送信することができる。このように、印刷URLの送信の失敗後にXMPPセッションが確立される場合に、MFP200からXMPPサーバ10に要求が送信されないので、MFP200とXMPPサーバ10との間で無駄な通信が実行されることを抑制することができる。
(Effects of this example)
According to the configuration of this embodiment, since the XMPP session is disconnected between the MFP 200 and the XMPP server 10, the print URL "http://app.com/pd2" cannot be sent to the MFP 200. If it fails, the APP server 100 sends an event notification to the XMPP server 10 (T254 in FIG. 6). As a result, when the XMPP session is re-established, the XMPP server 10 uses each piece of information in the event notification to obtain the print URL "http://app.com/pd2" (T266 to T270). . Then, the XMPP server 10 uses the XMPP session to transmit the print URL "http://app.com/pd2" to the MFP 200 (T274). That is, when the XMPP session is re-established, the XMPP server 10 sends the print URL "http://app.com/pd2" to the MFP 200 even if no request is sent from the MFP 200 to the XMPP server 10. can be sent. In this way, when an XMPP session is established after a print URL transmission failure, no request is sent from the MFP 200 to the XMPP server 10, so that unnecessary communication between the MFP 200 and the XMPP server 10 is prevented. Can be suppressed.

また、例えば、T266~T270の処理を実行しない、即ち、APPサーバ100が印刷URL「http://app.com/pd2」をXMPPサーバ10に再送しない比較例が想定される。この比較例では、例えば、XMPPサーバ10は、MFP200とのXMPPセッションが再び確立される場合に、Call Back URL内の文字列「iventprinteronline」に従って、XMPPサーバ10内のメモリ34から印刷URL「http://app.com/pd2」を取得する処理を実行し、XMPPセッションを利用して、取得済みの印刷URL「http://app.com/pd2」をMFP200に送信する。即ち、比較例では、XMPPサーバ10は、印刷URL「http://app.com/pd2」をメモリ34に記憶し続ける。これに対して、本実施例では、XMPPサーバ10は、Call Back URLを利用して、APPサーバ100から印刷URLを受信することができるので、印刷URL「http://app.com/pd2」をメモリ34に記憶し続ける必要がない。印刷URLがXMPPサーバ10から外部に漏洩することを抑制することができる。また、印刷設定の変更により印刷データが変更される場合でも、XMPPサーバ10は、Call Back URLを利用して、APPサーバ100から更新後の印刷データが記憶されている位置を示す最新の印刷URLを受信することができる。なお、変形例では、比較例の構成を採用してもよい。 Further, for example, a comparative example is assumed in which the processes from T266 to T270 are not executed, that is, the APP server 100 does not resend the print URL "http://app.com/pd2" to the XMPP server 10. In this comparative example, for example, when the XMPP session with the MFP 200 is re-established, the XMPP server 10 prints the print URL "http: //app.com/pd2" and sends the acquired print URL "http://app.com/pd2" to the MFP 200 using the XMPP session. That is, in the comparative example, the XMPP server 10 continues to store the print URL "http://app.com/pd2" in the memory 34. In contrast, in this embodiment, the XMPP server 10 can receive the print URL from the APP server 100 using the Call Back URL, so the print URL "http://app.com/pd2" There is no need to continue storing it in the memory 34. It is possible to prevent the printing URL from leaking to the outside from the XMPP server 10. Furthermore, even if the print data is changed due to a change in the print settings, the XMPP server 10 uses the Call Back URL to send the latest print URL indicating the location where the updated print data is stored from the APP server 100. can be received. Note that, in the modified example, the configuration of the comparative example may be adopted.

(対応関係)
XMPPサーバ10、APPサーバ100、MFP200、端末装置300が、それぞれ、「第1のサーバ」、「第2のサーバ」、「通信装置」、「端末装置」の一例である。XMPPセッションが、「セッション」の一例である。印刷URL「http://app.com/pd2」が、「第1の関連情報、第1の指示情報、第2の関連情報、第2の指示情報、第1のURL、及び、第2のURL」の一例である。Call Back URL及び管理ID「a01」が、「取得情報」の一例である。図5のT200の電子メールEMに含まれる画像データが、「第1のデータ」の一例である。印刷データPD2が、「第2のデータ」の一例である。図6のT266の確立通知が、「特定の通知」の一例である。
管理ID「a01」が、「特定情報」の一例である。Call Back URLが、「特定のURL」の一例である。メールアドレスMAが、「特定のメールアドレス」の一例である。図6のT254でイベント通知が受信されてから有効期限の終期が経過するまでの期間が、「所定期間」の一例である。図3のT82のメールアドレスMA及び図4のT132の印刷データPD1が、「出力情報」の一例である。
(correspondence)
The XMPP server 10, APP server 100, MFP 200, and terminal device 300 are examples of a "first server,""secondserver,""communicationdevice," and "terminal device," respectively. An XMPP session is an example of a "session." The print URL "http://app.com/pd2" is changed to "first related information, first instruction information, second related information, second instruction information, first URL, and second This is an example of "URL". The Call Back URL and management ID "a01" are examples of "acquisition information". The image data included in the e-mail EM at T200 in FIG. 5 is an example of "first data." Print data PD2 is an example of "second data". The establishment notification at T266 in FIG. 6 is an example of a "specific notification."
Management ID "a01" is an example of "specific information". Call Back URL is an example of a "specific URL." The email address MA is an example of a "specific email address." The period from when the event notification is received at T254 in FIG. 6 until the expiration of the expiration date is an example of the "predetermined period." The e-mail address MA at T82 in FIG. 3 and the print data PD1 at T132 in FIG. 4 are examples of "output information".

図5のT212、T220、図6のT250、T254、T270、T274、T280、T282が、それぞれ、「第1の関連情報送信部(及び第1の関連情報受信部)」、「試行部」、「失敗情報送信部(及び失敗情報受信部)」、「取得情報送信部(及び取得情報受信部)」、「取得部」、「指示情報送信部」、「装置側送信部」、「データ送信部」の一例である。 T212 and T220 in FIG. 5 and T250, T254, T270, T274, T280, and T282 in FIG. 6 are respectively "first related information transmitting unit (and first related information receiving unit)" and "trial unit", "Failure information transmitting unit (and failure information receiving unit)", "Acquired information transmitting unit (and acquired information receiving unit)", "Acquisition unit", "Instruction information transmitting unit", "Device side transmitting unit", "Data transmitting unit" This is an example of "Part".

(第2実施例)
第1実施例では、メール印刷が実行される。これに代えて、第2実施例では、アプリ印刷が実行される。アプリ印刷では、APPサーバ100は、画像データを含む電子メールに代えて、画像データを含むHTTPコマンドを受信する。これにより、APPサーバ100とXMPPサーバ10が連携して動作して、HTTPコマンドに含まれる画像データに対応する画像の印刷をMFP200に実行させることができる。
(Second example)
In the first embodiment, mail printing is executed. Instead of this, in the second embodiment, application printing is executed. In application printing, the APP server 100 receives an HTTP command containing image data instead of an email containing image data. This allows the APP server 100 and the XMPP server 10 to work together to cause the MFP 200 to print an image corresponding to the image data included in the HTTP command.

(APPサーバ100の構成:図2)
本実施例のAPPサーバ100は、デバイステーブル142内の情報が異なる点を除いて、第1実施例のAPPサーバ100と同様である。具体的には、デバイステーブル142は、UIDと、管理IDと、端末装置の識別情報である端末IDと、イベント情報と、を関連付けて記憶する。
(Configuration of APP server 100: Figure 2)
The APP server 100 of this embodiment is similar to the APP server 100 of the first embodiment except that the information in the device table 142 is different. Specifically, the device table 142 stores a UID, a management ID, a terminal ID that is identification information of a terminal device, and event information in association with each other.

(セットアップ処理:図3)
図3を参照して、本実施例のセットアップ処理を説明する。本実施例の登録処理は、T10、T20、T36、T50の内容が異なり、T12、T80~T84の処理、及び、図4の処理が実行されない点を除いて、第1実施例のセットアップ処理と同様である。
(Setup process: Figure 3)
The setup process of this embodiment will be described with reference to FIG. 3. The registration process of this embodiment is different from the setup process of the first embodiment, except that the contents of T10, T20, T36, and T50 are different, and the processes of T12, T80 to T84, and the process of FIG. 4 are not executed. The same is true.

T10では、APPサーバ100は、端末装置300から、UID「u01」と端末ID「t01」とを含む登録要求を受信する。これにより、T20では、APPサーバ100は、UID「u01」と、管理ID「a01」と、端末ID「t01」と、空のイベント情報と、を関連付けてデバイステーブル142に記憶する。さらに、T36では、APPサーバ100は、XMPPサーバ10から受信したPINコードCを端末装置300に送信する。これにより、端末装置300は、PINコードCを表示する。 At T10, the APP server 100 receives a registration request including the UID "u01" and the terminal ID "t01" from the terminal device 300. As a result, at T20, the APP server 100 stores the UID "u01", the management ID "a01", the terminal ID "t01", and empty event information in the device table 142 in association with each other. Further, at T36, the APP server 100 transmits the PIN code C received from the XMPP server 10 to the terminal device 300. Thereby, the terminal device 300 displays the PIN code C.

T50では、MFP200は、ユーザからPINコードCの入力を受け付ける。そして、MFP200は、入力済みのPINコードCを含む確立要求をXMPPサーバ10に送信する。 At T50, MFP 200 receives input of PIN code C from the user. Then, the MFP 200 transmits an establishment request including the input PIN code C to the XMPP server 10.

(アプリ印刷を実行するための処理:図7)
図7を参照して、メール印刷を実行するための処理を説明する。端末装置300は、T302において、ユーザの操作に応じて、画像の印刷を実行するための印刷アプリを起動する。端末装置300は、印刷アプリに従って、印刷対象の画像と印刷設定を選択するための選択画面を表示する。
(Processing to execute application printing: Figure 7)
Processing for executing mail printing will be described with reference to FIG. 7. At T302, the terminal device 300 starts a printing application for printing an image in response to a user's operation. The terminal device 300 displays a selection screen for selecting an image to be printed and print settings according to the print application.

T304では、端末装置300は、選択画面において画像と印刷設定の選択を受け付ける。T400では、端末装置300は、選択済みの画像に対応する画像データと、選択済みの印刷設定と、端末ID「t01」と、を含むHTTPコマンドをAPPサーバ100に送信する。 At T304, the terminal device 300 accepts selections of images and print settings on the selection screen. At T400, the terminal device 300 transmits to the APP server 100 an HTTP command including the image data corresponding to the selected image, the selected print settings, and the terminal ID "t01".

APPサーバ100は、T400において、HTTPコマンドを受信すると、デバイステーブル142からHTTPコマンドに含まれる端末ID「t01」に関連付けて記憶されている管理ID「a01」を特定する。T402~T434は、図5のT202~T234と同様である。 At T400, upon receiving the HTTP command, the APP server 100 identifies the management ID "a01" stored in association with the terminal ID "t01" included in the HTTP command from the device table 142. T402 to T434 are similar to T202 to T234 in FIG.

(本実施例の効果)
図7に示すように、本実施例でも、XMPPサーバ10は、T420において、MFP200とのXMPPセッションが現在確立されているのか否かを判断する。そして、XMPPサーバ10は、MFP200とのXMPPセッションが現在確立されていないと判断する場合(T420でNO)に、第1実施例の図6と同様の処理を実行する。即ち、本実施例でも、第1実施例と同様に、印刷URLの送信の失敗後にXMPPセッションが確立される場合に、MFP200からXMPPサーバ10に要求が送信されないので、MFP200とXMPPサーバ10との間で無駄な通信が実行されることを抑制することができる。
(Effects of this example)
As shown in FIG. 7, in this embodiment as well, the XMPP server 10 determines whether an XMPP session with the MFP 200 is currently established at T420. Then, when the XMPP server 10 determines that the XMPP session with the MFP 200 is not currently established (NO at T420), it executes the same process as in FIG. 6 of the first embodiment. That is, in this embodiment as well, as in the first embodiment, when an XMPP session is established after a print URL transmission failure, no request is sent from the MFP 200 to the XMPP server 10, so the communication between the MFP 200 and the XMPP server 10 is It is possible to suppress unnecessary communication between the two.

(対応関係)
図7のT400のHTTPコマンドに含まれる画像データが、「第1のデータ」の一例である。
(correspondence)
The image data included in the HTTP command T400 in FIG. 7 is an example of "first data."

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。 Although specific examples of the present invention have been described in detail above, these are merely illustrative and do not limit the scope of the claims. The techniques described in the claims include various modifications and changes to the specific examples illustrated above. Modifications of the above embodiment are listed below.

(変形例1)「通信装置」は、MFP200に限らず、例えば、プリンタ、スキャナ、ファクシミリ装置、PC、サーバ等であってもよい。 (Modification 1) The "communication device" is not limited to the MFP 200, and may be, for example, a printer, a scanner, a facsimile device, a PC, a server, or the like.

(変形例2)上記の各実施例では、XMPPサーバ10は、XMPPセッションを利用して、印刷URLをMFP200に送信する(図5のT222、図6のT274)。これに代えて、XMPPサーバ10は、印刷URLを暗号化した情報をMFP200に送信してもよい。本変形例では、印刷URLを暗号化した情報が、「第1の指示情報(及び第2の指示情報)」の一例である。 (Modification 2) In each of the above embodiments, the XMPP server 10 uses the XMPP session to transmit the print URL to the MFP 200 (T222 in FIG. 5, T274 in FIG. 6). Alternatively, the XMPP server 10 may transmit information obtained by encrypting the print URL to the MFP 200. In this modification, information obtained by encrypting the print URL is an example of "first instruction information (and second instruction information)."

(変形例3)「第2の関連情報」は、印刷URL「http://app.com/pd2」に限らず、変更後の印刷設定に従った印刷データPD3に対応する印刷URL「http://app.com/pd3」であってもよい。本変形例では、「第2の関連情報」は「第1の関連情報」と異なっていてもよい。なお、本明細書に記載の印刷URL及びCall Back URLは、「http://」を含むが、そのうちの少なくとも一方は、例えば、「https://」を含んでもよい。 (Variation 3) The "second related information" is not limited to the print URL "http://app.com/pd2", but also the print URL "http: //app.com/pd3". In this modification, the "second related information" may be different from the "first related information." Note that the print URL and Call Back URL described in this specification include "http://", but at least one of them may include, for example, "https://".

(変形例4)上記の各実施例では、APPサーバ100は、画像データを変換して印刷データを生成し、当該印刷データをMFP200に送信する。これに代えて、APPサーバ100は、画像データそのものをMFP200に送信してもよい。本変形例では、「第2のデータ」は「第1のデータ」と同じであってもよい。 (Modification 4) In each of the above embodiments, the APP server 100 converts image data to generate print data, and sends the print data to the MFP 200. Alternatively, the APP server 100 may transmit the image data itself to the MFP 200. In this modification, the "second data" may be the same as the "first data".

(変形例5)上記の各実施例では、APPサーバ100は、印刷データPD2が記憶されている位置を示す印刷URLをXMPPサーバ10に送信する(図5のT212)。これに代えて、APPサーバ100は、電子メールEM内の画像データが記憶されている位置を示すデータURLをXMPPサーバ10に送信してもよい。そして、APPサーバ100は、MFP200からデータURLを受信する場合に、データURLによって示される位置に記憶されている画像データを変換して印刷データを生成してもよい。本変形例では、データURLが、「第1の関連情報(及び第2の関連情報)」の一例である。 (Variation 5) In each of the above embodiments, the APP server 100 transmits the print URL indicating the location where the print data PD2 is stored to the XMPP server 10 (T212 in FIG. 5). Alternatively, the APP server 100 may transmit to the XMPP server 10 a data URL indicating the location where the image data in the email EM is stored. Then, when receiving the data URL from the MFP 200, the APP server 100 may generate print data by converting the image data stored at the location indicated by the data URL. In this modification, the data URL is an example of "first related information (and second related information)."

(変形例6)上記の各実施例では、XMPPサーバ10は、APPサーバ100から受信したCall Back URLを含む確立通知をAPPサーバ100に送信する(図6のT266)。これに代えて、XMPPサーバ10は、Call Back URLを利用して、APPサーバ100が実行すべき処理を示す指示通知を生成し、指示通知をAPPサーバ100に送信してもよい。本変形例では、指示通知が、「特定の通知」の一例である。 (Variation 6) In each of the above embodiments, the XMPP server 10 transmits an establishment notification including the Call Back URL received from the APP server 100 to the APP server 100 (T266 in FIG. 6). Alternatively, the XMPP server 10 may generate an instruction notification indicating the process to be executed by the APP server 100 using the Call Back URL, and may send the instruction notification to the APP server 100. In this modification, the instruction notification is an example of a "specific notification."

(変形例7)変形例として、上記の比較例の構成、即ち、XMPPサーバ10が、Call Back URL内の文字列「iventprinteronline」に従って、XMPPサーバ10のメモリ34から、記憶済みの印刷URL「http://app.com/pd2」を取得する構成を採用してもよい。本変形例では、「特定の通知」を省略可能である。 (Modification 7) As a modification, the configuration of the above comparative example, that is, the XMPP server 10 retrieves the stored print URL "http" from the memory 34 of the XMPP server 10 according to the character string "eventprinteronline" in the Call Back URL ://app.com/pd2" may be adopted. In this modification, the "specific notification" can be omitted.

(変形例8)上記の各実施例では、XMPPサーバ10は、APPサーバ100から管理ID「a01」を受信し、XMPPセッションの再確立後に、管理ID「a01」を含む確立通知をAPPサーバ100に送信する(図6のT266)。これに代えて、XMPPサーバ10は、APPサーバ100に記憶されている印刷URLを識別するURL識別情報を受信し、XMPPセッションの再確立後に、URL識別情報をAPPサーバ100に送信してもよい。本変形例では、URL識別情報が、「取得情報」の一例であり、「特定情報」を省略可能である。 (Modification 8) In each of the above embodiments, the XMPP server 10 receives the management ID "a01" from the APP server 100, and after re-establishing the XMPP session, sends an establishment notification containing the management ID "a01" to the APP server 100. (T266 in FIG. 6). Alternatively, the XMPP server 10 may receive URL identification information that identifies the print URL stored in the APP server 100, and may transmit the URL identification information to the APP server 100 after re-establishing the XMPP session. . In this modification, the URL identification information is an example of "acquisition information," and the "specific information" can be omitted.

(変形例9)上記の各実施例では、APPサーバ100は、管理ID「a01」とCall Back URLとを含むイベント通知をXMPPサーバ10に送信する(図6のT254)。これに代えて、APPサーバ100は、管理ID「a01」のみを含むイベント通知をXMPPサーバ10に送信してもよい。本変形例では、「特定のURL」を省略可能である。 (Modification 9) In each of the above embodiments, the APP server 100 transmits an event notification including the management ID "a01" and the Call Back URL to the XMPP server 10 (T254 in FIG. 6). Alternatively, the APP server 100 may send an event notification containing only the management ID "a01" to the XMPP server 10. In this modification, "specific URL" can be omitted.

(変形例10)上記の各実施例では、APPサーバ100は、MFP200から登録要求が受信される場合に、メールアドレスMAをAPPサーバ100に登録する(図3のT20)。これに代えて、メールアドレスMAは、APPサーバ100に予め登録されていてもよい。本変形例では、「登録要求」を省略可能である。 (Modification 10) In each of the above embodiments, the APP server 100 registers the email address MA with the APP server 100 when a registration request is received from the MFP 200 (T20 in FIG. 3). Alternatively, the email address MA may be registered in the APP server 100 in advance. In this modification, the "registration request" can be omitted.

(変形例11)図3のT80~T84、図4の処理は、実行されなくてもよい。本変形例では、「出力情報」を省略可能である。 (Modification 11) T80 to T84 in FIG. 3 and the processing in FIG. 4 may not be executed. In this modification, "output information" can be omitted.

(変形例12)「第1の関連情報(及び第2の関連情報)」は、印刷URLに限らず、例えば、APPサーバ100に記憶されている印刷データ(又は画像データ)を識別するためのデータ識別情報であってもよい。本変形例では、「第1のURL(及び第2のURL)」を省略可能である。 (Modification 12) The “first related information (and second related information)” is not limited to the print URL, but also information for identifying print data (or image data) stored in the APP server 100, for example. It may also be data identification information. In this modification, the "first URL (and second URL)" can be omitted.

(変形例13)図6のT264の処理は、実行されなくてもよい。本変形例では、「所定期間」を省略可能である。 (Modification 13) The process at T264 in FIG. 6 may not be executed. In this modification, the "predetermined period" can be omitted.

(変形例14)「第1のデータ」は、画像データに限らず、例えば、MFP200の設定値であってもよい。 (Modification 14) The "first data" is not limited to image data, and may be, for example, setting values of the MFP 200.

(変形例15)「第2のデータ」は、印刷データに限らず、例えば、画像データを含むファクシミリ情報であってもよい。この場合、MFP200は、APPサーバ100からファクシミリ情報を受信する場合に、ファクシミリ情報に含まれる画像データを変換してファクシミリデータを生成し、PSTNI/F220を介して、所定の宛先にファクシミリデータを送信してもよい。 (Modification 15) The "second data" is not limited to print data, but may be facsimile information including image data, for example. In this case, when receiving facsimile information from the APP server 100, the MFP 200 converts image data included in the facsimile information to generate facsimile data, and transmits the facsimile data to a predetermined destination via the PSTN I/F 220. You may.

(変形例16)上記の各実施例では、図3~図7の各処理がソフトウェア(例えばプログラム40、140、240)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。 (Modification 16) In each of the above embodiments, each of the processes shown in FIGS. 3 to 7 is realized by software (eg, programs 40, 140, 240), but at least one of these processes is implemented using a logic circuit or the like. It may be realized by hardware.

また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下、本明細書に開示の技術の特徴を列挙する。
(項目1)
通信システムであって、
通信装置と、
第1のサーバと、
第2のサーバと、を備え、
前記第2のサーバは、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を前記第1のサーバに送信する第1の関連情報送信部を備え、
前記第1のサーバは、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を前記通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、を備え、
前記第2のサーバは、さらに、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部を備え、
前記第1のサーバは、さらに、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部を備え、
前記通信装置は、
前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する装置側送信部を備え、
前記第2のサーバは、さらに、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信するデータ送信部を備える、
通信システム。
(項目2)
第1のサーバであって、
第2のサーバが端末装置から第1のデータを受信する場合に、前記第2のサーバから、前記第1のデータに関連する第1の関連情報を受信する第1の関連情報受信部と、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、
前記失敗情報が前記第2のサーバに送信される場合に、前記第2のサーバから、前記第1のデータに関係する第2の関連情報を取得するための取得情報を受信する取得情報受信部と、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部であって、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信し、
前記第2のサーバは、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、前記指示情報送信部と、
を備える、第1のサーバ。
(項目3)
前記取得部は、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用した特定の通知を前記第2のサーバに送信し、
前記特定の通知を受信した前記第2のサーバから前記第2の関連情報を受信することによって、前記第2の関連情報を取得する、項目2に記載の第1のサーバ。
(項目4)
前記取得情報は、前記第2のサーバが受信した前記第1のデータを特定するための特定情報を含み、
前記特定の通知は、前記特定情報を含む、項目3に記載の第1のサーバ。
(項目5)
前記取得情報は、前記第2のサーバが実行すべき処理を示す特定のURL(Uniform Resource Locatorの略)を含み、
前記特定の通知は、前記特定のURLを含み、
前記第2のサーバは、前記第1のサーバから前記特定のURLを含む前記特定の通知を受信する場合に、前記特定のURLに従って、前記第2の関連情報を前記第1のサーバに送信する、項目3又は4のいずれか一項に記載の第1のサーバ。
(項目6)
前記第1のデータは、前記第2のサーバのドメイン名を含む特定のメールアドレスを送信先アドレスとして含む電子メールに含まれる、項目2から5のいずれか一項に記載の第1のサーバ。
(項目7)
前記第2のサーバは、前記通信装置から登録要求を受信する場合に、前記特定のメールアドレスを前記第2のサーバに登録し、
前記第1のサーバは、さらに、
前記特定のメールアドレスが前記第2のサーバに登録された後に、前記通信装置との前記セッションを確立する確立部を備える、項目6に記載の第1のサーバ。
(項目8)
前記特定のメールアドレスは、前記特定のメールアドレスが前記第2のサーバに登録された後に、前記通信装置によって出力される、項目7に記載の第1のサーバ。
(項目9)
前記第1のデータは、前記端末装置を送信元とするHypertext Transfer Protocolに従ったコマンドに含まれる、項目2から5のいずれか一項に記載の第1のサーバ。
(項目10)
前記第1の関連情報は、前記第2のサーバ内のデータの位置を示す第1のURL(Uniform Resource Locatorの略)を含み、
前記第2の関連情報は、前記第2のサーバ内のデータの位置を示す第2のURLを含む、項目2から9のいずれか一項に記載の第1のサーバ。
(項目11)
前記取得部は、前記第2のサーバから前記取得情報が受信されてから所定期間が経過する前に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第2の関連情報を取得し、
前記第2のサーバから前記取得情報が受信されてから前記所定期間が経過した後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第2の関連情報は取得されない、項目2から10のいずれか一項に記載の第1のサーバ。
(項目12)
前記通信装置は、印刷機能を実行可能な装置であり、
前記第2のデータは、前記第2のデータに対応する画像の印刷を前記通信装置に実行させるためのデータである、項目2から11のいずれか一項に記載の第1のサーバ。
(項目13)
前記セッションは、EXtensible Messaging and Presence Protocolに従う、項目2から12のいずれか一項に記載のサーバ。
(項目14)
第2のサーバであって、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を第1のサーバに送信する第1の関連情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する、前記第1の関連情報送信部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、前記第1のサーバから失敗情報を受信する失敗情報受信部と、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得し、
前記第1のサーバは、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信し、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する、前記取得情報送信部と、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、データ送信部と、
を備える、第2のサーバ。
(項目15)
前記第2のサーバは、さらに、
前記取得情報が前記第1のサーバに送信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第1のサーバから、前記取得情報を利用した特定の通知を受信する通知受信部と、
前記第1のサーバから前記特定の通知が受信される場合に、前記特定の通知に従って、前記第2の関連情報を前記第2のサーバに送信する第2の関連情報送信部と、
を備え、
前記第1のサーバは、前記第2のサーバから前記第2の関連情報を受信することによって、前記第2の関連情報を取得する、項目14に記載の第2のサーバ。
(項目16)
前記取得情報は、前記第2のサーバが受信した前記第1のデータを特定するための特定情報を含み、
前記特定の通知は、前記特定情報を含む、項目15に記載の第2のサーバ。
(項目17)
前記取得情報は、前記第2のサーバが実行すべき処理を示す特定のURL(Uniform Resource Locatorの略)を含み、
前記特定の通知は、前記特定のURLを含み、
前記第2の関連情報送信部は、前記第1のサーバから前記特定のURLを含む前記特定の通知を受信する場合に、前記特定のURLに従って、前記第2の関連情報を前記第1のサーバに送信する、項目15又は16のいずれか一項に記載の第1のサーバ。
(項目18)
前記第1のデータは、前記第2のサーバのドメイン名を含む特定のメールアドレスを送信先アドレスとして含む電子メールに含まれる、項目14から17のいずれか一項に記載の第2のサーバ。
(項目19)
前記第2のサーバは、さらに、
メモリと、
前記通信装置から登録要求を受信する場合に、前記特定のメールアドレスを前記メモリに登録する登録部と、
前記特定のメールアドレスが前記メモリに登録された後に、前記特定のメールアドレスを出力するための出力情報を前記通信装置に送信する出力情報送信部と、を備える、項目18に記載の第2のサーバ。
(項目20)
第1のサーバのためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記第1のサーバのコンピュータを、以下の各部、即ち、
第2のサーバが端末装置から第1のデータを受信する場合に、前記第2のサーバから、前記第1のデータに関連する第1の関連情報を受信する第1の関連情報受信部と、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、
前記失敗情報が前記第2のサーバに送信される場合に、前記第2のサーバから、前記第1のデータに関係する第2の関連情報を取得するための取得情報を受信する取得情報受信部と、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部であって、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信し、
前記第2のサーバは、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、前記指示情報送信部と、
として機能させる、コンピュータプログラム。
(項目21)
第2のサーバのためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記第2のサーバのコンピュータを、以下の各部、即ち、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を第1のサーバに送信する第1の関連情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する、前記第1の関連情報送信部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、前記第1のサーバから失敗情報を受信する失敗情報受信部と、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得し、
前記第1のサーバは、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信し、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する、前記取得情報送信部と、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、データ送信部と、
として機能させる、コンピュータプログラム。

Further, the technical elements described in this specification or the drawings exhibit technical usefulness singly or in various combinations, and are not limited to the combinations described in the claims as filed. Furthermore, the techniques illustrated in this specification or the drawings simultaneously achieve multiple objectives, and achieving one of the objectives has technical utility in itself.
The features of the technology disclosed in this specification are listed below.
(Item 1)
A communication system,
a communication device;
a first server;
a second server;
The second server is
comprising a first related information transmitter that transmits first related information related to the first data to the first server when the first data is received from the terminal device,
The first server is:
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt unit that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter for transmitting to the second server;
The second server further includes:
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; Prepare,
The first server further includes:
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
an instruction information transmitter that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired;
The communication device includes:
comprising a device-side transmitter that transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server;
The second server further includes:
a data transmitter that transmits second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Equipped with
Communications system.
(Item 2)
A first server,
a first related information receiving unit that receives first related information related to the first data from the second server when the second server receives the first data from the terminal device;
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt section that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter that transmits to the second server;
an acquisition information receiving unit that receives acquisition information for acquiring second related information related to the first data from the second server when the failure information is transmitted to the second server; and,
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
An instruction information transmitting unit that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server,
When the second related information is received from the communication device, the second server transmits second data obtained using the first data related to the second related information to the communication device. the instruction information transmitter that transmits to the device;
A first server comprising:
(Item 3)
The acquisition unit includes:
When the session is established between the communication device and the first server after the acquired information is received from the second server, the second server sends a specific notification using the acquired information. server,
The first server according to item 2, wherein the first server obtains the second related information by receiving the second related information from the second server that has received the specific notification.
(Item 4)
The acquisition information includes specific information for specifying the first data received by the second server,
The first server according to item 3, wherein the specific notification includes the specific information.
(Item 5)
The acquired information includes a specific URL (abbreviation for Uniform Resource Locator) indicating a process to be executed by the second server,
The specific notification includes the specific URL,
When the second server receives the specific notification including the specific URL from the first server, the second server transmits the second related information to the first server according to the specific URL. , the first server according to any one of items 3 and 4.
(Item 6)
The first server according to any one of items 2 to 5, wherein the first data is included in an email that includes a specific email address that includes the domain name of the second server as a destination address.
(Item 7)
The second server registers the specific email address with the second server when receiving a registration request from the communication device,
The first server further includes:
The first server according to item 6, further comprising an establishment unit that establishes the session with the communication device after the specific email address is registered in the second server.
(Item 8)
The first server according to item 7, wherein the specific email address is output by the communication device after the specific email address is registered in the second server.
(Item 9)
The first server according to any one of items 2 to 5, wherein the first data is included in a command according to Hypertext Transfer Protocol whose transmission source is the terminal device.
(Item 10)
The first related information includes a first URL (abbreviation for Uniform Resource Locator) indicating the location of data in the second server,
The first server according to any one of items 2 to 9, wherein the second related information includes a second URL indicating a location of data in the second server.
(Item 11)
The acquisition unit is configured to acquire the acquisition information when the session is established between the communication device and the first server before a predetermined period of time has elapsed since the acquisition information was received from the second server. obtaining second related information;
When the session is established between the communication device and the first server after the predetermined period has elapsed since the acquisition information was received from the second server, the second related information The first server according to any one of items 2 to 10, wherein the first server is not obtained.
(Item 12)
The communication device is a device capable of executing a printing function,
The first server according to any one of items 2 to 11, wherein the second data is data for causing the communication device to print an image corresponding to the second data.
(Item 13)
13. The server according to any one of items 2 to 12, wherein the session follows the EXtensible Messaging and Presence Protocol.
(Item 14)
a second server,
A first related information transmitting unit that transmits first related information related to the first data to a first server when first data is received from a terminal device,
When the first related information is received from the second server, the first server responds to the first related information using a session for performing server push type communication. the first related information transmitting unit that attempts to transmit first instruction information to the communication device;
When the transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the first server a failure information receiving unit that receives failure information from;
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; There it is,
The first server uses the acquired information when the session is established between the communication device and the first server after the acquired information is received from the second server. and obtain the second related information,
When the second related information is acquired, the first server uses the session to transmit second instruction information corresponding to the second related information to the communication device,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server. an acquisition information transmission section;
data transmission, transmitting second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Department and
A second server comprising:
(Item 15)
The second server further includes:
When the session is established between the communication device and the first server after the acquired information is transmitted to the first server, the acquired information is used from the first server. a notification receiving unit that receives a specific notification;
a second related information transmitter that transmits the second related information to the second server in accordance with the specific notification when the specific notification is received from the first server;
Equipped with
The second server according to item 14, wherein the first server obtains the second related information by receiving the second related information from the second server.
(Item 16)
The acquisition information includes specific information for specifying the first data received by the second server,
The second server according to item 15, wherein the specific notification includes the specific information.
(Item 17)
The acquired information includes a specific URL (abbreviation for Uniform Resource Locator) indicating a process to be executed by the second server,
The specific notification includes the specific URL,
When receiving the specific notification including the specific URL from the first server, the second related information transmitting unit transmits the second related information to the first server according to the specific URL. 17. The first server according to any one of item 15 or 16, transmitting to.
(Item 18)
18. The second server according to any one of items 14 to 17, wherein the first data is included in an e-mail that includes as a destination address a specific e-mail address that includes a domain name of the second server.
(Item 19)
The second server further includes:
memory and
a registration unit that registers the specific email address in the memory when receiving a registration request from the communication device;
The second method according to item 18, further comprising: an output information transmitting unit that transmits output information for outputting the specific email address to the communication device after the specific email address is registered in the memory. server.
(Item 20)
A computer program for a first server, the computer program comprising:
The computer program causes the computer of the first server to run the following parts, namely:
a first related information receiving unit that receives first related information related to the first data from the second server when the second server receives the first data from the terminal device;
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt section that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter that transmits to the second server;
an acquisition information receiving unit that receives acquisition information for acquiring second related information related to the first data from the second server when the failure information is transmitted to the second server; and,
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
An instruction information transmitting unit that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server,
When the second related information is received from the communication device, the second server transmits second data obtained using the first data related to the second related information to the communication device. the instruction information transmitter that transmits to the device;
A computer program that functions as
(Item 21)
A computer program for a second server, the computer program comprising:
The computer program causes the computer of the second server to run the following parts:
A first related information transmitting unit that transmits first related information related to the first data to a first server when first data is received from a terminal device,
When the first related information is received from the second server, the first server responds to the first related information using a session for performing server push type communication. the first related information transmitting unit that attempts to transmit first instruction information to the communication device;
When the transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the first server a failure information receiving unit that receives failure information from;
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; There it is,
The first server uses the acquired information when the session is established between the communication device and the first server after the acquired information is received from the second server. and obtain the second related information,
When the second related information is acquired, the first server uses the session to transmit second instruction information corresponding to the second related information to the communication device,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server. an acquisition information transmission section;
data transmission of transmitting second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Department and
A computer program that functions as

2:通信システム、8:インターネット、10:XMPPサーバ、16:ネットワークI/F、30:制御部、32:CPU、34:メモリ、40:プログラム、42:管理テーブル、100:APPサーバ、116:ネットワークI/F、130:制御部、132:CPU、134:メモリ、140:プログラム、142:デバイステーブル、144:ジョブテーブル、200:MFP、214:表示部、218:印刷実行部、220:PSTNI/F、230:制御部、232:CPU、234:メモリ、240:プログラム、300:端末装置、AT:アクセストークン、C:PINコード、EM:電子メール、MA:メールアドレス、MI:モデル情報、PD1、PD2、PD3:印刷データ、PI1:有効期限情報、QC:QRコード 2: Communication system, 8: Internet, 10: XMPP server, 16: Network I/F, 30: Control unit, 32: CPU, 34: Memory, 40: Program, 42: Management table, 100: APP server, 116: Network I/F, 130: Control unit, 132: CPU, 134: Memory, 140: Program, 142: Device table, 144: Job table, 200: MFP, 214: Display unit, 218: Print execution unit, 220: PSTNI /F, 230: Control unit, 232: CPU, 234: Memory, 240: Program, 300: Terminal device, AT: Access token, C: PIN code, EM: Email, MA: Email address, MI: Model information, PD1, PD2, PD3: Print data, PI1: Expiry date information, QC: QR code

Claims (21)

通信システムであって、
通信装置と、
第1のサーバと、
第2のサーバと、を備え、
前記第2のサーバは、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を前記第1のサーバに送信する第1の関連情報送信部を備え、
前記第1のサーバは、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を前記通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、を備え、
前記第2のサーバは、さらに、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部を備え、
前記第1のサーバは、さらに、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部を備え、
前記通信装置は、
前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する装置側送信部を備え、
前記第2のサーバは、さらに、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信するデータ送信部を備える、
通信システム。
A communication system,
a communication device;
a first server;
a second server;
The second server is
comprising a first related information transmitter that transmits first related information related to the first data to the first server when the first data is received from the terminal device,
The first server is:
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt unit that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter for transmitting to the second server;
The second server further includes:
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; Prepare,
The first server further includes:
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
an instruction information transmitter that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired;
The communication device includes:
comprising a device-side transmitter that transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server;
The second server further includes:
a data transmitter that transmits second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Equipped with
Communications system.
第1のサーバであって、
第2のサーバが端末装置から第1のデータを受信する場合に、前記第2のサーバから、前記第1のデータに関連する第1の関連情報を受信する第1の関連情報受信部と、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、
前記失敗情報が前記第2のサーバに送信される場合に、前記第2のサーバから、前記第1のデータに関係する第2の関連情報を取得するための取得情報を受信する取得情報受信部と、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部であって、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信し、
前記第2のサーバは、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、前記指示情報送信部と、
を備える、第1のサーバ。
A first server,
a first related information receiving unit that receives first related information related to the first data from the second server when the second server receives the first data from the terminal device;
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt section that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter that transmits to the second server;
an acquisition information receiving unit that receives acquisition information for acquiring second related information related to the first data from the second server when the failure information is transmitted to the second server; and,
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
An instruction information transmitting unit that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server,
When the second related information is received from the communication device, the second server transmits second data obtained using the first data related to the second related information to the communication device. the instruction information transmitter that transmits to the device;
A first server comprising:
前記取得部は、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用した特定の通知を前記第2のサーバに送信し、
前記特定の通知を受信した前記第2のサーバから前記第2の関連情報を受信することによって、前記第2の関連情報を取得する、請求項2に記載の第1のサーバ。
The acquisition unit includes:
When the session is established between the communication device and the first server after the acquired information is received from the second server, the second server sends a specific notification using the acquired information. server,
The first server according to claim 2, wherein the first server obtains the second related information by receiving the second related information from the second server that has received the specific notification.
前記取得情報は、前記第2のサーバが受信した前記第1のデータを特定するための特定情報を含み、
前記特定の通知は、前記特定情報を含む、請求項3に記載の第1のサーバ。
The acquisition information includes specific information for specifying the first data received by the second server,
The first server according to claim 3, wherein the specific notification includes the specific information.
前記取得情報は、前記第2のサーバが実行すべき処理を示す特定のURL(Uniform Resource Locatorの略)を含み、
前記特定の通知は、前記特定のURLを含み、
前記第2のサーバは、前記第1のサーバから前記特定のURLを含む前記特定の通知を受信する場合に、前記特定のURLに従って、前記第2の関連情報を前記第1のサーバに送信する、請求項3又は4のいずれか一項に記載の第1のサーバ。
The acquired information includes a specific URL (abbreviation for Uniform Resource Locator) indicating a process to be executed by the second server,
The specific notification includes the specific URL,
When the second server receives the specific notification including the specific URL from the first server, the second server transmits the second related information to the first server according to the specific URL. , the first server according to claim 3 or 4.
前記第1のデータは、前記第2のサーバのドメイン名を含む特定のメールアドレスを送信先アドレスとして含む電子メールに含まれる、請求項2から5のいずれか一項に記載の第1のサーバ。 The first server according to any one of claims 2 to 5, wherein the first data is included in an email that includes a specific email address that includes the domain name of the second server as a destination address. . 前記第2のサーバは、前記通信装置から登録要求を受信する場合に、前記特定のメールアドレスを前記第2のサーバに登録し、
前記第1のサーバは、さらに、
前記特定のメールアドレスが前記第2のサーバに登録された後に、前記通信装置との前記セッションを確立する確立部を備える、請求項6に記載の第1のサーバ。
The second server registers the specific email address with the second server when receiving a registration request from the communication device,
The first server further includes:
The first server according to claim 6, further comprising an establishment unit that establishes the session with the communication device after the specific email address is registered in the second server.
前記特定のメールアドレスは、前記特定のメールアドレスが前記第2のサーバに登録された後に、前記通信装置によって出力される、請求項7に記載の第1のサーバ。 The first server according to claim 7, wherein the specific email address is output by the communication device after the specific email address is registered in the second server. 前記第1のデータは、前記端末装置を送信元とするHypertext Transfer Protocolに従ったコマンドに含まれる、請求項2から5のいずれか一項に記載の第1のサーバ。 The first server according to any one of claims 2 to 5, wherein the first data is included in a command according to Hypertext Transfer Protocol whose transmission source is the terminal device. 前記第1の関連情報は、前記第2のサーバ内のデータの位置を示す第1のURL(Uniform Resource Locatorの略)を含み、
前記第2の関連情報は、前記第2のサーバ内のデータの位置を示す第2のURLを含む、請求項2から9のいずれか一項に記載の第1のサーバ。
The first related information includes a first URL (abbreviation for Uniform Resource Locator) indicating the location of data in the second server,
The first server according to any one of claims 2 to 9, wherein the second related information includes a second URL indicating the location of data within the second server.
前記取得部は、前記第2のサーバから前記取得情報が受信されてから所定期間が経過する前に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第2の関連情報を取得し、
前記第2のサーバから前記取得情報が受信されてから前記所定期間が経過した後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第2の関連情報は取得されない、請求項2から10のいずれか一項に記載の第1のサーバ。
The acquisition unit is configured to acquire the acquisition information when the session is established between the communication device and the first server before a predetermined period of time has elapsed since the acquisition information was received from the second server. obtaining second related information;
When the session is established between the communication device and the first server after the predetermined period has elapsed since the acquisition information was received from the second server, the second related information 11. The first server according to any one of claims 2 to 10, wherein the first server is not obtained.
前記通信装置は、印刷機能を実行可能な装置であり、
前記第2のデータは、前記第2のデータに対応する画像の印刷を前記通信装置に実行させるためのデータである、請求項2から11のいずれか一項に記載の第1のサーバ。
The communication device is a device capable of executing a printing function,
12. The first server according to claim 2, wherein the second data is data for causing the communication device to print an image corresponding to the second data.
前記セッションは、EXtensible Messaging and Presence Protocolに従う、請求項2から12のいずれか一項に記載の第1のサーバ。 13. A first server according to any one of claims 2 to 12, wherein the session follows the EXtensible Messaging and Presence Protocol. 第2のサーバであって、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を第1のサーバに送信する第1の関連情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する、前記第1の関連情報送信部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、前記第1のサーバから失敗情報を受信する失敗情報受信部と、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得し、
前記第1のサーバは、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信し、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する、前記取得情報送信部と、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、データ送信部と、
を備える、第2のサーバ。
a second server,
A first related information transmitting unit that transmits first related information related to the first data to a first server when first data is received from a terminal device,
When the first related information is received from the second server, the first server responds to the first related information using a session for performing server push type communication. the first related information transmitting unit that attempts to transmit first instruction information to the communication device;
When the transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the first server a failure information receiving unit that receives failure information from;
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; There it is,
The first server uses the acquired information when the session is established between the communication device and the first server after the acquired information is received from the second server. and obtain the second related information,
When the second related information is acquired, the first server uses the session to transmit second instruction information corresponding to the second related information to the communication device,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server. an acquisition information transmission section;
data transmission, transmitting second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Department and
A second server comprising:
前記第2のサーバは、さらに、
前記取得情報が前記第1のサーバに送信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記第1のサーバから、前記取得情報を利用した特定の通知を受信する通知受信部と、
前記第1のサーバから前記特定の通知が受信される場合に、前記特定の通知に従って、前記第2の関連情報を前記第2のサーバに送信する第2の関連情報送信部と、
を備え、
前記第1のサーバは、前記第2のサーバから前記第2の関連情報を受信することによって、前記第2の関連情報を取得する、請求項14に記載の第2のサーバ。
The second server further includes:
When the session is established between the communication device and the first server after the acquired information is transmitted to the first server, the acquired information is used from the first server. a notification receiving unit that receives a specific notification;
a second related information transmitter that transmits the second related information to the second server in accordance with the specific notification when the specific notification is received from the first server;
Equipped with
The second server according to claim 14, wherein the first server obtains the second related information by receiving the second related information from the second server.
前記取得情報は、前記第2のサーバが受信した前記第1のデータを特定するための特定情報を含み、
前記特定の通知は、前記特定情報を含む、請求項15に記載の第2のサーバ。
The acquisition information includes specific information for specifying the first data received by the second server,
The second server according to claim 15, wherein the specific notification includes the specific information.
前記取得情報は、前記第2のサーバが実行すべき処理を示す特定のURL(Uniform Resource Locatorの略)を含み、
前記特定の通知は、前記特定のURLを含み、
前記第2の関連情報送信部は、前記第1のサーバから前記特定のURLを含む前記特定の通知を受信する場合に、前記特定のURLに従って、前記第2の関連情報を前記第1のサーバに送信する、請求項15又は16のいずれか一項に記載の第のサーバ。
The acquired information includes a specific URL (abbreviation for Uniform Resource Locator) indicating a process to be executed by the second server,
The specific notification includes the specific URL,
When receiving the specific notification including the specific URL from the first server, the second related information transmitting unit transmits the second related information to the first server according to the specific URL. 17. The second server according to claim 15 or 16, wherein the second server transmits to:.
前記第1のデータは、前記第2のサーバのドメイン名を含む特定のメールアドレスを送信先アドレスとして含む電子メールに含まれる、請求項14から17のいずれか一項に記載の第2のサーバ。 The second server according to any one of claims 14 to 17, wherein the first data is included in an email that includes as a destination address a specific email address that includes a domain name of the second server. . 前記第2のサーバは、さらに、
メモリと、
前記通信装置から登録要求を受信する場合に、前記特定のメールアドレスを前記メモリに登録する登録部と、
前記特定のメールアドレスが前記メモリに登録された後に、前記特定のメールアドレスを出力するための出力情報を前記通信装置に送信する出力情報送信部と、を備える、請求項18に記載の第2のサーバ。
The second server further includes:
memory and
a registration unit that registers the specific email address in the memory when receiving a registration request from the communication device;
The second device according to claim 18, further comprising: an output information transmitting unit that transmits output information for outputting the specific email address to the communication device after the specific email address is registered in the memory. server.
第1のサーバのためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記第1のサーバのコンピュータを、以下の各部、即ち、
第2のサーバが端末装置から第1のデータを受信する場合に、前記第2のサーバから、前記第1のデータに関連する第1の関連情報を受信する第1の関連情報受信部と、
前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する試行部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、失敗情報を前記第2のサーバに送信する失敗情報送信部と、
前記失敗情報が前記第2のサーバに送信される場合に、前記第2のサーバから、前記第1のデータに関係する第2の関連情報を取得するための取得情報を受信する取得情報受信部と、
前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得する取得部と、
前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信する指示情報送信部であって、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信し、
前記第2のサーバは、前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、前記指示情報送信部と、
として機能させる、コンピュータプログラム。
A computer program for a first server, the computer program comprising:
The computer program causes the computer of the first server to run the following parts, namely:
a first related information receiving unit that receives first related information related to the first data from the second server when the second server receives the first data from the terminal device;
When the first related information is received from the second server, first instruction information corresponding to the first related information is sent using a session for executing server push type communication. an attempt section that attempts to transmit to the communication device;
If transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the failure information is sent to the first server. a failure information transmitter that transmits to the second server;
an acquisition information receiving unit that receives acquisition information for acquiring second related information related to the first data from the second server when the failure information is transmitted to the second server; and,
When the session is established between the communication device and the first server after the acquired information is received from the second server, the acquired information is used to determine the second association. an acquisition unit that acquires information;
An instruction information transmitting unit that transmits second instruction information corresponding to the second related information to the communication device using the session when the second related information is acquired,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server,
When the second related information is received from the communication device, the second server transmits second data obtained using the first data related to the second related information to the communication device. the instruction information transmitter that transmits to the device;
A computer program that functions as
第2のサーバのためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記第2のサーバのコンピュータを、以下の各部、即ち、
端末装置から第1のデータが受信される場合に、前記第1のデータに関連する第1の関連情報を第1のサーバに送信する第1の関連情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記第1の関連情報が受信される場合に、サーバプッシュ型の通信を実行するためのセッションを利用して、前記第1の関連情報に対応する第1の指示情報を通信装置に送信することを試行する、前記第1の関連情報送信部と、
前記通信装置と前記第1のサーバとの間に前記セッションが確立されていないことに起因して、前記通信装置への前記第1の指示情報の送信が失敗する場合に、前記第1のサーバから失敗情報を受信する失敗情報受信部と、
前記第1のサーバから前記失敗情報が受信される場合に、前記第1のデータに関係する第2の関連情報を取得するための取得情報を前記第1のサーバに送信する取得情報送信部であって、
前記第1のサーバは、前記第2のサーバから前記取得情報が受信された後に、前記通信装置と前記第1のサーバとの間に前記セッションが確立される場合に、前記取得情報を利用して、前記第2の関連情報を取得し、
前記第1のサーバは、前記第2の関連情報が取得される場合に、前記セッションを利用して、前記第2の関連情報に対応する第2の指示情報を前記通信装置に送信し、
前記通信装置は、前記第1のサーバから前記第2の指示情報が受信される場合に、前記第2の指示情報に対応する前記第2の関連情報を前記第2のサーバに送信する、前記取得情報送信部と、
前記通信装置から前記第2の関連情報が受信される場合に、前記第2の関連情報に関連する前記第1のデータを用いて得られる第2のデータを前記通信装置に送信する、データ送信部と、
として機能させる、コンピュータプログラム。
A computer program for a second server, the computer program comprising:
The computer program causes the computer of the second server to run the following parts:
A first related information transmitting unit that transmits first related information related to the first data to a first server when first data is received from a terminal device,
When the first related information is received from the second server, the first server responds to the first related information using a session for performing server push type communication. the first related information transmitting unit that attempts to transmit first instruction information to the communication device;
When the transmission of the first instruction information to the communication device fails due to the session not being established between the communication device and the first server, the first server a failure information receiving unit that receives failure information from;
an acquisition information transmitter that transmits acquisition information for acquiring second related information related to the first data to the first server when the failure information is received from the first server; There it is,
The first server uses the acquired information when the session is established between the communication device and the first server after the acquired information is received from the second server. and obtain the second related information,
When the second related information is acquired, the first server uses the session to transmit second instruction information corresponding to the second related information to the communication device,
The communication device transmits the second related information corresponding to the second instruction information to the second server when the second instruction information is received from the first server. an acquisition information transmission section;
data transmission of transmitting second data obtained using the first data related to the second related information to the communication device when the second related information is received from the communication device; Department and
A computer program that functions as
JP2019175619A 2019-09-26 2019-09-26 Communication system, first server, second server, computer program for the first server, and computer program for the second server Active JP7363286B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019175619A JP7363286B2 (en) 2019-09-26 2019-09-26 Communication system, first server, second server, computer program for the first server, and computer program for the second server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019175619A JP7363286B2 (en) 2019-09-26 2019-09-26 Communication system, first server, second server, computer program for the first server, and computer program for the second server

Publications (2)

Publication Number Publication Date
JP2021051677A JP2021051677A (en) 2021-04-01
JP7363286B2 true JP7363286B2 (en) 2023-10-18

Family

ID=75158016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019175619A Active JP7363286B2 (en) 2019-09-26 2019-09-26 Communication system, first server, second server, computer program for the first server, and computer program for the second server

Country Status (1)

Country Link
JP (1) JP7363286B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010333A1 (en) 2010-04-07 2013-01-10 Pankaj Anand Device messaging
JP2016015561A (en) 2014-07-01 2016-01-28 コニカミノルタ株式会社 Image processing system, relay server, and program
JP2019036062A (en) 2017-08-10 2019-03-07 ブラザー工業株式会社 Communication device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130010333A1 (en) 2010-04-07 2013-01-10 Pankaj Anand Device messaging
JP2016015561A (en) 2014-07-01 2016-01-28 コニカミノルタ株式会社 Image processing system, relay server, and program
JP2019036062A (en) 2017-08-10 2019-03-07 ブラザー工業株式会社 Communication device

Also Published As

Publication number Publication date
JP2021051677A (en) 2021-04-01

Similar Documents

Publication Publication Date Title
US8823992B2 (en) Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
US20130179961A1 (en) Information processing system control method, intermediate service device, authentication method, and storage medium
US20040080771A1 (en) Image forming apparatus that can operate without wasteful use of resources thereof and unnecessary authentication
JP5444870B2 (en) Image forming apparatus, processing method thereof, and program
US8482770B2 (en) Data processing apparatus, data processing method, and storage medium storing computer program that executes processing based on a control request received from an external apparatus
US10057233B2 (en) Image processing apparatus, method for controlling the same, and storage medium for carrying out login processing
US8493604B2 (en) Information processing apparatus and control method thereof
JP6137076B2 (en) TERMINAL DEVICE, TERMINAL DEVICE CONTROL METHOD, AND TERMINAL DEVICE CONTROL PROGRAM
JP2007042098A (en) Content display method, content transmission method, image processing device, and remote computation device
JP5274203B2 (en) Data processing apparatus, method, program, and data processing system
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
JP7363286B2 (en) Communication system, first server, second server, computer program for the first server, and computer program for the second server
US11461062B2 (en) Printing device and server to receive an e-mail including an attached print data and determine whether sender e-mail address is stored in a table in which a user ID and e-mail address are registered in association with each other
JP4531729B2 (en) Billing data holding system and billing data holding method
JP7447686B2 (en) Communication system, first server, second server, computer program for the first server, and computer program for the second server
JP5928156B2 (en) E-mail processing system and e-mail processing method
US8499310B2 (en) Information processing apparatus, device setup method and storage medium for carrying out a device setup on a network
JP2015225479A (en) Information processing system, information processing apparatus, information processing method and computer program
JP4485749B2 (en) Image forming apparatus
JP2014085728A (en) Print management device, method for controlling print management device, print management system and program
US11836406B1 (en) Information processing apparatus, printing apparatus, printing system, medium, and printing control method
JP3857654B2 (en) Image forming apparatus, user information management method, user information management program, and recording medium
JP2021057890A (en) Server and computer program therefor
JP5063718B2 (en) Image forming apparatus and network system
JP2021121900A (en) Communication system, server, and computer program for server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230529

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: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230918

R150 Certificate of patent or registration of utility model

Ref document number: 7363286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150