Devices and computer programs

The device ensures seamless server access and service continuity by registering and re-registering connection information with an intermediary server during state transitions, addressing the MFP's service access issues in existing systems.

JP7879519B2Active Publication Date: 2026-06-24BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2022-04-08
Publication Date
2026-06-24

AI Technical Summary

Technical Problem

Existing systems do not adequately address the transition of a multi-functional peripheral (MFP) from a state where it can access a server to a state where it can utilize server-provided services, potentially leading to loss of access and service usage.

Method used

A device equipped with intermediary server information and a state transition mechanism that registers and re-registers connection information with an intermediary server to ensure continued access to services after state transitions, such as initialization, by reconnecting and re-receiving configuration information from the target server.

Benefits of technology

Prevents loss of server access and service usage during state transitions by ensuring the device can reconnect and reconfigure after initialization, allowing flexible service provision and use without requiring prior knowledge of all services at manufacturing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007879519000001
    Figure 0007879519000001
  • Figure 0007879519000002
    Figure 0007879519000002
  • Figure 0007879519000003
    Figure 0007879519000003
Patent Text Reader

Abstract

To prevent services provided by a server from becoming unavailable.SOLUTION: A device has a memory that stores mediation server information for connecting to a mediation server, connects to the mediation server using the mediation server information, receives connection information from the mediation server if the connection information is registered with the mediation server, connects to a target server using the connection information, and receives configuration information from the target server so that the device is in a first state in which it can use services provided by the target server. When a transition process is to be executed to shift a device state from a first state to a second state, the device executes a registration process for re-registering the connection information with the mediation server, executes the transition process after the registration process, receives the connection information from the mediation server again after the transition process, uses the connection information to connect to the target server, and receives the configuration information again.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to a device connected to a server and a computer program.

Background Art

[0002] In the system disclosed in Patent Document 1, a multi-functional peripheral (MFP) accesses a connection destination providing server and receives the URL of a server that stores an application. The MFP uses the received URL to access the server and download the application.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, the above document does not disclose any processing for transitioning the state of the MFP, for example, transitioning from a state where it can access the server to the state at the time of factory shipment. For this reason, with the technology of the above document, when the state of the MFP is transitioned, there is a possibility that the MFP cannot access the server and cannot use the services provided by the server.

[0005] This specification discloses a technique capable of suppressing the situation where a device after transition cannot use the services provided by a server when transitioning the state of a device connected to the server.

Means for Solving the Problems

[0006] The technology disclosed in this specification can be realized as the following application examples.

[0007] [Application Example 1] A device, A memory for storing intermediary server information for connecting to an intermediary server where connection information is registered in association with device identification information indicating the device, wherein the connection information is information indicating the location of the target server to be connected to; a connection information receiving unit that connects to the intermediary server using the intermediary server information and receives the connection information from the intermediary server if the connection information is registered in the intermediary server; a configuration information receiving unit that connects to the target server using the connection information and receives configuration information from the target server for the device to use the services provided by the target server; a storage processing unit that stores the received configuration information in the memory; and a state transition unit that performs a transition process to transition the state of the device from a first state to a second state, wherein the first state is when the configuration information is stored in the memory. The device comprises: a state transition unit, wherein the service is available to the device when stored, the second state being a state in which the intermediary server information is stored in the memory, the connection information is not stored in the memory, and the configuration information is not stored in the memory; and a registration processing unit, which, when the transition processing should be performed, performs a registration processing to re-register the connection information with the intermediary server, wherein the state transition unit performs the transition processing after the registration processing, the connection information receiving unit receives the connection information to be re-registered from the intermediary server after the transition processing, the configuration information receiving unit connects to the target server using the received connection information and receives the configuration information again, and the storage processing unit stores the configuration information that has been received again in the memory.

[0008] According to the above configuration, when a transition process should be performed, the device performs a connection information registration process, and then performs the transition process. After the transition process, the device receives the connection information registered again from the intermediary server, and using the newly received connection information, it receives the configuration information again from the target server and stores it in memory. As a result, the state of the device connected to the target server is determined by the first of From state to second ofWhen transitioning to a new state, it is possible to prevent the device from losing access to services provided by the target server after the transition.

[0009] Furthermore, the technologies disclosed herein can be implemented in various forms, for example, in the form of a system including a target server and a device, a method in a device or system, a computer program for realizing the functions of these devices and methods, a recording medium on which the computer program is stored, and so on. [Brief explanation of the drawing]

[0010] [Figure 1] A block diagram showing the configuration of System 1000. [Figure 2] A diagram illustrating a database and the information stored in it. [Figure 3] A sequence diagram of the processes performed when a user purchases printer 100. [Figure 4] Sequence diagram of initialization-related processing in the first embodiment. [Figure 5] A diagram showing an example of the screen displayed on the display unit 140. [Figure 6] Sequence diagram of initialization-related processing in the second embodiment. [Figure 7] The first sequence diagram of the initialization-related processes for the modified version. [Figure 8] A second sequence diagram of the initialization-related processes for the modified example.

[0011] A. First Example A-1. Configuration of System 1000 Figure 1 is a block diagram showing the configuration of system 1000. System 1000 comprises a printer 100, servers 300A to 300D that provide services using the printer, and an intermediary server 400. Note that the terminal device 200 is not required in the first embodiment, but is included in the second embodiment. For this reason, the terminal device 200 will be described in the second embodiment.

[0012] The printer 100 includes a CPU 110, a volatile storage device 120 such as DRAM, and a non-volatile storage device 130 such as a hard disk or flash memory, as the controller of the printer 100. The printer 100 also includes a display unit 140 such as a liquid crystal display for displaying images, an operation unit 150 such as buttons or a touch panel for acquiring user input, a printing mechanism 170, and a communication interface (IF) 180.

[0013] The communication interface 180 is an interface for connecting to the Internet of Things (IT), such as a wired interface compliant with Ethernet® or a wireless interface compliant with the Wi-Fi standard.

[0014] The CPU 110 is a processing unit (processor) that performs data processing. The volatile storage device 120 provides a buffer area for temporarily storing various intermediate data generated when the CPU 110 performs processing. The non-volatile storage device 130 stores the computer program PGp for controlling the printer 100 and the voucher header VH, which will be described later.

[0015] In this embodiment, the computer program PGp is ​​provided pre-stored in the non-volatile storage device 130 during the manufacturing of the printer 100. Alternatively, the computer program PGp may be provided, for example, by being downloaded from a server connected via the Internet IT, or by being recorded on a CD-ROM or the like.

[0016] The CPU 110 controls the printer 100 by executing a computer program PGp. For example, as will be described later, the CPU 110 collaborates with any one of the servers 300A to 300D to execute a process (hereinafter also referred to as service processing) of providing a predetermined service (for example, a setup service, a consumable management service, or a printing service described later) to the user. Further, as will be described later, prior to the service processing, the CPU 110 collaborates with the target server or the mediation server 400 to execute the preliminary preparation described later.

[0017] The printing mechanism 170 executes printing according to the control of the CPU 110. The printing mechanism 170 of the present embodiment is an inkjet printing mechanism that uses a plurality of types of inks (for example, four types of inks: cyan, magenta, yellow, and black) as coloring materials to print an image on a recording medium. Instead of this, the printing mechanism 170 may be an electrophotographic printing mechanism that uses toner as a coloring material to print an image on a recording medium.

[0018] The servers 300A to 300E are, for example, computers operated by a service provider that provides services, such as cloud servers. For example, the operator who operates the servers 300A to 300E is a manufacturer of the printer 100 or a third party different from the manufacturer. The servers 300A to 300E may each include two or more servers operated by two or more different operators. Let the services provided by the servers 300A to 300E be service A to service D, respectively. The services A to D include, for example, a setup service, a consumable management service, and a printing service. The setup service is, for example, a service for installing programs such as drivers and applications in the printer 100 and performing predetermined settings. The consumable management service is, for example, a service for managing the remaining amount of consumables of the printer 100, such as ink, and delivering the consumables to the user according to the consumption of the consumables. The printing service is, for example, a service for causing the printer 100 to perform printing by generating a print job using an image file transmitted from the user's terminal and transmitting it to the printer 100.

[0019] Server 300A includes a CPU 310 as a controller, a volatile memory device 320 such as a DRAM, a non-volatile memory device 330 such as a hard disk or a flash memory, and a communication interface (IF) 380. The communication IF 380 is, for example, a wired interface compliant with Ethernet (registered trademark).

[0020] The CPU 310 is an arithmetic unit (processor) that performs data processing. The volatile memory device 320 provides a buffer area for temporarily storing various intermediate data generated when the CPU 310 performs processing. The non-volatile memory device 330 stores a computer program PGa and a voucher database VDB, which will be described later.

[0021] The computer program PGa is provided, for example, in a form uploaded by an operator who operates the server 300A. The CPU 310 of the server 300A executes the computer program PGa to execute service processing for realizing a service to be provided in cooperation with the printer 100. Also, prior to the service processing, the CPU 310 executes preliminary preparations, which will be described later, in cooperation with the server 300A or the mediation server 400.

[0022] Servers 300B to 300D have the same configurations 310 to 380 (not shown) as those of the server 300A described above. The description of the configurations of the servers 300B to 300D is omitted.

[0023] The intermediary server 400 is, for example, a computer operated by a designated business (for example, a business that provides services or a business that manufactures printer 100), such as a cloud server. Similar to server 300A, the intermediary server 400 includes a CPU 410 as a controller, a volatile storage device 420, and a communication interface 480. The volatile storage device 420 provides a buffer area for temporarily storing various intermediate data generated when the CPU 410 performs processing. The non-volatile storage device 430 stores the computer program PGb and the connection information database CDB, which will be described later.

[0024] The computer program PGb is provided, for example, by being uploaded by the operator of the intermediary server 400. The CPU 410 of the intermediary server 400 executes the computer program PGb, and in cooperation with the printer 100, servers 300A to 300D, and the intermediary server 400, performs the preliminary preparations described later.

[0025] The printer 100, terminal device 200, servers 300A to 300D, and intermediary server 400 are all connected to the Internet IT. Therefore, these devices 100 to 400 can communicate with each other via the Internet IT.

[0026] Figure 2 is an explanatory diagram of the database and the information stored in the database. Figure 2(A) shows an example of a voucher database VDB stored in the non-volatile storage device 330 of servers 300A to 300D. The voucher database VDB stores one or more voucher VCs (for example, VC1 and VC2 in Figure 2(A)).

[0027] Figure 2(B) illustrates an example of a voucher VC. A voucher VC is data that proves ownership of a device (in this embodiment, a printer 100). A voucher VC includes a voucher header VH and one or more entries ET (e.g., ET1, ET2 in Figure 2(B)).

[0028] The voucher header VH contains a GUID, intermediary server information RSI, public key PKm, and HMAC. The GUID is an identifier that identifies printer 100. The intermediary server information RSI is information for establishing a communication connection with intermediary server 400. The intermediary server information RSI includes, for example, information indicating the location of intermediary server 400 (e.g., IP address or URL (Uniform Resource Locator)), port number, and information on the protocol used for the connection. The public key Pkm is the public key corresponding to the private key held by the manufacturer of printer 100. The HMAC (hash message authentication code) is a message authentication code, which is calculated using, for example, the private key held by printer 100 (not shown), a hash function, and data (e.g., voucher header VH and the secret held by printer 100).

[0029] As shown in Figure 1, the voucher header VH is also stored in the non-volatile storage device 130 of the printer 100.

[0030] An entry ET includes a public key Pks and signature data SD. Each time a voucher VC is transferred, i.e., each time the owner of the voucher VC changes, one entry ET is added. The public key Pks is the public key corresponding to the private key held by the recipient, and the signature data SD is the data obtained by encrypting the public key Pks using the private key held by the sender. The voucher VC in Figure 2(B) contains two entries ET1 and ET2. Therefore, it can be seen that the voucher VC in Figure 2(B) has been transferred twice. The entry ET and HMAC included in the voucher VC are used in the authentication process during the onboarding process described later.

[0031] Figure 2(C) illustrates an example of a connection information database (CDB). The CDB records one or more connection information CIs, each associated with a GUID. In the example in Figure 2(C), connection information CI1 is recorded associated with GUID "ID1", and connection information CI2 is recorded associated with GUID "ID2". Each connection information CI is information to be sent to the device identified by its associated GUID (e.g., printer 100).

[0032] Figure 2(D) illustrates an example of a connection information CI. The connection information CI is information for establishing a communication connection between a device (e.g., printer 100) and a server (e.g., server 300A) that should perform service processing in cooperation with the device. The connection information CI includes, for example, information indicating the location of the intermediary server 400 (e.g., IP address or URL (Uniform Resource Locator)), a port number, and information about the protocol used for the connection.

[0033] A-2. Process from manufacturing of printer 100 to pre-service preparation The following describes the process from the manufacturing of the printer 100 to the preparation for service. In this embodiment, the printer 100 is manufactured by a manufacturer and delivered to a sales company. Subsequently, the printer 100 is delivered from the sales company to the user and configured to enable service processing with the target server (e.g., server 300A) that the user wishes to use.

[0034] During the manufacturing process of printer 100, a voucher header VH is stored in printer 100. The storage of the voucher header VH is performed, for example, according to the Device Initialize Protocol (DI) specified in the "FIDO Device Onboarding (FDO) Specification" (hereinafter also referred to as the FDO specification), a standard specification published by the FIDO Alliance. This generates the voucher header VH of the voucher VC shown in Figure 2(B) and stores it in the non-volatile storage device 130 of printer 100.

[0035] Next, for example, in response to an order from a sales company, the manufacturer transfers the voucher VC and printer 100 to the sales company. For example, the manufacturer receives the public key PKs1 from the sales company. For example, the sales company prepares a key pair of a private key and the public key PKs1, and when ordering the printer 100, sends the public key PKs1 from the sales company's computer (not shown) to the manufacturer's computer (not shown). The manufacturer uses its computer to perform the voucher extension process. For example, the manufacturer's computer generates an entry ET1 (Figure 2(B)) that includes the public key PKs1 received from the sales company and the signature data SD1 obtained by encrypting the public key PKs1 using the manufacturer's private key. The manufacturer's private key is the private key corresponding to the public key PKm (Figure 2(B)) contained in the voucher header VH. The manufacturer's computer sends the voucher VC, which includes the voucher header VH and one entry ET1, to the sales company's computer. Additionally, the printer 100 is delivered from the manufacturer to the sales company.

[0036] Figure 3 is a sequence diagram of the processes performed when a user purchases printer 100. In S2, the user orders printer 100, and in S4, the sales company ships the ordered printer 100. When ordering printer 100, the user can enter into a service agreement for their desired service from the available services A to D. In the following, it is assumed that a service agreement for service A has been entered into between the sales company and the user.

[0037] When the sales company ships printer 100, it executes process S6 before printer 100 arrives at the user's location. In S6, the sales company registers voucher VC with server 300A, which provides service A that the user will use. Here, the server providing the service is also called the target server. In the example in Figure 3, server 300A (Figure 1), which provides service A, is the target server. For example, a sales company representative operates the sales company's computer to access the web page provided by server 300A and performs a predetermined operation. This executes a process between the sales company's computer and server 300A to register voucher VC with server 300A.

[0038] Specifically, Server 300A holds a key pair consisting of a private key and a public key PKs2, and sends the public key PKs2 to the sales company's computer. The sales company's computer generates an entry ET2 (Figure 2(B)) which includes the public key PKs2 and signature data SD2 obtained by encrypting the public key PKs2 using the sales company's private key (the private key corresponding to public key PKs1). The sales company's computer sends a voucher VC (Figure 2(B)) to Server 300A, with the entry ET2 added to the voucher VC received from the manufacturer. Server 300A stores the received voucher VC in the voucher database VDB (Figure 2). This registers the voucher VC with Server 300A.

[0039] In the modified version, the sales company may hand over the voucher VC to the user, and the user may register the voucher VC from their terminal device 200 to the target server (for example, server 300A).

[0040] When server 300A receives a voucher VC, it registers connection information CIa with the intermediary server 400 in S8. Connection information CIa is the connection information CI (Figure 2(D)) for connecting to server 300A. The registration of connection information CIa is performed according to TO0 (Transfer Ownership Protocol 0) as defined in the FDO specification. For example, server 300A sends connection information CIa and the GUID of printer 100 included in the received voucher VC to the intermediary server 400. The intermediary server 400 stores the received connection information CIa in association with the GUID of printer 100 in the connection information database CDB (Figures 1 and 2(C)). In this way, connection information CIa is registered with the intermediary server 400 in association with the GUID of printer 100. After a predetermined period (for example, one week) has elapsed since the registration of connection information CIa, the intermediary server 400 deletes the connection information CIa. For this reason, the processes S10 and S12 described later are expected to be executed within a predetermined period of time from the registration of the connection information CIa.

[0041] Once printer 100 is delivered to the user, user A installs the delivered printer 100 so that it can connect to the internet (IT), and then powers on printer 100 using S9.

[0042] When the printer 100 is powered on, S10 and S12 execute a process to obtain connection information between the printer 100 and the intermediary server 400. This connection information acquisition process is performed according to TO1 (Transfer Ownership Protocol 1) as defined in the FDO specification.

[0043] In S10, the printer 100 establishes a communication connection with the intermediary server 400 using the intermediary server information RSI contained in the voucher header VH (Figure 1) stored in the non-volatile storage device 130, and sends a request for connection information to the intermediary server 400. The connection request includes the GUID contained in the voucher header VH, that is, the GUID that identifies itself.

[0044] In S12, the intermediary server 400 sends connection information CIa, which is associated with the received GUID, to the printer 100 from the connection information database CDB. As a result, the printer 100 receives the connection information CIa from the intermediary server 400.

[0045] In S13, the device 100 stores the received connection information CIa in the non-volatile memory device 130.

[0046] When printer 100 receives connection information CIa, onboarding is performed between printer 100 and the target server, server 300A, during S14-S26. The onboarding process is performed according to TO2 (Transfer Ownership Protocol 2) as defined in the FDO specification.

[0047] The onboarding process includes connection establishment (S14), authentication (S16), and service preparation (S18-S26).

[0048] In S14, the printer 100 and the server 300A perform connection establishment processing to establish a connection between the application running on the printer 100 and the application running on the server 300A, for example, according to TCP (Transmission Control Protocol) and IP (Internet Protocol). After the connection establishment processing, these applications perform authentication processing and service preparation processing.

[0049] In S16, the printer 100 and the server 300A perform an authentication process to verify each other's legitimacy. For example, the printer 100 sends a token conforming to a predetermined format (e.g., EAT (Entity Attestation Token) format) to the server 300A, and the server 300A verifies the legitimacy of the printer 100 by verifying the legitimacy of the token using a specified public key.

[0050] Server 300A further sends a predetermined message and signature data obtained by encrypting the message using a private key to printer 100. Server 300A identifies the voucher VC associated with the GUID sent from printer 100 from the voucher database VDB and sends it to printer 100. Printer 100 sequentially verifies entries ET1 and ET2 contained in the voucher VC. For example, printer 100 verifies entry ET1 using the public key PKm contained in the voucher header VH. Printer 100 verifies entry ET2 using the public key PKs1 contained in the verified entry ET1. Finally, printer 100 verifies the signature data sent from server 300A using the public key PKs2 contained in the verified entry ET2, thereby confirming the legitimacy of server 300A.

[0051] If server 300A cannot verify the legitimacy of printer 100, server 300A refuses to proceed with the service preparation process (not shown). Similarly, if printer 100 cannot verify the legitimacy of server 300A (the legitimacy of voucher VC), printer 100 refuses to proceed with the service preparation process (not shown).

[0052] In S18-S26, after the printer 100 and server 300A have verified each other's legitimacy through authentication, they perform a service preparation process in which they exchange service configuration information necessary to execute service processing between the printer 100 and server 300A.

[0053] In S18, the printer 100 sends service configuration information SIa to the server 300A, which is necessary for the server 300A to perform service processing. As a result, the server 300A receives the service configuration information SIa. The service configuration information SIa includes, for example, information indicating the format of the information that the printer 100 will send to the server 300A during service processing. Upon receiving the service configuration information SIa, the server 300A stores the service configuration information SIa in the non-volatile storage device 330 in S22.

[0054] In S24, the server 300A sends service configuration information SIb to the printer 100, which is necessary for the printer 100 to perform service processing. As a result, the printer 100 receives the service configuration information SIb. The service configuration information SIb includes, for example, tokens, format information, and protocol information used when communicating about service processing between the printer 100 and the server 300A. When the printer 100 receives the service configuration information SIb from the server 300A, in S26, it stores the service configuration information SIb in the non-volatile storage device 130.

[0055] When the service preparation process is executed and the service configuration information SIb is stored in the non-volatile storage device 130, the printer 100 and the server 300A enter a state where they can perform service processing. In other words, the state of the printer 100 transitions to a state where the printer 100 can use service A provided by the server 300A (hereinafter also referred to as the onboard state). In the onboard state, the connection information CIa (S12) received from the intermediary server 400 and the service configuration information SIb (S24) received from the server 300A are stored in the non-volatile storage device 130 (S13, S26). Note that if the service configuration information SIb includes information for connecting to the server 300A during service processing (such as a URL and port number for service processing), the connection information CIa is not necessary for service processing and may be deleted from the non-volatile storage device 130 after the onboarding process. The onboard state can be said to be a state in which the printer 100 can use service A, provided that at least the service configuration information SIb is stored in the non-volatile storage device 130.

[0056] When the printer 100 transitions to the onboard state, in S28, the printer 100 and the server 300A cooperate to perform service processing. If the service A provided by the server 300A is a consumables management service, the service processing includes the printer 100 periodically sending information about the remaining amount of consumables such as ink to the server 300A.

[0057] The method described above offers several advantages, such as the following: With this method, users and vendors can receive services by registering a voucher VC with the target server that provides the service they wish to use (S6 in Figure 3). This allows users and vendors to easily select the services they wish to receive.

[0058] Furthermore, the printer 100 can obtain the connection information CI of the target server from the intermediary server 400 (S12 in Figure 3). For this reason, at the stage of the printer 100's manufacturing process, it is sufficient for the intermediary server information RSI for connecting to the intermediary server 400 to be stored in the printer 100 (non-volatile storage device 130), and it is not necessary for the connection information CI of the target server to be stored in the printer 100. In addition, the printer 100 can obtain the service configuration information SIb necessary to execute service processing in cooperation with the target server from the target server (S14 in Figure 3). For this reason, at the stage of the printer 100's manufacturing process, it is not necessary for the service configuration information SIb to be stored in the printer 100. For this reason, it is not necessary to anticipate the services to be used at the stage of the printer 100's manufacturing process, and for example, even if a service is made available after the printer 100 is manufactured, or if it is a service provided by a third party that was not recognized by the manufacturer at the time of the printer 100's manufacture, the user can use the printer 100 to use the service. As a result, flexible provision and use of services can be realized. For example, service providers can add new services retrospectively without modifying the printer 100. For example, users and sales companies can easily select or change the services they use. Furthermore, since the manufacturer, sales company, and user of the printer 100 do not need to customize the printer 100 to connect to the services desired by the user at the time of shipment or use, the burden on the manufacturer, sales company, and user of the printer 100 can be reduced.

[0059] Furthermore, the above method allows printer 100 and the target server to verify each other's legitimacy by verifying the voucher VC and the token. If printer 100 or the target server cannot verify the legitimacy of the other party, they can refuse to execute the onboarding process. This helps to prevent security problems such as printer 100 connecting to an unintended server or an unauthorized device different from printer 100 connecting to the target server.

[0060] A-3. Processing when printer 100 is initialized. The printer 100 in this embodiment can perform an initialization process (also called a factory reset) that resets the printer 100 to its factory default state. For example, a user may want to return the printer 100 to its factory default state if a difficult-to-resolve error occurs in the printer 100, or when transferring the printer 100 to a third party. When the initialization process is performed, all data stored in the printer 100's memory (non-volatile storage device 130 and volatile storage device 120) after the printer 100 was delivered to the user is deleted. Even when the initialization process is performed, data that was stored in the printer 100's memory at the time of factory shipment, such as the voucher header VH (Figure 1), the computer program PGp (Figure 1), and default setting information (not shown), is not deleted.

[0061] When the printer 100 transitions from the onboard state to the factory default state through the initialization process, the connection information CIa and service configuration information SIb described above are deleted from memory. Therefore, after the initialization process is executed, the printer 100 will no longer be able to connect to the server 300A and perform service processing. For this reason, if a user wants to use service A with the printer 100 after the initialization process, the onboarding process described above must be executed again. The initialization-related processes executed when the printer 100 is initialized are described below.

[0062] Figure 4 is a sequence diagram of the initialization-related processing in the first embodiment. At S52, when the user operates the control unit 150 to input an initialization command to the printer 100, the initialization-related processing starts.

[0063] In S53, the printer 100 identifies the service currently being used by the printer 100. For example, if the service configuration information SIb for using service A is stored in the non-volatile storage device 130, the printer 100 identifies service A as the service being used.

[0064] In S54, the printer 100 displays the instruction input screen W1 on the display unit 140. Figure 5 shows an example of the screen displayed on the display unit 140. The instruction input screen W1 in Figure 5(A) includes a message MS1 that notifies the user of the service currently in use and asks the user whether or not to use the service after the initialization process, and buttons BT1 and BT2. Button BT1 is for inputting an instruction to continue using the service currently in use after initialization (reuse instruction). Button BT2 is for inputting an instruction not to use the service currently in use after initialization.

[0065] When button BT2 is pressed, the printer 100 performs an initialization process, returning the printer 100 to its factory default state and ending the initialization-related processes (not shown in the diagram).

[0066] When button BT1 is pressed, printer 100 receives a reuse instruction in S56. Upon receiving the reuse instruction, printer 100 sends a connection information registration instruction to server 300A, which provides the service A currently in use, in S58. Since printer 100 is in the onboard state, it can communicate with server 300A and send the connection information registration instruction.

[0067] When server 300A receives a connection information registration instruction, in S60, it registers connection information CIa for connecting to server 300A with the intermediary server 400, similar to S8 in Figure 3. At this point, it is assumed that the connection information CIa registered with the intermediary server 400 in S8 in Figure 3 has been deleted by the intermediary server 400 because a predetermined period (for example, one week) has elapsed since registration. In S60, the connection information CIa is registered with the intermediary server 400 again.

[0068] When printer 100 sends a connection information registration instruction to server 300A, it performs an initialization process in S62, returning printer 100 to its factory default state. As a result, the connection information CIa received in S12 of Figure 3 and the service setting information SIb received in S14 of Figure 3 are deleted from the non-volatile storage device 130. The voucher header VH remains stored in the non-volatile storage device 130 even after the initialization process.

[0069] In steps S64 to S68, the same processes as in steps S10 to S26 in Figure 3 are executed. In step S64, the printer 100 uses the intermediary server information RSI contained in the voucher header VH (Figure 1) stored in the non-volatile storage device 130 to establish a communication connection with the intermediary server 400 and sends a request for connection information to the intermediary server 400.

[0070] In S66, the intermediary server 400 identifies the connection information CIa associated with the received GUID in the connection information database CDB and sends the connection information CIa to the printer 100. As a result, the printer 100 receives the connection information CIa from the intermediary server 400. In S67, the printer 100 stores the received connection information CIa in the non-volatile storage device 130.

[0071] In S68, onboarding processing (S14-S26 in Figure 3) is performed between the printer 100 and the target server, server 300A. As described above, the onboarding processing includes connection establishment processing (S14 in Figure 3), authentication processing (S16 in Figure 3), and service preparation processing (S18-S26 in Figure 3). During the service preparation processing, the printer 100 receives service configuration information SIb from server 300A (S24 in Figure 3) and stores the service configuration information SIb in the non-volatile storage device 130 (S26 in Figure 3).

[0072] Once the connection information CIa and service configuration information SIb are stored in the non-volatile storage device 130, the state of the printer 100 transitions to an onboard state in which the printer 100 can utilize service A provided by the server 300A, as described above.

[0073] When the printer 100 transitions to the onboard state, S70 instructs the printer 100 and server 300A to collaborate in performing service processing.

[0074] According to the embodiment described above, the printer 100 is equipped with a non-volatile storage device 130, which is a memory for storing mediating server information RSI for connecting to a mediating server 400 where connection information CI is registered in association with a GUID (Figure 1). The printer 100 connects to the mediating server 400 using the mediating server information RSI and receives connection information CIa from the mediating server 400 if connection information CIa is registered in the mediating server 400 (S12 in Figure 3). The printer 100 connects to server 300A using the connection information CIa and receives service setting information SIb for the printer 100 to use service A (S24 in Figure 3). The printer 100 stores the received service setting information SIb in the non-volatile storage device 130 (S26 in Figure 3). As a result, the printer 100 becomes an onboard state in which service A is available. The printer 100 performs an initialization process to transition the state of the printer 100 from the onboard state to the factory default state (S62 in Figure 4). In its factory default state, the intermediary server information RSI is stored in the non-volatile storage device 130, but the connection information CIa and service configuration information SIb are not stored in the non-volatile storage device 130. When the printer 100 is due to perform an initialization process, it performs a registration process to re-register the connection information CIa with the intermediary server 400 (S58 in Figure 4). After the registration process, the printer 100 performs an initialization process (S62 in Figure 4). After the initialization process, the printer 100 receives the re-registered connection information CIa from the intermediary server 400 (S66 in Figure 4). The printer 100 connects to the server 300A using the received connection information CIa, receives the service configuration information SIb again to enter an onboard state, and stores the service configuration information SIb in the non-volatile storage device 130 (S68 in Figure 4). As a result, when initializing the state of the printer 100, it is possible to prevent the printer 100 from being unable to use service A provided by the server 300A after initialization.

[0075] After the initialization process is completed, in order to return the printer 100 to the onboard state, the onboarding process must be executed again between the printer 100 and the server 300A. In order for the printer 100 to connect to the server 300A and perform the onboarding process, connection information CIa is required, but the connection information CIa is deleted from the non-volatile storage device 130 during the initialization process. For this reason, the printer 100 needs to acquire the connection information CIa again.

[0076] If the connection information CIa is not registered with the intermediary server 400 at the time the initialization process is performed, the printer 100 will not be able to receive the connection information CIa from the intermediary server 400. If the connection information CIa is to be registered with the intermediary server 400 again after the initialization process has been performed, the following methods can be considered.

[0077] One possible method is for the printer 100 to send a registration instruction for connection information CIa to the server 300A. However, after the initialization process has been performed, unlike in the onboard state, the service configuration information SIb is not stored in the non-volatile storage device 130. Therefore, the printer 100 is unlikely to be able to connect to the server 300A, or even if it can connect, it is unlikely to be authenticated by the server 300A. For this reason, it is difficult for the printer 100 to send a registration instruction to the server 300A after the initialization process has been performed.

[0078] A second method involves the manufacturer, sales company, or user re-registering the voucher VC with server 300A using a terminal device. However, since the voucher VC is likely to become invalid once used during the onboarding process, it will be necessary to obtain a valid voucher VC again. In this case, it may be necessary to perform complicated procedures, such as reconfiguring the voucher header VH on printer 100, making it difficult for the user to perform these procedures themselves. Furthermore, even if the procedure is requested from the manufacturer or sales company, it may require a significant amount of time and effort.

[0079] In this embodiment, before the initialization process is performed, that is, while the printer 100 is in the onboard state, a registration process is executed to re-register the connection information CIa with the intermediary server 400 (S58 in Figure 4). As a result, after the initialization process is performed, the connection information CIa is registered with the intermediary server 400. Therefore, after the initialization process, the printer 100 can receive the connection information CIa from the intermediary server 400 (S66 in Figure 4), connect to the server 300A using the connection information CIa, and perform the onboarding process (S68 in Figure 4). As a result, it is possible to prevent the printer 100 from being unable to use service A provided by the server 300A after initialization.

[0080] Furthermore, according to this embodiment, the registration process performed by the printer 100 is the process of sending a registration instruction to the server 300A to cause the server 300A to register the connection information CI with the intermediary server 400 (S58 in Figure 4). In the onboard state before the initialization process is performed, the printer 100 has the service configuration information SIb (for example, a token for communicating with the server 300A) that it received through the authentication process during the onboarding process. For this reason, the printer 100 can send a registration instruction for the connection information CIa to the server 300A without any problems. Therefore, by sending a registration instruction to the server 300A, the connection information CIa can be registered again with the intermediary server 400.

[0081] Furthermore, according to this embodiment, when the printer 100 should perform an initialization process, it receives a reuse instruction from the user (S56 in Figure 4), and in response to receiving the reuse instruction, it performs a registration process (sending a registration instruction in Figure 58 in this embodiment). The reuse instruction can also be called an instruction to execute the registration process. The user may not intend to use service A again after the initialization process. In this case, it is preferable that the onboarding process is not executed after the initialization process. According to this embodiment, the registration process, and consequently the onboarding process that is executed after the registration process, is executed in response to instructions from the user, so it is possible to prevent the onboarding process from being executed against the user's will.

[0082] Furthermore, according to this embodiment, after the registration process, the printer 100 receives the connection information CIa to be registered again from the intermediary server 400 without obtaining instructions from the user (S66 in Figure 4), and performs the onboarding process without obtaining instructions from the user, and receives the service configuration information SIb again from the server 300A (S68 in Figure 4). As a result, the service configuration information SIb can be obtained quickly after the initialization process. As a result, the printer can quickly transition to an onboard state where service A can be used after the initialization process.

[0083] As can be seen from the above explanation, the GUID in the above embodiment is an example of device identification information, and the initialization process is an example of a transition process.

[0084] B. Second Example The system 1000 of the second embodiment includes a terminal device 200 owned by the user of the printer 100. The terminal device 200 is a computer, for example, a smartphone. In a modified example, the terminal device 200 has a communication interface (not shown) and is connected to the Internet IT. For this reason, the terminal device 200 can communicate with the server 300A via the Internet IT.

[0085] In the second embodiment, the printer 100 does not have a display unit 140. For this reason, the printer 100 cannot display UI screens such as the instruction input screen W1 in Figure 5.

[0086] Figure 6 is a sequence diagram of the initialization-related processing in the second embodiment. In the second embodiment, the initialization-related processing in Figure 6 is performed instead of the initialization-related processing in Figure 4 of the first embodiment. At S82, when the user operates the control unit 150 to input an initialization command to the printer 100, the initialization-related processing starts.

[0087] In S83, the printer 100 identifies the service currently being used by the printer 100. For example, if the service configuration information SIb for using service A is stored in the non-volatile storage device 130, the printer 100 identifies service A as the service being used.

[0088] In S84, the printer 100 sends a connection information registration instruction to the server 300A that provides the service A currently in use. Here, unlike the connection information registration instruction in the first embodiment (S58 in Figure 4), the connection information registration instruction in the second embodiment includes the user's email address in addition to the GUID. The user's email address is stored in the non-volatile storage device 130 in advance, for example, based on user input.

[0089] When server 300A receives a connection information registration instruction, in S86, it registers connection information CIa for connecting to server 300A with the intermediary server 400, similar to S8 in Figure 3 and 60 in Figure 4.

[0090] In S87, the server 300A stores the email address included in the connection information registration instruction in the non-volatile storage device 330, associating it with the GUID of the printer 100.

[0091] When printer 100 sends a connection information registration instruction to server 300A, S88 performs an initialization process similar to S62 in Figure 4, and returns printer 100 to its factory default state.

[0092] In S90-S93, the same processes as in S64-S67 in Figure 4 are executed. In S90, the printer 100 establishes a communication connection with the mediating server 400 using the mediating server information RSI and sends a request for connection information to the mediating server 400.

[0093] In S92, the intermediary server 400 identifies the connection information CIa associated with the received GUID in the connection information database CDB and sends the connection information CIa to the printer 100. As a result, the printer 100 receives the connection information CIa from the intermediary server 400. In S93, the printer 100 stores the received connection information CIa in the non-volatile storage device 130.

[0094] In S94, the printer 100 sends a reuse confirmation request to the server 300A. For example, the printer 100 establishes a communication connection with the server 300A using connection information CIa and sends a reception confirmation request to the server 300A that includes the GUID of the printer 100. The reception confirmation request is a request to confirm whether or not the service configuration information SIb should be received again from the server 300A.

[0095] When server 300A receives an acknowledgment request, in S96 it retrieves the email address associated with the GUID included in the acknowledgment request from the non-volatile storage device 330.

[0096] In S98, server 300A sends a reuse confirmation notice to the email address obtained in S96. As a result, the user's terminal device 200 receives the reuse confirmation notice. The reuse confirmation notice is a notification to the user to confirm whether or not they want to use service A, which they were using after initialization.

[0097] In S99, the terminal device 200 displays a notification screen W2 on its display unit (not shown) in response to user operation, which displays a reuse confirmation notification. The notification screen W2 in Figure 5(B) includes a message MS2 that notifies the user that the printer 100 has been initialized and asks the user whether or not to use service A, which was used before initialization, and buttons BT1 and BT2. Button BT1 is for inputting an instruction to continue using service A after initialization (reuse instruction). Button BT2 is for inputting an instruction not to use service A after initialization.

[0098] When button BT1 is pressed, terminal device 200 receives a reuse instruction in S100. Upon receiving the reuse instruction, terminal device 200 sends the reuse instruction to server 300A in S102. The reuse instruction is sent to server 300A, for example, by sending it to the URL associated with button BT1.

[0099] When server 300A receives a reuse instruction, it sends a reception instruction to printer 100 in S104. The reception instruction is sent to printer 100 as a response to the reception confirmation request received in S94. The reception instruction indicates that the server should receive the service configuration information SIb again from server 300A.

[0100] When the printer 100 receives the reception instruction from the server 300A, in S106, it performs onboarding processing with the server 300A (S14-S26 in Figure 3), similar to S68 in Figure 4. In the onboarding processing, as described above, connection establishment processing (S14 in Figure 3), authentication processing (S16 in Figure 3), and service preparation processing (S18-S26 in Figure 3) are performed. In the service preparation processing, the printer 100 receives service configuration information SIb from the server 300A (S24 in Figure 3) and stores the service configuration information SIb in the non-volatile storage device 130 (S26 in Figure 3).

[0101] Once the connection information CIa and service configuration information SIb are stored in the non-volatile storage device 130, the state of the printer 100 transitions to an onboard state where the printer 100 can utilize service A provided by the server 300A, as described above.

[0102] When the printer 100 transitions to the onboard state, S108 indicates that the printer 100 and server 300A collaborate to perform service processing.

[0103] When button BT2 is pressed, terminal device 200 receives an instruction to not use service A instead of a reuse instruction in S100. In this case, terminal device 200 sends an instruction to not use service A instead of a reuse instruction in S102 to server 300A. When server 300A receives the instruction to not use service A, it sends an instruction to not receive instead of a reception instruction in S104 to printer 100. When printer 100 receives the instruction to not receive, it terminates initialization-related processing without performing onboarding processing.

[0104] According to the second embodiment described above, the printer 100 performs the registration process (sending the connection information registration instruction in S84 of Figure 6) without receiving instructions from the user. After the initialization process (S88 of Figure 6) and the subsequent reception instruction (S104 of Figure 6), the printer 100 performs the onboarding process and receives the service configuration information SIb again from the server 300A (S106 of Figure 6). As a result, even if a reuse instruction has not been received from the user before the initialization process, the service configuration information SIb can be received again in response to the reception instruction performed after the initialization process.

[0105] Furthermore, according to the second embodiment, after the initialization process (S88 in Figure 6), the printer 100 sends a reception confirmation request to the server 300A to confirm whether or not it should receive the service configuration information SIb again from the server 300A (S94 in Figure 6). If it receives a reception instruction from the server 300A in response to the reception confirmation request (S104 in Figure 6), it receives the service configuration information SIb again from the server 300A (S106 in Figure 6).

[0106] Furthermore, according to the second embodiment, the printer 100 sends an email address as notification information for notifying the user to the server 300A (S84 in Figure 6). The server 300A uses the notification information to send a reuse confirmation notice to the user to confirm whether or not to use service A provided by the server 300A (S98 in Figure 6). In response to the confirmation notice, if the server 300A receives an instruction to use service A, it sends an instruction to the printer 100 to receive service setting information SIb (S104 in Figure 6). In response to receiving the instruction, the printer 100 receives the service setting information SIb again from the server 300A (S106 in Figure 6). As a result, even if the printer 100 does not have a display unit 140, the printer 100 can receive the service setting information SIb after the user's intention to use service A has been confirmed. As a result, for example, even if the printer 100 does not have a display unit 140, it is possible to prevent the printer 100 from transitioning to the onboard state against the user's will.

[0107] Furthermore, in the second embodiment, the notification information is an email address. Since email addresses are widely used, the reuse confirmation notification can be appropriately delivered to the user. Therefore, the user's intention can be appropriately confirmed.

[0108] C. Variations (1) In the initialization-related processing of the first embodiment described above, the registration process of connection information CIa performed by the printer 100 is to send a connection information registration instruction to the server 300A (S58 in Figure 4), but is not limited to this. The registration process of connection information CIa performed by the printer 100 may also be a process in which the printer 100 itself sends the connection information CIa to the intermediary server 400, thereby registering the connection information CIa with the intermediary server 400.

[0109] Figure 7 is a first sequence diagram of the initialization-related processing in a modified example. In the initialization-related processing in Figure 7, steps S57B to S60B in Figure 7 are executed instead of S58 and S60 in Figure 4. The other processes in Figure 7 are the same as the processes with the same symbols in Figure 4.

[0110] In S57B, the printer 100 sends a connection information request to the server 300A requesting the transmission of connection information CIa. Upon receiving the connection information request, the server 300A, in S58B, sends the connection information CIa for connecting to the server 300A to the printer 100 as a response to the connection information request. As a result, the printer 100 receives the connection information CIa.

[0111] When printer 100 receives connection information CIa, it sends the received connection information CIa along with the GUID to the intermediary server 400 via S60B. The intermediary server 400 associates the received connection information CIa with the GUID and registers it in the connection information database CDB.

[0112] In this modified example, the connection information CIa can be properly registered with the intermediary server 400 before the initialization process (S62).

[0113] (2) In the first embodiment described above, the initialization-related processing in Figure 4, in which the server 300A registers the connection information CIa with the intermediary server 400 (S60), is executed only once. For this reason, the allowable period between the initialization of the printer 100 and the sending of a request for connection information CIa to the intermediary server 400 (S64 in Figure 4) must be within a predetermined period (one week in this embodiment) from the time the connection information CIa is registered with the intermediary server 400 until it is deleted.

[0114] For example, if the printer 100 is initialized and then, for instance, its location is changed, it may take some time for the printer 100 to be set up to connect to the Internet IT. In such cases, if the above-mentioned allowable period is excessively short, the printer 100 may not be able to receive connection information CIa from the intermediary server 400 after the initialization process, and may not be able to perform the onboarding process.

[0115] Figure 8 is a second sequence diagram of the initialization-related processing in a modified example. In this embodiment, as shown in Figure 8, the process of registering the connection information CIa in S60 of Figure 3 is repeatedly executed over a specific period (for example, 2 months) at intervals shorter than the predetermined period. As a result, the above-mentioned allowable period can be extended to the sum of the above-mentioned specific period and the predetermined period.

[0116] Therefore, in the modified example shown in Figure 8, as shown in S64C of Figure 8, if the printer 100 sends a request for connection information CIa to the intermediary server 400 within the above-mentioned allowable period, it can receive the connection information CIa from the intermediary server 400 in S66C and store the connection information CIa in the non-volatile storage device 130 in S67C. In this case, as shown in S68C, the printer 100 can then perform onboarding processing to receive service configuration information SIb from the server 300A and store the service configuration information SIb in the non-volatile storage device 130.

[0117] However, as shown in S64E enclosed by the dashed line in Figure 8, suppose the printer 100 sends a request for connection information CIa to the intermediary server 400 after the above-mentioned allowable period has elapsed. In this case, since the connection information CIa has been deleted from the intermediary server 400 at this point, the printer 100 cannot receive the connection information CIa from the intermediary server 400 and receives an error notification from the server 300A in S66E. In this case, the printer 100 cannot perform the onboarding process and therefore cannot receive the service configuration information SIb from the server 300A.

[0118] (3) In the initialization-related processing of the first embodiment (Figure 4), the display of the instruction input screen W1 in S54 and the acquisition of the reuse instruction in S56 may be omitted. That is, without acquiring user instructions, the processing from S58 onwards may be executed automatically after S53. For example, depending on the type of device, it may be assumed that it will operate using a specific service provided by a specific server. In such cases, according to this modified example, without acquiring user instructions, the device will transition to an onboard state after the initialization process that allows it to use the specific service. As a result, the burden on the user can be further reduced.

[0119] (4) In the initialization-related processing of the first embodiment (Figure 4), the printer 100 may execute the processing from S64 onwards if it receives an instruction from the user to start the onboarding process after the initialization process in S62. Alternatively, the printer 100 may execute the processing in S68 if it receives an instruction from the user to start the onboarding process after receiving the connection information CIa in S66. In this case, for example, if the user wants to use service A using the printer 100 after manually making predetermined settings on the printer 100 after the initialization process, it is possible to prevent the onboarding process from being automatically executed before the predetermined settings are made.

[0120] In the initialization-related processing of the second embodiment (Figure 6), the printer 100 executes the onboarding process S106 when it receives a receive instruction from the server 300A (104 in Figure 6). Alternatively, for example, the printer 100 may execute the onboarding process S106 when it receives a receive instruction from the user's terminal device 200.

[0121] (5) In the second embodiment described above, the reuse confirmation notice is sent as an email to the user's email address. Alternatively, the reuse confirmation notice may be sent by another method, for example, as a push notification to a specific application installed on the terminal device 200.

[0122] (6) In each of the above embodiments, an initialization process is used as the transition process to transition the state of the printer 100 to the factory default state. Alternatively, the transition process may be a network initialization process that restores only the network-related settings to the factory default state, while leaving other settings (for example, settings related to printing) unchanged. Alternatively, the transition process may be an external service initialization process in which only the service setting information for using services A to D provided by servers 300A to 300D, and the connection information for connecting to servers 300A to 300D that provide these services A to D, are deleted from the non-volatile storage device 330.

[0123] (7) In each of the above embodiments, a printer 100 is used as the device. However, other devices that work in cooperation with the target server to provide services to the user may be used. Services using other devices may include, for example, a service that remotely controls other devices (e.g., electrical appliances such as surveillance cameras and cooking appliances) set up in a home or office via the target server from a terminal device (terminal application).

[0124] (8) In the above embodiment, some of the configurations implemented by hardware may be replaced with software, and conversely, some or all of the configurations implemented by software may be replaced with hardware.

[0125] The present invention has been described above based on examples and modifications. However, the embodiments of the invention described above are for the purpose of facilitating understanding of the present invention and do not limit it. The present invention can be modified and improved without departing from its spirit and claims, and the present invention includes equivalents thereof. [Explanation of Symbols]

[0126] 1000...System, 100...Printer, 110...CPU, 120...Volatile memory, 130...Non-volatile memory, 140...Display unit, 150...Operation unit, 170...Printing mechanism, 180...Communication interface, 200...Terminal device, 300A~300D...Server, 310...CPU, 320...Volatile memory, 330...Non-volatile memory, 380...Communication interface, 400...Intermediary server, 410...CPU, 420...Volatile memory, 430...Non-volatile memory, 480...Communication interface, CDB...Connection information database, CI...Connection information, IT...Internet, PGa, PGb, PGp...Computer program, RSI...Intermediary server information, VC...Voucher, VDB...Voucher database, VH...Voucher header, W1...Instruction input screen, W2...Notification screen

Claims

1. It is a device, A memory that stores intermediary server information for connecting to an intermediary server, where connection information is registered in association with device identification information indicating the aforementioned device, wherein the connection information is information indicating the location of the target server to be connected to, and the memory, A connection information receiving unit connects to the intermediary server using the intermediary server information and receives the connection information from the intermediary server if the connection information is registered in the intermediary server. A configuration information receiving unit connects to the target server using the connection information and receives configuration information from the target server for the device to use the services provided by the target server. A storage processing unit that stores the received setting information in the memory, A state transition unit that performs a transition process to transition the state of the device from a first state to a second state, wherein the first state is a state in which the service is available to the device because the setting information is stored in the memory, and the second state is a state in which the intermediary server information is stored in the memory, the connection information is not stored in the memory, and the setting information is not stored in the memory, A registration processing unit that performs a registration process to re-register the connection information with the intermediary server when the transition process should be executed, Equipped with, The state transition unit executes the transition process after the registration process, The connection information receiving unit, after the transition process, receives the connection information to be registered again from the intermediary server. The configuration information receiving unit connects to the target server using the received connection information and receives the configuration information again. The storage processing unit is a device that stores the setting information received again in the memory.

2. The device according to claim 1, The registration process is a process of sending a registration instruction to the target server, which causes the target server to register the connection information with the intermediary server, in a device.

3. The device according to claim 1, further, When the transition process should be executed, the system includes an instruction acquisition unit that obtains an instruction from the user to execute the registration process. The registration processing unit is a device that executes the registration process in response to the acquisition of the execution instruction.

4. The device according to claim 3, After the aforementioned transition process, The connection information receiving unit receives the connection information that is registered again from the intermediary server without receiving instructions from the user. The aforementioned configuration information receiving unit is a device that receives the configuration information again from the target server without receiving instructions from the user.

5. The device according to claim 1, further, The registration processing unit executes the registration process without receiving instructions from the user. The configuration information receiving unit is a device that receives the configuration information again from the target server after a reception instruction is given following the transition process.

6. The device according to claim 5, further, The aforementioned setting information receiving unit, After the transition process, a confirmation request is sent to the target server to confirm whether or not the configuration information should be received again from the target server. A device that, upon receiving the reception instruction from the target server as a response to the aforementioned confirmation request, receives the configuration information again from the target server.

7. The device according to claim 6, further, It includes a notification information transmission unit that transmits notification information to the target server for notifying the user, The aforementioned target server is Using the notification information, a confirmation notice is sent to the user to ask whether or not they will use the service provided by the target server. A device that, upon receiving an instruction to use the service in response to the aforementioned confirmation notice, transmits the received instruction to the device.

8. The device according to claim 7, further, The aforementioned notification information is an email address, and the device is also a device.

9. A computer program for controlling a device equipped with memory, The memory stores intermediary server information for connecting to an intermediary server where connection information is registered in association with device identification information indicating the device, The aforementioned connection information is information indicating the location of the target server to be connected to. The aforementioned computer program, A connection information receiving function that connects to the intermediary server using the aforementioned intermediary server information and receives the connection information from the intermediary server if the connection information is registered in the intermediary server, A configuration information receiving function that connects to the target server using the aforementioned connection information and receives configuration information from the target server for the device to use the services provided by the target server, A storage processing function that stores the received setting information in the memory, A state transition function that performs a transition process to transition the state of the device from a first state to a second state, wherein the first state is a state in which the service is available to the device because the configuration information is stored in the memory, and the second state is a state in which the intermediary server information is stored in the memory, the connection information is not stored in the memory, and the configuration information is not stored in the memory, A registration processing function that performs a registration process to re-register the connection information with the intermediary server when the transition process should be executed, To make this a reality on a computer, The state transition function executes the transition process after the registration process, The connection information receiving function, after the transition process, receives the connection information to be registered again from the intermediary server. The configuration information receiving function connects to the target server using the received connection information and receives the configuration information again. The storage processing function is a computer program that stores the setting information, which is received again, in the memory.