Communication system, server, and function execution device
Patent Information
- Application Number
- JP2023134209
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-21
- Publication Date
- 2025-03-06
Smart Images

Figure 2025029497000001_ABST
Abstract
Description
[Technical field]
[0001] This specification discloses a technique for causing a function-performing device to perform a specific function. [Background technology]
[0002] Patent Document 1 discloses a printing system that includes a client terminal, multiple printers, and a printer server. The client terminal sends a login request to the printer server. The printer server generates screen data corresponding to a screen for selecting a printer to print using the print data, and sends the screen data to the client terminal. When the client terminal receives the screen data from the printer server, it displays a screen for selecting a printer to print using the print data. When a printer is selected by a user, the client terminal causes the printer to execute a print function. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2012-190400 A Summary of the Invention [Problem to be solved by the invention]
[0004] SUMMARY OF THE DISCLOSURE Provided herein is a novel technique for causing a function-performing engine of a function-performing device to perform a particular function. [Means for solving the problem]
[0005] This specification discloses a communication system including a function executing device, a terminal device, and a server. The function executing device may include a first login request transmission unit that transmits a first login request including user identification information for identifying a user to the server. The terminal device may include a second login request transmission unit that transmits a second login request including the user identification information to the server. The server may include a first login request reception unit that receives the first login request from the function executing device, a second login request reception unit that receives the second login request from the terminal device, and a screen data transmission unit that transmits, to the terminal device, operation acceptance screen data corresponding to an operation acceptance screen for receiving a function executing operation for causing the function executing device to execute a specific function when the first login request is received from the function executing device and the second login request is received from the terminal device. The terminal device may further include a screen data receiving unit that receives the operation acceptance screen data from the server after the second login request is transmitted to the server, a display control unit that displays the operation acceptance screen on a display unit of the terminal device when the operation acceptance screen data is received from the server, and an operation information transmitting unit that transmits operation information corresponding to the function execution operation to the server when the function execution operation is received on the operation acceptance screen. The server may further include an instruction information receiving unit that receives the operation information from the terminal device, and a function execution instruction transmitting unit that transmits a function execution instruction to the function execution device to cause the function execution device to execute the specific function when the operation information is received from the terminal device. The function execution device may further include a function execution instruction receiving unit that receives the function execution instruction from the server, and a function execution control unit that causes a function execution engine of the function execution device to execute the specific function when the function execution instruction is received from the server.
[0006] This specification also discloses a server, which may include a first login request receiving unit for receiving a first login request including user identification information for identifying a user from a function executing device, a second login request receiving unit for receiving a second login request including the user identification information from a terminal device, a first screen data transmitting unit for transmitting, to the terminal device, operation acceptance screen data corresponding to an operation acceptance screen for receiving a function executing operation for causing the function executing device to execute a specific function when the first login request is received from the function executing device and the second login request is received from the terminal device, an operation information receiving unit for receiving, from the terminal device after the operation acceptance screen data is transmitted to the terminal device, operation information corresponding to the function executing operation, and a function execution instruction transmitting unit for transmitting, to the function executing device, a function execution instruction for causing the function executing device to execute the specific function when the operation information is received from the terminal device.
[0007] This specification also discloses a function executing device, the function executing device may include a first login request transmission unit that transmits a first login request including user identification information for identifying a user to a server, the first login request transmission unit being configured to transmit, to the terminal device, instruction acceptance screen data corresponding to an instruction acceptance screen for receiving a function executing operation for making the function executing device execute a specific function when the server receives the first login request from the function executing device and receives a second login request including the user identification information from a terminal device, and transmits, to the function executing device, a function execution instruction to make the function executing device execute the specific function when the server receives operation information corresponding to the function executing operation from the terminal device after the instruction acceptance screen data is transmitted to the terminal device, a function execution instruction receiving unit that receives the function execution instruction from the server, and a function execution control unit that causes a function executing engine of the function executing device to execute the specific function when the server receives the function execution instruction from the server.
[0008] According to the above configuration, when the server receives a first login request from the function executing device and a second login request from the terminal device, it transmits instruction acceptance screen data to the terminal device. When the server receives operation information from the terminal device, it transmits a function execution instruction to the function executing device. When the function executing device receives the function execution instruction from the server, it causes the function executing engine to execute a specific function. Thus, when the server receives the first login request and the second login request, it can cause the function executing engine of the function executing device to execute a specific function.
[0009] The above computer program for the server, the computer-readable recording medium storing the computer program, and the method executed by the server are also novel and useful. Also, the above computer program for the function execution device, the computer-readable recording medium storing the computer program, and the method executed by the function execution device are also novel and useful. [Brief description of the drawings]
[0010] [Figure 1] 1 shows the configuration of a communication system. [Diagram 2] An example of each table is shown below. [Diagram 3] FIG. 13 is a sequence diagram of case A in which printing is performed using an intermediation service. [Figure 4] This is a continuation of the sequence diagram of Figure 3. [Diagram 5] This is a continuation of the sequence diagram of Figure 4. [Figure 6] FIG. 13 is a sequence diagram of a case B in which printing is performed by a printer via a server. [Figure 7] FIG. 13 is a sequence diagram of cases C to E in which the authentication device is removed from the printer. [Figure 8] 13 is a sequence diagram of cases F and G in which the authentication device is removed from the printer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] (Example) (Configuration of communication system 2; Figure 1) 1, the communication system 2 includes a printer 10, an authentication device 50, a terminal device 100, and a server 200. The printer 10, the terminal device 100, and the server 200 are connected to the Internet 6. The printer 10, the terminal device 100, and the server 200 are capable of communicating with each other via the Internet 6.
[0012] (Printer 10 Configuration) The printer 10 is a peripheral device (for example, a peripheral device of the terminal device 100) capable of executing a printing function. The printer 10 has a device ID "DV1". The device ID is a name given by a printer administrator. The printer 10 is capable of operating according to the FIDO (short for Fast Identity Online) authentication method using a pair of keys. The FIDO authentication method is an authentication method that uses a pair of keys, that is, a private key and a public key. The FIDO authentication method is also an authentication method that performs user authentication using biometric authentication (for example, fingerprint authentication, voiceprint impression, face authentication) instead of authentication using a password. Hereinafter, authentication according to the FIDO authentication method will be referred to as "FIDO authentication".
[0013] The printer 10 includes an operation unit 12, a display unit 14, a print engine 16, a USB interface 18, a communication interface 20, and a control unit 30. In the following, the interface will be referred to as "I / F".
[0014] The operation unit 12 is an interface for inputting various information to the printer 10, and includes buttons, a touch screen, and the like. The display unit 14 is a display or panel for displaying various information. The panel may or may not be a touch panel. The panel is, for example, a liquid crystal panel or an organic EL panel. The print engine 16 is an electrophotographic, inkjet, or thermal print engine. The USB I / F 18 is an I / F to which a USB connector is connected. The communication I / F 20 is an interface for executing communication with other devices. The communication I / F 20 is connected to the Internet 6. The communication I / F 20 may be a wired I / F or a wireless I / F.
[0015] The control unit 30 includes a CPU 32 and a memory 34. The memory 34 includes a main storage device and an auxiliary storage device. As an example, the main storage device includes a RAM and a cache memory. As an example, the auxiliary storage device may be a ROM, a flash memory, a solid state drive (SSD), a hard disk drive (HDD), or a combination thereof. A program 40 and installation information 42 are stored in the auxiliary storage device of the memory 34. The CPU 32 realizes various processes according to the program loaded from the auxiliary storage device to the main storage device. The installation information 42 is information indicating the location where the printer 10 is installed. The installation information 42 stores any one of information "PUBLIC" indicating that the printer 10 is installed in a location such as a convenience store that is available to an unspecified number of people (for example, a convenience store), "OFFICE" indicating that the printer 10 is installed in a location such as an office that is available to a specified number of people (for example, an office), and "HOME" indicating that the printer 10 is installed in a private home. The installation information 42 can be set by an administrator of the printer 10.
[0016] (Authentication device 50 configuration) The authentication device 50 can operate according to the FIDO authentication method. The authentication device 50 operates as a so-called authentication device in the FIDO authentication method. The authentication device 50 includes a USB cable (not shown) having a USB connector, and a memory 60. The memory 60 includes a main storage device and an auxiliary storage device. The auxiliary storage device of the memory 60 stores fingerprint information 62, a user ID "user1", and a private key PRK1. The fingerprint information 62 is information about the fingerprint of a user who uses the terminal device 100. Hereinafter, the user who uses the terminal device 100 may be referred to as a "target user". The user ID "user1" is information for identifying the target user. The private key PRK1 is used when performing FIDO authentication. The private key PRK1 is registered when a registration process for registering a pair of keys used in FIDO authentication is executed between the printer 10 and the server 200.
[0017] (Configuration of terminal device 100) The terminal device 100 is a portable terminal device such as a mobile phone (for example, a smartphone), a PDA, a tablet PC, etc. The terminal device 100 includes an operation unit 112, a display unit 114, a communication I / F 120, and a control unit .
[0018] The operation unit 112 is, for example, a touch panel. The operation unit 112 can accept various instructions. The operation unit 112 also functions as a fingerprint authentication unit. The display unit 114 is a display or panel for displaying various information. The communication I / F 120 is an interface for executing communication with other devices. The communication I / F 120 is connected to the Internet 6.
[0019] The control unit 130 includes a CPU 132 and a memory 134. The memory 134 includes a main storage device and an auxiliary storage device. An Operating System (OS) program 140, fingerprint information 142, and a private key PRK2 are stored in the auxiliary storage device of the memory 134. The OS program 140 controls the basic operation of the terminal device 100. The CPU 132 realizes various processes according to a program loaded from the auxiliary storage device to the main storage device. The fingerprint information 142 is information on the fingerprint of a target user. The private key PRK2 is used when performing FIDO authentication. The private key PRK2 is registered when a registration process for registering a pair of keys used in FIDO authentication is executed between the terminal device 100 and the server 200.
[0020] (Configuration of Server 200) The server 200 is a server installed on the Internet 6, and is provided by, for example, a vendor of the printer 10. In a modified example, the server 200 may be installed on the Internet 6 by a business entity other than the vendor. In another modified example, the vendor may not prepare the hardware of the server 200 by itself, but may use an environment provided by an external cloud computing service. In this case, the vendor may prepare a program (i.e., software) for the server 200 and implement the program in the above-mentioned environment to realize the server 200. The server 200 is operable according to the FIDO authentication method. The server 200 operates as a so-called authentication server in the FIDO authentication method.
[0021] The server 200 operates as a server that provides an intermediation service related to the printer 10. The intermediation service is a service for operating the printer 10 via the server 200. In the intermediation service, the server 200 uses XMPP (short for eXtensible Messaging and Presence Protocol) to transmit to the printer 10 an instruction based on information received from a terminal device owned by a user. The XMPP connection is a so-called constant connection. If the server 200 uses the XMPP connection, it can transmit a signal to the printer 10 beyond the firewall of the LAN to which the printer 10 belongs, even if it does not receive a request from the printer 10. Note that the mechanism for transmitting a request from the server 200 to the printer 10 may be another method other than the XMPP connection. For example, an HTTPS (short for Hypertext Transfer Protocol Secure) connection may be established between the printer 10 and the server 200.
[0022] The server 200 also operates as a server that provides a subscription service related to the printer 10. The subscription service is a flat-rate printing service. The flat-rate printing service is a service in which a flat-rate fee is charged if the number of printed sheets in a predetermined period (e.g., one month) is equal to or less than the contracted number of printed sheets (e.g., 1000 sheets), and if the number of printed sheets in the predetermined period exceeds the contracted number of printed sheets, a total amount of the flat-rate fee and an amount according to the number of printed sheets exceeding the contracted number of printed sheets is charged. The subscription service also includes an automatic ordering service that automatically orders a new cartridge when the remaining amount of ink in a cartridge installed in the printer falls below a predetermined amount. The subscription service is a service that uses an XMPP connection established with the printer 10. For example, in a state in which the subscription service is provided (hereinafter referred to as a "provided state"), the server 200 periodically transmits to the printer 10 a signal requesting transmission of remaining amount information indicating the remaining amount of ink in the cartridge and number information indicating the number of printed sheets, using the XMPP connection. In this way, the intermediation service and the subscription service are services that utilize a constant connection (i.e., an XMPP connection).
[0023] The server 200 includes a communication I / F 220 and a control unit 230. The communication I / F 220 is an interface for executing communication with other devices. The communication I / F 220 is connected to the Internet 6. The control unit 230 includes a CPU 232 and a memory 234. The memory 234 includes a main storage device and an auxiliary storage device. The auxiliary storage device of the memory 234 stores a program 240, a user table 242, a first service table 244, and a second service table 246. The CPU 232 realizes various processes according to the program loaded from the auxiliary storage device to the main storage device.
[0024] (Table composition; Fig. 2) The contents of the user table 242, the first service table 244, and the second service table 246 in the server 200 will be described with reference to FIG.
[0025] The user table 242 is a table for managing information about users. In the user table 242, a user ID, a public key, first login information, and second login information are stored in association with each other. The public key is registered when a registration process for registering a pair of keys used in FIDO authentication is executed. The first login information indicates either "ON" indicating that the user is logging in to the server 200 using a printer, or "OFF" indicating that the user is not logging in to the server 200 using a printer. The second login information indicates either "ON" indicating that the user is logging in to the server 200 using a terminal device, or "OFF" indicating that the user is not logging in to the server 200 using a terminal device.
[0026] The first service table 244 is a table for managing information related to the intermediation service. In the first service table 244, a device ID, an authentication token, capability information, a user ID, authority information, and connection information are stored in association with each other. The authentication token is authentication information for establishing an XMPP connection between the printer 10 and the server 200. The capability information is information indicating a function that can be executed by a device identified by a device ID associated with the information. The authority information indicates either "owner" indicating that the user is an administrator of the printer or "public" indicating that the user is a general user. The connection information is information for determining whether or not to maintain the XMPP connection established to provide the intermediation service when a logout request is received from the printer. The connection information indicates either "maintain" indicating that the XMPP connection is maintained, or "disconnect" indicating that the XMPP is disconnected.
[0027] The second service table 246 is a table for managing information related to subscription services. In the second service table 246, a user ID, a device ID, an authentication token, and remaining amount information are stored in association with each other.
[0028] (Specific cases A to G; Figures 3 to 8) 3 to 8, specific cases A to G realized by the communication system 2 of the present embodiment will be described. In the following, each device (for example, the printer 10) will be described as the subject, rather than the CPU of each device (for example, the CPU 32 of the printer 10). In addition, communication between the printer 10, the terminal device 100, and the server 200 is performed via the communication I / F of each device (for example, the communication I / F 20 of the printer 10). Therefore, in the following, when describing processing related to communication via the communication I / F, the expression "via the communication I / F" will be omitted. In addition, communication between the printer 10 and the authenticator 50 is performed via the USB I / F of each device (for example, the USB I / F 18 of the printer 10). Therefore, in the following, when describing processing related to communication via the USB I / F, the expression "via the USB I / F" will be omitted.
[0029] (Case A; Figures 3 to 5) With reference to Figs. 3 to 5, a case A in which printing is performed using an intermediary service will be described. In the initial state of case A, in the user table 242 of the server 200, the user ID "user1", the public keys PUK1 and PUK2, the first login information "OFF", and the second login information "OFF" are stored in association with each other. The public keys PUK1 and PUK2 are public keys corresponding to the private keys PRK1 and PRK2, respectively. In addition, in the first service table 244, the device ID "DV1", the capability information "print", the user ID "user1", the authority information "owner", and the connection information "maintain" are stored in association with each other. In addition, the second service table 246 is empty. That is, the subscription service is not provided to the target user. For this reason, an XMPP connection is not established between the printer 10 and the server 200.
[0030] At T10, the target user connects the USB connector of the authentication device 50 to the USB I / F 18 of the printer 10. As a result, the printer 10 determines that the authentication device 50 is connected to the printer 10. At T12, the target user executes a login operation to the printer 10 by inputting the user ID "user1". As a result, the printer 10 transmits the RPID "URL1" and the input user ID "user1" to the server 200 at T14. URL1 is information that identifies the service (i.e., the intermediary service) used by the target user. The RPID "URL1" is pre-stored in the memory 34 of the printer 10.
[0031] When the server 200 receives an authentication request from the printer 10 at T14, it generates a one-time pass OP1 at T16, stores the one-time pass OP1 in the memory 234, and sends an authentication instruction including the RPID "URL1" and the one-time pass OP1 to the printer 10 at T18. The authentication instruction is a signal for instructing the execution of biometric authentication and the generation of signature information.
[0032] When the printer 10 receives an authentication instruction from the server 200 in T18, the printer 10 displays a fingerprint authentication screen in T20. The fingerprint authentication screen displays a message requesting execution of fingerprint authentication using the authentication device 50. The printer 10 also transmits the one-time pass OP1 to the authentication device 50 in T22.
[0033] At T24, the target user performs a fingerprint authentication operation on the authentication device 50. The authentication device 50 determines that the fingerprint authentication has been successful because the fingerprint information acquired by the fingerprint authentication operation matches the fingerprint information 62 in the memory 60, and at T26 generates signature information SI1 by encrypting the received one-time pass OP1 using the private key PRK1 in the memory 60. The authentication device 50 transmits the generated signature information SI1 to the printer 10 at T28.
[0034] When the printer 10 receives the signature information SI1 from the authentication device 50 in T28, the printer 10 transmits an authentication response including the user ID "user1" and the signature information SI1 to the server 200 in T30.
[0035] When the server 200 receives the authentication response from the printer 10 in T30, the server 200 identifies the public keys PUK1 and PUK2 stored in the user table 242 in association with the user ID "user1" in the response. In T32, the server 200 uses the identified public keys PUK1 and PUK2 to decrypt the signature information SI1 in the authentication response. Since the private key PRK1 and the public key PUK1 are a pair of keys, the one-time pass OP1 can be obtained by decrypting the signature information SI1 using the public key PUK1. Note that decryption using the public key PUK2 fails. The server 200 determines that the decrypted one-time pass OP1 matches the one-time pass OP1 stored in the memory 234 (see T16), and determines that the user authentication of the target user has been successful. In this case, the server 200 changes the first login information stored in association with the user ID "user1" in the user table 242 from "OFF" to "ON" in T34. As a result, the target user is logged in to the server 200 using the printer 10. The server 200 generates an authentication token tk1 in T36, and transmits the authentication token tk1 to the printer 10 in T38.
[0036] When the printer 10 receives the authentication token tk1 from the server 200 in T38, the printer 10 stores the authentication token tk1 in the memory 34 in T40. Since no authentication tokens other than the authentication token tk1 are stored in the memory 34, the printer 10 determines that the subscription service is not provided to the target user (hereinafter, may be referred to as a "non-provision state"). In this case, the printer 10 establishes an XMPP connection with the server 200 using the authentication token tk1 in T42. When the XMPP connection with the server 200 is established, the printer 10 transmits device information including the device ID "DV1" and capability information "print" to the server 200 in T44. As described above, when the printer 10 receives the authentication token tk1 from the server 200, the printer 10 establishes an XMPP connection with the server 200 using the authentication token tk1. This allows the server 200 to subsequently transmit a print instruction to the printer 10.
[0037] When the server 200 receives the device information from the printer 10 in T44, it stores the authentication token tk1 in the first service table 244 in association with the device ID "DV1" in T46.
[0038] 4, the target user executes a login operation to input the user ID "user1" into the terminal device 100. Specifically, in a state where a login screen is displayed on the display unit 114 of the terminal device 100, the target user inputs the user ID "user1". As a result, the terminal device 100 transmits the RPID "URL1" and the input user ID "user1" to the server 200 in T52. The RPID "URL1" is stored in advance in the memory 134 of the terminal device 100.
[0039] When the server 200 receives an authentication request from the terminal device 100 at T52, it generates a one-time pass OP2 at T54, stores the one-time pass OP2 in the memory 234, and sends an authentication instruction including the RPID "URL1" and the one-time pass OP2 to the terminal device 100 at T56.
[0040] When the terminal device 100 receives an authentication instruction from the server 200 in T56, it displays a fingerprint authentication screen in T60. The target user performs a fingerprint authentication operation on the terminal device 100 in T62. Since the fingerprint information acquired by the fingerprint authentication operation matches the fingerprint information 142 in the memory 134, the terminal device 100 determines that the fingerprint authentication has been successful, and generates signature information SI2 by encrypting the received one-time pass OP2 using the private key PRK2 in the memory 134 in T64. The terminal device 100 transmits an authentication response including the user ID "user1" and the signature information SI2 to the server 200 in T70.
[0041] When the server 200 receives an authentication response from the terminal device 100 in T70, the server 200 identifies the public keys PUK1 and PUK2 in the user table 242. In T72, the server 200 decrypts the signature information SI1 in the authentication response by using the identified public keys PUK1 and PUK2. Since the private key PRK2 and the public key PUK2 are a pair of keys, the one-time pass OP2 is obtained by decrypting the signature information SI2 by using the public key PUK2. Note that decryption using the public key PUK1 fails. The server 200 determines that the decrypted one-time pass OP2 matches the one-time pass OP2 stored in the memory 234 (see T54), and determines that the user authentication of the target user has been successful. In this case, the server 200 changes the second login information stored in association with the user ID "user1" in the user table 242 from "OFF" to "ON" in T74. As a result, the target user is logged in to the server 200 using the printer 10, and the target user is logged in to the server 200 using the terminal device 100. The server 200 generates an authentication token tk2 in T76, and transmits the authentication token tk2 to the terminal device 100 in T78.
[0042] When the terminal device 100 receives the authentication token tk2 from the server 200 in T78, it stores the authentication token tk2 in the memory 34 in T80, and transmits a device selection screen data request to the server 200 in T90.
[0043] When the server 200 receives the device selection screen data request from the terminal device 100 in T90, the server 200 determines that the first login information and the second login information in the user table 242 are "ON". That is, the server 200 determines that the user authentication in response to receiving the authentication request from the printer 10 has been successful, and that the user authentication in response to receiving the authentication request from the terminal device 100 has been successful. The server 200 also determines that the device ID "DV1" has been received from the printer 10. In this case, the server 200 transmits first device selection screen data including the device ID "DV1" to the terminal device 100 in T92.
[0044] When the terminal device 100 receives the first device selection screen data from the server 200 in T92, the terminal device 100 displays the first device selection screen 300 corresponding to the first device selection screen data on the display unit 114 in T94. The first device selection screen 300 includes a user ID "user1" corresponding to the logged-in user and a device selection field 302. The device selection field 302 includes a device ID "DV1" and an open button 304 corresponding to the device ID "DV1". The target user selects the open button 304 corresponding to the device ID "DV1" in T100 of FIG. 5. As a result, the terminal device 100 transmits an operation screen data request including the device ID "DV1" corresponding to the open button 304 selected by the target user to the server 200 in T102.
[0045] When the server 200 receives an operation screen data request from the terminal device 100 in T102, the server 200 determines in T103 that the authority information stored in the first service table 244 in association with the device ID "DV1" and the user ID "user1" is "owner". The server 200 also specifies that the capability information stored in the first service table 244 in association with the device ID "DV1" is "print". In this case, the server 200 transmits, in T104, first operation screen data including information "print" corresponding to the print button, information "printer setting" corresponding to the printer setting button, and information "authority setting" corresponding to the authority setting button to the terminal device 100.
[0046] When the terminal device 100 receives the first operation screen data from the server 200 in T104, the terminal device 100 displays the first operation screen 310 corresponding to the first operation screen data on the display unit 114 in T106. The first operation screen 310 includes a user ID "user1" corresponding to the logged-in user and a button selection field 312. The button selection field 312 includes a print button 314, a printer setting button 316, and an authority setting button 318. The print button 314 is a button for selecting to cause the printer 10 to execute a print function. The printer setting button 316 is a button for displaying a printer setting change screen for changing the settings of the printer 10 on the display unit 114. The authority setting button 318 is a button for displaying an authority information change screen for changing the authority information of the logged-in user on the display unit 114. That is, the first operation screen 310 is a screen for receiving an operation for causing the printer 10 to execute a print function, a screen for changing the settings of the printer, and a screen for changing the authority information of the user. In T110, the target user selects the print button 314. As a result, the terminal device 100 determines that it has accepted an operation to cause the printer 10 to execute the print function, and in T112, transmits a print request including the print file to the server 200.
[0047] When the server 200 receives a print request from the terminal device 100 in T112, it converts the print file in the request to generate print data representing a print image having a data format that can be interpreted by the printer 10. In T114, the server 200 uses the XMPP connection to send a print instruction including the generated print data to the printer 10. The print instruction is information for causing the printer 10 to execute a print function.
[0048] When the printer 10 receives a print instruction from the server 200 in T114, the printer 10 identifies the print data in the print instruction, and in T116 causes the print engine 16 to execute printing using the print data. In this way, the target user can use the intermediary service to cause the printer 10 to execute printing.
[0049] (Case B; Figure 6) Case B in which printing is performed using an intermediary service will be described with reference to Fig. 6. The initial state of case B is similar to the initial state of case A in Figs. 3 to 5, except that the device ID "DV1", capability information "print", user ID "user1", authority information "public", and connection information "maintain" are stored in association with each other in the first service table 244.
[0050] T210 is the same as T50 in Fig. 4. After that, processes similar to T52 to T80 in Fig. 4 are executed between the terminal device 100 and the server 200.
[0051] When the server 200 receives the selection screen data request from the terminal device 100 in T220, the server 200 determines that the second login information in the user table 242 is "ON" and the first login information is "OFF." That is, the server 200 determines that the user authentication in response to the reception from the terminal device 100 has been successful, and that the user authentication in response to the reception of the authentication request from the printer has not been successful. In this case, the server 200 transmits second device selection screen data including "no printer" to the terminal device 100 in T222.
[0052] When the terminal apparatus 100 receives the second device selection screen data from the server 200 in T222, in T224, the terminal apparatus 100 displays a second device selection screen 320 corresponding to the second device selection screen data on the display unit 114. The second device selection screen 320 includes a user ID "user1" corresponding to the logged-in user and a device selection field 322. The device selection field 322 includes information "no printer" indicating that there is no selectable printer. The information "no printer" indicates that user authentication using the printer 10 has not been successful, that is, an authentication request has not been sent from the printer 10 to the server 200.
[0053] T230 and T232 are respectively the same as T10 and T12 in Fig. 3. Thereafter, processing similar to T14 to T40 in Fig. 3 is executed between the printer 10, the authenticator 50, and the server 200. As a result, at T240, an XMPP connection using the authentication token tk1 is established between the printer 10 and the server 200.
[0054] When an XMPP connection is established with the printer 10 in T240, the server 200 determines that the first login information and the second login information in the user table 242 are "ON". In this case, the server 200 transmits first device selection screen data including the device ID "DV1" to the terminal device 100 in T250. T252, T260, and T262 are the same as T94 in Fig. 4 and T100 and T102 in Fig. 5, respectively.
[0055] In T263, the server 200 determines that the authority information stored in the first service table 244 in association with the device ID "DV1" and the user ID "user1" is "public". Furthermore, the server 200 identifies the capability information "Print" in the first service table 244. In this case, the server 200 transmits, in T264, to the terminal device 100, second operation screen data including the information "Print" corresponding to the Print button and the information "Authority setting" corresponding to the authority setting button.
[0056] When the terminal device 100 receives the second operation screen data from the server 200 in T264, the terminal device 100 displays a second operation screen 330 corresponding to the second operation screen data on the display unit 114 in T266. The second operation screen 330 includes a user ID "user1" corresponding to the logged-in user and a button selection field 332. The button selection field 332 is similar to the button selection field 312 of the first operation screen 310 in FIG. 5, except that it does not include a printer setting button. The target user selects the print button 314 in T270. Thereafter, the same processes as those in T112 to T116 in FIG. 5 are executed between the printer 10, the terminal device 100, and the server 200.
[0057] (Effects of Case A and Case B) As shown in case A of Fig. 3 to Fig. 5, when the server 200 receives an authentication request from the printer 10 (T14 of Fig. 3), receives an authentication request from the terminal device 100 (T52 of Fig. 4), and receives the device ID "DV1" from the printer 10 (T44 of Fig. 3), the server 200 transmits first device selection screen data corresponding to the first device selection screen 300 including the device ID "DV1" to the terminal device 100 (T92 of Fig. 4). According to the above configuration, the target user can easily select the printer 10 as the printer to execute the print function. Therefore, the user's convenience is improved.
[0058] 6, when the server 200 receives an authentication request from the terminal device 100 (T52 in FIG. 4 cited in FIG. 6) before receiving an authentication request from the printer 10, the server 200 transmits second device selection screen data corresponding to the second device selection screen 320 to the terminal device 100. According to the above configuration, the target user can know that in order to use the printing function of the printer 10, it is necessary to log in to the server 200 using the printer 10. Therefore, user convenience is improved.
[0059] 3 to 5, when the server 200 receives an authentication request from the printer 10 (T14 in FIG. 3), and after receiving the device ID "DV1" from the printer 10 (T44), and then receives an authentication request from the terminal device 100 (T52 in FIG. 4), the server 200 transmits the first device selection screen data to the terminal device 100 without transmitting the second device selection screen data to the terminal device 100. With the above configuration, it is possible to prevent a screen including information unnecessary for the target user from being displayed.
[0060] 3 to 5, when the authority information in the first service table 244 is "owner" (T103 in FIG. 5), the first operation screen 310 includes the print button 314 and the printer setting button 316 (T106). On the other hand, when the authority information in the first service table 244 is "public" (T263 in FIG. 6), the second operation screen 330 includes the print button 314 but does not include the printer setting button 316 as shown in case B in FIG. 6. When the target user is not the administrator of the printer 10, it is not desirable for the target user to change the settings of the printer 10. According to the above configuration, the settings of the printer 10 can be changed only when the target user is the administrator of the printer 10. Therefore, the printer 10 can be appropriately managed.
[0061] (Case C; Figure 7) With reference to FIG. 7, a case C in which the printer 10 is detached from the authentication device 50 will be described. Case C is a state following case A in FIGS. 3 to 5. That is, an XMPP connection using an authentication token tk1 is established between the printer 10 and the server 200. In addition, in the user table 242, the user ID "user1", the public keys PUK1 and PUK2, the first login information "ON", and the second login information "ON" are stored in association with each other. Note that in this case, "PUBLIC" is stored in the installation information 42 in the memory 34 of the printer 10. In addition, in the first service table 244, the device ID "DV1" and the user ID "user1" are stored in association with the connection information "disconnected".
[0062] At T310, the target user removes the authenticator 50 from the printer 10. As a result, the printer 10 determines that the authenticator 50 has been removed from the printer 10, and at T312 determines that the installation information 42 in the memory 34 is "PUBLIC." In this case, the printer 10 decides to disconnect the XMPP connection with the server 200 and to log out the target user, and at T314 transmits a logout request including the authentication token tk1 to the server 200. The logout request is a signal for requesting the disconnection of the XMPP connection and the logout of the target user.
[0063] When the server 200 receives a logout request from the printer 10 in T314, the server 200 determines in T320 that the second service table 246 is in a non-provision state because the second service table 246 does not include the device ID "DV1". The server 200 also determines in T322 that the connection information stored in the first service table 244 in association with the device ID "DV1" and the user ID "user1" is "disconnected". In this case, the server 200 executes a process for disconnecting the XMPP connection with the printer 10 and a process for logging out the target user in T324. Specifically, the server 200 changes the first login information stored in association with the user ID in the user table 242 from "ON" to "OFF" in T324, and deletes the authentication token tk1 from the first service table 244. Next, the server 200 transmits a token deletion request including the authentication token tk1 to the printer 10 in T326.
[0064] When the printer 10 receives a token deletion request from the server 200 in T326, the printer 10 identifies the authentication token tk1 included in the token deletion request, and determines that no authentication tokens other than the authentication token tk1 are stored in the memory 34. As a result, the printer 10 determines that it is in a non-provision state. In this case, the printer 10 executes processing for disconnecting the XMPP connection with the server 200. As a result, the XMPP connection between the printer 10 and the server 200 is disconnected in T328. When the XMPP connection with the server 200 is disconnected, the printer 10 deletes the authentication token tk1 from the memory 34 in T330.
[0065] (Case D; Figure 7) 7, a case D in which the authenticator 50 is removed from the printer 10 will be described. The initial state of case D is similar to the initial state of case C, except that the connection information stored in the first service table 244 in association with the device ID "DV1" and the user ID "user1" is "maintained."
[0066] T410 to T414 are the same as T310 to T314 in case C.
[0067] When the server 200 receives a logout request from the printer 10 in T414, the server 200 determines in T420 that the printer 10 is in a non-provision state. Furthermore, the server 200 determines in T422 that the connection information in the first service table 244 is "maintained." In this case, the server 200 decides to maintain the XMPP connection with the printer 10 and to maintain the state in which the target user is logged in to the server 200. Therefore, the server 200 does not send a token deletion request including the authentication token tk1 to the printer 10. As a result, the XMPP connection between the printer 10 and the server 200 is maintained, and the state in which the target user is logged in to the server 200 is maintained.
[0068] (Case E; Figure 7) 7, a description will be given of case E in which the authenticator 50 is removed from the printer 10. The initial state of case E is similar to the initial state of case C, except that "OFFICE" is stored in the installation information 42 in the memory 34 of the printer 10.
[0069] T510 is the same as T210 in case C. As a result, the printer 10 determines that the authenticator 50 has been removed from the printer 10, and in T512, determines that the installation information 42 in the memory 34 is "OFFICE". In this case, the printer 10 determines that the XMPP connection with the server 200 should be maintained and that the target user should be maintained logged in, and does not send a logout request to the server 200. As a result, the XMPP connection between the printer 10 and the server 200 is maintained, and the target user is maintained in a logged-in state in the server 200. Note that the printer 10 does not send a logout request to the server 200 even when the installation information 42 in the memory 34 is "HOME".
[0070] (Case F; Figure 8) Referring to FIG. 8, a case F will be described in which printing is performed using the intermediary service, and then the authenticator 50 is removed from the printer 10. The initial state of case F is similar to the initial state of case A in FIGS. 3 to 5, except that the subscription service is provided to the target user. Therefore, an XMPP connection using an authentication token tk11 is established between the printer 10 and the server 200. In addition, the user ID "user1", the device ID "DV1", the authentication token tk11, and the remaining amount information "80" are stored in association with each other in the second service table 246 of the server 200.
[0071] First, processes similar to T10 to T40 in Fig. 3 are executed between the printer 10, the authenticator 50, and the server 200. Because an XMPP connection has already been established between the printer 10 and the server 200, the printer 10 transmits device information including the device ID "DV1" and capability information "Print" to the server 200 at T644 without re-establishing an XMPP connection with the printer 10. Thereafter, processes similar to T50 to T94 in Fig. 4 and T100 to T116 in Fig. 5 are executed between the printer 10, the terminal device 100, and the server 200.
[0072] T650 to T654 are the same as T310 to T314 in FIG. 7. When the server 200 receives a logout request from the printer 10 in T654, the server 200 determines in T660 that the second service table 246 is in a providing state because the second service table 246 includes the device ID "DV1". The server 200 also determines in T662 that the connection information in the first service table 244 is "maintained". In this case, the server 200 decides to maintain the XMPP connection with the printer 10 and to maintain the state in which the target user is logged in. Therefore, the server 200 does not transmit a token deletion request including the authentication token tk1 to the printer 10. As a result, the XMPP connection between the printer 10 and the server 200 is maintained, and the state in which the target user is logged in to the server 200 is maintained.
[0073] (Case G; Figure 8) 8, a case G in which printing is performed using the intermediary service and then the authentication device 50 is removed from the printer 10 will be described. The initial state of case G is similar to the initial state of case F, except that the connection information stored in the first service table 244 in association with the device ID "DV1" and the user ID "user1" is "disconnected."
[0074] First, processes similar to T10 to T40 in FIG. 3, T644 in FIG. 8, T50 to T94 in FIG. 4, T100 to T116 in FIG. 5, and T650 and T652 in FIG. 8 are executed between the printer 10, the authentication device 50, the terminal device 100, and the server 200.
[0075] When the server 200 receives a logout request from the printer 10 in T754, the server 200 determines in T760 that the printer 10 is in a provided state. The server 200 also determines in T762 that the connection information in the first service table 244 is "disconnected." In this case, the server 200 decides to maintain the XMPP connection with the printer 10 and to log the target user out of the server 200. Therefore, the server 200 changes the first login information in the user table from "ON" to "OFF" in T764, and deletes the authentication token tk1 from the first service table 244. Next, the server 200 transmits a token deletion request including the authentication token tk1 to the printer 10 in T766.
[0076] When the printer 10 receives the token deletion request from the server 200 in T766, the printer 10 identifies the authentication token tk1 included in the token deletion request, and determines that an authentication token tk11 other than the authentication token tk1 is stored in the memory 34. For this reason, the printer 10 does not execute processing to disconnect the XMPP connection with the server 200. The printer 10 deletes the authentication token tk1 from the memory 34 in T770. As a result, the XMPP connection between the printer 10 and the server 200 is maintained, and the target user is logged out from the server 200.
[0077] (Effects of Cases C to G) As shown in case C of FIG. 7, when the server 200 receives a logout request from the printer 10 in the non-provisioning state (T314), the server 200 disconnects the XMPP connection with the printer 10 (T328). On the other hand, as shown in cases F and G of FIG. 8, when the server 200 receives a logout request from the printer 10 in the provisioning state (T654, T754), the server 200 does not disconnect the XMPP connection with the printer 10. When the XMPP connection between the printer 10 and the server 200 is disconnected in the provisioning state, the target user cannot receive the subscription service. According to the above configuration, the target user can continue to receive the subscription service. Therefore, the user's convenience is improved.
[0078] As shown in case C of FIG. 7, when the server 200 receives a logout request from the printer 10 in the non-provision state (T314) and the connection information in the first service table 244 is "disconnected" (T322), the server 200 disconnects the XMPP connection with the printer 10 (T328). On the other hand, as shown in case D, when the server 200 receives a logout request from the printer 10 in the non-provision state (T414) and the connection information in the first service table 244 is "maintained" (T422), the server 200 does not disconnect the XMPP connection with the printer 10. There are also users who wish to use the print function of the printer 10 continuously. According to the above configuration, by setting "maintained" to the connection information corresponding to a user who wishes to use the print function of the printer 10 continuously, the user can use the print function of the printer 10 continuously. Therefore, the convenience of the user is improved.
[0079] As shown in case C of FIG. 7, when the authenticator 50 is removed from the USB interface 18 (T210) and the setting information 42 is "PUBLIC" (T212), the printer 10 transmits a logout request to the server 200. On the other hand, as shown in case E, when the authenticator 50 is removed from the USB interface 18 (T410) and the setting information 42 is "OFFICE" (T412), the printer 10 does not transmit a logout request to the server 200. If "PUBLIC" is stored in the setting information 42, it is highly likely that the next user who uses the printer 10 is a third party unrelated to the target user. In such a situation, it is not desirable to maintain a state in which the printing function of the printer 10 can be executed using the terminal device 100 after the authenticator 50 is removed from the printer 10. On the other hand, if "OFFICE" is stored in the setting information 42, it is highly likely that the next user who uses the printer 10 is a colleague of the target user. In such a situation, there is no problem even if the state where the printing function of the printer 10 can be executed using the terminal device 100 is maintained. Even if the target user executes the printing function of the printer 10 using the terminal device 100, there is no possibility that the documents will be viewed by a third party. In this way, the printer 10 can appropriately switch whether or not to send a logout request to the server 200 according to the information stored in the installation information 42.
[0080] (Effects of this embodiment) According to the above configuration, when the server 200 receives an authentication request from the printer 10 (T14 in FIG. 3) and also receives an authentication request from the terminal device 100 (T52 in FIG. 4), it transmits first operation screen data to the terminal device 100 (T104 in FIG. 5). When the server 200 receives a print request from the terminal device 100 (T112), it transmits a print instruction to the printer 10 (T114). When the printer 10 receives a print instruction from the server 200 (T114), it causes the print engine 16 to execute the print function (T116). Therefore, when the server 200 receives an authentication request from the printer 10 and also receives an authentication request from the terminal device 100, it can cause the print engine 16 of the printer 10 to execute the print function.
[0081] (Correspondence) The printer 10 is an example of a "function executing device." The user ID is an example of "user identification information." The authentication request of T14 in FIG. 3 is an example of a "first login request." The login request of T52 in FIG. 4 is an example of a "second login request." The print function is an example of a "specific function." The operation of T110 in FIG. 5 is an example of a "function executing operation." The first operation screen 310 of T106 in FIG. 5 and the second operation screen 330 of T266 in FIG. 6 are examples of an "operation reception screen." The operation screen data of T104 in FIG. 5 is an example of "operation reception screen data." The print request of T112 in FIG. 5 is an example of "operation information." The print instruction of T114 in FIG. 5 is an example of a "function execution instruction." The device ID "DV1" is an example of "device identification information." The first device selection screen 300 of T94 in FIG. 4 is an example of a "selection screen." The first device selection screen data of T92 in FIG. 4 is an example of a "selection screen." The operation screen data request of T102 in FIG. 5 is an example of "selection information". The second device selection screen 320 of T524 in FIG. 7 is an example of "not received screen". The second device selection screen data of T522 in FIG. 7 is an example of "not received screen data". The authority information "owner" and "public" are examples of "administrator information" and "general information", respectively. The print button 314 of the first operation screen 310 and the second operation screen 330 is an example of "first button". The printer setting button 316 of the first operation screen 310 is an example of "second button". The XMPP connection is an example of "always connected". The subscription service is an example of "service related to the function executing device". The logout requests of T214 and T314 in FIG. 6 and T654 and T754 in FIG. 8 are examples of "disconnection instruction". The connection information "maintain" and "disconnect" are examples of "maintain information" and "disconnection information", respectively. The authentication token tk1 of T38 in FIG. 3 is an example of "authentication information". The FIDO authentication method is an example of a "predetermined authentication method." Fingerprint information 62 is an example of "biometric authentication information." USBI / F18 is an example of an "interface." The one-time pass OP1 of T18 in FIG. 3 is an example of "verification information." The fingerprint authentication screen of T20 in FIG. 3 is an example of an "authentication instruction screen." Installation information 42 "public" is an example of a "predetermined condition.""Public" in the installation information 42 is an example of a "first value." "Office" and "Home" in the installation information 42 are examples of a "second value."
[0082] T14 in FIG. 3 is an example of a process executed by the "first login request transmission unit" of the "function executing device". T52 in FIG. 4 is an example of a process executed by the "second login request transmission unit" of the "terminal device". T14 in FIG. 3 is an example of a process executed by the "first login request reception unit" of the "server". T52 in FIG. 4 is an example of a process executed by the "second login request reception unit" of the "server". T104 in FIG. 5 and T264 in FIG. 6 are examples of a process executed by the "screen data transmission unit" of the "server". T104 in FIG. 5 and T264 in FIG. 6 are examples of a process executed by the "screen data reception unit" of the "terminal device". T106 in FIG. 5 and T266 in FIG. 6 are examples of a process executed by the "display control unit" of the "terminal device". T112 in FIG. 5 is an example of a process executed by the "operation information transmission unit" of the "terminal device". T112 in Fig. 5 is an example of a process executed by an "operation information receiving unit" of the "server". T114 in Fig. 5 is an example of a process executed by a "function execution instruction transmitting unit" of the "server". T114 in Fig. 5 is an example of a process executed by a "function execution instruction receiving unit" of the "function executing device". T116 in Fig. 5 is an example of a process executed by a "function execution control unit" of the "function executing device".
[0083] T104 in FIG. 5 and T264 in FIG. 6 are examples of the processing executed by the "first screen data transmission unit" of the "server".
[0084] 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.
[0085] (First Variation) The "function performing device" is not limited to a printer, and may be a scanner, MFP, etc. When a scanner is the "function performing device", a scan function is an example of a "specific function", and a scan engine is an example of a "function performing engine". When an MFP is the "function performing device", a print function, a scan function, or a fax function is an example of a "specific function", and a print engine, a scan engine, or a fax engine is an example of a "function performing engine".
[0086] (Second Modification) In the embodiment, the target user logs in to the server 200 in response to the success of FIDO authentication using biometric authentication. In a modification, the target user may log in to the server 200 in response to the success of authentication using a password. In this modification, the memory 234 of the server 200 stores a combination of the user ID "user1" and the password. Then, instead of T10 to T12 in FIG. 3, the target user executes a login operation to input the user ID "user1" and the password to the printer 10. In this case, the server 200 determines that the user authentication of the target user has been successful because the combination of the user ID "user1" and the password received from the printer 10 is stored in the memory 234. Also, instead of T50 in FIG. 4, the target user executes a login operation to input the user ID "user1" and the password to the terminal device 100. In this case, the server 200 also determines that the user authentication of the target user has been successful. Note that FIDO authentication may be used for one of logging in to the server 200 using the printer 10 and logging in to the server 200 using the terminal device 100, and password authentication may be used for the other.
[0087] (Third Modification) T90 to T94 in Fig. 4 and T100 and T102 in Fig. 5 can be omitted. That is, the server 200 may transmit the first operation screen data to the terminal device 100 without transmitting the first device selection screen data to the terminal device 100. In this modification, the "second screen data transmitting unit" and the "selection information receiving unit" can be omitted.
[0088] (Fourth Modification) It is possible to omit T222 and T224 in Fig. 6. In this modification, it is possible to omit the "third screen data transmission unit."
[0089] (Fifth Modification) The first service table 244 does not have to include "authority information". In this modification, the server 200 transmits the same operation screen data to the terminal device 100 regardless of the type of target user. In this modification, the button selection field on the operation screen may include a print button and a printer setting button.
[0090] (Sixth Modification) When the server 200 receives a logout request from the printer 10, the server 200 may disconnect the XMPP connection with the printer 10 regardless of whether a subscription service is being provided.
[0091] (Seventh Modification) The first service table 244 does not have to include "connection information." In this modification, when the server 200 is in a providing state and receives a logout request from the printer 10, the server 200 maintains the XMPP connection with the printer 10. Also, when the server 200 is in a non-providing state and receives a logout request from the printer 10, the server 200 disconnects the XMPP connection with the printer 10.
[0092] (Eighth Modification) The intermediary service may be a service that does not use an XMPP connection. In this modification, T36 to T42 and T46 in FIG. 3 can be omitted. After T34 in FIG. 3, the server 200 sends success information to the printer 10 indicating that the user authentication has been successful. When the printer 10 receives the success information from the server 200, the printer 10 periodically sends an instruction request to the server 200. Then, when the server 200 receives a print request from the terminal device 100 after sending the success information to the printer 10, it sends a print instruction to the printer 10 as a response to the instruction request. In this modification, the "authentication information receiving unit" and "establishment unit" can be omitted.
[0093] (Ninth Modification) Printer 10 may switch whether or not to send a logout request to server 200 depending on the usage history of printer 10. For example, printer 10 stores the history of the authentication device connected to printer 10 in memory 34. Then, printer 10 sends a logout request to the server when the number of histories stored in memory 34 is equal to or greater than a predetermined number, and does not send a logout request to server 200 when the number of histories is less than the predetermined number.
[0094] (Tenth Modification) The "service" is not limited to a subscription service, but may be an automatic ordering service, a charge service, etc. A charge service is a service in which a user pays a fee in advance and is able to print the number of sheets according to the fee paid.
[0095] (Eleventh Modification) The first service table 244 does not have to be stored in the memory 234 of the server 200. That is, the user ID and the device ID do not have to be stored in association with each other as information for using the intermediation service. In this modification, the server 200 transmits first device selection screen data to the terminal device 100 when the user ID included in the authentication request received from the printer 10 matches the user ID included in the authentication request received from the terminal device 100. Then, the server 200 transmits second operation screen data to the terminal device 100 when the server 200 receives an operation screen data request including the device ID "DV1" from the terminal device 100.
[0096] (Twelfth Modification) In the above embodiment, the processes in FIGS. 3 to 8 are realized by software (for example, programs 40, 140, 240), but at least one of these processes may be realized by hardware such as a logic circuit.
[0097] 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 itself has technical utility.
[0098] In the scope of the claims at the time of filing of this patent application, even if each claim is dependent on only some of the claims, it is not limited to the fact that each claim can be dependent on only those some of the claims. Each claim can also be dependent on other claims that are not dependent on it at the time of filing to the extent that there is no technical contradiction. In other words, the technology of each claim can be combined in various ways as follows: (Item 1) A communication system comprising a function executing device, a terminal device, and a server, The function execution device comprises: a first login request transmission unit that transmits a first login request including user identification information for identifying a user to the server; The terminal device a second login request transmission unit that transmits a second login request including the user identification information to the server; The server, a first login request receiving unit that receives the first login request from the function performing device; a second login request receiving unit that receives the second login request from the terminal device; a screen data transmission unit configured to transmit, when the first log-in request is received from the function executing device and the second log-in request is received from the terminal device, operation acceptance screen data corresponding to an operation acceptance screen for receiving a function executing operation for causing the function executing device to execute a specific function to the function executing device, The terminal device further comprises: a screen data receiving unit that receives the operation acceptance screen data from the server after the second login request is transmitted to the server; a display control unit that displays the operation reception screen on a display unit of the terminal device when the operation reception screen data is received from the server; an operation information transmission unit that transmits operation information corresponding to the function executing operation to the server when the function executing operation is accepted on the operation acceptance screen, The server further comprises: an instruction information receiving unit that receives the operation information from the terminal device; a function execution instruction sending unit configured to send a function execution instruction to the function executing device for causing the function executing device to execute the specific function when the operation information is received from the terminal device, The function execution device further comprises: a function execution instruction receiving unit for receiving the function execution instruction from the server; a function execution control unit that causes a function execution engine of the function execution device to execute the specific function when the function execution instruction is received from the server. Communication systems. (Item 2) A server, a first login request receiving unit that receives a first login request including user identification information for identifying a user from the function executing device; a second login request receiving unit that receives a second login request including the user identification information from a terminal device; a first screen data transmission unit that, when the first login request is received from the function executing device and the second login request is received from the terminal device, transmits to the terminal device operation acceptance screen data corresponding to an operation acceptance screen for receiving a function executing operation for causing the function executing device to execute a specific function; an operation information receiving unit that receives operation information corresponding to the function execution operation from the terminal device after the operation reception screen data is transmitted to the terminal device; a function execution instruction sending unit that sends a function execution instruction to the function executing device to cause the function executing device to execute the specific function when the operation information is received from the terminal device; A server comprising: (Item 3) The server further comprises: a device identification information receiving unit for receiving device identification information for identifying the function performing device from the function performing device; a second screen data transmission unit configured to transmit, when the first login request is received from the function performing device, the second login request is received from the terminal device, and the device identification information is received from the function performing device, selection screen data corresponding to a selection screen including the device identification information to the terminal device; a selection information receiving unit that receives selection information indicating that the device identification information has been selected from the terminal device in response to the selection screen data being transmitted to the terminal device, 3. The server according to item 2, wherein the first screen data transmission unit transmits the operation acceptance screen data to the terminal device when the selection information is received from the terminal device. (Item 4) The server further comprises: The server according to item 3, further comprising a third screen data transmission unit that, when the second login request is received from the terminal device before the first login request is received from the function executing device, transmits to the terminal device unreceived screen data corresponding to a unreceived screen indicating that the first login request has not been received from the function executing device. (Item 5) The second screen data transmission unit includes: after the unreceived screen data is transmitted to the terminal device, when the first login request is received from the function performing device and the device identification information is received from the function performing device, the selected screen data is transmitted to the terminal device. 5. The server according to claim 4, wherein when the second login request is received from the terminal device after the first login request is received from the function executing device and the device identification information is received from the function executing device, the server transmits the selection screen data to the terminal device without transmitting the unreceived screen data to the terminal device. (Item 6) The server further comprises: a memory for storing the user identification information and authority information in association with each other; the authority information is either administrator information indicating that the user is an administrator of the function executing device or general information indicating that the user is a general user different from the administrator, when the authority information in the memory is the administrator information, the operation accepting screen includes a first button for accepting the function executing operation and a second button for accepting a setting change operation for changing a setting of the function executing device; A server according to any one of items 2 to 5, wherein when the authority information in the memory is the general information, the operation reception screen includes the first button and does not include the second button. (Item 7) the server is capable of providing the user with a service related to the function performing device, the service utilizing a constant connection with the function performing device; The server further comprises: an establishment unit that establishes a constant connection with the function executing device when the first login request is received from the function executing device in a non-provision state in which the service is not provided to the user; the function execution instruction transmission unit transmits the function execution instruction to the function executing device by using the constant connection when the operation information is received from the terminal device; The server further comprises: a disconnection instruction receiving unit that receives a disconnection instruction for disconnecting the constant connection from the function executing device; 7. The server according to any one of claims 2 to 6, further comprising a disconnection unit that disconnects the constant connection when the disconnection instruction is received from the function executing device in the non-provision state, and wherein the constant connection is not disconnected when the disconnection instruction is received from the function executing device in a provision state in which the service is provided to the user. (Item 8) The server further comprises: a memory that stores the user identification information and connection information in association with each other; the connection information is either maintenance information indicating that the constant connection is to be maintained or disconnection information indicating that the constant connection is to be disconnected, The cutting portion is disconnecting the constant connection when the disconnection instruction is received from the function executing device and the connection information in the memory is the disconnection information in the non-provision state; 8. The server according to item 7, wherein in the non-provisioning state, if the disconnection instruction is received from the function executing device and the connection information in the memory is the maintenance information, the server does not disconnect the constant connection. (Item 9) A function-performing device, comprising: a function execution engine for executing a specific function; a first login request transmission unit configured to transmit a first login request including user identification information for identifying a user to a server, The server, when the first login request is received from the function performing device and a second login request including the user identification information is received from a terminal device, transmitting to the terminal device instruction acceptance screen data corresponding to an instruction acceptance screen for receiving a function performing operation for causing the function performing device to perform the specific function; when receiving operation information corresponding to the function executing operation from the terminal device after the instruction acceptance screen data is transmitted to the terminal device, transmitting a function executing instruction to the function executing device for causing the function executing device to execute the specific function; the first login request transmission unit; a function execution instruction receiving unit for receiving the function execution instruction from the server; a function execution control unit that causes the function execution engine to execute the specific function when the function execution instruction is received from the server; A function performing device comprising: (Item 10) The function execution device further comprises: an authentication information receiving unit that receives authentication information from the server after the first login request is transmitted to the server; an establishment unit that establishes a constant connection with the server by using the authentication information when the authentication information is received from the server, Item 10. The function executing device according to item 9, wherein the function execution instruction receiving unit receives the function execution instruction from the server by utilizing the constant connection. (Item 11) the function performing device is operable according to a predetermined authentication scheme utilizing a pair of keys; The function execution device further comprises: an interface to which an authentication device that stores the user identification information, the biometric authentication information, and a private key in association with each other is connected; the first login request transmission unit transmits the first login request to the server when the authentication device is connected to the interface; The function execution device further comprises: a verification information receiving unit that receives verification information from the server in response to the first login request being transmitted to the server; a display control unit that, when the verification information is received from the server, causes a display unit of the function performing device to display an authentication instruction screen for causing the user to perform authentication using the authentication device; a verification information transmission unit that transmits the verification information to the authentication device when the verification information is received from the server; a signature information receiving unit that receives signature information from the authentication device when the authentication of the user using the biometric authentication information by the authentication device is successful after the authentication instruction screen is displayed on the display unit, the signature information receiving unit generating the signature information by encrypting the verification information using the private key; a signature information transmission unit that transmits the user identification information and the signature information to the server when the signature information is received from the authentication device, the server decrypting the signature information by using a public key that is associated with the user identification information and stored in the server; Item 11. The function executing device according to item 10, further comprising a disconnection instruction sending unit that sends a disconnection instruction to the server to disconnect the constant connection when the authenticator is removed from the interface and a specified condition is satisfied, and when the authenticator is removed from the interface and the specified condition is not satisfied, the disconnection instruction is not sent. (Item 12) the function executing device further includes a memory for storing a setting value related to disconnection of the constant connection; When the set value is a first value, the predetermined condition is satisfied; Item 12. The function executing device according to item 11, wherein the predetermined condition is not satisfied when the set value is a second value. [Explanation of symbols]
[0099] 2: communication system, 6: Internet, 10: printer, 12: operation unit, 14: display unit, 16: print engine, 18: USB I / F, 20: communication I / F, 30: control unit, 32: CPU, 34: memory, 40: program, 42: installation information, 50: authentication device, 60: memory, 62: fingerprint information, 100: terminal device, 112: operation unit, 114: display unit, 120: communication I / F, 130: control unit, 132: CPU, 134: memory, 140: OS program, 142: fingerprint information, 200: server, 220: communication I / F, 230: control unit, 232: CPU, 234: memory, 240: program, 242: user table, 244: first service table, 246: second service table
Claims
1. A communication system comprising a function executing device, a terminal device, and a server, The function performing device comprises: a first login request transmission unit that transmits a first login request including user identification information for identifying a user to the server; The terminal device a second login request transmission unit that transmits a second login request including the user identification information to the server; The server, a first login request receiving unit that receives the first login request from the function performing device; a second login request receiving unit that receives the second login request from the terminal device; a screen data transmission unit configured to transmit, when the first log-in request is received from the function executing device and the second log-in request is received from the terminal device, operation acceptance screen data corresponding to an operation acceptance screen for receiving a function executing operation for causing the function executing device to execute a specific function to the function executing device, The terminal device further comprises: a screen data receiving unit that receives the operation acceptance screen data from the server after the second login request is transmitted to the server; a display control unit that displays the operation reception screen on a display unit of the terminal device when the operation reception screen data is received from the server; an operation information transmission unit that transmits operation information corresponding to the function executing operation to the server when the function executing operation is accepted on the operation acceptance screen, The server further comprises: an instruction information receiving unit that receives the operation information from the terminal device; a function execution instruction sending unit that sends a function execution instruction to the function executing device to cause the function executing device to execute the specific function when the operation information is received from the terminal device, The function execution device further comprises: a function execution instruction receiving unit for receiving the function execution instruction from the server; a function execution control unit that causes a function execution engine of the function execution device to execute the specific function when the function execution instruction is received from the server. Communication systems.
2. A server, a first login request receiving unit that receives a first login request including user identification information for identifying a user from the function performing device; a second login request receiving unit that receives a second login request including the user identification information from a terminal device; a first screen data transmission unit that, when the first log-in request is received from the function performing device and the second log-in request is received from the terminal device, transmits to the terminal device operation acceptance screen data corresponding to an operation acceptance screen for receiving a function performing operation for causing the function performing device to execute a specific function; an operation information receiving unit that receives operation information corresponding to the function execution operation from the terminal device after the operation reception screen data is transmitted to the terminal device; a function execution instruction sending unit that sends a function execution instruction to the function executing device to cause the function executing device to execute the specific function when the operation information is received from the terminal device; A server comprising:
3. The server further comprises: a device identification information receiving unit for receiving device identification information for identifying the function performing device from the function performing device; a second screen data transmission unit configured to transmit, when the first login request is received from the function performing device, the second login request is received from the terminal device, and the device identification information is received from the function performing device, selection screen data corresponding to a selection screen including the device identification information to the terminal device; a selection information receiving unit that receives selection information indicating that the device identification information has been selected from the terminal device in response to the selection screen data being transmitted to the terminal device, The server according to claim 2 , wherein the first screen data transmission unit transmits the operation acceptance screen data to the terminal device when the selection information is received from the terminal device.
4. The server further comprises:
4. The server according to claim 3, further comprising: a third screen data transmission unit configured to transmit, when the second login request is received from the terminal device before the first login request is received from the function performing device, to the terminal device unreceived screen data corresponding to a unreceived screen indicating that the first login request has not been received from the function performing device.
5. The second screen data transmission unit transmitting the selected screen data to the terminal device when the first login request is received from the function performing device and the device identification information is received from the function performing device after the unreceived screen data is transmitted to the terminal device; 5. The server according to claim 4, wherein when the second login request is received from the terminal device after the first login request is received from the function performing device and the device identification information is received from the function performing device, the server transmits the selected screen data to the terminal device without transmitting the unreceived screen data to the terminal device.
6. The server further comprises: a memory for storing the user identification information and authority information in association with each other; the authority information is either administrator information indicating that the user is an administrator of the function executing device or general information indicating that the user is a general user different from the administrator, when the authority information in the memory is the administrator information, the operation accepting screen includes a first button for accepting the function executing operation and a second button for accepting a setting change operation for changing a setting of the function executing device; The server according to claim 2 , wherein when the authority information in the memory is the general information, the operation reception screen includes the first button and does not include the second button.
7. the server is capable of providing the user with a service related to the function performing device, the service utilizing a constant connection with the function performing device; The server further comprises: an establishment unit that establishes a constant connection with the function performing device when the first login request is received from the function performing device in a non-provision state in which the service is not provided to the user; the function execution instruction transmission unit transmits the function execution instruction to the function executing device by using the constant connection when the operation information is received from the terminal device; The server further comprises: a disconnection instruction receiving unit that receives a disconnection instruction for disconnecting the constant connection from the function executing device; 3. The server according to claim 2, further comprising a disconnection unit that disconnects the constant connection when the disconnection instruction is received from the function executing device in the non-provision state, and wherein the constant connection is not disconnected when the disconnection instruction is received from the function executing device in a provision state in which the service is provided to the user.
8. The server further comprises: a memory that stores the user identification information and connection information in association with each other; the connection information is either maintenance information indicating that the constant connection is to be maintained or disconnection information indicating that the constant connection is to be disconnected, The cutting portion is disconnecting the constant connection when the disconnection instruction is received from the function executing device and the connection information in the memory is the disconnection information in the non-provision state; 8. The server according to claim 7, wherein, in the non-provisioning state, if the disconnection instruction is received from the function performing device and the connection information in the memory is the maintenance information, the server does not disconnect the constant connection.
9. A function-performing device, comprising: a function execution engine for executing a specific function; a first login request transmission unit configured to transmit a first login request including user identification information for identifying a user to a server, The server, when the first log-in request is received from the function performing device and a second log-in request including the user identification information is received from a terminal device, transmitting to the terminal device instruction acceptance screen data corresponding to an instruction acceptance screen for receiving a function performing operation for causing the function performing device to perform the specific function; when receiving operation information corresponding to the function executing operation from the terminal device after the instruction acceptance screen data is transmitted to the terminal device, transmitting a function executing instruction to the function executing device for causing the function executing device to execute the specific function; the first login request transmission unit; a function execution instruction receiving unit for receiving the function execution instruction from the server; a function execution control unit that causes the function execution engine to execute the specific function when the function execution instruction is received from the server; A function performing device comprising:
10. The function execution device further comprises: an authentication information receiving unit that receives authentication information from the server after the first login request is transmitted to the server; an establishment unit that establishes a constant connection with the server by using the authentication information when the authentication information is received from the server, The function executing device according to claim 9 , wherein the function execution instruction receiving unit receives the function execution instruction from the server by utilizing the constant connection.
11. the function performing device is operable according to a predetermined authentication scheme utilizing a pair of keys; The function execution device further comprises: an interface to which an authentication device that stores the user identification information, the biometric authentication information, and a private key in association with each other is connected; the first login request transmission unit transmits the first login request to the server when the authentication device is connected to the interface; The function execution device further comprises: a verification information receiving unit that receives verification information from the server in response to the first login request being transmitted to the server; a display control unit that, when the verification information is received from the server, causes a display unit of the function performing device to display an authentication instruction screen for causing the user to perform authentication using the authentication device; a verification information transmission unit that transmits the verification information to the authentication device when the verification information is received from the server; a signature information receiving unit that receives signature information from the authentication device when the authentication of the user using the biometric authentication information by the authentication device is successful after the authentication instruction screen is displayed on the display unit, the signature information receiving unit generating the signature information by encrypting the verification information using the private key; a signature information transmission unit that transmits the user identification information and the signature information to the server when the signature information is received from the authentication device, the server decrypting the signature information by using a public key that is associated with the user identification information and stored in the server; 11. The function executing device according to claim 10, further comprising a disconnection instruction sending unit configured to send a disconnection instruction to the server for disconnecting the constant connection when the authenticator is removed from the interface and a predetermined condition is satisfied, and when the authenticator is removed from the interface and the predetermined condition is not satisfied, the disconnection instruction is not sent.
12. the function executing device further includes a memory for storing a setting value related to disconnection of the constant connection; When the set value is a first value, the predetermined condition is satisfied; 12. The function performing apparatus of claim 11, wherein the predetermined condition is not satisfied when the set value is a second value.
Citation Information
Patent Citations
Information processor, control method of information processor, and program
JP2012190400A