Network system and server switching methods

JP7904739B2Active Publication Date: 2026-08-13CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-06
Publication Date
2026-08-13

AI Technical Summary

Benefits of technology

【0011】 本発明によれば、クライアントに関するサーバー間のデータ移行を、クライアント装置の状態に関わらず、かつ、データ移行中もクライアント装置に対するサービス提供を継続しながら行うことが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007904739000001
    Figure 0007904739000001
  • Figure 0007904739000002
    Figure 0007904739000002
  • Figure 0007904739000003
    Figure 0007904739000003
Patent Text Reader

Abstract

To allow client-related data transfer between servers, regardless of a state of a client apparatus while services are continuously provided during data transfer.SOLUTION: A printer acquires data from a management server 200 (first server) connected using stored connection information. A management server 300 (second server) requests, when receiving a server switching event together with a registration request from the printer, acquisition of first connection information for connecting to the first server from the first server on which the printer is registered. The first server starts transferring, to the second server, information related to the printer, and transmits the first connection information to the second server. The second server transmits, to the printer, the first connection information acquired from the first server. When the transfer of the data related to the printer reaches a predetermined step, one of the servers transmits second connection information for connecting to the second server, to the printer.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a network system that connects to a printer via a network, manages the connected printer, and notifies jobs, and a method for switching servers.

Background Art

[0002] With the development and popularization of "Internet of Things" (hereinafter referred to as IoT) and cloud services, it has become easier than ever to collect data from all "things" through the Internet. Image forming apparatuses have also become more multifunctional, and multifunction printers (hereinafter referred to as MFPs) are also used as client apparatuses.

[0003] Recently, laws have been enacted to define the physical country or region (hereinafter referred to as region) of a client apparatus that transmits data and a server that receives data from the perspective of personal information and confidential information protection. When a client apparatus attempts to connect to a server in a region different from the region it has connected to in the past, measures are taken to prevent data from flowing out to an incorrect region, such as releasing the connection settings.

[0004] The regions of servers tend to be added year by year, and there may be a need to change the region of a server during the operation of a service. Generally, in an IoT system, the settings of a client apparatus can be managed and changed on the server side. Conventionally, a technique has been proposed that enables a client apparatus to transmit data to a server in an appropriate region by notifying the client apparatus of the setting when the server to which the client apparatus connects is switched (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0005] [Patent Document 1] Japanese Patent Publication No. 2013-168180 [Overview of the project] [Problems that the invention aims to solve]

[0006] The invention described in Patent Document 1 eliminates the need for the client device to be aware of the change in destination by having the client device exchange data between the old server and the new server when a server switch occurs. The client device only becomes aware of the change in the server's destination after the server has performed the above-mentioned process and has received connection settings from the new server.

[0007] However, in the invention described in Patent Document 1, if a connection is made from the client device to the previous server before the connection settings for the destination change are received, inconsistencies may occur in the client information migrated to the new server, causing it to malfunction.

[0008] One possible solution to these problems is to block connections from client devices during data migration to prevent inconsistencies. However, if the client device is a printer, for example, cloud services provided via the server (such as cloud printing services) would become unavailable during data migration.

[0009] The present invention has been made in view of the above-mentioned conventional examples, and aims to enable data migration between servers relating to clients, regardless of the state of the client device, and while continuing to provide services to the client device during data migration. [Means for solving the problem]

[0010] To solve the problems described above, the present invention has the following configuration. According to one aspect of the present invention, a network system comprising a device, a first server, and a second server, wherein the device is a network system that acquires data from connected servers using stored connection information, When the second server receives a server switching event along with a registration request from the device, it requests the first server to which the device is registered to obtain first connection information for the device to connect to the first server. The aforementioned first server is In response to a request for the first connection information, if the first connection information is available, the transfer of data relating to the device to the second server is initiated. The first connection information is sent to the second server. The second server transmits the first connection information obtained from the first server to the device. When either the first or second server reaches a predetermined stage in the data migration related to the device, it transmits second connection information to the device for connecting to the second server. death, The transfer of data relating to the aforementioned device to the second server is performed asynchronously with the transmission of the first connection information to the second server. A network system characterized by the above is provided. [Effects of the Invention]

[0011] According to the present invention, data migration between servers relating to clients can be performed regardless of the state of the client device, and while continuing to provide services to the client device during the data migration. [Brief explanation of the drawing]

[0012] [Figure 1] This figure shows an example of the configuration of a client-server type network system according to Example 1. [Figure 2] This diagram shows the configuration of application server 100, and management servers 200 and 300. [Figure 3] It is a diagram showing the configuration of the printer 400. [Figure 4] It is a sequence diagram showing the process of registering a printer 400 without a server switching function to the management server 200. [Figure 5] It is a sequence diagram showing the process of registering a printer 400 with a server switching function to the management server 300 [Figure 6] It is a sequence diagram in which the printer 400 registered in the management server 300 retrieves connection destination information again. [Figure 7] It is a sequence diagram showing the operation when a printer 400 that has never been connected to a management server and has acquired a server switching function postnatally first connects to the management server. [Figure 8] It is a sequence diagram showing the process of a printer 400 that has acquired a server switching function postnatally connecting to a management server and transferring printer information in the management server 200 to which it was connected before the ROM update to the management server 300. [Figure 9] Flowchart of the process of the management server 300 that has received a registration request [Figure 10] Flowchart of the process of the management server 300 that has received a registration request

Mode for Carrying Out the Invention

[0013] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential for the invention, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are given the same reference numerals, and duplicate explanations are omitted.

[0014] [Embodiment 1] In this embodiment, a cloud printing service (or a cloud printing system) will be described. In this cloud printing service, printers, application servers, and management servers cooperate. Upon receiving a printing request from a web application operating on the application server, the job data generated by the management server is notified to the printer, and printing is performed. In this cloud printing service, an example will be described in which a printer without a server switching function acquires a server switching function through firmware update and switches the management server to be connected upon the occasion of firmware update. Note that firmware update is sometimes called ROM update. A printer belonging to a cloud printing system is sometimes more generally called a device.

[0015] The management server that manages printers belonging to the cloud printing service is one of the management servers existing for each country or region and is predetermined. The management server is determined based on the destination of the printer, information on the country or region where the printer is installed, the service usage status of the user, etc., for the purpose of preventing the outflow of printer-specific information and personal information of users outside the country and optimizing communication time. The server switching function is a function of transferring a printer registered in the management server before the change to the management server after the change when the management server predetermined for the printer is changed to another management server. Note that the change of the management server here does not include equipment updates, etc., and includes changing the management server to which the printer has been once registered to another management server. That is, server switching refers to the change of the server to which the printer accesses during cloud printing.

[0016] ●System Configuration Figure 1 is a diagram showing the overall configuration of the data transmission system according to this embodiment. First, the configuration of the system in which the application server 100, management servers 200 and 300, printer 400, and global database 600 cooperate will be described. Network 1000 is a network that interconnects the application server 100, management servers 200 and 300, and printer 400. Network 1000 is a communication network that is often the internet and is implemented as a Local Area Network (hereinafter abbreviated as LAN), Wide Area Network (hereinafter abbreviated as WAN), etc. Network 1000 may further include wired communications such as telephone lines, dedicated digital lines, ATM and frame relay lines, and cable television lines, as well as wireless communications such as wireless lines for data broadcasting. Network 1000 is of any type as long as data transmission and reception are possible between each component. In this embodiment, network 1000 will be described as the internet.

[0017] Network 1100 is a network that interconnects the management servers 200 and 300 and the global database 600. Network 1100 is a communication network that is often the internet and is implemented using LANs, WANs, telephone lines, dedicated digital lines, ATM or frame relay lines, cable television lines, wireless lines for data broadcasting, etc. Network 1100 is not limited to any type as long as data transmission and reception are possible between each component. In this embodiment, Network 1100 will be described as the internet.

[0018] The database 110 of the application server 100 stores various information for providing cloud printing services to users. The web application 120 sends print requests to the management servers 200 and 300 via the network 1000 and receives operational information of the printer 400 from the management servers 200 and 300.

[0019] The databases 210 and 310 of the management servers 200 and 300 store client information for printer 400 to connect and print job information for printer 400. The control applications 220 and 320 generate job data based on print requests received from application server 100 and send it to printer 400 via network 1000. They also send job notifications to printer 400 via network 1000. In this embodiment, management server 200 and management server 300 belong to different regions and manage printers in their respective regions and provide job data, which is the data to be printed, to the printers.

[0020] The communication module 410 of the printer 400 communicates with the management server 200 or management server 300, whichever is the management server to which the printer 400 is registered, via the network 1000 to receive job notifications. The printer 400 then uses the job data connection information contained in the job notification to receive job data from the management servers 200 and 300 via the network 1000. The storage device 430 stores the job data. The print module 420 processes the job data received and stored by the communication module 410 and executes printing.

[0021] The global database 600 is connected via the network 1100 by the management servers 200 and 300, and manages the registration of information shared within each management server. In Figure 1, each component is shown as a single unit for the sake of simplicity in the explanation of this embodiment, but there is no intention to limit or restrict the number of units in the configuration. Each component may consist of one or more elements.

[0022] Management server 200 is sometimes referred to as the first server, and management server 300 as the second server. The data transmission system shown in Figure 1 is also sometimes referred to as the network system or cloud printing system.

[0023] ● Hardware configuration of each device Figure 2 is a block diagram showing the schematic configuration of the application server 100, management servers 200 and 300. The CPU 301 is a central processing unit for controlling the following components. The disk device 302 stores application programs 312, databases 313, the OS, and various other files that the CPU 301 reads. The external storage media reader 303 is a device for reading information such as files stored on external storage media such as SD cards. The memory 304 is composed of RAM, etc., and the CPU 301 performs temporary data storage and buffering as needed. The display unit 305 is composed of, for example, an LCD, and displays various information. The operation unit 306 consists of a keyboard, mouse, etc., for the user to perform various input operations. The network communication unit 307 is connected to a network such as the Internet and performs various communications. The communication unit 307 supports wired LAN and wireless LAN. The above components are interconnected by a bus 309. Furthermore, the Web application 120 of the Web application server 100, the control application 220 of the management server 200, and the control application 320 of the management server 300, which will be described later, are realized by the CPU 301 reading and executing the programs necessary for processing.

[0024] Figure 3 shows the configuration of the printer 400. The CPU 401 performs calculations, decisions, and control of data and instructions according to the programs stored in the RAM 402 and ROM 403. The RAM 402 is used as a temporary storage area when the CPU 401 performs various processing. The ROM 403 stores the operating system (OS) and other application software. In this embodiment, the ROM 403 is a non-volatile memory that allows data to be rewritten, such as flash memory (registered trademark). The communication device 404 is an interface to which a LAN cable is connected, and data communication takes place between the application server 100, the management server 200, and the management server 300, respectively, via a router (not shown) or network 1000. This data communication may be performed wirelessly, for example, by using a wireless-compatible interface.

[0025] The display unit 408 is composed of, for example, an LCD and displays various information. The operation unit 409 consists of buttons, a touch panel, etc., for the user to perform various input operations. The printing device 406 processes the job data received by the communication device 404 and prints it on manuscript paper. The storage device 430 stores the job data received by the communication device 404. The system bus 407 exchanges data between the CPU 401, RAM 402, ROM 403, communication device 404, printing device 406, display unit 408, operation unit 409, etc. The processing of the printer 400's communication module 410 and print module 420 is realized by the CPU 401 reading and executing the program necessary for processing.

[0026] ● Connecting a printer without server switching functionality to a management server (Figure 4) Next, we will explain the process by which printer 400', which does not have a server switching function, connects to the management server and is registered as a printer for cloud printing in the service configuration shown in Figure 1. Printer 400', which is registered with management server 200', has the address (including URL, etc.) of management server 200' registered as the communication destination for cloud printing. Printer 400' obtains the job list and job data from management server 200' and performs cloud printing. The reason why the printer and management server are enclosed in single quotes ('') in this explanation is that the printer and management server in Figure 4 have different functions from those in Figures 5 to 8. In this example, the printer does not have a server switching function, and the management server also does not support the printer's server switching function. Therefore, the single quote ('') is used to indicate that it does not support the server switching function.

[0027] Figure 4 is a sequence diagram showing the process of registering a printer 400' without server switching functionality to a management server 200'. A printer without server switching functionality can only connect to a specific management server. In this example, the management server 200' is the management server to which the printer without server switching functionality connects. Here, the management server 200' to which the printer 400' is managed is predetermined, and for example, the URL or other destination of the management server 200' is registered as an access destination in ROM 403.

[0028] The user performs a server connection operation on printer 400' (S601). Upon receiving the connection operation, the communication module 410 of printer 400' sends a printer registration request to the management server 200', which is pre-registered as the destination (S602). In S602, along with the printer registration request, information such as the printer 400's identification information and, if necessary, password information is also sent.

[0029] Upon receiving a registration request, the management server 200' generates information about the requesting printer 400' and authentication information, also known as a token, for the printer 400' to connect to the management server 200'. The generated information is linked to the requesting printer 400' and stored in the database 210 (S603). The management server 200' sends the generated authentication information to the printer 400' as a response to the registration request (S604). Upon receiving the response sent by S604, the printer 400' displays "Server registration complete" on the display unit 408 to inform the user that registration is complete (S605). The received authentication information is stored for use when accessing the management server 200'.

[0030] The management server 200' notifies the application server 100 and the printer 400' that printer registration is complete (S606). This allows the application server 100 to understand that the printer 400' has been registered with and is being managed by the management server 200'. From S606 onward, the printer 400' sends various event information (errors, alerts, changes in ink levels, etc.) that occur on the printer 400' to the management server 200', adding the authentication information received in S604 each time (S607). The printer 400' can also retrieve job lists and job data from the management server 200' and execute printing.

[0031] When the management server 200' receives various event information or requests from the printer 400', it checks the authentication information attached to that information or request and processes the request as printer information associated with the authentication information (S608). In this example, the printer 400' notifies the user of the completion of the server connection upon receiving authentication information from the management server 200', but it may also notify the user immediately after sending the registration request in S602 without waiting for S604. In other words, the user may be notified of the completion of the connection asynchronously with the management server 200'.

[0032] By following the above procedure, the printer 400' can be registered with the pre-configured management server 200', enabling the provision of cloud printing services using the printer 400'.

[0033] ● Initial registration of printers with server switching functionality to the management server (Figure 5) Next, using Figure 5, we will explain the process of connecting and registering a printer 400 with server switching functionality to a management server 300, which is designated as the connection destination for the printer 400 from among multiple management servers, in the cloud printing service configuration shown in Figure 1. In this example, the printer 400 has server switching functionality from the time of manufacture, and the management servers 200 and 300 also perform operations corresponding to the printer 400 with this switching functionality. Whether or not a printer has server switching functionality from the time of manufacture is indicated by a firmware update flag (also called a ROM update flag) that the printer 400 has and sends with requests as needed. For example, the firmware update flag is set to "on" for printers 400 that have been given server switching functionality through a firmware update, and the firmware update flag is set to "off" for printers 400 that have been given server switching functionality at the time of manufacture. The operation of the printer 400 is executed by CPU 401, and the operation of each server is executed by CPU 301. This is also the case for Figures 6 to 8. In the following explanation, it is assumed that the firmware update flag is off. In this case, the printer 400 does not include the firmware update flag in requests to the server.

[0034] As will be discussed later, when the firmware update flag is set to ON, the server switching function is also enabled, so it can also be called the server switching flag or server switching information. The firmware update flag can also be called hardware update information. Furthermore, since this flag indicates that the printer's firmware has been updated, it can also be called a firmware update event or ROM update event. Alternatively, it can be called a server switching event.

[0035] The user operates the printer 400's control panel 409 to connect to the server (S701). Upon receiving the connection request, the printer 400's communication module 410 sends a connection destination inquiry to the management server 200 (S702). The management server 200 has pre-registered access destinations for inquiries, for example, in ROM 403.

[0036] The control application 220 of the management server 200, upon receiving the inquiry, determines the management server for printer 400 based on the printer's location, which can be inferred from the printer's destination information included in the inquiry and the IP address of the source of the inquiry. The management server and the printer's location may be pre-associated. In this example, the determined management server is management server 300. The control application 220 responds with the destination of the determined management server, for example, URL1 (S703). URL1 may be the destination for registering printer 400 with management server 300. Figure 5 shows the case where the destination determined and responded to in S703 was management server 300.

[0037] Upon receiving the destination URL1, the communication module 410 of the printer 400 sends a printer registration request to the destination URL1 (S704). In this example, URL1 is the management server 300, so the printer registration request is sent to the management server 300. The printer 400's identification information is also sent along with the print registration request.

[0038] Upon receiving the registration request, the management server 300 sends a request to the global database 600 to retrieve the printer information and management server information for the requesting printer 400 (S705). The printer information includes information related to the printer 400, such as identification information. The management server information includes information such as an identifier indicating the management server for the printer 400. The printer information and management server information together are also called printer management information. In this example, the printer 400 is not registered. Therefore, the global database 600 returns a response indicating that it was not registered (S706). Now, having received the response in S706 indicating that the printer 400 is not registered in the global database 600, the management server 300 determines whether the firmware update flag is included in the registration request in S704. In this case, the firmware update flag is not included. In that case, the management server 300 registers the printer management information for the printer 400 in the global database 600. Note that in Figure 5, the retrieval and registration of printer management information are shown together in S705 and S706.

[0039] Furthermore, the management server 300 generates connection information such as URL2 for the printer 400 to access the management server 300, and authentication information such as a token for the printer 400 to connect to the management server 300. It then registers this information in the database 310 in association with the printer 400 (S707). The control application 320 of the management server 300 sends the connection information such as URL2 and the generated authentication information to the printer 400 as a response (S708). URL2 may be the connection destination for the printer 400 to access the management server 300 when providing cloud printing services. Also, in Figure 5, both URL1 and URL2 were the management server 300 itself, but depending on the registration information of the application server 100, they may be other management servers or management server 200 that are not shown in the figure, such as management server 300.

[0040] When the printer 400 receives the destination URL2 and authentication information, it stores this information and notifies the user that the connection is complete by displaying it on the display unit 408 (S709). The management server 300 also notifies the application server 100 that the registration of the printer 400 is complete (S710).

[0041] This allows the application server 100 to determine which of the multiple management servers the printer 400 is connected to. The printer 400 then sends various event information that occurs within the printer (errors, alerts, changes in ink levels) to the management server 300, along with the authentication information received in S708 (S711). When the management server 300 receives various event information or requests from the printer 400, it checks the attached authentication information and processes the request as information for a printer that matches the authentication information (S712).

[0042] The client can obtain information from the management server 300 indicating that printer 400 is included as a printer for the cloud printing service, and can then specify printer 400 to initiate cloud printing. Printer 400 can obtain the job data to be printed from the management server 300 and print it.

[0043] The above example shows how printer 400 queries management server 200 to determine its connection destination, but it is also acceptable to configure it to query management server 300. Alternatively, for example, a dedicated server that handles only connection destination queries could be set up, and the system could query this server.

[0044] This procedure allows a printer with server switching capabilities to be registered with the management server designated for that printer. Once registered, the printer can communicate with the management server and perform cloud printing.

[0045] ●Retrieval of management server information using a registered printer with server switching functionality (Figure 6) Next, using Figure 6, we will explain the flow for obtaining connection URLs 1 and 2 and authentication information again in the service configuration shown in Figure 1, where the printer 400 and the management server 300 (as its management server) are already registered in the global database 600. In this example, the printer 400 has a server switching function from the time of manufacture, and the management servers 200 and 300 also perform operations corresponding to the printer 400 having this switching function. Whether or not the printer 400 has a server switching function from the time of manufacture is indicated by a firmware update flag that the printer 400 has and sends with the request as needed. In the following explanation, we assume that the firmware update flag is off. In this case, the printer 400 will not include the firmware update flag in the request to the server. The operation of the printer 400 is performed by CPU 401, and the operation of each server is performed by CPU 301.

[0046] If the URL (connection destination information) and authentication information of the printer 400's management server are stored in volatile memory, the stored information may be lost when the printer 400 is turned off and then turned on again. Alternatively, information stored on the hard disk may be lost due to corruption. The procedure in Figure 6 is performed, for example, when the URL and authentication information of the management server determined by the management server in the procedure in Figure 5 are lost from the printer 400.

[0047] Even if at least one of the URL or authentication information of the connected management server within the printer 400 is lost, the printer 400 will communicate with the management server 200 and the management server 300 using the same interface as described in Figure 5.

[0048] The printer 400 determines that it needs to re-query the connection destination if the connection destination information or authentication information is lost or corrupted (S801). Loss or corruption of information is determined when the connection destination information and authentication information are referenced, for example, when the self-diagnostic program is run periodically or when a user attempts to obtain a job using the printer 400.

[0049] The communication module 410 of the printer 400 sends a query to the management server 200 regarding the destination server (S802). The destination information of the management server 200 may be protected from loss or destruction by being stored in a non-volatile medium such as ROM.

[0050] The control application 220 of the management server 200, upon receiving the inquiry, determines the management server for the printer 400 based on the printer's location, which can be inferred from the printer's destination information included in the inquiry and the IP address of the source of the inquiry. The management server and the printer's location may be pre-associated. The control application 220 responds with the destination of the determined management server, for example, URL1 (S803). URL1 may be the destination for registering the printer 400 with the management server 300. Figure 6 shows a case where the determined destination is the management server 300, similar to Figure 5.

[0051] Upon receiving the destination URL1, the communication module 410 of the printer 400 sends a printer registration request to URL1, i.e., the management server 300 (S804).

[0052] Upon receiving the registration request, the management server 300 sends a request to the global database 600 to retrieve the printer information and management server information for the requesting printer 400 (S805). In this case, since printer 400 is already registered, the global database 600 returns the registered printer information and management server information as a response (S806). Upon receiving this response, the management server 300 retrieves the connection destination information and authentication information for printer 400 from the database 310 (S807). The retrieved management server information includes the authentication information and the connection destination URL2. The management server 300 sends the authentication information and connection destination URL2 obtained from the database 310 to printer 400 as a response to the registration request (S808).

[0053] From this point forward, the printer 400 will be able to resend various event information that occurs within the printer 400 (errors, alerts, changes in ink levels) to the management server 300, along with the authentication information received by S808 (S809).

[0054] The above example shows how printer 400 issues a registration request when the destination URL and authentication information are lost or corrupted, and how it reacquires the management server information in response to that registration request. However, it is also possible to send the information without detecting that it is lost or corrupted, and if the transmission fails as a result, the printer may query the destination in response to that failure. Alternatively, it is possible to confirm that the authentication information exists within printer 400 before attempting to send the information. Alternatively, when printer 400 is in a certain state, it may always query the management server 200 or a similar dedicated server for the destination S802 as part of the initialization process. By performing the processing described in Figure 6, it becomes possible to pass the destination URL and the authentication information necessary for connection to printer 400 using the same interface as described in Figure 5, even when reacquiring the information.

[0055] ●Registration to the management server using a printer with added server switching functionality (Figure 7) Next, Figure 7 explains the process by which printer 400, which has acquired server switching functionality through a firmware update (also called a ROM update), connects to the management server 300 and requests registration. This procedure is also implemented in the cloud printing service configured in Figure 1. In this procedure, printer 400 does not have server switching functionality at the time of manufacture, and this functionality is added through a firmware update. Furthermore, it is not registered with the cloud printing system until the firmware update. Figure 7 shows the registration procedure in this case. In the figure, firmware is abbreviated as FW. When printer 400 queries the management server to which it is connected, it uses a firmware update flag to inform the management server 300 that it is a printer that has additionally acquired server switching functionality. Since printer 400 is unregistered, there is no printer information on the management server 200, and, similar to the printer that has server switching functionality from the time of manufacture as explained in Figure 5, printer 400 connects to the management server 300 and is registered.

[0056] The user performs a firmware update operation on the printer 400 (S901). The printer 400 performs the firmware update in response to the firmware update operation (S902). At this time, the firmware before the update does not have the function to switch between registered management servers, but this function is added to the firmware after the update. The printer 400 displays to the user that the firmware update is complete using the display unit 408 (S903).

[0057] After the firmware update is complete, the user performs a server connection operation on the printer 400 (S904). The communication module 410 of the printer 400 queries the management server 200 for a connection destination (S905). The management server 200, which is the destination for the connection query, is predetermined and stored in the printer 400. This destination may be stored, for example, along with the firmware update, or it may have been stored before the firmware update.

[0058] The control application 220 of the management server 200, upon receiving the inquiry, determines the management server for printer 400 based on the printer's location, which can be inferred from the printer's destination information included in the inquiry information and the IP address of the source of the inquiry request. It responds with the destination URL 1 of the determined management server (S906). Figure 7 shows the case where the determined management server is management server 300. The communication module 410 of printer 400, upon receiving the destination URL 1, sends a printer registration request and a firmware update flag to the management server 300 (S907).

[0059] Upon receiving the registration request, the management server 300 sends a request to the global database 600 to retrieve printer information and management server information for the requesting printer 400 (S908). This request includes information related to the printer 400, such as identification information. In this example, the printer 400 is unregistered. If the global database 600 determines that the printer 400 is unregistered, it returns a response indicating that it is unregistered (S909). Upon receiving this response, the management server 300 determines whether the firmware update flag is included in the registration request (S910). If it determines that the firmware update flag is included, it sends a request to the management server 200 to confirm (or retrieve) whether it has the connection destination information and authentication information (collectively referred to as connection information) for the printer 400 (S911). This is because the printer 400 may have been connected to the management server 200 before the firmware update. The management server to which the printer 400 may have been connected before the firmware update can be identified based on the destination of the printer 400, etc.

[0060] Upon receiving this, the management server 200 determines whether or not connection information for printer 400 is stored in the management server 200 (S912). In this example, no such information is registered. In this case, the management server 200 registers management server information in the global database 600 indicating that management server 300 is the management server for printer 400 (S913). Since management server 200 determined that printer 400 is the management server, in S913 it may register printer information and management server information for printer 400 based on that determination. Furthermore, management server 200 responds to management server 300 with the result of its determination, in this case, that there is no corresponding registration information (S914). Management server 300 responds to printer 400 with the authentication information of management server 300, which is registered as the management server for printer 400, and the connection URL2 (S915).

[0061] When the printer 400 receives the destination URL 2 and authentication information for the destination URL 2 from the management server 300, it displays a message to the user on the display unit 408 indicating that the server connection is complete (S916).

[0062] As described above, in this example, the printer 400 with updated firmware can be newly registered with the cloud printing system. The management server designated as the management server for printer 400 is then registered in the global database, and the connection information is registered with the designated management server 300. Furthermore, this connection information is also stored on printer 400 and referenced for cloud printing services using printer 400.

[0063] ● Switching the management server using a printer with added server switching functionality (Figure 8) In the procedure shown in Figure 4, printer 400 was registered with management server 200 and performed printing via the cloud printing service under the management of management server 200 until it acquired the server switching function through a firmware update. That is, it sent event information to management server 200, retrieved print job data from management server 200, and printed. Figure 8 is a sequence diagram showing the process from when printer 400, which was registered with management server 200 in the procedure shown in Figure 4, acquired the server switching function through a firmware update, and when the destination of sending event information is switched to the new connection destination, management server 300. In other words, it shows how the server is switched. In this example, the management server determined by the destination of printer 400 changes from management server 200 to management server 300. However, since printer 400 was initially registered with management server 200, it was not managed by the new management server 300, and was not communicating with it. In the example in Figure 8, even in such a case, the new management server 300 can be registered as the management server for the cloud printing service. When printer 400 queries the management server it is connected to, it uses a firmware update flag to inform the management server that it is a printer that has gained server switching functionality through a firmware update. As a result, the connection information of printer 400 stored on management server 200 is transferred to management server 300.

[0064] Printer 400 sends event information to management server 200 using the connection URL and authentication information obtained through the process described in Figure 4 (S1001). The user performs a firmware update operation on printer 400 (S1002). Printer 400 performs a firmware update in response to the firmware update operation (S1003). Printer 400 displays on display unit 408 that the ROM update is complete to inform the user (S1004). After S1004, printer 400 continues to send event information to management server 200 according to the stored connection information (S1005). It also retrieves job data from management server 200 and performs printing.

[0065] After S1005, the connection information, including the destination URL and authentication information, that resides in the printer 1006 is deleted (S1006). This deletion of information may be intentionally caused by the user. For example, a user interface for server switching may be prepared with updated firmware, and the destination URL and authentication information may be erased by an operation on that user interface. Alternatively, if it can be erased by turning the power off, the power off and on operation may be performed. Following this deletion of information, the printer 400 queries the management server 200 for the destination (S1007). The management server 200, which is the destination for the connection query, is predetermined, and this destination is stored in the printer 400. This destination may be stored, for example, with a firmware update, or it may have been stored before the firmware update.

[0066] The control application 220 of the management server 200, upon receiving the inquiry, determines the management server for the printer 400 based on the printer's location, which can be inferred from the printer's destination information included in the inquiry information and the IP address of the source of the inquiry request. It responds with the destination URL 1 of the determined management server (S1008). Figure 8 shows the case where the determined destination is the management server 300. The communication module 410 of the printer 400, upon receiving the destination URL 1, sends a printer registration request and a firmware update flag to the management server 300 (S1009).

[0067] The control application 320 within the management server 300, upon receiving the registration request, sends a request to the global database 600 to retrieve printer information and management server information for the requesting printer 400 (S1010). This request includes information related to the printer 400, such as identification information. As is clear from Figure 4, the global database 600 does not appear in the procedure shown in Figure 6, and therefore the printer 400 is not registered. If the global database 600 determines that the printer 400 is not registered, it returns a response indicating that it is not registered (S1011).

[0068] Upon receiving the response, the control application 320 of the management server 300 determines whether the registration request sent in S1009 includes a firmware update flag (S1012). If the control application 320 of the management server 300 determines that the firmware update flag is present, it sends a request to the management server 200 to confirm (or retrieve) whether the connection information of the printer 400 before the firmware update is stored (S1013). This is because the printer 400 may have been connected to the management server 200 before the firmware update. The management server to which the printer 400 may have been connected before the firmware update can be identified based on the destination of the printer 400, etc.

[0069] Upon receiving this, the control application 220 of the management server 200 determines whether or not the connection information for the printer 400 is stored in the database 210 (S1014). In this example, the relevant information is stored. If the control application 220 of the management server 200 determines that the connection information for the printer 400 is stored, it writes information indicating that the transfer is in progress (transfer information) to the global database 600 (S1016). After writing the transfer information in S1016, the control application 220 of the management server 200 communicates asynchronously with the control application 320 in the management server 300, as shown by the solid line in Figure 8, and executes the transfer process for the information related to the printer 400 (S1017). This asynchronous process is shown by the dotted line in the figure. The transfer process includes, for example, the duplication of information from the management server 200 to the management server 300. The duplication targets include, for example, the job list and job data of print jobs to be printed by the printer 400, and their print setting information. The control application 220 of the management server 200 responds to the control application 320 of the management server 300 with connection information for the printer 400 stored in the database 210 of the management server 200 (S1018).

[0070] When the control application 320 of the management server 300 receives the response to S1018, it responds to the printer 400 with the received connection information for the printer 400 (authentication information and destination URL2) (S1019). This connection information includes authentication information for the management server 200 and destination URL2. Furthermore, when the transfer process has progressed to a predetermined stage, the management server 300 updates the printer-related information stored in the global database 600 in S1016 from the "transfer in progress" state to the "transfer ready" state (S1020). By writing this "transfer ready" status, the printer management information may be registered so that the management server managing the printer 400 becomes the new management server 300.

[0071] Here, the predetermined stage refers to the stage at which, even if the printer 400 makes a request to the management server 300, the destination server, abnormal processing does not occur due to differences in the information stored in the management server 200 and the management server 300. For example, if the server is switched over before the replication of unprocessed data (e.g., job data not yet acquired by the printer 400) has started, the server after the switch may attempt to acquire the unreproduced unprocessed data. In this case, the data to be acquired is not on the server after the switch, and the data acquisition request will result in an error. To prevent such a situation, for example, the transition to the transfer preparation complete state should occur after the replication of unprocessed data (e.g., unacquired job data and print setting information) from the management server 200 to the management server 300 has started. This predetermined stage can also be called the time when the transfer preparation is complete. Note that the completion of the transfer preparation can be known not only by the management server 300 but also by the management server 200. Therefore, S1020 may be performed by the management server 200.

[0072] When the transfer preparations are complete, after S1020, the management server 200 sends a management server transfer notification to the printer 400. Along with this notification, it sends the authentication information of the management server 300 and the connection URL2 (i.e., connection information) (S1021). This notifies the printer 400 that the management server has been transferred from the management server 200 to the management server 300. The management server 200 may request and obtain the connection information of the management server 300 from the management server 300. At this time, the management server 300 may generate and save the connection information in response to the request. In other words, the printer 400 may be registered at this time. The management server 200, which has also sent the connection information of the management server 300 to the printer 400, may delete the registered printer 400 information, such as the connection information.

[0073] After the transfer preparation is complete and the management server 200 sends a transfer notification to the printer 400 in S1021, the management server 300 sends a transfer preparation completion notification to the application server 100 (S1022). This notifies the printer 400 that the management server has been transferred from the management server 200 to the management server 300. From S1022 onward, the printer 400 will send event information and other data that it previously sent to the management server 200 to the management server 300 (S1023).

[0074] Note that S1020 and S1022 are executed by the management server 300, and S1021 is executed by the management server 200. According to the above explanation, these processes are executed in the order of S1020, S1021, and S1022, so the management server 200 that executes S1021 must know that S1020 was executed by the management server 300. Also, at this time, the management server 200 must know the connection information of the management server 300. Furthermore, the management server 300 that executes S1022 must know that S1021 was executed by the management server 200.Therefore, although not explicitly shown in Figure 8, the management server 300 that executed S1020 may notify the management server 200 that S1020 was performed.Similarly, the management server 200 that executed S1021 may notify the management server 300 that S1021 was performed.

[0075] Furthermore, in S1021 in Figure 8, the management server 300 sends a management server transfer notification to the printer 400, but this notification may fail due to network or protocol failures. In that case, the management server 200 and the printer 400 communicate until the printer 400 sends another connection destination inquiry in S1007, and the information after the transfer is passed on by sending the authentication information of the management server 200 and the connection destination URL2 in S1018. Also, although the sender of S1019 and S1021 in Figure 8 is the management server 300 that is being transferred, this transmission may also be made from the management server 200 that is transferring.

[0076] Furthermore, in S1009, the printer 400 sends a firmware update flag to the management server 300, and in S1012, the firmware update flag is checked. However, the firmware update flag does not need to exist. In that case, the process in S1012 can be skipped and the process in S1013 can always be executed. In this case, if the printer has a server switching function at the time of manufacture, S1013 is unnecessary as shown in Figure 5, but the process in S1013 must be performed. However, there is also the advantage that the process can be standardized for printers that have a server switching function, whether at the time of manufacture or through a firmware update. Also, by configuring it in this way, even for printer 400 that has a server switching function at the time of manufacture, the management server can be transferred without setting the firmware update flag.

[0077] Furthermore, as explained in the procedure in Figure 5, printers that are equipped with a server switching function from the time of manufacture cannot handle the migration of the management server as is. However, by setting the firmware update flag to ON, the procedure explained in Figure 8 can be applied, making it possible to switch the management server.

[0078] The above outlines the procedures for migrating the management server across the entire cloud printing system. Now, let's revisit the printers with server switching capabilities, the global database, and the management server.

[0079] ● Printer server switching function A printer with a server switching function sends a connection query to a designated management server (management server 200 in the above example) in response to a user's connection operation to the server. In response to this connection query, the designated server determines the management server of the inquiring printer and replies to the printer with information (URL, etc.) of the destination connection. Upon receiving this, the printer sends a registration request to the received destination. Thus, compared to a printer without this function, a printer with a server switching function first performs the step of obtaining information on the destination of the registration request from a specific server. This step allows the management server corresponding to the printer to be determined and changed as appropriate by the provider of the cloud printing service, rather than being fixed.

[0080] ● Global Database By establishing a global database, even if multiple management servers manage printers separately for each region, the registration status of printers can be managed across all management servers. This includes not only whether a printer is registered or not, but also which printer is registered with which management server, all of which can be centrally managed.

[0081] ● Processing of connection requests by the management server 300 The following describes the processing performed by the management server 300 upon receiving a registration request, with reference to Figures 9 and 10. The processing shown in these figures is executed by the CPU 301 of the management server 300.

[0082] Upon receiving the registration request, the management server 300 executes the process shown in Figure 9. First, it attempts to retrieve printer management information from the global database 600 (S9001). It then determines whether the retrieval was successful (S9002), and if successful, it determines whether the firmware update flag is included in the request (S9003). "Included" means that the firmware update flag is always included, and if it is set to either on or off, it also includes the state where it is set to on.

[0083] If the firmware update flag is included, a request is sent to the management server 200 to check for the presence of connection information (management server URL and authentication information) for the printer that requested registration (S9004). This request may also be a request to retrieve connection information. If the relevant connection information is found in response to the request, it is returned; otherwise, a response to that effect is returned. The response is then tested to determine whether or not connection information is present (S9005). If connection information is included in the response, the received connection information is sent to the printer that requested registration (S9006). The procedure leading up to S9006 corresponds to the case shown in Figure 8.

[0084] On the other hand, if connection information is not included, connection information including the destination of the management server (e.g., URL) and authentication information (e.g., token) is generated and stored and managed on the management server (S9007). Then, this connection information is sent to the printer that made the registration request (S9008). The procedure from S9005 to S9008 corresponds to the case in Figure 7.

[0085] If S9003 determines that the firmware update flag is not included in the registration request, printer management information is generated that includes the printer information of the registration requesting party and the management server information of the management server for which registration was requested. This information is then registered in the global database 600 (S9009). After that, the processes from S9007 onwards are executed. The procedure that branches from S9003 to S9009 corresponds to the case in Figure 5.

[0086] If S9002 determines that the printer management information has been successfully obtained, it retrieves the connection request that should be stored on the management server of the printer that sent the registration request, which is included in the printer management information (S9010). Then, in S9008, it sends this to the printer that sent the registration request.

[0087] Figure 10 shows the procedure for the transfer process corresponding to S1017, S1020-S1022 in Figure 8, which is executed asynchronously with the process in Figure 9. First, the transfer process is started with the management server 200 (S10001). This transfer process is started by the management server 200 after the determination result in S1014 and the corresponding processing in S1016. This transfer process includes the process of copying information about the printer that sent the registration request from the management server before the switchover to the management server after the switchover. This transfer process, including the copying, will continue to run until the transfer of the target data is complete.

[0088] The system waits until the data transfer progresses and reaches the predetermined stage described in Figure 8 (S10002). Once this stage is reached, a message indicating that the transfer is ready is written to the global database 600 (S1003). Furthermore, connection information for the management server after the switch is sent to the printer that requested registration (S10004). In Figure 8, this process is performed by the management server 200, but the explanation states that it may also be performed by the management server 300, and Figure 10 shows it being performed by the management server 300. In this case, connection information for connecting to the management server 300 may be generated and sent in S10004.

[0089] Finally, a notification of the management server transfer is sent to the application server 100 (S10005). This notification may include, for example, printer information for the printer whose management server has been switched and information about the new management server.

[0090] ● Effects of this embodiment With the above configuration and procedure, the migration of printer data between management servers required for management server switching in a cloud printing system can be performed without interrupting the provision of cloud printing services. Furthermore, by applying the above procedure to client devices other than printers, the migration of data related to those client devices can also be performed while the service continues.

[0091] Furthermore, even if the migration of printer-related data is not yet complete, if the migration has progressed to a predetermined stage, the data can be transferred to the new management server, allowing for a rapid transfer of the management server.

[0092] Furthermore, if the printer has a server switching function, the system administrator can determine and change the target management server without modifying the printer's firmware.

[0093] Furthermore, the global database allows for centralized management of the registration status of printers registered on all management servers, preventing management errors due to the migration of management servers.

[0094] Furthermore, by centrally linking printers to their management servers on a specific server, management tasks can be simplified and made more efficient.

[0095] ●Summary of Embodiments The above embodiment can be summarized as follows.

[0096] [Item 1] A network system comprising a device, a first server, and a second server, wherein the device acquires data from connected servers using stored connection information, When the second server receives a server switching event along with a registration request from the device, it requests the first server to which the device is registered to obtain first connection information for the device to connect to the first server. The aforementioned first server is In response to a request for the first connection information, if the first connection information is available, the transfer of data relating to the device to the second server is initiated. The first connection information is sent to the second server. The second server transmits the first connection information obtained from the first server to the device. When either the first server or the second server reaches a predetermined stage in the data migration related to the device, it sends second connection information to the device for connecting to the second server. A network system characterized by the following:

[0097] [Item 2] The network system described in item 1, The device queries a predetermined server for a connection destination, and if the second server is responded as the connection destination, it sends the registration request to the second server. A network system characterized by the following:

[0098] [Item 3] A network system as described in item 1 or 2, The device will send the registration request if the stored first connection information is lost. A network system characterized by the following:

[0099] [Item 4] A network system described in any one of items 1 to 3, The data relating to the device being migrated includes data acquired by the device. A network system characterized by the following:

[0100] [Item 5] A network system described in any one of items 1 to 4, The predetermined step includes a step after the device has started transferring data that it has not yet acquired. A network system characterized by the following:

[0101] [Item 6] A network system as described in any one of items 1 to 5, The server switching event occurs in response to a firmware update of the device. A network system characterized by the following:

[0102] [Item 7] A network system as described in any one of items 1 to 6, The first connection information includes authentication information for connecting to the first server, and the second connection information includes authentication information for connecting to the second server. A network system characterized by the following:

[0103] [Item 8] A network system described in any one of items 1 through 7, The first connection information further includes the destination of the first server, and the second connection information further includes the destination of the second server. A network system characterized by the following:

[0104] [Item 9] A network system as described in any one of items 1 through 8, The network system further includes an application server that provides data to the first server or the second server. The second server further notifies the application server that the device has been registered with the second server after the second connection information has been sent to the device. A network system characterized by the following:

[0105] [Item 10] A network system as described in any one of items 1 through 9, When the data migration related to the device reaches a predetermined stage, the first server transmits the second connection information received from the second server to the device. A network system characterized by the following:

[0106] [Item 11] A network system described in any one of items 1 through 10, When the data migration related to the device reaches a predetermined stage, the second server generates the second connection information and transmits it to the device. A network system characterized by the following:

[0107] [Item 12] A method for switching servers in a network system, comprising a device, a first server, and a second server, wherein the device obtains data from a connected server using stored connection information, When the second server receives a server switching event along with a registration request from the device, it requests the first server to which the device is registered to obtain first connection information for the device to connect to the first server. The aforementioned first server, In response to a request for the first connection information, if the first connection information is available, the transfer of data relating to the device to the second server is initiated. The first connection information is sent to the second server. The second server transmits the first connection information obtained from the first server to the device. When either the first server or the second server reaches a predetermined stage in the data migration related to the device, it sends second connection information to the device for connecting to the second server. A method for switching servers in a network system, characterized by the following: [Other examples] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0108] The invention is not limited to the embodiments described above, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, claims are attached to disclose the scope of the invention. [Explanation of Symbols]

[0109] 100 Application Servers, 200 Administration Servers (Source), 300 Administration Servers (Destination), 400 Printers, 600 Global Databases

Claims

1. A network system comprising a device, a first server, and a second server, wherein the device acquires data from connected servers using stored connection information, When the second server receives a server switching event along with a registration request from the device, it requests the first server to which the device is registered to obtain first connection information for the device to connect to the first server. The aforementioned first server is In response to a request for the first connection information, if the first connection information is available, the transfer of data relating to the device to the second server is initiated. The first connection information is sent to the second server. The second server transmits the first connection information obtained from the first server to the device. When either the first server or the second server reaches a predetermined stage in the data migration related to the device, it transmits second connection information to the device for connecting to the second server. The transfer of data relating to the aforementioned device to the second server is performed asynchronously with the transmission of the first connection information to the second server. A network system characterized by the following:

2. A network system according to claim 1, The device queries a predetermined server for a connection destination, and if the second server is responded as the connection destination, it sends the registration request to the second server. A network system characterized by the following:

3. A network system according to claim 1, The device will send the registration request if the stored first connection information is lost. A network system characterized by the following:

4. A network system according to claim 1, The data relating to the device being migrated includes data acquired by the device. A network system characterized by the following:

5. A network system according to claim 1, The predetermined step includes a step after the device has started transferring data that it has not yet acquired. A network system characterized by the following:

6. A network system according to claim 1, The server switching event occurs in response to a firmware update of the device. A network system characterized by the following:

7. A network system according to claim 1, The first connection information includes authentication information for connecting to the first server, and the second connection information includes authentication information for connecting to the second server. A network system characterized by the following:

8. The network system according to claim 7, The first connection information further includes the destination of the first server, and the second connection information further includes the destination of the second server. A network system characterized by the following:

9. A network system according to claim 1, The network system further includes an application server that provides data to the first server or the second server. The second server further notifies the application server that the device has been registered with the second server after the second connection information has been transmitted to the device. A network system characterized by the following:

10. A network system according to claim 1, When the data transfer related to the device reaches a predetermined stage, the first server transmits the second connection information received from the second server to the device. A network system characterized by the following:

11. A network system according to claim 1, When the data migration related to the device reaches a predetermined stage, the second server generates the second connection information and transmits it to the device. A network system characterized by the following:

12. A method for switching servers in a network system, comprising a device, a first server, and a second server, wherein the device obtains data from a connected server using stored connection information, When the second server receives a server switching event along with a registration request from the device, it requests the first server to which the device is registered to obtain first connection information for the device to connect to the first server. The aforementioned first server, In response to a request for the first connection information, if the first connection information is available, the transfer of data relating to the device to the second server is initiated. The first connection information is sent to the second server. The second server transmits the first connection information obtained from the first server to the device. When either the first server or the second server reaches a predetermined stage in the data migration related to the device, it transmits second connection information to the device for connecting to the second server. The transfer of data relating to the aforementioned device to the second server is performed asynchronously with the transmission of the first connection information to the second server. A method for switching servers in a network system, characterized by the following:

Citation Information

Patent Citations

  • Server device and program

    JP2013168180A

  • Authentication / authorization server, client, service providing system, access management method, and program

    JP2020177537A

  • Information processing apparatus and program

    JP2021064311A