System and method for providing printing services

By locking and transferring printer information during server changes, the system ensures seamless transitions and improved convenience in printing service systems, addressing disruptions caused by device connection changes.

JP7869701B2Active Publication Date: 2026-06-03CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2022-07-05
Publication Date
2026-06-03

AI Technical Summary

Technical Problem

The convenience of a printing service system is reduced when all requests for printing device information are rejected during the process of changing the connection destination of a printing device to another management server, leading to potential system disruptions.

Method used

A system is implemented where a first management server locks printer information for a specific printing device, allowing access while the information is locked, and notifies a second management server to store this information, then instructs the printing device to connect to the second server, ensuring seamless transitions without data inconsistencies.

Benefits of technology

This approach enhances the convenience of the printing service system by allowing smooth transitions between management servers while maintaining data integrity and user accessibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007869701000001
    Figure 0007869701000001
  • Figure 0007869701000002
    Figure 0007869701000002
  • Figure 0007869701000003
    Figure 0007869701000003
Patent Text Reader

Abstract

To provide a technique to improve the convenience of a system that provides a print service.SOLUTION: In a system, each of a plurality of management servers providing a print service manages printer information related to a printing device connected with the management server. A first management server acquires an instruction to change a connection destination of a specific printing device connected with the first management server to a second management server, subsequently, brings printer information of the specific printing device stored in the first management server into a locked state, permits processing of referring to the printer information, and rejects processing of updating the printer information. The second management server stores the printer information of the specific printing device received from the first management server, and subsequently notifies the storage of the printer information of the specific printing device to an application server operating in cooperation and the first management server. After acquiring the change instruction, the first management server instructs the specific printing device to connect to the second management server.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system and method for providing a printing service.

Background Art

[0002] Printing services that cause a printing device to execute printing based on a print instruction acquired from a client device through a network have been put into practical use. Such printing services may be provided by a system including a plurality of management servers. The printing devices available through the printing service are connected to any one of the management servers and receive print jobs from the management server. The management server manages information on the printing devices connected to itself. Patent Document 1 proposes a technique for enabling dynamic movement of a server without interrupting the operation of a web browser.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] During the execution of a process of connecting a printing device connected to a certain management server to another management server, a process of using information on the printing device may be requested for any one of the management servers. If all such requests are rejected until the change of the connection destination of the printing device is completed, the convenience of the system may be reduced. Some aspects of the present invention aim to provide a technique for improving the convenience of a system for providing a printing service.

Means for Solving the Problems

[0005] In some embodiments, a system is provided comprising a plurality of management servers for providing a printing service, each of the plurality of management servers managing printer information relating to a printing device connected to it, the plurality of management servers including a first management server and a second management server, the first management server, after receiving a change instruction to change the connection destination of a specific printing device connected to the first management server to the second management server, locks the printer information of the specific printing device stored in the first management server, permits processing to access the printer information of the specific printing device stored in the first management server while the printer information of the specific printing device stored in the first management server is in the locked state, and rejects processing to update the printer information of the specific printing device stored in the first management server, the second management server, after storing the printer information of the specific printing device received from the first management server, is configured to notify an application server operating in cooperation with the second management server and the first management server that the printer information of the specific printing device has been stored, and the first management server, after receiving the change instruction, is configured to instruct the specific printing device to connect to the second management server. [Effects of the Invention]

[0006] According to some embodiments, the convenience of the system providing the printing service is improved. [Brief explanation of the drawing]

[0007] [Figure 1] A block diagram illustrating an example of the configuration of a system for providing a printing service according to the embodiment. [Figure 2] A block diagram illustrating an example of the hardware configuration of a computer according to this embodiment. [Figure 3] A block diagram illustrating an example of the hardware configuration of a printing apparatus according to this embodiment. [Figure 4]A block diagram illustrating an example of the hardware configuration of a client device according to this embodiment. [Figure 5] A sequence diagram illustrating an example of the process for connecting a printing device according to an embodiment to a management server. [Figure 6] A sequence diagram illustrating an example of the printing process according to the embodiment. [Figure 7] A sequence diagram illustrating an example of the processing of providing an additional service according to the embodiment. [Figure 8] A sequence diagram illustrating a modified example of the process for providing an additional service according to the embodiment. [Figure 9] A sequence diagram illustrating an example of the process for changing the management server according to the embodiment. [Figure 10] A flowchart illustrating an example of the process for changing the management server according to the embodiment. [Figure 11] A flowchart illustrating an example of the process for changing the management server according to the embodiment. [Modes for carrying out the invention]

[0008] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims. While the embodiments describe multiple features, not all of these features are essential to the invention, and the features may be combined in any way. Furthermore, in the attached drawings, identical or similar configurations are given the same reference numerals, and redundant descriptions are omitted.

[0009] [Example of a printing system configuration] Referring to Figure 1, an example configuration of a system for providing printing services according to some embodiments will be described. The system for providing printing services may also be called a printing system. For example, the printing system may include an application server 110, management servers 120 and 130, a client device 140, a printing device 150, and a control server 160. The printing system provides printing services to users of, for example, client device 140. The part of the printing system that manages print jobs executed by the printing device may be called a print management system. For example, the print management system may include an application server 110 and management servers 120 and 130. The control server 160 may or may not be considered to be included in the print management system. The number of each component included in each of the above-described systems is not limited to the example in Figure 1. For example, the printing system may include multiple printing devices 150 or multiple client devices. In addition, each of the above-described systems may have components not shown in Figure 1.

[0010] The application server 110, management servers 120 and 130, client device 140, and printer 150 work together to provide a printing service to the user of client device 140. Specifically, the application server 110 receives print instructions from the user through the client application 141 on client device 140. Upon receiving a print instruction, the application server 110 sends a print request to one of the management servers (for example, management server 120). The management server 120 generates a print job based on the print request and sends this print job to the printer 150. The printer 150 prints according to the received print job. When the print management system is deployed in a cloud environment, the printing service may also be called a cloud printing service. Alternatively, the print management system may be deployed in an on-premises environment.

[0011] The application server 110, management servers 120 and 130, client device 140, printer 150, and control server 160 can communicate with each other via network 101. Network 101 may be a local area network (LAN), wide area network (WAN), telephone line, dedicated digital line, asynchronous transfer mode (ATM) or frame relay line, cable television line, wireless line for data broadcasting, etc. Network 101 may be composed of any combination of these networks. For example, network 101 may include the internet. Although a single network 101 is shown in Figure 1, network 101 may be physically or logically divided.

[0012] The application server 110 is a server that runs applications to provide services to users. The application server 110 has a web application 111 and a database 112. The web application 111 sends print requests to the management servers 120 and 130 and receives operational information of the printing device 150 from the management servers 120 and 130. The database 112 stores various information for providing printing services to users.

[0013] The management server 120 is a server that provides printing services. For example, the management server 120 receives event information such as errors and alerts sent from the printing device 150, and sends print jobs to the printing device 150. The management server 120 has a control application 121 and a database 122. The control application 121 generates a print job based on a print request received from the application server 110 and sends this print job to the printing device 150. The database 122 stores client information for the printing device 150 to connect to, information about the printing device 150, information about print jobs, etc.

[0014] In the following description, information regarding a printing device is referred to as printer information, and information regarding a print job is referred to as print job information. When the database 122 stores printer information in a table format, it may have a record for each printing device. When the database 122 stores print job information in a table format, it may have a record for each print job. A printing device (e.g., the printing device 150) available for the print service is connected to one of a plurality of management servers (e.g., the management servers 120 and 130) included in the print management system. A printing device connected to a specific management server transmits information to be provided to the print management system to this specific management server. That a printing device is connected to a specific management server may be expressed as the printing device being associated with the specific management server, or may be expressed as the printing device being registered with the specific management server.

[0015] The management server 120 manages, in the database 122, printer information regarding a printing device connected to itself (i.e., to the management server 120), and print job information regarding a print job executed by the printing device connected to itself.The management server 120 does not necessarily have to manage printer information and print job information of printing devices not connected to itself.

[0016] The printer information may include, for example, identification information of the printing device, an address of the printing device (e.g., an Internet Protocol (IP) address), and attribute information of the printing device (e.g., functions possessed by the printing device). In this specification, the identification information may be information for uniquely identifying an object, unless otherwise specified. The print job information may include, for example, identification information of the print job, identification information of the printing device that executes the print job, data to be printed, settings used for printing, and the progress status of the print job.

[0017] The management server 130 has a control application 131 and a database 132. Since the management server 130 may be the same server as the management server 120, duplicate explanations are omitted. When the print management system is constructed in a cloud environment, the management servers 120 and 130 may be arranged in different regions of the cloud environment or in the same region.

[0018] The client device 140 is a device on which a client application 141 used by a user to receive the provision of a print service from the application server 110 operates. The client application 141 may be an application dedicated to the print service or a web browser.

[0019] The printing device 150 has a printing function for performing printing based on a print job. In addition to the printing function, the printing device 150 may include at least one of a scanner function and a fax function. A printing device having such a plurality of functions may be called a multifunction printer (MFP). Instead of this, the printing device 150 may be a dedicated machine (SFP: Single Function Peripheral) having only a printing function. The printing may be printing on a sheet-like recording medium such as paper or three-dimensional object forming (so-called three-dimensional printing).

[0020] The printing device 150 may include a control application 151, a storage device 152, a communication module 153, and a print module 154. The control application 151 performs overall control of the printing device 150. The storage device 152 stores print jobs and information on the management server to which the printing device 150 is connected. The communication module 153 receives a job notification from the management server and receives a print job from the management server using the job data access information included in the job notification. The print module 154 executes printing according to the print job received by the communication module 153.

[0021] The control server 160 is a server for controlling the configuration of the print management system. For example, the control server 160 initiates a process to change the management server to which the printing device 150 is connected. The control server 160 has a control application 161 and a database 162. The control application 161 performs processing to control the configuration of the print management system. The database 162 stores information about the printing devices connected to each management server.

[0022] [Example of computer hardware configuration] Referring to Figure 2, an example of the hardware configuration of a computer 200 according to one embodiment will be described. The computer 200 may be used as an application server 110, or as management servers 120 and 130, or as a control server 160. The computer 200 may have all the components shown in Figure 2, or it may not have some of the components, or it may have additional components.

[0023] The central processing unit (CPU) 201 is a general-purpose processing circuit that controls the overall operation of the computer 200. The memory 202 consists of random access memory (RAM) and is used by the CPU 201 for temporary data storage and buffering. The display unit 203 consists of, for example, a liquid crystal display and displays various information to the user of the computer 200. The operation unit 306 consists of, for example, a keyboard and mouse and obtains input from the user of the computer 200.

[0024] The disk device 205 stores application programs 206, a database 207, an operating system (OS), and various files. The application program 206 may be the application described in Figure 1 (for example, control application 121). The database 207 may be the database described in Figure 1 (for example, database 122). The disk device 205 may be, for example, a hard disk drive (HDD). Other non-volatile storage devices, such as a solid-state drive (SSD), may be used instead of the disk device 205. The operation of the computer 200 (for example, the management server 120) described below may be performed by the CPU 201 reading the programs stored in the disk device 205 into memory 202 and executing them.

[0025] The external media reader 208 is a device for reading information such as files stored on an external storage medium such as an SD card. The communication unit 209 is composed of, for example, a network interface card (NIC) or a wireless module, and is used to communicate with an external device. Communication with the external device may be wired or wireless. Each component of the computer 200 described above is connected to the bus 210 and can communicate with each other.

[0026] [Example of printing device hardware configuration] Referring to Figure 3, an example of the hardware configuration of a printing apparatus 150 according to one embodiment will be described. The printing apparatus 150 may have all the components shown in Figure 3, may not have some of the components, or may have additional components.

[0027] The CPU 301 is a general-purpose processing circuit that controls the overall operation of the printing device 150. The RAM 302 is used by the CPU 301 for temporary data storage and buffering. The read-only memory (ROM) 303 stores the OS and other applications. The ROM 303 may be non-volatile memory that cannot be rewritten, or it may be non-volatile memory that can be rewritten, such as flash memory. The storage device 304 stores data used by the printing device 150, such as print jobs received by the communication device 308. The operation of the printing device 150 described below may be performed by the CPU 301 reading programs stored in the storage device 304 into the RAM 302 and executing them.

[0028] The display unit 305 is composed of, for example, a liquid crystal display and displays various information to the user of the printing device 150. The operation unit 306 is composed of, for example, buttons or a touch panel and obtains input from the user of the printing device 150. The printing device 307 performs printing by processing print jobs received by the communication device 308. The communication device 308 is composed of, for example, a NIC or a wireless module and is used to communicate with external devices. Communication with external devices may be wired or wireless. Each of the components of the printing device 150 described above is connected to the bus 309 and can communicate with each other.

[0029] [Example of client device hardware configuration] Referring to Figure 4, an example of the hardware configuration of a client device 140 according to one embodiment will be described. The client device 140 may have all the components shown in Figure 4, may not have some of the components, or may have additional components. The client device 140 may be a personal computer, a mobile communication device such as a smartphone, or another device.

[0030] The CPU 401 is a general-purpose processing circuit that controls the overall operation of the client device 140. The memory 402 consists of RAM or the like and is used for temporary storage and buffering of data by the CPU 401. The display unit 403 consists of, for example, a liquid crystal display and displays various information to the user of the client device 140. The operation unit 306 consists of, for example, a keyboard, mouse, or touch panel and obtains input from the user of the client device 140.

[0031] The disk device 405 stores the application program 406, the OS, and various files. The disk device 405 may be, for example, an HDD. Other non-volatile storage devices such as an SSD may be used instead of the disk device 405. The operation of the client device 140 described below may be performed by the CPU 401 reading the program stored in the disk device 405 into memory 402 and executing it.

[0032] The communication unit 407 consists of, for example, a NIC or a wireless module, and is used to communicate with external devices. Communication with external devices may be wired or wireless. Each component of the client device 140 described above is connected to the bus 408 and can communicate with each other.

[0033] [Printing device connection process] Referring to Figure 5, an example of the process for connecting a printing device to a management server will be described. By connecting a printing device to one of the management servers of the print management system, the printing device becomes available for use by the print service. The following example describes a case where the printing device connected to the management server is printing device 150.

[0034] In S501, the control application 151 of the printing device 150 receives an instruction from the user 500 of the printing device 150 via the operation unit 306 to connect the printing device 150 to the management server of the print management system. This instruction is called a connection instruction.

[0035] In S502, the communication module 153 of the printer 150, upon receiving a connection instruction, queries one of the management servers to determine which management server the printer 150 should be connected to. This query may include destination information for the printer 150. The management server to be queried may be pre-configured and stored in the printer 150. Below, an example of the printer 150 querying the management server 120 is described. Alternatively, the printer 150 may query the management server 130, the control server 160, or a dedicated server for identifying the management server.

[0036] In S503, the control application 121 of the management server 120 determines the management server that the printer 150 should connect to, in response to receiving a query from the printer 150. The determination of the destination management server may be based, for example, on destination information of the printer 150 included in the query or the IP address of the printer 150. Specifically, the control application 121 may estimate the installation location (geographic location) of the printer 150 based on this information and determine a management server located near that installation location as the connection destination. For example, if there is a management server located in the same region as the printer 150, the control application 121 may determine this management server as the connection destination. The control application 121 responds to the printer 150 with information for accessing the determined management server (for example, the URL of the management server). In the following example, the management server 120 determines the management server 130 as the management server that the printer 150 should connect to. Alternatively, the management server 120 itself may be determined as the management server that the printer 150 should connect to.

[0037] In S504, the communication module 153 of the printing device 150, upon receiving a response from the management server 120, sends a request to the management server 130 to register the printing device 150. This request is called a printer registration request. The printer registration request may include identification information of the printing device 150, attribute information of the printing device 150, and so on.

[0038] In step S505, the control application 131 of the management server 130, upon receiving a printer registration request, stores the printer information of the printing device 150 that sent the request in the database 132. This process of newly storing the printer information of a printing device in the database is called printer registration. The control application 131 of the management server 130 generates authentication information that the printing device 150 uses to access the management server 130, and stores this authentication information in the database 132 as part of the printer information. Thus, the printer information may also include authentication information for connecting to the management server.

[0039] In S506, the control application 131 of the management server 130 sends the authentication information generated in S505 to the printer 150. The printer 150 stores the received authentication information in the storage device 304. The printer 150 also remembers that the management server to which it is connected is the management server 130.

[0040] In S507, the control application 131 of the management server 130 notifies the control server 160 that the registration of the printer 150 has been completed. This notification is called the registration completion notification. Upon receiving the registration completion notification, the control server 160 records the management server 130 that sent the notification as the registration destination for the printer 150 in the database 162. S506 and S507 may be executed in any order.

[0041] In S508, the communication module 153 of the printing device 150 sends information about an event (event information) to the management server 130 in response to an event occurring within the printing device 150 (for example, an error event, an alert event, or a change in ink level). The destination of this event information is the management server to which the printing device 150 is connected (i.e., the management server 130). The communication module 153 of the printing device 150 adds the authentication information obtained in S506 to the event information and sends it.

[0042] In S509, the control application 131 of the management server 130 compares the authentication information received from the printer 150 with the authentication information recorded in the storage device 152, in response to receiving event information. If the two match, the control application 131 authenticates that the printer 150 is a printer under its management. In S510, the control application 131 of the management server 130 performs processing based on the received event information, in response to the successful authentication of the printer 150.

[0043] [Printing Process] Referring to Figure 6, an example of the process by which a user of client device 140 uses the print service to print to printer 150 will be described. In this example, it is assumed that printer 150 is connected to management server 120. At the start of Figure 6, it is assumed that the user has completed registration for the print service and has registered printer 150 as the printer they will use. Also, it is assumed that printer 150 is connected to management server 120 at the start of Figure 6.

[0044] In S601, the client application 141 of the client device 140 sends a print command to the application server 110 in accordance with the user's instructions. In S602, the web application 111 of the application server 110, upon receiving the print command, identifies the management server to which the printing device 150 to be used is connected, and sends a print request to the management server 120 that complies with the print command. The print request is a request to perform printing using the printing device 150. The print request may also include identification information of the printing device to be used (printing device 150 in this example), the print target specified by the user (e.g., document or photo files), and print settings (e.g., color mode, duplex printing).

[0045] In S603, the control application 121 of the management server 120 generates new print job information and stores it in the database 122. As described above, the print job information includes the progress status of the print job. At this point, the progress status of the print job may be "Generating," indicating that the generation of the print job is not yet complete. In S604, the control application 121 of the management server 120, upon receiving a print request, generates a print job based on the print request and stores it in the database 122.

[0046] In step S605, the control application 121 of the management server 120 updates the print job information of a print job in response to the completion of the print job generation. Specifically, the control application 121 changes the progress status of the print job to "Generated," which indicates that the print job generation is complete but has not yet been notified to the printing device.

[0047] In S606, the control application 121 of the management server 120 notifies the printing device 150 that there is a print job to be processed after the creation of the print job is complete. Such a notification is called a print job notification. The printing device 150 to which the notification is received is the printing device specified by the print request. The print job notification may be made in response to the completion of the creation of the print job, or it may be made in response to an inquiry from the printing device 150.

[0048] In S607, the control application 151 of the printing device 150, upon receiving a print job notification, sends a request to the management server 120 to send a print job. Such a request is called a print job request.

[0049] In S608, the control application 121 of the management server 120 updates the print job information for the print job in response to the print job notification being sent to the printing device 150. Specifically, the control application 121 changes the progress status of the print job to "Notified," indicating that the print job has been notified to the printing device but printing is not yet complete. S608 may be performed in response to the sending of the print job notification in S606, or in response to the receiving of the print job request in S607.

[0050] In S609, the control application 121 of the management server 120, upon receiving a print job request, responds to the printing device 150 with the print job specified in the print job request. Such a response is called a print job response.

[0051] In S610, the print module 154 of the printing device 150 executes printing according to the received print job. In S611, the control application 151 of the printing device 150 notifies the management server 120 that the print job has been completed, in accordance with the successful completion of the printing. Such a notification is called a print job completion notification. The print job completion notification may include the identification information of the print job and the identification information of the printing device 150.

[0052] In S612, the control application 121 of the management server 120 updates the print job information for the print job in response to receiving a print job completion notification. Specifically, the control application 121 changes the progress status of the print job to "Completed," indicating that printing has been completed.

[0053] In S613, the control application 121 on the management server 120 deletes the completed print job from the database 122. In S614, the control application 121 on the management server 120 sends the print result to the application server 110. This print result indicates that printing in response to the print request received in S602 has been completed.

[0054] In step S615, the web application 111 of the application server 110 notifies the client device 140 of the print result. The client device 140 then presents this print result to the user.

[0055] Figure 6 illustrates the case where the print service processes a single print job. The print service may process multiple print jobs in parallel. These multiple print jobs may be for different printing devices or for the same printing device. As described above, the management server 120 updates the progress of the print jobs based on notifications received from the printing devices connected to it via S603, S605, S608, and S612. This allows the management server 120 to properly manage the status of each print job, even when multiple print jobs are processed in parallel.

[0056] [Processing of providing additional services] Referring to Figure 7, an example of processing for providing users with additional services offered by the printing system is described. Additional services are services related to the printing device connected to the print management system, and may be services provided in addition to the printing service. One example of an additional service is an automatic delivery service for consumables of the printing device 150. In the automatic delivery service, the application server 110 obtains the remaining amount of consumables (ink, toner) from the printing device 150 through the management server. The application server 110 monitors the remaining amount of consumables and orders the consumables when the amount falls below a threshold. Another example of an additional service is a visualization service for the usage status of the printing device. In the visualization service, the application server 110 collects information on the number of pages, color mode, and paper size of prints performed by the printing device 150 and presents the usage status of the printing device 150 to the user. Another example of an additional service is a billing service that charges users or awards points based on the number of pages printed.

[0057] At the start of Figure 7, the user has completed registration for the printing service and has registered printer 150 as the printing device they will use. Furthermore, at the start of Figure 7, printer 150 is connected to the management server 120.

[0058] In S701, the client application 141 of the client device 140 sends an instruction to the application server 110 to include a specific printer as an additional service, in accordance with the user's instructions. This instruction is called a service registration instruction. The service registration instruction may include the printer's identification information (e.g., serial number) and the type of additional service. In the explanation of Figure 7, the additional service and the target printer are referred to as the target printer. The following explanation will describe the case where the target printer is printer 150.

[0059] In S702, the Web application 111 of the application server 110 identifies the management server (in this example, the management server 120) to which the printer 150 is connected, and sends a service registration request to the management server 120. A service registration request is a request to register the target printer as an object for an additional service. The service registration request may include identification information of the target printer, the type of additional service, etc. The Web application 111 may identify the management server that manages the printer 150 by querying, for example, the control server 160. Alternatively, the management server that performed printer registration in S505 of Figure 5 may notify the application server 110 of the identification information of the printer connected to it, and the application server 110 may use this information.

[0060] In S703, the control application 121 of the management server 120 updates the printer information of the printing device 150 stored in the database 122 in response to receiving a service registration request. Specifically, the control application 121 registers that the printing device 150 is eligible to use the additional services specified in the service registration request as part of the printer information for the printing device 150. Thus, the printer information may include information indicating the services provided for the printing device.

[0061] In S704, the control application 151 of the printing device 150 detects that an event (for example, a change in ink level) has occurred in the printing device 150 that should be notified to the management server 120. In S705, the control application 151 of the printing device 150, upon detecting the occurrence of the event, sends event information regarding the event to the management server 120.

[0062] In S706, the control application 121 of the management server 120, upon receiving event information, checks the additional services registered for the printing device that sent the event information (printing device 150 in this example). This check may be performed by referring to the printer information of printing device 150 stored in the database 122. In the following example, it is assumed that printing device 150 is registered for a specific additional service.

[0063] In S707, the control application 121 of the management server 120 sends an event notification to the application server 110. In S708, the web application 111 of the application server 110 executes processing related to the additional services being used by the user, in response to receiving the event notification. For example, if a visualization service is registered for the printer 150, the web application 111 sends the usage status of the printer 150 to the client device 140.

[0064] [Variations of the process for providing additional services] Referring to Figure 8, a modified example of the process for providing users with additional services offered by the printing system will be described. In the example in Figure 8, security during registration for additional services is improved by using a one-time password. At the start of Figure 8, it is assumed that the user has completed registration for the printing service and has registered printer 150 as the printing device they will use. It is also assumed that at the start of Figure 8, printer 150 is connected to the management server 120.

[0065] In S1801, the control application 151 of the printing device 150 receives an instruction from the user 1800 of the printing device 150 via the operation unit 306 to obtain a registration code. As will be described later, the registration code is used as a one-time password.

[0066] In S1802, the control application 151 of the printing device 150 sends a request to the management server to which it is connected (in this example, the management server 120) to issue a registration code. In S1803, the control application 121 of the management server 120 issues a registration code in response to receiving the request to issue a registration code, and stores this registration code in the database 122 as part of the printer information of the printing device 150. Thus, the printer information may include a registration code that is used as a one-time password when user 1800 registers for additional services. The control application 121 may set an expiration date (for example, 1 minute) for the registration code. The control application 121 may delete registration codes that have expired from the database 122.

[0067] In S1804, the control application 121 of the management server 120 sends the issued registration code to the printer 150. In S1805, the control application 151 of the printer 150 displays the registration code on the display unit 305 upon receiving it. In S1806, the user 1800 enters the registration code displayed on the printer 150 into the client device 140, and the web application 111 of the application server 110 retrieves this registration code.

[0068] In S1807, the client application 141 of the client device 140 sends an instruction to the application server 110 to include a specific printing device as an additional service, similar to S701. In this modified example, the client application 141 includes the registration code entered by the user 1800 in the service registration request. In S1808, the web application 111 of the application server 110 sends the service registration request to the management server 120, similar to S702. In this modified example, the web application 111 includes the registration code received from the client device 140 in the service registration request.

[0069] In S1809, the control application 121 of the management server 120 verifies the registration code included in the service registration request upon receiving the service registration request from the application server 110. Specifically, the control application 121 determines whether a registration code matching the registration code included in the service registration request is stored in the database 122. If a matching registration code exists, the control application 121 decides to perform service registration for the printing device associated with that registration code (in this example, the printing device 150). If no matching registration code exists, the control application 121 may reject the service registration request. The following describes the case where a registration code matching the registration code included in the service registration request exists.

[0070] In S1810, the control application 121 of the management server 120 registers the printer information of the printer 150, in the same manner as in S703, that the printer 150 is eligible to use the additional service specified in the service registration request. In S1811, the control application 121 of the management server 120 notifies the application server 110 that registration is complete, in response to the update of the printer information. In S1812, the web application 111 of the application server 110 notifies the client device 140 that registration is complete, in response to the notification received from the management server 120. The client device 140 may display the registration result on the display unit 203.

[0071] The subsequent operations may be the same as those shown in S704-S708 of Figure 7, so redundant explanations will be omitted. According to the above modifications, the registration of additional services can be performed securely.

[0072] [Process to change the management server] Referring to Figure 9, an example of the process for changing the management server in the print management system of Figure 1 will be explained. At the start of Figure 9, it is assumed that the user has completed registration for the print service and has registered printer 150 as the printing device they will use. Also, it is assumed that at the start of Figure 9, printer 150 is connected to management server 120.

[0073] In S1901, the control application 161 of the control server 160 sends an instruction to the management server 120 to change the connection destination of the printer 150 connected to the management server 120 to the management server 130. Such an instruction is called a connection change instruction. The connection change instruction includes the identification information of the printer whose connection destination is to be changed (printer 150 in this example) and the identification information of the management server to which the connection destination will be changed (management server 130 in this example). The control server 160 may execute S1901 according to the instructions of a user of the control server 160 (for example, the administrator of the printing service or the administrator of the cloud service). Alternatively, the control server 160 may execute S1901 when predetermined conditions are met (for example, when the load on the management server 120 exceeds a threshold). In the explanation of Figures 9 to 11, the specific printer whose connection destination is to be changed (printer 150 in this example) is referred to as the target printer. The number of printers specified in a single connection change instruction may be one, multiple, or all printers connected to the management server 120. If multiple printers are specified in a single connection change instruction, the subsequent S1902-S1913 commands will be executed for each printer. Changing the management server to which the connection is made may, for example, be to change the region of the cloud environment, or to migrate the management server.

[0074] In S1902, the control application 121 of the management server 120 locks the printer information of the target printing device stored in the database 122 of the management server 120. Since the target printing device is connected to the management server 120, the printer information of the target printing device is stored in the database 122 of the management server 120. While the printer information of the target printing device stored in the database 122 is locked, the control application 121 allows processing to access the printer information but refuses processing to update the printer information. The lock state of the printer information of the target printing device stored in the database 122 of the management server 120 is released when the printer information is deleted in S1911, as described later. In the following description, the information stored in the database 122 of the management server 120 may be simply referred to as the information within the management server 120. Similarly, the information stored in the database 132 of the management server 130 may be simply referred to as the information within the management server 130.

[0075] While the printer information of the target printer in the management server 120 is locked, the control application 121 does not need to lock the printer information of other printers in the management server 120. That is, while the printer information of the target printer in the management server 120 is locked, the control application 121 may allow both the process of referencing and updating the printer information of other printers in the management server 120. The connection destination of printers other than the target printer remains the management server 120 and not the management server 130. Therefore, even if the printer information of such printers is updated, no inconsistency will occur between the management server 120 and the management server 130.

[0076] In S1903, the control application 121 of the management server 120 locks the printer information of the target printing device and then sends the printer information of the target printing device to the management server 130. In S1904, the control application 131 of the management server 130 registers this printer information in the database 132 upon receiving the printer information of the target printing device. Registering the printer information in the database 132 includes storing the printer information in the database 132.

[0077] While the printer information of the target printer in the management server 120 is locked, the control application 131 of the management server 130 does not need to lock the printer information of the target printer in the management server 130. That is, while the printer information of the target printer in the management server 120 is locked, the control application 131 may allow both the process of referencing and updating the printer information of the target printer in the management server 130. The printer information of the target printer in the management server 130 will continue to be used in subsequent processing. Therefore, even if the printer information of the target printer in the management server 130 is updated, no inconsistencies will occur in future processing.

[0078] In S1905, the control application 131 of the management server 130 registers the printer information in the database 132 and then notifies the management server 120 that the registration of the printer information is complete. This type of notification is called a registration completion notification. The registration completion notification indicates that the registration of the printer information has been successfully completed on the management server 130.

[0079] In S1906, the control application 131 of the management server 130 registers the printer information in the database 132 and then sends a registration completion notification to the application server 110. Either S1905 or S1906 may be executed first. After receiving the registration completion notification in S1906, the application server 110 may request the management server 130 to process the printer information of the target printing device. Since the printer information of the target printing device in the management server 130 is not locked, the application server 110 can also request processing to update the printer information.

[0080] In S1907, the control application 121 of the management server 120 instructs the printer 150 to connect to the management server 130 in response to receiving the registration completion notification. This instruction includes information for connecting to the modified management server 130 (e.g., the IP address of the management server 130). S1907 may be performed in response to receiving the registration completion notification, as described above. Alternatively, S1907 may be performed without waiting for the registration completion notification to be received. For example, S1907 may be performed after receiving the connection change instruction in S1901, or after sending printer information in S1903.

[0081] In S1908, the control application 151 of the printing device 150 changes the connected management server from management server 120 to management server 130. For example, the control application 151 changes the setting value of the address of the connected management server stored in the storage device 152 to the address of management server 130. After this change, the control application 151 of the printing device 150 sends the information to be provided to the print management system to management server 130. After changing the connection destination in S1908, the printing device 150 may request management server 130 to process the printer information of the printing device 150. Since the printer information of the printing device 150 in management server 130 is not locked, the printing device 150 can also request processing to update the printer information.

[0082] In S1909, the control application 151 of the printing device 150 sends a notification to the management server 130, which is the new connection destination, indicating that it has connected to the management server 130. This notification is called a change completion notification. In S1910, the control application 131 of the management server 130, upon receiving the change completion notification from the printing device 150, sends a change completion notification (i.e., a notification that the connection destination of the printing device 150 has been changed to the management server 130) to the management server 120.

[0083] In S1908, the control application 121 of the management server 120 deletes the printer information of the target printing device from the database 122 in response to receiving a change completion notification. By deleting unnecessary information in this way, the storage capacity of the management server 120 can be used effectively. S1911 may be performed without waiting for the registration completion notification to be received. For example, S1911 may be performed after the print job information has been sent in S1908.

[0084] In S1912, the control application 131 of the management server 130 sends a change completion notification to the control server 160 in response to receiving a change completion notification from the printer 150. As described above, the change completion notification is a notification that the connection destination of the printer 150 has been changed to the management server 130. In response to receiving the change completion notification, the control application 161 of the control server 160 updates the management server information to indicate that the connection destination of the printer 150 is the management server 130.

[0085] In S1913, the control application 131 of the management server 130 sends a change completion notification to the application server 110 in response to receiving a change completion notification from the printer 150. As described above, the change completion notification is a notification that the connection destination of the printer 150 has been changed to the management server 130. S1910, S1912, and S1913 may be executed in any order. Upon receiving the change completion notification, the application server 110 can recognize that the connection destination of the printer 150 has been changed to the management server 130. Until receiving the change completion notification in S1913, the application server 110 may process the printer 150 as if its connection destination was the management server 120.

[0086] While the operation shown in Figure 9 is being performed, a request for processing that utilizes the target printer information may be made from, for example, the application server 110 or the printing device 150 to the print control system, which includes multiple management servers. After the printer information of the target printing device is sent from management server 120 to management server 130 in S1903, this printer information is stored in both management server 120 and management server 130. If the usage mode of the target printer information is reference, even if processing that utilizes the target printer information is executed, no inconsistency will occur between the printer information in management server 120 and the printer information in management server 130. Therefore, in this embodiment, the control application 121 of management server 120 permits processing that references the printer information of the target printing device.

[0087] On the other hand, if the usage pattern of the target printer information is an update, and the printer information in the management server 120 is updated after the printer information is sent in S1903, this update will not be reflected in the printer information in the management server 130. In this case, inconsistencies may occur in the processing that uses the print management system. For example, service registration requests in S702 and S1808, registration code requests in S1802, and service cancellation requests (not shown) all request processing to update the printer information of the target printer. For example, suppose that after the printer information is sent in S1903, a registration code is requested in S1802. In this case, the registration code is not included in the printer information in the management server 130. Therefore, if a service registration request is sent to the management server 130 in S1808 after the connection destination of the printing device 150 has been changed to the management server 130, the authentication code verification in S1809 will fail. For this reason, as described above, the management server 120 refuses to process the updating of the printer information of the target printing device in the management server 120. In this way, the convenience of the print management system is improved by allowing the source management server 120 to access the printer information of the target printing device and rejecting the process of updating that printer information.

[0088] In the method shown in Figure 9, the management server 120 received a connection change instruction from the control server 160 at S1901. Alternatively, the management server 120 may obtain the connection change instruction in another way. For example, an operator of the print control system may provide the connection change instruction to the management server 120 using the operation unit 204 of the management server 120.

[0089] [Action taken to change the management server] Referring to Figure 10, an example of the operation of the source management server (management server 120 in the example of Figure 9) in the method of Figure 9 will be explained. The management server included in the print management system may start the operation shown in Figure 10 after startup. Explanations that are redundant to those explained in Figure 9 will be omitted.

[0090] In S2001, the control application 121 determines whether it has received a connection change instruction. If it determines that it has received a connection change instruction (YES in S2001), the control application 121 proceeds to S2002; otherwise (NO in S2001), it repeats S2001. S2001 corresponds to S1901. In S2002, the control application 121 locks the printer information of the target printing device stored in the database 122 of the management server 120. S2002 corresponds to S1902. In S2003, the control application 121 sends the printer information of the target printing device to the management server 130. S2003 corresponds to S1903.

[0091] In S2004, the control application 121 determines whether it has received a registration completion notification. If the control application 121 determines that it has received a registration completion notification (YES in S2004), it proceeds to S2005; otherwise (NO in S2004), it repeats S2004. S2004 corresponds to S1905. In S2005, the control application 121 instructs the target printer to connect to the management server 130. S2005 corresponds to S1907.

[0092] In S2006, the control application 121 determines whether it has received a change completion notification. If the control application 121 determines that it has received a change completion notification (YES in S2006), it proceeds to S2007; otherwise (NO in S2006), it repeats S2006. S2006 corresponds to S1910. In S2007, the control application 121 deletes the printer information of the target printing device from the database 122. S2007 corresponds to S1911.

[0093] [Action taken when changing the management server] Referring to Figure 11, an example of the operation of the management server to be modified in the method shown in Figure 9 (management server 130 in the example of Figure 9) will be explained. The management server included in the print management system may start the operation shown in Figure 11 after startup. Repetitive explanations of the content described in Figure 9 will be omitted.

[0094] In S2101, the control application 131 determines whether it has received printer information. If it determines that it has received printer information (YES in S2101), the control application 131 proceeds to S2102; otherwise (NO in S2101), it repeats S2101. S2101 corresponds to S1903. In S2102, the control application 131 registers the printer information of the target printing device in the database 132. S2102 corresponds to S1904. In S2103, the control application 131 sends a registration completion notification to the management server 120 and the application server 110, respectively. S2103 corresponds to S1905 and S1906.

[0095] In S2104, the control application 131 determines whether it has received a change completion notification. If the control application 131 determines that it has received a change completion notification (YES in S2104), it proceeds to S2105; otherwise (NO in S2104), it repeats S2104. S2104 corresponds to S1909. In S2105, the control application 131 sends the change completion notification to the management server 120, the control server 160, and the application server 110, respectively. S2105 corresponds to S1910, S1912, and S1913.

[0096] 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.

[0097] <Summary of Embodiments> [Item 1] A system comprising multiple management servers for providing printing services, Each of the aforementioned management servers manages printer information related to the printing devices connected to it. The aforementioned plurality of management servers include a first management server and a second management server, The aforementioned first management server is After receiving a change instruction to change the connection destination of a specific printing device connected to the first management server to the second management server, the printer information of the specific printing device stored in the first management server is locked. The system is configured to allow access to the printer information of the specific printing device stored in the first management server while the printer information of the specific printing device stored in the first management server is in the locked state, and to deny access to access to the printer information of the specific printing device stored in the first management server. The second management server is configured to store the printer information of the specific printing device received from the first management server, and then notify the application server operating in cooperation with the second management server and the first management server that the printer information of the specific printing device has been stored. A system in which the first management server is configured to instruct the specific printing device to connect to the second management server after receiving the change instruction. [Item 2] The system according to item 1, wherein the first management server is configured to delete the printer information of the specific printing device stored in the first management server after the connection destination of the specific printing device has been changed to the second management server. [Item 3] The system according to item 1 or 2, wherein the second management server is configured to notify the first management server that the connection destination of the specific printing device has been changed to the second management server after receiving notification from the specific printing device that the specific printing device has connected to the second management server. [Item 4] The system according to any one of items 1 to 3, wherein the second management server is configured to allow the process of updating the printer information of the specific printing device stored in the second management server while the printer information of the specific printing device stored in the first management server is in the locked state. [Item 5] The system according to any one of items 1 to 4, wherein the first management server is configured to allow the updating of the printer information of a printing device other than the specific printing device stored in the first management server while the printer information of the specific printing device stored in the first management server is in the locked state. [Item 6] The first management server and the second management server are systems described in any one of items 1 to 5, located in different regions of the cloud environment. [Item 7] A method performed by multiple management servers to provide print services, Each of the aforementioned management servers manages printer information related to the printing devices connected to it. The aforementioned plurality of management servers include a first management server and a second management server, The aforementioned method, The first management server, after receiving a change instruction to change the connection destination of a specific printing device connected to the first management server to the second management server, locks the printer information of the specific printing device stored in the first management server, wherein while the printer information of the specific printing device stored in the first management server is in the locked state, a process that references the printer information of the specific printing device stored in the first management server is permitted, and a process that updates the printer information of the specific printing device stored in the first management server is denied. The second management server, after storing the printer information of the specific printing device received from the first management server, notifies the application server operating in cooperation with the second management server and the first management server that the printer information of the specific printing device has been stored. The first management server, after receiving the change instruction, instructs the specific printing device to connect to the second management server, A method of having.

[0098] 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]

[0099] 110 Application Server, 120 Management Server, 130 Management Server, 140 Client Device, 150 Printer, 160 Control Server

Claims

1. A system comprising multiple management servers for providing printing services, Each of the aforementioned management servers manages printer information related to the printing devices connected to it. The aforementioned plurality of management servers include a first management server and a second management server, The first management server is, After receiving a change instruction to change the connection destination of a specific printing device connected to the first management server to the second management server, the printer information of the specific printing device stored in the first management server is locked. The system is configured to allow access to the printer information of the specific printing device stored in the first management server while the printer information of the specific printing device stored in the first management server is in the locked state, and to deny access to access to the printer information of the specific printing device stored in the first management server. The second management server is configured to store the printer information of the specific printing device received from the first management server, and then notify the application server operating in cooperation with the second management server and the first management server that the printer information of the specific printing device has been stored. A system in which the first management server is configured to instruct the specific printing device to connect to the second management server after receiving the change instruction.

2. The system according to claim 1, wherein the first management server is configured to delete the printer information of the specific printing device stored in the first management server after the connection destination of the specific printing device has been changed to the second management server.

3. The system according to claim 1, wherein the second management server is configured to notify the first management server that the connection destination of the specific printing device has been changed to the second management server after receiving notification from the specific printing device that the specific printing device has connected to the second management server.

4. The system according to claim 1, wherein the second management server is configured to allow the process of updating the printer information of the specific printing device stored in the second management server while the printer information of the specific printing device stored in the first management server is in the locked state.

5. The system according to claim 1, wherein the first management server is configured to allow the updating of the printer information of a printing device other than the specific printing device stored in the first management server while the printer information of the specific printing device stored in the first management server is in the locked state.

6. The system according to claim 1, wherein the first management server and the second management server are located in different regions of the cloud environment.

7. A method performed by multiple management servers to provide print services, Each of the aforementioned management servers manages printer information related to the printing devices connected to it. The aforementioned plurality of management servers include a first management server and a second management server, The aforementioned method, The first management server, after receiving a change instruction to change the connection destination of a specific printing device connected to the first management server to the second management server, locks the printer information of the specific printing device stored in the first management server, wherein while the printer information of the specific printing device stored in the first management server is in the locked state, a process that references the printer information of the specific printing device stored in the first management server is permitted, and a process that updates the printer information of the specific printing device stored in the first management server is denied. The second management server, after storing the printer information of the specific printing device received from the first management server, notifies the application server operating in cooperation with the second management server and the first management server that the printer information of the specific printing device has been stored. The first management server, after receiving the change instruction, instructs the specific printing device to connect to the second management server, A method of having.