Server and computer program for the server
The server configuration ensures seamless server push-type communication for multiple services by maintaining a constant connection and managing service status changes without disconnection, addressing unclear XMPP connection practices in existing technologies.
Patent Information
- Application Number
- JP2021030720
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-26
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-02-26
AI Technical Summary
Existing technologies are unclear about whether multiple XMPP connections are established for providing multiple services, leading to potential communication disruptions.
A server configuration that establishes a constant connection for a first service and allows server push-type communication for a second service, with mechanisms to prevent unintended disconnection by displaying appropriate setting screens based on service provision status.
Prevents communication disruptions by ensuring that server push-type communication for the second service remains active without user intervention, while allowing service status changes without disconnecting the constant connection.
Smart Images

Figure 0007596857000001 
Figure 0007596857000002 
Figure 0007596857000003
Abstract
Description
[Technical field]
[0001] The technology disclosed in this specification relates to a server that executes server-push type communication regarding the provision of a service. [Background technology]
[0002] Patent Document 1 discloses a multifunction device, a device information collection server, and a service providing server capable of providing a plurality of services. The multifunction device and the device information collection server establish an XMPP (extensible Massaging and Presence Protocol) connection. The device information collection server collects information required for providing the service from the multifunction device, and transmits notifications and the like to the multifunction device using the XMPP connection. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2017-068722 A Summary of the Invention [Problem to be solved by the invention]
[0004] The above technology does not specify whether multiple XMPP connections for providing multiple services are established between the multifunction device and the device information collection server, or whether only one XMPP connection for providing multiple services is established.
[0005] This specification provides a technology that prevents a server push-type communication from becoming impossible to execute due to the constant connection being disconnected against the user's will in a server where only one constant connection is established to execute communication related to the provision of multiple services with a communication device.
[0006] The server disclosed in the present specification includes an establishment unit that establishes a constant connection with a communication device when a first instruction is obtained that instructs the start of provision of a first type of service related to the communication device, the constant connection being used to execute server-push type communication with the communication device regarding the provision of the first type of service, and when a second instruction is obtained that instructs the start of provision of a second type of service related to the communication device while the constant connection with the communication device is established, a new constant connection with the communication device is not established, and the constant connection is further used to execute server-push type communication with the communication device regarding the provision of the second type of service; a first transmission request receiving unit that receives a first transmission request from an external device, the first transmission request being a signal requesting the transmission of screen data for displaying a setting screen corresponding to the first type of service; and a first transmission request receiving unit that, when the first transmission request is received from the external device, transmits a list in a memory to the communication device. the first determination unit is configured to determine whether a second type of service related to the communication device is currently being provided, the list including first status information indicating a provision status of the first type of service related to the communication device and second status information indicating a provision status of the second type of service related to the communication device; a first screen data transmission unit is configured to transmit first screen data to the external device for displaying a first setting screen when it is determined that the second type of service is not currently being provided, the first setting screen including a disconnect button for disconnecting the constant connection; a second screen data transmission unit is configured to transmit second screen data to the external device for displaying a second setting screen when it is determined that the second type of service is currently being provided, the second setting screen not including the disconnect button; and a first disconnection unit is configured to disconnect the constant connection when the disconnection button included in the first setting screen is selected in the external device.
[0007] According to the above configuration, when the server determines that the second type of service is currently being provided to the user, the server can display the second setting screen that does not include a disconnection button on the external device. This makes it possible for the server to prevent the server push-type communication related to the second type of service from becoming impossible to execute due to the constant connection being disconnected against the user's will.
[0008] A control method for implementing the above-mentioned server, a computer program, and a computer-readable recording medium storing the computer program are also novel and useful. Also, a communication system including the above-mentioned server and other devices (e.g., a communication device, an external device, etc.) is novel and useful. [Brief description of the drawings]
[0009] [Figure 1] 1 shows the configuration of a communication system. [Diagram 2] FIG. 11 shows a sequence diagram of a process for receiving an email printing service. [Diagram 3] The sequence diagram continues from Figure 2. [Figure 4] FIG. 13 shows a sequence diagram of a process for receiving a consumable service. [Diagram 5] The sequence diagram continues from Figure 4. [Figure 6] FIG. 13 shows a sequence diagram of a process for transmitting setting screen data to a terminal. [Figure 7] A sequence diagram when button B3 is selected is shown. [Figure 8] A sequence diagram when button B2 or button B4 is selected is shown. [Figure 9] FIG. 11 shows a sequence diagram of a process for transmitting setting screen data to a printer. [Figure 10] The sequence diagram continues from FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] (Configuration of communication system 2; Figure 1) As shown in FIG. 1, the communication system 2 includes a printer 10, a terminal 50, an APP (abbreviation of Application) server 60, an XMPP (abbreviation of eXtensible Massaging and Presence Protocol) server, and a service providing server (hereinafter referred to as "SP server") 100. The printer 10 and the terminal 50 are connected to a LAN (abbreviation of Local Area Network) 8. The printer 10 and the terminal 50 can communicate with each other via the LAN 8. The LAN 8 may be either a wired LAN or a wireless LAN. The LAN 8 is connected to the Internet 6. The Internet 6 is connected to the APP server 60, the XMPP server 80, and the SP server 100. The devices 10, 50, 60, 80, and 100 can communicate with each other via the Internet 6.
[0011] (Printer 10 Configuration) The printer 10 is a peripheral device (such as a terminal 50) capable of executing a printing function. The printer 10 may be a multi-function device capable of executing a scanning function, a FAX function, etc. in addition to the printing function. The printer 10 includes a communication interface (hereinafter, the interface will be referred to as "I / F") 12, a display unit 14, a print execution unit 16, and a control unit 30.
[0012] 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 unit 14 is a so-called touch panel, and also functions as an operation unit. The print execution unit 16 is a printing mechanism such as an inkjet type or a laser type.
[0013] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes in accordance with a program 36 stored in the memory 34. The memory 34 is configured with a volatile memory, a non-volatile memory, etc. The memory 34 stores a device ID "d01" that is an ID for identifying the printer 10.
[0014] (APP Server 60 Configuration) The APP server 60 is installed on the Internet 6 by the 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 a printer to print an image represented by image data contained in an email. The email printing service is a service that the APP server 60 can start and stop providing. In other words, the email printing service is a service that is provided by utilizing the APP server 60.
[0015] The APP server 60 includes a communication I / F 62 and a control unit 70. The units 62, 70 are connected to a bus line (reference numerals omitted). The communication I / F 62 is connected to the Internet 6. The control unit 70 includes a CPU 72 and a memory 74. The CPU 72 executes various processes according to a program 76 stored in the memory 74. The memory 74 is composed of a volatile memory, a non-volatile memory, etc. In addition to the program 76, the memory 74 stores a model table 78.
[0016] The model table 78 is a table in which information related to the email print service is registered. The model table 78 stores account information, an email address, a service account, a device ID, and status information of the email print service in association with each other.
[0017] 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 the printer to realize 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 or not the email printing service is provided to the user of the printer, and indicates either Enable, which means that the service is provided, or Disable, which means that the service is not provided.
[0018] (XMPP Server 80 Configuration) 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 executing server-push type communication with the printer 10 regarding the provision of various services.
[0019] The XMPP server 80 includes a communication I / F 82 and a control unit 90. Each unit 80, 90 is connected to a bus line (reference numerals omitted). The communication I / F 82 is connected to the Internet 6. The control unit 90 includes a CPU 92 and a memory 94. The CPU 92 executes various processes in accordance with a program 96 stored in the memory 94. The memory 94 is composed of a volatile memory, a non-volatile memory, etc. In addition to the above program 96, the memory 94 stores a service table 98.
[0020] The service table 98 is a table in which information about the printer is registered. The service table 98 stores a service account, a device ID, an access token, status information of the email printing service, and status information of the consumables service in association with each other. The access token is authentication information for establishing an XMPP session with the printer. The status information of the consumables service is information indicating whether or not the consumables automatic shipping service is provided to the user of the printer, and indicates either Enable, which means that the service is provided, or Disable, which means that the service is not provided.
[0021] (SP Server 100 Configuration) The SP server 100 is a server for providing a consumables automatic delivery service (hereinafter referred to as the "consumables service"). The consumables service is provided by the SP server 100, and therefore cannot be started or stopped by the APP server 60. In other words, the consumables service is provided without using the APP server 60. The SP server 100 is installed by a business entity other than the vendor of the printer 10. In a modified example, the SP server 100 may be installed by the vendor of the printer 10.
[0022] The SP server 100 stores an account table 108. The account table 108 is a table in which information related to the printer consumables service is registered. The account table 108 stores 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 consumables service, and includes, for example, a user ID, a password, a name, an address, credit card information, and the like.
[0023] (Email printing service process; Figures 2 and 3) The process for receiving the mail printing service will be described with reference to Figures 2 and 3. In the following, the process executed by each CPU of each device (e.g., CPU 32 of printer 10, etc.) will be described as being mainly each device itself (e.g., printer 10, etc.) rather than each CPU as the main subject, in order to facilitate understanding. Furthermore, communication executed by each device is executed via the communication I / F of each device (e.g., communication I / F 12 of printer 10, etc.). Therefore, in the following, when describing the process related to communication via the communication I / F, the expression "via the communication I / F" will be omitted.
[0024] 2, the account information AC1 has already been registered in the APP server 60. Therefore, the account information AC1 is stored in the model table 78. In the model table 78, an email address, a service account, and a device ID have not yet been stored in association with the account information AC1, and Disable is stored as the status information of the email printing service.
[0025] When the terminal 50 accepts input of the IP address of the printer 10 from the user in T10, it transmits an access request to the printer 10 in T12. As a result, the terminal 50 receives top screen data from the printer 10 in T14, and displays the top screen in T16. The top screen is a screen for changing various settings of the printer 10. The top screen includes a setting item indicating an email printing service.
[0026] In T18, the user selects the email printing service and inputs account information AC1 into the terminal 50. In this case, in T20, the terminal 50 transmits an authentication URL (short for Uniform Resource Locator) request including the account information AC1 to the printer 10. As a result, the authentication URL request is transmitted from the printer 10 to the APP server 60. Here, the authentication URL request is a command that requests the APP server 60 to transmit an authentication URL indicating the location of authentication screen data.
[0027] When the APP server 60 receives the authentication URL request from the printer 10 in T20, it determines that the account information AC1 included in the authentication URL request has been registered (i.e., it determines that the authentication has been successful). As a result, a login state is established using the account information AC1. Next, in T22, the APP server 60 sends a redirect request including the authentication URL to the printer 10. As a result, the redirect request is sent from the printer 10 to the terminal 50.
[0028] When the terminal 50 receives the redirect request from the printer 10 in T22, the terminal 50 transmits an access request including the authentication URL in the redirect request to the APP server 60 in T24.
[0029] When the APP server 60 receives the access request from the terminal 50 in T24, it identifies the email print service "Disable" associated with the account information AC1 from the model table 78. Next, the APP server 60 transmits setting screen data representing a setting screen showing the identified "Disable" to the terminal 50 in T26.
[0030] When the terminal 50 receives the setting screen data from the APP server 60 in T26, the terminal 50 displays the setting screen represented by the setting screen data in T30. The setting screen includes a character string "Status: Disable" indicating that the email printing service is not currently being provided to the printer 10, and a button B1 indicating the character string "Enable". The button B1 is a button for allowing the user to start receiving the email printing service. When the terminal 50 accepts an operation to select the button B1 from the user in T32, the terminal 50 transmits a registration request to the APP server 60 in T34.
[0031] When the APP server 60 receives a registration request from the terminal 50 in T34, it generates an email address MA1 in T36 and stores the email address MA1 in association with the account information AC1 in the model table 78. Next, the APP server 60 transmits a PIN code and a service account request to the XMPP server 80 in T38.
[0032] When the XMPP server 80 receives a PIN code and a service account request from the APP server 60 in T38, it generates a PIN code and a service account "a01" in T40 and stores the service account "a01" in the service table 98. At this point, no device ID or access token is stored in association with the service account "a01" in the service table 98, and an email printing service "Disable" and a consumable service "Disable" are stored. Next, the XMPP server 80 transmits the PIN code and the service account "a01" to the APP server 60 in T42.
[0033] When the APP server 60 receives the PIN code and the service account "a01" from the XMPP server 80 in T42, it transmits the PIN code to the terminal 50 in T44. Next, the APP server 60 stores the service account "a01" in the model table 78 in association with the account information AC1 in T50.
[0034] When the terminal 50 receives the PIN code from the APP server 60 in T44, it displays a screen including a character string indicating the PIN code in T46, thereby allowing the user to know the PIN code.
[0035] After storing the service account "a01" at T50, the APP server 60 periodically transmits a device ID request including the service account "a01" at T52 to the XMPP server 80. At this point, the XMPP server 80 has not stored a device ID in association with the service account "a01", so the APP server 60 does not receive the device ID from the XMPP server 80.
[0036] After viewing the screen including the PIN code of the terminal 50, the user operates the printer 10 to input the PIN code into the printer 10. When the printer 10 accepts input of the PIN code from the user in T60, it transmits the PIN code and the device ID “d01” that identifies the printer 10 to the XMPP server 80 in T62.
[0037] When the XMPP server 80 receives the PIN code and device ID "d01" from the printer 10 in T62, the received PIN code matches the PIN code generated in T40 of Fig. 2, and so determines in T64 that authentication was successful. In this case, the XMPP server 80 stores the device ID "d01" in the service table 98 in association with the service account "a01" generated together with the PIN code in T40.
[0038] Next, in T66, the XMPP server 80 generates an access token AT, associates it with the service account “a01” and the device ID “d01”, and stores the access token AT in the service table 98. Then, in T68, the XMPP server 80 transmits the access token AT to the printer 10.
[0039] When the printer 10 receives the access token from the XMPP server 80 in T68, it establishes an XMPP session with the XMPP server 80 in T70 using the access token AT. The XMPP session is a constant connection that enables the XMPP server 80 to execute server-push type communication with the printer 10 across the firewall of the LAN 8 to which the printer 10 belongs.
[0040] When the establishment of the XMPP session in T70 is completed, in T72 the XMPP server 80 stores the email printing service "Enable" in the service table 98 in association with the service account "a01", the device ID "d01", and the access token AT. After that, when the XMPP server 80 receives a device ID request from the APP server 60 in T80, it determines that the device ID "d01" has been stored in association with the service account "a01" in the device ID request (see T64), and transmits the device ID "d01" to the APP server 60 in T82.
[0041] When the APP server 60 receives the device ID "d01" from the XMPP server 80 in T82, it 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" in T84.
[0042] When the APP server 60 receives an email address request including the device ID "d01" from the printer 10 in T90, the APP server 60 sends the email address MA1 (see T36 in Figure 2) stored in association with the device ID "d01" to the printer 10 in T92.
[0043] When the printer 10 receives the email address MA1 from the APP server 60 in T92, the printer 10 displays the email address MA1 on the display unit 14 in T94. This allows the user to know the email address MA1.
[0044] Next, the process for executing email printing will be described. At T100, the terminal 50, in accordance with an instruction from the user, sends an email containing the email address MA1 as a destination address to the APP server 60. Image data representing an image to be printed is attached to the email.
[0045] When the APP server 60 receives an email from the terminal 50 in T100, it first identifies, from the model table 78, status information of the email print service associated with the email address MA1 included in the email. If the identified status information indicates "Enable", the APP server 60 executes the process from T102 onwards, and if the identified status information indicates "Disable", it does not execute the process from T102 onwards. In T102, the APP server 60 converts the image data included in the email to generate print data having a data format that can be interpreted by the printer 10. Next, the APP server 60 identifies, from the model table 78, the service account "a01" stored in association with the email address MA1 included in the email. Then, in 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 the location in the APP server 60 where the print data is stored.
[0046] When the XMPP server 80 receives the service account "a01" and the print URL from the APP server 60 in T104, in T106, the XMPP server 80 transmits the print URL to the printer 10 by using the XMPP session (see T70) corresponding to the service account "a01."
[0047] When the printer 10 receives the print URL from the XMPP server 80 in T106, the printer 10 transmits a data request including the print URL to the APP server 60 in T108.
[0048] When the APP server 60 receives the data request from the printer 10 in T108, it obtains the print data indicated by the print URL in the data request. Then, the APP server 60 transmits the print data to the printer 10 in T110. As a result, the printer 10 prints the image represented by the print data in T112.
[0049] (Consumables Service Processing; Figures 4 and 5) The process for receiving the provision of the consumable service will be described with reference to Figures 4 and 5. The process of Figure 4 is started after the processes of Figures 2 and 3 have been executed. Therefore, in the initial state of Figure 4, an XMPP session is established between the printer 10 and the XMPP server 80 (see T70 in Figure 3). Also, in the service table 98 of the XMPP server 80, the device ID "d01", the access token AT, the mail printing service "Enable", and the consumable service "Disable" are stored in association with the service account "a01".
[0050] When the terminal 50 accepts input of the URL of the SP server 100 from the user in T120, it transmits a registration screen request to the SP server 100 in T122.
[0051] When the SP server 100 receives the registration screen request from the terminal 50 in T122, it transmits registration screen data to the terminal 50 in T124.
[0052] When the terminal 50 receives the registration screen data from the SP server 100 in T124, the terminal 50 displays the registration screen in T126. Here, the registration screen is a screen for registering account information for receiving the provision of consumable service. The user inputs account information AC2 in T130. The account information AC2 includes, for example, a user ID, a password, a name, an address, credit card information, and the like. Next, the terminal 50 transmits a registration request including the account information AC2 to the SP server 100 in T132.
[0053] When the SP server 100 receives a registration request from the terminal 50 at T132, it stores the account information AC2 included in the registration request in the account table 108 at T134. At this point, the service account and the device ID are not stored in association with the account information AC2 in the account table 108. Next, the SP server 100 transmits a service account request to the XMPP server 80 at T136.
[0054] Upon receiving the service account request from the SP server 100 in T136, the XMPP server 80 generates a service account "a02" in T138. Next, the XMPP server 80 transmits the service account "a02" to the SP server 100 in T140.
[0055] When the SP server 100 receives the service account "a02" from the XMPP server 80 in T140, it stores the service account "a02" in the account table 108 in association with the account information AC2 in T142. Next, the SP server 100 transmits PIN code entry screen data to the terminal 50 in T144. As a result, the terminal 50 displays a PIN code entry screen in T146. Here, the PIN code entry screen is a screen for accepting entry of a PIN code from the user.
[0056] After viewing the PIN code input screen of the terminal 50, the user executes a PIN code display operation on the printer 10 in T150. In this case, the printer 10 displays a confirmation screen in T151. The confirmation screen is a screen for confirming with the user whether or not to permit a PIN code issuance request to the XMPP server 80. When the printer 10 accepts selection of the YES button in the confirmation screen in T152, it transmits a PIN code request including the device ID "d01" to the XMPP server 80 in T154.
[0057] When the XMPP server 80 receives the PIN code request from the printer 10 in T154, the XMPP server 80 generates a PIN code in T156, associates the device ID “d01” in the PIN code request with the PIN code, and stores the associated PIN code. Next, the XMPP server 80 transmits the PIN code to the printer 10 in T158.
[0058] When the printer 10 receives the PIN code from the XMPP server 80 in T158, it causes the display unit 14 to display a screen including a character string indicating the PIN code in T160. This allows the user to know the PIN code.
[0059] After viewing the PIN code displayed on the printer 10, the user enters the PIN code in the PIN code entry screen (see T146) of the terminal 50 in T170. In this case, the terminal 50 transmits the PIN code to the SP server 100 in T172.
[0060] When the SP server 100 receives the PIN code from the terminal 50 in T172, it identifies the service account “a02” (see T142) that has already been stored in association with the account information AC2, and transmits the PIN code and the service account “a02” to the XMPP server 80 in T174.
[0061] When the XMPP server 80 receives the PIN code and the service account "a02" from the SP server 100 in T174, the PIN code already received matches the PIN code generated in T156, and therefore determines in T175 that the authentication has been successful. In this case, the XMPP server 80 attempts to store in the service table 98 the device ID "d01" and the service account "a02" that have been stored in association with the PIN code in T156. However, the device ID "d01" has already been stored in association with the service account "a01" in the service table 98. Therefore, in 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 mail print 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."
[0062] 5, at T180, the XMPP server 80 transmits a service account change notification to the APP server 60. The notification includes the pre-change service account "a01" and the post-change service account "a02".
[0063] When the APP server 60 receives the change notification from the XMPP server 80 at T180, it stores the service account "a02" in place of the service account "a01" associated with the account information AC1 in the model table 78. As a result, the service account "a02" is shared between the APP server 60, the XMPP server 80, and the SP server 100.
[0064] At T190, the SP server 100 sends a device ID request including the service account “a02” to the XMPP server 80.
[0065] When the XMPP server 80 receives the device ID request from the SP server 100 in T190, the XMPP server 80 identifies the device ID "d01" associated with the service account "a02" in the device ID request from the service table 98. Then, the XMPP server 80 transmits the device ID "d01" to the SP server 100 in T192.
[0066] When the SP server 100 receives the device ID "d01" from the XMPP server 80 in T192, in T194, the SP server 100 associates the device ID "d01" with the account information AC2 and the service account "a02" and stores the device ID "d01" in the account table 108. Next, in T196, the SP server 100 transmits a registration completion notification to the terminal 50.
[0067] Next, a process for providing the consumables automatic delivery service will be described. In response to an instruction (not shown) from the SP server 100, the XMPP server 80 uses an XMPP session to send a Subscribe to the printer 10 at T200. Subscribe is a command that instructs the timing of sending consumables information.
[0068] After sending the Subscribe, the XMPP server 80 receives consumable information including remaining amount information indicating the remaining amount of the consumable and the device ID "d01" from the printer 10 in T202. In this case, the XMPP server 80 identifies the service account "a02" associated with the device ID "d01" in the consumable information from the service table 98. Next, the XMPP server 80 transmits the consumable information including the service account "a02" to the SP server 100 in T204.
[0069] When the SP server 100 receives the consumable information from the XMPP server 80 in T204, it determines in T206 that the remaining amount indicated by the remaining amount information in the consumable information is less than a predetermined threshold, 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 execute a shipping process for shipping a new consumable to the user.
[0070] (Display of the setting screen using terminal 50; Fig. 6) The process of changing settings related to the email printing service using the terminal 50 will be described with reference to Fig. 6. The initial state in Fig. 6 is the state after at least the processes in Fig. 2 and Fig. 3 have been executed. That is, in the APP server 60 and the XMPP server 80, the email printing service "Enable" is stored in association with the device ID "d01" (see T72 and T84 in Fig. 3).
[0071] The same processes as those in T10 to T22 in FIG. 2 are executed. As a result, a login state based on the account information AC1 is established in the APP server 60. After that, when the APP server 60 receives an access request including an authentication URL from the terminal 50 in T210, the APP server 60 identifies a service account associated with the logged-in account information AC1 from the model table 78. If the process of FIG. 6 is executed before the processes of FIG. 4 and FIG. 5 are executed, the model table 78 of the APP server 60 stores the service account "a01" in association with the account information AC1 (see T84 in FIG. 3). Therefore, in this case, the APP server 60 identifies the service account "a01". On the other hand, if the process of FIG. 6 is executed after the processes of FIG. 4 and FIG. 5 are executed, the model table 78 of the APP server 60 stores the service account "a02" in association with the account information AC1 (see T180 in FIG. 5). Therefore, in this case, the APP server 60 identifies the service account "a02". At T220, the APP server 60 sends a service status inquiry including the identified service account “a01” or “a02” to the XMPP server 80.
[0072] When the XMPP server 80 receives a service status inquiry from the APP server 60 in T220, the XMPP server 80 identifies status information of each service associated with the service account in the service status inquiry from the service table 98. Specifically, the XMPP server 80 identifies the print service as "Enable". When the process of FIG. 6 is executed after the process of FIG. 4 and FIG. 5 is executed, the XMPP server 80 identifies the consumable service as "Enable". When the process of FIG. 6 is executed before the process of FIG. 4 and FIG. 5 is executed, the XMPP server 80 identifies the consumable service as "Disable". Next, the XMPP server 80 transmits the status information of each identified service to the APP server 60 in T222.
[0073] When the APP server 60 receives the status information of each service from the XMPP server 80 in T222, the APP server 60 determines in T224 whether or not the consumable service is currently being provided. If the status information of the received consumable service indicates "Disable", the APP server 60 determines in T244 that the consumable service is not currently being provided (NO in T224) and proceeds to T230. On the other hand, if the status information of the received consumable service indicates "Enable", the APP server 60 determines in T244 that the consumable service is currently being provided (YES in T224) and proceeds to T240.
[0074] In T230, the APP server 60 transmits setting screen data representing a first setting screen to the terminal 50. As a result, the terminal 50 displays the first setting screen in T232. The first setting screen includes a character string "Status: Enable" indicating that the email printing service is currently being provided, a button B2 indicating the character string "Disable", and a button B3 indicating the character string "Reset". Here, the button B2 is a button for requesting the stop of the email printing service without disconnecting the XMPP session. The button B3 is a button for disconnecting the XMPP session.
[0075] In T240, the APP server 60 transmits setting screen data representing the second setting screen to the terminal 50. As a result, the terminal 50 displays the second setting screen in T242. The second setting screen includes a character string "Status: Enable" indicating that the mail print service is currently being provided, and a button B4 indicating the character string "Disable". The button B4 is the same button as the button B2. The second setting screen does not include the button B3. In this way, when the APP server 60 determines that the consumable service is currently being provided (YES in T224), it 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 the server push type communication (e.g., sending of Subscribe) related to the consumable service from becoming impossible due to the XMPP session being disconnected against the user's intention.
[0076] Furthermore, the APP server 60 can display on the terminal 50 each setting screen including each button B2, B4 for requesting the stop of the email printing service without disconnecting the XMPP session, regardless of whether the consumable service is currently being provided or not. Therefore, the user can request the APP server 60 to stop the email printing service.
[0077] (Specific cases: Figures 7 and 8) Next, a specific case that is realized after the processing in Fig. 6 will be described with reference to Fig. 7 and Fig. 8. First, the processing when button B3 in the first setting screen displayed in T232 in Fig. 6 is selected will be described with reference to Fig. 7. Next, the processing when button B2 in the first setting screen displayed in T232 is selected, or when button B4 in the second setting screen displayed in T242 is selected will be described with reference to Fig. 8.
[0078] (When button B3 is selected; Figure 7) When the terminal 50 accepts the selection of the button B3 in the first setting screen from the user in T250, the terminal 50 transmits a reset request to the APP server 60 in T252. In this embodiment, since the user has already logged in to the APP server 60 using the account information AC1 (see T20 in FIG. 2), the reset request does not include the account information AC1. However, in a modified example, the reset request may include the account information AC1. In another modified example, the reset request may include the device ID "d01". In this case, the device ID "d01" is transmitted from the printer 10 to the APP server 60 in T20 in FIG. 2, and each signal transmitted from the APP server 60 to the terminal 50 thereafter includes the device ID "d01". Therefore, the terminal 50 can transmit a reset request including the device ID "d01".
[0079] As described above, the first setting screen being displayed on the terminal 50 means that the process of FIG. 6 has been executed before the processes of FIG. 4 and FIG. 5 have been executed. In this case, the model table 78 of the APP server 60 stores the service account "a01" in association with the account information AC1 (see T84 in FIG. 3). When the APP server 60 receives a reset request from the terminal 50 in T252, the APP server 60 identifies the service account "a01" associated with the logged-in account information AC1 from the model table 78. Next, the APP server 60 transmits a deleteservice signal including the service account "a01" to the XMPP server 80 in T254. The signal is a signal requesting that the status information of the mail printing service be changed from "Enable" to "Disable". In a modified example, the signal may include the device ID "d01" instead of the service account "a01". That is, the signal only needs to include information for identifying the target service.
[0080] When the XMPP server 80 receives the deleteservice signal at T254, it 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 this way, in response to communication of the deleteservice signal, it is possible to appropriately change the status information of the email printing service stored in the XMPP server 80 to "Disable".
[0081] At T260, the APP server 60 changes the status information of the email printing service, which is associated with the service account "a01" (i.e., the account information AC1) and stored in the model table 78, from "Enable" to "Disable." This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session.
[0082] T270 to T280 are the same as T220 to T224 in Fig. 6. T270 to T280 are executed to reconfirm the status information of each service. If the answer is NO at T280, the process proceeds to T282, and if the answer is YES at T280, the process proceeds to T300.
[0083] At T282, the APP server 60 transmits a deletedevice signal including the service account "a01" to the XMPP server 80. This signal is a signal requesting disconnection of the XMPP session with the printer 10 identified by the device ID "d01" associated with the service account "a01".
[0084] When the XMPP server 80 receives the deletedevice signal from the APP server 60 at T282, at T284, the XMPP server 80 uses the XMPP session to transmit an instruction to disconnect the XMPP session to the printer 10. As a result, the printer 10 disconnects the XMPP session at T286. This disconnects the XMPP session between the XMPP server 80 and the printer 10. This is because there is no need to execute server-push type communication with the printer 10 since provision of all services related to the printer 10 has been stopped. This reduces the communication load between the printer 10 and the XMPP server 80, and also reduces the processing load of the printer 10 and the XMPP server 80. When the XMPP session is disconnected, the XMPP server 80 may delete information associated with the printer 10 (i.e., the device ID "d01") from the service table 98 (see T72 in FIG. 3).
[0085] Next, the XMPP server 80 transmits a disconnection completion notification to the APP server 60 at T288.
[0086] When the APP server receives the disconnection completion notification from the XMPP server 80 in T288, the APP server transmits the disconnection completion notification to the terminal 50. As a result, the terminal 50 displays a disconnection completion screen in T290. The disconnection completion screen includes a message indicating that the XMPP session with the XMPP server 80 has been disconnected.
[0087] Although not shown in the figure, after the processing of T288, when the terminal 50 receives setting screen data from the APP server 60, similarly to T26 in Fig. 2, it displays the same setting screen as in T30. When the user performs an operation to select the button B1 indicating the character string "Enable" in the setting screen, the processing from T32 onwards is executed again.
[0088] When it is determined in T280 that the consumable service is currently being provided (YES in T280), the APP server 60 transmits a stop completion notification to the terminal 50 in T300 without disconnecting the XMPP session. As a result, the terminal 50 displays a stop completion screen in T302. The stop completion screen includes a message indicating that the provision of the email printing service has been stopped.
[0089] Although not shown in the figure, after the process of T302, the terminal 50 displays the same setting screen as T30 when it receives setting screen data from the APP server 60, similar to T26 in FIG. 2. When the terminal 50 accepts an operation from the user to select a button showing the character string "Enable" in the setting screen, it transmits an enable request to the APP server 60. The request is a signal requesting to change the status information of the email print service from "Disable" to "Enable". When the APP server 60 receives the enable request from the terminal 50, it changes the status information of the email print service associated with the logged-in account information AC1 (see T20 in FIG. 2) from "Disable" to "Enable" in the model table 78. Then, the APP server 60 identifies the service account "a01" associated with the logged-in account information AC1 from the model table 78. Next, the APP server 60 transmits an enable request including the identified service account "a01" to the XMPP server 80. When the XMPP server 80 receives the enable request from the APP server 60, it changes the status information of the email printing service stored in the service table 98 in association with the service account "a01" from "Disable" to "Enable."
[0090] (When button B2 or button B4 is selected; Figure 8) 8, when the terminal 50 accepts the selection of button B2 in the first setting screen or button B4 in the second setting screen from the user in T310, the terminal 50 transmits a stop request in T312. In this embodiment, since the user has already logged in to the APP server 60 using the account information AC1 (see T20 in FIG. 2), the stop request does not include the account information AC1. However, in a modified example, the stop request may include the account information AC1 or the device ID "d01".
[0091] When the APP server 60 receives a stop request from the terminal 50 in T312, the APP server 60 changes the status information of the email printing service stored in the model table 78 in association with the logged-in account information AC1 from "Enable" to "Disable" in T314. This allows the APP server 60 to stop providing the email printing service without disconnecting the XMPP session. Therefore, if the user is receiving a service other than the email printing service, the user can continue to receive the service.
[0092] Next, in T316, the APP server 60 transmits a stop completion notification to the terminal 50. As a result, in T320, the terminal 50 displays a stop completion screen. The stop completion screen includes a message indicating that the provision of the email printing service has been stopped.
[0093] Here, in the process of FIG. 8, the APP server 60 does not send a deleteservice signal to the XMPP server 80. Therefore, the email print service is maintained as "Enable" in the service table 98 of the XMPP server 80. Therefore, when the user wishes to resume the provision of the email print service, the process related to the provision of the email print service can be simplified. Specifically, when the user selects the button B1 in T32 of FIG. 2 and a registration request in T34 is sent to the APP server 60, the status information of the email print service associated with the account information AC1 in the model table 78 of the APP server 60 is changed from "Disable" to "Enable". In this case, the user can receive the provision of the email print service even if the processes of T36 in FIG. 2 to 94 in FIG. 3 are not executed.
[0094] Although not shown in the figure, after the processing of T320, the terminal 50 displays the same setting screen as T30 when it receives setting screen data from the APP server 60, similar to T26 in Fig. 2. When the terminal 50 accepts an operation from the user to select a button showing the character string "Enable" in the setting screen, it sends an enable request to the APP server 60. When the APP server 60 receives the enable request from the terminal 50, it changes the status information of the email printing service associated with the logged-in account information AC1 (see T20 in Fig. 2) in the model table 78 from "Disable" to "Enable."
[0095] (Display of setting screen using printer 10; Figs. 9 and 10) Next, a process for changing settings related to the email printing service using the printer 10 will be described with reference to Fig. 9. The initial state of Fig. 9 is the state after at least the processes of Figs. 2 and 3 have been executed.
[0096] When the printer 10 accepts a menu screen display operation from the user in T330, the printer 10 displays the menu screen in T332. The menu screen includes a print button that causes the printer 10 to execute printing, a scan button that causes the printer 10 to execute scanning, and an email printing service button B5 that displays a screen related to the email printing service. When the printer 10 accepts selection of the email printing service button B5 from the user in T334, the printer 10 transmits a setting screen data request to the APP server 60 in T336.
[0097] In T336, the APP server 60 receives the setting screen data request from the printer 10. Then, in T338, the APP server 60 transmits the setting screen data to the printer 10, regardless of whether the consumable service is currently being provided.
[0098] When the printer 10 receives the setting screen data from the APP server 60 in T338, the printer 10 displays a third setting screen in T339. The third setting screen includes a button B6 showing the character string "reset", an Enable / Disable button, and a service description button. Here, the button B6 is a button for disconnecting the XMPP session. The Enable / Disable button is a button for requesting a change in the provision state of the email printing service. The Enable / Disable button is a button for requesting a change to a disabled state when the email printing service is currently enabled, and a button for requesting a change to an enabled state when the email printing service is currently disabled. The service description button is a button for requesting the display of a screen explaining the service contents of the email printing service.
[0099] Here, as described in FIG. 6, when changing the settings related to the mail printing service using the terminal 50, the APP server 60 displays either a first setting screen (see T232 in FIG. 6) including the button B3 (i.e., the reset button) or a second setting screen (see T242) not including the button B3 (i.e., the reset button) on the terminal 50 according to the provision status of the consumable service. If the presence or absence of the display of the reset button is changed according to the provision status of the consumable service when changing the settings related to the mail printing service using the printer 10, the user needs to distinguish between a screen on the printer 10 on which the reset button is not displayed and a screen on which the reset button is displayed. However, the display unit of the printer 10 has a smaller display than that of the terminal 50, and visibility is relatively low. Therefore, the user may not be able to distinguish between a screen on the printer 10 on which the reset button is not displayed and a screen on which the reset button is displayed. To avoid this, when changing settings related to the email printing service using the printer 10, regardless of whether the consumable service is currently being provided or not, the printer 10 displays a third setting screen including a button B6 (i.e., a reset button) (see T339 in FIG. 9). Therefore, the user does not need to distinguish whether the reset button is displayed or not. This relatively improves the visibility of the screen displayed on the printer 10.
[0100] When the printer 10 accepts the selection of the button B6 in the third setting screen in T340, the printer 10 transmits a screen data request to the APP server 60 in T341.
[0101] When the APP server 60 receives a screen data request from the printer in T341, it transmits confirmation screen data to the printer 10 in T342. As a result, the printer 10 displays a confirmation screen in T344. The confirmation screen is a screen for confirming with the user whether or not to stop receiving the email printing service. When the printer 10 accepts selection of button B7 (i.e., the YES button) in the confirmation screen in T344, it transmits a stop request including the device ID "d01" to the APP server 60 in T348.
[0102] When the APP server 60 receives the stop request from the printer 10 in T348, it identifies the service account "a01" or "a02" associated with the device ID "d01" in the stop request from the model table 78. Then, the APP server 60 transmits a service status inquiry including the identified service account to the XMPP server 80 in T350. Subsequent steps T352 and T354 are similar to T222 and T224 in Fig. 6. If NO in T354, the process proceeds to T360, and if YES in T354, the process proceeds to T380.
[0103] In T360, the APP server 60 sends a deletedevice signal including the service account "a01" and a deleteservice signal including the service account "a01" to the XMPP server 80. 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".
[0104] Next, in 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" (i.e., 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.
[0105] When the XMPP server 80 receives the deleteservice signal and the deletedevice signal from the APP server 60 at T360, it 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 T364 in accordance with the deleteservice signal. Then, the XMPP server 80 sends an instruction to disconnect the XMPP session to the printer 10 at T366 in accordance with the deletedevice signal. As a result, the XMPP session is disconnected at T368. This reduces the communication load between the printer 10 and the XMPP server 80, and also reduces the processing load of each of the printer 10 and the XMPP server 80.
[0106] In T370, the APP server 60 transmits the disconnection completion screen data to the printer 10. As a result, in T372, the printer 10 displays the disconnection completion screen. The disconnection completion screen includes a message indicating that the XMPP session with the XMPP server 80 has been disconnected.
[0107] When the APP server 60 determines in T354 that the consumable service is currently being provided (YES in T354), it changes the status information of the email printing service stored in the model table 78 in association with the service account "a02" (i.e., device ID "d01") from "Enable" to "Disable" in T380. This enables the APP server 60 to stop providing the email printing service without disconnecting the XMPP session. Therefore, the user can continue to receive the consumable service.
[0108] Next, in T382, the APP server 60 transmits the stop completion screen data to the printer 10. As a result, in T384, the printer 10 displays the stop completion screen. The stop completion screen includes a message indicating that the provision of the email printing service has been stopped and that the provision of the consumable service is continuing.
[0109] Here, if the APP server 60 judges YES in T354, it does not send a deleteservice signal to the XMPP server 80. Therefore, the email printing service is maintained as "Enable" in the service table 98 of the XMPP server 80. Therefore, when the user wishes to resume the provision of the email printing service, the process related to the provision of the email printing service can be simplified.
[0110] In a modified example, the APP server 60 may send a deleteservice signal to the XMPP server 80 after processing T380. In this case, "Disable" is stored in the service table 98 of the XMPP server 80 instead of "Enable" for the email printing service. In this modified example, status information of the email printing service is shared between the APP server 60 and the XMPP server 80.
[0111] (Correspondence) The combination of the APP server 60 and the XMPP server 80 is an example of a "server". The APP server 60 and the XMPP server 80 are examples of a "first server" and a "second server", respectively. The printer 10 and the terminal 50 are examples of a "communication device" and an "external device", respectively. The email printing service and the consumables automatic delivery service are examples of a "first type of service" and a "second type of service", respectively. The registration request of T34 in FIG. 2 and the registration request of T132 in FIG. 4 are examples of a "first instruction" and a "second instruction", respectively. The XMPP session is an example of a "constant connection". T106 in FIG. 3 and T200 in FIG. 5 are examples of a "server push type communication related to the provision of a first type of service" and a "server push type communication related to the provision of a second type of service", respectively. The access request of T210 in FIG. 6 and the setting screen data request of T336 in FIG. 9 are examples of a "first transmission request" and a "second transmission request", respectively. The memory 94 and the service table 98 are examples of a "memory" and a "list", respectively. The status information of the email printing service in the memory 94 and the status information of the consumables automatic delivery service in the memory 94 are examples of a "first status information" and a "second status information", respectively. The setting screen data of T230 in FIG. 6, the setting screen data of T240, and the setting screen data of T338 in FIG. 9 are examples of a "first screen data", a "second screen data", and a "third screen data", respectively. The button B3 is an example of a "disconnect button". The button indicating the character string "Disable" (i.e., the button B2 and the button B4) and the button B5 are examples of a "first stop button" and a "second stop button", respectively. The deleteservice signal and the deletedevice signal are examples of a "stop request" and a "disconnect request", respectively. Enable and Disable are examples of "information indicating that a first type of service is provided" and "information indicating that a first type of service is not provided", respectively.
[0112] T70 in FIG. 3 is an example of a process executed by the "establishment unit". T210 in FIG. 6 and T336 in FIG. 9 are examples of a process executed by the "first transmission request receiving unit" and the "second transmission request receiving unit", respectively. T224 in FIG. 6 and T354 in FIG. 9 are examples of a process executed by the "first determination unit" and the "second determination unit", respectively. T230 and T240 in FIG. 6 and T338 in FIG. 9 are examples of a process executed by the "first screen data transmission unit", the "second screen data transmission unit", and the "third screen data transmission unit", respectively. T284 in FIG. 7 and T366 in FIG. 10 are examples of a process executed by the "first disconnection unit" and the "second disconnection unit", respectively. T314 in FIG. 8 and T380 in FIG. 10 are examples of a process executed by the "first stop processing execution unit" and the "second stop processing execution unit", respectively. T254 in Fig. 7 is an example of a process executed by a "stop request transmission unit." T256 in Fig. 7 is an example of a process executed by a "change unit." T282 in Fig. 7 is an example of a process executed by a "disconnection request transmission unit."
[0113] Although specific examples of the present invention have been described above in detail, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and alterations of the specific examples exemplified above. Modifications of the above-mentioned embodiments are listed below.
[0114] (Variation 1) When the APP server 60 receives a setting screen data request from the printer 10 at T336 in FIG. 9, it determines whether or not the consumable service is currently being provided, and if the consumable service is not currently being provided, it may transmit the setting screen data of T230 in FIG. 6 to the printer 10, and if the consumable service is currently being provided, it may transmit the setting screen data of T240 to the printer 10. In this variation, the printer 10, the above setting screen data request, the former setting screen data, and the latter setting screen data are examples of the "external device", the "first transmission request", the "first screen data", and the "second screen data", respectively. In particular, in this variation, the "external device" and the "communication device" are the same device.
[0115] (Variation 2) The APP server 60 may transmit, at T230 in Fig. 6, setting screen data representing a setting screen that does not include button B2 to the terminal 50. Also, the APP server 60 may transmit, at T240, setting screen data representing a setting screen that does not include button B4 to the terminal 50. Generally speaking, each of the "first setting screen" and the "second setting screen" does not have to include a "first stop button." In this variation, the "first stop processing execution unit" can be omitted.
[0116] (Variation 3) The printer 10 may be configured not to accept the operation of T336 in Fig. 9. In other words, the process of Fig. 9 does not have to be executed. In this variation, the "second transmission request receiving unit", "third screen data transmitting unit", "second determining unit", "second disconnecting unit", and "second stop process executing unit" can be omitted.
[0117] (Variation 4) When the APP server 60 receives a setting screen data request from the printer 10 at T336 in Fig. 9, it may determine whether or not a consumable service is currently being provided, and if the consumable service is not currently being provided, it may transmit setting screen data including a "Reset" button, and if the consumable service is currently being provided, it may transmit setting screen data not including a "Reset" button to the printer 10. Generally speaking, when a second transmission request is received from a communication device, the "server" may change the screen data to be transmitted to the communication device depending on whether or not a second type of service is being provided to the user.
[0118] (Variation 5) The APP server 60 and the XMPP server 80 may be realized by one server. In this variation, the "stop request transmitting unit", the "disconnection request transmitting unit", and the "first stop processing executing unit" of the "first server" may be omitted, and the "change unit" of the "second server" may be omitted. In another variation, the "server" may be composed of three or more servers.
[0119] (Variation 6) When button B2 or button B4 is selected at T310 in Fig. 8, the APP server 60 may send a deleteservice signal to the XMPP server 80. In this variation, "Disable" is stored in the service table 98 of the XMPP server 80 instead of "Enable" for the email printing service. Generally speaking, the "first stop process execution unit" of the "first server" may send a "stop request" to the second server.
[0120] (Variation 7) The "first type of service" is not limited to an 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 printer information and provides the information to the 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 the printer. For example, the other type of service may be an automatic consumables shipping service. Generally speaking, the "first type of service" may be a service provided by using a "first server". The "second type of service" is not limited to an automatic consumables shipping service, and may be another type of service. For example, the other type of service may be a billing service that bills the user for an amount according to the number of sheets of printing media used in the printer 10. For example, the other type of service may be an email printing service, a remote printing service, an information collection service, or the like. Generally speaking, the "second type of service" may be a service provided without using a "first server".
[0121] (Variation 8) In T18 of FIG. 2 cited in FIG. 6, the user may simply select the email printing service. That is, the user can omit inputting the account information AC1. In this variation, in T20, the terminal 50 sends an authentication URL request to the printer 10, and the printer 10 sends the authentication URL request including the device ID "d01" to the APP server 60. In this case, in T22, the APP server 60 sends a URL including the device ID "d01" to the terminal 50, and receives an access request including the URL from the terminal 50 in T210 of FIG. 6. Then, in T220, the APP server 60 sends a service status inquiry including the device ID "d01" to the XMPP server 80.
[0122] (Variation 9) The "communication device" does not have to be the printer 10, but may be other devices such as a scanner, a multi-function device, a mobile terminal, a PC, or a server.
[0123] (Modification 10) In the above embodiment, the processes in FIGS. 2 to 10 are implemented by software, but at least one of these processes may be implemented by hardware such as a logic circuit.
[0124] In addition, the technical elements described in this specification or drawings exert technical utility alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies exemplified in this specification or drawings achieve multiple objectives simultaneously, and achieving one of those objectives is itself technically useful. [Explanation of symbols]
[0125] 2: communication system, 6: Internet, 8: LAN, 10: printer, 12: communication I / F, 14: display unit, 16: print execution unit, 30: control unit, 32: CPU, 34: memory, 36: program, 50: terminal, 60: APP server, 62: communication I / F, 70: control unit, 72: CPU, 74: memory, 76: program, 78: model table, 80: APP server, 82: communication I / F, 90: control unit, 92: CPU, 94: memory, 96: program, 98: model table, 100: service providing server, 108: account table
Claims
1. A server, an establishment unit that establishes a constant connection with a communication device when a first instruction is obtained that instructs the start of provision of a first type of service related to the communication device, the constant connection being used to execute server-push type communication with the communication device related to the provision of the first type of service, and when a second instruction is obtained that instructs the start of provision of a second type of service related to the communication device while the constant connection with the communication device is established, a new constant connection with the communication device is not established, and the constant connection is further used to execute server-push type communication with the communication device related to the provision of the second type of service; a first transmission request receiving unit that receives a first transmission request from an external device, the first transmission request being a signal for requesting transmission of screen data for displaying a setting screen corresponding to the first type of service; a first determination unit that, when the first transmission request is received from the external device, determines whether the second type of service is currently being provided for the communication device by using a list in a memory, the list including first status information indicating a provision status of the first type of service for the communication device, and second status information indicating a provision status of the second type of service for the communication device; a first screen data transmission unit that transmits first screen data for displaying a first setting screen to the external device when it is determined that the second type of service is not currently being provided, the first screen data transmission unit including a disconnection button for disconnecting the constant connection; a second screen data transmission unit that transmits second screen data for displaying a second setting screen to the external device when it is determined that the second type of service is currently being provided, the second screen data transmission unit not including the disconnection button; a first disconnection unit that disconnects the constant connection when the disconnection button included in the first setting screen is selected in the external device; A server comprising:
2. the first setting screen further includes a first stop button for stopping provision of the first type of service; the second setting screen includes the first stop button, The server further comprises:
2. The server according to claim 1, further comprising: a first stop processing execution unit that executes a first stop processing for stopping the provision of the first type of service for the communication device without disconnecting the constant connection when the first stop button included in the first setting screen or the second setting screen is selected in the external device.
3. the external device is a device different from the communication device, The server further comprises: a second transmission request receiving unit that receives a second transmission request from the communication device, the second transmission request being a signal for requesting transmission of screen data for displaying a setting screen corresponding to the first type of service; a third screen data transmission unit that transmits third screen data for displaying a third setting screen to the communication device when the second transmission request is received from the communication device, regardless of whether the second type of service is currently being provided to a user, the third screen data transmission unit including a second stop button for stopping the provision of the first type of service; a second determination unit that, when the second stop button included in the third setting screen is selected in the communication device, determines whether or not the second type of service related to the communication device is currently being provided by using the list in the memory; a second disconnection unit that disconnects the constant connection when it is determined that the second type of service is not currently being provided in response to the second stop button being selected; a second stop process execution unit that executes a second stop process for stopping the provision of the first type of service related to the communication device without disconnecting the constant connection when it is determined that the second type of service is currently being provided in response to the second stop button being selected; The server according to claim 1 or 2, comprising:
4. The server includes a first server and a second server different from the first server; the first server includes the first transmission request receiving unit, the first determining unit, the first screen data transmitting unit, and the second screen data transmitting unit; The server according to claim 1 , wherein the second server comprises the memory, the establishing unit, and the first disconnecting unit.
5. The first server further comprises: a stop request sending unit configured to send a stop request to the second server when the disconnection button included in the first setting screen is selected in the external device; The second server further comprises:
5. The server of claim 4, further comprising a change unit that, when the stop request is received from the first server, changes the first status information included in the list in the memory from information indicating that the first type of service is being provided to information indicating that the first type of service is not being provided.
6. The first server further comprises: a disconnection request transmission unit configured to transmit a disconnection request to the second server when the disconnection button included in the first setting screen is selected in the external device; 6. The server according to claim 4 or 5, wherein the first disconnection unit of the second server disconnects the constant connection by sending a disconnection instruction to the communication device to disconnect the constant connection when the disconnection request is received from the first server.
7. the first setting screen further includes a first stop button for stopping provision of the first type of service; the second setting screen includes the first stop button, The first server further comprises:
7. The server according to claim 6, further comprising a first stop processing execution unit that executes a first stop processing for stopping the provision of the first type of service for the communication device without sending a stop request to the second server when the first stop button included in the first setting screen or the second setting screen is selected in the external device.
8. the first type of service is a service that can be stopped by the server, The server according to claim 1 , wherein the second type of service is a service that cannot be stopped by the server.
9. the communication device is a printer, the first type of service is a service in which, when the server receives image data, the server transmits print data obtained by using the image data to the printer; The server according to claim 1 , wherein the second type of service is a service of shipping consumables used by the printer.
10. A computer program for a server, comprising: The server computer is composed of the following parts: an establishment unit that establishes a constant connection with a communication device when a first instruction is obtained that instructs the start of provision of a first type of service related to the communication device, the constant connection being used to execute server-push type communication with the communication device related to the provision of the first type of service, and when a second instruction is obtained that instructs the start of provision of a second type of service related to the communication device while the constant connection with the communication device is established, a new constant connection with the communication device is not established, and the constant connection is further used to execute server-push type communication with the communication device related to the provision of the second type of service; a first transmission request receiving unit that receives a first transmission request from an external device, the first transmission request being a signal requesting transmission of screen data for displaying a setting screen corresponding to the first type of service; a first determination unit that, when the first transmission request is received from the external device, determines whether the second type of service is currently being provided for the communication device by using a list in a memory, the list including first status information indicating a provision status of the first type of service for the communication device, and second status information indicating a provision status of the second type of service for the communication device; a first screen data transmission unit that transmits first screen data for displaying a first setting screen to the external device when it is determined that the second type of service is not currently being provided, the first screen data transmission unit including a disconnection button for disconnecting the constant connection; a second screen data transmission unit that transmits second screen data for displaying a second setting screen to the external device when it is determined that the second type of service is currently being provided, the second screen data transmission unit not including the disconnection button; a first disconnection unit that disconnects the constant connection when the disconnection button included in the first setting screen is selected in the external device; A computer program that functions as a
Citation Information
Patent Citations
Server and communication system
JP2017068722A
Device and control method and program
JP2020170287A
