IMAGE PROCESSING APPARATUS, METHOD FOR PROVIDING CLOUD PRINT SERVICE, AND PROGRAM

The image processing device addresses the challenge of managing multiple printers in a cloud print service by creating printer queues and separating virtual and real printer modules, enhancing search efficiency and reducing communication delays.

JP7599921B2Active Publication Date: 2024-12-16CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2020192506
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-11-19
Publication Date
2024-12-16
Estimated Expiration
2040-11-19

AI Technical Summary

Technical Problem

In large organizations with numerous printers, using a cloud print service results in a cumbersome search for desired printers due to the display of dozens or hundreds of devices, leading to communication delays and performance issues with virtual printers under high load.

Method used

An image processing device registers with the cloud print service, creating a printer queue for each device and using a printer object to manage print jobs, separating the load between virtual and real printer software modules to prevent congestion.

Benefits of technology

This approach reduces the load on virtual printers, improving communication efficiency and performance by distributing print job management between front-end and back-end modules.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007599921000001
    Figure 0007599921000001
  • Figure 0007599921000002
    Figure 0007599921000002
  • Figure 0007599921000003
    Figure 0007599921000003
Patent Text Reader

Abstract

To provide an image processing device capable of suppressing the load of a virtual printer during image processing using the virtual printer.SOLUTION: A printing device 101 registers its own device with a cloud print service 103, and generates a printer queue for storing a print job to be sent to the own device in the cloud print service 103. When the printing device 101 is associated with a virtual printer on the cloud print service 103, information of a print job managed by the virtual printer is acquired from the cloud print service 103. When an operation for printing the print job managed by the virtual printer is accepted, the printing device 101 instructs to move the print job specified at least based on the acquired print job information, to the printer queue for the printing device 101 provided on the cloud print service 103, and acquires the moved print job.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image processing apparatus, a method for providing a cloud print service, and a program. [Background technology]

[0002] A printing system has been proposed in which a print job submitted via the cloud is sent to an image processing device such as a printing device for execution (see, for example, Patent Document 1). In such a printing system performing cloud printing, an administrator registers a printing device to a cloud print service (hereinafter also referred to as CPS). After that, users who are permitted to use the cloud print service use their respective client terminals to search for printers registered in the CPS, add the printer, configure desired print settings, and send a print job to the CPS. Then, when the print job is executed, the CPS outputs the print job to the printing device, and the printing device executes printing based on the output print job.

[0003] Examples of printing systems such as those described above are mentioned in PWG5100.18, RFC3995, and RFC3996. These standards also stipulate a method for notifying printing devices of events from a cloud print service. One method for realizing notifications is a notification method in which the printing device periodically queries the cloud print service and receives an event notification as a response to the query. In addition, a notification method is also stipulated in which the printing device and CPS maintain a constant connection, and when an event occurs in the CPS, a push notification is sent to the printing device. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2012-133489 A Summary of the Invention [Problem to be solved by the invention]

[0005] When using a cloud print service on an organizational basis, printers owned by the organization are registered in the cloud print service. For example, organizations such as large companies and government agencies often own a large number of printers, and a large number of printers are registered in the cloud print service.

[0006] In the above-mentioned environment, when a user searches for printing devices registered with the cloud print service from a client terminal, the search results show dozens or even hundreds of printing devices, making it difficult to find the desired printing device.

[0007] One possible configuration would be to create a virtual printer on the cloud print service to manage multiple printing devices as a single printer, and to display the virtual printer in the search results as a representative of the multiple printing devices. However, simply associating a large number of printing devices with a virtual printer may result in a concentration of load on the software module that realizes the virtual printer. For example, multiple printing devices may request the same virtual printer to acquire print job data. In this case, multiple data accesses may be concentrated on the virtual printer on the cloud print service for a long time. Specifically, while printing device A is acquiring print job data submitted by user A, printing device B may acquire print job data submitted by another user in response to a request from another user B. If these multiple accesses and data transmission / reception control are handled by a single software module, the virtual printer, there is a possibility that communication and performance delays will occur. The present invention has been made in consideration of one of the above problems. One aspect of the present invention is to provide an image processing device that can suppress the load on the virtual printer when image processing is performed using the virtual printer. [Means for solving the problem]

[0008] An image processing apparatus according to an embodiment of the present invention is registered in a cloud print service. By doing A printer queue is generated on the cloud print service to store print jobs to be transmitted to the image processing device. An image processing device for causing , before On the above cloud print service Temporary An acquisition means for acquiring information on a print job managed by a virtual printer from the cloud print service; Among the print jobs corresponding to the print job information acquired by the acquisition means, one or more When an operation to print a print job is accepted, The one or more items to be printed A control unit that instructs the transfer of a print job to a printer queue for the image processing device provided on the cloud print service; move Print jobs that have been IPP (Internet Printing Protocol) and a job acquisition means for acquiring the job using the job acquisition means. Effect of the Invention

[0009] According to the image processing apparatus of the present invention, it is possible to reduce the load on the virtual printer when image processing is performed using the virtual printer. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 illustrates an example of a printing system. [Diagram 2] FIG. 1 illustrates an example of a printing process using a cloud print service. [Diagram 3] FIG. 11 is a diagram showing an example of a screen relating to a printer search. [Figure 4] FIG. 2 is a simplified diagram illustrating an example of a hardware configuration of a printing apparatus. [Diagram 5] FIG. 2 is a functional block diagram of a printing apparatus according to an example embodiment. [Figure 6] FIG. 2 is a diagram illustrating an example of the overall processing of the system. [Figure 7] FIG. 13 illustrates an example of a screen displayed when searching for a virtual printer. [Figure 8] 11 is a diagram illustrating an example of a printer list managed by a cloud print service. [Figure 9] FIG. 4 illustrates an example of a setting screen in the printing device. [Figure 10] 1A and 1B are diagrams illustrating an example of a login screen and a screen displayed during login. [Figure 11] FIG. 13 illustrates an example of a job list screen. [Figure 12] 10 is a flowchart illustrating an example of an operation process of a printing device. [Figure 13] 11 is a flowchart illustrating an example of a login process. [Figure 14] 11A and 11B are diagrams illustrating a printing process when a print job input event occurs. [Figure 15] 10A to 10C are diagrams illustrating an example of packets exchanged during cloud printing. [Figure 16] FIG. 11 illustrates an example of a screen used for setting cloud printing. [Figure 17] FIG. 11 illustrates an example of a screen used for setting cloud printing. [Figure 18] 10A and 10B are diagrams illustrating an example of a setting process for a virtual printer. [Figure 19] 11 is a flowchart illustrating an example of a process executed by a printing device. [Figure 20] FIG. 13 illustrates an example of a setting screen for a cloud print service. [Figure 21] FIG. 11 illustrates an example of a setting screen for a cloud print service. [Figure 22] FIG. 11 illustrates an example of a setting screen for a cloud print service. [Figure 23] 10A and 10B are diagrams illustrating an example of a setting process for a virtual printer. [Figure 24] FIG. 13 is a diagram illustrating an example of a packet used for association notification. [Diagram 25] 11A and 11B are diagrams illustrating an operation process of a printing device when an association notification is issued. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Example 1 <System configuration> FIG. 1 is a block diagram showing a system configuration of the present embodiment. In this embodiment, the printing device instructs a virtual printer on the cloud print service to move a print job corresponding to the user of the printing device to a printer queue of the printing device.

[0012] The system shown in FIG. 1 includes multiple printing apparatuses 101 and 102, a cloud print service 103, and a client terminal 104. The client terminal 104 is a computer that submits a print job to the cloud print service 103 in response to a user's operation. The cloud print service 103 is a service that stores a job (e.g., a print job) related to image processing received from a client terminal and outputs the job to the printing apparatus in response to a request from the printing apparatus. Each service provided by the cloud print service 103 is realized by server resources constituting a so-called general-purpose computer, such as a processor, memory, storage, etc., for implementing the processing of this embodiment. The cloud print service 103 may be realized, for example, by computing resources provided by a virtual machine (cloud service), or may be realized by an information processing apparatus such as a server apparatus. In addition, it may be realized by a plurality of server apparatuses, etc. working together. In addition, the scope of application of the present invention is not limited to print jobs for print processing. The present invention is applicable to jobs related to any image processing other than print processing, such as image data reading processing, processing / editing processing, and posting processing to a message sharing system.

[0013] Next, printer registration in the cloud print service 103 and printing via the cloud will be briefly described with reference to FIGS. The administrator registers each of the printing devices 101 and 102 in the cloud print service 103 (S201 to S210 in FIG. 2). As a result, printer queues for each printing device are generated on the cloud print service. When the user operates the client terminal 104 to request a printer search to the cloud print service 103, the search results are displayed (S211 to S214). For example, a printer search is performed by operating a screen 301 in FIG. 3, and the search results are displayed as shown on a screen 302. When the user selects a printing device from the search results, the printing device is registered and displayed on the screen 303 (S215 and S216 in FIG. 2). When the registration is completed, the user can print via the cloud print service 103 using the printing device registered on the client terminal. The user selects a printing device on the cloud print service as a printer to which the output is to be sent, and issues a print instruction. The client terminal 104 generates print data based on the data to be printed. The cloud print service 103 also transmits a print job including the generated print data and print settings to the cloud print service 103 (S217, 218 in FIG. 2). When a print job is entered into the printer queue of the cloud print service 103, an event is notified to the printing device 101, which is a printer that has one-to-one correspondence with the queue. The printing device 101 that has received the event notification obtains the print job from the printer queue on the cloud print service 103 and executes print processing (S219 to S222). Furthermore, the cloud print service 103 of the present embodiment provides a function for managing a plurality of printing devices under the control of the cloud print service 103 by associating them with one virtual printer. The virtual printer and the association will be described later.

[0014] Returning to the description of FIG. 1, the printing devices 101 and 102 are examples of image processing devices that obtain a job (print job) related to image processing from the cloud print service 103 and execute image processing. Image processing devices to which the present invention is applicable include, for example, a printer, a copier, a digital multifunction device, and a 3D printer. The printing devices 101 and 102 and the cloud print service 103 are communicatively connected via a network (NW) 100 and the Internet. Also, the client terminal 104 and the cloud print service 103 are communicatively connected via the Internet. The number of printing devices is not limited to two.

[0015] <Hardware configuration of the printing device> FIG. 4 is a simplified diagram illustrating an example of a hardware configuration of a printing device. The printing apparatus 101 includes a control unit 412, an operation unit 409, a scanner 410, and a printer 411. The control unit 412 includes a CPU 401 to a network I / F 408, and controls the entire printing apparatus 101. The operation unit 409 is a touch-operable display, and various setting screens in this embodiment are displayed on it. A user or an administrator can perform various settings by operating the operation unit 409. The scanner 410 is a scan engine that scans image data. The printer 411 is a printer engine that prints an image on a sheet based on a print job received from an external device via the network I / F 408. The printer 411 prints a print image based on a print job received from an external device or the cloud print service 103 on a sheet such as paper. The sheet on which printing has been completed is output to an output tray (not shown).

[0016] A control unit 412 including a CPU (Central Processing Unit) 401 controls the overall operation of the printing device 101. The CPU 401 reads and executes a control program stored in a ROM 402 or storage 404, and directly or indirectly controls each processing unit of the printing device 101. A BIOS (Basic Input / Output System) is stored in the ROM 402. ROM is an abbreviation for Read Only Memory.

[0017] The RAM 403 is a storage device that is used as a work area for the CPU 401 and as a primary storage for loading software modules for implementing the present invention. RAM is an abbreviation for Random Access Memory. The storage 404 is a storage device such as an HDD or SSD in which the OS (Operating System) that is the basic software and software modules are stored. HDD is an abbreviation for Hard Disk Drive. SSD is an abbreviation for Solid State Drive. The storage 404 also stores image data, print data, various setting information for the printing device 101, and the like. In this way, the hardware such as the CPU 401, the ROM 402, the RAM 403, the storage 404, etc., constitute a so-called computer. The printing device 101 may further include an ASIC that renders print data. In this embodiment, for the sake of explanation, a case is illustrated in which one processor (CPU 401) uses one memory (RAM 403) to execute each process shown in the flowchart described later, but other modes are also possible. For example, each process shown in the flowchart described later can be executed by cooperating multiple processors, RAMs, ROMs, and storages. Furthermore, processes such as printing process, reading process, and data transmission / reception process are realized in cooperation with hardware connected to the I / F.

[0018] The computer functioning as a real resource that provides the cloud print service 103 also has a similar configuration to the CPU 401 to the storage 404 and the network I / F 408 of the control unit 412. The computer functioning as the real resource provides each function of the cloud print service by loading a group of software modules that provide the functions of the cloud print service into a memory and executing them with a processor.

[0019] Returning to the explanation of the printing device 101, a scanner I / F 406 mediates communication between the control unit 412 and the scanner 410. A printer I / F 407 mediates communication between the control unit 412 and the printer 411. A network I / F 408 is an interface for connecting to the Internet such as NW 100 or an office LAN (Local Area Network). The configuration of the printing device 102 is similar to that of the printing device 101.

[0020] <Printing device software configuration> FIG. 5 is an example of a functional block diagram of the printing device. Fig. 5 shows main processing units for realizing the present invention. The functions of the processing units of the printing device 101 shown in Fig. 5 are realized by the CPU 401 in Fig. 4 executing a program for realizing the present invention.

[0021] The printing device 101 includes a printer registration unit 2001 , a virtual printer setting unit 2002 , a list information acquisition unit 2003 , a control unit 2004 , a job acquisition unit 2005 , a valid / invalid setting unit 2006 , a token management unit 2007 , and a communication unit 2008 .

[0022] The printer registration unit 2001 registers the printing device 101 in the cloud print service 103, and generates a printer object on the cloud print service 103 for storing a print job to be sent to the printing device 101. The printer object is a software module having a printer queue for the printing device 101 that temporarily spools a print job received from the outside, and a function for transferring the spooled print job to the printing device 101 that includes a printer engine that is a physical resource. The registration process for the printing device 101 is executed, for example, by a method shown in S201 to S204 in FIG. 2. That is, the printer registration unit 2001 requests registration of the printer (printing device 101) via the communication unit 2008, whereby the printing device 101 is registered as a printer under the cloud print service 103. When the registration is completed, a printer object for transferring a print job to the printing device 101 is generated in the cloud print service 103. In addition, an access token (first access token) for accessing the cloud print service 103 and an inquiry URL are issued. When a print job is input to the printer queue for the printing device 101, the cloud print service 103 notifies the printing device 101 that a new print job has occurred (S219). The printing device 101 that has received the notification transmits an acquisition request for the print job, including a first access token, to the cloud print service 103 (S220). The cloud print service 103 that has received the acquisition request verifies the access token and determines whether the request is valid. If it determines that the request is valid, it transmits a print job to the printing device 101 as a response to the acquisition request. The printing device 101 prints an image on a sheet based on the print job received from the cloud print service 103. When printing based on the print job is completed, the job is deleted from the printer queue. The print jobs input in this way to the printer queue for the printing device 101 are transferred one by one to the printing device 101.

[0023] Next, a virtual printer function in the cloud print system of this embodiment will be described. A virtual printer object can be generated on the cloud print service 103 for the purpose of collectively managing a plurality of image processing devices as one printer. Hereinafter, for the sake of explanation, a virtual printer object provided on the cloud print service 103 for collectively managing a plurality of image processing devices as one printer will be called a virtual printer. Under the virtual printer, it is possible to associate one or more real printer devices or print servers that actually perform printing. On the other hand, the virtual printer queue (virtual printer queue) is configured not to be linked to the output destination of a print job. Therefore, a print job entered into the virtual printer queue will be held in the queue.

[0024] Meanwhile, the virtual printer is configured to be able to respond appropriately to inquiries about information on the virtual printer queue from an associated printing device (e.g., printing device 101). The printing device 101 associated with the virtual printer can obtain list information showing the bibliographic items of print jobs entered in the virtual printer queue. In other words, the virtual printer receives and temporarily stores print jobs, and functions as a front-end module that exchanges bibliographic information with the real printer until an actual print request is received from the subordinate printing device.

[0025] In this embodiment, in order to prevent the load from concentrating on the software module constituting the virtual printer, the output of the print job managed by the virtual printer is assigned to a printer object prepared for the real printer, which is another software module. Specifically, when the cloud print service 103 receives a predetermined request (movement request) from the printing device that specifies a print job stored in the virtual printer queue as a target, the cloud print service 103 executes the following process. The cloud print service 103 moves the print job specified as the target to a printer queue (printer queue for the real printer) provided for the printing device (job control process). When the move is completed, the print job becomes a print job managed by the printer object provided for the real printer. When the cloud print service 103 receives a request from the printing device to acquire a print job stored in the printer queue provided for the printing device, the cloud print service 103 transmits a print job corresponding to the request to the printing device (transmission control process). As a result, the print jobs entered in the printer queue for the real printer are transferred one by one to the real printer and printed. That is, the printer object prepared for the real printer is responsible for large-sized data communication occurring between the virtual printer and the real printer instead of the virtual printer.

[0026] This means that a printer object, which is a software module prepared for a real printer that has a one-to-one correspondence between a printer queue and an output destination, is made to function as a back-end module for load balancing. In other words, the service 103 operates the process of the software module that realizes the virtual printer and the process of the software module that realizes the printer object for the real printer independently in separate processes. This makes it possible to prevent the load from concentrating on the process for realizing the virtual printer. A specific control method will be described below.

[0027] The virtual printer setting unit 2002 sets a virtual printer on the cloud print service 103 in association with the printing device 101 registered in the cloud print service 103. The setting unit 2002 transmits a request to the cloud print service 103 indicating a desire to belong to the virtual printer. The cloud print service 103 associates the printing device 101 with the virtual printer based on the request and a correspondence relationship defined in advance by an administrator. The association will be described with reference to FIG. 8.

[0028] When the setting for associating the virtual printer with the printing device 101 registered in the cloud print service 103 is completed, an access token (second access token) for accessing the cloud print service is issued. The second access token is stored in the token management unit 2007. This second access token is used when making an inquiry about the virtual printer. In addition, when the association is completed, an inquiry URL to be used when making an inquiry about the virtual printer from the service 103 is issued.

[0029] When the printing device 101 is associated with a virtual printer on the cloud print service 103, the list information acquisition unit 2003 acquires information on print jobs managed by the virtual printer from the cloud print service 103. Specifically, the list information acquisition unit 2003 acquires list information on print jobs that correspond to a user who has logged in to the printing device 101 and that are managed by the virtual printer from the cloud print service 103. In this embodiment, the list information means bibliographic items of a job (items for a user to identify a job, such as a job name, a file size, a job generation date and time, and print setting information). The list information acquisition unit 2003 transmits an acquisition request for the list information of print jobs to the virtual printer on the cloud print service 103 via the communication unit 2008. An access token (second access token) for accessing the virtual printer and a contact URL are used in the acquisition request for the list information of print jobs. The cloud print service 103 identifies a target printer object based on the URL used in the acquisition request. In response to a request to obtain list information of print jobs, the cloud print service 103 responds with list information of print jobs entered in the printer queue of the specified printer object. If the request is determined to be invalid based on the access token and the inquiry URL, the cloud print service 103 responds with information indicating an error to the request.

[0030] The control unit 2004 controls the entire printing device 101. As an example of control processing, when the control unit 2004 receives an operation from a user to print a print job managed by the virtual printer, the control unit 2004 executes the following processing: The control unit 2004 instructs to move a print job specified based at least on the print job information acquired by the list information acquisition unit 2003 to a printer queue for the image processing device (for the printing device 101) provided on the cloud print service 103. More specifically, first, the control unit 2004 functions as a display control unit and displays a job selection screen based on the list information of print jobs. The control unit 2004 identifies one or more print jobs to be printed based on a user operation via the job selection screen. The control unit 2004 determines whether or not the print jobs identified as the print jobs include print jobs reserved in the virtual printer of the cloud print service 103. If there is a print job reserved in the virtual printer, the control unit 2004 transmits a request to the cloud print service 103 to move the print job to a printer queue provided for the printing device 101 for transferring print jobs to the printing device 101. The cloud print service 103 moves (inputs) the print job stored in the virtual printer queue of the virtual printer to the printer queue provided for the printing device 101 according to an instruction received from the printing device 101. The communication unit 2008 executes communication with an external device.

[0031] The job acquisition unit 2005 functions as a job acquisition unit that acquires a print job from the printer queue of the printing device 101 registered in the cloud print service 103. Specifically, the job acquisition unit 2005 transmits a print job acquisition request to the cloud print service 103 via the communication unit 2008. The acquisition request includes a first access token. In response to the print job acquisition request, the printer object for the printing device 101 operating on the cloud print service 103 transmits the corresponding print job stored in the printer queue for the printing device 101 to the printing device 101.

[0032] The enable / disable setting unit 2006 functions as a second setting unit that sets whether to enable the use of the virtual printer on the cloud print service 103. When the setting is made to enable the use of the virtual printer, the list information acquisition unit 2003 executes the above-mentioned process of acquiring the list information of the print jobs from the virtual printer.

[0033] The token management unit 2007 manages a first access token used to access the printer queue and a second access token used to access the virtual printer. As described above, the first access token is acquired during the process of registering the printer queue in the cloud print service 103 of the printing device 101. The second access token is acquired, for example, during the process of associating the virtual printer with the printing device 101.

[0034] <Printing device user account management> An example of a setting screen of a printing device in this embodiment will be described with reference to FIGS. Fig. 9 is a diagram showing an example of a print job reservation setting screen and a user account setting screen in a printing device. Fig. 10 is a diagram showing an example of a login screen and a screen displayed during login. Fig. 11 is a diagram showing an example of a job list screen.

[0035] 9 is a setting item for setting whether the printing device 101 immediately outputs a received print job or stores it in the storage of the printing device 101 and outputs it when instructed by the user. When this setting is enabled, the CPU 401 (FIG. 4) controls the storage of the received print job in the storage 404 of the printing device 101.

[0036] "User login setting" is a setting item for setting whether or not user authentication is performed when using the operation unit 409 of the printing device 101. When this setting is enabled, for example, a login screen 901 for entering a user name and password is displayed as shown in Fig. 10(A), and only users who have been successfully authenticated are permitted to use the printing device. Login may be achieved using other means, such as authentication using an IC card.

[0037] 9, when "user registration settings" is selected, a user registration settings screen 802 is displayed. By using the user registration settings screen 802, users managed by the printing device 101 can be added, deleted, and edited. In this example screen, two users are registered in the printing device 101, and "Alice" and "Bob" are the user names registered in the printing device 101. Therefore, when Alice logs in to the printing device 101, she enters "Alice" as the user name to log in. Also, "cloud account name" is a setting item for setting the account name registered in the cloud print service 103. The user names managed by the printing device 101 and the account names managed by the cloud print service 103 may or may not match.

[0038] When Alice logs in to the printing device 101, a screen 902 shown in Fig. 10(B) is displayed. A job list screen 903 in Fig. 11(A) is a screen that displays a list (list information) of print jobs corresponding to the logged-in Alice. Furthermore, when Bob logs in to the printing device 101, a screen 904 shown in Fig. 10(C) is displayed. A job list screen 905 in Fig. 11(B) is a screen that displays a list (list information) of print jobs corresponding to the logged-in Bob.

[0039] <Full sequence> Fig. 6 is a diagram showing an example of the overall processing of the system of this embodiment. Fig. 7 is a diagram showing an example of a screen displayed when searching for a virtual printer. Fig. 8 is a diagram showing an example of a printer list managed by the cloud print service. In this embodiment, for example, the IPP (Internet Printing Protocol) protocol is used.

[0040] The following describes the process in which a user searches for and adds a virtual printer registered in the cloud print service 103. First, in S501, the client terminal 104 searches for a printer in the cloud print service 103 in response to a user operation. A screen 601 shown in Fig. 7 is a screen used for searching for a printer.

[0041] In S502, when the client terminal 104 detects a printer search instruction from the user, it transmits a printer search request to the cloud tenant related to the user. In S503, the cloud print service 103 responds to the client terminal 104 with a printer list indicating the printer search results. Then, in S504, the client terminal 104 displays the received printer list as shown in a screen 602 in FIG. 7. Here, the printers (printing devices) included in the printer list acquired from the cloud print service 103 are printers for which the sharing setting is enabled on the cloud print service 103 side, as shown in 701 in FIG. 8, for example. In the example shown in FIG. 8, the sharing setting corresponding to the virtual printers 501 and 502 is enabled. Therefore, the virtual printers 501 and 502 are included in the responded printer list. It is assumed that the relationship between the virtual printers illustrated in FIG. 8 and the printers to be associated with the virtual printers is defined in advance by a tenant administrator, which is a service usage unit. For example, the tenant administrator generates a setting file that lists the definition of the name of the virtual printer, the definition of the printer to be associated with the virtual printer, the sharing setting of each printer, and the like. Next, the tenant administrator logs in to the cloud print service 103 and uploads a setting file to his / her tenant. The cloud print service 103 builds the correspondence relationship shown in FIG. 8 based on the setting file. When the cloud print service 103 receives a setting request from the virtual printer setting unit 2002 of a printing device (for example, the printing device 101), it builds the correspondence relationship based on the setting file. For example, a process of associating the printing device 101 with the virtual printers 501 and 502, and a process of issuing an inquiry URL and an access token for the printing device 101 to access each virtual printer are performed.

[0042] In S505, the user selects a desired printer from the printers included in the displayed printer list. In S506, when the client terminal 104 detects that an arbitrary printer has been selected from the printers included in the printer list, it performs processing to add the corresponding printer to the client terminal 104. When the printer addition processing is completed, the client terminal 104 displays a screen 603 in Fig. 7 indicating that registration is complete. In the example shown in the screen 603, the virtual printer 501 is registered.

[0043] Although multiple printers (printing devices) are registered in the cloud print service 103, by disabling the sharing setting, they are not included in the response to the client terminal 104. By enabling the sharing setting only for the virtual printer that groups multiple printing devices, only a limited number of virtual printers are included in the response to the client terminal 104. Therefore, since a huge number of printers are not displayed as search results in response to a printer search request, it becomes easier for the user to search for the desired printer.

[0044] Next, in S507, the user selects an arbitrary document and issues a print instruction. In S508, the client terminal 104 that has received the print instruction transmits a print job to the virtual printer 501. Then, in S509, the virtual printer 501 that has received the print job stores the print job in cloud storage (virtual printer queue). This submits the print job to the virtual printer 501. Figure 8 In the example shown in FIG. 1, the printing apparatuses associated with the virtual printer 501 are four, namely, printing apparatuses 101, 102, 108, and 109. The print job is stored in the cloud print service 103 until a print job acquisition request is received from any of the four printing apparatuses. The association between the virtual printer and the printing apparatuses will be described later.

[0045] Next, a method for outputting a print job stored in the cloud print service 103 will be described. In S510 of FIG. 6, a user logs in to an arbitrary printing device. In this embodiment, it is assumed that the user logs in to the printing device 101. In the example shown in FIG. 8, the printing device 101 is associated with virtual printers 501 and 502. Therefore, in S511, the CPU 401 of the printing device 101 requests the virtual printer 502 to acquire list information of print jobs corresponding to the logged-in user. Specifically, the CPU 401 transmits an acquisition request to the inquiry URL acquired when the association with the virtual printer 502 is performed, to which an access token managed for the virtual printer 502 is attached. The acquisition request also includes information for identifying a user account.

[0046] In step S513, the CPU 401 of the printing apparatus 101 requests the virtual printer 501 to obtain list information of print jobs corresponding to the logged-in user. Specifically, the CPU 401 transmits an obtainment request to the inquiry URL obtained when associating with the virtual printer 501, with an access token managed for the virtual printer 501 attached. The obtainment request also includes information for identifying the user account. The request to obtain the list information of print jobs may be made, for example, by using an operation called "Get-Jobs" defined in the IPP.

[0047] FIG. 15 is a diagram illustrating an example of packets exchanged between the printing device and the cloud print service. In the request to obtain the list information of print jobs, for example, a packet 1301 in FIG. 15A is transmitted. In this example, since a user called Alice is logged in to the printing device, the packet stores account information about the user. The cloud print service 103 that has received the request to obtain the list information of print jobs identifies a virtual printer based on the inquiry URL that accepted the request to obtain the list information. The cloud print service 103 then checks whether the print job of the user is stored in the identified virtual printer and responds with the result. If there is a print job of the user, the cloud print service 103 responds with a packet including information on the corresponding job ID, as in packet 1302 in FIG. 15B, and if there is no print job of the user, the cloud print service 103 responds without storing job information in the packet. In the example shown in FIG. 6, in S512, the cloud print service 103 responds to the printing device 101 with the list information of the print jobs of the user Alice that are managed by the virtual printer 502. Also, in S514, the cloud print service 103 responds to the printing device 101 with a list of print jobs of user Alice managed by the virtual printer 501. As an example, it is assumed here that a print job of Alice has been submitted to the virtual printer 501 in S508. On the other hand, it is assumed that a print job of Alice has not been submitted to the virtual printer 502. In this case, the response from the virtual printer 501 includes a print job ID, and the response from the virtual printer 502 does not include a print job ID.

[0048] In S515 of FIG. 6, the CPU 401 of the printing apparatus 101 merges the response results indicating list information corresponding to each virtual printer acquired from the cloud print service 103, and displays a job list screen including the acquired print job information. A screen 903 in FIG. 11A is an example of the job list screen displayed in S515. Note that, in this embodiment, an example is shown in which a list of print jobs reserved on a virtual printer of the cloud print service 103 is displayed, but this is not limited to this. It is also possible to configure so that reserved print jobs directly input to the printing apparatus are merged and displayed on the job list screen. The job list screen functions as a job selection screen that allows the user to select a job to be printed.

[0049] In S516, the CPU 401 of the printing apparatus 101 detects that the user has selected an arbitrary print job that the user wishes to execute (print) from among the print jobs included in the list information of print jobs. Next, in S517, the CPU 401 transmits a print job movement request to the cloud print service 103. The movement request is a request to move the print job designated as the target from the virtual printer queue to a printer queue provided for the printing apparatus 101. The movement request includes information identifying the destination printer queue and an access token corresponding to the virtual printer currently storing the print job. The print job movement request may be made using a unique operation such as "Move-Job". In the print job movement request, for example, a packet 1303 in FIG. 15C is transmitted. The packet 1303 includes Figure 11(A) 13 illustrates an example of a movement request packet when print requests for two print jobs with job numbers 1 and 2 illustrated in FIG.

[0050] In the packet 1303, a job ID for identifying the job to be moved and a printer UUID for identifying the printer to which the job is to be moved are specified. In this example, the UUID of the printing device 101 is specified because the print job input to the virtual printer 501 is to be moved to the printer queue for the printing device 101. In S518, the cloud print service 103 that has received the print job move request moves the print job specified in the move request packet from the printer queue of the virtual printer 501 to the printer queue for the printing device 101. Note that it is also possible to configure to transmit a move request packet in which the destination printer UUID and the first access token are associated. In this case, the cloud print service 103 identifies the destination printer queue based on the UUID. Next, the cloud print service 103 verifies whether or not access to the printer queue should be permitted using the first access token. If the cloud print service 103 determines that access should be permitted as a result of the verification, it performs a job move process between queues. On the other hand, if it determines that access should not be permitted, it responds with an error to the request.

[0051] In S519, the print object for the printing device 101 that detects the job transfer to the printer queue for the printing device 101 provided on the cloud print service 103 performs the following process. The print object performs a push notification of an event indicating that a print job has been submitted to the printing device 101. For example, an operation called "Get-Notification" defined in IPP is used for the push notification. When the printing device 101 is started, the printing device 101 transmits a notification request of an event of the print job submission to the cloud print service 103, and waits while maintaining a connection until the event occurs. The printing device 101 receives a push notification including a Job-Fetchable event indicating that a print job has been submitted. In S520, the CPU 401 of the printing device 101 that has received the push notification performs a print job acquisition request to the cloud print service 103 to request acquisition of the print job of the corresponding user. The CPU 401 includes a first access token in the acquisition request. For example, an operation called "Fetch-Job" defined in IPP is used for the print job acquisition request.

[0052] For example, packet 1305 in Fig. 15(E) is sent for the print job acquisition request. Packet 1305 specifies a job ID, which is identification information for the print job to be acquired. The print job acquisition request is transferred to the printer object for printing device 101. In response to the print job acquisition request, the print object for printing device 101 transmits the data of the corresponding print job to printing device 101. For example, packet 1306 in Fig. 15(F) is used to transmit the print job data.

[0053] In S521, the printing device 101 receives the data of the print job sent by the cloud print service 103. Then, in S522, the printing device 101 performs print processing. In the present embodiment, an example in which Fetch-Job is applied has been described, but any protocol or operation capable of realizing acquisition of a print job, such as a Fetch-Document operation, may be used.

[0054] <Printing device processing flow> 12 is a flowchart for explaining an example of the operation process of the printing device of this embodiment. First, in S1001, the printing device 101 is powered on. In S1002, the CPU 401 determines whether the printing device itself, that is, the printing device 101, is registered with the cloud print service 103. If the printing device 101 is registered with the cloud print service 103, the process proceeds to S1003. If the printing device 101 is not registered with the cloud print service 103, the process proceeds to S1004. Then, in S1004, the CPU 401 waits until a registration process event occurs from the user.

[0055] In S1003, the CPU 401 transmits an event confirmation request to the cloud print service 103. For example, a Get-Notification request is used for the event confirmation request. Then, in S1004, the CPU 401 waits while maintaining a connection with the cloud print service 103 until an event occurs.

[0056] Next, in S1005, the CPU 401 determines whether an event has occurred. If an event has not occurred, the process returns to S1005. If an event has occurred, one of the processes from S1006 to S1009 is executed depending on the event that has occurred. If a registration instruction event has occurred, the process proceeds to S1006.

[0057] In S1006, the CPU 401 registers the printing device 101 with the cloud print service 103. If the registration of the printing device 101 is successful, a printer queue for the printing device 101 is generated in the cloud print service 103. The registration process of the printing device 101 corresponds to the processes of S201 to S204 in FIG. 2. After the registration of the printing device 101 is complete, the CPU 401 transmits an event confirmation request to the cloud print service 103, and maintains the connection and waits until an event occurs in the cloud print service 103, that is, until a push notification is received.

[0058] If a login event occurs, the process proceeds to S1007. Then, in S1007, login processing is executed. If a print job submission event occurs, the process proceeds to S1008. Then, in S1008, print processing is executed. If an event of an association instruction with a virtual printer occurs, the process proceeds to S1009. Then, in S1009, processing of associating the virtual printer on the cloud print service 103 with the printing device 101 is executed.

[0059] FIG. 13 is a flowchart illustrating an example of the login process. First, in S1101, the CPU 401 detects that a login event has occurred, that is, that a user has logged in to the printing apparatus 101. Next, in S1102, the CPU 401 determines whether the printing apparatus 101 has been registered with the cloud print service 103 and whether the setting for using a virtual printer is valid. If the setting item "Use virtual printer" is set to valid by an operation using the cloud print setting screen 1401 shown in FIG. 16(A) displayed by the printing apparatus 101, the CPU 401 determines that the setting for using a virtual printer is valid. If the setting for using a virtual printer is invalid, the process ends and the CPU 401 returns to the event waiting state again. If the setting for using a virtual printer is valid, the process proceeds to S1103.

[0060] In S1103, the CPU 401 transmits a request to acquire list information of print jobs that are print jobs managed by a virtual printer that is set in association with the printing apparatus 101 on the cloud print service 103 and that correspond to the logged-in user. The process of S1103 corresponds to the processes of S511 and S513 in FIG. Next, S1104 In step S1105, the CPU 401 receives a response of list information of print jobs managed by the virtual printer and corresponding to the logged-in user. Next, in step S1105, the CPU 401 determines whether a request to obtain list information of print jobs has been sent to all virtual printers set in association with the printing device 101. If there is a virtual printer to which a request to obtain list information of print jobs has not been sent, the process returns to step S1103. If a request to obtain list information of print jobs has been sent to all virtual printers set in association with the printing device 101, the process proceeds to step S1106.

[0061] In S1106, the CPU 401 displays the list information of print jobs, for example, on the job list screen 903 in FIG. 11A. Next, in S1107, the CPU 401 accepts a selection operation of an arbitrary print job from the print information included in the list information of print jobs by a user operation, and determines whether a print instruction for the selected print job has been detected. The selection operation of a print job means an operation of selecting one or more print jobs via the job list screen. Furthermore, the detection of a print instruction means the detection of an operation of selecting the "Print" key via the job list screen. If a print job is not selected, the process ends and returns to the event waiting state. If a print instruction is detected after one or more print jobs are selected, the process proceeds to S1108.

[0062] In S1108, the CPU 401 transmits a transfer request to move the selected print job to the printer queue for the printing device 101. The processing of S1108 corresponds to the processing of S517 in Fig. 6. In response to this print job transfer request, the selected print job is moved from the virtual printer queue to the printer queue of the printing device 101. After the processing of S1108, the CPU 401 returns to the event waiting state again.

[0063] FIG. 14 is a flowchart illustrating an example of a print process when a print job input event occurs. 13, the print job moves from the virtual printer to the printer queue of the printing device 101 within the cloud print service 103. As a result, as in S519 of Fig. 6, the cloud print service 103 performs a push notification of the print job input event to the printing device 101. As a result, in S1201, the CPU 401 detects the push notification of the print job input event.

[0064] Next, in S1202, the CPU 401 transmits a print job acquisition request to the printer queue of the printing apparatus 101 in the cloud print service 103. Then, in S1203, print job data is received from the printer queue in response to the print job acquisition request. Then, in S1204, the CPU 401 executes print processing based on the received print job data.

[0065] Next, the CPU 401 judges whether all print jobs received from the printer queue have been processed. If there are unprocessed print jobs, the process returns to S1202. If all print jobs received from the printer queue have been processed, the CPU 401 returns to the event waiting state again. According to this embodiment, the printing device 101 moves the print job from the virtual printer queue to its own printer queue and issues a print job acquisition request to that printer queue, so communication with the virtual printer is not required for a long time. In addition, it becomes possible to have a printer object for the printing device, which is a separate software module, take charge of print job data transmission control, standby control when a print error occurs in the real printer, and the like.

[0066] As described above, in the first embodiment, the printer object for the virtual printer functions as a front-end module from temporarily storing print jobs to accepting actual print requests. In addition, the printer object prepared for the real printer is responsible for large-size data communication that occurs with the real printer. In other words, the software module prepared for the real printer, which has a one-to-one correspondence between the printer queue and the output destination, functions as a back-end module, enabling load balancing. This reduces the load on the virtual printer, and improves the performance of cloud printing.

[0067] Example 2 The printing device of the second embodiment searches for a virtual printer registered in the cloud print service 103. The printing device receives candidates for virtual printers that can be associated with the printing device from the cloud print service 103 through the search. Then, the printing device requests the cloud print service 103 to associate the printing device as a subordinate printing device of a virtual printer selected by a user operation from among the received candidates. The cloud print service 103 receives the request from the printing device and performs a process of associating the printing device as a subordinate printing device of the virtual printer, and a process of issuing an inquiry URL and an access token for the printing device to access the virtual printer. That is, in the second embodiment, in addition to the presetting by the administrator described in the first embodiment, a mechanism is provided that allows the printing device registered in the cloud print service 103 to generate and associate a virtual printer.

[0068] Fig. 16 and Fig. 17 are diagrams showing examples of screens displayed by the printing device for use in setting cloud printing, while Fig. 18 is a diagram for explaining an example of virtual printer setting processing by the printing device. FIG. 16A shows a cloud print setting screen 1401, which is the top screen for cloud printing settings. The initial registration of the printing device 101 to the cloud print service 103 begins with the selection of the advanced settings button corresponding to the setting item "Use cloud printing." By selecting this advanced settings button, the screen displayed by the printing device 101 transitions to a cloud print advanced settings screen 1402 shown in FIG. 16B. When the registration button on the cloud print advanced settings screen 1402 is selected, a registration instruction event occurs. Thereafter, authentication processing is performed by inputting cloud account information, etc., as necessary, and registration of the printing device 101 is completed. When registration is completed, the printing device 101 displays a cloud print advanced settings screen 1403. On the cloud print advanced settings screen 1403, the registration status of the printing device 101 is "registered."

[0069] Next, the virtual printer setting process will be described. The user enables the setting item "Use virtual printer" on the cloud print setting screen 1401 shown in Fig. 16(A) and selects the advanced settings button. This causes the screen displayed by the printing device 101 to transition to a virtual printer advanced settings screen 1404 shown in Fig. 17(A). In this example, the virtual printer 501 has already been added (registered) as a virtual printer associated with the printing device 101.

[0070] When the user selects the search button on the virtual printer detailed setting screen 1404, an instruction to search for a virtual printer is issued to the printing device 101 in S1501 of FIG. 18. The instruction to search for a virtual printer corresponds to an event of an instruction to associate a virtual printer. When the search button is selected, the screen displayed by the printing device 101 transitions to a virtual printer search screen 1405 shown in FIG. 17(B). The virtual printer search screen 1405 functions as an account input screen displayed in S1502 of FIG.

[0071] The user inputs cloud account information, which is authentication information for accessing the cloud print service, by operating the virtual printer search screen 1405 (S1503 in FIG. 18), and selects the search button. This causes a search to be performed for a virtual printer registered in a cloud tenant corresponding to the input cloud account information. Specifically, in S1504 in FIG. 18, an authentication request is transmitted from the printing device 101 to the cloud print service 18. In S1505, an authentication response is transmitted from the cloud print service 18 to the printing device 101. Next, in S1506, the printing device 101 requests the cloud print service 103 to acquire list information of virtual printers registered in the cloud tenant. In S1507, the cloud print service 103 transmits the list information of virtual printers to the printing device 101. Then, in S1508, the printing device 101 displays a screen including the received list information of virtual printers. For example, the printing device 101 displays a virtual printer search result screen 1406 shown in FIG. 17(C).

[0072] In S1509 of FIG. 18, the user selects a desired virtual printer from the virtual printers displayed on the virtual printer search result screen 1406 and selects the Add button. In this example, it is assumed that virtual printer 502 is selected. In S1510, the printing device 101 associates the selected virtual printer with its own device and sets (adds) it. When adding a virtual printer, the printing device 101 makes a connection request to the virtual printer only once to confirm communication. Then, the printing device 101 obtains an access token (second access token) for future access to the virtual printer from the virtual printer that responded to the connection request.

[0073] When the virtual printer is added, the printing device 101 displays, for example, a virtual printer detailed setting screen 1407 shown in Fig. 17(D) . In addition to the virtual printer 501, the virtual printer detailed setting screen 1407 includes the added virtual printer 502 as a virtual printer associated with the printing device 101.

[0074] The printing device 101 may display the virtual printer search screen 1405 used to input authentication information each time a virtual printer is searched for, or the printing device 101 may store it in a cache and omit displaying the virtual printer search screen 1405 for the second or subsequent searches.

[0075] FIG. 19 is a flowchart illustrating an example of processing executed by the printing device of this embodiment. First, in step S1601, the CPU 401 detects that a virtual printer search instruction has been issued. In step S1602, the CPU 401 displays an account input screen. Then, in step S1603, the CPU 401 detects that the user has input authentication information.

[0076] Next, in S1604, the CPU 401 transmits an authentication request including the input authentication information to the cloud print service 103. Then, in S1605, the CPU 401 receives an authentication response from the cloud print service 103. Then, in S1606, the CPU 401 transmits a request to the cloud print service 103 to obtain list information of virtual printers.

[0077] In S1607, the CPU 401 receives a response of the virtual printer list information from the cloud print service 103. Then, in S1608, the CPU 401 displays the received virtual printer list information. Next, in S1609, the CPU 401 detects the selection of a virtual printer by the user. Then, in S1610, the CPU 401 requests the cloud print service 103 to associate the printing device 101 as a subordinate printing device of the selected virtual printer. As a result, the selected virtual printer is associated with the printing device 101.

[0078] Example 3 In this embodiment, a virtual printer can be created and associated with a subordinate printer can be easily set or changed via a Web screen provided by the cloud print service 103. Then, the printing device 101 receives a notification from the cloud print service 103 indicating that the printing device 101 has been associated with the virtual printer, and sets the virtual printer as a printer associated with the printing device 101.

[0079] <Cloud print service screen> 20 to 22 are diagrams showing examples of setting screens for the cloud print service. A web server is running in the cloud print service 103. In this embodiment, it is assumed that an administrator accesses the web server from a browser on any terminal and operates a setting screen. With screen 1701 shown in FIG. 20(A) displayed on the terminal, the administrator inputs cloud account information and logs in to the setting screen of the cloud print service 103. This puts the terminal into an administrator login state, and a setting top screen 1702 shown in FIG. 20(B) is displayed on the terminal.

[0080] When the detailed settings button corresponding to the setting item "Printer management" is selected by operating on the settings top screen 1702, a settings screen 1703 including a list of printing devices registered in the cloud print service 103 is displayed, as shown in FIG. 20(C). Printing devices included in the list of printing devices are printing devices that have been successfully registered with the cloud print service 103 (S201 to S204 in FIG. 2). The administrator can delete a printing device or edit remarks by selecting the edit button on the settings screen 1703.

[0081] The administrator selects the detailed settings button corresponding to the setting item "Virtual Printer Management" on the setting top screen 1702 of FIG. 20(B). This causes a setting screen 1704 including a list of virtual printers registered in the cloud print service 103 to be displayed, as shown in FIG. 21(A). In this example, it is clear that the virtual printer 501 has already been registered. The administrator can register a new virtual printer in the cloud print service 103 by selecting the create button on the setting screen 1704. When the create button is selected, a new virtual printer creation screen 1705 of FIG. 21(B) is displayed.

[0082] On the new virtual printer creation screen 1705, the setting item "Virtual printer name" is an item for setting the name of the virtual printer. The administrator can set any name for the virtual printer in the setting item "Virtual printer name". If virtual printer 502 is to be created as a new virtual printer, "Virtual printer 502" is set in the setting item "Virtual printer name". The setting item "Virtual printer UUID" is an item for setting the UUID of the virtual printer. The UUID is unique identification information (ID) for uniquely managing the virtual printer within the cloud print service 103. In response to an operation by the administrator, the cloud print service 103 can automatically generate a UUID. In addition, the administrator can manually set the UUID as long as there is no duplication.

[0083] The setting item "Virtual Printer Configuration" is an item for setting configuration information and capability information of the virtual printer. When the administrator selects the setting item "Virtual Printer Configuration", a setting screen 1706 shown in FIG. 21C is displayed. The administrator sets basic configuration information and capability information of the printing device by operating on the setting screen 1706. This allows the administrator to set, for example, whether the printing device is a color device or a black-and-white device, whether the printing device is compatible with double-sided printing or single-sided printing, etc. Ideally, the configuration information set using the setting screen 1706 is equal to the configuration information of the printing device group set in association with the virtual printer. After setting the configuration information and capability information of the virtual printer, the administrator selects the Complete button on the setting screen 1706, and an instruction to create the virtual printer is issued to the cloud print service 103, and the cloud print service 103 creates the virtual printer.

[0084] In addition, in the new virtual printer creation screen 1705, the setting item "printer association" is an item for setting which printing device is to be associated with the virtual printer. When the administrator selects the setting item "printer association", a screen 1707 including a list of printing devices associated with the virtual printer to be set (virtual printer 502 in this example) is displayed as shown in FIG. 22(A). By default, there is no associated printing device, so the screen 1707 does not display the printing devices associated with the virtual printer. When the administrator wants to add a new printing device to be associated, the administrator selects the search button. When search is selected, the cloud print service 103 searches for printer queues of printing devices registered in the own tenant. Then, the cloud print service 103 displays a screen 1708 including a list of registered printing devices found by the search, as shown in FIG. 22(B). The printing devices displayed on the screen 1708 are printing devices that have been successfully registered in the cloud print service 103 by the processes of S201 to S204 in FIG. 2.

[0085] When the administrator selects an arbitrary printing device from among the printing devices included in the list information of printing devices displayed on screen 1708, the cloud print service 103 associates the selected printing device with a virtual printer. Then, a setting screen 1709 shown in FIG. 22(C) is displayed. On the setting screen 1709, the printing device 101 and the printing device 102 are associated with the virtual printer 502. When the administrator selects the back button, the displayed screen transitions to a setting screen 1706. When the creation completion button is selected in the operation on the setting screen 1706, the registration of the virtual printer is completed, and a setting screen 1710 shown in FIG. 22(D) is displayed.

[0086] FIG. 23 is a diagram illustrating an example of a setting process of a virtual printer in the third embodiment. The processing of S1801 to S1811 is similar to the processing described with reference to Fig. 20 to Fig. 22. In the description of Fig. 23, a processing of creating a virtual printer 501 and associating it with a printing device 101 will be taken as an example. First, in S1801, an administrator inputs information of the virtual printer 501 to be newly created into a setting screen displayed on a terminal, and issues an instruction to the cloud print service 103 to create the virtual printer 501. In S1802, the cloud print service 103 creates and manages the virtual printer 501 and a virtual printer queue within the tenant based on the instruction to create the virtual printer 501.

[0087] In S1804, the administrator selects the setting item "Printer Association" by operating on the new virtual printer creation screen 1705 in FIG. 21. Next, in S1804, the administrator instructs the cloud print service 103 to search for a printing device to be associated with the virtual printer 501. In S1805 and S1807, the virtual printer 501 created in the cloud print service 103 makes a search request to the printer queue of a printing device registered in the same tenant in response to the above search instruction. In S1808 and S1807, the virtual printer 501 receives a search response from the printer queue of the printing device that responded to the search request. In this example, it is assumed that the virtual printer 501 receives search responses from the printer queue of the printing device 101 and the printer queue of the printing device 102.

[0088] In S1809, the virtual printer 501 returns the search results of the printing device to the administrator's terminal. As a result, a list of printing devices that are candidates for association with the virtual printer 501 is displayed on the administrator's terminal. Next, the administrator selects an arbitrary printing device from the printing devices included in the displayed list of printing devices. In this example, it is assumed that the printing device 101 is selected. In S1810, information on the selected printing device 101 is transmitted to the virtual printer 501. Then, in S1811, the virtual printer 501 transmits a registration notification to the printer queue of the selected printing device 101. As a result, the virtual printer 501 and the printing device 101 are associated with each other.

[0089] Also, it is necessary to notify the printing apparatus 101 that it has been associated with the virtual printer 501 on the cloud print service 103. Therefore, in step S1812, the cloud print service 103 sends an association notification to the printing apparatus 101. The association notification is a push notification that notifies the printing apparatus 101 that it has been associated with the virtual printer 501.

[0090] FIG. 24 is a diagram illustrating an example of a packet used for the association notification. As shown in packet 1901 in FIG. 24, for example, an operation called "Get-Notification Response" is used for the association notification. In the example of packet 109, "notify-subscribe-event" indicates an event type. In this example, information indicating that an event of association of a virtual printer has occurred is stored as the event type. As a result, the printing device 101 that has received packet 109 detects that an association instruction event has occurred in S1005 of FIG. 12. In addition, "device-uuid" stores UUID information of the virtual printer associated with the printing device 101. In "device-name", the name of the virtual printer associated with the printing device 101 is stored. In "access-token", token information (second access token) used when the printing device 101 connects to the associated virtual printer is stored. When the virtual printer can be accessed using token information similar to the access token for accessing the printer queue of the printing device 101 on the cloud print service 103, storing the token information in "access-token" may be omitted.

[0091] Returning to the description of Fig. 23, in S1813, the printing device 101 that has received the association notification associates and sets the virtual printer corresponding to the association notification with the printing device 101. The processing of S1813 is similar to the virtual printer addition processing described with reference to S1610 in Fig. 19.

[0092] FIG. 25 is a flowchart illustrating an example of an operational process of a printing device when an association notification is received from a cloud print service. In S3001, the CPU 401 of the printing device 101 receives an association notification from the cloud print service. Then, in S3002, the CPU 401 associates and sets information about the virtual printer corresponding to the association notification with the printing device 101. According to this embodiment, even when a virtual printer is associated with a printing device on the cloud print service 103, the printing device is notified of the association, so that the virtual printer can be appropriately configured on the printing device side in response to the notification.

[0093] (Other embodiments) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions. [Explanation of symbols]

[0094] 101 Printing device 103 Cloud Print Service 104 Client terminals

Claims

1. An image processing device that generates a printer queue on a cloud print service to store print jobs to be sent to the image processing device by registering the image processing device to the cloud print service, An acquisition means for acquiring information on a print job managed by a virtual printer on the cloud print service from the cloud print service; a control means for instructing, when an operation for printing one or more print jobs among the print jobs corresponding to the information of the print jobs acquired by the acquisition means is received, to move the one or more print jobs to be printed to a printer queue for the image processing device provided on the cloud print service; and a job acquisition unit that acquires the print job moved to the printer queue of the cloud print service by using an Internet Printing Protocol (IPP).

2. An image processing device, a registration unit that registers the image processing device with a cloud print service and generates a printer queue on the cloud print service for storing print jobs to be transmitted to the image processing device; an acquisition unit that acquires, when the image processing device is associated with a virtual printer on the cloud print service, information on a print job managed by the virtual printer from the cloud print service; a control means for instructing, when an operation for printing a print job managed by the virtual printer is received, to move a print job specified based at least on the information of the print job acquired by the acquisition means to a printer queue for the image processing device provided on the cloud print service; A job acquisition unit that acquires a print job stored in the printer queue of the cloud print service; a display control means for displaying a job selection screen based on the print job information acquired by the acquisition means; a specifying unit for specifying one or more print jobs to be printed based on a user operation via the job selection screen, The image processing device, characterized in that the control means instructs the one or more print jobs identified by the identification means to be moved to a printer queue for the image processing device provided on the cloud print service.

3. 3 . The image processing apparatus according to claim 1 , wherein the acquisition unit acquires, from the cloud print service, information on a print job that corresponds to a user who has logged in to the image processing apparatus and that is managed by the virtual printer.

4. a display control means for displaying a job selection screen based on the print job information acquired by the acquisition means; a specifying unit for specifying one or more print jobs to be printed based on a user operation via the job selection screen, The image processing device according to claim 1 , wherein the control unit instructs the one or more print jobs identified by the identification unit to be moved to a printer queue for the image processing device provided on the cloud print service.

5. a receiving means for receiving candidates for virtual printers that can be associated with the image processing device from the cloud print service; The image processing device according to any one of claims 1 to 4, further comprising: a request means for requesting the cloud print service to associate the image processing device as an image processing device subordinate to a virtual printer selected by user operation from among the received candidates.

6. a management unit for managing a first access token used to access a printer queue for the image processing device provided on the cloud print service and a second access token used to access the virtual printer; The image processing apparatus according to claim 5 , wherein the second access token is issued in response to the association being made based on a request from the requesting means.

7. 7. The image processing apparatus according to claim 1, further comprising a second setting unit that sets whether or not to enable use of the virtual printer on the cloud print service.

8. A method for providing a cloud print service, comprising: a first management step of managing virtual printers associated with a plurality of image processing devices and virtual printer queues corresponding to the virtual printers; a job control step of moving the print job designated as the target to a printer queue provided for the first image processing device when a predetermined request designated as the target print job stored in the virtual printer queue is received from the first image processing device, a transmission control step of transmitting, when a request for acquiring a print job stored in a printer queue provided for the first image processing device is received from the first image processing device, a print job corresponding to the request to the first image processing device; The method of providing the present invention is characterized by comprising:

9. A generating step of generating a virtual printer based on a user operation; A second management step of managing the image processing device registered in the cloud print service; a setting step of setting a correspondence relationship between a virtual printer and the registered image processing device based on a user operation; The method of claim 8, further comprising:

10. The providing method according to claim 8 or 9, characterized in that the specified request is a transfer request requesting that the print job designated as the target be transferred from the virtual printer queue to a printer queue provided for the first image processing device.

11. A program for causing a computer to execute the providing method according to claim 8 or 9.

Citation Information

Patent Citations

  • Printing system, printing service device, service providing device, control method and program

    JP2012133489A

  • Image forming system and image forming method

    JP2019133399A

  • Printer corresponding to cloud print service, control method and program of printer

    JP2020119016A