This application claims priority from Japanese Patent Application No. 2021-030720 filed on Feb. 26, 2021, the content of which is incorporated herein by reference in its entirety.
Aspects of the disclosure relate to a server that performs server-push communication related to provision of a service.
A multifunction peripheral, a device information collecting server, and a service providing server capable of providing a plurality of services are disclosed. The multifunction peripheral and the device information collecting server establish an XMPP (standing for Extensible Messaging and Presence Protocol) connection. The device information collecting server collects information for providing a service from the multifunction peripheral and transmits a notification to the multifunction peripheral by using an XMPP connection.
According to an aspect of the disclosure, a server includes memory, a connection establisher, a first transmission request receiver, a first determiner, a first screen data transmitter, a second screen data transmitter, and a first disconnector. The connection establisher establishes continuous connection with a communication device in response to a first instruction being received from an external device. The first instruction indicates a start to provide a first type of service related to a communication device. The continuous connection is used to perform server-push communication related to the provision of the first type of service with the communication device. The connection establisher does not establish a new continuous connection with the communication device in response to a second instruction being received from the external device in the continuous connection established with the communication device. The second instruction indicates a start to provide a second type of service related to the communication device. The continuous connection is used to perform server-push communication related to the provision of the second type of service with the communication device. The first transmission request receiver receives a first transmission request from the external device. The first transmission request is a signal requesting to transmit screen data for displaying a setting screen corresponding to the first type of service. In response to the first transmission request being received from the external device, the first determiner determine whether the second type of service related to the communication device is currently provided, using a list stored in the memory. The list includes first status information indicating a status of providing the first type of service related to the communication device, and second status information indicating a status of providing the second type of service related to the communication device. The first screen data transmitter transmits first screen data for displaying a first setting screen to the external device in response to the first determiner determining that the second type of service is not currently provided. The first setting screen includes a disconnection button to disconnect the continuous connection. The second screen data transmitter transmits second screen data for displaying a second setting screen to the external device in response to the first determiner determining that the second type of service is currently provided. The second setting screen does not include the disconnection button. The first disconnector disconnects the continuous connection in response to selection of the disconnection button included in the first setting screen displayed on the external device.
According to another aspect of the disclosure, a non-transitory computer readable storage mediums stores a computer program for a server including memory and a computer. The computer program includes instructions that, when executed, cause the computer to function as a connection establisher, a first transmission request receiver, a first determiner, a first screen data transmitter, a second screen data transmitter, and a first disconnector.
The disclosure relates to a server in which only a single, continuous connection is established for performing communication related to provision of a plurality of services with a communication device, and provides a technique for preventing server-push communication from becoming impracticable due to disconnection of the continuous connection against a user's intention in the server.
Configuration of Communication System 2:
As illustrated in
Configuration of Printer 10
The printer 10 is a peripheral device (of, for example, the terminal 50) having a print function. The printer 10 may be a multifunction peripheral capable of executing a scan function, and a FAX function in addition to the print function. The printer 10 includes a communication interface (hereinafter referred to as an “I/F”) 12, a display 14, a printer engine 16, and a controller 30.
The communication I/F 12 is connected to the LAN 8. The communication I/F 12 may be a wireless I/F or a wired I/F. The display 14 is a so-called touchscreen and functions as an operation unit. The printer engine 16 is a print mechanism of an inkjet system, a laser system, or the like.
The controller 30 includes a CPU 32 and memory 34. The CPU 32 performs various processing in accordance with a program 36 stored in the memory 34. The memory 34 includes a volatile memory and a nonvolatile memory. The memory 34 stores a device ID “d01” that is an ID for identifying the printer 10.
Configuration of APP Server 60
The APP server 60 is installed on the Internet 6 by a vendor of the printer 10. The APP server 60 is a server for providing an email printing service. Email printing is a function that causes the printer 10 to print an image represented by image data included in an email. The email printing service is a service whose provision can be started or stopped by the APP server 60. In other words, the email printing service is a service provided by using the APP server 60.
The APP server 60 includes a communication interface 62 and a controller 70. The devices 62 and 70 are connected to a bus line (reference numeral is omitted). The communication I/F 62 is connected to the Internet 6. The controller 70 includes a CPU 72 and memory 74. The CPU 72 performs various processing in accordance with a program 76 stored in the memory 74. The memory 74 includes a volatile memory and a nonvolatile memory. The memory 74 stores a model table 78 in addition to the program 76.
The model table 78 is a table in which information related to the email printing service is registered. The model table 78 stores a record containing account information, an email address, a service account, a device ID, and status information of the email printing service in association with one another.
The account information is account information of a user who uses the email printing service, and includes, for example, a user ID and a password. The email address is an email address assigned to a printer for performing the email printing service. The email address is generated by the APP server 60. The service account is identification information for managing the printer. The service account is generated by the XMPP server 80. The device ID is information for identifying the printer. The status information of the email printing service is information indicating whether the email printing service is provided to the user of the printer, and indicates either Enable indicating that the service is provided or Disable indicating that the service is not provided.
Configuration of XMPP Server 80
The XMPP server 80 is installed on the Internet 6 by the vendor of the printer 10. The XMPP server 80 is a server for performing server-push communication related to the provision of various services with the printer 10.
The XMPP server 80 includes a communication I/F 82 and a controller 90. The devices 80 and 90 are connected to a bus line (reference numeral is omitted). The communication I/F 82 is connected to the Internet 6. The controller 90 includes a CPU 92 and memory 94. The CPU 92 performs various processing in accordance with a program 96 stored in the memory 94. The memory 94 includes a volatile memory and a nonvolatile memory. The memory 94 stores a service table 98 in addition to the program 96.
The service table 98 is a table in which information relating to a printer is registered. The service table 98 stores a record containing a service account, a device ID, an access token, status information of an email printing service, and status information of a consumable service in association with one another. The access token is authentication information for establishing an XMPP session with the printer. The status information of the consumable service is information indicating whether an automatic consumable shipping service is provided to the user of the printer, and indicates either Enable indicating that the service is provided or Disable indicating that the service is not provided.
Configuration of SP Server 100
The SP server 100 is a server for providing the automatic consumable shipping service (hereinafter referred to as a “consumable service”). The consumable service is provided by the SP server 100, is a service whose provision cannot be started or stopped by the APP server 60. In other words, the consumable service is a service provided without using the APP server 60. The SP server 100 is installed by a company different from the vendor of the printer 10. In a modification, the SP server 100 may be installed by the vendor of the printer 10.
The SP server 100 stores an account table 108. The account table 108 is a table in which information related to the consumable service of a printer is registered. The account table 108 stores a record containing account information, a service account, and a device ID in association with each other. The account information is information related to a user who uses the consumable service, and includes, for example, a user ID, a password, a name, an address, and credit card information.
Email Printing Service Processing:
With reference to
In the initial state of
Upon receiving an input of the IP address of the printer 10 from the user at T10, the terminal 50 transmits an access request to the printer 10 at T12. As a result, the terminal 50 receives top screen data from the printer 10 at T14, and displays the top screen at T16. The top screen is a screen for changing various settings of the printer 10. The top screen includes setting items indicating the email printing service.
At T18, the user selects the email printing service and inputs account information AC1 to the terminal 50. In this case, the terminal 50 transmits an authentication Uniform Resource Locator (URL) request including the account information AC1 to the printer 10 in T20. The authentication URL request is thus transmitted from the printer 10 to the APP server 60. Here, the authentication URL request is a command for requesting the APP server 60 to transmit an authentication URL indicating the position of authentication screen data.
Upon receiving the authentication URL request from the printer 10 at T20, the APP server 60 determines that the account information AC1 included in the authentication URL request has been registered (i.e., determines that authentication has succeeded). As a result, a login state based on the account information AC1 is established. Next, at T22, the APP server 60 transmits a redirect request including the authentication URL to the printer 10. As a result, the redirect request is transmitted from the printer 10 to the terminal 50.
Upon receiving the redirect request from the printer 10 at T22, the terminal 50 transmits an access request including the authentication URL included in the redirect request to the APP server 60 at T24.
Upon receiving the access request from the terminal 50 at T24, the APP server 60 identifies the email printing service “Disable” associated with the account information AC1 from the model table 78. Next, at T26, the APP server 60 transmits the setting screen data indicating the identified “Disable” to the terminal 50.
Upon receiving the setting screen data from the APP server 60 at T26, the terminal 50 displays the setting screen represented by the setting screen data at T30. The setting screen includes a character string “Status: Disable” indicating that the email printing service is not currently provided to the printer 10 and a button B1 indicating a character string “Enable”. The button B1 is a button for the user to start receiving email printing service. Upon receiving an operation of selecting the button B1 performed by the user at T32, the terminal 50 transmits a registration request to the APP server 60 at T34.
Upon receiving the registration request from the terminal 50 at T34, the APP server 60 generates an email address MA1 at T36 and stores the email address MA1 in the model table 78 in association with the account information AC1. Then, the APP server 60 transmits a PIN code and a service account request to the XMPP server 80 at T38.
Upon receiving the PIN code and the service account request from the APP server 60 at T38, the XMPP server 80 generates a PIN code and a service account “a01” at T40, and stores the service account “a01” in the service table 98. At this point, in the service table 98, the device ID and the access token are not stored in association with the service account “a01”, and the email printing service “Disable” and the consumable service “Disable” are stored. Then, the XMPP server 80 transmits the PIN code and the service account “a01” to the APP server 60 at T42.
Upon receiving the PIN code and the service account “a01” from the XMPP server 80 at T42, the APP server 60 transmits the PIN code to the terminal 50 at T44. Next, at T50, the APP server 60 stores the service account “a01” in the model table 78 in association with the account information AC1.
Upon receiving the PIN code from the APP server 60 at T44, the terminal 50 displays a screen including a character string indicating the PIN code at T46. This allows the user to know the PIN code.
After storing the service account “a01” at T50, the APP server 60 periodically transmits a device ID request including the service account “a01” to the XMPP server 80 at T52. At this time point, the XMPP server 80 does not store the device ID in association with the service account “a01”. Thus, the APP server 60 does not receive the device ID from the XMPP server 80.
After viewing the screen including the PIN code of the terminal 50, the user operates the printer 10 to input the PIN code to the printer 10. When the printer 10 receives the input of the PIN code from the user at T60, the printer 10 transmits the PIN code and the device ID “d01” identifying the printer 10 to the XMPP server 80 at T62.
The XMPP server 80 receives the PIN code and the device ID “d01” from the printer 10 at T62. As the received PIN code coincides with the PIN code generated at T40 in
Next, at T66, the XMPP server 80 generates an access token AT and stores the access token AT in the service table 98 in association with the service account “a01” and the device ID “d01”. The XMPP server 80 then transmits the access token AT to the printer 10 at T68.
Upon receiving the access token from the XMPP server 80 at T68, the printer 10 establishes an XMPP session with the XMPP server 80 using the access token AT at T70. The XMPP session is a continuous connection for the XMPP server 80 to perform server-push communication with the printer 10 over a firewall on the LAN 8 to which the printer 10 belongs.
When the establishment of the XMPP session at T70 ends, the XMPP server 80 stores the email printing service “Enable” in the service table 98 at T72 in association with the service account “a01”, the device ID “d01”, and the access token AT. Thereafter, when receiving the device ID request from the APP server 60 at T80, the XMPP server 80 determines that the device ID “d01” is stored in association with the service account “a01” included in the device ID request (refer to T64), and transmits the device ID “d01” to the APP server 60 at T82.
Upon receiving the device ID “d01” from the XMPP server 80 at T82, the APP server 60 stores the device ID “d01” and the email printing service “Enable” in association with the account information AC1, the email address MA1, and the service account “a01” at T84.
When the APP server 60 receives an email address request including the device ID “d01” from the printer 10 at T90, the APP server 60 transmits the email address MA1 (refer to T36 in
When the printer 10 receives the email address MA1 from the APP server 60 at T92, the printer 10 displays the email address MA1 on the display 14 at T94. This allows the user to know the email address MA1.
Next, processing for performing email printing will be described. At T100, the terminal 50 transmits an email including the email address MA1 as a destination address to the APP server 60 in accordance with an instruction from the user. Image data representing an image to be printed is attached to the email.
Upon receiving the email from the terminal 50 at T100, the APP server 60 identifies status information of the email printing service associated with the email address MA1 included in the email from the model table 78. The APP server 60 performs processing at and after T102 for the identified status information indicating “Enable”, and does not perform the processing at and after T102 for the identified status information indicating “Disable”. At T102, the APP server 60 converts the image included in the email to generate print data having a print format that can be interpreted by the printer 10. Next, the APP server 60 identifies the service account “a01” stored in association with the email address MA1 included in the email from the model table 78. Then, at T104, the APP server 60 transmits the identified service account “a01” and the print URL to the XMPP server 80. Here, the print URL indicates a location in the APP server 60 where the print data is stored.
Upon receiving the service account “a01” and the print URL from the APP server 60 at T104, the XMPP server 80 transmits the print URL to the printer 10 at T106 by using the XMPP session (refer to T70) corresponding to the service account “a01”.
Upon receiving the print URL from the XMPP server 80 at T106, the printer 10 transmits a data request including the print URL to the APP server 60 at T108.
Upon receiving the data request from the printer 10 at T108, the APP server 60 obtains the print data indicated by the print URL included in the data request. Then, the APP server 60 transmits the print data to the printer 10 at T110. As a result, the printer 10 prints the image represented by the print data at T112.
Consumable Service Processing:
With reference to
Upon receiving an input of the URL of the SP server 100 from the user at T120, the terminal 50 transmits a registration screen request to the SP server 100 at T122.
Upon receiving the registration screen request from the terminal 50 at T122, the SP server 100 transmits registration screen data to the terminal 50 at T124.
Upon receiving the registration screen data from the SP server 100 at T124, the terminal 50 displays the registration screen at T126. Here, the registration screen is a screen for registering account information for receiving the consumable service. The user inputs account information AC2 at T130. The account information AC2 includes, for example, a user ID, a password, a name, an address, and credit card information. Next, at T132, the terminal 50 transmits a registration request including the account information AC2 to the SP server 100.
Upon receiving the registration request from the terminal 50 at T132, the SP server 100 stores the account information AC2 included in the registration request in the account table 108 at T134. At this point, a service account and a device ID are not stored in association with the account information AC2 in the account table 108. Then, the SP server 100 transmits a service account request to the XMPP server 80 at T136.
Upon receiving the service account request from the SP server 100 at T136, the XMPP server 80 generates a service account “a02” at T138. Then, the XMPP server 80 transmits the service account “a02” to the SP server 100 at T140.
Upon receiving the service account “a02” from the XMPP server 80 at T140, the SP server 100 stores the service account “a02” in association with the account information AC2 in the account table 108 at T142. Then, the SP server 100 transmits PIN code input screen data to the terminal 50 at T144. Thus, the terminal 50 displays a PIN code input screen at T146. Here, the PIN code input screen is a screen for receiving input of a PIN code from the user.
After viewing the PIN code input screen of the terminal 50, the user performs a PIN code display operation on the printer 10 at T150. In this case, the printer 10 displays a confirmation screen at T151. The confirmation screen is a screen for allowing the user to confirm permission of the PIN code issuance request to the XMPP server 80. Upon receiving an operation of selecting a YES button on the confirmation screen at T152, the printer 10 transmits a PIN code request including the device ID “d01” to the XMPP server 80 at T154.
Upon receiving the PIN code request from the printer 10 at T154, the XMPP server 80 generates a PIN code and stores the device ID “d01” included in the PIN code request in association with the PIN code at T156. Then, the XMPP server 80 transmits the PIN code to the printer 10 at T158.
Upon receiving the PIN code from the XMPP server 80 at T158, the printer 10 displays a screen including a character string indicating the PIN code on the display 14 at T160. This allows the user to know the PIN code.
After viewing the PIN code displayed on the printer 10, the user inputs the PIN code to a PIN code input screen (refer to T146) of the terminal 50 at T170. In this case, the terminal 50 transmits the PIN code to the SP server 100 at T172.
Upon receiving the PIN code from the terminal 50 at T172, the SP server 100 identifies the service account “a02” (refer to T142) stored in association with the account information AC2, and transmits the PIN code and the service account “a02” to the XMPP server 80 at T174.
The XMPP server 80 receives the PIN code and the service account “a02” from the SP server 100 at T174. As the received PIN code coincides with the PIN code generated at T156, the XMPP server 80 determines that authentication is successful at T175. In this case, the XMPP server 80 tries to store the device ID “d01” and the service account “a02”, which have been stored in association with the PIN code at T156, in the service table 98. However, in the service table 98, the device ID “d01” is already stored in association with the service account “a01”. Therefore, at T176, the XMPP server 80 changes the service account associated with the device ID “d01” from “a01” to “a02”. That is, in the service table 98, the service account “a02”, the device ID “d01”, the access token AT, the email printing service “Enable”, and the consumable service “Disable” are stored in association with each other. Next, at T178, the XMPP server 80 changes the consumable service associated with the service account “a02” from “Disable” to “Enable”.
As illustrated in
Upon receiving the notification from the XMPP server 80 at T180, the APP server 60 stores the service account “a02” in association with the account information AC1 in the account table 78, instead of the service account “a01”. This allows sharing of the service account “a02” among the APP server 60, the XMPP server 80, and the SP server 100.
The SP server 100 transmits a device ID request including the service account “a02” to the XMPP server 80 at T190.
Upon receiving the device ID request from the SP server 100 at T190, the XMPP server 80 identifies the device ID “d01” associated with the service account “a02” included in the device ID request from the service table 98. The XMPP server 80 transmits the device ID “d01” to the SP server 100 at T192.
Upon receiving the device ID “d01” from the XMPP server 80 at T192, the SP server 100 stores the device ID “d01” in association with the account information AC2 and the service account “a02” in the account table 108 at T194. Then, the SP server 100 transmits a notification of completion of registration to the terminal 50 at T196.
Next, processing for performing the automatic consumable shipping service will be described. In response to an instruction from the SP server 100, the XMPP server 80 transmits Subscribe to the printer 10 using the XMPP session at T200. Subscribe is a command for instructing a transmission timing of consumable information.
After transmitting Subscribe, the XMPP server 80 receives consumable information including remaining amount information indicating a remaining amount of the consumable and the device ID “d01” from the printer 10 at T202. In this case, the XMPP server 80 identifies the service account “a02” associated with the device ID “d01” included in the consumable information from the service table 98. Then, the XMPP server 80 transmits the consumable information including the service account “a02” to the SP server 100 at T204.
Upon receiving the consumable information from the XMPP server 80 at T204, the SP server 100 determines that the remaining amount indicated by the remaining amount information in the consumable information is less than a predetermined threshold at T206, and identifies the account information AC2 associated with the service account “a02” in the consumable information from the account table 108. Next, the SP server 100 uses the identified account information AC2 to perform shipping processing for shipping a new consumable item to the user.
Display of Setting Screen Using Terminal 50:
With reference to
A sequence of processing steps similar to those at T10 to T22 in
Upon receiving the service status query from the APP server 60 at T220, the XMPP server 80 identifies status information of each service associated with the service account included in the service status query from the service table 98. Specifically, the XMPP server 80 identifies the email printing service “Enable”. When the process of
Upon receiving the status information of each service from the XMPP server 80 at T222, the APP server 60 determines whether the consumable service is provided at T224. When the received status information of the consumable service indicates “Disable”, the APP server 60 determines that the consumable service is not currently provided at T244 (NO in T224), and the process proceeds to T230. When the received status information of the consumable service indicates “Enable”, the APP server 60 determines that the consumable service is currently provided at T244 (YES in T224), and the process proceeds to T240.
The APP server 60 transmits setting screen data indicating a first setting screen to the terminal 50 at T230. The terminal 50 thus displays the first setting screen at T232. The first setting screen includes a character string “Status: Enable” indicating that the email printing service is currently provided, a button B2 indicating a character string “Disable”, and a button B3 indicating a character string “Reset”. Here, the button B2 is a button for requesting to stop the email printing service without disconnecting the XMPP session. The button B3 is a button for disconnecting the XMPP session.
The APP server 60 transmits setting screen data indicating a second setting screen to the terminal 50 at T240. The terminal 50 thus displays the second setting screen at T242. The second setting screen includes a character string “Status: Enable” indicating that the email printing service is currently provided, and a button B4 indicating a character string “Disable”. The button B4 is the same button as the button B2. The second setting screen does not include the button B3. As described above, when determining that the consumable service is currently provided (YES in T224), the APP server 60 can cause the terminal 50 to display the second setting screen that does not include the button B3 for disconnecting the XMPP session. For this reason, the APP server 60 can prevent server-push communication related to the consumable service (for example, transmission of Subscribe) from becoming impracticable due to disconnection of the XMPP session against the user's intention.
The APP server 60 can display, on the terminal 50, each setting screen including the button B2 or B4 for requesting to stop the email printing service without disconnecting the XMPP session, regardless of whether the consumable service is currently provided. The user thus can request the APP server 60 to stop the email printing service.
Specific Case:
With reference to
For Selection of Button B3:
Upon receiving an operation of selecting the button B3 on the first setting screen performed by the user at T250, the terminal 50 transmits a reset request to the APP server 60 at T252. In this embodiment, since the login to the APP server 60 has already been performed using the account information AC1 (refer to T20 in
As described above, the first setting screen being displayed on the terminal 50 means that the process of
Upon receiving the deleteservice signal at T254, the XMPP server 80 changes the status information of the email printing service stored in the service table 98 in association with the service account “a01” from “Enable” to “Disable” at T256. In response to the communication of the deleteservice signal, the status information of the email printing service to be stored in the XMPP server 80 can be appropriately changed to “Disable”.
At T260, the APP server 60 changes the status information of the email printing service stored in the model table 78 in association with the service account “a01” (that is, the account information AC1) from “Enable” to “Disable”. This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session.
A sequence of processing steps at T270 to T280 is similar to that at T220 to T224 in
The APP server 60 transmits a deletedevice signal including the service account “a01” to the XMPP server 80 at T282. This signal is a signal to request to disconnect the XMPP session with the printer 10 identified by the device ID “d01” associated with the service account “a01”.
Upon receiving the deletedevice signal from the APP server 60 at T282, the XMPP server 80 transmits an instruction to disconnect the XMPP session to the printer 10 using the XMPP session at T284. The printer 10 thus disconnects the XMPP session at T286. As a result, the XMPP session between the XMPP server 80 and the printer 10 is disconnected. This is because the provision of all the services related to the printer 10 is stopped, and thus the server-push communication with the printer 10 is unnecessary. The load of communication between the printer 10 and the XMPP server 80 is thus lightened, and the processing load of each of the printer 10 and the XMPP server 80 is lightened. The XMPP server 80 may delete information associated with the printer 10 (i.e., the device ID “d01”) from the service table 98 (refer to T72 in
The XMPP server 80 then transmits a notification of completion of disconnection to the APP server 60 at T288.
Upon receiving the notification of completion of disconnection from the XMPP server 80 at T288, the APP server 60 transmits the notification to the terminal 50. The terminal 50 thus displays a disconnection completion screen at T290. The disconnection completion screen includes a message indicating that the XMPP session with the XMPP server 80 has been disconnected.
After the processing at T288, the terminal 50 receives setting screen data from the APP server 60 similarly to T26 in
In response to determining that the consumable service is currently provided at T280 (YES at T280), the APP server 60 transmits a stop completion notification to the terminal 50 at T300 without disconnecting the XMPP session. The terminal 50 thus displays a stop completion screen at T302. The stop completion screen includes a message indicating that the email printing service has been stopped.
After the processing at T302, the terminal 50 receives setting screen data from the APP server 60 similarly to T26 in
For Selection of Button B2 or B4:
As illustrated in
Upon receiving the stop request from the terminal 50 at T312, the APP server 60 changes the status information of the email printing service stored in the model table 78 in association with the account information AC1 from “Enable” to “Disable” at T314. This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session. The user can be continuously provided with a service other than the email printing service.
The APP server 60 then transmits a stop completion notification to the terminal 50 at T316. The terminal 50 thus displays a stop completion screen at T320. The stop completion screen includes a message indicating that the provision of the email printing service is stopped.
Here, in the processing of
After the processing at T320, the terminal 50 receives setting screen data from the APP server 60 similarly to T26 in
Display of Setting Screen Using Terminal 10:
With reference to
Upon receiving an operation of displaying a menu screen performed by the user at T330, the printer 10 displays a menu screen at T332. The menu screen includes a print button for causing the printer 10 to perform printing, a scan button for causing the printer 10 to perform scanning, and an Email printing service button B5 for displaying a screen related to an email print service. Upon receiving an operation of selecting the Email printing service button B5 performed by the user at T334, the printer 10 transmits a setting screen data request to the APP server 60 at T336.
The APP server 60 receives the setting screen data request from the printer 10 at T336. The APP server 60 then transmits setting screen data to the printer 10 at T338, regardless of whether the consumable service is currently provided.
Upon receiving the setting screen data from the APP server 60 at T338, the printer 10 displays a third setting screen at T339. The third setting screen includes a button B6 indicating a character string “reset”, an Enable/Disable button, and a Service description button. The button B6 is a button for disconnecting the XMPP session. The Enable/Disable button is a button for requesting a change of the status of providing the email printing service. The Enable/Disable button is a button for requesting a change to the disabled state when the email printing service is currently in the enabled state, and requesting a change to the enabled state when the email printing service is currently in the disabled state. The Service description button is a button for requesting display of a screen describing the service content of the email printing service.
Here, as described with reference to
Upon receiving an operation of selecting the button B6 on the third setting screen performed by the user at T340, the printer 10 transmits a screen data request to the APP server 60 at T341.
Upon receiving the screen data request from the printer 10 at T341, the APP server 60 transmits confirmation screen data to the printer 10 at T342. The printer 10 thus displays a confirmation screen at T344. The confirmation screen is a screen for prompting the user to confirm whether to stop receiving the email printing service. Upon receiving an operation of selecting a button B7 (that is, the YES button) on the confirmation screen at T344, the printer 10 transmits a stop request including the device ID “d01” to the APP server 60 at T348.
Upon receiving the stop request from the printer 10 at T348, the APP server 60 identifies the service account “a01” or “a02” associated with the device ID “d01” included in the stop request from the model table 78. The APP server 60 transmits a service status query including the identified service account to the XMPP server 80 at T350. A sequence of processing steps at T352 and T354 is similar to that at T222 and T224 in
The APP server 60 transmits a deletedevice signal including the service account “a01” and a deleteservice signal including the service account “a01” to the XMPP server 80 at T360. The deletedevice signal is a signal requesting to change the status information of the email printing service from “Enable” to “Disable”. The deletedevice signal is a signal requesting to disconnect the XMPP session with the printer 10 identified by the device ID “d01” associated with the service account “a01”.
At T362, the APP server 60 changes the status information of the email printing service stored in the model table 78 in association with the service account “a01” (that is, the device ID “d01”) from “Enable” to “Disable”. This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session.
Upon receiving the deleteservice signal and the deletedevice signal from the APP server 60 at T360, the XMPP server 80 changes the status information of the email printing service stored in the service table 98 in association with the service account “a01” from “Enable” to “Disable” in accordance with the deleteservice signal at T364. The XMPP server 80 transmits an instruction to disconnect the XMPP session to the printer 10 by using the XMPP session in accordance with the deletedevice signal at T366. The XMPP session is thus disconnected at T368. The load of communication between the printer 10 and the XMPP server 80 is thus lightened, and the processing load of each of the printer 10 and the XMPP server 80 is lightened.
The APP server 60 then transmits disconnection completion screen data to the printer 10 at T370. The printer 10 thus displays a disconnection completion screen at T372. The disconnection completion screen includes a message indicating that the XMPP session with the XMPP server 80 has been disconnected.
Upon determining that the consumable service is currently provided at T354 (YES at t354), the APP server 60 changes the status information of the email printing service stored in the model table 78 in association with the service account “a02” (that is, the device ID “d01”) from “Enable” to “Disable” at T380. This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session. The user can be continuously provided with the consumable service.
The APP server 60 then transmits stop completion screen data to the printer 10 at T382. The printer 10 thus displays a stop completion screen at T384. The stop completion screen includes a message indicating that the email printing service has been stopped and the consumable service is continuously provided.
Here, the APP server 60 does not transmit the deleteservice signal to the XMPP server 80 when determining YES at T354. Therefore, in the service table 98 of the XMPP server 80, the email printing service “Enable” is maintained. This enables simplification of the processing related to the provision of the email printing service when the user desires to resume the provision of the email printing service.
In a modification, the APP server 60 may transmit the deleteservice signal to the XMPP server 80 after the processing at T380. In this case, the email printing service “Disable” is stored in the service table 98 of the XMPP server 80 instead of “Enable”. In this modification, the status information of the email printing service is shared between the APP server 60 and the XMPP server 80.
Correspondence Relationship
A combination of the APP server 60 and the XMPP server 80 is an example of a “server”. The APP server 60 is an example of a “first server”, and the XMPP server 80 is an example of a “second server”. The printer 10 is an example of a communication device, and the terminal 50 is an example of an external device. The email printing service is an example of a “first type of service”, and the automatic consumable shipping service is an example of a “second type of service”. The registration request at T34 in
The processing at T70 in
Although specific examples of the disclosure have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. Modifications of the above embodiment are enumerated below.
In a first modification, when the APP server 60 receives a setting screen data request from the printer 10 at T336 in
In a second modification, the APP server 60 may transmit, to the terminal 50, setting screen data indicating a setting screen that does not include the button B2 at T230 in
In a third modification, the printer 10 may not perform the operation of T336 in
In a fourth modification, when the APP server 60 receives a setting screen data request from the printer 10 at T336 in
In a fifth modification 5, the APP server 60 and the XMPP server 80 may be achieved with a single server. In this modification, the “first server” may not include the “stop request transmitter”, the “disconnection request transmitter”, and the “first stop processing executor”, and the “second server” may not include the “changer”. In another modification, the “server” may be constituted by three or more servers.
In a sixth modification, the APP server 60 may transmit the deleteservice signal to the XMPP server 80 when the button B2 or B4 is selected at T310 in
In a seventh modification, the “first type of service” is not limited to the email printing service, and may be another type of service. For example, the other type of service may be an information collection service that collects information of a printer and provides the information to a printer administrator. For example, the other type of service may be a remote printing service that receives image data from a terminal without using email and transmits print data to a printer. For example, the other type of service may be an automatic consumables shipping service. Further, generally speaking, the “first type of service” may be a service provided by using the “first server”. The “second type of service” is not limited to the automatic consumables shipping service, and may be another type of service. For example, the other type of service may be a charging service that charges the user an amount of money corresponding to the number of print media used in the printer 10. For example, the other types of services may be an email printing service, a remote printing service, an information collecting service, or another service. Further, generally speaking, the “second type of service” may be a service provided without using the “first server”.
In an eighth modification, at T18 in
In a ninth modification, the “communication device” may not be the printer 10, but may be another device such as a scanner, a multifunction peripheral, a mobile terminal, a PC, or a server.
In a tenth modification, at least one of the processes in
The technical elements described in this specification or the drawings each exhibit technical effects separately or in combination, and combinations of the elements are not limited to those described in the claims as filed. The techniques illustrated in the specification or the drawings may achieve a plurality of purposes at a time, and achieving one of the purposes may produce technical effects.
Number | Date | Country | Kind |
---|---|---|---|
JP2021-030720 | Feb 2021 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20130194628 | Kamimoto | Aug 2013 | A1 |
20170093865 | Watanabe et al. | Mar 2017 | A1 |
20190004749 | Nakajima | Jan 2019 | A1 |
20220141205 | Kurihara | May 2022 | A1 |
Number | Date | Country |
---|---|---|
2017-068722 | Apr 2017 | JP |
Number | Date | Country | |
---|---|---|---|
20220279080 A1 | Sep 2022 | US |