Communication system, first server, second server, and computer-readable recording medium
By introducing a second server into the server, using the second server to send destination information after receiving the error information, the first server sends a change signal after receiving the destination information, and the second server identifies data and sends related information to the first server after receiving the change signal, so as to appropriately send data when the state of the communication device changes, solving the problem that the printer cannot re-establish HTTP connection, and realizing reliable reception of print data.
Patent Information
- Application Number
- CN202110615794.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-05
- Filing Date
- 2021-06-02
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2041-06-02
AI Technical Summary
In the prior art, when a printer encounters an unstable server state, it may not be able to re-establish the HTTP connection, resulting in the problem of not being able to receive the printed data.
By introducing a second server into the server, the second server sends the destination information after receiving the error information, the first server sends a change signal after receiving the destination information, and the second server identifies data and sends related information to the first server after receiving the change signal, so as to appropriately send data when the state of the communication device changes.
It realizes that when the state of the communication device changes, data can be sent appropriately, avoiding the problem of HTTP connection re-establishment failure and ensuring reliable reception of printed data.
Smart Images

Figure CN113760201B_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application claims priority to Japanese Patent Application No. 2020 - 098851, filed on June 5, 2020, the content of which is incorporated herein by reference. Technical field
[0003] The disclosure herein discloses a technology related to a server configured to receive data from a terminal device and send the data to a communication device. Background art
[0004] Servers that receive emails from communication terminals are known. The server generates print data from the email attachments and sends a print job suspension notice to the printer via an Extensible Messaging and Presence Protocol (XMPP) connection. When the printer receives the print job suspension notice, the printer establishes a Hypertext Transfer Protocol (HTTP) connection with the server, sends a print data transfer request to the server, and receives the print data from the server. Here, an error may occur in the printer when the printer receives the print data. In this case, after the error is resolved, the printer re - establishes an HTTP connection with the server, resends the print data transfer request to the server, and receives the print data from the server. Summary of the invention
[0005] In the above - mentioned technology, regardless of the state of the server, the printer attempts to re - establish an HTTP connection. Therefore, depending on the state of the server, the re - establishment of the HTTP connection may fail. If the re - establishment of the HTTP connection fails, the printer cannot receive print data from the server.
[0006] The disclosure herein provides a technology that enables the server to appropriately send data to a communication device when an error in the communication device is resolved.
[0007] The communication system disclosed in this document may include: a first server; and a second server, where the second server includes: a second processor; and a second storage device that stores second computer-readable instructions therein, and when the second computer-readable instructions are executed by the second processor, it causes the second server to: store data in a memory when the data is received from a terminal device. The first server includes: a first processor; and a first storage device that stores first computer-readable instructions therein, and when the first computer-readable instructions are executed by the first processor, it causes the first server to: receive error information from a communication device different from the terminal device at a predetermined time, the error information indicating that the state of the communication device is an error state in which the communication device cannot process data; and send an error reception message to the second server when the error information is received from the communication device, the error reception message indicating that the error information has been received from the communication device. When the second computer-readable instructions are executed by the second processor, it further causes the second server to: send destination information to the first server when the error reception message is received from the first server, the destination information indicating the destination in the second server to which the first server sends a change signal in response to the state of the communication device changing from the error state to a non-error state in which the communication device can process data. When the first computer-readable instructions are executed by the first processor, it further causes the first server to: send a change signal to the second server by using the destination information when the state change information indicating that the state of the communication device has changed from the error state to the non-error state is received from the communication device after the destination information has been received from the second server. When the second computer-readable instructions are executed by the second processor, it further causes the second server to: identify first data to be sent to the communication device from the memory when the change signal is received from the first server; and send first relationship information related to the identified first data to the first server. When the first computer-readable instructions are executed by the first processor, it further causes the first server to: send first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication, the first instruction information being used to instruct the communication device to send the first relationship information corresponding to the first instruction information to the second server; and when the second computer-readable instructions are executed by the second processor, it further causes the second server to: send second data obtained by using the first data related to the first relationship information to the communication device when the first relationship information is received from the communication device.
[0008] The first server disclosed in this document may include: a first processor; and a first storage device that stores first computer-readable instructions therein. When the first computer-readable instructions are executed by the first processor, the first server is caused to: receive error information from a communication device at a predetermined time, where the error information indicates that the state of the communication device is an error state in which the communication device is unable to process data; in the case of receiving the error information from the communication device, send error reception information to a second server, where the error reception information indicates that the error information has been received from the communication device, and the second server sends destination information to the first server, where the destination information indicates the destination in the second server to which the first server sends a change signal in response to the state of the communication device changing from the error state to a non-error state in which the communication device is able to process data; in the case of receiving state change information from the communication device after having received the destination information from the second server, send a change signal to the second server by using the destination information, where the state change information indicates that the state of the communication device has changed from the error state to the non-error state; in the case of receiving the change signal from the first server, the second server identifies first data to be sent to the communication device from a memory, and the second server sends first relationship information related to the identified first data to the first server; and in the case of receiving the first relationship information from the second server, send first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication, where the first instruction information is information for instructing the communication device to send first relationship information corresponding to the first instruction information to the second server, and in the case of receiving the first relationship information from the communication device, the second server sends second data obtained by using the first data related to the first relationship information to the communication device.
[0009] The second server disclosed in this document may include: a second processor; and a second storage device that stores second computer-readable instructions therein. When the second computer-readable instructions are executed by the second processor, the second server is caused to: store data in a memory when the data is received from a terminal device; send destination information to the first server when error reception information is received from the first server, where the destination information indicates the destination in the second server to which the first server is to send a change signal in response to a change of the state of a communication device different from the terminal device from an error state to a non-error state. The first server receives error information from the communication device at a predetermined time, the error information indicating that the state of the communication device is an error state. The first server sends the error reception information to the second server, the error reception information indicating that the error information has been received from the communication device when the error information is received from the communication device. The error state is a state in which the communication device is unable to process data, and the non-error state is a state in which the communication device is able to process data; receive a change signal from the first server when the first server receives state change information from the communication device after the destination information has been sent to the first server, the state change information indicating that the state of the communication device has changed from an error state to a non-error state; identify first data to be sent to the communication device from the memory when the change signal is received from the first server; send first relationship information related to the identified first data to the first server, where when the first relationship information is received from the second server, the first server sends first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication, and the first instruction information is information for instructing the communication device to send first relationship information corresponding to the first instruction information to the second server; and send second data obtained by using the first data related to the first relationship information to the communication device when the first relationship information is received from the communication device.
[0010] A control method implemented by any one of the first server and the second server, a computer program for any one of the first server and the second server, and a computer-readable recording medium storing computer-readable instructions for any one of the first server and the second server are also novel and useful. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 shows the configuration of a communication system;
[0012] Figure 2 shows a block diagram of the respective configurations of the devices in the communication system;
[0013] Figure 3 shows a sequence diagram of a setup process;
[0014] Figure 4 Shows a sequence diagram for processing to perform email printing;
[0015] Figure 5 Shows a specific case where an XMPP session is not established;
[0016] Figure 6 Shows a specific case where the status of the MFP is "busy";
[0017] Figure 7 Shows a specific case where a timeout occurs; and
[0018] Figure 8 Shows a sequence diagram for processing to perform application printing according to a second embodiment. Detailed Description of the Invention
[0019] (First Embodiment)
[0020] (Configuration of Communication System 2: Figure 1 )
[0021] As Figure 1 shown, the communication system 2 includes an Extensible Messaging and Presence Protocol (XMPP) server 10, an APP server 100, a multifunction device 200, and a terminal device 300. Hereinafter, the multifunction device is referred to as "multifunction peripheral (MFP)".
[0022] The XMPP server 10, the APP server 100, and the terminal device 300 are connected to the Internet 8. The XMPP server 10 is configured to communicate with each of the devices 100 and 300 via the Internet 8. The MFP 200 is connected to a local area network (LAN) 4. The LAN 4 is connected to the Internet 8. The MFP 200 is configured to communicate with each of the devices 10, 100, and 300 via the LAN 4 and the Internet 8. The LAN 4 can be a wired LAN or a wireless LAN.
[0023] (Configuration of XMPP Server 10: Figure 2 )
[0024] The XMPP server 10 is a server for establishing an XMPP session with an MFP (e.g., MFP 200). The XMPP server 10 is installed on the Internet 8 by the vendor of the MFP 200.
[0025] An XMPP session is a session based on XMPP. By using the XMPP session, the XMPP server 10 can send requests to the MFP outside the LAN firewall (e.g., the firewall formed by a router) to which the MFP belongs, without having to receive requests from the MFP. That is to say, the XMPP session is constructed as a session for performing server push communication. The XMPP session will remain in the established state until the power of the MFP is turned off. The scheme for sending requests from the XMPP server 10 to the MFP (i.e., the scheme for performing server push communication) may not be the XMPP session, but may be another method. For example, a session based on the Hypertext Transfer Protocol Secure (HTTPS) can be established between the MFP and the XMPP server 10.
[0026] The XMPP server 10 includes a network interface 16 and a controller 30. Each of the units 16 and 30 is connected to a bus (the reference numeral is omitted in the drawings). Hereinafter, the interface will be referred to as "I / F". The network I / F 16 is an I / F for performing communication via the Internet 8 and is connected to the Internet 8 (see Figure 1 ). The controller 30 includes a CPU 32 and a memory 34. The CPU 32 is configured to perform various processes according to a program 40 stored in the memory 34. The memory 34 is composed of a volatile memory, a non-volatile memory, etc. In addition to the program 40, the memory 34 also stores a management table 42.
[0027] The management table 42 is a table for managing information related to the MFP. The management table 42 stores, for each of a plurality of MFPs, a management identifier (ID) for managing the MFP, a UID as identification information obtained from the MFP, model information of the MFP, an access token of the MFP, and device status information associated with each other. The model information indicates information related to the model of the corresponding MFP (e.g., model name, specifications). The access token is authentication information for establishing an XMPP session with the corresponding MFP. The device status information indicates the status of the corresponding MFP. The device status information indicates one of a plurality of statuses including "busy" ("busy" is a state where the MFP cannot process data) and "idle" ("idle" is a state where the MFP can process data). Here, "busy" can indicate, for example, paper jam or out of ink.
[0028] In addition, when receiving a callback Uniform Resource Locator (URL) to be described later from the APP server 100, the XMPP server 10 stores the received callback URL in the management table 42 in association with the corresponding management ID.
[0029] (Configuration of the APP server 100)
[0030] The APP server 100 is a server for performing communication between email printing and an MFP (e.g., MFP 200). Email printing is a function that enables the MFP to perform printing of an image corresponding to the image data included in an email. The vendor of the MFP 200 installs the APP server 100 on the Internet 8.
[0031] The APP server 100 includes a network I / F 116 and a controller 130. Each of the units 116 and 130 is connected to a bus (reference numeral omitted). The network I / F 116 is connected to the Internet 8 (see Figure 1 ). The controller 130 includes a CPU 132 and a memory 134. The CPU 132 is configured to execute various processes according to a program 140 stored in the memory 134. In addition to the program 140, the memory 134 also stores a device table 142 and a job table 144.
[0032] The device table 142 is a table for registering information related to the MFP. The device table 142 stores, for each of a plurality of MFPs, a UID obtained from the MFP, an administrative ID stored in association with the UID in the XMPP server 10, an email address used in email printing, and event information associated with each other. The event information is information related to an event that occurs in the APP server 100. Information related to various events can be described in the event information. For example, when an event occurs in which the APP server 100 sends a callback URL (to be described later) to the XMPP server 10, the callback URL is described in the event information.
[0033] The job table 144 is a table for managing a plurality of print jobs. The job table 144 stores, for each of a plurality of print jobs, a UID, an administrative ID, a job ID identifying the print job, a file name of image data corresponding to the print target of the print job, a print URL corresponding to the print job, expiration information indicating the expiration date of the print job, and print status information corresponding to the print job associated with each other. The print URL will be described later. The print status information indicates the status of the corresponding print job. The print status information indicates one of a plurality of statuses including "print start", "before printing", "print completed", and "interrupted". "Print start" indicates a state in which the print URL of the corresponding print job has been sent to the MFP. "Before printing" indicates a state in which the print URL of the corresponding print job has not been sent to the MFP. "Print completed" indicates a state in which, after the print URL of the corresponding print job has been sent to the MFP, a notification indicating that the printing has been completed has been received from the MFP. "Interrupted" indicates a state in which, after the print URL of the corresponding print job has been sent to the MFP, the printing in the MFP has been interrupted.
[0034] In email printing, the APP server 100 and the XMPP server 10 cooperate. Although details will be described later, by using an XMPP session, the MFP can perform printing of an image corresponding to the image data included in an email without receiving a request from the MFP. In addition, a vendor installs another APP server different from the APP server 100 on the Internet 8. This other APP server is a server for communicating with the MFP to perform another function different from email printing using the Internet 8 (for example, a function of sending a setting value to the MFP via the Internet 8). The other APP server and the XMPP server 10 cooperate in this other function. That is, one XMPP server 10 and multiple APP servers cooperate. By establishing an XMPP between one XMPP server 10 and the MFP, the MFP can perform multiple functions using the Internet 8.
[0035] (Configuration of MFP 200)
[0036] The MFP 200 is a peripheral device (i.e., a peripheral device of a terminal device connected to the LAN 4) configured to perform multiple functions including a printing function, a scanning function, and a fax function. The MFP 200 includes a display unit 214, a LAN I / F 216, a print execution unit 218, a public switched telephone network (PSTN) I / F 220, and a controller 230. Each of the units 214 to 230 is connected to a bus (reference numeral omitted). The display unit 214 is a display for displaying various types of information. The display unit 214 is a so-called touch screen and also serves as an operation unit. The LAN I / F 216 is connected to the LAN 4 (see Figure 1 ). The print execution unit 218 includes a printing mechanism such as an inkjet scheme or a laser scheme. The PSTN I / F 220 is an I / F for performing fax communication.
[0037] The controller 230 includes a CPU 232 and a memory 234. The CPU 232 is configured to execute various processes according to a program 240 stored in the memory 234. The memory 234 also stores the UID "u01" of the MFP 200 and the model information MI of the MFP 200. The UID is information for identifying a user who uses the MFP 200 (for example, an account name). In a variant, the UID may be information for identifying the MFP 200 (for example, a serial number).
[0038] (Setting process: Figure 3 )
[0039] Reference will be made to Figure 3Describe the setup process for registering information in the communication for email printing in the APP server 100 and establishing an XMPP session. Hereinafter, for easier understanding, the processes executed by each CPU of the device (e.g., the CPU 32 of the XMPP server 10) will be described with the device (e.g., the XMPP server 10) as the object of the action rather than the CPU. In addition, hereinafter, communication is executed between the MFP 200 and each of the servers 10 and 100 via the LAN 4 and the Internet 8. In addition, communication is executed between the XMPP server 10 and the APP server 100 via the Internet 8. Hereinafter, unless otherwise specified, the descriptions of "via the LAN 4" and "via the Internet 8" will be omitted.
[0040] In T5, the MFP 200 accepts the user's operation to change the email printing setting from "disabled" to "enabled". The email printing setting indicates the setting regarding whether to allow email printing to be executed. "Disabled" indicates that email printing is prohibited, and "enabled" indicates that email printing is allowed. By default, the email printing setting is indicated as "disabled".
[0041] When the email printing setting is changed from "disabled" to "enabled" in T5, in T10, the MFP 200 sends a registration request to the APP server 100 to register the information used in the communication for email printing. The registration request includes the UID "u01".
[0042] When the registration request is received from the MFP 200 in T10, in T12, the APP server 100 generates an email address MA. The email address MA includes the local part "mfp1" of the APP server 100 and the domain name "app.com".
[0043] In T14, the APP server 100 sends an administrative ID request to the XMPP server 10 requesting the XMPP server 10 to send the administrative ID.
[0044] When the administrative ID request is received from the APP server 100 in T14, in T16, the XMPP server 10 generates an administrative ID "a01" and stores the administrative ID "a01" in the administrative table 42.
[0045] In T18, the XMPP server 10 sends the administrative ID "a01" to the APP server 100.
[0046] When the management ID "a01" is received from the XMPP server 10 in T18, in T20 the APP server 100 stores the UID "u01" in the registration request of T10, the management ID "a01" received in T18, and the email address MA generated in T12 in association with each other in the device table 142. Thus, the information used in the communication for email printing is registered in the APP server 100. At this time, no event information is stored in the device table 142 in association with the UID "u01".
[0047] Next, in T30, the APP server 100 sends a PIN code request for requesting a personal identification number (PIN) code to the XMPP server 10.
[0048] When the PIN code request is received from the APP server 100 in T30, in T32 the XMPP server 10 generates a PIN code C. The XMPP server 10 stores the management ID "a01" and the PIN code C in association with each other in the memory 34.
[0049] In T34, the XMPP server 10 sends the PIN code C to the APP server 100. Thus, in T36 the APP server 100 sends the PIN code C received from the XMPP server 10 to the MFP 200.
[0050] When the PIN code C is received from the APP server 100 in T36, in T50 the MFP 200 sends a setup request for requesting an XMPP session to be set up to the XMPP server 10. The setup request includes the UID "u01", the model information MI, and the PIN code C.
[0051] When the setup request is received from the MFP 200 in T50, in T52 the XMPP server 10 performs authentication of the PIN code C in the setup request. In the current case, since the PIN code C in the setup request matches the PIN code C in the memory 34 of the XMPP server 10, the authentication of the PIN code C is successful. Then, the XMPP server 10 proceeds with the processing from T54. If the authentication of the PIN code in the setup request fails, the XMPP server 10 does not proceed with the processing from T54.
[0052] In 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 stores the identified management ID "a01", the UID "u01" in the request, the model information MI in the request, and the generated access token AT in association with each other in the management table 42. At this time, neither device status information nor a callback URL is stored in the management table 42 in association with the management ID "a01".
[0053] In T58, the XMPP server 10 sends the access token AT to the MFP 200. As a result, in T70, the MFP 200 uses the access token AT to establish an XMPP session with the XMPP server 10.
[0054] In addition, when the establishment of the XMPP session is completed, in T80, the MFP 200 sends an email address request for requesting an email address to the APP server 100. The email address request includes the UID "u01".
[0055] When receiving the email address request from the MFP 200 in T80, in T82, the APP server 100 sends the email address MA stored in association with the UID "u01" in the email address request to the MFP 200.
[0056] When receiving the email address MA from the APP server 100 in T82, in T84, the MFP 200 causes the display unit 214 to display the email address MA. Thus, the user can confirm the email address MA.
[0057] The MFP 200 sends a status signal indicating the status of the MFP 200 to the XMPP server 10 at a predetermined time after the XMPP session with the XMPP server 10 has been established (T90). The predetermined time can be, for example, the time when the status of the MFP 200 changes (e.g., from "idle" to "busy"). The status signal includes the UID "u01" of the MFP 200 and information indicating the current status of the MFP 200 (e.g., "busy").
[0058] When receiving the status signal from the MFP 200 in T90, in T92, the XMPP server 10 stores the information in the status signal (e.g., "busy") in the management table 42 in association with the UID "u01" in the status signal as device status information.
[0059] (Processing for performing email printing: Figure 4 )
[0060] Will refer toFigure 4 Describe the process for performing email printing. In T200, the terminal device 300 sends an email EM including the email address MA as the recipient address to the APP server 100. The email EM includes image data corresponding to the image to be printed. This image data can be, for example, data corresponding to a document containing images corresponding to multiple pages.
[0061] When receiving the email EM from the terminal device 300 in T200, the APP server 100 identifies the management ID "a01" stored in association with the email address MA included in the email EM from the device table 142. Then in T202, the APP server 100 sends a model information request for requesting model information to the XMPP server 10. The model information request includes the identified management ID "a01". In addition, the APP server 100 stores the sender address included in the email EM received in T200 in association with the management ID "a01" in the memory 134.
[0062] When receiving the model information request from the APP server 100 in T202, in T204 the XMPP server 10 sends the model information MI stored in association with the management ID "a01" included in the model information request to the APP server 100.
[0063] In T208, the APP server 100 uses the model information MI to convert the image data included in the email EM and generates print data PD1 in a data format that the MFP 200 can interpret. Here, the APP server 100 generates the print data PD1 according to the print settings (e.g., paper size) input by the user to the APP server 100. In a variant, the APP server 100 can generate the print data PD1 according to the print settings described in the body of the email EM.
[0064] In T210, the APP server 100 stores information related to the print job to be performed according to the print data PD1 in the job table 144. Specifically, the APP server 100 stores the management ID "a01", the new job ID "j01", the file name "id1" of the image data included in the email EM, the print URL "http: / / app.com / pd1", the expiration information PI1, and the print status information "before printing" in association with the UID "u01" in the job table 144. Here, the print URL "http: / / app.com / pd1" indicates the location where the print data PD1 is stored within the APP server 100, and the string "pd1" is the file name of the print data PD1.
[0065] In T212, the APP server 100 sends the management ID "a01", the print URL "http: / / app.com / pd1", and the expiration information PI1 to the XMPP server 10. Accordingly, the XMPP server 10 stores the management ID "a01", the print URL "http: / / app.com / pd1", and the expiration information PI1 in the memory 34 in association with each other.
[0066] When receiving the above information including the print URL "http: / / app.com / pd1" from the APP server 100 in T212, the XMPP server 10 determines in T218 whether the device status information stored in the management table 42 in association with the management ID "a01" indicates "idle". In a case where it is determined that the device status information indicates "idle" (Yes in X218), the XMPP server 10 proceeds to T220. On the other hand, in a case where it is determined that the device status information indicates "busy" (No in X218), the XMPP server 10 proceeds to the processing described later Figure 6 to be.
[0067] In T220, the XMPP server 10 determines whether an XMPP session with the MFP 200 is currently established. For example, in a case where an XMPP session with the MFP 200 is currently established, the XMPP server 10 stores the establishment information indicating that the XMPP session is currently established in the memory 34 in association with the management ID "a01" identifying the MFP 200. In a case where the establishment information is stored in association with the management ID "a01" received in T212, the XMPP server 10 determines that an XMPP session with the MFP 200 is currently established (Yes in T220). In this case, the XMPP server 10 proceeds to T222 described later. On the other hand, in a case where the establishment information is not stored in association with the management ID "a01" received in T212, the XMPP server 10 determines that an XMPP session with the MFP 200 is not currently established (No in T220). In this case, the XMPP server 10 proceeds to the processing described later Figure 5 to be.
[0068] In T222, the XMPP server 10 sends the print URL "http: / / app.com / pd1" to the MFP 200 by using the XMPP session.
[0069] When the print URL "http: / / app.com / pd1" is received from the XMPP server 10 in T222, in T224 the MFP 200 sends a response indicating that it has received the print URL "http: / / app.com / pd1" to the XMPP server 10.
[0070] When the response is received from the MFP 200 in T224, in T226 the XMPP server 10 sends transmission completion information to the APP server 100. The transmission completion information is information indicating that the transmission of the print URL "http: / / app.com / pd1" has been completed.
[0071] When the transmission completion information is received from the XMPP server 10 in T224, in T228 the APP server 100 changes the print status information corresponding to the print URL "http: / / app.com / pd1" in the job table 144 to "print start".
[0072] In addition, when the print URL "http: / / app.com / pd1" is received from the XMPP server 10 in T222, in T230 the MFP 200 sends a data request including the print URL "http: / / app.com / pd1" to the APP server 100. The data request is an HTTP command including the print URL "http: / / app.com / pd1". By using the print URL, the MFP200 can receive the print data PD1 from the APP server 100 using a general HTTP command.
[0073] When the data request is received from the MFP 200 in T230, the APP server 100 obtains the print data PD1 from the position indicated by the print URL "http: / / app.com / pd1" in the APP server 100.
[0074] In T232, the APP server 100 sends the print data PD1 to the MFP 200. In the current case, the image corresponding to the print data PD1 is a ten-page image. The APP server 100 divides the print data PD1 into page data slices each corresponding to one of the pages, and sequentially sends the page data slices to the MFP 200. Therefore, in T234 the MFP 200 performs the printing of each page corresponding to the print data PD1.
[0075] (Specific case where no XMPP session is established: Figure 5 )
[0076] Will refer to Figure 5Describe a specific situation where an XMPP session with the MFP 200 is not currently established (i.e., the situation determined to be No in T220 of Figure 4 . In the current situation, the XMPP session with the MFP 200 is disconnected because the power of the MFP 200 is turned off.
[0077] In T250, the XMPP server 10 sends offline information indicating that the XMPP session is disconnected to the APP server 100.
[0078] When receiving the offline information from the XMPP server 10 in T250, in T252, the APP server 100 stores the first callback URL "http: / / app.com / eventprinteronline" in the device table 142 in association with the management ID "a01" as event information. The first callback URL is the URL of the destination to which the XMPP server 10 sends a setup signal to be described later in response to the re - establishment of the XMPP session. In addition, the string "eventprinteronline" in the first callback URL indicates the process that the APP server 100 is to execute when the APP server 100 receives the first callback URL from the XMPP server 10. The process indicated by the string "eventprinteronline" is the process in which the APP server 10 responds to a signal from the XMPP server 10 and resends the print URL to the XMPP server 10.
[0079] In T254, the APP server 100 sends the management ID "a01" and the first callback URL to the XMPP server 10. As a result, in T256, the XMPP server 10 stores the first callback URL in association with the management ID "a01" in the management table 42.
[0080] Next, in T258, the MFP 200 accepts the operation of the user to turn on the power. Therefore, in T260, the MFP 200 uses the access token AT and establishes an XMPP session with the XMPP server 10.
[0081] When establishing an XMPP session with the MFP 200 in T260, the XMPP server 10 determines in T261 whether the device status information stored in the management table 42 in association with the management ID "a01" that identifies the MFP 200 (with which the XMPP session of the MFP 200 has been established) indicates "idle". In the case where it is determined that the device status information indicates "idle" (X261 is Yes), the XMPP server 10 proceeds to T262.
[0082] In T262, the XMPP server 10 determines whether the first callback URL is stored in the management table 42 in association with the management ID "a01". If it is determined that the first callback URL is stored in the management table 42 in association with the management ID "a01" (Yes in T262), the XMPP server 10 proceeds to T264.
[0083] In T264, the XMPP server 10 identifies the expiration information PI1 stored in the memory 34 in association with the management ID "a01". Then, the XMPP server 10 determines whether the current date and time are within the expiration period indicated by the identified expiration information PI1. If it is determined that the current date and time are within the expiration period (Yes in T264), the XMPP server 10 executes the process from T266.
[0084] If it is determined that the device status information indicates "busy" (No in T261), the XMPP server 10 proceeds to Figure 6 the process. On the other hand, if it is determined that the first callback URL is not stored (No in T262) or the current date and time exceed the expiration period (No in T264), the XMPP server 10 skips the process from T266 and terminates Figure 5 the process.
[0085] In T266, the XMPP server 10 sends a setup signal indicating that the XMPP session has been re-established to the APP server 100. The setup signal is an HTTP command including the management ID "a01" and the first callback URL.
[0086] When receiving the setup signal from the XMPP server 10 in T266, the APP server 100 executes the processes of T267 to T270 according to the first callback URL string "eventprinteronline" in the setup signal.
[0087] In T267, the APP server 100 confirms that in the device table 142, the first callback URL is described in the event information associated with the management ID "a01" included in the establishment signal. Then, the APP server 100 identifies the print status information stored in the job table 144 associated with the management ID "a01" included in the establishment signal, and determines whether the identified print status information indicates "before printing" or "interrupted". In other words, the APP server 100 determines whether there is print data to be sent to the MFP 200. In the current case, the APP server 100 determines that the identified print status information indicates "before printing" (yes in T267), and proceeds to T268. On the other hand, in the case where it is determined that the identified print status information neither indicates "before printing" nor indicates "interrupted" (no in T267), the APP server 100 terminates Figure 5 the process.
[0088] In T268, the APP server 100 identifies the print URL "http: / / app.com / pd1" associated with the identified print status information from the job table 144. Then, in T270, the APP server 100 sends the management ID "a01" and the identified print URL "http: / / app.com / pd1" to the XMPP server 10.
[0089] T274 to T282 are the same as Figure 4 T222 to T232 of. That is, in the case of re - establishing the XMPP session with the XMPP server 10, the MFP 200 can receive the print URL "http: / / app.com / pd1" from the XMPP server 10 without sending a request to the XMPP server 10. As a result, in T284, the MFP 200 can execute the printing of the image corresponding to the print data PD1.
[0090] In addition, in T283, the APP server 100 identifies the sender address of the email EM stored in association with the management ID "a01" from the memory 134 (see Figure 4 T200 of). Then, the APP server 100 sends an error - resolution email with the identified sender address as its recipient address. The error - resolution email includes a message indicating that the error caused by the disconnection of the XMPP session has been resolved. Therefore, the user who reads the error - resolution email can confirm that the error caused by the disconnection of the XMPP session has been resolved.
[0091] (Specific case where the status of the MFP 200 is "busy": Figure 6 )
[0092] will be referred toFigure 6 Describe a specific situation where the device status information of the MFP 200 indicates "busy". In the current situation, since the ink runs out in the MFP 200 before receiving the email EM in Figure 4 the T200, the XMPP server 10 receives a status signal including the information "busy" from the MFP 200 (see Figure 3 the T90). As a result, the XMPP server 10 determines that the device status information of the MFP 200 indicates "busy" ( Figure 4 is no in the T218).
[0093] In the T350, the XMPP server 10 sends an error reception message "busy" indicating that the message "busy" has been received from the MFP 200 to the APP server 100.
[0094] When receiving the error reception message "busy" from the XMPP server 10 in the T350, in the T352, the APP server 100 stores the second callback URL "http: / / app.com / eventprinteridle" in the device table 142 in association with the management ID "a01" as event information. The second callback URL is the URL of the destination to which the XMPP server 10 sends a change signal, which will be described later, in response to the status of the MFP 200 changing from "busy" to "idle". The string "eventprinteridle" in the second callback URL indicates the process that the APP server 100 is to execute when the APP server 100 receives the second callback URL from the XMPP server 10. The process indicated by the string "eventprinteridle" is the process in which the APP server 100 re - sends the print URL to the XMPP server 10 in response to a signal from the XMPP server 10.
[0095] In addition to using the second callback URL, the T354 and T356 are the same as Figure 5 the T254 and T256 of
[0096] Next, in the T358, the user of the MFP 200 performs an operation to replace the ink of the MFP 200. As a result, the status of the MFP 200 changes from "busy" to "idle", and in the T360, the MFP 200 sends a status signal including the information "idle" to the XMPP server 10.
[0097] When receiving the status signal including the information "idle" from the MFP 200 in the T360, the XMPP server 10 performs the determinations of the T362 and T364. The T362 is the same as Figure 5 the T262 ofFigure 5 is the same as that of T264.
[0098] When it is determined that the second callback URL is stored and it is further determined that the current date and time are within the validity period (Yes in T362 and Yes in T364), the XMPP server 10 sends a change signal indicating that the status of the MFP 200 has been changed to "idle" to the APP server 100. The change signal is an HTTP command including the management ID "a01" and the second callback URL.
[0099] When receiving the change signal from the XMPP server 10 in T366, the APP server 100 executes the processes of T367 to T370 according to the string "eventprinteridle" of the second callback URL in the change signal. T367 to T370 are Figure 5 the same as those of T267 to T270.
[0100] T372 to T382 are Figure 5 the same as those of T272 to T282. Except that the error resolution email includes a message indicating that the error caused by the status of the MFP 200 being "busy" has been resolved, T383 is Figure 5 the same as that of T283. By checking the message in the error resolution email, the user can confirm that the error caused by the status of the MFP 200 being "busy" has been resolved. T384 is Figure 5 the same as that of T284.
[0101] According to the current situation, when the status of the MFP 200 changes from "busy" to "idle", the XMPP server 10 sends a change signal to the APP server 100 and receives the print URL from the APP server 100 ( Figure 6 T370). In addition, the XMPP server 10 uses the XMPP session and sends the print URL to the MFP 200 (T372). Therefore, the MFP 200 sends the print URL to the APP server 100 and receives the print data PD1 corresponding to the print URL from the APP server 100 (T382). For example, a comparative example can be assumed, in which the MFP 200 requests the APP server 100 to send the print data PD1 without receiving an instruction from the XMPP server 10. In this comparative example, depending on the status of the APP server 100, the reception of the print data PD1 may fail. In contrast, according to the current situation, the MFP 200 receives the print data PD1 from the APP server 100 in response to an instruction from the XMPP server 10 (i.e., the communication in T372). When the error in the MFP 200 is resolved, the APP server 100 can appropriately send the print data PD1 to the MFP 200.
[0102] In addition, in the current situation, the XMPP server 10 determines whether the status of the MFP 200 is "idle" before the APP server 100 sends the print data PD1 to the MFP 200 ( Figure 5 at T218), and if the status of the MFP 200 is "busy", the XMPP server 10 sends the error reception message "busy" to the APP server 100 ( Figure 6 at T350). With such a configuration, even if the status of the MFP 200 is "busy", it is possible to prevent the print data PD1 from being sent to the MFP 200.
[0103] (Specific case where timeout occurs: Figure 7 )
[0104] The specific case where timeout occurs will be described with reference to Figure 7 The current situation is a continuation of Figure 4 at T230. In the current situation, in T400, the APP server 100 sends one of the page data slices corresponding to page 5 of the print data PD1. In addition, when the MFP 200 receives this page data from the APP server 100, the ink of the MFP 200 runs out. Therefore, the status of the MFP 200 changes from "idle" to "busy", and the MFP 200 stops receiving the remaining page data corresponding to the remaining pages. When a predetermined time has elapsed since the reception of the remaining page data stopped, the HTTP session established using the print URL in the data request of Figure 4 at T230 is disconnected due to timeout.
[0105] When a timeout occurs, in T402, the MFP 200 sends timeout information indicating that a timeout has occurred to the XMPP server 10. The timeout information includes the UID "u01" of the MFP 200 and the message "busy".
[0106] When the timeout information is received from the MFP 20 in T402, in T404, the XMPP server 10 stores the message "busy" included in the timeout information in the management table 42 in association with the UID "u01" included in the timeout information as device status information.
[0107] Except for using the error reception message "timeout" indicating that timeout information has been received from the MFP 200, T450 is the same as Figure 6 at T350. T452 is the same as Figure 6 at T352.
[0108] In T453, the APP server 100 changes the print status information stored in the management table 42 associated with the UID "u01" included in the timeout information from "print start" to "interrupted". Except for determining in T467 that the print status information indicates "interrupted", T454 to T480 are the same as Figure 6 T354 to T380.
[0109] In T482, the APP server 100 sends the remaining page data corresponding to the remaining pages (pages 6 to 10 (last page)) of the print data PD1 to the MFP 200. For example, a comparison example can be assumed where the APP server 100 sends the entire print data PD1. In this comparison example, the page data corresponding to the already sent pages 1 to 5 is sent to the MFP 200 again. In contrast, in the current case, the page data corresponding to the already sent pages 1 to 5 is not re-sent to the MFP 200, thus preventing the transmission of redundant page data. In a variant, the construction of the comparison example can be adopted.
[0110] Except that the error resolution email includes a message indicating that the error caused by the timeout has been resolved, T483 is the same as Figure 6 T383. By viewing the message in the error resolution email, the user can confirm that the error caused by the timeout has been resolved. Except for performing the printing of the remaining pages, T484 is the same as Figure 6 T384.
[0111] According to the current situation, after a timeout occurs, the XMPP server 10 sends a change signal to the APP server 100 due to the resolution of the error that was the cause of the timeout (e.g., out of ink), and receives a print URL from the APP server 100 ( Figure 7 T470). In addition, the XMPP server 10 sends the print URL to the MFP 200 using the XMPP session (T472). Therefore, the MFP 200 sends the print URL to the APP server 100 and receives the print data PD1 corresponding to the print URL from the APP server 100 (T482). For example, a comparison example can be assumed where the MFP 200 requests the APP server 100 to send the print data PD1 without receiving an instruction from the XMPP server 10. In this comparison example, depending on the status of the APP server 100, the reception of the print data PD1 may fail. In contrast, according to the current situation, the MFP 200 receives the print data PD1 from the APP server 100 in response to an instruction from the XMPP server 10 (i.e., the communication in T472). When the error that was the cause of the timeout is resolved, the APP server 100 can appropriately send the print data PD1 to the MFP 200.
[0112] In addition, in the current situation, after the APP server 100 has sent the print data PD1 to the MFP 200 and the timeout information ( Figure 7 T402) is received from the MFP 200, the XMPP server 10 sends an error reception message "timeout" to the APP server 100 (T450). With such a configuration, even when an error occurs after the APP server 100 has sent the print data PD1, the print data PD1 can be appropriately sent to the MFP 200 after the error is resolved.
[0113] In addition, as Figure 3 shown in T90, when the status of the MFP 200 changes from "idle" to "busy" before receiving the print data from the APP server 100 (i.e., before executing printing), the MFP 200 sends a status signal to the XMPP server 10. In addition, as Figure 7 shown in T460, when printing is interrupted after the MFP 200 has received the print data from the APP server 100 and the status of the MFP 200 changes from "idle" to "busy", the MFP 200 also sends a status signal to the XMPP server 10. That is, the XMPP server 10 can confirm the current status of the MFP 200 regardless of whether the MFP 200 is executing printing. The XMPP server 10 can send a print URL (i.e., a print instruction) to the MFP 200 based on the current status of the MFP 200 (see Figure 4 T218, Figure 7 T460) regardless of whether the MFP 200 is executing printing.
[0114] In addition, in both cases where the status of the MFP 200 changes to "busy" before the MFP 200 executes printing and where the status of the MFP 200 changes to "busy" after the MFP 200 has executed printing, the MFP 200 sends the same status signal to the XMPP server 10 ( Figure 3 T90, Figure 7 T460). For example, a comparative example can be assumed in which a status signal is sent when the status of the MFP 200 changes to "busy" before the MFP 200 executes printing, and a signal different from the status signal and requesting the server (e.g., the APP server 100) to send print data is sent when the status of the MFP 200 changes to "busy" after the MFP 200 has executed printing. In this comparative example, the MFP 200 needs to include an additional program for sending a signal different from the status signal. In contrast, according to the configuration of the embodiment, such an additional program does not need to be included. The configuration of the MFP 200 can be simplified.
[0115] (Corresponding relationship)
[0116] The communication system 2, the XMPP server 10, the APP server 100, the terminal device 300, the MFP 200, and the memory 134 are examples of a "communication system", a "first server", a "second server", a "terminal device", a "communication device", and a "memory", respectively. "Busy" and "idle" are examples of an "error state" and a "non-error state", respectively. The image data is an example of "data". The image data and the print data PD1 in the email EM are examples of "first data" and "second data (and third data)", respectively. The management ID "a01" and the first and second callback URLs are examples of "destination information". The management ID "a01" and the first and second callback URLs are examples of "specific information" and "first URL", respectively. Figure 6 of T360 and Figure 7 The status signals in T460 are examples of "status change information". The print URL is an example of "first relationship information", "first instruction information", and "second URL". The print URL is also an example of "second relationship information" and "second instruction information". The XMPP session is an example of a "session". The page data corresponding to pages 1 to 5 and the page data corresponding to pages 6 to 10 are examples of "a part of the third data" and "the rest of the third data", respectively. The error resolution email is an example of "notification information".
[0117] Figure 4 of T210 is an example of "storing data in a memory". In Figure 6 the case of Figure 3 of T90 and Figure 6 of T350, T354, T366, T367, T370, T372, T382 are examples of "receiving error information", "sending error reception information", "sending destination information", "sending a change signal", "identifying from a memory", "sending first relationship information", "sending first instruction information to a communication device", and "sending second data to a communication device", respectively. In Figure 7 the case of Figure 7 of T402, T450, T454, T466, T467, T470, T472, and T482 are examples of "receiving error information", "sending error reception information", "sending destination information", "sending a change signal", "identifying first data from a memory", "sending first relationship information", "sending first instruction information to a communication device", and "sending second data to a communication device", respectively.
[0118] (Second Embodiment)
[0119] In the first embodiment, email printing is performed. Instead of this, application printing is performed in the second embodiment. In application printing, the APP server 100 receives an HTTP command including image data instead of an email including image data. Therefore, the APP server 100 and the XMPP server 10 cooperate and cause the MFP 200 to perform printing of an image corresponding to the image data included in the HTTP command.
[0120] (Configuration of the APP server 100: Figure 2 )
[0121] The APP server 100 of this embodiment is the same as 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 the UID, management ID, terminal ID as identification information of the terminal device, and event information in association with each other.
[0122] (Setting process: Figure 3 )
[0123] The setting process of this embodiment will be described with reference to Figure 3 The registration process in this embodiment is the same as the setting process of the first embodiment except that the contents of T10, T20, T36, and T50 are different, and the processes of T12 and T80 to T84 and Figure 4 the process of are not executed.
[0124] In T10, the APP server 100 receives a registration request including the UID "u01" and the terminal ID "t01" from the terminal device 300. Therefore, in T20, the APP server 100 stores the UID "u01", management ID "a01", and terminal ID "t01" in the device table 142 in association with each other. In addition, in T36, the APP server 100 sends the PIN code C received from the XMPP server 10 to the terminal device 300. Therefore, the terminal device 300 displays the PIN code C.
[0125] In T50, the MFP 200 accepts the PIN code C input by the user. Then, the MFP 200 sends a setup request including the input PIN code C to the XMPP server 10.
[0126] (Process for performing application printing: Figure 8 )
[0127] will be described with reference to Figure 8Describe the process for performing application printing. In T500, the terminal device 300 activates a printing application for performing image printing in response to an operation performed by the user. The terminal device 300 displays a selection screen for selecting an image to be printed and printing settings according to the printing application.
[0128] In T502, the terminal device 300 accepts the selection of an image and printing settings in the selection screen. In T600, the terminal device 300 sends an HTTP command including image data corresponding to the selected image, the selected printing settings, and the terminal ID "t01" to the APP server 100.
[0129] When receiving the HTTP command in T600, 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. T602 to T634 are the same as Figure 4 T202 to T234 of
[0130] (Effects of the embodiment)
[0131] As Figure 8 shown, also in this embodiment, in T618, the XMPP server 10 determines whether the device status information indicates "idle". Then, in the case where it is determined that the device status information indicates "busy" (No in S618), the XMPP server 10 performs the same processing as that of the first embodiment. Figure 6 In addition, also in this embodiment, when a timeout occurs after the APP server 100 has sent the print data PD1, the same processing as that of the first embodiment is performed. Figure 7 That is, in this embodiment, in the same manner as the first embodiment, when the error in the MFP 200 is resolved, the APP server 100 can appropriately send the print data PD1 to the MFP 200.
[0132] For example, in the Figure 6 processing of this embodiment, when receiving the transmission completion information from the XMPP server 10 (T376), the APP server 100 sends an error resolution message to the terminal device 300 (T383). The error resolution message indicates that the error caused by the status of the MFP 200 being "busy" has been resolved. Therefore, the terminal device 300 displays the error resolution message according to the printing application. By viewing the screen on the terminal device 300, the user can confirm that the error caused by the status of the MFP 200 being "busy" has been resolved.
[0133] (Correspondence)
[0134] The error resolution message is an example of "notification information". Figure 8T610 is an example of "storing data in a memory".
[0135] (Variant 1) The "communication device" is not limited to the MFP 200, and for example, it can be a printer, a scanner, a fax device, a PC, a server, etc.
[0136] (Variant 2) The "memory" is not limited to the memory 134 of the APP server 100, and for example, it can be a memory provided separately from the APP server 100.
[0137] (Variant 3) In each of the above embodiments, the XMPP server 10 receives the management ID "a01" and the callback URL ( Figure 6 of T354) from the APP server 100. Instead of this, the XMPP server 10 can receive the management ID "a01" and a part of the callback URL (for example, "eventprintidle") from the APP server 100. In this variant, the management ID "a01" and a part of the callback URL are examples of "destination information", and the "first URL" can be omitted. In addition, the XMPP server 10 can receive only the callback URL from the APP server 100. In this variant, the callback URL is an example of "destination information", and the "specific information" can be omitted.
[0138] (Variant 4) In each of the above embodiments, the APP server 100 sends the print URL indicating the storage location of the print data PD1 to the XMPP server 10 ( Figure 6 of T370). Instead of this, the APP server 100 can send the data URL indicating the storage location of the image data included in the email EM to the XMPP server 10. In addition, in the case of receiving the data URL from the MFP 200, the APP server 100 can convert the image data stored at the location indicated by the data URL and generate the print data. In this variant, the data URL is an example of "first relationship information".
[0139] (Variant 5) In Figure 7 the case of Figure 4 the print URL sent in T212 can be different from Figure 7 the print URL sent in T470. In this variant, the "second relationship information" can be different from the "first relationship information". In addition, the print URL and the callback URL described in the present disclosure include "http: / / ", however, at least one of them can include "https: / / ".
[0140] (Variant 6) In each of the above embodiments, the XMPP server 10 sends the print URL to the MFP200 using the XMPP session ( Figure 6of T372, Figure 4 of T222). Instead of this, the XMPP server 10 may send information in which the print URL is encrypted to the MFP 200. In this variant, the information in which the print URL is encrypted is an example of "first instruction information (and second instruction information)".
[0141] (Variant 7) In each of the above embodiments, the APP server 100 converts the image data to generate print data and sends the print data to the MFP 200( Figure 6 of T382). Instead of this, the APP server 100 may send the image data itself to the MFP 200. In this variant, "second data" may be the same as "first data".
[0142] (Variant 8) The processing of Figure 6 and the processing of Figure 7 may not be performed. In addition, the processing of Figure 5 may not be performed either.
[0143] (Variant 9) In each of the above embodiments, the APP server 100 sends the remaining page data of the print data PD1 to the MFP 200( Figure 7 of T482). Instead of this, the APP server 100 may send the entire print data PD1 to the MFP 200. In this variant, "a part of the third data" and "the rest of the third data" may be omitted.
[0144] (Variant 10) The T383 of Figure 6 and the T483 of Figure 7 may not be performed. In this variant, "notification information" may be omitted.
[0145] (Variant 11) "First relationship information" is not limited to the print URL and may be, for example, data identification information for identifying print data (or image data) stored in the APP server 100. In this variant, "second URL" may be omitted.
[0146] (Variant 12) "First data" is not limited to image data and may be, for example, the setting value of the MFP 200.
[0147] (Variant 13) "Second data" is not limited to print data and may be, for example, fax information including image data. In this case, when receiving the fax information from the APP server 100, the MFP 200 may convert the image data included in the fax information and generate fax data, and may send the fax data to a predetermined destination via the PSTN I / F 220.
[0148] (Variant 14) In the above embodiments,Figures 3 to 8 Each of the processes is implemented by software (e.g., programs 40, 140, 240). Alternatively, one or more of the processes may be implemented by hardware such as logic circuits.
Claims
1. A communication system, characterized in that, it includes: a first server; and a second server, where the second server includes: a second processor; and a second storage device, which stores second computer-readable instructions therein, wherein, when the second computer-readable instructions are executed by the second processor, the second server is caused to: store the data in a memory when the data is received from a terminal device, the first server includes: a first processor; and a first storage device, which stores first computer-readable instructions therein, wherein, when the first computer-readable instructions are executed by the first processor, the first server is caused to: receive error information from a communication device different from the terminal device at a predetermined time, the error information indicating that the state of the communication device is an error state in which the communication device cannot process data; and send error reception information to the second server when the error information is received from the communication device, the error reception information indicating that the error information has been received from the communication device, wherein, when the second computer-readable instructions are executed by the second processor, the second server is further caused to: send destination information to the first server when the error reception information is received from the first server, the destination information indicating the destination in the second server to which the first server sends a change signal in response to the state of the communication device changing from the error state to a non-error state in which the communication device can process data, wherein, when the first computer-readable instructions are executed by the first processor, the first server is further caused to: send the change signal to the second server by using a session for performing server push communication when the state change information indicating that the state of the communication device has changed from the error state to the non-error state is received from the communication device after the destination information has been received from the second server, wherein, when the second computer-readable instructions are executed by the second processor, the second server is further caused to: identify first data to be sent to the communication device from the memory when the change signal is received from the first server; and send first relationship information related to the identified first data to the first server; wherein, when the first computer-readable instructions are executed by the first processor, the first server is further caused to: send first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication when the first relationship information is received from the second server, the first instruction information being used to instruct the communication device to send the first relationship information corresponding to the first instruction information to the second server; and Wherein, when the second computer-readable instructions are executed by the second processor, the second server is further caused to: In the case of receiving the first relationship information from the communication device, send second data obtained by using the first data related to the first relationship information to the communication device.
2. The communication system according to claim 1, characterized in that wherein the predetermined moment is the moment before the second server sends the data in the memory to the communication device.
3. The communication system according to claim 1, characterized in that wherein the predetermined moment is the moment after the second server has sent the data in the memory to the communication device.
4. The communication system according to claim 3, characterized in that wherein when the second computer-readable instructions are executed by the second processor, the second server is further caused to: In the case of receiving the first data from the terminal device, send second relationship information related to the first data to the first server, wherein, when the first computer-readable instructions are executed by the first processor, the first server is further caused to: In the case of receiving the second relationship information from the second server, send second instruction information corresponding to the second relationship information to the communication device by using the session, and the second instruction information is used to instruct the communication device to send the second relationship information corresponding to the second instruction information to the second server, wherein, when the second computer-readable instructions are executed by the second processor, the second server is further caused to: In the case of receiving the second relationship information from the communication device, send third data obtained by using the first data related to the second relationship information to the communication device, and wherein the error information indicates that the state of the communication device is the error state caused by the communication device being unable to receive the third data.
5. The communication system according to claim 4, characterized in that wherein In the case that the communication device receives a part of the third data and the communication device does not receive the remaining part of the third data, the first server receives the error information from the communication device, and the second data is the remaining part of the third data.
6. The communication system according to claim 1, characterized in that wherein when the second computer-readable instructions are executed by the second processor, the second server is further caused to: In the case that the first server receives the first relationship information, send notification information to the terminal device, and the notification information is used to notify that the state of the communication device has changed from the error state to the non-error state.
7. The communication system according to claim 1, characterized in that wherein the destination information includes specific information for identifying the first data, the change signal includes the specific information, and Identify the first data from the memory by using the specific information in the change signal.
8. The communication system according to claim 1, characterized in that wherein the destination information includes a first Uniform Resource Locator (URL), the change signal includes the first URL, and when the second server receives the change signal including the first URL from the first server, the second server sends the first relationship information to the first server according to the first URL.
9. The communication system according to claim 1, characterized in that wherein the data received from the terminal device is included in an email, the email includes a specific email address as the destination address, and the specific email address includes the domain name of the second server.
10. The communication system according to claim 1, characterized in that wherein the data received from the terminal device is included in a command according to the Hypertext Transfer Protocol, and the sender of the Hypertext Transfer Protocol is the terminal device.
11. The communication system according to claim 1, characterized in that wherein the first relationship information includes a second URL, and the second URL indicates the location of the data in the second server.
12. The communication system according to claim 1, characterized in that wherein the communication device is a device configured to perform a printing function, and the second data is data for causing the communication device to print an image corresponding to the second data.
13. The communication system according to claim 1, characterized in that wherein the session is a session according to the Extensible Messaging and Presence Protocol.
14. A first server, characterized in that comprising: a first processor; and a first storage device that stores first computer-readable instructions therein, wherein, when the first computer-readable instructions are executed by the first processor, the first server is caused to: receive error information from a communication device at a predetermined time, the error information indicating that the state of the communication device is an error state in which the communication device is unable to process data; in the case of receiving the error information from the communication device, send error reception information to a second server, wherein the error reception information indicates that the error information has been received from the communication device, and the second server sends destination information to the first server, the destination information indicating the destination in the second server to which the first server sends a change signal in response to the state of the communication device changing from the error state to a non-error state in which the communication device is able to process data; in the case of receiving status change information from the communication device after having received the destination information from the second server, send the change signal to the second server by using the destination information, wherein the status change information indicates that the state of the communication device has changed from the error state to the non-error state, In the case of receiving the change signal from the first server, the second server identifies first data to be sent to the communication device from a memory, and the second server sends first relationship information related to the identified first data to the first server; and in the case of receiving the first relationship information from the second server, first instruction information corresponding to the first relationship information is sent to the communication device by using a session for performing server push communication, where the first instruction information is information for instructing the communication device to send the first relationship information corresponding to the first instruction information to the second server, and in the case of receiving the first relationship information from the communication device, the second server sends second data obtained by using the first data related to the first relationship information to the communication device.
15. A second server characterized in that it includes a second processor; and a second storage device which stores second computer-readable instructions therein, wherein, when the second computer-readable instructions are executed by the second processor, the second server is caused to store the data in a memory in the case of receiving the data from a terminal device; send destination information to the first server in the case of receiving error reception information from the first server, where the destination information indicates a destination in the second server to which the first server sends a change signal in response to a state of a communication device different from the terminal device changing from an error state to a non-error state, the first server receives error information indicating that the state of the communication device is the error state from the communication device at a predetermined time; the first server sends the error reception information indicating that the error information has been received from the communication device to the second server in the case of receiving the error information from the communication device, the error state is a state in which the communication device is unable to process data, and the non-error state is a state in which the communication device is able to process data; receive the change signal from the first server in the case of the first server receiving state change information from the communication device after the destination information has been sent to the first server, the state change information indicating that the state of the communication device has changed from the error state to the non-error state; identify first data to be sent to the communication device from the memory in the case of receiving the change signal from the first server; send first relationship information related to the identified first data to the first server, where in the case of receiving the first relationship information from the second server, the first server sends first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication; and The first instruction information is information for instructing the communication device to send the first relationship information corresponding to the first instruction information to the second server; and In the case of receiving the first relationship information from the communication device, send second data obtained by using the first data related to the first relationship information to the communication device.
16. A computer-readable recording medium storing computer-readable instructions for a first server characterized in that When the computer-readable instructions are executed by a processor of the first server, cause the first server to Receive error information from a communication device at a predetermined time, the error information indicating that the state of the communication device is an error state in which the communication device cannot process data; In the case of receiving the error information from the communication device, send error reception information to a second server, where The error reception information indicates that the error information has been received from the communication device, and The second server sends destination information to the first server, the destination information indicating a destination in the second server to which the first server sends a change signal in response to the state of the communication device changing from the error state to a non-error state in which the communication device can process data; In the case of receiving state change information from the communication device after receiving the destination information from the second server, send the change signal to the second server by using the destination information, where The state change information indicates that the state of the communication device has changed from the error state to the non-error state, In the case of receiving the change signal from the first server, the second server identifies first data to be sent to the communication device from a memory, and The second server sends first relationship information related to the identified first data to the first server; And In the case of receiving the first relationship information from the second server, send first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication, where The first instruction information is information for instructing the communication device to send the first relationship information corresponding to the first instruction information to the second server; and In the case of receiving the first relationship information from the communication device, the second server sends second data obtained by using the first data related to the first relationship information to the communication device.
17. A computer-readable recording medium storing computer-readable instructions for a second server characterized in that When the computer-readable instructions are executed by a processor of the second server, cause the second server to In the case of receiving data from a terminal device, store the data in a memory; In the case of receiving an error reception message from a first server, send destination information to the first server, where the destination information indicates a destination in a second server to which the first server sends a change signal in response to a state of a communication device different from the terminal device changing from an error state to a non-error state; the first server receives an error message from the communication device at a predetermined time, the error message indicating that the state of the communication device is the error state; the first server sends the error reception message to the second server, the error reception message indicating that the error message has been received from the communication device in the case of receiving the error message from the communication device; the error state is a state in which the communication device is unable to process data, and the non-error state is a state in which the communication device is able to process data; In the case of the first server receiving state change information from the communication device after the destination information has been sent to the first server, receive the change signal from the first server, the state change information indicating that the state of the communication device has changed from the error state to the non-error state; In the case of receiving the change signal from the first server, identify first data to be sent to the communication device from the memory; Send first relationship information related to the identified first data to the first server, where In the case of the first server receiving the first relationship information from the second server, the first server sends first instruction information corresponding to the first relationship information to the communication device by using a session for performing server push communication; and the first instruction information is information for instructing the communication device to send the first relationship information corresponding to the first instruction information to the second server; and In the case of receiving the first relationship information from the communication device, send second data obtained by using the first data related to the first relationship information to the communication device.
Citation Information
Patent Citations
Conveyance system and conveyance control method
JP2020098851A
Intensified video programming system and method using tocal host computer to conduct network communication
CN1300012A
Information processing apparatus, relay server, information relay method, information relay program, and communication system
EP2778912A1