Printing device, control method and program
Patent Information
- Application Number
- JP2023198092
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-22
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-06-10
AI Technical Summary
【0010】 本発明の1つの側面によれば、印刷装置において、ポーリングによる問合せに加えて、ユーザのログインを条件にジョブに関する問い合わせを行うことができるようになる。従って、ユーザが印刷装置にログインした時に、適切にクラウドプリントサービス上の印刷ジョブの有無を検知できるようになる。また、本発明の1つの側面によれば、クラウドプリントサービスを経由する印刷の利便性を高めることができるようになる。
Smart Images

Figure 0007631483000001 
Figure 0007631483000002 
Figure 0007631483000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a printing device that receives a print job from an external source. [Background technology]
[0002] In recent years, cloud printing mechanisms, in which a print job is submitted via the cloud and sent to a printing device, have begun to become popular (Patent Document 1). In such printing systems, an administrator first registers a printing device to a cloud print service (hereinafter also referred to as a CPS) to which the administrator belongs. After that, users who are permitted to use the CPS use their respective client terminals to select a printer registered in the CPS as the output printer, configure the desired print settings, and send a print job to the CPS. The CPS that receives the print job transfers the print job to the printing device. The printing device executes printing based on the transferred print job.
[0003] These cloud print mechanisms are specified in PWG5100.18, RFC3995, RFC3996, etc. These standards also stipulate a method for notifying a printing device of an event from a cloud print service. Specifically, one method for realizing notification is a notification method in which the printing device periodically queries the cloud print service and receives an event notification in response to the query. For space reasons, hereafter, this notification method in which the printing device periodically queries the cloud print service and receives an event notification in response to the query will simply be referred to as the polling method. [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] Incidentally, in a printing device that is installed in an organization or company and is expected to be used by multiple users, a user management function may be enabled. In this case, a user belonging to the organization or company logs in to the printing device and uses each function of the printing device. In addition, in the case of a printing device that performs user management in this way, a reservation printing function may be used to prevent a third party from taking it away and to prevent misprints. The reservation printing function is a function that, even if a printing device receives a print job, does not print the print job upon receipt of the print job, but temporarily stores the print job in storage. In the case of a printing device in which the reservation printing function is enabled, the print job of the user is printed after the user successfully logs in.
[0006] Furthermore, the polling interval mentioned above is generally determined by the CPS provider, who is likely to set the polling interval longer in order to reduce the load on cloud resources and maintenance and operation costs.
[0007] Depending on the polling inquiry interval and the timing at which a user logs into the printing device, the user's login process may be completed before the printing device knows that the logged-in user's print job exists in the CPS. For example, a user who wants to output the deliverables quickly, such as when printing materials to be distributed at a meeting just before the meeting, may log into the printing device immediately after submitting a print job from a client terminal. In this case, for example, when a user tries to check a list of print jobs, the job submitted via the CPS is not displayed, which can be confusing.
[0008] The present invention has been made in consideration of at least one of the above problems. One aspect of the present invention aims to provide a mechanism for a printing device that receives an event from a cloud print service by polling, to inquire about a print job to the cloud print service on condition that a user logs in. Another aspect of the present invention aims to improve the convenience of printing via the cloud print service. [Means for solving the problem]
[0009] In order to achieve at least one of the above objects, the printing device of the present invention is a printing device equipped with a printing means for acquiring a print job from a cloud print service and performing printing based on the acquired print job, the printing device including: a transmission means for transmitting a request to the cloud print service at a predetermined interval to check whether or not an event notification has been received; a login control means for executing a login process for logging a user into the printing device; and a control means for transmitting a first request regarding the print job to the cloud print service when an event notification, which is a response to the request, includes information indicating that there is an available print job. A request means for requesting a server push notification; and a determination means for determining whether the cloud print service that has received the request has accepted the server push notification. The control means further transmits a second request regarding the print job to the cloud print service on condition that a login process has been performed by the login means. and if it is determined that the server push notification is accepted, sending a third request for the print job in response to receiving the event notification. The present invention is characterized by the above. Effect of the Invention
[0010] According to one aspect of the present invention, in addition to polling inquiries, a printing device can make inquiries about jobs when a user logs in. Therefore, when a user logs in to a printing device, it becomes possible to properly detect the presence or absence of print jobs on a cloud print service. Furthermore, according to one aspect of the present invention, it becomes possible to improve the convenience of printing via a cloud print service. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 illustrates an example of a printing system. [Diagram 2] FIG. 2 illustrates an example of a hardware configuration of a printing apparatus. [Diagram 3] FIG. 13 is an example of a sequence diagram illustrating a problem with event notification using a polling method. [Figure 4] 5 is an example of a transmission and reception sequence of a print job in the first embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an association between a user account and a cloud account. [Figure 6] 13 is an example of a screen displayed on an operation unit of the printing device. [Figure 7] 13 is an example of a packet used for event notification by polling. [Figure 8] 13 is an example of a packet used to acquire job information when a posing is triggered. [Figure 9] 13 is an example of a packet used to acquire job information triggered by login. [Figure 10] 11 is an example of a transmitted / received packet related to obtaining a print job. [Figure 11] 10 is a flowchart illustrating an example of control of the printing apparatus. [Figure 12] 10 is a flowchart showing an example of control of a printing apparatus according to a second embodiment. [Figure 13] 13 is an example of a screen displayed on an operation unit of a printing device in the second embodiment. [Figure 14] 13 is a flowchart showing an example of control of a printing apparatus according to a third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, the embodiments for carrying out the present invention will be described with reference to the drawings. Note that the following embodiments do not limit the invention according to the claims, and all of the combinations of features described in the embodiments are not necessarily essential to the solution of the invention.
[0013] <First embodiment> First, the configuration of a printing system according to the present invention will be described with reference to FIG. 1. The printing system according to this embodiment includes a printing device 101, client terminals 103-104, and a cloud print service (hereinafter also referred to as CPS) 102. The printing device 101 communicates with the CPS 102 on the Internet via a network 100. The network 100 may be configured by combining, for example, a communication network such as a LAN or a WAN, a cellular network (e.g., LTE or 5G), a wireless network conforming to IEEE802.11, and the like. In other words, the network 100 may be configured to be capable of transmitting and receiving data, and any communication method of the physical layer may be adopted. The client terminals 103-104 also communicate with the CPS 102 on the Internet via a communication network or a cellular network.
[0014] The printing device 101 has a scanning function for externally transmitting data based on an image obtained by scanning using a scanner, a printing function for printing an image on a sheet such as paper based on a print job received from an external device, and a copy function. The printing device 101 can also receive a print job via the CPS 102 and perform printing. In this embodiment, an MFP (Multi Function Peripheral) having multiple functions is exemplified as an example of the printing device, but is not limited thereto. For example, a single-function SFP (Single Function Peripheral) having only a printing function may be used. In this embodiment, printing on a sheet such as paper is exemplified as an example, but is not limited thereto, and can also be applied to print control in 3D printing, which forms a three-dimensional object based on three-dimensional shape data.
[0015] Furthermore, the printing device 101 of this embodiment has a user management function. When the user management function is enabled as an operational setting of the printing device 101, the user logs in to the printing device and uses each function of the printing device (details will be described later). The printing device 101 also has a reservation printing function for the purpose of preventing a third party from taking it away and misprinting. The reservation printing function is a function in which even if the printing device receives a print job, the printing job is not printed upon receipt of the print job, but is temporarily stored in storage. In the case of a printing device in which the reservation printing function is enabled, the print job of the user is printed after the user has successfully logged in.
[0016] CPS 102 receives a print job from a client terminal such as client terminals 103-104, and stores the print job. It then notifies printing device 101 registered in CPS 102 that the print job has been submitted. Upon receiving the notification, printing device 101 acquires the print job and temporarily stores it in storage. After a user logs in to printing device 101, the print job stored in printing device 101 is printed in response to the acceptance of an operation to start printing.
[0017] <Issues facing the polling method> Next, the sending and receiving of jobs in a conventionally known general cloud print service (CPS) will be described with reference to Fig. 2. Fig. 2 shows an example of a sequence of sending and receiving jobs in a general CPS. In this embodiment, as an example, a case where communication is performed using the IPP (Internet Printing Protocol) protocol and a polling method is adopted as an event notification method from the CPS to the printing device will be described.
[0018] When the printing device determines that it is time to poll the CPS, it sends a request to the CPS to check whether there is an event notification, and receives the event notification as a response (sequences S201 to S202). Here, a case is illustrated where there is no particular event to be processed. Next, the printing device starts timer processing to detect that a time equivalent to the polling interval (e.g., 30 seconds) has elapsed (S203). When the timer processing started in S203 detects that the time equivalent to the polling interval has elapsed, the printing device sends a request to the CPS to check the event notification (S204 to S206). When a polling method is adopted in this way, a confirmation inquiry is made each time a predetermined waiting time has elapsed by repeating the processing described in S203 to S206.
[0019] Generally, the polling interval used in the polling method is determined by the CPS provider. It is assumed that the CPS provider often sets the polling interval to be longer in order to reduce the load on cloud resources and the maintenance and operation costs.
[0020] Here, depending on the interval between polling queries and the timing at which a user logs in to the printing device, the user's login process may be performed before the printing device becomes aware that the logged-in user's print job exists in the CPS.
[0021] A detailed explanation will be given using the sequence of S207 to S217. In S207, the printing device starts timer processing for the next polling process. Next, the user of the client terminal selects the printing device, which is a printer registered in the CPS, as the output printer and instructs it to execute printing (S208). The client terminal that detects the execution instruction transmits a print job to the CPS, and the CPS that receives the print job stores the print job and assigns a job ID as a job managed on the CPS (S209 to S210). However, when the polling method is adopted, the printing device cannot be notified of information unless it is in the form of a response to an event confirmation request. Therefore, at this timing, it is not possible to notify the printing device that a job has occurred. The CPS also receives print jobs from other client terminals in the same way and stores the print jobs (S211 to S213).
[0022] The user who submitted the job from one of the client terminals attempts to log in to the printing device to print (S214). The printing device then executes a login process to log the user in to the printing device. If the login is successful, the functions of the printing device (for example, a function to start printing a reserved print job, a copy function, and a scan function) become available. If the user then detects a user operation to select a button to display a job list for the reserved print function, the printing device extracts the job of the login user from among the reserved print jobs and displays the job list (S215 to S216). Here, the printing device has not yet grasped the existence of the print job submitted to the CPS in S209 to S210 and S212 to S213. Therefore, the user who submitted the print job via the CPS is notified that there is no job. In this way, if the polling interval is set relatively long, the logged-in user may be confused because the job submitted via the CPS is not displayed even if the logged-in user tries to check the list of print jobs.
[0023] Next, the sequence from when the CPS notifies the user that there is a print job to when the job is displayed normally will be described. When the printer detects that the time corresponding to the polling interval has elapsed by the timer process started in S203, the printer transmits a request to the CPS to confirm the event notification (S218-S219). In response to the request to confirm the event notification transmitted in S219, the CPS notifies the printer that there is a new print job that can be acquired (S220). After that, the CPS and printer sequentially perform operations to acquire a job list, acquire an actual job, and store the job (S221-S226). After this, the user who submitted the print job from the client terminal via the CPS again selects the button to display the job list. Then, a job list including the jobs of the logged-in user that were submitted via the CPS is displayed (S229-S230).
[0024] In this way, when the polling interval is relatively long, there is a time lag displayed until the printing device recognizes that there is a print job on the CPS. For example, when a user who wants to quickly output the deliverables, such as printing materials to be distributed at a meeting just before the meeting, logs in to the printing device immediately after submitting a print job and tries to give a print instruction, there is a risk that the submitted job will not be displayed. Users who see this screen are likely to be confused.
[0025] In consideration of at least one of these problems, this embodiment provides a mechanism for a printing device that receives an event from a cloud print service by a polling method to make an inquiry about a print job to the cloud print service on the condition that a user is logged in. The following is a detailed description of this mechanism.
[0026] <Hardware Configuration of Printing Device 101> The hardware configuration of the printing device 101 in this embodiment will be described with reference to Fig. 3. Fig. 3 is a block diagram showing the hardware configuration of the printing device 101. The printing device 101 has a reading function for reading an image on a sheet, a file transmission function capable of transmitting the read image to an external communication device, and the like. It also has a printing function for printing an image on a sheet. It is also assumed to have a function for receiving and printing a print job from the CPS 102, the above-mentioned user management function, and a reservation printing function.
[0027] A control unit 110 including a central processing unit (CPU) 111 controls the overall operation of the printing device 101. The CPU 111 reads out a control program stored in a read only memory (ROM) 112 or storage 114, and performs various controls such as print control and read control. The ROM 112 stores control programs executable by the CPU 111. A random access memory (RAM) 113 is a main memory accessed by the CPU 111, and is used as a work area or a temporary storage area for expanding various control programs. The storage 114 stores print jobs, image data, various programs, and various setting information. In this way, the hardware such as the CPU 111, the ROM 112, the RAM 113, and the storage 114 constitute a so-called computer.
[0028] In the printing device 101 of this embodiment, one CPU 111 executes each process shown in the flowcharts described later using one memory (RAM 113), but other configurations are also possible. For example, each process shown in the flowcharts described later can be executed by using multiple processors, memories, and storages in cooperation. Also, some of the processes can be executed using hardware circuits.
[0029] A printer I / F (interface) 119 connects a printer 120 (printer engine) and the control unit 110. The printing device 101 generates a print image and a print control command to be transferred to the printer 120 based on a print job. The printer 120 prints an image on a sheet fed from a paper feed cassette (not shown) based on the print image and print control command input via the printer I / F 119. The printing method may be an electrophotographic method in which toner is transferred to paper and fixed thereon, or an inkjet method in which ink is ejected onto paper to print.
[0030] The scanner I / F 117 connects the scanner 118 to the control unit 110. The scanner 118 reads an original placed on a platen (not shown) and generates image data. The image data generated by the scanner 118 is printed by the printer 120, stored in the storage 114, or transmitted to an external device via the network I / F 121.
[0031] The operation unit I / F 115 connects the operation unit 116 and the control unit 110. The operation unit 116 is equipped with a liquid crystal display unit having a touch panel function, various hard keys, and the like. The operation unit 116 functions as a display unit that displays information to the user and a reception unit that receives instructions from the user. The CPU 111 cooperates with the operation unit 116 to control the display of information and the reception of user operations.
[0032] A network cable is connected to the network I / F 121, and the network I / F 121 can communicate with external devices on the network 100 or the Internet. In this embodiment, it is assumed that the network I / F 121 is a communication interface that performs wired communication conforming to Ethernet (registered trademark), but is not limited to this. For example, the network I / F 121 may be a wireless communication interface conforming to the IEEE802.11 series. Furthermore, both may be wireless communication interfaces. Furthermore, the network I / F 121 may be a communication interface that performs mobile communication such as a 3G line such as CDMA, a 4G line such as LTE, or a 5G NR.
[0033] Next, the operation setting of the printing device will be described with reference to FIG. 4 and FIG. 5. FIG. 4(A) and (B) are examples of setting screens displayed on the operation unit 116 of the printing device 101. FIG. 5 is an example of an operation screen for explaining user login control in the user management function and the forced reservation printing function. First, the setting screen of FIG. 4(A) will be described. FIG. 4(A) is an example of a management screen of the printing device 101, and is a screen provided to a user having administrator authority. FIG. 4(A) illustrates a case where the user management function is enabled and the forced reservation function of the print job is enabled. The settings made via the screen of FIG. 4 are stored in the storage 114 and are referred to when various controls of the printing device are performed as appropriate. The user management setting key is a key used when registering a user account of a user managed by the user management function and editing the user account.
[0034] When it is detected that the user management setting key has been selected, the CPU 111 of the printing device 101 switches the screen displayed on the operation unit 116 to a user management screen. Here, as an example, a case is illustrated in which the user accounts of "Alice" and "Bob" are registered in the printing device 101.
[0035] In this embodiment, the printing device 101 manages a database that manages user accounts, but the present invention is not limited to this. Management of user accounts of users who use the printing device 101 can also be achieved in cooperation with an external authentication server. For example, user accounts may be managed in cooperation with the Active Directory service provided by Microsoft (registered trademark) or the Azure (registered trademark) Active Directory service.
[0036] Returning to the explanation of FIG. 4, the registration key is a key used when registering a new user. The edit key is a key used when editing a selected user account. When the CPU 111 of the printing device 101 detects that the edit key has been pressed, it switches the screen displayed on the operation unit 116 to the edit screen of FIG. 4B. The user can change the user name and password via the edit screen. In addition, the user account can be associated with a cloud account used by the user on the CPS 102. The "cloud account name" is an item for setting the account name registered in the CPS 102. The user name managed by the image forming device and the account name managed by the CPS 102 may or may not match. If the account names do not match, the cloud account on the CPS 102 and the user account of the printing device 101 can be linked by pre-registering the association.
[0037] The user can also register other user credentials to be used for login via the edit screen in Fig. 4(B). The card ID key is a key used when linking an IC card such as an employee ID, student ID, or driver's license to a user account. The mobile key is a key used when setting whether to use login using a mobile application. The biometric information key is a key used when linking biometric information such as face information or fingerprint information to a user account.
[0038] 5, a method for printing a reserved print job temporarily stored in the storage 114 by the user management function and the forced reservation function will be described. Screen 500 illustrates an example of a screen in a logged-out state where a user is not logged in to the printing device 101. This screen 500 serves both as a lock screen that is displayed when a user is not logged in to the printing device 101 and as a screen for inputting user credentials. While the lock screen is displayed, the printing device 101 exercises control so that the copy function screen and the scan function screen are not displayed on the operation unit 116.
[0039] A user who wishes to log in to the printing device 101 inputs user credentials consisting of a user ID and a password via the screen 500. When detecting that a login key has been pressed after the user credentials have been input, the printing device 101 performs a user authentication process. Specifically, the printing device 101 determines whether or not a user account corresponding to the input user credentials is registered in the printing device 101. If the user account is registered, it is determined that the user authentication has been successful and the login process is executed, and if the user account is not registered, it is determined that the user authentication has failed and an error message (not shown) is displayed. Note that if a card ID or biometric information is linked to a user account, the card ID read from an IC card or biometric information obtained from a camera or a fingerprint authentication sensor can also be used as the user credentials.
[0040] Next, the printing device 101 executes a login process to log the user into the printing device 101, and displays an operation screen for the user. Screen 510 illustrates an example of the case where Alice described in Fig. 4 has logged in, and screen 530 illustrates an example of the case where Bob has logged in. Here, an example is shown of the case where a menu screen for selecting each function provided by the printing device 101 is displayed.
[0041] The COPY key is a key used to display a copy function screen for printing a scanned image obtained by reading an original document with the scanner 118 onto a sheet. The Scan and Send key is a key used to display a send function screen for sending a scanned image obtained by reading an original document with the scanner 118 to an external device. The Job List key is a key used to display a selection screen for selecting a print target from print jobs temporarily reserved in the storage 114 by the forced reservation printing function or the like.
[0042] When it is detected that the job list key has been selected, the printing apparatus 101 transitions the screen displayed on the operation unit 116 to a job list screen. Screen 520 illustrates an example of the job list screen that is displayed when the logged-in user is Alice, and screen 540 illustrates an example of the job list screen that is displayed when the logged-in user is Bob.
[0043] The screen 520 displays the print job submitted by Alice. Meanwhile, the screen 540 displays the print job submitted by Bob. The logged-in user can select the print job to be printed via the job list screen. After one or more print jobs are selected, when it is detected that the print key is selected, the printing device 101 executes the print process based on the selected print job to be printed. The delete key is a key used to delete the selected print job, and the close key is a key used to close the job list screen of the reservation printing function and return to the main menu screen. In this embodiment, the case where the print job submitted from the CPS 102 is displayed on the job list screen is exemplified, but is not limited to this. For example, the job list screen can also be configured to display the print job directly received from the printer driver installed on the PC. For example, the screen 520 may also display the print job submitted from Alice's PC using the printer driver and for which Alice is the job owner.
[0044] <Print job transmission / reception sequence in the first embodiment> Next, a print job acquisition sequence in this embodiment will be described with reference to Fig. 6. Note that a description of the same control as the general sequence described with reference to Fig. 2 will be omitted as appropriate.
[0045] First, when the CPU 111 of the printing device 101 determines that it is time to poll the CPS 102, it transmits a request to the CPS 102 to check whether there is an event notification (S601). An event notification is a notification transmitted from the CPS 102 to the printing device 101, and indicates notification of the occurrence of an event and its contents, such as the presence of a print job that the printing device 101 can acquire or the occurrence of a change in the status of a print job.
[0046] Fig. 7 shows an example of a packet used for exchanging event notifications, and Fig. 7(A) shows an example of a request sent in S401. For the confirmation request sent in S401, for example, an operation called "Get-Notification" defined in IPP can be used. The "notify-event" attribute indicates the type of event to be detected. In this embodiment, a case is illustrated in which "job-state-changed" and "job-fetchable" are specified as the types of events to be detected.
[0047] "job-state-changed" indicates that the event to be detected is an event such as a change in state occurring in a print job managed by the CPS 102. When a print job is canceled on the CPS 102, the printing device 101 detects that the job state has become canceled and subscribes to that event in order to appropriately cancel the job. Also, "job-fetchable" indicates that the event to be detected is an event such as a print job being submitted to the CPS 102 and a print job that can be fetched by the printing device 101 being stored.
[0048] The "notify-wait" attribute is an attribute value that indicates whether event notification is desired by the polling method (also called the pull method) or the server push method. When "False" is specified for "notify-wait", the polling method (pull method) is desired, and when "True" is specified, the server push method is desired. In this embodiment, since it is assumed that the polling method will be used, the case where "False" is specified is shown as an example.
[0049] Returning to the explanation of Fig. 6, if no event has occurred that the CPS 102 should notify the printing device 101 of, the CPS 102 transmits a response indicating that no event has occurred. The printing device 101 receives the response (S602). Fig. 7C illustrates an example of a response packet indicating that no event has occurred.
[0050] The value of "notify-get-interval" specified in this response indicates the interval time (polling interval) until the next Get-Notification request is sent. For example, if "300" is specified as in the response shown in FIG. 7C, the printing device 101 sets the waiting time until the next confirmation request is sent to 300 seconds. FIG. 7B is an example of a response when an event has occurred, and shows an example of an event notification that a print job that the printing device 101 can acquire has been stored. Upon receiving the event shown in FIG. 7B, the printing device 101 attempts to acquire the print job from the CPS 102. The control of acquiring a print job based on an event notification will be described in detail in a flowchart later.
[0051] Returning to the explanation of FIG. 6, the polling process using the timer function in S603 to S607 is similar to S203 to S207 in FIG. 2, so the explanation will be omitted.
[0052] Next, a control will be described for a case where the printing device 101 transitions to a state of waiting until the next confirmation request is sent in S607, and where a job is submitted and a user logs in during the waiting period. The client terminal 103 that detects the execution instruction transmits a print job to the CPS (S608 to S609). In this embodiment, the description will be made assuming that a print job whose job owner is "alice_aa@canon.cloud.com" is sent to the CPS 102. The CPS 102 that receives the job from the client terminal 103 saves the print job and assigns a job ID as a print job managed on the CPS 102 (S610). Another client terminal 104 that detects the execution instruction transmits a print job to the CPS, and the CPS saves the job on the CPS (S611 to S613). In this embodiment, the description will be made assuming that a print job whose job owner is "bob_bb@canon.cloud.com" is saved in the CPS 102. Note that the job owner of the print job is managed by the cloud account name inside the CPS 102.
[0053] Next, the user who submitted the print job to the CPS 102 from the client terminal logs in to the printing device 101 to execute printing (S614). Here, the case where Alice logs in to the printing device 101 is illustrated as an example.
[0054] Next, the printing device 101 identifies a cloud account associated with the user account of the logged-in user (S615). The printing device 101 refers to the user DB and searches for the cloud account name associated with the logged-in user account "Alice." For example, if the user account and cloud account described in FIG. 4 are registered, a cloud account such as "alice_aa@canon.cloud.com" is identified from the user account "Alice."
[0055] Next, the printing device 101 transmits a print job list acquisition request including information for identifying the cloud account to the CPS 102 (S616). The print job list acquisition request can use the "Get-Jobs" operation defined in IPP. FIG. 9 shows an example of an acquisition request for requesting a list of jobs of a specific user and a response thereto. FIG. 9(A) shows an example of a request for acquiring print jobs for which "alice_aa@canon.cloud.com" is the job owner and which the printing device 101 can acquire. The printing device 101 specifies "fetchable" in the "which-jobs" attribute in this request. Specifying this attribute value means that a list of print jobs that can be acquired is requested. In addition, the printing device 101 specifies a combination of attributes shown in 901 in this request. Specifically, it specifies "True" in the "my-jobs" attribute. Furthermore, it specifies attribute values for uniquely identifying the user using the "Requesting-user-name" attribute and the "Requesting-user-uri" attribute. In this embodiment, the attribute value of "Requesting-user-name" is "Alice", which is the user account name of the user who logged in to the printing device. In addition, the attribute value of "Requesting-user-uri" is specified as "alice_aa@canon.cloud.com", which is the cloud account name identified in S615. In this embodiment, both "Requesting-user-name" and "Requesting-user-uri" are included, but this is not limited to this. It is sufficient that one piece of attribute information that can uniquely identify a user on the CPS 102 is included.
[0056] Returning to the explanation of FIG. 6, the CPS 102 that has received the request sent in S615 extracts print jobs that meet the conditions from among the print jobs stored in its own storage. In this embodiment, the determination is made by comparing the cloud account name of the print job managed by the CPS 102 with the attribute value included in the "Requesting-user-uri" attribute. Specifically, the CPS 102 extracts print jobs whose job owner name matches "alice_aa@canon.cloud.com" and that are in an available state as the response target. Here, the explanation is given assuming that the print job with job ID 1 submitted by "alice_aa@canon.cloud.com" is extracted. Note that the job owner may be identified using a user name managed on the cloud service and "Requesting-user-name."
[0057] When the extraction is complete, CPS 102 transmits a response indicating a list of the extracted print jobs as a response to the request of S616 (S617). FIG. 9(B) illustrates an example of a response indicating a list of print jobs obtained as a response to the request illustrated in FIG. 9(A). The response lists job IDs required for the print job acquisition process. In this embodiment, as shown in 902, only the job IDs of print jobs submitted by Alice and waiting to be printed are extracted. Note that if there is no job matching the conditions, CPS 102 transmits a response illustrated in FIG. 9(C).
[0058] Next, the printing device 101 transmits a job acquisition request to the CPS 102 (S618). FIG. 10 shows an example of a request and response regarding job acquisition, and FIG. 10(A) shows an example of a request regarding job acquisition. As shown in FIG. 10(A), the printing device 101 transmits a "Fetch-job" request operation to the CPS 102, specifying a job ID that identifies the print job to be acquired in the request. The CPS 102 that receives the request transmits job data corresponding to the job ID to the printing device 101. The printing device 101 receives the job data (S619). FIG. 10(B) shows an example of the job data received in S619. The job data stores print job attribute information (also called print settings), such as the job name, number of copies, color settings, and information for uniquely identifying the job owner on the CPS 102. 10B illustrates an example in which the cloud account name "alice_aa@canon.cloud.com" is stored as information for identifying the job owner of Job 1. Also, an example in which the cloud display name "alice_aa" is stored as information for identifying the job owner is illustrated.
[0059] The printing device 101 identifies a user account in the printing device from the cloud account name (S620). The printing device 101 refers to the user DB and searches for a user account that is linked to a cloud account that corresponds to information that identifies the job owner included in the job data. For example, the printing device 101 identifies a user account such as "Alice" by searching the user DB using "alice_aa@canon.cloud.com", which is information that identifies the job owner.
[0060] Next, the printing device 101 stores the print job (job information and actual print data) owned by the user identified in S620 in the storage 114 based on the job data received in S619 (S621). Note that if the forced reservation function for print jobs is disabled, printing processing of the acquired job data is performed instead of the processing of S621.
[0061] By performing the above-described processes of S615 to S621 triggered by user login, it becomes possible to properly detect user jobs submitted to the CPS 102 while waiting for the next confirmation request to be sent.
[0062] Finally, when it is detected that an operation to display the job list has been performed by the user who has logged in to the printing device 101, the printing device 101 displays the job list of the forced reservation function (S422 to S423). As described in FIG. 5, the job list displays the print jobs submitted by the logged-in user.
[0063] After a user operation to select a print target from the job list is performed, when a user operation to start printing is detected, the printing device 101 executes print processing of one or more print jobs selected as the print targets (S424 to S425). When printing is completed, the user who has achieved his / her purpose performs a logout operation. Upon detecting the logout operation, the printing device 101 executes a logout process to log the user out of the printing device 101, and switches the screen displayed on the operation unit 116 to a logout screen 500 (S426).
[0064] Finally, the acquisition of a job on the CPS 102 by periodic polling will be described. When the printer 101 determines that the time equivalent to the waiting time has elapsed using the timer function started in S607, it transmits a request to the CPS 102 to check whether an event notification exists (S627-S628). Having received this request, the CPS 102 transmits a response to the printer 101 including an event such as "job-fetchable" as shown in FIG. 7B (S629) because a job with job ID 2 submitted by Bob exists.
[0065] The printing device 101 that has received the response in S629 transmits a request to obtain a list of print jobs. FIG. 8 shows an example of an acquisition request and a response when an event is received by periodic polling that indicates that a print job that the printing device 101 can obtain has occurred. As shown in FIG. 8A, the printing device 101 specifies "fetchable" in the "which-jobs" attribute and "False" in the "my-jobs" attribute in the acquisition request. By specifying "False" in the "my-jobs" attribute, it is possible to attempt to obtain all print jobs that the printing device 101 can obtain. The CPS 102 that has received the request in S629 extracts print jobs that the printing device 101 can obtain and transmits a response including the results (S630). FIG. 8B is an example of a response transmitted in S630. Note that if there is no print job that the printing device 101 can obtain, the CPS 102 transmits a response as shown in FIG. 8C.
[0066] The process of acquiring and saving the job data based on the job ID in S632 to S635 is the same as that in S618 to S621, and therefore the description will be omitted. When the acquisition and saving of the job data is completed, the printing device 101 starts a timer function based on the interval time (polling interval) included in the response sent in S629 (S636).
[0067] The control of the printing device 101 will be described with reference to the flowchart in Fig. 11. Each operation (step) shown in the flowchart in Fig. 11 is realized by the CPU 111 executing a control program stored in the ROM 112 or the storage 114. The process in Fig. 9 is executed repeatedly after the printing device 101 is powered on and starts up normally.
[0068] In S1101, CPU 111 determines whether a login event has occurred. Specifically, CPU 111 attempts user authentication based on the user credentials acquired while screen 500 is displayed. If it is determined as a result of the user authentication attempt that the user should be allowed to log in, CPU 111 proceeds to S1110. If user authentication has failed or if user authentication has not been requested, CPU 111 proceeds to S1102.
[0069] In S1102, the CPU 111 determines whether the conditions for checking the event notification by polling are satisfied. If it is determined that the conditions for checking the event notification by polling are satisfied, the process proceeds to S1103, and if it is determined that the conditions are not satisfied, the process proceeds to S1112. This determination can be realized by using a timer interrupt by the timer function described above.
[0070] In S1103, the CPU 111 transmits a confirmation request for confirming the presence or absence of an event notification to the CPS 102. For example, the CPU 111 transmits to the CPS 102 the request exemplified in FIG.
[0071] In S1104, the CPU 111 determines whether or not there is a print job to be acquired from the CPS 102, based on the response received from the CPS 102. Specifically, if the response includes "job-fetchable" as illustrated in Fig. 7B, the process proceeds to S1105. On the other hand, if the response does not include "job-fetchable", the process proceeds to S1120.
[0072] In S1120, CPU 111 performs processing such as canceling the print job and changing the job settings depending on the contents of the response (event notification). When the processing is completed, CPU 111 advances the processing to S1001. Note that if the response (event notification) indicates that no event has occurred, CPU 111 advances the processing to S1001 without performing any special processing.
[0073] On the other hand, in step S1105, the CPU 111 transmits a request to acquire a list of print jobs, as shown in Fig. 8A. As described above, this request does not specify a job owner, and is a request to attempt to acquire a list of all print jobs that the printing apparatus 101 can acquire.
[0074] In S1106, the CPU 111 receives a response indicating a list of jobs that can be acquired by the printing device 101 from the CPS 102. The response includes a job ID for identifying the print job that can be acquired by the printing device 101, as shown in FIG.
[0075] In S1107, the CPU 111 transmits a job acquisition request specifying a job ID to the CPS 102. Then, the CPU 111 acquires a print job as a response to the request. Specifically, the CPU 111 transmits a fetch-job operation and acquires a job-template attribute. The attribute includes information for identifying the print settings and cloud account illustrated in FIG. 10B. Then, the CPU 111 transmits an acknowledge-job request. This request is a request for notifying the CPS 102 that the job has been accepted. After receiving the response to the request, the CPU 111 transmits a fetch-document request to the CPS 102. This request is a request for print data (PDL data). The CPU 111 receives the print data (PDL data) from the CPS 102 as a response to the fetch-document request. In this embodiment, a combination of the attributes indicating the print settings and the print data illustrated in FIG. 10B is called a print job. In the present embodiment, the method of acquiring a print job defined in PWG5100.18 has been exemplified, but the method is not limited to this.
[0076] In S1108, the CPU 111 identifies a user account in the printing apparatus 101 based on the information identifying the cloud account acquired in S1107. Next, job information for managing the job as a reserved print job for the identified user account is stored in the storage 114. Here, the job information is information including the correspondence between bibliographic information such as print settings and the job owner name, and the print data (PDL data). The bibliographic information is also used to display the job list described above.
[0077] In S1109, CPU 111 determines whether there is a print job that has not been obtained. Specifically, if there is a job ID included in the response of S1106 for which no attempt has been made to obtain the print job described in S1107 to S1108, it is determined that there is a print job that has not been printed. If it is determined that there is a print job that has not been printed, the job ID for which no attempt has been made to obtain is specified, and the job obtaining process and the process of saving the job information and print data are performed in S1107 to S1108. On the other hand, if it is determined that attempts have been made to obtain jobs for all job IDs included in the response of S1106, the process proceeds to S1001.
[0078] Next, the control when a login event occurs will be described. In S1110, the CPU 111 transmits a request to the CPS 102 to acquire a job list of the logged-in user. As described above, the my-job attribute is specified as "True" in the request. The request is also configured to include information for identifying the cloud account associated with the logged-in user. FIG. 9A is an example of a request to acquire a job list of the logged-in user. Next, the CPU 111 displays an operation screen for a user who has successfully logged in on the operation unit 116. When the switching of the operation screen is completed, the process proceeds to S1106. Note that the subsequent sequence for acquiring a print job based on the job ID is the same as when the job ID is acquired using an event notification as a trigger.
[0079] On the other hand, in S1112, the CPU 111 determines whether or not a screen transition instruction has been received. If a screen transition instruction has been received, the process proceeds to S1113, and if a screen transition instruction has not been received, the process proceeds to S1118.
[0080] In S1113, CPU 111 determines whether the type of instruction for screen transition indicates a transition to a job list screen. If the type of instruction indicates a transition to a job list screen, the process proceeds to S1114, and if the type of instruction does not indicate a transition to a job list screen, the process proceeds to S1117. In S1117, CPU 111 displays another screen according to the instruction on operation unit 116. For example, when an instruction to log out is given, screen 500 is displayed. Furthermore, when an instruction to transition to a copy screen is given, a copy screen (not shown) is displayed on operation unit 116. When an instruction to transition to a scan screen is given, a scan screen (not shown) is displayed on operation unit 116.
[0081] In S1114, the CPU 111 extracts a print job associated with the user who is logged in to the printing apparatus 101, based on the job information (bibliographic information) stored in the storage 114. Next, the CPU 111 displays a selection screen (job list) on which the extracted print job can be selected. The job lists illustrated in screens 520 and 540 in FIG. 5 are examples of the selection screen.
[0082] In S1115, the CPU 111 determines whether or not a print start instruction has been received. If a print start instruction has been received, the process proceeds to S1116, and if not, the process returns to S1114 and waits for a selection operation via the screen.
[0083] In S1116, CPU 111 cooperates with printer 120 to execute print processing of the print job selected as the print target. Specifically, CPU 111 generates print settings specified based on job information managed in storage 114 and a control command for controlling a print image and the printer based on print data. Then, CPU 111 transmits the control command and the print image to printer 120. Based on the control command, printer 120 selects an appropriate sheet (paper) from a paper feed unit, transports the sheet to a transport path (not shown), and prints the print image on the sheet moving on the transport path. The sheet (product) on which printing has been completed is discharged to a discharge tray (not shown). When CPU 111 completes print processing based on the selected print job, CPU 111 advances the process to S1101.
[0084] Finally, in S1118, the CPU 111 determines whether or not a shutdown instruction has been received. If a shutdown instruction has been received, the CPU 111 performs shutdown processing to turn off the power, and ends the series of processing. On the other hand, if a shutdown instruction has not been received, the process proceeds to S1101 and waits for further operations or the occurrence of an event.
[0085] Through the series of processes described above, in addition to polling inquiries, the printing device can make inquiries about jobs when a user logs in. Therefore, when a user logs in to the printing device, it becomes possible to properly detect the presence or absence of print jobs on the CPS 102.
[0086] <Second embodiment> In the second embodiment, in addition to the processing of the first embodiment, a mechanism for performing exception control when a cloud account cannot be identified from a user account will be described. Note that the hardware configuration of each device in the second embodiment is the same as that of the first embodiment. The differences from the first embodiment will be described below.
[0087] FIG. 12 is an example of a flowchart for explaining an exception process added to the first embodiment. Each operation (step) shown in the flowchart of FIG. 12 is realized by the CPU 111 executing a control program stored in the ROM 112 or the storage 114. In the second embodiment, when it is determined that a login event has occurred in S1101 of the first embodiment, a determination process of S1200 illustrated in FIG. 12 is performed. Specifically, in S1200, the CPU 111 determines whether or not a cloud account is linked to a user account corresponding to a login user. When it is determined that a cloud account is linked to a user account corresponding to a login user, the process proceeds to a job acquisition process of the login user illustrated in S1110. On the other hand, when it is determined that a cloud account is not linked to a user account corresponding to a login user, the process proceeds to a process of acquiring all jobs described in S1105.
[0088] FIG. 13 is a diagram showing an example of a method of displaying a selection screen (job list) in the second embodiment. Here, an example is described in which a user account called Carol is registered in addition to Alice and Bob in the first embodiment. Here, it is assumed that Carol has a user account for the printing device 101, but the user account is not linked to a cloud account. In this embodiment, when Carol, whose cloud account is not linked to a user account, logs in to the printing device 101 and displays a job list, control is performed so that all print jobs received via the CPS 102 are displayed. On the other hand, when a user who is linked to a cloud account, such as Bob, logs in to the printing device and displays a job list, control is performed so that a job list 560 in which only Bob's print jobs are extracted is displayed, as in the first embodiment.
[0089] This process makes it possible to acquire all print jobs that can be acquired from the CPS 102 by using login as a trigger, even if a user who is not linked to a cloud account submits a job from the CPS 102. Also, it becomes possible to appropriately present a job list including the acquired print jobs to the user.
[0090] <Third embodiment> In the first and second embodiments, a case has been exemplified in which a polling method is adopted to realize event notification between the CPS 102 and the printing device 101. On the other hand, when the server push method is used as described above, problems caused by the polling interval do not occur.
[0091] In the third embodiment, in addition to the controls of the first and second embodiments, a control for switching the notification method when the server push method becomes available due to a cloud print service or a function update of the printing device 101 will be described. Note that the hardware configuration of each device in the third embodiment is the same as that of the first embodiment. The differences from the first embodiment will be described below.
[0092] Fig. 14 is an example of a flowchart for explaining exception processing added to the first embodiment. Each operation (step) shown in the flowchart of Fig. 14 is realized by the CPU 111 executing a control program stored in the ROM 112 or the storage 114. In the third embodiment, when it is determined that the confirmation condition is satisfied in S1102 of the first embodiment, the alternative processing of Fig. 14 is performed instead of the processing of S1103 of the first embodiment.
[0093] Specifically, in S1401, CPU 111 transmits a request to confirm the presence or absence of an event with the "notify-wait" attribute specified as "True." In this way, in the third embodiment, the "notify-wait" attribute is specified as "True" to indicate a desire for server push notification. Next, in S1402, CPU 111 determines whether or not the switch to server push has been accepted by CPS 102, based on the response (event notification) received from CPS 102. If it is determined that the switch to server push has been accepted, the process proceeds to S1403. If it is determined that the switch to server push has not been accepted, the process proceeds to S1104.
[0094] In S1403, the CPU 111 changes the operation setting of the cloud print service to a method using server push. Then, a network session to be used for server push notification is established. For example, the CPU 111 establishes a chat session such as XMPP (Extensible Messaging and Presence Protocol) with the CPS 102. It is possible to configure so as to receive an event notification via the established chat session. Note that the method of achieving server push is merely an example, and is not limited thereto. When the change to the server push method is completed, the CPU 111 advances the process to S1404.
[0095] In S1404, the CPU 111 changes the operation settings of the printing device to an operation mode in which confirmation processing by the polling method and job acquisition processing at login are not performed. When the change is complete, the process proceeds to S1104. The process of S1404 makes it possible to avoid performing confirmation request processing by polling and job acquisition request processing at login, which are unnecessary due to the switch to the server push method.
[0096] <Modification> In the above embodiment, a case where a print job reserved by the forced reservation function is selected via a job list and then printed is exemplified. However, the present invention is not limited to this. Specifically, the present invention can also be applied to a case where a reserved print job corresponding to a logged-in user is automatically printed after a login process is executed. In this case, a setting for whether or not to perform automatic printing after login is provided in the setting for each user account exemplified in FIG. 4B. When a login event occurs, the CPU 111 refers to the user account of the logged-in user. Then, when the user account of the logged-in user is not set to perform automatic printing after login, the CPU 111 performs the same processing as in the above embodiment. On the other hand, when the user account of the logged-in user is set to perform automatic printing after login, the CPU 111 performs automatic printing processing instead of the saving processing in S1108. Specifically, the CPU 111 cooperates with the printer 120 to perform a printing process for automatically printing a print job stored in association with the logged-in user and a print job corresponding to the logged-in user newly acquired from the CPS 102.
[0097] <Other embodiments> The present invention can also be realized by supplying a program that realizes one or more functions of each of the above-mentioned embodiments to a system or device via a network or a storage medium, and having one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC or FPGA) that realizes one or more functions. [Explanation of symbols]
[0098] 101 Printing device 102 Cloud Print Service 103 Client terminals 104 Client terminals
Claims
1. A printing device including a printing unit that acquires a print job from a cloud print service and performs printing based on the acquired print job, a transmission means for transmitting a request to the cloud print service at a predetermined interval to check whether an event notification has been received; a login control means for executing a login process for logging a user into the printing device; a control means for transmitting a first request regarding the print job to the cloud print service when an event notification that is a response to the request includes information indicating that there is an available print job; A requesting means for requesting a server push notification; A determination means for determining whether the cloud print service that has received the request has accepted the server push notification; having The control means further transmits a second request regarding the print job to the cloud print service on condition that the login control means has performed the login process; If it is determined that the server push notification has been accepted, the printing device transmits a third request related to the print job in response to receiving an event notification.
2. The printing device further includes a setting unit for setting a user account of the printing device to correspond to a cloud account of the cloud print service, The printing device according to claim 1 , wherein the second request is a request regarding a print job of the cloud account associated with a user account of a user who has logged in to the printing unit.
3. The printing device according to claim 2, characterized in that when a cloud account corresponding to a user account of a user who has logged in to the printing device is not set, the control means sends the first request to the cloud print service regarding the print job that can be acquired by the printing device regardless of the job owner, on the condition that a login process has been performed by the login control means.
4. a management unit that manages job information using information obtained in the first request and the second request; The printing device according to claim 2 or 3, further comprising a display control means for displaying a selection screen on which, when a specified instruction is received after the login control means has performed a login process, a print job managed in association with the user account of the logged-in user can be selected as the print target based on the job information managed by the management means.
5. The printing device according to claim 4, characterized in that the management means uses the obtained information to receive print data corresponding to a print job managed by the cloud print service, stores the print data in a memory area of the printing device, and manages the stored print data in association with information required to execute the print job.
6. 6. A printing device according to claim 1, wherein when the event notification method from the cloud print service is set to use server push technology, the request for confirmation is not made by the sending means.
7. A printing device as described in claim 6, characterized in that when a setting using server push technology is stored, the second request is not made on the condition that login processing has been performed by the login control means of the control means.
8. A method for controlling a printing device including a printing unit that acquires a print job from a cloud print service and performs printing based on the acquired print job, comprising: a transmission step of transmitting a request to the cloud print service at a predetermined interval to check whether an event notification has been received; a login control step of executing a login process for logging a user into the printing device; a first control step of transmitting a first request regarding the print job to the cloud print service when an event notification that is a response to the request includes information indicating that there is an available print job; A request step of requesting a server push notification; a determination step of determining whether the cloud print service that received the request has accepted the server push notification; a second control step of transmitting a second request regarding the print job to the cloud print service on condition that a login process has been performed by the login control step, and transmitting a third request regarding the print job in response to receiving an event notification when it is determined that the server push notification has been accepted; A control method comprising the steps of:
9. A program for causing a computer to execute the printing device control method according to claim 8.
Citation Information
Patent Citations
Printing system, printing service device, service providing device, control method and program
JP2012133489A
Image forming apparatus
JP2013129131A
Image formation device and image formation method
JP2015054413A
Service provision system, information processing system, information processing method and program
JP2017111799A
Printing device, method and program
JP2019202502A